
JVM虚拟机
文章平均质量分 88
JVM虚拟机介绍
王军新
互联网农民工~
展开
-
JVM 垃圾回收算法
通过一系列称为“GC Roots”的根对象作为起始节点,根据引用关系向下搜索,搜索过程所走过的路径称为“引用链”(Reference Chain),如果某个对象到GC Roots间没有任何引用链相连,或者用图论的话来说就是从GC Roots到这个对象不可达时,则证明此对象是不可能再被使用的。收集器将Java堆划分出不同的区域,然后将回收对象依据其年龄(年龄即对象熬过垃圾收集过程的次数)分配到不同的区域之中存储,针对不同的区域安排与里面存储对象存亡特征相匹配的垃圾收集算法。原创 2024-07-17 17:37:54 · 1015 阅读 · 0 评论 -
JVM内存划分
直接内存(Direct Memory)并不是虚拟机运行时数据区的一部分,在JDK 1.4中新加入了NIO(New Input/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,它可以使用Native函数库直接分配堆外内存,然后通过一个存储在Java堆里面的DirectByteBuffer对象作为这块内存的引用进行操作。ava堆既可以被实现成固定大小的,也可以是可扩展的,不过当前主流的Java虚拟机都是按照可扩展来实现的(通过参数-Xmx和-Xms设定)。原创 2024-07-17 14:15:10 · 958 阅读 · 0 评论 -
类的加载机制详解
一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历以下几个阶段准备(Preparation):准备阶段是正式为类中定义的变量(即静态变量,被static修饰的变量)分配内存并设置类变量初始值的阶段,这时候进行内存分配的仅包括类变量,而不包括实例变量,实例变量将会在对象实例化时随着对象一起分配在Java堆中。这个时候的初始值指的是数据类型的默认值,不是我们编码定义的那个值。解析(Resolution):解析阶段是Java虚拟机将常量池内的符号引用替换为直接引用的过程。原创 2024-07-16 17:44:19 · 657 阅读 · 0 评论