自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(158)
  • 资源 (2)
  • 问答 (3)
  • 收藏
  • 关注

原创 容器

Java的容器类主要由两个接口派生而出:Collection和MapCollection是容器层次结构中根接口 Collections是一个提供一些处理容器类静态方法的类Set: 一个不包括重复元素的CollectionQueue: 双端队列,支持在头、尾两端插入和移除元素Map: 是一个键值对的集合。也就是说,一个映射不能包含重复的键,每个键最多映射到一个值。该接口取代了Dictionar

2015-04-14 16:27:05 558

原创 存储过程和函数

存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数可以简化应用开发人员的工作,减少数据在数据库服务器和应用服务器之间的传输。        存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程在创建时即在服务

2015-03-16 17:48:18 1140

原创 网络I/O模型

IOCP        传统的服务器端 / 客户端模式通常为每一个客户端创建一个独立的线程,这种实现方式在客户端数量不多的情况下问题不大,但对于类似于铁路网络订票这样的瞬间客户数量巨大的系统来说,效率极端低下。这是因为一方面创建新线程操作系统开销较大,另一方面同时有许多线程处于运行状态,操作系统内核需要花费大量时间进行上下文切换,并没有在线程执行上花更多的时间。        因此,微

2015-03-16 17:47:04 543

转载 线程池

C#线程池using System;using System.Threading;namespace ThreadPoolTest{   class MainApp   {      static void Main()      {         WaitCallback callBack;         callBack = new Wait

2015-03-16 17:44:54 475

转载 抽象类和接口

接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.

2015-03-16 17:42:12 464

原创 C#获取CPU个数

首先添加引用#region Using directivesusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;us

2015-03-16 17:39:03 3951

转载 C# LDAP认证登录

LDAP认证登录方式并不少见,很多公司都使用域用户登录方式,所以在开发系统的时候他们希望新系统仍然使用他们的域用户来登录,这样就需要使用到LDAP认证的登录方式。C#中已经提供的LDAP的登录方法,所以使用C#来实现LDAP认证登录就变的更加简单。首先引用 System.DirectoryServices 类库代码如下,直接调用即可: public class

2015-02-28 16:37:44 2198

转载 更换主域服务器,如何完整迁移AD和DNS

公司主域控制器AD是windows2003系统,因为系统老旧,硬件跟不上的原因,总是出现死机状况,所以现在公司决定将此服务器淘汰,重新购买新服务器,但旧服务器上的AD主域控制器和DNS,我该如何完整导入新服务器中呢?越详细越好,分数还可以增加。注:新和旧服务器,都采用windows2003系统。有两种方式:方式1 域中设置备份域控,通过抢夺角色,使备份域控成为主域控。方式2

2015-02-27 17:03:17 21134 1

转载 无法与域的active directory域控制器连接

将客户机的DNS设为AD的IP

2015-02-27 10:53:29 28358 1

转载 活动目录

活动目录(AD)和工作组是基于WINDOWS的局域网中两种不同的网络管理模式。工作组以计算机为管理单元,各计算机管理员身份的用户在资源共享上具有完全自主。一般小型网络采取这种组建模式的居多。活动目录是大中型网络的管理模式,是典型的以用户为单位的管理模式。在硬件上有独立的DC服务器(域控制器)管理用户的登录。在这个网络里,真正具有绝对管理权限的只有域账户的administrator用户。他可

2015-02-27 10:00:34 727

转载 欢迎使用CSDN-markdown编辑器

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

2015-02-13 08:04:42 369

转载 strncpy

字符数组就是元素为字符变量的数组而字符串则是以'\0'为结束字符的字符数组.可见字符数组并不一定是字符串如果用一个字符串字面常量来初始化一个字符数组,数组的长度至少要比字符串字面常量的长度大1,因为还要保存结束符'\0'.例如:char array[] = "Hello";数组array的元素为{'H','e','l','l','o','\0'}. char

2014-12-28 13:49:14 567

原创 strcpy

char* strcpy(char* des, const char* source){     char* p = des;     while((*des++ = *source++) != '\0')             ;     return p;}1.i=*p++ 相当于 i=*(p++),又相当于 i=*p;

2014-12-24 11:18:25 527

原创 用宏定义最大值

#include using namespace std;#define max(a,b) (((a)>(b))?(a):(b))int main(){ cout << max(1+1,2+2) << endl; return 0;}4

