Java問題詳解

1.什么是線程安全蔓榄?

在《深入理解Java虛擬機(jī)(第2版)》中系任,將線程安全分為了不可變絕對(duì)線程安全相對(duì)線程安全線程兼容線程對(duì)立五種:

  • 不可變
    • 不可變的對(duì)象一定是線程安全的
    • 在Java語言里源请,如果共享數(shù)據(jù)是一個(gè)基本數(shù)據(jù)類型,那么只要在定義時(shí)使用final關(guān)鍵字修飾它就可以保證它是不可變的彻况。 如果共享數(shù)據(jù)是一個(gè)對(duì)象谁尸,那就需要保證對(duì)象的行為不會(huì)對(duì)其狀態(tài)產(chǎn)生任何影響。(被final修飾的字段在構(gòu)造器中初始化完成前纽甘,構(gòu)造器沒有把“this”的引用傳遞出去良蛮,才能保證對(duì)象的不可變)
      • 保證對(duì)象行為不影響自己狀態(tài)的途徑有很多種,其中最簡(jiǎn)單的就是把對(duì)象中帶有狀態(tài)的變量都聲明為final悍赢,這樣在構(gòu)造函數(shù)結(jié)束之后决瞳,它就是不可變的
    • Java中不可變的類型,包括String泽裳、枚舉類型瞒斩、java.lang.Number的部分子類等等破婆。同為Number的子類型的原子類AtomicInteger和AtomicLong并非是不可變的涮总,而是相對(duì)線程安全的。(AtomicInteger的源碼中祷舀,value的值是通過volatile關(guān)鍵字進(jìn)行修飾的瀑梗。volatile可以保證數(shù)據(jù)的可見性,但卻無法保證有序性)
  • 絕對(duì)線程安全
    • 絕對(duì)的線程安全完全滿足Brian Goetz給出的線程安全的定義
      • Brian Goetz對(duì)線程安全的定義:當(dāng)多個(gè)線程訪問一個(gè)對(duì)象時(shí)裳扯,如果不用考慮這些線程在運(yùn)行時(shí)環(huán)境下的調(diào)度和交替執(zhí)行抛丽,也不需要進(jìn)行額外的同步,或者在調(diào)用方進(jìn)行任何其他的協(xié)調(diào)操作饰豺,調(diào)用這個(gè)對(duì)象的行為都可以獲得正確的結(jié)果亿鲜,那這個(gè)對(duì)象是線程安全的
  • 相對(duì)線程安全
    • 相對(duì)的線程安全就是我們通常意義上所講的線程安全,它需要保證對(duì)這個(gè)對(duì)象單獨(dú)的操作是線程安全的冤吨,我們?cè)谡{(diào)用的時(shí)候不需要做額外的保障措施蒿柳,但是對(duì)于一些特定順序的連續(xù)調(diào)用,就可能需要在調(diào)用端使用額外的同步手段來保證調(diào)用的正確性漩蟆。
    • 在Java語言中垒探,大部分的線程安全類都屬于這種類型,例如Vector怠李、HashTable圾叼、Collections的synchronizedCollection()方法包裝的集合等
  • 線程兼容
    • 線程兼容是指對(duì)象本身并不是線程安全的蛤克,但是可以通過在調(diào)用端正確地使用同步手段來保證對(duì)象在并發(fā)環(huán)境中可以安全地使用,我們平常說一個(gè)類不是線程安全的夷蚊,絕大多數(shù)時(shí)候指的是這一種情況构挤。
    • 如ArrayList和HashMap等
  • 線程對(duì)立
    • 線程對(duì)立是指無論調(diào)用端是否采取了同步措施,都無法在多線程環(huán)境中并發(fā)使用的代碼撬码。

2.排序算法有哪些

詳情請(qǐng)見十種排序算法及其比較(java實(shí)現(xiàn))

3.正則表達(dá)式是什么儿倒?

詳情請(qǐng)見正則表達(dá)式30分鐘入門教程

4.如何進(jìn)行日期時(shí)間格式化?

詳情請(qǐng)見Java魔法堂:Date與日期時(shí)間格式化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呜笑,一起剝皮案震驚了整個(gè)濱河市夫否,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叫胁,老刑警劉巖凰慈,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異驼鹅,居然都是意外死亡微谓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門输钩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豺型,“玉大人,你說我怎么就攤上這事买乃∫霭保” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵剪验,是天一觀的道長(zhǎng)肴焊。 經(jīng)常有香客問我,道長(zhǎng)功戚,這世上最難降的妖魔是什么娶眷? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮啸臀,結(jié)果婚禮上届宠,老公的妹妹穿的比我還像新娘。我一直安慰自己乘粒,他們只是感情好豌注,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谓厘,像睡著了一般幌羞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竟稳,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天属桦,我揣著相機(jī)與錄音熊痴,去河邊找鬼。 笑死聂宾,一個(gè)胖子當(dāng)著我的面吹牛果善,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播系谐,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼巾陕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了纪他?” 一聲冷哼從身側(cè)響起鄙煤,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茶袒,沒想到半個(gè)月后梯刚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡薪寓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年亡资,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片向叉。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锥腻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出母谎,到底是詐尸還是另有隱情瘦黑,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布销睁,位于F島的核電站供璧,受9級(jí)特大地震影響存崖,放射性物質(zhì)發(fā)生泄漏冻记。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一来惧、第九天 我趴在偏房一處隱蔽的房頂上張望冗栗。 院中可真熱鬧,春花似錦供搀、人聲如沸隅居。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胎源。三九已至,卻和暖如春屿脐,著一層夾襖步出監(jiān)牢的瞬間涕蚤,已是汗流浹背宪卿。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留万栅,地道東北人佑钾。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像烦粒,于是被迫代替她去往敵國(guó)和親休溶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法扰她,類相關(guān)的語法兽掰,內(nèi)部類的語法,繼承相關(guān)的語法徒役,異常的語法禾进,線程的語...
    子非魚_t_閱讀 31,599評(píng)論 18 399
  • (一)Java部分 1、列舉出JAVA中6個(gè)比較常用的包【天威誠(chéng)信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,087評(píng)論 0 62
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,841評(píng)論 25 707
  • 買了一只鉛筆廉涕,突然變得勤奮了……上圖
    飛兒創(chuàng)意閱讀 262評(píng)論 0 0
  • “鳥不鳴泻云,信長(zhǎng)殺之;鳥不鳴狐蜕,秀吉使鳴之宠纯;鳥不鳴,家康待鳴之层释∑殴希” 這句有名的日本諺語,用來比喻對(duì)于用戶的活躍的激發(fā),...
    哎喲哎喲蹦嚓嚓閱讀 1,935評(píng)論 0 0