其他历史http://www.cnblogs.com/yjf512/p/3588466.html

php5.3

改动:

1、realpath() 现在是完全与平台无关的. 结果是非法的相对路径比如FILE. "/../x" 将不会工作.

2、call_user_func() 系列函数即使被调用者是一个父类也使用 $this.

3、数组函数 natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip(), 和 array_unique() 将不再接受对象作为参数. 在将这些函数应用于对象时, 请首先将对象转换为数组.

4、按引用传递参数的函数在被按值传递调用时行为发生改变. 此前函数将接受按值传递的参数, 现在将抛出致命错误. 之前任何期待传递引用但是在调用时传递了常量或者字面值 的函数, 需要在调用前改为将该值赋给一个变量。

5、__toString 魔术方法不再接受参数.

6、魔术方法get,set,isset,unset, and __call 应该总是公共的(public)且不能是静态的(static). 方法签名是必须的.

7、现在 __call 魔术方法在访问私有的(private)和被保护的(protected)方法时被调用.

8、函数内 include 或者 require 一个文件时,文件内 将不能使用 func_get_arg(), func_get_args() 和 func_num_args() 函数。

9、goto,namespace关键词被保留。

新功能:

1、添加了命名空间的支持.

2、添加了静态晚绑定支持.

3、增加了goto支持。

4、增加了闭包支持。

5、新增了两个魔术方法,callStatic 和invoke.

6、添加了 Nowdoc 语法支持, 类似于 Heredoc 语法, 但是包含单引号.就是<<'EOF'这样的语法。

7、可使用双引号声明 Heredoc, 补充了 Nowdoc 语法.

8、可在类外部使用 const 关键词声明 常量.

9、三元运算操作符有了简写形式: ?:.

10、HTTP 流包裹器将从 200 到 399 全部的状态码都视为成功。

11、允许动态访问静态方法。

12、异常可以被内嵌

13、新增了循环引用的垃圾回收器并且默认是开启的.

14、mail() 现在支持邮件发送日志. (注意: 仅支持通过该函数发送的邮件.)

php5.4

改动:

1、不再支持 安全模式 。任何依赖安全模式的应用在安全方面都需要进行调整。

2、移除 魔术引号 。为避免出现安全问题,依赖此特性的应用可能需要升级。 get_magic_quotes_gpc() 和 get_magic_quotes_runtime() 现在总是返回 FALSE 。 调用 set_magic_quotes_runtime() 将产生一个 E_CORE_ERROR 级别的错误。

3、register_globals 和 register_long_arrays php.ini 指令被移除。

4、调用时的引用传递 被移除。就是不能有f(&$a)这样的形式。

5、break 和 continue 语句不再接受可变参数( 比如: break 1 + foo() * $bar; )。像类似 break 2; 这样的固定参数仍可使用。受此变化影响,不再允许出现 break 0; 和 continue 0; 。

6、在 日期与时间扩展 中,不再支持时区使用 TZ(TimeZone)环境变量设置。必须使用 date.timezone php.ini 配置选项或 date_default_timezone_set() 函数来指定时区。PHP 将不再尝试猜测时区,而是回退到“UTC”并发出一条 E_WARNING 错误。

7、非数字的字符串偏移量,比如a[′foo′]此处a 是一个字符串,现在使用 isset() 时返回 false,使用 empty() 时返回 true,并产生一条 E_WARNING 错误。偏移量类型是布尔和 null 则产生一条 E_NOTICE 错误。 数字字符串(比如a[′2′])仍像以前一样运行。注意像类似′12.3′和′5foobar′这样的偏移量将被视为非数字并产生一条EWARNING错误,但因为向后兼容的原因它们会被分别转换成12和5。注意:下列代码返回不同的结果。str='abc';var_dump(isset($str['x'])); // 在 PHP 5.4 或更新版本返回 false,但在 PHP 5.3 或更低版本返回 true

8、数组转换成字符串将产生一条 E_NOTICE 级别的错误,但返回的结果仍是字符串 "Array" 。

