編寫(xiě)線程安全的代碼的核心是: 對(duì)可變共享的狀態(tài)訪問(wèn)的管理。 三種(多個(gè)線程對(duì)同一個(gè)可變的狀態(tài)變量沒(méi)有做合適的同步時(shí) 出現(xiàn)錯(cuò)誤的解決方法): 不共享 不修改 加同步 一般前...
編寫(xiě)線程安全的代碼的核心是: 對(duì)可變共享的狀態(tài)訪問(wèn)的管理。 三種(多個(gè)線程對(duì)同一個(gè)可變的狀態(tài)變量沒(méi)有做合適的同步時(shí) 出現(xiàn)錯(cuò)誤的解決方法): 不共享 不修改 加同步 一般前...
builder模式是 builder負(fù)責(zé)產(chǎn)生組件, 然后使用director進(jìn)行組裝。實(shí)現(xiàn)復(fù)雜對(duì)象的構(gòu)建 與 它的表示進(jìn)行分離。比如迷宮的例子。目的 是獲取一個(gè)迷宮。迷宮的...
tag-support 有2種 只產(chǎn)生結(jié)果 比如:公式(format數(shù)據(jù),轉(zhuǎn)日期格式等)這個(gè)不會(huì)生成html代碼,只會(huì)根據(jù)輸入獲取計(jì)算后的值 并顯示。 產(chǎn)生html代碼產(chǎn)生標(biāo)...
正則表達(dá)式: 輸入:415-863-9900 ext 23123輸出: 總結(jié)分組規(guī)則:最外層() 匹配group(0) -----0其他的開(kāi)始正常匹配 ------ ...
區(qū)分json字符串和Object 接收data的時(shí)候 ,如果是字符串是不可以用.或者[""]取值的。需要 JSON.parse()轉(zhuǎn)化為Object。發(fā)送的時(shí)候js如果需要發(fā)...
需要解決的問(wèn)題: 添加主程序入口需要在MANIFEST.MF 中增加上面一行,即可直接運(yùn)行com.pollyduan.modular.Demo jar 命令添加主程序入口到...
一般 外圍類(lèi)訪問(wèn)靜態(tài)內(nèi)部類(lèi)的方法是: 靜態(tài)內(nèi)部類(lèi)就像一個(gè)外圍類(lèi)的靜態(tài)成員 ,可以實(shí)例化它 通過(guò)內(nèi)部類(lèi)的構(gòu)造方法初始化內(nèi)部類(lèi), 然后調(diào)用里面的方法 內(nèi)部類(lèi)訪問(wèn)外圍類(lèi) 靜態(tài)內(nèi)...
Excel打開(kāi)是空白? 打開(kāi)注冊(cè)表ctrl+R 輸入regedit 找到Excel.Sheet.12和Excel.Sheet.8選擇 HKEY_CLASSES_ROOTCt...
Consumer 接收一個(gè)泛型T,不返回值。不知道為什么這樣使用會(huì)報(bào)錯(cuò)new IThisImpl().forEach1((IThisImpl t) -> t.getone()...
最近欣星寫(xiě)的一篇文章,原來(lái)插圖用的是幾頁(yè)商務(wù)風(fēng)的PPT,后來(lái)?yè)Q成了的手繪風(fēng)格,結(jié)果大受歡迎。很多朋友私信問(wèn)是怎么做的,今天就專(zhuān)門(mén)和大家介紹一下手繪風(fēng)PPT的做法。 有人說(shuō),我...
spring緩存很大程度上是圍繞切面構(gòu)建的。在執(zhí)行加有@Cacheable、@CachePut、@CacheEivt、@Caching等注解的方法(當(dāng)然也可加在類(lèi)上或者接口方...
切點(diǎn)切點(diǎn)是一個(gè)接口,切點(diǎn)表達(dá)式定義的方法(切點(diǎn)的方法)執(zhí)行的時(shí)候觸發(fā)通知切點(diǎn)不需要使用 aspectj注解聲明,只需要注入到spring上下文bean。 切面通知切面在切點(diǎn)方...
使用junit測(cè)試,自動(dòng)裝配 不是junit測(cè)試的話,會(huì)在web.xml中配置識(shí)別注解的xml junit使用下面兩種方式識(shí)別注解先了解junit的2個(gè)注解spring 集成...
死鎖形成的幾個(gè)必要條件1、互斥2、等待3、不可搶占4、循環(huán)等待 避免死鎖的方法就是,打破任一個(gè)必要條件。循環(huán)等待最容易打破。 科學(xué)家進(jìn)餐問(wèn)題。(都是在獲取左邊的鎖,) abc...
同步容器的并發(fā)問(wèn)題1.復(fù)合操作Vector是原子操作 ,但是當(dāng)有復(fù)合操作的時(shí)候也會(huì)有并發(fā)問(wèn)題。2.迭代操作this.list = Collections.synchroniz...
一種同步工具類(lèi),可以延遲線程的進(jìn)度直到閉鎖的值等于0(終止?fàn)顟B(tài))可用于在執(zhí)行一個(gè)任務(wù)前,必須把這個(gè)任務(wù)前的全部完成,才能執(zhí)行這個(gè)任務(wù)。比如,游戲要等所有玩家都準(zhǔn)備好之后才開(kāi)始...
書(shū)中添加了2個(gè)計(jì)數(shù)器一個(gè)是命中計(jì)數(shù)器,一個(gè)是緩存命中計(jì)數(shù)器(如果新的參數(shù)和上次一樣,則直接獲?。?/p>
怎么導(dǎo)入gradle構(gòu)建的spring源碼 (先在github上下載代碼,4.2.x版本,不過(guò)里面含有jdk1.8新特性的東西,需要換jdk) Pre-compile spr...
解決沖突鏈接法,開(kāi)放尋址 全域散列 如果從H中隨機(jī)選擇一個(gè)散列函數(shù),當(dāng)關(guān)鍵字k不等于l時(shí),兩者的沖突是多少?1.關(guān)鍵字k,選一個(gè)散列函數(shù),然后散列進(jìn)入T的一個(gè)槽中2.兩個(gè)鍵碰...