2014-12-24 10:59:03 3474

转载 sizeof&strlen

#include using namespace std;int main(){ char s1[] = ""; cout << sizeof(s1) << endl;//1 char s2[] = "hello world"; cout << sizeof(s2) << endl;//12 char *p = s2; cout << sizeof(p) << endl

2014-12-24 10:48:55 530

转载 生产者和消费者

生产者消费者问题是一个著名的线程同步问题:不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经放入产品的缓冲区中再次投放产品生产者和消费者都只有一个,且缓冲区也只有一个,可以用互斥量完成将消费者改成2个,缓冲池改成拥有4个缓冲区的大缓冲池可以知道生产者和消费者由一个变成多个的影响不大,唯一要注意的是缓冲池变大了不难得出用二个信号量就

2014-12-17 17:41:55 654

原创 冒泡排序

#include void bubble_sort(int a[], int n){ for(int i = 0; i < n - 1; i++){ for(int j = 0; j < n - i -1; j++){ if(a[j+1] < a[j]){ int temp = a[j+1]; a[j+1] = a[j]; a[j] = temp; }

2014-12-17 11:55:39 443

转载 libvirt

libvirt是用来管理虚拟机或虚拟化功能的软件集合,主要包括:libvirt API,libvirtd进程和virsh工具集三部分。最初的目的是为不同的hypervisor提供统一的管理接口。The goal of libvirt: to provide a common and stable layer sufficient to securely manage domains on

2014-12-17 11:30:39 517

转载 QEMU

QEMU (short for "Quick EMUlator") 是一种快速的多体系结构仿真器,通过动态翻译的技术达到了优异的仿真速度。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出 可运行在Power上的程序。

2014-12-17 11:28:33 399

转载 虚拟专用网络

虚拟专用网络功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器、硬件、软件等多种方式实现。VPN具有成本低,易于使用的特点。公用网络是指由网络服务提供商建设,供公共用户使用的通信网络。让外地员工访问到内网资源,利用VPN的解决方法就是在

2014-12-17 11:26:59 3020

原创 IAAS

英文名:IAAS(Infrastructureas a Service)中文名:基础设施即服务属性:云计算服务模式Inthe most basiccloud-servicemodel & according to the IETF (Internet Engineering Task Force),providers of IaaS offer computer

2014-12-17 11:12:55 771

原创 多进程和多线程

一个进程调用fork, 创建一个新进程,这个新进程又被成为子进程, fork函数调用一次, 返回两次,子进程返回0, 父进程返回子进程ID,子进程获得父进程数据空间, 堆和栈的副本, 父子进程共享正文段。当在进程中创建一个新线程时, 新线程将拥有自己的栈(因此有自己的局部变量),但它与创建者共享全局变量、文件描述符、信号处理函数等。JAVA的特点之一就是内置

2014-12-17 10:32:29 577

转载 饿汉式单例与懒汉式单例的讨论

Sunny公司开发人员使用单例模式实现了负载均衡器的设计,但是在实际使用中出现了一个非常严重的问题,当负载均衡器在启动过程中用户再次启动该负载均衡器时,系统无任何异常,但当客户端提交请求时出现请求分发失败,通过仔细分析发现原来系统中还是存在多个负载均衡器对象,导致分发时目标服务器不一致,从而产生冲突。为什么会这样呢?Sunny公司开发人员百思不得其解。      现在我们对负载均衡器的实现

2014-12-16 15:58:09 526

转载 STL map

一.Map概述 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的

2014-12-15 15:17:14 386

转载 STL sort

#include #include #include using namespace std;typedef struct index { int a,b;}index;bool cmp(index a , index b){ if (a.a > b.a ) { return true; } else if ( a.a == b.a ) { if (a

2014-12-15 11:08:46 399

原创 插入排序

类似于整理扑克的过程#include using namespace std;void insertion_sort(int a[], int n){ for(int i = 1; i <= n - 1; i++){ int x = a[i]; int j = i - 1; while(j >= 0 && a[j] > x){ a[j+1] = a[j]; j-

2014-12-14 15:32:18 377

转载 自旋锁

自旋锁它是为为实现保护共享资源而提出一种锁机制。其实,自旋锁与互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个保持者,也就说,在任何时刻最多只能有一个执行单元获得锁。但是两者在调度机制上略有不同。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。但是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里

