国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java 語言概述與開發(fā)環(huán)境

wangshijun / 1439人閱讀

摘要:一次性編譯成機(jī)器碼,脫離開發(fā)環(huán)境獨(dú)立運(yùn)行,運(yùn)行效率較高。解釋型語言使用專門的解釋器對(duì)源程序逐行解釋成特定平臺(tái)的機(jī)器碼并立即執(zhí)行的語言。垃圾回收機(jī)制保護(hù)程序的完整性,垃圾回收是語言安全性策略的一個(gè)重要部分。

Java程序運(yùn)行機(jī)制 編譯型語言

使用專門的編譯器,針對(duì)特定平臺(tái)(操作系統(tǒng))將某種高級(jí)語言源代碼一次性“翻譯”成可被該平臺(tái)硬件執(zhí)行的機(jī)器碼(包括機(jī)器指令和操作數(shù)),并包裝成該平臺(tái)所能識(shí)別的可執(zhí)行性程序的格式,這個(gè)轉(zhuǎn)換過程稱為編譯。編譯生成的可執(zhí)行性程序可以脫離開發(fā)環(huán)境,在特定的平臺(tái)上獨(dú)立運(yùn)行。

一次性編譯成機(jī)器碼,脫離開發(fā)環(huán)境獨(dú)立運(yùn)行,運(yùn)行效率較高。

編譯生成的可執(zhí)行性程序通常無法移植到其他平臺(tái)上運(yùn)行。

解釋型語言

使用專門的解釋器對(duì)源程序逐行解釋成特定平臺(tái)的機(jī)器碼并立即執(zhí)行的語言。解釋型語言通常不會(huì)進(jìn)行整體性的編譯和鏈接處理,解釋型語言相當(dāng)于把編譯型語言中的編譯和解釋過程混合到一起同時(shí)完成。

跨平臺(tái)比較容易,只需提供特定平臺(tái)的解釋器即可,每個(gè)特定平臺(tái)上的解釋器負(fù)責(zé)將源程序解釋成特定平臺(tái)的機(jī)器指令即可。

程序運(yùn)行效率通常較低,而且不能脫離解釋器獨(dú)立運(yùn)行。

Java程序的運(yùn)行機(jī)制和JVM

Java程序的執(zhí)行過程必須經(jīng)過先編譯、后解釋兩個(gè)步驟。
Java源文件(.java)→ 使用javac編譯 → 字節(jié)碼文件(.class)→ 使用java解釋執(zhí)行 → 特定平臺(tái)的機(jī)器碼

Java語言中負(fù)責(zé)解釋執(zhí)行字節(jié)碼文件的是Java虛擬機(jī),即JVM(Java Virtual Machine)JVM是運(yùn)行字節(jié)碼文件的虛擬計(jì)算機(jī)。所有平臺(tái)上的JVM向編譯器提供相同的編程接口,而編譯器只需要面向虛擬機(jī),生成虛擬機(jī)能理解的代碼,然后由虛擬機(jī)來解釋執(zhí)行。JVM:指令集+寄存器+類文件的格式+棧+垃圾回收堆+存儲(chǔ)區(qū)

垃圾回收機(jī)制

Java程序的內(nèi)存分配和回收都是由JRE在后臺(tái)自動(dòng)進(jìn)行的。JRE會(huì)負(fù)責(zé)回收那些不再使用的內(nèi)存,這種機(jī)制被稱為垃圾回收(Garbage Collection, GC)。通常JRE會(huì)提供一個(gè)后臺(tái)線程來進(jìn)行檢測(cè)和控制,一般都是在CPU空閑或內(nèi)存不足時(shí)自動(dòng)進(jìn)行垃圾回收,而程序員無法精確控制垃圾回收的時(shí)間和順序等。

Java的堆內(nèi)存是一個(gè)運(yùn)行時(shí)數(shù)據(jù)區(qū),用以保存類的實(shí)例(對(duì)象),Java虛擬機(jī)的堆內(nèi)存中存儲(chǔ)著正在運(yùn)行的應(yīng)用程序所建立的所有對(duì)象,這些對(duì)象不需要程序通過代碼來顯示式地釋放。

Java虛擬機(jī)具有兩個(gè)顯著特點(diǎn)

