- 博客(83)
- 收藏
- 关注
转载 Java线程池ThreadPoolExecutor(上)--- 理论
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, RejectedExecutionHandler handler) corePoolSize: 线程池维护线程的最少数量maximumPoolSize:线程池维护线程的最大数量keepAliveTime: 线程池维护线程所允许的空闲时间unit: 线程池维护线
2021-04-06 23:54:24
155
原创 事务注解 @Transactional 失效的3种场景及解决办法
事务注解 @Transactional 失效的3种场景及解决办法1.第一种 Transactional注解标注方法修饰符为非public时,@Transactional注解将会不起作用。2.在类内部调用调用类内部@Transactional标注的方法。这种情况下也会导致事务不开启。3.事务方法内部捕捉了异常,没有抛出新的异常,导致事务操作不会进行回滚。...
2021-04-06 23:41:23
166
原创 lambda filter Function.apply
private static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) { Map<Object, Boolean> seen = Maps.newConcurrentMap();// return new Predicate<T>() {// @Override// ...
2021-03-31 20:56:27
225
原创 Guava:RateLimiter类学习
Guava官方文档中文版-RateLimiter类Class RateLimiter官方文档RateLimiter–优快云
2021-03-31 14:58:59
107
原创 springboot的事务Transactional
Spring @Transactional原理及使用springboot事务处理之Transactional(第2集)1.SpringBoot开启事务后,默认只对runTimeException执行回滚(如1除以0:1/0),或者Error;对checkException不执行回滚(要显示声明的异常)要对所有的异常都回滚,需要声明Transactional(rollbackFor = Throwable.class)或者Transactional(rollbackFor = Exceptio
2021-03-29 22:29:41
597
1
原创 Redis底层数据结构
图解redis五种数据结构底层实现(动图哦)面试官:你看过Redis数据结构底层实现吗?[Redis] list底层的数据结构
2021-03-16 16:38:05
106
原创 目前还不熟悉,待学习的一些问题
jvm死锁怎么排查fullGC怎么排查redis怎么扩容节约成本本地缓存不一致怎么办AOF怎么压缩redis的String数据结构秒杀架构
2021-03-07 17:01:18
112
原创 paxos & ZAB 协议
ZAB协议和Paxos算法分布式系列文章——Paxos算法原理与推导面试官:能聊聊Paxos算法和ZAB协议吗Zab协议详解
2021-02-28 11:18:47
164
原创 rabbitmq高可用架构(普通集群,镜像队列,可靠组播GM)
HAProxy和负载均衡概念介绍软件级负载均衡器(LVS/HAProxy/Nginx)的特点和对比Keepalived原理这篇介绍的好:RabbitMQ集群原理介绍
2021-02-26 22:51:35
309
原创 RabbitMQ总结
Springboot 整合RabbitMq ,用心看完这一篇就够了RabbitMQ消息队列之 RabbitMQB站讲的最好的RabbitMq经典课程生产者:消费者:生产者可以关连接但是消费者不要关,因为消费者要保持连接监听队列:以下为生产者关闭连接:工作模式:发布订阅模式可以实现工作队列模式的功能,多个消费者监听一个队列即可整合springboot:生产方代码使用rabbitTemplate就可以完成:消费方代码:...
2021-02-16 23:00:30
185
原创 单例模式
参考文章:如何正确地写出单例模式懒汉式双重校验锁public class Singleton { private volatile static Singleton instance; //声明成 volatile private Singleton (){} public static Singleton getSingleton() { if (instance == null) {
2021-02-06 22:43:04
94
原创 算法相关文章整理
图解快速排序排序算法之 归并排序 及其时间复杂度和空间复杂度十大排序算法常用排序算法稳定性、时间复杂度分析力扣 (LeetCode)二叉树前序中序后序高频出现的题目
2021-02-05 10:35:35
109
原创 拿下阿里、头条、滴滴的offer后谈谈面试经验
拿下阿里、头条、滴滴的offer后谈谈面试经验(上) #21拿下阿里、头条、滴滴的offer后谈谈面试经验(下) #22
2021-01-29 23:51:59
133
原创 JVM相关---看过的比较好的文章整理
图解Java 垃圾回收机制JVM 内存模型概述JVM原理最全、清晰、通俗讲解,五天40小时吐血整理jdk7、8、9默认垃圾回收器Jvm垃圾回收器(终结篇)Java类加载机制面试还不懂JVM,看马士兵老师这个JVM合集就够了——马士兵2020520最新JVM合集史上最全JVM面试进阶合集建议收藏丨马士兵亲授:JVM调优实战丨Jvm垃圾回收原理丨垃圾回收算法丨PB级大数据项目实战...
2021-01-29 22:37:17
131
原创 看过的比较好的文章整理(二杂)
Java 动态代理详解equals 和 == 的区别红黑树和AVL的性能对比:查找性能AVL强于红黑树,因为AVL更平衡;插入,删除红黑树优于AVL树,由于红黑树牺牲了部分平衡性,以换取删除/插入操作时少量的旋转次数;如果你的业务中查找远远多于插入、删除,那选AVL树; 如果查找、插入、删除频率差不多,那么选择红黑树。DelayQueue详解...
2021-01-29 22:26:16
114
原创 多线程相关比较好的文章整理(synchronized原理,锁升级,对象头,lock原理,hashmap,concurrenthashmap)
java 偏向锁、轻量级锁及重量级锁synchronized原理Java的对象头和对象组成详解如何优雅的关闭线程池Java 动态代理详解equals 和 == 的区别红黑树和AVL的性能对比:查找性能AVL强于红黑树,因为AVL更平衡;插入,删除红黑树优于AVL树,由于红黑树牺牲了部分平衡性,以换取删除/插入操作时少量的旋转次数;如果你的业务中查找远远多于插入、删除,那选AVL树; 如果查找、插入、删除频率差不多,那么选择红黑树。...
2021-01-29 17:10:13
124
原创 MySQL事务隔离级别和MVCC
Springboot设置事务隔离等级:1、@EnableTransactionManagement 来启用注解式事务管理2、@Transactional(isolation = Isolation.DEFAULT,propagation = Propagation.REQUIRED)设置事务隔离级别和传播行为MySQL事务隔离级别和实现原理(看这一篇文章就够了!):MySQL 中是如何实现事务隔离的:首先说读未提交,它是性能最好,也可以说它是最野蛮的方式,因为它压根儿就不加锁,所以根本谈不上什
2021-01-23 00:09:21
1178
2
原创 深拷贝浅拷贝
浅拷贝和深拷贝答:Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。(1)浅拷贝①对于数据类型是基本数据类型的成员变量,浅拷贝会直接进行值传递,也就是将该属性值复制一份给新的对象。因为是两份不同的数据,所以对其中一个对象的该成员变量值进行修改,不会影响另一个对象拷贝得到的数据。②对于数据类型是引用数据类型的成员变量,比如说成员变量是某个数组、某个类的对象等,那么浅拷贝会进行引用传递,也就是只是将该成员变量的引用值(内存地址)复制
2021-01-20 20:32:45
205
原创 RocketMQ
消息队列与RocketMq核心机制详解RocketMQ事务消息学习及刨坑过程面试官再问我如何保证 RocketMQ 不丢失消息,这回我笑了!跟我学RocketMQ之消息幂等
2021-01-15 13:36:45
108
原创 Redis整理以及总结
Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)Redis哨兵(Sentinel)模式Redis面试汇总Redis之Redis事务Redis的三个客户端框架比较:Jedis,Redisson,Lettuceredis-发布与订阅java实现 redis的发布订阅(简单易懂)以Redis来谈消息队列BitMap的原理和实现Redis HyperLogLogHyperLogLog使用与应用场景zt坑人无数的Redis面试题走近源码:神奇的Hyper
2021-01-10 19:38:03
140
原创 分布式锁
分布式锁原理拜托,面试请不要再问我Redis分布式锁的实现原理【石杉的架构笔记】redisson分布式锁总结:加锁机制:lua脚本(原子性)传1、客户端的hash值,2、锁名,3、超时时间a、锁互斥机制:判断锁名相同,判断客户端不是同一个,返回锁剩余时间,请求锁的客户端会循环尝试b、watch dog自动延期机制:如果超时后还想占有锁,就要用看门狗定时监测延期c、可重入加锁:判断锁名相同,判断客户端是同一个,hset的val就加1d、释放锁:对加锁次数(hset的val)减去1,计数器为0时
2021-01-08 00:26:02
126
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人