Java初級總結(jié)

1、String镣煮、StringBuilder、StringBuffer的區(qū)別
String:字符串常量鄙麦,是一個常量典唇,值不會改變,例:s="aaa";s=s+"d"; ==>> s="aaad";
StringBuffer:字符創(chuàng)變量胯府,使用它線程安全
StringBuilder:字符創(chuàng)變量介衔,使用它線程不安全
執(zhí)行速度:StringBuilder > StringBuffer > String

2、list和set的區(qū)別
對于Set 和 List都是 接口 Collection 的子接口
主要的區(qū)別:
Set 不允許重復(fù),List允許重復(fù)
Set 沒有順序骂因,List有順序

3炎咖、常用的集合類,作用及使用場景
使用場景
(1) 對于需要快速插入寒波,刪除元素乘盼,應(yīng)該使用LinkedList;
(2) 對于需要快速隨機(jī)訪問元素俄烁,應(yīng)該使用ArrayList蹦肴;
(3) 對于“單線程環(huán)境” 或者 “多線程環(huán)境,但List僅僅只會被單個線程操作”猴娩,此時應(yīng)該使用非同步的類(如ArrayList)阴幌;
(4) 對于“多線程環(huán)境,且List可能同時被多個線程操作”卷中,此時矛双,應(yīng)該使用同步的類(如Vector)。
(5) HashSet是基于Hash算法實現(xiàn)的蟆豫,其性能通常都優(yōu)于TreeSet议忽。為快速查找而設(shè)計的Set,我們通常都應(yīng)該使用HashSet十减,在我們需要排序的功能時栈幸,我們才使用TreeSet愤估。
(6) HashMap和HashTable:HashMap去掉了HashTable的contains方法,但是加上了containsValue()和containsKey()方法速址。HashTable同步的玩焰,而HashMap是非同步的,效率上比HashTable要高芍锚。HashMap允許空鍵值昔园,而HashTable不允許。
HashMap:適用于Map中插入并炮、刪除和定位元素默刚。
Treemap:適用于按自然順序或自定義順序遍歷鍵(key)。

4逃魄、數(shù)據(jù)庫連接池
工作機(jī)制:
數(shù)據(jù)庫連接池在初始化時將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫連接放到連接池中荤西,這些數(shù)據(jù)庫連接的數(shù)量是由最小數(shù)據(jù)庫連接數(shù)來設(shè)定的。無論這些數(shù)據(jù)庫連接是否被使用伍俘,連接池都將一直保證至少擁有這么多的連接數(shù)量邪锌。連接池的最大數(shù)據(jù)庫連接數(shù)量限定了這個連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請求的連接數(shù)超過最大連接數(shù)量時养篓,這些請求將被加入到等待隊列中秃流。

常用參數(shù)及其含義:
(1) maxActive 連接池支持的最大連接數(shù),這里取值為20柳弄,表示同時最多有20個數(shù)據(jù)庫連接舶胀。一般把maxActive設(shè)置成可能的并發(fā)量就行了,設(shè) 0 為沒有限制碧注。
(2) maxIdle 連接池中最多可空閑maxIdle個連接 嚣伐,這里取值為20,表示即使沒有數(shù)據(jù)庫連接時依然可以保持20空閑的連接萍丐,而不被清除轩端,隨時處于待命狀態(tài)。設(shè) 0 為沒有限制逝变。
(3). minIdle 連接池中最小空閑連接數(shù)基茵,當(dāng)連接數(shù)少于此值時,連接池會創(chuàng)建連接來補(bǔ)充到該值的數(shù)量
(4). initialSize 初始化連接數(shù)目
(5). maxWait 連接池中連接用完時,新的請求等待時間,毫秒壳影,這里取值-1拱层,表示無限等待,直到超時為止宴咧,也可取值9000根灯,表示9秒后超時。超過時間會出錯誤信息
(6). removeAbandoned 是否清除已經(jīng)超過“removeAbandonedTimout”設(shè)置的無效連接。如果值為“true”則超過“removeAbandonedTimout”設(shè)置的無效連接將會被清除烙肺。設(shè)置此屬性可以從那些沒有合適關(guān)閉連接的程序中恢復(fù)數(shù)據(jù)庫的連接纳猪。
(7). removeAbandonedTimeout 活動連接的最大空閑時間,單位為秒 超過此時間的連接會被釋放到連接池中,針對未被close的活動連接
(8). minEvictableIdleTimeMillis 連接池中連接可空閑的時間,單位為毫秒 針對連接池中的連接對象(9). timeBetweenEvictionRunsMillis / minEvictableIdleTimeMillis 每timeBetweenEvictionRunsMillis毫秒秒檢查一次連接池中空閑的連接,把空閑時間超過minEvictableIdleTimeMillis毫秒的連接斷開,直到連接池中的連接數(shù)到minIdle為止.

