自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实战:Docker Compose 下 Nginx、Java、Mysql 和 Redis 服务协同部署(包含解决浏览器访问Linux部署服务器本地资源问题)

通过这个实战,我们成功搭建了一个多服务协同部署的环境,其中Nginx作为静态资源服务器,Java负责业务逻辑。利用Docker Compose,我们实现了服务的快速部署和环境一致性,为开发和测试提供了便利。

2023-12-08 15:33:37 1849 6

原创 docker容器中解决中文乱码(详解)

docker部署java开发web项目。nohup显示打印日志出现中文乱码,中文显示为问号???。

2023-01-29 15:02:10 11556 4

原创 MyBatis动态sql之批量修改、批量新增(使用foreach标签的一条sql语句解决)

批量新增和批量修改在业务中是很常见的,一条sql访问数据库和通过代码循环体中循环访问数据库做单个数据新增修改相比较下:一条sql访问数据库性能上明显提升,代码且简洁明了。

2022-11-12 13:15:05 9522 4

原创 IDEA上代码注释模板设置、serialVersionUID自动生成设置、git提交项目时忽略无用文件、字符编码UTF8设置、注解生效激活设置、Java编译版本设置

IDEA上git提交项目时忽略无用文件、开发时常用的文件代码模板设置、字符编码UTF8设置、注解生效激活设置、Java编译版本设置、serialVersionUID自动生成设置

2022-08-08 16:57:33 10226

原创 RabbitMq+死信队列+邮箱通知的SpringBoot实战

公司项目中有一段业务并发访问量大,lz思考耗时逻辑代码交予消息中间件RabbitMq异步处理,但是如果这段耗时逻辑报异常了怎么办,这时可以想到使用死性队列,那死性队列中的异常消息怎么处理呢,lz想到了使用邮箱通知来通知管理人员,管理人员处理好异常后对异常消息进行手动转移至主业务队列达到解决问题的目的。废话不多说,思路有了开始实战............

2022-07-16 16:15:21 1234 2

原创 实战noVNC全过程操作(包含遇到的问题和解决)

为了公司项目服务系统的售后服务轻松、远程操控方便,使用VNC是一个很好的选择。

2022-07-15 09:09:43 15480 20

原创 Docker打包镜像(三种方式)并发布到Docker Hub

公司项目发生较大改动(添加表、重要文件备份、自动脚本上传),在原有的项目镜像基础下重新打包生成新的镜像,并发布到Docker Hub上。1、进入docker2、宿主机复制文件到docker(当然也可以用Xftp):3、连接数据库执行sql文件......

2022-07-13 20:59:05 17732 1

原创 MySQL大师之路:从入门到精通的全方位实战指南

MySQL,作为一款广受欢迎的关系型数据库管理系统,以其卓越的性能、稳定性及灵活性,成为了众多企业和个人开发者的数据存储首选。本指南旨在为初学者及有经验的数据库管理员提供一条由浅入深的学习路径,覆盖MySQL的方方面面,从基础概念到高级应用,再到最佳实践,助您成为MySQL领域的专家。-- 创建数据库 `school`-- 使用 `school` 数据库USE school;-- 创建 `students` 表。

2024-06-14 14:28:41 391 1

原创 Java中的Mysql数据库备份与定时任务快速实现(详细代码示例)

通过结合Java的定时任务功能和数据库备份逻辑,我们可以轻松地实现数据库的自动备份。在实际应用中,还需要考虑备份的安全性、性能、可靠性以及恢复策略等多个方面。此外,定期测试备份文件的完整性和可恢复性也是非常重要的。

2024-05-08 17:33:03 1415 11

原创 深入解析AI大模型:原理、挑战与前景

