OpenHarmony当前进展和未来趋势

操作系统自20世纪50年代诞生,经历了从专用操作系统到通用操作系统的转变。整体可以将操作系统的发展历史分为3个阶段:PC时代、移动互联网时代、万物互联时代。

PC时代主要以计算机为主,用户规模从1970年的10亿增长到1990年的30亿。这一时代诞生了Windows、Linux、MacOS等操作系统。由于Windows操作系统的广泛应用部署,微软于20世纪90年代成为全球市值最高的公司。

随着智能手机的普及,操作系统正式进入了移动互联网时代,苹果推出了iOS操作系统,支撑苹果成为全球市值最高的科技公司;谷歌2005年收购了Android公司,并持续地进行研发投入和版本迭代,如今Android操作系统已经成为世界上发行量最大的移动智能操作系统。

在万物互联时代,随着越来越多的设备接入互联网,单一操作系统很难适应多样化的智能终端、各种复杂应用场景的需求。谷歌、华为等各大企业纷纷进入物联网操作系统领域,并持续加大这方面的投入。

谷歌从2016年开始研发基于Zircon微内核的Fuchsia操作系统,可以取代为移动设备设计的 Android,计划用于个人移动设备、IoT设备等不同算力和需求的场景。

华为于2019发布了基于物联网的鸿蒙操作系统HarmonyOS,随后于2020年正式发布了开源版本,也就是OpenHarmony,面向全场景、全连接,适用于各类智能设备。

1 OpenHarmony发展历史

2012年,华为总裁任正非表示:“华为做终端操作系统是出于战略的考虑”,此时鸿蒙操作系统的概念首次出现在大众视野。

2016年5月,鸿蒙正式在华为公司的软件部内部立项并开始投入研发。

2019年8月9号,华为正式发布了HarmonyOS 1.0,该系统率先部署在智慧屏上。

2020年9月10日,华为在HDC大会上发布HarmonyOS2.0。该版主要在3个方面做出重大提升:分布式的软总线、分布式的数据管理以及分布式的安全。

2020年6月,由工信部牵头的开放原子开源基金会正式成立,也是国内首个开源软件基金会。华为将HarmonyOS2.0中的基础能力部分开源出来,并捐赠给开放原子开源基金会,正式成立了OpenHarmony开源项目。

2021年6月,OpenHarmony发布了2.0 Canary版本,支持轻量带屏设备。该版本新增22个子系统,支持全面的OS能力,支持内存大于128 MB的带屏设备开发等。

2021年9月,OpenHarmony发布了3.0 LTS版本,支持简单标准带屏设备。该版本新增几十项特性,支持方舟JS编译工具链和运行时,支持JS UI框架应用开发和运行。

2022年3月,OpenHarmony发布了3.1 Release版本,支持复杂标准带屏设备。该版本基础能力得到增强,主要体现在多媒体能力、图形显示能力、内存管理能力等,分布式能力也得到了增强。

2023年4月,OpenHarmony发布了3.2 Release版本,全面支持复杂标准带屏设备。该版本能力提升主要如下:

①系统流程度:架构级的全面优化,包括ArkUI最小化更新技术、并行化极速启动架构、高性能ArkTS引擎、基础库性能优化等。

②系统功能方面:HDF支持800多个HDI标准化设备接口,API 9拥有18 000+ ArkTS API,已经足够支持复杂大型应用的开发。

③应用性能方面:提供NAPI及混合开发能力、丰富的Native API、TaskPool并行开发框架、DevEco Insight实时性能分析工具等,支持开发极致高性能的框架和应用。

④分布式能力:进一步优化和完善分布式屏幕能力、分布式数据技术以及一次开发多端部署能力上。

整个OpenHarmony版本迭代如图1所示。

图1 OpenHarmony版本演进路线

此外,在2023年6月,OpenHarmony发布了4.0 Beta版本,ArkUI进一步完善组件能力和效果,并提供首批API Level 10接口。正式的4.0 Release版本在2023年9月发布。

2 鸿蒙、HarmonyOS、OpenHarmony三者关系

从某种意义上来说,鸿蒙包括HarmonyOS和OpenHarmony。

2016 年 5 月,华为消费者 BG 软件部开始立项研发“分布式操作系统 1.0 版本”,这就是鸿蒙系统的雏形。

考虑到华为设备的现有数量和鸿蒙系统初期软件生态的不完善,华为鸿蒙系统技术上兼容Android应用,同时集成了华为自身的能力,包括HMS等,形成了一个可以在华为手机、智慧屏、平板等设备上运行的操作系统,也就是HarmonyOS,该系统不开源。

