Linux命令目录

以前使用博客园,来写博客,现在使用typecho自己搭了一个博客,网站,就把以前在博客园的安装不同分类做个目录放过来吧,一篇一篇搬过来挺不方便的。 这里是Linux命令博客目录,介绍了Linux系统常用的命令,是学习Linux系统不错的资料。

- 阅读全文 -

C++拷贝构造函数的调用时机

一、拷贝构造函数调用的时机​ 当以拷贝的方式初始化对象时会调用拷贝构造函数,这里需要注意两个关键点,分别是以拷贝的方式和初始化对象1. 初始化对象初始化对象是指,为对象分配内存后第一次向内存中填充数据,这个过程会调用构造函数,对象被创建后必须立即初始化。也就是说只要创建对象就会调用构造函数。2.初始化和赋值的区别初始化和赋值都是将数据写入内存中,从表面看,初始化在很多时候都是以复制的方式来实

- 阅读全文 -

C++拷贝构造函数

一、对象的拷贝拷贝和复制是一个意思,对计算机来说就是利用已经存在的数据创建出一份新的和原有数据一模一样的数据。在C++中,拷贝是指用已经存在的对象创建出一个新的对象。严格来说,对象的创建包括两个阶段,首先要分配内存空间,然后再进行初始化。分配内存空间就是在,就是在堆、栈或者全局数据区留出足够的字节空间,它所包含的数据一般是零或者随机值,没有什么实际意义。初始化就是首次对留出的这段字节空间赋值,让里

- 阅读全文 -

Javascript闭包

闭包严格地定义是由函数及其封闭的自由变量组成的集合体,这个定义是不是感觉晦涩那么懂,那么就先来看一个例子。var getCounter = function() { var count = 0; function addCount() { count++; return count; } return addCount; } var co

- 阅读全文 -

Node.js使用UDP通讯

Node.js 的 dgram 模块可以方便的创建udp服务,,以下是使用 dgram模块创建的udp服务和客户端的一个简单例子。

- 阅读全文 -

Node.js使用TCP通讯

Node.js 的 net 模块可以方便的创建TCP 服务,以下是使用 net 模块创建的tcp 服务和客户端的一个简单例子。

- 阅读全文 -

Js 中的原始值和引用值

最近遇写 node.js 时到一个问题,把对象当赋值给数组成员时总是出错,比如下面的代码,var Arr = new Array(); var Obj = new Object(); for(var i =0; i<5; i++ ){ Obj.a = i; Arr[i] = Obj; } for(var i in Arr ){ console.log( Arr[

- 阅读全文 -

windows多线程(十一) 生产者消费者问题

一、概述生产者消费者问题是一个著名的线程同步问题,该问题描述如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,显然生产者和消费者之间必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经放入产品的缓冲区中再次投

- 阅读全文 -

windows多线程(十) PV原语分析同步问题

一、PV原语介绍PV原语通过操作信号量来处理进程间的同步与互斥的问题。其核心就是一段不可分割不可中断的程序。信号量的概念1965年由著名的荷兰计算机科学家Dijkstra提出,其基本思路是用一种新的变量类型(semaphore)来记录当前可用资源的数量。有两种实现方式:1)semaphore的取值必须大于或等于0。0表示当前已没有空闲资源,而正数表示当前空闲资源的数量;2) semaphore的取

- 阅读全文 -

windows多线程(九) 信号量Semaphore

如果你看到了这里,我就认为你已经对掌握了有关关键段 CriticalSection、互斥量Mutex和事件Event有关的内容,所以最基本的东西就不再介绍了。如果没有掌握上面说的内容,可以看这里:关键段 CriticalSection互斥量Mutex事件Event

- 阅读全文 -