在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ Java實(shí)例化過程及synchronized問題

Java實(shí)例化過程及synchronized問題

問題1:實(shí)例化一個(gè)對(duì)象時(shí),因?yàn)闀?huì)實(shí)例化父類,是不是代表如果一個(gè)類的父類越多,那它在堆中占的空間越多?
問題2:A a = new B()的時(shí)候(B extends A)在子類override父類的synchronized方法的時(shí)候,如果在子類中調(diào)用父類方法,此時(shí)是鎖住的是子類對(duì)象,為什么不會(huì)是父類?

回答
編輯回答
遺莣

兩個(gè)問題源于一個(gè)錯(cuò)誤認(rèn)識(shí),實(shí)例化一個(gè)對(duì)象只產(chǎn)生一個(gè)對(duì)象,只是實(shí)例化時(shí)候會(huì)先調(diào)用父構(gòu)造器,那也是以未來返回這個(gè)對(duì)象的身份調(diào)用,并不會(huì)產(chǎn)生一個(gè)父類對(duì)象,占空間大小取決于類屬性有多少了,既然只有一個(gè)對(duì)象,談何鎖住父類對(duì)象呢

2018年1月20日 03:10
編輯回答
別傷我

實(shí)例化一個(gè)對(duì)象時(shí)只會(huì)使用invokespecial指令調(diào)用父類的<init>方法,也就是構(gòu)造器,不會(huì)實(shí)例化父類對(duì)象,在子類中調(diào)用父類方法,使用synchronized修飾方法鎖住的是當(dāng)前對(duì)象也就是子類。

2017年8月3日 02:45
編輯回答
放開她

要看你繼承的父類有多少成員變量和方法,子類實(shí)例化的時(shí)候分配的內(nèi)存是子類和父類成員屬性和方法的總和,跟父類的個(gè)數(shù)無關(guān),而第二個(gè)問題對(duì)于synchronized這樣的對(duì)象鎖,誰調(diào)用了synchronized方法就是鎖住誰,也就是this對(duì)象

2017年1月18日 15:35