diff --git a/notes/Java 基础.md b/notes/Java 基础.md
index d9567490..33938e9a 100644
--- a/notes/Java 基础.md
+++ b/notes/Java 基础.md
@@ -181,7 +181,7 @@ protected 用于修饰成员,表示在继承体系中成员对于子类可见
## 2. 抽象类与接口
-抽象类至少包含一个抽象方法,该抽象方法必须在子类中实现。由于抽象类没有抽象方法的具体实现,因此不能对抽象类进行实例化。
+抽象类和抽象方法都使用 abstract 进行声明。抽象类一般会包含抽象方法,但是少数情况下可以不包含,例如 HttpServlet 类,但是抽象方法一定位于抽象类中。抽象类和普通类最大的区别是,抽象类不能被实例化,需要继承抽象类才能实例化其子类。
```java
public abstract class GenericServlet implements Servlet, ServletConfig, Serializable {
diff --git a/notes/Linux.md b/notes/Linux.md
index 2e10afb6..0ac97d4d 100644
--- a/notes/Linux.md
+++ b/notes/Linux.md
@@ -578,7 +578,11 @@ inode 具体包含以下信息:
### 1. 实体链接
-hard link 只是在某个目录下新增一个条目,使得新增的条目链接到文件的 inode 上。
+实体链接文件指向源文件的 inode 上。
+
+下图中,1 和 2 表示的是目录的 inode,这两个目录的 block 中都有一个指向 real 的链接文件。
+
+
删除任意一个条目,文件还是存在,只要引用数量不为 0。
@@ -593,7 +597,13 @@ hard link 只是在某个目录下新增一个条目,使得新增的条目链
### 2. 符号链接
-symbolic link 可以理解为 Windows 的快捷方式。通过建立一个独立的文件,这个文件的数据的读取指向链接的那个文件。也就是说,符号链接需要新建一个 inode,并且
+符号链接指向源文件所在的目录的 inode 上,从而通过目录获取源文件 inode。
+
+下图中,源文件位于目录 2,在目录 1 中建立符号链接文件,该符号链接会指向目录 2 的 inode。
+
+
+
+symbolic link 可以理解为 Windows 的快捷方式。
当源文件被删除了,链接文件就打不开了。
diff --git a/pics/054d8d16-a3f9-460d-a365-834ba9940e3b.jpg b/pics/054d8d16-a3f9-460d-a365-834ba9940e3b.jpg
new file mode 100644
index 00000000..2a14a2eb
Binary files /dev/null and b/pics/054d8d16-a3f9-460d-a365-834ba9940e3b.jpg differ
diff --git a/pics/5ce4bdad-5ba1-4f60-81c3-874659412a5c.jpg b/pics/5ce4bdad-5ba1-4f60-81c3-874659412a5c.jpg
new file mode 100644
index 00000000..9d167cdf
Binary files /dev/null and b/pics/5ce4bdad-5ba1-4f60-81c3-874659412a5c.jpg differ