摘要:和其他語言通過內(nèi)部類支持嵌套類。因此,它需要編譯器創(chuàng)建合成橋接方法,以提供對(duì)外部類的私有字段的訪問。這些更改對(duì)于支持嵌套類并編譯為字節(jié)碼的其他語言非常有用。此功能為引入了三個(gè)新方法此功能還需要更改虛擬機(jī)規(guī)范,特別是第節(jié)訪問控制。
Java(和其他語言)通過內(nèi)部類支持嵌套類。要使其正常工作,需要編譯器執(zhí)行一些技巧。這是一個(gè)例子:
public class Outer { private int outerInt; class Inner { public void printOuterInt() { System.out.println("Outer int = " + outerInt); } } }
在執(zhí)行編譯之前,編譯器會(huì)修改它以創(chuàng)建類似的東西:
public class Outer { private int outerInt; public int access$000() { return outerInt; } } class Inner$Outer { Outer outer; public void printOuterInt() { System.out.println("Outer int = " + outer.access$000()); } }
雖然從邏輯上講,內(nèi)部類是與外部類相同的代碼實(shí)體的一部分,但它被編譯為一個(gè)多帶帶的類。因此,它需要編譯器創(chuàng)建合成橋接方法,以提供對(duì)外部類的私有字段的訪問。
這個(gè)JEP引入了巢的概念,其中同一巢的兩個(gè)成員(我們的例子中的外部和內(nèi)部)是同窩。為類文件格式NestHost和NestMembers定義了兩個(gè)新屬性。這些更改對(duì)于支持嵌套類并編譯為字節(jié)碼的其他語言非常有用。
此功能為java.lang.Class引入了三個(gè)新方法:
Class getNestHost()
Class[] getNestMembers()
boolean isNestmateOf(Class)
此功能還需要更改Java虛擬機(jī)規(guī)范(JVMS),特別是第5.4.4節(jié)“訪問控制”。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73188.html
摘要:到年將提供修復(fù)和安全更新。中期版本將每六個(gè)月發(fā)布一次。將擴(kuò)展類文件格式以支持新的常量池形式。將提供一個(gè)低開銷的數(shù)據(jù)收集框架,用于對(duì)應(yīng)用程序和進(jìn)行故障排除。項(xiàng)目負(fù)責(zé)人表示,維護(hù)成本和低使用率并不能證明其保留是合理的。將是第一個(gè)獲得支持的平臺(tái)。 Java JDK 11刪除了CORBA,Java EE和JavaFX支持,但添加了十幾個(gè)主要新功能。 Java Development Kit(J...
摘要:千呼萬喚,于正式發(fā)布版本即,也就是官方推薦可以廣泛使用的版本,其中發(fā)布了包括等個(gè)新特性,讓我們一睹為快。一新特性一覽二發(fā)布計(jì)劃日期階段說明對(duì)進(jìn)入階段的變化會(huì)應(yīng)用越來越嚴(yán)格的審查。我們需要支持以保持競爭力并與最新標(biāo)準(zhǔn)保持同步。 千呼萬喚,JDK11于2018-09-25正式發(fā)布GA版本(GA即General Availability,也就是官方推薦可以廣泛使用的版本),其中發(fā)布了包括ZG...
摘要:服務(wù)器插件在其他的服務(wù)器進(jìn)程內(nèi)部地址空間啟動(dòng)一個(gè)虛擬機(jī),容器組件在此虛擬機(jī)中運(yùn)行。如有客戶端發(fā)出調(diào)用請(qǐng)求,服務(wù)器插件獲得對(duì)此請(qǐng)求的控制并轉(zhuǎn)發(fā)給容器組件使用通訊機(jī)制,即本地調(diào)用接口。 博文參考 http://xtony.blog.51cto.com/3964396/988706/ http://blog.sina.com.cn/s/blog_a0e7e34c01015nes.html h...
摘要:服務(wù)器插件在其他的服務(wù)器進(jìn)程內(nèi)部地址空間啟動(dòng)一個(gè)虛擬機(jī),容器組件在此虛擬機(jī)中運(yùn)行。如有客戶端發(fā)出調(diào)用請(qǐng)求,服務(wù)器插件獲得對(duì)此請(qǐng)求的控制并轉(zhuǎn)發(fā)給容器組件使用通訊機(jī)制,即本地調(diào)用接口。 博文參考 http://xtony.blog.51cto.com/3964396/988706/ http://blog.sina.com.cn/s/blog_a0e7e34c01015nes.html h...
閱讀 4915·2021-10-13 09:39
閱讀 1971·2019-08-29 11:12
閱讀 1161·2019-08-28 18:16
閱讀 1873·2019-08-26 12:16
閱讀 1260·2019-08-26 12:13
閱讀 3006·2019-08-26 10:59
閱讀 2315·2019-08-23 18:27
閱讀 3004·2019-08-23 18:02