作者:老顽童周伯通链接:https://www.zhihu.com/question/24304289/answer/147529485来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 首先看书要理解反射,很难完全理解,这关系到Java的语言特性,jvm的内存细节,当初 ...
分类:
其他好文 时间:
2018-01-30 23:06:10
阅读次数:
211
浅谈java内存模型 不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存 ...
分类:
编程语言 时间:
2018-01-16 13:50:49
阅读次数:
229
JVM 垃圾回收 这篇文章尝试对当前主流的JVM垃圾回收机制进行简要介绍。 一 垃圾回收讨论的范围 JVM 的内存分为方法区,JVM栈,本地方法栈,堆,程序计数器等几个部分。 其中程序计数器,JVM栈,本地方法栈三部分的生命周期与线程相同,随着线程的回收这几部分内存其生命周期自然结束而得以回收。 而 ...
分类:
其他好文 时间:
2018-01-08 23:48:47
阅读次数:
229
JVM的内存分区 这篇文章尝试讨论清楚JVM的内存分区情况。 1. JVM的内存和系统内存的关系 下图是对系统内存及JVM内存的大致描绘 对大多数操作系统,内存可以分为物理内存RAM及Swap(交换区)两大部分,Swap Space在物理上是一块独立的磁盘区域,当操作系统发现内存不够使用时,便开始使 ...
分类:
其他好文 时间:
2018-01-07 22:13:14
阅读次数:
211
1 JVM的内存模型 1.1 堆空间 每个jvm都有一个堆,所有的对象都放在这里。 1.2 java栈空间 每个线程都有一个java栈,所有的java栈都放在这里。 1.3 本地方法栈 每个线程都有一个本地方法栈。 1.4 pc寄存器 每个线程都有一个pc寄存器。 1.5 方法存储区 每个jvm只有 ...
分类:
其他好文 时间:
2017-12-17 12:16:48
阅读次数:
97
java程序在执行时,jvm的内存执行方案。 ...
分类:
编程语言 时间:
2017-11-02 00:01:35
阅读次数:
143
一、JVM的内存划分 想要了解数组的内存存储,先要了解JVM的整体内存划分,详细参见第04JVM内存详解 二、数组在JVM当中的存储详解 假如我们有如下代码: 上面代码当中,创建数组的过程我们可以把它分为三步: 1.声明int类型的数组ages int [] ages; 2.在堆中初始化数组 new ...
分类:
编程语言 时间:
2017-10-31 14:20:26
阅读次数:
221
jvm 的内存包括stack ,Heap,NonHeap,在此重点说明Heap,NonHeap。 Heap叫堆内存,它用于存放类实例和数组信息。NonHeap叫非堆内存,用于存放类,方法等可反射的对象以及类静态变量,常量池等。 Heap包含年轻态,年老态。NonHeap包含永久态。年轻态包含1个ed ...
分类:
其他好文 时间:
2017-10-18 18:20:44
阅读次数:
137
简单记录JVM存储空间的几大模块的常用名称;使用哪些参数对各个模块进行尺寸设置及垃圾回收;最后举例子说明下参数配置后的GC的效果。 第一步,首先对于存储的几大模块进行一下简单描述: 1)JVM的内存分为两块:A.堆heap B.非堆non-heap:即堆以外的栈、方法区、常量池、寄存器空间(称为Pe ...
分类:
其他好文 时间:
2017-10-13 20:10:18
阅读次数:
107
在学习jvm的内存分配的时候,看到的这篇博客,该博客对jvm的内存分配总结的很好,同时也利用jvm的内存模型解释了java程序中有关参数传递的问题。 博客出处: http://www.cnblogs.com/hellocsl/p/3969768.html?utm_source=tuicool&utm ...
分类:
其他好文 时间:
2017-10-11 19:15:48
阅读次数:
180