gpt4 book ai didi

java - 多用户Java应用程序如何真正工作

转载 作者:行者123 更新时间:2023-12-03 12:54:09 24 4
gpt4 key购买 nike

我敢肯定,这个问题范围很广,但是我相信我还不完全了解多用户应用程序的工作方式,我想对这个问题进行一些澄清,或者想知道在哪里可以找到更多信息(不知道我该怎么做)。搜索)

我了解开发方面,但是一旦将代码部署到服务器,它将如何处理多个用户?例如,如果我有一个单例类,则该类将只在服务器上实例化一次……但是该类将需要同时由多个用户使用,这意味着该类中的变量可能需要不同每个用户,这是如何在后台实现的?

仅仅是每个不同的用户将在不同的线程上访问该类的概念吗?如果是这样,这是否意味着整个应用程序都必须是线程安全的?

最佳答案

让我直接说明这一点,从这一点开始

将代码部署到服务器后,它将如何处理多个用户?

---->是,应该将每个Web应用程序或企业应用程序都部署在服务器中,Web服务器上的Web应用程序应像tomcat上的WebSphere企业应用程序一样部署。每个服务器将具有带有多个线程的servlet容器(默认情况下,tomcat中为200),每个输入请求将由单个线程处理(因此多个请求可以并发执行)

(如果我有一个单例类),则该类仅在之后才在服务器上实例化

--->是,单例类在每个服务器上只有一个实例,因此多个线程可以同时访问同一对象,这可能导致数据不一致,这是开发人员应负责的责任。单例类的主要问题将是使用setter方法的class (instance or static)级变量,因为两个线程可以同时访问同一对象并更改值。在实时场景中,单例设计模式用于Connection Pool对象

注意局部变量在多线程中是最好的,因为每个线程都有自己的堆栈,并且其他任何线程都无法访问它们。

,但该类将需要由多个用户同时使用,这意味着该类内部的变量可能需要针对每个用户而有所不同

--->要将请求属性保存到对象中,Models or POJO将出现在图片中,对于每个将创建新对象的请求,这些都是prototype

关于java - 多用户Java应用程序如何真正工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53288420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com