java 面試題2

集群環(huán)境中芥丧,session如何實現(xiàn)共享

1许布、Java集群之session共享

SimpleDataFormat是非線程安全的,如何更好的使用而避免風險呢

SimpleDateFormat 是 Java 中一個非常常用的類吭净,該類用來對日期字符串進行解析和格式化輸出访圃,但如果使用不小心會導致非常微妙和難以調試的問題替蔬,因為 DateFormat 和 SimpleDateFormat 類不都是線程安全的告私,在多線程環(huán)境下調用 format() 和 parse() 方法應該使用同步代碼來避免問題。

解決方法:(1)synchronized(sdf){ return sdf.format(date); }

(2)private static ThreadLocalthreadLocal = new ThreadLocal();

public static DateFormat getDateFormat() { DateFormat df = threadLocal.get(); if(df==null){ df = new SimpleDateFormat(date_format); threadLocal.set(df); } return df; }?

getDateFormat().format(date);

Java序列化

(1)使用默認的序列化機制承桥,即實現(xiàn)Serializable接口即可驻粟,不需要實現(xiàn)任何方法。static成員變量和transient關鍵字修飾的成員變量不會被序列化保存

(2)實現(xiàn)Externalizable接口

Externalizable接口是繼承自Serializable接口的凶异,我們在實現(xiàn)Externalizable接口時蜀撑,必須實現(xiàn)writeExternal(ObjectOutput)和readExternal(ObjectInput)方法挤巡,在這兩個方法下我們可以手動的進行序列化和反序列化那些需要保存的成員變量。

泛型中extends和super的區(qū)別

1. 只能用于方法返回酷麦,告訴編譯器此返參的類型的最小繼承邊界為T矿卑,T和T的父類都能接收,但是入?yún)㈩愋蜔o法確定沃饶,只能接受null的傳入?

?2. 只能用于限定方法入?yún)⒛竿ⅲ嬖V編譯器入?yún)⒅荒苁荰或其子類型,而返參只能用Object類接收

或者:

1绍坝、List<? extends T >是說 這個list放的是T或者T的子類型的對象,但是不能確定具體是什么類型苔悦,所以可以get()轩褐,不能add()(可以add null值)

extends 可用于的返回類型限定,不能用于參數(shù)類型限定

2玖详、List<? super T>?是說這個list放的是至少是T類型的對象把介,所以我可以add T或者T的子類型,但是get得到的類型不確定蟋座,所以不能get

super 可用于參數(shù)類型限定拗踢,不能用于返回類型限定。

什么是內部類,內部類的作用

(1)內部類( Inner Class )就是定義在另外一個類里面的類向臀。與之對應巢墅,包含內部類的類被稱為外部類

(2)1. 內部類提供了更好的封裝,可以把內部類隱藏在外部類之內券膀,不允許同一個包中的其他類訪問該類

2. 內部類的方法可以直接訪問外部類的所有數(shù)據(jù)君纫,包括私有的數(shù)據(jù)

(3)內部類的種類: 成員內部類、 局部內部類芹彬、 靜態(tài)內部類(靜態(tài)內部類的創(chuàng)建是不需要依賴于外圍類蓄髓,可以直接創(chuàng)建 靜態(tài)內部類不可以使用任何外圍類的非static成員變量和方法)、 匿名內部類(匿名內部類是沒有訪問修飾符的舒帮。 匿名內部類必須繼承一個抽象類或者實現(xiàn)一個接口 匿名內部類中不能存在任何靜態(tài)成員或方法 匿名內部類是沒有構造方法的会喝,因為它沒有類名)

(4)內部類通過(外部類.this)來獲得外部類的引用例如:

