06 2009 檔案
JVM 調(diào)優(yōu) 技巧 總結(jié)
摘要: 寫了好幾篇關(guān)于這個(gè)方向的文章了,但連自己都感覺寫的有點(diǎn)亂,沒有總結(jié)。所以現(xiàn)在把所有方法整理到一起,如果以后又發(fā)現(xiàn)新的,我繼續(xù)補(bǔ)充到這篇文章里。
這篇是技巧性的文章,如果要找關(guān)于GC或者調(diào)整內(nèi)純的文章,看我其他幾篇文章。因?yàn)槭荍VM 調(diào)優(yōu)總結(jié),所以廢話少說。從各方面一共收集到以下幾個(gè)方法:
閱讀全文
posted @
2009-06-28 10:57 RoyPayne 閱讀(438) |
評論 (0) 編輯
Hibernate延遲加載機(jī)制
摘要: 延遲加載:
延遲加載機(jī)制是為了避免一些無謂的性能開銷而提出來的,所謂延遲加載就是當(dāng)在真正需要數(shù)據(jù)的時(shí)候,才真正執(zhí)行數(shù)據(jù)加載操作。在Hibernate中提供了對實(shí)體對象的延遲加載以及對集合的延遲加載,另外在Hibernate3中還提供了對屬性的延遲加載。下面我們就分別介紹這些種類的延遲加載的細(xì)節(jié)。
閱讀全文
posted @
2009-06-28 08:30 RoyPayne 閱讀(200) |
評論 (0) 編輯
解讀ClassLoader
摘要: ClassLoader一個(gè)經(jīng)常出現(xiàn)又讓很多人望而卻步的詞,本文將試圖以最淺顯易懂的方式來講ClassLoader,希望能對不了解該機(jī)制的朋友起到一點(diǎn)點(diǎn)作用.
要深入了解ClassLoader,首先就要知道ClassLoader是用來干什么的,顧名思義,它就是用來加載Class文件到JVM,以供程序使用的。我們知道,java程序可以動(dòng)態(tài)加載類定義,而這個(gè)動(dòng)態(tài)加載的機(jī)制就是通過ClassLoader來實(shí)現(xiàn)的,所以可想而知ClassLoader的重要性如何。
閱讀全文
posted @
2009-06-26 22:38 RoyPayne 閱讀(270) |
評論 (0) 編輯
request.getParameter()和request.getAttribute()的區(qū)別
摘要: request.getParameter
是用來接受來自get方法或post方法的參數(shù)
只能接受java.lang.String
也就是說String hotel_id = request.getParameter("hotel_id");
request.getAttribute
是用來接受來自servlet的變量或Action(其實(shí)Action就是特殊的Servlet)
在Action中,request.setAttribute("ret",ret);
只能接受java.lang.Object
也就是說List ret = (List)request.getAttribute("ret");
一個(gè)是變量類型,一個(gè)對象類型
閱讀全文
posted @
2009-06-25 22:01 RoyPayne 閱讀(1172) |
評論 (0) 編輯
通通透透理解ThreadLocal
摘要: 概述
我們知道Spring通過各種DAO模板類降低了開發(fā)者使用各種數(shù)據(jù)持久技術(shù)的難度。這些模板類都是線程安全的,也就是說,多個(gè)DAO可以復(fù)用同一個(gè)模板實(shí)例而不會(huì)發(fā)生沖突。
我們使用模板類訪問底層數(shù)據(jù),根據(jù)持久化技術(shù)的不同,模板類需要綁定數(shù)據(jù)連接或會(huì)話的資源。但這些資源本身是非線程安全的,也就是說它們不能在同一時(shí)刻被多個(gè)線程共享。
雖然模板類通過資源池獲取數(shù)據(jù)連接或會(huì)話,但資源池本身解決的是數(shù)據(jù)連接或會(huì)話的緩存問題,并非數(shù)據(jù)連接或會(huì)話的線程安全問題。
按照傳統(tǒng)經(jīng)驗(yàn),如果某個(gè)對象是非線程安全的,在多線程環(huán)境下,對對象的訪問必須采用synchronized進(jìn)行線程同步。但Spring的DAO模板類并未采用線程同步機(jī)制,因?yàn)榫€程同步限制了并發(fā)訪問,會(huì)帶來很大的性能損失。
閱讀全文
posted @
2009-06-23 09:30 RoyPayne 閱讀(459) |
評論 (0) 編輯
java的淺復(fù)制和深復(fù)制
摘要: 1.淺復(fù)制和深復(fù)制概念
⑴淺復(fù)制(淺克隆)
被復(fù)制對象的任何變量都含有和原來的對象相同的值,而任何的對其他對象的引用仍然指向原來的對象。換言之,淺復(fù)制僅僅復(fù)制所考慮的對象,而不復(fù)制他所引用的對象。
閱讀全文
posted @
2009-06-20 18:03 RoyPayne 閱讀(180) |
評論 (0) 編輯