SF
唐青枫
唐青枫
注册登录
关注博客
注册登录
主页
关于
RSS
dotnet 值拷贝、浅拷贝、深拷贝详解
唐青枫
今天 06:54
阅读 6 分钟
42
在 .NET 中,值拷贝(Value Copy)主要指的是将一个 值类型 的实例或对象的值复制到另一个变量中,使两个变量之间互不影响。我们可以从几个维度来详细理解:
Linux touch 命令详解
唐青枫
4 月 15 日
阅读 1 分钟
144
简介在 Linux 中 touch 命令用于创建空文件、更新文件的访问或修改时间戳。常用选项-c:不创建文件-t:设置指定的时间-r FILE:使用另一个文件的时间戳-a:仅更改访问时间-m:仅更改修改时间用法示例创建空文件 {代码...} 如果 file.txt 不存在,则创建它。如果已存在,则更新其修改时间创建多个文件 {代码...} 更新时间...
php8 throw 表达式使用教程
唐青枫
4 月 14 日
阅读 5 分钟
172
在 PHP 8 中,throw 可以作为一个 表达式(expression) 来使用,而不再仅仅是语句(statement)。这是一项非常实用的新特性,能够让 throw 更加灵活,尤其适用于 三元运算符、箭头函数、空合并运算符 (??) 等表达式中。
Rust cargo 命令行工具使用教程
唐青枫
4 月 13 日
阅读 2 分钟
223
简介cargo 是 Rust 的构建系统和包管理器,负责创建项目、编译代码、管理依赖、运行测试等,是日常开发中最常用的工具。创建项目 {代码...} 它会创建一个项目结构: {代码...} 项目结构和配置文件Cargo.toml 是项目的核心配置文件,类似于 Java 的 pom.xml 或 Node.js 的 package.json: {代码...} 常用命令编译项目 {代...
rustup命令行工具使用教程
唐青枫
4 月 12 日
阅读 2 分钟
190
rustup 是 Rust 官方推荐的安装工具和版本管理器,用于安装、管理和更新 Rust 编译器(rustc)、包管理器(cargo)以及其他组件和工具链(toolchains)。
如何用Go写一个benchmark 解析器及Web UI 数据可视化?
唐青枫
4 月 11 日
阅读 7 分钟
234
简介用 Go 编写的 benchmark 输出解析器,功能如下读取 go test -bench=. -benchmem 的输出文件(如 benchmark.txt)解析出每行数据写入成 CSV 文件(如 benchmark.csv)Web UI 可视化数据仅Go解析器 {代码...} 使用方法保存为 main.go编译运行: {代码...} 或编译为可执行文件: {代码...} 确保 benchmark.txt 在同目录...
Go 字符串四种拼接方式的性能对比
唐青枫
4 月 10 日
阅读 3 分钟
264
简介使用完整的基准测试代码文件,可以直接运行来比较四种字符串拼接方法的性能。for 索引 += 的方式for range += 的方式strings.Join 的方式strings.Builder 的方式写一个基准测试文件echo_bench_test.go {代码...} 运行基准测试 {代码...} 示例输出结果(不同机器会略有不同): {代码...} 每一行含义:字段含义Benchm...
Java Lambda 表达式详解
唐青枫
4 月 9 日
阅读 7 分钟
291
Lambda 表达式是 Java 8 引入的一种简洁的语法,主要用于 简化匿名内部类 的写法,特别适用于 函数式接口(Functional Interface)。
C# virtual 和 abstract 详解
唐青枫
4 月 8 日
阅读 6 分钟
396
在 C# 中,virtual 和 abstract 关键字都用于面向对象编程中的继承和多态,它们主要用于方法、属性和事件的定义,但在用法上存在一些重要的区别。
dotnet 编译模式使用教程
唐青枫
4 月 7 日
阅读 4 分钟
348
在 .NET 中,Debug 和 Release 是两种常见的编译模式,它们的主要区别在于 编译优化、调试支持、性能 等方面。此外,.NET 也支持自定义编译模式,比如 Staging、Production 等,适用于不同的环境。
C# sealed 关键字详解
唐青枫
4 月 6 日
阅读 4 分钟
239
简介sealed 关键字在 C# 中用于阻止继承和重写,通常用于类或方法,以增强代码的安全性和稳定性。sealed 用于类当一个类被 sealed 修饰时,该类不能被继承。这样可以防止其他类扩展它的功能,从而保护类的实现。 {代码...} 不能继承 MyClass,否则会编译报错 {代码...} 适用场景安全性:防止恶意或意外的继承,保护关键...
php8 命名参数使用教程
唐青枫
4 月 5 日
阅读 3 分钟
332
PHP 8 引入 命名参数(Named Arguments),允许在调用函数时按参数名传递值,而不是按照参数位置。这增强了代码的可读性、灵活性,并减少参数顺序依赖。
php8 ?-> nullsafe 操作符 使用教程
唐青枫
4 月 4 日
阅读 3 分钟
306
PHP 8 引入了 ?->(Nullsafe 操作符),用于简化 null 检查,减少繁琐的 if 语句或 isset() 代码,提高可读性。
Linux 换行符的使用详解
唐青枫
4 月 3 日
阅读 2 分钟
401
简介Linux 中的换行符对于格式化文本输出、修改文件和确保跨系统兼容性至关重要。Linux 主要使用 LF(换行符,\n)来换行,而 Windows 使用 CRLF(回车符 + 换行符,\r\n)检测文件中的换行符使用 cat -A 查看换行符 {代码...} 输出 Linux 风格,LF \n: {代码...} 输出 Windows 风格,CRLF \r\n: {代码...} $:表示行的...
php8 match表达式使用教程
唐青枫
4 月 2 日
阅读 4 分钟
422
PHP 8 引入了 match() 表达式,用来替代传统的 switch 语句,提供更简洁、更安全的方式进行条件匹配。与 switch 不同,match() 是一个表达式,它会返回值,并且使用 严格比较(===)。
php8属性注解使用教程
唐青枫
4 月 1 日
阅读 5 分钟
332
简介PHP 8 引入了 属性(Attributes)作为新的元数据机制,用于替代传统的 PHPDoc 注解,使得代码更具类型安全性和结构化。基本语法PHP 8 的属性(Attributes)使用 #[...] 语法表示,并可以用于类、方法、属性、参数、常量等。定义属性属性的本质是一个 PHP 类,通常以 Attribute 特性(flag)标记: {代码...} 不带 __...
Linux 历史命令操作教程
唐青枫
3 月 31 日
阅读 1 分钟
389
Linux 使用 history 命令记录命令历史记录并将其存储在文件 (~/.bash_history 或 ~/.zsh_history) 中。可以使用不同的方法配置和操作历史记录。
Linux halt 命令使用详解
唐青枫
3 月 28 日
阅读 1 分钟
428
简介Linux 中的 halt 命令用于立即关闭系统。它还可用于关闭电源或重新启动机器,具体取决于所使用的选项。基础语法 {代码...} 默认情况下,halt 需要 root 权限 {代码...} 常用选项-p:停止后关闭系统电源。(与 poweroff 相同)--reboot:重新启动系统而不是停止系统--force:强制立即停止而不通知进程--help:显示帮...
Linux ar 命令使用详解
唐青枫
3 月 27 日
阅读 1 分钟
368
简介Linux 中的 ar(Archive) 命令用于创建、修改和从存档中提取文件。它通常用于在 C/C++ 开发中创建静态库(.a 文件)。基础语法 {代码...} archive-file:要创建/修改的档案的名称file(s):要添加到档案的文件[options]:控制操作常用选项c:创建一个新的档案(如果不存在)r:替换或添加文件到档案中d:从档案中删...
Linux shift 命令使用详解
唐青枫
3 月 26 日
阅读 1 分钟
304
简介在 Bash 脚本中,shift 命令用于将命令行参数向左移动,有效地丢弃第一个参数并将其他参数向下移动。基础语法 {代码...} N(可选)→ 要移动的位置数。默认值为 1示例用法移动参数 {代码...} 运行脚本示例: {代码...} 输出如下: {代码...} shift 删除 $1 (a)$2 变成 $1, $3 变成 $2 等等。在循环中使用 shift {代码...
Linux使用pidof命令来快速查找进程id
唐青枫
3 月 22 日
阅读 1 分钟
442
简介pidof 命令用于查找 Linux 中正在运行的程序的进程 ID (PID)。它有助于管理和控制进程。基本语法 {代码...} 常用选项-s:单次 - 指示程序仅返回一个 pid-q:安静模式,抑制任何输出并仅相应地设置退出状态-w:还显示没有可见命令行的进程 (例如内核工作线程)-x:这会导致程序也返回运行指定脚本的 shell 的进程 ID...
Linux 目录结构详解
唐青枫
3 月 21 日
阅读 2 分钟
367
简介Linux 遵循文件系统层次结构标准 (FHS),该标准以结构化方式组织文件和目录。了解此结构有助于系统管理、故障排除和开发。Linux 根目录 /Linux 中的所有文件和目录都源自根目录 (/),它是层次结构中的顶级目录。 {代码...} /bin 目录:基本系统二进制文件包含 ls、cp、mv、cat 等基本命令/boot 目录:引导加载程序文...
Linux syslog 使用教程
唐青枫
3 月 20 日
阅读 2 分钟
382
syslog 是 Linux 和类 Unix 系统中用于记录系统消息的标准协议。它允许应用程序、守护进程和内核将日志消息发送到集中式日志管理系统。
Linux killall 命令使用详解
唐青枫
3 月 19 日
阅读 1 分钟
386
Linux 中的 killall 命令用于按名称终止所有进程。与需要进程 ID (PID) 的 kill 不同,killall 通过指定进程名称来工作。
Linux Binutils 基本使用教程
唐青枫
3 月 18 日
阅读 1 分钟
321
GNU Binutils(二进制实用程序)是用于在 Unix/Linux 系统中操作二进制文件的工具集合。这些工具有助于汇编、链接、反汇编和检查二进制可执行文件、目标文件、库和汇编代码。
Linux 如何查看当前使用的shell
唐青枫
3 月 16 日
阅读 1 分钟
340
Linux 和 Unix 都提供各种开箱即用的 shell 。可以找到 bash (Bourne Again shell)、ksh (Korn shell)、csh (C shell)/tcsh (TC shell)、sh (Bourne shell)等默认安装的 shell。但是,如何检查我使用的是哪个 shell ?
Linux arp(地址解析协议) 命令使用详解
唐青枫
3 月 15 日
阅读 1 分钟
380
arp(地址解析协议)命令用于查看、添加和修改系统的 ARP 缓存。ARP 缓存存储了 IP 地址和 MAC 地址之间的映射,有助于网络中的计算机高效通信。
Linux zgrep 命令使用详解
唐青枫
3 月 13 日
阅读 1 分钟
388
zgrep 用于在压缩 (.gz) 文件中搜索模式,就像 grep 在常规文本文件中所做的那样。它的工作原理是将文件临时解压到内存中,搜索模式并显示匹配的行。
Linux fgrep 命令使用详解
唐青枫
3 月 12 日
阅读 2 分钟
364
简介fgrep(fix GREP)命令搜索固定字符串,而不将特殊字符解释为正则表达式。它相当于 grep -F。基础语法 {代码...} 示例用法在文件中查找包含“error”的所有行 {代码...} 搜索多个字符串keywords.txt 文件包含以下内容: {代码...} {代码...} 搜索包含特殊字符的字符串与 grep 不同,fgrep 不会将 . * [] 视为特殊正则表...
Linux egrep 命令使用详解
唐青枫
3 月 11 日
阅读 1 分钟
310
简介egrep(扩展 GREP)命令是 grep 的一个变体,支持扩展正则表达式 。它在功能上等同于 grep -E。基础语法 {代码...} 示例用法在文件中查找包含“error”的所有行 {代码...} 大小写不敏感搜索 {代码...} 使用多种模式 (|)查找包含"error"或"warning"的行 {代码...} 使用 ?(匹配零次或一次出现)查找“colou*r”(匹配“col...
1
(current)
2
3
4
下一页
1
(current)
下一页