CN101576824B - 基于jsf开发框架的内存优化系统及方法 - Google Patents
基于jsf开发框架的内存优化系统及方法 Download PDFInfo
- Publication number
- CN101576824B CN101576824B CN200910303455XA CN200910303455A CN101576824B CN 101576824 B CN101576824 B CN 101576824B CN 200910303455X A CN200910303455X A CN 200910303455XA CN 200910303455 A CN200910303455 A CN 200910303455A CN 101576824 B CN101576824 B CN 101576824B
- Authority
- CN
- China
- Prior art keywords
- management
- management class
- class
- parent
- objects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000006870 function Effects 0.000 claims abstract description 3
- 238000005457 optimization Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 abstract description 6
- 238000010276 construction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于JSF开发框架的内存优化系统及方法。所述系统中的所有作用范围为整个对话范围内的可管理类对象都继承至同一父类;所述父类的包括清除管理类对象模块,其中,所述多个管理类对象通过所述清除管理类对象模块与所述父类连接。所述方法包括:第一步,所有作用范围为整个对话的可管理类对象都继承至同一父类;第二步,在作用范围为整个对话的管理类对象初始化加载中,调用父类的构造函数从整个对话中移除其它管理类对象。本发明使每个对话在一个对话过程中只保留一个当前正在调用的管理类对象的实例,极大的减轻了服务器的内存需求;保证每个对话请求中只保留一个当前正请求类对象的实例;提高WEB程序的响应速度及服务器内管理性能。
Description
【技术领域】
本发明涉及利用JSF(JavaServerFaces)框架进行WEB开发领域,特别涉及一种基于JSF开发框架的内存优化系统及方法。
【背景技术】
随着J2EE1.5的发布,JSF(JavaServerFaces)已成为了JAVA WEB开发的标准框架,JSF提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了JAVA服务器端应用程序的开发。JSF引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与表达的清晰分离。不用特别的脚本语言或者标记语言来连接UI组件和Web层。技术为管理组件状态提供一个丰富的体系机构、处理组件数据、确认用户输入和操作事件。但在大型的应用系统开发中,JSF框架的WEB服务器端需要管理大量的作为范围为整个对话的管理类对象,这样随着对话的增加就会产生大量的类实例,在整个会话过程中大量请求过的作为范围为整个对话的类对象实例会占用很大的内存,从而对服务器的内存造成很大的压力,影响整个WEB的响应速度。
【发明内容】
为了解决现有技术在大型的应用系统开发中,JSF框架的WEB服务器端需要管理大量的作用范围为整个对话的管理类对象,这样随着会话的增加就会产生大量的类实例,在整个会话过程中大量请求过的会话类型为整个对话的实例会占用很大的内存,从而对服务器的内存造成很大的压力,影响整个WEB的响应速度的技术问题,本发明提供了一种基于JSF开发框架的内存优化系统及方法。
本发明解决现有技术存在的问题所采用的技术方案是:提供一种基于JSF开发框架的内存优化系统。所述JSF开发框架的内存优化系统中的所有作用范围为整个对话的管理类对象都继承至同一父类;所述父类的构造函数中包含移除整个对话中除了当前调用管理类对象的其它管理类对象的实例的清除管理类对象模块,其中,所述多个管理类对象通过所述清除管理类对象模块与所述父类连接。
根据本发明所述的基于JSF开发框架的内存优化系统的一优选技术方案:所述清除管理类对象模块为所述父类的构造函数中包含移除整个对话中除了当前访问页面绑定的管理类对象的名称的其它管理类对象的实例的清除管理类对象模块。
根据本发明所述的基于JSF开发框架的内存优化系统的一优选技术方案:所述清除管理类对象模块包括:用于通过浏览器访问功能页面的WEB页面加载模块,用于页面加载时产生一个新的实例的管理类对象加载模块,用于新实例在实初始化时调用父类的构造函数清除除当前正在调用的管理类对象的其它管理类对象的父类的清除管理类对象模块。
本发明提供一种基于JSF开发框架的内存优化方法,包括以下步骤:
第一步.所有作用范围为整个对话的管理类对象都继承至同一父类;
第二步.在作用范围为整个对话的管理类对象初始化加载中,调用父类的构造函数中的清除管理类对象方法,从整个对话中移除其它作用范围为整个对话的管理类对象。
根据本发明所述的基于JSF开发框架的内存优化方法一优选技术方案:所述步骤第二步进一步包括以下子步骤:
首先,加载WEB页面,调用WEB页面绑定的管理类对象,生成相应的管理类对象的实例;
其次,在管理类对象初始化过程中,调用父类的构造函数;
最后,在父类的构造函数中,调用清除管理类对象方法移除整个对话中除了当前正在调用的管理类对象的其它管理类对象的实例。
根据本发明所述的基于JSF开发框架的内存优化方法一优选技术方案:所述清除管理类对象方法具体步骤如下:首先,通过系统上下文中得到一个保存对话变量的集合对象;其次,迭代包含所有管理类对象名称的数组变量,如果迭代出的对象名称不等于当前正在访问的管理类对象的名称,则从对话变量集合中移除这个对象。
采用上述方法时,本方法通过在系统中使所有管理类对象都继承至同一父类,通过调用父类的构造函数来处理整个对话中的管理类对象,使每个对话在一个对话过程中只保留一个当前正在访问的管理类对象的实例,极大的减轻了服务器的内存需求;使WEB应用服务器对应用系统进中请求过的作用范围为整个对话的管理类对象进行更好的内存的管理,保证每个对话请求中只保留一个当前正请求管理类对象的实例;提高WEB程序的响应速度,提高了服务器内存管理性能。
【附图说明】
图1是本发明基于JSF开发框架的内存优化系统的框架结构图;
图2是本发明基于JSF开发框架的内存优化系统清除管理类对象模块框架图;
图3是本发明基于JSF开发框架的内存优化方法的流程图;
图4是本发明基于JSF开发框架的内存优化方法的清除其它Bean的实例的流程图;
图5是本发明基于JSF开发框架的内存优化方法的清除管理类对象方法具体流程图。
【具体实施方式】
下面结合附图和实施例对本发明进行详细说明。
参照图1,图1是是本发明基于JSF开发框架的内存优化系统的框架结构图。本实施例中,如图所示,子类1,子类2,子类3等等都是作用范围为整个对话的管理类对象,它们都继承至相同的父类AbstractParent,这样系统中的管理类对象都拥用共同的父类,都可执行父类的同一构造函数。在父类中有一个为beanNames的字符串数组类型的数据字段,所包含的都是为JSF框架管理的管理类对象的名称。所述父类的构造函数中包含移除整个对话中除了当前调用管理类对象的名称的其它管理类对象的实例的清除管理类对象模块。其中摳咐鄶是指所有子类的基类,所有继承自该类的对象都称为子类,所有子类都具有基类某些相同特性或方法(如子女会继承父亲的姓氏)。
参照图2,图2是本发明基于JSF开发框架的内存优化系统清除管理类对象模块框架图。本实施例中,所述清除管理类对象模块包括:页面加载模块,清除管理类对象模块,页面显示模块。本实施例中当页面加载模块101进行页面加载前会得到页面绑定的管理类对象102的一个实例,在管理类对象102进行初始化中会调用父类的清除管理类对象103的方法清除对话对象中除当前实例的所有其它管理类对象实例。调用父类清除管理类对象的具体方法为:第一步.得到系统中对话变量实例(SessionMap)第二步.迭代包含所有管理对象名称的数据变量清除对话变量中除当前管理类对象的其它管理类对象的实例。
所述第一步:从系统上下文中得到一个保存对话变量的集合对象SessionMap,此变量包含了系统中所有作用范围为对话范围的对象实例。
所述第二步:迭代包含所有管理对象名称的数组变量,当迭代出的对象名称不等于当前正在访问的管理类对象实例名称时,则从对话变量SessionMap中移除该管理类对象实例。
参照图3,图3是本发明基于JSF开发框架的内存优化方法的流程图。本实施例的方法通过对系统中所有作用范围为整个对话的管理类对象继承同一父类,然后在父类的构造函数中对整个对话除了当前页面加载绑定的管理类对象的实例的其它所有管理类对象进行移除达到优化内存的目的。
参照图4,图4是本发明基于JSF开发框架的内存优化方法的清除其它管理类对象的实例的流程图。本实施例中,如图所示,父类有一个构造函数方法,和一个清除管理类对象方法(清除整个对话管理类对象方法)用来执行从整个对话中清除对应的管理类对象的实例。当WEB页面第一次加载时,会调用WEB页面绑定的管理类对象,会在内存中生成相应的管理类对象的实例,在管理类对象实始化过程中,会调用父类的构造函数。在父类的构造函数中会调用清除管理类对象方法(清除整个对话管理类对象方法)来移除整个对话中除了当前调用管理类对象的其它管理类对象的实例。
请参照图5,图5是本发明基于JSF开发框架的内存优化方法的清除管理类对象方法具体流程图。本实施例中,所述清除管理类对象方法具体步骤如下:首先,通过系统上下文中得到一个保存对话变量的集合对象;其次,迭代包含所有管理类对象名称的数组变量,如果迭代出的对象名称不等于当前正在调用的管理类对象的名称,则从对话变量集合中移除这个对象。
同理在其它管理类对象加载过程中也同样会在整个对话中移除除当前正在调用管理类对象的其它管理类对象的实例。这样在系统的当前会话中就只会保留一个当前正在请求的管理类对象的实例。极大的提高了服务器内存管理性能。
本实施例的基于JSF开发框架的内存优化方法适用于利用JSF(JavaServer Faces)框架进行WEB开发的应用程序中。通过本方法能够使WEB应用服务器对应用系统进中请求过的作用范围为整个对话的管理类对象进行更好的内存的管理,保证每个对话请求中只保留一个当前正请求对象的实例。提高WEB程序的响应速度,提高了服务器内管理性能。
采用上述方法时,本方法通过在系统中使所有管理类对象都继承至同一父类,通过调用父类的构造函数来处理整个对话中的管理类对象,使每个对话在一个对话过程中只保留一个当前正在访问的管理类对象的实例,极大的减轻了服务器的内存需求;使WEB应用服务器对应用系统进中请求过的会话类型为整个对话的管理类对象进行更好的内存的管理,保证每个对话请求中只保留一个当前正请求对象的实例;提高WEB程序的响应速度,提高了服务器内管理性能。
以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (3)
1.一种基于JSF开发框架的内存优化系统,其特征在于:所述基于JSF开发框架的内存优化系统中所有作用范围为整个对话范围的管理类对象都继承于同一父类,所述父类包括清除管理类对象模块,其中,所述多个管理类对象通过所述清除管理类对象模块与所述父类连接,所述清除管理类对象模块为所述父类的构造函数中包含移除整个对话中除了当前访问页面绑定的管理类对象的名称的其它管理类对象的实例的清除管理类对象模块,所述清除管理类对象模块包括:用于通过浏览器访问功能页面的WEB页面加载模块(101),用于页面加载时产生一个新的实例的管理类对象加载模块(102),用于新实例在实初始化时调用父类的构造函数清除当前正在调用的管理类对象的其它管理类对象的父类的清除管理类对象模块(103)。
2.一种基于JSF开发框架的内存优化方法,其特征在于: 所述方法包括以下步骤:
A. 作用范围为整个对话范围的管理类对象继承至同一父类;
B. 在作用范围为整个对话范围的管理类对象初始化加载中,调用父类的构造函数中的清除管理类对象方法,从整个对话中移除其它管理类对象;其中,
所述步骤B进一步包括以下子步骤:
B1. 加载WEB页面,调用WEB页面绑定的管理类对象,生成相应的管理对象的实例;
B2. 在管理类对象的初始化过程中,调用父类的构造函数;
B3. 在父类的构造函数中,调用清除管理类对象的方法移除整个对话中除了当前调用管理类对象的其它管理类对象的实例。
3.根据权利要求2所述的基于JSF开发框架的内存优化方法,其特征在于:所述清除理类对象方法具体步骤如下:
首先,通过系统上下文中得到一个保存对话变量的集合对象;
其次,迭代包含所有管理类对象名称的数组变量,如果迭代出的对象名称不等于当前正在调用的管理类对象的名称,则从对话变量集合中移除这个对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910303455XA CN101576824B (zh) | 2009-06-19 | 2009-06-19 | 基于jsf开发框架的内存优化系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910303455XA CN101576824B (zh) | 2009-06-19 | 2009-06-19 | 基于jsf开发框架的内存优化系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101576824A CN101576824A (zh) | 2009-11-11 |
CN101576824B true CN101576824B (zh) | 2011-11-30 |
Family
ID=41271762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910303455XA Expired - Fee Related CN101576824B (zh) | 2009-06-19 | 2009-06-19 | 基于jsf开发框架的内存优化系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101576824B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567033B (zh) * | 2010-12-14 | 2015-09-16 | 北京大学 | 基于嵌入式实时Java虚拟机的预先类加载方法及装置 |
CN104679741B (zh) * | 2013-11-26 | 2021-03-12 | 腾讯科技(深圳)有限公司 | 一种获取实例占用内存的方法及装置 |
CN103902383A (zh) * | 2014-03-26 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种基于继承机制的资源管理器设计方法 |
CN109144477B (zh) * | 2018-07-06 | 2022-02-08 | 武汉斗鱼网络科技有限公司 | 一种自动管理类对象内存的方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653418A (zh) * | 2002-05-07 | 2005-08-10 | 甲骨文国际公司 | 向作为不同类实例的对象提供通用内存管理代码 |
CN1737752A (zh) * | 2004-08-18 | 2006-02-22 | 华为技术有限公司 | 一种共享数据的管理方法 |
-
2009
- 2009-06-19 CN CN200910303455XA patent/CN101576824B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653418A (zh) * | 2002-05-07 | 2005-08-10 | 甲骨文国际公司 | 向作为不同类实例的对象提供通用内存管理代码 |
CN1737752A (zh) * | 2004-08-18 | 2006-02-22 | 华为技术有限公司 | 一种共享数据的管理方法 |
Non-Patent Citations (1)
Title |
---|
张晓丽,于海燕.Web应用中缩短Web响应时间的技术研究.《现代电子技术》.2008,(第12期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN101576824A (zh) | 2009-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8312425B2 (en) | Dynamic template instantiation | |
US20230057335A1 (en) | Deployment of self-contained decision logic | |
CN104484216B (zh) | 服务接口文档和在线测试工具生成方法、装置 | |
Zhang et al. | Research on lightweight MVC framework based on spring MVC and mybatis | |
US8875098B2 (en) | Workflow engine for execution of web mashups | |
US8065659B1 (en) | Method and apparatus for executing scripts within a web browser | |
CN110221820B (zh) | spring框架泛型依赖注入方法、装置及计算机设备、存储介质 | |
US8983935B2 (en) | Methods for utilizing a javascript emulator in a web content proxy server and devices thereof | |
CN102184184B (zh) | 一种网页动态信息获取方法 | |
CN108228188A (zh) | 一种视图组件处理方法、电子设备及可读存储介质 | |
US9766927B1 (en) | Data flow management in processing workflows | |
US8037484B2 (en) | Building compound extensible AJAX applications | |
US20120166977A1 (en) | User programming access to data model in user interface design | |
CN104731606B (zh) | 基于识别抓取技术实现企业应用集成管理的系统及方法 | |
CN101576824B (zh) | 基于jsf开发框架的内存优化系统及方法 | |
CN104182234A (zh) | 一种业务处理方法和业务系统 | |
US10693962B1 (en) | Language and mechanism for modeling and exporting storage platform topologies, attributes, and behaviors | |
CN103530338A (zh) | 在计算设备上进行页面渲染的框架及生成页面的方法 | |
CN101937335A (zh) | 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎 | |
CN112861059A (zh) | 可视化组件生成方法、装置、计算机设备及可读存储介质 | |
CN102880492B (zh) | 一种基于as的xml脚本解析器及其方法 | |
CN108156009B (zh) | 一种服务调用方法及装置 | |
CN103377194A (zh) | 加速网页访问的方法、装置和浏览器 | |
CN103631645A (zh) | 一种基于数字医疗的数字家庭中间件系统 | |
US7865880B2 (en) | System and/or method for implementing efficient techniques for testing common information model providers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111130 Termination date: 20130619 |