Docker入门笔记
Docker简介
Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案—–系统平滑移植,容器虚拟化技术。
环境配置相当麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。
Docker的出现使得其得以打破过去「程序即应用」的观念。透过镜像将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。
Docker是基于Go语言实现的云开源项目。
Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。
总结就是,Docker解决了运行环境和配置问题的软件容器, 方便做持续集成并有助于整体发布的容器虚拟化技术。
...
Nginx反向代理初步使用
简介 客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
使用
下载安装Nginx(这里以window版为例)
配置
1234567891011server { listen 9001; server_name localhost; location ~ /hosp/ { proxy_pass http://localhost:8201; } location ~ /cmn/ { proxy_pass http://localhost:8202; }}
9001为客户访问端口,当路径中使用正则表达式匹配到hosp时,使用http://localhost:8201作为请求地址,如果匹配到cmn,则使用http://localhos ...
Redis6实用笔记
NoSQL数据库简介前言 随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。
解决CPU及内存压力
解决IO压力
概述 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。 NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。常用于:
对数据高并发的读写;
海量数据的读写;
对数据高可扩展性的;
典型的NoSQL数据库
Memcache
Redis
MongoDB
Redis简介
Redis是一个开源的key-value存储系统,它支持存储的类型相对较多,包括string(字符串)、list(链表)、set(集合)、set(sorted set –有序集合)和hash(哈希类型)
Redis支持各种不同方式的排序,数据都是缓存在内存
Redis会周期性的把更新的数据写入磁盘或者把修改操作写入记录文件中
实现了master-slave(主从)同步
应用场景:
配合关系 ...
快速上手EasyExcel
EasyExcel简介 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存。
EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel文件。
开始导入依赖
在pom文件中加入依赖
123456<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version></dependency>
创建实体类
创建实体类并添加注解
12345678910111213package com.xlh.EasyExcel;import com.alibaba.excel.anno ...
Swagger-接口文档利器
前言
Swagger支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了
提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试
开始 下面将给出在SpringBoot2项目中使用Swagger的基本步骤,这里将Swagger配置类单独拿出,作为公共配置部分。
导入依赖
在pom.xml文件中导入依赖
123456789<!--swagger--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId& ...
MyBatisPlus入门
预览
入门案例
创建SpringBoot项目
导入相关依赖(mysql版本要与配置文件对应,mysql5和mysql8有所区别)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd&quo ...
浅尝JVM
JVM的位置
JVM体系结构
类加载器作用:加载class文件。new Student()时,引用放在栈中,而实例放在堆中。
过程(双亲委派机制 ):
类加载器收到类加载的请求;
将这个请求向上委托给父类加载器去完成,一直向上委托,直到启动类加载器;
启动类加载器检查是否能加载当前类,如果能,结束;如果不能,则抛出异常,通知子类加载器加载;
重复步骤三,直到结束。
加载器:(上方是下方的父类)
启动类(根)加载器
扩展类加载器
应用程序加载器
自定义类加载器
注:native修饰的方法为调用本地方法栈,意为Java无法处理,调用C++方法-本地方法。
沙箱安全机制 Java安全模型的核心就是Java沙箱(sandbox),什么是沙箱?沙箱是一个限制程序运行的环境。沙箱机制就是将 Java 代码限定在虚拟机(JVM)特定的运行范围中,并且严格限制代码对本地系统资源访问,通过这样的措施来保证对代码的有效隔离,防止对本地系统造成破坏。沙箱主要限制系统资源访问,那系统资源包括什么?——CPU、内存、文件系统、网络。不同级别的沙箱对这些资源访问的限制也可以不一样。
所有的Jav ...
Java基础-重点篇
Java 两种核心机制
Java 虚拟机 (Java Virtal Machine)
垃圾收集机制 (Garbage Collection)
核心机制-Java 虚拟机
JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器 。
对于不同的平台,有不同的虚拟机。只有某平台提供了对应的 java 虚拟机, java 程序才可在此平台运行
Java 虚拟机机制屏蔽了底层运行平台的差别,实现了一次编译,到处运行”
核心机制-垃圾回收
不再使用的内存空间应回收垃圾回收。
垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。
JDK和JREJDK(Java开发工具包) JDK是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了JRE 。所以安装了 JDK ,就不用在单独安装 JRE 了。其中的开发工具:编译工具 (javac.exe) 打包工具 (jar)等。
JRE(Java运行环境) 包括Java 虚拟机 (JVM Java Virtual Machine) 和 Java 程序所需的核心类库等,如果 ...
QT程序打包
1、执行released
2、找到生成目录
进入这个文件夹,再进入它的子文件夹 release 里面,找到 Test.exe ,将这个exe 复制到一个新的单独的文件夹里用于发布。
3、复制到新的文件夹里并操作
因为缺少相关dll文件,不能直接运行。需要继续操作:
进入你之前新建的放置exe文件的文件夹
输入以下命令:
1windeployqt Test.exe //使用 windeployqt 工具命令
命令执行完成后即可打开exe文件
到此,所需文件集合完成,可直接打开exe文件。
PS快速入门技巧
置入嵌入对象
将图片放到另一张图片中
新建的文档,可以用左边工具栏“前景色”,alt+delete改变背景色
alt+鼠标滚轮可以放大缩小图片
插入文字后,用ctrl+鼠标左键进行调整角度和放大缩小
双击图层可以弹出图层样式设置
保存格式
PSD格式:可保留痕迹,便于再次进行编辑
JPG格式:通用的图片格式
PNG格式:保留透明区域(jpg会自动填充白色)
移动工具
选择移动工具后,可调节上方的选项。其中,勾选自动选择后,可以灵活移动图层。勾选显示变换控件后,可以显示被移动的控件,且支持放大缩小,注意:直接缩放不会改变宽高比例,按住shift后再进行缩放可自由调节。
将鼠标移动到某个图层外面,按住不动可进行拖动旋转。
鼠标点击图层后,快捷键 ctrl+T可进行如上操作,尽量不开启“显示变换控件”。调节后双击图层确定。
组:ctrl+鼠标点击右边图层名称,选择多个图层作为一组,可进行同时移动、缩放等操作。选择多个图层后,点击下图图标可进行创建组。
图层复制/删除/新建
复制快捷键:ctrl+j
删除快捷键:delete
选中图像移动 ...