
后端
文章平均质量分 73
后端开发技术
招风的黑耳
java爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring AI赋能图像识别:大数据模型驱动下的智能化变革
Spring AI与大数据模型的结合,正在重塑图像识别的技术生态。从医疗影像的精准诊断到自动驾驶的实时感知,从工业质检的缺陷检测到电商平台的智能搜索,图像识别技术正以前所未有的速度渗透至社会经济的各个角落。未来,随着智能体、多模态等技术的突破,图像识别将迈向“认知智能”新阶段,而Spring AI凭借其开放架构与生态优势,必将成为这一变革的重要推动者。原创 2025-08-11 23:58:22 · 513 阅读 · 0 评论 -
SpringAI 大模型集成与应用实战:从第三方 API 到本地 DeepSeek 部署
本文介绍了Java开发者如何利用SpringAI框架集成大模型能力,包含第三方API调用和本地Ollama部署两种方案。SpringAI深度整合Spring生态,支持同步/流式调用,提供角色模板和对话记忆功能。对比显示第三方API(如阿里通义)适合快速验证,而本地Ollama+DeepSeek组合(7B/33B/67B模型)在隐私和性能上更优。文章给出完整代码示例,包括配置、流式处理、性能调优和安全加固方案,并提供了测试对比数据。建议关键业务使用本地模型,长尾需求调用API,实现安全与性能的平衡。原创 2025-08-08 11:47:12 · 929 阅读 · 0 评论 -
Spring IOC容器理解:架构设计、核心源码与最佳实践
通过实现。原创 2025-08-08 09:27:10 · 502 阅读 · 0 评论 -
Spring 如何解决接口多实现类的依赖注入冲突
Spring项目中,当接口有多个实现类时,依赖注入会出现歧义性错误。解决该问题可通过以下方式:使用@Qualifier或@Resource直接指定Bean名称;用@Primary标记默认实现;通过@Profile或@Conditional按环境选择实现;或使用ObjectProvider进行延迟注入。最佳实践需根据场景选择,如明确指定实现类时推荐@Qualifier,默认实现搭配特殊场景用@Primary+@Qualifier,环境差异化则用@Profile。调试时可开启Spring日志查看Bean加载过程原创 2025-08-07 10:24:50 · 790 阅读 · 0 评论 -
流媒体基础分析:延迟分析与安全性保障
在流媒体传输过程中,延迟和安全性是两个至关重要的方面。它们直接影响着用户的观看体验和内容的版权保护。本文将深入分析延迟的来源与追赶技术,并探讨流媒体传输的安全性保障手段。原创 2025-05-31 23:34:52 · 809 阅读 · 0 评论 -
流媒体协议分析:流媒体传输的基石
本文系统分析了主流流媒体传输协议的特点与应用场景。基于TCP的RTMP适合直播点播,基于UDP的RTP适用于视频会议,HTTP协议下的HLS/DASH利于CDN分发但延迟较高,WebSocket-FLV支持浏览器播放,WebRTC实现低延迟互动。文章详细对比了各协议的优缺点:RTMP稳定但依赖插件,HLS兼容性强但延迟大,WebRTC实时性好但受网络影响大,SRT抗抖动能力强。同时介绍了新兴协议CMAF的兼容性优势。在协议选择时需综合考虑延迟、兼容性、网络适应性等要素,未来流媒体技术将持续向高效化、低延迟方原创 2025-05-31 23:04:43 · 809 阅读 · 0 评论 -
流媒体基础解析:音视频封装格式与传输协议
音视频封装格式与传输协议是多媒体处理的核心环节。常见的封装格式包括MP4、AVI、MKV等,它们将音频、视频及元数据打包成单一文件,其中MP4因兼容性强占据主流地位。传输协议如RTMP、HLS则负责网络流媒体传输,HLS凭借自适应码率特性成为长视频的首选。两者在文件存储与网络传输中各司其职,需根据应用场景(如短视频选用MP4、长视频倾向HLS)进行合理选择,确保最佳播放体验与传输效率。正确运用这些技术对提升多媒体服务质量至关重要。原创 2025-05-31 22:57:34 · 1363 阅读 · 0 评论 -
流媒体基础解析:视频清晰度的关键因素
视频处理中编码解码与码率是影响清晰度的核心要素。编码压缩原始视频数据以便存储传输,解码则将其还原。码率决定了视频数据量和清晰度,高码率带来清晰画质但增加文件大小。常见编码协议包括H.264/265/266、VP8/9、AV1等,各有特点需根据场景选择。音频编码如Opus、AAC、MP3同样重要。通过合理选择编解码技术和参数,可在保证质量的同时优化存储与带宽需求,随着技术进步将出现更高效的视频处理方案。原创 2025-05-31 22:41:56 · 1510 阅读 · 0 评论 -
流媒体基础解析:从压缩到传输的基本了解
流媒体技术是现代网络视频传输的核心,其原理是将音视频数据压缩编码后通过网络传输,终端解码还原播放。关键环节包含视频采集、编码压缩、封装传输和播放解码。分辨率决定清晰度,帧率影响流畅度(I/P/B帧各有特点),视频压缩分帧内(空间)和帧间(时间)两种方式。GOP(关键帧间隔)的合理设置对编码效率至关重要。这些基础原理构成了流媒体技术的完整体系。原创 2025-05-31 22:33:37 · 724 阅读 · 0 评论 -
大疆上云API+流媒体服务器部署实现直播功能
大疆的Demo这里如果是rtmp协议才需要搭建流媒体服务器,并且配置该协议流媒体服务地址,如果是rtsp协议,直接配置用户名、密码和端口号。如果和我一样没有设备的,可以使用FFmpeg 工具模拟设备推流,然后修改一下大疆的Demo中的接口,看一下拉流播放功能。接下来再看看直播功能...因为官方文档没有对直播这块的环境搭建进行说明,所以下面主要对直播功能环境搭建做一个记录,仅供参考,如有不足之处,请评论区留言哦!到这里流媒体服务器我们就有了,下面就是在大疆给的前后端项目配置文件配置好流媒体服务的相关配置。原创 2025-05-30 17:12:31 · 959 阅读 · 5 评论 -
马上520为你准备好了Java实现的爱心图案
通过这个教程,我们学习了如何使用Java绘制一个数学上的爱心图形,并在其中添加"520"文字。这种技术可以应用于各种图形界面程序中,如游戏、动画或浪漫的表白程序。希望这个教程对你有所帮助!完整代码可以直接复制到Java开发环境中运行,记得确保你的开发环境已经配置好Swing库。原创 2025-05-18 00:00:43 · 354 阅读 · 0 评论 -
Java视频流RTMP/RTSP协议解析与实战代码
Java实现视频直播输入流的核心在于选择合适的协议和库。对于简单需求,可直接使用JavaCV或调用FFmpeg;对于复杂场景,建议结合开源流媒体服务器(如SRS)和Java后端服务。实际开发中需重点关注协议解析、性能优化和错误恢复。在Java中实现视频直播的输入流处理,通常需要结合网络编程、多媒体处理库以及流媒体协议(如RTMP、HLS、RTSP等)。原创 2025-05-16 21:00:49 · 1598 阅读 · 0 评论 -
Java集合框架详解与使用场景示例
Java集合框架提供了多种数据结构,包括List、Set和Queue,每种结构都有其特定的用途和性能特点。List(如ArrayList和LinkedList)适用于有序且允许重复元素的场景;Set(如HashSet和TreeSet)用于存储唯一元素,支持快速查找和排序;Queue(如ArrayDeque和PriorityQueue)则用于先进先出或优先级处理。通过合理选择集合类型和实现类,可以提高程序的效率和可读性。本文通过代码示例展示了这些集合的使用场景,帮助开发者根据具体需求做出合适的选择。原创 2025-05-13 22:39:32 · 496 阅读 · 0 评论 -
全国 OSM 数据集(2014 - 2024 年)
本数据集整合了全国范围内自 2014 年至 2024 年的 OpenStreetMap(OSM)数据,涵盖了路网、建筑物、POI(兴趣点)、水系及地表覆盖利用等多个方面,数据格式为 shp(Shapefile),便于在各类地理信息系统(GIS)软件中进行处理与分析。原创 2025-04-22 22:58:19 · 862 阅读 · 0 评论 -
探索GitHub上的宝藏开源项目,拿来搞钱也太香了!
学编程的盆友看过来!GitHub 上藏着一个魔法宝库——海量,正等着为你打开技术世界的大门。无论你是被 Python 的简洁优雅吸引,想 Java 实战开发企业级应用,还是准备用 Go 搭建高性能服务,甚至对 Swift 的苹果生态充满好奇,这里都能找到你的「心动对象」。这些项目像乐高积木一样有趣:从修复一个错别字开始,到亲手优化一段核心算法,每一步操作都能实时看到代码如何改变世界。不用啃完厚厚的技术手册,也不用害怕复杂的环境配置,社区前辈们早已铺好「新手快车道」。最酷的是?原创 2025-04-01 21:53:17 · 2228 阅读 · 0 评论 -
【案例分享】知名大厂实景三维数字孪生智慧水利管理平台
XX讯飞科技数字孪生水利管理平台是一个集成了多种先进技术的综合性管理平台,旨在推进水利建设从“治水”向“智水”的转变。综上所述,讯飞科技数字孪生水利管理平台通过集成多种先进技术,实现了对水利设施的全面监测、分析和管理,为水利建设提供了智能化、科学化的解决方案。原创 2025-03-28 23:17:36 · 309 阅读 · 0 评论 -
Spring Boot 3虚拟线程的使用
非Web应用启动后,若没有其他非守护线程(如主线程、定时任务线程),JVM会立即退出。即使启用了虚拟线程执行任务,由于虚拟线程是守护线程,无法阻止JVM退出。即使存在正在运行的守护线程(如虚拟线程),JVM也不会等待它们完成。虚拟线程的守护线程特性是导致非Web应用提前退出的根本原因,而。:虚拟线程是守护线程,主线程结束后JVM直接退出。启用虚拟线程后,建议配置日志记录线程信息(如。线程阻止JVM退出,等待虚拟线程任务完成。),以便区分平台线程与虚拟线程。线程,允许JVM正常退出。),确保JVM不会退出。原创 2025-03-27 18:16:56 · 518 阅读 · 0 评论 -
Spring Boot 3 重磅升级:Java 17、AOT 编译与开发者体验全面进化
Spring Boot 3 的发布标志着 Java 生态进入新纪元。从 Java 17 的深度适配到 AOT 编译的性能突破,从开发者体验的全方位优化到企业级特性的持续增强,它正在重塑云原生时代的开发范式。对于技术团队而言,这既是挑战更是机遇——尽早拥抱 Spring Boot 3,将在未来的技术竞赛中占据先机。建议开发者通过官方迁移指南逐步升级现有项目,同时在新项目中大胆采用 Spring Boot 3 技术栈。毕竟,在快速迭代的云计算时代,选择正确的技术方向比努力本身更重要。原创 2025-03-27 18:11:37 · 727 阅读 · 0 评论 -
Springboot导出Excel方法(若依实例)
这个类将使用反射来读取实体类的注解信息,并根据这些信息生成Excel文件。本文介绍springboot中将前端展示的数据导出为Excel表格文件的方法,方法来自若依ruoyi。为实现代码的复用和功能的多样性,应使用注解的方法为不同的实体类、不同的数据类型进行单个配置。注意:在实际实现中,需要处理各种异常和边界情况,例如数据为空、字段类型不匹配等。在Controller层创建一个方法来处理Excel的导出请求。定义一些必要的变量,例如工作簿对象、工作表对象、样式列表等。注解来标记需要导出的实体类字段。原创 2024-12-19 15:26:36 · 1452 阅读 · 0 评论 -
SpringBean生命周期之PostConstruct、PreDestroy详解
和注解是Spring框架中用于管理Bean生命周期的重要工具。在Bean初始化完成后执行,用于完成依赖注入后的操作、初始化资源和执行校验等。在Bean销毁前执行,用于释放资源和执行清理操作。了解这两个注解的使用和执行时机,有助于更好地管理Spring Bean的生命周期,确保应用程序的稳定性和资源的有效利用。原创 2024-12-05 14:38:34 · 539 阅读 · 0 评论 -
Spring项目中@Validated校验List类型的接口参数
我们通常使用@Validated注解来对接口参数进行校验。然而,当参数是List类型时,直接使用@Validated注解可能无法对List中的元素进行校验。这是因为@Validated注解主要用于校验JavaBean对象,而List中的元素并不是JavaBean对象,因此无法直接应用@Validated注解的分组功能。@ApiOperation("批量添加学生")/*** @Description: 学生实体* @author 招风的黑耳。原创 2024-12-04 15:12:11 · 708 阅读 · 0 评论 -
Java项目中高精度数值计算:为何BigDecimal优于Double
在涉及金额计算、面积计算等需要高精度数值操作的业务中,BigDecimal是更好的选择。它能够提供任意精度的小数运算,并且提供了多种舍入模式,可以确保计算结果的准确性和可靠性。相比之下,Double的精度限制和舍入行为使其不适合这些高精度计算场景。原创 2024-11-29 12:46:25 · 258 阅读 · 0 评论 -
Java对象集合使用Java 8的Stream API合并数据
在Java中,如果你有一个包含对象的列表(List),并且想要根据对象的某个字段(比如。)的值进行累加,你可以使用Java 8引入的Stream API来简化这个过程。最后,我们打印出分组并累加后的对象集合。注意,由于我们修改了原始对象(通过。如果你不希望修改原始对象,你可以在合并函数中创建一个新的。以下是一个示例代码,它展示了如何根据。字段对对象列表进行分组,并累加。方法),所以最终的结果会反映在。方法将列表转换为流,并使用。的对象的某个字段(比如。)进行分组,同时将相同。实例,并设置累加后的。原创 2024-11-27 17:58:54 · 411 阅读 · 0 评论 -
你怎么理解MyBatis-Plus selectOne查询一条记录方法的设计思想?
MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。selectOne是 MyBatis-Plus 中的一个方法,用于从数据库中查询并返回单个对象。原创 2024-10-30 18:01:16 · 1732 阅读 · 0 评论 -
Java设计模式中工厂模式与策略模式的区别
提供一个接口,用于创建相关或依赖对象的家族,而无需指定具体类。这种模式使得系统能够独立于这些对象的创建过程,增加了系统的灵活性和可扩展性。原创 2024-09-05 23:16:51 · 878 阅读 · 0 评论 -
Java中Map集合的高级应用与实战技巧
在Java中,Map 集合是一种非常强大且灵活的数据结构,它存储键值对(key-value pairs),允许你通过键来快速检索值。然而,Map 的使用远不止于简单的存储和检索。以下是一些高级使用场景和技巧,展示了如何在Java中高效且创造性地利用Map 集合。原创 2024-08-28 23:01:36 · 970 阅读 · 0 评论 -
fastjson序列化时过滤字段的方法
fastjson提供了多种灵活的方式来过滤序列化时的字段,包括使用注解、Java的transient关键字、属性名过滤器和自定义属性过滤器。根据实际需求选择最合适的方法,可以有效地控制序列化结果,保护敏感信息,减少数据传输量。原创 2024-08-27 21:50:06 · 1314 阅读 · 0 评论 -
Spring Security 6如何使用?
Spring Security通过UserDetailsService接口来加载用户信息。你可以实现这个接口来从数据库或其他存储中查询用户信息。@Service@Autowired// 假设你有一个UserRepository来访问数据库@Override// 根据你的业务逻辑构建UserDetails对象user.getPassword(), // 注意:这里的密码应该是加密后的。原创 2024-08-18 06:46:08 · 1302 阅读 · 0 评论 -
SpringCloud基于Eureka的服务治理架构搭建与测试:从服务提供者到消费者的完整流程
Spring Cloud微服务框架中的Eureka是一个用于服务发现和注册的基础组件,它基于RESTful风格,为微服务架构提供了关键的服务注册与发现功能。以下是对Eureka的详细解析和搭建举例。原创 2024-08-17 17:05:51 · 1058 阅读 · 0 评论 -
Spring Boot应用中的资源分离与高效打包实践
通过实施资源分离和高效打包策略,不仅可以提升Spring Boot应用的开发和部署效率,还能显著提高用户体验。在实际项目中,根据项目的实际情况和团队的技术栈选择合适的工具和方案是关键。希望本文能为读者在Spring Boot项目中实现资源分离和高效打包提供一些有价值的参考。原创 2024-08-12 21:50:01 · 540 阅读 · 0 评论 -
Web端系统开发解决跨域问题——以Java SpringBoot框架配置Cors为例
在Web安全上下文中,源(Origin)是指一个URL的协议、域名和端口号的组合。这三个部分共同定义了资源的来源,浏览器会根据这些信息来判断两个资源是否属于同一源。例如,https://www.example.com:443和http://www.example.com虽然域名相同,但由于协议和端口号不同,它们被视为不同的源。同源(Same-Origin)是指两个URL的协议、域名和端口号完全相同。只有当这些条件都满足时,浏览器才认为这两个资源来自同一源,从而允许它们之间的交互操作。原创 2024-08-12 21:01:39 · 855 阅读 · 0 评论 -
Java文件夹复制解决方案:优化大文件与大量数据的处理
Java中复制文件夹及其内容,尤其是当处理大文件或文件夹(如几个GB)时,需要特别注意内存使用和性能优化。以下是一个详细的指导,包括如何避免内存溢出异常,并确保复制过程的高效性。原创 2024-08-06 23:31:13 · 345 阅读 · 0 评论 -
WebSocket在Java Spring Boot+Vue框架中实现消息推送功能
在现代Web应用中,实时消息提醒是一项非常重要的功能,能够极大地提升用户体验。WebSocket作为一种在单个TCP连接上进行全双工通信的协议,为实现实时消息提醒提供了高效且低延迟的解决方案。本文将详细介绍如何在Java Spring Boot后端和Vue前端框架中利用WebSocket实现消息提醒功能。原创 2024-08-01 22:26:26 · 1596 阅读 · 0 评论 -
Spring Boot核心特性深度解析
它通过扫描项目的类路径和已添加的依赖,自动配置应用程序的各种组件和功能。Spring Boot作为Spring家族中的一员,以其简洁、快速和易于上手的特点,迅速成为Java开发者构建微服务和Web应用的首选框架。通过spring-boot-starter-web起步依赖,开发者可以快速搭建起一个包含Spring MVC和嵌入式Tomcat的Web应用,并享受自动配置带来的便利。通过“约定优于配置”的原则和自动配置功能,Spring Boot极大地降低了项目配置的复杂性,让开发者能够更专注于业务逻辑的实现。原创 2024-07-26 21:29:08 · 453 阅读 · 0 评论 -
Java从基础到高级特性及应用
历史与发展:简要回顾Java的诞生背景、Sun Microsystems的贡献、Oracle的收购以及Java社区的持续发展。特点与优势:阐述Java的跨平台性(通过JVM实现)、面向对象、自动垃圾回收、丰富的API库等核心特性。原创 2024-07-26 20:55:47 · 939 阅读 · 0 评论 -
Java性能优化:从单线程执行到线程池管理的进阶实践
在Java开发中,随着应用规模的不断扩大和用户量的持续增长,性能优化成为了一个不可忽视的重要课题。特别是在处理大量并发请求或执行耗时任务时,单线程执行模式往往难以满足需求,这时线程池的概念便应运而生。本文将从应用场景举例出发,探讨Java线程池的使用,并通过具体案例和核心代码展示其在实际问题解决中的强大作用。原创 2024-07-24 15:00:46 · 822 阅读 · 0 评论 -
sklearn基础学习
sklearn,或者更正式地称为scikit-learn,是一个基于Python的开源机器学习库。它建立在NumPy、SciPy和matplotlib之上,提供了简单而有效的工具用于数据挖掘和数据分析。sklearn支持监督学习和无监督学习算法,包括分类、回归、聚类和降维等。原创 2024-07-23 10:16:10 · 909 阅读 · 0 评论 -
Hibernate配置文件hibernate.cfg.xml、类与表间的关系映射文件Student.hbm.xml的书写和属性注解
com.mysql.jdbc.Driver jdbc:mysql:/原创 2013-06-03 21:00:15 · 1163 阅读 · 1 评论 -
Hibernate工具类获取Session对象、以及简单的增删改查操作
import java.io.Serializable;import org.hibernate.HibernateException;import org.hibernate.Session;package cn.itcast.hibernate.utils;import java.io.Serializable;import org.hibernate.HibernateExcepti原创 2013-06-03 21:40:35 · 704 阅读 · 1 评论 -
求大神帮忙解决一下——项目中的工单同步功能怎么实现?
工单同步功能说明:ITIL工单每2个小时推送一次最新工单数据,后台进程实时监测同步1.后台同步 从ITIL工单中将涉及运维的工单同步到本系统; 涉及同步工单业务类型: (1)话音类: 服务类->客户投诉->基础通信->话音基本业务->网络覆盖->后面全部 服务类->客户投诉->基础通信->话音基本业务->通话质量->后面全部 (2)手机上网投诉: 服务原创 2013-07-08 11:05:55 · 1660 阅读 · 1 评论