JMM(Java 内存模型)详解
JMM(Java 内存模型)主要定义了对于一个共享变量,当另一个线程对这个共享变量执行写操作后,这个线程对这个共享变量的可见性。要想理解透彻 JMM(Java 内存模型),我们先要从 CPU 缓存模型和指...
Java SPI 机制详解
在面向对象的设计原则中,一般推荐模块之间基于接口编程,通常情况下调用方模块是不会感知到被调用方模块的内部具体实现。一旦代码里面涉及具体实现类,就违反了开闭原则。如果需要替换一种实现...
Java 代理模式详解
1. 代理模式代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标...
Java 反射机制详解
何为反射?如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。...
ThreadLocal 详解
原文地址:https://juejin.cn/post/6844904151567040519。前言全文共 10000+字,31 张图,这篇文章同样耗费了不少的时间和精力才创作完成,原创不易,请大家点点关注+在看,感谢。对于ThreadLoc...
MQ消息队列八股系列(1)
1、MQ 使用场景有哪些? 异步通信场景: MQ可以实现消息的异步传递,避免了请求等待的时间,提高了系统的响应速度和吞吐量。 常见的应用场景有异步下单、异步支付等,例如在电商平台中,当用户...
SpringSecurity6.1
SpringSecurity6.1简介SpringSecurity中文文档Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比 Shiro 丰富。Spring Se...
Java 序列化详解
什么是序列化和反序列化?如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。简单来说:序列化:将数据结构或对象转换成二进制...
Java 线程池最佳实践
简单总结一下我了解的使用线程池的时候应该注意的东西,网上似乎还没有专门写这方面的文章。1、正确声明线程池线程池必须手动通过 ThreadPoolExecutor 的构造函数来声明,避免使用Executors 类...
Java基础常见面试题总结(3)
异常Java 异常类层次结构图概览:Exception 和 Error 有什么区别?在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。Throwable 类有两个重要的子类:Exception :程序本...