Just a little smile ^ ^

yoyo_zeng

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年11月23日

摘要: 对于会话式的网站,应用程序遵循既定的流程。使用webflow,更好的管理Web应用页面流程,流程控制和查看可以在配置文件中完成,区别于传统的流程在应用程序中定义,且流可重复使用sample code:http://www.springbyexample.org/examples/simple-spring-web-flow-webapp.html 阅读全文
posted @ 2012-11-23 14:03 yoyo_zeng 阅读(217) 评论(0) 推荐(0)

2012年11月20日

摘要: 一 处理器映射,配置文件DispatcherServlet是spring mvc的核心,作为spring mvc的前端控制器, 必须在web.xml中声明如下:<servlet> <servlet-name>spitter</servlet-name> //定义了servlet名字,将从于servlet相同名的xml中载入应用上下文,DispatcherServlet试图从spitter.xml中载入上下文 <servlet-class> org.springframework.web.servlet.Dispatcher... 阅读全文
posted @ 2012-11-20 22:39 yoyo_zeng 阅读(2296) 评论(0) 推荐(1)

2012年11月19日

摘要: 在程序行下文中声明一个事务管理器jdbc事务管理器DataSourceTransactionManager通过datasource检索到java.sql.Connection对象来管理事务,一个成功的事务调用当前连接commit()提交,一个失败的事务通过rollbck()回滚<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSou 阅读全文
posted @ 2012-11-19 22:43 yoyo_zeng 阅读(447) 评论(0) 推荐(0)

2012年11月17日

摘要: spring把数据访问过程中固定与变化的部分明确地划为两类:模板和回调spring提供了各种数据访问模板,分别适用于不同的持久机制,jdbc,hibernate等,使用数据访问模板只需要把它配置为spring context里的bean配置数据源方法1: JNDIJava Naming and Directory Interfaces,通过名称获取数据源从jndi中获取数据源 <jee:jndi-lookup id="dataSource" jndi-name="/jdbc/SpitterDS" //制定jndi里的数据源名称 resource-r 阅读全文
posted @ 2012-11-17 19:23 yoyo_zeng 阅读(1393) 评论(0) 推荐(0)

2012年11月16日

摘要: 泛型类public class classname<type1, type2...>{}classnamen = new classname<String, Integer>();泛型接口public interface interfacename<type1, type2>{}泛型方法public <T> void functionname(T t){}泛型数组List<T> array = new ArrayList<T>();通配符List<object> list = new ArrayList< 阅读全文
posted @ 2012-11-16 15:41 yoyo_zeng 阅读(239) 评论(0) 推荐(1)

