-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
323 lines (273 loc) · 50.2 KB
/
index.html
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>小沃的博客 - 记录</title><meta name="author" content="xiaowo"><meta name="copyright" content="xiaowo"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="分享点滴,记录生活">
<meta property="og:type" content="website">
<meta property="og:title" content="小沃的博客">
<meta property="og:url" content="http://www.xiaowo.homes/index.html">
<meta property="og:site_name" content="小沃的博客">
<meta property="og:description" content="分享点滴,记录生活">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/blog_avar_img2.jpg">
<meta property="article:author" content="xiaowo">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/blog_avar_img2.jpg"><link rel="shortcut icon" href="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/blog_favicon1.jpg"><link rel="canonical" href="http://www.xiaowo.homes/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
noticeOutdate: {"limitDay":365,"position":"top","messagePrev":"It has been","messageNext":"days since the last update, the content of the article may be outdated."},
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: true,
post: true
},
runtime: '',
dateSuffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: {"limitCount":20,"languages":{"author":"作者: xiaowo","link":"链接: ","source":"来源: 小沃的博客","info":"著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。"}},
lightbox: 'mediumZoom',
Snackbar: undefined,
source: {
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: true,
percent: {
toc: true,
rightside: false,
}
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: '小沃的博客',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2024-07-10 10:11:36'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.getCSS = (url,id = false) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onerror = reject
link.onload = link.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
link.onload = link.onreadystatechange = null
resolve()
}
document.head.appendChild(link)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><link rel="stylesheet" href="/xxx.css"><meta name="generator" content="Hexo 6.3.0"></head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">加载中...</div></div></div><script>const preloader = {
endLoading: () => {
document.body.style.overflow = '';
document.getElementById('loading-box').classList.add("loaded")
},
initLoading: () => {
document.body.style.overflow = 'hidden';
document.getElementById('loading-box').classList.remove("loaded")
}
}
preloader.initLoading()
window.addEventListener('load',()=> { preloader.endLoading() })
if (false) {
document.addEventListener('pjax:send', () => { preloader.initLoading() })
document.addEventListener('pjax:complete', () => { preloader.endLoading() })
}</script><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/blog_avar_img2.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">11</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">17</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">20</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="https://travellings.cn/go.html"><i class="fa-fw fas fa-train"></i><span> 开往</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/blog_index_img1.jpg')"><nav id="nav"><span id="blog-info"><a href="/" title="小沃的博客"><span class="site-name">小沃的博客</span></a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="https://travellings.cn/go.html"><i class="fa-fw fas fa-train"></i><span> 开往</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">小沃的博客</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/xiaowoonly" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left"><a href="/2023/04/11/ThreadPoolExecutor%E5%92%8CThreadPoolTaskExecutor/" title="ThreadPoolExecutor和ThreadPoolTaskExecutor"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover6.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="ThreadPoolExecutor和ThreadPoolTaskExecutor"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/04/11/ThreadPoolExecutor%E5%92%8CThreadPoolTaskExecutor/" title="ThreadPoolExecutor和ThreadPoolTaskExecutor">ThreadPoolExecutor和ThreadPoolTaskExecutor</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2023-04-11T09:55:00.000Z" title="发表于 2023-04-11 17:55:00">2023-04-11</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2023-04-11T09:55:00.000Z" title="更新于 2023-04-11 17:55:00">2023-04-11</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/ThreadPoolExecutor/">ThreadPoolExecutor</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/ThreadPoolExecutor/ThreadPoolTaskExecutor/">ThreadPoolTaskExecutor</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/ThreadPoolExecutor/ThreadPoolTaskExecutor/%E7%BA%BF%E7%A8%8B%E6%B1%A0/">线程池</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/ThreadPoolExecutor/">ThreadPoolExecutor</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/ThreadPoolTaskExecutor/">ThreadPoolTaskExecutor</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/%E7%BA%BF%E7%A8%8B%E6%B1%A0/">线程池</a></span></div><div class="content">ThreadPoolExecutor和ThreadPoolTaskExecutor
ThreadPoolExecutor简介![[Executor.png|800x500]]
这个类是JDK中的线程池类,继承自Executor, Executor 顾名思义是专门用来处理多线程相关的一个接口,所有线程相关的类都实现了这个接口,里面有一个execute()方法,用来执行线程,线程池主要提供一个线程队列,队列中保存着所有等待状态的线程。避免了创建与销毁的额外开销,提高了响应的速度。相关的继承实现类图例如ScheduledThreadPoolExecutor。
线程池接口
ExecutorService为线程池接口,提供了线程池生命周期方法,继承自Executor接口,ThreadPoolExecutor为线程池实现类,提供了线程池的维护操作等相关方法,继承自AbstractExecutorService,AbstractExecutorService实现了ExecutorService接口。
java.util.concurrent.Executor 负责线程的使用和调度的根接口123 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2023/04/06/%E7%BA%BF%E7%A8%8B%E6%B1%A0/" title="线程池"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover8.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="线程池"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/04/06/%E7%BA%BF%E7%A8%8B%E6%B1%A0/" title="线程池">线程池</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2023-04-06T03:10:00.000Z" title="发表于 2023-04-06 11:10:00">2023-04-06</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2023-04-06T03:10:00.000Z" title="更新于 2023-04-06 11:10:00">2023-04-06</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%BA%BF%E7%A8%8B%E6%B1%A0/">线程池</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E7%BA%BF%E7%A8%8B%E6%B1%A0/">线程池</a></span></div><div class="content">线程池
创建线程池调度线程池(ScheduledExecutorService)引入依赖
12345<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version></dependency>
创建
123456// 需要引入commons-lang3依赖ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(1, new BasicThreadFactory .Builder() ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2022/04/01/Docker%E5%91%BD%E4%BB%A4/" title="Docker命令"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover3.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Docker命令"></a></div><div class="recent-post-info"><a class="article-title" href="/2022/04/01/Docker%E5%91%BD%E4%BB%A4/" title="Docker命令">Docker命令</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2022-04-01T02:15:00.000Z" title="发表于 2022-04-01 10:15:00">2022-04-01</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2022-04-01T02:15:00.000Z" title="更新于 2022-04-01 10:15:00">2022-04-01</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Docker/">Docker</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/Docker/Docker%E5%91%BD%E4%BB%A4/">Docker命令</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Docker/">Docker</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/Docker%E5%91%BD%E4%BB%A4/">Docker命令</a></span></div><div class="content">Docker命令
docker top查看一个容器里面的进程信息的
docker load && docker save123456docker save可以把一个镜像保存到tar文件中,你可以这么做docker save registry:2.7.1 >registry-2.7.1.tar同时docker load可以把镜像从tar文件导入到docker中docker load < registry-2.7.1.tar
docker search这个命令可以帮助你在命令行中方便的搜索dockerhub中的镜像
docker events这个命令可以帮助你实时获取docker的各种事件信息,比如创建了一个容器什么的
docker update当你docker run 了之后却发现里面有一些参数并不是你想要的状态比如你设置的nginx容器cpu或者内存太小,这个时候你就可以使用docker update去修改这些参数
docker history当你修改了一个镜像,但是忘记了每一层的修改命令,或者你想查看一个镜像是怎么构建的时候就可以使用这个命令
doc ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2022/03/18/Git%E5%91%BD%E4%BB%A4/" title="SpringBoot - 拦截器(Interceptor)、过滤器(Filter)、监听器(Listener)及AOP"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="SpringBoot - 拦截器(Interceptor)、过滤器(Filter)、监听器(Listener)及AOP"></a></div><div class="recent-post-info"><a class="article-title" href="/2022/03/18/Git%E5%91%BD%E4%BB%A4/" title="SpringBoot - 拦截器(Interceptor)、过滤器(Filter)、监听器(Listener)及AOP">SpringBoot - 拦截器(Interceptor)、过滤器(Filter)、监听器(Listener)及AOP</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2022-03-18T13:25:00.000Z" title="发表于 2022-03-18 21:25:00">2022-03-18</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2022-03-18T13:25:00.000Z" title="更新于 2022-03-18 21:25:00">2022-03-18</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Git/">Git</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/Git/Git%E5%91%BD%E4%BB%A4/">Git命令</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Git/">Git</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/Git%E5%91%BD%E4%BB%A4/">Git命令</a></span></div><div class="content">Git常用命令
Git
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
新建代码库123456# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]
配置Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)
1234567891011121314# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]# 设置提交代码时的用户信息$ git config [--global] user.name "[name]"$ git config [--global] user.email "[email address]"# 颜色设置git config --gl ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2021/01/28/CentOS%E5%AE%89%E8%A3%85Kafka/" title="CentOS安装Kafka"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover2.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="CentOS安装Kafka"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/01/28/CentOS%E5%AE%89%E8%A3%85Kafka/" title="CentOS安装Kafka">CentOS安装Kafka</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-01-28T08:07:24.000Z" title="发表于 2021-01-28 16:07:24">2021-01-28</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-01-29T08:07:24.000Z" title="更新于 2021-01-29 16:07:24">2021-01-29</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/CentOS/">CentOS</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/CentOS/Kafka/">Kafka</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/CentOS/">CentOS</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/tags/Kafka/">Kafka</a></span></div><div class="content">本文主要讲CentOS7下安装Kafka集群
安装vim输入命令
1rpm -qa |grep vim
如果未出现以下安装包
vim-common-7.4.629-8.el7_9.x86_64vim-filesystem-7.4.629-8.el7_9.x86_64vim-enhanced-7.4.629-8.el7_9.x86_64vim-minimal-7.4.629-7.el7.x86_64
则使用命令,安装缺少的
123yum -y install vim-minimalyum -y vim-commonyum -y install vim-enhanced
如果都没有则使用命令
123yum -y install vim-enhanced或者yum -y install vim*
JDK安装安装openjdk
查看服务器上是否已经安装过jdk
12[root@Centos7 ~]# java -version-bash: java: 未找到命令
如果没有则搜索jdk 的yum源,执行yum安装jdk
12yum search java | grep jdkyu ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2021/01/28/IntelliJ-IDEA-%E5%B8%B8%E7%94%A8%E6%8F%92%E4%BB%B6/" title="IntelliJ IDEA 常用插件"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover9.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="IntelliJ IDEA 常用插件"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/01/28/IntelliJ-IDEA-%E5%B8%B8%E7%94%A8%E6%8F%92%E4%BB%B6/" title="IntelliJ IDEA 常用插件">IntelliJ IDEA 常用插件</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-01-28T08:07:24.000Z" title="发表于 2021-01-28 16:07:24">2021-01-28</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-01-29T08:07:24.000Z" title="更新于 2021-01-29 16:07:24">2021-01-29</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/idea%E6%8F%92%E4%BB%B6/">idea插件</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/idea%E6%8F%92%E4%BB%B6/">idea插件</a></span></div><div class="content">为了使我们的开发工具IntelliJ IDEA使用的更加方便顺手,所以我推荐一些好用的插件
.ignoregit提交时过滤掉不需要提交的文件,很方便,有些本地文件是不需要提交到Git上的
activate-power-mode这是一款让你在编码的时候,整个屏幕都为之颤抖的插件
AiXcoder Code CompleterAiXcoder是一个强大的代码完成器和代码搜索引擎,基于最新的深度学习技术。 它有可能向您推荐一整套代码,这将帮助您更快地编写代码。 AiXcoder还提供了一个代码搜索引擎,以帮助您在GitHub上搜索API用例。http://localhost:8788/ 本地启动服务器。
Alibaba Java Code Guidelines阿里代码规约检测插件实现了开发手册中的的 53 条规则,大部分基于 PMD 实现,其中有 4 条规则基于 IDEA 实现,并且基于 IDEA Inspection 实现了实时检测功能。部分规则实现了 Quick Fix 功能。目前,插件检测有两种模式:实时检测、手动触发。参考详细使用文档 还有 阿里巴巴 Java 开发手册(详尽版 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2021/01/28/MySQL%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%E5%88%B0ES7/" title="MySQL数据同步到ES7"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover10.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="MySQL数据同步到ES7"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/01/28/MySQL%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%E5%88%B0ES7/" title="MySQL数据同步到ES7">MySQL数据同步到ES7</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-01-28T08:07:24.000Z" title="发表于 2021-01-28 16:07:24">2021-01-28</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-01-29T08:07:24.000Z" title="更新于 2021-01-29 16:07:24">2021-01-29</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/MySQL%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%E5%88%B0ES/">MySQL数据同步到ES</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/MySQL%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%E5%88%B0ES/">MySQL数据同步到ES</a></span></div><div class="content">本文主要讲述MySQL数据如何同步到ES7
使用go-mysql-elasticsearch开源同步工具简介参考地址
开源工具github地址
go-mysql-elasticsearch的基本原理是:如果是第一次启动该程序,首先使用mysqldump工具对源mysql数据库进行一次全量同步,通过elasticsearch client执行操作写入数据到ES;然后实现了一个mysql client,作为slave连接到源mysql,源mysql作为master会将所有数据的更新操作通过binlog event同步给slave, 通过解析binlog event就可以获取到数据的更新内容,之后写入到ES。
另外,该工具还提供了操作统计的功能,每当有数据增删改操作时,会将对应操作的计数加1,程序启动时会开启一个http服务,通过调用http接口可以查看增删改操作的次数。
使用事项
MySQL binlog必须是ROW模式;
要同步的mysql数据表必须包含主键,否则直接忽略,这是因为如果数据表没有主键,UPDATE和DELETE操作就会因为在ES中找不到对应的document而无法进 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2021/01/28/Spring-Boot%E9%9B%86%E6%88%90Elasticsearch%EF%BC%887-x-%E7%89%88%E6%9C%AC%EF%BC%89/" title="Spring Boot集成Elasticsearch(7.x 版本)实现各种搜索(后续可以再补充)"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover6.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Spring Boot集成Elasticsearch(7.x 版本)实现各种搜索(后续可以再补充)"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/01/28/Spring-Boot%E9%9B%86%E6%88%90Elasticsearch%EF%BC%887-x-%E7%89%88%E6%9C%AC%EF%BC%89/" title="Spring Boot集成Elasticsearch(7.x 版本)实现各种搜索(后续可以再补充)">Spring Boot集成Elasticsearch(7.x 版本)实现各种搜索(后续可以再补充)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-01-28T08:07:24.000Z" title="发表于 2021-01-28 16:07:24">2021-01-28</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-01-29T08:07:24.000Z" title="更新于 2021-01-29 16:07:24">2021-01-29</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Elasticsearch/">Elasticsearch</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/SpringBoot/">SpringBoot</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/SpringBoot/Elasticsearch/">Elasticsearch</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Elasticsearch/">Elasticsearch</a></span></div><div class="content">本文主要讲述了 Spring Boot 如何集成 ElasticSearch 搜索引擎,并使用 ElasticSearch 官方提供的 Java High Level REST Client官方文档 进行 Java 客户端操作
添加依赖在 pom.xml 文件中,添加 ElasticSearch 提供的 Java High Level REST Client 相关依赖。
1234567891011121314151617181920212223<properties> <java.version>1.8</java.version> <elasticsearch.version>7.9.2</elasticsearch.version></properties><!-- ElasticSearch High Level Client --><dependency> <groupId>org.elasticsearch.client</groupId&g ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2021/01/07/%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E8%90%BD%E5%9C%B0%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF/" title="单点登录落地实现技术"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="单点登录落地实现技术"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/01/07/%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E8%90%BD%E5%9C%B0%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF/" title="单点登录落地实现技术">单点登录落地实现技术</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-01-07T13:02:30.000Z" title="发表于 2021-01-07 21:02:30">2021-01-07</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-01-07T13:02:30.000Z" title="更新于 2021-01-07 21:02:30">2021-01-07</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E5%8D%95%E7%82%B9%E7%99%BB%E9%99%86/">单点登陆</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%8D%95%E7%82%B9%E7%99%BB%E9%99%86/">单点登陆</a></span></div><div class="content">单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统(一次访问,到处运行)。
单点登陆通俗的讲就是要解决如何产生和存储那个信任,以及其他系统如何验证这个信任的有效性;
单点登录的要点:1.存储信任;2.服务器生产以及验证信任;3.拿到之后服务器再次验证;
SSO原理SSO体系中的角色
User(多个)
Web应用(多个)
SSO认证中心(1个)
SSO实现模式的原则
所有的认证登录都在SSO认证中心进行;
SSO认证中心通过一些方法来告诉Web应用当前访问用户究竟是不是已通过认证的用户;
SSO 认证中心和所有的 Web 应用建立一种信任关系,也就是说 web 应用必须信任认证中心。(单点信任)
SSO主要实现方式
共享cookies
基于共享同域的cookie是Web刚开始阶段时使用的一种方式,它利用浏览同域名之间自动传递cookies机制,实现两个域名之间系统令牌 传递问题;另外,关于跨域问题,虽然 cookies本身不跨域,但可 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2020/11/28/%E5%90%84%E4%B8%AA%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BAElasticsearch-7-9-2/" title="各个环境搭建Elasticsearch-7.9.2多节点配置"><img class="post-bg" src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover6.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="各个环境搭建Elasticsearch-7.9.2多节点配置"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/11/28/%E5%90%84%E4%B8%AA%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BAElasticsearch-7-9-2/" title="各个环境搭建Elasticsearch-7.9.2多节点配置">各个环境搭建Elasticsearch-7.9.2多节点配置</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-11-28T01:56:40.000Z" title="发表于 2020-11-28 09:56:40">2020-11-28</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-01-07T13:02:30.000Z" title="更新于 2021-01-07 21:02:30">2021-01-07</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Elasticsearch/">Elasticsearch</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/Elasticsearch/">Elasticsearch</a></span></div><div class="content">Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况,elasticsearch官方文档。
Elasticsearch核心概念
接近实时(NRT)
Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)。
集群(cluster)
一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。在产品环境中显式地设定这个名字是一个好习惯,但是使用默认值来进行测试/开发也是不错的。
节点(node)
一个节点是你集群中的一个服务器,作为集群的一部分,它存储你的数据,参与集群的索引和搜索功能。和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随 ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/#content-inner">2</a><a class="extend next" rel="next" href="/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/blog_avar_img2.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">xiaowo</div><div class="author-info__description">分享点滴,记录生活</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">11</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">17</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">20</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xiaowoonly"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/xiaowoonly" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">欢迎来到小沃的博客</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2023/04/11/ThreadPoolExecutor%E5%92%8CThreadPoolTaskExecutor/" title="ThreadPoolExecutor和ThreadPoolTaskExecutor"><img src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover6.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="ThreadPoolExecutor和ThreadPoolTaskExecutor"/></a><div class="content"><a class="title" href="/2023/04/11/ThreadPoolExecutor%E5%92%8CThreadPoolTaskExecutor/" title="ThreadPoolExecutor和ThreadPoolTaskExecutor">ThreadPoolExecutor和ThreadPoolTaskExecutor</a><time datetime="2023-04-11T09:55:00.000Z" title="发表于 2023-04-11 17:55:00">2023-04-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2023/04/06/%E7%BA%BF%E7%A8%8B%E6%B1%A0/" title="线程池"><img src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover8.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="线程池"/></a><div class="content"><a class="title" href="/2023/04/06/%E7%BA%BF%E7%A8%8B%E6%B1%A0/" title="线程池">线程池</a><time datetime="2023-04-06T03:10:00.000Z" title="发表于 2023-04-06 11:10:00">2023-04-06</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/04/01/Docker%E5%91%BD%E4%BB%A4/" title="Docker命令"><img src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover3.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Docker命令"/></a><div class="content"><a class="title" href="/2022/04/01/Docker%E5%91%BD%E4%BB%A4/" title="Docker命令">Docker命令</a><time datetime="2022-04-01T02:15:00.000Z" title="发表于 2022-04-01 10:15:00">2022-04-01</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/03/18/Git%E5%91%BD%E4%BB%A4/" title="SpringBoot - 拦截器(Interceptor)、过滤器(Filter)、监听器(Listener)及AOP"><img src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="SpringBoot - 拦截器(Interceptor)、过滤器(Filter)、监听器(Listener)及AOP"/></a><div class="content"><a class="title" href="/2022/03/18/Git%E5%91%BD%E4%BB%A4/" title="SpringBoot - 拦截器(Interceptor)、过滤器(Filter)、监听器(Listener)及AOP">SpringBoot - 拦截器(Interceptor)、过滤器(Filter)、监听器(Listener)及AOP</a><time datetime="2022-03-18T13:25:00.000Z" title="发表于 2022-03-18 21:25:00">2022-03-18</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/01/28/CentOS%E5%AE%89%E8%A3%85Kafka/" title="CentOS安装Kafka"><img src="https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/default_blog_cover2.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="CentOS安装Kafka"/></a><div class="content"><a class="title" href="/2021/01/28/CentOS%E5%AE%89%E8%A3%85Kafka/" title="CentOS安装Kafka">CentOS安装Kafka</a><time datetime="2021-01-28T08:07:24.000Z" title="发表于 2021-01-28 16:07:24">2021-01-28</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>分类</span>
<a class="card-more-btn" href="/categories/" title="查看更多">
<i class="fas fa-angle-right"></i></a>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/CentOS/"><span class="card-category-list-name">CentOS</span><span class="card-category-list-count">1</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/CentOS/Kafka/"><span class="card-category-list-name">Kafka</span><span class="card-category-list-count">1</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Docker/"><span class="card-category-list-name">Docker</span><span class="card-category-list-count">1</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Docker/Docker%E5%91%BD%E4%BB%A4/"><span class="card-category-list-name">Docker命令</span><span class="card-category-list-count">1</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Elasticsearch/"><span class="card-category-list-name">Elasticsearch</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Git/"><span class="card-category-list-name">Git</span><span class="card-category-list-count">1</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Git/Git%E5%91%BD%E4%BB%A4/"><span class="card-category-list-name">Git命令</span><span class="card-category-list-count">1</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/MySQL%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%E5%88%B0ES/"><span class="card-category-list-name">MySQL数据同步到ES</span><span class="card-category-list-count">1</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/Docker/" style="font-size: 1.1em; color: #999">Docker</a> <a href="/tags/Elasticsearch/" style="font-size: 1.5em; color: #99a9bf">Elasticsearch</a> <a href="/tags/%E7%9B%91%E5%90%AC%E5%99%A8/" style="font-size: 1.1em; color: #999">监听器</a> <a href="/tags/idea%E6%8F%92%E4%BB%B6/" style="font-size: 1.1em; color: #999">idea插件</a> <a href="/tags/Git%E5%91%BD%E4%BB%A4/" style="font-size: 1.1em; color: #999">Git命令</a> <a href="/tags/MySQL%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5%E5%88%B0ES/" style="font-size: 1.1em; color: #999">MySQL数据同步到ES</a> <a href="/tags/CentOS/" style="font-size: 1.1em; color: #999">CentOS</a> <a href="/tags/Docker%E5%91%BD%E4%BB%A4/" style="font-size: 1.1em; color: #999">Docker命令</a> <a href="/tags/SpringBoot/" style="font-size: 1.1em; color: #999">SpringBoot</a> <a href="/tags/ThreadPoolExecutor/" style="font-size: 1.1em; color: #999">ThreadPoolExecutor</a> <a href="/tags/ThreadPoolTaskExecutor/" style="font-size: 1.1em; color: #999">ThreadPoolTaskExecutor</a> <a href="/tags/%E5%8D%95%E7%82%B9%E7%99%BB%E9%99%86/" style="font-size: 1.1em; color: #999">单点登陆</a> <a href="/tags/%E8%BF%87%E6%BB%A4%E5%99%A8/" style="font-size: 1.1em; color: #999">过滤器</a> <a href="/tags/Kafka/" style="font-size: 1.1em; color: #999">Kafka</a> <a href="/tags/Git/" style="font-size: 1.1em; color: #999">Git</a> <a href="/tags/%E6%8B%A6%E6%88%AA%E5%99%A8/" style="font-size: 1.1em; color: #999">拦截器</a> <a href="/tags/%E7%BA%BF%E7%A8%8B%E6%B1%A0/" style="font-size: 1.5em; color: #99a9bf">线程池</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/04/"><span class="card-archive-list-date">四月 2023</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/04/"><span class="card-archive-list-date">四月 2022</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/03/"><span class="card-archive-list-date">三月 2022</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/01/"><span class="card-archive-list-date">一月 2021</span><span class="card-archive-list-count">5</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/11/"><span class="card-archive-list-date">十一月 2020</span><span class="card-archive-list-count">2</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">11</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2024-07-10T02:11:36.176Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('https://pics-go-bucket.oss-cn-hongkong.aliyuncs.com/images/md/blog_index_img1.jpg')"><div id="footer-wrap"><div class="copyright">©2023 - 2024 By xiaowo</div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/medium-zoom/dist/medium-zoom.min.js"></script><div class="js-pjax"><script>window.typedJSFn = {
init: (str) => {
window.typed = new Typed('#subtitle', Object.assign({
strings: str,
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50,
}, null))
},
run: (subtitleType) => {
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://cdn.jsdelivr.net/npm/typed.js/dist/typed.umd.min.js').then(subtitleType)
}
} else {
subtitleType()
}
}
}
</script><script>function subtitleType () {
if (true) {
typedJSFn.init(["Welcome to xiaowo🥝のHome!🤣🤣🤣","Hope you have a nice day!🍭🍭🍭"])
} else {
document.getElementById("subtitle").innerHTML = 'Welcome to xiaowo🥝のHome!🤣🤣🤣'
}
}
typedJSFn.run(subtitleType)</script></div><script src="xxxx"></script><script defer="defer" id="fluttering_ribbon" mobile="true" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/canvas-fluttering-ribbon.min.js"></script><script id="canvas_nest" defer="defer" color="0,0,255" opacity="0.7" zIndex="-1" count="99" mobile="false" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/canvas-nest.min.js"></script><script id="click-heart" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-heart.min.js" async="async" mobile="false"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>