自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

勃起吧,少年

一个苦逼程序员的成才历程

  • 博客(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 311

原创 类的初始化

为了使用类需要3步工作:1.加载。这是由类加载器执行的。该步骤将查找字节码,并从这些字节码创建一个Class对象。2.链接。在链接阶段将验证类的字节码,为静态域分配存储空间,并且如果必需的话,还将解析这个类创建的对其他类的所有引用。3.初始化。如果该类具有超类,则对其初始化,执行静态初始化器和静态初始化块。初始化被延迟到了对静态方法或者非常数静态域进行首次引用时才执行。 看...

2009-08-04 19:27:38 115

原创 String笔记

String是不可变对象。String类中每一个看似会修改String值的方法,实际上都是创建了一个全新的String对象。不可变性会为String的+操作带来效率问题String对象作为方法参数时,传递的是对象引用的一个拷贝。打印对象可能造成的递归错误:如果想通过toString方法打印对象的地址,并在toString方法中直接打印this对象,则当打印到this时又会调用当前对...

2009-08-03 17:17:50 126

原创 常用正则表达式

直接附上代码: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 96

原创 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 73

原创 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 85

原创 override与overload

override和overload都是java多态的表现形式。override即方法的覆写,主要表现形式为子类继承父类时重写父类的方法。子类的方法与父类的方法声明具有完全一致的形式,但是具体的方法实现不同。根据多态的性质,可以将子类声明为一个父类类型的变量,并通过父类变量来调用该方法。overload即方法重载,主要表现形式为在同一个类中,多个方法的方法名称相同,但是参数个参数类型或是返回...

2009-07-31 19:02:38 79

原创 异常处理机制

当异常被抛出后,将使用new操作符在堆上创建异常对象。然后当前的执行路径被终止,并且从当前环境中弹出对异常对象的引用。此时异常处理机制接管程序,并开始寻找一个恰当的地方(异常处理程序)来执行程序,它的任务是将程序从错误状态中恢复,以使程序要么换一种方式运行,要么运行下去。异常处理模型:1、终止模型2、恢复模型...

2009-07-31 15:55:09 87

原创 final关键字

final数据:当数据为基本类型时,该数据属于编译期常量。在常量定义时就必须对其进行赋值,之后该常量的值不能再被改变。当数据为引用类型时,一旦引用被初始化指向一个对象,就无法把它改为指向另一个对象。但是其指向的对象本身时可以修改的。当数据为方法参数时,你无法在方法中更改参数值或是参数引用所指向的对象。final方法:被定义为final的方法不允许在子类中被覆盖fin...

2009-07-30 09:49:44 87

原创 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 389

原创 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 189

原创 java基本类型

java中有9个基本类型boolean,byte,short,int,long,char,float,double,void为什么我总是会忘记void呢?

2009-07-29 14:09:51 101

原创 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 666

原创 bean的创建

Bean的创建1、通过构造函数创建bean:<bean id="" class=""/>2、通过静态工厂方法创建bean(需要指定工厂方法的名称):<bean id=""            class=""            factory-method=""/>3、通过实例工厂方法创建bean:注:调用一个已存在

2009-07-23 09:18:24 94

原创 重构时机和重构方法之间的对应关系

ID需要重构的信号对应的重构方法1出现了重复代码提取或者重组类提取或者重组函数、方法用多态处理子类重复代码2两个类耦合太多,太亲密提取或者重组类,提取或者重组函数方法3出现了代码行尺寸极其庞大的类提取或者重组类4...

2009-07-11 10:42:44 131

原创 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 241

原创 OOP-类的继承

在Ext中通过Ext.extend(...)方法来实现类的继承首先需要定义一个子类,并在构造方法中调用父类的构造方法然后通过Ext.extend()方法实现继承关系,在方法体内可以定义任何的方法,如果该方法的名称和参数都与父类方法中某方法一致,那么该方法是重写的方法。否则,是新方法。例子://命名空间Ext.namespace("cn.cgw");//ͨ用构造函数定义类...

2009-07-08 23:28:44 2956

原创 OOP-类的创建

同JavaScript一样通过构造函数来创建一个类,但却不是用prototype属性来扩展类的功能。在Ext中定义的类可以有命名空间。公共方法需要定义在return{}块中。在function和return之间定义的成员总是私有的。例子://命名空间Ext.namespace("cn.cgw");//ͨ用构造函数定义类FirstClasscn.cgw.First...

2009-07-08 23:07:06 2477

原创 自动化构建要素

自动化构建,无论持续集成还是每日构建都包括以下几个要点:1、有一个单一的代码库,将所有的源代码统一保存在这个代码库上,而且所有与之有关的人员都可以从代码库中获取最新的源代码。2、通过自动化脚本的执行,使得创建过程完全自动化。3、通过开发人员的测试代码,使得任何人通过执行一条命令就可以完成所有的自测试任务,当测试发现错误时,自动地通知整个团队成员,并记录错误日志。4、开发人员频繁提交...

2009-07-02 09:46:29 103

原创 系统测试流程

图例:

2009-06-30 23:55:04 169

原创 Adapter模式

适配器模式,简单地说,即根据客户需要的接口,基于现有的服务(而不是重复造轮子)来实现这些接口。适配器模式可以分为三类:类适配器、对象适配器、抽象适配器 类适配器:假定我们定义了一个接口,而这个接口所要实现的功能已经有第三方类提供。本着不要重复造轮子的思想,我们需要实现一个类,既要能满足接口定义,又能直接调用第三方类提供的服务。所以,这个类需要继承第三方类并实现定义的接口,再在这...

2009-06-22 20:13:55 110

原创 V模型

 概念瀑布模型的改进,将测试提前。如图:各阶段介绍需求分析入口条件:项目计划书已通过评审出口条件:软件需求规格说明书通过评审操作过程:根据项目经理或者开发代表提出或者了解的用户需求,进行分析确认,由项目经理和系统分析人员共同指定需求规格说明书,主要说明软件的运行环境、开发工具以及详细的功能和性能需求。...

2009-06-21 23:12:58 107

原创 瀑布开发模型

概念瀑布型是最常见的结构话开发方法。规定了计划、需求分析、设计、编码、测试的自上而下相互衔接的结构化开发方法,如图所示:各阶段介绍需求分析入口条件:项目计划书已通过评审出口条件:软件需求规格说明书通过评审操作过程:根据项目经理或者开发代表提出或者了解的用户需求,进行分析确认,由项...

2009-06-21 13:25:42 343

原创 Hibernate实体类映射(Annotation)

一对一关联       单向:              主键关联:@OneToOne(cascade=”…”,…)                     @PrimaryKeyJoinColumn              外键关联(默认方式):                     @OneTo...

2009-06-17 22:10:28 104

原创 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 81

使用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 268

原创 使用Ant构建HelloWorld

首先,确保你的电脑上正确安装了JDk和Ant。HelloWorld.java:package cn.cgw;publ

2009-04-13 14:11:13 124

原创 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 126

原创 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 76

原创 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 109

原创 手动实现IOC容器

IOC(Inversion of Control),即控制反转,它使你不需要再自己来实现对象的创建,而是把这些工作都交由容器来进行管理,增加了代码的可重用性。下面,便手动实现一个简单的IOC容器。首先建立一个接口和这个接口的2个实现类: package cn.cgw.ioc;public interface ReportGenerator { public void generate...

2009-04-04 19:10:16 192

原创 主键生成策略

 Assigned:主键由外部程序生成,无需Hibernate干预。identity:采用数据库提供的主键生成机制,如MySql、DB2、SqlServer的自增主键。sequence:使用数据库的sequence机制。hilo:通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。seqhilo:与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是...

2009-04-03 20:37:21 108

原创 自定义拦截器的使用

在Struts2中自定义拦截器,需要继承Interceptor接口,在该接口中定义了3个方法:void init():该方法在拦截器执行拦截之前执行,主要用于打开一些一次性资源,如数据库连接等。String intercept(AvtionInvocation invocation) throws Exception :在该方法体内定义需要执行的拦截动作,invocation参数是对被拦截...

2009-04-01 16:11:18 154

原创 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 169

原创 使用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 80

原创 Struts2的异常处理机制

Struts2采用声明式的方法管理异常处理,因此我们无需在execute方法体内写大量的try...catch...语句来捕获异常,execute方法将产生的所有异常抛出,统一交由Struts2框架处理,我们只需在struts.xml文件中配置异常的映射机制,Struts2便能够处理并转入相应的视图资源。异常映射可分为全局异常映射和局部异常映射,它和<result .../>的性质是...

2009-03-29 19:52:48 97

原创 在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 105

原创 使用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 109

原创 JSP页面获取ValueStack中的值

我们知道Struts2会将Action中的属性存放到ValueStack对象中,在通过Action转发的页面中,我们可以通过Struts2的标签<s:property/>来输出这些值,但是这样得到的值却仅限于输出显示,不能进行进一步的操作,那么我们应该怎样得到ValueStack中的值又能对它进行其他操作呢?首先,我们需要了解Struts2是将Action中的属性全部封装在一个叫做s...

2009-03-28 23:40:11 135

原创 手动建立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 62

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除