摘要: clone()方法负责建立正确的存储容量,并通过“按位复制”将 二进制位从原始对象中复制到新对象的存储空间Thread方法1:继承thread类,但是不能继承其他类,可扩展性低public class SimpleThread extends Thread { private int countDown = 5;private int threadNumber;private static int threadCount = 0; public SimpleThread() {threadNumber = ++threadCount;System.out.println("Makin 阅读全文
posted @ 2012-11-16 14:15 yoyo_zeng 阅读(310) 评论(0) 推荐(0)

摘要: Class对象Class.forName("classname");getSuperClass,getInterfaceinstanceof:判断对象是不是一个特定类型的实例。instanceof后面可跟class或者interface名称,它会返回一个布尔值(如果是相同类型或者是子类或者执行了接口,返回true):if(x instanceof Dog)((Dog)x).bark(); 阅读全文
posted @ 2012-11-16 10:54 yoyo_zeng 阅读(218) 评论(0) 推荐(0)

摘要: try {// Code that might generate exceptions} catch(Type1 id1) {// Handle exceptions of Type1 } catch(Type2 id2) {// Handle exceptions of Type2 } catch(Type3 id3) {// Handle exceptions of Type3}finally {// 每次都会发生的情况} throws;后面跟随全部潜在的违例类型。方法定义可能抛出的异常:void f() throws tooBig, tooSmall,... 阅读全文
posted @ 2012-11-16 09:56 yoyo_zeng 阅读(151) 评论(0) 推荐(0)

2012年11月15日

摘要: 数组type[];可返回一个数组java 提供了四种类型的“集合类”:Vector(矢量)、BitSet(位集)、Stack(堆栈)以及 Hashtable(散列表)stack 实现了一个 LIFO(先入先出)序列,而 Hashtable 是一种 “关联数组”,允许我们将任何对象关联起来。除此以外,所有Java 集合类都能自动改变自身的大小集合实际容纳的是类型 为Object 的一些对象的句柄。这种类型当然代表Java 中的所有对象,因为它是所有类的根。当然,也要注 意这并不包括基本数据类型(利用象 Integer、Double 之类的“封装器”类)VectorVector中的对象为objec 阅读全文
posted @ 2012-11-15 23:40 yoyo_zeng 阅读(376) 评论(0) 推荐(0)

摘要: extends 关键字super 关键字如果class没有显示的构造函数,则自动创建构造函数,如果显示创建,则不创建默认构造函数。如果子类class没有调用基类构造函数,则调用默认构造函数。同 c++,不要在构造函数中调用动态绑定的方法(c++中的虚函数),动态绑定时,基类对象不可调用子类方法class test1{ public test1(int i){ System.out.println("init test1"); } public test1(){ }}class test2 extends test1{... 阅读全文
posted @ 2012-11-15 21:40 yoyo_zeng 阅读(217) 评论(0) 推荐(0)

摘要: import 关键字导入一个完整的库时,就会获得“包”(Package)。例如:import java.util.*; 若想导入单独一个类,可在 import 语句里指定那个类的名字:import java.util.Vector; 为 Java 创建一个源码文件的时候,它通常叫作一个“编辑单元”(有时也叫作“翻译单元”)。每个编译单 元都必须有一个以.java 结尾的名字。而且在编译单元的内部,有且只有一个公共(public)类,它必须拥有 与文件相同的名字(包括大小写形式)。编译一个.java 文件时,我们会获得一个名字完全相同的输出文件;但对于.java ... 阅读全文
posted @ 2012-11-15 18:28 yoyo_zeng 阅读(193) 评论(0) 推荐(0)

摘要: public class xxx{//data初始化,或者在{}初始化//method//static method,data初始化,或者在{}初始化}this关键字垃圾收集器:释放由new分配的内存,一旦垃圾收集器准备好释放对象占用的存储空间,它首先调用 finalize(),而且只有在下 一次垃圾收集过程中,才会真正回收对象的内存。所以如果使用 finalize(),就可以在垃圾收集期间进行一 些重要的清除或清扫工作。finalize()主要用来释放调用c/c++中的内存和观察垃圾收集的过程。java 不允许我们创建本地(局部)对象——无论如何都要使用 new制定初始化:类似C++的“构建 阅读全文
posted @ 2012-11-15 15:51 yoyo_zeng 阅读(284) 评论(0) 推荐(0)

2012年11月13日

摘要: 依赖注入,由传统的 has a,改为在配置文件中注入,降低依赖。传统方式:依赖性大public class A{private B data1;.....}public class B{...}注入public class A{private BParent data1;public A(){...}public A(int i, B b){...}.....}public interface BParent{...}public class B implements BParent{...}<beans><bean id="A" class =" 阅读全文
posted @ 2012-11-13 17:59 yoyo_zeng 阅读(1360) 评论(0) 推荐(0)

摘要: Using a POSIX Mutex Lockc语言方法pthread_mutex_t mutex;void MyInitFunction(){ pthread_mutex_init(&mutex, NULL);} void MyLockingFunction(){ pthread_mutex_lock(&mutex); // Do work. pthread_mutex_unlock(&mutex);}Using the NSLock ClassBOOL moreToDo = YES;NSLock *theLock = [[NSLock alloc] init];. 阅读全文
posted @ 2012-11-13 10:32 yoyo_zeng 阅读(334) 评论(0) 推荐(0)

摘要: 如果你在非main thread中运行run loop,你必须至少为该run loop添加一个input sources或timer。如果你运行的run loop没有监控任何的输入源,该run loop将在你运行后立即退出。Run loop observer使用detachNewThreadSelector:toTarget:withObject:创建一个thread:[cpp]view plaincopy[NSThreaddetachNewThreadSelector:@selector(observerRunLoop)toTarget:selfwithObject:nil];在新threa 阅读全文
posted @ 2012-11-13 09:40 yoyo_zeng 阅读(329) 评论(0) 推荐(0)

2012年11月12日

摘要: 可以代替自己创建线程的有多种方法,可以管理thread或者通知或者另开进程。TechnologyDescriptionOperation objectsIntroduced in OS X v10.5, an operation object is a wrapper for a task that would normally be executed on a secondary thread. This wrapper hides the thread management aspects of performing the task, leaving you free to focus 阅读全文
posted @ 2012-11-12 16:20 yoyo_zeng 阅读(364) 评论(0) 推荐(0)

摘要: When you send a message like[NSObject alloc]you are actually sending a message to the class object, and that class object needs to be an instance of the MetaClass which itself is an instance of the root meta classThe basic implementation of a class in Objective-C looks like@interface MyClass : NSObj 阅读全文
posted @ 2012-11-12 14:01 yoyo_zeng 阅读(151) 评论(0) 推荐(0)

2012年8月8日

摘要: NSString *str = [NSString stringWithString:[[NSString alloc] initWithFormat:@"123"]]; int i= [str retainCount]; //2 方法中套init,套用的init不会自动release NSString *str2 = [[NSString alloc] initWithFormat:[[NSString alloc] initWithFormat:@"456"]]; int i2= [str2 retainCount]; //1 重新分配内存总结:最好 阅读全文
posted @ 2012-08-08 15:01 yoyo_zeng 阅读(384) 评论(0) 推荐(0)

2012年7月4日

摘要: 转自:http://blog.csdn.net/sunxiaosunxiao/article/details/6829899本地方法就是直接和硬件打交道的一个软件模块,由虚拟机来执行调用。当我们的JAVA应用程序声明了本地方法就会通过虚拟就调用本地方法,本地方法中主要是实现一些对硬件的处理。一、为什么会有本地方法呢?它的作用是什么?java使用起来非常方便,然而有些层次的任务用java实现起来不容易,或者我们对程序的效率很在意时,问题就来了。1>与java环境外交互: 有时java应用需要与java外面的环境交互。这是本地方法存在的主要原因,你可以想想java需要与一些底层系统如操作系统 阅读全文
posted @ 2012-07-04 17:46 yoyo_zeng 阅读(792) 评论(0) 推荐(0)

摘要: 每一个Java程序都运行于自己的Java虚拟机实例中每一个java虚拟机实例都一个方法区和堆,装载class文件时,会将class文件中包含的二进制数据中解析类型信息放到方法区中,将所有程序在运行时创建的对象放到堆中方法区类型信息和类的静态变量都存储在方法区中。方法区中对于每个类存储了以下数据a.类及其父类的全限定名(java.lang.Object没有父类)b.类的类型(Class or Interface)c.访问修饰符(public, abstract, final)d.实现的接口的全限定名的列表e.常量池f.字段信息g.方法信息h.静态变量i.ClassLoader引用j.Class引 阅读全文
posted @ 2012-07-04 16:26 yoyo_zeng 阅读(293) 评论(0) 推荐(0)