【京东|什么是 Java 代理?】Java 代理通过提供使我们能够侵入 JVM 中正在运行的 Java 程序的服务而在最低级别工作 。 如果操作不正确 , Java 的这个强大而不可思议的部分具有使 JVM 崩溃的能力 。 本文简要介绍了这个概念并介绍了它的工作原理 。
概述
代表 Java 代理的类显然只不过是 Java API 库中的任何其他类 。 但是 , 它们的特别之处在于它们遵循某种约定 , 该约定使 Java 代码能够拦截在 JVM 中运行的另一个应用程序 。 目的只是让代理调查或修改字节码 。 这是一个强大而又不可思议的功能 , 超出了 Java 程序通常的功能 。 在某种程度上 , 它可以闯入程序并修改字节码或造成破坏 。 了解这不是添加到 Java 中的新技术或新特性 。 自 JDK 1.5 以来 , 它一直是库的一部分 。 这意味着使用它们也有一些真正的好处 。 但是 , 在讨论它们的好处以及如何使用它们之前 , 让我们先看看我们可以在 Java 中哪里找到它们 。
Java 代理和检测
Java 代理是 Java Instrumentation API 的一部分 。Instrumentation API 提供了一种修改方法字节码的机制 。 这可以静态和动态地完成 。 这意味着我们可以通过向程序添加代码来更改程序 , 而无需触及程序的实际源代码 。 结果会对应用程序的整体行为产生重大影响 。
Java 代理和检测 API 位于名为 java.lang.intrumentation 的包中 。
Java 代理的使用
Java 代理可以有多种用途 , 例如面向方面编程 (AOP)、变异测试、分析等 。AOP 通常在不更改代码的情况下向现有程序添加日志记录或安全性等行为 。它使用 Java 代理来操作字节码 , 并将其特性与程序结合起来 。监视 JVM 级别的参数 , 如对象创建、垃圾收集、线程执行等 , 是分析器的工作 。分析工具在分析执行程序的 JVM 参数时大量使用 Java 代理 。
在许多其他情况下 , Java 代理和检测 API 都非常方便 。
结论
尽管 Java 代理和 Java Instrumentation API 在应用程序开发中的使用并不频繁 , 但了解它们的全部含义可以阐明 Java 的许多其他方面 。
- 电子商务|电商营运资金管理的内容是什么,它与供应链管理,有什么关系?
- SpaceX|马斯克买的Twitter是个色情网站
- 伊隆·马斯克|这是一场激烈的厮杀,马斯克盯上了这个新猎物!
- 京东方|苹果iPhone 14要用国产屏!供应商为京东方
- 荣耀magic|坐个电梯也能泄露隐私?是时候换一个通话不漏音的手机了
- Google|“还是太年轻”,实习生花2分钟解决bug,老程序员的反应耐人寻味
- 大屏|商用大屏才是真正生产力?华为智慧屏 B3 系列交上答卷
- 交易|想要调整电子秤的分度值?先了解“分度”与“最小差别”是什么!
- 荣耀x30|都是骁龙695,realme Q5和荣耀X30对比后,选择纠结了
- 联想|Windows电脑百度网盘下载速度太慢,是因为你没有这样设置