码迷,mamicode.com
首页 >  
搜索关键字:java虚拟机    ( 4370个结果
类的生命周期(下)类的初始化【转】
上接深入java虚拟机——深入java虚拟机(二)——类加载器详解(上),在上一篇文章中,我们讲解了类的生命周期的加载和连接,这一篇我们接着上面往下看。 类的初始化:在类的生命周期执行完加载和连接之后就开始了类的初始化。在类的初始化阶段,java虚拟机执行类的初始化语句,为类的静态变量赋值,在程.....
分类:其他好文   时间:2014-12-14 00:33:07    阅读次数:264
深入理解Java虚拟机笔记---类加载时机
类从被加载到虚拟机内存中开始,到缷载出内存为止,它的整个生命周期包括了:加载(Loading),验证(Verification),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using),缷载(Unloading)七个阶段。其中验证,准备,解析三个阶段统称为连接(Linking)阶段,这七个阶段的发生顺序如下图:    加载,验...
分类:编程语言   时间:2014-12-13 19:26:59    阅读次数:226
深入理解Java虚拟机笔记---属性表集合
在Class文件,字段表,方法表中都可以携带自己的属性表集合,以用于描述某些场景专有的信息。与Class文件中其它的数据项目要求的顺序、长度和内容不同,属性表集合的限制稍微宽松一些,不再要求各个属性表具有严格的顺序,并且只要不与已有的属性名重复,任何人实现的编译器都可以向属性表中写入自己定义的属性信息,Java虚拟机运行时会忽略掉它不认识的属性。为了能正确地解析Class文件,《Java虚拟机规范...
分类:编程语言   时间:2014-12-13 16:34:35    阅读次数:276
深入理解Java虚拟机笔记---引用类型和对象是否死亡
在JDK1.2以前,Java中的引用定义得很传统:如果reference类型的数值代表的是另外一块内存的起始地址,就称这块内存代表中一个引用。这种定义很纯粹,但太过狭隘,一个对象在这种定义下只有被引用或者没有引用两种状态,对于如何描述一个“食之无味,弃之可惜”的对象就显得无能为力;如果内存在进行垃圾收集后还是非常紧张,则可以抛弃这些对象。很多系统的缓存功能都符合这样的应用场景。    在JDK1...
分类:编程语言   时间:2014-12-13 16:34:10    阅读次数:274
深入理解Java虚拟机笔记---方法表集合
方法表的结构与字段表一样,依次包含了访问标志(access_flags),名称索引(name_index),描述符索引(descriptor_index),属性表集合(attributes)几项,如下表所示: 因为volatile关键字和transient关键字不能修改方法,所以方法表的访问标志中没有了ACC_VOLATILE与ACC_TRANSIENT标志。与之相对的,synchroniz...
分类:编程语言   时间:2014-12-13 12:17:54    阅读次数:177
深入理解Java虚拟机笔记---字段表集合
字段表(field_info)用于描述接口或类中声明的变量。字段(field)包括了类级变量或实例变量,但不包括方法内部声明的变量。描述一个字段的信息有:字段的作用域(public,private,protected修饰符),是类级变量还是实例级变量(static修饰符),可变性(final),并发可见性(volatile修饰符,是否强制从主内存读写),是否可序列化(transient修饰符),字...
分类:编程语言   时间:2014-12-12 22:13:27    阅读次数:298
深入理解java虚拟机-第七章
第7章 虚拟机类加载机制类的加载的时机加载 Loading, 连接 Linking(验证 Verfiication, 准备Preparation, 解析 Resolution) 初始化 Initialization, 使用Using和卸载 Unloading类加载的过程:1,加载: 加载是“类加载....
分类:编程语言   时间:2014-12-11 23:42:12    阅读次数:194
深入理解Java虚拟机笔记---类索引,父类索引,接口索引集合
类索引(this_class)和父类索引(super_class)都是u2类型的数据,而接口索引(interfaces)是一组u2类型的数据集合,class文件中由这三项数据来确定这个类的继承关系。类索引用于确定这个类的全限定名,父类索引用于确定这个类的父类的全限定名。由于Java语言不允许多继承,所以父类索引只有一个,除了java.lang.Object之外,所有的Java类都有父类,因了除了j...
分类:编程语言   时间:2014-12-11 22:30:47    阅读次数:196
深入理解Java虚拟机笔记---class类文件魔数,版本,常量池
魔数    每个class文件的头4个字节称为魔数(Magic Number),其值为:0xCAFEBASE,它的唯一作用是用于确定这个文件是否为一个能被虚拟机接受的class文件。使用魔数而不是扩展名来进行识别主要是基于安全的考虑,因为文件的扩展名可以随意地被改动。 版本号    紧接着魔的4个字节存储的是class文件的版本号:第5和第6个字节是次版本号(Minor Version)...
分类:编程语言   时间:2014-12-11 17:31:34    阅读次数:194
深入理解Java虚拟机笔记---class类文件结构概述
class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格紧凑地排列在class文件中,中间没有任何分隔符。当遇到需要占用8位字节以上的的数据项时,则会按照高位在前的方式侵害成若干个8位字节进行存储。    根据Java虚拟机规范的规定,class文件格式采用一种类似于C语言结构体的伪结构来存储,这种伪结构只有两种数据类型:无符号数和表。无符号数属于基于数据类型,以u1、u2、u4、u...
分类:编程语言   时间:2014-12-11 14:01:42    阅读次数:251
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!