Skip to content

Commit 414df18

Browse files
authored
docs: docsify build document (#13)
* docs: docsify * docs: migrate doc
1 parent e7683a4 commit 414df18

File tree

4 files changed

+115
-82
lines changed

4 files changed

+115
-82
lines changed

README.md

Lines changed: 1 addition & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -40,88 +40,7 @@ java -jar javajvm-xxx.jar HelloWorld # 运行刚刚编译出来的文件
4040

4141
# 这个JVM是如何实现的?
4242

43-
以下为实现对应的具体代码,目前暂无blog介绍
44-
45-
## 准备阶段
46-
47-
[解析命令行](src/main/java/com/github/anilople/javajvm/command/Command.java)
48-
49-
[获取jre路径](src/main/java/com/github/anilople/javajvm/command/Options.java)
50-
51-
[创建虚拟机](src/main/java/com/github/anilople/javajvm/JavaJvmApplication.java)
52-
53-
## 运行阶段
54-
55-
### 解析原始的二进制数据
56-
57-
[获取class的原始信息(二进制数据)](src/main/java/com/github/anilople/javajvm/classpath/Classpath.java)
58-
59-
[解析class文件的数据结构](src/main/java/com/github/anilople/javajvm/classfile/ClassFile.java)
60-
61-
### 解析后产生的数据结构进一步抽象
62-
63-
[常量 - constant](src/main/java/com/github/anilople/javajvm/heap/constant)
64-
65-
[常量池 - constant pool](src/main/java/com/github/anilople/javajvm/heap/JvmConstantPool.java)
66-
67-
[类加载器 - class loader](src/main/java/com/github/anilople/javajvm/heap/JvmClassLoader.java)
68-
69-
[类 - class](src/main/java/com/github/anilople/javajvm/heap/JvmClass.java)
70-
71-
[成员 - field](src/main/java/com/github/anilople/javajvm/heap/JvmField.java)
72-
73-
[方法 - method](src/main/java/com/github/anilople/javajvm/heap/JvmMethod.java)
74-
75-
### 运行时
76-
77-
[线程 - thread](src/main/java/com/github/anilople/javajvm/runtimedataarea/JvmThread.java)
78-
79-
[栈帧 - frame](src/main/java/com/github/anilople/javajvm/runtimedataarea/Frame.java)
80-
81-
[本地变量 - local variables](src/main/java/com/github/anilople/javajvm/runtimedataarea/LocalVariables.java)
82-
83-
[操作数栈 - operand stack](src/main/java/com/github/anilople/javajvm/runtimedataarea/OperandStacks.java)
84-
85-
### 引用的表示
86-
87-
[引用 - reference](src/main/java/com/github/anilople/javajvm/runtimedataarea/Reference.java)
88-
89-
[null的表示 - the represent of null reference](src/main/java/com/github/anilople/javajvm/runtimedataarea/reference/NullReference.java)
90-
91-
[对象 - object](src/main/java/com/github/anilople/javajvm/runtimedataarea/reference/ObjectReference.java)
92-
93-
[数组 - array](src/main/java/com/github/anilople/javajvm/runtimedataarea/reference/ArrayReference.java)
94-
95-
[java.lang.Class](src/main/java/com/github/anilople/javajvm/runtimedataarea/reference/ClassObjectReference.java)
96-
97-
### 字节码
98-
99-
[所有字节码](src/main/java/com/github/anilople/javajvm/instructions)
100-
101-
[比较](src/main/java/com/github/anilople/javajvm/instructions/comparisons)
102-
103-
[常量操作](src/main/java/com/github/anilople/javajvm/instructions/constants)
104-
105-
[分支控制](src/main/java/com/github/anilople/javajvm/instructions/control)
106-
107-
[数据类型转换](src/main/java/com/github/anilople/javajvm/instructions/conversions)
108-
109-
[扩展字节码](src/main/java/com/github/anilople/javajvm/instructions/extended)
110-
111-
[加载操作数](src/main/java/com/github/anilople/javajvm/instructions/loads)
112-
113-
[数学运算](src/main/java/com/github/anilople/javajvm/instructions/math)
114-
115-
[引用](src/main/java/com/github/anilople/javajvm/instructions/references)
116-
117-
* [异常抛出](src/main/java/com/github/anilople/javajvm/instructions/references/ATHROW.java)
118-
* [方法调用](src/main/java/com/github/anilople/javajvm/instructions/references/INVOKEVIRTUAL.java)
119-
* [new对象](src/main/java/com/github/anilople/javajvm/instructions/references/NEW.java)
120-
* [new数组](src/main/java/com/github/anilople/javajvm/instructions/references/NEWARRAY.java)
121-
122-
[栈操作](src/main/java/com/github/anilople/javajvm/instructions/stack)
123-
124-
[存储操作数到本地变量表](src/main/java/com/github/anilople/javajvm/instructions/stores)
43+
文档地址 https://anilople.github.io/javajvm/
12544

12645
# 我的开发环境
12746

docs/.nojekyll

Whitespace-only changes.

docs/README.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# 这个JVM是如何实现的?
2+
3+
以下为实现对应的具体代码,目前暂无blog介绍
4+
5+
## 准备阶段
6+
7+
[解析命令行](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/command/Command.java)
8+
9+
[获取jre路径](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/command/Options.java)
10+
11+
[创建虚拟机](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/JavaJvmApplication.java)
12+
13+
## 运行阶段
14+
15+
### 解析原始的二进制数据
16+
17+
[获取class的原始信息(二进制数据)](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/classpath/Classpath.java)
18+
19+
[解析class文件的数据结构](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/classfile/ClassFile.java)
20+
21+
### 解析后产生的数据结构进一步抽象
22+
23+
[常量 - constant](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/heap/constant)
24+
25+
[常量池 - constant pool](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/heap/JvmConstantPool.java)
26+
27+
[类加载器 - class loader](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/heap/JvmClassLoader.java)
28+
29+
[类 - class](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/heap/JvmClass.java)
30+
31+
[成员 - field](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/heap/JvmField.java)
32+
33+
[方法 - method](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/heap/JvmMethod.java)
34+
35+
### 运行时
36+
37+
[线程 - thread](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/JvmThread.java)
38+
39+
[栈帧 - frame](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/Frame.java)
40+
41+
[本地变量 - local variables](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/LocalVariables.java)
42+
43+
[操作数栈 - operand stack](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/OperandStacks.java)
44+
45+
### 引用的表示
46+
47+
[引用 - reference](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/Reference.java)
48+
49+
[null的表示 - the represent of null reference](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/reference/NullReference.java)
50+
51+
[对象 - object](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/reference/ObjectReference.java)
52+
53+
[数组 - array](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/reference/ArrayReference.java)
54+
55+
[java.lang.Class](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/runtimedataarea/reference/ClassObjectReference.java)
56+
57+
### 字节码
58+
59+
[所有字节码](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions)
60+
61+
[比较](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/comparisons)
62+
63+
[常量操作](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/constants)
64+
65+
[分支控制](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/control)
66+
67+
[数据类型转换](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/conversions)
68+
69+
[扩展字节码](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/extended)
70+
71+
[加载操作数](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/loads)
72+
73+
[数学运算](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/math)
74+
75+
[引用](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/references)
76+
77+
* [异常抛出](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/references/ATHROW.java)
78+
* [方法调用](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/references/INVOKEVIRTUAL.java)
79+
* [new对象](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/references/NEW.java)
80+
* [new数组](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/references/NEWARRAY.java)
81+
82+
[栈操作](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/stack)
83+
84+
[存储操作数到本地变量表](https://github.com/Anilople/javajvm/blob/master/src/main/java/com/github/anilople/javajvm/instructions/stores)
85+
86+
# 引用
87+
88+
[java specification](https://docs.oracle.com/javase/specs/)
89+
90+
[自己动手写Java虚拟机](https://book.douban.com/subject/26802084/)
91+
92+

docs/index.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>javajvm</title>
6+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
7+
<meta name="description" content="Description">
8+
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
9+
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
10+
</head>
11+
<body>
12+
<div id="app"></div>
13+
<script>
14+
window.$docsify = {
15+
name: 'javajvm',
16+
repo: 'https://github.com/Anilople/javajvm'
17+
}
18+
</script>
19+
<!-- Docsify v4 -->
20+
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
21+
</body>
22+
</html>

0 commit comments

Comments
 (0)