-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path2.html
More file actions
210 lines (204 loc) · 134 KB
/
Copy path2.html
File metadata and controls
210 lines (204 loc) · 134 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>第2天-安装Python | Jeskson-微服务分布式</title>
<meta name="generator" content="VuePress 1.9.10">
<meta name="description" content="Jeskson文档-架构师">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
<link rel="preload" href="/JavaPlusDoc/assets/css/0.styles.69a89f58.css" as="style"><link rel="preload" href="/JavaPlusDoc/assets/js/app.ff4b1912.js" as="script"><link rel="preload" href="/JavaPlusDoc/assets/js/7.dfc0397a.js" as="script"><link rel="preload" href="/JavaPlusDoc/assets/js/2.cfbace72.js" as="script"><link rel="preload" href="/JavaPlusDoc/assets/js/1.d59a348b.js" as="script"><link rel="preload" href="/JavaPlusDoc/assets/js/83.a00c4a7e.js" as="script"><link rel="prefetch" href="/JavaPlusDoc/assets/js/10.8af913bb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/100.2c53fcbd.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/101.8ccd9f40.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/102.6abe231e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/103.0e437ead.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/104.d915d7e5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/105.5d55ab62.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/106.07d5a34b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/107.513f25ac.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/108.7cda8012.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/109.b70451e6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/11.7e3aeb50.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/110.b8dbdfb8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/111.71acaa8b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/112.ca35903a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/113.2db92a40.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/114.6e775813.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/115.d4fcd4df.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/116.5fbd9309.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/117.67d2a408.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/118.458ec435.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/119.044db67a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/120.433d403c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/121.4a247941.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/122.edf76321.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/123.24f157cc.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/124.8d2eafc2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/125.9fcad17b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/126.ea0c1e50.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/127.eb6e5a6c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/128.c37745dd.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/129.d42e1da1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/130.1f940759.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/131.f048f51b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/132.f2e05b7b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/133.1025c747.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/134.e986b5c6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/135.ee67ecb2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/136.51486790.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/137.7afd61da.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/138.a9b7f1d5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/139.b0abdadb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/140.928f8b9d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/141.75ac97ba.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/142.e4a40851.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/143.abb68380.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/144.4a31149b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/145.4a204821.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/146.df6efac7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/147.35f39f6d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/148.8f687af8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/149.75598127.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/15.ab64ce54.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/150.7c950dfa.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/151.1a568fbd.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/152.39d4b618.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/153.f7912ca4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/154.a7e8c404.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/155.11719bb5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/156.b0f61c27.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/157.78f0d5ec.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/158.96bd7aa7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/159.c826f336.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/16.5859debf.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/160.79fcd999.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/161.6e041a18.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/162.c1dd8613.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/163.ab44d65f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/164.55f30c4b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/165.1945cc91.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/166.7ce08c0a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/167.39902e9e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/168.0a015885.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/169.68d1a118.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/17.f3af3709.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/170.284bccfc.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/171.8abc7f27.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/172.1fda5d51.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/173.bb2d4d2b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/174.b34f63a3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/175.28b93c68.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/176.7c670e26.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/177.5163bae9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/178.51467a77.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/179.9738c734.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/18.7387f7e6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/180.ec8da569.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/181.321020b2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/182.eaa16e7a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/183.fd9bacb6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/184.987ef50e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/185.65f18305.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/186.ece5c753.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/187.b0e4a1ac.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/188.5ac430dd.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/189.e5a35218.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/19.f4fea483.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/190.0d633d69.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/191.cb84e758.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/192.5696bda6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/193.c152ca1b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/194.58104929.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/195.f5268146.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/196.09b66f73.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/197.ac23f446.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/198.261200a2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/199.724aa135.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/20.070d4a3f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/200.2fc8b0b5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/201.8d7b1f57.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/202.b803e840.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/203.2eff0b6c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/204.d5a4c7c6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/205.88bbae92.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/206.cd68581c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/207.85c260ec.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/208.fd085d80.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/209.d2453e08.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/21.78933f38.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/210.116334ba.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/211.345d1772.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/212.1a27f8c9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/213.59877e34.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/214.6480dee2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/215.70ae1d89.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/216.09ca4312.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/217.af7bdf8c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/218.02a40cca.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/219.f484832f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/22.4753ae4d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/220.6ba39f2b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/221.d585a6e3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/222.557543ae.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/223.5140b6e5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/224.eaa0e691.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/225.356a94a3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/226.fc10b75b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/227.9af00c34.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/228.4dc3c41b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/229.d11b02a5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/23.5ad2a326.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/230.519fdeb6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/231.680b752e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/232.1adf38e1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/233.fcc3e8cc.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/234.7295f17c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/235.860622cd.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/236.07a1c33e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/237.8b3b18c5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/238.02b07b10.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/239.4b1eaae1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/24.d8ef76cb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/240.7a378249.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/241.50826979.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/242.a827cb6e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/243.02ee6149.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/244.95a1f931.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/245.839cc4a8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/246.a8298108.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/247.17c29ff6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/248.076346b6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/249.a5694c3b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/25.56c87efe.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/250.db53d9fa.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/251.e5678920.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/252.4a97a73b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/253.fab94cc6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/254.f6fe60a9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/255.5c90176f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/256.51b253fa.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/257.7545eceb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/258.d30ea980.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/259.19f6dd5e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/26.e137a506.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/260.b45fa309.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/261.b82f3b68.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/262.66dbb3e0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/263.1bd0b88a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/264.e2d16987.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/265.a999dac8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/266.0e3ffc82.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/267.31bcc9c4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/268.21cadd7e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/269.6d41a49b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/27.8fd1e34f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/270.cdc34c03.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/271.14d67f07.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/272.6b7ef511.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/273.29143d7e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/274.98c8d414.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/275.fcbb9b74.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/276.57d87a0b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/277.f32479eb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/278.6c8f70ff.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/279.ee430fb0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/28.ec80e187.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/280.6482b349.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/281.a146cd78.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/282.859de97e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/283.c15404e4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/284.01dad2ca.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/285.619be44a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/286.d242787c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/287.c87ab04d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/288.e030d44a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/289.59a5a660.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/29.a2b39230.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/290.eab48a51.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/291.1f4b1e47.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/292.a13c9a99.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/293.b4eb7ce5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/294.d4abf953.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/295.8daf6058.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/296.368c24d4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/297.3f74b182.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/298.6988474c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/299.dfad3465.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/3.40e3acc6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/30.9a11650a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/300.17321217.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/301.d9a1826e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/302.09a7987d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/303.5025013f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/304.d4b8a3d1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/305.159772d2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/306.24c63e31.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/307.e6a6d270.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/308.4e507498.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/309.aee111c8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/31.874f8153.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/310.5f1b5ca1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/311.34ae5cb3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/312.c43ea236.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/313.b847ec00.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/314.d64f5684.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/315.7d106bd1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/316.867e71e0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/317.494bb25c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/318.b855401a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/319.6ac2e09f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/32.ee0b114a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/320.5c40f84e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/321.f2cf33ad.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/322.3fa8fc56.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/323.8a4d04ec.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/324.8105e17f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/325.2550dcad.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/326.c3ff61c8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/327.3a7ecc7c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/328.fed3b915.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/329.827908ae.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/33.cd82de30.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/330.937816d2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/331.c852bfdf.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/332.c505b6c7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/333.bef6e033.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/334.08a55ffe.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/335.6b268219.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/336.82d3fb2a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/337.39956547.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/338.6136640d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/339.81f5ad5b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/34.9c90a2a7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/340.48782f66.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/341.d47516d3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/342.4436bb4a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/343.908c9bd3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/344.697ee8bd.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/345.ab9f1f75.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/346.076fd1c5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/347.3be42a59.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/348.97ba33db.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/349.3c07d100.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/35.d8543719.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/350.ec1bc3db.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/351.9d3153e4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/352.e71317f4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/353.261cb101.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/354.f3e47221.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/355.b307a3ed.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/356.b38d86c2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/357.d1d9dc9d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/358.a03fc094.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/359.6b15776d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/36.ca9f16ca.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/360.bb0c54dd.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/361.35cefb19.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/362.56d3b2f7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/363.86a26ed2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/364.94d338d5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/365.07637682.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/366.575090a7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/367.a24af406.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/368.84aaad95.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/369.878f8b2f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/37.21403d6a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/370.dd867f9d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/371.dd80e718.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/372.c7b54b81.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/373.e2554640.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/374.b9b710d2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/375.c9ad50e0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/376.9b86837b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/377.05760818.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/378.12ec82d0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/379.173b0296.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/38.bc6b1c3c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/380.d0bdf0e1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/381.79d7a925.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/382.2c726e6e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/383.c3692568.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/384.7d008b7d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/385.08ce6856.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/386.12bb7596.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/387.4ee785b3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/388.ebe74e39.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/389.05b70f9b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/39.8a7f24eb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/390.bdcfda98.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/391.5f2295e0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/392.8e12903a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/393.c553ee9b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/394.142fba6a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/395.2330c45a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/396.a7c9d0aa.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/397.e8412077.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/398.464f44c4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/399.aaa72c53.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/4.8b5d3c01.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/40.98ac2f84.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/400.154963b8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/401.894a8c6f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/402.8f683588.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/403.b8dbd9cb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/404.fc97c865.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/405.398fff13.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/406.ada3f6c6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/407.46666ee3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/408.39295bc5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/409.00710db4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/41.b36c815d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/410.0cb22004.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/411.e5923416.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/412.f58d3da9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/413.0f6f7f8b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/414.015eb6b2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/415.b155b195.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/416.3244bedb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/417.26b9b844.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/418.37dd3bda.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/419.4a64bc57.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/42.8c4dfaf7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/420.15ff5f8b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/421.988f32c6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/422.75528a99.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/423.366db802.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/424.508f7b6c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/425.6f763bb5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/426.659742ea.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/427.8b3d75d8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/428.2f29aadb.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/429.2f28db07.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/43.815d0502.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/430.abf10612.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/431.9e64562c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/432.99f2f904.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/433.6296d93e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/434.f7904247.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/435.98715d2d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/436.9fefac84.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/437.fea151e9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/438.7191b005.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/439.f3ccd045.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/44.ba19f402.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/440.2de0c08c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/441.8e3cb7b2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/442.b93b4817.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/443.39c48a3a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/444.1655e664.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/445.97e47e06.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/446.d2adebf8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/447.4be86ce4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/448.0b587761.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/449.ddf18f4c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/45.4182ef1e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/450.28fa53ca.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/451.ef5b2bd0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/452.e121c917.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/453.c8132e49.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/454.2432fab6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/455.34584ef6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/456.9903968f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/457.63aa6849.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/458.0b9d9b23.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/459.9f021166.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/46.2a154851.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/460.a629ff70.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/461.d75e8448.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/462.552a8aef.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/463.ec331fd1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/464.1890b541.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/465.2a0bd1b9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/466.610de9f1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/467.2d46b708.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/468.04a56bcc.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/469.7d6a224c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/47.9b096bd4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/470.da81c67e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/471.e592f995.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/472.bc085169.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/473.0cb79355.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/474.7f396d93.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/475.e2adea36.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/476.8b82e0ff.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/477.8bd4fa06.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/478.3fa4b579.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/479.6029394b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/48.fff8acb7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/480.1eb05b6f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/481.18496764.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/482.11a56dce.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/483.285ea6df.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/484.b15c921d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/485.53d859c3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/486.4680c312.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/487.2376b70e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/488.bd4ff8a8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/489.7c19b407.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/49.510ceb1b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/490.5c95e6f9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/491.c22e75d5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/492.e7342ffc.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/493.7e251855.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/494.b4a9a5ea.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/495.36fc9e68.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/496.7616b0ef.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/497.a627b99d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/498.e6ec30be.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/499.9f8c621b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/5.dd2e9586.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/50.1c015ec1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/500.e4f04fa7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/501.23e805ce.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/502.c7707c65.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/503.3f577d77.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/504.5fd17fd2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/505.0e03be2a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/506.e87bada7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/507.2b245401.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/508.87b73a39.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/509.cc69075a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/51.fa0d4ce8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/510.6490c5fe.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/511.be7a1d82.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/512.c680c2c9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/513.36b29e3e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/514.d3ae3a27.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/515.cdb5681f.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/516.469418ff.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/517.24928bff.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/518.6a26365b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/519.59e59dea.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/52.03c9ff54.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/520.23673bd1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/521.a5806db8.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/522.73be9af3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/523.0e7e4925.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/524.327700e3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/525.c768492d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/526.febcc9d9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/527.dd5fd0b5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/528.7e1d4ec5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/529.8bdce1a4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/53.7e80043a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/530.44e010d9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/531.f67a86b7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/532.09b7ead5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/533.7adabdfa.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/534.f868f74a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/535.c98d4c0e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/536.370ce042.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/537.753a8af1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/538.d017f77d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/539.a133376e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/54.f7955daf.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/540.f4dbc9d0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/55.686f3985.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/56.cb0430ac.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/57.eb834e65.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/58.bf089253.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/59.14efcce4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/6.bab6d49b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/60.eaf6e3a4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/61.3bbdc790.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/62.38f6d5ec.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/63.02f1b305.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/64.1722673d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/65.6547e007.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/66.4e8931dc.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/67.cfca24ed.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/68.8add83f1.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/69.1693fd1e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/70.179cc187.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/71.313fbab6.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/72.0e0d03ef.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/73.9b65b544.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/74.b4c4befd.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/75.f2ffd04c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/76.d8a485ae.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/77.df0cc69e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/78.63985859.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/79.1b530da0.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/8.482e3594.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/80.48deda5a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/81.26d7dd05.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/82.526c2b16.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/84.f55a4b6a.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/85.62ab46e7.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/86.82d619c9.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/87.e726803b.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/88.a864fe77.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/89.dee71f5d.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/9.cb5e384c.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/90.f1aadb95.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/91.94144a2e.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/92.72d39ce5.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/93.b68bfc16.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/94.8957be11.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/95.eb9d19f3.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/96.093d0db2.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/97.5ba97253.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/98.6bf338d4.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/99.ba035d72.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/vendors~docsearch.0b3f4b62.js"><link rel="prefetch" href="/JavaPlusDoc/assets/js/vendors~flowchart.2a4bfc54.js">
<link rel="stylesheet" href="/JavaPlusDoc/assets/css/0.styles.69a89f58.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container" data-v-7dd95ae2><div data-v-7dd95ae2><div class="password-shadow password-wrapper-out" style="display:none;" data-v-59e6cb88 data-v-7dd95ae2 data-v-7dd95ae2><h3 class="title" data-v-59e6cb88>Jeskson-微服务分布式</h3> <p class="description" data-v-59e6cb88>Jeskson文档-架构师</p> <label id="box" class="inputBox" data-v-59e6cb88><input type="password" value="" data-v-59e6cb88> <span data-v-59e6cb88>Konck! Knock!</span> <button data-v-59e6cb88>OK</button></label> <div class="footer" data-v-59e6cb88><span data-v-59e6cb88><i class="iconfont reco-theme" data-v-59e6cb88></i> <a target="blank" href="https://vuepress-theme-reco.recoluan.com" data-v-59e6cb88>vuePress-theme-reco</a></span> <span data-v-59e6cb88><i class="iconfont reco-copyright" data-v-59e6cb88></i> <a data-v-59e6cb88><!---->
<!---->
2025
</a></span></div></div> <div class="hide" data-v-7dd95ae2><header class="navbar" data-v-7dd95ae2><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/JavaPlusDoc/" class="home-link router-link-active"><!----> <span class="site-name">Jeskson-微服务分布式</span></a> <div class="links"><div class="color-picker"><a class="color-button"><i class="iconfont reco-color"></i></a> <div class="color-picker-menu" style="display:none;"><div class="mode-options"><h4 class="title">Choose mode</h4> <ul class="color-mode-options"><li class="dark">dark</li><li class="auto active">auto</li><li class="light">light</li></ul></div></div></div> <div class="search-box"><i class="iconfont reco-search"></i> <input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/JavaPlusDoc/" class="nav-link"><i class="undefined"></i>
首页
</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
学习路线
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/" class="nav-link"><i class="undefined"></i>
入门指南
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/basic-grammar/basic-data-type.html" class="nav-link"><i class="undefined"></i>
基础到进阶
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/high-concurrency/why-cache.html" class="nav-link"><i class="undefined"></i>
架构师成长
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
刷题练习
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/" class="nav-link"><i class="undefined"></i>
🎯 题库首页
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/topics/" class="nav-link"><i class="undefined"></i>
📚 专题练习
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/written-exam/" class="nav-link"><i class="undefined"></i>
📝 笔试真题
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/interview/" class="nav-link"><i class="undefined"></i>
💼 面试真题
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/contest/" class="nav-link"><i class="undefined"></i>
🏆 竞赛题库
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/statistics/" class="nav-link"><i class="undefined"></i>
📊 刷题统计
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
技术分类
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/basic-grammar/basic-data-type.html" class="nav-link"><i class="undefined"></i>
Java基础
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/java-up/nginx.html" class="nav-link"><i class="undefined"></i>
Java进阶
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/go/" class="nav-link"><i class="undefined"></i>
GO语言技术
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/iot/" class="nav-link"><i class="undefined"></i>
物联网架构
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/high-concurrency/why-cache.html" class="nav-link"><i class="undefined"></i>
分布式架构
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/worker/1.html" class="nav-link"><i class="undefined"></i>
微服务
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/mysql/mysql.html" class="nav-link"><i class="undefined"></i>
数据库
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/sql/" class="nav-link"><i class="undefined"></i>
SQL专属手册
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/linux/linux.html" class="nav-link"><i class="undefined"></i>
运维与部署
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/docker/docker-tutorial.html" class="nav-link"><i class="undefined"></i>
Docker
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/uniapp/充电宝小程序实现.html" class="nav-link"><i class="undefined"></i>
UniApp小程序
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/products/" class="nav-link"><i class="undefined"></i>
产品系列
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
实战案例
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/worker/1.html" class="nav-link"><i class="undefined"></i>
系统设计
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/high-concurrency/why-cache.html" class="nav-link"><i class="undefined"></i>
性能优化
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/java-up/nginx.html" class="nav-link"><i class="undefined"></i>
项目实践
</a></li><li class="dropdown-item"><!----> <a href="https://1024bibi.com/" target="_blank" rel="noopener noreferrer" class="nav-link external"><i class="undefined"></i>
📝 简历制作工具
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
资源
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://webvueblog.github.io/JavaPlusDoc/" target="_blank" rel="noopener noreferrer" class="nav-link external"><i class="undefined"></i>
官方文档
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://github.com/webVueBlog/JavaPlusDoc" target="_blank" rel="noopener noreferrer" class="nav-link external"><i class="undefined"></i>
GitHub仓库
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://github.com/webVueBlog" target="_blank" rel="noopener noreferrer" class="nav-link external"><i class="undefined"></i>
作者主页
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/wechat-contact-demo.html" class="nav-link"><i class="undefined"></i>
微信联系
</a></li></ul></div></div> <!----></nav></div></header> <div class="sidebar-mask" data-v-7dd95ae2></div> <aside class="sidebar" data-v-7dd95ae2><div class="personal-info-wrapper" data-v-1fad0c41 data-v-7dd95ae2><!----> <!----> <div class="num" data-v-1fad0c41><div data-v-1fad0c41><h3 data-v-1fad0c41>496</h3> <h6 data-v-1fad0c41>文章</h6></div> <div data-v-1fad0c41><h3 data-v-1fad0c41>22</h3> <h6 data-v-1fad0c41>标签</h6></div></div> <ul class="social-links" data-v-1fad0c41></ul> <hr data-v-1fad0c41></div> <nav class="nav-links"><div class="nav-item"><a href="/JavaPlusDoc/" class="nav-link"><i class="undefined"></i>
首页
</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
学习路线
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/" class="nav-link"><i class="undefined"></i>
入门指南
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/basic-grammar/basic-data-type.html" class="nav-link"><i class="undefined"></i>
基础到进阶
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/high-concurrency/why-cache.html" class="nav-link"><i class="undefined"></i>
架构师成长
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
刷题练习
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/" class="nav-link"><i class="undefined"></i>
🎯 题库首页
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/topics/" class="nav-link"><i class="undefined"></i>
📚 专题练习
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/written-exam/" class="nav-link"><i class="undefined"></i>
📝 笔试真题
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/interview/" class="nav-link"><i class="undefined"></i>
💼 面试真题
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/contest/" class="nav-link"><i class="undefined"></i>
🏆 竞赛题库
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/coding-practice/statistics/" class="nav-link"><i class="undefined"></i>
📊 刷题统计
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
技术分类
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/basic-grammar/basic-data-type.html" class="nav-link"><i class="undefined"></i>
Java基础
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/java-up/nginx.html" class="nav-link"><i class="undefined"></i>
Java进阶
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/go/" class="nav-link"><i class="undefined"></i>
GO语言技术
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/iot/" class="nav-link"><i class="undefined"></i>
物联网架构
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/high-concurrency/why-cache.html" class="nav-link"><i class="undefined"></i>
分布式架构
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/worker/1.html" class="nav-link"><i class="undefined"></i>
微服务
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/mysql/mysql.html" class="nav-link"><i class="undefined"></i>
数据库
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/sql/" class="nav-link"><i class="undefined"></i>
SQL专属手册
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/linux/linux.html" class="nav-link"><i class="undefined"></i>
运维与部署
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/docker/docker-tutorial.html" class="nav-link"><i class="undefined"></i>
Docker
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/uniapp/充电宝小程序实现.html" class="nav-link"><i class="undefined"></i>
UniApp小程序
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/products/" class="nav-link"><i class="undefined"></i>
产品系列
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
实战案例
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/worker/1.html" class="nav-link"><i class="undefined"></i>
系统设计
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/high-concurrency/why-cache.html" class="nav-link"><i class="undefined"></i>
性能优化
</a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/java-up/nginx.html" class="nav-link"><i class="undefined"></i>
项目实践
</a></li><li class="dropdown-item"><!----> <a href="https://1024bibi.com/" target="_blank" rel="noopener noreferrer" class="nav-link external"><i class="undefined"></i>
📝 简历制作工具
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title"><i class="undefined"></i>
资源
</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://webvueblog.github.io/JavaPlusDoc/" target="_blank" rel="noopener noreferrer" class="nav-link external"><i class="undefined"></i>
官方文档
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://github.com/webVueBlog/JavaPlusDoc" target="_blank" rel="noopener noreferrer" class="nav-link external"><i class="undefined"></i>
GitHub仓库
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://github.com/webVueBlog" target="_blank" rel="noopener noreferrer" class="nav-link external"><i class="undefined"></i>
作者主页
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="/JavaPlusDoc/wechat-contact-demo.html" class="nav-link"><i class="undefined"></i>
微信联系
</a></li></ul></div></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><a href="/JavaPlusDoc/" class="sidebar-heading clickable router-link-active open"><span>文档指南</span> <!----></a> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/" aria-current="page" class="sidebar-link">学前必读</a></li><li><a href="/JavaPlusDoc/encrypted-article.html" class="sidebar-link">加密文章示例</a></li><li><a href="/JavaPlusDoc/plugin-demo.html" class="sidebar-link">插件功能演示</a></li><li><a href="/JavaPlusDoc/share-demo.html" class="sidebar-link">社交分享功能演示</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>后端专属笔记</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading open"><span>达达JAVA基础问答</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/basic/1.html" class="sidebar-link">第1天-第一个程序</a></li><li><a href="/JavaPlusDoc/basic/2.html" class="sidebar-link">第2天-基础语法</a></li><li><a href="/JavaPlusDoc/basic/3.html" class="sidebar-link">第3天-基本概念</a></li><li><a href="/JavaPlusDoc/basic/4.html" class="sidebar-link">第4天-基本数据类型</a></li><li><a href="/JavaPlusDoc/basic/5.html" class="sidebar-link">第5天-变量的声明实例</a></li><li><a href="/JavaPlusDoc/basic/6.html" class="sidebar-link">第6天-变量命名规则</a></li><li><a href="/JavaPlusDoc/basic/7.html" class="sidebar-link">第7天-修饰符</a></li><li><a href="/JavaPlusDoc/basic/8.html" class="sidebar-link">第8天-运算符</a></li><li><a href="/JavaPlusDoc/basic/9.html" class="sidebar-link">第9天-循环结构</a></li><li><a href="/JavaPlusDoc/basic/10.html" class="sidebar-link">第10天-条件语句</a></li><li><a href="/JavaPlusDoc/basic/11.html" class="sidebar-link">第11天-switch-case</a></li><li><a href="/JavaPlusDoc/basic/12.html" class="sidebar-link">第12天-Number-Math类</a></li><li><a href="/JavaPlusDoc/basic/13.html" class="sidebar-link">第13天-Character</a></li><li><a href="/JavaPlusDoc/basic/14.html" class="sidebar-link">第14天-String</a></li><li><a href="/JavaPlusDoc/basic/15.html" class="sidebar-link">第15天-StringBuffer</a></li><li><a href="/JavaPlusDoc/basic/16.html" class="sidebar-link">第16天-数组</a></li><li><a href="/JavaPlusDoc/basic/17.html" class="sidebar-link">第17天-日期时间</a></li><li><a href="/JavaPlusDoc/basic/18.html" class="sidebar-link">第18天-正则表达式</a></li><li><a href="/JavaPlusDoc/basic/19.html" class="sidebar-link">第19天-方法</a></li><li><a href="/JavaPlusDoc/basic/20.html" class="sidebar-link">第20天-构造方法</a></li><li><a href="/JavaPlusDoc/basic/21.html" class="sidebar-link">第21天-流</a></li><li><a href="/JavaPlusDoc/basic/22.html" class="sidebar-link">第22天-异常处理</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>达达JAVA写法思路</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/basic/23.html" class="sidebar-link">第23天-继承的概念</a></li><li><a href="/JavaPlusDoc/basic/24.html" class="sidebar-link">第24天-重写与重载</a></li><li><a href="/JavaPlusDoc/basic/25.html" class="sidebar-link">第25天-多态</a></li><li><a href="/JavaPlusDoc/basic/26.html" class="sidebar-link">第26天-抽象类</a></li><li><a href="/JavaPlusDoc/basic/27.html" class="sidebar-link">第27天-封装</a></li><li><a href="/JavaPlusDoc/basic/28.html" class="sidebar-link">第28天-接口</a></li><li><a href="/JavaPlusDoc/basic/29.html" class="sidebar-link">第29天-枚举</a></li><li><a href="/JavaPlusDoc/basic/30.html" class="sidebar-link">第30天-反射</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>达达JAVA进阶教程</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/basicUp/31.html" class="sidebar-link">第31天-数据结构</a></li><li><a href="/JavaPlusDoc/basicUp/32.html" class="sidebar-link">第32天-集合框架</a></li><li><a href="/JavaPlusDoc/basicUp/33.html" class="sidebar-link">第33天-ArrayList</a></li><li><a href="/JavaPlusDoc/basicUp/34.html" class="sidebar-link">第34天-LinkedList</a></li><li><a href="/JavaPlusDoc/basicUp/35.html" class="sidebar-link">第35天-HashSet</a></li><li><a href="/JavaPlusDoc/basicUp/36.html" class="sidebar-link">第36天-HashMap</a></li><li><a href="/JavaPlusDoc/basicUp/37.html" class="sidebar-link">第37天-Iterator</a></li><li><a href="/JavaPlusDoc/basicUp/38.html" class="sidebar-link">第38天-Object</a></li><li><a href="/JavaPlusDoc/basicUp/39.html" class="sidebar-link">第39天-NIO</a></li><li><a href="/JavaPlusDoc/basicUp/40.html" class="sidebar-link">第40天-泛型</a></li><li><a href="/JavaPlusDoc/basicUp/41.html" class="sidebar-link">第41天-序列化</a></li><li><a href="/JavaPlusDoc/basicUp/42.html" class="sidebar-link">第42天-网络编程</a></li><li><a href="/JavaPlusDoc/basicUp/43.html" class="sidebar-link">第43天-发送邮件</a></li><li><a href="/JavaPlusDoc/basicUp/44.html" class="sidebar-link">第44天-多线程编程</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>刷题练习平台</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/coding-practice/" class="sidebar-link">题库导航</a></li><li><section class="sidebar-group collapsable is-sub-group depth-1"><a href="/JavaPlusDoc/coding-practice/topics/" class="sidebar-heading clickable"><span>📝 专题练习</span> <span class="arrow right"></span></a> <!----></section></li><li><section class="sidebar-group collapsable is-sub-group depth-1"><a href="/JavaPlusDoc/coding-practice/written-exam/" class="sidebar-heading clickable"><span>📝 笔试真题</span> <span class="arrow right"></span></a> <!----></section></li><li><section class="sidebar-group collapsable is-sub-group depth-1"><a href="/JavaPlusDoc/coding-practice/interview/" class="sidebar-heading clickable"><span>💼 面试真题</span> <span class="arrow right"></span></a> <!----></section></li><li><section class="sidebar-group collapsable is-sub-group depth-1"><a href="/JavaPlusDoc/coding-practice/contest/" class="sidebar-heading clickable"><span>🏆 竞赛题库</span> <span class="arrow right"></span></a> <!----></section></li><li><section class="sidebar-group collapsable is-sub-group depth-1"><a href="/JavaPlusDoc/coding-practice/statistics/" class="sidebar-heading clickable"><span>📊 学习统计</span> <span class="arrow right"></span></a> <!----></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>SQL专属笔记</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/sql/" class="sidebar-link">手册简介</a></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>基础语法</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/sql/basic/syntax.html" class="sidebar-link">SQL基础语法</a></li><li><a href="/JavaPlusDoc/sql/basic/data-types.html" class="sidebar-link">数据类型</a></li><li><a href="/JavaPlusDoc/sql/basic/constraints.html" class="sidebar-link">约束条件</a></li><li><a href="/JavaPlusDoc/sql/basic/ddl.html" class="sidebar-link">DDL数据定义语言</a></li><li><a href="/JavaPlusDoc/sql/basic/dml.html" class="sidebar-link">DML数据操作语言</a></li><li><a href="/JavaPlusDoc/sql/basic/dql.html" class="sidebar-link">DQL数据查询语言</a></li><li><a href="/JavaPlusDoc/sql/basic/dcl.html" class="sidebar-link">DCL数据控制语言</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>查询操作</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/sql/query/select-basic.html" class="sidebar-link">SELECT查询基础</a></li><li><a href="/JavaPlusDoc/sql/query/where.html" class="sidebar-link">WHERE条件查询</a></li><li><a href="/JavaPlusDoc/sql/query/join.html" class="sidebar-link">JOIN表连接</a></li><li><a href="/JavaPlusDoc/sql/query/subquery.html" class="sidebar-link">子查询</a></li><li><a href="/JavaPlusDoc/sql/query/group-by.html" class="sidebar-link">GROUP BY分组</a></li><li><a href="/JavaPlusDoc/sql/query/order-by.html" class="sidebar-link">ORDER BY排序</a></li><li><a href="/JavaPlusDoc/sql/query/pagination.html" class="sidebar-link">分页查询</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>性能优化</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/sql/perfor/indexr.html" class="sidebar-link">性能优化概述</a></li><li><a href="/JavaPlusDoc/sql/perfor/indexes.html" class="sidebar-link">索引原理与应用</a></li><li><a href="/JavaPlusDoc/sql/perfor/query-optimization.html" class="sidebar-link">查询优化</a></li><li><a href="/JavaPlusDoc/sql/perfor/execution-plans.html" class="sidebar-link">执行计划分析</a></li><li><a href="/JavaPlusDoc/sql/perfor/tuning.html" class="sidebar-link">性能调优</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>高级特性</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/sql/advanced/indexr.html" class="sidebar-link">高级特性概述</a></li><li><a href="/JavaPlusDoc/sql/advanced/transactions.html" class="sidebar-link">事务处理</a></li><li><a href="/JavaPlusDoc/sql/advanced/stored-procedures.html" class="sidebar-link">存储过程与函数</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>函数大全</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/sql/functions/aggregate.html" class="sidebar-link">聚合函数</a></li><li><a href="/JavaPlusDoc/sql/functions/string.html" class="sidebar-link">字符串函数</a></li><li><a href="/JavaPlusDoc/sql/functions/numeric.html" class="sidebar-link">数值函数</a></li><li><a href="/JavaPlusDoc/sql/functions/datetime.html" class="sidebar-link">日期时间函数</a></li><li><a href="/JavaPlusDoc/sql/functions/conditional.html" class="sidebar-link">条件函数</a></li><li><a href="/JavaPlusDoc/sql/functions/window.html" class="sidebar-link">窗口函数</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>实战案例</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/sql/examples/ecommerce.html" class="sidebar-link">电商系统实战</a></li><li><a href="/JavaPlusDoc/sql/examples/analytics.html" class="sidebar-link">数据分析实战</a></li><li><a href="/JavaPlusDoc/sql/examples/reports.html" class="sidebar-link">报表查询实战</a></li><li><a href="/JavaPlusDoc/sql/examples/migration.html" class="sidebar-link">数据迁移实战</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>数据库特定</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/sql/databases/mysql.html" class="sidebar-link">MySQL</a></li><li><a href="/JavaPlusDoc/sql/databases/postgresql.html" class="sidebar-link">PostgreSQL</a></li><li><a href="/JavaPlusDoc/sql/databases/sqlserver.html" class="sidebar-link">SQL Server</a></li><li><a href="/JavaPlusDoc/sql/databases/oracle.html" class="sidebar-link">Oracle</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>UniApp小程序开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/uniapp/充电宝小程序实现.html" class="sidebar-link">充电宝小程序实现</a></li><li><a href="/JavaPlusDoc/uniapp/充电桩小程序实现.html" class="sidebar-link">充电桩小程序实现</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Python专属笔记</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading open"><span>Python基础</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/Python/1.html" class="sidebar-link">第1天-Python历史</a></li><li><a href="/JavaPlusDoc/Python/2.html" aria-current="page" class="active sidebar-link">第2天-安装Python</a></li><li><a href="/JavaPlusDoc/Python/3.html" class="sidebar-link">第3天-第一个程序</a></li><li><a href="/JavaPlusDoc/Python/4.html" class="sidebar-link">第4天-Python基础</a></li><li><a href="/JavaPlusDoc/Python/5.html" class="sidebar-link">第5天-函数</a></li><li><a href="/JavaPlusDoc/Python/6.html" class="sidebar-link">第6天-高级特性</a></li><li><a href="/JavaPlusDoc/Python/7.html" class="sidebar-link">第7天-函数式编程</a></li><li><a href="/JavaPlusDoc/Python/8.html" class="sidebar-link">第8天-模块</a></li><li><a href="/JavaPlusDoc/Python/9.html" class="sidebar-link">第9天-面向对象编程</a></li><li><a href="/JavaPlusDoc/Python/10.html" class="sidebar-link">第10天-高级编程</a></li><li><a href="/JavaPlusDoc/Python/11.html" class="sidebar-link">第11天-错误和调试</a></li><li><a href="/JavaPlusDoc/Python/12.html" class="sidebar-link">第12天-IO编程</a></li><li><a href="/JavaPlusDoc/Python/13.html" class="sidebar-link">第13天-进程和线程</a></li><li><a href="/JavaPlusDoc/Python/14.html" class="sidebar-link">第14天-正则表达式</a></li><li><a href="/JavaPlusDoc/Python/15.html" class="sidebar-link">第15天-常用内建模块</a></li><li><a href="/JavaPlusDoc/Python/16.html" class="sidebar-link">第16天-常用第三方模块</a></li><li><a href="/JavaPlusDoc/Python/17.html" class="sidebar-link">第17天-图形界面</a></li><li><a href="/JavaPlusDoc/Python/18.html" class="sidebar-link">第18天-网络编程</a></li><li><a href="/JavaPlusDoc/Python/19.html" class="sidebar-link">第19天-电子邮件</a></li><li><a href="/JavaPlusDoc/Python/20.html" class="sidebar-link">第20天-访问数据库</a></li><li><a href="/JavaPlusDoc/Python/21.html" class="sidebar-link">第21天-Web开发</a></li><li><a href="/JavaPlusDoc/Python/22.html" class="sidebar-link">第22天-异步IO</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Java核心技术</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading open"><span>基础篇</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/e/JVM深入解析.html" class="sidebar-link">JVM深入解析</a></li><li><a href="/JavaPlusDoc/e/JDK开发工具详解.html" class="sidebar-link">JDK开发工具详解</a></li><li><a href="/JavaPlusDoc/e/Java实战演示.html" class="sidebar-link">Java实战演示</a></li><li><a href="/JavaPlusDoc/basic-grammar/java-jdk-jre-jvm.html" class="sidebar-link">Java、JDK、JRE、JVM详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/basic-data-type.html" class="sidebar-link">Java基本数据类型</a></li><li><a href="/JavaPlusDoc/basic-grammar/type-cast.html" class="sidebar-link">数据类型转换</a></li><li><a href="/JavaPlusDoc/basic-grammar/int-cache.html" class="sidebar-link">数据类型缓存池</a></li><li><a href="/JavaPlusDoc/basic-grammar/operator.html" class="sidebar-link">运算符</a></li><li><a href="/JavaPlusDoc/basic-grammar/flow-control.html" class="sidebar-link">流程控制</a></li><li><a href="/JavaPlusDoc/basic-grammar/string-source.html" class="sidebar-link">String类详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/constant-pool.html" class="sidebar-link">字符串常量池</a></li><li><a href="/JavaPlusDoc/basic-grammar/builder-buffer.html" class="sidebar-link">StringBuilder和Buffer</a></li><li><a href="/JavaPlusDoc/basic-grammar/equals.html" class="sidebar-link">字符串比较</a></li><li><a href="/JavaPlusDoc/basic-grammar/object-class.html" class="sidebar-link">面向对象基础</a></li><li><a href="/JavaPlusDoc/basic-grammar/package.html" class="sidebar-link">Java包机制</a></li><li><a href="/JavaPlusDoc/basic-grammar/var.html" class="sidebar-link">变量与方法</a></li><li><a href="/JavaPlusDoc/basic-grammar/construct.html" class="sidebar-link">构造方法</a></li><li><a href="/JavaPlusDoc/basic-grammar/abstract.html" class="sidebar-link">抽象类</a></li><li><a href="/JavaPlusDoc/basic-grammar/interface.html" class="sidebar-link">接口和内部类</a></li><li><a href="/JavaPlusDoc/basic-grammar/encapsulation-inheritance-polymorphism.html" class="sidebar-link">封装继承多态</a></li><li><a href="/JavaPlusDoc/basic-grammar/this-super.html" class="sidebar-link">this与super关键字</a></li><li><a href="/JavaPlusDoc/basic-grammar/immutable.html" class="sidebar-link">不可变对象</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>集合框架</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/basic-grammar/gailan.html" class="sidebar-link">集合框架概览</a></li><li><a href="/JavaPlusDoc/basic-grammar/arraylist.html" class="sidebar-link">ArrayList详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/linkedlist.html" class="sidebar-link">LinkedList详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/stack.html" class="sidebar-link">栈Stack详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/hashmap.html" class="sidebar-link">HashMap详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/linkedhashmap.html" class="sidebar-link">LinkedHashMap详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/treemap.html" class="sidebar-link">TreeMap详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/ArrayDeque.html" class="sidebar-link">ArrayDeque详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/PriorityQueue.html" class="sidebar-link">PriorityQueue详解</a></li><li><a href="/JavaPlusDoc/basic-grammar/array-linked-list.html" class="sidebar-link">ArrayList vs LinkedList</a></li><li><a href="/JavaPlusDoc/basic-grammar/generic.html" class="sidebar-link">Java泛型</a></li><li><a href="/JavaPlusDoc/basic-grammar/iterator-iterable.html" class="sidebar-link">Iterator和Iterable</a></li><li><a href="/JavaPlusDoc/basic-grammar/fail-fast.html" class="sidebar-link">foreach循环陷阱</a></li><li><a href="/JavaPlusDoc/basic-grammar/comparable-omparator.html" class="sidebar-link">Comparable和Comparator</a></li><li><a href="/JavaPlusDoc/basic-grammar/WeakHashMap.html" class="sidebar-link">WeakHashMap详解</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>JVM与性能</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/aJava/jvm.html" class="sidebar-link">JVM基础</a></li><li><a href="/JavaPlusDoc/aJava/JVM内存区域.html" class="sidebar-link">JVM内存区域</a></li><li><a href="/JavaPlusDoc/aJava/程序计数器.html" class="sidebar-link">程序计数器</a></li><li><a href="/JavaPlusDoc/aJava/线程.html" class="sidebar-link">线程</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>并发编程</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/thread/thread.html" class="sidebar-link">多线程入门</a></li><li><a href="/JavaPlusDoc/thread/callable-future-futuretask.html" class="sidebar-link">线程执行结果获取</a></li><li><a href="/JavaPlusDoc/thread/thread-state-and-method.html" class="sidebar-link">线程的6种状态</a></li><li><a href="/JavaPlusDoc/thread/threadpool-executor.html" class="sidebar-link">深入浅出Java线程池ThreadPoolExecutor</a></li><li><a href="/JavaPlusDoc/jobPro/synchronized.html" class="sidebar-link">synchronized和lock</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>IO与网络</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/java-up/shangtou.html" class="sidebar-link">JavaIO知识体系</a></li><li><a href="/JavaPlusDoc/java-up/file-path.html" class="sidebar-link">文件流</a></li><li><a href="/JavaPlusDoc/java-up/reader-writer.html" class="sidebar-link">字节流与字符流</a></li><li><a href="/JavaPlusDoc/java-up/char-byte.html" class="sidebar-link">转换流</a></li><li><a href="/JavaPlusDoc/java-up/serialize.html" class="sidebar-link">序列化和反序列化</a></li><li><a href="/JavaPlusDoc/nio/nio.html" class="sidebar-link">NIO基础</a></li><li><a href="/JavaPlusDoc/nio/BIONIOAIO.html" class="sidebar-link">NIO vs BIO vs AIO</a></li><li><a href="/JavaPlusDoc/nio/buffer-channel.html" class="sidebar-link">Buffer和Channel</a></li><li><a href="/JavaPlusDoc/nio/network-connect.html" class="sidebar-link">网络编程实践</a></li><li><a href="/JavaPlusDoc/nio/moxing.html" class="sidebar-link">IO模型</a></li><li><a href="/JavaPlusDoc/jobPro/IO.html" class="sidebar-link">IO多路复用</a></li><li><a href="/JavaPlusDoc/java-up/netty.html" class="sidebar-link">Netty入门</a></li><li><a href="/JavaPlusDoc/nio/socket-communication-basics.html" class="sidebar-link">Socket通信基础</a></li><li><a href="/JavaPlusDoc/nio/tcp-udp-programming.html" class="sidebar-link">TCP与UDP编程</a></li><li><a href="/JavaPlusDoc/nio/network-protocols-deep-dive.html" class="sidebar-link">网络协议深入解析</a></li><li><a href="/JavaPlusDoc/nio/nio-netty-framework.html" class="sidebar-link">NIO与Netty框架</a></li><li><a href="/JavaPlusDoc/nio/socket-programming-practice.html" class="sidebar-link">Socket编程实战案例</a></li><li><a href="/JavaPlusDoc/nio/socket-performance-optimization.html" class="sidebar-link">Socket性能优化与调试</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><a href="/JavaPlusDoc/gaobingfaxitong/1" class="sidebar-heading clickable"><span>高并发系统</span> <!----></a> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/gaobingfaxitong/1.html" class="sidebar-link">它的通用设计方法是什么</a></li><li><a href="/JavaPlusDoc/gaobingfaxitong/2.html" class="sidebar-link">架构分层</a></li><li><a href="/JavaPlusDoc/gaobingfaxitong/3.html" class="sidebar-link">如何提升系统性能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>物联网架构系列</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/iot/" class="sidebar-link">IoT架构概览</a></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>架构分层设计</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/iot/device-layer.html" class="sidebar-link">设备层架构</a></li><li><a href="/JavaPlusDoc/iot/network-layer.html" class="sidebar-link">网络层架构</a></li><li><a href="/JavaPlusDoc/iot/application-layer.html" class="sidebar-link">应用层架构</a></li><li><a href="/JavaPlusDoc/iot/frontend-layer.html" class="sidebar-link">前端展示层</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>设备接入与管理</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/iot/device-access.html" class="sidebar-link">设备接入层</a></li><li><a href="/JavaPlusDoc/iot/device-management-layer.html" class="sidebar-link">设备管理层</a></li><li><a href="/JavaPlusDoc/iot/device-authentication.html" class="sidebar-link">设备认证</a></li><li><a href="/JavaPlusDoc/iot/device-control.html" class="sidebar-link">设备控制</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>协议适配层</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/iot/protocol-adapter-layer.html" class="sidebar-link">协议适配器</a></li><li><a href="/JavaPlusDoc/iot/mqtt-access-layer.html" class="sidebar-link">MQTT接入</a></li><li><a href="/JavaPlusDoc/iot/http-access-layer.html" class="sidebar-link">HTTP接入</a></li><li><a href="/JavaPlusDoc/iot/coap-access-layer.html" class="sidebar-link">CoAP接入</a></li><li><a href="/JavaPlusDoc/iot/tcp-udp-access-layer.html" class="sidebar-link">TCP/UDP接入</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>数据处理与存储</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/iot/data-processing.html" class="sidebar-link">数据处理层</a></li><li><a href="/JavaPlusDoc/iot/data-reception.html" class="sidebar-link">数据接收</a></li><li><a href="/JavaPlusDoc/iot/redis.html" class="sidebar-link">Redis缓存</a></li><li><a href="/JavaPlusDoc/iot/kafka.html" class="sidebar-link">Kafka消息队列</a></li><li><a href="/JavaPlusDoc/iot/cassandra.html" class="sidebar-link">Cassandra存储</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>实战项目</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/iot/practice-projects.html" class="sidebar-link">实践项目案例</a></li><li><a href="/JavaPlusDoc/iot/geofence.html" class="sidebar-link">电子围栏功能设计</a></li><li><a href="/JavaPlusDoc/iot/charging-station-gateway.html" class="sidebar-link">充电桩设备网关</a></li><li><a href="/JavaPlusDoc/iot/netty-gateway-design.html" class="sidebar-link">百万台设备Netty网关架构</a></li><li><a href="/JavaPlusDoc/iot/netty-gateway-design-mi.html" class="sidebar-link">小米实战过亿设备Netty网关架构</a></li><li><a href="/JavaPlusDoc/iot/netty-gateway-bat.html" class="sidebar-link">哈喽电池设备Netty网关架构</a></li><li><a href="/JavaPlusDoc/iot/user-organization-permissions.html" class="sidebar-link">用户组织权限</a></li><li><a href="/JavaPlusDoc/iot/database-storage.html" class="sidebar-link">架构懂了就来了解数据库存储扩展千亿读写</a></li><li><a href="/JavaPlusDoc/iot/mermaid-test.html" class="sidebar-link">Mermaid图表测试</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>GO语言技术</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/go/" class="sidebar-link">GO技术手册导航</a></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>基础语法</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/go/basic-grammar/basic-syntax.html" class="sidebar-link">GO语言基础语法</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>高级特性</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/go/advanced/concurrency.html" class="sidebar-link">并发编程</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>标准库</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/go/stdlib/http.html" class="sidebar-link">HTTP编程</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>最佳实践</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/go/best-practices/testing.html" class="sidebar-link">测试最佳实践</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>实战项目</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/go/projects/web-service.html" class="sidebar-link">Web服务开发实战</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>分布式架构</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading open"><span>缓存系统</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/high-concurrency/why-cache.html" class="sidebar-link">缓存使用场景</a></li><li><a href="/JavaPlusDoc/high-concurrency/redis-single-thread-model.html" class="sidebar-link">Redis vs Memcached</a></li><li><a href="/JavaPlusDoc/high-concurrency/redis-data-types.html" class="sidebar-link">Redis数据类型</a></li><li><a href="/JavaPlusDoc/high-concurrency/redis-expiration-policies-and-lru.html" class="sidebar-link">Redis过期策略</a></li><li><a href="/JavaPlusDoc/high-concurrency/how-to-ensure-high-concurrency-and-high-availability-of-redis.html" class="sidebar-link">Redis高并发与高可用</a></li><li><a href="/JavaPlusDoc/high-concurrency/redis-master-slave.html" class="sidebar-link">Redis主从架构</a></li><li><a href="/JavaPlusDoc/high-concurrency/redis-persistence.html" class="sidebar-link">Redis持久化</a></li><li><a href="/JavaPlusDoc/high-concurrency/redis-sentinel.html" class="sidebar-link">Redis哨兵集群</a></li><li><a href="/JavaPlusDoc/jobPro/redis.html" class="sidebar-link">Redis应用场景</a></li><li><a href="/JavaPlusDoc/redis/redis-key-expiration.html" class="sidebar-link">Redis key过期问题解决方案</a></li><li><a href="/JavaPlusDoc/java-up/redis-springboot.html" class="sidebar-link">SpringBoot整合Redis</a></li><li><a href="/JavaPlusDoc/redis/xuebeng-chuantou-jichuan.html" class="sidebar-link">缓存雪崩、穿透、击穿</a></li><li><a href="/JavaPlusDoc/redis/redis-lua.html" class="sidebar-link">深入分析Redis Lua脚本运行原理</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>消息队列</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/messagequeue/why-mq.html" class="sidebar-link">为什么使用消息队列</a></li><li><a href="/JavaPlusDoc/messagequeue/how-to-ensure-high-availability-of-message-queues.html" class="sidebar-link">消息队列高可用</a></li><li><a href="/JavaPlusDoc/messagequeue/how-to-ensure-that-messages-are-not-repeatedly-consumed.html" class="sidebar-link">消息不重复消费</a></li><li><a href="/JavaPlusDoc/messagequeue/how-to-ensure-the-reliable-transmission-of-messages.html" class="sidebar-link">消息可靠传输</a></li><li><a href="/JavaPlusDoc/messagequeue/how-to-ensure-the-order-of-messages.html" class="sidebar-link">消息顺序性</a></li><li><a href="/JavaPlusDoc/messagequeue/mq-time-delay-and-expired-failure.html" class="sidebar-link">消息队列延时问题</a></li><li><a href="/JavaPlusDoc/messagequeue/mq-design.html" class="sidebar-link">消息队列设计</a></li><li><a href="/JavaPlusDoc/java-up/rabbitmq.html" class="sidebar-link">RabbitMQ入门</a></li><li><a href="/JavaPlusDoc/power/kafka.html" class="sidebar-link">Kafka基础</a></li><li><a href="/JavaPlusDoc/power/kafkas.html" class="sidebar-link">Kafka集群</a></li><li><a href="/JavaPlusDoc/power/comsumer.html" class="sidebar-link">Kafka消费者</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>搜索引擎</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/searchEngine/es-architecture.html" class="sidebar-link">ES分布式架构原理</a></li><li><a href="/JavaPlusDoc/searchEngine/es-write-query-search.html" class="sidebar-link">ES写入数据原理</a></li><li><a href="/JavaPlusDoc/searchEngine/es-optimizing-query-performance.html" class="sidebar-link">ES查询效率优化</a></li><li><a href="/JavaPlusDoc/searchEngine/es-production-cluster.html" class="sidebar-link">ES生产集群部署</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>微服务架构</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/worker/3.html" class="sidebar-link">微服务优雅上下线</a></li><li><a href="/JavaPlusDoc/worker/1.html" class="sidebar-link">滚动部署</a></li><li><a href="/JavaPlusDoc/worker/2.html" class="sidebar-link">Nacos优雅停机</a></li><li><a href="/JavaPlusDoc/dubbo/dubbo.html" class="sidebar-link">Dubbo基础</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>数据库技术</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/mysql/mysql.html" class="sidebar-link">SQL执行过程</a></li><li><a href="/JavaPlusDoc/mysql/shiwu-shixia.html" class="sidebar-link">MySQL事务实现</a></li><li><a href="/JavaPlusDoc/mysql/lijie-shiwu.html" class="sidebar-link">深入理解MySQL事务</a></li><li><a href="/JavaPlusDoc/mysql/mysql-locks.html" class="sidebar-link">MySQL锁机制详解</a></li><li><a href="/JavaPlusDoc/mysql/redis-shuju-yizhixing.html" class="sidebar-link">MySQL和Redis数据一致性</a></li><li><a href="/JavaPlusDoc/jobPro/InnoDB.html" class="sidebar-link">MyISAM vs InnoDB</a></li><li><a href="/JavaPlusDoc/java-up/mongodb.html" class="sidebar-link">MongoDB基础</a></li><li><a href="/JavaPlusDoc/java-up/mongodb-backup-restore.html" class="sidebar-link">MongoDB备份与恢复</a></li><li><a href="/JavaPlusDoc/MyBatis-Plus/getting-started.html" class="sidebar-link">MyBatis-Plus入门</a></li><li><a href="/JavaPlusDoc/MyBatis-Plus/service-interface.html" class="sidebar-link">MyBatis-Plus接口</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>运维与部署</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading open"><span>Docker容器技术</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/docker/docker-tutorial.html" class="sidebar-link">Docker教程</a></li><li><a href="/JavaPlusDoc/docker/docker架构.html" class="sidebar-link">docker架构</a></li><li><a href="/JavaPlusDoc/docker/docker-install.html" class="sidebar-link">Docker安装指南</a></li><li><a href="/JavaPlusDoc/docker/docker-mirror.html" class="sidebar-link">Docker配置国内源</a></li><li><a href="/JavaPlusDoc/docker/docker-images.html" class="sidebar-link">Docker镜像管理</a></li><li><a href="/JavaPlusDoc/docker/docker-containers.html" class="sidebar-link">Docker容器管理</a></li><li><a href="/JavaPlusDoc/docker/docker-network.html" class="sidebar-link">Docker网络配置</a></li><li><a href="/JavaPlusDoc/docker/docker-volumes.html" class="sidebar-link">Docker数据卷管理</a></li><li><a href="/JavaPlusDoc/docker/docker-dockerfile.html" class="sidebar-link">Dockerfile最佳实践</a></li><li><a href="/JavaPlusDoc/docker/docker-compose.html" class="sidebar-link">Docker Compose详解</a></li><li><a href="/JavaPlusDoc/docker/docker-swarm.html" class="sidebar-link">Docker Swarm集群</a></li><li><a href="/JavaPlusDoc/docker/docker-security.html" class="sidebar-link">Docker安全最佳实践</a></li><li><a href="/JavaPlusDoc/docker/docker-production.html" class="sidebar-link">Docker生产环境部署</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>基础设施</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/aJava/设备网关后端设计.html" class="sidebar-link">设备网关后端设计</a></li><li><a href="/JavaPlusDoc/aJava/Redis底层数据结构原理.html" class="sidebar-link">Redis底层数据结构原理</a></li><li><a href="/JavaPlusDoc/aJava/HashMap底层原理.html" class="sidebar-link">HashMap底层原理</a></li><li><a href="/JavaPlusDoc/aJava/MySQL的InnoDB原理.html" class="sidebar-link">MySQL的InnoDB原理</a></li><li><a href="/JavaPlusDoc/aJava/充电桩业务实现.html" class="sidebar-link">充电桩业务实现</a></li><li><a href="/JavaPlusDoc/aJava/充电宝业务实现.html" class="sidebar-link">充电宝业务实现</a></li><li><a href="/JavaPlusDoc/aJava/数据库分片技术实现.html" class="sidebar-link">数据库分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/Redis分片技术实现.html" class="sidebar-link">Redis分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/MongoDB分片技术实现.html" class="sidebar-link">MongoDB分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/Elasticsearch分片技术实现.html" class="sidebar-link">Elasticsearch分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/HBase分片技术实现.html" class="sidebar-link">HBase分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/ClickHouse分片技术实现.html" class="sidebar-link">ClickHouse分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/PostgreSQL分片技术实现.html" class="sidebar-link">PostgreSQL分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/Oracle分片技术实现.html" class="sidebar-link">Oracle分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/SQLServer分片技术实现.html" class="sidebar-link">SQLServer分片技术实现</a></li><li><a href="/JavaPlusDoc/aJava/云计算是什么.html" class="sidebar-link">云计算基础</a></li><li><a href="/JavaPlusDoc/aJava/mysql是什么.html" class="sidebar-link">mysql是什么</a></li><li><a href="/JavaPlusDoc/aJava/mogodb是什么.html" class="sidebar-link">mogodb是什么</a></li><li><a href="/JavaPlusDoc/aJava/安全组是什么.html" class="sidebar-link">安全组是什么</a></li><li><a href="/JavaPlusDoc/aJava/子网掩码是什么.html" class="sidebar-link">子网掩码是什么</a></li><li><a href="/JavaPlusDoc/aJava/路由器是什么.html" class="sidebar-link">路由器是什么</a></li><li><a href="/JavaPlusDoc/aJava/交换机是什么.html" class="sidebar-link">交换机是什么</a></li><li><a href="/JavaPlusDoc/aJava/CDN是什么.html" class="sidebar-link">CDN是什么</a></li><li><a href="/JavaPlusDoc/aJava/nginx是什么.html" class="sidebar-link">nginx是什么</a></li><li><a href="/JavaPlusDoc/aJava/tomcat是什么.html" class="sidebar-link">tomcat是什么</a></li><li><a href="/JavaPlusDoc/aJava/Eureka是什么.html" class="sidebar-link">Eureka是什么</a></li><li><a href="/JavaPlusDoc/aJava/nacos是什么.html" class="sidebar-link">nacos是什么</a></li><li><a href="/JavaPlusDoc/aJava/Zookeeper是什么.html" class="sidebar-link">Zookeeper是什么</a></li><li><a href="/JavaPlusDoc/aJava/ElasticSearch是什么.html" class="sidebar-link">ElasticSearch是什么</a></li><li><a href="/JavaPlusDoc/aJava/微服务是什么.html" class="sidebar-link">微服务基础</a></li><li><a href="/JavaPlusDoc/aJava/HDFS是什么.html" class="sidebar-link">HDFS基础</a></li><li><a href="/JavaPlusDoc/aJava/块存储是什么.html" class="sidebar-link">块存储</a></li><li><a href="/JavaPlusDoc/aJava/对象存储是什么.html" class="sidebar-link">对象存储</a></li><li><a href="/JavaPlusDoc/aJava/存储快照是什么.html" class="sidebar-link">存储快照</a></li><li><a href="/JavaPlusDoc/aJava/负载均衡是什么.html" class="sidebar-link">负载均衡</a></li><li><a href="/JavaPlusDoc/aJava/什么是灰度发布.html" class="sidebar-link">灰度发布</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>DevOps工具链</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/aJava/Jenkins是什么.html" class="sidebar-link">Jenkins基础</a></li><li><a href="/JavaPlusDoc/aJava/Ansible是什么.html" class="sidebar-link">Ansible基础</a></li><li><a href="/JavaPlusDoc/aJava/DevOps是什么.html" class="sidebar-link">DevOps概念</a></li><li><a href="/JavaPlusDoc/aJava/WAF和DDOS的区别是什么.html" class="sidebar-link">WAF和DDOS防护</a></li><li><a href="/JavaPlusDoc/linux/linux.html" class="sidebar-link">Linux常用命令</a></li><li><a href="/JavaPlusDoc/linux/nginx-env.html" class="sidebar-link">Nginx环境配置</a></li><li><a href="/JavaPlusDoc/linux/kibana-install.html" class="sidebar-link">Kibana安装与使用</a></li><li><a href="/JavaPlusDoc/java-up/nginx.html" class="sidebar-link">Nginx入门</a></li><li><a href="/JavaPlusDoc/java-up/ssl.html" class="sidebar-link">Nginx SSL配置</a></li><li><a href="/JavaPlusDoc/worker/nginx-optimization.html" class="sidebar-link">Nginx优化与防盗链</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>部署与监控</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/worker/elk.html" class="sidebar-link">ELK日志系统</a></li><li><a href="/JavaPlusDoc/worker/elfk-cluster.html" class="sidebar-link">ELFK生产集群搭建</a></li><li><a href="/JavaPlusDoc/worker/jenkins.html" class="sidebar-link">Jenkins部署SpringBoot</a></li><li><a href="/JavaPlusDoc/worker/rocketmq.html" class="sidebar-link">RocketMQ安装</a></li><li><a href="/JavaPlusDoc/worker/grafana.html" class="sidebar-link">Grafana监控</a></li><li><a href="/JavaPlusDoc/worker/prometheus.html" class="sidebar-link">Prometheus单机部署</a></li><li><a href="/JavaPlusDoc/worker/grafana-database-monitoring.html" class="sidebar-link">Grafana监控MySQL、Redis和MongoDB</a></li><li><a href="/JavaPlusDoc/worker/k8s-monitoring.html" class="sidebar-link">K8s监控</a></li><li><a href="/JavaPlusDoc/worker/cpu-troubleshooting.html" class="sidebar-link">CPU使用率100%异常排查</a></li><li><a href="/JavaPlusDoc/worker/springboot.html" class="sidebar-link">SpringBoot启动脚本</a></li><li><a href="/JavaPlusDoc/worker/skywalking.html" class="sidebar-link">SkyWalking监控</a></li><li><a href="/JavaPlusDoc/worker/7.html" class="sidebar-link">前端自动化部署</a></li><li><a href="/JavaPlusDoc/sre/sre.html" class="sidebar-link">SRE实践</a></li><li><a href="/JavaPlusDoc/sre/monitor.html" class="sidebar-link">分布式监控</a></li><li><a href="/JavaPlusDoc/sre/serviceQuality.html" class="sidebar-link">服务质量目标</a></li><li><a href="/JavaPlusDoc/sre/errorBudget.html" class="sidebar-link">错误预算</a></li><li><a href="/JavaPlusDoc/sre/system.html" class="sidebar-link">系统性能指标</a></li><li><a href="/JavaPlusDoc/sre/server-mining-virus-removal.html" class="sidebar-link">服务器挖矿病毒清除</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>ElasticSearch</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/es/es-architecture.html" class="sidebar-link">ElasticSearch架构</a></li><li><a href="/JavaPlusDoc/es/es-optimizing-query-performance.html" class="sidebar-link">查询性能优化</a></li><li><a href="/JavaPlusDoc/es/es-cluster-setup.html" class="sidebar-link">Linux搭建ES集群与Kibana</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>产品系列</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/products/" class="sidebar-link">产品概述</a></li><li><a href="/JavaPlusDoc/products/product-gallery.html" class="sidebar-link">【溜溜梅】官方商城小程序</a></li><li><a href="/JavaPlusDoc/products/productChange.html" class="sidebar-link">小区充电桩小程序</a></li><li><a href="/JavaPlusDoc/products/photoImage.html" class="sidebar-link">话圈小程序</a></li><li><a href="/JavaPlusDoc/products/changeChange.html" class="sidebar-link">速绿充电小程序体验设计</a></li><li><a href="/JavaPlusDoc/products/changeChange2.html" class="sidebar-link">恒想充充电桩小程序改版设计</a></li><li><a href="/JavaPlusDoc/products/productShare.html" class="sidebar-link">分销小程序</a></li><li><a href="/JavaPlusDoc/products/product-car.html" class="sidebar-link">电动车充电桩小程序</a></li><li><a href="/JavaPlusDoc/products/无人岛商业计划书.html" class="sidebar-link">无人岛商业计划书</a></li><li><a href="/JavaPlusDoc/products/蜗牛睡眠高嵩.html" class="sidebar-link">蜗牛睡眠高嵩</a></li><li><a href="/JavaPlusDoc/products/优质行业报告网站.html" class="sidebar-link">优质行业报告网站</a></li><li><a href="/JavaPlusDoc/products/篮球场如何赚钱.html" class="sidebar-link">篮球场如何赚钱</a></li><li><a href="/JavaPlusDoc/products/enterprise-platform.html" class="sidebar-link">企业级应用平台</a></li><li><a href="/JavaPlusDoc/products/microservice-framework.html" class="sidebar-link">微服务框架</a></li><li><a href="/JavaPlusDoc/products/data-analytics-suite.html" class="sidebar-link">数据分析套件</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>实战案例</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading open"><span>Web应用开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/jobPro/login.html" class="sidebar-link">用户注册登录系统</a></li><li><a href="/JavaPlusDoc/jobPro/lan.html" class="sidebar-link">多语言国际化</a></li><li><a href="/JavaPlusDoc/jobPro/jobPro.html" class="sidebar-link">PC网站微信扫码登录</a></li><li><a href="/JavaPlusDoc/jobPro/wechat-miniprogram-guide.html" class="sidebar-link">微信小程序开发完全指南</a></li><li><a href="/JavaPlusDoc/jobPro/wechat-customer-service.html" class="sidebar-link">微信小程序API客服消息</a></li><li><a href="/JavaPlusDoc/jobPro/wechat-open-api.html" class="sidebar-link">微信小程序开放接口</a></li><li><a href="/JavaPlusDoc/jobPro/wechat-operation-center.html" class="sidebar-link">微信小程序运维中心</a></li><li><a href="/JavaPlusDoc/jobPro/appMsg.html" class="sidebar-link">微信小程序消息推送</a></li><li><a href="/JavaPlusDoc/jobPro/miniprogram.html" class="sidebar-link">微信小程序自动化部署</a></li><li><a href="/JavaPlusDoc/jobPro/appPay.html" class="sidebar-link">微信小程序支付功能</a></li><li><a href="/JavaPlusDoc/jobPro/uniapp.html" class="sidebar-link">iOS/Android打包发布</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>GO语言应用</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/go/projects/web-service.html" class="sidebar-link">GO Web服务开发实战</a></li><li><a href="/JavaPlusDoc/go/advanced/concurrency.html" class="sidebar-link">GO并发编程实践</a></li><li><a href="/JavaPlusDoc/go/stdlib/http.html" class="sidebar-link">GO HTTP编程指南</a></li><li><a href="/JavaPlusDoc/go/best-practices/testing.html" class="sidebar-link">GO测试最佳实践</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>技术架构</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/tech/high-availability-group-buying.html" class="sidebar-link">500万日订单下的高可用拼购系统</a></li><li><a href="/JavaPlusDoc/tech/twenty-million-orders-architecture.html" class="sidebar-link">2000万日订单背后的技术架构</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>企业级应用</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/java-up/aop-log.html" class="sidebar-link">SpringAOP实践</a></li><li><a href="/JavaPlusDoc/java-up/ioc.html" class="sidebar-link">SpringIoC实践</a></li><li><a href="/JavaPlusDoc/java-up/transaction.html" class="sidebar-link">事务支持</a></li><li><a href="/JavaPlusDoc/java-up/Filter-Interceptor-Listener.html" class="sidebar-link">过滤器与拦截器</a></li><li><a href="/JavaPlusDoc/java-up/quartz.html" class="sidebar-link">SpringBoot整合Quartz</a></li><li><a href="/JavaPlusDoc/java-up/mybatis.html" class="sidebar-link">SpringBoot整合MyBatis</a></li><li><a href="/JavaPlusDoc/java-up/validator.html" class="sidebar-link">数据校验</a></li><li><a href="/JavaPlusDoc/worker/6.html" class="sidebar-link">API数据加密</a></li><li><a href="/JavaPlusDoc/data/data.html" class="sidebar-link">大数据开发实践</a></li><li><a href="/JavaPlusDoc/order/order-BizOrderService.html" class="sidebar-link">订单流程设计</a></li><li><a href="/JavaPlusDoc/linuxPrometheus/linux.html" class="sidebar-link">数据导入导出优化</a></li></ul></section></li><li><section class="sidebar-group is-sub-group depth-1"><p class="sidebar-heading"><span>物联网应用</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/iot/iot.html" class="sidebar-link">物联网基础</a></li><li><a href="/JavaPlusDoc/iot/kafka.html" class="sidebar-link">物联网Kafka应用</a></li><li><a href="/JavaPlusDoc/iot/redis.html" class="sidebar-link">物联网Redis应用</a></li><li><a href="/JavaPlusDoc/iot/cassandra.html" class="sidebar-link">物联网Cassandra应用</a></li><li><a href="/JavaPlusDoc/iot/server.html" class="sidebar-link">物联网设备管理</a></li><li><a href="/JavaPlusDoc/iot/byteArray.html" class="sidebar-link">字节数组处理</a></li><li><a href="/JavaPlusDoc/iot/iotJob.html" class="sidebar-link">物联网业务流程</a></li><li><a href="/JavaPlusDoc/iot/protocol-adapter-layer.html" class="sidebar-link">协议适配层</a></li><li><a href="/JavaPlusDoc/iot/device-management-layer.html" class="sidebar-link">设备管理层</a></li><li><a href="/JavaPlusDoc/iot/application-service-layer.html" class="sidebar-link">应用服务层</a></li></ul></section></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Java线程</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/thread/java-multithreading-basics.html" class="sidebar-link">Java多线程基础</a></li><li><a href="/JavaPlusDoc/thread/java-thread-synchronization.html" class="sidebar-link">Java线程同步机制</a></li><li><a href="/JavaPlusDoc/thread/java-concurrent-utilities.html" class="sidebar-link">Java并发工具类</a></li><li><a href="/JavaPlusDoc/thread/java-threadpool-advanced.html" class="sidebar-link">Java线程池深入解析</a></li><li><a href="/JavaPlusDoc/thread/java-memory-model.html" class="sidebar-link">Java内存模型与并发编程</a></li><li><a href="/JavaPlusDoc/thread/java-concurrency-best-practices.html" class="sidebar-link">Java并发编程最佳实践</a></li><li><a href="/JavaPlusDoc/thread/thread-state-and-method.html" class="sidebar-link">线程状态与方法</a></li><li><a href="/JavaPlusDoc/thread/callable-future-futuretask.html" class="sidebar-link">Callable、Future、FutureTask</a></li><li><a href="/JavaPlusDoc/thread/threadpool-executor.html" class="sidebar-link">ThreadPoolExecutor详解</a></li><li><a href="/JavaPlusDoc/aThread/linux.html" class="sidebar-link">linux线程基础</a></li><li><a href="/JavaPlusDoc/aThread/jvm.html" class="sidebar-link">jvm基础知识</a></li><li><a href="/JavaPlusDoc/aThread/jvmThread.html" class="sidebar-link">jvm线程</a></li><li><a href="/JavaPlusDoc/aThread/jvmThreadEvent.html" class="sidebar-link">jvm线程通信原理</a></li><li><a href="/JavaPlusDoc/aThread/jvmThreadSync.html" class="sidebar-link">jvm线程同步机制</a></li><li><a href="/JavaPlusDoc/aThread/jvmLock.html" class="sidebar-link">java锁实现原理</a></li><li><a href="/JavaPlusDoc/aThread/jvmAtomic.html" class="sidebar-link">java原子操作类实现原理</a></li><li><a href="/JavaPlusDoc/aThread/jvmConcurrent.html" class="sidebar-link">java并发容器实现原理</a></li><li><a href="/JavaPlusDoc/aThread/javaThreadPool.html" class="sidebar-link">java线程池实现原理</a></li><li><a href="/JavaPlusDoc/aThread/javaThreadPoolUse.html" class="sidebar-link">java线程池使用</a></li><li><a href="/JavaPlusDoc/aThread/javaThreadSkill.html" class="sidebar-link">java多线程编程技巧</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>电商业务交易系统</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/ecommerce/product-management.html" class="sidebar-link">商品管理系统</a></li><li><a href="/JavaPlusDoc/ecommerce/order-management.html" class="sidebar-link">订单管理系统</a></li><li><a href="/JavaPlusDoc/ecommerce/payment-system.html" class="sidebar-link">支付系统设计</a></li><li><a href="/JavaPlusDoc/ecommerce/shopping-cart.html" class="sidebar-link">购物车系统</a></li><li><a href="/JavaPlusDoc/ecommerce/inventory-management.html" class="sidebar-link">库存管理系统</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>跨境电商系统架构</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/ecommerce/cross-border/" class="sidebar-link">系统架构概述</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/product-catalog-service.html" class="sidebar-link">商品管理系统</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/pricing-engine.html" class="sidebar-link">价格计算引擎</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/order-processing-system.html" class="sidebar-link">订单处理系统</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/payment-gateway-system.html" class="sidebar-link">支付网关系统</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/logistics-delivery-system.html" class="sidebar-link">物流配送系统</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/after-sales-service.html" class="sidebar-link">售后服务系统</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/user-management-system.html" class="sidebar-link">用户管理与权限系统</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/search-recommendation-engine.html" class="sidebar-link">搜索推荐引擎</a></li><li><a href="/JavaPlusDoc/ecommerce/cross-border/shopping-cart-system.html" class="sidebar-link">购物车系统</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>营销系统</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/marketing/coupon-system.html" class="sidebar-link">优惠券系统</a></li><li><a href="/JavaPlusDoc/marketing/flash-sale-system.html" class="sidebar-link">秒杀系统</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>物联网设备接入系统</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/iot/device-access.html" class="sidebar-link">设备接入系统</a></li><li><a href="/JavaPlusDoc/iot/device-management.html" class="sidebar-link">设备管理服务</a></li><li><a href="/JavaPlusDoc/iot/device-authentication.html" class="sidebar-link">设备认证服务</a></li><li><a href="/JavaPlusDoc/iot/data-reception.html" class="sidebar-link">数据接收服务</a></li><li><a href="/JavaPlusDoc/iot/device-control.html" class="sidebar-link">设备控制服务</a></li><li><a href="/JavaPlusDoc/iot/protocol-adapter.html" class="sidebar-link">协议适配器</a></li><li><a href="/JavaPlusDoc/iot/mqtt-access-layer.html" class="sidebar-link">MQTT设备接入层</a></li><li><a href="/JavaPlusDoc/iot/coap-access-layer.html" class="sidebar-link">CoAP设备接入层</a></li><li><a href="/JavaPlusDoc/iot/http-access-layer.html" class="sidebar-link">HTTP设备接入层</a></li><li><a href="/JavaPlusDoc/iot/tcp-udp-access-layer.html" class="sidebar-link">TCP/UDP设备接入层</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>计算机基础</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/JavaPlusDoc/cs/os.html" class="sidebar-link">操作系统</a></li><li><a href="/JavaPlusDoc/cs/wangluo.html" class="sidebar-link">计算机网络</a></li><li><a href="/JavaPlusDoc/cs/tcp-ip.html" class="sidebar-link">TCP/IP协议详解</a></li><li><a href="/JavaPlusDoc/aJava/cookie-session-token.html" class="sidebar-link">Cookie/Session/Token</a></li></ul></section></li></ul> </aside> <div class="password-shadow password-wrapper-in" style="display:none;" data-v-59e6cb88 data-v-7dd95ae2><h3 class="title" data-v-59e6cb88>第2天-安装Python</h3> <!----> <label id="box" class="inputBox" data-v-59e6cb88><input type="password" value="" data-v-59e6cb88> <span data-v-59e6cb88>Konck! Knock!</span> <button data-v-59e6cb88>OK</button></label> <div class="footer" data-v-59e6cb88><span data-v-59e6cb88><i class="iconfont reco-theme" data-v-59e6cb88></i> <a target="blank" href="https://vuepress-theme-reco.recoluan.com" data-v-59e6cb88>vuePress-theme-reco</a></span> <span data-v-59e6cb88><i class="iconfont reco-copyright" data-v-59e6cb88></i> <a data-v-59e6cb88><!---->
<!---->
2025
</a></span></div></div> <div data-v-7dd95ae2><div data-v-7dd95ae2><main class="page"><section style="display:;"><div class="page-title"><h1 class="title">第2天-安装Python</h1> <div data-v-8a445198><i class="iconfont reco-account" data-v-8a445198><span data-v-8a445198>哪吒</span></i> <i class="iconfont reco-date" data-v-8a445198><span data-v-8a445198>2023/6/15</span></i> <!----> <!----></div></div> <div class="theme-reco-content content__default"><h1 id="第2天-安装python"><a href="#第2天-安装python" class="header-anchor">#</a> 第2天-安装Python</h1> <h2 id="python的跨平台特性"><a href="#python的跨平台特性" class="header-anchor">#</a> Python的跨平台特性</h2> <p>因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。</p> <blockquote><p><strong>小白注解</strong>:跨平台意味着"一次编写,到处运行",这是Python的一大优势。你不需要为不同的操作系统重写代码。</p></blockquote> <h2 id="安装python能得到什么"><a href="#安装python能得到什么" class="header-anchor">#</a> 安装Python能得到什么?</h2> <p>要开始学习Python编程,首先就得把Python安装到你的电脑里。安装后,你会得到:</p> <blockquote><p><strong>安装包含的组件</strong>:</p> <ul><li>🐍 <strong>Python解释器</strong>:负责运行Python程序的核心引擎</li> <li>💻 <strong>命令行交互环境</strong>:可以直接输入Python代码并立即看到结果</li> <li>🛠️ <strong>IDLE</strong>:Python自带的简单集成开发环境</li> <li>📚 <strong>标准库</strong>:大量内置的功能模块</li> <li>📦 <strong>pip</strong>:Python包管理工具,用于安装第三方库</li></ul></blockquote> <h2 id="python版本选择"><a href="#python版本选择" class="header-anchor">#</a> Python版本选择</h2> <p>目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。由于3.x版越来越普及,教程将以最新的Python 3.x版本为基础。</p> <blockquote><p><strong>版本说明</strong>:</p> <ul><li><strong>Python 2.x</strong>:已于2020年1月1日停止维护,不建议新项目使用</li> <li><strong>Python 3.x</strong>:当前主流版本,持续更新中</li> <li><strong>推荐版本</strong>:Python 3.8+ (支持最新特性,稳定性好)</li></ul></blockquote> <blockquote><p><strong>小白提醒</strong>:如果你是初学者,直接选择最新的Python 3.x版本就对了!</p></blockquote> <h2 id="在windows上安装python"><a href="#在windows上安装python" class="header-anchor">#</a> 在Windows上安装Python</h2> <p>在Windows上安装Python,有两种方法:</p> <h3 id="方法一-官方安装包-推荐新手"><a href="#方法一-官方安装包-推荐新手" class="header-anchor">#</a> 方法一:官方安装包(推荐新手)</h3> <p>可以直接从Python的官方网站下载Python 3对应的Windows安装程序,推荐下载Windows installer (64-bit),然后,运行下载的python-3.x-amd64.exe安装包:</p> <blockquote><p><strong>下载地址</strong>:https://www.python.org/downloads/windows/</p></blockquote> <p><img src="/JavaPlusDoc/assets/img/img_2.bbc02079.png" alt="img_2.png"></p> <blockquote><p><strong>⚠️ 重要提醒</strong>:特别要注意勾上"Add Python 3.x to PATH",这样你就可以在任何地方使用python命令了!</p></blockquote> <p><strong>安装步骤</strong>:</p> <ol><li>下载安装包</li> <li>双击运行安装程序</li> <li>✅ <strong>务必勾选</strong>"Add Python to PATH"</li> <li>点击"Install Now"</li> <li>等待安装完成</li></ol> <p><strong>验证安装</strong>:</p> <div class="language-bash extra-class"><pre class="language-bash"><code>C:<span class="token punctuation">\</span>Users<span class="token punctuation">\</span><span class="token number">2397</span><span class="token operator"><span class="token file-descriptor important">9</span>></span>python <span class="token parameter variable">--version</span>
Python <span class="token number">3.13</span>.5
</code></pre></div><blockquote><p><strong>小白解释</strong>:<code>python --version</code>命令用来查看Python版本,如果显示版本号说明安装成功!</p></blockquote> <h3 id="方法二-包管理器安装-适合进阶用户"><a href="#方法二-包管理器安装-适合进阶用户" class="header-anchor">#</a> 方法二:包管理器安装(适合进阶用户)</h3> <p>先安装一个包管理器,推荐Scoop,然后在PowerShell中通过以下命令安装Python:</p> <div class="language-powershell extra-class"><pre class="language-powershell"><code><span class="token comment"># 首先安装Scoop(如果还没有的话)</span>
<span class="token function">Set-ExecutionPolicy</span> RemoteSigned <span class="token operator">-</span>Scope CurrentUser
<span class="token function">irm</span> get<span class="token punctuation">.</span>scoop<span class="token punctuation">.</span>sh <span class="token punctuation">|</span> <span class="token function">iex</span>
<span class="token comment"># 然后安装Python</span>
scoop install python
</code></pre></div><blockquote><p><strong>Scoop的优势</strong>:</p> <ul><li>自动管理PATH环境变量</li> <li>可以同时安装多个Python版本</li> <li>卸载干净,不留垃圾文件</li> <li>命令行操作,适合开发者</li></ul></blockquote> <h2 id="在macos上安装python"><a href="#在macos上安装python" class="header-anchor">#</a> 在macOS上安装Python</h2> <p>如果你正在使用Mac,那么系统自带的Python版本是2.x。要安装最新的Python 3.x,有两个方法:</p> <h3 id="方法一-官方安装包"><a href="#方法一-官方安装包" class="header-anchor">#</a> 方法一:官方安装包</h3> <p>从Python官网下载Python 3 macOS版的安装程序,下载后双击运行并安装。</p> <blockquote><p><strong>下载地址</strong>:https://www.python.org/downloads/macos/</p></blockquote> <h3 id="方法二-homebrew安装-推荐"><a href="#方法二-homebrew安装-推荐" class="header-anchor">#</a> 方法二:Homebrew安装(推荐)</h3> <p>如果安装了包管理器Homebrew,直接通过命令安装:</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 安装Python 3</span>
brew <span class="token function">install</span> python
<span class="token comment"># 验证安装</span>
python3 <span class="token parameter variable">--version</span>
</code></pre></div><blockquote><p><strong>macOS注意事项</strong>:</p> <ul><li>系统自带的<code>python</code>命令指向Python 2.x</li> <li>新安装的Python 3使用<code>python3</code>命令</li> <li>建议创建别名:<code>alias python=python3</code></li></ul></blockquote> <h2 id="在linux上安装python"><a href="#在linux上安装python" class="header-anchor">#</a> 在Linux上安装Python</h2> <p>大多数Linux发行版都预装了Python,但可能版本较旧。以下是常见发行版的安装方法:</p> <h3 id="ubuntu-debian系统"><a href="#ubuntu-debian系统" class="header-anchor">#</a> Ubuntu/Debian系统</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 更新包列表</span>
<span class="token function">sudo</span> <span class="token function">apt</span> update
<span class="token comment"># 安装Python 3</span>
<span class="token function">sudo</span> <span class="token function">apt</span> <span class="token function">install</span> python3 python3-pip
<span class="token comment"># 验证安装</span>
python3 <span class="token parameter variable">--version</span>
</code></pre></div><h3 id="centos-rhel系统"><a href="#centos-rhel系统" class="header-anchor">#</a> CentOS/RHEL系统</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 安装Python 3</span>
<span class="token function">sudo</span> yum <span class="token function">install</span> python3 python3-pip
<span class="token comment"># 或者在较新版本中使用</span>
<span class="token function">sudo</span> dnf <span class="token function">install</span> python3 python3-pip
</code></pre></div><h3 id="arch-linux"><a href="#arch-linux" class="header-anchor">#</a> Arch Linux</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 安装Python 3</span>
<span class="token function">sudo</span> pacman <span class="token parameter variable">-S</span> python python-pip
</code></pre></div><blockquote><p><strong>Linux小贴士</strong>:如果你正在使用Linux,建议你有一定的系统管理经验。如果完全是新手,建议先从Windows开始学习Python。</p></blockquote> <h2 id="测试python交互环境"><a href="#测试python交互环境" class="header-anchor">#</a> 测试Python交互环境</h2> <p>安装完成后,打开命令行输入<code>python</code>(Windows)或<code>python3</code>(macOS/Linux),你会看到类似这样的界面:</p> <div class="language-python extra-class"><pre class="language-python"><code>C<span class="token punctuation">:</span>\Users\<span class="token number">23979</span><span class="token operator">></span>python
Python <span class="token number">3.13</span><span class="token number">.5</span> <span class="token punctuation">(</span>tags<span class="token operator">/</span>v3<span class="token punctuation">.</span><span class="token number">13.5</span><span class="token punctuation">:</span>6cb20a2<span class="token punctuation">,</span> Jun <span class="token number">11</span> <span class="token number">2025</span><span class="token punctuation">,</span> <span class="token number">16</span><span class="token punctuation">:</span><span class="token number">15</span><span class="token punctuation">:</span><span class="token number">46</span><span class="token punctuation">)</span> <span class="token punctuation">[</span>MSC v<span class="token punctuation">.</span><span class="token number">1943</span> <span class="token number">64</span> bit <span class="token punctuation">(</span>AMD64<span class="token punctuation">)</span><span class="token punctuation">]</span> on win32
Type <span class="token string">"help"</span><span class="token punctuation">,</span> <span class="token string">"copyright"</span><span class="token punctuation">,</span> <span class="token string">"credits"</span> <span class="token keyword">or</span> <span class="token string">"license"</span> <span class="token keyword">for</span> more information<span class="token punctuation">.</span>
<span class="token operator">>></span><span class="token operator">></span> <span class="token number">1</span><span class="token operator">+</span><span class="token number">1</span>
<span class="token number">2</span>
<span class="token operator">>></span><span class="token operator">></span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"Hello, Python!"</span><span class="token punctuation">)</span>
Hello<span class="token punctuation">,</span> Python!
<span class="token operator">>></span><span class="token operator">></span> exit<span class="token punctuation">(</span><span class="token punctuation">)</span>
</code></pre></div><blockquote><p><strong>交互环境说明</strong>:</p> <ul><li><code>>>></code>是Python的提示符,表示等待你输入代码</li> <li>输入代码后按回车,立即看到结果</li> <li>输入<code>exit()</code>或按<code>Ctrl+Z</code>(Windows)/<code>Ctrl+D</code>(macOS/Linux)退出</li></ul></blockquote> <h2 id="python解释器详解"><a href="#python解释器详解" class="header-anchor">#</a> Python解释器详解</h2> <p>当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。</p> <blockquote><p><strong>小白理解</strong>:解释器就像一个翻译官,把你写的Python代码翻译成计算机能理解的机器语言。</p></blockquote> <h3 id="多种python解释器"><a href="#多种python解释器" class="header-anchor">#</a> 多种Python解释器</h3> <p>由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器:</p> <blockquote><p><strong>主要Python解释器</strong>:</p> <p>🔥 <strong>CPython</strong>(官方,推荐)</p> <ul><li>用C语言开发,最标准的实现</li> <li>使用最广泛,兼容性最好</li> <li>我们通常说的"Python"就是指CPython</li></ul> <p>⚡ <strong>PyPy</strong>(高性能)</p> <ul><li>用Python自己写的Python解释器</li> <li>执行速度比CPython快2-10倍</li> <li>适合计算密集型程序</li></ul> <p>☕ <strong>Jython</strong>(Java平台)</p> <ul><li>运行在Java虚拟机上</li> <li>可以调用Java类库</li> <li>适合Java环境集成</li></ul> <p>🌐 <strong>IronPython</strong>(.NET平台)</p> <ul><li>运行在.NET平台上</li> <li>可以调用.NET类库</li> <li>适合Windows/.NET环境</li></ul></blockquote> <h3 id="cpython解释器"><a href="#cpython解释器" class="header-anchor">#</a> CPython解释器</h3> <p>当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。</p> <p>CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。</p> <blockquote><p><strong>为什么选择CPython?</strong></p> <ul><li>✅ 官方标准实现,最稳定可靠</li> <li>✅ 第三方库支持最完整</li> <li>✅ 文档和社区支持最好</li> <li>✅ 适合初学者和生产环境</li></ul></blockquote> <h2 id="常见问题解答"><a href="#常见问题解答" class="header-anchor">#</a> 常见问题解答</h2> <blockquote><p><strong>Q: 安装后找不到python命令怎么办?</strong></p> <p>A: 检查是否勾选了"Add Python to PATH"。如果没有,可以:</p> <ol><li>重新安装Python并勾选该选项</li> <li>手动添加Python安装目录到系统PATH</li> <li>使用完整路径运行:<code>C:\Python39\python.exe</code></li></ol></blockquote> <blockquote><p><strong>Q: python和python3命令有什么区别?</strong></p> <p>A:</p> <ul><li><strong>Windows</strong>:通常都是<code>python</code></li> <li><strong>macOS/Linux</strong>:<code>python</code>可能指向Python 2.x,<code>python3</code>指向Python 3.x</li> <li>建议在macOS/Linux上使用<code>python3</code>命令</li></ul></blockquote> <blockquote><p><strong>Q: 如何同时安装多个Python版本?</strong></p> <p>A:</p> <ul><li>使用<strong>pyenv</strong>(macOS/Linux)或<strong>pyenv-win</strong>(Windows)</li> <li>使用<strong>Anaconda</strong>管理多个环境</li> <li>手动安装到不同目录</li></ul></blockquote> <h2 id="下一步"><a href="#下一步" class="header-anchor">#</a> 下一步</h2> <p>恭喜!你已经成功安装了Python。现在你可以:</p> <ul><li>在命令行中使用Python交互环境</li> <li>编写并运行你的第一个Python程序</li> <li>开始学习Python语法</li></ul> <blockquote><p><strong>学习建议</strong>:先熟悉Python交互环境,它是学习和测试代码的好工具。在交互环境中,你可以立即看到代码的执行结果,这对理解Python语法非常有帮助。</p></blockquote></div></section> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev"><a href="/JavaPlusDoc/Python/1.html" class="prev">
第1天-Python历史
</a></span> <span class="next"><a href="/JavaPlusDoc/Python/3.html">
第3天-第一个程序
</a></span></p></div> <div class="comments-wrapper"><!----></div></main></div> <!----></div> <ul class="sub-sidebar sub-sidebar-wrapper" style="width:12rem;" data-v-b57cc07c data-v-7dd95ae2><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#python的跨平台特性" class="sidebar-link reco-side-python的跨平台特性" data-v-b57cc07c>Python的跨平台特性</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#安装python能得到什么" class="sidebar-link reco-side-安装python能得到什么" data-v-b57cc07c>安装Python能得到什么?</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#python版本选择" class="sidebar-link reco-side-python版本选择" data-v-b57cc07c>Python版本选择</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#在windows上安装python" class="sidebar-link reco-side-在windows上安装python" data-v-b57cc07c>在Windows上安装Python</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#方法一-官方安装包-推荐新手" class="sidebar-link reco-side-方法一-官方安装包-推荐新手" data-v-b57cc07c>方法一:官方安装包(推荐新手)</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#方法二-包管理器安装-适合进阶用户" class="sidebar-link reco-side-方法二-包管理器安装-适合进阶用户" data-v-b57cc07c>方法二:包管理器安装(适合进阶用户)</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#在macos上安装python" class="sidebar-link reco-side-在macos上安装python" data-v-b57cc07c>在macOS上安装Python</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#方法一-官方安装包" class="sidebar-link reco-side-方法一-官方安装包" data-v-b57cc07c>方法一:官方安装包</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#方法二-homebrew安装-推荐" class="sidebar-link reco-side-方法二-homebrew安装-推荐" data-v-b57cc07c>方法二:Homebrew安装(推荐)</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#在linux上安装python" class="sidebar-link reco-side-在linux上安装python" data-v-b57cc07c>在Linux上安装Python</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#ubuntu-debian系统" class="sidebar-link reco-side-ubuntu-debian系统" data-v-b57cc07c>Ubuntu/Debian系统</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#centos-rhel系统" class="sidebar-link reco-side-centos-rhel系统" data-v-b57cc07c>CentOS/RHEL系统</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#arch-linux" class="sidebar-link reco-side-arch-linux" data-v-b57cc07c>Arch Linux</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#测试python交互环境" class="sidebar-link reco-side-测试python交互环境" data-v-b57cc07c>测试Python交互环境</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#python解释器详解" class="sidebar-link reco-side-python解释器详解" data-v-b57cc07c>Python解释器详解</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#多种python解释器" class="sidebar-link reco-side-多种python解释器" data-v-b57cc07c>多种Python解释器</a></li><li class="level-3" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#cpython解释器" class="sidebar-link reco-side-cpython解释器" data-v-b57cc07c>CPython解释器</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#常见问题解答" class="sidebar-link reco-side-常见问题解答" data-v-b57cc07c>常见问题解答</a></li><li class="level-2" data-v-b57cc07c><a href="/JavaPlusDoc/Python/2.html#下一步" class="sidebar-link reco-side-下一步" data-v-b57cc07c>下一步</a></li></ul></div></div></div><div class="global-ui"><div class="back-to-ceiling" style="right:1rem;bottom:6rem;width:2.5rem;height:2.5rem;border-radius:.25rem;line-height:2.5rem;display:none;" data-v-c6073ba8 data-v-c6073ba8><svg t="1574745035067" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5404" class="icon" data-v-c6073ba8><path d="M526.60727968 10.90185116a27.675 27.675 0 0 0-29.21455937 0c-131.36607665 82.28402758-218.69155461 228.01873535-218.69155402 394.07834331a462.20625001 462.20625001 0 0 0 5.36959153 69.94390903c1.00431239 6.55289093-0.34802892 13.13561351-3.76865779 18.80351572-32.63518765 54.11355614-51.75690182 118.55860487-51.7569018 187.94566865a371.06718723 371.06718723 0 0 0 11.50484808 91.98906777c6.53300375 25.50556257 41.68394495 28.14064038 52.69160883 4.22606766 17.37162448-37.73630017 42.14135425-72.50938081 72.80769204-103.21549295 2.18761121 3.04276886 4.15646224 6.24463696 6.40373557 9.22774369a1871.4375 1871.4375 0 0 0 140.04691725 5.34970492 1866.36093723 1866.36093723 0 0 0 140.04691723-5.34970492c2.24727335-2.98310674 4.21612437-6.18497483 6.3937923-9.2178004 30.66633723 30.70611158 55.4360664 65.4791928 72.80769147 103.21549355 11.00766384 23.91457269 46.15860503 21.27949489 52.69160879-4.22606768a371.15156223 371.15156223 0 0 0 11.514792-91.99901164c0-69.36717486-19.13165746-133.82216804-51.75690182-187.92578088-3.42062944-5.66790279-4.76302748-12.26056868-3.76865837-18.80351632a462.20625001 462.20625001 0 0 0 5.36959269-69.943909c-0.00994388-166.08943902-87.32547796-311.81420293-218.6915546-394.09823051zM605.93803103 357.87693858a93.93749974 93.93749974 0 1 1-187.89594924 6.1e-7 93.93749974 93.93749974 0 0 1 187.89594924-6.1e-7z" p-id="5405" data-v-c6073ba8></path><path d="M429.50777625 765.63860547C429.50777625 803.39355007 466.44236686 1000.39046097 512.00932183 1000.39046097c45.56695499 0 82.4922232-197.00623328 82.5015456-234.7518555 0-37.75494459-36.9345906-68.35043303-82.4922232-68.34111062-45.57627738-0.00932239-82.52019037 30.59548842-82.51086798 68.34111062z" p-id="5406" data-v-c6073ba8></path></svg></div><!----><div></div><div class="kanbanniang" data-v-5775ee02><div class="banniang-container" style="display:;" data-v-5775ee02><div class="messageBox" style="right:68px;bottom:190px;display:none;" data-v-5775ee02>
欢迎来到 Jeskson-微服务分布式
</div> <div class="operation" style="right:90px;bottom:40px;display:none;" data-v-5775ee02><i class="kbnfont kbn-ban-home ban-home" data-v-5775ee02></i> <i class="kbnfont kbn-ban-message message" data-v-5775ee02></i> <i class="kbnfont kbn-ban-close close" data-v-5775ee02></i> <a target="_blank" href="https://vuepress-theme-reco.recoluan.com/views/plugins/kanbanniang.html" data-v-5775ee02><i class="kbnfont kbn-ban-info info" data-v-5775ee02></i></a> <i class="kbnfont kbn-ban-theme skin" style="display:none;" data-v-5775ee02></i></div> <canvas id="banniang" width="150" height="260" class="live2d" style="width:100px;position:fixed;right:0px;bottom:0px;opacity:0.9;z-index:99999;object-fit:cover;" data-v-5775ee02></canvas></div> <div class="showBanNiang" style="display:none;" data-v-5775ee02>
看板娘
</div></div></div></div>
<script src="/JavaPlusDoc/assets/js/app.ff4b1912.js" defer></script><script src="/JavaPlusDoc/assets/js/7.dfc0397a.js" defer></script><script src="/JavaPlusDoc/assets/js/2.cfbace72.js" defer></script><script src="/JavaPlusDoc/assets/js/1.d59a348b.js" defer></script><script src="/JavaPlusDoc/assets/js/83.a00c4a7e.js" defer></script>
</body>
</html>