摘要: /** * 单例模式 * 方式7 */ public enum SingletonEnum { INSTANCE; } 这个写法虽然看起来最简单(只有一行代码),但它背后的原理其实非常深刻。它是《Effective Java》作者 Josh Bloch 官方推荐的单例模式最佳实现方式。 1. INS 阅读全文
posted @ 2026-01-28 22:21 Nickey103 阅读(7) 评论(0) 推荐(0)
摘要: /** * 单例模式 * 懒汉式 方式6 静态内部类 * 优点:利用JVM类加载机制保证延迟加载和线程安全。 */ public class SingletonInnerClass { // 1、私有构造方法 private SingletonInnerClass() {} private stat 阅读全文
posted @ 2026-01-28 22:02 Nickey103 阅读(8) 评论(0) 推荐(0)
摘要: /** * 单例模式 * 饿汉式 方式2 静态代码块 * 缺点:实例instance随类的加载而被创建,一直不用会造成内存浪费。 */ public class SingletonEager { // 1、私有化构造方法 private SingletonEager(){} // 2、声明一个对象 阅读全文
posted @ 2026-01-28 21:32 Nickey103 阅读(5) 评论(0) 推荐(0)
摘要: /** * 懒汉式 方式6 双重检查锁 */ public class SingletonLazy { // 1、私有构造方法 private SingletonLazy(){} // 2、在成员变量位置声明一个静态对象 private static volatile SingletonLazy i 阅读全文
posted @ 2026-01-28 21:26 Nickey103 阅读(9) 评论(0) 推荐(0)
摘要: 简介 通过github仓库系统维护算法学习历程、成果,方便积累算法模版、快速复习。 借助IDEA中 leetcode-editor 插件,自动拉取题目信息、生成模版代码,便于本地调试代码,专注于解题思路。 简要指南 1、创建本地Java空项目algorithm-learning,创建github同名 阅读全文
posted @ 2026-01-24 23:02 Nickey103 阅读(14) 评论(0) 推荐(0)
摘要: float占4字节,long占8字节,第一反应是long的取值范围更大。 不然,因为二者存储数的方式不同,float采用科学计数法存储,long直接用二进制形式存储数。 long占8字节,64位中最高一位是符号位,表示的最大数是2^63 - 1。 float占4字节,32位分为3个字段: 符号位 ( 阅读全文
posted @ 2026-01-23 20:26 Nickey103 阅读(7) 评论(0) 推荐(0)
摘要: 什么是懒删除? 在Dijkstra算法中,同一个节点可能被多次加入优先队列,但只有最短的那次才是有效的。懒删除就是"推迟删除",直到真正从队列中取出时再判断是否有效。 举个例子理解 假设有这样一个图: A --2--> B A --5--> C B --1--> C 执行过程: 初始: dist[A 阅读全文
posted @ 2025-12-09 19:41 Nickey103 阅读(12) 评论(0) 推荐(0)
摘要: 内容由AI生成 Java 基础避坑与原理:Scanner、泛型与 ArrayList(含源码验证) 1. Scanner 的“回车符”陷阱 现象: 在使用 Scanner 时,如果先调用 nextInt(),紧接着调用 nextLine(),第二个字符串输入会直接跳过(读到空字符串)。 int nu 阅读全文
posted @ 2025-12-06 10:15 Nickey103 阅读(9) 评论(0) 推荐(0)
摘要: 内容由AI生成 一、 泛型(Generics)与类型擦除 现象: 为什么写 ArrayList<int> 编译器会报错,必须写 ArrayList<Integer>? 1. 核心考点:类型擦除 (Type Erasure) 面试回答: Java 的泛型是伪泛型,是在编译器层面实现的。在编译后的字节码 阅读全文
posted @ 2025-12-06 09:51 Nickey103 阅读(16) 评论(0) 推荐(0)
摘要: 为什么 nextInt() + nextLine() 会出问题,以及底层的原理。 1. 核心原因:回车符(\n)的残留 计算机处理键盘输入时,有一个输入缓冲区(Buffer)。 当输入数字 10 并按下回车键时,输入缓冲区里的内容实际上是: 10\n (10 是你输入的数字,\n 是回车键产生的换行 阅读全文
posted @ 2025-12-06 09:24 Nickey103 阅读(17) 评论(0) 推荐(0)