2019年成为更好的java开发者的十个提示

独孤文彬 独孤文彬     2022-12-05     558

关键词:

我经常收到读者发来的电子邮件,要求我告诉他们如何成为更好的Java开发人员,他们应该学习什么,以及他们可以成为Rockstar Java开发人员的工作领域和方向有哪些?

在过去几年中单独回答之后,我想了几点,我认为这将使你成为一名更好的Java程序员和应用程序开发人员。但是,在进入之前,我想强调一个更好的程序员总是一个更好的Java开发人员,这就是为什么我之前分享的所有提示,以提高你的编程技能,成为一个更好的程序员仍然是正确的。

如果您尚未阅读它们,可以在本文之后阅读它们,它们将帮助您提高编程和编码技能,这对于成为更好的Java开发人员至关重要。

本文完全侧重于Java开发的视角,我假设您已经擅长编码,数据结构和算法以及计算机科学概念等基本内容。网络,协议,面向对象的编程等

这些技巧对于Core Java开发人员同样有用,我指的是编写服务器端应用程序但不真正参与Web开发技能的Java人员,例如JSP,Servlet和JEE,以及Java Web开发人员,他们的主要工作是使用Java技术编写Web应用程序。

虽然,我遗漏了一些网络资料,例如在另一天学习JSF或Servlet 4.0,使这个列表简短而简单。无论如何,没有任何进一步的麻烦,这里有一些提示和建议,以成为2019年更好的Java开发人员。

1.学习DevOps工具

对于现代Java开发人员来说,了解DevOps至关重要。他应该至少熟悉持续集成和持续部署以及Jenkins如何帮助实现这一目标。 对于经常负责设置编码最佳实践和创建环境,构建脚本和指南的高级Java开发人员来说,这一点变得更加重要。 我还建议您花时间了解更多有关DevOps以及Docker,Chef,Kubernetes等工具以及Maven和Jenkins的信息。 如果您需要一些资源,那么在Udemy中使用Pipelines和Docker学习DevOps:CI / CD和Jenkins可能是最好的课程。您不仅可以深入了解CI和CD,还可以了解Maven和Jenkins。

2.更好地学习Java

对于Java开发人员来说,这是最重要的事情。 Java不断更新,现在每个新版本都会在6个月内更新,这是让自己保持最新状态的一大挑战。我一直在学习Java 10的功能,我知道许多程序员没有使用lambdas和Stream API等Java 8功能编写一行代码。 不幸的是,他们中的大多数都是经验丰富的Java开发人员,拥有7至10年的丰富经验。我明白,在你职业生涯的某些阶段,学习变得缓慢,但如果你现在不采取行动,你将被抛在后面。 几乎所有Java开发工作现在都需要Java 8技能,如果你没有它们,那么在Java访谈中表现良好并且表现良好将非常困难。 现在,如果您已经考虑学习Java 8但担心从哪里开始,我建议您查看Udemy上的The Complete Java MasterClass,它将教您Java 8功能的所有基础知识以及Java 9中引入的其他新功能,10,11,也许很快就会出现在Java 12中。而且,如果您对更高级的实践课程感兴趣,那么由Heinz Kabutz博士重构Java 8是一个很好的开始。

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应用。 如果您正在寻找一些参考资料,那么Spring Framework 5:Beginner to Guru是最好的课程。

4.学习单元测试

如果有一个常见的东西将优秀的Java开发人员与普通的Java开发人员分开,那么它就是单元测试技能。 一个优秀而专业的Java开发人员几乎总是为他的代码编写单元测试,如果他真的是Rockstar开发人员,你可以从他的代码和测试中看到它。 现在,Java开发人员可以使用多种单元测试,集成测试和自动化测试工具进行测试。 您可以花费大量的2019来磨练您的Java测试技能,但是那些不熟悉Java世界和单元测试的人,JUnit是最好的库。最新版本的JUnit 5既强大又灵活,每个Java开发人员都应该知道这一点。 如果您正在寻找JUnit的良好概述和Java中的单元测试,那么JUnit和Mockito Crash Courses是一个完美的开始。它不是最新的,因为它不包括JUnit 5,但对初学者来说仍然非常有用。

5.学习API和库

如果您与优秀的Java开发人员合作过,您可能已经注意到他们对Java生态系统和API的整体知识构成了它的主要部分。 Java是世界上最流行和最成熟的编程语言,并且有大量的库和API可用于执行几乎所有可能的操作。 当然,您不应该知道所有这些,但是您应该熟悉一些关键API,例如JSON处理API,如Jackson和Gson,XML处理API,如JAXB和Xerces,单元测试库,如Mockito和JUnit等。 如果您不了解它们,您可以在2019年学习或至少了解它们。首先,您可以查看我的每个Java开发人员应该知道的20个Java库的列表,其中包括来自关键领域的库,如解析,字节码操纵,并发,集合等

