- 浏览: 327478 次
- 性别:
- 来自: 北京
最新评论
-
jacking124:
按照你这个配置以后提示这个异常?Exception occur ...
Go语言学习:开发环境搭建及Hello World -
焦志广:
有请看http://jiaozhiguang-126-com. ...
Hadoop白皮书(1):分布式文件系统HDFS简介 -
w156445045:
Hadoop 有没windows环境下的配置呢,
谢谢。非常感 ...
Hadoop白皮书(1):分布式文件系统HDFS简介 -
xiangxm:
学习了。
Java 解惑知多少六 -
焦志广:
xhh_lite 写道怎么少了一个类?恩?不少啊,少那个类啊; ...
易学设计模式四 命令模式(Commond)
文章列表
数据库有很多种,例如Oracle,DB2,Sybase,MySql,SQL Server等等,他们有的提供主键生成,有的不提供,提供的方式也不一样,如果有的系统需要同时支持多种数据库,就要求主键生成更有通用性,下面就给出解决方案。
使用表存储,表有两个列,一个存放键名,一个存放键值
取值时先更新数据库键值+20;然后查询出增加后的值,例如我们更新后的值是1000,每次增加20,现在可用的key = 1000 -20 +1 = 981;这样做的好处就是缓存主键,不用增加一个就修改,查询一次数据库,我们增加20次才查询一次数据库。
public class KeyGenerator {
...
1.HashMap的数据结构
数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要 ...
ORACLE日期时间函数大全
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
yyyy four digits 四位年 显示值:2007
Month:
mm number 两位月 ...
单例模式确保某一个类只有一个实例,并且自行实例化向整个系统提供这个实例
饿汉式
public class EagerSingleton {
private static final EagerSingleton instance = new EagerSingleton();
private EagerSingleton(){}
public static EagerSingleton getInstance() {
return instance;
}
}
懒汉式
public class LazySingleton {
...
工厂方法模式的用意是定义一个创建产品对象的工厂,将实际的创建工作推迟到子类中。
修改上节中简单工厂模式
抽象工厂
public interface FruitGardener {
public Fruit factory();
}
具体工厂
public class AppleGardener implements FruitGardener {
public Fruit factory() {
return new Apple();
}
}
public class GrapeGardener implements FruitGardene ...
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式,是由一个工厂对象决定创建出哪一种产品类的实例。
本例子一共有七个类,Fruit是抽象类,Apple,Grape,Strawberry是继承了Fruit的具体类,FruitGardener是提供工厂方法(factory)的类,BadFruitException是异常类,Client是测试类。
抽象类 或者 接口
public abstract class Fruit {
public abstract void plant(); //种植
public abstract v ...
与远程仓库同步,修改,载入(stage)和提交项目
下面我们做这个例子
* 修改文件
* 提交变更
请克隆这个项目:
git clone git://github.com/schacon/simplegit
下载完后 进入项目目录
cd simplegit
修改README文件,修改文件很简单,但这是linux ...
git是一个快速,开源,分布式的版本控制系统。因此,它在(开源)和(协作编程社区)很快取代了svn。
在 Windows 上安装
在 Windows 上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以从 Google Code 的页面上下载安装文件(.exe):
http://code.google.com/p/msysgit
呵呵装完之后我就忙着克隆个项目
git clone git://github.com/itstamen/rop.git
之后不知道这个项目下载到哪里了,后来才发现在C:\Users\Administrator,这是git的默认目录。你可以 ...
四、生成eclipse工程文件
我采用的开发工具是eclipse,所以用maven的eclipse参数生成eclipse工程文件。输入如下
1、 采用dos的cd命令进入study目录
2、 输入指令:mvn eclipse:eclipse 如下所示:
D:/eclipse/workspace/study>mvn eclipse:eclipse
指令执行完毕后,发现多了两个文件:.classpath和.project
【生成项目】
JAVA项目 mvn archetype:create -DgroupId=net.welken -DartifactId=common
web 项目 mvn ...
Installation安装
Maven is a Java tool, so you must have Java installed in order to proceed.
Maven是Java工具,所以你必须安装Java才能运行。 就是配置Java环境变量
去官方网站下载之:http://maven.apache.org/download.html,
我的电脑----属性----高级----环境变量,点击“系统变量”下的新建,输入:变量名 MAVEN_HOME; 变量值d:\Maven204,在系统变量列表中找到系统变量path,打开之,在变量值中追加”;%MAVEN_HOME%\ ...
基于上一篇
http://jiaozhiguang-126-com.iteye.com/blog/1668709
为了简化我们SQL输入参数的配置,我们写一个类来专门负责处理输入参数,把它们封装成一个Map类型,代码如下:
package ibatis.util;
import java.util.HashMap;
public class ParameterMap extends HashMap<Object, Object> {
public ParameterMap(Object... parameters) {
for(int i=0; ...
iBatis是一款使用方便的数据访问工具,也可作为数据持久层的框架。和ORM框架(如Hibernate)将数据库表直接映射为Java对象相比,iBatis是将SQL语句映射为Java对象。相对于全自动SQL的Hibernate,iBatis允许你对SQL有完全控制权,可以视为半自动的数据访问工具。
iBatis的最大优点是简便,轻量级,仅需iBatis的一个jar和数据库的驱动即可运行,而且使用iBatis仅需掌握SQL和XML的用法即可,而不像Hibernate那样需要配置对象间的关系。学习iBatis的过程要比Hibernate快很多,在项目中,若人员水平不大一致时,使用iBati ...
代理模式(Proxy)为另一个对象提供一个替身或占位符以控制对这个对象的访问,简而言之就是用一个对象来代表另一个对象。
public abstract class Subject {
abstract public void request();
}
public class RealSubject extends Subject {
public void request() {
System.out.println("From real subject");
}
}
public class ProxySubject ...
遇到多个构造器参数(Constructor Parameters)时要考虑用构建器(Builder)
//营养素
public class NutritionFacts {
private final int servingSize;
private final int servings;
private final int calories; //卡路里
private final int fat; //脂肪
private final int sodium; //钠
private final int carbohydrate; //碳水化合物
...
JDK动态代理
JDK 1.3以后,Java提供了动态代理的技术,允许开发者在运行期创建接口的代理实例。在Sun刚推出动态代理时,还很难想象它有多大的实际用途,现在我们终于发现动态代理是实现AOP的绝好底层技术。
JDK的动态代理主要涉及到java.lang.reflect包中的两个类:Proxy和InvocationHandler。其中InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态将横切逻辑和业务逻辑编织在一起。
而Proxy利用InvocationHandler动态创建一个符合某一接口的实例,生成目标类的代理对象。 ...