kinila 发表于 2017-4-5 09:43:41

php static 与 java static 变量生命周期的不同

  jsp示例:

<body>
<%!
static class Count {
private static int count = 0;
public static int getCount(){
count++;
return count;
}
}
%>
<%
out.print(Count.getCount());
out.print("<br>");
out.print(Count.getCount());
%>
</body>
  通过浏览器连续访问两次,分别输出:
  1
  2
  3
  4
  php示例:

<body>
<?php
class Count{
private static $count = 0;
public static function getCount(){
self::$count++;
return self::$count;
}
}
echo Count::getCount();
echo '<br>';
echo Count::getCount();
?>
</body>
  通过浏览器连续两次访问,分别输出:
  1
  2
  1
  2
  小结:
  1、java的static变量伴随着java虚拟机的退出而消亡,java虚拟机运行期间,static变量一直存在。
  2、php的static变量只针对一次请求(一次php文件的执行),php文件执行完毕,该static变量也随机消亡,再次请求(再次执行该php文件),会重新创建该static变量。
  http://huangqiqing123.iteye.com/blog/1921934
页: [1]
查看完整版本: php static 与 java static 变量生命周期的不同