2014-12-11 14:57:53 469

转载 阻塞、非阻塞、异步、同步

常见的IO模型有阻塞、非阻塞、IO多路复用,异步。以一个生动形象的例子来说明这四个概念。周末我和女友去逛街,中午饿了,我们准备去吃饭。周末人多,吃饭需要排队,我和女友有以下几种方案:  (1)我和女友点完餐后,不知道什么时候能做好,只好坐在餐厅里面等,直到做好,然后吃完才离开。女友本想还和我一起逛街的,但是不知道饭能什么时候做好,只好和我一起在餐厅等,而不能去逛街,直到吃完饭才能去

2014-12-11 14:52:29 639

原创 内核态和用户态

当执行用户代码时,进程处于用户态(3级),受硬件限制, 不能进行某些危险动作, 如将数据写入其他进程空间。当进程执行系统API而陷入内核代码时, 进程就处于内核态(0级), 代码可以无限制的对存储和外设进行操作。

2014-12-11 11:03:18 523

原创 文件部署

功能:将文件发送到配置文件中指定的服务器上, 且目录为最大分区.batch.sh#! /bin/shlist_file=$1src_file=$2cat $list_file |while read linedo host_ip=`echo $line | awk '{print $1 }'` username=`echo $line | awk

2014-12-08 20:57:58 731

原创 多线程

#include #include #include #include #include void* thread_function(void *arg);char message[] = "hello world";int main(){    int res;    pthread_t a_thread;    void *thread_re

2014-09-24 16:47:32 461

原创 单例模式

1.#include #include using namespace std;class singleton{private:    singleton(){}    static singleton *p;public:    static singleton *getinstance(){    //唯一外部接口        if(p =

2014-09-24 10:16:45 512

原创 VS2010 C++代码 整理快捷键

ctrl + a + k + f

2014-05-06 10:48:23 2954

原创 小米面试

小米面试我:一面:数据结构+算法:斐波那契数列:非递归-迭代1MB内存,外存-100W整数,排序,O(1)-位图法设计模式:代理模式:OOC++:虚函数表二面:数据结构+算法:快排二叉树遍历设计模式:单例模式-多线程:关系数据库的特性进程和线程的区别三面:数据结构+算法:

2014-04-29 08:40:43 3902 5

原创 完全二叉树根据节点个数求叶子个数

“二叉树的第i层至多有2^(i − 1)个结点;深度为k的二叉树至多有2^k − 1个结点(根结点的深度为1)”因为2^9-1 完全二叉树的深度是10,前9层是一个满二叉树,这样的话,前九层的结点就有2^9-1=511个;而第九层的结点数是2^(9-1)=256所以第十层的叶子结点数是700-511=189个;现在来算第九层的叶子结点个数。由于第十层的叶子结点是从第九层延伸的,所

2014-04-24 16:41:57 11856 1

转载 十进制转二进制

正整数的十进制转换二进制:要点:除二取余,倒序排列解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取将除得的余数,即换算为二进制数的结果例如把52换算成二进制数,计算结果如图:  52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数就是110100。由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,

2014-04-24 15:07:58 1213

原创 一些SQL语句

求各个课程号及相应的选课人数。select cno, count(sno)

2014-04-23 11:00:35 531

转载 三范式

元组:表中的一行就是一个元组。分量:元组的某个属性值。在一个关系数据库中,它是一个操作原子,即关系数据库在做任何操作的时候,属性是“不可分的”。否则就不是关系数据库了。码:表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫候选码,我们从候选码中挑一个出来做老大,它就叫主码。全码:如果一个码包含了所有的属性,这个码就是全码。主属性:一个属性只要在任何一个候选码中出

2014-04-23 09:47:06 605

转载 适配器模式

2014-04-22 20:41:04 423

转载 向下取整和向上取整

向下取整的运算称为Floor,用数学符号⌊⌋表示;向上取整的运算称为Ceiling,用数学符号⌈⌉表示。例如:⌊59/60⌋=0⌈59/60⌉=1

2014-04-22 19:48:58 3662

我的RSS订阅

我的RSS订阅,包括国内外各方面的订阅,希望对你有帮助。

2014-04-29

人机交互--绘图

人机交互课程VC++代码,实现橡皮筋等人机交互技术。

2013-04-12

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

TA关注的人

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