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

資訊專欄INFORMATION COLUMN

JAVA面試題(42)

Noodles / 1145人閱讀

摘要:本文首發于的博客轉載請注明出處基礎抽象類和接口的區別類層面上抽象類與接口都不能被實例化抽象類只能繼承一個直接父類,實現多個接口接口能繼承多個接口抽象類大多用作模板類使用,接口用于規范模塊間的行為方法抽象類可以用有抽象方法,靜態方法以及普通方

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

JAVA基礎

抽象類和接口的區別

類層面上

抽象類與接口都不能被實例化

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

抽象類大多用作模板類使用,接口用于規范模塊間的行為

方法

抽象類可以用有抽象方法,靜態方法以及普通方法;接口只能是抽象方法

抽象類中方法作用域跟普通類沒有區別;接口方法只能是公共的

抽象類中可以通過方法間的相互引用實現自身邏輯,接口只能通過子類實現邏輯

抽象類可以擁有構造器,接口沒有構造器

變量

抽象類可以有成員變量與靜態變量,接口只能有final的靜態變量

Object類有哪些成員方法

wait/notify

clone

hashCode/equals

getClass

finalize

克隆有哪些方法

實現Cloneable重寫clone方法

實現Serialize接口

Collections有哪些方法

返回線程安全類

synchronizedXxx

返回不可變集合

emptyXxx

singletonXxx

unmotifitableXxx

集合間的轉換

對集合內元素進行操作

添加元素到集合中

addAll

copy

查找元素

binarySearch

frequency

indexOfSubList

shuffle

替換

fill

replaceAll

改變元素位置

sort

swap

rotate

reverse

元素對比

min/max

disJoint

java常見異常類

系統級

IllegalAccessException

OutOfMemoryException

類級

ClassNotFoundException

ClassDefFoundException

對象級

NullPointerException

ClassCastException

CloneNotSupportedException

NoSuchFieldException

InstantiationException

方法級

IllegalArgumentException

NoSuchMethodException

操作級

數字

ArithmeticException

NumberFormatException

數組

ArrayStoreException

IndexOutOfBoundException

IO

IOException

FileNotFoundException

EOFException

數據庫

SQLException

線程

InterruptedException

類加載機制是怎么樣的

步驟

加載

校驗

準備

解析

初始化

使用

卸載

雙親委派模型工作原理

類加載器

BootstrapClassLoader

ExtensionClassLoader

ApplicationClassLoader

UserClassLoader

當類被加載到內存時,逐層向上詢問父加載器是否能加載,如果所有父加載器都不能加載,則由當前類加載器負責加載

這樣做的原因能有效保證類的唯一性

HashMap的擴容機制

HashMap的擴容機制主要依賴于三個元素:capacity(默認為16),loadFactory負載因子,size當前元素個數

當前元素個數大于8時,內部數組自動轉換為紅黑樹進行存儲

當前元素個數大于初始容量x負載因子時,數組擴容兩倍,且內部元素的位置重新進行哈希

當前元素個數小于初始容量的0.1倍時,數組縮小一半,同樣元素位置需要重新哈希

ArrayList擴容機制

ArrayList擴容主要依賴于size(當前元素個數)以及capacity(默認10)的對比

當元素填滿當前數組(capacity=size),將capacity擴容到現在的1.5倍,若計算后元素大于Integer.MAX_VALUE時,拋出OOM

ArrayList與LinkedList區別

ArrayList內部為數組,LinkedList內部為雙向鏈表

新增元素

ArrayList涉及到數組擴容(或者伴隨著arrayCopy)

LinkedList修改指針指向(或者伴隨著遍歷操作)

刪除元素

ArrayList需要進行arrayCopy

LinkedList遍歷鏈表并修改指針指向

ArrayList大小受Integer.MAX_VALUE影響,LinkedList大小理論上無限(受JVM調用最大內存影響)

ArrayList在插入元素時需要考慮當前容量以及進行arrayCopy操作,LinkedList插入不需要有額外操作

Array與ArrayList區別

存儲類型

Array:基本數據類型以及對象

ArrayList:只能對象

大小限制

Array:在定義時指定,無法增大或縮小

ArrayList:定義時可不指定(初始為10),可以擴容

插入元素

Array:插入基本數據類型元素不涉及裝拆箱操作

ArrayList:涉及裝拆箱操作

Queue中poll與remove區別

poll與remove都是取出隊頭元素

隊列不為空時,兩個方法結果是一樣的

隊列為空

poll返回null

remove拋出NoSuchElementException

線程不同步集合如何轉換成線程同步集合

通過Collections工具類返回

鎖為讀寫鎖,鎖的粒度為對象級

通過java.util.Concurrent進行包裝

鎖為寫鎖,鎖的粒度為元素級

通常都是用Concurrent進行包裝

JVM

垃圾回收算法

標記-清除

標記不清理對象,清理未標記對象

速度快,但是會造成內存碎片

復制

將內存劃分兩塊區域:清理區與存活區

將不清理對象移到存活區,刪除清理區的所有對象

空間浪費大

標記-整理

標記不清理對象,清理未標記對象

移動整理存活對象

成本高,但是有效解決內存碎片問題

G1工作流程

初始標記(停頓線程)

標記GC Root直接關聯對象

并發標記

從GC Root對堆中對象進行可達性分析

最終標記(停頓線程)

