摘要: 运行结果如下: Monitor Ctrl-Break:这是IDEA特有的监控线程 Attach Listener:接收外部命令,返回处理结果 Signal Dispatcher:分发处理发送信号给JVM的线程 Finalizer:调用对象finalize方法的线程 Reference Handler 阅读全文
posted @ 2019-05-18 23:45 狱婪 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。 类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段。对于 阅读全文
posted @ 2019-05-18 16:56 狱婪 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中验证、准备 阅读全文
posted @ 2019-05-18 12:42 狱婪 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 对于初始化阶段,虚拟机规范严格规定了有且只有5种情况必须立即对类进行“初始化” 。这5种场景中的行为称为对一个类进行主动引用。除此之外,所有引用类的方式都不会触发初始化,称为被动引用。 1)遇到new、getstatic、putstatic 或invokestatic 这4 条字节码指令时,如果类没 阅读全文
posted @ 2019-05-18 12:33 狱婪 阅读(443) 评论(0) 推荐(0) 编辑