11 2011 档案
摘要:/***@srchttp://eric-619.iteye.com/blog/693185*Object类的方法:*clone()*equals()*finalize()*hashCode()*toString()**1、equals()方法:*^equals方法强调比较的值的是否相等*==强调对象的地址是否相同*^s1和s2的值都保存在对内存中*s3和s4的值都保存在占内存的字符串缓冲池中,缓存池的分配原则是按值是否相同来分配。*^如果值相同则分在一起,指向他们的引用的hashCode()值也相同。如果不同,则不分在一起,也就不==了。*所以s3和s4是相同的两个引用,而s5和他们俩内存地址
阅读全文
摘要:前言:本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看Java API文档。一、概述数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework)。Java程序员在具体应用时,不必考虑数据结
阅读全文
摘要:JUnit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:1、用于测试期望结果的断言(Assertion)2、用于共享共同测试数据的测试工具3、用于方便的组织和运行测试的测试套件4、图形和文本的测试运行器JUnit最初是由Erich Gamma(GoF之一)和Kent Beck(xp和refactor的先驱之一)编写的. 需 要说明的是junit一般是用来进行单元测试的,因此需要了解被测试代码的内部结构(即所谓的白盒测试),另外junit是在xp编程和重构 (refactor)中被极力推荐使用的工
阅读全文
摘要:编辑器加载中include指令,这种方式的引入属于静态导入,include行为,这种方式的导入属于动态的导入,这里涉及到一个jsp的原理上的问题。 当我在地址栏中输入一个jsp的地址的时候,点击回车,会提交一个请求给我的web容器(如:tomcat,resin)等,这个容器会把这个以jsp结尾的请求对应到一个jsp引擎(其实也是一个servlet)来处理,这个servlet一定会去先把要回应请求的jsp转义成为servlet(此时 include指令被解释执行),然后,把这个servlet编译为class文件,由虚拟机解释执行,处理用户的请求(此时include行为执行),然后再生成...
阅读全文
摘要:import java.io.*;class putout{public void putout(int f,int x,int y){int i;int a[]= new int[40];System.out.println(" 日 一 二 三 四 五 六 "+" "+f+"月");for (i=0;i<x;i++){System.out.print(" "); }for(i=x;i<x+y;i++)a[i]=i-x+1;for(i=x;i<x+y;i++){if (i%7==0)System.
阅读全文
摘要:第一,谈谈final, finally, finalize的区别。final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块
阅读全文
摘要:注意:document.getElementById(" ")得到的是一个对象,用alert显示得到的是“object”,而不是具体的值,它有value和length等属性,加上.value得到的才是具体的值!参考资料:1. document . getElementById的用法和DHTML.CHM的下载地址http://blog.sina.com.cn/u/4933092a010003k7今天在网络上查找document . getElementById的用法,如下:A:语法:oElement = document . getElementById ( sID )参数:
阅读全文
摘要:值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。下面举例说明:传值---传递基本数据类型参数publicclassPassValue{static void exchange(int a, int b){//静态方法,交换a,b的值int temp;temp = a;a = b;b = temp;}public static vo
阅读全文
摘要:概要单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时如何处理这些缺陷。单例模式适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。典型的情况是,那些对象的类型被遍及一个软件系统的不同对象访问,因此需要一个全局的访问指针,这便是众所周知的单例模式的应用。当然这只有在你确信你不再需要任何多于一个的实例的情况下。单例模式的用意在于前一段中所关心的。通过单例模
阅读全文
摘要:从以上iBATIS的开发过程可以看出,它与Hibernate的开发过程是一一对应的,都是由映射文件和持久化类作为底层数据库的沟通接口,上层调用iBATIS或Hibernate的API来编写DAO和Service层。但是在实际的应用中,它们则拥有各自的特点,这也决定了它们适用的场合。(1)Hibernate的特点:Hibernate功能强大,数据库无关性好,O/R映射能力强,如果对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么整个持久层代码会相当简单,需要写的代码很少,开发速度很快。Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Map
阅读全文
摘要:8.1.1iBATIS开发步骤iBATIS是Java应用和关系数据库之间的桥梁,它负责Java对象和关系数据之间的映射。iBATIS内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据访问API。在Java应用中使用iBATIS包含以下步骤:(1)创建iBATIS的配置文件:该文件负责初始化iBATIS配置,包括数据库配置和映射文件配置;(2)创建iBATIS映射文件:每一个数据表对应一个映射文件,该文件描述了数据库中表的信息,也描述了对应的持久化类的信息;(3)创建持久化类:每一个类对应一个数据库表,通过映射文件进行关联;以上三步是开发iBATIS要实现的关键内容。接下来就
阅读全文
摘要:Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。 2. 【Ctrl+O】 显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。 3. 【Ctrl+/】 快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的时候可能总会需要注释一些东西或取消注释,现在好了,不需要每行进行重复的注释。 4.
阅读全文
摘要:研究表明,绿色和蓝色对眼睛最好,在长时间用电脑后,经常看看蓝天、绿地就能在一定程度上缓解视疲劳。如果我们把电脑屏幕和网页的底色变为淡淡的苹果绿,也可在一定程度上有效地缓眼睛疲劳症状了。 在桌面上点击鼠标右键选择“属性”打开显示属性对话框,切换到“外观”选项卡下,点击“高级”按钮,在打开的“高级”对话框中,在“项目”下拉列表里选择“窗口”。再打开右边对应的“颜色”列表,选择其中的“其他”一项,在打开的对话框里,把“色调”的参数设置为“85”、 “饱和度”设置为“90”,“亮度”设置为“205”。 两次确定后退出设置(如图1)。图1 设置窗口背景 打开IE浏览器,选择“工具”栏中的“inter..
阅读全文
摘要:工作流程:一个请求在Struts2框架中的处理大概分为以下几个步骤:1 客户端发送请求;2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy5 Action
阅读全文
摘要:1、Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现2、HashMap允许将null作为一个entry的key或者value,而Hashtable不允许3、HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。4、最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
阅读全文

浙公网安备 33010602011771号