首页 » 编程语言 ( 第 2 页 )

PHP7扩展开发之创建变量

 

前言 在这篇博文中我们将演示如何在PHP扩展中创建一个变量。示例代码如下: <?php class demo {} $lng = 2; $str = "abc"; $arr = array(1,'a' => 'b'); $obj = new demo(); var_dump($str); var_dump($arr); var_dump($obj); ?> 中间的三行我们将用PHP扩展来实现。 代码 基础代码 这个扩展, ...

PHP7扩展开发之常量定义

 

前言 这次,我们将演示如何在PHP扩展中定义一个常量。要实现的PHP代码如下: <?php define("__ARR__", array('2', 'site'=>"www.bo56.com")); define("__SITE__", "www.bo56.com", true); define("say\__SITE__", "bo56.com"); v ...

PHP7扩展开发之数组处理

 

前言 这次,我们将演示如何在PHP扩展中如何对数组进行处理。要实现的PHP代码如下: <?php function array_concat ($arr, $prefix) { foreach($arr as $key => $val) { if (isset($prefix[$key]) && is_string($val) && is_string($pref ...

PHP7扩展开发之字符串处理

PHP7扩展开发之字符串处理 前言 这次,我们来看看字符串在PHP扩展里面如何处理。 示例代码如下: <?php function str_concat($prefix, $string) { $len = strlen($prefix); $substr = substr($string, 0, $len); if ($substr != $prefix) { return $prefix." ".$string; } else ...

PHP7扩展开发之类型处理

 

前言 这次,我们将演示如何在PHP扩展中如何对类型进行一些操作。如,判断变量类型。要实现的PHP代码如下: <?php function get_size ($value) { if (is_string($value)) { return "string size is ". strlen($value); } else if (is_array($value)) { return "a ...

PHP7源码阅读笔记(不断更新)

 

函数说明 zend_API.h Zend引擎提供的常用API函数 RETURN_STR(s) 作用:返回一个zend_string字符串。参考:参考示例 RETURN_STRING(s) 作用:返回一个char *字符串。参考:参考示例 ZEND_PARSE_PARAMETERS_START(min_num_args, max_num_args) 作用:在使用FAST ZPP方式解析PHP方法传入的参数时,会用到这个宏方法。这个 ...

PHP7源码分析之CG和EG

 

在阅读PHP源码的时候,会遇到很多宏。如果不了解这些宏的含义,对代码理解会带来很多困扰。现在我们就一起来看看CG和EG两个宏的含义。 CG 含义 CG的含义是 compiler_globals。Zend编译器相关的全局变量。 作用 大家都知道PHP代码最终是转化为Opcode去执行的。在PHP转换为Opcode过程中需要保存一些信息。这些信息就保存 ...

Btrace示例和资料整理

 

Btrace示例 在这个示例中,我们将实现Btrace脚本跟踪一个成员变量的变化。 被跟踪类的代码如下: package com.bo56; class Demo { private static int counter; public void add(){ try { counter++; System.out.println(&quot;bo56.com &quot; + counter); ...

如何设置Java的默认版本

 

Mac下Java的版本是1.7。 java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode) 安装了1.8版本后,执行Java -version命令依然显示的是1.7版本信息。如何切换到1.8版本呢?只要执行如下几个命令即 ...

深入了解xhprof性能分析工具

 

前言 这篇文章不是教你如何安装使用xhprof进行性能分析。如果想了解如何安装使用xhprof,网络上文章很多,你也可以看我之前写的两篇文章。 非侵入式监控PHP应用性能监控分析 xhprof gui,让xhprof界面更漂亮,功能更强大 这篇文章主要介绍使用xhprof时的一些常见问题,和xhprof是如何实现性能分析的。 常见问题 多次调 ...

Java常用分析工具之jmap

 

简介 jmap是JDK中提供的一个用来监视进程运行中的jvm物理内存的占用情况的工具。该进程内存内,所有对象的情况,例如产生了哪些对象,对象数量。当系统崩溃时,jmap 可以从core文件或进程中获得内存的具体匹配情况,包括Heap size, Perm size等。 使用jmap会影响线上运行的应用,所以尽量不要在线上执行此命令 ...