6.学习JVM内部原理

如果您真的想成为Rockstar Java Developer,那么您必须花时间学习JVM内部,例如JVM的不同部分,它们如何工作,JIT,JVM选项,垃圾收集和收集器等。 如果您对JVM了如指掌,那么您可以编写健壮且高性能的Java应用程序,这就是Rockstar Java开发人员所做的。 作为其中的一部分,您还应该学习如何分析Java应用程序,如何找到性能瓶颈,例如:哪些物品占据了你的大部分记忆和吃CPU。 对于结构化学习,我建议理解Pluralsight上的Java虚拟机系列。这是非常详细和实用的课程,非常适合好奇的Java开发人员。

顺便说一句,你需要一个Pluralsight会员才能进入这个课程,每月花费29美元左右或每年299美元(14%的折扣)。 如果您没有Pluralsight会员资格,我鼓励您获得一个,因为它允许您访问他们的5000多个关于所有最新主题的在线课程,如前端和后端开发,机器学习等。它还包括交互式测验,练习和最新的认证材料。 它更像是Netflix软件开发人员,而且学习是我们工作的重要组成部分,Plurlasight会员资格是保持竞争优势的好方法。 他们还提供10天的免费试用,没有任何承诺,这是一个很好的方式,不仅免费访问该课程,而且在加入Pluralsight之前检查课程的质量。 对于那些喜欢书籍的人来说,Scott Oaks的Java性能权威指南是一本很好的书,可以掌握JVM内部和垃圾收集。

7.学习设计模式

如果您从头开始编写Java应用程序,那么大多数时候您编写面向对象的代码和设计模式都是经过试验和测试的常见问题解决方案。 通过了解并将其合并到您的代码中,您可以使应用程序更加灵活,并且将来更容易更改。 它还提高了整体代码质量和文档,因为其他Java开发人员也熟悉设计模式,他们会很快理解您的解决方案。 但是,不要只关注代码部分,理解精神和创造性。使用lambdas和Streams等Java 8功能来重写模式,例如策略模式。

如果您正在寻找一些资源来学习设计模式,那么这个设计模式课程列表是一个很好的起点。而且,对于那些喜欢书籍的人,我可以在这里找到关于设计模式的推荐书籍。

8.学习Kotlin

几年前我读了一本名为The Well-Grounded Java Developer的书,强调了成为Polyglot程序员的优势。 它激发了我学习Scala的能力,后来我也尝试了Groovy,因为它在创建构建脚本和单元测试方面的使用有所增加。 这种经历对我帮助很大,这就是为什么我鼓励Java开发人员学习新的JVM语言。我之前在博客上发表过关于Java开发人员应该在2019年学习的3种JVM语言的博客,但如果你赶时间,只需学习Kotlin。 它是JetBrains的优秀语言,JetBrains是IntelliJ IDEA背后的公司,也是谷歌2017年宣布的Android开发官方语言。 它不仅可以提高您的工作效率,还可以帮助您进入Android开发领域。如果你想在2019年学习Kotlin并寻找一些好的资源,那么这里有一个Kotlin课程列表。

9.学习微服务

架构正在不断变化,许多公司正在从单一的应用程序转向微服务。 现在是Java开发人员学习微服务架构以及如何在Java中创建微服务以利用这一最新浪潮的时候了。 幸运的是,Spring框架提供了Spring Cloud和Spring Boot,极大地简化了Java中的微服务开发。 如果您正在寻找课程,那么使用Spring Boot和Spring Cloud的Master Microservices是一个很好的开始。

而且,如果您更喜欢书籍,那么我建议您查看Josh Long的Cloud Native Java,它为开发云应用程序提供了全面的指南。

10.更好地学习IDE

更好的Java开发人员最重要的特征之一是他们的工具非常好。他们不仅知道比普通开发人员更多的工具,而且他们也很了解他们的工具。 由于Eclipse,NetBeans和IntelliJ IDEA等IDE是Java程序员最重要的工具,因此花些时间更好地学习是有意义的。 您可以了解一些使您的任务变得简单的插件或一些可以帮助您更好地导航的键盘快捷键

原文链接:
https://javarevisited.blogspot.com/2018/05/10-tips-to-become-better-java-developer.html

提高编码技能成为更好的开发者的十个提示

许多Java开发人员问我如何成为一个更好的程序员,如何提高我的编程技能,或者我擅长Java但在解决问题的技能上不那么好等等。这是现实,今天的时代充满了语言专家而不是真正的程序员。它易于理解Java编程语言的... 查看详情

提高编码技能成为更好的开发者的十个提示

许多Java开发人员问我如何成为一个更好的程序员,如何提高我的编程技能,或者我擅长Java但在解决问题的技能上不那么好等等。这是现实,今天的时代充满了语言专家而不是真正的程序员。它易于理解Java编程语言的... 查看详情

