Java的生产系统,最常用的是Linux,所以当解决生产系统问题时,理解Linux系统,熟练掌握常用命令,对于解决问题,甚至对从更高层次理解Java,都是很有帮助的。
那么,应该怎么学Linux呢?上周五听了一次高手讲座,对于学习的串联、衔接、进阶,都是很有帮助的,所以分享到这里来。
本次讲座,先走马观花串一遍Linux命令,让其可以辅助我们的工作。但是不仅仅是讲几个命令而已,而是希望能看清楚一些操作系统层面上的事,达到理解和境界思想上的提升。
理解是灵魂,串讲是骨架,然后可以自行丰满血肉,这是目的。
本次讲座,特别适合“有一定理解,但是不深刻,或者恰恰处于进阶边缘”这种情况的人,一讲,一串,醍醐灌顶,理解会立刻深了一层。
学会错误的模拟重现,会模拟重现就能解决。模拟重现的手段:可以开发一些质量差的代码,把错误做出来。
工具只是帮助我们定位问题的,帮我们记录发生问题时的操作系统切面,要理解这个切面所代表的意义、所隐含的异常,还需要对相关基础知识的深刻了解。比如:
- 用jstat看GC,需要对Java的内存管理、垃圾收集技术深入了解;
- 用netstat看网络,需要对网络知识,特别是TCP,有深入了解;
- 用jstack转储线程栈,需要对Java线程的知识,有深入了解。