Linux Docker Messof the distributed and networked nature of modern applications. Docker 简单的说Docker是一个构建在LXC之上的,基于进程容器(Process Container)的轻量 级VM解决方案。 Docker Docker的初衷是将各种应用程序和他们所依赖的运行环境打包成标准的container/image,进 而发布到不同的平台上运行。 Image的重用和共享发布等 Growing Docker 例如,百度的BAE平台的PaaS服务由Docker支持。 Technologies in Docker Docker是一个操作系统级的、容器化的虚拟化方法。 隔离性 Linux Namespace (NS) pid namespace 不同用户的进程就是通过pid namespace隔离开的,且不 同namespace中可以有相同pid,所有的LXC进程在docker b39b81afc8ca 7 months ago 188.3 MB n 使用docker load来导入容器镜像 n 使用docker pull从Docker Hub拉取镜像 xiaodong@ubuntu:~/Workspace_Docker/Images$ docker search mysql NAME0 码力 | 77 页 | 7.40 MB | 1 年前3
Nacos架构&原理
⽣态 简介 nacos-docker 和 nacos-k8s 是 Nacos 开发团队为支持用户容器化衍生的项目。其本质是为了帮 助用户方便快捷的通过官方镜像在 Docker 或者 Kubernetes 进行部署。 Docker 使用 注意:在写本文的当下, Nacos 官方 docker 镜像并不支持在 ARM 架构的机器上运行,比如 Macb ook Pro M1(目前正在推进解决中) Nacos-Docker 还有关于集群演示的例子,下面将演示如何通过 docker- compose 编排进行 Nacos 在 Docker 的集群部署。 注意:本次演示中使用的数据库镜像进行 Nacos 数据库脚本初始化, 如果使用已有数据库镜像或者 自定义数据库地址,请自己进行 数据库脚本 初始化。 1. 创建⼀个 docker compose 编排文件, 命名为 nacos-embedded.yaml env restart: always 上述文件是⼀个标准的 DockerCompose 的容器编排文件, 我们定义了三个 Nacos 容器服务, 其 中指定每个容器的名称, 以及服务的主机地址 (host),为每⼀个 Nacos 容器日志文件夹进行持久化, 并且指定他们的重启策略, 以及指定在容器中可以引用的环境变量文件 (nacos-embedded.env)。 2. 下面我们再创建上面编排文件中引用到的环境变量文件0 码力 | 326 页 | 12.83 MB | 10 月前3
Hello 算法 1.0.0b4 Java版updateHeight(node); updateHeight(child); // 返回旋转后子树的根节点 return child; } 左旋 相应的,如果考虑上述失衡二叉树的“镜像”,则需要执行「左旋」操作。 7. 树 hello‑algo.com 139 Figure 7‑28. 左旋操作 同理,若节点 child 本身有左子节点(记为 grandChild ),则需要在「左旋」中添加一步:将 ),则需要在「左旋」中添加一步:将 grandChild 作 为 node 的右子节点。 Figure 7‑29. 有 grandChild 的左旋操作 可以观察到,右旋和左旋操作在逻辑上是镜像对称的,它们分别解决的两种失衡情况也是对称的。基于对称 性,我们可以轻松地从右旋的代码推导出左旋的代码。具体地,只需将「右旋」代码中的把所有的 left 替换 为 right ,将所有的 right 替换为 3,仅使用左旋或右旋都无法使子树恢复平衡。此时需要先左旋后右旋,即先对 child 执行「左旋」,再对 node 执行「右旋」。 Figure 7‑30. 先左旋后右旋 先右旋后左旋 同理,对于上述失衡二叉树的镜像情况,需要先右旋后左旋,即先对 child 执行「右旋」,然后对 node 执行 「左旋」。 7. 树 hello‑algo.com 141 Figure 7‑31. 先右旋后左旋 旋转的选择0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.1.0 Java版updateHeight(node); updateHeight(child); // 返回旋转后子树的根节点 return child; } 2. 左旋 相应地,如果考虑上述失衡二叉树的“镜像”,则需要执行图 7‑28 所示的“左旋”操作。 第 7 章 树 hello‑algo.com 163 图 7‑28 左旋操作 同理,如图 7‑29 所示,当节点 child 有左子节点(记为 grand_child )时,需要在左旋中添加一步:将 grand_child 作为 node 的右子节点。 图 7‑29 有 grand_child 的左旋操作 可以观察到,右旋和左旋操作在逻辑上是镜像对称的,它们分别解决的两种失衡情况也是对称的。基于对称 性,我们只需将右旋的实现代码中的所有的 left 替换为 right ,将所有的 right 替换为 left ,即可得到左 旋的实现代码: ,仅使用左旋或右旋都无法使子树恢复平衡。此时需要先对 child 执行“左旋”, 再对 node 执行“右旋”。 图 7‑30 先左旋后右旋 4. 先右旋后左旋 如图 7‑31 所示,对于上述失衡二叉树的镜像情况,需要先对 child 执行“右旋”,再对 node 执行“左旋”。 图 7‑31 先右旋后左旋 第 7 章 树 hello‑algo.com 165 5. 旋转的选择 图 7‑32 展0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b5 Java版updateHeight(node); updateHeight(child); // 返回旋转后子树的根节点 return child; } 2. 左旋 相应的,如果考虑上述失衡二叉树的“镜像”,则需要执行图 7‑28 所示的“左旋”操作。 第 7 章 树 hello‑algo.com 159 图 7‑28 左旋操作 同理,如图 7‑29 所示,当节点 child 有左子节点(记为 grandChild )时,需要在左旋中添加一步:将 grandChild 作为 node 的右子节点。 图 7‑29 有 grandChild 的左旋操作 可以观察到,右旋和左旋操作在逻辑上是镜像对称的,它们分别解决的两种失衡情况也是对称的。基于对称 性,我们只需将右旋的实现代码中的所有的 left 替换为 right ,将所有的 right 替换为 left ,即可得到左 旋的实现代码。 ,仅使用左旋或右旋都无法使子树恢复平衡。此时需要先对 child 执行“左旋”, 再对 node 执行“右旋”。 图 7‑30 先左旋后右旋 4. 先右旋后左旋 如图 7‑31 所示,对于上述失衡二叉树的镜像情况,需要先对 child 执行“右旋”,然后对 node 执行“左旋”。 第 7 章 树 hello‑algo.com 161 图 7‑31 先右旋后左旋 5. 旋转的选择 图 7‑320 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.0.0 Java版updateHeight(node); updateHeight(child); // 返回旋转后子树的根节点 return child; } 2. 左旋 相应地,如果考虑上述失衡二叉树的“镜像”,则需要执行图 7‑28 所示的“左旋”操作。 第 7 章 树 hello‑algo.com 163 图 7‑28 左旋操作 同理,如图 7‑29 所示,当节点 child 有左子节点(记为 grand_child )时,需要在左旋中添加一步:将 grand_child 作为 node 的右子节点。 图 7‑29 有 grand_child 的左旋操作 可以观察到,右旋和左旋操作在逻辑上是镜像对称的,它们分别解决的两种失衡情况也是对称的。基于对称 性,我们只需将右旋的实现代码中的所有的 left 替换为 right ,将所有的 right 替换为 left ,即可得到左 旋的实现代码: ,仅使用左旋或右旋都无法使子树恢复平衡。此时需要先对 child 执行“左旋”, 再对 node 执行“右旋”。 图 7‑30 先左旋后右旋 4. 先右旋后左旋 如图 7‑31 所示,对于上述失衡二叉树的镜像情况,需要先对 child 执行“右旋”,再对 node 执行“左旋”。 图 7‑31 先右旋后左旋 第 7 章 树 hello‑algo.com 165 5. 旋转的选择 图 7‑32 展0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版updateHeight(node); updateHeight(child); // 返回旋转后子树的根节点 return child; } 2. 左旋 相应地,如果考虑上述失衡二叉树的“镜像”,则需要执行图 7‑28 所示的“左旋”操作。 第 7 章 树 www.hello‑algo.com 163 图 7‑28 左旋操作 同理,如图 7‑29 所示,当节点 child 有左子节点(记为 grand_child )时,需要在左旋中添加一步:将 grand_child 作为 node 的右子节点。 图 7‑29 有 grand_child 的左旋操作 可以观察到,右旋和左旋操作在逻辑上是镜像对称的,它们分别解决的两种失衡情况也是对称的。基于对称 性,我们只需将右旋的实现代码中的所有的 left 替换为 right ,将所有的 right 替换为 left ,即可得到左 旋的实现代码: ,仅使用左旋或右旋都无法使子树恢复平衡。此时需要先对 child 执行“左旋”, 再对 node 执行“右旋”。 图 7‑30 先左旋后右旋 4. 先右旋后左旋 如图 7‑31 所示,对于上述失衡二叉树的镜像情况,需要先对 child 执行“右旋”,再对 node 执行“左旋”。 图 7‑31 先右旋后左旋 第 7 章 树 www.hello‑algo.com 165 5. 旋转的选择 图 7‑320 码力 | 379 页 | 18.48 MB | 10 月前3
Java 应用与开发 - Java EE 体系结构大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 Java 应用与开发 Java EE 体系结构 王晓东 wangxiaodong@ouc.edu.cn 计算机科学与技术系 November 6, 2018 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 参考书目 1. 吕海东,张坤编著,Java 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 学习目标 1. 了解软件开发的现状与发展趋势,了解企业级应用的特点 2. 掌握 Java EE 的概念和规范,掌握 Java EE 容器、组件和 通信协议的类型和功能 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 ���� 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议0 码力 | 40 页 | 1.89 MB | 1 年前3
Java 应用与开发 - Java GUI 编程GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 组件和容器 组件 组件(Component)是图形用户界面的基本组成元素,凡是能够 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 组件和容器 组件 组件(Component)是图形用户界面的基本组成元素,凡是能够 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 组件和容器 组件 组件(Component)是图形用户界面的基本组成元素,凡是能够 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如0 码力 | 73 页 | 876.31 KB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . . . . . . . . . . . . . 127 11.1.1 组件和容器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.1.2 常用的组件和容器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 . . . 131 11.1.6 布局管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.1.7 容器的嵌套使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 vii 11.2 GUI 事件处理 . . . . . . 15.3 Java EE 容器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 15.3.1 客户端应用容器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 15.3.2 Applet 容器 . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
共 28 条
- 1
- 2
- 3













