蓉杠学习网

j***a是底层语言,j***a是底层语言吗

大家好,今天小编关注到一个比较意思的话题,就是关于java底层语言问题,于是小编就整理了2个相关介绍Java是底层语言的解答,让我们一起看看吧。

  1. c语言算底层语言吗?
  2. 为什么安卓不去掉Java语言底层?

c语言算底层语言吗?

C语言是高级言中的底层语言,它有下面几个特点

1. C语言是一个静态类型语言,在使用变量时需要声明变量类型,但是类型间可以有隐式转换

java是底层语言,java是底层语言吗div>
图片来源网络,侵删)

2. 不同的变量类型可以用结构体(struct)组合在一起,以此来声明新的数据类型;

3. C语言可以用 typedef 关键字定义类型的别名,以此来达到变量类型的抽象

4. C语言是一个有结构化程序设计、具有变量作用域以及递归功能过程式语言;

java是底层语言,java是底层语言吗
(图片来源网络,侵删)

5. C语言传递参数一般是以值传递,也可以传递指针

6. 通过指针,C语言可以容易地对内存进行低级控制,然而这引入非常大的编程复杂度;

7. 预处理让C语言的编译更具有弹性,比如跨平台

java是底层语言,java是底层语言吗
(图片来源网络,侵删)

C语言的这些特性,可以让程序员在微观层面写出非常精细和精确的编程操作,让程序员可以在底层和系统细节上非常自由、灵活和精准地控制代码。然而,在代码组织和功能编程上,C语言的上述特性,却不那么美妙了。

汇编都是指令,它效率最高,跟底层硬件的接触最为密切,但是比较晦涩,对开发者要求较高,然后有了c c+,进一步包装了很多指令,因为就不用考虑太多跟底层硬件接触的知识了,现如今嵌入式应该是这些语言的根据地了,现在很多需要已经不用考虑你对计算机基础入门都比较简单,因此导致了程序员的门槛大大降低,学习成本降低,开发速度更快,但是他们永远的无法代替,比较j***a的jvn,涉及的底层内存清理等跟硬件接触的地方都是这些底层的需要写的,它只是调用这些接口方法实现

什么安卓去掉J***a语言底层?

这就是历史的选择,当年Android为了拉拢更多的开发者建立生态选择了J***a语言,现在全套API和设计以及生态都在这个环境下,即使把J***a语言换成Kotlin兼容这么高的操作,要普及所有app可能还要几年,更别说另起炉灶把现在的开发者全部抛弃掉。

此外,我认为Android出现“卡”的问题,一方面是UI层面对物理模拟的高性能API提供不足,导致很多效果动画需要开发者自己实现。另一方面是开发者不按标准开发程序,都想在后台占用CPU导致的。从绝对性能来看,Android机型的CPU性能也是不如同时期iOS设备的。

而题主认为去掉J***a的整套Runtime就能提高性能我认为也是不成立或是弊大于利的。从软件优化角度来讲,这套VM[_a***_]环境性能也没有想象的弱,在Server级别,现在普通开发者开发的J***a程序不考虑内存占用的话,不一定比水平一般cpp开发者写的程序性能弱,对于GC算法,目前也有低延迟的算法可供提供和推广。目前Android设备普遍内存较大,对VM可能多占用的内存也有很好的补充。

退一万步说,程序中真的存在某一块计算密集型的程序造成的热点且在J***a层面不可能优化的话,开发者也可以提供native的高性能模块供J***a层调用。事实上,考虑到增加反编译的门槛和难度以及跨平台的复用性,目前很多App的核心模块都是native实现,您可以随便解包一个apk软件,您可以发现大多数App都提供了跨多个CPU的so库,这些库模块就是开发者针对该App的native代码编译后的结果(这些文件类似于Windows上的dll文件)。

到此,以上就是小编对于j***a是底层语言的问题就介绍到这了,希望介绍关于j***a是底层语言的2点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.rongung.com/post/33879.html

分享:
扫描分享到社交APP