获得徽章 1
- day39
利用optional解决空指针异常
为了确保不触发异常,需要在访问每一个值之前对其进行明确检查
optional获取实际值对象的方法之一是用get
如果被包装类为空, 一个是直接返回一个新的被包装对象, 一个是通过函数式编程接口 Supplier 返回一个新的被包装类对象, 最后一个直接返回一个指定异常。 #青训营笔记创作活动#展开评论1 - day14
学习计算机网络相关知识
三种数据传输方式
五种网络边界
#青训营笔记创作活动#评论1 - 【青训营 - 后端练习题 - DAY1】
想知道青训营笔试题怎么考?快来这里看看练习题吧!
编程题 1:code.juejin.cn
编程题 2:code.juejin.cn
编程题 3:code.juejin.cn
选择题 1:
Client 在使用 Https 协议访问网站进行通信的过程中,以下说法正确的是?
A. 只用到了对称加密技术
B. 只用到了非对称加密技术
C. 没有用到任何加密技术
D. 同时用到了对称加密和非对称加密技术
选择题 2:
以下哪些是操作系统中堆和栈的区别?
A. 增长方向
B. 空间大小
C. 分配方式
D. 管理方式展开2827 - #青训营笔记创作活动#
day6
(DynamicHostConfigurationProtocol,动态主机配置协议) DHCP Discover:*在联网时,本机由于没有IP,也不知道DHCP服务器的IP地址是多少,所以根本不知道该向谁发起请求,于是索性选择*广播,向本地网段内所有人发出消息,询问"谁能给个IP用用"。 DHCP Offer:*不是DHCP服务器的机子会忽略你的广播消息,而DHCP服务器收到消息后,会在自己维护的一个IP池里拿出一个空闲IP,通过*广播的形式给回你的电脑。 DHCP Request:*你的电脑在拿到IP后,再次发起*广播,就说"这个IP我要了"。 DHCP ACK:*DHCP服务器此时再回复你一个ACK,意思是"ok的"。你就正式获得这个IP在*一段时间(比如24小时)*里的使用权了。后续*只要IP租约不过期,就可以一直用这个IP进行通信了。展开评论1 - #青训营笔记创作活动#
#### day2 常用的IDEA插件
**String Manipulation** **Translation**:一款翻译插件,支持Google、有道、阿里、百度翻译,对我们看源码时翻译注释很有帮助! **Statistic**:一款代码统计工具,可以用来统计当前项目中代码的行数和大小。展开评论1 - #青训营笔记创作活动#
#### day1 常用的限流方式(并发编程) 应对流量高峰的方法:限流、熔断、降级等。 定义:限流是限制到达系统的并发请求数量,保证系统能够正常响应部分用户请求,而对于超过限制的流量,则通过拒绝服务的方式保证整体系统的可用性。 根据限流作用范围,可以分为**单机限流和分布式限流**;根据限流方式,又分为**计数器、滑动窗口、漏桶限令牌桶限流**。 常用限流方式: **1.计数器** - 优点:固定时间段计数,实现简单,适用不太精准的场景; - 缺点:对边界没有很好处理,导致限流不能精准控制。 **2.滑动窗口** - 优点:将固定时间段分块,时间比“计数器”复杂,适用于稍微精准的场景; - 缺点:实现稍微复杂,还是不能彻底解决“计数器”存在的边界问题。 **3.漏桶** 特点: - 漏桶具有固定容量,出水速率是固定常量(流出请求) - 如果桶是空的,则不需流出水滴 - 可以以任意速率流入水滴到漏桶(流入请求) - 如果流入水滴超出了桶的容量,则流入的水滴溢出(新请求被拒绝) - 优点:可以很好的控制消费频率; - 缺点:实现稍微复杂,单位时间内,不能多消费,感觉不太灵活。 **4.令牌桶** 令牌桶有以下特点: - 令牌按固定的速率被放入令牌桶中 - 桶中最多存放 B 个令牌,当桶满时,新添加的令牌被丢弃或拒绝 - 如果桶中的令牌不足 N 个,则不会删除令牌,且请求将被限流(丢弃或阻塞等待) **令牌桶限制的是平均流入速率**(允许突发请求,只要有令牌就可以处理,支持一次拿3个令牌,4个令牌...),**并允许一定程度突发流量,所以也是非常常用的限流算法。** - 优点:可以解决“漏桶”不能灵活消费的问题,又能避免过渡消费,强烈推荐; - 缺点:实现稍微复杂,其它缺点没有想到。 **5.Redis + Lua 分布式限流** 分布式限流,以集群为维度,可以方便的控制这个集群的请求限制,从而保护下游依赖的各种服务资源。 **分布式限流最关键的是要将限流服务做成原子化** - 优点:支持分布式限流,有效保护下游依赖的服务资源; - 缺点:依赖 Redis,对边界没有很好处理,导致限流不能精准控制。展开评论1