本文目錄一覽:
- 1、昆明電腦培訓分享Java環境搭建及常見錯誤
- 2、什麼是Java?Java是用來做什麼的?
- 3、通俗的介紹一下JAVA,包括它的用途、功能、以及發展。
- 4、java網路編程的基本內容有哪些?其特點和優勢如何?請進行論述。
- 5、JAVA語言介紹是什麼?
- 6、java的運行環境是什麼?
昆明電腦培訓分享Java環境搭建及常見錯誤
本篇文章介紹了java軟體包的下載,環境搭建,及操作過程中出現的常見問題,昆明電腦培訓在此進行匯總,希望對大家有所幫助。
.搭建步驟
1.安裝配置
A.在官網上下載jdk;
B.在本地安裝下載的jdk軟體;
C.配置環境變數:右擊「我的電腦」–選擇「屬性」–「高級系統設置」–「環境變數」;
D.在彈出的對話窗口中,在」系統變數」部分,點擊」新建」(下面一個新建按鈕),彈出」新建系統變數」對話框,在變數名中輸入%JAVA_HOME%,在變數值中輸入jdk安裝路徑,例如:d:/java/jdk1.8,點擊」確定」按鈕;
E.在系統變數中,找到Path變數,點擊編輯」按鈕」,彈出」編輯系統變數」對話框,將游標選中變數值輸入框,並且移動到輸入框最前端,並輸入以下內容:
%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
說明:%JAVA_HOME%即為第4步配置的變數,代表了jdk的安裝路徑,配置在Path中,是為了讓計算機能夠找到java相關的命令,因為操作系統是從Path配置的路徑中尋找命令;
在Path中還可以配置其他軟體的命令,需要注意的是所有命令中間必須用分號(;)相隔,保證配置內容的完整性。
3.安裝測試
打開運行窗口(window+r),在窗口中輸入cmd,打開cmd窗口,輸入命令java-version
顯示出java版本信息,即表示安裝成功
二.常見錯誤
1.jdk下載版本出錯
A.在jdk的官網上,首先是按照操作系統進行分類,主要是Linux和windows系統下的不同版本;
B.其次是計算機處理器不同所需版本不同,下載jdk之前,應先知道計算機處理器是哪種類型,一般來說都是64位或者32位,在官網上都有相應的版本,64位的jdk名稱內都有x64字樣,而32位的jdk名稱內都有x86字樣;
C.最後是jdk版本的問題,作為一門企業級的編程語言,java一直在不斷的升級,相應的jdk也一直在更新,如果下載了不適合本地其他軟體或實際需求的jdk,那麼很可能會造成軟體不兼容的問題,也會在程序中存在bug的隱患,所以在選擇jdk版本時一定要考慮實際開發環境,根據實際需求來選擇。
2.jdk環境配置出錯
A.JAVA_HOME配置出錯:jdk的安裝目錄下會有jre文件夾,通常只配置到bin和lib文件夾所在目錄(即jre上級目錄),在後續配置中引入JAVA_HOME變數即可,如%JAVA_HOME%/bin;
B.在JAVA_HOME的變數值中,不能有標點符號,否則會路徑出錯;
C.在編輯Path變數時,每一項變數之間都要有分號進行分割,否則操作系統會將兩個變數當做一個變數來處理,所以為了安全起見,在path的變數值的最前面或最後面配置java路徑,同時用逗號分割,避免直接插入造成混淆;
D.配置完成後切記點擊確定按鈕保存配置;
E.配置完成後,在cmd命令窗口進行測試一定要使用java-version,否則沒有效果。
3.不當的卸載操作
A.在安裝jdk後,控制面板中的程序內會出現JavaSEDevelop字樣的程序,這些程序無需用戶進行手動升級或手動設置,不要隨意進行卸載;
B.配置好jdk後,盡量避免更改jdk的安裝路徑,否則系統會找不到java相關名令,如果修改了jdk的安裝路徑,則將%JAVA_HOME%的變數值替換為新路徑即可。
什麼是Java?Java是用來做什麼的?
我們常常會聽說,Java是世界第一語言,很多應用軟體的開發都離不開Java。Java真的這麼強大嗎?其實,Java的內容很豐富,可以實現的功能也有很多。
我們常常說的Java,首先它是一種計算機編程語言,程序員用它來和計算機交流,把要求和設想用Java語言表達出來,這個過程就是我們所說的使用Java編程,所以我們說Java是一種計算機編程語言。為了讓計算機看懂,Java會有一系列的規則和約定,這些就是Java的語法。
其次,Java是一種軟體開發平台。所謂軟體開發簡單地理解為:編程的結果是軟體或者程序,而編程的過程就是軟體開發。
那什麼是開發平台?在軟體開發的過程中,我們需要很多的工具來輔助我們的工作。我們把編程的環境和相應的輔助工具統稱為開發環境,開發平台就是用來提供這個開發環境的。
而Java作為一種開發平台,不單純是一個編程的語言,它自身提供了一系列開發Java所需要的環境和工具,來進行編譯、解釋、文檔生成、打包等,比如:javac.exe、javadoc.exe等等,所以我們講Java是一個開發平台。
另外,Java是一種軟體運行平台。Java本身提供Java軟體所需要的運行環境,Java應用可運行在安裝了JRE(JavaRuntimeEnvironment)的機器上,所以我們說Java是一個運行平台。JRE:JavaRuntimeEnvironment,Java運行環境。
Java也是一種軟體部署環境。簡單地講,部署就是安裝,就是把軟體放置到相應的地方,並且進行相應的配置(一般稱作部署描述)讓軟體能夠正常運行起來。
Java是一種軟體部署環境,Java本身是一個開發的平台,開發後的Java程序也是運行在Java平台上的。也就是說,開發後的Java程序也是部署在Java平台上的,這個尤其在後面學習JEE(Java的企業版)的時候,體現更為明顯。
看完以上內容,相信你已經對什麼是Java有了一定的了解。Java需求大,應用領域廣,有著良好的薪資待遇及發展空間,因此受到不少IT人士的熱烈追捧。
免責聲明:內容來源於公開網路,若涉及侵權聯繫儘快刪除!
通俗的介紹一下JAVA,包括它的用途、功能、以及發展。
Java是一種面向對象編程語言,最主要特點是跨平台,可以用來做桌面開發、WEB開發等
又因為它開源所以還是很有前途的
下面這些是摘抄自
Java 技術是什麼?
Java 技術既是一種高級的面向對象的編程語言,也是一個平台。Java 技術基於 Java 虛擬機(Java virtual machine,JVM)的概念 —— 這是語言與底層軟體和硬體之間的一種轉換器。Java 語言的所有實現都必須實現 JVM,從而使 Java 程序可以在有 JVM 的任何系統上運行。
Java 編程語言(Java programming language) 與眾不同之處在於:Java 程序既是編譯型的(compiled)(轉換為一種稱為 Java 位元組碼的中間語言),又是解釋型的(interpreted)(JVM 對位元組碼進行解析和運行)。編譯只進行一次,而解釋在每次運行程序時都會進行。編譯後的位元組碼採用一種針對 JVM 優化過的機器碼形式;解釋器是 JVM 的實現。
Java 平台(Java platform) 是一種純軟體平台,它可以在各種基於硬體的平台上運行。它有三個版本(參見後面的 Java 平台的多個版本)。它由 JVM 和 Java 應用程序編程介面(Java Application Programming Interface,API)組成。Java API 是一個大型的現成軟體組件(類)集合,它可以簡化 applet 和應用程序的開發和部署,包括健壯、安全且可互操作的企業應用程序。它涵蓋從基本對象到連網和安全性,再到 XML 生成和 Web 服務的所有東西。Java API 組織成相關類和介面的庫;庫也稱為包(package)。
除了 Java API 之外,每個完整的 Java 平台實現還包含:
用來編譯、運行、監視、調試應用程序以及建立應用程序文檔的開發工具。
用來部署應用程序的標準機制。
用來創建複雜的圖形用戶界面(GUI)的用戶界面工具包。
用來啟用資料庫訪問和操作遠程對象的集成庫。
Java 技術是最初由 Sun Microsystems 公司開發的。Java Community Process(JCP,一個由全世界的 Java 開發人員和獲得許可的人員組成的開放性組織)對 Java 技術規範、參考實現和技術兼容性包進行開發和修訂。在 2006 年 8 月,Sun Microsystems 宣布它打算開放 Java 平台的源碼,並開始徵詢對許可協議和管理方式的反饋。
Java 技術為什麼是重要的?
Java 語言的主要好處是,Java 應用程序可以跨硬體平台和操作系統進行移植 —— 這是因為每個平台上安裝的 JVM 都可以理解同樣的位元組碼。
Java 語言和平台的可伸縮性非常強。在低端,現有的應用程序可以很容易地適應內存資源有限的設備。這種語言是進行伺服器端 Web 編程的理想框架。因為它被設計為按照一種安全的方式通過網路運行,在通過互聯網進行操作時,它提供了一定程度的安全性。在本質上,Java 技術將用戶的計算能力從桌面擴展到了 Web 資源。Web 組件由稱為Web 容器(Web container) 的運行時平台支持,Web 容器的服務包括請求分派、安全性、並發性、生命周期管理以及對命名、事務和電子郵件等 API 的訪問。在高端,Java 應用伺服器(application server) 作為 Java 組件、XML 和 Web 服務的 Web 容器,可以與資料庫進行交互並提供動態的 Web 內容;它們還為企業應用程序提供應用程序開發環境,具有事務管理、安全性、集群、性能、可用性、連接性和可伸縮性等功能。
Java 語言是第一批支持企業開放標準的技術之一,支持使用 XML 和 Web 服務跨業務線共享信息和應用程序(參見下面的 Java 技術與 SOA/Web 服務的關係)。Java 技術是許多 IBM 產品和技術諮詢服務的核心(參見下面的 Java 程序員可用的 IBM 工具和產品),是 IBM 發展計劃的重要部分:
了解關於 IBM 的面向服務架構(SOA) 計劃的更多信息,以及 SOA 如何幫助用戶構建複合應用程序,從而將來自多個來源的功能組合在企業中以支持橫向業務流程。
IBM Business Innovation and Optimization 為戰略性調整提供一種基於組件的全面的方法。提供的解決方案基於一個靈活、可擴展、基於開放標準的軟體(包括 Java 技術)和硬體基礎結構。
Java 平台的多個版本
Java 平台有三個版本,這使軟體開發人員、服務提供商和設備生產商可以針對特定的市場進行開發:
Java SE(Java Platform,Standard Edition)。Java SE 以前稱為 J2SE。它允許開發和部署在桌面、伺服器、嵌入式環境和實時環境中使用的 Java 應用程序。Java SE 包含了支持 Java Web 服務開發的類,並為 Java Platform,Enterprise Edition(Java EE)提供基礎。大多數 Java 開發人員使用 Java SE 5,也稱為 Java 5.0 或 「Tiger」(2006 年 6 月,Java SE 6 或 「Mustang」 發布了 beta 版。)
Java SE 6 新特性系列 專欄主要介紹 Java SE 6 在 API 庫方面的部分新特性。
馴服 Tiger 專欄對 Java SE 5 做了精彩的概述。
Merlin 的魔力 系列討論了以前的 Java SE 平台版本,J2SE 1.4 或 「Merlin」。許多現有的 Java 應用程序基於 J2SE 1.4,而且這個系列中的大多數概念是與 Java SE 5 編程相關的。
Java EE(Java Platform,Enterprise Edition)。這個版本以前稱為 J2EE。企業版本幫助開發和部署可移植、健壯、可伸縮且安全的伺服器端 Java 應用程序。Java EE 是在 Java SE 的基礎上構建的,它提供 Web 服務、組件模型、管理和通信 API,可以用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和 Web 2.0 應用程序。
J2EE 探索者 專欄提供關於 Java EE 的知識。
走上開放之路:遷移到 Java 平台 文章系列幫助 .NET、Windows 客戶機/伺服器和 ASP 應用程序的開發人員遷移到 Java EE 平台。
Java ME(Java Platform,Micro Edition)。這個版本以前稱為 J2ME。Java ME 為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和印表機)上運行的應用程序提供一個健壯且靈活的環境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內置的網路協議以及對可以動態下載的連網和離線應用程序的豐富支持。基於 Java ME 規範的應用程序只需編寫一次,就可以用於許多設備,而且可以利用每個設備的本機功能。
這個全面的 分四部分的系列 包含兩個教程和兩篇配套文章,它們集中介紹 J2ME 和 Mobile Information Device Profile(MIDP)。
還可以在 developerWorks Wireless technology 專區中找到許多 J2ME 參考資料,比如分兩部分的教程 「構建靈活的 J2ME 移動應用程序」。
java網路編程的基本內容有哪些?其特點和優勢如何?請進行論述。
1.用Java編寫網路程序是非常簡單的——至少比在現有其他編程環境下要簡單得多。本書的新版本帶給開發者的是Java發展的最新特性。一旦開始使用Java的網路API進行網路編程,我們能做到可以想像到的一切事情。 本書對開發網路程序進行了非常完整的介紹(從應用程序和applet兩方面),它包括了從網路基礎到遠程方法調用(RMI)的所有內容。本書的章節涵蓋了TCP和UDP套接字、組播、內容和協議處理器以及兩個新的API:JSSE(SSL實現)和JavaMail API。擴充了I/O和多線程等基礎知識。還講述了在不直接編寫網路代碼時你所能夠實現的內容,例如如何用URL實現自己的目標、applet的基本功能以及如何用Swing處理HTML。無論是有經驗的網路程序員還是只想隨意看一看的初學者,都會發現本書對於Java的網路程序類的學習是相當完整的。本書內容涵蓋了:1、Java 2(JDK 1.2和1.3)和Java1.1。2、許多完整的程序(可在線獲取)。3、網路編程基礎的所有方面。4、一些高級專題,包括RMI和組播。5、許多重要的API,有JSSE、JavaMail以及Swing中的HTML解析器。Elliotte Rusty Harold是著名的Java網站Cafe Au Lait的作者(http://metalab.unc.edu/javafaq),國際知名的計算機專家。他是《Java I/O》以及其他一些Java和XML技術圖書的作者。 「直到找到這本書之後,我才開始真正理解Java網路編程。」——Bruce Eckel,《Java編程思想》的作者.
2.JAVA的特點§ 1.2 Java的特點
Java是一個廣泛使用的網路編程語言 ,它是一種新的計算概念。
首先 ,作為一種程序設計語言 ,它簡單、面向對象、不依賴於機器的結構、
具有可移植性、魯棒性、安全性、並且提供了並發的機制、具有很高的性能。其
次 ,它最大限度地利用了網路 ,Java的小應用程序 (applet)可在網路上傳輸而
不受 CPU和環境的限制。另外 ,Java還提供了豐富的類庫 ,使程序設計者可以很
方便地建立自己的系統。
下面我們分別從這三個方面來討論 Java的特點 ,然後通過把 Java與 C,
C++相比進一步指出它所具有的優點。
一、 Java語言
Java語言有下面一些特點 :簡單、面向對象、分散式、解釋執行、魯棒、
安全、體系結構中立、可移植、高性能、多線程以及動態性。
:1.簡單性
Java語言是一種面向對象的語言 ,它通過提供最基本的方法來完成指定的
任務 ,只需理解一些基本的概念 ,就可以用它編寫出適合於各種情況的應用程
序。 Java略去了運算符重載、多重繼承等模糊的概念 ,並且通過實現自動垃圾
收集大大簡化了程序設計者的內存管理工作。另外 ,Java也適合於在小型機上運
行 ,它的基本解釋器及類的支持只有 40KB左右 ,加上標準類庫和線程的支持也
只有 215KB左右。庫和線程的支持也只有 215KB左右。
2.面向對象
Java語言的設計集中於對象及其介面 ,它提供了簡單的類機制以及動態的
介面模型。對象中封裝了它的狀態變數以及相應的方法 ,實現了模塊化和信息
隱藏 ;而類則提供了一類對象的原型 ,並且通過繼承機制 ,子類可以使用父類
所提供的方法 ,實現了代碼的復用。
3.分布性
Java是面向網路的語言。通過它提供的類庫可以處理 TCP/IP協議 ,用戶
可以通過 URL地址在網路上很方便地訪問其它對象。
4.魯棒性
Java在編譯和運行程序時 ,都要對可能出現的問題進行檢查 ,以消除錯誤
的產生。它提供自動垃圾收集來進行內存管理 ,防止程序員在管理內存時容易
產生的錯誤。通過集成的面向對象的例外處理機制 ,在編譯時,Java提示出可能
出現但未被處理的例外 ,幫助程序員正確地進行選擇以防止系統的崩潰。另外,
Java在編譯時還可捕獲類型聲明中的許多常見錯誤 ,防止動態運行時不匹配問題
的出現。
5.安全性
用於網路、分布環境下的 Java必須要防止病毒的入侵。 Java不支持指針,
一切對內存的訪問都必須通過對象的實例變數來實現 ,這樣就防止程序員使用
“特洛伊 “木馬等欺騙手段訪問對象的私有成員 ,同時也避免了指針操作中容易
產生的錯誤。
6.體系結構中立
Java解釋器生成與體系結構無關的位元組碼指令 ,只要安裝了 Java運行時
系統 ,Java程序就可在任意的處理器上運行。這些位元組碼指令對應於 Java虛擬
機中的表示 ,Java解釋器得到位元組碼後 ,對它進行轉換 ,使之能夠在不同的平
台運行。
7.可移植性
與平台無關的特性使 Java程序可以方便地被移植到網路上的不同機器。
同時 ,Java的類庫中也實現了與不同平台的介面 ,使這些類庫可以移植。另外,
Java編譯器是由 Java語言實現的 ,Java運行時系統由標準 C實現 ,這使得Java
系統本身也具有可移植性。
8.解釋執行
Java解釋器直接對 Java位元組碼進行解釋執行。位元組碼本身攜帶了許多
編譯時信息 ,使得連接過程更加簡單。
9.高性能
和其它解釋執行的語言如 BASIC、 TCL不同 ,Java位元組碼的設計使之能
很容易地直接轉換成對應於特定CPU的機器碼 ,從而得到較高的性能。
10.多線程
多線程機制使應用程序能夠並行執行 ,而且同步機制保證了對共享數據
的正確操作。通過使用 多線程 ,程序設計者可以分別用不同的線程完成特定
的行為 ,而不需要採用全局的事件循環機制 ,這樣就很容易地實現網路上的實
時交互行為。
11.動態性
Java的設計使它適合於一個不斷發展的環境。在類庫中可以自由地加入
新的方法和實例變數而不會影響用戶程序的執行。並且 Java通過介面來支持
多重繼承 ,使之比嚴格的類繼承具有更靈活的方式和擴展性。
參考資料:
3.Java已用動態的交互應用軟體使Web栩栩如生。它使開發人員
具有『編寫一次到處運行TM」的巨大能力。而且,藉助其JavaAPI
及其編程語言上的Java虛擬機,它已產生一種分布信息的嶄新模式。
這種模式叫做Java企業計算,正在幫助各企業以各種不同的方法取
得競爭優勢。網管和控制已大大簡化。軟體分配基本上是免費的,
而且立即可實現。電子貿易已獲得。佔有成本大幅度降低。信息和
應用軟體到處可存取。
Java建立在簡單的前提基礎上,即所有微處理器都應講同一種
語言——所有內部採用晶元的產品都應能一起工作,無縫而方便地
共享信息。它已經改變企業和個人同Internet大交道的方式。現在,
它正在對消費類產品產生明顯的影響,而且從總體上更加深刻地影
響企業計算。
藉助Java,您可自由自在地使用您已擁有的硬體和軟體。這是因
為Java是獨立於平台的。它還可使您超越企業計算,使應用軟體在便
攜式計算機、信息亭、電視、蜂窩電話和其他大量設備上運行。
全世界的公司都已發現Java數不勝數的用途。所有用途可從其無
可比擬的能力,即提高可靠性、安全性和簡化各種不同計算產品和
環境的能力中受益非淺,而且節省的時間和費用十分可觀。
Java無處不在。它已擁有幾百萬個用戶,其發展速度要快於在它
以前的其他任何一種計算機產品。它可位於任何地方,而且能到處運
行。Java正在迅速被用做傳播信息的事實上標準,這是因為它既可給
企業,也可給最終用戶帶來似乎數不清的好處。
JAVA語言介紹是什麼?
「什麼是Java?」
Java,由Sun Microsystems公司於1995年5月推出,它是一種可以編寫跨平台應用軟體、完全面向對象的程序設計語言。
不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。
「Java是怎麼來的?」
20世紀末,硬體領域出現了單片式計算機系統,這種系統價格低廉,立即引起了研究人員的注意,由於C++程序過於複雜和龐大,研究人員開發了一種稱為Oak的面向對象語言。這是Java的雛形。
1995年,業界為了使單調的靜態網頁能夠「靈活」起來,急需開發一種程序。這時,Sun公司想起了那個被擱置很久的Oak,並將Oak更名為Java,它語言精簡,程序非常小,適合在網路上傳輸。
1995年5月,Sun公司正式發布Java。從此Java一路披荊斬棘,在經歷20多年的發展之後依然長盛不衰,常年雄踞各大編程語言排行榜第一位,這也凸顯了其在IT技術領域的絕對統治力。
「學了Java,我能幹什麼?」
●程序員,穿梭在各種軟體開發之間;
●架構師,參加大型項目的實現;
●網站開發,把若干個頁面組成集合;
●遊戲開發,在以前諾基亞還很流行的時候,手機遊戲有90%以上都是Java開發的;
……
除此之外還可以做嵌入式設備、消費類電子產品開發、桌面程序等工作。
Java技術作為互聯網的中流砥柱,其應用範圍之多,就業崗位之多,堪稱第一。
「Java的就業前景飽和了嗎?」
Java技術幾乎無處不在,只要有使用到電子產品的地方,就會和Java掛鉤。
近年,我國互聯網發展尤為迅速,外賣、電商、短視頻等各類產品層出不窮。其中,推動我國互聯網飛速發展,網民規模持續增長離不開一批中國程序員在背後的辛苦工作。
1.Java在我國的招聘情況:
以某招聘網站為例:
2.Java程序員薪資範圍分布圖:
從上圖我們可以看到,超過半數的資深程序員年薪在20萬以上,並且有近 40% 的資深程序員年薪在 25- 50 萬之間。
3.程序員也是一門「鐵飯碗」
2018 年下半年開始,很多互聯網公司大面積裁員,大家都說「資本寒冬」到來,但是從調查結果中可以看到90.9%的程序員「根本沒在怕的」!
「Java的應用範圍有多廣?」
Java能做的事情很多,涉及到編程領域的各個方面,從電子商務網站到 Android 應用,從科學應用到金融應用,從遊戲到桌面應用等等。
● Android應用
打開你的安卓手機和任何一款App,他們都是使用Java語言開發的。
市場上見到的手機系統,例如MIUI,阿里雲,樂蛙等,都是修改源代碼再發行的。
● 金融業應用的伺服器程序
因Java的安全性比較高,使其在金融服務業方面的應用廣泛。
大部分銀行和第三方交易系統均用Java開發前台和後台電子交易系統以及數據處理項目等等。
● Web應用
Java 語言在電子商務領域以及網站開發的領域都佔據了一定的位置。開發人員可以用不同的框架來創建web項目。
時常被應用在各個政府部門如科學技術部、國家安全部、文化部等部門。
● J2ME應用
有一段時間,安卓上可用的遊戲、軟體幾乎全部是用MIDP、CLDC,他們是J2ME平台的一部分。
● 大數據技術
Hadoop以及其他大數據處理技術很多都是用Java,例如Apache的基於Java的HBase和Accumulo以及 ElasticSearchas。
● 嵌入式領域
Java在嵌入式領域的發展有著廣闊的空間。在這樣平台上,只需130KB就可以很好使用Java技術。
java的運行環境是什麼?
Java的平台由兩個部分組成:一個是Java Virtual Machine即Java虛擬機,另一部分是Java Application Programming Interface (Java API) 即Java應用程序設計介面,這兩部份軟體就構成了Java運行的基本的環境。Java API 是一個大的已經做好的軟體集合,這個集合里有許多開發時所需要的控制項,用來輔助開發。Java API和JVM整合在一起處於機器硬體之上。也就是說,Java平台把一個Java應用程序從硬體系統分離開從而很好的保證了程序的獨立性。為了更好的適應開發的需要,Java的設計者們為我們提供了三種Java平台:Java 2 Micro Edition (J2ME ), Java 2 Standard Edition (J2SE)和 Java 2 Enterprise Edition (J2EE). 每一個版本都提供了豐富的開發工具箱以適應不同的開發需要。
讓我們來具體看看Java平台的核心JVM的具體結構。
為了讓編譯產生的位元組碼可以更好的解釋與執行,一共把JVM分成了主要的6塊:JVM解釋器,指令系統,寄存器,棧,存儲區,碎片回收區。
JVM解釋器就是這個虛擬機的處理欄位碼的CPU。
JVM指令系統同硬體計算機很相似。一條指令分成操作碼和操作數兩部分組成。操作碼為8位二進位數,操作數可以根據需要而定。操作碼是為了說明一條指令的功能,所以JVM可以有多達256種不同的操作指令。
JVM有自己的虛擬寄存器,這樣就可以快速的和JVM的解釋器進行數據交換。為了功能的需要,JVM設置了常用的4個32位寄存器:pc(程序計數器),optop(操作數棧頂指針),frame(當前執行環境指針),vars(指向當前執行環境中第一個局部變數的指針)。
JVM棧是指令執行的時候數據和信息存儲的場所和控制中心,它提供給JVM解釋器運算所需要的信息。
JVM存儲區就是為了把編譯過後的位元組碼等信息存儲起來。
JVM碎片回收是指將那些使用過後的Java類的具體的實例從內存進行回收,這就使得開發人員免去了自己編程式控制制內存的麻煩和危險。隨著JVM的不斷升級其碎片回收的技術和演算法也更加合理。比較經典的演算法有引用計數、複製、標記-清除和標記-整理。在JVM1.4.1版以後產生了一種叫分代收集技術,簡單的來說就是利用對象在程序中生存的時間劃分成代,以這個為標準進行碎片回收。關於碎片回收將在以後的文章中專門講解。
原創文章,作者:RAKII,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313568.html