- 博客(44)
- 收藏
- 关注
原创 Spring boot 自动装配
AutoConfigurationImportSelector 实现接口 DeferredImportSelector ,而DeferredImportSelector 实现 接口 ImportSelector。
2023-06-06 20:57:27
180
原创 如何判断对象已死,常量和类无用
如何判断对象已死引用计数法每个对象都有一个引用计数器,当有一个地方引用该对象,计数器加一,引用被回收或失效,计数器减一,当引用为零时,对象以死。实现简单,适用于简单的引用场景,但用的不多,因为无法解决 引用之间循环依赖问题。可达性分析(GC Root)以一系列”GC Root“的对象作为起点,节点向下搜索,走过的路径被称为引用链,当一个对象GC Roots没有任何引用链(及 当对象甲不可达GC root对象时)对象甲需要被回收(不一定被回收 ,finalize是甲逃离鬼门关的最后机
2022-04-16 09:47:09
336
原创 类加载的全过程
类加载过程对象创建过程的第一步就是检查该对象对应的类是否加载完成,那么 请你说下类加载的详细过程?.java文件需要加载到虚拟机转换成字节码(.class)才能使用和运用。而系统加载类文件过程主要分为:加载-------->连接------->初始化而连接又分为 验证------->准备------->解析1.加载通过全类名获得该类的二进制字节流 (获取方式: jar,war 格式获取)将字节流代表代表的静态存储结构转化为方法区的运行时结构(类元数据是放
2022-04-12 15:31:00
115
原创 Java 对象创建过程
了解过Java 对象创建的过程吗?1. 类加载检测加载对象时,先检查该对象的类模板是否已被加载。(类加载的过程: 加载->连接(验证,准备,解析)->初始化)2.分配内存在Java堆中分配一块固定大小的内存给该对象,其中分配方式有指针碰撞和空闲列表。采用哪种分配方式与垃圾收集器回收算法决定( “标记-清除” or “标记-整理”)。指针碰撞:特点:堆内存整齐,无小碎片空间。 在堆内存管理中,已被利用的内存和未被利用的内存被一个分界指针分开,当给对象分配内存时,指针就向未被利用的
2022-04-08 10:09:29
564
原创 String 不可变
真的了解String 不可变?String 的确不可变面试:String 为什么是不可变的?回答: 因为String类中使用了final 关键字修饰所以不可变 。面试: 嗯嗯,你可以回去了,欢迎下次再来。 public static void main(String[] args) { final char[] charsList={'c','h','a','r'}; String a=new String(charsList);
2022-03-18 09:49:22
173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人