java知識集合

i=0蔓挖;
i= i++ 呕缭;
結(jié)果i=0

因?yàn)橄纫贸夥希笥嬎?br> java使用中間變量緩存機(jī)制
i=i++可以分為幾步:1. temp = i (等號右邊的i)

  1. i=i+1(等號右邊的i) 3. i=temp (等號左邊的i)

java的字符類采用的Unicode編碼方案饱亿,每個Unicode碼占用16個位蚜退,2個字節(jié)

類初始化過程:
1.初始化父類中的靜態(tài)變量和靜態(tài)代碼塊
2.初始化子類中的靜態(tài)變量和靜態(tài)代碼塊
3.初始化父類中的普通成員變量,再執(zhí)行構(gòu)造器
4.初始化子類中的普通成員變量彪笼,再執(zhí)行構(gòu)造器

instance是java的二元運(yùn)算符钻注,用來判斷他左邊的對象是否為右邊類(接口,抽象類配猫,父類)的實(shí)例

父類沒有無參的構(gòu)造函數(shù)幅恋,子類要顯示調(diào)用父類的構(gòu)造函數(shù)

數(shù)據(jù)轉(zhuǎn)換:

java表達(dá)式轉(zhuǎn)型規(guī)則是由低到高轉(zhuǎn)換,不同類型優(yōu)先關(guān)系如下(低->高):
byte,short,int->long-float->double
低到高會自動轉(zhuǎn)換章姓,高到低需要強(qiáng)制轉(zhuǎn)換

方法重載和覆蓋:重載是在同一個類內(nèi)佳遣,方法名相同參數(shù)列表不同识埋,其他隨便凡伊。 覆蓋是子類重寫父類方法的具體內(nèi)容。

finally中代碼會在try和catch的return之前執(zhí)行窒舟,如果有return則覆蓋系忙。

值傳遞和引用傳遞

Java概念中是沒有指針的,只存在值傳遞惠豺。當(dāng)形參是對象(數(shù)組银还,類)的時候,看起來是引用傳遞洁墙,但是蛹疯,傳入的值是對象引用的copy,即是引用的地址热监,所以仍是值傳遞捺弦,傳遞的都是地址的值。

參數(shù)存放規(guī)則和內(nèi)存

字符串存放在常量池中,對象(數(shù)組列吼,類)存放在中幽崩,普通變量存放在中。

在函數(shù)中定義的一些基本類型的變量和對象的引用變量都是在函數(shù)的棧內(nèi)存中分配寞钥。當(dāng)在一段代碼塊中定義一個變量時慌申,java就在棧中為這個變量分配內(nèi)存空間,當(dāng)超過變量的作用域后理郑,java會自動釋放掉為該變量分配的內(nèi)存空間蹄溉,該內(nèi)存空間可以立刻被另作他用。

堆內(nèi)存用于存放由new創(chuàng)建的對象和數(shù)組您炉。在堆中分配的內(nèi)存类缤,由java虛擬機(jī)自動垃圾回收器來管理。在堆中產(chǎn)生了一個數(shù)組或者對象后邻吭,還可以在棧中定義一個特殊的變量餐弱,這個變量的取值等于數(shù)組或者對象在堆內(nèi)存中的首地址,在棧中的這個特殊的變量就變成了數(shù)組或者對象的引用變量囱晴,以后就可以在程序中使用棧內(nèi)存中的引用變量來訪問堆中的數(shù)組或者對象膏蚓,引用變量相當(dāng)于為數(shù)組或者對象起的一個別名,或者代號畸写。

標(biāo)識符定義規(guī)則

不能數(shù)字開頭驮瞧,不能中間有空格,不能有*號

類型轉(zhuǎn)換規(guī)則

1.若類型不一致枯芬,則先轉(zhuǎn)換為同類型论笔,再計算。
2.轉(zhuǎn)換按數(shù)據(jù)長度決定千所,保證精度不會降低狂魔。
3.所有的浮點(diǎn)運(yùn)算都是以雙進(jìn)度執(zhí)行的,單精度的float也要先轉(zhuǎn)為double
4.char,byte,short參與運(yùn)算淫痰,先轉(zhuǎn)為int
5.賦值運(yùn)算中最楷,若等號兩邊類型不同時,需要把右邊表達(dá)式的類型轉(zhuǎn)為左邊的類型待错。如果右邊類型比左邊大籽孙,會降低精度,且需要顯示轉(zhuǎn)換火俄。

線程安全的集合

vector : 類似于ArrayList的數(shù)組犯建,效率低,多了個同步化機(jī)制瓜客,安全适瓦。
HashTable : 比HashMap多一個線程安全機(jī)制
Stack:棧沟启,后進(jìn)先出,繼承了vector犹菇,所以安全德迹。
enum:枚舉,相當(dāng)于迭代器揭芍。
ConcurrentHashMap:利用了加鎖機(jī)制保證線程安全胳搞。

Volatile

用Volatile修飾的變量并不保證原子性,它的意思是每次從內(nèi)存中取值称杨。一旦這個變量被某個線程修改肌毅,對其他線程都是透明可見的,保證了取到最新的值姑原。

String,StringBuffer,StringBuilder

String類中悬而,用字符數(shù)組保存字符串,用final修飾锭汛,所以是不可變的

private final char value[];

StringBuffer和StringBuilder都是繼承的AbstractStringBuilder類

char value[]

字符內(nèi)容是可以變的笨奠。

StringBuffer對方法加了同步鎖,是線程安全的唤殴,它建立了一塊字符串內(nèi)存緩沖區(qū)般婆,效率比String + 要高。
StringBuilder沒有鎖朵逝,線程不安全配名。
StringBuilder效率最高渠脉,因?yàn)樗赼ppend的時候會調(diào)用System.arrayCopy没陡,這個方法效率很高索赏。

