摘要:
一、验证 1. 什么是验证? 验证是连接阶段的第一步,确保class文件的字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身的安全。 2. 为什么要验证? 很多人都在想, java文件编写的格式等都是按照虚拟机规范来的,如果java文件有错误,都无法编译成class文件。... 阅读全文
摘要:
一、 加载 “加载” 是 “类加载”过程的一个阶段。在加载阶段,虚拟机完成了一下3件事情。 1. 通过一个类的全额限定名来获取定义此类的二进制字节流。 2. 将这个字节流所代表的静态存储结构转化转化为方法区的运行时数据结构。 3. 在内存中创建一个java.lang.Class对象,作为方法区该类的 阅读全文
摘要:
一、概述 1. 虚拟机加载机制 把描述类的数据从class文件加载到内存,并且对数据进行校验、转换解析和初始化,最终形成可以被虚拟机使用的Java类型。 2. Java是一门天生可以动态扩展的语言 在Java语言里,类的加载、链接和初始化是在程序运行期间完成的。而C++是在编译期就开始做这些工作了。 阅读全文
摘要:
随着计算机技术的发展,服务器的cpu、内存、硬盘等硬件的技术越来越成熟,价格越来越低廉。一般的服务器都是好几个CPU,内存都是8G以上,从而64位操作系统是标配。 虽然在很早之前JAVA虚拟机就已经支持64位系统。但是JAVA程序运行在64位虚拟机上需要付出比较大的额外代价。 1. 内存问题... 阅读全文