Java基礎鞏固——《Java核心技術基礎·卷一:基礎知識》


閱讀記錄追蹤:前言部分

閱讀前先看:簡介、目錄和勘誤!

Java編程語言是一種多用途、並發的、基於類的、面向對象的編程語言;編譯時通常包括將持續轉化成機器無關的字節碼表示。運行時活動包括加載和鏈接執行持續所需的類,生成可選的機器代碼,動態優化持續和執行實際的程序。

Java提供代碼的可移植性、內存垃圾回收器,以及大型的API庫(龐大的庫——優質的資源),提供奇特的繪圖功能、網絡連接功能和數據庫存取功能。可以從以下11個關鍵字對Java進行描述:簡單性、面向對象、網絡技術、健壯性、安全性、體系結構中立、可移植性、解釋型、高性能、多線程和動態性。

針對簡單性而言,Java的目標之一是支持開發能夠在小型機器上獨立運行的軟件;基本的解釋器以及類支持大約僅為40KB;再加上基礎的標准類庫和對線程的支持(基本上是一個自包含的微內核)大約需要增加175KB。

Java的網絡技能在於:一個擴展的例程庫,用於處理像HTTP和FTP這類的TCP/IP協議。Java應用程序能夠通過URL打開和訪問網絡上的對象,其便捷程度就好像訪問本地文件一樣。

Java語言的健壯性體現在兩方面:出錯傾向的檢查和指針模型(並沒有采用指針,而是對C++指針的封裝)。但沒有指針的語言,許多數據結構很難實現。Java是如何實現這些數據結構的?

Java的安全性機制:Java設計能夠防范各種襲擊,包括:運行時堆棧溢出,在自己的處理空間之外破壞內存,未經授權讀寫文件等等。(這一點怎么和Linux的權限系統如此相似!)

體系結構中立,指的是:使用了虛擬機。(這一部分需要重點把握)生成的中間代碼,可以應用於所有已經正確安裝解釋器的機器上。

可移植性體現在:基本數據類型的大小以及有關算法都做了明確說明;Java中的數據類型具有固定大小,消除了代碼移植時可能遇到的問題。二進制數據以固定的格式進行存儲和傳輸,消除了字節順序的困擾。

Java的解釋型體現在哪里?導致的結果在於:對關鍵應用程序運行速度較慢。現今JVM采用即時編譯器,其代碼運行速度和C++相差無幾。

在一些特定的場合需要更加高效的性能,Java編譯后的字節碼可以(在運行時)快速地翻譯成運行這個應用程序的特定CPU機器碼,以進一步提高執行速度。

Java的多線程執行,帶來更好的交互響應和實時行為。只要操作系統支持,Java中的線程就可以利用多個處理器。在底層,主流平台的線程實現機制各不相同,Java並沒有話費太大的力氣對此實現平台無關性。在不同的機器上,只是調用多線程的代碼完全相同;Java把多線程的實現交給了底層的操作系統或線程庫來完成。

Java和applet,當今如果需要在瀏覽器上顯示動態效果時,大多數網頁都會直接使用JavaScript或Flash,而不是applet。

Java語言的發展狀況如下:

可見:在2004年加入新特性后,API有爆炸性的增長。

Java的常見術語

容易混淆的是:JRE指Java運行環境,包含有虛擬機但不包含編譯器。這並不是開發者所想要的環境,而是專門為不需要編譯器的用戶而設計的。JDK,很形象得被稱為是:開發工具箱(tool-kit)。

注意:在安裝JDK時,Windows環境下強烈建議不要接受帶有空格的默認路徑名,而使用如下形式:jdk/bin或jdk1.6.0\bin...此外,還需要將jdk/bin目錄添加到執行路徑中;所謂執行路徑指的是操作系統搜索本地可執行文件的目錄列表。

在jdk\bin的同一級目錄包含有src.zip文件,該文件就是所有公共類的源代碼

獲得更多的源代碼(編譯器、虛擬機、本地方法以及私有輔助類等等)可以訪問:oracle.net。

如下是JDK部分的剖析圖:

可以明顯看出:JDK和JRE的不同之處。

Java的引用類型包括三種:類類型接口類型數組類型。引用類型是由動態創建的對象(類或數組的實例)實現的,可以有多個引用指向一個對象。有用於把基本值包裝在對象內部的類,這個類我們稱為包裝類。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM