一、TCP连接与生活比喻
1. 什么是 TCP 连接?
- TCP(传输控制协议)是一种可靠的、面向连接的通信协议。
- 主要特点:
- 可靠传输:确保数据包完整且无丢失。
- 按序传输:数据按照发送顺序到达。
- 面向连接:通信双方需先建立连接。
2. 生活中的比喻:打电话
- 建立连接(三次握手):
- 客户端拨号,服务器接听。
- 确认连接成功。
- 双方准备就绪后开始通信。
- 可靠传输:如同对话中没听清时要求对方重复,TCP 会重传丢失的数据包。
- 按序传输:类似对话内容的逻辑顺序。
- 断开连接(四次挥手):双方达成一致后挂断。
3. 其他连接方式及比喻
- UDP(发短信/广播通知):
- 不保证数据到达,也不确认接收。
- 适用于实时性高但可靠性要求低的场景,如视频直播、游戏通信。
- HTTP/HTTPS(访问超市):
- 每次发送请求都会重新建立连接,无状态。
- HTTPS 在此基础上增加了加密。
- WebSocket(聊天软件):
- 建立连接后保持持久连接,用于实时通信。
- 蓝牙(手拉手传东西):
- 短距离直接通信,无需中介设备。
- P2P(邻里直接借东西):
- 两台设备直接通信,无需服务器中转。
二、Spring Bean 初始化失败问题
1. 问题描述
-
错误信息:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myTask': Initialization of bean failed nested exception is java.lang.IllegalStateException: Encountered invalid @Scheduled method 'executeTask': Cron expression must consist of 6 fields (found 7 in "0/5 * * * * ? *")
2. 分析与解决方法
- 原因:
- Cron 表达式 "0/5 * * * * ? *" 中多了一位,正确格式应为 6 个字段。
- 解决方案:
- 修改 Cron 表达式为 "0/5 * * * * ?"。
- 每 5 秒执行一次任务。
3. Cron 表达式基础
- 格式:
秒 分 时 日 月 星期
- 示例:
0 0/30 8-18 * * ?
表示每天 8 点到 18 点,每 30 分钟执行一次。
- 示例:
三、安装程序报错 Error 2503/2502
1. 问题描述
- 安装 cpolar 时出现以下错误:
The installer has encountered an unexpected error installing this package. The error code is 2503.
The error code is 2502.
2. 分析与解决方法
- 原因:
- 安装程序没有足够权限。
- 解决方法:
- 使用管理员权限运行安装程序:
- 找到安装文件,右键选择“以管理员身份运行”。
- 如果右键没有该选项:
- 按住
Shift
键后右键再查看。
- 按住
- 通过命令行运行安装程序:
- 打开 CMD,输入:
msiexec /i <安装包路径>
。
- 打开 CMD,输入:
- 使用管理员权限运行安装程序:
四、命令行右键标记功能
1. 什么是标记功能?
- CMD 中“标记”用于选择屏幕上的文本。
- 使用步骤:
- 右键选择“标记”。
- 鼠标拖动选择内容。
- 按
Enter
复制选择的文本。
2. 快捷键操作
- 直接拖动鼠标选择,无需手动点击“标记”。
- 按
Ctrl + V
粘贴到命令行。
五、代理与反射的关系
1. 代理的定义
- 代理是一种设计模式,用来在不改变原始对象的情况下对其功能进行扩展。
2. 代理与反射的关系
- 动态代理是反射的一种具体运用。
- 代理通过反射机制动态生成目标对象的行为。
3. 生活中的比喻:
- 静态代理:
- 类似找人帮忙跑腿,跑腿员已经固定(预先定义的代理类)。
- 动态代理:
- 类似随机找一位跑腿员,每次需求不同都会动态生成(运行时生成代理类)。