①:基本資料類型:byte、short、int、long、float、double、char、boolean
②:引用資料類型: 數組、類、接口。
數組的幾種表現形式:
1)、元素類型[] 變量名 = new 元素類型[元素的個數];
如:
int[] ns = new int[5];
2)、元素類型[] 變量名 = {元素1,元素2...};
元素類型[] 變量名 = new 元素類型[]{元素1,元素2...};
// 周遊數組
// 二維數組
1、 ==是判斷兩個變量或執行個體是不是指向同一個記憶體空間,equals是判斷兩個變量或執行個體所指向的記憶體空間的值是不是相同
2、==是指對記憶體位址進行比較 , equals()是對字元串的内容進行比較
3、==指引用是否相同, equals()指的是值是否相同
person p = new person();
1:先将硬碟上指定位置的person.class檔案加載進記憶體。
2:執行main方法時,在棧記憶體中開辟了main方法的空間(壓棧—進棧),然後在main方法的棧區配置設定了一個變量p。
3:在堆記憶體中開辟一個實體空間,配置設定了一個記憶體首位址值。new
4:在該實體空間中進行屬性的空間配置設定,并進行了預設初始化。
5:對空間中的屬性進行顯示初始化。
6:進行實體的構造代碼塊初始化。
7:調用該實體對應的構造函數,進行構造函數初始化。()
8:将首位址指派給p ,p變量就引用了該實體。(指向了該對象)
java基礎知識總結(經典):javascript:void(0)
處理方式有兩種:1、捕捉;2、抛出。
對于捕捉:java有針對性的語句塊進行處理。
面向對象的三大特征:封裝、繼承、多态。
封裝:把同一類事物所具有的共同屬性和共同行為功能抽取到java類中的過程稱為封裝并将類裡面的資料和行為進行保護。常用方法為:設定資料的通路修飾符為private,這樣外部的事物就不能随意更改類中的資料。
繼承:子類繼承父類的所有非private成員。
多态:關于多态需要記住三句話:
(1)父類類型的變量可以指向子類類型的對象。
(2)能夠調用什麼方法取決于變量的類型。
(3)具體調用什麼方法取決于對象的類型。
垃圾回收(garbage collection)是java虛拟機(jvm)垃圾回收器提供的一種用于在空閑時間不定時回收無任何對象引用的對象占據的記憶體空間的一種機制。
當一個對象已經不需要再使用本該被回收時,另外一個正在使用的對象持有它的引用進而導緻它不能被回收,這導緻本該被回收的對象不能被回收而停留在堆記憶體中,這就産生了記憶體洩漏。記憶體洩漏是造成應用程式oom的主要原因之一。我們知道android系統為每個應用程式配置設定的記憶體是有限的,而當一個應用中産生的記憶體洩漏比較多時,這就難免會導緻應用所需要的記憶體超過系統配置設定的記憶體限額,這就造成了記憶體溢出進而導緻應用crash。
1、接口類似于類,但接口的成員都沒有執行方式,它隻是方法、屬性、事件和索引的組合而已,并且也隻能包含這四種成員;類除了這四種成員之外還可以有别的成員(如字段)。
2、不能執行個體化一個接口,接口隻包括成員的簽名;而類可以執行個體化(abstract類除外)。
3、接口沒有構造函數,類有構造函數。
4、接口不能進行運算符的重載,類可以進行運算符重載。
5、接口的成員沒有任何修飾符,其成員總是公共的,而類的成員則可以有修飾符(如:虛拟或者靜态)。
6、派生于接口的類必須實作接口中所有成員的執行方式,而從類派生則不然。
1、integer是int的包裝類,int是java的一種基本資料結構
2、integer變量必須執行個體化後才能使用,int變量不需要
3、integer實際是對象的引用,int是直接存儲資料值
4、integer的預設值是null,int的預設值是0
作用域 目前類 同一package 子孫類 其它package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
11、spring ioc和aop的實作原了解析
參考:javascript:void(0)