当前搜索:

传输层TCP和UDP的区别分析与应用场景

基本概念: 1: 面向报文面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,...
阅读(123) 评论(0)

TCP

TCP的滑动窗口、流量控制、拥塞控制和连接管理 套接字 socket = (IP地址:端口号) ARQ自动重传请求 重传的请求是自动进行的。接收方不需要请求发送方重传某个出差分组
阅读(624) 评论(0)

数据共享,内存映射文件和虚拟内存,共享内存

一、内存映射 内存映射文件允许开发人员预定一块地址空间区域并给区域调拨物理存储器。内存映射文件的物理存储器来自磁盘已有的文件,而不是来自系统的页交换文件。一旦把文件映射到地址空间,就可以对它进行访问,就好像整个文件都已经被载入内存一样。不必再对文件执行I/O操作。 使用内存映射文件来...
阅读(200) 评论(0)

C++ 设计模式-单例-工厂

设计模式的六大原则 (1)几种设计原则的小结(6个原则的首字母组合单词(S.O.L.I.D,表示稳定) ①单一职责原则告诉我们实现类要职责单一; ②里氏替换原则告诉我们不要破坏继承体系;所有使用基类的地方必须能透明地使用子类替换,而程序的行为没有任何变化 ...
阅读(182) 评论(0)

2018京东笔试 疯狂序列 神奇数

疯狂序列 输入:169 输出:18#include <iostream> #include <math.h> using namespace std; int main() { long long n; long long m, a, b, res; ...
阅读(211) 评论(0)

148. Sort List (归并) 和147. Insertion Sort List

148. Sort List Sort a linked list in O(n log n) time using constant space complexity. 题意 对一个链表进行排序,要求时间复杂度O(nlogn),一般就是快排、归并、堆排序。这里选择归并排序 思路 分为...
阅读(102) 评论(0)

2018届美团笔试 k的倍数 改考卷。搜狗圆周上点的距离。

题一 k的倍数思路 k的倍数且求的是最长连续子序列。 更改523. Continuous Subarray Sum思路2即可 每次计算得到的余数,若不在hash表中,就插入到hash表中,若余数已经在hash表中,当前位置的索引减去之前的位置,即可得到这个子区间的长度。 clas...
阅读(367) 评论(0)

LeetCode 523. Continuous Subarray sum和 525. Contiguous Array和560. Subarray Sum Equals K

523. Continuous Subarray Sum Given a list of non-negative numbers and a target integer k, write a function to check if the array has a continuous s...
阅读(253) 评论(0)

操作系统知识点

死锁的四个必要条件和怎么处理一. 什么是死锁? 如果一个进程集合里面的每个进程都在等待这个集合中的其他一个进程(包括自身)才能继续往下执行,若无外力他们将无法推进,这种情况就是死锁,处于死锁状态的进程称为死锁进程 二. 死锁产生的原因? 1.因竞争资源发生死锁 现象:系统中供多个进程共享的...
阅读(144) 评论(0)

二叉堆,堆排序,STL优先队列的底层实现,剑指offer数据流中的中位数

一. 下图是从数组为0下标开始计算的。 下图是从数组为1下标开始计算的。引自《STL源码剖析》 p173
阅读(223) 评论(0)

深信服面试记录 2017

深信服面试记录 电话面了接近40分钟,对于自己简历上写的东西一定要清清楚楚明明白白,切勿模棱两可!!!1.线程的通信方式。A线程拥有互斥变量,B线程需要这个互斥变量,当A线程意外退出,B线程能否获取这个互斥变量? 2.MFC中创建线程的流程、管理方式、使用那些API 3.局部线程存储 4.项目中...
阅读(533) 评论(1)

2018 好未来面试 C++ 知识点随笔

不定时更新。遇到好的问题记录 [toc]好未来一面 智能指针实现机制,弱指针和智能指针 c++11的特性有哪些 lamda和函数对象的区别 继承的理解 virtual继承和普通继承 virtual函数和普通函数的区别 覆盖和重载 QQ窗口设计 ...
阅读(368) 评论(0)

排序算法

一.各种算法的对比 二.各个算法的详解 1.冒泡算法 //冒泡排序 void bubbleSort(int arr[], int n) { for (int i = 0; i < n;i++) { for (int j = 0; j < n-i-1;j++) { ...
阅读(163) 评论(0)

Effective C++ 知识点记录

导读 声明式,定义式,初始化 explict关键字,类的构造函数声明为explict,可以阻止它们被用来执行隐式类型转换。 除非有一个好理由允许构造函数被用于隐式类型转换,否则声明为explictpass-by-value意味着“调用拷贝构造函数“,以值传递
阅读(370) 评论(0)

LeetCode 213. House Robber II 注意考察环尾和环头交叉处

213. House Robber II After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get to...
阅读(150) 评论(0)

LeetCode 198. House Robber 递归->记忆->动态规划 ->新思路

198. House Robber You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only c...
阅读(170) 评论(0)

LeetCode 343. Integer Break 动态规划,状态转移方程

343. Integer Break Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. ...
阅读(192) 评论(0)

C++类内存分布 通过Visual studio 2013查看

C++类内存分布 转载自:http://www.cnblogs.com/jerry19880126/p/3616999.html 书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。 工欲...
阅读(422) 评论(2)

LeetCode 64. Minimum Path Sum 动态规划

64. Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all ...
阅读(270) 评论(0)

LeetCode 120. Triangle 动态规划

120. Triangle Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below. For...
阅读(291) 评论(0)
    个人资料
    持之以恒
    等级:
    访问量: 4万+
    积分: 1382
    排名: 3万+
    最新评论