![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
easion_zms
这个作者很懒,什么都没留下…
展开
-
1.JVM运行数据区
JAVA虚拟机栈:方法执行的栈,比如变量表等,变量表在编译时已经确定了大小,进入方法执行时,直接分配大小JAVA堆:所有线程共享,虚拟机启动时创建。几乎所有的对象实例都被存放在这里,堆也是垃圾收集器管理的主要区域;大小通过(Xmx,Xms类控制)方法区:所有线程共享,存储已被虚拟机加载的类信息,常量,静态变量等数据。(也叫Non-Heap非堆);字符串常量池就在该区;大小通过-XX:Max原创 2015-04-22 16:26:47 · 389 阅读 · 0 评论 -
3.6 内存分配与回收策略
自动内存管理解决了两个问题:给对象分配内存以及回收对象的内存;下面介绍给对象分配内存的细节。JVM堆内存模型对象内存的分配主要在堆上进行,下面介绍JVM堆内存模型堆分为三个部分:年轻代(Young):又分为Eden和两个Survivor区,存放新分配的对象 老年代(Tenured):存放生命周期较长的对象,生命周期较长指经过了GC后仍然还存活的年轻代对象,会被原创 2015-04-16 14:27:14 · 567 阅读 · 0 评论 -
3.1 垃圾收集机制及垃圾收集器介绍
JVM简介:Dalvik不能运行class文件,使用的是寄存器架构而不是常用的栈架构Dalvik执行class转换后的dex文件并行:fork/join框架原创 2015-04-02 20:32:19 · 570 阅读 · 0 评论 -
JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。HotSpot虚拟机GC算法采用分转载 2015-04-13 14:54:30 · 488 阅读 · 0 评论 -
JAVA内存模型和线程
正式讲解Java虚拟机并发相关之前,先了解下物理计算机的并发问题,两者有相似之处,物理机对并发的处理方案也对虚拟机的实现有参考意义。1.1 硬件效率与一致性计算机并发执行若干计算任务其中一个重要的复杂性是绝大多数的运算任务都不可能是只靠处理器完成的,处理器还要与内存交互,比如读取运算数据,存储运算结果。计算机的存储设备与处理器的运算速度有着几个数量级的差距,所以现代计算机系统都加入一层读写...原创 2015-05-05 14:51:06 · 444 阅读 · 0 评论 -
应该了解的一些并发基础知识
原文链接http://blog.csdn.net/qq_17250009/article/details/79012528三个基础概念原子性。一个操作或者一系列骚操作,要么全部执行要么全部不执行。数据库中的“事物”就是个典型的院子操作。可见性。当一个线程修改了共享属性的值,其它线程能立刻看到共享属性值的更改。举个例子:转载 2018-01-24 16:03:56 · 212 阅读 · 0 评论