JVM
文章平均质量分 78
程序员铁人
人和人拼的是思维,格局,世界观!
展开
-
java虚拟机
今天过了一遍jvm,有不一样的感悟。 接下来继续往深了看,内存模块,类加载模块,垃圾回收模块 。有很多东西。原创 2020-02-25 17:19:42 · 95 阅读 · 0 评论 -
Java虚拟机基础知识
我们都知道,java是有.class文件的,它被jvm运行,然后出现结果。我现在掌握的jvm知识就只有这些,我计划在一个星期之内将<Java虚拟机>这本书看完,掌握核心知识点,为面试加分。 1.java类执行的流程:源代码->javac编译器;编译->.class文件;字节码文件-》jvm解释;运行-》使用-》卸载。 .class字节码文件的运行是在jvm中;源代...原创 2018-07-19 14:45:23 · 182 阅读 · 0 评论 -
java虚拟机类加载机制
一、java虚拟机类加载分7个阶段。2.3.4称为连接 1.加载:读取类的二进制字节流,放到方法区建立运行时数据结构,内存中建立一个java.lang.Class对象,作为访问入口。 ①当遇见new ,static 关键字。②反射方法。Class.forName()会进行加载。当然需要先初始化,还要考虑父类加载。 2.验证:这一阶段的目的是确保class文件的字节流中包含的信息符合...原创 2018-07-19 15:46:31 · 470 阅读 · 0 评论 -
垃圾收集器与内存分配策略
一、垃圾收集器:GC.Garbage Collection 解决的问题:如何回收分配给对象的内存。①哪些内存需要回收?②什么时候回收?③如何回收? ①java堆和方法区 的内存是不确定的,动态的,需要关注这2部分。 判断对象是否已死?进行标记 1.引用计数:给对象设置一个计数器.当被引用一次就就+ 1,引用失效就-1。当计数器为0.就回收了。 特...原创 2018-07-19 17:21:30 · 116 阅读 · 0 评论 -
Java内存区域划分
运行时数据区域:Jvm在执行javademo时将它管理的内存划分为不同的区域。 一、运行数据区域。 1.程序计数器。 较小的内存空间。线程私有的。当前字节码所执行字节码的行号指示器。通过这个值,来选取下一条要执行的字节码。在多线程中,每一个线程都有一个计数器,这样才能胡不影响。 2.Java虚拟机栈。 线程私有。生命周期同线程。为jvm执行java方法。它是...原创 2018-07-19 20:39:21 · 160 阅读 · 0 评论