JAVA语言的本质优势
虽然Java应用最广泛,但与其它语言比并没有什么技术上的优势。常会看到各种抱怨,说Java语言设计不如C#,对native的精确控制和灵活性不然C++,动态性、开发效率方便不如Ruby,Python,Node,在高并发领域又不如Erlang,中间应用层又远不如Go、Swift等,但为什么它一直是编程语言排行榜首,并且在大公司中广泛应用呢?
比较同意一种说法,Java最大的优势不是它的跨平台性而是它庞大而完善的生态系统。它的流行最主要原因还是由其生态系统决定的。
- Java语法不复杂,入门简单。语言各方面比较均衡,拥有最值得信赖的GC,避免很多码农的低级错误。并且天生的面向对象设计,更容易模块化开发。再加上Java强类型静态语言,只要框架已搭好,即便开发人员能力不足,也基本能保证代码质量,这在大项目的协作开发、维护方面很有优势。
- 开源,拥有大量的第三方库,并且大部分质量有保证,可以拿来就用,对软件生产效率的提升所带来的巨大价值。正如一句话所说:“我们不生产代码,我们只是Github的搬运工。”并且Java拥有很多杀手级应用,如Spring,Apache、Android,Hadoop,Spark等。
- 拥有免费好用的IDE——Eclipse,通过插件几乎可以满足日常开发的任何需求。
- 最重要的,Java在不断的进化,并且在慢慢的进化,正如罗胖在刚刚过去的《时间的朋友》跨年演讲中说的那样“我们喜欢进步,更喜欢慢慢的进步”。
JDK1.4性能很大提升,基本被人接受
JDK1.5增加泛型、线程池、注解
JDK1.6进一步提升性能
JDK1.7加了Try with Resource,switch String等小功能,多线程方面也有改进,性能再次提升。
JDK1.8加入lambda, stream等功能,功能上有了很大的升级。
最后,Java拥有世界上数量最多的程序员,更容易招到人。
JAVA语言的本质优势的更多相关文章
- [Java入门笔记] Java语言简介
前言 学习Java有一段时间了,但是一直缺少一个系统的思想,现在重新通过书籍中.网上的文章,视频等资料,整理与回顾Java的知识点. 言归正传,让我们先从了解Java语言开始. Java语言的由来 J ...
- Java语言的简介
Java语言的由来 Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称.由James Gosling和同事们共同研发,并在1 ...
- Java语言的主要特点
Java语言有很多的优点,可靠.安全.编译和解释型语言.分布式.多线程.完全面向对象.与平台无关性等等. 与平台无关性 Java语言最大的优势在于与平台无关性,也就是可以跨平台使用. 绝大多数的编程语 ...
- Java语言的优势
首先, Java语言是一种纯粹的面向对象的编程语言.这样就决定了Java语言更能直接客观地反映现实生活中的对象,因此Java语言更适合大型的复杂系统开发. 其次, Java语言是一种平台无关的语言. ...
- 瘋耔java语言笔记
一◐ java概述 1.1 ...
- 《JAVA语言程序设计》上课笔记
教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一. 问几个问题 1. 你们到这里来干什么 ...
- 转:C++与JAVA语言区别
转自:http://club.topsage.com/thread-265349-1-1.html Java并不仅仅是C++语言的一个变种,它们在某些本质问题上有根本的不同: (1)Java比C++程 ...
- 数据结构(java语言描述)
概念性描述与<数据结构实例教程>大同小异,具体参考:http://www.cnblogs.com/bookwed/p/6763300.html. 概述 基本概念及术语 数据 信息的载体,是 ...
- Java语言的发展历程
前言 自1946年2月14日世界上首款计算机ENAC问世,第一代计算机语言“机器语言”便诞生了,它使用的是最原始的穿孔卡片,这种卡片上使用的语言只有专家才能理解,与人类语言差别极大.这种语言本质上是计 ...
随机推荐
- 【转】 Linux shell的&&和||
http://www.2cto.com/os/201302/189655.html Linux shell的&&和|| shell 在执行某个命令的时候,会返回一个返回值,该返回值 ...
- poj3237
//Accepted 2280 KB 688 ms /* source:poj3237 time :2015.5.29 by :songt */ /*题解: 树链剖分 基于边权,路径查询最大值 线段树 ...
- .NET3.5项目转.NET2.0项目技巧
最近有一个项目,一开始开发是用VS2008(.NET3.5)开发的,该项目是一个Windorm客户端软件,由于在大规模的推广过程中,发现在安装.NET3.5Framework的时候浪费了太多时间,而且 ...
- beego 框架入门
根据官网向导安装配置好环境和工具https://beego.me 就可以开始了,先来入门下. 1.新建项目 在项目目录下 bee new quickstart成功后就可以运行了 http serve ...
- GSM Hacking Part② :使用SDR捕获GSM网络数据并解密
0×00 在文章第一部分 GSM Hacking Part① :使用SDR扫描嗅探GSM网络 搭建了嗅探GSM流量的环境,在第二部中,我们来讨论如何捕获发短信以及通话过程中的流量,从捕获到的数据中解密 ...
- ENTITYFRAMEWORKCORE 二使用配置文件来配置数据库链接
首先 配置文件现在已经变成appsettings.json, 先添加一个连接字符串 "ConnectionStrings": { "PWDatabase": & ...
- Html 之div+css布局之css基础
Css是什么 CSS即层叠样式表(Cascading StyleSheet). 在网页制作时采用层叠样式表技术,可以有效地对页面的布局.字体.颜色.背景和其它效果实现更加精确的控制. 只要对相应的代码 ...
- mac上使用imagealpha命令对图片进行压缩批处理
#! /bin/bash #BASE_DIR="/Users/jiading/Documents/basepng"; #OUTPUT_DIR="/Users/jiadin ...
- shell命令
1:操作系统:人--使用-->shell(或应用程序)--呼叫-->kernel(核心)--->硬件2:查看shell的种类:# cat /etc/shells3:而这个登入系统的 ...
- Lae程序员小漫画(二),仅供一乐
Lae软件开发,快乐程序员!