240 投稿
收录了12篇文章 · 8人关注
  • Resize,w 360,h 240
    12)运行时栈帧结构

    每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。每一个栈帧都包括了局部变量表、操作数栈、动态连接、方法返...

  • Resize,w 360,h 240
    11)类加载器

    虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如...

  • 10)类加载过程

    接下来我们详细讲解一下Java虚拟机中类加载的全过程,也就是加载、验证、准备、解析和初始化这5个阶段所执行的具体动作。 加载 加载(loadin...

  • Resize,w 360,h 240
    9)类加载时机

    1)遇到new、getstatic、putstatic或invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化...

  • Resize,w 360,h 240
    7)垃圾收集器

    如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂...

  • Resize,w 360,h 240
    8)内存分配与回收策略

    Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存。对象主要分配在堆上的Eden...

  • Resize,w 360,h 240
    5)垃圾收集算法

    标记-清除算法 算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象 不足之处: 效率问题,标...

  • 6)HotSpot算法实现

    枚举根结点 可达性算法是相当耗时的,以下两点说明 从可达性分析中从GCRoots节点找引用链这个操作为例,可作为GCRoots的节点主要在全局性...

  • Resize,w 360,h 240
    4)java虚拟机中对象生存还是死亡

    java堆里存着几乎所有的对象,垃圾收集器要判断,哪些对象是存活的,哪些是死亡的(没有被引用的对象)即需要被回收的。 判断对象是否存活有两种算法...

  • 3)java虚拟中对象的定位

    建立对象是为了使用对象,我们的程序通过栈上的refrence引用来操作堆里的具体对象。由于refrence类型在java虚拟机规范中只规定了一个...