1.Long 128l
2.spring事物的特性和實現(xiàn)原理
3.spring初始化bean的步驟
4.spring的ioc和aop怎么實現(xiàn)
5.數(shù)據(jù)庫的acid怎么實現(xiàn)
6.如何排查性能問題污淋,怎么解決
7.內(nèi)存溢出
8.消息中間件 隊列的通訊步驟
9.緩存框架 mem redis ehk浩螺?對比
10.kafka和rabbitmq對比
11.怎么保證高可用
12.擴容依據(jù)什么谢床?如何擴容至最佳?
13.docker編排系統(tǒng)理解 mesos為例的
14.tomcat調(diào)優(yōu)
15.hive查詢組建用過哪些
16.mybatis的緩存機制
17.隊列重復(fù)消費的問題
以下是查資料學(xué)習(xí)后的理解[我必須要這么做了]
1.Long源哩,Integer在直接==時會用value()函數(shù)返回的值進行比較:
public static Long valueOf(long l) {
final int offset = 128;
if (l >= -128 && l <= 127) {
return LongCache.cache[(int)l + offset];
}
return new Long(l);
}
就導(dǎo)致-[128, 128)之間的值其實取到的是同一地址。而返回以外的Long是new的一個對象待侵,==操作自然是false丢早。
如果要做Long或者Integer的比較,用equals()吧秧倾,compareTo()也行怨酝。
3.spring IOC
我沒研究過spring的原理,我不配做個java程序員那先。
IOC翻譯為控制反轉(zhuǎn)农猬,大概意思就是我們在寫代碼時,將獲得實例(bean)的權(quán)利交給spring去做售淡,我們事先將bean的屬性設(shè)置好斤葱,spring初始化時將它放到容器里面,當(dāng)我們需要的時候就直接從容器里面取就好了揖闸,而不用程序內(nèi)部主動去控制對象(自己寫很多的new XXXServiceIml())揍堕。DI翻譯為依賴注入,理解為IOC的實現(xiàn)汤纸,主要體現(xiàn)就是ServiceA依賴ServiceB時衩茸,它會先去實例化ServiceB[疑問?是否有先后順序]贮泞,實例化A時將B注入到A中(設(shè)值注入和引用注入)楞慈。