JVM从入门到基础
OovEver
这个作者很懒,什么都没留下…
展开
-
JVM从入门到基础(一) 一JVM介绍
JVM从入门到基础 一JVM介绍一 概念 JVM是JAVA Vittual Machhine的简称,意为Java虚拟机。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。常见的虚拟机有VMWare,Visual Box,JVM。原创 2017-11-20 20:40:56 · 725 阅读 · 1 评论 -
JVM从入门到基础(二) 一JVM运行机制
JVM从入门到基础(二) 一JVM运行机制一 JVM启动流程 使用JAVA命令+启动类,启动类中包含Main方法。 在使用java命令启动类后,首先会进行装载配置。 在装载配置过程中,会根据当前路径和系统版本,寻找JVM.cfg文件。 根据配置寻找JVM.dll文件,JVM.dll为JAVA虚拟机的主要实现 使用获得的dll初始化虚拟机,获得JNIEnv接口(提供大量和JV原创 2017-11-20 23:18:35 · 321 阅读 · 0 评论 -
JAVA从入门到基础(三) 一 常用JVM配置参数
JAVA从入门到基础(三) 一 常用JVM配置参数一 Treace跟踪参数-verbose:gc-XX:printGC可以打印GC的简要信息 –[GC4790K->374K(15872K), 0.0001606 secs] (堆大小15872K,堆在GC之前,使用4790K,GC后为374K,花费时间0.0001606 secs) –[GC4790K->374K(15872K),原创 2017-11-21 17:14:51 · 352 阅读 · 0 评论 -
JAVA从入门到基础(四) 一 GC算法与种类
JAVA从入门到基础(四) 一 GC算法与种类一 GC的概念Garbage Collection 垃圾收集,作为垃圾回收器,在JAVA中自动进行垃圾回收。1960年 List 使用了GC。JAVA借鉴了List的GC经验。Java中,GC的对象是堆空间和永久区。 二 引用计数法作为一款老牌垃圾回收算法,通过引用计算来回收垃圾,引用计数器的实现很简单,对于一个对象A,只要有任何一个对象引用原创 2017-11-21 21:21:09 · 500 阅读 · 0 评论 -
JAVA从入门到基础(六) 一 GC参数整理
JAVA从入门到基础(六) 一 GC参数整理-XX:+UseSerialGC:在新生代和老年代使用串行收集器-XX:SurvivorRatio:设置eden区大小和survivior区大小的比例-XX:NewRatio:新生代和老年代的比-XX:+UseParNewGC:在新生代使用并行收集器-XX:+UseParallelGC :新生代使用并行回收收集器-XX:+UseParallel原创 2017-11-21 22:31:25 · 192 阅读 · 0 评论 -
JAVA从入门到基础(五) 一 GC参数
JAVA从入门到基础(五) 一 GC参数一 串行回收器作为JVM自带的垃圾回收器的一种,是一种最古老,最稳定的垃圾回收器。效率最高因为串行回收器在使用时,只使用一个线程进行回收,在多核计算机的情况下,无法充分发挥计算机性能,造成计算机资源浪费,所以可能会产生较长的停顿。-XX:+UseSerialGC 启用串行回收器,在使用串行回收器后,新生代、老年代使用串行回收,其中在新生代复制算法在老年原创 2017-11-21 22:29:34 · 234 阅读 · 0 评论 -
JAVA从入门到基础(七) 一 类加载器
JAVA从入门到基础(六) 一 GC参数、一 Class装载验证流程加载:装载类的第一个阶段会取得类的二进制流,之后转为方法区数据结构并在Java堆中生成对应的java.lang.Class对象。链接验证目的:保证Class流的格式是正确的文件格式的验证是否以0xCAFEBABE开头版本号是否合理元数据验证 是否有父类?是否继承了final类?非抽象类实现了所有的抽象方法!字节码验原创 2017-11-21 23:49:24 · 284 阅读 · 0 评论 -
JAVA从入门到基础(八) 一性能监控工具
JAVA从入门到基础(八) 一性能监控工具一系统性能监控–linuxuptime,此命令会显示以下内容 系统时间系统运行时间,表示从开机到现在为止的运行时间,如图表示开机1分钟。连接数,每一个终端算一个连接,如图表示一个User。分别为1,5,15分钟内的系统平均负载,运行队列中的平均进程数,如图表示1,5,15平均进程数分别为3.5,1.06,0.37。 top 命令第一行与uptim原创 2017-11-22 15:51:26 · 273 阅读 · 0 评论 -
JAVA从入门到基础(九) 一JAVA堆分析
JAVA从入门到基础(九) 一JAVA堆分析一 JVM中的内存区间堆永久区线程栈直接内存二 内存溢出原因堆溢出:占用大量堆空间,直接溢出,解决方法:增大堆空间,及时释放内存 public static void main(String args[]){ ArrayList<byte[]> list=new ArrayList<byte[]>(); for(int i=0原创 2017-11-23 00:07:21 · 257 阅读 · 0 评论