自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

转载 常见的HTTP状态码(HTTP Status Code)说明

HTTP Code Status

2021-11-25 10:27:03 3180

原创 @DataJpaTest 数据库无数据

@DataJpaTest 数据库无数据先看官方注释:/** * Annotation that can be used in combination with {@code @RunWith(SpringRunner.class)} * for a typical JPA test. Can be used when a test focuses <strong>only</strong> on JPA * components. * <p> * U

2020-09-04 11:29:00 1339

原创 Failed to replace DataSource with an embedded database for tests

Failed to replace DataSource with an embedded database for tests错误提示 :Caused by: java.lang.IllegalStateException: Failed to replace DataSource with an embedded database for tests. If you want an embedded database please put a supported one on the clas

2020-09-03 17:17:58 1106

原创 driver org.postgresql.driver claims to not accept jdbcurl, jdbc:h2:mem:test

driver org.postgresql.driver claims to not accept jdbcurl, jdbc:h2:mem:test背景:项目中使用了h2数据库,不想用h2,把配置改为PostgreSQL,出现此异常。原因:数据库配置被Spring cloud覆盖解决:bootstrap.yml中新增配置:---spring: profiles: frank cloud: config: enabled: false...

2020-09-03 15:56:21 5460 2

转载 Redis

介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。传统数据库遵循 ACID 规则。而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式而分布式一般遵循 CAP 定理。Github 源码:h...

2020-03-13 23:04:56 133

转载 Spring总结

1、Spring是什么?Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC服务;Spring Context:提供框架式的Bean访问方...

2020-03-13 23:04:32 163

原创 读书笔记(三)

B站1.redis的hash数据结构是如何实现的?/* hash表是空的需要初始化空间, 默认是4*/​ if (d->ht[0].size == 0) return dictExpand(d, DICT_HT_INITIAL_SIZE);2.kafka中zookeeper的作用?监控kafka broker节点和消费者节点,存储元信息3.hashmap默认数组为空,初始化...

2019-12-30 21:26:49 869

转载 【转载】分布式事务详解

这篇文章将介绍什么是分布式事务,分布式事务解决什么问题,对分布式事务实现的难点,解决思路,不同场景下方案的选择,通过图解的方式进行梳理、总结和比较。相信耐心看完这篇文章,谈到分布式事务,不再只是有“2PC”、“3PC”、“MQ的消息事务”、“最终一致性”、“TCC”等这些知识碎片,而是能够将知识连成一片,形成知识体系。什么是事务介绍分布式事务之前,先介绍什么是事务。事务的具体定义事务提供...

2019-12-26 00:51:02 202

转载 分布式事务解决方案

什么场景下会产生分布式事务?在支付异步回调的情况下,支付宝发送http请求给第三方平台,第三方平台需要更改支付状态以及订单状态,在此场景下,第三方平台更改本地支付数据库的支付状态后,通知订单服务更改订单的状态,在此程序后,如果代码出现异常,由于有声明式事务的存在,本地支付服务的数据库会进行回滚,变成未支付状态,但是订单服务的状态却无法回滚,订单服务的订单的状态变成已支付状态,这就出现了订单数据库...

2019-12-24 19:53:09 191

原创 Redis分布式锁的一种实现

Redis分布式锁

2019-11-19 11:01:51 130 1

转载 分布式唯一ID: snowflake算法思考

缘起为什么会突然谈到分布式唯一id呢?原因是最近在准备使用RocketMQ,看看官网介绍:一句话,消息可能会重复,所以消费端需要做幂等。为什么消息会重复后续RocketMQ章节进行详细介绍,本节重点不在这里。为了达到业务的幂等,必须要有这样一个id存在,需要满足下面几个条件:同一业务场景要全局唯一。该id必须是在消息的发送方进行产生发送到MQ。消费端根据该id进行判断是否重复,确保...

2019-11-18 19:35:08 140

转载 零拷贝的原理

“先从简单开始,实现下这个场景:从一个文件中读出数据并将数据传到另一台服务器上?”File.read(file, buf, len);Socket.send(socket, buf, len);“这里涉及到了几次数据拷贝?”“2次?磁盘拷贝到内存,内存拷贝到Socket?”“emmm,怪不得挂了,一点不冤。”“这种方式一共涉及了4次数据拷贝,知道用户态和内核态的区别吗?”1、应用...

2019-11-05 22:06:13 360

转载 Myqsl 流式查询

链接地址: Mybatis中使用流式查询避免数据量过大导致OOMhttps://blog.csdn.net/yangchuanan/article/details/84246565原文链接一、JDBC编程中mysql流式查询1.为什么使用流式查询?普通查询方式:1)JVM进程内数据库线程池,某一线程执行查询时,调用mysql驱动程序。2)mysql驱动向mysql服务器发起TCP请求,...

2019-10-31 17:35:39 305

原创 IDEA git 撤回commit(已提交未push)方法 回滚方法

