John Jiang

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

   :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  131 随笔 :: 1 文章 :: 530 评论 :: 0 Trackbacks

原创

     摘要: 探索HTTP/2系列的第四篇文章,解读了HTTP/2流的状态,以及状态之间的转化。(2016.10.09最后更新)  阅读全文
posted @ 2016-10-08 21:17 John Jiang 阅读(3005) | 评论 (0)  编辑

     摘要: 在本系列的第一篇文章中已经介绍了HTTP 2协议,本文则将简述用于HTTP/2头部压缩的HPACK协议。(2016.10.01最后更新)  阅读全文
posted @ 2016-09-24 20:29 John Jiang 阅读(2524) | 评论 (0)  编辑

     摘要: 目前支持HTTP/2的服务器端与客户端实现已有不少,本文分别以Jetty和curl作为服务器端和客户端,描述了HTTP/2测试环境的搭建过程。本文还将使用这个测试环境去展示Jetty在实现HTTP/2时的一个局限和一个Bug。(2016.09.22最后更新)  阅读全文
posted @ 2016-09-20 16:42 John Jiang 阅读(4407) | 评论 (1)  编辑

     摘要: 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 阅读(2645) | 评论 (0)  编辑

     摘要: 本文是Play OpenJDK的第二篇,介绍了如何突破JDK不允许自定义的包名以"java."开头这一限制。这一技巧对于基于已有的JDK向java.*中添加新类还是有所帮助的。(2015.11.02最后更新)  阅读全文
posted @ 2015-11-01 20:06 John Jiang 阅读(3802) | 评论 (0)  编辑

     摘要: 计划使Play OpenJDK成为一组介绍如何使用并参与OpenJDK项目的系列文章。本文是该系列的第一篇文章,它基于OpenJDK 8的源代码介绍了构建一个属于自己的JDK方法。(2015.10.30最后更新)  阅读全文
posted @ 2015-10-30 23:17 John Jiang 阅读(3496) | 评论 (0)  编辑

     摘要: 本文是Java并发基础实践系列中的一篇,介绍了最简单的死锁场景,并使用jstack产生的thread dump来查找死锁。(2013.12.29最后更新)  阅读全文
posted @ 2013-12-29 20:19 John Jiang 阅读(12259) | 评论 (1)  编辑

     摘要: 本系列的第三篇文章将以实现一个极简单的查找最大数的任务为例,分别给出了四个版本:1.顺序执行;2.基于传统的Thread.join();3.基于并发工具包的Future;4.基于JDK 7引入的Fork/Join框架。(2013.10.25最后更新)  阅读全文
posted @ 2013-10-23 23:27 John Jiang 阅读(4222) | 评论 (0)  编辑

     摘要: 在本系列的上一篇中讲述了三种退出并发任务的方式,但都是基于JDK 5之前的API。本篇将介绍使用由JDK 5引入的java.concurrent包中的API来退出任务。(2013.10.08最后更新)  阅读全文
posted @ 2013-10-07 16:55 John Jiang 阅读(3282) | 评论 (3)  编辑

     摘要: 计划写一个"Java并发基础实践"系列,算作本人对Java并发学习与实践的简单总结。本文是该系列的第一篇,介绍了退出并发任务的最简单方法。(2013.09.25最后更新)  阅读全文
posted @ 2013-09-21 19:11 John Jiang 阅读(2020) | 评论 (0)  编辑

     摘要: Oracle OpenWorld 2013(上海)已经结束,我全程参与了此次技术大会。本文是我参会的所见、所闻、所思与所感,有文,有图,且无码。(2013.08.03最后更新)  阅读全文
posted @ 2013-08-02 11:50 John Jiang 阅读(1601) | 评论 (0)  编辑

     摘要: 最近有点儿闲,看了一些文章,有了一些感触,写成一篇小文。软件世界真的变化很大,没有永恒的终结者。今天的终结者,明天可能就会被别人终结。道理大家都懂,但现实依然很残酷。(2013.07.29最后更新)  阅读全文
posted @ 2013-07-14 11:15 John Jiang 阅读(2224) | 评论 (3)  编辑

     摘要: 关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相关文章和其它网络资料,也加入了自己的实践经验与理解,文、码并茂,希望对大家有所帮助。(2012.02.14最后更新)  阅读全文
posted @ 2012-02-13 23:22 John Jiang 阅读(61352) | 评论 (20)  编辑

     摘要: 本文是"探索JUnit4扩展"系列中的第三篇,将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。(2012.01.04最后更新)  阅读全文
posted @ 2012-01-04 00:13 John Jiang 阅读(2351) | 评论 (3)  编辑

     摘要: 在上一篇文章《探索JUnit4扩展:扩展Runner》中,讨论了一种扩展JUnit4的方式,即,直接修改Test Runner的实现(BlockJUnit4ClassRunner)。但这种方法显然不便于灵活地添加或删除扩展功能。本文将使用JUnit4.7才开始引入的扩展方式--Rule来实现相同的扩展功能。(2010.12.25最后更新)  阅读全文
posted @ 2011-12-24 23:26 John Jiang 阅读(2334) | 评论 (0)  编辑

Full 原创 Archive