- 博客(32)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 使用Gitee + PicGo + Typora搭建图床
软件安装Typora写markdown很好的软件。下载地址:https://typora.io/#download。PicGo下载地址:https://github.com/Molunerfinn/PicGonode.js安装PicGo插件使用,推荐8.x版本,其他版本下载水印插件失败,不要求水印的可以下载其他版本。下载地址:https://nodejs.org/dist/latest-v8.x/配置图床在gitee创建图片仓库访问https://gitee.com/
2021-07-30 10:40:59
165
转载 使用Typora添加数学公式
版权声明:本文为博主姚明明原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原本文链接:https://blog.csdn.net/mingzhuo_126/article/details/82722455Typora是一款支持Markdown的编辑器,亲测非常好用。之前发CSDN博客也都是先在Typora上完成,然后直接导入到CSDN。最近在数学公式编辑上遇到了点麻烦,在此总结了常用的公式编辑方法,旨在文章更加的美观规范。**1. 打开Typora选择数学模块.
2020-12-14 00:47:21
295
原创 前端vue采用history模式nginx配置
本文参考:https://www.dazhuanlan.com/2020/02/02/5e36da0f60465/现在前端vue多采用hash模式,使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。当你使用 history 模式时,URL 就像正常的 url,例如http://yoursite.com/user/id,也好看!但是使用这种模式时,后端也要进行配置。在配置之前,首先要将前端的Vue Route的base改为和nginx将要配置的loc..
2020-11-29 00:13:02
903
2
原创 Python自动化测试app学习以及踩到的坑
本文使用真机测试,关于虚拟机连接方式,请自行搜索。首先需要用到的软件: 1. pip包管理器 安装教程:Windowswindows下python安装pip方法详解_python_脚本之家 (jb51.net) MACmac 安装pip教程_quanqxj的博客-CSDN博客_mac pip怎么安装 前提已经安装了python 2. Appium客户端执行命令:pip in...
2020-11-24 00:23:41
535
原创 设计模式之策略模式
策略模式:用于针对不同的场景实现不同的处理。设计场景:我们需要对数据进行校验,但是需要针对不同的数据类型做不同的校验。首先,我们要创建一个校验的接口。public interface Validator { <T> boolean validate(T t);}然后,我们实现校验接口实现一些校验规则。我写了字符串校验和日期校验。public class StringValidator implements Validator { @Override
2020-11-03 22:12:22
112
原创 设计模式之观察者模式
观察者模式,用来去监听事件的发生,当时间发生时,触发相应的行为。假设有这么一个场景:在学校,有老师和学生,都有上课和考试事件。上课事件发生时,老师讲课,学生听课;考试事件发生,老师监考,学生考试。首先,我们要创建一个事件类。有个添加观察者的方法和事件发生时的行为方法。public abstract class Event<T> { protected abstract void action(); protected abstract void addObser
2020-11-03 21:37:34
69
原创 设计模式之装饰者模式
装饰者模式,用于给一个主体添加一些装饰。比如说,一个蛋糕,我们选择加不同的水果,这样就变成不同的水果蛋糕,也可以添加牛奶,变成牛奶蛋糕。如此等等。本文的例子以实现不同的蛋糕为例。 首先,我们要创建一个蛋糕对象。public class Cake { private int size; private BigDecimal price; public Cake() { } public Cake(int size, BigDecimal...
2020-10-30 20:56:50
99
原创 设计模式之单例模式
单例模式,顾名思义,在程序运行时只创建一个对象。减少了内存的开销。实现的关键点在于私有化构造函数。以下介绍四种单例实现的方式: 1. 饿汉式/** * 饿汉式创建单例 * 简单方便 */public class Singleton01 { private static final Singleton01 INSTANCE = new Singleton01(); private Singleton01() {} public static Sin...
2020-10-28 22:34:05
208
原创 对象的创建和分配
1. 对象创建过程创建一个对象,首先是把class文件加载到内存,具体包括三步:具体请看class文件加载过程https://blog.csdn.net/wqc8994/article/details/107928769。然后需要给对象申请内存,接下来成员变量赋默认值,最后调用构造方法。调用构造方法时先调用父类构造方法,然后成员变量赋初始值,接着在执行构造方法语句。2. 对象的内存布局对象的内存布局分为两种,一种为普通对象,一种为数组对象。普通对象 数组对象 对象头 对象头
2020-10-27 23:17:08
230
原创 记录Hystrix Dashboard配置出现的问题
本文查阅:https://blog.csdn.net/csdndz/article/details/100762717?depth_1- https://www.jianshu.com/p/0a682e4781b0配置Hystrix Dashboard时,需要引入以下依赖包: <dependency> <groupId>org.springframework.cloud</groupId&...
2020-09-14 00:09:20
1492
1
原创 JMM的问与答
Q:JAVA内存模型规定是什么?A:所有的变量(线程共享变量:静态字段,实力字段,构成数组对象的元素等,不包过局部变量和方法变量)都存储在主内存(JVM内存的一部分),每条线程有自己的工作内存。线程对变量的操作都必须先将主内存的变量copy到自己的工作内存,在进行操作,而不能直接对主内存的变量进行操作。Q:为什么会出现指令重排序?A:由于线程从主内存读取变量的操作相对于自己的运行速度是非常慢的,所以在不影响结果的情况下CPU在等待读取变量时会执行后面的指令,此时会要求后面的指令不会用到前面变量,
2020-08-30 23:37:12
92
原创 如何自定义ClassLoader
在自定义ClassLoader之前要对ClassLoader的源码进行一些了解。当ClassLoader进行加载一个类时,会调用ClassLoader的loadClass方法。代码如下: /** * Loads the class with the specified <a href="#name">binary name</a>. * This method searches for classes in the same manne...
2020-08-21 00:22:29
2396
原创 Class文件加载初始化过程
class文件加入到内存经过loading、linking和initializing三步,其中linking的过程又分为verification、preparation、resolution三步。整个过程如下图: loading是将class文件读取到内存,这一步是通过ClassLoader来完成的。ClassLoader分为四个层次:第一个层次是Bootstrap类加载器,用来加载jdk lib里最核心的内容,比如说rt.jar,charset.jar等核心类,由C++实...
2020-08-18 23:26:11
282
原创 Class文件格式
Class文件是一组以8位字节为基础的二进制流。根据Java虚拟机规范的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种结构只用两种数据类型:无符号数和表。无符号数以u1、u2、u4、u8分别来代表1、2、4、8个字节的无符号数。表是由多个无符号数或者其他表为数据项组成的复合数据类型。习惯以“_info”结尾。class文件格式如下:类型 名称 数量 说明 ...
2020-08-10 22:23:14
853
原创 Mockito模拟单元测试实战
本文参考 https://mp.weixin.qq.com/s?src=11×tamp=1595152510&ver=2470&signature=6mHOo9h42kD-jrVUytEmXMA*FunP2zxA9Hscn-*W7Ei3YBVEhOUbVs6X2Wu1OQA0TsUy5w8RPOpxrdGw27jrhqtGziZ9uns8LoP3Tb6HaT*huQPOwWNoYh950gXKH*qM&new=1 Mockito是用于单元...
2020-07-19 20:37:36
744
转载 RabbitMQ与springboot整合
本文根据视频https://www.bilibili.com/video/BV1pa4y1x7Kc?p=13,https://www.bilibili.com/video/BV1pa4y1x7Kc?p=14和https://www.bilibili.com/video/BV1pa4y1x7Kc?p=15创作。未经视频作者授权,如果作者感到侵权,请联系本人删除此文1. 引入maven依赖, 包括web依赖 <dependencies> <depende...
2020-06-29 01:04:45
260
原创 RabbitMQ工作模式
RabbitMQ工作模式有六种:工作队列模式,发布订阅模式,路由模式。1. 工作队列模式 https://mp.csdn.net/console/editor/html/1068929122. 发布订阅模式 交换机类型为funout。 https://mp.csdn.net/console/editor/html/1068931213. 路由模式 交换机类型为direct。 路由模式和发布订阅模式区别: 1)发布订阅模式不需要绑...
2020-06-29 00:34:06
188
转载 Rabbit工作模式之RPC模式
本文根据视频https://www.bilibili.com/video/BV1pa4y1x7Kc?p=12创作。未经视频作者授权,如果作者感到侵权,请联系本人删除此文RPC模式结构图如下:RPC即客户端调用远程服务端的方法,使用MQ可以实现RPC的异步调用,基于direct交换机实现。流程如下: 1. 客户端既是生产者又是消费者,向RPC请求队列发送RPC调用消息,同时监听RPC响应队列。 2. 服务端监听PRC请求队列的消息,收到消息后执行服务端的...
2020-06-29 00:33:25
387
转载 Rabbit工作模式之header模式
本文根据视频https://www.bilibili.com/video/BV1pa4y1x7Kc?p=12创作。未经视频作者授权,如果作者感到侵权,请联系本人删除此文header模式取消了routingkey的设置,但要设置key-value匹配队列。header模式生产者代码:public class HeaderProducer { private static final String QUEUE_EMAIL = "queue_email"; private...
2020-06-29 00:16:14
716
转载 Rabbit工作模式之通配符模式
本文根据视频https://www.bilibili.com/video/BV1pa4y1x7Kc?p=11 创作。未经视频作者授权,如果作者感到侵权,请联系本人删除此文通配符模式结构图如下: 通配符匹配符号有 # 和 * : # 匹配一个或多个字符,比如:info.#可以匹配info.email, info.sms或者info.email.sms。 * 只能匹配一个字符,比如: info.*只能匹配info.email或者info.sms...
2020-06-28 23:51:16
330
转载 Rabbit工作模式之路由模式
本文根据视频https://www.bilibili.com/video/BV1pa4y1x7Kc?p=9和https://www.bilibili.com/video/BV1pa4y1x7Kc?p=10创作。未经视频作者授权,如果作者感到侵权,请联系本人删除此文 路由模式结构图如下: 路由模式特点如下: 1. 一个交换机绑定多个队列,每个队列设置routingkey,一个队列可以设置多个routing...
2020-06-28 23:19:04
7917
转载 Rabbit工作模式之发布订阅模式
本文根据视频https://www.bilibili.com/video/BV1pa4y1x7Kc?p=7和https://www.bilibili.com/video/BV1pa4y1x7Kc?p=8创作。未经视频作者授权,如果作者感到侵权,请联系本人删除此文发布订阅模式结构图如下: 发布订阅模式特点: 生产者将消息发送给交换机; 交换机绑定多个队列,每个消费者监听自己的队列; 每个绑定交换机的队...
2020-06-21 23:52:58
179
转载 Rabbit工作模式之工作队列模式
本文来自视频https://www.bilibili.com/video/BV1pa4y1x7Kc?p=5。未经作者授权,如果作者不同意,请联系本人删除此文。工作队列模式是多个消费端共同消费一个工作队列中的消息。结构如下:其特点是: 多个消费者共同监听一个队列; 消息不能被重复消费; 采用轮询的方式将消息平均发送给消费者。代码实例同:https://blog.csdn.net/wqc8994/article/details/10688...
2020-06-21 23:09:43
141
转载 RabbitMQ实例
本文根据视频:https://www.bilibili.com/video/BV1pa4y1x7Kc?p=4编写未经作者授权,如果感到有侵权,请联系本人删除此文。生产者代码实例package com.qingcheng.rabbitmq.service;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactor.
2020-06-21 18:32:49
212
原创 RabbitMQ介绍
RabbitMQ是由erlang语言开发,基于AMQP协议协议实现的消息队列。其结构图如下: Publisher 消息生产者,发布消息。 Exchange交换机,用来接收生产者发送的消息并将这些消息路由给服务器中的队列。 Binding 绑定消息队列和交换机。 Queue 消息队列,用来保存消息直到发送给消费者。它是消息的容器,也是消息的终点。一个消息可投入一个或多个队列。消息一直在队列里面,等待消费者连接到这个队列将其取走。 Co...
2020-06-21 17:10:45
79
原创 IDEA生成代码覆盖率测试报告
首先执行单元测试Run "测试内容" with Coverage, 如下图执行完成后,会在IDEA生成覆盖率数据,如下图在上图左侧功能栏图标可以导出单元报告到指定目录。如下图是生成导出的单元报告
2020-06-16 23:38:33
3456
原创 Surefire生成单元测试通过率报告
首先,pom文件引入surefire插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> <includes> <include>**
2020-06-16 23:14:26
760
原创 自定义注解结合AOE打印API信息
本文参考:https://mp.weixin.qq.com/s/JThls6pYtWoQYjac_chSUQ。欢迎大家移步看原文,更加的全面。本文只在切点前记录log。首先加入依赖包: <dependency> <groupId>org.springframework.boot</groupId> ...
2020-01-17 10:31:55
301
原创 Git常用命令
git branch: 查看本地分支git branch -a: 查看所有分支git checkout: 切换分支git checkout -b <分支名> origin/<分支名>:创建并切换分支,设置upstream与远程分支关联git clone <url>: copy远程项目git push: 推送到远程git push -...
2019-10-25 10:35:01
92
原创 Linux 常用命令
本文用于记录用到的Linux命令。如有描述不准确,还请指出校正。ln -s <源文件> <快捷文件>: 创建源文件快捷方式。crontab -e: 打开crontab命令(vim编辑器)。vi <文件名>:文本编辑器打开文件, i:切入编辑模式; ctrl f:向下翻页; ctrl b:...
2019-10-12 14:17:31
104
原创 removeAbandoned功能配置
<!-- 打开removeAbandoned功能 --><property name="removeAbandoned" value="true" /><!-- 1800秒,也就是30分钟 --><property name="removeAbandonedTimeout" value="900" /><!-- 关闭abanded连接...
2019-10-08 18:08:38
4701
SSM中,加入spring-webmvc报错
2016-09-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人