Java初學(xué)者常見問題_字符串序列化_可變不可變_傳遞(值,引用)

序列化,

把對(duì)象轉(zhuǎn)換成二進(jìn)制(字節(jié)序列)存到文件中就是序列化

反序列化奖恰,

把文件中的二進(jìn)制(字節(jié)序列)對(duì)象恢復(fù)到類中就是反序列化



◆注崭闲;在序列化時(shí)一般需要提供一個(gè)序列化編碼,確保在恢復(fù)是鸠天,仍然是指向同一個(gè)內(nèi)存區(qū)域


序列化的作用

使得對(duì)象永久的存儲(chǔ)在到Disk中。


可變序列化帐姻;

在對(duì)象創(chuàng)建了出來之后稠集,依然可以改變位于對(duì)象中的內(nèi)容,如StringBuffre


不可變序列化饥瓷;

在創(chuàng)建對(duì)象了之后剥纷,內(nèi)存中的內(nèi)容是不可變的,如String


什么是可變類呢铆,和不可變類晦鞋?

可變類;創(chuàng)建出這個(gè)類的實(shí)例時(shí),是可以改變這個(gè)類實(shí)例的內(nèi)容的

不可變類悠垛;創(chuàng)建出這個(gè)類的實(shí)例時(shí)线定,是不可以改變的。



值傳遞确买;(方法形參是斤讥,基本數(shù)據(jù)類型)當(dāng)傳遞一個(gè)實(shí)際的值給這個(gè)形參時(shí),是用來初始化這個(gè)形參的湾趾,

而形參的值發(fā)生改變時(shí)芭商,

? ★是不會(huì)改變傳遞過來的這個(gè)實(shí)際的值★

因?yàn)?個(gè)位于內(nèi)存空間受楼,地址也不一樣峰档,而且當(dāng)調(diào)用這個(gè)

方法時(shí)是不會(huì)影響(改變)實(shí)際的值的渣淳。

值傳遞的類型時(shí)基本數(shù)據(jù)類型劲弦。

是一個(gè)值拷貝的過程。


結(jié)論华畏;沒有改變了傳進(jìn)來的位于內(nèi)存中的值缠借。




引用傳遞柿估;(是對(duì)象歧譬,引用類型)當(dāng)調(diào)用某個(gè)方法是勿侯,參數(shù)是對(duì)象 或者數(shù)組 ,而這個(gè)對(duì)象調(diào)用某個(gè)方法時(shí)實(shí)

際上指向同一個(gè)地址值中的缴罗。而當(dāng)實(shí)際使用這個(gè)方法就是使用

內(nèi)存中的地址值空間實(shí)際的參數(shù)進(jìn)行操作的。

而當(dāng)這個(gè)方法結(jié)束時(shí)祭埂,

★這些操作(修改)了的★

屬性會(huì)被保留下來面氓,并且會(huì)進(jìn)行一個(gè)

對(duì)位于內(nèi)存中的實(shí)例空間的

參數(shù)會(huì)進(jìn)行修改。

引用傳遞蛆橡,是引用類型的舌界,在傳遞時(shí)是傳遞地址值。


結(jié)論泰演;改變了傳過來的位于內(nèi)存中的對(duì)象的值呻拌。



什么是可變字符,和不可變字符睦焕?

字符串的不可變字符序列藐握,和可變字符序列。


不可變字符序列(String);String的值是存到內(nèi)存的方法區(qū)中的常量池垃喊,并且String這個(gè)類是使用

final修飾的猾普,而且這個(gè)類底層存儲(chǔ)是使用數(shù)組的存儲(chǔ),并且其數(shù)組是

使用final修飾的本谜。使得其在內(nèi)存中是不可以改變的初家。

所以創(chuàng)建新的字符串時(shí)是會(huì)在內(nèi)存中創(chuàng)建出新的一個(gè)

新的字符串,即便是使用了 + 連接符,因?yàn)?/p>

final是不可修改的而且每次做完一次

連接在內(nèi)存中都是再次創(chuàng)建溜在。


并且陌知;當(dāng)2個(gè)字符的內(nèi)容是一樣的,會(huì)指向同一塊內(nèi)存空間掖肋,

而不會(huì)在此為此字符串在常量池在再次創(chuàng)建一個(gè)仆葡。

也是一個(gè)節(jié)約內(nèi)存的機(jī)制。


可變字符序列(StringBuilder and StringBuffer)培遵;

當(dāng)使用append()方法時(shí)是將append的值存到數(shù)組中當(dāng)調(diào)用了toStirng時(shí)會(huì)將數(shù)組的

值拷貝到StringBuiler的對(duì)象中(引用傳遞)浙芙,從而實(shí)現(xiàn)一個(gè)追加的功能


◆注;String籽腕,StringBuilder,StringBuffer

?String;是位于常量池

?StringBuilder,在底層存儲(chǔ)時(shí)是使用數(shù)組來存儲(chǔ)的嗡呼,默認(rèn)空參的構(gòu)造器數(shù)組是16。當(dāng)超出數(shù)組長(zhǎng)度

