背景 今天查看Sonar的時(shí)候發(fā)現(xiàn)靜態(tài)檢測(cè)出了一個(gè)bug,顯示說(shuō)絕對(duì)值可能為負(fù)。雖然觸發(fā)的幾率非常低,但是考慮到還是會(huì)存在隱患,而且一旦出問(wèn)題之...
背景 為了打通測(cè)試和開(kāi)發(fā)界限,更好的保證產(chǎn)品質(zhì)量,我們決定在黑盒測(cè)試的場(chǎng)景下分析代碼的覆蓋率情況,從而分析我們現(xiàn)有的case的完備程度,啟發(fā)一些...
背景 由于最近Oracle宣布JDK8的新收費(fèi)政策之后,公司決定遷移java環(huán)境到OpenJDK上面。在完成了遷移之后,發(fā)現(xiàn)了有兩個(gè)接口拋出了N...
背景 最近小伙伴們?cè)陂_(kāi)發(fā)過(guò)程中遇到一個(gè)有趣的問(wèn)題:原本很快的SQL在LEFT JOIN了兩張表,并增加了一個(gè)WHERE id IN list的查...
好久也沒(méi)有寫(xiě)點(diǎn)什么了,雖然一直想根據(jù)某個(gè)切入點(diǎn)寫(xiě)一篇比較完整的文章,但是總是沒(méi)有抽空寫(xiě)。正好有點(diǎn)空閑,姑且就先寫(xiě)個(gè)最近遇到的小問(wèn)題吧,也是做個(gè)備...
還記得第一次接觸到ThreadLocal可能導(dǎo)致內(nèi)存泄露的問(wèn)題是有一次面試的時(shí)候被問(wèn)到了ThreadLocal的缺陷是什么。當(dāng)然由于后來(lái)沒(méi)有面試...
Collection下如List、Set等是我們常用的數(shù)據(jù)結(jié)構(gòu),良好的使用這些結(jié)構(gòu)和提供的工具類,能幫助我們極大的提高開(kāi)發(fā)效率。比如其中基于迭代...
背景 我們知道在Java中比較兩個(gè)對(duì)象是否相同,可以有多種方法,最常見(jiàn)的就是 == 和 equals 方法。但是由于==對(duì)比的是對(duì)象引用本身,因...
其實(shí) null 這個(gè)東西,真是讓人又愛(ài)又恨,悲喜參半的東西。用的好了,能表征很多狀態(tài),并在程序中很好實(shí)現(xiàn)狀態(tài)的傳遞,用的不好了,各種NPE問(wèn)題可...