From 9a07301df29083c0fadf8c584785c716e15dc175 Mon Sep 17 00:00:00 2001
From: 01Petard <1520394133@qq.com>
Date: Sun, 10 Nov 2024 22:16:50 +0800
Subject: [PATCH] =?UTF-8?q?doc:=20=E5=A4=87=E4=BB=BD=E6=96=87=E7=AB=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../My Java Guide/My Java Guide - Spring.md" | 38 ++-
...41\346\201\257\345\267\245\345\205\267.md" | 216 ++++++++++++++++--
2 files changed, 232 insertions(+), 22 deletions(-)
diff --git "a/docs/\345\274\200\345\217\221/My Java Guide/My Java Guide - Spring.md" "b/docs/\345\274\200\345\217\221/My Java Guide/My Java Guide - Spring.md"
index 6224742..9ae0dc0 100644
--- "a/docs/\345\274\200\345\217\221/My Java Guide/My Java Guide - Spring.md"
+++ "b/docs/\345\274\200\345\217\221/My Java Guide/My Java Guide - Spring.md"
@@ -1,7 +1,7 @@
---
title: My Java Guide - Spring
date: 2024-10-15 00:23:00
-updated: 2024-10-15 00:23:00
+updated: 2024-11-10 22:16:00
categories:
- 学习
tags:
@@ -1031,15 +1031,35 @@ Spring 事务管理具有以下特点:
## 传播行为(Propagation)
-传播行为定义了当一个方法被另一个事务性的方法调用时,应该如何处理事务。常见的传播行为包括:
+事务的传播行为说白了就是多个方法都有进行写操作时,对于事物的控制,作为事物的传播级别,在Spring中体现为一个叫 `Propagation` 的类中。
-- **`PROPAGATION_REQUIRED`**:如果有事务活动,就加入当前事务;如果没有,就创建一个新的事务。
-- `PROPAGATION_SUPPORTS`:如果有事务活动,就加入当前事务;如果没有,就以非事务方式运行。
-- `PROPAGATION_MANDATORY`:必须在现有的事务上下文中执行;如果没有事务,则抛出异常。
-- `PROPAGATION_REQUIRES_NEW`:总是创建一个新的事务,无论当前是否存在事务。
-- `PROPAGATION_NOT_SUPPORTED`:以非事务方式运行,并挂起任何存在的事务。
-- `PROPAGATION_NEVER`:以非事务方式运行,如果存在事务,则抛出异常。
-- `PROPAGATION_NESTED`:如果存在事务,则在嵌套事务内执行;如果没有,则行为类似于 `PROPAGATION_REQUIRED`。
+`Propagation` 类定义了当一个方法被另一个事务性的方法调用时,应该如何处理事务。常见的传播行为包括:
+
+- `REQUIRED`:如果有事务活动,就加入当前事务;如果没有,就创建一个新的事务。
+
+ > 最简单的事物传播机制,将方法中所有执行的过程全部作为一个事物,要么成功,要么失败,一次只占用一个数据库连接。
+
+
+
+- `REQUIRES_NEW`:总是创建一个新的事务,无论当前是否存在事务。
+
+ > 每次执行方法,都会新开一个数据库连接,每次方法的执行都是独立的,不受任何影响。(可以预见的性能很差)
+
+
+
+- `NESTED`:如果存在事务,则在嵌套事务内执行;如果没有,则行为类似于 `PROPAGATION_REQUIRED`。
+
+ > 此模式下会利用数据库的**存档点机制**,即使事务运行过程中失败了,也会回滚到之前的存档点。
+
+
+
+- `SUPPORTS`:如果有事务活动,就加入当前事务;如果没有,就以非事务方式运行。
+
+- `NOT_SUPPORTED`:以非事务方式运行,并挂起任何存在的事务。
+
+- `MANDATORY`:必须在现有的事务上下文中执行;如果没有事务,则抛出异常。
+
+- `NEVER`:以非事务方式运行,如果存在事务,则抛出异常。
## 隔离级别(Isolation Level)
diff --git "a/docs/\350\275\257\344\273\266/Linux/\345\221\275\344\273\244\350\241\214\347\263\273\347\273\237\344\277\241\346\201\257\345\267\245\345\205\267.md" "b/docs/\350\275\257\344\273\266/Linux/\345\221\275\344\273\244\350\241\214\347\263\273\347\273\237\344\277\241\346\201\257\345\267\245\345\205\267.md"
index 294cea4..02d5e1d 100644
--- "a/docs/\350\275\257\344\273\266/Linux/\345\221\275\344\273\244\350\241\214\347\263\273\347\273\237\344\277\241\346\201\257\345\267\245\345\205\267.md"
+++ "b/docs/\350\275\257\344\273\266/Linux/\345\221\275\344\273\244\350\241\214\347\263\273\347\273\237\344\277\241\346\201\257\345\267\245\345\205\267.md"
@@ -1,25 +1,209 @@
---
title: 命令行系统信息工具
date: 2024-11-05 22:40:00
-updated:
+updated: 2024-11-10 22:14:00
categories:
- 软件
tags:
-- macchina
-- neofetch
-- fastfetch
+- Linux
+- 命令行
keywords:
-- macchina
-- neofetch
-- fastfetch
-description: 主要目的是为了装逼
+- Linux
+- 命令行
+description: (主要目的是为了装逼)
cover: https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202411052242583.png
top_img: https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202411052242895.png
---
+> 学习Linux命令行工具不仅仅是操作技能的提升,更是解锁“系统魔法”的钥匙!很多时候,它们是你和系统沟通的唯一语言。掌握它们,你会发现自己像黑客电影里的高手一样,可以在屏幕上“指点江山”。所以,学习Linux命令行工具不仅是技能,更是一场奇妙的冒险。掌握它,你会变得高效、自信,而且始终“掌控全局”!
+>
+
+# 个人推荐
+
+- 查看系统信息:[x uname](#x uname)
+
+- 查询 ip 地址:[x ip](#x ip)
+
+- 查看进程的实时信息:[x btop](#x btop)
+
+- 查看文件内容:[x cat](#x cat)
+
+- 查看当前目录下的文件:[lsd](#lsd)
+
+- 查看系统信息:[macchina](macchina) 或 [fastfetch](#fastfetch)
+
+- 增强docker功能:[增强docker功能](#增强docker功能)
+
+# 准备:安装`X`
+
+> 官方地址:[X-CMD | 开源轻量级 POSIX 脚本,用于管理工具 (670+) 和提供经典命令扩展](https://cn.x-cmd.com/)
+
+采用 curl 安装
+
+```shell
+eval "$(curl https://get.x-cmd.com)"
+```
+
+采用 wget 安装
+
+```shell
+eval "$(wget -O- https://get.x-cmd.com)"
+```
+
+
+
+# x uname
+
+> 通过终端命令查看电脑以及操作系统的相关信息,相比自带的`uname`能看到更多信息
+
+```shell
+x uname
+```
+
+
+
+# x df
+
+> 以 TUI 方式查看文件系统和磁盘空间使用情况
+
+```shell
+x df
+```
+
+
+
+# x ping
+
+> Linux下的`ping`有点low了,所以可以用这个**`ping`**,美观且可视化
+
+```shell
+x ping -b www.baidu.com
+```
+
+
+
+# x ip
+
+> 查询 ip 地址,可以平替`ifconfig`
+
+```shell
+x ip
+```
+
+
+
+# x top
+
+使用 htop 来查看进程的实时信息
+
+```shell
+x top
+```
+
+
+
+# x htop
+
+使用 htop 来查看进程的实时信息
+
+```shell
+x htop
+```
+
+
+
+# x btop
+
+使用 htop 来查看进程的实时信息
+
+```shell
+x btop
+```
+
+
+
+# x cd
+
+> 比`cd`更高级的`cd`,具有更丰富的交互性
+
+```shell
+x cd
+```
+
+
+
+# x ll
+
+> 一个可交互性的命令行文件管理器
+
+```shell
+x ll
+```
+
+
+
+# x cat
+
+> 查看文件内容,很好地解决了`cat`的痛点
+
+```shell
+x cat
+```
+
+
+
+# lsd
+
+> 查看当前目录下的文件,比`ls`的功能更丰富
+
+## 查看文件
+
+效果与`ls`一样,默认按文件名排列
+
+```shell
+lsd
+```
+
+
+
+## 树形查看文件
+
+`--depth 1`:查看深度为1的文件
+
+```shell
+lsd --tree --depth 1 -S
+```
+
+
+
+## 组合命令
+
+`-S`:按文件大小排列(默认按文件名排列)
+
+`-1`:每行列出一个文件
+
+`-a`:查看隐藏文件
+
+```shell
+lsd --tree --depth 1 -S -1 -a
+```
+
+
+
+## 添加alias别名
+
+在环境配置文件中添加alias别名
+
+```shell
+alias ll='lsd --tree --depth 1 -1'
+# alias ll='ls -la'
+```
+
+# 系统信息查看工具
+
> **系统信息查看工具**可以用于获取和显示系统硬件、软件和环境信息(如内核版本、内存使用情况、处理器负载等),通过这些工具可以在主流操作系统的运行中获取系统信息。
-# macchina
+# macchina
1. **最小化**:相比于 `neofetch` 和 `fastfetch`,`macchina` 更加简单,更适合小型设备或资源受限的环境。
2. **可定制化**:提供主题系统,主题配置文件与主要配置文件是分开的,用户可以创建一堆主题并随时在它们之间切换。
@@ -119,7 +303,7 @@ neofetch
cat ${HOME}/.config/neofetch/config.conf
```
-
+
neofetch默认配置
@@ -206,11 +390,11 @@ Neofetch完全基于`bash`,使其兼容性很不错;即使你的Debian从8
接任者都是非常好用的项目;不过受限于篇幅,接下来,我们就取其中的 Fastfetch 来一起看看。
-# fastfetch
+# fastfetch
1. **可替代性**:通常情况下,可以把 FastFetch 当作 NeoFetch 使用。安装方式也是一样,FastFetch 已经在各个平台的软件包管理器发布。
-2. **可扩展性**:相比于 NeoFetch 全部基于`bash`的 shell 脚本,FastFetch 是基于C的。
+2. **可扩展性**:相比于 NeoFetch 全部基于`bash`的 shell 脚本,而 FastFetch 是基于C的。
## 安装
@@ -237,4 +421,10 @@ fastfetch --version
neofetch
```
-
\ No newline at end of file
+
+
+# 增强docker功能
+
+可以直接用 **`xd`、`x docker`** 来增强 **`docker`**,具体效果如下:
+
+
\ No newline at end of file