C++,最初是Java的名字
2023-06-05 15:36 作者:大方老師單片機(jī)課堂 | 我要投稿
當(dāng)然,Java在誕生之初存在各種問題。然而,面對(duì)問題并解決問題,并不意味著由于問題存在,人類科技就不應(yīng)該進(jìn)步。
在這方面,我們特別要感謝像蘋果和谷歌這樣的公司,尤其是硅谷的眾多企業(yè)。正是由于他們的努力,編程語言變得越來越簡單易用。
舉個(gè)例子,Java從一開始就提供了自動(dòng)內(nèi)存管理機(jī)制,即垃圾回收(GC)。有了GC,內(nèi)存泄漏的可能性大幅降低。然而,GC執(zhí)行時(shí)會(huì)導(dǎo)致整個(gè)程序暫停的問題。那么,該如何解決這個(gè)問題呢?這就是一個(gè)需要解決的挑戰(zhàn)。
蘋果提出了ARC(自動(dòng)引用計(jì)數(shù)),谷歌提出了將堆內(nèi)存按照運(yùn)行線程切割的方法,而Java本身則致力于優(yōu)化GC暫停時(shí)間。目前,即使在最嚴(yán)苛的條件下,GC停頓時(shí)間已經(jīng)被優(yōu)化到不到1毫秒的水平。根據(jù)最新的測(cè)試結(jié)果,16TB的內(nèi)存可以在1毫秒內(nèi)完成GC,并且最大的停頓時(shí)間僅為0.13毫秒[1]。此外,基于這一技術(shù)樹,還進(jìn)一步發(fā)展出了許多短暫停GC的策略,如Shenandoah和LXR[2],而這些策略都是由不同的公司開發(fā)的。例如,Shenandoah主要由紅帽(Red Hat)開發(fā),而LXR則是由谷歌的團(tuán)隊(duì)完成,這進(jìn)一步推動(dòng)了該領(lǐng)域的繁榮和發(fā)展。
剛好我這里有資料需要的可以私我
標(biāo)簽: