![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
虚拟机
文章平均质量分 75
xuyin1204
这个作者很懒,什么都没留下…
展开
-
序列化--Serial
序列化和反序列化原创 2022-12-04 20:26:38 · 539 阅读 · 0 评论 -
Java引用类型
java中的引用类型:1)强引用2)软引用 SoftReference3)弱引用 WeakReference4) 虚引用 PhantomReferece对象的可及性由最强引用类型决定。对象的可及性:1)强可及对象:永远都不会被GC回收2)软可及对象:当系统内存不足的时候,被GC回收3)弱可及对象:当系统GC发现这个对象,就被回收package com.example.referencedemo;import java.lang.ref.SoftReference;import原创 2021-05-23 22:22:16 · 74 阅读 · 0 评论 -
深度解析JVM运行时数据区
参考学习视频:Android/深度解析JVM运行时数据区(1)javac 编译流程:词法分析语法分析语义分析中间代码生成与优化目标代码的生成出错处理jvm加载class文件的步骤装载链接初始化原创 2021-07-14 10:44:42 · 81 阅读 · 0 评论 -
Dalvik和ART的区别
Dalvik和ART的区别Dalvik环境下,应用每次运行时,字节码都需要通过即时编译器(Just In Time,JIT)转换为机器码。ART环境中,应用会在安装的时候,就将字节码预编译(Ahead of Time,AOT)成机器码,使其成为真正的本地应用。ATR占用的空间比Dalvik大,就是用空间换时间,大概多占用内存10%~20%。ART不用每次运行时都重复编译,减少了CPU的使用频率,降低了能耗。...原创 2021-07-07 09:43:29 · 2915 阅读 · 0 评论 -
深入理解虚拟机栈
学习视频一、JAVA虚拟机栈1)虚拟机栈是当前执行线程独占空间,以栈的数据结构形式存在。2)虚拟机栈是线程执行的区域,它保存着一个线程中方法的调用状态。3)每一个被线程执行的方法,为该栈中的栈帧,即每个方法对应一个栈帧。 如果是递归调用,比如上面例子中a()方法中调用a()方法,无限制递归栈帧会无限制的存放Frame-a,直到内存满,出现StackOverflowError错误。如下实例:方法的返回地址:一个方法被调用时一定会有一个出口,这个出口就是一个返回地址,一个方法被调用的过程原创 2021-03-10 13:52:43 · 2416 阅读 · 1 评论