自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 vector和set的区别

原文地址:https://blog.csdn.net/zaishaoyi/article/details/46495677STL中的容器可以分为两大类:1、顺序容器:list,queue,vector2、关联容器:map,set(当然对应的有multimap,multiset)其中vector的存储结构是数组,其它的存储结构是链表。 言归正传,现在看一下vector和set...

2018-09-19 14:39:28 5682 1

转载 C++ vector和iterator简单用法(转)

转自:https://blog.csdn.net/qq_38786209/article/details/80303190vector是动态可变数组,可以添加int、double、自定义的类1.int示例:#incldue<vector>vector<int> a;a.push_back(1);a.push_back(2);a.push_back(3)...

2018-09-06 17:00:44 1151

转载 标准C++中的string类的用法总结(转)

转自:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中...

2018-09-06 16:50:01 266

转载 Java基础学习

http://www.cnblogs.com/vamei/archive/2013/03/31/2991531.html

2016-09-19 15:43:05 340

转载 Linux GCC常用命令

原文地址:点击打开链接1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而

2016-07-05 16:54:25 313

转载 在Ubuntu14.04上快速部署OpenStack

在Ubuntu14.04上快速部署OpenStack原文地址点击打开链接  对于初学者来说,OpenStack手工部署相当麻烦, 而且需要花较多时间学习.不过我们可以使用部署脚本来安装OpenStack.  网上有一款名叫DevStack的号称最傻瓜的OpenStack部署工具.用了一下觉得的确挺傻瓜的.组件是从github上面直接拉下来

2016-04-08 16:55:28 551

转载 Linux 下mysql数据库导入导出

原文地址:点击打开链接一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql#/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql敲回车后会提示输入密码2、只导出表结构mysqldu

2015-12-20 12:25:13 560

转载 Linux下Sublime Text 2的安装

原文链接:点击打开链接安装方法1:通过apt-get install来安装,可以如下来做:sudo add-apt-repository ppa:webupd8team/sublime-text-2sudo apt-get updatesudo apt-get install sublime-text-2备注:由于软件源并非默认存在,所以需要更新

2015-12-01 09:50:10 433

原创 linux下微妙级别定时实现

1.介绍  在linux下如果定时如果要求不太精确的话,使用alarm()和signal()就行了(精确到秒),但是如果想要实现精度较高的定时功能的话,就要使用setitimer函数。  setitimer()为Linux的API,并非C语言的Standard Library,setitimer()有两个功能,一是指定一段时间后,才执行某个function,二是每间格一段时间就执行

2015-12-01 09:23:58 5937

转载 gcc g++ gdb

gcc and g++分别是gnu的c & c++编译器gcc/g++在执行编译工作的时候,总共需要4步1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld] [参数详解]-x language

2015-09-28 22:51:34 425

转载 喷水装置 ACM题目 京东16招聘编程题(贪心算法)

描述:现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0 输入:第一行m表示有m组测试数据 每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。 输出:输出所用装置的个数 样例输入252 3.2 4 4.5 6 101

2015-09-26 16:29:24 472

转载 数据库索引的作用和优点缺点

原文地址:点击打开链接 为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序

2015-09-23 22:49:22 421

转载 ROS 通讯层模型

原文地址:点击打开链接ROS 通讯层模型 术语定义:Name: 图模型中的Name 在ROS的封装体系中非常重要,所有的resource(从node到topic到service和parameter等)都是在某个namespace中用特定的Name进行了定义。 一般来说,resource 可以在自己的namespace中创建新的resource,访问和使用

2015-09-22 09:02:47 7147

转载 WPF基础知识

WPF基础知识快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识:1) C#基础语法知识(或者其他.NET支持的语言):这个是当然的了,虽然WPF是XAML配置的,但是总还是要写代码的,相信各位读者应该也都有这个基础了。2) HTML语言:虽然WPF是窗体程序但是由于使用的XAML语言,如果以前接触过HTML、XHT

2015-09-19 17:05:32 725

转载 Linux下多线程编程

作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/本文作者: 姚继锋 (2001-08-11 09:05:00) 黄鹏程(2009-03-13) converse (2009-01-15) 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的 Unix也支

2015-09-15 22:14:39 373

