"今天在看 GC 优化的时候,看到一个点。 如果一个局部变量不会逃逸的话,这个变量会分配到栈上,随栈的结束而结束,以避免堆的频繁 GC,我的问题是现在大部分场景都用线程池,线程并不会被销毁而是重复利用的,那什么时候把栈中的数据清除的呢? 或者是新任务被分配到线程的时候再开辟一个栈空间?"

JAVA 关于 GC 的一个问题

今天在看 GC 优化的时候,看到一个点。
如果一个局部变量不会逃逸的话,这个变量会分配到栈上,随栈的结束而结束,以避免堆的频繁 GC,我的问题是现在大部分场景都用线程池,线程并不会被销毁而是重复利用的,那什么时候把栈中的数据清除的呢?
或者是新任务被分配到线程的时候再开辟一个栈空间?

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2168 引用 • 7424 回帖 • 1019 关注
  • GC
    8 引用 • 43 回帖
  • Q&A

    提问之前请先看一下这篇文章 《提问的智慧》精读注解版,好的问题比好的答案更有价值。

    941 引用 • 5907 回帖 • 607 关注
感谢    关注    收藏    赞同    反对    举报    分享
2 回帖    
请输入回帖内容...
  • Ahian      

    你的理解是什么

    1 回复
       感谢    赞同    反对    举报    折叠    分享    评论    回复
  • wwyy456258            

    我理解的是栈应该不会变,应该是随线程的

       感谢    赞同    反对    举报    折叠    分享    评论    回复