社区
Java EE
帖子详情
关于jvm启动时类加载的问题
xiaqi1210
2012-11-11 09:13:42
jvm启动时,是不是会同时用bootstrap去加载最基本的class
那ExtClassloader也会去同时加载ext下面的class吗,
还是说ext下面的class是用到的时候才会去加载
同样,AppClassloader是怎么样的方式呢
最好有官方的说明url之类的,可以让我看一下,O(∩_∩)O谢谢~~
...全文
171
4
打赏
收藏
关于jvm启动时类加载的问题
jvm启动时,是不是会同时用bootstrap去加载最基本的class 那ExtClassloader也会去同时加载ext下面的class吗, 还是说ext下面的class是用到的时候才会去加载 同样,AppClassloader是怎么样的方式呢 最好有官方的说明url之类的,可以让我看一下,O(∩_∩)O谢谢~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
龙四
2012-11-12
打赏
举报
回复
加载分为 装载-连接-初始化 三个步骤 装载 即将class文件读入内存,构建成jvm自定义的数据结构,产生一个java.lang.Class对象 连接 验证字节码,为类变量分配内存并赋默认值,并可以做一些常量池解析 初始化 只有当一个类被主动使用的时候才会被初始化,初始化就是为类变量赋初始值,执行static块 关于 装载 这个阶段,jvm有很大的自由,将所有jar包中的类都装进去也没有问题 关键在于初始化阶段,只有 主动使用 才能初始化,何为主动使用? 一个类在下列情形下才是主动使用,才会被初始化: 1、创建该类的实例 2、调用该类中声明的静态方法 3、操作该类或接口中声明的非常量静态字段 4、调用特定的反射方法 5、初始化该类的子类 6、该类作为虚拟机启动时的初始类 这里我用了加载和装载两个词以区分,但在英文中都是load,有人可能都译作 加载
chenshuang_com
2012-11-12
打赏
举报
回复
start %cd%\jdk\jdk1.5\bin\javaw -Xmx512m -Xms128m -cp .\lib\package-Tools.jar -DcurrentDir=%cd% -Djava.home=%cd%\jdk\jdk1.5 com.pack.tool.PackageProject 上面这个是一个cs结构的项目启动程序,-cp后面的就是我自己的项目所在目录,他是由appClassLoader负责加载的,最后面的是调用PackageProject中main方法。
chenshuang_com
2012-11-12
打赏
举报
回复
AppClassloader加载工作空间中的项目
zj304292653
2012-11-12
打赏
举报
回复
bootstrap?啥玩意?tomcat并不是jvm。。。jvm加载类简单来说就是通过一个ClassLoader类去指定的Url加载class文件,就是加载类了
Tomcat
类加载
机制与
JVM
类加载
机制对比
类加载
在
JVM
中并不是一次性把所有的文件都加载到,而是一步一步的,按照需要来加载。 比如
JVM
启动时
,会通过不同的
类加载
器加载不同的类。当用户在自己的代码中,需要某些额外的类时,再通过加载机制加载到
JVM
中,并且存放一段时间,便于频繁使用。 因此使用哪种
类加载
器、在什么位置加载类都是
JVM
中重要的知识。
JVM
类加载
JVM
类加载
采用 父类委托机制,如下图所示:
JVM
中包括集中
类加载
器: 1 BootStrapClassLoader 引导
类加载
器 2 ..
JVM
类加载
过程
理解
JVM
的
类加载
过程,主要要回答两个
问题
: 1、类在什么时候被加载。 2、类是怎样被加载的。 一、触发
类加载
的条件: 类的加载过程主要分为七个阶段:加载、验证、准备、解析、初始化、使用、卸载,加载、验证、准备、初始化、卸载这五个过程顺序是确定的,
jvm
必须严格按照这个顺序执行,
jvm
没有规定
类加载
的时机,但却严格规定了五种情况下必须立即对类进行初始化,加载自然要在此之前。 1、遇到new、getstatic、putstatic、invokestatic这四条指令时,如果类没有被初始化,则首先对类进行初始
JVM
有哪些
类加载
器?
站在Java虚拟机的角度来看,只存在两种不同的
类加载
器: 1、启动
类加载
器(Bootstrap ClassLoader),使用C++语言实现,是虚拟机自身的一部分; 2、其他所有的
类加载
器,由Java语言实现,独立存在于虚拟机外部,并且全都继承自抽象类java.lang.ClassLoader; 站在Java开发者的角度来看,自JDK 1.2开始,Java一直保持着三层
类加载
器架构;
JVM
中不同的
类加载
器加载哪些文件? 1、启动
类加载
器(Bootstrap ClassLoader):(根的
类加载
器)C+
jvm
之java
类加载
机制和
类加载
器(ClassLoader)的详解
当程序主动使用某个类时,如果该类还未被加载到内存中,则
JVM
会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,
JVM
将会连续完成3个步骤,所以有时也把这个3个步骤统称为
类加载
或类初始化。 一、
类加载
过程 1.加载 加载指的是将类的class文件...
【
JVM
】查看
JVM
加载的类及
类加载
器的方法
查看
JVM
加载了哪些类# java -verbose[:class|gc|jni]在输出设备上显示虚拟机运行信息。 java -verbose:class# 在程序运行的时候有多少类被加载!你可以用verbose:class来监视,在命令行输入java -verbose:class XXX(XXX为程序名),也可以直接在
JVM
启动时
添加启动参数-verbose:class,你会在控制台(或者指定的启动日志文件,如catalina.out中)看到加载的类的情况。verbose和verbose:cl...
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章