- 博客(160)
- 资源 (6)
- 收藏
- 关注
原创 使用jdframe进行数据处理
在数据分析过程中,我们经常需要对数据进行分组、排序和排名等操作。本文将以一段Java代码为例,演示如何使用Java结合第三方库对用户数据进行处理。我们将实现对用户数据的分组、排序以及多种排名方式的计算。通过上述代码示例,我们可以看到使用Java进行数据处理是多么方便。使用合适的第三方库,可以轻松实现复杂的数据操作,如分组、排序和排名。无论是在数据分析、报告生成还是其他领域,这些技能都是非常有价值的。
2024-09-28 18:02:45
527
原创 如何在Java中实现用户列表的下载功能
本文介绍了在Java中使用Spring框架实现用户列表下载功能的基本步骤。通过以上代码,用户可以获取到最新的用户数据并且方便地下载为Excel文件。在实际开发中,你可以根据需求进一步优化和扩展此功能,例如添加异常处理、用户权限检查等。
2024-09-21 15:09:33
288
原创 深入理解数据库事务隔离级别与锁机制
事务隔离级别和锁机制是确保数据库事务一致性和并发控制的关键。:事务只能看到已提交的数据。:在一个事务中,同样的查询语句会返回相同的结果集,即使其他事务对数据进行了修改。:最低的隔离级别,事务中的修改即使未提交,对其他事务也是可见的。:最高的隔离级别,事务串行执行,完全避免了脏读、不可重复读和幻读问题,但性能开销较大。:阻止其他事务获取任何类型的锁,确保数据在事务提交或回滚之前不会被修改。锁机制用于控制对数据的访问,防止并发事务之间的冲突。:用于锁定索引记录之间的间隙,防止其他事务在这些间隙中插入新记录。
2024-07-25 21:18:30
538
原创 NiFi安装指南
通过以上步骤,你应该能够在你的系统上成功安装并运行 Apache NiFi。NiFi 提供了强大的数据处理和分发功能,适用于各种数据流处理场景。希望这篇博客对你有所帮助!
2024-07-19 20:32:35
1638
原创 Spring Boot 中使用 Resilience4j 实现弹性微服务的简单了解
通过本文的介绍,你应该已经了解了如何在 Spring Boot 项目中配置和使用 Resilience4j 来实现断路器、重试、舱壁、限流器和限时器等功能,Resilience4j 提供了丰富的配置选项和灵活的使用方式,帮助你构建弹性的微服务。
2024-07-17 20:31:17
706
1
原创 在 Windows Subsystem for Linux (WSL) 中管理 Linux 分发版的常用命令
Windows Subsystem for Linux (WSL) 是一项为 Windows 10 提供的功能,允许用户在 Windows 上运行 Linux 环境。通过使用 WSL,用户可以在 Windows 上进行开发和运行 Linux 命令行工具和应用程序,而无需在系统上安装另一个完整的操作系统。本文将介绍在 WSL 中常用的 Linux 分发版管理命令,帮助用户更好地使用和管理他们的 WSL 环境。
2024-07-16 21:50:49
602
原创 使用Java连接星火认知大模型:一个实际案例解析
随着人工智能技术的快速发展,认知大模型如星火在自然语言处理、语音识别等领域发挥着越来越重要的作用。本文将通过一个实际的Java代码示例,详细讲解如何使用Java连接星火认知大模型,并处理其响应。希望这篇博客能帮助你更好地理解和应用Java中的认知大模型连接。Spark List模型是免费的,可以用这个来测试玩一玩;3.构建http请求。
2024-07-13 23:32:24
999
原创 Java并发编程工具包(JUC)详解
在现代软件开发中,多线程编程是一个不可避免的话题。为了更好地管理和利用多线程,Java提供了一个强大的工具包——java.util.concurrent(简称JUC)。JUC包含了许多用于并发编程的类和接口,帮助开发者高效、安全地处理线程同步、线程管理、资源共享等问题。本文将详细介绍JUC中的主要类别和常用工具。
2024-07-08 21:18:14
652
原创 Springboot redisson 自定义注解实现双写一致性
在 Spring Boot 项目中使用 Redisson 实现双写一致性(即数据库和缓存的一致性),可以通过自定义注解和 AOP(面向切面编程)来简化代码并提高可维护性。以下是一个具体的案例,展示了如何使用自定义注解和 AOP 来实现这一目标。
2024-07-08 00:07:00
629
原创 使用Spring Boot和自定义缓存注解优化应用性能
Spring Boot提供了@Cacheable@CachePut和等注解来管理缓存,但有时这些注解可能无法满足特定需求。例如,你可能需要更细粒度的缓存控制,或者希望在缓存中存储自定义数据结构。这时,自定义缓存注解就显得尤为重要。首先,我们需要创建一个自定义的缓存注解。这个注解将允许我们指定缓存的键和过期时间。@Inherited/*** 缓存名称* @return*//*** 缓存条件* @return*//*** 过期时间,单位秒*/
2024-07-06 23:59:21
1061
原创 Spring Boot与MyBatis-Plus:代码逆向生成指南
在Spring Boot项目中使用MyBatis-Plus进行代码逆向生成,可以通过MyBatis-Plus提供的代码生成器来快速生成实体类、Mapper接口、Service接口及其实现类等。
2024-07-05 20:58:42
771
原创 阿里云百炼大模型调用体验
随着人工智能技术的飞速发展,大型模型已成为推动技术进步的关键因素之一。阿里大模型作为国内领先的人工智能技术之一,其在多个领域的应用展示了强大的潜力。本文将通过调用案例,简单解析阿里大模型在特定场景中的应用及其效果。这里要将API-Key 和appId 替换成真实的key和appId。
2024-07-05 00:28:47
938
原创 模拟任务积压
生产者:每隔2秒向队列中添加一个任务,任务执行时会休眠8秒并输出任务编号。消费者:每隔8秒从队列中取出一个任务并执行,同时输出当前队列的大小。通过这种方式,代码模拟了一个生产者和消费者之间的任务处理流程,生产者以固定频率生成任务,消费者以固定频率处理任务,并通过队列进行任务的传递和缓冲。
2024-07-04 22:59:00
249
原创 Java 内存模型
JMM(Java Memory Model,Java内存模型)是Java虚拟机(JVM)为了屏蔽各种硬件和操作系统的内存访问差异,确保Java程序在各种平台下都能达到一致的内存访问效果而定义的一组规范和协议。综上所述,JMM是Java虚拟机为了确保Java程序在各种平台下都能获得一致的内存访问效果而定义的一组规范和协议。它定义了主内存和工作内存,以及它们之间的交互操作,并通过这些操作来确保并发编程中的原子性、可见性和有序性。
2024-07-04 22:30:00
466
原创 Java 对象实例化过程
Java对象的实例化过程是一个相对复杂但非常核心的概念,它涉及到Java的内存管理、类加载、对象的创建和初始化等多个方面。1.当一个类首次被主动使用时(例如,创建类的实例、访问类的静态变量或静态方法、调用类的反射方法等),JVM的类加载器会加载这个类。:把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象。需要注意的是,以上步骤是一个简化的描述,实际的Java对象实例化过程可能涉及更多的细节和复杂性。(即被static修饰的变量)。
2024-06-27 21:27:47
771
原创 Spring Cloud Gateway 与 Nacos 的完美结合
在现代微服务架构中,服务网关扮演着至关重要的角色。它不仅负责路由请求到相应的服务,还承担着诸如负载均衡、安全认证、限流熔断等重要功能。Spring Cloud Gateway 作为 Spring Cloud 生态系统中的一员,以其强大的功能和灵活的配置,成为了构建微服务网关的首选。而 Nacos,作为阿里巴巴开源的服务发现和配置管理平台,为微服务架构提供了强大的支持。本文将详细介绍如何将 Spring Cloud Gateway 与 Nacos 结合,构建一个高效、稳定的微服务网关。
2024-06-26 23:49:37
1120
1
原创 nacos 整合 openfeign实现远程调用
return "服务提供者,支付接口,支付金额为:" + id + "元,端口:" + serverPort;创建一个接口,并使用@FeignClient(name = "service-provider" ) // 指定提供者服务的名称)通过以上步骤,我们成功地将 Nacos 与 OpenFeign 整合,实现了服务提供者与服务消费者之间的远程调用。这种架构模式不仅简化了服务调用的过程,还提高了系统的可扩展性和可维护性。
2024-06-25 21:37:41
1636
1
原创 OpenFeign 的请求处理流程
首先,开发者需要定义一个 Feign 客户端接口,并使用注解进行配置。OpenFeign 通过声明式的注解简化了 Web 服务客户端的编写。其核心组件包括注解、ContractEncoderDecoder和Client。
2024-06-24 21:26:52
347
原创 使用Flink CDC实时监控MySQL数据库变更
Flink CDC(Change Data Capture)是一种强大的工具,可以帮助我们实时捕获数据库的变更,并进行处理。本文将介绍如何使用Flink CDC从MySQL数据库中读取变更数据,并将其打印到控制台。通过上述步骤,我们可以使用Flink CDC实时监控MySQL数据库的变更,并将变更数据以JSON格式打印出来。将Debezium源函数添加到Flink环境中,生成一个数据流,并将数据流中的数据打印到控制台。为了确保作业的容错性和状态恢复,我们需要启用检查点,并设置作业的并行度。
2024-06-23 22:32:47
1047
原创 Bean的生命周期
如果Bean实现了Spring提供的Aware接口(如BeanNameAware、BeanFactoryAware、ApplicationContextAware等),Spring将调用相应的方法,让Bean获取到与其相关的上下文信息。Spring首先读取配置元数据(如XML配置文件、注解或Java配置类),并根据这些信息创建BeanDefinition对象,存储了Bean的各种属性,如类名、作用域、构造参数等。对于singleton作用域的Bean,当容器关闭时,它们会被销毁。
2024-06-22 16:27:59
422
原创 ORDER BY FIELD
ORDER BY FIELD 是MySQL中的一个特殊排序函数,它允许你基于一个自定义的值列表对查询结果进行排序。在这个例子中,所有属于’HR’部门的员工会首先列出,接着是’IT’部门的员工,然后是’Finance’部门的员工,最后是其他所有部门的员工,这些其他部门的员工将按照他们在表中原本的顺序排列。假设有一个employees表,包含name和department两列,现在你想按照特定部门顺序列出员工,部门顺序为:‘HR’, ‘IT’, ‘Finance’,其他部门按照自然顺序跟随。
2024-06-15 18:12:06
1065
原创 this version of the Java Runtime only recognizes class file versions up to 52.0
对应jar的版本为3.0.4 ,由于是依赖springboot版本管理,直接去掉该版本号即可;前提知识:JDK8 = 52;JDK17 = 61。晚上配了个热加载,碰到这个问题,
2023-03-22 23:50:35
621
原创 with recursive 递归查询
工作中经常遇到层级关系的数据,最常见的就是 省市县 相关的数据,基于这我们可能要进行一些递归查询,这里就可能用到。这里可以直接看参考资料。
2023-03-21 21:05:49
632
原创 Navicat造测试数据
最近开发中一直使用Navicat的这个造测试数据的功能,感觉帮助还是很大的,这里分享一下子。5.这里会弹出是否保存配置文件,如果配置比较复杂,可保存文件。3.此时会看到数据预览,确定格式无误,点击开始;4. 在如下界面中会展示数据插入情况,点击关闭;2.在数据生成弹窗中选择相应规则,点击下一步;1.选择一张表,鼠标右键,选择数据生成;有了这个功能,造数也就省事多了。
2023-03-05 21:35:20
2890
2
原创 1441. 用栈操作构建数组
给你一个数组 target 和一个整数 n。每次迭代,需要从 list = { 1 , 2 , 3 …, n } 中依次读取一个数字。写博客的时候,翻看了下csdn上的数学公式参考案例,感觉写个公式还真不容易,捣鼓了一下那个案例,如下,猜猜这是什么公式;请返回构建目标数组所用的操作序列。“Push”:从 list 中读取一个新元素, 并将其推入数组中。题目数据保证目标数组严格递增,并且只包含 1 到 n 之间的数字。如果目标数组构建完成,就停止读取更多元素。“Pop”:删除数组中的最后一个元素。
2022-10-16 11:59:19
456
原创 Springboot实现动态定时任务
该动态定时任务主配置类是 ScheduledConfig,代码如下;最近有幸要开发个动态定时任务,这里简单再梳理一下。到这里核心类已经走完,剩下的就是获取数据相关类。紧接着是这个类,用于控制任务的执行与否;最后就是要测试的接口。
2022-09-09 23:35:13
4232
原创 tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.hbase
原因:在MetaTableLocator中有这样一个方法(这里hbase-client使用的是1.2.5版本,2.0.0版本没有这样一个类),看到这里也不用过多解释,这里的解决办法是将guava版本升级到16.0.1。
2022-08-31 20:28:10
3255
原创 慎用Arrays.asList()
开发中有时候创建的数组但却想使用List的相关方法,为了图个方便,就使用了这种方式,但却可能给自己挖了一个坑。下面具体说说这个问题。使用add()方法是会报错的,所以要慎用Arrays.asList()方法。AbstractList中的好多方法没有从写,比如说add()方法,...
2022-08-28 18:03:04
296
原创 线程调用两次start报错简单分析
这里找到start0方法对应的JVM_StartThread方法,这里找到jvm.cpp文件查看JVM_StartThread方法,在此方法的最后我们可以看到方法最后调用了Thread::start,这里继续查找thread.cpp文件;这里看到调用java 的 java_lang_Thread::set_thread_status 方法也就大致明白了。每次看到Thread的start方法,都是简单看看下面这段代码了事,今天也简单看看hotstop源码是怎么处理的。..................
2022-08-25 23:42:57
748
原创 数据库事务相关知识点
ACID(原子性、一致性、隔离性、持久性)四个特性。• 原子性(Atomicity)指事务作为整体来执行,要么全部执行,要么全不执行;• 一致性(Consistency)指事务应确保数据从一个一致的状态转变为另一个一致的状态;• 隔离性(Isolation)指多个事务并发执行时,一个事务的执行不应影响其他事务的执行;• 持久性(Durability)指已提交的事务修改数据会被持久保存。
2022-08-20 22:41:12
582
原创 剑指 Offer II 041. 滑动窗口的平均值
doublenext(intval)成员函数next每次调用的时候都会往滑动窗口增加一个整数,请计算并返回数据流中最后size个值的移动平均值,即滑动窗口里所有数字的平均值。给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算滑动窗口里所有数字的平均值。MovingAverage(intsize)用窗口大小size初始化对象。......
2022-07-16 11:36:16
180
原创 873. 最长的斐波那契子序列的长度
今天leetcode的每日一题,题目链接为:873. 最长的斐波那契子序列的长度 这里想到一种解法:首先将数据用HashMap记录下来,接着从数组中取两个数,并判断这两数之和是否在HashMap中,若在,则继续递归向下判断,并记录最大长度,代码如下:...
2022-07-09 23:14:42
151
原创 710. 黑名单中的随机数
看了下leetcode的每日一题,题目链接:710. 黑名单中的随机数题目描述如下:看到这道题的第一思路是 将不在黑名单的数据放到一个新的数据中,再随机取一个数,但提交却发现空间,超过内存限制,代码如下:由于黑名单数不重复且在[0,n)这个区间内,这里可以试试 用map来记录一下 [n-len,n) 区间的数据并将 **[0,n-len)**区间内在 黑名单中 的数据映射到 **[n-len,n)**中 不在 黑名单 的数上 这个方式解决。代码如下:...
2022-06-26 14:36:59
260
原创 剑指 Offer II 091. 粉刷房子
看了下leetcode的今天的 每日一题,题目链接:剑指 Offer II 091. 粉刷房子题目如下:我这里使用动态规划的方法,方程如下:1.初始化dp数组2.状态转移方程:i的区间[1,n)当然也可改改三目运算符试试。代码稍作改动,试着节省点空间,代码如下:......
2022-06-25 13:56:01
125
原创 515. 在每个树行中找最大值
接着上个文章,再来一道leetcode的每日一题,题目链接:515. 在每个树行中找最大值题目如下:这道题使用的是二叉树的层序遍历的套路,代码如下:
2022-06-24 20:18:24
1779
1
cas服务端所需jar包
2018-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人