![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
_inkrain
要像一张邮票,坚持一件事情直到你到达目的地。
展开
-
JVM--详解虚拟机字节码执行引擎之栈帧结构
本篇博客信息量依旧庞大!前言在讨论本文的主题之前,我们先来思考一下:什么是虚拟机字节码执行引擎?它有什么作用?在说明这个问题之前,我们先来想想之前我们已经学习过的class文件结构与类加载机制。当一个Java程序写好之后,我们使用javac命令对其进行编译,产生的虚拟机字节码存储在class文件中,我在JVM–解析Class类文件结构一文中详细分析了class文件中字节码的...原创 2017-12-08 23:55:35 · 1013 阅读 · 0 评论 -
JVM--详解创建对象与类加载的区别与联系
在前几篇博客中,我们探究了.class文件的本质,类的加载机制,JVM运行时的栈帧结构以及字节码执行时对应操作数栈以及局部变量表的变化。如果你已经掌握了这些东西,你现在应该会有一种感觉,给你一个Java代码,你可以从JVM的层面上将这个类从javac编译成.class文件开始,到使用java命令运行这个Class文件,然后这个类的运行过程是怎么样的,你可以解释清楚。但是等等,好像少了点什么...原创 2017-12-12 11:40:51 · 3072 阅读 · 2 评论 -
JVM--Class类文件结构(二)
之所以将属性表拿出来单独进行讲解,就是因为在上一篇博客中我已经说过,在Class类文件中,最重要的当属常量池与属性表部分,而属性表中的属性目前已高达21项,当然我们不用全部记住它们,只需要熟悉其中的几个关键属性。属性表基本结构我们今天只谈其中的5种属性,如果你有兴趣,请下去自行了解~每个属性的名称都引用自常量池中一个CONSTANT_Utf8_info类型的常量来表示,属性...原创 2017-10-30 16:10:04 · 731 阅读 · 0 评论 -
JVM--Class类文件结构(一)
不知道大家有没有对.java文件进行编译之后生成的.class文件好奇过。我们都知道Java中的class文件是经过Java编译器对Java类文件进行编译后的产物。我想有不在少数的C程序员在学习Java之后在认知上会粗略的认为C程序在经过编译后产生的.out文件与.class文件在各方面大概相同,我刚开始也这样迷惑自己,但是随着学习的深入,我们必须搞清楚.class文件到底是个什么东西。那...原创 2017-10-20 23:50:16 · 2997 阅读 · 2 评论 -
JVM--剖析类与对象在JVM中从生存至死亡
前面学习了Class文件结构、类的加载机制、字节码执行引擎、对象的创建与销毁,所以我准备从一个Java代码进行切入,详细剖析它的生命历程,将所学的知识真正的用起来,也算是对前面所学的知识进行一个系统的总结。我们以这份Java代码为例,来剖析一个Java程序的生命历程:interface ClassName { String getClassName();}class Company imp原创 2017-12-17 12:52:20 · 553 阅读 · 0 评论 -
JVM--详解类加载机制
这篇博客—干货很多!!!Java虚拟机的体系结构前面我们探讨了Class文件的结构,如果你还没有学习,将不利于这部分知识的吸收与掌握,所以请移步:JVM–Class类文件结构(一)学习一个东西之前,我们务必要知道,这东西大概是干什么的,有什么作用。为了更清楚的阐释类加载机制到底是干什么的,我先将JVM的结构图贴给大家:如上图,我们要学的类加载机制就是要搞清楚类加载器...原创 2017-12-01 15:56:09 · 2045 阅读 · 1 评论