1. 程式人生 > >Java語言基礎知識點整理

Java語言基礎知識點整理

1、JVM是執行Java程式的虛擬機器。簡單說JRE包含JVM,JVM是執行Java程式的核心虛擬機器,而執行Java程式不僅需要核心虛擬機器。還需要其他的類載入器、位元組碼校驗器以及大量的基礎類庫。JRE除了包含JVM之外,還包含執行Java程式的其他環境支援

2、Javac變異檔案只需要指定存放目標檔案的位置即可,無需指定位元組碼檔案的檔名。因為javac編譯後生成的位元組碼檔案有預設的檔名,檔名總是以原始檔所定義的類名作為主檔名的,以class作為字尾名。這意味著如果一個原始檔裡定義了多個類,將編譯生成多個位元組碼檔案。

當然指定目標檔案存放的位置,加上-d選項即可

如我在自己電腦的編譯批處理檔案專案的命令是:


3、一個Java原始檔可以包含多個類定義,但最多隻能包含一個public類定義;

如果Java原始檔裡包含public類定義,則該原始檔名必須與這個public類的類名相同

4、如果Java直譯器直接執行一個Java類,則這個Java類必須包含main方法,這個main方法必須使用public和static來修飾,必須使用void生命方法的返回值,而且該方法的引數型別只能是一個字串陣列,而不能是其他形式的引數。

對於這個main方法而言,前面的public和static修飾符的位置可以互換,但其他部分則固定

5、可以通過呼叫物件的finalize方法或System.gc()等方法來建議系統進行垃圾回收,但這種呼叫僅僅是建議,依然不能精確的控制垃圾回收機制的執行

2018.03.05 23:10

**************************************************************************************************************

6、面向物件方法具有三個基本特徵:封裝,繼承,和多型

其中耿莊指的是將物件的實現細節隱藏起來,然後通過一些公用方法暴露該物件的功能;

繼承是面向物件實現軟體複用的重要手段,當子類繼承父類後,子類作為一種特殊的父類,將直接獲得父類的屬性和方法;

多型指的是子類物件可以直接賦給父類變數,但執行的時候依然表現出子類的行為特徵,這意味著同一個型別的物件在執行同一個方法時,可能表現出多種行為特徵。

7、在面向物件方法中,類之間共享屬性和操作的機制稱為繼承。繼承具有傳遞性。繼承可分為單繼承(一個繼承只允許有一個直接父類,即類登記為樹形結構);與多繼承(一個類允許有多個直接父類),由於多繼承可能引起繼承結構的混亂,而且會大大降低程式的可理解性,所以Java不支援多繼承

8、陣列引用變數只是一個引用,這個引用變數可以執向任何有效的記憶體,只有當該引用執向有效記憶體後,才可通過陣列變數來訪問陣列元素。與所有引用變數的相同的是,引用變數是訪問真實物件的根本方式。也就是說,如果我們希望在程式中訪問陣列物件本身,則只能通過這個陣列的引用變數來訪問它。

實際的陣列物件本儲存在堆heap記憶體中;如果引用該陣列物件的陣列引用變數是一個區域性變數,那麼它被儲存在棧stack記憶體中。

當我們看一個數組時,一定要把陣列分成兩個部分:一部分是陣列引用,也就是在程式碼中定義的陣列引用變數;還有一部分是實際的陣列物件,這部分是在堆記憶體裡執行的,通產無法實際的訪問它,只能通過陣列引用變數來訪問

2018.03.06 23:26

**************************************************************************************************************