容器

什么是Spring?Spring是什么?

♀尐吖头ヾ 提交于 2019-12-10 03:09:56
Spring概述: Spring是一个开源框架,是为了解决企业应用程序开发复杂性而开发的。 从简单性、可測试性和松耦合的角度而言,不论什么java应用都能够从Spring中受益。 简而言之,Spring就是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。 Spring主要特征: 轻量: 从大小和开销双方面而言Spring都是轻量的。此外,Spring是非侵入式的,使用Spring,我们的类还是pojo类, 全然不用继承和实现Spring的类和接口等。也就是说, Spring的应用中不依赖于实现Spirng的特定类。 IOC: Spring之中最重要的概念之中的一个。Spring通过控制反转技术促进了松耦合。当应用了IOC, 一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找对象。能够觉得IOC与JNDI相反, 不是我们自己控制对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它,这就是注入依赖,也是控制反转。 基本上就是对象不用自己手动管理和创建,全然由容器管理,我们仅仅管用就OK了。 AOP: Spring提供了面向切面的编程支持,AOP将与程序业务无关的内容分离提取出来,而应用对象仅仅实现他们应该做的-即完毕业务逻辑-仅此而已。 应用对象并不负责其它的系统级关注点,比如日志或者事务支持

docker自动启动容器

≯℡__Kan透↙ 提交于 2019-12-10 02:52:34
Docker提供了 重新启动策略 来控制容器在退出时或Docker重新启动时是否自动启动。 重新启动策略可确保以正确的顺序启动链接的容器。 Docker建议您使用重新启动策略,并避免使用进程管理器来启动容器。 重新启动策略 --live-restore 与 dockerd 命令 的 标志 不同 。 --live-restore 尽管网络和用户输入中断,但 使用 允许您在Docker升级期间保持容器运行。 使用重启策略 要为容器配置重新启动策略,请 --restart 在使用该 docker run 命令 时使用该标志 。 --restart 标志 的值 可以是以下任何一种: 旗 描述 no 不要自动重启容器。 (默认) on-failure 如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。 always 如果容器停止,请务必重启容器。 如果手动停止,则仅在Docker守护程序重新启动或手动重新启动容器本身时才重新启动。 (参见 重启政策详情中 列出的第二个项目 ) unless-stopped 类似于 always ,除了当容器停止(手动或其他方式)时,即使在Docker守护程序重新启动后也不会重新启动容器。 以下示例启动Redis容器并将其配置为始终重新启动,除非明确停止或重新启动Docker。 $ docker run -dit --restart

WPF布局

廉价感情. 提交于 2019-12-10 02:16:20
  WPF用不同的容器安排布局,每一个容器有它自己的布局逻辑—有些容器堆栈优速,另一些容器在网格中不可见的单元格中排列元素等。WPF非常抵制基于坐标的布局,反而更注重创建灵活的布局,以使布局能够适应内容的变化、不同语言以及各种窗口尺寸。   WPF窗口只能包含一个元素。为了在WPF窗口中放置多个元素并创建更实用的用户界面,需要在窗口上放置一个容器,然后再容器中添加元素。下面是几项在WPF中的布局原则: 不应该显示设定元素(如:控件)的尺寸 不应使用屏幕坐标指定元素的位置 布局容器和它们的子元素“共享”可以使用空间 可以嵌套布局容器 所有的WPF布局容器都派生自System.Windows.Controls.Panel抽象类的面板。DispatcherObject(抽象类)←DependencyObject←Visual(抽象类)←UIElement←FrameworkElement←Panel(抽象类)。Panel类提供了少量成员,包括三个公有属性如下: Background 该属性是用于为面板背景着色的画刷。如果想要接受鼠标事件,必须将该属性设置为非空值(可以将背景设置为透明,第6章可以学习基本画刷内容) Children 该属性是在面板中存储的条目集合。这是第一级对象—换句话说,这些条目自身也可以包含更多条目。 IsItemsHost 该属性是一个bool值

java容器总结

