Skip to content

Lzxz1234 的小站

个人博客,专注 IT 相关技术分享

  • GitHub
  • 腾讯云

标签: JDK

Java 运行时反射获取来自继承的泛型

2022年3月18日 lzxz1234 Leave a comment

背景 正常情况下 Java 的反射是可以获取到普通的泛型类型的,例如假设存在基类 @Data public static class Page<T> { private List<T> data; private List<String> ids; } 此时直接执行 FieldUtil

阅读全文

Java 基于 ByteBuddy 重写系统当前时间

2021年12月7日 lzxz1234 Leave a comment

背景 一般单元测试时总会有些代码会严重依赖系统当前时间,这种情况下的测试代码写起来可能就比较费劲,此处分享一种基于 ByteBuddy 的覆盖 System.currentTimeMillis 的解决方案。 添加依赖 ByteBuddy 是啥以及作用

阅读全文

JSR269 编译期处理常用操作

2019年7月18日 lzxz1234 Leave a comment

基础变量 后面有些凭空出现的变量可以从这找类型和获取方式: JavacTrees trees = JavacTrees.instance(processingEnv); Context context = ((JavacProcessingEnvironment)processingEnv).getContext(); TreeMaker t

阅读全文

从头开始一个 JSR269 工程

2019年7月17日 lzxz1234 Leave a comment

修改 pom.xml 添加依赖 sun.tools: <dependency> <groupId>com.sun.tools</groupId> <artifactId>com.sun.tools</artifactId> <version>1.6</version> </dependency&

阅读全文

关于 MetaSpace 及 FastJSON 导致的 OOM

2018年6月25日 lzxz1234 2 comments

在 JDK8 之前,虚拟机内存主要分为堆和非堆两部分,堆中划分新生代老生代,非堆中包含所有非对象信息和运行时信息,其中有一块叫 PermGen,用以保存字节码等类信息。在 JDK8 中取消了这块内存,并添加了 MetaSpace 替代所有功能。

阅读全文

基于 ByteBuddy 运行时动态修改字节码

2018年4月6日 lzxz1234 Leave a comment

简介 Byte Buddy 是一个字节码生成与操作库。它无需编译器,能够在Java程序运行时创建与修改 class 文件。 目标 已有类文件: public static class Log { public static void log(String a) { System.out.println(“L

阅读全文

JVM 类加载器应用之多版本库支持

2018年3月24日 lzxz1234 Leave a comment

问题 开发过程中,咱们经常需要使用不同的库版本,而这些版本又不是向后兼容的,或者出于某种原因需要支持同一库的多个版本。 在这种情况下,默认的类加载器已经是不支持了,因为 loadClass 方法只加载一次特定的类

阅读全文

SNI 兼容性导致 HTTPS 访问异常

2018年2月3日 lzxz1234 Leave a comment

直接贴日志吧,发现有台机器访问 https 就会有以下异常: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS name matching wos.58cdn.com.cn found. at

阅读全文

关于 java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

2017年9月10日 lzxz1234 Leave a comment

Java SE5扩展了反射机制的API,Class 中出现了 getAnnotation(Class<a> annotationClass) 方法,该方法可以帮助程序员快速的构造自定义注解处理器。文档中对该方法的注释为: 返回改程序元素上存在的、指定类型

阅读全文

近期文章

  • 慎用LLM、慎用中转商、慎用IDE插件
  • [转]目前国内可用Docker镜像源汇总
  • 五分钟搞懂MCP是什么
  • ShardingSphere 更新 5.5.2 后找不到数据表
  • WSL+Tesla P40显卡 CUDA 不可用

归档

  • 2025 年 7 月
  • 2025 年 6 月
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2023 年 2 月
  • 2022 年 5 月
  • 2022 年 3 月
  • 2021 年 12 月
  • 2021 年 10 月
  • 2021 年 1 月
  • 2020 年 10 月
  • 2020 年 9 月
  • 2020 年 8 月
  • 2020 年 6 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2020 年 3 月
  • 2020 年 2 月
  • 2020 年 1 月
  • 2019 年 12 月
  • 2019 年 11 月
  • 2019 年 10 月
  • 2019 年 9 月
  • 2019 年 8 月
  • 2019 年 7 月
  • 2019 年 6 月
  • 2019 年 5 月
  • 2019 年 4 月
  • 2019 年 3 月
  • 2019 年 2 月
  • 2019 年 1 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2018 年 10 月
  • 2018 年 9 月
  • 2018 年 8 月
  • 2018 年 7 月
  • 2018 年 6 月
  • 2018 年 5 月
  • 2018 年 4 月
  • 2018 年 3 月
  • 2018 年 2 月
  • 2018 年 1 月
  • 2017 年 12 月
  • 2017 年 11 月
  • 2017 年 9 月
  • 2017 年 7 月
  • 2016 年 10 月
  • 2015 年 3 月
  • 2014 年 12 月
  • 2014 年 11 月
  • 2014 年 7 月

标签云

Base58 BlockChain ByteBuddy CDN ClassLoader DNSPod docker Email Encode ESXI Go GoLang GoProxy HTTPS Hyper-V IDE IIS iKuai Intellij Java JavaScript Javassist JDK JSR269 linux LLM mysql NAS Nginx ngrok ntfs OpenWrt PhantomJS Php proxy pyspider Python QiNiu shell SSL TokenAnalyzer windows wordpress WSL XiaoMi

其他操作

  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org
WordPress Theme: Treville by ThemeZee.
CopyRight © 2017-2025 版权所有 | 京ICP备17040779号 | 隐私协议