當(dāng)我們初次在項(xiàng)目中使用版本控制時垢乙,這個概念可能難以理解。我看到很多人(也包括我)都在運(yùn)行諸如 git pull语卤,git push 以及運(yùn)行其他一些我不理解的命令追逮。為什么我既要...
![240](https://upload.jianshu.io/users/upload_avatars/19584942/db20671b-737e-45f9-800b-84ec350c9a89.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
當(dāng)我們初次在項(xiàng)目中使用版本控制時垢乙,這個概念可能難以理解。我看到很多人(也包括我)都在運(yùn)行諸如 git pull语卤,git push 以及運(yùn)行其他一些我不理解的命令追逮。為什么我既要...
前幾天粹舵,技術(shù)群里有個群友問了一個關(guān)于線程池的問題钮孵,內(nèi)容如圖所示: 關(guān)于線程池相關(guān)知識可以先看下這篇:為什么阿里巴巴Java開發(fā)手冊中強(qiáng)制要求線程池不允許使用Executors...
IDEA 是最好的 IDE眼滤,誰贊成巴席,誰反對? IDEA 是 Java 開發(fā)人員中最受歡迎和用戶友好的 IDE 之一诅需,它具有許多便利的功能漾唉,例如智能代碼完成睬关,自動執(zhí)行繁瑣的重復(fù)...
if 快還是 switch 快?HashMap 的初始化 size 要不要指定毡证,指定之后性能可以提高多少电爹?各種序列化方法哪個耗時更短? 無論出自何種原因需要進(jìn)行性能評估料睛,量化...
在閱讀《阿里巴巴Java開發(fā)手冊》時,發(fā)現(xiàn)有一條關(guān)于關(guān)于常量定義的規(guī)約恤煞,具體內(nèi)容如下: 圖中的反例是將數(shù)據(jù)緩存起來屎勘,并使用魔法值加鏈路 id 組成 key,這就可能會出現(xiàn)其他...
首先來介紹下什么是優(yōu)雅地停止概漱,簡而言之,就是對應(yīng)用進(jìn)程發(fā)送停止指令之后喜喂,能保證正在執(zhí)行的業(yè)務(wù)操作不受影響瓤摧,可以繼續(xù)完成已有請求的處理,但是停止接受新請求玉吁。 在 Spring ...
在應(yīng)用開發(fā)過程中經(jīng)常需要對其他應(yīng)用或者客戶端提供 RESTful API 接口照弥,尤其是在版本快速迭代的開發(fā)過程中,修改接口的同時還需要同步修改對應(yīng)的接口文檔进副,這使我們總是做著...
在項(xiàng)目迭代開發(fā)中这揣,難免會有更新數(shù)據(jù)庫 Schema 的情況,比如添加新表影斑、在表中增加字段或者刪除字段等给赞,那么當(dāng)我對數(shù)據(jù)庫進(jìn)行一系列操作后,如何快速地在其他同事的電腦上同步矫户?如...
這篇文章主要來介紹下 JDK 內(nèi)置的命令片迅,話不多說,讓我們開始吧吏垮! javap 使用 javap 可以查看 Java 字節(jié)碼反編譯的源文件障涯,javap 的命令格式如下: 下面...
在閱讀《阿里巴巴Java開發(fā)手冊》時膳汪,發(fā)現(xiàn)有一條關(guān)于二方庫依賴中接口返回值不允許使用枚舉類型的規(guī)約,具體內(nèi)容如下: 在談?wù)摓槭裁粗跋葋砜破障率裁词嵌綆炀判悖綆煲卜Q作二方包...
在一男子給對象轉(zhuǎn)賬5000元匙姜,居然又退還了!和我就站在你面前冯痢,你卻視而不見氮昧!文中,我們學(xué)習(xí)了線程安全的原子性和可見性浦楣,這篇文章就來說說有序性袖肥。 有序性 首先還是來看下概念,有...
大家好振劳,這篇文章主要是講解下如何自學(xué) Java椎组,這個問題有很多粉絲私信問過,今天又有直系學(xué)妹問我如何學(xué)習(xí) Java历恐? 我就以我的經(jīng)歷寸癌,總結(jié)下分享給大家,有不當(dāng)指出或者有更好的...
在上一篇文章一男子給對象轉(zhuǎn)賬5000元,居然又退還了哮洽!中填渠,我們學(xué)習(xí)了并發(fā)三大特性之一的原子性,并對原子性問題進(jìn)行分析鸟辅。 這篇文章我們就一起來了解下可見性: 可見性 首先看下可...
聽說隔壁用 Lombok 的六點(diǎn)就下班了,我也想六點(diǎn)下班匪凉! 好的枪眉,那么這篇文章就介紹下什么是 Lombok,Lombok 做了什么以及 Lombok 是怎么做的再层? 在介紹之前...
當(dāng)多線程訪問共享可變數(shù)據(jù)時贸铜,涉及到線程間同步的問題,并不是所有時候聂受,都要用到共享數(shù)據(jù)蒿秦,所以就需要線程封閉出場了。 數(shù)據(jù)都被封閉在各自的線程之中蛋济,就不需要同步棍鳖,這種通過將數(shù)據(jù)封...
本文主要來學(xué)習(xí)內(nèi)存屏障和 CPU 緩存知識,以便于我們?nèi)チ私?CPU 對程序性能優(yōu)化做了哪些努力碗旅。 首先來看下 CPU 緩存: CPU 緩存 CPU 緩存是為了提高程序運(yùn)行的...
在并發(fā)編程中,所有問題的根源就是可見性医瘫、原子性和有序性問題侣肄,這篇文章我們就來聊聊原子性問題。 在介紹原子性問題之前醇份,先來說下線程安全: 線程安全 我理解的線程安全就是不管單線...
本文來學(xué)習(xí)如何學(xué)習(xí)優(yōu)雅地中止線程?通過 Java 線程的生老病死的學(xué)習(xí)被芳,我相信大家對線程的運(yùn)行以及線程的狀態(tài)有一定了解了缰贝,那么我們現(xiàn)在來學(xué)習(xí)中止線程: 錯誤的線程中止 - s...
我相信大家都用過線程池剩晴,但是線程池數(shù)量設(shè)置為多少比較合理呢? 線程數(shù)的設(shè)置的最主要的目的是為了充分并合理地使用 CPU 和內(nèi)存等資源侵状,從而最大限度地提高程序的性能赞弥,因此讓我們...