av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語(yǔ)言

Java語(yǔ)言技術(shù)三大特性

時(shí)間:2025-05-04 19:27:03 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

Java語(yǔ)言技術(shù)三大特性

  Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。以下百分網(wǎng)小編整理的Java語(yǔ)言技術(shù)三大特性的介紹,希望對(duì)大家有所幫助,更多信息請(qǐng)關(guān)注應(yīng)屆畢業(yè)生網(wǎng)!

  1 :虛擬機(jī)

  Java 虛擬機(jī) JVM(Java Virtual Machine)在 Java 編程里面具有非常重要的地位,約相當(dāng)于前面學(xué)到的 Java 運(yùn)行環(huán)境,虛擬機(jī)的基本功能如下:

  (1):通過(guò) ClassLoader 尋找和裝載 class 文件

  (2):解釋字節(jié)碼成為指令并執(zhí)行,提供 class 文件的運(yùn)行環(huán)境

  (3):進(jìn)行運(yùn)行期間垃圾回收

  (4):提供與硬件交互的平臺(tái)

  Java虛擬機(jī)是在真實(shí)機(jī)器中用軟件模擬實(shí)現(xiàn)的一種想象機(jī)器。Java虛擬機(jī)代碼被存儲(chǔ)在 .class文件中; 每個(gè)文件都包含最多一個(gè)public類(lèi)。 Java 虛擬機(jī)規(guī)范為不同的硬件平臺(tái)提供了一種編譯Java技術(shù)代碼的規(guī)范,該規(guī)范使Java 軟件獨(dú)立于平臺(tái),因?yàn)榫幾g是針對(duì)作為虛擬機(jī)的“一般機(jī)器”而做。這個(gè)“一般機(jī)器”可用軟件模擬并運(yùn)行于各種現(xiàn)存的`計(jì)算機(jī)系統(tǒng),也可用硬件來(lái)實(shí)現(xiàn)。編譯器在獲取Java應(yīng)用程序的源代碼后,將其生成字節(jié)碼,它是為JVM生成的一種機(jī)器碼指令。每個(gè)Java解釋器,不管它是Java技術(shù)開(kāi)發(fā)工具,還是可運(yùn)行applets 的Web瀏覽器,都可執(zhí)行JVM。

  JVM 為下列各項(xiàng)做出了定義

  - 指令集(相當(dāng)于中央處理器[CPU] )

  - 寄存器

  - 類(lèi)文件格式

  - 棧

  - 垃圾收集堆

  - 存儲(chǔ)區(qū)

  JVM 的代碼格式由緊縮有效的字節(jié)碼構(gòu)成。 由 JVM 字節(jié)碼編寫(xiě)的程序必須保持適當(dāng)?shù)念?lèi)型約束。大部分類(lèi)型檢查是在編譯時(shí)完成。任何從屬的 Java 技術(shù)解釋器必須能夠運(yùn)行任何含有類(lèi)文件的程序,這些類(lèi)文件應(yīng)符合 Java 虛擬機(jī)規(guī)范中所指定的類(lèi)文件格式。

  1.1 :虛擬機(jī)是 Java 平臺(tái)無(wú)關(guān)的保障

  正是因?yàn)橛刑摂M機(jī)這個(gè)中間層,Java 才能夠?qū)崿F(xiàn)與平臺(tái)無(wú)關(guān)。 虛擬機(jī)就好比是一個(gè) Java運(yùn)行的基本平臺(tái),所有的 Java 程序都運(yùn)行在虛擬機(jī)上,如下圖所示:

  2 :垃圾回收

  2.1 :什么是垃圾

  在程序運(yùn)行的過(guò)程中,存在被分配了的內(nèi)存塊不再被需要的情況,那么這些內(nèi)存塊對(duì)程序來(lái)講就是垃圾。

  產(chǎn)生了垃圾,自然就需要清理這些垃圾,更為重要的是需要把這些垃圾所占用的內(nèi)存資源,回收回來(lái),加以再利用,從而節(jié)省資源,提高系統(tǒng)性能。

  2.2 :垃圾回收

  - 不再需要的已分配內(nèi)存應(yīng)取消分配(釋放內(nèi)存)

  - 在其它語(yǔ)言中,取消分配是程序員的'責(zé)任

  - Java 編程語(yǔ)言提供了一種系統(tǒng)級(jí)線程以跟蹤內(nèi)存分配

  - 垃圾收集

  - 可檢查和釋放不再需要的內(nèi)存

  - 可自動(dòng)完成上述工作

  - 可在 JVM 實(shí)現(xiàn)周期中,產(chǎn)生意想不到的變化

  許多編程語(yǔ)言都允許在程序運(yùn)行時(shí)動(dòng)態(tài)分配內(nèi)存,分配內(nèi)存的過(guò)程由于語(yǔ)言句法不同而有所變化,但總是要將指針?lè)祷氐絻?nèi)存的起始位置,當(dāng)分配內(nèi)存不再需要時(shí)(內(nèi)存指針已溢出范圍),程序或運(yùn)行環(huán)境應(yīng)釋放內(nèi)存。

  在 C,C++ 或其它語(yǔ)言中,程序員負(fù)責(zé)釋放內(nèi)存。有時(shí),這是一件很困難的事情。因?yàn)槟悴⒉豢偸鞘孪戎纼?nèi)存應(yīng)在何時(shí)被釋放。 當(dāng)在系統(tǒng)中沒(méi)有能夠被分配的內(nèi)存時(shí),可導(dǎo)致程序癱瘓,這種程序被稱(chēng)作具有內(nèi)存漏洞。

  Java 編程語(yǔ)言解除了程序員釋放內(nèi)存的責(zé)任。它可提供一種系統(tǒng)級(jí)線程以跟蹤每一次內(nèi)存的分配情況。在 Java 虛擬機(jī)的空閑周期,垃圾收集線程檢查并釋放那些可被釋放的內(nèi)存。垃圾收集在 Java 技術(shù)程序的生命周期中自動(dòng)進(jìn)行,它解除了釋放內(nèi)存的要求,這樣能夠有效避免內(nèi)存漏洞和內(nèi)存泄露(內(nèi)存泄露就是程序運(yùn)行期間,所占用的內(nèi)存一直往上漲,很容易造成系統(tǒng)資源耗盡而降低性能或崩潰)。

  2.3 :提示

  (1):在 Java 里面,垃圾回收是一個(gè)自動(dòng)的系統(tǒng)行為,程序員不能控制垃圾回收的功能和行為。比如垃圾回收什么時(shí)候開(kāi)始,什么時(shí)候結(jié)束,還有到底哪些資源需要回收等,都是程序員不能控制的。

  (2):有一些跟垃圾回收相關(guān)的方法,比如:System.gc() , 記住一點(diǎn),調(diào)用這些方法,僅僅是在通知垃圾回收程序,至于垃圾回收程序運(yùn)不運(yùn)行,什么時(shí)候運(yùn)行,都是無(wú)法控制的。

  (3):程序員可以通過(guò)設(shè)置對(duì)象為 null(后面會(huì)講到)來(lái)標(biāo)示某個(gè)對(duì)象不再被需要了,這只是表示這個(gè)對(duì)象可以被回收了,并不是馬上被回收。

  3 :代碼安全

  Java 如何保證編寫(xiě)的代碼是安全可靠的呢?

  (1):第一關(guān):編寫(xiě)的代碼首先要被編譯成為 class 文件,如果代碼寫(xiě)得有問(wèn)題,編譯期間就會(huì)發(fā)現(xiàn),然后提示有編譯錯(cuò)誤,無(wú)法編譯通過(guò)。

  (2):第二關(guān):通過(guò)編譯關(guān)后,在類(lèi)裝載的時(shí)候,還會(huì)進(jìn)行類(lèi)裝載檢查,把本機(jī)上的類(lèi)和網(wǎng)絡(luò)資源類(lèi)相分離,在調(diào)入類(lèi)的時(shí)候進(jìn)行檢查,因而可以限制任何“特洛伊木馬”的應(yīng)用。

  (3):第三關(guān):類(lèi)裝載后,在運(yùn)行前,還會(huì)進(jìn)行字節(jié)碼校驗(yàn),以判斷你的程序是安全的。

  (4):第四關(guān):如果你的程序在網(wǎng)絡(luò)上運(yùn)行,還有沙箱 (Sand Box)的保護(hù),什么是沙箱呢?

  就是如果你的程序沒(méi)有獲得授權(quán),只能在沙箱限定的范圍內(nèi)運(yùn)行,是不能夠訪問(wèn)本地資源的',從而保證安全性。

  如下圖所示:

  學(xué)習(xí)到這里,大家應(yīng)該對(duì) Java 有了一定的了解了。 現(xiàn)在是否想要看看 Java 程序究竟什么樣子呢?是不是想要體會(huì)一下如何開(kāi)發(fā) Java 程序呢?下面我們先來(lái)看看如何構(gòu)建 JSE 的環(huán)境,這是進(jìn)行 Java 程序開(kāi)發(fā)的第一步。

【Java語(yǔ)言技術(shù)三大特性】相關(guān)文章:

Java語(yǔ)言有哪些特性06-01

Java語(yǔ)言的8個(gè)特性07-04

Java技術(shù)三大特性05-27

Java技術(shù)三大特性講解01-22

淺談Java語(yǔ)言與Java 技術(shù)03-28

java技術(shù)三大特性是什么03-27

談Java語(yǔ)言與Java技術(shù)的介紹02-19

Java語(yǔ)言的技術(shù)應(yīng)用06-20

Java語(yǔ)法的主要特性05-24