TEL:400-0233-413

天津java培训机构排名榜一览

分享

时间:2025-05-24 15:43:14点击:12

达内IT培训

天津java培训机构排名榜一览

1.达内教育

2.中公IT

3.天琥教育

4.千锋教育

5.火星时代教育

6.汇众教育

7.万和教育

8.博雅环球教育

9.新猿IT

10.仑智教育

达内IT培训

天津java培训机构排名榜一览,2019年9月,达内教育参加“让梦想绽放-蓝视界”张北扶贫公益活动,为大西湾乡贫困小学捐赠电脑,助力贫困地区的孩子们开拓视野。2019年9月,中国公益慈善项目大赛“社创板”资源对接大会开幕,达内教育为情系院上公益视野助力,捐赠价值500万元的物资。...

达内IT培训

Java虚方法之分派

Java虚方法之分派

分派。

分派可以是静态的也可以是动态的,根据分派所依据的分派宗量的多少,可以分为单分派和多分派。这种两两结合的分派方式即为静态的单分派、静态的多分派、动态的单分派、动态的多分派4种分派组合情况。

静态分派:发生在编译时期,所有依赖静态类型的方法执行版本的分派称为静态分派,典型的应用是方法的重载。

动态分配:运行期间根据实际类型确定版本的分派过程。一个典型的应用是方法重写,实现的方法是在方法中建立方法表,如果子类中没有重写父类方法,那么这个方法在子类虚方法表中的入口地址就和父类指向相同,否则子类方法表中的地址就被指向子类重写的方法的入口地址替换。

下面详细的介绍两种分派。

静态分派

依靠静态类型来确定方法执行的分派操作版本,这叫做静态分派。静态分派最典型的应用表现是方法重载,而虚拟机(或者确切地说是编译器)在重载时是以静态类型参数作为判断依据的。

操作结果:

Human在此表示为“静态类型”(StaticType)或“外观类型”(ApparentType);Man表示为“实际类型”(ActualType)或“运行时类型”(RuntimeType)。

动态分派

在运行期间根据实际类型确定方法执行版本的分派过程称为动态分派。最为典型的表现是改写。

操作结果:

使用javap命令查看main方法的字节码:

我们发现,在main方法和com/xiaolyuh/DynamicDispatch$Human.sayHello:()V中,sayHello()方法的调用对应的符号引用是相同的。此处我们可以得出这样的结论:在编译期间,对于动态分派,我们不能确定方法的直接引用,那么它是如何实现对重载方法的调用的呢?这一问题的关键在于invokevirtual指令,当invokevirtual指令被执行时,invokevirtual指令将决定方法的调用版本。

《深入理解Java虚拟机》中将方法调用分为解析、静态分派、动态分派三种,又根据宗量的数量引入了静态多分派,动态单分派的概念。这些概念事实上过于字典化,也很容易让读者误认为静态分派与动态分派是非此即彼的互斥关系。事实上,一个方法可以同时重写与重载,重载&重写是方法调用的两个阶段,而不是两个种类。


达内IT培训

2019年11月,达内教育参加第一届教育公益年会。现场,向沅陵捐赠价值20万元的200台电脑。2020年2月,达内教育启动“2000万护航计划”,提供10000个助学名额,2020年3月,达内教育整合千家企业岗位资源、携手千所高校勠力同心,推出旨在帮助大学毕业生平纹就业的“春来计划”。...

www.aixuew.cn All rights reserved 豫ICP备2022021264号

该文章由用户自行上传发布,如有侵权内容请及时联系我们删除。

电话咨询 在线客服 预约试听