博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM内存管理&GC
阅读量:5088 次
发布时间:2019-06-13

本文共 534 字,大约阅读时间需要 1 分钟。

一.JVM内存划分

|--------------------|-------------PC寄存器-------|

|----方法区 ---------|--------------java 虚拟机栈--|         

|----堆区----------- |-------------本地方法栈------|

|----共享区域------- |--------------线程独有-------|

其中左边为共享内存空间,右边为线程独有的线程级别的内存

各个区存储什么?

1.方法区:类的描述,常量等

2.堆:java对象,数组

3.pc寄存器:保存当前线程的执行地址

4.本地方法栈:方法等的局部变量

5.本地方法栈:系统本地方法

二、GC

1.知识准备:标记清除算法和复制清除算法

2.堆区划分

 {(年轻代:Eden区,s0,s1),(老年代:old),(持久代:perm)}

年轻代使用复制清除算法(serial ,parnew ,parallel)

年老代(CMS,serial old,parallel old)

 

为嘛分s0和s1:个人认为是使用的是复制清除算法

 

转载于:https://www.cnblogs.com/hsuchan/p/6055120.html

你可能感兴趣的文章
JavaScript创建对象
查看>>
10.9做题——洛谷P1927防护伞
查看>>
使用thinkphp3.2中的验证码功能
查看>>
数据结构树之二叉树
查看>>
Nginx部署静态页
查看>>
剑指 offer set 3 旋转数组的最小数字
查看>>
存储类型auto,static,extern,register的区别 <转>
查看>>
【Git使用】SourceTree可视化工具的安装和使用攻略
查看>>
单例模式
查看>>
内存分析:栈与堆的区别
查看>>
创建RpcEnv
查看>>
Mac OS X Yosemite 10.10 配置 Apache+PHP
查看>>
爬虫之Selenium模块
查看>>
Windows Azure Cloud Service (10) Role的生命周期
查看>>
Mac技巧之苹果电脑 Mac OS X 系统下修改 hosts 文件的方法
查看>>
StringUtils工具类中的isNotBlank()方法和isNotEmpty()方法的区别
查看>>
QTabWidget 使用小记
查看>>
Ubuntu下不重装系统安装SSD总结
查看>>
地图的可视化--Folium
查看>>
Java 基础 IO流
查看>>