JVM GC 总结。 周志明大大的《深入理解Java虚拟机》出第三版了,早早的买了这本书,却一直没有花时间看。近来抽空温习了一下,感觉又有了新的收获。这里简单总结下。 GC的由来 由于堆的动态性,操作系统将堆交由给了开发者自己管理,手动申请,手动释放。对于C++,则是将这个权限继续交给了开发者,而对 ...
分类:
其他好文 时间:
2020-06-22 18:50:05
阅读次数:
62
支持启动时选择 JVM 进程列表;
支持观测详细的收集器GC暂停时间;
图表支持鼠标移动详细信息显示(时间和值);
支持 Hotspot JDK 8+版本下运行, 可检测 Hotspot JDK 1.5 ~ 14, 在 CMS, G1等收集器下检测通过; ...
分类:
其他好文 时间:
2020-06-22 17:23:51
阅读次数:
62
-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Xmx2048m -Xms2048m -Xmn512m-XX:PermSize=512M -XX:MaxPermSize=256M -Djetty.http.port=9080 -Dosgi.conso ...
分类:
其他好文 时间:
2020-06-22 15:17:54
阅读次数:
54
Scala IDEA安装入门 Scala Scala(发音为/?skɑ?l?, ?ske?l?/)是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。 S ...
分类:
其他好文 时间:
2020-06-22 14:58:56
阅读次数:
53
G1之前收集器的特点 年轻代和老年代是各自独立且连续的内存块 年轻代收集器使用 eden + S0 + S1 进行复制算法 老年代收集必须扫描整个老年代区域 都是以尽可能的少而快速地执行 GC 为设计原则 G1 是什么 G1 是一种面向服务端的垃圾收集器,应用在多核处理器和大容量内存环境中,在实现高 ...
分类:
其他好文 时间:
2020-06-22 13:16:35
阅读次数:
60
java的自动装箱与拆箱 从jdk5开始引入,简化了基本数据类型与对象类型之间的转换 自动装箱与自动拆箱是编译器的工作,jvm并没有相关语句 Integer num=1;//自动装箱 int i=num;//自动拆箱 java的多异常并列 从jdk7开始引入,简化了语法 在用并列写法时,异常之间不能 ...
分类:
编程语言 时间:
2020-06-21 20:29:38
阅读次数:
61
今天继续学习了Java中类的知识。 JVM中堆内存是存放对象内存的地方。 Student s=new Student();//假设Student是一个类,这就创建了一个Student对象,s中保存了指向该Student对象的地址。 可以通过s.实例变量= 来修改该对象内部实例变量的值,也可以直接读出 ...
分类:
编程语言 时间:
2020-06-21 20:18:13
阅读次数:
54
上一篇我们讲了垃圾标记的一些实现细节和经典算法,而本文将系统的讲解一下垃圾回收的经典算法,和Hotspot虚拟机执行垃圾回收的一些实现细节,比如安全点和安全区域等。 因为各个平台的虚拟机操作内存的方法各不相同,且牵扯大量的程序实现细节,所以本文不会过多的讨论算法的具体实现,只会介绍几种算法思想及发展 ...
分类:
编程语言 时间:
2020-06-21 18:04:15
阅读次数:
59
如果垃圾回收的算法属于内存回收的方法论的话,那本文讨论的垃圾回收器就属于内存回收的具体实现。 因为不同的厂商(IBM、Oracle),实现的垃圾回收器各不相同,而本文要讨论的是 Oracle 的 HotSpot 虚拟机所使用的垃圾回收器。 常用垃圾回收器,如下图所示: 新生代回收器:Serial、P ...
分类:
编程语言 时间:
2020-06-21 18:01:45
阅读次数:
62
jvm系列(一):java类的加载机制 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 Class对象, Cl ...
分类:
编程语言 时间:
2020-06-21 15:49:27
阅读次数:
48