D盘

workspace
posts - 165, comments - 53, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

软件版本号大全 全面了解版本信息 
  alphal 内部测试版 
  beta 外部测试版 
  demo 演示版 
  Enhance 增强版或者加强版 属于正式版 
  Free 自由版 
  Full version 完全版 属于正式版 
  shareware 共享版 
  Release 发行版 有时间限制 
  Upgrade 升级版 
  Retail 零售版 
  Cardware 属共享软件的一种,只要给作者回复一封电邮或明信片即可。(有的作者并由此提供注册码等),目前这种形式已不多见。 
  Plus 属增强版,不过这种大部分是在程序界面及多媒体功能上增强。 
  Preview 预览版 
  Corporation & Enterprise 企业版 
  Standard 标准版 
  Mini 迷你版也叫精简版只有最基本的功能 
  Premium -- 贵价版 
  Professional -- 专业版 
  Express -- 特别版 
  Deluxe -- 豪华版 
  Regged -- 已注册版 
  CN -- 简体中文版 
  CHT -- 繁体中文版 
  EN -- 英文版 
  Multilanguage -- 多语言版 
  Rip 是指从原版文件(一般是指光盘或光盘镜像文件)直接将有用的内容(核心内容)分离出来,剔除无用的文档,例如PDF说明文件啊,视频演示啊之类的东西,也可以算做是精简版吧…但主要内容功能是一点也不能缺少的!另:DVDrip是指将视频和音频直接从DVD光盘里以文件方式分离出来。 
  trail 试用版(含有某些限制,如时间、功能,注册后也有可能变为正式版) 
  RC 版。是 Release Candidate 的缩写,意思是发布倒计时,该版本已经完成全部功能并清除大部分的BUG。到了这个阶段只会除BUG,不会对软件做任何大的更改。 
  RTM 版。这基本就是最终的版本,英文是 Release To Manufactur,意思是发布到生产商。 
  Original Equipment Manufacturer (OEM) 
  You may license products through an Original Equipment Manufacturer (OEM). These products, such as Windows operating systems, come installed when you purchase a new computer. 
  OEM软件是给电脑生产厂的版本,无需多说。 
  Full Packaged Product (FPP)Retail 
  Physical, shrink-wrapped boxes of licensed product that can be purchased in a local retail store or any local software retailer. 
  FPP就是零售版(盒装软件),这种产品的光盘的卷标都带有"FPP"字样,比如英文WXP ProFPP版本的光盘卷标就是WXPFPP_EN,其中WX表示是Windows XPPProfessionalHHome),FPP表明是零售版本,EN是表明是英语。获得途径除了在商店购买之外,某些MSDN用户也可以得到。 
  Volume Licensing for Organizations (VLO) 
  You may enjoy potentially significant savings by acquiring multiple product licenses. Depending on the size and type of your organization. 
  团体批量许可证(大量采购授权合约),这是为团体购买而制定的一种优惠方式。这种产品的光盘的卷标都带有"VOL"字样,取"Volume"3个字母,以表明是批量,比如英文WXP ProVOL版本的光盘卷标就是WXPVOL_EN,其中WX表示是Windows XPPProfessionalVOL没有Home版本),VOL表明是团体批量许可证版本,EN是表明是英语。获得途径主要是集团购买,某些MSDN用户也可以得到。 
这种版本根据购买数量等又细分为“开放式许可证”、“选择式许可证”、“企业协议”、“学术教育许可证”等以下5种版本 
  Open License 
  Select License 
  Enterprise Agreement 
  Enterprise Subscription Agreement 
  Academic Volume Licensing 
  由此可见,平时说的什么select/corp是许可证授权方式,他的出现是为了用若干种不同级别的优惠政策卖同一种软件,通过select/corp许可证授权方式得到的xxx的光盘都是VOL这一种、是并不是有很多种,只不过是相同的VOL光盘配以不同的许可证方式;而Volume Licensing (Product) Keys,即VLK,它所指的只是一个Key(密匙),仅仅是一个为证明产品合法化、以及安装所使用的Key,因为根据VOL计划规定,VOL产品是不需要激活的! 
  或者说,VLK不是指一种版本,而是指这种版本在部署(deploy)过程中所需要的Key,而需要VLK这种Key的版本应该叫做VOL!只不过在实际中,没有必要强调这种叫法、称呼的准确性,加之很多人的VOL版本光盘是通过企业的选择式许可证、企业协议等方式得到的等等原因,所以才会有很多人叫他为“选择版”等等。 
