容器

static类型容器

旧巷老猫 提交于 2019-12-23 21:57:29
传统观念或者有写不正确的观念,认为static为不可修改。 但实际是:static更多意味着,定义的变量在静态区。用于静态区属于程序的本地,并不可修改,导致static类型变量不可修改。 容器本身,具有比较特殊的特性。在C++中,容器是作为一种模板;在JAVA中,容器是泛型编程。 在C++中,通常应该考虑内存的分配和释放,尤其是涉及到堆内存的时候。但在C++的STL中,容器通常是不需要进行考虑内存的的分配和释放。因为,C++的容器的内存的分配和释放通常由分配器来完成,让软件工程师不需要考虑这个问题。 声明一个容器为static,不是意味着该容器不可修改,而只是意味着该容器在static区;由于该容器自己的分配器依然发挥自己的功能,static的容器依然是可以修改的。 来源: CSDN 作者: 王者之路001 链接: https://blog.csdn.net/wangzhezhilu001/article/details/103672019

关于SpringIOC容器中配置ShiroFilter的注意点

送分小仙女□ 提交于 2019-12-23 21:34:10
简单记住一句话(这也是最常使用的用法): Spring的配置文件applicationContext.xml中配置的ShiroFilter的bean的id必须和web.xml中的DelegatingFilterProxy的filter的一致 解释原因: 2.1 从问题入手来分析不一致会怎么样,下图分别是我的web.xml中配置的DelegatingFilterProxy和applicationContext.xml中配置的ShiroFilter信息 2.2 目前id和是一致的,启动tomcat容器也不会出错 2.3 此时如果关闭tomcat容器,然后修改二者使其不相等,再次启动tomcat会发生什么呢?请看下图 2.4 发现tomcat容器在启动时报了一堆错误,主要信息提取的话就是指定的ShiroFilter有问题 解决问题 3.1 要彻底明白这个问题,最好还是要去web.xml中的DelegatingFilterProxy源码看个究竟了(如果没有源码,请自行下载Spring-web的源码包) 3.2 注意源码开头的这几句话 3.3 第一段:这是一个标准Servlet过滤器的代理,委托给一个实现过滤器接口的spring托管bean.支持使用"targetBeanName"的初始化参数来指定使用SpringIOC容器中的哪个bean对象 3.4 第二段:web

kubernetes

谁说胖子不能爱 提交于 2019-12-23 19:07:00
项目主页:http://kubernetes.io/ docker仅能在单机上部署容器,而kubernetes可以统一管理各类容器,形成集群。Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的开源版本。Kubernetes支持GCE、vShpere、CoreOS、Azure等平台,也可以直接运行在物理机上。 Kubernetes非常适合做微服务的架构。 其主要功能如下: 1) 用户不需要关心需要多少台机器,只需要关心软件(服务)运行所需的环境。以服务为中心,你需要关心的是api,如何把大服务拆分成小服务,如何使用api去整合它们。 2) 以集群的方式运行管理容器。 3) 解决Docker跨机器容器之间的通讯问题。 4) Kubernetes的Pods自我修复机制使得容器集群总是运行在用户指定的状态。 Kubernetes有几个重要的概念: 1. Pod Pod是k8s的最基本的操作单元,包含一个或多个紧密相关的容器,类似于豌豆荚的概念。一个Pod可以被一个容器化的环境看作应用层的“逻辑宿主机”(Logical Host).一个Pod中的多个容器应用通常是紧耦合的。Pod在Node上被创建、启动或者销毁。 为什么k8s使用Pod在容器之上再封装一层呢?一个很重要的原因是Docker容器之间的通信受到Docker网络机制的限制

Spring 读书笔记-----使用Spring容器(一)

主宰稳场 提交于 2019-12-23 19:00:14
pring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口。他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean。 Bean是Spring管理的基本单位,在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,包括数据源、Hibernate的SessionFactory、事务管理器等。在Spring中,Bean的是一个非常广义的概念,任何的Java对象、Java组件都被当成Bean处理。 而且应用中的所有组件,都处于Spring的管理下,都被Spring以Bean的方式管理,Spring负责创建Bean实例,并管理他们的生命周期。Bean在Spring容器中运行,无须感受Spring容器的存在,一样可以接受Spring的依赖注入,包括Bean属性的注入,协作者的注入、依赖关系的注入等。 Spring容器负责创建Bean实例,所以需要知道每个Bean的实现类,Java程序面向接口编程,无须关心Bean实例的实现类;但是Spring容器必须能够精确知道每个Bean实例的实现类,因此Spring配置文件必须精确配置Bean实例的实现类。 一、Spring容器 Spring容器最基本的接口就是BeanFactor

Spring之IOC容器

