摘要: 僵尸进程处理 僵尸进程和孤儿进程: 基本概念:我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者w 阅读全文
posted @ 2016-08-15 10:07 Kobe10 阅读(844) 评论(3) 推荐(0)
摘要: TCP是个流协议,它存在粘包问题 产生粘包的原因是: TCP所传输的报文段有MSS的限制,如果套接字缓冲区的大小大于MSS,也会导致消息的分割发送。 由于链路层最大发送单元MTU,在IP层会进行数据的分片。 应用层调用write方法,将应用层的缓冲区中的数据拷贝到套接字的发送缓冲区。而发送缓冲区有一 阅读全文
posted @ 2016-08-14 20:41 Kobe10 阅读(526) 评论(0) 推荐(0)
摘要: 一开始个人对于三次握手和四次挥手这个东西还是有时候会忘记,可能理解的不是非常深刻,所以今天就自己动手来记录一下这个知识点,方便以后查看。总结完之后发现总结的还是可以的哈哈。 三次握手建立连接 第一次:客户端和服务器端一开始都是关闭的。①:当想建立连接的时候,客户端首先主动打开,然后服务器端被动打开。 阅读全文
posted @ 2016-08-14 17:28 Kobe10 阅读(1153) 评论(1) 推荐(1)
摘要: Socket地址复用 int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, int optname, con 阅读全文
posted @ 2016-08-14 15:51 Kobe10 阅读(1501) 评论(0) 推荐(0)
摘要: IPv4套接口地址结构 IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件中 LINUX结构下的常用结构,一般创建套接字的时候都要将这个结构里面的值进行初始化 struct sockaddr_in { sa_family_t sin_family 阅读全文
posted @ 2016-08-14 14:03 Kobe10 阅读(9081) 评论(0) 推荐(1)
摘要: 函数 --函数 --系统函数 http://moodlove.blog.hexun.com/85072514_d.html SELECT ROUND(3.141,2); 字符串函数 http://blog.csdn.net/primer_programer/article/details/40410 阅读全文
posted @ 2016-08-13 17:50 Kobe10 阅读(186) 评论(0) 推荐(0)
摘要: 内连接查询 意义:找到表和表之间的关系或者是桥梁。连接查询是查询两个或者两个以上的表时使用的。 JOIN|CROSS JOIN| INNER JOIN 通过ON 连接条件(这三个方式都行)一般用JOIN进行连接,ON后面接连接条件 --查询cms_user id,username 省份表中和用户表中 阅读全文
posted @ 2016-08-13 10:41 Kobe10 阅读(431) 评论(0) 推荐(0)
摘要: 插入数据 --测试插入数据 INSERT 表名 VALUES|VALUE(值...)--当没有指定插入顺序的时候按照表的原来的顺序进行插入 INSERT 表名(需要赋值的字段名称) VALUES|VALUE(值...)--这里的值必须和前面需要赋值的字段对应 INSERT 表名(需要赋值的字段名称, 阅读全文
posted @ 2016-08-12 16:32 Kobe10 阅读(264) 评论(0) 推荐(0)
摘要: 修改表名 --创建用户表 CREATE TABLE IF NOT EXISTS user7( id SMALLINT UNSIGNED KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password CHAR(20) NOT NU 阅读全文
posted @ 2016-08-12 11:02 Kobe10 阅读(233) 评论(0) 推荐(0)
摘要: 主键的测试 PRIMARY KEY(PRIMARY可以省略) --查看创建表的标的定义,可以查看主键 SHOW CREATE TABLE user1; INSERT user1 VALUES(1,'king');--主键不能重复 INSERT user1 VALUES(13,'king'); --复 阅读全文
posted @ 2016-08-12 08:35 Kobe10 阅读(4892) 评论(0) 推荐(1)
摘要: 登录的常用参数 mysql -uroot -p 之后再加上密码 mysql -uroot -p+密码 这个方法不安全 mysql -hlocalhost -uroot -p 之后再加上密码 -P+端口号 默认的端口号是3306 -V输出版本信息 修改命令提示符:--prompt=_____;这里有四 阅读全文
posted @ 2016-08-12 07:58 Kobe10 阅读(205) 评论(0) 推荐(0)
摘要: 数据表 必须要有表结构,一定要有列.help +关键字 查找帮助 创建数据表 CREATE TABLE [IF NOT EXISTS ] tbl_name(字段名称 字段类型 [完整的约束条件]...)ENGINE=引擎名称 CHARSET='编码方式'; mysql中的数据类型 整数类型:TINY 阅读全文
posted @ 2016-08-11 17:50 Kobe10 阅读(480) 评论(0) 推荐(0)
摘要: 创建数据库 CAEATE {DATABASE|SCHEMA}[IF NOT EXISTS] db_name ;这里面{}中的是二选一的,[]中的是不是必须的 这里创建的时候可以加上编码方式。 mysql> CREATE DATABASE IF NOT EXISTS maizi3 DEFAULT CH 阅读全文
posted @ 2016-08-11 16:16 Kobe10 阅读(195) 评论(0) 推荐(0)
摘要: 一.逻辑运算符 1.& 位与运算 1) 运算规则 位与运算的实质是将参与运算的两个数据,按对应的二进制数逐位进行逻辑与运算。例如:int型常量4和7进行位与运算的运算过程如下: 4=0000 0000 0000 0100 &7 =0000 0000 0000 0111= 0000 0000 0000 阅读全文
posted @ 2016-08-11 09:41 Kobe10 阅读(596) 评论(1) 推荐(2)
摘要: 了解隐式接口和编译期多态 编译期多态和运行期多态 运行期多态就好比是virtual函数再运行的时候才确定该virtual函数该被绑定为哪个函数,运行的时候才确定函数类型。 编译期多态就好比是泛型编程和模板编程中,在编译的时候才确定哪个函数该被调用,根据函数的类型去确定。 显示接口和隐式接口 显示接口 阅读全文
posted @ 2016-08-07 10:04 Kobe10 阅读(357) 评论(0) 推荐(0)
摘要: 确定你的public继承塑模出is-a关系 public继承和is-a的之间的等价关系很简单。例如动物和鸟,鸟一定是动物,而动物不一定是鸟。 public继承意味着is-a。适用于base classes身上的每一件事情也是一定适用于派生类身上的,因为每一个派生类对象也都是一个base classe 阅读全文
posted @ 2016-08-07 08:05 Kobe10 阅读(318) 评论(0) 推荐(0)
摘要: 尽可能的延后变量定义式出现的时间 产生问题:定义一个变量,其含有构造函数和析构函数。那么当代码运行到它的时候,就必须会产生构造成本和析构成本,如果这个变量最终未使用,那么就是浪费了资源空间,所以应该尽可能的延后变量定义式的时间 解决方法:不只是应该延后变量的定义,知道非得使用该变量的前一刻为止,甚至 阅读全文
posted @ 2016-08-06 10:42 Kobe10 阅读(188) 评论(0) 推荐(0)
摘要: 让接口容易被正确使用,不容易被误用 好的接口容易被正确的使用,不容易被误用。你应该在你的所有接口中努力达到这些性质。 促进正确使用的办法包括接口的一致性,以及与内置类型的行为兼容 阻止误用的办法包括建立新类型,限制类型上的操作,束缚对象值,消除客户的资源管理责任 设计class犹如设计type 宁以 阅读全文
posted @ 2016-08-05 15:32 Kobe10 阅读(182) 评论(0) 推荐(0)
摘要: 以对象管理资源 问题产生:当一个类的一个函数返回的是一个指针,指向这个类的对象。然后有这么个函数 void f(){ my * p=createmy();返回对象的指针 ... delete p; } 因为...这个东西可能不能够删除那个指针,资源就没有办法释放了。..可能发生过早的return语句 阅读全文
posted @ 2016-08-05 09:12 Kobe10 阅读(305) 评论(0) 推荐(0)
摘要: 了解C++默默编写并且调用哪些函数 一个空类,C++处理过后会默认加上一个复制构造函数,复制赋值操作符和析构函数,但是只有当这些函数被需要被调用的时候才会被C++创建,平时的话一个空类不被使用也就是一个空类了。 编译器生成的copy构造函数用法 默认的这两个函数仅仅是将对象的成员进行简单赋值。 这就 阅读全文
posted @ 2016-08-05 07:53 Kobe10 阅读(297) 评论(0) 推荐(0)