java 使用本机代理
在安装代理之前应了解的内容及其对代码的影响
在构建可伸缩的服务器端应用程序时,我们花费大量时间思考如何在生产中监视,操作和更新代码。 已经开发出一种新的工具来帮助Java和Scala开发人员做到这一点。 它们中的许多都是建立在最强大的方式之一上的,即外部代码可以在运行时与JVM集成的Java代理 。
代理是OS本机或Java库(我们将在下面描述它们之间的差异),JVM提供的这些功能是普通应用程序代码所不具备的。 为了了解它们的基本原理,让我们看一下我们使用的依赖它们的一些工具–
- 探查器使用Java代理修改目标框架的代码,以注入收集性能指标的新代码。 这包括独立或托管服务,例如NewRelic或YourKit。
- Play框架 V1使用Java代理在运行时启用类的热交换。
- JRebel通过构建一种可以在运行时提供平滑的类热交换而无需重新启动JVM的技术,将其带入了一个新的高度。
- 在Takipi,我们利用JVM提供给本机代理的低级功能来显示导致错误的实际源代码和变量值。