很多未解之谜终于有答案了——2018年JVM生态系统报告出炉

https://blog.csdn.net/hollis_chuang/article/details/84134298
 
2018年11月16日 09:53:53 Hollis在CSDN 阅读数:1023更多

个人分类: Java
 

在Java开发者中,一直存在着很多鄙视链。如:

IntelliJ → Eclipse → NetBeans

Unix → Linux → Mac OS→ Windows → DOS

Emacs → Vim → Sublime → Word → Power Point

这诸多鄙视链中一直存在着很大的争议

也正是存在诸多争议,导致很多开发者更加迷茫

到底选择IntelliJ还是Eclipse?

Java 11 出来了,我要不要升级?

听说SSH过时了?那Hibernate还要不要学了?

Git和SVN,Maven和Gradle,到底如何选?

笔者无法给出明确的答案,只能给你一些建议。

今日,SNYC出炉了一份2018年JVM生态系统报告

涉及到了很多一直困扰广大Javaer的问题

让我们一起来看一下,全世界的广大开发者是如何解决这些世纪难题的。

生产环境中主要使用哪个厂商提供的JDK?

很多厂商都提供了自己的JDK实现,到底哪个厂商提供的JDK更受开发者青睐呢,调查发现,Oracke JDK以70%的绝对优势占据了主导地位。

生产环境中主要使用哪个版本的Java SE

目前,Java SE 官方版本已经更新到了 Java 11,但是,光大开发者主要使用的版本是哪个呢?

调查发现,80%左右的用户使用的Java SE 8。

到底如何选择Java版本?

最多的人选择使用LTS版本。目前最新的LTS版本分别是Java 11 和Java 8。

主要是用了哪个IDE?

这个问题一直是一个未解之谜,Eclipse和IntelliJ IDEA之争由来已久,一直没有定论。

今年调查报告显示,45%的用户选择IntelliJ IDEA,其中大部分用户使用的是免费的社区版,小部分用户使用付费的专业版。

主要是用哪个构建工具

相比之下,Maven还是占据着主导地位,超过半数用户仍然倾向于Maven。

主要使用哪个静态代码扫描工具

前三名分别是Sonar 、FindBugs和Checkstyle。

主要使用哪个持续集成工具

主要使用哪个代码托管工具

目前Git+SVN已经占据了总数的90%,其中大部分开发者首选Git,已经遥遥领先于SVN了。 

主要使用哪种单元测试工具

目前市面上单元测试相关的工具有很多,其中最受欢迎的还是JUnit,其次是MOCK框架Mockito。 

主要使用哪种开发框架

在Java生态系统中,Spring已经是占据了无可撼动的地位。随着微服务等概念的越来越火,Spring Boot等也是越来越受欢迎了。主流的框架已经从SSH演化成 Spring全家桶。 

主要使用哪种ORM框架

Java开发是离不开ORM框架的,几乎很少有开发者通过JDBC进行数据库操作的。

目前使用最广泛的ORM框架还是老大哥Hibernate。 

主要使用哪种数据库

数据上面,使用最多的还是Oracle,第二名是MySql

主要使用哪种应用服务器

在应用服务器的选择上,超过40%的用户选择Tomcat。Tomcat、Jboss、Jetty包揽了前三甲。

开发者年龄分布

目前,开发者的普遍年龄在30+,其中30-40岁的开发者占总数的40%左右。

主要使用的学习网站

开发者主要通过StackOverflow进行学习,俗称面向StackOverflow编程。

颁奖时间

以下是关于以上调查报告的总结。下图中的12个获胜者你都有在用吗?

如果您在今后的开发中,需要做技术选型的时候,可以参考这份调查报告。

