Java

Java Programming,About I know
JVM知识点题目
     摘要: JVM是Java程序的运行环境,因此对于JVM的掌握有助于理解Java程序的执行以及编写,尤其是运行时碰到的一些诡异问题,那么怎么样能考察自己对于JVM关键知识点的掌握情况,帮助学习JVM机制呢,在这篇blog中来探讨下。  阅读全文

posted @ 2009-03-27 14:30 BlueDavy 阅读(3960) | 评论 (6)  编辑

一段好玩的测试LinkedBlockingQueue.poll超时的程序
     摘要: 在产品中有碰到过使用LinkedBlockingQueue.poll时超时很不准的现象,关键是这不是一般的不准,如果只是一点点不准的话也就勉强接受了,例如指定poll的超时时间为100ms,但最终执行.poll这段代码就花费了8000ms的现象,这篇blog就是展示下通过一段小小的代码来重现这样的现象,毕竟没有重现是无法证明为什么会出现这样的现象的。  阅读全文

posted @ 2009-03-12 16:52 BlueDavy 阅读(2773) | 评论 (4)  编辑

Garbage First介绍
     摘要: 本文摘自《构建高性能的大型分布式Java应用》一书,Garbage First简称G1,它的目标是要做到尽量减少GC所导致的应用暂停的时间,让应用达到准实时的效果,同时保持JVM堆空间的利用率,将作为CMS的替代者在JDK 7中闪亮登场,其最大的特色在于允许指定在某个时间段内GC所导致的应用暂停的时间最大为多少,例如在100秒内最多允许GC导致的应用暂停时间为1秒,这个特性对于准实时响应的系统而言非常的吸引人,这样就再也不用担心系统突然会暂停个两三秒了。  阅读全文

posted @ 2009-03-11 22:18 BlueDavy 阅读(2999) | 评论 (2)  编辑

提前N久的揭秘:《构建高性能的大型分布式Java应用》书的大概内容
     摘要: 记得自己在没有进入互联网行业之前,对于互联网行业并不怎么感冒,总觉得互联网行业的技术含量不高,没什么意思,值得进入互联网行业了,才明白,原来互联网行业的技术是这么的复杂,这么的困难,而构建一个拥有巨大用户量的系统无疑也会给自己带来更多的成就感,记得自己刚进入互联网行业的时候,才发现构建一个高并发、高性能、承受高压力、高度可伸缩以及高可用性的系统要掌握的知识体系是在太多了,而且这些知识体系根本就不是在学校或是google、网络中能够学习到的,于是当时就想,如果能有一本书全面的介绍构建这”五高“特性的系统需要掌握的知识体系,那将是多么的美好呀,毕竟很多的知识体系都是靠经验积累出来的,甚至可是说,是痛苦的教训等得出来的,但当然,要在一本书中完全讲清楚所有的知识体系,自然是不靠谱的,但我想我会尽量在书中表达出自己的一些观点、看法以及少少的经验吧,希望能够让更多的同学即使没有大型系统的实际经验,也能掌握到一些大型系统所需的知识体系,那么我心甚慰了,由于本书需要写的东西非常的多,预计在9月底完成写作,估计要到明年春节后上市,:),以下先揭秘下本书的大概内容,也请大家多多提出意见。  阅读全文

posted @ 2009-03-06 09:15 BlueDavy 阅读(3849) | 评论 (12)  编辑

Java应用从集中式步入分布式
     摘要: 记得Martin大叔在《企业应用架构模式》中特别强调:“能够不分布式的应用就不要分布式”,这句话没什么问题,尤其对于做过分布式应用的人而言,就更会有深刻的体会了,但这个世界偏偏就没有那么简单,大多数人都会碰到分布式应用的场景,尤其是对于大型应用而言,从集中式步入分布式是不可避免的,只是也许是小型分布式的,也许是大型分布式的;也许是有高性能要求的,也许是没有的,在这篇blog中我们来看看java应用从集中式步入分布式后到底会带来些什么挑战。  阅读全文

posted @ 2009-01-04 17:12 BlueDavy 阅读(3893) | 评论 (11)  编辑

调试代码是一种乐趣
     摘要: 近来连续调试了好几天的代码,乐趣无穷,:),在纯净的人和机器对话的时间中,充分的和机器不断的交流,最终共同实现功能,和同事说:“我喜爱调试代码胜过了写代码”,怎么说呢,我觉得调试代码能够充分让你将所掌握的知识发挥出来,考察自己解决问题的能力以及学习知识的能力,在这篇blog中来闲聊下调试代码。  阅读全文

posted @ 2008-11-18 23:49 BlueDavy 阅读(3853) | 评论 (4)  编辑

java知识片段
     摘要: 在面试中,经常要评估面试者的java基础知识和其他知识的掌握情况,包括public/private/protected/默认修饰符、static/final修饰符、集合、字符串操作、对象比较、异常、设计模式和面试者经常使用的框架等,整理一下自己经常使用的评估方法,:),抛砖中,希望能看到一些好的建议,让大家更好的学习java知识,同时也更好的判断人才,挖出真正的“金子”。  阅读全文

posted @ 2008-10-16 23:41 BlueDavy 阅读(4611) | 评论 (16)  编辑

JBoss Remoting 2.2.2里的一个Bug
     摘要: 在JBoss Remoting 2.2.2中存在这么一个bug,如果刚好客户端的timeout比服务器端处理时间短的话,就会出现客户端连接池中的连接被无故用掉一个的状况,而且是没法回收的,最终就会导致很快客户端的连接池被占满的现象,在分析JBoss Remoting 2.2.2的代码后发现了问题的所在,同时查看了下JBoss Remoting 2.4的代码,发现在2.4中此bug已被修复。  阅读全文

