- 博客(46)
- 问答 (2)
- 收藏
- 关注
原创 virtualbox下redhat与windows共享文件
1、在VirtualBox中设置数据空间为windows中某一文件目录,假设为e:/shared,数据空间名称为shared2、安装进入redhat,安装virtualbox增强工具包3、重启redhat4、打开终端,新建一目录用于挂载windows共享文件夹,命令:mkdir mnt/shared5、挂载共享文件:mount -t vboxsf shared ...
2009-08-15 18:03:30
343
原创 类的初始化
为了使用类需要3步工作:1.加载。这是由类加载器执行的。该步骤将查找字节码,并从这些字节码创建一个Class对象。2.链接。在链接阶段将验证类的字节码,为静态域分配存储空间,并且如果必需的话,还将解析这个类创建的对其他类的所有引用。3.初始化。如果该类具有超类,则对其初始化,执行静态初始化器和静态初始化块。初始化被延迟到了对静态方法或者非常数静态域进行首次引用时才执行。 看...
2009-08-04 19:27:38
122
原创 String笔记
String是不可变对象。String类中每一个看似会修改String值的方法,实际上都是创建了一个全新的String对象。不可变性会为String的+操作带来效率问题String对象作为方法参数时,传递的是对象引用的一个拷贝。打印对象可能造成的递归错误:如果想通过toString方法打印对象的地址,并在toString方法中直接打印this对象,则当打印到this时又会调用当前对...
2009-08-03 17:17:50
135
原创 常用正则表达式
直接附上代码:import java.util.regex.Matcher;import java.util.regex.Pattern;import static org.junit.Assert.*;import org.junit.Test;public class RegexTest { /** * 检测邮箱 */ @Test pub...
2009-08-03 16:57:33
105
原创 String与StringBuilder的区别
String与StringBuilder最主要的区别体现在做字符串连接操作的效率上。String使用重载运算符+或+=做字符串连接,有代码如下:public class Concatenation { public static void main(String[] args) { String str = "My"; String introduction = str +...
2009-08-03 14:56:01
82
原创 equals()与hashcode()方法
两个方法都来自Object。通常,比较两个对象是否相等时,我们需要重写equals()方法。hashcode方法主要作为集合类中判断对象是否重复的依据。 比如一个Point类,没有重写hashcode()方法。public class Point { private int x; private int y; public Point(int x, int ...
2009-08-01 11:50:09
95
原创 override与overload
override和overload都是java多态的表现形式。override即方法的覆写,主要表现形式为子类继承父类时重写父类的方法。子类的方法与父类的方法声明具有完全一致的形式,但是具体的方法实现不同。根据多态的性质,可以将子类声明为一个父类类型的变量,并通过父类变量来调用该方法。overload即方法重载,主要表现形式为在同一个类中,多个方法的方法名称相同,但是参数个参数类型或是返回...
2009-07-31 19:02:38
88
原创 异常处理机制
当异常被抛出后,将使用new操作符在堆上创建异常对象。然后当前的执行路径被终止,并且从当前环境中弹出对异常对象的引用。此时异常处理机制接管程序,并开始寻找一个恰当的地方(异常处理程序)来执行程序,它的任务是将程序从错误状态中恢复,以使程序要么换一种方式运行,要么运行下去。异常处理模型:1、终止模型2、恢复模型...
2009-07-31 15:55:09
93
原创 final关键字
final数据:当数据为基本类型时,该数据属于编译期常量。在常量定义时就必须对其进行赋值,之后该常量的值不能再被改变。当数据为引用类型时,一旦引用被初始化指向一个对象,就无法把它改为指向另一个对象。但是其指向的对象本身时可以修改的。当数据为方法参数时,你无法在方法中更改参数值或是参数引用所指向的对象。final方法:被定义为final的方法不允许在子类中被覆盖fin...
2009-07-30 09:49:44
95
原创 Math.round()
Math.round(double val)方法返回最接近的long类型值val为正数时,如果小数点后数字小于5,则舍去;大于等于5,则进一位。val为负数时,如果小数点后数字小于等于5,则舍去;大于5,则向后进一位 如Math.round(11.5) = 12Math.round(11.4) = 11Math.round(-11.5) = -11Math.roun...
2009-07-29 15:06:03
394
原创 Math.round()
Math.round(double val)方法返回最接近的long类型值val为正数时,如果小数点后数字小于5,则舍去;大于等于5,则进一位。val为负数时,如果小数点后数字小于等于5,则舍去;大于5,则向后进一位 如Math.round(11.5) = 12Math.round(11.4) = 11Math.round(-11.5) = -11Math.roun...
2009-07-29 15:05:29
204
原创 java基本类型
java中有9个基本类型boolean,byte,short,int,long,char,float,double,void为什么我总是会忘记void呢?
2009-07-29 14:09:51
109
原创 String s = new String("asdf")创建了几个String Object
答案是两个程序开始运行的时候会首先创建一个常量字符串“asdf”并保存在常量池中,当执行new操作时,又会在堆中新建一个String Object,这仅仅是堆常量池中“asdf”串的一个拷贝。String s 只是声明了一个对象的引用,并没有创建String Object。因此,String s = new String("asdf")只创建了2个String Object。如果下次再用到...
2009-07-29 13:57:57
677
原创 bean的创建
Bean的创建1、通过构造函数创建bean:<bean id="" class=""/>2、通过静态工厂方法创建bean(需要指定工厂方法的名称):<bean id="" class="" factory-method=""/>3、通过实例工厂方法创建bean:注:调用一个已存在
2009-07-23 09:18:24
103
原创 重构时机和重构方法之间的对应关系
ID需要重构的信号对应的重构方法1出现了重复代码提取或者重组类提取或者重组函数、方法用多态处理子类重复代码2两个类耦合太多,太亲密提取或者重组类,提取或者重组函数方法3出现了代码行尺寸极其庞大的类提取或者重组类4...
2009-07-11 10:42:44
139
原创 OOP-对象初始化时的参数传递
Ext中对象初始化时往往通过config来进行参数传递,它是一个JSON对象例子://定义Person类,有name和sex属性,通过构造函数初始化Person = function(config) { this.name = config.name; this.age = config.age;}//config参数应为JSON格式var p = new Pe...
2009-07-08 23:43:44
252
原创 OOP-类的继承
在Ext中通过Ext.extend(...)方法来实现类的继承首先需要定义一个子类,并在构造方法中调用父类的构造方法然后通过Ext.extend()方法实现继承关系,在方法体内可以定义任何的方法,如果该方法的名称和参数都与父类方法中某方法一致,那么该方法是重写的方法。否则,是新方法。例子://命名空间Ext.namespace("cn.cgw");//ͨ用构造函数定义类...
2009-07-08 23:28:44
2964
原创 OOP-类的创建
同JavaScript一样通过构造函数来创建一个类,但却不是用prototype属性来扩展类的功能。在Ext中定义的类可以有命名空间。公共方法需要定义在return{}块中。在function和return之间定义的成员总是私有的。例子://命名空间Ext.namespace("cn.cgw");//ͨ用构造函数定义类FirstClasscn.cgw.First...
2009-07-08 23:07:06
2498
原创 自动化构建要素
自动化构建,无论持续集成还是每日构建都包括以下几个要点:1、有一个单一的代码库,将所有的源代码统一保存在这个代码库上,而且所有与之有关的人员都可以从代码库中获取最新的源代码。2、通过自动化脚本的执行,使得创建过程完全自动化。3、通过开发人员的测试代码,使得任何人通过执行一条命令就可以完成所有的自测试任务,当测试发现错误时,自动地通知整个团队成员,并记录错误日志。4、开发人员频繁提交...
2009-07-02 09:46:29
114
原创 Adapter模式
适配器模式,简单地说,即根据客户需要的接口,基于现有的服务(而不是重复造轮子)来实现这些接口。适配器模式可以分为三类:类适配器、对象适配器、抽象适配器 类适配器:假定我们定义了一个接口,而这个接口所要实现的功能已经有第三方类提供。本着不要重复造轮子的思想,我们需要实现一个类,既要能满足接口定义,又能直接调用第三方类提供的服务。所以,这个类需要继承第三方类并实现定义的接口,再在这...
2009-06-22 20:13:55
124
原创 V模型
概念瀑布模型的改进,将测试提前。如图:各阶段介绍需求分析入口条件:项目计划书已通过评审出口条件:软件需求规格说明书通过评审操作过程:根据项目经理或者开发代表提出或者了解的用户需求,进行分析确认,由项目经理和系统分析人员共同指定需求规格说明书,主要说明软件的运行环境、开发工具以及详细的功能和性能需求。...
2009-06-21 23:12:58
122
原创 瀑布开发模型
概念瀑布型是最常见的结构话开发方法。规定了计划、需求分析、设计、编码、测试的自上而下相互衔接的结构化开发方法,如图所示:各阶段介绍需求分析入口条件:项目计划书已通过评审出口条件:软件需求规格说明书通过评审操作过程:根据项目经理或者开发代表提出或者了解的用户需求,进行分析确认,由项...
2009-06-21 13:25:42
354
原创 Hibernate实体类映射(Annotation)
一对一关联 单向: 主键关联:@OneToOne(cascade=”…”,…) @PrimaryKeyJoinColumn 外键关联(默认方式): @OneTo...
2009-06-17 22:10:28
116
原创 JPA初步
注:例子来源于《Hibernate In Action》必要的jar包:在hibernate所需最小jar包基础上增加ejb3-persistence.jar和hibernate-annotation.jar首先建立实体类Message.java,并使用Annotation来配置实体的映射关系:package hello;import javax.persistence.C...
2009-06-14 11:10:53
91
使用JavaMail发送邮件
使用JavaMail发送邮件需要用到mail.jar和activtion.jar两个包。该类实现了较完整的邮件发送功能,包括以HTML格式发送,添加附件和抄送人。下面是具体的代码:Mail.java: package cn.cgw.util.mail;import java.util.Properties;import javax.activation.DataHa...
2009-04-15 14:51:03
275
原创 使用Ant构建HelloWorld
首先,确保你的电脑上正确安装了JDk和Ant。HelloWorld.java:package cn.cgw;publ
2009-04-13 14:11:13
131
原创 MySql数据源的配置
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property nam
2009-04-12 14:18:01
137
原创 Matching Methods with Classic Spring Pointcuts
Pointcut is another core AOP concept, usually appearing as an expression, and allowing you to match certain program execution points to apply an advice. In classic Spring AOP, pointcuts are also dec...
2009-04-08 13:20:48
88
原创 Modularizing Crosscutting Concerns with Classic
AOP defines a group of high-level concepts for application developers to express their crosscutting concerns. First, the crosscutting action to take at a particular execution point is encapsulated i...
2009-04-07 23:21:54
122
原创 手动实现IOC容器
IOC(Inversion of Control),即控制反转,它使你不需要再自己来实现对象的创建,而是把这些工作都交由容器来进行管理,增加了代码的可重用性。下面,便手动实现一个简单的IOC容器。首先建立一个接口和这个接口的2个实现类: package cn.cgw.ioc;public interface ReportGenerator { public void generate...
2009-04-04 19:10:16
199
原创 主键生成策略
Assigned:主键由外部程序生成,无需Hibernate干预。identity:采用数据库提供的主键生成机制,如MySql、DB2、SqlServer的自增主键。sequence:使用数据库的sequence机制。hilo:通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。seqhilo:与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是...
2009-04-03 20:37:21
129
原创 自定义拦截器的使用
在Struts2中自定义拦截器,需要继承Interceptor接口,在该接口中定义了3个方法:void init():该方法在拦截器执行拦截之前执行,主要用于打开一些一次性资源,如数据库连接等。String intercept(AvtionInvocation invocation) throws Exception :在该方法体内定义需要执行的拦截动作,invocation参数是对被拦截...
2009-04-01 16:11:18
167
原创 JSP连接数据库的通用写法
在web项目的src目录下建立属性文件db.properties。在这里面配置连接数据库的基本信息: DRIVERS=com.mysql.jdbc.DriverURL=jdbc:mysql://localhost:3306/数据库名USER=rootPASSWORD=密码 再新建一个工具类,用于获取Connection对象,在这个工具类中,我们需要从db.properties属性文...
2009-03-31 23:46:02
180
原创 使用Struts2进行文件上传
Struts2默认采用Jakarta的Common-FileUpload文件上传框架,因此我们需要在应用中添加两个jar包:commons-io-1.4.jar和commons-fileupload-1.2.1.jar。假设文件上传页面为: <s:form action="upload.action" method="post" enctype="multipart/form-data...
2009-03-31 14:35:39
91
原创 Struts2的异常处理机制
Struts2采用声明式的方法管理异常处理,因此我们无需在execute方法体内写大量的try...catch...语句来捕获异常,execute方法将产生的所有异常抛出,统一交由Struts2框架处理,我们只需在struts.xml文件中配置异常的映射机制,Struts2便能够处理并转入相应的视图资源。异常映射可分为全局异常映射和局部异常映射,它和<result .../>的性质是...
2009-03-29 19:52:48
104
原创 在Action中获取JSP内置对象
要在Action获取Request,Response,session等JSP内置对象,我们可以实现XXXAware接口。代码如下:package com.test.action;import java.net.URLEncoder;import java.util.Map;import javax.servlet.http.Cookie;import javax.servlet....
2009-03-29 16:16:13
116
原创 使用Servlet生成图片验证码
package cn.cgw.model;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.i...
2009-03-29 14:25:43
122
原创 JSP页面获取ValueStack中的值
我们知道Struts2会将Action中的属性存放到ValueStack对象中,在通过Action转发的页面中,我们可以通过Struts2的标签<s:property/>来输出这些值,但是这样得到的值却仅限于输出显示,不能进行进一步的操作,那么我们应该怎样得到ValueStack中的值又能对它进行其他操作呢?首先,我们需要了解Struts2是将Action中的属性全部封装在一个叫做s...
2009-03-28 23:40:11
148
原创 手动建立Struts2应用
1、在Tomcat的webapps目录下新建一个文件夹,取名为Test。2、在Test目录下新建一个WEB-INF目录。3、在WEB-INF目录下建立classes和lib目录。classes目录用于存放应用需要加载的java类文件,lib目录存放Struts2包和其他需要用到的第三方库文件。4、将Struts2的核心类库拷贝到lib目录下,分别是commons-logging-1.0.4....
2009-03-28 22:31:41
73
空空如也
spring拦截器莫名其妙的拦截
2010-03-23
JSP问题
2010-01-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人