OAuth2 和 OpenID Connect

OAuth 是什么 OAuth 2.0 是一个授权协议,它允许软件应用代表(而不是充当)资源拥有者去访问资源拥有者的资源。应用向资源拥有者请求授权,然后取得令牌(tok...

August 15, 2021 · 26 min · Zeral

WSL2 使用指南

适用于 Windows 10 的子系统 Linux 安装指南 启用 Windows 子系统 Linux 在 Windows 上安装任何 Linux 发行版之前,您必须首先启用“Windows Subsystem for Linux/适用于Linux的Win...

July 31, 2021 · 7 min · Zeral

Consul 入门

Consul 简介 Consul 解决了各种规模的组织在微服务架构中遇到的挑战。包括各种分布式环境下及跨地理位置下的所有应用程序流量的保护,它关注计算网络层。 Consul 是一个...

July 26, 2021 · 19 min · Zeral

InnoDB 存储引擎【翻译】

本文为 MySQL 8.0 官方文档 The InnoDB Storage Engine 的部分翻译。 InnoDB 简介 InnoDB 是一个兼顾高可靠性和高性能的通用存储引擎。在 MySQL 8.0 中,InnoDB 是默认的 MySQL 存储引擎。除非您配置...

July 12, 2021 · 36 min · Zeral

MySQL 锁和事物模型

本文为 MySQL 8.0 官方文档 InnoDB Locking and Transaction Model 的翻译,所述的锁和事物模型针对于 InnoDB 存储引擎。 要实现大规模、繁忙或高可靠的数据库应用程序,或调优 MySQL 性能,了解 InnoDB 锁和...

July 4, 2021 · 35 min · Zeral

延迟队列实现

延迟队列定义 首先,队列这种数据结构相信大家都不陌生,它是一种先进先出的数据结构。普通队列中的元素是有序的,先进入队列中的元素会被优先取出进行...

June 29, 2021 · 19 min · Zeral

双向关联最佳实践

下面的最佳实践都是从性能角度证明双向关联的正确性。 映射 @OneToMany 双向关联 一个作者对应多本发行书,Parent 端 为 Author,Child 端为 Book...

June 8, 2021 · 9 min · Zeral

Java Agent

Java Instrumentation API,提供允许 Java 编程语言代理人(Agent)Instrument 在 JVM 上运行的程序的服务。 Agent:代理,以下文章中的所述代理都是指 Java...

June 5, 2021 · 13 min · Zeral

Redis 分布式锁

用锁来做什么? 在计算机科学中,锁是多线程环境中防止不同线程对同一资源进行操作的机制。锁的目的是确保在可能尝试执行同一工作的多个节点中,只有一...

June 1, 2021 · 17 min · Zeral

Java NIO

从 1.4 版本开始,Java 提供了另一套 I/O 系统,称为 NIO(New Input/Output 的缩写)。NIO 支持面向缓冲区的、基于通道的 I/O 操作。随着 JDK7 的发布,Java 对 NIO 系统进行了极...

May 30, 2021 · 13 min · Zeral