`
liwei113114
  • 浏览: 13916 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
    ReflectionUtil 反射工具包,利用反射的API直接生成Java字节码,提高执行效率。 普通方法调用 所有的命令最终生成到Invoker对象的invoke方法中 public Object invoke(Object[] args);   具体使用如下: InvokerBuilder builder=InvokerBuilder.g ...
Spring DM与Struts2集成       上一篇文章已经将struts2集成到OSGi环境中了,但要在struts2中使用OSGi的服务还是很麻烦,要自己手动查找服务,而Spring DM则提供了相应的标签来支持查找OSGi服务,所以现在的目标就是让Struts2中的配置文件可以使用Spring DM中定义的Bean。       首先我们要搞清楚SpringDM的工作原理,SpringDM是将每个Bundle下面的/META-INF/Spring/*.xml文件加载进来,创建Spring的上下文,但bundle之间的上下文是隔离的,是存放在org.springframework ...
要完成Spring DM与Struts2的集成,主要完成两件事 将Struts2集成到OSGi环境中。 将Spring DM与Struts2集成,使Struts2可以使用Spring DM中定义的Bean。 此文章采用的方法不是Spring DM Web Extender的方式,由Spring DM Web是将工程手动注册到Web容 ...
       要将iBatis集成到OSGi环境中,主要完成的就是各bundle中的sqlmap配置文件的动态加载与移除。而iBatis的api中并没有提供直接移除sqlmap中statement的api,而且在iBatis中也并没有将statement按照namespace来存放,而仅仅是将namespace作为statement的id的一个前缀。所以我们首先要做的就是对iBatis的代码进行改造,以达到能动态添加和移除sqlmap的功能(本文章中所用到的是iBatis 2.3.4)        此改造是在Spring的SqlMapClientFactoryBean 的基础上进行,因为 ...
一、AST版“Hello World” public class HelloWorld { public static void main(String[] args) { AST ast = AST.newAST(AST.JLS3); CompilationUnit compilationUnit = ast.newCompilationUnit(); // 创建类 TypeDeclaration programClass = ast.newTypeDeclaration(); programClass.setName(ast.newSimpleName ...
    这两天写用ASM写了一个将普通JavaBean转成MongoDB的DBObject对象的一个方法,对其中遇到的一些问题做一个总结。     1.自动装箱功能       用ASM就意味着很多jdk的很多优化性的功能不能用了,其中之一就是自动装箱和拆箱。如果一个方法接收一个Integer的参数,那你在用ASM调用该方法的时候就不能直接将int传给这个参数,而是要用Integer.valueOf()方法来封装。     2.关于接口方法的调用     我们在编写普通java方法时,对于接口方法和对象的方法在调用上来说没有任何区别,但在jvm底层,这两者是有区别的,调用对象的非静态方法 ...
     最近一直在看<深入java虚拟机>这本书,虽然是本比较老的书了.但看了几章后,感觉自己对一些底层的知识更了解了.现总结一下.      1.安全性          说到安全性肯定要说java的安全沙箱了,首先来看看安全水箱的基本组件,主要由以下几个组成: 类装载器结构 class文件检验器 内置于java虚拟机的安全特性 安全管理器及java API        1.1 类装载器       从1.2开始,类装载器都采用的是"双亲委派"模式,即一个类装载器要装载一个类时,首先将这个类"委派"给它的双亲进行装载, ...
Global site tag (gtag.js) - Google Analytics