自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 仰望星空 脚踏实地

1.认真完成工作 2.中间件选择性重点学习深入 4.Docker和K8S了解学习 3.技术栈回头自己出一个

2019-10-22 15:49:40 42 0

原创 基于Eureka远程调用时FeignClient注解参数的含义

@FeignClient(value = "service-provider", url = "http://test.com", configuration = FeignConfiguration.class) public interface Serv...

2020-07-02 15:23:49 8 0

原创 maven - 打包命令跳过PMD、checkstyle、test

mvn clean install -Dpmd.skip=true -Dcheckstyle.skip=true -DskipTests

2020-05-18 20:34:03 205 0

原创 规则引擎 - Drools的使用

关于规则引擎 https://www.jianshu.com/p/d136a76e1c0d 场景 项目遇到下步执行动作决策的业务,场景不同于常见的规则性业务,但也可以应用于规则引擎之中,剥离掉代码中大量的逻辑判断、同时加快决策结果的输出。可见规则的定义是比较泛的,技术组件的应用也不是一成不变...

2020-04-27 14:57:00 47 0

原创 SpringBoot - 条件注解@Conditional...

作用 当我们在启动Spring 容器加载Bean时,想要限制某些Bean在某些条件下才被加载到容器中,这是我们即可通过注解@Conditional...,当然该注解下绝大条件。 注解详情 通过查看可以看到@Conditional有很多注解,功能相同,适用于不同的条件 Condit...

2020-04-22 16:24:52 52 0

转载 kafka - acks参数的作用与影响

逐步讲解KafkaProducer配置acks参数的影响 1)如何保证宕机的时候数据不丢失? 如果要想理解这个acks参数的含义,首先就得搞明白kafka的高可用架构原理。 比如下面的图里就是表明了对于每一个Topic,我们都可以设置他包含几个Partition,每个Partition负...

2020-01-17 11:18:29 73 0

原创 Feign - 理解使用

最近在整合项目的RPC调用,对Feign有了更多对一些理解 Feign它是一个声明式WebService客户端.,它支持多种注解,Feign自带注解以及JAX-RS标准的注解.Feign也支持可拔插式的编码器和解码器.即我们可以自定义编码器、解码器、错误处理器;Spring Cloud是对Fei...

2020-01-08 20:54:20 59 0

原创 lombak引发的对equals和hashcode方法理解

覆盖equals时请遵守通用约定: 自反性(reflexive)。对于任何非null的引用值x,x.equals(x)必须返回true。 对称性(symmetric)。对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)必须返回true。 传...

2019-12-17 11:08:28 28 0

原创 Spring - retry重试机制

关于spring-retry 有些时候我们对于的一些行为遭遇到意外时需要重试时,如远程调用其他接口失败,数据相关的事务失败,这时我们就需要重试机制了。spring-retry通过注解声明式的解决重试机制,功能齐全,简单好用。 主要注解 @EnableRetry :加在主类上,声明启用重试机制...

2019-12-03 17:32:46 29 0

原创 Feign - 基础使用

关于Feign Feign通过注解声明的方式简单化的实现了Http的相关调用,使我在以http方式调用远程接口时更加简单,代码也更加简洁,只需要创建接口,增加相关的注解就可以了。 使用 引入相关包 <dependency> <g...

2019-11-22 12:22:25 29 0

原创 单测 - JUnit搭配PowerMock单测实践

为什么单测要使用Mock工具 单元测试是要遵守可重复执行,故测试用例不应该依赖外部环境以及下游服务,避免不必要的问题; Mock工具就是为了满足这一需求的,它可以帮我们mock(模仿)出外部依赖对象,这样我们的测试用例不依赖于下游服务的状态,同时可以自主控制方法的返回值,或者执行特定行为甚至返...

2019-11-05 17:35:06 59 0

原创 单测 - 需要知道的点

1、好的单元测试必须遵守AIR原则。 说明:单元测试在线上运行时,感觉像空气(AIR) —样并不存在,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。 A: Automatic(自动化): 不需要人为手动检查通过结果 l:lndepende...

2019-11-05 11:51:25 50 0

原创 Java - 项目路径问题浅析

遇到的一个Java项目路径问题 文件位置: 天真的以为直接用相对路径就可以获取文件: File file = new File( "src/main/resources/test.xlsx"); FileOutputStream ou...

