itmyhome的专栏

越努力,越幸运

排序:
默认
按更新时间
按访问量

深入理解Java虚拟机 - 泛型与类型擦除

泛型是JDK 1.5的一项新增特性,它的本质是参数化类型(Parametersized Type)的应用,也就是说所操作的数据类型被指定为一个参数。 这种参数类型可以用在类、 接口和方法的创建中,分别称为泛型类、 泛型接口和泛型方法。 Java语言中的泛型只在程序源码中存在,在编译后的字节码文件...

2017-12-22 13:39:37

阅读数:469

评论数:0

深入理解Java虚拟机 - 字节码指令集

Java虚拟机的指令由一个字节长度的、 代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。 字节码与数据类型 在Java虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息。 例如,iload...

2017-12-22 13:38:05

阅读数:509

评论数:0

深入理解Java虚拟机 - 类文件结构

无关性的基石 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石。实现语言无关性的基础仍然是虚拟机和字节码存储格式。 Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中...

2017-12-19 21:04:04

阅读数:509

评论数:0

深入理解Java虚拟机 - OutOfMemoryError异常

在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都 有发生OutOfMemoryError(下文称OOM)异常的可能 下文代码的开头都注释了执行时所需要设置的虚拟机启动参数(注释中“VM Args”后面跟着的参数),这些 参数对实验的结果有直接影响,可在Ecli...

2017-12-12 22:01:07

阅读数:512

评论数:0

深入理解Java虚拟机 - HotSpot虚拟机对象探秘

对象的创建 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程,在类加载检查通过后,接下来虚拟机将为新生对象分配内存。假设Java堆中内存是绝对规整的,所有...

2017-12-11 21:10:33

阅读数:452

评论数:0

深入理解Java虚拟机 - Java内存区域

运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。 根据《Java虚拟机规范(Java SE 7版)》 的规定,...

2017-12-10 23:07:51

阅读数:516

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