摘要:
Path类在JDK7帮助文档中的解释是定位一个文件或者指明一个路径。说白了就是可以代表一个带有路径的文件定位也可以表示一个路径。其实用起来还是很简单的如下代码所示import java.io.IOException;
import java.nio.file.LinkOption;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main { public static void main(String[] args) throws IOException { Path path=Paths.g... 阅读全文
摘要:
上一篇文章已经介绍了如何使用JDK的三个标准Annotation,本文将介绍Annotation的原理,以及如何自定义Annotation,并利用Annotation来完成一些实际的功能。定义Annotation定义新的Annotation类型使用@interface关键字,这从一定意义上说明Annotation和接口的定义是有相似之处的。如下代码定义了一个Annotation //使用DK的元数据Annotation:Retention @Retention(RetentionPolicy.RUNTIME) //使用JDK的元数据Annotation:Target @Target(El... 阅读全文
摘要:
Annotation简介从JDK5.0开始,Java增加了对元数据(MetaData)的支持,也就是Annotation(注解,也有地方称之为注释),其实说白了就是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。Annotation提供了一条为程序元素设置元数据的方法,从某些方面来看,Annotation就像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些 阅读全文
摘要:
根据前面介绍的Proxy和InvocationHandler,实在很难看出这种动态代理的优势,下面介绍一种更实用的动态代理机制.只要我们开发一个实际使用的软件系统,总会出现相同代码重复出现的情形,在这种情形下,最常见的做法是:选中那些代码一路“复制”、“粘贴”立即实现系统的功能,如果仅仅从软件功能上来看,他们确实已经完成了软件的开发。对于采用上述方法实现的系统,在软件开发期间可能会觉得无所谓,但如果有一天需要修改程序的公共部分,那意味着打开多份源代码进行修改。如果有100个地方,甚至是1000个地方使用了这段深色代码段,那修改维护这段代码的工作量将变成噩梦。在这种情况下大部分少有经验的开发这都 阅读全文
摘要:
在Java的Java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口可以生成JDK动态代理类或动态代理对象.Proxy提供用于创建动态代理类和代理对象的静态方法,它也是所有动态代理类的父类.如果我们在程序中为一个或多个接口动态地生成实现类,就可以使用Proxy来创建动态代理类:如果需要为一个或多个接口动态的创建实例,也可以使用Proxy类创建动态代理实例.Proxy提供了如下两个方法来创建动态代理类和动态代理实例:1. staticClass<?>getProxyClass(ClassLoader loader, 阅读全文
摘要:
寒假结束了,年也过完了,提前回来一天就开始着手补上这迟到的年终总结,写了一个多星期还觉得有些东西没有写出来,无奈,点到为止吧:)。2012年的后半年经历了很多,收获了很多,感触了很多,各种很多……还是按照咱们的老规矩:以时间为主线,以事件为标志,请听我把这半年的事娓娓道来。关于学习计算机学习EJB看了一下上次总结的时间(2012-09-11),当时正在研究中间件的理论知识,期间接触到了EJB。现在自己对EJB技术的定位是这样的:说白了EJB仅仅是实现中间件(或者说企业级开发)的一种方式而已。因为中间件的主要作用就是屏蔽下层的异构,为上层开发做基础性的工作,所以必然需要分布式,而EJB当中的RM 阅读全文
摘要:
Struts11、初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web、xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config、xml)的配置信息,为struts中不同的模块初始化相应的对象。2、发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器。3、form填充:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员变量中。4、派发请求:控制器根据配置信息对象ActionConfig将请求派发到具体的Action,对 阅读全文