自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 博客文章分类汇总

SpringBoot系列SpringBoot系列:RabbitMq讲解与示例SpringCloud系列SpringCloud系列:1.认识SpringCloudSpringCloud系列:2.Spring Boot项目搭建SpringCloud系列:3.服务的注册与发现EurekaSpringCloud系列:4.负载均衡Ribbon及断路器HystrixSpringCloud系列:5...

2019-06-09 11:06:44 866

原创 LinkedList实现原理(JDK1.8)

LinkedList实现原理(JDK1.8)LinkedList底层采用双向链表,如果对链表这种结构比较熟悉的话,那LinkedList的实现原理看明白就相当容易。链表通过“指针”将一组零散的内存块串联起来使用,每一个元素(节点)通过指针指向它的下一个元素,最后一个节点的下一个指向为null,而双向链表就是除头节点的每一个元素都有指针同时再指向它的上一个元素。链表不同于数组,由于其地址的不连...

2019-12-03 23:46:32 1076

原创 ArrayList实现原理(JDK1.8)

ArrayList实现原理(JDK1.8)public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableArrayList 继承于AbstractList,实现了List...

2019-11-30 19:14:11 1076 1

原创 Collection集合讲解

java集合讲解1.概述集合类的顶级接口是Iterable,Collection继承了Iterable接口常用的集合主要有 3 类,Set,List,Queue,他们都是接口,都继于CollectionSet下的实现类有HashSet,LinkedHashSet,TreeSet等List下的实现类主要有ArrayList,Vector,LinkedListQueue基本上是一个先...

2019-11-30 16:25:31 1138

原创 Redis基础知识汇总

Redis基础知识汇总1.什么是RedisRedis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value的非关系型数据库,并提供多种语言的API。Redis是远程的Redis是基于内存的Redis是非关系型数据库2.Redis的安装2.1.Window安装Redis选择需要版本下载安装包官网下载地址 : http://...

2019-11-27 21:59:58 1007

原创 MySQL系列:MySQL的基本使用

数据库的基本操作在MySQL数据库中,对于一个MySQL示例,是可以包含多个数据库的。在连接MySQL后,我们可以通过 show databases; 来进行查看有那么数据库。这里已经存在一些库了,其中informationschema、auth、mysql、performanceschema这几个库时是MySQL内置的(不同版本略有差异)。那如何新建自己的数据库呢?使用CREATE DA...

2019-11-16 22:14:31 457

原创 MySQL系列:一句SQL,MySQL是怎么工作的?

对于MySQL而言,其实分为客户端与服务端。服务端,就是MySQL应用,当我们使用net start mysql命令启动的服务,其实就是启动了MySQL的服务端。客户端,负责发送请求到服务端并从服务端获取数据,客户端可以有多种形式,可以是我们通过mysql -uroot -p1234打开的黑窗口,也可以是我们使用的Nativecat、SQLyog等数据库连接工具,甚至我们的程序,也可以称作M...

2019-11-14 22:55:02 481

原创 MySQL系列:走进数据库,相关概念你都明白吗?

数据库,一个我们常常提到的名词,但是你有没有想过,它到底是什么意思呢,而我们常说的 MySQL、Oracle 等又到底指什么呢?数据库数据库(DataBase),简称 DB,是数据库是存储数据的集合,你可以把它理解为多个数据表。数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。数据库是以一定方式储存在一起、能与多个用户共...

2019-11-13 23:39:14 1013

原创 MySQL系列:Windows 下 MySQL 8.X 的安装

之前一直使用的是MySQL5.7,但由于MySQL增加了一些新特性,所以选择了更新。下载MySQL进入MySQL官网下载地址,选择Windows (x86, 64-bit), ZIP Archive。下载地址:可不用登录,直接跳过。下载过程也许有丢丢慢,耐心等待下。下载完成后,直接解压到自己喜欢的位置即可。卸载原有版本如果之前有安装低版本的MySQL,需要先卸载之前的MySQL。...

2019-11-13 23:37:38 975

原创 SpringBoot系列:Spring Boot集成定时任务Quartz

一、关于QuartzQuartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。在java企业级应用中,Quartz是使用最广泛的定时调度框架。在Quartz中的主要概念:Scheduler:调度任务的主要APIScheduleBuilder:用于构建Scheduler,例如其简单实现类Simpl...

2019-11-09 23:02:19 1426

原创 SpringBoot系列:Spring Boot定时任务Spring Schedule

