老實(shí)說身為Java developer记餐,許多應(yīng)該掌握的知識(shí)只是半知半解,比如最近碰到的幾個(gè)高頻詞: 懶加載 和 異步薇正。之前肯定有學(xué)習(xí)過片酝,然而已經(jīng)完全沒有印象巩剖,更談不上能夠用自己的語言描述,所以周末拾遺钠怯。
類加載器通過懶加載(lazy-loading)或者預(yù)加載(eager loading)自動(dòng)地把Servlet類加載到容器里佳魔。每個(gè)請(qǐng)求都擁有自己的線程,而一個(gè)Servlet對(duì)象可以同時(shí)為多個(gè)線程服務(wù)晦炊。當(dāng)Servlet對(duì)象不再被使用時(shí)鞠鲜,它就會(huì)被JVM當(dāng)做垃圾回收掉。
<h1>1.懶加載</h1>
Lazy-loading 簡(jiǎn)單地說就是使用時(shí)再加載断国,只有在必要時(shí)才加載贤姆。
<h2>2.預(yù)加載</h2>
Eager-loading 預(yù)加載即預(yù)先加載所有資源,這樣在使用到這些資源時(shí)稳衬,就不需要執(zhí)行加載過程霞捡,直接使用即可。
舉一個(gè)頁面的例子:Lazy-loading在用戶翻到指定頁面時(shí)才進(jìn)行內(nèi)容的渲染薄疚;而Eager-loading則是在用戶請(qǐng)求頁面時(shí)即將所有內(nèi)容渲染出來碧信。
3.異步
Java的異步任務(wù)的實(shí)現(xiàn)主要依靠:
Callable
Future
FutureTask