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 结构分析的更多相关文章

  1. Java基础-JVM调优策略简介

    Java基础-JVM调优策略简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JVM结构分析 1>.JVM结构图 2>.JVM运行时数据区功能说明 JVM管理的内 ...

  2. JVM垃圾回收日志结构分析

    我们在我们Server的gc log上经常看到下面的这个日志: 总结一下各个字段表达的是什么意思:  Young GC Full GC: top -H -P $PID  动态查看java线程的消耗情况 ...

  3. JVM内存结构分析

    对于Java程序员来说,内存是由JVM自动管理的,所以一旦出现内存泄漏或溢出的问题,不了解JVM的内存结构和各个内存区域的工作职责,将对解决问题带来很大的麻烦,本文参照周志明的<深入理解Java ...

  4. Java基础知识强化100:JVM 内存模型

    一. JVM内存模型总体架构图:  方法区和堆由所有线程共享,其他区域都是线程私有的 二. JVM内存模型的结构分析: 1. 类装载器(classLoader) 类装载器,它是在java虚拟机中用途是 ...

  5. Android 虚拟机Dalvik、Android各种java包功能、Android相关文件类型、应用程序结构分析、ADB

    Android虚拟机Dalvik Dalvik冲击 随着Google 的AndroidSDK 的发布,关于它的API 以及在移动电话领域所带来的预期影响这些方面的讨论不胜枚举.不过,其中的一个话题在J ...

  6. 【Java基础】Jar包结构结构分析和操作具体解释

    作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...

  7. 关于JVM的ClassLoader(转)

    众所周知,java是编译型的语言,写的是java文件,最后运行的是class文件,class文件是运行在JVM之中的,这时候就有一个问题,JVM如何装载class文件的?是通过ClassLoader来 ...

  8. JVM内存管理学习总结(一)

    I.JVM进程的生命周期 JVM实例的生命周期和java程序的生命周期保持一致,即一个新的程序启动则产生一个新的JVM进程实例,程序结束则JVM进程实例伴随着消失.那么程序启动和程序终止就是JVM实例 ...

  9. Java 面试知识点解析(三)——JVM篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

随机推荐

  1. P1055 ISBN号码(getline(cin,s); printf("%s",str); )

    题目描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字.1 位识别码和 3 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号 - 就是分隔符(键盘上的 ...

  2. nginx模块之ngx_http_upstream_module

    ngx_http_upstream_module 示例: http上下文: upstream upservers{ ip_hash; //根据客户端IP进行调度,每个客户端ip地址访问时每个ip生成一 ...

  3. gulp常用插件之pump使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 pump这是一款小型节点模块,可将流连接在一起并在其中一个关闭时将其全部销毁. 使用标准source.pipe(dest)源时,如果dest发出关 ...

  4. A Bug's Life HDU - 1829 种类并查集

    //有n个成员,并查集开两倍空间 //1~n为一组, n+1~2n为一组.a与b互斥,则a与b反(即b+n)为同一集合, //同时b与a反(a+n)为同一集合 //在union操作中,引入w ,w越大 ...

  5. Navicat 安装+连接

    Navicat安装包: 链接:https://pan.baidu.com/s/1bvKagRJ0w_7LH0t4597ycA 提取码:yftv 如MySQL 8.0+ 安装成功后,教程见本博 可用Na ...

  6. [CF1303C] Perfect Keyboard - DFS

    Solution 根据原字符串建图,每个字符是一个点,相邻则连边 然后从每一个度数为 \(1\) 的点开始爆搜连通块,合法情况下应该是一条链 #include <bits/stdc++.h> ...

  7. dva-loading 实践用法

    dva 中页面过渡效果封装的很好,下面介绍常用的两个 js 库. 之前对 dva-loading 理解存在误区,认为只要在 index.js 中配置一下就没事了,事实上 dva-loading 只是提 ...

  8. AI机器人最高等级

    AI机器人最高等级 题目描述 在小朱朱的游戏世界里,有n个AI机器人. 他们相互之间可以进行PK,胜方存活且升一级,负方直接淘汰. 高等级AI必定战胜低等级AI,同等级AI的PK结果必定一胜一负,且规 ...

  9. ELK学习实验015:日志的自定义index配置

    前面使用json格式收集了nginx的日志,但是再index的显示是filebeat-*,现在使用自定义的index进行配置 但是再使用filebeat的7.4版本以后,有一个巨坑,就是按照网络的很多 ...

  10. SMTP模块发送邮件

    import os import smtplib # 处理多种形态的邮件主体我们需要 MIMEMultipart 类 from email.mime.multipart import MIMEMult ...