在现今技术飞速发展的时代,AI大模型学习已成为科技领域的研究热点。要想在这一领域取得突破,研究者需掌握扎实的数学基础、编程能力以及特定领域的业务知识。本文将深入剖析AI大模型的原理、挑战与前景,为读者提供有益的建议。AI大模型学习是一个充满挑战和机遇的领域。通过不断学习和探索,我们可以更好地应对未来的技术变革。在这个过程中,我们需要掌握扎实的数学基础、编程能力以及特定领域的业务知识,同时关注模型的优化与挑战,共同推动AI大模型学习的发展。

2024-03-30 15:40:37 1039 3

原创 深入解析MybatisPlus多表连接查询实践

通过上述分析,能够用 MybatisPlus 解决多表连接查询中的一对一一对多多对多查询。上述代码行文紧凑,充分利用 IDE 对 Lambda 表达式的支持,在编译期间完成对代码的检查。业务逻辑清晰,可维护性、可修改性优势明显。一次查询需要访问至多两次数据库,时间复杂度为o(1),主键查询或者索引查询,查询效率高。

2024-01-23 17:15:16 4238

原创 Docker高效管理指南:一键清理、停止与删除所有容器和镜像

在日常的开发和部署中,精细调整和简化Docker管理是提高效率不可或缺的一环。通过灵活应用上述命令,我们能更便捷地管理容器和镜像,保障系统的可靠性和稳定性。在执行删除操作时,务必慎重行事,以免造成不必要的损失。深入了解这些高级且灵活的Docker命令,将使你在处理复杂的应用场景时得心应手。通过容器日志管理、资源限制与统计、多容器协同等命令,你能更全面地掌握Docker的强大功能,确保你的应用在各种环境中稳定运行。在这个不断演进的技术领域中,善用这些命令将助力你更好地适应和应对多变的开发和部署挑战。

2023-12-22 16:46:42 2193

原创 流动的力量:解锁Java 8 Stream的高级特性

在编程的世界里,Java 8 Stream的高级奇术既是技术的精进,更是对代码之美与力的深度追求。在这个充满挑战与机遇的时代,我们透过深度解析Stream的高级拓展,不仅是为了追求代码的优雅与高效,更是为了在代码的艺术殿堂中创造出更为令人惊艳的杰作。

2023-12-19 15:53:31 632

原创 代码魔法:递归嵌套的《迷宫之旅》算法解析

在实际应用中,这样的代码奇迹具有广泛的应用价值,尤其在路径搜索问题中。递归算法展现了其奇妙之处,通过简洁而有效的解决方案,让我们能够在编码的世界中探索未知。这样的深度搜索不仅让编程更具挑战性,同时也为解决复杂问题提供了一种独特而强大的思维工具。总之,这次迷宫之旅不仅是代码的奇妙演绎,更是对递归思想和深度搜索精髓的一次呈现。它为编码的世界增添了神秘的色彩,让我们在解决问题的道路上不断探索、不断前行。

2023-12-19 14:31:48 599

原创 Java与前端:风云变幻的技术之路

在技术的风口浪尖,我们不能被过度的言论所左右。Java和前端依然有着广阔的发展空间,关键在于我们如何看待和把握技术的变革。转变思维,积极学习,不仅是对技术的尊重,更是对自身职业生涯的负责。通过理性的看待和积极的行动,我们可以在这场技术风暴中找到属于自己的机会,实现个人职业目标。让我们携手迎接技术的挑战,共同书写属于我们这个时代的辉煌篇章。

2023-12-16 15:22:52 459

原创 低代码开发:激发创新还是程序员的末日?

低代码开发是一种注重可视化和图形化界面的软件开发方法,它的目标是通过最小的手动编码,让更多的人参与应用程序的开发过程。相对于传统的编程方式,低代码开发注重提供简单易懂的界面和工具,使非专业开发人员也能够快速构建应用程序。这种开发方式倡导使用图形化的用户界面、拖放元素以及少量的手动编码,以加速应用程序的开发过程。低代码平台通常提供了丰富的预建组件和模块,使开发者能够通过组合和配置而非传统的编写代码的方式来完成任务。总的来说,低代码开发并非伪需求,它是时代的产物,是技术不断进步的表现。

