﻿<?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>C++博客-Shuffy-随笔分类-Java</title><link>http://www.cppblog.com/Sandywin/category/8381.html</link><description>&lt;body 
bgproperties="fixed";
background="http://www.cppblog.com/images/cppblog_com/Sandywin/4194/o_the,dreamy,world,115828072343234.jpg" wight=1024 height=768&gt;
&lt;b&gt;不断的学习，不断的思考，才能不断的进步.Let's do better together!&lt;/b&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 30 Oct 2012 09:23:31 GMT</lastBuildDate><pubDate>Tue, 30 Oct 2012 09:23:31 GMT</pubDate><ttl>60</ttl><item><title>HIBERNATE连接数据库时各个不同的数据库中用不同的方言</title><link>http://www.cppblog.com/Sandywin/archive/2012/10/30/194084.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Tue, 30 Oct 2012 05:20:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2012/10/30/194084.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/194084.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2012/10/30/194084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/194084.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/194084.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: HIBERNATE连接数据库时各个不同的数据库中用不同的方言&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2012/10/30/194084.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/194084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2012-10-30 13:20 <a href="http://www.cppblog.com/Sandywin/archive/2012/10/30/194084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>理解Java对象序列化</title><link>http://www.cppblog.com/Sandywin/archive/2012/03/07/167294.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Wed, 07 Mar 2012 02:00:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2012/03/07/167294.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/167294.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2012/03/07/167294.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/167294.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/167294.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Java平台允许我们在内存中创建可复用的Java对象，但一般情况下，只有当JVM处于运行时，这些对象才可能存在，即，这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中，就可能要求在JVM停止运行之后能够保存(持久化)指定的对象，并在将来重新读取被保存的对象。Java对象序列化就能够帮助我们实现该功能。使用Java对象序列化，在保存对象时，会把其状态保存为一组字节，在未来，再将这些字节组装成对象。必须注意地是，对象序列化保存的是对象的"状态"，即它的成员变量。由此可知，对象序列化不会关注类中的静态变量。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2012/03/07/167294.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/167294.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2012-03-07 10:00 <a href="http://www.cppblog.com/Sandywin/archive/2012/03/07/167294.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微博短网址原理(ShortUrl)算法</title><link>http://www.cppblog.com/Sandywin/archive/2011/11/04/159609.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Fri, 04 Nov 2011 06:06:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/11/04/159609.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/159609.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/11/04/159609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/159609.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/159609.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 短网址一直都在微博上应用。例如腾讯微博的短网址url.cn，新浪的sinaurl.cn等。 他们是如何实现呢，本文将介绍一下该技术算法！短网址一直都在微博上应用。例如腾讯微博的短网址url.cn，新浪的sinaurl.cn等。 他们是如何实现呢，本文将介绍一下该技术算法！比如我们在腾讯微博上发布网址的时候，微博会自动判别网址，并将其转换，例如转换为：http://url.cn/3fVZf1&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/11/04/159609.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/159609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-11-04 14:06 <a href="http://www.cppblog.com/Sandywin/archive/2011/11/04/159609.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面向接口编程</title><link>http://www.cppblog.com/Sandywin/archive/2011/10/18/158604.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Tue, 18 Oct 2011 03:50:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/18/158604.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/158604.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/18/158604.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/158604.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/158604.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在一个面向对象的系统中，系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下，各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了；而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信，大到各模块之间的交互，在系统设计之初都是要着重考虑的，这也是系统设计的主要工作内容。面向接口编程就是指按照这种思想来编程。 &nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/18/158604.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/158604.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-18 11:50 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/18/158604.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面向切面(AOP)与面向对象(OOP)</title><link>http://www.cppblog.com/Sandywin/archive/2011/10/18/158597.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Mon, 17 Oct 2011 17:15:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/18/158597.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/158597.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/18/158597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/158597.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/158597.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: AOP和OOP是两种不同的认识事物的角度,并不是说有了AOP就不要用OOP.AOP所关注的是传统OOP不能优雅解决的问题&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/18/158597.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/158597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-18 01:15 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/18/158597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AOP技术基础</title><link>http://www.cppblog.com/Sandywin/archive/2011/10/18/158596.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Mon, 17 Oct 2011 17:07:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/18/158596.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/158596.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/18/158596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/158596.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/158596.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: AOP技术的诞生并不算晚，早在1990年开始，来自Xerox Palo Alto Research Lab（即PARC）的研究人员就对面向对象思想的局限性进行了分析。他们研究出了一种新的编程思想，借助这一思想或许可以通过减少代码重复模块从而帮助开发人员提高工作效率。随着研究的逐渐深入，AOP也逐渐发展成一套完整的程序设计思想，各种应用AOP的技术也应运而生。&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/18/158596.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/158596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-18 01:07 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/18/158596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AOP的四种主要Java实现方式 </title><link>http://www.cppblog.com/Sandywin/archive/2011/10/18/158595.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Mon, 17 Oct 2011 17:02:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/18/158595.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/158595.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/18/158595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/158595.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/158595.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 据统计，目前与AOP相关的项目已达近百种，而基于Java的AOP实现机制也有二十多种，以下所列举的是商业上得到成熟应用的几种基于Java的AOP的实现机制。 &nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/18/158595.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/158595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-18 01:02 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/18/158595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反向控制和面向切面编程在Spring的应用</title><link>http://www.cppblog.com/Sandywin/archive/2011/10/18/158592.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Mon, 17 Oct 2011 16:20:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/18/158592.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/158592.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/18/158592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/158592.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/158592.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 针对传统的J2EE架构方案常常无法让人满意：程序过于复杂，难以测试和维护成本高。根据企业实际需求，本文探讨了一种轻量级的J2EE应用框架Spring ，它用更加轻量、更加灵活的基础设施取代了EJB。在此对Spring背后的反向控制原理和面向切面编程技术进行了比较深入研究，并与传统实现进行对比，显示了这种框架具有大大降低开发成本，可测试等优点。&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/18/158592.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/158592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-18 00:20 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/18/158592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面向切面编程</title><link>http://www.cppblog.com/Sandywin/archive/2011/10/18/158591.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Mon, 17 Oct 2011 16:16:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/18/158591.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/158591.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/18/158591.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/158591.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/158591.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Aspect Oriented Programming(AOP)，面向切面编程，是一个比较热门的话题。AOP主要实现的目的是针对业务处理过程中的切面进行提取，它所面对的是处理过程中的某个步骤或阶段，以获得逻辑过程中各部分之间低耦合性的隔离效果。&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/18/158591.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/158591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-18 00:16 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/18/158591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>简单介绍J2EE应用的五种核心策略</title><link>http://www.cppblog.com/Sandywin/archive/2011/10/09/157849.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Sun, 09 Oct 2011 03:30:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/09/157849.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/157849.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/09/157849.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/157849.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/157849.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 　作为应用系统的负责人，一直被要求"要少花钱多办事"----用更少的硬件，更少的网络带宽，以及更短的时间完成更多的任务。J2EE通过提供组件方式和通用的中间件服务是目前首选的最优方式。而要能够构建一个具有高性能和可扩展性的J2EE应用，需要遵循一些基本的架构策略。&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/09/157849.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/157849.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-09 11:30 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/09/157849.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2EE介绍</title><link>http://www.cppblog.com/Sandywin/archive/2011/10/09/157848.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Sun, 09 Oct 2011 03:29:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/09/157848.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/157848.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/09/157848.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/157848.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/157848.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: J2EE是一套全然不同于传统应用开发的技术架构，包含许多组件，主要可简化且规范应用系统的开发与部署，进而提高可移植性、安全与再用价值。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/09/157848.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/157848.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-09 11:29 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/09/157848.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tiles框架使用总结</title><link>http://www.cppblog.com/Sandywin/archive/2011/10/09/157844.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Sun, 09 Oct 2011 02:45:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/10/09/157844.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/157844.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/10/09/157844.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/157844.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/157844.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Tiles框架为创建Web页面提供了一种模板机制，它能将网页的布局和内容分离。它允许先创建模板，然后在运行时动态地将内容插入到模板中。Tiles框架建立在JSP的include指令的基础上，但它提供了比JSP的include指令更强大的功能。&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/10/09/157844.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/157844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-10-09 10:45 <a href="http://www.cppblog.com/Sandywin/archive/2011/10/09/157844.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>嵌套类和匿名类</title><link>http://www.cppblog.com/Sandywin/archive/2011/09/26/156816.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Mon, 26 Sep 2011 02:37:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/09/26/156816.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/156816.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/09/26/156816.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/156816.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/156816.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 当进行Java开发时,有时需要实现一个仅包含1-2个方法的接口.在AWT和Swing开发中经常出现这种情况,例如当一个display组件需要一个事件回调方法如一个按钮的ActionListener时. 如果使用普通的类来实现此操作,最终会得到很多仅在单个位置上使用的小型类. 内部类用于处理这种情况,java允许定义内部类,而且可在Gui外使用内部类.<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2011/09/26/156816.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/156816.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-09-26 10:37 <a href="http://www.cppblog.com/Sandywin/archive/2011/09/26/156816.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java数组浅析</title><link>http://www.cppblog.com/Sandywin/archive/2011/09/14/155748.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Wed, 14 Sep 2011 06:00:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2011/09/14/155748.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/155748.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2011/09/14/155748.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/155748.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/155748.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; <a href="http://www.qqread.com/java/w537102002.html">数组</a>（array）是相同类型变量的集合，可以使用共同的名字引用它。<a href="http://www.qqread.com/java/2008/07/w417410.html">数组</a>可被定义为任何类型，可以是一维或多维。数组中的一个特别要素是通过下标来<a href="http://www.qqread.com/pcbase/j281022.html">访问</a>它。数组提供了一种将有联系的信息分组的便利方法。注意：如果你熟悉C/C++，请<a href="http://www.qqread.com/win7/y475811.html">注意</a>， <strong>Java</strong>数组的工作原理与它们不同。 
<p>&nbsp;&nbsp;&nbsp; 1、<a href="http://www.qqread.com/network/server/s376178181.html">数组</a>不是集合，它只能保存同种类型的多个原始类型或者对象的引用。<a href="http://www.qqread.com/java/2008/06/w416323.html">数组</a>保存的仅仅是对象的引用，而不是对象本身。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 2、<a href="http://www.qqread.com/java/2008/03/w403963.html">数组</a>本身就是对象，<strong>Java</strong>中对象是在堆中的，因此数组无论保存原始<a href="http://www.qqread.com/pcbase/2009/06/c466036.html">类型</a>还是其他对象类型，数组对象本身是在堆中的。</p>
<p>&nbsp;&nbsp;&nbsp; 3、<a href="http://www.qqread.com/linux/2010/03/e492164.html">数组</a>声明的两种形式：一、int[] arr; 二、int arr[];&nbsp; <a href="http://www.qqread.com/soft-engineering/u480864.html">推荐</a>使用前者，这符合Sun的命名规范，而且容易了解到关键点，这是一个int<a href="http://www.qqread.com/java/2010/07/w494291.html">数组</a>对象，而不是一个int原始类型。</p>
<p>&nbsp;&nbsp;&nbsp; 4、在<a href="http://www.qqread.com/java/2008/06/w416068.html">数组</a>声明中包含数组长度永远是不合法的！如：int[5] arr; 。因为，声明的时候并没有<a href="http://www.qqread.com/php/2008/06/c415366.html">实例</a>化任何对象，只有在实例化数组对象时，JVM才分配空间，这时才与长度有关。</p>
<p>&nbsp;&nbsp;&nbsp; 5、在<a href="http://www.qqread.com/cpp/">数组</a>构造的时候必须指定长度，因为JVM要知道需要在堆上分配多少<a href="http://www.qqread.com/qq/u693112071.html">空间</a>。反例：int[] arr = new int[];</p>
<p>&nbsp;&nbsp;&nbsp; 6、多维<a href="http://www.qqread.com/java/2010/03/w490944.html">数组</a>的声明。int[][][] arr; 是三维int型数组。</p>
<p>&nbsp;&nbsp;&nbsp; 7、一维<a href="http://www.qqread.com/z/hard/raid/">数组</a>的构造。形如：String[] sa = new String[5];</p>
<p>&nbsp;&nbsp;&nbsp; 或者分成两句：String[] sa;&nbsp; sa = new String[5];</p>
<p>&nbsp;&nbsp;&nbsp; 8、原始<a href="http://www.qqread.com/exchange/h487523.html">类型</a>数组元素的默认值。对于原始类型数组，在用new构造完成而没有初始化时，JVM自动对其进行初始化。默认值：byte、short、 int、long--0&nbsp; float--0.0f double--0.0&nbsp; boolean--false&nbsp; char--'"u0000'。（无论该<a href="http://www.qqread.com/data-structure/f418613.html">数组</a>是成员变量还是局部变量）</p>
<p>&nbsp;&nbsp;&nbsp; 9、<a href="http://www.qqread.com/java/2008/04/w407851.html">对象</a>类型数组中的引用被默认初始化为null。如：Car[] myCar = new Car[10]; 相当于从myCar[0]到myCar[9]都这样被自动初始化为myCar[i] = <a href="http://www.qqread.com/oracle/2010/10/b496409.html">null</a>;</p>
<p>&nbsp;&nbsp;&nbsp; 10、对象类型的<a href="http://www.qqread.com/java/2010/09/w495670.html">数组</a>虽然被默认初始化了，但是并没有调用其构造函数。也就是说：Car[] myCar = new Car[10];只<a href="http://www.qqread.com/excel/g217488010.html">创建</a>了一个myCar数组对象！并没有创建Car对象的任何实例！</p>
<p>&nbsp;&nbsp;&nbsp; 11、多维<a href="http://www.qqread.com/other-phototool/z226897.html">数组</a>的构造。float[][] ratings = new float[9][]; <a href="http://www.qqread.com/book/googleearth/taibei101.html">第一</a>维的长度必须给出，其余的可以不写，因为JVM只需要知道赋给变量ratings的对象的长度。</p>
<p>&nbsp;&nbsp;&nbsp; 12、数组索引的范围。数组中各个元素的索引是从0开始的，到length-1。每个数组对象都有一个length属性，它保存了该数组对象的长度。（注意和String对象的length()方法区分开来，这两者没有统一起来是很遗憾的。）</p>
<p>&nbsp;&nbsp;&nbsp; 13、<strong>Java</strong>有数组下标检查，当访问超出索引范围时，将产生ArrayIndexOutOfBoundsException运行时异常。注意，这种下标检查不是在编译时刻进行的，而是在运行时！也就是说int[] arr = new int[10];&nbsp; arr[100] = 100; 这么明显的错误可以通过编译，但在运行时抛出！</p>
<p>&nbsp;&nbsp;&nbsp; Java的数组下标检查是需要额外开销的，但是出于安全的权衡还是值得的，因为很多语言在使用数组时是不安全的，可以任意访问自身内存块外的数组，编译运行都不会报错，产生难以预料的后果！<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;转载地址：<a href="http://www.qqread.com/java/2008/06/w416068.html">http://www.qqread.com/java/2008/06/w416068.html</a></p><img src ="http://www.cppblog.com/Sandywin/aggbug/155748.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2011-09-14 14:00 <a href="http://www.cppblog.com/Sandywin/archive/2011/09/14/155748.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.util.Date和java.sql.Date的区别及应用</title><link>http://www.cppblog.com/Sandywin/archive/2009/03/05/75647.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Thu, 05 Mar 2009 08:36:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2009/03/05/75647.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/75647.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2009/03/05/75647.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/75647.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/75647.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: java.util.Date 就是在除了SQL语句的情况下面使用<br>java.sql.Date 是针对SQL语句使用的，它只包含日期而没有时间部分<br>它都有getTime方法返回毫秒数，自然就可以直接构建<br>java.util.Date d = new java.util.Date(sqlDate.getTime());<br>... &nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2009/03/05/75647.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/75647.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2009-03-05 16:36 <a href="http://www.cppblog.com/Sandywin/archive/2009/03/05/75647.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Annotation 高级应用</title><link>http://www.cppblog.com/Sandywin/archive/2008/12/09/68945.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Tue, 09 Dec 2008 07:44:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2008/12/09/68945.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/68945.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2008/12/09/68945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/68945.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/68945.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 《java annotation高级应用》具体实例化解释annotation和annotation processing tool（APT）的使用。望能对各位的有所帮助。本文列举了用于演示annotation的BRFW演示框架、演示APT的apt代码实例，并对其进行较为深度的分析，希望大家多多提意见。&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2008/12/09/68945.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/68945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2008-12-09 15:44 <a href="http://www.cppblog.com/Sandywin/archive/2008/12/09/68945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Annotation入门</title><link>http://www.cppblog.com/Sandywin/archive/2008/12/09/68944.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Tue, 09 Dec 2008 07:41:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2008/12/09/68944.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/68944.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2008/12/09/68944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/68944.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/68944.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文针对java初学者或者annotation初次使用者全面地说明了annotation的使用方法、定义方式、分类。初学者可以通过以上的说明制作简单的annotation程序，但是对于一些高级的annotation应用（例如使用自定义annotation生成javabean映射xml文件）还需要进一步的研究和探讨。涉及到深入annotation的内容，作者将在后文《Java Annotation高级应用》中谈到。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2008/12/09/68944.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/68944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2008-12-09 15:41 <a href="http://www.cppblog.com/Sandywin/archive/2008/12/09/68944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Annotation手册</title><link>http://www.cppblog.com/Sandywin/archive/2008/12/09/68941.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Tue, 09 Dec 2008 07:36:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2008/12/09/68941.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/68941.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2008/12/09/68941.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/68941.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/68941.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Annotation提供了一条与程序元素关联任何信息或者任何元数据（metadata）的途径。从某些方面看，annotation就像修饰符一样被使用，并应用于包、类型、构造方法、方法、成员变量、参数、本地变量的声明中。这些信息被存储在annotation的“name=value”结构对中。annotation类型是一种接口，能够通过java反射API的方式提供对其信息的访问。&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2008/12/09/68941.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/68941.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2008-12-09 15:36 <a href="http://www.cppblog.com/Sandywin/archive/2008/12/09/68941.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DisplayTag应用实践 </title><link>http://www.cppblog.com/Sandywin/archive/2008/11/30/68225.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Sun, 30 Nov 2008 07:47:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2008/11/30/68225.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/68225.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2008/11/30/68225.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/68225.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/68225.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 修改classes/org/displaytag/properties/TableTag.properties,使其符合自己的要求.&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2008/11/30/68225.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/68225.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2008-11-30 15:47 <a href="http://www.cppblog.com/Sandywin/archive/2008/11/30/68225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分页标签：pager-taglib使用指南</title><link>http://www.cppblog.com/Sandywin/archive/2008/11/29/68186.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Sat, 29 Nov 2008 12:45:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2008/11/29/68186.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/68186.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2008/11/29/68186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/68186.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/68186.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Pager-taglib，支持多种风格的分页显示。实际上她是一个Jsp标签库，为在JSP上显示分页信息而设计的一套标签，通过这些标签的不同的组合，会形成多种不一样的分页页面，风格各异，她自带的DEMO就有七种左右的分页风格，包括Google的分页风格。而需要订制自已的风格的分页页面也非常简单。 &nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2008/11/29/68186.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/68186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2008-11-29 20:45 <a href="http://www.cppblog.com/Sandywin/archive/2008/11/29/68186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HttpServletRequest中的getAttribute()和getParameter()的区别</title><link>http://www.cppblog.com/Sandywin/archive/2008/11/18/67231.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Tue, 18 Nov 2008 12:27:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2008/11/18/67231.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/67231.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2008/11/18/67231.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/67231.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/67231.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: getParameter()<br>getParameter()方法获取从Web客户端传到Web服务器端的数据，通常是从Web客户端的Form 中获取，由get 或 post 方式通过 HTTP 传回服务端。<br>getAttribute()<br>getAttribute() 方法有与其对应的setAttribute() 方法。getAttribute()和setAttribute()方法传递的数据只会存在于Web容器内部，在具有转发关系的Web组件之间传递。传递的数据可以是任何Object 子类的实例。&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2008/11/18/67231.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/67231.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2008-11-18 20:27 <a href="http://www.cppblog.com/Sandywin/archive/2008/11/18/67231.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java经典问题：传值还是传引用</title><link>http://www.cppblog.com/Sandywin/archive/2008/10/13/63890.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Mon, 13 Oct 2008 06:54:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2008/10/13/63890.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/63890.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2008/10/13/63890.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/63890.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/63890.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: “java函数是传值的，java函数传递的参数是对象的引用值” <br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2008/10/13/63890.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/63890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2008-10-13 14:54 <a href="http://www.cppblog.com/Sandywin/archive/2008/10/13/63890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java基础－关于session的详细解释</title><link>http://www.cppblog.com/Sandywin/archive/2008/09/29/63061.html</link><dc:creator>Shuffy</dc:creator><author>Shuffy</author><pubDate>Mon, 29 Sep 2008 14:17:00 GMT</pubDate><guid>http://www.cppblog.com/Sandywin/archive/2008/09/29/63061.html</guid><wfw:comment>http://www.cppblog.com/Sandywin/comments/63061.html</wfw:comment><comments>http://www.cppblog.com/Sandywin/archive/2008/09/29/63061.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Sandywin/comments/commentRss/63061.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Sandywin/services/trackbacks/63061.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在本文中，使用中文“浏览器会话期间”来表达含义①，使用“session机制”来表达含义④，使用“session”表达含义⑤，使用具体的“HttpSession”来表达含义⑥ <br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Sandywin/archive/2008/09/29/63061.html'>阅读全文</a><img src ="http://www.cppblog.com/Sandywin/aggbug/63061.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Sandywin/" target="_blank">Shuffy</a> 2008-09-29 22:17 <a href="http://www.cppblog.com/Sandywin/archive/2008/09/29/63061.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>