自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解读maven项目的打包方式

现在都是使用idea中maven插件来打包项目,因此此文章将基于idea中的maven插件打包。从 上面的两种方式可以看出来,idea自带的打包方式,只能打包成小包,源码的部分只有项目本身的代码。这种 Jar 包就是所谓的 “小包”。使用第二种方式的assembly打包出来的 Jar 包多多少少有些问题,但是使用第三种方式打包出来的 Jar 包一般都是可用的。所以在将项目打包为大包时,还是推荐使用第三种打包的方式。如果是大数据项目中,我们日常使用比较多的是插件,例如:大数据项目中往往有很多shell。

2025-01-23 13:49:16 962

原创 并发问题分析

【代码】并发问题分析。

2025-01-13 09:32:22 337

原创 @Transactional(rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED) 区别

【代码】@Transactional(rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED) 区别。

2025-01-10 09:35:00 403

原创 mysql

【代码】mysql。

2025-01-09 16:17:53 184

原创 mybatis plus查询

【代码】mybatis plus查询。

2025-01-09 10:33:54 177

原创 git查询

这个错误提示和表明你没有足够的权限来克隆指定的 Git 仓库。

2025-01-03 11:03:35 290

原创 docker基础环境配置

【代码】docker基础环境配置。

2025-01-02 17:33:19 122

原创 MongoDB、MySQL 和 IoTDB 是三种不同的数据库,主要差异如下:

数据模型MongoDB:是文档型数据库,数据以类似 JSON 的 BSON 格式文档存储。一个集合(相当于关系型数据库中的表)可以包含不同结构的文档,这种灵活性适合存储半结构化和非结构化数据,例如在内容管理系统中存储文章,每篇文章文档可包含不同的字段,如标题、作者、内容、标签等。MySQL:是典型的关系型数据库,数据存储在表中,表由行和列组成,列定义数据类型,行代表记录。数据之间的关系通过主键和外键来维护。例如在电商系统中,有用户表、订单表、商品表,通过外键关联,可明确订单所属用户和所涉及商品。

2025-01-02 15:55:59 335

