-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
140 lines (133 loc) · 52 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
<!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"><title>Hofe's blog</title><meta name="description" content="个人博客"><meta name="author" content="hofe"><meta name="copyright" content="hofe"><meta name="format-detection" content="telephone=no"><link rel="shortcut icon" href="/img/favicon.ico"><meta http-equiv="Cache-Control" content="no-transform"><meta http-equiv="Cache-Control" content="no-siteapp"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="http://ta.qq.com"/><link rel="preconnect" href="https://fonts.googleapis.com" crossorigin="crossorigin"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta name="baidu-site-verification" content="JoP76yOkd4"/><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Hofe's blog"><meta name="twitter:description" content="个人博客"><meta name="twitter:image" content="http://hofe.work/img/avatar.png"><meta property="og:type" content="website"><meta property="og:title" content="Hofe's blog"><meta property="og:url" content="http://hofe.work/"><meta property="og:site_name" content="Hofe's blog"><meta property="og:description" content="个人博客"><meta property="og:image" content="http://hofe.work/img/avatar.png"><script src="https://cdn.jsdelivr.net/npm/js-cookie/dist/js.cookie.min.js"></script><script>var autoChangeMode = 'false'
var t = Cookies.get("theme")
if (autoChangeMode == '1'){
var isDarkMode = window.matchMedia("(prefers-color-scheme: dark)").matches
var isLightMode = window.matchMedia("(prefers-color-scheme: light)").matches
var isNotSpecified = window.matchMedia("(prefers-color-scheme: no-preference)").matches
var hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified
if (t === undefined){
if (isLightMode) activateLightMode()
else if (isDarkMode) activateDarkMode()
else if (isNotSpecified || hasNoSupport){
console.log('You specified no preference for a color scheme or your browser does not support it. I Schedule dark mode during night time.')
var now = new Date()
var hour = now.getHours()
var isNight = hour < 6 || hour >= 18
isNight ? activateDarkMode() : activateLightMode()
}
} else if (t == 'light') activateLightMode()
else activateDarkMode()
} else if (autoChangeMode == '2'){
now = new Date();
hour = now.getHours();
isNight = hour < 6 || hour >= 18
if(t === undefined) isNight? activateDarkMode() : activateLightMode()
else if (t === 'light') activateLightMode()
else activateDarkMode()
} else {
if ( t == 'dark' ) activateDarkMode()
else if ( t == 'light') activateLightMode()
}
function activateDarkMode(){
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null){
document.querySelector('meta[name="theme-color"]').setAttribute('content','#000')
}
}
function activateLightMode(){
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null){
document.querySelector('meta[name="theme-color"]').setAttribute('content','#fff')
}
}</script><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@latest/css/font-awesome.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css"><link rel="canonical" href="http://hofe.work/"><script async="async" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script>(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: 'ca-pub-4088686103083456',
enable_page_level_ads: 'true'
});</script><script src="https://tajs.qq.com/stats?sId=66539762" charset="UTF-8"></script><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Titillium+Web"><script>var GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"search.xml","languages":{"hits_empty":"找不到您查询的内容:${query}"}},
translate: {"defaultEncoding":2,"translateDelay":0,"cookieDomain":"http://hofe.work","msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"簡"},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
bookmark: {
message_prev: '按',
message_next: '键将本页加入书签'
},
runtime_unit: '天',
runtime: false,
copyright: undefined,
ClickShowText: undefined,
medium_zoom: true,
fancybox: true,
Snackbar: {"bookmark":{"message_prev":"按","message_next":"键将本页加入书签"},"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式","night_to_day":"你已切换为浅色模式","bgLight":"#49b1f5","bgDark":"#2d3035","position":"bottom-left"},
baiduPush: false,
highlightCopy: true,
highlightLang: true,
highlightShrink: 'false',
isFontAwesomeV5: false,
isPhotoFigcaption: false
}</script><script>var GLOBAL_CONFIG_SITE = {
isPost: false,
isHome: true,
isSidebar: false
}</script><noscript><style>
#page-header {
opacity: 1
}
.justified-gallery img{
opacity: 1
}
</style></noscript><meta name="generator" content="Hexo 4.2.0"></head><body><div id="mobile-sidebar"><div id="menu_mask"></div><div id="mobile-sidebar-menus"><div class="mobile_author_icon"><img class="avatar-img" src="/img/avatar.png" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="mobile_post_data"><div class="mobile_data_item is-center"><div class="mobile_data_link"><a href="/archives/"><div class="headline">文章</div><div class="length_num">65</div></a></div></div><div class="mobile_data_item is-center"> <div class="mobile_data_link"><a href="/tags/"><div class="headline">标签</div><div class="length_num">61</div></a></div></div><div class="mobile_data_item is-center"> <div class="mobile_data_link"><a href="/categories/"><div class="headline">分类</div><div class="length_num">45</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fa fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fa fa-clock-o"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/messageboard/"><i class="fa-fw fa fa-comments-o"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/album/"><i class="fa-fw fa fa-camera"></i><span> 相册</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fa fa-info-circle"></i><span> 关于</span></a></div></div></div></div><div id="body-wrap"><div class="full_page" id="nav" style="background-image: url(/img/index.jpg)"><div id="page-header"><span class="pull_left" id="blog_name"><a class="blog_title" id="site-name" href="/">Hofe's blog</a></span><span class="pull_right menus"><div id="search_button"><a class="site-page social-icon search"><i class="fa fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fa fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fa fa-clock-o"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/messageboard/"><i class="fa-fw fa fa-comments-o"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/album/"><i class="fa-fw fa fa-camera"></i><span> 相册</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fa fa-info-circle"></i><span> 关于</span></a></div></div><span class="toggle-menu close"><a class="site-page"><i class="fa fa-bars fa-fw" aria-hidden="true"></i></a></span></span></div><div id="site-info"><h1 id="site_title">Hofe's blog</h1><div id="site_subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/hhf443" target="_blank" title="Github"><i class="fa fa-github" aria-hidden="true"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fa fa-envelope" aria-hidden="true"></i></a><a class="social-icon" href="/atom.xml" target="_blank" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i></a></div></div><div id="scroll_down"><i class="fa fa-angle-down scroll-down-effects"></i></div></div><main class="layout_page" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/06/22/Android/%E6%A1%86%E6%9E%B6/Dagger2%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98/" title="Dagger2 入门实战"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625150059.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Dagger2 入门实战"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/22/Android/%E6%A1%86%E6%9E%B6/Dagger2%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98/" title="Dagger2 入门实战">Dagger2 入门实战</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-25 16:48:42"><i class="fa fa-history" aria-hidden="true"></i>2020-06-25</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/">Android</a><i class="fa fa-angle-right" aria-hidden="true"></i><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/%E6%A1%86%E6%9E%B6/">框架</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fa fa-tag article-meta__icon" aria-hidden="true"></i><a class="article-meta__tags" href="/tags/Dagger2/">Dagger2</a></span></div><div class="content">
看了网上很多篇关于Dagger2的入门文章,说真的对新手而言很难看懂,由于自己也是刚学习Dagger2,所以这篇文章站在初学者的角度编写完成。
参考如下文章:https://www.jianshu.com/p/c7caadaf28af
简单依赖首先,先来看看为引入Dagger2之前,我们是在怎么 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/06/20/Android/%E6%A1%86%E6%9E%B6/MVP%E6%9E%B6%E6%9E%84%E6%A8%A1%E5%BC%8F/" title="Android/框架/MVP架构模式"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625164345.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Android/框架/MVP架构模式"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/20/Android/%E6%A1%86%E6%9E%B6/MVP%E6%9E%B6%E6%9E%84%E6%A8%A1%E5%BC%8F/" title="Android/框架/MVP架构模式">Android/框架/MVP架构模式</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-20 23:45:07"><i class="fa fa-history" aria-hidden="true"></i>2020-06-20</time></div><div class="content">
这个MVP架构模式还真是让人难受的很,学一门技术果然最重要的是学习模式,想起来当初学服务端开发也是MVC一学完就明白了整个服务端的工作原理,但这个MVP怎么这么难:joy_cat:。我建议可以跟着写,只看不写可能会很乱。
网上讲MVP已经讲得很详细了,这篇文章就侧重于实现方面。
先来看看怎么组织 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/06/20/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/RecycleView%E7%9A%84%E4%BD%BF%E7%94%A8/" title="Android/《第一行代码》学习笔记/RecycleView的使用"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625145806.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Android/《第一行代码》学习笔记/RecycleView的使用"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/20/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/RecycleView%E7%9A%84%E4%BD%BF%E7%94%A8/" title="Android/《第一行代码》学习笔记/RecycleView的使用">Android/《第一行代码》学习笔记/RecycleView的使用</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-20 17:37:35"><i class="fa fa-history" aria-hidden="true"></i>2020-06-20</time></div><div class="content">使用Fragment新建布局文件,命名fragment_item_list
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/a ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/06/20/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E5%BC%82%E6%AD%A5%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86%E6%9C%BA%E5%88%B6/" title="异步消息处理机制"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625150059.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="异步消息处理机制"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/20/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E5%BC%82%E6%AD%A5%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86%E6%9C%BA%E5%88%B6/" title="异步消息处理机制">异步消息处理机制</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-25 16:51:54"><i class="fa fa-history" aria-hidden="true"></i>2020-06-25</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/">Android</a><i class="fa fa-angle-right" aria-hidden="true"></i><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E7%AC%94%E8%AE%B0/">《第一行代码》笔记</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fa fa-tag article-meta__icon" aria-hidden="true"></i><a class="article-meta__tags" href="/tags/Android/">Android</a></span></div><div class="content">由于安卓UI是线程不安全的,因此需要放在主线程中运行,但这又可能引起阻塞,于是引入异步消息处理机制来解决在子线程中更新UI的问题。
一、Handle机制核心思想:在主线程中重写handleMessage方法接收来自子线程的Message消息,并在handleMessage方法中进行UI更新。
And ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/06/19/%E9%A1%B9%E7%9B%AE/%E5%BE%AE%E7%9B%B4%E6%92%ADApp/" title="项目/微直播App"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625150059.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="项目/微直播App"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/19/%E9%A1%B9%E7%9B%AE/%E5%BE%AE%E7%9B%B4%E6%92%ADApp/" title="项目/微直播App">项目/微直播App</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-19 17:03:54"><i class="fa fa-history" aria-hidden="true"></i>2020-06-19</time></div><div class="content">响应式编程我理解的响应式编程是指一连串关联的事件,当你改变其中一个事件状态时,后续的所有事件都会受到影响,自动变化。
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/06/19/Android/Android%E9%87%8D%E8%A6%81%E7%9F%A5%E8%AF%86%E7%82%B9/" title="Android/Android重要知识点"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625164345.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Android/Android重要知识点"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/19/Android/Android%E9%87%8D%E8%A6%81%E7%9F%A5%E8%AF%86%E7%82%B9/" title="Android/Android重要知识点">Android/Android重要知识点</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-19 11:49:16"><i class="fa fa-history" aria-hidden="true"></i>2020-06-19</time></div><div class="content">handler的消息机制;
message的复用;
looper是如何实现;
嵌套滑动如何解决。
LinearLayout weight是如何计算;
traceview优化,如何写;
inc time跟cpu time有什么区别;
在地图上加载数据如何优化。
Android Activity生命周期 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/06/18/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E5%AE%89%E5%8D%93%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/" title="Android开发小技巧"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625150442.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Android开发小技巧"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/18/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E5%AE%89%E5%8D%93%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/" title="Android开发小技巧">Android开发小技巧</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-25 16:51:16"><i class="fa fa-history" aria-hidden="true"></i>2020-06-25</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/">Android</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fa fa-tag article-meta__icon" aria-hidden="true"></i><a class="article-meta__tags" href="/tags/Android/">Android</a></span></div><div class="content">Android命名规范类的命名遵循大驼峰命名法 UpperCamelCase,而方法名和变量名的命名遵循小驼峰命名法 lowerCamelCase。常量名使用大写字母表示,单词之间以下划线分隔,例如 static final int CONNECTION_TIMEOUT= 10000.
布局文件的命 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/06/17/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/UI%E5%BC%80%E5%8F%91/" title="UI开发"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625150442.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="UI开发"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/17/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/UI%E5%BC%80%E5%8F%91/" title="UI开发">UI开发</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-25 16:48:35"><i class="fa fa-history" aria-hidden="true"></i>2020-06-25</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/">Android</a><i class="fa fa-angle-right" aria-hidden="true"></i><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/UI/">UI</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fa fa-tag article-meta__icon" aria-hidden="true"></i><a class="article-meta__tags" href="/tags/UI/">UI</a></span></div><div class="content">属性android:layout_width和android:layout_height指定了控件的宽度和高度。
可选值有3种:match parent、 fill parent和 wrap content。
其中 match parent和fill parent的意义相同,现在官方更加推荐使用 m ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2020/06/16/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6%E4%B9%8BActivity/" title="四大组件之Activity"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625164345.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="四大组件之Activity"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/16/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6%E4%B9%8BActivity/" title="四大组件之Activity">四大组件之Activity</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-25 16:51:48"><i class="fa fa-history" aria-hidden="true"></i>2020-06-25</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/">Android</a><i class="fa fa-angle-right" aria-hidden="true"></i><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/Activity/">Activity</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fa fa-tag article-meta__icon" aria-hidden="true"></i><a class="article-meta__tags" href="/tags/Activity/">Activity</a></span></div><div class="content">活动一、生命周期 Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈( Back Stack)。栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置。而每当我们按下Back键或调用 fi ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2020/06/16/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/Android%E5%85%A5%E9%97%A8%E5%9F%BA%E7%A1%80/" title="Android入门基础"> <img class="post_bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625145806.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Android入门基础"></a></div><div class="recent-post-info"><a class="article-title" href="/2020/06/16/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/Android%E5%85%A5%E9%97%A8%E5%9F%BA%E7%A1%80/" title="Android入门基础">Android入门基础</a><div class="article-meta-wrap"><time class="post-meta__date" title="更新于 2020-06-25 16:52:02"><i class="fa fa-history" aria-hidden="true"></i>2020-06-25</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/">Android</a><i class="fa fa-angle-right" aria-hidden="true"></i><i class="fa fa-inbox article-meta__icon" aria-hidden="true"></i><a class="article-meta__categories" href="/categories/Android/%E5%9F%BA%E7%A1%80/">基础</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fa fa-tag article-meta__icon" aria-hidden="true"></i><a class="article-meta__tags" href="/tags/Android/">Android</a></span></div><div class="content">一、文件结构要学好一门技术,项目的组织形式一定要清楚,知道每个文件夹下应该放什么文件,每个文件的作用又是什么。如果自己搭建项目的话,文件目录又该怎样组件化、模块化。搞懂这一点对开发项目是非常重要的。
gradle和idea这两个目录下放置的都是 Android Studio自动生成的一些文件,不需 ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><span class="space">…</span><a class="page-number" href="/page/7/">7</a><a class="extend next" rel="next" href="/page/2/"><i class="fa fa-fw fa-chevron-right" aria-hidden="true"></i></a></div></nav></div><div class="aside_content" id="aside_content"><div class="card-widget card-info"><div class="card-content"><div class="card-info-avatar is-center"><img class="avatar-img" src="/img/avatar.png" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">hofe</div><div class="author-info__description">个人博客</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives"><div class="headline">文章</div><div class="length_num">65</div></a></div><div class="card-info-data-item is-center"> <a href="/tags"><div class="headline">标签</div><div class="length_num">61</div></a></div><div class="card-info-data-item is-center"> <a href="/categories"><div class="headline">分类</div><div class="length_num">45</div></a></div></div><div class="card-info-bookmark is-center"><a class="bookmark button--primary button--animated" id="bookmark-it" href="javascript:;" title="加入书签" target="_self"><i class="fa fa-bookmark" aria-hidden="true"></i><span>加入书签</span></a></div><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/hhf443" target="_blank" title="Github"><i class="fa fa-github" aria-hidden="true"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fa fa-envelope" aria-hidden="true"></i></a><a class="social-icon" href="/atom.xml" target="_blank" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i></a></div></div></div><div class="card-widget card-announcement"><div class="card-content"><div class="item-headline"><i class="fa fa-bullhorn card-announcement-animation" aria-hidden="true"></i><span>公告</span></div><div class="announcement_content">感谢访问本站,若喜欢请收藏 ^_^</div></div></div><div class="card-widget card-recent-post"><div class="card-content"><div class="item-headline"><i class="fa fa-history" aria-hidden="true"></i><span>最新文章</span></div><div class="aside-recent-item"> <div class="aside-recent-post"><a href="/2020/06/22/Android/%E6%A1%86%E6%9E%B6/Dagger2%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98/"><div class="aside-post-cover"><img class="aside-post-bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625150059.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="Dagger2 入门实战" alt="Dagger2 入门实战"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2020/06/22/Android/%E6%A1%86%E6%9E%B6/Dagger2%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98/" title="Dagger2 入门实战">Dagger2 入门实战</div><time class="aside-post_meta post-meta__date" title="发表于 2020-06-22 10:41:27">2020-06-22</time></div></a></div><div class="aside-recent-post"><a href="/2020/06/20/Android/%E6%A1%86%E6%9E%B6/MVP%E6%9E%B6%E6%9E%84%E6%A8%A1%E5%BC%8F/"><div class="aside-post-cover"><img class="aside-post-bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625164345.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="Android/框架/MVP架构模式" alt="Android/框架/MVP架构模式"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2020/06/20/Android/%E6%A1%86%E6%9E%B6/MVP%E6%9E%B6%E6%9E%84%E6%A8%A1%E5%BC%8F/" title="Android/框架/MVP架构模式">Android/框架/MVP架构模式</div><time class="aside-post_meta post-meta__date" title="发表于 2020-06-20 20:52:23">2020-06-20</time></div></a></div><div class="aside-recent-post"><a href="/2020/06/20/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/RecycleView%E7%9A%84%E4%BD%BF%E7%94%A8/"><div class="aside-post-cover"><img class="aside-post-bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625145806.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="Android/《第一行代码》学习笔记/RecycleView的使用" alt="Android/《第一行代码》学习笔记/RecycleView的使用"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2020/06/20/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/RecycleView%E7%9A%84%E4%BD%BF%E7%94%A8/" title="Android/《第一行代码》学习笔记/RecycleView的使用">Android/《第一行代码》学习笔记/RecycleView的使用</div><time class="aside-post_meta post-meta__date" title="发表于 2020-06-20 16:00:07">2020-06-20</time></div></a></div><div class="aside-recent-post"><a href="/2020/06/20/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E5%BC%82%E6%AD%A5%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86%E6%9C%BA%E5%88%B6/"><div class="aside-post-cover"><img class="aside-post-bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625150059.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="异步消息处理机制" alt="异步消息处理机制"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2020/06/20/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E5%BC%82%E6%AD%A5%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86%E6%9C%BA%E5%88%B6/" title="异步消息处理机制">异步消息处理机制</div><time class="aside-post_meta post-meta__date" title="发表于 2020-06-20 14:40:27">2020-06-20</time></div></a></div><div class="aside-recent-post"><a href="/2020/06/19/%E9%A1%B9%E7%9B%AE/%E5%BE%AE%E7%9B%B4%E6%92%ADApp/"><div class="aside-post-cover"><img class="aside-post-bg lazyload" data-src="https://gitee.com/hofe/graph/raw/master/img/20200625150059.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="项目/微直播App" alt="项目/微直播App"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2020/06/19/%E9%A1%B9%E7%9B%AE/%E5%BE%AE%E7%9B%B4%E6%92%ADApp/" title="项目/微直播App">项目/微直播App</div><time class="aside-post_meta post-meta__date" title="发表于 2020-06-19 16:50:42">2020-06-19</time></div></a></div></div></div></div><div class="card-widget card-categories"><div class="card-content"><div class="item-headline"><i class="fa fa-folder-open" aria-hidden="true"></i><span>分类</span></div><ul class="aside-category-item"> <li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Android/"><span class="aside-category-list_name">Android</span><span class="aside-category-list_length">6</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Android/Activity/"><span class="aside-category-list_name">Activity</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Android/UI/"><span class="aside-category-list_name">UI</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Android/%E3%80%8A%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E3%80%8B%E7%AC%94%E8%AE%B0/"><span class="aside-category-list_name">《第一行代码》笔记</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Android/%E5%9F%BA%E7%A1%80/"><span class="aside-category-list_name">基础</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Android/%E6%A1%86%E6%9E%B6/"><span class="aside-category-list_name">框架</span><span class="aside-category-list_length">1</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/"><span class="aside-category-list_name">Java</span><span class="aside-category-list_length">15</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/IO/"><span class="aside-category-list_name">IO</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/JVM/"><span class="aside-category-list_name">JVM</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/List/"><span class="aside-category-list_name">List</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/Map/"><span class="aside-category-list_name">Map</span><span class="aside-category-list_length">2</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/Spring/"><span class="aside-category-list_name">Spring</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/SpringBoot/"><span class="aside-category-list_name">SpringBoot</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/%E5%9F%BA%E7%A1%80/"><span class="aside-category-list_name">基础</span><span class="aside-category-list_length">4</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/%E5%A4%9A%E7%BA%BF%E7%A8%8B/"><span class="aside-category-list_name">多线程</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/"><span class="aside-category-list_name">设计模式</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Java/%E9%94%81/"><span class="aside-category-list_name">锁</span><span class="aside-category-list_length">2</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Python/"><span class="aside-category-list_name">Python</span><span class="aside-category-list_length">3</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/Python/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/"><span class="aside-category-list_name">数据分析</span><span class="aside-category-list_length">3</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%88%86%E5%B8%83%E5%BC%8F/"><span class="aside-category-list_name">分布式</span><span class="aside-category-list_length">3</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%88%86%E5%B8%83%E5%BC%8F/MQ/"><span class="aside-category-list_name">MQ</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%88%86%E5%B8%83%E5%BC%8F/%E7%A7%92%E6%9D%80/"><span class="aside-category-list_name">秒杀</span><span class="aside-category-list_length">1</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%90%8E%E7%AB%AF%E6%A1%86%E6%9E%B6/"><span class="aside-category-list_name">后端框架</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%B7%A5%E5%85%B7/"><span class="aside-category-list_name">工具</span><span class="aside-category-list_length">3</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%B7%A5%E5%85%B7/Git/"><span class="aside-category-list_name">Git</span><span class="aside-category-list_length">2</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%B7%A5%E5%85%B7/markdown/"><span class="aside-category-list_name">markdown</span><span class="aside-category-list_length">1</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/"><span class="aside-category-list_name">微服务</span><span class="aside-category-list_length">4</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/Dubbo/"><span class="aside-category-list_name">Dubbo</span><span class="aside-category-list_length">1</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/Dubbo/%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98/"><span class="aside-category-list_name">入门实战</span><span class="aside-category-list_length">1</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/Spring-Cloud/"><span class="aside-category-list_name">Spring Cloud</span><span class="aside-category-list_length">3</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/Spring-Cloud/%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98/"><span class="aside-category-list_name">入门实战</span><span class="aside-category-list_length">3</span></a></li></ul></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/"><span class="aside-category-list_name">数据库</span><span class="aside-category-list_length">5</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/MySQL/"><span class="aside-category-list_name">MySQL</span><span class="aside-category-list_length">2</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/Oracle/"><span class="aside-category-list_name">Oracle</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/Redis/"><span class="aside-category-list_name">Redis</span><span class="aside-category-list_length">2</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/"><span class="aside-category-list_name">数据结构与算法</span><span class="aside-category-list_length">11</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E7%AE%97%E6%B3%95/"><span class="aside-category-list_name">算法</span><span class="aside-category-list_length">2</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E7%BD%91%E7%BB%9C/"><span class="aside-category-list_name">网络</span><span class="aside-category-list_length">4</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E7%BD%91%E7%BB%9C/HTTP/"><span class="aside-category-list_name">HTTP</span><span class="aside-category-list_length">2</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E7%BD%91%E7%BB%9C/HTTPS/"><span class="aside-category-list_name">HTTPS</span><span class="aside-category-list_length">1</span></a></li><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E7%BD%91%E7%BB%9C/TCP-IP/"><span class="aside-category-list_name">TCP/IP</span><span class="aside-category-list_length">1</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E9%9B%86%E7%BE%A4/"><span class="aside-category-list_name">集群</span><span class="aside-category-list_length">1</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E9%9B%86%E7%BE%A4/docker/"><span class="aside-category-list_name">docker</span><span class="aside-category-list_length">1</span></a></li></ul><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E9%A1%B9%E7%9B%AE/"><span class="aside-category-list_name">项目</span><span class="aside-category-list_length">3</span></a></li><ul class="aside-category-item child"><li class="aside-category-list"><a class="aside-category-list_link" href="/categories/%E9%A1%B9%E7%9B%AE/%E5%B0%8F%E7%A8%8B%E5%BA%8F/"><span class="aside-category-list_name">小程序</span><span class="aside-category-list_length">1</span></a></li></ul></ul></div></div><div class="card-widget card-tags"><div class="card-content"><div class="item-headline"><i class="fa fa-tags" aria-hidden="true"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/AQS/" style="font-size: 16px; color: #999">AQS</a> <a href="/tags/Activity/" style="font-size: 16px; color: #999">Activity</a> <a href="/tags/Android/" style="font-size: 21.33px; color: #99a4b2">Android</a> <a href="/tags/ArrayList/" style="font-size: 16px; color: #999">ArrayList</a> <a href="/tags/C/" style="font-size: 16px; color: #999">C</a> <a href="/tags/ConcurrentHashMap/" style="font-size: 16px; color: #999">ConcurrentHashMap</a> <a href="/tags/Cookie/" style="font-size: 16px; color: #999">Cookie</a> <a href="/tags/DTree/" style="font-size: 16px; color: #999">DTree</a> <a href="/tags/Dagger2/" style="font-size: 16px; color: #999">Dagger2</a> <a href="/tags/Dubbo/" style="font-size: 16px; color: #999">Dubbo</a> <a href="/tags/Eureka/" style="font-size: 16px; color: #999">Eureka</a> <a href="/tags/Git/" style="font-size: 18.67px; color: #999ea6">Git</a> <a href="/tags/HTTP/" style="font-size: 16px; color: #999">HTTP</a> <a href="/tags/HTTPS/" style="font-size: 16px; color: #999">HTTPS</a> <a href="/tags/HashMap/" style="font-size: 16px; color: #999">HashMap</a> <a href="/tags/IO/" style="font-size: 16px; color: #999">IO</a> <a href="/tags/JVM/" style="font-size: 16px; color: #999">JVM</a> <a href="/tags/KNN/" style="font-size: 16px; color: #999">KNN</a> <a href="/tags/Lock/" style="font-size: 16px; color: #999">Lock</a> <a href="/tags/MQ/" style="font-size: 16px; color: #999">MQ</a> <a href="/tags/MySQL/" style="font-size: 18.67px; color: #999ea6">MySQL</a> <a href="/tags/Oracle/" style="font-size: 16px; color: #999">Oracle</a> <a href="/tags/Redis/" style="font-size: 18.67px; color: #999ea6">Redis</a> <a href="/tags/Ribbon/" style="font-size: 16px; color: #999">Ribbon</a> <a href="/tags/SSO/" style="font-size: 16px; color: #999">SSO</a> <a href="/tags/Session/" style="font-size: 16px; color: #999">Session</a> <a href="/tags/Spring/" style="font-size: 16px; color: #999">Spring</a> <a href="/tags/Spring-Cloud/" style="font-size: 16px; color: #999">Spring Cloud</a> <a href="/tags/SpringBoot/" style="font-size: 18.67px; color: #999ea6">SpringBoot</a> <a href="/tags/TCP/" style="font-size: 16px; color: #999">TCP</a> <a href="/tags/UDP/" style="font-size: 16px; color: #999">UDP</a> <a href="/tags/UI/" style="font-size: 16px; color: #999">UI</a> <a href="/tags/docker/" style="font-size: 16px; color: #999">docker</a> <a href="/tags/kmp/" style="font-size: 16px; color: #999">kmp</a> <a href="/tags/markdown/" style="font-size: 16px; color: #999">markdown</a> <a href="/tags/synchronized/" style="font-size: 16px; color: #999">synchronized</a> <a href="/tags/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/" style="font-size: 18.67px; color: #999ea6">动态规划</a> <a href="/tags/%E5%9B%9E%E5%BD%92/" style="font-size: 16px; color: #999">回归</a> <a href="/tags/%E5%9F%BA%E7%A1%80/" style="font-size: 18.67px; color: #999ea6">基础</a> <a href="/tags/%E5%A4%9A%E7%BA%BF%E7%A8%8B/" style="font-size: 16px; color: #999">多线程</a> <a href="/tags/%E5%B0%8F%E7%A8%8B%E5%BA%8F/" style="font-size: 16px; color: #999">小程序</a> <a href="/tags/%E5%BF%AB%E6%8E%92/" style="font-size: 16px; color: #999">快排</a> <a href="/tags/%E6%8E%92%E5%BA%8F/" style="font-size: 16px; color: #999">排序</a> <a href="/tags/%E6%95%B0%E7%BB%84/" style="font-size: 16px; color: #999">数组</a> <a href="/tags/%E6%97%B6%E9%97%B4%E5%BA%8F%E5%88%97/" style="font-size: 16px; color: #999">时间序列</a> <a href="/tags/%E6%A0%88/" style="font-size: 16px; color: #999">栈</a> <a href="/tags/%E6%A0%91/" style="font-size: 16px; color: #999">树</a> <a href="/tags/%E6%B7%B1%E6%B5%85%E6%8B%B7%E8%B4%9D/" style="font-size: 16px; color: #999">深浅拷贝</a> <a href="/tags/%E7%94%9F%E4%BA%A7%E8%80%85%E6%B6%88%E8%B4%B9%E8%80%85/" style="font-size: 16px; color: #999">生产者消费者</a> <a href="/tags/%E7%A7%92%E6%9D%80/" style="font-size: 18.67px; color: #999ea6">秒杀</a> <a href="/tags/%E7%BA%A2%E9%BB%91%E6%A0%91/" style="font-size: 16px; color: #999">红黑树</a> <a href="/tags/%E7%BA%BF%E7%A8%8B/" style="font-size: 16px; color: #999">线程</a> <a href="/tags/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/" style="font-size: 16px; color: #999">设计模式</a> <a href="/tags/%E8%B4%AA%E5%BF%83/" style="font-size: 16px; color: #999">贪心</a> <a href="/tags/%E8%BD%AC%E8%BD%BD/" style="font-size: 24px; color: #99a9bf">转载</a> <a href="/tags/%E8%BF%9B%E5%88%B6/" style="font-size: 16px; color: #999">进制</a> <a href="/tags/%E8%BF%9B%E7%A8%8B/" style="font-size: 16px; color: #999">进程</a> <a href="/tags/%E8%BF%AD%E4%BB%A3/" style="font-size: 16px; color: #999">迭代</a> <a href="/tags/%E9%80%92%E5%BD%92/" style="font-size: 18.67px; color: #999ea6">递归</a> <a href="/tags/%E9%93%BE%E8%A1%A8/" style="font-size: 16px; color: #999">链表</a> <a href="/tags/%E9%98%9F%E5%88%97/" style="font-size: 16px; color: #999">队列</a></div></div></div><div class="card-widget card-archives"><div class="card-content"><div class="item-headline"><i class="fa fa-archive" aria-hidden="true"></i><span>归档</span></div><ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/06/"><span class="archive-list-date">2020年06月</span><span class="archive-list-count">12</span></a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/05/"><span class="archive-list-date">2020年05月</span><span class="archive-list-count">40</span></a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/04/"><span class="archive-list-date">2020年04月</span><span class="archive-list-count">11</span></a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/02/"><span class="archive-list-date">2020年02月</span><span class="archive-list-count">1</span></a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/10/"><span class="archive-list-date">2019年10月</span><span class="archive-list-count">1</span></a></li></ul></div></div><div class="card-widget card-webinfo"><div class="card-content"><div class="item-headline"><i class="fa fa-line-chart" aria-hidden="true"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="webinfo-article-name">文章数目 :</div><div class="webinfo-article-count">65</div></div><div class="webinfo-item"><div class="webinfo-site-wordcount-name">本站总字数 :</div><div class="webinfo-site-wordcount">234k</div></div><div class="webinfo-item"> <div class="webinfo-site-uv-name">本站访客数 :</div><div class="webinfo-site-uv-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="webinfo-site-name">本站总访问量 :</div><div class="webinfo-site-pv-count" id="busuanzi_value_site_pv"></div></div></div></div></div></div></main><footer id="footer" data-type="color"><div id="footer-wrap"><div class="copyright">©2020 By hofe</div><div class="framework-info"><span>驱动 </span><a href="https://hexo.io" target="_blank" rel="noopener"><span>Hexo</span></a><span class="footer-separator">|</span><span>主题 </span><a href="https://github.com/jerryc127/hexo-theme-butterfly" target="_blank" rel="noopener"><span>Butterfly</span></a></div><div class="footer_custom_text">Hi, welcome to my <a href="http://hofe.work/">blog</a>!</div></div></footer></div><section class="rightside" id="rightside"><div id="rightside-config-hide"><a class="translate_chn_to_cht" id="translateLink" href="javascript:translatePage();" title="简繁转换" target="_self">繁</a><i class="darkmode fa fa-moon-o" id="darkmode" title="夜间模式"></i></div><div id="rightside-config-show"><div id="rightside_config" title="设置"><i class="fa fa-cog" aria-hidden="true"></i></div><i class="fa fa-arrow-up" id="go-up" title="回到顶部" aria-hidden="true"></i></div></section><div class="search-dialog" id="local-search"><div class="search-dialog__title" id="local-search-title">本地搜索</div><div id="local-input-panel"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div></div><hr/><div id="local-search-results"><div id="local-hits"></div><div id="local-stats"><div class="local-search-stats__hr" id="hr"><span>由</span> <a href="https://github.com/wzpan/hexo-generator-search" target="_blank" rel="noopener" style="color:#49B1F5;">hexo-generator-search</a>
<span>提供支持</span></div></div></div><span class="search-close-button"><i class="fa fa-times"></i></span></div><div class="search-mask"></div><script src="https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js"></script><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/medium-zoom/dist/medium-zoom.min.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script id="ribbon_piao" mobile="false" src="/js/third-party/piao.js"></script><script src="/js/third-party/activate-power-mode.js"></script><script>POWERMODE.colorful = false;
POWERMODE.shake = true;
document.body.addEventListener('input', POWERMODE);
</script><script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page@latest/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/lazysizes@latest/lazysizes.min.js" async=""></script><script src="/js/search/local-search.js"></script><script src="https://cdn.jsdelivr.net/npm/typed.js"></script><script>var subtitleEffect = true
fetch('https://v1.hitokoto.cn')
.then(function (res){
return res.json();
})
.then(function (data) {
if (subtitleEffect){
var from = '出自 ' + data.from
var sub = ''.length == 0 ? new Array() : ''.split(",");
var both = sub.unshift(data.hitokoto,from)
var typed = new Typed("#subtitle", {
strings: sub,
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50
});
}else{
document.getElementById("subtitle").innerHTML = data.hitokoto
}
})
.catch(function (err) {
console.error(err);
})
</script></body></html>