【观察】OpenHarmony:技术先进“创新局”,持续创新“谋新篇”

毫无疑问,开源作为今天整个软件产业的创新“原动力”,目前在软件产业发展中的重要性愈加凸显。根据Linux基金会的统计,现在全球软件产业中有70%以上的代码来源于开源软件。

从这个角度来看,开源技术已逐渐成为推动企业数字化转型和支撑数字经济发展的关键“底座”,它改变了以往技术创新的“进化”模式,引领着软件技术标准的发展和创新,可以说开源技术已经成为软件产业发展中不可缺少的关键一环。

特别是在中国,得益于政策支持、软件产业高速发展、技术创新的需求以及开源文化的日渐普及,当下中国的开源产业已经初具规模,这其中2020年正式开源的OpenHarmony,更成为了发展速度最快的智能终端操作系统开源社区之一。

044baa75179493fb0d8c464ec6510a37.jpeg

在11月4日举办的以“技术筑生态,智联赢未来”为主题的第二届OpenHarmony技术大会上,OpenHarmony社区宣布开源三年来,OpenHarmony已正式迭代到4.0 Release版本,目前已拥有6200+开发者、51家共建单位,贡献代码行数超过1亿行;同时,截至10月31日,社区已有超过210家伙伴,构建了42款发行版,落地商用设备超过210款,广泛覆盖能源、金融、工业、航天、交通、医疗、教育、政务等各关键行业。

那么,在一系列亮眼的“成绩单”背后,OpenHarmony社区究竟做了哪些具体和细微的工作?而面向未来,在技术创新、生态构建以及行业落地方面,OpenHarmony又有哪些新的“谋篇布局”呢?为此,笔者日前与OpenHarmony项目群技术指导委员会(TSC)的多位委员进行了深入的对话和沟通,详细了解了他们背后的“所思所考”。

 关键技术,迭代演进

所谓“拿着旧地图,找不到新大陆”。在万物互联时代,当所有的设备广泛连接,衍生出的大量数据在端侧或云侧存储时,操作系统本身也需要“与时俱进”的实现进化和演进。

正如OpenHarmony项目群技术指导委员会主席陈海波所言,操作系统历经67年的不断演进,多次推进了信息产业浪潮的不断发展。但由于不同历史时期操作系统作自身的技术特征、人机交互方式及生态协同方面都有很大的差异,因此也需要不同的操作系统,而万物智联的到来,可以说为操作系统的发展提供了“换道超车”的新机遇,为了更好地拥抱万物智联时代,OpenHarmony就此“应运而生”。

826abd01a76224e83dd9eb1f83f2859f.jpeg

在过去的三年时间里,OpenHarmony始终秉承“生态统一、开放共赢”理念,坚持“面向万物智联世界,构建分布式全场景协同的开源操作系统基座与生态系统”的技术愿景,并围绕“架构解耦、弹性扩展;异构并行、全栈协同;原生智能、场景体验;极简开发、多端部署”四大架构特征,持续推动关键技术创新以及面向未来演进进行深度思考,取得了不少突破性的技术进展,具体而言:

一是,在架构解耦、弹性扩展方面,可以看到拥抱万物智联时代,操作系统首先要攻克的是“昆虫纲悖论”的挑战。所谓“昆虫纲悖论”指的是,昆虫纲是世界上种类最多的一个纲,但每一个细分的昆虫的数量又非常至少,如果类比到万物智联时代,那就是今天整个智能设备或智能终端数量越来越多,而且产品形态正“爆炸式”地进化、杂交和演变,在这背后就需要打造一款能够兼顾通用与个性,并实现“架构统一、智慧互联”的新型终端操作系统以化解这一挑战。

针对此,OpenHarmony提出了“元OS”架构(One OS Kit fo All),实现了组件化、弹性化的解耦架构,同时基于统一架构,支撑广泛的智能终端设备,其核心优势体现在两个方面:一方面,OpenHarmony通过践行“元OS”架构理念,可以让各发行版厂商基于OpenHarmony高度弹性的架构,将操作系统能力按需进行灵活组合,从而满足千行百业场景的需要;另一方面,通过“元OS”的架构,OpenHarmony也可以实现多设备操作系统架构的统一,以便于多场景的协同和智慧化,方便提供开放、统一的生态能力。

