分页、分段、段页式 发表于 2021-03-13 | 分类于 操作系统 字数统计: 699 | 阅读时长 ≈ 2 [TOC] 分页传统存储管理方式:操作系统引入了虚拟内存的概念,利用计算机的空间局部性和时间局部性原理,将程序分的一部分装入内存运行,其余部分留在外存,等需要的时候再讲外存的程序装入内存继续运行。 虚拟内存实现方式:请求分页,请求分段,请求段页式存储管理。请求分页存储管理中,将虚拟地址内存空间 ... 阅读全文 »
怎么解决长事务带来的影响? 发表于 2021-03-13 | 分类于 mysql 字数统计: 909 | 阅读时长 ≈ 3 什么是大事务运行时间比较长,长时间未提交的事务就可以称为大事务 大事务产生的原因操作的数据比较多大量的锁竞争事务中有其他非DB的耗时操作。。。大事务造成的影响并发情况下,数据库连接池容易被撑爆锁定太多的数据,造成大量的阻塞和锁超时执行时间长,容易造成主从延迟回滚所需要的时间比较长undo log膨胀 ... 阅读全文 »
binlog的格式 发表于 2021-03-12 | 分类于 mysql 字数统计: 594 | 阅读时长 ≈ 2 MySQL binlog日志有三种格式,分别为Statement,MiXED和ROW. 1.Statement:每一条会修改数据的sql都会记录在binlog中。优点:binlog文件较小日志是包含用户执行的原始SQL,方便统计和审计出现最早,兼容较好缺点:存在安全隐患,可能导致主从不一致对一些系统 ... 阅读全文 »
Spring的事件机制 发表于 2021-03-12 | 分类于 框架 字数统计: 1.3k | 阅读时长 ≈ 5 同步事件和异步事件 同步事件:在一个线程里,按顺序执行业务,做完一件事再去做下一件事. 异步事件:在一个线程里,做一个事的同事,可以另起一个新的线程执行另一件事,这样两件事可以同时执行. 用一个例子来解释同步事件和异步事件的使用场景,有时候一段完整的代码逻辑,可能分为几部分,拿最常见的注 ... 阅读全文 »
SPI与打破双亲委派 发表于 2021-03-12 | 分类于 Java 字数统计: 388 | 阅读时长 ≈ 1 [TOC] 面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。 Java SPI就是提供这样的一个机制:为某个接口寻找服务实现的机制。 实现类的java包位置要放在主程序的classpath中; 在实现类的jar包的META-INF/services目录下创建一个 ... 阅读全文 »
OOM排查 发表于 2021-03-12 | 分类于 Java虚拟机 字数统计: 1.1k | 阅读时长 ≈ 4 [TOC] OOM排查过程步骤1、先查看应用进程号pid: ps -ef | grep 应用名 2、查看pid垃圾回收情况: jstat -gc pid 5000(时间间隔) 即会每5秒一次显示进程号为68842的java进成的GC情况,显示内容如下图: 结果说明:显示内容说明 ... 阅读全文 »
springboot自动配置是如何实现的? 发表于 2021-03-11 | 分类于 框架 字数统计: 578 | 阅读时长 ≈ 2 什么是SpringBoot自动配置? springboot的自动配置,指的是springboot会自动将一些配置类的bean注册进ioc容器,我们可以需要的地方使用@autowired或者@resource等注解来使用它。 SpringBoot如何实现自动配置?其实说白了SpringBoot的自动配 ... 阅读全文 »
Java出现ClassNotFoundException原因 发表于 2021-03-11 | 分类于 Java虚拟机 字数统计: 95 | 阅读时长 ≈ 1 ClassNotFoundException 意思就是找不到指定的class。 遇到的场景:1、调用class的forName方法时,找不到指定的类2、ClassLoader 中的 findSystemClass() 方法时,找不到指定的类3、ClassLoader 中的 loadClass() ... 阅读全文 »
为什么叫双亲委派? 发表于 2021-03-11 | 分类于 Java虚拟机 字数统计: 178 | 阅读时长 ≈ 1 相对于 AppClassLoader,即应用程序类加载器。它加载我们项目(工程)下的 CLASSPATH 路径下的类,它会委托 ExtClassLoader 标准扩展(Extension)类加载器(也有称作扩展类加载器),这时 ExtClassLoader 会再次委派 BootstrapClassL ... 阅读全文 »
一台机器有多少个进程或线程 发表于 2021-03-10 | 分类于 操作系统 字数统计: 651 | 阅读时长 ≈ 2 [TOC] 我们都知道进程的概念,它是CPU分配资源的载体,是程序运行的实例;也知道线程的概念,它是程序执行的最小单元,是进程中的一个实体用来执行程序,一个进程中有多个线程。 既然如此,我们可以想象,一个系统中的进程数量肯定是有上限的,不然系统资源就会不够用了,同样的道理,一个进程中的线程资源也是有 ... 阅读全文 »