2019年Java程序员应该学习的9件事

前言

2018眼看就快要过去了,作为Java开发人员和Java博客楼主我经常收到来自世界各地的Java程序员的请求,询问他们如何改进自己。

在过去,我分享过我的成为一个更好的程序员的10条建议,这篇文章中的每一个技巧都是正确的,但考虑到这是新的一年,我决定为Java程序员制定新的解决方案,以改进自己,提高他们对Java编程的知识,并提高他们对未来职业发展的价值。

因此,在不浪费更多时间的情况下,让我们看看我对Java程序员在2019年新的一年中的九个想法。你可以从这些想法中获得灵感,创造你自己的目标和决心。
学习Java性能调优
在过去的几年里,我花了更多的时间为高级Java开发人员进行50次交谈,而我明显缺乏的一项技能是有关JVM内部、GC行为和Java性能调优的知识和理解。
在这里插入图片描述

随着您的Java经验的增长,您将成为一名拥有超过5-6年经验的高级Java开发人员,您应该了解Java基础的总体情况和细节。
如果你不能分析一个应用程序,或者找不出它为什么慢或者如何使它快速,那么你应该读一本关于JVM内部和性能调优的好书,比如ScottOaks的畅销书。Java性能最终指南。

我已经读了好几年了,只要有时间,我还是会把它看一遍。我的目标是今年再读一遍。

如果你喜欢在线课程而不是书籍,那么我建议你看看理解Java虚拟机关于Pluarlsight的系列课程,它解释内存管理、类加载、安全性和反射。
每天编码2小时
我还注意到另一件事
R是说,随着经验的增长,你会花时间在协调、回复电子邮件、催化剂、故障排除、指导和一般项目经理这类人上。
你留下的是编码对于程序员来说,这是最重要的一项技能。

如果你觉得你没有做足够的编码,那么每天做一个解决方案来编码。至少,可以在项目、开源框架、库或实用程序上写一些东西。

因为开始是最困难的事情,我建议你在任何时候感觉到抗拒,开始阅读和重构代码以获得乐趣。在此过程中,您还将编写代码。

您还可以解决破解编码面试150个编程问题。这不仅将确保您准备好接受面试,而且还将提高您对数据结构、算法和编程逻辑的了解。

每月对Java应用程序进行一次分析
这个决议
Oon附在关于阅读JVM内部和性能调优的好书的第一个决议中。光看这本书是不够的。你必须把这些知识应用到你的现场项目中。
我建议你分析Java应用程序,每月至少一次,花大量的时间了解和分析结果。

您还可以获取Java进程的堆转储,或者,如果最近发生了崩溃,则接受堆转储,找出哪个对象占用了大部分内存。有没有内存泄漏在你的Java应用程序中?

原因是什么?如果其他100000个新客户端访问您的应用程序,会发生什么情况?如果你能舒舒服服地回答所有这些问题,那么你的身体状况就很好了。如果您需要一些关于解决内存和CPU问题的指导,我建议您看看理解和解决Java内存问题 作者是Richard Warburton。

参与编码挑战
这个目标是,再一次,
与我们的第二个决议有关的东西-每天写两个小时的代码。让我们面对现实,有时候,你在你的实际项目中没有足够的机会去编码。
如果你渴望有挑战性的代码,那么没有什么比参与编程和编码挑战更好的了。

在互联网上有许多网站存在编程上的挑战,并给你机会来测试你的技能,但是TopCoder就是最好的。

如果您正在寻找一些困难的编程挑战,那么您也可以查看我的练习编码的好网站列表.

用Java学习网络编程
我还学到了一件事采访人Java开发人员需要改进他们的套接字编程和网络基础。

我从我的Java网络编程问题列表中问了很多问题,但大多数开发人员都没有回答其中的大多数问题。

他们中的一些人甚至很难勾勒出关键TCP与UDP的区别,我认为这太基本了,不能要求任何具有2-5年经验的Java开发人员。

如果您觉得没有足够的机会学习Java中的套接字编程,或者您是使用JSP、servlet和JSF的Java Web开发人员,那么我建议您至少读一本关于Java网络、NIO和套接字编程的好书。

我强烈推荐的一本书是Java中的TCP/IP套接字,第二版,程序员实用指南。它易于阅读,有趣,也是学习套接字编程基础的好方法。

Java 9
2017年发布了几个大版本,其中之一是JDK 9。我还没有从JDK 9开始,但这是我在2018年要研究的第一件事。如果您想学习Java 9的新特性,例如Jigaw、反应性流、API增强等,那么Java 9主类是一门很好的课程。

弹簧5.0
2017年Java世界的另一个重要版本是SpringFramework5.0。随着许多令人兴奋的特性,例如反应性编程模型和Java 8和9的采用,Spring5.0的采用将在2018年加速,这就是为什么每个Java开发人员都应该学习它的原因。如果你需要帮助,春5.0:初学大师是一门很好的课程。

Spring安全5.0
2017年的另一个有趣版本是SpringSecurity5.0,我将在2018年学习它。SpringSecurity5.0是一个主要的版本,他们重写了几个模块并修复了数百个bug。最有趣的部分是OAuth2.0模块。不幸的是,目前学习SpringSecurity5.0的资源不多,但谢天谢地,Eugen更新了他的学习Spring安全性为了涵盖5.0版,并在OAuth2.0上添加了一个新模块。

单元测试
如果你想在2018年成为一名更好的开发人员,那么你应该提高你的单元测试技能。不仅仅是单元测试,而是一般的自动化测试。这还包括集成测试。您可以学习JUnit 5和其他高级单元测试库,如Mockito、PowerMock、Cucumber和机器人,从而将您的单元测试技能提升到下一个级别。Mockito非常强大,它允许您通过模拟依赖项和只关注被测试对象来为复杂类编写单元测试。如果您是单元测试的初学者,并且希望在2018年学习它,那么JUnit和Mockito速成班从乌德米是一个很好的起点。

摘要
这是我的建议!如果你是一个有两年经验的Java程序员,你也可以从这个列表中获得灵感来设定你的目标。您还可以添加到此列表中的其他一些内容是学习。安卓, 码头工人,和火花,因为这些对于任何Java程序员来说都是必不可少的。

我有目的地保持这一简单和可实现的,因为我个人认为,小的成功导致了巨大的成功。设定小目标并实现它们比在开球前设定大的、不切实际的目标和失败要好。

那你还在等什么?写下新年的决心,并与我们分享。在年底,你可以回来告诉我们你取得了多少成就。感兴趣的朋友可以加群947405150一起分享!Qq群947405150

发布了80 篇原创文章 · 获赞 94 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 创作都市 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览