-
在Spigot1.19+中,LivingEntity.setCollidable(false)已失效(SPIGOT-6399),无法阻止生物推挤玩家;唯一可靠方案是通过ScoreboardTeam禁用团队碰撞,并将玩家与生物加入同一无碰撞队伍。在Spigot1.19+中,`LivingEntity.setCollidable(false)`已失效(SPIGOT-6399),无法阻止生物推挤玩家;唯一可靠方案是通过Scoreboard471 收藏 -
默认GC在生产环境大概率不合适,因其未适配真实负载如堆外内存压力、GC停顿敏感度等;RPC网关或实时计费系统中一次2秒FullGC即可引发下游熔断。484 收藏 -
Lambda捕获局部变量本身不直接导致内存泄漏,但会延长变量生命周期;编译器将其转为隐藏类,值类型被复制、引用类型被强引用,若被事件、静态缓存或异步任务长期持有,则引发隐性泄漏。329 收藏 -
基本数据类型传递实际值,包装类传递引用副本,因不可变性和null导致行为差异。258 收藏 -
面向对象设计六大原则是应对变化的思考工具,需权衡“何时松、何处紧”:单一职责依变更驱动拆分,开闭原则聚焦可预判扩展,接口按业务场景聚合,里氏替换重语义一致性,迪米特法则重调用安全性。325 收藏 -
KeyGenerator生成对称密钥需严格遵循安全规范:调用JCE安全随机源、按标准算法(如AES-256、SM4、HmacSHA256)结构化生成,经getInstance→init→generateKey→getEncoded四步获取字节数组,并安全存储与脱敏使用。497 收藏 -
SpringAOP不支持opens关键字,因其属Java模块系统语法,与AOP代理织入无关;其切面变量问题实为Bean识别、自调用拦截或切点匹配等配置与机制问题。282 收藏 -
静态方法属于类不依赖实例,不能访问this、实例变量或方法,不可被重写只能隐藏,无super/this,加载早于对象,线程安全需谨慎。241 收藏 -
基本类型必须通过包装类才能存入Java集合,因集合只支持引用类型;自动装箱/拆箱简化操作,但需注意==比较陷阱、null值检查及字符串转换异常处理。182 收藏 -
beforeExecute是合适的注入点,因为它在任务被工作线程执行前触发,既能获取目标线程又能安全绑定TraceId;需结合任务封装或InheritableThreadLocal传递上下文,并在afterExecute中清理MDC。119 收藏 -
int在所有JVM上读写均原子,因32位指令可单次完成;long在32位JVM中被拆为两次32位操作,非原子,64位JVM虽可用单指令但不保证原子性,需volatile或AtomicLong确保。301 收藏 -
volatile不能替代synchronized,因其仅保证可见性与有序性(通过MESI缓存行失效),但不保证i++等复合操作的原子性;而synchronized通过monitorenter/monitorexit指令强制加锁并刷新整个工作内存,确保原子性。246 收藏 -
关键变量必须声明为volatile以保障多线程读写可见性,避免“改了但没生效”;需配合同步块串行化配置更新与线程池调整,并通过日志和压测验证生效一致性。329 收藏 -
white-space:nowrap仅控制文本换行行为,不改变盒模型,需配合flex-shrink:0、明确宽度、overflow:hidden及无覆盖样式才能生效;配text-overflow:ellipsis时三者缺一不可。338 收藏 -
AOP捕获错目标主因是变量生命周期失控而非切点错误;须禁用this引用穿透代理、限定切点包路径、管控ThreadLocal一致性、规范调试快照。367 收藏