zoukankan      html  css  js  c++  java
  • Container,injection

    Container:

      容器技术是Linux Container的直译。Container有集装箱、容器的含义。集装箱的特色,在于格式划一,并且可以层层重叠,所以可以大量放置在特别设计的远洋轮船中,这样大大提高了输出效率,有了集装箱,就可以更快恶的为生产商提供廉价的运输服务。

      Linux Container容器技术的诞生(2008年)就解决了IT世界里“集装箱运输”的问题。Linux Container(简称LXC)它是一种内核轻量级的操作系统层虚拟化技术。Linux Container主要由Namespace和Cgroup两大机制来保证实现。那么Namespace和Cgroup是什么呢?刚才我们上面提到了集装箱,集装箱的作用当然是可以对货物进行打包隔离了,不让A公司的货跟B公司的货混在一起,不然卸货就分不清楚了。那么Namespace也是一样的作用,做隔离。光有隔离还没用,我们还需要对货物进行资源的管理。同样的,航运码头也有这样的管理机制:货物用什么样规格大小的集装箱,货物用多少个集装箱,货物哪些优先运走,遇到极端天气怎么暂停运输服务怎么改航道等等... 通用的,与此对应的Cgroup就负责资源管理控制作用,比如进程组使用CPU/MEM的限制,进程组的优先级控制,进程组的挂起和恢复等等。

    Java容器: 

      相似的,docker容器中如果装的是app,java容器中装载的就是组件 ,而容器之外的程序需要和这些组件交互必须通过容器 。

      举个例子,IE发送了一个请求给容器,容器通过调用其中的一个组件进行相关处理之后将结果反馈给IE,这种与客户端软件交互的组件就叫做servlet

     

    组件:

      组件其实就是一个应用程序块 。但是它们不是完整的应用程序,不能单独运行 。就有如一辆汽车,车门是一个组件,车灯也是一个组件 。但是光有车灯车门没有用,它们不能跑上公路 。在java中这些组件就叫做javabean,有点像微软以前的com组件 。

      要特别说明的是,由于任何一个java文件编译以后都是以类的形式存在 。所以javabean肯定也是一个类,这是毫无疑问的。

     

    Injection:

      

     Java的依赖注入:依赖注入,出自spring的IOC和DI,是Spring的两大特性之一(另一个AOP面向切面编程)

       以前对象使我们手动实例化,比如:Service层调用Dao层,需要Dao d = new Dao;但是这样会导致两个层之间的耦合性大大增强。而spring的IOC,反转控制,会在我们需要实例对象的时候,由spring容器为我们提供,并通过DI依赖注入来实现目标对象的获得,完成解耦操作。

      可以通过setter方法注入、构造注入、注解注入。  依赖注入是Spring的思想,在使用Spring进行开发时,可以将对象交给spring进行管理,在初始化时spring创建一批对象,当你需要用的时候只要从spring的容器中获取对象,而不用自己去new,当然在对象创建的时候可以注入另一个对象。比如A,B两个对象都由spring管理,A中持有对B的引用,那么spring在生成A对象的时候就已经吧B对象的一个实例给到A了,当你在A中用到B的时候直接使用就可以了。

  • 相关阅读:
    【转】【SEE】基于SSE指令集的程序设计简介
    【转】【Asp.Net】asp.net服务器控件创建
    ControlTemplate in WPF ——ScrollBar
    ControlTemplate in WPF —— Menu
    ControlTemplate in WPF —— Expander
    ControlTemplate in WPF —— TreeView
    ControlTemplate in WPF —— ListBox
    ControlTemplate in WPF —— ComboBox
    ControlTemplate in WPF —— TextBox
    ControlTemplate in WPF —— RadioButton
  • 原文地址:https://www.cnblogs.com/czl1205115684/p/10708782.html
Copyright © 2011-2022 走看看