`
yangzb
  • 浏览: 3513538 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JCA 1.5: 优化和生命周期管理

    博客分类:
  • Java
阅读更多
来源:IBM developerworks  

  JCA 规范的新版本不会使应用程序与后端系统之间的连接变得更快,但 JCA 1.5 引入了两组接口,可以加快使用连接的应用程序的运行。第一组接口解除了以前 JCA 版本中应用服务器 style="COLOR: #000000" href="http://server.it168.com/" target=_blank>服务器管理连接句柄方式的限制。

  许多读者都知道,J2EE 支持两种连接使用模式,本文称之为 get-use-close 和 cached-handle。对这些模式的进一步分析有助于理解 JCA 1.5 在这方面所带来的性能改善。

  get-use-close

  在 get-use-close 模式中,应用程序在需要新连接时,总是先获取新连接,然后使用,然后再关闭它,如清单 1 所示。(为清楚起见,本文没有在示例清单中加入异常处理逻辑。)

  清单 1. 使用 get-use-close 模式的一个 Enterprise JavaBean (EJB)

 

1 public class GetUseCloseEJB implements SessionBean {
2     ...
3      public void businessMethod() {
4        InitialContext context = new InitialContext();
5        DataSource dataSource = (DataSource)context.lookup( " java:comp/env/jdbc/mydatasource " );
6        Connection connection = datasource.getConnection();
7        ...
8        connection.close();
9     }
10 }

  get-use-close 模式看起来效率不高,但是应用服务器实现的连接池可降低“获得”操作的成本。此外,因为应用程序只在需要时才保留连接,所以应用程序的不同实例或者部分可以重复使用该连接,从而降低了总的资源占用,如图 1 所示。

  图 1. 使用中的 get-use-close 模式

  如图 1 所示,每当 bean 方法调用 getConnection 时,连接管理器都会重复使用池中托管的连接,并只创建一个新连接句柄。当连接句柄通知连接管理器它已关闭时,托管的连接就被清除并返回池中。图 1 中的绿色线条表示托管连接与应用程序的这个实例相关联的时间。

  cached-handle

  在 cached-handle 模式中,应用程序在一开始是获得连接,然后在一个实例字段中缓存对它的引用,如清单 2 所示。

  清单 2. cached-handle 模式

 

1 public class CachedHandleEJB implements SessionBean {
2      private Connection _connection;
3     ...
4      public void ejbCreate() {
5        InitialContext context = new InitialContext();
6        DataSource dataSource = (DataSource)context.lookup( " java:comp/env/jdbc/mydatasource " );
7        _connection = datasource.getConnection();
8     }
9      public void businessMethod() {
10        ...
11     }
12 }

  应用程序开发人员通常都使用 cached-handle 方法,因为他们认为这样应用程序的性能会更好。但是因为 get-use-close 模式中连接池的作用,这两种使用模式的性能差别一般来说是很小的。尽管 cached-handle 模式可使业务方法中的逻辑更简单,但是需要额外的逻辑以便在钝化(passivation)时关闭连接,并在激活时重建连接。当容器毁坏 bean 时(如由于方法生成了一个运行时异常),还有可能留下打开的连接。

  cached-handle 模式的最大问题是当 bean 或者 servlet 的一个实例使用该连接时,其他实例就不能使用它——因此连接数最多只会有实例那么多。如图 2 所示。

  图 2. 使用中的 cached-handle 模式

  从图 2 中可以看到,创建 EJB 时(从绿色线条开始),托管的连接与连接句柄关联,并且这个 bean 实例以外的任何其他对象都不能使用这个连接。(绿色线条无限延伸。)

  针对这种情况,JCA 1.5 规范引入了两个新的接口,如清单 3 所示。

  清单 3. 解除关联(dissociation)和惰性关联(lazy association)接口

 

1 public interface DissociatableManagedConnection {
2      void dissociateConnections() throws ResourceException;
3 }
4 public interface LazyAssociatableConnectionManager {
5      void associateConnection(Object connection,
6                              ManagedConnectionFactory mcf,
7                              ConnectionRequestInfo cxReqInfo)
8              throws ResourceException
9 }

  解除关联

  资源适配器的托管连接实现第一个接口—— 解除关联 接口——以向连接管理器表明适配器支持这种优化。当连接暂时超出范围时(即当 bean 或者 servlet 方法退出时),如果连接管理器支持这种优化的话,它就可以解除由应用程序使用的连接句柄与表示物理资源的托管连接的关联。这使托管连接可以返回连接池,为 应用程序的其他部分所使用。

  惰性关联

  这种优化使用 惰性关联,而不是在下次调用方法时重新将连接句柄与托管连接关联。如果方法没有使用连接,或者它只调用连接句柄上不需要访问后端的简单方法,那么托管连接 未必会从池中移出。相反,当连接句柄确定它不需要与一个托管连接重新关联时,它就可以将连接管理器强制转换为 LazyAssociatableConnectionManager 并调用 associateConnection 方法。该方法以连接句柄为第一个参数,然后是托管连接厂,以及对 allocateConnection 的第一次调用时传递的请求信息。然后连接管理器从池中找到另一个合适的托管连接,并使用这个托管连接的 associateConnection 方法将它与连接句柄关联。

  图 3 显示了这种优化对 图 2 中的 cached-handle 用法的效果。

  图 3. 惰性关联降低资源用量

  图 3 中虚线箭头表示方法完成时 EJB 容器对连接管理器的通知。这时,托管的连接与连接句柄解除关联,只有当方法试图使用这个句柄时,托管连接才会重新关联。短的绿色线条显示托管连接现在绑定到 EJB 上,以缩短时间并可以在别的地方重新使用。

    在图 4 中可以看到,获得连接后,XAResource 立即征募到了事务中(即接收一个开始流程)。这意味着当事务方法结束时,流程需要在资源处结束,即使方法没有在事务中使用连接。

  如果在事务中涉及另一项资源,就会强制进行不必要的两阶段提交,导致额外的准备流程。这里的惟一可取之处是资源管理器仍然可以从准备调用中返回 XA_RDONLY (用于“read only”)以表明它实际没有做任何工作。事务管理器不需要在那个资源管理器处完成调用,并且如果在事务中只有一个资源管理器真正做了工作,那么事务管理 器也许可以避免日志文件中的惰性写操作。

  惰性征募

  现在您应当认识到除非绝对需要,否则不要在事务中征募。JCA 1.5 规范提供了一个解决方案:惰性征募。清单 4 显示了支持这各种优化所引入的两个接口。

  清单 4. 惰性征募的接口

 

1 public interface LazyEnlistableManagedConnection {
2 }
3 public interface LazyEnlistableConnectionManager {
4      void lazyEnlist(ManagedConnection mc)
5              throws ResourceException;
6 }

  LazyEnlistableManagedConnection 接口是由托管连接实现的标记接口,用以向连接管理器表明在事务中创建新的连接或者在连接已经存在的情况下开始一个新的事务时,它不需要将托管连接急切征募 到现有事务中。如果连接句柄准备执行应当是任一事务中的一部分的某些工作,并且它的托管连接还没有征募,那么应当确定连接管理器是否实施了 LazyEnlistableConnectionManager 接口。如果实施了,那么它应当调用传递托管连接的 lazyEnlist 方法。这个方法不返回任何结果,但是如果调用线程关联了一个事务,那么这时就征募托管连接的 XAResource。如果连接没有被征募,那么它需要在后面每一项工作之前再次调用 lazyEnlist,以检查在上次调用这个方法之后,是不是没有启动过事务。

  图 5 显示了这个新的事件序列。

  图 5. 惰性事务征募

  在图 5 中可以看到,在获得连接时,XAResource 不再急切征募。相反,连接管理器会等待,直到连接用 lazyEnlist 调用表明它要完成一些事务工作时,才会征募 XAResource。

  什么时候出现错误

  JCA 规范的第一个版本提供了一种让资源适配器在连接出现严重错误时通知连接管理器的机制。这是 ConnectionEventListener 接口的 connectionErrorOccurred 方法。收到这个通知后,连接管理器就会毁环发送事件的托管连接,这样就不会再使用它。这些都是不错的。但是,如果到后端的连接丢失了,那么池中的许多托管 连接也很有可能不能再使用。

  针对这个问题,JCA 1.5 以 ValidatingManagedConnectionFactory 接口的方式引入了一种雅洁的解决方案,如清单 5 所示。

  清单 5. 用于确定无效连接的接口

 

1 public interface ValidatingManagedConnectionFactory {
2     Set getInvalidConnections(Set connectionSet)
3              throws ResourceException;
4 }
5

  由托管连接厂实现的 ValidatingManagedConnectionFactory 接口包含一个方法——getInvalidConnections——它以一组托管连接为参数,返回资源适配器认为无效的一个子集。资源适配器的验证可以 采取任何形式,不过通常涉及到对后端的某种“ping”操作,以测试连接。然后连接管理器在资源适配器指示连接错误时调用这个方法,甚至定期调用该方法, 以便从池中排除坏掉的连接。

  开始和结束

  最初的 JCA 版本为托管连接及其相关联的连接句柄提供了详细的生命周期模式,但是它没有为资源适配器提供这种概念。只有当创建了托管连接厂后,部署的资源适配器才知道 它的存在。JCA 1.5 中引入的 ResourceAdapter 接口对此进行了纠正,如清单 6 所示。

  清单 6. 新资源适配器接口的生命周期方法

 

1 public interface ResourceAdapter {
2      void start(BootstrapContext ctx)
3              throws ResourceAdapterInternalException;
4      void stop();
5     ...
6 }

  资源适配器可以在其部署描述符(ra.xml)的 resourceadapter-class 元素中给出实现这个接口的类的名称。除了实现 ResourceAdapter 接口,这个类可以通过 JavaBean 样式支持某些属性。与托管连接厂一样,在部署描述符中可以声明这些属性及其默认值,如清单 7 所示。在安装了资源适配器后,应用服务器将允许管理员覆盖这些默认值。

  清单 7. 资源适配器部署描述符

 

1 < connector >
2   ...
3    < resourceadapter >
4      < resourceadapter-class >
5       example.ExampleResourceAdapterImpl
6      </ resourceadapter-class >
7      < config-property >
8        < config-property-name > ServerName </ config-property-name >
9        < config-property-type > java.lang.String </ config-property-type >
10        < config-property-value > MyServer </ config-property-value >
11      </ config-property >
12      < config-property >
13        < config-property-name > PortNumber </ config-property-name >
14        < config-property-type > java.lang.String </ config-property-type >
15        < config-property-value > 1976 </ config-property-value >
16      </ config-property >
17    </ resourceadapter >
18   ...
19 </ connector >

  在启动时,应用服务器会创建在部署描述符中指定的类的一个实例,并设置管理员提供的属性。这个类必须根据这些属性实现一个 equals 方法,这样应用服务器就可以保证它不会创建一个以上同样的实例。然后会调用 start 方法,向它传递一个实现了 BootstrapContext 接口的对象。可以用这个对象创建计时器、调度其他线程上的工作和控制导入的事务,在本系列的第 2 部分中将更详细地讨论所有这些内容。这个方法将不会堵塞并会及时返回。

  应用服务器通常会在关闭或者解除部署资源适配器之前,对资源适配器调用 stop 方法。JCA 1.5 规范描述了这个过程的两个阶段。首先,应用服务器保证依赖资源适配器的所有应用程序都已停止。这可保证程序线程不再使用资源适配器对象,并且所有事务都已 完成。然后应用服务器调用 stop 方法。这时,资源适配器将执行一个有序的关闭(例如,释放网络和应用服务器资源,并将所有缓存的数据强行送回后端)。调用 stop 后,应用服务器将不会重新使用资源适配器实例。

  为了保留向后兼容性,ManagedConnectionFactory 没有改变,但是如果希望外部资源可以利用资源适配器具有的功能,那么还要实现清单 8 所示的新的 ResourceAdapterAssociation 接口。

  清单 8. ResourceAdapterAssociation 接口

 

1 public interface ResourceAdapterAssociation {
2     ResourceAdapter getResourceAdapter();
3      void setResourceAdapter(ResourceAdapter ra)
4              throws ResourceException;
5 }

  构建了托管连接厂之后,应用服务器将调用 setResourceAdapter 方法以便将它与其资源适配器关联在一起。在托管连接厂的生命周期内这种关联将会固定下来。这种方法只调用一次。

  结束语

  本文展示了 JCA 1.5 为现有出站契约带来的四项增强功能。惰性关联和征募优化会提高使用连接的应用程序的性能,验证托管连接厂会改善对故障情况的处理。在资源适配器级别引入生 命周期管理为资源适配器提供了多种有趣的新机会。本系列的第 2 部分将分析如何在这个基础上建立新的工作管理和事务流入契约。

分享到:
评论

相关推荐

    Java EE 6 标准与规范(中文版)

    提供工具来监控和管理事务服务。 #### 四、资源、命名和注入 **4.1 概述** Java EE 6 通过JNDI(Java Naming and Directory Interface)提供了一致的命名和查找服务。 **4.2 JNDI 命名上下文环境** - **应用...

    hibernate教程

    - **生命周期事件**:支持多种生命周期事件,如 `preInsert`、`postLoad` 等。 ##### 4.5 Validatable 回调 - **实体校验**:可以通过实现 `Validatable` 接口来自定义实体校验逻辑。 ##### 4.6 使用 XDoclet 标记...

    resin-reference-3.0.13文档

    - **Amber 生命周期**:详细介绍了 Amber 的生命周期及其管理方法。 #### 九、性能 (Performance) 这部分涵盖了 Resin 的性能调优技术和策略。 ##### 9.1 服务器缓存 (Server Caching) - **服务器缓存配置**:...

    Hibernate文档

    讨论了如何在 Web 应用环境中管理 Hibernate Session 的生命周期。 #### 六、配置 **3.1 程序化配置** 介绍了如何通过代码来配置 Hibernate。 - **3.2 获取 SessionFactory** SessionFactory 是 Hibernate 中...

    基于javaweb的学生宿舍管理系统.zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用

    最新更新!!国家农业龙头企业数量(2010-2022年)

    ## 1、数据简介 国家农业龙头企业数量主要指的是经过国家相关部门认定,并在农业产业化方面发挥重要引领作用的企业的总数。这些企业通常以农产品加工或流通为主业,通过各种利益联结机制与农户相联系,带动农户进入市场,实现农产品生产、加工、销售的有机结合和相互促进。 数据名称:国家农业龙头企业数量 数据年份:2010-2022年 ## 02、相关数据 省份、年份、龙头企业数量。

    基于struts2+spring+mybites的二手车交易信息网站(毕设&课设&实训&大作业&竞赛&项目)

    这是一个二手车交易信息网站,用struts2+spring+mybites写的,数据库放在webContent目录下的。.zip项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款

    集工单统计、任务钩子、权限管理、灵活配置流程与模版等工单系统

    本系统是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。 致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。

    Qt5.12Linux+Win安装包-压缩分卷00(共10卷)

    第00卷,密码在对应的文章内。

    Linux Mint-15.zip

    目录: linuxmint-15-cinnamon-dvd-32bit linuxmint-15-cinnamon-dvd-64bit linuxmint-15-kde-dvd-32bit linuxmint-15-kde-dvd-64bit linuxmint-15-mate-dvd-32bit linuxmint-15-mate-dvd-64bit linuxmint-15-xfce-dvd-32bit linuxmint-15-xfce-dvd-64bit 网盘文件永久链接

    chromedriver-win32-135.0.7031.0(Canary).zip

    chromedriver-win32-135.0.7031.0(Canary).zip

    STM32开发:IIR带阻滤波器设计与实现,含巴特沃斯和切比雪夫滤波器MATLAB程序,STM32开发中IIR带阻滤波器的实现与巴特沃斯滤波器设计详解:附MATLAB程序,STM32开发 IIR带阻滤

    STM32开发:IIR带阻滤波器设计与实现,含巴特沃斯和切比雪夫滤波器MATLAB程序,STM32开发中IIR带阻滤波器的实现与巴特沃斯滤波器设计详解:附MATLAB程序,STM32开发 IIR带阻滤波器 STM32实现IIR无限冲击响应带阻滤波器设计,巴特沃斯滤波器,代码工整,自编代码,注释详细,赠送巴特沃斯和切比雪夫IIR带阻滤波器MATLAB程序 ,STM32开发; IIR带阻滤波器; 无限冲击响应; 巴特沃斯滤波器; 自编代码; 注释详细; MATLAB程序,STM32中IIR带阻滤波器设计与实现

    遵循HTTP协议,编写HTML生成器生成前端界面,完成简单的博客系统.zip(课设&实训&大作业&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款

    基于ssh&amp;acegi的简单b2c电子商务网站.zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用

    纯电动汽车仿真研究:基于Matlab Simulink与Simscape的车辆模型动力性、经济性及续航里程分析,基于Matlab Simulink与Simscape的纯电动汽车动力、经济性及续航里程仿

    纯电动汽车仿真研究:基于Matlab Simulink与Simscape的车辆模型动力性、经济性及续航里程分析,基于Matlab Simulink与Simscape的纯电动汽车动力、经济性及续航里程仿真模型探究,纯电动汽车仿真、纯电动公交、纯电动客车、纯电动汽车动力性仿真、经济性仿真、续航里程仿真。 模型包括电机、电池、车辆模型。 有两种模型2选1: 1 完全用matlab simulink搭建的模型。 2用simscape搭建的车辆模型。 ,纯电动汽车仿真; 纯电动公交; 纯电动客车; 动力性仿真; 经济性仿真; 续航里程仿真; 模型(电机、电池、车辆模型); MATLAB Simulink模型; Simscape车辆模型。,纯电动交通工具仿真模型研究:基于Matlab Simulink与Simscape的电池、电机及车辆性能分析

    MATLAB代码:电转气P2G与碳捕集设备在热电联供综合能源系统中的优化调度模型研究:融入碳交易机制的非线性模型高效求解 ,MATLAB环境下结合P2G技术与碳捕集设备的综合能源系统优化调度模型,包括

    MATLAB代码:电转气P2G与碳捕集设备在热电联供综合能源系统中的优化调度模型研究:融入碳交易机制的非线性模型高效求解。,MATLAB环境下结合P2G技术与碳捕集设备的综合能源系统优化调度模型,包括热电联产与低碳调度,借鉴碳交易机制实现高效求解。,MATLAB代码:考虑P2G和碳捕集设备的热电联供综合能源系统优化调度模型 注意:店铺内有大量考虑碳交易代码,欢迎咨询 关键词:碳捕集 综合能源系统 电转气P2G 热电联产 低碳调度 参考文档:《Modeling and Optimization of Combined Heat and Power with Power-to-Gas and Carbon Capture System in Integrated Energy System》完美复现 仿真平台:MATLAB yalmip+gurobi 主要内容:代码主要做的是一个考虑电转气P2G和碳捕集设备的热电联供综合能源系统优化调度模型,模型耦合CHP热电联产单元、电转气单元以及碳捕集单元,并重点考虑了碳交易机制,建立了综合能源系统运行优化模型,模型为非线性模型,采用yalmip

    课程设计 二手商城 基于springboot后台管理.zip(课设&实训&大作业&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用

    19考试真题最近的t37.txt

    19考试真题最近的t37.txt

    (参考项目)MATLAB交通道路标识识别.zip

    MATLAB交通标志识别系统可以通过图像处理和机器学习技术来识别道路上的不同交通标志。这个系统可以通过以下步骤来实现: 1. **数据收集**:收集具有不同交通标志的图像作为训练集,可以使用公开的交通标志数据集或者自己创建一个数据集。 2. **图像预处理**:对采集到的图像进行预处理,比如去噪、调整大小、灰度化等操作,以便更好地进行特征提取。 3. **特征提取**:从预处理后的图像中提取特征,例如颜色、形状、纹理等特征,以便训练分类器。 4. **分类器训练**:使用机器学习算法(如支持向量机、人工神经网络等)对提取的特征进行训练,以建立交通标志的分类模型。 5. **标志识别**:使用训练好的分类器对新的图像进行识别,并输出识别结果。 MATLAB提供了丰富的图像处理工具箱和机器学习工具箱,可以帮助实现交通标志识别系统。可以使用MATLAB编写代码来处理图像、提取特征、训练分类器和进行识别。同时,也可以借助深度学习工具箱来构建卷积神经网络(CNN)等深度学习模型进行交通标志的识别。 需要注意的是,在实际应用中,还需要考虑系统的实时性、准确性和稳定性等因素,以确保该系统在不同场景下能够有效地识别交通标志。

    双有源桥扩展技术:100kHz高频率、最小电流应力优化的3kw功率开关控制系统,双有源桥扩展技术:100kHz高频率、375-48V宽电压范围下的3kw功率控制与优化,双有源桥扩展移相控制 开关频率

    双有源桥扩展技术:100kHz高频率、最小电流应力优化的3kw功率开关控制系统,双有源桥扩展技术:100kHz高频率、375-48V宽电压范围下的3kw功率控制与优化,双有源桥扩展移相控制 开关频率100k,375-48V,功率3kw 控制方式为最小电流应力优化控制 参数可定制 ,双有源桥;扩展移相控制;开关频率100k;功率3kw;最小电流应力优化控制;参数可定制,双桥移相控制,最小电流应力优化——100k开关频率功率控制技术

Global site tag (gtag.js) - Google Analytics