垃圾回收機(jī)制可以很好地提高編程效率。在沒有垃圾回收機(jī)制時(shí),可能要花許多時(shí)間來解決一個(gè)難懂的存儲(chǔ)器問題。在用Java語言編程時(shí),依靠垃圾回收機(jī)制可大大縮短時(shí)間。

垃圾回收機(jī)制保護(hù)程序的完整性,垃圾回收是Java語言安全性策略的一個(gè)重要部分。

垃圾回收具有如下幾個(gè)特點(diǎn)

垃圾回收機(jī)制的工作目標(biāo)是回收無用對(duì)象的內(nèi)存空間,這些內(nèi)存空間都是JVM堆內(nèi)存里的內(nèi)存空間,垃圾回收只能回收內(nèi)存資源,對(duì)其他物力資源,如數(shù)據(jù)庫連接、磁盤I/O等資源則無能為力。

為了更快地讓垃圾回收機(jī)制回收那些不再使用的對(duì)象,可以將該對(duì)象的引用變量設(shè)置為null,通過這種方式暗示垃圾回收機(jī)制可以回收該對(duì)象。

垃圾回收發(fā)生的不可預(yù)知性。不同的垃圾回收機(jī)制和不同的垃圾回收算法。

垃圾回收的精確性主要包括兩個(gè)方面:

垃圾回收機(jī)制能夠精確地標(biāo)記活著的對(duì)象;

垃圾回收器能夠精確地定位對(duì)象之間的引用關(guān)系。
前者是完全回收所有廢棄對(duì)象的前提,否則就可能造成內(nèi)存泄漏;而后者則是實(shí)現(xiàn)歸并和復(fù)制等算法的必要條件,通過這種引用關(guān)系,可以保證所有對(duì)象都能被可靠地回收,所有對(duì)象都能被重新分配,從而有效地減少內(nèi)存碎片的產(chǎn)生。

現(xiàn)在的JVM有多種不同的垃圾回收實(shí)現(xiàn),每種回收機(jī)制因其算法差異可能表現(xiàn)各異,有的當(dāng)垃圾回收開始時(shí)就停止應(yīng)用程序的運(yùn)行,有的當(dāng)垃圾回收運(yùn)行時(shí)允許應(yīng)用程序的線程運(yùn)行,還有的在同一時(shí)間允許垃圾回收多線程運(yùn)行。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/65236.html

相關(guān)文章

  • 從零開始學(xué) Java 之 基礎(chǔ)概述

    摘要:想著糾結(jié)來糾結(jié)去也沒有什么用,不如就從零開始吧。剛開始配置環(huán)境的時(shí)候,建議對(duì)照著學(xué)習(xí)視頻進(jìn)行配置,看書配置容易出錯(cuò)。本文原創(chuàng)發(fā)布于微信公眾號(hào),編程思維成長(zhǎng)正能量,關(guān)注并回復(fù)編程閱讀等關(guān)鍵字獲取免費(fèi)學(xué)習(xí)資料 showImg(https://segmentfault.com/img/remote/1460000016088460); 一直關(guān)注我的朋友們應(yīng)該都知道,很早之前我就打算開始寫 J...

    thursday 評(píng)論0 收藏0
  • Java編程基礎(chǔ)01——計(jì)算機(jī)基礎(chǔ)

    摘要:外部存儲(chǔ)器可用于長(zhǎng)期保存大量程序和數(shù)據(jù),其成本低容量大,但速度較慢。 1_計(jì)算機(jī)概述(了解) A:什么是計(jì)算機(jī)?計(jì)算機(jī)在生活中的應(yīng)用舉例 計(jì)算機(jī)(Computer)全稱:電子計(jì)算機(jī),俗稱電腦。是一種能夠按照程序運(yùn)行,自動(dòng)、高速處理海量數(shù)據(jù)的現(xiàn)代化智能電子設(shè)備。由硬件和軟件所組成,沒有安裝任何軟件的計(jì)算機(jī)稱為裸機(jī)。常見的形式有臺(tái)式計(jì)算機(jī)、筆記本計(jì)算機(jī)、大型計(jì)算機(jī)等。 應(yīng)用舉例 ...

    xiangzhihong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<