Java + Zookeeper 实现不可重入的分布式锁

herman 7年前 (2018-12-02) 2886浏览

看过我博客的网友都知道,我前面写锁写了非常多的文章。包括悲观锁、乐观锁、自旋锁、适应性自旋锁、无锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、非可重入锁、独享锁、共享锁等。本文我们借助 Zookeeper 实现一个不可重入的分布式锁...

能让你面试到崩溃的 interface 泛型及继承关系

herman 7年前 (2018-11-30) 4328浏览

能让你面试到崩溃的 interface 泛型及继承关系。很多人不相信,于是我就发到群里,错的人一大堆。很多高级的 Java 工程师在被我面试时,也会崩溃的。一不小心就会掉到陷阱里,越是自信慢慢的人,我打击的越狠! 一个接口可以继承多个接口。...

详解 JPA 中的 @Query 注解的用法和教程

herman 7年前 (2018-11-30) 33986浏览

@Query 注解是 JPA 中的一个注解,使用的比较频繁。今天有同事问题,@Query 注解中 ? 和 : 有啥区别?借这个机会我给大家讲一讲! @Query 注解的定义在 org.springframework.data.jpa.rep...

详解 @FunctionalInterface 注解的用法教程

herman 7年前 (2018-11-30) 16948浏览

最近在做团队代码 code review 的时候发现了有人使用了 @FunctionalInterface 注解。我对这个注解不是很熟悉,基本上没用过。于是我就问对应的开发人员,给我讲一讲这个注解的用法,为什么要用这个注解?他...

解决 Spring Boot enable like in web.xml 报错问题

herman 7年前 (2018-11-29) 5336浏览

今天,临近下班时间,我刚准备走呢?群里一位网友一直夸我,夸的我心虚。夸着夸着突然给我来一个问题,问我 Spring Boot enable <async-supported> like in web.xml 怎么解决。Spr...

详解 com.mongodb.client.model.Filters 的用法和教程

herman 7年前 (2018-11-29) 9036浏览

MongoDB 的 Java 操作中,最重要的一个类就是 com.mongodb.client.model.Filters(过滤器)。我们的很多查询,条件筛选都是通过它实现。比如:eq、ne、gt、lt、gte、lte、in、nin、and、or...

SpringBoot 整合 druid-spring-boot-starter 实现多数据源配置

herman 7年前 (2018-11-29) 13394浏览

本来今天我是有其他安排的,但是今天群里有一位同学在使用 SpringBoot 整合 Druid。我发现她搞了一上午了,一个整合还没搞定,我都替她着急了。于是便有这篇 SpringBoot 整合 Druid 的教程! 这位同学,在启动项目后报...

详解 com.mongodb.client.MongoCollection 的用法!

herman 7年前 (2018-11-29) 9088浏览

MongoDB 非常的简单,又非常的复杂。简单的是增删改查简单,难的是完全理解、学会并在生产中应用,部署,运维等。我们今天先来个简单的,从 MongoCollection 开始学起。 com.mongodb.client.MongoColl...

使用 TTL 索引定期清理 MongoDB 中某个集合的数据

herman 7年前 (2018-11-27) 3846浏览

最近我在学习 MongoDB,在 MongoDB 中文社区里看到了一个投票最多的帖子。投票最多的也就意味着用的人多,遇到这个需求,有这个需要的人也多。所以,我就针对性的重点研究了一下。把如何定期清理 mongo 中某个集合的数据经验分享给大家! ...

SpringBoot 集成/整合 MongoDB,只需简单的 4 步

herman 7年前 (2018-11-26) 5715浏览

随着 Web 的发展,越来越多的网站注重社交、评论等功能。于是 MongoDB 便诞生了,MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行...

从 java.util.Stack 的原理说它为什么不被官方所推荐使用!

herman 7年前 (2018-11-26) 7573浏览

前面我已经写过一篇关于 Stack(栈) 的文章了《 吃多了拉就是队列,吃多了吐就是栈 》。鉴于网上关于 Stack 的文章众多,但大多都是偏介绍的。并且 Stack(栈)在 Java 中广泛存在,所以,我想再研究研究它。 我们先来看一下栈...

吃多了拉就是队列,吃多了吐就是栈

herman 7年前 (2018-11-26) 2919浏览

吃多了拉就是队列,吃多了吐就是栈!听起来比较搞笑,但实际上比喻的还是挺形象的。今天我们先来简单的说说队列和栈! 队列和堆栈是一个更高层次的概念,其底层可以是用链表也可以是用数组来实现。 堆栈 堆栈实现了一种后进先出的语义 (LI...

从 ReentrantReadWriteLock 说独享锁(排他锁)与共享锁

herman 7年前 (2018-11-22) 3769浏览

阅读前面的文章,我们知道 ReentrantLock 是一个高效的锁,它既能用作公平锁,又能用作非公平锁!但是有了 ReentrantLock 后,为什么还需要 ReentrantReadWriteLock 呢? 那就需要从排他锁和共享锁说...