1. 程式人生 > >Java第一天——核心技術第一章

Java第一天——核心技術第一章

前幾天剛開始的結果就寫了一篇就結束了,還真是放棄的好快呀(≧ ﹏ ≦)
懈怠了,又要開始新一輪的努力了。。。~^o^~ 加油!!!

以前就學習過Java基礎上還是有一些的,但是還是打算再好好的過一遍,因為不管什麼時候基礎都是很重要的。我看的這本書是java核心技術 卷1 基礎知識,還想還蠻不錯,很多人都推薦。

一、Java關鍵術語
本以為都學了好多年了,應該對於這些基礎的術語的認知應該還好,現在又開始看書才發現以前也並沒有很好地進行總結、歸納,大部分的東西都已經還給老師,反正就是根本沒有形成自己的知識體系存在大腦中。。。

1.簡單性
顧名思義,就是易於程式設計

,不是很難上手的意思。與C++不同之處在於沒有了標頭檔案、指標運算、結構體、操作符過載等等一些易於混淆的概念。

2.面向物件
物件,簡而言之就是一個包含多屬性函式的集合體。面向物件的意思就是,Java在程式設計過程一直是以物件為基礎的程式設計。
另外,在面向物件設計中,物件物件的介面是其重心。

3.網路技能
網路技能就是Java語言在網路上程式設計很強大且易於使用。(其中包括開啟socket連結、利用遠端方法呼叫機制使得分散式物件間可進行通訊–卷11

4.健壯性
指的是在程式上多方面的可靠性,穩定性。不容易出現對記憶體和資料產生影響。
例如:Java不需要使用指標來構造字串、陣列這樣的結構,若真的有必要的話,它也可以使用連結串列(就有指標的效果了)。然而指標可能會出現各種問題:損壞資料、記憶體分配錯誤、記憶體洩漏等。但是Java就不會存在因指標操作而出現的問題(因為Java根本沒有指標)。

5.安全性
Java的安全機制是在應用程式執行時控制並制止惡意性破壞的。
例如:在卷11中的數字簽名類(digitally signed class)概念是通過該類可以確定類的作者,若信任這個類的作者,這個類在機器上就可以擁有更多的許可權。

6.體系結構中立
由編譯器生成一個體繫結構中立的目標檔案格式(是編譯過的程式碼),只要有Java執行時系統,就能夠在很多處理器上執行。
目標檔案格式是Java編譯器通過與特定計算機體系結構無關的位元組碼指令來實現,雖說解釋位元組碼肯定會比全速執行機器指令慢很多,但是虛擬機器有一選項可將使用最頻繁的位元組碼序列翻譯成機器碼(也就是即時編譯)。
虛擬機器還可以檢測指令序列的行為增強安全性。有些程式還可以快速生成位元組碼,並動態增強執行程式的處理能力。

7.可移植性
將寫好的Java程式移到另外的機器上仍能完美使用的能力就是可移植性。
例如:在Java中資料型別有固定大小,消除程式碼移植問題;二進位制資料以固定格式儲存和傳輸,消除了位元組順序問題;字串用標準的Unicode格式儲存。將資料的格式進行了統一。移植是避免了很多麻煩。

8.解釋型
只要機器上移植瞭解釋器,就可以利用Java直譯器執行Java位元組碼。但是這種並非很好,現在都使用即時編輯器將位元組碼翻譯成機器碼了。

9.高效能
高效能==適用性很強。
例如:即時編譯器(高效能)已超越了傳統編譯器
因為:
- 即時編輯器可以監控經常執行哪些程式碼並優化這些程式碼以提高速度
- 更為複雜的優化是消除函式呼叫(即“內嵌”)。
即時編譯器知道哪些類已經載入。如果基於當前載入的類集且特定的函式不被覆蓋的話就可以內嵌。必要時還可以撤銷優化

10.多執行緒
Java中的執行緒可利用多個處理器,多執行緒指在軟體或硬體上實現多個執行緒併發執行的技術。 在一個程式中,這些獨立執行的程式片段叫作“執行緒”(Thread),利用它程式設計的概念就叫作“多執行緒處理(Multithreading)”。具有多執行緒能力的計算機因有硬體支援而能夠在同一時間執行多於一個執行緒,進而提升整體處理效能。 Java中不同機器上呼叫多執行緒的程式碼完全相同,因Java把多執行緒的實現交給了底層的作業系統或執行緒庫來完成。

11.動態性
可以動態的在庫中新增新方法和例項變數,而對客戶端卻沒有任何影響。例如:在Internet下載程式碼在瀏覽器上執行,Java允許程式設計師知道物件的結構和行為。這對於需要在執行時分析物件的系統(Java GUI構建器、智慧偵錯程式、可插入元件以及物件資料庫)來說很有用。

二、Java Applet與Internet
Java Applet是一種特殊的Java程式,它本身不能單獨執行,需要嵌入在一個HTML檔案中,藉助瀏覽器或Appletviewer來解釋執行。Applet可通過網路傳輸,由瀏覽器自動裝載並執行。applet可以很好的展示動態的網頁。
不同版本的瀏覽器執行不用版本的Java,其中有些版本早已經過時。利用Java開發最新版本的applet更加困難。
現在,當需要在瀏覽器上顯示動態效果時,大多數網頁都直接使用JavaScript或Flash。另外,Java已經成為用來開發伺服器端應用程式的最流行的語言,使用這些伺服器端應用程式可以產生網頁、執行後端邏輯。
Java Applet是在瀏覽器上執行並顯示,大多數Java程式是執行在Web瀏覽器之外的獨立應用程式。很多Java程式都在Web伺服器上執行並生成用於網頁的程式碼。

三、Java常見誤解
- Java是HTML的擴充套件?
Java是一種程式設計語言;HTML是一種描述網頁結構的方式。除了用於放置Java Applet的HTML擴充套件之外,二者沒有任何共同之處。

- 使用XML,就不需要Java?
Java是一種程式設計語言;XML是一種描述資料的方式。可以使用任何一種程式設計語言處理XML資料,而Java API對處理XML提供了很好的支援。很多重要的第三方XML工具採用就AV編寫。在卷11有詳細說明。

- JavaScript是Java的簡易版?
JavaScript是一種在網頁中使用的指令碼語言,它是由Netspace發明的,原來名字叫LiveSpace。JavaScript的語法類似Java,名字有些相像,除此之外,二者無任何關係。
與Java Applet相比,JavaScript更緊密地與瀏覽器整合在一起。特別是JavaScript程式可以修改正在顯示的文件,而applet只能在有限的區域內控制外觀。

學習貴在堅持!!!希望我可以堅持下去!!!~^o^~ 加油!加油!加油!加油!加油!!!!
(重要的是還是要多說幾遍的,感覺三遍不夠呢。。。)