﻿<?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-Programming on the fly-随笔分类-10.Java</title><link>http://www.blogjava.net/Werther/category/38034.html</link><description>Live as if you were to die tomorrow. Learn as if you were to live forever.
</description><language>zh-cn</language><lastBuildDate>Wed, 30 Jun 2010 10:35:04 GMT</lastBuildDate><pubDate>Wed, 30 Jun 2010 10:35:04 GMT</pubDate><ttl>60</ttl><item><title>Java中的四个核心技术思想</title><link>http://www.blogjava.net/Werther/archive/2010/06/30/324868.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 30 Jun 2010 04:59:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2010/06/30/324868.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/324868.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2010/06/30/324868.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/324868.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/324868.html</trackback:ping><description><![CDATA[<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; "><span class="Apple-tab-span" style="white-space:pre">	</span>JAVA已经成为一个庞大而复杂的技术平台，对于开发人员而言，要想更好的掌握JAVA技术，深入理解底层的技术处理细节必不可少。对核心概念和思想的掌握可以帮助我们举一反三、触类旁通，有助于提升我们对整个Java平台的理解力。这里所介绍的是Java技术平台的几个核心概念，其中所蕴含的思想有助于我们更深刻的理解Java技术。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; ">Java虚拟机</strong></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　Java虚拟机的主要任务是装在class文件并且执行其中的字节码。Java虚拟机包含一个类装载器，它可以从程序和API中装载class文件。Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　不同的Java虚拟机中，执行引擎可能实现得非常不同。在由软件实现的虚拟机中，最简单的执行引擎就是一次性解释字节码。另一种执行引擎更快，但是也更消耗内存，叫做"即时编译器(just-in-time compiler)"。在这种情况下，第一次被执行的字节码会被编译成本地机器代码。编译出的本地机器代码会被缓存，当方法以后被调用的时候可以重用。第三种执行引擎是自适应优化器。在这种方法里，虚拟机开始的时候解释字节码，但是会监视运行中程序的活动，并且记录下使用最频繁的代码段。程序运行的时候，虚拟机只把那些活动最频繁的代码编译成本地代码，其他的代码由于使用得不是很频繁，继续保留为字节码-由虚拟机继续解释它们。一个自适应的优化器可以使得Java虚拟机在80%~90%的时间里执行被优化过的本地代码，而只需要编译10%~20%的对性能有影响的代码。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　当Java虚拟机是由主机操作系统上的软件实现的时候，Java程序通过调用本地方法(native method)和主机交互。Java中有两种方法: Java方法和本地方法。Java方法是由Java语言编写，编译成字节码文件，存储在class文件中的。本地方法是由其他语言(比如c,c++或汇编语言)编写的，编译成何处理器相关的机器代码。本地方法保存在动态链接库中,格式是各个平台专有的。运行中Java程序调用本地方法时，虚拟机装载包含这个本地方法的动态库，并调用这个方法。本地方法是联系Java程序和底层主机操作系统的连接方法。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　通过本地方法，Java程序可以直接访问底层操作系统的资源。一个本地方法接口(Java Native Interface, JNI)-使得本地方法可以在特定主机系统的任何一个Java平台实现上运行。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　如果希望使用特定主机上的资源，它们又无法从Java API访问，那么可以写一个平台相关的Java程序来调用本地方法。如果希望保证程序的平台无关性，那么只能通过Java API来访问底层系统资源。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; ">类装载器的体系结构</strong></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　一个Java应用程序可以使用两种类装载器："启动(bootstrap)"类装载器和用户定义的类装载器。启动类装载器(这是系统中唯一的)是Java虚拟机实现的一部分。启动类装载器通常使用某种默认方式从本地磁盘中装载类，包括Java API类(启动类装载器也被称为原始类装载器、系统类装载器或者默认类装载器)。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　Java应用程序能够在运行时安装用户定义的类装载器，这种类装载器能够使用自定义的方式来装载类。例如，从网络下载class文件。尽管启动类装载器是虚拟机实现的本质部分，而用户定义的类装载器不是，但用户定义的类装载器能够用Java来编写,能够被编译成class文件，能够被虚拟机装载，还能够像其它对象一样实例化。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　由于有用户定义类装载器，所以不必再编译的时候就知道运行中的Java应用程序中最终会加入的所有的类。用户定义的类装载器使得在运行扩展Java应用程序成为可能。当它运行时，应用程序能够解决它需要哪些额外的类，能够决定是使用一个或是更多的用户定义的类装载器来装载。由于类装载器是用Java编写的，所以用任何在Java代码中可以表述的风格来进行类装载。这些类可以通过网络下载，可以从某些数据库中获取，甚至可以动态生成。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　每一个类被装载的时候，Java虚拟机都监视这个类，看到它到底是被启动类装载器还是被用户定义类装载器装载。当被装载的类引用了另外一个类时，虚拟机就会使用装载第一个类的类装载器装载引用的类。例如，如果虚拟机使用一个特定的类装载器装载Volcano这个类，它就会使用这个类装载器装载Volcano类使用的所有类。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　由于Java虚拟机采取这种方式进行类的装载，所以被装载的类默认情况下只能看到被同一个类装载器装载的别的类。通过这种方法，Java的体系结构允许在一个Java应用程序中建立多个命名空间。运行时的Java程序中的每一个类装载器都有自己的命名空间。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　Java应用程序可以创建多少个(或多少种)被不同的类装载器装载的类存放在不同的命名空间中，它们不能相互访问，除非应用程序显示地允许这么做。当编写一个Java应用程序的时候，从不同源文件装载的类可以分隔在不同的命名空间中。通过这种方法，就能够使用Java类装载器的体系结构来控制任何不同源文件中装载的代码之间的相互影响，特别是能够阻止恶意代码获取访问或破坏善意代码的权限。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　Web浏览器是一个动态扩展的例子，Web浏览器使用用户定义的类装载器从网络下载用于Java applet的class文件。Web浏览器使用一个用来安装用户定义类装载器的Java应用程序。这个用户定义的类装载器通常被称为Java Applet类装载器，它知道如何向HTTP服务器请求class文件。Java Applet可以作为动态扩展的例子，因为Java应用程序并不知道它什么时候会开始从网络下载浏览器请求的class文件。只有当浏览器遇到有Java applet的页面时，才决定是否需要下载class文件。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　Web浏览器启动的Java应用程序通常为每个提供class文件的网络地址分别创建不同的用户定义类装载器，因此，不同的用户定义类装载器装载不同来源的class文件。这就可以把它们分别放置在Java主机应用程序的不同命名空间之下。由于不同来源的Java applet文件放置在不同的命名空间中，恶意的Java applet代码就不会直接访问从别的地方下载的class文件。这就能够限制或阻止不同来源的代码之间的相互访问。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; ">Java class文件</strong></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　Java class文件主要在平台无关性和网络移动性方面使Java更适合网络。它在平台无关性方面的任务是：为Java程序提供独立于底层主机平台的二进制形式的服务。这种途径途径打破了C或者C++等语言所遵循的传统，使用这些传统语言写的程序通常首先被编译，然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下，一个平台上的二进制可执行文件不能在其他平台上工作。而Java class文件时可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　当编译和连接一个C++程序时，所获得的可执行二进制文件只能在指定的硬件平台和操作系统上运行，因为这个二进制文件包含了对目标处理器的机器语言。而Java编译器把Java源文件的指令翻译成字节码，这种字节码就是Java虚拟机的"机器语言"。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　class文件设计得紧凑，因此它们可以快速地在网络上传送。其次，由于Java程序是动态连接和动态扩展的，class文件可以在需要的时候才下载。这个特点使得Java应用程序能够安排从网络上下载class文件的时间，从而可以最大限度地减少终端用户的等待时间。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; ">Java API</strong></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　Java API通过支持平台无关性和安全性，使得Java适应于网络应用。Java API是运行库的集合，它提供了一套访问主机系统资源的标准方法。运行Java程序时，虚拟机装载程序的class文件所使用的Java API class文件。所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了再Java虚拟机上运行的整个程序。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　在一个平台能偶支持Java程序以前，必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源，Java API调用了本地方法。由于Java API class文件调用了本地方法，Java程序就不需要再调用它们了。通过这种方法，Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。对Java程序而言，无论平台内部如何，Java API都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java虚拟机和Java API,因此，Java程序自身就能够成为具有平台无关性的程序。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-family: 宋体; font-size: 14px; line-height: 25px; ">　　Java API在Java安全性模型方面也有贡献。当Java API的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前，都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类，该类用来执行栈检验，已决定是否允许某种操作。</p>
<img src ="http://www.blogjava.net/Werther/aggbug/324868.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2010-06-30 12:59 <a href="http://www.blogjava.net/Werther/archive/2010/06/30/324868.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅析jQuery框架与构造对象 </title><link>http://www.blogjava.net/Werther/archive/2010/05/05/320153.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 05 May 2010 14:50:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2010/05/05/320153.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/320153.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2010/05/05/320153.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/320153.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/320153.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这是一些分析jQuery框架的文字 <br>    针对jQuery 1.3.2版本<br><br>    面向的读者应具备以下要求<br><br>    1.非常熟悉HTML<br>       2.非常熟悉javascript语法知识<br>    3.熟悉javascript面向对象方面的知识<br>    4.熟练使用jQuery框架&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2010/05/05/320153.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/320153.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2010-05-05 22:50 <a href="http://www.blogjava.net/Werther/archive/2010/05/05/320153.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java中set map list的区别</title><link>http://www.blogjava.net/Werther/archive/2010/03/17/315664.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 17 Mar 2010 03:01:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2010/03/17/315664.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/315664.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2010/03/17/315664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/315664.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/315664.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: set －－其中的值不允许重复，无序的数据结构 <br>list   －－其中的值允许重复，因为其为有序的数据结构 <br>map－－成对的数据结构，健值必须具有唯一性（键不能同，否则值替换） &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2010/03/17/315664.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/315664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2010-03-17 11:01 <a href="http://www.blogjava.net/Werther/archive/2010/03/17/315664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Java操作JSON字符串对象</title><link>http://www.blogjava.net/Werther/archive/2010/01/20/310262.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 20 Jan 2010 09:59:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2010/01/20/310262.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/310262.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2010/01/20/310262.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/310262.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/310262.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 如果我们需要实现一个配置管理的功能，那么为每个配置项目增加一个字段既复杂也不利于扩展，所以我们通常使用一个字符串来保存配置项目信息，这里介绍如何使用json的字符串解析来达到刚才说的目的。引入Json需要的类库： <br>&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2010/01/20/310262.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/310262.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2010-01-20 17:59 <a href="http://www.blogjava.net/Werther/archive/2010/01/20/310262.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse插件开发之FindBugs插件</title><link>http://www.blogjava.net/Werther/archive/2010/01/11/308974.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Mon, 11 Jan 2010 00:55:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2010/01/11/308974.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/308974.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2010/01/11/308974.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/308974.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/308974.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 当我们编写完代码，做完单元测试等各种测试后就提交正式运行，只能由运行的系统来检测我们代码是否有问题了，代码中隐藏的错误在系统运行的过程中被发现后，然后再来进行相应的修改，那么后期修改的代价就相当高了。&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2010/01/11/308974.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/308974.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2010-01-11 08:55 <a href="http://www.blogjava.net/Werther/archive/2010/01/11/308974.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse中配置Ajax的DWR的简单方法 </title><link>http://www.blogjava.net/Werther/archive/2009/12/30/307707.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 30 Dec 2009 01:44:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/12/30/307707.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/307707.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/12/30/307707.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/307707.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/307707.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 前一段第一次配置DWR，按照一些说明文档配置，结果总是有问题，最后我用这种简单的方法搞定了，同大家分享一下，让第一次配置DWR的朋友再也不会像我这样痛苦。&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/12/30/307707.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/307707.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-12-30 09:44 <a href="http://www.blogjava.net/Werther/archive/2009/12/30/307707.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Excel API 使用方法</title><link>http://www.blogjava.net/Werther/archive/2009/12/17/306411.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Thu, 17 Dec 2009 10:14:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/12/17/306411.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/306411.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/12/17/306411.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/306411.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/306411.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Workbook类提供的方法,API提供了两种方式来处理可写入的输出流，一种是直接生成本地文件，如果文件名不带全路径的话，缺省的文件会定位在当前目录，如果文件名带有全路径的话，则生成的Excel文件则会定位在相应的目录；另外一种是将Excel对象直接写入到输出流，例如：用户通过浏览器来访问Web服务器，如果HTTP头设置正确的话，浏览器自动调用客户端的Excel应用程序，来显示动态生成的Excel电子表格。  &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/12/17/306411.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/306411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-12-17 18:14 <a href="http://www.blogjava.net/Werther/archive/2009/12/17/306411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java生成UUID通用唯一识别码 </title><link>http://www.blogjava.net/Werther/archive/2009/12/14/305925.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Mon, 14 Dec 2009 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/12/14/305925.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/305925.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/12/14/305925.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/305925.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/305925.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: UUID含义是通用唯一识别码 (Universally Unique Identifier)，这 是一个软件建构的标准，也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的，是让分布式系统中的所有元素，都能有唯一的辨识资讯，而不需要透过中央控制端来做辨识资讯的指定。如此一来，每个人都可以建立不与其它人冲突的 UUID。在这样的情况下，就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID，即是微软的 Microsoft's Globally Unique Identifiers (GUIDs)，而其他重要的应用，则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。 &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/12/14/305925.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/305925.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-12-14 17:19 <a href="http://www.blogjava.net/Werther/archive/2009/12/14/305925.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>instanceof 运算符的用法</title><link>http://www.blogjava.net/Werther/archive/2009/11/25/303561.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 25 Nov 2009 01:47:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/11/25/303561.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/303561.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/11/25/303561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/303561.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/303561.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出，这个对象是否是这个特定类或者是它的子类的一个实例。&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/11/25/303561.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/303561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-11-25 09:47 <a href="http://www.blogjava.net/Werther/archive/2009/11/25/303561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不同方式遍历Map集合</title><link>http://www.blogjava.net/Werther/archive/2009/11/23/303281.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Mon, 23 Nov 2009 01:21:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/11/23/303281.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/303281.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/11/23/303281.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/303281.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/303281.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     Map是一种以键值对的形式存在的集合,其中每个键映射到一个值，几乎所有通用 Map 都使用哈希映射。位于java.util包中。其子类有HashMap,TreeMap。HashMap缺省的情况下是线程非安全的;当多线程访问时可能需要提供同步机制，key和value的值允许为null,键值允许重复，没有顺序。 <br> <br>&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/11/23/303281.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/303281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-11-23 09:21 <a href="http://www.blogjava.net/Werther/archive/2009/11/23/303281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>页面显示的处理!</title><link>http://www.blogjava.net/Werther/archive/2009/11/19/302891.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Thu, 19 Nov 2009 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/11/19/302891.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/302891.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/11/19/302891.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/302891.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/302891.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:         我们在页面显示的时候,都希望页面整整齐齐,不希望相同的显示表单,显示的效果相差大小不统一,如:一个文本框有过多的内容,在页面显示出来的结果就会自动换行,导致显示的结果以两行或更多行进行显示,如果内容较少,怎只要一行即可,所以,为了杜绝页面显示的杂乱,我们需要在action层对要显示的内容进行处理,如果超过多少字符,后面用... ... (省略号)代替.&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/11/19/302891.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/302891.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-11-19 10:33 <a href="http://www.blogjava.net/Werther/archive/2009/11/19/302891.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>logic:present 和 logic:empty标签 </title><link>http://www.blogjava.net/Werther/archive/2009/11/10/301808.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Tue, 10 Nov 2009 04:45:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/11/10/301808.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/301808.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/11/10/301808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/301808.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/301808.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: logic:present 和 logic:empty他们的用法大致相同，唯一的不同点是：两者在对空字符串的处理上存在着不同。&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/11/10/301808.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/301808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-11-10 12:45 <a href="http://www.blogjava.net/Werther/archive/2009/11/10/301808.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分治算法</title><link>http://www.blogjava.net/Werther/archive/2009/11/06/301416.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Fri, 06 Nov 2009 05:01:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/11/06/301416.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/301416.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/11/06/301416.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/301416.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/301416.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在计算机科学中，分治法是一种很重要的算法。字面上的解释是“分而治之”，就是把一个复杂的问题分成两个或更多的相同或相似的子问题，再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解，原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础，如排序算法(快速排序，归并排序)，傅立叶变换(快速傅立叶变换)…… &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/11/06/301416.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/301416.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-11-06 13:01 <a href="http://www.blogjava.net/Werther/archive/2009/11/06/301416.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java正则表达式应用总结</title><link>http://www.blogjava.net/Werther/archive/2009/10/17/298665.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Sat, 17 Oct 2009 03:16:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/10/17/298665.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/298665.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/10/17/298665.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/298665.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/298665.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一、概述<br>正则表达式是Java处理字符串、文本的重要工具。<br>Java对正则表达式的处理集中在以下两个两个类：<br>java.util.regex.Matcher   模式类：用来表示一个编译过的正则表达式。<br>java.util.regex.Pattern   匹配类：用模式匹配一个字符串所表达的抽象结果。&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/10/17/298665.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/298665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-10-17 11:16 <a href="http://www.blogjava.net/Werther/archive/2009/10/17/298665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Post和Get的区别</title><link>http://www.blogjava.net/Werther/archive/2009/08/06/290155.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Thu, 06 Aug 2009 12:36:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/08/06/290155.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/290155.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/08/06/290155.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/290155.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/290155.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.Post传输数据时，不需要在URL中显示出来，而Get方法要在URL中显示。 <br>2.Post传输的数据量大，可以达到2M，而Get方法由于受到URL长度的限制,只能传递大约1024字节. <br>3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容，而Get是在Http头部传输的。 &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/08/06/290155.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/290155.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-08-06 20:36 <a href="http://www.blogjava.net/Werther/archive/2009/08/06/290155.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>迭代器模式(Iterator pattern)</title><link>http://www.blogjava.net/Werther/archive/2009/08/05/289995.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 05 Aug 2009 12:45:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/08/05/289995.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/289995.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/08/05/289995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/289995.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/289995.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的遍历：<br>Iterator it = list.iterator();<br>while(it.hasNext()){<br>　//using “it.next();”do some businesss logic<br>}<br>而这就是关于迭代器模式应用很好的例子。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/08/05/289995.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/289995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-08-05 20:45 <a href="http://www.blogjava.net/Werther/archive/2009/08/05/289995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用Ant和XDoclet自动产生映射文件例子   </title><link>http://www.blogjava.net/Werther/archive/2009/08/04/289872.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Tue, 04 Aug 2009 13:44:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/08/04/289872.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/289872.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/08/04/289872.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/289872.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/289872.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 下载Xdoclet，网址：http://xdoclet.sourceforge.net/<br>新建包com.test.model，存放实体类Group，User&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/08/04/289872.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/289872.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-08-04 21:44 <a href="http://www.blogjava.net/Werther/archive/2009/08/04/289872.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开发工具下载地址</title><link>http://www.blogjava.net/Werther/archive/2009/07/29/288954.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 29 Jul 2009 13:16:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/07/29/288954.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/288954.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/07/29/288954.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/288954.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/288954.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Java常用工具下载&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/07/29/288954.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/288954.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-07-29 21:16 <a href="http://www.blogjava.net/Werther/archive/2009/07/29/288954.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring多数据源解决方案 </title><link>http://www.blogjava.net/Werther/archive/2009/07/27/288643.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Mon, 27 Jul 2009 13:54:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/07/27/288643.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/288643.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/07/27/288643.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/288643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/288643.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  在很多大型应用中都会对数据进行切分，并且采用多个数据库实例进行管理，这样可以有效提高系统的水平伸缩性。而这样的方案就会不同于常见的单一数据实例的方案，这就要程序在运行时根据当时的请求及系统状态来动态的决定将数据存储在哪个数据库实例中，以及从哪个数据库提取数据。 &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/07/27/288643.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/288643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-07-27 21:54 <a href="http://www.blogjava.net/Werther/archive/2009/07/27/288643.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实战体会Java多线程编程精要 </title><link>http://www.blogjava.net/Werther/archive/2009/07/21/287656.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Tue, 21 Jul 2009 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/07/21/287656.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/287656.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/07/21/287656.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/287656.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/287656.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     在 Java 程序中使用多线程要比在 C 或 C++ 中容易得多，这是因为 Java 编程语言提供了语言级的支持。本文通过简单的编程示例来说明 Java 程序中的多线程是多么直观。读完本文以后，用户应该能够编写简单的多线程程序。 &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/07/21/287656.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/287656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-07-21 15:30 <a href="http://www.blogjava.net/Werther/archive/2009/07/21/287656.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java技巧之双括弧初始化</title><link>http://www.blogjava.net/Werther/archive/2009/07/14/286724.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Tue, 14 Jul 2009 08:47:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/07/14/286724.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/286724.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/07/14/286724.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/286724.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/286724.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这是我在JavaIdioms(http://www.c2.com/cgi/wiki?JavaIdioms)上看到一个Java使用技巧。使用Java这么多年了，也还是头一次看到，还很实用。别看这小技巧好像很简单，但保证你不会在任何一书Java教材上看到，因为它不是一个真正的语法规范，而是一个语法的用法变种。小技巧还蕴含着Java的深层知识，就是身经百战的老手也不一定能说出其中奥妙。&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/07/14/286724.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/286724.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-07-14 16:47 <a href="http://www.blogjava.net/Werther/archive/2009/07/14/286724.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java单实例的好处</title><link>http://www.blogjava.net/Werther/archive/2009/07/08/285897.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 08 Jul 2009 01:03:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/07/08/285897.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/285897.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/07/08/285897.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/285897.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/285897.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 单例模式 <br>定义: <br>Singleton模式主要作用是保证在Java应用程序中，一个类Class只有一个实例存在。 &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/07/08/285897.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/285897.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-07-08 09:03 <a href="http://www.blogjava.net/Werther/archive/2009/07/08/285897.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java的垃圾回收总结 </title><link>http://www.blogjava.net/Werther/archive/2009/07/05/285594.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Sun, 05 Jul 2009 13:53:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/07/05/285594.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/285594.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/07/05/285594.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/285594.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/285594.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     垃圾回收是Java语言的一大特性，方便了编程，是以消耗性能为代价的。而垃圾在这里只无用的对象。而C++是需要程序员自己写析构函数来释放内存的，麻烦，也有可能忘记而导致内存泄露。<br><br>    Java语言对内存的分配管理是通过JVM内部机制决定的。程序员可以不关心其处理。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/07/05/285594.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/285594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-07-05 21:53 <a href="http://www.blogjava.net/Werther/archive/2009/07/05/285594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>采用EJB开发的三个优势 </title><link>http://www.blogjava.net/Werther/archive/2009/06/17/282933.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 17 Jun 2009 14:51:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/06/17/282933.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/282933.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/06/17/282933.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/282933.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/282933.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 　JAVA语言已经慢慢的在成为主流的开发语言之一，或者说现在已经成为了主流的开发语言。在JAVA语言平台上，也出现了多种开发模型。对于刚入门的JAVA程序员来说，也许面对这么多的开发模型，会眼花缭乱，不知道该如何选择。笔者刚开始接触JAVA语言的时候没有多少的开发模型可以选择。而前几年笔者也遇到了这个问题。可选的开发模型比较多，笔者必须选择一个开发模型作为未来自己的主攻方向。因为人的精力是有限的，特别是我们做程序开发的。我们要把有限的精力花在刀口上。笔者在这里向大家推荐EJB开发模型。 &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/06/17/282933.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/282933.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-06-17 22:51 <a href="http://www.blogjava.net/Werther/archive/2009/06/17/282933.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于session </title><link>http://www.blogjava.net/Werther/archive/2009/06/16/282717.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Tue, 16 Jun 2009 14:53:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/06/16/282717.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/282717.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/06/16/282717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/282717.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/282717.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 以前用session时只知道session是和服务器连接的一个会话，有几个常用的接口。 <br>这两天仔细看了下这方面的资料，在这里和大家一起分享，如果有写的不正确的地方，请指正，谢谢。 <br>下面我们在一个servlet中写测试程序，class名为SeesinInfoServlet，我们一般在程序中取得session是用 <br>request的getSession()来取得容器中的session，该方法当容器中已经存在了该session的时候，返回已经存 <br>在的session，否则创建一个新的session，然后返回创建的session。&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/06/16/282717.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/282717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-06-16 22:53 <a href="http://www.blogjava.net/Werther/archive/2009/06/16/282717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jstl的函数库</title><link>http://www.blogjava.net/Werther/archive/2009/06/12/281903.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Fri, 12 Jun 2009 10:43:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/06/12/281903.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/281903.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/06/12/281903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/281903.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/281903.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 使用实例：<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> ${fn:length(myCollection)} <br>&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/06/12/281903.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/281903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-06-12 18:43 <a href="http://www.blogjava.net/Werther/archive/2009/06/12/281903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSTL详解 </title><link>http://www.blogjava.net/Werther/archive/2009/06/11/281587.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Thu, 11 Jun 2009 11:14:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/06/11/281587.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/281587.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/06/11/281587.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/281587.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/281587.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 　JSTL（JSP Standard　Tag　Library　，JSP标准标签库)是一个不断完善的开放源代码的JSP标签库，是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上，如tomcat 4.x。在JSP 2.0中也是作为标准支持的。&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/06/11/281587.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/281587.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-06-11 19:14 <a href="http://www.blogjava.net/Werther/archive/2009/06/11/281587.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java正则表达式的解释说明 </title><link>http://www.blogjava.net/Werther/archive/2009/06/10/281198.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Wed, 10 Jun 2009 09:55:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/06/10/281198.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/281198.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/06/10/281198.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/281198.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/281198.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:   在Java程序中,如果你懂得運用正則運算式,會讓你少寫很多程序代碼.如下是對正則運算式的解释说明 &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/06/10/281198.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/281198.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-06-10 17:55 <a href="http://www.blogjava.net/Werther/archive/2009/06/10/281198.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA字符串转日期或日期转字符串</title><link>http://www.blogjava.net/Werther/archive/2009/06/09/280954.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Tue, 09 Jun 2009 08:12:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/06/09/280954.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/280954.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/06/09/280954.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/280954.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/280954.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  文章中，用的API是SimpleDateFormat，它是属于java.text.SimpleDateFormat，所以请记得import进 <br>来！<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/06/09/280954.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/280954.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-06-09 16:12 <a href="http://www.blogjava.net/Werther/archive/2009/06/09/280954.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实例讲解Struts原理与实践 </title><link>http://www.blogjava.net/Werther/archive/2009/06/08/280757.html</link><dc:creator>Werther</dc:creator><author>Werther</author><pubDate>Mon, 08 Jun 2009 14:09:00 GMT</pubDate><guid>http://www.blogjava.net/Werther/archive/2009/06/08/280757.html</guid><wfw:comment>http://www.blogjava.net/Werther/comments/280757.html</wfw:comment><comments>http://www.blogjava.net/Werther/archive/2009/06/08/280757.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Werther/comments/commentRss/280757.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Werther/services/trackbacks/280757.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:    这个Struts原理的例子功能非常简单，假设有一个名为lhb的用户，其密码是awave，程序要完成的任务是，呈现一个登录界面给用户，如果用户输入的名称和密码都正确返回一个欢迎页面给用户，否则，就返回登录页面要求用户重新登录并显示相应的出错信息。这个例子在我们讲述Struts原理的基础部分时会反复用到。之所以选用这个简单的程序作为例子是因为不想让过于复杂的业务逻辑来冲淡我们的主题。 &nbsp;&nbsp;<a href='http://www.blogjava.net/Werther/archive/2009/06/08/280757.html'>阅读全文</a><img src ="http://www.blogjava.net/Werther/aggbug/280757.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Werther/" target="_blank">Werther</a> 2009-06-08 22:09 <a href="http://www.blogjava.net/Werther/archive/2009/06/08/280757.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>