Java

Maven enforcer插件依赖收敛问题

当项目中引入新的jar包或者升级jar后,重新构建Maven项目时常出现这种报错:   报错信息    从报错信息看和Maven enforcer plugin有关,首先让我们了解一下Maven enforcer。 Maven enforcer是什么 Maven Enforcer插件是一个用于强制执行特定规则的Maven插件。它可以帮助您确保项目中的依赖项和构建

C/C++哈夫曼编码和解码器的实现[2023-07-06]

C/C++哈夫曼编码和解码器的实现[2023-07-06] “数据结构与算法综合设计”任务书 专 业: 计算机与软件工程学院所有专业 年 级: 2021 一、 设计题目 哈夫曼编码和解码器的实现 二、 设计内容 【问题描述】 电子邮件是一种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。电子邮件可以是文字、图像、声音甚至是涂鸦文件等多种形式。同时,用户可以得到

SSM - Mybatis

1. Mybatis 简介 Mybatis 官网 @ mybatis – MyBatis 3 | 简介Mybatis下载 GitHub @ GitHub - mybatis/mybatis-3: MyBatis SQL mapper framework for JavaMaven 仓库 @ Maven Repository: org.mybatis » mybatis

分布式多协议接入网关FluxMQ-2.0功能说明

FluxMQ—2.0版本更新内容 前言 FLuxMQ是一款基于java开发,支持无限设备连接的云原生分布式物联网接入平台。FluxMQ基于Netty开发,底层采用Reactor3反应堆模型,具备低延迟,高吞吐量,千万、亿级别设备连接;方便企业快速构建其物联网平台与应用。 FluxMQ官网:https://www.fluxmq.com FluxMQ演示系统:http://demo.fluxmq.co

shenyu 打包

1.替换shenyu-admin工程的pom.xml中的<build>模块为下面的模块 2.替换shenyu-bootstrap工程的pom.xml中的<build>模块为下面的模块   3.打包 学习时的痛苦是暂时的 未学到的痛苦是终生的

Hystrix传播ThreadLocal对象,Feign调用返回null问题

微服务与微服务之间相互调用,你是否有过使用Hystrix时,该传播ThreadLocal对象的困惑?     我们知道Hystrix有隔离策略: THREAD(线程池隔离):即:每个实例都增加个线程池进行隔离 SEMAPHORE(信号量隔离):适应非网络请求,因为是同步的请求,无法支持超时,只能依靠协议本身       现在有如下两种隔离机制的场

【剑指Offer】54、字符流中第一个不重复的字符

【剑指Offer】54、字符流中第一个不重复的字符 题目描述: 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流不存在只出现一次的字符,返回“#”字符。 解题思路: 本题还是相当简单的,有点类似于第34题:第

Java面试(中)

Java面试(中) 7. 分布式 分布式ID生成算法-雪花算法 https://blog.csdn.net/knock_me/article/details/127415351

HashMap

HashMap hashmap会将key和value生成一个entry对象。 将entry放在数组中。放的位置,将key进行hashcode后取余,获取数组下标。 链表:头插法、尾插法。头插法更快。 1.7创建HashMap的底层源码 1.创建HashMap 2.查看底层调用方法 3.this方法调用. 该方法中,只做参数验证和数据赋值,init方法是没有用的。

如何使用PowerMock进行单元测试

原博客: 如何使用PowerMock进行单元测试 (techdatafuture.com)  更多内容   PowerMock是一个用于增强JUnit和TestNG的单元测试框架,它允许开发者在单元测试中模拟和修改代码中的静态方法、私有方法和构造函数。PowerMock基于Mockito和EasyMock,为Java开发者提供了一种更灵活、强大的测试工具。 以下是Po

[GPT] 对于一个复杂的html文档而言,如何用 js 批量替换页面上的某些文字从A替换为B,前提是不能去掉标签和已绑定的事件

  原生:示例代码 上述代码定义了一个 replaceTextInDocument 函数,它接收一个节点作为参数。 如果节点是文本节点,则使用正则表达式替换文本内容。 如果节点是元素节点,则递归遍历其所有子节点,并对每个子节点调用 replaceTextInDocument 函数。 最后,我们可以调用 replaceTextInDocument 函数并将 document.bod

