自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 SpringBoot使用Redis实现消息订阅

Redis不仅仅是一个优秀的非关系型缓存数据库,更是内置了一套消息机制。

2020-03-31 11:50:34 1013

原创 IDEA使用Spring Initializr创建Spring项目

IDEA使用Spring Initializr创建Spring项目

2020-03-31 09:22:52 7602 8

原创 Java异常try{}catch{}中的return机制

Java异常try{}catch{}中的return机制

2020-03-27 22:01:30 12912 8

原创 面试系列07

1、请问下面代码的执行结果是?2、下面代码的输出结果为?3、请问下面的代码是否能够正常编译?4、请简述一下Applet生命周期?5、请编写一条SQL语句,从user表中获取name为Bod和Mike的用户的所有信息。6、程序编写,判断字符串是否为回文?7、请问下面代码的输出结果,为什么?8、下面代码的结果是什么,为什么?

2020-03-25 19:59:42 166

原创 Thymeleaf静态化页面

在生产环境中,业务复杂多变,我们需要保证系统要求高可用,高并发。如果系统的某一个页面需要返回大量的数据,而且该页面经常被大量请求访问,那么该页面的数据渲染问题就会变成系统性能的短板,同时大量的请求会对数据库造成极大的压力。这个时候,我们通过后端获取数据,然后响应前端渲染数据的方法就很难解决这个问题。

2020-03-25 12:19:46 296

原创 Thymeleaf静态模板引擎

Thymeleaf是用来开发Web和独立环境项目的现代服务器端Java模板引擎。Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板- HTML。可以在直接浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。

2020-03-24 21:12:46 452

原创 消息队列RabbitMQ之Spring-AMQP

Spring-AMQP是Spring的一个子项目,是对amqp协议的抽象实现。

2020-03-24 16:41:09 351

原创 消息队列RabbitMQ之消息持久化

之前在消息队列RabbitMQ之基本消息模型中曾经谈过RabbitMQ的手动Ack机制,手动Ack机制可以很好的保证消息被正常消费,即使程序发生异常,消息依然可以保存在消息队列中。但是如果是消费者还没有消费数据,但是消息队列发生了宕机,导致消息队列中的消息丢失,那又该怎么办呢?于是就衍生出来了RabbitMQ的持久化机制。

2020-03-24 15:29:42 2642

原创 消息队列RabbitMQ之订阅模型Topic

订阅模型Topic的工作模式基本和Direct相似,不同之处在于,Topic的队列绑定交换机的路由Key可以使用通配符的写法,路由可以通过模糊匹配,发送到符合要求的队列中去。

2020-03-24 11:15:20 1614

原创 消息队列RabbitMQ之订阅模型Direct

订阅模型Direct的消息发送过程,基本和订阅模型Fanout类似,不同的是交换机的发送策略。

2020-03-24 10:51:58 539

原创 消息队列RabbitMQ之订阅模型Fanout

订阅模型区分于基本消息模型和Work队列消息模型,在于订阅模型的生产者并不直接将消息发送到队列中,而是将消息发送到交换机中,然后由交换机选择合适的策略发送到合适的队列中,最后再由消费者接收消息。

2020-03-24 10:18:58 1067

原创 RabbitMQ爆出com.rabbitmq.client.ShutdownSignalException异常及解决办法

异常具体信息如下:Exception in thread "main" java.io.IOException at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:126) at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:122) at com.rab...

2020-03-24 10:15:10 4721

原创 消息队列RabbitMQ之Work队列消息模型

Work队列消息模型,也被称作工作队列消息模型,或者竞争消费模型。

2020-03-24 08:13:57 515

原创 消息队列RabbitMQ之基本消息模型

RabbitMQ的基本消息模型,是RabbitMQ五种消息模型中最为基础的一种,该模型简单直接,容易理解。

2020-03-23 21:31:21 561

原创 消息队列RabbitMQ之五种消息模型

在RabbitMQ的官方教程中,RabbitMQ为我们提供了6中消息模型,不过第6种是RPC(远程调用),不是MQ(消息队列),所以RabbitMQ真正的消息模型只有5种。

