自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 matery主题的代码块问题解决

一、 问题描述Hexo的matery主题中的代码块出现代码大小不一,代码键复制,无法高亮等BUG。二、 问题解决大部分采取http://luckyzmj.cn/posts/1b9a9e28.html该博客的方法,但出现了2个BUG一键复制的图标不显示和代码块中的{}不解析本文解决了两个问题1. 安装代码块插件npm i -S hexo-prism-plugin2. 配置Hexo根目录的.config.yml注意是Hexo的根目录,不是主题目录highlight: enable: f

2020-12-24 12:26:13 2396 8

原创 RabbitMQ高级特性

一、消息的投递可靠性在使用RabbitMQ时,应杜绝消息任何消息的丢失或投递失败的场景。RabiitMQ提供2种方式控制消息的投递可靠性模式:confirm 确认模式return 退回模式RabbitMQ的整个消息的投递路径:producer --> rabbitmq broker --> exchange --> queue --> consumer消息从producer --> exchange 会返回一个 confirmcallback消息从 ex

2020-11-23 19:16:09 194

原创 Spring、SpringBoot整合RabbitMQ

一、Spring整合RabbitMQ1、创建生产者工程(1)依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.7.RELEASE</version></dependency><dependency>

2020-11-21 15:38:21 133

原创 RabbitMQ工作模式

模式简介这里简单介绍下六种工作模式(最后一种省略)的主要特点:简单模式:一个生产者,一个消费者work模式:一个生产者,多个消费者,每个消费者获取到的消息唯一。订阅模式:一个生产者发送的消息会被多个消费者获取。路由模式:发送消息到交换机并且要指定路由key ,消费者将队列绑定到交换机时需要指定路由keytopic模式:将路由键和某模式进行匹配,此时队列需要绑定在一个模式上,“#”匹配一个词或多个词,“*”只匹配一个词。抽取创建connection的工具类public class Connec

2020-11-21 11:13:25 202

原创 RabbitMQ基础知识笔记

一、消息中间件概述1.1 什么是消息中间件MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。为什么使用MQ在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。开发中消息队列通常有如下应用场景:1、任务异步处理将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。2、应用程序解耦合MQ相当于一个中介,生产方通过MQ与消

2020-11-21 10:30:16 97 1

原创 Spring Boot应用(整合其他工具和框架)

一、Lombok我们编写pojo时,经常需要编写构造函数和getter、setter方法,属性多的时候,就非常浪费时间,使用lombok插件可以解决这个问题:在IDEA中安装lombok插件;不安装插件在IDEA中使用lombok的注解虽然编译能通过,但是源码会报错。所以为了让IDEA更好的辨别lombok注解则才安装插件。需在pom.xml文件中引入依赖<dependency> <groupId>org.projectlombok</groupId> &lt

2020-11-16 10:50:22 255

原创 SpringBoot入门级笔记

一、Spring Boot项目的创建1、创建Maven工程(需指定父工程坐标) Spring Boot提供了一个名为spring-boot-starter-parent的工程,里面已经对各种常用依赖(并非全部)的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引入坐标即可!<!--父工程坐标--><parent> <groupId>org.springframework.boot</grou

2020-11-15 20:31:59 118

原创 六、高级排序---快速排序

一、排序原理1.首先设定一个分界值,通过该分界值将数组分成左右两部分;2.将大于或等于分界值的数据放到到数组右边,小于分界值的数据放到数组的左边。此时左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值;3.然后,左边和右边的数据可以独立排序。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。右侧的数组数据也可以做类似处理。4.重复上述过程,可以看出,这是一个递归定义。通过递归将左侧部分排好序后,再递归排好右侧部分的顺序。当

2020-11-01 16:13:15 164 1

原创 五、高级排序---归并排序

