容器

STL源码剖析学习八:heap & priority queue

…衆ロ難τιáo~ 提交于 2020-02-28 12:07:33
STL源码剖析学习八:heap & priority queue heap不是STL容器组件,但是作为priority queue的助手存在。 完全二叉树:整棵树除了最底层的叶节点之外,都是填满的,而最底层的叶节点从左至右不能有空隙。 好处是整棵树内没有任何节点漏洞,就可以用array表述整棵树(隐式表述法):将#0处保留,某个节点位于i处时,其左子节点必位于2i处,右子节点位于2i+1处,父节点位于2/i处。 为了满足动态改变容量的要求,用vector代替array。 push_heap: 先将新加入节点插在最底层最右边的位置,vector的end处 然后执行一个上溯的程序:把新节点与其父节点相比较,如果比它大就对换位置,直到到达根节点或者不需要对换为止。 在实现中vector的#0位置不保留,i的父节点为(i-1)/2 pop_heap 最大值在根节点,取走根节点(其实设置底部vector的尾端节点) 割舍最下层最右边的那个叶节点 执行下溯程序:将空节点和他较大的子节点对调位置,并且持续下放,直到到达叶节点位置,将之前被割舍的元素值赋给这个空洞节点,再对他进行一次上溯程序即可 pop_heap之后,最大元素只是被放置在底部容器的最尾端,尚未被取走,如果要取值,可以用vector的back操作,如果要移除可以用pop_back操作。 sort_heap 每次pop

在docker容器中运行Ubuntu桌面版,并通过vnc连接

半城伤御伤魂 提交于 2020-02-28 07:32:37
拉取镜像: docker pull dorowu / ubuntu - desktop - lxde - vnc 使用docker images命令查看镜像 运行容器: docker run - dit -- name ubuntu - p 6080:80 - p 5900:5900 - e VNC_PASSWORD=VNC登录的密码 - v / dev / shm: / dev / shm dorowu / ubuntu - desktop - lxde - vnc 该镜像以VNC的方式连接到桌面环境服务器,可以下载个VNC Viewer作为客户端连接到容器 注意,这里的容器暴露了两个端口,而本人使用的是阿里云的服务器,所以还要是配置安全组规则才能访问。 6080:是web版的vnc,可以在浏览器上直接访问桌面环境 显示分辨率可以通过环境变量来控制 如下: docker run - dit -- name ubuntu - p 6080:80 - e RESOLUTION=1920x1080 - v / dev / shm: / dev / shm dorowu / ubuntu - desktop - lxde - vnc 界面比较丑,好像只能大小。不过可以通过复制粘贴解决 来源: CSDN 作者: 书一文,解一惑 链接: https://blog.csdn.net

Spring的起源和背景

邮差的信 提交于 2020-02-28 07:21:53
上图为Spring框架的组成结构 下面这几张也是的 Spring将大量实际开发中需要重复解决的步骤,抽象成了一个框架。 其中Spring Core Container是Spring框架的核心机制。 Spring框架就是实现了AOP功能的IOC(IOC是啥)容器。 Spring为企业级开发提供了一个轻量级解决方案,其中包括: 基于依赖注入的机制; 基于AOP的声明式事务管理; 与多种持久层技术整合; 优秀的Web MVC框架; Spring贯穿表现层、业务层、 持久层。 Spring具有如下优点: 低侵入式设计(啥叫低侵入式?),代码污染极低。 独立于各种应用服务器(啥叫应用服务器?),基于Spring框架的应用,可以实现真正的Write Once、Run Anywhere。 Spring的DI容器(啥叫DI容器)降低了业务对象替换(啥叫对象替换?)的复杂性,提高了组件之间的解耦。 Spring的AOP可将一些通用任务如安全、事务、日志等进行集中式处理,提高更好复用。 Spring的ORM和DAO提供了与第三方持久层框架(例如Hibernate)的良好整合,简化了底层数据库方法。 项目中可以使用全部或者部分的Spring框架。 Spring的核心要点是:支持不绑定到特定J2EE服务容器的可重用业务和数据访问对象。 AOP,Aspect Oriented Programming

Docke基础篇

六月ゝ 毕业季﹏ 提交于 2020-02-28 00:18:34
docker介绍 docker思想 Docker的思想源于集装箱,集装箱解决了什么问题呢? 在早期运输货物需要不同分类的船,例如运输水果的船,运输生活用品的船 有了集装箱后,在大船上,可以把货物分类到不同的集装箱中,水果一个集装箱,生活用品一个集装箱 它们之间互不影响,只要把货物封装好集装箱里,就可以把不同类的货物一起运走。 通过Docker logo也可以看出所以然来,Docker就像大船,集装箱就是容器 一条鲸鱼拖着若干个集装箱的经典形象已经深入人心 什么是docker Docker 是应用最广泛的开源容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中 docker实质就像虚拟机一样,就好像是一个具有独立操作系统的真实机器 每个容器拥有一套和宿主机完全隔离的文件系统(共用linux内核),程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样 虚拟机是有真正的linux内核的,真实需要通过 .ios 文件安装操作系统 而我们的docker共享linux宿主机内核,只有一个linux文件系统 容器 容器是一个操作系统级别下的虚拟化技术,运行一个容器就行运行一个进程一样 容器依赖linux内核特性:Namespace(资源隔离)和Cgroups(资源限制) docker技术应用场景 场景一:节省项目环境部署时间 1)单项目打包 每次部署项目到测试、生产等环境

k8s运行在容器内,如果本机想使用kubectl可用以下方法

