自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 缓存淘汰算法--LRU算法

博客分类: java基础 1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;

2016-06-29 16:47:25 226

转载 操作系统:地址变换机构

4.3.2 地址变换机构  1. 基本的地址变换机构;  2. 具有快表的地址变换机构页表

2016-06-29 15:52:51 1669

转载 Linux进程间通信——使用信号

一、什么是信号用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产

2016-06-28 19:15:00 189

转载 进程间通信--管道

前面我们学习了一下进程,我们知道多,进程间的地址空间相对独立。进程与进程间不能像线程间通过全局变量通信。 如果想进程间通信,就需要其他机制。        常用的进程间通信方式有这几种A.传统的进程间通信方式无名管道(pipe)、有名管道(fifo)和信号(signal)B.System v IPC对象共享内存(share

2016-06-28 11:41:20 262

转载 管道和命名管道区别(转)

1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门

2016-06-28 10:40:17 2193

转载 常用调度算法简介

常用调度算法简介 2013-03-17 20:45:25分类: 系统运维一、关于调度进程调度用于多进程或者多线程并发访问资源。进程调度的需求出现在同时执行多个任务(multitasking)或者同时传输多数据流(mulplexing)。主要关心方面如下:吞吐量:在一个整体时间内尽可能多地执行完进程,或者尽可能多地发出请求并响应。延时:进程提交执行请求并

2016-06-24 20:49:24 263

转载 进程间通信(IPC)

进程间通信IPC,也就是Inter-Process Communication的缩写。    首先我们明白一个进程其实就是一个狭义上的程序。    一个服务器也就是一个进程。比如客户端和服务器的连接就是两个进程在通信,只是这两个进程并不在同一台计算机上,它们进程间的通信方式就是我们非常熟悉的sockt接口,更下层一些可能就是TCP/IP协议。    那么进程间为什么要通信呢

2016-06-23 20:03:32 256

转载 Linux操作系统多线程信号总结

linux 多线程信号编程总结  linux 多线程信号总结(一)  1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。  2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直

2016-06-23 17:38:58 209

转载 写出高质量代码的10个建议

1. 打好基础写出高质量代码,并不是搭建空中楼阁,需要有一定的基础,这里我重点强调与代码质量密切相关的几点:掌握好开发语言,比如做Android就必须对Java足够熟悉,《Effective Java》一书就是教授大家如何更好得掌握Java, 写出高质量Java代码。熟悉开发平台, 不同的开发平台,有不同的API, 有不同的工作原理,同样是Java代码,在PC上写与Andr

2016-06-22 14:47:08 293

转载 多核 CPU 和多个 CPU 有何区别?

作者:程训焘链接:http://www.zhihu.com/question/20998226/answer/18659825来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。架构可以千变万化,面向需求、综合考量是王道。来,简单举个例子。假设现在我们要设计一台计算机的处理器部分的架构。现在摆在我们面前的有两种选择,多个单核CPU和单个多核CPU。

2016-06-21 18:01:49 474

转载 什么是真正的实时操作系统

做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platform team封装好的API。所以在此总结一下这些概念,加深自己的理解,同时也给新

2016-06-21 17:22:24 1863

转载 什么是真正的实时操作系统

做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platform team封装好的API。所以在此总结一下这些概念,加深自己的理解,同时也给新

2016-06-21 17:21:59 275

转载 Floyd算法

Floyd算法作者:silence、2012年5月15日本文参考:Google,数据结构(C语言)本人声明:个人原创,转载请注明出处。本文链接:http://blog.csdn.net/perfect2011/article/details/7568375一 简介Floyd算法是一种用于寻找图中每一对定点之间最短路径的算法。二 重点

2016-06-20 21:56:44 233

转载 图之Dijkstra算法

Dijkstra算法是一种求单源最短路的算法,即从一个点开始到所有其他点的最短路。其步骤如下:C语言实现如下:(使用邻接矩阵存储)[cpp] view plain copy#include

2016-06-20 21:15:18 313

转载 [zz]澄清P问题、NP问题、NPC问题的概念

[zz]澄清P问题、NP问题、NPC问题的概念这或许是众多OIer最大的误区之一。    你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下

2016-06-17 16:32:23 364

转载 从问题看本质:socket到底是什么?

一、问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题1.socket与进程的关系1).socket与进程间的关系:socket   用来让一个进程和其他的进程互通信息(IPC),而Socket接口是TCP/IP网络的API接口函数。2).进程间通信(本机内)进程间通信(不同计算机,要联网)2、socket与文件的关系——如何

2016-06-16 21:58:42 279

转载 四种强制类型转换的总结(const_cast、static_cast、dynamic_cast、reinterpreter_cast)

C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:    TYPE b = (TYPE)a  C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。  const_cast,字面上理解就是去const属性。  static_cast,命名上理解是静态类型转换。如int转换成char。  d

2016-06-16 11:37:37 290

转载 纯虚函数能为private吗?

我们把一个仅仅含有纯虚函数的类称为接口,我们也好像已经习惯了将这个接口中的所有纯虚函数全声明为public,而且按照这样的设计,一切都工作得不错。比如COM正是这样做的,它的接口中几乎不会存在private的纯虚函数。那么,让我们想一想,纯虚函数或者虚函数可以为private吗?如果这种方式是可行的,那么什么时候可以将(纯)虚函数设为private了?这些都是本文将要讨论的主题。一起来看看。

2016-06-15 10:20:26 425

转载 C++虚基类构造函数

