注意: 虽然这里没有写final 但是其实是高版本的JDK,帮你是省略了,底层还是会加上final,局部变量存在于占内存空间。问题是 堆的内容,需要去调用栈的内容。谁的生命周期长呢?堆的生命周期长。栈的生命周期短。生命周期长的想要去访问生命周期短的。这里将栈当中的内容,定义为final。内存位置就会改变。常量池里面保留副本。保留在常量池里面的内容,必须是final修饰的常量。