二是,在异构并行、全栈协同方面,进入“后摩尔时代”,从硬件演进的趋势看,智能终端已经演进到异构多核架构,甚至是一个动态异构多核时代。因此,操作系统与复杂的芯片和硬件架构之间的协同,就成为提升操作系统整体并发能力和性能的关键。

在此过程中,就要攻克“一人干活、众人围观”的“假并发”顽疾,而针对异构并发的挑战,OpenHarmony打造了异构原生并发技术,其能够颠覆传统线程模型,比线程更快、比协程更易管理,能够降低系统负载与调度开销,真正实现“各行其道、按需并发”。在此基础上,OpenHarmony并发与协同TSG还孵化出了“VSync”开源项目,通过形式化证明技术,验证了并发过程中共享资源不越界,实现高可靠、高性能的并发。

与此同时,OpenHarmony也打造了智能感知调度技术,其不仅能够实时感知CPU微架构、并联动全系统硬件资源,同时也能以用户体验为中心,感知应用场景,真正实现“全栈协同、场景感知”。除此之外,为了进一步提升操作系统的性能,OpenHarmony还开创性地打造了超级内存管理技术,实现了内存和Flash存储深度融合;同时也打造了高性能只读压缩文件系统(EROFS),这是国内首个Linux社区标准文件系统,相比EXT4,其随机读性能平均提升20%,能够帮助用户节省2GB空间以上,系统升级包体积下降5%-10%左右。

三是,在原生智能、场景体验方面,三年前,OpenHarmony设计伊始就将分布式全场景能力作为最关键的技术特征之一,而这些年来OpenHarmony也构筑了分布式软总线、分布式数据管理、分布式设备管理等领先的技术,而面向AI时代,OpenHarmony也将通过“加持”AI大模型等新技术,进一步构筑全场景智能体验的竞争力。

在功能上,OpenHarmony将面向沉浸式交互和具身智能方面进行演进,其中沉浸式交互方面将从点触交互,演进到如自然语言、场景空间、姿态等全新的自然空间交互方式;而具身智能方面,将从终端设备演进到智能体,通过与人和环境的交互、产生智能行为和适应性;而在系统架构上,则是面向原生智能架构演进,包括实现端侧模型与云端大模型协同,实现智能服务与编排;构建符合AI负载特征的资源管理与调度,借助AI辅助实现智能开发等。

除此之外,在安全隐私保护方面,同样也需要实现安全体系的“重构”,为此OpenHarmony通过聚焦智能终端操作系统信任根的诉求,由OpenHarmony安全及机密计算TSG,孵化并开源了可信执行环境(TEE)解决方案OpenTrustee,该方案能够提供健壮的TEE安全底座、ChCore架构,以及提供系统级的防护能力,从而最大化地支撑广泛的安全应用场景。

四是,极简开发、多端部署方面,OpenHarmony始终致力于让应用可通过一套代码工程,一次打包、上架,在多个设备类型上可部署和运行的基础能力;同时也一直提升多设备版本代码复用度,降低应用开发成本,提升应用在多种设备类型上的体验一致性。

为此,OpenHarmony面向开发者提供了端云一体低代码开发能力,最大化提升了开发者效率;同时,通过提供全栈协同的深度优化工具,实现对软硬件全栈协同的实时监控,以及场景化的深度调优;此外,OpenHarmony跨平台应用TSG,也孵化出了跨平台应用开发框架ArkUI-X,其在今年8月已正式开源,具备“代码一次开发,三个平台部署”能力,典型场景代码复用率高达75%。

基于这四大架构特征,最新发布的OpenHarmony 4.0 Release版本开发套件同步升级到API 10,相较前序版本新增4000多个API接口,应用开发能力更加丰富;此外,HDF新增200多个HDI接口,硬件适配更加便捷。同时,新版本在用户交互体验、组件能力、分布式硬件支持范围和安全及隐私方面的能力也得到进一步增强。

开源三年来,OpenHarmony不断地迭代与演进,为构建千行百业的“数字底座”夯实了基础,更为应对万物智联时代的“千变万化”提供了重要的支撑。

 持续创新,技术先进

