摘要: 1)使用synchronized关键字,比如在方法上加上synchronized,也就是给临界区加锁。 2)使用JUC(java.util.concurrent)工具类 比如CountDownLatch(减到一定数释放锁,主要方法有await和countDown方法) 还有CyclicBarrier 阅读全文
posted @ 2020-05-13 22:16 北城cheng 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 为什么HashMap中key是引用类型而不是基本数据类型? 最主要的原因是,hashmap中不能存储重复值,因此在存入值的时候,需要用到存储对象的hashcode()和equals()方法进行判断,而基本数据类型是没有这两个方法的。因此HashMap中key只能是引用类型。 包装类的作用: 1. 包 阅读全文
posted @ 2020-05-09 21:59 北城cheng 阅读(722) 评论(0) 推荐(0) 编辑
摘要: ① Mapper接口方法名和mapper.xml(写sql语句的)中定义的每个sql的id相同 ② Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同 ③ Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的re 阅读全文
posted @ 2020-05-08 22:08 北城cheng 阅读(799) 评论(0) 推荐(0) 编辑
摘要: AOF的重写机制 AOF的工作原理是将写操作追加到文件中,文件的冗余内容会越来越多。所以 Redis 新增了重写机制。当AOF文件的大小超过所设定的阈值时,Redis就会对AOF文件的内容压缩。 重写的原理:Redis 会fork出一条新进程,读取内存中的数据,并重新写到一个临时文件中。并没有读取旧 阅读全文
posted @ 2020-05-07 22:23 北城cheng 阅读(331) 评论(0) 推荐(0) 编辑
摘要: RDB 的优缺点 优点: 1 适合大规模的数据恢复。 2 如果业务对数据完整性和一致性要求不高,RDB是很好的选择。 缺点: 1 数据的完整性和一致性不高,因为RDB可能在最后一次备份时宕机了。 2 备份时占用内存,因为Redis 在备份时会独立创建一个子进程,将数据写入到一个临时文件(此时内存中的 阅读全文
posted @ 2020-05-05 22:30 北城cheng 阅读(944) 评论(0) 推荐(0) 编辑
摘要: public void quickSort(int[] nums,int left,int right) { if (nums.Length==0||nums==null||left>right) { return; } int i = left; int j = right; int key = 阅读全文
posted @ 2020-05-03 22:34 北城cheng 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 1.Lambda表达式Lambda 是一个 匿名函数, 我们可以把 Lambda表达式理解为是一段可以传递的代码。可以写出更简洁、更灵活的代码。语法格式一: 无参, 无返回值, Lambda体只需要一条语句 Runnable runnable2 = () -> System.out.println( 阅读全文
posted @ 2020-05-01 22:55 北城cheng 阅读(118) 评论(0) 推荐(0) 编辑
摘要: Buffer的capacity,position和limit 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。 为了理解Buffer的工作原理,需要熟悉它的三个属性: capacitypositionli 阅读全文
posted @ 2020-05-01 09:50 北城cheng 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 队列中锁的实现不同ArrayBlockingQueue实现的队列中的锁是没有分离的,即生产和消费用的是同一个锁;LinkedBlockingQueue实现的队列中的锁是分离的,即生产用的是putLock,消费是takeLock 因此,LinkedBlockingQueue的一大优点也是ArrayBl 阅读全文
posted @ 2020-04-30 22:05 北城cheng 阅读(246) 评论(0) 推荐(0) 编辑
摘要: ** * 对业务写方法加锁 * 对业务读方法不加锁 * 容易产生脏读问题 就是对写加锁但对读没有加锁,这样在写的过程中可能还没写完就被读了 * * */public class Demo { String name; double balance; public synchronized void 阅读全文
posted @ 2020-04-29 22:11 北城cheng 阅读(570) 评论(0) 推荐(0) 编辑