9、NULL 、FALSE 、或 一个空字符串被添加成一个对象的属性时将发出一条 E_WARNING 级别的错误,而不是 E_STRICT 。

10、现在参数名使用全局变量将会导致一个致命错误。禁止类似 function foo($GET, $POST) {} 这样的代码。

11、Salsa10 和 Salsa20 哈希算法 被移除。

12、当使用两个空数组作为参数时, array_combine() 现在返回 array() 而不是 FALSE 。

13、htmlentities() 将像 htmlspecialchars() 一样处理亚洲字符集,这是以前 PHP 版本的处理情况,但现在将会发出一条 E_STRICT 错误。

14、强烈建议不要再使用 eregi() ,此特性在最新版本中被移除。

15、trait,callable,insteadof关键词被保留。

新特性:

1、新增支持 traits 。

2、新增短数组语法,比如a=[1,2,3,4];或a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4]; 。

3、新增支持对函数返回数组的成员访问解析,例如 foo()[0] 。

4、现在 闭包 支持 $this 。

5、现在不管是否设置 short_open_tag php.ini 选项,

6、新增在实例化时访问类成员,例如: (new Foo)->bar() 。

7、现在支持 Class::{expr}() 语法。

8、新增二进制直接量,例如:0b001001101

9、改进解析错误信息和不兼容参数的警告。

10、SESSION 扩展现在能追踪文件的 上传进度 。

11、内置用于开发的 CLI 模式的 web server 。

php5.5

改动:

1、已放弃对 Windows XP 和 2003 的支持。构建 Windows 版本的 PHP 需要 Windows Vista 或更新的系统。

2、pack() 和 unpack() 函数的变化

3、移除 PHP logo GUIDs

新特性:

1、新增 Generators,包括yield关键字

2、新增 finally 关键字

3、foreach 现在支持 list()

4、empty() 现在支持传入一个任意表达式,而不仅是一个变量。

5、非变量array和string也能支持下标获取了

6、类名通过::class可以获取

7、增加了opcache扩展

php5.6

改动:

暂时还没整理

新特性:

1、PHP常量支持表达式,包括数学运算、字符串处理等,可以被当作函数的输入参数

2、新增通过...语法定义可变参函数,代替func_get_args()折中实现方法

3、数组和可转换对象被当作函数参数时,可以通过...语法实现自动解包元素,就像其他语言比如Ruby一样的功能。

4、新增求幂运算符**,该运算符的结合方向是向左结合。

5、use语法可以用来引用函数、变量,除了类之外

6、PHP新增了调试模块phpdbg,通过SAPI模块的方式实现调试功能

7、配置项default_charset定义htmlentities()、html_entity_decode()、htmlspecialchars()函数使用编码,默认为utf-8

8、php://input支持多次读取

9、支持超过2G大文件上传

10、新增魔术方法__debugInfo()

11、pgsql支持异步操作

php 7.0.0

改动:

暂无

新特性:

1、性能大幅提升

2、函数参数、返回值增加了变量类型的限定

3、try{}catch可以捕获致命错误

##PHP 5.4新特性##  https://gist.github.com/luxixing/7411156