并行將Remembered Set Logs的數據合并到Remembered Set中

篩選回收

根據各Region的回收價值和成本進行回收計劃的制定

Spring

Spring中有哪些模塊

Spring Core(Spring 核心庫)

Spring AOP

Spring ORM

Spring Dao

Spring Web

Spring Context

Spring Web MVC

Spring MVC的處理流程

請求通過DispatchServlet處理

普通邏輯處理交由Controller處理,Controller處理后返回model

視圖處理,DispatchServlet調用View temlate進行視圖返回

AOP概念

AOP面向切面編程,它將原本縱向的程序看作成一個個切面的組合,是OOP的補充

動態插入執行邏輯到原有執行流程中

通知(Advice):具體實現邏輯

連接點(JoinPoint):使用通知的位置

切入點(PointCut):指定使用通知的連接點位置

切面(Aspect):通知與切入點集合

引入(introduction):添加新方法屬性到現有類中

目標(target):被通知的對象

代理(proxy)

靜態代理

動態代理

織入(weaving):將切面引用到目標對象生成代理對象的過程

Spring bean的作用域

singleton(默認)

prototype

request

session

globalSession

數據庫

MyBatis中#與$區別

傳入數據

:當作字符串傳入sql,相當于PrepareStatement

$:直接將參數傳入sql,相當于Statement

安全性

可以防止sql注入,$不能

事務的四個特性

一致性

事務執行前后都是一致的

原子性

事務中操作結果都是一樣的

隔離性

事務間的操作是相互隔離的

持久性

事務的執行結果是永久性的

char與varchar區別

char的長度是固定的,varchar的長度是不固定的

char會用空格填充到指定長度,varchar不會

char類型數據后面空格會被刪除,varchar不會

char的檢索效率比varchar高

邏輯分頁與物理分頁

邏輯分頁會將全部數據加載到內存中,再利用代碼邏輯返回分頁結果

物理分頁是在數據庫層面進行分頁

MyBatis的分頁方式

數組分頁

sql分頁

攔截器分頁

RowBounds分頁

數據庫三范式

第一范式

屬性已經是不能分割的數據單位

第二范式

所有非主屬性完全依賴于候選屬性

第三范式

不存在傳遞依賴候選屬性

內連接外連接區別

內連接只返回符合條件的共有記錄

外連接會返回表的所有記錄,插入符合條件的列

操作系統

線程與進程的區別

進程是操作系統分配資源時間的最小單位,線程是進程內部調用的實體

不同進程擁有操作系統分配的不同地址空間,同一進程的不同線程共享父進程的內存地址

進程的資源與空間由操作系統分配,線程資源與空間由進程分配

進程切換開銷比線程大

進程崩潰不會造成對其他進程的影響;線程崩潰造成父進程的死亡

進程擁有一個程序運行的入口,線程依附進程生存

網絡

http方法有哪些

方法

get

post

delete

put

options

connect

trace

link

unline

head

get與post的區別

冪等

get為冪等操作,post為非冪等操作

數據傳輸

get的數據通過url進行傳輸,post數據通過http報文傳輸

get數據大小受url長度限制,post不受限制

可緩存

get數據可緩存,post數據不可緩存

http報文

get的報文沒有實體,post的報文有實體

forward與redirect區別

行為方

forward是瀏覽器行為

redirect是服務器行為

url是否改變

forward url不變

redirect url改變

資源消耗

forward的資源消耗比redirect小

數據共享

redirect不共享數據,forward可以共享request數據

效率

forward高

redirect低

TCP三次握手

一次握手(客戶端發起)

創建TCB

發送SYN=1,seq=x

進入SYN-SENT

二次握手(服務器發起)

發送ACK=1,syn=1,ack=y+1,seq=x+1

進入SYN-RCVD

三次握手(客戶端發起)

發送ACK=1,seq=x+1,ack=x+1

進入ESTABLISHED

UDP與TCP區別

TCP面向連接,UDP不面向連接

TCP有擁塞控制,UDP沒有擁塞控制

TCP資源開銷大,UDP資源開銷小

TCP只支持一對一,UDP支持一對多

TCP提供可靠傳輸,UDP盡可能交付

TCP面向字節流,UDP面向報文

設計模式

單例模式實現的三種方法

https://www.cnblogs.com/ngy02...

靜態內部類

懶漢式

雙重檢查式

BIO NIO AIO

BIO

同步阻塞

線程阻塞進行運算后返回結果

NIO

同步非阻塞

請求共用一個線程進行處理

線程會直接返回結果到請求

AIO

異步非阻塞

線程處理后會通過回調返回結果

反射

JAVA反射機制是在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;

動態代理以及靜態代理

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

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

相關文章

  • 10個流行的JavaScript面試

    摘要:然而,異步函數不會立即被推入調用堆棧,而是會被推入任務隊列,并在調用堆棧為空后執行。將事件從任務隊列傳輸到調用堆棧稱為事件循環。我們調用接受和或返回另一個函數稱為高階函數的函數。 為了保證可讀性,本文采用意譯而非直譯 想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等著你! 1.如何理解 JS 中的this關鍵字? JS 初學者總是對 this 關鍵字感到困惑,因為與其他現...

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

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

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

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

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

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

    muzhuyu 評論0 收藏0

發表評論

0條評論

Noodles

|高級講師

TA的文章

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