buchifanqie
码龄8年
关注
提问 私信
  • 博客:47,600
    47,600
    总访问量
  • 32
    原创
  • 1,327,915
    排名
  • 7
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2016-08-18
博客简介:

buchifanqie的博客

博客描述:
一个在互联网努力奋斗的番茄
查看详细资料
个人成就
  • 获得29次点赞
  • 内容获得12次评论
  • 获得88次收藏
  • 代码片获得255次分享
创作历程
  • 20篇
    2021年
  • 8篇
    2020年
  • 3篇
    2019年
  • 2篇
    2017年
  • 4篇
    2016年
成就勋章
TA的专栏
  • 算法
    10篇
  • linux
    1篇
  • java
    15篇
  • JDK1.8
    2篇
  • maven常见问题
    1篇
  • 注册eureka异常
    1篇
  • JNA
    1篇
  • 内存
    1篇
  • idea
    1篇
  • redis
    1篇
  • rabbitmq
    1篇
兴趣领域 设置
  • 人工智能
    深度学习
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

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

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

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

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

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

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

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 ·
1408 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

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 ·
1723 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

spring配置加载PropertyResourceConfigurer和PropertyPlaceholderConfigurer

继承图UMLPropertySourcesPlaceholderConfigurerPropertySourcesPlaceholderConfigurer,也就是 BeanFactoryPostProcessor接口的一个实现,PropertySourcesPlaceholderConfigurer:PropertyPlaceholderConfigurerPropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostP.
原创
发布博客 2021.08.24 ·
1640 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

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

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

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

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

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

寻找第一个>= 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 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

题目给定一个 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 ·
1008 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

给定字符串 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 ·
364 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

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

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

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

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

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

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

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

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

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

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

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

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

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 ·
3178 阅读 ·
4 点赞 ·
4 评论 ·
1 收藏

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

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

Java中this关键字使用

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