服务器说的“路、通道、线程”是什么意思?

服务器说的“路、通道、线程”是什么意思?,第1张

首先你要明白一点:路、核、线程三者的区别。

路:独立的CPU的个数。

核:单个CPU的物理核心(也叫真实核心)数量。

线程:程序中顺序控制流程的数量。

举个例子,双路四核八线程服务器指的就是该服务器有2个独立的CPU,每个CPU有2个物理核心(2x2=4核),每个核心拥有2条线程(4x2=8线程)。个人PC平台上很少出现“路”这个术语,以前奔腾时代英特尔公司面向桌面级用户倒是做过一些高端的双CPU平台,就是说一块主板上装了两个独立的CPU,和现在的双核CPU不是一个概念。多核CPU是由于后期技术发展后,芯片集成度越来越高,可以把多个物理核心集成在一个CPU上。打个比喻(虽然不恰当),如果把双路看做一对健康的双胞胎的话,那么双核就是一对连体双胞胎。

而所谓的四核八线程(注意:这里没有“路”定义)就是说,一颗独立的CPU上的真实核心数量为4,但是通过超线程技术又模拟出4个核心,看上去像8个核心了,但有4个是模拟出来的,不是真实的,以此类推。这就是所谓的超线程,目前是英特尔公司独有的技术。

至于“几通道”,它指的是服务器进行资源共享操作时的信道数量,它表现的是服务器的网络共享通信那一块的性能,和上面的三个术语面向的对象不同,他们仨表现的是服务器的数据处理那一块的性能,数量越高,服务器多任务处理能力越强。当然,这四个家伙一起展现了一台服务器的综合性能。

服务器为什么叫服务器,因为它要提供服务,而服务器上要软件才能提供服务

应用程序的意思是什么?不就是软件喽,而应用程序服务器就是软件服务端所在的服务器

比如QQ

---------------------

A发信息给B的过程

A---QQ应用程序服务器---B

QQ不是有个会员聊天记录吗?

那么就用到数据库服务器了,在A发信息给B的过程中,就加入了应用程序服务器把信息存入数据库服务器

哎。。。。讲不明白,只可意会,不可言传(主要本人表达能力有限)

1、说一说Servlet的生命周期

答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javaxservletServlet接口的

init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣

运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁

,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

2、JAVA SERVLET API中forward() 与redirect()的区别?

答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并

重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用

forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用

sendRedirect()方法。

3、Servlet的基本架构

答:

public class ServletName extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

}

}

为什么要使用

servlet

servlet

可以很好地替代公共网关接口(Common

Gateway

Interface,CGI)脚本。通常

CGI

脚本是用

Perl

或者

C

语言编写的,它们总是和特定的服务器平台紧密相关。

servlet

是用

Java

编写的,所以它们一开

始就是平台无关的。这样,Java

编写一次就可以在任何平台运行(write

once,run

anywhere)的承诺就同

样可以在服务器上实现了。servlet

还有一些

CGI

脚本所不具备的独特优点:

■servlet

是持久的。servlet

只需

Web

服务器加载一次,而且可以在不同请求之间保持服务(例如一

次数据库连接)。与之相反,CGI

脚本是短暂的、瞬态的。每一次对

CGI

脚本的请求,都会使

Web

服务器加

载并执行该脚本。一旦这个

CGI

脚本运行结束,它就会被从内存中清除,然后将结果返回到客户端。

CGI

脚本的每一次使用,都会造成程序初始化过程(例如连接数据库)的重复执行。

■servlet

是与平台无关的。如前所述,

servlet

是用

Java

编写的,它自然也继承了

Java

的平台无关

性。

■servlet

是可扩展的。

由于

servlet

是用

Java

编写的,

它就具备了

Java

所能带来的所有优点。

Java

是健壮的、面向对象的编程语言,它很容易扩展以适应你的需求。servlet

自然也具备了这些特征。

■servlet

是安全的。从外界调用一个

servlet

的惟一方法就是通过

Web

服务器。这提供了高水平的

安全性保障,尤其是在你的

Web

服务器有防火墙保护的时候。

■setvlet

可以在多种多样的客户机上使用。由于

servlet

是用

Java

编写的,所以你可以很方便地在

HTML

中使用它们,就像你使用

applet

一样。在本书中您将看到这一点。

6

什么是

servlet

servlet

可以被认为是服务器端的

applet。servlet

Web

服务器加载和执行,就如同

applet

被浏览器加

载和执行一样。servlet

从客户端(通过

Web

服务器)接收请求,执行某种作业,然后返回结果。

使用

servlet

的基本流程如下:

·客户端(很可能是

Web

浏览器)通过

HTTP

提出请求。

·Web

服务器接收该请求并将其发给

servlet。如果这个

servlet

尚未被加载,Web

服务器将把它加载

Java

虚拟机并且执行它。

·servlet

将接收该

HTTP

请求并执行某种处理。

·servlet

将向

Web

服务器返回应答。

·Web

服务器将从

servlet

收到的应答发送给客户端。

由于

servlet

是在服务器上执行,通常与

applet

相关的安全性的问题并不需实现。servlet

使相当数

量的不可能或者至少是很难由

applet

实现的功能的实现成为可能。与现有系统通过

CORBA,RMI,socket

和本地(native)调用的通信就是其中的一些例子。另外,一定要注意:Web

浏览器并不直接和

servlet

信,

servlet

是由

Web

服务器加载和执行的。

这意味着如果你的

Web

服务器有防火墙保护,

那么你的

servlet

也将得到防火墙的保护。

7

什么是

servlet

链?

UNIX

DOS

命令中的管道类似,你也可以将多个

servlet

以特定顺序链接起来。

servlet

链中,一个

servlet

的输出被当作下一个

servlet

的输入,而链中最后一个

servlet

的输出被返回到浏览器。

servlet

链接提供了将一个

servlet

的输出重定向为另一个

servlet

的输入的能力。这样,你就可以划分

工作,从而使用一系列

servlet

来实现它。另外,你还可以将

servlet

组织在一起以提供新的功能。

这需要看你的客户机的应用是什么方式了。

基本思路有二:

1、如果是http访问的,可以在服务器上装一个代理服务器软件;

2、如果是tcp方式的,可以在服务器上装一个IP端口转发软件;

以上方式的原理都是把服务器当作一个路由器,这样两个网络可以保持互相的独立性。

-----------------------------------

呵呵,放松,一切都会好起来的!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 服务器说的“路、通道、线程”是什么意思?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情