了解JVM虚拟机原理 是每一个Java程序员修炼的必经之路。但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的。感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成《Java虚拟机原理图解》
这个系列,以图解的形式,将抽象的JV...
分类:
编程语言 时间:
2014-10-16 18:00:52
阅读次数:
236
了解JVM虚拟机原理 是每一个Java程序员修炼的必经之路。但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的。感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成《Java虚拟机原理图解》 这个系列,以图解的形式,将抽象的JVM虚拟机的知识具体化,希望能够对想了解Java虚拟机原理的的Java程序员 提供点帮助。...
分类:
编程语言 时间:
2014-10-16 17:27:52
阅读次数:
396
1. Java堆中各代分布: 图1:Java堆中各代分布 Young:主要是用来存放新生的对象。 Old:主要存放应用程序中生命周期长的内存对象。 Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被 ...
分类:
编程语言 时间:
2014-10-16 16:31:03
阅读次数:
284
Class文件格式采用一种类似C语言结构体的结构来存储数据,这种数据结构只有两种数据类型:无符号数和表。 无符号数属于基本的数据类型,数据项的不同长度分别用u1, u2, u4, u8表示, 分别表示一种数据项在class文件中占据一个字节, 两个字节, 4个字节和8个字节。 表是由多...
分类:
编程语言 时间:
2014-10-16 00:27:51
阅读次数:
293
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Ja...
分类:
编程语言 时间:
2014-10-15 13:58:11
阅读次数:
217
通过今天的学习了解了许多关于java的知识,知道了Java的发展历史及一些简单的语句。Java虚拟机(简称 JVM)是一个”桥梁“,是一个”中间件“,是实现跨平台的关键,Java代码首先被编译成字节码文件,再由JVM将字节码文件翻译成机器语言,从而达到运行Java程序的目的。java与c的区别Jav...
分类:
编程语言 时间:
2014-10-15 01:01:29
阅读次数:
289
了解到了Jave的程序是由类构成的,因为Java是一个面向对象的编程语言面向对象编程中最重要的概念就是类(class)和对象(object)。由javac编译成字节码文件,由java虚拟机运行。类是对象的蓝图,对象是类的实列。今天写了第一个程序 HelloWorld!第一个方法public stat...
分类:
编程语言 时间:
2014-10-15 00:05:09
阅读次数:
257
Java虚拟机是不存在泛型类型对象的,所有的对象都属于普通类,甚至在泛型实现的早起版本中,可以将使用泛型的程序编译为在1.0虚拟机上能够运行的class文件,这个向后兼容性后期被抛弃了,所以后来如果用Sun公司的编译器编译的泛型代码,是不能运行在Java5.0之前的虚拟机的,这样就导致了一些实际生产的问题,如一些遗留代码如何跟新的系统进行衔接,要弄明白这个问题,需要先了解一下虚拟机是怎么执行泛型代码的。
总结:
1.记住一点,虚拟机中没有泛型,只有普通的类。
2.所有泛型的类型参数都用它...
分类:
编程语言 时间:
2014-10-14 12:37:18
阅读次数:
214
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte, short, int, long, ch...
分类:
其他好文 时间:
2014-10-14 00:38:47
阅读次数:
340
JVM运行时数据区(JVM Runtime Area)
其实就是指JVM在运行期间,其对计算机内存空间的划分和分配。本文将通过以下几个话题来讨论JVM运行时数据区。
Topic 1. JVM运行时数据区
里有什么?Topic 2.
虚拟机栈 是什么?虚拟机栈
里有什么?Topic 3.
栈帧是什么?栈帧
里有什么?Topic 4. 方法区
是什么?方法区
里有什么?
...
分类:
编程语言 时间:
2014-10-13 17:08:20
阅读次数:
235