摘要: 我们经常听说List是有序且可重复的,Set是无序且不重复的。这是一个误区,这里所说的顺序有两个概念,一是按照添加的顺序排列,二是按,照自然顺序a-z排列。Set并不是无序的传统所说的Set无序指的是HashSet,它不能保证元素的添加顺序,更不能保证自然顺序,而Set的其他实现类是可以实现这两种顺 阅读全文
posted @ 2019-06-05 19:00 那些年的代码 阅读(4620) 评论(1) 推荐(1) 编辑
摘要: 转载:http://www.cnblogs.com/lzrabbit/p/3721067.html#h1 HashMap和Hashtable的区别 HashMap计算hash对key的hashcode进行了二次hash,以获得更好的散列值,然后对table数组长度取摸 HashSet和HashMap 阅读全文
posted @ 2019-06-05 18:18 那些年的代码 阅读(621) 评论(0) 推荐(0) 编辑
摘要: HashMap和HashSet的区别是Java面试中最常被问到的问题。如果没有涉及到Collection框架以及多线程的面试,可以说是不完整。而Collection框架的问题不涉及到HashSet和HashMap,也可以说是不完整。HashMap和HashSet都是collection框架的一部分, 阅读全文
posted @ 2019-06-05 18:15 那些年的代码 阅读(54853) 评论(3) 推荐(9) 编辑
摘要: SQL模糊查询的语法为: “Select column FROM table Where column LIKE 'pattern'”。 SQL提供了四种匹配模式: 1. % 表示任意0个或多个字符。如下语句:Select * FROM user Where name LIKE '%三%'; 将会把 阅读全文
posted @ 2019-06-05 18:07 那些年的代码 阅读(2133) 评论(0) 推荐(0) 编辑
摘要: 一,前言 redis 现在已经成为系统缓存的必备组件,针对缓存读取更新操作,通常我们希望当缓存过期之后能够只有一个请求去更新缓存,其它请求依然使用旧的数据。这就需要用到锁,因为应用服务多数以集群方式部署,因此这里的锁就必需要是分布式锁才能符合需求。 二,spring-boot 引入 redis 在 阅读全文
posted @ 2019-06-05 17:50 那些年的代码 阅读(527) 评论(0) 推荐(0) 编辑
摘要: // 获取锁getLock() { // 是否有正在执行的线程 boolean hasLock = false; try { hasLock = redisClient.setnx("lockKey", "ing") == 1; if (hasLock) { redisClient.expire(" 阅读全文
posted @ 2019-06-05 15:37 那些年的代码 阅读(956) 评论(0) 推荐(0) 编辑
摘要: 最近有一个竞拍的项目会用到分布式锁,网上查到的结果是有三种途径可以实现。1.数据库锁机制,2.redis的锁,3.zookeeper。考虑到使用mysql实现会在性能这一块会受影响,zookeeper又是不怎么会。所以使用redis来实现了。第一种:使用redis的watch命令进行实现 如上图所示 阅读全文
posted @ 2019-06-05 14:28 那些年的代码 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细 阅读全文
posted @ 2019-06-05 13:57 那些年的代码 阅读(1303) 评论(0) 推荐(0) 编辑