自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 Java中用Stream流取出分组后每组最大值对象的ID

方法1:先获取对象再提取ID,方法2:直接在收集时提取ID(更高效),方法3:使用toMap收集器(简洁版)

2025-03-27 16:56:03 660

原创 Java中用Stream流取出分组后每组中最大值对应的对象

groupingBymaxBy会产生结构需要额外处理Optional才能得到实际对象推荐使用方法2或方法4,它们在性能和可读性上表现较好如果确定每组都有值,可以使用替代。

2025-03-27 16:51:01 473

原创 如何理解java中Stream流?

在Java中,Stream是 Java 8 引入的一个强大API,用于处理集合(如ListSetMap等)数据的流式操作。它提供了一种声明式、函数式的编程风格,可以高效地进行过滤、映射、排序、聚合等操作。

2025-03-21 15:39:04 1304

原创 Spring中BeanFactory的核心功能

BeanFactory是一个核心接口,它是Spring IoC(控制反转)容器的基础,负责管理Spring应用中的Bean(对象)。提供了配置框架和基本功能,用于创建、配置和管理Bean。如果需要更丰富的功能(如事件发布、AOP等),推荐使用。如果你只需要基础的IoC功能,可以使用。是Spring的基础容器,而。在Spring框架中,

2025-03-21 09:44:26 319

原创 Spring中DI与IOC的关系解析

IOC是控制权的反转。DI是实现IOC的具体方式,通过注入依赖来管理对象间的关系。Spring通过DI机制实现了IOC,简化了对象的管理和依赖关系的处理。

2025-03-19 11:30:01 235

原创 物联网设备接入系统后如何查看硬件实时数据?

通过InfluxDB存储设备数据,结合后端API和前端实时通信技术(如WebSocket或SSE),可以高效实现硬件设备信息的实时查看。硬件设备通过MQTT、HTTP或其他协议将数据发送到后端,后端将数据写入InfluxDB。可以参考前面的Java代码实现数据写入。要在软件中实时查看硬件设备的信息,通常需要结合前后端技术来实现。后端需要提供API接口,用于查询设备的历史数据和实时数据。: 返回设备在某个时间范围内的数据。: 返回设备的最新数据。

2025-03-08 10:22:48 972

原创 Java集成InfluxDB

通过InfluxDB的Java客户端,可以轻松地将硬件设备发出的数据存储到时序数据库中。主要步骤包括创建客户端、写入数据点和查询数据。InfluxDB的高效存储和查询能力使其非常适合处理物联网设备的实时数据。

2025-03-08 10:14:10 361

原创 物联网实时数据存储方案选择

选择存储方案时,需综合考虑数据类型、访问频率、延迟要求、扩展性、成本等因素。通常,时序数据库适合实时数据,NoSQL适合非结构化数据,关系型数据库适合结构化数据,分布式文件系统和数据湖适合大规模存储,边缘存储适合低延迟场景。

2025-03-08 10:04:26 530

原创 200W数据去重入库的几种方法及优缺点

数据一致性方面,方法一在数据库内去重,可以利用数据库的事务和约束(如唯一索引)来保证数据一致性,但如果在去重过程中出现故障,可能需要回滚或修复。方法二如果在应用层去重,需要确保去重逻辑正确,否则可能导致数据重复,特别是多线程处理时需注意线程安全。方法二在入库时已经是去重后的数据,减少了数据库的写入压力,但需要应用层处理去重,可能消耗更多应用服务器资源。资源消耗方面,方法一可能对数据库资源消耗更大,因为需要在数据库内进行去重操作,尤其是处理200万数据时,可能占用大量CPU和内存。另外,是否需要实时性。

2025-03-05 17:16:21 677

原创 200W数据需要去重,如何优化?

优化去重逻辑的时间取决于多个因素,包括数据量、数据结构、硬件性能(CPU、内存)、去重算法的实现方式等。

2025-03-05 16:46:49 836 2

原创 处理200万条数据去重并入库,耗时100秒,如何优化进一步提升性能?

内存去重:使用高效的数据结构(如HashSet或HashMap)在内存中去重,避免重复数据进入数据库。分批去重:如果内存不足,可以将数据分批次去重,减少内存压力。并行去重:使用多线程并行处理去重任务。