OpenHarmony除了随着时代和需求的变化而不断迭代和进化之外,同样也始终站在技术与应用的最前沿,通过“永不停步”持续创新的精神,推动OpenHarmony社区技术先进性的能力建设,为智能终端操作系统未来的发展,进一步探寻更多的可能性,激发更大的想象力空间。

对此,OpenHarmony项目群技术指导委员会委员武延军表示,OpenHarmony社区要保持技术先进性,就必须要做好“前瞻性和基础性”的工作,而在这方面,OpenHarmony同样也做了很多的探索与创新。

首先,在前瞻性工作方面,RISC-V在近几年成为了业界十分关注的指令集,背后的原因在于,RISC-V采用的开放标准让各个厂商可以在架构基础上进行大幅度的修改和定制,不需要担心后续会因为各种原因而失去授权或是影响到产品的生产、使用;同时,RISC-V存在架构优势,使其可以同时适应极低功耗及高性能处理器的设计需求,因此RISC-V被外界认为将是继x86和ARM之后,最有可能成为国际标准的一个指令集。

也正因此,更好地“适配”RISC-V也就成为了OpenHarmony社区高度关注的一项具有前瞻性的工作。目前在OpenHarmony社区中已经形成了活跃度非常高的SIG组,并且通过持续的技术创新,OpenHarmony已经能够“跑”在基于RISC-V开发的硬件平台上,未来OpenHarmony将持续推进和RISC-V的深度融合,提升OpenHarmony当下的影响力和未来潜在的产业作用和价值。

其次,在基础性工作方面,OpenHarmony也实现了操作系统形态的“供应链化”。 操作系统如果打开来看,其实它也是由成千上万的组件组成的,这些组件既有开源的,也有不开源的,就像手机中的零部件一样,这些组件也有很明确的供应链关系,操作系统组件的供应链安全对于保证操作系统的稳定性、易用性和可靠性不言而喻。

“鉴于此,我们给全世界的开源软件做了一个庞大的知识图谱分析,纳入分析的开源软件超过1.7亿款,代码行数超过2400多亿行。基于这些‘原材料’,形成了关于全球开源软件的知识图谱,并依靠它服务于OpenHarmony,这样 OpenHarmony在版本迭代,新的组件加入进来的时候,就能清楚地看到这些组件处于供应链的什么环节,有什么样的组合成分,哪些地方会成为风险点,哪些组件需要加强控制等等,从而最大化地为OpenHarmony的供应链安全提供保障。”武延军说。

除此之外,可以看到目前随着智能化的快速发展,特别是随着ChatGPT的出现,带来了全新的重要变化,因此AI如何赋能操作系统,操作系统如何更好支撑AI发展,操作系统与智能化的结合也成为了OpenHarmony的重要课题。

为此,OpenHarmony提出了“By AI、Use AI、For AI”的“原生智能”理念。其中“By AI”指的是要充分发挥各类端侧设备的AI能力,即要将NPU、GPU、CPU等能力充分协同发挥出来,加速训练及推理等工作;“Use AI”指的是要将系统编排、智能调度等基础能力应用到操作系统中;而“For AI”指的是通过大模型交互使能各种运行在OpenHarmony的智能应用。目前,OpenHarmony已经具备了诸如智能编写短信、代码等能力。例如,通过大规模的预训练和学习,在开发者编程时,通过自然语言交互,工具可以自动生成一些相关提示、进行代码补全,甚至自动完成一些功能的编写。

我们知道,首届OpenHarmony技术大会发布了“终端操作系统十大技术挑战方向”。经过大半年的努力,“十大技术挑战方向”已拆解出37道年度课题,本次OpenHarmony技术大会正式揭幕了这些课题,并由各个高校技术俱乐部揭榜课题。

OpenHarmony项目群技术指导委员会委员贾宁强调说:“OpenHarmony社区要保持技术先进性,不仅是一个长期的过程,更是一个庞大的工程。”他认为,作为一个开源社区,技术先进性不是自我标榜,而是千千万万的社区参与者贡献形成的,因此通过公布十大技术挑战方向,并把它分解为年度课题,核心就是希望把这些技术挑战分解成一个个可达成的“子目标”,最后“一步一步”去实现,而这种方式也能够让更多的人参与,有仪式感、有参与感、有目标感,最后“齐心合力”攻克这些技术挑战方向,将会有效地推动整个社区和生态的不断壮大和发展。