官方网站有一个表格,上面有一句话:“Different products require different Volume Licensing Keys (VLKs). Refer to the table below to make sure you have the correct VLK for your Microsoft product.”,我想这就很好的说明了VLK指的是Key而不是产品了。 很明显的,FPP需要激活,VOL不需要激活。

posted @ 2007-12-17 20:18 巴西木 阅读(138) | 评论 (0)编辑 收藏

今天部署遇到一个问题,据查,可能是因为jdk1.5泛型的引入导致的。
报错如下:
An error occurred at line: 702 in the jsp file: /user/viewuser.jsp
Generated servlet error:
C:\Tomcat5\work\Catalina\localhost\UIA\org\apache\jsp\user\viewuser_jsp.java:832: 找不到符号
符号: 方法 getInstance()
位置: 类 edu.buaa.ieg.uia.core.bean.dao.OrgDomainDAO
      out.print(OrgDomainDAO.getInstance().getOrgDomainNameByID(user.getOrgdomainID()));
                            ^
注意:C:\Tomcat5\work\Catalina\localhost\UIA\org\apache\jsp\user\viewuser_jsp.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
1 错误

一篇文章中提到了泛型:
★怎么会出现 使用了未经检查或不安全的操作 呢★
2006年09月06日 星期三 下午 03:52

一段程序如下,编译后提示 使用了未经检查或不安全的操作

import java.util.*;
/**
*
* @author Administrator
*/
public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        HashMap hm = new HashMap();
        hm.put("1", 11);
        System.out.println(hm.get("1"));
    }
    
}

这是因为java1。5使用了泛型得缘故,作如下修改:

        HashMap hm = new HashMap();
改成:

        HashMap<String, Integer> hm = new HashMap<String, Integer>();

就行了。



因此需要学习一下泛型:


  “JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。

  下面我们简单介绍一下这些新特性。

  1.泛型(Generic)

  C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也不得不对他们进行强制得类型转换。猛虎引入了泛型,它允许指定集合里元素的类型,这样你可以得到强类型在编译时刻进行类型检查的好处。

Collection<String> c = new ArrayList();
c.add(new Date());


  编译器会给出一个错误:

add(java.lang.String) in java.util.Collection<java.lang.String> cannot be applied to (java.util.Date)


  2.For-Each循环

  For-Each循环得加入简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。典型的代码为:

void processAll(Collection c){
    for(Iterator i=c.iterator(); i.hasNext();){
        MyClass myObject = (MyClass)i.next();
        myObject.process();
    }
}


  使用For-Each循环,我们可以把代码改写成:

void processAll(Collection<MyClass> c){
    for (MyClass  myObject :c)
        myObject.process();
}


  这段代码要比上面清晰许多,并且避免了强制类型转换。

  3.自动装包/拆包(Autoboxing/unboxing)

  自动装包/拆包大大方便了基本类型数据和它们包装类地使用。

  自动装包:基本类型自动转为包装类.(int >> Integer)

  自动拆包:包装类自动转为基本类型.(Integer >> int)

  在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了我们的问题。

int a = 3;
Collection c = new ArrayList();
c.add(a);//自动转换成Integer.

Integer b = new Integer(2);
c.add(b + 2);

  这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer.

  4.枚举(Enums)

  JDK1.5加入了一个全新类型的“类”-枚举类型。为此JDK1.5引入了一个新关键字enmu. 我们可以这样来定义一个枚举类型。
 
public enum Color
{
   Red,
   White,
   Blue
}

  然后可以这样来使用Color myColor = Color.Red.

  枚举类型还提供了两个有用的静态方法values()和valueOf(). 我们可以很方便地使用它们,例如

for (Color c : Color.values())
            System.out.println(c);

  5.可变参数(Varargs)

  可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是函数声明中的最后一个参数。假设我们要写一个简单的方法打印一些对象,

util.write(obj1);
util.write(obj1,obj2);
util.write(obj1,obj2,obj3);

  在JDK1.5之前,我们可以用重载来实现,但是这样就需要写很多的重载函数,显得不是很有效。如果使用可变参数的话我们只需要一个函数就行了

public void write(Object... objs) {
   for (Object obj: objs)
      System.out.println(obj);
}

  在引入可变参数以后,Java的反射包也更加方便使用了。对于c.getMethod("test", new Object[0]).invoke(c.newInstance(), new Object[0])),现在我们可以这样写了c.getMethod("test").invoke(c.newInstance()),这样的代码比原来清楚了很多。 

  6.静态导入(Static Imports)

  要使用用静态成员(方法和变量)我们必须给出提供这个方法的类。使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。

