自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

疯一样的女子

耐得住寂寞,守得住繁华!

转载 IntelliJ IDEA创建SpringBoot工程

本文介绍了 IntelliJ IDEA (Version 2017.3.3) 创建 Spring Boot 工程的过程。 1 创建新项目,在 IntelliJ IDEA 欢迎界面点击 Create New Project 2 在 New Project 窗口选中 Spring Init...

2020-07-04 10:09:07 61 0

转载 Spring bean Scope作用域及线程安全问题场景分析

Scope作用域 在 Spring IoC 容器中具有以下几种作用域: singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例,适用于无状态bean; prototype:原型模式,每次通过容器的getBean方法获取prototy...

2020-05-24 09:43:49 95 0

转载 Spring Boot之Swagger使用和注释介绍

介绍 什么是Swagger Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。 作用 接口文档在线自动...

2020-05-18 16:12:17 77 0

转载 国内 Java 开发者必备的两个神器:Maven国内镜像和Spring国内脚手架

虽然目前越来越多的国产优秀技术产品走出了国门,但是对于众领域的开发者来说,依然对于国外的各种基础资源依赖还是非常的强。所以,一些网络基本技能一直都是我们需要掌握的,但是速度与稳定性问题一直也都有困扰着大家。 所以,今天就给众 Java 开发者推荐两个提速神器:Maven的国内镜像和Spring的...

2020-05-15 09:22:35 70 0

转载 【IDE工具】IDEA配置一文搞定

目录 一、IDEA好用的插件合集 (1)时序图生成工具SequenceDiagram (2)IDEA自带的postman工具REST client (3)IDEA统计代码行数Statistics (4)代码作色工具:Rainbow Brackets ​ (5)日志工具:Grep Co...

2020-01-09 15:38:01 178 0

转载 9个提升逼格的redis命令

keys 我把这个命令放在第一位,是因为笔者曾经做过的项目,以及一些朋友的项目,都因为使用keys这个命令,导致出现性能毛刺。这个命令的时间复杂度是O(N),而且redis又是单线程执行,在执行keys时即使是时间复杂度只有O(1)例如SET或者GET这种简单命令也会堵塞,从而导致这个时间点性能...

2019-11-28 16:27:40 54 0

转载 redis-cli info命令中各数值含义

redis-cli info命令中各数值含义 # Server redis_version:3.2.0 #redis 版本 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:85def9ed04ebeee4 redis_mode:c...

2019-11-28 15:17:14 50 0

转载 【IDE工具】是时候扔掉Postman了,又一个被低估的IDEA插件出来了

# 前言 接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代码的时间还要多,几乎是每个开发的日常工作项。 所谓工欲善其事必先利其器,在没有尝到IDEA REST真香之前,postman(chrome的一款插件)确实是一个非常不错的选择...

2019-11-22 21:16:36 529 0

转载 [IDE工具]VSCode开发技巧

安装VSCode 最新地址:https://code.visualstudio.com/,下载后安装即可 (1)配置语言环境 打开安装好的VSCode软件,可以看到刚刚安装的VSCode软件默认使用的是英文语言环境,如下图: 使用快捷键【Ctrl+Shift+P】来配置,在弹出...

2019-11-12 13:41:54 52 0

转载 https原理和通信流程

了解HTTPS之前你还需要了解: 加密、证书、签名的原理:https://zhuanlan.zhihu.com/p/50046393 Http协议的不足 不验证身份,导致身份可能被伪装。 HTTP是不会对请求的双方进行身份验证的,服务器不会校验客户端的身份,谁都可以向服务器发送请求,任何...

2019-10-29 16:30:20 185 0

转载 Code Review

我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,Code Review都是基本要求,代码合并之前必须要有人审查通过才行。 然而对于我观察到的大部分软件开发团队来说,认真做Code...

2019-10-16 09:51:16 74 0

转载 如何保障消息中间件100%消息投递成功?如何保证消息幂等性?

一、前言 我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。 如上图: (1)订单服务投递消息给MQ中间件 (2)物流服务监听MQ中间件消息,从而进行消费 我们这篇文章讨...

2019-06-26 14:18:23 309 0

转载 千万级用户的大型网站,应如何设计其高并发架构