2023-12-08 17:01:07 1068

原创 在Ubuntu系统上部署Docker和Docker-Compose服务(实战篇)

在这篇文章中,我们将从查看防火墙状态开始,逐步引导大家完成Docker和Docker-Compose的安装、配置以及使用过程。通过学习这些关键步骤,你将更加熟练地运用容器技术,为未来的项目提供更便捷的开发和部署方案。无论你是刚刚接触Docker的新手,还是希望进一步优化Docker在Ubuntu上的使用,这篇指南都将为你提供有益的信息。通过这篇实战指南,我们成功在Ubuntu系统上部署了Docker和Docker-Compose服务,为未来的开发和部署提供了强大的容器化支持。

2023-12-05 20:39:43 1528

原创 CentOS服务自启权威指南:手动启动变为开机自启动(以Jenkins服务为例)

CentOS系统提供了多种配置服务开机自启动的方式。本文将介绍其中两种常见的方式,一种是使用Systemd服务管理器配置,不过,在实际中,如果你已经通过包管理工具安装的,那么服务通常已经被配置为Systemd服务,只需要命令设置开机自启动即可。但是如果你是压缩包解压的方式安装服务,可以参考如下步骤。另一种是通过修改文件实现。在这里,我们以Jenkins为例,演示如何将其手动启动的服务配置为开机自启动。通过这两种配置方式,你可以轻松将服务(以Jenkins为例)在CentOS系统启动时自动启动。

2023-12-05 17:32:27 1841

原创 代码人生,养生有道

在代码的征程中,我们往往忽略了自身的身体健康。这次的活动,我们不妨一同探讨一下,作为程序员,如何通过科学的养生方式,告别亚健康,迎接更健康、更充实的人生。只有在身体健康的基础上,我们才能更好地迎接代码世界的挑战。让养生成为程序员生活的一部分,我们才能更长远地投身于我们热爱的编程事业中。期待你的分享,为养生添彩!

2023-12-01 10:37:19 432

原创 解决Web端请求响应超时HTTP状态码504和110 timed out错误(Nginx配置调整)

在前端开发中,发送请求时,有时会遇到请求响应超时的问题(如HTTP状态码504和110错误)。这种问题可能是由于网络延迟、服务器响应时间过长或请求数据量过大等原因造成的。为了解决这个问题,我们可以通过配置 Nginx 来调整相关参数,以提高请求处理和响应时间。通过以上的配置,我们可以提高 Nginx 对于大型请求头和请求主体的处理能力,并增加代理的超时时间,从而解决Web端请求响应超时的问题。请根据具体需求调整参数的数值。

2023-11-16 15:30:35 1673

原创 MySQL性能优化实践:SQL查询优化之使用只读索引、IN方法和临时表分批查询(附加:索引的创建删除命令)

在处理大量数据时,MySQL的性能可能面临瓶颈。为了提升查询效率,本文将介绍三种优化SQL查询的方法:只读索引、IN方法和临时表分批查询。通过Java示例代码和讲解,帮助读者理解并应用这些优化技巧,提升MySQL查询性能。通过本文介绍的只读索引、IN方法和临时表分批查询这三种优化方法,你可以提升MySQL的查询性能。根据实际需求和场景,选择合适的优化方法,可以获得更好的查询体验。

2023-11-07 20:18:55 324

原创 掌握Maven和SpringBoot的灵活性:定制化lib目录和依赖范围

在开发基于Maven和SpringBoot的项目时,我们经常会使用第三方库来满足需求。然而,有时候我们需要更灵活地控制这些库的依赖范围和加载方式。本文将介绍如何使用Maven和SpringBoot实现定制化的lib目录和依赖范围。经过如下定制化后,打包执行jar时就不会报错(运行日志报错显示使用lib下中jar的类`ClassNotFoundException`和`NoClassDefFoundError`)

