CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
多语言后端入门/课时/Rust 入门
RawBlame
课时目录12 节

多语言后端入门

  1. 01多语言后端概览
  2. 02Go 入门
  3. 03Rust 入门
  4. 04C# 入门
  5. 05Ruby 入门
  6. 06语言对比
  7. 07并发模型
  8. 08包管理与工具链
  9. 09与 Java 互操作
  10. 10如何选择语言
  11. 11多语言微服务
  12. 12综合练习

Rust 入门

所有权、安全、系统级性能。

35 分钟

Rust 入门

Rust 把 内存安全与并发安全 放进编译期:所有权(ownership)、借用(borrow)、生命周期 替代 GC,同时避免 C++ 式悬垂指针。后端里 Rust 常见于 代理(Linkerd)、存储引擎、Wasm 边缘、加密库——通常不取代 java-fundamentals 里的业务 Spring 服务,而是 补性能与安全短板。

学习目标

  • 理解所有权三规则直觉(不必一次写 unsafe)
  • 读懂最小 Actix/axum 风格路由概念
  • 说清 Rust 与 Java 在运行时、并发上的差异

所有权直觉

  1. 每个值 有且仅有一个 owner
  2. owner 离开作用域,值被 drop
  3. 可同时 不可变借用多个 或 可变借用一个,不能 alias + mutate
let s = String::from("hello");
let r1 = &s;   // 不可变借用
let r2 = &s;
// let r3 = &mut s;  // 编译错误:已有不可变借用

Java 靠 GC 回收;Rust 靠 编译器拒绝数据竞争。代价是学习曲线陡,与 borrow checker 搏斗 是常态。

错误处理:Result 与 Option

fn parse_port(s: &str) -> Result<u16, std::num::ParseIntError> {
    s.parse()
}

无 checked exception 语法,但 ? 运算符传播错误——类似 Java 里层层 throws,更显式。Option<T> 对应 可空性的类型级表达,减少 NPE(Java 可对照 Optional,但 Rust 更强制)。

异步与并发

  • async/await(Tokio):I/O 密集网络服务
  • Send / Sync trait:跨线程安全由类型系统保证
  • 对比 Java:无 green thread 式的 goroutine 默认可用,但 无 GC 停顿 适合延迟敏感路径

与 pl-concurrency 联动:Rust 把「线程安全」更多前移到编译期。

生态与工具

工具作用
cargo构建、测试、依赖(见 pl-ecosystem)
crates.io包 registry
clippylint
axum / actix-webHTTP 框架

与 Java Maven:Cargo.toml 一个文件管依赖 + 元数据,workspace 可类比 multi-module。

何时选 Rust

  • 性能 + 安全 同时硬指标:防火墙、解析器、区块链节点
  • 与 C/FFI 交界:JNI 替代路径、嵌入式
  • Wasm:边缘计算 runtime

慎选:业务 CRUD 团队无 Rust 经验、交付周期紧——spring-boot-essentials 类栈 ROI 更高。

练习

  • 安装 rustup,跑 cargo new hello && cargo run
  • 故意写 &mut 与 & 冲突,读编译器错误信息
  • 搜一个用 Rust 写的知名开源后端组件(如 vector、tikv),写一句用途

小结

Rust = 编译期换安全与性能;适合系统级后端,不适合强行替换 Java 业务层。 下一课 C# 与 .NET。

加载本节练习…
← 上一课Go 入门下一课 →C# 入门