Java
0X4D4746H
Keep calm and hack on. Twitter:0x4D4746H
展开
-
How to Analyze Java Thread Dumps
The Performance Zone is supported by New Relic and AppDynamics. Both are leaders in the APM space with high-profile customers and massive cost reductions for those users.The co转载 2014-07-24 13:19:47 · 1263 阅读 · 0 评论 -
JVM 监测工具 二
基于Sun HotSpot JVM 这里将介绍几款sun hotspot jvm 自带的监控工具:请确保java_home/bin配置到path环境变量下,因为这些工具都在jdk的bin目录下 jps(JVM Process Status Tool):JVM机进程状况工具用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,转载 2014-07-08 09:15:25 · 933 阅读 · 0 评论 -
JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同转载 2014-07-08 09:00:05 · 554 阅读 · 0 评论 -
GC策略&内存申请、对象衰老
JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同生命周期的对象放在不同区域里:young generation,tenu转载 2014-07-08 08:58:00 · 612 阅读 · 0 评论 -
linux下的tomcat jvm内存
常见的内存溢出有以下两种:java.lang.OutOfMemoryError: PermGen spacejava.lang.OutOfMemoryError: Java heap space ---------------------------------------------------------这里以tomcat环境为例,其它WEB服务器如jb转载 2014-07-08 08:45:45 · 675 阅读 · 0 评论 -
JVM 内存分配
基于Sun HotSpot JVM 请先了解JVM内存模型在来看此篇文章使用对JVM不同内存区域灌入数据,导致相关区域内存溢出,来验证JVM内存分配 先看一个经典问题:Java代码 String s1 = "小金子(aub)"; String s2 = "小金子(aub)"; String s3 = "小金子" + "(au转载 2014-07-08 09:17:20 · 1172 阅读 · 0 评论 -
JVM 内存模型
基于Sun HotSpot JVM 直接上图: 从图中看到,JVM内存分为两个主要区域,一个是所有线程共享的数据区,一个是线程隔离数据区(线程私有) 线程隔离数据区程序计数器(Program Counter Register):一小块内存空间,单前线程所执行的字节码行号指示器。字节码解释器工作时,通过改变这个计数器的值来选取转载 2014-07-08 09:15:26 · 544 阅读 · 0 评论 -
生产环境参数实例及分析【生产环境实例增加中】
java application项目(非web项目)改进前:-Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=78-XX:ThreadStackSize=128-Xloggc:logs/gc.log-Dsun.rmi.dgc转载 2014-07-08 09:00:48 · 588 阅读 · 0 评论 -
JVM监测工具 一
前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案。正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并不断进行调整才能找到最佳设置方案。本文将介绍如果通过工具及Java api来监测JVM的运行状态,并详细介绍各工具的使用方法。 需要监测的数据:(内存使用情况 谁使用了内存 GC的转载 2014-07-08 09:01:28 · 865 阅读 · 0 评论 -
JVM 内存组成与分配
java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发转载 2014-07-08 08:58:20 · 593 阅读 · 0 评论 -
JVM 垃圾回收
JVM的GC概述GC即垃圾回收,是指jvm用于释放那些不再使用的对象所占用的内存。在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如,实时应用程序主要是为了避免垃圾收集中断,而大多数OLTP应用程序则注重整体效率。垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。两种常用的方法是引转载 2014-07-08 09:16:58 · 573 阅读 · 0 评论