
JVM
文章平均质量分 77
AncelyF
这个作者很懒,什么都没留下…
展开
-
对象与垃圾回收机制
虚拟机中对象的创建过程当JVM遇到一条字节码new指令的时候,会会检查这个类是否已经被加载,如果没有加载则通过类加载机制加载对应的.class文件 加载完的.class类信息是分配在方法区的加载成功后,开始分配内存分配内存有几种方式一种是指针碰撞,这种方式使用的垃圾回收机制是带垃圾整理一种是空闲列表,这种方式 使用的垃圾回收机制是标记算法分配内存会有多线程,所以会有线程安全问题,解决方法通过CAS来处理,失败继续CAS本地线程分配缓存(每次开启一个线程就会给该线程分配一块内原创 2021-11-06 23:15:23 · 159 阅读 · 0 评论 -
深入理解JVM
JVM:它是作用是将.class文件翻译成机器码.(首先通过类加载器将.class文件加载到运行时数据区(JVM管理的内存))-->通过执行引擎,将类放在运行时数据区的数据进行解释执行或JIT执行(比如一个方法JVM发现它执行了1000次或者1万次,这样JVM认为解释执行没有意义 ,JVM就会把这些代码直接编译成本地代码提高运行速度)它有二种加载方式:第一种是全部翻译出来,这样第一次加载的时候就会用掉很长时间 .第二种是执行行到哪一行就翻译哪一行也叫解释执行.VM运行时数据区:Java虚拟机在原创 2021-05-12 22:20:43 · 235 阅读 · 1 评论 -
类加载机制及热修复实现之插桩原理
Android中是通过ClassLoader来加载class文件的,Android中的ClassLoader分为系统的和自定义的系统的有BootClassLoader DexClassLoader PathClassLoader,而DexClassLoader PathClassLoader都继承于BaseDexClassLoader这二个在加载类的时候操作逻辑全在父类BaseDexClas...原创 2020-04-15 23:56:42 · 287 阅读 · 0 评论 -
JVM内存分配分析
内存管理是JVM的核心内存分配:Jvm在运行过程中会把所管理的内存划分为若干个不同的数据区域(运行时数据区) 线程私有的内存: 程序计数器,本地方法栈,虚拟机栈 程序计数器:指向当前线程正在执行的字节码指令的地址(行号)因为java是多线程,会有线程切换,确保多线程情况下的程序正常执行,记录每个线程执行到哪里 ...原创 2019-12-11 15:53:33 · 211 阅读 · 0 评论