忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 4815 | 回复: 3

关于JVM类加载的一点疑问 [复制链接]

论坛徽章:
0
发表于 2013-12-01 14:11 |显示全部楼层
目前发现有些类在rt.jar包中是有的,但是jdk官方文档中却只字未提?
例如:Launcher、AppClassLoader、ExtClassLoader等在rt.jar包中都可找到。openjdk源码中也有,但是官方文档却根本找不到关于这几个类的描述!

JVM启动后,Bootstrap ClassLoader(此为JVM实现的一部分,由C++写成)负责加载rt.jar等一批较为核心的Java类。
然后,由JVM已经帮我们写好的2个类加载器(AppClassLoader和ExtClassLoader)分别加载一些较为次要的Java类。
这里说的JVM启动是指当我们在命令行敲入类似:java <MainClass>的时候。当然,JVM不会自己无缘无故的启动对吧^_^

据我所知,ExtClassLoader会根据JVM环境变量java.ext.dirs的设定进行搜索,而AppClassLoader会根据java.class.path的设定进行加载。  那么这里有一个疑问:平时很多教程说JVM会搜索系统环境变量CLASSPATH设定的值下的jar包和class类,那么我们知道,在Windows下是%CLASSPATH%,在Linux下是$CLASSPATH,Windows暂时不讨论。那么为什么一定要是CLASSPATH呢?为什么ClassPath、cLASSpATH、ClassPATH、ClasSpATh。。。等等都不行,一定要是全大写的CLASSPATH呢?是哪里的代码规定了呢?同时发现,java.class.path的值默认是点(.),也就是当前目录,那么这个值是哪里进行了初始化呢?

论坛徽章:
31
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43CU十二周年纪念徽章
日期:2013-10-24 15:41:34丑牛
日期:2013-12-01 10:11:07水瓶座
日期:2014-01-15 08:47:25
发表于 2013-12-04 12:49 |显示全部楼层
这个不好找吧。

论坛徽章:
0
发表于 2013-12-05 14:33 |显示全部楼层
本帖最后由 lll1985911 于 2013-12-05 14:35 编辑

嗯,虽然对加载有一点了解,但是只知其然而不知其所以然的感觉有点憋屈。。。在那里做的?怎么做的?这些问题一天不搞清楚就吃饭也吃不好。。。回复 2# ddd010
   

论坛徽章:
31
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43CU十二周年纪念徽章
日期:2013-10-24 15:41:34丑牛
日期:2013-12-01 10:11:07水瓶座
日期:2014-01-15 08:47:25
发表于 2013-12-05 18:00 |显示全部楼层
我直接倒是简单看过android的源码但是没深究。
所以我也说不出个所以然。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP