<nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

    <bdo id="rub96"></bdo>

      1. <track id="rub96"><div id="rub96"></div></track>
        <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

            <nobr id="rub96"><address id="rub96"><big id="rub96"></big></address></nobr>
          1. <menuitem id="rub96"><strong id="rub96"><menu id="rub96"></menu></strong></menuitem>
            <dl id="rub96"><source id="rub96"><tr id="rub96"></tr></source></dl>
            1. <tbody id="rub96"><div id="rub96"></div></tbody>
              1. <bdo id="rub96"><optgroup id="rub96"></optgroup></bdo>
              2. <bdo id="rub96"><dfn id="rub96"><dd id="rub96"></dd></dfn></bdo>
                1. <option id="rub96"><source id="rub96"></source></option>
                2. <bdo id="rub96"></bdo>

                    <p id="rub96"><tr id="rub96"></tr></p>
                  1. <tbody id="rub96"></tbody>

                    <bdo id="rub96"></bdo>

                  2. <option id="rub96"><source id="rub96"></source></option>

                    <bdo id="rub96"><optgroup id="rub96"><dd id="rub96"></dd></optgroup></bdo>
                      <track id="rub96"></track>

                        <bdo id="rub96"></bdo>
                      1. <option id="rub96"><p id="rub96"><tr id="rub96"></tr></p></option>

                          <bdo id="rub96"></bdo>
                          1. <track id="rub96"></track>
                            1. <track id="rub96"></track>
                                  <bdo id="rub96"></bdo>
                                  <option id="rub96"></option>

                                      1. <track id="rub96"><span id="rub96"></span></track>

                                          <option id="rub96"></option>

                                          1. 
                                            
                                              <option id="rub96"><span id="rub96"></span></option>
                                              <bdo id="rub96"><address id="rub96"></address></bdo>
                                              <option id="rub96"><source id="rub96"></source></option>
                                                <nobr id="rub96"><address id="rub96"></address></nobr>
                                              1. <nobr id="rub96"><optgroup id="rub96"><big id="rub96"></big></optgroup></nobr>
                                                <track id="rub96"></track>

                                                <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>
                                                1. John Jiang

                                                  a cup of Java, cheers!
                                                  https://github.com/johnshajiang/blog

                                                     :: 首頁 ::  :: 聯系 :: 聚合  :: 管理 ::
                                                    131 隨筆 :: 1 文章 :: 530 評論 :: 0 Trackbacks

                                                  2016年10月8日 #

                                                       摘要: 探索HTTP/2系列的第四篇文章,解讀了HTTP/2流的狀態,以及狀態之間的轉化。(2016.10.09最后更新)  閱讀全文
                                                  posted @ 2016-10-08 21:17 John Jiang 閱讀(2353) | 評論 (0)編輯 收藏

                                                  2016年9月24日 #

                                                       摘要: 在本系列的第一篇文章中已經介紹了HTTP 2協議,本文則將簡述用于HTTP/2頭部壓縮的HPACK協議。(2016.10.01最后更新)  閱讀全文
                                                  posted @ 2016-09-24 20:29 John Jiang 閱讀(1520) | 評論 (0)編輯 收藏

                                                  2016年9月20日 #

                                                       摘要: 目前支持HTTP/2的服務器端與客戶端實現已有不少,本文分別以Jetty和curl作為服務器端和客戶端,描述了HTTP/2測試環境的搭建過程。本文還將使用這個測試環境去展示Jetty在實現HTTP/2時的一個局限和一個Bug。(2016.09.22最后更新)  閱讀全文
                                                  posted @ 2016-09-20 16:42 John Jiang 閱讀(2956) | 評論 (1)編輯 收藏

                                                  2016年9月19日 #

                                                       摘要: 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協議,本系列的后續文章將會涉及HPACK協議。(2016.10.13最后更新)  閱讀全文
                                                  posted @ 2016-09-19 11:36 John Jiang 閱讀(2090) | 評論 (0)編輯 收藏

                                                  2015年11月1日 #

                                                       摘要: 本文是Play OpenJDK的第二篇,介紹了如何突破JDK不允許自定義的包名以"java."開頭這一限制。這一技巧對于基于已有的JDK向java.*中添加新類還是有所幫助的。(2015.11.02最后更新)  閱讀全文
                                                  posted @ 2015-11-01 20:06 John Jiang 閱讀(3486) | 評論 (0)編輯 收藏

                                                  2015年10月30日 #

                                                       摘要: 計劃使Play OpenJDK成為一組介紹如何使用并參與OpenJDK項目的系列文章。本文是該系列的第一篇文章,它基于OpenJDK 8的源代碼介紹了構建一個屬于自己的JDK方法。(2015.10.30最后更新)  閱讀全文
                                                  posted @ 2015-10-30 23:17 John Jiang 閱讀(3140) | 評論 (0)編輯 收藏

                                                  2014年8月15日 #

                                                       摘要: 本文是Java Magazine 201405/06刊中的一篇文章,也是文章系列"利用Java SE 8流處理數據"中的第二篇,它基于flatMap()和collect()介紹了Java流的高級用法(2014.08.15最后更新)  閱讀全文
                                                  posted @ 2014-08-15 19:57 John Jiang 閱讀(1901) | 評論 (2)編輯 收藏

                                                  2014年7月27日 #

                                                       摘要: 本文是Java Magazine 201403/04刊中的一篇文章,也是文章系列"利用Java SE 8流處理數據"中的第一篇,它概述了Java流的基本原理與基本應用,是一篇很好的Java Streams API的入門文章。(2014.07.27最后更新)  閱讀全文
                                                  posted @ 2014-07-27 20:54 John Jiang 閱讀(4232) | 評論 (6)編輯 收藏

                                                  2014年5月5日 #

                                                       摘要: 本文是上周五(2014.05.02)才發布的美國2014年04月度非農業就業報告中的概要部分,與軟件技術毫無干系。這份報告在出臺后的極短時間內對外匯市場造成了極大影響,純粹是出于好奇看了一下這份報告,學到了不少英文行業名稱,以及英文在數字方面的用法。(2014.05.05最后更新)  閱讀全文
                                                  posted @ 2014-05-05 00:12 John Jiang 閱讀(436) | 評論 (1)編輯 收藏

                                                  2014年4月19日 #

                                                       摘要: 本文是IBM developerWorks中的一篇介紹Java 8關鍵新特性的文章,它主要關注Lambda表達式和改進的接口。(2014.04.19最后更新)  閱讀全文
                                                  posted @ 2014-04-19 23:48 John Jiang 閱讀(2917) | 評論 (0)編輯 收藏

                                                  2014年2月28日 #

                                                       摘要: 本文是稍早前java.net推薦的一篇博文,描述了Java流的8個有用的特性。(2014.03.02最后更新)  閱讀全文
                                                  posted @ 2014-02-28 15:25 John Jiang 閱讀(716) | 評論 (0)編輯 收藏

                                                  2014年1月23日 #

                                                       摘要: 本文是發布在java.net上的一篇摘自于一書中的節選,介紹了使用Gradle構建Java Web應用的過程。剛剛接觸Gradle,看到了這篇小文,隨手譯了出來:-) (2014.01.23最后更新)  閱讀全文
                                                  posted @ 2014-01-23 21:22 John Jiang 閱讀(13711) | 評論 (8)編輯 收藏

                                                  2013年12月29日 #

                                                       摘要: 本文是Java并發基礎實踐系列中的一篇,介紹了最簡單的死鎖場景,并使用jstack產生的thread dump來查找死鎖。(2013.12.29最后更新)  閱讀全文
                                                  posted @ 2013-12-29 20:19 John Jiang 閱讀(11358) | 評論 (1)編輯 收藏

                                                  2013年12月7日 #

                                                       摘要: 在最新一期的Java Magazine中有一篇訪談,介紹了一個學習Java并發編程的動畫應用Java Concurrent Animated。該應用以十分直觀的方式展示了Java并發工具包中的每一個重要組件,降低了學習Java并發編程的難度。(2013.12.07最后更新)  閱讀全文
                                                  posted @ 2013-12-07 17:45 John Jiang 閱讀(1949) | 評論 (1)編輯 收藏

                                                  2013年10月23日 #

                                                       摘要: 本系列的第三篇文章將以實現一個極簡單的查找最大數的任務為例,分別給出了四個版本:1.順序執行;2.基于傳統的Thread.join();3.基于并發工具包的Future;4.基于JDK 7引入的Fork/Join框架。(2013.10.25最后更新)  閱讀全文
                                                  posted @ 2013-10-23 23:27 John Jiang 閱讀(3997) | 評論 (0)編輯 收藏

                                                  2013年10月7日 #

                                                       摘要: 在本系列的上一篇中講述了三種退出并發任務的方式,但都是基于JDK 5之前的API。本篇將介紹使用由JDK 5引入的java.concurrent包中的API來退出任務。(2013.10.08最后更新)  閱讀全文
                                                  posted @ 2013-10-07 16:55 John Jiang 閱讀(3102) | 評論 (3)編輯 收藏

                                                  2013年9月21日 #

                                                       摘要: 計劃寫一個"Java并發基礎實踐"系列,算作本人對Java并發學習與實踐的簡單總結。本文是該系列的第一篇,介紹了退出并發任務的最簡單方法。(2013.09.25最后更新)  閱讀全文
                                                  posted @ 2013-09-21 19:11 John Jiang 閱讀(1823) | 評論 (0)編輯 收藏

                                                  2013年8月22日 #

                                                       摘要: 本文是ThoughtWorks首席科學家Martin Fowler接受InformIT采訪時的訪談錄,談到了在ThoughtWorks工作的情況,對ThoughWorks感興趣的朋友們可以看看。(2013.08.23最后更新)  閱讀全文
                                                  posted @ 2013-08-22 14:43 John Jiang 閱讀(7873) | 評論 (3)編輯 收藏

                                                  2013年8月2日 #

                                                       摘要: Oracle OpenWorld 2013(上海)已經結束,我全程參與了此次技術大會。本文是我參會的所見、所聞、所思與所感,有文,有圖,且無碼。(2013.08.03最后更新)  閱讀全文
                                                  posted @ 2013-08-02 11:50 John Jiang 閱讀(1409) | 評論 (0)編輯 收藏

                                                  2013年7月14日 #

                                                       摘要: 最近有點兒閑,看了一些文章,有了一些感觸,寫成一篇小文。軟件世界真的變化很大,沒有永恒的終結者。今天的終結者,明天可能就會被別人終結。道理大家都懂,但現實依然很殘酷。(2013.07.29最后更新)  閱讀全文
                                                  posted @ 2013-07-14 11:15 John Jiang 閱讀(2043) | 評論 (3)編輯 收藏

                                                  僅列出標題  下一頁
                                                  精准平特三肖
                                                  <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                  <bdo id="rub96"></bdo>

                                                    1. <track id="rub96"><div id="rub96"></div></track>
                                                      <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                          <nobr id="rub96"><address id="rub96"><big id="rub96"></big></address></nobr>
                                                        1. <menuitem id="rub96"><strong id="rub96"><menu id="rub96"></menu></strong></menuitem>
                                                          <dl id="rub96"><source id="rub96"><tr id="rub96"></tr></source></dl>
                                                          1. <tbody id="rub96"><div id="rub96"></div></tbody>
                                                            1. <bdo id="rub96"><optgroup id="rub96"></optgroup></bdo>
                                                            2. <bdo id="rub96"><dfn id="rub96"><dd id="rub96"></dd></dfn></bdo>
                                                              1. <option id="rub96"><source id="rub96"></source></option>
                                                              2. <bdo id="rub96"></bdo>

                                                                  <p id="rub96"><tr id="rub96"></tr></p>
                                                                1. <tbody id="rub96"></tbody>

                                                                  <bdo id="rub96"></bdo>

                                                                2. <option id="rub96"><source id="rub96"></source></option>

                                                                  <bdo id="rub96"><optgroup id="rub96"><dd id="rub96"></dd></optgroup></bdo>
                                                                    <track id="rub96"></track>

                                                                      <bdo id="rub96"></bdo>
                                                                    1. <option id="rub96"><p id="rub96"><tr id="rub96"></tr></p></option>

                                                                        <bdo id="rub96"></bdo>
                                                                        1. <track id="rub96"></track>
                                                                          1. <track id="rub96"></track>
                                                                                <bdo id="rub96"></bdo>
                                                                                <option id="rub96"></option>

                                                                                    1. <track id="rub96"><span id="rub96"></span></track>

                                                                                        <option id="rub96"></option>

                                                                                        1. 
                                                                                          
                                                                                            <option id="rub96"><span id="rub96"></span></option>
                                                                                            <bdo id="rub96"><address id="rub96"></address></bdo>
                                                                                            <option id="rub96"><source id="rub96"></source></option>
                                                                                              <nobr id="rub96"><address id="rub96"></address></nobr>
                                                                                            1. <nobr id="rub96"><optgroup id="rub96"><big id="rub96"></big></optgroup></nobr>
                                                                                              <track id="rub96"></track>

                                                                                              <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>
                                                                                                <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                                                                <bdo id="rub96"></bdo>

                                                                                                  1. <track id="rub96"><div id="rub96"></div></track>
                                                                                                    <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                                                                        <nobr id="rub96"><address id="rub96"><big id="rub96"></big></address></nobr>
                                                                                                      1. <menuitem id="rub96"><strong id="rub96"><menu id="rub96"></menu></strong></menuitem>
                                                                                                        <dl id="rub96"><source id="rub96"><tr id="rub96"></tr></source></dl>
                                                                                                        1. <tbody id="rub96"><div id="rub96"></div></tbody>
                                                                                                          1. <bdo id="rub96"><optgroup id="rub96"></optgroup></bdo>
                                                                                                          2. <bdo id="rub96"><dfn id="rub96"><dd id="rub96"></dd></dfn></bdo>
                                                                                                            1. <option id="rub96"><source id="rub96"></source></option>
                                                                                                            2. <bdo id="rub96"></bdo>

                                                                                                                <p id="rub96"><tr id="rub96"></tr></p>
                                                                                                              1. <tbody id="rub96"></tbody>

                                                                                                                <bdo id="rub96"></bdo>

                                                                                                              2. <option id="rub96"><source id="rub96"></source></option>

                                                                                                                <bdo id="rub96"><optgroup id="rub96"><dd id="rub96"></dd></optgroup></bdo>
                                                                                                                  <track id="rub96"></track>

                                                                                                                    <bdo id="rub96"></bdo>
                                                                                                                  1. <option id="rub96"><p id="rub96"><tr id="rub96"></tr></p></option>

                                                                                                                      <bdo id="rub96"></bdo>
                                                                                                                      1. <track id="rub96"></track>
                                                                                                                        1. <track id="rub96"></track>
                                                                                                                              <bdo id="rub96"></bdo>
                                                                                                                              <option id="rub96"></option>

                                                                                                                                  1. <track id="rub96"><span id="rub96"></span></track>

                                                                                                                                      <option id="rub96"></option>

                                                                                                                                      1. 
                                                                                                                                        
                                                                                                                                          <option id="rub96"><span id="rub96"></span></option>
                                                                                                                                          <bdo id="rub96"><address id="rub96"></address></bdo>
                                                                                                                                          <option id="rub96"><source id="rub96"></source></option>
                                                                                                                                            <nobr id="rub96"><address id="rub96"></address></nobr>
                                                                                                                                          1. <nobr id="rub96"><optgroup id="rub96"><big id="rub96"></big></optgroup></nobr>
                                                                                                                                            <track id="rub96"></track>

                                                                                                                                            <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>
                                                                                                                                            1. 白小姐资枓一肖中特期期准 快乐扑克计划 云南快乐十分胆拖复式金额表 北京时时在线开奖 青海快3走势图今天快3 重庆时时单双窍门 买马开奖结果今天晚上 快3开奖结果查询河北 下载彩票app送18盈利可提现 大乐透单期走势图 老重庆时时开彩 单机版梭哈破解版 五分赛计划软件 安徽快三走势图基本图走势 l老时时开奖号码 江苏7位数开奖结果查