<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    Java語言技術三大特性

    時間:2025-05-04 19:27:03 java語言 我要投稿
    • 相關推薦

    Java語言技術三大特性

      Java是一種可以撰寫跨平臺應用程序的面向對象的程序設計語言。以下百分網小編整理的Java語言技術三大特性的介紹,希望對大家有所幫助,更多信息請關注應屆畢業生網!

      1 :虛擬機

      Java 虛擬機 JVM(Java Virtual Machine)在 Java 編程里面具有非常重要的地位,約相當于前面學到的 Java 運行環境,虛擬機的基本功能如下:

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

      (2):解釋字節碼成為指令并執行,提供 class 文件的運行環境

      (3):進行運行期間垃圾回收

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

      Java虛擬機是在真實機器中用軟件模擬實現的一種想象機器。Java虛擬機代碼被存儲在 .class文件中; 每個文件都包含最多一個public類。 Java 虛擬機規范為不同的硬件平臺提供了一種編譯Java技術代碼的規范,該規范使Java 軟件獨立于平臺,因為編譯是針對作為虛擬機的“一般機器”而做。這個“一般機器”可用軟件模擬并運行于各種現存的`計算機系統,也可用硬件來實現。編譯器在獲取Java應用程序的源代碼后,將其生成字節碼,它是為JVM生成的一種機器碼指令。每個Java解釋器,不管它是Java技術開發工具,還是可運行applets 的Web瀏覽器,都可執行JVM。

      JVM 為下列各項做出了定義

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

      - 寄存器

      - 類文件格式

      - 棧

      - 垃圾收集堆

      - 存儲區

      JVM 的代碼格式由緊縮有效的字節碼構成。 由 JVM 字節碼編寫的程序必須保持適當的類型約束。大部分類型檢查是在編譯時完成。任何從屬的 Java 技術解釋器必須能夠運行任何含有類文件的程序,這些類文件應符合 Java 虛擬機規范中所指定的類文件格式。

      1.1 :虛擬機是 Java 平臺無關的保障

      正是因為有虛擬機這個中間層,Java 才能夠實現與平臺無關。 虛擬機就好比是一個 Java運行的基本平臺,所有的 Java 程序都運行在虛擬機上,如下圖所示:

      2 :垃圾回收

      2.1 :什么是垃圾

      在程序運行的過程中,存在被分配了的內存塊不再被需要的情況,那么這些內存塊對程序來講就是垃圾。

      產生了垃圾,自然就需要清理這些垃圾,更為重要的是需要把這些垃圾所占用的內存資源,回收回來,加以再利用,從而節省資源,提高系統性能。

      2.2 :垃圾回收

      - 不再需要的已分配內存應取消分配(釋放內存)

      - 在其它語言中,取消分配是程序員的'責任

      - Java 編程語言提供了一種系統級線程以跟蹤內存分配

      - 垃圾收集

      - 可檢查和釋放不再需要的內存

      - 可自動完成上述工作

      - 可在 JVM 實現周期中,產生意想不到的變化

      許多編程語言都允許在程序運行時動態分配內存,分配內存的過程由于語言句法不同而有所變化,但總是要將指針返回到內存的起始位置,當分配內存不再需要時(內存指針已溢出范圍),程序或運行環境應釋放內存。

      在 C,C++ 或其它語言中,程序員負責釋放內存。有時,這是一件很困難的事情。因為你并不總是事先知道內存應在何時被釋放。 當在系統中沒有能夠被分配的內存時,可導致程序癱瘓,這種程序被稱作具有內存漏洞。

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

      2.3 :提示

      (1):在 Java 里面,垃圾回收是一個自動的系統行為,程序員不能控制垃圾回收的功能和行為。比如垃圾回收什么時候開始,什么時候結束,還有到底哪些資源需要回收等,都是程序員不能控制的。

      (2):有一些跟垃圾回收相關的方法,比如:System.gc() , 記住一點,調用這些方法,僅僅是在通知垃圾回收程序,至于垃圾回收程序運不運行,什么時候運行,都是無法控制的。

      (3):程序員可以通過設置對象為 null(后面會講到)來標示某個對象不再被需要了,這只是表示這個對象可以被回收了,并不是馬上被回收。

      3 :代碼安全

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

      (1):第一關:編寫的代碼首先要被編譯成為 class 文件,如果代碼寫得有問題,編譯期間就會發現,然后提示有編譯錯誤,無法編譯通過。

      (2):第二關:通過編譯關后,在類裝載的時候,還會進行類裝載檢查,把本機上的類和網絡資源類相分離,在調入類的時候進行檢查,因而可以限制任何“特洛伊木馬”的應用。

      (3):第三關:類裝載后,在運行前,還會進行字節碼校驗,以判斷你的程序是安全的。

      (4):第四關:如果你的程序在網絡上運行,還有沙箱 (Sand Box)的保護,什么是沙箱呢?

      就是如果你的程序沒有獲得授權,只能在沙箱限定的范圍內運行,是不能夠訪問本地資源的',從而保證安全性。

      如下圖所示:

      學習到這里,大家應該對 Java 有了一定的了解了。 現在是否想要看看 Java 程序究竟什么樣子呢?是不是想要體會一下如何開發 Java 程序呢?下面我們先來看看如何構建 JSE 的環境,這是進行 Java 程序開發的第一步。

    【Java語言技術三大特性】相關文章:

    Java語言有哪些特性06-01

    Java語言的8個特性07-04

    Java技術三大特性05-27

    Java技術三大特性講解01-22

    淺談Java語言與Java 技術03-28

    java技術三大特性是什么03-27

    談Java語言與Java技術的介紹02-19

    Java語言的技術應用06-20

    Java語法的主要特性05-24

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人