![](https://img-blog.csdnimg.cn/20190830162558223.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JVM学习系列
JVM学习系列
木叶之荣
这个作者很懒,什么都没留下…
展开
-
Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(三)
本文内容总结自周志明先生所编著的《深入理解Java虚拟机-JVM高级特性与最佳实践》此书的经典不必多说。本节内容是对象的定位访问。在java中我们无时无刻不在创建对象,我们创建对象的目的当然是为了使用它了。但是我们怎么才能使用操作创建的对象呢?我们的java程序会通过栈上的reference数据(指向对象的引用)来操作堆上的具体对象。那这个对象的引用是通过什么方式去定位、访问堆中的对象的具体位原创 2017-05-10 00:44:03 · 595 阅读 · 0 评论 -
Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(二)
本文内容总结自周志明先生所编著的《深入理解Java虚拟机-JVM高级特性与最佳实践》此书的经典不必多说。本节内容是对象的内存布局。在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头、实例数据、对齐填充(Padding)。对象头包含两部分的信息,一部分是对象自身的运行时数据,包含哈希码、GC分代年龄、锁状态信息、线程持有的锁、偏向线程ID、偏向时间戳等。另一部分的信息是类型原创 2017-05-09 01:04:23 · 547 阅读 · 0 评论 -
Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(一)
本文内容总结自周志明先生所编著的《深入理解Java虚拟机-JVM高级特性与最佳实践》此书的经典不必多说。本节内容是对象的创建.、分配的内容。对象的创建java对象的创建有几种方式呢(这里所说的java对象仅限于普通java对象不包含数据和Class对象)?大致有以下四种方式:new关键字。这应该是我们最常见和最常用最简单的创建对象的方式。使用newInstance方法。这里包括原创 2017-05-09 00:35:31 · 694 阅读 · 0 评论 -
Java内存模型小析之重排序(三)
我们在上一篇文章中说了JAVA内存模型中原子性可见性的相关概念(点这里查看),我们在这一篇文章里说一下java内存模型中的重排序的内容。重排序重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。也就是说重排序的目的是提高程序的执行性能。重排序的分类编译器优化的重排序编译器在不改变单线程程序执行结果的前提下,可以重新安排语句的执行顺序。这里需要注意的是:不原创 2017-06-11 17:33:35 · 788 阅读 · 0 评论 -
Java内存模型小析之原子性和可见性(二)
在上篇文章中我们简单的说了一下jvm的内存布局,在这篇文章中我们继续java内存模型方面的东西。原创 2017-06-11 14:17:01 · 924 阅读 · 0 评论 -
Java内存模型小析值JVM运行时数据区域(一)
之前看过一次周志明写的《深入理解Java虚拟机-JVM高级特性与最佳实践》但是看过之后很多东西就忘了如同失忆了一般,所以这次在看的时候做一个读书笔记,以后也便于复习。先奉上一副自己总结的小图:原创 2017-05-07 00:50:38 · 909 阅读 · 0 评论