深入理解Java虚拟机
文章平均质量分 76
一万年行不行
Wanli
展开
-
对象创建 、类加载、双亲委派模型
对象的创建过程: 当虚拟机遇到一个new的指令时,首先根据这个指令所带的类参数 去方法区的常量池寻找类的符号引用,能找到说明存在这个类。 验证符号引用所代表的类是否完成类加载 为新生对象分配内存(所需内存大小来类加载时完成确定) 分配内存的两种方式 指针碰撞:将临界点指针移动一个对象大小的距离即可完成分配 空闲列表:虚拟机维护着一个记录空闲内存的地址表,分配时遍历该表,直到找到第一个比对象所需内存大的内存区域。即可完成分配。并更新该表。 当Java堆规整的情况下,使用指针碰撞方式分配内存 当Java原创 2021-01-02 21:25:50 · 162 阅读 · 0 评论 -
JVM---运行时数据区、对象的创建、结构、定位
一、 相关背景 Java技术体系图: RIA 富客户端应用 JavaFX:用于构建富互联网应用程序的Java库 Java Web Start 是帮助客户机端应用程序开发,它的独特之处在于关心客户机是如何启动的(从 Web 浏览器或是桌面)中解放出来。 另外,该技术提供了一个使 Web 服务器能独立的分发和更新客户机代码的集合部署方案。 Applet:客户端相关 Java监视和管...原创 2019-03-15 21:39:47 · 404 阅读 · 0 评论 -
JVM---如何判断对象为垃圾、回收策略、收集器、内存分配、引用
一、如何判断对象为垃圾 1)引用计数算法(已淘汰): 原理: 对象中存在一个引用计数器 对象被引用时,计数器+1; 引用失效时,计数器-1 计数器为0时,对象被回收 淘汰原因:无法解决对象间相互引用的问题。 当外界不访问A,B两个对象,且对象A,B相互引用时,计数器不为0,则无法回收 2)可达性分析算法: 思想: 定义GC Root作为引用链起点,向下搜索。 被搜索到的节点对象判定...原创 2019-03-18 19:49:35 · 402 阅读 · 0 评论