请问:jdk是向下兼容的吗?

一天十小时 2008-11-24 03:23:08
关于jdk的不同版本兼容性,有以下问题:
1 jdk是向下兼容的吗? 比如说,用jdk4 编译的代码能否在jdk5下正确运行? 反之,在jdk5下编译的代码能否在jdk4下正确运行?
2 用jdk4写的项目,在jdk5的环境中编译能否通过? 反之又如何?
3 jdk与jre作用分别是什么?有什么不同?
...全文
5972 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
dafangzi1987 2010-12-14
  • 打赏
  • 举报
回复
我很认真的回答你
不一定
一天十小时 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 youzy 的回复:]
大家理解向下兼容的意思,就是低版本程序可以在高版本的jre中运行,反之则会出现问题。
[/Quote]

感觉是这样, 对否?
xian_hf 2008-11-26
  • 打赏
  • 举报
回复 1
[Quote=引用楼主 chenchendf 的帖子:]
关于jdk的不同版本兼容性,有以下问题:
1 jdk是向下兼容的吗? 比如说,用jdk4 编译的代码能否在jdk5下正确运行? 反之,在jdk5下编译的代码能否在jdk4下正确运行?
2 用jdk4写的项目,在jdk5的环境中编译能否通过? 反之又如何?
3 jdk与jre作用分别是什么?有什么不同?
[/Quote]

1.是,能,不一定
2.不一定,一定
3.jdk开发人员用,jre运行环境
helei123a 2008-11-26
  • 打赏
  • 举报
回复
是向下兼容的
MatrixKnight 2008-11-26
  • 打赏
  • 举报
回复
不同版本javac编译出bytecode的version number不一样,
类加载器根本就不会加载比自身版本号更高的类.所以就不能运行了.
一天十小时 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 alienj 的回复:]
jdk4的代码不一定会在JDK5中运行,JDK5也不一定能在JDK4运行,比如以前的保留字在新版本抛弃……
[/Quote]
能够编译,却发布不起来,你知道是什么原因吗?

你的回复是不是可以理解为:
1 用jdk4 编译的代码不一定能在jdk5下正确运行.
2 用jdk4写的项目,在jdk5的环境中编译能够通过.

是这样吗?
meneil 2008-11-26
  • 打赏
  • 举报
回复
楼主把楼上的所有回答看一遍就知道怎么回事了
alienj 2008-11-25
  • 打赏
  • 举报
回复
jdk4的代码不一定会在JDK5中运行,JDK5也不一定能在JDK4运行,比如以前的保留字在新版本抛弃……
loaferwang 2008-11-25
  • 打赏
  • 举报
回复
这样说吧,在jdk1.4编辑的项目,用jdk1.5确实可以编译通过,可是1.5的运行环境,就不行啦!也就是说,项目发布时,就提示,jdk的版本有问题啦!很怪的,这一点是我们项目中发现的,报表开始是用jdk1.4开发的,当用1.5的z编译后,可是就是发布不起来!

8楼的答案,已经把第三个问题给说明啦!很不错的解说,我也能接受这种说法,在我对java的认识中,概念没有绝对的,只是你的理解与实践相近,即可!
youzy 2008-11-24
  • 打赏
  • 举报
回复
大家理解向下兼容的意思,就是低版本程序可以在高版本的jre中运行,反之则会出现问题。
一天十小时 2008-11-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 chenchendf 的帖子:]
关于jdk的不同版本兼容性,有以下问题:
1 jdk是向下兼容的吗? 比如说,用jdk4 编译的代码能否在jdk5下正确运行? 反之,在jdk5下编译的代码能否在jdk4下正确运行?
2 用jdk4写的项目,在jdk5的环境中编译能否通过? 反之又如何?
[/Quote]

感觉大家都没有回答我的问题,我自己搜索了一下,大家看看我的理解对不对:
1 用jdk4 编译的代码能在jdk5下正确运行,反之不行;
2 用jdk4写的项目,在jdk5的环境中编译不一定能通过,因为新版本抛弃了旧版本中的一些类或方法,如果项目代码中有使用到,编译就可能会有问题。 反之也是一样。
bzwm 2008-11-24
  • 打赏
  • 举报
回复
回LZ问题3:
JDK是面向开发人员使用的SDK(Java Development Kit,指软件开发包,可以包括函数库、编译程序等),它提供了Java的开发环境和运行环境。
JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。
JRE与我们的PC处于同等地位。
davidzhang0821 2008-11-24
  • 打赏
  • 举报
回复
还没结贴呢?
myjava_024 2008-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shenjie1989 的回复:]
1.4开发出来的程序在1.5的环境上肯定没问题,但1.5开发出来的程序在1.4的环境上跑就很有可能出问题
[/Quote]

比如1.5的泛型好像1.4就用不了
shenjie1989 2008-11-24
  • 打赏
  • 举报
回复
1.4开发出来的程序在1.5的环境上肯定没问题,但1.5开发出来的程序在1.4的环境上跑就很有可能出问题
風男 2008-11-24
  • 打赏
  • 举报
回复
肯定不向下兼容
请问 5.0 之后的新特性能在 5.0 以下的版本编译运行吗?
LoginOut 2008-11-24
  • 打赏
  • 举报
回复
一般情况都是像下兼容的吧,像sql什么的,非像上兼容
xcluii 2008-11-24
  • 打赏
  • 举报
回复
是向下兼容的
1.4开发出来的程序在1.5的环境上肯定没问题,但1.5开发出来的程序在1.4的环境上跑就很有可能出问题
yyy6210 2008-11-24
  • 打赏
  • 举报
回复
jdk5通过的,不一定在4能通过吧
4写的,可以在5通过吧

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