博客园  :: 首页  :: 新随笔  :: 管理

2023年1月30日

摘要: 电商高并发场景下,我们经常会使用一些常用方法,去应对流量高峰,比如限流、熔断、降级,今天我们聊聊限流。 什么是限流呢?限流是限制到达系统的并发请求数量,保证系统能够正常响应部分用户请求,而对于超过限制的流量,则通过拒绝服务的方式保证整体系统的可用性。 根据限流作用范围,可以分为单机限流和分布式限流; 阅读全文

posted @ 2023-01-30 10:33 揽星河、入梦 阅读(152) 评论(0) 推荐(0) 编辑

摘要: 1. list转map 工作中,我们经常遇到list转map的案例。Collectors.toMap就可以把一个list数组转成一个Map。代码如下: public class TestLambda { public static void main(String[] args) { List<Us 阅读全文

posted @ 2023-01-30 09:23 揽星河、入梦 阅读(49) 评论(0) 推荐(0) 编辑

2022年8月4日

摘要: 什么是幂等性 幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。 在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。 幂等函数或幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响 阅读全文

posted @ 2022-08-04 11:08 揽星河、入梦 阅读(226) 评论(0) 推荐(0) 编辑

2022年7月21日

摘要: 1.策略模式 1.1 业务场景 大数据系统把文件推送过来,根据不同类型采取不同的解析方式。多数的小伙伴就会写出以下的代码: if(type=="A"){ //按照A格式解析 }else if(type=="B"){ //按B格式解析 }else{ //按照默认格式解析 } 这个代码可能会存在哪些问题 阅读全文

posted @ 2022-07-21 20:17 揽星河、入梦 阅读(40) 评论(0) 推荐(0) 编辑

摘要: 首先说下四次握手协议(双方准备好资源的过程) 当client客户端套接字调用connect()方法后,会自动和serve服务端进行握手协议 ● 当client发送syn(请求数据包) 比如发了个11给serve,询问serve端是否准备好了资源 ● serve为了回复client自己准备好了,发送a 阅读全文

posted @ 2022-07-21 09:07 揽星河、入梦 阅读(61) 评论(0) 推荐(0) 编辑

2022年7月14日

摘要: 1)编写 hello world 脚本 #!/bin/bash # 编写hello world脚本 echo "Hello World!" 2)通过位置变量创建 Linux 系统账户及密码 #!/bin/bash # 通过位置变量创建 Linux 系统账户及密码 #$1 是执行脚本的第一个参数,$2 阅读全文

posted @ 2022-07-14 08:29 揽星河、入梦 阅读(1449) 评论(0) 推荐(0) 编辑

2022年7月6日

摘要: 问题 有两个线程,A 线程向一个集合里面依次添加元素“abc”字符串,一共添加十次,当添加到第五次的时候,希望 B 线程能够收到 A 线程的通知,然后 B 线程执行相关的业务操作。线程间通信的模型有两种:共享内存和消息传递,以下方式都是基本这两种模型来实现的。 一、使用 volatile 关键字 基 阅读全文

posted @ 2022-07-06 09:43 揽星河、入梦 阅读(186) 评论(0) 推荐(0) 编辑

2022年6月30日

摘要: 1、创建一个shell可执行文件:cut_my_log.sh 内容为: # !/bin/bash LOG_PATH="/var/log/nginx/" RECORD_TIME=$(date -d "yesterday"+%Y-%m-%d+%H%M) PID=/var/run/nginx/nginx. 阅读全文

posted @ 2022-06-30 15:04 揽星河、入梦 阅读(95) 评论(0) 推荐(0) 编辑

2022年6月27日

摘要: Stream 流 1.Stream 流是什么,为什么要用它? tream是 Java8 新引入的一个包( java.util.stream),它让我们能用声明式的方式处理数据(集合、数组等)。 Stream流式处理相较于传统方法简洁高效,也便于进行并发编程。 Stream 是 Java8 的一大亮点 阅读全文

posted @ 2022-06-27 10:26 揽星河、入梦 阅读(47) 评论(0) 推荐(0) 编辑

2022年6月22日

摘要: HashMap 在工作中使用非常频繁,其实在 JDK1.8 的时候新增一些更高阶的用法,熟练使用这些方法可以大大提升开发效率,写出更简洁优美的代码。 1. get 方法指定返回默认值(getOrDefault) Map<String, String> map = new HashMap<>(); m 阅读全文

posted @ 2022-06-22 16:09 揽星河、入梦 阅读(26) 评论(0) 推荐(0) 编辑