android开发用什么软件,Android开发常用工具
为什么Android开发使用Java而不是C ?
文/小伊评科技结论:如果谷歌用C 作为安卓开发语言,安卓早就挂了。安卓系统卡顿的根源估计很多人都比较清楚了,最根本最核心的原因就是因为其应用层采用的是Java语言。因为Java是一个跨平台的语言,为了保证跨平台的兼容性,它内置的有Java虚拟机,这个虚拟机的作用就是把应用层的指令解释为机器语言,然后推动硬件去处理,使用者只需要根据平台的不同配置相应的JDK即可,这也就保证了Java的跨平台特性。
但是正所谓有得必有失,也正是由于虚拟机的存在,用户的指令无法直接经过编译后成为机器码,还需要经过虚拟机的解释才可以,这也就导致了其执行效率是比较低的。而反观C ,作为一个偏底层的开发语言,他的指令经过编译后可以直接转化为机器码和硬件进行交互,执行效率就要高很多了。举个形象一点的例子,方便大家理解:使用Java语言,就像是两个语言不互通的人中间隔着一个翻译官在交流,哪怕这个翻译官的水平再高,翻译的速度再快,他也不可能做到实时的翻译,总需要一个处理的过程,交流成本就比较高,效率也比较低。
而采用C 语言则就像两个语言相通的人在对话,一个人说的话可以直接被另外一个人听懂,交流效率大大提升。所以,虽然在安卓5.0时代,谷歌虽然给安卓系统做了一次大手术,更换了一个全新的效率更高的ART虚拟机,但是很可惜,就像上文所举得例子那样,谷歌只是换了一个翻译能力更强的翻译官而已,并没有解决最本质的问题。
看到这,肯定会有人要问了,谷歌为什么要选择Java而不去选择执行效率更高的C 呢?难道谷歌的工程师不知道Java存在执行效率低的问题么?当然不是,谷歌这么做也是迫不得已。谷歌的算盘。在2005年,谷歌将安卓团队一行人收入囊中之后(也就是安卓之父安迪·鲁宾团队),本来实际上也没有打算完全开源,而是闭门造车了很长时间,不过始终没有什么大的进展。
然而在2007年1月,苹果公司率先发布了人类历史上第一款具备象征意义的新一代移动操作系统——iPhone runs OS X(也就是后来的IOS),并且还基于这个系统发布了第一代iPhone。这个时候,谷歌也嗅到了移动互联网时代即将来临的气息,但是谷歌同时也意识到,单靠自己是不足以和苹果对抗的,因为谷歌本身只是一个互联网企业并不具备像苹果那么强大的硬件基因(苹果本身就是一家硬件公司),他不具备制造硬件设备并且大规模向外推广的能力(没有渠道)。
于是,谷歌想了一个方法——“开源共建”,把已经开发的基本可用的安卓系统完全开源,供其他有兴趣进入智能手机市场的企业进行二次开发。这个操作也吸引了世界上绝大多数除了苹果之外的硬件厂商,毕竟这可是当时第一款完全开源的系统,而且谷歌还邀请了众多业界大拿站台(开放手机联盟)。系统有了,那么怎么才能吸引开发者去开发安卓应用呢?谷歌的办法很简单——“尽可能地降低开发安卓应用的门槛”,于是,谷歌最终选择了Java作为安卓应用层的开发语言,至于原因主要有两个:原因一:Java的从业者众多是一片沃土。
Java由于其具备良好的跨平台特性,使得其一直以来都是开发行业最炙手可热的一门语言之一,如下图所示,这是目前开发语言的热度排行榜,Java毫无疑问的排在第一位。开发人数众多,这也就意味着很多原本做Java的开发者可以几乎毫不费力地转行成为安卓应用的开发者,原本只能开发一些后台程序的Java工程师,突然发现自己也可以利用自己的能力面向C端开发应用程序挣钱了,这确实是一个很好的出路,因为软件工程师本身就是一个对新平台,新事物保持比较高关注度的群体。
就这样,安卓的应用体系就在这样的环境下迅速发扬光大。而反观C ,C 是一门基于C语言构建而来的语言,而C语言是一门非常古老的语言,更偏向于底层,其整体的开发难度较高,从业者相对比较少,不如Java那么具备活力。原因二:Java的开发效率极高,入手难度低。Java是一个面向数据结构的语言,能操作的都是设计好的数据结构,每一个都是安全的,在内存和程序员之间,还隔着一个JVM虚拟机,程序员可以肆意地发挥,容错率比较高,对于程序员素质的要求也比较低,所以大家可以看到,很多Java工程师只需要培训两三个月就能自己写东西了,而且就算编程思想再怎么差也无所谓,Java本身就是一个没那么低,上线也没那么高的语言。
而C 不一样,C 是一个面向内存的编程,它就要求开发者拥有比较扎实的计算机基础,并且还需要拥有比较强大的逻辑设计能力,需要考虑到方方面面的细节,如果一个C 工程师的能力太差,他所编出的程序的执行效率还不一定比用Java开发出得更好,这也就在一定程度上限制了C 这门语言的发展,毕竟想要学好C ,上两三个月培训班可是不行的,所以C 实际上是一个下线非常低,上线非常高的开发语言,上手难度更低。
本文地址:http://www.55jiaoyu.com/show-708899.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
推荐文档
- 11.十大性价比千元机排行榜往年-往年十大千元机排行榜
- 12.电荷守恒(电荷守恒为什么要在-2价离子前加2)
- 13.个人述职报告 个人述职报告ppt免费8篇(模板)
- 14.时光荏苒的近义词
- 15.温带季风气候特点及成因,温带季风气候分布地区
- 16.dickie是什么意思dickie的翻译(dislike翻译成中文是什么意思)
- 17.向日葵描写外形的句子_描写向日葵的优美段落外貌
- 18.交通运输专业(交通运输专业考公务员可以考什么职位)
- 19.跑1000米喝红牛有用吗?它能帮助你提高成绩吗?
- 20.抒情类散文阅读(6篇)
- 21.武汉大专学校排名往年最新排名,武汉大专排名榜往年
- 22.2023年兔年春节拜年祝福语顺口溜(3篇)
- 23.高考数学选择题(高考数学选择题答案是均匀的吗)
- 24.2022年店铺转让合同免费(五篇)
- 25.湖南大学双一流学科名单有哪些(3个)
- 26.西南财经大学全国排名最新排名(第62名)
- 27.最新最美时光作文结尾(4篇)
- 28.高考总分是多少?2023高考各科目满分多少分
- 29.最新部队总结军事训练方面(5篇)
- 30.最新消防应急预案免费下载(四篇)
- 31.学生综合素质评价自我评价100字(11篇)
- 32.建筑施工实训总结报告精选5篇
- 33.天津现代职业技术学院单招2023年招生简章
- 34.给乘务员的感谢信500字(6篇)
- 35.2023年儿子婚礼的答谢词 儿子婚礼父母的感谢语(6篇)
- 36.最新六年级毕业感言简短 六年级级毕业感言(4篇)
- 37.企业经营模拟实训报告3000字(3篇)
- 38.2023湖北文理学院录取分数线(含2021-2022历年)
- 39.现在学什么行业和技术前景好就业好
- 40.2023年幼儿园中班科学夏天的雷雨教案及反思(6篇)
- 41.上海师范大学天华学院中外合作办学专业有哪些?
- 42.厦门大学双一流学科名单有哪些(6个)
- 43.季度工作总结范文简短(精选18篇)
- 44.最新员工个人绩效考核细则(五篇)
- 45.保洁员工作总结(精选20篇)
- 46.最新大学生活动策划总结(十四篇)
- 47.小211工程高校名单-小211有哪些
- 48.2023广西美术生本科分数线多少分(含2021-2022年)
- 49.理科二本大学排名(理科二本大学有哪些学校比较好)
- 50.世界排名,世界排名前100的大学
- 51.往年核物理专业大学排名
- 52.2022邢台学院艺术类录取分数线(含2020-2021历年)
- 53.留心的近义词是什么留心留意(留心的近义词是什么,标准答案一个)
- 54.福州职业技术学院有哪些专业?
- 55.江西科技职业学院是公办还是民办大学?
- 56.关于每天努力一点点的励志说说句子
- 57.2023运城学院录取分数线(含2021-2022历年)
- 58.台州学院招生网、台州职业技术学院招生网
- 59.华科文华学院分数线(华科录取分数线多少)
- 60.645
- 51.独山基长现再怎么样,基长镇镇长为黄金果倾情代言
- 52.oppos39(oppos39忘记开机密码)
- 53.哈尔滨供电段怎么样,从70后到00后千里铁道线上
- 54.手机开不了机是什么原因,我的机子开不了机屏幕无反应,好像是黑屏请问是什么原因,,搜狗
- 55.中国移动olt怎么注册,ONU注册和授权认证
- 56.索尼爱立信官网首页(爱立信,索尼)
- 57.学习表情包,一组学习专用表情包
- 58.92002con,年内通胀或达10000倍
- 59.19148期双色球五种走势图,图感觉走势图
- 60.中国电建集团网上怎么上传标书,上传招标公告上传招标采购平台
- 61.西宁公交公司招聘怎么报名,学生乘公交车该如何实名认证
- 62.供电局不倒班什么岗位,国家电网人力资源招聘
- 63.高阳北二环公园叫什么,汇博上谷大观在高阳谁更胜一筹
- 64.商务局给的路由怎么设置,拥有这款路由器
- 65.永登武胜译有什么好玩的,丝路古镇武胜驿
- 66.不良人资质怎么分类,画江湖之不良人
- 67.曹县北街安置区在哪里,北街安置房工地破土开挖
- 68.肥东双桥新村什么时候开工的,咱肥东这4条公交线路调整
- 69.南宁梁村发生了什么事,南横高速公路第八合同段节后施工快马加鞭
- 70.抚顺哪里有收废卷材的,中国最牛的新材料企业有哪些

