jvm 结构分析
jvm区域总体分两类,heap区和非heap区。heap区又分:
Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。
非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
堆区:young gen 区和old 也叫Tenured gen 区
非堆区也叫永久代在jdk8后改为元数据区,Permanent generation ,像方法区就是典型的代表:
常见的垃圾搜集器一共7种,3个young ,3个old ,一个横跨 young 和 old 区也就是G1:
新生代收集器:Serial( 采用复制算法),ParNew(复制算法)、Parallel Scavenge(采用复制算法)
老年代收集器:Serial Old( 采用"标记-整理"算法,还有压缩,Mark-Sweep-Compact)、Parallel Old( 采用"标记-整理"算法;)、CMS( 基于"标记-清除"算法(不进行压缩操作,产生内存碎片);
整堆收集器:G1;
================
1-3、Minor GC和Full GC的区别
(A)、Minor GC
又称新生代GC,指发生在新生代的垃圾收集动作;
因为Java对象大多是朝生夕灭,所以Minor GC非常频繁,一般回收速度也比较快;
(B)、Full GC
又称Major GC或老年代GC,指发生在老年代的GC;
出现Full GC经常会伴随至少一次的Minor GC(不是绝对,Parallel Sacvenge收集器就可以选择设置Major GC策略);
Major GC速度一般比Minor GC慢10倍以上;
其他:discuss
https://blog.csdn.net/clover_lily/article/details/80160726
jvm 结构分析的更多相关文章
- Java基础-JVM调优策略简介
Java基础-JVM调优策略简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JVM结构分析 1>.JVM结构图 2>.JVM运行时数据区功能说明 JVM管理的内 ...
- JVM垃圾回收日志结构分析
我们在我们Server的gc log上经常看到下面的这个日志: 总结一下各个字段表达的是什么意思: Young GC Full GC: top -H -P $PID 动态查看java线程的消耗情况 ...
- JVM内存结构分析
对于Java程序员来说,内存是由JVM自动管理的,所以一旦出现内存泄漏或溢出的问题,不了解JVM的内存结构和各个内存区域的工作职责,将对解决问题带来很大的麻烦,本文参照周志明的<深入理解Java ...
- Java基础知识强化100:JVM 内存模型
一. JVM内存模型总体架构图: 方法区和堆由所有线程共享,其他区域都是线程私有的 二. JVM内存模型的结构分析: 1. 类装载器(classLoader) 类装载器,它是在java虚拟机中用途是 ...
- Android 虚拟机Dalvik、Android各种java包功能、Android相关文件类型、应用程序结构分析、ADB
Android虚拟机Dalvik Dalvik冲击 随着Google 的AndroidSDK 的发布,关于它的API 以及在移动电话领域所带来的预期影响这些方面的讨论不胜枚举.不过,其中的一个话题在J ...
- 【Java基础】Jar包结构结构分析和操作具体解释
作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...
- 关于JVM的ClassLoader(转)
众所周知,java是编译型的语言,写的是java文件,最后运行的是class文件,class文件是运行在JVM之中的,这时候就有一个问题,JVM如何装载class文件的?是通过ClassLoader来 ...
- JVM内存管理学习总结(一)
I.JVM进程的生命周期 JVM实例的生命周期和java程序的生命周期保持一致,即一个新的程序启动则产生一个新的JVM进程实例,程序结束则JVM进程实例伴随着消失.那么程序启动和程序终止就是JVM实例 ...
- Java 面试知识点解析(三)——JVM篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
随机推荐
- Windows终端操作命令结合
虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全.稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Wi ...
- 三种比较好玩的黑客效果JS代码(摘取)
<html> <head> <title>The Matrix</title> <script src="http://ajax.goo ...
- cat基础用法
Linux中的cat命令连接文件并打印到标准输出设备上(通常是shell).cat的最常见用法之一是显示文件,还可以即时创建文件,并可以直接在终端上进行基本编辑. 创建文件 使用cat命令创建文件,请 ...
- kali2019.4试用记录
问题一:中文乱码 https://blog.csdn.net/dust_hk/article/details/103299136 参考以上博文即可解决: 1.设置locales. dpkg-recon ...
- gulp常用插件之wiredep使用
更多gulp常用插件使用请访问:gulp常用插件汇总 wiredep这是一款gulp插件,能够将js.css文件自动插入到html中. 更多使用文档请点击访问wiredep工具官网. Bower是一个 ...
- Docker学习参考网站
Docker——从入门到实践 https://www.yuque.com/grasilife/docker 2.阿里源网站:https://cr.console.aliyun.com 3.DaoClo ...
- Python-Django学习笔记(四)-views的编写以及urls分发器的配置
MTV中的V表示的是Views,视图函数(或简称视图)只是一个Python函数,它接受Web请求并返回Web响应. 通俗的理解可以理解为后端控制器. (响应可以是网页的HTML内容,重定向,404错误 ...
- AC自动机(模板+例题)
首先要明白AC自动机是干什么的: AC自动机其实就是一种多模匹配算法,那么你可能会问什么叫做多模匹配算法.下面是我对多模匹配的理解,与多模与之对于的是单模,单模就是给你一个单词,然后给你一个字符串,问 ...
- 深入浅出Mybatis系列一-Mybatis入门
注:本文转载自南轲梦 注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 最近两年 springmvc + mybatis 的在这种搭配还是蛮火的,楼主我呢, ...
- Python论做游戏外挂,Python输过谁?
玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢? 我打开了4399小游戏网,点开了一个不知名的游戏,唔,做寿司的,有材料在一边,客人过来后说出他们的要求,你按照菜 ...