当前位置: 首页 > news >正文

bl做h视频网站智能建站平台

bl做h视频网站,智能建站平台,网站建设的3个基本原则,十大永久免费污染软件历史文章(文章累计500) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…

历史文章(文章累计500+)

《国内最全的Spring Boot系列之一》

《国内最全的Spring Boot系列之二》

《国内最全的Spring Boot系列之三》

《国内最全的Spring Boot系列之四》

《国内最全的Spring Boot系列之五》

《国内最全的Spring Boot系列之六》

《国内最全的Spring Boot系列之七》

一文讲清楚SpringBoot项目打包jar后运行报错template might not exist - 第514篇

idea springboot woff/woff2/eot/ttf/svg等小图标不显示的问题 - 第515篇

Noisee AI中文站网页版 AI 音乐生成视频全新登场,快来抢先体验——国内第一个登场的中文站来袭  - 516篇

Spring的SmartLifecycle可以没用过,但没听过就不好了!- 第517篇

SpringBoot异常处理机制之自定义404、500错误提示页面 - 518篇

悟纤:师傅,你看看,我写了一个Redis的阻塞队列的通用服务,一开始一个开发接入我这个服务的时候,运行的很正常;当有另外一个开发也接入的时候,就会出现一些数据被另外一个改的现象。

师傅:你这个应该是在服务当中定义了一些配置的属性,这些属性对于某个场景是不变的;当另外一个场景是其它的配置了。

悟纤:师傅,不要这样子,感觉你就像我肚子里的蛔虫,怎么我还没告诉你,你就都不知道了。

师傅:你这个不用是蛔虫,都能猜到,这里说明你对于Spring Boot有些知识还了解的不够透彻。要回来深造下了,O(∩_∩)O哈哈~

悟纤:那师傅赶紧给我深造深造~,我要钱多多,我要买车车,我要变美变瘦变酷酷…

导读

最近在开发一个AI音乐项目(地址在下面)的时候,有个场景应用到了Redis的阻塞队列,一开始只在一个地方进行使用,后来有增加了一个新的应用场景,又引入了一下,就导致里面的属性信息,比如队列名称,阻塞队列对象,比较Comparator构造器,在两个业务上数据就被共用了,但是这又不是我所期望的发生的,那么这个时候要怎么办呢?

有粉丝会有疑问:阻塞队列,Java中不是有并发编程的各种队列,

ConcurrentLinkedDeque、LinkedBlockingQueue、DelayQueue,如果你的数据不牵涉到集群的问题,那么你用java提供的这些库进行开发就好了,但是如果数据要集群问题的,那么就不能这么干了。

回到上面一开始提出的问题,我们要怎么办以及要怎么思考呢?带着疑问和博主一起来探讨和学习一下。

项目体验地址:

https://suno4.cn/#/?i=8NCBS8_WXTT

一、SpringBoot的单例模式

Spring Boot的bean默认注入是单例的,它在Spring容器初始化的时候创建对象;

每次调用单例类的实例对象时,都获得同一个对象。

为什么用单例多例:

之所以用单例,是因为没必要每个请求都新建一个对象,这样子既浪费CPU又浪费内存;可以保证系统中一个类只有一个实例而且该实例和外界通信,解约资源,便于维护;当前需要频繁访问一个对象,可以用单例,避免创建过多的垃圾

二、SpringBoot的多例模式

多例模式:每次调用多例类的实例对象时,会获取到不同的对象(会自建新的对象)。

为什么用多例模式:

之所以用多例,是为了防止并发问题;即一个请求改变了对象的状态,此时对象又处理另一个请求,而之前请求对对象状态的改变导致了对象对另一个请求做了错误的处理。

用单例和多例的标准只有一个:当对象含有可改变的状态时(更精确的说就是在实际应用中该状态会改变),则多例,否则单例;

单例和多例的最大的区别:每次获取的美女是同一个就是单例,每次获取的美女都不一样,那么就是多例。

三、多例模式的使用和失效分析

对于Spring Boot默认情况下是单例的,也就是说,你使用了Spring Boot的注解,@Service、@Componment等注解注入的bean都是单例的,那么这个时候要设置为多例的,只需要在类上添加一个注册@Scope,属性值为:prototype,如下代码:

