12 2007 檔案
摘要: jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個(gè)顯示當(dāng)前所有java進(jìn)程pid的命令,簡(jiǎn)單實(shí)用,非常適合在linux/unix平臺(tái)上簡(jiǎn)單察看當(dāng)前java進(jìn)程的一些簡(jiǎn)單情況。
閱讀全文
摘要: 從對(duì)resin源碼的追蹤到resin配置文件中的設(shè)置,可以明確的看到,resin在設(shè)計(jì)上是提供了session id 的reuse功能,而且resin.conf默認(rèn)就是打開(kāi)reuse的。慚愧的是,我一直不知道......
閱讀全文
摘要: 上文中詳細(xì)描述了問(wèn)題的表現(xiàn)情況,由于這個(gè)特性嚴(yán)重影響到目前為公司設(shè)計(jì)的一套前臺(tái)統(tǒng)一認(rèn)證方案,因此不得不特別關(guān)注。好在resin的源代碼是公開(kāi)的,直接從resin的官網(wǎng)將resin的源代碼拿下來(lái),看resin到底是如何處理的。
閱讀全文
摘要: 看到有留言,對(duì)我如此“執(zhí)著”的關(guān)注session創(chuàng)建很好奇,解釋一下吧。
首先是關(guān)注性能,前面提到過(guò)session的使用是有代價(jià)的,需要在保存在服務(wù)器端內(nèi)容中,每次request.getSeesion()方法獲取 session時(shí),實(shí)際是在服務(wù)器段的一個(gè)大的hasp結(jié)構(gòu)中以當(dāng)前的jsessionid為key,獲取對(duì)應(yīng)的value HttpSession對(duì)象,這個(gè)過(guò)程是需要消耗cpu的,當(dāng)然目前hash算法比較好,這里消耗不那么明顯。而一般的應(yīng)用,消耗的cpu遠(yuǎn)比這個(gè)小開(kāi)銷大出2-3個(gè)數(shù)量級(jí),因此通常情況不敏感。如果這個(gè)session是我們需要使用的,那么付出這些內(nèi)存和cpu的代碼是完全值得的。但是,如果產(chǎn)生大量的沒(méi)有任何用處的"垃圾session",對(duì)大容量,大并發(fā),需要長(zhǎng)期穩(wěn)定運(yùn)行的系統(tǒng)會(huì)帶來(lái)很無(wú)謂的負(fù)載。
閱讀全文
摘要: 按照前面的方法,將jsp頁(yè)面加入<%@ page session="false"%>之后,發(fā)現(xiàn)還是有新的session會(huì)意外的蹦出來(lái)。仔細(xì)檢查action沒(méi)有操作session,那這次是誰(shuí)干的呢?將目光轉(zhuǎn)回jsp文件,首先來(lái)次狠的,將這個(gè)jsp文件的內(nèi)容刪空為只有純html內(nèi)容。重新運(yùn)行后發(fā)現(xiàn)不會(huì)自動(dòng)生成session,ok,問(wèn)題在jsp文件里面了。將原來(lái)的內(nèi)容一點(diǎn)點(diǎn)的加回去,反復(fù)測(cè)試直到session自動(dòng)創(chuàng)建的問(wèn)題再次出現(xiàn), 哈,發(fā)現(xiàn)問(wèn)題出現(xiàn)在webwork的標(biāo)簽上。
閱讀全文
摘要: jsp文件是session創(chuàng)建的一個(gè)源頭,這里指的不是在jsp文件中用代碼或者標(biāo)簽來(lái)操作session,這些都是在控制中的。容易忽視或者說(shuō)根本就不會(huì)意識(shí)到的(比如我,就是寫jsp三年后才發(fā)現(xiàn)的)是,jsp有自動(dòng)創(chuàng)建session的機(jī)制,在jsp頁(yè)面中,如果沒(méi)有明確的給出 <% @page session="false"%>,jsp頁(yè)面會(huì)非常乖巧(如果剛好需要)或者說(shuō)是偷偷摸摸(如果不需要)的自動(dòng)在生成的java文件中增加一句: javax.servlet.http.HttpSession session = request.getSession(true)。
閱讀全文
摘要: 在HttpServlet中,HttpSession對(duì)象通常在request.getSession(true)方法調(diào)用時(shí)才創(chuàng)建。 HttpSession的使用是有代價(jià)的,需要占用服務(wù)器資源,本著能不浪費(fèi)就不浪費(fèi)的原則,我希望系統(tǒng)中的session都在掌握之中,在需要?jiǎng)?chuàng)建時(shí)由我們的代碼明確創(chuàng)建。但是最近在開(kāi)發(fā)中發(fā)現(xiàn),新的session對(duì)象經(jīng)常在意料之外出現(xiàn),究竟是誰(shuí)在創(chuàng)建session呢?
閱讀全文
摘要: 近期因工作需求探索apache + resin的多機(jī)負(fù)載分布和多個(gè)webapp統(tǒng)一認(rèn)證的實(shí)現(xiàn)方案, 期間設(shè)計(jì)多個(gè)webapp統(tǒng)一認(rèn)證的實(shí)現(xiàn)方案時(shí), 發(fā)現(xiàn)resin下通過(guò)cookie來(lái)傳遞jsessionid和通過(guò)url重寫將jsessionid放url中傳遞, 會(huì)有細(xì)微的差異.
注:后來(lái)研究發(fā)現(xiàn)是resin提供的session id reuse特性,只是此文第一次發(fā)布時(shí)我還不知道有此特性,慚愧。
閱讀全文
摘要: 發(fā)生在我身上的實(shí)際故事,最后發(fā)現(xiàn)和axis解析xml時(shí)的處理機(jī)制有關(guān),namespace的有無(wú)會(huì)影響xml解析的方式,簡(jiǎn)單的說(shuō)就是有namespace時(shí)按照元素名解析,沒(méi)有namespace則按照index下標(biāo)的順序來(lái)解析。
閱讀全文
摘要: 在網(wǎng)上找了一些apache下安裝mod_rewrite模塊的文章,說(shuō)得都很輕巧,但是俺一路碰壁,怎么都出不來(lái)。整理了一下,以后再來(lái)研究。
閱讀全文
摘要: 前段時(shí)間做公司前臺(tái)方案的技術(shù)探索時(shí),涉及到j(luò)sseionid的傳遞,期間嘗試使用resin自己的url rewrite功能來(lái)傳遞jsessionid參數(shù),總結(jié)如下
閱讀全文
摘要: 前段時(shí)間,對(duì)公司前臺(tái)多機(jī)分布方案的做了一些探索,總結(jié)了一些東西,貼出來(lái)分享。apache + resin的多機(jī)部署,類似內(nèi)容網(wǎng)上比較多,但是都不夠詳細(xì),我第一次弄時(shí)費(fèi)力不少,希望后來(lái)人可以更方便一些。
閱讀全文
摘要: 首先把問(wèn)題擺出來(lái),看這個(gè)代碼段
String a = "ab";
String b = "a" + "b";
System.out.println((a == b));
打印結(jié)果會(huì)是什么?true or false ?
閱讀全文
摘要: RESIN下驗(yàn)證碼無(wú)法顯示的問(wèn)題,驗(yàn)證碼的代碼就是google上查找到的最常見(jiàn)的代碼,服務(wù)器采用resin部署于linux或unix。不是常見(jiàn)的out.clear()問(wèn)題,這次的問(wèn)題發(fā)現(xiàn)在一個(gè)我壓根就沒(méi)有想到的地方,profile DISPLAY 環(huán)境變量。
閱讀全文