更新时间:2019-11-21 09:25:28 来源:极悦 浏览2480次
本文提供的成长路线图将包含如何成为Java专家的最佳成长曲线。它回答了人们以下的问题:
1)Java开发人员应该学习哪些技术?
2)哪些工具是最好的
3)Java开发人员需要学习哪些框架?
此路线图的目的之一是让人们既有学习效果,时间也尽可能地缩短。避免许多模棱两可的方法,尤其是在涉及库和工具时,坚持使用行业标准的工具和标准库。
另外我们将路线图描述得尽量简洁,以便大多数人都可遵循,因此本文只包括了一些基本内容。
我们会推出后续的JavaDeveloperRoadmap2.0,它会添加一些高级功能,例如JVM内核解析,配置文件管理,模块化,Cloud-Native云原生,容器(Docker和Kubernetes)等内容。
顺便说一句,不用完全了解此路线图上的内容也能成为优秀的开发人员。如果你不想这样做,当然也无需认真看待,但是可以将此路线图做为起点来指导自己的学习。
让我们开始吧。
现在,让我们一起探讨这个Java开发人员路线图,并找出应该学习哪些工具,框架,库和API。
1.工具
路线图中的工具部分由两个主要部分组成。
首先,IDE是主要工具,它可以满足程序员的所有需求,例如编译,运行,调试,分析,测试,文件比较和代码管理,重构等。
第二部分是构建工具,用它来构建和部署项目,例如Maven和Gradle,它们任何一个的设计都很棒。刚刚还想列出ANT,但它是针对旧项目的。对于所有新的Java项目,人们更喜欢Maven或Gradle。
2.JDKAPI
下一个要学习的重要事情是JDKAPI,对于大多数Java开发人员来说都非常重要。这是一个很大的部分,这就是为什么将其划分为JavaCollections框架,JavaConcurrency,JavaIO和Java8API等核心领域的原因。
2.1
这是每个Java开发人员都应该学习的重要JavaAPI之一。该API提供了Java中标准数据结构的实现,例如链表,集合,堆栈,队列,哈希表,优先级队列等。
你至少应该知道Java所有的日常用品一样ArrayList,HashMap,HashSet,LinkedHashSet,TreeSet,等,它们各自有自己的属性。例如,ArrayList是一个可以动态增长的数组,HashMap是哈希表的标准实现,可以用来存储键值对,而HashSet是一个不允许重复元素的集合实现。
2.2
在JavaCollections之后,Java中下一个关键API是关于多线程与并发的,如果您想成为一名合格的Java开发人员,则必须对JavaConcurrencyAPI有扎实的掌握。
不仅应该深入了解诸如Thread,,Runnable对象锁定和同步之类的基本概念,而且还应该熟悉诸如死锁,活动锁,争用条件以及如何处理它们的概念。
还应该了解像Java5及以后的版本,例如添加同步先进的Java概念,CyclicBarrier,CountDownLatch,Phaser,CompleteableFuture等,连同Futures以及如何在Java中执行异步操作。
2.3JavaIO
我采访过100多个Java程序员,并且注意到一种模式:与JavaCollections和Java多线程API相比,大家对JavaIO和NIOAPI的掌握都很少。
如果想写一个真实的核心Java应用,需要用到如下类:File,InputStream,OutputStream,Reader,和Writer等,这是JavaIOAPI的核心。同样的,你也需要了解ByteBuffer,FileChannel,Selector,从java.nio的API和其他重要课程,如果你想编写一个基于Socket的应用程序。
关于讲授JavaIO和JavaNIOAPI的资源并不多,但是CompleteJavaMasterclass是掌握此API的绝佳资源,你将从此API中找到很多基本概念。
2.4Java8功能
Java程序员应该学习的下一个必要的API是Java8的功能,这些功能彻底改变了当今的Java编码和编程方式。你需要知道如何用Lambda表达式,StreamAPI,Optional类和新的日期时间API。
现在,大多数库都已停止支持低于Java8的版本,这意味着最好现在就学习Java8功能,而不是以后。Java8发布已经5年了,我们没有任何借口。
3.框架
Java有一个充满活力的生态系统,这意味着有很多框架和库,几乎可以用来做全部的事物。通常,不建议Java开发人员在熟悉Java之前就开始学习框架,但是Java开发人员应该知道一些流行的框架和库,比如Spring,SpringBoot,Hibernate,Log4j,JUnit。
3.1Spring框架
如果您想成为熟练的Java开发人员,强烈建议先学习SpringFramework。这是最流行的Java框架之一,过去五年来几乎每个Java应用程序都使用了该框架。
SpringFramework使开发人员能够编写干净的代码,通过依赖注入等功能,能够轻松地测试和维护代码。它还有丰富的用于大多数日常任务的API。
3.2Hibernate
我建议每个Java开发人员学习的第二个框架是Hibernate,它基于JPA(Java持久化API)。准确地说,Hibernate早于JPA,但是由于JPA是在Java中实现持久层的标准API,因此Hibernate也可以实现它。
因为大多数Java应用程序都会与数据库进行交互,并且使用Java而不使用Hibernate之类的适当框架来使用JDBC处理Java中的数据库实在是令人难以调试。
Hibernate提供了一些基本功能,例如开箱即用的缓存和事务,开发者有更多时间专注于应用程序逻辑,而不是在应用程序中实现缓存。这可以大大提高Java应用程序的性能,这是我用Hibernate的最重要原因。
3.3SpringBoot
这是我建议每个Java开发人员在2019年后学习的另一个框架。
SpringBoot采用了Spring的简化哲学,让Spring本身更加容易。就像Spring使创建Java应用程序变得更容易一样,SpringBoot使创建基于Spring的Java应用程序变得更加容易。
自动配置之类的功能消除了与配置Spring应用程序相关的部分很烦琐。同样,入门POM功能将常用的依赖项分组为简单的可重用POM。
4测试
测试是Java开发人员的一项基本技能,尤其是单元测试,集成测试和自动化测试。每个Java开发人员都应该熟悉JUnit和Mockito,这是两种最受欢迎的单元测试和模拟库。
如果知道这两个并知道如何使用它们来有效地创建单元测试,那么与没有它们相比,您将是一个更好的Java开发人员。
还存在更高级的库,例如用于业务驱动测试的Cucumber,用于集成测试的RobotFramework,但是没有替代品JUnit。你将始终需要JUnit。
对于模拟库,您可以选择PowerMock,Mockito和EasyMock等几种选择,但建议你学习Mockito,因为它是一个很棒的库,并且许多Java开发人员和公司都在使用它。它正逐渐成为在Java中创建模拟对象的标准库。
5.实用程序库
Java的真正精彩在于其丰富的开源库生态系统。你会发现库在Java中几乎可以完成所有工作,从日志记录到机器学习,从发送HTTP请求到解析JSON等等。
除此之外,Java还拥有诸如ApacheCommons和GoogleGuava之类的实用程序库。这两个库有效地补充了JDK库。
希望这份清单,可以帮助我们编写更好的Java程序。
以上就是极悦java学院小编针对“2019Java开发学习成长路线”的内容进行的回答,希望对大家有所帮助,如果对于学习Java的学习计划,怎么学才有效率,或者学完如果找工作的问题,请在线咨询,有专业老师随时为你服务。
零基础自学java教程推荐
最新java视频教程免费下载(从入门到精通):
零基础java自学教程:
相关推荐
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习