摘要: 探索HTTP/2系列的第四篇文章,解讀了HTTP/2流的狀態(tài),以及狀態(tài)之間的轉化。(2016.10.09最后更新) 閱讀全文
原創(chuàng)
摘要: 在本系列的第一篇文章中已經介紹了HTTP 2協議,本文則將簡述用于HTTP/2頭部壓縮的HPACK協議。(2016.10.01最后更新) 閱讀全文
摘要: 目前支持HTTP/2的服務器端與客戶端實現已有不少,本文分別以Jetty和curl作為服務器端和客戶端,描述了HTTP/2測試環(huán)境的搭建過程。本文還將使用這個測試環(huán)境去展示Jetty在實現HTTP/2時的一個局限和一個Bug。(2016.09.22最后更新) 閱讀全文
摘要: HTTP/2的協議包含著兩個RFC:Hypertext Transfer Protocol Version 2 (RFC7540),即HTTP/2;HPACK: Header Compression for HTTP/2 (RFC7541),即HPACK。RFC7540描述了HTTP/2的語義,RFC7541則描述了用于HTTP/2的頭部壓縮的格式。本文只涉及HTTP/2協議,本系列的后續(xù)文章將會涉及HPACK協議。(2016.10.13最后更新) 閱讀全文
摘要: 本文是Play OpenJDK的第二篇,介紹了如何突破JDK不允許自定義的包名以"java."開頭這一限制。這一技巧對于基于已有的JDK向java.*中添加新類還是有所幫助的。(2015.11.02最后更新) 閱讀全文
摘要: 計劃使Play OpenJDK成為一組介紹如何使用并參與OpenJDK項目的系列文章。本文是該系列的第一篇文章,它基于OpenJDK 8的源代碼介紹了構建一個屬于自己的JDK方法。(2015.10.30最后更新) 閱讀全文
摘要: 本文是Java并發(fā)基礎實踐系列中的一篇,介紹了最簡單的死鎖場景,并使用jstack產生的thread dump來查找死鎖。(2013.12.29最后更新) 閱讀全文
摘要: 本系列的第三篇文章將以實現一個極簡單的查找最大數的任務為例,分別給出了四個版本:1.順序執(zhí)行;2.基于傳統的Thread.join();3.基于并發(fā)工具包的Future;4.基于JDK 7引入的Fork/Join框架。(2013.10.25最后更新) 閱讀全文
摘要: 在本系列的上一篇中講述了三種退出并發(fā)任務的方式,但都是基于JDK 5之前的API。本篇將介紹使用由JDK 5引入的java.concurrent包中的API來退出任務。(2013.10.08最后更新) 閱讀全文
摘要: 計劃寫一個"Java并發(fā)基礎實踐"系列,算作本人對Java并發(fā)學習與實踐的簡單總結。本文是該系列的第一篇,介紹了退出并發(fā)任務的最簡單方法。(2013.09.25最后更新) 閱讀全文
摘要: Oracle OpenWorld 2013(上海)已經結束,我全程參與了此次技術大會。本文是我參會的所見、所聞、所思與所感,有文,有圖,且無碼。(2013.08.03最后更新) 閱讀全文
摘要: 最近有點兒閑,看了一些文章,有了一些感觸,寫成一篇小文。軟件世界真的變化很大,沒有永恒的終結者。今天的終結者,明天可能就會被別人終結。道理大家都懂,但現實依然很殘酷。(2013.07.29最后更新) 閱讀全文
摘要: 關于Java序列化的文章早已是汗牛充棟了,本文是對我個人過往學習,理解及應用Java序列化的一個總結。此文內容涉及Java序列化的基本原理,以及多種方法對序列化形式進行定制。在撰寫本文時,既參考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相關文章和其它網絡資料,也加入了自己的實踐經驗與理解,文、碼并茂,希望對大家有所幫助。(2012.02.14最后更新) 閱讀全文
摘要: 本文是"探索JUnit4擴展"系列中的第三篇,將進一步探究Rule的應用,展示如何使用Rule來替代@BeforeClass,@AfterClass,@Before和@After的功能。(2012.01.04最后更新) 閱讀全文
摘要: 在上一篇文章《探索JUnit4擴展:擴展Runner》中,討論了一種擴展JUnit4的方式,即,直接修改Test Runner的實現(BlockJUnit4ClassRunner)。但這種方法顯然不便于靈活地添加或刪除擴展功能。本文將使用JUnit4.7才開始引入的擴展方式--Rule來實現相同的擴展功能。(2010.12.25最后更新) 閱讀全文
摘要: 在使用JUnit的過程中,大家可能會對JUnit進行一些擴展。本文中的示例為JUnit4定義了一個新的Annotation,并相應地對已有的Runner進行擴展,使其能夠解析新引入的Annotation。(2011.12.25最后更新) 閱讀全文
摘要: 大家肯定都用過Eclipse的調試的功能,在調試的過程中自然也無法避免要使用斷點(breakpoint),但不知是否對Eclipse中各類斷點都有所了解。本篇圖文并茂地介紹了Eclipse中全部類型的斷點,及其設置,希望對大家有所幫助。(2011.11.20) 閱讀全文
摘要: 在開發(fā)一個新浪微博客Swing戶端的過程中希望能展現不規(guī)則的窗體界面,原來JDK 6 update 10提供了創(chuàng)建指定形狀窗體的特性,簡單易用,記于此處。(2010.05.31最后更新) 閱讀全文
摘要: 本文是我參加JavaOne與Oracle開發(fā)者大會(北京)第二天活動的一些見聞與感受,有圖有真相,希望大家能喜歡。(2010.12.16最后更新) 閱讀全文
摘要: 自從Sun被Oracle收購之后,往常一年一度的SunTechDays就離我們而去了,但它以另一種形式--JavaOne與Oracle開發(fā)者大會 (北京)--回到了我們的身邊。本次大會即將在下周開幕,在此之前請允許我先列舉一下我個人感興趣的若干主題。(2010.12.12最后更新) 閱讀全文
摘要: 當在加載數據(或其它耗時工作)時,需要顯示一個進度指示面板,本文介紹了一種簡易的實現方式。(2009.11.30最后更新) 閱讀全文
摘要: 今年的Sun科技日(中國站)將無法舉辦,最新一屆Sun科技日將在2010年4月29-30日舉行。(2009.10.23最后更新) 閱讀全文
摘要: 本文使用SwingX與TimingFramework展示了如何實現淡入淡出效果,程序簡潔實用,希望對大家能有所助益。(2009.09.28最后更新) 閱讀全文
摘要: CheckBox Tree是一個十分常用的UI組件,它能使用戶方便地按特定規(guī)則勾選樹中的節(jié)點。本文實現了一種簡單的Checking規(guī)則:當勾選了某節(jié)點后,該節(jié)點的所有下級節(jié)點全部被勾選;當取消勾選某節(jié)點后,該節(jié)點的所有下級節(jié)點全部被取消勾選。(2009.08.05最后更新) 閱讀全文
摘要: 繼上次淺談了樹的遍歷之后,這次再淺談一下樹的匯總。此處的匯總是指將樹中某個節(jié)點的數據按指定的規(guī)則匯集到它的父節(jié)點中。例如,可以將樹節(jié)點中的數值累加到它的父節(jié)點中。仍如樹的遍歷一文,我將使用兩種簡單的算法,遞歸與和迭代,來實現這一功能。(2009.08.09最后更新) 閱讀全文
摘要: 之前的工作都沒有接觸到樹,也就很少研究它。幸運地的是,在目前的工作中多次遇到樹型結構的數據,那么訪問樹節(jié)點中的數據就是必然的了,而且還需要按照指定規(guī)則對節(jié)點中的數據進行額外處理。經過學習之后,對與樹相關的基本算法有了一些認知,就計劃寫幾篇小文。其實這樣的文章早已是汗牛充棟,而我只是把它當作我的學習總結罷了,以加深記憶與理解,如能對其他朋友有所助益,則更感愉悅了 :-) (2009.04.03最后更新) 閱讀全文
摘要: 今年Sun科技日會場的一些照片,大家可以瀏覽一下。(2008.11.23最后更新) 閱讀全文
摘要: 一年一度的Sun Tech Days(STD)又將開幕了,本文簡介了本屆STD中我所期待的若干主題,有興趣的朋友可以瀏覽一下。(2008.11.16最后更新) 閱讀全文
摘要: 在經過了漫長的期待之后,Java SE 6 Update 10終于正式發(fā)布了。本文主要簡介了該版本在客戶端應用方面的改進。(2008.10.18最后更新) 閱讀全文
摘要: 本文以一個示例介紹了如何利用JStockChart生成金融時序圖。(2009.11.23最后更新) 閱讀全文
摘要: JStockChart是一款簡單但實用的開源圖表工具,是對JFreeChart的擴展,僅關注于金融時序圖與K線圖。(2008.08.29最后更新) 閱讀全文
摘要: 如何判定一個點P是否存在于指定的三角形ABC內,這肯定是一個簡單的問題,本文僅用一個圖形界面程序展示了該問題,有興趣的朋友可以看看。(2008.07.24最后更新) 閱讀全文
摘要: Sun Tech Days 2007(北京站)已經結束了,趁熱打鐵,在此把本次會議中我的所見、所聞、所思與所得記錄下來。本文是關于我在Sun Tech Days第二天中的見聞思得以及總結。(2007.11.10最后更新) 閱讀全文
摘要: Sun Tech Days 2007(北京站)已經結束了,趁熱打鐵,在此把本次會議中我的所見、所聞、所思與所得記錄下來。本文是關于我在Sun Tech Days第一天中的見聞思得。(2007.11.10最后更新) 閱讀全文
摘要: 一年一度的Sun Tech Days又將開幕了,本文回顧了我前兩年參會的體驗,并分析了本次會議中我個人所感興趣的幾個主題。(2007.10.12最后更新) 閱讀全文
摘要: 最近由于工作原因,在RedHat AS 4.0上安裝了Apache2+MySQL5+PHP5。現將安裝使用的命令記錄,以備日后查詢,也希望對其他朋友有幫助。(2007.10.17最后更新) 閱讀全文
摘要: 本文將使用一個較復雜的實例,講述如何定制目錄布局(即不使用Maven標準目錄布局),以及講述一些關鍵插件的使用(配置)。(2007.01.02最后更新) 閱讀全文
摘要: 本文是Maven常用插件的收集,對于較復雜的使用會給出實例。每個插件都將以groupId:artifactId的形式列出。但本文主要關注非Maven官方管理的插件,如codehause.org的插件。(2007.02.13最后更新) 閱讀全文
摘要: 本文雖然是Continuum的入門,但并不涉及Continuum的歷史、下載與安裝,這些內容可以到 Continuum的官方網站上了解。本文主要是以一個實例來闡述使用 Continuum的基本方法,而其中將使用的Maven工程是《Maven入門--概念與實例》中的實例(該文末有下載鏈接)。 閱讀全文
摘要: 最近由于工作原因在研究、應用Maven,有了一些體會就寫成了此文。本文雖然是Maven2的入門文章,但并不涉及Maven的歷史、下載與安裝,這些內容可以到Maven的官方網站上了解。本文主要是關注Maven中的重要概念,并以一個實例來闡述使用Maven的基本方法。文末有例子代碼下載的鏈接。(2007.01.02最后更新) 閱讀全文
摘要: 本人安裝MySQL Server 5.0的過程與體會,希望對大家有幫助。 閱讀全文
摘要: 因工作原由,這一段時間學習了在Linux上安裝Oracle。在這一過程中有不少的收獲,寫出此文與大家共享。不同版本Oracle的安裝應該沒有本質上的區(qū)別,本文也可供大家在安裝Oracle9.2和Oracle10.2時進行參考。
其實我對Linux和Oracle都不熟悉,在實際的安裝過程中,還有許多不明白的地方,經常是“知其然,而不知其所以然”。如,為什么要配置kernel參數?相關kernel參數分別有什么作用?設置臨時交換空間所用的命令dd的功能是什么?......希望有朋友能夠針對其中的問題進行解答。如果文中有什么錯誤,也請大家指正。
閱讀全文
其實我對Linux和Oracle都不熟悉,在實際的安裝過程中,還有許多不明白的地方,經常是“知其然,而不知其所以然”。如,為什么要配置kernel參數?相關kernel參數分別有什么作用?設置臨時交換空間所用的命令dd的功能是什么?......希望有朋友能夠針對其中的問題進行解答。如果文中有什么錯誤,也請大家指正。
閱讀全文