六眼飞鱼酱① 提交于 2019-12-23 05:36:29
在前面博客中介绍什么是依赖注入时有提到:依赖注入是组件之间依赖关系由容器在运行期决定,即由容器动态的将某个依赖关系注入到组件之中。那什么是容器?既然Spring框架实现了IOC,那Spring中的容器是什么呢? 一、容器介绍 在日常生活中容器是指用以容纳物料并以壳体为主的基本装置,它是用来盛放东西的。在编程中容器是用来存储和组织其他对象的对象,首先要确定容器也是对象,也可以当做bean,只是这个对象是用来存储和组织其他对象,那其他对象是什么呢?其他对象其实就是bean对象,这也是面向对象编程的一种体现,万物皆对象。在Spring提供了BeanFactory、ApplicationContext两个IOC容器,来管理众多的bean对象。 二、BeanFactory 一提到工厂我们生活当中可能会想到富某康,工厂是一类用以生产货物的大型工业建筑物。而BeanFactory不是用来生产货物的而是用来生产管理bean的。BeanFactory会在bean的生命周期的各个阶段中对bean进行各种管理,并且Spring将这些阶段通过各种接口暴露给我们,让我们可以对bean进行各种处理,我们只要让bean实现对应的接口,那么Spring就会在bean的生命周期调用我们实现的接口来处理该bean。那它是怎么实现的呢?它主要分两个阶段。 1)、Bean容器的启动

解决Docker容器 iptables问题---docker: Error response from daemon: driver failed programming external connectivity on endpoint quizzical_thompson

眉间皱痕 提交于 2019-12-23 04:47:36
一、问题现象 最近在研究Docker容器日志管理时,启动容器出现iptables相关报错,具体问题如下 运行容器 [root@node-11 ~]# docker run -d -p 24224:24224 -p 24224:24224/udp -v /data:/fluentd/log fluent/fluentd 出现如下报错 docker: Error response from daemon: driver failed programming external connectivity on endpoint quizzical_thompson (c2b238f6b003b1f789c989db0d789b4bf3284ff61152ba40dacd0e01bd984653): (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.3 --dport 24224 -j ACCEPT: iptables: No chain/target/match by that name. (exit status 1)). 二、解决办法 经过查阅资料得知是docker0网桥的原因,解决上面报错问题需要进行一下步骤 1

Docker 常用指令学习

Deadly 提交于 2019-12-23 03:53:22
之前我已经写过一篇关于Docker入门的博客了,大家可以先看之前的那篇博客,这篇是我在后续学习Docker过程中的一点补充,之后如果在遇到Docker的一些相关的知识点,我会在继续进行补充的~~~~~ Docker中容器和镜像的关系【通俗易懂】 Docker容器中常用的操作命令【高级程序员必备】 Docker 实战之数据卷 容器启动的两种方式 守护进程启动 docker run -d 容器ID/容器名 交互进程启动 docker run -it 容器ID/容器名 容器退出的两种方式 1. exit 容器停止退出 2. ctrl + P + Q 容器不停止退出 注意:1.DOcker容器后台运行,就必须有一个前台进程。 2.可以把容器看成一个精简版的Linux系统 3.docker结构:bootfs + rootfs 查看容器日志 docker logs -f -t --tail 容器id 查看容器内运行的进程 docker top 容器id 查看容器内的细节 docker inspect 容id 进入正在运行的容器 ,并以命令行交互 docker exec 容器id ls -l /tmp (不进入,但是操作内部,直接得到结果) docker attach 容器id 拷贝容器内的文件到虚拟机主机 docker cp 容器id /tem/yum.log(容器内的文件路径) root

IOC 的理解与解释

我怕爱的太早我们不能终老 提交于 2019-12-23 00:43:13
IOC 的理解与解释 IOC 是什么? Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下: ● 谁控制谁,控制什么: 传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。 ● 为何是反转,哪些方面反转了: 有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。 用图例说明一下,传统程序设计如图2-1,都是主动去创建相关对象然后再组合起来: 图2-1 传统应用程序示意图 当有了IoC/DI的容器后,在客户端类中不再主动去创建这些对象了,如图2-2所示: 图2-2有IoC

C++的vector容器清空

时间秒杀一切 提交于 2019-12-23 00:21:47
  c++内部STL库中自带了一个容器vetcor, 自带了清空方法——clear()。但是clear使用之后,并不能清空数据,其数据再未被覆盖之前是不会改变的,个人猜测clear仅仅把指针挪动到了起始位置,所以需要清空置值的话,就需要配合上resize方法,resize重分配之后是可以直接 [ ] 访问的。    reszie有被重载过一次,有两种实现方式:     1、void resize( std::size_t __new_size, int __x);     2、void resize( std::size_t __new_size);   多出来的x是想初始化后生成的数,(其实个人感觉gcc里的函数声明的原型应该是这样的 void resize( std::size_t __new_size, int __x = 0); 默x为0) 当然,也可以用循环的方式进行清空。(目前只能想到这些)   如果想要清空二维的vetcor,那就得一行行的clear和resize。 学习不易,诸君共勉! 来源: https://www.cnblogs.com/daker-code/p/12008620.html

拦截器和过滤器

删除回忆录丶 提交于 2019-12-22 20:00:20
拦截器和过滤器 区别 拦截器是基于java的反射机制的,而过滤器是基于函数回调。 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。 拦截器可以获取IOC容器中的各个bean,而过滤器就不行。在拦截器里注入一个service,可以调用业务逻辑。 过滤器和拦截器触发时机不一样。过滤器是在请求进入容器后,但拦截器是在请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。 拦截器是被包裹在过滤器之中的。 拦截器是spring容器的,是spring支持的。filter是Servlet容器支持的。 来源: CSDN 作者: Arkcy 链接: https://blog.csdn.net/arkitocy/article/details/103654827