- 博客(32)
- 收藏
- 关注
转载 HTTP Session、Cookie机制详解
HTTP Session、Cookie机制详解 </h1> <div class="clear"></div> <div class="postBody"> 一、什么是http session,有什么用...
2019-10-21 16:51:40
168
原创 C++面试题
这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。 1.求下面函数的返回值( 微软)int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1);...
2019-10-21 16:48:12
421
原创 C++ Queues(队列)、Priority Queues(优先队列)
C++ Queues(队列)、Priority Queues(优先队列) C++ Queues(队列)C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一个元素4.pop() 删除第一个元素5.push() 在末尾加入一个元素6.size()...
2019-10-21 16:36:22
448
原创 常见面试题整理--数据库篇
(一)什么是存储过程?有哪些优缺点?存储过程是一些预编译的SQL语句。更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程是一个预编译的代码块,执行效率比较高 一个存储过程替代大量T_SQL语句 ,可以降低网...
2019-10-21 16:30:52
144
1
转载 深度理解select、poll和epoll
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-21 16:26:13
140
转载 深入理解C++的动态绑定和静态绑定
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-20 10:59:26
107
转载 常见面试题整理--数据库篇(每位开发者必备
常见面试题整理--数据库篇(每位开发者必备)转载自:https://zhuanlan.zhihu.com/p/23713529 知乎专栏继续...
2019-10-20 10:52:38
141
转载 比较全面的gdb调试命令
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组...
2019-10-20 10:49:41
203
转载 输入一个url到浏览器页面展示都经历了哪些过程
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-20 10:41:42
240
转载 ftp关键技术二:nobody进程创建和使用(一)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-20 10:33:46
846
转载 ftp关键技术二:nobody进程创建和使用(二)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-20 10:29:10
505
原创 volatile有什么作用?
volatile有什么作用? volatile定义变量的值是易变的,每次用到这个变量的值的时候都要去重新读取这个变量的值,而不是读寄存器内的备份。 多线程中被几个任务共享的变量需要定义为volatile类型。 什么是常引用? 常引用可以理解为常量指针,形式为const typename & refname = varname。 常引用下,原变量值不会被别...
2019-09-03 19:00:57
462
原创 指针和引用区别
指针和引用区别?引用只是别名,不占用具体存储空间,只有声明没有定义;指针是具体变量,需要占用存储空间。引用在声明时必须初始化为另一变量,一旦出现必须为typename refname &varname形式;指针声明和定义可以分开,可以先只声明指针变量而不初始化,等用到时再指向具体变量。 引用一旦初始化之后就不可以再改变(变量可以被引用为多次,但引用只能作为一个变量引用);指针变量...
2019-09-03 18:59:07
204
原创 变量声明和定义区别
变量声明和定义区别?声明仅仅是把变量的声明的位置及类型提供给编译器,并不分配内存空间;定义要在定义的地方为其分配存储空间。 相同变量可以再多处声明(外部变量extern),但只能在一处定义。"零值比较"?bool类型:if(flag) int类型:if(flag == 0) 指针类型:if(flag == null) float类型:if((flag >= -0.00000...
2019-09-03 18:52:39
1080
原创 统一事件源
信号对于Linux网络编程来说,信号是一个永远绕不过的话题。最近在做负载均衡项目,用到一些信号方面的知识。尤其是统一事件源这种处理逻辑,目前还不是很熟悉。所以写篇博客记录下,算是回炉再细致地看一看。本文参考《Linux高性能服务器编程》的第十章。信号是由用户、系统或者进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。信号的产生条件对于前台进程,用户在终端输入特殊字符来发送...
2019-08-03 22:22:55
509
原创 线程同步机制(一)
线程同步机制(一)资源竞争互斥死锁信号量条件变量资源竞争存在一个任务队列,多个并发线程同时处理这些任务。每个线程在完成某项任务后,检查任务队列中是否有新任务。如果有就处理该任务,并将该任务从任务队列中删除假设:两个线程碰巧完成各自任务,但队列中只有一个任务。可能发生的情况:第一个线程发现任务队列非空,准备接收该任务,但没有完成全部设置。此时,操作系统碰巧中断该线程。第二个线程...
2019-06-07 15:33:07
182
原创 线程管理(四)
线程局部存储、线程清除线程局部存储每个线程独有的数据线程特定数据进程的多个线程通过全局堆共享全局数据对象每个线程拥有独立的栈让线程拥有数据的独立副本:不能简单赋值或读取pthread_key_create()函数:为线程特定数据创建一个键原型: int pthread_key_create(pthread_key_t *key, void (*destr_fun...
2019-06-07 14:38:15
133
原创 线程管理(三)
线程ID、线程属性、线程撤销线程IDpthread_equal()函数:确认两个线程是否相同原型int pthread_equal(pthread_t t1, pthread_t t2);pthread_self()函数:返回当前线程ID原型:pthread_t pthread_self(void);示例 if (!pthread_equal (pthread_...
2019-06-07 12:08:34
101
原创 线程管理(二)
线程函数参数与返回值线程函数参数//注意本程序运行大部分情况下不会输出任何结果#include <iostream>#include <pthread.h>using namespace std;class InfoPrinted { public: InfoPrinted (char c, int n) : _c (c), _n (n) ...
2019-06-07 10:48:38
99
原创 线程管理(一)
线程管理线程创建线程函数参数与返回值线程ID线程属性线程撤销线程局部存储线程清除线程创建函数头文件:<pthread.h>原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine...
2019-06-07 10:03:38
134
原创 线程基本概念
线程基本概念线程的定义线程是比进程更小的程序执行单位多个线程可以共享全局数据,也可以使用专有数据Linux线程支持史1996年,LinuxThreads:基本符合POSIX标准,但效率低下,问题多多2003年,内核2.6:提供线程支持库NPTL(Native POSIX Thread Library for Linux)内核线程操作系统内核支持多线程调度与执行内核线程使...
2019-06-07 09:39:37
217
原创 Netcat的使用
Windows:192.168.2.1Ubuntu:192.168.2.9c/s (W)s: nc -l -p 4444 -l listen -p port (U)c: nc 192.168.2.1 4444echo shell: (W)s: nc -l -p 4444 -e cmd.exe //-e 执行...
2019-06-06 18:04:35
586
1
原创 处理来自系统调用和库函数调用的错误
处理来自系统调用和库函数调用的错误 几乎每个系统调用和库函数都会返回某类状态值,用以表明调用成功与否。要了解调用是否成功,必须坚持对状态值进行检查。若调用失败,那么必须采取相应行动。至少,程序应该显示错误消息,警示有意想不到的事件发生。 不检查状态值,少敲儿个字,听起来的确诱人(尤其是见识到了不检查状态值的UNIX/Linux 程序以后),但实际却得不偿失。认定系统调用或库函数“不可能失败...
2019-04-12 21:30:44
501
原创 用条件变量和互斥量实现读写锁
#ifndef _PTHREAD_RWLOCK_H#define _PTHREAD_RWLOCK_Htypedef struct{ pthread_mutex_t rw_mutex; //互斥锁 pthread_cond_t rw_condreaders; //读线程等待 pthread_cond_t rw_condwri...
2019-03-26 21:24:32
313
原创 Linux进程编程
进程是操作系统中最基本、最重要的概念,可以说进程是操作系统结构的基础。操作系统上任何程序的执行都离不开进程。1.进程的概念传统的程序本是一组指令的集合,是一个静态实体,无法描述程序在内存中的执行情况,也就不能如实反映程序并发执行过程的特征,为了深刻描述程序动态执行过程的性质,人们就引入了“进程”的概念。 进程在系统中表现为一种数据结构,实现对正在运行的程序过程的抽象,其中进程由三个部分组成:...
2019-03-07 20:20:36
80
原创 如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件
zipzip可能是目前使用的最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux,Windows和Mac OS上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。闲话少说,我们步入正题吧。我们可以使用下列命令压缩一个目录:# zip -r archive_name.zip directory_to_compress下面如果是解压...
2019-03-03 21:33:50
717
原创 硬链接和软链接
linux系统中链接文件分为硬链接和软链接(软链接也叫符号链接)。硬链接和软链接都是指向文件的一种方式,但两者有不同的地方,主要有以下不同:硬链接是创建一个指向block的inode,有防止误删除的功能。因为删除一个文件,实际上是删除inode信息,切断了inode与block之间的联系。当给一个文件做了硬链接之后,删除文件时,只会减少文件的链接数,当链接数为零时,才会彻底删除该文件。软链接类...
2019-03-03 21:27:03
295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人