java 值傳遞 引用傳遞 強(qiáng)引用和弱引用使用規(guī)范?
強(qiáng)引用和弱引用使用規(guī)范?[1強(qiáng)引用特點(diǎn):Obj在我們的典型代碼中object Obj=new object()是強(qiáng)引用。與關(guān)鍵字new創(chuàng)建的對(duì)象關(guān)聯(lián)的引用是強(qiáng)引用。當(dāng)JVM內(nèi)存空間不足時(shí),JVM寧愿拋
強(qiáng)引用和弱引用使用規(guī)范?
[1強(qiáng)引用
特點(diǎn):Obj在我們的典型代碼中object Obj=new object()是強(qiáng)引用。與關(guān)鍵字new創(chuàng)建的對(duì)象關(guān)聯(lián)的引用是強(qiáng)引用。當(dāng)JVM內(nèi)存空間不足時(shí),JVM寧愿拋出outofmemoryerror(OOM)使程序異常終止,也不愿回收具有強(qiáng)引用的“活動(dòng)”對(duì)象來(lái)解決內(nèi)存不足的問(wèn)題。對(duì)于普通對(duì)象,如果沒(méi)有其他引用關(guān)系,只要它超出引用的范圍或顯式地將相應(yīng)的(強(qiáng))引用賦值為null,就可以對(duì)其進(jìn)行垃圾收集。垃圾收集的具體時(shí)間取決于垃圾收集策略。
2弱引用
弱引用由WeakReference類實(shí)現(xiàn)。弱引用的生命周期比軟引用短。垃圾回收器線程在掃描其管轄的內(nèi)存區(qū)域的過(guò)程中,一旦發(fā)現(xiàn)弱引用對(duì)象,無(wú)論當(dāng)前內(nèi)存空間是否足夠,都會(huì)回收其內(nèi)存。由于垃圾收集器是一個(gè)低優(yōu)先級(jí)的線程,因此不需要快速回收弱引用對(duì)象。弱引用可以與引用隊(duì)列結(jié)合使用。如果弱引用引用的對(duì)象被垃圾收集,Java虛擬機(jī)將把弱引用添加到與其關(guān)聯(lián)的引用隊(duì)列中。
應(yīng)用場(chǎng)景:弱應(yīng)用程序也可用于內(nèi)存敏感緩存。
Java語(yǔ)言主要用來(lái)編寫什么?是不是編寫qq、瀏覽器之類的應(yīng)用?
Java編程語(yǔ)言由Sun Microsystems于1995年開(kāi)發(fā)。以前,它只用于設(shè)計(jì)和編程小型計(jì)算設(shè)備,后來(lái)被作為一種與平臺(tái)無(wú)關(guān)的編程語(yǔ)言采用。Java最重要的特點(diǎn)是它的字節(jié)碼可以在任何平臺(tái)上編譯,包括windows、Linux等,也可以從sun的官方網(wǎng)站免費(fèi)下載。正如我們前面提到的,Java編程語(yǔ)言只為小型設(shè)備開(kāi)發(fā),但現(xiàn)在它可以用于移動(dòng)電話、電子商務(wù)應(yīng)用程序、pc以及幾乎所有的網(wǎng)絡(luò)或計(jì)算設(shè)備。
Java有不同的形式:
JSP?與PHP和ASP一樣,Java服務(wù)器頁(yè)面基于帶有普通HTML標(biāo)記的代碼,這有助于創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)。
Java小程序?這是另一種用于網(wǎng)頁(yè)的Java程序,用于向web瀏覽器添加許多新功能。這些小程序用于即時(shí)通訊、聊天服務(wù)編程、解決一些復(fù)雜的計(jì)算和許多其他用途。
J2EE?各種公司使用Java 2 Enterprise Edition將基于XML結(jié)構(gòu)化文檔的數(shù)據(jù)傳輸?shù)奖舜恕?/p>
JavaBeans?它就像visualbasic和可重用的軟件組件,可以很容易地組裝起來(lái)創(chuàng)建一些新的高級(jí)應(yīng)用程序。
在語(yǔ)法方面,Java類似于C編程語(yǔ)言,但它有獨(dú)特的編碼風(fēng)格。它遵循循環(huán)、數(shù)據(jù)類型、條件、大括號(hào)、分號(hào)等所有通用編程特性。它是一種全功能的面向?qū)ο缶幊蹋∣OP)語(yǔ)言,因?yàn)樗С炙蠴OP功能,包括類、模塊、繼承、多態(tài)性等
Java最大的特點(diǎn)是跨平臺(tái),無(wú)論操作系統(tǒng)和硬件環(huán)境如何,都可以編寫一次并在任何地方運(yùn)行。