还未设置个性签名
成为VIP会员 享9项特权: 开通会员

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

用于嵌入式系统的Java的优点和缺点

星星科技指导员 来源:嵌入式计算设计 作者:Kaique Mancoso 2022-07-01 10:00 次阅读

IoT、UI/UX 和 AI 等嵌入式系统每天都变得越来越复杂。过去只有一两个功能的产品,现在为用户提供了更多的实用程序,要求用户界面反映体验。物联网正在改变我们处理硬件的方式,确保实现互联、自动化甚至更智能的日常工作。Java 是最常用的编程语言之一,特别是因为它易于开发和跨平台。但是,Java 在嵌入式系统的开发中还没有被广泛采用。事实上,C/C++ 仍然是嵌入式系统最流行的编程语言。大约 80% 的嵌入式系统项目是用 C/C++ 编写的,但未来不会这样。可能会采用新的语言来满足市场增长。使用 C/C++ 构建项目非常耗时,而且很难找到或培训新的 C/C++ 专业人员。本文的目的是展示使用 Java 进行嵌入式系统开发的主要优点,以及这种语言的缺点(以及处理和解决这些缺点的建议方法)。

物联网和嵌入式系统与 Java

多年来,从事嵌入式系统开发的专业人员数量显着增加。当然,这类专业人员与从事桌面和移动应用程序开发的人数之间存在巨大差异。但是,据 IC Insights 称,用于嵌入式设备的 MPU 的销售额将在三年内与智能手机处于同一水平。

一般来说,机器都配备了真正的技术武器库。我们周围的产品,如汽车和家用电器,都具有响应不同事件和人类需求要求的能力。在这种情况下,物联网代表的不是未来趋势,而是正在发生的事情。这也可以在工业环境中看到。工业自动化需要更多的连接性、数据分析,当然还有新的仪表板。

考虑到所有这些,有必要关注未来的期望。尽管 C 和 C++ 需要更少的内存和 CPU 周期,但 Java 应该被视为嵌入式系统的更好选择,因为它是最适合大型项目的最有组织的编程语言之一。Java 具有适合嵌入式系统环境的理想特性,包括可移植性、代码重用、可靠性、安全性、WEB 以及与其他嵌入式系统的连接。为了提供嵌入式世界将需要(并且已经在要求)的东西,使用像 Java 这样的高级语言很重要。此外,世界上有很多Java开发人员,迁移到嵌入式系统对他们来说应该不是问题。

在嵌入式系统上使用 Java 的优势

使用 Java 为嵌入式设备开发应用程序,除了最好的语言质量外,还可以保证减少用于项目创建的时间和成本,这要归功于用途的多样性和现有的支持。那么,让我们看看为什么应该将 Java 用于嵌入式系统的其他一些原因:

上市时间很重要,可以缩短开发时间:Java 具有理想的内存管理,并且更容易检测错误(并修复错误);

推荐用于超过 5 个屏幕的 GUI 项目;

从第一个版本开始就很坚固(感谢包概念、设计模式和 SOLID 原则);

简单;

可移植到不同的 CPU 或操作系统(无需重写代码);

安全性,支持加密敏感数据;

大量独立于操作系统的库;

可在桌面和远程调试;

高级语言和高性能方面的最佳折衷方案(取决于使用的虚拟机);

看起来很完美!但是(就像世界上的一切一样)也有一些缺点。让我们看看 Java 对嵌入式系统的挑战。

在嵌入式系统中使用 Java 的缺点

选择 Java 有很多充分的理由。但是,在嵌入式系统上使用 Java 存在三个主要缺点:

Java 相当冗长。

它复杂而庞大(217 个包,4240 个类);

性能低下。

甚至 Oracle 自己也创建了 Java SE Embedded 来解决这类问题,并为嵌入式设备优化了虚拟机。但是,对于大量针对低端设备的项目来说,这还不够。

这种担忧一直是 Java 进入嵌入式系统的主要障碍。但好消息是,有一些新技术旨在解决所有这些问题。

适用于嵌入式系统的低占用空间和高性能

为了实现这个目标,有必要找到完整的 Java 和 Java 虚拟机的替代方案。在这种情况下,TotalCross是一个有趣的框架。

TotalCross 是一个用于嵌入式系统的 SDK,它使用自己的虚拟机,称为 TotalCross 虚拟机 (TCVM)。TCVM 不是基于堆栈的 JVM,而是基于寄存器的虚拟机。这在运行时间上有很大的不同,因为它减少了加载的指令数量。正如您在以下示例中所见,一个简单的操作在 JVM 上加载了 4 条指令,而在 TCVM 上运行时只加载了一条。

