class 代码 什么时候加载到内存中

[复制链接]
查看11 | 回复3 | 2010-8-4 11:33:06 | 显示全部楼层 |阅读模式
比如有1000个class程序,第1个是main函数,第1个class调用第2个,第2个class调用第3个...
各个class是什么时候加载到内存中的?
我在命令行中java XXX(入口),此时会加载1000个class进入内存么?还是调用哪个才加载哪个?
如果在运行java XXX(入口),就会加载1000个class进入内存,那系统没有运行这些class,怎么知道要加载哪些class,怎么 知道一个挨一个的调用关系呢?
编译的时候???不会吧,我运行javac,然后重启,这些代码就不在内存里了啊。

回复

使用道具 举报

千问 | 2010-8-4 11:33:06 | 显示全部楼层
是运行的时候加载的,首先,命令行启动,那你自己得输入含有main方法的类路径,此时,加载main方法类,中间过程中用到哪个类就在默认的路径中查找加载。如果你是用jar形式打开的,那jar文件里面已经配好main方法类了,原理同上
回复

使用道具 举报

千问 | 2010-8-4 11:33:06 | 显示全部楼层
当然是程序运行时,第一次使用的时候。你java Class1 的时候只会先加载Class1,然后中间过程中用到什么就加载什么。
回复

使用道具 举报

千问 | 2010-8-4 11:33:06 | 显示全部楼层
在编译时加入的信息
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行