C++虚基类构造函数下面文章详细介绍C++虚基,所谓C++虚基类:是由最派生类的构造函数通过调用虚基类的构造函数进行初始化的,但前提是要深入理解到底什么是C++虚基类,及他是怎么运行的。前面讲过,为了初始化基类的子对象,派生类的构造函数要调用基类的构造函数。对于虚基类来讲,由于派生类的对象中只有一个虚基类子对象。为保证虚基类子对象只被初始化一次,这个虚基类构造函数必须只被调用一次。

2016-06-14 16:12:06 971

转载 多重继承下的虚函数调用~

在多重继承的情况下,需要通过修改this指针达到调用真正函数的目的,这个技术也被称为“thunk”。例子如下:(例子源于zlj博客)class A...{public:    int a, b;    virtual void show();};class B...{public:    int a, b;    virtual void

2016-06-14 11:12:19 433

转载 关于32位系统中int、float、short、double等占多少个字节

我用VC编译的,测试了一下,代码如下:#include "iostream"using namespace std;int main(){coutcoutcoutcoutcoutcoutreturn 0;}结果为:124448由此看出,32位系统,vc编译

2016-06-13 17:27:13 2739

转载 内存和内存地址通俗理解

内存 :         程序和数据平常存储在硬盘(硬盘是一种可记忆盘)等存储器上,不管你开机或关机了,它们都是存在的,不会丢失。硬盘可以存储的东西很多,但其传输数据的速度较慢。所以需要运行程序或打开数据时,这些数据必须从硬盘等存储器上先传到另一种容量小但速度快得多的存储器(无记忆盘),之后才送入CPU进行执行处理。这中间的存储器就是内存。         每个数据,都需要在内存上

2016-06-13 16:54:41 2778

转载 几台电脑同时使用一个无线路由器上网,外部ip相同,各个电脑内部ip不同,路由器如何区分某个数据包是发给某个电脑的?

那你干嘛不问:各种软件都要联网,电脑怎么区分每个数据包是发给那个程序的?答案是:端口号进行数据通信时,除了IP地址,还要用到端口号,端口号同样被写在数据包中,计算机用端口号区别不同的程序。端口号可从0-65535数据包经过无线路由时,IP和端口号都被改变,但是这是路由器保存了内部IP、端口号和外部IP、端口号的对应关系(映射),由外到内的数据包,则根据这个对应关系改回原来的内部IP、端口

2016-06-13 10:34:55 3770 2

转载 c++,父类引用指向子类对象,虚函数

c++有父类引用指向子类对象(面向对象的重要特点之一,java里是这样的!)#includeclass Father{public: Father() { f = 1; } void print() { cout<<"f = "<<f<<endl; }public: int f;};#include#include "Father.c

2016-06-12 17:29:58 1062

转载 程序员必须知道的10个算法和数据结构有哪些?

算法图搜索 (广度优先、深度优先)深度优先特别重要排序动态规划匹配算法和网络流算法正则表达式和字符串匹配数据结构图 (树尤其重要)Map堆栈/队列Tries | 字典树额外推荐贪婪算法概率方法近似算法 上面是 Arjun Nayini 的推荐,下面是 Ken George 的推荐注:下面这个没有特定优先级算法:三路划分

2016-06-12 15:54:17 6446

转载 T(n) = 25T(n/5)+n^2的时间复杂度?

原文地址:T(n) = 25T(n/5)+n^2的时间复杂度 作者:djkpengjun  主定理:    对于T(n) = a*T(n/b)+c*n^k;T(1) = c 这样的递归关系,有这样的结论:   if (a > b^k)   T(n) = O(n^(logb(a)));logb(a)b为底a的对数  if (a = b^k)   T(n) = O(n^k*logn

2016-06-12 15:43:48 3140

转载 C++静态成员函数小结

类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时

2016-06-12 11:52:12 192

转载 C++成员函数的存储方式

用类去定义对象时,系统会为每一个对象分配存储空间。如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元,如图8.4所示。图8.4 能否只用一段空间来存放这个共同的函数代码段,在调用各对象的函数时,都去调用这个公用的函数代码。如图8.5所示。图8.5

2016-06-11 11:26:26 236

转载 fork出的子进程和父进程

一、fork后的父子进程由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新进程(子进程)的进程 id。将子进程id返回给父进程的理由是:因为一个进程的子进程可以多于一个,没有一个函数使一个进程可以获得其所有子进程的进程id。对子进程来说,之所以fork返回0给它,是因为它随时可以调用

2016-06-03 17:06:19 320

转载 C++虚继承的概念

http://blog.csdn.net/wangxingbao4227/article/details/6772579C++中虚拟继承的概念为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存

2016-06-03 15:36:58 309

转载 我的 VC++ 常见错误问题解决办法

1.没有解决的外部定义错误xyView.obj : error LNK2001: unresolved external symbol "public: __thiscall CMyOCRInfo::CMyOCRInfo(void)" (??0CMyOCRInfo@@QAE@XZ)可能是由于构造方法没有实现代码2.没有释放 HBITMAP 句柄造成不能创建位图的问题2004.8.1

2016-06-02 16:31:27 3078

转载 类的内联函数的实现应该放在哪里

作者:朱金灿来源:http://blog.csdn.net/clever101/      今天公司研发部举行会议,讨论执行代码审查事宜。在讨论到一条:头文件不能放函数实现代码,我提出异议:内联函数应该例外。同事反驳说:内联函数的实现也可放进cpp文件。我摆出我的理由:如果是类的内部使用该类的内联函数,函数实现放哪都行(头文件和cpp文件都可以);但是如果外部调用类的内联函

2016-06-02 10:09:24 671

空空如也

空空如也

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

TA关注的人

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