- 博客(182)
- 收藏
- 关注
原创 Java中的Kafka为什么性能这么快及4大核心详析
这篇文章主要介绍了Java中的Kafka为什么性能这么快及4大核心详析,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下。Java中的Kafka为什么性能这么快及4大核心详析_java_脚本之家。
2024-08-14 15:21:47
321
原创 jdk1.8中HashMap为什么不直接用红黑树
最开始使用链表的时候,空间占用比较少,而且由于链表短,所以查询时间也没有太大的问题。可是当链表越来越长,需要用红黑树的形式来保证查询的效率。
2024-08-01 19:30:59
494
原创 每日一面系列之美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以
可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个。关于ConcurrentHashMap的key,value设计为不能是null的原因_concurrenthashmap key不能为null。如果你确实需要在 ConcurrentHashMap 中使用 null 的话,可以使用一个特殊的静态空对象来代替 null。也就是说,多线程下无法正确判定键值对是否存在(存在其他线程修改的情况),单线程是可以的(不存在其他线程修改的情况)。
2024-08-01 17:10:27
1095
原创 彻底搞懂jdk1.8中的haspMap原理(源码解析+ 对比jdk1.7)
文章浏览阅读484次。文章浏览阅读326次。1、HashMap概述 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。下图中代表jdk1.8之前的hashmap结构,左边部分即代表哈希表,也称为哈希数组,数组的每个元素都是一个单链表的..._jdk1.8 hashmap。
2024-07-28 14:59:24
487
原创 spring ioc的原理
2、依赖注入(DI):所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。1、控制反转(IOC):对象的创建控制权由程序自身转移到外部(容器)
2024-07-18 20:25:29
231
原创 Redis为什么这么快
1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于 HashMap,HashMap 的优势就是查找和操作的时间复杂度都是O(1);2、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;3、使用多路 I/O 复用模型,非阻塞 IO;什么是I/O多路复用?
2024-07-10 17:37:00
858
原创 Linux服务器CPU占用率达到100%排查思路
/ jstack [pid] | grep -A 10 [tid的十六进制] 打印堆栈信息。// 执行 top -Hp [pid] 定位应用进程对应的线程 tid。// printf "%x\n" [tid] 将tid转换为十六进制。// 按shift + p 组合键,按照CPU占用率排序。1、找到最耗CPU的进程pid,执行命令 top。2、找到最耗CPU的线程tid。3、将线程pid转化为16进制。5、根据堆栈信息分析问题。4、查看线程的堆栈信息。
2024-07-10 10:39:29
1197
原创 运行在Linux上的程序越来越慢的排查思路
Linux服务器出现异常和卡顿有硬件和软件的原因,硬件没问题的情况可以通过top命令、jps命令、jmap分析堆内存配置信息和使用情况、jstack分析线程的执行情况、 jstat查看各区域占堆百分比和服务日志去排查问题。_linux网络变得很卡。10、使用jps查询出java进程,用jstat查看gc信息,jmap查看堆栈信息,jstack查看线程堆栈信息。4、使用top查看整体CPU、内存使用状况,以及各进程的资源占用情况,系统整体资源使用情况。7、使用pidstat,看下CPU、I/O和内存的情况。
2024-07-10 10:36:41
1152
原创 为什么要进行垃圾回收器的调优
2、jvm的垃圾收集器,都是有gc停顿(stop the world),gc停顿的意思是,在它进行,垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。正因为有不同的使用场景,才通过jvm的垃圾收集器的替换设置,才能满足系统的性能(延迟和吞吐量)要求,才能给用户良好体验。页面问题(页面优化)->jvm参数调整和jvm垃圾回收器替换设置->jvm的垃圾收集器的使用场景、优缺点。1、常规的调优手段,都是从升级jdk版本、调整jvm参数、调整jvm垃圾回收器的角度,进行调优的。
2024-07-09 11:18:11
242
原创 ELK日志系统和Filebeat采集器的学习总结
第二,如果有很多台机器需要做日志收集,那么让每台机器都向Elasticsearch持续写入数据,必然会对Elasticsearch造成压力,因此需要对数据进行缓冲,同时,这样的缓冲也可以一定程度的保护数据不丢失;为什么不是直接在每台机器上使用Logstash提取数据、处理、存入Elasticsearch?Logstash负责采集数据,Logstash有三个插件,input、filter、output,filter插件作用是对采集的数据进行处理,过滤的,因此filter插件可以选,可以不用配置。
2024-07-05 21:05:12
655
原创 Springboot使用RestTemplate发送Post请求postForEntity (application/x-www-form-urlencoded),可以封装请求头的
Springboot使用RestTemplate发送Post请求postForEntity (application/x-www-form-urlencoded),可以封装请求头的
2023-02-23 22:34:02
707
原创 Error while executing topic command : Replication factor: 1 larger than available brokers: 0.
Error while executing topic command : Replication factor: 1 larger than available brokers: 0.
2023-02-10 15:47:34
320
原创 java.security.NoSuchProviderException: No such provider: BC
问题解决方式(不用复杂方式),只要在代码中加下面的东西就行:static { if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) { Security.addProvider(new BouncyCastleProvider()); }}
2022-05-07 16:30:51
1096
原创 [转]基于mysql数据库binlog的增量订阅&消费中间件:Canal
[转]基于mysql数据库binlog的增量订阅&消费中间件:Canal_黑夜路人的博客-优快云博客_binlog中间件
2022-04-27 16:07:24
543
原创 kafka问题解决
Kafka报错:No resolvable bootstrap urls given in bootstrap servers解决办法_赛尔号-的博客-优快云博客maxwell连接kafka报错Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker ma_健忘主义的博客-优快云博客
2022-04-27 15:21:01
3193
原创 spring-boot-starter-security 工作原理
(四)spring-boot-starter-security 工作原理_A 你戳啥的博客-优快云博客_spring-boot-starter-security(五)Spring Security (spring-boot-starter-security)应用详解(五)Spring Security (spring-boot-starter-security)应用详解_A 你戳啥的博客-优快云博客_spring-boot-starter-security...
2022-04-26 11:29:09
759
原创 MyBatis读取大量数据(流式读取)
MyBatis读取大量数据(流式读取) - yifanSJ - 博客园数据库优化之设置fetchSize - 飞刀寻欢 - 博客园Mybatis流式读取_一只小鲈鱼的博客-优快云博客_mybatis流式处理SpringBatch通过mybatis处理大批量数据Mybatis源码之美:3.7.深入了解select元素 - 简书...
2022-04-20 15:04:17
1561
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人