Post on April 2020

「C++」Lambda表达式

&emsp;泛型算法可以接收谓词(一个函数)以支持定制算法,但我们传递给算法的谓词必须严格满足算法对谓词参数的要求。为了更灵活地使用算法,可以使用 lambda 表达式。 <br><br> ### 一、介绍Lambda &emsp;每当定义一个 lambda 时,编译器生成一个新的未命名类型(与………


「算法设计与分析」回溯法

&nbsp;CPS 问题指: - 一个搜索问题的特殊子集 - 搜索树中的每一种状态(每个向量)都取决于定义域 $$X_i$$ 与值域 $$D$$; - 目标测试是一组约束,得到指定变量的值的允许组合 <br><br> &nbsp;回溯搜索(DFS)是解决 CSP 问题的基本算………


「计算机网络」传输层协议基本概念

#### 1.基本概念 &emsp;传输层的作用: 1. **在 IP 网络互连层提供的主机数据通信服务的基础上,提供主机进程间通信的可靠服务。**(即在点到点的基础上提供端到端的服务) 2. **能够对传输网络加以控制,对分组丢失、线路故障进行检测,并采取补救措施。** &emsp;传输层屏蔽………


「Java」NIO选择器

NIO 框架的选择器(`Selector`)提供了选择执行已就绪任务的能力。<br> 通过使用 NIO(None-blocking I/O),你可以实现同步非阻塞,相比同步阻塞(对应BIO,Blocking I/O),其优点在于: - NIO 的 Selector 提供了多路复用机制,当一………


「环境配置」远程连接redis数据库

#### 1.修改配置文件 &emsp;使用 vim 打开配置文件(一般位于`/etc/redis`),做出以下更改: ```bash # 1.注释以下行 bind 127.0.0.1 # 2.或修改为 bind 0.0.0.0 protected-mode no ``` <br> ##………


「Java」线程间协作

&emsp;当一个线程的执行依赖于另一个线程时,就需要协调线程间的关系。**协作一般用于同个对象上派生出的多个线程。** <br> ### 一、挂起与唤醒 #### 1. wait &emsp;`wait()`方法使得使得你可以等待某个条件发生变化,而改变这个条件超出了本方法的控制能力………


「Java」中断任务

任务中断的时机分两种: 1. 阻塞时中断; 2. 其他时间的中断。 中断操作在线程运行的不同时机产生的效果不同,且不同类型的阻塞也会产生不同效果。 <br> *首先介绍一下阻塞:* ### 一、阻塞 &emsp;线程仍具备运行的能力,但某个条件阻止其运行。当线程处于阻塞时,调………


「Java」线程资源共享

并发编程的一大难题就是处理好共享资源间的竞争。 <br> ### 一、同步机制 #### 1. synchronized &emsp;Java以关键字`synchronized`提供了防止资源冲突的内置支持。当任务要执行被`synchronized`保护的代码片段时,它将检查锁是否可用………


「Java」Java并发编程

- 并行:系统中同一时间有两个或多个动作在**同时执行**。 - 并发:而并发是指代码逻辑上可以并行,具有并行潜力。但实际能否并发运行取决于代码的运行环境,*只有在多核处理器环境下,才可能真正实现并行*,否则任一时间点上都只有一个动作在执行,程序只是在不同动作之间来回切换,此时并行只存在于逻………


「Java」InetAddress类

- IPv4:四个字节(如:106.54.53.126) - IPv6:十六个字节,分为8个区块,每块4个十六进制数字。(如:2001:4860:4860:0000:0000:0000:0000:8888) > 对于IPv6:<br> >1. 当地址以0区块开头时,可以省略; >2. 每个区块中………