jvm
文章平均质量分 67
xdugucc
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java中的方法调用-解析与分派
在本文开始之前,先搞清楚一个概念。对于People p = new Man();这句代码,我们把People叫做静态类型,Man叫做动态类型。静态类型在编译期可知,实际类型在运行期才可以确定下来。解析所有方法调用中的目标方法在Class文件里面都是一个常量池中的符号引用,在类加载的解析阶段,会将其中一部分符号引用转化为直接引用,这种解析能成立的前提是:方法在程序真正运行之前就有一个可确定的原创 2017-10-17 14:52:44 · 1704 阅读 · 0 评论 -
java方法调用中的单分派与多分派
方法的接受者与方法的参数统称为方法的宗量。根据分派基于多少宗量,可以将分派分为单分派与多份派。《深入理解java虚拟机》一书中写到,java是静态多分派动态单分派的语言,我一直没有理解,我觉得静态分派是根据方法参数的类型和顺序来决定调用哪一个重载方法。而动态分派就是在运行期根据方法调用者的实际类型来决定调用哪一个重写的方法。这不都是单分派么?我不知道有没有读者有或者曾经有过与我相似的困惑,原创 2017-10-17 22:55:59 · 630 阅读 · 0 评论 -
一个关于字符串常量池的问题
看一个例子public class Test4 { public static void main(String[] args) { String s1 = "b"; String s2 = "a"; String s3 = s1 + "d"; String s4 = "e" + "f"; String s5 = s1 + s2; } }问题是,现在字符串常量池原创 2017-10-11 16:36:10 · 816 阅读 · 0 评论 -
CMS垃圾收集器
CMS收集器特点:1.以获取最短回收停顿时间为目标2.CMS全称是 Concurrent Mark Sweep。从名字就可以看出来两个特点,一是并发,这里并发并不是指多条GC进程一起工作,而是指GC进程可以与用户进程一起工作。二是,该垃圾收集器使用标记清除算法的方式回收垃圾。收集过程:1.初始标记:这个过程需要Stop the world,初始化标记仅仅只是标记原创 2017-10-23 21:30:12 · 582 阅读 · 0 评论 -
G1垃圾收集器
G1:Garbage First特点:1.并行与并发:G1能充分利用多CPU,多核环境下的硬件优势来缩短Stop the world停顿的时间。并行:Parallel,多个GC进程一起执行。并发:Concurrent,GC进程与用户进程一起执行。2.分代收集:G1不需要其他垃圾收集器就能独立管理整个GC堆,但它能采用不同的方式来回收新对象与旧对象来获得更好的收集效果。3.空原创 2017-10-23 22:17:54 · 528 阅读 · 0 评论
分享