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

資訊專(zhuān)欄INFORMATION COLUMN

JAVA面試題(46)

txgcwm / 3405人閱讀

摘要:本文首發(fā)于的博客轉(zhuǎn)載請(qǐng)注明出處抽象類(lèi)與接口的區(qū)別類(lèi)抽象類(lèi)只能繼承一個(gè)直接父類(lèi),可以實(shí)現(xiàn)多個(gè)接口接口可以繼承多個(gè)接口變量抽象類(lèi)允許所有作用域或者關(guān)鍵字進(jìn)行變量的修飾,與普通類(lèi)沒(méi)有區(qū)別接口只允許靜態(tài)不可變的變量方法接口中在之前所有方法都是抽象的

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

JAVA

抽象類(lèi)與接口的區(qū)別

類(lèi)

抽象類(lèi)只能繼承一個(gè)直接父類(lèi),可以實(shí)現(xiàn)多個(gè)接口

接口可以繼承多個(gè)接口

變量

抽象類(lèi)允許所有作用域或者關(guān)鍵字進(jìn)行變量的修飾,與普通類(lèi)沒(méi)有區(qū)別

接口只允許靜態(tài)不可變的public變量

方法

接口中在jdk1.8之前所有方法都是抽象的public方法,在1.8得到增強(qiáng),可以有靜態(tài)方法或者默認(rèn)的普通方法

抽象類(lèi)中可以有抽象方法,普通方法,靜態(tài)方法,可以被多種關(guān)鍵字修飾,普通方法中可以有自身的邏輯

作用

接口主要用于模塊間行為的約束

抽象類(lèi)主要用于模板類(lèi)的實(shí)現(xiàn)

線程不同步集合轉(zhuǎn)換成線程同步集合以及區(qū)別

繼承原有集合通過(guò)java的線程同步機(jī)制實(shí)現(xiàn)

使用Collections的synchronizedXxx方法進(jìn)行集合的轉(zhuǎn)換

簡(jiǎn)單

鎖的對(duì)象為對(duì)象,粒度過(guò)大

使用java.util包中的ConCurrent方法進(jìn)行包裝

簡(jiǎn)單

鎖的粒度為行級(jí),且鎖的種類(lèi)比較豐富

java常見(jiàn)異常以及發(fā)生場(chǎng)景(最少5個(gè)exception)

OutOfMemoryError

創(chuàng)建大對(duì)象超過(guò)java老年代內(nèi)存拋出

循環(huán)調(diào)用過(guò)多,甚至出現(xiàn)無(wú)限循環(huán)拋出

ClassCastException

對(duì)象向下轉(zhuǎn)型時(shí)發(fā)生

NullPointerException

對(duì)象引用未指定對(duì)象實(shí)例直接使用

SQLException

sql語(yǔ)句執(zhí)行錯(cuò)誤

InterruptedException

線程意外終止

IndexOutOfBoundException

數(shù)組越界

為什么要用線程池,線程池有什么參數(shù)可以對(duì)線程池進(jìn)行配置

使用線程池原因

異步操作頻繁造成的線程切換

線程頻繁創(chuàng)建銷(xiāo)毀造成的資源的消耗

參數(shù)

ThreadFactory

corePoolSize

CPU密集,n+1

IO密集,多線程

keepAliveTime

maximumPoolSize

BlockingQueue

6種實(shí)現(xiàn)隊(duì)列

TimeUnit

List,Set,Map的區(qū)別

存儲(chǔ)元素

List與Set是存儲(chǔ)單一元素的集合

Map是存儲(chǔ)key-value對(duì)元素的集合

元素有序性

Set與Map內(nèi)的元素在方法調(diào)用層面是無(wú)序的

List元素是有序的

元素可重復(fù)性

List元素是可重復(fù)的

Set不允許重復(fù),Map不允許key重復(fù)

繼承接口

Set與List繼承了Collection

Map是與Collection層次一致的接口

Iterator與ListIterator的區(qū)別

繼承性

ListIterator繼承于Iterator

遍歷集合

Iterator可以遍歷Collection內(nèi)的所有實(shí)現(xiàn)類(lèi)

ListIterator只能遍歷List接口下的ArrayList以及LinkedList

遍歷方向

Iterator只能向下遍歷

ListIterator可以向上向下遍歷

迭代時(shí)修改元素

Iterator不支持迭代時(shí)修改或插入集合元素

ListIterator支持迭代時(shí)修改或刪除元素

迭代時(shí)移除元素

兩個(gè)迭代器都可以在迭代時(shí)移除元素

JVM

垃圾回收算法

標(biāo)記-清理

標(biāo)記存活對(duì)象

清除未標(biāo)記對(duì)象

效率高,但是會(huì)造成內(nèi)存碎片

復(fù)制

將內(nèi)存區(qū)域劃分成清理區(qū)與存活區(qū)

將存活對(duì)象復(fù)制到存活區(qū)

清理清理區(qū)的所有對(duì)象

不會(huì)造成內(nèi)存碎片,但是降低內(nèi)存的使用率

標(biāo)記-整理

標(biāo)記待清理對(duì)象

將標(biāo)記對(duì)象移到另外一側(cè)

清理邊界外內(nèi)存區(qū)域

有效解決了內(nèi)存碎片的產(chǎn)生以及內(nèi)存使用率下降的問(wèn)題

數(shù)據(jù)庫(kù)

char與varchar的區(qū)別

數(shù)據(jù)插入方面

當(dāng)插入數(shù)據(jù)等于定義長(zhǎng)度,兩者處理沒(méi)有區(qū)別

