前幾天剛開始的結果就寫了一篇就結束了,還真是放棄的好快呀(≧ ﹏ ≦)
懈怠了,又要開始新一輪的努力了。。。~^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^~ 加油!加油!加油!加油!加油!!!!
(重要的是還是要多說幾遍的,感覺三遍不夠呢。。。)