原创 linux C++ 多线程 读者写者实现

linux C++ 多线程 读者写者实现:/*readerAndWriter.cpp*/#include #include #include #include int buffer_has_item = 0;pthread_mutex_t mutex;void* writer_function(void){ while(1){ pthread_mutex_l

2015-09-15 20:49:04 1694

转载 linux下C/C++,多线程pthread

linux下C/C++,多线程pthread ·线程创建   函数原型:int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void *(*start_rtn)(void),void *restrict arg);   返回值:若是成功建立线程返回0,否则返回错误的编号。

2015-09-15 19:22:09 532

转载 cout和printf机制

众所周知,cout和buffer都是有缓冲的(网上很多把cout和printf混用出错归结为一个有缓冲,一个无缓冲,事实会在下面说明)cout和printf的输出是先从右往左读入缓冲区,再从top到bottem输出对,这里的缓冲区相当于堆 栈的效果a = 1; b = 2; c = 3;coutbuffer:|3|2|1|output:|3|2|然后我试了试下面的cod

2015-09-14 13:13:13 808

原创 【剑指offer】面试题42:左旋转字符串

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!思想:abcXYZdef 先分别把左边3位反转和右边剩下的反转得到cbafedZYX,

2015-09-10 11:58:09 403

原创 【剑指offer】面试题41:和为S的连续子序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述:输出所有和为S的连续

2015-09-10 10:43:41 1206

