一、為什么需要運(yùn)行時(shí)代碼生成 java是強(qiáng)類型語言 變量與對象必須有一個(gè)明確的類型,如果在賦值操作中出現(xiàn)類型不兼容的情況,就會(huì)拋出異常。 發(fā)射解決:通用類編譯期還不知道被調(diào)用...
一、為什么需要運(yùn)行時(shí)代碼生成 java是強(qiáng)類型語言 變量與對象必須有一個(gè)明確的類型,如果在賦值操作中出現(xiàn)類型不兼容的情況,就會(huì)拋出異常。 發(fā)射解決:通用類編譯期還不知道被調(diào)用...
ideavim鍵盤流 最后更新于2019-12-06 作為一個(gè)vimer,不管使用什么IDE或者編輯器,安裝完成后的第一步就是安裝vim插件。 我的日常開發(fā)中使用最多的就是I...
1. MyBatis緩存 1.1 緩存介紹 就是將用戶經(jīng)常查詢的數(shù)據(jù)的結(jié)果的一個(gè)保存,保存到一個(gè)內(nèi)存中(緩存就是內(nèi)存中的一個(gè)對象),用戶在查詢的時(shí)候就不用到數(shù)據(jù)庫文件中查詢(...
君問歸期未有期 說到https,我們就不得不說tls/ssl,那說到tls/ssl,我們就不得不說證書機(jī)構(gòu)(CA)、證書、數(shù)字簽名、私鑰、公鑰、對稱加密、非對稱加密。這些到底...
使用yaml.dump寫saltstack的sls文件發(fā)現(xiàn)跟yaml.load出來的再dump回去格式不一樣 執(zhí)行后輸出,發(fā)現(xiàn)dump出來的格式竟然和data里傳入的格式不一...
一、前言 前一篇文章,大體說明了一下線程池如何添加一個(gè)新的Worker去執(zhí)行任務(wù)。本篇來詳細(xì)分析 Worker 本身。 二、Worker 的結(jié)構(gòu) 2.1 Worker 整體結(jié)...
前言 學(xué)習(xí) ThreadLocalRandom 的時(shí)候遇到一些疑惑,為何使用它在多線程下會(huì)產(chǎn)生相同的隨機(jī)數(shù)? 閱讀源碼后終于稍微了解了一些它的運(yùn)行機(jī)制,總結(jié)出它在多線程下正確...
Java源碼里面都有大量的注釋,認(rèn)真讀懂這些注釋,就可以把握其七分工作機(jī)制了。關(guān)于ThreadPoolExecutor的解析,我們就從其類注釋開始。 現(xiàn)將注釋大致翻譯如下: ...
引言 鎖(Lock)是java一個(gè)很重要的同步組件,Lock提供了跟synchronized關(guān)鍵字一樣的功能,相比synchronized更加靈活,但是實(shí)現(xiàn)也更加復(fù)雜。 鎖的...