掌握

  • traits
    trait的引入,可以扩展class的内容,使class在某种形式上实现了多重继承,更加灵活,trait不能被实例化 举个例子,假设有三个类,男人,女人,人,人是男人和女人的父类,双11购物不是人人都有的行为,放在人 这个父类里显然不合适,我们把双11购物单独定义为一个trait,这个双11购物的trait不能自己驱动,需要被 其他类引用,从而让引用trait的类具有购物行为
    示例代码:

    1. <?php
    2. trait Hello {
    3. public function sayHello() {
    4. echo 'Hello ' . "\n";
    5. }
    6. }
    7. trait World {
    8. public function sayWorld() {
    9. echo 'World' . "\n";
    10. }
    11. }
    12. class MyHelloWorld {
    13. use Hello, World;
    14. public function sayExclamationMark() {
    15. echo '!' . "\n";
    16. }
    17. }
    18. $o = new MyHelloWorld();
    19. $o->sayHello();
    20. $o->sayWorld();
    21. $o->sayExclamationMark();

    需要注意的是,trait的继承顺序
    来自当前类的成员覆盖了 trait 的方法,而 trait 则覆盖了被继承的方法

    当多个trait被同一个类使用的时候,会出现方法冲突的情况,使用关键词insteadof解决
    示例代码:

    1. <?php
    2. trait A {
    3. public function smallTalk() {
    4. echo 'a';
    5. }
    6. public function bigTalk() {
    7. echo 'A';
    8. }
    9. }
    10. trait B {
    11. public function smallTalk() {
    12. echo 'b';
    13. }
    14. public function bigTalk() {
    15. echo 'B';
    16. }
    17. }
    18. class Talker {
    19. use A, B {
    20. B::smallTalk insteadof A;
    21. A::bigTalk insteadof B;
    22. }
    23. }
    24. class Aliased_Talker {
    25. use A, B {
    26. B::smallTalk insteadof A;
    27. A::bigTalk insteadof B;
    28. B::bigTalk as talk;
    29. }
    30. }
  • 新增短数组语法

    1. <?php
    2. $a = [1, 2, 3, 4];
    3. $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
  • 新增支持对函数返回数组的成员访问解析

    1. <?php
    2. function foo()
    3. {
    4. return array(1,3,4,5);
    5. }
    6. $var =foo()[0];
  • 现在不管是否设置 short_open_tag php.ini 选项,<?= 将总是可用

  • 新增在实例化时访问类成员

    1. <?php
    2. class Test
    3. {
    4. public function foo()
    5. {
    6. //todo
    7. return 1;
    8. }
    9. }
    10. $var = (new Test)->foo();
    11. >ps:注意括号
  • SESSION 扩展现在能追踪文件的 上传进度 在php.ini中配置session.upload_progress.enabled = On,就会开启文件上传进度跟踪功能

  • max_input_vars 指令
    在php.ini文件中,设定max_input_vars的值,可以控制$_GET、$_POST 和 $_COOKIE的最大长度
    降低构造哈希碰撞进行拒绝服务攻击的可能性

了解

  • 现在闭包支持 $this

  • 现在支持 Class::{expr}() 语法 示例代码:

    1. <?php
    2. class Utils
    3. {
    4. public static function test1()
    5. {
    6. echo 1;
    7. }
    8. public static function test2()
    9. {
    10. echo 2;
    11. }
    12. }
    13. $m = 'test';
    14. Utils::{$m . (10-8)}();
    15. Utils::test2();
  • 新增二进制直接量,例如:0b001001101

##PHP 5.5新特性##

