-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathHttpStatus.html
More file actions
402 lines (374 loc) · 160 KB
/
Copy pathHttpStatus.html
File metadata and controls
402 lines (374 loc) · 160 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
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>HttpStatus | 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/505.0e03be2a.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/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/83.a00c4a7e.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" class="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>HttpStatus</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">HttpStatus</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>2020/1/1</span></i> <!----> <!----></div></div> <div class="theme-reco-content content__default"><blockquote><p>点击勘误<a href="https://github.com/webVueBlog/JavaPlusDoc/issues" target="_blank" rel="noopener noreferrer">issues<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>,哪吒感谢大家的阅读</p></blockquote> <img align="right" width="100" src="https://github.com/user-attachments/assets/51a2d7c4-49e0-4413-8756-34f8910fb0e8"> <h2 id="httpstatus"><a href="#httpstatus" class="header-anchor">#</a> HttpStatus</h2> <div class="language-java extra-class"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">enum</span> <span class="token class-name">HttpStatus</span> <span class="token punctuation">{</span>
<span class="token comment">// 1xx Informational</span>
<span class="token function">CONTINUE</span><span class="token punctuation">(</span><span class="token number">100</span><span class="token punctuation">,</span> <span class="token string">"Continue"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">SWITCHING_PROTOCOLS</span><span class="token punctuation">(</span><span class="token number">101</span><span class="token punctuation">,</span> <span class="token string">"Switching Protocols"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">PROCESSING</span><span class="token punctuation">(</span><span class="token number">102</span><span class="token punctuation">,</span> <span class="token string">"Processing"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">CHECKPOINT</span><span class="token punctuation">(</span><span class="token number">103</span><span class="token punctuation">,</span> <span class="token string">"Checkpoint"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">// 2xx Success</span>
<span class="token function">OK</span><span class="token punctuation">(</span><span class="token number">200</span><span class="token punctuation">,</span> <span class="token string">"OK"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">CREATED</span><span class="token punctuation">(</span><span class="token number">201</span><span class="token punctuation">,</span> <span class="token string">"Created"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">ACCEPTED</span><span class="token punctuation">(</span><span class="token number">202</span><span class="token punctuation">,</span> <span class="token string">"Accepted"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">NON_AUTHORITATIVE_INFORMATION</span><span class="token punctuation">(</span><span class="token number">203</span><span class="token punctuation">,</span> <span class="token string">"Non-Authoritative Information"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">NO_CONTENT</span><span class="token punctuation">(</span><span class="token number">204</span><span class="token punctuation">,</span> <span class="token string">"No Content"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">RESET_CONTENT</span><span class="token punctuation">(</span><span class="token number">205</span><span class="token punctuation">,</span> <span class="token string">"Reset Content"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">PARTIAL_CONTENT</span><span class="token punctuation">(</span><span class="token number">206</span><span class="token punctuation">,</span> <span class="token string">"Partial Content"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">MULTI_STATUS</span><span class="token punctuation">(</span><span class="token number">207</span><span class="token punctuation">,</span> <span class="token string">"Multi-Status"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">ALREADY_REPORTED</span><span class="token punctuation">(</span><span class="token number">208</span><span class="token punctuation">,</span> <span class="token string">"Already Reported"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">IM_USED</span><span class="token punctuation">(</span><span class="token number">226</span><span class="token punctuation">,</span> <span class="token string">"IM Used"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">// 3xx Redirection</span>
<span class="token function">MULTIPLE_CHOICES</span><span class="token punctuation">(</span><span class="token number">300</span><span class="token punctuation">,</span> <span class="token string">"Multiple Choices"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">MOVED_PERMANENTLY</span><span class="token punctuation">(</span><span class="token number">301</span><span class="token punctuation">,</span> <span class="token string">"Moved Permanently"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">FOUND</span><span class="token punctuation">(</span><span class="token number">302</span><span class="token punctuation">,</span> <span class="token string">"Found"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">/** @deprecated */</span>
<span class="token annotation punctuation">@Deprecated</span>
<span class="token function">MOVED_TEMPORARILY</span><span class="token punctuation">(</span><span class="token number">302</span><span class="token punctuation">,</span> <span class="token string">"Moved Temporarily"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">SEE_OTHER</span><span class="token punctuation">(</span><span class="token number">303</span><span class="token punctuation">,</span> <span class="token string">"See Other"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">NOT_MODIFIED</span><span class="token punctuation">(</span><span class="token number">304</span><span class="token punctuation">,</span> <span class="token string">"Not Modified"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">/** @deprecated */</span>
<span class="token annotation punctuation">@Deprecated</span>
<span class="token function">USE_PROXY</span><span class="token punctuation">(</span><span class="token number">305</span><span class="token punctuation">,</span> <span class="token string">"Use Proxy"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">TEMPORARY_REDIRECT</span><span class="token punctuation">(</span><span class="token number">307</span><span class="token punctuation">,</span> <span class="token string">"Temporary Redirect"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">PERMANENT_REDIRECT</span><span class="token punctuation">(</span><span class="token number">308</span><span class="token punctuation">,</span> <span class="token string">"Permanent Redirect"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">// 4xx Client Error</span>
<span class="token function">BAD_REQUEST</span><span class="token punctuation">(</span><span class="token number">400</span><span class="token punctuation">,</span> <span class="token string">"Bad Request"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">UNAUTHORIZED</span><span class="token punctuation">(</span><span class="token number">401</span><span class="token punctuation">,</span> <span class="token string">"Unauthorized"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">PAYMENT_REQUIRED</span><span class="token punctuation">(</span><span class="token number">402</span><span class="token punctuation">,</span> <span class="token string">"Payment Required"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">FORBIDDEN</span><span class="token punctuation">(</span><span class="token number">403</span><span class="token punctuation">,</span> <span class="token string">"Forbidden"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">NOT_FOUND</span><span class="token punctuation">(</span><span class="token number">404</span><span class="token punctuation">,</span> <span class="token string">"Not Found"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">METHOD_NOT_ALLOWED</span><span class="token punctuation">(</span><span class="token number">405</span><span class="token punctuation">,</span> <span class="token string">"Method Not Allowed"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">NOT_ACCEPTABLE</span><span class="token punctuation">(</span><span class="token number">406</span><span class="token punctuation">,</span> <span class="token string">"Not Acceptable"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">PROXY_AUTHENTICATION_REQUIRED</span><span class="token punctuation">(</span><span class="token number">407</span><span class="token punctuation">,</span> <span class="token string">"Proxy Authentication Required"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">REQUEST_TIMEOUT</span><span class="token punctuation">(</span><span class="token number">408</span><span class="token punctuation">,</span> <span class="token string">"Request Timeout"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">CONFLICT</span><span class="token punctuation">(</span><span class="token number">409</span><span class="token punctuation">,</span> <span class="token string">"Conflict"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">GONE</span><span class="token punctuation">(</span><span class="token number">410</span><span class="token punctuation">,</span> <span class="token string">"Gone"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">LENGTH_REQUIRED</span><span class="token punctuation">(</span><span class="token number">411</span><span class="token punctuation">,</span> <span class="token string">"Length Required"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">PRECONDITION_FAILED</span><span class="token punctuation">(</span><span class="token number">412</span><span class="token punctuation">,</span> <span class="token string">"Precondition Failed"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">PAYLOAD_TOO_LARGE</span><span class="token punctuation">(</span><span class="token number">413</span><span class="token punctuation">,</span> <span class="token string">"Payload Too Large"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">/** @deprecated */</span>
<span class="token annotation punctuation">@Deprecated</span>
<span class="token function">REQUEST_ENTITY_TOO_LARGE</span><span class="token punctuation">(</span><span class="token number">413</span><span class="token punctuation">,</span> <span class="token string">"Request Entity Too Large"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">URI_TOO_LONG</span><span class="token punctuation">(</span><span class="token number">414</span><span class="token punctuation">,</span> <span class="token string">"URI Too Long"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">/** @deprecated */</span>
<span class="token annotation punctuation">@Deprecated</span>
<span class="token function">REQUEST_URI_TOO_LONG</span><span class="token punctuation">(</span><span class="token number">414</span><span class="token punctuation">,</span> <span class="token string">"Request-URI Too Long"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">UNSUPPORTED_MEDIA_TYPE</span><span class="token punctuation">(</span><span class="token number">415</span><span class="token punctuation">,</span> <span class="token string">"Unsupported Media Type"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">REQUESTED_RANGE_NOT_SATISFIABLE</span><span class="token punctuation">(</span><span class="token number">416</span><span class="token punctuation">,</span> <span class="token string">"Requested range not satisfiable"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">EXPECTATION_FAILED</span><span class="token punctuation">(</span><span class="token number">417</span><span class="token punctuation">,</span> <span class="token string">"Expectation Failed"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">I_AM_A_TEAPOT</span><span class="token punctuation">(</span><span class="token number">418</span><span class="token punctuation">,</span> <span class="token string">"I'm a teapot"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">/** @deprecated */</span>
<span class="token annotation punctuation">@Deprecated</span>
<span class="token function">INSUFFICIENT_SPACE_ON_RESOURCE</span><span class="token punctuation">(</span><span class="token number">419</span><span class="token punctuation">,</span> <span class="token string">"Insufficient Space On Resource"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">/** @deprecated */</span>
<span class="token annotation punctuation">@Deprecated</span>
<span class="token function">METHOD_FAILURE</span><span class="token punctuation">(</span><span class="token number">420</span><span class="token punctuation">,</span> <span class="token string">"Method Failure"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">/** @deprecated */</span>
<span class="token annotation punctuation">@Deprecated</span>
<span class="token function">DESTINATION_LOCKED</span><span class="token punctuation">(</span><span class="token number">421</span><span class="token punctuation">,</span> <span class="token string">"Destination Locked"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">UNPROCESSABLE_ENTITY</span><span class="token punctuation">(</span><span class="token number">422</span><span class="token punctuation">,</span> <span class="token string">"Unprocessable Entity"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">LOCKED</span><span class="token punctuation">(</span><span class="token number">423</span><span class="token punctuation">,</span> <span class="token string">"Locked"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">FAILED_DEPENDENCY</span><span class="token punctuation">(</span><span class="token number">424</span><span class="token punctuation">,</span> <span class="token string">"Failed Dependency"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">TOO_EARLY</span><span class="token punctuation">(</span><span class="token number">425</span><span class="token punctuation">,</span> <span class="token string">"Too Early"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">UPGRADE_REQUIRED</span><span class="token punctuation">(</span><span class="token number">426</span><span class="token punctuation">,</span> <span class="token string">"Upgrade Required"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">PRECONDITION_REQUIRED</span><span class="token punctuation">(</span><span class="token number">428</span><span class="token punctuation">,</span> <span class="token string">"Precondition Required"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">TOO_MANY_REQUESTS</span><span class="token punctuation">(</span><span class="token number">429</span><span class="token punctuation">,</span> <span class="token string">"Too Many Requests"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">REQUEST_HEADER_FIELDS_TOO_LARGE</span><span class="token punctuation">(</span><span class="token number">431</span><span class="token punctuation">,</span> <span class="token string">"Request Header Fields Too Large"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">UNAVAILABLE_FOR_LEGAL_REASONS</span><span class="token punctuation">(</span><span class="token number">451</span><span class="token punctuation">,</span> <span class="token string">"Unavailable For Legal Reasons"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">// 5xx Server Error</span>
<span class="token function">INTERNAL_SERVER_ERROR</span><span class="token punctuation">(</span><span class="token number">500</span><span class="token punctuation">,</span> <span class="token string">"Internal Server Error"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">NOT_IMPLEMENTED</span><span class="token punctuation">(</span><span class="token number">501</span><span class="token punctuation">,</span> <span class="token string">"Not Implemented"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">BAD_GATEWAY</span><span class="token punctuation">(</span><span class="token number">502</span><span class="token punctuation">,</span> <span class="token string">"Bad Gateway"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">SERVICE_UNAVAILABLE</span><span class="token punctuation">(</span><span class="token number">503</span><span class="token punctuation">,</span> <span class="token string">"Service Unavailable"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">GATEWAY_TIMEOUT</span><span class="token punctuation">(</span><span class="token number">504</span><span class="token punctuation">,</span> <span class="token string">"Gateway Timeout"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">HTTP_VERSION_NOT_SUPPORTED</span><span class="token punctuation">(</span><span class="token number">505</span><span class="token punctuation">,</span> <span class="token string">"HTTP Version not supported"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">VARIANT_ALSO_NEGOTIATES</span><span class="token punctuation">(</span><span class="token number">506</span><span class="token punctuation">,</span> <span class="token string">"Variant Also Negotiates"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">INSUFFICIENT_STORAGE</span><span class="token punctuation">(</span><span class="token number">507</span><span class="token punctuation">,</span> <span class="token string">"Insufficient Storage"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">LOOP_DETECTED</span><span class="token punctuation">(</span><span class="token number">508</span><span class="token punctuation">,</span> <span class="token string">"Loop Detected"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">BANDWIDTH_LIMIT_EXCEEDED</span><span class="token punctuation">(</span><span class="token number">509</span><span class="token punctuation">,</span> <span class="token string">"Bandwidth Limit Exceeded"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">NOT_EXTENDED</span><span class="token punctuation">(</span><span class="token number">510</span><span class="token punctuation">,</span> <span class="token string">"Not Extended"</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token function">NETWORK_AUTHENTICATION_REQUIRED</span><span class="token punctuation">(</span><span class="token number">511</span><span class="token punctuation">,</span> <span class="token string">"Network Authentication Required"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token keyword">int</span> value<span class="token punctuation">;</span>
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">String</span> reasonPhrase<span class="token punctuation">;</span>
<span class="token keyword">private</span> <span class="token class-name">HttpStatus</span><span class="token punctuation">(</span><span class="token keyword">int</span> value<span class="token punctuation">,</span> <span class="token class-name">String</span> reasonPhrase<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>value <span class="token operator">=</span> value<span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>reasonPhrase <span class="token operator">=</span> reasonPhrase<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 获取状态码</span>
<span class="token keyword">public</span> <span class="token keyword">int</span> <span class="token function">value</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span>value<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 获取原因短语</span>
<span class="token keyword">public</span> <span class="token class-name">String</span> <span class="token function">getReasonPhrase</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span>reasonPhrase<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 获取状态系列</span>
<span class="token keyword">public</span> <span class="token class-name">Series</span> <span class="token function">series</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token class-name">HttpStatus<span class="token punctuation">.</span>Series</span><span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 判断是否为1xx信息性状态</span>
<span class="token keyword">public</span> <span class="token keyword">boolean</span> <span class="token function">is1xxInformational</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">series</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token class-name">HttpStatus<span class="token punctuation">.</span>Series</span><span class="token punctuation">.</span><span class="token constant">INFORMATIONAL</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 判断是否为2xx成功状态</span>
<span class="token keyword">public</span> <span class="token keyword">boolean</span> <span class="token function">is2xxSuccessful</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">series</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token class-name">HttpStatus<span class="token punctuation">.</span>Series</span><span class="token punctuation">.</span><span class="token constant">SUCCESSFUL</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 判断是否为3xx重定向状态</span>
<span class="token keyword">public</span> <span class="token keyword">boolean</span> <span class="token function">is3xxRedirection</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">series</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token class-name">HttpStatus<span class="token punctuation">.</span>Series</span><span class="token punctuation">.</span><span class="token constant">REDIRECTION</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 判断是否为4xx客户端错误状态</span>
<span class="token keyword">public</span> <span class="token keyword">boolean</span> <span class="token function">is4xxClientError</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">series</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token class-name">HttpStatus<span class="token punctuation">.</span>Series</span><span class="token punctuation">.</span><span class="token constant">CLIENT_ERROR</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 判断是否为5xx服务器错误状态</span>
<span class="token keyword">public</span> <span class="token keyword">boolean</span> <span class="token function">is5xxServerError</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">series</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token class-name">HttpStatus<span class="token punctuation">.</span>Series</span><span class="token punctuation">.</span><span class="token constant">SERVER_ERROR</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 判断是否为错误状态</span>
<span class="token keyword">public</span> <span class="token keyword">boolean</span> <span class="token function">isError</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">is4xxClientError</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">||</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">is5xxServerError</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 转换为字符串</span>
<span class="token keyword">public</span> <span class="token class-name">String</span> <span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span>value <span class="token operator">+</span> <span class="token string">" "</span> <span class="token operator">+</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">name</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 根据状态码获取HttpStatus枚举</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token class-name">HttpStatus</span> <span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token keyword">int</span> statusCode<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token class-name">HttpStatus</span> status <span class="token operator">=</span> <span class="token function">resolve</span><span class="token punctuation">(</span>statusCode<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>status <span class="token operator">==</span> <span class="token keyword">null</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">throw</span> <span class="token keyword">new</span> <span class="token class-name">IllegalArgumentException</span><span class="token punctuation">(</span><span class="token string">"No matching constant for ["</span> <span class="token operator">+</span> statusCode <span class="token operator">+</span> <span class="token string">"]"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> status<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment">// 根据状态码解析HttpStatus枚举</span>
<span class="token annotation punctuation">@Nullable</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token class-name">HttpStatus</span> <span class="token function">resolve</span><span class="token punctuation">(</span><span class="token keyword">int</span> statusCode<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token class-name">HttpStatus</span><span class="token punctuation">[</span><span class="token punctuation">]</span> var1 <span class="token operator">=</span> <span class="token function">values</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">int</span> var2 <span class="token operator">=</span> var1<span class="token punctuation">.</span>length<span class="token punctuation">;</span>
<span class="token keyword">for</span><span class="token punctuation">(</span><span class="token keyword">int</span> var3 <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> var3 <span class="token operator"><</span> var2<span class="token punctuation">;</span> <span class="token operator">++</span>var3<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token class-name">HttpStatus</span> status <span class="token operator">=</span> var1<span class="token punctuation">[</span>var3<span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>status<span class="token punctuation">.</span>value <span class="token operator">==</span> statusCode<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> status<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> <span class="token keyword">null</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 状态系列枚举</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token keyword">enum</span> <span class="token class-name">Series</span> <span class="token punctuation">{</span>
<span class="token comment">// 1xx Informational</span>
<span class="token function">INFORMATIONAL</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">// 2xx Success</span>
<span class="token function">SUCCESSFUL</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">// 3xx Redirection</span>
<span class="token function">REDIRECTION</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">// 4xx Client Error</span>
<span class="token function">CLIENT_ERROR</span><span class="token punctuation">(</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token comment">// 5xx Server Error</span>
<span class="token function">SERVER_ERROR</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token keyword">int</span> value<span class="token punctuation">;</span>
<span class="token keyword">private</span> <span class="token class-name">Series</span><span class="token punctuation">(</span><span class="token keyword">int</span> value<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>value <span class="token operator">=</span> value<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 获取状态系列码</span>
<span class="token keyword">public</span> <span class="token keyword">int</span> <span class="token function">value</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span>value<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 根据HttpStatus获取状态系列</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token class-name">Series</span> <span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token class-name">HttpStatus</span> status<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token function">valueOf</span><span class="token punctuation">(</span>status<span class="token punctuation">.</span>value<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 根据状态码获取状态系列</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token class-name">Series</span> <span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token keyword">int</span> statusCode<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token class-name">Series</span> series <span class="token operator">=</span> <span class="token function">resolve</span><span class="token punctuation">(</span>statusCode<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>series <span class="token operator">==</span> <span class="token keyword">null</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">throw</span> <span class="token keyword">new</span> <span class="token class-name">IllegalArgumentException</span><span class="token punctuation">(</span><span class="token string">"No matching constant for ["</span> <span class="token operator">+</span> statusCode <span class="token operator">+</span> <span class="token string">"]"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> series<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment">// 根据状态码解析状态系列</span>
<span class="token annotation punctuation">@Nullable</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token class-name">Series</span> <span class="token function">resolve</span><span class="token punctuation">(</span><span class="token keyword">int</span> statusCode<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">int</span> seriesCode <span class="token operator">=</span> statusCode <span class="token operator">/</span> <span class="token number">100</span><span class="token punctuation">;</span>
<span class="token class-name">Series</span><span class="token punctuation">[</span><span class="token punctuation">]</span> var2 <span class="token operator">=</span> <span class="token function">values</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">int</span> var3 <span class="token operator">=</span> var2<span class="token punctuation">.</span>length<span class="token punctuation">;</span>
<span class="token keyword">for</span><span class="token punctuation">(</span><span class="token keyword">int</span> var4 <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> var4 <span class="token operator"><</span> var3<span class="token punctuation">;</span> <span class="token operator">++</span>var4<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token class-name">Series</span> series <span class="token operator">=</span> var2<span class="token punctuation">[</span>var4<span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>series<span class="token punctuation">.</span>value <span class="token operator">==</span> seriesCode<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> series<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> <span class="token keyword">null</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div></div></section> <footer class="page-edit"><!----> <!----></footer> <!----> <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/tech/HttpStatus.html#httpstatus" class="sidebar-link reco-side-httpstatus" data-v-b57cc07c>HttpStatus</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/505.0e03be2a.js" defer></script>
</body>
</html>