让我们看看今年Java程序员的5个目标:
- 学习JVM内部原理和Java性能调优
- 每天写代码
- 每月分析一次Java应用程序
- 参与编程挑战
- 学习Java中的套接字编程
现在,让我们详细了解它们这些解决方案,希望能帮助你们成为更好的开发人员。
1)学习JVM内部原理和Java性能调优
我跟多名高级Java开发人员了解到,他们其中一项技能就是缺乏JVM内部原理、GC行为和Java性能调优方面的知识和理解。
随着你Java经验的增长,你应该对基本原理和一些小的细节有一个大致。
如果你还无法分析应用程序或无法弄清楚为什么它很慢或如何使它快速运行,那么你应该要去学习一下关于JVM内部和性能调整的书。
2)每天编写代码
每天必须些代码。可以写文档、博客或者其他的文章,但是必须要加进自己些的代码。
代码必须要有用的,不要格式化、重构的代码。
代码必须是开源的,且要放到GitHub上,这样强迫自己小写代码,并会考虑代码重用性及怎么创建项目前期的模块。
让写代码成为习惯,要知道我并不关心自己在GitHub上的排名,因为我觉得业余项目是自己的事,不要为了取悦别人而做。减肥和锻炼也是同样的道理,如果你不在乎提升自己,你永远都不会取得成功
3) 每月分析一次Java应用程序
我建议你至少花一个月的时间对Java应用程序进行概要分析,并花更多时间理解和分析结果。
假如你的Java应用程序最近崩溃,那么你还可以获取Java处理器的堆转储,然后获取该堆转储并找出占用大部分内存的对象,Java应用程序中是否存在内存泄漏?
应用程序运行缓慢的原因是什么?如果另外100,000个新客户机将访问你的应用程序,将会发生什么情况?如果你能轻松地回答所有这些问题,那么你的经验已经很扎实了。
4)参与编程挑战
这个目标再次与我们的第二个有关,每天编写代码。有时,你的实时项目中没有足够的机会进行编码。没有比参与编程和编码挑战更好的了。
互联网上有许多网站承担编程挑战,让你有机会测试你的技能。
5)学习Java中的套接字编程
我在多次与程序员访谈中了解到的另一件事是,Java开发人员需要改进他们的套接字编程和网络基础。
我从我的Java网络编程问题列表中问了许多问题,但大部分问题Java开发人员都未能回答上来。
有一些人甚至很难概述TCP和UDP协议之间的关键差异,我认为这对于任何具有2到5年开发经验的Java人员来说都应该是要掌握的。
如果觉得自己没有足够的机会学习Java中的Socket编程,那么我建议至少阅读一本关于Java的书,提升自己。