随着华为开源战略的布局,为确保鸿蒙系统能有一个良好的生态,吸纳更多共建参与,华为将鸿蒙系统的基础能力部分开源出来,开源部分也就是OpenHarmony。该部分为华为自研项目,不兼容Android生态。

所以,一般OpenHarmony指开源鸿蒙,HarmonyOS指华为闭源鸿蒙,两者在应用框架上都采用ArkUI开发框架,应用开发上互相兼容。

随着OpenHarmony生态的完善,OpenHarmony会逐步替代HarmonyOS,最终形成一个统一开源鸿蒙的生态系统。

3 OpenHarmony与Android的对比

Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

在系统架构设计之初,OpenHarmony定位就不是Android的替代品,OpenHarmony的目标是构建一个面向万物互联时代的分布式操作系统,与Android并非同一个赛道。

两者在系统架构设计上比较相似,不过OpenHarmony在传统的系统架构上新增了分布式相关能力,如图2所示。

图2 系统架构对比

可以看到,OpenHarmony有着自己的一套架构设计和实现,在开发语言、运行时、应用框架等方面都不同于Android,两者是完全不同的操作系统。

(1)内核对比

Android:基于Linux内核,程序的安全性、网络协议、内存管理、进程管理、驱动程序都由Linux内核提供。另外,Android Runtime(ART)就是依靠Linux内核来执行底层功能的,其中包括线程和底层内存管理。

OpenHarmony:采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。

(2)运行时对比

Android Runtime(ART)是Android上的应用和部分系统服务使用的托管式运行时。ART及其前身Dalvik最初是专为Android项目打造的。作为运行时的ART可执行Dalvik可执行文件并遵循Dex字节码规范。

方舟eTS运行时是OpenHarmony上默认的ArkTS语言运行时,提供完备的C++交互ArkTS NAPI和各种高性能的垃圾回收器,驱动着万物互联时代的OpenHarmony应用程序。

4 技术架构

OpenHarmony整体遵从分层设计,从下向上依次为内核层、系统服务层、框架层和应用层。系统功能按照“系统>子系统>组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪掉某些非必要的组件。OpenHarmony技术架构如图3所示。

图3 OpenHarmony技术架构

(1)内核层

内核层包括内核子系统和驱动子系统。OpenHarmony是一个支持多种内核的操作系统,包括可以支持华为自研的LiteOS内核、Linux内核等。开发者可以根据自身的硬件平台资源、应用场景选择不同的内核。此外、内核子系统也支持开发者使用其他内核,并通过内核抽象层向上提供统一的操作系统能力。

(2)系统服务层

系统服务层是OpenHarmony的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集。

(3)框架层

框架层为应用开发提供了C/C++/JS等多语言的用户程序框架和Ability框架,适用于JS语言的ArkUI框架,以及各种软硬件服务对外开放的多语言框架API。

(4)应用层

应用层包括系统应用和第三方非系统应用。应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。

4.1 技术特性

OpenHarmony最主要的技术特性是以下3点:

(1)统一OS,弹性部署

OpenHarmony采用组件化和组件弹性化等设计方法,做到硬件资源的可大可小,在多种终端设备间按需弹性部署,全面覆盖了ARM、RISC-V、x86等各种CPU,硬件形态支持手机、平板、工业网关、路由器、音箱、耳机等。

(2)一次开发,多端部署

OpenHarmony提供用户程序框架、Ability框架以及UI框架,能够保证开发的应用在多终端运行时的一致性。一次开发、多端部署。多终端软件平台API具备一致性,确保了用户程序运行的兼容性。

(3)硬件互助,资源共享

多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。

分布式软总线为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议。分布式软总线技术架构如图4所示。

图4 软总线架构

分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,多种设备共同形成一个超级虚拟终端。

分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管理。

分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。

5 应用开发框架——ArkUI

应用框架是操作系统连接开发者生态、实现用户体验的关键基础设施。OpenHarmony为开发者提供了ArkTS开发语言以及ArkUI开发框架。

ArkUI整体架构如图5所示。最上层提供了自研声明式UI范式,也支持类Web范式;中间层为方舟编译器和运行时、声明式UI后端引擎以及渲染引擎;下层为平台适配层和平台桥接层。此外,ArkUI开发框架还配套了相应的IDE开发工具以及工具链,以提升开发体验。

此外,ArkUI不仅仅局限于OpenHarmony或者HarmonyOS,它是一个支持跨平台的UI框架,也可以运行在Android、iOS等系统上。

图5 ArkUI框架

