JVM知识总结
文章平均质量分 58
__文若__
普通程序员一枚
展开
-
JVM总结(二)JVM的垃圾回收策略和算法
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。说明:本篇博客主要是针对《深入理解Java虚拟机》该书进行的总结和归纳。本篇博客主要总结如下问题:哪些内存需要回收?如果判定一个对象已经成为垃圾,可以被回收?如何回收?(JVM对垃圾收集有哪些算法)?一个对象从创建到销毁,JVM是如何进行内存分配的,又是如何...原创 2018-03-23 09:57:00 · 262 阅读 · 0 评论 -
JVM总结(一)Java内存区域划分
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。作为一名java程序员,开发的时候,我们常常不用管JVM的具体内容,我们甚至认为系统调优往往是专业的运维团队该做的事情。但在实际的工作过程中,这些工作大部分都是我们苦逼的程序员来做。而要真正做好系统调优工作,JVM的知识必不可少!为了方便记忆和查找,我将自己阅读的《深入理解...原创 2018-03-21 03:09:32 · 432 阅读 · 0 评论 -
JVM总结(三)Minor GC、Major GC和Full GC
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。一、Minor GCMinor GC是指从年轻代空间(包括 Eden 和 Survivor 区域)回收内存。当 JVM 无法为一个新的对象分配空间时会触发 Minor GC,比如当 Eden 区满了。 Eden区满了触发MinorGC,这时会把Eden区存活的对象复制...原创 2018-04-11 00:08:15 · 2298 阅读 · 0 评论 -
JVM总结(四)GC收集器以及JDK7,JDK8中JVM内存变化
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。GC收集器如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合...原创 2018-04-11 01:05:14 · 4645 阅读 · 1 评论 -
JVM总结(五)JVM日志分析(CMS垃圾收集为例)
JVM的GC日志的主要参数包括如下几个:-XX:+PrintGC 输出GC日志-XX:+PrintGCDetails 输出GC的详细日志-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)-XX:+PrintHeapAtGC 在进...转载 2018-04-17 16:42:47 · 646 阅读 · 1 评论 -
JVM总结(六)JVM中的G1垃圾回收器
我们先回顾一下主流Java的垃圾回收器(HotSpot JVM)。本文是针对堆的垃圾回收展开讨论的。堆被分解为较小的三个部分。具体分为:新生代、老年代、持久代。绝大部分新生成的对象都放在Eden区,当Eden区将满,JVM会因申请不到内存,而触发Young GC ,进行Eden区+有对象的Survivor区(设为S0区)垃圾回收,把存活的对象用复制算法拷贝到一个空的Survivor(S1)中,此时...转载 2018-04-23 16:29:26 · 443 阅读 · 0 评论 -
JVM总结(七)逃逸分析与TLAB
1111111111111111111111111111111原创 2018-07-10 10:22:01 · 691 阅读 · 4 评论 -
JVM总结(八)虚拟机类加载机制
摘要: 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这个异常背后涉及到的是Java技术体系中的类加载机制。本文简述了JVM三种预定义类加载器,即启动类加载器、扩展类加载器和系统类加载器,并介绍和分析它们之间的关系和类加载所采用的双亲委派机制,给出并分析了与Java类加载原理相关的若干问题。版权声明: 本文作者:书呆子Rico ...转载 2018-07-26 10:35:35 · 247 阅读 · 0 评论