不难看出,OpenHarmony不仅围绕“基础性和前瞻性”做了大量的工作,同时还通过公布十大技术挑战方向,并依托年度课题等方式,一步步向更加具体的问题展开“攻坚克难”,从而更好地实现了OpenHarmony在技术创新领域的先进性。

双轮驱动,共建生态

事实上,OpenHarmony要持续保持技术的先进性,同样也需要充分借助“产学研”各界的力量,其中高校就是创新的主要“源泉”。而从去年7月27日宣布成立“OpenHarmony技术俱乐部”计划以来,短短一年多的时间,OpenHarmony技术俱乐部就凝聚了国内17家头部高校,吸引了众多专家学者的加入。

68f5153f887f0ae3f286e3a7ca295610.jpeg

在OpenHarmony项目群技术指导委员会委员臧斌宇看来,“OpenHarmony技术俱乐部”之所以受到如此多高校的支持,主要原因在于:

一方面,OpenHarmony对高校的师生有着比较强的吸引力,OpenHarmony作为目前发展速度最快的智能终端操作系统开源社区之一,其源自中国市场,而未来也能够走向世界,因此很多高校的师生对这类源自本土的技术创新有着较强的了解欲望以及积极的参与热情。

另一方面,OpenHarmony相较于其他的开源软件项目,相对而言“上手快,投入少”,因此能够让更多的高校师生参与进来。“作为终端操作系统,OpenHarmony相比其他领域的操作系统,硬件方面投入相对不是很高,而且OpenHarmony目前适配的硬件设备也比较多,因此很多师生可以做很多的实验,也比较上手,这是OpenHarmony能够受到广泛关注和参与的重要原因。”臧斌宇说。

据了解,为了更好地激发高校师生的技术创新热情,今年九月,OpenHarmony还开展了首期面向高校的竞赛训练营,针对行业使能及三方库命题,吸引了来自上海交通大学、复旦大学、电子科技大学、湖南大学、北京理工大学、四川大学、华中科技大学、中北大学等高校的75个赛队共计200多名学生报名参与。本次竞赛除设置了团队奖项外,还设有优秀指导教师奖和特别创新奖,由此也极大推动了OpenHarmony的技术创新和知识共享,更为行业的发展注入新的动力。

未来,OpenHarmony也将持续深化产学研协同,从“OpenHarmony技术俱乐部”迈向产学研共同体,通过产业技术难题攻关、前沿学术研究、讲座、论坛、竞赛、技术与产业标准孵化等多种方式形成产业与学术的“双轮驱动”,从高校中来,到产业中去,形成闭环。

开发者同样也是OpenHarmony高度关注的群体,近期OpenHarmony开发者论坛1.0也正式“官宣”上线,目前能够满足开发者交流、答疑的基本使用需求。论坛目前包括两大核心板块:问答板块及文章板块。同时,OpenHarmony开发者论坛还邀请了包括华为、深开鸿、诚迈科技、中国科学院软件所、中软国际等公司在内的几十位OpenHarmony领域的资深专家入驻。此外,“OpenHarmony开发者成长计划”也持续对外招募,OpenHarmony希望未来能够与开发者共同成长,繁荣OpenHarmony社区生态。

对此,OpenHarmony项目群技术指导委员会委员张荣超表示,OpenHarmony过去几年成功吸引了大量开发者的加入,同样也离不开三个方面的原因:

第一,OpenHarmony作为开源操作系统的“魅力”,开源软件的优势在于,每一个开发者都可以自由地去查看、修改,并提交他的源代码,同时可以和其他开发者分享和展示他的“特性”,这种透明性和可接入性可以说吸引了众多的开发者。

第二,作为面向全场景的分布式操作系统,OpenHarmony也具有十分广泛的应用场景,而众多的开发者则可以基于OpenHarmony的技术特性做出很多此前单一设备无法完成的应用和场景,可以说也为开发者插上了非常丰富的想象力的“翅膀”。

