Linux + Java =核武器
网上很多同学在谈到Android系统时候,都在骂Java,说是因为Java导致Android系统吃硬件,不高效,很卡。从常规观点来看,谷歌的人对Java的理解比我们是要清楚的,那么我们不妨从积极的角度来思考这个问题。
1、Linux对硬件的可移植性很好,Java对平台的移植性很好.这两样东西加起来,我们就会发现,几乎可以通杀所有设备。从现实来看,Android系统目前在手机、平板、智能电视、ARM笔记本和X86触控设备等各种不同形态,不同硬件方案的设备上面。并且其App大多能兼容,这就意味着Android系统庞大的App资源对所有设备是共享的,极大的扩展了Android设备的功能。设想如果我们的App要为不同的硬件编译不同的版本,为不同的硬件都进行测试,是怎样的一番情景?
2、谷歌对Dalvik虚拟机及系统优化的能力,谷歌这样的公司以及对Android的投入,可以相信其对虚拟机及系统的优化是会持续进行的,从原理上来讲,用虚拟机是比原生代码要来得慢一些,但是损失少许性能换来可移植的优势,这是值得的。我们从4.0到4.1在速度上的巨大改进是可以切身体会的,到了4.1,就很少有人说Android不流畅了,再加上硬件的突飞猛进,可以说性能完全不是短板。
3、Linux的开源降低了进入门槛,Linux系统是开源的,Android也是开源的,这个为中小企业降低了进入门槛,省去了高昂的授权费用,并且开发人员也能了解系统的底层结构。不过也有一点点缺点,就是会带来一些碎片化的问题,因为我看很多公司出的Android产品,没有把系统搞稳定。
4、Java语言非常优秀,Java语言很规范,易于使用,带有自动垃圾回收等高级特性。而且Java经过长足的发展,开发人员众多,Android采用Java,自然就具备了众多的开发人员。
5、不用Java用什么?从现状来看,Linux上面的开源项目,除了Apache的项目,其它的质量都不怎么样。而Apache项目中Java占的比重很大。也即用Java开发容易保证质量。而且Java在企业级开发中经过了实践的考验。试想其它用得多的语言,C#在微软手中,谷歌自然不会用,C++众所周知复杂且内存难已管理,C过于底层,不太适合。而普通的脚本语言如Python等也难堪大用。不带内存回收的语言,很难用于通用型的设备开发,因为开发者众多,很难保证内存使用而导致系统出错。普通脚本语言解释执行功能和性能都成问题。筛选下来,只有Java能担此重任。以前很多Linuxer看不起Java,在开源界Java的项目不多,但是Java项目的质量确实不错,Apache上的项目可直接拿来在生产环境使用,而众多的非Java项目,其质量一直令人不满意。所以我有时候在想,Java项目多起来是不是就会改变这种局面。有了Android,也引起了很多人的反思,为什么Linux辛苦搞了这么多年,占有率始终在1%左右徘徊,而Android却能在短短的时间里大放异彩,我想这方面Java功不可没。
Linux+Java的威力,使得Android在五六年的时间里,迅猛发展,App数量达到五十万以上,市场占有率达到70%以上,并且成功运行于各种各样的设备上,基本上可以预见,Android从手机平板等消费电子领域,会进入到商业和工业领域,未来的路还很长。
Linux + Java =核武器
最新推荐文章于 2024-01-23 17:05:39 发布