承德SEO:常居编程语言榜首的 Java 已有 20 多年历史,它的实用性、性能和向后兼容性都无可替代,即使是忽略它的“年龄”也依然稳居第一

如今的 Java 几乎占据了C语言曾拥有的地位,而C语言在 Java 流行前一直是最受关注的(1986 年 Lisp 语言排名第二,而 Ada 排名第三)

为什么 Java 能够一直这么受欢迎呢?如下:

一、向下兼容

Sun 公司与 Oracle 公司在确保旧版本 Java 代码能正常在新版本上运行做出很大努力。理想很丰满,现实很骨感(如 JavaSE1.4 断言与 JavaSE5 中枚举)虽然有时不向下兼容却也能够获得更好的实现(泛型),但向下兼容对于开发者来说依然是极具吸引力的特性。没有什么是比让新版本平台能正常运行代码而修改旧版本正常代码要更麻烦的事了。

二、实用性

它能使开发者花费最小的代价就能完成工作,还能使得开发者在一段时间之后,继续完成别人的或自己的代码还能清楚当初的开发意愿,也可以编写可读性较差的代码,就像在其它语言中做的一样,但是良好的编码风格能使它比其它语言更具的可读性。

三、可扩展性/性能/可靠性

多年的发展与每年数以千计开发者推动,Java 已成为坚实的平台,说起可扩展性,可以看看那些使用 Java 语言的大型企业:Twitter(抛弃 Ruby-on-Rails 因为不再具有扩展性),Facebook/Spotify/Scalesforce/eBay大数据工程基础框架,无不在使用 Java 或者 Scala 且是在 JVM 虚拟机上运行。如果需要良好的拓展性与性能那么Java 与 JVM 就是最好的选择

四、持续热度

从2014 年开始,Java 的欢迎程度有显著提升,这正是 JDK8 的发行后。JDK8引入了 Lambda 表达式与Stream API。使Java 开发者能够不用学习一整套新语言(如 Scala)的情况下以更有效的方式进行开发。这样的特点使它能更简单利用多核/多处理器机器,不必写大量复杂和潜在容易出错的多线程代码。随着 Jigsaw 工程 JDK 9 的发布而启动,我们能看到模块化使大企业应用程序更容易建立、部署与维护

为什么Java那么火?的更多相关文章

  1. java程序员烂大街为何还不便宜?

    最近跟一朋友聊天,他是做c#开发的.他答应了老板带领一帮java工程师开发网站.披星戴月终于搞定,现在已经盈利.但是他公司的那帮搞c#的同事不淡定了. 在招聘java程序员的时候2年有开15k的.5年 ...

  2. Java 的简单了解

    本文是主要根据百度百科以网上一些资料,整理的一点对Java的浅显的了解,不当之处,还请大家批评指正. 最初见到Java这个单词,是在以前的手机上,游戏启动时总会显示java的图标和名字,就感觉java ...

  3. 【java读书笔记】——java开篇宏观把控 + HelloWorld

    学完java有一段时间了,一直没有做对应的总结,总认为有一种缺憾.从这篇博客開始,将自己平时的学习笔记进行总结归纳,分享给大家. 这篇博客主要简单的介绍一下java的基础知识,基本的目的是扫盲.原来仅 ...

  4. JAVA学习第一课(初识JAVA)

    PS:退ACM集训队了,自己也疯玩了两天,后天就开学了,就正式大二了,该收收心好好学习啦                                                         ...

  5. 从事三年java开发后, 我打算转人工智能

    作为一个2015年参加java培训,2016年计算机科学与技术本科毕业后一直从事java开发的程序员来说, 做出这一步真的不容易, 可是我没赶上java最火的时候,反而渐渐感受到了java的没落, 目 ...

  6. 09-02 java 多态

    多态的前提.多态的特点 /* 多态:同一个对象(事物),在不同时刻体现出来的不同状态. 举例: 猫是猫,猫是动物. 水(液体,固体,气态). 多态的前提: A:要有继承关系. B:要有方法重写. 其实 ...

  7. java起源和基本数据类型

    1.Java起源于1994年的sun公司,起初并没有体现出它独特的优势.sun公司一度想要放弃这个项目.亏的领头人的力争.Java才的以存在.二十世纪末.随着互联网的兴起.交互式设计越来越多的应用,对 ...

  8. Java和js的区别,以及Java和c的区别

    刚开始的时候我们也搞不清这些概念,不过后来就慢慢清晰了,首先和大家谈谈Java和js的区别,最简单的区别就是一个是后端,一个是前端.   java是纯面向对象语言,javascrip其实和Java是完 ...

  9. 【aliyun】学java,看这里,不迷茫!1460道Java热门问题

    阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 ...

随机推荐

  1. matlab中执行mex文件时提示GLIBCXX not found

    解决方案参考: http://stackoverflow.com/questions/8421708/glibcxx-not-found-when-compiling-vtk-example-unde ...

  2. LeetCode 378. 有序矩阵中第K小的元素(Kth Smallest Element in a Sorted Matrix) 13

    378. 有序矩阵中第K小的元素 378. Kth Smallest Element in a Sorted Matrix 题目描述 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩 ...

  3. Spring bean加载之1:BeanFactory和FactoryBean

    BeanFactory BeanFactory:以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂.在Spring中,BeanFactory是IOC容器的核心接口,它的职责包 ...

  4. PAT(B) 1044 火星数字(Java)进制转换

    题目链接:1044 火星数字 (20 point(s)) 题目描述 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, ...

  5. ALV报表——ALV颜色设置(三)

    目录 一.行 二.列 三.单元格 四.附ALV的颜色代码 一.行:用Layout相关属性设置 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST ...

  6. Redis客户端、服务端的安装以及命令操作

    目的: redis简介 redis服务端安装 redis客户端安装 redis相关命令操作 redis简介 官网下载(https://redis.io/) Redis 是完全开源免费的,遵守BSD协议 ...

  7. Java Swing中文乱码解决方法

    Run As Run Configuration,在Arguments中增加下面这句: -Dfile.encoding=gbk

  8. python渗透库大集合

    l Scapy:一款强大的交互式数据报分析工具,可用作发送.嗅探.解析和伪造网络数据包. l pypcap.Pcapy和pylibpcap:配合libpcap一起使用的数据包捕获模块 l libdne ...

  9. 高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)

    HashMap.CurrentHashMap 的实现原理基本都是BAT面试必考内容,阿里P8架构师谈:深入探讨HashMap的底层结构.原理.扩容机制深入谈过hashmap的实现原理以及在JDK 1. ...

  10. stm32 FSMC-TFTLCD显示

    TFTLCD TFT液晶屏常用的通信模式主要有6800模式和8080模式,对于TFT彩屏通常都使用8080并口(简称80并口)模式 8080模式的读写时序其实跟LCD1602或者LCD12864的读写 ...