使用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 { 魔鬼身材天使脸蛋美丽动人女神气质} 的您。大家请多支持!!!您的支持,是我源源不断的写作的动力! 如果您有任何问题,欢迎随时与我交流~


相关文章
|
27天前
|
存储 Java
【编程基础知识】 分析学生成绩:用Java二维数组存储与输出
本文介绍如何使用Java二维数组存储和处理多个学生的各科成绩,包括成绩的输入、存储及格式化输出,适合初学者实践Java基础知识。
60 1
|
1月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
70 3
|
10天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
24 2
|
11天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
10 2
|
16天前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
45 5
|
15天前
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
16 3
|
15天前
|
Java 程序员
Java|List.subList 踩坑小记
不应该仅凭印象和猜测,就开始使用一个方法,至少花一分钟认真读完它的官方注释文档。
16 1
|
27天前
|
Java
让星星⭐月亮告诉你,Java synchronized(*.class) synchronized 方法 synchronized(this)分析
本文通过Java代码示例,介绍了`synchronized`关键字在类和实例方法上的使用。总结了三种情况:1) 类级别的锁,多个实例对象在同一时刻只能有一个获取锁;2) 实例方法级别的锁,多个实例对象可以同时执行;3) 同一实例对象的多个线程,同一时刻只能有一个线程执行同步方法。
15 1
|
27天前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
35 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
29天前
|
Java
如何从Java字节码角度分析问题|8月更文挑战
如何从Java字节码角度分析问题|8月更文挑战
下一篇
无影云桌面