https://avatars.githubusercontent.com/u/18242685

lihuu's blog

第 6 章:所有权(Ownership)——Rust 的“终极规则”,告别内存泄漏

欢迎来到本专栏的“天王山之战”。到目前为止,我们学习的所有内容,都是在为理解本章的**所有权(Ownership)**系统做铺垫。这正是 Rust 能够做到“无需垃圾回收器(GC)的内存安全”的秘密所在,也是它与其他所有主流语言最根本的区别。

作为一名经验丰富的 Java 开发者,你可能已经很久没有真正地“关心”过内存了。我们使用 new 关键字创建对象,然后就心安理得地把它抛之脑后。JVM 中那个勤勤恳恳的垃圾回收器(GC)会帮我们处理好一切。这是一种奢侈,也是 Java 强大生产力的来源之一。

第 5 章:函数与方法——从 `class` 到 `struct` 和 `impl`

到目前为止,我们已经掌握了 Rust 的变量、数据类型和控制流。现在,我们将进入一个对 Java 开发者而言至关重要,也可能感到最“颠覆”的领域:代码的组织结构。

在 Java 的世界里,class(类)是我们思想的中心。它将数据(字段)和行为(方法)封装在一起,构成了我们所理解的“对象”。我们理所当然地认为,这是组织代码的唯一“正确”方式。

第 4 章:控制流——`if`、`for` 和 `match` 的新花样

在前面几章,我们搭建了环境、理解了变量的可变性,并探索了 Rust 的数据类型。我们已经准备好了“食材”,现在是时候学习如何“烹饪”了——也就是如何根据这些数据来引导程序的执行路径。

你可能觉得 iffor 这些东西再熟悉不过了。但在 Rust 中,它们都藏着一个统一且强大的“新花样”,这个新花样是理解 Rust 编程范式的关键。这个核心思想就是:

第 3 章:数据类型——不只是 `int` 和 `String`

在上一章中,我们通过 letmut 揭示了 Rust 在变量设计上的核心哲学——默认安全。现在,让我们将目光投向这些变量所承载的“内容”:数据类型

对于 Java 开发者来说,我们对 intdoublebooleanString 等类型了如指掌。Rust 也有类似的类型,但其设计中蕴含着对内存和性能更精细的控制。更重要的是,通过探讨 Rust 的字符串,我们将首次与“所有权”系统进行正面交锋。

第 2 章:变量与可变性——从 `final` 到 `let` 和 `mut` 的思维转变

在上一章,我们成功地运行了第一个 Rust 程序,并提出了一个核心问题:在没有 GC 的情况下,Rust 如何保证内存安全?答案指向了 Rust 的灵魂——“所有权”(Ownership)。

在深入那个庞大而精妙的系统之前,我们必须先掌握一个看似简单,却蕴含着 Rust 核心安全哲学的基础知识:变量的声明与赋值。对于在 Java 世界里畅游多年的我们来说,这似乎是“不值一提”的小事。但相信我,正是从这里开始,你将体会到第一次深刻的思维转变。

第 1 章:初见 Rust——“你好,世界!”,等等,我的 GC呢?

你好,经验丰富的 Java 开发者!

欢迎来到这个全新的专栏。我知道你,你可能已经在 Java 的世界里游刃有余了。你熟悉 JVM 的每一个角落,玩得转 Spring 全家桶,能随手写出漂亮的 Lambda 表达式,也能在 Maven 或 Gradle 的 pom.xmlbuild.gradle 文件中挥斥方遒。这是一个温暖、生态繁荣且无比强大的“舒适区“。

那么,问题来了:我们为什么还要“自讨苦吃”,来学习一门以“陡峭的学习曲线”而闻名的新语言——Rust 呢?

如何将你的身体恢复到最完美的状态

如何将你的身体恢复到最完美的状态,我会从五点来纠正你, 从体态、饮食、护肤、作息、运动,锻造属于你的完美状态。

形体篇

你觉得自己含胸驼背看起来没气质是因为自己的不良习惯吗?其实更大的问题是来自于你的情绪。每当你自卑、压力大、消极的时候,你的身体会处于一种保护性姿态,它会不断的加重你头前倾、圆肩驼背的问题。如何解决? 一、加强自己的自信心,不要见到人就低头含胸。 二、强化背部力量,调整呼吸方式, 三、减少负面情绪,不要消极生活,不要高压工作,这点是最重要的,你的身体离完美状态又近了一步。

在 macOS 上将 Chrome 缓存迁移至内存盘的终极指南

将 Google Chrome 的缓存目录迁移至内存盘(RAM Disk),是提升浏览器性能、减少磁盘 I/O 并延长 SSD 寿命的有效技巧。然而,在 macOS 上实现这一目标并非易事。这不仅是简单的路径修改,还需应对 Chromium 内核对文件系统持久性的验证、启动参数的传递限制以及通过 AppleScript 进行进程管理等技术挑战。

步骤一:创建并配置内存盘

我们推荐使用 tmpdisk 这款免费工具来创建内存盘,它能方便地在系统启动时自动挂载。