第三,OpenHarmony在技术层面本身具有的先进性和创新性,OpenHarmony的设计理念以及背后的技术框架,代表了目前终端操作系统的很多前沿的技术,且OpenHarmony还在不断地创新和优化,那么借助OpenHarmony这样一个非常活跃的社区,以及社区中提供的丰富精彩的各类线上线下活动,也可以让加入其中的开发者实现“相互交流、寻求帮助、获得答疑、广交朋友”等,这些也对开发者提供了巨大的吸引力。

当然,持续做好开发者的“服务”工作也是接下来OpenHarmony的重要工作。张荣超告诉笔者:“把开发者吸引到OpenHarmony的生态中是相对容易的,更大的难题在于如何让开发者一直留在这个生态体系之中,因此如何增加对开发者的粘性,需要社区做更多的投入和工作,为此我们后续也将不断地对开发者进行相关的培训,让他们能够真正地学习到新技术,通过技术能够提升自己,对学习和工作提供更大的帮助。”

客观地说,无论是发布“高校技术俱乐部”,还是持续强化对开发者群体的投入,都是OpenHarmony通过社区共建、共治、共享,繁荣人才生态的一个“缩影”,相信此举不但能够推动OpenHarmony社区实现更高质量的发展,也将持续助推国内基础软件技术与数字经济产业的发展与进步。

 向下扎根,赋能行业

开源作为一种创新的商业模式,在用户触达、加深产品了解、快速试用方面具有天然的优势,但如何把这种优势转换为直接的商业收益,背后的关键和根本还是要看基于开源打造的方案和产品是否具有强大的创新力和竞争力,而商业化的落地则为展现和传播这一优势构建起了更为宽阔的路径。

5c9c3a3b73bf208944c5a49df55b11e0.png

可以看到,OpenHarmony开源三年以来,其产业化的落地进度可谓远超预期,目前除了在消费端广泛部署外,OpenHarmony在行业终端也广泛覆盖了金融、能源、交通等各种关键行业,有超425款终端设备通过了兼容性测评,真正为赋能千行百业的数字化转型,以及不断筑牢数字经济底座的根基提供了坚实的支撑。

在OpenHarmony项目群技术指导委员会委员张兆生看来,目前OpenHarmony发行版的数量越来越多,无论是横向还是纵向领域都取得了不错的进展,其主要包括两个领域,一是面向行业级应用的,目前很多共建单位都针对相关的行业推出了行业专用发行版,覆盖了交通、金融、医疗、教育等行业;二是面向品类应用的,特别是随着OpenHarmony 3.1和3.2版本的发布,其对于复杂标准的带屏设备体验有了更大的增强,因此也有越来越多的设备搭载了基于OpenHarmony开发的发行版操作系统。

同时,在产业政策和社会各界的大力支持下,OpenHarmony凭借其技术的先进性和创新性,也得到了更大的市场和更多用户的认可。今年以来,包括深圳、福州、惠州、北京、南京、东莞等多个城市连续出台了支持OpenHarmony的产业政策,显著加速了OpenHarmony在各城市产业应用落地和生态创新,同时一系列标准规范的推进也让OpenHarmony成为更多行业的数字化选择。

此外,OpenHarmony在技术应用领域也解决了很多客户数字化转型中遭遇的挑战,如在能源行业,基于OpenHarmony的操作系统就可以解决多终端协同的难题,同时对于运维效率也有着极大的提高;基于OpenHarmony打造的工业操作系统,未来进入到核心生产和制造场景等场景之中后,也能发挥出更大的商业价值。

基于此,接下来OpenHarmony社区也将持续推进商业化的落地进程,比如在市场推广方面,今年4月以来,OpenHarmony已连续在上海、武汉、长沙、北京、张掖等城市举办了OpenHarmony城市技术论坛,不断将自身价值推向各地市场;在此基础上,在未来技术创新和合作共建等方式上,OpenHarmony也将和共建单位展开更多的创新和协作,和更多的行业客户进一步深度融合。

OpenHarmony项目群技术指导委员会委员李英伟最后表示,OpenHarmony社区一直以来都站在“平台化”的角度来长远规划OpenHarmony的技术发展,未来社区也希望更多的产学研各界的专业人士,在OpenHarmony新版本规划之初,就加入到社区中来,一起从“先进性、创新性、前瞻性、通用性”等角度出发,在内核、基础框架、原生智能、工具链乃至行业的赋能等方方面面做更加深入的工作,让OpenHarmony能够更好地以“平台化”的能力满足市场和行业需求,让OpenHarmony更好地赋能企业的数字化转型,为数字经济的发展贡献出更大的价值。