掌握

  • opcache集成在php发行包
    opcache实际上是zend公司的Zend Optimizer Plus,功能类同apc
    它的性能优于apc,对opcode进行了优化,关于opcache的更多信息
    请移步鸟哥博客 一个关于Zend O+的小分享
    因此在安装PHP的时候,编译参数一定要加上

    1. --enabled-opcache
    2. 推荐配置(php.ini)
    3. zend_extension=opcache.so
    4. opcache.enable_cli=1
    5. opcache.memory_consumption=128 //共享内存大小, 这个根据你们的需求可调
    6. opcache.interned_strings_buffer=8 //interned string的内存大小, 也可调
    7. opcache.max_accelerated_files=4000 //最大缓存的文件数目
    8. opcache.revalidate_freq=60 //60s检查一次文件更新
    9. opcache.fast_shutdown=1 //打开快速关闭, 打开这个在PHP Request Shutdown的时候,回收内存的速度会提高
    10. opcache.save_comments=0 //不保存文件/函数的注释
  • 生成器(Generators)
    熟悉python的同学对生成器肯定不会陌生的 其功能是在函数中使用关键词yield,中断函数执行并返回一个能在foreach中使用的迭代器 这个语法应该是PHP5.5中最令人激动的特性了 下面的代码演示了生成器用法,并且做了对比,用来突出生成器的优势

    1. <?php
    2. ini_set('memory_limit', '512M');
    3. $cmd = isset($argv[1]) ? (int)$argv[1] : 0;
    4. function xrange($start, $end, $step = 1)
    5. {
    6. if($start <= $end)
    7. {
    8. if($step <= 0)
    9. {
    10. throw new LogicException('step must be +ve');
    11. }
    12. for($i = $start; $i <= $end; $i = $i + $step)
    13. {
    14. yield $i;
    15. }
    16. }else{
    17. if($step >= 0)
    18. {
    19. throw new LogicException('step must be -ve');
    20. }
    21. for($i = $start; $i >= $end; $i = $i + $step)
    22. {
    23. yield $i;
    24. }
    25. }
    26. }
    27. if($cmd == 0)
    28. {
    29. $r = range(1, 1000000);
    30. foreach($r as $v)
    31. {
    32. if($v > 20)
    33. {
    34. break;
    35. }
    36. echo "$v\t";
    37. }
    38. $m = memory_get_usage(true);
    39. echo "\n" . $m/1014/1024 . "M\n";
    40. }else if($cmd == 1){
    41. $r = xrange(1, 1000000);
    42. foreach($r as $v)
    43. {
    44. if($v > 20)
    45. {
    46. break;
    47. }
    48. echo "$v\t";
    49. }
    50. $m = memory_get_usage(true);
    51. echo "\n" . $m / 1014 /1024 . "M\n";
    52. }else{
    53. include 'php-excel.class.php';
    54. $stime = microtime(true);
    55. if($cmd == 3)
    56. {
    57. $data = array();
    58. for($i = 0; $i < 10000;$i++)
    59. {
    60. $data[] = range(1,100);
    61. }
    62. $xls = new Excel_XML();
    63. $xls->addWorksheet('test', $data);
    64. $xls->writeWorkbook('test.xls', './');
    65. }else{
    66. $data = function($n = 10000){
    67. for($i = 0; $i < $n; $i++)
    68. {
    69. yield xrange(1,100);
    70. }
    71. };
    72. $xls = new Excel_XML();
    73. $xls->addWorksheet('test', $data());
    74. $xls->writeWorkbook('test.xls', './');
    75. }
    76. $ctime = microtime(true) - $stime;
    77. $m = memory_get_usage(true);
    78. echo "\n" . $m / 1014 /1024 . "M\n";
    79. echo "cost time:" . $ctime . "s\n";
    80. }

    ps:php-excel.class.php文件内容请参考本gist php-excel.php

  • 新增 finally 关键字 示例代码:

    1. <?php
    2. function getLines($file)
    3. {
    4. $f = fopen($file, 'r');
    5. try
    6. {
    7. while ($line = fgets($f))
    8. {
    9. yield $line;
    10. }
    11. } finally {
    12. fclose($f);
    13. }
    14. }
    15. foreach(getLines('finally.php') as $v)
    16. {
    17. echo $v;
    18. }

    编写代码的时候,一定要养成良好的习惯,及时的释放打开的资源

  • password API
    password系列函数,为我们存储密码,实现了更简便安全的方式
    密码的存储从明文到md5到md5+salt,到mcrpty+salt password_hash默认使用bcrypt加密算法,自动生成salt,加密密码 示例代码

    1. <?php
    2. $pw1 = '123456';
    3. $pwdb = password_hash($pw1, PASSWORD_DEFAULT);
    4. var_dump($pwdb) . "\n";
    5. var_dump(password_verify($pw1, $pwdb)) . "\n";
    6. $pw2 = '778920';
    7. $pwdb = password_hash($pw2, PASSWORD_DEFAULT);
    8. var_dump($pwdb) . "\n";
    9. var_dump(password_verify($pw1, $pwdb)) . "\n";

    强烈建议新应用开发密码存储使用内置password系列函数

  • array_column
    这个函数早就应该有了
    我们从数据库中取出10条记录,想要拿到这十条记录中的指定某一列,之前只能foreach了 现在只需要一个array_coulum函数搞定,这个函数实际意义很大,单独提出来讲了 示例代码:

    1. <?php
    2. // Array representing a possible record set returned from a database
    3. $records = array(
    4. array(
    5. 'id' => 2135,
    6. 'first_name' => 'John',
    7. 'last_name' => 'Doe',
    8. ),
    9. array(
    10. 'id' => 3245,
    11. 'first_name' => 'Sally',
    12. 'last_name' => 'Smith',
    13. ),
    14. array(
    15. 'id' => 5342,
    16. 'first_name' => 'Jane',
    17. 'last_name' => 'Jones',
    18. ),
    19. array(
    20. 'id' => 5623,
    21. 'first_name' => 'Peter',
    22. 'last_name' => 'Doe',
    23. )
    24. );
    25. $first_names = array_column($records, 'first_name');
    26. print_r($first_names);

