Serializable

一个 Git commit 包含以下内容:

截屏2026-04-05 下午1.41.05

参考以下图片:

截屏2026-04-05 下午1.46.12

执行上面这个程序以后,commit_example.txt 文件中就出现了一串无法被直接读取的字符串。

截屏2026-04-05 下午1.46.02

执行上面这个程序,就可以读取这个文件中的内容。

在这里我们用到了 Serializable,需要 implements Serializable

Serializable 表示一个对象可以被转换成字节序列(序列化)并保存到文件中,之后再从文件中恢复成原来的对象(反序列化)。这部分的内容在 Lab 6 中有全面的操作机会。


Git 的原理和使用

Git 使用 SHA-1 来追踪和区分文件,下面是一个具体的流程:

截屏2026-04-05 下午1.35.48
除了 66 文件夹以外,还有一个文件夹里的文件专门存储 commit 记录。


public static void main(String[] args)的真正含义

这里的 args 表示程序运行时接收的命令行参数。例如:

1
2
3
4
5
6
public class HelloWorld {
public static void main(String[] args) {
System.out.println(args[0]);
System.out.println(args[1]);
}
}

在终端中执行:

1
2
javac HelloWorld.java
java HelloWorld one two

输出结果为:

1
2
one
two

可以看到,程序先输出 one,再输出 two。这是因为传入的命令行参数是 one two,因此:

  • args[0] 对应 one
  • args[1] 对应 two