java教程技术文章
-
Record是Java14引入、16正式发布的不可变数据载体语法糖,自动生成构造器、final字段、getter、equals、hashCode和toString,专为DTO场景设计,替代手写或Lombok方案。172 收藏 -
Java中Stack类不推荐使用,因其是JDK1.0遗留类,违背面向对象原则,继承Vector导致语义混乱、同步开销大;官方推荐用Deque接口及ArrayDeque实现替代,性能更优、语义更清晰。105 收藏 -
tryAcquire无法实现租约机制,因其仅为无状态布尔判断函数,不支持超时控制、时间感知、自动续期及过期释放等租约核心语义。413 收藏 -
接口回调是方法执行结果的反向通知,如EventSource通过OnEventListener将事件通知给监听者;观察者模式则基于一对多依赖实现状态同步,支持多个观察者自动接收主题变更通知,两者均通过接口实现解耦,但观察者更适合多方响应场景。318 收藏 -
先实现图书推荐系统基本功能,基于用户借阅记录推荐同类别书籍。设计Book、User、Library和RecommendationEngine类,用内存存储数据,通过Scanner实现控制台交互,完成用户登录、图书管理、借阅和推荐功能,代码可运行、结构清晰,适合Java新手练习面向对象编程与集合操作。380 收藏 -
中介者模式通过引入中介者对象统一协调同事间交互,将网状依赖转为星型结构:同事只持中介者引用并委托事件,中介者持有所有同事引用并封装联动逻辑,避免直接引用和硬编码条件,提升可维护性与可测试性。436 收藏 -
31被选为哈希乘数因其是奇素数,可均匀散列字段贡献,避免低位趋同与重复模式;且31×n可优化为(n<<5)-n,提升JVM计算效率。204 收藏 -
用sdkman管理JDK最省心:Linux/macOS执行curl安装后,用sdklist/install/use/default切换版本;Windows推荐choco安装+IDE或.tool-version文件指定版本,避免JAVA_HOME错误导致编译失败。132 收藏 -
用<<移位打包颜色通道是图像像素处理中最常用、最轻量的方式,因其直接映射CPU指令、无类型转换风险、语义清晰且比乘法更快更可靠。248 收藏 -
DCL单例中必须用volatile,因为它禁止指令重排序(防止初始化与引用赋值乱序)并保证可见性(使新实例对其他线程立即可见),缺一不可,否则可能返回半初始化对象。266 收藏 -
LongAdder比AtomicLong快,是因为分段计数(base+cells数组)减少线程争抢,而非原子性更强;低并发用base,高并发自动扩容cells并借助@Contended防伪共享提升多核性能。321 收藏 -
前置++返回自增后的值,后置++返回自增前的值;赋值、函数调用、数组索引等场景中二者结果不同,如a=i++得旧值,a=++i得新值,arr[i++]用旧下标,arr[++i]用新下标。195 收藏 -
float是Java中占4字节的单精度浮点类型,取值范围约±3.40282347E+38、有效数字6~7位,需加f/F后缀声明,适用于图形渲染、传感器数据等精度要求不高的场景。275 收藏 -
MethodHandle比反射快,因其创建时完成安全检查、调用时无参数包装和异常转换、支持JIT内联与组合优化,且复用句柄可提升性能。129 收藏 -
Java应用日志目录由日志框架(如Logback、Log4j2)配置决定,非JDK控制;需在配置文件中设置路径变量(如LOG_PATH),注意权限、相对路径基准(进程工作目录)、跨平台兼容性及目录自动创建能力。111 收藏