![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
疑难杂症
凝渊丶焚膏继晷
与魔鬼战斗的人,应当小心自己不要成为魔鬼。当你凝视深渊时,深渊也在凝视你。
展开
-
DUBBO并发控制
DUBBO如果要做并发控制,怎么做dubbo服务端和消费端都做了并发控制,分别在配置中有相应的对应配置:服务端:executes服务提供者每服务每方法最大可并行执行请求数,控制并发数量;actives每服务消费者每服务每方法最大并发调用数,控制占用链接的请求数量;Provider处理请求时,统计方法维度的调用情况,如果并发数超过设置的最大值,则阻直接抛出异常。消费端:actives每服务消...原创 2019-06-24 10:31:28 · 550 阅读 · 0 评论 -
事务相关
一、事物的概述原子性原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。一致性一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,...原创 2019-06-27 11:11:04 · 276 阅读 · 0 评论 -
序列化
一、序列化的意义简单来说,系列化就是把对象的状态信息转化为可存储或传输的形式过程,也就是把对象转换为字节系列的过程成为系列化。而反序列化是序列化的逆向过程,把字节数组反序列化为对象,把字节序列恢复为对象的过程成为对象的反序列化 。二、java中的序列化serialVersionUID 的作用Java 的序列化机制是通过判断类的 serialVersionUID 来验证版本一致性的。在...原创 2019-06-26 14:56:09 · 108 阅读 · 0 评论 -
ArrayList扩容机制
ArrayList 几个重要属性之一首先是默认初始值的大小:private static final int DEFAULT_CAPACITY = 10;接着是一个默认的空对象数组:private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};然后是ArrayList 实际数据存储的一个数组:t...原创 2019-06-26 14:33:52 · 8711 阅读 · 0 评论 -
如何对集合中对象的某个属性进行排序
假设一个List中,存放的是一个User对象,User对象中有一个age属性,根据age排序:使用list中自带的sort方法,里面自己重写compare方法,或者直接使用lambda表达式,如下public class Test { class User{ private String name; private int age; ...原创 2019-06-26 14:15:40 · 1059 阅读 · 0 评论 -
Integer值判断是否相等问题
Integer值判断是否相等问题我们知道Integer是int的包装类,在jdk1.5以上,可以实现自动装箱拆箱,就是jdk里面会自动帮我们转换,不需要我们手动去强转,所以我们经常在这两种类型中随意写,平时也没什么注意但Integer他是对象,我们知道 == 比较的是堆中的地址,但有个奇怪的事是, 如果 Integer a = 123, Integer b = 123,可以返回true,但...原创 2018-08-08 21:41:51 · 249 阅读 · 0 评论 -
详解重写equals()方法就必须重写hashCode()方法的原因
详解重写equals()方法就必须重写hashCode()方法的原因最近看了Object类的源码,对hashCode() 和equals()方法有了更深的认识。重写equals()方法就必须重写hashCode()方法的原因,从源头Object类讲起就更好理解了。先来看Object关于hashCode()和equals()的源码: 光从代码中我们可以知道,hashCode()方法是...原创 2018-08-08 21:28:10 · 258 阅读 · 0 评论 -
HashMap、Hashtable、ConcurrentHashMap之间的原理与区别
HashMap、Hashtable、ConcurrentHashMap之间的原理与区别HashTable底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化初始size为11,扩容:newsize = oldsize*2+1计算index的方法:index...原创 2019-06-26 14:13:18 · 327 阅读 · 0 评论 -
分布式锁的策略优缺点
基于数据库悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁...原创 2019-07-01 11:09:04 · 2753 阅读 · 0 评论