6月19日面試總結(jié)

1、Servlet的生命周期

1.加載和實(shí)例化:Servlet容器負(fù)責(zé)加載和實(shí)例化Servlet法绵。當(dāng)Servlet容器啟動(dòng)時(shí)徽曲,或者在容器檢測到需要這個(gè)Servlet來響應(yīng)第一個(gè)請求時(shí)呜舒,創(chuàng)建Servlet實(shí)例。

2.初始化:容器將調(diào)用Servlet的init()方法初始化這個(gè)對象荣月。

3.請求處理:Servlet容器調(diào)用Servlet的service()方法對請求進(jìn)行處理管呵。

4.服務(wù)終止:當(dāng)容器檢測到一個(gè)Servlet實(shí)例應(yīng)該從服務(wù)中被移除的時(shí)候,容器就會(huì)調(diào)用實(shí)例的destroy()方法喉童,以便讓該實(shí)例可以釋放它所使用的資源撇寞,保存數(shù)據(jù)到持久存儲設(shè)備中。當(dāng)需要釋放內(nèi)存或者容器關(guān)閉時(shí)堂氯,容器就會(huì)調(diào)用Servlet實(shí)例的destroy()方法蔑担。在destroy()方法調(diào)用之后,容器會(huì)釋放這個(gè)Servlet實(shí)例咽白,該實(shí)例隨后會(huì)被Java的垃圾收集器所回收啤握。如果再次需要這個(gè)Servlet處理請求,Servlet容器會(huì)創(chuàng)建一個(gè)新的Servlet實(shí)例晶框。

2排抬、Hibernate中SessionFactory和Session是否是線程安全對象

SessionFactory對應(yīng)Hibernate的一個(gè)數(shù)據(jù)存儲的概念懂从,它是線程安全的,可以被多個(gè)線程并發(fā)訪問蹲蒲。SessionFactory一般只會(huì)在啟動(dòng)的時(shí)候構(gòu)建番甩。 Session是一個(gè)輕量級非線程安全的對象(線程間不能共享session),它表示與數(shù)據(jù)庫進(jìn)行交互的一個(gè)工作單元届搁。

3缘薛、警察小偷爸爸媽媽兒子女兒過河

大概是岸上有警察,小偷卡睦,爸爸宴胧,媽媽,兩個(gè)兒子表锻,兩個(gè)女兒恕齐,一共八個(gè)人,只有警察瞬逊,爸爸显歧,媽媽會(huì)劃船,警察不在時(shí)码耐,小偷會(huì)殺其他人追迟,爸爸不在時(shí),媽媽會(huì)打兒子骚腥,媽媽不在時(shí),爸爸會(huì)打女兒瓶逃,除了劃船的人束铭,船上只能載一人,問要?jiǎng)澏嗌俅尾拍馨阉腥诉\(yùn)到島上

1厢绝、犯人以及警察首先過河契沫,警察回來;
2昔汉、警察與女兒過河懈万,警察與犯人回來;
3靶病、媽媽與女兒過河会通,媽媽回來;
4娄周、媽媽與爸爸過河涕侈,爸爸回來;
5煤辨、警察與犯人過河裳涛,媽媽回來木张;
6、媽媽與爸爸過河端三,爸爸回來舷礼;
7、爸爸與兒子過河郊闯,警察與犯人回來妻献;
8、警察與兒子過河虚婿;警察回來旋奢;
9、警察與犯人過河然痊。

4至朗、redis與memcached的區(qū)別:

  • redis支持五種數(shù)據(jù)類型(string、hash剧浸、list锹引、set、zset)唆香,memcached僅支持字符串類型
  • redis支持?jǐn)?shù)據(jù)的備份嫌变,memcached不支持
  • redis支持?jǐn)?shù)據(jù)的持久化
  • redis是單線程,memcached是多線程

5躬它、降低token 被盜風(fēng)險(xiǎn)安全問題

  • 將token放在請求頭中
  • 使用https協(xié)議
  • 將token的過期時(shí)間設(shè)置的短一點(diǎn)
  • 綁定ip地址

6腾啥、redis中setnx的用法

Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在時(shí),為 key 設(shè)置指定的值冯吓。

redis Setnx 命令基本語法如下:

redis 127.0.0.1:6379> SETNX KEY_NAME VALUE

返回值:

設(shè)置成功倘待,返回 1 。 設(shè)置失敗组贺,返回 0 凸舵。

redis分布式鎖的實(shí)現(xiàn):

分布式鎖要滿足兩個(gè)條件:一個(gè)是加有效時(shí)間的鎖,一個(gè)是高性能解鎖失尖。

采用redis命令setnx啊奄、與setex來實(shí)現(xiàn)

private StringRedisTemplate redisTemplate;
private static final String publicKey="CommonKey";
public void setNx() {
        try {
            String value = "20200619";
            lock= redisTemplate.opsForValue().setIfAbsent(publicKey, value);
            //判斷是否獲取鎖
            if(!lock){
                //如果沒有獲取鎖
                String result=redisTemplate.opsForValue().get(publicKey);
            }else{
                //說明已經(jīng)獲取鎖并且成功設(shè)置了值
                //然后設(shè)置過期時(shí)間
                redisTemplate.opsForValue().set(publicKey,value,60, TimeUnit.SECONDS);
                Thread.sleep(5000);
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            //最后一定要釋放鎖
            redisTemplate.delete(publicKey);
        }

但是,這種代碼是有缺陷的掀潮,在setnx和setex中間發(fā)生了服務(wù)down機(jī)菇夸,這種情況有兩種解決辦法:第一種是使用redis的lua腳本,保證原子性胧辽,第二種方式:Redis從2.6之后支持setnx峻仇、setex連用:SET lock_key random_value NX PX 5000

local lockKey = KEYS[1]
local lockTime = KEYS[2]
local lockValue = KEYS[3]

-- setnx info
local result_1 = redis.call('SETNX', lockKey, lockValue)
if result_1 == 1
then
local result_2= redis.call('SETEX', lockKey,lockTime, lockValue)
return result_2
else
return 'faild'
end
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市邑商,隨后出現(xiàn)的幾起案子摄咆,更是在濱河造成了極大的恐慌凡蚜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吭从,死亡現(xiàn)場離奇詭異朝蜘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涩金,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門谱醇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人步做,你說我怎么就攤上這事副渴。” “怎么了全度?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵煮剧,是天一觀的道長。 經(jīng)常有香客問我将鸵,道長勉盅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任顶掉,我火速辦了婚禮草娜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痒筒。我一直安慰自己宰闰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布簿透。 她就那樣靜靜地躺著议蟆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪萎战。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天舆逃,我揣著相機(jī)與錄音蚂维,去河邊找鬼。 笑死路狮,一個(gè)胖子當(dāng)著我的面吹牛虫啥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奄妨,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼涂籽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了砸抛?” 一聲冷哼從身側(cè)響起评雌,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤树枫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后景东,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體砂轻,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年斤吐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搔涝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡和措,死狀恐怖庄呈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情派阱,我是刑警寧澤诬留,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站颁褂,受9級特大地震影響故响,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜颁独,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一彩届、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧誓酒,春花似錦樟蠕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至歼冰,卻和暖如春靡狞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背隔嫡。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工甸怕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腮恩。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓梢杭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親秸滴。 傳聞我的和親對象是個(gè)殘疾皇子武契,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

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