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