java教程技术文章
-
区块链区块头链接本质是用哈希指针替代普通指针的防篡改链表:每个区块的prev_hash存储前一区块头的SHA-256哈希值,内容篡改将导致哈希变更、后续链接断裂,验证自动且无需第三方。319 收藏 -
Java无法实现无懈可击的高性能强类型DI容器,因JVM泛型擦除导致运行时无泛型信息,强类型注入需依赖反射、类型推断与元数据补全;泛型类仅提供编译期类型安全契约,内部存储仍需Map。319 收藏 -
暴力反射不能用于清理资源或关闭连接池,因其不安全、不可靠且跳过关键清理步骤,易致连接泄漏、线程卡死;正确方式是调用公开close()方法、委托容器管理或封装代理实现Closeable。319 收藏 -
可通过继承FilterInputStream重写read方法实现流式加解密:加密时读原始流→加密→返回;解密时读密文流→解密→返回明文;需注意模式选择(推荐CFB/OFB/GCM)、IV处理、缓冲优化及异常透明性,优先使用CipherInputStream等成熟实现。318 收藏 -
接口回调是方法执行结果的反向通知,如EventSource通过OnEventListener将事件通知给监听者;观察者模式则基于一对多依赖实现状态同步,支持多个观察者自动接收主题变更通知,两者均通过接口实现解耦,但观察者更适合多方响应场景。318 收藏 -
maximumPoolSize是线程池最大线程数,用于应对突发流量的弹性缓冲带;设小导致任务拒绝率高,设大引发上下文切换与OOM;需按IO/CPU密集型任务特征、QPS与耗时估算,并配合监控、动态配置及合理拒绝策略。318 收藏 -
ProcessHandle无法实现优雅回收,仅负责触发信号和观察状态;真正优雅终止须由子进程自行响应SIGTERM等信号完成清理,否则destroy()在Linux/macOS发SIGTERM、Windows等效强杀,不等待清理也不执行shutdownhook。318 收藏 -
高并发大促下库存扣减失败的补偿必须快、准、可追溯、不扰主链路:采用异步扫描+状态机驱动,三元状态标识(pending/confirmed/done),幂等回滚,超时熔断,分级降级。318 收藏 -
Filter是Servlet规范组件,作用于容器层,用于请求响应拦截;Interceptor是SpringMVC组件,作用于HandlerMapping后,依赖Spring上下文,用于Controller前后处理。318 收藏 -
Map.merge()仅在键已存在时调用remappingFunction;键不存在则直接put,不执行函数;返回null会删除该键;多线程需用ConcurrentHashMap保证原子性。318 收藏 -
应按使用者和使用场景拆分接口:谁在用、为什么用,识别方法调用不重叠、未被调用超40%、测试中大量mock等信号;按业务角色(如UserAuthenticator)而非CRUD命名;用组合代替全能接口继承;老接口迁移需渐进式三步走。318 收藏 -
命令行输入java-version提示“不是内部或外部命令”,根本原因是JAVA_HOME和Path环境变量未正确配置:JAVA_HOME需指向JDK根目录(不含\bin),Path需添加%JAVA_HOME%\bin,且须重启命令行验证。318 收藏 -
shutdown()后已入队未执行的任务仍会运行,正在运行的任务也会完成;它仅停止接收新任务,不中断线程或清空队列。318 收藏 -
文章 · java教程 | 1个月前 | Spring Boot · 生产实践 · Java教程 · Resilience4j · 微服务治理 · java 微服务 spring boot 熔断重试 Resilience4j
从支付网关慢调用复盘 Resilience4j TimeLimiter、Retry、CircuitBreaker、Bulkhead 的顺序、预算和上线检查。318 收藏 -
抽象类用于“is-a”关系并共享实现,适合有共同属性和行为的类体系;接口用于“能做什么”的能力描述,支持多重行为组合,强调解耦与契约。317 收藏