
jvm
文章平均质量分 95
励志成为大牛的小牛
这个作者很懒,什么都没留下…
展开
-
垃圾收集器ParNew&CMS与底层三色标记算法
当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。比如在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择复制算法,只需要付出少量对象的复制成本就可以完成每次垃圾收集。而老年代的对象存活几率是比较高的,而且没有额外的空间对它进行分配担保,所以我们必须选择“标记-清除”或“标记-整理”算法进行垃圾收集。原创 2023-10-16 10:09:31 · 205 阅读 · 0 评论 -
对象创建与内存分配机制
虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。new指令对应到语言层面上讲是,new关键词、对象克隆、对象序列化等。在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类 加载完成后便可完全确定,为对象分配空间的任务等同于把 一块确定大小的内存从Java堆中划分出来。这个步骤有两个问题:1.如何划分内存。原创 2023-10-03 09:57:15 · 886 阅读 · 0 评论 -
类加载机制
自定义类加载器只需要继承 java.lang.ClassLoader 类,该类有两个核心方法,一个是 loadClass(String, boolean),实现了双亲委派机制,还有一个方法是findClass,默认实现是空 方法,所以我们自定义类加载器主要是重写findClass方法。try {//defineClass将一个字节数组转为Class对象,这个字节数组是class文件读取后最终的字节数组。原创 2023-10-03 09:56:06 · 197 阅读 · 0 评论 -
Java GC垃圾回收机制
Java 垃圾回收机制及其垃圾回收器详解原创 2023-07-11 15:18:48 · 217 阅读 · 0 评论 -
Java 类加载机制
类加载机制详解原创 2023-07-09 15:57:44 · 101 阅读 · 0 评论