能力框架

基础模块:

    计算机基础、JVM 原理、多线程、设计模式、数据结构和算法

应用模块:    

    常用工具集、常用框架、缓存、队列、数据库

综合模块:

    系统架构设计、微服务架构、容器化

技术方向:    重点培养技术攻坚能力,包括疑难问题的排查、大型项目的功能拆分、技术品牌的塑造等。具体的工作包括:原理、实现、注重架构能力的培养,更深一层还有:大规模、高并发场景,高可用、可扩展措施和方案、业务的抽象、架构能力、分布式服务设计原则的理解等。


基础知识分为计算机基础和 Java 体系两大部分,包括了进程、线程管理;TCP、HTTP 网络协议;数据结构、经典算法;常用设计模式。

内存屏障、指令重拍、JIT 编译器、逃逸分析

新技术方面:Java8~11 新特性,G1、ZGC 垃圾回收算法、最新网络协议 HTTP2、QUIC;


进程与线程

   1.    进程是系统资源分配的最小单位,线程是程序执行的最小单位;进程使用   独立的数据空间,而线程共享进程的数据空间。

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

    3.    线程的上下文切换,线程切换的代价。

    4.    进程间通信(IPC)。上图6 种进程通信的原理和适用场景。

    5.    协程:更轻量化,是用户态进行调度,切换的代价比线程上下文切换要低。(Kilima、Quasar)

Linux 常用命令:

重点:AWK、top、netstat、grep

内存分页管理和 swap 机制、任务队列与 cpu load


TCP:传输层协议,对应 OSI 网络模型的第四层传输层,特点:

·    TCP协议是基于链接的,也就是传输数据前需要建立好链接,然后在进行传输。

·    链接一旦建立,就可以在链接上进行双向的通信。

·    传输是基于字节流而不是报文,将数据按字节大小进行编号,接收端通过 ACK 来确认收到的数据编号,通过这种机制,TCP协议能保证接收数据的有序性和完整性。

·    TCP 还提供流量控制能力,通过滑动窗口来控制数据的发送速率。滑动窗口的本质是动态缓冲区,接收端根据自己的处理能力,在 TCP 的 Header 中动态调整窗口大小,通过 ACK 应答包通知给发送端。,发送端根据窗口大小调整发送的速度。

·    拥塞控制。慢启动、拥塞避免、拥塞发生、快速恢复。、

TCP 建连

TCP 断链:  

为什么等待 2 倍最大报文段生存时间之后在关闭链接?

    1.    保证 TCP 协议的全双工链接能够可靠关闭

    2.    保证这次连接的重复数据从网络中消失,防止端口被重用时可能产生数据混淆。

======================仅供学习使用~

你可能感兴趣的:(能力框架)