I am just curious to know how the classes (inside rt.jar provided by Oracle) like java.lang.Object, java.lang.String were generated from the .java source files. I think, it's not possible for their javac to compile them.
I tried to compile Dummy.java containing "class Dummy{}"
lab@labb:~/Documents$ set PATH=.:$JAVA_HOME/bin
lab@labb:~/Documents$ set CLASSPATH=.
lab@labb:~/Documents$ javac -verbose Dummy.java
[parsing started RegularFileObject[Dummy.java]]
[parsing completed 12ms]
[search path for source files: .]
[search path for class files: /usr/lib/jvm/java-7-oracle/jre/lib/resources.jar,/usr/lib/jvm/java-7-oracle/jre/lib/rt.jar,/usr/lib/jvm/java-7-oracle/jre/lib/sunrsasign.jar,/usr/lib/jvm/java-7-oracle/jre/lib/jsse.jar,/usr/lib/jvm/java-7-oracle/jre/lib/jce.jar,/usr/lib/jvm/java-7-oracle/jre/lib/charsets.jar,/usr/lib/jvm/java-7-oracle/jre/classes,/usr/lib/jvm/java-7-oracle/jre/lib/ext/sunpkcs11.jar,/usr/lib/jvm/java-7-oracle/jre/lib/ext/dnsns.jar,/usr/lib/jvm/java-7-oracle/jre/lib/ext/zipfs.jar,/usr/lib/jvm/java-7-oracle/jre/lib/ext/localedata.jar,/usr/lib/jvm/java-7-oracle/jre/lib/ext/sunec.jar,/usr/lib/jvm/java-7-oracle/jre/lib/ext/sunjce_provider.jar,.]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-7-oracle/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Object.class)]]
[checking Dummy]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-7-oracle/lib/ct.sym(META-INF/sym/rt.jar/java/lang/AutoCloseable.class)]]
[wrote RegularFileObject[Dummy.class]] [total 131ms]