送分小仙女□ 提交于 2019-12-10 02:09:57
java容器总结 容器分类: 容器与集合的相似点: 都可以存储多个对象,对外作为一个整体。 数组的缺点: 长度必须在初始化时指定,固定不变。 采用连续存储空间,删除和添加效率低下。 数组无法直接保存映射关系。 数组缺乏封装,操作繁琐。 集合架构 collection接口存储一组不唯一无序的对象 List接口存储不唯一、有序(索引顺序)的对象 set接口存储一组唯一、无序的对象 map接口存储一组键值对象,提供key到value的映射。key唯一无序,value不唯一无序。 List 特点:有序、不唯一。 ArrayList线性表中的顺序表: 内存中分配连续的空间,长度可变的数组。 优点:遍历元素和随机访问元素的效率高 缺点:添加、删除、需要大量的移动元素效率低。 public class SxtArrayList01 { private Object [ ] elementData ; private int size ; private static final int DEFALT_CAPACITY = 10 ; public SxtArrayList01 ( ) { elementData = new Object [ DEFALT_CAPACITY ] ; } public SxtArrayList01 ( int capacity ) { elementData =

前端基础问题

强颜欢笑 提交于 2019-12-10 01:35:04
Hello,everyone ! 想以一个轻松愉悦的心情来开始我的每一篇文章。 这是每一次的整理和缩影,希望大家可以发表意见,促进成长。 一.盒模型 概念 CSS盒模型本质上是一个盒子,封装周围的HTML元素,是由内容(content)、内边距(padding)、边框(border)、外边距(margin)组成。 W3C盒子模型(标准盒模型) 根据 W3C 的规范,元素内容占据的空间是由width属性设置的,而内边距(padding) 和边框(border)值是另外计算的。 IE盒子模型(怪异盒模型) 在该模式下,设置 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。 box-sizing box-sizing可以指定盒模型的种类,content-box以及border-box。content-box与border-box的区别在于盒模型的宽高计算方式不一样。 content-box 说明:在内容宽度和高度之外绘制内边距和边框 border-box 说明:在已设定的宽度和高度之内绘制设定元素的边框及内边距 代码如下: .content-box{ width: 100px; height: 100px; border: 1px solid; padding: 0px 10px; box-sizing: content-box; } .border-box{ box

Docker基本使用(一)

谁说胖子不能爱 提交于 2019-12-10 00:18:10
Docker基本概念 在使用Docker前,首先要先知道Docker中这几个常用的概念: 镜像:镜像是文件,只读的,提供了运行完整软硬件应用程序的集装箱。 容器:是镜像的实例,由Docker负责创建,容器之间彼此隔离,容器可以被创建,删除,停止。 仓库:用来保存镜像,可以理解为代码控制中的代码仓库,Docker官方仓库名字是 Docker Hub 。 更多内容,通过访问Docker官方网站获取: https://www.docker.com/ Docker安装 使用Docker首先我们要安装Docker,Docker Engine(Enterprise/Community)有企业版和社区版,平常学习我们选择社区版(Community)就可以了,更多区别可以访问官方网站查看 二者的区别 。 Docker所支持的平台和操作系统也是很广泛的,支持Linux/Windows/Mac系统,这里主要讲解Linux其中一个发行版CentOS的安装使用,官网提供了是怎么获取安装Docker的,查看 安装指南 。 在CentOS上安装Docker Engine - Community要求CentOS的版本必须是7以上版本,如果之前安装过先进行移除操作,如果没有安装过此步骤则无须执行 yum remove docker \ docker-client \ docker-client-latest \

Flask容器化部署原理与实现

依然范特西╮ 提交于 2019-12-09 23:44:49
本文将介绍Flask的部署方案:Flask + Nginx + uWSGI,并使用docker进行容器化部署,部署的实例来源 Flask开发初探 ,操作系统为ubuntu。 Flask系列文章 : Flask开发初探 WSGI到底是什么 Flask源码分析一:服务启动 Flask路由内部实现原理 部署方案 在开发时,我们使用flask run命令启动的开发服务器是werkzeug提供的,但是这种方式目的是为了开发,不能很好的扩展,不适合生产部署。生产部署,我们需要一个更强健,性能更高的WSGI服务器(关于WSGI,可参考 WSGI到底是什么 ,常用的服务器有:uWSGI、Gunicorn等,本文以uWSGI举例。 像uWSGI这类WSGI服务器内置了Web服务器,所以我们不需要web服务器也可以与客户端交换数据,处理请求和响应,但是内置的web服务器不够强健,一般情况下都会使用一个常规的web服务器运行在前端,为WSGI服务器提供反向代理,web服务器选择Nginx,Nginx会把外部的请求转发给uWSGI处理,接收到响应后再返回给客户端,这样做的好处有: 提高静态文件的效率,因为Nginx处理静态文件的速度非常快 提升系统安全性,避免直接暴露WSGI服务器 提升程序处理能力,通过设置反向代理,配置负载均衡可以实现。 uWSGI配置 在使用uwsgi部署flask应用时

Docker第二弹之常用命令

五迷三道 提交于 2019-12-09 23:13:03
Docker的常用命令 底层原理 Docker是如何工作的 Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境。 为什么Docker比VM快 (1)docker有着比虚拟机更少的抽象层。由亍docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。 (2)docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。仍而避免引寻、加载操作系统内核返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返个过程,因此新建一个docker容器只需要几秒钟。 常用命令 帮助命令 查看docker的版本 docker version 查看docker的详细信息 docker info 查看docker的帮助信息 docker --help 镜像命令 名词解释 REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID

Docker简介与安装

烈酒焚心 提交于 2019-12-09 23:10:25
简介与安装 简介 Docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验。 Docker为什么会出现?以为他对与上述问题给出了一个标准的解决方案。 之前在服务器配置一个应用的运行环境,要安装各种软件,普通的一个项目的环境,必备的软件Java/Tomcat/MySQL/JDBC驱动包等。 安装和配置这些东西有多麻烦就不说了,它还不能跨平台。假如我们是在 Windows 上安装的这些环境,到了 Linux 又得重新装。 况且就算不跨操作系统,换另一台同样操作系统的服务器,要移植应用也是非常麻烦的。 传统上认为,软件编码开发/测试结束后,所产出的成果即是程序或是能够编译执行的二进制字节码等(java为例)。 而为了让这些程序可以顺利执行,开发团队也得准备完整的部署文件,让维运团队得以部署应用程式,开发需要清楚的告诉运维部署团队,用的全部配置文件+所有软件环境。 不过,即便如此,仍然常常发生部署失败的状况。Docker镜像的设计,使得Docker得以打破过去「程序即应用」的观念。 透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。