1、“.....它是每个任务必须实现的接口,线程池只执行实现了该接口的类,它提供组方法用来规定执行任务的入口任务的执行状态任务执行完后的收尾工作等,从而保证线程逻辑和应用逻辑的分离,工作线程通过该接口调度任务的执行。流程图线程池处理任务的过程如图所示。存在的问题线程池为我们构建多线程的服务器应用程序提供了强大的机制,但使用它可能会出现些问题。资源不足问题这里的资源包括线程自身所使用的资源线程处理任务时可能需要的其它资源,例如数据库连接套接字或文件输入输出流等。资源不足问题的本质原因就是过多创建线程从而消耗包括内存和其它系统资源在内的大量资源。为解决资源不足问题,我们在线程池中提供了几个参数供用户根据实际情况优化线程池。线程池中最大线程数,默认为无限大。通常我们期望应该是服务器能够接受的最大并发访问数。如果有多于的并发请求,多余的请求将被任务队列进行缓存......”。
2、“.....默认为。服务器启动时,会初始化值为的线程数。任务队列中能够缓存的最大请求数,默认为。当任务队列已满时,多余的请求将被服务器拒绝。线程池中空闲线程能够保持的最大时间,默认为表示永不过期。保证了当并发访问数较低时,些空闲的线程能够被服务器终止,从而被垃圾回收器回收。线程泄漏问题线程池中可能出现的另个问题是线程泄漏问题。所谓线程泄漏,是指当从线程池中取出个线程以执行项任务,而在任务完成后该线程却没有返回池中。个任务在长时间运行后不可避免会产生些诸如连接超时或中断的情况,从而抛出个运行时的异常或。如果线程池没有捕捉到它们,那么这样的线程就会直接退出,从而线程池中线程的数目将会永久减少个。当这种情况发生的次数越来越多时,线程池最终就会为空,从而服务器无法为后续请求提供服务,因为池中已经没有可用的线程来处理任务。对于线程泄漏问题......”。
3、“.....如果发生,通过方法通知线程池进行相应的处理,从而保证所有的工作线程运行正常。引擎给开发者提供了两个重要的能力它提供了访问远程数据的机制如远程方法调用它让开发者从表现中封装和分离程序逻辑而达到最大程度的代码重用和灵活性。逻辑与表现的分离是它超越其它应用结构的个主要优势。引擎主要功能是处理文件。当容器发现用户请求的是个页面时,它将该请求交给引擎进行处理。因此,可以说在响应请求的过程中引擎是由容器调用的。我们将引擎的入口程序设计成个,该是引擎的主导程序,包括对引擎的初始化以及调用其它相关类对页面进行处理。引擎处理文件包括三个大的步骤判断该文件对应的实例是否存在并有效,如果条件满足,直接返回原实例,否则,进行下步,该过程称为的预处理解析文件生成文件将文件编译成类,生成的文件必须实现接口,继承自接口,因此最终生成的类实际上就是个。上述过程如图所示......”。
4、“.....如果是第次请求该,则请求解析器对进行解析如果该曾经被解析过,按照如下规则决定是否需要对该进行重新解析和编译源代码改变时,重新解析和编译页面页面中包含的其它页面的源代码改变时,重新解析和编译页面内存中代表该的对象不存在时,重新解析和编译页面原来生成的类不再存在时,重新解析和编译页面除去以上四种情况,不再重新解析和编译页面。对的进行预处理对于提高服务器的响应性能具有重要意义。因为如果个从未改变,如果每次请求该时,引擎均重新解析和编译该,不仅浪费系统资源,而且延长了对客户端的响应时间。解析文件的解析是引擎工作的核心。个页面由静态数据和动态数据组成,动态数据已经是代码,所以它们不必修改就可以使用,动态数据被顺序放进生成的的方法中。静态数据嵌入到方法中的实例的方法中。解析的过程实际上就是对源代码解析后......”。
5、“.....引擎使用等几个类来实现对文件的解析。是对包中的和的封装,具有读出或回退单个字符和字符数组以及定位当前文件行数的功能。预先定义组的标准标签,并调用来读取文件内容,根据的标准标签,将读出的文件内容封装成个对象。根据生成的对象并结合规范生成个源文件。编译生成的只有编译成类才能够被容器所调用。我们使用优秀的开源程序来完成生成的类的编数据。提供了接口解决了这个问题。开发者如果想防止线程竞赛问题,他可以将其编写的实现接口。容器保证在调用实现了接口的的方法时只会让个线程执行并且次性执行完,其它相同请求的线程只能等待。规范没有规定容器要将个加载的保存多长时间,显然将个初始化的永久保存在缓冲池中是不可取的。容器会按照最近最少使用算法,定期清理缓冲池中的,对于很久未使用的,容器调用它的方法并将其移除以便它能够被垃圾回收。缓冲池按如下算法实现。用个缓冲对象对实例进行包装......”。
6、“.....个是代表实例的对象变量,个是代表每次访问该实例的时间变量。的主要方法是方法和方法,其内部用个哈希表和个有向链表实现缓冲,用个后台守护线程定期清理最近很久未使用的对象。哈希表存储实例的类名和将该实例进行包装的的名值对,有向链表存储实例的类名。具体实现见算法算法以及算法。过滤器规范增加了个很重要的新功能过滤器,其主要作用是在客户端请求到达被请求的服务之前,或者服务响应离开服务器到达客户端之前,根据需要对请求或响应进行预处理。与样,个也有三个方法表示它的生命周期和。容器处理的生命周期与处理类似,这里不再重述。容器实现过滤器的机制关键是要处理好过滤链。实现了接口,用以表示个或多个的集合。内部采用个队列用来存储所有该过滤链上的所有过滤器。过滤链上的过滤器执行时具有先后顺序,它们按照击鼓传花的方式逐个执行。容器按照如下方法处理过滤器当容器接收到个请求时,它获取请求的......”。
7、“.....按照描述符中配置的映射的先后循序逐个将这些加到过滤链上。对象通过的方法传给该过滤链上的每个。过滤链提供方法用以激活过滤链上下个。是否调用过滤链的方法完全由应用程序决定,容器只保证在请求到达时激活过滤链上的第个。如果过滤器在过滤链的尾部,没有后继过滤器,容器将处理客户端所请求的服务。全文总结是公司提出的种新的多层分布式计算体系结构的技术框架,是整套技术的总称,包括建立企业应用系统的各个方面。语言的服务器端应用的框架,支持平台独立可移植多用户安全和标准的企业级应用。使用技术能够快速建立可伸缩性的企业应用系统。目前市场上出现了很多成熟的应用服务器产品,多数数据库厂商也针对自己的数据库系统推出了应用服务器中间件,以便为企业应用提供整体解决方案。本课题就是在这背景下提出的。实现了三层体系结构中的应用逻辑层......”。
8、“.....构成了完整的基于的三层结构的应用系统平台。本课题在研究协议和规范白皮书的基础上,开发出种基于的,本文的研究工作主要体现在下面几个方面设计并实现了基于规范的应用服务器,它能够处理静态资源动态页面等大部分服务器端资源,任何符合规范的应用程序都能够在中配置运行实现了服务器的多层类装载体系,以支持热部署和控制应用程序对类和资源文件的访问权限为满足服务器端多线程体系结构的需求,设计并实现了线程池,并对运行过程中可能出现的资源不足内存泄露等问题给出了解决方法参照扩展标准,在服务器中实现了数据库连接缓冲池技术,对物理连接和逻辑连接进行两级缓存,提高数据库物理连接的利用率,改善连接请求的响应性能采用基于域的方式实现服务器端的安全管理功能,实现了基于基本验证和基于表单的身份认证以及基于角色的访问控制。参考文献樊银亭......”。
9、“.....刘志镜,来琳涵数据库访问的中间件技术分析与研究计算机工程与科学齐勇,赵季中,侯迪等基于的中间件系统集成框架应用服务器的研究计算机研究与发展范国闯,钟华,黄涛等应用服务器研究综述软件学报齐勇,赵季中,侯迪等中间应用服务器中分布对象事务服务管理技术研究西安交通大学学报赵仲孟,沈海斌,王瑞等应用服务器安全服务体系的分析与实现计算机工程与应用桂艳峰,林作铨个基于角色的安全访问控制系统计算机研究与发展唐建平与应用服务器平台无关的认证和授权方法计算机应用范国闯,朱寰,黄涛等应用服务器自适应负载平衡服务软件学报邓丽基于规范的网络平台应用服务器的研究西安建筑科技大学图书馆张震,张曾科,秦颖用开发服务器组件的方法计算机工程与应用阮彤,李京,冯东雷基于的应用服务器的设计与实现计算机研究与发展姚念民,郑名扬,鞠九滨基于流水线的高性能服务器软件学报万江平,何思遥......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。