摘要: 在Java中,​​==​​​ 和 ​​equals​​ 方法用于比较对象,但它们之间存在本质的区别: ​​==​​ 操作符 基本数据类型: ​​==​​ 比较的是值是否相等。 int a = 10; int b = 10; System.out.println(a == b); // 输出 true 阅读全文
posted @ 2024-11-09 13:30 CodeWhisperer001 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 乐观锁:认为每次去拿数据的时候别人不会修改,所以不会上锁,但是每次要拿数据的时候都会先判断数据是否被别人修改 悲观锁:认为每次去拿数据的时候别人都会修改,所以每次都会上锁。 使用场景:乐观锁使用于多读少写的应用类型,这样可以提高吞吐量;相反的情况则使用悲观锁 乐观锁和悲观锁是并发控制中两种常见的锁机 阅读全文
posted @ 2024-11-09 13:10 CodeWhisperer001 阅读(11) 评论(0) 推荐(0) 编辑
摘要: ​ 堆内存设置 -Xms:设置JVM堆的初始大小。 例如:​​-Xms2g​​ 表示初始堆大小为2GB。 -Xmx:设置JVM堆的最大大小。 例如:​​-Xmx2g​​ 表示最大堆大小为2GB。 -XX:NewRatio:设置年轻代和老年代的比例。 例如:​​-XX:NewRatio=4​​ 表示年 阅读全文
posted @ 2024-11-09 11:45 CodeWhisperer001 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 强引用(Strong Reference): Java中默认声明的就是强引用,例如:​​Object obj = new Object();​​ 只要强引用存在,垃圾回收器将永远不会回收被引用的对象 ,哪怕内存不足时,JVM也会直接抛出OutOfMemoryError,不会去回收。如果想中断强引用与 阅读全文
posted @ 2024-11-09 11:17 CodeWhisperer001 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 类加载的执行过程是Java虚拟机(JVM)将类文件从磁盘加载到内存,并进行验证、准备、解析和初始化等一系列操作的过程。这个过程可以分为以下几个阶段: 1. 加载 根据查找路径找到相应的 class 文件然后导入; 2. 验证 检查加载的 class 文件的正确性; 3. 准备 给类中的静态变量分配内 阅读全文
posted @ 2024-11-09 11:08 CodeWhisperer001 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 双亲委派模式是在Java 1.2后引入的, 如果一个类收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器执行,如果父加载器还存在其父加载器,则进一步向上委托,依次递归,请求将最终到达顶层的启动类加载器,如果父类加载器可以完成父加载任务,就成功返回,如果父加载器无法完成加载任务, 阅读全文
posted @ 2024-11-09 10:55 CodeWhisperer001 阅读(2) 评论(0) 推荐(0) 编辑