麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

第一講 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++語言中,由于不加封裝的全局變量往往會由于使用不當而造成系統的崩潰。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级黄色毛片播放 | 黄色网战入口 | 亚洲精品一区二区三区免 | 伊人午夜视频 | 男女视频免费看 | 国产日韩一区二区三区在线观看 | 日本中文字幕电影在线观看 | caoporn国产一区二区 | 91在线视频播放 | 国产精品久久久久久久四虎电影 | 国产亚洲精品网站 | 欧美久久一区二区 | 欧洲伊人网 | 国产精品成人一区二区三区吃奶 | 欧美激情性色生活片在线观看 | 欧美亚洲国产成人 | xxxxhd73国产 | 成人毛片100部 | 午夜在线视频观看 | 日本中文字幕网址 | 中国hdxxxx护士爽在线观看 | 全黄毛片| 一级片免费在线 | 美国黄色毛片女人性生活片 | 一区二区三区在线观看国产 | 久久一区二区三区av | 久久精品二区 | sesee99| 羞羞视频免费网站含羞草 | 国产精品午夜在线 | 在线免费观看毛片 | 久久久久久三区 | av在线免费观看国产 | 午夜小视频免费观看 | 久久9久久 | 国产精品久久久久久久久久三级 | 亚洲一区二区三区在线免费观看 | 在线成人免费视频 | 国产精品久久久久一区二区 | 久草视频在线看 | 日韩2区 |