2020-03-23 17:07:10 1904

原创 消息队列RabbitMQ之初学者

消息队列,即Message Queue(MQ)。消息队列是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息来进行通信,而无需专用连接来链接它们,消息传递是指程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信。排队是指通过应用程序通过队列来通信,队列的使用除去了接收和发送应用程序同时执行的要求,其中RabbitMQ就是一款较为成熟的MQ产品。

2020-03-23 16:30:42 513

原创 Java自定义异常

在Java中,异常是Java的一个类,所有的异常都是以Java对象的形式存在Java程序中,异常最顶层的类是Exception,Exception和它的所有子类构成了Java的异常体系。

2020-03-23 09:01:43 207

原创 TCP协议的三次握手和四次挥手

TCP是传输控制协议,是一个面向连接的协议,在使用TCP协议收发数据前,必须和对方建立可靠的连接,一个TCP连接必须要经过3次“对话”才能建立起来。

2020-03-22 14:52:09 205

原创 SpringBoot自定义配置

SpringBoot中为用户提供了自定义式配置的解析,我们只需要通过SpringBoot提供的注解,就可以直接将yml或properties配置文件中自定义的属性,以Java面向对象的理解方式解析出来。

2020-03-22 08:35:42 278

原创 使用Spring AOP实现日志记录

AOP是面向切面编程,AOP不是单独指某一种技术,而是一种编程思想,AOP是OOP的补充,用于处理业务逻辑中的横切关注点,比如日志记录,事务控制,性能统计,异常处理等等。AOP的主要功能是将大量的通用行为从业务逻辑中抽取出来,封装成独立的非业务方法,用于横向切入,这些行为不会对已有的业务逻辑代码产生影响。AOP是一种设计思想,而Spring AOP则是符合AOP思想的一种框架实现。

2020-03-20 19:40:04 712

原创 Postman发送POST请求及日期格式的参数

Postman在发送POST请求的时候,所有参数写在Request Body(请求体)中,如果需要的参数类型的日期格式的,只需要将日期格式写为2000/01/01即可,Postman会自动识别为日期格式的数据。

2020-03-20 16:50:41 13367 1

原创 面试系列06

文章目录1、请简述一下SpringBoot?2、请简述一下SpringCloud?3、什么是微服务?4、请简述一下HTTP协议?1、请简述一下SpringBoot?SpringBoot是一个Spring框架的启动器,使用SpringBoot可以快速地搭建一个基于Spring框架的Web项目。SpringBoot不是一个新的框架,而是Spring框架的延续和扩展。SpringBoot使用约...

2020-03-20 10:00:51 122

原创 Redis实现排行榜

Redis作为最为常用的非关系型数据库,具有十分优秀的性能,Redis的多种存储数据结构可以适应各种场景。Redis作为一款缓存数据库,性能优异,使用Redis可以提升服务存取数据的性能。Redis的zset(有序集合)数据结构,天然具备作为排行榜的优势。

2020-03-19 21:40:36 1121 2

原创 Redis实现商品秒杀

Redis是一款非关系数据库,数据存储在内存中,存取数据速度非常快!Redis是单线程的,即使在同一时间有多条命令操作数据库,这些命令依然只能排队等候。

2020-03-19 10:04:14 962

原创 面试系列05——我的SQL为什么这么慢?

SQL执行速度慢的原因分析

2020-03-18 20:24:32 142

原创 面试系列04

文章目录请简述一下Git的分支管理?请简述一下Git的分支管理?

2020-03-18 11:05:05 148

原创 SpringBoot访问静态资源

上一篇博客SpringBoot配置虚拟路径映射访问磁盘中的文件中提供了一种可以访问磁盘中的静态资源的配置方式,只需要简单配置,就可以将访问静态资源的路径映射磁盘中,实现静态资源的访问。具体方式为在application.yml文件中配置如下属性:spring: resources: static-locations: file:G:\temp\images #访问系统外部资源,...

2020-03-17 22:49:02 378

原创 守护线程和用户线程

Java是一门多线程的语言,其中Java的线程中有守护线程的概念,其中最为常见的守护线程就是GC线程。

