2020 Java学习路线图,Java开发人员的必备技能

2021-04-10 11:28

阅读:553

标签:yellow   mamicode   开源   依赖注入   contain   col   中标   containe   哈希表   

任何Java开发人员的必备技能

现在,让我们一起探索这个Java开发人员路线图,并找出应该学习哪些工具,框架,库和API。

 

技术图片

 

 

1.工具

 

路线图工具部分分为两个主要部分。首先,IDE是您的主要工具,它几乎可以完成您所要求的一切,例如编译,运行,调试,分析,测试,比较文件和代码,重构等等。

第二部分是构建工具,您需要使用它来构建和部署项目,例如Maven和Gradle。其中任何一个都很棒。我刚刚列出了ANT,但这是针对旧项目的。对于所有新的Java项目,我更喜欢Maven或Gradle。

 

2. JDK API

 

接下来要学习的重要事情是JDK API,这对于大多数Java开发人员来说都非常重要。这是一个很大的部分,这就是为什么将其划分为Java Collections框架,Java Concurrency,Java IO和Java 8 API等核心领域的原因;让我们探索它们中的每一个。

 

2.1 Java集合框架

 

这是每个Java开发人员都应该学习的最重要的Java API之一。该API提供了Java中标准数据结构的实现,例如链表,集合,堆栈,队列,哈希表,优先级队列等。

你应该在大约像所有的日常物品起码知道 ArrayList, HashMap, HashSet, LinkedHashSet, TreeSet,等他们每个人都有自己不同的属性。例如, ArrayList 是一个可以增长的动态数组, HashMap 是哈希表的标准实现,可以用于存储键值对。

同样,这 HashSet 是一个不允许重复元素的set实现。

 

2.2 Java并发

 

在Java Collections之后,Java中下一个最关键的API是关于多线程和并发的,我坚信,如果您想成为一名合格的Java开发人员,则必须对Java Concurrency API有扎实的理解和掌握。

你不仅应该有像基本概念的深入理解 Thread, Runnable,对象锁定和同步,而且,你应该熟悉像死锁,活,竞争条件,以及如何处理与他们的概念。

你也应该学习一下先进的Java概念像Java 5中添加的同步和后续版本,例如 CyclicBarrier, CountDownLatch, Phaser, CompleteableFuture,等,连同 Futures 以及如何在Java中执行异步操作。

 

2.3 Java IO

 

我已经采访了100多个Java程序员,并且注意到一种模式:与Java Collections和Java多线程API相比,他们对Java IO和NIO API的了解很少。我可以理解,许多人花费大量时间来学习这两个API,但是您不能抛弃这些关键的API。

如果你有代码现实世界的,核心的Java应用程序,您将需要使用类,如 File, InputStream, OutputStream, Reader,和 Writer 从java.io包,这是Java IO API的核心。同样的,你也需要了解 ByteBuffer, FileChannel, Selector,和其他关键类java.nio的API,如果你想编写一个基于套接字的应用程序。

 

不幸的是,关于教授Java IO和Java NIO API的资源并不多,但是Complete Java Masterclass是掌握此API的绝佳资源。在本课程中,您将从此API中找到很多基本概念。

 

2.4 Java 8功能

 

现在,Java程序员应该学习的下一个以及另一个必要的API就是Java 8的所有功能,它们彻底改变了如今的Java编码和编程方式。为了在2019年成为一名Java开发人员,您必须知道如何使用Lambda表达式,Stream API,Optional类以及新的Date and Time API。

如果不了解这些API,那么在2019年编写Java应用程序将非常困难。现在,大多数库都已停止支持低于Java 8的版本,这意味着最好现在就学习Java 8功能,而不是稍后再学习。Java 8发布已经5年了,因此您几乎没有任何借口。

 

3.框架

 

关于Java的最好的事情是,它拥有一个充满活力的生态系统,这意味着有很多框架和库可用于几乎任何事物。通常,我不建议Java开发人员在需要在项目中使用之前学习框架,但是我相信有些Java开发人员应该知道一些框架和库,例如Spring,Spring Boot,Hibernate,Log4j,JUnit。等

 

