深入JVM 原理(三)JVM 垃圾收集
目录
深入JVM 原理(一)Java内存模型:http://blog.csdn.net/qq_34707744/article/details/79278169
深入JVM原理(二)Java对象访问模式: http://blog.csdn.net/qq_34707744/article/details/79279979
深入JVM原理(三)JVM 垃圾收集:http://blog.csdn.net/qq_34707744/article/details/79281249
深入JVM原理(四)JVM垃圾回收流程:http://blog.csdn.net/qq_34707744/article/details/79281852
深入JVM原理(五)Java堆内存调整参数(调优关键):http://blog.csdn.net/qq_34707744/article/details/79287403
深入JVM原理(六)年轻代:http://blog.csdn.net/qq_34707744/article/details/79287900
深入JVM原理(七)老年代、永久代和元空间:http://blog.csdn.net/qq_34707744/article/details/79288787
深入JVM原理(八)JVM垃圾回收策略:http://blog.csdn.net/qq_34707744/article/details/79289110
深入JVM原理(九)JVM垃圾回收策略参数配置:http://blog.csdn.net/qq_34707744/article/details/79289556
深入JVM原理(十)G1收集器:http://blog.csdn.net/qq_34707744/article/details/79290595
深入JVM原理(十一)Java引用类型:http://blog.csdn.net/qq_34707744/article/details/79291451
我们已经知道了java的执行流程和java对象的访问模式,现在开始进行垃圾处理了。
首先,Java中最大的特点在于其具备良好的垃圾收集特性,也就是说GC是java重最重要的保证,它能让再蠢的开发者也能写出合理的代码来。
整个JVM中的GC处理机制:对不需要的对象进行标记,而后进行清除。
首先,我们来看一下JDK 1.8 之前的内存结构图(非常重要):
然后,我们来看一下JDK 1.8 之后的内存结构图(非常重要):
一定要记住在 JDK1.8 之后将最初的永久代内存空间取消了,以下为1.8之前的内存空间组成:
(取消永久代的目的:是为了将 HotSpot与JRockit 两个虚拟机标准联合成一个。)
在整个的JVM堆内存之中实际上将内存分为三块:
年轻代:新对象和没达到一定年龄的对象都在年轻代;
老年代:被长时间使用的对象,老年代的内存空间比年轻代更大
元空间:像一些方法中的操作临时对象等,直接使用物理内存;
最初的永久代是需要在JVM堆内存里面进行划分;
未完待续
深入JVM 原理(三)JVM 垃圾收集相关推荐
- JVM系列三:JVM参数设置、分析
2019独角兽企业重金招聘Python工程师标准>>> 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大 ...
- Java工程师必备:JVM原理、内存模型、调优、垃圾回收机制、面试题
在如今这个时间和知识都是碎片化的时代,C站根据C1-C4认证的成长路径,进行知识细化整理,形成系统化的知识图谱. 通过调研一线互联网大厂的招聘JD,小编对标C站能力认证要求,为大家整理了系列技术干货合 ...
- Java的jvm原理和常识
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机 ...
- Jvm 系列(三):GC 算法 垃圾收集器
这篇文件将给大家介绍GC都有哪几种算法,以及JVM都有那些垃圾回收器,它们的工作原理. 概述 垃圾收集 Garbage Collection 通常被称为"GC",它诞生于1960年 ...
- 【JVM】第三章 垃圾收集机制
第三章 垃圾收集机制 文章目录 第三章 垃圾收集机制 一.垃圾标记算法 1.引用计数算法 2.根可达性分析算法 二.垃圾收集算法 1.标记 - 清除算法 2.复制算法 3.标记 - 压缩算法 4.对比 ...
- JVM原理和性能调优
JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂界 ...
- Java 面试知识点解析(三)——JVM篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- 面试必问之JVM原理
1:什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现 ...
- jvm原理、启动时间、与编译器操作系统关系
一.JDK,JRE,JVM区别与联系 JDK : Java Development ToolKit(Java开发工具包).JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime ...
最新文章
- 1048 Find Coins(二分法解法)
- python 语音websocket_Python 牺牲性能以提升程序员的工作效率
- 如何设置iframe高度自适应,在跨域的情况下能做到吗?
- MySQL—表中添加数据
- MVC4 WebAPI(一)
- Hadoop之OutputFormat数据输出详解
- mysql参数配置详情_MySQL配置文件mysql.ini参数详解、MySQL性能优化
- Android多媒体之视频播放器高级开发
- thinkpad装linux无线网卡驱动,Thinkpad SL510 笔记本安装 Linux 无线网卡驱动
- java linux 调用so文件,linux下java jni调用.so文件的方法
- 再见了,面向对象编程
- Linux服务器端口access改为trunk all
- 中国省市地图JSON数据下载
- 为什么程序员不需要MATLAB技能?
- 代理服务器(Proxy)
- 拯救者笔记本 除尘后 开机蓝屏
- 技术QA:如何找回丢失的证书模板或将独立CA转换成企业CA?
- python手机壁纸_【python日常学习】爬取各种图片(电脑、手机壁纸,美女、明星图片,头像等等)...
- 计算机打字失灵,window_Win10键盘失灵无法打字提示错误代码19该怎么办?,我电脑的键盘无法打字了,显 - phpStudy...
- (一看就会)让VM虚拟机之间联网并能相互ping通
热门文章
- 东方财富全年净利翻番,一份区块链以外的业绩
- 2011学习总结(二)感悟篇
- rose 2003 7.0_微信 7.0.15 正式发布!iOS 终于能修改微信号,深色模式有开关了
- SourceInsight代码工程
- 2022年轻薄笔记本推荐丨高能配置超抗打 生产利器就选它
- edge浏览器需要等待很长时间才能打开?
- 双卡双4G还不够华为Mate 10为你带来双VoLTE通话体验
- 2015年网络红包攻略
- 5日均线在c语言中的写法,这是我见过完美的交易方式,一辈子只用5日均线,越简单越实用!...
- c语言中swap函数_C ++中的swap()函数