存档

文章标签 ‘java’

Spring基础之图谱

2013年1月30日 没有评论 2,914 views  

买了李刚的《轻量级Java EE企业应用实战》,就是大红封面巨厚的那本,已经快两年了。在读了两次半途而废后,我终于决定,要跟这本书死磕一下。

这里只讲< 第七章 Spring的基本用法>,仔细读了一遍后的感觉,就是晕头转向,于是又从头过了一遍,就有了下面这个图。


阅读全文…

分类: java 标签: ,

java正则表达式

2011年8月3日 没有评论 2,417 views  

从jdk1.4开始,java推出了java.util.regex包,支持正则表达式。
此包下只有如下两个实现类:
Pattern
Matcher

- – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - –
典型用法如下:

Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();

如果仅使用一次正则表达式,也可如下:

boolean b = Pattern.matches("a*b", "aaaaab");

- – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - –
说说Pattern

其实,Pattern的用法是比较简单的,除了上面的用法,还可以加标志位,如下:

Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE|Pattern.UNICODE_CASE);

这句代码表示,不区分大小写的匹配以符合 Unicode Standard 的方式完成;
如果没有Pattern.UNICODE_CASE,不区分大小写的匹配假定仅匹配 US-ASCII 字符集中的字符。
官方API注释,指定此标志(Pattern.UNICODE_CASE)可能对性能产生影响。
阅读全文…

分类: java 标签: ,

java中文转拼音

2011年7月25日 没有评论 2,958 views  

包括了中文转拼音全拼,及中文转拼音首字母

准备知识:
GB2312编码,采用16位编码方式,简体中文的编码范围从B0A1一直到F7FE。
GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。
1)01-09区为特殊符号。
2)16-55区为一级汉字。(常用汉字,按拼音字母/笔形顺序排序,编码始于B0A1,止于D7FE,计3755个)
3)56-87区为二级汉字。(次常用汉字,按部首/笔画顺序排序,编码始于D8A1,止于F7FE,计3008个)
4)10-15区及88-94区则未有编码。

这里,你可以更清晰的了解这些分区。汉字位于16-87区,而有字母排序的汉字位于16-55区,对应编码为B0A1到D7FE。


阅读全文…

分类: java 标签:

java生成验证码

2011年7月3日 1 条评论 554,801 views  

一般分为如下几个步骤(顺序可变):

获取验证码
    前端:
    1.验证码在浏览器里,是一个img标签,将img的src设置为url请求即可
    后台:
    2.设置验证码中可能出现的字符
    3.画图片
        3.1创建BufferedImage对象
        3.2生成graphics对象
        3.3背景色
        3.4边框
        3.5干扰线
        3.6设置字体,画验证码
    4.设置response相关参数
    5.存session
    6.将图像输出到浏览器

检验验证码
    7.获取session中存储的字符串,进行验证
    8.如正确,将session中的存储清除
阅读全文…

分类: java 标签:

Java Swing小项目

2011年6月20日 没有评论 2,834 views  

推荐一本学习swing的书《深入浅出Java Swing程序设计》,简单易学!

JDK从1.2版本开始,包含了Swing。简单来说,Swing是为了弥补AWT的某些不足,提升java在图形界面领域的市场而产生的,但是其后来的发展,并不尽如人意。eclipse并没有使用Swing,而是使用了JFace和SWT。

关于Swing更多的起源与基础知识可以看这里
阅读全文…

分类: java 标签: ,

java 多线程小试

2011年4月18日 没有评论 2,619 views  

public class ThreadTest extends Thread {

	private static Object obje = new Object();

	public void run(){
		synchronized (obje) {
			for(int i=0;i<100;i++){
				try {
					if(i%10==0&&i!=0){
						System.out.println("haha");
						obje.notify();
						obje.wait();
					}
					Thread.sleep(100);
					System.out.println(this.getName()+":"+i);
				}catch (InterruptedException e) {
						e.printStackTrace();
				}
			}
		}
	}

	public static void main(String[] args) {
		Thread t1 = new ThreadTest();
		Thread t2 = new ThreadTest();
		t1.start();
		t2.start();
	}
}

部分输出结果:
阅读全文…

分类: java 标签: ,

java.text.ParseException: Unparseable date: “2011-11-11 03:03PM”

2011年4月12日 没有评论 6,124 views  

代码如下:

Date date = new Date();
DateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mma");
String str = "2011-11-11 03:03PM";

try {
	Date dat = f.parse(str);
	System.out.println(dat);
} catch (ParseException e) {
    e.printStackTrace();
}

问题出在PM上,如果是“下午”就没问题了,

所以要把DateFormat f=new SimpleDateFormat(“yyyy-MM-dd hh:mma”);

改为DateFormat f=new SimpleDateFormat(“yyyy-MM-dd hh:mma”,Locale.ENGLISH);

分类: java 标签: