关闭
当前搜索:

JVM必知必会(六)【jvm常用工具-visualvm】

VisualVM简介VisualVM 提供在运行的 Java 应用程序的详细信息。在 VisualVM 的图形用户界面中可以方便、快捷地查看多个 Java 应用程序的相关信息。因为JDK自带该工具,且属于免费软件,我们对java应用程序进行简单的监控分析时直接用该工具,当然如果有更复杂、更专业的监控分析需求,则最好选择商用软件。使用JDK1.6u7以后版本已携带该工具,如果你安装的JDK并未携带该工...
阅读(37) 评论(0)

JVM必知必会(五)【类加载器】

类加载器public class ClassLoaderTest { public static void main(String[] args) { /** * 我们无法获得引导类加载器,因为它是使用c实现的,而且使用引导类加载器加载的类通过getClassLoader 方法返回的是null. 所以无法直接操作引导类加载器,但是我们可以根据Class.ge...
阅读(43) 评论(0)

JVM必知必会(四)【收集器选择,G1】

垃圾收集器选择JVM给了三种选择:串行收集器、并行收集器、并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器。默认情况下,JDK5.0以前都是使用串行收集器,如果想使用其他收集器需要在启动时加入相应参数。JDK5.0以后,JVM会根据当前系统配置进行判断。吞吐量优先的并行收集器如上文所述,并行收集器主要以到达一定的吞吐量为目标,适用于科学技术和后台处理等。...
阅读(61) 评论(0)

JVM必知必会(三)【内存回收简介,内存分析命令】

内存回收简介Sun的JVM GC(垃圾回收)原理:把对象分为:年轻代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命周期分析) Young(年轻代) 年轻代分三个区。一个Eden区,两个Survivor区。大部分对象在Eden区中生成。当Eden区满时,还存活的对象将被复制到Survivor区(两个中的一个),当这个Survivor...
阅读(76) 评论(0)

JVM必知必会(二)【内存模型】

内存模型这张图是我见过的最能描述JVM内存模型的图,JVM包括两个子系统和两个组件。两个子系统为:class loader(类装载)、Execution engine(执行引擎);两个组件为:Runtime data area(运行时数据区)、Native interface(本地接口)Class loader功能:根据给定的全限定名类名(如:java.lang.Object)来装载class文件到...
阅读(55) 评论(0)

JVM必知必会(一)【JVM简介】

Java虚拟机定义Java虚拟机有多层含义 一套规范:Java虚拟机规范。定义概念上Java虚拟机的行为表现 一种实现:例如HotSpot,J9,JRockit。需要实现JVM规范,但具体实现方式不需要与“概念中”的JVM一样。 一个运行中的实例,某个JVM实现的某次运行的实例. 只要输入为符合规范的Class文件即可执行。并非一定要执行Java程序,可以支持其它语言,像Scala、Clojure、...
阅读(57) 评论(0)

Java JVM运行机制及基本原理

JVM的基础概念JVM的中文名称叫Java虚拟机,它是由软件技术模拟出计算机运行的一个虚拟的计算机。JVM也充当着一个翻译官的角色,我们编写出的Java程序,是不能够被操作系统所直接识别的,这时候JVM的作用就体现出来了,它负责把我们的程序翻译给系统“听”,告诉它我们的程序需要做什么操作。我们都知道Java的程序需要经过编译后,产生.Class文件,JVM才能识别并运行它,JVM针对每个操作系统开发...
阅读(206) 评论(0)

JVM系列四:生产环境参数实例及分析【生产环境实例增加中】

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...
阅读(120) 评论(0)

JVM系列三:JVM参数设置、分析

不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同...
阅读(145) 评论(0)

JVM参数配置大全

前阵子遇到几个面试题都是关于对Java内存控制的,因此从网上找到这篇文章,希望自己对Java的内存分配有重新的认识/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:S...
阅读(140) 评论(0)
    个人资料
    • 访问:1075629次
    • 积分:16031
    • 等级:
    • 排名:第755名
    • 原创:313篇
    • 转载:770篇
    • 译文:120篇
    • 评论:274条
    博客专栏
    文章分类
    打赏
    如果你觉得我的文章对您有用,请随意打赏。 微信 支付宝