-
2004-08-19
简单介绍AspectJ的高级特性(一)
随着AOP越来越热门,PointCut、Advice和Introduce等这些AspectJ中的基本概念已经广为人知。但是,要在企业领域实际运用AspectJ,除了这些基础语法,还需要了解AspectJ的高级特性。 一、The reflection API 说到高级特性,首先要说的就是AspectJ提供的一套reflection API,主要包括JoinPoint、JoinPoint.StaticPart和Signature三个主要的接口。你可以从aspectj.jar中的javado.............. -
2004-08-10
轻量级JMS消费者框架
JMS Client包括两方面:JMS Producer和JMS Consumer,JMS消费者中最常用的就是J2EE EJB中的MDB,因为MDB离不开应用服务器的支持,因此可以把MDB唤作重型JMS消费者。可是,在有一些场合,譬如不存在应用服务器,那MDB就指望不上。这时,轻量级JMS消费者就有了露脸的机会。 轻量级JMS消费者框架应该具有以下几个特点: 1、支持普通的java程序和servlet 支持这两种程序,既可脱离servlet.............. -
2004-08-03
关于JavaScript重名函数的sugar
今天突然碰到一个Javascript的函数重名问题,看一看下面的例子: <script language="javascript"><!-- function aaa() { alert("1111"); } function aaa() { alert("2222"); }//--></script><br><a href="#" onclick="aa.............. -
2004-08-02
JMS SOAP
developerWorks上面有一篇好文章,用 AXIS 编写 JMS 应用程序介绍了通过使用 AXIS 框架构建一个基于 JMS SOAP 的体系结构,MQSeries 作为中间件,WSDK 作为部署 SOAP 应用程序的工具。 .............. -
2004-07-30
JNDI File System Service Provider
JNDI(Java Naming and Directory Interface)现在使用的越来越频繁,在J2EE平台上,更是一刻也离开不了。JNDI提供访问名称和目录服务的统一API接口,可以通过JNDI来获取共享的组件和资源,JNDI将名称与位置、服务、信息和资源关联起来。JNDI现在的最新版本已经发展到了1.2。 在JNDI中一个很重要的部分就是 JNDI Service Provider Interface (SPI) ,见下图: .............. -
2004-07-21
MQSeries for Java
通过MQSeries Java调用MQSeries来收、发消息,一般有三种连接方式: 1、使用 TCP/IP,作为 MQSeries 客户机 2、使用 VisiBroker for Java 3、使用 JNI直接调用MQSeries 上述三种方式当然各有优缺点:客户机方式速度比较忙,但是使用灵活;VisiBroker方式需要你安装VisiBroker for Java;JNI方式速度最快,但必须把.............. -
2004-07-20
JUnit的一个疑似问题
在Java世界中,JUnit可以说是单元测试最有力的工具之一。现在,关于JUnit的讨论有很多,在Otaku, Cedric's weblog上的一篇blog:JUnit pain中谈到了一个问题: Why does a TestCase get instantiated as many times as it contains test methods? 我一直没有发现这个问题,因为我一般不会创建TestCase的构造方法,只.............. -
2004-07-19
commons-caching
仿照commons-logging做了一个commons-caching,使用方法非常简单。首先,你必须从CacheFactory中取得一个Cache接口: private static final Cache cache = CacheFactory.getCache("object-caching"); cache接口暂时只实现了三个接口方法: public Object get(Object key) throws CacheException; public void put(Object key, Object value.............. -
2004-07-16
J2EE object-caching frameworks
J2EE object-caching frameworks非常得多,有挑花眼的感觉。这篇文章还罗列了三种OSS的object-caching frameworks的一些测试结果,最主要的是它提供了object-caching frameworks的列表,以及它们的网址。 最近,一直想参考commons-logging做一个commons-caching,在commons-caching中可以使用如下的 -
2004-07-15
温故(5):String
String在Java中是使用频度最高的对象之一,大家对它可能都非常熟悉。可String对象也是Java中最特殊的对象,它可以通过“+”来进行字符串连接,它的赋值“=”也有一些不同。我在javaeye论坛中看到一篇一个关于垃圾收集器的问题!,就对字符串常量和字符串变量进行辨别。这是网友【buaawhl】的说?............. -
2004-07-14
Maven 1.0 Released
祝贺,Maven 1.0终于发布了,不知道Maven cn 1.0什么时候可以发布............... -
2004-07-08
温故(4):nested class
在Java中,嵌套类(nested class)在某些场合能起很好的作用,Joshua Bloch在名著《Effective java》详细地介绍了嵌套类地用法及其作用。有人可能直接把嵌套类(nested class)简单地当作内部类(inner class),其实它们还是有一些不一样。嵌套类(nested class)一般可以分为两大类: 1、嵌套顶级类(nested top-level class).............. -
2004-07-05
温故(3): toString()
很多人在编写程序时,为了调试方便,就会用到toString()方法。可是,你知道吗?toString()方法中隐藏着一个大问题,它会使程序变得不安全:当Object == null时,Object.toString()会throw NullPointerException The abuse and over-use of toString()这篇kasia's blog比较细致的分析了这个.............. -
2004-07-02
在JavaEye.com中谈TDD
TDD是Test-Driven Development的英文缩写,网上也有叫作Test-First Development,我想很可能两者是指同一概念(无从考证),至于这两者究竟有啥不同,我真的说不上来,自我感觉TDD相对于后者来说更主动一些而已。 TDD的概念看上去是非常之简单,只有两个步骤: 1、编写一个不能通过的测试,然后编写代码让测试通过; 2、消除重复代码,优化设计结构。从?............. -
2004-06-30
温故(2):pass by value
在Java领域中,这是一个被讨论得非常多的话题。可是,至今我发现还有很多人没有搞清楚(当然也包括本人)。直到看了这篇文章“Does Java pass by reference or pass by value? ”,才算完全明白。从中,我发现一个很有趣的东西:图形比文字更能让人看懂、更直观。在上面那篇文章中,我想大家只要看看图(画的真棒)就可大致?.............







