APP下载

Java编程语言在嵌入式系统开发中优缺点分析

2020-12-30李志钦郭云飞桑园

网络安全技术与应用 2020年11期
关键词:跨平台编程语言C语言

◆李志钦 郭云飞 桑园

安全模型、算法与编程

Java编程语言在嵌入式系统开发中优缺点分析

◆李志钦 郭云飞 桑园

(郑州西亚斯学院电子信息工程学院 河南 451150)

随着科技的发展及5G时代的到来,当代社会正从互联网时代向物联网时代发展。如果说互联网是把人作为连接和服务对象,那么物联网就是将信息网络连接和服务的对象从人扩展到物,以实现“万物互联”。物联网是以嵌入式系统为中心,而Java编程语言在嵌入式系统的开发中占据一席之地,对此,本文主要介绍嵌入式系统,探讨Java编程语言在嵌入式系统开发中的优点和一些不足之处。方便人们更加清楚的了解Java编程语言在嵌入式系统开发中的作用,以便更好推动物联网技术的发展。

Java;嵌入式开发;优缺点;应用

近年来,物联网技术在智能家居、自动驾驶、智慧医疗,智能工业控制系统等领域快速发展,嵌入式开发也得到越来越多的研究和应用。嵌入式系统的开发与PC系统的开发不同,嵌入式系统的开发要依据客户的不同要求和硬件实际情况对系统功能,成本,功耗等要做更加详细的开发,因此,加深对Java编程语言在嵌入式系统开发中的研究,是嵌入式系统的开发过程中必须经历的环节。

1 嵌入式系统简介

目前,嵌入式系统已经是一种应用非常广泛的系统,它已经出现在很多场合,例如智能硬件,通讯器材,自动驾驶汽车,医疗设备,无人机等都有嵌入式系统的身影。一般说的嵌入式系统包含硬件和软件,软件用来控制硬件,硬件用来支撑软件运行。通常嵌入式系统可以理解为一种专用的微型计算机系统,它作为设备的一部分,协助设备完成一些特定的任务,其中的操作系统和应用程序都可以固化在ROM中。不过随着硬件性能的不断升级和编程技术的发展,嵌入式系统应用在原来的基础上有很大的改善,这时的嵌入式系统已经具备了文件和目录管理、设备管理、多任务、图形化管理界面等功能。现在是面向Internet的阶段,对嵌入式系统提出来更高的要求,汇编语言虽然在硬件上有紧密的联系,但是很难开发和维护,也不利于移植,而Java编程语言在系统的开发及维护方面则非常方便,它的JVM虚拟机可以让嵌入式系统跨平台运行,因此,Java编程语言非常符合嵌入式系统开发的需求。

2 Java编程语言在嵌入式系统开发中的优势

2.1 Java编程语言可以提高开发效率和可维护性

Java编程语言是一种面向对象的编程语言。Java编程语言中的各个类按规则被组织成一个复杂的数据结构,在这种结构中,一个子类能够继承其超类(父类)允许继承的行为,并可用子类所具备的一些特有功能来扩展其超类的功能;同时Java编程语言作为面向对象的编程语言,程序设计者在嵌入式系统开发中可以利用和更改已有的类库来完成开发[1],这使得用Java编程语言进行嵌入式开发的效率和可维护性大大提高。

2.2 Java编程语言的代码利用率高

由于嵌入式系统往往有着特殊的需求,需要不同硬件进行协同工作,所以一般情况下在嵌入式系统开发的过程中,针对不同硬件所需要的不同或类似的嵌入式系统,程序设计者要对嵌入式系统进行重新开发,而由于Java编程语言具有强大的跨平台性,其“一次编写,到处运行”的特点使其十分适合在硬件与平台差异较大的嵌入式系统上进行运行,不仅可以大大减少开发所需的工作量,同时也可以保证所开发产品的运行在复杂应用环境中。JVM虚拟机使得一个模块可以只要做很少的工作就可以适应多个项目和硬件平台,甚至包括在编写一个新的目标板时,采用新的硬件(CPU或外设)和软件都可以进行移植。

2.3 Java编程语言具有很好的安全性

