自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

转载 virtualbox安装Ubuntu虚拟机实现与windows真机文件共享教程(mount -t vboxsf方法)

在windows下利用virtualbox安装Ubuntu,安装完成后可以通过virtualbox的共享文件夹实现windows和linux的文件共享。具体方法如下:1、安装virtualbox增强功能包virtualbox启动虚拟机后,点击虚拟机主界面上的“设备”->"安装增强功能",输入密码后即可顺利安装增强功能;2、执行./VBoxlinuxAddtions.run增强功能安装完成后,...

2018-02-26 17:37:37 5028 1

转载 Linux下WPS提示字体缺失的解决方法

WPS既有Windows版本又有Linux版本,Linux安装WPS完成后启动,提示系统缺失字体,下载字体文件,百度云盘链接地址:http://pan.baidu.com/s/1qYqg1M8。解压后将整个wps_symbol_fonts目录拷贝到 /usr/share/fonts/ 目录下注意,wps_symbol_fonts目录要有可读可执行权限1、权限设置,执行命令如下

2017-09-12 14:25:56 6240

转载 ubuntu 无法解析主机的解决方法

新搭建ubuntu系统,在执行sudo命令时,会提示sudo: unable to resolve host ,亦即无法解析主机。解决方法如下:1、 sudo vim /etc/hosts找到如下行:127.0.1.1       XXX将其修改为:127.0.1.1       现在的主机名注:现在的主机名即 /etc/hostname 中的名字

2017-09-07 13:12:06 1591

转载 VMware安装VMware Tools遇到的问题

问题:点击“虚拟机 --> 安装VMware Tools” 弹出:请确保您已登录客户机操作系统。在客户机中装载虚拟CD驱动器,启动终端,使用tar解压缩安装程序,然后执行vmware-install.pl安装vmware Tools;客户机操作系统已将 CD-ROM 门锁定,并且可能正在使用 CD-ROM,这可能会导致客户机无法识别介质的更改。如果可能,请在断开连接之前从客户机内部

2017-09-04 10:03:38 5455 2

转载 Ubuntu如何查找某个*.so属于哪个包并安装

有时我们会遇到如下情况:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory,我们首先知道的是缺少libz.so.1这个库文件。解决方法:很明显就是安装这个库所在包,可是我们怎么这知道 libz.so.1

2017-06-23 17:00:02 7091 1

转载 关于栈区、堆区、全局区、常量区、代码区的总结

一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack): 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) : 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static):全局变量和静态变量的存储是

2016-08-22 15:06:42 630

转载 Linux系统下安装Adobe Flash Player插件的方法

linux系统上用火狐浏览器看视频的时候发现没有安装flash player插件,无法播放视频。简单几步安装插件,就可以快乐地使用linux系统看视频了。步骤如下:    一、打开视频网站时提示无法加载视频,没有安装插件,点击视频节目中间的安装插件按钮。    二、点击安装后会自动打开flashplayer下载界面,需要选择安装方式。    三、在弹出来的界面中左下角选择安装方式,

2016-08-09 09:33:09 21144

原创 基于线程池的线程调度管控系统

本文将详细描述“基于线程池的线程调度管控系统”的实现原理,以梳理当时的编程思路。由于项目需要,测试方提出了针对项目的改进方案,当时几乎所有研发组成员均认为这并非解决问题的关键所在,但是测试方依旧执意肯定方案的可行性,好吧,咱们就按测试方的要求进行开发就可以了。简单叙述一下此线程池的开发背景:客户端是批量运行的,虽然客户端均运行在服务器上,但是大量客户端运行时它们所占有的机器资源是抢占式的,

2016-06-30 16:57:51 1295

转载 一个Linux下C线程池的实现

1.线程池基本原理  在传统服务器结构中, 常是 有一个总的 监听线程监听有没有新的用户连接服务器, 每当有一个新的 用户进入, 服务器就开启一个新的线程用户处理这 个用户的数据包。这个线程只服务于这个用户 , 当 用户与服务器端关闭连接以后, 服务器端销毁这个线程。然而频繁地开辟与销毁线程极大地占用了系统的资源。而且在大量用户的情况下, 系统为了开辟和销毁线程将浪费大量的时间和资源。线程池提

2016-06-01 09:31:23 495

转载 linux ifconfig命令详解(未完待续)

许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改

2016-03-31 17:23:39 2546

原创 linux route命令使用详解(未完待续)

route命令用于显示和操作IP路由表。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是 为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为 Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永

2016-03-30 13:34:25 1436

转载 Debian下配置网络的方法

1.网络配置配置网卡修改 /etc/network/interfaces 添加如下123456789# #号后面是备注,不要添加哦! auto eth0 #开机自动激活iface eth0 inet static#静态IPaddress 192.168.0.56#本机IPnetm

2016-03-29 09:26:31 4946

转载 性能优化之Swap调优

目标:解决大量Log写入占用大量的File Cache,内容利用不充分导致swap基本原则:尽量使用内存,减少swap,同时尽早flush到外存,早点释放内存给写cache使用。---特别在持续的写入操作中,此优化非常有效。调优措施:vm.swapiness :60 改成 10vm.dirty_ratio:90 改成 10vm.dirty_background_ratio:60

2016-03-01 14:26:13 1030

转载 linux /proc/loadavg(负载均衡)

一、什么是系统平均负载(Load average)?在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢?系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:  - 它没有在等待I/O操作的结果  - 它没有主动进入等待状态(也就是没有调用'wait')

2016-03-01 12:40:40 776