2個String = "123" 相等的問題贴彼。

String str1 = "123" ;
String str2 = "123" ;
Sout(str1 == str2 );

TRUE 

在常量區(qū)中創(chuàng)建了一個常量"123",代碼中又一個str2="123"融涣。此時先判斷常量區(qū)中是否存在"123"的字符串威鹿,如果存在幼东,則直接返回該數(shù)據(jù)的地址;沒有則創(chuàng)建一個简逮,其他基本類型變量(int boolean double byte等)也是一樣。

HashMap和HashTable和conCurrentMap

HashMap:線程不安全尿赚,允許有null的鍵和值督赤,有containsValue方法和containKey方法性雄,效率較高是HashTable的輕量級實(shí)現(xiàn)约计。
HashTable:線程安全,不允許有null的鍵值,只有contain方法。

conCurrentHashMap是jdk1.5中conCurrent包中的類这橙,線程安全屈扎,但并不是所有方法都有synchronized同步的并村,它提供了一個"分段鎖"的概念,它把一個Map分成n個Segment荚孵,在操作的時候妹窖,通過hashcode()去尋找key位于哪個segment中,這樣的好處是效率大大提升了收叶。

equals()和hashcode()

equals的默認(rèn)實(shí)現(xiàn)方式是 return this == obj 骄呼;代表引用同一個對象。

hashcode()是返回對象的一個int型的散列碼判没,散列碼是為了更好的支持Java中的集合蜓萄,返回的實(shí)際上是一個地址數(shù)值。
重寫equals()也必須重寫hashcode()澄峰。
hashcode使用:在集合(set)中嫉沽,添加一個新元素,先調(diào)用這個元素的hashcode方法俏竞,得到散列碼绸硕,通過散列碼找到它應(yīng)該放到的位置上,如果這個位置沒有元素魂毁,則直接存儲玻佩;如果有元素,則調(diào)用equals()方法比較是否相同漱牵,不相同則散列到其他地址存儲夺蛇。

public,protected酣胀,private刁赦,default(friendly)

修飾符.png

包裝類和基本類型

int--Integer double-Double byte-Byte char-Charcter
long-Long float - Float 。

自動拆箱:包裝類在跟基本類型計算或比較時闻镶,系統(tǒng)會自動轉(zhuǎn)換甚脉。

Collections,collection區(qū)別

Collection是java.util包中的一個接口類 铆农。 Collections的java.util包中的一個工具類牺氨,提供了一些靜態(tài)方法,比如集合的搜索墩剖,排序猴凹。

序列化

序列化是一種處理對象流,對象流就是將對象的內(nèi)容進(jìn)行流化岭皂〗荐可以對流化后的對象進(jìn)行讀寫操作,也可以將流化后的對象爷绘,傳輸于網(wǎng)絡(luò)之間书劝。序列化是為了解決對象流在讀寫時候出現(xiàn)的問題。

實(shí)現(xiàn):需要序列化的對象土至,類要實(shí)現(xiàn)Serializable接口购对。Serializable是標(biāo)注該對象可以被序列化,通過ObjectOutputStream實(shí)現(xiàn)對象的傳輸和讀寫操作陶因。

字符串操作

indexOf(String s):字符查找骡苞,返回首次查找到的字符位置。
lastIndexOf(String s):字符查找楷扬,返回最后一次查找找的字符位置解幽。
charAt(int index):查找位置,返回指定位置的字符毅否。
subString(int beginIndex):截取字符串亚铁,從beginIndex位置開始截取
subString(int begin,int end):截取字符串,從begin截取到end螟加。
trim():忽略字符串前置和后置空格徘溢,生成一個副本。
replace(String before,String new):將字符串內(nèi)before的內(nèi)容替換為new
startsWith(String s):判斷字符串是否以s字符串開頭捆探。
endsWith(String s):判斷字符串是否以s字符串結(jié)尾然爆。
toLowerCase():字符串中大寫字母轉(zhuǎn)小寫,生成副本黍图。
toUpperCase():字符串小寫字母轉(zhuǎn)大寫曾雕,生成副本。
split(String str):字符串分割助被,生成String數(shù)組剖张。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末切诀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子搔弄,更是在濱河造成了極大的恐慌幅虑,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顾犹,死亡現(xiàn)場離奇詭異倒庵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)炫刷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門擎宝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浑玛,你說我怎么就攤上這事绍申。” “怎么了锄奢?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵失晴,是天一觀的道長。 經(jīng)常有香客問我拘央,道長涂屁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任灰伟,我火速辦了婚禮拆又,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘栏账。我一直安慰自己帖族,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布挡爵。 她就那樣靜靜地躺著竖般,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茶鹃。 梳的紋絲不亂的頭發(fā)上涣雕,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音闭翩,去河邊找鬼挣郭。 笑死,一個胖子當(dāng)著我的面吹牛疗韵,可吹牛的內(nèi)容都是我干的兑障。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼流译!你這毒婦竟也來了逞怨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤先蒋,失蹤者是張志新(化名)和其女友劉穎骇钦,沒想到半個月后宛渐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體竞漾,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年窥翩,在試婚紗的時候發(fā)現(xiàn)自己被綠了业岁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡寇蚊,死狀恐怖笔时,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仗岸,我是刑警寧澤允耿,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站扒怖,受9級特大地震影響较锡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盗痒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一蚂蕴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俯邓,春花似錦骡楼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至朦蕴,卻和暖如春篮条,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梦重。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工兑燥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人琴拧。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓降瞳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子挣饥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容