- 浏览: 224838 次
最新评论
-
redcoatjk:
redcoatjk 写道例子有问题.my fault.返回用I ...
hibernate抓取策略,batch-size的用法 -
redcoatjk:
例子有问题.
hibernate抓取策略,batch-size的用法
文章列表
transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶的话题,简单总结一下。
transient
transient是类型修饰符,只能用来修饰字段。在对象序列化的过程中,标记为transient的变量不会被序列化。
示例:
class Test {
transient int a; // 不会被持久化
int b; // 持久化
}
当类Test的实例对象被序列化(比如将Test类的实例对象 t 写入硬盘的文本文件t.txt中),变量 a 的内容不会被保存,变量 b 的内容则会被保存。
参考:把一个对象的 ...
模板设计模式是通过抽象类来实现的,该抽象类的方法可以分为两大类:模板方法和基本方法。
模板方法
一个模板方法是定义在抽象类中的,把基本操作方法组合在一起形成一个总算法或一个总行为的方法。
一个抽象类可以有任意多个模板方法,而不限于一个。每一个模板方法都可以调用任意多个具体方法。
基本方法
基本方法又可以分为三种:抽象方法(Abstract Method)、具体方法(Concrete Method)和钩子方法(Hook Method)。
● 抽象方法:一个抽象方法由抽象类声明,由具体子类实现。在Java语言里抽象方法以abstract关键字标示。
● ...
Spring的依赖注入
- 博客分类:
- Spring
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
...
Spring的配置步骤
- 博客分类:
- Spring
1、导入spring的dist中的jar包和commons-logging包
2、在src目录下创建相应的beans.xml
3、为beans.xml添加相应的schema
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/s ...
Spring装配各种集合类型的配置文件
- 博客分类:
- Spring
// List
<bean id="userService" class="com.spring.service.UserService">
<property name="list">
<list>
<value>aaaa</value>
<value>bbbb</value>
</list>
</property>
</bean>
...
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtils {
public static String replaceBlank(String str) {
String dest = "";
if (str!=null) {
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
Matc ...
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtil {
private static final SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd&qu ...
Struts2自定义类型转换器
- 博客分类:
- Struts2
一 转换器的介绍
在Web应用中,页面提交请求的参数都是字符串类型的。但是在以前的学习中,我们都是直接在Action中按照需要来定义属性的类型,比如private int age,也没有出错,照样运行啊,而且还能正确运行呢,这是怎么回事情呢?
这就是由Struts2的类型转换框架默默的帮助我们完成的功能,只要用户输入的数据能合理的转换为需要的属性的类型,Struts2的类型转换框架就会在execute方法执行之前,替我们将参数转换为合适的类型。
二,自定义转换器的实现方式
1. Struts2的类型转换器实际上是基于OGNL实现的,在OGNL项目中有一个ognl. ...
python中range函数的用法
- 博客分类:
- python
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。
>>> range(1,5) #代表从1到5(不包含5)
[1, 2, 3, 4]
>>> range(1,5,2) #代表从1到5,间隔2(不包含5)
[1, 3]
>>> range(5) #代表从0到5(不包含5)
[0, 1, 2, 3, 4
在《python核心编程》的第二版中,有这样的一道题目。
“有一个字符串,我们想通过一个循环按照这样的形 ...
Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。
这三个函数都可传入一个参数,指定要去除的首尾字符。
需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符,比如:
theString
Python中字符串常用的方法
- 博客分类:
- python
capitalize() 方法返回一个字符串的copy,并且这个字符串的首字母大写。例如:
str = "this is string example....wow!!!";
print "str.capitalize() : ", str.capitalize()
#output result
str.capitalize() : This is string example....wow!!!
count() 方法返回子串在指定范围内出现的次数。例如:
str.count(sub, start=0,end=len(string ...
字典的定义:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
dict3={}
访问字典的值:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age ...
元组的实例:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
创建一个空元组:
tup1 = ();
创建只有一个元素的元组:
tup1 = (50,);
访问元组的值:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print ...
安装完成Python,Django和Pydev后,用pydev的向导创建django项目。此时,可能会报错:Django not found.这是因为Python在Django安装之前已经安装,从而Pydev不能找到django所在的路径。解决方法:点击Eclipse->window->preferences->Pydev->Interpreter-Python,看到有或者没有python解释器。把这个解释器删除。然后点击Auto Config自动生成一个python解释器配置。然后点击Apply,使用新的配置。完成后,应该能够使用Pydev创建Django项目了!
1.1.1 IoC是什么
Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键 ...