六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Java學習之Java的運行環境

[摘要]Java 時下已經非常流行。全球每天有超過百萬的程序員在用Java進行著程序的開發。用Java編寫的程序也因為其硬件環境無關性而越來越受到人們的青睞。如果您希望成為Java世界的一員,那就看看這個系列的文章也許對您會有幫助。 無論哪種語言都需要有它特定的運行環境也就是平臺,Java 同樣...
Java 時下已經非常流行。全球每天有超過百萬的程序員在用Java進行著程序的開發。用Java編寫的程序也因為其硬件環境無關性而越來越受到人們的青睞。如果您希望成為Java世界的一員,那就看看這個系列的文章也許對您會有幫助。



無論哪種語言都需要有它特定的運行環境也就是平臺,Java 同樣不例外。您也許會問,Java程序不是有硬件環境無關性嗎?好吧,我希望這篇文章可以回答好這個問題。

幾乎所有的語言都是需要通過編譯或者解釋才可以被您的電腦執行。可是Java有一點不同,它同時需要這兩個過程。其實,也正是因為這個原因才使Java這種語言具有了平臺無關性。當您寫好了一個Java程序的時候(當然這個時候您并不用真的會寫Java程序)。首先,通過一段翻譯程序將它編譯成一種叫做字節碼的中間代碼。然后再由java平臺的解釋器將它翻譯成為機器語言來執行----平臺的核心叫做JVM(Java虛擬機)。Java的編譯過程也與其它的語言不同。例如像c++這樣的語言,在編譯的時候,是與機器的硬件平臺信息密不可分的。編譯程序通過查表將所有指令的操作數和操作碼等等轉換成內存的偏移量即程序運行時的內存分配方式,以保證程序運行。而Java卻是將指令轉換成為一種*.class的文件,這種文件不包含硬件的信息。需要執行的時候只要經過裝了JVM的機器解釋,創立內存布局后再通過查表來確定一條指令所在的地址。這樣就有效的保證了Java的可移植性和安全性。那么Java平臺為什么會有這么好的特性呢?

通常一個程序運行的平臺是一個硬件或者軟件運行的環境。目前比較流行的是Windows 2000, Linux, Solaris, 和MacOS。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版以后產生了一種叫分代收集技術,簡單的來說就是利用對象在程序中生存的時間劃分成代,以這個為標準進行碎片回收。關于碎片回收將在以后的文章中專門講解。

最后,通過本文我希望能使大家對Java的運行平臺有一個比較清楚的了解。在接下來的文章《 Java學習之踏上旅途的第一步》里我將告訴大家如何安裝一個Java平臺以及如何開始我們的第一個小程序



主站蜘蛛池模板: 亚洲hh| 我要看一级黄色 | 亚洲成a人片在线观看中文动漫 | 一级在线视频 | 亚洲欧美成人在线 | 特级毛片全部免费播放a一级 | 日本一区二区三区精品 | 婷婷激情久久 | 亚洲色中色 | 一区二区色| 亚洲乱码国产一区网址 | 天天躁夜夜躁狂狂躁综合 | 影音先锋色先锋 | 有毛片毛毛片毛片毛片 | 欧美影院久久 | 日韩毛片大全免费高清 | 亚欧洲精品在线视频免费观看 | 日韩视频久久 | 视色视频在线观看 | 日韩亚洲欧美一区二区三区 | 色中文字幕 | 婷婷久 | 亚洲一区二区三区影院 | 张丽莉老师的故事 | 四虎在线最新永久免费 | 新一级毛片国语版 | 亚洲an| 午夜激情在线观看 | 天天操天天操天天射 | 中文字幕亚洲一区二区v@在线 | 天天干夜啪| 色无极亚洲影院 | 亚洲第一综合色 | 日韩精品欧美激情国产一区 | 欧美又粗又硬又大久久久 | 天天天天天天操 | 伊人精品在线 | 婷婷中文在线 | 天堂tv| 青青草原亚洲视频 | 探花2700视频 |