为什么Java那么火?
承德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那么火?的更多相关文章
- java程序员烂大街为何还不便宜?
最近跟一朋友聊天,他是做c#开发的.他答应了老板带领一帮java工程师开发网站.披星戴月终于搞定,现在已经盈利.但是他公司的那帮搞c#的同事不淡定了. 在招聘java程序员的时候2年有开15k的.5年 ...
- Java 的简单了解
本文是主要根据百度百科以网上一些资料,整理的一点对Java的浅显的了解,不当之处,还请大家批评指正. 最初见到Java这个单词,是在以前的手机上,游戏启动时总会显示java的图标和名字,就感觉java ...
- 【java读书笔记】——java开篇宏观把控 + HelloWorld
学完java有一段时间了,一直没有做对应的总结,总认为有一种缺憾.从这篇博客開始,将自己平时的学习笔记进行总结归纳,分享给大家. 这篇博客主要简单的介绍一下java的基础知识,基本的目的是扫盲.原来仅 ...
- JAVA学习第一课(初识JAVA)
PS:退ACM集训队了,自己也疯玩了两天,后天就开学了,就正式大二了,该收收心好好学习啦 ...
- 从事三年java开发后, 我打算转人工智能
作为一个2015年参加java培训,2016年计算机科学与技术本科毕业后一直从事java开发的程序员来说, 做出这一步真的不容易, 可是我没赶上java最火的时候,反而渐渐感受到了java的没落, 目 ...
- 09-02 java 多态
多态的前提.多态的特点 /* 多态:同一个对象(事物),在不同时刻体现出来的不同状态. 举例: 猫是猫,猫是动物. 水(液体,固体,气态). 多态的前提: A:要有继承关系. B:要有方法重写. 其实 ...
- java起源和基本数据类型
1.Java起源于1994年的sun公司,起初并没有体现出它独特的优势.sun公司一度想要放弃这个项目.亏的领头人的力争.Java才的以存在.二十世纪末.随着互联网的兴起.交互式设计越来越多的应用,对 ...
- Java和js的区别,以及Java和c的区别
刚开始的时候我们也搞不清这些概念,不过后来就慢慢清晰了,首先和大家谈谈Java和js的区别,最简单的区别就是一个是后端,一个是前端. java是纯面向对象语言,javascrip其实和Java是完 ...
- 【aliyun】学java,看这里,不迷茫!1460道Java热门问题
阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 ...
随机推荐
- Hue,Oozie运行sqoop找不到驱动解决办法
一.前言 平台:CDH 5.13.0 公司在客户那边有个项目需要部署cloudera平台,部署的时候,在这个版本的cdh中,除了基本组件,还选了sqoop2作为数据传输工具,希望能在Oozie中通过工 ...
- [转帖]五分钟彻底搞懂你一直没明白的Linux内存管理
五分钟彻底搞懂你一直没明白的Linux内存管理 https://cloud.tencent.com/developer/article/1462476 现在的服务器大部分都是运行在Linux上面的,所 ...
- 《Mysql - 为什么只查一行的数据,也这么慢?》
概念 - 在某些情况下,“查一行”,也会执行得特别慢. - 下面分析在什么情况下,会出现这个现象. - 基础工作(构建数据库环境) - 建立 t 表,并写入 10W 的数据. CREATE TABLE ...
- 100天搞定机器学习|day54 聚类系列:层次聚类原理及案例
几张GIF理解K-均值聚类原理 k均值聚类数学推导与python实现 前文说了k均值聚类,他是基于中心的聚类方法,通过迭代将样本分到k个类中,使每个样本与其所属类的中心或均值最近. 今天我们看一下无监 ...
- 基于UDP的编程
前提:基于Linux系统的学习 服务器端编程模型1 socket(2) 创建通讯端点,返回一个文件描述符fd2 bind(2) 将fd绑定到本地的地址和端口while(1){ 阻塞等待客户端请求数据的 ...
- 微信小程序的页面跳转==编程式导航传参 和 标签的方法传参==以及如何过去传递过来的参数
小程序导航传参接收传递过来的参数 在onload中 实例
- java-websocket客户端 断线重连 注入Service问题
java版客户端: 使用开源项目java-websocket, github地址: https://github.com/TooTallNate/Java-WebSocket github上有很多示例 ...
- 【转载】Intellij IDEA神器居然还有这些小技巧
概述Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intell ...
- 解决:error LNK1169: 找到一个或多个多重定义的符号
每一个c++项目中可以包含多个cpp文件和.h文件,不过只能有而且必须有一个cpp文件中包含main函数,否则就会报错.所以在一个c++项目中不能单独运行一个cpp文件,只能运行一个项目.如果你想一个 ...
- 一行css代码搞定响应式布局
在这篇文章中,我将教你如何使用 CSS Grid 来创建一个超酷的图像网格图,它将根据屏幕的宽度来改变列的数量.最精彩的地方在于:所有的响应特性被添加到了一行 css 代码中.这意味着我们不必将 HT ...