Song Blog

Move, move.

垃圾收集算法详解

JVM 相关知识

1. 垃圾收集算法 类型 垃圾收集算法 类型 分为4类 标记-清除算法 复制算法 标记整理算法 分代收集算法 2. 标记-清除 算法 这是 垃圾收集算法中 最最基础的算法。 2.1 算法思想 算法分为两个阶段: 标记阶段:标记出所有需要回收的对象; 清除阶段:统一清除(回收)所有被标记的对象。 下面主要讲解标记阶段。标记阶段主要分为:(先进行可达性分...

垃圾收集器介绍

JVM 相关知识

垃圾收集器介绍 垃圾收集器主要针对方法区和堆 1. 对象死亡判断方式 垃圾收集器对 Java 堆里的对象 是否进行回收的判断准则:Java对象是存活 or 死亡 判断对象为死亡才会进行回收 在Java虚拟机中,判断对象是否存活有2种方法: 引用计数法 引用链法(可达性分析法) 1.1 引用计数法 1.1.1 方式描述 给 Java 对象添加一...

虚拟机中对象

JVM 相关知识

1. 对象创建 对象创建需要 new 关键字 数组和类的class对象除外 1.1 创建过程 当遇到关键字new指令时,Java对象创建过程便开始,整个过程如下: 1.2 过程步骤 步骤1:类加载检查 检查 该new指令的参数 是否能在 常量池中 定位到一个类的符号引用 检查 该类符号引用 代表的类是否已被加载、解析和初始化过 如果没有,...

JVM OOM 分析

JVM 相关知识

OOM 异常 在 Java 虚拟机规范中,除了程序计数器没有 OOM 之外,其他内存区域都有 OOM 的可能性 Java 堆溢出 1 2 3 4 5 6 7 8 9 10 11 12 13 @Test public void test_heap_oom() { try { ArrayList<Object> list = new ArrayList...

虚拟机运行时数据区域

JVM 相关知识

运行时数据区域的划分 划分的区域有各自的用途,以及创建及销毁的时间。有些伴随虚拟机进程启动而一直存在,有些区域则依赖用户线程的启动和结束而建立和销毁。Java 虚拟机规范( SE7 )规定虚拟机运行时数据区域划分为,程序计数器,虚拟机栈,native method 栈,方法区,堆。 程序计数器 程序计数器是线程私有 程序计数器为线程行号指示器,处理器一个核心唯一时刻只能执...

java JDK 介绍

JVM 相关知识

Android Hook 检测 检测是否被 hook https://github.com/song-dev/security-check-android 方案 主流 hook 框架检测 检测 maps 中包含的 frida、substrate、Xposed 框架部分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22...

Android Hook 检测

Android 安全检测

Android Hook 检测 检测是否被 hook https://github.com/song-dev/security-check-android 方案 主流 hook 框架检测 检测 maps 中包含的 frida、substrate、Xposed 框架部分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22...

Android root 检测

Android 安全检测

Android root 检测 检测是否在 root 环境 https://github.com/song-dev/security-check-android 方案 执行 su 命令 root 设备都支持 su 命令,直接执行 su -v 获取 root 应用版本号。若返回为空则为非 root 设备,否则为 root 设备 1 2 3 4 5 6 7 8 9 10 11 12 1...

crash: 'input is not valid Modified UTF-8' 问题分析

crash 问题总结

日志详细信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** A/DEBUG: Build finge...

crash: 'stack corruption detected' 问题分析

crash 问题总结

日志详细信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 I/AEE/AED: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** I/AEE/AED: Build fingerprint: 'Xiaomi/h...