java中什么是server,Java中service和server有什么区别
大家好,今天给各位分享java中什么是server的一些知识,其中也会对Java中service和server有什么区别进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
java中serverSocket是干什么的 怎么用
serversocket建立的是socket的服务端,
socket建立的是客户端。
例子
socket和serversocket(2010-05-07 04:17:11)转载▼
public class Server{
public static void main(String[] args){
Socket socket=null;
BufferedReader br=null;
PrintWriter pw=null;
try{
//创建服务器,并开放3081端口
ServerSocket server=new ServerSocket(3081);
while(true){
//监听服务器端口,一旦有数据发送过来,那么就将数据封装成socket对象
//如果没有数据发送过来,那么这时处于线程阻塞状态,不会向下继续执行
socket=server.accept();
System.out.println("客户端信息:"+socket.getRemoteSocketAddress());
//从socket中得到读取流,该流中有客户端发送过来的数据
InputStream in=socket.getInputStream();
//InputStreamReader将字节流转化为字符流
br=new BufferedReader(new InputStreamReader(in));
//行读取客户端数据
String info=br.readLine();
System.out.println(info);
OutputStream out=socket.getOutputStream();
pw=new PrintWriter(out);
pw.println("服务器说:我扁死你");
pw.flush();
}
} catch(Exception e){
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
pw.close();
br.close();
socket.close();
} catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class Client{
public static void main(String[] args){
Socket socket=null;
PrintWriter pw=null;
BufferedReader br=null;
try{
//创建socket对象,并指明服务器的IP地址和端口号
socket=new Socket("localhost",3081);
//得到socket发送数据的输出流
OutputStream out=socket.getOutputStream();
//将字节流包装成字符流
pw=new PrintWriter(out);
//向服务器发送数据
pw.println("客户端说:建军闷烧");
//刷新流,确保数据能写到服务器
pw.flush();
InputStream in=socket.getInputStream();
br=new BufferedReader(new InputStreamReader(in));
String info=br.readLine();
System.out.println(info);
} catch(Exception e){
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try{
pw.close();
socket.close();
} catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class Client{
public static void main(String[] args){
Socket socket=null;
PrintWriter pw=null;
BufferedReader br=null;
try{
//创建socket对象,并指明服务器的IP地址和端口号
socket=new Socket("localhost",3081);
//得到socket发送数据的输出流
OutputStream out=socket.getOutputStream();
//将字节流包装成字符流
pw=new PrintWriter(out);
//向服务器发送数据
pw.println("客户端说:建军闷烧");
//刷新流,确保数据能写到服务器
pw.flush();
InputStream in=socket.getInputStream();
br=new BufferedReader(new InputStreamReader(in));
String info=br.readLine();
System.out.println(info);
} catch(Exception e){
// TODO
Java中service和server有什么区别
除了楼上说的我再补充一下,根据经典的MVC(Model-View-Controller)项目不断完善与规范化,以Spring框架为代表,常见的项目结构被划分成了:Entity层(存放各类实体)、DAO层(数据持久化层,写sql)、Service层(服务层,处理业务逻辑)、Controller层(控制器,对外暴露接口)、View层(视图层,存放html页面或jsp页面,但是现在基本都是前后端分离架构了,视图层已经被单独抽离到前端项目中了)
所以Service可以理解为MVC架构的一个重要的层级部分,专门用来处理业务逻辑。一个业务流程基本上是:用户访问Controller的某个接口,控制器调用Service,Service中的业务逻辑调用DAO完成数据库操作,最终返回接口处理结果给用户。
然后说一下Server,我的理解是Server一般是用于定义服务器。例如:如果我们的项目中需要用到Socket通信,通信双方就需要对应的创建一个服务器Server和一个客户端Client,客户端与服务器建立连接后,就可以向服务器传输数据。这时的Server和Spring框架的Service就是完全不同的两样东西了。
一般来说,基于TCP进行通讯时,都要在服务端创建Server,在客户端创建Client。如果Spring框架中使用到TCP通讯,甚至可以看到,我们在Spring中创建服务端Server后,服务端Server还可以通过依赖注入调用Spring的Service进行业务逻辑处理。
综上,Service是MVC这类框架的重要组成部分,用于处理业务处理;Server用于创建一个服务器。
什么是severlet,及在Java开发中的作用
Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Java-enabled Web Server中。Java Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。 JSP是JavaServer Page的缩写,是Sun公司出品的Web开发语言,它类似于Microsfot公司的ASP,但由于它的跨平台性,愈来愈受到广泛的应用。 Servlet与Jsp之间的交互为开发Web服务提供了优秀的解决方案。说白了就是先有的JSP,但是后来发现JSP不科学,因为他把编辑页面视图的东西和业务逻辑的编程的东西都混在一起了.让做页面的也要会些编程,做编程的也要会些页面,某部分一改动就很容易牵扯其它部分.所以后来就开发了SERVLET,用来做中间层,把视图和业务逻辑分开实现,就是MVC.
命令java -server什么意思
JVM的参数配置
分别是服务器模式和客户端模式
因为JVM里面很多机制,在这两种模式下是不同的,
比如垃圾回收机制,客户端模式下,要求的是用户体验流程,无明显滞留感(就是没有卡的现象)
而服务端,要求的是吞吐量,就是单位时间内执行的代码要求越多越好,
来个例子:
执行1万次代码,一种垃圾回收策略是每隔1000行停顿一次用来做垃圾回收,回收时间10毫秒,那么总共耗停顿时间是100毫秒(10*10)
而另一种是,每隔2000行停顿一次用作垃圾回收,回收时间15毫秒,总共停顿时间耗时是75毫秒(15*5)
这个例子中,后一种方案的吞吐量高,而前一种法案的停顿时间短。
当然,server和 client还有其他地方的区别,比如,代码优化策略,等等
好了,文章到此结束,希望可以帮助到大家。