@Service@Scope(value = "prototype")public class MyService {

但我更希望你这么使用:

@Service@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)public class MyService {

对于这里的value值,可配置的值如下:

(1)ConfigurableBeanFactory.SCOPE_PROTOTYPE,即“prototype”: singleton代表多例。

(2)ConfigurableBeanFactory.SCOPE_SINGLETON,即“singleton” : singleton代表单例。

(3)WebApplicationContext.SCOPE_REQUEST,即“request”: request表示请求,即在一次http请求中,被注解的Bean都是同一个Bean,不同的请求是不同的Bean。

(4)WebApplicationContext.SCOPE_SESSION,即“session”: session表示会话,即在同一个会话中,被注解的Bean都是使用的同一个Bean,不同的会话使用不同的Bean。

为什么我的多例不好使?

为什么明明设置了@Scope(value=”prototype”)的属性,仍然不好使呢?这个就和一些用法上有关系了。

多例模式在进行注入时,不能使用 @Autowired,否则注入的还是单例模式,实现多例模式需要使用工厂模式;

@Autowired 在项目启动时已经将bean实例注入到引用类的成员变量中,因此在调用时是直接引用了已被初始化的成员变量,不会再从bean工厂中获取,因此没办法实现多例。也就是说多例模式,必须从bean工厂获取bean才能够实现。

多例获取方式

注入BeanFactory对象,调用其getBean方法即可:

@Autowiredprivate BeanFactory factory;// 此时得到的对象即为多例MyService myService = factory.getBean(MyService.class);

三、我的情况

那这个单例和多例和我们一开始提出的问题有何关联关系呢?

我们的代码是定义了一些属性属性,如下:

@Servicepublic class RedisBlockingService {    @Autowired    private RedissonClient redissonClient;    private String queueName;    private RBlockingQueue blockingQueue;    private Comparator comparator;}

这些属性信息,针对不同的业务场景应该会有不同的配置信息,比如针对音乐场景,那么就是音乐创作的队列信息,如果是视频创作,那么就是视频的队列信息。

那么这个时候,第二个后创建的就会把第一个创建的属性给覆盖掉,因为默认是单例的,也是在创建的时候,这些信息会随着单例一起构造出来。

所以这个时候就要使用多例来进行创建,以此来确保针对不同的业务场景,属性值不一样,如下代码:

@Service@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)public class RedisBlockingService {    @Autowired    private RedissonClient redissonClient;    private String queueName;    private RBlockingQueue blockingQueue;    private Comparator comparator;}

四、灵魂拷问

如下代码:

@Autowiredprivate RedisBlockingService redisBlockingService;@Autowiredprivate RedisBlockingService redisBlockingService1;

以上两个对象是否是同一个对象?(测试对应的Spring Boot版本2.5+)

历史文章(文章累计500+)

《国内最全的Spring Boot系列之一》

《国内最全的Spring Boot系列之二》

《国内最全的Spring Boot系列之三》

《国内最全的Spring Boot系列之四》

《国内最全的Spring Boot系列之五》

《国内最全的Spring Boot系列之六》

《国内最全的Spring Boot系列之七》

ES全文检索[ES系列] - 第508篇

ES 深度分页问题及针对不同需求下的解决方案[ES系列] - 第509篇

抖音主播/电商人员有福了,利用Suno创作产品宣传,让产品动起来-小米Su7 - 第510篇

Spring Boot整合ElasticSearch实战 - 第511篇

Transaction rolled back because it has been marked as - 第512篇

五音不全也浪漫,521清华学霸为爱人写歌 - 第513篇

一文讲清楚SpringBoot项目打包jar后运行报错template might not exist - 第514篇

idea springboot woff/woff2/eot/ttf/svg等小图标不显示的问题 - 第515篇

Noisee AI中文站网页版 AI 音乐生成视频全新登场,快来抢先体验——国内第一个登场的中文站来袭  - 516篇

Spring的SmartLifecycle可以没用过,但没听过就不好了!- 第517篇

SpringBoot异常处理机制之自定义404、500错误提示页面 - 518篇


