当前位置: 首页 > news >正文

松江附近做网站设计师常去网站

松江附近做网站,设计师常去网站,百度查询入口,wordpress开最近利用github action向Maven中央仓库发布企业微信SDK时会失败,从日志中发现是系统资源耗尽了,日志如下: [INFO] Changes detected - recompiling the module! :dependency [INFO] Compiling 35 source files with javac [debug target 8] …

最近利用github action向Maven中央仓库发布企业微信SDK时会失败,从日志中发现是系统资源耗尽了,日志如下:

[INFO] Changes detected - recompiling the module! :dependency
[INFO] Compiling 35 source files with javac [debug target 8] to target/classesThe system is out of resources.
Consult the following stack trace for details.
java.lang.StackOverflowErrorat com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1624)at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2435)…………

编译的环境是 Java 8

应该是递归引用导致OOM了,但是仔细REVIEW了代码并没有发现问题。困扰了一个多月。今天终于解决了,问题是由下面的代码引起的:

public final class WecomUserAgent {/*** 版本号*/public static final String VERSION = "1.2.4";/*** UserAgent*/public static final String WECOM_USER_AGENT= "Wecom/" + VERSION + Optional.ofNullable(System.getProperty("java.version")).map(javaVersion -> " Java/" + javaVersion).orElse("");private WecomUserAgent() {}
}

根本的原因在于上面的静态变量WECOM_USER_AGENT

Java 8 中,被标记final的静态属性初始化时如果在字符串拼接中使用了lambda流操作,可能导致javac递归,最终堆栈溢出。该问题在Java 9得到了修复
Bug报告:https://bugs.openjdk.org/browse/JDK-8077605

解决方法

升级JDK

升级JDK到9+ 就可以直接解决这个问题。

兼容写法

如果无法直接升级JDK,可以使用静态块来初始化:

public final class WecomUserAgent {/*** 版本号*/public static final String VERSION = "1.2.4";/*** UserAgent*/public static final String WECOM_USER_AGENT;static {WECOM_USER_AGENT = "Wecom/" + VERSION + Optional.ofNullable(System.getProperty("java.version")).map(javaVersion -> " Java/" + javaVersion).orElse("");}private WecomUserAgent() {}
}
http://www.yayakq.cn/news/503670/

相关文章:

  • 网站备案的好处oa办公系统如何使用
  • 网站建设与实践心得体会网页版微信二维码登录
  • 网站开发逻辑多功能创意产品设计
  • 河南做网站多少钱一学一做教育视频网站有哪些内容
  • 404错误直接转向到网站首页wordpress文章分组授权
  • 有什么做网站的国企网页制作实训报告总结
  • 太平洋在线企业网站管理系统php .net做网站哪个好
  • 网站落地页和普通网页免费加速器永久免费版不用登录
  • 有哪些好的做兼职的网站wordpress more标签
  • 省机关事务局网站建设管理情况集翔网大网站建设
  • 自动做PPT的网站百度下载安装2022最新版
  • 深圳专业网站建设产品运营之中的广度讲解怎么建网站平台卖东西
  • 网站 谁建设谁负责深圳那家做APP网站的最好
  • 网站的服务器怎么做的东莞招聘网最新招聘信息
  • 代刷推广网站大连建站平台
  • 汕头网站开发服务我爱做衣服网站
  • 合肥网站建设技术托管网站开发盈亏平衡分析表
  • 检测网站是否被墙计算机网络技术是干嘛的
  • 自己做高仿衣服网站查域名注册
  • 金阊网站建设wordpress 用户留言
  • 萍乡网站建设哪家好规范网站维护 建设 管理
  • 宁德市城乡住房建设厅网站城市宣传网站建设方案
  • 到位app做网站需要些程序wordpress 统计浏览量
  • 肥城网站建设方案网站空间购买时选择什么脚本语言
  • 烟台网站建设托管设计企业
  • 毕业设计做网站做什么好wordpress批量传图片大小
  • 网站建设用什么技术wordpress侧边栏在哪调
  • 个人商城网站源码下载怎么用dw做响应式网站
  • 怎么制作单页网站新闻头条最新消息今天
  • 外贸 模板网站 定制网站郑州网站建设 论坛