JDBC的增删改-结果集的元数据-Class反射-JDBC查询封装

一、使用JDBC批量添加 ​ 知识点复习: ​1、JDBC的六大步骤 (导入jar包, 加载驱动类,获取连接对象, 获取sql执行器、执行sql与并返回结果, 关闭数据库连接) 2、​封装了一个DBUtil 类, 通过读取属性文件的方式获取 基础连接信息。 3、​批量添加: 一次性可执行多个添加记录 ,将多个sql语句在当前这次连接中执行完毕。 二、结果集的元数据: columnCount 结果

JUC包常用类原理

概要 放眼望去,java.util.concurrent包下类大致包括:atomic 原子类、锁、并发集合、线程池、工具类。我们挑重要的了解一下。 Atomic 原子类 Java针对并发编程已经有了各种锁,为什么还需要原子类?原子类一定有些特别的应用场景? 在很多时候,我们需要的仅仅是一个简单的、高效的、线程安全的递增或者递减方案,这个方案一般需要满足以下要求: 1、 简单:操作简单,底层实现简

druid报错:com.alibaba.druid.util.JdbcUtils - close connection error

druid报错:com.alibaba.druid.util.JdbcUtils - close connection error ERROR com.alibaba.druid.util.JdbcUtils - close connection error java.sql.SQLRecoverableException: IO 错误: Socket read timed out

redis数据结构-String(SDS)

redis 数据结构 (一) 注:以下源码部分,来自redis-7.0.12,redis-3.0 redis 有一个核心的对象,叫做 redisObject,用来标识所有的 key 和 value,用 结构体reidsObject来标识 String、Hash、List、Set、Zset 五种数据结构。源码位置在server.h。 type 表示属于哪种数据类型,encoding 表示该数据

记录--盘点前端实现文件下载的几种方式

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前端涉及到的文件下载还是很多应用场景的,那么前端文件下载有多少种方式呢?每种方式有什么优缺点呢?下面就来一一介绍。 1. 使用 a 标签下载 通过a标签的download属性来实现文件下载,这种方式是最简单的,也是我们比较常用的方式,先来看示例代码: <a href="http://www.baidu.com"&nb

记phantomjs中文乱码

参考博客: https://blog.csdn.net/fgangen/article/details/103235401     直接将C:WindowsFonts 下 windows 的msyh.ttc文件(微软雅黑)复制进linux 的/usr/share/fonts/micro目录下,问题解决。 micro文件自己建就行。 ps.打开windows路径下的font文

《设计模式的运用》使用策略模式+工厂模式优化代码中的if else

使用策略模式优化if else 有这样一段逻辑 公司有的祖传的代码,是一段规则校验,校验的越多,每一个请求都会进来校验,加上后来的开发人员也不注意,每次多加校验就多加一个if,只要命中就在if里面写逻辑,好一点的会抽到一个方法中,看起来稍好些,但是if越加越多,一个循环最终发展到了数千行,可读性越来越差,领导点名重构; 解决方案: 策略模式+工厂模式 工厂模式大家都很熟悉了,所以简单介绍一下策略

Nacos无法连接wsl2上部署的MySQL

情况描述 在部署Nacos时,需要连接MySQL数据库管理数据,但是如果连接的是wsl2上部署的MySQL,使用127.0.0.1或者localhost,通常会出现如下错误: 原因分析 WSL 2网络默认使用动态IP地址。 如果MySQL容器在WSL 2中运行,Nacos无法连接到容器的动态IP地址。 解决方案 可以尝试使用如下命令获取WSL 2的静态IP地址来连接MySQL容器: 获取的W

QJSEngine

QJSEngine  #include <QJSEngine>   Public Types enum Extension { TranslationExtension, ConsoleExtension, GarbageCollectionExtension, AllExtensions } flags Extensions Pub

脱发秘籍:前端Chrome调试技巧汇总

