【java基礎資料整理】
醞釀了幾個月,終於是想寫自己的部落格了。之前聽說寫部落格能更好的學習,所以我就滾進來了!
在漸漸認識到自己的缺陷和不足之後,開始加深自己對java基礎的學習,通過視訊、部落格收集了一些資料。下面分享給大家!
整理之中的意外收穫:
1、java虛擬機器監控命令:開啟cmd視窗-->輸入jvisualvm。第一次開啟的話可能會稍微久一點,以後就好了。
2、兩個變數切換的3種方式:
a、採取第三方變數
int a=8,b=9;
int temp;
temp = b;
b=a;
a=temp;
b、不通過第三方變數
int a=8,b=9;
a=a+b;
b=a-b;
a=a-b;
c、採取^的方式
int a=8,b=9;
a = a^b;
b = a^b; //(a^b)^b = a = 8
a = a^b; //(a^b)^a = b = 9
3、java的垃圾回收機制:在堆記憶體當中,不再被使用的實體將會在垃圾回收機制中進行不定時的清除
4、二維陣列和一維陣列的定義方式:int[] x,int x[] ; int [] [] y,int y[][], int[] y[];
下面進入正題
單例模式
單例模式的用意如下:1、確保一個類只有一個例項被建立
2、提供一個對物件的全域性訪問指標
3、在不影響單例類的客戶端的情況下允許有多個例項
餓漢式:
餓漢式存在的問題:由於例項不用做建立,是直接返回建立好的例項,所以餓漢式節省了時間上的消耗,但是由於例項本身是靜態的,所以會一直佔用記憶體空間
public class Single{
private static Single s = new Single();
private Single(){}
public static getInstance(){
return s;
}
}
懶漢式:
一、
/**
*這種懶漢式不適合多使用者同時呼叫
*/
public class Single{
private static Single s = null;
private Single(){}
public static Single getInstance(){
if(s==null)
s = new Single();
return s;
}
}
二、getInstance加鎖
/**
*這種加鎖方式在多使用者呼叫時,容易使記憶體損耗過多
*/
public class Single{
private static Single s = null;
private Single(){}
public static Single synchronized getInstance(){
if(s==null)
s = new Single();
return s;
}
}
三、內部雙重判斷和同步鎖
/**
*懶漢式最優方法,這種方式可以防止鎖的多次建立,記憶體損耗較第一種方式更低
*/
public class Single{
private static Single s = null;
private Single(){}
public static Single getInstance(){
if(s==null){
synchronized(Single.class){
if(s==null)
s = new Single();
}
}
return s;
}
}
java類與類之間不能多繼承而可以多實現的原因:
多繼承繼承的是另外一個類,而繼承的方法有方法體。實現的介面中的方法是沒有方法體的,所以即使實現的多個介面間有相同的方法但是由於沒有方法體,所以在實現類中實現該方法之後會將所有介面中與該方法一致的方法進行覆蓋。所以可以實現多實現而不可以實現多繼承。 介面之間可以進行多繼承,如果繼承的介面間存在相同方法時,需要超類之間的方法返回值一致。 否則介面之間的多繼承無法實現。
物件導向程式設計的三大特性:多型、繼承、封裝
判斷引用物件資料型別關鍵字:A instanceof Object。instanceof一般用於子類型別有限的情況下。
相關文章
- java基礎整理1Java
- Java基礎語法吐血整理Java
- java資料型別基礎Java資料型別
- 整理Java基礎知識--Calendar 類Java
- Java基礎知識整理之this用法Java
- mysql資料庫學習基礎知識整理MySql資料庫
- [java基礎]之資料型別Java資料型別
- Java基礎異常整理(持續更新)Java
- Java基礎知識整理之註解Java
- Java面試之Java基礎問題答案口述整理Java面試
- java基礎之java的基本資料型別Java資料型別
- java基礎知識--資料型別Java資料型別
- 談談Java基礎資料型別Java資料型別
- 整理Java基礎知識--Number&Math類Java
- 思維導圖整理Java併發基礎Java
- Java基礎知識整理之程式碼塊Java
- 資料庫基礎知識整理與複習總結資料庫
- Git基礎整理Git
- Angular 基礎整理Angular
- 大資料之JAVA基礎(一):資料和變數大資料Java變數
- java基礎(二):談談Java基本資料結構Java資料結構
- Java基礎語法之資料型別Java資料型別
- Java基礎02 方法與資料成員Java
- JAVA基礎--資料型別和運算子Java資料型別
- java基礎之一:基本資料型別Java資料型別
- [Java基礎]之 資料型別轉換Java資料型別
- 大資料學習之路——java基礎(二)大資料Java
- Java基礎知識整理之static修飾方法Java
- Java基礎面試題整理-50題(附答案)Java面試題
- Java 資料庫知識整理Java資料庫
- 快取基礎整理快取
- 學習Java大資料都需要哪些基礎Java大資料
- Java程式設計基礎31——MySql資料庫Java程式設計MySql資料庫
- Java網路程式設計基礎學習與整理Java程式設計
- Java基礎知識整理之static修飾屬性Java
- JS基礎知識整理JS
- Babel基礎知識整理Babel
- Python基礎知識整理Python
- 資料庫 基礎資料庫