一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用于嵌入式系統(tǒng)的Java:優(yōu)點(diǎn)和缺點(diǎn)

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Kaique Mancoso ? 2022-11-22 16:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

物聯(lián)網(wǎng)、UI/UX 和 AI嵌入式系統(tǒng)每天都變得越來越復(fù)雜。過去只有一個(gè)或兩個(gè)功能的產(chǎn)品現(xiàn)在為用戶提供了更多的實(shí)用程序,需要反映用戶界面提供的體驗(yàn)。物聯(lián)網(wǎng)正在改變我們處理硬件的方式,保證了互聯(lián)、自動化甚至更智能的日常生活。Java是最常用的編程語言之一,特別是因?yàn)樗子陂_發(fā)和跨平臺使用。但是,Java尚未在嵌入式系統(tǒng)的開發(fā)中被廣泛采用。事實(shí)上,C/C++仍然是嵌入式系統(tǒng)中最流行的編程語言。大約80%的嵌入式系統(tǒng)項(xiàng)目是用C/C++編寫的,但將來不會這樣??赡軙捎眯碌恼Z言來滿足市場增長。使用 C/C++ 構(gòu)建項(xiàng)目非常耗時(shí),并且很難找到或培訓(xùn)新的 C/C++ 專業(yè)人員。本文的目的是展示使用Java進(jìn)行嵌入式系統(tǒng)開發(fā)的主要優(yōu)點(diǎn),以及這種語言的缺點(diǎn)(以及建議處理和解決這些缺點(diǎn)的方法)。

物聯(lián)網(wǎng)和嵌入式系統(tǒng)與Java的比較

多年來,參與嵌入式系統(tǒng)開發(fā)的專業(yè)人員數(shù)量大幅增長。當(dāng)然,這種專業(yè)人員與從事臺式機(jī)和移動設(shè)備應(yīng)用程序開發(fā)的人數(shù)之間存在巨大差異。但是,根據(jù)IC Insights的數(shù)據(jù),嵌入式設(shè)備MPU的銷量將在三年內(nèi)與智能手機(jī)處于同一水平。

一般來說,機(jī)器已經(jīng)配備了真正的技術(shù)武器庫。我們周圍的產(chǎn)品,如汽車和家用電器,已經(jīng)創(chuàng)造出能夠響應(yīng)人類需求的不同事件和要求的能力。在這種情況下,物聯(lián)網(wǎng)代表的不是未來的趨勢,而是現(xiàn)在正在發(fā)生的事情。這也可以在工業(yè)環(huán)境中看到。工業(yè)自動化需要更多的連接性、數(shù)據(jù)分析,當(dāng)然還有新的儀表板。

考慮到所有這些,有必要關(guān)注未來的預(yù)期。盡管 C 和 C++ 需要更少的內(nèi)存和 CPU 周期,但 Java 應(yīng)該被視為嵌入式系統(tǒng)的更好選擇,因?yàn)樗亲钣薪M織的編程語言之一,非常適合大型項(xiàng)目。Java 具有嵌入式系統(tǒng)環(huán)境的理想特征,包括可移植性、代碼重用、可靠性、安全性、WEB 以及與其他嵌入式系統(tǒng)的連接。為了提供嵌入式世界需要(并且已經(jīng)要求)的東西,使用像Java這樣的高級語言是很重要的。此外,世界上有很多Java開發(fā)人員,遷移到嵌入式系統(tǒng)對他們來說應(yīng)該不是問題。

在嵌入式系統(tǒng)上使用 Java 的優(yōu)勢

使用Java為嵌入式設(shè)備開發(fā)應(yīng)用程序,除了最佳的語言質(zhì)量外,由于各種用途和現(xiàn)有支持,還可以減少應(yīng)用于項(xiàng)目創(chuàng)建的時(shí)間和成本。那么,讓我們看看為什么你應(yīng)該將Java用于嵌入式系統(tǒng)的其他一些原因:

上市時(shí)間很重要,提供更少的開發(fā)時(shí)間:Java具有理想的內(nèi)存管理,并且更容易檢測錯(cuò)誤(并修復(fù)它們);

建議用于超過 5 個(gè)屏幕的 GUI 項(xiàng)目;

從第一個(gè)版本開始就堅(jiān)固耐用(得益于封裝概念、設(shè)計(jì)模式和 SOLID 原則);

單純;

可移植到不同的CPU或操作系統(tǒng)(無需重寫代碼);

