大家好,今天小编关注到一个比较有意思的话题,就是关于没有java语言的问题,于是小编就整理了3个相关介绍没有Java语言的解答,让我们一起看看吧。
不安装jdk,只安装eclipse,可以开发JAVA程序吗?二者是什么关系?
不安装jdk,只安装eclipse是可以开发j***a程序的。因为eclipse中是集成了jre,也就是j***a语言的运行环境的,没有安装jdk,是会影响查看j***a的源代码。
所以两者的关系不是依赖的,但安装了jdk可以更好的开发,查看源代码。
为什么没有C语言的虚拟机?
从语言来说,C是平台无关的~用虚拟机的方式解释运行C是没有问题的。但是C的创建目标就是系统语言,就是为了在充分发挥硬件性能和容易编写之间取得好的效果,所以C的结果就是编译成最底层的cpu指令以最快的速度运行
方舟编译器是将j***a代码像c++静态编译,那么为什么安卓当时一开始为啥不用C++?
我想先说明一下,其实安卓一开始就是支持c++的。
谷歌提供给开发者的常见工具叫android sdk(Software Development Kit软件开发工具包),这个主要是使用J***a(现在添加了对kotlin的支持)。同时还提供了另一套开发工具ndk(native development kit),这个是支持开发者使用c/c++进行应用开发的。
也就是说谷歌一直支持开发商使用多种语言开发安卓应用,但是有个现实的问题是J***a程序员多而且便宜,c/c++程序员少而且贵,J***a代码更好生产和维护,所以更多的应用开发商会选择J***a。
而且在方舟编译器之前,安卓运行时已经支持预编译AOT(Ahead Of Time)。工作方式是在应用安装的过程中,将dalvik字节码转换成Arm本地指令集。但APK在运行时,还是需要依赖虚拟机。
方舟的这个编译器,将转换过程提前到生产过程,这个应该能够带来巨大的性能提升。毕竟电脑的CPU和手机cpu性能不是一个档次,而且编译过程对速度不敏感,安装过程则对速度极度敏感,编译过程可以进行更深度的优化。另一个是完全抛弃了虚拟机,理论上也会带来性能的巨大提升。
这里要追溯到unix了。相比苹果的IOS操作系统,安卓操作系统提供了对J***A的支持。而苹果的IOS是重写了unix,IOS设计之初,就提供了对C或这类C如OBJECT C等语言的支持。而J***A是运行在J***A虚拟机基础上的,其垃圾回收机制是要牺牲部分性能的。所以,从安卓架构之初,性能上就存在缺陷(相比IOS哈)。
不知我的回答是否令你满意?
而开发者这边,选用的是J***a。
不选C++的原因是,J***a比C++容易多了,考虑到开发者的压力,所以选择了J***a作为开发语言。
后来因J***a不够简洁,而又弄了一个新的开发语言Kotlin。
因为C++跨平台性不如J***a好。C++有时候编译依赖动态链接库,而动态链接库实际上是随系统环境决定的,所以很多时候会出现动态链接库不存在或者版本不正确的问题,如果这个问题放在手机上,就需要所有的设备都更新到开发者使用平台以后的版本才行,也就是不向前兼容,虽然在安装上面可能有好处,但是大大提高了安装失败的几率,对于移动app来说,并不方便,也不可行,所以才***用建立在JVM上面的J***a,使用JVM来摆脱对底层的依赖。
到此,以上就是小编对于没有J***a语言的问题就介绍到这了,希望介绍关于没有J***a语言的3点解答对大家有用。