• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






phoebus0501

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页

2011年3月11日

转:java解析xml
摘要: 在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。 预 备 测试环境: AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1.4.1+Eclipse 2.1+Resin 2.1.8,在 Debug 模式下测试。 XML 文件格式如下: <?xml version="1.0" encoding="GB2312& 阅读全文
posted @ 2011-03-11 19:22 phoebus0501 阅读(303) 评论(0) 推荐(1)
 
转:Java 动态代理机制分析及扩展
摘要: 引言Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本文,读者将会对 Java 动态代理机制有更加深入的理解。本文首先从 Java 动态代理的运行机制和特点出发,对其代码进行了分析,推演了动态生成类的内部实现。回页首代理:设计模式代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消 阅读全文
posted @ 2011-03-11 10:41 phoebus0501 阅读(689) 评论(0) 推荐(0)
 
转:JAVA动态代理实现&&动态字节码生成(asm)
摘要: 在目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。其实现主要通过是java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。Proxy类主要用来获取动态代理对象,InvocationHandler接口用来约束调用者实现,如下,HelloWorld接口定义的业务方法,HelloWorldImpl是HelloWorld接口的实现,HelloWorldHandler是InvocationHandler接口实现。代码如下:业务接口:public interface HelloWorld { void sa 阅读全文
posted @ 2011-03-11 10:38 phoebus0501 阅读(1327) 评论(0) 推荐(0)
 
转:Spring中AOP的两种代理方式(Java动态代理和CGLIB代理)
摘要: 第一种代理即Java的动态代理方式上一篇已经分析,在这里不再介绍,现在我们先来了解下GCLIB代理是什么?它又是怎样实现的?和Java动态代理有什么区别?cglib(Code Generation Library)是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。cglib封装了asm,可以在运行期动态生成新的class。cglib用于AOP,jdk中的proxy必须基于接口,cglib却没有这个限制。原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利 阅读全文
posted @ 2011-03-11 10:38 phoebus0501 阅读(6650) 评论(0) 推荐(0)
 

2011年3月8日

转:java读写文件大全,将内容追加到文件尾部
摘要: 1、java读写文件大全最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中write(char[] ch,int off,intlength),flush()和close()方法为抽象方法,Reader中read(char[] ch,int off,intlength)和close()方法是抽象方法。子类应该分别实现他们。 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamRea 阅读全文
posted @ 2011-03-08 21:43 phoebus0501 阅读(7293) 评论(0) 推荐(0)
 
转:单例模式(序列化)
摘要: 如果你序列化一个单例类,然后两次重构它,那么你就会得到那个单例类的两个实例,除非你实现readResolve()方法,像下面这样:例1 一个可序列化的单例类Java代码importorg.apache.log4j.Logger;public class Singleton implements java.io.Serializable{ public static SingletonINSTANCE = newSingleton(); protected Singleton(){// Exists only to thwartinstantiation.} private Object rea 阅读全文
posted @ 2011-03-08 13:38 phoebus0501 阅读(926) 评论(0) 推荐(1)
 
转:Class.forName和ClassLoader.loadClass的区别
摘要: Class的装载分了三个阶段,loading,linking和initializing,分别定义在The Java Language Specification的12.2,12.3和12.4。Class.forName(className)实际上是调用Class.forName(className, true, this.getClass().getClassLoader())。注意第二个参数,是指Class被loading后是不是必须被初始化。ClassLoader.loadClass(className)实际上调用的是ClassLoader.loadClass(name, false),第 阅读全文
posted @ 2011-03-08 10:40 phoebus0501 阅读(1867) 评论(0) 推荐(0)
 

2011年3月7日

java跳出多重循环tip
摘要: 在相对复杂的业务逻辑中,我们常常使用到多重循环,在最里层循环判断某个条件,一旦条件不符合就直接break,可以break并不能直接跳出所有的循环,这肯定会对性能有影响,还有可能影响业务判断。最好的方式就是直接跳出所有循循,return到最外层。这个类似被广大人民诟病的goto语法。大家众所周知,java是不支持goto语法的,虽然保留了goto为关键字。解决这类问题,其实有个很简单的做法Java代码 publicvoidshowExample(){breakFor:for(inti=0;i<100;i++){for(intj=0;j<100;j++){if(j%15==i){bre 阅读全文
posted @ 2011-03-07 23:04 phoebus0501 阅读(3940) 评论(0) 推荐(0)
 
转:深入探讨类加载器
摘要: 原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-classloader/index.html类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用的开发人员不需要直接同类加载器进行交互。Java 虚 阅读全文
posted @ 2011-03-07 16:26 phoebus0501 阅读(217) 评论(0) 推荐(0)
 
jvm何时对类进行初始化及创建类实例的几种方法
摘要: 初始化必须发生在装载、连接以后,java虚拟机一般会在每个类或接口主动使用时才会对类型进行初始化。下面六中情形符合主动使用的要求:1.当创建某个类的新实例时。注:包括创建的所有方式,如new、反射、克隆以及反序列化等2.当调用某个类的静态方法时3.当使用某个类或接口的静态字段,或对该静态非常量字段进行赋值时。注意:用final修饰的静态字段除外,因为在编译阶段时,它就被替换成一个常量表达式4.调用java API中的某些反射方法时,比如类Class中的方法或java.lang.reflect包中的方法5.初始化某个类的子类时(某个类初始化时,要求它的超类已经被初始化了)6.虚拟机启动时,包含有 阅读全文
posted @ 2011-03-07 15:59 phoebus0501 阅读(723) 评论(0) 推荐(0)
 
上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页