34.js开发者必须知道的十个es6新特性

JS开发者必须知道的十个ES6新特性这是为忙碌的开发者准备的ES6中最棒的十个特性(无特定顺序):默认参数模版表达式多行字符串拆包表达式改进的对象表达式箭头函数 =&>Promise块级作用域的let和const类模块化注意:这... 查看详情

2020年精心收集的十个java开发网站

...托管平台,一个拥有数十亿行代码的网站,每天有数百万开发者聚集在一起,研究开源软件中存 查看详情

开发者关心的十个数据库技术问题

...新程序员002》经过用户、专家调研,收集汇总了十个开发者关心的数据库技术问题,并邀请腾讯云TDSQL技术负责人、首席架构师雷海林作出解答,希望为越来越多投身数据库的技术人才提供参考。数据 查看详情

开发者关心的十个数据库技术问题

...新程序员002》经过用户、专家调研,收集汇总了十个开发者关心的数据库技术问题,并邀请腾讯云TDSQL技术负责人、首席架构师雷海林作出解答,希望为越来越多投身数据库的技术人才提供参考。数据技 查看详情

iphone开发常问的十个问题

iPhone开发常问的十个问题前言今天去stackoverflow.com上看了一下iPhone标签下排名最高的10个问题,将它们整理出来,希望这些常见问题能帮到一些iPhone开发的初学者。本来想把答案也翻译过来的,后来发现答案资料通常都比较复杂... 查看详情

java异常处理的十个建议(代码片段)

前言Java异常处理的十个建议,希望对大家有帮助~本文已上传github:https://github.com/whx123/JavaHome公众号:捡田螺的小男孩一、尽量不要使用e.printStackTrace(),而是使用log打印。反例:try//dowhatyouwantcatch(Exceptione)e.printStackTrace();正例:try//do... 查看详情

javascript开发者都应该知道的十个概念

1.原始值和引用值(Valuevs.Reference)理解对象、数组和函数是如何复制和传递到函数中的。了解引用值是被复制了什么,理解原始值是通过复制值来进行复制和传递的。 2.域(Scope)理解全局域、函数域以及块级作用域之间的区别。... 查看详情

java日期处理易踩的十个坑

前言整理了Java日期处理的十个坑,希望对大家有帮助。1.用Calendar设置时间的坑反例:Calendarc=Calendar.getInstance();c.set(Calendar.HOUR,10);System.out.println(c.getTime());运行结果:ThuMar2622:28:05GMT+08:00解析:我们设置了10小时,但运行结果是22点... 查看详情

本学期计划及其对构建之法的十个问题

       本学期我读的另外一本书是《程序员修炼三部曲》,程序员修炼三部曲》丛书包含了三个部分,旨在帮助程序员解决日常工作中遇到的一些具体问题,内容覆盖了对于现代软件开发非常重要的基础知... 查看详情

在java中记录日志的十个小建议(代码片段)

JAVA日志管理既是一门科学,又是一门艺术。科学的部分是指了解写日志的工具以及其API,而选择日志的格式,消息的格式,日志记录的内容,哪种消息对应于哪一种日志级别,则完全是基于经验。从过去的实践证明,JAVA的日志... 查看详情

级数的十个重要公式

查看详情

str(字符串)的十个功能

str(字符串)的十个功能 upper字符串转大写lower字符串转小写strip去两侧的空格,换行符,制表符等等,指定要去除的内容split按照空格分切,还可以指定分隔符,返回值是一个列表数据类型replace替换,能指定位置替换join以一个... 查看详情

djangorestframework的十个组件

...页面,可以方便的测试自己的API。简单说一下这个工具包的十个功能:1.权限2.认证3.访问频率4.序列化(使用最多)5.路由6.视图7.分页器8.解析器9.渲染器10.版本 查看详情

激活大脑的十个方法

激活大脑的十个方法  1.用蓝色装饰环境。  色彩心理学研究发现,看到两次蓝色物体,人的想法会更积极。快给自己营造一个“蓝色港湾”吧。  2.适当喝点酒。  美国伊利诺伊大学芝加哥分校的研究人员发现,... 查看详情

java常用的十个框架

Java中有十个常用框架:springMVC,spring,mybatis,Dubbo,Maven,RabbiMQ,Log4j,Ehcache,Refis,Shiro 一:ringMVC:是一种基于Java实现了webMVC设计模式的请求驱动类型的轻量级WEB框架model(模型)封装了应用程序的数据和一般他们会组成的POJOview(... 查看详情

python学习的十个阶段,学完大成,对应一下看看你自己在哪个阶段

大家好,我是梦雅。\\今天给大家整理了Python学习的十个阶段内容,看看你现在正处于哪个阶段,想学习的朋友也可以根据这个阶段规划学习。\\\\\\阶段一:Python基础【初入江湖】\\Linux基础\\目标:\\1、熟练使... 查看详情