一、Java语言中的线程安全 Java语言中各种操作共享数据分为:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。不可变:不可变的对象...
一、Java内存模型 Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 ...
一、运行时栈帧结构 栈帧是用于支持虚拟机方法调用和方法执行的结构,栈帧存储了方法的局部变量表,操作数栈,动态链接,方法返回地址等信息。每一个方法...
一、类的加载时机 类从被加载到虚拟机内存中,到卸载出内存为止,包括如下7个阶段:加载、验证,准备,解析、初始化、使用,卸载,验证、准备、解析三个...
一、class文件类型 class文件:是一组以8位字节为基础单位的二进制流,通过类似于结构体的伪结构存储数据,两种数据结构包括无符号数和表。无...
一、判断对象回收1、判断方法引用计数算法:对象每次引用,引用计数加1,取消引用减一,当引用计数为0,则判断对象可回收,但是难以处理两个对象的互相...
一、运行时数据区域 1、程序计数器 当前线程所执行的字节码的行号指示器,线程私有,各个线程的计数器是独立的,互不影响,正在执行的是Native方...
一、代码修复方式 在app重新启动时,优先加载补丁中的类,从而达到热修复的目的,andfix采用的方式是:在已经加载了的类中直接在native...
一、通用的修复方式 构造一个新的AssetManager,并通过反射调用addAssetPath,把这个完整新的资源包加入到AssetMa...