README.md 14.6 KB
Newer Older
S
SnailClimb 已提交
1
阿里云双11最新活动(仅限阿里云新用户购买,老用户拉新用户可以获得返现红包,后续有机会平分百万红包),优惠力度非常非常非常大,另外加入拼团,后续还有机会平分100w红包!**目前我的战队已经有12位新人了,现在是折上5折了也就是1折购买!!!。** 划重点了: **1核2G云服务器1年仅需99.5元!!!1核2G云服务器3年仅需298.50元!!!一个月仅需8.2元** 该折扣仅限新人!这是我的拼团团队地址:https://m.aliyun.com/act/team1111/#/share?params=N.FF7yxCciiM.hf47liqn !
S
Snailclimb 已提交
2

S
SnailClimb 已提交
3
另外,老用户和新用户可以帮忙拉新,拉新你可以获得什么福利呢?①即时红包,即拆即用(最低红包10元,最高1111元);②瓜分百万红包的机会(目前我的战队已经有29位新人,所以冲进前100的可能性非常大!冲进之后即可瓜分百万红包!)③返现奖励,如果你邀请了新人你会获得返现奖励,返现奖励直接到你的账户!(我希望我的团队最后能够冲进前100,别的不多说!!!诚信!)
S
SnailClimb 已提交
4

