与一年前同样,Java仍然是最流行的编程语言。据TIOBE的数据显示,几十年来,Java比其余语言更常名列榜首,Java由于它拥有可移植性、可扩展性和庞大的用户社区,因此许多知名互联网公司使用Java来开发软件和应用程序,致使互联网企业对Java程序员的需求急剧增长。nginx
注:每项调查统计中,所涉及的技术均采用多选模式。调查结果的单个技术占比率采起: 单个技术投票数量 / 调查总人数 * 100%。程序员
工做中技术使用状况web
远程调用技术spring
87.04%的程序员在工做中会涉及到远程调用技术。 其中,多数程序员在工做中会使用web service、RPC、HttpInvoker。数据库
73.06%的程序员在工做中会使用微服务架构。 其中, Spring Cloud、 Dubbo、 Dubbox占比最高。 “其它”类型的微服务架构中,以 springboot占比最高,可达26%。编程
程序员在工做中经常使用的数据库开发工具为IntelliJ IDEA和 Eclipse。最常常涉及到的数据库知识点为:表结构分析与设计和索引。存储过程和链接池被使用的频率也较高。后端
多数程序员在工做中使用的开发技术为权限管理和消息队列。1/4的程序员在工做中使用的开发技术为报表技术、分布式缓存技术和负载均衡解决方案。浏览器
58.8%的程序员在工做中会使用权限管理技术。其中, shiro的使用比例最高,其次为spring security和自定义框架。缓存
程序员在工做中使用的消息队列技术主要为ActiveMQ、RabbitMQ和Kafka。RocketMQ的使用人数较少。springboot
POI是程序员在工做中使用的主要报表技术,其次为Echarts。
Redis技术是绝大多数程序员在工做中会使用到的分布式缓存技术。其次为ehcache,而Memcached占比较低。
Solr、elasticsearch和Lucene是多数老程序员在工做中使用的全文检索技术。其中,超半数的程序员在工做中使用solr和elasticsearch。
63.33%的程序员在工做中会涉及到分布式事务解决方案。其中,44.29%的程序员使用分布式事务解决方案的目的是保证最终事务性,其次为使用事务补偿和使用两阶段提交。
半数以上程序员在工做中使用的静态资源缓存方案为nginx proxy_cache。其次为浏览器缓存实现和CDN实现。
Jsoup是程序员在工做中使用的组要爬虫技术,其次为Web Magic和“其余”。
多数老程序员在项目中应用MyBatis和先后端分离技术。而在解决方案方面,多数程序员会涉及到spring全家桶和消息中间件。
企业工做中用到的微服务架构主要为spring cloud和Dubbo; 链路监控技术中以Hystrix dashboard实现和ZipKin实现为主; 微服务网关主要用到spring cloud-zuul。 企业工做中用到项目相关知识点主要为MyBatis、先后端分离、Shiro认证框架; 在实际工做中使用到的解决方案:Spring全家桶技术占比较高,其次为消息中间件。 回望 2018 年,Java 仍在互联网技术圈占据主导地位,在新到来的2019年,相信Java的热度依旧不减,选择Java这门编程语言对于将来就业确定没有问题,可是IT互联网是一个动态的领域,新的编程语言、框架和技术陆续出现,流行,而后稳定。开发者须要不断学习新技能,掌握企业发展所须要的新技术,才能不被淘汰。
喜欢能够加关注哦