forked from dunwu/java-tutorial
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
71 lines (70 loc) · 39.6 KB
/
index.html
File metadata and controls
71 lines (70 loc) · 39.6 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
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>JAVA-TUTORIAL</title>
<meta name="generator" content="VuePress 1.7.1">
<link rel="icon" href="/java-tutorial/favicon.ico">
<meta name="description" content="Java 教程">
<link rel="preload" href="/java-tutorial/assets/css/0.styles.65c8ce09.css" as="style"><link rel="preload" href="/java-tutorial/assets/js/app.07016b0b.js" as="script"><link rel="preload" href="/java-tutorial/assets/js/4.ce2f3f99.js" as="script"><link rel="preload" href="/java-tutorial/assets/js/10.1454a03e.js" as="script"><link rel="preload" href="/java-tutorial/assets/js/5.beaf686e.js" as="script"><link rel="prefetch" href="/java-tutorial/assets/js/11.f61b4616.js"><link rel="prefetch" href="/java-tutorial/assets/js/12.817c00ec.js"><link rel="prefetch" href="/java-tutorial/assets/js/13.da04dcc2.js"><link rel="prefetch" href="/java-tutorial/assets/js/14.bafeec55.js"><link rel="prefetch" href="/java-tutorial/assets/js/15.d06e0c95.js"><link rel="prefetch" href="/java-tutorial/assets/js/16.006e46f0.js"><link rel="prefetch" href="/java-tutorial/assets/js/17.1a758712.js"><link rel="prefetch" href="/java-tutorial/assets/js/18.822883a1.js"><link rel="prefetch" href="/java-tutorial/assets/js/19.c2435088.js"><link rel="prefetch" href="/java-tutorial/assets/js/20.c4a9e764.js"><link rel="prefetch" href="/java-tutorial/assets/js/21.99a9d5bd.js"><link rel="prefetch" href="/java-tutorial/assets/js/22.dc45f92d.js"><link rel="prefetch" href="/java-tutorial/assets/js/23.5f0347e3.js"><link rel="prefetch" href="/java-tutorial/assets/js/24.32b834b0.js"><link rel="prefetch" href="/java-tutorial/assets/js/25.31b0c1f1.js"><link rel="prefetch" href="/java-tutorial/assets/js/26.213ef6b4.js"><link rel="prefetch" href="/java-tutorial/assets/js/27.e3d6ceeb.js"><link rel="prefetch" href="/java-tutorial/assets/js/28.161200ef.js"><link rel="prefetch" href="/java-tutorial/assets/js/29.3f395da2.js"><link rel="prefetch" href="/java-tutorial/assets/js/30.7f873bd3.js"><link rel="prefetch" href="/java-tutorial/assets/js/31.1cb359e1.js"><link rel="prefetch" href="/java-tutorial/assets/js/32.6483f2fd.js"><link rel="prefetch" href="/java-tutorial/assets/js/33.50f3bbd7.js"><link rel="prefetch" href="/java-tutorial/assets/js/34.ce28b4f6.js"><link rel="prefetch" href="/java-tutorial/assets/js/35.6896a9d6.js"><link rel="prefetch" href="/java-tutorial/assets/js/36.a785a976.js"><link rel="prefetch" href="/java-tutorial/assets/js/37.77e30b25.js"><link rel="prefetch" href="/java-tutorial/assets/js/38.bc8fc6d8.js"><link rel="prefetch" href="/java-tutorial/assets/js/6.10ffc154.js"><link rel="prefetch" href="/java-tutorial/assets/js/7.9cce5f20.js"><link rel="prefetch" href="/java-tutorial/assets/js/8.b19ddf4b.js"><link rel="prefetch" href="/java-tutorial/assets/js/9.3d954868.js"><link rel="prefetch" href="/java-tutorial/assets/js/vendors~flowchart.df386160.js"><link rel="prefetch" href="/java-tutorial/assets/js/vendors~notification.5cedef2c.js">
<link rel="stylesheet" href="/java-tutorial/assets/css/0.styles.65c8ce09.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container no-sidebar"><header class="navbar"><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="/java-tutorial/" aria-current="page" class="home-link router-link-exact-active router-link-active"><img src="images/dunwu-logo-100.png" alt="JAVA-TUTORIAL" class="logo"> <span class="site-name can-hide">JAVA-TUTORIAL</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="工具" class="dropdown-title"><span class="title">工具</span> <span class="arrow down"></span></button> <button type="button" aria-label="工具" class="mobile-dropdown-title"><span class="title">工具</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/java-tutorial/javatool/build/" class="nav-link">
构建
</a></li><li class="dropdown-item"><!----> <a href="/java-tutorial/javatool/ide/" class="nav-link">
IDE
</a></li><li class="dropdown-item"><!----> <a href="/java-tutorial/javatool/monitor/" class="nav-link">
监控
</a></li></ul></div></div><div class="nav-item"><a href="/java-tutorial/javaee/" class="nav-link">
JavaEE
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Java" class="dropdown-title"><span class="title">✨ Java系列</span> <span class="arrow down"></span></button> <button type="button" aria-label="Java" class="mobile-dropdown-title"><span class="title">✨ Java系列</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://dunwu.github.io/java-tutorial/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Java 教程 📚
<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://dunwu.github.io/javacore/" target="_blank" rel="noopener noreferrer" class="nav-link external">
JavaCore 教程 📚
<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://dunwu.github.io/javatech/" target="_blank" rel="noopener noreferrer" class="nav-link external">
JavaTech 教程 📚
<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://dunwu.github.io/spring-tutorial/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Spring 教程 📚
<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://dunwu.github.io/spring-boot-tutorial/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Spring Boot 教程 📚
<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"><a href="https://github.com/dunwu/blog" target="_blank" rel="noopener noreferrer" class="nav-link external">
🎯 博客
<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></div> <a href="https://github.com/dunwu/java-tutorial" target="_blank" rel="noopener noreferrer" class="repo-link">
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></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="工具" class="dropdown-title"><span class="title">工具</span> <span class="arrow down"></span></button> <button type="button" aria-label="工具" class="mobile-dropdown-title"><span class="title">工具</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/java-tutorial/javatool/build/" class="nav-link">
构建
</a></li><li class="dropdown-item"><!----> <a href="/java-tutorial/javatool/ide/" class="nav-link">
IDE
</a></li><li class="dropdown-item"><!----> <a href="/java-tutorial/javatool/monitor/" class="nav-link">
监控
</a></li></ul></div></div><div class="nav-item"><a href="/java-tutorial/javaee/" class="nav-link">
JavaEE
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Java" class="dropdown-title"><span class="title">✨ Java系列</span> <span class="arrow down"></span></button> <button type="button" aria-label="Java" class="mobile-dropdown-title"><span class="title">✨ Java系列</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://dunwu.github.io/java-tutorial/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Java 教程 📚
<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://dunwu.github.io/javacore/" target="_blank" rel="noopener noreferrer" class="nav-link external">
JavaCore 教程 📚
<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://dunwu.github.io/javatech/" target="_blank" rel="noopener noreferrer" class="nav-link external">
JavaTech 教程 📚
<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://dunwu.github.io/spring-tutorial/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Spring 教程 📚
<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://dunwu.github.io/spring-boot-tutorial/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Spring Boot 教程 📚
<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"><a href="https://github.com/dunwu/blog" target="_blank" rel="noopener noreferrer" class="nav-link external">
🎯 博客
<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></div> <a href="https://github.com/dunwu/java-tutorial" target="_blank" rel="noopener noreferrer" class="repo-link">
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></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>Home</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/java-tutorial/#javacore" class="sidebar-link">javacore</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/java-tutorial/#javaee" class="sidebar-link">javaee</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/java-tutorial/#javatech" class="sidebar-link">javatech</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/java-tutorial/#spring-tutorial" class="sidebar-link">spring-tutorial</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/java-tutorial/#spring-boot-tutorial" class="sidebar-link">spring-boot-tutorial</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/java-tutorial/#javatool" class="sidebar-link">javatool</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/java-tutorial/#构建" class="sidebar-link">构建</a></li><li class="sidebar-sub-header"><a href="/java-tutorial/#ide" class="sidebar-link">IDE</a></li><li class="sidebar-sub-header"><a href="/java-tutorial/#监控-诊断" class="sidebar-link">监控/诊断</a></li></ul></li><li><a href="/java-tutorial/#其他技术栈" class="sidebar-link">其他技术栈</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/java-tutorial/#学习资源" class="sidebar-link">学习资源</a><ul class="sidebar-sub-headers"></ul></li></ul></section></li></ul> </aside> <main aria-labelledby="main-title" class="home"><header class="hero"><img src="http://dunwu.test.upcdn.net/common/logo/dunwu-logo.png" alt="hero"> <h1 id="main-title">
JAVA-TUTORIAL
</h1> <p class="description">
☕ java-tutorial 是一个 Java 教程,汇集一个老司机在 Java 领域的十年积累。
</p> <!----></header> <!----> <div class="theme-default-content custom content__default"><blockquote><p>☕ <strong>java-tutorial</strong> 是一个 Java 教程,汇集一个老司机在 Java 领域的十年积累。</p> <ul><li>🔁 项目同步维护:<a href="https://github.com/dunwu/java-tutorial/" target="_blank" rel="noopener noreferrer">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> | <a href="https://gitee.com/turnon/java-tutorial/" target="_blank" rel="noopener noreferrer">Gitee<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>📖 电子书阅读:<a href="https://dunwu.github.io/java-tutorial/" target="_blank" rel="noopener noreferrer">Github Pages<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> | <a href="https://turnon.gitee.io/java-tutorial/" target="_blank" rel="noopener noreferrer">Gitee Pages<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></blockquote> <h2 id="javacore"><a href="#javacore" class="header-anchor">#</a> javacore</h2> <blockquote><p>📚 <a href="https://dunwu.github.io/javacore/" target="_blank" rel="noopener noreferrer">javacore<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> 是一个 Java 核心技术教程。内容包含:Java 基础特性、Java 高级特性、Java 并发、JVM、Java IO 等。</p></blockquote> <h2 id="javaee"><a href="#javaee" class="header-anchor">#</a> javaee</h2> <blockquote><p><a href="/java-tutorial/javaee/">☕ JavaEE</a> 技术是 Java Web 的基石</p></blockquote> <ul><li><a href="/java-tutorial/javaee/javaee-interview.html">JavaEE 面经</a></li> <li><a href="/java-tutorial/javaee/javaee-servlet.html">JavaEE 之 Servlet 指南</a></li> <li><a href="/java-tutorial/javaee/javaee-jsp.html">JavaEE 之 Jsp 指南</a></li> <li><a href="/java-tutorial/javaee/javaee-filter-listener.html">JavaEE 之 Filter 和 Listener</a></li> <li><a href="/java-tutorial/javaee/javaee-cookie-sesion.html">JavaEE 之 Cookie 和 Session</a></li></ul> <h2 id="javatech"><a href="#javatech" class="header-anchor">#</a> javatech</h2> <blockquote><p>📚 <a href="https://dunwu.github.io/javatech/" target="_blank" rel="noopener noreferrer">javatech<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> 是一个 Java 应用技术教程。内容包含 Java 开发中常见应用技术,如:框架、缓存、消息队列、存储、安全、微服务、测试、服务器等。</p></blockquote> <h2 id="spring-tutorial"><a href="#spring-tutorial" class="header-anchor">#</a> spring-tutorial</h2> <blockquote><p>📚 <a href="https://dunwu.github.io/spring-tutorial/" target="_blank" rel="noopener noreferrer">spring-tutorial<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> 是一个 Spring 实战教程。</p></blockquote> <h2 id="spring-boot-tutorial"><a href="#spring-boot-tutorial" class="header-anchor">#</a> spring-boot-tutorial</h2> <blockquote><p>📚 <a href="https://dunwu.github.io/spring-boot-tutorial/" target="_blank" rel="noopener noreferrer">Spring Boot 教程<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> 是一个 Spring Boot 实战教程。</p></blockquote> <h2 id="javatool"><a href="#javatool" class="header-anchor">#</a> javatool</h2> <h3 id="构建"><a href="#构建" class="header-anchor">#</a> 构建</h3> <blockquote><p>Java 项目需要通过 <a href="javatool/build"><strong>构建工具</strong></a> 来管理项目依赖,完成编译、打包、发布、生成 JavaDoc 等任务。</p> <ul><li>目前最主流的构建工具是 Maven,它的功能非常强大。</li> <li>Gradle 号称是要替代 Maven 等构件工具,它的版本管理确实简洁,但是需要学习 Groovy,学习成本比 Maven 高。</li> <li>Ant 功能比 Maven 和 Gradle 要弱,现代 Java 项目基本不用了,但也有一些传统的 Java 项目还在使用。</li></ul></blockquote> <ul><li><a href="javatool/build/maven">Maven</a> 📚
<ul><li><a href="/java-tutorial/javatool/build/maven/maven-quickstart.html">Maven 入门指南</a></li> <li><a href="/java-tutorial/javatool/build/maven/maven-pom.html">Maven 教程之 pom.xml 详解</a></li> <li><a href="/java-tutorial/javatool/build/maven/maven-settings.html">Maven 教程之 settings.xml 详解</a></li> <li><a href="/java-tutorial/javatool/build/maven/maven-action.html">Maven 实战问题和最佳实践</a></li> <li><a href="/java-tutorial/javatool/build/maven/maven-deploy.html">Maven 教程之发布 jar 到私服或中央仓库</a></li> <li><a href="/java-tutorial/javatool/build/maven/maven-checkstyle-plugin.html">Maven 插件之代码检查</a></li></ul></li> <li><a href="/java-tutorial/javatool/build/ant.html">Ant 简易教程</a></li></ul> <h3 id="ide"><a href="#ide" class="header-anchor">#</a> IDE</h3> <blockquote><p>自动有了 <a href="javatool/ide"><strong>IDE</strong></a>,写代码从此就告别了刀耕火种的蛮荒时代。</p> <ul><li><a href="/java-tutorial/javatool/ide/eclipse.html">Eclipse</a> 是久负盛名的开源 Java IDE,我的学生时代一直使用它写 Java。</li> <li>曾经抗拒从转 <a href="/java-tutorial/javatool/ide/intellij-idea.html">Intellij Idea</a> ,但后来发现真香,不得不说,确实是目前最优秀的 Java IDE。</li> <li>你可以在 <a href="/java-tutorial/javatool/ide/vscode.html">vscode</a> 中写各种语言,只要安装相应插件即可。如果你的项目中使用了很多种编程语言,又懒得在多个 IDE 之间切换,那么就用 vscode 来一网打尽吧。</li></ul></blockquote> <ul><li><a href="/java-tutorial/javatool/ide/intellij-idea.html">Intellij Idea</a></li> <li><a href="/java-tutorial/javatool/ide/eclipse.html">Eclipse</a></li> <li><a href="/java-tutorial/javatool/ide/vscode.html">vscode</a></li></ul> <h3 id="监控-诊断"><a href="#监控-诊断" class="header-anchor">#</a> 监控/诊断</h3> <blockquote><p><a href="javatool/monitor">监控/诊断</a> 工具主要用于 Java 应用的运维。通过采集、分析、存储、可视化应用的有效数据,帮助开发者、使用者快速定位问题,找到性能瓶颈。</p></blockquote> <ul><li><a href="/java-tutorial/javatool/monitor/monitor-summary.html">监控工具对比</a></li> <li><a href="/java-tutorial/javatool/monitor/cat.html">CAT</a></li> <li><a href="/java-tutorial/javatool/monitor/zipkin.html">Zipkin</a></li> <li><a href="/java-tutorial/javatool/monitor/skywalking.html">SkyWalking</a></li> <li><a href="/java-tutorial/javatool/monitor/arthas.html">Arthas</a></li></ul> <hr> <h2 id="其他技术栈"><a href="#其他技术栈" class="header-anchor">#</a> 其他技术栈</h2> <ul><li><a href="https://dunwu.github.io/db-tutorial/" target="_blank" rel="noopener noreferrer">db-tutorial<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> - 是对数据库领域开发经验的总结。内容包含:关系型数据库和 Nosql 理论、Mysql、Redis 等。</li> <li><a href="https://dunwu.github.io/algorithm-tutorial/" target="_blank" rel="noopener noreferrer">algorithm-tutorial<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><a href="https://github.com/dunwu/linux-tutorial" target="_blank" rel="noopener noreferrer">linux-tutorial<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> - 是对 Linux 操作系统的经验总结。内容包含:Linux 常用命令;各种常见软件的 Linux 环境安装配置;运维、部署脚本;Shell、Python 语法教程;Git、Docker 教程。</li> <li><a href="https://github.com/dunwu/frontend-tutorial" target="_blank" rel="noopener noreferrer">frontend-tutorial<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> <hr> <h2 id="学习资源"><a href="#学习资源" class="header-anchor">#</a> 学习资源</h2> <ul><li>Java 经典书籍
<ul><li><a href="https://item.jd.com/12507084.html" target="_blank" rel="noopener noreferrer">《Effective Java 中文版》<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> - 本书介绍了在 Java 编程中 78 条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。同推荐《重构 : 改善既有代码的设计》、《代码整洁之道》、《代码大全》,有一定的内容重叠。</li> <li><a href="https://item.jd.com/10922250.html" target="_blank" rel="noopener noreferrer">《Java 并发编程实战》<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> - 本书深入浅出地介绍了 Java 线程和并发,是一本完美的 Java 并发参考手册。</li> <li><a href="https://item.jd.com/11252778.html" target="_blank" rel="noopener noreferrer">《深入理解 Java 虚拟机》<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> - 不去了解 JVM 的工程师,和咸鱼有什么区</li> <li><a href="https://item.jd.com/10476794.html" target="_blank" rel="noopener noreferrer">《Maven 实战》<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> - 国内最权威的 Maven 专家的力作,唯一一本哦!</li></ul></li> <li>其他领域书籍
<ul><li><a href="https://item.jd.com/11486101.html" target="_blank" rel="noopener noreferrer">《Redis 设计与实现》<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> - 系统而全面地描述了 Redis 内部运行机制。图示丰富,描述清晰,并给出大量参考信息,是 NoSQL 数据库开发人员案头必备。</li> <li><a href="https://item.jd.com/12443890.html" target="_blank" rel="noopener noreferrer">《鸟哥的 Linux 私房菜 (基础学习篇)》<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> - 本书是最具知名度的 Linux 入门书《鸟哥的 Linux 私房菜基础学习篇》的最新版,全面而详细地介绍了 Linux 操作系统。内容非常全面,建议挑选和自己实际工作相关度较高的,其他部分有需要再阅读。</li> <li><a href="https://item.jd.com/10100236.html" target="_blank" rel="noopener noreferrer">《Head First 设计模式》<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> - 《Head First 设计模式》(中文版)共有 14 章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部 23 个设计模式。</li> <li><a href="https://item.jd.com/11056556.html" target="_blank" rel="noopener noreferrer">《HTTP 权威指南》<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> - 本书尝试着将 HTTP 中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对 HTTP 各方面的特性进行了介绍。纵观全书,对 HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。</li> <li><a href="https://item.jd.com/11966296.html" target="_blank" rel="noopener noreferrer">《TCP/IP 详解 系列》<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> - 完整而详细的 TCP/IP 协议指南。针对任何希望理解 TCP/IP 协议是如何实现的读者设计。</li> <li><a href="https://item.jd.com/12163054.html" target="_blank" rel="noopener noreferrer">《剑指 Offer:名企面试官精讲典型编程题》<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> - 剖析了 80 个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这 5 个面试要点。</li></ul></li></ul></div> <div class="footer">
CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu
</div></main></div><div class="global-ui"><!----><!----></div></div>
<script src="/java-tutorial/assets/js/app.07016b0b.js" defer></script><script src="/java-tutorial/assets/js/4.ce2f3f99.js" defer></script><script src="/java-tutorial/assets/js/10.1454a03e.js" defer></script><script src="/java-tutorial/assets/js/5.beaf686e.js" defer></script>
</body>
</html>