public class OuterClass { public void display(){ System.out.println("this is OuterClass..."); } public class InnerClass{ //獲取外部類的引用 public OuterClass getOuterClass(){ return OuterClass.this; } public void innerDisplay(){ //內部類也可以通過外部類的引用訪問外部元素 getOuterClass().display(); } } public static void main(String[] args) { OuterClass outerClass = new OuterClass(); OuterClass.InnerClass innerClass = outerClass.new InnerClass(); innerClass.innerDisplay(); } }

(5)部類可以通過內部類引用間接訪問內部類元素,例如

public class OuterClass { public void display(){ //外部類訪問內部類元素玩郊,需要通過內部類引用訪問 InnerClass innerClass=new InnerClass(); innerClass.innerDisplay(); } public class InnerClass{ public void innerDisplay(){ System.out.println("I am inner class"); } } public static void main(String[] args) { OuterClass outerClass=new OuterClass(); outerClass.display(); } }

(6)在外部類外面創(chuàng)建內部了對象

OuterClass.InnerClass innerClass=new OuterClass().new InnerClass();

或者

OuterClass outerClass = new OuterClass(); OuterClass.InnerClass innerClass = outerClass.new InnerClass();

String,StringBuffer與StringBuilder的區(qū)別

String 字符串常量 肢执,String類是被final修飾,String類不能被繼承译红,

StringBuffer 字符串變量(線程安全)

StringBuilder 字符串變量(非線程安全)

String蔚万、StringBuilder、StringBuffer三者的執(zhí)行效率:StringBuilder > StringBuffer > String?

int临庇、char反璃、long各占多少字節(jié)數(shù)

Java基本類型占用的字節(jié)數(shù):

?1字節(jié): byte , boolean

?2字節(jié): short , char

?4字節(jié): int , float

8字節(jié): long , double

Java基礎之int和Integer有什么區(qū)別

(1)Integer是int的包裝類昵慌;int是基本數(shù)據(jù)類型;

?(2)Integer變量必須實例化后才能使用淮蜈;int變量不需要斋攀;

?(3)Integer實際是對象的引用,指向此new的Integer對象梧田;int是直接存儲數(shù)據(jù)值 淳蔼;

?(4)Integer的默認值是null;int的默認值是0

(5)int i = 128;? Integer i2 = 128;17 System.out.println(i == i2); //Integer會自動拆箱為int裁眯,所以為true

(6)Integer i7 = new Integer(128); 29 Integer i8 = new Integer(123); 30 System.out.println(i7 == i8); //false 由于Integer變量實際上是對一個Integer對象的引用鹉梨,所以兩個通過new生成的Integer變量永遠是不相等的(因為new生成的是兩個對象,其內存地址不同)穿稳。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末存皂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子逢艘,更是在濱河造成了極大的恐慌旦袋,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件它改,死亡現(xiàn)場離奇詭異疤孕,居然都是意外死亡,警方通過查閱死者的電腦和手機央拖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門祭阀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鲜戒,你說我怎么就攤上這事柬讨。” “怎么了袍啡?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵踩官,是天一觀的道長。 經(jīng)常有香客問我境输,道長蔗牡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任嗅剖,我火速辦了婚禮辩越,結果婚禮上,老公的妹妹穿的比我還像新娘信粮。我一直安慰自己黔攒,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著督惰,像睡著了一般不傅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赏胚,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天访娶,我揣著相機與錄音,去河邊找鬼觉阅。 笑死崖疤,一個胖子當著我的面吹牛,可吹牛的內容都是我干的典勇。 我是一名探鬼主播劫哼,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼割笙!你這毒婦竟也來了权烧?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤咳蔚,失蹤者是張志新(化名)和其女友劉穎豪嚎,沒想到半個月后搔驼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谈火,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年舌涨,在試婚紗的時候發(fā)現(xiàn)自己被綠了糯耍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡囊嘉,死狀恐怖温技,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情扭粱,我是刑警寧澤舵鳞,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站琢蛤,受9級特大地震影響蜓堕,放射性物質發(fā)生泄漏。R本人自食惡果不足惜博其,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一套才、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧慕淡,春花似錦背伴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽息尺。三九已至,卻和暖如春崎逃,著一層夾襖步出監(jiān)牢的瞬間掷倔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工个绍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留勒葱,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓巴柿,卻偏偏與公主長得像凛虽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子广恢,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法凯旋,類相關的語法,內部類的語法钉迷,繼承相關的語法至非,異常的語法,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理糠聪,服務發(fā)現(xiàn)荒椭,斷路器,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • 這張畫涂得我很痛苦舰蟆!中途都有過想放棄的念頭趣惠!終究還是耐著性子把它完成了!
    花飛花貝蕾舞蹈中心閱讀 120評論 0 0
  • 276期身害,感謝1組成員 【日精進打卡第158天】 【知~學習】 《六項精進》讀0遍 共78遍 《六項精進》背0遍 ...
    周晨i閱讀 227評論 0 0
  • 天氣變得暖了起來 一整個安靜的下午 找出了本令人歡愉的小書 咖啡香氣輕挑地起伏 眼角迷蒙地畫起弧線 一支小提琴的溫...
    戌公子閱讀 196評論 0 0