Java虚拟机(JVM)
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
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转载 2017-08-15 12:28:12 · 450 阅读 · 0 评论 -
JVM必知必会(六)【jvm常用工具-visualvm】
VisualVM简介VisualVM 提供在运行的 Java 应用程序的详细信息。在 VisualVM 的图形用户界面中可以方便、快捷地查看多个 Java 应用程序的相关信息。因为JDK自带该工具,且属于免费软件,我们对java应用程序进行简单的监控分析时直接用该工具,当然如果有更复杂、更专业的监控分析需求,则最好选择商用软件。使用JDK1.6u7以后版本已携带该工具,如果你安装的JDK并未携带该工转载 2017-11-30 14:18:19 · 528 阅读 · 0 评论 -
JVM必知必会(五)【类加载器】
类加载器public class ClassLoaderTest { public static void main(String[] args) { /** * 我们无法获得引导类加载器,因为它是使用c实现的,而且使用引导类加载器加载的类通过getClassLoader 方法返回的是null. 所以无法直接操作引导类加载器,但是我们可以根据Class.ge转载 2017-11-30 13:48:51 · 435 阅读 · 0 评论 -
JVM必知必会(四)【收集器选择,G1】
垃圾收集器选择JVM给了三种选择:串行收集器、并行收集器、并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器。默认情况下,JDK5.0以前都是使用串行收集器,如果想使用其他收集器需要在启动时加入相应参数。JDK5.0以后,JVM会根据当前系统配置进行判断。吞吐量优先的并行收集器如上文所述,并行收集器主要以到达一定的吞吐量为目标,适用于科学技术和后台处理等。转载 2017-11-30 13:38:33 · 2374 阅读 · 0 评论 -
JVM必知必会(三)【内存回收简介,内存分析命令】
内存回收简介Sun的JVM GC(垃圾回收)原理:把对象分为:年轻代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命周期分析) Young(年轻代) 年轻代分三个区。一个Eden区,两个Survivor区。大部分对象在Eden区中生成。当Eden区满时,还存活的对象将被复制到Survivor区(两个中的一个),当这个Survivor转载 2017-11-30 13:26:38 · 1001 阅读 · 0 评论 -
JVM必知必会(二)【内存模型】
内存模型这张图是我见过的最能描述JVM内存模型的图,JVM包括两个子系统和两个组件。两个子系统为:class loader(类装载)、Execution engine(执行引擎);两个组件为:Runtime data area(运行时数据区)、Native interface(本地接口)Class loader功能:根据给定的全限定名类名(如:java.lang.Object)来装载class文件到转载 2017-11-29 22:27:17 · 713 阅读 · 0 评论 -
JVM必知必会(一)【JVM简介】
Java虚拟机定义Java虚拟机有多层含义 一套规范:Java虚拟机规范。定义概念上Java虚拟机的行为表现 一种实现:例如HotSpot,J9,JRockit。需要实现JVM规范,但具体实现方式不需要与“概念中”的JVM一样。 一个运行中的实例,某个JVM实现的某次运行的实例. 只要输入为符合规范的Class文件即可执行。并非一定要执行Java程序,可以支持其它语言,像Scala、Clojure、转载 2017-11-29 22:04:22 · 767 阅读 · 0 评论 -
Java JVM运行机制及基本原理
JVM的基础概念JVM的中文名称叫Java虚拟机,它是由软件技术模拟出计算机运行的一个虚拟的计算机。JVM也充当着一个翻译官的角色,我们编写出的Java程序,是不能够被操作系统所直接识别的,这时候JVM的作用就体现出来了,它负责把我们的程序翻译给系统“听”,告诉它我们的程序需要做什么操作。我们都知道Java的程序需要经过编译后,产生.Class文件,JVM才能识别并运行它,JVM针对每个操作系统开发转载 2017-09-07 17:22:39 · 635 阅读 · 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转载 2017-08-19 22:47:25 · 390 阅读 · 0 评论 -
JVM系列三:JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同转载 2017-08-19 21:54:16 · 459 阅读 · 0 评论 -
JVM 垃圾收集技术研究
根搜索算法 对象存活判断 1)引用计数法 每个对象有一个引用的计数属性,新增一个引用时计数加1,引用释放的时候计数减一, 计数为0的时候可以回收,此方法简单,但是无法解决对象的相互循环引用的问题。 2)根搜索算法 也叫可达性分析算法。 从GC Roots开始向下搜索,搜...转载 2019-04-06 18:14:04 · 153 阅读 · 0 评论