摘要:
类文件概述 JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件,即类文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。 字节码并不针对一种特定的机器,因此 Java 阅读全文
posted @ 2024-01-24 23:09
行行行行星
阅读(87)
评论(0)
推荐(0)
摘要:
垃圾回收的脑图 垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后就会消失,因此不需要对这三个区域进行垃圾回收。 判断一个对象是否可被回收 1. 引用计数算法 为对象添加一个引用计数器,当对象增加一个引用时计数器加 1, 阅读全文
posted @ 2024-01-24 23:08
行行行行星
阅读(27)
评论(0)
推荐(0)
摘要:
Java 基本类型的包装类的大部分都实现了常量池技术, 即Byte,Short,Integer,Long,Character,Boolean; 这 5 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据, 但是超出此范围仍然会去创建新的对象。 两种浮点数类型的包装类 Float , 阅读全文
posted @ 2024-01-24 23:08
行行行行星
阅读(39)
评论(0)
推荐(0)
摘要:
HotSpot 虚拟机 GC 分类 针对 HotSpot 虚拟机的实现,GC 可以分为 2 大类: 部分收集(Partial GC) 新生代收集(Minor GC / Young GC):回收新生代,因为新生代对象存活时间很短,因此 Minor GC 会频繁执行,执行的速度一般也会比较快。 老年代收 阅读全文
posted @ 2024-01-24 23:07
行行行行星
阅读(39)
评论(0)
推荐(0)
摘要:
1、String 对象的两种创建方式 String str1 = "abcd"; String str2 = new String("abcd"); System.out.println(str1==str2); //false 这两种不同的创建方法是有差别的: 第一种方式是在常量池中获取对象("a 阅读全文
posted @ 2024-01-24 23:06
行行行行星
阅读(101)
评论(0)
推荐(0)
摘要:
垃圾收集 (Garbage Collection,GC) 垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后就会消失,因此不需要对这三个区域进行垃圾回收。 判断一个对象是否可被回收 堆中几乎放着所有的对象实例,对堆垃圾回 阅读全文
posted @ 2024-01-24 23:04
行行行行星
阅读(29)
评论(0)
推荐(0)
摘要:
String 概览 String 被声明为 final,因此它不可被继承。 内部使用 char 数组存储数据,该数组被声明为 final, 这意味着 value 数组初始化之后就不能再引用其它数组。 并且 String 内部没有改变 value 数组的方法,因此可以保证 String 不可变。 pu 阅读全文
posted @ 2024-01-24 23:03
行行行行星
阅读(29)
评论(0)
推荐(0)
摘要:
HotSpot 虚拟机对象 对象的创建 对象的创建步骤: 类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用, 并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。 如果没有,那必须先执行相应的类加载过程。 分配内存 在类加载检查通过 阅读全文
posted @ 2024-01-24 23:03
行行行行星
阅读(16)
评论(0)
推荐(0)

浙公网安备 33010602011771号