當(dāng)所有線程運(yùn)行結(jié)束,或者只剩下守護(hù)線程時(shí) JVM 進(jìn)程就會(huì)退出。
如下帶有 daemon 的就是守護(hù)線程。
"Attach Listener" #84 daemon prio=9 os_prio=0 tid=0x00007f9a60001000 nid=0x485e waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"ajp-nio-8009-Acceptor-0" #80 daemon prio=5 os_prio=0 tid=0x00007f9a94303800 nid=0x475c runnable [0x00007f9a293e1000]
java.lang.Thread.State: RUNNABLE
如果還有線程是非守護(hù)線程并且是 RUNNABLE 狀態(tài)的 JVM 進(jìn)程是不會(huì)退出的,如下。
"nioEventLoopGroup-3-1" #44 prio=10 os_prio=0 tid=0x00007f9a0c004800 nid=0x475d runnable [0x00007f9a79e2b000]
java.lang.Thread.State: RUNNABLE
所以題主只要在 ServletContextListener.destroy 的時(shí)候?qū)⑦@些非守護(hù)線程停止或者讓他自動(dòng)結(jié)束,那 JVM 進(jìn)程就會(huì)運(yùn)行結(jié)束了。
拼寫(xiě)錯(cuò)誤
keypress事件的兼容性不好,不建議監(jiān)聽(tīng)這個(gè)事件。
可以監(jiān)聽(tīng)input事件,然后用正則判斷字符串是否合法:
var inputer = document.getElementById("inputer");
var lastValue = '';
inputer.addEventListener("input", function(e) {
if (!/^\d*$/.test(e.target.value)) {
this.value = lastValue;
}
}, false);
activate-power-mode
樓上正解
你是當(dāng)前執(zhí)行commit的線程查詢(xún),當(dāng)然能查到。換成mysql?。悖欤椋澹睿粼僭囈幌?,就查不到了。
根據(jù)同事提醒 發(fā)現(xiàn)合并的單元格導(dǎo)致了這個(gè)問(wèn)題的存在 后將模版單元格拆開(kāi) 刪除后合并解該問(wèn)題
這個(gè)應(yīng)該不是你粘貼的問(wèn)題,應(yīng)該是你正則匹配的問(wèn)題
你可以在console執(zhí)行下這段代碼
'12-34EDF5-67-A8'.replace(/\s/g,'').replace(/\W/g,'').replace(/[^0-9a-fA-F]/g,'').replace(/([a-f0-9]{2})(?=[a-f0-9])/g,'$1'+'-');
你會(huì)發(fā)現(xiàn)結(jié)果就是12-34EDF56-7A8,因?yàn)槟阏齽t中只匹配了小寫(xiě)a-f,沒(méi)有匹配大寫(xiě)的A-F,所以并沒(méi)有達(dá)到你想要的目的,你可以在最后一次替換中忽略大小寫(xiě)去匹配就可以了
replace(/([a-f0-9]{2})(?=[a-f0-9])/ig,'$1'+'-')clear方法的作用是清空集合中所有的元素,意思是還可以繼續(xù)使用,不過(guò)里面沒(méi)有數(shù)據(jù)了,你讓elementData=null之后后面沒(méi)有辦法再繼續(xù)操作了,會(huì)出現(xiàn)空指針。
遍歷設(shè)置為空是為了讓GC快點(diǎn)進(jìn)行垃圾回收。
帶變量,將流程經(jīng)過(guò)的節(jié)點(diǎn)寫(xiě)在變量中?
或者直接在數(shù)據(jù)庫(kù)中標(biāo)記流程經(jīng)過(guò)的每一個(gè)節(jié)點(diǎn),到達(dá)節(jié)點(diǎn)的時(shí)候根據(jù)流程id去判斷就可以了。
這個(gè)建議在JTextFiled失去焦點(diǎn)事件中檢測(cè),
方法一:小程序沒(méi)有很好的監(jiān)聽(tīng)方法,我的做法是增加一個(gè)啟動(dòng)頁(yè),在啟動(dòng)頁(yè)面里調(diào)用加載需要的初始化數(shù)據(jù),確保所有數(shù)據(jù)都被加載。
方法二:按你的需求起始沒(méi)必要做監(jiān)聽(tīng)這么麻煩,你直接通過(guò)函數(shù)回調(diào)或者promise來(lái)處理,在app.js中增加獲取數(shù)據(jù)的方法,如getUserInfo,將返回結(jié)果通過(guò)回調(diào)傳回來(lái),在方法中判斷是否有緩存,有則直接從存儲(chǔ)中取數(shù)據(jù)返回即可。這樣你的頁(yè)面在顯示前會(huì)確保數(shù)據(jù)被拿到。
這種方式是可以的,就象第三方登錄,你的執(zhí)行方式還是前臺(tái)請(qǐng)求后臺(tái)api,后臺(tái)在請(qǐng)求第三方登錄接口,再根據(jù)第三方授權(quán)返回的用戶(hù)openid存入對(duì)應(yīng)的用戶(hù)賬號(hào)內(nèi)進(jìn)行關(guān)聯(lián)識(shí)別,所以完全可以
前端連接當(dāng)然可以,這個(gè)就基于你的業(yè)務(wù)邏輯,如果業(yè)務(wù)邏輯不需要對(duì)獲取的數(shù)據(jù)處理就不需要后端做中轉(zhuǎn),否則就需要后臺(tái)做中轉(zhuǎn)
如果網(wǎng)絡(luò)正常,執(zhí)行時(shí)間短,是可以忽略中間傳輸時(shí)間的
字段上添加@JsonProperty("返回前端的字段名")
兩個(gè)結(jié)果異步,沖突了。
function getUserAccount() {
return axios.get('/user/12345');
}
function getUserPermissions() {
return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()])
.then(axios.spread(function (acct, perms) {
// Both requests are now complete
}));
注意后面的axios.spread
彈出框定位(fixed),頂部和底部絕對(duì)定位,中間的overflow:scroll
相對(duì)web項(xiàng)目來(lái)說(shuō),放到classes下,那是因?yàn)槟抢锸琼?xiàng)目的根目錄,那個(gè)相對(duì)路徑是 /
例如你的文件是jdbc.properties,那么就配的相對(duì)路徑就是“/jdbc.properties”,也可以是“jdbc.properties”
進(jìn)入webapps文件夾下面的ROOT目錄,看一下有沒(méi)有index.jsp和其他文件,用localhost:8082就可以直接訪問(wèn)到index.jsp
在JDK 6 Update 24之后,HandlePromotionFailure參數(shù)不會(huì)再影響到虛擬機(jī)的空間分配擔(dān)保策略,觀察OpenJDK中的源碼變化(見(jiàn)代碼清單),雖然源碼中還定義了HandlePromotionFailure參數(shù),但是在代碼中已經(jīng)不會(huì)再使用它。JDK 6 Update 24之后的規(guī)則變?yōu)橹灰夏甏倪B續(xù)空間大于新生代對(duì)象總大小或者歷次晉升的平均大小就會(huì)進(jìn)行Minor GC,否則將進(jìn)行Full GC。
代碼清單 HotSpot中空間分配檢查的代碼片段
bool TenuredGeneration::promotion_attempt_is_safe(size_t
max_promotion_in_bytes) const {
// 老年代最大可用的連續(xù)空間
size_t available = max_contiguous_available();
// 每次晉升到老年代的平均大小
size_t av_promo = (size_t)gc_stats()->avg_promoted()->padded_average();
// 老年代可用空間是否大于平均晉升大小,或者老年代可用空間是否大于當(dāng)此GC時(shí)新生代所有對(duì)象容量
bool res = (available >= av_promo) || (available >=
max_promotion_in_bytes);
return res;
}
源自:
https://book.2cto.com/201306/...
EDITED:
Jdk8的最新在線源碼庫(kù)在這里
http://hg.openjdk.java.net/jd...
比較一下Jdk6早期的源代碼
http://hg.openjdk.java.net/jd...
bool TenuredGeneration::promotion_attempt_is_safe(
size_t max_promotion_in_bytes,
bool younger_handles_promotion_failure) const {
bool result = max_contiguous_available() >= max_promotion_in_bytes;
if (younger_handles_promotion_failure && !result) {
result = max_contiguous_available() >=
(size_t) gc_stats()->avg_promoted()->padded_average();
if (PrintGC && Verbose && result) {
gclog_or_tty->print_cr("TenuredGeneration::promotion_attempt_is_safe"
" contiguous_available: " SIZE_FORMAT
" avg_promoted: " SIZE_FORMAT,
max_contiguous_available(),
gc_stats()->avg_promoted()->padded_average());
}
} else {
if (PrintGC && Verbose) {
gclog_or_tty->print_cr("TenuredGeneration::promotion_attempt_is_safe"
" contiguous_available: " SIZE_FORMAT
" promotion_in_bytes: " SIZE_FORMAT,
max_contiguous_available(), max_promotion_in_bytes);
}
}
return result;
}
(這個(gè)與實(shí)現(xiàn)密切相關(guān), 版本之間變化很多, 建議有這時(shí)間學(xué)點(diǎn)別的)
并行流會(huì)根據(jù)splitor方法切分元素,默認(rèn)是提交給ForkjoinPool執(zhí)行
xml的insert語(yǔ)句去掉前面的DictionaryType即可
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。