2020-03-17 11:18:49 140

原创 Redis持久化

Redis安装及常用命令Redis是一个内存数据库,当redis服务器重启,或者电脑重启,数据会丢失,我们可以将redis内存中的数据持久化到硬盘中。Redis持久化机制:RDB:默认方式,不需要进行配置,默认就使用这种机制*在一定的时间间隔中,检测key的变化情况,然后持久化数据。在redis.windows.conf文件save 900 1 :15分钟内有1个key值被改变sav...

2020-03-16 19:49:43 162

原创 SpringBoot+MyBatisPlus

Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus可以自动为我们生成Dao层的简单CRUD操作,同时还内置了基于MyBatis的物理分页功能。

2020-03-16 10:01:50 394

原创 Linux系统安装JDK环境

Linux系统安装JDK环境

2020-03-15 23:28:35 208

原创 JDK8新特性之Stream流

Stream流是JDK8中的一个全新的概念,用于解决已有集合类库既有的弊端。

2020-03-15 13:05:01 259 1

原创 JDK8新特性之函数式接口

有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口是适用于函数式编程的接口,而JDK8中的函数式编程就是Lambda,所以函数式接口就是可以使用于Lambda表达式使用的接口,只有确保接口中只有一个抽象方法,Java中的Lambda才可以顺利进行推导。

2020-03-14 13:53:00 511

原创 MySQL数据库常用SQL

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

2020-03-14 09:20:52 194

原创 Maven本地仓库删除.lastUpdated文件(Java代码实现)

之前写了Maven本地仓库删除.lastUpdated结尾的文件,使用的是cmd命令窗口的方式,没有学习过这种命令的同学可能无法看懂,而这里使用的是Java代码的实现方式。只需要运行下面代码的main方法,就可以递归删除Maven本地仓库下的所有以.lastUpload为后缀的错误文件。运行前记得将常量FILE_PATH修改为自己的Maven本地仓库。public class Delet...

2020-03-13 20:17:28 730 1

原创 面试系列03

文章目录1、HashMap的遍历方法?2、ArrayList和LinkedList的区别?3、ArrayList和LinkedList通过下标查找元素的时间复杂度是多少?4、浅拷贝和深拷贝的区别?5、数据结构中,与所使用的计算机无关的是数据的( )?6、有一张sal表结构数据如图一所示,写出SQL语句将表数据查询为图2所示的结果。1、HashMap的遍历方法?Map<String,Str...

2020-03-13 19:20:25 126

原创 Maven本地仓库删除.lastUpdated结尾的文件

打开cmd命令窗口,进入Maven本地仓库,执行如下命令:第一步:进入本地仓库:cd F:\Maven\repository第二步:执行以下命令:for /r %i in (*.lastUpdated) do del %i...

2020-03-13 13:10:27 1414

原创 Spring AOP的两种实现方式

AOP(Aspect Oriented Programming),面向切面编程,AOP不是单独指某一种技术,而是一种编程思想,AOP是OOP的一种补充,用于处理各个业务逻辑中的横切关注点,比如日志记录,事务处理,性能统计,异常处理等等。AOP的主要功能是将大量的通用行为从业务逻辑中抽取出来,将这些行为封装成独立的非业务方法,用于横向切入,这些行为不会对已有的业务逻辑产生任何影响。AOP是一种设计思想,而Spring AOP则是符合AOP思想的一种框架实现。

2020-03-12 17:25:31 745 1

原创 Linux常用命令

Linux常用命令

2020-03-10 22:32:15 199

原创 面试系列02

文章目录1、SpringBootApplication这个注解包含了哪些注解?2、Spring bean注入有哪几种方式?3、Spring bean的作用范围有哪些?、Linux系统切换用户的命令是?1、SpringBootApplication这个注解包含了哪些注解?@Configuration@EnableAutoConfiguration@ComponentScan2、Sprin...

2020-03-10 20:47:31 117

jdk-8u191-windows-x64.zip

Windows操作系统的JDK安装包,JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

2020-05-29

空空如也

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

TA关注的人

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