C语言中的指针运算
摘要:int a[5]={1,2,3 ,4,5} *p=a; *p++ 等价于*(p++) 等价于a[i++](i++ i首先会被使用任何进行自+) *++p等价于*(++p) 等价于 a[++i] (++i i首先自+然后被引用)
阅读全文
posted @
2017-07-22 10:56
paulversion
阅读(208)
推荐(0) 编辑
c语言的编译和运行流程
摘要:C语言源程序经过编译器进行词法分析 语法分析 等过程生成中间语言(object后缀的文件)编译期间会生成一个字符表和静态分配空间(如new static 全局变量)它们所需的内存空间可以计算出来放在链接库后的可执行文件中(虚拟内存即磁盘),在运行将放在可执行文件中的偏移量加载到内存的堆中同时将局部变
阅读全文
posted @
2017-07-19 21:51
paulversion
阅读(596)
推荐(0) 编辑
php写守护进程(Daemon)
摘要:转载自http://blog.csdn.net/tengzhaorong/article/details/9764655 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。PHP也可以实现守护进程的功能。
阅读全文
posted @
2017-07-14 14:22
paulversion
阅读(6302)
推荐(0) 编辑
yii2.0 console执行php守护进程
摘要://该方法只需执行一次public function actionIndex(){ $pid =pcntl_fork();//在当前进程中生成一个新的子进程 //$pid会有三种形式 $pid 1生成子进程失败 $pid==0生成子进程成功 $pid>0在父进程中 if($pid == -1) {
阅读全文
posted @
2017-07-14 14:17
paulversion
阅读(685)
推荐(0) 编辑
PHP实现敏感词过滤系统
摘要:安装说明 安装PHP扩展 trie_filter,安装教程 http://blog.41ms.com/post/39.html 安装PHP扩展 swoole,安装教程 http://www.swoole.com/ 代码说明 1、敏感词库维护更新脚本: reload_dict.php,提供自动更新字典
阅读全文
posted @
2017-07-11 14:33
paulversion
阅读(18538)
推荐(3) 编辑
RabbitMQ与Redis做队列比较
摘要:本文仅针对RabbitMQ与Redis做队列应用时的情况进行对比 具体采用什么方式实现,还需要取决于系统的实际需求简要介绍RabbitMQRabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗
阅读全文
posted @
2017-07-07 16:58
paulversion
阅读(262)
推荐(0) 编辑
利用redis + lua解决抢红包高并发的问题
摘要:转载自 http://blog.csdn.net/hengyunabc/article/details/19433779/ 抢红包的需求分析 抢红包的场景有点像秒杀,但是要比秒杀简单点。因为秒杀通常要和库存相关。而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包
阅读全文
posted @
2017-07-07 15:29
paulversion
阅读(216)
推荐(0) 编辑
抢红包的红包生成算法
摘要:转载自http://blog.csdn.net/hengyunabc/article/details/19177877 过年微信红包很火,最近有个项目也要做抢红包,于是写了个红包的生成算法。 红包生成算法的需求 预先生成所有的红包还是一个请求随机生成一个红包 简单来说,就是把一个大整数m分解(直接以
阅读全文
posted @
2017-07-07 15:27
paulversion
阅读(867)
推荐(0) 编辑
物理内存,虚拟内存
摘要:1. 物理内存: 物理内存指的是插在计算机主板内存槽上的实际物理内存,CPU可以直接进行寻址; 物理内存的容量是固定的,但是寻址空间却取决于cpu地址线条数,如32位机,则寻址空间为2^32=4G, 即最大支持4G的寻址空间,即使我们插入了32G容量的内存条,我们也只能拥有4G的物理内存; 2. 虚
阅读全文
posted @
2017-07-06 13:36
paulversion
阅读(493)
推荐(0) 编辑
程序编译后运行时的内存分配
摘要:太好的文章了,看到不得不转,转自:http://blog.sina.com.cn/s/blog_5420e0000101a0w1.html 一、编译时与运行时的内存情况 1.编译时不分配内存编译时是不分配内存的。此时只是根据声明时的类型进行占位,到以后程序执行时分配内存才会正确。所以声明是给编译器看
阅读全文
posted @
2017-07-06 10:53
paulversion
阅读(968)
推荐(0) 编辑
变量的内存单元是编译器在编译时候分配的
摘要:内存申请和释放时机很重要,过早会丢失数据,过迟会耗费内存。特定情况下编译器可以帮我们完成这项复杂的工作(增加额外的代码维护内存空间,实现申请和释 放)。从这个意义上讲,局部自动变量也是由编译器负责分配空间的。进一步讲,内存管理用到了我们常常挂在嘴边的堆和栈这两种数据结构最后对于“编译器分配空间”这种
阅读全文
posted @
2017-07-05 22:02
paulversion
阅读(302)
推荐(0) 编辑
C语言中的编译时分配内存
摘要:1.栈区(stack) --编译器自动分配释放,主要存放函数的参数值,局部变量值等; 2.堆区(heap) --由程序员分配释放; 3.全局区或静态区 --存放全局变量和静态变量;程序结束时由系统释放,分为全局初始化区和全局未初始化区; 4.字符常量区 --常量字符串放与此,程序结束时由系统释放;
阅读全文
posted @
2017-07-05 21:55
paulversion
阅读(1026)
推荐(0) 编辑
centos7.0 增加/usr分区的容量减少home分区的大小
摘要:把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home:tar cvf /tmp/home.tar /home #备份/homeumount /home #卸载/home,如果无法卸载,先终止使用/home文件系统的进程lvremove /dev/ce
阅读全文
posted @
2017-07-03 21:13
paulversion
阅读(511)
推荐(0) 编辑
centos7.0 crontab 的yii计划任务没有执行
摘要:*/1 * * * * /www/yii solr/update-article 创建了每分钟执行一次的计划而计划任务没有执行 原因是自己少加了执行用户 */1 * * * * php /www/yii solr/update-article
阅读全文
posted @
2017-07-03 09:31
paulversion
阅读(151)
推荐(0) 编辑
centos7.0 tomcat9.0 ip访问 manager
摘要:版本:Tomcat 9.0 问题:新安装的tomcat,用其他机器访问tomcat的Server Status、Manager App、Host Manager三个页面均显示403(本机访问没有问题),conf/tomcat-users.xml里已添加配置: <role rolename="mana
阅读全文
posted @
2017-07-02 14:28
paulversion
阅读(169)
推荐(0) 编辑
centos7.0安装redis扩展
摘要:1、下载 下载地址:https://github.com/phpredis/phpredis/ 文件名:phpredis-develop.zip 文件下载成功后,上传至/usr/local 2、安装 unzipphpredis-php7.zip cd phpredis-php7 /usr/local
阅读全文
posted @
2017-07-02 01:18
paulversion
阅读(113)
推荐(0) 编辑
centos7.0 安装pdo_mysql扩展
摘要:1:进入到源码包 /usr/local/php-7.1.6/ext/pdo_mysql 执行/usr/local/php-7.1/bin/phpize 如果报如下错误: Cannot find autoconf. Please check your autoconf installation and
阅读全文
posted @
2017-07-01 21:24
paulversion
阅读(686)
推荐(0) 编辑
在centos中创建nginx启动脚本
摘要:1. 建立脚本文件nginxd [root@could]# vi /etc/init.d/nginxd 插入以下内容 #!/bin/bash## chkconfig: - 85 15# description: Nginx is a World Wide Web server.# processna
阅读全文
posted @
2017-07-01 20:52
paulversion
阅读(176)
推荐(0) 编辑
centos7.0 安装redis 3.2.9
摘要:wget http://download.redis.io/releases/redis-3.2.9.tar.gz tar xzf redis-3.2.9.tar.gz cd redis-3.2.9 make src/redis-server 根据启动脚本要求,将修改好的配置文件以端口为名复制一份到
阅读全文
posted @
2017-07-01 20:40
paulversion
阅读(117)
推荐(0) 编辑
centos7.0 安装redis 3.2.9
摘要:wget http://download.redis.io/releases/redis-3.2.9.tar.gz tar xzf redis-3.2.9.tar.gz cd redis-3.2.9 make src/redis-server
阅读全文
posted @
2017-07-01 20:40
paulversion
阅读(217)
推荐(0) 编辑