
JVM
六号表哥
这个作者很懒,什么都没留下…
展开
-
Java 虚拟机–内存模型
一、JVM 内存模型 .java 源文件 -> javac 工具编译 -> .class 文件 -> JVM 解析 -> 010101 机器码 -> 跑在不同的操作系统上。 基于上面的流程可以看出,java 是一个跨平台语言。 本节来分析 Java 对象如何进行分配和回收。 JVM 运行时数据区主要由线程私有区域和线程共享区域组成。 线程私有区域: 虚拟机栈...原创 2019-03-28 00:04:11 · 189 阅读 · 0 评论 -
Java类加载器-动态加载外部dex
Android 类加载 Android 只能加载识别 dex 文件,因此需要将 .java 文件编译 .class 文件,然后将 .class 优化为 .dex 文件。 过程:.java -> .class -> .dex 下面来练习如何去加载一个 dex 文件,并调用 dex 中的方法。 获取需要动态加载的 dex 文件 编写 DynamicClass.java 类 public...原创 2019-04-10 21:30:26 · 1354 阅读 · 1 评论 -
劣实基础–Java 反射机制
反射与动态代理 反射 一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。 反射则是一开始并不知道我要初始化的类对象是什么,自然也无法使用 new 关键字来创建对象了。这时候,我们使用 JDK 提供的反射 API 进行反射调用。反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法或者属性。...原创 2019-04-03 17:39:13 · 1314 阅读 · 1 评论 -
Java 虚拟机内存模型—线程私有
文章目录JVM 内存模型线程私有区域程序计数器虚拟机栈栈帧的组成StackOverflowError本地方法栈逃逸分析优化线程私有部分的回收问题参考 JVM 内存模型 .java 源文件 -> javac 工具编译 -> .class 文件 -> JVM 解析 -> 010101 机器码 -跑在不同的操作系统上。 基于上面的流程可以看出,java 是一个跨平台语言。 ...原创 2019-04-15 12:01:32 · 1231 阅读 · 0 评论