
计算机基础研究
文章平均质量分 83
熊崽_张
这个作者很懒,什么都没留下…
展开
-
常用的10 种算法
简而言之,任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。(来源:homas H. Cormen, Chales E. Leiserson 《算法导论第 3 版》)可以这样理解,算法是用来解决特定问题的一系列步骤 (不仅计算机需要算法,我们在日常生活中也在使用算法)。算法必须具备如下 3 个重要特性:**[1] 有穷性。**执行有限步骤后,算法必须中止。**[2] 确切性。**算法的每个步骤都必须确切定义。**[3] 可行性。......转载 2022-08-08 22:56:05 · 9290 阅读 · 0 评论 -
进程与线程的一个简单解释
先到的人锁上门,后到的人看到上锁,就在门口排队,等锁打开再进去。但是,因为 mutex 较为简单,且效率高,所以在必须保证资源独占的情况下,还是采用这种设计。可是,每间房间的大小不同,有些房间最多只能容纳一个人,比如厕所。也就是说,一个车间开工的时候,其他车间都必须停工。车间的空间是工人们共享的,比如许多房间是每个工人都可以进出的。进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。...转载 2022-08-04 20:38:27 · 123 阅读 · 0 评论 -
栈-先进后出的数据结构
第一次接触 “栈” 这个先进后出的数据结构的时候,有点不理解,因为它的用途不像数组,链表那样直观,似乎只能在表达式计算这里排上用场,随着学习的深入,尤其是看到了函数调用,就会明白 “栈” 实在是太有用了。这篇漫画讲的是在机器级别,硬件层面需要构建栈和栈帧来实现函数的层层调用,实际上在 Java,Python 等虚拟机中,同样也需要栈帧的概念。限于篇幅,这篇文章只讲了函数在内存中的表示,没有详细展开讲汇编级指令的一行行执行,参数的传递,指针的处理。...转载 2022-08-04 20:23:41 · 331 阅读 · 0 评论 -
递归方法概览
数据结构有两个最难的知识点, 一个就是 递归 , 另一个就是 动态规划我们今天来学习下递归这种实现方式。个人认为,递归不是一种算法, 就是一种语法。所以我就称它为一类问题的解决方法.递归, 去的过程叫递, 回来的过程叫归. 凡是递归类的问题,都能总结出一个递归公式. 比如: f(n+1)=f(n)+1, 我们用代码实现就是:判断是否可用递归要想使用递归来解决问题, 要满足三个条件:一个问题的解可以分解为几个问题的解。这个问题和分解之后的问题,除了数据规模不一样,求解思路一模一样.存在递归终止条件. 比如转载 2022-07-19 10:03:34 · 97 阅读 · 0 评论 -
漫画-详解 HTTPS 协议
原文地址 mp.weixin.qq.com什么是 HTTP 协议?HTTP 协议全称 Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于 TCP/IP 四层模型当中的应用层。HTTP 协议通过请求 / 响应的方式,在客户端和服务端之间进行通信。这一切看起来很美好,但是 HTTP 协议有一个致命的缺点:不够安全。HTTP 协议的信息传输完全以明文方式,不做任何加密,相当于是在网络上 “裸奔”。这样会导致什么问题呢?让我们打一个比方:.转载 2022-05-27 22:01:37 · 186 阅读 · 0 评论 -
深入理解负载均衡
来源:http://rrd.me/eqyWv前言正文负载均衡负载均衡算法健康检测(health checks)负载均衡如何处理状态负载均衡双机热备(Hot standby)后记参考资料前言闲来无事写篇文章总结下负载均衡。正文负载均衡负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障。当然负载均衡器本身就是一个单点故障隐患,可以考虑文章后面说的负载均衡.转载 2022-05-22 10:27:09 · 177 阅读 · 0 评论 -
漫话:二阶段提交
原文地址 mp.weixin.qq.com来源 | 漫话编程周末晚上,正在家里面看综艺节目,突然女朋友跑过来找我打《王者荣耀》。打了几把游戏,终于可以歇息一会了,准备继续看我的综艺,可是女朋友过来找我给他讲讲到底什么是二阶段提交。分布式一致性还好我们之前专门给女朋友介绍过什么是分布式,要不然这个话题说来就话长了。在之前介绍分布式的时候,我们以饭店的后厨为例,今天继续之前的例子来说说什么是分布式一致性。随着饭店的发展,慢慢的从只有一个厨师演变成有多个厨师,进而演变成有洗菜工.转载 2022-05-19 20:55:27 · 103 阅读 · 0 评论 -
你猜一个 TCP 连接上面能发多少个 HTTP 请求
作者 | 松若章来源 | https://zhuanlan.zhihu.com/p/61423830正文曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么?相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢?要搞懂这个问题,我们需要先解决下面五个问题:现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什.转载 2022-05-19 20:48:02 · 66 阅读 · 0 评论 -
数据结构-一些常用的算法技巧总结
本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com脚本之家你与百万开发者在一起来源公众号:苦逼的码农作者:帅地今天和大家讲讲,在做算法题时常用的一些技巧。对于平时没用过这些技巧的人,或许你可以考虑试着去看看在实践中能否用的上这些技巧来优化问题的解。1. 巧用数组下标数组的下标是一个隐含的很有用的数组,特别是在统计一些数字,或者判断一些整型数是否出现过的时候。例如,给你一串字母,让你判断这些字母出现的次数时,我们就可以把这些字母作为下标,在遍历的时候.转载 2022-03-25 18:40:02 · 781 阅读 · 0 评论 -
数据结构-循环、递归、二分检索深入理解
本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com点击上方 “java 进阶架构师”,选择右上角 “置顶公众号”20 大进阶架构专题每日送达http://codingpy.com/article/10-gifs-to-understand-some-programming-concepts/这十张动图希望能让大家对循环、递归、二分检索有更深刻的理解一、循环GIF 1:最简单的 while 循环GIF 2:带 if/else 的循环二、递归GIF 3.转载 2022-03-25 18:25:44 · 106 阅读 · 0 评论 -
面试-浏览器缓存机制
本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com前语:不要为了读文章而读文章,一定要带着问题来读文章,勤思考。作者:Jartto 来源:http://1t.click/tJV相信很多前端童鞋对于浏览器缓存都不太陌生,但是如果没有系统的归纳总结,可能三言两句很难说明白。如何才能完美的回答,这是一个值得思考的问题。当然,我们不能为了应对面试才去掌握,而应该当作技能储备起来,做到活学活用。# 为什么要缓存1、缓存可以减少用户等待时间,提.转载 2022-03-14 22:28:59 · 2672 阅读 · 0 评论 -
搞互联网研发,你真的懂 HTTP Headers 么?
原文地址 mp.weixin.qq.com超文本传输协议 (HTTP) 最早是由 Tim Berners-Lee 在 1991 年提出的。最初版本的 HTTP/0.9 旨在促进客户机和服务器之间的数据传输。该协议工作在 TCP 连接上的请求 - 响应模型上,但是经过多年的发展,它包含了一些改进和高级特性。最新的版本是 HTTP/2,它引入了主要的改进,优先考虑 web 页面性能和速度。HTTP 是 “Hypertext Transfer Protocol” 的缩写,整个万维网都在使用这种协议,几乎你在.转载 2022-05-15 18:31:47 · 339 阅读 · 0 评论 -
计算机基础-IO详解
在 IT 圈混饭吃,不管你用什么编程语言、从事前端还是后端,阻塞、非阻塞、异步、同步这些概念,都需要清晰地掌握,否则,怎么与面试官谈笑风生(chui niu pi)?但是,掌握这些概念又不是非常容易,尤其对非科班出身的,更加困难。本文试图给出一个清晰简明但不失深刻的介绍,希望对大家有所帮助。1、从 I/O 说起这些概念之所以容易令人迷惑,在于很多人对 I/O 就没有清晰准确的理解,后面的理解自然不可能正确。我想用一个具体的例子来说明一下 I/O。设想自己是一个进程,就叫小进吧。小进需要接收一个输入.转载 2022-02-27 10:09:21 · 529 阅读 · 0 评论