Archive for 03月, 2007

Mar 19 2007

Oracle 10G 中的回收站

Published by 松松 under 数据库

在Oracle 10g数据库中,引入了一个回收站(Recycle
跳转后查看全文 »

No responses yet

Mar 06 2007

涨停板的秘密:散户的宿命(ZT)

Published by 松松 under 股海沉浮

 
 
  
跳转后查看全文 »

No responses yet

Mar 06 2007

Jbuilder中生成EXE文件

Published by 松松 under Java夜未眠

在运用jbuilder进行java开发时很多人都会想怎么用它生成一个可执行的.exe文件?

下面来说说基本的步骤!希望给大家一些帮助!

1.制作jar

菜单wizards-

archive
跳转后查看全文 »

No responses yet

Mar 06 2007

java动态加载类

Published by 松松 under Java夜未眠

/*

在JAVA中,通过Class.forName()方法可以动态决定加载哪一个类,这个功能对于相同接口的不同实现来讲非常有用。比如对于设计好的数据库连接池接口,我们可以有多种的接口实现类来完成相同的功能,同时用户可以简单的通过修改配置文件来指定实际使用哪一个实现类,在源代码里面通过读取配置文件信息,并用Class.forName(configClassName).getInstance()就可以构造一个特定的实现类实例,而不用每次修改源代码。这样对于程序来讲只用关心接口的定义,用户只用进行配置文件的设置就完成了同一功能的不同实现的切换。

但是如果实现类需要通过静态方法来进行初始化的时候,动态加载的过程就会复杂一些。同样的以数据库连接池为例,通常连接池的构造函数都会被定义为私有的,而通过自定义的getInstance()静态方法来得到唯一实例。这种情况下简单的通过Class.forName().getInstance()就无法正确构造实例。

幸好JAVA所提供的反射机制(Reflection)为我们提供了完整了探悉类内部结构的方法。通过反射机制,我们能够完成基本上所有的运行时决定的动作(虽然这一实现要比其他动态语言,比如PHP,的eval()的使用要复杂的多)。

下面通过实际的例子说明如何在运行时动态访问类的静态方法。

-------------------------------------------------------

*/

import
跳转后查看全文 »

No responses yet