2012年5月25日
#
摘要: 之前遇到幾次現(xiàn)場(chǎng)故障,都是和class文件有關(guān),比如版本不兼容造成Bad Version錯(cuò)誤之類,需要檢查class文件的編譯版本信息。 今天無(wú)意中發(fā)現(xiàn), jdk自帶的javap 命令其實(shí)可以方便的搞定這個(gè)事情
閱讀全文
摘要: 前幾次的編碼最佳實(shí)踐系列,我們都著眼于Java代碼,今天我們換個(gè)話題,看看另外一個(gè)領(lǐng)域,和Java代碼大相徑庭的SQL。
閱讀全文
摘要: 本期的案例依然是來(lái)自實(shí)際項(xiàng)目,很尋常的代碼,卻意外遭遇傳說(shuō)中的Java"內(nèi)存溢出"。
閱讀全文
摘要: 昨晚繼續(xù)折騰俺的小站http://www.javauniversity.net,準(zhǔn)備給它加上SEO支持,安裝了SEO tools模塊和相應(yīng)的依賴模塊。
結(jié)果安裝完成之后就陷入重定向循環(huán)了,每個(gè)頁(yè)面都被重定向到新地址,然后新地址再次被重定向。chrome瀏覽器會(huì)稍后報(bào)錯(cuò)說(shuō)太多重定向,而ie則傻傻的一直在死循環(huán)。
閱讀全文
摘要: 折騰了兩天,終于將Java University這個(gè)站點(diǎn)開(kāi)通,過(guò)程真不容易的,決定寫下來(lái)吐吐 糟,以紀(jì)念TIANCHAO和諧之光普照下P民的美好生活
閱讀全文
摘要: 這是一個(gè)來(lái)自實(shí)際項(xiàng)目的例子,在這個(gè)案例中,有同事基于jdk中的LinkedHashMap設(shè)計(jì)了一個(gè)LRUCache,為了提高性能,使用了 ReentrantReadWriteLock 讀寫鎖:寫鎖對(duì)應(yīng)put()方法,而讀鎖對(duì)應(yīng)get()方法,期望通過(guò)讀寫鎖來(lái)實(shí)現(xiàn)并發(fā)get()。
閱讀全文
摘要: 這里將要講述的是一系列的類似案例,都是在各個(gè)產(chǎn)品進(jìn)行performance tuning時(shí)被發(fā)現(xiàn)的,非常具有普適性。可以說(shuō)在日常開(kāi)發(fā)中,有非常大的概率遇到相同或者類似的情形,因此需要對(duì)其保持警惕以便避免陷入類似的性能問(wèn)題。 我們從JAXBContext這個(gè)對(duì)象開(kāi)始...
閱讀全文
摘要: 這是一個(gè)真實(shí)案例,曾經(jīng)惹出碩大風(fēng)波,故事的起因卻很簡(jiǎn)單,就是需要實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)數(shù)器,每次取值然后加1......
閱讀全文
摘要: 最近在公司內(nèi)部做了一些收集和整理的工作,關(guān)于trouble shooting和performace tuning 中遇到并解決的典型問(wèn)題,做了一些內(nèi)部分享。我整理了一下,準(zhǔn)備陸續(xù)放上來(lái)分享給大家。
這些問(wèn)題,單個(gè)看每個(gè)問(wèn)題都不算復(fù)雜或高深,但是都是在實(shí)際項(xiàng)目開(kāi)發(fā)中出現(xiàn)并一度造成困擾的,而且?guī)в幸欢ǖ钠者m性,具體表現(xiàn)為不知道這些問(wèn)題的同學(xué)很容易在日常開(kāi)發(fā)中中招。因此我們開(kāi)了一個(gè)專題,叫做編碼最佳實(shí)踐,似乎名字起的有點(diǎn)大......
先來(lái)看看第一個(gè),如何做compare。
閱讀全文
摘要: 今天用jetty做嵌入式web container,來(lái)做web項(xiàng)目的integration test,結(jié)果發(fā)現(xiàn)出現(xiàn)在渲染使用EL表達(dá)式的jsp頁(yè)面時(shí)出現(xiàn)異常:
javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;
檢查了一下,發(fā)現(xiàn)javax.el.ExpressionFactory.newInstance()這個(gè)方法是EL2.2版本之后才有的方法,而在EL2.1之中是沒(méi)有這個(gè)方法的,問(wèn)題很明顯:org.apache.jasper中試圖調(diào)用2.2版本的EL,當(dāng)時(shí)提供的EL的版本是2.1版本,所以解決的方式無(wú)非就是兩個(gè),要不降低org.apache.jasper的版本,要不提升el的版本。考慮到現(xiàn)在使用的jetty已經(jīng)是最新的版本8.1.2.v20120308,因此提升EL的版本為2.2更為合適。
閱讀全文