原创 【剑指offer】面试题7:用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { while(!stack1.empty()) {

2015-09-09 12:38:17 327

原创 【剑指offer】面试题6:重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * struct TreeNode { * int val;

2015-09-09 12:35:42 275

原创 【剑指offer】面试题5:从尾到头打印链表

输入一个链表,从尾到头打印链表每个节点的值。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/class Solution {p

2015-09-09 12:33:45 324

转载 树、森林和二叉树的转换

原文地址:点击打开链接树转换为二叉树(1)加线。在所有兄弟结点之间加一条连线。(2)去线。树中的每个结点,只保留它与第一个孩子结点的连线,删除它与其它孩子结点之间的连线。(3)层次调整。以树的根节点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。(注意第一个孩子是结点的左孩子,兄弟转换过来的孩子是结点的右孩子)                 

2015-09-09 12:10:16 326

转载 空间分割难题

问:在r维空间中,r-1维“平面”最多可以把空间切割成多少部分?结论:若在r维空间中,r-1维超平面最多可以把空间切割成W(n,r)部分,则W(n,r)= C(n,0)+C(n,1)+C(n,2)+…+C(n,r)。(其中,C(n,i) =n!/(i!(n-i)!)表示n个数中取i个数组合的个数(i=0,1,2,…,r),当n<r时,C(n,i)=0)。故当r=3时,w(n,3)=(n^3+5

2015-09-08 18:13:06 586

原创 【剑指offer】面试题4:替换空格

题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。class Solution {public: void replaceSpace(char *str,int length) { int number=0; int i,j;

2015-09-08 17:53:20 307

原创 【剑指offer】面试题3:二维数组的查找

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(vector > array,int target) { int rows = array.size();

2015-09-08 17:48:11 335

转载 进程和线程的区别

线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行.进程和线程都是由操作系统所体会的程序运行的基本单元,系

2015-09-08 17:46:03 296

转载 linux用户态和内核态理解

1、特权级      Intel x86架构的cpu一共有0~4四个特权级,0级最高,3级最低,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查。硬件已经提供了一套特权级使用的相关机制,软件自然要好好利用,这属于操作系统要做的事情,对于UNIX/LINUX来说,只使用了0级特权级别和3级特权级。也就是说在UNIX/LINUX系统中,一条工作在0级特权级的指令具有了CP

2015-09-08 17:16:14 430

转载 数据库操作优化(insert、update、delete、select)

原文链接:点击打开链接一、insert优化:要操作的表为test,字段test。这里优化的方式是先组合一条多行的sql语句,然后再进行插入操作,这样就很大程度上优化了插入数据的效率。测试代码如下:$sql = "insert into `test` (`test`) values ('$content')";for ($i=1;$i$sql .= ",('$

2015-09-06 09:26:56 933

转载 ubuntu下tcpdump总结

原文地址:点击打开链接Ubuntu默认是安装好了tcpdump工具的,如果没有安装的话使用sudo apt-get install tcpdump即可安装。   (如果遇到tcpdump: no suitable device found的问题,检查一下是不是在用root权限运行tcpdump,tcpdump只能在root权限下工作)  安装好tcpdump之后,运行tcpdu

2015-09-05 13:38:24 579

转载 优先级反转及解决办法

(1)什么是优先级反转简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优先级搞反了。那在什么情况下会生这种情况呢?假设三个任务准备执行,A,B,C,优先级依次是A>B>C;首先:C处于运行状态,获得CPU正在执行,同时占有了某种资源;其次:A进入就绪状态,因为优先级比C高,所以获得CPU,A转为运行状态;C进入就绪状态;第三:执行过程中需要使用

2015-09-01 18:50:15 548

转载 缓冲技术

在操作系统中,引入缓冲的主要原因,可归结为以下几点:1.改善CPU与I/O设备间速度不匹配的矛盾。例如一个程序,它时而进行长时间的计算而没有输出,时而又阵发性把输出送到打印机。由于打印机的速度跟不上CPU,而使得CPU长时间的等待。如果设置了缓冲区,程序输出的数据先送到缓冲区暂存,然后由打印机慢慢地输出。这时,CPU不必等待,可以继续执行程序。实现了CPU与I/O设备之间的并行工作

2015-09-01 16:31:50 2199

原创 ATAM

1.基本信息        ATAM:Architecture Tradeoff Analysis Method(构架权衡分析方法),它是评价软件构架的一种综合全面的方法。这种方法不仅可以揭示出构架满足特定质量目标的情况,而且(因为它认识到了构架决策会影响多个质量属性)可以使我们更清楚地认识到质量目标之间的联系——即如何权衡诸多质量目标。2.参与人员评估小组该小组是

2015-09-01 15:20:20 931

转载 面向对象三个基本元素,五个基本原则

三个基本元素:1. 封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。2. 继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性

2015-09-01 14:57:59 492

转载 防止SYN泛洪攻击 开启路由器的TCP拦截

(转载请告诉原作者)原文地址:点击打开链接防止SYN泛洪攻击 开启路由器的TCP拦截intercept,大多数的路由器平台都引用了该功能,其主要作用就是防止SYN泛洪攻击。SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接的过程中消耗了资源,如果有成千上万的这种连接,主

2015-08-30 14:34:35 10536

原创 软件测试

LoadRunner-负载压力测试:预测系统性能。JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制 功能测试:通过自动录制、检测和回放用户的应用操作。将输出记录同预先给定的记录比较。 Junit:白盒测试工具:针对代码测试 测试管理工具:对测试需求、计划、用例、实施进行管理 测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备

2015-08-29 15:01:42 760

转载 手机应用软件测试总结

随着科技的进步,手机款型可谓日新月异,功能也越来越丰富。相应的,越来越多的手机应用软件也伴随着手机功能的多样化应运而生。面对种类众多的手机应用软件,该如何进行测试,测试时又需要重点关注什么呢?本文档结合本人在产品手机项目测试过程中的经验,浅谈下手机应用软件测试相关知识。对于产品的手机项目(应用软件),主要是进行系统测试。而针对手机应用软件的系统测试,我们通常从如下几个角度开展:功能模块测试

2015-08-29 14:11:10 462

原创 什么是分布式数据库?

分布式数据库系统是在集中式数据库系统成熟技术的基础上发展起来的,但不是简单地把集中式数据库分散地实现,它具有自己的性质和特征。集中式数据库系统的许多概念和技术,如数据独立性、数据共享和减少冗余度、并发控制、完整性、安全性和恢复等在分布式数据库系统中都有了不同的、更加丰富的内容。(1)数据独立性。     数据独立性是数据库方法追求的主要目标之一。在集中式数据库中,数据独立性包括两方面:数据

2015-08-28 12:51:24 4255

原创 僵尸进程和孤儿进程

linux提供了一种机制可以保证只要父进程想知道子进程结束时的状态信息, 就可以得到。这种机制就是: 在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。 但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken

2015-08-28 08:40:52 334

空空如也

空空如也

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

TA关注的人

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