除了 TCVM 之外,还根据统计研究创建了一种称为 TotalCross 字节码的优化字节码,以识别对性能影响较大的最常用函数。除了这些函数减少指令数量的压力外,这种优化的字节码还确保了低占用空间,因为它使用了一个名为 Nano Java 的 Java 子集,它只有 86 个包和 1184 个类(完整 Java 的 1/4)。

TotalCross 没有使用所有的 Java 架构,而只使用了嵌入式应用程序开发所必需的。所有这些特性为嵌入式系统提供了 5MB 的占用空间和高性能。

结论

在嵌入式系统上使用 Java 的优点多于缺点,特别是因为代码的质量和大量已经能够使用 Java 编程的人。在嵌入式系统领域拥有 Java 社区尤其重要,因为它是编程世界中的第三大社区。但是,正如我们所见,占地面积和性能会影响项目结果。因此,建议使用能够打破这些障碍的替代方案,例如 TotalCross 框架。有了它,就可以享受 Java 的所有优点,同时仍然保证嵌入式系统的低占用空间和高性能。

审核编辑:郭婷

  • 嵌入式
    +关注

    关注

    3715

    文章

    15005

    浏览量

    261784
  • AI
    AI
    +关注

    关注

    85

    文章

    20454

    浏览量

    239049
  • IOT
    IOT
    +关注

    关注

    89

    文章

    3003

    浏览量

    164346
