- 博客(4)
- 收藏
- 关注
原创 【java学习记录】rabbitmq
生产者确认(ack):保证消息成功发到mq(如果是持久化队列,则可保证消息成功持久化到磁盘)non(默认)关闭、simple(同步等待)、correlated(异步回调)(超时时间、失败后等待时间、失败后等待时长倍数、最大重试次数)死信队列:设置一个队列的args为死信队列,发送的消息过期后则会publish到关联的死信交换机进行消费。数据持久化:lazyqueue(消息直接持久化到磁盘部分放到内存)topic:根据模糊路由键(#)发消息。direct:根据路由键发消息。exchange交换机:消息路由。
2024-01-22 14:16:28
460
原创 【java学习记录】mysql8
redolog:脏页刷盘时先写入redolog,即使刷盘失败可通过redolog找回数据,实现事务持久性undolog:记录数据被修改前的日志,用于数据回滚,实现事务原子性。INNODB(默认):事务、行级锁、外键(逻辑存储结构:表空间、段、区、页、行)MYISAM。8、覆盖索引(查询列存在需要回表才能获取到的数据时)需要回表(先二级索引后聚集索引)1、原子性(A):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。4、持久性(D):事务一旦提交或回滚,它对数据库中数据的改变就是永久的。
2024-01-19 13:56:36
391
1
原创 【java学习记录】redis
2、redis存取数据快的原因:基于内存存储、高效数据结构、合理数据编码、合理线程模型、虚拟内存机制。缓存雪崩:大面积key过期导致流量直接打到db,均匀设置过期时间、redis高可用。缓存击穿:热点key过期时大量流量直接打到db,可用互斥锁或热点key不过期解决。缓存穿透:无效key,需要参数校验、给无效key缓存空值、布隆过滤器。zset:有序,跳表、压缩表;string:共享session、分布式锁,计数器、限流。set:无序,用户标签、生成随机数抽奖、社交需求。3、缓存击穿、缓存穿透、缓存雪崩。
2024-01-19 09:16:15
457
1
原创 【java学习记录】jvm
1、JVM:Java Virtual Machine,java虚拟机,负责加载(类加载器).class文件到内存并解释(本地方法库)给运行系统。类加载器:双亲委派机制(向上托管,先由父加载器加载,成功则加载失败则由子加载器加载),保证了类加载的唯一性。老年代:少量内存需要被释放,使用标记-清除-整理。新生代:大量内存需要被释放,使用复制算法。方法区(永久代):废弃常量和无用的类。垃圾回收器(GC):分代收集。堆(新生代、老年代)、
2024-01-15 18:48:13
497
空空如也
okhttp3调三方接口遇到的问题
2023-09-23
nginx无法加载jar包中的静态资源
2023-01-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