java教程技术文章
-
Java代码块分五类:静态代码块在类加载时执行一次,实例代码块每次创建对象前执行且优先于构造方法,局部代码块限定变量作用域,同步代码块保障多线程安全,各类代码块执行时机与用途各不相同。128 收藏 -
直接继承ClassLoader并重写findClass是最稳妥的自研类加载器方式;loadClass负责双亲委派流程控制,findClass专注字节码读取与defineClass调用,二者解耦且各司其职。388 收藏 -
Collectors.partitioningBy用于将用户按布尔谓词二分为“有权限”和“无权限”两组,适用于如“是否管理员”等二元分类;多角色场景应使用groupingBy。447 收藏 -
RSet扫描成MixedGC瓶颈,表现为RSet内存占比超1.5%或扫描超20ms;需调大RegionSize匹配缓存块、降低RSet条目、调整G1MixedGCCountTarget和OldCSet阈值,并收拢缓存写入以减少跨Region引用。459 收藏 -
位掩码替代嵌套循环实现高效库存扣减:用BitSet压缩SKU状态,单层遍历匹配规则,分布式锁保障原子性;按共享维度分桶校验库存,预计算路径字典支持前端实时联动。370 收藏 -
本文详解如何在Angular应用中确保调用Spring后端删除接口后,前端员工列表立即、准确地同步更新,避免手动splice导致的状态不一致问题。339 收藏 -
JVM在K8s中需配合JDK版本、-XX:+UseContainerSupport及Initial/MaxRAMPercentage等参数才能真正对齐容器内存限制,否则仍按宿主机内存计算;推荐设InitialRAMPercentage=MaxRAMPercentage=75.0,并禁用-Xmx、UseAdaptiveSizePolicy等干扰项。451 收藏 -
启用-Xlog:safepoint是定位非GC类全局停顿最直接有效的方式,它专门记录JVM为执行需线程同步至安全点的操作(如偏置锁撤销、JIT退优化、类重定义等)而引发的停顿,而非垃圾回收本身。125 收藏 -
惰性Optional不能缩短冷启动或暖机时长,它只是语义工具而非性能优化机制;真正有效的策略是分阶段就绪、上下文裁剪与模块隔离、预热路径精准注入。215 收藏 -
Java中括号默认为捕获组,影响group()索引、性能及替换行为;非捕获组(?:...)不占编号、不存结果、无性能开销;命名捕获组(?<name>...)在Java8+支持,仍占用编号且不可重名。152 收藏 -
应直接分析堆内存增长源头,通过jmap或ARMS/JProfiler生成堆dump,重点检查异常多的函数类实例、未回收lambda/MethodHandle及大对象被强引用情况,并排查柯里化中闭包捕获外部状态、构造方法引用误缓存等导致长生命周期对象的问题。408 收藏 -
强制转换不能实现归一化,仅辅助精度保留与类型适配;归一化需先识别指标属性(极大型、极小型、类别型、区间型),再选择对应方法(min-max、倒数反转、标签编码、三折线等),并在流式场景中结合分位数截断、对数压缩或Welford算法实现轻量无状态处理。179 收藏 -
Java开发者突破瓶颈必须深入字节码层:泛型擦除后仅存Object、内部类持外引用、注解需RUNTIME保留、Lambda通过invokedynamic动态绑定,字节码是理解语言特性的最终依据。114 收藏 -
NPE堆栈中“because'xxx'isnull”直接指出未初始化的成员变量,需定位业务代码行、检查声明/构造器/注入初始化路径,并验证对象生命周期与调用时机。302 收藏 -
setFetchSize()控制JDBC驱动分批从服务器拉取结果集的行数,非数据库端限制返回量;MySQL需配useCursorFetch=true才生效,PostgreSQL默认支持游标式获取。143 收藏