11 2022 档案
摘要:TCP keepalive(保活机制) TCP keepalive是TCP协议的保活机制。 为什么说保活呢,因为TCP连接建立后是一直存在的,虽然理想情况下,这个TCP连接的通讯链路肯定是能通的,但是现实情况是会受一些其他因素影响导致通讯链路不同,但是TCP连接还是在客户端和服务端之间保持着,也就是
阅读全文
摘要:以下转载,原文链接:https://dayarch.top/p/spring-boot-starter-custom.html 写在前面 我们每次构建一个 Spring 应用程序时,我们都不希望从头开始实现具有「横切关注点」的内容;相反,我们希望一次性实现这些功能,并根据需要将它们包含到任何我们要构
阅读全文
摘要:一开始synchronized锁的实现是基于操作系统的提供的信号量(PV操作)实现的,这个就叫重量级锁这个实现默认一定存在数据竞争,不管有没有数据竞争都枷锁,所以是一种悲观的线程安全实现方法。所有最大的问题就是性能问题,会有用户态到核心态转换等一系列比较消耗资源的操作。 所以JDK6是专门做了优化,
阅读全文
摘要:MySQL为什么有时候会选错索引? MySQL判断选择哪个索引时,这个是优化器的工作。优化器会根据扫描的行数、是否回表、是否使用临时表、排序等来判断使用索引还是全表扫描。 优化器计算扫描行数的逻辑是预估的方式 ,是通过对索引的采样统计计算出来的,所以判断的行数不准确时就会选错索引。 什么情况索引会失
阅读全文
摘要:这次是测试环境,处理问题的时间比较充裕。同样和之前堆内存溢出一样,arthas attach failure。不同的是这次attach过程报错显示 OutOfMemoryError:Metaspace。 随即想到是不是配置JVM的MaxMetaspaceSize配置过小,查看了下docker-com
阅读全文
摘要:分享本人在CSDN看的一个JVM系列文章,挺不错,内容简明扼要。看完《深入理解Java虚拟机》后,再看下这个系列一共八篇文章巩固一下查漏补缺。 后面工作没那么忙的话,计划自己总结概括下所需的JVM知识加深印象。 【JVM系列】https://blog.csdn.net/zwx900102/categ
阅读全文
摘要:今天遇到too many open files 这个问题 在此记录一下。 以下转载至CSDN博主「张小鸣」原文链接:https://blog.csdn.net/Roy_70/article/details/78423880 一、产生原因too many open files(打开的文件过多)是Lin
阅读全文
摘要:Tomcat启动的时候,启动的是JVM进程,这个进程首先是执行JVM的代码,而JVM会加载Tomcat的class执行,并分配一个主线程,这个主线程会从main函数开始执行。在主线程执行过程中,Tomcat的代码还会启动其他一些线程,包括处理HTTP请求的线程。 而我们开发的应用其实就是一些类, 这
阅读全文
摘要:互联网的始祖-阿帕网 在 1968 年6月3日,罗伯茨向泰勒描述了建立阿帕网的计划,18 天后,也就是 6 月 21 日,泰勒批准了这个计划,14 个月后阿帕网建立。 在 1973 年 ARPA 网扩展成互联网,第一批接入的有英国和挪威计算机,逐渐地成为网络连接的骨干。 1974 年 ARPA 的罗
阅读全文
摘要:以下是当时的处理流程: top CPU100% arthas attach failure jps -l jmap -histo:live <pid> | more heapdump MAT(JVisualVM) XSSFWorkbook修改成SXSSFWorkbook(POI的导出优化类,维护一个
阅读全文
摘要:存在以下问题 嵌套循环连接(nested loop join--NLJ) 类似于我们平时写的多层嵌套循环,这个性能受第一层循环的次数影响。一般是小表驱动大表的方式,当小表筛选后的数量很大,则性能就越低; 还有一个问题就是现在的互联网应用业务需求复杂多变,为了支撑系统的平稳迭代发展,架构设计上需要考虑
阅读全文
摘要:1、撤销修改后的文件 本地修改了一些文件 (并没有使用 git add 到暂存区),想放弃修改 单个文件/文件夹: git checkout -- filename 所有文件/文件夹: git checkout . 本地修改/新增了一些文件,已经 git add 到暂存区,想放弃修改 单个文件/文件
阅读全文
摘要:内存屏障就是一种屏障指令,在X86架构中,指的是加了“lock前缀”的汇编指令在执行时会让 CPU 或编译器在对内存进行操作的时候, 严格按照一定的顺序来执行。 也就是说内存屏障保证了一下两点:第一点是 在内存屏障之前的指令和之后的指令不会由于CPU的指令优化而导致指令乱序执行;第二点是 在内存屏障
阅读全文
摘要:缓存一致性协议是保证“硬件CPU的cache” 和 “硬件内存”之间数据的一致性,更详细说也就是缓存一致性协议是保证“物理计算机中的硬件CPU cache” 和 “物理计算机中的硬件内存”之间数据的一致性。这个协议只是保证了硬件层面的数据在CPU cache和内存之间的可见性。而JMM和硬件没关系,
阅读全文