import static java.lang.Math.*;
…….
r = sin(PI * 2); //无需再写r = Math.sin(Math.PI);

  不过,过度使用这个特性也会一定程度上降低代码地可读性。

 

Collection<String> c = new ArrayList();
c.add(new Date());


  编译器会给出一个错误:

add(java.lang.String) in java.util.Collection<java.lang.String> cannot be applied to (java.util.Date)


  2.For-Each循环

  For-Each循环得加入简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。典型的代码为:

void processAll(Collection c){
    for(Iterator i=c.iterator(); i.hasNext();){
        MyClass myObject = (MyClass)i.next();
        myObject.process();
    }
}


  使用For-Each循环,我们可以把代码改写成:

void processAll(Collection<MyClass> c){
    for (MyClass  myObject :c)
        myObject.process();
}


  这段代码要比上面清晰许多,并且避免了强制类型转换。

  3.自动装包/拆包(Autoboxing/unboxing)

  自动装包/拆包大大方便了基本类型数据和它们包装类地使用。

  自动装包:基本类型自动转为包装类.(int >> Integer)

  自动拆包:包装类自动转为基本类型.(Integer >> int)

  在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了我们的问题。

int a = 3;
Collection c = new ArrayList();
c.add(a);//自动转换成Integer.

Integer b = new Integer(2);
c.add(b + 2);

  这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer.

  4.枚举(Enums)

  JDK1.5加入了一个全新类型的“类”-枚举类型。为此JDK1.5引入了一个新关键字enmu. 我们可以这样来定义一个枚举类型。
 
public enum Color
{
   Red,
   White,
   Blue
}

  然后可以这样来使用Color myColor = Color.Red.

  枚举类型还提供了两个有用的静态方法values()和valueOf(). 我们可以很方便地使用它们,例如

for (Color c : Color.values())
            System.out.println(c);

  5.可变参数(Varargs)

  可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是函数声明中的最后一个参数。假设我们要写一个简单的方法打印一些对象,

util.write(obj1);
util.write(obj1,obj2);
util.write(obj1,obj2,obj3);

  在JDK1.5之前,我们可以用重载来实现,但是这样就需要写很多的重载函数,显得不是很有效。如果使用可变参数的话我们只需要一个函数就行了

public void write(Object... objs) {
   for (Object obj: objs)
      System.out.println(obj);
}

  在引入可变参数以后,Java的反射包也更加方便使用了。对于c.getMethod("test", new Object[0]).invoke(c.newInstance(), new Object[0])),现在我们可以这样写了c.getMethod("test").invoke(c.newInstance()),这样的代码比原来清楚了很多。 

  6.静态导入(Static Imports)

  要使用用静态成员(方法和变量)我们必须给出提供这个方法的类。使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。

import static java.lang.Math.*;
…….
r = sin(PI * 2); //无需再写r = Math.sin(Math.PI);

  不过,过度使用这个特性也会一定程度上降低代码地可读性。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=517103

posted @ 2007-12-14 10:56 巴西木 阅读(234) | 评论 (0)编辑 收藏

1.关于脚本文件

脚本文件是可以随时建立的,其中的function可以被Custum Actions执行,执行的方式是在“Behavior and Logic”->“Custum Actions”中新增一个Action,然后选择执行顺序即可。

2.如何将一个程序安装成windows的服务

在Oragnization->components中选择需要运行的文件,然后在文件的“Advanced Settinng”中的“Install NT Services”中增加一个服务即可

3.对话框

使用这个语句:    MessageBox ("弹出对话框", INFORMATION); 
其中后面那个参数可以设置信息或错误等

4.用脚本安装windows服务的语句

试验成功,但发现(2)中提到的方法之后放弃这种方式:
 ServiceAddService("ggAgent","ggAgentService","gg Agent Service Description","c:\\windows\\gg.exe",TRUE,"");
 ServiceStartService("ggAgent","");

posted @ 2007-12-13 17:10 巴西木 阅读(1276) | 评论 (0)编辑 收藏

今天部署A系统的时候遇到这样的错误:
Error filterStart
查了很多资料,结果发现,自己的classes目录下的文件全部都没有拷贝到tomcat的相关目录下,手动拷贝搞定。

posted @ 2007-12-12 15:24 巴西木 阅读(1541) | 评论 (0)编辑 收藏

庆祝!

posted @ 2007-12-08 18:48 巴西木 阅读(90) | 评论 (0)编辑 收藏

仅列出标题
共33页: First 25 26 27 28 29 30 31 32 33