使用检测的JDK7编译代码存在已知的兼容性问题.至于http://www.oracle.com/technetwork/java/javase/compatibility-417013.html
版本号为51的类文件使用类型检查验证程序进行独占验证,因此这些方法在适当时必须具有StackMapTable属性.对于版本为50的类文件,如果文件中的堆栈映射丢失或不正确,Hotspot JVM将(并继续)故障转移到类型推断验证程序.对于版本为51的类文件(Java SE 7的默认版本),不会发生此故障转移行为.修改版本51类文件中的字节码的任何工具必须确保更新stackmap信息以与字节码一致以通过验证.
解决方案是使用-XX:-UseSplitVerifier如下所述:https:
//community.oracle.com/blogs/fabriziogiudici/2012/05/07/understanding-subtle-new-behaviours-jdk-7
它有多安全?我想Oracle已将此检查置于原因之中.如果我不使用它,我可能会冒一些其他问题.
使用后果可能是什么-XX:-UseSplitVerifier?
谢谢,
彼得.
假设我们有一个可以为某些客户定制的应用程序.该应用程序使用基于Java的弹簧配置(也称为Java配置)进行依赖注入.该应用程序由模块及其子模块组成.每个模块和子模块都有自己的@Configuration类,由父配置使用导入@Import.这将创建以下层次结构:
MainConfig
----------+---------------- ....
| |
ModuleAConfig ModuleBConfig
|--------------------|
| |
SubModuleA1Config SubModuleA2Config
Run Code Online (Sandbox Code Playgroud)
例如,ModuleAConfig看起来像这样:
@Configuration
@Import({SubModuleA1Config.class, SubModuleA2Config.class})
public class ModuleAConfig {
// some module level beans
}
Run Code Online (Sandbox Code Playgroud)
假设SubModuleA1Config定义someBean了SomeBean类型的bean:
@Configuration
public class SubModuleA1Config {
@Bean
public SomeBean someBean() { return new SomeBean(); }
}
Run Code Online (Sandbox Code Playgroud)
现在我想为Customer1(C1)定制应用程序 - 我想使用C1SomeBean(扩展SomeBean)而不是SomeBeanas someBean.
如何以最少的重复实现这一目标?
我的一个想法是准备C1Config继承自MainConfig,C1ModuleAConfig来自ModuleAConfig和C1SubModuleA1Config来自的替代层次结构SubModuleA1Config.C1SubModuleA1Config会覆盖 …
我想测试一些与 MQ 相关的功能,并且想使用 MQ Explorer (v 7.5.0.2) 将消息放入 MQ 队列。然而,输入字段只接受一行消息
是否可以使用 MQ Explorer 放置多行消息?使用\n或 之类的序列 不起作用。