- 博客(17)
- 收藏
- 关注
原创 kafka.common.errors.TimeoutException:Expire 1 records
kafka.common.errors.TimeoutException: Expire 1 records 这个错误通常出现在使用 Apache Kafka 时,特别是在处理生产者(Producer)或消费者(Consumer)与 Kafka 集群的交互过程中。这个错误表明有一些记录(在这个例子中是1条记录)在发送到 Kafka 或从 Kafka 消费时,由于超时而未能成功处理。
2024-09-06 14:19:01 260
原创 byte数组转换成String的时候出现NUL域,怎么过滤或者去除 nul域被显示为空格
但是,需要注意的是,\0在Java字符串中并不是一个有效的转义序列来表示NUL字符;不过,由于我们的目标是处理byte数组转换后得到的字符串中的NUL字符,这些字符在字符串中是不可见的,并且它们的存在只是增加了字符串的长度,所以我们可以通过遍历字符串并检查每个字符的ASCII值来过滤它们。在Java中,当你将byte数组转换成String时,如果byte数组中包含NUL字符(即值为0的字节),这些NUL字符在转换后的字符串中也会体现出来,表现为字符串中的空字符(虽然肉眼不可见,但会占用字符串的长度)。
2024-07-31 15:02:23 321
原创 【笔记】Java实现日志在正式环境不打印,在测试环境打印
在Java中,控制日志在不同环境(如正式环境和测试环境)的打印行为,通常依赖于日志框架(如Logback, Log4j2等)的配置文件。这些配置文件可以根据不同的环境来设置不同的日志级别或输出位置。:确保日志框架的配置文件(如或log4j2.xml)位于正确的位置,并且文件名符合框架的要求。:一些配置可能会根据环境变量或系统属性来区分不同的环境。:虽然直接通过POM文件配置日志框架的情况不常见(通常是通过POM引入依赖),但确保你正确引入了所需的依赖。:确保在启动应用时,没有覆盖配置文件中的设置。
2024-07-11 15:51:57 306
原创 【笔记】使用HttpClient时因为空格出现的java.lang.IllegalArgumentException异常解决
当你使用Java的URL类或者HttpURLConnection、HttpClient(Java 11及以上版本中的HttpClient,或者Apache HttpClient等第三方库)等HTTP客户端时,通常不需要手动编码URL中的空格,因为大多数库都提供了自动编码URL参数的机制。在Java中,URL(统一资源定位符)的值如果包含空格,那么这些空格在URL中必须被编码,因为空格在URL中有特殊的含义(通常用作参数分隔符)。在URL中,空格可以通过%20来编码。// 原始URL,包含空格。
2024-07-11 14:45:34 272
原创 【笔记】assert关键字
如果条件为假(即断言失败),则程序会抛出异常或错误,并可能停止执行。避免使用断言控制业务流程:虽然断言可以用于验证程序的某个条件是否为真,但应该避免使用断言来控制程序的业务流程。断言的开启:在Java中,断言默认是关闭的。调试和验证:通过断言机制,开发者可以在程序的关键位置设置断言,以验证程序的状态是否符合预期。防止错误传播:在程序的关键路径上设置断言,可以及早发现并阻止错误的传播。通过断言,开发者可以明确地表达代码的预期行为,使其他开发者更容易理解代码的逻辑和目的。
2024-07-04 09:27:11 315
原创 【笔记】Java中this关键字
虽然在这个特定的例子中,this.printNumber() 和 printNumber() 是等价的(因为 printNumber 不是静态的,也没有被隐藏),但使用 this 可以使代码更清晰,特别是在处理更复杂的类结构时,其中方法可能因为继承、重载或隐藏而变得不那么直观。总的来说,this关键字在Java中是一个非常重要的概念,它主要用于引用当前类的实例变量、调用当前类的构造器、返回当前对象的引用以及在内部类中引用外部类的实例。在内部类中,this关键字通常指的是内部类的实例。
2024-07-03 09:45:09 190
原创 【笔记】instanceof类
instanceof 是 Java 中用于判断对象实例与类或接口之间关系的关键字,它返回布尔值以指示对象是否是指定类或接口(或其子类/实现类)的实例。在使用时,需要注意对象与类之间的继承关系,以及编译状态与运行状态的区别。instanceof 是 Java 语言中的一个保留关键字,它是一个二元运算符,用于测试左边的对象是否是其右边类或接口的实例。如果 Class 是一个接口,并且 object 是该接口的实现类的实例,那么 instanceof 也会返回 true。object:一个对象实例。
2024-07-01 13:32:20 191
原创 【笔记】AOP(面向切面编程)避免selectOne
AOP(面向切面编程)本身并不能直接避免selectOne方法的报错,因为selectOne通常是在与数据库交互的上下文中使用的,比如在使用MyBatis或类似的ORM框架时。然而,AOP可以用于在selectOne方法调用前后添加额外的逻辑,以处理可能的异常或进行日志记录等操作,从而间接地帮助避免或更好地处理报错。事务管理:虽然这不是直接避免selectOne报错的方法,但AOP可以用于实现声明式事务管理,确保在selectOne方法调用失败时,数据库事务能够正确地回滚或提交。
2024-07-01 10:44:40 243
原创 【笔记】JoinPoint类
ProceedingJoinPoint是JoinPoint的子接口,除了提供JoinPoint的功能外,还允许在环绕通知中控制被通知方法的执行(通过调用proceed()方法)。通过结合通知和JoinPoint,可以实现诸如前置通知(在方法执行前执行逻辑)、后置通知(在方法执行后执行逻辑)、环绕通知(在方法执行前后都执行逻辑)等功能。总的来说,JoinPoint类在AOP中扮演着至关重要的角色,它使得开发人员能够在程序执行过程中的特定位置插入额外的逻辑,从而实现对横切关注点的模块化和复用。
2024-07-01 10:34:27 168
原创 【笔记】Mac消息认证码算法
MAC 是一种用于确保信息传输完整性和认证性的技术,通常用于验证消息的来源和完整性,以防止消息被篡改。javax.crypto.Mac 类在 Java 中提供的消息认证码(MAC)算法,如 HMAC-SHA256,在正确使用时是安全的。算法选择:选择经过充分验证和广泛使用的 MAC 算法,如 HMAC-SHA256,可以确保算法本身的安全性。系统安全实践:除了算法本身的安全性外,还需要遵循最佳的安全实践,如定期更换密钥、限制错误尝试次数、使用安全的密钥存储和传输机制等,以确保整个系统的安全性。
2024-06-28 16:33:13 232
原创 MyBatis底层原理实现(基于动态代理)
对于想了解MyBatis底层机制又实在读不进源码的人有一定的帮助,主要是通过基础知识梳理了MyBatis这一优秀框架的简单实现,可加深对MyBatis的理解,并对JDBC和反射机制以及动态代理的复习。
2022-07-30 01:07:01 776
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人