2023-11-03 09:00:57 1014 2

原创 解决Docker服务unhealthy无法访问(报错:sshd[xx]: error: kex_exchange_identification: Connection closed)

公司项目统一放在私有部署的Gogs服务上,Gogs服务是一种用于统一版本管理的Git系统。它旨在提供一个易于安装和使用的Git服务,适用于个人用户、团队或小型组织。通过Gogs服务,用户可以创建、管理和共享Git存储库,以便进行代码版本控制和协作开发。

2023-10-31 13:17:27 869

原创 Java并发编程指南:如何正确使用信号量和线程池熔断机制

在分布式系统中,选择合适的熔断机制是保护系统免受故障影响的关键。本文将介绍使用信号量和线程池两种常见的熔断机制,并提供Java和Spring Cloud Alibaba框架下的示例代码,帮助您深入理解和应用。本文讲解了信号量熔断机制和线程池熔断机制,并给出了Java和Spring Cloud Alibaba框架下的示例代码。选择适合的熔断机制要考虑资源限制、请求处理时间和容错能力等因素。如果你的场景资源有限且需要快速响应请求,那信号量就是个不错的选择。

2023-10-28 10:59:05 485

原创 处理大事务的实战指南:确保数据一致性与系统性能的平衡

本文将为你介绍处理大事务的实战指南,通过一个实际场景——订单提交,详细讲解如何处理大事务,在保证订单数据一致性的同时提升系统性能。处理大事务是一项复杂而重要的任务,需要综合考虑数据一致性和系统性能的平衡。通过在订单提交场景中合理划分和优化事务、采用并发控制策略、使用适当的技术方案和持续优化,我们可以有效地处理订单提交的大事务,确保订单数据的正确性和系统的高性能。同时,保持关注最新的技术发展和最佳实践,不断优化和改进大事务的处理方式,以确保订单提交系统运行的稳定性和可靠性。

2023-10-26 09:35:07 229

原创 实例详解:Java使用JWT和Redis实现高效单点登录(SSO)

单点登录(Single Sign-On,简称SSO)是一种身份验证和访问控制机制,允许用户使用一组凭证(如登录名和密码)登录到多个应用程序中,而无需为每个应用程序单独进行身份验证。用户只需要登录一次就可以访问所有系统的应用和资源。相对于传统的每个系统都需要登录一次的方式,单点登录可以提高用户体验,降低用户的登录成本。在本文中,我们将通过使用JWT(JSON Web Token)和Redis来实现SSO功能,并提供详细的Java代码实例。通过结合JWT和Redis,我们可以轻松实现单点登录(SSO)的功能。

2023-10-25 11:36:39 2391

原创 后台上传:Java+Vue+Websocket实现OSS文件上传进度条功能完整教程

通过以上步骤,我们实现了一个包含上传文件和实时显示上传进度的文件上传功能。前端使用Vue编写了上传组件,后端使用Java和Spring Boot进行文件上传处理。通过调用阿里云OSS服务和监听上传文件字节来计算进度,我们能够实时显示文件上传的进度条,提升用户体验。结束语:人生最大的浪费不是金钱的浪费,而是时间的浪费、认知的迟到。

2023-10-13 13:17:58 3400 7

原创 CentOS系统上定时备份与清理Java项目日志文件

在开发和维护Java项目时,日志文件是关键的调试和故障排查工具。然而,随着时间的推移,日志文件可能会不断增长,导致文件过大,降低了系统的性能并且难以管理。为了解决这个问题,我们将介绍如何在CentOS系统上实现定时备份与清理Java项目日志文件的方案。通过设置定时器,结合Shell脚本的备份与清理操作,我们可以解决Java项目日志过大的问题。定时备份可以保留历史日志记录以供参考和排查问题,而清理操作可以防止日志文件过大导致的写入失败。

