博客专栏  >  编程语言   >  深入Java虚拟机

深入Java虚拟机

通过仔细阅读JVM相关书籍,并结合自己对JDK源码的阅读分析,以及自己的经验,总结了Java语言的编译、运行、类加载机制,类文件结构、内存的分配策略、垃圾回收机制、Javac编译、JIT编译等JVM相关知识。

关注
210 已关注
8篇博文
  • 【深入Java虚拟机】之七:Javac编译与JIT编译

    如今,基于物理机、虚拟机等的语言,大多都遵循这种基于现代经典编译原理的思路,在执行前先对程序源码进行词法解析和语法解析处理,把源码转化为抽象语法树。对于一门具体语言的实现来说,词法和语法分析乃至后面的...

    2014-01-15 00:07
    28370
  • 【深入Java虚拟机】之六:Java语法糖

    语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使...

    2014-01-13 07:15
    10184
  • 【深入Java虚拟机】之八:Java垃圾收集机制

    Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果refere...

    2014-01-18 08:08
    10529
  • 【深入Java虚拟机】之五:多态性实现机制——静态分派与动态分派

    Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使...

    2014-01-10 08:26
    11654
  • 【深入Java虚拟机】之四:类加载机制

    类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这...

    2014-01-08 00:09
    34016
  • 【深入Java虚拟机】之三:类初始化

    类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化: 遇到new、getstatic、putstatic...

    2014-01-05 08:57
    10904
  • 【深入Java虚拟机】之二:Class类文件结构

    Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使...

    2014-01-02 23:55
    14238
  • 【深入Java虚拟机】之一:Java内存区域与内存溢出

    Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java...

    2013-12-30 08:20
    30879
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部