IDEA git 撤回commit(已提交未push)方法1.版本控制2.打开log,查看提交记录3.右键,‘undo commit’此外,回滚方式HEAD后面添加~1 这是回撤到上一次 以此类推可以2 , 3, 4…回滚方法1.回滚代码参考链接:https://www.520mwx.com/view/38045Reset Type 有三种:mixed 默认方式,只保...

2019-10-30 15:19:16 27203

转载 pos机清算中,D0、T0、D1、T1是什么意思,有何区别?

我们经常听到不同支付公司在宣传业务时候,总是在说D0、T0、D1、T1,那么这些到底代表着什么,又有何种区别呢?d日是指自然日,包括周末和节假日均可办理业务。t日是指交易日,+0的含义是指资金清算时间为本日,而非实时到账,+1的含义是指正常清算时间为第二个工作日(周一至周五10:00-18:00)依照正常的清算理解是这样:T+1的T是trade,是指交易日;D+1的D代表Day,不分交易日还...

2019-10-28 19:52:49 4784

原创 gradle入门学习

1.Groovy:面向对象编程语言,既可用于面向对象编程,也可以用作纯粹的脚本语言。该语言不用编写过多代码,又具有闭包和动态语言的其他特性。2.与Java比较:兼容java代码,编译成java字节码类方法默认 public3.groovy高效特性:1.def 可选的类型定义2.assert3.括号可选4.字符串:单引号表示一个单纯的字符串,双引号中${}可以加入变量,三个单...

2019-10-20 19:33:29 134

原创 The expression 'XXXX' evaluated to a null value

方式1 传入map将要传递的id都存到一个List中,将List存到要传参的map中,并给List一个键名,在collection中就配置这个键名,然后就能成功解析遍历了。//使用<foreach>传入map集合,其中map中的值为对象做查询 Map<String,Object> stuMap = new HashMap<>(); ...

2019-10-17 20:29:16 10739 1

原创 Spring 源码笔记

Spring 源码笔记1. Spring MVC初始化流程​ 1.1 加载配置文件 doLoadConfig(config.getInitParameter(“contextConfigLocation”))​ 如果是加载Properties相对简单一点,XML要解析,复杂一点​Properties properties = new Properties();// 根据web.xml...

2019-08-11 18:06:57 395

转载 基于Redis Set的分布式锁(转载)

前言分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三。首先谈到分布式锁自然也就联想到分布式应用。在我们将应用拆分为分布式应用之前的单机系统中,对一些并发场景读取公共资源时如扣库存,卖车票之类的需求可以简单的使用同步或者是加锁就可以实现。但是应用分布式了之后系统由以前的单进程多线程的程序变为了多进程多线程,这时使用以上的解决方案明显就不...

2019-06-23 16:23:18 753

原创 工作笔记(四)

开发问题:1.不能用本地构建,替换生产环境包,比如一些配置文件不同,dubbo.properties,application.properties,disconf.properties.2.Hbase设计分区策略rowKey加上前缀 hash(rowkey),当使用String.hashCode()时,出现负值。String类的hashCode方法是通过int来修饰的,只要hashcode...

2019-05-13 15:52:16 261

转载 Reactor模式(反应器设计模式)

一、Reactor模式是什么反应器设计模式(Reactor pattern)是一种为处理并发服务请求,并将请求提交到一个或 者多个服务处理程序的事件设计模式。当客户端请求抵达后,服务处理程序使用多路分配策略,由一个非阻塞的线程来接收所有的请求,然后派发这些请求至相关的工作线程进行处理。二、什么场景下使用Reactor模式?对于高并发系统,常会使用Reactor模式,其代替了常用的多线程...

2019-05-08 17:59:10 429

转载 IDEA报classnotfoundexception: javax.servlet.servletContext

在Intellij IDEA中默认所有 scope 为 provided 的依赖不会被加入到 classpath,勾选即可

2019-03-14 16:34:32 977

原创 读书工作笔记(二)

1.notify()和notifyAll()的本质区别notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法。两者的最大区别在于:notifyAll使所有原来在该对象上等待被notify的所有线程统统退出wait的状态,变成等待该对象上的锁,一旦该对象被解锁,他们就会去竞争。notify则文明得多,它只是选择一个wait状态线程进行通知,并使它获得该对...

2019-03-11 15:12:46 1211 1

原创 生产者和消费者的三种实现方式

原文链接:https://www.cnblogs.com/fankongkong/p/7339848.html1、背景生产者生产数据到缓冲区中,消费者从缓冲区中取数据。如果缓冲区已经满了,则生产者线程阻塞;如果缓冲区为空,那么消费者线程阻塞。2、方式一:synchronized、wait和notifypackage producerConsumer;//wait 和 notifyp...

2019-02-20 16:58:51 280

转载 分布式锁简单入门以及三种实现方式介绍

--------------------- 作者:徐刘根 来源:CSDN 原文:https://blog.csdn.net/xlgen157387/article/details/79036337 版权声明:本文为博主原创文章,转载请附上博文链接!很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的...

2019-02-13 23:06:34 127

原创 设计模式总结