目录 (1)单块架构 (2)初步的高可用架构 (3)千万级用户量的压力预估 (4)服务器压力预估 (5)业务垂直拆分 (6)用分布式缓存抗下读请求 (7)基于数据库主从架构做读写分离 (8)总结 本文将会从一个大型的网站发展历程出发,一步一步的探索这个网站的架构是如何从单体架构,...

2019-06-26 14:00:22 670 0

转载 SpringBoot整合Dubbo

Dubbo简介 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分业务的架构,使用这种方式可以使各个业务之间解耦合(或者最大限度地松耦合)。 简单来说Dubbo: 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 Dubbo架构 这里...

2020-07-05 16:32:21 35 0

转载 Dubbo SPI扩展机制

引言 SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功...

2020-07-05 16:11:00 36 0

转载 Dubbo使用入门

一、SOA和RPC介绍 1、SOA 随着互联网的发展,应用规模不断扩大,应用之间的交互不可避免,这时将核心业务抽取出来,作为独立的服务,用于提高业务复用及整合,逐渐形成了分布式服务架构。 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管...

2020-07-05 15:50:59 41 0

转载 RPC接口超时分析

在使用dubbo时,通常会遇到timeout这个属性,timeout属性的作用是:给某个服务调用设置超时时间,如果服务在设置的时间内未返回结果,则会抛出调用超时异常:TimeoutException,在使用的过程中,我们有时会对provider和consumer两个配置都会设置timeout值,那...

2020-07-05 11:31:31 96 0

转载 线程池

1.什么是线程池 java.util.concurrent.Executors这个类大家不知道有没有仔细的去看过这个,而这个类中给我提供了很多方法来创建线程池。 在代码的开头的注释上就写明了,它可以创建重复使用固定数量线程的线程池,如果在所有线程都处于活动状态时提交了其他任务,那么他们将在队列...

2020-07-05 10:11:13 37 0

转载 SpringBoot+Dubbo构建微服务

随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 一、先来一张图 说起 Dubbo,相信大家都不会陌生!阿里巴巴公司开源的一个高性能优秀的服务框架,可以使得应用可通过高性能的 RPC 实现服...

2020-07-05 09:27:37 63 0

转载 Dubbo从入门到实战

一 为什么需要 dubbo 很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮助的,那么,dubbo是怎么被提上日程的呢? 在互联网的发展过程中...

2020-07-05 09:01:51 30 0

转载 IDEA设置默认Maven

idea设置默认maven配置, 避免每次设置maven Step 1:Other Setting--->Default Settings--->设置maven--->Apply--->OK

2020-07-04 10:18:08 29 0

转载 Spring Boot基于JUint5实现单元测试

本文介绍 Spring Boot 2 基于 JUnit 5 的单元测试实现方案。 目录 简介 JUnit 4 和 JUnit 5 的差异 忽略测试用例执行 RunWith 配置 @Before、@BeforeClass、@After、@AfterClass 被替换 开发环境 ...

2020-07-04 09:51:50 34 0

转载 ThreadLocal技术分享

学习一个东西首先要知道为什么要引入它,就是我们能用它来干什么。所以我们先来看看ThreadLocal对我们到底有什么用,然后再来看看它的实现原理。 ThreadLocal如果单纯从名字上来看像是“本地线程"这么个意思,只能说这个名字起的确实不太好,很容易让人产生误解,ThreadLoc...

2020-07-04 09:23:31 51 0

转载 Dubbo问题总结

一、Dubbo是什么? Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 二、为什么要用Dubbo? 因为是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。...

2020-07-04 09:03:22 61 0

转载 You must reset your password using ALTER USER statement before executing this statement.

登陆成功后输入命令的时候,发现总是提示: You must reset your password using ALTER USER statement before executing this statement. 翻译过来就是:在执行此语句之前,必须使用 ALTER USER ...

2020-07-03 08:53:31 32 0

转载 MySQL启动服务提示系统找不到指定文件

Mysql启动服务: C:\Windows\system32>net start mysql 发生系统错误 2。 系统找不到指定的文件。 怎么还是报这个错?难道不是由于配置的原因?对,不是由于上面的配置的问题,但上面的配置添加后也没有错。那是什么原因? 这里是最需要注意的地方,在安装...

2020-07-03 08:08:02 148 0

转载 Code Review最佳实践

我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,Code Review都是基本要求,代码合并之前必须要有人审查通过才行。 然而对于我观察到的大部分软件开发团队来说,认真做Code...

2020-06-28 20:27:20 61 0

转载 如何利用http缓存机制

Web 缓存大致可以分为:数据库缓存、服务器端缓存(代理服务器缓存、CDN 缓存)、浏览器缓存。 浏览器缓存也包含很多内容:HTTP 缓存、indexDB、cookie、localstorage 等等。这里我们只讨论 HTTP 缓存相关内容。 在具体了解 HTTP 缓存之前先来明确几个术语: ...

2020-06-28 20:14:23 58 0

转载 一文读懂git

在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼。本篇文章主要针对刚开始接触Git的新人,理解Git的基本原理,掌握常用的一些命令。 一、Git工作流程 以上包括一些简单而常用的命令,但是先不关心这些,先来了解下面这4个专有名词。 W...

2020-06-28 14:34:41 48 0

转载 经典的数据库问题

一、为什么用自增列作为主键 1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引、如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引...

2020-06-28 13:55:07 54 0

转载 Spring的@RequestHeader注释

 SpringMVC提供了可以用于映射控制器参数以请求头值的注释@RequestHeader。以下是spring@RequestHeader注释的简单使用。 import org.springframework.stereotype.Controller; import org.springfr...

2020-06-28 09:38:10 55 0

转载 Redis事务

Redis 通过MULTI、DISCARD、EXEC和WATCH四个命令来实现事务功能, 本章首先讨论使用MULTI、DISCARD和EXEC三个命令实现的一般事务, 然后再来讨论带有WATCH的事务的实现。 因为事务的安全性也非常重要, 所以本章最后通过常见的 ACID 性质对 Redis 事...

2020-06-24 13:48:17 55 0

转载 Mysql慢查询优化

开启 MySQL 慢查询日志 一个起步就不简单的原因是,我们如何才能定位到那些真正形成瓶颈的慢查询。一个普通项目中的 SQL 可能就有大几十甚至上百个,而「凶手们」就藏匿其中。 一个朴素的想法是在项目中每一个 SQL 执行前后打上时间戳来估计执行时间,暂且不论由于各种因素的影响这种估算可能不准...

2020-06-20 18:29:39 77 0

转载 跨域问题解决方案

前言 前后端数据交互经常会碰到请求跨域,什么是跨域,以及有哪几种跨域方式,这是本文要探讨的内容。 本文完整的源代码请猛戳github博客,纸上得来终觉浅,建议大家动手敲敲代码。 一、什么是跨域? 1.什么是同源策略及其限制内容? 同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如...

2020-06-20 16:46:52 65 0

转载 深入理解spring事务原理

一、事务的基本原理 Spring事务 的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: 获取连接 Connection con = DriverManager.getConnection() ...

2020-06-20 15:52:12 58 0

转载 SpringAOP实现方式

一、AOP是什么? AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态...

2020-06-20 09:28:25 37 0

转载 Spring事务传播机制

前言 事务对于 java web 应用来说,也是比较大的一方面。面试的时候也会经常的问到,包含的内容有: 事务的四大特性 事务的隔离级别 spring 事务的传播机制 预期读者 对事务有一定基础的同学,想弄清楚 spring 事务的传播机制 为什么会有传播机制 spring 对事务的...

2020-06-19 20:12:53 50 0

转载 Spring事务传播属性

文章目录 I. 配置 1. 项目配置 2. 数据库配置 3. 数据库 II. 使用说明 0. 准备 1. REQUIRED 2. SUPPORTS 3. MANDATORY 4. NOT_SUPPORT 5. NEVER 6. NESTED a. ...

2020-06-17 21:53:25 71 0

转载 Dubbo负载均衡策略

Random LoadBalance 随机,按权重设置随机概率。 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。 权重加倍 RoundRobin LoadBalance 轮循,按公约后的权重设置轮循比率。 存在...

2020-06-17 20:41:21 35 0

转载 ActiveMQ几种模式总结

Queue(点到点)模式 在点对点的传输方式中,消息数据被持久化,每条消息都能被消费,没有监听QUEUE地址也能被消费,数据不会丢失,一对一的发布接受策略,保证数据完整。 创建MAVEN项目 点击下一步,填写grupId为me.czp,artifactId为example-mq,name为e...

2020-06-17 10:36:56 70 0

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