百摩网
当前位置: 首页 生活百科

java实现跨平台的机制是什么(跨平台只是一部分)

时间:2023-06-06 作者: 小编 阅读量: 4 栏目名: 生活百科

Java的跨平台优势的实用性其实已经被大大弱化了,可以说在实际应用中并不明显,在一般情况下几乎感知不出Java还能跨平台这个特性。今天,Java最大的优势在于其庞大而完善的生态系统。Java生态系统的完善性主要体现在以下几个方面:Java拥有世界上数量最多的程序员。Java拥有大量的第三方类库。Java拥有功能强大的IDE。对,这也是一项优点。如果不是对性能十分敏感的系统类应用,Java已经足够快了。以上仅做客观分析,并不想引起语言战争。

以下讨论只针对PC端和移动端。

Java最大的优势真的在于跨平台吗?

以前是,但现在已经不是了。

有跨平台需求的仅仅是客户端应用,而不是服务端。例如桌面应用,你的客户可能是Windows用户,也可能是Linux用户,这时候如果不想多投入成本对各个平台进行适配,那么Java所谓的“Write once, run everywhere”就显得异常光彩。然而今天,整个软件世界都在向B/S应用倾倒(嵌入式除外),即使要做客户端跨平台,QT等第三方框架远远比Swing更强大,Java在桌面应用领域基本被淘汰已经是不争的事实了,而当初Java引以为豪的Applet也早已销声匿迹。如果说客户端Java还有一点优秀的话,那只有Android了。安卓最初确实靠JVM屏蔽了不同硬件设备之间的区别并取得了巨大的成功,但在今天,Android L中ART模式的出现也即将颠覆这一情况,况且Google还可能会想用自家的Go语言取代Java成为Android平台的第一语言。所以在客户端,Java几乎完败

服务端应用不需要跨平台。做一个Web服务器,我想没有哪家公司今天用Linux,下个月就换Windows吧?如果仅仅是更换Linux发行版,如从Debian到Fedora,本质上讲其Linux内核是不变的,因此像C这样纯编译类型的语言已经没什么问题。如果做游戏服务器,我想几乎都会选择Linux而不是Win平台。Java的跨平台优势的实用性其实已经被大大弱化了,可以说在实际应用中并不明显,在一般情况下几乎感知不出Java还能跨平台这个特性。作为三大商用JVM之一的JRockets是只有编译器的JVM,即应用启动时会将字节码全部编译为本地机器码,这其实就很大程度上摒弃了跨平台,而追求性能。

今天,Java最大的优势在于其庞大而完善的生态系统。一门编程语言是否能流行,主要是由其生态系统决定的。Java生态系统的完善性主要体现在以下几个方面:

Java拥有世界上数量最多的程序员。你说他们是农民也好,但数量放在那里,最明显的效果就是公司招人的时候会比较容易地招到Java程序员。试想如果你想要做一套软件,你有一个很棒的技术方案需要用C,Scala或Ruby等语言实现,但招不到足够的人手,那么计划多半泡汤。这时候你的应用Java也能做到,并且很轻松就能招到足够的人,那么你选择Java的可能性就要大一些。

Java拥有大量的第三方类库。假如你想解析HTML,用C/C这类语言恐怕多半只能自己编写解析算法库了,而如果是Java,你可以非常轻松地在Github上找到JSoup,使用Maven导入依赖后分分钟就搞定HTML。为此还有一句讽刺Java的话是:“我们不生产代码,我们只是Github的搬运工。”这句话从字面上看是很有道理的,但却忽略了对软件生产效率的提升所带来的巨大价值。对于软件的开发,公司的唯一成本其实就是“人头费”,每减少一个月开发时间,就能帮助公司节省几十万几千万的研发成本。

Java拥有功能强大的IDE。Eclipse,通过插件几乎可以满足你开发的任何需求。它虽然有些慢,但你可以通过JVM调优来提高程序的流畅度,千万不要使用默认的JVM参数。不过,IntelliJ Idea已经完全超越Eclipse了,Idea的智能程度几乎可以媲美Win平台下的VS。我是那类离了Vim就活不下去的人,在这两款IDE中都有Vim插件从而让我愉快地存活下去。

Java拥有很多杀手级应用。不必多说,Spring, Struts, Hibernate, Hadoop, Tomcat, JBoss等等。

Java的语法特性很少。对,这也是一项优点。C相比C添加了大量特性,学起来费事不说,用起来还会降低代码可读性,其实是费了工夫不讨好。当今世界对编程语言的要求是语法简单,代码可读,对性能已经是退而求其次了,因此才诞生了Python, Ruby这样的编程语言。有很多人批评Java语法写起来很臃肿,我承认这一点,但事实是,编程语言从来都不是因为语法臃肿而被淘汰的,决定其生死的是生态系统。对于批评者,引用知乎的一句话:“动态类型一时爽,代码重构火葬场”

Java的性能已经足够高了。Sun/Oracle的HotSpot JVM内置的JIT编译器在运行时对字节码已经做出了非常大的优化努力,服务端应用启动后对JVM进行足够的“预热”,并给出合理的启动参数即可。如果不是对性能十分敏感的系统类应用,Java已经足够快了。有一种简单可行的方法可以形象地看出这点,在JVM启动参数中添加 XX:PrintCompilation可以看到JIT编译器的忙碌。当今世界对软件的需求量越来越大,在性能可接受的情况下,开发效率才是第一位的,这也是Python这类动态脚本语言流行的主要原因。