? 時(shí)皇耗,則*2+2.

?StringBuffer,在底層存儲(chǔ)時(shí)是使用數(shù)組來存儲(chǔ)的南窗,默認(rèn)空參的構(gòu)造器數(shù)組是16。當(dāng)超出數(shù)組長(zhǎng)度

? 時(shí)郎楼,則*2+2.





為什么不同包下的類繼承Object的万伤?

因?yàn)镺bject是一個(gè)超類,使得語言更加靈活呜袁,可以在擴(kuò)展類庫是使得其可以兼容所有類庫的類敌买。




接口有沒有父類?

沒有阶界,沒有構(gòu)造器而且是用于頂層設(shè)計(jì)虹钮,````而且也沒有``繼承Object

除非是接口繼承接口





當(dāng)內(nèi)部類重寫了 toString方法了怎么獲取地址


classpath變量在JAVAEE的使用 ?百度



下載Oracle ?sql





重寫hashCode equals comparator toString等方法的作用

hashCode就是一個(gè)散列碼用于幫助快速的查找,hashCode是計(jì)算出每一個(gè)實(shí)例化的對(duì)象實(shí)例的內(nèi)存地址


實(shí)驗(yàn)膘融;〓 當(dāng)做類型自動(dòng)提升是否為-1


◆注芙粱;(String類是使用它的value值作為參數(shù)然后進(jìn)行運(yùn)算得出hashcode的

換句話說, 只要值相同的String不管是不是一個(gè)對(duì)象,hash值全部相等

因?yàn)榈讓哟鎯?chǔ)和指向機(jī)制)。


集合為什么要重寫equals方法

因?yàn)閏ontains是通過equals方法氧映,如果是自定義類是調(diào)用

自定義類的equals方法春畔。



getClass()得到當(dāng)前對(duì)象的類





當(dāng)在做Scanner輸入是,如果是要拋出異常岛都,并且再次輸入要使用while并且在異常處理要在加一個(gè)next()將輸

入的錯(cuò)誤的拋出的異常拋給這個(gè) ?空的 位于異常處理的位置next()

但是律姨;如果是引用類型就不用,因?yàn)橐妙愋蜁?huì)自動(dòng)做equal

而基本數(shù)據(jù)類型不會(huì)臼疫,所以要再次加上空的next()

? ? ? ?意義线召;會(huì)將其發(fā)生異常的值,拋出給這個(gè)空的next();



當(dāng)指定了泛型后多矮,在使用匿名類進(jìn)行重寫還要給匿名類進(jìn)行一個(gè)指定泛型缓淹。



為什么使用Set要同時(shí)重寫HASHCODE和EUQuals方法哈打?

因?yàn)榈讓哟鎯?chǔ)是根據(jù)HASHCODE散列計(jì)算的值來進(jìn)行存儲(chǔ)的,EQUALS就是當(dāng)2個(gè)HASHCODE值一樣是用于判斷

內(nèi)容是否相同讯壶,相同則不加入料仗,不相同則加入。

如果2個(gè)值的HASHCODE值相同伏蚊,EQUALS不相同則會(huì)在其元素位置立轧,后面在開辟一個(gè)空

間出來。用于同時(shí)存儲(chǔ)2個(gè)元素躏吊。



泛型的限定氛改;

(List)<? extends類A> 表示類A是下的子類,而比伏?是List

能存放本類以及本類下的

子類


(Collection)<? super 類A> 表示胜卤?是類A的

父類

只能存放本類以及父類





泛型方法是可以用靜態(tài)的









SERIALIZEBLE

serializeble是一個(gè)序列化接口,實(shí)現(xiàn)這個(gè)接口的是可以序列化的赁项,并且實(shí)現(xiàn)了接口給實(shí)現(xiàn)類添加了一個(gè)序列

號(hào)之后可以保證在將文件讀出時(shí)葛躏,不會(huì)出現(xiàn)丟失等,而且實(shí)現(xiàn)了這個(gè)接口可以存儲(chǔ)

到這個(gè)類對(duì)象的狀態(tài)悠菜。





為什么COMPARATOR不用重寫EQUALS

2個(gè)實(shí)體EQUALS為TRUE那么2個(gè)實(shí)體的HASHCODE必須是相同的(自己寫的那就沒意義了=⒃堋)

而重寫COMPARATOR或者COMPARE時(shí),建議重寫EQUALS方法悔醋,因?yàn)楸苊?個(gè)值一樣則后一個(gè)是無法

加進(jìn)來的摩窃,所以建議同時(shí)重寫EQUALS方法,與HASHCODE方法芬骄,HASHCODE是確定2個(gè)值

在內(nèi)存中的位置猾愿。






二分法的代碼

