向上兼容和向下兼容
作者:互联网
向上兼容(Upward Compatible)
向上兼容(Upward Compatible),又称作向前兼容(Foreward Compatibility).在计算机中指在较低档计算机上编写的程序,可以在同一系列的较高档计算机上运行,或者在某一平台的较低版本环境中编写的程序可以在较高版本的环境中运行,都称为向上兼容,前者是硬件兼容,而后者是软件兼容,例如,基于Intel386的PC兼容机上所有的软件也可以运行在486或更高的机型上。向上兼容具有非常重要的意义,一些大型软件的开发,工作量极大,如这些软件都能做到兼容,则无需在其它机器上重新开发,就可节省庞大的人力和物力。
向下兼容(Downward Compatible)
向下兼容(Downward Compatibility),又称作向后兼容(Backward Compatibility)。在计算机中指在一个程序或者类库更新到较新的版本后,用旧的版本程序创建的文档或系统仍能被正常操作或使用,或在旧版本的类库的基础上开发的程序仍能正常编译运行的情况。例如较高档的计算机或较高版本的软件平台可以运行较为抵挡计算机或早期的软件平台所开发的程序,如基于Pentium微处理器的PC兼容机可以运行早期在486上运行的全部软件。向下兼容可以使用户在进行软件或硬件升级时,厂商不必为新设备或新平台从头开始编制应用程序,以前的程序在新的环境中任然有效。
对于软件来说,向下兼容的意思是,较高版本的程序能顺利处理较低版本程序的数据。拿著名的动画制作软件 Flash的两个版本 Flash 5(老版本)与 Flash MX 2004(新版本)来说,这两个版本虽然保存出来的文件都是 .fla,可是文件内容的结构有所不同。尽管如此,Flash MX 2004 仍然能处理 Flash 5 保存的 fla 文件,我们就说 Flash MX 2004 是向下兼容的。
但是由于考虑实际应用,不一定所有版本高的软件都能接受版本低的软件输出的东西,例如假设有一种软件 X,并假设现在已经有 10.0 版本了(这么快!!),那么版本旧得已经没有什么人用的 X 1.0 所输出的文件,就不太可能在 10.0 版本中顺利读取。
总结
向上兼容和向下兼容其实可以是对同一事情在两方面进行的不同描述而已。比如,我们针对JDK1.4平台开发的程序A能在JDK1.5平台上进行正常运行,那么此时我们就说:程序A向上兼容JDK1.5平台,而JdK1.5平台向下兼容程序B。
如果我们针对JDK1.4平台开发的程序A不能在JDK1.5平台上正常运行,那么此时我们就说:程序A不向上兼容JDK1.5平台,而JdK1.5平台不向下兼容程序B。当然这种情况不发生。JDK平台向下兼容所有java程序。
如果我们针对JDK1.5平台开发的程序B并没有使用JDK1.5平台的新特性而能在JDK1.4平台上正常运行,那么此时我们可以说:程序B向下兼容JDK1.4平台,而JdK1.4平台向上兼容程序B。
如果我们针对JDK1.5平台开发的程序B因为使用JDK1.5平台的新特性或其他原因而不能在JDK1.4平台上正常运行,那么此时我们可以说:程序B不向下兼容JDK1.4平台,而JdK1.4平台不向上兼容程序B。
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net
标签:向下兼容,平台,程序,兼容,JDK1.5,版本,向上 来源: https://www.cnblogs.com/siwnchh/p/10464833.html