Chrome浏览器调试工具的核心功能: 🥷🏻注:本文测试、截图均为Edge浏览器(内核是Chromium),浏览器内核可了解《有哪些浏览器/内核?》 00、基础操作汇总 操作类型快捷键/说明 切换浏览器标签 🔸 Ctrl+1到8切换到对应序号的浏览器标签🔸 Ctrl+PgUp/PgDn标签页左右切换 浏览器全屏 F11 (⌘ + shif

IntelliJ IDEA 最受欢迎的插件有哪些

IntelliJ IDEA 是一款功能强大的集成开发环境,支持众多插件扩展。以下是一些在 IntelliJ IDEA 中广受欢迎的插件: Lombok:简化 Java 代码的编写,自动生成 getter、setter、构造函数等常用代码。 Git Integration:提供与 Git 版本控制系统的集成,方便代码的提交、分支管理和代码审查等操作。 SonarLint:集成

export default 和 export之间的区别

原文链接: 点我 🎈 export default 和 export 有什么区别:export 、export default,都属于ES6里面的语法 1. export与export default均可用于导出常量、函数、文件、模块等 2. 你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用 3. 在一个文件或模块中,expo

7-11打卡

public:公共访问修饰符,表示类成员可以在任何地方被访问,没有访问限制。 private:私有访问修饰符,表示类成员只能在声明它的类内部访问,其他类无法直接访问。 protected:受保护的访问修饰符,表示类成员可以在声明它的类内部和子类中访问,但对于同一包中的其他类是不可访问的。 默认访问修饰符:如果没有指定任何访问修饰符,即为默认访问修饰符。它表示类成员可以在同一包中被访问,但对于其他包

Java扩展Nginx之三:基础配置项

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 经历了前面两篇的入门和编译源码之后,从本篇起,咱们用理论结合实战的方式进入系统的nginx-clojure学习之旅 作为《Java扩展Nginx》系列的第三篇,本文会与大家一起了解nginx-clojure基本的配置项,通过它们来掌控和优

Springboot远程调用Prometheus Api获取指标数据

0、写在前面 1> 使用RestTemplate作为远程调用工具调用prometheus原生api获取数据 2> prometheus原生api文档地址如下:https://prometheus.io/docs/prometheus/latest/querying/api/ 3> 通过访问prometheus原生api,查看原生api返回的数据格式,定义对应的实体类格式 4&gt

mybatis中数据库字段和实体类的属性映射问题

  由于数据库中表的列名一般是按照多个单词之间用下划线隔开,而java一般是驼峰命名法,所以这两者之间存在映射不到的问题,解决方案如下: 1.给字段添加别名,如下: 2.在mybatis中设置开启驼峰命名规则,在配置文件中配置如下: 3.使用ResultMap。  

JavaWeb回顾与小结(八)

分模块设计与开发 介绍 将项目按照功能拆分成若干个子模块,方便项目管理维护,扩展,也方便模块间的互相调用,资源共享 分模块开发的好处 增强代码的复用性:一些通用的工具类,实体类可以抽取到独立的模块,进行重用 便于分工:按业务划分模块可以让开发人员编写代码更为独立,互不干扰 对maven项目来讲,一些通用的依赖,插件,可以抽取到父模块,简化配置 分模块开发步骤 创建父模块 创建子模块 配置模块

Git快速回顾总结

Git引入 Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(java类,xml文件,html页面等),在软件开发过程中被广泛使用 为什么使用Git 代码回溯 版本切换 多人协作 远程备份 概述 Git简介 Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理.通过Git仓库来存储和管理这些文件,Git仓库分为两种: 本地仓库 开发人员自己电脑上的Gi

jdk1.8新特性

1.default关键字 在jdk8之前,接口里面只能包含抽象方法,但是jdk8之后,允许使用default修饰的默认方法。 default作用 所以说这个default方法是所有的实现类都不需要去实现的就可以直接调用,那么比如说jdk的集合List里面增加了一个sort方法,那么如果定义为一个抽象方法,其所有的实现类arrayList,LinkedList等都需要对其添加实现,那么现在用def

<<  <  960  961  962  963  964  965  966  967  968  969  970  >  >>