Skip to content

Commit 5dbd712

Browse files
committed
日志打印规范、SQL优化专题
1 parent 19fc8db commit 5dbd712

35 files changed

Lines changed: 824 additions & 1369 deletions

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
- [在国企做开发,是什么样的体验](https://topjavaer.cn/career-plan/guoqi-programmer.html)
7979
- [工作两年多,技术水平没有很大提升,该怎么办](https://topjavaer.cn/zsxq/question/2-years-tech-no-upgrade.html)
8080
- [24届校招,Java开发和大数据开发怎么选](https://topjavaer.cn/zsxq/question/java-or-bigdata.html)
81+
- [新人如何快速的熟悉新项目](https://topjavaer.cn/zsxq/question/familiarize-new-project-qucikly.html)
8182

8283
# 副业指南
8384

‎docs/.vuepress/navbar.ts‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export default navbar([
4949
{text: "SpringBoot面试题", link: "/framework/springboot.md"},
5050
{text: "SpringCloud详解", link: "/framework/springcloud/"},
5151
{text: "SpringCloud面试题", link: "/framework/springcloud-interview.md"},
52+
{text: "ZooKeeper面试题", link: "/zookeeper/zk.md"},
5253
{text: "Netty详解", link: "/framework/netty/"},
5354
]
5455
},
@@ -74,6 +75,7 @@ export default navbar([
7475
children: [
7576
{text: "Redis基础", link: "/redis/redis-basic/"},
7677
{text: "Redis面试题", link: "/redis/redis.md"},
78+
{text: "MongoDB面试题", link: "/database/mongodb.md"},
7779
{text: "ElasticSearch面试题", link: "https://mp.weixin.qq.com/s/Ffb8NDgavf9QAWYBm0qAVg"},
7880
]
7981
},
@@ -82,6 +84,7 @@ export default navbar([
8284
icon: "computer",
8385
children: [
8486
{text: "网络", link: "/computer-basic/network.md"},
87+
{text: "TCP专题", link: "/computer-basic/tcp.md"},
8588
{text: "操作系统", link: "/computer-basic/operate-system.md"},
8689
{text: "算法", link: "/computer-basic/algorithm.md"},
8790
{text: "LeetCode题解", link: "/leetcode/hot120"},

docs/distributed/article/distributed-lock.md renamed to docs/advance/distributed/article/distributed-lock.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
---
2+
sidebar: heading
3+
title: 分布式锁
4+
category: 分布式
5+
tag:
6+
- 分布式ID
7+
head:
8+
- - meta
9+
- name: keywords
10+
content: 分布式锁,Redis分布式锁,zookeeper分布式锁,redlock
11+
- - meta
12+
- name: description
13+
content: 分布式锁常见面试题总结,让天下没有难背的八股文!
14+
---
15+
116
## 分布式锁怎么实现?
217

318
一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?
@@ -333,4 +348,4 @@ public class ZooKeeperDistributedLock implements Watcher {
333348

334349

335350

336-
参考链接:https://doocs.github.io/advanced-java
351+
参考链接:https://doocs.github.io/advanced-java

‎docs/advance/excellent-article/14-architect-forward.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ head:
1919

2020
十多年前主流的应用架构都是单体应用,部署形式就是一台服务器加一个数据库,在这种架构下,运维人员会小心翼翼地维护这台服务器,以保证服务的可用性。
2121

22-
![](http://img.topjavaer.cn/img/架构演进1.png)
22+
![](http://img.topjavaer.cn/img/20230329074204.png)
2323

2424
#### 单体应用架构面临的问题
2525

2626
随着业务的增长,这种最简单的单体应用架构很快就面临两个问题。首先,这里只有一台服务器,如果这台服务器出现故障,例如硬件损坏,那么整个服务就会不可用;其次,业务量变大之后,一台服务器的资源很快会无法承载所有流量。
2727

2828
解决这两个问题最直接的方法就是在流量入口加一个负载均衡器,使单体应用同时部署到多台服务器上,这样服务器的单点问题就解决了,与此同时,这个单体应用也具备了水平伸缩的能力。
2929

30-
![单体架构(水平伸缩)](http://img.topjavaer.cn/img/架构演进2.png)
30+
![](http://img.topjavaer.cn/img/20230329074220.png)
3131

3232
### 微服务架构
3333

@@ -43,7 +43,7 @@ head:
4343

4444
除分布式环境带来的挑战之外,微服务架构给运维也带来新挑战。研发人员原来只需要运维一个应用,现在可能需要运维十个甚至更多的应用,这意味着安全 patch 升级、容量评估、故障诊断等事务的工作量呈现成倍增长,这时,应用分发标准、生命周期标准、观测标准、自动化弹性等能力的重要性也更加凸显。
4545

46-
![](http://img.topjavaer.cn/img/微服务架构.png)
46+
![](http://img.topjavaer.cn/img/20230329074233.png)
4747

4848
### 云原生
4949

‎docs/advance/excellent-article/18-db-connect-resource.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,5 @@ conn.close();
107107

108108
总之,数据库连接真的很耗时,所以不要频繁的**建立连接**。
109109

110+
111+

‎docs/advance/excellent-article/29-idempotent-design.md‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
---
2+
sidebar: heading
3+
title: 接口的幂等性如何设计?
4+
category: 优质文章
5+
tag:
6+
- Spring Boot
7+
head:
8+
- - meta
9+
- name: keywords
10+
content: 接口幂等,幂等性
11+
- - meta
12+
- name: description
13+
content: 努力打造最优质的Java学习网站
14+
---
115
## 接口的幂等性如何设计?
216

317
分布式系统中的某个接口,该如何保证幂等性?
@@ -16,4 +30,4 @@
1630

1731
实际运作过程中,你要结合自己的业务来,比如说利用 Redis,用 orderId 作为唯一键。只有成功插入这个支付流水,才可以执行实际的支付扣款。
1832

19-
要求是支付一个订单,必须插入一条支付流水,order_id 建一个唯一键 unique key 。你在支付一个订单之前,先插入一条支付流水,order_id 就已经进去了。你就可以写一个标识到 Redis 里面去, set order_id payed ,下一次重复请求过来了,先查 Redis 的 order_id 对应的 value,如果是 payed 就说明已经支付过了,就别重复支付了。
33+
要求是支付一个订单,必须插入一条支付流水,order_id 建一个唯一键 unique key 。你在支付一个订单之前,先插入一条支付流水,order_id 就已经进去了。你就可以写一个标识到 Redis 里面去, set order_id payed ,下一次重复请求过来了,先查 Redis 的 order_id 对应的 value,如果是 payed 就说明已经支付过了,就别重复支付了。

‎docs/advance/excellent-article/9-jvm-optimize-param.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ head:
2020

2121
X或者XX开头的都是非标准化参数
2222

23-
![](http://img.topjavaer.cn/img/jvm参数1.png)
23+
![](http://img.topjavaer.cn/img/20230327084105.png)
2424

2525
意思就是说标准化参数不会变,非标准化参数可能在每个`JDK`版本中有所变化,但是就目前来看X开头的非标准化的参数改变的也是非常少。
2626

@@ -31,7 +31,7 @@ X或者XX开头的都是非标准化参数
3131

3232
`-XX:+PrintCommandLineFlags`查看当前`JVM`设置过的相关参数:
3333

34-
![](http://img.topjavaer.cn/img/jvm参数2.png)
34+
![](http://img.topjavaer.cn/img/20230327084121.png)
3535

3636
## JVM参数分类
3737

‎docs/advance/system-design/2-order-timeout-auto-cancel.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ tag:
77
head:
88
- - meta
99
- name: keywords
10-
content: 场景设计面试题,订单超时自动取消,场景设计
10+
content: 场景设计面试题,订单取消设计,订单自动取消,订单设计
1111
- - meta
1212
- name: description
1313
content: 场景设计常见面试题总结,让天下没有难背的八股文!
1414
---
1515

1616
# 订单30分钟未支付自动取消怎么实现?
1717

18-
推荐大家加入我的[**学习圈**](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247491988&idx=1&sn=a7d50c0994cbfdede312715b393daa8a&scene=21#wechat_redirect),目前已经有100多位小伙伴加入了,下面有50元的**优惠券**,**扫描二维码**领取优惠券加入(**即将恢复原价**)。
18+
推荐大家加入我的[**学习圈**](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247491988&idx=1&sn=a7d50c0994cbfdede312715b393daa8a&scene=21#wechat_redirect),目前已经有**300**多位小伙伴加入了,下方有50元的**优惠券**,**扫描二维码**领取优惠券加入(**即将恢复原价**)。
1919

2020
学习圈提供以下这些**服务**:
2121

‎docs/campus-recruit/company/1-shanghai-it-company.md‎

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
---
2+
sidebar: heading
3+
title: 上海互联网公司汇总
4+
category: 分享
5+
tag:
6+
- 资讯
7+
head:
8+
- - meta
9+
- name: keywords
10+
content: 上海互联网公司
11+
- - meta
12+
- name: description
13+
content: 上海互联网公司汇总
14+
---
15+
16+
117
今年互联网整体行情不容乐观,不好找工作,因此我整理了一些比较靠谱的互联网公司,希望大家少踩坑 。
218

319
本期先整理**上海**的互联网公司,后续会整理其他地区的,敬请期待!
@@ -159,4 +175,4 @@
159175

160176
**物流运输**
161177

162-
- **满帮**(上海分公司,长宁天山路,运满满,互联网物流)
178+
- **满帮**(上海分公司,长宁天山路,运满满,互联网物流)

‎docs/campus-recruit/program-language/java-or-c++.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
---
22
sidebar: heading
3+
title: Java和C++怎么选?
4+
category: 分享
5+
tag:
6+
- 职业规划
7+
head:
8+
- - meta
9+
- name: keywords
10+
content: java和c++,语言选择
11+
- - meta
12+
- name: description
13+
content: 努力打造最优质的Java学习网站
314
---
415

516
# Java和C++怎么选?

0 commit comments

Comments
 (0)