解决问题合集
文章平均质量分 67
boy快快长大
只要今天比昨天好,这不就是希望吗
展开
-
线程池使用实战
拒绝策略:ThreadPoolExecutor.CallerRunsPolicy 表示当任务无法被线程池处理时(例如线程池已满并且队列已满),该策略将由提交任务的线程来执行任务,而不是抛出异常。核心线程数(corePoolSize):Runtime.getRuntime().availableProcessors(),即根据 CPU 可用核心数设置核心线程数,这意味着它将使用与 CPU 核心数相同的线程数来保持一定的并发性能和资源利用率。如果所有线程都在忙碌,且队列已满,新任务将根据拒绝策略处理。原创 2024-11-06 14:23:17 · 631 阅读 · 0 评论 -
【Kafka】SpringBoot项目配置多个Kafka
【代码】SpringBoot项目配置多个Kafka。原创 2024-05-14 23:16:13 · 207 阅读 · 0 评论 -
分布式锁与秒杀
【代码】分布式锁与秒杀。原创 2024-05-05 22:17:46 · 414 阅读 · 0 评论 -
【高并发解决思路】
高并发指的是两方面。 第一方面 指同一时刻有大量的请求访问系统。 第二方面 指的是大量的请求并行访问系统,注意并行并不是同一时刻,但有个指标是一秒内能处理的请求数量。 当大量请求短时间内涌入系统的时候,我们第一时间能想到的是提升机器的性能。如何提升呢? 就是提升硬件,提升单机性能,比如说从8核提升到16核,从8G提升到16。 但是这样的提升毕竟有限。我们可以部署多台机器来分担压力,也就是常用的负载均衡。这也需要你的项目支持负载均衡的方式部署。比如引入redis来统一存储sessi原创 2024-05-02 16:12:47 · 424 阅读 · 1 评论 -
【OpenFeign-01】OpenFeign使用demo
这个参数是可选的,它允许您为 FeignClient 指定一个唯一的标识符,以区分不同的 FeignClient。path:这个参数指定了被调用服务的基本路径。value:这个参数指定了 FeignClient 的值,即被调用的服务的名称。在这个例子中,Application.SERVER_NAME 是一个常量,用于指定服务的名称。总体而言,@FeignClient 注解用于声明一个 Feign 客户端,它定义了与目标服务通信的一些基本信息,包括服务名称、上下文 ID 和基本路径等。原创 2024-04-20 23:23:02 · 985 阅读 · 0 评论 -
飞书上传图片
飞书开发文档上传图片:上传图片接口,支持上传 JPEG、PNG、WEBP、GIF、TIFF、BMP、ICO格式图片。在请求头上需要获取token(访问凭证)原创 2024-02-08 09:37:06 · 1798 阅读 · 0 评论 -
对Git更深入了解与学习
官方文档https://git-scm.com/book/zh/v2/Git-分支-分支简介。原创 2024-01-21 00:24:47 · 1316 阅读 · 0 评论 -
【JVM】面试题-01
1.尚硅谷Java开发常见面试题详解。原创 2024-01-14 18:32:41 · 454 阅读 · 0 评论 -
Docker:部署若依前后端分离版
会得到dist,然后将其打包,上传服务器到 /workspace(自己新建的文件夹),然后再解压。可以看到ruoyi 的进程是4969。docker阿里镜像申请。原创 2024-01-01 23:14:53 · 1865 阅读 · 2 评论 -
【MySQL】Navicat如何导表数据,导成一条Insert into
选择好表后面下一步就行了。原创 2023-12-28 17:09:11 · 1144 阅读 · 0 评论 -
一周工作问题总结(2023.12.18-2023.12.22)
这个brush_face表中每个人每天有多条记录,要拿到最新的记录,就需要group by name并且指定获取max(time)时间的。见以前写过的一篇文章。原创 2023-12-22 23:37:21 · 130 阅读 · 0 评论 -
Postman/Apifox使用教程
所谓的查询参数,其实就是URL地址中问号(?)后面的部分就叫查询参数。原创 2023-12-14 23:56:22 · 3495 阅读 · 1 评论 -
Mac 环境变量配置
1. 环境变量配置截图原创 2023-11-15 15:18:49 · 4559 阅读 · 0 评论 -
基础知识:位运算
这种设置可以实现对多个字段的开启与关闭状态的控制,是因为它利用了位运算的特性和位掩码的概念。在这个设置中,每个字段都有一个对应的位掩码,通过将位掩码与状态掩码进行按位与或按位非的操作,可以实现对字段的开启和关闭。具体来说,每个字段的位掩码是一个唯一的二进制值,其中只有一个位为1,其余位为0。位掩码可以通过左移操作符。原创 2023-11-05 18:54:02 · 150 阅读 · 0 评论 -
count(1)与count(*)的区别、ROUND函数
四舍五入:由于浮点数在二进制表示中的限制,Float类型的数值在进行计算和存储时可能会产生舍入误差。这意味着在进行精确计算时,BigDecimal通常比Float更可靠,因为BigDecimal采用了基于十进制的表示方式,能够精确地进行四舍五入。精度:BigDecimal是一种高精度的数值类型,可以存储任意精度的数值,而Float是一种单精度浮点数类型,具有固定的位数限制。其中,x是要进行四舍五入的数值,d是要保留的小数位数。需要注意的是,ROUND函数的舍入规则是标准的四舍五入。原创 2023-09-03 19:11:57 · 825 阅读 · 0 评论 -
【MySQL】查看所有数据库各表容量大小
【代码】查看所有数据库各表容量大小。原创 2023-08-21 23:09:31 · 495 阅读 · 0 评论 -
一周开发问题回顾(2023年08月07日-2023年08月13日)
然而,我们是可以对新创建的 List 中的数组中的元素进行修改的。需要注意的是,如果你对 List 中的元素数据进行了修改的话,那么对应 Array 的数据也被改动了。注解的方法将在依赖注入完成后被调用,但在对象被放入服务之前。它可以用于任何类或bean中,包括普通的POJO类、Spring管理的组件、EJBs等。是一个在Java中常用的注解,它用于指定一个方法在对象创建后立即执行。然后创建接口的实现类,也就是不同的情况,每个策略实现的不同类。注解需要依赖于Spring或其他框架,以确保方法的正确调用。原创 2023-08-13 23:20:50 · 438 阅读 · 0 评论 -
最近遇到一些问题的解决方案
循环遍历元素时,并且在循环体内修改了。的结构(例如添加或移除元素),会导致。为了避免这个问题,可以考虑使用。,而在进行下一次迭代之前,会检查。循环时,如果在循环体内修改了。在Java中,当您使用。的结构是否发生了变化。原创 2023-07-29 18:05:52 · 466 阅读 · 0 评论 -
Git远端操作命令
命令主要用于将当前的工作目录和暂存区中的修改保存起来,以便你可以暂时切换到其他分支或进行其他操作,然后再回到原来的分支时重新应用这些保存的修改。保存临时修改:当你在当前分支工作时,想临时切换到其他分支,但又不想提交或丢弃当前的修改时,你可以使用。只能保存与当前分支相关的修改,对于未跟踪的文件或其他分支上的修改不会被保存。后,你可以切换到其他分支进行工作,而不需要担心你的修改会影响其他分支。命令来保存不同的修改,每个保存的修改都会被依次记录下来。后,暂存区的修改会被清空,但工作目录中的修改会保留。原创 2022-10-31 17:42:48 · 5200 阅读 · 0 评论 -
如何为HashMap设置初始化大小
/ TODO 源码部分待完善。原创 2023-07-19 16:46:24 · 992 阅读 · 0 评论 -
@Value的使用
1.对List使用@Value2.对String使用@Value其中“:”后面是默认值,既在配置中找不到ok.feedback.chat_id的值,默认为3.对Map使用Value其中key:l7 Value:3213、key:l10 Value:11111//TODO。原创 2022-10-26 18:34:38 · 469 阅读 · 0 评论 -
Java项目中一些注解的作用
当容器创建一个带有 @PostConstruct 注解的 bean 时,将会在依赖注入完成后立即调用带有该注解的方法。例如,在一个使用Spring框架的应用中,可以使用 @PostConstruct 注解来标记一个方法作为初始化方法,以便在依赖注入完成后执行一些设置操作,如初始化某些属性或建立数据库连接。在上面的例子中,当容器创建 MyBean 实例并完成依赖注入后,将调用带有 @PostConstruct 注解的 init() 方法,从而设置 message 属性并执行其他初始化操作。原创 2023-07-17 14:32:58 · 364 阅读 · 0 评论 -
如何保证缓存数据一致性
常见缓存有: 计算机内存, CPU缓存, 数据库缓存, Redis缓存, 服务器缓存, CDN, 浏览器缓存…→在近用户端或支持高速读取的位置, 对使用频繁的数据进行冗余存储, 以达到加速读取数据的目的→ 以加速读取为目的的冗余数据Cache-Aside (旁路缓存模式), 具体操作逻辑如下在读请求中, 首先请求缓存a. 若缓存命中, 则直接返回缓存中的数据b. 若缓存未命中, 则查询数据库并将查询结果更新至缓存, 然后返回查询出的数据在写请求中, 先更新数据库, 再删除缓存。原创 2023-07-05 09:23:18 · 1102 阅读 · 0 评论 -
【MySQL】 GROUP BY 多个字段的用法说明
在 mysql 中使用 group by 的意思是分组查询。如果 group by 后面跟的是单个字段,那么表示按照这个字段分组查询,如果 group by 后面跟的是多个字段,那么表示按照这些字段的不同组合分组查询。原创 2023-06-25 23:03:02 · 4997 阅读 · 0 评论 -
什么是DevOps
=====>什么是DevOps与CICD。原创 2023-06-24 18:23:42 · 486 阅读 · 0 评论 -
idea线上debug
之前的传统做法是:查看异常日志,根据日志定位到出错代码,然后再根据相关参数及异常信息进行推断。但是很多异常问题需要更细致的进行debug才能够更精准的去定位和解决,这种情况下,我们希望能够像在本地调试一样去debug线上/测试环境的代码,这样可以大大提升bug修复的效率。在微服务开发中,开发的服务可能会依赖数据库、消息队列等资源,也有可能依赖其他的服务,这些服务又有新的依赖,或同一套代码本地环境没问题测试环境出问题无法复现,这种情况下,在自己的开发环境中完全模拟测试、线上环境变的极其困难。原创 2023-05-18 21:24:08 · 1358 阅读 · 0 评论 -
Map在循环中修改自己的key与value
也就是说在数据量一定的情况下,并发的线程越多,ConcurrentSkipListMap越能体现出他的优势。它使用了一种乐观锁的机制来保证并发访问的正确性,当多个线程同时修改同一个元素时,只有一个线程会成功,其他线程则会进行重试,确保数据的正确性。与Java的其他Map实现不同的是,ConcurrentSkipListMap中的元素是按照键值有序排列的。Java的ConcurrentSkipListMap是一种基于跳表算法实现的并发数据结构,它可以在多线程并发访问时保证数据的正确性和一定的性能。原创 2023-05-11 09:42:32 · 5183 阅读 · 0 评论 -
【MySQL】记录一次业务SQL
1.记录一次业务SQL。原创 2023-04-11 12:32:32 · 96 阅读 · 0 评论 -
【MySQL】知识点总结
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。原创 2023-03-28 15:26:47 · 2281 阅读 · 2 评论 -
List集合转Page分页
*** 分页函数* @param currentPage 当前页数* @param pageSize 每一页的数据条数* @param list 要进行分页的数据列表* @return 当前页要展示的数据= 0) {// 求出最大页数,防止currentPage越界 int maxPage = size % pageSize == 0?} } // 当前页第一条数据的下标 int curIdx = currentPage > 1?原创 2023-03-01 21:12:36 · 1288 阅读 · 0 评论 -
AOP切面编程
AOP(Aspect-Oriented Programming:面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。原创 2023-02-13 22:28:29 · 183 阅读 · 0 评论 -
分页查询及参数校验Where条件运算符优先级总结
【代码】分页查询及参数校验Where条件运算符优先级总结。原创 2023-02-10 22:50:24 · 235 阅读 · 0 评论 -
记录一次Vue项目安装 -- eslint版本过高问题
然后删除package-lock.json和node_modules文件。通过和前端同学对比,发现我的Node版本过高,通过命令。公司的前端项目启动,我通过。发现eslint版本过高。一直安装不上,报错。然后对node 降级。原创 2023-01-13 17:07:22 · 2575 阅读 · 0 评论 -
记录一次java.lang.UnsupportedOperationException异常
原理是将 java.util.Arrays.ArrayList值复制到新的java.util.ArrayList对象中。然后最常用的数据结构就是列表。使用列表有两种方式,通过挨个添加元素,或者将素组转为列表直接使用。在工作中常用的集合工具类包。原创 2022-12-28 15:00:18 · 628 阅读 · 0 评论 -
根据Excel表头的位置数转化为对应列名称
后面的阶段是固定的,每个占用8格,所以更需要知道每个阶段开始和结尾的表头命。如阶段1就是U1和AB1。为了合并单元格,需要知道表头的位置,比如合并A-G就需要A1和G1。原创 2022-12-08 15:22:17 · 411 阅读 · 0 评论 -
枚举类的使用
【代码】枚举类的使用。原创 2022-12-08 09:30:35 · 272 阅读 · 0 评论 -
Stram流处理对象中有集合的最大值
就是Map处理,value是个集合,取出集合中的最大值,返回还要是int类型原创 2022-12-05 21:42:31 · 925 阅读 · 0 评论 -
Stream流toMap,key相同Value取最大值
Stream流中key相同value取最大的原创 2022-12-05 20:39:06 · 1370 阅读 · 0 评论 -
使用一次递归记录
问题:文章路径的获取首先是通过文章路径nodeId,在表e_toc_node找到导航路径uuid,然后在uuid这一行获取path字段,再从相同手册中找到uuid,这样往复循环知道,找到path为0的记录,最后拿到从根到最底层子节点的uuid的集合就是文章路径集合,也就是我想获取的。原来我是通过循环Map来查,通过一开始获取到的uuid获取对应的path,然后用这个path再去Map查,但是收集到的结果却总会漏掉一些信息。原创 2022-11-24 23:04:34 · 123 阅读 · 0 评论