基础稳固
文章平均质量分 75
查漏补缺绝
烟火缠过客
差一个我们的距离
展开
-
高并发cn.hutool.http.HttpRequest请求优化
从接收请求到响应的整个流程中,Tomcat作为Servlet容器,负责了请求的接收、解析、分发,而Spring MVC框架则专注于请求的具体处理逻辑,包括路由、业务处理、视图渲染等。两者协同工作,实现了HTTP请求的高效处理。原创 2024-06-24 13:18:31 · 1233 阅读 · 0 评论 -
HttpComponentsClientHttpRequestFactory
HttpComponentsClientHttpRequestFactory 是 Spring Framework 中用来封装 Apache HttpComponents HttpClient 的一个工厂类,用于创建基于 HttpClient 的 ClientHttpRequest 实例。然而,关于默认的最大连接数,这个信息通常是由底层使用的 Apache HttpClient 的配置决定的,而不是由 HttpComponentsClientHttpRequestFactory 类本身直接设定。原创 2024-04-15 18:46:21 · 1487 阅读 · 0 评论 -
杂记-01
为了避免这个问题,应确保在执行任何数据库操作前,Statement对象是有效且未关闭的,并遵循最佳实践,如尽量使用预编译的PreparedStatement以减少资源消耗和潜在的并发问题,以及正确处理数据库连接和相关资源的生命周期。原创 2024-02-06 16:05:47 · 1243 阅读 · 0 评论 -
编写时间类的工具类
【代码】编写时间类的工具类。原创 2024-01-19 17:18:46 · 414 阅读 · 0 评论 -
IO操作对系统的影响
需要注意的是,每次I/O操作之前和完成之后都需要CPU的介入,而且每个字在I/O设备与内存之间的传输都需要经过CPU,这会消耗一定的CPU时间。同时,频繁的中断处理也会消耗较多的CPU时间。因此,对于IO密集型的任务,应尽可能地减少IO操作,或者使用异步IO操作来提高性能和并发能力。此外,也需要对系统的负载进行监控和管理,避免系统过载导致的问题。因此,过多的IO操作会消耗大量的CPU资源,影响系统的整体性能。在设计和优化系统性能时,应尽可能地减少IO操作,提高CPU的使用效率。原创 2023-12-12 18:04:43 · 390 阅读 · 0 评论 -
Bitmap,布隆过滤器初步了解
优点缺点使用场景可作为简单的布尔过滤器来判断用户是否执行过某些操作;可以计算用户日活、月活、留存率的统计;可以统计用户在线状态和人数;哈希函数的特点优点缺点有一定的误判率一般情况下不能从布隆过滤器中删除元素。引入依赖yml配置guava布隆过滤器配置类redisson布隆过滤器配置类redisson配置redis配置类utilscontrollerjmeter进行调起测试结果原创 2022-12-08 15:22:46 · 1102 阅读 · 0 评论 -
fastjson将map序列化字符串丢失值为null的解决方案
当我们的map中含有value=null的情况,使用JSON.toJSONString(object)方法序列化的时候,值为null的entry就会被丢弃。这样问题就能解决了,如果还碰到其他的问题,可以尝试里面提供的其他重载方法。使用fastjson中重载带有序列化方式属性的方法。原创 2022-11-02 15:49:43 · 1847 阅读 · 0 评论 -
Gradle加载指定目录中的jar
【代码】Gradle加载指定目录中的jar。原创 2022-10-27 15:23:20 · 1242 阅读 · 0 评论 -
ConcurrentHashMap1.7深度解析
ConcurrentHashMap1.7深度解析1.ConcurrentHashMap原型图1.1 总结1.1.1 分段锁定从原型图我们可以看出concurrentHashMap1.7是采用的分段锁定,也就是对每个segment进行上锁,简单来说,ConcurrentHashMap的锁的颗粒度会在每个分段(segment)上。 不同的Segment:读读不需要互斥,读写不需要互斥 相同的Segment:读读不需要互斥,读写则需要互斥 .原创 2021-11-30 17:22:04 · 1359 阅读 · 0 评论 -
HashMap1.7与1.8的区别
HashMap1.7与1.8的区别1.JDK1.8主要解决或优化的问题 resize 扩容优化 引入了红黑树,目的是避免单条链表过长而影响查询效率 解决了多线程死循环问题,但仍是非线程安全的,多线程时可能会造成数据丢失问题。 不同 JDK1.7 JDK1.8 存储结构 数组+链表 数组+链表+红黑树 初始化方式 单独函数:inflateTable() 直接集成到了扩容函数 resize() 中 hash值计算方式原创 2021-11-29 19:47:12 · 862 阅读 · 0 评论 -
HashMap1.8深度解析
HashMap1.8剖析1.HashMap1.8原型图总结从原型图上我们可以说看出,HashMap1.8的数据结构是:数组+链表+红黑树这里我们想为什么要引入红黑树呢? 红黑树是平衡树可以提高hashmap的检索效率(时间复杂度从O(n)->O(logn)) 2.我们来看作者对HashMap1.8的阐述/** * 基于哈希表的<tt>Map</tt>接口的实现。 这个 * 实现提供了所有可选的地图操作,并允许 &l..原创 2021-11-29 17:06:47 · 2961 阅读 · 3 评论 -
HashMap1.7深度解析
1.hashmap1.7结构图2.Entry的成员属性 static class Entry<K,V> implements Map.Entry<K,V> { final K key; V value; Entry<K,V> next; int hash; /** * Creates new entry. */ ...原创 2021-11-17 21:30:21 · 1287 阅读 · 0 评论