-
自适应自旋通过JVM动态统计锁的近期自旋成功率、持有线程状态、系统负载等实时调整自旋次数,JDK6起默认启用;它在锁长期占用、高并发争用或单核CPU等场景会降级为阻塞。408 收藏 -
字段访问取决于引用类型而非实际对象类型,子类同名字段会隐藏父类字段。1.当父类和子类有同名字段时,通过父类引用访问的是父类字段,即使指向子类实例;2.子类中可用super关键字访问被隐藏的父类字段;3.静态字段同样遵循隐藏规则,依据声明类型决定访问哪个静态字段;4.与方法重写不同,字段无多态性,不进行动态绑定。建议避免继承中使用同名字段以提升代码清晰度。408 收藏 -
Thread.join()用于使当前线程等待调用线程执行完毕,支持无参阻塞等待或带超时参数的等待,适用于控制线程执行顺序,但需注意在start后调用、处理中断异常,并避免在线程池中滥用。408 收藏 -
Java中对象组合是强拥有关系,体现“整体-部分”生命周期绑定:部分由整体创建、管理并随整体销毁,通过私有成员+构造创建+不暴露引用来实现。408 收藏 -
CompletableFuture比Future更实用,因其支持回调、链式组合与异步响应式处理,而Future仅能阻塞或轮询;它实现Future与CompletionStage,兼容旧接口并提供thenApply/thenCompose等丰富API,但需注意线程池配置、异常传播、空值及超时处理。408 收藏 -
静态代码块在类加载时执行且仅一次,父类先于子类执行;主动引用触发初始化,被动引用不触发;异常导致类加载失败且不可重试;需避免I/O、循环依赖及跨ClassLoader问题。408 收藏 -
最稳方案是手动配置HttpURLConnection:启用重定向、设置超时、解压gzip、检查响应码、正确编码URL、批量读取字节流、按响应头解析字符集、适配TLS协议,避免跳过证书校验。408 收藏 -
生产环境JVM堆内存参数应设为-Xms与-Xmx相等以避免动态调整引发FullGC;容器化需启用-XX:+UseContainerSupport并用-XX:MaxRAMPercentage替代硬编码-Xmx;元空间须显式设置-XX:MetaspaceSize和-XX:MaxMetaspaceSize。408 收藏 -
Java中对象销毁由GC自动管理,无法手动触发;应显式关闭资源、避免强引用泄漏,弃用finalize(),改用Cleaner或PhantomReference;System.gc()仅是建议且影响性能。408 收藏 -
LongAdder比AtomicInteger快在通过分段累加(cells数组)减少CAS冲突,写多读少场景吞吐更高;但sum()弱一致性、无compareAndSet、不适用于强一致或读多写少场景。408 收藏 -
正确处理InterruptedException需保持中断信号传播,常见做法包括恢复中断状态、向上抛出异常或清理后重新设置中断,避免中断被忽略导致响应延迟。408 收藏 -
正则表达式是嵌入多门课程的跨模块支撑性工具:一、程序设计基础中用于字符串高级处理;二、Web开发中实现前后端输入验证;三、数据清洗中完成文本预处理;四、编译原理中对应正则文法与自动机理论;五、信息安全中支撑日志威胁识别。408 收藏 -
变量遮蔽指子类或方法内同名变量覆盖父类/成员变量,需用this访问当前对象成员、super访问父类成员;构造器中this()和super()须首行且互斥;遮蔽是静态绑定,不同于方法重写的动态绑定。408 收藏 -
?extendsT只读不可写,因编译器无法确定具体子类型,添加非null元素会破坏类型安全;仅允许get()等读操作,可传null;适用于只读方法参数,提升API兼容性与安全性。408 收藏 -
requires声明的是模块间的编译期依赖关系,而非引入变量;它确保JVM和构建系统明确知晓依赖来源、访问权限及导出包,是实现类型安全与封装控制的基础机制。408 收藏