自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

buchifanqie的博客

一个在互联网努力奋斗的番茄

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

原创 大事务问题【事务记录篇】

系统中大事务问题要如何处理?大事务引发的问题先看看系统中如果出现大事务可能会引发哪些问题最常见的就是死锁和高并发下锁超时,其本质原因都是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。大事务肯定会锁住资源,然后让其他需要锁住资源的事务一直等待,最后超时。另一种情况就是锁住需要的资源,然后再去申请其他资源的时候,结果这些资源被其他占用不释放那么就是死锁。死锁的四个必要条件:互斥条件(Mutual exclusion):资源不.

2021-10-08 13:57:13 288

原创 【算法】树状数组原理和实现(纪录片)

树状数组原理和实现树状数组是一种维护数组前缀和、区间和的数据结构,思想和跳跃表有点类似。那么衍生出一个问题,为什么不直接建树?答案是没必要,因为树状数组能处理的问题就没必要建树。和Trie树的构造方式有类似之处。建立索引树状数组的一个节点索引的原始数据数量,与该节点编号在二进制下最低为的1有关1,3,5,7… 二进制下以1结尾,仅索引1个数据(自身)2,6,10,14…二进制下以10结尾,索引2个数据(自身,它前面的那个数)4,12… 二进制下以100结尾,索引4个数据(自身,前面3个数).

2021-09-14 18:58:48 182

原创 【hashMap】hash算法和局部位运算

初衷曾经学习hashmap路上遇到这样那样的问题,这次记录一下hashmap里面的一些位运算1、hashmapHashMap的底层就是通过数组+链表+红黑树的方式实现的哈希表结构。数组结构可以在O(1)的时间复杂度定位元素在数组中的位置,而位置是通过key的哈希值和数组长度取模计算出来的,而哈希值是可能相同的,也就是哈希冲突,当然,哈希值不同的时候,通过取模计算也可能产生哈希冲突,所以相同索引下的键的哈希值是可能不相同的或者说,绝大多数是不相同的。当哈希冲突时,就用到链表或者红黑树来解决,当多个.

2021-09-08 17:09:02 306

原创 linux操作命令大全

Linux初级指令ls ——Listls 介绍  这是我学Linux的第一个命令,相信也是很多人学习Linux的第一个命令。ls全称list.List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.列出有关文件的信息(默认为当前目录)。如果没有指定-cftuvSU.

2021-09-01 14:54:41 1231

原创 PropertyPlaceholderConfigurer加载报错Could not resolve placeholder

