为什么Java能够持续的受到欢迎呢?原因有这些
回顾过去十五年的成果,Java一直是数一数二的。Java已经占据了曾经C语言所拥有的地位,而C语言在Java开始流行之前一直是最受关注的语言。2015年是Java语言年,而十年之前,Java就已然获此殊荣。
那么,为什么Java能够持续的受到欢迎呢?小千认为还是有一些原因的,这里我们列举四条:
1、实用性
James Gosling 将Java描述为“蓝领”的程序设计语言。它能使开发者花最小的代价完成工作,同时还能使得开发者在一段时间之后,还能继续完成别人的(甚至自己的)代码并且明白其中的意思。当然,你也可以编写可读性差的代码,就像你在其他语言中能做的一样,但是使用良好的编码风格能够让它比其他许多语言都有更好的可读性。
2、向下兼容
Sun公司和之后的Oracle(甲骨文)公司在确保一个版本的Java代码能够正常地在新的版本运行上做出了很多努力。虽然事情并不总是这样(如JavaSE1.4 中的断言和JavaSE5 中的枚举)并且有时不向下兼容的做法能够获得更好的实现(如:泛型),但向下兼容对开发者来说依然是一个引人注目的特性。没有比为了能在新版本的平台上运行代码而修改旧版本中的正常代码更糟糕的事情了。这简直是浪费时间。
3、可扩展性/性能/可靠性
在超过20年和每年数以千计的开发者的推动和发展,Java已经成为了一个坚实的平台,可以赶上甚至超过本地代码的水准(多亏了JVM使用了动态而非静态代码解析的一些优化)。当谈及可扩展性,看看使用Java语言的一些大型企业:Twitter(抛弃了JVM的 Ruby-on-Rails,因为它不再能够扩展),Spotify,Facebook,Scalesforce,eBay,当然还有Oracle。Hadoop,Cassandra 和Spark,大数据工程的基础框架,无不使用Java或者Scala并且在JVM虚拟机上运行的。如果你想要良好的拓展性和性能,Java和JVM是好的选择。
4、保鲜度
对小千来说这是最重要的一条。查看 TIOBE 统计图能够发现,2014 年 10 月份开始,Java的受欢迎程度有了显著的提升,这刚好是在JDK8发行之后。JDK8 对Java开发者来来说有了显著的变化,它引入了Lambda表达式和Stream API。突然间Java开发者能够在不用学习一整套新语言(如Scala)的情况下以一个更加有效的方式进行开发。这些特点也使它有可能更简单地利用多核/多处理器的机器,而不必写很多复杂的和潜在的容易出错的多线程代码。随着Jigsaw工程在为JDK 9的发布而启动, 我们会看到模块化使大企业应用程序更容易建立、部署和维护。同时在JDK10中,对于发展新的语言特性的计划已经在进行中了,比如值的类型等等。
小千非常期待Java能够获得另一个十年当中的年度最佳编程语言。目前Java工程师人才紧缺,供不应求,正是入行的好时机。因此,快抓紧时间入行吧!
本文来自千锋教育,转载请注明出处。
为什么Java能够持续的受到欢迎呢?原因有这些相关推荐
- 使用java实现持续移动的小球
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5559829.html 仅为自己学习作品,使用java的JFrame框架实现持续移动的小球. ...
- java移动小球_使用java实现持续移动的小球
复制代码 1 /*2 使用java实现持续移动的小球 3 */ 4 5 package jframe; 6 7 import java.awt.Color; 8 import java.awt.Gra ...
- python桌面程序打开慢_转 : 终于搞清楚了为什么Java桌面程序总是感觉慢的原因...
终于搞清楚了为什么Java桌面程序总是感觉慢的原因! 按照道理服务器和浏览器都在用脚本和虚拟机,那些不慢,而Java的桌面程序总是感觉响应迟钝呢?主要有两个原因,一是服务器和浏览器都是异步的,提交到渲 ...
- java操作集合中 concurrentModifyException 异常的原因分析
java操作集合中 concurrentModifyException 异常的原因分析 参考文章: (1)java操作集合中 concurrentModifyException 异常的原因分析 (2) ...
- java.lang.NullPointerException出现的几种原因以及解决
java.lang.NullPointerException出现的几种原因: 1.字符串变量未初始化 2.接口类型的对象没有用具体的类初始化,比如: Map map // 会报错 Map map = ...
- Java内存泄露系列--内存泄露的原因及解决方案(大全)
原文网址:Java内存泄露系列--内存泄露的原因及解决方案(大全)_IT利刃出鞘的博客-CSDN博客 简介 简介 本文介绍Java中内存泄露的一些原因与解决方案. 如果内存泄露的空间足够大,就会导致内 ...
- Java基础 -> Java比C/C++执行慢的原因?
Java比C/C++执行慢的原因? C/C++代码直接解释变成机器可执⾏的⼆进制机器码 Java代码还要经过jvm编译(也相当于解释),再解释变成机器可执⾏的⼆进制机器码 摆明了,多加了一节,要慢 J ...
- 元空间不足java.lang.OutOfMemoryError: PermGen space 错误的原因及解决方法
出现 java.lang.OutOfMemoryError: PermGen space 错误的原因及解决方法 原因:堆内存的永久保存区内存分配不足(缺省默认为64M),导致内存溢出错误. 解决的方案 ...
- java.lang.NullPointerException出现的几种原因及解决方案
java.lang.NullPointerException是java编程中最常见的异常之一.任何使用java的人都有在java程序以及java web应用程序中看到java.lang.NullPoi ...
最新文章
- GDAL中GDALDataset::RasterIO分块读取的实现
- 一位大厂程序员回老家当公务员了!
- AI“暴力美学”背后,预训练模型如何乘风破浪?
- 《Python编程初学者指南》——1.6 回到Game Over程序
- jffs2 告警 和 一般性错误
- 蓝桥杯-Anagrams问题(java)
- c#(服务器)与java(客户端)通过socket传递对象_C#(服务器)与Java(客户端)通过Socket传递对象...
- ALV可输入状态下输入金额字段变小数的问题
- Tomcat5.5.9+JSP经典配置实例
- vue中点击添加class,双击去掉class
- python 绘制简易折线图
- 字节跳动面试官:java架构师培训对比
- win11如何设置始终以管理员身份运行 windows11设置始终以管理员身份运行的方法步骤
- 12.卷1(套接字联网API)---IPv4与IPv6的互操作性
- shiny datatable child row:shiny表格二级子行的展开与折叠
- java舆情分析_java毕业设计_springboot框架的舆情监测系统
- 易语言c语言哪个做游戏脚本,游戏简易脚本制作教程
- 速度收藏--16个好玩的深度学习在线应用推荐
- 黎曼 zeta 函数与黎曼猜想
- 高项_第十二章项目采购管理
热门文章
- 十年编程经验输给新晋AI工程师,6个月我们带你绝地反击
- 清华大学冯珺:基于强化学习的关系抽取和文本分类 | 实录·PhD Talk
- SpringBoot-data-MongoDB 报错Please use ‘MongoMappingContext#setAutoIndexCreation(boolean)‘
- 使用R语言绘制层次聚类热图
- Java根据文件头文件信息判断文件类型
- uni-app——一种通过Nginx反向代理处理302重定向请求解决网络请求中无法获取Cookie的解决方案
- C#——文件处理和字符串处理DEMO
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十一)恢复右键、选择和复制
- Eating Soup
- zookeeper分布式锁代码实例