2023-10-09 00:00:00 539 1

原创 SpringCloud中的分布式锁用法详解(Java+Redis SETNX命令)

在分布式系统中,保证数据的一致性和并发控制是至关重要的。分布式锁能够解决多个进程/线程同时访问共享资源的问题,确保只有一个进程/线程能够获得锁。本文将介绍如何使用Java和Redis实现分布式锁,并提供示例代码和注意事项。在Spring Cloud项目中,使用Java和Redis结合实现的分布式锁可以确保订单的一致性和并发控制。通过合理使用锁的粒度以及注意事项,可以减少死锁问题并提高系统的并发性能。分布式锁的使用能够在多个实例同时提交订单时,仅有一个实例可以成功进行操作。

2023-10-08 08:52:56 454 1

原创 React实现多图片预览功能、预览图上下张切换(实战示例)

在React项目中,展示和预览多张图片是一种常见的需求。本篇帖子将介绍如何使用React和antd库来实现这一功能,并探讨如何在预览模态框中切换到前一张或后一张图片。本篇帖子介绍了如何使用React和antd库实现多图片预览功能,并在预览模态框中实现了切换到前一张或后一张图片的拓展功能。通过对状态的管理和处理用户点击事件,我们可以轻松地实现这一功能。希望本篇文章能帮助你理解和应用多图片预览的技术实现方法。

2023-09-27 20:34:49 1441

原创 Rust解决Bug错误“error: future cannot be sent between threads safely”

在开发过程中,我们可能会遇到错误消息: “error: future cannot be sent between threads safely”。这个错误通常是由于使用了不可发送(not Send)的类型引起的,尤其是类型。这意味着我们不能将一个互斥锁(mutex)在不同线程间进行传递,而 Tokio 运行时又允许任务在每个.await点之间在不同线程间移动。因此,我们需要重新组织代码以确保互斥锁的析构函数在.await之前运行,以避免出现此错误。还有另外一种方案是使用。通过使用LocalSet。

2023-09-22 10:56:28 730

原创 常用的正则表达式30个,整数、浮点数、中文、英文字母、手机号、邮箱、日期、IP等等( JavaScript、Java)

正则表达式(Regular Expression)是一种强大的文本模式匹配工具,它使用特定的语法规则来对字符串进行模式匹配和文本搜索。下面,LZ整理了一些常见的正则表达式模式,帮助你更好地处理数据验证。正则表达式是处理和验证文本数据的强大工具,它可以用于各种场景,包括表单验证、文本搜索和数据清洗。在编程和数据处理中,了解并熟练使用正则表达式,将有效提升你的开发效率。希望本文提供的常用正则表达式能对你的开发工作有所帮助!

2023-09-19 16:42:33 1878 2

原创 Git在已有的项目中引入Submodule子模块管理:添加、更新、删除(实战示例代码)

在进行Git版本控制的过程中,有时候我们需要在已有的项目中引入子模块,以便复用其他独立的Git存储库的代码或文件。本文将详细介绍如何在已有项目下添加、更新和删除Git的Submodule子模块,并提供相关的示例代码。在本文中,LZ讲解了我们如何在已有的Git项目中添加、提交、更新和删除Submodule子模块。使用示例代码演示了在已有项目中添加devices文件夹,并引入两个子模块module1和module2的过程。还介绍了如何提交这些修改到主项目中,以及其他开发人员如何初始化和更新子模块。

2023-09-12 11:56:48 4219

原创 编程世界必备:程序员不可或缺的关键算法

排序算法是数据整理的利器,它们能将混乱的数据有序化。快速排序、归并排序、插入排序和选择排序等是常见的排序算法。// 快速排序// 分区操作,找到基准元素的正确位置// 对基准元素左边的子数组进行递归排序// 对基准元素右边的子数组进行递归排序// 选择数组的最后一个元素作为基准元素// i 指向比基准元素小的元素的最后位置j < high;j++) {i++;// 交换元素,将比基准元素小的元素放在左侧// 将基准元素放到正确的位置上// 返回基准元素的索引// 归并排序。

