- 博客(179)
- 收藏
- 关注

原创 Dbeaver启动报错
Root exception:org.eclipse.core.internal.dtree.ObjectNotFoundException: 找不到树元素“/General/Scripts/Script-1.sql”。 at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:260) at org.eclipse.core.internal.dtree.DeltaDataTree
2021-07-05 17:28:17
18423
8

原创 AOP 使用自定义注解method.getAnnotation为null
这个aop拦截的是ServiceImpl的一个方法,然后这个ServiceImpl又启动了事务管理,而事务管理又是基于AOP的。也就是说,这个权限的@Around的切面拦截的是个代理对象的方法,而代理对象的方法是不会把原来父类中的方法的注解加上去的,所以这里这个注解的对象为null。private String getOperationOfTheAnnotation(Proceeding...
2020-03-10 18:59:28
7350

原创 MySQL高级特性四:查询缓存
很多数据库产品都能够缓存查询的执行计划,对于相同类型的SQL就可以跳过SQL解析和执行计划生成截断。MySQL在某些场景下也可以实现,但是MySQL还有另一种不同的缓存类型:缓存完整的select查询结果,也就是查询缓存。MySQL查询缓存保存查询返回的完整结果。当查询命中该缓存,MySQL会like返回结果,跳过了解析、优化和执行截断。查询缓存系统会跟踪查询中涉及的每个表,如果这些表发生...
2019-02-02 13:16:17
12843
9

原创 MySQL高级特性一:分区表
对用户来说,分区表时一个独立的罗技表,但是底层由多个无力字表组成。实现分区的代码实际上是对一组底层表的句柄对象的封装。对分区表的请求,都会通过句柄对象转化成对存储引擎的接口调用。所以分区对于SQL层来说是一个完全封装底层实现的黑盒子,对应用是透明的,但是从底层的文件系统来看就很容易发现,每一个分区表都有一个使用#分隔明明的表文件。MySQL实现分区表的方式;对底层表的封装,意味着索引也是按照分...
2019-01-22 17:31:26
34728
11

原创 MySQL优化三:查询性能优化之查询优化器的局限性与提示
MySQL的万能嵌套循环并不是对每种查询都是最优的。不过MySQL查询优化器只对少部分查询不适用,而且我们往往可以通过改写查询让MySQL高效的完成工作。1 关联子查询MySQL的子查询实现的非常糟糕。最糟糕的一类查询时where条件中包含in()的子查询语句。因为MySQL对in()列表中的选项有专门的优化策略,一般会认为MySQL会先执行子查询返回所有in()子句中查询的值。一般来说,...
2019-01-17 19:22:50
9509
13

原创 DIV+CSS虚线边框
这里通过边框属性的虚线边框border控制虚线。以下设置的css 高度(css height)和css 宽度(css width)为350像素是为了便于观看演示 其它意思。一、四边为虚线边框border:1px dashed #000; 黑色虚线边框实例:CSS代码: .divcss5{border:1px dashed #000; height:50px;width:350px}Html...
2018-12-10 18:12:10
28026
4

原创 IntelliJ IDEA 必会的基础配置
刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改tab的显示的数量和行数,打开项目方式,等等一大堆东西。 总结一下,免得下次换了系统,还得再找一遍配置。 设置外观和字体大小 这个呢是设置一下外观。和字体大小。放在第...
2018-09-27 17:31:46
15323
5
原创 MySQL查询 order by id 导致所有服务不可用!损失5W 美金
首先通过结构化拆分讲述分为以下3点:1.什么问题导致出现了这个情况一个内存服务发布重启过程中,在启动加载数据的时候出现了慢sql导致服务启动超时不断重启2.这个情况带来了哪些影响a服务启动期间一直在加载数据库数据,导致mysql cpu急速上升,其他服务由于调用a服务接口失败降级查询mysql 使mysql cpu上涨直至打满,最终导致全栈服务不可用3.后续如何规避
2025-03-23 01:30:36
1020
原创 mysql优化-升级8.0服务启动失败
信息模式是一种数据库模式,它提供了关于数据库表、列、索引等元数据的信息。然而,在某些情况下,应用程序可能不需要这些元数据,或者需要更细粒度的控制来访问数据库结构。information_schema是MySQL数据库中的一个系统数据库,用于存储关于数据库和表的元数据信息。该数据库中的表包含了关于数据库、表、列、索引、触发器、权限等的详细信息。这可以提高性能,因为不需要额外的查询操作。如果使用了sharding-jdbc此类插件,在服务启动时就会加载所有库表信息,更不需要信息模式。
2025-02-07 16:01:36
466
原创 C盘清理指南
windows.old:它是电脑在重装系统的过程中,备份旧系统中重要文件的文件夹,它位于新系统的C盘中。如果新系统有问题,就可以提取它里面的文件来替换整个系统或单个文件,如果你不需要,可以安心删除。许多用户通过删除该文件夹中的文件来清理Windows的临时文件,但实际上这样清理并不彻底,我们可以有更轻松、安全的方法。但是,由于回收站会随着时间的推移变大,清空其中的内容是释放计算机空间的第一件事。很多人喜欢把文件放在桌面上,越堆越多,桌面上的文件是占用C盘空间的,而且放置太多的话,导致电脑卡顿。
2024-04-06 01:46:22
22139
原创 Redisson 3.18.0版本解决failover相关问题
Redisson 在历史多个版本都出现了failover期间报错的问题并且目前没有一个版本可以完全解决这个问题,所以在当前使用版本3.18.0基础上做了二次开发,达到降低业务由于redis遇到问题导致不可用。
2024-02-27 17:14:13
854
原创 结构化思维(思考方式)
先别管那些复杂的概念,简单说,结构化思考就是给你的思考过程套一个逻辑结构,这个结构就是你的思考脉络。我们思考是为了解决问题,通常来说呢,复杂问题的解决路径是这样的:1 我们先提出问题2 然后再去发现真问题3 再去分析问题4 然后提出解决方案5 再落实行动6 最后总结复盘这是一个完整的闭环,这当中通过结构化思考分析问题,能够起到纲举目张,四两拨千斤的效果。那整套完整的路径我们后面再详说,我们先搞清楚什么是结构化思考。到底怎么思考?又有哪些常见的结构?
2024-01-15 03:35:11
1340
原创 性能优化之网络带宽限制websocket推送优化
问题产生于,当我们的服务系统随着业务的迭代对用户推送内容的不断增多,某一个业务的推送消息达到了 64k/条。签约时候限制的是 500M/s,经过我们的排查发现每秒的带宽消耗绝对没有这么高,而且我们自己也是有监控系统的,通过监控并没有发现有超过阈值的情况发生。由于一些保密性原因,不会写一些具体的涉及到业务处理内容了,以后大概会更多的分享一些性能优化的解决措施和思路。使用令牌桶,每秒定量一定令牌数,如果超出令牌数量则进入等待队列,当前线程将不断轮询队列持续发送,直到等待队列发送完成。
2023-03-22 16:38:01
1955
原创 kafka CommitFailedException
具体的思路就是,让下游系统手动创建多个消费线程处理 poll 方法返回的一批消息。在最新版的 Kafka 中,该参数的默认值是 5 分钟,但是不一定会生效,如果设置了session.timeout.ms,没有设置 max.poll.interval.ms,那么将会根据它的默认值不会生效。出现这个情况的原因是,你的消费者实例连续两次调用 poll 方法的时间间隔超过了期望的 max.poll.interval.ms 参数值。这通常表明,你的消费者实例花费了太长的时间进行消息处理,耽误了调用 poll 方法。
2022-11-17 14:14:06
550
原创 高并发线程内存事件处理器 disruptor 二 hello world
本篇为disruptor的一个demo,帮助大家快速入门使用起来,下面的代码是一个简单的实现,可以跟着本地debug进行源码查看一下具体的事件处理过程。
2022-11-15 17:00:26
307
原创 高并发线程内存事件处理器 disruptor 一 初步了解
简介Disruptor是英国外汇交易公司LMAX开发的一个高性能,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。目前,包括Storm、Camel、Log4j 2在内的很多知名项目都应用了Disruptor以获取高性能。
2022-11-07 15:57:11
371
原创 今年新版面试题及答案(上个月朋友面试成功后留下的题目)
1.kafka的读写效率快的原因(详细解释传送门;https://blog.youkuaiyun.com/lianggzone/article/details/112386378) (1) 利用 Partition 实现并行处理 Kafka 是一个 Pub-Sub 的消息系统,无论是发布还是订阅,都要指定 Topic; Topic 只是一个逻辑的概念。每个 Topic 都包含一个或多个 Partition,不同 Partition 可位于不同节点。 一方面,由于不...
2021-07-27 20:35:54
739
3
原创 记录一个小BUG(并行流&字符串拼接)
场景:线上日志输出调用外部接口错误处理过程:1。日志排查找到调用的外部接口链接2。查询调用日志方法请求参数3。手动执行部分参数看调用是否有问题4。沟通相应开发查看运行日志,同时排查相关代码查看错误原因问题定位:1。该方法请求参数拼接有问题,拼接结果并不是每个元素间有一个分隔符,有可能会有多个连续分隔符2。服务提供方请求日志查询结果显示有超长请求参数导致转换long类型异常问题分析:1。StringBuffer虽然是线程安全的,但是只能保证append方法拼接不产生..
2021-02-03 13:34:57
274
1
原创 Spring cloud Zuul和Hystrix
Zuul 1.应用场景 它相当于是一个网关,可以使用一定的路由配置来判断某一个URL由哪个服务来处理。并从Eureka获取注册的服务来转发请求。 API网关所有的客户端请求通过这个网关访问后台的服务。 2.核心功能 Zuul包含了对请求的路由和过滤两个主要功能,是各种服务的统一入口,同时会提供监控、授权、安全、调度等功能。 路由:负责将外部请求转发到具体的微服务实例上,是实现外部访问同一入口的基础,他与Nginx的区别就在于它提供了认证鉴权、动态路由、监控...
2021-01-05 15:19:30
972
原创 Spring Cloud 注册中心 Eureka
目录微服务的应用场景和核心竞争力Spring Cloud 与 Dubbo 的对比活跃度架构模块介绍EurekaEureka ServerEureka ClientZK与Eureka对CAP的支持(一致性、可用性、分区容错性)微服务的应用场景和核心竞争力低耦合:每一个微服务专注于单一功能,并通过良好的接口命名方式清晰表达出服务边界。由于体积小、复杂度低,可将每个微服务拆分为一个独立项目进行开发,易于保持高可维护性和开发效率。 部署:由于每个微服务都是一个可以.
2020-12-24 15:07:31
356
原创 当当的DubboX
最近有用到这个版本,特意搜了搜相关文档。虽然本项目版本比较老 但是还相对稳定,并且在某些方面使用的还比较方便。其最最最主要的作用就是为Dubbo服务提供Http请求访问接口,相信大家都曾经遇到过Dubbo服务和Http都需要提供的情况,通常我们是分开实现两个服务,底层实现调用一个业务逻辑,有了当当的这个DubboX只需要一个Dubbo接口就可以完美解决这个问题了。下面文档中各种Demo和介绍都有,如果有兴趣尝试一下的同学,一定要仔细看!!!以下为文档链接在Dubbo中开发REST风格的远程.
2020-10-29 20:51:33
371
5
原创 jquery:时间类型字符串转为Date类型
/** * 字符串格式:'YYYY-MM-DD HH:mm:ss */function getDate(dateStr) { return new Date(Date.parse(dateStr.replace(/-/g, "/")));}
2020-10-15 19:30:38
3214
原创 leetcode-77. 组合
给定两个整数n和k,返回 1 ...n中所有可能的k个数的组合。输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]class Solution { private List<Integer> temp = new ArrayList<>(); private List<List<Integer>> ans = ne...
2020-09-16 18:18:59
156
原创 leetcode-226. 翻转二叉树
谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1今天我也可以秒懂了,haha...class Solution { public TreeNode invertTree(TreeNod
2020-09-16 16:15:16
210
原创 leetcode-216. 组合总和 III
找出所有相加之和为n 的k个数的组合。组合中只允许含有 1 -9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]class Solution { public List<List<Integer>> combin...
2020-09-11 11:51:23
444
原创 线上BUG定位及修复(MQ处理商品信息,实体商品与虚拟品处理逻辑)
背景: 1.MQ消费处理集群 负责整个项目中相同/相似逻辑的统一处理,降低冗余代码,提高API响应效率 进行异步处理 2.业务API 集群 本次涉及API内主体流程仅有请求参数校验,成功后发送MQ进行处理 3.定时任务 扫描数据库内需要更新的数据 4.涉及表 预售商品信息表、商品表、预售变更记录、商品信息变更记录涉及流程: 电商产品分为:预售、在售、虚拟品等多种状态 预售:...
2020-08-14 15:39:44
479
原创 算法相关电子书(不要积分点个赞就好)
算法第四版(中文)链接:https://pan.baidu.com/s/1PqowN1Br18HXX3SyPEjPug提取码:csl7算法链接:https://pan.baidu.com/s/1PBIdc7Z5Uhrhpu2tPn9Ckg提取码:j8gg算法图解链接:https://pan.baidu.com/s/1mB_giv_SYGWiCwhJTmARUw提取码:rhnk图灵的秘密链接:https://pan.baidu.com/s/1PX18iwhBz...
2020-08-05 20:38:49
1052
3
原创 leetcode-343. 整数拆分
给定一个正整数n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。例:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。拆分规则:最优: 3 。把数字 n 可能拆为多个因子 3 ,余数为 0,1,2 三种情况。次优: 2 。若余数为 2 ;则保留,不再拆为 1+1 。最差: 1 。若余数为 1 ;则应把一份 3+1 替换为 2.
2020-07-30 19:20:14
311
原创 查询API优化
1.当前待优化背景 [1] 重复高频的数据查询请求(并且由于是核心API,可能会有多个其他系统同时进行调用并且由于是核心API,可能会有多个其他系统同时进行调用) [2] 数据具有周期性(数据有自己的生命周期,周期结束后很少会再次访问)2.当前需要的主要关注点 [1] 故障快速恢复 需要有数据持久化相关功能保证宕机数据及时恢复 硬件配置:可以配置多组多实例多机柜,保证服务。 [2] 查询性能 可通过减少数据索引条件...
2020-07-30 18:37:56
354
2
原创 TopK问题
找到最小的K个数1.O(N):用快排变形最最最高效解决TopK问题 class Solution { public int[] getLeastNumbers(int[] arr, int k) { if (k == 0 || arr.length == 0) { return new int[0]; } // ⚠️注意最后一个参数传入我们要找的下标(第k小的数下标是k-1) return qu...
2020-07-17 16:32:03
249
原创 leetcode-96. 不同的二叉搜索树
给定一个整数n,求以1 ...n为节点组成的二叉搜索树有多少种?例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 ...
2020-07-15 12:11:27
165
原创 leetcode-209. 长度最小的子数组
给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和≥ s的长度最小的子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。示例:输入:s = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。解:滑动窗口public static int minSubArrayLen(int s, int[] nums) { int len = nums.length; if ...
2020-07-10 16:53:47
436
原创 Netty shizhan(不用拼音不让发,我戳 不要积分点个赞就好)
如果链接不好使了,可以留言 我在重新发一个。点关注不迷路,哈哈链接:https://pan.baidu.com/s/1IYMwKFmRjoRnx3FAqysFQw提取码:pt4q
2020-06-12 17:23:54
365
原创 leetcode-15. 三数之和等于0
给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]class Solution { public List<List<Integer>...
2020-06-12 17:21:15
381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人