加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java 6源向后兼容性和SQL

发布时间:2020-12-14 05:06:31 所属栏目:Java 来源:网络整理
导读:我的理解是,为了保持源兼容性,Java从未将新方法引入公共接口,因为这会破坏实现接口的现有客户端. Java Release notes状态 In general,the policy is as follows, except for any incompatibilities listed further below: Maintenance releases (such as 1.4
我的理解是,为了保持源兼容性,Java从未将新方法引入公共接口,因为这会破坏实现接口的现有客户端. Java Release notes状态

In general,the policy is as follows,
except for any incompatibilities
listed further below:

  • Maintenance releases (such as 1.4.1,
    1.4.2) do not introduce any new language features or APIs. They will
    maintain source-compatibility with
    each other.

  • Functionality releases and major
    releases (such as 1.3.0,1.4.0,5.0)
    maintain upwards but not downwards
    source-compatibility.

然而,java.sql和javax.sql包继续发展并引入了许多不兼容的更改.例如,我注意到以下不兼容的更改(在Java 6中引入):

> java.sql.Statement扩展java.sql.Wrapper,需要新的两种新方法.
> java.sql.Statement引进3种新方法
> java.sql.PreparedStatement引进了19种新方法!
> java.sql.ResultSet引进了48种新方法!

你知道这些方法的添加方式吗? java.sql的处理方式与平台的其余部分不同?你知道这些添加的讨论/ JSR吗?

解决方法

我得到了Sun开发人员的以下回复

JDK中针对API的API的一般演进策略是JDK 7等功能版本

>不要破坏二进制兼容性(如JLSv3第13章所定义)
避免引入源不兼容
>管理行为兼容性变化

(对于更多,比您想要阅读的不同类型的兼容性更多见

“Kinds of Compatibility: Source,Binary,and Behavioral”

“Compatibly Evolving BigDecimal”

向接口添加方法是二进制兼容的,但源不兼容,因此它不是通常的.通常,界面越广泛实现,我们越不可能添加方法. JDBC区域是此策略的一个例外,并且使用更宽松的升级规则,但是当用户想要升级到新的JDK版本时,会导致真正的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读