2019-10-16 15:45:38 40 0

转载 RESTful风格是什么

RESTful风格是一种架构思想,而不是接口设计指南。 RESTful以资源、状态转移等为核心概念来对业务建模及架构设计,适用于基于互联网的分布式系统,平时大家常说的接口地址要使用名词之类的规定只是为了体现资源的概念。 与非RESTful相比,在可用性,稳定性,尤其是可扩展性等方面有很大优势。...

2019-10-10 21:34:48 267 0

原创 Hive - 基础入门

关于Hive 官方定义:The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage usin...

2019-07-30 11:21:01 36 0

原创 分布式理论 - 数据分布的方式

数据分布方式          所谓分布式系统顾名思义就是利用多台计算机协同解决单台计算机所不能解决的计算、存储等问题。单机系统与分布式系统的最大的区别在于问题的规模,即计算、存储的数据量的区别。将一个单机问题使用分布式解决,首先要解决的就是如何将问题拆解为可以使用多机分布式解决,使得分布式系统...

2019-02-25 15:24:15 254 0

原创 分布式理论 - 服务中可能出现的网络异常

   网络异常       分布式服务节点间通过不可靠的网络进行通信,可能出现以下几种异常。 消息丢失  消息丢失是最常见的网络异常。对于常见的 IP 网络来说,网络层不保证数据报文(IP fragment)的可靠传递,在发生网络拥塞、路由变动、设备异常等情况时,都可能发生发送的数据丢...

2019-02-21 16:34:09 242 0

原创 Java - 高效解析Execl

这里的场景是将execl放在项目下,启动项目时对其解析,加载到内存中使用。 pom: &lt;dependency&gt; &lt;groupId&gt;com.monitorjbl&lt;/groupId&am...

2019-02-15 10:46:43 322 0

原创 Java - 函数式编程(2):常用的流操作

流操作: 即stream接口针对于集合类提供的操作。集合类.stream()集合获取到stream(流),随之进行自己想要的操作。 filter():按照一定条件过滤集合的元素 。 list.stream().filter(x -&gt; x &gt; 5); 像filte...

2018-12-24 10:40:52 96 0

原创 Druid - 源码浅析(2) 获取连接

获取连接     getConnection(); public DruidPooledConnection getConnection() throws SQLException { return getConnection(maxWait); } pu...

2018-12-20 16:53:54 205 0

原创 Druid - 源码浅析(1) - 初始化

实现类DruidDataSource:      一些重要变量:         private volatile DruidConnectionHolder[] connections;  //存连接的数组,不一定会满         private int           ...

2018-12-20 14:35:20 297 0

转载 Druid - 源码分析与学习

找BUG时不得不接触到Druid源码。单看源码还是很吃力,结合下面的文章努力理解一些。 原文:https://blog.csdn.net/herriman/article/details/51759479

2018-12-19 16:14:04 86 0

原创 Druid - SpringBoot配置数据库连接池druid

关于Druid     DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,是目前最好的连接池。 yml文件配置 spri...

2018-12-19 12:27:04 201 0

原创 Spring - yml配置文件错读数字字符串

项目中碰到一个诡异问题,yml文件中配置了一个值为字符串的属性,用@Value注入时确发现不对应,出现了全项目中都找不到的值。研究了半天才发现,yml会把0开头的数字作为8进制对待,注入时转化为十进制注入。 datasource: 0400010001 所以,字符串最好要写规范...

2018-12-11 14:58:47 2143 0

原创 java - 中转上传文件(有坑)

遇到一个问题,我们的服务只做代理功能,有时候需要转发文件,又不能把文件先保存下来后再读取文件上传到第三方服务器,这时候就要直接发送流文件。 restTemplate(亲测有效,很费劲才找到的): class MultipartInputStreamFileResource extends...

2018-12-05 16:38:14 652 1

原创 Java - 使用RestTemplate代理Http请求