ArkUI的声明式范式通过语法扩展方法提供了装饰器、自定义组件、UI描述、状态管理、内置组件、属性方法以及事件方法等模块,可以根据用户需求灵活组合,从而形成定制化界面,如图6所示。

图6 ArkUI声明式范式

7 生态发展

一个操作系统的成果,除了系统本身能力足够优秀之外,最重要的是其生态是否足够完善。生态的维度包括硬件生态、应用生态、共建单位、开发者生态等。

7.1 硬件生态

当前,OpenHarmony已经吸引超过50家企业参与共建、落地多个行业,160多款设备搭载OpenHarmony操作系统,如图7所示。接下来从以下几方面介绍OpenHarmony的生态进展。

图7 OpenHarmony生态总览

(1)芯片生态

2020年9月,OpenHarmony第一次发布并开源时,润和软件率先发布了3款支持OpenHarmony海思芯片的开发板,分别是Hi3861、Hi3516、Hi3518。

经过几年发展,目前OpenHarmony已经支持超过40款芯片,芯片适配历程如图8所示。

图8 芯片适配历程

OpenHarmony芯片合作伙伴包括瑞芯微、全志、晶晨、Intel、AMD、NXP、赛昉、飞腾、龙芯、汇顶、瑞昱、上海博通、联盛德、博流、翱捷、意法半导体、芯海等。

(2)设备生态

截止到2023年7月8日,通过OpenHarmony兼容性认证的商用设备数量已达162个,相关厂家80家,如图9所示。

设备形态包括电子学生证、扫码支付终端、冰箱、摄像头、网关等。其中,美的13款、华帝9款,产品形态都是智能家电。联迪9款、升腾6款都是金融行业相关设备,包括POS机、收款云喇叭等。

图9 商用设备厂家数据

7.2 行业落地

为推动相关行业落地,OpenHarmony鼓励企业用户基于开源版本的OpenHarmony系统,根据行业特点,在系统中新增行业组件、应用功能等,最终形成企业自己的行业发行版。

截至2023年7月8日,通过OpenHarmony兼容性测评的行业发行版总共34个,相关企业19家。

对行业发行版进行数据统计和分析,如图10所示。可以看到,OpenHarmony已经落地教育、金融、公共安全、超高清、交通、电力、医疗、工业、智慧城市等。其中,教育和金融行业的发行版最多,都达到了5个。

图10 行业发行版数据

此外,对已经通过兼容性认证的商用设备的行业属性进行数据统计,如图11所示。可以看到当前OpenHarmony在金融、家电行业的产品最多,两者总共占比为49%,接近一半,其次是工业、教育、交通等行业。

图11 行业发行版厂家数据

7.3 应用生态

应用生态是OpenHarmony接下来几年发展的重中之重。

在API能力方面,OpenHarmony已经发展到API9版本,API数量已经达到了18 000多个,包括声明式UI能力、应用开发框架、WEB能力、多媒体能力、分布式能力等,已经可以支持复杂应用开发。

2022年HDC大会上,华为与鸿蒙生态的 14 家合作伙伴签署合作备忘录,将在鸿蒙生态领域深度投入。参加签约的品牌合作伙伴包括新浪、中国国航、人民网、金山办公、奇安信、去哪儿网、乐元素、科大讯飞、酷狗、百度、小沃科技、网易、航旅纵横、搜狗。

搜狗已经推出了OpenHarmony版本的输入法;Cocos引擎适配OpenHarmony,将为应用开发者和用户带来更多的便利和创新;Unity引擎已经能够支持OpenHarmony系统,并且渲染效果和帧率与传统操作系统不相上下。

8 展 望

OpenHarmony作为一款全新的操作系统,其设计理念非常先进,相信未来OpenHarmony一定会发展成一个伟大的操作系统,在装机量、应用数量上有重大突破,在万物互联时代,成为下一代知名操作系统。OpenHarmony未来发展方向主要围绕下面几点。

8.1 架构优化

系统架构设计上持续优化,包括ArkUI重构、视窗架构优化,实现极简UI绘制管线、分布式窗口、多源窗口融合,进一步探索高性能、轻量化的2D&3D融合的UI框架,以实现2D&3D混合UI开发。

进一步优化芯片架构的代码、驱动代码、第三方库、系统组件等相关设计,减少代码耦合性、降低代码复杂度,使得代码结构更合理,降低代码冗余。

进一步提升系统流畅度、稳定性,给开发者提供更易用、更好用以及更高效的并发API。在并发调度上,也将针对现存系统中的线程泛滥问题,从时间和空间两个维度设计相关方案进行优化和改进,并将开发一套统一的并行框架,在运行时根据任务依赖状态和可执行资源自动并发调度和执行任务。