以上仅做客观分析,并不想引起语言战争。毕竟,没有最好的语言,只有最适合某种项目的语言。引用黑格尔的一句话:“存在即合理。”

    推荐阅读
  • 歌曲谁原唱(一首流行歌曲)

    下面希望有你要的答案,我们一起来看看吧!歌曲谁原唱《谁》是由蔡健雅作词作曲,蔡健雅演唱的一首流行歌曲,作为第一主打曲收录在蔡健雅2009年发行的国语专辑《若你碰到他》中。蔡健雅,1975年1月28日出生于新加坡,祖籍中国江苏省,现定居于台湾。新加坡籍华裔女歌手、中国台湾流行乐女歌手,音乐制作人、词曲创作人。

  • 武汉房地产网备案查询(未获预售许可证)

    国家机关人员的形象违法主体:武汉都市妇产医院有限公司主要违法表现及处理结果:当事人为庆祝建院10周年,在网站上使用国家机关人员的形象作宣传,提升医院的影响力和地位,构成违法广告。被依法处罚6万元。教育培训违法主体:武汉前程世纪教育科技发展有限公司江汉分公司主要违法表现及处理结果:当事人印刷广告宣传中含有学习受益者的名义作推荐证明,吸引学生家长,构成违法广告,被依法处罚0.6万元。

  • 南开区房价下跌了吗(谁说南开区房价高)

    兴云里兴云里是广开街商圈内的优质小区,小区位于天津市南开区,小区由天津南开建筑开发有限公司建成于2001年,由天津市盛泰物业管理有限公司进行管理。但在价格上具有绝对优势,刚需者可尽快入手。近6个月以来,兴云里成交量在广开街排名第44。天佑城(南马路)有多种多样的商品板块,无论是购物、休闲还是餐饮,均能满足居民的个性型需求。

  • 印度三大傻大闹宝莱坞(三傻大闹宝莱坞印度教育的残酷远比电影更要厉害)

    印度的“高考”被称为是世界上最难的考试。从2006年起,印度教育部宣布大幅提高“保留配额”比例,以便增加社会低种姓群体接受高等教育的机会。此举引发了高种姓学生抗议逆向歧视,然而这项规定却坚持了下来,为的就是逐步消除这样的阶级观念。但是就这样一个学生被认定为问题学生,坏学生。中国和印度一样都是人口大国,很多时候,人口多面临着更加激烈的竞争,这个是毋庸置疑的。

  • dota2怎么进国服(如何进入dota2国服)

    以下内容大家不妨参考一二希望能帮到您!dota2怎么进国服首先在电脑上打开steam,进入steam游戏平台。在steam游戏平台首页,进入游戏库找到DOTA2,右键选择DOTA2里面的属性。然后会进入DOTA2的属性界面,在常规里面点击设置启动选项。DOTA2国服是有2个的,一个是steam国服,还有一个是完美国服。

  • 为什么会有大风(会有大风的原因)

    为什么会有大风?下面希望有你要的答案,我们一起来看看吧!风是由空气流动引起的一种自然现象,它是由太阳辐射热引起的。太阳光照射在地球表面上,使地表温度升高,地表的空气受热膨胀变轻而往上升。热空气上升后,低温的冷空气横向流入,上升的空气因逐渐冷却变重而降落,由于地表温度较高又会加热空气使之上升,这种空气的流动就产生了风。

  • 电镀基本工艺原理(36页内容介绍电镀)

    电镀概述电镀原理:借助外界直流电的作用,在溶液中進行电解反应,使导电体的表面沉积一金属或合金层的方法,称为电镀。对设备结构及流程进行说明,同时将各部品的结构、及工作原理进行讲解,并指出可能影响产品质量的重要结构及动作部分。为现场生产中更好地理解并控制重要品质项目提供帮助。购买专栏后即将1000G机械资料发送给你,获取专栏资料也可以私信咨询我。

  • 陕西豆花干的制作方法(怎样制作陕西豆花干)

    陕西豆花干的制作方法选用新鲜黄豆,用干选法过筛或用水选法筛除杂物、劣质豆、草木和砂土等杂质。把黄豆浸泡于水中,除去浮于水面的杂质,水量以浸没黄豆为准。点浆的方法:把煮沸的豆浆舀出锅后稍冷,待温度降至80℃时即可点浆。包浆就是把豆腐脑倒在铺有棉布的木格内,包好,用重物挤压,把水挤出,一般不能压得太干,若制豆腐干,则可以压至无水滴出为止。

  • 2022重庆高新区初中摇号政策 重庆小升初摇号政策出台

    公共服务局对已完成网上信息采集的学生,按照相关规定,对报名对象、报名材料进行审核。区内户籍区内学籍的学生可报名参加重庆市第一实验中学校、重庆巴蜀科学城中学校、四川外国语大学重庆科学城中学校的“随机派位”,未被“随机派位”录取的学生按照“对口派校”的原则回到对口公办初中就读。经摇号录取的学生须在6月21日18:00前登录系统进行确认,未确认的,视为自动放弃。

  • 常吃花生的好处和坏处(常吃花生有什么好处坏处)

    下面希望有你要的答案,我们一起来看看吧!常吃花生的好处和坏处花生含有B族维生素,蛋白质,维生素E,不饱和脂肪酸和多种人体所需的氨基酸等营养元素。保护头皮毛囊健康,预防和缓解脱发。促进大脑发育,激活脑细胞,提高记忆力,健脑益智。抗氧化,清除体内自由基,预防皱纹及色斑,延缓衰老。但花生中的脂肪含量很高,吃多了易造成血脂升高,还会引发腹泻等症状。