虽然Java应用最广泛,但与其它语言比并没有什么技术上的优势。常会看到各种抱怨,说Java语言设计不如C#,对native的精确控制和灵活性不然C++,动态性、开发效率方便不如Ruby,Python,Node,在高并发领域又不如Erlang,中间应用层又远不如Go、Swift等,但为什么它一直是编程语言排行榜首,并且在大公司中广泛应用呢?

比较同意一种说法,Java最大的优势不是它的跨平台性而是它庞大而完善的生态系统。它的流行最主要原因还是由其生态系统决定的。

  1. Java语法不复杂,入门简单。语言各方面比较均衡,拥有最值得信赖的GC,避免很多码农的低级错误。并且天生的面向对象设计,更容易模块化开发。再加上Java强类型静态语言,只要框架已搭好,即便开发人员能力不足,也基本能保证代码质量,这在大项目的协作开发、维护方面很有优势。
  2. 开源,拥有大量的第三方库,并且大部分质量有保证,可以拿来就用,对软件生产效率的提升所带来的巨大价值。正如一句话所说:“我们不生产代码,我们只是Github的搬运工。”并且Java拥有很多杀手级应用,如Spring,Apache、Android,Hadoop,Spark等。
  3. 拥有免费好用的IDE——Eclipse,通过插件几乎可以满足日常开发的任何需求。
  4. 最重要的,Java在不断的进化,并且在慢慢的进化,正如罗胖在刚刚过去的《时间的朋友》跨年演讲中说的那样“我们喜欢进步,更喜欢慢慢的进步”。

JDK1.4性能很大提升,基本被人接受

JDK1.5增加泛型、线程池、注解

JDK1.6进一步提升性能

JDK1.7加了Try with Resource,switch String等小功能,多线程方面也有改进,性能再次提升。

JDK1.8加入lambda, stream等功能,功能上有了很大的升级。

最后,Java拥有世界上数量最多的程序员,更容易招到人。

最新文章

  1. HDU--最小路
  2. 【转】查看java类是从哪个包加载
  3. HTML5如何播放本地文件
  4. std::string stringf(const char* format, ...)
  5. 「S-A-L-T-A」项目失败总结!
  6. Cocos_Code_Ide学习(一):理解Cocos Lua Project下的frameworks的proj.win32
  7. legoblock秀上限
  8. Android 开发使用第三方库出现Crash时处理方案汇总
  9. [HNOI 2016]树
  10. Web3与智能合约交互实战
  11. 在vultr安装和使用golang
  12. 缓存子系统如何设计(Cachable tag, Memcache/redis support, xml config support, LRU/LFU/本地缓存命中率)
  13. codeforces-962-c
  14. java中使用jdbc配置连接串时mysql 5.6与5.7版本“编码”参数有区别!
  15. Python格式化字符 %s %d %f
  16. APM浅析
  17. Guava HashMultiMap(MultiMap)反转映射
  18. Iterator接口用法
  19. 织梦SQL标签的使用
  20. 模板模式(TemplateMethod)

热门文章

  1. rem ,em ,px的区别
  2. ACM 暴力搜索题 题目整理
  3. C语言程序设计第二次作业
  4. JS第二天简单总结
  5. UE4蓝图编程的第一步
  6. C#中datatable导出excel(三种方法)
  7. 【Python】将4*4数组旋转90度新数组
  8. api将一统江湖,再无app
  9. Record:Handle onClick for our custom LinearLayout for Gallery-like HorizontalScrollView
  10. POJ 2318