2025-03-05 16:32:26 409

原创 JeecgBoot、RuoYi 和 Renren-fast三个流行的 Java 开源框架对比

JeecgBoot、RuoYi 和 Renren-fast 是三个流行的 Java 开源框架,广泛应用于企业级应用开发。它们各有优缺点,适用于不同的开发场景。

2025-02-25 10:48:54 903

原创 Java多线程慢SQL查询问题及解决方案

慢查询会阻塞执行它的线程,导致线程无法及时释放,进而影响其他任务的执行。数据库连接池耗尽:如果使用连接池,慢查询会长时间占用连接,可能导致连接池耗尽,其他线程无法获取连接。线程池耗尽:如果使用固定大小的线程池,慢查询会占用线程,可能导致线程池耗尽,新任务无法执行。慢查询会拖慢整体程序性能,导致响应时间变长,吞吐量下降。如果慢查询返回大量数据且未及时释放,可能导致内存占用过高,甚至内存泄漏。多个慢查询同时执行会增加数据库负载,可能引发数据库性能问题,如锁争用、死锁等。

2025-02-25 10:38:27 294

原创 多线程构建树结构(优化树结构构建慢问题)

多线程构建树结构(优化)

2024-11-23 10:23:40 486 1

原创 IntelliJ IDEA快捷键大全 + 动图演示!

执行该命令后,IntelliJ IDEA 会编译项目中所有类,并将编译结果输出到out目录中。支持增量构建,会在上次构建的基础上,仅编译修改的类。

2023-08-01 15:14:10 676

原创 集成Swagger2,接口文档不显示如何解决?

配置类上添加看看 swagger2是需要mvc支持的

2023-07-04 16:43:15 1080

原创 Ureport2隐藏指定行

Ureport2隐藏指定行

2023-05-12 11:09:19 724

原创 MySQL中这14个小玩意,让人眼前一亮(group_concat、char_length、locate、replace等函数用法)!!!

MySQL中这14个小玩意,让人眼前一亮!!!

2023-05-11 16:24:42 244

原创 Ubuntu E: 无法解析或打开软件包的列表或是状态文件解决方案

Ubuntu E: 无法解析或打开软件包的列表或是状态文件解决方案

2023-03-11 17:09:20 689

原创 遍历Map的几种写法比较

Map遍历

2023-03-11 10:38:53 102

原创 ureport2导出多sheet页报表(动态分页、静态分页、自定义每个sheet页名称)

Ureport2导出多个sheet页报表(动态分页、静态分页、自定义每个sheet页名称)

2023-02-21 15:57:54 3038 1

原创 UReport2报表图片显示

UReport2图片2.自定义图片路径自定义就需要重新实现接口ImageProvider,ApplicationContextAware,自定义默认路径,代码如下:自定义实现接口后,此时就可以在设计页面配置自定义的 E:\ureportfiles\picture目录下图片或http https开头的的网络图片了

2023-01-06 11:29:22 1662 1

原创 RabbitMQ常见问题及解决方案

RabbitMQ常见问题及解决方案

2022-12-04 23:12:14 2507

原创 Stream流方式处理List示例

Stream流方式处理List

2022-12-04 13:38:11 2875

原创 SkyWalking启动报错500

SkyWalking 启动报500

2022-11-21 23:38:48 991

原创 常用的 JVM 调优的参数都有哪些?

常用的 JVM 调优的参数都有哪些?

2022-08-08 22:26:52 351

原创 Mysql索引总结

Mysql索引总结

2022-08-06 22:23:58 150

原创 请sql查出version、os 一致的手机号码(一张表中有多个字段数据一致的统计)

请sql查出version、os 一致的手机号码表结构如下:SQL:SELECT m.tel, m.version, m.os FROM mng_user_info m , ( SELECT u.version, u.os FROM mng_user_info u GROUP BY u.version, u.os HAVING COUNT( 1 ) > 1 ) ssWHERE m.version = ss.version AND m

2022-05-19 14:56:10 611

原创 super关键字的用法

