国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JAVA面試題(45)

Allen / 1126人閱讀

摘要:本文首發(fā)于的博客轉(zhuǎn)載請(qǐng)注明出處與的區(qū)別作用對(duì)象是類的靜態(tài)方法,作用于當(dāng)前線程是類的成員方法,作用于對(duì)象本身作用調(diào)用方法,線程進(jìn)入休眠狀態(tài)調(diào)用方法,線程進(jìn)入阻塞狀態(tài)鎖的釋放不會(huì)釋放持有的鎖會(huì)釋放鎖喚醒自然喚醒或者顯式調(diào)用方法調(diào)用或者方法調(diào)用不

????本文首發(fā)于cartoon的博客
????轉(zhuǎn)載請(qǐng)注明出處:https://cartoonyu.github.io/c...

java

sleep與wait的區(qū)別

作用對(duì)象

sleep是Thread類的靜態(tài)方法,作用于當(dāng)前線程

wait是Object類的成員方法,作用于對(duì)象本身

作用

調(diào)用sleep方法,線程進(jìn)入休眠狀態(tài)

調(diào)用wait方法,線程進(jìn)入阻塞狀態(tài)

鎖的釋放

sleep不會(huì)釋放持有的鎖

wait會(huì)釋放鎖

喚醒

自然喚醒或者顯式調(diào)用interrupt方法

調(diào)用notify或者notifyAll方法

調(diào)用

sleep不需要在同步代碼中調(diào)用

wait需要在同步代碼中調(diào)用,否則拋出IllegalMonitorStateException

使用場(chǎng)景

sleep作用于周期性任務(wù)的執(zhí)行

wait作用于互斥資源的使用

hashMap的擴(kuò)容機(jī)制

相關(guān)成員屬性

HashMap是JAVA集合框架的一個(gè)存儲(chǔ)key-value對(duì)的實(shí)現(xiàn)類,有關(guān)于擴(kuò)容機(jī)制的成員屬性主要有三個(gè)

默認(rèn)值為16的capicity

默認(rèn)值為0.75的loadFactory

默認(rèn)值為0的size

觸發(fā)時(shí)機(jī)

插入元素時(shí)

實(shí)現(xiàn)

JDK 1.7

傳入newCapicity參數(shù)

新建newCapicity長(zhǎng)度的Entry數(shù)組

將原數(shù)組元素重新hash放入新數(shù)組

將原有數(shù)組引用指向新數(shù)組

JDK 1.8之后

如果節(jié)點(diǎn)的鏈表元素個(gè)數(shù)大于8時(shí),原有的數(shù)組鏈表會(huì)轉(zhuǎn)換成數(shù)組紅黑樹的邏輯結(jié)構(gòu)進(jìn)行使用

如果當(dāng)前size大于loadFactory*capicity的閾值,觸發(fā)擴(kuò)容機(jī)制

新建一個(gè)newCap的int變量,大小為2*oldCapicity

新建一個(gè)大小為newCap的數(shù)組

原數(shù)組元素索引進(jìn)行2次冪的計(jì)算放入新數(shù)組

將newCap賦值給原有的capicity

返回新數(shù)組

ReentantLock的了解

存在位置

ReentantLock是JDK的一個(gè)顯式鎖的API,具體通過AQS隊(duì)列實(shí)現(xiàn)功能

鎖的種類

ReentantLock是可重入的鎖,內(nèi)部通過判斷state當(dāng)前占有線程進(jìn)行重入的判斷

ReentantLock可以實(shí)現(xiàn)公平鎖以及非公平鎖,在構(gòu)造對(duì)象時(shí)顯式傳入fair

同步機(jī)制

ReentantLock是同步非阻塞式的,采用樂觀并發(fā)策略

ReentantLock需要顯式控制鎖的獲取與釋放,而且可以響應(yīng)中斷

List實(shí)現(xiàn)類的比較

底層實(shí)現(xiàn)

Arraylist為數(shù)組

LinkedList為鏈表

線程安全

ArrayList,LinkedList為線程不安全

Vector為線程安全

實(shí)現(xiàn)時(shí)間

ArrayList,LinkedList為JDK1.2開始實(shí)現(xiàn)

Vector為JDK1.1開始實(shí)現(xiàn)

NIO的了解

NIO是java中用于實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出的API,是同步非阻塞式的

核心對(duì)象

selector,選擇器,用于對(duì)channel的選擇

channel,通道,用于連接java程序與對(duì)象的通道

buffer,緩沖區(qū),用于數(shù)據(jù)的暫時(shí)存放

工作步驟

java程序與操作對(duì)象建立channel

數(shù)據(jù)放入buffer中

selector輪詢channel,監(jiān)控IO狀況,控制輸入輸出

ConcurrentHashMap同步的實(shí)現(xiàn)(JDK1.7 1.8)

JDK1.7實(shí)現(xiàn)

ConcurrentHashMap中數(shù)據(jù)存放在Segment(默認(rèn)為16個(gè))中

ConcurrentHashMap為區(qū)域鎖,鎖定對(duì)象是Segment