8.2 系统能力

当前,OpenHarmony核心API数量已经到18 000之多,而Android核心API数量为36 000之多。未来,OpenHarmony将围绕声明式UI能力、应用开发框架、WEB能力、多媒体能力、多媒体能力、分布式能力、通信能力、安全能力、全球化服务、DEX、电话等能力,提供更丰富的API,如图12所示。

图12 系统能力

8.3 分布式能力

分布式能力进一步增强,提供更强大的全场景能力。分布式能力效率进一步提升,减少时延、实现大带宽场景的分布式流转和协同,从交互体验走向场景化体验。

轻量系统软总线能力完善,实现IoT设备与智能设备之间的软总线互联互通。

优化软总线代码,减少资源占用,在内存更小的芯片上实现软总线功能。

8.4 多内核

OpenHarmony未来将支持更多的内核,其中比较重要的是硬实时内核和微内核。

(1)硬实时内核

在工业控制领域,实时(Real Time) 是很重要的要求。传统LiteOS-M内核在实时性上达不到硬实时的要求。为了补齐硬实时的能力,OpenHarmony已经开始支持UniProton内核。该内核主要聚焦硬实时场景,同时为上层业务软件提供一个统一的操作系统平台,屏蔽底层硬件差异,并提供强大的调试功能。

(2)微内核

当前,OpenHarmony支持的内核为LiteOS和Linux,两者都是宏内核。OpenHarmony微内核已经在研发中,未来OpenHarmony将支持微内核架构。

同时,OpenHarmony也将基于微内核技术的可信执行环境,通过“形式化方法”显著提升了TEE内核的安全等级,全面提升全场景终端设备的安全性。

8.5 应用生态

应用生态建设是OpenHarmony未来发展的重心,主要围绕以下几方面展开:①补齐应用能力,提供高效的应用API、适配更多的第三方库组件,完善ArkUI开发框架,给开发者提供一个更高效的应用开发环境。②赋能开发者,提供各种激励,建立应用上架、应用商城等,让开发者更有动力开发OpenHarmony应用。③拓展应用厂家,与头部应用厂家建立联合开发机制,加速头部应用支持OpenHarmony,共同建设应用生态;赋能中小应用厂家、开发者,帮助他们解决OpenHarmony应用开发过程中的问题,实现应用生态的突破。

为了能让大家更好的学习鸿蒙 (OpenHarmony) 开发技术,这边特意整理了《鸿蒙 (OpenHarmony)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙 (OpenHarmony)开发学习手册》

入门必看:https://qr21.cn/FV7h05

  1. 应用开发导读(ArkTS)
  2. ……

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门?:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. 构建第一个JS应用
  4. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16.……

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙原生应用/元服务实战-DevEco Studio 模拟器资源经常不足

DevEco Studio 模拟器资源经常不足,模拟器是最方便和最广泛的开发者可以快速体验应用元服务效果的途径,还是要加强。 除了Wearable,其他都用不了。 只能用预览器看效果,或者使用远程真机或者本地真机了。 在API9,比如分享等&…

leetcode第 381 场周赛最后一题 差分,对称的处理

第 381 场周赛 - 力扣(LeetCode)最后一题3017. 按距离统计房屋对数目 II - 力扣(LeetCode) dijkstra超时了,看了灵神的解题方法力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台,其…

二.用户与权限管理(二)

用户与权限管理 5.角色管理5.1角色的理解5.2创建角色5.3给角色赋予权限5.4查看角色的权限5.5回收角色的权限5.6删除角色5.7给用户赋予角色5.8激活角色5.9撤销用户角色5.10设置强制角色(mandatory role) 6.配置文件的使用6.1配置文件格式6.2 启动命令与选项组6.3 特定MySQL版本的…

java数组ArrayList(存对象)

