1. 反射,在程序运行时可以动态的创建对象,获取修改类属性等。性能差,安全性低。
2. io模型,五种io模型(阻塞io,非阻塞io,多路复用io,信号驱动io,异步io),内核态和用户态的概念。io分为磁盘io和网络ip(socket之间传输数据)
bio(同步阻塞io模型,服务器实现模式为一个连 接一个线程,即客户端有连接请求时服务器端就需要启 动一个线程进行处理,传统的socket通信模型,以流的方式处理数据)
nio(非阻塞io模型,一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求就进行处理。基于 Channel(通道)和 Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择器)用于监听多个通道的事件(比如:连接请求,数据到达等) )
3. netty:概念,线程模型,server工作流程,优势(封装易用api,性能(多),零拷贝,支持多种高性能序列化协议),零拷贝(可直接使用堆外内存,组合多个buffer对象合并一个逻辑对象,不需要多个buff,避免使用内存拷贝的方式去合并buffer)
4. tcp/ip,三次握手,四次挥手
5. mqtt(消息队列遥测传输协议,轻量级发币订阅模型,tcp协议,适用于低带宽和不可靠网络环境,优点是数据实时传输,适用于智能家居,汽车等场景),coap协议(约束应用协议,udp协议,适用于资源受限环境,比如传感器等)
6. 数据结构
7. 并发编程3要素:可见性、原子性、有序性
8. sync(线程同步的关键字,锁升级(偏向锁cas、轻量级锁cas、重量级锁),锁修饰的对象(代码块,类,方法)),lock(接口,和sync锁的区别),volatile(轻量级的同步机制,保证可见性,禁止指令重排)
9. jmm
10.cas
11.threadlocal
12.线程池
13 并发容器