亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? javadegongzuoyuanli.txt

?? java 的運行原理~!!希望大家看一看吧~!
?? TXT
字號:
java的工作原理 
地址: http://studyroom.ccut.cn/article.php/146 
java虛擬機 
 java虛擬機是軟件模擬的計算機,可以在任何處理器上(無論是在計算機中還是在其它電子設備中)安全并且兼容的執行保存在.class文件中的字節碼。java虛擬機的"機器碼"保存在.class文件中,有時也可以稱之為字節碼文件。java程序的跨平臺主要是指字節碼文件可以在任何具有java虛擬機的計算機或者電子設備上運行,java虛擬機中的java解釋器負責將字節碼文件解釋成為特定的機器碼進行運行。java源程序需要通過編譯器編譯成為.class文件(字節碼文件),java程序的編譯和執行過程如動畫所示。



  但是,java虛擬機的建立需要針對不同的軟硬件平臺做專門的實現,既要考慮處理器的型號,也要考慮操作系統的種類。如下圖所示,目前在SPARC結構、X86結構、MIPS和PPC等嵌入式處理芯片上、在UNIX、Linux、windows和部分實時操作系統上都有java虛擬機的實現。



 
 
無用內存自動回收機制 
在程序的執行過程中,部分內存在使用過后就處于廢棄狀態,如果不及時進行無用內存的回收,就會導致內存泄漏,進而導致系統崩潰。在C++語言中是由程序員進行內存回收的,程序員需要在編寫程序的時候把不再使用的對象內存釋放掉;但是這種人為的管理內存釋放的方法卻往往由于程序員的疏忽而致使內存無法回收,同時也增加了程序員的工作量。而在java運行環境中,始終存在著一個系統級的線程,專門跟蹤內存的使用情況,定期檢測出不再使用的內存,并進行自動回收,避免了內存的泄露,也減輕了程序員的工作量。
 
代碼安全性檢查機制 
  安全和方便總是相對矛盾的。java編程語言的出現使得客戶端機器可以方便的從網絡上下載java程序到本機上運行,但是如何保證該java程序不攜帶病毒或者不懷有其它險惡目的呢?如果java語言不能保證執行的安全性,那么它就不可能存活到今天。雖然有時候少數程序員會抱怨說applet連文件系統也不能訪問,但是正是各種安全措施的實行才確保了java語言的生存。



--------------------------------------------------------------------------------


字節碼的執行需要經過三個步驟,首先由類裝載器(class loader)負責把類文件(.class文件)加載到java虛擬機中,在此過程需要檢驗該類文件是否符合類文件規范;其次字節碼校驗器(bytecode verifier)檢查該類文件的代碼中是否存在著某些非法操作,例如applet程序中寫本機文件系統的操作;如果字節碼校驗器檢驗通過,由java解釋器負責把該類文件解釋成為機器碼進行執行。java虛擬機采用的是"沙箱"運行模式,即把java程序的代碼和數據都限制在一定內存空間里執行,不允許程序訪問該內存空間外的內存,如果是applet程序,還不允許訪問客戶端機器的文件系統。
 
Java語言的特點 
1. 簡單、面向對象和為人所熟悉
  java的簡單首先體現在精簡的系統上,力圖用最小的系統實現足夠多的功能;對硬件的要求不高,在小型的計算機上便可以良好的運行。和所有的新一代的程序設計語言一樣,java也采用了面向對象技術并更加徹底,所有的java程序和applet程序均是對象,封裝性實現了模塊化和信息隱藏,繼承性實現了代碼的復用,用戶可以建立自己的類庫。而且java采用的是相對簡單的面向對象技術,去掉了運算符重載、多繼承的復雜概念,而采用了單一繼承、類強制轉換、多線程、引用(非指針)等方式。無用內存自動回收機制也使得程序員不必費心管理內存,是程序設計更加簡單,同時大大減少了出錯的可能。java語言采用了C語言中的大部分語法,熟悉C語言的程序員會發現java語言在語法上與C語言極其相似。

  2. 魯棒并且安全
  java語言在編譯及運行程序時,都要進行嚴格的檢查。作為一種強制類型語言,java在編譯和連接時都進行大量的類型檢查,防止不匹配問題的發生。如果引用一個非法類型、或執行一個非法類型操作,java將在解釋時指出該錯誤。在java程序中不能采用地址計算的方法通過指針訪問內存單元,大大減少了錯誤發生的可能性;而且java的數組并非用指針實現,這樣就可以在檢查中避免數組越界的發生。無用內存自動回收機制也增加了java的魯棒性。

  作為網絡語言,java必須提供足夠的安全保障,并且要防止病毒的侵襲。java在運行應用程序時,嚴格檢查其訪問數據的權限,比如不允許網絡上的應用程序修改本地的數據。下載到用戶計算機中的字節代碼在其被執行前要經過一個核實工具,一旦字節代碼被核實,便由java解釋器來執行,該解釋器通過阻止對內存的直接訪問來進一步提高java的安全性。同時java極高的魯棒性也增強了java的安全性。

  3. 結構中立并且可以移植
  網絡上充滿了各種不同類型的機器和操作系統,為使java程序能在網絡的任何地方運行,java編譯器編譯生成了與體系結構無關的字節碼結構文件格式。任何種類的計算機,只有在其處理器和操作系統上有java運行時環境,字節碼文件就可以在該計算機上運行。即使是在單一系統的計算機上,結構中立也有非常大的作用。隨著處理器結構的不斷發展變化,程序員不得不編寫各種版本的程序以在不同的處理器上運行,這使得開發出能夠在所有平臺上工作的軟件集合是不可能的。而使用java將使同一版本的應用程序可以運行在所有的平臺上。

  體系結構的中立也使得java系統具有可移植性。java運行時系統可以移植到不同的處理器和操作系統上,java的編譯器是由java語言實現的,解釋器是由java語言和標準C語言實現的,因此可以較為方便的進行移植工作。