熟悉

  • foreach 现在支持 list()

    1. <?php
    2. $arr= array(
    3. array(1,2,3),
    4. array(1,2,3),
    5. array(1,2,3),
    6. );
    7. foreach($arr as list($a, $b, $c))
    8. {
    9. //todo
    10. }
    11. >ps:需要注意的是,遍历数组的子数组个数要一样
  • empty() 支持任意表达式,函数调用也可以使用empty了

了解

  • 改进 GD
    翻转支持使用新的 imageflip() 函数
    高级裁剪支持使用 imagecrop() & imagecropauto() 函数
    WebP 的读写分别支持使用 imagecreatefromwebp() & imagewebp()
  1. 另外PHP5.4PHP5.5新增的function,新增的class,新增的interface,新增的全局常量还是挺多的
  2. 想了解的,可以查看下面链接
  3. http://www.php.net/manual/zh/migration55.new-functions.php
  4. http://www.php.net/manual/zh/migration55.classes.php
  5. http://www.php.net/manual/zh/migration55.new-methods.php
  6. http://www.php.net/manual/zh/migration55.global-constants.php
  7. http://www.php.net/manual/zh/migration54.functions.php
  8. http://www.php.net/manual/zh/migration54.classes.php
  9. http://www.php.net/manual/zh/migration54.methods.php
  10. http://www.php.net/manual/zh/migration54.global-constants.php

##PHP 5.4不兼容内容##

熟悉

  • 安全模式的移除(safe_mode),涉及到php.ini配置指令
    安全模式开启,限制PHP中的一些内置函数的使用
    代码中如果有依赖于安全模式保障安全的内容,需要调整

  • 移除魔术引号(magic_quote),涉及到php.ini配置指令
    魔术引号自动对用户提交数据转义(包括不必要转义的数据),性能低下 魔术引号的效果和使用 addslashes() 函数一样 为避免出现安全问题,任何依赖魔术引号特性的代码都需要修改 移除模式引号后,对仅需要存储到数据库中的数据进行*addslashes()*操作

  • 调用时的引用传递被移除

    1. <?php
    2. function foo(&$var)
    3. {
    4. $var = 'hello, word';
    5. var_dump($var);
    6. }
    7. $var = 1111;
    8. foo($var);//正确的调用方法
    9. foo(&$var);//过期用法,报出一个警告错误
    10. ?>
  • 在日期与时间扩展中,不再支持时区使用 TZ(TimeZone)环境变量设置
    php.ini中强烈建议配置date.timezone
    或者在程序入口脚本配置环境时,使用date_default_timezone_set()设定时区

  • 数组转换成字符串将产生一条 E_NOTICE 级别的错误,但返回的结果仍是字符串 "Array"

  • 现在参数名使用全局变量将会导致一个致命错误

    1. <?php
    2. //这样的代码,报致命错误
    3. function foo($_GET, $_POST) {};
  • 当使用两个空数组作为参数时, array_combine() 现在返回 array() 而不是 FALSE

  • trait,callable,insteadof成为新的保留字,在函数和类名中不可使用

