Java程序员应在2020年学习的5件事

首先,祝大家新年快乐。在一年中的那个时候,我们要重新开始,制定计划,设定目标并制定新的决议。

学习Java性能调优

在过去的几年中,我为高级Java开发人员进行了50多次采访,而我们显然缺乏的一项技能是对JVM内部,GC行为和Java性能调优的知识和了解。

每天编码2小时

我上次注意到的另一件事是,随着经验的增长,您将花费大量时间进行协调,回复电子邮件,充当催化剂,进行故障排除,指导,并且通常是项目经理。
您所剩下的就是编码,这是程序员最重要的一项技能。
如果您觉得自己编写的代码不足,请制定一种解决方案,每天进行编码。至少在项目,开源框架,库或实用程序上编写一些东西。
因为开始是最困难的事情,所以我建议您在遇到阻力时就开始阅读并重构代码以取乐。您将享受它,并且在此过程中,还将编写代码。

每月一次分析您的Java应用程序

此解决方案随附关于阅读有关JVM内部和性能调优的好书的第一个解决方案。仅阅读本书是不够的。您必须将这些知识应用到您的实时项目中。
我建议您至少每个月对Java应用程序进行一次概要分析,并花费大量时间来理解和分析结果。
您还可以对Java进程进行堆转储,或者,如果最近发生崩溃,则可以进行该堆转储,并找出哪个对象正在占用您的大部分内存。您的Java应用程序中是否存在内存泄漏?
原因是什么?如果其他10万新客户访问您的应用程序,将会怎样?如果您可以舒适地回答所有这些问题,那么您的身体状况良好。如果您需要有关解决内存和CPU问题的指导,建议您看一下 Richard Warburton的《理解和解决Java内存问题》。

参加编码挑战

这个目标再次与我们的第二个解决方案有关-每天编写2小时的代码。让我们面对现实吧,有时候,您的实时项目中没有足够的机会进行编码。
如果您渴望挑战代码,那么没有比参加编程和编码挑战更好的了。
互联网上有许多网站面临编程挑战,使您有机会测试自己的技能,但是TopCoder绝对是最好的。
如果您正在寻找一些艰巨的编程挑战,那么您也可以查看我的优秀网站列表以练习编码。

学习Java网络编程

从采访中我了解到的另一件事 是Java开发人员需要改善其套接字编程和网络基础。
我已经从Java网络编程问题列表中询问了许多问题,但是大多数开发人员未能回答其中的大多数问题。
他们中的一些人甚至难以勾勒出TCP和UDP之间的关键区别,我认为这太基本了,无法要求任何具有2-5年经验的Java开发人员。
如果您觉得没有足够的机会学习Java套接字编程,或者因为您是使用JSP,Servlet和JSF的Java Web开发人员而不需要,那么我建议您至少阅读一本关于Java网络,NIO和套接字编程。
我强烈推荐的一本书是《Java中的TCP / IP套接字,第二版,程序员实用指南》。它易于阅读,有趣并且是学习套接字编程基础的好方法。

摘要

这是我的建议!如果您是具有几年经验的Java程序员,那么您也可以从这份清单中汲取灵感来设定目标。您可以添加到此列表中的其他内容是学习Android,Docker和Spark,因为这些对于任何Java程序员都是必不可少的。
我有目的地保持了这一简单性和可实现性,因为我个人认为,小成功会带来大成功。设定小目标并实现目标比设定大的,不切实际的目标和在开始之前失败要好。
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。在这里插入图片描述

发布了76 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zhaozihao594/article/details/104170466