首页 » 编程语言

位运算技巧整理

 

位运算技巧整理 基础 异或^ 两个操作数的位中,相同则结果为0,不同则结果为1。 与& 两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。 或| 两个数都转为二进制,然后从高位开始比较,两个数只要有一个为1则为1,否则就为0。 非~ 如果位为0,结果是1,如果位为1,结果是0. 对数组异或操 ...

PHP7扩展开发之依赖其他扩展

 

前言 有的时候,我们的扩展要依赖其他扩展。比如,我们PHP的mysqli扩展就依赖mysqlnd扩展。这中情况下,我们怎么使用其他扩展呢?这个就是本文讲述的内容。 我们新建立一个扩展,名字叫 demo_dep , 依赖之前的say扩展。 在demo_dep扩展中,我们实现demo_say方法。这个方法调用say扩展的say方法。 代码 基础代码 确保s ...

PHP7扩展开发之使用静态库

前言 在本文,我们将建立一个简单的lib静态库,并在扩展中进行封装调用。 代码 基础代码 这个扩展,我们将在say扩展上增加show_site_ar()。say扩展相关代码大家请看这篇博文。PHP7扩展开发之hello word 文中已经详细介绍了如何创建一个扩展和提供了源码下载。 代码实现 建立lib库 增加hello.h文件。代码如下: #ifn ...

PHP7扩展开发之对象方式使用lib库

 

前言 上一篇文章,我们使用的是函数方式调用lib库。这篇文章我们将使用对象的方式调用lib库。调用代码如下: <?php $hello = new hello(); $result = $hello->get(); var_dump($result); ?> 我们将在扩展中实现hello类。hello类中将依赖lib库。 代码 基础代码 这个扩展,我们将在say扩展上增加相关代码。s ...

PHP7扩展开发之函数调用

 

前言 在这篇文章中我们将演示如何在扩展中调用函数,和调用对象的方法。代码示例如下: <?php class demo { public function get_site_name ($prefix) { return $prefix."信海龙的博客\n"; } } function get_site_url ($prefix) { return $prefix."www.bo56.com\n"; } function call_fun ...

Centos 7 使用 systemd 管理 Tomcat 多实例

 

Centos 7 使用 systemd 管理 Tomcat 多实例 安装 tomcat 使用网易的 yum 源,直接使用 yum install 命令就可以安装 tomcat。命令行如下: $ cd /etc/yum.repos.d/ $ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo $ yum install  tomcat -y 使用 systemd 管理多个 tomcat 实例 现在我们新建一个实例 p ...

PHP7扩展开发之配置项

前言 我们经常使用的一些扩展,有的会在php.ini文件中会有一些配置项。这些配置项控制扩展的行为。如 opcache扩展,经常使用的配置项如下: [opcache] ; 模块地址 zend_extension=opcache.so ; 开关打开 opcache.enable=1 ; 开启CLI opcache.enable_cli=1 ; 可用内存, 酌情而定, 单位为:Mb opcache.memory_consumptio ...

PHP7扩展开发之流操作

前言 啥是流操作?简单来讲就是对一些文件,网络的IO操作。PHP已经把这些IO操作,封装成流操作。这节,我们将使用PHP扩展实现一个目录遍历的功能。PHP示例代码如下: <?php function list_dir($dir) { if (is_dir($dir) === false) { return; } $dh = opendir($dir); if ($dh == f ...

PHP7扩展开发之传参与返回值

 

前言 这次,我们将演示如何在PHP扩展中接受传入的参数和输出返回值。 <?php function default_value ($type, $value = null) { if ($type == "int") { return $value ?? 0; } else if ($type == "bool") { return $value ?? false; } els ...

Java泛型使用示例整理

 

Java泛型使用示例整理 目标 Java泛型编程是JDK1.5版本后引入的。泛型让编程人员能够使用类型抽象,通常用于集合里面。本文旨在整理一些泛型的用法。 用法 泛型分两部分。一部分是泛型类和方法的定义。另一部分是泛型类和方法的使用。 定义篇 类定义时,使用泛型 在定义类的时候,我们可以使用泛型。如下代码: class ...

Swoole2.0协程的使用和源码解读

 

聊聊Swoole2.0协程 Swoole 2.0正式版发布了。2.0版本最大的更新是增加了对协程(Coroutine)的支持。正式版已同时支持PHP5和PHP7。基于Swoole2.0协程PHP开发者可以已同步的方式编写代码,底层自动进行协程调度,转变为异步IO。解决了传统异步编程嵌套回调的问题。 目前Swoole底层内置的协程客户端组件包括:udpclient、 ...