2月7日-备孕春招40天-第26天
①leetcode
复习91-100
单词接龙2
https://leetcode-cn.com/problems/word-ladder-ii/solution/dan-ci-jie-long-2-by-19216801-rhtn/
单词接龙
https://leetcode-cn.com/problems/word-ladder/
最长序列
根节点到叶节点的数字和
https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/submissions/
被围绕的区域
https://leetcode-cn.com/problems/surrounded-regions/solution/bei-wei-rao-de-qu-yu-by-19216801-j482/
②剑指offer
排序数组中查找数字、寻找缺失数字、返回和下标相等的数字、检验平衡二叉树(用从底向上的方法,从顶向下会多次计算同一个节点的高度)
③spring
④八股文
单元测试: 单元测试:检测一小段代码,很明确的功能是否实现。 集成测试:把经过单元测试的代码组成组件,测试他们之间的接口。 黑盒测试:将程序看作一个无法打开的黑盒,不考虑内部的结构。 白盒测试:借助程序的内部逻辑和相关信息,检查各个逻辑结构是否合理。 回归测试:指修改了旧代码,重新测试确认没有引入新的错误。 金丝雀测试:小群体用户体验。
单元测试优点:尽快发现缺陷,利于重构,改善设计 缺点:开发单元测试代码,系统维护工作量大。
TDD:测试驱动开发
@springBootTest注解:查找一个主要的配置类
Netty
基于NIO的RPC框架的网络通信框架,简化TCP和UDP套接字服务器等网络编程,支持FTP、SMTP、HTTP等,自带编码器解决TCP粘包拆包问题。
Reactor模式: 单线程Reactor:对系统资源消耗小,无法支撑大量请求的场景。 多线程Reactor:一个线程负责接受请求,一组NIO线程处理IO操作。 主从多线程Reactor:一组NIO线程负责接受,一组NIO线程负责IO操作。
ChannelHandler和ChannelPipeline ChannelHandler是消息具体处理器,负责读写操作客户端链接。 ChannelPipeline为ChannelHandler的链,提供了一个容器并定义了用于沿着链传播入站和出站事件流的API。
TCP粘包/拆包:TCP发送数据时出现了多个字符串粘在一起或者拆开的问题。 Netty自带的解码器: LineBasedFrameDecoder:发送端发送数据包时,每个数据包之间以换行符为分割。 DelimiterBasedFrameDecoder:自定义分隔符解码器。