posted @ 2008-06-30 18:46 BlueDavy 阅读(3447) | 评论 (0)  编辑

Java并发编程基础知识片段
     摘要: Java 5并发包的加入,给Java的并发程序的开发带来了很多的好处,在此列举一些并发编程中应该掌握的一些基础知识片断,这些片断基本都是由一些问题组成,在片段中没有直接写出答案,由于可用来解决这些片段的方法还是很多的,因此只是提到了解决问题可选方案的关键字,如果有需要进一步了解的话,基本上 google一下应该就能查出来了,不过就像之前有朋友说的,如果不是经常用的话,其实就算现在知道了也是会忘记的,这很正常,:),不过我更认为那是因为知其然而不知其所以然造成的,很多东西如果知道原理的话,基本上还是可以记得很长一段时间的。  阅读全文

posted @ 2008-06-20 01:29 BlueDavy 阅读(5459) | 评论 (4)  编辑

《面向软件错误构建可靠的分布式系统》读后感
     摘要: 这篇文档是erlang创始者之一的Joe Armstrong所编写的博士论文,由段先德翻译、邓辉审校,感兴趣的同学可以从以下地址下载:
http://erlang-china.org/study/joe-armstrong_thesis_cn.html
Erlang在业界已经引起了不小的轰动,通读了下这篇博士论文,翻译的质量很高,:),所以读起来非常的顺畅,论文的内容对于erlang初学者而言绝对是堪称经典,写的非常的不错,点出了erlang的强项并详细的进行了解释,感谢翻译论文的段先德和邓辉的工作。
Erlang以天生的支持并发、分布式和容错而闻名,由于erlang的诞生是为交换机而服务的,因此在并发、分布式、容错、动态代码升级等方面是实现的非常好的,其目前主要是应用在erission的交换机上,这对于erlang的那些天生的特性也是个很好的证明。
通过阅读这篇博士论文,让我对了erlang有了部分的认识,由于目前尚未实践过,只能根据论文本身对自己理解的erlang做个阐述。
Erlang采用的是虚拟机的方式,这个虚拟机和java的虚拟机类似  阅读全文

posted @ 2007-11-25 19:00 BlueDavy 阅读(2234) | 评论 (1)  编辑

SQLUnit quick start guide
     摘要: SQLUnit是一个用于对存储过程进行单元测试的工具,其实也可以用于做针对数据库数据、性能的测试等,延续了xUnit家族的一贯特性和风格,只不过它的测试是以xml的方式来编写,但原则仍然和xUnit家族其他产品一样,强调的是输出和预期的比较,SQLUnit的文档比较的少,由于官方站上并没有提供类似其他开源工具的quick start guide,就写了这篇quick start guide以便大家快速的使用sqlunit,至于SQLUnit的高级用法还是得去多看看sqlunit.sf.net官方站上的文档。
为了让大家能快速的开始入门使用SQLUnit,将介绍SQLUnit环境的搭建、如何编写一个单元测试、如何运行。

  阅读全文

posted @ 2007-11-08 16:59 BlueDavy 阅读(2240) | 评论 (0)  编辑

java调用Oracle EXP备忘
     摘要: 一眼看过去相信大家都知道用Runtime.getRuntime().exec来调用,我的需求就是:
调用Oracle EXP命令完成备份,并返回生成的备份文件名,这个备份文件会很快在其他的地方被使用。
采用Runtime.getRuntime().exec我们都知道,需要处理它的InputStream,以避免出现执行的命令输出的信息过多使得进程被堵死,OK,按照这样的方法写出来的代码执行后却碰到了问题.....  阅读全文

posted @ 2006-11-22 22:43 BlueDavy 阅读(3226) | 评论 (8)  编辑

备忘:解决ajax获取页面直接显示乱码的方法
     摘要: 大家都知道,xmlhttp在通信时采用的是utf编码,而国内很多网页的信息都是采用gbk编码,所以当直接通过ajax去连接网页,并将获取到的信息直接显示的话就会出现乱码的现象,有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息),在这种时候就只能在客户端通过js做编码的工作了,下面这段js就是用于将服务器端返回的gbk编码字符串转换为utf编码字符串:  阅读全文

posted @ 2006-08-15 11:04 BlueDavy 阅读(3982) | 评论 (10)  编辑

缓存漫谈
     摘要: 缓存是在提升系统响应时常用的一种技术,在我之前的blog中也提及过好几次这部分的技术,今天还是想从缓存涉及的一些方面再次的去谈谈,在系统缓存上通常采用的是有页面缓存、处理缓存和数据缓存这三种具体的类别,应该说这三种缓存在实现上还是稍有不同,尽管底层的缓存实现是一样的。  阅读全文

posted @ 2006-06-02 23:38 BlueDavy 阅读(3260) | 评论 (9)  编辑

Foundations Of Ajax读后感
     摘要: Foundations Of Ajax,Ajax领域中的经典书籍,还是决定看看,今天趁有些时间便翻阅了一下,总体而言,这本书写的还是不错的,在douban上我写了这么一段评价:“对于ajax新手而言,这绝对是本好书,可以快速的让你了解ajax涉及的技术,如何去使用ajax以及ajax的一些缺点;对于ajax老手来说,这本书固然有些简单,但我相信会带给你更加系统化的ajax知识。”  阅读全文

posted @ 2006-05-23 21:20 BlueDavy 阅读(2099) | 评论 (1)  编辑

Full Java Archive

公告




feedsky
抓虾
google reader
鲜果

导航

<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜

60天内阅读排行