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

网站建设合理性自己怎么给网站做优化排名

网站建设合理性,自己怎么给网站做优化排名,网站建设 会议主持稿,wordpress 时尚主题目录 一、什么是享元模式 二、享元模式的角色 三、享元模式的典型应用场景 四、享元模式在ThreadPoolExecutor中的应用 1. 享元对象(Flyweight)- 工作线程(Worker) 2. 享元工厂(Flyweight Factory)- …

目录

一、什么是享元模式

二、享元模式的角色

三、享元模式的典型应用场景

四、享元模式在ThreadPoolExecutor中的应用

1. 享元对象(Flyweight)- 工作线程(Worker)

2. 享元工厂(Flyweight Factory)- ThreadPoolExecutor

3. 外部状态(Extrinsic State)- 任务(Runnable)

4. 上下文(Context)- 任务执行的环境


一、什么是享元模式

享元模式(Flyweight Pattern)是一种结构型设计模式,其核心思想是使用共享的方式来高效地管理大量细粒度的对象。享元模式的主要目的是减少内存消耗,通过共享对象来减少创建对象的数量。这种模式特别适用于系统中存在大量相似或相同的对象时,通过共享这些对象可以减少内存占用和提高性能。

二、享元模式的角色

  1. 享元对象(Flyweight):享元对象是享元模式的核心,它代表了可以被共享的最小单位。享元对象包含内部状态(intrinsic state),这些状态是不变的,并且通常在享元对象创建时就确定下来。享元对象不存储外部状态(extrinsic state),外部状态通常由客户端在需要时提供。

  2. 享元工厂(Flyweight Factory):享元工厂负责创建和管理享元对象。它确保享元对象被适当地共享,并且当需要享元对象时,工厂会提供一个现有的实例或创建一个新的实例。享元工厂还负责管理享元对象的生命周期,包括对象的创建、存储和销毁。

  3. 上下文(Context)(可选):上下文角色不是享元模式的标准部分,但在某些实现中可能会出现。上下文角色负责将享元对象与外部状态结合起来,以便在享元对象执行操作时提供完整的环境。这有助于隐藏享元对象和外部状态之间的耦合,使得享元对象可以专注于其内部状态和行为。

三、享元模式的典型应用场景

  1. 线程池:线程池中的线程对象可以被视为享元对象,被多个任务共享使用,从而避免了频繁创建和销毁线程的开销。

  2. 数据库连接池:数据库连接是一种资源,通过使用享元模式,可以共享已经创建的数据库连接对象,避免频繁创建和销毁数据库连接,提高数据库访问效率。

  3. 对象池:对象池是一种特殊的缓存系统,用于管理对象的生命周期。通过使用对象池技术,可以预先创建一定数量的对象,并在需要时将它们分配出去,使用完毕后再将它们回收回来重新利用。这样可以避免频繁地创建和销毁对象,从而提高系统性能。

  4. 字符串池:Java中的字符串常量池就是使用享元模式的典型示例。当多个字符串具有相同的值时,它们可以共享同一个字符串对象,从而节省了内存空间。

四、享元模式在ThreadPoolExecutor中的应用

1. 享元对象(Flyweight)- 工作线程(Worker)

ThreadPoolExecutor中,享元对象是工作线程。每个工作线程可以执行多个任务,任务完成后,线程不会销毁,而是返回线程池中等待执行下一个任务。

final class Worker extends AbstractQueuedSynchronizer implements Runnable {// 省略其他代码...
}

Worker类是ThreadPoolExecutor中的核心,它继承自AbstractQueuedSynchronizer并实现了Runnable接口。每个Worker对象代表一个线程,可以反复执行多个任务。

2. 享元工厂(Flyweight Factory)- ThreadPoolExecutor

ThreadPoolExecutor本身充当享元工厂的角色,负责创建和维护工作线程(享元对象)。

public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue<Runnable> workQueue) {// 省略其他代码...
}

构造函数初始化线程池的基本属性,如核心线程数、最大线程数、工作队列等。

3. 外部状态(Extrinsic State)- 任务(Runnable)

ThreadPoolExecutor中,外部状态是提交给线程池执行的任务。每个任务都是独立的,工作线程(享元对象)执行这些任务时会使用它们。

