结构类模式包括适配器模式、桥接模式、组合模式、装饰模式、门面模式、享元模式和代理模式。 为什么叫结构类模式呢?因为它们都是通过组合类或对象产生更大结构以适应更高层次的逻辑需求...
总原则:开闭原则(Open Close Principle) 对扩展开放,对修改关闭(可复用设计,抽象化) 在程序需要进行扩展的时候,不能去修改原有的代码,而是要扩展原有代码...
六种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition...
一、设计模式的分类 总体分为三大类: 创建型模式,关注对象的创建(“花样new模式”),共5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式; 结构型模式,关注...
干IT时间久了,免不了要去面试别人,那怎么才能快速找到自己需要的人呢? 常见的套路:上来就是一套 Java 八股文,什么 HashMap 、 ConcurrentHashMa...
Quarkus: 容器优先 统一命令式和响应式编程 社区和标准 Kubernetes原生 Developer JoyQuarkus-vs-Springboot 优劣势分析: ...
java并发编程中,经常会看到 volatile 关键字。今天就让我们来盘一盘它。 volatile相关定义 java语言规范对于 volatile 定义如下: ...
ThreadLocal是什么 提供线程局部变量,一个线程的局部变量在多个线程中有独立的副本,特点有:简单(开箱即用),快速(无额外开销),安全(线程安全);场景:多线程场景(...
Paxos、Raft、ZAB 等分布式算法经常会被称作是“强一致性”的分布式共识协议,其实这样的描述抠细节概念的话是很别扭的,会有语病嫌疑,但我们都明白它的意思其实是在说“尽...
Raft概述 Raft 是工程上使用较为广泛的 强一致性、去中心化、高可用 的分布式协议,用于管理副本复制(Log Replication)。相比传统的 Paxos 算法,R...
Distributed Consensus AlgorithmThere is only one consensus protocol, and that's “Paxos”...
一、类加载时机 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期将会经历 加载、验证、准备、解析、初始化、使用、卸载 七个阶段。 其中验证、准备、解析三个部...
参数描述UseSerialGCClient 模式下的默认值,打开后,使用 Serial + Serial Old 组合进行内存回收UseParNewGC打开后,使用 ParN...
新生代收集器 + 老年代收集器 一、Serial 收集器 串行收集,STW 时间长。 新生代:复制算法老年代:标记整理算法 二、ParNew 收集器 只负责新生代垃圾回收,采...
并发的可达性分析 CMS和G1都有一个并发标记的过程,并发标记要解决什么问题?带来了什么问题?怎么解决这些问题呢? 可达性分析算法需要一个理论前提:该算法的全过程都需要基于一...
一、对象优先在 Eden 分配 大多数情况下,对象在新生代 Eden 中分配。当 Eden 区空间不足以分配时,虚拟就将发起一次 Minor GC。 二、大对象直接进老年代 ...
根节点枚举 在可达性算法当中是通过GC ROOT的引用找到存活对象的方式,在现代的收集器基本可以做到和用户线程一起并发执行的程度,但是根节点枚举要保证某个时间点的“快照”,这...
安全点 safe point 是什么? 有什么用? 两种遍历 GC Roots 的方法: 遍历方法区和栈区查找(保守式GC) OopMap 数据结构来记录 GC Roots ...
记忆集与卡表 跨代引用 跨代引用是指新生代中存在对老年代对象的引用,或者老年代中存在对新生代的引用。 新生代引用老年代 做正常的垃圾回收即可。即使Minor GC把年轻...