`
文章列表
    java中要用到缓存的地方很多,首当其冲的就是持久层缓存,针对持久层谈一下: 要实现java缓存有很多种方式,最简单的无非就是static HashMap,这个显然是基于内存缓存,一个map就可以搞定引用对象的缓存,最简单也最不实 ...
工作原因需要用到一个代理,首选Spring Aop ,很久没用了,今天翻了下文档看了下源码,发现看文档容易晕,看源码结构清晰明了,Advice,PointCut,Advisor泾渭分明,ProxyFactoryBean总控。 Target:主角,目的就是生成target的代理对象。 Advice:抛弃概念简单理解就是你要插入target的执行代码。 PointCut:就是你要在target文件的哪个方法哪个位置插入,之前还是之后。 Advisor:用来整合Advice与PointCut。 Spring Aop复杂在对于前四者再加上Interceptor的封装,对这四者的装饰封装衍生出了好多类,而 ...
这个程序示范了使用 PL/SQL 的 DOM API 解析 XML 文档, -- 使用了 SYS.XMLDOM 和 SYS.XMLPARSER包 -- 程序解析了输入的 XML 文件,打印文档所有元素和元素的属性 connect scott/tiger; set serveroutput on; create or replace procedure domsample(dir varchar2, inpfile varchar2,                                       errfile varchar2) is -- 参数说明: -- dir      ...
文件: <?xml version="1.0"?> <PEOPLE> <PERSON PERSONID="E01"> <NAME>Tony Blair</NAME> <ADDRESS>10 Downing Street, London, UK</ADDRESS> <TEL>(061) 98765</TEL><FAX>(061) 98768& ...
    听说很久了,今天上网查问题时无意点进了它的官网,翻了一下,网上资料不多,深入研究的也不多,估计国内用的人寥寥无几,手动写了个简单示例,说说两点感想: 第一点就是感觉侵入性很强,但是得失总是矛盾的,侵入性强了意味着对容器的管理更加自如,注入点完全可以由自己定义,由于国内中spring的毒太深了,这点似乎用不到,注入点一般都挪到启动时,一大优势扼杀掉了。     再者就是性能,全注解全动态性能方面的优势不言而喻,至少XML那块彻底抹杀,另外由于是专注IOC,显然比spring这样的巨型IOC引擎来得快,但是可悲的是这点性能跟第一点也是一样的,基本上全是集中在初始化时候的性能,对于企业又是可有 ...
撰文/Martin Fowler 编译/透明 Java 社群近来掀起了一阵轻量级容器的热潮,这些容器能够帮助开发者将来自不同项目的组件组装成为一个内聚的应用程序。在它们的背后有着同一个模式,这个模式决定了这些容器进行组件装配的方 ...
本实验采用全注解模拟,开始讨厌XML配置文件了 定义两注解: @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Bean { public String Id() default ""; } @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface Autowired { } 定义工厂接口: public interface BeanFa ...
为跳槽做打算,最近在猛学,回顾一下知识点,突然发现动态代理还是理解的模糊,狠狠研究了一天,写此文以作纪念。 首先写个普通的代理 来个接口: public interface Drawable { public void draw(); } 再来个实现类: public class Pen implements Drawable { public void draw() { System.out.println("draw something"); } } 代理类(随便在博客写,未经编译): public clas ...
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。如果是GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C),最后对全表进行GROUP BY操作。 grouping_id()可以美化效果: Oracle的GROUP BY语句除了最基本的语法外,还支持ROLL ...
一、语法:      TRANSLATE(string,from_str,to_str)  二、目的        返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE   是   REPLACE   所提供的功能的一个超集。如果   from_str   比   to_str   长,那么在   from_str   中而不在   to_str   中的额外字符将从   string   中被删除,因为它们没有相应的替换字符。to_str   不能为空。Oracle   将空字符串解释为   NULL,并且如果TRANSLA ...
返回createTextRange的text和htmlText <script language="javascript"> function test() { var rng=document.body.createTextRange(); alert(rng.text) } function test1() { var rng=document.body.createTextRange(); alert(rng.htmlText) } </script> <input type="button" ...
两大卖点:资源级事务、可靠消息队列; 优点: 1. 系统采用C/C++开发,执行效率高于JAVA,适合于OLTP系统; 2. Tuxedo以API方式屏蔽系统细节,简化编程,以较少的API函数调用即可开发一个应用; 3. 可以多个Server并行处理,提高处理能力, ...
dwr的Reverse Ajax,新瓶装老酒,其实就是comet技术,即服务端向客户端push js代码,典型的应用场景就是目前比较火的比赛图文直播,还有聊天室等,消息订阅模式的一种实现。 优点:控制权反转,打开一个网页(或进行一次操作)后,订阅了一个消息,一个客户端服务端连接将维持,服务端检测到数据更新,将自动push数据到客户端,这样服务端对于程序调动的灵活性更加大,避免了客户端大量的循环请求数据。 缺点:连接维持,访问数量一大连接数将很快饱和。 关于comet优点比较权威的阐述:Ajax improves single-user responsiveness. Comet impro ...
html代码: <body> <input type="button" name="getData" id="getData" value="dwrTest" onclick="dwrWork()"> <table id="table" name="table1"> <tr> <td align="center"> name & ...
用到Jeff Vroom同学写得一个SpringFactory public class SpringFactory implements FlexFactory { private static final String SOURCE = "source"; /** * This method can be used to initialize the factory itself. It is called with configuration * parameters from the factory tag wh ...
Global site tag (gtag.js) - Google Analytics