Java中的链接为何叫链接

java中的类加载机制一般包括装载,链接,初始化。这些其实在面试中能回答上来就已经达到面试官的期望值了,有一段时间,在思考的过程中,突发奇想,链接为什么叫链接呢?当时完全把自己问住了,不懂就要学习,就先去问度娘,然而并没有找到答案,于是继续看书,突然脑子里蹦出来动态链接和静态链接这两个词汇。调整方向往编译链接那边去思考。豁然开朗!
     一般情况下程序到可执行阶段都要先经过编译链接,链接最著名的就是静态链接和动态链接,静态链接我个人的理解就是在A引用B的时候,为了找到B,那么就会事先把B中的数据或方法先和A联系在一起,即可以理解为合并在一起进行工作,这样就是静态链接。然而动态链接则是为了解决多段程序引用B的时候,为了节约内存,不能事先把B合在一起,这样会在内存中出现重复的B的资源,为了解决这个问题,就要求当需要使用到B的时候,那么引用程序B的模块就会把程序B加载到内存中,这样就会动态实时的保证B存在内存中。
    但是到底什么叫做链接呢?为什么链接叫链接呢?链接的英文名是Link,意思就是把两个代码模块联系在一起,就叫做链接,普通意义上的超链接也可以理解成两个资源之间建立的一种联系。据说,在编程语言发展的早期,程序员写代码并不需要那么多模块,往往代码是写在一个文件里面就可以完成任务,随着场景的越来越复杂,代码量越来越大,很多代码块之间会建立一种联系,比如在模块A中引用模块B中的方法,那么A和B就建立了一种联系,在Java类的加载中,会找到A和B之间的关系,把A和B联系在一起,这就是一种链接。

猜你喜欢

转载自blog.csdn.net/horero/article/details/73027571
今日推荐