当在IDEA中连接Redis时出现"Java HotSpot™ 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended"错误,通常是因为类加载器(ClassLoader)的共享机制引发的警告。
Java的类加载机制涉及到Bootstrap ClassLoader、Extension ClassLoader和Application ClassLoader。Bootstrap ClassLoader负责加载核心类库,Extension ClassLoader负责加载Java扩展库,而Application ClassLoader负责加载应用程序的类。
当IDEA启动时,IDEA会改变类加载器的加载方式,在应用程序启动时将一些核心类库路径添加到BootStrap ClassLoader的搜索路径中。这样,当应用程序执行时,某些类库会先由BootStrap ClassLoader加载,然后再由Application ClassLoader加载。
然而,由于Redis客户端库通常不是放在BootStrap ClassLoader的搜索路径下的,所以在加载Redis客户端库时,会出现上述警告。
虽然出现警告,但通常不会影响应用程序的正常运行。你可以忽略该警告,或者通过设置VM选项来关闭该警告。
如果你希望关闭警告,可以尝试以下方法:
在IDEA的启动选项中,添加以下JVM参数:
-Dsun.misc.URLClassPath.disableJarChecking=true
在IDEA的启动选项中,添加以下JVM参数:
-XX:-ShareBootClassLoader