0%

Dockerfile

什么是Dockerfile

Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。通俗的理解,和Maven一样,只需要写好pom文件就可以定义整个工程的构建,DockerFile是一样的,通过这个脚本可以构建出自己想要的容器!

Docker镜像

镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

UnionFS(联合文件系统)

UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem)。Union 文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。

特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录

Docker 是如何工作的

Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境,就是我们前面说到的集装箱。

mark

1、前提知识

  • 熟悉Linux命令和相关背景

  • 建议了解Git、Maven相关知识和概念

2、Docker方向选择

  • JavaEE研发方向:掌握Docker基本用法和相关概念

  • Docker研发方向:主要开发语言是go,Swarm、Compose、Machine、K8S等

3、Docker是什么

一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验 Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护进程 (adbd):在设备上运行命令。守护进程在每个设备上作为后台进程运行。
  • 服务器:管理客户端和守护进程之间的通信。服务器在开发计算机上作为后台进程运行。

但是经常出现的问题就是ADB无法连接,或者其他的ADB驱动问题等等..

mark

之前集成OpenCV是通过NDK的方式,需要自己编译出so库,这是一种很低效的集成方式,很多时候需要自己写JNI的代码,不是一个很好的选择,而通过open CV官方的jar就可以引入很多种常用的API,下面来说说这种方式

首先需要先下载一个OpenCV的Android开发SDK: mark

一、什么是HashMap

HashMap肯定是一个Java开发者经常用到的一个容器,不妨吧HashMap看成是Hash + Map

Hash:散列讲一个任意的长度通过某种算法(哈希算法)转换为一个固定值 Map:这个Map被翻译过来是地图,地图是一种很明显的K-V模型,地图上的每一个点对应真实存在的某一个地方,所以我认为是一种K-V模型

好了两个概念合二为一即是:把一个东西通过哈希算法找到对应的位置,并把它存储到这个位置!

Knuth-Morris-Pratt 字符串查找算法,简称为 KMP算法,KMP是我们经常听到的一种字符串匹配算法。KMP算法听起来很难,但是如果真正明白它的匹配过程其实不难,接下来看看KMP究竟是如何匹配字符串的?

假设现在有如图所示两个字符串, 图表所列的是匹配串的所有子串,这个不难理解 mark