加载文件问题1. 使用@PropertySource(“classpath:application.properties”)和@Value加载配置文件属性的时候启动报错@Configuration@PropertySource("classpath:application.properties")@Data@Componentpublic class CacheConfigBean { private int retryCount; private int elapsedTime

2021-08-24 15:46:45 1567

原创 spring配置加载PropertyResourceConfigurer和PropertyPlaceholderConfigurer

继承图UMLPropertySourcesPlaceholderConfigurerPropertySourcesPlaceholderConfigurer,也就是 BeanFactoryPostProcessor接口的一个实现,PropertySourcesPlaceholderConfigurer:PropertyPlaceholderConfigurerPropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostP.

2021-08-24 15:15:46 1497

原创 【算法】字符串算法题——回文(学习篇)

验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true解释:"amanaplanacanalpanama" 是回文串示例 2:输入: "race a car"输出: false解释:"raceacar" 不是回文串class Solution { public boolean isPali..

2021-08-17 19:55:46 305

原创 【算法】排序和二分以及相关刷题(学习篇)

排序1. 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。2. 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。1. 选择排序(Selection Sort)选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素.

2021-07-28 19:04:36 78

原创 【算法】二分的细节你真的懂了吗(模板方法)

寻找第一个>= target的数需要注意的地方left和right的初始值,为何right=nums.length目标是为了取第一个大于等于target的数,那么这个数可能不存在;假如target不存在,那么right的值为nums.length - 1,返回的left下标就是最后一个元素 ;如果right = right + 1,那么最后返回的是nums.length。(更详细的解释判断是否存在要求的值就是nums[left] == target和left == nums.lengt.

2021-07-19 12:12:24 112

原创 【算法】 有序无重复/重复数组的二分查找 (纪录篇)

题目给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以假设 nums.

2021-05-31 17:00:40 901

原创 【算法】 判断字符的子序列(纪录篇)

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。进阶:如果有大量输入的 S,称作 S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?示例 1:输入:s = "abc", t = "ahbgdc"输出:true示例 2:输入:s = ".

2021-05-26 18:55:05 324

原创 【算法】 链表反转以及升级难度-递归和迭代解法(纪录篇)

链表反转-问题描述现存一个单项链表,next指向下一个节点(如图),node1->node2->node3->node4->node5问:如何实现把链表反转成:node5->node4->3->node2->node1初步思想我的第一思想是:我遍历到最后然后再来倒序的进行链表反转;感觉对于反转的话,第一时间我肯定需要找到最后一个节点,然后把他变为头节点,然后再找到次级节点然后再反转指针,不过这个怎么实现呢,一头晕。bigo,突然想了一下,我递.

2021-05-21 14:53:41 160

转载 详解进程间通讯的7种方式

1、常见的通信方式管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。共享存储SharedMemory:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一

2021-04-27 16:21:56 970

原创 【算法】简述统计一个圆中点的数目(纪录篇)

首先还是老规矩先亮剑,展现出这次的题目给你一个数组 points ,其中 points[i] = [xi, yi] ,表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。同时给你一个数组 queries ,其中 queries[j] = [xj, yj, rj] ,表示一个圆心在 (xj, yj) 且半径为 rj 的圆。对于每一个查询 queries[j] ,计算在第 j 个圆 内 点的数目。如果一个点在圆的 边界上 ,我们同样认为它在圆 内 。请你返回一个数组 answer ,其中.

2021-04-25 15:54:27 916

原创 【算法】数字三角形打印路径数字动态规划(纪录篇)

给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大和路径。输入数组:73 88 1 02 7 4 44 5 2 6 5输出:最大:30路径:7 3 8 7 5普通思维从上到下,一个一个的遍历然后相加对比。那就是把所有的可能都要走一遍,然后比对最大的一个数出来,然后打印路径。那么这个所有的路径就非常多了,而且会跟着层数的增加成几何倍数的增加,所以这种比对方式肯定是不对的。.

2021-04-22 15:35:47 601

原创 【算法】中序遍历二叉树-层级遍历(记录篇)

算法题目:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层序遍历结果:[ [3], [9,20], [15,7]]通过次数294,770提交次数459,173解题思路第一感思维:遍历整棵树,那么我不知道哪个节点是哪一层的,我只能从左边遍历到底,然后在遍历右边(前序遍历)。那么怎么才

2021-04-21 19:49:51 315

原创 记一次kafka消费者不消费,消费组被踢出问题

描述环境:出现12台集群一个kafka节点,消费组一个java-data,消费者6个问题:运行几个小时后,开始逐步出现消费者被coordinator提出消费组,但是程序进程未退出,正常运行中。怀疑问题网络问题,不生产数据,一直挂起来,观察是否会被踢掉消费阻塞单机性能和吞吐量分析源码,修改源码打印日志,降低到一台消费者1.第一次排查1. 排查日志出现consumer poll timeout has expired. This means the time between subs

2021-03-18 15:43:45 9668 6

原创 springcloud客户端注册时 Saw local status change event StatusChangeEvent错误

启动报错信息2020-06-12 11:48:54.815 WARN 7728 --- [ Thread-31] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1591933734815, current=DOWN, previous=UP]2020-06-12 11:48:54.819 INFO 7728 --- [ T.

2021-03-18 15:26:10 3058 4

原创 分布式自定义异常工具包RuntimeException

前言在java项目里,异常的使用是比不可少,但是很多的开发者并不知道异常在项目中要怎么使用会更好一些,今天就给大家说说项目中我是怎么使用的,也希望能引出你的更好的使用方法和想法。分析我们先来说说,目前很多项目都是怎么处理自定义异常的呢?因为项目采用的是基本都是MVC代码组织模式,所以很多的项目会按层次定义自己的异常,例如:DaoException、ServiceException、ControllerException,还有按照第三发组件定义自定义异常,例如:MysqlExceptioin、Redi.

2021-03-18 15:18:45 829

原创 Java中this关键字使用

说明当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。1、 使用this来区分当前对象。Java中为解决变量的命名冲突和不确定性问题,引入关键字this代表其所在方法的当前对象的引用:构造方法中指该构造器所创建的新对象;方法中指调用该方法的对象;在类本身的方法.

2021-03-18 15:08:53 250

原创 twemproxy报错问题set或者get某一些KEY的时候报错(error) ERR Connection refused,但是一些key又可以set和get成功的奇怪问题。

1、下载了nutcracker,安装Tobuildnutcrackerfromdistributiontarball:$./configure$make$sudomakeinstall2、配置文件配置conf/nutcracker.yml,配置了一个alpha:,信息如下:alpha:listen:0.0.0.0:22121...

2020-05-06 10:43:29 117

原创 自我记录下LocalDate方法

getYear() int 获取当前日期的年份getMonth() Month 获取当前日期的月份对象getMonthValue() int 获取当前日期是第几月getDayOfWeek() DayOfWeek 表示该对象表示的日期是星期几getDayOfMonth() int 表示该对象表示的日期是这个月第几天getDayO...

2020-04-30 11:30:17 210

原创 java日终

主要写一下最近写的日终的东西,日终主要是每日统计跑数,就不需要在用统计的时候大量的带条件分组去查询,从而提高统计信息的查询效率。简单的来说日终的主要逻辑就是定时的跑一个方法,从而去把需要的数据统计出来,放到指定的数据库表里面的操作;里面运用到的方法和技术主要有:java的反序列化,activeMQ,spring定时器。spring配置定时器quartz配置

2020-04-30 11:29:57 224

原创 JNA 回调和使用经历

1.JNA C端代码注意事项1.如果是结构体回调参数,C端必须重新向JVM声明新的内存空间,把每个参数重新赋值,意为原参数空间地址有引用,不然会出现java端获取参数时乱码/空的情况。2.结构体数组回调或者返回会出现这个问题,其他单个结构体和直接参数返回暂时没有此情况。建议:所有返回java的参数或者结构体/结构体数组,都重新声明一个新对象一来接收,意为有新的指针指向内存地址,内存空间有引...

2020-04-30 11:29:20 4093

原创 spring-webflux 与gateway 和springboot-start-web问题

Spring-webflux当两者一起时配置的并不是webflux web application, 仍然时一个spring mvc web application。官方文档中有这么一段注解:很多开发者添加spring-boot-start-webflux到他们的spring mvc web applicaiton去是为了使用reactive WebClient. 如果希望更改webAppli...

2020-04-30 11:19:05 3619

原创 基于jdk1.8 Stream 和 parallelStream

一.什么是Stream?Stream 是在 Java8 新增的特性,普遍称其为流;它不是数据结构也不存放任何数据,其主要用于集合的逻辑处理。二.和Iterator的区别Iterator 做为迭代器,其按照一定的顺序迭代遍历集合中的每一个元素,并且对每个元素进行指定的操作。而 Stream 在此基础上还可以将这种操作并行化,利用多核处理器的优势快速处理集合(集合的数据会分成多个段,由多个线程处...

2020-04-30 10:58:28 849

原创 【常用方法】JDK1.8 分组-求和-去重-排序 持续更新

JDK1.8收集方法根据集合某个字段求sum IntSummaryStatistics caramsCollect = caramsList.stream().collect(Collectors.summarizingInt(map -> Integer.parseInt(StringTool.toString(map.get("count")))));计算 数量int sum...

2020-04-30 10:55:39 3575

原创 IDEA git拉取代码冲突后无法引用本地Class类

今天从git 上下载下来的项目,然后出现很多冲突,我解决了冲突,但是有一引入本地Class类报错,不能引用,但是如果不删除这个引用直接用maven编译时能编译通过的,并且也可以启动。1.删掉项目,重新下载也不好用2.重启IDEA,也没有解决问题,3.重启电脑,也没有解决原因:IDEA中有缓存,应该是项目中的缓存,建立的索引报错了,导致不能正常引用现...

2020-04-27 14:31:46 849 2

原创 maven 构建出错: Failed to clean project: Failed to delete target

windows下,经常容易出现文件被其他程序占用的现象,令人十分头疼。更头疼的是,还看不到被谁占用。实际上是有办法看到占用的进程的。话不多说,以Win10为例:1.打开资源监视器  b.打开任务管理器(Ctrl+shift+ESC),进入性能栏,最下方即资源监视器入口2.资源监视器中在CPU栏有个关联的句柄自选项,选项栏右侧有个搜索栏,在其中输入被占用的文件的名称即可...

2019-10-14 15:46:24 523

转载 spring cloud简单转载

https://juejin.im/post/5b83466b6fb9a019b421cecc

2019-03-22 16:57:04 101

转载 rabbitmq集群链接

https://blog.51cto.com/11134648/2155934

2019-03-18 14:44:17 891

原创 mysql 日期和时间格式转换实现语句

对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) DAYOFWE

2017-08-11 16:52:17 482

原创 jquery 序列化获取表单数据,并装入JSON数组

2017-04-27 16:51:04 660

转载 $.ajax()参数

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和      delete也可以使用,但仅部分浏览器支持。timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局

2016-11-27 22:35:21 126

转载 uniqueResult和list

数据库中根据你的查询条件只会返回唯一结果,就可以用uniqueResult这个方法!否则就用list();其返回类型为Object uniqueResult()方法通常是在业务方法查询语句中用到的,比如(UsersRoles)getSession().createQuery("select ur from UsersRoles ur where ur.role.id = ? and ur.

2016-11-24 14:33:25 306

原创 解决8080端口被使用

在dos下,输入  netstat   -ano|findstr  8080 //说明:查看占用8080端口的进程显示占用端口的进程taskkill  /pid  6852  /f //说明,运行windows自带taskkill命令,将上面显示的进程号,结束掉。下面有图为证

2016-11-23 18:13:40 388

原创 JSONObject 的基本用法

public static void main(String[] args) {Map map=new HashMap();map.put("我","妹");map.put("擦","哇");map.put("你","呀");JSONObject json = JSONObject.fromObject(map);System.out.println

2016-11-23 16:03:37 1901

空空如也

空空如也

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

TA关注的人

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