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