首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

到底是怎么实例化的

2012-11-03 
到底是怎样实例化的???昨天读到这个帖子?http://www.iteye.com/topic/650911?·到底JVM实例化一个对象是怎

到底是怎样实例化的?

?

?

昨天读到这个帖子?http://www.iteye.com/topic/650911?·到底JVM实例化一个对象是怎样的了··

到底有没实例化Object···我 说错了大家帮我改正··到底是怎么实例化的

?

?? ? ? ? 先来段简单的程序:

?

?

?

如果不熟悉JVM指令,看到这些东西确实难以理解···很直观的看到Test默认为继承自Object这个JAVA中的超级父类,当new Test()的时候,调用Test的默认构造器,构造器其实就是一个特殊的静态的方法(这样说应该没错吧?)·


?这些指令到底是在干些什么了???

?aload_0 将第一个引用类型本地变量推送至栈顶?

invokespecial???调用超类构造方法,实例初始化方法,私有方法(调用Object类的构造方法,JAVA中为每一个类的构造方法都生成了一个实例初始化方法,这个方法被称为<init>,我们在指令中能清晰的看到)

getstatic???获取指定类的静态域,并将其值压入栈顶? (获得System类的PrintStream类型的out静态域)

ldc??????将应该并没用实例话Object吧 只是调用了构造方法吧··正如我上面说的···构造器其实就是一个特殊的静态的方法···

?? 并不要创建实例对象·就可以执行····· ???

这个也许是我相当然吧····最近在读深入JAVA虚拟机··等我读的有点头绪了 ·再来下次说说这个吧·到底是怎么实例化的只是最进看这虚拟机的书,看得满投雾水··看来是我自己太菜了···

?

我只是想更形象啊·· 这个话 我好像没写吧????


我啊 工作不到一年啊 菜鸟一个啊 ··莫见笑啊 ··



 
这就等于在构造函数调用的时候才把当前实例的vt指针指向具体class里的vt表.

vt的构造不需要延迟,但vt的选定肯定需要延迟,要不然多态为什么还要叫动态绑定?

热点排行