国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

第一講 Java語言概述

2019-11-18 13:55:30
字體:
來源:轉載
供稿:網友

  ★ 第一講 java語言概述

【課前思考】
  1. 一門新的語言的產生是否需要借鑒以前的編程語言?
  2. 在java語言出現之前是否存在其它跨平臺的語言?
  3. 有哪些編程語言是面向對象的?而哪些編程語言是面向過程的?從編程思路上存在著哪些本質差別?C++語言是面向對象的還是面向過程的?
  4. 一段優秀的程序代碼是否應該是可讀性極強的?程序員之間是否應該遵循相同的編程規范?
  5. 一個程序員編好的代碼假如需要讓別的程序員使用,如何提供該代碼的使用說明?

1.1 java語言的發展史

1.1.1 java語言在互聯網時代獲得巨大成功

java語言具有安全、跨平臺、面向對象、簡單、適用于網絡等顯著特點,java語言已經成為最流行的網絡編程語言。

在經歷了以大型機為代表的集中計算模式和以PC機為代表的分散計算模式之后,互聯網的出現使得計算模式進入了網絡計算時代。網絡計算模式的一個特點是計算機是異構的,即計算機的類型和操作系統是不一樣的,例如SUN工作站的硬件是SPARC體系,軟件是UNIX中的Solaris操作系統,而PC機的硬件是INTEL體系,操作系統是windows或者是linux。網絡計算模式的另一個特點是代碼可以通過網絡在各種計算機上進行遷移,這就迫切需要一種跨平臺的編程語言,使得用它編寫的程序能夠在網絡中的各種計算機上能夠正常運行,java就是在這種需求下應運而生的。

1.1.2 java語言的產生

C語言是面向過程的語言,也是使用率非常高的語言;而面向對象的思想引入到編程語言之后,C語言就被改造成為面向對象的C++語言,得到了廣泛的應用。但是C++語言必須兼容C語言,因此C++語言是面向過程和面向對象混合的語言。

java語言產生于C++語言之后,是完全的面向對象的編程語言,充分吸取了C++語言的優點,采用了程序員所熟悉的C和C++語言的許多語法,同時又去掉了C語言中指針、內存申請和釋放等影響程序健壯性的部分。

java語言的一個目標是跨平臺,因此采用了解釋執行而不是編譯執行的運行環境,在執行過程中根據所在的不同的硬件平臺把程序解釋為當前的機器碼,實現跨平臺運行。而動態下載程序代碼的機制完全是為了適應網絡計算的特點,程序可以根據需要把代碼實時的從服務器中下載過來執行,在此之前還沒有任何一種語言能夠支持這一點。

1.2 java的工作原理

1.2.1 java虛擬機(1)

java虛擬機是軟件模擬的計算機,可以在任何處理器上(無論是在計算機中還是在其它電子設備中)安全并且兼容的執行保存在.class文件中的字節碼。java虛擬機的"機器碼"保存在.class文件中,有時也可以稱之為字節碼文件。java程序的跨平臺主要是指字節碼文件可以在任何具有java虛擬機的計算機或者電子設備上運行,java虛擬機中的java解釋器(java命令)負責將字節碼文件解釋成為特定的機器碼進行運行。



1.2.1 java虛擬機(2)

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



1.2.2 無用內存自動回收機制

在java運行環境中,始終存在著一個系統級的線程,專門跟蹤內存的使用情況,定期檢測出不再使用的內存,并進行自動回收,避免了內存的泄露,也減輕了程序員的工作量。

1.2.3 代碼安全性檢查機制
  字節碼的執行需要經過三個步驟,首先由類裝載器(class loader)負責把類文件(.class文件)加載到java虛擬機中,在此過程需要檢驗該類文件是否符合類文件規范;其次字節碼校驗器(bytecode verifier)檢查該類文件的代碼中是否存在著某些非法操作,例如applet程序中寫本機文件系統的操作;假如字節碼校驗器檢驗通過,由java解釋器負責把該類文件解釋成為機器碼進行執行。java虛擬機采用的是"沙箱"運行模式,即把java程序的代碼和數據都限制在一定內存空間里執行,不答應程序訪問該內存空間外的內存,假如是applet程序,還不答應訪問客戶端機器的文件系統。

1.2.4 Java語言的特點

java與C/C++語言的比較:

a. 全局變量
  java程序不能定義程序的全局變量,而類中的公共、靜態變量就相當于這個類的全局變量。這樣就使全局變量封裝在類中,保證了安全性,而在C/C++語言中,由于不加封裝的全局變量往往會由于使用不當而造成系統的崩潰。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保山市| 资溪县| 惠水县| 鸡西市| 唐山市| 罗定市| 沂水县| 翼城县| 铅山县| 临潭县| 漠河县| 莆田市| 蒙城县| 武清区| 巴彦淖尔市| 东乌珠穆沁旗| 六枝特区| 辉县市| 扎赉特旗| 太仆寺旗| 墨脱县| 库伦旗| 修文县| 繁峙县| 威信县| 通州区| 扶沟县| 乐都县| 朝阳市| 林西县| 平遥县| 张家川| 锦州市| 青田县| 余姚市| 故城县| 宜昌市| 阿坝县| 凤翔县| 忻州市| 元氏县|