首页
七字节
行动起来,活在当下
累计撰写
10
篇文章
累计创建
40
个标签
累计收到
0
条评论
栏目
首页
目 录
CONTENT
七字节
最新文章
2025-06-10
三种常见的缓存模式
本文介绍了三种常见缓存模式: 1. **旁路缓存模式(Cache Aside)**:适合读多写少场景,写操作更新数据库后删除缓存,读操作先查缓存,未命中时从数据库读取并写入缓存。 2. **读写穿透模式(Read/Write Through)**:以缓存为主要数据源,写操作同步更新缓存和数据库,读操作未命中时由缓存加载数据库数据。 3. **异步缓存写入模式(Write Behind)**:类似读写穿透,但采用异步批量更新数据库,适合一致性要求不高的场景(如点赞量统计),其优点是数据库写入效率高但存在数据不一致风险。
2025-06-10
1
0
0
Redis
2025-06-03
ThreadLocal详解
ThreadLocal是Java中实现线程本地变量的类,它通过为每个线程提供独立的变量副本确保数据隔离。其核心在于每个线程内部维护的ThreadLocalMap,以ThreadLocal对象为键存储数据。GC后若ThreadLocal仅被弱引用,key可能为null导致内存泄漏;若被强引用则key不为null。ThreadLocalMap使用斐波那契数生成均匀哈希,并通过线性探测法解决冲突。典型应用如Web请求跨方法传递用户信息时,通过拦截器设置ThreadLocal,全程可访问但需及时清理避免内存问题。
2025-06-03
3
0
0
Java
2025-04-23
Ubuntu设置MySQL使用root远程访问
摘要: 本文介绍了如何在Ubuntu系统中配置MySQL以允许root用户远程访问。主要步骤包括:修改MySQL配置文件中的`bind-address`为`0.0.0.0`以开启远程连接;通过MySQL命令行更新root用户的`Host`字段或创建新的root用户并授予远程访问权限;最后配置防火墙开放3306端口。完成这些操作后需重启MySQL服务使更改生效。
2025-04-23
5
0
0
Ubuntu
MySQL
2025-03-26
使用SSH连接Ubuntu24的root账号
本文介绍了如何在Ubuntu 24系统中配置SSH以允许root账号登录的完整步骤。主要内容包括:1) 更新系统软件包;2) 安装OpenSSH服务器;3) 为root账号设置密码(若未设置);4) 修改sshd_config配置文件,开启密码认证和root登录权限;5) 重启SSH服务并验证状态。特别强调了要修改服务端配置文件sshd_config而非客户端配置ssh_config,最后可通过systemctl命令检查服务是否正常运行。
2025-03-26
2
0
0
SSL
Ubuntu
2025-02-20
Ubuntu安装jdk7,jdk17,jdk21,切换不同Java版本
摘要: Ubuntu系统中可通过命令行安装多个JDK版本(如jdk7/jdk17/jdk21),使用`update-alternatives --config java`命令切换不同Java版本。用户只需在终端选择对应数字即可完成版本变更,支持多版本共存管理。
2025-02-20
3
0
0
Ubuntu
Java
2025-02-20
设计模式-单例设计模式
摘要:单例设计模式是创建型设计模式之一,确保类只能创建一个实例,并提供全局访问点。它分为两种实现方式:饿汉式和懒汉式。饿汉式在类加载时就创建实例;懒汉式在首次使用时才创建实例,节省内存。重点介绍了懒汉式的双重检查锁模式,通过两次判空和加锁保证线程安全。还提及静态内部类模式(延迟加载)和枚举方式(防反射破坏),以及如何用readResolve()方法避免反射攻击。
2025-02-20
0
0
0
设计模式
2025-02-20
synchronized可以锁字符串吗?
摘要: synchronized无法直接锁定字符串值,只能锁对象。解决方案有:1.使用intern()方法将字符串放入常量池,但可能导致频繁fullGC;2.使用Guava的Interner类,通过弱引用机制实现更高效的内存回收。推荐方案2,它利用ConcurrentMap分段锁和弱引用特性,在保证线程安全的同时避免了常量池的内存压力。Guava方案需添加Maven/Gradle依赖,代码示例展示了如何使用Interner实现字符串同步锁。
2025-02-20
0
0
0
Java
2025-02-20
Ubuntu18使用Docker安装RabbitMQ
本文介绍了在Ubuntu 18系统中使用Docker安装RabbitMQ的详细步骤:1)更新软件库并移除旧版docker;2)安装docker后配置开机启动;3)设置1panel镜像源加速下载;4)通过docker命令部署RabbitMQ容器(同时开放5672和15672端口);5)进入容器创建管理员账户并配置权限;6)最后可通过15672端口访问管理界面。全文提供了完整的命令行操作序列,适合需快速搭建RabbitMQ服务的用户参考。
2025-02-20
11
0
0
Ubuntu
RabbitMQ
2025-02-20
Ubuntu上申请Let's Encrypt SSL证书
摘要: 本文详细介绍了在Ubuntu系统上申请Let's Encrypt免费SSL证书的完整步骤。主要内容包括:1)安装必要的snapd工具;2)通过snap安装Certbot证书工具;3)设置系统链接;4)使用standalone模式获取证书;5)配置证书自动续期;6)将证书应用到Nginx服务器并配置HTTPS。文章提供了具体的命令行操作和Nginx配置示例,帮助用户快速实现网站HTTPS加密。Let's Encrypt作为开源CA机构,提供了免费的SSL/TLS证书服务。
2025-02-20
5
0
0
Ubuntu
SSL
2025-02-20
部署Docker私有仓库并实现登录功能
这篇文章详细介绍了如何部署带有登录验证功能的Docker私有仓库。主要内容包括:1) 拉取Registry和htpasswd镜像;2) 创建数据存储目录和认证文件;3) 使用htpasswd设置账号密码;4) 编写docker-compose编排文件并配置认证参数;5) 修改docker配置文件添加私有仓库地址;6) 启动容器并演示登录/登出操作;7) 说明镜像标记、推送和拉取的具体使用方法。通过完整步骤指导用户搭建安全的Docker私有仓库环境。
2025-02-20
0
0
0
Docker