前言
我们已经了解了Class文件存储格式的具体细节,在Class文件中描述的各种信息,最终都需要加载到虚拟机中之后才能被运行和使用。而虚拟机如何加载这些Class文件?这些信息进入到虚拟机后会发生什么变化?。这是我们接下来要学习的内容。
起今知行
我们已经了解了Class文件存储格式的具体细节,在Class文件中描述的各种信息,最终都需要加载到虚拟机中之后才能被运行和使用。而虚拟机如何加载这些Class文件?这些信息进入到虚拟机后会发生什么变化?。这是我们接下来要学习的内容。
以前计算机程序课上老师总说:计算机只认识0和1,写的程序都会编译成为0和1组成的二进制格式才能被计算机执行。然而10多年的时间过去了,今天的计算机仍然只能识别0和1,但是建立在虚拟机之上的大量程序语言发展迅速,将2我们编写的程序编译成二进制本地机器码(native code)已不再是唯一的选择,越来越多的程序语言选择了与操作系统和机器指令无关平台中立的格式作为程序编译之后的存储格式。这也是Java这类语言,平台无关性的基石。而且虚拟机上更有语言无关性的趋势。
本章主要内容
在Java中,对象访问是如何进行的?
对象访问在Java中无处不在,是最普通的程序行为,但是最简单的访问也会涉及 Java栈、Java堆、方法区这三个最重要的内存区域之间的关联关系。如:
|
|
本章主要内容
Java虚拟机在执行Java程序的过程中会把他所管理的内存划分成若干不同的数据区域。

这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。
上节讲了经典的三个排序算法,这节将对改进的排序算法进行分析,有快速排序和归并排序。对于排序和数据结构,推荐一个很棒的网站,支持能动态的看排序过程,可以单步,调节快慢:学习利器
本文主要讲mybatis的二级缓存,二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。