一个可视化的管理工具,适用于 docker 容器和 docker 群集群,可以浏览和维护 docker 单节点 或同时使用辅助角色和管理器的群集节点。DockerUI 是一个易于使用且轻量级的 docker 管理工具。通过网页界面的操作,它更 方便不熟悉 docker 指令的用户更快地进入 docker 世界。DockerUI有一个易于使用的界面。它不需要记住 docker 指令。只需下载图片 您可以立即加入并完成部署。基于docker的特性,镜像的版本可以 直接在码头工人 UI 中更新。使用相同的设置,可以通过重新部署和替换 刚性容器,可以使用最新版本的功能。DockerUI 涵盖了 doc...阅读全文>>
虽然 MySQL5.6 引入了物化特性,但需要特别注意它目前仅仅针对查询语句的优化。对于更新或删除需要手工重写成 JOIN。借助 explain 执行计划来分析索引失效的具体场景。看到 SQL 执行计划中select_type字段中出现“DEPENDENT SUBQUERY”时,要特别注意。来看一个SQLEXPLAIN SELECT t.id FROM student t WHERE t.is_del=0 and t.classin_err_times<10 AND&nbs...阅读全文>>
从Spring3开始提供了@Async注解,该注解可以被标注在方法上,以便异步地调用该方法。调用者将在调用时立即返回,方法的实际执行将提交给Spring TaskExecutor的任务中,由指定的线程池中的线程执行。Spring内部线程池,其实是SimpleAsyncTaskExecutor,它不会复用线程的,设计初衷就是执行大量的短时间的任务。指在@Async注解在使用时,不指定线程池的名称。查看源码,@Async的默认线程池为SimpleAsyncTaskExecutor。默认线程池的弊端在线程池应用中,参考阿里巴巴java开发规范:线程池不允许使用Executors去创建,不允许使用系统...阅读全文>>
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。拉去镜像docker pull docker.io/elasticsearch:7.1.1创建网络docker network create elastic运行docker run -d \ --name es01 \ --net el...阅读全文>>
HTML <video> 元素 用于在 HTML 或者 XHTML 文档中嵌入媒体播放器,用于支持文档内的视频播放。你也可以将 <video> 标签用于音频内容,但是 <audio> 元素可能在用户体验上更合适。在不支持 video 元素的浏览器中,<video></video> 标签中间的内容会显示,作为降级处理。controls属性加上这个属性,浏览器会在视频底部提供一个控制面板,允许用户控制视频的播放,包括音量,跨帧,暂停/恢复播放。具体参考:https://developer.mozilla.org/zh-CN/docs/We...阅读全文>>
这里使用的虚拟机是VMware® Workstation 16 Pro,使用的Linux是CentOS Linux release 7.9.2009 (Core)。默认安装的CentOS7以后,每次重启虚拟机,IP都会变化,这样肯定是不友好的,这里我们配置一个指定的IP,并且虚拟机可以通过本机上网。为了简便操作,你可以按照下述IP内容直接配置即可。一、配置IP地址(1)找到虚拟机软件配置的NAT地址信息编辑 -> 虚拟网络编辑器 -> 选择NAT模式的VMnet8 -> 点击NAT设置。(2)配置网卡信息控制面板\网络和 Internet\网络连接,配置VMware Netw...阅读全文>>
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。在文章,windows下安装redis及其客户端(htt...阅读全文>>
首先要说明一点,SpringMVC进行JSON序列化处理时,使用的工具包是Jackson。与其他 Java 的 json 的框架 Gson 等相比, Jackson 解析大的 json 文件速度比较快;Jackson 运行时占用内存比较低,性能比较好;Jackson 有灵活的 API,可以很容易进行扩展和定制。Jackson 的 1.x 版本的包名是 org.codehaus.jackson ,当升级到 2.x 版本时,包名变为 com.fasterxml.jackson,本文讨论的内容是基于最新的 Jackson 的 2.9.1 版本。Jackson 的核心模块由三部分组成。jackson-...阅读全文>>
常见的两种创建线程的方式。一种是直接继承Thread,另外一种就是实现Runnable接口。这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。Future模式的核心思想是能够让主线程将原来需要同步等待的这段时间用来做其他的事情。(因为可以异步获得执行结果,所以不用一直同步等待去获得执行结果)。这里给一个实际使用的案例代码,理论是一样的,但是编码方式有多种。关于代码的注意点和说明,都在注释里面,由于案例比较简单,这里不再啰嗦。package com.example...阅读全文>>
编写程序Controller接口时,对于参数的验证非常重要,但是多个参数时,如果我们使用IF-ELSE挨个判断,那么程序会非常累赘,此时我们可以考虑使用Spring的Validtion框架,使用注解的方式优雅的编写参数格式的验证。引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</art...阅读全文>>