如何通俗易懂解释 Java 语言所谓「一次编写,到处运行」的特性

  首先

  最烦这种话了,动辄就往人脑袋上扣帽子说什么屁股决定脑袋,还装模作样地表示理解,理解你个蛋蛋。想装平和就装像一点,装到底,现在这种做法再我看来就三个字:

  这个我实在无力吐槽,还是那句话,不要以小人之心度君子之腹,虽然我算不上是什么君子

  我喜欢以理服人,也喜欢被以理服人,有道理的事情,我就是能接受的,所以大家在知乎上夸C#/.NET的一些东西的时候我也没少点赞,贬Java很多方面的时候我也没少举双手同意,从我的角度来说,有什么可装模做样的?你做不到不要认为别人也做不到

  其次

  Java能不能跨平台?当然能了。它是标准的“二进制跨平台”,就是所谓一次编译到处跑跑,在这个领域里简直毫无敌手,但问题还是在这里,作为这个领域的第一名,也几乎是唯一的一名,它还是没法突破“谁信谁傻逼”这点。

  即便在这个领域只有Java独一家在做,既然你都承认能做到跨平台了,为什么还“谁信谁傻逼”,大家信的不也就是能做到跨平台吗?你这是什么逻辑?

  第三

  首先,二进制跨平台本身就是个很难靠谱的玩意儿,因为各个平台都有差异,这个差异要统一就要放弃很多东西,所谓Every abstraction is leaky,你二进制统一了又如何?你一次编译到处能跑又如何?用来做Client(随你SWT还是Swing了)慢得一逼丑得二逼。用来做 Server,呵呵那高大上的NIO到了什么时候才在Windows上支持IOCP的?谁给查查是Java 7还是Java 8来着?要知道IOCP是NT 3.5里出现的功能啊,1994年啊,跟Java是特么的同龄人啊。

  这简直就是典型的你和他谈跨平台,他和你谈性能,你和他谈性能,他和你谈语法,你和他谈语法,他和你谈社区,你和他谈社区,他和你谈跨平台的典型了啊


你可能感兴趣的:(java,二进制,如何,领域,玩意儿)