[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
想明白为什么,切入点在哪里?
开发包是切入点,就譬如jdk,android开发包,所有的hibernate,spring,strusts等框架都是基于jdk,依赖jdk的基础上去封装搭建的。
假如jdk升级,高版本jdk需要考虑兼容低版本jdk的写法方法等,这样子基于低版本jdk开发的系统和框架才能将jdk顺利升级,当然,版本相差太大时,高版本jdk可能会废弃部分低版本jdk的部分写法,会导致出现跨太大的jdk版本升级会出现问题。
而由于框架譬如spring,都是基于jdk去封装的,spring也会升级,当然spring依赖于jdk,所以每个版本都会有对应的最低版本jdk的要求(框架是依赖jdk版本封装搭建的,所以会根据某个jdk版本去进行搭建封装,这个jdk版本号一般就会作为最低jdk版本号要求),同时,spring跟jdk一样,它也需要兼容低版本的spring,这样子我们基于低版本spring开发的系统才能顺利升级,当然也会出现版本相差太大时,部分写法废弃,导致跨大版本升级会出现问题。
基本的依赖关系如下:使用框架开发的系统依赖框架,框架依赖jdk。
所以,当jdk升级时,如果不是跨大版本升级,一般不会出现问题,升级后,也要考虑框架是否兼容高版本jdk的问题。当要进行框架升级时,一定要考虑jdk版本是否符合升级的框架版本号最低要求,如果不符合,需要对jdk先进行升级,否则会出现问题。
而android开发包还涉及硬件问题,当手机出现的新的智能硬件时,原先的开发包可能不支持新硬件,这时就需要对开发包进行重新封装开发升级。
基本的依赖关系如下:手机软件->框架->sdk->硬件
总而言之,任何一个节点升级,如果不是跨大版本,处于该节点左边的节点一般不需要考虑升级问题(因为一般都是向下兼容),一定要考虑该节点右边的节点是否支持,是否需要升级。
兼容的概念很广,可以是软件之间 硬件之间 软硬件之间 又或者是不同版本语法之间。
一般是向下兼容,如主板与cpu,cpu依赖主板,正常是下一代主板兼容上一代cpu,分清谁兼容谁关系,新一代主板兼容旧一代cpu,新的兼容旧的(向下兼容),cpu是基于最低某代主板开发出来的,当然,如果隔代相差太大,就可能不兼容了,就如100代的主板不兼容50代的cpu,100代的主板已经完全抛弃50代的cpu兼容了,因为可能50代的cpu也已经被市场所淘汰