jvm
DivineH
这个作者很懒,什么都没留下…
展开
-
Java虚拟机之强引用、软引用、弱引用、虚引用详解
背景在JDK 1.2以前,Java中的引用定义很传统:如果reference类型的数据中存储的数值代表的是另一块内存的起始地址,就称这块内存代表着一个引用。这种定义很纯粹,但是太过狭隘,一个对象在这种定义下,只有被引用或者没有被引用这两种状态,对于如何描述一些“食之无味,弃之可惜”的对象就显得无能为力。我们对于这样一类对象需要一种新的引用方式:当内存空间还足够时,则能保留在内存之中;如果内存空...原创 2018-05-26 15:51:14 · 2401 阅读 · 0 评论 -
Java虚拟机之类加载机制详解(二)
虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取定义此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。类与类加载器类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段。类加载主要有以下几个作用:通过一个类的全限定名来获取定义此类的二进制字节流;审查每一类应该有谁...原创 2018-05-25 13:08:12 · 907 阅读 · 1 评论 -
Java虚拟机之类加载机制详解(一)
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java中,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一点性能开销,但是会为Java应用程序提供高度的灵活性。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解...原创 2018-05-24 20:08:49 · 1383 阅读 · 1 评论