07 2019 档案

摘要:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 2.0 阅读全文
posted @ 2019-07-31 20:27 西*风 阅读(415) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 阅读全文
posted @ 2019-07-30 18:23 西*风 阅读(785) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 num 阅读全文
posted @ 2019-07-29 17:16 西*风 阅读(275) 评论(0) 推荐(0) 编辑
摘要:背景知识: Redis并没有直接使用sds,双端链表,字典,压缩列表,跳表等这些数据结构来直接实现键值对数据库,而是基于这些对象创建了一个对象系统,这个对象系统包含5个对象:字符串对象,列表对象,哈希对象,集合对象和有序集合对象,字符串对象是唯一会被其他四种对象嵌套的对象 1.我们可以针对不同的使用 阅读全文
posted @ 2019-07-28 13:40 西*风 阅读(410) 评论(0) 推荐(0) 编辑
摘要:一.压缩列表ziplist在redis中的应用 1.做列表键 当一个列表键只包含少量列表项,并且每个列表项要么是小整数,要么是短字符串,那么redis会使用压缩列表作为列表键的底层实现 2.哈希键 当一个哈希键只包含少量的键值对,并且每个键值对的键和值要么是小整数,要么是短字符串,那么redis会使 阅读全文
posted @ 2019-07-27 09:55 西*风 阅读(818) 评论(0) 推荐(1) 编辑
摘要:/boot:这个目录是用来存放与系统启动相关的文件/root:root用户的家目录/bin:存放大部分的二进制的可执行文件,也就是大部分的linux命令。/tmp:这个文件目录一般是公共的,也就是说任何人任何用户登录该文件目录都可以对其操作(添加新目录.新文件.修改文件.删除文件等操作)。他是个临时存放数据的文件目录,因此有必要的时候,可对其施行T权限,增加该文件目录的安全性。/etc:它是用来存... 阅读全文
posted @ 2019-07-26 17:39 西*风 阅读(1701) 评论(0) 推荐(0) 编辑
摘要:1.整数集合:整数的集合,升序排序,无重复元素 2.整数集合intset是集合键的底层实现之一,当一个集合只包含整数值的元素,并且这个集合的元素数量不多时,redis会使用整数集合作为集合键的底层实现 3.intset可通过属性自定义编码方式(int16_t/int32_t/int64_t) 4.当 阅读全文
posted @ 2019-07-26 11:24 西*风 阅读(403) 评论(0) 推荐(0) 编辑
摘要:跳跃表的定义 跳跃表是一种有序数据结构,它通过在每个结点中维持多个指向其他结点的指针,从而达到快速访问其他结点的目的 跳跃表的结构 关于跳跃表的学习请参考:https://www.jianshu.com/p/ac351674d8eb?utm_campaign=maleskine&utm_conten 阅读全文
posted @ 2019-07-24 15:36 西*风 阅读(914) 评论(0) 推荐(0) 编辑
摘要:本文内容:1.进程通信的目的2.介绍Linux下进程间的4种通信方式:管道,消息队列,共享内存,信号量ps:套接字也可以用于进程间的通信,不过是不同物理机器上的进程通信,本章讨论是是同一台物理机器上的通信,套接字本章暂不讨论一.进程间通信的目的1)数据的传输2)数据的共享3)事件的通知4)资源的共享5)进程的控制二.进程间的通信方式1.管道概念:管道是一种两个进程间进行单向通信的机制,因为管道传递... 阅读全文
posted @ 2019-07-23 15:37 西*风 阅读(1028) 评论(0) 推荐(0) 编辑
摘要:本文内容: 1.守护进程的定义 2.守护进程的作用 3.守护进程的创建过程 一.守护进程的定义 1.守护进程是脱离于终端并且在后台运行的进程 2.守护进程脱离终端是为了避免在执行过程中的信息在任何终端上显示,并且不被任何终端产生的终端信息所打断 3.守护进程通常在系统引导装入时启动 二.守护进程的作 阅读全文
posted @ 2019-07-17 19:42 西*风 阅读(4257) 评论(0) 推荐(0) 编辑
摘要:本文内容:1.进程的结构2.程序转化为进程的过程3.进程的创建4.进程的结束背景知识:1.进程是计算机中处于运行的程序的实体2.进程是线程的容器3.程序本身只是指令,数据以及组织形式的描述,进程才是程序真正的运行实例4.多个进程可以与同一个程序关联,而每个进程则是以同步或者异步的方式独立运行一.Linux的进程结构Linux进程结构由三部分组成:代码段,数据段,堆栈段代码段:存放程序代码,如果多个... 阅读全文
posted @ 2019-07-17 16:58 西*风 阅读(1524) 评论(0) 推荐(0) 编辑
摘要:本文内容:1.僵尸进程,孤儿进程的定义,区别,产生原因,处理方法2.wait函数,waitpid函数的分析,以及比较背景:由于子进程的结束和父进程的运行是一个异步的过程,即父进程永远无法预测子进程什么时候结,所以就产生了孤儿进程和僵尸进程定义:孤儿进程:即父进程退出后,它的一个或多个子进程还在运行,那么这些子进程叫做孤儿进程僵尸进程:如果子进程退出,但是父进程没有调用wait或waitpid获取子... 阅读全文
posted @ 2019-07-17 16:43 西*风 阅读(1106) 评论(0) 推荐(0) 编辑
摘要:背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: 分析:总票数只有20张,却卖出了23张,是非常明显的超买超卖问题,而造成这个问题的根本原因就是同时发生的各个线程都可以对ticket_sum进行读取和写入! ps: 1.在并发情况下,指令执行的先后顺序由 阅读全文
posted @ 2019-07-15 17:42 西*风 阅读(22959) 评论(0) 推荐(6) 编辑
摘要:背景知识: 1.每次进程切换,都存在资源的保持和恢复动作,即上下文切换 2.进程的引入虽然可以解决多用户的问题,但是进程频繁切换的开销会严重影响系统性能 3.同一个进程内部有多个线程,这些线程共享的是同一个进程的所有资源 4.通过线程可以支持一份应用程序内部的并发,免去了进程频繁切换的开销 5.线程 阅读全文
posted @ 2019-07-12 18:20 西*风 阅读(1206) 评论(0) 推荐(0) 编辑
摘要:1.在源主机上,应用层将一串应用数据流向下传输给传输层 2.传输层将应用数据截流成分组,并加上TCP报头形成TCP段,向下递交给网络层 3.在网络层给TCP段加上包括源主机,目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包向下递交给链路层 4.链路层在其MAC帧的数据部分装上IP数据包 阅读全文
posted @ 2019-07-12 09:47 西*风 阅读(3174) 评论(0) 推荐(0) 编辑
摘要:TCP粘包:指发送方发送的若干数据包在接收方接收时粘成一团,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾 产生的原因: 1.发送方的原因:TCP默认使用Nagle算法,而Nagle算法主要做两件事情:只有上一个分组得到确认,才发送下一个分组,收集多个小分组,在一个确认到来时一起发送,Nagle 阅读全文
posted @ 2019-07-12 09:46 西*风 阅读(2158) 评论(0) 推荐(1) 编辑
摘要:(以上为以太网的帧格式) Preamble:前导同步码7个字节+帧开始定界符1个字节=8个字节 Destination MAC adress:目的MAC地址 Source MAC adress:源MAC地址 Type/Length:帧类型 User date :数据信息 Frame Check Se 阅读全文
posted @ 2019-07-12 09:46 西*风 阅读(3000) 评论(2) 推荐(0) 编辑
摘要:一.Spring MVC原理图: ps: springmvc的运行流程为图中数字序号 二.springmvc的重要组件:1)前端控制器:DispatchServlet(不需要程序员开发)接收请求,响应结果,相当于转发器2)处理映射器:HandlerMapping(不需要程序员开发)根据请求的URL查找Handler3)处理器Handler(需要程序员开发)注意编写Handler时按照Handle... 阅读全文
posted @ 2019-07-11 15:35 西*风 阅读(463) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示