jvm内存组成+GC
来源:互联网 发布:图片制作视频软件 手机 编辑:程序博客网 时间:2024/05/24 05:41
1.jvm内存组成
堆:除基本类型之外所有new的对象存储在堆。
栈:存储一些局部变量 +临时存储
本地方法栈:只要支持其他语言的方法,存储native方法的状态
方法区:存放类信息,静态信息,final常量信息,属性,方法等。主要存放于持久代。
程序计数器:pc
2.回收
堆是由新生代和旧生代组成,new对象都是在新生代中分配空间。
新生代由eden ,survivor组成。survivor(fromSpace+toSpace)
新生代中的数据存活时间较短,旧生代存活时间相对长。
2.1新生代GC:
新生代存活时间较短,直接用copying算法回收。
copying算法:扫描新生代存活对象,将存活对象复制到一块新的未使用空间。
新生代采用空闲指针控制触发GC机制,指针保持最后一个对象的分配空间在新生代中。但new是无空间,则触发gc回收。新生代空间不够时,空间分配会由eden-->survivor-- ->旧生代
新生代GC分类:串行GC,并行GC,并行回收GC
2.2旧生代GC:
旧生代中的对象存活时间较长,用mark算法回收。
mark算法:扫描mark存活的对象,回收未标记的对象回收,回收后对空余的空间合并,或者标记便于下次使用,避免碎片影响效率。
旧生代GC分类:串行GC,并行GC,并发GC
串行GC,单线程,等待时间长,适用单Cpu,新生代较小
并行|并发GC,多线程,速度快
0 0
- jvm内存组成+GC
- jvm内存GC详解
- JVM内存与GC
- JVM内存及其GC
- JVM内存GC机制
- JVM内存 GC机制
- JVM-内存GC概述
- jvm内存与gc
- jvm内存GC详解
- Java JVM 内存组成
- JVM内存区域组成
- JVM内存区域组成
- JVM内存组成
- Java内存组成&GC算法
- JVM之---GC内存分配
- JVM内存管理和GC
- JVM内存管理及GC
- JVM内存回收System.gc()
- Angular开发(四)-关于angular2的通用指令
- RowDataPacket传值到前台
- ionic Error: spawn EACCES
- 理解Python中的装饰器
- <!DOCTYPE>声明
- jvm内存组成+GC
- 【知识库】--mysql 表字段修改操作(193)
- ubuntu 复制命令
- Android webview详解
- android带动画的圆形进度条 各种差值器的含义
- $("div[XXX]"什么意思?
- win7配置虚拟机的IP
- 医院如何建立客户服务中心,有什么作用?
- QSqlDatabase: QMYSQL driver not loaded问题解决方法