当前位置: 首页 > wzjs >正文

网站可以做10000件事情吗跨国网站浏览器

网站可以做10000件事情吗,跨国网站浏览器,广州网络营销推广培训,中视频自媒体注册Java 享元模式(Flyweight Pattern)详解 🦋 什么是享元模式? 享元模式是一种结构型模式,它通过共享相同的对象来减少内存消耗,适用于大量细粒度对象的场景。关键思想是缓存重复出现的对象,避免…

Java 享元模式(Flyweight Pattern)详解

🦋 什么是享元模式?

享元模式是一种结构型模式,它通过共享相同的对象来减少内存消耗,适用于大量细粒度对象的场景。关键思想是缓存重复出现的对象,避免重复创建。


🧠 使用场景

  • 系统中存在大量相似对象
  • 对象的状态可分为内部状态(可共享)外部状态(不可共享)
  • 对象创建代价高,影响性能

🏗️ 模式结构

  • Flyweight(享元抽象类):定义共享接口
  • ConcreteFlyweight(具体享元类):实现共享逻辑,存储内部状态
  • FlyweightFactory(享元工厂):管理享元对象池,复用已有对象

✅ 示例:围棋棋子池

享元接口(Flyweight)

public interface ChessPiece {void display(String position);
}

具体享元(ConcreteFlyweight)

public class BlackChess implements ChessPiece {@Overridepublic void display(String position) {System.out.println("⚫ 黑棋,位置:" + position);}
}public class WhiteChess implements ChessPiece {@Overridepublic void display(String position) {System.out.println("⚪ 白棋,位置:" + position);}
}

享元工厂(FlyweightFactory)

import java.util.HashMap;
import java.util.Map;public class ChessFactory {private static final Map<String, ChessPiece> cache = new HashMap<>();public static ChessPiece getChess(String color) {ChessPiece piece = cache.get(color);if (piece == null) {if (color.equalsIgnoreCase("black")) {piece = new BlackChess();} else if (color.equalsIgnoreCase("white")) {piece = new WhiteChess();}cache.put(color, piece);}return piece;}
}

客户端调用

public class Client {public static void main(String[] args) {ChessPiece black1 = ChessFactory.getChess("black");ChessPiece black2 = ChessFactory.getChess("black");ChessPiece white1 = ChessFactory.getChess("white");black1.display("A1");black2.display("B2");white1.display("C3");System.out.println("black1 与 black2 是否为同一对象?" + (black1 == black2)); // true}
}

🧩 优点

  • 大量相似对象可以复用,节省内存,提升性能

  • 将共享与非共享状态区分清晰,结构更清晰

⚠️ 缺点

  • 系统逻辑变复杂,需要区分内部与外部状态

  • 不适合对象差异性大的情况

✅ 使用建议

  • 适用于如下情况:

  • 游戏对象池(如子弹、精灵)

  • 数据库连接池、线程池

  • 文本编辑器中的字体对象共享

http://www.dtcms.com/wzjs/35702.html

相关文章:

  • 广东新闻联播直播回放seo专员是指什么意思
  • 孝感今日头条新闻泰州seo外包
  • window2008r2网站建设app推广平台接单渠道
  • 校园网站如何建立网络营销推广处点
  • 家里电脑可以做网站服务器吗seo常规优化
  • 建什么网站能百度收录优就业seo
  • 怀化网站设计品牌营销策划公司排名
  • 九亭做网站当前疫情十大热点
  • 阿里巴巴国际站运营爱站网综合查询
  • 如何免费建设网站怎么在百度上打广告
  • 如何查询网站哪个公司做的做好网络推广
  • 网站dns服务推广方案格式模板范文
  • asp.net 获取网站域名中国宣布取消新冠免费治疗
  • 如何做招聘网站统计表网络舆情监测系统软件
  • 网站做系统下载什么是淘宝seo
  • 有肌肉男与小姐姐做床上运动的网站关键词网站排名软件
  • 合肥公司建设网站制作产品推广方案怎么写
  • vs2015可以做网站么机器人编程培训机构排名
  • 做网站时给图片添加链接培训心得体会范文大全1000
  • 哈尔滨网站建设效果优化教程网下载
  • 做网站有一行一行写代码的吗seo优化方案总结
  • 网站建设套餐是什么意思如何自己制作一个网站
  • 外海赌博如何做网站的推广石家庄网站建设
  • 大兴安岭网站推广百度推广的几种方式
  • 论吉林省网站职能建设河南网站顾问
  • 整人网站怎么做产品推广方案范文
  • 建立用英语怎么说seo关键词分析
  • 贵阳网站开发推荐郑州seo哪家好
  • 建设seo网站新手seo入门教程
  • 网站程序开发外包站长工具麻豆