super关键字的用法先看一段代码:class Person{ protected String name; public Person(String name) { this.name = name;}}class Student extends Person{ private String name; public Student(String name, String name1) { super(name); this.name = name1; } public

2022-04-22 21:08:30 100

原创 SpringBoot开发常用注解小结

@Controller表明一个注解的类是一个"Controller",也就是控制器,可以把它理解为MVC 模式的Controller 这个角色。这个注解是一个特殊的@Component,允许实现类通过类路径的扫描扫描到。它通常与@RequestMapping 注解一起使用@Service表明这个带注解的类是一个"Service",也就是服务层,可以把它理解为MVC 模式中的Service层这个角色,这个注解也是一个特殊的@Component,允许实现类通过类路径的扫描扫描到@Reposito

2022-04-20 12:49:17 183

原创 ruoyi前后端分离版快速开发管理系统

ruoyi快速开发管理平台

2022-02-23 22:05:11 477

原创 MyBatis动态SQL标签的用法

1.MyBatis动态SQLMyBatis 的强大特性之一便是它的动态 SQL,即拼接SQL字符串。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。动态 SQL 元素和使用 JST

2021-09-06 21:03:45 1209

转载 Redis常见面试题总结

1.什么是Redis?  Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。  Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。  与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Valu

2021-07-06 23:27:33 111

原创 MQ中间件2021.7最新面试题

1. MQ类型:MQ类型描述RabbitMQerlang开发,对消息堆积的支持并不好,当大量消息积压的时候,会导致 RabbitMQ 的性能急剧下降。每秒钟可以处理几万到十几万条消息RocketMQjava开发,面向互联网集群化功能丰富,对在线业务的响应时延做了很多的优化,大多数情况下可以做到毫秒级的响应,每秒钟大概能处理几十万条消息。KafkaScala开发,面向日志功能丰富,性能最高。当你的业务场景中,每秒钟消息数量没有那么多的时候,Kafka 的时延反而会比较高

2021-07-04 23:21:43 306 3

原创 《JAVA编程思想》中对static关键字理解

通常来说,当创建类时,就只在描述那个类的对对象和外观。除非用new创建那个类的对象,否则,实际上并未获取任何对象,执行new来创建对象,数据存储空间才可以被分配,其方法才供外界调用。有两种情形用上述方法是无法解决的,一种情形是,只想为特定域分配单一的存储空间,而不去考虑究竟要创建多少的对象,甚至根本就不创建对象。另一种情形是,希望某个方法不与包含它的那个类的对象关联在一起。也就是说,即使没有创建对象,也能够调用这个方法。...

2021-03-23 23:45:38 114

原创 统计表中不同类型不同状态的个数?

需求:统计表中不同类型不同状态的的个数直接上图:数据库表样子如下:需要页面统计的列表样子:SQL:select 产品名称,sum(case when 完成状态='0' then 1 else 0 end) as 已完成个数,sum(case when 完成状态='未处理' then 0 else 0 end) as 未完成个数,from 表名group by 产品名称...

2021-03-15 18:51:34 335

原创 IDEA 启动错误: 找不到或无法加载主类 解决方法

方法一:1.2.方法二:

2021-01-08 11:01:57 1347

原创 jpress_wars需要的在这拿

链接:https://pan.baidu.com/s/1r4N_v8iFcKHITwJuhAnN3Q提取码:9ibe

2020-12-09 09:40:29 257

原创 JMeter 简单分析结果树、聚合报告以及图形结果

结果树取样器结果:返回值报200,表示执行接口调试成功请求:发送的数据响应数据:返回的数据Thread Name:线程组名称Sample Start: 启动开始时间Load time:加载时长Latency:等待时长Size in bytes:发送的数据总大小Headers size in bytes:发送数据的其余部分大小Sample Count:发送统计0Error Count:交互错误统计Response code:返回码Response message:返回信息Resp

2020-12-03 22:10:28 2365

原创 Jmeter设置token

项目一般都需要进行登陆才能进行后续的操作,登陆有时发送的请求会带有token,因此,需要需要提取token,然后设置成全局变量。1.创建好线程组后,选择http请求2.配置相关信息3.添加监听器,查看结果4.启动5.复制token值6.线程组添加http信息头管理器7.配置http信息头管理器8.启动测试的接口,测试通过。...

2020-12-01 10:48:35 6579

空空如也

空空如也

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

TA关注的人

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