2010年11月24日
摘要: (1) 2.x与1.x的变化 一、包与命名所有的类和方法严格使用驼峰法命名。例如SSLFilter被更名为SslFilter,其它很多类也是如此。所有NIO传输类在命名时增加‘Nio’前缀。因为NIO并不只是socket/datagram传输的实现,所有‘Nio’前缀加在了所有的NIO传输类上。改变之前:Java代码SocketAcceptoracc... 阅读全文
posted @ 2010-11-24 21:04 aurawing 阅读(5455) 评论(0) 推荐(0) 编辑
摘要: 线程简介 一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统... 阅读全文
posted @ 2010-11-24 20:59 aurawing 阅读(2937) 评论(0) 推荐(2) 编辑
摘要: WrappersAnother very powerful feature of Filters is the ability to optionally wrap a request and/or a response. Wrapping is used to encapsulate a given request or response inside another (customized) ... 阅读全文
posted @ 2010-11-24 20:52 aurawing 阅读(568) 评论(0) 推荐(0) 编辑
摘要: jdk的动态代理是基于接口的,必须实现了某一个或多个任意接口才可以被代理,并且只有这些接口中的方法会被代理。看了一下jdk带的动态代理api,发现没有例子实在是很容易走弯路,所以这里写一个加法器的简单示例。1// Adder.java 2 3packagetest; 4 5publicinterfaceAdder { 6intadd(inta,intb); 7} 01// AdderImpl... 阅读全文
posted @ 2010-11-24 20:51 aurawing 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 在本文中,我将展示如何使用各种不同的 Java 技术构建一些简单的 Comet 风格的 Web 应用程序。读者对 Java servlet、Ajax 和 JavaScript 应该有一定的了解。我们将考察 Tomcat 和 Jetty 中一些支持 Comet 的特性,因此需要使用这两个产品的最新版本。本文使用 Tomcat 6.0.14 和 Jetty 6.1.14。另外还需要一个支持 Java ... 阅读全文
posted @ 2010-11-24 20:50 aurawing 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 初始化:Context initCtx = new InitialContext();Context envCtx = (Context) initCtx.lookup("java:comp/env");java:com/env为Tomcat中的初始化固定名称0. IntroductionThis resource factory can be used to create objects of ... 阅读全文
posted @ 2010-11-24 20:44 aurawing 阅读(392) 评论(0) 推荐(0) 编辑
摘要: cglib,全称是Code Generation Library,它可以用来动态继承Java类或者实现接口,很多知名的开源项目中用到了它,譬如Hibernate,Spring之类用它来实现动态代理。增强一个已有类public class MyClass {public void method() {System.out.println("MyClass.method()");}}import ja... 阅读全文
posted @ 2010-11-24 20:40 aurawing 阅读(3415) 评论(0) 推荐(0) 编辑
摘要: 从可以看到,基于ASM的开发很复杂,需要了解JVM的底层编码。CGLIB以ASM为基础, 对ASM的功能进行了扩展和封装,提供了更友好的API,部分通用的模版和高级的功能实现。CGLIB的具体功能如下:(1)扩展ASM的Visitor模式。在ASM的Visitor模式的基础上利用ClassEmitter和CodeEmitter将Visitor事件封装为更符合Java开发者习惯的事件。(2)实现了J... 阅读全文
posted @ 2010-11-24 20:39 aurawing 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 在超轻量级开源ORM系统EasyDBO,可以根据情况把属性设置成延迟加载,从而大大提高应用程序的性能。比如一个域对象中所包括一个order属性,则可以像下面这样设置: <one-to-one name="order" type="com.easyjf.dbo.example.Order" column="orderId" key="cid" lazy="true"> </one... 阅读全文
posted @ 2010-11-24 20:39 aurawing 阅读(773) 评论(0) 推荐(0) 编辑
摘要: package dao;import java.lang.reflect.Field;import java.lang.reflect.ParameterizedType;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultS... 阅读全文
posted @ 2010-11-24 20:38 aurawing 阅读(315) 评论(0) 推荐(0) 编辑