main方法类 为何由AppClassLoader加载

AppClassLoader

AppClassLoader应用类加载器,又称系统类加载器,负责在JVM启动时加载来自命令java中的classpath或者java.class.path系统属性或者CLASSPATH操作系统属性所指定的JAR类包和类路径

 

 

Bootstrap ClassLoder、ExtClassLoader、AppClassLoader这么多ClassLoader,它们是从哪里加载class的,这个问题jdk源码中sun.misc.Launcher已经给出回答:Bootstrap ClassLoder加载的是System.getProperty("sun.boot.class.path");、ExtClassLoader加载的是System.getProperty("java.ext.dirs")、AppClassLoader加载的是System.getProperty("java.class.path"),

 

 

https://juejin.im/post/5c7a41b0e51d4550690476b3

 

 

awt.toolkit=sun.awt.windows.WToolkit
file.encoding=UTF-8
file.encoding.pkg=sun.io
file.separator=\
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.awt.printerjob=sun.awt.windows.WPrinterJob

 


java.class.path=D:\java\jdk1.8.0_131\jre\lib\charsets.jar;D:\java\jdk1.8.0_131\jre\lib\deploy.jar;D:\java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;D:\java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;D:\java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;D:\java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;D:\java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;D:\java\jdk1.8.0_131\jre\lib\ext\localedata.jar;D:\java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;D:\java\jdk1.8.0_131\jre\lib\ext\sunec.jar;D:\java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;D:\java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;D:\java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;D:\java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;D:\java\jdk1.8.0_131\jre\lib\javaws.jar;D:\java\jdk1.8.0_131\jre\lib\jce.jar;D:\java\jdk1.8.0_131\jre\lib\jfr.jar;D:\java\jdk1.8.0_131\jre\lib\jfxswt.jar;D:\java\jdk1.8.0_131\jre\lib\jsse.jar;D:\java\jdk1.8.0_131\jre\lib\management-agent.jar;D:\java\jdk1.8.0_131\jre\lib\plugin.jar;D:\java\jdk1.8.0_131\jre\lib\resources.jar;D:\java\jdk1.8.0_131\jre\lib\rt.jar;D:\java\IdeaProjects\gitee-test\target\classes;D:\java\jar\maven\org\springframework\spring-core\4.3.6.RELEASE\spring-core-4.3.6.RELEASE.jar;D:\java\jar\maven\org\springframework\spring-beans\4.3.6.RELEASE\spring-beans-4.3.6.RELEASE.jar;D:\java\jar\maven\org\springframework\spring-context\4.3.6.RELEASE\spring-context-4.3.6.RELEASE.jar;D:\java\jar\maven\org\springframework\spring-aop\4.3.6.RELEASE\spring-aop-4.3.6.RELEASE.jar;D:\java\jar\maven\org\springframework\spring-expression\4.3.6.RELEASE\spring-expression-4.3.6.RELEASE.jar;D:\java\jar\maven\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;D:\java\jar\maven\org\aspectj\aspectjweaver\1.8.9\aspectjweaver-1.8.9.jar;D:\java\jar\maven\org\aspectj\aspectjrt\1.5.4\aspectjrt-1.5.4.jar;D:\java\jar\maven\org\springframework\spring-test\4.3.6.RELEASE\spring-test-4.3.6.RELEASE.jar;D:\java\jar\maven\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;D:\java\jar\maven\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;D:\java\jar\maven\ch\qos\logback\logback-core\1.1.7\logback-core-1.1.7.jar;D:\java\jar\maven\ch\qos\logback\logback-classic\1.1.7\logback-classic-1.1.7.jar;D:\java\jar\maven\junit\junit\4.12\junit-4.12.jar;D:\java\jar\maven\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;D:\java\jar\maven\org\codehaus\groovy\groovy\2.1.6\groovy-2.1.6.jar;D:\java\jar\maven\antlr\antlr\2.7.7\antlr-2.7.7.jar;D:\java\jar\maven\org\ow2\asm\asm-tree\4.0\asm-tree-4.0.jar;D:\java\jar\maven\org\ow2\asm\asm-commons\4.0\asm-commons-4.0.jar;D:\java\jar\maven\org\ow2\asm\asm\4.0\asm-4.0.jar;D:\java\jar\maven\org\ow2\asm\asm-util\4.0\asm-util-4.0.jar;D:\java\jar\maven\org\ow2\asm\asm-analysis\4.0\asm-analysis-4.0.jar;D:\java\jar\maven\org\codehaus\groovy\groovy-jsr223\2.1.6\groovy-jsr223-2.1.6.jar;D:\java\jar\maven\org\projectlombok\lombok\1.18.2\lombok-1.18.2.jar;D:\program\IntelliJ IDEA 2019.2.4\lib\idea_rt.jar
java.class.version=52.0
java.endorsed.dirs=D:\java\jdk1.8.0_131\jre\lib\endorsed

 

java.ext.dirs=D:\java\jdk1.8.0_131\jre\lib\ext;C:\Windows\Sun\Java\lib\ext

 

java.home=D:\java\jdk1.8.0_131\jre
java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\
java.library.path=D:\java\jdk1.8.0_131\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\program\apache-maven-3.0.5\bin;D:\program\apache-tomcat-7.0.30\lib;D:\program\apache-tomcat-7.0.30\bin;D:\program\gradle-6.0\bin;D:\program\android-sdk-windows\tools;D:\program\android-sdk-windows\platform-tools;D:\program\Git\cmd;D:\program\node-v10.13.0-win-x64;D:\program\node;D:\program\Gpg4win\..\GnuPG\bin;D:\program\gradle-6.0\bin;D:\java\jdk1.8.0_131\bin;D:\java\jre1.8.0_131\bin;C:\Users\Administrator\AppData\Local\GitHubDesktop\bin;D:\program\Microsoft VS Code\bin;D:\program\IntelliJ IDEA 2019.2.4\bin;;.
java.rmi.server.randomIDs=true
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.8.0_131-b11
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=1.8
java.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
java.version=1.8.0_131
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=1.8
java.vm.vendor=Oracle Corporation
java.vm.version=25.131-b11
line.separator=\r\n
os.arch=amd64
os.name=Windows 7
os.version=6.1
path.separator=;
sun.arch.data.model=64

 

sun.boot.class.path=D:\java\jdk1.8.0_131\jre\lib\resources.jar;D:\java\jdk1.8.0_131\jre\lib\rt.jar;D:\java\jdk1.8.0_131\jre\lib\sunrsasign.jar;D:\java\jdk1.8.0_131\jre\lib\jsse.jar;D:\java\jdk1.8.0_131\jre\lib\jce.jar;D:\java\jdk1.8.0_131\jre\lib\charsets.jar;D:\java\jdk1.8.0_131\jre\lib\jfr.jar;D:\java\jdk1.8.0_131\jre\classes

 

sun.boot.library.path=D:\java\jdk1.8.0_131\jre\bin
sun.cpu.endian=little
sun.cpu.isalist=amd64
sun.desktop=windows
sun.io.unicode.encoding=UnicodeLittle
sun.java.command=com.matt.net.socket.SocketTest
sun.java.launcher=SUN_STANDARD
sun.jnu.encoding=GBK
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.os.patch.level=Service Pack 1
user.country=CN
user.dir=D:\java\IdeaProjects\gitee-test
user.home=C:\Users\Administrator
user.language=zh
user.name=Administrator
user.script=
user.timezone=GMT+08:00
user.variant=

 

posted @ 2019-12-24 00:13  java.matt  阅读(1484)  评论(0编辑  收藏  举报