总的来说,面向未来中国开源产业的发展之路依然是“征程如海”,也需要继续坚持“唯实干者胜,唯创新者赢”的态度和精神,而作为目前发展速度最快的智能终端操作系统开源社区之一,OpenHarmony开源三年以来,通过持续创新始终保持了技术的先进性,同时不断繁荣OpenHarmony的社区生态,由此也让其在较短时间之内就实现了商业化进程的“提速”,其背后的一系列探索与实践之后的沉淀与释放,将是OpenHarmony未来保持升势和胜势的重要底气所在,相信也将为整个国内开源产业的发展壮大提供更多的借鉴和参考,其价值也可以说“不止于现在,更关乎未来”。

0cc1abb9beae443b2b1cfa2108906711.gif

申耀的科技观察,由资深科技媒体人申斯基创办,20年企业级科技内容传播工作经验,长期专注产业互联网、企业数字化、ICT基础设施、汽车科技等内容的观察和思考。

de9fd73f83ff3d4d2fd843058e540dca.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/155479.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Gitpod】云部署Stable Diffusion并且可以本地访问

文章目录 前言项目部署 项目启动参考文献 前言 本文介绍如何使用 Gitpod 部署 Stable Diffusion web UI。Gitpod 是一个基于云的开发环境,通过与 GitHub 集成,可以在浏览器中轻松进行代码开发和部署;Stable Diffusion 是 GitHub 上面的开源 …

【电路笔记】-脉冲宽度调制(PWM)与电机转速控制