5、遍歷某一文件夾下的文件和目錄(遞歸)
public void traverseFolder2(String path) {

    File file = new File(path);
    if (file.exists()) {
        File[] files = file.listFiles();
        if (null == files || files.length == 0) {
            System.out.println("文件夾是空的!");
            return;
        } else {
            for (File file2 : files) {
                if (file2.isDirectory()) {
                    System.out.println("文件夾:" + file2.getAbsolutePath());
                    traverseFolder2(file2.getAbsolutePath());
                } else {
                    System.out.println("文件:" + file2.getAbsolutePath());
                }
            }
        }
    } else {
        System.out.println("文件不存在!");
    }
}

6桃笙、線程的實現(xiàn)方法
從JDK的文檔上看氏堤,在Java中實現(xiàn)線程有兩種方式,一種是繼承Thread類怎栽,另一種是實現(xiàn)Runnable接口丽猬。
它們的區(qū)別是:
(1)Thread類本身也是實現(xiàn)了Runnable接口宿饱,因此也是實現(xiàn)了Runnable接口中的run方法熏瞄。
(2)當(dāng)使用繼承Thread類去實現(xiàn)線程時,我們需要重寫run方法谬以,因為Thread類中的run方法本身什么事情都不干强饮。
(3)當(dāng)使用實現(xiàn)Runnable接口去實現(xiàn)線程時,我們需要重寫run方法为黎,然后使用new Thread(Runnable)這種方式來生成線程對象邮丰,這個時候線程對象中的run方法才會去執(zhí)行我們自己實現(xiàn)的Runnable接口中的run方法。

7铭乾、Thread.sleep()和 Object.wait() 有什么區(qū)別?
最主要是sleep方法沒有釋放鎖剪廉,而wait方法釋放了鎖,使得其他線程可以使用同步控制塊或者方法炕檩。

8斗蒋、方法重載和重寫的區(qū)別
方法重載是指同一個類中的多個方法具有相同的名字,但這些方法具有不同的參數(shù)列表,即參數(shù)的數(shù)量或參數(shù)類型不能完全相同
方法重寫是存在子父類之間的,子類定義的方法與父類中的方法具有相同的方法名字,相同的參數(shù)表和相同的返回類型

9、final finally finalize區(qū)別
final用于聲明屬性笛质,方法和類泉沾,分別表示屬性不可交變,方法不可覆蓋妇押,類不可繼承跷究。
finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行敲霍。
finalize是Object類的一個方法俊马,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,供垃圾收集時的其他資源回收肩杈,例如關(guān)閉文件等柴我。

10、JSP中動態(tài)include和靜態(tài)include區(qū)別
靜態(tài) INCLUDE 用 include 偽碼實現(xiàn) , 不會檢查所含文件的變化 , 適用于包含靜態(tài)頁面 <%@ include file="included.htm" %> 锋恬。先將文件的代碼被原封不動地加入到了主頁面從而合成一個文件屯换,然后再進(jìn)行翻譯

