Java类加载探究

class loading 理解

编译型语言的连接和Java的连接

C/C++等纯编译语言从源码到最终执行一般要经历:编译、连接和运行三个阶段,连接是在编译期间完成,而java在编译期间仅仅是将源码编译为Java虚拟机可以识别的字节码Class类文件,Java虚拟机对中Class类文件的加载、连接都在运行时执行

http://www.cnblogs.com/hnlshzx/p/3533264.html

编译型语言有连接,Java 也有连接,那么所谓的连接到底是干什么的。C 的连接:

把外部函数的代码(通常是后缀名为.lib和.a的文件),添加到可执行文件中。这就叫做连接(linking)。这种通过拷贝,将外部函数库添加到可执行文件的方式,叫做静态连接(static linking),后文会提到还有动态连接

http://www.ruanyifeng.com/blog/2014/11/compiler.html

看起来就是所谓连接,连接的是将有相互调用关系的代码(函数)对接到一起,让他们组织成一个可执行的整体(他们有调用关系,本来就该在一起)。那么 Java 的连接有是啥(Linking)?

Read more