[转帖]2018年JVM生态系统报告出炉的更多相关文章

  1. JVM Ecosystem Report 2020 (2020年JVM生态系统报告)

    本文翻译自SNYK于2020年发布的< JVM Ecosystem Report 2020 >,全文使用机器翻译自动生成,人为将翻译的离谱和翻译明显错误的地方修正到勉强能看懂的程度. 英语 ...

  2. 黑名单机制来临,你的应用还好么?Android P DP2最新兼容性报告出炉

    5月9日,谷歌面向全球开发者发布了 Android P Beta,即 Android P DP2. 华为终端开放实验室第一时间对TOP1000主流应用兼容性进行测试,那么在版本兼容性方面各主流应用有何 ...

  3. 【转帖】2018全球公有云IaaS榜单出炉:阿里、腾讯、中国电信、金山云列前十

    2018全球公有云IaaS榜单出炉:阿里.腾讯.中国电信.金山云列前十 https://news.cnblogs.com/n/628391/ 中国电信貌似就是用的华为的技术 阿里 腾讯 华为 金山 百 ...

  4. Packt发布了2018年技能提升报告

    2018年技能提升报告Skill Up 2018 - Developer Skills Report | PACKT Bookshttps://www.packtpub.com/skill-up-20 ...

  5. 2022 Java生态系统报告:Java 11超Java 8、Oracle在缩水、Amazon在崛起!

    近日,New Relic发布了最新的2022 Java生态系统报告,这份报告可以帮助我们深入的了解Java体系的最新使用情况,下面就一起来看看2022年,Java发展的怎么样了,还是Java 8 YY ...

  6. 2017 Gartner数据科学魔力象限出炉,16位上榜公司花落谁家?

    https://www.leiphone.com/news/201703/iZGuGfnER4Sv2zRe.html 2017年Gartner数据科学平台(在2016年被称作“高级分析平台”)的魔力象 ...

  7. 2017年11月GitHub上最热门的Java项目出炉

    2017年11月GitHub上最热门的Java项目出炉~ 一起来看看这些项目你使用过哪些呢? 1分布式 RPC 服务框架 dubbohttps://github.com/alibaba/dubbo S ...

  8. 2016亚洲城市GDP50强出炉

    2017年年1月,中国各省GDP排名,台湾排第6:广东,江苏,山东,浙江,河南,台湾,四川,湖北,河北,湖南,我国台湾地区去年的GDP增长率为1.4%,总量折合人民币约为37329.1亿元,加入全国榜 ...

  9. ASP.NET CORE-Info:TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗

    ylbtech-ASP.NET CORE-Info:TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗 1.返回顶部 1. TechEmpower在10月30发布最新一 ...

随机推荐

  1. 【转载】CString、BSTR和LPCTSTR之间的区别

    原文:http://www.cnblogs.com/GT_Andy/archive/2011/01/18/1938605.html 一.定义 1.CString:动态的TCHAR数组.它是一个完全独立 ...

  2. 提交到开源git时出现:fatal: refusing to merge unrelated histories的解决办法

    解决办法   创建本地库和fetch远程分支这些前面的步骤这里略过.可以自行百度. 解决办法: 1.cmd进入项目的根目录. 2.执行下面的命令:git pull origin master --al ...

  3. Zabbix实战-简易教程--订阅类

    一.需求提出 最近数据中心有一个新的需求,有一批后台任务需要在每天固定时间点运行(凌晨8:00),现在希望能够把这个任务执行的结果定时上报给他. 说明:执行的任务为一个sql查询,查询出来的是每个任务 ...

  4. 180803-Spring定时任务高级使用篇

    Spring定时任务高级使用篇 前面一篇博文 <Spring之定时任务基本使用篇> 介绍了Spring环境下,定时任务的简单使用姿势,也留了一些问题,这一篇则希望能针对这些问题给个答案 I ...

  5. TPO-19 C2 Cafeteria's Food Policy

    TPO-19 C2 Cafeteria's Food Policy 第 1 段 1.Listen to a conversation between a student and the directo ...

  6. iOS分类Category探索

    什么是Category? Category是Objective-C 2.0之后添加的语言特性,Category的主要作用是为已经存在的类添加方法,一般称为分类,文件名格式是"NSObject ...

  7. 分析(function(window, undefined) {})(window)

    有的时候,我们会在JS框架中看到这行 (function(window, undefined) {})(window) ,它是做什么用的,我们来分析下它 首先这就是一个匿名函数,立即执行它 (func ...

  8. AssertionError

    (1)p1 = multiprocessing.Process(test1)p2 = multiprocessing.Process(target=test2) 错误: p1缺少target,应为(t ...

  9. windows docker 安装cloudera/quickstart

    最近需要写一个大数据的项目,但是公司没有测试环境,真是cao蛋,没办法,只能自己搭建一个测试环境,所以就在本地电脑装一个cloudera/quickstart,这个是一个单节点的大数据平台, 是clo ...

  10. RabbitMQ基础使用之集群构建

    简介 RabbitMQ是基于Erlang开发的一种消息队列服务,本篇文章主要部署三台机器用来实现集群的普通模式与镜像模式!欢迎大家吐槽交流学习! 特点 集群节点包括内存节点和磁盘节点,有了磁盘节点就支 ...