5 6
Gitchat 推荐:[Java 程序员必备:并发知识系统总结](https://gitbook.cn/gitchat/activity/5bc2b6af56f0425673d299bb)

S
Snailclimb 已提交
7 8
| Ⅰ  | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ | Ⅶ | Ⅷ | Ⅸ | Ⅹ |
| :--------: | :----------: | :-----------: | :---------: | :---------: | :---------:| :---------: | :-------: | :-------:| :----:|
S
Snailclimb 已提交
9
| [Java](#coffee-Java)  |  [数据结构与算法](#open_file_folder-数据结构与算法)|[计算机网络与数据通信](#computer-计算机网络与数据通信) | [操作系统](#iphone-操作系统)| [主流框架](#pencil2-主流框架)|  [数据存储](#floppy_disk-数据存储)|[架构](#punch-架构)|  [面试必备](#musical_note-面试必备)| [其他](#art-其他)| [说明](#envelope-该开源文档一些说明)|
S
Snailclimb 已提交
10

S
Snailclimb 已提交
11
## :coffee: Java
S
Snailclimb 已提交
12 13 14
-   ### Java/J2EE 基础
    - [Java 基础知识回顾](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/Java基础知识.md)
    - [J2EE 基础知识回顾](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/J2EE基础知识.md)
S
Snailclimb 已提交
15 16
    - [static、final、this、super关键字总结](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/final、static、this、super.md) 
    - [static 关键字详解](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/static.md)   
17
    
S
Snailclimb 已提交
18
-   ### Java 集合框架
S
Snailclimb 已提交
19
    - [这几道Java集合框架面试题几乎必问](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/这几道Java集合框架面试题几乎必问.md)
S
Snailclimb 已提交
20
    - [Java 集合框架常见面试题总结](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/Java集合框架常见面试题总结.md)
S
SnailClimb 已提交
21
    - [ArrayList 源码学习](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/ArrayList.md) 
S
SnailClimb 已提交
22
    - [【面试必备】透过源码角度一步一步带你分析 ArrayList 扩容机制](https://github.com/Snailclimb/JavaGuide/blob/master/Java相关/ArrayList-Grow.md)    
S
Snailclimb 已提交
23
    - [LinkedList 源码学习](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/LinkedList.md)   
S
Snailclimb 已提交
24
    - [HashMap(JDK1.8)源码学习](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/HashMap.md)  
S
Snailclimb 已提交
25
   
S
Snailclimb 已提交
26
-  ### Java 多线程
S
Snailclimb 已提交
27
   - [多线程系列文章](https://github.com/Snailclimb/Java_Guide/blob/master/Java相关/多线程系列.md)
S
SnailClimb 已提交
28
   - [Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比](https://github.com/Snailclimb/Java_Guide/blob/master/Java相关/synchronized.md)
S
Snailclimb 已提交
29

S
Snailclimb 已提交
30 31
- ### Java IO 与 NIO
  - [Java IO 与 NIO系列文章](https://github.com/Snailclimb/Java_Guide/blob/master/Java相关/Java%20IO与NIO.md)
S
Snailclimb 已提交
32

S
Snailclimb 已提交
33
-  ### Java虚拟机(jvm)
S
Snailclimb 已提交
34 35
   - [可能是把Java内存区域讲的最清楚的一篇文章](https://github.com/Snailclimb/Java_Guide/blob/master/Java相关/可能是把Java内存区域讲的最清楚的一篇文章.md)
   - [搞定JVM垃圾回收就是这么简单](https://github.com/Snailclimb/Java_Guide/blob/master/Java相关/搞定JVM垃圾回收就是这么简单.md)
S
Snailclimb 已提交
36
   - [Java虚拟机(jvm)学习与面试](https://github.com/Snailclimb/Java_Guide/blob/master/Java相关/Java虚拟机(jvm).md)
S
Snailclimb 已提交
37
- ### 设计模式
S
Snailclimb 已提交
38
   - [设计模式系列文章](https://github.com/Snailclimb/Java_Guide/blob/master/Java相关/设计模式.md)
S
Snailclimb 已提交
39

S
Snailclimb 已提交
40
## :open_file_folder: 数据结构与算法
S
Snailclimb 已提交
41 42
   
-  ### 数据结构
S
Snailclimb 已提交
43
   - [数据结构知识学习与面试](https://github.com/Snailclimb/Java_Guide/blob/master/数据结构与算法/数据结构.md)
S
Snailclimb 已提交
44

S
Snailclimb 已提交
45

S
Snailclimb 已提交
46
-  ### 算法
S
Snailclimb 已提交
47
   - [算法学习与面试](https://github.com/Snailclimb/Java_Guide/blob/master/数据结构与算法/算法.md)
S
Snailclimb 已提交
48
   
S
Snailclimb 已提交
49
   - [常见安全算法(MD5、SHA1、Base64等等)总结](https://github.com/Snailclimb/Java_Guide/blob/master/数据结构与算法/常见安全算法(MD5、SHA1、Base64等等)总结.md)
S
SnailClimb 已提交
50 51
   - [算法总结——几道常见的子符串算法题 ](https://github.com/Snailclimb/Java_Guide/blob/master/数据结构与算法/搞定BAT面试——几道常见的子符串算法题.md)
   - [算法总结——几道常见的链表算法题 ](https://github.com/Snailclimb/Java_Guide/blob/master/数据结构与算法/Leetcode-LinkList1.md)   
S
Snailclimb 已提交
52

S
Snailclimb 已提交
53
## :computer: 计算机网络与数据通信
S
Snailclimb 已提交
54
- ### 网络相关
S
Snailclimb 已提交
55 56 57
   - [计算机网络常见面试题](https://github.com/Snailclimb/Java_Guide/blob/master/计算机网络与数据通信/计算机网络.md)
   - [计算机网络基础知识总结](https://github.com/Snailclimb/Java_Guide/blob/master/计算机网络与数据通信/干货:计算机网络知识总结.md)
  
58
- ### 数据通信(RESTful、RPC、消息队列)
S
Snailclimb 已提交
59 60
  - [数据通信(RESTful、RPC、消息队列)相关知识点总结](https://github.com/Snailclimb/Java-Guide/blob/master/计算机网络与数据通信/数据通信(RESTful、RPC、消息队列).md)
  
S
Snailclimb 已提交
61 62 63

## :iphone: 操作系统

S
Snailclimb 已提交
64
- ### Linux相关
S
Snailclimb 已提交
65
  - [后端程序员必备的 Linux 基础知识](https://github.com/Snailclimb/Java-Guide/blob/master/操作系统/后端程序员必备的Linux基础知识.md)  
S
Snailclimb 已提交
66

S
Snailclimb 已提交
67
## :pencil2: 主流框架/软件
S
Snailclimb 已提交
68

S
Snailclimb 已提交
69
- ### Spring
S
Snailclimb 已提交
70
  - [Spring 学习与面试](https://github.com/Snailclimb/Java_Guide/blob/master/主流框架/Spring学习与面试.md)
S
SnailClimb 已提交
71
  - [Spring中bean的作用域与生命周期](https://github.com/Snailclimb/Java_Guide/blob/master/主流框架/SpringBean.md)
72
  - [SpringMVC 工作原理详解](https://github.com/Snailclimb/JavaGuide/blob/master/主流框架/SpringMVC%20%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E8%AF%A6%E8%A7%A3.md)
S
Snailclimb 已提交
73
- ### ZooKeeper
S
Snailclimb 已提交
74
  - [可能是把 ZooKeeper 概念讲的最清楚的一篇文章](https://github.com/Snailclimb/Java_Guide/blob/master/主流框架/ZooKeeper.md)
75
  
S
Snailclimb 已提交
76
## :floppy_disk: 数据存储
S
Snailclimb 已提交
77
- ### MySQL
S
Snailclimb 已提交
78
  - [MySQL 学习与面试](https://github.com/Snailclimb/Java_Guide/blob/master/数据存储/MySQL.md)
S
SnailClimb 已提交
79
  - [【思维导图-索引篇】搞定数据库索引就是这么简单](https://github.com/Snailclimb/Java_Guide/blob/master/数据存储/MySQL%20Index.md)
80
- ### Redis
S
SnailClimb 已提交
81 82 83
  - [Redis 总结](https://github.com/Snailclimb/Java_Guide/blob/master/数据存储/Redis/Redis.md)
  - [Redlock分布式锁](https://github.com/Snailclimb/Java_Guide/blob/master/数据存储/Redis/Redlock分布式锁.md)
  - [如何做可靠的分布式锁,Redlock真的可行么](https://github.com/Snailclimb/Java_Guide/blob/master/数据存储/Redis/如何做可靠的分布式锁,Redlock真的可行么.md)\
S
SnailClimb 已提交
84

S
Snailclimb 已提交
85
## :punch: 架构
S
Snailclimb 已提交
86
- ### 分布式相关
S
Snailclimb 已提交
87
    - [分布式学习与面试](https://github.com/Snailclimb/Java_Guide/blob/master/架构/分布式.md)
S
Snailclimb 已提交
88

S
Snailclimb 已提交
89
## :musical_note: 面试必备
S
Snailclimb 已提交
90

S
Snailclimb 已提交
91
- ### 面试必备知识点
S
Snailclimb 已提交
92
    - [面试必备之乐观锁与悲观锁](https://github.com/Snailclimb/Java-Guide/blob/master/面试必备/面试必备之乐观锁与悲观锁.md)
S
Snailclimb 已提交
93 94 95
- ### 最最最常见的Java面试题总结
   这里会分享一些出现频率极其极其高的面试题,初定周更一篇,什么时候更完什么时候停止。
   
S
SnailClimb 已提交
96
    - [第一周(2018-8-7)](https://github.com/Snailclimb/Java-Guide/blob/master/面试必备/最最最常见的Java面试题总结/第一周(2018-8-7).md) (为什么 Java 中只有值传递、==与equals、 hashCode与equals)
S
Snailclimb 已提交
97
    - [第二周(2018-8-13)](https://github.com/Snailclimb/Java-Guide/blob/master/面试必备/最最最常见的Java面试题总结/第二周(2018-8-13).md)(String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的?、什么是反射机制?反射机制的应用场景有哪些?......)
S
Snailclimb 已提交
98
    - [第三周(2018-08-22)](https://github.com/Snailclimb/Java-Guide/blob/master/Java相关/这几道Java集合框架面试题几乎必问.md) (Arraylist 与 LinkedList 异同、ArrayList 与 Vector 区别、HashMap的底层实现、HashMap 和 Hashtable 的区别、HashMap 的长度为什么是2的幂次方、HashSet 和 HashMap 区别、ConcurrentHashMap 和 Hashtable 的区别、ConcurrentHashMap线程安全的具体实现方式/底层具体实现、集合框架底层数据结构总结)
S
Snailclimb 已提交
99
    - [第四周(2018-8-30).md](https://github.com/Snailclimb/Java-Guide/blob/master/面试必备/最最最常见的Java面试题总结/第四周(2018-8-30).md) (主要内容是几道面试常问的多线程基础题。)
S
Snailclimb 已提交
100
- ### 程序员如何写简历
S
Snailclimb 已提交
101
    - [程序员的简历之道](https://github.com/Snailclimb/Java-Guide/blob/master/面试必备/程序员的简历之道.md)
S
Snailclimb 已提交
102
    - [手把手教你用Markdown写一份高质量的简历](https://github.com/Snailclimb/Java-Guide/blob/master/面试必备/手把手教你用Markdown写一份高质量的简历.md)
S
Snailclimb 已提交
103 104 105
    
## :art: 其他  

S
Snailclimb 已提交
106
- ### 个人书单推荐
S
Snailclimb 已提交
107
    - [个人阅读书籍清单](https://github.com/Snailclimb/Java-Guide/blob/master/其他/个人阅读书籍清单.md)  
S
Snailclimb 已提交
108 109

- ### 技术方向选择
S
SnailClimb 已提交
110
    - [选择技术方向都要考虑哪些因素](https://github.com/Snailclimb/Java-Guide/blob/master/其他/选择技术方向都要考虑哪些因素.md) 
S
Snailclimb 已提交
111
    
S
SnailClimb 已提交
112 113 114 115
- ### 2018 年秋招简单回顾
    - [结束了我短暂的秋招,说点自己的感受](https://github.com/Snailclimb/JavaGuide/blob/master/%E5%85%B6%E4%BB%96/2018%20%E7%A7%8B%E6%8B%9B.md) 
 

S
Snailclimb 已提交
116
***
S
Snailclimb 已提交
117

118
> # :envelope: 该开源文档一些说明
S
Snailclimb 已提交
119

S
Snailclimb 已提交
120
## 介绍
S
Snailclimb 已提交
121
该文档主要是笔主在学习Java的过程中的一些学习笔记,但是为了能够涉及到大部分后端学习所需的技术知识点我也会偶尔引用一些别人的优秀文章的链接。
S
Snailclimb 已提交
122
该文档涉及的主要内容包括: Java、 数据结构与算法、计算机网络与数据通信、 操作系统、主流框架、数据存储、架构、面试必备知识点等等。相信不论你是前端还是后端都能在这份文档中收获到东西。
S
Snailclimb 已提交
123
## 关于转载
S
Snailclimb 已提交
124

S
Snailclimb 已提交
125 126
**如果需要引用到本仓库的一些东西,必须注明转载地址!!!毕竟大多都是手敲的,或者引用的是我的原创文章,希望大家尊重一下作者的劳动**:smiley::smiley::smiley:!

S
Snailclimb 已提交
127 128 129 130 131 132
## 如何对该开源文档进行贡献

1. 笔记内容大多是手敲,所以难免会有笔误。
2. 你对其他知识点的补充。

## 为什么要做这个开源文档?
S
Snailclimb 已提交
133

S
Snailclimb 已提交
134
在我们学习Java的时候,很多人会面临我不知道继续学什么或者面试会问什么的尴尬情况(我本人之前就很迷茫:smile:)。所以,我决定通过这个开源平台来帮助一些有需要的人,通过下面的内容,你会掌握系统的Java学习以及面试的相关知识。本来是想通过Gitbook的形式来制作的,后来想了想觉得可能有点大题小做 :grin: 。另外,我自己一个人的力量毕竟有限,希望各位有想法的朋友可以提issue。
S
Snailclimb 已提交
135

S
Snailclimb 已提交
136
## 最后
S
Snailclimb 已提交
137

S
Snailclimb 已提交
138
本人会利用业余时间一直更新下去,目前还有很多地方不完善,一些知识点我会原创总结,还有一些知识点如果说网上有比较好的文章了,我会把这些文章加入进去。您也可以关注我的微信公众号:“Java面试通关手册”,我会在这里分享一些自己的原创文章。 另外该文档格式参考:[Github Markdown格式](https://guides.github.com/features/mastering-markdown/),表情素材来自:[EMOJI CHEAT SHEET](https://www.webpagefx.com/tools/emoji-cheat-sheet/)
S
Snailclimb 已提交
139

S
SnailClimb 已提交
140 141 142 143 144 145 146 147 148 149 150
## 阿里云活动推荐

阿里云双11最新活动(仅限阿里云新用户购买,老用户拉新用户可以获得返现红包,后续有机会平分百万红包),优惠力度非常非常非常大,另外加入拼团,后续还有几乎平分100w红包!划重点了:1核2G云服务器1年仅需99.5元!!!该折扣仅限新人!这是我的拼团团队地址:https://m.aliyun.com/act/team1111/#/share?params=N.FF7yxCciiM.hf47liqn (如果还有不懂的可以加我微信:bwcx9393 咨询) 举个栗子:以原价1020元的云服务器ECS(t5 1c2g+1M+40G高效云盘) 为例,双11新用户专享价为199元,如果您成功拉一个新人拼团,您和团员都将享受折上9折优惠,199*90%=179.1元,将返还您和团员每人19.9元。随着您拉新人数增多,享受折扣将不断叠加, 当您参加的团中有6个及以上新用户时,您和团员即可享受折上5折优惠,即199元的云服务器再打5折,可享受99.5元的优惠价,将返还您和团员购买价减去99.5元的差价。希望大家加入拼团之后尽自己力量邀请时候身边的阿里云新人参团,这样你可以获得最高1111的红包,而且后面如果团队拉的新人在前100名的话就可以平分100w红包。老用户也可以选择参加下面的活动!

> 阿里云技术有保障,在云服务技术上远远领先于国内其他云服务提供商。大家或者公司如果需要用到云服务器的话,推荐阿里云服务器,下面是阿里云目前正在做的一些活动,错过这波,后续可能多花很多钱:

1. [全民云计算:ECS云服务器2折起,1核1G仅需293元/年](https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=hf47liqn)
2. [高性能企业级性能云服务器限时2折起,2核4G仅需720元/年](https://promotion.aliyun.com/ntms/act/enterprise-discount.html?userCode=hf47liqn)
3. [拉1人拼团,立享云服务器¥234/年](https://promotion.aliyun.com/ntms/act/vmpt/aliyun-group/home.html?spm=5176.8849694.home.4.27a24b70kENhtV&userCode=hf47liqn)
4. [最高¥1888云产品通用代金券](https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=hf47liqn) 
5. [阿里云建站服务](https://promotion.aliyun.com/ntms/act/jianzhanquan.html?userCode=hf47liqn)(企业官网、电商网站,多种可供选择模板,代金券免费领取)
S
Snailclimb 已提交
151

S
Snailclimb 已提交
152

S
Snailclimb 已提交
153
**你若盛开,清风自来。 欢迎关注我的微信公众号:“Java面试通关手册”,一个有温度的微信公众号。公众号有大量资料,回复关键字“1”你可能看到想要的东西哦!:**
S
Snailclimb 已提交
154

S
Snailclimb 已提交
155
![](http://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-8-17/29079091.jpg)