![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
英语达人帮帮忙啊!!请帮我翻译一下这段话!急用,我就这点分了,请谅解一下!
14.2.2.DynamicTransformationDynamictransformationoperatesatsometimebetweentheJVMreque...
14.2.2. Dynamic Transformation
Dynamic transformation operates at some time between the JVM request for a class and the loading of that class. Dynamic transformation may occur at the server as specific clients request the class, at an intermediate proxy that transforms classes as they pass through the network [17], or at load time as the classes enter the JVM.
The classloader architecture provided in Java provides a convenient mechanism to alter the semantics of loading a class. A classloader is a user-defined object in Java responsible for locating and obtaining classfiles and handing them to the JVM. While classloaders are intended to enable programmers to control the source location or time of class, they also provide an opportunity for transformation.
Performing the transformation at load time is the only way to guarantee transformation of foreign code, such as applets or servlets loaded from the network. It can apply whole-program transformations to such applications.
In addition to ensuring that every application class supports a given feature, a transformation can also be restrictive, guaranteeing that no application class uses a forbidden feature. For example, a restrictive transformer can limit access to a secure resource by simply disallowing any code that references that resource. The transformer can then safely add its own calls to that resource. Given Java's type-safety, all calls to that resource are guaranteed to be legitimate. (However, see the discussion later on reflection).
Load-time transformation is incremental: The transformer processes individual classes one at a time as they are loaded. The transformer does not control the load order of the classes, and most current JVMs do not allow modification or reloading of already-loaded classes. Transformers thus have only one chance to transform classes and often must do so with incomplete information about the entire application.
This constraint limits the applications for load-time transformation. For example, a dynamic transformer cannot, in general, apply optimizations requiring interprocedural analysis (such as leaf method removal) because the transformation may operate on a call site before the matching method is loaded. Transformer control over the class load order would improve the generality of dynamic transformation but would not solve the problem. For method invocations for which the transformer cannot determine the run-time type of the object, the classloader would require all possible descendents of that object to determine the safety of that method invocation. The current specification of the classfile does not provide that information, and in general, new subclasses may dynamically appear.
请大哥们帮下忙,急用!!! 展开
Dynamic transformation operates at some time between the JVM request for a class and the loading of that class. Dynamic transformation may occur at the server as specific clients request the class, at an intermediate proxy that transforms classes as they pass through the network [17], or at load time as the classes enter the JVM.
The classloader architecture provided in Java provides a convenient mechanism to alter the semantics of loading a class. A classloader is a user-defined object in Java responsible for locating and obtaining classfiles and handing them to the JVM. While classloaders are intended to enable programmers to control the source location or time of class, they also provide an opportunity for transformation.
Performing the transformation at load time is the only way to guarantee transformation of foreign code, such as applets or servlets loaded from the network. It can apply whole-program transformations to such applications.
In addition to ensuring that every application class supports a given feature, a transformation can also be restrictive, guaranteeing that no application class uses a forbidden feature. For example, a restrictive transformer can limit access to a secure resource by simply disallowing any code that references that resource. The transformer can then safely add its own calls to that resource. Given Java's type-safety, all calls to that resource are guaranteed to be legitimate. (However, see the discussion later on reflection).
Load-time transformation is incremental: The transformer processes individual classes one at a time as they are loaded. The transformer does not control the load order of the classes, and most current JVMs do not allow modification or reloading of already-loaded classes. Transformers thus have only one chance to transform classes and often must do so with incomplete information about the entire application.
This constraint limits the applications for load-time transformation. For example, a dynamic transformer cannot, in general, apply optimizations requiring interprocedural analysis (such as leaf method removal) because the transformation may operate on a call site before the matching method is loaded. Transformer control over the class load order would improve the generality of dynamic transformation but would not solve the problem. For method invocations for which the transformer cannot determine the run-time type of the object, the classloader would require all possible descendents of that object to determine the safety of that method invocation. The current specification of the classfile does not provide that information, and in general, new subclasses may dynamically appear.
请大哥们帮下忙,急用!!! 展开
2个回答
展开全部
14.2.2. 动态的变形
动态的变形在一些时间为班级和那个班级的载入在 Java虚拟机请求之间操作。当特定的客户请求班级,动态的变形可能在伺候器发生,当他们通过网络,在一个转换的中间代理分类[17],或在负荷当班级进入 Java虚拟机。
classloader 建筑学在爪哇提供提供一种方便的机制改变载入一个班级的语意学。 classloader 在负责位于而且获得 classfiles 而且把他们交给 Java虚拟机的爪哇是一个使用者定义的物体。 一会儿 classloaders 想要的是使程序师能够控制班级的来源位置或时间,他们也提供一个机会给变形。
在负荷时间操作变形是唯一的方法保证外国的密码变形,例如 支程序或 servlets 从网络装载。 它能应用全部- 计画变形到如此的申请。
除了确定每个申请班级支援一个给定的特征,变形也可能是限制的,保证那没有申请班级使用一个被禁止的特征。举例来说,一个限制的变压器能限制通路为无虑的资源被只是不许任何把叁考资源编码。 变压器能然后安全地把它的自己呼叫加入资源。 给予的爪哇式的-安全,对资源的所有呼叫被保证合法。 (然而,稍后看见讨论反映).
负荷- 时间变形是增加的: 当他们被装载,在次变压器处理个人班级一。 变压器不 控制班级的负荷次序,而且最新的 Java虚拟机不 允许修正或再装货已经-装载班级。 变压器如此只有一偶然发生转换班级和时常一定用 关於~的不完全的资讯~整个的申请这麽做。
为负荷- 时间变形的这个限制极限申请。 因为变形可能在一个呼叫位置之上操作 , 所以举例来说,一个动态的变压器不能够,大体上,应用最佳化需要 interprocedural 分析 ( 例如 叶方法移动) 在那之前相配方法被装载。 变压器对~的控制班级装载次序会改良动态的变形概论但是不解决问题。 对於变压器不能够决定物体的奔跑- 时间类型的表演逼真的祈愿, classloader 会需要所有的可能下降的那个物体决定那个方法祈愿的安全。 classfile 的现在规格不 提供数据,而且大体上,新的亚纲可能动态地出现。
动态的变形在一些时间为班级和那个班级的载入在 Java虚拟机请求之间操作。当特定的客户请求班级,动态的变形可能在伺候器发生,当他们通过网络,在一个转换的中间代理分类[17],或在负荷当班级进入 Java虚拟机。
classloader 建筑学在爪哇提供提供一种方便的机制改变载入一个班级的语意学。 classloader 在负责位于而且获得 classfiles 而且把他们交给 Java虚拟机的爪哇是一个使用者定义的物体。 一会儿 classloaders 想要的是使程序师能够控制班级的来源位置或时间,他们也提供一个机会给变形。
在负荷时间操作变形是唯一的方法保证外国的密码变形,例如 支程序或 servlets 从网络装载。 它能应用全部- 计画变形到如此的申请。
除了确定每个申请班级支援一个给定的特征,变形也可能是限制的,保证那没有申请班级使用一个被禁止的特征。举例来说,一个限制的变压器能限制通路为无虑的资源被只是不许任何把叁考资源编码。 变压器能然后安全地把它的自己呼叫加入资源。 给予的爪哇式的-安全,对资源的所有呼叫被保证合法。 (然而,稍后看见讨论反映).
负荷- 时间变形是增加的: 当他们被装载,在次变压器处理个人班级一。 变压器不 控制班级的负荷次序,而且最新的 Java虚拟机不 允许修正或再装货已经-装载班级。 变压器如此只有一偶然发生转换班级和时常一定用 关於~的不完全的资讯~整个的申请这麽做。
为负荷- 时间变形的这个限制极限申请。 因为变形可能在一个呼叫位置之上操作 , 所以举例来说,一个动态的变压器不能够,大体上,应用最佳化需要 interprocedural 分析 ( 例如 叶方法移动) 在那之前相配方法被装载。 变压器对~的控制班级装载次序会改良动态的变形概论但是不解决问题。 对於变压器不能够决定物体的奔跑- 时间类型的表演逼真的祈愿, classloader 会需要所有的可能下降的那个物体决定那个方法祈愿的安全。 classfile 的现在规格不 提供数据,而且大体上,新的亚纲可能动态地出现。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询