收藏 人收藏

    评论

    相关推荐

    听潮汐,筑灯塔,聚千帆:智慧港口全球创新实验室启航时

    自古以来,港口就是中华文明的重要标志。春秋战国时已经有了碣石港的记载;到了汉代,合浦、徐闻等港口已经....
    的头像 脑极体 发表于 08-18 19:29 107次 阅读

    兆瀚×智慧公路 AI智变加速质变 科技创新赋能智慧交通

    自夜空中俯瞰城市: 路与路的联结、车与车的喧嚣、灯在灯中辉映。与其说城市的光影在黑夜中集聚,不如说,....
    发表于 08-18 18:48 41次 阅读

    瑞为技术完成融资 用于深化AI算法及产品研发

    近期,瑞为技术宣布完成数亿元人民币D轮融资,此次融资由招商局资本和上海机场旗下泓宇资本联合领投,高略....
    发表于 08-18 14:09 28次 阅读

    Linux内存映射与页表详解

    我们通常所说的内存容量,指的是物理内存,只有内核才可以直接访问物理内存,进程并不可以。
    发表于 08-18 12:30 71次 阅读

    Seoul Robotics利用NVIDIA技术实现自动驾驶

    NVIDIAMetropolis 成员使用 NVIDIAJetson AGX Orin 提供支持的 ....
    发表于 08-18 11:58 85次 阅读

    嵌入式软件架构的设计中分类整理

    最近项目有点多,总结一下目前接触的软件架构中的几个分类,个人拙见,大家可以相互学习。
    的头像 嵌入式应用开发 发表于 08-18 11:47 168次 阅读
    嵌入式软件架构的设计中分类整理

    床头灯人声控制AI语音芯片WTK6900H介绍

    深圳唯创知音WTK6900H语音识别芯片,可通过语音控制光源或灯具设备的开关、亮度、模式、效果等,是....
    的头像 唯创知音电子 发表于 08-18 11:24 223次 阅读
    床头灯人声控制AI语音芯片WTK6900H介绍

    云天励飞荣获可信人工智能实践优秀案例

    发展可信AI正在成为行业共识,作为AI产业的重要一员,云天励飞一直积极响应号召,为可信AI实践贡献力....
    发表于 08-18 11:07 43次 阅读

    商汤科技AI技术实现地铁检票系统的智能化升级

    江苏常州迎来轨交智能化,“无感乘地铁”首次进驻长三角地区。
    的头像 商汤科技SenseTime 发表于 08-18 11:03 420次 阅读

    映翰通网络全新羚羊购AI智能售货柜助力智慧新零售

    随着我国国民经济的不断发展,居民收入水平的不断提升,我国社会消费品零售总额不断增长。无人零售作为我国....
    的头像 映翰通网络 发表于 08-18 10:13 232次 阅读

    IBM实现混合云全部潜力 推动AI发挥全方位作用

    对于当前企业数字化转型的关键诉求,IBM有着独到的理解。我们看到,企业转型过程中需要通过清晰、可靠的....
    的头像 IBM中国 发表于 08-18 09:56 113次 阅读

    嵌入式应用层开发学习曲线

    通过大量编程实例重点学习C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用....
    的头像 倩倩 发表于 08-18 09:52 178次 阅读

    亿智电子端侧通用AI算力赋能智慧视觉芯生态

    作为中国具有影响力的IC和系统设计盛会,本届IIC大会还公布了“Fabless 100 排行榜”和“....
    的头像 亿智电子 发表于 08-18 09:46 366次 阅读

    HPC、AI与云计算:当智能时代三叉戟在亚马逊云科技完美融合

    希腊神话中,海神与丰收之神波塞冬手持三叉戟,为航船保驾护航,为农人带来清泉。从此之后,三叉戟经常用来....
    的头像 脑极体 发表于 08-18 09:19 225次 阅读

    用于嵌入式系统引导的闪存设备比较

      总之,虽然 SLC NAND、eMMC 和 UFS 的每比特成本较低,但 NOR 闪存器件仍然是....
    发表于 08-17 11:57 68次 阅读
    用于嵌入式系统引导的闪存设备比较

    I2C3挂载wm8960音频芯片

    OKMX8MM-C开发板预留了I2C3和SAI引脚接口,分别位于P18和P7插针引脚上,板载音频芯片挂载到了I2C2和SAI2。今...
    发表于 08-17 11:41 687次 阅读

    使嵌入式存储容错

      容错冗余 RAID 存储与可靠的工业级 SSD 驱动器(如 SLC 或 iSLC 级 SSD)相....
    的头像 星星科技指导员 发表于 08-17 10:35 82次 阅读

    使用NVIDIA CloudXR加快AECO工作流程

    数字化转型已扩展到建筑、工程、施工和运营行业(AECO)。最新的先进技术正在帮助 AECO 专业人员....
    的头像 NVIDIA英伟达 发表于 08-17 10:26 229次 阅读

    机智云IoT为传统水族设备厂商推出一系列全新智能水族设备解决方案

    饲养观赏性的鱼类,是我国延续千百年的雅兴传统,色彩丰富、形态各异的鱼类如同艺术品般备受人们青睐。
    发表于 08-17 10:26 43次 阅读

    借助NVIDIA V100 GPU加速AI医学影像学研究

    锘崴科技是一家专业的隐私计算技术服务提供商,公司以锘崴信隐私保护计算平台为核心,开发了一整套自主、安....
    的头像 NVIDIA英伟达 发表于 08-17 10:19 457次 阅读

    星环科技一站式模型平台与华为Atlas 300I Pro推理卡完成兼容性适配

    近日,基于昇腾AI,星环信息科技(上海)股份有限公司的一站式模型生产应用平台 Sophon Auto....
    的头像 华为计算 发表于 08-17 10:15 158次 阅读

    小数据时代嵌入式工程师面临新挑战

      嵌入式数据安全带来的核心工程挑战与功能安全带来的挑战基本相同。这些问题可以通过适当的知识、风险评....
    的头像 星星科技指导员 发表于 08-17 10:07 61次 阅读

    加固改进增强了内存模块设计

      尽管对加固型嵌入式设备的需求不断增加,但内存模块供应商继续进行技术进步和相关的制造改进,以满足 ....
    的头像 星星科技指导员 发表于 08-17 09:46 210次 阅读
    加固改进增强了内存模块设计

    了解SSD应用程序类别可简化选择正确的存储解决方案

      嵌入式工业基础设施应用存储需求的多样化和分散性促使 OEM 评估多种选项以匹配其各自的系统需求。....
    的头像 星星科技指导员 发表于 08-17 09:37 105次 阅读

    工业SATA闪存选项

      嵌入式设计可接受的最终外形尺寸是工业 2.5 英寸 SATA SSD。如果您需要大量存储并且您的....
    的头像 星星科技指导员 发表于 08-17 09:31 137次 阅读

    BeagleBone AI-64带来AI和机器学习解决方案

    BeagleBone® AI-64 在开放式硬件单板 Linux 计算机方面取得了十多年的成功,将大....
    的头像 星星科技指导员 发表于 08-17 09:26 55次 阅读

    开放式加速标准如何推动安全关键型发展

      嵌入式产品中越来越多地使用计算、视觉和推理加速的集成带来了重大的新商机,Khronos 正在开发....
    的头像 星星科技指导员 发表于 08-17 09:21 44次 阅读
    开放式加速标准如何推动安全关键型发展

    海康威视AI助手地铁运营更安全、检修更轻松

    早晨,你慌忙吃下一口早饭,飞奔冲向公交车站,坐下时背后已出了一层汗。而和你一起开始工作的,还有脚下的....
    的头像 海康威视 发表于 08-17 09:20 208次 阅读

    商汤科技亮相2022中国地理信息产业大会

    自然资源被称为遥感百业“之首”。然而,随着遥感影像数量的快速激增,解译能力供给不足的问题愈发凸显。A....
    的头像 商汤科技SenseTime 发表于 08-17 09:19 355次 阅读

    为高级图像处理和分析部署AI视觉套件

      e-con Systems 与 Qualcomm 合作推出的全新 qSmartAI80_CUQ6....
    的头像 星星科技指导员 发表于 08-17 09:15 55次 阅读

    瑞为入选国家级专精特新“小巨人”企业名单

    近期,工业和信息化部开展了第四批专精特新“小巨人”企业培育和第一批专精特新“小巨人” 企业复核工作。....
    发表于 08-16 18:24 93次 阅读

    IOT OS比较,分析IOT OS的发展方向

    摘要:根据IOT设备的需求,以及IOT OS需要满足的技术特征、现有IOT OS的来源,分别概述Fr....
    的头像 物联网评论 发表于 08-16 17:12 533次 阅读

    AI辅助诊断失智症与脸部情绪识别

    依失智症病程,可使用不同AI技术辅助病征的判定,在轻度认知障碍期(Mild Cognitive Im....
    的头像 DIGITIMES 发表于 08-16 15:30 249次 阅读

    踏歌智行荣登国家级专精特新“小巨人”名单

    近日,第四批国家级专精特新“小巨人”名单发布,踏歌智行成功上榜。“专精特新”是指专业化、精细化、特色....
    的头像 踏歌智行 发表于 08-16 14:17 137次 阅读

    考拉悠然的AI扬尘治理解决方案入选BPAA第二届应用算法实践典范TOP100

    8月13日,全球算法最佳实践典范大赛(BPAA)第二届应用算法实践典范TOP100榜单公布,考拉悠然....
    的头像 话说科技 发表于 08-16 13:30 399次 阅读
    考拉悠然的AI扬尘治理解决方案入选BPAA第二届应用算法实践典范TOP100

    使用TensorFlow Lite设计基于TPU的AI解决方案

      这不仅限于广告,年龄和性别检测还可以通过管理零售店的适当支持人员,人们更喜欢访问您的商店,企业的....
    的头像 星星科技指导员 发表于 08-16 11:44 59次 阅读
    使用TensorFlow Lite设计基于TPU的AI解决方案

    用神经处理单元集群改造边缘人工智能

      为了满足 AI 应用日益增长的性能和复杂需求,NXP NPU IP 内核提供了高性能、可扩展的实....
    的头像 星星科技指导员 发表于 08-16 11:41 76次 阅读
    用神经处理单元集群改造边缘人工智能

    使用双SD卡数据存储策略提高工业系统的可靠性

      这一切都可以通过编程方式完成,并且可以完全配置以满足应用程序的需求。例如,通过设置关机和看门狗时....
    的头像 星星科技指导员 发表于 08-16 11:30 52次 阅读

    思必驰智能语音报警器带来智能骑行新体验

    “方便、快捷、环保”的两轮电动车已成为上班通勤、城市配送、校园代步、休闲娱乐等短途出行场景的重要代步....
    的头像 思必驰 发表于 08-16 11:27 285次 阅读

    边缘设备中计算机视觉和语音的AI推理加速器应用

      SiFive 将 RISC-V 处理器 IP 引入其下一代 AI 推理加速器,为边缘设备中的计算....
    的头像 星星科技指导员 发表于 08-16 11:24 60次 阅读

    在Python中评估不同嵌入式算法的性能

      其次,如果在嵌入式系统上运行多个应用程序,这些其他应用程序可能会破坏目标应用程序,这也会增加算法....
    的头像 星星科技指导员 发表于 08-16 11:12 41次 阅读
    在Python中评估不同嵌入式算法的性能

    是什么让传感器变得智能

      PICMG IoT.1 规范定义了一个标准固件数据模型,该模型在设计时考虑到了简单性。传感器制造....
    的头像 星星科技指导员 发表于 08-16 10:33 202次 阅读

    嵌入式Linux调试变得更容易

      诸如用于自上而下探索性分析的高级概述等功能,包括进程交互、进程分叉、CPU 使用率、RAM 使用....
    发表于 08-16 09:48 75次 阅读
    嵌入式Linux调试变得更容易

    开源、可重用的软件堆栈支持CbM的实时处理和算法开发

      最终配置是直接云选项,每个平台直接访问互联网并将测量推送到云端。由于 CN0549 在 Linu....
    的头像 星星科技指导员 发表于 08-16 09:40 356次 阅读
    开源、可重用的软件堆栈支持CbM的实时处理和算法开发

    NVIDIA助力Telexistence在全家便利店部署补货机器人

    总部位于东京的初创企业 Telexistence 宣布将在日本数百家全家(FamilyMart)便利....
    的头像 NVIDIA英伟达企业解决方案 发表于 08-16 09:26 137次 阅读

    释放边缘工作负载整合的全部潜力

      由于 5G 技术和 10+ GbE 网络,实时处理在触觉互联网环境中变得越来越重要,因此开发人员....
    的头像 星星科技指导员 发表于 08-16 09:19 58次 阅读

    关于单片机与嵌入式、操作系统与RTOS之间的那些事!

    乍一听,和我们的直觉有矛盾啊:那么高大上的设备,其中的控制逻辑一定很复杂,不用嵌入式系统怎么来完成那....
    发表于 08-16 09:18 105次 阅读

    微软开源工具可轻松地测试和训练AI驱动的无人机

    Airtonomy成功的秘诀何在?答案就藏在微软7月在范堡罗国际航展(Farnborough Int....
    发表于 08-16 09:16 104次 阅读

    嵌入式Linux上的以太网TSN简介

      引导加载程序是系统上电后运行的第一个代码,它处理基本的硬件初始化,并从嵌入式 Linux 系统中....
    发表于 08-16 09:14 57次 阅读
    嵌入式Linux上的以太网TSN简介

    基于百度云的AI接口调用

    人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、....
    的头像 嵌入式技术 发表于 08-16 09:05 163次 阅读
    基于百度云的AI接口调用

    如何使用Eclipse玩转STM32(上)

    在嵌入式开发中,我们比较熟悉的是像Keil,IAR这些IDE(Integrated Developm....
    发表于 08-15 17:16 48次 阅读
    如何使用Eclipse玩转STM32(上)

    WebClient软件包的两个HTTP Client示例程序演示功能

    示例程序 WebClient 软件包提供两个 HTTP Client 示例程序, 分别用于演示软件包支持的 GET 和 POST 功能,完成数...
    发表于 08-15 14:33 313次 阅读

    简述基于HTTP协议实现WebClient软件包的工作原理

    工作原理 WebClient 软件包主要用于在嵌入式设备上实现 HTTP 协议,软件包的主要工作原理基于 HTTP 协议实现,如下图...
    发表于 08-15 14:27 301次 阅读

    嵌入式初级工程师全套学习资料包(第一阶段)

    本期资料分享为linux开发全套学习资料包,整理了嵌入式学习必备资料和工具包,大家可以配合下方的三个学习阶段路线进行学习,希望...
    发表于 08-12 15:37 10599次 阅读
    嵌入式初级工程师全套学习资料包(第一阶段)

    每周精选 | 征文大赛精选技术文章合集,战“码”先锋第二期正式开启

    大家好,电子发烧友精选一周社区好帖推送给大家,同时欢迎大家留言推荐更多好帖子,一旦入选将获得电子发烧友月度vip奖励! 1、...
    发表于 08-12 10:08 8636次 阅读

    使用SystemReady IR简化嵌入式Linux系统

    作为过去 16 年一直在构建嵌入式 Linux 系统的人,我为使用 Linux on Arm 构建的令人惊叹的产品感到自豪。然而,我也很关心每...
    发表于 08-11 16:06 1015次 阅读

    阿里云IoT软件包API接口说明

    API 说明 ali-iotkit 是 RT-Thread 移植的用于连接阿里云 IoT 平台的软件包。基础 SDK 是阿里提供的  iot...
    发表于 08-11 15:03 1302次 阅读

    阿里云IoT软件包手册的框架是由哪些部分组成的

    软件包介绍 ali-iotkit 是 RT-Thread 移植的用于连接阿里云 IoT 平台的软件包。基础 SDK 是阿里提供的 iotkit-embedded...
    发表于 08-11 10:34 581次 阅读

    【社区之星】祁佳琳:学习应当向下扎根,才能汲取向上生长的力量

    嘉宾介绍:祁佳琳(论坛号:),电气专业出身,从事车用传感器开发工作两年,喜欢分享开发过程中遇到的各种问题,全网粉丝5W,视...
    发表于 08-10 10:54 3310次 阅读
    【社区之星】祁佳琳:学习应当向下扎根,才能汲取向上生长的力量

    嵌入式RT-thread中初始化线程函数中(void *)entry的意义何在

    嵌入式RT-thread中初始化线程函数中(void  )entry的意义何在,为什么要使用(void )? ...
    发表于 08-09 10:17 319次 阅读