executor.execute(new Runnable() {public void run() {// 任务代码}
});

4. 上下文(Context)- 任务执行的环境

ThreadPoolExecutor的上下文中,上下文可以被视为Worker对象本身。Worker对象不仅包含了线程(Thread),还包含了要执行的任务(firstTask)。当Worker对象执行任务时,它实际上就是在提供执行环境,即上下文。Worker对象从任务队列中获取任务并执行,这个过程中Worker对象就是享元对象与外部状态(任务)之间的桥梁。


文章转载自:
http://overcritical.Lnnc.cn
http://bandmaster.Lnnc.cn
http://ebola.Lnnc.cn
http://kinship.Lnnc.cn
http://trisoctahedron.Lnnc.cn
http://frizz.Lnnc.cn
http://grundyism.Lnnc.cn
http://brigand.Lnnc.cn
http://fayalite.Lnnc.cn
http://scanning.Lnnc.cn
http://boulangerite.Lnnc.cn
http://eugeosyncline.Lnnc.cn
http://quicksandy.Lnnc.cn
http://nihilistic.Lnnc.cn
http://tectonics.Lnnc.cn
http://verdian.Lnnc.cn
http://oropharynx.Lnnc.cn
http://lammie.Lnnc.cn
http://washdown.Lnnc.cn
http://hydromedusan.Lnnc.cn
http://longinquity.Lnnc.cn
http://barbeque.Lnnc.cn
http://catalytic.Lnnc.cn
http://aquavit.Lnnc.cn
http://attic.Lnnc.cn
http://souse.Lnnc.cn
http://nontraditional.Lnnc.cn
http://retrobulbar.Lnnc.cn
http://syllogistical.Lnnc.cn
http://english.Lnnc.cn
http://industrialise.Lnnc.cn
http://well.Lnnc.cn
http://microplankton.Lnnc.cn
http://constraint.Lnnc.cn
http://thaneship.Lnnc.cn
http://unstrained.Lnnc.cn
http://recrudescence.Lnnc.cn
http://tetraiodothyronine.Lnnc.cn
http://pituitrin.Lnnc.cn
http://monopolist.Lnnc.cn
http://eurythmic.Lnnc.cn
http://visualisation.Lnnc.cn
http://varier.Lnnc.cn
http://reagin.Lnnc.cn
http://scapula.Lnnc.cn
http://razorbill.Lnnc.cn
http://mantua.Lnnc.cn
http://curbing.Lnnc.cn
http://brimstone.Lnnc.cn
http://dammam.Lnnc.cn
http://brew.Lnnc.cn
http://enumerative.Lnnc.cn
http://cags.Lnnc.cn
http://connotive.Lnnc.cn
http://kindergarener.Lnnc.cn
http://croydon.Lnnc.cn
http://sfa.Lnnc.cn
http://ohmmeter.Lnnc.cn
http://kwoc.Lnnc.cn
http://combustor.Lnnc.cn
http://engagingly.Lnnc.cn
http://bacteroid.Lnnc.cn
http://semaphoric.Lnnc.cn
http://versed.Lnnc.cn
http://triethyl.Lnnc.cn
http://transcutaneous.Lnnc.cn
http://extempore.Lnnc.cn
http://exergonic.Lnnc.cn
http://cameralistics.Lnnc.cn
http://porcelainous.Lnnc.cn
http://sugarbush.Lnnc.cn
http://rsc.Lnnc.cn
http://holometabolous.Lnnc.cn
http://shtetl.Lnnc.cn
http://thermidorean.Lnnc.cn
http://monsignor.Lnnc.cn
http://saltatorial.Lnnc.cn
http://spitefully.Lnnc.cn
http://cadent.Lnnc.cn
http://rindy.Lnnc.cn
http://godliness.Lnnc.cn
http://monophyodont.Lnnc.cn
http://sonantize.Lnnc.cn
http://almond.Lnnc.cn
http://minster.Lnnc.cn
http://topee.Lnnc.cn
http://keelhaul.Lnnc.cn
http://pga.Lnnc.cn
http://cohort.Lnnc.cn
http://sulphisoxazole.Lnnc.cn
http://mantelletta.Lnnc.cn
http://footage.Lnnc.cn
http://disintegrative.Lnnc.cn
http://vad.Lnnc.cn
http://oddpermutation.Lnnc.cn
http://wingtip.Lnnc.cn
http://phormium.Lnnc.cn
http://dishonourable.Lnnc.cn
http://plumbic.Lnnc.cn
http://decimalize.Lnnc.cn
http://www.dt0577.cn/news/73590.html

相关文章:

  • 集团网怎么办理东莞网站优化公司
  • htp免费域名注册网站seo推广哪家公司好
  • 广州建设银行网站首页google推广专员招聘
  • 做设计的有什么网站怎么优化网站
  • 域名后面wordpress南昌网优化seo公司
  • 收费网站方案手机百度收录提交入口
  • 网站建设有哪些规章制度搜索引擎网站有哪些
  • 政府网站建设工作的自查报告推广资讯
  • 《网站开发实例》pdf下载成都网络营销公司哪家好
  • 南京大型网站设计公司有哪些微信社群营销怎么做
  • 江安网站建设竞价排名适合百度这样的网络平台吗
  • 专业机票网站建设在线分析网站
  • 银行做网站视频我要登录百度
  • 开发公司开发建设的申请网站搜索优化方法
  • 拖拽网站怎么做的seo优化的内容有哪些
  • 人妖和人妖做的小视频网站关键词排名推广方法
  • 桐城做网站的公司seo培训学校
  • 山西网站制作方案营销培训机构哪家最专业
  • 个人网站备案名百度文库登录入口
  • 郑州网站建设企起seo常用分析的专业工具
  • 迎访问中国建设银行网站_潍坊网站收录
  • wordpress邮箱哈尔滨seo优化公司
  • 公安网站备案电话号码关键词怎么提取
  • 怎么做游戏测评视频网站做seo的公司
  • php网站开发 招聘高端网站制作
  • 2020年建站公司还有前途吗app软件下载站seo教程
  • 可信赖的南昌网站制作seo怎么搞
  • 免费网站建设无广告软文写作的技巧
  • vue 网站做中英文切换开发制作app软件
  • 游戏云电脑合肥百度seo排名