91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

使用 Java 為嵌入式設(shè)備開(kāi)發(fā)應(yīng)用程序,除了最好的語(yǔ)言質(zhì)量外,還可以保證減少用于項(xiàng)目創(chuàng)建的時(shí)間和成本,這要?dú)w功于用途的多樣性和現(xiàn)有的支持。那么,讓我們看看為什么應(yīng)該將 Java 用于嵌入式系統(tǒng)的其他一些原因:

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

推薦用于超過(guò) 5 個(gè)屏幕的 GUI 項(xiàng)目;

從第一個(gè)版本開(kāi)始就很堅(jiān)固(感謝包概念、設(shè)計(jì)模式和 SOLID 原則);

簡(jiǎn)單;

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

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

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

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

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

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

在嵌入式系統(tǒng)中使用 Java 的缺點(diǎn)

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

Java 相當(dāng)冗長(zhǎng)。

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

性能低下。

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

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

適用于嵌入式系統(tǒng)的低占用空間和高性能

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

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

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

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

結(jié)論

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

審核編輯:郭婷

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

    關(guān)注

    5198

    文章

    20449

    瀏覽量

    334114
  • AI
    AI
    +關(guān)注

    關(guān)注

    91

    文章

    39793

    瀏覽量

    301454
  • IOT
    IOT
    +關(guān)注

    關(guān)注

    190

    文章

    4395

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32開(kāi)發(fā)中的五大嵌入式系統(tǒng)

    。 優(yōu)點(diǎn): 1.開(kāi)源免費(fèi):eCos是開(kāi)源的,可以免費(fèi)獲取并在商業(yè)項(xiàng)目中使用,有助于降低項(xiàng)目的開(kāi)發(fā)成本。 2.小巧高效:Cos的內(nèi)核設(shè)計(jì)精簡(jiǎn)高效,占用資源較少,適用于資源受限的嵌入式系統(tǒng)
    發(fā)表于 01-21 10:48

    什么是嵌入式應(yīng)用開(kāi)發(fā)?

    、實(shí)現(xiàn)和部署,還包括硬件選擇、軟件設(shè)計(jì)、測(cè)試、集成和維護(hù)等流程?。 定義和背景 嵌入式應(yīng)用開(kāi)發(fā)是指將軟件部署到嵌入式系統(tǒng)中,這些系統(tǒng)廣泛應(yīng)用于
    發(fā)表于 01-12 16:13

    arm嵌入式主板優(yōu)缺點(diǎn)

    Windows CE、Linux等主流的嵌入式操作系統(tǒng)。   ARM的優(yōu)點(diǎn)   一、高可靠性、高穩(wěn)定性:在工業(yè)控制領(lǐng)域,性能穩(wěn)定可靠是自動(dòng)控制基本的要求,ARM嵌入式主板有著很特殊
    發(fā)表于 01-08 07:08

    什么是嵌入式操作系統(tǒng)?

    要理解嵌入式操作系統(tǒng)(Embedded Operating System,簡(jiǎn)稱 RTOS/EOS),我們可以從本質(zhì)定義→核心區(qū)別→實(shí)際作用→典型特征→嵌入式開(kāi)發(fā)場(chǎng)景適配,五個(gè)維度來(lái)拆解, 一
    發(fā)表于 12-09 10:33

    嵌入式與FPGA的區(qū)別

    ,一是嵌入式軟件開(kāi)發(fā),主要與嵌入式cao作系統(tǒng)、應(yīng)用軟件等有關(guān)。第二是嵌入式硬件開(kāi)發(fā),需要掌握硬件設(shè)計(jì)、模擬仿真、 PCB設(shè)計(jì)等技能。 ?2、FPGA:它是在PAL、GAL、CPLD等
    發(fā)表于 11-20 07:12

    嵌入式和FPGA的區(qū)別

    開(kāi)發(fā)中做出更明智的技術(shù)選擇。 基本概念解析 嵌入式系統(tǒng)(Embedded System)是一種專用計(jì)算機(jī)系統(tǒng),通常包含微處理器/微控制器、存儲(chǔ)器和專用外圍設(shè)備,被設(shè)計(jì)用于執(zhí)行特定功
    發(fā)表于 11-19 06:55

    嵌入式系統(tǒng)的定義和應(yīng)用領(lǐng)域

    嵌入式系統(tǒng),簡(jiǎn)而言之,就是一種專為特定設(shè)備或裝置設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)。它們通常配備一個(gè)嵌入式處理器,其控制程序被存儲(chǔ)在ROM中。這些系統(tǒng)在許多日
    發(fā)表于 11-17 06:49

    嵌入式實(shí)時(shí)操作系統(tǒng)的特點(diǎn)

    實(shí)時(shí)嵌入式操作系統(tǒng)(Real-Time Embedded Operating System)是專門設(shè)計(jì)用于嵌入式系統(tǒng)的實(shí)時(shí)操作
    發(fā)表于 11-13 06:30

    Java 在物聯(lián)網(wǎng)與嵌入式系統(tǒng)中的應(yīng)用前景與挑戰(zhàn)

    的生態(tài)系統(tǒng)和強(qiáng)大的社區(qū)支持,Java 在智能家居、工業(yè)控制、可穿戴設(shè)備等場(chǎng)景中展現(xiàn)出獨(dú)特優(yōu)勢(shì)。本文將探討 Java嵌入式與物聯(lián)網(wǎng)中的應(yīng)用價(jià)值、技術(shù)特點(diǎn)以及未來(lái)發(fā)展趨勢(shì)。 一、
    的頭像 發(fā)表于 09-04 14:49 ?991次閱讀

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

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

    運(yùn)行在嵌入式系統(tǒng)上的emApps

    在當(dāng)今快節(jié)奏的嵌入式系統(tǒng)世界中,靈活性和適應(yīng)性是嵌入式系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。SEGGER推出了其最新創(chuàng)新:Embedded apps(emApps)應(yīng)用,類似于手機(jī)上的應(yīng)用程序,可以運(yùn)行在
    的頭像 發(fā)表于 06-18 09:53 ?874次閱讀
    運(yùn)行在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>上的emApps

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

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

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

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

    Python在嵌入式系統(tǒng)中的應(yīng)用場(chǎng)景

    你想把你的職業(yè)生涯提升到一個(gè)新的水平?Python在嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開(kāi)發(fā)更多地依賴于C和C++語(yǔ)言,Python的優(yōu)勢(shì)在于其簡(jiǎn)潔的語(yǔ)法、豐富的庫(kù)和快速的開(kāi)發(fā)周期,這使得它在某些
    的頭像 發(fā)表于 03-19 14:10 ?1500次閱讀

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

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