2023-09-01 13:47:49 172

原创 一条指令解决Linux和Windows下杀死指定端口进程的方法(附Shell和Batch脚本)

在日常开发和系统管理中,经常会遇到需要终止特定端口上的进程的情况。本文将介绍如何在 Linux 和 Windows 系统下,使用一条指令来杀死指定端口的进程,同时还将提供相应的 Shell 脚本和 Batch 脚本示例,以实现更便捷的操作。在 Linux 系统中,你可以使用kill命令来终止指定端口上的进程。以下是一条结合lsof命令的命令示例,它会查找指定端口(比如8080)的进程并杀死它:(注:以下全程root操作,非root操作请自行添加sudo)这条命令中,会找到端口8080。

2023-08-31 09:36:47 1648

原创 React组件间数据传递(弹框和高阶组件(HOC)特性实现)

在现代前端开发中,React 已经成为了最受欢迎的 JavaScript 库之一。而在复杂的应用中,不同组件之间的数据传递问题显得尤为关键。在本文中,我们将探讨一种高效的方法,即如何利用弹框和高级组件特性来实现 React 组件间的数据传递。我们将通过一个具体的业务场景来深入讲解假设我们正在开发一个项目管理系统,其中一个关键功能是发起项目立项审批。在主页面上,用户可以看到一张项目列表,每个项目都带有一个“发起审批”按钮。点击该按钮后,一个弹框将显示,允许用户选择公司部门并查看相关的审批流程。

2023-08-24 19:47:03 764

原创 org.xml.sax.SAXParseException: 元素类型 “select“ 必须后跟属性规范 “>“ 或 “/>

项目build编译是不会检查xml的语法,mapper.xml文件是项目运行时java虚拟机根据mybaits创建文件实例的时候检查报错,遇到问题不用慌,错误日志看起来。

2023-08-21 09:00:20 566

原创 MD5、RSA 和自定义签名的 Java服务端到端数据安全实战

在现代的数字世界中,数据的安全性和完整性变得尤为重要。为了确保数据在传输和存储过程中不受到攻击,我们可以借助各种加密和签名技术来加强数据安全。本文将介绍如何使用 MD5、RSA 加密,以及如何自定义签名规则来保护数据的安全性。下面介绍如何结合 MD5、RSA 加密以及自定义签名规则,实现 Java 数据的安全传输和验证。本文介绍了如何结合 MD5、RSA 加密以及自定义签名规则,实现 Java 数据的安全传输和验证。

2023-08-17 09:10:23 447

原创 电脑维护进阶:让你的“战友”更强大、更持久!

无论是学习还是工作,电脑已经成为了IT人必不可少的得力助手。然而,电脑的性能和寿命需要经过细心的维护来保证。本文将详细探讨如何维护你的电脑,延长它的寿命,以及一些实用建议。电脑维护需要耐心和细心,但它能够大大延长你的电脑寿命,提升性能。通过内部清洁、科学的电源管理、软件更新、定期备份、安全保护和合理使用习惯,你能够保护你的IT战友免受硬件故障和性能下降的困扰。选择轻量级的杀毒软件,如Windows Defender或XProtect,可以为你的电脑提供基本的安全防护。

2023-08-07 16:05:24 195

原创 MySQL主从复制基于二进制日志的高可用架构指南

在现代数据库架构中,MySQL主从复制技术扮演着重要角色。它不仅可以提升数据库性能和可扩展性,还赋予系统卓越的高可用性和灾难恢复能力。本文将深入剖析MySQL主从复制的内部机制,同时通过一个实际案例,展示其在实际场景中的强大作用。

2023-08-04 16:48:22 495

空空如也

空空如也

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

TA关注的人

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