Skip to content

Lzxz1234 的小站

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

  • KMS 服务器
  • 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) 方法,该方法可以帮助程序员快速的构造自定义注解处理器。文档中对该方法的注释为: 返回改程序元素上存在的、指定类型

阅读全文

近期文章

  • ShardingSphere 更新 5.5.2 后找不到数据表
  • WSL+Tesla P40显卡 CUDA 不可用
  • FreqTrade 量化交易超跌抄底策略
  • 如何安全取回 GitHub 存储的 Action Secrets
  • Docker 容器非 root 用户监听 80 端口

归档

  • 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 Cubieboard DNSPod docker Email Encode ESXI Go GoLang GoProxy HTTPS Hyper-V IDE IIS iKuai Intellij Java JavaScript Javassist JDK JSR269 linux 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号 | 隐私协议