Z - Inbox2
文章平均质量分 60
未完成文章集合2
本本本添哥
奶爸的编程之路,也就一周冷个三天~
专门分享Java微服务、计算机软考、项目管理、个人成长等相关内容
欢迎关注我的公众号:本本本添哥
展开
-
【项目实战】网络安全关乎国家安全(2024年9月在黎巴嫩发生的一系列通信设备爆炸事件)
黎巴嫩的信息化建设暴露了一些重要的问题2024年9月在黎巴嫩发生的一系列通信设备爆炸事件,这显然是一个非常严重的安全问题。从这些事件中可以看出,原创 2024-09-20 21:23:37 · 343 阅读 · 0 评论 -
【项目实战】Flutter开发框架介绍
Flutter 是 Google 推出的一款用于构建高质量原生界面的 UI 框架。Flutter 使用 Dart 语言编写,并支持 iOS 和 Android 平台。Flutter 是一个成熟的跨平台开发框架,不仅适用于移动应用开发,还支持 Web 和桌面应用。Flutter开发框架框架以其跨平台、节省开发成本和优秀的底层实现为特点,适合需要同时适配多个平台和设备的开发者。随着 Flutter 的不断发展和完善,越来越多的开发者选择使用 Flutter 来构建他们的应用。原创 2024-07-28 17:14:20 · 678 阅读 · 0 评论 -
【项目实战】SBOM,CVE漏洞入门介绍
CVE漏洞是一种公开披露的信息安全漏洞或已经暴露出来的弱点CVE漏洞中的每个漏洞都会被分配一个公共的名称。CVE的这些漏洞可以通过来获取。原创 2024-05-06 17:14:53 · 136 阅读 · 0 评论 -
【异常】AES加解密出现cn.hutool.crypto.CryptoException: IllegalBlockSizeException: data not block size aligned
这个错误cn.hutool.crypto.CryptoException: IllegalBlockSizeException: data not block size aligned是由于在使用Hutool的SymmetricCrypto进行解密时,输入的数据长度不是密钥长度的整数倍导致的。这个异常发生在尝试使用Hutool工具包进行对称加密解密操作时,通常表示提供给解密算法的数据块大小不符合预期的块大小。解决这个异常通常需要确保提供给解密函数的数据是正确格式的,即数据长度是块大小的整数倍。原创 2024-04-24 15:46:14 · 767 阅读 · 0 评论 -
【异常】BindingException: attempted to return null from a method with a primitive return type (int).
具体来说,这个方法的预期返回类型是基本数据类型int,但是MyBatis在尝试执行这个方法时却得到了一个null值。在你的代码中,com.xxx.ScenarioCardMapper.selectMyCount方法试图返回一个null值,但是这个方法的返回类型是int,这是基本类型,不能接受null值。如果数据库查询可能返回null,你可能需要更改该方法的返回类型为Integer,或者在返回前进行null检查。在相应的服务层代码中,也需要对返回的Integer值进行检查,以确定是否需要处理null的情况。原创 2024-04-15 19:13:52 · 303 阅读 · 0 评论 -
【异常】JSON解析错误提示JSON parse error: Cannot deserialize value of type java.lang.String from Object value
如果你是在编写代码来处理JSON,请确保任何JSON序列化或反序列化的库(比如Jackson)都被正确地使用,并且对象的字段与JSON数据的结构相匹配。具体来说,在解析JSON数据到UpdateScenarioCardReq对象时,期望在bgImageUrl字段找到一个字符串(可能是一个图片的URL),但是实际上在JSON的相应位置却找到了一个对象(由JsonToken.START_OBJECT标记指示)。检查提供给解析器的JSON数据,确保bgImageUrl字段的值是一个字符串,而不是一个对象。原创 2024-04-15 18:11:42 · 3542 阅读 · 0 评论 -
【异常】FeignException$NotFound: [404 Not Found] during [POST] to [https://xxx-thirdparty-api/inside/
请求的方法(GET、POST等)与API定义不匹配。确保请求的方法与API定义一致,例如在这个例子中是POST方法。原创 2024-04-15 12:46:53 · 911 阅读 · 0 评论 -
【异常】PGSQL提示异常PSQLException:ERROR: column “c.create_time“ must appear in the GROUP BY clause
这个错误是由于在PostgreSQL数据库中,当你使用聚合函数(如COUNT、SUM、AVG等)时,SELECT语句中的所有列都必须在GROUP BY子句中出现,或者被用在聚合函数中。在这个查询中,你使用了"ORDER BY c.create_time DESC",但是没有使用聚合函数,也没有在GROUP BY子句中包含"c.create_time"。要解决这个问题,你可以将"ORDER BY c.create_time DESC"移动到GROUP BY子句中,或者将其删除,如果你不需要对结果进行排序。原创 2024-04-14 15:07:30 · 610 阅读 · 0 评论 -
【异常】MyBatis异常提示BuilderException: Error evaluating expression,NoSuchPropertyException
这个错误是由于在MyBatis的表达式中,找不到com.xxx.module.common.vo.scenario.QueryCustomDeleteReq.startTime属性。请检查QueryCustomDeleteReq类中是否存在startTime属性,以及是否使用了正确的getter方法。经过检查,QueryCustomDeleteReq类中确实不存在startTime/endTime属性,将其修改为startDate 和 endDate 即可。提出了,具体的异常SQL内容如下。原创 2024-04-14 14:41:22 · 1153 阅读 · 0 评论 -
【异常】记一次因处理Kafka消息时,没有消费记录,错误处理器抛出了ArrayIndexOutOfBoundsException异常,导致无法事件入库的问题
在某次开发过程中,开发人员遇到了一个棘手的问题:Kafka无法将消息传递给消费者,导致事件无法入库。开发人员对Kafka的配置和代码进行了仔细的检查,但仍然无法解决问题。车机上报的业务数据,无法在Web管理页面中查看到,即业务事件上报失败。原创 2024-04-12 22:32:21 · 139 阅读 · 1 评论 -
【异常】BatchUpdateException: Batch entry 0 ,PSQLException: ERROR: duplicate key value violates unique
解决这个问题,你可以采取以下几种方法之一,在解决这个问题时,你应该查看 ScenarioActionBindingMapper.insert 方法中的代码,确保在插入数据之前进行必要的检查,并正确处理任何可能发生的冲突。这通常意味着你尝试插入的记录中的 bind_id 字段的值与数据库中已有的记录中的 bind_id 值重复了。错误消息指出 bind_id 的值为 0 的记录已经存在,所以无法再插入一个具有相同 bind_id 的新记录。在数据库中,主键或唯一约束字段的值必须是唯一的,不能重复。原创 2024-04-12 22:21:01 · 803 阅读 · 0 评论 -
【项目实战】使用JUC常用工具类java.util.concurrent.Semaphore实现接口限流实战
使用JUC常用工具类java.util.concurrent.Semaphore,来实现接口限流。原创 2024-04-10 23:25:13 · 173 阅读 · 0 评论 -
【项目实战】并发编程之使用线程池CompletableFuture + ThreadPoolTaskExecutor并行查询,提升接口响应速度
后端提供一个接口获取商品信息接口传入一个商品id,需要返回商品下面这些信息,这些信息都在不同的表中,通过商品id就可以查到。原创 2024-04-10 22:35:21 · 190 阅读 · 0 评论 -
【项目实战】为MySQL中update_time字段设置“ON UPDATE CURRENT_TIMESTAMP”的效果
如果在MySQL中为某个字段(例如update_date)设置了“ON UPDATE CURRENT_TIMESTAMP”,那么每当该行数据的任何字段被更新时(只要至少有一个字段的值发生了改变),update_date字段将自动更新为当前的时间戳。如果UPDATE语句没有导致任何字段值的改变,则update_date字段不会被更新。只有在记录内容确实发生变化的情况下,这个时间戳才会被刷新。原创 2024-04-10 22:25:27 · 416 阅读 · 0 评论 -
【项目实战】Mybatis Plus的主键策略
本文就是string类型 的 AUTO ,因此无法实现数据库ID的自动生成。原创 2024-04-10 22:10:22 · 143 阅读 · 0 评论 -
【异常】PGSQL提示异常PSQLException: No hstore extension installed.
运行以下 SQL 语句来安装 hstore 扩展,这个命令会检查是否已经安装了 hstore 扩展,如果没有,则安装它。安装完成后,你就可以在你的数据库中使用 hstore 数据类型了。需要确保使用的 PostgreSQL 版本支持 hstore 扩展,并且你的 JDBC 驱动和任何你使用的数据库框架(如 Hibernate 或 MyBatis)也支持它。这个异常通常发生在尝试在 PostgreSQL 数据库中使用 hstore 数据类型时,但是数据库中并没有安装 hstore 扩展。原创 2024-04-10 22:00:56 · 446 阅读 · 0 评论 -
【异常】车端调用云端接口返回JSON parse error: Cannot construct instance of no String-argument constructor/factory
问题具体在于Jackson库在尝试将接收到的JSON字符串转换为指定Java对象时,由于UploadMyCustomScenarioCardReq类没有可以接受String参数的构造方法或者工厂方法来从JSON字符串中反序列化数据,导致了MismatchedInputException异常。是jsonObject的锅,调用云端的接口,调用的方法不对。原始JSON数据包含了多个等字段,但Jackson在处理这些数据并试图将其映射到对应的Java对象属性时,由于缺少合适的构造函数或反序列化方法而失败。原创 2024-04-10 21:17:45 · 82 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本介绍(每秒事务数TPS和峰值TPS)
峰值TPS是指系统在特定高峰时段内能够处理的最大TPS。这个指标有助于了解系统在流量高峰期的表现。通常平均TPS是压力测试的重要指标之一,应与预期目标TPS值做对比。同时,取所采集到的请求的最小TPS和最大TPS作为测试结果。原创 2024-04-06 20:35:13 · 502 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本(并发用户数 与 并发量)
并发:一段时间访问的大量用户的请求并行:同一时刻的大量用户的请求。原创 2024-04-07 09:22:41 · 321 阅读 · 0 评论 -
【项目实战】Mybatis-Plus的乐观锁插件介绍
Mybatis-Plus是在Mybatis基础上的增强工具,提供了更多的便捷功能,而Mybatis则更注重灵活性和原生SQL操作。Mybatis-Plus更适合那些希望减少SQL编写量、提高开发效率的团队,而Mybatis则适合那些需要灵活处理SQL并且不介意手动编写SQL语句的团队。原创 2024-04-06 17:10:50 · 324 阅读 · 0 评论 -
【2.5 认证中心(Spring Security)】 Sa-Token和JWT,替换Spring Security 实现权限认证方
提供了一系列权限相关的注解,如登录校验、角色校验、权限校验等,支持多种条件组合,如AND、OR逻辑关系,以及复杂的表达式。支持整合Redis,实现前后端分离,提高系统的可维护性和扩展性。提供了零配置开箱即用的体验,简化了权限认证的集成和使用过程。是一种开放标准(RFC 7519),定义了一种紧凑且自包含的方式,用于在各方之间安全地传输信息作为JSON对象。JWT通常用于身份验证和信息交换,特别是在无状态的客户端-服务器通信中。原创 2024-04-06 16:58:10 · 1334 阅读 · 0 评论 -
【项目实战】Hutool 工具包hutool-crypto介绍
对称加密(symmetric),例如:AES、DES等非对称加密(asymmetric),例如:RSA、DSA等摘要加密(digest),例如:MD5、SHA-1、SHA-256、HMAC等hutool-crypto针对这三种加密类型分别封装,并提供常用的大部分加密算法。其中,针对常用到的算法,模块还提供SecureUtil工具类用于快速实现加密。对于非对称加密,实现了:对于对称加密,实现了:对于摘要算法实现了:原创 2024-04-06 16:54:57 · 692 阅读 · 0 评论 -
【项目实战】网络通讯编程之NIO入门介绍
NIO代表“New I/O”,是Java 1.4中引入的一种新的I/O API。NIO提供了一种非阻塞I/O操作的方式,可以提高I/O操作的效率和可伸缩性。NIO(New I/O)是Java 1.4版本中引入的一组新的I/O API,用于提供更高效、更灵活和可扩展的I/O操作。NIO库以面向缓冲区的方式工作,可以处理非阻塞I/O操作,并支持多路复用(Multiplexing)。原创 2023-04-13 14:32:53 · 254 阅读 · 0 评论 -
【项目实战】采用 Undertow 基于 XNIO 的高性能容器
NIO(Non-blocking I/O,非阻塞I/O)NIO是Java语言的一种I/O模型。NIO是Java语言的基础I/O模型。NIO采用同步非阻塞的I/O方式,是I/O多路复用的基础。在NIO中,所有的I/O操作都是面向缓冲区的,数据需要先读取到缓冲区中再进行处理,从而提高了I/O效率。NIO使用选择器(Selector)来实现非阻塞I/O操作,并引入了通道(Channel)的概念,通道是双向的,支持读写操作,并且可以异步地进行操作。原创 2024-04-06 16:25:02 · 660 阅读 · 1 评论 -
【JVM与性能调优】JVM动态代理、JDK动态代理和CGLib动态代理傻傻分不清楚
JDK动态代理和CGLib动态代理都是Java中用于创建动态代理的方法,但它们的实现方式不同。原创 2023-04-14 07:26:00 · 1306 阅读 · 0 评论 -
【JVM与性能调优】字节码、Java类加载机制与原理以及三种类型的类加载器ClassLoader
对应class实例的引用:类加载器在加载类信息放到方法区中后,会创建一个对应的Class 类型的。没找到Math类,则向下退回加载Math类的请求,扩展类加载器收到回复就自己加载,在自己的。类加载路径里找了半天也没找到Math类,又向下退回Math类的加载请求给应用程序类加载器,比如我们的Math类,最先会找应用程序类加载器加载,应用程序类加载器会先委托扩展类加载。这里类加载其实就有一个双亲委派机制,加载某个类时会先委托父加载器寻找目标类,找不到再。原创 2023-12-07 13:25:56 · 869 阅读 · 0 评论 -
【JVM与性能调优】双亲委派模型(Parent Delegation Model)
此外,JVM还允许我们自定义类加载器,通过继承java.lang.ClassLoader类并重写findClass(String name)方法来实现。自定义的类加载器可以加载网络上的类、数据库中的类,或者其他来源的类。类加载器之间的这种层次关系,被称为双亲委派模型。原创 2024-04-06 13:07:58 · 89 阅读 · 0 评论 -
【2.5 认证中心(Spring Security)】如何在Spring Security中集成并使用BCrypt
在Spring Security中,BCrypt是一种常用的密码加密方式。Spring Security内置了对BCrypt的支持,因此可以很容易地在项目中集成它。在 Spring Security 中使用 BCrypt 进行密码加密是一种常见且推荐的做法。在Spring Security中使用BCrypt进行密码的哈希和验证是一种常见做法。原创 2024-04-06 11:50:54 · 119 阅读 · 0 评论 -
【异常】使用Phoenix api操作Hbase TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=DUAL
这个错误表示在执行SQL查询时,找不到名为"DUAL"的表。原创 2024-03-19 23:01:24 · 160 阅读 · 0 评论 -
【项目实战】一个高可靠性、高性能、面向列、可伸缩的分布式存储系统/数据库Apache HBase入门介绍
Apache HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于存储大量数据。原创 2024-03-20 21:14:33 · 79 阅读 · 0 评论 -
【软考】数据库系统工程师下午题答题技巧 (关系规范化)
(4)有多值依赖,X→→Y,X和Y在一个关系模式,且只有X和Y不能有其他属性。如果有则不满足4NF,可以回答原因:“X多值决定Y,由于存在嵌入式的多值依赖,所以不满足4NF”。(3)有主属性对码的部分和传递函数依赖,不满足BCNF。3、根据主属性和非主属性判断是否有部分、传递函数依赖。(1)有非主属性对码的部分函数依赖,不满足2NF。(2)有非主属性对码的传递函数依赖,不满足3NF。(任一候选码中的属性都属于主属性,其他为非主属性)分解为R1(A,C,D,E)和R2(A,B,F)(1)有部分函数依赖。原创 2024-03-19 10:37:28 · 344 阅读 · 1 评论 -
【2.4 微服务链路追踪(SkyWalking)】链路追踪组件SkyWalking整合Logback
Apache SkyWalking 是一个应用性能管理(APM)系统。原创 2024-03-19 10:38:35 · 320 阅读 · 0 评论 -
【异常】Java Stream API逆序排序遇到`Not-static method cannot be referenced from a static context`
逆序排序中的方法引用问题,在Stream API中或其他排序方法中IDEA会提示错误:Not-static method cannot be referenced from a static context。原创 2024-03-08 15:41:26 · 249 阅读 · 0 评论 -
【异常】我的业务数据怎么就插不进生产环境的TDEngine呢?原来是生产环境与沙箱环境数据库的表结构不一样导致的!
测试同学提了一个bug,说我某个埋点数据采集不到,我看了车机上报的eventCode,我的ELK是有正常显示啊,为啥数据库没有内容呢?带着疑惑,我开始溯源代码起来了。原创 2024-03-13 22:43:52 · 80 阅读 · 0 评论 -
【异常】Spring Boot框架提示Configuration property name ‘qqMusic‘ is not valid
这个错误信息表明你的应用程序在启动时遇到了问题,具体是因为配置属性名 ‘qqMusic’ 不符合规范。在Spring Boot等框架中,配置属性的命名通常遵循一定的规范,以确保它们能够正确解析和映射到相应的配置类(Bean)中。同时,在配置文件(如 application.properties 或 application.yml)中,你也需要确保属性的名称已经更改。确保你的 QQMusicConfig 类中对应的属性名称也与之匹配,通常通过注解(如 @Value)或配置文件映射来实现。原创 2024-04-01 13:23:36 · 169 阅读 · 0 评论 -
【异常】PGSQL提示异常PSQLException: ERROR: subquery in FROM must have an alias
错误信息 “PSQLException: ERROR: subquery in FROM must have an alias”原创 2024-04-01 09:29:23 · 934 阅读 · 0 评论 -
【异常】解决 IDEA Maven 项目中“Could not find artifact“ 问题的常见情况和解决方案
你可以查看 IDEA 的错误日志,或者运行 mvn dependency:tree 命令来查看项目的依赖关系,这可能会帮助你找到问题的根源。如果你的网络连接有问题,或者 Maven 仓库的服务器有问题,Maven 可能无法下载依赖项。你可以检查你的网络连接,或者尝试更换其他的 Maven 仓库(如阿里云的 Maven 仓库)。如果依赖项本身有问题,例如,它已经从 Maven 仓库中删除了,那么你可能需要寻找替代的依赖项,或者联系依赖项的维护者。确保你的 Maven 配置是正确的。原创 2024-04-01 21:16:57 · 3760 阅读 · 0 评论 -
【异常】使用MySQL时,142-DELETE command denied to user ‘xxx‘@‘xxx‘for table ‘app_scenarios_forbidden‘
这个错误消息表示在数据库(可能是MySQL)中,用户 ‘xxx’@‘xxx’ 试图执行一个 DELETE 命令,但是被拒绝了,因为它没有对表 ‘app_scenarios_forbidden’ 的删除权限。这通常发生在权限不足的情况:用户 ‘xxx‘@‘10.0.1.17’ 可能没有从 ‘app_scenarios_forbidden’ 表中删除数据的权限。原创 2024-04-01 21:14:21 · 546 阅读 · 0 评论 -
【项目实战】java根据两个整数,计算相除之后的百分比
根据两个整数,计算相除之后的百分比在Java中,想要根据两个整数计算相除之后的百分比。原创 2024-04-01 21:08:05 · 474 阅读 · 0 评论 -
【异常】Mockito 默认不支持模拟 final 类
请注意,使用 mock-maker-inline 可能会增加测试的运行时间,并且可能不适用于所有情况。这个错误信息表明在使用 Mockito 进行单元测试时,你尝试模拟(mock)了一个 final 类,而 Mockito 默认不支持模拟 final 类。Mockito 提供了一个名为 mock-maker-inline 的配置选项,它可以允许 Mockito 模拟 final 类。如果不想修改被测试的类,并且 mock-maker-inline 选项也不适用,可以考虑使用 Mockito 的间谍功能。原创 2024-03-27 22:25:57 · 771 阅读 · 0 评论