返回信息流新版的JDK,都可以将代码编程成旧版本支持的文件
Android每个版本的API都有增加,但是好像老的API也可以一直使用
上网查了好久,也没查到,它们到底是怎么样实现这个机制的
烦请知道的大神赐教,谢谢!
这是一条镜像帖。来源:北邮人论坛 / java / #60963同步于 2019/1/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
Android,JDK等项目,是如何实现多个版本API共存的?
Libertas
2019/1/14镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
1. 新的Javac编译出来的东西跑不了在旧的jvm上,但是可以编译成符合该jvm版本的字节码,这样就能跑在旧版jvm上
2.api增加是很正常的,旧版的api没删除没废弃就可以用
感谢回复~
拿Android来举例子。会不会有个app用到了2.2版本的某个api,然后到5.0之后这个api被删除了,所以这个app在不做改动的情况下,就无法运行在5.0上?但是实际开发中,好像很少发生这样的事情。
另外,假如用javac 1.8来编译一个class,编译成符合jvm 1.7的字节码,但是里面用到了java 1.8才有的api;然后在1.7版的jvm上运行,是不是也会失败?
【 在 flymop 的大作中提到: 】
: 1. 新的Javac编译出来的东西跑不了在旧的jvm上,但是可以编译成符合该jvm版本的字节码,这样就能跑在旧版jvm上
: 2.api增加是很正常的,旧版的api没删除没废弃就可以用
:
: ...................