NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。 那么NIO的本质是什么样的呢?它是怎样与事件模型结合来解放线程、提高系统吞吐的呢?…
相信大部分关注DD的朋友,都是后端开发,都接触过HTTP接口的开发。但是,我发现有不少开发者,对于HTTP协议的基础知识还是非常欠缺的,所以最近打算整理一些HTTP相关的基础概念科普知识视频,以方便大家学习和了解,补齐大学时候没有认证学习的内容。 今天主要讲讲HTTP的版本,先尝试问自己几个问题: 你知道你在用的HTTP版本是多少吗?…
昨天分享了一个关于 JWT 的视频,有不少读者提议再介绍一下另外一个被广泛应用的东西:OAuth 2.0 DD看了就几个,目前看下来还是ByteByteGo的这个最为通俗易懂。所以,如果您还没弄懂这个概念的话,可以通过下面的视频来学习一下: A BiliBili video 如果您平时也有上油管看前沿视频的话也可以装一个 Youtube中文配音 open…
之前,我们通过一系列文章,介绍了如何在Spring Boot中发送邮件: 发送邮件 添加附件 引用静态资源 邮件模版 已经包含了大部分的应用场景。但最近DD在做 YouTube中文配音 open in new window 的时候,碰到一个问题: 如上图所示,收件人在客户端收到的时候,显示的名称是邮箱的前缀,而不是我们的产品名称,也就是邮箱别名。…
[toc] XXLJob简介 XXLJob是一个分布式任务调度平台,优点:开发迅速、学习简单、轻量级、易扩展。是大众点评员工xxl创建并维护,基于 GPL-3.0 开源,可放心商用,目前已经拥有庞大的使用群体。 简单来说,就是一个定时任务中间件,类似的产品有当当网开源的Elastic-Job。 特性…
Redis作为当今最流行的内存数据库,已经成为服务端加速的必备工具之一。对于Redis为什么那么快?以及Redis采用单线程,但为什么反而获得更高的性能的疑问,在之前的 Redis为什么那么快? 一文中,已经有所介绍。 今天通过这篇,我们来了解一下Redis最常见的5种应用场景。 A BiliBili video…
红黑树是平衡二叉查找树的一种。为了深入理解红黑树,我们需要从二叉查找树开始讲起。 BST 二叉查找树(Binary Search Tree,简称BST)是一棵二叉树,它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。它的高度决定了它的查找效率。…
spring容器默认在启动时就对bean进行实例化,但是可以修改baen的lazy-init属性为true延迟bean的初始化,使用bean时才实例化: (1)spring中bean的scope默认是singleton,lazy-init为false,容器启动时实例化bean,修改lazy-init为true时,使用bean时实例化。 <bean…
文章摘要:本文会从设计角度,一步步的剖析 Spring 事务管理的设计思路 事务管理 ,一个被说烂的也被看烂的话题,还是八股文中的基础股之一。 本文会从设计角度,一步步的剖析 Spring 事务管理的设计思路(都会设计事务管理器了,还能玩不转?) 一、为什么需要事务管理? 先看看如果没有事务管理器的话,如果想让多个操作(方法/类)处在一个事务里应该怎么做:…