jvm
文章平均质量分 85
挑战不可能,努力
这个作者很懒,什么都没留下…
展开
-
java虚拟机基本结构
为什么把JAVA编译器称为JAVA虚拟机? java之所以可以跨平台,可以一次编译处处可以运行,就因为java虚拟机的存在因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以...翻译 2018-09-28 23:24:16 · 263 阅读 · 0 评论 -
虚拟机的垃圾回收算法
GC常用算法引用计数法 Reference Counting给对象添加一个引用计数器,每过一个引用计数器值就+1,少一个引用就-1。当它的引用变为0时,该对象就不能再被使用。它的实现简单,但是不能解决互相循环引用的问题。根搜索算法 GC Roots Tracing以一系列叫“GC Roots”的对象为起点开始向下搜索,走过的路径称为引用链(Reference Chain),当一个对...转载 2018-09-29 22:58:13 · 498 阅读 · 0 评论 -
6种虚拟机垃圾收集器,CMS和G1重点
本文转载自http://www.cnblogs.com/chengxuyuanzhilu/p/7088316.html1.CMS收集器并发标记清除收集器CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。目前很大一部分的Java应用集中在互联网站或者B/S系统的服务端上,这类应用尤其重视服务器的响应速度,希望系统停顿时间最短,以给用户带来...原创 2018-09-29 23:15:57 · 496 阅读 · 1 评论 -
类加载器、类加载过程(自定义类加载器),双亲委派模型(优势)
编译:即javac的过程,即把.java文件编译成.class文件,即编译成字节码文件,同时做一些类型以及格式的检查。 类只有在要运行的时候才会被加载进JVM,即编译后只有需要到这个类的时候才会把他加载进JVM运行,这种动态加载是依靠反射来实现的,一般来说一个class只会被加载一次,下一次就会从jvm的class缓存中获取,不会再去文件系统中去获取class文件了。 ...转载 2018-09-29 23:43:58 · 194 阅读 · 0 评论 -
JVM解读-调优常用参数
JVM参数1 典型配置/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuring...转载 2018-10-07 21:23:30 · 102 阅读 · 0 评论