Skip to content

Commit 6b34170

Browse files
committed
多态是怎么设计的
1 parent 36bad46 commit 6b34170

3 files changed

Lines changed: 141 additions & 147 deletions

File tree

‎README.md‎

Lines changed: 114 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,117 @@
1-
| 语言 | 数据库 | 四大发明 | 面试经验与技巧 | 项目 | 网站推荐 | 工作场景问题 |
2-
| :----------------------------------: | :------------------: | :--------------------: | :----------------------------: | :--------------------------: | :-------------------------: | :--------------------------: |
3-
| [:large_blue_circle:](#1Languages) | [:blob:](#2数据库) | [:book:](#3四大发明) | [:school:](#4面试经验与技巧) | [:person_fencing:](#5项目) | [:satellite:](#6网站推荐) | [:iphone:](#7工作场景问题) |
1+
| 语言 | 数据库 | 四大发明 | 面试经验与技巧 | 项目 | 网站推荐 | 工作场景问题 |
2+
| :----------------------------------: | :---------------------: | :--------------------: | :----------------------------: | :--------------------------: | :-------------------------: | :--------------------------: |
3+
| [:large_blue_circle:](#1Languages) | [:pencil2:](#2数据库) | [:book:](#3四大发明) | [:school:](#4面试经验与技巧) | [:person_fencing:](#5项目) | [:satellite:](#6网站推荐) | [:iphone:](#7工作场景问题) |
44

55
> 间歇性平躺,持续性输出,希望能够成为大神的那一天
66
>
7-
> 学习路线:java基础->开源框架->mysql->算法框架->java源码->中间件与微服务->四大发明->刷题巩固->从0到1的高并发项目
8-
9-
project目前完成度:
10-
11-
* [ ] 1.java基础与JVM书籍(5月中旬)(进度80%,java基础完结)(牛客网)
12-
* [ ] 2.开源框架(6月中旬,mybatis、springboot等,牛客网)(进度:5%)
13-
* [ ] 3.mysql(7月中旬)(牛客网)
14-
* [ ] 4.算法框架(9月中旬)(进度:10%)
15-
* [ ] 5.java源码(10月中旬)(包含jvm,高并发,jdk源码等)
16-
* [ ] 6.中间件与微服务(12月中旬)
17-
* [ ] 7.linux深入理解(2023.2)
18-
* [ ] 7.四大发明(2023.4)
19-
* [ ] 8.刷题巩固(2023.4)(牛客网、LeetCode)
20-
* [ ] 9.从0到1的高并发项目(2023.4)(项目包含爬虫、订单、微服务和并发量压测等)
21-
* [ ] 10.go与python大数据
22-
* [ ] 11.算法
23-
24-
# 1Languages
25-
26-
## 1.1 Java
27-
28-
### 1.1.1 Java基础
29-
30-
### 1.1.2 JVM
31-
32-
### 1.1.3 JDK源码
33-
34-
### 1.1.4 微服务
35-
36-
### 1.1.5 分布式
37-
38-
### 1.1.6 容器化
39-
40-
### 1.1.7 中间价
41-
42-
### 1.1.8 开源框架
43-
44-
### 1.1.9 搜索引擎
45-
46-
### 1.1.10 分布式缓存
47-
48-
## 1.2 Python
49-
50-
### 1.2.1 Python基础
51-
52-
### 1.2.2 大数据
53-
54-
## 1.3 Go
55-
56-
## 1.3 算法
57-
58-
# 2数据库
59-
60-
## 2.1 mysql
61-
62-
### 2.1.1 mysql基础
63-
64-
[Mysql基础知识](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/数据库技术/Mysql基础知识.md)
65-
66-
[MySQL进阶技术](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/数据库技术/MySQL进阶技术.md)
67-
68-
# 3四大发明
69-
70-
## 3.1 数据结构
71-
72-
## 3.2 操作系统
73-
74-
## 3.3 计算机网络
75-
76-
## 3.4 计算机组成原理
77-
78-
# 3 四大发明总览
79-
80-
[数据结构(西安电子科技大学)](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/四大发明总览/JDK的数据结构.md)
81-
82-
[操作系统](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/四大发明总览/操作系统.md)
83-
84-
[计算机组成原理(西安电子科技大学)](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/四大发明总览/计算机组成原理.md)
85-
86-
[计算机网络](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/四大发明总览/计算机网络.md)
87-
88-
# 4面试经验与技巧
89-
90-
[常见的面试笔记](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/面试经验和问题总结/常见的面试笔记.md)
91-
92-
# 5项目
93-
94-
# 6网站推荐
95-
96-
# 7工作场景问题
97-
98-
[每日一题](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/面试经验和问题总结/每日一题.md)
99-
100-
## 相关书籍
101-
102-
[相关书籍连接下载](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/相关书籍连接下载.md)
103-
104-
# 8 待办事项
105-
106-
https://developer.aliyun.com/article/792619 怎么去搭建一个秒杀系统
107-
108-
https://www.cnblogs.com/trunks2008/p/15565671.html java agent
109-
110-
压测分流使用agent好 还是用aop
111-
https://www.jianshu.com/p/63c328ca208d
112-
113-
# 9 参考文献
114-
115-
算法4
7+
> 学习路线:
8+
> java基础->开源框架->mysql->算法框架->java源码->中间件与微服务->四大发明->刷题巩固->从0到1的高并发项目
9+
>
10+
> project目前完成度:
11+
>
12+
> * [ ] 1.java基础与JVM书籍(5月中旬)(进度80%,java基础完结)(牛客网)
13+
> * [ ] 2.开源框架(6月中旬,mybatis、springboot等,牛客网)(进度:5%)
14+
> * [ ] 3.mysql(7月中旬)(牛客网)
15+
> * [ ] 4.算法框架(9月中旬)(进度:40%)(学习了R tree,前缀树,后缀树)
16+
> * [ ] 5.java源码(10月中旬)(包含jvm,高并发,jdk源码等)
17+
> * [ ] 6.中间件与微服务(12月中旬)
18+
> * [ ] 7.linux深入理解(2023.2)
19+
> * [ ] 8.四大发明(2023.4)
20+
> * [ ] 9.刷题巩固(2023.4)(牛客网、LeetCode)
21+
> * [ ] 10.从0到1的高并发项目(2023.4)(项目包含爬虫、订单、微服务和并发量压测等)
22+
> * [ ] 11.go与python大数据
23+
> * [ ] 12.算法
24+
> * [ ] 13.书籍(系统设计、linux内核、系统调优等)
25+
>
26+
> # 1Languages
27+
>
28+
> ## 1.1 Java
29+
>
30+
> ### 1.1.1 Java基础
31+
>
32+
> ### 1.1.2 JVM
33+
>
34+
> ### 1.1.3 JDK源码
35+
>
36+
> ### 1.1.4 微服务
37+
>
38+
> ### 1.1.5 分布式
39+
>
40+
> ### 1.1.6 容器化
41+
>
42+
> ### 1.1.7 中间价
43+
>
44+
> ### 1.1.8 开源框架
45+
>
46+
> ### 1.1.9 搜索引擎
47+
>
48+
> ### 1.1.10 分布式缓存
49+
>
50+
> ## 1.2 Python
51+
>
52+
> ### 1.2.1 Python基础
53+
>
54+
> ### 1.2.2 大数据
55+
>
56+
> ## 1.3 Go
57+
>
58+
> ## 1.3 算法
59+
>
60+
> # 2数据库
61+
>
62+
> ## 2.1 mysql
63+
>
64+
> ### 2.1.1 mysql基础
65+
>
66+
> [Mysql基础知识](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/数据库技术/Mysql基础知识.md)
67+
>
68+
> [MySQL进阶技术](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/数据库技术/MySQL进阶技术.md)
69+
>
70+
> # 3四大发明
71+
>
72+
> ## 3.1 数据结构
73+
>
74+
> ## 3.2 操作系统
75+
>
76+
> ## 3.3 计算机网络
77+
>
78+
> ## 3.4 计算机组成原理
79+
>
80+
> # 3 四大发明总览
81+
>
82+
> [数据结构(西安电子科技大学)](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/四大发明总览/JDK的数据结构.md)
83+
>
84+
> [操作系统](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/四大发明总览/操作系统.md)
85+
>
86+
> [计算机组成原理(西安电子科技大学)](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/四大发明总览/计算机组成原理.md)
87+
>
88+
> [计算机网络](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/四大发明总览/计算机网络.md)
89+
>
90+
> # 4面试经验与技巧
91+
>
92+
> [常见的面试笔记](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/面试经验和问题总结/常见的面试笔记.md)
93+
>
94+
> # 5项目
95+
>
96+
> # 6网站推荐
97+
>
98+
> # 7工作场景问题
99+
>
100+
> [每日一题](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/面试经验和问题总结/每日一题.md)
101+
>
102+
> ## 相关书籍
103+
>
104+
> [相关书籍连接下载](https://github.com/liyuanbo1997/JavaSeniorEngineer/blob/master/相关书籍连接下载.md)
105+
>
106+
> # 8 待办事项
107+
>
108+
> https://developer.aliyun.com/article/792619 怎么去搭建一个秒杀系统
109+
>
110+
> https://www.cnblogs.com/trunks2008/p/15565671.html java agent
111+
>
112+
> 压测分流使用agent好 还是用aop
113+
> https://www.jianshu.com/p/63c328ca208d
114+
>
115+
> # 9 参考文献
116+
>
117+
> 算法4

‎interviewskills/每日一题.md‎

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
* [session和cookies的区别是什么](#session和cookies的区别是什么)
2-
* [前言](#前言)
3-
* [什么是Cookie](#什么是Cookie)
4-
* [查看方法](#查看方法)
5-
* [什么是Session](#什么是Session)
6-
* [它们的区别--总结](#它们的区别总结)
2+
* [前言](#前言)
3+
* [什么是Cookie](#什么是Cookie)
4+
* [查看方法](#查看方法)
5+
* [什么是Session](#什么是Session)
6+
* [它们的区别--总结](#它们的区别总结)
77

88
# 7.12 Session和Cookie的区别是什么
9+
910
## 前言
1011

1112
当用户在浏览器输入一个网址时,会从服务端返回给用户一个页面或者信息。那么**Session**就是浏览器和服务器之间的一次对话,比如浏览器问候“你好吗”,服务端回答:“你好”。
@@ -16,78 +17,72 @@
1617
每次登录我只需在浏览器上查找是否登录过就行,但这种方式是不安全的。因为cookie存在于浏览器端,用户可以随时修改。所以session就出来了,放在服务端,相对安全。
1718

1819
## 什么是Cookie
19-
`Cookie`意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。
20+
21+
`Cookie`意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。
2022
  由于**HTTP**是一种**无状态**的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。
2123
  Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。
2224

2325
  查看某个网站颁发的Cookie很简单。在浏览器地址栏输入`javascript:alert (document. cookie)`就可以了(需要有网才能查看)。
2426

2527
## 什么是Session
2628

27-
**Session**是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而`Session保存在服务器`上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。
29+
**Session**是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而`Session保存在服务器`上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。
2830
  **如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份**。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了
2931

3032
## 查看方法
3133

3234
### 方法一
33-
在浏览器的地址栏输入:`javascript:alert(document.cookie)` (不区分大小写),就会弹出你在当前网页登录的cookie信息。输入时javascript会自动消失,所以需要输入1javascript:alert(document.cookie),然后再删除1。
3435

36+
在浏览器的地址栏输入:`javascript:alert(document.cookie)` (不区分大小写),就会弹出你在当前网页登录的cookie信息。输入时javascript会自动消失,所以需要输入1javascript:alert(document.cookie),然后再删除1。
3537
但这种方式我试过总是不行,不知道是哪里出现问题
3638

3739
### 方法二
38-
按F12进入浏览器的开发者模式——console——在命令行输入javascript:alert(document.cookie),再回车,就可以在浏览器端查看弹出的信息了!
39-
40+
41+
按F12进入浏览器的开发者模式——console——在命令行输入javascript:alert(document.cookie),再回车,就可以在浏览器端查看弹出的信息了!
4042
<img src="https://picturestr.oss-cn-shanghai.aliyuncs.com/img/20200713221426.png" align="center">
41-
42-
### 方法三
4343

44-
在Chrome中查看Cookie:点击url左边的文本图标, 单击cookie
44+
### 方法三
45+
46+
在Chrome中查看Cookie:点击url左边的文本图标, 单击cookie
4547

4648
<img src="https://picturestr.oss-cn-shanghai.aliyuncs.com/img/20200713221338.png" align="center">
47-
49+
4850
## 它们的区别总结
4951

5052
+ 1.保存位置:
51-
session服务端,cookie客户端
52-
53+
session服务端,cookie客户端
5354
+ 2.安全性:
54-
session相对安全,cookie相对不安全。
55-
55+
session相对安全,cookie相对不安全。
5656
+ 3.存储类型:
57-
session能够存储任意的对象,cookie只能存储String类型的对象。
58-
57+
session能够存储任意的对象,cookie只能存储String类型的对象。
5958
+ 4.大小限制:
60-
session没有大小限制,cookie有大小限制(4k)。
61-
59+
session没有大小限制,cookie有大小限制(4k)。
6260
+ 5.个数限制:
63-
session没有个数限制,cookie个数限制(二十到几百个)。
64-
61+
session没有个数限制,cookie个数限制(二十到几百个)。
6562
+ 6.键值对:
66-
session是键值对嵌套键值对,cookie是键值对。
67-
63+
session是键值对嵌套键值对,cookie是键值对。
6864
+ 7.用户禁用:
69-
session不能被用户禁用,cookie能被用户禁用。
70-
65+
session不能被用户禁用,cookie能被用户禁用。
7166
+ 8.服务器压力:
72-
session压力大,cookie压力小。
73-
67+
session压力大,cookie压力小。
7468
+ 9.生命周期:session用户浏览器关闭,cookie可长期保存。
75-
7669
+ 10.区分路径:
77-
session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的.cookie只能是子路径访问父路径设置的cookie。
70+
session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的.cookie只能是子路径访问父路径设置的cookie。
7871

7972
[推荐阅读:cookie和session的详解和区别](https://www.cnblogs.com/l199616j/p/11195667.html)
8073

8174
# 7.13 什么是索引回表,如何避免(索引覆盖)
8275

8376
## 什么是索引?
77+
8478
索引其实可以理解为书中的目录,就像你小时候用新华字典查单词一样,通过首字母依次查找想要的字幕。索引在mysql里面也叫键(key)是存储引擎用于快速快速查找记录的一种数据结构。
8579

8680
索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。
8781

8882
# 7.14 es用过冷热分离吗?假如现在有些数据热变冷,有些数据冷变热,怎么解决?
8983

9084
##
85+
9186
热变冷:
9287
有x台机器tag设置为hot。
9388
有y台机器tag设置为cool。
@@ -99,4 +94,3 @@ es看到有新的标记就会将这个索引迁移到冷集群中, 这都是es
9994
缓存预热。
10095

10196
# 7.15 死锁与活锁的区别,死锁与饥饿的区别?
102-

‎languages/java/basic/basic.md‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,6 @@ try {
396396
* 实现Serializable 接口
397397
* 实现Externalizable 接口
398398

399-
400399
[(2 封私信 / 2 条消息) Java序列化有什么作用?序列化与不序列化有什么区别? - 知乎 (zhihu.com)](https://www.zhihu.com/question/26475281)
401400

402401
继承类 可以继承序列化
@@ -431,7 +430,6 @@ import 导入机制
431430

432431
[Java import的机制_chentong_zhanran的博客-CSDN博客](https://blog.csdn.net/chentong_zhanran/article/details/7270847)
433432

434-
435433
jar是怎么命名的
436434

437435
不同的module引入类需要导入依赖吗

0 commit comments

Comments
 (0)