一、 排序原理尽可能的一组数据拆分成两个元素相等的子组,并对每一个子组继续拆分,直到拆分后的每个子组的元素个数是1为止。将相邻的两个子组进行合并成一个有序的大组;不断的重复步骤2,直到最终只有一个组为止。1. 运用分治思想2. 排序二、代码实现public class Merge { //归并所需要的辅助数组 private static Comparable[] assist; /* 比较v元素是否小于w元素 */ privat

2020-10-31 19:21:18 67

原创 Git学习笔记

一、Git简介Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:本地仓库和远程仓库本地仓库:是在开发人员自己电脑上的Git仓库远程仓库:是在远程服务器上的Git仓库Clone:克隆,就是将远程仓库复制到本地Push:推送,就是将本地仓库代码上传到远程仓库Pull:拉取,就是将远程仓库代码下载到本地仓库二、Git工作流程工作流程如下:1.从远程仓库中克隆代码到本地仓库2.从本地仓库中checkout代

2020-10-30 21:04:44 443

原创 四、高级排序---希尔排序(Shell Sort)

1. 引言基础排序,包括冒泡排序,选择排序还有插入排序,并且对他们在最坏情况下的时间复杂度做了分析,发现都是O(N^2),而平方阶通过我们之前学习算法分析我们知道,随着输入规模的增大,时间成本将急剧上升,所以这些基本排序方法不能处理更大规模的问题,接下来我们学习一些高级的排序算法,争取降低算法的时间复杂度最高阶次幂。希尔排序是插入排序的一种,又称“缩小增量排序”,是插入排序算法的一种更高效的改进版本。插入排序缺点:如果已排序的分组元素为{2,5,7,9,10},未排序的分组元素为{1,8}

2020-10-30 10:36:28 121

原创 三、简单排序---插入排序(Insertion Sort)

1. 排序思路把所有的元素分为两组,已经排序的和未排序的;找到未排序的组中的第一个元素,向已经排序的组中进行插入;倒叙遍历已经排序的元素,依次和待插入的元素进行比较,直到找到一个元素小于等于待插入元素,那么就把待插入元素放到这个位置,其他的元素向后移动一位;2. 代码实现public class Insertion { /* 对数组a中的元素进行排序 */ public static void sort(Comparable[] a){

2020-10-29 10:49:25 138

原创 二、简单排序---选择排序(Selection Sort)

1. 排序思路每一次遍历的过程中,都假定第一个索引处的元素是最小值,和其他索引处的值依次进行比较,如果当前索引处的值大于其他某个索引处的值,则假定其他某个索引出的值为最小值,最后可以找到最小值所在的索引交换第一个索引处和最小值所在的索引处的值2. 代码实现public class Selection { /* 对数组a中的元素进行排序 */ public static void sort(Comparable[] a){ for(i

2020-10-29 10:43:07 236

原创 Maven学习笔记

一、Maven的基本功能1. Maven简介maven 是一个项目管理工具,主要作用是在项目开发阶段对Java项目进行依赖管理和项目构建。依赖管理:就是对jar包的管理。通过导入maven坐标,就相当于将仓库中的jar包导入了当前项目中。项目构建:通过maven的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。2. Maven的仓库类型本地仓库远程仓库:maven中央仓库(地址:http://repo2.maven.org/maven2/)maven私服(公司局域

2020-10-28 20:44:33 113

原创 一、简单排序---冒泡排序(Bubble Sort)

1.冒泡排序原理比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值。再次从开始到倒数第二个元素比较,确定第二大的值,之后以此类推。2. 代码实现//排序代码public class Bubble { /* 对数组a中的元素进行排序 */ public static void sort(Comparab[] a){ for(int i=a.length-1;i>

2020-10-28 11:10:17 109

原创 SSM项目的创建

一、准备工作1.创建项目文件夹,并用IDE打开2.创建Maven工程 模块 并创建相应的包关于创建maven工程的GroupId和ArtfactIdgroupId定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp.groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织,cn表示域为中国。artifa

2020-10-25 21:51:32 1665

原创 MyBatis(4)---注解

1. MyBatis常用注解Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:实现查询@Result:实现结果集封装@Results:可以与@Result 一起使用,封装多个结果集@One:实现一对一结果集封装@Many:实现一对多结果集封装2. 加载使用注解的Mapper接口修改MyBatis的核心配置文件,我们使用了注解替代的映射文件,所以我们只需要加载使用了注解的Ma

2020-10-25 16:03:17 155

原创 MyBatis(3)---多表操作

1.一对一查询例子:用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户1.1 一对一查询语句select * from orders o,user u where o.uid=u.id;1.2 创建Order和User实体//省略getter和setterpublic class Order { private int id; private Date ordertime; pr

2020-10-25 10:58:45 103

原创 MyBatis(2)---Dao层的实现

1.MyBatis的Dao层实现1.1 传统方式编写UserDao接口public interface UserDao { List<User> findAll() throws IOException;}编写UserDaoImpl实现public class UserDaoImpl implements UserDao { public List<User> findAll() throws IOException { Inpu

2020-10-24 10:27:34 83

原创 MyBatis(1)--基本的CRUD

1.MyBatis简介1.1 简介mybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。1.2 MyBatis相比原始JDBC的优点使用数据库连接池初始化连接资源将sql语句抽取到xml配置文件中使用反射、内省等底层技术,自动将实体与表进行属性和字段的自动映射2.MyBatis的开发步骤添加MyBatis的坐标创建user数据表编写User实体类编

2020-10-22 21:50:56 113

原创 SpringMVC笔记(2)--数据的请求和响应

1.SpringMVC的数据响应方式页面跳转直接返回字符串通过ModelAndView对象返回回写数据直接返回字符串返回对象或集合1.1 页面跳转-返回字符串形式@RequestMapping("/quick")public String quickMethod(){ return "/index";}<!--配置内部资源视图解析器--><property name="prefix" value="/WEB-INF/views" /> <!--

2020-10-21 11:25:25 96

原创 SpringMVC笔记(5)---异常处理机制

1. 异常处理方式系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。使用SpringMVC提供的简单异常处理器SimpleMappingExceptionResolver实现Spring的异常处理接口HandlerExceptionResolver自定义的异常处理器2. 简单异常处理器SimpleMappingExceptionResolver该类型转换器是SpringMVC已

2020-10-19 21:23:19 204

原创 SpringMVC笔记(4)---拦截器Interceptor

1.SpringMVC拦截器概念Spring MVC 的拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。将拦截器按一定的顺序联结成一条链,这条链称为拦截器链(InterceptorChain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。拦截器也是AOP思想的具体实现。2.SpringMVC拦截器(Interceptor)和filter区别区别过滤器拦截器使用范围任何Java Web工程只有使用了

2020-10-19 20:54:25 57

原创 SpringMVC笔记(3)---文件的上传方式

1.SpringMVC的请求-文件上传-客户端表单实现(应用)文件上传客户端表单需要满足:表单项:type = “file”表单的提交方式是post表单的enctype属性是多部分表单形式,及enctype = “multipart/form-data”<form action="${pageContext.request.contextPath}/user/quick" method="post" enctype="multipart/form-data"> 名称

2020-10-19 16:31:08 84

原创 SpringMVC笔记(1)--基本使用和解析

1.Spring与Web环境集成1.1 ApplicationContext应用上下文获取方式ApplicationContext app = new ClasspathXmlApplicationContext(Spring配置文件);问题:但是每次从容器获取Bean时都要编写,导致配置文件被加载多次,ApplicationContext对象被创建多次。解决方式:Web项目中,可用ServletContextListener监听Web应用的启动,我们可以在Web应用启动时,就加载Spring配置

2020-10-06 22:34:50 98

原创 Spring笔记(4)--整合Junit

1.原始Junit测试Spring的问题在测试类中.每个测试方法都有以下代码: ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); IAccountService as = ac.getBean("accountService",IAccountService.class);这两行代码的作用是获取容器,如果不写的话,直接会提示空指针异常。所以又不能轻易删掉。上述问题的解决方法:让SpringJunit负责

2020-09-30 11:18:57 121

原创 Spring笔记(3)--注解开发

1. Spring原始注解Spring原始注解主要是替代的配置注解说明@Component使用在类上用于实例化Bean@Controller使用在web层类上用于实例化Bean@Service使用在service层类上用于实例化Bean@Repository使用在dao层类上用于实例化Bean@Autowired使用在字段上用于根据类型依赖注入@Qualifier结合@Autowired一起使用用于根据名称进行依赖注入@Resource

2020-09-30 10:45:46 98

原创 Spring笔记(2)--配置数据源

1. Spring配置数据源1.1 开发步骤导入数据源的坐标和数据库的驱动坐标创建数据源对象设置数据源的基本连接数据使用数据源获取连接和归还连接1.2 手动创建数据源导入c3p0和Druid和mysql数据库驱动的坐标<!-- C3P0连接池 --><dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> &lt

2020-09-29 10:53:45 73

原创 Spring笔记(1)--<Bean>标签的基本配置

1.Spring入门实现步骤:导入Spring开发的基本坐标创建Spring核心配置文件:applicationContext.xml在配置文件中进行配置创建ApplicationContext对象getBean1.1导入Spring基本坐标<properties> <spring.version>5.0.5.RELEASE</spring.version></properties><!--导入spring的context坐标,c

2020-09-28 23:33:33 365

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除