【0201】32个Java 面试必考点 操作系统与计算机网络

一、操作系统

在这里插入图片描述

操作系统知识对于服务问题的排查定位十分重要

二、进程与线程

1、首先需要掌握进程与线程的区别和联系:

A) 进程是系统资源分配的最小单位,线程是程序执行的最小单位;

B) 进程使用独立的数据空间,而线程共享进程的数据空间。

2、线程调度:如时间片轮转调度、先来先服务调度、优先级调度、多级反馈队列调度以及高响应比优先调度。

3、线程切换的步骤:线程的上下文切换,明白线程切换的代价。

4、进程间通信(IPC) 6 种进程通信方式的原理与适用场景。例如,进程间数据共享的场景可以使用共享内存;进程间数据交换的场景可以使用 Unix Socket 或者消息队列。

5、协程部分:了解协程更轻量化,是在用户态进行调度,切换的代价比线程上下文切换要低很多。了解 Java 的第三方协程框架,例如 Kilim、Quasar 等。

三、Linux 常用命令

1、 学习 AWK、top、netstat、grep 等高频使用的工具。

2、内存分页管理与Swap机制、任务队列与CPU Load等

3、内存屏障、指令乱序、分支预测、NUMA 与 CPU 亲和性等

猜你喜欢

转载自blog.csdn.net/qq_40996741/article/details/108990475
今日推荐