1. 程式人生 > 其它 >1903021124-馬沙 實驗一 19信計JAVA-MARKDOWN排版學習

1903021124-馬沙 實驗一 19信計JAVA-MARKDOWN排版學習

任務一:在部落格園平臺註冊個人部落格賬號以及加入班級部落格(已完成)
————————————————————————————————————————————————
任務二:學習構建之法以及完成部落格首秀(已完成)
————————————————————————————————————————————————
任務三(內容見下文)

1. JAVA特徵以及特徵含義

1.1 簡單性:
Java語言句法和語義都比較單純,容易學習和使用。另外,Java 對C++中容易引起錯誤的成分進行了相當成功的改造,例如去掉指標,取消多重繼承和運算子過載,記憶體管理由程式設計師移向Java內嵌的自動記憶體回收機制等,從而簡化語義,減少出錯機會,減輕程式設計師負擔。Java還提供大量功能豐富的可重用類庫,簡化了程式設計工作量。例如,訪問Internet資源,在C++中需要編寫大量複雜的程式,但使用Java只需數行程式碼,其餘工作由Java類庫完成。

1.2 面向物件:
作為一種面向物件的程式語言,Java不僅最為“純潔”,同時,它對面向物件方法學的支援也最為全面。與C++一樣,Java的物件有模組化性質和資訊隱藏能力,滿足面向物件的封裝要求。Java 支援面向物件的繼承性。另外,Java 通過抽象類和介面(interface)支援面向物件的多型性要求,即一個對外介面,多種內部實現。
1.3 分散式特徵:
Java具有支援分散式計算的特徵。分散式計算中,“分佈”具有兩層含義:一是資料分佈,即應用系統所操作的資料可以分散儲存在不同的網路節點上;二是操作分佈,即應用系統的計算可由不同的網路節點完成。Java 實現如下兩種層次上的分佈。
資料分佈支援:通過Java的URL類,Java程式可以訪問網路上的各類資訊資源,訪問方式完全類似於本地檔案系統。
操作分佈支援: Java通過嵌在www頁面中的Ape(小應用程式)將計算從伺服器分佈至客戶機。Applet 由www瀏覽器在客戶端執行,從而避免了網路擁擠,提高了系統效率。
1.4 強壯性:


Java提供自動垃圾收集來進行記憶體管理,防止程式設計師在管理記憶體時容易產生的錯誤出現。通過整合的面向物件的例外處理機制,在編譯時,Java提示出可能出現但未被處理的例外,幫助程式設計師正確地進行選擇以防止系統的崩潰。另外,Java是一種強型別語言,程式編譯時要經過嚴格的型別檢查,防止程式執行時出現型別不匹配等問題。
1.5 安全性:
Java通常被用在網路環境中,為此,Java提供了一個安全機制以防惡意程式碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網路下載的類具有一個安全防範機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、位元組程式碼檢查,並提供安全管理機制(類SecurityManager)讓Java應用設定安全哨兵。
1.6 體系結構中立:

Java語言的設計不是針對某種具體平臺結構的。Javn 為了做到結構中立.除了上面提到的編譯生成機器無關的位元組碼外,還制定了完整統一的語言文字。 如Java的基本資料型別不會隨目標機的變化而變化,一個整型總是32位,一個長整型總是64位。像C和C++這樣的現代程式設計語言並不滿足這一點, 不同的編譯器和開發環境之間總會有此細微的不同。
為了使Java的應用程式不依賴於底層具體的系統.Java語言環境還提供了一個用於訪問底層作業系統功能的可擴充套件類庫.例如核心語言類庫java. lang、實用工具類庫java. uil輸人/輸出類庫java.io、網路通訊類庫java. net、圖形使用者介面工具類庫java. awt、支援Applet的類庫java. applet等。當程式使用這些庫時,可以確保它能執行在支援Java的各種平臺上。
1.7 可移植性:
Java是迄今為止對可移植性支援最佳的程式語言。Java 的最大特點是“一次程式設計.處處執行”。任何機器只要配備了Java直譯器,便可執行Java程式。這種可移植性源於兩方面:一是Java的半編譯、半解釋特徵;另一方面是Java體系結構中立,採用標準的獨立於硬體平臺的資料型別,對資料型別都有嚴格的規定.並且不會因為機器的不同而改變。
1.8 半編譯、半解釋特徵:
Java運用程式的執行過程具有半編譯、半解釋的特徵。採用編譯器對程式進行編譯,但編譯得到的是一種中性的位元組碼,並不是本機程式碼,編譯沒有進行徹底,所以稱為“半編譯”。位元組碼的執行採取解釋執行方式,這種解釋執行與傳統的解釋執行的差別是:不是以原始碼為輸入的,而是以程式編譯後產生的位元組碼為輸入,所以稱為“半解釋”。這種半編譯、半解釋的過程兼具編譯執行的效率優勢和解釋執行的靈活性。
1.9 高效能:
Java語言雖然採取位元組碼解釋執行方式,但由於位元組碼與機器碼十分接近.使得位元組碼到機器碼的轉換十分快捷。另外,Java 還提供了即時編譯技術,即將要執行的位元組碼一次編譯為機器程式碼,再全速執行,提高了Java應用的執行速度。這些使得Java語言在實現了可移植等特性的同時,又具有高效能。
1.10 多執行緒:
執行緒是比程序更小、開銷更少的併發執行單位,它與程序的主要差異在於它不擁有單獨的資源,而是與其他執行緒共享所屬程序的資源。在Java語言出現之前.執行緒機制已經在作業系統領域廣泛使用,並在改善系統執行效率方面取得了明顯的效果。像Windows.0S 2等新型作業系統,都支援多工的併發處理。Java 的特點是在語言級嵌人了多執行緒機制,支援程式的併發處理功能。從程式的角度看,一個執行緒就是應用程式中的一個執行流。一個Java程式可以有多個執行執行緒。
多執行緒程式設計的最大問題是執行緒的同步。其基本原理是C. A. R. Hoare提出的,並在許多新型作業系統中廣泛使用臨界區保護規則。Java 將這些原理整合到語言中,使這些規則的使用更加方便有效。
如果底層的作業系統支援多執行緒,Java的執行緒通常被對映到實際的作業系統執行緒中、這意昧著在多機環境下,用Java寫的程式可以並行執行。
1.11動態特性:
Java的動態特性是其面向物件設計的延伸。Java程式的基本組成單元是類,二Java的類又是執行時動態裝載的,這使得Java可以動態地維護應用程式及其支援類之間的一發性,而不用像(C++那樣,當其支援類庫升級之後,相應的應用程式都必須重新編譯。

2. Java的執行系統包括以下幾部分:

類裝配器、位元組碼驗證器、直譯器、程式碼生成器和執行系統支援庫

Java的執行過程是怎麼樣的?
Java程式從原始檔建立到程式執行要經過兩大步驟
1.原始檔由編譯器編譯成位元組碼(ByteCode)
2.位元組碼由java虛擬機器解釋執行。
Java原始檔(.java),通過java編譯器(javac)編譯生成一個ByteCode位元組碼檔案(.class),位元組碼由java自己設計的一個計算機(即java虛擬機器,JVM)解釋執行,虛擬機器將每一條要執行的位元組碼送給直譯器,直譯器將其翻譯成特定機器上的目標機器碼,然後在特定的機器上執行