爱上 Java 的10 大理由,Python 弱爆了!

来源:www.codeceo.com/article/10-reasons-to-love-java-jvm.html

Java和JVM已经存在了很长一段时间了,基于这个事实,一些程序员开始将很多事情视为理所当然。今天我们就来说一说“Java之所以能够成为并将继续是软件项目领先平台”的十大理由。

1.高性能JVM

Java最初的开发目的“一次编写到处运行”,并由虚拟机提供运行平台。点击这里查看JVM内存模型详解。没有JVM,Java就必须遵循Ruby和Python的步伐——在痛苦中进一步提高其便携性。随着物联网的出现,一个强大的虚拟机变得越来越重要。

2.核心API

最让人喜欢的就是Java核心API——从它诞生之后就可以完全向后兼容,这样我们就可以开始写更多的Java应用。虽然有无数额外的库和JVM语言可以提供简洁的语言水平,以获取多种核心API功能,但其中大部分实际上是依赖于Java核心API的支配。虽然也有其他语言纷纷效仿,但很少能像Java保持得如此稳定。

3.编译器

还有很多值得欣赏的Java编译器——将你的源代码转换成字节码,然后再成为可执行文件——更由于JIT的出现,将其他的直译程式比到了尘埃里。并且天生简洁的Java编译器能让开发人员只需将注意力放在代码上,而无需关注编译器架构。

4.字节码

和编译器一样,在Java字节码中,简单才是王道。它可以大大降低了写出潜在错误代码的几率。并且也不需要第三方字节码操作工具。

5.内存模型

通过在JVM里提供一个独立于硬件的内存模型,Java就没有必要卸载外部库。这使得该语言、核心API、编译器可以同心协力,一起来为并行操作提供稳定基础和共享状态。点击这里查看JVM内存模型详解。

6.开源

当涉及到开放源代码时,Java也不例外。关于Java的特殊之处就是它居然将OSS理念广泛地渗透到其生态系统中——无论是移动形式还是企业乃至世界上一些决定性的系统。而其他唯一能和它媲美的就只有Linux。

7.智能化的集成开发环境

随着2015年IntelliJ IDEA、NetBeans和Eclipse的三位一体,当涉及到需要寻找免费的开源开发环境时,开发人员拥有了更为奢侈的选择—— 它的插件套组和服务真正更上一层楼。

8.分析工具

众所周知,假设总是让人很郁闷,这时就需要分析工具上场了。开发人员可以通过各种已经被打包为JDK的分析工具来解决这些“假设”问题。

9.向后兼容性

当涉及到兼容性,Java成绩斐然。基于其可向后兼容的特性,使得Java社区可以站在彼此的肩膀上共同铸就Java语言二十年的辉煌—— 当然还有一个主要因素是,语言的长寿。

10.成熟与创新

俗话说,长江后浪推前浪、一代新人换旧人,技术领域的也是如此。很多人会觉得Java已经很老了,不再适合入门语言。但是,宝刀未老的Java依然不但具有出色的可靠性,而且非常稳定。团队也能轻易使用它来创建产品,同时避免踩到任何人的短处。

简而言之就是,Python弱爆了!你爱上Java的理由是什么?欢迎留言!

“智能集成开发环境、向后兼容的平台、大规模的核心API、充满活力的开源社区、可读而封装的语言,使得Java成为了团队合作的完美桥梁。”

原文发布于微信公众号 - Java技术栈(javastack)

原文发表时间:2018-07-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构师进阶

Java高级工程师面试总结

原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目、技术都无法描述清楚的...

952
来自专栏码神联盟

高效编程所需要做的那点事

聊聊如果才能高效编程 计划(Plan) 所谓Plan,其实就是对应于编程中的设计阶段,当然,这里的Plan并不像设计那样重量级。它要求我们程序员在正式...

2779
来自专栏WeTest质量开放平台团队的专栏

国庆长假综合症?云真机新功能让你迅速重回高效测试状态

可是,假期远去,日子还得照样过,为了让技术人员在国庆假期结束后能够加快测试效率,WeTest开发人员,在长假期间中开发了一个新功能——云真机键盘输入。

944
来自专栏北京马哥教育

Linux 内核学习经验总结

学习内核,每个人都有自己的学习方法,仁者见仁智者见智。以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下。

3832
来自专栏ThoughtWorks

流水线即代码|洞见

2016年11月份的技术雷达中给出了一个简明的定义:流水线即代码(Pipeline as Code)通过对持续集成/持续交付(CI/CD)运行工具进行编码而非配...

3785
来自专栏Java架构

Java高级工程师——面试总结

2025
来自专栏Python爬虫与数据挖掘

用代码向90后逝去的青春致敬

前段时间,腾讯宣布停止乐斗Ⅱ和QQ宠物的运营,然后就订阅号里就被各种回忆杀的推文刷屏了。今天也来称蹭一下"热点",虽然有点晚。

811
来自专栏java一日一条

关于烂代码的那些事(中)

这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。

1362
来自专栏云计算D1net

云计算网络应用防火墙提高应用程序的安全性

人们通过云计算网络应用防火墙以确保未在本地托管的应用程序,这是可行的。行业专家马特·帕斯库奇解释它们是如何工作的,以及企业对此所需要了解哪些事情。 如今,网络应...

37711
来自专栏Java架构

金三银四如何找工作?阿里、京东、美团内推题送给还在迷茫的朋友从事Java开发工作十二年总结面试宝典一、阿里巴巴面试二、京东金融面试三、美团面试四、滴滴面试

3544

扫码关注云+社区