當我們初次在項目中使用版本控制時,這個概念可能難以理解。我看到很多人(也包括我)都在運行諸如 git pull,git push 以及運行其他一些我不理解的命令。為什么我既要...
當我們初次在項目中使用版本控制時,這個概念可能難以理解。我看到很多人(也包括我)都在運行諸如 git pull,git push 以及運行其他一些我不理解的命令。為什么我既要...
前幾天,技術(shù)群里有個群友問了一個關(guān)于線程池的問題,內(nèi)容如圖所示: 關(guān)于線程池相關(guān)知識可以先看下這篇:為什么阿里巴巴Java開發(fā)手冊中強制要求線程池不允許使用Executors...
IDEA 是最好的 IDE,誰贊成,誰反對? IDEA 是 Java 開發(fā)人員中最受歡迎和用戶友好的 IDE 之一,它具有許多便利的功能,例如智能代碼完成,自動執(zhí)行繁瑣的重復(fù)...
if 快還是 switch 快?HashMap 的初始化 size 要不要指定,指定之后性能可以提高多少?各種序列化方法哪個耗時更短? 無論出自何種原因需要進行性能評估,量化...
在閱讀《阿里巴巴Java開發(fā)手冊》時,發(fā)現(xiàn)有一條關(guān)于關(guān)于常量定義的規(guī)約,具體內(nèi)容如下: 圖中的反例是將數(shù)據(jù)緩存起來,并使用魔法值加鏈路 id 組成 key,這就可能會出現(xiàn)其他...
首先來介紹下什么是優(yōu)雅地停止,簡而言之,就是對應(yīng)用進程發(fā)送停止指令之后,能保證正在執(zhí)行的業(yè)務(wù)操作不受影響,可以繼續(xù)完成已有請求的處理,但是停止接受新請求。 在 Spring ...
在應(yīng)用開發(fā)過程中經(jīng)常需要對其他應(yīng)用或者客戶端提供 RESTful API 接口,尤其是在版本快速迭代的開發(fā)過程中,修改接口的同時還需要同步修改對應(yīng)的接口文檔,這使我們總是做著...
在項目迭代開發(fā)中,難免會有更新數(shù)據(jù)庫 Schema 的情況,比如添加新表、在表中增加字段或者刪除字段等,那么當我對數(shù)據(jù)庫進行一系列操作后,如何快速地在其他同事的電腦上同步?如...
這篇文章主要來介紹下 JDK 內(nèi)置的命令,話不多說,讓我們開始吧! javap 使用 javap 可以查看 Java 字節(jié)碼反編譯的源文件,javap 的命令格式如下: 下面...
在閱讀《阿里巴巴Java開發(fā)手冊》時,發(fā)現(xiàn)有一條關(guān)于二方庫依賴中接口返回值不允許使用枚舉類型的規(guī)約,具體內(nèi)容如下: 在談?wù)摓槭裁粗跋葋砜破障率裁词嵌綆?,二方庫也稱作二方包...
在一男子給對象轉(zhuǎn)賬5000元,居然又退還了!和我就站在你面前,你卻視而不見!文中,我們學(xué)習(xí)了線程安全的原子性和可見性,這篇文章就來說說有序性。 有序性 首先還是來看下概念,有...
大家好,這篇文章主要是講解下如何自學(xué) Java,這個問題有很多粉絲私信問過,今天又有直系學(xué)妹問我如何學(xué)習(xí) Java? 我就以我的經(jīng)歷,總結(jié)下分享給大家,有不當指出或者有更好的...
在上一篇文章一男子給對象轉(zhuǎn)賬5000元,居然又退還了!中,我們學(xué)習(xí)了并發(fā)三大特性之一的原子性,并對原子性問題進行分析。 這篇文章我們就一起來了解下可見性: 可見性 首先看下可...
聽說隔壁用 Lombok 的六點就下班了,我也想六點下班! 好的,那么這篇文章就介紹下什么是 Lombok,Lombok 做了什么以及 Lombok 是怎么做的? 在介紹之前...
當多線程訪問共享可變數(shù)據(jù)時,涉及到線程間同步的問題,并不是所有時候,都要用到共享數(shù)據(jù),所以就需要線程封閉出場了。 數(shù)據(jù)都被封閉在各自的線程之中,就不需要同步,這種通過將數(shù)據(jù)封...
本文主要來學(xué)習(xí)內(nèi)存屏障和 CPU 緩存知識,以便于我們?nèi)チ私?CPU 對程序性能優(yōu)化做了哪些努力。 首先來看下 CPU 緩存: CPU 緩存 CPU 緩存是為了提高程序運行的...
在并發(fā)編程中,所有問題的根源就是可見性、原子性和有序性問題,這篇文章我們就來聊聊原子性問題。 在介紹原子性問題之前,先來說下線程安全: 線程安全 我理解的線程安全就是不管單線...
本文來學(xué)習(xí)如何學(xué)習(xí)優(yōu)雅地中止線程?通過 Java 線程的生老病死的學(xué)習(xí),我相信大家對線程的運行以及線程的狀態(tài)有一定了解了,那么我們現(xiàn)在來學(xué)習(xí)中止線程: 錯誤的線程中止 - s...
我相信大家都用過線程池,但是線程池數(shù)量設(shè)置為多少比較合理呢? 線程數(shù)的設(shè)置的最主要的目的是為了充分并合理地使用 CPU 和內(nèi)存等資源,從而最大限度地提高程序的性能,因此讓我們...