
虚拟机
文章平均质量分 75
xuyin1204
这个作者很懒,什么都没留下…
展开
-
序列化--Serial
序列化和反序列化原创 2022-12-04 20:26:38 · 589 阅读 · 0 评论 -
深度解析JVM运行时数据区
参考学习视频:Android/深度解析JVM运行时数据区(1) javac 编译流程: 词法分析 语法分析 语义分析 中间代码生成与优化 目标代码的生成 出错处理 jvm加载class文件的步骤 装载 链接 初始化原创 2021-07-14 10:44:42 · 100 阅读 · 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 · 3151 阅读 · 0 评论 -
Java引用类型
java中的引用类型: 1)强引用 2)软引用 SoftReference 3)弱引用 WeakReference 4) 虚引用 PhantomReferece 对象的可及性由最强引用类型决定。 对象的可及性: 1)强可及对象:永远都不会被GC回收 2)软可及对象:当系统内存不足的时候,被GC回收 3)弱可及对象:当系统GC发现这个对象,就被回收 package com.example.referencedemo; import java.lang.ref.SoftReference; import原创 2021-05-23 22:22:16 · 96 阅读 · 0 评论 -
深入理解虚拟机栈
学习视频 一、JAVA虚拟机栈 1)虚拟机栈是当前执行线程独占空间,以栈的数据结构形式存在。 2)虚拟机栈是线程执行的区域,它保存着一个线程中方法的调用状态。 3)每一个被线程执行的方法,为该栈中的栈帧,即每个方法对应一个栈帧。 如果是递归调用,比如上面例子中a()方法中调用a()方法,无限制递归栈帧会无限制的存放 Frame-a,直到内存满,出现StackOverflowError错误。 如下实例: 方法的返回地址:一个方法被调用时一定会有一个出口,这个出口就是一个返回地址,一个方法被调用的过程原创 2021-03-10 13:52:43 · 2549 阅读 · 1 评论