摘要: 探索HTTP/2系列的第四篇文章,解讀了HTTP/2流的狀態(tài),以及狀態(tài)之間的轉(zhuǎn)化。(2016.10.09最后更新) 閱讀全文
2013年7月14日 #
摘要: 在本系列的第一篇文章中已經(jīng)介紹了HTTP 2協(xié)議,本文則將簡述用于HTTP/2頭部壓縮的HPACK協(xié)議。(2016.10.01最后更新) 閱讀全文
摘要: 目前支持HTTP/2的服務(wù)器端與客戶端實(shí)現(xiàn)已有不少,本文分別以Jetty和curl作為服務(wù)器端和客戶端,描述了HTTP/2測試環(huán)境的搭建過程。本文還將使用這個(gè)測試環(huán)境去展示Jetty在實(shí)現(xiàn)HTTP/2時(shí)的一個(gè)局限和一個(gè)Bug。(2016.09.22最后更新) 閱讀全文
摘要: HTTP/2的協(xié)議包含著兩個(gè)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協(xié)議,本系列的后續(xù)文章將會(huì)涉及HPACK協(xié)議。(2016.10.13最后更新) 閱讀全文
摘要: 本文是Play OpenJDK的第二篇,介紹了如何突破JDK不允許自定義的包名以"java."開頭這一限制。這一技巧對(duì)于基于已有的JDK向java.*中添加新類還是有所幫助的。(2015.11.02最后更新) 閱讀全文
摘要: 計(jì)劃使Play OpenJDK成為一組介紹如何使用并參與OpenJDK項(xiàng)目的系列文章。本文是該系列的第一篇文章,它基于OpenJDK 8的源代碼介紹了構(gòu)建一個(gè)屬于自己的JDK方法。(2015.10.30最后更新) 閱讀全文
摘要: 本文是Java Magazine 201405/06刊中的一篇文章,也是文章系列"利用Java SE 8流處理數(shù)據(jù)"中的第二篇,它基于flatMap()和collect()介紹了Java流的高級(jí)用法(2014.08.15最后更新) 閱讀全文
摘要: 本文是Java Magazine 201403/04刊中的一篇文章,也是文章系列"利用Java SE 8流處理數(shù)據(jù)"中的第一篇,它概述了Java流的基本原理與基本應(yīng)用,是一篇很好的Java Streams API的入門文章。(2014.07.27最后更新) 閱讀全文
摘要: 本文是上周五(2014.05.02)才發(fā)布的美國2014年04月度非農(nóng)業(yè)就業(yè)報(bào)告中的概要部分,與軟件技術(shù)毫無干系。這份報(bào)告在出臺(tái)后的極短時(shí)間內(nèi)對(duì)外匯市場造成了極大影響,純粹是出于好奇看了一下這份報(bào)告,學(xué)到了不少英文行業(yè)名稱,以及英文在數(shù)字方面的用法。(2014.05.05最后更新) 閱讀全文
摘要: 本文是IBM developerWorks中的一篇介紹Java 8關(guān)鍵新特性的文章,它主要關(guān)注Lambda表達(dá)式和改進(jìn)的接口。(2014.04.19最后更新) 閱讀全文
摘要: 本文是稍早前java.net推薦的一篇博文,描述了Java流的8個(gè)有用的特性。(2014.03.02最后更新) 閱讀全文
摘要: 本文是發(fā)布在java.net上的一篇摘自于一書中的節(jié)選,介紹了使用Gradle構(gòu)建Java Web應(yīng)用的過程。剛剛接觸Gradle,看到了這篇小文,隨手譯了出來:-) (2014.01.23最后更新) 閱讀全文
摘要: 本文是Java并發(fā)基礎(chǔ)實(shí)踐系列中的一篇,介紹了最簡單的死鎖場景,并使用jstack產(chǎn)生的thread dump來查找死鎖。(2013.12.29最后更新) 閱讀全文
摘要: 在最新一期的Java Magazine中有一篇訪談,介紹了一個(gè)學(xué)習(xí)Java并發(fā)編程的動(dòng)畫應(yīng)用Java Concurrent Animated。該應(yīng)用以十分直觀的方式展示了Java并發(fā)工具包中的每一個(gè)重要組件,降低了學(xué)習(xí)Java并發(fā)編程的難度。(2013.12.07最后更新) 閱讀全文
摘要: 本系列的第三篇文章將以實(shí)現(xiàn)一個(gè)極簡單的查找最大數(shù)的任務(wù)為例,分別給出了四個(gè)版本:1.順序執(zhí)行;2.基于傳統(tǒng)的Thread.join();3.基于并發(fā)工具包的Future;4.基于JDK 7引入的Fork/Join框架。(2013.10.25最后更新) 閱讀全文
摘要: 在本系列的上一篇中講述了三種退出并發(fā)任務(wù)的方式,但都是基于JDK 5之前的API。本篇將介紹使用由JDK 5引入的java.concurrent包中的API來退出任務(wù)。(2013.10.08最后更新) 閱讀全文
摘要: 計(jì)劃寫一個(gè)"Java并發(fā)基礎(chǔ)實(shí)踐"系列,算作本人對(duì)Java并發(fā)學(xué)習(xí)與實(shí)踐的簡單總結(jié)。本文是該系列的第一篇,介紹了退出并發(fā)任務(wù)的最簡單方法。(2013.09.25最后更新) 閱讀全文
摘要: 本文是ThoughtWorks首席科學(xué)家Martin Fowler接受InformIT采訪時(shí)的訪談錄,談到了在ThoughtWorks工作的情況,對(duì)ThoughWorks感興趣的朋友們可以看看。(2013.08.23最后更新) 閱讀全文
摘要: Oracle OpenWorld 2013(上海)已經(jīng)結(jié)束,我全程參與了此次技術(shù)大會(huì)。本文是我參會(huì)的所見、所聞、所思與所感,有文,有圖,且無碼。(2013.08.03最后更新) 閱讀全文
摘要: 最近有點(diǎn)兒閑,看了一些文章,有了一些感觸,寫成一篇小文。軟件世界真的變化很大,沒有永恒的終結(jié)者。今天的終結(jié)者,明天可能就會(huì)被別人終結(jié)。道理大家都懂,但現(xiàn)實(shí)依然很殘酷。(2013.07.29最后更新) 閱讀全文