在寫數(shù)據(jù)時(shí),會(huì)經(jīng)過計(jì)算得出使用的Segment,并檢查是否持有Segment的鎖

JDK1.8實(shí)現(xiàn)

ConcurrentHashMap中數(shù)據(jù)存放在數(shù)組鏈表/紅黑樹中

ConcurrentHashMap是行級(jí)鎖,鎖定對(duì)象是鏈表的頭結(jié)點(diǎn)或者紅黑樹的根結(jié)點(diǎn)

在寫數(shù)據(jù),計(jì)算訪問的數(shù)據(jù)索引,檢查鎖,訪問鏈表或者紅黑樹

JVM

G1的工作流程

初始標(biāo)記

并發(fā)標(biāo)記

最終標(biāo)記

篩選回收

CMS的工作流程

初始標(biāo)記(stw現(xiàn)象)

并發(fā)標(biāo)記

重新標(biāo)記(stw現(xiàn)象)

并發(fā)清理

重置線程

Spring

spring bean的生命周期

對(duì)象被實(shí)例化

Spring進(jìn)行IOC的注入

可選

傳入對(duì)象

實(shí)現(xiàn)BeanNameAware接口,傳入bean的ID

實(shí)現(xiàn)ApplicationFactoryAware接口,傳入Spring工廠

實(shí)現(xiàn)ApplicationContextAware接口,傳入Spring上下文

初始化

實(shí)現(xiàn)BeanPostProcessor接口,對(duì)bean內(nèi)容進(jìn)行修改

使用

清理

網(wǎng)絡(luò)

輸入域名到返回頁面的過程

瀏覽器部分

利用DNS進(jìn)行域名解析

檢查本地host文件

組裝http報(bào)文

http報(bào)文經(jīng)過OSI底層包裝發(fā)送請(qǐng)求

http請(qǐng)求在第三次tcp握手上發(fā)送

傳輸

路由器根據(jù)IP進(jìn)行選擇轉(zhuǎn)發(fā)到目標(biāo)主機(jī)

目標(biāo)主機(jī)

后端進(jìn)行報(bào)文的拆解獲取真實(shí)請(qǐng)求

根據(jù)請(qǐng)求返回相應(yīng)頁面

傳輸

路由器根據(jù)IP進(jìn)行選擇轉(zhuǎn)發(fā)到目標(biāo)主機(jī)

源主機(jī)

拆解報(bào)文,獲取實(shí)部數(shù)據(jù)

交給瀏覽器渲染頁面

算法

兩數(shù)之和(leetcode 1)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75597.html

相關(guān)文章

  • 【推薦】最新200篇:技術(shù)文章整理

    摘要:作為面試官,我是如何甄別應(yīng)聘者的包裝程度語言和等其他語言的對(duì)比分析和主從復(fù)制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復(fù)實(shí)現(xiàn)故障恢復(fù)自動(dòng)化詳解哨兵技術(shù)查漏補(bǔ)缺最易錯(cuò)過的技術(shù)要點(diǎn)大掃盲意外宕機(jī)不難解決,但你真的懂?dāng)?shù)據(jù)恢復(fù)嗎每秒 作為面試官,我是如何甄別應(yīng)聘者的包裝程度Go語言和Java、python等其他語言的對(duì)比分析 Redis和MySQL Redis:主從復(fù)制的原理詳...

    BicycleWarrior 評(píng)論0 收藏0
  • 【推薦】最新200篇:技術(shù)文章整理

    摘要:作為面試官,我是如何甄別應(yīng)聘者的包裝程度語言和等其他語言的對(duì)比分析和主從復(fù)制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復(fù)實(shí)現(xiàn)故障恢復(fù)自動(dòng)化詳解哨兵技術(shù)查漏補(bǔ)缺最易錯(cuò)過的技術(shù)要點(diǎn)大掃盲意外宕機(jī)不難解決,但你真的懂?dāng)?shù)據(jù)恢復(fù)嗎每秒 作為面試官,我是如何甄別應(yīng)聘者的包裝程度Go語言和Java、python等其他語言的對(duì)比分析 Redis和MySQL Redis:主從復(fù)制的原理詳...

    tommego 評(píng)論0 收藏0
  • JAVA面試(32)

    摘要:本文首發(fā)于的博客轉(zhuǎn)載請(qǐng)注明出處和的區(qū)別是什么內(nèi)存分配字節(jié)字節(jié)范圍到和到到和到在顯示時(shí)會(huì)發(fā)生精度缺失,不會(huì)的內(nèi)連接左連接右連接有什么區(qū)別內(nèi)連接關(guān)鍵詞特點(diǎn)返回兩個(gè)表中符合條件的交集左連接關(guān)鍵詞特點(diǎn)返回全部數(shù)據(jù)以及符合條件的的數(shù) ????本文首發(fā)于cartoon的博客????轉(zhuǎn)載請(qǐng)注明出處:https://cartoonyu.github.io/c... float 和 double 的...

    neroneroffy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<