Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save neomatrix369/5be36b5af8768353eca4 to your computer and use it in GitHub Desktop.

Select an option

Save neomatrix369/5be36b5af8768353eca4 to your computer and use it in GitHub Desktop.
Interesting files and folders in OpenJDK9 (jigsaw)
$ tree -fL 2 build
build
└── build/linux-x86_64-normal-server-release
├── build/linux-x86_64-normal-server-release/bootcycle-spec.gmk
├── build/linux-x86_64-normal-server-release/build.log
├── build/linux-x86_64-normal-server-release/build.log.old
├── build/linux-x86_64-normal-server-release/buildtools
├── build/linux-x86_64-normal-server-release/compare.sh
├── build/linux-x86_64-normal-server-release/config.h
├── build/linux-x86_64-normal-server-release/config.log
├── build/linux-x86_64-normal-server-release/config.status
├── build/linux-x86_64-normal-server-release/hotspot
├── build/linux-x86_64-normal-server-release/hotspot-spec.gmk
├── build/linux-x86_64-normal-server-release/images
├── build/linux-x86_64-normal-server-release/jdk
├── build/linux-x86_64-normal-server-release/Makefile
├── build/linux-x86_64-normal-server-release/make-support
├── build/linux-x86_64-normal-server-release/nashorn
├── build/linux-x86_64-normal-server-release/source_tips
├── build/linux-x86_64-normal-server-release/spec.gmk
├── build/linux-x86_64-normal-server-release/spec.sh
└── build/linux-x86_64-normal-server-release/support
$ tree -fL 2 images
images
├── images/demo
│   ├── images/demo/applets
│   ├── images/demo/jfc
│   ├── images/demo/jvmti
│   ├── images/demo/management
│   ├── images/demo/nbproject
│   ├── images/demo/README
│   └── images/demo/scripting
├── images/jdk
│   ├── images/jdk/ASSEMBLY_EXCEPTION
│   ├── images/jdk/bin
│   ├── images/jdk/conf
│   ├── images/jdk/demo
│   ├── images/jdk/include
│   ├── images/jdk/jrt-fs.jar
│   ├── images/jdk/lib
│   ├── images/jdk/LICENSE
│   ├── images/jdk/man
│   ├── images/jdk/release
│   ├── images/jdk/sample
│   ├── images/jdk/src.zip
│   └── images/jdk/THIRD_PARTY_README
├── images/_jdk-jimages-create.marker
├── images/jdk-sorted-modules
├── images/jre
│   ├── images/jre/ASSEMBLY_EXCEPTION
│   ├── images/jre/bin
│   ├── images/jre/conf
│   ├── images/jre/lib
│   ├── images/jre/LICENSE
│   ├── images/jre/man
│   ├── images/jre/release
│   └── images/jre/THIRD_PARTY_README
├── images/_jre-jimages-create.marker
├── images/jre-sorted-modules
├── images/sample
│   ├── images/sample/annotations
│   ├── images/sample/forkjoin
│   ├── images/sample/jmx
│   ├── images/sample/lambda
│   ├── images/sample/nbproject
│   ├── images/sample/nio
│   ├── images/sample/README
│   ├── images/sample/scripting
│   └── images/sample/try-with-resources
└── images/sec-bin.zip
$ cd ./sources/m2/build/linux-x86_64-normal-server-release/images/jdk/bin
$ ./jimage --help
Usage: jimage <extract|recreate|info|list|verify> <options> jimage...
extract - Extract all jimage entries into separate files into the directory
specified by --dir=<directory> (default=.)
recreate - Reconstructs a jimage from an extracted directory (--dir)
info - Prints information specified in the jimage header.
list - Prints the names of all the entries in the jimage. When used with
--verbose will also print entry attributes ex. size and offset.
verify - Reports errors on any .class entries that dont verify as classes.
Possible options include:
--dir Target directory for create/expand
--help Print this usage message
--verbose Verbose listing
--version Version information
$ cd ./sources/m2/jdk
$ tree -fL 2 src
src
├── src/bsd
│   └── src/bsd/doc
├── src/demo
│   ├── src/demo/share
│   └── src/demo/solaris
├── src/java.base
│   ├── src/java.base/aix
│   ├── src/java.base/linux
│   ├── src/java.base/macosx
│   ├── src/java.base/share
│   ├── src/java.base/solaris
│   ├── src/java.base/unix
│   └── src/java.base/windows
├── src/java.corba
│   └── src/java.corba/share
├── src/java.desktop
│   ├── src/java.desktop/aix
│   ├── src/java.desktop/linux
│   ├── src/java.desktop/macosx
│   ├── src/java.desktop/share
│   ├── src/java.desktop/unix
│   └── src/java.desktop/windows
├── src/java.instrument
│   ├── src/java.instrument/share
│   ├── src/java.instrument/unix
│   └── src/java.instrument/windows
├── src/java.logging
│   └── src/java.logging/share
├── src/java.management
│   ├── src/java.management/share
│   ├── src/java.management/unix
│   └── src/java.management/windows
├── src/java.naming
│   └── src/java.naming/share
├── src/java.prefs
│   ├── src/java.prefs/macosx
│   ├── src/java.prefs/share
│   ├── src/java.prefs/unix
│   └── src/java.prefs/windows
├── src/java.rmi
│   ├── src/java.rmi/share
│   └── src/java.rmi/unix
├── src/java.scripting
│   └── src/java.scripting/share
├── src/java.security.acl
│   └── src/java.security.acl/share
├── src/java.security.jgss
│   ├── src/java.security.jgss/macosx
│   ├── src/java.security.jgss/share
│   ├── src/java.security.jgss/unix
│   └── src/java.security.jgss/windows
├── src/java.security.sasl
│   └── src/java.security.sasl/share
├── src/java.smartcardio
│   ├── src/java.smartcardio/share
│   ├── src/java.smartcardio/unix
│   └── src/java.smartcardio/windows
├── src/java.sql
│   └── src/java.sql/share
├── src/java.sql.rowset
│   └── src/java.sql.rowset/share
├── src/java.xml.crypto
│   └── src/java.xml.crypto/share
├── src/jdk.attach
│   ├── src/jdk.attach/aix
│   ├── src/jdk.attach/linux
│   ├── src/jdk.attach/macosx
│   ├── src/jdk.attach/share
│   ├── src/jdk.attach/solaris
│   └── src/jdk.attach/windows
├── src/jdk.charsets
│   ├── src/jdk.charsets/share
│   └── src/jdk.charsets/unix
├── src/jdk.compiler
│   └── src/jdk.compiler/share
├── src/jdk.crypto.ec
│   └── src/jdk.crypto.ec/share
├── src/jdk.crypto.mscapi
│   └── src/jdk.crypto.mscapi/windows
├── src/jdk.crypto.pkcs11
│   ├── src/jdk.crypto.pkcs11/share
│   ├── src/jdk.crypto.pkcs11/solaris
│   ├── src/jdk.crypto.pkcs11/unix
│   └── src/jdk.crypto.pkcs11/windows
├── src/jdk.crypto.ucrypto
│   └── src/jdk.crypto.ucrypto/solaris
├── src/jdk.deploy.osx
│   └── src/jdk.deploy.osx/macosx
├── src/jdk.dev
│   └── src/jdk.dev/share
├── src/jdk.hprof.agent
│   ├── src/jdk.hprof.agent/aix
│   ├── src/jdk.hprof.agent/share
│   ├── src/jdk.hprof.agent/unix
│   └── src/jdk.hprof.agent/windows
├── src/jdk.httpserver
│   └── src/jdk.httpserver/share
├── src/jdk.jcmd
│   └── src/jdk.jcmd/share
├── src/jdk.jconsole
│   └── src/jdk.jconsole/share
├── src/jdk.jdi
│   ├── src/jdk.jdi/share
│   └── src/jdk.jdi/windows
├── src/jdk.jdwp.agent
│   ├── src/jdk.jdwp.agent/share
│   ├── src/jdk.jdwp.agent/unix
│   └── src/jdk.jdwp.agent/windows
├── src/jdk.jvmstat
│   └── src/jdk.jvmstat/share
├── src/jdk.localedata
│   └── src/jdk.localedata/share
├── src/jdk.naming.dns
│   └── src/jdk.naming.dns/share
├── src/jdk.naming.rmi
│   └── src/jdk.naming.rmi/share
├── src/jdk.rmic
│   └── src/jdk.rmic/share
├── src/jdk.runtime
│   ├── src/jdk.runtime/share
│   ├── src/jdk.runtime/unix
│   └── src/jdk.runtime/windows
├── src/jdk.sctp
│   ├── src/jdk.sctp/aix
│   ├── src/jdk.sctp/macosx
│   ├── src/jdk.sctp/share
│   ├── src/jdk.sctp/unix
│   └── src/jdk.sctp/windows
├── src/jdk.security.auth
│   ├── src/jdk.security.auth/share
│   ├── src/jdk.security.auth/unix
│   └── src/jdk.security.auth/windows
├── src/jdk.security.jgss
│   └── src/jdk.security.jgss/share
├── src/jdk.zipfs
│   └── src/jdk.zipfs/share
├── src/linux
│   └── src/linux/doc
├── src/sample
│   ├── src/sample/share
│   └── src/sample/solaris
└── src/solaris
└── src/solaris/doc
$ cd sources/m2/jdk/src
$ ls
bsd java.management java.security.sasl jdk.compiler jdk.hprof.agent jdk.localedata jdk.security.jgss
demo java.naming java.smartcardio jdk.crypto.ec jdk.httpserver jdk.naming.dns jdk.zipfs
java.base java.prefs java.sql jdk.crypto.mscapi jdk.jcmd jdk.naming.rmi linux
java.corba java.rmi java.sql.rowset jdk.crypto.pkcs11 jdk.jconsole jdk.rmic sample
java.desktop java.scripting java.xml.crypto jdk.crypto.ucrypto jdk.jdi jdk.runtime solaris
java.instrument java.security.acl jdk.attach jdk.deploy.osx jdk.jdwp.agent jdk.sctp
java.logging java.security.jgss jdk.charsets jdk.dev jdk.jvmstat jdk.security.auth
$ tree -fldL 5 java.base | less
$ tree -dflL 5 java.base/share/classes/java
$ tree -dflL 5 java.base/share/classes/java
.
.
.
├── java.base/share/classes/java
│   ├── java.base/share/classes/java/io
│   ├── java.base/share/classes/java/lang
│   │   ├── java.base/share/classes/java/lang/annotation
│   │   ├── java.base/share/classes/java/lang/doc-files
│   │   ├── java.base/share/classes/java/lang/invoke
│   │   ├── java.base/share/classes/java/lang/ref
│   │   └── java.base/share/classes/java/lang/reflect
│   ├── java.base/share/classes/java/math
│   ├── java.base/share/classes/java/net
│   │   └── java.base/share/classes/java/net/doc-files
│   ├── java.base/share/classes/java/nio
│   │   ├── java.base/share/classes/java/nio/channels
│   │   │   └── java.base/share/classes/java/nio/channels/spi
│   │   ├── java.base/share/classes/java/nio/charset
│   │   │   └── java.base/share/classes/java/nio/charset/spi
│   │   └── java.base/share/classes/java/nio/file
│   │   ├── java.base/share/classes/java/nio/file/attribute
│   │   └── java.base/share/classes/java/nio/file/spi
│   ├── java.base/share/classes/java/security
│   │   ├── java.base/share/classes/java/security/cert
│   │   ├── java.base/share/classes/java/security/interfaces
│   │   └── java.base/share/classes/java/security/spec
│   ├── java.base/share/classes/java/text
│   │   └── java.base/share/classes/java/text/spi
│   ├── java.base/share/classes/java/time
│   │   ├── java.base/share/classes/java/time/chrono
│   │   ├── java.base/share/classes/java/time/format
│   │   ├── java.base/share/classes/java/time/temporal
│   │   └── java.base/share/classes/java/time/zone
│   └── java.base/share/classes/java/util
│   ├── java.base/share/classes/java/util/concurrent
│   │   ├── java.base/share/classes/java/util/concurrent/atomic
│   │   └── java.base/share/classes/java/util/concurrent/locks
│   ├── java.base/share/classes/java/util/function
│   ├── java.base/share/classes/java/util/jar
│   ├── java.base/share/classes/java/util/regex
│   ├── java.base/share/classes/java/util/spi
│   ├── java.base/share/classes/java/util/stream
│   └── java.base/share/classes/java/util/zip
.
.
.
$ tree -flL 5 java.base/share/classes/java/io
$ tree -dflL 5 java.base/share/classes/java/io
│   ├── java.base/share/classes/java/io
$ tree -flL 5 java.base/share/classes/java/lang
(interesting)
$ tree -dflL 5 java.base/share/classes/java/lang
│   ├── java.base/share/classes/java/lang
.
.
.
$ tree -flL 5 java.base/share/classes/java/nio
(interesting)
$ tree -dflL 5 java.base/share/classes/java/nio
│   ├── java.base/share/classes/java/nio
$ tree -flL 5 java.base/share/classes/java/text
$ tree -dflL 5 java.base/share/classes/java/text
│   ├── java.base/share/classes/java/text
.
$ tree -flL 5 java.base/share/classes/java/time
(interesting)
$ tree -dflL 5 java.base/share/classes/java/time
│   ├── java.base/share/classes/java/time
.
.
.
$ tree -flL 5 java.base/share/classes/java/util
(interesting)
$ tree -dflL 5 java.base/share/classes/java/util
│   └── java.base/share/classes/java/util
OpenJDK8 (sources/jdk8_tl/jdk/src)
$ tree -dflL 5 src/share/classes/java/util
share/classes/java/util
├── share/classes/java/util/concurrent
│   ├── share/classes/java/util/concurrent/atomic
│   └── share/classes/java/util/concurrent/locks
├── share/classes/java/util/function
├── share/classes/java/util/jar
├── share/classes/java/util/logging
├── share/classes/java/util/prefs
├── share/classes/java/util/regex
├── share/classes/java/util/spi
├── share/classes/java/util/stream
└── share/classes/java/util/zip
OpenJDK 9 (sources/m2/jdk/src)
$ tree -dflL 5 java.base/share/classes/java/util
java.base/share/classes/java/util
├── java.base/share/classes/java/util/concurrent
│   ├── java.base/share/classes/java/util/concurrent/atomic
│   └── java.base/share/classes/java/util/concurrent/locks
├── java.base/share/classes/java/util/function
├── java.base/share/classes/java/util/jar
├── java.base/share/classes/java/util/regex
├── java.base/share/classes/java/util/spi
├── java.base/share/classes/java/util/stream
└── java.base/share/classes/java/util/zip
OpenJDK 9 - m2 (sources/m2/jdk/src)
$ tree -fl | grep "/Socket."
OpenJDK 9 - m2 (sources/m2/jdk/src)
$ ls java.sql/share/classes/java/sql
OpenJDK 8
$ ls share/classes/java/sql
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment