- 博客(30)
- 收藏
- 关注
原创 java中的final关键字
在Java中,final是一个关键字,用于修饰变量、方法或类,表示“不可更改”的约束。根据修饰对象的不同,final的作用也不同。
2025-07-20 11:08:01
134
原创 事务管理——@Transactional
是 Java 中用于声明式事务管理的关键注解,通常与 Spring 框架一起使用。它允许开发者通过简单的注解方式来管理事务,而无需手动编写事务控制代码(如commit()rollback()等)。
2025-07-15 19:08:39
663
原创 函数式编程——Lambda表达式与函数式接口
Java 从 Java 8 开始正式引入函数式编程(Functional Programming)支持,核心是通过 和 实现。
2025-07-15 10:06:35
800
原创 双端队列(Deque)
Deque(全称,双端队列)是 Java 集合框架中的一个重要接口,它扩展了Queue接口,支持在队列的。Deque既可以作为使用,也可以作为使用。
2025-07-14 20:15:02
622
原创 IDEA运行Spring项目报错:java: 警告: 源发行版 17 需要目标发行版 17,java: 无效的目标发行版: 17
运行一个Maven项目时,要求使用jdk1.8,刚开始使用的是17,报错:配置好项目结构中的SDK和语言级别:按照网上的一些教程,修改了maven配置:重新加载所有maven项目后,重新启动项目,又出现:检查发现自动改为了17(其它配置没变):重新导入模块也没用,还是出现上述问题。
2025-07-10 17:31:51
431
转载 Redis安装及配置(Linux)
大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。此处选择的Linux版本为CentOS 7.Redis的官方网站地址:https://redis.io/
2025-07-10 14:39:58
36
原创 RESTful架构
RESTful(Representational State Transfer,表述性状态转移)是一种基于 的软件架构风格,用于设计网络应用接口(API)。它由 Roy Fielding 在 2000 年的博士论文中提出,现已成为 Web API 设计的事实标准,尤其在前后端分离、微服务架构中广泛应用。
2025-07-08 14:34:18
768
原创 Spring中实现依赖注入(DI)的三种方式
特性@Autowired字段注入Setter 注入构造函数注入构造函数 +代码简洁性⭐⭐⭐⭐(最简洁)⭐⭐⭐⭐⭐(需手动写构造函数)⭐⭐⭐⭐(Lombok 自动生成)可读性⭐(依赖关系隐藏)⭐⭐(setter 分散)⭐⭐⭐⭐(构造函数明确)⭐⭐⭐⭐(和手动构造函数一样清晰)可测试性❌(难以测试)⭐⭐(需手动注入)⭐⭐⭐⭐(直接传入 mock)⭐⭐⭐⭐(和手动构造函数一样)不可变性(final)❌(不支持)❌(不支持)⭐⭐⭐⭐(支持)
2025-07-05 10:10:56
332
原创 Java中的基础数据类型及其包装类
在 Java 中,基础数据类型(Primitive Data Types) 是语言内置的基本数据类型,它们不是对象,而是直接存储值的数据类型。Java 的基础数据类型共有 8 种,分为 4 类:整数类型、浮点类型、字符类型 和 布尔类型。类别数据类型位数(bits)字节(bytes)取值范围默认值整数型byte81-128 ~ 1270short1620int324。
2025-06-19 10:48:47
752
原创 异步编程——CompletableFuture
是 Java 8 引入的一个强大的异步编程工具,位于包中。它是Future接口的实现类,但相比传统的Future提供了更灵活、更强大的异步任务处理能力,支持链式调用、组合多个异步任务、异常处理等功能,极大地简化了 Java 中异步编程的复杂性。
2025-06-12 18:02:14
417
原创 Java中的反射机制
上面讲了很多,可能还是很难理解和感受到反射的作用,我们举一个例子感受一下:假设你正在开发一个通用的工具类,它需要调用用户提供的类的方法,但你无法提前知道用户提供的类有哪些方法。如果使用正常调用方式,你需要提前知道用户类的具体结构,并在代码中写死方法调用逻辑。一旦用户类的结构发生变化(比如方法名改了或参数变了),你的工具类就需要修改。如果使用反射动态调用方法,你可以在运行时动态获取用户类的方法信息并调用,无论用户类的结构如何变化,你的工具类都不需要修改。
2025-06-11 16:35:31
1134
原创 @JsonProperty注解
是 库提供的一个注解,主要用于 。它允许开发者自定义 JSON 字段名与 Java 类属性名的对应关系,从而实现更灵活的序列化(对象 → JSON)和反序列化(JSON → 对象)过程。:当 Java 属性名与 JSON 字段名不一致时,可以显式指定映射关系。:是否包含该字段(required参数)。是否允许null值(结合使用)。(结合 @JsonAnySetter和READ_ONLYWRITE_ONLYREAD_WRITEAUTO。
2025-06-11 10:42:11
324
原创 Stream 流的使用
方法类型描述中间过滤符合条件的元素中间将元素映射成另一种形式中间扁平化映射(如将多个List合并为一个)sorted()中间排序distinct()中间去重中间取前n个元素中间跳过前n个元素终止遍历每个元素终止收集结果到集合或其他数据结构count()终止计数终止最小值/最大值终止归约操作(如求和、拼接等)终止匹配判断。
2025-06-10 17:46:24
481
原创 Lombok 中 @Builder 注解
(本人亲身经历。。。使用 Lombok 的 @Builder 时,new User().builder()这样写原来的user还是空的。
2025-06-05 16:02:39
306
原创 JVM学习笔记(三)——垃圾回收
JVM中的垃圾回收GC)机制是一种自动内存管理机制,用于识别并回收不再被程序使用的对象所占用的内存空间,防止内存泄漏,提高内存利用率。
2025-06-02 19:05:21
550
原创 JVM学习笔记(二)
JVM 的内存区域是指 Java 虚拟机在运行时管理内存的逻辑分区,这些区域有不同的作用和生命周期。JVM 会根据对象的类型、生命周期及功能需求,将内存划分为不同区域进行管理,以优化内存使用效率和垃圾回收机制。JDK8 对 JVM 内存结构进行了调整,移除永久代(PermGen)引入了元空间(Metaspace)。
2025-06-01 19:49:23
588
原创 Spring5.2.9-RELEASE源码导入idea打包发布到本地指定位置
会安装到:本地Maven仓库下org/springframework/spring-beans/5.2.9.RELEASE/spring-beans-5.2.9.RELEASE.jar。在gradle目录下的。
2025-05-29 13:59:38
556
原创 Maven依赖jar包手动安装到本地Maven仓库
有时候即使配制了阿里云仓库,在同步的时候还是出现依赖找不到的情况,这时候我们可以手动去maven中央仓库下载jar包,然后导入到本地仓库。
2025-05-29 09:55:47
328
原创 JVM学习笔记(一)
事实上,JVM并不是直接与java语言挂钩,而是与字节码文件(.class文件)直接挂钩,只要编译后的字节码文件遵循Java虚拟机规范中定义的格式和指令集,JVM就可以加载并尝试运行这些字节码文件,例如Kotlin语言,其编译后的字节码也能在JVM上运行。在编译模式下,JVM尽可能地对所有代码进行预编译处理,优先采用编译方式执行代码。”,意思是java程序(.java文件)只需要被编译一次,变成字节码文件(.class文件)就可以在任何支持 Java 虚拟机(JVM)的设备上运行,无需重新编译,
2025-05-25 10:55:41
565
原创 Docker进行镜像拉取失败解决办法
解决报错:docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). See 'docker run --help'.
2025-04-12 11:12:31
348
原创 从循环神经网络(RNN)到长短期记忆网络(LSTM)
大部分模型都只能处理单独的输入,然而,当某些任务需要提取各个输入之间的时序信息时,只对每个输入进行单独的处理是不够的,需要处理的是将各个输入连成的整个序列,基于此RNN诞生了!
2023-11-21 15:56:22
452
原创 生成对抗网络(GAN)详解
生成对抗网络(Generative Adversarial Network, GAN)是由IanGoodfellow于2014年在《Generative Adversarial Nets》中提出的模型。
2023-11-12 17:15:35
6047
1
原创 【知识蒸馏】(附代码)
知识蒸馏是人工智能领域重要的模型压缩方法,在自然语言处理、计算机视觉、多模态学习、预训练大模型领域有广泛应用。通过师徒传授,将大规模教师模型的知识传递给轻量化学生网络,实现模型压缩和部署。
2023-10-30 15:55:40
900
1
原创 【深度学习环境】tensorflow2.6-GPU版本在Linux集群上的安装
本文是经过多次在Lniux集群上安装tensorflow2.6-GPU失败后总结的经验。
2023-10-20 14:56:50
1809
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人