原创 统计文件中每个单词的出现次数

统计文件中每个单次的出现次数是C语言经典案例之一,当然如果你对shell编程比较精通的话,也可以直接用shell语句统计出来。本文阐述的是用C语言实现单词统计,应用的数据结构为二叉树,所以需要读者十分了解二叉树的基本性质,回归代码需求,平衡二叉树拥有很高的查找效率,此外树型结构的插入效率也至关重要,对于二叉树插入和平衡操作是“先插入最后做平衡”还是“边插入边做平衡”,我曾经对比过二者的实际效率

2016-02-18 16:44:40 7138 2

原创 不使用库函数实现字符串的复制、连接、比较、反转、计算长度及易混淆点等

Linux C与C面试中经常提到类似问题,主要考察的是对字符串函数的实现原理和对指针的理解程度,总结一下,共同提高。--------------------------------------------------------------------------------------实现函数:strcpy  6 char *my_strcpy(char *dest, const

2016-02-18 10:41:37 1103

原创 基于二叉树和链表结构的文本重复序列去重算法

#include #include #include #include #include #include #include #include #include #define handle_error(msg)    do{perror(msg);exit(EXIT_FAILURE);}while(0)#define MAXSIZE

2016-02-17 14:05:38 790

原创 开放定址散列算法

上篇文章讲解了散列算法之分离链接法,其实解决冲突的另一种常用方法是开发定址法。分离链接散列算法的缺点是需要指针,由于给新单元分配地址需要时间,因此这就导致算法的速度多少有些减慢,同时算法实际上还要求对另一种数据结构的实现;除用链表解决冲突外,开放定址散列法是另一种不用链表解决冲突的方法,在开放定址散列算法系统中,若发生冲突,那么就尝试选择另外的单元,直到找到空位置为止。因为所有的数据都

2016-02-17 13:43:47 552

原创 分离链表散列算法

散列是我们在实际编程中经常用到的一种算法,也就是很多人所说的“哈希算法”,散列表的实现通常叫做散列。理想的散列表数据结构只不过是一个包含关键字的具体固定大小的数组,我们把表的大小记作 table_size,通常是让表的大小从0到table_size-1变化;典型情况下,一个关键字就是一个带有相关值的字符串,每个字符串被映射到从0到table_size-1这个范围中的某个数,并且被放到适当的

2016-02-17 13:22:25 1537

转载 使用ssh公钥实现免密码登录其他主机

ssh无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。首先以root账户登陆为例。1.在A机下生成公钥/私钥对。[root@A ~]# ssh-keygen -t rsa -P ''-P表示

2016-01-07 13:28:13 845

转载 MultiByteToWideChar和WideCharToMultiByte用法详解

注意:这两个函数是由Windows提供的转换函数,不具有通用性C语言提供的转换函数为mbstowcs()/wcstombs()一、函数简单介绍涉及到的头文件:函数所在头文件:windows.h#include wchar_t类型所需头文件:wchar.h#include ( 1 ) MultiByteToWideC

2015-12-07 16:38:33 633

转载 根据Linux 线程挂起与唤醒原理,实现Sleep的暂停与继续

int pthread_cond_wait( pthread_cond_t  *cond,pthread_mutex_t  *mutex );多线程的条件变量条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。

2015-12-01 14:06:37 10081

转载 linux下利用backtrace追踪函数调用堆栈以及定位段错误

一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。 int backtrace(void **buffer,int size)  该函数用于获取当前线

2015-11-18 14:24:03 631

原创 对指针的进一步理解

近期由于项目收尾,时间比较充裕,故翻看了大量的面试题,其中多以Linux C+网络知识为主,对以往C的知识盲点也有了进一步认识。本篇文章的编写侧重于对C语言的指针的理解,总结一下与大家共同温习、巩固。其中有一道面试题:不利用库函数,实现strcat,下面两种实现方法中哪一个正确的?为什么?方法一:char  *my_strcat(char *dest,char *s

2015-11-17 23:09:36 418

转载 GCC 中的编译器堆栈保护技术

以堆栈溢出为代表的缓冲区溢出攻击已经成为一种普遍的安全漏洞和攻击手段。本文首先对编译器层面的堆栈保护技术作简要介绍,然后通过实例来展示 GCC 中堆栈保护的实现方式和效果。最后介绍一些 GCC 堆栈保护的缺陷和局限。以堆栈溢出为代表的缓冲区溢出已成为最为普遍的安全漏洞。由此引发的安全问题比比皆是。早在 1988 年,美国康奈尔大学的计算机科学系研究生莫里斯 (Morris) 利用 UNIX f

2015-11-17 16:47:21 568

原创 C经典面试题,下面的代码的目的是使字符串倒序,如“abcd”倒序后变为"dcba",请找出错误,并改正

最近公司不忙,便翻看了很多公司以往的面试题,发现这道题出现的次数比较多,主要是考察应聘者的基本功及良好的代码习惯,总结出来希望和大家温习一下C基础。题目要求:以下代码的目的是把一个字符串倒序,如“abcd”倒序后变为“dcba”,请找出所有错误,并改正

2015-11-05 17:10:01 5478 1

使用UltraISO制作ubuntu安装u盘启动盘图文教程.

Ubuntu基于Debian发行版和GNOME桌面环境,在下载 得到Ubuntu的光盘镜像后,可以选择刻盘引导安装或利用unetbootin工具用U盘引导安装。

2017-06-23

线程池技术在并发服务器中的应用

线程池技术在并发服务器中的应用

2016-08-23

空空如也

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

TA关注的人

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