
JVM
彩虹咖啡
多愁善感
展开
-
JVM系列四:生产环境参数实例及分析【生产环境实例增加中】
JVM系列四:生产环境参数实例及分析【生产环境实例增加中】 java application项目(非web项目) 改进前: -Xms128m -Xmx128m -XX:NewSize=64m -XX:PermSize=64m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=78 -XX:ThreadSt转载 2015-11-04 14:32:48 · 316 阅读 · 0 评论 -
JVM系列一:JVM内存组成及分配
JVM系列一:JVM内存组成及分配 java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆转载 2015-11-04 14:27:59 · 346 阅读 · 0 评论 -
HotSpot VM GC 的种类
collector种类 GC在 HotSpot VM 5.0里有四种: incremental (sometimes called train) low pause collector已被废弃,不在介绍. 类别 serial collector parallel collector ( throughput collector ) concurrent co转载 2015-11-04 14:37:00 · 344 阅读 · 0 评论 -
使用btrace需要注意的几个问题
1. @ProbeClassName String clazz 此处String不能写为java.lang.String 2. location=@Location(Kind.RETURN) public static void traceExecute(AnyType[] args,@ProbeClassName String clazz,@ProbeMethodName Strin转载 2015-11-04 14:35:53 · 431 阅读 · 0 评论 -
HotSpot VM GC 的种类
HotSpot VM GC 的种类 collector种类 GC在 HotSpot VM 5.0里有四种: incremental (sometimes called train) low pause collector已被废弃,不在介绍. 类别 serial collector parallel collector ( throughput转载 2015-11-04 14:29:49 · 520 阅读 · 0 评论 -
JVM系列三:JVM参数设置、分析
JVM系列三:JVM参数设置、分析 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停转载 2015-11-04 14:31:43 · 936 阅读 · 0 评论 -
JVM系列二:GC策略&内存申请、对象衰老
JVM系列二:GC策略&内存申请、对象衰老 JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同转载 2015-11-04 14:30:53 · 276 阅读 · 0 评论 -
Dynamic Code Evolution for Java dcevm 原理
在hostswap dcevm中我们对Dynamic Code Evolution VM有了一个简单的了解,这篇文章将介绍Dynamic Code Evolution VM的实现原理。 有两个概念需要区别下: Dynamic Code Evolution (下文简称DCE):泛指java在运行时修改程序的技术.例如aop等. Dynamic Code Evolution VM(转载 2015-11-04 14:38:31 · 1183 阅读 · 0 评论 -
hostswap dcevm
什么是dcevm dcevm(DynamicCode Evolution Virtual Machine)是java hostspot的补丁(严格上来说是修改),允许(并非无限制)在运行环境下修改加载的类文件.当前虚拟机只允许修改方法体(method bodies),decvm,可以增加 删除类属性、方法,甚至改变一个类的父类。原理参见Dyn转载 2015-11-04 14:37:50 · 821 阅读 · 0 评论 -
JVM系列五:JVM监测&工具
前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案。正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并不断进行调整才能找到最佳设置方案。本文将介绍如果通过工具及Java api来监测JVM的运行状态,并详细介绍各工具的使用方法。 需要监测的数据:(内存使用情况 谁使用了内存 GC的转载 2015-11-04 14:35:04 · 396 阅读 · 0 评论 -
Jvm工作原理学习笔记
1. JVM实例对应了一个独立运行的java程序它是进程级别 a) 启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点 b) 运行。main()作为该程序初始线程的起点,任何其他线程均由该线程启动。JVM内部有两种线程转载 2015-11-10 10:48:00 · 387 阅读 · 0 评论