大家好,今天小编关注到一个比较有意思的话题,就是关于andriod也是java语言么的问题,于是小编就整理了2个相关介绍andriod也是Java语言么的解答,让我们一起看看吧。
为什么android开发使用J***a而不是C++?
劣币驱良币
最适合机器的语言肯定是C,最难学的语言除了机器语言0101010就是C了。
J***a简单,上手容易,可以跨平台,已经形成了庞大的规模。
首先我要说的就是J***a不是一个很好的安卓开发语言,C++比J***a更合适。安卓的卡顿J***a不是主要问题也脱不了关系。那为什么还用J***a呢?
主要是技术实力与时间不足,安卓一开始不是谷歌的,而是一位叫安迪罗宾的人创建的安卓公司开发的,公司名就是安卓,2005年被谷歌收购,才成为谷歌的产品!
技术方面,回到安卓创建的2003年,这时候安迪罗宾根本没实力修改C语言的编译器使编译器编织出符合安卓系统的代码,难度跟开发一门编程语言差不多,而J***a则没有这个问题,因为J***a是运行时语言,只要移植J***a虚拟机过去就可以了,编译器什么的根本不需要修改,只要确定虚拟机能运行那J***a的代码就能运行,这个可比修改C语言编译器简单多了,本身J***a虚拟机就有linux版本,而安卓底层也是linux,不论从技术还是时间上对当时的安迪罗宾J***a都是最合适的。
不要说什么c太难受众太少,这不是问题,苹果的ios用的就是c,oc就是c的一个超集,语法比c更复杂。
简单总结就是安卓当初是一个小公司创建的,技术实力不行,只想用市面可用的技术整合出一个来赚钱而已,当时2003年的竞争对手是瞄准诺基亚塞班系统,这个公司原本打算弄好后卖给三星公司,因为三星当时是仅次于诺基亚的手机制造商,但是三星看不上。后来2005年卖给了谷歌,2007年苹果ios出现了***到安卓团队,又改为支持触屏系统与ios竞争。最开始的安卓系统是按键的,即使后来来到了有钱又技术的谷歌手上,但是之前的系统框架已经是基于J***a写的应用写的,谷歌不可能全改掉,只能不断在这基础上改进,不然全改了还花钱买什么直接自己做一个好了。
有人说效率问题。效率有两个:开发效率、运行效率。在早期计算机时代,计算能力不足,因此注重运行效率。最早用机器码,后来汇编,c语言等。到了8,90年代计算机运算能力大爆发,逐渐诞生很多更加高级的语言,让程序员可以更有效率地进行开发。很显然在应用到开发效率上,j***a完胜。当然在有些注重运行效率环节,还会用c甚至汇编。
为什么Android开发使用J***a而不是C++? 选择J***a肯定是google经过深思熟虑的抉择,先说能确定的优势, J***a有跨平台优势,手机的硬件可能千差万别,J***a软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。 J***a有大量人员优势,几乎不用重复学习就能...河南新华电脑学院
因为是开源环境,容错性就非常重要,翻译这个例子举得很好,C++的使用环境更像是本国人交流不需要翻译,开源环境决定了安卓注定是一个多边交流的环境,只用一套规范严谨的语言不现实,也不可取。
安卓为什么用J***a语言不用C语言?
我做移动互联开发多年,也做过不少大大小小的Android项目,所以我来回答一下这个问题。
众所周知,Google选择了J***a语言作为Android平台的开发语言,而且并没有使用Oracle公司的JVM,而是自己写了独立的编译器(DVM)。而且DVM与JVM的区别还是比较明显的,JVM是基于栈的,而DVM是基于寄存器的,所以从速度上来说,DVM理论上要更快一些。另外,JVM执行的是class文件,而DVM执行的是dex文件,这就说明JVM与DVM在执行的字节码方面也是不同的。
从这些区别上来看,Google对J***a的改造还是比较大的,只是在语法上保留了J***a语言的规则。在我看来,Google为安卓平台选择J***a语言有以下几个方面的原因:
第一,J***a语言有较为广泛的程序员基础。由于目前J***a语言的应用十分广泛,所以使用J***a语言能迅速建立庞大的开发群体。
第二,J***a语言的生态比较健全。Android平台的功能越来越强大,这就需要有一个能与之匹配的编程语言,而编程语言自身的生态就显得比较重要的,而J***a语言的生态环境是比较健全的。
目前我们在实际的开发过程中发现,用J***a语言的Android平台在某些[_a***_]指标上,明显要优于iOS平台。比如大列表的装载问题,Android平台是没有问题的,但是同样的操作在iOS系统下就会出现崩溃的问题。
我的研究方向是大数据和人工智能,目前也在带大数据方向的研究生,我会陆续在头条上写一些关于大数据方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有软件开发方面的问题,或者是考研方面的问题,也可以咨询我。
谢谢!
到此,以上就是小编对于andriod也是j***a语言么的问题就介绍到这了,希望介绍关于andriod也是j***a语言么的2点解答对大家有用。