记录
以后每次写博客把当时的心路历程写下来,以备后来对自己曾经的嘲讽。?
本科什么课都是一知半解,既不系统,又不深入,令人汗颜。如今刚读研究生,一定要把必备的计组、网络、数据库、操作系统知识补齐。因为经过一段时间的java学习,我发现面试常考,工作常用,自己须知的几个java核心知识点都是上述的延申和交融。
- java多线程、并发与计组中的CPU组成,操作系统中的事务和锁密切相关。如Concurrent包的底层实现和操作系统中CAS实现有关,进程通信如果想要通过管道的方法就与操作系统中文件的组成和索引相关。
- 之前敲socket的demo也是一直半解,知道是一个网络的封装,简化网络编程但是要想深入学习socket,就得知道套接字是计算机网络中TCP和IP层之间的一个套接。socket的字段跟三次握手里面ACK那些密切相关。
- jdbc,面试喜欢问的MySQL索引,优化这些,不用说,跟数据库密切相关。
- java后端必备的Linux知识就不用说了。。
总之,任重道远,遇到什么学什么就完事了。不积跬步无以至千里。下面正文:
计算机系统的组成
内存
- 内存和缓存
上面这张图中,内存,Cache,主存的问题说法不一,但是总体上来说,CPU访问Cache比访问RAM更快,因为CPU运