使用RestTemplate代理Http请求(请求方式不限),下面对POST请求的Body进行了封装。 HttpEntity:请求实体。 封装Body还可以用MultiValueMap。 public ResponseEntity&lt;byte[]&gt; proxy(St...

2018-11-15 11:15:47 2504 0

转载 MySql - innodb不可重复读下的一些锁

MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。   一,InnoDB的索引 InnoDB的索引有两类索引,聚集索引(Clustered In...

2018-11-12 16:36:39 464 0

原创 SpringBoot - 配置Druid允许批量执行SQL

Druid默认是不开启批量SQL执行的,属性为MultiStatementAllow.配置为true即可. yml文件配置: filters:stat  spring: profiles: active: dev datasource: type: com.alib...

2018-11-09 19:12:09 1545 0

原创 Java - 函数式编程(1): lambda表达式入门

关于lambda表达式            Lambda 是Jdk8推出的一个新特性,允许把函数作为一个方法的参数(函数作为参数传递进方法中)。            Lambda表达式只支持函数式接口  也就是只有一个抽象方法的接口。用来实现接口            使用 Lambda...

2018-09-05 11:32:54 423 0

转载 设计模式 - Java静态代理和动态代理

本篇博客的由来,之前我们学习大话设计,就了解了代理模式,但为什么还要说呢? 原因: 1,通过DRP这个项目,了解到了动态代理,认识到我们之前一直使用的都是静态代理,那么动态代理又有什么好处呢?它们二者的区别是什么呢? 2,通过学习动态代理了解到动态代理是一种符合AOP设计思想的技术,那么什么...

2018-09-05 09:21:21 62 0

转载 网络 - TCP大全

TCP/IP 中有两个具有代表性的传输层协议,分别是TCP、UDP。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。 要知道TCP为了这简单描述“可靠的通信传输”背后所做的努力,你会深感佩服其强大性。TCP的特征:序列化+确认应答、超时重发、流量控制、拥塞控制等等...

2018-09-05 09:17:17 328 0

转载 分布式事务 - 2PC和3PC

协调者 在分布式系统中,每一个机器节点虽然都能明确的知道自己执行的事务是成功还是失败,但是却无法知道其他分布式节点的事务执行情况。因此,当一个事务要跨越多个分布式节点的时候(比如,淘宝下单流程,下单系统和库存系统可能就是分别部署在不同的分布式节点中),为了保证该事务可以满足ACID,就要引入一个...

2018-08-23 10:48:54 88 0

原创 数据库 - MySql MVCC机制

什么是MVCC         MVCC:是一种多版本并发控制(MVCC,Multiversion Currency Control)。一般情况下,事务性储存引擎不是只使用表锁,行加锁的处理数据,而是同时结合了MVCC机制,以处理更多的并发问题。当然Mysql中Innodb引擎才支持。 MyS...

2018-08-22 16:02:25 955 0

原创 常见算法 - 连续子数组最大和

public class Solution { public int FindGreatestSumOfSubArray(int[] array) { if(array.length == 0){ return 0; } ...

2018-08-20 17:27:36 82 0

原创 常见算法 - 二叉搜索树与双向链表

/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val =...

2018-08-20 16:41:45 88 0

原创 JVM - 常见配置参数

  堆栈常用 -Xms :初始堆大小 -Xmx :最大堆大小 -Xss  :为jvm启动的每个线程分配的内存大小 -XX:NewSize=n :设置年轻代大小 -XX:NewRatio=n: 设置老年代和年轻代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和...

2018-08-14 16:35:05 212 0

原创 Java - 线程池参数

ThreadPoolExecutor ThreadPoolExecutor是线程池的真正实现,他通过构造方法的一系列参数(不同的构造方法),来构成不同配置的线程池。   构造方法参数 corePoolSize 核心线程数,默认情况下核心线程会一直存活,即使处于闲置状态也不会受存ke...

2018-07-18 20:06:55 635 0

原创 Redis - 事物

redis事物控制关于事物    事物(数据库事物)是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行redis事物与mysql事物的不同    1.与mysql等数据库不同,redis事物不提供回滚操作。    2.对于ACID特性:它不满足原子性(会部分不执行)、持久性...

2018-07-06 10:25:12 103 0

转载 什么是持续交付?如何提高工程效率?

原文链接:https://www.cnblogs.com/wintersun/p/6336516.html

2018-06-21 10:32:47 1436 0

原创 Git - 常用命令

一般配置 git --version //查看git的版本信息 git config --global user.name //获取当前登录的用户 git config --global user.email //获取当前登录用户的邮箱 登录git /* 如果刚没有获取到用户...

2018-06-21 10:12:18 84 0

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