JVM & GC 笔记】的更多相关文章

堆分区:所有new的对象都会存放在堆中      > 新生代(Young Generation):存放生命周期短的对象,具体还分为Eden和Survivor两个区,其中Survivor分为From Space和To Space;      > 旧生代(Old Generation):存放生命周期长的对象      > 持久代(Permenent Generation):用于存放class字节码等   JVM使用的GC算法是:分代收集      > 频繁的收集新生代      >…
0. 说明 转载并修改自JVM 1. JVM 1.1 什么是JVM JVM为Java虚拟机(Java Virtual Machine) Runtime data area,运行时数据区. 包含5个区域,分别为: method area (方法区) heap                  (堆) java stack   (java栈) native method stack (本地方法栈) program counter register. (程序计数器) 图示如下: 1.2 method…
JVM学习笔记二之GC GC即垃圾回收,在C++中垃圾回收由程序员自己来做,例如可以用free和delete来回收对象.而在Java中,JVM替程序员来执行垃圾回收的工作,下面看看GC的详细原理和执行过程. 1.对象已死? 1.1 引用计数法 Java GC不采用引用计数法是因为无法解决对象互相引用导致无法回收的问题. 1.2 可达性分析法 从GC ROOT开始搜索,搜索不到的并且经过第一次标记.清理后未复活的对象. GC ROOT包括: 虚拟机栈中引用的对象 方法区中静态属性引用的对象 方法区…
转自:http://blog.csdn.net/cutesource/article/details/5907418 版权声明:本文为博主原创文章,未经博主允许不得转载. 首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM. 对JVM内存的系统级的调优主要的目的是减少GC的频率和Fu…
首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM. 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数,过多的GC和Full GC是会占用很多的系统资源(主要是CPU),影响系统的吞吐量.特别要关注Full GC,因为它会对整个堆进行整理,导致Full GC…
java之jvm学习笔记十三(jvm基本结构) 这一节,主要来学习jvm的基本结构,也就是概述.说是概述,内容很多,而且概念量也很大,不过关于概念方面,你不用担心,我完全有信心,让概念在你的脑子里变成图形,所以只要你有耐心,仔细,认真,并发挥你的想象力,这一章之后你会充满自信.当然,不是说看完本章,就对jvm了解了,jvm要学习的知识实在是非常的多.在你看完本节之后,后续我们还会来学jvm的细节,但是如果你在学习完本节的前提下去学习,再学习其他jvm的细节会事半功倍. 为了让你每一个知识点都有迹…
在写这篇文章之前,xxx已经写过了几篇关于改jvm内存主题的文章,想要了解的朋友可以去翻一下之前的文章 如果你还不了解JVM的基本概念和内存划分,请阅读JVM学习笔记-基础知识和JVM学习笔记-内存处理文章. 因为Java中没有留给开发者直接与内存打交道的指针(C++指针),所以如何回收不再应用的对象问题,就丢给了JVM.所以接下来就介绍一下目前主流的垃圾收集器所采取的算法.不过在此之前,有须要先了解Reference 1.引用(Reference) 如果你当初还是JDK1.0或者1.1版本的开…
JVM学习笔记 == 标签(空格分隔): jvm 学习笔记全部来自于<深入理解java虚拟机>总结 jvm内存示意图 虚拟机栈(Java Virtual Machine Stacks): 为虚拟机执行java方法(字节码)服务 局部变量表 操作数栈 动态链表 方法出口 虚拟机栈主要储存各种基本数据类型,对象引用等(由局部变量表实现) 每个方法创建时都会创建一个栈帧(Stack Frame) 每个方法从调用到执行完成 <>栈帧的入栈到出栈 异常 如果线程请求的栈深度大于虚拟机所允许的…
JVM 学习笔记记录 Sun JDK 监控和故障处理工具 名称 主要作用 jps JVM Process Status Tool, 显示指定系统内所有的HotSpot虚拟机进程 jstat JVM Statistics Moitoring Tool,用于收集HotSpot虚拟机各方面的运行数据 jinfo Configuration info for java,显示虚拟机配置信息 jmap Memory Map for java,生成虚拟机的内存转储快照(heapdump文件) jhat JVM…
JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380620 3.5 经典垃圾收集器 3.5.1 Serial收集器 这个收集器是一个单线程工作的收集器,但它的单线程的意义并不仅仅是说明他只会使用一个处理器或一条收集线程去完成垃圾收集工作,更重要对的是强调在它进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束. 目前已经老无可用,但有着优于其他收…