第七

 ①:spring

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
 ②:bean
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。
③:java Singleton(单例模式)

单例模式一般分为五种 懒汉,恶汉,双重校验锁,枚举和静态内部类
        如果涉及到反序列化创建对象时使用枚举的方式来实现单例
        特点:
              1.单例类的构造方法是私有的
              2.单例类负责创建自己唯一的实例,并提供外部访问

④:Prototype

在Java中,我们可以使用new关键字指定类名来生成类的实例,像这样使用new来生成实例时,是必须指定类名的。但是,在开发过程中,有时候也会有”在不指定类名的前提下生成实例的需求”,例如,在以下情况下我们就不能根据类来生成实例,而是根据现有的实例来生成新的实例。
(1)对象种类繁多,无法将它们整合到一个类中时
(2)难以根据类生成实例时
生成实例的过程太过复杂,很难根据类来 生成实例,通常,在想生成一个和之前用户通过操作所创建出来的实例完全一样的实例的时候,我们会事先将用户通过操作所创建出来的实例保存起来,然后在需要时通过复制来生成新的实例。
(3)想解耦框架与生成的实例时
想要让生成实例的框架不依赖于具体的类,这时,不能指定类名来生成实例,要事先”注册一个原型的“实例,然后通过复制该实例来生成新的实例。
在Java中可以使用clone创建出实例的副本。
根据实力原型、实力模型来生成新的实例的模型就是Prototype模型。
(https://blog.csdn.net/followwwind/article/details/78284713)

⑤:EL

 特点:

  •  EL可以与JSTL结合使用,也可以与JavaScript语句结合使用;
  • EL中会自动进行类型转换。如果想通过EL输入两个字符串型数值的和,可以直接通过”+”号进行连接,如${num1+num2};
  •  EL不仅可以访问一般变量,还可以访问JavaBean中的属性以及嵌套属性和集合对象;
  • 在EL中可以获得命名空间(PageContext对象,它是页面中所有其他内置对象的最大范围的集成对象,通过它可以访问其他内置对象);
  • 在使用EL进行除法运算时,如果除数为0,则返回无穷大Infinity,而不是错误;
  • 在EL中可以访问JSP的作用域(request、session、application以及page);
  • 扩展函数可以与Java类的静态方法进行映射。(https://www.cnblogs.com/w-wfy/p/6414117.html)

 

⑥:Decorator 装饰模式:

装饰器模式又名包装(Wrapper)模式。装饰器模式以对客户端透明的方式拓展对象的功能,是继承关系的一种替代方案。

装饰器模式的类图如下:

 
装饰器模式的类图

在装饰器模式中的角色有:

  • 抽象构件(Component)角色:给出一个抽象接口,已规范准备接收附加责任的对象。
  • 具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类
  • 装饰(Decorator)角色:持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口。
  • 具体装饰(ConcreteDecorator)角色:负责给构件对象“贴上”附加的责任。————(https://www.jianshu.com/p/d80b6b4b76fc)

⑦:Interceptor

(https://www.cnblogs.com/austinspark-jessylu/p/7453302.html)

⑧:Producer

生产者-消费者模型是多线程问题里面的经典问题,也是面试的常见问题。有如下几个常见的实现方法:

1. wait()/notify()

2. lock & condition

3. BlockingQueue ————(https://www.cnblogs.com/techyc/p/3357194.html)

 

 
posted on 2019-04-23 18:15  lizzz1  阅读(360)  评论(0)    收藏  举报