當(dāng)插入元素小于定義長(zhǎng)度

char會(huì)填充空格到定義長(zhǎng)度

varchar不會(huì)填充空格

空格問(wèn)題

數(shù)據(jù)最后出現(xiàn)空格

char會(huì)將空格刪除

varchar不會(huì)

檢索速度

char比varchar的檢索速度快

數(shù)據(jù)庫(kù)的事務(wù)特性

原子性(Atomic),事務(wù)內(nèi)操作結(jié)果時(shí)一致的

一致性(Consitency),事務(wù)執(zhí)行前后數(shù)據(jù)庫(kù)的狀態(tài)時(shí)一致的

隔離性(Isolation),并發(fā)事務(wù)的執(zhí)行是互不干擾的

持久性(Durability),事務(wù)執(zhí)行結(jié)果是永久存儲(chǔ)的

數(shù)據(jù)庫(kù)中select語(yǔ)句執(zhí)行流程(客戶端到存儲(chǔ)引擎)

客戶端通過(guò)TCP三次握手與服務(wù)端進(jìn)行連接

連接器判斷賬號(hào)信息是否有效

有效,則進(jìn)入第三步

無(wú)效,連接器返回Access denied的錯(cuò)誤

查詢緩存中是否有執(zhí)行的記錄

不建議使用,可以通過(guò)query_cache_type關(guān)閉,MySQL 8.0去除了查詢緩存的功能

有執(zhí)行記錄,則返回上次執(zhí)行結(jié)果

沒(méi)有執(zhí)行記錄,進(jìn)入第四步

分析器進(jìn)行詞法分析,語(yǔ)法分析

詞法分析

判斷輸入的SQL語(yǔ)句中的關(guān)鍵詞的含義

語(yǔ)法分析

判斷SQL是否合法

若合法,進(jìn)入第五步

若不合法,返回 You have an error in your SQL syntax錯(cuò)誤到客戶端

sql語(yǔ)句經(jīng)過(guò)優(yōu)化器選擇最佳執(zhí)行策略

多索引情況下的最佳索引的選擇

多表關(guān)聯(lián)時(shí)決定表的連接順序

sql語(yǔ)句交由執(zhí)行器進(jìn)行存儲(chǔ)引擎的操作并返回結(jié)果

根據(jù)from找到需要查詢的表,根據(jù)where形成有效的結(jié)果集合

(如果有order by,對(duì)數(shù)據(jù)進(jìn)行排序)select返回結(jié)果

數(shù)據(jù)庫(kù)中數(shù)據(jù)更新語(yǔ)句執(zhí)行流程(客戶端到存儲(chǔ)引擎)

1. 客戶端通過(guò)TCP三次握手與服務(wù)端進(jìn)行連接
2. 連接器判斷賬號(hào)信息是否有效
        1. 有效,則進(jìn)入第三步
        2. 無(wú)效,連接器返回Access denied的錯(cuò)誤
3. 查詢緩存中是否有執(zhí)行的記錄
        1. 不建議使用,可以通過(guò)query_cache_type關(guān)閉,MySQL 8.0去除了查詢緩存的功能
        2. 有執(zhí)行記錄,則返回上次執(zhí)行結(jié)果
        3. 沒(méi)有執(zhí)行記錄,進(jìn)入第四步
4. 分析器進(jìn)行詞法分析,語(yǔ)法分析
        1. 詞法分析
               1. 判斷輸入的SQL語(yǔ)句中的關(guān)鍵詞的含義
        2. 語(yǔ)法分析
               1. 判斷SQL是否合法
               2. 若合法,進(jìn)入第五步
               3. 若不合法,返回 You have an error in your SQL syntax錯(cuò)誤到客戶端
5. sql語(yǔ)句經(jīng)過(guò)優(yōu)化器選擇最佳執(zhí)行策略
6. sql語(yǔ)句交由執(zhí)行器進(jìn)行存儲(chǔ)引擎的操作并返回結(jié)果
7. 兩段式提交
       1. 檢查并讀入相關(guān)數(shù)據(jù)頁(yè)到內(nèi)存
       2. 將更新語(yǔ)句的操作行寫(xiě)入內(nèi)存
              1. 寫(xiě)入操作記錄到readlog中,處于prepare狀態(tài)
              2. 寫(xiě)入操作記錄到binlog中
              3. 事務(wù)提交,處于commit狀態(tài)

redis的數(shù)據(jù)類(lèi)型以及底層實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)

1. string
        1. 動(dòng)態(tài)字符串
2. hash
        1. 數(shù)據(jù)量小,壓縮鏈表
        2. 數(shù)據(jù)量大,哈希表
3. list
        1. 數(shù)據(jù)量小,壓縮列表
        2. 數(shù)據(jù)量大,雙循環(huán)鏈表
4. 有序集合
        1. 數(shù)據(jù)量小,壓縮鏈表
        2. 數(shù)據(jù)量大,跳表
5. set
        1. 數(shù)據(jù)量小,有序數(shù)組
        2. 數(shù)據(jù)量大,哈希表

算法

將有序數(shù)組轉(zhuǎn)換為二叉搜索樹(shù)

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

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

相關(guān)文章

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

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

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

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

    tommego 評(píng)論0 收藏0
  • 前端面試總結(jié)(js、html、小程序、React、ES6、Vue、算法、全棧熱門(mén)視頻資源)

    摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開(kāi)發(fā)和面試問(wèn)題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開(kāi)發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快...

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

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

0條評(píng)論

txgcwm

|高級(jí)講師

TA的文章

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