1、 IO 操作
这里说的 IO 操作,主要是利用 Java 去读写文件。
Java 的 IO 都在 http://java.io 包中,大概有 40 个流类。其实不用每一个都掌握,最基本的要求就是:
- 理解 IO 流的概念
- O 里哪些是字节流哪些是字符流
- IO 里哪些是节点流,哪些是处理流
- 哪些 IO 流带缓冲可以提高性能的
了解了这些东西,才能在实际开发中做到有的放矢,从而把 IO 用对用好。
推荐看下 《Java IO》和《Java NIO》这两本书。其中《Java NIO》有中文版,《Java IO》没有,如果英文不好的同学,可以看个千锋教育的视频:
2、异步与多线程
现在只要编写高性能的代码,就离不开异步;只要在多核 CPU 下工作,就离不开多线程去平行执行任务。所以,异步和多线程是一位后端工程师必须掌握的核心技能。
而要达到找工作的水平,我认为至少满足如下几个条件:
- 能准确的理解进程和线程的概念
- 至少弄懂什么叫 race condition 和死锁之类的概念
- 需要理解 JVM 的内存模型
- 了解常见的多线程编程模式
多线程编程,又叫并发编程。学多线程编程其实是很复杂的事情,看一本书就想掌握它是不太现实的。我这里会推荐三本书,配合起来,一步步从多线程的原理到多线程的实战全部贯穿起来。
对于多线程的理解,我推荐的第一本书是《