1.Java 技术整体发展趋势
2.优秀 Java 开源项目
3.Java 学习者应该掌握的技能
看过国外一家公司(Eversoft)于去年 12 月的技术分享,提出了 2021 年 Java 的 5 个发展趋势,和 2020 年相比,基本没有区别。
根据 JetBrains 公司的一项调查,我们发现,尽管年代久远,但 Java 8 仍然是最受欢迎的版本,而且比例高达受访者的 75%!
而 Java 11 作为另一个稳定版本,排名第二,比例占受访者的 32%。也就是说,这两个 LTS(长期支持)版本,基本覆盖了所有的 Java 开发者!
虽然如今 Java 16 都已经发布,并且一次性发布了十几个新特性,但是绝大多数的企业仍然在使用 Java8 或 11,而且就目前来看,这个情况不会发生什么变化。即使下一个长期支持版本 Java 17 即将到来,也很难想象会有几家公司愿意将系统升级到这个版本。
到目前为止,Spring 仍然是最流行的 Java 开发框架,并且几乎应用在了所有地方 —— 从流媒体平台到在线购物。 它的设计目的是为 基于 Java EE 平台的 Java 应用程序创建后端。
Spring 框架基于依赖注入的功能(控件反转 IOC 的一部分),它是在 Java 中构建业务应用程序的理想解决方案:微服务、复杂的数据处理系统、云应用程序或快速、安全且响应迅速的 Web 应用程序。
Spring 的特点是轻量级且易于实现和使用,生态非常活跃,因此完全可以预计 2021 年 Spring 将会更加普及,也会有更多强大的功能。对于 Java 开发者而言,Spring 仍然是不得不学的优秀框架。
另一个持续发展的趋势是由传统巨石后端应用向无服务器架构的迁移,这种趋势将在 2021 年变得更加普遍。
什么是 Serverless 呢?它是一种云服务模型,开发人员只需专注于编码和实现业务,而不必关注基础架构。无服务器架构一词可能会引起误解,意味着不需要服务器。当然,Serverless 解决方案的本身是基于服务器构建的,总不能把程序放空气上跑吧?
使用 Serverless 体系结构的程序员不必纠结于如何设置机器、更新操作系统、进行网络配置或扩展应用程序的工作。这些任务属于 Serverless 服务的提供者,例如国外的 Amazon、Microsoft、Google 和国内的 BAT 等。每个大型公有云服务商都有能力提供 Serverless 服务。
为什么它将在 2021 年获得更大的发展?因为微服务具有非常多的优势,包括降低运营成本、提高软件开发过程的灵活性和动态性(即降本增效),从而以新的系统功能的形式更快地交付需求,为企业带来价值。
毫无疑问,Java 是用于开发大数据项目的最主流的语言。结合历史地位和其增长速度,我们可以轻松地预测它也将在 2021 年继续主导大数据!
对于考虑在数据科学的这一行业中工作的人来说,让自己熟悉最流行的大数据 Java 实现技术是非常必要的。
比如下列技术:
关于大数据,可以看一下 2020 年的大数据 & AI 全貌图,就知道大数据的发展速度有多迅猛、生态有多强大了!
单元测试侧重于小的代码单元,通常是单独的方法或代码行。它们仅检查方法的本地执行,不建议将其用于外部和远程资源。
集成测试也是一种测试类型,通过在模块之间的交互上下文中检查软件,以确认软件是否正常工作。 这种测试方法仍未得到足够的重视,但是由于存在使用数据库容器、队列等进行集成测试(Testcontainers 或 JUnit 5)的可能性,它将在 2021 年变得越来越流行。
GitHub 作为全球最大的代码开源平台,很多知名的 Java 项目都在此开源,star 越多的项目,通常表示更受欢迎和认可、或者使用度更广泛,也能算是 Java 的热门技术吧。
这里列举 GitHub 上 star 最多的前 11 个项目:
TOP 1
Spring Boot:Spring 应用快速搭建和开发框架
地址:https://github.com/spring-projects/spring-boot
TOP 2
elasticsearch:自由、开放的分布式搜索引擎
地址:https://github.com/elastic/elasticsearch
TOP 3
RxJava:Reactive Extensions 的 Java VM 实现,Reactive Extensions 是一个通过使用可观察序列来组成异步和基于事件的程序的库。
地址:https://github.com/ReactiveX/RxJava
TOP 4
guava:面向 Java 的谷歌核心类库
地址:https://github.com/google/guava
TOP 5
okhttp:面向 JVM、Android 和 Graalvm 的细致入微的 HTTP 客户端
地址:https://github.com/square/okhttp
TOP 6
retrofit:适用于 Android 和 JVM 的类型安全的 HTTP 客户端
地址:https://github.com/square/retrofit
TOP 7
Apache Dubbo:基于 Java 的高性能 RPC 框架
地址:https://github.com/apache/dubbo
TOP 8
MPAndroidChart:面向安卓的强大易用的图表库
地址:https://github.com/PhilJay/MPAndroidChart
TOP 9
ZXing:面向 Java 和安卓的条形码扫描类库
地址:https://github.com/zxing/zxing
TOP 10
jadx:Dex to Java 的反编译器
地址:https://github.com/skylot/jadx
TOP 11
Arthas:Java 线上诊断利器
地址:https://github.com/alibaba/arthas
网络协议(Http / Https / TCP / UDP 等)
设计模式
数据结构与算法
操作系统
Linux
JDK API(集合类、JUC、反射、输入输出流)
Java 8 / 11 新特性
JVM 设计思想及底层原理
常用 Java Utils
Spring Framework 5
Spring Security 5
Spring Boot 2
Spring Cloud
MyBatis(MyBatis-Plus)
项目管理工具 Maven、Gradle
缓存(本地缓存、分布式缓存、多级缓存)
Restful Web 服务
RPC
高并发
分布式 & 微服务
云服务
大数据架构(Apache Hadoop、Spark 等)
搜索引擎 Elasticsearch
消息队列(Apache Kafka)
Docker & Kubernetes
Service Mesh
单元测试
Git & GitHub
DevOps
集成开发环境(IDE)
Java 开发插件
前端 Vue、React
有帮助的话,求各位朋友们点赞收藏支持下啦!❤️
当然有需要的小伙伴自行加群学习交流,这里提供免费的学习资源:716743415,或者备注996加V详细解答