Chinaunix首页 | 论坛 | 博客
  • 博客访问: 914897
  • 博文数量: 380
  • 博客积分: 3495
  • 博客等级: 中校
  • 技术积分: 3996
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-02 09:35
文章分类

全部博文(380)

文章存档

2015年(2)

2014年(5)

2013年(9)

2012年(9)

2011年(67)

2010年(103)

2009年(182)

2008年(3)

我的朋友

分类: Java

2010-03-13 20:22:54

可以说,如果编码时间长的话,肯定会遇到DLL地狱,也就是程序版本的问题.
要是真碰上了,还真是不知道怎么办.因为这东西,跟运行或者说是安装环境有直接关系,
是开发人员来控制的.而C/C++这类语言很少能解决这种问题.只能靠用户自己处理.这样就真的....
不知道JAVA有什么好办法?

在JAVA中直接提供了一个版本管理机制,可以供我们在代码中直接控制代码依赖库的版本.这总算是个好消息吧.
下面我们就看看是怎么用的吧
按JAVA的规范,它是定义了一个包里的内容与版本的东西,而且这个版本不只是代码的,还有资源,文件.的版本.
好处嘛,对于最终用户不用管版本问题,就继续我们的write once, run anywhere
产品支持也是如此,有了版本各种兼容问题也就容易解决了.
管理员也是如此,知道 了版本的要求也就更好处理了.
对于开发人员当然就是可以自由控制我们的UPGRADE了,有比它更好的消息吗?

对于JVM的版本可以取得如下信息.
  • java.vm.specification.version i.e. 1.2
  • java.vm.specification.vendor i.e. Sun Microsystems Inc.
  • java.vm.specification.name i.e. Java™ Virtual Machine Specification
  • java.vm.version i.e. Solaris 5.5 Native 1.0 build32
  • java.vm.vendor i.e. Sun Microsystems Inc.
  • java.vm.name i.e. Solaris 5.x JVM
  • 注:JAVA的文档中是用-,实际是用的.

  • 还有下面的版本用于JVM
  • java.version i.e. Solaris 1.2
  • java.vendor i.e. Sun Microsystems Inc.
  • java.specification.version i.e. 1.1
  • java.specification.name i.e. Java™ Language Specification
  • java.specification.vendor i.e. Sun Microsystems Inc.

  • 对于Package是下面的
  • Package-Title Title of the package
  • Package-Version Version number
  • Package-Vendor Vendors company or organization
  • Specification-Title Title of the specification
  • Specification-Version Version number
  • Specification-Vendor Vendors company or organization
  • 当然它们是用java.lang.Package 的API取得的.
    不过东西是放到manifest文件中的.

    java.lang.Class中也加了一个getPackage的方法.

    java.lang.ClassLoader也是如此,同样也有Package方法.

    http://welkintoh.javaeye.com/blog/235888


    阅读(1481) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~