您的位置:首页 > 编程语言 > Java开发

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

2014-10-09 17:17 393 查看
  首先
  最烦这种话了,动辄就往人脑袋上扣帽子说什么屁股决定脑袋,还装模作样地表示理解,理解你个蛋蛋。想装平和就装像一点,装到底,现在这种做法再我看来就三个字:
  这个我实在无力吐槽,还是那句话,不要以小人之心度君子之腹,虽然我算不上是什么君子
  我喜欢以理服人,也喜欢被以理服人,有道理的事情,我就是能接受的,所以大家在知乎上夸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 二进制 如何
相关文章推荐