成为更好的Java程序员的9条技巧

成为更好的Java程序员的9条技巧

架构即人生2021-01-23 22:56:49

https://medium.com/javarevisited/9-tips-to-become-a-better-java-programmer-cad4c9334cc1

1.了解JVM内部和Java性能调优

如果您真的想成为优秀的Java Developer,那么您必须首先花时间学习JVM内部,例如JVM的不同部分,它们如何工作,JIT,JVM选项,垃圾收集和收集器等。

如果您非常了解JVM,则可以编写健壮且高性能的Java应用程序,这就是Rockstar Java开发人员所做的。

作为此过程的一部分,您还应该学习如何配置Java应用程序,如何发现性能瓶颈,例如哪些对象占用了您的大部分内存,并且消耗了CPU。

对于结构化学习,我推荐Scott Oaks撰写的《 Java性能权威指南》,这是我近几年读过的一本好书。

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。

收藏
举报
2 条评论
(0)

相关推荐

  • 推荐一款基于 SpringBoot 的接口快速开发框架

    (给ImportNew加星标,提高Java技能) 简介 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义C ...

  • (51条消息) SpringCloud和Kubernetes在微服务层面对比

    2021-01-06 18:58:30 一站式学习AI基础知识+核心技术+实操教程+免费工具集9大课程,边学习边实操,带你通关计算机视觉应用,还有免费工具集和开放平台供所有开发者使用! Spring ...

  • 测试运维工程师必备技能之Java专项

    经过一周的"假期综合征"的侵害,在元宵来临,相信大家自身抵抗力大概已经逐步打败懒癌,占据身体高地,怎么都跑不了恢复工作的状态了. 之前提到了一篇Python版本的技能: 测试运维工 ...

  • 后端必备的200本书,一次性给你!

    书籍分类 面试手册 <JAVA面试题解惑系列> <程序员面试经典> <2019java面试题汇总> <Java程序员面试笔试宝典> <Java程序 ...

  • 花了6个月18天,肝完阿里技术官的笔记,成功斩获了3个大厂的offer

    前言: 要相信,你现在所有的努力和付出都会在将来的某一天回报给你! 首先阿里巴巴作为国内互联网行业的领头羊,培养了一代又一代的IT技术人才,很多想进阿里这些互联网大厂的程序员看中的不仅仅是高薪 丰厚的 ...

  • Spring Boot快速开发REST服务最佳实践

    一.为什么选择Spring Boot Spring Boot是由Pivotal团队提供的全新框架,被很多业内资深人士认为是可能改变游戏规则的新项目.早期我们搭建一个SSH或者Spring Web应用, ...

  • 成为一名优秀的Java程序员9+难以置信的公式

    成为一名优秀的Java程序员 成为一名优秀的Java程序员并不重要,但是首先您应该了解基本的编程语言. 好吧,你知道那太好了.我们应该一步一步地精通Java编程,并应遵循所有说明,改进Java的编程逻 ...

  • 帮公司面试月薪1万6的java程序员,问得都很基础啊

    B站就是下面账号 视频可能更有感觉哦 面试的答案在本文章 建议大家先看视频,然后看自己能否回答上 回答不上的回头看看本文章效果更好哦 面试的日子里有程序汪的面试视频和文章,面试不慌了(这广告打的) 这 ...

  • 想成为一名优秀的Java程序员学历真的重要嘛?

    作为编程语言界的常青藤Java,无论是在企业级应用,还是后端开发中,均有着无可替代的地位.而对于Java开发者是否需要学历文凭也是一直以来都十分热议的话题,今天小编就带着大家来侃一侃这个问题. 首先回 ...

  • Java程序员简历应该怎么写,需要注意些什么?

    前言 不论是校招还是社招都避免不了各种面试.笔试,如何去准备这些东西就显得格外重要.不论是笔试还是面试都是有章可循的,我这个"有章可循"说的意思只是说应对技术面试是可以提前准备.  ...

  • web-magic + Xpath Java程序员

    大学毕业一年收获还是满满的!手动滑稽 今天呢,来记录一个爬虫项目,用的web-magic实现,不说Java和Python那个更强,只看那个代价更小,与现在我而言自然是Java喽!同时呢magic也是参 ...

  • 马士兵JAVA高级互联网架构师|JAVA程序员涨薪必备【马士兵教育】

    5年大数据.人工智能开发经验,曾经任职于HPE.国家生物研究院等多家企业,负责过HPE国内基地海量数据的共享与存储平台.医疗大数据存储解决方案.基于基因信息诊断模型(借助TensorFlow.Kera ...

  • 如何衡量一个Java程序员技术水平?

    Java后端开发大致分为三个层次:初级开发.高级开发和架构构建.针对不同的阶段掌握技术能力有所不同,那具体要掌握哪些技术呢? 初级程序员: 初级工程师主要是指刚毕业的,职场上的技术新人.通常这类人会有 ...

  • 2021年Java程序员学习路线图大纲

    第一阶段 Java基础: 面向对象 面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式. 集合 即集合是&quo ...

  • 知乎热评:你做 Java 程序员真的是因为热爱吗?

    知乎热评话题:你做程序员真的是因为热爱吗?问题详细描述是这样的: java开发程序猿,最近有些迷茫.毕业快一年了,实习+工作在现在的公司近两年.没有当初刚开始工作时那么热情了,想要去提升但是静不下心去 ...