-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
990 lines (577 loc) · 36.9 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
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
<!DOCTYPE html>
<html>
<head><meta name="generator" content="Hexo 3.8.0">
<meta charset="utf-8">
<title>Page 1 | MapleStory</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="description" content="CS:Dalian University of technology">
<meta property="og:type" content="website">
<meta property="og:title" content="MapleStory">
<meta property="og:url" content="http://yoursite.com/index.html">
<meta property="og:site_name" content="MapleStory">
<meta property="og:description" content="CS:Dalian University of technology">
<meta property="og:locale" content="zh-cn">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="MapleStory">
<meta name="twitter:description" content="CS:Dalian University of technology">
<link rel="icon" href="/css/images/favicon.ico">
<link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Open+Sans|Montserrat:700" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic" rel="stylesheet" type="text/css">
<link href="//cdn.bootcss.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet">
<style type="text/css">
@font-face{font-family:futura-pt;src:url(https://use.typekit.net/af/9749f0/00000000000000000001008f/27/l?subset_id=2&fvd=n5) format("woff2");font-weight:500;font-style:normal;}
@font-face{font-family:futura-pt;src:url(https://use.typekit.net/af/90cf9f/000000000000000000010091/27/l?subset_id=2&fvd=n7) format("woff2");font-weight:500;font-style:normal;}
@font-face{font-family:futura-pt;src:url(https://use.typekit.net/af/8a5494/000000000000000000013365/27/l?subset_id=2&fvd=n4) format("woff2");font-weight:lighter;font-style:normal;}
@font-face{font-family:futura-pt;src:url(https://use.typekit.net/af/d337d8/000000000000000000010095/27/l?subset_id=2&fvd=i4) format("woff2");font-weight:400;font-style:italic;}</style>
<link rel="stylesheet" id="athemes-headings-fonts-css" href="//fonts.googleapis.com/css?family=Yanone+Kaffeesatz%3A200%2C300%2C400%2C700&ver=4.6.1" type="text/css" media="all">
<link rel="stylesheet" id="athemes-headings-fonts-css" href="//fonts.googleapis.com/css?family=Oswald%3A300%2C400%2C700&ver=4.6.1" type="text/css" media="all">
<link rel="stylesheet" href="/css/style.css">
<script src="/js/jquery-3.1.1.min.js"></script>
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="/css/bootstrap.css">
<link rel="stylesheet" href="/css/fashion.css">
<link rel="stylesheet" href="/css/glyphs.css">
</head>
</html>
<body>
<header id="allheader" class="site-header" role="banner">
<div class="clearfix container">
<div class="site-branding">
<h1 class="site-title">
<a href="/" title="MapleStory" rel="home"> MapleStory </a>
</h1>
<div class="site-description">CS:Dalian University of technology</div>
<nav id="main-navigation" class="main-navigation" role="navigation">
<a class="nav-open">Menu</a>
<a class="nav-close">Close</a>
<div class="clearfix sf-menu">
<ul id="main-nav" class="menu sf-js-enabled sf-arrows" style="touch-action: pan-y;">
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-1663"> <a class="" href="/">Home</a> </li>
</ul>
</div>
</nav>
</div>
</div>
</header>
<div id="container">
<div id="wrap">
<div id="content" class="outer">
<section id="main">
<article id="post-欢迎来到Eyc的博客!" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2018/11/11/欢迎来到Eyc的博客!/">欢迎来到Eyc的博客!</a>
</h1>
</header>
<div class="article-meta">
<a href="/2018/11/11/欢迎来到Eyc的博客!/" class="article-date">
<time datetime="2018-11-11T12:06:38.000Z" itemprop="datePublished">十一月 11, 2018</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<p>欢迎来到我的博客!</p>
<p><img src="http://img.hb.aicdn.com/e30e0d59e7445610b13a1c7cc5a16e34d1ea98341d360-2deL0X_fw658" width="40%"></p>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/other/">other</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-11-分布式原理" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-11-分布式原理/">[后台开发工程师总结系列] 11. 分布式原理</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-11-分布式原理/" class="article-date">
<time datetime="2019-03-09T09:17:43.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
分布式什么是分布式分布式系统是一组通过网络进行通信,为完成共同任务而协调工作节点组成的计算机系统。分布式系统的出现是为了用廉价的、普通的单机完成无法计算、存储的任务。其目的是利用更多的机器, 处理更多的数据。
分布式系统挑战分布式系统需要大量机器协作,面临诸多挑战:
异构的机器与网络
分布式中的机器配置不一样、运行的服务语言、架构不同、因此处理能力不一样。而且网络带宽、延时、丢包率也不一样。
普遍的节点故障
虽然单个节点的故障率低,但是节点数据达到一定规模,出故障的概率就变高了。分布式需要故障发生时,系统仍然是可用的。
不可靠的网络
节点间通过网络通信,而网络问题:分割、延时、丢包、乱序
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-11-分布式原理/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-10-常用算法及参考实现" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-10-常用算法及参考实现/">[后台开发工程师总结系列] 10. 常用算法及参考实现</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-10-常用算法及参考实现/" class="article-date">
<time datetime="2019-03-09T09:13:22.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
常考算法题设计类问题// 1. 带过期时间LRU
// 2. 设计一个Hashmap
基础数据结构及算法// 1. 二叉树的三种非递归遍历 + 层次遍历
// 2. 单例模式
// 3. 并查集及最小生成树
// 4. 最短路(Dijikstra算法)
// 5. 拓扑排序
// 6. 先序和中序 构造二叉树
// 7. 字典树
// 8. 合并k个排序的链表、数组
// 9. 二叉树的最长路径(最大路径和)
// 10. LCA问题
// 11. 三个经典的进程同步模型// 生产者消费者、读者写者问题、哲学家进餐问题
// 12. 二叉树中序的下一个节点
// 13. 两个排序数组中位数,TOP K
// 14. 快排
// 15. 链表排序
// 16. 堆排序
// 17. 几个C语言函数实现(strlen(), strcmp(), strcpy(), memset())
// 18. 字符串全排列
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-10-常用算法及参考实现/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-9-Python,Nginx-and-Django" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-9-Python,Nginx-and-Django/">[后台开发工程师总结系列] 9.Python,Nginx and Django</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-9-Python,Nginx-and-Django/" class="article-date">
<time datetime="2019-03-09T09:11:04.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
pythonPEP8规范
每一行使用四个空格
每一行限制最大字符数为79
推荐从( [ 换行, 与上一行的第一个(错一个字符。
顶层函数和类定义换两行, 类里的方法一个换行
命名、空格规则
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-9-Python,Nginx-and-Django/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-8-STL概论" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-8-STL概论/">[后台开发工程师总结系列] 8.STL概论</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-8-STL概论/" class="article-date">
<time datetime="2019-03-09T09:08:01.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
STL概论
长久以来软件届一直希望建立一种可复用的东西,以及一种得以造出“可重复运用东西”的方法。
子程序、程序、函数、类别、函数库、类别库、组件、结构模块化设计、模式、面向对象 …
都是为了 复用性的提升
复用性必须建立在某种标准之上,但是在许多环境下开发最基本的算法和数据结构还迟迟不能有标准。大量程序员从事重复劳动,完成前人完成而自己不拥有的代码。
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-8-STL概论/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-7-Redis简介" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-7-Redis简介/">[后台开发工程师总结系列] 7.Redis简介</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-7-Redis简介/" class="article-date">
<time datetime="2019-03-09T09:06:44.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
Redis特点Redis 本质上是一个Key-value类型的内存数据库,很像memcached, 整个数据库在内存中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保护,因为是存内存操作,Redis性能十分出色,每秒可以处理10万次的读写操作,是已知性能最快的DB。
Redis性能出色之处不仅仅是性能,Redis最大魅力是支持多种数据结构,Redis单个value的最大限制是1GB, 而memcached只能保证1MB的数据。Redis 可以用LIST做双向链表实现一个轻量级的高性能消息服务队列。
Redis的主要缺点是数据库容量收到物理内存的限制,不能用做海量数据的高性能读写
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-7-Redis简介/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-6-数据库原理及MySQL" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-6-数据库原理及MySQL/">[后台开发工程师总结系列] 6.数据库原理及MySQL</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-6-数据库原理及MySQL/" class="article-date">
<time datetime="2019-03-09T08:59:49.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
数据库系统原理事务事务指满足ACID特性的一组操作,可以通过commit 提交,也可以通过rollback回滚
事务的ACID特性
原子性(Atomicity)
事务被视为不可分割的最小单元,事务的所有操作要么全部成功提交,要么全部失败回滚,回滚可以使用回滚日志来实现,回滚事务记录着执行的修改操作,回滚时反向执行即可
一致性(Consistency)
数据在事务的执行前后都保持一致性状态,在一致性状态下,所有事务对一个数据的读取结构都是相同的
隔离性(Isolation)
一个事务所做的修改在最终提交以前对其他事务不可见
持久性(Durability)
一旦事务提交,则其所做修改会永远保存到数据库中,即使系统崩溃事务执行结果也不能丢失,使用重做日志来保障持久性
事务的ACID特性比较简单,但是并不容易理解,他们并不平级
只有满足一致性,事务的执行结果才是正确的的
在无并发的情况下,事务串行执行,隔离性一定能满足。此时只要满足原子性,一致性即可满足
并发的情况下,多个事务并行执行,事务不仅满足原子性,还要满足隔离性 才能满足一致性
事务满足持久性是为了维护数据库崩溃的情况
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-6-数据库原理及MySQL/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-5-网络IO模型" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-5-网络IO模型/">[后台开发工程师总结系列] 5.网络IO模型</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-5-网络IO模型/" class="article-date">
<time datetime="2019-03-09T08:56:49.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
网络IO模型IO是计算机体系中的重要部分,IO外设有打印机、键盘、复印机等;储存设备有硬盘、磁盘、U盘等;通信设备有网卡,路由器等。不同的IO设备通信很难统一。
IO有两种操作,同步IO和异步IO,同步IO必须等IO操作完成后控制权才返回给用户进程,而异步IO无需等待IO操作完成,就将控制权返回给用户进程。
当一个IO发生时,它涉及两个系统对象,一个是调用IO的进程,一个是系统内核。一个read操作两个阶段,1等待数据准备 2 数据从内核拷贝到进程。
下面针对网络IO的四种模型分别讲解:阻塞IO、非阻塞IO、多路IO复用、异步IO
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-5-网络IO模型/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-4-计算机网络" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-4-计算机网络/">[后台开发工程师总结系列] 4..计算机网络</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-4-计算机网络/" class="article-date">
<time datetime="2019-03-09T08:45:05.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
计算机网络 复习七层网络模型国际标注化组织ISO于1981年 正式推荐了一个网络体系结构–七层参考模型,也被叫做开放系统互连模型
这七层网络模型在传输过程中还会对数据进行封装,过程如图所示
在ISO七层网络模型中,当一台主机需要传送用户数据时,数据先进入应用层。在应用层中,数据被加上应用层报头(AH),形成应用层协议数据单元(PDU),然后被递交到表示层。表示层不关心上层应用数据格式而是把整个数据包看成一个整体(应用层数据)进行封装,及加上表示层报头(PH)。下层分别加上自己的报头,其中数据链路层还会封装一个链尾,形成一帧数据。
当一帧数据通过物理层传输到目标主机物理层时,主机递交到数据链路层,同样经历上述相反的过程一层一层解包拿到数据。
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-4-计算机网络/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<article id="post-后台开发工程师总结系列-3-操作系统之线程" class="article article-type-post" itemscope="" itemprop="blogPost">
<div id="articleInner" class="clearfix post-1016 post type-post status-publish format-standard has-post-thumbnail hentry category-template-2 category-uncategorized tag-codex tag-edge-case tag-featured-image tag-image tag-template">
<header class="article-header">
<h1 class="thumb" itemprop="name">
<a class="article-title" href="/2019/03/09/后台开发工程师总结系列-3-操作系统之线程/">[后台开发工程师总结系列] 3.操作系统之线程</a>
</h1>
</header>
<div class="article-meta">
<a href="/2019/03/09/后台开发工程师总结系列-3-操作系统之线程/" class="article-date">
<time datetime="2019-03-09T08:40:36.000Z" itemprop="datePublished">三月 9, 2019</time>
</a>
</div>
<div class="article-entry" itemprop="articleBody">
<div class="entry-summary">
多线程为了更好的理解线程的概念,先对进程、线程的背景做介绍。
早期的计算机都只允许一个程序独占系统资源,一次只能执行一个程序。
这种背景下,一台计算机支持多个程序并发执行的需求就变得迫切,由此产生了进程的概念。进程在多数早期多任务操作系统中是执行工作的基本单元。进程是包含程序指令和相关资源的集合,每个进程和其他进程一起参与调度,竞争CPU、内存。每次进程的切换都存在进程资源的保护和恢复动作,这称为上下文切换。进程的引入可以解决多用户支持的问题,但也引入了新的问题:进程频繁切换可能严重影响性能。
同一个进程内部可能有多个线程,共享同一个京城的所有资源。通过线程支持了同一应用程序内部的并发,免去了进程频繁切换的开销,另外并发任务也更简单。
网络具有天生的并发性,比如数据库可能同时需要处理数以千计的请求。而由于网络连接的不确定性和不可靠性,等待网络交互时,可以让当前的线程进入睡眠、退出调度,处理其他线程,这样能够充分利用系统资源,发挥系统实时处理能力。
<p class="article-more-link">
<a href="/2019/03/09/后台开发工程师总结系列-3-操作系统之线程/#more">Continue Reading →</a>
</p>
</div>
</div>
<footer class="entry-meta entry-footer">
<span class="ico-tags"></span>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/后台开发/">后台开发</a></li></ul>
</footer>
<hr class="entry-footer-hr">
</div>
</article>
<!-- Table of Contents -->
<nav id="page-nav">
<span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><a class="page-number" href="/page/4/">4</a><a class="extend next" rel="next" href="/page/2/">Next</a>
</nav>
</section>
<aside id="sidebar">
<div style="margin: 20px 0;">
<div id="search-form-wrap">
<form class="search-form">
<label style="width: 72%;">
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" style="height: 36px; width: 100%;" placeholder=" Search…" value="" name="s" title="Search for:">
</label>
<input type="submit" class="search-form-submit" value="Search">
</form>
<div class="ins-search">
<div class="ins-search-mask"></div>
<div class="ins-search-container">
<div class="ins-input-wrapper">
<input type="text" class="ins-search-input" placeholder="Type something...">
<span class="ins-close ins-selectable"><i class="fa fa-times-circle"></i></span>
</div>
<div class="ins-section-wrapper">
<div class="ins-section-container"></div>
</div>
</div>
</div>
<script>
(function (window) {
var INSIGHT_CONFIG = {
TRANSLATION: {
POSTS: 'Posts',
PAGES: 'Pages',
CATEGORIES: 'Categories',
TAGS: 'Tags',
UNTITLED: '(Untitled)',
},
ROOT_URL: '/',
CONTENT_URL: '/content.json',
};
window.INSIGHT_CONFIG = INSIGHT_CONFIG;
})(window);
</script>
<script src="/js/insight.js"></script>
</div>
</div>
<div class="widget_athemes_tabs">
<ul id="widget-tab" class="clearfix widget-tab-nav">
<li class="active"><a>Recent Posts</a></li>
</ul>
<div class="widget">
<ul>
<li class="clearfix">
<div class="widget-entry-summary" style="margin: 0;">
<h6 style="margin: 0;"><a href="/2019/03/09/后台开发工程师总结系列-11-分布式原理/">[后台开发工程师总结系列] 11. 分布式原理</a></h6>
<span>三月 9, 2019</span>
</div>
</li>
<li class="clearfix">
<div class="widget-entry-summary" style="margin: 0;">
<h6 style="margin: 0;"><a href="/2019/03/09/后台开发工程师总结系列-10-常用算法及参考实现/">[后台开发工程师总结系列] 10. 常用算法及参考实现</a></h6>
<span>三月 9, 2019</span>
</div>
</li>
<li class="clearfix">
<div class="widget-entry-summary" style="margin: 0;">
<h6 style="margin: 0;"><a href="/2019/03/09/后台开发工程师总结系列-9-Python,Nginx-and-Django/">[后台开发工程师总结系列] 9.Python,Nginx and Django</a></h6>
<span>三月 9, 2019</span>
</div>
</li>
<li class="clearfix">
<div class="widget-entry-summary" style="margin: 0;">
<h6 style="margin: 0;"><a href="/2019/03/09/后台开发工程师总结系列-8-STL概论/">[后台开发工程师总结系列] 8.STL概论</a></h6>
<span>三月 9, 2019</span>
</div>
</li>
<li class="clearfix">
<div class="widget-entry-summary" style="margin: 0;">
<h6 style="margin: 0;"><a href="/2019/03/09/后台开发工程师总结系列-7-Redis简介/">[后台开发工程师总结系列] 7.Redis简介</a></h6>
<span>三月 9, 2019</span>
</div>
</li>
<li class="clearfix">
<div class="widget-entry-summary" style="margin: 0;">
<h6 style="margin: 0;"><a href="/2019/03/09/后台开发工程师总结系列-6-数据库原理及MySQL/">[后台开发工程师总结系列] 6.数据库原理及MySQL</a></h6>
<span>三月 9, 2019</span>
</div>
</li>
</ul>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Tags</h3>
<div class="widget">
<ul class="tag-list"><li class="tag-list-item"><a class="tag-list-link" href="/tags/C/">C++</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Python/">Python</a><span class="tag-list-count">4</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/STL/">STL</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/other/">other</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/书籍/">书籍</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/后台开发/">后台开发</a><span class="tag-list-count">11</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/操作系统/">操作系统</a><span class="tag-list-count">4</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/数据库/">数据库</a><span class="tag-list-count">3</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/计算机网络/">计算机网络</a><span class="tag-list-count">6</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/面试基础/">面试基础</a><span class="tag-list-count">1</span></li></ul>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Tag Cloud</h3>
<div class="widget tagcloud">
<a href="/tags/C/" style="font-size: 12px;">C++</a> <a href="/tags/Python/" style="font-size: 16px;">Python</a> <a href="/tags/STL/" style="font-size: 10px;">STL</a> <a href="/tags/other/" style="font-size: 12px;">other</a> <a href="/tags/书籍/" style="font-size: 10px;">书籍</a> <a href="/tags/后台开发/" style="font-size: 20px;">后台开发</a> <a href="/tags/操作系统/" style="font-size: 16px;">操作系统</a> <a href="/tags/数据库/" style="font-size: 14px;">数据库</a> <a href="/tags/计算机网络/" style="font-size: 18px;">计算机网络</a> <a href="/tags/面试基础/" style="font-size: 10px;">面试基础</a>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Archives</h3>
<div class="widget">
<ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/03/">三月 2019</a><span class="archive-list-count">11</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/02/">二月 2019</a><span class="archive-list-count">2</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/01/">一月 2019</a><span class="archive-list-count">6</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/12/">十二月 2018</a><span class="archive-list-count">7</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/11/">十一月 2018</a><span class="archive-list-count">9</span></li></ul>
</div>
</div>
</aside>
</div>
</div>
<!-- <nav id="mobile-nav">
<a href="/" class="mobile-nav-link">Home</a>
</nav> -->
<footer id="footer" class="site-footer">
<div class="clearfix container">
<div class="site-info">
© 2019 MapleStory All Rights Reserved.
<span id="busuanzi_container_site_uv">
本站访客数<span id="busuanzi_value_site_uv"></span>人次
本站总访问量<span id="busuanzi_value_site_pv"></span>次
</span>
</div>
<div class="site-credit">
Theme by <a href="https://github.com/iTimeTraveler/hexo-theme-hipaper" target="_blank">hipaper</a>
</div>
</div>
</footer>
<!-- min height -->
<script>
var wrapdiv = document.getElementById("wrap");
var contentdiv = document.getElementById("content");
wrapdiv.style.minHeight = document.body.offsetHeight - document.getElementById("allheader").offsetHeight - document.getElementById("footer").offsetHeight + "px";
contentdiv.style.minHeight = document.body.offsetHeight - document.getElementById("allheader").offsetHeight - document.getElementById("footer").offsetHeight + "px";
<!-- headerblur min height -->
</script>
<div style="display: none;">
<script src="https://s11.cnzz.com/z_stat.php?id=1260716016&web_id=1260716016" language="JavaScript"></script>
</div>
<!-- mathjax config similar to math.stackexchange -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
}
});
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
}
});
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Queue(function() {
var all = MathJax.Hub.getAllJax(), i;
for(i=0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
<script src="/fancybox/jquery.fancybox.pack.js"></script>
<script src="/js/script.js"></script>
<script src="/js/bootstrap.js"></script>
<script src="/js/main.js"></script>
<div style="display: none;">
<script src="https://s95.cnzz.com/z_stat.php?id=1260716016&web_id=1260716016" language="JavaScript"></script>
</div>
<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js">
</script>
</div>
<a id="rocket" href="#top" class=""></a>
<script type="text/javascript" src="/js/totop.js" async=""></script>
</body>
</html>