本文作者:ptiyny

分析j***a语言的优势 分析j***a语言的优势和劣势

ptiyny 07-16 15
分析j***a语言的优势 分析j***a语言的优势和劣势摘要: 大家好,今天小编关注到一个比较有意思的话题,就是关于分析java语言的优势的问题,于是小编就整理了2个相关介绍分析java语言的优势的解答,让我们一起看看吧。java编程有甚么优点...

大家好,今天小编关注到一个比较意思的话题,就是关于分析java语言优势问题,于是小编就整理了2个相关介绍分析Java语言的优势的解答,让我们一起看看吧。

分析java语言的优势 分析java语言的优势和劣势
图片来源网络,侵删)
  1. java编程有甚么优点?
  2. 相比于其他编程语言,Java的优势在哪里?

j***a编程有甚么优点

首先,J***a是在进化的

当年J***a刚出来的时候被吐槽性能烂,然后1.4出来了性能提升,至少可以接受。

被吐槽简单,1.5出来增加泛型,线程池,注解1.6性能提升

后来1.7又加了Try with Resource,switch String等小功能,多线程方面也有改进,性能提升,g1的gc策略。

分析java语言的优势 分析java语言的优势和劣势
(图片来源网络,侵删)

然后1.8加入lambda, stream等功能。功能上有了很大的升级。

说明

1. J***a虽然进化慢,但是的确是在进化。

2. J***a进化的慢,我个人觉得是有原因的。比方说,lambda表达式真的很适合在大项目中用吗?尤其是码农水平参差不齐的时候。我个人是很喜欢lambda的,以前就用Gu***a来操作集合,但是也不得不承认lambda还是没有命令式的那种代码直观。对于大型项目来说这是很烦的问题,就是某些高手写的代码没有特别多的参考价值,一旦这人走人,接手的必须要懂lambda。J***a是一门工程的语言,甚至有“over-engineering”的说法。但是也正是这样,使得开发难度降低了。所以,语言的好坏,有时候还是要结合场景来看。

分析java语言的优势 分析java语言的优势和劣势
(图片来源网络,侵删)

相比于其他编程语言,J***a的优势在哪里?

只说语言层面。

嘿嘿,我念大学时也常有“又要被迫用J***a了”的感觉。C# 和 Ruby 才是我大学后半的主要语言。当时最愤怒的莫过于明明不喜欢J***a语言但还躲不开它…

技术上说J***a语言并没有什么特别的优势。跟同质语言比,它的语言设计不如C#,而且短期内没有追近的势头(虽然从J***a 8开始有进展了,但C# 6也在进步);跟异质语言比,它对native的精确控制和灵活性不如C++动态或者说便利性又不如Ruby、PythonJavaScript这些,在特定领域(例如高并发)的便利性又不如别的特定语言(并发如Erlang,数据处理如R),跟新一代中间应用层面语言如Go、Swift比也没法比。

要说为啥大学要用J***a语言教学,那就是因为——它是门靠谱的民工语言。J***a语言的设计从现在的角度看非常中庸,啥都不是特别出色,但都“还行”。出来找工作,会J***a的话还是有不少选择余地的。

库方面也有非常丰富的选择,无论是核心功能还是各种扩展功能。某些核心功能如果不想用标准库的话还可以用很多第三方库来替代。例如:正则表达式不想用 j***a.util.regex ?有很多替代品,试试 joni ?GUI不想用 Swing ?试试新的J***aFX,或者 SWT ?…(此处填入您最喜欢的库)…

=================================================

话说回来,虽然我不喜欢J***a语言,但底下的JVM我还是很喜欢的。在J***aScript引擎们爆发之前,主流JVM的技术一直是业界实用的高级语言虚拟机/运行时里的领先者。现在更多热钱流向了J***aScript引擎那边,它们终于开始接近JVM的技术水平了。但像是GC方面,最先进的通用GC技术现在恐怕还是在主流JVM里。(CLR的概念跟JVM是比较同质的,但在内部看主流JVM的实现远比CLR更动态,更能够适应变化的环境,两者的很多部分目前还不在一个层面上。当然,性能特性不同,适用于两者的性能测试方面也有很大不同。)

现在能用C++实现JVM来支撑别人跑J***a的感觉很有趣

到此,以上就是小编对于分析j***a语言的优势的问题就介绍到这了,希望介绍关于分析j***a语言的优势的2点解答对大家有用。

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享