Skip to content

Commit 59a3742

Browse files
committed
修复错误路径,错别字
1 parent 5ec9025 commit 59a3742

10 files changed

+91
-440
lines changed

ReadMe.md

Lines changed: 15 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,6 @@
1-
本仓库为【Java工程师技术指南力求打造最完整最实用的Java工程师学习指南!
1+
本仓库原为[Java工程师技术指南](https://github.com/h2pl/Java-Tutorial)力求打造最完整最实用的Java工程师学习指南!
22

3-
这些文章和总结都是我近几年学习Java总结和整理出来的,非常实用,对于学习Java后端的朋友来说应该是最全面最完整的技术仓库。
4-
我靠着这些内容进行复习,拿到了BAT等大厂的offer,这个仓库也已经帮助了很多的Java学习者,如果对你有用,希望能给个star支持我,谢谢!
5-
6-
为了更好地讲清楚每个知识模块,我们也参考了很多网上的优质博文,力求不漏掉每一个知识点,所有参考博文都将声明转载来源,如有侵权,请联系我。
7-
8-
点击关注[微信公众号](#微信公众号)及时获取笔主最新更新文章,并可免费领取Java工程师必备学习资源
9-
10-
<p align="center">
11-
<a href="https://github.com/h2pl/Java-Tutorial" target="_blank">
12-
<img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ub3RlLnlvdWRhby5jb20veXdzL3B1YmxpYy9yZXNvdXJjZS8wNjk1ODIwMzc5MjhhMGU0OWViY2UyYjVhODVmM2UwZi94bWxub3RlLzRCNjhFODVCMzA4MzQwMjJCNzBGMTBBMTRDOEVENDVDLzg4MDQ3?x-oss-process=image/format,png" width="200" height="160"/>
13-
</a>
14-
</p>
15-
16-
17-
推荐使用 https://how2playlife.com/ 在线阅读,在线阅读内容本仓库同步一致。这种方式阅读的优势在于:左侧边栏有目录,阅读体验更好。
3+
现 fork 修正错误和更新内容。
184

195

206
## 目录
@@ -81,9 +67,9 @@
8167
* [JavaIO流](docs/java/basic/16、JavaIO流.md)
8268
* [多线程](docs/java/basic/17、多线程.md)
8369
* [深入理解内部类](docs/java/basic/18、深入理解内部类.md)
84-
* [javac和javap](docs/java/basic/19、Java集合框架梳理.md)
85-
* [Java8新特性终极指南](docs/java/basic/20、javac和javap.md)
86-
* [Java类和包](docs/java/basic/21、Java8新特性终极指南.md)
70+
* [Java集合框架梳理](docs/java/basic/19、Java集合框架梳理.md)
71+
* [javac和javap](docs/java/basic/20、javac和javap.md)
72+
* [Java8新特性终极指南](docs/java/basic/21、Java8新特性终极指南.md)
8773
* [序列化和反序列化](docs/java/basic/22、序列化和反序列化.md)
8874
* [继承、封装、多态的实现原理](docs/java/basic/23、继承、封装、多态的实现原理.md)
8975

@@ -212,20 +198,26 @@ todo
212198
## 计算机基础
213199

214200
### 计算机网络
215-
todo
216-
201+
* [计算机网络学习总结](docs/network/计算机网络学习总结.md)
217202

218203
### 操作系统
219-
todo
204+
205+
[操作系统学习总结](docs/operating-system/操作系统学习总结.md)
220206

221207
#### Linux相关
222-
todo
223208

209+
[Linux内核与基础命令学习总结](docs/operating-system/Linux内核与基础命令学习总结.md)
210+
211+
#### 编译原理
212+
213+
todo
224214

225215
### 数据结构与算法
216+
226217
todo
227218

228219
#### 数据结构
220+
229221
todo
230222

231223
#### 算法
@@ -347,29 +339,3 @@ todo
347339

348340
## 待办
349341
springboot和springcloud
350-
351-
## 微信公众号
352-
353-
### Java技术江湖
354-
355-
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!
356-
357-
**Java工程师技术学习资料:** 一些Java工程师常用学习资源,关注公众号后,后台回复关键字 **“Java”** 即可免费无套路获取。
358-
359-
**Java进阶架构师资料:** 关注公众号后回复 **”架构师“** 即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源
360-
361-
![我的公众号](https://img-blog.csdnimg.cn/20190805090108984.jpg)
362-
363-
### 个人公众号:程序员黄小斜
364-
365-
黄小斜是 985 硕士,阿里巴巴Java工程师,在自学编程、技术求职、Java学习等方面有丰富经验和独到见解,希望帮助到更多想要从事互联网行业的程序员们。
366-
367-
作者专注于 JAVA 后端技术栈,热衷于分享程序员干货、学习经验、求职心得,以及自学编程和Java技术栈的相关干货。
368-
369-
黄小斜是一个斜杠青年,坚持学习和写作,相信终身学习的力量,希望和更多的程序员交朋友,一起进步和成长!
370-
371-
**原创电子书:** 关注微信公众号【程序员黄小斜】后回复 **"原创电子书"** 即可领取我原创的电子书《菜鸟程序员修炼手册:从技术小白到阿里巴巴Java工程师》这份电子书总结了我2年的Java学习之路,包括学习方法、技术总结、求职经验和面试技巧等内容,已经帮助很多的程序员拿到了心仪的offer!
372-
373-
**程序员3T技术学习资源:** 一些程序员学习技术的资源大礼包,关注公众号【程序员黄小斜】后,后台回复关键字 **“资料”** 即可免费无套路获取,包括Java、python、C++、大数据、机器学习、前端、移动端等方向的技术资料。
374-
375-
![](https://img-blog.csdnimg.cn/20190829222750556.jpg)

docs/algorithms/剑指offer.md

Lines changed: 53 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ https://github.com/h2pl/SwordToOffer
266266

267267

268268

269+
269270
该算法的时间复杂度是多少呢?考虑最坏情况下,每次 partition 将数组分为长度为 N-1 和 1 的两部分,然后在长的一边继续寻找第 K 大,此时时间复杂度为 O(N^2 )。不过如果在开始之前将数组进行随机打乱,那么可以尽量避免最坏情况的出现。而在最好情况下,每次将数组均分为长度相同的两半,运行时间 T(N) = N + T(N/2),时间复杂度是 O(N)。
270271

271272
所以也就是说,本题用这个方法解的话,复杂度只需要O(n),因为第一次交换需要N/2,j接下来的交换的次数越来越少,最后加起来就是O(N)了。
@@ -304,11 +305,11 @@ https://github.com/h2pl/SwordToOffer
304305

305306

306307
307-
for(int i=0;i<input.length;i++){
308-
if(treeSet.size()<k){
309-
treeSet.add(input[i]);
310-
}
311-
308+
for(int i=0;i<input.length;i++){
309+
if(treeSet.size()<k){
310+
treeSet.add(input[i]);
311+
}
312+
312313
else {
313314

314315
if(input[i]<treeSet.last()){
@@ -565,7 +566,7 @@ LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2
565566

566567

567568
568-
}
569+
}
569570

570571
## 滑动窗口中的最大值
571572

@@ -667,30 +668,30 @@ LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2
667668

668669

669670
670-
public class 替换空格 {
671-
public static String replaceSpace(StringBuffer str) {
672-
int newlen = 0;
673-
for(int i = 0; i < str.length(); i++) {
674-
if(str.charAt(i) == ' ') {
675-
newlen = newlen + 3;
676-
}
677-
else {
678-
newlen ++;
679-
}
680-
}
681-
char []newstr = new char[newlen];
682-
int j = 0;
683-
for(int i = 0 ; i < str.length(); i++) {
684-
if (str.charAt(i) == ' ') {
685-
newstr[j++] = '%';
686-
newstr[j++] = '2';
687-
newstr[j++] = '0';
688-
}else {
689-
newstr[j++] = str.charAt(i);
690-
}
691-
}
692-
return String.valueOf(newstr);
693-
}
671+
public class 替换空格 {
672+
public static String replaceSpace(StringBuffer str) {
673+
int newlen = 0;
674+
for(int i = 0; i < str.length(); i++) {
675+
if(str.charAt(i) == ' ') {
676+
newlen = newlen + 3;
677+
}
678+
else {
679+
newlen ++;
680+
}
681+
}
682+
char []newstr = new char[newlen];
683+
int j = 0;
684+
for(int i = 0 ; i < str.length(); i++) {
685+
if (str.charAt(i) == ' ') {
686+
newstr[j++] = '%';
687+
newstr[j++] = '2';
688+
newstr[j++] = '0';
689+
}else {
690+
newstr[j++] = str.charAt(i);
691+
}
692+
}
693+
return String.valueOf(newstr);
694+
}
694695

695696

696697
## 第一次只出现一次的字符
@@ -1207,30 +1208,30 @@ public static int LastRemaining_Solution(int n, int m) {
12071208

12081209

12091210
1210-
void Mirror(TreeNode root) {
1211-
if(root == null)return;
1212-
Mirror(root.left);
1213-
Mirror(root.right);
1214-
if(root.left!=null || root.right!=null)
1215-
{
1216-
TreeNode temp=root.left;
1217-
root.left=root.right;
1218-
root.right=temp;
1219-
}
1211+
void Mirror(TreeNode root) {
1212+
if(root == null)return;
1213+
Mirror(root.left);
1214+
Mirror(root.right);
1215+
if(root.left!=null || root.right!=null)
1216+
{
1217+
TreeNode temp=root.left;
1218+
root.left=root.right;
1219+
root.right=temp;
1220+
}
12201221

12211222

12221223
1223-
}
1224-
boolean isSameTree(TreeNode t1,TreeNode t2){
1225-
if(t1==null && t2==null)return true;
1226-
else if(t1!=null && t2!=null && t1.val==t2.val) {
1227-
boolean left = isSameTree(t1.left, t2.left);
1228-
boolean right = isSameTree(t1.right, t2.right);
1229-
return left && right;
1230-
}
1231-
else return false;
1232-
}
1233-
1224+
}
1225+
boolean isSameTree(TreeNode t1,TreeNode t2){
1226+
if(t1==null && t2==null)return true;
1227+
else if(t1!=null && t2!=null && t1.val==t2.val) {
1228+
boolean left = isSameTree(t1.left, t2.left);
1229+
boolean right = isSameTree(t1.right, t2.right);
1230+
return left && right;
1231+
}
1232+
else return false;
1233+
}
1234+
12341235
TreeNode copyTree (TreeNode root) {
12351236
if (root == null) return null;
12361237
TreeNode t = new TreeNode(root.val);
@@ -1530,6 +1531,7 @@ public static int LastRemaining_Solution(int n, int m) {
15301531

15311532

15321533

1534+
15331535
注意:但是当arr[left] = arr[right] = arr[min]时。三个数都相等无法确定最小值,此时只能遍历。
15341536

15351537
# 递归

docs/hxx/java/Java工程师修炼之路(校招总结).md

Lines changed: 13 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
# Table of Contents
22

33
* [前言](#前言)
4+
45
* [大学时期的迷茫与坚定](#大学时期的迷茫与坚定)
6+
57
* [研究生时期的探索和规划](#研究生时期的探索和规划)
8+
69
* [我的Java入门之路](#我的java入门之路)
10+
711
* [我的Java进阶之路](#我的java进阶之路)
12+
813
* [我的Java实习之路](#我的java实习之路)
14+
915
* [抉择时刻:实习转正还是秋招](#抉择时刻:实习转正还是秋招)
16+
1017
* [Java修仙之路](#java修仙之路)
18+
1119
* [秋招回忆录](#秋招回忆录)
20+
1221
* [结束也是开始](#结束也是开始)
13-
* [微信公众号](#微信公众号)
14-
* [个人公众号:黄小斜](#个人公众号:黄小斜)
15-
* [技术公众号:Java技术江湖](#技术公众号:java技术江湖)
22+
23+
1624

1725

1826
![](https://mmbiz.qpic.cn/mmbiz_jpg/XHh0SksQZPNibhTicDNtDkY4OicCvkS2Kz25mxuU09hVfia31PnXnTENnN7TE9TtlOic2vrDrGtIswWuouiaToHn3yLQ/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
@@ -175,9 +183,9 @@
175183

176184
**1 阿里面经**  
177185

178-
[阿里中间件研发面经](http://mp.weixin.qq.com/s?__biz=MzUyMDc5MTYxNA==&mid=2247483852&idx=1&sn=9ec90620478b35d63a4a971a2222095d&chksm=f9e5b29dce923b8b2b080151e4b6b78373ee3f3e6f75b69252fc00b1a009d85c6f96944ed6e6&scene=21#wechat_redirect)
186+
[阿里中间件研发面经](../../interview/BATJ-Experience/5面阿里,终获offer.md)
179187

180-
[蚂蚁金服研发面经](http://mp.weixin.qq.com/s?__biz=MzUyMDc5MTYxNA==&mid=2247483861&idx=1&sn=34317917908fdb778f16fa9dd557908b&chksm=f9e5b284ce923b922446fb5431b84094dec03ee4688da9c8de1f025d80eac715cbd9740e8464&scene=21#wechat_redirect)
188+
[蚂蚁金服研发面经](../../interview/BATJ-Experience/蚂蚁金服实习生面经总结.md)
181189

182190
岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。
183191

@@ -250,31 +258,3 @@ SNG的部门捞了我的简历,开始了面试,他们的技术栈主要是Ja
250258
不知道明年我们看待学弟学妹的秋招时,会是怎样的一种心境呢。
251259

252260

253-
# 微信公众号
254-
255-
## 个人公众号:黄小斜
256-
257-
黄小斜是跨考软件工程的 985 硕士,自学 Java 两年,拿到了 BAT 等近十家大厂 offer,从技术小白成长为阿里工程师。
258-
259-
作者专注于 JAVA 后端技术栈,热衷于分享程序员干货、学习经验、求职心得和程序人生,目前黄小斜的CSDN博客有百万+访问量,知乎粉丝2W+,全网已有10W+读者。
260-
261-
黄小斜是一个斜杠青年,坚持学习和写作,相信终身学习的力量,希望和更多的程序员交朋友,一起进步和成长!
262-
263-
**原创电子书:**
264-
关注公众号【黄小斜】后回复【原创电子书】即可领取我原创的电子书《菜鸟程序员修炼手册:从技术小白到阿里巴巴Java工程师》
265-
266-
**程序员3T技术学习资源:** 一些程序员学习技术的资源大礼包,关注公众号后,后台回复关键字 **“资料”** 即可免费无套路获取。
267-
268-
**考研复习资料:**
269-
计算机考研大礼包,都是我自己考研复习时用的一些复习资料,包括公共课和专业的复习视频,这里也推荐给大家,关注公众号后,后台回复关键字 **“考研”** 即可免费获取。
270-
271-
![](https://img-blog.csdnimg.cn/20190829222750556.jpg)
272-
273-
274-
## 技术公众号:Java技术江湖
275-
276-
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!
277-
278-
**Java工程师必备学习资源:** 一些Java工程师常用学习资源,关注公众号后,后台回复关键字 **“Java”** 即可免费无套路获取。
279-
280-
![我的公众号](https://img-blog.csdnimg.cn/20190805090108984.jpg)

docs/hxx/think/copy.md

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
# Table of Contents
22

3-
* [微信公众号](#微信公众号)
4-
* [个人公众号:黄小斜](#个人公众号:黄小斜)
5-
* [技术公众号:Java技术江湖](#技术公众号:java技术江湖)
6-
7-
83

94
新手程序员通常会走入一个误区,就是认为学习了一门语言,就可以称为是某某语言工程师了。但事实上真的是这样吗?其实并非如此。
105

@@ -84,33 +79,3 @@ Java 里有一个概念叫做虚拟机,你可以把它理解为一个安卓的
8479
一口气讲了这么多,算是把 Java 后端的大概面貌介绍清楚了,除此之外还有很多东西没讲到,真要讲完的话一晚上也说不完。
8580

8681
总体来说,Java 后端技术,说难不难说简单也不简单,我尽量把这些内容都讲的比较通俗易懂,事实上每项技术的背后都有特别多复杂的实现原理,当然,在你理解了 Java 后端技术的整体概念以后,相信对于你之后的学习会更有帮助。
87-
88-
89-
# 微信公众号
90-
91-
## 个人公众号:黄小斜
92-
93-
黄小斜是跨考软件工程的 985 硕士,自学 Java 两年,拿到了 BAT 等近十家大厂 offer,从技术小白成长为阿里工程师。
94-
95-
作者专注于 JAVA 后端技术栈,热衷于分享程序员干货、学习经验、求职心得和程序人生,目前黄小斜的CSDN博客有百万+访问量,知乎粉丝2W+,全网已有10W+读者。
96-
97-
黄小斜是一个斜杠青年,坚持学习和写作,相信终身学习的力量,希望和更多的程序员交朋友,一起进步和成长!
98-
99-
**原创电子书:**
100-
关注公众号【黄小斜】后回复【原创电子书】即可领取我原创的电子书《菜鸟程序员修炼手册:从技术小白到阿里巴巴Java工程师》
101-
102-
**程序员3T技术学习资源:** 一些程序员学习技术的资源大礼包,关注公众号后,后台回复关键字 **“资料”** 即可免费无套路获取。
103-
104-
**考研复习资料:**
105-
计算机考研大礼包,都是我自己考研复习时用的一些复习资料,包括公共课和专业的复习视频,这里也推荐给大家,关注公众号后,后台回复关键字 **“考研”** 即可免费获取。
106-
107-
![](https://img-blog.csdnimg.cn/20190829222750556.jpg)
108-
109-
110-
## 技术公众号:Java技术江湖
111-
112-
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!
113-
114-
**Java工程师必备学习资源:** 一些Java工程师常用学习资源,关注公众号后,后台回复关键字 **“Java”** 即可免费无套路获取。
115-
116-
![我的公众号](https://img-blog.csdnimg.cn/20190805090108984.jpg)

0 commit comments

Comments
 (0)