自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L未若的博客

么心么肺,难得糊涂

  • 博客(159)
  • 问答 (3)
  • 收藏
  • 关注

原创 C++多态性,虚函数,重载,抽象类

1,C++多态性,虚函数,重载,比较有意思,,,,,,在面向对象的程序中,当不同的对象接受到相同的消息产生不同的动作,这种性质称为多态性。

2016-07-21 14:55:17 2295

原创 TCP的状态转化过程(11中状态)以及TIME_WAIT状态

TCP中的三次握手,四次挥手是我们所熟知的,可是,我们熟悉里面的各种状态吗???(SYN_SENT,   ESTABLISHED,    CLOSE_WAIT.............),试问一句,我们了解里面的状态转化吗???1,大家先看一个简单的通信图

2016-07-04 20:53:10 6464 1

转载 基数排序

本文转载与:http://www.cnblogs.com/Braveliu/archive/2013/01/21/2870201.html#3350611【1】基数排序以前研究的各种排序算法,都是通过比较数据大小的方法对欲排数据序列进行排序整理过程。而基数排序却不再相同,那么,基数排序是采用怎样的策略进行排序的呢?简略概述:基数排序是通过“分配”和“收集”过程来实现排序

2016-06-30 00:52:07 717

原创 Linux进程,fork-专研精讲(实例讲解)!!!

创建进程有两种方式,1:由操作系统创建;2:由父进程创建由操作系统创建的进程,它们之间是平等的,一般不存在资源继承关系(称之为:系统进程)。而对于由父进程创建的进程(子进程),它们和父进程之间是隶属的关系,然后子进程继续创建属于自己的子进程,形成进程家族

2016-05-14 21:56:15 4945

原创 for语句引起一个死循环而引发的思考!!!

对于一个简单地for语句,学过C的朋友可能觉得很简单,但是,看完下面这个看似简单程序还能想明白的朋友(实则并不简单),那才是真的不错,,好了,不废话了,大家看代码吧!!!#include #include int main(){ int i; int a[5]; for(i = 0; i <= 5; i++) a[i] = 0; printf("programming form

2016-01-26 02:27:56 9154 3

原创 看我linux(ubuntu)下的64位编译器编译32位程序

大家看到这个不要好奇,我也是在分析结构体大小时想到的,我们大家都知道在windows底下,我们想编译一个c程序(用64位和32位分别编译,特别不方便),除非是双系统,或者虚拟机,但是装这些有时候挺麻烦的,但是但是,在linux底下这可是很方便的,我们来看:一    .查看当前linux系统到底是多少位!!!      方法1:getconf LON

2015-12-05 12:47:41 10566

原创 从内存角度深入看结构体(window/linux)大小

