共计 2680 个字符,预计需要花费 7 分钟才能阅读完成。
前言
1. 理解 JVM 外部和 Java 性能调优
如果您真的想成为优良的 Java Developer,那么您必须首先花工夫学习 JVM 外部,例如 JVM 的不同局部,它们如何工作,JIT,JVM 选项,垃圾收集和收集器等。
如果您十分理解 JVM,则能够编写强壮且高性能的 Java 应用程序,这就是 Rockstar Java 开发人员所做的。
作为此过程的一部分,您还应该学习如何配置 Java 应用程序,如何发现性能瓶颈,例如哪些对象占用了您的大部分内存,并且耗费了 CPU。
对于结构化学习,我举荐周志明撰写的《JVM 高级个性与最佳实战》,这是我近几年读过的一本好书。
2. 学习微服务和云
架构在一直变动,许多公司正在从繁多应用程序迁徙到微服务。
当初是 Java 开发人员学习微服务体系结构以及如何利用 Java 创立微服务以利用这一最新浪潮的时候了。
侥幸的是,Spring 框架提供了 Spring Cloud 和 Spring Boot,它们大大简化了 Java 中的微服务开发。
如果您正在寻找一门课程,那么《Master Microservices with Spring Boot and Spring Cloud》是一个很好的终点。
3. 学习 Spring Framework(Spring Boot)
现在,Java 开发人员必须学习 Spring 框架,因为大多数公司更喜爱应用 Spring 框架(如 Spring MVC,Spring Boot 和 Spring Cloud)进行开发,以开发 Web 应用程序,REST API 和 Microservices。
它还促成了依赖注入等最佳实际,并使您的应用程序更具可测试性,这是古代软件的要害要求。
如果您是一名新的 Java 开发人员,那么我建议您从 Java 和 Spring 教程开始,以学习该弱小框架的基础知识;如果您曾经相熟 Spring,则应该摸索 Spring Boot 和 Spring Cloud 以开发下一代 Java 应用程序。
4. 学习 Java API 和库
如果您与优良的 Java 开发人员一起工作,您可能曾经留神到他们对 Java 生态系统的全面理解,而 API 是其中的次要局部。
Java 是世界上最风行和最成熟的编程语言,并且有大量的库和 API 能够用于简直所有可能的事件。
当然,您不应该全副理解它们,然而您应该相熟一些要害的 API,例如 JSON 解决 API(例如 Jackson 和 Gson),XML 解决 API(例如 JAXB 和 Xerces),单元测试库(例如 Mockito 和 JUnit)等。
如果您不理解它们,则能够学习或至多取得它们的概述。首先,您能够查看我每个 Java 开发人员都应该晓得的 20 个 Java 库的列表,其中涵盖了要害畛域的库,例如解析,字节码操作,并发,汇合等。
5. 学习 Java 8+(Java 13)
对于 Java 开发人员而言,这是最重要的事件。已有 4 年的历史了,甚至 6 个月后 Java 13 才公布,人们都在议论 Java 10 性能,我晓得许多程序员还没有应用 Java 8 性能(如 lambda 和 Stream API)编写任何代码。
可怜的是,他们中的大多数都是经验丰富的 Java 开发人员。我理解您的职业学习有时会变慢,然而如果您当初不采取行动,您将被抛在后面。
当初,简直所有 Java 开发工作都须要 Java 8 技能,如果您没有这些技能,那么在 Java 面试中很难做好并表现出色。
当初,如果您决定学习 Java 8,但又放心从哪里开始,我建议您查看 Udemy 上的 Complete Java MasterClass,它将教您 Java 8 性能的所有基础知识。
6. 学习设计模式和编码最佳实际
如果你是从头开始编写 Java 应用程序,而后大部分的工夫你正在编写面向对象的代码和设计模式是久经考验的常见问题的解决方案。
通过理解它们并将它们合并到您的代码中,能够使您的应用程序更灵便,未来更容易更改。
因为其余 Java 开发人员也相熟设计模式,并且他们将很快地理解您的解决方案,所以它还改善了整体代码品质和文档。
然而,不要只专一于代码局部,了解精力并施展创造力。应用 lambda 和 Streams 之类的 Java 8 性能重写诸如 Strategy 模式之类的模式。
7. 学习开发工具和 IDE
更好的 Java 开发人员的最重要特色之一就是他们在工具方面十分杰出。他们不仅比一般开发人员理解更多的工具,而且对工具的理解也很高。
因为 Eclipse,NetBeans 和 IntelliJ IDEA 之类的 IDE 是 Java 程序员最重要的工具,因而花一些工夫来学习更好是很有意义的。
您能够理解一些使您的工作变得容易的插件,或一些有助于您更好地导航的键盘快捷键。
即便是一些小技巧也能够帮上大忙,因为您应用的技巧比您想像的要多得多。
8. 学习 DevOps
对于古代 Java 开发人员,DevOps 的常识至关重要。他至多应该相熟继续集成和继续部署以及 Jenkins 如何帮忙实现这一指标。
对于高级 Java 开发人员来说,这一点变得尤为重要,他们通常负责设置编码最佳实际,创立环境,构建脚本和准则。
我还建议您花工夫,从总体上理解 DevOps 以及 Docker,Ansible,Kubernetes 等工具以及 Maven 和 Jenkins 的更多信息。
如果您须要一些资源,那么在 Udemy 中应用 Pipelines 和 Docker 与 Jenkins 一起学习 DevOps:CI / CD 可能是最好的入门课程。您不仅会深刻理解 CI 和 CD,而且还将深刻理解 Maven 和 Jenkins。
我想特地举荐一门课程,特地是针对 Docker 和 Kubernetes 的是 Stephen Grider 的 Docker 和 Kubernetes:残缺指南,您将在一门课程中学习这两个重要工具。
9. 学习单元测试
如果有一个一般的事件将优良的 Java 开发人员与一般的 Java 开发人员辨别开,那么这肯定是他的单元测试技能。
一个优良且业余的 Java 开发人员简直总是为他的代码编写单元测试。
当初,测试曾经有了很长的路要走,Java 开发人员能够应用多种工具进行单元测试,集成测试和自动化测试。
您能够破费大量工夫来磨难 Java 的测试技能,然而对于 Java 世界和单元测试的老手来说,JUnit 是最好的入门库。最新版本的 JUnit 5 既弱小又灵便,每个 Java 开发人员都应该晓得这一点。
如果您还不理解它们,那么能够先学习诸如学习 Java 8 和 Learning Spring Framework 等更重要的内容,然而如果您擅长于这些,则能够抉择其余主题,例如单元测试,JVM 外部和 DevOps。
参考:《2020 最新 Java 根底精讲视频教程和学习路线!》
链接:https://juejin.cn/post/692150…