容器

AWT初步—Frame和 Panel

假装没事ソ 提交于 2020-01-27 01:09:49
初识 AWT GUI 和 AWT GUI:Graphics User Interface 图形用户界面 AWT:Abstract Window Toolkit 抽象窗口工具集 之前的程序输出结果均在控制台上显示,现在学习AWT后,可以编程显示图形用户界面。 抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立图形用户界面GUI (Graphics User Interface)工具集,之所以叫抽象窗口工具集,是因为该图形用户界面可以与系统无关,可以跨平台AWT可用于Java的applet和applications中,它支持图形用户界面编程。 功能包括: 用户界面组件; 事件处理模型; 图形和图像工具,包括形状、颜色和字体类; 布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关; 数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。 java.awt包 java.awt包中提供了GUI设计所使用的类和接口。 java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念: 组件--Component 容器--Container 布局管理器--LayoutManager 组件、容器和布局管理器 组件 Java的图形用户界面的最基本组成部分是组件(Component)

PouchContainer 容器技术演进助力阿里云原生升级

喜夏-厌秋 提交于 2020-01-27 00:56:08
我们从 2016 年开始在集团推广全面的镜像化容器化,今年是集团全面镜像化容器化后的第 4 个 双11,PouchContainer 容器技术已经成为集团所有在线应用运行的运行时底座和运维载体,每年 双11 都有超过百万的 PouchContainer 容器同时在线,提供电商和所有相关的在线应用平稳运行的载体,保障大促购物体验的顺滑。 我们通过 PouchContainer 容器运行时这一层标准构建了应用开发和基础设施团队的标准界面,每年应用都有新的需求、新的变化,同时基础设施也有上云/混部/神龙/存储计算分离/网络变革这些升级,两边平行演进,互不干扰。技术设施和 PouchContainer 自身都做了很大的架构演进,这些很多的架构和技术演进对应用开发者都是无感知的。 在容器技术加持的云原生形成趋势的今天,PouchContainer 容器技术支持的业务方也不再只有集团电商业务和在线业务了,我们通过标准化的演进,把所有定制功能做了插件化,适配了不同场景的需要。除了集团在线应用,还有运行在离线调度器上面的离线 job 类任务、跑在搜索调度器上面的搜索广告应用、跑在 SAE/CSE 上面的 Serverless 应用、专有云产品及公有云(ACK+CDN)等场景,都使用了 PouchContainer 提供的能力。 运行时的演进 2015 年之前,我们用的运行时是 LXC

数据管理

ⅰ亾dé卋堺 提交于 2020-01-26 22:47:29
一、管理数据的两种方式 1.1 数据卷 容器内的数据直接映射到本地主机中。 1.2 数据卷容器 使用特定容器维护数据卷,让其在容器和主机、容器和容器之间共享数据。 二、数据卷 2.1 特性 可以在容器之间共享 对数据卷内的数据会立刻生效 对数据卷的更新不会影响镜像 数据卷会一直存在,直到卸载它 2.2 创建数据卷 使用volume子命令创建数据卷,存放在/var/lib/docker /volumes路径下 $docker volume create –d local test $ls –l /var/lib/docker /volumes #除此之外还有如下子命令 $docker volume inspect 查看详细信息 $docker volume ls 列出已有数据卷 $docker volume prune 清理无用数据卷 $docker volume rm 删除数据卷 2.3 绑定数据卷 将本地主机的任意路径挂载到容器中做数据卷称为绑定数据卷。 使用-mount选项在创建容器 $docker run –d –P –name web –mount type=bind,source=/webapp,destination=/opt/webapp training/webapp python app.py #上一条命令相当于如下使用-v命令指定目录 $docker run

双指针法——最大盛水容器

一曲冷凌霜 提交于 2020-01-26 21:27:36
事实: 所有可能构成最大容量的两根柱子m,n (m<n)具有如下特点:m左边的所有柱子都不高于n; 所有n右边的柱子都不高于m;【用反证法易于证明】 于是只需要int maxarea; int area;逐个遍历这些可能的最大容器;更新maxarea的值即可 算法 : 先将两个指针分别放在最左端和最右端的两根柱子 不断向里移动两根柱子中较短的一根【这样就可以使当前容器,满足上文的特点】 来源: CSDN 作者: 一等于一 链接: https://blog.csdn.net/weixin_45468130/article/details/104088990

Docker+JMeter+InfluxDB+Grafana从容器内部发起压测

让人想犯罪 __ 提交于 2020-01-26 19:12:31
1、自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像MAINTAINER yangjianliang <526861348@qq.com># 作者ENV http_proxy ""ENV https_proxy ""RUN mkdir /test && \ chmod -R 777 /test# 创建/test目录,用于存放jmx脚本、jtl结果文件、html测试报告文件ENV JMETER_VERSION=5.1.1ENV JMETER_HOME=/usr/local/apache-jmeter-${JMETER_VERSION}ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH}ENV PATH=${JMETER_HOME}/bin:${PATH}# 设置JMeter环境变量COPY apache-jmeter-${JMETER_VERSION}.tgz /usr/local# 复制JMeter压缩包RUN cd /usr/local && \ tar -xzvf apache-jmeter-${JMETER_VERSION}.tgz# 解压JMeter# 如果是基于Ubuntu或者CentOS的镜像,COPY之后不需要解压要这一步RUN sed -i '$a sampleresult.default

