- 博客(27)
- 收藏
- 关注
原创 【ThreadLocal实践二】带你用实际的业务去理解ThreadLocal的使用以及缓存的思想
【ThreadLocal实践二】带你用实际的业务去理解ThreadLocal的使用以及缓存的思想 ThreadLocal 实现了「线程隔离」 每个线程拥有自己独立的「存储空间」来记录与某个 ThreadLocal 相关联的值。该怎样去利用这个特性在多线程编程下?希望结合这两篇文章 你能对ThreadLocal的实际使用有更多的理解!
2025-01-22 07:38:08
235
原创 线程池使用不当的危害(三):如何正确根据业务去孤立使用线程池以及如何确定多个线程的执行正确与否?
该文章整理了实际线程池的使用例子以及在公司中如何根据业务去维护线程池的内容。通过以上的方式定义了一个可以维护的根据业务类型去创建线程池的工具类,以及给出了如何使用这个工具类的具体场景。希望这篇文章对你如何实际使用线程池有帮助!
2025-01-20 13:50:04
302
原创 Stream流实践(六):文本频率排序(Most frequently used words in a text)
本文会用一个例子去讲解Stream流 针对文本频率排序的问题的java实现。
2024-12-19 13:16:05
146
原创 【ThreadLocal实践一】带你用实际的业务去理解ThreadLocal的使用以及缓存的思想
考虑以下的业务背景,用户在一个请求中需要发起超过千次以上的批次请求,程序需要对每一批次的每一笔数据都进行校验、查库、落库。(也就是理解为一个Http进程中会处理上千次的重复查库)原本的业务代码是没有做任何控制,每一笔数据都会查询数据库,导致的问题为响应时间过长 批次超过了设定的阈值响应时间。
2024-12-12 11:25:50
294
原创 设计场景实际去体验 rabbitmq 重试机制。场景设计->消息流转模型设计->java代码实现
设想一下场景:消息发送的客户端,发送消息到交换器,交换器分发消息到消费者,此时我们的业务中的mq的消费者发生异常,消息没有正常消费。此时客户并不知道消息出现问题,我们也不能要求客户重新发送消息给消费者了,此时如何引入重试机制,使得消费者出现异常后,该条异常的消息能够重试n次,重新回到消费者队列,以供消费者重新使用呢?
2023-11-05 16:29:29
266
原创 手把手教你结合chatGPT api构建前后端项目(后端springboot+前端javascript)
你可以从这篇文章学到什么?1、简单web应用构建-》我将结合以进行过程演绎 2、后端 springboot 结合 chatGPT api 简单构建后端应用 3、前端使用parcel构建简单前端javascript项目
2023-10-24 08:01:41
821
原创 Stream流实践(五):使用group by然后紧跟sum sort等操作
本文会用几个例子去讲解Stream流 group by基本用法,以及group by分组之后对于分组数据的汇总、排序等操作
2023-03-30 17:48:32
6717
原创 Stream流实践(四):流中如何保留重复元素?(基本类型 对象)
我们已经非常熟悉了,Stream流中可以采用distinct()去除重复元素。那么反过来思考下,如何保留重复元素呢?例如:{ 1, 2, 1, 3, 4, 4 }输出结果:[1,4]
2023-03-27 10:51:24
699
原创 Stream流实践(三):多重嵌套对象的数据汇总
stream流实践,多重嵌套对象的数据计算。有一类似场景:c包含b 、b包含a ,计算 list中的所有数值?
2023-03-06 11:23:07
1016
原创 线程池使用不当的危害(二):使用jconsole图像化展示局部、类变量线程池的创建
在上一篇文章中我们讨论了应该如何使用线程池的问题,得到了不能随意在代码中new 局部变量的线程池,相信你已经知道了基本的使用规则。那么本篇文章就是带你使用工具去图像化的,直观化的体验web程序在相对的并发下,如果不复用线程池,无限制的创建局部的线程池,会带来的问题。
2023-02-28 17:46:31
194
原创 线程池excutor submit 两种方式 对于异常的处理问题的探究
不知大家在对待excutor or sumbit方式执行的线程池,内部出现异常是否要catch住这个问题有没有思考?例如,我常在代码中发现以下处理方式:
2023-02-24 16:21:04
1605
原创 线程池使用不当的危害(一):局部变量线程池、类变量线程池的使用方法
本文探索了局部变量线程池、类变量线程池使用上的坑,和可能导致的问题。最后根据经验和实际上线的项目,给出当前我的线程池使用经验,以及某些创建线程池的变化,供大家学习。
2023-02-07 17:50:44
1469
3
原创 Stream流实践(二):list 对象数组根据某字段去重的三种基本思路
相信大家对于list简单数组的去重很熟悉了,例如以下代码那我们来探讨下,对于list中保存为对象的数组,根据内部对象的某一个字段去重有什么好的思路呢?
2023-02-07 15:40:42
31232
2
原创 针对集合、map浅拷贝深拷贝的问题分析(以实际代码说明)
本文针对集合、map浅拷贝深拷贝的问题分析(以实际代码说明)两者的区别:浅拷贝:直接引用原对象的内存地址,导致修改复制后的对象,原对象也被修改深拷贝:重新在栈、堆中开辟空间,内存地址不一样,内部存放的数据一样,修改复制后的对象,原对象不会影响。那么本文就是针对常见的针对集合、map的复制方法,探究他们是浅拷贝还是深拷贝!
2022-09-25 10:22:51
2717
原创 oracle, clob类型查询提示:1. 字符串缓冲区太小 2. 数据类型不一致: 应为 -, 但却获得 CLOB的解决办法
oracle, clob类型查询提示:1. 字符串缓冲区太小 2. 数据类型不一致: 应为 -, 但却获得 CLOB的解决办法
2022-08-30 21:39:22
4514
原创 责任链模式的另一种实现方式(动态注入 + 顺序执行)
本文是作者结合工作中实际的责任链的处理情况,构建了如下的代码场景:1. 责任链的实现链条是固定执行的,模拟数据必须走完所有的数据过滤的处理器(注意:责任链的实现链条是不一定固定的,这里是固定的情况)2.具体的子类的实现必须是可配置的,即可以通过@AutoWire的形式自由配置子类,假如没有配置子类,则使用基类去执行过滤.........
2022-08-14 16:28:52
1448
原创 Stream流实践(一):Stream流的方式遍历map,筛选数据
有一产品类,包含id,产品编号,产品金额。在代码中采用map方式去存储该产品,map的key是从数据库中查询出来的每一个产品的序号,value则是一个一个的map类型,问:如何筛选这个map使得代码简介好看?......
2022-08-14 15:36:53
7600
4
原创 通过数据库底层ibd文件来理解char(n) varchar(n)中n的含义
前言不知你是否还在纠结char(n) 和 varchar(n)中的n到底是最多存储 n个字符 还是 n个字节 这样的问题?那么本文将会通过mysql数据插入的场景举例 以及 查询底层数据库的存储文件xx.ibd来回答你这个问题。好的,那我们就准备开始吧!数据插入场景实践伙计们,我准备新建两张表,分别仅存储char 和 varchar类型的数据来验证是【字符还是字节】的疑惑。下面这张图是我创建的测试表:CREATE DATABASE dbtestCREATE TABLE a1(--
2022-05-17 11:04:29
469
原创 工具向:一个工具类完美解决前后端时间戳与String的转换以及LocalDateTime的带T的解决
前提:数据库中时间格式是dateTimeJAVA类中以LocalDateTime 对应数据库中的dateTime工具类:注: 默认是以毫秒为粒度 以秒为粒度需要放开秒的注释/** * @author luo qinfeng */@Componentpublic class TimeUtils { /** * 格式化传入的时间戳(毫秒) * @param timeStamp * @return */ private Str
2020-11-14 17:01:07
1187
原创 工具向: springboot 2.0.x 以及 1.0.x 引入dubbo + zkclient 依赖的那些坑
正文springboot整合dubbo以及zookeeper的时候,出现以下的错误:zookeeper not connected日志的冲突空指针基本上都是导入的依赖的问题!!注意:一下测试是基于springboot最新版本2.3.1.RELEASE 以及1.x 版本 – 1.5.12.RELEASEporm.xml<!-- 引入dobbo启动器--><dependency> <groupId>org.ap
2020-07-12 23:07:17
629
原创 详解 java中 动态代理的两种实现方式(具体案例分析)
目录一. 简介二. 基于接口的动态代理核心:案例分析:案例的理解:三. 基于子类的动态代理核心:案例分析:案例的理解:四. 总结:一. 简介代理这种模式其实就是在不改变目标对象方法的情况下对方法进行增强 本文将从基于接口以及基于子类的方式来讲解动态代理二. 基于接口的动态代理核心: JDK官方提供的Proxy类中的newProxyInstance方法案例分析:这就是需要方...
2020-05-04 20:11:31
669
原创 工具向:spring中 数据的三种注入方式
目录一. 简介二. 构造函数的注入2.1 自定义的类2.2 xml文件的编写三. set方法注入3.1 自定义的类3.2 xml文件的编写四. 注解注入4.1 @AutoWired4.2 @AutoWired + @Qualifier(存在同类型的bean对象)4.3 @Resource (直接通过名称来找)一. 简介构造函数set方法注解二. 构造函数的注入2.1 自定义的类...
2020-05-04 19:41:00
360
原创 通俗讲解spring中 ioc 是如何解决类之间的依赖关系(自建 beanFactory 类来实现)
目录一. 简介二. 案例一:耦合度很高的程序2.1 案例一的解决办法:使用反射为我们创建对象2.2 beanFactory 的解释三.案例一的提高:使用beanFactory创建对象四.总结:一. 简介对于刚接触Spring的小伙伴肯定对ioc这个名词有很大的困惑。当你在百度搜索什么是ioc的时候,这是百度词条的解释:控制反转(Inversion of Control,缩写为IoC),是面...
2020-05-04 16:55:40
1073
原创 手把手带你完成第一个 android 小程序(快递App)
目录(一)简介(二)开始工程(1)在github上创建你的代码库(2)编写布局文件2.1 MainActivity2.2 TraceAcvitity2.3 ToolBar 的使用2.4 依赖的引入(3)项目的代码实现3.1 代码的整体理解3.2 MainActivity的代码实现3.2.1.onCreate3.2.2.按钮的onCLick事件3.2.3 加载Toolbar 以及 TooBar 的点...
2020-03-22 12:13:40
3325
原创 使用 LitePal 开源库在 android studio 中的怪异bug
一.首先声明啊,本人的android studio 版本如下图所示:↓很有可能你不会在你的android studio中遇到二:Bug:org.litepal.exceptions.InvalidAttributesException我知道报这个错很有可能是你的AndroidManifest.xml文件没有配置 ↓<application android:name="org.lit...
2020-02-18 23:00:42
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人