
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Runnable r1 = () -> System.out.println("无参");Objects.requireNonNull(data, "数据不能为空");// 不影响原始引用。System.out.println("整数: " + num);System.out.println("小数: " + num);System.out.println("类加载时执行");System.out

if (arr.length == 0) throw new IllegalArgumentException("数组为空");// 默认: [null, null]System.out.println("索引 " + i + ": " + nums[i]);// 默认: [0, 0, 0]

抽象方法不能是 private、static、final 或 synchronized(因为抽象方法需要被子类覆盖,而 private 不可见,static 属于类,final 禁止重写,synchronized 是方法实现层面的修饰,没有方法体则无意义)。final 类中不能有 abstract 方法 ❌ final 类不可被继承,而抽象方法必须靠子类实现,矛盾。abstract static

重构后的系统可以轻松应对需求变化(如从内存存储改为数据库存储),同时极大提升了代码的可测试性和可维护性。// 原来的实现:直接使用 ArrayList,业务代码与具体存储耦合。// 构造方法、getter/setter 省略。// 重构后:实现 StudentService 接口。// 通过构造方法注入具体的实现(依赖注入)// 静态方法:创建默认的内存实现。// 默认方法:检查学生是否成年。
原理:内部维护一个 byte/char 数组,一次性从硬盘读取多个字节到内存缓冲区,后续 read() 从缓冲区取;· Java 11+ 简化:Files.newBufferedReader(Path.of("a.txt"), StandardCharsets.UTF_8)读取小文件 单字节循环 while((b=in.read())!PrintWriter / PrintStream 格式化输出
直接内存(DirectByteBuffer)不受JVM堆GC的直接管理,但它的回收依赖于java.nio.DirectByteBuffer中关联的Cleaner对象(sun.misc.Cleaner),在GC时通过虚引用(PhantomReference)触发Deallocator来释放本地内存。· 边缘触发(ET) vs 水平触发(LT):Java NIO的Selector采用水平触发,即只要缓
优化valueOf(String s)逻辑,支持解析"yes"/"no" 、 "true"/"false" 、 "1"/"0"三种格式字符串,适配更多业务场景(例: Boolean.valueOf("yes") → true , Boolean.valueOf("0") → false )。优化引用比较优先级,先判断对象引用是否相同( == ),再执行equals逻辑,平均减少 15% 的比较耗时
replaceEach(CharSequence s, String[] searchList, String[] replacementList) :批量替换字符,支持多对一替换(例: StringUtils.replaceEach("a,b,c", new String[]{",", "a"}, new String("|", "A")) → "A|b|c" )。
新增tryAdd(E e, long timeout, TimeUnit unit)方法,支持带超时的尝试添加操作,多线程竞争时可避免无限阻塞(例: vector.tryAdd("元素", 1, TimeUnit.SECONDS)尝试添加,1 秒超时则返回false )。优化 首尾元素操作: addFirst(E e) 、 addLast(E e) 、 removeFirst() 、 remove
super E> filter, boolean keepFirst)方法,支持按条件删除并保留前 N 个符合条件元素(例: set.removeIf(s -> s.contains("test"), true)保留第 1 个含“test”的元素,删除后续匹配元素)。extends E> c)方法,批量添加集合中不存在的元素,适配“增量去重合并”场景(例: set1.addAllIfAbsent(







