自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 收藏
  • 关注

原创 关于台湾旅游和日本旅游以及港澳台旅游的经验

护照护照办理是要根据规定,办理护照,须要你本人到户口所在地县级以上的(县)公安局入出境管理部门办理,这是不能委托他人代办的.护照是公民在国际间通行所使用的身份证和国籍证明,也是一国政府为其提供外交保护的重要依据。为此,居民出国旅游,需要申请办理护照。1、携带本人身份证到户口所在地派出所、公安分县局出入境管理部门、北京市公安局出入境管理处或者参团旅行社领取《中国公民因私出国(境)申请审批表》(以下简

2017-10-14 23:32:38 476

原创 读书笔记 TCP/IP详解 卷1

经过了一个国庆的颓废,还是要收收心,继续复习。之前对很多书籍进行了一次大扫荡。接下去需要二刷,另外,需要一刷的书籍是《设计模式》。先利用黑皮书对网络知识进行一次巩固吧。第二章 链路层以太网(可以理解为就是一个标准(RFC894),RFC1042就是IEEE 802.2/802.3,除此之外还有SLIP封装,PPP封装等)的封装图: MTU最大传输单元,数据长度假如比链路层的MTU大,则需要

2017-10-10 22:49:59 666

原创 Labview-学习

前言首先学习这个,主要是辅助别人做一个界面,来作为一个网口数据的监控(虽然我觉得简单一点,python啊,MFC啊都可以实现),但是既然指明用这个,也许后续有什么延伸呢,我也顺带学习一下。安装我借了一本书《LabVIEW 8.20》,安装LabVIEW 2014 提供给大家可以成功安装的地址,和安装教程 链接:http://pan.baidu.com/s/1hrQBvlM 密码:ckzz ht

2017-09-29 20:09:14 410

转载 虚拟内存机制

http://blog.csdn.net/zdy0_2004/article/details/44259407虚拟内存是单机系统最重要的几个底层原理之一,它由底层硬件和操作系统两者软硬件结合来实现,是硬件异常,硬件地址翻译,主存,磁盘文件和内核的完美交互。它主要提供了3个能力: 1. 给所有进程提供一致的地址空间,每个进程都认为自己是在独占使用单机系统的存储资源 2. 保护每个进程的地址空间不

2017-09-26 11:42:57 409

转载 模板两种特化

http://blog.csdn.net/thefutureisour/article/details/7964682/ http://www.cnblogs.com/qlee/archive/2011/06/27/2091523.html模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就

2017-09-24 22:38:09 422

转载 内存屏障(还得补)

直接引用百度百科: https://baike.baidu.com/item/%E5%86%85%E5%AD%98%E5%B1%8F%E9%9A%9C/13014423?fr=aladdin内存屏障,也称内存栅栏,内存栅障,屏障指令等, 是一类同步屏障指令,是CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作。多数现代计算机为了提

2017-09-24 22:24:27 409

原创 C++关键字volatile

http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html这说明这个 volatile 关键字发挥了它的作用。其实不只是“内嵌汇编操纵栈”这种方式属于编译无法识别的变量改变,另外更多的可能是多线程并发访问共享变量时,一个线程改变了变量的值,怎样让改变后的值对其它线程 visible。一般说来,volatile用在如下的几个

2017-09-24 21:19:41 169

原创 TCP之糊涂窗口综合征

http://www.cnblogs.com/zhaoyl/archive/2012/09/20/2695799.html这个症状指的是: 这个问题可以归结为小包的问题,就是由于发送端和接收端上的处理不一致,导致网络上产生很多的小包,之前也介绍过避免网络上产生过多小包的措施,比如Nagle算法。在滑动窗口机制下,如果发送端和接收端速率很不一致,也会产生这种比较犯傻的状态:发送方发送的数据,只要一

2017-09-24 20:17:56 971

原创 epoll的水平触发和边缘触发

Level_triggered(水平触发):当被监控的文件描述符上有可读写事件发生时,epoll_wait()会通知处理程序去读写。如果这次没有把数据一次性全部读写完(如读写缓冲区太小),那么下次调用 epoll_wait()时,它还会通知你在上没读写完的文件描述符上继续读写,当然如果你一直不去读写,它会一直通知你!!!如果系统中有大量你不需要读写的就绪文件描述符,而它们每次都会返回,这样会大大降低

2017-09-24 20:13:24 464

原创 快速排序优化-尾递归(需再加内容)

看到了这么一个面试的问题,我能想到的就是,随机选择标杆。但是看了看网上的说法,好像是要牵扯到一个叫做:尾递归的概念顾名思义,尾递归就是从最后开始计算, 每递归一次就算出相应的结果, 也就是说, 函数调用出现在调用者函数的尾部, 因为是尾部, 所以根本没有必要去保存任何局部变量. 直接让被调用的函数返回时越过调用者, 返回到调用者的调用者去。尾递归就是把当前的运算结果(或路径)放在参数里传给下层函数,

2017-09-24 20:10:34 855

原创 32位电脑和64位电脑的区别

https://www.zhihu.com/question/19862280首先32位和64位指的是: CPU的位和字长 其中字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。 64位处理器包括AMD Athlon 64与INTEL的EMT64处理器都是指通用寄存器的位宽,不是总线。 貌似误区之一是,总线的宽度并不是。。区分两者的因素,而我们通常所说的32

2017-09-24 17:46:05 2742

原创 智能指针不一定能杜绝内存泄漏

这句话的意思就是,智能指针虽好,但是也有概率出问题,毕竟C++没有java那种垃圾回收机制,所以。其中一种情况即使shared_ptr的循环引用,这里有个exp: http://blog.csdn.net/qq_26768741/article/details/52430368 类里的shared_ptr互相指向,导致无法释放内存。#define _CRT_SECURE_NO_WARNI

2017-09-24 13:37:38 1855 1

原创 上下文切换

这个概念在Android开发的时候也见到过,当时就不是很懂(也许理解得都不是同一个东西)首先看定义:根据百度百科 上下文切换:也称为PCB,性质为环境切换,有时候也称为进程切换或者任务切换,是指CPU从一个进程或者线程切换到另一个进程。在操作系统中,CPU切换到另一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任务转为就绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。上

2017-09-24 12:25:05 392

原创 ELF与链接

参考链接: http://blog.csdn.net/wh8_2011/article/details/50812434 http://blog.csdn.net/memray/article/details/42038011ELF(Executable and Linkable Format),与a.out,cof相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够了系

2017-09-24 12:16:12 878

原创 链路层的功能

今天才知道,链路层也有流量控制的能力。 说说链路层的主要功能: 参考 [(http://blog.csdn.net/cainv89/article/details/50603646)] 1帧同步(比如d5d5) 2差错控制:4类主要:前向纠错(FEC),反馈检测(ARQ),混合纠错HEC,和信息反馈(IRQ) 3流量控制:流量控制并不是数据链路层所特有的功能,许多高层协议中也提供流时控功

2017-09-23 23:48:32 380

原创 前缀、中缀、后缀表达式

参考链接: http://blog.csdn.net/antineutrino/article/details/6763722/首先这三种都是表达式记法。中缀式,就是人们常用的方式(3 + 4) × 5 - 6 就是中缀表达式。虽然这个式子对人的大脑很友好,但是对计算机不友好,因此才出现了前缀式和后缀式。前缀表达式(前缀记法、波兰式)前缀表达式的运算符位于操作数之前。从右至左扫描表达式,遇到数

2017-09-22 23:25:27 228

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-09-22 23:15:30 149

原创 读书笔记 - STL源码剖析

前面有几篇文章的图片是用截图复制,粘贴过来的,结果发布直接没了。。好坑。第一章 STL概论与版本简介STL 六大组件1:容器(vector,map,etc)STL容器是一种class template2:算法:sort,search,srase。STL算法是一种function template3:迭代器:扮演容器和算法的胶合剂。是一种class template4

2017-09-22 13:08:31 1135

原创 C++中 有关迭代器失效的问题

对于顺序容器,对其添加或者删除元素,会有迭代器失效的情况。首先是erase,删除的情况。假如删除了,进行it++;是肯定会报错的;对于erase,会返回下一个迭代器,避免失效。iter =cont.erase(iter);关联容器, 只需要map::iterator tmpIter = iter; iter++; dataMap.erase(tmpIter)

2017-09-21 23:05:02 212

原创 关于静态变量的初始化时机

#include#include #include#include#include using namespace std;class Test{public: static int T1; Test(){ cout << "Test"<<endl}; int static T4() { cout<<"T4"<<endl; return 4; }};int

2017-09-21 21:42:47 617

原创 进程通信 详解

进程间的几种通信方式:1:管道(参考点击打开链接):无名管道:是半双工的,数据只能向一个方向流动。管道是基于文件描述符的通信方式。它会创建两个文件描述符fd[0]和fd[1]。其中fd[0]固定用于读管道,而fd[1]固定用于写管道。单独创建一个无名管道,并没有实际的意义。我们一般是在一个进程在由pipe()创建管道后,一般再由fork一个子进程,然后通过管道实现父子进程间的通信(因此

2017-09-20 23:03:21 379

原创 读书笔记 数据结构(c语言版)

2017-09-20 22:58:29 712

原创 读书笔记 操作系统

第二部分 进程程序的并发执行卓有成效地提高了系统的吞吐量,但也产生了一些与顺序执行不同的特征。程序执行的间断性;程序执行失去封闭性;程序执行结果的不可再现性;程序和计算不再一一对应。程序是进程的一次执行。进程由程序、数据、和进程控制块3部分组成进程的3种基本状态:就绪;执行;阻塞linux的自旋锁。每个进入临界区的进程,都试图把锁从0改为

2017-09-19 21:07:57 730

原创 为什么空类依旧占有一个字节(sizeof查看)

这应该是几句话就能说明的事首先是网上的一个说法:因为实例化的本质是分配空间,拥有独一无二的地址。为了这个目的,编译器会给空类隐含地加一个字节。还有人提到了(以下来自知乎):class的sizeof不能为0,因为需要能允许把 class 实例放到数组里。如果sizeof是0,那么数组的sizeof呢,也是0?那么数组里有多少个元素呢?0/0?无穷多或N/A个?

2017-09-19 20:41:32 382

原创 排序相关总结(复杂度、稳定性、比较)

排序的稳定性:这个东西,自己也有点理解不清楚,这里作个总结。先看概念:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。看到重点,是看相同的关键字,然后再是相对次序。。之前一直看东西看一半,看到个相对次序,所以一脸

2017-09-19 19:37:06 415

原创 静态static,常量const,详细探究

这里主要讨论,静态变量,静态函数,静态和常量混用等情况,常量,常量函数。静态变量:静态成员变量。被所有对象共享。当一个进程的全局变量被声明为static之后,它的中文名叫静态全局变量。静态全局变量和其他的全局变量的存储地点并没有区别,都是在.data段(已初始化)或者.bss段(未初始化)内,但是它只在定义它的源文件内有效,其他源文件无法访问它。所以,普通全局变量穿上static外衣后

2017-09-19 10:49:54 677

原创 面试准备之-海量数据处理题目

经过好久的面试,海量数据的题目虽然老套,但是还是会经常出。下面,尤其对海量性的题目作一下总结题目一:100w个数据里面,选出最大的100个数方法1:堆排序的方法,维护一个100个数的堆,每次一个数,和堆最上面的数比较,堆顶是100个里面最小的数(最小堆),假如比堆顶大,则删除堆顶,放新的数,然后下沉(复杂度log100),因此总复杂度为(nlog100)方法2:partition方

2017-09-18 14:13:25 431

原创 读书笔记 - C++ Primer 第五版

几次面试下来,我感觉,基础不造好,如何搭建高楼,尤其看了effective c++后,我更加觉得基础的重要性。之前自学C++用的一本什么清华大学的,感觉不够专业,这次学习之余,重点是C++ 11的一些特性。C++11对于C++98来说,试一次本质的飞跃。第一章 开始标准库,4个IO对象,cin,cout,cerr,clog,不用using namespace std;每个cout都

2017-09-17 21:56:19 631

原创 TCP 重发和RST探究

先说说重发机制超时发送的机制:一般情况下,发送方发送一个TCP的片段,将开始计时,等待返回ACK,假如接受方收到了正确的片段,则返回ack,发送方收到后,移动窗口。如果,计时完成,依旧没有Ack,则认为丢失,重发,这个等待时间叫做(RTO,发送超时时间。RTT设置得根据当前网络情况,状态好,设的小一点,不好则要大一点,发送方会测量RTT(从发送片段,到接收到ACK的时间),每次都作为样本,

2017-09-15 09:57:05 1899

原创 读书笔记-Effective C++

页数:47条款一:把C++视为一种联邦语言,因为支持,过程,面向对象,函数,泛型,元编程。C语言的次语言,有C,Object-Oriented C++。这部分也就是C with Classes;Template C++(泛型编程,一般经验较少);STL条款二:尽量用const,enum,inline替换define要是出错,编译器只会定位define替换的东西,不方便找问题。用

2017-09-13 22:28:33 506

原创 腾讯笔试题3 构造回文

[编程题] 构造回文时间限制:1秒空间限制:32768K给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子1:abcdago

2017-09-13 14:14:45 207

原创 腾讯笔试题 2 有趣的数字

小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述:输入包含多组测试数据。对于每组测试数据:N - 本组测试数据有n个数a1,a2...an - 需要计算的数据保证:1输出描述:对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表示差最大的对数。输入例子1:

2017-09-13 12:31:13 401

原创 腾讯笔试题 1 算法基础-字符移位

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?输入描述:输入数据有多组,每组包含一个字符串s,且保证:1输出描述:对于每组数据,输出移位后的字符串。输入例子1:AkleBiCeilD输出例子1:kleieilABCD这个题目,只需要从左往右数

2017-09-13 11:17:44 252

原创 腾讯笔试题目准备

3 下列排序算法中,哪些时间复杂度不会超过nlogn?(BC)A.快速排序 B.堆排序 C.归并排序 D.冒泡排序7 Unix系统中,哪些可以用于进程间的通信?(ABCD)A.Socket B.共享内存 C.消息队列 D.信号量4下列哪些可以用于Linux进程间通讯?A B C D EUNIX套接字信号量无名管道文件锁共享内存4以下关于死

2017-09-12 21:27:07 1352

原创 4.35 leetcode -35 binary-tree-inorder-traversal

题目描述Given a binary tree, return the inorder traversal of its nodes' values.For example:Given binary tree{1,#,2,3},1\2/3return[1,3,2].Note: Recursive solution is trivial, could

2017-09-09 16:50:03 186

原创 4.34 leetcode -34 rotate-image

Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.这题直接类似二分地去做吧

2017-09-09 11:59:03 147

原创 4.33 leetcode -33 balanced-binary-tree

Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never diffe

2017-09-08 14:41:25 152

原创 4.32 leetcode -32 maximum-subarray

题目描述Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array[−2,1,−3,4,−1,2,1,−5,4],the contiguous subarray[4,−1,2,1

2017-09-02 17:06:28 164

原创 4.31 leetcode -31populating-next-right-pointers-in-each-node

题目描述Given a binary treestruct TreeLinkNode {TreeLinkNode *left;TreeLinkNode *right;TreeLinkNode *next;}Populate each next pointer to point to its next right node. If there is no next

2017-09-01 17:42:35 176

原创 4.30 leetcode -30 permutation-sequence

题目描述The set[1,2,3,…,n]contains a total of n! unique permutations.By listing and labeling all of the permutations in order,We get the following sequence (ie, for n = 3):"123""132""213""

2017-08-31 15:05:57 168

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除