java
文章平均质量分 65
蛋哥tatan
梦想年薪30个w的在校大学生
展开
-
线程池-ThreadPool
ExecutorService newCachedThreadPool(): 创建一个可缓存线程池,可灵活的去创建线程,并且灵活的回收线程,若无可回收,则新建线程。ExecutorService newFixedThreadPool(int nThreads): 初始化一个具有固定数量线程的线程池ExecutorService newSingleThreadExecutor(): 初始化一个具有一个线程的线程池//做完一个,再做一个,不停歇,直到做完,老黄牛性格。原创 2024-08-12 13:28:44 · 434 阅读 · 0 评论 -
高并发优化方案
而此时如果查询购物车的请求较多,可能导致购物车服务的Tomcat连接占用较多,所有接口的响应时间都会增加,整个服务性能很差,甚至不可用。但从业务角度来说,为了提升用户体验,即便是商品查询失败,购物车列表也应该正确展示出来,哪怕是不包含最新的商品信息。而且商品查询的故障依然会导致查询购物车功能出现故障,购物车业务也变的不可用了。如图所示,我们给查询购物车业务限定可用线程数量上限为20,这样即便查询购物车的请求因为查询商品服务而出现故障,也不会导致服务器的线程资源被耗尽,不会影响到其它接口!原创 2024-08-02 21:39:31 · 986 阅读 · 0 评论 -
Maven高级
将项目按照功能拆分成若干个子模块<dependencyManagement>与<dependencies>的区别是什么?<dependencies>是直接依赖,在父工程配置了依赖,子工程会直接继承下来。<dependencyManagement>是统一管理依赖版本,不会直接依赖,还需要在子工程中引入所需依赖(无需指定版本)原创 2024-07-16 14:52:29 · 274 阅读 · 0 评论 -
授权认证登录之 Cookie、Session、JWT 详解
第一次访问时,服务端会生成会话seesion对象并存储,对应一个sessionId,并通过http的响应头自动返回,值在Set-cookie里面,本质其实就是一个字符串,常见的令牌技术有很多,例如JWT、OTP、ORTOken、OAuth令牌等以JWT为例进行讲解。原创 2024-07-15 11:14:19 · 691 阅读 · 0 评论 -
Stream流
stream流是用来高效处理容器数据一种操作。原创 2024-07-12 11:52:41 · 291 阅读 · 0 评论 -
Lambda表达式、方法引用
>的左边:lambda形参列表,参数的类型都可以省略。如果形参只有一个,则一对()也可以省略->的右边:如果方法体中只有一行执行语句,则一对0可以省略。如果有return关键字则必须一并省略。原创 2024-07-11 17:31:11 · 269 阅读 · 0 评论 -
HashMap的数据结构
当元素过多的时候,该用什么来代替链表呢?我们想到的就是二叉查找树,这样我们遍历的时间复杂度就会由链表的O(N)变为二叉查找树的O(logN)但是,对于极端情况,当子节点都比父节点大或者小的时候,二叉查找树又会退化成链表,查询复杂度会重新变为O(N),如下所示:所以,我们就需要二叉平衡树(AVL树)出场,他会在每次插入操作时来检查每个节点的左子树和右子树的高度差至多等于1,如果>1,就需要进行左旋或者右旋操作,使其查询复杂度一直维持在O(l0gN)。但是这样就万无一失了吗?原创 2024-07-02 22:10:25 · 141 阅读 · 0 评论 -
关于重写了equals方法后是否重写hashcode方法
先上结论:重写equals不一定要重写hashcode,特列就是在没有使用容器(集合)时。原创 2024-06-27 16:42:51 · 310 阅读 · 0 评论 -
Exception基础小测试
请问:上述代码都存在哪些问题?原创 2024-06-22 21:15:36 · 127 阅读 · 0 评论
分享