java
未读
Java JUC包功能
Java JUC(java.util.concurrent)包通过线程池(ExecutorService)、高级锁(ReentrantLock/ReadWriteLock)、同步器(CountDownLatch/CyclicBarrier)、并发集合(ConcurrentHashMap/Blocki
java
未读
Java内存泄漏分析与解决方案
Java内存泄漏的本质是废弃对象因强引用滞留于GC Roots路径导致无法回收,常见于静态集合类(如未清理的static Map)、ThreadLocal未调用remove()、资源未关闭(如数据库连接、监听器)、闭包捕获外部对象及监听器未注销等场景;解决方案包括使用弱引用(WeakHashMap/
java
未读
Java 高级开发应掌握的核心知识点
作为Java高级程序员,需要超越基础语法,深入理解Java生态系统的多个方面。 以下是应该掌握的进阶知识点列举。 一、JVM与性能优化 JVM深度理解 JVM内存模型(堆、栈、方法区、元空间)与垃圾回收机制 各种GC算法与收集器(G1、ZGC、Shenandoah)的适用场景 JVM参数调优与性能监
java
未读
应用性能监控(APM)工具原理简介:以SkyWalking为例
应用性能监控(APM)通过采集、传输、分析和可视化应用运行时的指标、日志与调用链数据,实现对系统性能的全面观测与故障快速定位;SkyWalking作为典型的开源APM工具,采用无侵入式Agent进行字节码增强,自动收集分布式追踪(Trace)、性能指标(Metrics)等信息,经OAP Server
大数据技术
未读
大数据技术栈中主要框架介绍
大数据技术栈涵盖数据采集、存储、计算与应用四层,其中计算层核心框架各有侧重:Hadoop 适用于离线批处理,适合处理海量历史数据;Spark 基于内存计算,兼顾批处理与微批流处理,适合快速迭代和中等实时性场景;Storm 和 Flink 专注实时流处理,Storm 提供毫秒级响应,而 Flink 凭
大数据技术
未读
Lambda架构与Kappa架构的分层
Lambda架构采用三层设计(批处理层、速度层和服务层),通过分离批处理与实时处理实现高准确性但系统复杂度高;Kappa架构则简化为两层(流处理层和服务层),将所有数据(包括历史数据)统一作为流处理,通过重放事件日志简化维护,但要求数据处理逻辑保持一致,适用于实时性要求高且算法简单的场景。 Lamb
java
未读
Java String类为什么是不可变的
Java String类被设计为不可变,主要为了确保安全性(防止关键参数如URL或API密钥被恶意篡改)、提供线程安全(无需同步即可安全共享)、优化性能(通过字符串常量池复用相同内容和缓存哈希码减少内存开销),同时简化代码逻辑和设计,尽管在频繁拼接时可能影响性能,但可通过StringBuilder等
java
未读
Java线程死锁、活锁检测与解决
Java线程死锁由互斥、不可抢占、请求保持和循环等待四个条件引发,导致线程永久阻塞(如线程A持锁1等锁2,线程B持锁2等锁1),可通过统一锁获取顺序、tryLock超时机制和减少锁粒度预防;活锁则因线程过度协调(如双方不断重试释放锁)导致持续忙碌但系统无进展,需通过随机等待时间或指数退避算法解决。死