3. 1Spring框架

 

如果您想成为一名熟练的Java开发人员,强烈建议您首先学习Spring框架。这是最流行的Java框架之一,从字面上看,过去五年来我工作的几乎每个Java应用程序都使用了该框架。

Spring Framework使开发人员能够编写干净的代码,通过依赖注入和控制反转等功能可以更轻松地测试和维护代码。它还具有用于大多数日常任务的丰富API,这就是每个Java开发人员都应该学习Spring框架的原因。

 

3.2休眠

 

我建议每个Java开发人员都学习的第二个框架是Hibernate,它基于JPA(Java持久性API)。准确地说,Hibernate早于JPA,但是由于JPA是在Java中实现持久层的标准API,因此Hibernate也可以实现它。

现在,为什么要学习休眠?好吧,因为您将使用的大多数Java应用程序都将与数据库进行交互,并且使用Java 而不使用Hibernate之类的适当框架来使用JDBC处理Java中的数据库实在是令人费解。

它提供了一些基本功能,例如开箱即用的缓存和事务,这意味着您有更多时间专注于应用程序逻辑,而不是在应用程序中实现缓存。这可以大大提高Java应用程序的性能,到目前为止,这是我使用Hibernate的最重要的原因。

 

3.3 Spring Boot

 

这是我建议每个Java开发人员在2019年及以后学习的另一个框架。Spring Boot采用了Spring的简化哲学,使使用Spring本身更加容易。就像Spring使创建Java应用程序变得更容易一样,Spring Boot使创建基于Spring的Java应用程序变得更加容易。

自动配置之类的功能消除了与配置Spring应用程序相关的大部分麻烦。同样,入门POM功能将常用的依赖项分组为简单的可重用POM。

 

4.测试

 

测试是任何Java开发人员的一项基本技能,尤其是单元测试,集成测试和自动化测试。最起码,每个Java开发人员都应该熟悉JUnit和Mockito,这两个是最受欢迎的单元测试和模拟库。

如果您知道这两个并知道如何使用它们来有效地创建单元测试,那么与没有它们相比,您将是一个更好的Java开发人员。

还有更高级的库,例如用于业务驱动测试的Cucumber,用于集成测试的Robot Framework,但是没有替代品JUnit。您将始终需要JUnit。

对于模拟库,您可以选择PowerMock,Mockito和EasyMock等两种选择,但我强烈建议您学习Mockito,因为它是一个很棒的库,并且许多Java开发人员和公司都在使用它。它正逐渐成为在Java中创建模拟对象的标准库。

如果您想学习JUnit和Mockito,我已经分享了很多资源,例如书籍和课程,您可以查看这些资源以了解更多信息。

 

5.实用程序库

 

Java的真正功能在于其丰富的开源库生态系统。您会发现库在Java中几乎可以完成所有工作,从日志记录到机器学习,从发送HTTP请求到解析JSON等等。

除此之外,Java还幸运地拥有诸如Apache Commons和Google Guava之类的实用程序库。这两个库有效地补充了JDK库。我还为Java开发人员共享了20个Java API和库的列表。

我建议您仔细阅读这份清单;很有可能您已经拥有了其中的一半,但是如果您不学习它们,它们将非常非常有用,可以帮助您编写更好的Java程序并提供更快的代码。

最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我

 

技术图片

 

版权所属:归原作者所有

java交流学习资源大全文件,下载学习手册,面试题,开发工具,PDF文档书籍教程

声援博主:您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得随手点波  推荐  不要忘记哦!!!

别忘了点 推荐 留下您来过的痕迹 

2020 Java学习路线图,Java开发人员的必备技能

标签:yellow   mamicode   开源   依赖注入   contain   col   中标   containe   哈希表   

原文地址:https://www.cnblogs.com/ty644/p/13367420.html


评论


亲,登录后才可以留言!