脉冲宽度调制(PWM)与电机转速控制 文章目录 脉冲宽度调制(PWM)与电机转速控制1、概述2、电机转速控制3、PWM产生 有许多不同的方法来控制直流电机的速度,但一种非常简单且容易的方法是使用脉冲宽度调制(PWM…

【AI视野·今日Robot 机器人论文速览 第六十二期】Wed, 25 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Wed, 25 Oct 2023 Totally 25 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers EquivAct: SIM(3)-Equivariant Visuomotor Policies beyond Rigid Object Manipulation Authors Jingyun Yang, Congyue Deng,…

ES Kibana 安装

ES & Kibana 本文基于Docker安装部署使用 Kibana的版本和ElasticSearch的版本,以及IK分词器的版本一一对应 Kibana 安装 安装Kibana # 创建网络 [rootiZ2zeg7mctvft5renx1qvbZ ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway …

Alibaba Nacos注册中心实战

为什么需要注册中心 思考:网络请求,如果服务提供者发生变动,服务调用者如何感知服务提供者的ip和端口变化? // 微服务之间通过RestTemplate调用,ip:port写死,如果ip或者port变化呢? String ur…

[PHP]写个简单的分页静态接口用宝塔部署到Nginx

使用get方式传入page和pageSize参数&#xff0c;接口根据参数进行分页处理。 1.创建一个 PHP 文件 例如 city.php&#xff0c;用于定义接口和返回 JSON 数据。 2.在 city.php 文件中编写接口 <?php// 设置响应内容为 JSON 格式 header(Content-Type: application/json);…

EasyCVR视频监控+AI智能分析网关如何助力木材厂安全生产?

旭帆科技有很多工厂的视频监管方案&#xff0c;小编也经常分享出来供大家参考。近期&#xff0c;又有伙伴后台私信我们想要关于木材厂的方案。针对木材厂的生产过程与特性以及安全风险等&#xff0c;我们来分享一下相关的监管方案&#xff1a; 1&#xff09;温湿度监测&#xf…

Skywalking流程分析_9(JDK类库中增强流程)

前言 之前的文章详细介绍了关于非JDK类库的静态方法、构造方法、实例方法的增强拦截流程&#xff0c;本文会详细分析JDK类库中的类是如何被增强拦截的 回到最开始的SkyWalkingAgent#premain try {/** 里面有个重点逻辑 把一些类注入到Boostrap类加载器中 为了解决Bootstrap类…

springboot-RedisTemplate

pom.xml: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

汉诺塔移动次数

描述 汉诺塔&#xff08;又称河内塔&#xff09;问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子&#xff0c;在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规…

【MySQL】索引和事务(B树、B+树图解原理)

一、索引 1.1 什么是索引&#xff1f; 索引是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引&#xff0c;并指定索引的类型&#xff0c;各类索引有各自的数据结构实现。 1.2 索引的作用 &#x1f693;&#xff08;1&#…

Vue+ElementUI技巧分享:自定义表单项label的文字提示

文章目录 概要在表单项label后添加文字提示1. 使用 Slot 自定义 Label2. 添加问号图标与提示信息 slot的作用详解1. 基本用法2. 具名插槽 显示多行文字提示的方法1. 问题背景2. 实现多行内容显示3. 样式优化 结语 概要 在Vue和ElementUI的丰富组件库中&#xff0c;定制化表单是…

YOLOv8改进 | 如何在网络结构中添加注意力机制、C2f、卷积、Neck、检测头

一、本文介绍 本篇文章的内容是在大家得到一个改进版本的C2f一个新的注意力机制、或者一个新的卷积模块、或者是检测头的时候如何替换我们YOLOv8模型中的原有的模块&#xff0c;从而用你的模块去进行训练模型或者检测。因为最近开了一个专栏里面涉及到挺多改进的地方&#xff…

安装最新版IntelliJ IDEA来开发Java应用程序

安装最新版IntelliJ IDEA来开发Java应用程序 Install the Latest Version of IntelliJ IDEA to Develop Java Applications 本文简要介绍如何安装配置JetBrains IntelliJ IDEA集成开发环境&#xff0c;从而开发Java应用程序&#xff1b;文中侧重实际操作和编程步骤&#xff0…

Redis数据结构之字典

字典经常作为一种数据结构内置在很多高级编程语言中&#xff0c;但是Redis使用C语言实现&#xff0c;没有内置这种数据结构&#xff0c;因此Redis自己构建了字典的实现。 Redis数据库就是使用字典的数据结构来作为底层实现。另外Redis的哈希键对象也是使用了字典的数据结构。 …

Flutter 中在单个屏幕上实现多个列表

今天&#xff0c;我将提供一个实际的示例&#xff0c;演示如何在单个页面上实现多个列表&#xff0c;这些列表可以水平排列、网格格式、垂直排列&#xff0c;甚至是这些常用布局的组合。 下面是要做的&#xff1a; 实现 让我们从创建一个包含产品所有属性的产品模型开始。 …

云ES使用集群限流插件(aliyun-qos)

aliyun-qos插件是阿里云Elasticsearch团队自研的插件,能够提高集群的稳定性。该插件能够实现集群级别的读写限流,在关键时刻对指定索引降级,将流量控制在合适范围内。例如当上游业务无法进行流量控制时,尤其对于读请求业务,可根据aliyun-qos插件设置的规则,按照业务的优先…

矿区安全检查VR模拟仿真培训系统更全面、生动有效

矿山企业岗位基数大&#xff0c;生产过程中会持续有新入矿的施工人员及不定期接待的参观人员&#xff0c;下井安全须知培训需求量大。传统实景拍摄的视频剪辑表达方式有限&#xff0c;拍摄机位受限&#xff0c;难以生动表达安全须知的内容&#xff0c;且井下现场拍摄光线不理想…

【算法】复习搜索与图论

&#x1f34e; 博客主页&#xff1a;&#x1f319;披星戴月的贾维斯 &#x1f34e; 欢迎关注&#xff1a;&#x1f44d;点赞&#x1f343;收藏&#x1f525;留言 &#x1f347;系列专栏&#xff1a;&#x1f319; 蓝桥杯 &#x1f319;请不要相信胜利就像山坡上的蒲公英一样唾手…

Mysql分组查询每组最新的一条数据

在工作中遇到一个问题&#xff0c;需要查出每个公司最新的那条数据。 所以需根据公司进行分组&#xff1a; 未进行分组时&#xff1a; select a.id, b.name companyName, result_asset ,result_liability ,result_net_asset, a.create_time ,a.is_deleted from bus_proper…