了解

  • register_globals 和 register_long_arrays php.ini 指令被移除

  • break 和 continue 语句不再接受可变参数

    1. <?php
    2. define('VAR', 10);
    3. while(true)
    4. {
    5. while(true)
    6. {
    7. //正确写法
    8. break 10;
    9. continue VAR;
    10. //错误写法
    11. break 10 - $var;
    12. contnue $var * 10;
    13. }
    14. }
  • NULL 、FALSE 、或 一个空字符串被添加成一个对象的属性时将发出一条 E_WARNING 级别的错误,而不是 E_STRICT

  • Salsa10 和 Salsa20 哈希算法 被移除

  • 强烈建议不要再使用 eregi()

  • 移除的函数

    1. define_syslog_variables()
    2. import_request_variables()
    3. session_is_registered() session_register() 以及 session_unregister()
    4. mysqli_bind_param() mysqli_bind_result() mysqli_client_encoding()
    5. mysqli_fetch() mysqli_param_count() mysqli_get_metadata()
  • 过时的函数

    1. mcrypt_generic_end()
    2. mysql_list_dbs()
  • sqlite扩展被移到 pecl扩展中,不包含在PHP发行版中

##PHP5.5不兼容内容##

熟悉

  • 原始的 MySQL 扩展 现在被废弃(不推荐使用,下版本将会移除)
    当连接到数据库时会产生一个 E_DEPRECATED 错误。可使用 MySQLi 或 PDO_MySQL 扩展作为替代

了解

  • windows xp & windows server 2003支持取消。还在使用这两个环境就太out了

  • 移除 PHP logo GUIDs组函数
    php_logo_guid()
    php_egg_logo_guid()
    php_real_logo_guid()
    zend_logo_guid()

  • preg_replace() 中的 /e 修饰符被标识为不推荐使用
    替代方案是使用 preg_match_replace

  • mcrypt 中的下列函数过期(在未来版本会被移除)

    1. mcrypt_cbc()
    2. mcrypt_cfb()
    3. mcrypt_ecb()
    4. mcrypt_ofb()
  • intl 中的废弃
    IntlDateFormatter::setTimeZoneID() 和 datefmt_set_timezone_id() 现在被废弃 可分别使用 IntlDateFormatter::setTimeZone() 方法和 datefmt_set_timezone() 函数作为替代

  • pack() 和 unpack() 函数的变化 添加了Z格式和perl兼容 这两个函数在二进制接口使用

##PHP5.4-5.5变更##

ps:本部分内容不再具体区分版本号

  • mysqlnd
    mysql mysqli及PDO_mysql现在使用mysqlnd作为默认库 强烈建议使用mysqlnd库和PDO_mysql
    在编译安装PHP的时候,加上如下参数

    1. --enable-mysqlnd --with-mysqli --with-pdo-mysql
  • intl 扩展现在需要 ICU 4.0 或更高版本

  • pdo_mysql不再支持使用低于 4.1 版本的 MySQL 客户端库连接

更多变更请访问下面的资源

  1. http://www.php.net/manual/zh/migration54.parameters.php
  2. http://www.php.net/manual/zh/migration55.changed-functions.php
  3. http://www.php.net/manual/zh/migration54.ini.php
  4. http://www.php.net/manual/zh/migration55.ini.php

上面的变更主要是函数参数和php.ini配置指令在php5.4,php5.5中的变化 其中一些变更
和新增特性,不兼容部分有交叉