原创 `request.get_json()`和`request.get_data()

以下是一个结合和。

2025-01-02 10:21:43 176

原创 Python程序部署到Linux系统,从安装到运行,保姆级教程!!!!

10、如果python3文件已存在,并且python3 -V没用效果,执行cd /usr/bin & ll查看是否存在名为python3的文件夹,需要把文件夹删掉(rm -rf python3)再创建软连接。#需要将文件中的oci.dll、oraocci19.dll、oraociei19.dll三个文件复制到python的安装目录里。9、添加python3软链接和pip3软链接:(/usr/bin1和/usr/local/bin2目录)1、创建一个python3目录。2、进入python3目录。

2024-12-31 18:02:49 450

原创 这个错误 ModuleNotFoundError: No module named ‘_ctypes‘ 通常表示 Python 在尝试导入 _ctypes 模块时找不到它。这可能是由于 Python

这个错误通常表示 Python 在尝试导入_ctypes模块时找不到它。这可能是由于 Python 安装不完整或者相关的共享库缺失导致的。

2024-12-31 11:59:19 382

原创 为什么使用`python3 -m pip install`安装Python包

是一个用于安装和管理Python包的工具。它允许用户从Python包索引(PyPI)下载和安装Python包,以及管理已安装的包。这两种命令在功能上是等效的,但它们之间有一些重要的区别,这决定了为什么推荐使用。首先,让我们了解一下这两种命令的背景。

2024-12-31 11:19:05 167

原创 pipreqs自动生成requirements.txt

因为这个工具是老外写的,默认没有考虑到路径名称的编码问题,和外网的连接速度问题。使用pipreqs非常简单,你只需要在项目的根目录下运行以下命令即可生成。再来看一下如何使用pipreqs。采用了以上命令后,最终就可以生成。不出意外的话,大概率会。

2024-12-30 18:12:04 207

原创 在 Windows 上打包 Python 程序使其能在 Linux 上运行,主要有以下几种方式:

不过要注意,打包后的程序在 Linux 运行可能会遇到缺少库依赖等问题,需要确保程序所依赖的 Python 库在 Linux 系统中也正确安装和配置。

2024-12-30 15:43:05 534

原创 Pyinstaller 概述与CxFreeze

然后通过命令行执行python。build来进行打包。

2024-12-30 15:24:23 380

原创 pyinstaller安装

这个错误通常表示服务器理解了客户端的请求,但拒绝执行它,这可能是由于源站的访问限制或者一些配置问题导致的。

2024-12-30 15:15:28 434

原创 SyntaxWarning: invalid escape sequence ‘\i‘ node = parse_latex_math(node, ‘\int\dotsi\int‘)

函数所在的完整代码结构,将上述修改应用到正确的位置。由于你提供的代码片段并不完整,实际修改时你需要根据。

2024-12-30 09:33:13 121

原创 以下是针对你遇到的这个 pip 安装 cx_Freeze 时出现 HTTP 403 Forbidden 错误的中文解决方案:

这条命令中 -i 参数后面跟着的就是指定的镜像源地址,通过更换为阿里云镜像源来尝试下载缺失的 cx-Logging 包以及完成 cx_Freeze 的安装。你可以按照上述这些方案依次尝试一下,希望能够帮助你顺利完成 cx_Freeze 的安装。

2024-12-27 13:48:14 661

原创 缓存穿透和击穿问题

解决缓存穿透和击穿问题的方法如下:

2024-12-21 09:09:55 152

原创 redis缓存穿透和缓存击穿

【代码】redis缓存穿透和缓存击穿。

2024-12-21 09:05:06 178

原创 Java并发编程

【代码】Java并发编程。

2024-12-20 09:13:48 752

原创 Java并发编程

Java的每个对象中都有一个锁(monitor,也可以成为监视器) 并且wait(),notify()等方法用于等待对象的锁或者通知其他线程对象的监视器可用。是虚拟机所管理的内存中最大的一块,被所有线程共享的,在虚拟机启动时创建。首先 ,wait()、notify() 方法是针对对象的,调用任意对象的 wait()方法都将导致线程阻塞,阻塞的同时也将释放该对象的锁,相应地,调用任意对象的 notify()方法则将随机解除该对象阻塞的线程,但它需要重新获取该对象的锁,直到获取成功才能往下执行;

2024-12-20 09:11:26 630

原创 ​​​​​​​MySQL的四种事务隔离级别​

三、MySQL事务隔离级别。

2024-12-20 08:55:11 312

原创 分布式架构的好处 分布式架构优缺点

服务导向式架构(SOA)是集成多个较大组件(一般是应用)的一种机制,它们将整体构成一个彼此协作的套件。一般来说,每个组件会从始至终执行一块完整的业务逻辑,通常包括完成整体大action所需的各种具体任务与功能。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。与微服务处于一个层面的概念是SOA,SOA(Service Oriented Architecture,面向服务的架构)也是一种架构风格,”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。组件大小:大块业务逻辑,粗粒度。

2024-12-20 08:17:37 868

原创 线上Kafka消息积压的原因分析与解决方案

Kafka消息积压问题本质上是生产与消费的不平衡。在处理消息积压时,可以通过短期手段快速缓解问题,同时从系统架构和参数配置上进行优化,避免类似问题再次发生。掌握Kafka的特性、合理设计系统架构、并持续监控是确保其稳定运行的关键。

2024-12-19 19:03:35 619

原创 如何解决kafka消息积压问题

Kafka消息积压问题是指生产者发送消息的速度大于消费者处理消息的速度,导致大量未消费的消息堆积在Kafka中。Kafka 消息积压问题的解决思路是多方面的,既要提高消费者的消费能力,也要优化Kafka集群的配置。增加消息保留时间:如果消费者一时无法快速处理积压消息,可以通过增加Kafka的保留时间(log.retention.hours等)来延长消息的保存时间,避免因消息过期而丢失。增加消费者处理旧的积压消息,或者专门部署任务来处理积压的历史消息,同时继续让其他消费者处理实时流入的新消息。

2024-12-19 19:01:53 703

原创 Kafka消息积压的解决方案

综上所述,解决Kafka消息积压的问题需要综合考虑多个方面,包括优化Kafka配置、调整消费者消费速度、增加消费者数量、优化生产者发送速度、启用压缩功能、使用持久化存储以及监控和告警等措施。如果生产者发送消息的速度过快,超过了消费者的处理速度,就可能导致消息积压。这样即使系统重启,也不会丢失已经存储的消息,从而减少消息积压的情况。增加消费者的数量可以提高处理消息的速度,从而减少消息积压的情况。优化Kafka的配置可以提高其吞吐量和可靠性,从而减少消息积压的情况。

2024-12-19 18:59:15 459

原创 项目生产环境常见问题

【代码】项目生产环境常见问题。

2024-12-19 18:53:30 451

原创 数据结构与算法

单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。这种模式在整个应用程序的生命周期内,对于某些需要共享资源或者全局唯一的对象(如数据库连接池、配置管理器等)非常有用。工厂设计模式是一种创建型设计模式,它的核心思想是将对象的创建和使用分离。把对象创建的逻辑封装在工厂类中,这样客户端代码(使用对象的代码)不需要知道具体对象是如何创建的,只需要从工厂类获取创建好的对象即可,降低了客户端代码与具体对象创建过程的耦合度,提高了代码的可维护性和可扩展性。

2024-12-19 18:53:19 732

原创 线程池面试题

线程池是使用池化技术管理和使用线程的一种机制。提前准备一些资源,在需要时可以重复使用使用提前准备的资源。内存池:预先申请内存,在 使用时提升申请内存的速度,减少内存碎片。数据库连接池:预先申请数据库连接,提升申请连接的速度,降低系统开销。

2024-12-19 18:52:17 771

原创 Java线程池的核心原理与作用详解

maximumPoolSize:最大线程数,当队列满了且线程数已达到核心线程数时,线程池会继续创建新的线程,直到达到最大线程数。当任务提交到线程池时,首先检查当前线程数是否少于 corePoolSize,如果少于则创建一个新线程来执行任务。keepAliveTime:非核心线程的存活时间,当线程池中的线程空闲时间超过这个时间后,线程将被销毁。当队列满了且线程数未达到 maximumPoolSize 时,线程池会继续创建新的线程。corePoolSize:核心线程数,线程池中保持存活的最少线程数。

2024-12-19 18:37:13 285

原创 你知道怎么合理设置线程池参数吗?

当今服务器硬件资源配置有1个cpu核心2个线程的说法,比如说“4核8线程 8核16线程....”,这是不是意味着我们cpu密集型的线程池核心线程数大小应该设置为。正好可以处理 4 个计算密集型任务,推荐加 1 是为了应对偶尔的任务阻塞或线程等待情况,这样即使一个线程在等待,CPU 仍然能继续执行其他线程的计算任务。的 CPU 上,Java 线程池核心数的设置取决于任务的性质(CPU密集型 vs IO密集型)以及 CPU 资源的实际利用。线程池核心数的合理设置取决于任务的类型,即任务是。

2024-12-19 18:12:29 772

原创 分布式任务调度、线程池使用、视频转换

这个是定时任务的线程池, 没有定义线程创建数量的上线, 同时任务队列也没有定义上限, 如果前一次定时任务还没有完成, 后一个定时任务的运行时间到了, 它也会运行, 线程不够就创建。文件格式:是指.mp4、.avi、.rmvb等 这些不同扩展名的视频文件的文件格式 ,视频文件的内容主要包括视频和音频,其文件格式是按照一 定的编码格式去编码,并且按照该文件所规定的封装格式将视频、音频、字幕等信息封装在一起,播放器会根据它们的封装格式去提取出编码,然后由播放器解码,最终播放音视频。

2024-12-19 18:07:01 474

原创 线程池常见面试题

是的,线程池中的任务可以返回结果。线程池中的线程可以复用,当一个线程执行完一个任务后,它会继续从队列中取下一个任务执行,直到达到线程的最大生存时间(keepAliveTime),之后线程可能会被销毁。这样,线程池中的线程可以反复执行多个任务,而不需要频繁创建和销毁线程。线程池是一组维护线程的池子,可以在需要时重复使用线程,而不是为每个任务创建新线程。线程池中的线程由线程池自动管理,包括创建、销毁、维护线程状态等。线程池负责确保核心线程数的线程一直存在,而多余的线程在空闲一定时间后被销毁。

2024-12-19 18:02:50 243

原创 Java-Redis

【代码】Java-Redis。

2024-12-19 08:54:05 636

原创 Java面试-Mysql

【代码】Java面试-Mysql。

2024-12-19 08:45:27 785

原创 Java开发框架

【代码】Java开发框架。

2024-12-19 08:36:43 522

原创 Java并发

【代码】Java并发。

2024-12-19 08:27:25 685

原创 Java基础

【代码】Java基础。

2024-12-19 08:21:56 698

原创 第八章-Linux

命令可以查看当前系统中所有已经使用的端口情况,该命令会列出所有正在监听的TCP和UDP端口以及对应的进程信息.的最近1000行日志.命令即可查看日志文件。

2024-12-18 23:29:49 296

docker 批量保存镜像到本地脚本

docker 批量保存镜像到本地脚本

2024-09-03

docker 批量保存镜像到本地脚本

docker 批量保存镜像到本地脚本

2024-09-03

docker安装mysql镜像

docker安装mysql镜像

2024-04-07

repidscada资源包

repidscada资源包

2023-11-18

锦州热电厂设备管理系统的设计与实现.caj

锦州热电厂设备管理系统的设计与实现.caj

2022-10-21

空空如也

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

TA关注的人

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