JVM虚拟机
mrdothe
勤劳的搬运工
展开
-
Java Memory Model基础
Java 内存模型 ( Java Memory Model )根据Java Language Specification中的说明, JVM系统中存在一个主内存(Main Memory或Java Heap Memory),Java中所有变量都储存在主存中,对于所有线程都是共享的。每条线程都有自己的工作内存(Working Memory),工作内存中保存的是主存中某些变量的拷贝转载 2016-03-08 23:36:38 · 289 阅读 · 0 评论 -
从JVM并发看CPU内存指令重排序(Memory Reordering)
这两天,我拜读了 Dennis Byrne 写的一片博文Memory Barriers and JVM Concurrency,文中提到:对主存的一次访问一般花费硬件的数百次时钟周期。处理器通过缓存(caching)能够从数量级上降低内存延迟的成本这些缓存为了性能重新排列待定内存操作的顺序。也就是说,程序的读写操作不一定会按照它要求处理器的顺序执行。这段话是作者对内存屏障重要性转载 2016-03-08 23:47:04 · 637 阅读 · 0 评论 -
Java虚拟机 运行时数据区
Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随线程的开始和结束而创建和销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域 程序计数器(Program Counter Register)它是一块较转载 2016-03-09 00:07:30 · 213 阅读 · 0 评论 -
JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
原文:http://blog.chinaunix.net/xmlrpc.PHP?r=blog/article&uid=29632145&id=4616836jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、转载 2016-06-18 23:25:31 · 221 阅读 · 0 评论