PHP版本对比【转】的更多相关文章

  1. DI 依赖注入之unity的MVC版本使用Microsoft.Practices.Unity1.2与2.0版本对比

    DI 依赖注入之unity的MVC版本使用Microsoft.Practices.Unity1.2与2.0版本对比 参考:https://www.cnblogs.com/xishuai/p/36702 ...

  2. PHP7中异常与错误处理与之前版本对比

    PHP7中异常与错误处理与之前版本对比 先上代码 ECHO PHP_VERSION.PHP_EOL; function add (int $left,int $right){ return $left ...

  3. Git使用六:版本对比

    准备工作: 创建一个新的项目,并初始化git 创建两个文件,并写入对应内容(utf-8无bom格式) 执行git add 命令将两个文件添加到暂存区,执行commit命令提交到仓库并生产快照 修改工作 ...

  4. JQ版本对比

    JQ不知不觉来到第三版了,那么它们有什么不同呢? 下面先给大家推一个CDN加速的网站,上面有各种JQ的版本:http://www.bootcdn.cn/jquery/ 先来对比一下它们的“体重”,23 ...

  5. SVN服务端的版本对比及创建仓库时的注意事项

    SVN是一个开放源代码的版本控制系统,分为客户端和服务端.就windows系统而言,客户端通常使用 TortoiseSVN,下载地址:https://tortoisesvn.net/  ,而服务端通常 ...

  6. git --版本对比

    比较暂存区域和工作目录  -git diff 分别拷贝暂存区和工作目录的文件到a和b文件夹 ---   //表示旧文件  暂存区的 +++  //表示新文件   工作目录的 F 一页一页往下移 B 一 ...

  7. nfs 所有的版本的 RFC 整理; nfs 所有版本对比;

    下面是针对 nfs 所有的版本,我们可以通过不同的RFC 进行详细看其RFC的细节来进行对比: 下面是备忘一些NFS RFC 的链接: https://datatracker.ietf.org/doc ...

  8. git版本对比

    1.git diff版本比对 (未添加到暂存区间之前的区别对比) 未进行修改,则显示为空 进行文件修改,再执行git diff 当执行git add .  之后,再次git diff则为空 缓存和提交 ...

  9. mysql 各版本对比

    具体请看:mysql 各版本差异性对比

随机推荐

  1. 使用ROS节点——Node & Master——roscore、rosrun、rosnode

    1.Node 在ROS的世界里, 最小的进程单元就是节点( node) . 一个软件包里可以有多个可执行文件, 可执行文件在运行之后就成了一个进程(process), 这个进程在ROS中就叫做节点. ...

  2. Metapackage包

    Metapackage(功能包集)是把一些相近的功能模块. 软件包放到一起. ROS里常见的Metapacakge有: 2.Metapackage写法 CMakeLists.txt 写法如下: cma ...

  3. Tensorflow-slim 学习笔记(二)第一层目录代码解读

    通过阅读代码来学习,一向时最直接快速的.本章将讲解slim的第一层目录tensorflow/tensorflow/contrib/slim/python/slim的代码. 本层代码主要包括learni ...

  4. Oracle透明网关访问MySQL数据库

    针对oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问mysql/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数 ...

  5. Vue.js下载方式及基本概念

    Vue.js 简介 说明及下载 Vue.js使用文档已经写的很完备和详细了,通过以下地址可以查看: https://cn.vuejs.org/v2/guide/ vue.js如果当成一个库来使用,可以 ...

  6. 用windows或ubuntu访问apfs或mac分区

    MacBook读写不了NTFS,Windows也读写不了APFS和Mac OS 扩展分区,Ubuntu又用的是ext4分区,有时候想用U盘传点东西真的费劲.著名公司Paragon Software开发 ...

  7. Scala(三):类

    类:Class 1.简单类和无参方法 2.带getter和setter属性 3.只带getter属性 4.对象私有字段 5.Bean属性 6.辅助构造器 7.主构造器 8.嵌套类 1.简单类和无参方法 ...

  8. 2017-2018-1 20155216 《信息安全系统设计基础》 实现mypwd

    2017-2018-1 20155216 <信息安全系统设计基础> 实现mypwd 作业要求: 1.学习pwd命令 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 ...

  9. 2017-2018-1 20155320 课堂测试(ch06)

    2017-2018-1 20155320 课堂测试(ch06) 1.(单选题 | 1 分) 下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为(D) A . 1 B . 1/ ...

  10. cjoj P1435 - 【模板题 USACO】AC自动机 && 洛谷 P3796 【模板】AC自动机(加强版)

    又打了一遍AC自动稽. 海星. 好像是第一次打trie图,很久以前就听闻这个思想了.OrzYYB~ // It is made by XZZ #include<cstdio> #inclu ...