文章编号:3755时间:2024-05-20人气:
在当今快节奏的数字化环境中,企业需要可靠和高性能的服务器解决方案来支持其关键应用程序。基于 Java 的服务器解决方案提供了一系列优势,使其成为企业部署的理想选择。
在进行服务器处理的过程中,需要保证数据的正确处理,那么最重要的就是使用不同的数据处理模式进行运算。在整个过程中,可能很多人对服务器的知识并不了解,那么应该如何进行Java开发服务器的线程处理呢,关于线程处理有哪些知识?下面昌平北大青鸟为大家介绍关键服务器线程处理的简单知识。
1、BIO线程模型
在JDK1.4中引入JavaNIO之前,所有基于Java的Socket通信都使用了同步阻塞模式(BIO)。这种请求-响应通信模型简化了上层的应用程序开发上,但在具有性能和可靠性的情况下,存在一个巨大的瓶颈。在一段时间里面,大型应用程序服务器主要是用C或C++开发的,因为它们可以直接使用操作系统提供的异步I/O或AIO功能。
当流量增加且响应时间延迟增加时,JavaBIO开发的服务器软件只能通过硬件的不断扩展来满足并发性和低延迟的情况,这极大地增加了企业的成本和群集大小。系统的不断扩展,系统的可维护性也面临着巨大的挑战,只能通过购买性能更高的硬件服务器来解决问题,这将导致恶性循环的产生。
2、异步非阻塞线程模型
从JDK1.0到JDK1.3,Java的I/O类库非常原始。UNIX网络编程中的许多概念或接口未反映在I/O类库中,例如Pipe、Channel、Buffer和Selector等。在发布JDK1.4的时候,NIO正式发布JDK作为JSR-51。并且它还添加了一个包,为异步I/O开发提供了许多API和库。
3、RPC性能三原则
影响RPC的性能主要有三大元素,其中主要为I/O模型、协议及线程。
I/O模型:使用什么样的通道传递给另一方,BIO,NIO或AIO发送数据,IO模型在很大程度上能够决定框架的性能。
协议:应该使用什么样的通信协议,Rest+JSON或基于TCP的专用二进制协议。参加电脑培训的过程中发现,协议的选择不同,性能模型也不同。内部专用二进制协议的性能通常可以比公共协议更好地设计。
线程:如何读取数据报?在执行读取后的编解码器的哪个线程中,如何分发编码消息,通信线程模型是不同的,并且对性能的影响也非常大。
JavaEE是用Java编写的一种基于服务器的应用程序平台,它有以下优缺点:
优点:
为了联系实际,GOULD基于WEBLOGIC应用服务器(来自BEASYSTEMS公司的一种广为应用的产品)环境来介绍J2EE的这些技术。 JAVA最初是在浏览器和客户端机器中闪亮登场的。 当时,很多人质疑它是否适合做服务器端的开发。 随着对JAVA2平台企业版(J2EE)第三方支持的增多,JAVA被广泛接纳为开发企业级服务器端解决方案的首选平台之一。 J2EE平台由一整套服务(SERVICES)、应用程序接口(APIS)和协议构成,它对开发基于WEB的多层应用提供了功能支持。 在本文中我将解释支撑J2EE的13种核心技术:JDBC,JNDI,EJBS,RMI,JSP,JAVA SERVLETS,XML,JMS,JAVA IDL,JTS,JTA,JAVA MAIL 和 JAF,同时还将描述在何时、何处需要使用这些技术。 当然,我还要介绍这些不同的技术之间是如何交互的。 此外,为了让您更好地感受J2EE的真实应用,我将在WEBLOGIC应用服务器(来自BEA SYSTEMS公司的一种广为应用的产品)环境下来介绍这些技术。 不论对于WEBLOGIC应用服务器和J2EE的新手,还是那些想了解J2EE能带来什么好处的项目管理者和系统分析员,相信本文一定很有参考价值。 宏观印象: 分布式结构和J2EE过去,二层化应用--通常被称为CLIENT/SERVER应用--是大家谈论的最多的。 在很多情况下,服务器提供的唯一服务就是数据库服务。 在这种解决方案中,客户端程序负责数据访问、实现业务逻辑、用合适的样式显示结果、弹出预设的用户界面、接受用户输入等。 CLIENT/SERVER结构通常在第一次部署的时候比较容易,但难于升级或改进,而且经常基于某种专有的协议(通常是某种数据库协议)。 它使得重用业务逻辑和界面逻辑非常困难。 更重要的是,在WEB时代,二层化应用通常不能体现出很好的伸缩性,因而很难适应INTERNET的要求。 SUN设计J2EE的部分起因就是想解决二层化结构的缺陷。 于是J2EE定义了一套标准来简化N层企业级应用的开发。 它定义了一套标准化的组件,并为这些组件提供了完整的服务。 J2EE还自动为应用程序处理了很多实现细节,如安全、多线程等。 用J2EE开发N层应用包括将二层化结构中的不同层面切分成许多层。 一个N层化应用A能够为以下的每种服务提供一个分开的层:显示:在一个典型的WEB应用中,客户端机器上运行的浏览器负责实现用户界面。 动态生成显示: 尽管浏览器可以完成某些动态内容显示,但为了兼容不同的浏览器,这些动态生成工作应该放在WEB服务器端进行,使用JSP、SERVLETS,或者XML(标准通用标记语言下的一个子集可扩展标记语言)和XSL(可扩展样式表语言)。 业务逻辑:业务逻辑适合用SESSION EJB(后面将介绍)来实现。 数据访问:数据访问适合用ENTITY EJB(后面将介绍)和JDBC来实现 。 后台系统集成: 后台系统的集成可能需要用到许多不同的技术,至于何种最佳需要根据后台系统的特征而定。 您可能开始诧异:为什么有这么多的层?事实上,多层方式可以使企业级应用具有很强的伸缩性,它允许每层专注于特定的角色。 例如,让WEB服务器负责提供页面,应用服务器处理应用逻辑,而数据库服务器提供数据库服务。 由于J2EE建立在JAVA2平台标准版(J2SE)的基础上,所以具备了J2SE的所有优点和功能。 包括“编写一次,到处可用”的可移植性、通过JDBC访问数据库、同原有企业资源进行交互的CORBA技术以及一个经过验证的安全模型。 在这些基础上,J2EE又增加了对EJB(企业级JAVA组件)、JAVA SERVLETS、JAVA服务器页面(JSPS)和XML(标准通用标记语言的子集)技术的支持。 分布式结构与WEBLOGIC应用服务器J2EE提供了一个框架--一套标准API--用于开发分布式结构的应用,这个框架的实际实现留给了第三方厂商。 部分厂商只是专注于整个J2EE架构中的的特定组件,例如APACHE的TOMCAT提供了对JSP和SERVLETS的支持,BEA系统公司则通过其WEBLOGIC应用服务器产品为整个 J2EE规范提供了一个较为完整的实现。 WEBLOGIC服务器已使建立和部署伸缩性较好的分布式应用的过程大为简化。 WEBLOGIC和J2EE代理处理了大量常规的编程任务,包括提供事务服务、安全领域、可靠的消息、名字和目录服务、数据库访问和连接池、线程池、负载平衡和容错处理等。 通过以一种标准、易用的方式提供这些公共服务,像WEBLOGIC服务器这样的产品造就了具有更好伸缩性和可维护性的应用系统,使其为大量的用户提供了增长的可用性。 J2EE技术在接下来的部分里,我们将描述构成J2EE的各种技术,并且了解WEBLOGIC服务器是如何在一个分布式应用中对它们进行支持的。 最常用的J2EE技术应该是JDBC、JNDI、EJB、JSP和SERVLETS,对这些我们将作更仔细的考察。 JAVA;resultsetresultset=(sql);stringname;stringphone;while(()){name=(1)();phone=(2)();(name+,+phone);}}catch(exceptione){//();}}}OK。 接着我们来看一看JDBC是如何在企业应用中的进行使用。 JDBC在企业级应用中的应用以上实例其实是很基本的,可能有些微不足道。 它假定了一个2层结构。 在一个多层的企业级应用中,更大的可能是在客户端和一个EJB进行通信,该EJB将建立数据库连接。 为了实现和改进可伸缩性和系统性能,WEBLOGIC服务器提供了对连接缓冲池CONNECTION POOL的支持。 CONNECTION POOL减少了建立和释放数据库连接的消耗。 在系统启动以后即可建立这样的缓冲池,此后如故再有对数据库的请求,WEBLOGIC服务器可以很简单地从缓 冲池中取出数据。 数据缓冲池可以在WEBLOGIC服务器的 文件中进行定义。 (可参考 文件中的例子,WEBLOGIC服务器的文档中还有更详细的参考信息)在企业级应用的另一 个常见的数据库特性是事务处理。 事务是一组申明STATEMENT,它们必须做为同一个STATEMENT来处理以保证数据完整性。 缺省情况下JDBC使 用 AUTO-COMMIT 事务模式。 这可以通过使用CONNECTION类的 SETAUTOCOMMIT() 方法来实现。 现在我们已经对JDBC有了一些认识,下面该转向JNDI了。 JAVA NAMING AND DIRECTORY INTERFACE (JNDI)JNDI API被用于执行名字和目录服务。 它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,后者在应用服务器中的对象。 在JNDI中,在目录结构中的每一个结点称为CONTEXT。 每一个JNDI名字都是相对于CONTEXT的。 这里没有绝对名字的概念存在。 对一个应用来说,它可以通过使用 INITIALCONTEXT 类来得到其第一个CONTEXT:CONTEXT CTX = NEW INITIALCONTEXT();应用可以通过这个初始化的CONTEXT经有这个目录树来定位它所需要的资源或对象。 例如,假设你在WEBLOGIC服务器中展开了一个EJB并将 HOME接口绑定到名字 ,那么该EJB的某个客户在取得一个初始化CONTEXT以后,可以通过以下语句定位HOME接口:MYEJBHOME HOME = ( );在这个例子中,一旦你有了对被请求对象的参考,EJB的HOME接口就可以在它上面调用方法。 我们将在下面的EnterPRISE JAVA BEANS章节中做更多的介绍。 以上关于JNDI的讨论只是冰山之一角而已。 如果要更进一步地在CONTEXT中查找对象,JNDI也提供了一些方法来进行以下操作:将一个对象插入或绑定到CONTEXT。 这在你展开一个EJB的时候是很有效的。 从CONTEXT中移去对象。 列出CONTEXT中的所有对象。 创建或删除子一级的CONTEXT。 接下来,我们要开始关注EJB了。 ENTERPRISE JAVA BEANS (EJB)J2EE技术之所以赢得某体广泛重视的原因之一就是EJB。 它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。 EJB规范定义了EJB组件在何时以及如何与它们的容器进行交互作用。 容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。 EJB规范定义了3中基本的BEAN类型:STATELESS SESSION BEANS: 提供某种单一的服务,不维持任何状态,在服务器故障发生时无法继续存在,生命期相对较短。 例如,一个STATELESS SESSION BEAN可能被用于执行温度转换计算。 STATEFUL SESSION BEAN: 提供了与客户端的会话交互,可以存储状态从而代表一个客户。 典型例子是购物车。 STATEFUL SESSION BEAN在服务器故障时无法继续生存,生命期相对较短。 每一个实例只用于一个单个的线程ENTITY BEANS: 提供了一致性数据的表示-- 通常存放在数据库中 -- 在服务器故障发生后能继续存在。 多用户情况下可以使用EJB来表示相同的数据。 ENTITY EJB的一个典型例子是客户的帐号信息。 尽管有以上的区别,所有的EJB还是有许多的共同之处:它们都处理HOME INTERFACE。 它定义了一个客户端是如何创建与消亡EJB的。 可以在BEAN中对定义了客户端方法的远程接口进行调用;BEAN类则执行了主要的商务逻辑描述EJB的开发已经超出了本文的范围。 但是,如果一个EJB已经被开发了或者从第三方进行了购买,它就必须在应用服务器中进行发布。 WEBLOGIC SERVER 5.1带有一个EJB DEPLOYER TOOL来协助处理EJB的发布。 当你使用EJB DEPLOYER TOOL的时候,你要定义客户端所用的JNDI名字来定位EJB。 DEPLOYER TOOL将生成WRAPPER类来处理和容器的通信以及在一个JAR文件中把被请求的JAVA类绑定在一起。 一旦EJB被发布,客户端就可以使用它的JNDI名字来定位EJB。 首先,它必须得到一个到HOME接口的REFERENCE。 然后,客户端可以使用该接口,调用一个 CREATE() 方法来得到服务器上运行的某个BEAN实例的句柄;最后,客户端可以使用该句柄在BEAN中调用方法。 了解 EJB后,让我们再来看JSP。 JAVA SERVER PAGES (JSPS)我们中间可能已经有许多人已经熟悉MICROSOFT的ACTIVE SERVER PAGES (ASP)技术了。 JSP和ASP相对应的,但更具有平台对立性。 他们被设计用以帮助WEB内容开发人员创建动态网页,并且只需要相对较少的代码。 即使WEB设计师不懂得如何编程也可以使用JSP,因为JSP应用是很方便的。 JSP页面由HTML(标准通用标记语言下的一个应用)代码和嵌入其中的JAVA代码所组成。 服务器在页面被客户端所请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。 下面我们来看一个JSP的简单实例。 它只显示了服务器的当前日期和时间。 虽然,对语法的具体解释已经超出了本文的范围,但我们还是可以很直观地看到,JAVA代码被放在<%和%>;的中间,而JAVA的表达式则放在<%=和%>;之间。
内容声明:
1、本站收录的内容来源于大数据收集,版权归原网站所有!
2、本站收录的内容若侵害到您的利益,请联系我们进行删除处理!
3、本站不接受违法信息,如您发现违法内容,请联系我们进行举报处理!
4、本文地址:https://www.ed4.cn/article/286c6a64d535d16ccfce.html,复制请保留版权链接!
深入探讨VPS动态IP服务器的发展趋势与未来挑战==========================一、引言随着信息技术的飞速发展,VPS动态IP服务器作为云计算的重要组成部分,其在企业和个人用户中的应用越来越广泛,VPS,即虚拟专用服务器,动态IP则意味着每次连接时都会分配一个新的IP地址,本文将深入探讨VPS动态IP服务器的发展趋...。
最新资讯 2024-07-09 18:34:26
随着数字支付越来越普及,人们越来越担心网络安全威胁,数字支付方式,如移动钱包和在线银行业务,确实带来了便利,但也带来了新的安全风险,网络安全数据统计2021年,大约有1.46亿美国人成为网络钓鱼诈骗的受害者,2020年,全球因数据泄露而损失的资金总额估计为3万亿美元,2021年,63%的企业报告至少有一次数据泄露事件,常见的网络攻击类...。
互联网资讯 2024-05-23 06:00:51
引言Greengeeks是一家领先的网络托管提供商,以其对环境的承诺而闻名,这家公司致力于通过使用可再生能源、回收和减少碳足迹来提供绿色托管服务,如果您正在寻找一家符合您环保价值观的托管提供商,那么Greengeeks是一个绝佳的选择,绿色举措Greengeeks对环境的承诺体现在他们经营业务的各个方面,可再生能源,Greengeek...。
互联网资讯 2024-05-21 21:48:11
一次性密码,OTP,是一种身份验证方法,在每次登录或事务期间生成一个唯一的、一次性的代码,这种代码通常通过短信、电子邮件或移动应用程序发送给用户,只能使用一次,一次性密码的优点与传统密码相比,一次性密码具有诸多优点,安全性增强,由于每次登录或事务都会生成一个新的代码,因此窃取或破解密码的风险大大降低,易于使用,一次性密码易于使用,不需...。
互联网资讯 2024-05-19 23:09:33
如何在阿里云服务器上进行操作系统更换,在阿里云服务器上进行操作系统更换是一个比较复杂的过程,需要谨慎操作以避免数据丢失和服务中断,下面将详细介绍如何在阿里云服务器上进行操作系统更换,第一步,备份重要数据在进行操作系统更换之前,首先要备份服务器中的重要数据,这样可以避免因操作系统更换导致数据丢失而造成不可挽回的后果,第二步,选择新操作系...。
互联网资讯 2024-04-30 11:23:52
在今天的互联网时代,网站域名扮演着极为重要的角色,一个独特而令人印象深刻的域名不仅可以帮助网站吸引更多访问者,还可以提升品牌知名度和网站的可信度,因此,如何注册一个独特而令人印象深刻的域名成为了许多网站所有者或创业者关注的焦点,要注册一个独特的域名,你需要对你的网站的定位和目标受众有清晰的认识,一个好的域名应该能够准确地反映你网站的主...。
互联网资讯 2024-04-27 11:04:32
深入了解Sharktech,专业高效的云端服务供应商在当今数字化时代,云计算技术的重要性日益凸显,各行各业都在积极迁移其业务到云端,以获得更高效、更灵活的运营方式,而在云端服务供应商中,Sharktech作为一家备受推崇的专业服务商,以其出色的性能和专业的服务赢得了客户的青睐,本文将深入探讨Sharktech的特点、优势以及其在云端服...。
互联网资讯 2024-04-01 10:19:44
在网络世界中,代理服务器扮演着重要的角色,尤其是在网络安全、数据访问以及隐藏真实IP地址方面发挥着重要作用,中国作为一个网络活跃的国家,拥有大量不同类型的代理服务器IP地址,这些IP地址具有各自的优势和劣势,因此,了解不同类型的代理服务器对于用户来说至关重要,我们可以将代理服务器IP地址分为几种主要类型,透明代理、匿名代理和高匿代理,...。
互联网资讯 2024-03-19 09:04:24
如何利用国外加速服务提升网络速度,如何利用国外资源在国内挣钱,在当今信息化时代,快速稳定的网络连接已经成为人们生活和工作中不可或缺在某些区,网络速度可能受到限制或限制,导致用户体验不佳,为了提升网络速度,一种常见的方法是利用国外,通过技术手段优化网络连接,实现更快速的数据传输,本文将介绍如何利用国外加速服务来提升网络速度,以及如何利...。
互联网资讯 2024-03-12 10:25:35
商务电脑主机,商务主机,解密高效办公的秘密武器,商务电脑主机,解密高效办公的秘密武器随着现代商务环境的不断进步和发展,商务电脑主机成为了办公人员的必备工具,商务主机不仅可以提供强大的处理能力和多任务处理能力,还能通过优化的硬件和软件配置来提高办公效率,下面将详细分析商务电脑主机在办公场景中的应用和其所带来的好处,商务电脑主机提供了出色...。
互联网资讯 2024-01-10 04:45:13
银川网站建设,为您的业务增添线上曝光和发展机会银川是中国西部地区的一个重要城市,也是宁夏回族自治区的首府,近年来,随着互联网的快速发展,越来越多的企业意识到线上曝光和发展的重要性,银川的网站建设成为了许多企业追逐的目标,因为它能为业务增添线上曝光和发展机会,p银川网站建设的意义在于,它为企业提供了一个全新的线上展示平台,通过建设一个专...。
互联网资讯 2023-12-26 10:38:15