﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-BlueDavy之技术Blog-随笔分类-Java</title><link>http://www.blogjava.net/BlueDavy/category/1366.html</link><description>理论不懂就实践，实践不会就学理论！</description><language>zh-cn</language><lastBuildDate>Tue, 25 May 2010 01:56:42 GMT</lastBuildDate><pubDate>Tue, 25 May 2010 01:56:42 GMT</pubDate><ttl>60</ttl><item><title>关于《分布式Java应用：基础与实践》一书</title><link>http://www.blogjava.net/BlueDavy/archive/2010/05/25/321796.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Tue, 25 May 2010 01:49:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/05/25/321796.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/321796.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/05/25/321796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/321796.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/321796.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这本书就是之前blog上写的《构建高性能的大型分布式Java应用》一书，书稿完成后，觉得本书更多的仍然是偏向讲解分布式Java应用的基础知识，以及我个人工作经验的一些分享，于是改名成了《分布式Java应用：基础与实践》，本书目前已送往印刷厂印刷，下面是目前的一些关于本书的信息：<br>1、封面和目录<br>      http://bluedavy.com/?p=55<br>2、序<br>      http://bluedavy.com/?p=60<br>3、豆瓣上书的信息<br>      http://book.douban.com/subject/4848587/&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/05/25/321796.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/321796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-05-25 09:49 <a href="http://www.blogjava.net/BlueDavy/archive/2010/05/25/321796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>杭州程序员圆桌交流第二期视频</title><link>http://www.blogjava.net/BlueDavy/archive/2010/04/30/319794.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 30 Apr 2010 05:16:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/04/30/319794.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/319794.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/04/30/319794.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/319794.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/319794.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本次交流在4月24日圆满完成，主题为关于JVM的那些事，撒迦@rednaxelafx给大家做了一个长达四小时的精彩分享，涵盖了javac、解释执行、c1、c2编译执行方面的知识点。<br><br>由于视频太大，感兴趣的同学请从以下地址下载，自行观看，:)，也欢迎看完后在twitter上，或在这里来进行讨论，blog迁移到了bluedavy.com，地址在此：http://bluedavy.com/?p=36&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/04/30/319794.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/319794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-04-30 13:16 <a href="http://www.blogjava.net/BlueDavy/archive/2010/04/30/319794.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第一次杭州程序员交流会总结</title><link>http://www.blogjava.net/BlueDavy/archive/2010/03/22/316148.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Mon, 22 Mar 2010 05:11:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/03/22/316148.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/316148.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/03/22/316148.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/316148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/316148.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: blog开始转移到www.bluedavy.com，因此感兴趣的同学请访问http://bluedavy.com/?p=18&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/03/22/316148.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/316148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-03-22 13:11 <a href="http://www.blogjava.net/BlueDavy/archive/2010/03/22/316148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>杭州程序员圆桌交流第一期–并发编程PPT</title><link>http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 19 Mar 2010 15:57:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/315989.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/315989.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/315989.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 由阿里云龙浩同学牵头的杭州程序员圆桌交流，第一期主题为并发编程，把自己的经验也分享下，在活动结束后会公开此次交流的资料，具体PPT请见文中。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/315989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2010-03-19 23:57 <a href="http://www.blogjava.net/BlueDavy/archive/2010/03/19/315989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GCLogViewer(tool to visualize gc log) V0.2 Release</title><link>http://www.blogjava.net/BlueDavy/archive/2009/12/03/304597.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 03 Dec 2009 05:32:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/12/03/304597.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/304597.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/12/03/304597.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/304597.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/304597.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: In product env,we always need to monitor gc trend or tunning gc based on gc trend,before sun jdk 1.6+,we can use GCViewer to visualize gc log to see gc trend,but it not support jdk 1.6+,so I write a free open source tool to visualize gc log produced by sun jdk 1.6+,now V 0.2 release,If you need,pls download from http://code.google.com/p/gclogviewer/.&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/12/03/304597.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/304597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-12-03 13:32 <a href="http://www.blogjava.net/BlueDavy/archive/2009/12/03/304597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Simple Scala actor Vs java Thread Vs Kilim Test</title><link>http://www.blogjava.net/BlueDavy/archive/2009/11/25/303662.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Wed, 25 Nov 2009 09:23:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/11/25/303662.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/303662.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/11/25/303662.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/303662.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/303662.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: In this blog,I'll test the coroutine supported on jvm,now famous is scala actor & kilim,this blog show the program reliazed with scala actor/kilim/java,let's compare these three program performance.&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/11/25/303662.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/303662.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-11-25 17:23 <a href="http://www.blogjava.net/BlueDavy/archive/2009/11/25/303662.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《构建高性能的大型分布式Java应用》目录&amp;试读样章</title><link>http://www.blogjava.net/BlueDavy/archive/2009/11/06/301448.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 06 Nov 2009 07:23:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/11/06/301448.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/301448.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/11/06/301448.html#Feedback</comments><slash:comments>44</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/301448.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/301448.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本书预计共八章，目前完成五章，由于本书需要涵盖Java分布式应用、高性能java应用、可伸缩的java应用以及高可用java应用四方面的知识点，编写的难度不小，因此在此先行放出目录和样章，希望能够得到大家的一些反馈，以保证本书的质量，目录&样章下载地址为：http://www.bluedavy.com/opendoc/bookpreview.pdf&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/11/06/301448.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/301448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-11-06 15:23 <a href="http://www.blogjava.net/BlueDavy/archive/2009/11/06/301448.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态跟踪Java代码的执行状况工具--BTrace</title><link>http://www.blogjava.net/BlueDavy/archive/2009/10/10/297661.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Sat, 10 Oct 2009 04:41:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/10/10/297661.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/297661.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/10/10/297661.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/297661.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/297661.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 非常强烈的推荐下BTrace这个工具，用了后不得不说太强大了，BTrace简单来说，就是能在不改动当前程序的情况下，运行时的去监控Java程序的执行状况，例如可以做到内存状况的监控、方法调用的监控等等，官方网站上有非常多详细的例子，我不说太多，只在下面举一个简单的例子来说明它的作用，BTrace的User Guide请见：http://kenai.com/projects/btrace/pages/UserGuide。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/10/10/297661.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/297661.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-10-10 12:41 <a href="http://www.blogjava.net/BlueDavy/archive/2009/10/10/297661.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GC策略的调优</title><link>http://www.blogjava.net/BlueDavy/archive/2009/10/09/297562.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 09 Oct 2009 07:57:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/10/09/297562.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/297562.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/10/09/297562.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/297562.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/297562.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 摘自《构建高性能的大型分布式Java应用》第六章，感兴趣的同学们可以看看。<br>GC策略在G1还没成熟的情况下，目前主要有串行、并行和并发三种，对于大内存的应用而言，串行的性能太低，因此使用到的主要是并行和并发两种，具体这两种GC的策略在深入JVM章节中已讲解， 并行和并发GC的策略通过-XX:+UseParallelGC和-XX:+UseConcMarkSweepGC来指定，还有一些细节的配置参数用来配置策略的执行方式，例如：-XX:ParallelGCThreads、-XX:CMSInitiatingOccupancyFraction等，新生代对象回收只可选择并行，在此就举例来看看两种GC策略在Full GC时的具体表现状况。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/10/09/297562.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/297562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-10-09 15:57 <a href="http://www.blogjava.net/BlueDavy/archive/2009/10/09/297562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hessian 3.2.0的两个bug</title><link>http://www.blogjava.net/BlueDavy/archive/2009/08/06/290003.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 06 Aug 2009 03:19:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/08/06/290003.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/290003.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/08/06/290003.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/290003.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/290003.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在将Hessian从3.0.13升级到3.2.0时碰到两个bug和一个ClassLoader处理策略的改变的问题，在此记录下，希望能为使用Hessian 3.2.0的同学们提供点帮助，避免再走同样的弯路。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/08/06/290003.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/290003.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-08-06 11:19 <a href="http://www.blogjava.net/BlueDavy/archive/2009/08/06/290003.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JVM知识点题目</title><link>http://www.blogjava.net/BlueDavy/archive/2009/03/27/262419.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 27 Mar 2009 06:30:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/03/27/262419.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/262419.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/03/27/262419.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/262419.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/262419.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JVM是Java程序的运行环境，因此对于JVM的掌握有助于理解Java程序的执行以及编写，尤其是运行时碰到的一些诡异问题，那么怎么样能考察自己对于JVM关键知识点的掌握情况，帮助学习JVM机制呢，在这篇blog中来探讨下。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/03/27/262419.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/262419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-03-27 14:30 <a href="http://www.blogjava.net/BlueDavy/archive/2009/03/27/262419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一段好玩的测试LinkedBlockingQueue.poll超时的程序</title><link>http://www.blogjava.net/BlueDavy/archive/2009/03/12/259376.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 12 Mar 2009 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/03/12/259376.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/259376.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/03/12/259376.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/259376.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/259376.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在产品中有碰到过使用LinkedBlockingQueue.poll时超时很不准的现象，关键是这不是一般的不准，如果只是一点点不准的话也就勉强接受了，例如指定poll的超时时间为100ms，但最终执行.poll这段代码就花费了8000ms的现象，这篇blog就是展示下通过一段小小的代码来重现这样的现象，毕竟没有重现是无法证明为什么会出现这样的现象的。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/03/12/259376.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/259376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-03-12 16:52 <a href="http://www.blogjava.net/BlueDavy/archive/2009/03/12/259376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Garbage First介绍</title><link>http://www.blogjava.net/BlueDavy/archive/2009/03/11/259230.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Wed, 11 Mar 2009 14:18:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/03/11/259230.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/259230.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/03/11/259230.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/259230.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/259230.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文摘自《构建高性能的大型分布式Java应用》一书，Garbage First简称G1，它的目标是要做到尽量减少GC所导致的应用暂停的时间，让应用达到准实时的效果，同时保持JVM堆空间的利用率，将作为CMS的替代者在JDK 7中闪亮登场，其最大的特色在于允许指定在某个时间段内GC所导致的应用暂停的时间最大为多少，例如在100秒内最多允许GC导致的应用暂停时间为1秒，这个特性对于准实时响应的系统而言非常的吸引人，这样就再也不用担心系统突然会暂停个两三秒了。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/03/11/259230.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/259230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-03-11 22:18 <a href="http://www.blogjava.net/BlueDavy/archive/2009/03/11/259230.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提前N久的揭秘：《构建高性能的大型分布式Java应用》书的大概内容</title><link>http://www.blogjava.net/BlueDavy/archive/2009/03/06/258077.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 06 Mar 2009 01:15:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/03/06/258077.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/258077.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/03/06/258077.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/258077.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/258077.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 记得自己在没有进入互联网行业之前，对于互联网行业并不怎么感冒，总觉得互联网行业的技术含量不高，没什么意思，值得进入互联网行业了，才明白，原来互联网行业的技术是这么的复杂，这么的困难，而构建一个拥有巨大用户量的系统无疑也会给自己带来更多的成就感，记得自己刚进入互联网行业的时候，才发现构建一个高并发、高性能、承受高压力、高度可伸缩以及高可用性的系统要掌握的知识体系是在太多了，而且这些知识体系根本就不是在学校或是google、网络中能够学习到的，于是当时就想，如果能有一本书全面的介绍构建这”五高“特性的系统需要掌握的知识体系，那将是多么的美好呀，毕竟很多的知识体系都是靠经验积累出来的，甚至可是说，是痛苦的教训等得出来的，但当然，要在一本书中完全讲清楚所有的知识体系，自然是不靠谱的，但我想我会尽量在书中表达出自己的一些观点、看法以及少少的经验吧，希望能够让更多的同学即使没有大型系统的实际经验，也能掌握到一些大型系统所需的知识体系，那么我心甚慰了，由于本书需要写的东西非常的多，预计在9月底完成写作，估计要到明年春节后上市，:)，以下先揭秘下本书的大概内容，也请大家多多提出意见。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/03/06/258077.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/258077.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-03-06 09:15 <a href="http://www.blogjava.net/BlueDavy/archive/2009/03/06/258077.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java应用从集中式步入分布式</title><link>http://www.blogjava.net/BlueDavy/archive/2009/01/04/249763.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Sun, 04 Jan 2009 09:12:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2009/01/04/249763.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/249763.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2009/01/04/249763.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/249763.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/249763.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 记得Martin大叔在《企业应用架构模式》中特别强调：“能够不分布式的应用就不要分布式”，这句话没什么问题，尤其对于做过分布式应用的人而言，就更会有深刻的体会了，但这个世界偏偏就没有那么简单，大多数人都会碰到分布式应用的场景，尤其是对于大型应用而言，从集中式步入分布式是不可避免的，只是也许是小型分布式的，也许是大型分布式的；也许是有高性能要求的，也许是没有的，在这篇blog中我们来看看java应用从集中式步入分布式后到底会带来些什么挑战。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2009/01/04/249763.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/249763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2009-01-04 17:12 <a href="http://www.blogjava.net/BlueDavy/archive/2009/01/04/249763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>调试代码是一种乐趣</title><link>http://www.blogjava.net/BlueDavy/archive/2008/11/18/241245.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Tue, 18 Nov 2008 15:49:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/11/18/241245.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/241245.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/11/18/241245.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/241245.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/241245.html</trackback:ping><description><![CDATA[近来连续调试了好几天的代码，乐趣无穷，:)，在纯净的人和机器对话的时间中，充分的和机器不断的交流，最终共同实现功能，和同事说：&#8220;我喜爱调试代码胜过了写代码&#8221;，怎么说呢，我觉得调试代码能够充分让你将所掌握的知识发挥出来，考察自己解决问题的能力以及学习知识的能力，在这篇blog中来闲聊下调试代码。<br />
调试代码是一种编码所需的基本能力，相信没有多少人写出来的代码能够是没有bug的，虽然传闻是有过这样的人，因此普通的我们只能通过调试代码来查找和修复代码中的问题，需要调试代码的场景有很多种，在这些场景中，也会有很多种不同的调试技巧可采用。<br />
最典型的需要调试代码的场景是单元测试的场景，在单元测试时会碰到代码的执行不符合预期或抛出意料外的异常，在碰到抛出意料外的异常时，通常现在的高级语言都会提示是由于哪行代码造成的异常，于是首先的做法都是去看看对应的那行代码是什么个状况，然后评估大概是什么原因造成的，如果在这种推测情况下无法判断问题在哪了的话，在没有支持程序调试时，通常只能是在原始代码中输出一堆的信息到console，例如java中就是System.out.println或System.out.err，于是运行，看看console中一堆的信息，然后慢慢的来推测问题，当然，这也是一种可选的方案，甚至在某些场景中是一种不错的方案，但在各种IDE支持程序调试后，更多的时候调试都可以通过IDE来进行，发明这个的人真的太伟大了，虽然我不知道是谁，但是还是想膜拜下的，:)，有些看似很小的功能，往往非常的重要，于是现在的我们可以幸福的设个断点，然后开始逐行跟踪、跳行跟踪、跟踪进入函数内部、跳出函数、跟踪变量甚至修改变量等等N多种的方式幸福的调试着代码，看着代码在运行时的状态，很容易的就让我们发现代码中的问题，这个绝对是节省了非常非常多的时间，所以我说我很佩服那些号称用记事本写代码的高手们，难道他们的代码都是零bug的？要么就是出了bug后也可以一眼判定问题所在的？那实在太强了点，对于这样的高手，确实可以不需要IDE这种现代化的武器，对于我而言，用记事本写就像停留在原始时代，而IDE差不多应该到帝王时代了，:)，开玩笑，调侃下用记事本写代码的高手而言，这是单元测试中的场景和通常采用的技巧。<br />
还有需要调试的场景通常会是集成测试场景，通常，集成测试会复杂很多，于是要用到的调试技巧会复杂一些，就像下面这样的两种场景：<br />
1、并发程序<br />
&#160;&#160; 并发程序向来就是最最复杂的，没有人能知道在运行时到底是怎么个执行顺序，否则就不叫并发了，:)，于是，在并发程序中，N多种人脑无法想象的复杂场景就出现了，毕竟人脑的思考应该不支持并发的吧，至少我的貌似支持不了，也许是我笨，呵呵，而且通常并发程序中的错误是不一定能每次都重现的，这是最麻烦的，至于借助IDE调试，同样是不行的，因为并发程序由于断点的进入可能完全被打乱，于是，对于并发程序，通常能采用的方法，比较靠谱的方法，我觉得还是打日志，当然，你可以选择继续System.out.println、System.out.err，或者采用更加高级和优雅点的log.debug这样的方法，然后就看着时间戳来慢慢的运用自己的大脑来思考复杂的并发的问题，:)，这绝对是一种挑战，但因此也会带来充分的乐趣，于是慢慢的享受这个过程吧。<br />
&#160;&#160; 多说一句，还好现在java有了更高精度的时间戳：System.nanoTime，用System.currentTimeInMills根本就没法分析并发程序，因为它的精度不够。&#160;<br />
2、所依赖的程序有问题<br />
&#160;&#160; 这种场景嘛，相对而言就复杂很多了，因为通常这个时候能做的多数是通知所依赖的程序方去查找问题，但如果手头有所依赖的程序的代码的话，多数可以采取跟入其源码的方式，尽管不一定能修复其源码，但对于查找出问题还是会提供很大的帮助，例如跟踪框架代码、jdk代码等等，对于访问的远程程序而言，则不太相同，java嘛，还好，可以支持远程调试，我相信现在的大部分语言都支持的，远程调试那是相当的重要呀，于是我们就可以在本地调试着远程某台服务器上执行时的bug，:)，偷着乐吧。<br />
最后一种最痛苦的大家最想调试的场景，就莫过于生产环境了，估计有N多人都想直接在生产环境中调试，看看生产环境中的问题是怎么产生的，但生产环境嘛，是不太可能拿来调试玩的，而有些时候线下要模拟也不是什么简单的事，说到这，又要天马行空的瞎扯下了，记得在云风的blog上以前有写过一篇游戏中对于出错场景的记录以及回放的功能，这功能听着是相当的帅呀，好，继续回到正题，在自己的代码还没有如此强大的错误记录和回放功能时，也许能做的选择就是在代码中多写一点log.debug了，在生产环境有问题时，则打开相应的日志的debug项，然后继续靠人肉分析了，这个时候还是体现了log.debug的强大作用滴，根据这点可以看出，在代码中还是有必要写些合适的log.debug的，除了为了自己外，对于其他使用的人调试bug也是可以給予很大的帮助的。<br />
<br />
嗯，没想到稍微扯了下，也写了不少，从这稍微写的内容中，其实也能看出，调试可不是闹着玩的事，绝对需要相当完整的知识体系，这也难怪张银奎的《软件调试》写了三年，而且那么的厚，看来还是值得看看的，:)，小广告，大家别在意。<br />
而且这里还没说到，通常需要调试的时候，多数都是出问题的时候，那么这个时候还会面临很大的压力，怎么样在紧急的时间内还冷静的做好人肉分析的工作，这可是相当的考验抗压能力、技术基本功、逻辑分析能力和学习能力的过程，想想，要能在短时间内查出问题的原因，通常需要对代码运行的场景做出冷静的分析，进而需要具备从头到尾的知识，例如所采用的框架、java包、甚至到JVM、操作系统、硬件，实在不行的话，还得临时学习下这些知识，这样才能在短时间内解决，因此想来想去，越来越觉得如果在面试的时候让面试者现场调试段程序貌似还是挺靠谱的，更有助于全方位的考察，貌似只有很少数的几家公司会这么干，当然，这有客观条件的原因，但要克服貌似也不是很难。
<img src ="http://www.blogjava.net/BlueDavy/aggbug/241245.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-11-18 23:49 <a href="http://www.blogjava.net/BlueDavy/archive/2008/11/18/241245.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java知识片段</title><link>http://www.blogjava.net/BlueDavy/archive/2008/10/16/234764.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 16 Oct 2008 15:41:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/10/16/234764.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/234764.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/10/16/234764.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/234764.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/234764.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在面试中，经常要评估面试者的java基础知识和其他知识的掌握情况，包括public/private/protected/默认修饰符、static/final修饰符、集合、字符串操作、对象比较、异常、设计模式和面试者经常使用的框架等，整理一下自己经常使用的评估方法，:)，抛砖中，希望能看到一些好的建议，让大家更好的学习java知识，同时也更好的判断人才，挖出真正的“金子”。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2008/10/16/234764.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/234764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-10-16 23:41 <a href="http://www.blogjava.net/BlueDavy/archive/2008/10/16/234764.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JBoss Remoting 2.2.2里的一个Bug</title><link>http://www.blogjava.net/BlueDavy/archive/2008/06/30/211726.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Mon, 30 Jun 2008 10:46:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/06/30/211726.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/211726.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/06/30/211726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/211726.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/211726.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在JBoss Remoting 2.2.2中存在这么一个bug，如果刚好客户端的timeout比服务器端处理时间短的话，就会出现客户端连接池中的连接被无故用掉一个的状况，而且是没法回收的，最终就会导致很快客户端的连接池被占满的现象，在分析JBoss Remoting 2.2.2的代码后发现了问题的所在，同时查看了下JBoss Remoting 2.4的代码，发现在2.4中此bug已被修复。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2008/06/30/211726.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/211726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-06-30 18:46 <a href="http://www.blogjava.net/BlueDavy/archive/2008/06/30/211726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java并发编程基础知识片段</title><link>http://www.blogjava.net/BlueDavy/archive/2008/06/20/209297.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 19 Jun 2008 17:29:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2008/06/20/209297.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/209297.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2008/06/20/209297.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/209297.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/209297.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Java 5并发包的加入，给Java的并发程序的开发带来了很多的好处，在此列举一些并发编程中应该掌握的一些基础知识片断，这些片断基本都是由一些问题组成，在片段中没有直接写出答案，由于可用来解决这些片段的方法还是很多的，因此只是提到了解决问题可选方案的关键字，如果有需要进一步了解的话，基本上 google一下应该就能查出来了，不过就像之前有朋友说的，如果不是经常用的话，其实就算现在知道了也是会忘记的，这很正常，:)，不过我更认为那是因为知其然而不知其所以然造成的，很多东西如果知道原理的话，基本上还是可以记得很长一段时间的。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2008/06/20/209297.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/209297.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2008-06-20 01:29 <a href="http://www.blogjava.net/BlueDavy/archive/2008/06/20/209297.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《面向软件错误构建可靠的分布式系统》读后感</title><link>http://www.blogjava.net/BlueDavy/archive/2007/11/25/162998.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Sun, 25 Nov 2007 11:00:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2007/11/25/162998.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/162998.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2007/11/25/162998.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/162998.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/162998.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这篇文档是erlang创始者之一的Joe Armstrong所编写的博士论文，由段先德翻译、邓辉审校，感兴趣的同学可以从以下地址下载：<br> http://erlang-china.org/study/joe-armstrong_thesis_cn.html<br>Erlang在业界已经引起了不小的轰动，通读了下这篇博士论文，翻译的质量很高，:)，所以读起来非常的顺畅，论文的内容对于erlang初学者而言绝对是堪称经典，写的非常的不错，点出了erlang的强项并详细的进行了解释，感谢翻译论文的段先德和邓辉的工作。<br>Erlang以天生的支持并发、分布式和容错而闻名，由于erlang的诞生是为交换机而服务的，因此在并发、分布式、容错、动态代码升级等方面是实现的非常好的，其目前主要是应用在erission的交换机上，这对于erlang的那些天生的特性也是个很好的证明。<br>通过阅读这篇博士论文，让我对了erlang有了部分的认识，由于目前尚未实践过，只能根据论文本身对自己理解的erlang做个阐述。<br>Erlang采用的是虚拟机的方式，这个虚拟机和java的虚拟机类似&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2007/11/25/162998.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/162998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2007-11-25 19:00 <a href="http://www.blogjava.net/BlueDavy/archive/2007/11/25/162998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQLUnit quick start guide</title><link>http://www.blogjava.net/BlueDavy/archive/2007/11/08/159124.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 08 Nov 2007 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2007/11/08/159124.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/159124.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2007/11/08/159124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/159124.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/159124.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: SQLUnit是一个用于对存储过程进行单元测试的工具，其实也可以用于做针对数据库数据、性能的测试等，延续了xUnit家族的一贯特性和风格，只不过它的测试是以xml的方式来编写，但原则仍然和xUnit家族其他产品一样，强调的是输出和预期的比较，SQLUnit的文档比较的少，由于官方站上并没有提供类似其他开源工具的quick start guide，就写了这篇quick start guide以便大家快速的使用sqlunit，至于SQLUnit的高级用法还是得去多看看sqlunit.sf.net官方站上的文档。<br>为了让大家能快速的开始入门使用SQLUnit，将介绍SQLUnit环境的搭建、如何编写一个单元测试、如何运行。<br><br>&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2007/11/08/159124.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/159124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2007-11-08 16:59 <a href="http://www.blogjava.net/BlueDavy/archive/2007/11/08/159124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java调用Oracle EXP备忘</title><link>http://www.blogjava.net/BlueDavy/archive/2006/11/22/82909.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Wed, 22 Nov 2006 14:43:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/11/22/82909.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/82909.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/11/22/82909.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/82909.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/82909.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一眼看过去相信大家都知道用Runtime.getRuntime().exec来调用，我的需求就是：<br>调用Oracle EXP命令完成备份，并返回生成的备份文件名，这个备份文件会很快在其他的地方被使用。<br>采用Runtime.getRuntime().exec我们都知道，需要处理它的InputStream，以避免出现执行的命令输出的信息过多使得进程被堵死，OK，按照这样的方法写出来的代码执行后却碰到了问题.....&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2006/11/22/82909.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/82909.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-11-22 22:43 <a href="http://www.blogjava.net/BlueDavy/archive/2006/11/22/82909.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>备忘：解决ajax获取页面直接显示乱码的方法</title><link>http://www.blogjava.net/BlueDavy/archive/2006/08/15/63633.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Tue, 15 Aug 2006 03:04:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/08/15/63633.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/63633.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/08/15/63633.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/63633.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/63633.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 大家都知道，xmlhttp在通信时采用的是utf编码，而国内很多网页的信息都是采用gbk编码，所以当直接通过ajax去连接网页，并将获取到的信息直接显示的话就会出现乱码的现象，有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息)，在这种时候就只能在客户端通过js做编码的工作了，下面这段js就是用于将服务器端返回的gbk编码字符串转换为utf编码字符串：&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2006/08/15/63633.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/63633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-08-15 11:04 <a href="http://www.blogjava.net/BlueDavy/archive/2006/08/15/63633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>缓存漫谈</title><link>http://www.blogjava.net/BlueDavy/archive/2006/06/02/50076.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 02 Jun 2006 15:38:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/06/02/50076.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/50076.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/06/02/50076.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/50076.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/50076.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 缓存是在提升系统响应时常用的一种技术，在我之前的blog中也提及过好几次这部分的技术，今天还是想从缓存涉及的一些方面再次的去谈谈，在系统缓存上通常采用的是有页面缓存、处理缓存和数据缓存这三种具体的类别，应该说这三种缓存在实现上还是稍有不同，尽管底层的缓存实现是一样的。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2006/06/02/50076.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/50076.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-06-02 23:38 <a href="http://www.blogjava.net/BlueDavy/archive/2006/06/02/50076.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Foundations Of Ajax读后感</title><link>http://www.blogjava.net/BlueDavy/archive/2006/05/23/47711.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Tue, 23 May 2006 13:20:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/05/23/47711.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/47711.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/05/23/47711.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/47711.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/47711.html</trackback:ping><description><![CDATA[
		<p>Foundations Of Ajax，Ajax领域中的经典书籍，还是决定看看，今天趁有些时间便翻阅了一下，总体而言，这本书写的还是不错的，在douban上我写了这么一段评价：“对于ajax新手而言，这绝对是本好书，可以快速的让你了解ajax涉及的技术，如何去使用ajax以及ajax的一些缺点；对于ajax老手来说，这本书固然有些简单，但我相信会带给你更加系统化的ajax知识。”<br />该书从历史、ajax相关的技术、带来的优点以及缺点、ajax例子、ajax开发工具箱以及ajax框架几个方面进行讲解，系统的梳理了ajax的整个技术体系，整个ajax的技术体系就这么清晰的暴露在了大家的眼前，就像这本书的书名一样，这本书对于ajax整个技术体系只是稍有提及，但并没有深入，作为ajax的基础书籍来说，我觉得这样就够了，而且这样很好，其实觉得就像在使用mindmanager一样，先列出的是比较粗略的，之后才是对于每个节点的深入，这本书就等于给ajax新手一个ajax的全面印象，至于里面涉及到的各种技术可以再去专门研究，^_^，在这样的引导的情况下，可以让希望使用ajax的同学们能非常好的进入这个领域...<br />就像书中所说的一样，ajax固然是带来了很多的提升，但在目前的情况下不一定是所有用户都能接受的，所以不能在项目中武断的全面使用，要先去评估下用户的接受度，其次是目前业界在ajax到底如何去应用还没有研究的非常清楚，这也是为什么现在没什么好的ajax框架的原因，这也就意味着如果在项目中要大幅度的使用ajax还是有一定的技术风险的...<br />Ajax相比其他的技术思想比较有利于推广的地方就在于它采用的是现有成熟的技术，尽管从架构角度上来讲确实带给了传统mvc冲击，但从技术角度却没有给目前的开发人员带来多大的冲击，这就使得它很利于推广了，不过真正要全面推行还得依靠一个良好的ajax框架.....</p>
