﻿<?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-zhangxl_blog</title><link>http://www.blogjava.net/zhanglongsr/</link><description>路漫漫其修远兮，吾将上下而求索！</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 18:58:40 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 18:58:40 GMT</pubDate><ttl>60</ttl><item><title>解决Redis数据库响应延迟问题(转载)</title><link>http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416090.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Tue, 22 Jul 2014 09:11:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416090.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/416090.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416090.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/416090.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/416090.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文介绍了解决Redis数据库响应延迟问题的方法，将有助于你找出Redis 响应延迟的问题所在。&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416090.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/416090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2014-07-22 17:11 <a href="http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>理想化的 Redis 集群 (转载)</title><link>http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416085.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Tue, 22 Jul 2014 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416085.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/416085.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416085.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/416085.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/416085.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 豁达是正确乐观的面对失败的系统。不需要过多的担心，需要一种去说那又怎样的能力。因此架构的设计是如此的重要。许多优秀的系统没有进一步成长的能力，我们应该做的是使用其他的系统去共同分担工作。 Redis是 其中一&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416085.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/416085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2014-07-22 15:27 <a href="http://www.blogjava.net/zhanglongsr/archive/2014/07/22/416085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Redis 分区(翻译)</title><link>http://www.blogjava.net/zhanglongsr/archive/2014/07/14/415770.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Mon, 14 Jul 2014 04:17:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2014/07/14/415770.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/415770.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2014/07/14/415770.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/415770.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/415770.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在redis服务器中的分区主要包含两个目标：<br>通过利用多台计算机内存的和值，允许我们构造更大的数据库。<br>通过多核和多台计算机，允许我们扩展计算能力；通过多台计算机和网络适配器，允许我们扩展网络带宽。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2014/07/14/415770.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/415770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2014-07-14 12:17 <a href="http://www.blogjava.net/zhanglongsr/archive/2014/07/14/415770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mysql索引相关知识分享</title><link>http://www.blogjava.net/zhanglongsr/archive/2014/05/08/413446.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Thu, 08 May 2014 11:48:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2014/05/08/413446.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/413446.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2014/05/08/413446.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/413446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/413446.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 为什么我设置的索引不能生效，设置索引应该注意些什么，关于mysql的索引，有哪些细节。本篇文章能告诉你一些知识点。&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2014/05/08/413446.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/413446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2014-05-08 19:48 <a href="http://www.blogjava.net/zhanglongsr/archive/2014/05/08/413446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据结构-BinaryTree</title><link>http://www.blogjava.net/zhanglongsr/archive/2014/04/18/412663.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Fri, 18 Apr 2014 10:34:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2014/04/18/412663.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/412663.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2014/04/18/412663.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/412663.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/412663.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 二叉树是数据结构世界中具有重要地位的一种数据结构。它同时具备有序数组和链表的优点，同时又弥补了有序数组插入数据、链表查找的缺点。同时也是各种面试中常见的问题。现通过java实现二叉树，加深对二叉树的理解。&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2014/04/18/412663.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/412663.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2014-04-18 18:34 <a href="http://www.blogjava.net/zhanglongsr/archive/2014/04/18/412663.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深入学习Linux之命令篇-find</title><link>http://www.blogjava.net/zhanglongsr/archive/2013/06/09/400449.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Sun, 09 Jun 2013 10:07:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2013/06/09/400449.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/400449.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2013/06/09/400449.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/400449.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/400449.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2013/06/09/400449.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/400449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2013-06-09 18:07 <a href="http://www.blogjava.net/zhanglongsr/archive/2013/06/09/400449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么情况下应该使用GridFS(翻译)</title><link>http://www.blogjava.net/zhanglongsr/archive/2013/04/09/397598.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Tue, 09 Apr 2013 10:41:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2013/04/09/397598.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/397598.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2013/04/09/397598.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/397598.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/397598.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 对于MongoDB collection下的文档而言，在文件大于16MB时，我们应该使用GridFS。在一些解决方案中，使用MongoDB的GridFS存储大文件，比使用系统级别的文件系统更便利。当文件系统的目录对文件数量有限制时，你应该使用GridFS来存储需要的尽可能多的文件；<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2013/04/09/397598.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/397598.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2013-04-09 18:41 <a href="http://www.blogjava.net/zhanglongsr/archive/2013/04/09/397598.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mongodb主从复制实践</title><link>http://www.blogjava.net/zhanglongsr/archive/2013/04/02/397310.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Tue, 02 Apr 2013 11:15:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2013/04/02/397310.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/397310.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2013/04/02/397310.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/397310.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/397310.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文在内网linux环境下构建Mongodb主从复制&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2013/04/02/397310.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/397310.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2013-04-02 19:15 <a href="http://www.blogjava.net/zhanglongsr/archive/2013/04/02/397310.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jmap使用</title><link>http://www.blogjava.net/zhanglongsr/archive/2013/03/18/396612.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Mon, 18 Mar 2013 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2013/03/18/396612.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/396612.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2013/03/18/396612.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/396612.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/396612.html</trackback:ping><description><![CDATA[<p><span style="font-size: small"><font size="2">语法<br />jmap [ option ] pid<br />jmap [ option ] executable core<br />jmap [ option ] [server-id@]remote-hostname-or-IP<br /><br /><br />参数</font></span> <span style="font-size: small"></span><span style="font-size: small"><br /><font size="2">option 参数是单一的，紧跟在命令后面。<br />pid 要被映射的进程。必须是java进程。用jps可以获得java进程列表<br />executable 产生核心转储的可执行java代码<br />core 要被映射的核心文件<br />remote-hostname-or-IP 远程调试服务器的域名或者ip地址（看jsadebugd）<br />server-id 可选唯一id，如果多个服务器运行在同一个远程主机<br /><br /><br />描述</font></span> <span style="font-size: small"></span><span style="font-size: small"><br /><font size="2">&nbsp;&nbsp;&nbsp; 是复制共享对象的内存映射、给定进程的堆内存、核心文件、远程调试服务器。如果给定的进程是再64的VM，你需要制定参数，例如：<br />&nbsp;&nbsp;&nbsp; jmap -J-d64 -heap pid<br /><br /></font></span><span style="font-size: small"></span><span style="font-size: small"><font size="2">&nbsp;&nbsp;&nbsp; 注意:这个工具在未来的JDK里可能不支持或者不出现。在windows系统里没有dbgeng.dll， 需要安装'Debugging Tools for Windows'来运行这些工具。同时PATH环境变量必须包含被目标进程或者崩溃导出文件位置锁使用的jvm.dll路径。例如：<br />&nbsp;&nbsp;&nbsp; set PATH=\jre\bin\client;%PATH% <br /><br /><br />OPTIONS</font></span> <span style="font-size: small"></span><span style="font-size: small"><br /><font size="2">&lt;no option&gt; 当没有选项，jmap复制共享对象映射。目标虚拟机中的每一个分享对象、开始地址、映射大小、完整路径被复制。这类似于Solaris中的pmap工具。</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-dump:[live,]format=b,file=&lt;filename&gt; 把java堆导出成hprof二进制格式文件。live子选项是可选的。如果指定，只有堆中的活对象被导出。浏览堆镜像，你可以使用jhat。</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-finalizerinfo 复制正在等待回收的对象信息</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-heap 复制一个堆得概要。使用的GC算法堆配置，使用代的大小。</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-histo[:live] 复制一个堆得柱状图。每个Java类，对象个数，内存大小（byte），类全路径。VM的内部类用*为前缀。如果live子选项被指定，只有活对象被计数。</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-permstat 打印堆中永生代的类加载器的宽泛统计。每个加载器的名字，活性，地址，父加载器，它加载的类的大小。另外，驻留字符串的大小和数量。</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-F 强制。使用jmap -dump 或者 jmap -histo 选项时，如果pid没有响应。在这个模式下live子选项不支持。</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-h 帮助</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-help 帮助</font></span> </p>
<p><span style="font-size: small"><br /><font size="2">-J&lt;flag&gt; java虚拟机选项</font></span> </p> <img src ="http://www.blogjava.net/zhanglongsr/aggbug/396612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2013-03-18 17:32 <a href="http://www.blogjava.net/zhanglongsr/archive/2013/03/18/396612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为什么实现了equal方法，一定需要实现hashCode方法呢？</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/08/16/385628.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Thu, 16 Aug 2012 10:39:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/08/16/385628.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/385628.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/08/16/385628.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/385628.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/385628.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;使用java的人都知道，如果覆盖了Object的equals方法，那么必须要覆盖hashCode方法，并且如果两个对象用equals方法比较返回true，那么这两个对象hashCode返回的值也必须是相等的，并且对于同一个对象，equals方法需要比较的属性值没有被修改，那么每次调用hashCode返回的值应该是一致的。&nbsp;&nbsp;&nb...&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2012/08/16/385628.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/385628.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-08-16 18:39 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/08/16/385628.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MongoDB学习—MongoDB安装</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/05/25/379254.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Fri, 25 May 2012 15:58:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/05/25/379254.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/379254.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/05/25/379254.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/379254.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/379254.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 学习如何在windows下安装mongo&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2012/05/25/379254.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/379254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-05-25 23:58 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/05/25/379254.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>京东碰到的一道面试题</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/02/15/370027.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Wed, 15 Feb 2012 07:12:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/02/15/370027.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/370027.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/02/15/370027.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/370027.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/370027.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 京东碰到的一道面试题&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2012/02/15/370027.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/370027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-02-15 15:12 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/02/15/370027.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HashMap分析</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/02/13/369863.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Mon, 13 Feb 2012 06:42:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/02/13/369863.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/369863.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/02/13/369863.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/369863.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/369863.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;HashMap内部有一个Entry数组，可以称之为hash table。HashMap的默认构造值为初始容量为16，负载因子为0.75，阀值(初始容量*负载因子)为12。其默认构造子如下：Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeH...&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2012/02/13/369863.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/369863.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-02-13 14:42 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/02/13/369863.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>12个小球其中有一个是次品，不过不知道轻重，请问用天平能用三次测量的机会找出那个次品吗？</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/02/10/369754.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Fri, 10 Feb 2012 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/02/10/369754.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/369754.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/02/10/369754.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/369754.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/369754.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 12个小球其中有一个是次品，不过不知道轻重，请问用天平能用三次测量的机会找出那个次品吗？&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2012/02/10/369754.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/369754.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-02-10 17:04 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/02/10/369754.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用java nio 实现 Ping</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369543.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Tue, 07 Feb 2012 08:53:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369543.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/369543.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369543.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/369543.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/369543.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: java nio 实现 Ping命令行&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369543.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/369543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-02-07 16:53 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring 源码阅读(IOC容器)-容器启动2</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369527.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Tue, 07 Feb 2012 03:57:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369527.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/369527.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369527.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/369527.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/369527.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: AbstractApplicationContext继承于DefaultResourceLoader，因此AbstractApplicationContext也具备了资源加载的功能。同时ApplicationContext扩展了ResourcePatternResolver接口，所以ApplicationContext的实现类对外表现的Loader应该为ResourcePatternResolver。通俗来讲，就是说容器具备资源模式解释的功能，并能对一资源位置进行加载&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369527.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/369527.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-02-07 11:57 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369527.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring 源码阅读(IOC容器)-容器启动1</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369524.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Tue, 07 Feb 2012 03:10:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369524.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/369524.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369524.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/369524.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/369524.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Spring框架提供基于依赖注入的IOC容器，完成对象的构造、依赖注入、对象声明周期维护等功能，下面将以FileSystemXmlApplicationContext为例来分析Spring IOC容器的实现。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369524.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/369524.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-02-07 11:10 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/02/07/369524.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC SavePoint浅析</title><link>http://www.blogjava.net/zhanglongsr/archive/2012/01/30/369004.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Mon, 30 Jan 2012 03:36:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2012/01/30/369004.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/369004.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2012/01/30/369004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/369004.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/369004.html</trackback:ping><description><![CDATA[<p style="line-height: 150%"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">在</span>JDBC3.0<span style="font-family: 宋体">中</span>(JDK4.0)<span style="font-family: 宋体">，引入了一个新特性</span>Savepoint<span style="font-family: 宋体">。我们知道，在</span>JDBC2.0<span style="font-family: 宋体">中的事务支持让开发者可以控制对数据的并发访问，从而保证数据的一致性。但有时候我们需要对事务多一点的控制，而不是在当前的事务中简单地对每一个改变进行回滚。在</span> JDBC 3.0 <span style="font-family: 宋体">下，我们可以通过</span> Savepoint <span style="font-family: 宋体">获得这种控制。</span> Savepoint <span style="font-family: 宋体">接口允许您将事务分割为各个逻辑断点，以控制有多少事务需要回滚。下图将说明如何在事务中运用</span> Savepoint<span style="font-family: 宋体">。</span> <img height="212" alt="" src="http://www.blogjava.net/images/blogjava_net/zhanglongsr/1.jpg" width="569" border="0" longdesc="" /><br /><br /><strong>JDBC<span style="font-family: 宋体">下使用</span>Savepoint</strong></p>
<p>示例代码：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">conn.setAutoCommit(</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Set&nbsp;a&nbsp;conservative&nbsp;transaction&nbsp;isolation&nbsp;level.</span><span style="color: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Statement&nbsp;stmt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;conn.createStatement();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;rows&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;stmt.executeUpdate(&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">INSERT&nbsp;INTO&nbsp;authors&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">(first_name,&nbsp;last_name)&nbsp;VALUES&nbsp;"&nbsp;+</span><span style="color: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">(</span><span style="color: #000000">'</span><span style="color: #000000">Lewis</span><span style="color: #000000">'</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">Carroll</span><span style="color: #000000">'</span><span style="color: #000000">)");</span><span style="color: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Set&nbsp;a&nbsp;named&nbsp;savepoint.</span><span style="color: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">Savepoint&nbsp;svpt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;conn.setSavepoint(</span><span style="color: #000000">"</span><span style="color: #000000">NewAuthor</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">rows&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;stmt.executeUpdate(&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">UPDATE&nbsp;authors&nbsp;set&nbsp;type&nbsp;=&nbsp;'fiction'&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">WHERE&nbsp;last_name&nbsp;=&nbsp;'Carroll'</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">conn.rollback(svpt);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;The&nbsp;author&nbsp;has&nbsp;been&nbsp;added,&nbsp;but&nbsp;not&nbsp;updated.</span><span style="color: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">conn.commit();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><span style="font-family: 宋体">示例结果就是，</span>insert<span style="font-family: 宋体">语句将被执行，</span>update<span style="font-family: 宋体">语句未执行，其被回滚了。<br /></span><br /><strong>Hibernate<span style="font-family: 宋体">下使用</span>Savepoint</strong></p>
<p>示例：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">Session&nbsp;s&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sf.openSession();&nbsp;&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Transaction&nbsp;tx&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s.beginTransaction();&nbsp;&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />User&nbsp;u1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;User();u1.setId(</span><span style="color: #000000">1</span><span style="color: #000000">);u1.setName(</span><span style="color: #000000">"</span><span style="color: #000000">u1</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />s.save(u1);&nbsp;&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />Savepoint&nbsp;savepoint1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s.connection().setSavepoint();&nbsp;&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />User&nbsp;u2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;User();u2.setId(</span><span style="color: #000000">2</span><span style="color: #000000">);u2.setName(</span><span style="color: #000000">"</span><span style="color: #000000">u2</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />s.save(u2);&nbsp;&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;s.flush();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />s.connection().rollback(savepoint1);&nbsp;&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">s.connection().releaseSavepoint(savepoint1);&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />tx.commit();&nbsp;&nbsp;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><strong><span lang="EN-US"><font face="Calibri">Spring</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">对</span><span lang="EN-US"><font face="Calibri">Savepoint</font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">的支持</span></strong></p>
<p>&nbsp;<img height="473" alt="" src="http://www.blogjava.net/images/blogjava_net/zhanglongsr/2.jpg" width="637" border="0" longdesc="" /></p><img src ="http://www.blogjava.net/zhanglongsr/aggbug/369004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2012-01-30 11:36 <a href="http://www.blogjava.net/zhanglongsr/archive/2012/01/30/369004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下C访问MySQL实践</title><link>http://www.blogjava.net/zhanglongsr/archive/2011/10/31/362351.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Mon, 31 Oct 2011 03:16:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2011/10/31/362351.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/362351.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2011/10/31/362351.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/362351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/362351.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文主要讲述了在linux下，如何用c通过mysql c api访问mysql数据的问题，同时给出了demo&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2011/10/31/362351.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/362351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2011-10-31 11:16 <a href="http://www.blogjava.net/zhanglongsr/archive/2011/10/31/362351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache Benchmark(ab)使用</title><link>http://www.blogjava.net/zhanglongsr/archive/2011/09/15/358718.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Thu, 15 Sep 2011 08:09:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2011/09/15/358718.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/358718.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2011/09/15/358718.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/358718.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/358718.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache Benchmark简称为ab，是apache自带的用于HTTP Server测试的工具。它可以接受单一的URL，然后重复地按照指定的多个独立线程的方式加载，并使用不同的命令行参数控制访问的次数、最大的并发访问数等。另外一项不错的功能是可以输出比较详细的报告。&nbsp;语法 ab [ -A auth-userna...&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2011/09/15/358718.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/358718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2011-09-15 16:09 <a href="http://www.blogjava.net/zhanglongsr/archive/2011/09/15/358718.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java NIO Demo</title><link>http://www.blogjava.net/zhanglongsr/archive/2011/06/30/353443.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Thu, 30 Jun 2011 08:24:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2011/06/30/353443.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/353443.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2011/06/30/353443.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/353443.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/353443.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 里面采用java NIO进行通信管理，以前也了解过一些关于这方面的知识但是都不太系统，最近两天抽时间对这块进行一下扫盲。我主要参考以下两篇文章，个人认为这两篇文章还是不错的入门级文章，讲的比较通俗易懂。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/zhanglongsr/archive/2011/06/30/353443.html'>阅读全文</a><img src ="http://www.blogjava.net/zhanglongsr/aggbug/353443.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2011-06-30 16:24 <a href="http://www.blogjava.net/zhanglongsr/archive/2011/06/30/353443.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Amoeba源码解读一</title><link>http://www.blogjava.net/zhanglongsr/archive/2011/06/24/352978.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Fri, 24 Jun 2011 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2011/06/24/352978.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/352978.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2011/06/24/352978.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/352978.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/352978.html</trackback:ping><description><![CDATA[<p><br />下载安装包：amoeba-mysql-binary-2.1.0-RC5.tar.gz<br />下载源代码：<a href="http://amoeba.googlecode.com/svn/trunk">http://amoeba.googlecode.com/svn/trunk</a><br /></p>
<p><br />1.定位Amoeba启动类</p>
<p>打开amoeba.bat，经过分析，amoeba的启动是通过classworlds进行加载的，关于classworlds请参见<a href="http://classworlds.codehaus.org/launchusage.html">http://classworlds.codehaus.org/launchusage.html</a></p>
<p>在amoeba.bat中是通过以下语句来定位classworlds启动应用的配置项的<br /><br /></p>
<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 31px; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">set&nbsp;DEFAULT_OPTS</span><span style="color: #000000">=%</span><span style="color: #000000">DEFAULT_OPTS</span><span style="color: #000000">%</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">-Dclassworlds.conf=%AMOEBA_HOME%\bin\amoeba.classworlds</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p><br />以下是amoeba.classworlds的内容</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">main&nbsp;is&nbsp;com.meidusa.amoeba.server.AmoebaProxyServer&nbsp;from&nbsp;amoeba<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />[amoeba]<br /><img id="Codehighlighter1_80_92_Open_Image" onclick="this.style.display='none'; Codehighlighter1_80_92_Open_Text.style.display='none'; Codehighlighter1_80_92_Closed_Image.style.display='inline'; Codehighlighter1_80_92_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_80_92_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_80_92_Closed_Text.style.display='none'; Codehighlighter1_80_92_Open_Image.style.display='inline'; Codehighlighter1_80_92_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top">load&nbsp;$</span><span id="Codehighlighter1_80_92_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_80_92_Open_Text"><span style="color: #000000">{amoeba.home}</span></span><span style="color: #000000">/</span><span style="color: #000000">lib</span><span id="Codehighlighter1_97_137_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_97_137_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000">.jar<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />load&nbsp;${amoeba.home}/lib/classes<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span></div>
<p></span><br /><br /></p>
<p>意思就是amoeba应用是从com.meidusa.amoeba.server.AmoebaProxyServer开始启动的。</p>
<p><br />接下来把amoeba下的源文件和amoeba-mysql下的源文件导入到项目中，以及相关jar；<br /><br />为了能在bebug模式下启动，建议在debug-arguments下增加start arguments；<br /></p><img src ="http://www.blogjava.net/zhanglongsr/aggbug/352978.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2011-06-24 17:08 <a href="http://www.blogjava.net/zhanglongsr/archive/2011/06/24/352978.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编写跨平台代码注意事项</title><link>http://www.blogjava.net/zhanglongsr/archive/2009/08/19/291761.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Wed, 19 Aug 2009 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2009/08/19/291761.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/291761.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2009/08/19/291761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/291761.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/291761.html</trackback:ping><description><![CDATA[&nbsp;
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">上网找了一些资料，主要就是关于跨平台的一些细节：</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
1 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序设计的信息编码要注意，一般要采用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> ASCII</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">码字符集，并不是所有的操作系统都支持</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">Unicode</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">码。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
&nbsp; </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">后来研究一下，还是</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">UTF-8</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
2 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序中不要硬性编码与平台相关的任何常量，比如行分隔符、文件分隔符、路径分隔符等。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">在</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">unix</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">和</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">mac </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">中是</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&#8220;/&#8221;</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">，在</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">windows</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">里是</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&#8220;\&#8221;</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">如要用这些常量，要使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&nbsp; Java.util.properties </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">类的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">getProperty </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">方法。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">如：</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> Java.util.properties.getProperty("file.seParator")<br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">可以获得文件分隔符，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">getProperty("line.seParator") </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">返回行分隔符。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getProperty("path.seParator") </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">返回路径分隔符</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
3 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">编写跨平台网络程序时，不要使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> Java.net.InetAddress</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">类的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">getHostName</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">方法得到主机名，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">因为不同的平台的主机名格式不同。最好使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> getAddress</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">得到格式相同的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">IP</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">地址。另外，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序中的所有的主机都要换成</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">IP</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">地址。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
4 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">如写</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">GUI</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序，在使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">AWT</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">组件时不能硬性设置组件的大小和为止，而应该使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">JAVA</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">的布局管理器</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">(Layout manager)<br />
&nbsp; </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">来设置。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
5 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">不同的操作系统，不同的机器，系统支持的颜色和屏幕的大小和分辨率都不同，如何获得这些属性，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> Java.awt.systemcolor </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">类可以获得需要的颜色，如该类的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> inactiveCaption </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">就是窗口边框</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">活动标题背景色</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&nbsp;&nbsp; Menu</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">是菜单背景色，使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">Java.awt.Tookit </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> getScreenResolution</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">可以以</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
&#8220;</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">像素每英寸</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&#8221;</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">为单位显示分辨率。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">该类</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> getScreenSize </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">可以得到屏幕大小</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">(</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">英寸</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">), LoadSystemcolors </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">可以列出所有的系统颜色。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
6 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序中使用任何一个方法时，要详细查看文档，确保，使用的方法不是文档已经申明为过时的方法，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">也不是文档中未标明的隐含方法。</span></p>
<img src ="http://www.blogjava.net/zhanglongsr/aggbug/291761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2009-08-19 11:02 <a href="http://www.blogjava.net/zhanglongsr/archive/2009/08/19/291761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编写跨平台代码注意事项</title><link>http://www.blogjava.net/zhanglongsr/archive/2009/08/19/291760.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Wed, 19 Aug 2009 03:01:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2009/08/19/291760.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/291760.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2009/08/19/291760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/291760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/291760.html</trackback:ping><description><![CDATA[&nbsp;
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">上网找了一些资料，主要就是关于跨平台的一些细节：</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
1 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序设计的信息编码要注意，一般要采用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> ASCII</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">码字符集，并不是所有的操作系统都支持</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">Unicode</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">码。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
&nbsp; </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">后来研究一下，还是</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">UTF-8</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
2 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序中不要硬性编码与平台相关的任何常量，比如行分隔符、文件分隔符、路径分隔符等。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">在</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">unix</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">和</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">mac </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">中是</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&#8220;/&#8221;</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">，在</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">windows</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">里是</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&#8220;\&#8221;</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">如要用这些常量，要使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&nbsp; Java.util.properties </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">类的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">getProperty </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">方法。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">如：</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> Java.util.properties.getProperty("file.seParator")<br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">可以获得文件分隔符，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">getProperty("line.seParator") </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">返回行分隔符。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getProperty("path.seParator") </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">返回路径分隔符</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
3 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">编写跨平台网络程序时，不要使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> Java.net.InetAddress</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">类的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">getHostName</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">方法得到主机名，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">因为不同的平台的主机名格式不同。最好使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> getAddress</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">得到格式相同的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">IP</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">地址。另外，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序中的所有的主机都要换成</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">IP</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">地址。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
4 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">如写</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">GUI</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序，在使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">AWT</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">组件时不能硬性设置组件的大小和为止，而应该使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">JAVA</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">的布局管理器</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">(Layout manager)<br />
&nbsp; </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">来设置。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
5 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">不同的操作系统，不同的机器，系统支持的颜色和屏幕的大小和分辨率都不同，如何获得这些属性，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> Java.awt.systemcolor </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">类可以获得需要的颜色，如该类的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> inactiveCaption </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">就是窗口边框</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">活动标题背景色</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&nbsp;&nbsp; Menu</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">是菜单背景色，使用</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">Java.awt.Tookit </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">的</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> getScreenResolution</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">可以以</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
&#8220;</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">像素每英寸</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">&#8221;</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">为单位显示分辨率。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">该类</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"> getScreenSize </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">可以得到屏幕大小</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">(</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">英寸</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial">), LoadSystemcolors </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">可以列出所有的系统颜色。</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
<br />
6 </span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">程序中使用任何一个方法时，要详细查看文档，确保，使用的方法不是文档已经申明为过时的方法，</span><span lang="EN-US" style="font-size: 10pt; font-family: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"><br />
</span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial">也不是文档中未标明的隐含方法。</span></p>
<img src ="http://www.blogjava.net/zhanglongsr/aggbug/291760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2009-08-19 11:01 <a href="http://www.blogjava.net/zhanglongsr/archive/2009/08/19/291760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript的toString()方法自动调用</title><link>http://www.blogjava.net/zhanglongsr/archive/2009/08/13/291035.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Thu, 13 Aug 2009 08:20:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/archive/2009/08/13/291035.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/291035.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/archive/2009/08/13/291035.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/291035.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/291035.html</trackback:ping><description><![CDATA[今天在看完xtree.js代码后，发现一个问题。在执行javascript的document.write(obj)方法时，如果obj实现了prototype的toString()方法，document.wirte方法将能自动调用obj的toString()方法。代码如下：<br />   /*----------   树构造代码 ---------*/<br />        if (document.getElementById) {<br />           var tree = new WebFXTree('Root');<br />           tree.setBehavior('classic');<br />           var a = new WebFXTreeItem('1');<br />           tree.add(a);<br />           var b = new WebFXTreeItem('1.1');<br />           a.add(b);<br />          b.add(new WebFXTreeItem('1.1.1'));<br />          b.add(new WebFXTreeItem('1.1.2'));<br />          b.add(new WebFXTreeItem('1.1.3'));<br />          var f = new WebFXTreeItem('1.1.4');<br />          b.add(f);<br /><br />        <u><font color="#ff1493"> document.write(tree);<br /></font><br /></u>/*------------------ xtree.js代码片段 ----------*/<br /><br /><u><font color="#ff1493">WebFXTree.prototype.toString</font></u> = function() {<br />alert("it's here!");<br /> var str = "&lt;div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this, event)\"&gt;" +<br />  "&lt;img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' &amp;&amp; this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"&gt;" +<br />  "&lt;a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\"" +<br />  (this.target ? " target=\"" + this.target + "\"" : "") +<br />  "&gt;" + this.text + "&lt;/a&gt;&lt;/div&gt;" +<br />  "&lt;div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\"&gt;";<br /> var sb = [];<br /> for (var i = 0; i &lt; this.childNodes.length; i++) {<br />  sb[i] = this.childNodes[i].toString(i, this.childNodes.length);<br /> }<br /> this.rendered = true;<br /> return str + sb.join("") + "&lt;/div&gt;";<br />};<br /><br />经过跟踪，证实在执行document.write(tree)时，调用了<u><font color="#ff1493">WebFXTree.prototype.toString</font></u> 方法。<br /><img src ="http://www.blogjava.net/zhanglongsr/aggbug/291035.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2009-08-13 16:20 <a href="http://www.blogjava.net/zhanglongsr/archive/2009/08/13/291035.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>