摘要: 垃圾回收的相关概念 System.gc() 默认情况下,通过system gc 的调用会显示触发Full GC,同时对新生代和老年代进行回收,尝试释放被丢弃对象占用的内存。 内存溢出 javadoc 对OOM的解释是没有空闲内存,并且垃圾收集器也无法提供更多的内存 没有空闲内存说明java虚拟机的堆 阅读全文
posted @ 2022-04-06 18:09 Henry19 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收概述 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾,垃圾收集的三个问题:哪些内存需要回收,什么时候回收,如何回收?java堆是垃圾回收的工作重点。 垃圾回收的相关算法 垃圾标记阶段算法 在堆里几乎存放着所有的java对象实例,在执行垃圾回收之前,首先需要区分内存中 阅读全文
posted @ 2022-04-04 21:45 Henry19 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 并发与并行 并发:同一时间只能处理一个任务,但是可以每个任务轮着做(时间片轮转) 并行:同一时间可以做多个任务 锁机制 synchronized关键字:用于java对象、方法、代码块提供线程安全的操作。java每个对象都有个monitor对象,加锁就是在竞争monitor对象。 对代码块加锁是通过在 阅读全文
posted @ 2022-03-31 12:47 Henry19 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 尚硅谷 kafka 定义:kafka是一个开源的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成、关键任务应用。传统的消息的队列主要的应用场景:缓存/削峰,解耦,异步通信. 消费队列的两种模式 点对点的模式:消费者主动拉取数据,消息收到后清除消息 发布订阅模式: 可以有多个topi 阅读全文
posted @ 2022-03-28 19:18 Henry19 阅读(93) 评论(0) 推荐(0) 编辑
摘要: MVCC 多版本并发控制,通过数据行的多个版本管理实现数据库的并发控制,使得在事务隔离级别下执行一致性读有了保证,换言之,为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。 快照读 当前读 主要是为了提高数据库的并发性能,用更好的方式 阅读全文
posted @ 2022-03-26 15:18 Henry19 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 锁 锁是计算机协调多个进程或线程并发访问某一资源的机制,为保证数据的一致性,需要对并发操作进行控制,因此产生了锁。同时锁机制也为mysql各个隔离级别提供了保证,锁冲突也是影响数据库并发性能的一个重要因素。 并发事务访问 读-读情况:并发事务相继读取相同的记录,读取操作本事并不会对记录有任何影响,不 阅读全文
posted @ 2022-03-26 15:18 Henry19 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 事务概述 事务是一组逻辑操作单元,使数据从一种状态变换到另一种状态。 事务的特性 原子性:事务是一个不可分割的工作单位,要么全部提交,要么全部回滚失败。通过undo日志保证 一致性:事务执行前后从一个合法状态(满足预定约束的状态)变换到另一个合法状态,通过undo日志保证 隔离性: 一个事务的执行不 阅读全文
posted @ 2022-03-21 22:50 Henry19 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 尚硅谷 索引 索引是一种排好序的快速查找数据结构。 降低数据库的IO成本 创建唯一索引保证数据库表中的数据的唯一性 加速表之间的连接,对于字表和父表联合查询 减少查询中分组和排序的时间 缺点:创建维护索引费时,降低更新表的速度,存储需要占据磁盘空间。 CREAT TABLE index_demo(c 阅读全文
posted @ 2022-03-20 16:21 Henry19 阅读(25) 评论(0) 推荐(0) 编辑