常见设计模式单例模式工厂模式观察者模式适配器模式装饰者模式单例模式 /** * 线程安全,但是效率非常低 * @author vanceinfo * */ public class SingletonTest { private SingletonTest() { } private static SingletonT...

2019-01-30 18:09:05 143

原创 慢SQL的优化建议

慢SQL的优化建议created by:张恒前言:在工作过程中,本人在处理天眼查数据时遇到了不少慢SQL的问题。此外,也结合同事工作中遇到的问题,在如何优化大数量查询时积累了一点点经验,应钢哥要求,做一些整理,不足之处,希望一起探讨改进。关于SQL语句1.SQL中尽量避免范围查询,如果必须使用,应当放在AND条件的最后使用。错误示例 &amp;lt;if test=&quot;begin != nul...

2019-01-18 14:46:52 750

转载 RESTful VS RPC

在微服务中,使用什么协议来构建服务体系,一直是个热门话题。 争论的焦点集中在两个候选技术: (binary) RPC or Restful。

2019-01-09 15:33:36 159

原创 读书工作笔记(一)

                                                                                                      读书笔记(一)1. 方法重载1.1方法名称必须相同。1.2参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。1.3方法的返回类型可以相同也可以不相同。1.4仅仅返回...

2018-11-08 17:54:18 187

转载 后台获取前端信息的纽带--HttpServletRequest

HttpServletRequestRequest对象具体应用HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的相关方法,即可以获得客户的这些信息。一、通过request常用方法获得相关信息:1、通过request常用方法获得客户机信息    getRequestURL方法返回客户端发...

2018-06-07 17:53:59 3710

转载 leetCode 41.First Missing Positive (第一个丢失的正数) 解题思路和方法

First Missing Positive Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should run in

2017-09-22 14:42:19 233

转载 【深入Java虚拟机】之四:类加载机制

转载:http://blog.csdn.net/ns_code/article/details/17881581类加载过程    类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示:    其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这

2017-09-16 21:53:31 238

原创 归并排序(JAVA)

package cn.shu.test.sort;public class MergeSort { //程序入口 public static void main(String[] args) { int[] a = {5,9,12,7,36,81,94,45,69}; for(int i=0; i<a.length; i++){ System.out.print(a[i]+"

2017-09-01 19:33:08 224

原创 直通bat算法课程优惠码(优惠10元)

直通bat算法课程优惠码:ALzsCIW,邀请链接为:www.nowcoder.com/courses/1?coupon=ALzsCIW

2017-08-26 12:15:37 345

转载 Redis中删除过期Key的三种策略

项目中有个接口要频繁调用查询数据库中的数据,为了降低数据库的压力,所以把一部分记录先缓存在Redis中,对redis中的数据设置了期限。今天无意间发现一个问题,使用dbsize查询出来的数量,比实际缓存量要高一部分。用redis-cli keys '*'|wc -l11获取到的数据和实际情况是一样的。如下面两图:   对比发现,redis中key的总量为286957,比数据

2017-08-24 10:18:36 5344

原创 今日头条笔试题

/*题目描述:给定两个长度为 n 的整数数列 A 和 B。再给定 q 组查询,每次查询给出两个整数 x 和 y,求满足 Ai >= x 且 Bi >= y 这样的 i 的数量。输入第一行给定两个整数 n 和 q。第二行给定数列 A,包含 n 个整数。第三行给定数列 B,包含 n 个整数。接下来 q 行,每行两个整数 x 和 y,意义如上所述。输出对于每组查询,输出所求的下标数量。

2017-08-22 16:43:12 485

转载 剑指offer解题报告(Java版)——二叉搜索树转换为双向链表 27

原文链接http://www.cnblogs.com/keedor/p/4467040.html引言   自己觉得对二叉树了解的不是很多,所以想专门练习一下这方面的问题,剑指Offer中有一道题是将二叉搜索树转换为双向链表,开始的时候照着书上的思路去做,最后发现问题很多,看来这本书也有很多问题啊,原因是Java和C++还是有很多不同的,特别是对对象的

2017-07-26 14:12:32 345

转载 Java过滤器与SpringMVC拦截器之间的关系与区别

过滤器和SpringMVC的拦截器的区别

2017-07-20 17:45:19 285

原创 打印1到最大的n位数

/** * 剑指offer面试题12:打印1到最大n位数 * 题目:输入数字n,按顺序打印从1到最大的n位十进制数。 * 比如:输入3,则打印1,2,3一直到999 * 解法一:使用数组表示大数 * * */public class Print1ToNthDigits { //使用数组实现对数进行+1操作 public static boolean increm

2017-07-16 20:42:02 309

原创 剑指offer -- 旋转数组最小值

问题描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1.public class RotateMin { public static void main(String[] args) throws Exception {

2017-07-15 21:40:38 238

mybatis_generator.zip

mybatis_generator.zip 代码生成工具,mapper 实体类等

2019-05-17

个人书签-bookmark.htm

个人书签资源管理,包含自己的技术相关链接,作为自己查看技术的目录。

2019-05-13

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

TA关注的人

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