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 阅读(3008) | 评论 (0)  编辑

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

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

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

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

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

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

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

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

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

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

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

     摘要: 在使用JUnit的过程中,大家可能会对JUnit进行一些扩展。本文中的示例为JUnit4定义了一个新的Annotation,并相应地对已有的Runner进行扩展,使其能够解析新引入的Annotation。(2011.12.25最后更新)  阅读全文
posted @ 2011-12-14 00:01 John Jiang 阅读(3031) | 评论 (4)  编辑

     摘要: 大家肯定都用过Eclipse的调试的功能,在调试的过程中自然也无法避免要使用断点(breakpoint),但不知是否对Eclipse中各类断点都有所了解。本篇图文并茂地介绍了Eclipse中全部类型的断点,及其设置,希望对大家有所帮助。(2011.11.20)  阅读全文
posted @ 2011-11-20 20:57 John Jiang 阅读(21103) | 评论 (13)  编辑

     摘要: 在开发一个新浪微博客Swing户端的过程中希望能展现不规则的窗体界面,原来JDK 6 update 10提供了创建指定形状窗体的特性,简单易用,记于此处。(2010.05.31最后更新)  阅读全文
posted @ 2011-05-31 20:46 John Jiang 阅读(1972) | 评论 (0)  编辑

     摘要: 本文是我参加JavaOne与Oracle开发者大会(北京)第二天活动的一些见闻与感受,有图有真相,希望大家能喜欢。(2010.12.16最后更新)  阅读全文
posted @ 2010-12-16 20:52 John Jiang 阅读(1491) | 评论 (9)  编辑

     摘要: 自从Sun被Oracle收购之后,往常一年一度的SunTechDays就离我们而去了,但它以另一种形式--JavaOne与Oracle开发者大会 (北京)--回到了我们的身边。本次大会即将在下周开幕,在此之前请允许我先列举一下我个人感兴趣的若干主题。(2010.12.12最后更新)  阅读全文
posted @ 2010-12-12 20:55 John Jiang 阅读(1948) | 评论 (2)  编辑

     摘要: 当在加载数据(或其它耗时工作)时,需要显示一个进度指示面板,本文介绍了一种简易的实现方式。(2009.11.30最后更新)  阅读全文
posted @ 2009-11-29 20:33 John Jiang 阅读(2187) | 评论 (5)  编辑

     摘要: 今年的Sun科技日(中国站)将无法举办,最新一届Sun科技日将在2010年4月29-30日举行。(2009.10.23最后更新)  阅读全文
posted @ 2009-10-22 12:20 John Jiang 阅读(1309) | 评论 (4)  编辑

     摘要: 本文使用SwingX与TimingFramework展示了如何实现淡入淡出效果,程序简洁实用,希望对大家能有所助益。(2009.09.28最后更新)  阅读全文
posted @ 2009-09-28 09:46 John Jiang 阅读(1988) | 评论 (0)  编辑

     摘要: CheckBox Tree是一个十分常用的UI组件,它能使用户方便地按特定规则勾选树中的节点。本文实现了一种简单的Checking规则:当勾选了某节点后,该节点的所有下级节点全部被勾选;当取消勾选某节点后,该节点的所有下级节点全部被取消勾选。(2009.08.05最后更新)  阅读全文
posted @ 2009-08-05 21:10 John Jiang 阅读(5397) | 评论 (3)  编辑

     摘要: 继上次浅谈了树的遍历之后,这次再浅谈一下树的汇总。此处的汇总是指将树中某个节点的数据按指定的规则汇集到它的父节点中。例如,可以将树节点中的数值累加到它的父节点中。仍如树的遍历一文,我将使用两种简单的算法,递归与和迭代,来实现这一功能。(2009.08.09最后更新)  阅读全文
posted @ 2009-06-26 07:11 John Jiang 阅读(1869) | 评论 (0)  编辑

     摘要: 之前的工作都没有接触到树,也就很少研究它。幸运地的是,在目前的工作中多次遇到树型结构的数据,那么访问树节点中的数据就是必然的了,而且还需要按照指定规则对节点中的数据进行额外处理。经过学习之后,对与树相关的基本算法有了一些认知,就计划写几篇小文。其实这样的文章早已是汗牛充栋,而我只是把它当作我的学习总结罢了,以加深记忆与理解,如能对其他朋友有所助益,则更感愉悦了 :-) (2009.04.03最后更新)  阅读全文
posted @ 2009-04-01 20:40 John Jiang 阅读(5283) | 评论 (4)  编辑

     摘要: 今年Sun科技日会场的一些照片,大家可以浏览一下。(2008.11.23最后更新)  阅读全文
posted @ 2008-11-23 22:37 John Jiang 阅读(1294) | 评论 (5)  编辑

     摘要: 一年一度的Sun Tech Days(STD)又将开幕了,本文简介了本届STD中我所期待的若干主题,有兴趣的朋友可以浏览一下。(2008.11.16最后更新)  阅读全文
posted @ 2008-11-16 11:06 John Jiang 阅读(1414) | 评论 (9)  编辑

     摘要: 在经过了漫长的期待之后,Java SE 6 Update 10终于正式发布了。本文主要简介了该版本在客户端应用方面的改进。(2008.10.18最后更新)  阅读全文
