【Spring】bean的作用域

在默认情况下,Spring应用上下文中所有bean都是作为以单例(singleton)的形式创建的。也就是说,不管给定的一个bean被注入到其他bean多少次,每次所注入的都是同一个实例。

在大多数情况下,单例bean是很理想的方法。初始化和垃圾回收对象实例所带来的成本只留给一些小规模任务,在这些任务中,让对象保持无状态并且在应用中反复重用这些对象可能并不合理。

有写时候,我们所使用的类是易变的(mutable),它们会保持一些状态,因此重用是不安全的。在这种情况下将class声明为单例的bean就不是很好了,因为对象会被污染

Spring定义了多种作用域,可以基于这些作用域创建bean,包括:

  • 单例(singleton):在整个应用中,只创建bean的一个实例。
  • 原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例。
  • 会话(Session):在Web应用中,为每个会话创建一个bean实例。
  • 请求(Request):在Web应用中,为每个请求创建一个bean实例。

单例是默认的作用域,但是对于易变的类型这是不合适的。如果选择其他的作用域,要使用@Scope注解,它可以与@Component或@Bean一起使用。

如下是分别对@Component和@Bean使用@Scope注解

 

【计算机网络】时延、发送时延、传输时延、处理时延、排队时延、时延带宽积

时延:指数据从网络的一端传送到另一端所需的时间

发送时延(传输时延):是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间,发送时延 = 数据帧长度(b) / 信道带宽(b/s)

传播时延:是电磁波在信道中传播一定的距离需要花费的时间,传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)

发送时延(传输时延)发生在机器的内部的发送器中,而传播时延则发生在机器外部的传输信道媒体上。

处理时延:主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错或查找适当的路由等等

排队时延:分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要现在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发

数据在网络中经历的总时延就是以上四种时延之和:总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

时延带宽积:时延带宽积 = 传播时延 * 带宽

【例】考虑两台主机A和主机B由一条带宽为R bps、长度为M米的链路互连,信号传播速率为V m/s。假设主机A从t=0时刻开始向主机B发送分组,分组长度为L比特。试求:

1) 传播延迟(时延)dp;

2) 传输延迟dt;

3) 若忽略结点处理延迟和排队延迟,则端到端延迟de是多少?

4) 若dp>dt,则t=dt时刻,分组的第一个比特在哪里?

5) 若V=250000km/s,L=512比特,R=100 Mbps,则使带宽时延积刚好为一个分组长度(即512比特)的链路长度M是多少?

(注:1k=10^3,1M=10^6)

【解】1)传播时延dp = 信道长度(m) / 电磁波在信道上的传播速率(m/s) = M / V

2)传输延迟dt = 数据帧长度(b) / 信道带宽(b/s) = L / R

3)总延迟de = 传播时延 + 传输延迟 = M / V + L / R

4)dp > dt意味着最早发送的信号没有到达目的主机之前,数据分组的最后一个比特已经发送出来了,所以分组的第一个比特在距离主机的V * dt米的链路上

5)时延带宽积 = 传播时延 * 带宽 = M / V * R = 512,解之得M = 1280米

【软件项目管理】用例分析方法采用一种面向对象的情景分析方法

用例分析方法采用一种面向对象的情景分析方法。

传统的结构化分析方法是面向功能的,而面向对象的视点是将系统看作一组服务,将问题看作相互作用的实体。用例分析方法采用面向对象的方法,将现实世界的“视图”转化为用对象来描述的模型,描述对象之间的各种关系,以满足软件系统的需求。

结构化分析方法是一种自下而上逐步求精的分析方法【软件项目管理】

结构化方法是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法,也称为新生命周期法,是生命周期法的继承与发展,是生命周期法与结构化程序设计思想的结合。其基本思想是用系统工程的思想和工程化得方法,根据用户至上的原则,自始自终按照结构化、模块化,自顶向下地对系统进行分析与设计。

结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系同在的逻辑模型。