java的四個核心概念

Java已經成爲一個龐大而複雜的技術平臺,對於開發人員而言,要想更好的掌握Java技術,深入理解底層的技術處理細節必不可少。現在介紹下java的四個核心概念:

Java虛擬機
Java虛擬機的主要任務是裝在class文件並且執行其中的字節碼。Java虛擬機包含一個類裝載器,它可以從程序和 API中裝載class文件。Java API中只有程序執行時需要的那些類纔會被裝載。字節碼由執行引擎來執行。不同的Java虛擬機中,執行引擎可能實現得非常不同。在由軟件實現的虛擬機 中,最簡單的執行引擎就是一次性解釋字節碼。
另一種執行引擎更快,但是也更消耗內存,叫做"即時編譯器(just-in-time compiler)"。在這種情況下,第一次被執行的字節碼會被編譯成本地機器代碼。編譯出的本地機器代碼會被緩存,當方法以後被調用的時候可以重用。
第三種執行引擎是自適應優化器。在這種方法裏,虛擬機開始的時候解釋字節碼,但是會監視運行中程序的活動,並且記錄下使用最頻繁的代碼段。程序運行的時 候,虛擬機只把那些活動最頻繁的代碼編譯成本地代碼,其他的代碼由於使用得不是很頻繁,繼續保留爲字節碼-由虛擬機繼續解釋它們。
一個自適應的優化器可以使得Java虛擬機在80%~90%的時間裏執行被優化過的本地代碼,而只需要編譯10%~20%的對性能有影響的代碼。
2.類裝載器的體系結構

一個Java應用程序可以使用兩種類裝載器:"啓動(bootstrap)"類裝載器和用戶定義的類裝載器。啓動類裝載器(這是系統中唯一的)是 Java虛擬機實現的一部分。啓動類裝載器通常使用某種默認方式從本地磁盤中裝載類,包括Java API類(啓動類裝載器也被稱爲原始類裝載器、系統類裝載器或者默認類裝載器)。
Java應用程序能夠在運行時安裝用戶定義的類裝載器,這種類裝載器能夠使用自定義的方式來裝載類。例如,從網絡下載class文件。儘管啓動類裝載器是虛擬機實現的本質部分,而用戶定義的類裝載器不是,但用戶定義的類裝載器能夠用Java來編寫,能夠被編譯成class文件,能夠被虛擬機裝載,還能夠像 其它對象一樣實例化。
3.Java class文件

Java class文件主要在平臺無關性和網絡移動性方面使Java更適合網絡。它在平臺無關性方面的任務是:爲Java程序提供獨立於底層主機平臺的二進制形式 的服務。這種途徑途徑打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬件平臺和操作 系統的二進制文件。
通常情況下,一個平臺上的二進制可執行文件不能在其他平臺上工作。而Java class文件時可以運行在任何支持Java虛擬機的硬件平臺和操作系統上的二進制文件。
4.Java API

Java API通過支持平臺無關性和安全性,使得Java適應於網絡應用。Java API是運行庫的集合,它提供了一套訪問主機系統資源的標準方法。運行Java程序時,虛擬機裝載程序的class文件所使用的Java API class文件。所有被裝載的class文件(包括從應用程序中和從JavaAPI中提取的)和所有已經裝載的動態庫(包含本地方法)共同組成了在Java虛擬機上運行的整個程序。

Java技術的重要性
  如今,Java已是業界最流行的軟件技術之一。憑藉其在平臺獨立性、可移植性和廠商獨立性方面的出色表現,Java已在世界範圍內成爲大多數企業、機 構和團體的IT基礎設施的重要組成部分。通過爲不同平臺定義不同版本,如Java2標準版(Java2Standard Edition,J2SE)、Java2企業版(Java2EnterpriseEdition,J2EE)、Java2微型版(Java2Micro Edition,J2ME)和Java Card平臺版(Java Card Platform Edition),Sun Microsystems使每臺計算設備都能夠支持Java。J2EE平臺已成爲開發和部署以Web爲中心的大型企業級應用解決方案的首選平臺,由於其取 得的壓倒性勝利。J2ME和Java Card平臺版也已分別成爲在微處理器設備和智能卡上支持和提供應用解決方案的事實標準平臺。作爲在軟件業廣泛採納的安全、可靠的中間軟件平臺,Java 可以在各種平臺和設備上運行———從錢包大小的智能卡到巨無霸型的大型機,爲提供安全網絡通信的關鍵任務應用提供動力。另外,Java技術在遊戲、汽車、 空間環境遙測、嵌入式設備和實時處理領域也獲得了廣泛的接受。
  目前,Java爲軟件業提供了一個標準化平臺,該平臺正通過開放性Java社區運動(Java Community Process)獲得持續的發展。衆多企業和計算廠商都加入了Java社區運動,共同致力於確保Java平臺能夠最大限度地滿足各種行業和業務的需求。這 樣,Java成功地爲組織機構解決了阻止他們在信息爆炸的經濟社會中如何保持競爭力的核心問題。
  Java平臺的安全
  Java最初就是爲基於網絡的計算而設計的,因此安全措施從一開始就是Java設計中不可分割的一部分。Java的安全模型與傳統方法以及與之競爭的 平臺顯著不同。首先,大多數操作系統都允許應用訪問系統資源,管理員或用戶負責設置權限和防止公開的資源免受非授權訪問。更爲重要的是,用戶在運行應用前,必須驗證其真實性,並確保它不包含任何病毒或惡意程序。以上這些都是常用的操作系統的普遍缺點,它們依靠最終用戶在執行應用前檢查它並確定是否可信。相反,通過將安全作爲其核心平臺不可分割的部分,Java則採用主動方案。它允許用戶下載並運行不可信的應用,並通過將這些代碼限制在沙箱內以避免不必要 的風險。沙箱機制能保護資源免受潛在漏洞的影響,因此用戶所下載的程序不能訪問或修改沙箱外的用戶資源。Java還超越底層平臺爲應用提供端到端安全,確 保了各個層面的安全,包括用戶、組件、服務和通信。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章