k3s 的安装和使用
本文记录了 k3s
的安装和使用,相较于 minikube
,前者是一个完全兼容的 Kubernetes
发行版,安装和使用的体验更佳。
本文记录了 k3s
的安装和使用,相较于 minikube
,前者是一个完全兼容的 Kubernetes
发行版,安装和使用的体验更佳。
GParted
是一款适用于 Linux
的图形化磁盘分区管理工具,通过它可以便捷地为 VMware
中的 Ubuntu Desktop
增大磁盘空间。然而你可能正在使用 Ubuntu Server
,并不想要安装或并不被允许安装图形化界面,本文介绍了如何在不使用 GParted
的情况下,通过命令行使用自带的工具为 VMware
中的 Ubuntu Server
增大磁盘空间。
事务就是一组数据库操作,它具有原子性(Atomicity
)、一致性(Consistency
)、隔离性(Isolation
)和持久性(Durability
),简称为 ACID
。本文将介绍 MySQL
事务的隔离性以及对其的思考。
尽管这是一个老生常谈的话题,网上也有很多相关的资料,但是要理解它并不容易。即使林晓斌老师在 《MySQL 实战 45 讲》 中用了两个章节进行介绍,但是你在评论区中会发现有些分享或讨论的观点彼此矛盾。原因可能有很多,比如为了易于理解使用简化概念进行分析,有些具体细节各人各执一词同时它们又不好通过测试进行验证,用词不严谨等等。本文尽可能为自己梳理出一个完善并且前后一致的认知体系,再针对一些容易引起误解的地方作进一步的说明。
Java
类 Cleaner
和 Finalizer
都实现了一种 finalization
机制,前者更轻量和强大,你可能在了解 NIO
的堆外内存自动释放机制中注意过它;后者为人所诟病,finalize
方法被人强烈反对使用。本文想要解析它们的原因不在于它们实现的功能,而在于它们是 Reference
的具体子类。Reference
作为和 GC
紧密联系的类,你可能从很多文字描述中了解过 SoftReference
、WeakReference
还有 PhantomReference
但是却很少从代码层面了解过它们,当你牢记“一个对象是否可以被回收的判断依据是它是否从 Root
对象可达”这条规则再面对 Reference
的子类时是否产生过割裂感;你是否好奇过 Finalizer
如何和重写 finalize
方法的类产生联系,本文将从 Cleaner
和 Finalizer
的源码揭示一些你可能已知的结论背后的朴素原理。
我们知道 Java
扩充了“引用”的概念,引入了软引用、弱引用和虚引用,它们都属于 Reference
类型,也都可以配合 ReferenceQueue
使用。你是否好奇常常被一笔带过的“引用对象
的处理过程”?你是否在探究 NIO
堆外内存的自动释放时看到了 Cleaner
的关键代码但不太能梳理整个过程?你是否好奇在研究 JVM
时偶尔看到的 Reference Handler
线程?本文将分析 Reference
和 ReferenceQueue
的源码带你理解引用对象
的工作机制。
Unsafe
类位于 sun.misc
包中,它提供了一组用于执行低级别、不安全操作的方法。尽管 Unsafe
类及其所有方法都是公共的,但它的使用受到限制,因为只有受信任的代码才能获取其实例。这个类通常被用于一些底层的、对性能敏感的操作,比如直接内存访问、CAS
(Compare and Swap
)操作等。本文将介绍这个“反 Java
”的类及其方法的典型使用场景。
本文详细介绍了 Java
中 synchronized
锁的机制、存储结构、优化措施以及升级过程,并通过 jol-core
演示 Mark Word
的变化来验证锁升级的多个 case
。
印象里每次安装 ElK
组件的体验都不是很好,或多或少都遇到过奇奇怪怪的问题。本文几乎完全按照官方文档:Getting started with the Elastic Stack and Docker Compose: Part 1 通过 docker compose
安装 elasticsearch
、kibana
、metricbeat
、filebeat
和 logstash
,但是移除了 ssl
相关的配置。你可以直接按照原文档进行安装,但是对照本文可以帮助你更快速地移除不需要的配置以及绕开可能踩到的坑。
此安装方式尽量使用环境变量代替编写配置文件,便于在备份和分享时将敏感信息留存在本地。本次安装时间为 2023-12-14
,使用官方镜像,版本为 8.11.2
。
本文介绍了 MySQL
中 skip-name-resolve
参数对连接的优化作用,随之而来的权限表仅可使用 IP
的限制,以及如何在无法提前确定 IP
的情况下使用 grant
命令搭配通配符 %
进行授权。