--------------------------------------------------------------------------------

4. 高性能
  雖然java是解釋執行的,但它仍然具有非常高的性能,在一些特定的CPU上,java字節碼可以快速的轉換成為機器碼進行執行。而且java字節碼格式的設計就是針對機器碼的轉換,實際轉換時相當簡便,自動的寄存器分配與編譯器對字節碼的一些優化可使之生成高質量的代碼。隨著java虛擬機的改進和"即時編譯"(just in time)技術的出現使得java的執行速度有了更大的提高。

--------------------------------------------------------------------------------

5. 解釋執行、多線程并且是動態的

  如果你了解C語言和C++語言,可以參考下列java與C/C++語言的比較,如果不了解C語言和C++語言,可以忽略本部分知識。
  a. 全局變量
  java程序不能定義程序的全局變量,而類中的公共、靜態變量就相當于這個類的全局變量。這樣就使全局變量封裝在類中,保證了安全性,而在C/C++語言中,由于不加封裝的全局變量往往會由于使用不當而造成系統的崩潰。

  b. 條件轉移指令
  C/C++語言中用goto語句實現無條件跳轉,而java語言沒有goto語言,通過例外處理語句try、catch、finally來取代之,提高了程序的可讀性,也增強了程序的魯棒性。

  c. 指針
  指針是C/C++語言中最靈活,但也是最容易出錯的數據類型。用指針進行內存操作往往造成不可預知的錯誤,而且,通過指針對內存地址進行顯示類型轉換后,可以類的私有成員,破壞了安全性。在java中,程序員不能進行任何指針操作,同時java中的數組是通過類來實現的,很好的解決了數組越界這一C/C++語言中不做檢查的缺點。

  d. 內存管理
  在C語言中,程序員使用庫函數malloc()和free()來分配和釋放內存,C++語言中則是運算符new和delete。再次釋放已經釋放的內存塊或者釋放未被分配的內存塊,會造成系統的崩潰,而忘記釋放不再使用的內存塊也會逐漸耗盡系統資源。在java中,所有的數據結構都是對象,通過運算符new分配內存并得到對象的使用權。無用內存回收機制保證了系統資源的完整,避免了內存管理不周而引起的系統崩潰。

  e. 數據類型的一致性
  在C/C++語言中,不同的平臺上,編譯器對簡單的數據類型如int、float等分別分配不同的字節數。例如:int在IBM PC上為16位,在VAX-11上就為32位,導致了代碼數據的不可移植。在java中,對數據類型的位數分配總是固定的,而不管是在任何的計算機平臺上。因此就保證了java數據的平臺無關性和可移植性。

  f. 類型轉換
  在C/C++語言中,可以通過指針進行任意的類型轉換,不安全因素大大增加。而在java語言中系統要對對象的處理進行嚴格的相容性檢查,防止不安全的轉換。

  g. 頭文件
  在C/C++語言中使用頭文件聲明類的原型和全局變量及庫函數等,在大的系統中,維護這些頭文件是非常困難的。java不支持頭文件,類成員的類型和訪問權限都封裝在一個類中,運行時系統對訪問進行控制,防止非法的訪問。同時,java中用import語句與其它類進行通信,以便訪問其它類的對象。

  h. 結構和聯合
  C/C++語言中用結構和聯合來表示一定的數據結構,但是由于其成員均為公有的,安全性上存在問題。java不支持結構和聯合,通過類把數據結構及對該數據的操作都封裝在類里面。 

  i. 預處理
  C/C++語言中有宏定義,而用宏定義實現的代碼往往影響程序的可讀性,而java不支持宏定義。 
