使用Kotlin 1.1.5 的REPL 来简单分析一下Java 9 中的$ jmod list java.base.jmod

简介: $ jmod list java.base.jmod命令行列出了 模块 java.base.jmod 中所有文件(.class文件, .dat, .jar, .
$ jmod list java.base.jmod

命令行列出了 模块 java.base.jmod 中所有文件(.class文件, .dat, .jar, .cfg, .dylib 等 )共 5761个文件:

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java.base.jmod|wc -l
    5761

我们来看下都有哪些包里面的类:

我们把 java.base.jmod中的所有文件list放到文件中:

val lines = File("/Users/jack/java/java.base.jmods.txt").readLines()
val set = HashSet<String>()
lines.forEach{ 
    set.add(it.substring(0,it.lastIndexOf("/")) ) 
}
>>> set.forEach{println(it)}

我们可以看到java.base.jmod中都有哪些核心API的包:


classes/java/util/stream
classes/jdk/internal/vm/annotation
classes/jdk/internal/org/objectweb/asm/tree/analysis
bin
classes/java/security/cert
classes/sun/nio
conf
classes/sun/net/sdp
classes/META-INF/services
classes/sun/reflect/generics/repository
classes/java/text
classes/sun/reflect/generics/parser
classes/sun/text/spi
classes/sun/usagetracker
lib/jli
classes/sun/net/www/protocol/http
classes/javax/crypto/interfaces
classes/jdk/internal
classes/jdk/internal/loader
classes/sun/net/dns
classes/javax/security/auth
classes/sun/security/provider
classes/java/time/format
classes/sun/security/internal/interfaces
classes/sun/security/provider/certpath/ssl
classes/sun/launcher
classes/jdk/internal/vm/cds/resources
classes/sun/security/internal/spec
classes/sun/net/ext
classes/sun/util/resources
classes/java/lang
classes/sun/net/www/content/text
classes/sun/security/tools
classes/jdk/internal/reflect
classes/java/util/function
classes/sun/security/util
classes/java/util/spi
classes/sun/reflect/generics/tree
classes/jdk/internal/misc
classes/jdk/internal/perf
classes/sun/util/cldr
classes/jdk/internal/org/objectweb/asm/commons
classes/jdk/internal/org/xml/sax
classes/jdk/internal/util/xml/impl
classes/sun/invoke/util
classes/sun/util/resources/cldr
classes/sun/reflect/generics/factory
classes/com/sun/net/ssl/internal/www/protocol/https
classes/jdk/internal/org/objectweb/asm/tree
classes/java/net
classes/sun/security/rsa
classes/sun/launcher/resources
classes/sun/net/www
classes/java/util/concurrent/atomic
classes/java/nio/channels
classes/sun/nio/fs
conf/security/policy
classes/sun/reflect/generics/reflectiveObjects
classes/sun/util/calendar
classes/java/security/acl
classes/javax/net/ssl
classes/jdk/internal/util
classes/sun/text/resources
classes/jdk/internal/math
include
classes/java/util
classes/java/lang/reflect
classes/sun/reflect/misc
classes/java/io
include/darwin
classes/sun/reflect/annotation
classes/java/math
classes/java/nio/channels/spi
classes/sun/net/ftp
classes/java/lang/annotation
classes/sun/util/locale/provider
classes/java/time/temporal
classes/sun/text/bidi
classes/sun/util/spi
classes/sun/security/jca
lib/security
classes/java/security/spec
classes/sun/net/www/http
classes/jdk/internal/org/objectweb/asm
classes/sun/net/www/protocol/jar
classes/sun/net/util
classes/sun/text/normalizer
classes/java/net/spi
classes/apple/security
classes/java/lang/module
classes/jdk/internal/ref
classes/sun/text/resources/cldr
classes/jdk/internal/org/objectweb/asm/signature
classes/sun/security/pkcs
classes/jdk/internal/module
classes/jdk/internal/vm
lib
classes/sun/net/ftp/impl
lib/server
classes/sun/net/www/protocol/jrt
classes/sun/net/www/protocol/https
classes/java/lang/invoke
classes/jdk/internal/jrtfs
classes/java/time/zone
classes/sun/text
classes/sun/net
classes/java/nio/charset/spi
conf/security
legal
classes/java/security/interfaces
classes/sun/security/provider/certpath
classes/javax/security/cert
conf/security/policy/limited
classes/java/util/regex
classes/sun/net/spi
classes/java/nio/charset
classes/java/nio/file/attribute
classes/java/util/concurrent
classes/javax/security/auth/x500
classes/java/lang/ref
classes/sun/net/smtp
classes/jdk/internal/jmod
classes/javax/crypto
classes/com/sun/java/util/jar/pack
classes/java/time
classes/jdk/internal/jimage
classes/sun/net/www/protocol/http/ntlm
classes/sun/security/ssl
classes/sun/security/x509
classes/sun/util/logging
classes/sun/net/idn
classes/sun/net/www/protocol/ftp
classes/java/util/zip
classes/sun/reflect/generics/visitor
classes
classes/java/nio
classes/com/sun/net/ssl
classes/java/util/jar
classes/javax/security/auth/spi
classes/sun/net/www/protocol/jmod
classes/sun/security/pkcs12
classes/java/text/spi
classes/sun/security/pkcs10
classes/sun/security/timestamp
classes/javax/net
classes/javax/security/auth/callback
classes/java/nio/file/spi
classes/javax/crypto/spec
classes/com/sun/net/ssl/internal/ssl
classes/com/sun/crypto/provider
classes/jdk/internal/logger
classes/sun/util/locale
classes/java/nio/file
classes/jdk/internal/jimage/decompressor
classes/sun/invoke
classes/sun/security/validator
classes/com/sun/security/cert/internal/x509
classes/jdk/internal/org/objectweb/asm/util
classes/sun/reflect/generics/scope
classes/sun/invoke/empty
classes/sun/net/www/protocol/mailto
classes/com/sun/security/ntlm
classes/jdk/internal/util/xml
classes/sun/nio/ch
classes/jdk/internal/util/jar
classes/jdk/internal/org/xml/sax/helpers
classes/sun/net/www/protocol/file
classes/java/time/chrono
classes/javax/security/auth/login
classes/sun/nio/cs
classes/sun/util
conf/security/policy/unlimited
classes/sun/security/tools/keytool
classes/sun/security/action
classes/java/security
classes/java/util/concurrent/locks


KotlinChina编程社区 微博

《Kotlin极简教程》正式上架:

点击这里 > 去京东商城购买阅读

点击这里 > 去天猫商城购买阅读

非常感谢 if (boy) { 帅气英俊潇洒} else { 魔鬼身材天使脸蛋美丽动人女神气质} 的您。大家请多支持!!!您的支持,是我源源不断的写作的动力! 如果您有任何问题,欢迎随时与我交流~


相关文章
|
5天前
|
移动开发 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能对比
【5月更文挑战第4天】在移动开发的世界中,性能一直是衡量应用质量的重要指标。随着Kotlin的兴起,许多Android开发者开始考虑是否应该从传统的Java迁移到Kotlin。本文通过深入分析两者在Android平台上的性能差异,帮助开发者理解Kotlin在实际项目中的表现,并提供选择编程语言时的参考依据。
20 5
|
8天前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【5月更文挑战第1天】 在移动开发的世界中,性能优化始终是开发者关注的焦点。随着Kotlin的兴起,许多团队和开发者面临着一个选择:是坚持传统的Java语言,还是转向现代化、更加简洁的Kotlin?本文通过深入分析和对比Kotlin与Java在Android应用开发中的性能表现,揭示两者在编译效率、运行速度和内存消耗等方面的差异。我们将探讨如何根据项目需求和团队熟悉度,选择最适合的语言,以确保应用的高性能和流畅体验。
|
9天前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【4月更文挑战第30天】在Android开发领域,Kotlin作为一种现代化的编程语言,因其简洁性和功能性受到了开发者的广泛欢迎。尽管与传统的Java相比,Kotlin提供了诸多便利,但关于其性能表现的讨论始终未息。本文将深入分析Kotlin和Java在Android平台上的性能差异,通过实际测试数据揭示两种语言在编译效率、运行速度以及内存占用方面的具体表现,并探讨如何利用Kotlin的优势来提升Android应用的整体性能。
|
9天前
|
Java API
【亮剑】Java的List,如何删除重复的元素,教你三个方法搞定!
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
|
13天前
|
Java 测试技术 Android开发
构建高效Android应用:探究Kotlin与Java的性能对比
【4月更文挑战第26天】 在移动开发领域,性能优化一直是开发者追求的重要目标。随着Kotlin的兴起,其在Android平台上的应用逐渐增多,但关于Kotlin与Java在性能方面的对比,社区中仍存在诸多讨论。本文通过实际的性能测试,分析比较了使用Kotlin和Java编写的Android应用在多个维度上的运行效率,旨在为开发者提供一个明确的性能参考,帮助他们在选择编程语言时做出更加明智的决策。
|
14天前
|
Java 编译器 Android开发
构建高效Android应用:Kotlin与Java的性能比较
【4月更文挑战第25天】 在移动开发领域,性能优化始终是开发者关注的焦点。随着Kotlin的普及,许多Android开发者开始考虑是否应该采用这种新的编程语言来替代传统的Java。本文通过对Kotlin和Java进行深入的性能比较,揭示了两者在Android开发中的效率差异,并提供了选择合适语言以提升应用性能的策略。通过实际案例分析和基准测试,我们探讨了两种语言在编译速度、运行时性能以及内存消耗等方面的表现,旨在为开发者提供一个关于如何在Android项目中做出明智语言选择的指南。
29 0
|
15天前
|
Java Kotlin
[AIGC] Java 和 Kotlin 的区别
[AIGC] Java 和 Kotlin 的区别
|
15天前
|
移动开发 Java Android开发
构建高效Android应用:Kotlin与Java的性能比较
【4月更文挑战第24天】在移动开发领域,性能优化始终是关键议题之一。随着Kotlin的普及,许多Android开发者开始考虑将其作为首选语言。本文深入分析了Kotlin与Java在Android平台上的性能差异,并通过实际案例演示了Kotlin的优化策略。我们将探讨如何通过智能语言特性和现代编程实践来提升应用效率,同时保持代码的可读性和可维护性。
|
16天前
|
Java C++ Kotlin
进制转换在C/C++/Java/Kotlin中的应用(详细版)(下)
进制转换在C/C++/Java/Kotlin中的应用(详细版)
6 1
|
16天前
|
存储 人工智能 Java
进制转换在C/C++/Java/Kotlin中的应用(详细版)(上)
进制转换在C/C++/Java/Kotlin中的应用(详细版)
8 0