posted @ 2008-10-17 21:37 John Jiang 阅读(2265) | 评论 (7)  编辑

     摘要: 本文以一个示例介绍了如何利用JStockChart生成金融时序图。(2009.11.23最后更新)  阅读全文
posted @ 2008-09-08 16:12 John Jiang 阅读(3999) | 评论 (15)  编辑

     摘要: JStockChart是一款简单但实用的开源图表工具,是对JFreeChart的扩展,仅关注于金融时序图与K线图。(2008.08.29最后更新)  阅读全文
posted @ 2008-08-28 17:11 John Jiang 阅读(4695) | 评论 (57)  编辑

     摘要: 如何判定一个点P是否存在于指定的三角形ABC内,这肯定是一个简单的问题,本文仅用一个图形界面程序展示了该问题,有兴趣的朋友可以看看。(2008.07.24最后更新)  阅读全文
posted @ 2008-07-24 17:02 John Jiang 阅读(7868) | 评论 (13)  编辑

     摘要: Sun Tech Days 2007(北京站)已经结束了,趁热打铁,在此把本次会议中我的所见、所闻、所思与所得记录下来。本文是关于我在Sun Tech Days第二天中的见闻思得以及总结。(2007.11.10最后更新)  阅读全文
posted @ 2007-11-08 08:39 John Jiang 阅读(1561) | 评论 (12)  编辑

     摘要: Sun Tech Days 2007(北京站)已经结束了,趁热打铁,在此把本次会议中我的所见、所闻、所思与所得记录下来。本文是关于我在Sun Tech Days第一天中的见闻思得。(2007.11.10最后更新)  阅读全文
posted @ 2007-11-06 09:15 John Jiang 阅读(1335) | 评论 (10)  编辑

     摘要: 一年一度的Sun Tech Days又将开幕了,本文回顾了我前两年参会的体验,并分析了本次会议中我个人所感兴趣的几个主题。(2007.10.12最后更新)  阅读全文
posted @ 2007-10-30 16:28 John Jiang 阅读(1778) | 评论 (14)  编辑

     摘要: 最近由于工作原因,在RedHat AS 4.0上安装了Apache2+MySQL5+PHP5。现将安装使用的命令记录,以备日后查询,也希望对其他朋友有帮助。(2007.10.17最后更新)  阅读全文
posted @ 2007-01-02 13:48 John Jiang 阅读(1378) | 评论 (2)  编辑

     摘要: 本文将使用一个较复杂的实例,讲述如何定制目录布局(即不使用Maven标准目录布局),以及讲述一些关键插件的使用(配置)。(2007.01.02最后更新)  阅读全文
posted @ 2006-12-12 18:03 John Jiang 阅读(12677) | 评论 (21)  编辑

     摘要: 本文是Maven常用插件的收集,对于较复杂的使用会给出实例。每个插件都将以groupId:artifactId的形式列出。但本文主要关注非Maven官方管理的插件,如codehause.org的插件。(2007.02.13最后更新)  阅读全文
posted @ 2006-11-24 17:50 John Jiang 阅读(3213) | 评论 (1)  编辑

     摘要: 本文虽然是Continuum的入门,但并不涉及Continuum的历史、下载与安装,这些内容可以到 Continuum的官方网站上了解。本文主要是以一个实例来阐述使用 Continuum的基本方法,而其中将使用的Maven工程是《Maven入门--概念与实例》中的实例(该文末有下载链接)。  阅读全文
posted @ 2006-09-09 11:32 John Jiang 阅读(6064) | 评论 (10)  编辑

     摘要: 最近由于工作原因在研究、应用Maven,有了一些体会就写成了此文。本文虽然是Maven2的入门文章,但并不涉及Maven的历史、下载与安装,这些内容可以到Maven的官方网站上了解。本文主要是关注Maven中的重要概念,并以一个实例来阐述使用Maven的基本方法。文末有例子代码下载的链接。(2007.01.02最后更新)  阅读全文
posted @ 2006-09-01 13:43 John Jiang 阅读(56541) | 评论 (29)  编辑

     摘要: 本人安装MySQL Server 5.0的过程与体会,希望对大家有帮助。  阅读全文
posted @ 2006-08-12 09:10 John Jiang 阅读(656) | 评论 (0)  编辑

     摘要: 因工作原由,这一段时间学习了在Linux上安装Oracle。在这一过程中有不少的收获,写出此文与大家共享。不同版本Oracle的安装应该没有本质上的区别,本文也可供大家在安装Oracle9.2和Oracle10.2时进行参考。
其实我对Linux和Oracle都不熟悉,在实际的安装过程中,还有许多不明白的地方,经常是“知其然,而不知其所以然”。如,为什么要配置kernel参数?相关kernel参数分别有什么作用?设置临时交换空间所用的命令dd的功能是什么?......希望有朋友能够针对其中的问题进行解答。如果文中有什么错误,也请大家指正。
  阅读全文
posted @ 2006-08-11 17:06 John Jiang 阅读(6628) | 评论 (0)  编辑