自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

手写ArrayList

手写ArrayList

  • 博客(19)
  • 收藏
  • 关注

原创 RabbitMQ之交换器和队列

    交换器和队列是MQ中high-level层面的构建模块,应用程序需确保在使用它们的时候就已经存在了,在使用之前需要先声明它们。以下源码是基于spring-amqp-1.7.7.RELEASE.jar的源码分析交换机源码分析:public abstract class AbstractExchange extends AbstractDecla...

2019-07-29 17:21:06 467

原创 Spring Cloud之Eureka Server启动流程分析

启动流程分析图如下:Eureka Server启动类:/** 1. 启动一个服务注册中心,只需要一个注解@EnableEurekaServer */@EnableEurekaServer@SpringBootApplicationpublic class EurekaServerApplication { public static void main(String[] ...

2019-07-28 18:27:19 441

原创 SpringBoot之ApplicationRunner

我们在开发中可能会需要在容器启动的时候执行一些内容。比如读取配置文件,加载路由信息,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。这两个接口分别为CommandLineRunner和ApplicationRunner。他们的执行时机为容器启动完成的时候。ApplicationRunner源码如下:@FunctionalInterfacepublic int...

2019-07-24 11:57:44 260

原创 @RequestBody请求使用postman调用

@RequestBody的传参格式:@RequestMapping(value = "query.do", method = { RequestMethod.POST }) public JsonHeaderWrapper<Object> query(HttpServletRequest request,@RequestBody OpenApiReqVO<Map<Str...

2019-07-23 19:13:38 5531

原创 spring cloud gateway之限流

Spring Cloud Gateway限流概述在开发高并发系统时可以用三把利器来保护系统:缓存,降级和限流。缓存:提升系统访问速度和增大系统处理的容量,是提高并发流量的”银弹“;降级:当服务出现问题或者影响到核心流程时,需要暂时将其屏蔽掉,待高峰过去之后或者问题解决后再打开;限流:通过对并发访问、请求进行限速或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务,...

2019-07-21 17:16:01 213

原创 数据库索引

数据库索引失效的情况like “%_" 百分号在前;字符型字段为数字时在where条件里不添加引号;在索引列上使用函数,如substr,decode,instr等,或对索引列进行运算;B-tree索引is null不会走索引,is not null会走索引;位图索引is null, is not null 都会走索引;联合索引is not null 只要在建立的索引列(不分先后)都会走...

2019-07-16 15:47:15 267

原创 创建一个存储过程

创建一个存储器://删除已存在的drop procedure if exists create_data;//分隔符delimiter ;;create PROCEDURE create_data()BEGINdeclare i int DEFAULT 1;while i<1000doinsert into test.t_student ( name, subject,...

2019-07-16 12:12:59 2254

原创 线程的基础知识(五)之线程通信

传统的线程通信当线程在系统内运行时,线程的调度具有一定的透明性,程序通常无法准确控制线程的轮换执行,单Java也提供了一些机制来保证线程协调运行。为了实现这一机制,可以借助Object类提供的wait(),notify()和notifyAll()三个方法:wait() :导致当前线程等待,直到其他线程调用该同步监视器的notify()方法或notifyAll()方法来唤醒该线程。调用wait...

2019-07-13 18:16:05 124

原创 mysql左连接中on and和on where的区别

on and是进行韦恩运算时 连接时就做的动作select * from a left join b on a.sid=b.sid and a.sid=1; 等价于:select * from a left join b on (a.sid=b.sid and a.sid=1);where是全部连接完后,再根据条件过滤select * from a left join b on a...

2019-07-13 16:42:54 265

原创 线程的基础知识(四)

本博客整理来源于《疯狂java讲义》。线程同步因为run()方法的方法体不具有同步安全性,为了解决这个问题,Java的多线程引入了同步监视器来解决这个问题,使用同步监视器的通用方法就是同步代码块。格式如下:synchronized (obj) { ... //同步代码块}任何时刻只有一个线程可以获得对同步监视器的锁定,当同步代码块执行完毕后,该线程会释放对该同步监...

2019-07-13 14:11:04 76

原创 线程的基础知识(三)

Join线程Thread提供了让一个线程等待另一个线程完成的方法:join()方法代码演示:package com.dalingjia.thead;public class JoinThread extends Thread{ public JoinThread(String name) { super(name); } public void run(){ for (...

2019-07-11 01:55:55 126

原创 线程的基础知识(二)

线程的生命周期当线程被创建并启动以后,它既不是一启动就进入执行状态,也不是一直处于执行状态,在线程的生命周期中,他要经过新建(new),就绪(Runnable),运行(Running),阻塞(Blocked),死亡(Dead)5种状态。尤其是当线程启动以后,他不可能一直占有CPU独自云溪,所以CPU需要在多个线程之间切换,于是线程状态也会多次在运行,就绪之间切换。新建状态和就绪状态:当程序...

2019-07-11 00:32:19 111

原创 Mac IntellJ IDEA安装路径查找以及修改内存大小,解决卡顿

Mac IntellJ IDEA安装路径查找

2019-07-10 10:35:34 35209

原创 线程的基础知识(一)

线程概述:几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序;每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。也可以说每一个请求就是一个线程。线程的创建和启动:...

2019-07-08 18:42:24 129

原创 多线程之ThreadLocal类

ThreadLocal类ThreadLocal,是Thread Local Variable(线程局部变量)的意思。线程局部变量(ThreadLocal)的功能其实非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量一样。使用ThreadLocal工具类可以很简洁地隔离多...

2019-07-08 16:25:48 566

原创 多线程之线程池

vs

2019-07-07 18:27:49 220

原创 Comparable和Comparator的区别

Comparable和Comparator都是用于比较数据大小的,Comparable位于java.lang包下,实现该接口需要重写compareTo方法;Comparator位于java.util包下,实现该接口需要重写compare方法。Comparable接口只有一个方法:public int compareTo(T o);调用此方法的对象,也就是this和o进行比较,若返回值大于0...

2019-07-07 01:49:19 119

原创 SpringCloud Gateway的工作原理

Spring Cloud Gateway的工作原理Spring Cloud Gateway 的核心处理流程如下图,Gateway的客户端回向Spring Cloud Gateway发起请求,请求首先会被HttpWebHandlerAdapter进行提取组装成网关的上下文,然后网关的上下文会传递到DispatcherHandler。DispatcherHandler是所有请求的分发处理器,Disp...

2019-07-03 21:19:20 28893 2

原创 JetCache快速入门小案例

本文是基于SpringBoot的小案例,废话不多说,直接上代码:pom依赖:<dependency> <groupId>com.alicp.jetcache</groupId> <artifactId>jetcache-starter-redis</artifactId> <version>2.5.12&...

2019-07-03 18:41:03 1503

空空如也

空空如也

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

TA关注的人

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