你不知道的原型到原型链再到原型模式
一. 原型我的理解是,原型是一个对象。是一个什么对象呢?是一个模板对象。其他对象可以通过这个模板对象继承属性和方法。假设有两个对象 B 和 A,B 对象继承了 A 对象,那么 A 就是 B 的原型。我们通过这种机制实现了对象之间的共享...
一. 原型我的理解是,原型是一个对象。是一个什么对象呢?是一个模板对象。其他对象可以通过这个模板对象继承属性和方法。假设有两个对象 B 和 A,B 对象继承了 A 对象,那么 A 就是 B 的原型。我们通过这种机制实现了对象之间的共享...
前言实现客户端与服务端间通信,在传输层协议 TCP 或 UDP 的基础上,定义客户端与服务端都能识别信息的一套规则:一方进行编码,另一方进行解码,这便是【协议】。在 Redis 中,定义了简单的 RESP(REdis Serializ...
计算机的设计目标是让程序高效、稳定、安全的运行,因此一个程序的运行涉及操作系统和几乎所有计算机核心硬件。对于计算机初学者而言,简单了解一个程序的运行过程可以更好的理解操作系统、计算机组成等专业课程从源代码到机器指令在了解程序是怎么执行...
这个问题对于看过线程池源码的同学应该已经知道答案了,没有看过源码的也不要慌,现在我们就一起看一下线程池线程的保活策略。一、线程池中在哪执行任务首先进入ThreadPoolExecutor的execute方法。首先检查当前工作线程数量,...
前言在探究 Tomcat 类加载机制之前,让我们重温一下 Java 默认的类加载器,加深对其的理解。 如同作者在《深入理解 Java 虚拟机》第二版中所言,类加载机制对于理解 Java 运行时环境至关重要。什么是类加载机制Java 虚...
介绍redis是一种常用的内存数据库,对于使用者如果能从底层了解到各种数据类型的底层原理,可以让我们能在特定的业务场景下选择正确的数据类型。同时redis数据类型也是面试中频繁出现的面试题,接下来大家可以带着以下几个问题来阅读整篇文章...
最近看到很多人讨论这个,也有一些分析的文章,但是我认为最靠谱的还是来自知乎的一篇分析, 作者把黑神话逆向,解包之后,得出的结论是:黑神话的脚本方案是魔改的USharp,自己实现了mono/clr/il2cpp的运行模式,且支持全平台(...
在 Redis 中,键的过期时间设计与实现是一个重要的功能,这使得 Redis 可以自动删除在指定时间后不再需要的键。下面详细介绍 Redis 过期时间的设计和实现,包括设置过期时间、过期键的存储结构、过期键的删除策略等。1. 设置过...
Java中的ReentrantLock是java.util.concurrent.locks包中的一个核心类,广泛应用于高并发场景中。相比于传统的synchronized关键字,ReentrantLock提供了更灵活的锁操作控制。本文...
最左匹配原则是B+树索引的一个重要特性,它指的是在使用复合索引(即包含多个列的索引)时,查询条件必须从索引的最左边列开始才能利用索引。下面我们从B+树索引的结构角度来解释为什么会有最左匹配原则。B+树索引结构B+树索引是一种广泛使用的...
Spring Cloud Gateway 基于WebFlux框架使用非阻塞API。它主要通过路由定义来决定请求如何被处理。每个路由可以指定一个或多个过滤器,这些过滤器可以修改请求和响应。前置过滤器:这些过滤器在请求实际被路由到下游服务...
我们SpringBoot应用都是通过SpringApplication.run()这一行代码启动起来的,那么我们有理由怀疑实现逻辑就在这个里面应用跑起来-run() public ConfigurableApplicationCont...