Jiang's blog

Jiang's blog

Jiang 的个人博客

学习笔记之---七层网络协议和四层网络协议的区别
浅谈七层网络协议和四层网络协议的区别1.OSI七层网络模型介绍  OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。  OSI七层模型是一种框架性的设计方法,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。 七层模型的结构...
每日一道算法之--最小栈
最小栈力扣第155题 : https://leetcode-cn.com/problems/min-stack/ 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例: MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.getMin(); –> 返回 -3...
学习笔记之---堆和栈的区别
浅谈堆和栈的区别1. 数据结构中的堆栈相信每一个程序员对数据结构中的堆和栈都不陌生,他们在我们计算机的数据结构中承担着不可或缺的角色。其实堆和栈都是一种数据项按序排列的数据结构。 1.1 栈就像一摞叠在一起的盘子我们平时放盘子的时候,都是从下往上一个一个放;取的时候,我们也是从上往下一个一个地依次取,不能从中间任意抽出。后进者先出,先进者后出,这就是典型的“栈”结构。从栈的操作特性上来看,栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。 1.2 堆就像一颗倒过来的数堆是一种经过排序的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆是一种特殊的树。只要...
每日一道算法之--剪绳子
剪绳子力扣 面试题14- I :https://leetcode-cn.com/problems/jian-sheng-zi-lcof/相同题目:343. 整数拆分 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m] 。请问 k[0]k[1]…*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 示例 1: 输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1 示例 2: 输入: 10输出...
每日一道算法之--寻找旋转排序数组中的最小值
寻找旋转排序数组中的最小值力扣第153题:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/ 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例 1: 输入: [3,4,5,1,2]输出: 1 示例 2: 输入: [4,5,6,7,0,1,2]输出: 0 这道题是剑指的原题的简单版,这里可以假设假设数组中不存在重复元素。找出其中最...
《趣谈网络协议》学习笔记之--通信协议综述
学习自极客时间《趣谈网络协议》 作者:刘超 1. 为什么要学习网络协议?1.1 协议的三要素计算机语言作为程序员控制一台计算机工作的协议,具备了协议的三要素。 语法,就是这一段内容要符合一定的规则和格式。例如,括号要成对,结束要使用分号等。 语义,就是这一段内容要代表某种意义。例如数字减去数字是有意义的,数字减去文本一般来说就没有意义。 顺序,就是先干啥,后干啥。例如,可以先加上某个数值,然后再减去某个数值。会了计算机语言,你就能够教给一台计算机完成你的工作了。但是,要想打造互联网世界的通天塔,只教给一台机器做什么是不够的,你需要学会教给一大片机器做什么。这就需要网络协议。只有通过...
每日一道算法之--数组中的重复数字
数组中重复的数字力扣面试题03 : https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/ 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制: 2 <= n <= 100000 这是剑指offer里面的原题,也是比较简单的一道题,但是,一开始我能...
学习笔记之---负载均衡
负载均衡1 什么是负载均衡?百度百科是这样说的: 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。 互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求;但随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台机器的性能问题以及单点问题凸显了出来,因此需要多台机器来进行性能的水...
每日一道算法之--组合总和
组合总和力扣第39题:https://leetcode-cn.com/problems/combination-sum/参考文章回溯算法 + 剪枝 极客时间-数据结构与算法之美 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。示例 1: 输入: candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]] ...
python单例模式的实现
单例模式什么是单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,尤其是在配置文件内容很多的情况下。事实上,类似 AppConfi...
avatar
Jiang
witness me
FRIENDS
friendA friendB