排序
用300行代码手写一个mini版的Tomcat
用300行代码手写一个mini版的Tomcat,Tomcat 是 Java Web 开发的基石。我们天天使用它,但你是否思考过它内部是如何工作的?为了打破这个“黑盒”,最好的方式就是动手实现一个极度精简的核心。...
keycloak~登录皮肤动态切换的尝试
keycloak的登录皮肤theme,可以设置领域全局的,或者每个客户端进行单独设置,这种设计是没有问题的,但有时,一个客户端可能有多种主题,这时,你只能再加个客户端,对应新的主题,但这样不方...
Paxos算法:如何解决分布式系统中的共识问题?
Paxos算法:如何解决分布式系统中的共识问题?,背景 Paxos 算法是 Leslie Lamport莱斯利·兰伯特在 1990 年提出了一种分布式系统 共识 算法。这也是第一个被证明完备的共识算法(前提是不存在拜...
FastDFS系统支持文件迁移吗?
大家知道,FastDFS架构是下图这样子。 大家可否知道,将一个fdfs系统里存储的文件迁移到另一个fdfs系统里,这个文件在新的fdfs系统能通过client正常访问吗? 先说答案:fastdfs系...
JDK中使用的设计模式
JDK中使用的设计模式, 我的博客一直有一些积压很久的草稿,有些完成度太低、内容过时的我不定期会删除;另一些完成度比较高,但随着工作变动、时间过去太久的博文,无力继续研究相关方向和更新...
基于 Spring Boot3、Vue3!这套小说系统开源了…
大家好,我是 Java陈序员。 今天,给大家介绍一个基于 SpringBoot3、Vue3 前后端分离的小说项目,集成了主流的技术栈,可供学习使用! 关注微信公众号:【Java陈序员】,获取开源项目分享、AI副...
介绍一下Redis的缓存穿透击穿雪崩
介绍一下Redis的缓存穿透击穿雪崩,介绍一下Redis的缓存穿透击穿雪崩 缓存穿透 定义:请求的数据既不在 Redis 缓存,也不在数据库,导致每次请求都穿透缓存直接打到数据库,数据库压力骤增。 产...
docker下安装mysql,并实现主从复制
1 mysql的安装与启动 1.1 拉取mysql5.7的镜像docker pull mysql:5.71.2 运行 docker run: 运行Docker容器的命令。 --restart=always: 指定容器在退出时总是重新启动。这意味着,无论容器是正常...
(工厂+策略)实现登录功能
原始代码 业务层UserService @Service public class UserService { public LoginResp login(LoginReq loginReq){ if(loginReq.getType().equals('account')){ System.out.println('用户名密码登...
从零手写实现 nginx-07-大文件传输 分块传输(chunked transfer)/ 分页传输(paging)
前言 大家好,我是老马。很高兴遇到你。 我们希望实现最简单的 http 服务信息,可以处理静态文件。 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat min...
Java实际工作里用到的几种加密方式
1、Base64加密 最简单的加密方式,甚至可以说不是加密,只是一种用64个字符表示任意二进制数据的方法。Base64编码原理是将输入字符串按字节切分,取得每个字节对应的二进制值(若不足8比特则高...
【面试实战】# 并发编程
1.线程状态 请解释 Java 中线程的几种状态,并描述每种状态的特点和转换条件。 NEW(新建):线程被创建,但尚未启动。 RUNNABLE(可运行):线程正在运行,可能在执行代码,也可能等待操作系统...













