- 博客(44)
- 资源 (4)
- 收藏
- 关注
原创 struts2拦截器
做一个项目时遇到一个问题,需要拦截未登录的用户通过地址栏直接访问网络上的资源,解决办法是定义自己的拦截器,但要放过登录的action,把自定义的拦截器和默认的拦截器栈重新组合定义成默认的拦截器栈拦截器的代码:package chao.tool;import java.util.Map;//判断用户是否登录public class MyInterceptor extends Abs
2012-02-10 16:21:16
619
转载 struts2的国际化
每种框价都会有国际化的支持,struts2的国际化大致上分为页面的国际化,Action的国际化以及xml的国际化 首先在struts.properties文件中加入以下内容:struts.custom.i18n.resources=messageResource或在struts.xml中加入 资源文件的命名格式: 名称_语言代码_国家代码. Properties如果
2012-01-16 11:05:38
413
转载 静态工厂方法
一、对象的创建 第1条:考虑用静态工厂方法代替构造函数 概念:所谓静态工厂方法(static factory method),实际上只是一个简单的静态方法,它返回的是类 的一 个实例。 例子:pbulic static Boolean getBoolean()
2011-11-12 15:24:18
631
转载 Log4j配置文件详解
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger= [level ] , appenderName1 ,
2011-11-12 12:20:51
599
原创 新版本的CVS问题
客户端登陆时候一直提示“no such repository”,可是明明我的repository已经建立。可是还不成功。一直以为是系统问题,今天无意之间修改了设置,那里知道竟然可以登陆,创建模块和check out。仔细看了一下原来是设置有一个问题,最新的cvsnt可能采用unix的设置访问方式,即使你是cvsnt也不需要些盘符。原来设置:-------------------------
2011-10-28 17:01:46
931
转载 抽象类和接口
1.abstract class 在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个 interface。2.在 abstract class中可以有自己的数据成员,也可以有非 abstarct 的成员方法,而在interface中,只能够有静态的不能被修改的数据成(也就是必须是 static final的,不过在 interface 中一般不定义
2011-10-26 22:03:59
310
原创 TCP通信
服务器端:import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class TcpServer{ public static void main(String[] args) throws Exception
2011-10-26 14:45:34
564
转载 深复制与浅复制
1.浅复制与深复制概念⑴浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复
2011-10-24 15:57:19
412
原创 【小程序】递归实现控制台输出的文件树形结构
要求:给定任意一个目录,以树形方式展现出该目录中的所有子目录和文件,另外展现的时候目录在上面,文件在下面,每一层有缩进。代码:package myfiles;import java.io.File;import java.util.ArrayList;import java.util.List;import org.junit.Test;/** * * 项目名称:Fi
2011-10-19 21:01:46
4543
2
转载 identity不连续的问题
SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便。但它有时还会带来一些麻烦。 示例一 :当表中被删除了某些数据的时候,自增长列的编号就不再是一个连线的数列。这种时候我们可以用以下方案来解决。 SET IDE
2011-10-16 22:28:29
664
原创 观察者模式的应用
要求:被观察者中有一个int i初始为10,i每次递减直到等于0为止,第一个观察者打印i的变化过程,第二个观察者当i变为5时才开始打印。被观察者的代码import java.util.Observable;public class Watched extends Obs
2011-10-04 12:09:35
385
原创 【小程序】数字转换RMB大写-------改进版
import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class UpperChinese{ //非0的数key为1,0的key为0. private Map u
2011-10-01 17:49:11
654
原创 【小程序】注解实现小型应用程序框架
要求:编写一个小型的应用程序框架, 该框架会向用户公开一个 run 方法,方法声明为: public void run(String className); 该方法位于类 ApplicationRun 类中,该类的声明为: 其中的字符串参数 className 为用户提供的一个类的全名 (包名+类名) ,当用户将类的全名以字符串的形式传递给该 run 方法时, 方法会自动执行用户所提供的类中的所有
2011-09-27 10:45:40
582
原创 【小程序】数字转换RMB大写
要求:通过命令行输入一串字符,首先判断这些字符是否都为数字。如果其中有字符不是数字,那么输出"用户输入的字符不都为数字,无法转换"程序结束;如果用户输入都为数字,那么将该数字转换为中文的大写表示(用户每次最多输入8个字符)输入输出示例: 输入:1234567
2011-09-26 10:25:46
2652
转载 Java数据类型中String、Integer、int相互间的转换
1.Integer转换成int的方法Integer i; int k = i.intValue();即Integer.intValue();2.int转换成Integerint i;Integer it = new Integer(i);3.S
2011-09-25 10:12:50
2117
1
转载 final 与static final修饰变量区别
1.import java.util.Random; 2. 3.//这个例子想说明一下static final 与 final的区别 4.public class StaticAndFinalTest { 5. 6. private static
2011-09-24 15:48:48
6985
转载 反射经典实例
Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套精彩的机制。1. 得到某个对象的属性
2011-09-22 17:32:19
699
原创 【小程序】摇骰子游戏BETA版
import java.util.Scanner;public class BetGame{ public static void main(String[] args) { int allmoney = 5000;//开始有5000元
2011-09-20 14:35:47
2647
转载 JAVA虚拟机内存分配与回收机制
Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java把内存划分成两种:一种是栈内存,一种是堆内存
2011-09-19 22:30:00
469
转载 快捷键
Ctrl+Shift+F,程序代码自动排版存盘 Ctrl+s(肯定知道)注释代码 Ctrl+/取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了)代码辅助 Alt+/快速修复 Ctrl+1代码格式化 Ctrl+Shift+f整理导入 C
2011-09-18 21:11:14
315
原创 【小程序】控制台抽奖系统
import java.util.Scanner;public class Bingo{ public static void main(String[] args) { int choose =0;//判断用户选择的菜单项
2011-09-17 22:32:06
1296
转载 堆与栈的文章
Java栈与堆 ----对这两个概念的不明好久,终于找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度
2011-09-16 20:54:31
278
原创 【小程序】用策略模式完成自定义类的排序(改进版)
题目:假如有若干Person对象存放在一个List当中,对他们进行排序,分别按name,ID,age排序(要有正序和逆序),若名字或年龄一样按ID正序排列。Person类public class Person{ private int id; priva
2011-09-16 09:53:27
469
原创 【小程序】用策略模式完成自定义类的排序
题目:假如有若干Person对象存放在一个List当中,对他们进行排序,分别按name,ID,age排序(要有正序和逆序),若名字或年龄一样按ID正序排列。Person类public class Person{ private int id; private
2011-09-13 17:13:56
406
转载 策略模式
★策略模式中体现了两个非常基本的面向对象设计的原则:--封装变化的概念--编程中使用接口,而不是对接口的实现★面向接口的编程,实现类之间的弱耦合★策略模式的定义--定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。--策略模式使这些算法在客户端调
2011-09-13 15:42:17
522
原创 【小程序】JAVA实现从10~50中随机生成50个数,统计出现的数字及次数,输出出现最多的次数及对应的数字,按数字升序排列。
数组实现/** * @(#)TongJi.java * * TongJi application * * @author kuroro * @version 1.00 2011/9/6 */ import java.util.Arrays;public cl
2011-09-12 16:23:44
10928
转载 Map遍历的2种方式
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry)
2011-09-12 09:53:58
573
原创 Integer.ValueOf().intValue和Integer.parseInt的区别
总的来说,这两种写法的功能是一样的。区别之处,Integer.ValueOf().intValue() 会比Integer.parseInt()多创建一个Integer对象。 实际上,如果你看看java的源代码你就知道了:Integer.ValueOf()就是
2011-09-11 20:59:04
6636
1
原创 用LinkedList实现队列
队列 队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将
2011-09-11 11:12:40
8293
1
原创 用LinkedList实现栈
栈的定义:栈(Stack)是限制仅在一端进行插入和删除运算的线性表。通常称插入和删除的这一端为栈顶,另一端为栈底。当表中没有元素时称为空栈。"栈"也被称为"后进先出"的容器。同其他Java容器一样,压进去与弹出来的东西都是Object,所以除非你只用Object的
2011-09-11 10:46:18
1714
原创 熟悉LinkedList类
/** * @(#)Linklist.java * * Linklist application * * @author kuroro * @version 1.00 2011/9/10 */ import java.util.LinkedList;public
2011-09-10 22:39:16
318
原创 熟悉ArrayList
/** * @(#)Setlist.java * * Setlist application * * @author kuroro * @version 1.00 2011/9/10 */import java.util.ArrayList;public cla
2011-09-10 22:09:28
328
原创 猜拳游戏BETA版
class Myexception extends Exception { public static void compute(int a) throws Myexception { if(!(a==1 || a==2 || a==3)) { throw
2011-09-09 17:02:37
395
原创 注意所设标志的还原语句
今天一个简单的程序调试了老半天 最后才发现原来是自己设的当满足条件时用来作为标志的变量在改变后,当不满足条件时没有语句使之恢复成为初始值。错误的代码:/** * @(#)Zhishu.java * * Zhishu application * * @author
2011-09-08 21:34:37
275
转载 Random类
Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的
2011-09-06 16:59:39
542
原创 二分查找
二分查找(必须是有序数列)二分查找(BinarySearch)的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如 果xa[n/2],则我们只要在数组a的右 半部继续搜索x。JAVA实现/**
2011-09-06 16:31:47
300
原创 排序算法及实现(3)
快速排序快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排
2011-09-06 15:24:59
319
原创 排序算法及实现(2)
直接插入排序直接插入排序(straight insertion sort)的基本思想是:每次将一个待排序的记录,按其大小插入到前面已经排好序的子表中的适当位置,直到全部记录插入完成为止。JAVA实现/** * @(#)InsertSort.java * * In
2011-09-06 15:20:43
322
原创 排序算法及实现(1)
冒泡排序冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一
2011-09-06 15:09:19
366
转载 看到的强大的分析贴关于String对象的创建以及管理(学习了)
Constant Pool常量池的概念: 在讲到String的一些特殊情况时,总会提到String Pool或者Constant Pool,但是我想很多人都不太 明白Constant Pool到底是个怎么样的东西,运行的时候存储在哪里,所以在这里先说一下Const
2011-09-02 20:37:25
410
用Struts2+Spring3.0+Hibernate做的一个BBS
2012-02-10
JAVA程序员面试宝典 欧立奇
2011-11-18
JAVA解惑中文版PDF
2011-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人