面试官:Java中什么地方违反了双亲委派模型,打破了双亲委派模型?
herman 2年前 (2021-07-21) 1753浏览
摘要 SPI 机制是什么,有哪些应用场景,又带来了哪些问题? 双亲委派模型是 Java 推荐的类加载模型,但违背该模型的案例有哪些?为什么会违背,又是怎么解决这种 case 的? JDBC 驱动加载的案例有哪些,SPI 机制为它带来了哪些方便...
herman 2年前 (2021-07-21) 1753浏览
摘要 SPI 机制是什么,有哪些应用场景,又带来了哪些问题? 双亲委派模型是 Java 推荐的类加载模型,但违背该模型的案例有哪些?为什么会违背,又是怎么解决这种 case 的? JDBC 驱动加载的案例有哪些,SPI 机制为它带来了哪些方便...
herman 2年前 (2021-07-11) 1071浏览
设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,如果设计模式没学会,抽象能力肯定就不会太强。常见的设计模式有 23 种,今天我们只聊最简单的工厂模式。 工厂模式是属于创建型模式的,通过工厂获取一个一个的新对象。说白了,工厂就是用来...
herman 2年前 (2021-07-08) 3508浏览
Java8 Stream 实现复杂集合对象的差集、并集、交集! 昨天群里一位网友想要获取两个 List 集合之间的差集、并集、交集!群里网友群策群力,很多有人给他百度搜索到了一个结果。demo 案例如下所示: import java.u...
herman 2年前 (2021-07-04) 1408浏览
现在面试,基本上都是面试造火箭🚀,工作拧螺丝🔩。而且是喜欢问一些 Spring 相关的知识点,比如 @Autowired 和 @Resource 之间的区别。魔高一丈,道高一尺。很快不少程序员学会了背诵面试题,那我反...
herman 2年前 (2021-07-04) 907浏览
最近群里有一位 C 转 Java 的网友,问到“Java如何获取当前日期和时间”这个问题,知识虽然基础,但大部分网友只记得 Java8 以前的用法。本文总结了 4 种方法,其中第 4 种是 Java8 才提供的 API。 Java如何获取当前...
herman 2年前 (2021-06-23) 1733浏览
前言 Redis 作为一种高性能的内存数据库,普遍用于目前主流的分布式架构系统中。为了提高系统的容错率,使用多实例的 Redis 也是必不可免的,但同样复杂度也相比单实例高出很多。本文主要会介绍 Redis 在多机数据库下的三种实现。 ...
herman 2年前 (2021-06-19) 1096浏览
我相信大家面试的时候对于 HTTPS 这个问题一定不会陌生,可能你只能简单的说一下与 HTTP 的区别,但是真正的原理是否很清楚呢?他到底如何安全?这一篇让我们用大白话来揭开 HTTPS 的神秘面纱吧! HTTPS 是什么 HTTPS ...
herman 2年前 (2021-06-16) 1592浏览
相信已经有不少人上手了 webflux,包括我之前也写了很多类似的整合教程,但是在整合 swagger 框架方面,我还是第一次尝试。 webflux 和 springmvc 不同,webflux 返回的 Mono、Flux 不能被 swagg...
herman 2年前 (2021-06-14) 1459浏览
当你有空闲时间的时候,看看 Redis、Mongo 等系统的设计,收获会颇丰。 我在前面的一章讲解了,MongoDB 中 ObjectId 的生成原理。Mongo 中的 ObjectId 设计的很精妙,长度比雪花算法还长,还能不完全依赖于时钟...
herman 2年前 (2021-06-12) 1205浏览
想写这篇文章好久了,一直抽不出时间。这两天端午节放假,我和娃都泡在图书馆,在他看书的空闲期,我拿出电脑写下了本文。 我们都知道,在分布式系统中,分布式 ID 有很多特殊的要求,其中之二就是要求各个 ID 必须全局唯一,且 ID 能够趋...
herman 2年前 (2021-06-10) 1270浏览
想不到,synchronized + @Transactional 造成的重大线程安全问题 昨天,微信群里一位小伙伴遇到了一个 synchronized + @Transactional 事务造成端午礼品分配不均的问题,最终导致数据不一致。今...
herman 2年前 (2021-05-30) 997浏览
今年以来,我面试过很多候选人。其中也有不少人背过面试题,但是经过我的这套面试题套餐,基本上没啥人能通过。 在 Java 面试中,HashMap 基本必问,只是问法各有不同而已。HashMap 有非常多的知识点,学好它对整个编程思想有非常大的帮...
herman 2年前 (2021-05-26) 2786浏览
简介 关于DDD的一系列文章,希望能继续在总结前人的基础上发扬光大DDD的思想,但是通过一套我认为合理的代码结构、框架和约束,来降低DDD的实践门槛,提升代码质量、可测试性、安全性、健壮性。 导读 对于一个架构师来说,在软件开发中...
herman 2年前 (2021-05-08) 1276浏览
最近两年很忙,没多余时间写文章!之前的几年,我还写过不少,其中有很多系列是从根上理解来展开的,今天抽个时间,我们再来一篇《从根上理解 Redis RDB 的底层原理》。下面是正文: 我是个 redis 服务,我可能马上就要挂了! 我已经...
herman 2年前 (2021-04-24) 1707浏览
这篇文章想了很久,没想到合适的标题。 另外本文讲的不是高深莫测的技术,而是在文件上传下载过程中可能会忽视的编码细节导致的程序 bug。 大型复杂的程序或分布式系统可能都存在一个专门的服务来提供文件的上传和下载,而一个 to B 的产品,...