Spring Schedule是Spring提供的定时任务框架,相较于Quartz,Schedule更加简单易用,在中小型应用中,对于大部分需求,Schedule都可以胜任。一、Spring Schedule使用演示在SpringBoot使用Spring Schedule非常简单,因为SpringBoot自身的starter中已经集成了Schedule,而不需要我们做更多的处理。使用@Ena...

2019-11-09 15:35:46 1147

原创 SpringBoot系列:Spring Boot异步调用@Async

在实际开发中,有时候为了及时处理请求和进行响应,我们可能会多任务同时执行,或者先处理主任务,也就是异步调用,异步调用的实现有很多,例如多线程、定时任务、消息队列等,这一章节,我们就来讲讲@Async异步方法调用。一、@Async使用演示@Async是Spring内置注解,用来处理异步任务,在SpringBoot中同样适用,且在SpringBoot项目中,除了boot本身的starter外,不...

2019-11-06 22:18:22 1237

原创 SpringBoot系列:Spring Boot集成Spring Cache,使用RedisCache

前面的章节,讲解了[Spring Boot集成Spring Cache](https://blog.csdn.net/Simple_Yangger/article/details/102693316),Spring Cache已经完成了多种Cache的实现,包括EhCache、RedisCache、ConcurrentMapCache等。这一节我们来看看Spring Cache使用RedisCa...

2019-10-23 22:36:54 1093

原创 SpringBoot系列:Spring Boot集成Spring Cache,使用EhCache

前面的章节,讲解了[Spring Boot集成Spring Cache](https://blog.csdn.net/Simple_Yangger/article/details/102693316),Spring Cache已经完成了多种Cache的实现,包括EhCache、RedisCache、ConcurrentMapCache等。这一节我们来看看Spring Cache使用EhCache...

2019-10-23 22:35:22 1212

原创 SpringBoot系列:Spring Boot集成Spring Cache

一、关于Spring Cache缓存在现在的应用中越来越重要,Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术,并支持使用JCache(JSR-107)注解简化我们开发。通过SpringCache,可以快速嵌入自己的Cache实现,主要是@Cache...

2019-10-23 00:00:50 1691

原创 SpringBoot系列:Spring Boot使用模板引擎JSP

一、Java模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。在java中,主要的模板引擎有JSP、Thymeleaf、FreeMarker、Velocity等。虽然随着前后端分离的崛起和流行,模板引擎已遭受到冷落,但不少旧项目依然使用java的模板引擎渲染界面,而偶...

2019-10-13 18:55:10 680

原创 SpringBoot系列:Spring Boot使用模板引擎Thymeleaf

一、Java模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。在java中,主要的模板引擎有JSP、Thymeleaf、FreeMarker、Velocity等。虽然随着前后端分离的崛起和流行,模板引擎已遭受到冷落,但不少旧项目依然使用java的模板引擎渲染界面,而偶...

2019-10-13 18:53:27 739

原创 SpringBoot系列:Spring Boot使用模板引擎FreeMarker

一、Java模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。在java中,主要的模板引擎有JSP、Thymeleaf、FreeMarker、Velocity等。虽然随着前后端分离的崛起和流行,模板引擎已遭受到冷落,但不少旧项目依然使用java的模板引擎渲染界面,而偶...

2019-10-13 18:51:52 1289

原创 markdown+七牛云,让写文更容易

常常写博文的人, 总有这样的烦恼:文章格式问题,各种文本编辑器格式不统一,在一处写好的文章复制到其他编辑器中格式错乱图片问题,在不同的平台的图片需要重复上传,如果多平台发布很繁琐由于这样的问题,常常在发博文的时候需要耗费大量的时间。所以到底该怎么快速写博文呢?在一段时间的摸索后,我终于找到了markdown 七牛云的省心方式,而这个过程还颇不容易,故此记录分享。需要工具任...

2019-10-09 23:53:10 1184

原创 SpringBoot系列:Spring Boot多数据源,Mybatis动态数据源方式

一、Mybatis配置多数据源前面讲了Mybatis配置多数据源配置的包路径分库方式——SpringBoot系列:Spring Boot多数据源,Mybatis方式,这种方式实现多数据源,以包区分,清晰明了,但是很多时候会造成很多代码冗余,比如举例中的userDao,而且新增包需要去修改配置文件。实际中一般并不采用这种方式,而是使用aop,这次就来讲解aop实现动态多数据源。aop实现多数据源...

2019-09-17 20:55:54 468

原创 SpringBoot系列:Spring Boot多数据源,Mybatis方式

一、Mybatis配置多数据源mybatis可谓是国内最火的ORM框架了,mybatis的多数据源当然在实际使用中也必不可少。mybatis多数据源一般有两种方式,一种是基于不同的包使用不同的数据源,这个类似于JPA配置多数据源,另一种则是注解+aop实现。本章节就来看一看使用不同的包怎么做到多数据源。首先是pom文件,除了SpringBoot的依赖外,主要就是mybatis及数据库的依赖了...

2019-09-15 22:20:12 464

原创 SpringBoot系列:Spring Boot多数据源,JPA方式

一、JPA配置多数据源上一节讲解了jdbcTemplate配置多数据源,但其实实际中使用jdbcTemplate的情况还是比较少的,这一节我们来看看JPA的数据源怎么配置。该章节是在JPA的使用基础上讲解的,并不会过多讲解JPA的使用,如果不熟悉JPA的使用的话,可以看看之前的JPA讲解:Spring Boot集成Spring Data JPA。首先是依赖,除了JPA及数据库的相关依赖外,多...

2019-09-15 15:21:30 445

原创 SpringBoot系列:Spring Boot多数据源,jdbcTemplate方式

一、jdbcTemplate配置多数据源在实际开发中,因为业务的复杂情况,可能分库或者分表,也可能业务模块的划分使用不同的数据源,或者其他一些特殊要求,导致需要连接多数据源。我们先来看看jdbcTemplate的方式如何使用多数据源。在之前的章节jdbcTemplate示例的基础上(jdbcTemplate集成示例),我们进行调整配置多数据源。<!--mysql连接-->&l...

2019-09-02 23:11:06 1552

原创 SpringBoot系列:Spring Boot集成redis

一、RedisRedis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value的非关系型数据库,并提供多种语言的API。由于Redis实现使用C语言编写,且采用了I/O多路复用,在响应速度与并发支持上都要优于关系型数据库,所以常被用来配合关系型数据库做高速缓存、共享Session、分布式锁、消息系统等。Redis的重要性不言而喻,无论是其对于系统,还...

2019-08-28 23:34:33 426

原创 SpringBoot系列:事务管理器Transactional

一、事务事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)...

2019-08-27 23:25:17 1190

原创 SpringBoot系列:Spring Boot集成MyBatis,xml配置文件方式

一、关于MyBatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis ...

2019-07-21 09:26:55 555

原创 SpringBoot系列:Spring Boot集成MyBatis,基于注解sql方式

一、关于MyBatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis ...

2019-07-21 00:42:23 1043

原创 SpringBoot系列:Spring Boot集成Spring Data JPA

一、什么是JPAJPA全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。他为我们提供了ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。同时,JPA 的API,用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发...

2019-07-20 20:19:21 351

原创 SpringBoot系列:Spring Boot集成jdbcTemplate

当我们需要连接使用数据库时,我们需要建立数据库连接,数据库连接是一项高额的开销,频繁的创建与销毁会造成巨大的性能问题,因而诞生了数据库连接池技术。主流的ORM框架都配备了连接池,如hibernate,mybatis等,jdbcTemplate也是其中一种,它是Spring对数据库的操作在jdbc上面做了深层次的封装,更加轻量级,但相应地在编码上也较繁琐点。一、示例演示在SringBoot中,...

2019-07-17 21:51:58 971

原创 SpringBoot系列:Spring Boot使用lombok

lombok是一款Java实用工具,可用来帮助开发人员消除Java的冗长,方便我们快速开发。关于lombok的简单使用,可以查看博客文章:https://blog.csdn.net/Simple_Yangger/article/details/90343095,更多详细使用,可以访问官网:https://www.projectlombok.org/其实,lombok只是一个简化代码的工具,...

2019-07-09 21:56:13 345

原创 SpringBoot系列:Spring Boot热部署,集成devtools

工欲善其事,必先利其器,好的编码环境能让我们事半功倍。熟悉前端的可能都知道热部署,如Vue、AngularJS等保存便自动编译,无需重启的酣畅淋漓,羡煞不已。其实完全用不着羡慕,在Spring Boot里,一切皆有可能,今天,热部署,他来了。一、Spring Boot DevToolsSpring Boot DevTools使用了两个ClassLoader,一个Classloader加...

2019-07-08 22:16:09 901

原创 SpringBoot系列:Spring Boot集成Swagger2

Swagger2Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。随着前后端分离越来越流行,但同时前后端开发的成本也增加了,撰写和维护接口文档会耗费开发人员很大一部分精力,而Swagger的出现恰好解决了这个问题,极大的提升了团队开发的沟通效率,同时也方便开发人员进行接口开发自测。Spring Boot集成Swagger2首先...

2019-06-24 23:58:21 8714 1

原创 SpringBoot系列:Spring Boot配置文件与常用注解

一、配置文件Spring Boot遵循约定大于配置的惯例,旨在简化开发,它默认集成了很多配置项,我们基本不需要做太多的配置就可以正常运行。如需覆盖原有属性,或者完善一些设定,我们需要自行进行配置。Spring Boot使用一个全局的配置文件,配置文件名是固定的application,文件格式支持yml或者properties,也即配置文件为application.yml或者pplicati...

2019-06-10 23:30:38 712

原创 SpringBoot系列:快速开始Spring Boot

也许你现在用着SSH或者SSM框架,而且得心应手,但你确实应该尝试一下Spring Boot,感受Spring Boot带来的快捷开发。学习一项新技术迈出脚步很难,但一旦开始,你就会感觉格外简单,因为Spring Boot就是这么简单。一、Spring BootSpring Boot是当下炙手可热的框架,他通过提供一系列以spring-boot-starter开头的启动器帮助我们简化项目的...

2019-06-09 21:47:11 872

原创 SpringCloud系列:14.微服务管理和监控系统Spring Boot Admin

一、Spring Boot AdminSpring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件,项目github地:https://github.com/codecentric/spring-boot-admin。Spring Boot Admin 是一个针对spring-boot的actuator接口进行UI美化封装的监控工具,UI部分使用Angul...

2019-06-09 12:33:55 1123

原创 SpringCloud系列:13.微服务断路器聚合监控系统Hystrix Turbine

一、Hystrix Turbine在上一章节中,我们讲解了微服务断路器监控系统Hystrix Dashboard,但是Dashboard仅仅针对于单个服务,而在Spring Cloud微服务体系中,存在着各种各样的服务,一个一个去监控显然不现实,而Hystrix Turbine恰恰解决了这个难题。Hystrix Turbine可以说是Hystrix Dashboard的聚合版,使用上与Da...

2019-06-04 22:53:59 358

原创 SpringCloud系列:12.微服务断路器监控系统Hystrix Dashboard

一、Hystrix Dashboard前面的章节我们已经讲解过Hystrix的集成了,它可以帮我们实现服务的熔断,使得服务在异常状态下启用回退方法(fallbackMethod)。Hystrix使用:https://blog.csdn.net/Simple_Yangger/article/details/87909896而Hystrix Dashboard,它主要用来实时监控Hystr...

2019-05-30 00:33:32 354

原创 SpringCloud系列:11.高可用注册中心Eurake

高可用,即High Availability(HA),也就是经常说服务器可用为4个9(99.99%)或5个9(99.999%)。在Spring Cloud体系中,生产部署时通常各个服务都是高可用的,只需要将同一服务部署在多台机器上(也可以同一机器部署多个使用不同端口,但一般不会这么做),然后注册到Eurake上即可,Eurake + Ribbon就自动帮我们解决了高可用,前面章节已经做过此类演...

2019-05-19 23:46:02 972

原创 lombok插件

lombok是一款Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO)。在实际开发中,是不是发现经常需要变更model类、vo类、dto等一些实体类,随便编码工具Eclipse或者idea等都可以一键重新生成getter或setter方法,但是做起来依然很繁琐。有没有更好更优雅的解决方法呢,lombok就是答案。lombok采用注解的方式,消除代...

2019-05-19 15:30:13 742

原创 SpringCloud系列:10.Spring Cloud Sleuth与Spring Cloud Bus冲突问题

在Spring Cloud Sleuth集成时,发现与Spring Cloud Bus存在冲突,这在上一章实例中已经说明及解决,这里任然单独列出,方便问题搜索,万一存在同样问题的小伙伴呢。一、问题描述项目已使用Spring Cloud Bus动态刷新Config配置文件,Bus使用的是RabbitMq,依赖jar为spring-cloud-starter-bus-amqp。然后引入组件...

2019-05-15 23:54:33 650

空空如也

空空如也

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

TA关注的人

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