
JVM
一只攻城狮√
难道不成功你就不努力了吗
展开
-
JVM-分配及回收策略
java技术体系中所提倡的自动内存管理最终可以归结为自动地解决了两个问题:给对象分配内存以及回收分配给对象的内存。关于回收内存这一点,前面的博客中已经介绍过了,在这我们讨论一些给对象分配内存的问题。对象内存分配,说白了就是在堆上分配,对象只要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配,少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的。...原创 2018-12-14 16:43:48 · 379 阅读 · 0 评论 -
JVM-java运行时数据区域详解
java虚拟机在执行java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间 ,有的区域随着虚拟机进程的启动而存在,有些区域则以来用户线程的启动和结束建立和销毁。java虚拟机所管理的内存将会包括以下几个运行时数据区域。(图片来源: https://blog.youkuaiyun.com/carson0408/article/details/79608...原创 2018-12-11 11:32:44 · 340 阅读 · 1 评论 -
JVM-垃圾回收的理解
1534533原创 2018-12-11 17:44:42 · 374 阅读 · 0 评论 -
JVM-垃圾收集算法详解
由于垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,因此在这不打算过多的讨论算法的实,只是介绍几种算法的思想及其发展过程。1标记—清除算法...原创 2018-12-12 11:23:03 · 363 阅读 · 0 评论 -
JVM-安全点解读
了解虚拟机中的垃圾回收和OopMap数据结构我们根据可达性分析可知,通过GC Roots节点我们可以判断一个对象是否还被引用。但现在有很多应用仅仅是方法区就有数百兆大小,逐个检查引用,必然消耗过多的时间。就连号称不会发生停顿的CMS收集器,枚举根节点时也必须要停顿。在HotSpot虚拟机中,一组称为OopMap的数据结构解决了这个问题,在类加载的完成的时候,HotSpot加吧对象内什么偏移量上...原创 2019-07-15 20:53:35 · 711 阅读 · 1 评论 -
JVM-对象的内存布局
对象的创建JAVA是一门面向对象的编程语言,我们都知道通过一个关键字new就可以创建一个对象。创建对象的实质就是把一块确定大小的额尔内存从堆中划分出来。对象的内存布局我们知道了创建出一个对象的本质了,那对象在内存中具体是怎么存储的呢?在HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头、实例数据和对齐填充。对象头第一部分用于存储对象自身的运行时数据,如哈希码、GC...原创 2019-07-16 11:41:52 · 257 阅读 · 0 评论