上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 前言 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称为虚拟机的类加载机制。 类加载的时机 一个类型从被加载到虚拟机内存中开始,到卸载除内存为止,它的生命周期将会经历加载(Loading)、验证(Ve 阅读全文
posted @ 2020-06-24 18:11 纪莫 阅读(520) 评论(0) 推荐(1) 编辑
摘要: #前言 JDK的bin目录中有一系列的小工具,除了java.exe、javac.exe这两个编译和运行Java程序外,还有打包、部署、签名、调试、监控、运维等各种场景都会用到这些小工具。 这些工具根据软件可用性和授权的不同,可以把它们划分为三类: 商业授权工具: 主要是JMC(Java Missio 阅读全文
posted @ 2020-06-22 23:01 纪莫 阅读(536) 评论(0) 推荐(1) 编辑
摘要: 前言 ZGC是一款在JDK11中新加入的具有实验性质的低延迟垃圾收集器,目前仅支持Linux/x86-64。ZGC收集器是一款基于Region内存布局的,(暂时)不设分代的,使用了读屏障、染色指针和内存多重映射等技术来实现可并发的标记-整理算法的,以低延迟为首要目标的一款垃圾收集器。 ZGC布局 与 阅读全文
posted @ 2020-06-20 20:30 纪莫 阅读(2835) 评论(0) 推荐(0) 编辑
摘要: 前言 Shenandoah作为第一款不由Oracle(包括一起的Sun)公司的虚拟机团队所领导开发的HotSpot垃圾收集器。是只存在于OpenJDK当中的,最初由RedHat公司创建的,在2014年的时候贡献给了OpenJDK。 与G1相比的优点 从代码的历史渊源上来看,Shenandoah收集器 阅读全文
posted @ 2020-06-17 22:23 纪莫 阅读(1156) 评论(0) 推荐(1) 编辑
摘要: 前言 从如何判定对象消亡的角度出发,垃圾收集算法可以划分为“引用计数式垃圾收集”(Reference Counting GC)和“追踪式垃圾收集”(Tracing GC)两大类,这两类也常被称作“直接垃圾收集”和“间接垃圾收集”。由于主流Java虚拟机中使用 的都是“追踪式垃圾收集”,所以后续介绍的 阅读全文
posted @ 2020-06-11 22:55 纪莫 阅读(488) 评论(0) 推荐(4) 编辑
摘要: 前言 因为Java对象主要存放在Java堆里,所以垃圾收集器(Garbage Collection)在对Java堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(不被引用了)。 判断对象是否健在的算法 1.引用计数算法 引用计数算法,很容易理解,在对象中添加一个引用计 阅读全文
posted @ 2020-06-06 18:00 纪莫 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 前言 先解释一下什么是类加载器,通过一个类的全限定名来获取描述该类的二进制字节流,在虚拟机中实现这个动作的代码被称为“类加载器(Class Loader)”。 类与类加载器 类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远超类加载阶段。每个类加载器都有一个独立的类名称空间,所以 阅读全文
posted @ 2020-04-28 18:59 纪莫 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 前言 如果说垃圾收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。本次要介绍的是几款“经典”的垃圾收集器,之所以被称之为“经典”,是为了与几款目前仍处于实验状态,但是执行效果上有革命性改进的高性能低延迟收集器区分开来,虽然算不上最先进的技术,但却是在实践中千锤百炼,足够成熟,可以在商用生 阅读全文
posted @ 2020-03-14 19:50 纪莫 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 前言 上篇文章介绍了Java虚拟机的运行时数据区域,大致明白了Java虚拟机内存模型的概况,下面就基于实用优先的原则,以最常用的虚拟机HotSpot和最常用的内存区域Java堆为例,升入探讨一下HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。 对象的创建 Java是一门面向对象的编程 阅读全文
posted @ 2020-02-02 22:22 纪莫 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 前言 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时机,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。Java虚拟机将其管理的内存分为以下几个运行时区域。 Java虚拟机运行时 阅读全文
posted @ 2020-01-22 23:16 纪莫 阅读(355) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页