maven配置阿里仓库
大家使用maven下载jar包会很慢,最主要的原因是maven的仓库在英国,但如果使用了阿里的仓库下载jar包就会变得很便捷。下面是如和配置阿里的仓库。
123456<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror>
首先maven的配置都在==settings.xml==文件中,所以我们配置maven打开这个文件,并且在==mirrors==中加入以上的配置。(==settings.xml==在maven的安装目录下的conf文件夹下)maven的本地仓库默认的位置在用户目录下的.m2文件夹下面,如果是idea下载的maven也默认在该目录下。这是我的具体目录
C:\User ...
centos下安装docker
什么是dockerDocker 是一个==开源==的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 ==Linux==或==Windows==机器上,也可以实现==虚拟化==。容器是完全使用==沙箱==机制,相互之间不会有任何接口。
在centos上安装docker卸载旧版本的docker(如果你曾经安装过docker,或者系统自带docker)
12345678sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
使用docker的储存库
12345 ...
nginx配置SSL(使用https访问网页)
许多小伙伴有了自己的域名,但是发现现在的网页都是https协议的,就想使自己的域名也能通过https访问现在从申请SSL证书开始配置一下https。
由于我的域名是从阿里云上购买的,所以去阿里云购买SSL证书
点击SSL证书选择免费的SSL证书点击购买,要不了多久就会通过然后下载证书下载完成之后是一个压缩文件,解压后或有.key和.pem的两个文件,之后需要用到这两个文件我在根目录下创建了一个cert文件夹,用来存放这两个文件代码如下
12mkdir certcd cert
然后通过finalShell的文件上传功能把这两个文件上传到服务器
现在来修改nginx配置文件不知道nginx配置文件的可以输入下面的命令
1nginx -t
没安装nginx的如果是centos系统可以输入
1yum install -y nginx
接下来开始编辑nginx配置文件添加这些配置即可,在阿里云下载证书的左边也有帮助文档可以直接复制过去
12345678910111213141516171819server { #侦听443端口,这个是ssl访问端口 listen ...
java中Executors创建线程池的三种方法
三个关键线程池的比较1、创建单个线程(单例模式)123456public static ExecutorService newSingleThreadExecutor() { return new FinalizableDelegatedExecutorService (new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>()));}
由于调用的ThreadPoolExecutor的构造方法的核心池大小和最大线程池均为1,所以该线程池只能存在一个线程。
2、创建固定大小的线程池12345public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecuto ...
java中的4种元注解
java的元注解注解在jdk1.5时候出现,在jdk1.8的时候使用的人数逐渐增多。在java中有四个元注解:
@Documented该注解会在生成javadoc的时候在javadoc生成文档,jdk1.8的源码如下
12345678910111213141516/** * Indicates that annotations with a type are to be documented by javadoc * and similar tools by default. This type should be used to annotate the * declarations of types whose annotations affect the use of annotated * elements by their clients. If a type declaration is annotated with * Documented, its annotations become part of the public API * of the annotat ...
用ThreadPoolExecutor手动创建线程池
用ThreadPoolExecutor手动创建线程池首先我们看一下ThreadPoolExecutor的构造方法
123456789101112131415161718192021222324public ThreadPoolExecutor(int corePoolSize, // 核心线程池大小 int maximumPoolSize, // 最大线程池大小 long keepAliveTime, // 超时了没有人调用就会释放 TimeUnit unit, // 超时单位 BlockingQueue<Runnable> workQueue, // 阻塞队列 ThreadFactory threadFactory, // 线程工厂,创建线程线程的,一般不用动 Rejecte ...
springboot使用AOP和自定义注解实现日志
springboot使用AOP和自定义注解实现日志由于有些伙伴对java中的注解还不是很了解,可以参考java的元注解,有了解的小伙伴可以直接调过。
java4大元注解:https://www.dgrain.top//2021/03/13/java/java%E4%B8%AD%E7%9A%844%E7%A7%8D%E5%85%83%E6%B3%A8%E8%A7%A3/
在java中使用注解要实现自定义的功能需要使用反射在程序与运行时动态的读取注解,在springboot中提供了注解的工具类AnnotatedElementUtils,在springboot中一般使用该工具类来读取注解,如果直接使用反射去读取注解可能会导致某些springboot中的注解和功能不生效。下面是我自定义注解的定义,以下简称@Log
123456789101112131415@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Log { @AliasFor(&qu ...
附录B 强制性规范声明(非规范)
附录B 强制性规范声明(非规范)目录
第一章 - 介绍
第二章 – MQTT控制报文格式
第三章 – MQTT控制报文
第四章 – 操作行为
第五章 – 安全
第六章 – 使用WebSocket
第七章 – 一致性目标
附录B - 强制性规范声明
这个附录是非规范的,只作为本文档正文中可以找到的大量一致性声明的摘要提供。一致性要求的限制列表见第七章。
表格:强制性规范声明
声明序号
规范声明
[MQTT-1.5.3-1]
UTF-8编码字符串中的字符数据必须是按照Unicode规范 [Unicode] 定义的和在RFC3629 [RFC3629] 中重申的有效的UTF-8格式。特别需要指出的是,这些数据不能包含字符码在U+D800和U+DFFF之间的数据。如果服务端或客户端收到了一个包含无效UTF-8字符的控制报文,它必须关闭网络连接。
[MQTT-1.5.3-2]
UTF-8编码的字符串不能包含空字符U+0000。如果客户端或服务端收到了一个包含U+0000的控制报文,它必须关闭网络连接。
[MQTT-1.5.3-3]
UTF-8编码序列0XEF 0xBB 0xB ...
第七章 一致性 Conformance
第七章 一致性 Conformance目录
第一章 - 介绍
第二章 – MQTT控制报文格式
第三章 – MQTT控制报文
第四章 – 操作行为
第五章 – 安全
第六章 – 使用WebSocket
第七章 – 一致性目标
附录B - 强制性规范声明
MQTT规范定义了MQTT客户端实现和MQTT服务端实现的一致性要求
MQTT实现可以同时是MQTT客户端和MQTT服务端。接受入站连接和建立到其它服务端的出站连接的服务端必须同时符合MQTT客户端和MQTT服务端的要求 [MQTT-7.0.0-1]。
为了与任何其它的一致性实现交互操作,一致性实现不能要求使用在本规范之外定义的任何扩展 [MQTT-7.0.0-2]。
7.1 一致性目标 Conformance Targets7.1.1 MQTT服务端 MQTT Server一个MQTT服务端只有满足下面所有的要求才算是符合本规范:
服务端发送的所有控制报文的格式必须符合第二章和第三章描述的格式
遵守第4.7节描述的主题匹配规则。
满足下列章节中所有必须级别的要求,明确仅适用于对客户端的除外:
第一章 – 介绍
第二章 – MQTT ...
第六章 使用WebSocket作为网络层
第六章 使用WebSocket作为网络层目录
第一章 - 介绍
第二章 – MQTT控制报文格式
第三章 – MQTT控制报文
第四章 – 操作行为
第五章 – 安全
第六章 – 使用WebSocket
第七章 – 一致性目标
附录B - 强制性规范声明
如果MQTT在WebSocket [RFC6455] 连接上传输,必须满足下面的条件:
MQTT控制报文必须使用WebSocket二进制数据帧发送。如果收到任何其它类型的数据帧,接收者必须关闭网络连接 [MQTT-6.0.0-1]。
单个WebSocket数据帧可以包含多个或者部分MQTT报文。接收者不能假设MQTT控制报文按WebSocket帧边界对齐 [MQTT-6.0.0-2]。
客户端必须将字符串 mqtt 包含在它提供的WebSocket子协议列表里 [MQTT-6.0.0-3]。
服务端选择和返回的WebSocket子协议名必须是 mqtt [MQTT-6.0.0-4] 。
用于连接客户端和服务器的WebSocket URI对MQTT协议没有任何影响。
6.1 IANA注意事项 IANA ...

