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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

建議用于超過 5 個屏幕的 GUI 項目;

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

單純;

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

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

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

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

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

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

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

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

Java非常冗長;

它復雜而龐大(217 個包,4240 個類);

性能低。

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

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

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

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

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

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

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

結論

在嵌入式系統(tǒng)上使用Java的優(yōu)點多于缺點,特別是因為代碼的質(zhì)量和已經(jīng)能夠使用Java編程的大量人員。將Java社區(qū)納入嵌入式系統(tǒng)領域尤為重要,因為它是編程世界中的第三大社區(qū)。但是,正如我們所看到的,足跡和性能會影響項目結果。因此,建議使用能夠打破這些障礙的替代方案,例如TotalCross框架。有了它,可以享受Java的所有優(yōu)點,并且仍然保證嵌入式系統(tǒng)的低占用空間和高性能。

審核編輯:郭婷

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

    關注

    5200

    文章

    20478

    瀏覽量

    334506
  • JAVA
    +關注

    關注

    20

    文章

    3002

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    知識分享-嵌入式系統(tǒng)可靠性模型

    嵌入式系統(tǒng)可靠性設計技術及案例解析1.3嵌入式系統(tǒng)可靠性模型嵌入式系統(tǒng)可靠性模型分為兩種:串聯(lián)結
    的頭像 發(fā)表于 03-11 16:43 ?112次閱讀
    知識分享-<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>可靠性模型

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

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

    什么是嵌入式應用開發(fā)?

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

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

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

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

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

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

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

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

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

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

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

    嵌入式實時操作系統(tǒng)的特點

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

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

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

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

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

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

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

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

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

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

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

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

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