`
文章列表
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的依赖注入

<?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的配置步骤

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 ...
// 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 ...
  一  转换器的介绍   在Web应用中,页面提交请求的参数都是字符串类型的。但是在以前的学习中,我们都是直接在Action中按照需要来定义属性的类型,比如private int age,也没有出错,照样运行啊,而且还能正确运行呢,这是怎么回事情呢? 这就是由Struts2的类型转换框架默默的帮助我们完成的功能,只要用户输入的数据能合理的转换为需要的属性的类型,Struts2的类型转换框架就会在execute方法执行之前,替我们将参数转换为合适的类型。 二,自定义转换器的实现方式   1. Struts2的类型转换器实际上是基于OGNL实现的,在OGNL项目中有一个ognl. ...
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
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项目了!

IOC和DI

1.1.1  IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键 ...
Global site tag (gtag.js) - Google Analytics