网络环境存在着各种各样的潜在威胁,所以安全性对于嵌入式系统开发来说就变得异常重要。Java编程语言具有多个层次的安全防护措施,可以阻挡病毒与其他的入侵行为,以避免造成嵌入式系统内的不稳定[2],并且Java编程语言本身所具有的安全模型为了使用户避免受到通过网络下载的来自非可信任源的恶意程序的破坏,提供了一种可定制的“沙箱(sandbox)”,而用Java编程语言所编写的嵌入式系统就在这个沙箱中运行。嵌入式系统可以在沙箱内做任何事,而在沙箱外则什么也不能做。基于上述原理,用Java编程语言进行嵌入式系统开发的产品安全性大大提高。

3 Java编程语言在嵌入式系统开发中的缺点及解决办法

3.1 响应速度慢

Java编程语言的字节码文件的执行是通过JVM虚拟机来运行的,而JVM虚拟机基本是用C语言、C++语言等编程语言实现的,所以与C语言、C++语言等语言所编写的程序相比,Java编程语言的字节码文件执行多了一个中间层(JVM虚拟机),这使得在相同条件下Java编程语言所编写的程序在响应速度比C语言及C++语言所编写的程序慢了许多。对一些并非受制于CPU的嵌入系统来说,这一性能缺点不是问题,但是经常过长的响应时间会导致系统产生用户无法接受的延时应答。

3.2 JVM虚拟机的内存开销过大

JVM虚拟机的存在使得Java语言具有了强大的跨平台特性,但同时其又需要占用一定的储存空间。而嵌入式系统的内存资源异常宝贵,并且为了实现Java编程语言的可移植性,必须对JVM进行完整的采纳,这就造成了Java编程语言所开发的嵌入式系统需要大量内存空间。

3.3 缺乏直接硬件接口能力

Java编程语言缺乏直接同硬件接口的能力。JVM虚拟机本身是一个虚拟的环境,是一个对硬件的软件抽象,虚拟机控制与实际硬件的接口,而数据的流通只能和虚拟机打交道,不能直接操作硬件,但嵌入式开发所开发出的产品基本上都需要与硬件进行频繁的交流,这就使Java在嵌入式开发中形成了缺乏直接硬件接口的缺点。

3.4 解决方案

为解决上述问题,系统设计者在设计系统时根据用户实际需求,可以采用下述方案:

第一,系统设计者可以采用性能更加强大的处理器,把系统的响应时间缩短到用户可以接受的范围内,或是在系统上并入JIT编译器(即时编辑器),让JIT编译器通过在运行时将字节码编译为本机代码来帮助提高Java程序的性能。

第二,系统设计者可以针对硬件平台进行改进,以增大内存容量或是对系统代码进行优化,在不影响系统功能的前提下缩减或优化系统代码,以此来弥补Java在嵌入式开发中JVM内存开销过大的问题。

第三,系统设计者通过内嵌C语言程序来提高本身硬件接口能力[3]。使用C语言来编写需要直接访问硬件的代码,即,在调用C代码时装入与JVM虚拟机同样的内存空间,运行于同样的环境,因为它们被编译成机器码,系统能够运行更快并能直接访问硬件,从而实现Java编程语言对硬件的访问的功能。

4 结语

5G的发展促使物联网的应用面不断扩大,传统嵌入式系统已经满足不了当代社会的需求,而Java编程语言对嵌入式系统的开发是一个有力的补充。虽然Java编程语言在嵌入式系统的开发中有缺点,但是Java编程语言的兼容性、安全性,跨平台性等优点对于嵌入式系统开发的促进作用远远大于其缺点。所以,我们应更加大力发展Java编程语言在嵌入式系统中的开发。

[1]田智.Java在嵌入式系统中的应用与实现[J].无线互联科技,2015(19):91-92.

[2]薛慧君.基于Java技术在嵌入式系统中的作用探讨[J].黑龙江科技信息,2017(03):184.

[3]袁蓟滨.浅析Java技术在嵌入式系统中的作用[J].电脑迷,2017(08):79.

猜你喜欢

跨平台编程语言C语言
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
一款游戏怎么挣到全平台的钱?
基于Visual Studio Code的C语言程序设计实践教学探索
计算机软件开发的JAVA编程语言及其实际应用分析
51单片机C语言入门方法
软件开发中JAVA编程的应用探究
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
基于C++语言的跨平台软件开发的设计