- 博客(15)
- 收藏
- 关注

原创 一文搞懂MySQL数据库时区概念以及相关配置
Connector/J 提供了多种处理时间戳和时区的方案,以确保时刻/时间点(time instant)在不同时区之间转换时能够正确保留。所有方案都能正确保留时刻/时间点(time instant),区别在于时区转换的处理方式和适用场景。选择哪种方案取决于应用架构、部署环境和时区管理需求。
2025-07-02 16:16:59
862

原创 思考题:JVM能否加载不同JAR但是相同限定名的类?
如上图所示,准备了完全相同UnSafeUtil类分别放在了demo1项目和demo2项目,在demo1项目和demo2项目中除getVersion方法不同之外其他完全一样;demo3项目引用了demo1项目和demo2项目,并打印getVersion的值;
2025-01-06 17:41:48
413

原创 Java Unsafe.park/unpark的隐藏逻辑
最近有时间看来下AQS源码,在看源码的过程中也有些自己的疑问。我举例的一个场景如下图所示:fill:#333;tryRelease一直令我我百思不得其解思考了好久,一度怀疑是否有看漏什么相关代码;直到我写了简单demo验证一下后,问题才开始变得清晰起来了;
2024-10-26 23:36:40
926
1

原创 MySQL与JDBC之间的SQL预编译技术
MySQL与JDBC之间的SQL预编译技术先说一下SQL预编译的好处吧:减少每次执行语句时解析语句的开销。 通常,数据库应用程序处理大量几乎相同的语句,只对语句中的文字值或变量值进行更改Protection against SQL injection attacks. The parameter values can contain unescaped SQL quote and delimiter characters.不过在这之前我一直以为JDBC预编译技术是依赖数据库MySQL实现,现在
2022-05-19 15:31:47
772
原创 基于IDEA自带插件反编译JAR包
在软件开发中,软件逆向工程、安全分析、兼容性维护、学术研究、调试与故障排除、取证调查等场景都少不了需要反编译;
2025-07-01 10:57:12
213
原创 如何制作yum本地镜像源供无网环境使用?
在Linux系统中,yum是一个基于RPM的软件包管理器,它主要用于基于Red Hat的发行版如CentOS、Fedora等。如果你想要创建一个本地的yum仓库,以便在没有互联网连接的情况下安装软件包,你可以按照以下步骤来制作本地镜像源。
2025-03-22 18:54:47
372
原创 Elasticsearch 几个大版本分别新增了哪些功能
新增 Rollover API(自动滚动索引)、Reindex API(索引迁移)、Profile API(查询性能分析)。:支持存算分离,结合对象存储降低成本(如阿里云 Serverless 节省 70% 日志处理成本)。:支持 HNSW 和量化技术,提升大规模向量检索效率(如节省 90% 存储)。:集成机器学习(ES7)、向量搜索(ES8),支持生成式 AI 应用。:默认开启三层安全配置(TLS、认证、RBAC),一键生成证书。:从存储压缩(ES5)到向量量化(ES8),持续降低资源消耗。
2025-03-22 15:47:06
770
原创 新版java JDK version和class file version(Class编译版本号)对应关系
【代码】新版java JDK version和class file version(Class编译版本号)对应关系。
2024-09-25 11:13:21
788
原创 曼彻斯特编码
曼彻斯特编码是一种双相编码。它也是通过电平的高低转换来表示“0”或“1”,每位中间的电平转换既表示了数据代码,也作为定时信号使用。用通俗的话来讲,曼彻斯特编码是用运用高低电平的变化进行编码数据,每个码元占两个电平信号并且这两个电平信号是不相同的。低电平->高电平表示0高电平->低电平表示1。...
2022-07-16 23:54:49
137
原创 JAVA使用BigDecimal需要注意的问题
浮点数比较,查看BigDecimal源码通过BigDecimal构造方法我们得出浮点数仅存在一个double类型的构造方法,float类型的值会通过Java向上转型自动转换为double类型走double类型的构造方法,这么一个看下面三个比较返回的都是true。System.out.println(new BigDecimal(23.11).equals((new BigDecimal(23.11))));System.out.println(new BigDecimal(23.11F).equal
2022-05-26 15:59:17
148
原创 JAVA 关键字 assert
JAVA 关键字 assert为什么assert 两个完全不相等的对象或者基本类型却不报错,例如图下assert new Object() == new Object();assert 1 == 2;预期的会报错,结果是没有任何反应究其原因其实是jvm 启动未添加 -ea 参数用来开启断言一般来说,通过IDE开发工具(IDEA)在执行测试方式时会主动打开 -eajava -ea ...省略... -<className>但如果没有使用这些工具将面临比较尴尬的困境, 而且问题
2022-05-26 15:59:02
1127
原创 Mybaits 源码分析之Mapper参数解析
Mybaits 源码分析之Mapper参数解析该文章是基于mybatis-spring-boot-starter讨论的,基于@MapperScan完成mapper加载,具体如何完成可参考其他文章,不在本篇文章的讨论范围内涉及到的类TokenHandler 处理tokenGenericTokenParser 根据openToken,closeToken把token一个一个解析,并交由TokenHandler管理SqlSource 存储sql语句以及SQL使用到的参数的对象BoundSql ma
2022-05-18 22:36:20
275
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人