程序猿阿杰 2023-07-05 21:33 采纳率: 44.4%
浏览 9
已结题

jvm逃逸分析问题解决

为什么第一个逃逸了,第二个没有逃逸?
public static StringBuffer craeteStringBuffer(String s1, String s2) {
    StringBuffer sb = new StringBuffer();
    sb.append(s1);
    sb.append(s2);
    return sb;
}

public static String createStringBuffer(String s1, String s2) {
    StringBuffer sb = new StringBuffer();
    sb.append(s1);
    sb.append(s2);
    return sb.toString();
}
  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-07-05 22:34
    关注

    第一个方法 返回了 StringBuffer 类的引用, 那外围的程序就可以修改它的内容,也就是 它 对于这个方法来讲是 逃逸出来了
    第二个方法 返回的是 String 字符串, StringBuffer这个类对其他调用者来讲 是无法访问的,也就是 StringBuffer 是无法逃逸出 当前方法的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月14日
  • 已采纳回答 7月6日
  • 创建了问题 7月5日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22