java线程,单例,多例的问题

最近在学习线程方面概念有点混淆,想请教下各位大神.
假设我把一个Web程序放在了服务器,假设现在有100个人访问我的Web,
那我是否可以理解为是100条线程同时访问我服务器上的这一个web程序的login方法,
问题:这个多端同时访问这个方法是否涉及到线程安全的问题,还是说互联网的工作原理是每个人分配一套web程序服务,互不影响,不不干扰。

0
扫码支付0.1元 ×
其他相关推荐
常见框架单例、多例与线程安全性总结
单例与多例问题是指,当多个用户访问某个类时,系统是为每个用户创建一个该类实例,还是整个系统无论多少用户访问,只创建一个该类实例。线程安全问题是指,多个用户同时在访问同一个程序时,其对于某一数据的修改,会不会影响到其他用户中的该数据。若没有影响,则是线程安全的;若有可能影响,则是线程不安全的。现在对 HttpServlet、HttpSession、SpingMVC、Struts2 中的 Action、
关于struts2 的单例和多例及线程安全的问题
我知道struts 2的Action是多实例的并非单例,也就是每次请求产生一个Action的对象。原因是:struts 2的Action中包含数据,例如你在页面填写的数据就会包含在Action的成员变量里面。如果Action是单实例的话,这些数据在多线程的环境下就会相互影响,例如造成别人填写的数据被你看到了。它存在着线程不安全。 而struts 1的Action是单实例的,因为它的数据保存在
action到底是单例(线程不安全),还是多例(线程安全)
struts 2的Action是多实例的并非单例,也就是每次请求产生一个Action的对象。原因是:struts 2的Action中包含数据,例如你在页面填写的数据就会包含在Action的成员变量里面。如果Action是单实例的话,这些数据在多线程的环境下就会相互影响,例如造成别人填写的数据被你看到了。所以Struts2的Action是多例模式的。 问题出现了,可以让struts2的action
线程安全(单例与多例)
线程安全(单例与多例)
Java单例和多例的性能
公用类ThreadUtils,用于父线程等待子线程运行结束。import java.util.List;public class ThreadUtils { // 注册runnable public static synchronized void regist(Runnable runnable, List<Runnable> runnableList){ sync
单例问题与线程安全
饿汉式 没有线程安全性问题 懒汉式 public class SingletonDemo2 { private static SingletonDemo2 instance; private SingletonDemo2() {} public static SingletonDemo2 getInstance() { if(instance==null) {
Java的单例及多例设计模式
单例先从谈构造方法私有化开始: 在正常情况下,给了你一个类,那么只有通过产生对象之后才可以操作这个类。class Singleton { public void print() { System.out.println("Hello World"); } } public class TestDemo { public static void main(St
java多线程(6) ----- 单例模式和多线程
6.1立即加载/“饿汉模式”立即加载/“饿汉模式”就是使用类的时候已经将对象创建完毕,常见的实现办法就是直接new实例化。6.2 延迟加载/“懒汉模式”延迟加载/“懒汉模式”就是在调用get()方法时实例才被创建,常见的实现办法就是在get()方法中进行new实例化。使用DCL双检查锁机制来实现多线程环境中的延迟加载单例设计模式。使用双重检查锁功能,成功地解决了“懒汉模式”遇到多线程的问题。DCL...
Servlet单例多例问题
Servlet到底是单例还是多例我们说了都不算,要看官方说明。 结论: Servlet既可以是单例,又可以是多例。Servlet 如果是同一个 Web App 的话,定义多次就是多例。所以要看容器,不能一概而论。 先看Servlet 2.3规范: 可以看出当Servlet实现类实现了SingleThreadModel接⼝后,他就是属于线程安全的,即多例的(对于一个服务让Single...
sessionFactary单例模式和session线程安全
一.sessionFactary单例模式1.sessionFactary单例模式的作用https://zhidao.baidu.com/question/153629827.html他说过的非常有道理。SessionFactory是个工厂哦。你要一个会话,找工厂要一个就是了,不必每次都新建一个工厂吧。所以,一个工厂就足够了。2.实现建一个提供session的类就可以了想要得到session直接调用...
单例模式解决多线程的问题
1、懒汉模式把getInstance()方法变成同步方法 public class Singleton{ private static Singleton singleton; private Singleton(){} public static synchronized Singleton getInstance(){ if(singleton == null){ singl
多线程与单例对象之间的关系
在我在考虑考虑他们的时候思考了以下几个问题: 1、我们通常都将dao层(数据库连接层)设置成单例,这样的话如果每次处理数据库中的数据都需要同一个对象去处理的话,处理数据的性能完全得不到保证。 2、ssh中为什么struts2中的action层必须创建多例?而ssm中springmvc的Controller层不需要创建多例? 3、一个单例模式创建的对象是可以同时被多个线程处理的,如果一个对象被...
总结:java中的作用域与单例和多例
变量和类离开作用域,变量所分配的内存空间将被JVM回收。 变量:在同一作用域范围的包裹下成员变量名和局部变量名是可以变量名相同的,在同一个作用域范围的包裹下局部变量和局部变量不可以变量名相同(作用域内不能重复命名),在方法中使用变量的时候如果不指明使用成员变量还是局部变量,那么默认的就是使用局部的那个变量,但是如果局部变量超出了它本身的作用域范围则会失效,被JVM垃圾回收,那么则可以重复命名此变...
多线程编程下单例模式与多例模式的使用总结
最近研究了一下多线程在单例、多例下的使用,以及安全问题,总结如下:1、先说一下什么是单例模式和多例模式。(1):单例模式:一个对象在内存中只有唯一个实例。它有两个主要的特点:构造函数私有,它的唯一实例必须由自身创建。如果我们要使用单例对象,不能通过new去创建,要通过该对象的getInstance()方法获取这个唯一的实例。(2):多例模式:一个对象有多个实例,通过new创建。2、在多线程编程中,...
java中单例和多例
你用杯子喝可乐,喝完了不刷,继续去倒果汁喝,就是单例。 你用杯子喝可乐,直接扔了杯子,换个杯子去倒果汁喝,就是多例。 数据库连接池就是单例模式,有且仅有一个连接池管理者,管理多个连接池对象。 1. 什么是单例多例: 所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action;  2. 
Java单例和多例
背景:最近在学习韩老师的笔记时候发现不是很了解单例和多例,于是通过网上查找资料的方式去学习。 设计模式:最佳的实践,是软件开发人员在软件开发过程中面临一般解决方案,也就是开发的经验总结。 单例模式(Singleton):是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个...
servlet是单例还是多例?如果是单列怎么保证线程安全?
立个f
SpringMVC的Controller单例线程安全问题
这个文章验证了单例http://blog.csdn.net/darkdragonking/article/details/52367186 每个请求都会分配一个线程处理请求http://www.cnblogs.com/doit8791/p/4093808.html Java内存区的分配http://blog.csdn.net/maoyeqiu/article/details/50564075
解决多线程单例模式的线程不安全问题
DCL双检查锁机制public class MyConfig { private volatile static MyConfig myConfig = null;//volatile 保证每个线程都是从主存中读取最新的数据 private MyConfig(){ } public static MyConfig getInstance(){ if(nul
单例模式中可能存在的一些问题(线程安全问题)
单例的设计模式中,一些代码的写法会存在线程安全的问题,举例如下:(1)单例模式的懒汉式[线程不安全,不可用] public class Singleton { private static Singleton instance=null; private Singleton() {}; ...
java设计模式----单例变形(多例)
mport java.util.HashMap; import java.util.Map; public class A { // 缓存(池)一定要有一个容器,而且这个容器是单例 private static Map&amp;lt;String, A&amp;gt; map = new HashMap&amp;lt;String, A&amp;gt;(); // 从池中获取一个对象 public static...
struts2的单例多例问题
我想大家都知道struts2默认就是多例的,而spring默认都是例的,如果二者集成,那action会是单例还是多例呢?     首先我们先回顾一下struts2和spring的两种整合方式:     1. 由spring来创建和管理action,即在action上增加@Controller注解,如果是xml方式的话,就是在spring中增加action的配置,而在struts2的xml中,配
Spring controller 和 service的并发以及单多例
          controller 和service的单例和多例在很多时候其实都有并发问题的影响,但是绝大多数情况,很多人没有在意,只有踩坑了才发现。            按照我以前的测试,可以发现,controller层如果不输入@Scope(&quot;prototype&quot;),那么默认是单例的,但是controller 里的@Autowired呢?又晕了,干脆自己做了个简单的测试。 cont...
spring单例和多例的问题
springMvc的controller默认是单例的,service和dao也默认是单例的 Spring的IOC容器中的对象默认都是单例的。当然也可以将其改为不是单例的。在xml文件中通过&amp;lt;bean&amp;gt;的属性scope=&quot;prototype&quot;可以改为非单例的,使用注解的话,@Scope(&quot;prototype&quot;)。具体某个对象是否应该被设置为单例的,取决于它的作用。比如service, 用...
spring的bean一般是单例模式,那多线程是怎么解决的?
对那些非线程安全的变量或者资源 比如数据库连接connection、Hibernate的session等,通过ThreadLocal将这些变量为每个线程提供这些非线程安全变量的一个副本,这样就能以singleton形式实现线程安全。 ThreadLocal只能解决本来就不需被共享的资源。 对那些非线程安全的变量或者资源 比如数据库连接connection、Hib
SpringMVC之控制器的单例和多例配置
在使用Spring3对控制器Controller进行bean管理时,如果要对控制器是否单例进行管理。 有两种方式配置多例模式: 1.springXML 2.注解本身的控制器类 [java] view plain copy print?@Controller&amp;nbsp;&amp;nbsp;@Scope(“prototype”)&amp;nbsp;&amp;nbsp;public&amp;nbsp;class&amp;nbsp;H...
Struts2和Spring整合, Action单例和多例的问题
Struts和Spring整合后, 无论是否在Action类上加@Controller和@Scope("prototype")都是多例的, 即使加上@Scope("singleton") , 经测试Action依然是多例的.
javaWeb项目中到底什么是单例,多例
转自:https://www.cnblogs.com/doudouxiaoye/p/5711414.html点击打开链接你用杯子喝可乐,喝完了不刷,继续去倒果汁喝,就是单例。你用杯子喝可乐,直接扔了杯子,换个杯子去倒果汁喝,就是多例。数据库连接池就是单例模式,有且仅有一个连接池管理者,管理多个连接池对象。1. 什么是单例多例:所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和...
Java中关于 单例 多例 单线程 多线程
单例在多线程下是安全的? 多例在多线程下是安全的? Tomcat每个请求都会在一个线程中执行,那所有的java代码是否都要考虑线程安全问题? 3.1. Spring单例模式下要不要考虑?看看平时的代码是怎么写的? 3.2. Struts2多例模式下要不要考虑?看看平时的代码是怎么写的? 单例在单线程下是安全的? 多例在单线程下是安全的? 结论: 一个对象是单例还是多例,与它是否是线程安全的
java中如何运用单例和多例
单例多例需要搞明白两个问题: 1. 什么是单例多例; 2. 如何产生单例多例; 3. 为什么要用单例多例 4. 什么时候用单例,什么时候用多例; 1. 什么是单例、多例: 所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action;  一、单例模式和多例模式说明: 1.         单例模式...
【Java多线程】单例模式与多线程
单例模式大家都不陌生,即让一个类只有一个实例。 单例模式分为懒汉式和饿汉式。 懒汉式☞方法调用时再实例化对象,什么时候用什么时候实例化,比较懒。 饿汉式☞方法调用前对象就已经创建好了,比较有捉急。 本文着重描述懒汉式与多线程的内容。 1.饿汉式 public class SingletonHungary { private static SingletonHungary in...
SpringMvc是单例还是多例?
最近面试的时候有面试官问我spring的controller是单例还是多例?结果面试不知道,一只以为是多例模式,每次请求的时候都会创建一个对象。答案:Springmvc默认是单例模式 看看spring的Scope有哪些? 这里写代码片spring bean作用域有以下5个: 1.singleton:单例模式,当spring创建applicationContext容器的时候,spring会
Spring In Action-3.2@Scope单例、多例Bean
Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean
spring中的单例和多例中的坑
此处仅是问题的简单描述,并没有按照规范整理,请大家谅解,这是我在遇到这样问题时,随手按照自己的想法记录下了自己的心得,看着有些乱,不过全是干货,希望谅解;   //在springboot 整合rabbitmq下  rabbitTemplate 默认是单例形式 如果仅是发送队列和接受队列消息 该单例模式就足够使用了 如果想要 对于 发布端进行消息推送确认,那么单例模式是无法满足的 如果我们有多个...
什么时候用单例,什么时候用多例?
单例多例需要搞明白两个问题: 1. 什么是单例多例; 2. 如何产生单例多例; 3. 为什么要用单例多例 4. 什么时候用单例,什么时候用多例; 1. 什么是单例多例: 所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action; 2. 如何产生单例多例: 在通用的SSH中,单例在spring中...
单例模式和多例模式的总结
今天开始学习设计模式之单例和多例       单例模式的关键有两点: 1.构造方法为私有,这样外界就不能随意调用。 2.get的方法为静态,由类直接调用   多例模式(Multiton) 1 、多例类可以有多个实例  2 、多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例。   一、单例模式和多例模式说明: 1.
Spring mvc的单例和多例性能
推荐博文:Java单例和多例的性能spring mvc 单例业务类import org.springframework.stereotype.Service;@Service public class SpringSingleService { public void doSomething(){ try { Thread.sleep(1);
为什么action使用的多例模式,但是service层和dao层用的是单例模式
使用单例和多例的判定条件是并发访问时会不会对类中公共属性进行修改。如果有可能修改,那就最好用多例,否则会出现各种异常情况。 action中一般会有前端对应的属性,这个一般是action的成员变量,如果是单例访问,所有的访问公用一个action实例对象,当然也公用里面的成员变量和方法,在使用成员变量时就有可能出问题了,比如多个请求同时对同一个属性进行修改,那不就乱了?因此在action层采用多例来
Spring单例和多例
疑惑 这是面试中老生常谈的问题,具体的话,类似 - spring中默认是单例还是多例? - 什么时候使用单例?什么时候使用多例? - springMVC的的controller是单例还是多例?(为什么是单例?) - … spring默认当然是单例,我想说的是第二条,什么时候使用单例?什么时候使用多例? 解惑 既然默认是单例,那就先说什么时候使用单例? 其实可以就第三个问题作为例子说?为什么Spri...
单例、多例模式&&工厂模式
单例、多例模式假设,老张开车去东北public class Car { public void run(){ System.out.println("冒着烟奔跑中car........."); } }public class Test { public static void main(String[] args) { //如果把new交给司
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 ios开发单例教程 区块链问题