java吗?想先学习学习!


鸿蒙系统本身应该是汇编、C、C++之类的。鸿蒙上运行的应用应该还是支持java的,但是鸿蒙大概率主推别的高级语言的SDK,因为java写的应用运行效率会跟安卓一样,达不到鸿蒙提高系统流畅度的要求。


系统。。。至少内核肯定是C啦,应用肯定是支持多种语言。


操作系统从运行效率 和 可控性来看是要用C语言。 解释性语言,比如python、PHP就不大可能的。Java 也不太可能,一方面运行效率不如C语言,另外不可控:在内存方面,C语言内存申请和释放都很实时,不像Java 语言内存释放 要等GC。在操作系统层面,内存申请和释放是很频繁的,不能用GC定时释放,万一来不及释放 就OOM了,另外的万一发生full GC 那就更糟糕了,操作系统底层指令运行稍微一抖动,应用程序的执行性能就震了三震。


系统不会是由java写的,而且鸿蒙的原生应用相当大的概率也不会是由Java写的。


中文。


一个操作系统是涉及多门开发语言组合而成的,并非如此简简单单的一门语言,java也只是其中的一门语言。

鸿蒙、安卓、IOS的共同祖先是UNIX,而UNIX是C语言开发的,「鸿蒙」操作系统必然是C语言编写的。「鸿蒙」操作系统提供给应用开发商的开发工具很可能是Java,下文具体说一说。

「鸿蒙」操作系统的组成

华为的「鸿蒙」操作系统由四部分部分组成:Linux内核+麒麟处理器的运行库+编译器+虚拟机。

Linux内核:Linux内核是开源的,由linux内核团队维护,而linux的内核采用了C语言,而不是很多认为的C++,C语言的执行效率要远高于面向对象的编程语言C++。

运行库:运行库在Linux基础上,针对不同的处理器,运行库需要进行适配。比如麒麟处理器指令集和高通处理器的指令集可能存在差异,不是完全相同,那么就存在一个适配的问题,而程序库通常情况下采用C语言编写。

虚拟机:虚拟机用于沟通操作系统和硬体,是两者之间的桥梁,屏蔽了不同系统之间的差异性,可以实现跨平台,同时很大程度上降低了应用开发难度。目前,普遍使用的虚拟机是Java虚拟机。

编译器:编译器将Java编写的代码转换成虚拟机机器码或者硬体可以直接认识的机器码。华为的方舟编译器实现了代码的静态编译,相比传统安卓应用流畅度提升了60%

「鸿蒙」和安卓的差异

鸿蒙操作系统兼容安卓应用,那么「鸿蒙」操作系统和安卓有什么区别呢?

1,架构不同

鸿蒙操作系统是微内核设计,而安卓系统是基于linux的宏内核设计,相比来说,微内核开发难度大,但是系统稳定性高。

宏内核,内核包含了操作系统绝大多数的功能,而且这些功能和模块具有最高的许可权,好处是系统开发难度低,但是各模块具有最高许可权,一个模块出错,整个系统崩溃,这也是安卓系统容易崩溃的原因。

微内核,内核仅包括了操作系统必要的功能模块(任务管理、内存分配等),其他模块不具有最高许可权,系统稳定性得到了提升。

2,跨平台支持

鸿蒙操作系统同时支持手机、电脑、智能穿戴设备、智能家居,形成一个无缝的、统一的操作系统,并且兼容所有的安卓应用。这个操作系统与谷歌正在研发的Fuchsia思路一致,是为5G和物联网时代准备的,华为的「鸿蒙」操作系统提前发布,可能给华为一个反客为主的机会,按照余承东的说法「塞翁失马,焉知非福」。

总之,华为的「鸿蒙」操作系统,底层(Linux内核、运行库)是用C语言编写的,虚拟机可能采用了C或者C++语言;面向应用开发商的开发环境很可能是Java语言。


已确认,是java


标记,等更。


推荐阅读:
相关文章