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

資訊專欄INFORMATION COLUMN

JAVA面試題(46)

txgcwm / 3332人閱讀

摘要:本文首發于的博客轉載請注明出處抽象類與接口的區別類抽象類只能繼承一個直接父類,可以實現多個接口接口可以繼承多個接口變量抽象類允許所有作用域或者關鍵字進行變量的修飾,與普通類沒有區別接口只允許靜態不可變的變量方法接口中在之前所有方法都是抽象的

????本文首發于cartoon的博客
????轉載請注明出處:https://cartoonyu.github.io/c...

JAVA

抽象類與接口的區別

抽象類只能繼承一個直接父類,可以實現多個接口

接口可以繼承多個接口

變量

抽象類允許所有作用域或者關鍵字進行變量的修飾,與普通類沒有區別

接口只允許靜態不可變的public變量

方法

接口中在jdk1.8之前所有方法都是抽象的public方法,在1.8得到增強,可以有靜態方法或者默認的普通方法

抽象類中可以有抽象方法,普通方法,靜態方法,可以被多種關鍵字修飾,普通方法中可以有自身的邏輯

作用

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

抽象類主要用于模板類的實現

線程不同步集合轉換成線程同步集合以及區別

繼承原有集合通過java的線程同步機制實現

使用Collections的synchronizedXxx方法進行集合的轉換

簡單

鎖的對象為對象,粒度過大

使用java.util包中的ConCurrent方法進行包裝

簡單

鎖的粒度為行級,且鎖的種類比較豐富

java常見異常以及發生場景(最少5個exception)

OutOfMemoryError

創建大對象超過java老年代內存拋出

循環調用過多,甚至出現無限循環拋出

ClassCastException

對象向下轉型時發生

NullPointerException

對象引用未指定對象實例直接使用

SQLException

sql語句執行錯誤

InterruptedException

線程意外終止

IndexOutOfBoundException

數組越界

為什么要用線程池,線程池有什么參數可以對線程池進行配置

使用線程池原因

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

線程頻繁創建銷毀造成的資源的消耗

參數

ThreadFactory

corePoolSize

CPU密集,n+1

IO密集,多線程

keepAliveTime

maximumPoolSize

BlockingQueue

6種實現隊列

TimeUnit

List,Set,Map的區別

存儲元素

List與Set是存儲單一元素的集合

Map是存儲key-value對元素的集合

元素有序性

Set與Map內的元素在方法調用層面是無序的

List元素是有序的

元素可重復性

List元素是可重復的

Set不允許重復,Map不允許key重復

繼承接口

Set與List繼承了Collection

Map是與Collection層次一致的接口

Iterator與ListIterator的區別

繼承性

ListIterator繼承于Iterator

遍歷集合

Iterator可以遍歷Collection內的所有實現類

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

遍歷方向

Iterator只能向下遍歷

ListIterator可以向上向下遍歷

迭代時修改元素

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

ListIterator支持迭代時修改或刪除元素

迭代時移除元素

兩個迭代器都可以在迭代時移除元素

JVM

垃圾回收算法

標記-清理

標記存活對象

清除未標記對象

效率高,但是會造成內存碎片

復制

將內存區域劃分成清理區與存活區

將存活對象復制到存活區

清理清理區的所有對象

不會造成內存碎片,但是降低內存的使用率

標記-整理

標記待清理對象

將標記對象移到另外一側

清理邊界外內存區域

有效解決了內存碎片的產生以及內存使用率下降的問題

數據庫

char與varchar的區別

數據插入方面

當插入數據等于定義長度,兩者處理沒有區別

當插入元素小于定義長度

char會填充空格到定義長度

varchar不會填充空格

空格問題

數據最后出現空格

char會將空格刪除

varchar不會

檢索速度

char比varchar的檢索速度快

數據庫的事務特性

原子性(Atomic),事務內操作結果時一致的

一致性(Consitency),事務執行前后數據庫的狀態時一致的

隔離性(Isolation),并發事務的執行是互不干擾的

持久性(Durability),事務執行結果是永久存儲的

數據庫中select語句執行流程(客戶端到存儲引擎)

客戶端通過TCP三次握手與服務端進行連接

連接器判斷賬號信息是否有效

有效,則進入第三步

無效,連接器返回Access denied的錯誤

查詢緩存中是否有執行的記錄

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

有執行記錄,則返回上次執行結果

沒有執行記錄,進入第四步

分析器進行詞法分析,語法分析

詞法分析

判斷輸入的SQL語句中的關鍵詞的含義

語法分析

判斷SQL是否合法

若合法,進入第五步

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

sql語句經過優化器選擇最佳執行策略

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

多表關聯時決定表的連接順序

sql語句交由執行器進行存儲引擎的操作并返回結果

根據from找到需要查詢的表,根據where形成有效的結果集合

(如果有order by,對數據進行排序)select返回結果

數據庫中數據更新語句執行流程(客戶端到存儲引擎)

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

redis的數據類型以及底層實現數據結構

1. string
        1. 動態字符串
2. hash
        1. 數據量小,壓縮鏈表
        2. 數據量大,哈希表
3. list
        1. 數據量小,壓縮列表
        2. 數據量大,雙循環鏈表
4. 有序集合
        1. 數據量小,壓縮鏈表
        2. 數據量大,跳表
5. set
        1. 數據量小,有序數組
        2. 數據量大,哈希表

算法

將有序數組轉換為二叉搜索樹

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75596.html

相關文章

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

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

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

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

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

    摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發和面試問題,由基礎到困難循序漸進,適合面試和開發小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...

    pumpkin9 評論0 收藏0

發表評論

0條評論

txgcwm

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<