阅读此说明,了解 JaCoCo 信息及在 Android 本地项目与 Java 后端项目中的使用方式,使用 JaCoCo 实现覆盖率统计、分析、可视化输出。
文档结构:一、覆盖率基础概念;二、JaCoCo 原理;三、Android 项目接入(offline 模式);四、Java 后端项目单元测试覆盖率实战(重点);五、Jenkins 自动化集成(Todo)。
阅读此说明,了解 JaCoCo 信息及在 Android 本地项目与 Java 后端项目中的使用方式,使用 JaCoCo 实现覆盖率统计、分析、可视化输出。
文档结构:一、覆盖率基础概念;二、JaCoCo 原理;三、Android 项目接入(offline 模式);四、Java 后端项目单元测试覆盖率实战(重点);五、Jenkins 自动化集成(Todo)。
后端 应用"看起来正常、跑起来出问题"是测试与研发同学最头疼的事。一次高并发下的锁竞争、一个深层递归、一处忘记释放的资源,都可能让线上服务卡死、OOM 甚至雪崩。
本文面向测试工程师与研发同学,按业务场景梳理 常见业务异常与缺陷:从线程锁竞争、死锁、JVM 栈溢出与内存溢出,到 Spring Bean 循环依赖,再到日常开发高频踩坑的运行时异常,每类都给出典型业务案例 + 报错现象 + 定位工具 + 解决方案,并在文末汇总为"缺陷速查表",方便排障时快速索引。
参考来源:GC - Java 垃圾回收基础知识(Java 全栈知识体系) · 作者:pdai
GC 收集范围:垃圾收集主要针对
堆(Heap)和方法区(Method Area)进行;
程序计数器、虚拟机栈和本地方法栈属于线程私有的区域,只存在于线程的生命周期内,线程结束之后也会消失因此不需要对这三个区域进行垃圾回收。
参考来源:调试排错 - Java 线程分析之线程 Dump 分析(Java 全栈知识体系) · 整理:pdai(原文作者:猿码架构)
Thread Dump 是非常有用的诊断 Java 应用问题的工具。每一个 Java 虚拟机都有及时生成所有线程在某一点状态的 thread-dump 的能力,虽然各个 Java 虚拟机打印的 thread dump 略有不同,但是大多都提供了当前活动线程的快照,及 JVM 中所有 Java 线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能的话还有源代码的行数。
来源:JVM 基础 - JVM 内存结构(Java 全栈知识体系) · 作者:海星(公众号「JavaKeeper」),pdai 替换整理, 部分细节 本人自己优化
本文讲的是 JVM 内存结构,不要和 Java 内存模型(JMM) 混淆。