1、dade文件 package model;public class dade {private int id;private String name;public dade() {}public dade(int id, String name) {this.id id;this.name name;}public int getId() {return id;}public void setId(int id) {this.id id;}public String getName() {…

推荐IDEA一个小插件,实用性很高!!

插件: Convert YAML and Properties File 由于每个人的开发习惯不同,在开发过程中会遇到各种小细节的问题。今天给大家介绍一个小插件,作用不大,细节很足。 就是properties类型文件和yml文件互相自由转换 解决:…

【webrtc】neteq测试工程

设置git代理 $ git config --global http.https://github.com.proxy socks5://127.0.0.1:7890 git config --global https.https://github.com.proxy socks5://127.0.0.1:7890导入cmake直接构建 win32 debug v143 编译opus Build started...

云原生全栈监控解决方案(全面详解)

【作者】JasonXu 前言 当前全球企业云化、数字化进程持续加速,容器、微服务等云原生技术在软件架构中快速渗透,IT 架构云化、复杂化持续驱动性能监控市场。企业云化、数字化持续转型,以及为了考虑系统的弹性、效率,企业软件开发中…

【linux】 查看 Linux 重启历史记录(reboot)

了解 Linux 重启日志 /var/log 目录隐藏着 Linux 日志机制的核心信息,它是记录系统活动的宝贵仓库。然而,仅仅有日志还不够,真正的难题在于,如何从大量数据中提炼出与系统重启相关的关键信息。 在 /var/log 目录中,可…

简单但全面了解一下webSocket

文章目录 webSocket是一种协议,设计用于提供低延迟、双全工和长期运行的连接什么是实时通信? webSocket之前的世界webSocket的优势为什么需要心跳机制?webSocket的限制 webSocket是一种协议,设计用于提供低延迟、双全工和长期运行…

CRM系统的痛点,如何解决?

在当今竞争激烈的商业世界中,客户关系管理(CRM)数字化转型已经成为大企业成功的重要秘诀。大型跨国公司如亚马逊、苹果和微软等已经在CRM数字化方面走在了前列,实现了高度个性化的客户体验,加强了客户忠诚度。 然而&a…

Conda python管理环境environments 四 从入门到精通

Conda系列: 翻译: Anaconda 与 miniconda的区别Miniconda介绍以及安装Conda python运行的包和环境管理 入门Conda python管理环境environments 一 从入门到精通Conda python管理环境environments 二 从入门到精通Conda python管理环境environments 三 从入门到精通…

【Linux】解决能访问github但克隆不了的问题

文章目录 1.查看你的代理的地址:2.git设置3.尝试clone 1.查看你的代理的地址: 2.git设置 先看看当前的git设置 $ git config --list然后git中要设置好对应的地址 git config --global http.proxy 127.0.0.1:78903.尝试clone $ git clone https://git…

服务器感染了.wis[[Rast@airmail.cc]].wis勒索病毒,如何确保数据文件完整恢复?

导言: 在当今数字化的时代,恶意软件攻击已经变得越来越复杂和狡猾,[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis[[Rastairmail.cc]].wis勒索病毒是其中的一种新威胁。本文91数据恢复将深入介绍[[MyFilewaifu.club]].wis [[backupwaif…

机器学习实验报告-集成学习

目录 一、集成学习介绍 1.1集成学习的引入 1.2集成学习发展史 1.3集成学习的学习组织方式 1.3.1并联组织关系 1.3.2串联组织关系 1.4集成学习及其实现方法概述 二、集成学习实现方法 2.1Boosting 2.1.1基本过程 2.1.2注意点 2.2bagging 2.2.1基本过程 2.2.2注意点…

QT实现USB通讯

一.概述 QT实现USB通讯这里主要介绍两种方法,一种是通过libusb库来实现usb通讯,一种是通过hidapi库实现通信。 1.介绍libusb库 libusb 是一个 C 库,提供对 USB 设备的通用访问。 可移植的:使用单个跨平台API,它可以…

一、防御保护---信息安全概述

一、网络安全防御---信息安全概述 1.信息安全现状及挑战1.1 网络空间安全市场在中国,潜力无穷1.2 数字化时代威胁升级1.3 传统安全防护逐步失效1.4 安全风险能见度不足1.5 缺乏自动化防御手段1.6 网络安全监管标准愈发严苛 2.信息安全概述2.1 简介2.2 常见的网络安全…

Java 设计者模式以及与Spring关系(四) 代理模式

目录 简介: 23设计者模式以及重点模式 代理模式(Proxy Pattern) 静态代理示例 spring中应用 动态代理 1.基于JDK的动态代理 target.getClass().getInterfaces()作用 内名内部类写法(更简洁,但不推荐) 2.基于CGLIB实现 spring中应用 …

uniapp使用自定义组件

tt.vue中使用video-player组件 用到的目录如下: pages.json {"path": "pages/Tabbar/tt/tt","style": {"navigationBarTitleText": "","enablePullDownRefresh": false,// 使用自定义组件"using…

C++ 类定义

C 类定义 定义一个类需要使用关键字 class,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。 定义一个类,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么&#xff0…

【论文阅读笔记】Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation

1.介绍 Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation Swin-Unet:用于医学图像分割的类Unet纯Transformer 2022年发表在 Computer Vision – ECCV 2022 Workshops Paper Code 2.摘要 在过去的几年里,卷积神经网络&#xff…