亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
一区二区三区在线观看动漫| 国产成人自拍高清视频在线免费播放| 日本一道高清亚洲日美韩| 国产精品亚洲人在线观看| 欧美日韩一区不卡| 国产日产欧美一区二区视频| 午夜精品成人在线视频| 成人亚洲精品久久久久软件| 日韩一级大片在线| 亚洲人成小说网站色在线| 激情国产一区二区| 欧美福利一区二区| 一区二区三区色| 成人亚洲精品久久久久软件| www欧美成人18+| 日韩国产欧美三级| 色婷婷久久久久swag精品 | 国产精品久久久久影视| 蜜臀精品久久久久久蜜臀| 欧美性猛交xxxxxx富婆| 亚洲精品久久嫩草网站秘色| 成人黄色在线网站| 国产精品丝袜在线| 国产高清在线观看免费不卡| 欧美v日韩v国产v| 免费在线观看日韩欧美| 91精品国产一区二区人妖| 亚洲电影欧美电影有声小说| 欧美午夜精品一区二区三区| 一区二区三区丝袜| 欧美中文字幕一区| 亚洲一区二区免费视频| 在线观看91视频| 一区二区三区**美女毛片| 色婷婷国产精品久久包臀 | 国产精品热久久久久夜色精品三区| 蜜桃在线一区二区三区| 日韩一区二区免费在线电影| 美女一区二区三区在线观看| 欧美一级二级在线观看| 蜜臀av国产精品久久久久| 欧美一区二区三区免费在线看| 蜜臀a∨国产成人精品| 精品国产免费人成电影在线观看四季| 久久国产精品99久久人人澡| 精品国产91久久久久久久妲己| 韩国精品主播一区二区在线观看 | 午夜视频一区二区| 欧美一区二区三级| 国产精品一区一区三区| 亚洲私人黄色宅男| 欧美中文字幕一二三区视频| 亚洲国产成人91porn| 91精品在线观看入口| 国产在线视频一区二区三区| 中文字幕av一区二区三区| 一本一道波多野结衣一区二区| 亚洲福利一区二区三区| 精品乱码亚洲一区二区不卡| 成人动漫一区二区在线| 亚洲午夜电影在线观看| 精品国产乱码久久久久久久| av资源网一区| 日韩中文字幕区一区有砖一区| 久久色中文字幕| 99久久99久久免费精品蜜臀| 五月激情六月综合| 国产午夜精品一区二区三区嫩草| 99视频有精品| 麻豆成人久久精品二区三区小说| 久久久精品综合| 欧美色综合网站| 国产精品小仙女| 香蕉乱码成人久久天堂爱免费| 久久只精品国产| 91免费看片在线观看| 美女性感视频久久| 亚洲黄一区二区三区| 久久亚洲一区二区三区明星换脸| 91久久国产综合久久| 国产一二三精品| 亚洲h在线观看| 国产精品免费丝袜| 精品剧情v国产在线观看在线| 欧美在线免费观看亚洲| 丁香桃色午夜亚洲一区二区三区| 亚洲成人免费av| 亚洲欧美激情在线| 中文字幕av一区 二区| 日韩一区二区精品葵司在线| 在线观看亚洲成人| 成人h动漫精品一区二区 | 亚洲va国产va欧美va观看| 国产精品久久久久久久久免费相片 | 精品三级av在线| 8x8x8国产精品| 欧美精品在线观看播放| 99精品在线免费| 粉嫩久久99精品久久久久久夜| 精品在线播放免费| 欧美96一区二区免费视频| 一区二区三区四区激情| 亚洲欧洲综合另类在线| 亚洲欧美在线aaa| 国产婷婷一区二区| 久久久美女毛片| 精品久久久三级丝袜| 精品剧情v国产在线观看在线| 欧美一级片在线| 欧美一区日韩一区| 91精品国产综合久久福利软件| 欧美日韩亚洲不卡| 欧美精品久久一区二区三区| 欧美午夜在线一二页| 在线国产亚洲欧美| 精品视频一区 二区 三区| 欧美视频一区二区| 欧美日韩高清影院| 8v天堂国产在线一区二区| 欧美一二三四区在线| 日韩欧美一二三区| 久久亚洲一级片| 中文字幕va一区二区三区| 国产精品国产自产拍高清av | 亚洲一区二区高清| 亚洲成av人片一区二区三区| 亚洲超碰精品一区二区| 日韩精品福利网| 麻豆极品一区二区三区| 国产成人午夜片在线观看高清观看| 国内精品视频一区二区三区八戒| 国产高清无密码一区二区三区| 白白色亚洲国产精品| 色诱视频网站一区| 欧美探花视频资源| 精品国产一区久久| 最新高清无码专区| 五月婷婷久久综合| 国精产品一区一区三区mba视频 | 欧美理论片在线| 久久亚洲免费视频| 亚洲男同性视频| 免费久久精品视频| 成人a免费在线看| 欧美日本国产视频| 久久久久88色偷偷免费| 亚洲精品乱码久久久久久久久| 日本在线播放一区二区三区| 国产乱人伦精品一区二区在线观看| 97精品国产露脸对白| 欧美一级淫片007| 亚洲欧洲国产日本综合| 奇米精品一区二区三区在线观看一 | 久久精品国产免费| 色综合色综合色综合色综合色综合| 欧美一区二区国产| 亚洲欧洲av一区二区三区久久| 日本欧美韩国一区三区| 成人av影院在线| 91麻豆精品国产无毒不卡在线观看| 国产精品色哟哟| 久久成人18免费观看| 99国产精品国产精品久久| 精品噜噜噜噜久久久久久久久试看| 玉足女爽爽91| 成年人网站91| 久久久久久久综合日本| 石原莉奈在线亚洲二区| 国产盗摄女厕一区二区三区| 欧美午夜影院一区| 26uuu久久天堂性欧美| 香蕉加勒比综合久久| 国产a级毛片一区| 国内精品写真在线观看| 91精品国产全国免费观看 | 欧美影视一区在线| 日韩一区二区精品葵司在线| 亚洲国产婷婷综合在线精品| 激情综合网最新| 欧日韩精品视频| 日韩女同互慰一区二区| 有坂深雪av一区二区精品| 国产一区二区电影| 91丨porny丨蝌蚪视频| 国产精品家庭影院| 蜜臀久久99精品久久久久宅男| 色综合久久中文字幕| |精品福利一区二区三区| 麻豆成人av在线| 欧美一a一片一级一片| 亚洲激情综合网| 成人美女视频在线看| 日韩一级免费一区| 亚洲一区二区三区爽爽爽爽爽 | 精品99一区二区| 亚洲成人免费观看| 91国偷自产一区二区使用方法| 亚洲男女一区二区三区| www.日韩大片| 欧美激情综合五月色丁香小说|