<img src ="http://www.blogjava.net/BlueDavy/aggbug/47711.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-05-23 21:20 <a href="http://www.blogjava.net/BlueDavy/archive/2006/05/23/47711.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>项目杂感</title><link>http://www.blogjava.net/BlueDavy/archive/2006/04/24/42895.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Mon, 24 Apr 2006 13:38:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/04/24/42895.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/42895.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/04/24/42895.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/42895.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/42895.html</trackback:ping><description><![CDATA[再次做项目，感觉颇多，项目和产品其实都有应对变化的部分，项目更在乎功能的实现以及对于需求的应变能力，产品更在乎的是通用性的高度抽象、开放性以及基础设施的建设上，产品比项目更依赖规划人员对于通用性需求的挖掘上，而项目则更依赖需求人员对于客户的需求的挖掘上。<br />做外地项目的时候项目经理的作用比在公司做项目时的项目经理的作用会更加的突出，项目经理的表率作用、看法、做法其实很大程度上都影响到整个团队，所以感觉在外地项目中项目经理非常重要，很大程度上决定了项目的成败。<br />今天和项目中的成员聊起PP，^_^，得到了成员的认可，难得呀，想着以前在一个项目中做PP的时候，项目成员那都是极力的反对呀，PP得到认可的原因是在现有的项目中开发计划总是出现推迟的现象，但其实负责此任务的成员每天都在加班，而且加班到很晚，那么到底是为什么呢？归根结底就是工作效率低，并不是因为该成员能力不足，PP从很大程度上都能提高工作效率，但PP确实对成员的性格很有要求，否则很容易出问题，对于PP我认为的几点好处：<br />1、能够让整个团队形成团结一致的作战能力和工作氛围；<br />2、能够保证团队编写风格一致的代码；<br />3、能够保证代码编写的质量；<br />4、能够极大的提高工作效率；<br />5、能够快速准确的评价团队成员的能力；<br />^_^，其实遵照一个“工作时工作，玩的时候玩，学习时候学习”的基本原则，就会过的挺好的，其实一个开发人员每天能高效写4个小时我觉得已经挺不错了，其实PP是能真正的发挥整个团队成员能力的手段，也能足够的去保证工作效率和质量，只是推广PP必然也会受到很大的阻力，不过其实这就是一种习惯而已，不要带着敌对的心态，试着去接受，也许你也会喜欢上PP的，呵呵...<br />^_^，项目的一个不好的地方就是要投N多时间关注在功能需求的实现上，缺少了对于技术的关心，呵呵，这个是技术人员的观点而已...<img src ="http://www.blogjava.net/BlueDavy/aggbug/42895.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-04-24 21:38 <a href="http://www.blogjava.net/BlueDavy/archive/2006/04/24/42895.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven、Hibernate升级小贴士</title><link>http://www.blogjava.net/BlueDavy/archive/2006/04/20/42119.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Thu, 20 Apr 2006 03:00:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/04/20/42119.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/42119.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/04/20/42119.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/42119.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/42119.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 记录一下Maven 1升级到Maven 2、Hibernate 2.1升级到Hibernate 3的一些注意事项，^_^，以备后用，毕竟以前的系统很多都是基于Maven 1和Hibernate 2.1的。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2006/04/20/42119.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/42119.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-04-20 11:00 <a href="http://www.blogjava.net/BlueDavy/archive/2006/04/20/42119.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Service-Oriented Component Model(SOCM)</title><link>http://www.blogjava.net/BlueDavy/archive/2006/04/15/41268.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Sat, 15 Apr 2006 13:33:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/04/15/41268.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/41268.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/04/15/41268.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/41268.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/41268.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 继续以OSGI R4的Declarative Services(DS)来讲讲Service-Oriented Component Model(SOCM)，SOCM对于现有的Component-Oriented Model或者是Service-Oriented Model来说到底有什么不同的地方，到底DS能给我们带来什么样的好处呢？&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2006/04/15/41268.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/41268.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-04-15 21:33 <a href="http://www.blogjava.net/BlueDavy/archive/2006/04/15/41268.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于元数据和RIA的开发框架</title><link>http://www.blogjava.net/BlueDavy/archive/2006/04/11/40492.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Tue, 11 Apr 2006 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/04/11/40492.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/40492.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/04/11/40492.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/40492.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/40492.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 目前做的一个Web开发框架，基于元数据和RIA，把现在所做的效果贴出来给大家看看，同时也简单的再说说基于元数据和RIA的开发，^_^&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2006/04/11/40492.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/40492.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-04-11 17:03 <a href="http://www.blogjava.net/BlueDavy/archive/2006/04/11/40492.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Declarative Services――Service-Oriented Component Model</title><link>http://www.blogjava.net/BlueDavy/archive/2006/04/07/39880.html</link><dc:creator>BlueDavy</dc:creator><author>BlueDavy</author><pubDate>Fri, 07 Apr 2006 09:27:00 GMT</pubDate><guid>http://www.blogjava.net/BlueDavy/archive/2006/04/07/39880.html</guid><wfw:comment>http://www.blogjava.net/BlueDavy/comments/39880.html</wfw:comment><comments>http://www.blogjava.net/BlueDavy/archive/2006/04/07/39880.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/BlueDavy/comments/commentRss/39880.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlueDavy/services/trackbacks/39880.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Jeff在EclipseCon 2006那篇介绍Equinox的PPT中提到的Declarative Services(文中全部采用DS简称)的用法让人极度被吸引，但同时又产生怀疑，想起以前自己看过DS好像不是这样的，没这么强，便再次翻阅了OSGI R4中的DS的章节，以验证Jeff的说法，^_^，仔细看过DS章节后，确实为Declarative Services的强大而感到高兴，DS是一个面向服务的组件模型，从组件模型层次上去看，它超越了传统的组件模型，在组件模型描述的完备性上有了很大的进步，例如在组件服务的依赖上、组件服务的延迟加载上、组件服务的多样性控制上、组件服务的配置上以及组件服务的生命周期管理上，不过DS只能在OSGI容器中使用，这尽管看上去可能是个弱点，但作为OSGI规范中的一部分，这无可厚非，其思想值得很多目前Component Model的开源框架值得思考和学习，如感兴趣，请阅读OSGI R4中DS章节。&nbsp;&nbsp;<a href='http://www.blogjava.net/BlueDavy/archive/2006/04/07/39880.html'>阅读全文</a><img src ="http://www.blogjava.net/BlueDavy/aggbug/39880.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlueDavy/" target="_blank">BlueDavy</a> 2006-04-07 17:27 <a href="http://www.blogjava.net/BlueDavy/archive/2006/04/07/39880.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>