首页 » Web前端 » 卓象科技php技巧_卓象科技PHP设计模式单例模式

卓象科技php技巧_卓象科技PHP设计模式单例模式

访客 2024-11-15 0

扫一扫用手机浏览

文章目录 [+]

我对单例模式的理解便是可以减少new的操作,由于new操作的时候会花费内存,如果进行大量的new操作,就会花费大量的内存。

例如:

卓象科技php技巧_卓象科技PHP设计模式单例模式

class abc {

卓象科技php技巧_卓象科技PHP设计模式单例模式
(图片来自网络侵删)

}$a = new abc;$b = new abc;$c = new abc;$d = new abc;echo "内存初始: ".memory_get_usage()."B\n";echo '<pre>';var_dump($a);echo '</pre>';echo "内存利用: ".memory_get_usage()."B\n";echo '<pre>';var_dump($b);echo '</pre>';echo "内存利用: ".memory_get_usage()."B\n";echo '<pre>';var_dump($c);echo '</pre>';echo "内存利用: ".memory_get_usage()."B\n";echo '<pre>';var_dump($d);echo '</pre>';echo "内存利用: ".memory_get_usage()."B\n";echo "峰值: ".memory_get_peak_usage()."B\n"

输出结果:

这里每一次new 操作就会增加内存的占用。
而利用单例模式则不会造成这种情形。

单例模式的要点

1.某个类只能有一个实例。

2.必须自行创建这个实例。

3.必须自行向全体系统供应这个实例。

下面是创建一个单例类的示例:

/ @purpose: 创建一个单例类 Class Single/class Single { / @var Object 保存类实例的静态成员变量 / private static $_instance; / Single constructor. 私有的布局方法 / private function __construct(){ echo 'This is a Constructed method;'; } / @purpose: 创建私有__clone方法防止工具被复制克隆 / private function __clone(){ } / @return Single|Object 单例方法,用于访问实例的公共的静态方法 / public static function getInstance(){ if(!(self::$_instance instanceof self)){ self::$_instance = new self; } return self::$_instance; }}

现在我们进行实例化输出:

这里可以看出就算多次实例化内存也没有进行增长;

单例模式的用途

1.单例模式可以运用在数据库的操作类上

2.单例模式可运用在网站的计数器上

3.运用程序的日志运用,一样平常都利用单例模式实现,这一样平常是由于共享的日志文件一贯处于打开状态,由于只能有一个实例去操作,否则内容不好追加。

4.Web运用的配置工具的读取,一样平常也运用单例模式,这个是由于配置文件是共享的资源。

标签:

相关文章

今日头条算法如何实现个化推荐与精准传播

信息传播方式发生了翻天覆地的变化。今日头条作为国内领先的信息分发平台,凭借其强大的算法推荐系统,吸引了海量用户。今日头条的算法究竟...

Web前端 2025-01-31 阅读1 评论0

今日头条算法关闭之谜内容分发新格局

今日头条作为一款备受瞩目的新闻资讯平台,凭借其独特的算法推荐机制,吸引了大量用户。近期有关今日头条算法关闭的消息引发了广泛关注。本...

Web前端 2025-01-31 阅读1 评论0

今日头条算法智能推荐背后的科技魅力

信息爆炸的时代已经到来。人们每天在互联网上接触到海量的信息,如何从中筛选出有价值的内容,成为了人们关注的焦点。今日头条作为一款智能...

Web前端 2025-01-31 阅读1 评论0

今日头条算法专利申请个化推荐的秘密武器

信息爆炸的时代已经来临。在众多信息中,如何快速找到自己感兴趣的内容成为了一个难题。今日头条作为中国领先的资讯平台,凭借其独特的算法...

Web前端 2025-01-31 阅读1 评论0

今日头条算法机器推荐模式的秘密与挑战

大数据、人工智能等新兴技术的应用已经渗透到我们生活的方方面面。在信息爆炸的时代,人们获取信息的渠道越来越丰富,如何在海量信息中找到...

Web前端 2025-01-31 阅读1 评论0