安全性,支持加密敏感數(shù)據(jù);

大量獨(dú)立于操作系統(tǒng)的庫;

可在桌面和遠(yuǎn)程調(diào)試;

在高級語言和高性能方面的最佳折衷方案(取決于所使用的虛擬機(jī));

看起來很完美!但是(就像世界上的一切一樣)也有一些缺點(diǎn)。讓我們看看Java在嵌入式系統(tǒng)面臨的挑戰(zhàn)。

將 Java 用于嵌入式系統(tǒng)的缺點(diǎn)

選擇Java有很多很好的理由。但是,在嵌入式系統(tǒng)上使用 Java 有三個(gè)主要缺點(diǎn):

Java非常冗長;

它復(fù)雜而龐大(217 個(gè)包,4240 個(gè)類);

性能低。

甚至甲骨文自己也創(chuàng)建了Java SE Embedded來解決這類問題,并針對嵌入式設(shè)備優(yōu)化了虛擬機(jī)。但是,對于大量針對低端設(shè)備的項(xiàng)目來說,這還不夠。

這種擔(dān)憂一直是Java進(jìn)入嵌入式系統(tǒng)的主要障礙。但好消息是,有一些新技術(shù)旨在解決所有這些問題。

嵌入式系統(tǒng)占用空間小,性能高

為了實(shí)現(xiàn)這一目標(biāo),有必要找到完整Java和Java虛擬機(jī)的替代方案。在這種情況下,TotalCross是一個(gè)有趣的框架。

TotalCross是嵌入式系統(tǒng)的SDK,使用自己的虛擬機(jī),稱為TotalCross虛擬機(jī)(TCVM)。TCVM 不是基于堆棧的 JVM,而是基于寄存器的虛擬機(jī)。這在運(yùn)行時(shí)間上產(chǎn)生了巨大的差異,因?yàn)樗鼫p少了加載的指令數(shù)量。正如您在以下示例中看到的,一個(gè)簡單的操作在 JVM 上加載四條指令,而在 TCVM 上運(yùn)行時(shí)只加載一條指令。

除了TCVM之外,還基于統(tǒng)計(jì)研究創(chuàng)建了一個(gè)稱為TotalCross字節(jié)碼的優(yōu)化字節(jié)碼,以確定對性能影響最大的最常用的函數(shù)。除了這些函數(shù)減少指令數(shù)量的壓力外,這種優(yōu)化的字節(jié)碼還確保了低占用空間,因?yàn)樗褂昧艘粋€(gè)名為 Nano Java 的 Java 子集,該子集只有 86 個(gè)包和 1184 個(gè)類(完整 Java 的 1/4)。

TotalCross不使用所有的Java架構(gòu),而只使用嵌入式應(yīng)用程序開發(fā)所需的架構(gòu)。所有這些特性為嵌入式系統(tǒng)提供了5MB的占用空間和高性能。

結(jié)論

