jdk8升级到jdk17后运行Protocol myhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);报错
时间: 2024-04-20 19:24:14 浏览: 42
在 JDK 8 升级到 JDK 17 后,`Protocol` 类的构造方法报错可能是因为该类在 JDK 17 中已经被移除或发生了变化。从你提供的代码来看,`Protocol` 类可能是你自定义的类或是来自于某个第三方库。
如果 `Protocol` 类是你自定义的类,你需要检查该类的实现是否仍然适用于 JDK 17。可能需要进行相应的修改以适配新的 JDK 版本。
如果 `Protocol` 类来自于第三方库,你需要查找该库的最新版本或者与 JDK 17 兼容的版本。在升级 JDK 版本后,一些第三方库可能需要更新以适配新的 JDK 版本。
此外,我注意到你使用了 `EasySSLProtocolSocketFactory`,这个类在 JDK 17 中可能也发生了变化。你可以查看该类的文档或者第三方库的文档,确认它是否仍然兼容 JDK 17。
总之,在升级 JDK 版本后,需要确保使用的所有类、库和依赖项都与新的 JDK 版本兼容。如果遇到报错,需要检查相关类的文档或者与开发者社区进行交流,以获取更多关于适配新 JDK 版本的信息。
希望这些提示能帮助到你解决问题!如果还有其他问题,请继续提问。
相关问题
jdk11中new URL
在 JDK 11 中,`java.net.URL` 类的使用方式与之前的版本基本相同,你仍然可以使用 `new URL(String spec)` 或 `new URL(String protocol, String host, int port, String file)` 构造函数来创建一个 URL 对象。
需要注意的是,从 JDK 9 开始,`java.net.URL` 类已经被标记为不推荐使用的 API,建议使用 `java.net.URI` 类来替代。如果你必须使用 `java.net.URL` 类,可以在编译时加上 `-Xlint:deprecation` 选项来检查是否使用了不推荐使用的 API。同时,需要注意,使用不推荐使用的 API 可能会导致程序在将来的 JDK 版本中不可用或者发生变化。
-Xmx4096m -XX:MaxPermSize=128m -Djdk.attach.allowAttachSelf=true --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens java.base/sun.security.action=ALL-UNNAMED --add-opens java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED --add-opens java.desktop/com.sun.imageio.plugins.gif=ALL-UNNAMED --add-opens java.base/sun.security.action=ALL-UNNAMED --add-opens java.desktop/sun.font=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/sun.java2d=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.file=ALL-UNNAMED --add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-opens java.base/jdk.internal.ref=ALL-UNNAMED
这是一段JVM参数设置的代码,包括了-Xmx、-XX、-D等参数。其中,-Xmx表示JVM最大可用内存大小为4096m,-XX:MaxPermSize表示JVM最大持久代内存大小为128m,-Djdk.attach.allowAttachSelf=true表示允许JVM自我附加,后面的--add-opens表示打开指定模块的所有包,以便在模块外部使用它们的类。
需要注意的是,JVM参数的设置需要根据具体情况进行调整,不同的应用程序可能需要不同的参数设置。例如,需要根据系统硬件配置和应用程序的内存使用情况来确定最大内存大小,避免内存溢出或者浪费。
阅读全文