java
文章平均质量分 90
爱偷懒的程序源
不定期分享偷懒小技巧,让你早点下班
展开
-
java源码系列之初识ConcurrentHashMap(JDK1.8)
ConcurrentHahsMap简介 大家都知道HashMap是线程不安全的,在高并发的情况下可能会发生键值对丢失,迭代失败等等的问题,于是为了在高并发环境下使用HashMap,ConcurrentHashMap应运而生,看名字(并发的HashMap)就可以知道该容器适合在并发环境下使用。ConcurrentHashMap是在java并发包(java.util.concurrent)下的一个...原创 2019-11-27 22:52:51 · 403 阅读 · 0 评论 -
利用redis分布式锁实现秒杀业务
什么是分布式锁 为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。 如何利用redis实现分布式锁 我们先看一段秒杀业务的逻辑代码: int stock = Integer.parseInt(template.opsForValue().get("stock")); ...原创 2019-11-10 16:43:19 · 1803 阅读 · 2 评论 -
Java源码系列之直击灵魂的hashmap源码阅读(JDK1.8)
1.hashmap的数据结构分析 首先,hashmap中用到了两种数据结构,也是最基础的两种,数组和链表。 由于数组和链表各有其优缺点,于是产生了一种将两者的优点结合的数据结构,哈希表。哈希表既方便数据的快速查找,同时不会占用太多的空间,是一种非常优秀的数据结构。 如图所示: 从图中我们可以看到有一个entry[]数组,由于数组是内存中连续的一段存储空间,所以可以快速的查找数据,所以在hashma...原创 2019-08-19 13:38:58 · 179 阅读 · 0 评论 -
Java源码系列之String类(个人理解及感悟)
首先,在java中,一个类的基本机构如下: 属性 方法 构造器 类的声明 内部类(不必要) 块(不必要) 属性:可以理解为java对象的数据,又称成员变量 声明方式为:访问权限修饰符+数据类型+属性名(=初值) 例如: private String name; 方法:即对象的行为,是表示对象行为的语句,其中无返回值的声明方式如下 public void test(){ return;...原创 2019-08-21 10:57:46 · 308 阅读 · 0 评论