動態(tài) INCLUDE 用 jsp:include 動作實現(xiàn) <jsp:include page="included.jsp" flush="true" /> 它總是會檢查所含文件中的變化 , 適合用于包含動態(tài)頁面 , 并且可以帶參數(shù)。各個文件分別先編譯,然后組合成一個文件彤悔。

兩者有幾個不同點(diǎn):

(1)靜態(tài)導(dǎo)入是將被導(dǎo)入頁面的代碼完全融入嘉抓,兩個頁面融合成一個整體的servlet;而動態(tài)導(dǎo)入則在servlet中使用include方法來引入被導(dǎo)入頁面的內(nèi)容晕窑。

(2)靜態(tài)導(dǎo)入時被導(dǎo)入的頁面的編譯指令會起作用抑片,而動態(tài)導(dǎo)入時被導(dǎo)入的頁面的編譯指令則失去作用,只是插入被導(dǎo)入頁面的body內(nèi)容杨赤。

(3)動態(tài)包含可以包含相同變量敞斋,而靜態(tài)包含不行。

(4)如果被包含文件經(jīng)常變動疾牲,則應(yīng)該使用動態(tài)包含植捎,而使用靜態(tài)包含時,改變被包含文件后阳柔,有可能不能及時更新

11焰枢、數(shù)據(jù)庫事務(wù)
是指作為單個邏輯工作單元執(zhí)行的一系列操作,要么完全地執(zhí)行舌剂,要么完全地不執(zhí)行济锄。

原子性:事務(wù)必須是原子工作單元;對于其數(shù)據(jù)修改霍转,要么全都執(zhí)行荐绝,要么全都不執(zhí)行。

一致性:事務(wù)在完成時避消,必須使所有的數(shù)據(jù)都保持一致狀態(tài)低滩。

隔離性:由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離。

持久性:事務(wù)完成之后沾谓,它對于系統(tǒng)的影響是永久性的委造。該修改即使出現(xiàn)致命的系統(tǒng)故障也將一直保持。

12均驶、垃圾回收機(jī)制

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昏兆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子妇穴,更是在濱河造成了極大的恐慌爬虱,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腾它,死亡現(xiàn)場離奇詭異跑筝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瞒滴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門曲梗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赞警,“玉大人,你說我怎么就攤上這事虏两±⒌” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵定罢,是天一觀的道長笤虫。 經(jīng)常有香客問我,道長祖凫,這世上最難降的妖魔是什么琼蚯? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮惠况,結(jié)果婚禮上遭庶,老公的妹妹穿的比我還像新娘。我一直安慰自己售滤,他們只是感情好罚拟,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布台诗。 她就那樣靜靜地躺著完箩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拉队。 梳的紋絲不亂的頭發(fā)上弊知,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機(jī)與錄音粱快,去河邊找鬼秩彤。 笑死,一個胖子當(dāng)著我的面吹牛事哭,可吹牛的內(nèi)容都是我干的漫雷。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼鳍咱,長吁一口氣:“原來是場噩夢啊……” “哼降盹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谤辜,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蓄坏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后丑念,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涡戳,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年脯倚,在試婚紗的時候發(fā)現(xiàn)自己被綠了渔彰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖恍涂,靈堂內(nèi)的尸體忽然破棺而出编整,到底是詐尸還是另有隱情,我是刑警寧澤乳丰,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布掌测,位于F島的核電站,受9級特大地震影響产园,放射性物質(zhì)發(fā)生泄漏汞斧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一什燕、第九天 我趴在偏房一處隱蔽的房頂上張望粘勒。 院中可真熱鬧,春花似錦屎即、人聲如沸庙睡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乘陪。三九已至,卻和暖如春雕擂,著一層夾襖步出監(jiān)牢的瞬間啡邑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工井赌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谤逼,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓仇穗,卻偏偏與公主長得像流部,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子纹坐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

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