限于喜欢 提交于 2020-02-27 23:51:01
1. docker exec -it dev-1317 bash #连入k8s的容器 2.which kubectl #查看kubectl命令存放位置 3.退出容器将命令拷贝到本机 docker cp dev-box-1317:/usr/local/bin/kubectl /usr/bin/ 4.运行kubectl还需要一个配置文件,将容器的配置文件也铐入本机(如果本机root下没有.kube创建即可) root@ubuntu:/ # docker cp dev-box-1317:/root/.kube/config /root/.kube/ 5.本机运行kubectl get pod即可运行成功啦 来源: CSDN 作者: 武子杰的blog 链接: https://blog.csdn.net/a751127122/article/details/104537509

Docker主要命令

旧街凉风 提交于 2020-02-27 18:48:39
Docker主要命令: 下载docker image: docker pull xxxx 查看image列表: docker images 查看所有容器: docker ps -a start/stop docker容器: docker start/stop 92959a6799c3 (92959a6799c3为容器ID) 批量stop容器: docker stop $(docker ps -a -q) 删除容器: docker rm 92959a6799c3 批量删除容器: docker rm $(docker ps -a -q) 删除本地image: docker rmi 10.0.0.2:500/ming:1.0 进入已有容器: docker attach 92959a6799c3 上传docker image: docker tag image:ubuntu1604_v2 10.0.0.2:5000/ubuntu1604_v2 docker push 10.0.0.2:5000/ubuntu1604_v2 给普通账号启动docker容器的权限: gpasswd -a aa docker 启动并进入容器: $ docker run -it ubuntu1604_v1 /bin/bash 或 $ docker run -it 10.0.0.2:5000/ubuntu1604

基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件运行容器

…衆ロ難τιáo~ 提交于 2020-02-27 14:34:17
上一篇 AgileEAS.NET之插件接口IModule 中我们介绍了EAS.NET模块插件契约,在本文我们将介绍一下调用插件的运行容器,即平台。 AgileEAS.NET平台最早是应用于基于WinForm技术开发管理信息系统应用的,所以基于WinForm的运行容器最为成熟,在应用WinForm技术的运行容器我们提供了三种:传统的WinForm容器、基于智能客户端技术的运行容器和基于WinForm和WebForm技术结合的ActiveXForm容器,也提供了基于纯WebForm技术的运行容器。 废话不说了,下面我贴出传统WinForm容器和SmartClient容器的运行效果: 看不清楚图片的朋友,请打开原图看吧,这是基于WinFrom技术的插件运行效果,目前插件在容器中的运行方式有两类,第一类是直接嵌入到容器界面中,如上图一个标签页代码一个模块插件,另一类是以独立的WinForm方式运行,如下图: 我们提供基于导航列表以及工具条和菜单结合的两种模块插件导航方式,默认情况下,左边导航列表或者导航树自动收起的,在具体应用项目中,可以根据情况选择何种导航方式,菜单或者导航中的一个叶子项均指向一个目标模块插件的。 当某个操作员(账户)登录平台后,平台权限检查系统加载登录操作员所拥有执行权限的模块并加载到业务导航栏和导航菜单,最后秀一下登录界面。 特别提示一下,AgileEAS

SAP Cloud for Customer ABSL的一些优化

谁都会走 提交于 2020-02-27 13:23:10
这是优化前的代码,可以看到ServiceRequest.Retrieve在foreach循环里被调用 。 如何优化: 其实在PDI里有提示。在ServiceRequest后面敲个“。”,触发代码自动完成功能,可以看到Retrieve方法有三个重载,这意味着Retrieve的输入参数不同,后台编译生成的ABAP方法也不同。 如何优化: 还是一样的思路: 在line 29声明一个行类型为ID的容器idCollection,然后按照业务逻辑,把需要retrieve的id依次加入这个容器,最后在line 39传一个容器进去。 可以和41行的retrieve比较,这里的retrieve传入的是一个单个的行记录。如果传入参数是一个容器,那么编译出来的ABAP代码执行的是RETRIEVE_MULTIPLE_LINES, 而不是现在在循环里执行retrieve_single. 要获取更多Jerry的原创文章,请关注公众号"汪子熙": 来源: https://www.cnblogs.com/sap-jerry/p/12371624.html

转 --Flex 布局教程:语法篇

冷暖自知 提交于 2020-02-27 09:23:01
原作者: 阮一峰 网页布局(layout)是 CSS 的一个重点应用。 布局的传统解决方案,基于 盒状模型 ,依赖 display 属性 + position 属性 + float 属性。它对于那些特殊布局非常不方便, 比如, 垂直居中 就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了 所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 Flex 布局将成为未来布局的首选方案。本文介绍它的语法, 下一篇文章 给出常见布局的 Flex 写法。网友 JailBreak 为本文的所有示例制作了 Demo ,也可以参考。 以下内容主要参考了下面两篇文章: A Complete Guide to Flexbox 和 A Visual Guide to CSS3 Flexbox Properties 。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 .box{ display: flex; }  行内元素也可以使用 Flex 布局。  .box{ display: inline-flex; } Webkit 内核的浏览器,必须加上 -webkit 前缀。 .box{

吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Spring_ApplicationContextAware

南笙酒味 提交于 2020-02-27 07:17:09
<?xml version="1.0" encoding="GBK"?> <project name="spring" basedir="." default=""> <property name="src" value="src"/> <property name="dest" value="classes"/> <path id="classpath"> <fileset dir="../../lib"> <include name="**/*.jar"/> </fileset> <pathelement path="${dest}"/> </path> <target name="compile" description="Compile all source code"> <delete dir="${dest}"/> <mkdir dir="${dest}"/> <copy todir="${dest}"> <fileset dir="${src}"> <exclude name="**/*.java"/> </fileset> </copy> <javac destdir="${dest}" debug="true" includeantruntime="yes" deprecation="false" optimize="false" failonerror=