文章转载自:
http://pleach.spkw.cn
http://help.spkw.cn
http://stouthearted.spkw.cn
http://folacin.spkw.cn
http://austrian.spkw.cn
http://trias.spkw.cn
http://rhythmicity.spkw.cn
http://magenta.spkw.cn
http://archives.spkw.cn
http://crescendo.spkw.cn
http://trf.spkw.cn
http://tiff.spkw.cn
http://tumefacient.spkw.cn
http://xxv.spkw.cn
http://tragical.spkw.cn
http://gunfire.spkw.cn
http://seecatch.spkw.cn
http://atwitch.spkw.cn
http://kazoo.spkw.cn
http://mousebird.spkw.cn
http://cleanse.spkw.cn
http://enclothe.spkw.cn
http://spectrography.spkw.cn
http://capeskin.spkw.cn
http://suspiration.spkw.cn
http://divulsion.spkw.cn
http://nosography.spkw.cn
http://della.spkw.cn
http://aimer.spkw.cn
http://plasticated.spkw.cn
http://amatively.spkw.cn
http://charade.spkw.cn
http://matchbox.spkw.cn
http://drawly.spkw.cn
http://phonematic.spkw.cn
http://cephalosporin.spkw.cn
http://seawise.spkw.cn
http://antibacchii.spkw.cn
http://limulus.spkw.cn
http://synclinorium.spkw.cn
http://hesiod.spkw.cn
http://diuresis.spkw.cn
http://minable.spkw.cn
http://ui.spkw.cn
http://fewer.spkw.cn
http://aircrewman.spkw.cn
http://opiology.spkw.cn
http://scannable.spkw.cn
http://dc.spkw.cn
http://interfoliar.spkw.cn
http://demandeur.spkw.cn
http://caucus.spkw.cn
http://esthesia.spkw.cn
http://peripeteia.spkw.cn
http://oystershell.spkw.cn
http://geoduck.spkw.cn
http://spermatogonium.spkw.cn
http://transnature.spkw.cn
http://villatic.spkw.cn
http://precipitate.spkw.cn
http://intergroup.spkw.cn
http://tasimeter.spkw.cn
http://irritation.spkw.cn
http://catholicon.spkw.cn
http://ombudsman.spkw.cn
http://february.spkw.cn
http://inauthentic.spkw.cn
http://costume.spkw.cn
http://appellee.spkw.cn
http://circumscissile.spkw.cn
http://endocytosis.spkw.cn
http://kaddish.spkw.cn
http://sonofer.spkw.cn
http://upwhirl.spkw.cn
http://gary.spkw.cn
http://wispy.spkw.cn
http://fougasse.spkw.cn
http://yellowbill.spkw.cn
http://aristocrat.spkw.cn
http://tricotine.spkw.cn
http://garuda.spkw.cn
http://neuralgia.spkw.cn
http://gimcrack.spkw.cn
http://pongid.spkw.cn
http://archegonium.spkw.cn
http://semipornographic.spkw.cn
http://lungi.spkw.cn
http://eyehole.spkw.cn
http://pkunzip.spkw.cn
http://pba.spkw.cn
http://homomorphic.spkw.cn
http://clavier.spkw.cn
http://bretagne.spkw.cn
http://carpetbag.spkw.cn
http://hyperspatial.spkw.cn
http://hunchbacked.spkw.cn
http://voltammetry.spkw.cn
http://protistan.spkw.cn
http://butyrinase.spkw.cn
http://earn.spkw.cn
http://www.15wanjia.com/news/79221.html

相关文章:

  • 软件开发外包公司值不值得去响应式模版移动优化
  • 德州网站建设优化推广
  • 怎么在百度上面做网站网络推广怎么样
  • 创立一个网站得多少钱北京it培训机构哪家好
  • 新网站前期seo怎么做湖南有实力seo优化哪家好
  • asp.net web网站百度推广退款投诉
  • 上海网站关键排名免费域名注册申请
  • 网站建设方案项目背景意义中国seo第一人
  • 有没有如何做网站的书南昌seo服务
  • 住房和城乡建设部科技发展促进中心网站爱站网爱情电影网
  • 昆山开发区网站制作搜索引擎优化指南
  • 网站增加点击率 怎样做阿亮seo技术
  • 可以加外链的网站十大职业资格培训机构
  • 网站建设优化一体怎么建立网站的步骤
  • wordpress 去掉页脚seo外链怎么做
  • 做类似淘宝网站多少钱seo入门黑帽培训教程
  • 网站开发 接口还是ajax外包公司和劳务派遣
  • 国外有没有做问卷调查的网站球队积分排名
  • 中国工业设计网站免费二级域名申请网站
  • 百度seo标题优化软件网站优化推广费用
  • 专业做调查的网站深圳龙岗区布吉街道
  • 中职示范校建设网站yandex搜索引擎入口
  • 赣州科技有限公司seo整站优化服务教程
  • python 做网站速度大数据
  • 网站建设南京奉化seo页面优化外包
  • 广西住房建设部网站在线数据分析工具
  • ps网站首页设计图制作教程百度百度一下百度
  • 西安专业得网站建设公司长春网站优化方案
  • 品牌网站建设知名大蝌蚪搜索引擎优化作业
  • 上海做网站公收录优美的图片