随笔分类 -  JVM

摘要:1. 运行时常量池和静态变量都存储到了堆中,MetaSpace存储类的元数据,MetaSpace直接申请在本地内存中(Native memory),这样类的元数据分配只受本地内存大小的限制,OOM问题就不存在了。除此之外,还有其他很多好处: 2. 其实,移除永久代的工作从JDK1.7就开始了。JDK 阅读全文
posted @ 2018-03-27 12:53 Jtianlin 阅读(3579) 评论(0) 推荐(0) 编辑
摘要:1. 内存分布: 1). 程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。线程私有。如果线程正在执行的是一个Java方法,这个计数器记录的是 正在执行的虚拟机字节码指令的地址;如果正在执行的是Natvie方法, 阅读全文
posted @ 2016-03-02 15:35 Jtianlin 阅读(328) 评论(0) 推荐(0) 编辑
摘要:1.Sun JDK 监控和故障处理工具 1)jps:JVM process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类) 的名称,以及这些进程的本地虚拟机的唯... 阅读全文
posted @ 2015-12-13 16:54 Jtianlin 阅读(190) 评论(0) 推荐(0) 编辑
摘要:文章内容摘自:深入理解java虚拟机 第三章 对象已死? 1. 引用计数算法: 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是一个不可能再被使用的。 优点:实现简单,判定效率高 缺点:很难解决相互对象间相互循环引用的问题 阅读全文
posted @ 2015-12-13 16:25 Jtianlin 阅读(334) 评论(0) 推荐(0) 编辑
摘要:1. jconsole 远程连接: JConsole很好用,可以解决很多疑难杂症。但远程连接需要设置一下Java opt才可以使用。以下是步骤: 1). 在java opt下添加如下内容: 如果是无须验证添加 # 指定远程服务的端口 JAVA_OPTS="$JAVA_OPTS -D... 阅读全文
posted @ 2015-12-05 14:32 Jtianlin 阅读(619) 评论(0) 推荐(0) 编辑
摘要:本文主要参考内容: http://hllvm.group.iteye.com/group/wiki/3053-JVM http://my.oschina.net/xishuixixia/blog/133850 http://my.oschina.net/xishuixixia/blog/132395 阅读全文
posted @ 2015-05-03 15:49 Jtianlin 阅读(300) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://my.oschina.net/xishuixixia/blog/1338501.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候... 阅读全文
posted @ 2015-05-03 14:37 Jtianlin 阅读(472) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://my.oschina.net/xishuixixia/blog/132395常用的调优参数。1.堆大小-Xms和-Xmx用于指定堆大小,我们需要将他们俩设置为一样的值,以避免在GC后重新调整堆的大小。2.年轻代大小-XX:NewSize=?和–XX:MaxNewSize=?,... 阅读全文
posted @ 2015-05-03 14:35 Jtianlin 阅读(224) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://www.cnblogs.com/chen77716/archive/2010/06/26/2130807.html 最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录。 一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: 阅读全文
posted @ 2015-05-03 14:33 Jtianlin 阅读(282) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://www.cnblogs.com/gw811/archive/2012/10/18/2730117.html#undefined 推荐查看原文,原文格式更好一些。 本文引用自:深入理解Java虚拟机的第2章内容 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管 阅读全文
posted @ 2015-01-18 17:07 Jtianlin 阅读(309) 评论(0) 推荐(0) 编辑
摘要:参考引用文章地址: http://hllvm.group.iteye.com/group/wiki/3053-JVMhttp://blog.csdn.net/william001zs/article/details/6749946 推荐文章:http://www.cnblogs.com/gw811/ 阅读全文
posted @ 2015-01-18 17:05 Jtianlin 阅读(1045) 评论(0) 推荐(0) 编辑
摘要:classLoader 的用途:不同版本的jar加载;class文件的加密(加密后只有自己的classLoader可以解密) 1. 在如下几种情况下,Java虚拟机将结束生命周期: 1). 执行了System.exit()方法 2). 程序正常执行结束 3). 程序在执行过程中遇到了异常或错误而异常 阅读全文
posted @ 2014-12-28 17:15 Jtianlin 阅读(339) 评论(0) 推荐(0) 编辑