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