成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JAVA面試題(45)

Allen / 1191人閱讀

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

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

java

sleep與wait的區(qū)別

作用對象

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

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

作用

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

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

鎖的釋放

sleep不會釋放持有的鎖

wait會釋放鎖

喚醒

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

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

調(diào)用

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

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

使用場景

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

wait作用于互斥資源的使用

hashMap的擴容機制

相關(guān)成員屬性

HashMap是JAVA集合框架的一個存儲key-value對的實現(xiàn)類,有關(guān)于擴容機制的成員屬性主要有三個

默認值為16的capicity

默認值為0.75的loadFactory

默認值為0的size

觸發(fā)時機

插入元素時

實現(xiàn)

JDK 1.7

傳入newCapicity參數(shù)

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

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

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

JDK 1.8之后

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

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

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

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

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

將newCap賦值給原有的capicity

返回新數(shù)組

ReentantLock的了解

存在位置

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

鎖的種類

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

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

同步機制

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

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

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

底層實現(xiàn)

Arraylist為數(shù)組

LinkedList為鏈表

線程安全

ArrayList,LinkedList為線程不安全

Vector為線程安全

實現(xiàn)時間

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

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

NIO的了解

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

核心對象

selector,選擇器,用于對channel的選擇

channel,通道,用于連接java程序與對象的通道

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

工作步驟

java程序與操作對象建立channel

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

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

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

JDK1.7實現(xiàn)

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

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

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

JDK1.8實現(xiàn)

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

ConcurrentHashMap是行級鎖,鎖定對象是鏈表的頭結(jié)點或者紅黑樹的根結(jié)點

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

JVM

G1的工作流程

初始標記

并發(fā)標記

最終標記

篩選回收

CMS的工作流程

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

并發(fā)標記

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

并發(fā)清理

重置線程

Spring

spring bean的生命周期

對象被實例化

Spring進行IOC的注入

可選

傳入對象

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

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

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

初始化

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

使用

清理

網(wǎng)絡(luò)

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

瀏覽器部分

利用DNS進行域名解析

檢查本地host文件

組裝http報文

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

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

傳輸

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

目標主機

后端進行報文的拆解獲取真實請求

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

傳輸

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

源主機

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

交給瀏覽器渲染頁面

算法

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

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/75597.html

相關(guān)文章

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

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

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

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

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

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

    neroneroffy 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<