public static int search(int[]arr, int key) {

? ? //記錄數(shù)組的第一個(gè)位置

int start = 0;

? ? ? ?//記錄數(shù)組的最后一個(gè)位置

int end =arr.length - 1;

while (start<= end) {

? ? ? ? ? ?//從中間開始找

int middle = (start + end) / 2;

? ? ? ? ? ?//如果輸進(jìn)來的元素是小于中間的元素則

if(key < arr[middle]) {

? ? ? ? ? ?//取出以中間元素為開始的前面的元素

end = middle - 1;

? ? ? ? ? ?//如果輸進(jìn)來的元素時(shí)大于中間元素則

}else if (key > arr[middle]) {

? ? ? ? ? ?//取出與中間元素為開始的,最后一個(gè)元素為結(jié)束

start = middle + 1;

}else {

? ? ? ? ? ?//否則返回中間元素

return middle;

}

}

return -1;

}

}


給一個(gè)字符串賦值那么這個(gè)字符也是一個(gè)對(duì)象德玫,因?yàn)檫@個(gè)字符串是存在內(nèi)存方法區(qū)中的常量池的。而這個(gè)

字符串是有一個(gè)地址值的椎麦。


數(shù)組轉(zhuǎn)集合的方法宰僧。 ? ? ? ?

? ? ? ? 集合轉(zhuǎn)數(shù)組

Array.adList(arr); toArray();


遞歸;不斷傳遞观挎,直到末尾

可以使用方法達(dá)到遞歸的效果



\r\n的作用

\r是換行琴儿,一般是空行

\n是回車并且換行,一行是一行的尾部


java中的switch語言支持什么類型的值



byte short int char

·注嘁捷;在JDK7.0之后增加對(duì)字符串的String的支持


寫集合遍歷方法到總結(jié)中


類.class的和this的作用

正在運(yùn)行的類


注意造成;當(dāng)使用Thread而不是使用Runable時(shí)要,并且是使用同步方法的形式時(shí)雄嚣,

如果變量是static 方法也要是static不然synchronized則不起作用

因?yàn)槟J(rèn)同步方法調(diào)用的是this晒屎,而靜態(tài)調(diào)用的是類.class



組播是強(qiáng)制喘蟆,廣播是非強(qiáng)制


declare

i number(30) := 0;

begin

loop

exit when i > 999999


insert into emp(empno,ename)values(i,'XX');


i := i+1;

dbms_output.put_line(i);

end loop;

end;

/

exception

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鼓鲁,隨后出現(xiàn)的幾起案子蕴轨,更是在濱河造成了極大的恐慌,老刑警劉巖骇吭,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件橙弱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡燥狰,警方通過查閱死者的電腦和手機(jī)棘脐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龙致,“玉大人蛀缝,你說我怎么就攤上這事【坏保” “怎么了内斯?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)像啼。 經(jīng)常有香客問我俘闯,道長(zhǎng),這世上最難降的妖魔是什么忽冻? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任真朗,我火速辦了婚禮,結(jié)果婚禮上僧诚,老公的妹妹穿的比我還像新娘遮婶。我一直安慰自己,他們只是感情好湖笨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布旗扑。 她就那樣靜靜地躺著,像睡著了一般慈省。 火紅的嫁衣襯著肌膚如雪臀防。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天边败,我揣著相機(jī)與錄音袱衷,去河邊找鬼。 笑死笑窜,一個(gè)胖子當(dāng)著我的面吹牛致燥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播排截,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼嫌蚤,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼辐益!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起搬葬,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤荷腊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后急凰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體女仰,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年抡锈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疾忍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡床三,死狀恐怖一罩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撇簿,我是刑警寧澤聂渊,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站四瘫,受9級(jí)特大地震影響汉嗽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜找蜜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一饼暑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧洗做,春花似錦弓叛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至畦徘,卻和暖如春毕籽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旧烧。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工影钉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留画髓,地道東北人掘剪。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像奈虾,于是被迫代替她去往敵國(guó)和親夺谁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子廉赔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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

  • 一、基礎(chǔ)知識(shí):1匾鸥、JVM蜡塌、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,378評(píng)論 0 4
  • 四、集合框架 1:String類:字符串(重點(diǎn)) (1)多個(gè)字符組成的一個(gè)序列勿负,叫字符串馏艾。生活中很多數(shù)據(jù)的描述都采...
    佘大將軍閱讀 752評(píng)論 0 2
  • 注:都是在百度搜索整理的答案,如有侵權(quán)和錯(cuò)誤奴愉,希告知更改琅摩。 一、哪些情況下的對(duì)象會(huì)被垃圾回收機(jī)制處理掉 ?當(dāng)對(duì)象對(duì)...
    Jenchar閱讀 3,224評(píng)論 3 2
  • Java 語言支持的類型分為兩類:基本類型和引用類型锭硼。整型(byte 1, short 2, int 4, lon...
    xiaogmail閱讀 1,347評(píng)論 0 10
  • 會(huì)不會(huì)有一天一個(gè)人房资,一個(gè)人起床,一個(gè)人發(fā)呆檀头,一個(gè)人刷手機(jī)轰异,一個(gè)人穿衣洗漱,一個(gè)人在廁所閱讀暑始,一個(gè)人下樓搭独,一個(gè)人吃飯...
    筆端v閱讀 117評(píng)論 0 0