什么电脑软件可以在我每次按测试键盘按键软件的时候,把我按的那个按键,用声音读出来,最好是带文字转语音功能的

创建人: | 创建时间: | 所属分类:
(1)java基础;接口;反射及高级特性
(2)jdbc,oracle,html5,css,javascript,jsp,Ajax,jQuery
(3)struts2,spring,spring mvc,hibernate,mybatis等
行业百科网友:
EJB是基于哪些技术实现的?
EJB是基于哪些技术实现的?
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。
17:55:38&&&&来自
17:55:38&&&&java笔试题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
java笔试题
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩11页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢用J2EE技术实现基于Web的智能推理引擎-java-电脑编程网用J2EE技术实现基于Web的智能推理引擎作者:佚名 和相关&&
用J2EE技术实现基于Web的智能推理引擎1、引言 二十世纪九十年代是计算机软件技术迅猛发展的时期,计算机软件的应用也同时得到了空前的发展。然而,随着软件应用的不断扩展,人们对软件功能的需求也愈来愈大,人们已不满足于现有软件的简单功能,他们期盼着软件应具有更多、更高级的具有一定智能的功能。于是,出现了智能软件技术。智能软件技术是一种基于人工智能、知识工程等的现代软件开发技术,它的覆盖面非常广,尤其是在专家系统、决策支持系统、ERP等软件开发中得到了广泛的应用。智能软件是软件发展的最终目标之一,所以智能软件技术也会逐步得到更深层次的发展和应用。 二十世纪九十年代也是计算机网络技术飞速发展的年代,尤其是Internet的应用更是渗透到了各行各业,并进入了千家万户。Internet改变了人们传统的工作与生活模式,借助于这一强大的工具,不仅可以实现网上办公、网上娱乐,而且利用电子商务还可以实现网上购物等。Internet的发展离不开基于Web的应用程序,它使得Internet具有强大的功能和友好的用户界面。这种基于Web的应用程序不仅改变了传统的软件开发模式,也为传统的软件技术提供了新的发展方向,智能软件技术自然也不例外。基于Web的智能软件技术已成为当今的热点,并具有广阔的发展和应用前景。 在智能软件中,推理是一个不可缺少的部分。如今,在许多基于Web的应用领域中,都存在着对推理引擎的需求,如基于Web的专家系统、联机分析系统、数据挖掘系统、智能搜索引擎等等。如果能够开发一个开放的、对象化的、基于Web的推理引擎,势必会节省大量的重复开发工作,从而促进基于Web的智能软件开发及发展,本文论述了如何使用当今比较流行的J2EE技术来实现一个这样的推理引擎。 2、J2EE技术简介 J2EE即Java2 Platform Enterprise Edition,是一个方便于方应用程序开发的中间件服务集,它利用Java2 技术来简化诸多与企业解决方案的开发、部署和管理相关的复杂问题。由于J2EE技术的核心就是Java2平台,所以它不仅继承了Java2平台的一些优点,如:平台无关性,安全性等,而且增加了一整套核心企业应用程序编程界面,而所有这些界面均为标准的模块化组件,其中包括:Servlets,EJB(Enterprise JavaBeans),JSP,JDBC等。 2.1 Servlets Servlets是一些运行于Web方的Java小程序,用来扩展Web服务器的功能。Servlets用特定的Java解决方案替代了其它的Web服务器方编程模式(如:CGI,ISAPI等),Servlets也同样使用HTTP协议与客户端进行通讯,所以有时也称Sevlets为"HTTP Servlets"。Servlets 实现了一个用来处理客户与服务器之间消息的公共的请求/应答结构,Java Servlet API为这个结构定义了完整的、标准的接口。 Servlets可以嵌入在不同的Java服务器之中,因为我们用来编写Servlets的Servlet API对于服务器环境和协议没有任何特殊的要求,所以Servlets具有很强的可移植性。 2.2 EJB EJB不是一个具体的产品,它是一个Java服务器端组件开发的规范,它的目的是为了定义一个用来开发面向对象分布式应用组件的标准方法。使用EJB,Java程序员可以将一些定义明确的程序块组合到一起,从而方便、快捷地建构起分布式应用程序。EJB规范在简化分布式应用程序开发复杂性方面也做了大量的工作,所以EJB程序员不必太担心事务处理、多线程、资源管理等方面的问题。 EJB分为两种:会话EJB和实体EJB,会话EJB向客户提供一定的服务,如:特定的商业逻辑、查询等;而实体EJB则代表数据对象,通常代表的是数据表记录集的一行,一个实体EJB可以同时与多个客户进行交互。 使用EJB可以使整个程序分块明确,并且EJB可以使用其它EJB或JDBC等服务,从而增强了分布式应用程序的可扩展性和性能;另外,EJB的定义明确又增强了整个系统程序的可靠性、可管理性和可移植性。 2.3 JDBC JDBC是一组API,其定义了用来访问数据源的标准Java类库,使用这个类库我们可以以一种标准的方法、方便地访问资源。JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。 3 、系统设计 推理引擎就是应用系统中用来完成推理功能的模块,也可以称作推理机。推理机一般包括调度器,执行器和一致性协调器三部分。调度器控制整个推理流程,使得推理可以按照一定的流程进行下去;执行器执行调度器所选定的动作,并且负责读取知识库中的知识和全局黑板中的信息;一致性协调器保持推理中间结果的一致性,主要用于反向推理中。 推理引擎根据知识表示的不同采取的控制策略也是不同的,在这里我们所实现的是基于产生式规则集的知识表示。选择这种知识表示是因为其具有很多的优点,尤其是其易于理解、易于获取、易于管理,并且在现今的大多数智能应用系统中都采用了这种知识表示方法。基于这种知识表示的推理引擎采?识别-动作"的方式来循环执行规则,它的工作流程如图1: 图1. 基于规则的推理机流程   面向对象、组件化的软件开发方法成为当今软件开发的趋势,为了开发一个通用的、具有良好的"即插即用"性的推理引擎,就必须采用这种软件开发思想及开发流程。基于这种思想,我们可以将推理机进行封装,只提供给用户必要的、简单的接口及部署规范,用户使用这些接口就可以得到想要的推理服务,这样就可以取得内部复杂、完备而外部通用、简单这一组件化软件的效果。一个典型的使用这种推理引擎的智能软件的体系结构如图2.。 图2. 典型的智能软件系统结构 4、系统实现 Java语言是一种纯的面向对象的设计语言,与J2EE技术的结合,使得我们实现推理引擎变得更加简单,在整个实现的过程中,我们可以只关心内部结构的实现以及核心推理算法的实现,而不必花费太多的精力来考虑各个部分的接口实现问题,因为无论是Servlets还是EJB,其接口的定义和实现都十分方便。 我们将整个推理引擎实现成一个Java类包,用Servlets与外部应用系统进行数据交换;内部的推理核心使用无状态的会话EJB来实现,这样可以使多个用户同时使用,满足了基于Web应用程序多用户并发的特性;使用实体EJB通过JDBC访问知识库中的相关数据。整个推理引擎的结构如图3..
用J2EE技术实现基于Web的智能推理引擎第2部分:
图3. 基于Web的推理引擎结构图 在这个结构中接收器用Servlet实现,即最终实现为一组Servlet类,它的基本功能是给用户提供使用这个推理引擎的服务,这些服务是基于HTTP协议的请求/应答模式的,用户只需在自己的HTML、ASP、JSP网页或其它的客户端应用程序中按照HTTP协议请求这个Servlet类并传入相应的输入事实数据,便可以启动这个推理引擎,推理引擎经过推理得到结论,通过Servlet中的Response对象发送给客户端。 知识库的创建需遵循我们给出的规范,在这个规范中我们给出了事实表、规则表、数据字典表、控制表和临时表的结构。我们用多个实体EJB代表知识库中的各个表的记录集,实体EJB通过JDBC访问知识库,其中的JDBC连接串、数据库服务器名称、用户名和口令以一个XML文件的形式部署在服务器方。 推理核心部分需构件一个知识库类库,这个类库可以表示出整个基于产生式规则的知识库的结构,将这个知识库类库用一个无状态的会话EJB进行封装,一方面它可以定义一套完备的接口供接收器Servlets启动推理服务,另一方面它还需与代表知识库的实体EJB进行数据交换:访问事实、规则,存取临时数据等等。 5、特点 用J2EE技术实现的对象组件式的基于Web的智能推理引擎比其它技术(如微软的DCOM技术)所实现的推理引擎更具有优势,其主要特点如下: 层次清晰 J2EE技术本身就是一个定义非常明确的基于Web应用开发的界面,在这个技术规范下所实现的推理引擎自然秉承了这一优点,整个引擎分三层:控制层、推理层、数据访问层,每一层都有完备的接口和明确的功能。 有很强的可移植性 Java语言的"平台无关性"、"一次编写,处处使用"的特色已经得到了软件开发界的认可,所以这个推理引擎也是平ㄎ薰氐模?渲忻挥杏胩囟ㄆ教ㄏ喙氐牟糠郑?梢栽诵杏诙嘀种С?2EE的平台,如:Windows、Unix、Linux等,满足不同用户的需求。 可扩展性 这个推理引擎完全遵守J2EE规范,所以可以很容易地向其中添加其它的Java类库或组件完成给强大的功能;另外,推理核心部分是用EJB技术实现的,所以可以将这一部分单独使用。 效率高 将复杂的事务处理和数据处理都放到了服务器方,减少了客户端和服务器端相互传输的数据量,使得该系统相对于传统的基于C/S的系统效率要高许多。由于EJB Server提供了多种组件事务服务,使系统更能够应付大量的并发用户和管理复杂的事务逻辑。 6、结束语 本文所设计的基于Web的智能推理引擎提供了完备的接口和规范,在实际应用中,遵照规范可以通过嵌入的方式使用这个基于Web的智能推理引擎,在其上增加其它的用来处理专业事务的Servlets和一些处理用户界面JSP页面,便可以快速的建立起基于Web的智能应用软件,也可以将这个推理引擎与其它的推理引擎混合使用,建构起更加复杂、功能更加完备的推理引擎。 参考文献 1. Liu Dayou ,Guo Fei, Yu Qiangyuan .The Designing and Application of Web-based Agriculture Expert System. ISIAIT Beijing 2000, P.71-74 2. Stephen Asbury, Scott R. Weiner. Developing Java Enterprise Applications. John Wiley & Sons, Inc., 1999 3. 管纪文,刘大有. 知识工程原理. 长春:吉林大学出版社,1988 (Guan Jiwen, Liu Dayou. The principle of knowledge engineering. Changchun: Jilin University Press, 1998) 4. 万江平,严明,杨建梅. 用Java语言开发专家系统. 计算机应用研究, 2000, Vol 17, No. 5, P.62-64 (Wan Jiangping, Yan Ming, Yang Jianmei. Developing Expert System using Java language. Computer application research, 2000 , Vol 17, No. 5, P.62-64) 5. 凌星,金树福. 基于EJB的分布式应用开发.计算机应用研究, 1999, Vol 11, P.42-43 (Ling Xing, Jin Shufu. The development of EJB-based distributing application. Computer application research, 1999, Vol 11, P.42-43)
相关资料:|||||||用J2EE技术实现基于Web的智能推理引擎来源网络,如有侵权请告知,即处理!编程Tags:                &                    2302人阅读
大数据处理(4)
大部分开发人员都专注于单机的开发,随着大数据时代的到来,分布式计算、分布式服务器集群、分布式存储等都已经成为高级开发人员必须掌握的技术。
可以自己搭建一套高可用性的Web服务器集群系统,让您能轻松的拥抱分布式技术。
1.分布式集群
1.1.分布式系统架构
下图分布式系统架构好处有两点:一是系统可以适用于各种规模的企业,(图中每个节点代表一台应用服务器,并不见得是一台物理意义上的计算机);二是可以方便地进行服务器管理,管理员可以在任何一个远程客户端上登录,基于Web浏览器进行服务器管理。
1.2.增强的安全特性和事务处理功能
提供身份验证、授权机制、加密机制和安全数据存储等增值服务,为用户提供安全、可靠的分布式企业级应用;为保证应用数据和业务逻辑的的完整性,除了提供完全符合规范的事务管理之外,还支持死锁检测、并发控制、JMS全局事务等特性。
1.3.服务器集群的可扩展性和高可用性
多个应用服务器组成一个服务器集群,其优点在于:通过负载均衡和失效恢复机制可以解决网络拥塞问题,服务就近提供,实现地理位置无关性;可以为用户提供更好的访问质量;可以提高服务器响应速度,提高服务器及其他资源的利用效率;避免了网络关键部位出现单点失效问题;增强了服务器的可扩展性。
一个集群系统是一群松散结合的服务器组,形成一个虚拟的服务器,为客户端用户提供统一的服务。对于这个客户端来说,通常在访问集群系统时不会意识到它的服务是由具体的哪一台服务器提供。集群系统一般应具高可用性、可伸缩性、负载均衡、故障恢复和可维护性等特殊性能。
高可用性是集群系统最基本的要求,它是对整个系统运行稳定性的一个评价。可伸缩性是指整个系统在随着客户端用户数量的增加而继续保持有效响应时间的能力。在一个可伸缩性系统中,随着用户数量的增加,有效响应时间变长,成线性变化关系,这也体现一个系统的峰值负载处理能力,但随着越来越多的系统处于Internet上,用户访问的峰值负载有效预测已变的不可能。用户访问量的猛增,使系统的有效响应时间成非线性变化,响应时间急剧变长,知道系统不堪重负而停机。一般的解决方法就是通过提升系统硬件系统,或通过增加服务器。但是不合理的增加服务器只能使整个集群系统变的越来越庞大,系统的这种复杂化就意味系统故障率变高,随之整个系统可靠性、可维护性都会降低。
所以,一个系统的可用性和可伸缩性是一对矛盾的关系,而且和整个集群系统的实现方法有很大的关系。
1.4.EJB技术
EJB是J2EE应用平台的核心。Sun在EJB2.0规范中对EJB定义如下:EJB是用于开发和部署具多层结构的、分布式的、面向对象的Java应用系统跨平台的构件体系结构。EJB组件有三中类型:会话bean、实体bean、消息驱动bean。其中会话bean分为有状态和无状态两种。
EJB服务器的核心是提供EJB使用的一个或者多个EJB容器(Container)。EJB容器管理它所包含的EJB,为EJB组件的生存和执行提供了运行环境,同时也负责EJB的事务管理,安全管理,资源访问控制和一些异常处理。EJB容器不允许J2EE的客户端程序直接访问容器中EJB对象,当一个客户端用户想访问一个EJB,EJB规范中要求客户使用Java名字和目录接口JNDI(JavaNamingandDirectoryInterface)API来定位Bean的home接口。
1.5.EJB服务器集群
EJB服务器的集群是基于组件的一种集群方式,和普通WebServer集群技术有很大的不同。实现的方法也不相同。又由于EJB规范中没有提供任何有关支持集群的标准,即使有的厂商在EJB服务器中提供了集群特性,但如何具体实现集群也是由厂商自己确定。实现的方法也各不相同。目前,大多数J2EE应用服务器都提供了集群功能,如BeaWebLogic应用服务器,开放源码的JBoss应用服务器,Sybase公司提供的J2EE应用服务器等都提供了集群功能。在EJB服务器集群设计中,负载均衡(LoadBalance),EJB集群和HttpSession集群技术是设计中涉及到的主要技术。其中EJB集群的实现是整个系统实现的核心。
2.负载均衡(LoadBalance)
LoadBalance主要的目的在于将访问系统的负荷分散在不同的机器上,使整个系统吞吐量和并发性得到提高,它能让多台服务器共同承担一些繁重的计算或IO任务,从而消除网络瓶颈,提高网络的灵活性和可靠性。常见的方法如下:
DNS负载均衡是一种简单而有效的方法,该方法使用简单的域名查询IP地址来实现一种简单的负载均衡。任意给出一个地址,DNS服务器都有一个IP地址池与之对应。每次请求将域名转换成IP地址时,循环返回IP地址池中的下一个地址。故被称作DNSround-robin。当一个Client访问时,给请求JNDI的InitialContext客户端传递一个DNS名,作为命名服务器的URL,每个DNS名字被转换成一个不同的地址,使用这个技术,每个客户端InitailContext请求就被直接发送到不同的服务器上。负载均衡的一大缺点是:一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(因为DNS需要一定的刷新时间)才能发挥作用,在此期间,有些客户端用户访问仍旧将发送故障服务器上。
软件Proxy维护连接到一系列服务器上的打开连接。当一个Client访问服务器时,先要经过这个软件代理,这个代理能通过一些负载均衡的算法(如采用类似DNSRound-robin、随机方法、访问权衡算法)把一个用户的访问重新定向到一个服务器。这个软件代理方法能够及时发现服务器死机或没有响应,有效地避免了DNSround-robin方法中出现地故障访问。
硬件均衡器
这种硬件均衡器一般采用地址转换技术,将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。一般可采用第四层(或4层以上)的交换机来实现,这种交换机是按照IP地址和TCP端口进行虚拟连接的交换,直接将数据包发送到目的计算机的相应端口。通过交换机就能将来自外部的初始连接请求,分别与内部的多个地址相联系,从而建立虚拟连接实现负载均衡。这种第四层交换基于硬件芯片,因此网络传输速度和交换速度远远超过普通软件代理方式。如采用CiscoCSS11150(一种L4Switch)可以实现硬件均衡。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:703047次
积分:8103
积分:8103
排名:第1871名
原创:123篇
转载:339篇
评论:59条
(2)(1)(1)(1)(7)(10)(8)(7)(11)(11)(11)(8)(10)(11)(16)(24)(15)(12)(13)(10)(7)(7)(3)(11)(22)(50)(1)(2)(5)(7)(6)(20)(51)(9)(9)(37)(11)(4)(2)(9)

我要回帖

更多关于 显示键盘按键的软件 的文章

 

随机推荐