科技資訊網(wǎng)站有哪些seo優(yōu)化的內(nèi)容有哪些
一、Java面試題第八天
1.如何實(shí)現(xiàn)對象克隆?
淺克隆 淺克隆就是我們可以通過實(shí)現(xiàn)Cloneable
接口,重寫clone
,這種方式就叫淺克隆,淺克隆 引用類型的屬性,是指向同一個內(nèi)存地址,但是如果引用類型的屬性也進(jìn)行淺克隆就是深克隆
深克隆 深克隆,將一個對象克隆一份,他們之前的引用的對象的屬性也是同一份
2.同步和異步的區(qū)別?
同步: 調(diào)用一個方法的時候,我們需要等待這個方法執(zhí)行完,才能執(zhí)行以后的操作
異步 調(diào)用一個方法的時候,我們不需要等待這個方法執(zhí)行完,我就可以執(zhí)行之后的操作,一般異步方法,我都是通過異步方法執(zhí)行
3.阻塞和非阻塞的區(qū)別?
Java的多線程的狀態(tài)有開始,運(yùn)行,休眠,等待,死亡
阻塞:我們在執(zhí)行Java代碼時,我們通過加鎖的方式,進(jìn)行阻塞,讓其他線程無法工作,阻塞就是只有一條線程能執(zhí)行任務(wù),其他線程只能執(zhí)行完,將鎖釋放、
非阻塞 就是各個線程都是可以運(yùn)行的
一般等待狀態(tài)就是阻塞,休眠就是跑著鎖睡覺,所有線程都不可以進(jìn)行操作
4、Java8的新特性有哪些?
Java8最主要新特性
- Lambda表達(dá)式: 我們可以將一個函數(shù)接口作為一個 =>{} 方式執(zhí)行
- Stream API : Stream 流 ,我們可以將Java代碼作為一個流式編程的方式進(jìn)行編寫代碼
5、序列化和反序列化
- 序列化:把對象轉(zhuǎn)換為輸出流的過程稱為對象的序列化.
- 反序列化:把輸入流轉(zhuǎn)換為對象的過程稱為對象的反序列化.