今天我们来看一下windows(32, 64)(dev-c++,vc),linux(32, 64)不同系统下,它们求结构体大小时,编译器到底给它们分配了哪些内存,又为什么这样分配,为啥子编译器给它们有时空闲3个内存块,有时候又空闲7个内存块,为什么啊,为什么啊当你们读了上面的内容,还想继续往下看的时候,就说明你开始关注内存的分配问题了,哈哈!!!关于内存对齐:简单地理解就是:程序中,数据结构中的变量等等都需要占用内存,系统采用内存对齐,就可以提高访问速度(为了访问未对齐的内存,处理器需要作两次内

2015-12-04 17:16:18 3044 6

转载 由一个线程例子引发的思考(转载)

在谈这个例子之前先贴上进程与线程的内存结构,方便对线程有一个更深的理解。(如果觉得前面的介绍很烦,可以直接跳到最后看问题的分析和最终解决方法的代码)进程的内存结构下图是在Linux/x86-32中典型的进程内存结构,从图中的地址分布可以看出,内核态占1G空间,用户态占3G空间 关于进程的虚拟地址空间可以参考:http://blog.csdn.net/slvher/a

2015-12-02 19:49:23 656

原创 小小鉴赏(闹着玩)

when you believe:作曲 : Stephen Schwartz作词 : Stephen SchwartzMany( ['meni]) nights we pray( [preɪ])许多夜晚我们曾恳切祈祷,With( [wɪð]) no([nəʊ]) proof( [pruːf]) anyone( ['eni.wʌn]) could( [kəd]) hear([hɪə(r)])

2016-11-02 08:07:03 1053 1

原创 the english of the simple view

自述:我的英语很差,四级至今没有过,在新东方报班学的一些东西,只是想着简单的记录下来,权当做新一次的整理笔记,归纳,希望也能帮助大家1 ,200个核心词汇(翻译+写作)词性(名,动,形,副(45),数,量(30),代(20),冠(4),介(53),连(35))数: decade(十年,注意读音:['dekeɪd],尾t),score(二十)(容易混淆:soccer(['sɒkə(r)]) boll(

2016-10-31 18:00:22 1233

原创 Windows程序内部运行原理

本文大部分内容都是摘自孙鑫老师,在下就是一个简单的总结,归纳,希望对大家有用!!!!Windows操作系统是一种完全不同于传统的dos方式的程序设计方法,是事件驱动的方式(主要是基于消息的,当用户需要完成某种功能时,会调用操作系统的某种支持,然后操作系统将用户的某种需要,包装成消息,并投递到消息队列中去,最后应用程序从消息队列中取走消息,并进行响应。)Windows应用程序,操作系统,计算机硬件之间

2016-10-18 19:58:27 4037

原创 简单说法

下列程序中输出的结果是()#include <stdio.h>int main(){ int i = 6; if( ((++i < 7) && (i++/6)) ||(++i <= 9)) ; printf("%d\n", i); return 0;}答案:8 解析: A && B 当A是0的时

2016-10-12 07:56:34 1647

原创 磁盘调度算法,内存调度,内存分配策略

磁盘是可供多个进程共享的设备,当有多个进程都要求访问磁盘时,应采用一种最佳调度算法,以使各进程对磁盘的平均访问时间最小。由于在访问磁盘的时间中,主要是寻道时间。因此: 磁盘调度算法的目标是使磁盘的平均寻道时间最少1,先来先服务(FIFS,first come first served)   根据进程请求访问磁盘的先后顺序进行调度。公平,简单,每个进程都能依次得到处理,不会出现某一进程的请求长期得

2016-10-09 10:10:54 7376

转载 auto,

C++11 autoauto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型.#include <iostream>#include <typeinfo>using namespace std;int main(){ int a = 10; auto au_a = a; cout<<typeid(au_a).name()<<en

2016-10-07 15:27:29 1377

原创 wifi已通过硬件开关禁用

系统Ubuntu Kylin 14.04 解决办法: 1,找到电脑上类似与wifi的键,我的电脑是F 2, 2,按下:Fn + F 2好了,所有的可用的wifi就出来了

2016-10-07 13:17:13 5341 1

原创 同一进程中的共享和私有数据///

由一个题引发的小思考: 用一进程中线程不共享的部分应该是什嘛啊!!!首先声明一点: 线程堆栈:简称栈 Stack 托管堆: 简称堆 Heap线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性

2016-10-06 19:33:56 2025

原创 引用的超级起步

什么是引用引用是某一变量(对象)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法: 类型标识符 &引用名=目标变量名int a;int &ra = a;//定义引用ra,它是变量a的引用,即别名对引用的几点说明: 1:&在此不是求地址运算,而是起标识作用。 2:类型标识符是指目标变量的类型。 3:声明引用时,必须同时对其进行初始化。 4:引用声明完毕后,相

2016-10-05 22:51:10 770

转载 C++中的struct和class的区别

来自: http://hi.baidu.com/pengxiangbobin19890125/blog/item/b05586eee77300212df53411.htmlC++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。 struct能包含成员函数吗? 能! struct能继承吗? 能!! struct能实现多态吗

2016-10-04 14:24:08 776

转载 printf参数,little endian,初始化列表来初始化

1,假设在一个 32 位 little endian 的机器上运行下面的程序,结果是多少? 解析: 1,大端字节序:高位存储在低字节   小段字节序:低位存储在低字节 2,printf是一个库函数,C,C++中函数的参数是从右往左入栈的; 3,栈的生长方向是从高往低的 4,%d格式输出的是4个字节大小,而long long为8个字节 5,printf函数的原型是printf(c

2016-10-04 00:24:42 531

原创 关于const,函数的探究,面试

#include <iostream>using namespace std;class A{ public: void func() const { cout<<"a"<<endl;} void func() { cout<<"b"<<endl;}

2016-09-30 02:22:36 532

原创 C++ vector用法(详解!!函数,实现)

1,简述一下vector的基本操作,它的size,capacity(),clear,reverse,reserve,  push_back等!!!2,说说,vector的存储特性,是顺序存储还是如同链表般,如果是顺序存储的话,那么是如何执行  erase,insert等函数,???(假如后面的空间不够的话,我们需要合理的算法来重新找出一块  相应的空间吗???拷贝,回收吗???是不

2016-09-30 01:13:40 279223 17

转载 linux-守护进程的编写

linux编程-守护进程编写守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。  守护进程的编程本身并不

2016-09-27 13:51:06 451

原创 Linux 信号,僵尸进程,(面试)

1,信号有那些是不能被屏蔽的???()2,僵尸进程是什嘛样子的,产生子进程的时候给其分配空间了之后,在变成僵尸进程之后,对这块空间是如何处理  的,是将其全部释放掉???还是保留部分空间给(子进程的进程ID、终止状态以及资源利用信息(CPU时间,内  存使用量),因为父进程可能会用到这些东西,????信号(signal)是Linux进程间通信的一种机制,全称为软中断信号

2016-09-27 13:12:27 1678

原创 内核态,用户态,目态,管态

目态,管态大多数计算机系统将CPU执行状态分为目态与管态。CPU的状态属于程序状态字PSW的一位。CPU交替执行操作系统程序和用户程序。管态又叫特权态,系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下运行。 目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指

2016-09-26 16:14:14 8177 3

转载 测试开发工程师必知必会

本文转载:http://jingyan.baidu.com/article/c85b7a641404ee003bac95a7.html     :http://www.cnblogs.com/siwy/p/5330099.html测试开发工程师面试题目白箱测试和黑箱测试是什么?什么是回归测试?答题建议:简述下概念即可。单元测试、集成测试、系统测试的侧重点是什么?答题建议:围绕重点简单概括即可。如下

2016-09-23 11:34:33 7781

转载 递归函数时间复杂度分析

递归函数时间复杂度分析(1) 递归执行过程 例子:求N!。 这是一个简单的”累乘”问题,用递归算法也能解决。 n! = n * (n - 1)! n > 1 0! = 1, 1! = 1 n = 0,1 因此,递归算法如下: Java代码 fact(int n) { if(n == 0 || n == 1)

2016-09-23 00:55:25 2311

转载 软件测试 (一) 软件测试方法

本文转载(超级感谢,,,):http://www.cnblogs.com/TankXiao/archive/2012/02/20/2347016.html软件测试 (一) 软件测试方法大汇总软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多。 我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法。从测试设计方法分类测试名称测试内

2016-09-22 01:34:12 612

转载 测试人员如何报一个bug,性能测试,负载测试,压力测试

首先,确保你所发现的问题是确实是一个bug,不要出现因为测试人员操作错误或配置错误所引起的”bug”,这样会降低你在开发人员心中的可信度。在测试的时候,如果发现测试的实际结果与预期测试结果不符时,不要着急马上报bug,先想想为什么会出现错误。作为专业的测试人员,应该能够对出现的问题进行跟踪,确认了在配置、操作没有错误的前提下,通过追踪分析确认所测试的业务流程确实是存在bug,并能大概对bug的产生原

2016-09-22 00:51:03 2826

原创 分类的IP地址

1,分类的IP地址,就是将IP地址划分为若干个固定类,每一类地址都由两个   固定的字段组成:      网络号(net-id),它标志着主机(或路由器)所连接到的网络。一个   网络在整个因特网内必须是唯一的。      主机号(host-id),它标志着该主机(或路由器)。一个主机号在它   前面的网络号所指明的网络范围内必须是唯一的。  所以:一个IP地址在整个因特网范围内是唯一

2016-09-17 00:25:20 1334

原创 stl,vector, list,双向链表,map

下列关于stl的说法正确的是()  A,map的迭代器的key是const类型,无法对其进行修改  B,list是双向链表实现,插入元素的复杂度是O(1)  C,vector的大小会增大或者减少,但容量只会增大而不会减少  D,stl的排序算法一般比较传统的快速排序块是因为其选取中值的算法好

2016-09-13 13:05:50 4151

转载 计数排序和基数排序和桶排序

本文转载于:http://www.cnblogs.com/kkun/archive/2011/11/23/2260299.html经典排序算法 - 计数排序Counting sort经典排序算法 - 计数排序Counting sort注意与基数排序区分,这是两个不同的排序计数排序的过程类似小学选班干部的过程,如某某人10票,作者9票,那某某人是班长,作者是副班长大体

2016-09-07 14:46:50 1778

原创 一些C++的字符函数

1,去除字符的\r\n2,分割字符串3,转换长整数4,空格的检验

2016-09-05 08:05:21 406

转载 解释型语言与编译型语言的区别

编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间

2016-09-03 12:41:37 376

原创 从尾到头打印链表

题目描述输入一个链表,从尾到头打印链表每个节点的值。输入描述:输入为链表的表头输出描述:输出为需要打印的“新链表”的表头

2016-09-01 12:25:04 343

原创 牛客网-访问单个节点的删除

实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {}};*/class

2016-08-31 07:25:29 512

原创

1,图(Graph)是由顶点的有穷非空集合和顶点之间的边的集合组成,通常表示为:G(V,E),  其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合  1,线性表中我们把数据元素叫元素,树中将数据元素叫节点,在图中数据元素,              我们则称之为顶点(Vertex)  2,线性表中可以没有数据元素,称为空表.数中可以没有节点,叫做空树.但是对于图而言,

2016-08-30 08:48:04 1593

原创 TCP_NODELAY,Nagle算法

什么是Nagle算法???使用该算法能够获得那些数据通信特性???或者说,有什么优势呢???Nagle算法:为防止因数据包过多而发生网络过载,Nagle算法在1984年诞生了。应用于TCP层,非常简单。其使用不使用导致如下的差异:  如上图:展示了通过Nagle算法发送字符串“Nagle”和未使用Nagle算法的差别。  可以得到如下结论:  只有收到前一数

2016-08-29 16:05:39 1067

转载 最长公共子序列问题 和 最长公共子串问题

问题描述:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。 例如:X(A,B,C,B,D,A,B)        Y(B,D,C,A,B,A) 那么最长公共子序列就是:

2016-08-18 15:38:50 720

转载 只用位运算来实现整数的加减乘除四则运算 (转载,还没有来得及整理!!!!)

听同学百度二面中,不准用四则运算操作符来实现四则运算。一想就想到了计算机组成原理上学过的。位运算的思想可以应用到很多地方,这里简单的总结一下用位运算来实现整数的四则运算。首先回忆计算机组成原理学过的内容,数字在机器ALU运算逻辑单元内部是以补码形式进行运算的,因为补码有两个优势:1、能做到符号位和数值部分一起运算,这样无需单独考虑符号。2、能把减法运算转化为加法运算来处理。

2016-08-18 15:27:23 895

转载 树中两个结点的最低公共祖先(剑指offer!!!)

面试题050】树中两个结点的最低公共祖先题目:    树中两个节点的最低公共祖先。 思路一:    输入两个树节点,求他们的最低公共祖先,——如果是二叉树,而且是二叉搜索树,那么是可以找到公共节点的。二叉搜索树都是排序过的,位于左子树的节点都比父节点小,而位于右子树上面的节点都比父节点大。如果当前节点的值比两个结点 的值都大,那么最低的共同的父节点一定是在当

2016-08-18 14:38:00 826

空空如也

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

TA关注的人

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