技术博客 · 持续更新中

探索代码世界
无法预知未来的路

这里记录 Java、PHP、MySQL 的实战经验与思考沉淀。
从语法基础到性能优化,从架构设计到底层原理,与你一起成长

3
技术方向
100
+ 知识点
365
天持续输出

三大技术方向

聚焦后端开发核心栈,深入语言、框架与数据存储的底层世界

J

Java

面向对象的企业级编程语言,JVM 生态强大,适合构建高并发、可扩展的大型系统。

  • Spring Boot / Spring 6 框架体系
  • JVM 调优与内存模型
  • 并发编程与锁机制
  • gRPC / 微服务通信
P

PHP

Web 开发的老兵语言,部署简单、迭代快速,在中小型业务中依然有不可替代的地位。

  • PHP 8 新特性与 JIT
  • Laravel / ThinkPHP 框架
  • FPM 与 Swoole 运行模式
  • Composer 包管理实践
M

MySQL

最流行的开源关系型数据库,掌握索引与事务是后端工程师的核心必修课。

  • InnoDB 存储引擎原理
  • 索引优化与执行计划
  • 事务隔离级别与 MVCC
  • 主从复制与分库分表

代码片段示例

从一段代码看一门语言的风格与哲学

1// 一个简单的 Java 并发示例
2public class HelloFuture {
3 public static void main(String[] args) throws Exception {
4 CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
5 sleep(100);
6 return "Hello, 未来";
7 });
8 String result = future.get();
9 System.out.println(result);
10 }
11}
1<?php
2// PHP 8 命名参数与 match 表达式
3function describeCode(string $lang): string {
4 return match($lang) {
5 'java' => '一次编写,到处运行',
6 'php' => 'Web 的灵魂',
7 'mysql' => '数据的归宿',
8 default => '未知的世界',
9 };
10}
11echo describeCode(lang: 'php');
1-- 索引优化:避免索引失效
2EXPLAIN SELECT u.id, u.name, o.order_no
3FROM users u
4INNER JOIN orders o ON o.user_id = u.id
5WHERE u.status = 1
6 AND o.created_at >= '2026-01-01';
7
8-- 为常用查询条件建立联合索引
9CREATE INDEX idx_user_status_time
10ON orders(user_id, created_at);

精选知识点

日常开发中常踩的坑与值得记住的原理

Java

HashMap 的扩容机制

当元素数量超过阈值(容量 × 负载因子 0.75)时,容量翻倍并重新 rehash,JDK 8 后采用红黑树优化链表过长问题。

Java

synchronized 与 ReentrantLock

前者是 JVM 层面的关键字,自动释放锁;后者是 API 层面的锁,支持公平锁、可中断、超时尝试等高级特性。

PHP

FPM 与 Swoole 的区别

FPM 是同步阻塞模型,每个请求独立进程;Swoole 常驻内存、协程异步,适合高并发长连接场景。

PHP

PHP 的生命周期

从 SAPI 启动、模块初始化、请求处理到模块关闭。理解生命周期有助于编写扩展与优化内存使用。

MySQL

联合索引的最左前缀原则

索引 (a, b, c) 可用于 a、(a,b)、(a,b,c) 查询,但无法直接用于 b 或 (b,c)。设计索引需匹配查询模式。

MySQL

事务隔离级别与 MVCC

InnoDB 通过 undo log 与 read view 实现快照读,解决不可重复读问题。可串行化才完全避免幻读。