--------------------------------------------------------------------------------

5. 解釋執行、多線程并且是動態的
  為易于實現跨平臺性,java設計成為解釋執行,字節碼本身包含了許多編譯時生成的信息,使連接過程更加簡單。而多線程使應用程序可以同時進行不同的操作,處理不同的事件。在多線程機制中,不同的線程處理不同的任務,互不干涉,不會由于某一任務處于等待狀態而影響了其它任務的執行,這樣就可以容易的實現網絡上的實時交互操作。java在執行過程中,可以動態的加載各種類庫,這一特點使之非常適合于網絡運行,同時也非常有利于軟件的開發,即使是更新類庫也不必重新編譯使用這一類庫的應用程序。
 
java平臺-不斷擴展的計算平臺 
  

    java不僅是編程語言,還是一個開發平臺,java技術給程序員提供了許多工具:編譯器、解釋器、文檔生成器和文件打包工具等等。同時java還是一個程序發布平臺,有兩種主要的"發布環境",首先java運行時環境(java runtime environment,簡稱JRE)包含了完整的類文件包,其次許多主要的瀏覽器都提供了java解釋器和運行時環境。目前Sun公司把java平臺劃分成J2EE、J2SE、J2ME三個平臺,針對不同的市場目標和設備進行定位。J2EE是Java2 Enterprise Edition,主要目的是為企業計算提供一個應用服務器的運行和開發平臺。J2EE本身是一個開放的標準,任何軟件廠商都可以推出自己的符合J2EE標準的產品,使用戶可以有多種選擇。IBM、Oracle、BEA、HP等29家已經推出了自己的產品,其中尤以BEA公司的weglogic產品和IBM公司的websphare最為著名。J2EE將逐步發展成為可以與微軟的.NET戰略相對抗的網絡計算平臺。J2SE是Java2 Standard Edition,主要目的是為臺式機和工作站提供一個開發和運行的平臺。我們在學習java的過程中,主要是采用J2SE來進行開發。J2ME是Java2 Micro Edition,主要是面向消費電子產品,為消費電子產品提供一個java的運行平臺,使得java程序能夠在手機、機頂盒、PDA等產品上運行。上述三個java平臺的關系如右圖所示。
 
 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91理论电影在线观看| 曰韩精品一区二区| av高清久久久| 韩国女主播成人在线观看| **性色生活片久久毛片| 久久综合色8888| 日韩色视频在线观看| 欧美日韩精品综合在线| 色婷婷精品大视频在线蜜桃视频| 国产精品一品视频| 北条麻妃一区二区三区| 国产综合久久久久久久久久久久| 亚洲欧洲日韩av| 欧美国产精品一区| 久久久三级国产网站| 久久久综合视频| 精品福利在线导航| 精品国产髙清在线看国产毛片 | 蜜臀av一区二区在线免费观看| 亚洲一区二区高清| 麻豆国产精品官网| 成人性视频网站| 日本亚洲欧美天堂免费| 亚洲一线二线三线视频| 亚洲欧美日韩久久| 亚洲图片欧美色图| 看国产成人h片视频| 国产精品1区2区| 91美女视频网站| 777xxx欧美| 国产午夜精品美女毛片视频| 日韩一区欧美一区| 五月天婷婷综合| 成人永久看片免费视频天堂| 国产69精品久久久久毛片| 18成人在线观看| 亚洲v精品v日韩v欧美v专区| 精品一区二区三区的国产在线播放| 久久99精品久久久久久国产越南 | 亚洲柠檬福利资源导航| 日韩美女在线视频| 在线视频你懂得一区| 欧美裸体一区二区三区| 久久午夜老司机| 日本大胆欧美人术艺术动态| 成人午夜看片网址| 日韩欧美久久一区| 亚洲综合免费观看高清完整版在线| 国产一区二区三区美女| 欧美视频三区在线播放| 精品久久久久香蕉网| 日韩你懂的电影在线观看| 一区精品在线播放| 国产精品自产自拍| www激情久久| 日本美女一区二区三区| 色综合色狠狠天天综合色| 中文字幕av在线一区二区三区| 日本三级亚洲精品| 91精品国产综合久久久蜜臀粉嫩| 亚洲女同一区二区| 国产一区二区三区不卡在线观看| 91精品国产综合久久香蕉的特点 | 欧洲视频一区二区| 日韩精品一区二区三区视频| 亚洲色图一区二区| 床上的激情91.| 欧美一区二区在线免费播放| 精品88久久久久88久久久| 欧美性生活大片视频| 久久精品国产在热久久| 亚洲国产成人自拍| 欧美精品777| 高清成人在线观看| 视频在线观看一区| 国产精品久久三区| 韩国中文字幕2020精品| 欧美国产97人人爽人人喊| 欧美精选午夜久久久乱码6080| 激情综合五月婷婷| 亚洲一区二区三区不卡国产欧美| 久久精品视频免费观看| 欧美色欧美亚洲另类二区| 国产福利一区二区三区视频在线| 亚洲成人在线免费| 久久久久亚洲综合| 日韩一二三区视频| 国产丝袜美腿一区二区三区| 伊人婷婷欧美激情| 亚洲色图视频网| 精品一区二区免费在线观看| 欧美色男人天堂| 五月天激情综合| 日韩欧美一区二区在线视频| 亚洲午夜在线视频| 中文字幕va一区二区三区| 久久国产尿小便嘘嘘尿| 欧美乱熟臀69xxxxxx| 亚洲五码中文字幕| 欧美自拍偷拍午夜视频| 亚洲欧美激情视频在线观看一区二区三区 | 欧美一区在线视频| 亚洲大片在线观看| 欧美日韩高清影院| 亚洲第一福利一区| 欧美性欧美巨大黑白大战| 国产成人av资源| 日本少妇一区二区| 极品少妇一区二区| 日韩欧美色综合| 精品亚洲成a人在线观看| 精品久久久久久无| 国产剧情一区二区| 国产亚洲美州欧州综合国| 国产露脸91国语对白| 国产性做久久久久久| 成人永久免费视频| 成人欧美一区二区三区小说| 91影院在线观看| 亚洲精品ww久久久久久p站| 欧美无乱码久久久免费午夜一区 | 欧美精品一区二区三区一线天视频| 天天综合色天天综合色h| 欧美疯狂做受xxxx富婆| 精品综合久久久久久8888| 精品久久国产老人久久综合| 国产激情91久久精品导航| 国产精品久久久久三级| 99v久久综合狠狠综合久久| 亚洲一区二区三区在线看| 欧美日韩国产精选| 激情综合色播五月| 国产欧美一区二区三区网站 | 在线电影院国产精品| 麻豆国产精品一区二区三区| 精品日韩av一区二区| 国产成人日日夜夜| 国产精品电影一区二区三区| 欧美午夜影院一区| 久久99精品一区二区三区三区| 欧美国产1区2区| 欧美日韩国产另类不卡| 国产成人av一区二区三区在线| 亚洲柠檬福利资源导航| 日韩一区二区免费在线电影| 福利一区在线观看| 亚洲成a人在线观看| 久久久91精品国产一区二区三区| 99久久精品国产一区二区三区| 香蕉久久夜色精品国产使用方法| 欧美xxxxx牲另类人与| 99精品视频在线观看| 日日欢夜夜爽一区| 亚洲国产高清在线| 欧美日韩国产天堂| 成人午夜视频在线| 日韩高清在线不卡| 精品视频在线免费| 欧美疯狂性受xxxxx喷水图片| 欧美日韩在线播放三区四区| 欧美剧情片在线观看| 精品国产青草久久久久福利| 国产精品久久午夜| 亚洲国产精品一区二区尤物区| 成人中文字幕电影| 视频一区中文字幕国产| 亚洲欧美日韩中文播放| 欧洲精品一区二区| 亚洲一区二区3| 欧美在线观看视频一区二区| 久久精品水蜜桃av综合天堂| 亚洲一区在线播放| 国产一区二区主播在线| 欧美另类久久久品| 天堂蜜桃一区二区三区| 69久久99精品久久久久婷婷| 日韩美女精品在线| 美女久久久精品| 9久草视频在线视频精品| 欧美乱妇15p| 亚洲综合一区二区三区| 国产一区二区三区免费播放| 91国产精品成人| 欧美国产激情一区二区三区蜜月| 亚洲小说春色综合另类电影| 成人精品国产一区二区4080| 精品捆绑美女sm三区| 亚洲一区二区三区四区的| 成人精品电影在线观看| 精品日韩一区二区三区| 奇米四色…亚洲| 欧美一区二区在线免费播放| 亚洲最新视频在线观看| 丁香五精品蜜臀久久久久99网站| 91精品婷婷国产综合久久性色| 一区二区三区四区国产精品| 91丨porny丨中文| 中文字幕欧美三区| gogogo免费视频观看亚洲一| 欧美国产精品劲爆|