Servlet和Servlet容器

眉间皱痕 提交于 2020-01-26 15:00:04
Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容, Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台独立 的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。 Servlet没有main方法,不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用 Servlet的方法(如doGet()和doPost()),Servlet容器在Servlet的生命周期内包容和管理Servlet。 Servlet容器也叫做Servlet引擎,是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于 MIME的请求,格式化基于MIME的响应。 Tomcat是一个免费的开放源代码的Servlet容器,目前比较流行的Web服 务器。 来源: https://www.cnblogs.com/ynhwl/p/9715676.html

Spring--AOP的见解

北城余情 提交于 2020-01-26 14:49:19
AOP是指面向切面编程,与JAVA中的动态代理有很深的渊源。 在使用Spring框架时,AOP编程能简化很多繁杂的步骤,精简代码。 切面 :横切关注点(跨越程序中多个模块的功能),被模块化的特殊对象,也可以认为是抽取了一些通用的东西当成一个“面”; 通知 :切面必须要完成的工作(切面中的每一个方法被称之为通知),可以认为抽取出来的切面(类)中的方法都是一个通知; 目标 :被通知的对象(业务逻辑),也就是被包裹的方法。或者说要实现的目标方法; 代理 :向目标对象应用通知之后创建的对象; 连接点 :程序执行的某个特定位置(比如调用某一方法之前,调用某一方法之后);    由以下两个基本信息来决定: 方法:这个方法就是表示程序的执行点(程序执行到了此处); 相对点:相对点执行的方位(即当前执行方法之前?之后?异常时?)      切点 :每个类都会有很多个连接点(因为一个类可以有多个方法,所以会存在很多个切入点); AOP通过切点定位到特定的连接点 连接点相当于数据库中的一条数据,是真实存在的。而切入点则是查询这个数据的方法。也就是说一个切点(条件)可以多个连接点(查到很多的记录) AOP的原理(注解版): @EnableAspectJAutoProxy:开启AOP功能; @EnableAspectJAutoProxy

Spring容器创建过程(基于注解)

爷,独闯天下 提交于 2020-01-26 14:03:09
实例代码: ExtConfig 配置类,给第一行代码打上断点 @Test public void test ( ) { AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext ( ExtConfig . class ) ; applicationContext . close ( ) ; } Spring容器的 refresh() [创建刷新],看看此方法: 1. prepareRefresh(); 刷新前的预处理,记录启动时间,容器是否关闭,容器是否激活等 1), initPropertySources(); 初始化一些属性设置;子容器自定义个性化的属性设置方法 2), getEnvironment().validateRequiredProperties(); 检验属性的合法等 3), earlyApplicationListeners = new LinkedHashSet<>(this.applicationListeners); 保存容器中的一些早期事件 2. ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory(); 获取 BeanFactory 1) ,

Docker容器日志查看与清理的方法

本秂侑毒 提交于 2020-01-26 10:32:19
Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。今天讲述怎么查看和清理日志的方法。 1.问题 docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 2. 解决方法 2.1 找出Docker容器日志 在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件(业务日志)很大,查看各个日志文件大小的脚本docker_log_size.sh,内容如下: #!/bin/sh echo "======== docker containers logs file size ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do ls -lh $log done # chmod +x docker

Readiness 探测 - 每天5分钟玩转 Docker 容器技术(144)

≯℡__Kan透↙ 提交于 2020-01-26 03:32:26
除了 Liveness 探测 ,Kubernetes Health Check 机制还包括 Readiness 探测。 用户通过 Liveness 探测可以告诉 Kubernetes 什么时候通过重启容器实现自愈;Readiness 探测则是告诉 Kubernetes 什么时候可以将容器加入到 Service 负载均衡池中,对外提供服务。 Readiness 探测的配置语法与 Liveness 探测完全一样,下面是个例子: 这个配置文件只是将前面例子中的 liveness 替换为了 readiness ,我们看看有什么不同的效果。 Pod readiness 的 READY 状态经历了如下变化: 刚被创建时, READY 状态为不可用。 15 秒后(initialDelaySeconds + periodSeconds),第一次进行 Readiness 探测并成功返回,设置 READY 为可用。 30 秒后, /tmp/healthy 被删除,连续 3 次 Readiness 探测均失败后, READY 被设置为不可用。 通过 kubectl describe pod readiness 也可以看到 Readiness 探测失败的日志。 下面对 Liveness 探测和 Readiness 探测做个比较: Liveness 探测和 Readiness 探测是两种 Health