在嵌入式系統(tǒng)上使用Java的優(yōu)點(diǎn)多于缺點(diǎn),特別是因?yàn)榇a的質(zhì)量和已經(jīng)能夠使用Java編程的大量人員。將Java社區(qū)納入嵌入式系統(tǒng)領(lǐng)域尤為重要,因?yàn)樗蔷幊淌澜缰械牡谌笊鐓^(qū)。但是,正如我們所看到的,足跡和性能會影響項(xiàng)目結(jié)果。因此,建議使用能夠打破這些障礙的替代方案,例如TotalCross框架。有了它,可以享受Java的所有優(yōu)點(diǎn),并且仍然保證嵌入式系統(tǒng)的低占用空間和高性能。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317591
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109727
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    區(qū)別 單片機(jī)嵌入式系統(tǒng)和Linux嵌入式系統(tǒng)是兩種不同的嵌入式系統(tǒng)開發(fā)方式,它們在應(yīng)用領(lǐng)域、開
    發(fā)表于 06-20 09:46

    嵌入式開發(fā),如何選擇適合的系統(tǒng)?

    嵌入式ARM開發(fā)中,面對多種操作系統(tǒng)的選擇,如何做出最適合項(xiàng)目的決策?本文將為您梳理常見系統(tǒng)的特性,幫助您快速了解它們的優(yōu)缺點(diǎn),以便更好地選擇適合的
    的頭像 發(fā)表于 05-20 11:32 ?398次閱讀
    <b class='flag-5'>嵌入式</b>開發(fā),如何選擇適合的<b class='flag-5'>系統(tǒng)</b>?

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    隨著物聯(lián)網(wǎng)、智能硬件的發(fā)展,嵌入式開發(fā)成為熱門技能之一。以下將為初學(xué)者提供一份詳細(xì)的嵌入式開發(fā)入門指南,涵蓋學(xué)習(xí)路徑、必備工具、推薦資源等內(nèi)容。 1. 嵌入式系統(tǒng)的定義與應(yīng)用
    發(fā)表于 05-15 09:29

    嵌入式系統(tǒng)開發(fā)圣經(jīng)【干貨】

    內(nèi)容包括:嵌入式系統(tǒng)的介紹、嵌入式SoC硬件系統(tǒng)概論、嵌入式系統(tǒng)軟件開發(fā)。適
    發(fā)表于 03-12 13:58

    嵌入式系統(tǒng)中使用EEPROM的優(yōu)缺點(diǎn)

    同時(shí)也存在一些局限性。以下是EEPROM在嵌入式系統(tǒng)中使用的優(yōu)缺點(diǎn)分析: 優(yōu)點(diǎn) 非易失性存儲 : EEPROM中的數(shù)據(jù)在斷電后仍然保持不變,這對于需要長期保存配置信息、校準(zhǔn)數(shù)據(jù)等的應(yīng)用
    的頭像 發(fā)表于 12-16 16:57 ?943次閱讀

    新手怎么學(xué)嵌入式?

    。但面對這個(gè)復(fù)雜的領(lǐng)域,很多人可能會感到迷茫,不知從何處入手。別擔(dān)心,本文將為你提供一些入門學(xué)習(xí)嵌入式技術(shù)的建議。 新手入門學(xué)習(xí)嵌入式技術(shù)的途徑 1. 了解基礎(chǔ)知識 首先,要對嵌入式系統(tǒng)
    發(fā)表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指將人工智能技術(shù)應(yīng)用于嵌入式系統(tǒng)中的一種技術(shù)。嵌入式系統(tǒng)
    的頭像 發(fā)表于 12-11 09:23 ?1004次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?966次閱讀

    【「嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)」閱讀體驗(yàn)】+ 學(xué)習(xí)一個(gè)STM32的案例

    感謝電子發(fā)燒友論壇和電子工業(yè)出版社的贈書。 在[上一篇帖子](【新提醒】【「嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)」閱讀體驗(yàn)】+ 初步印象 - 社區(qū)活動專版 - 電子技術(shù)論壇 - 廣受歡迎的專業(yè)電子論壇!)中介紹了
    發(fā)表于 12-06 22:22

    mmc卡在嵌入式系統(tǒng)中的使用

    。多媒體卡(MultiMediaCard,簡稱MMC)作為一種小型、高性能、低成本的存儲解決方案,被廣泛應(yīng)用于嵌入式系統(tǒng)中。 1. MMC卡的工作原理 MMC卡是一種基于閃存技術(shù)的存儲卡,最初由西門子和東芝共同開發(fā)。它遵循SD卡
    的頭像 發(fā)表于 11-25 09:58 ?1182次閱讀

    嵌入式系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合

    。這兩者的結(jié)合,為智能設(shè)備和智能系統(tǒng)的發(fā)展提供了強(qiáng)大的動力。 一、嵌入式系統(tǒng)與物聯(lián)網(wǎng)的基本概念 嵌入式系統(tǒng)
    的頭像 發(fā)表于 11-06 10:23 ?1111次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運(yùn)行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計(jì)算機(jī)的硬件和軟件
    的頭像 發(fā)表于 10-16 10:14 ?2609次閱讀

    嵌入式系統(tǒng)的原理和應(yīng)用

    嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),其設(shè)計(jì)初衷是執(zhí)行特定任務(wù),而非作為通用計(jì)算機(jī)使用。這類系統(tǒng)通常作為更大系統(tǒng)的一部分,起到控制、監(jiān)控或輔助的
    的頭像 發(fā)表于 10-05 17:03 ?2208次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計(jì)算機(jī)硬件,其設(shè)計(jì)旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。
    的頭像 發(fā)表于 09-30 10:05 ?1618次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    嵌入式系統(tǒng)是指將我們的操作系統(tǒng)和功能軟件集成于計(jì)算機(jī)硬件系統(tǒng)之中,形成一個(gè)專用的計(jì)算機(jī)系統(tǒng)。那么嵌入式
    發(fā)表于 09-12 15:42