reactive
reactive
响应式编程,是一种非阻塞的编程方式,在Spring5中,Spring WebFlux出现了,他就是使用的reactive,传统的servlet和filter是同步的,传统的getParameter和getPart是阻塞的。
同步servlet
servlet的doGet函数是阻塞的,你的doGet占用多久,servlet线程就要占用多久
异步servlet
在doGet中开启新的线程,在新的线程中执行doGet的业务请求,执行完了再通知servlet线程,这样就不会阻塞servlet,可以支持更高的并发。
Mono 和 Flux
Mono可以返回一个, Flux是多个
SSE(server-sent events)
HTTP协议是一问一答,为什么Flux可以表现出流的样子?注意到response有一个flush,当flush调用的时候,就发送了一个数据过去
WebFlux
SpringCloud5
SpringCloud4
Kruskal重构树
牛客算法周周练4A
牛客算法周周练4B
时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
Rinne 最近学习了位运算相关的知识,她想运用自己学习的知识发明一个加密算法。
首先她有一个源数组 A,还有一个密钥数组 B,现在她想生成加密后的数组 C。
她发明的方法是:当计算$$C_i$$的时候,首先将 $$C_i$$赋值为$$C_{i-1}$$,然后加上$$ A_i$$ 分别与每一个满足 $$j \lt i$$ 的 $$B_j$$ 异或后的和,然后加上 $$B_i$$ 分别与每一个满足 $$j \lt i$$ 的 $$A_j$$ 异或后的和,最后加上 $$A_i$$ 与 $$B_i$$ 的异或和。
形式化的讲,关于 $$C_i$$ 的递推式为以下式子: