性能问答>JVM内存分配相关问题求教>
1回复
1年前

JVM内存分配相关问题求教



代码如下,大佬们帮忙看下此段代码的内存分配,帮忙指出下堆区与栈区?或者说一下threadLocal,name,t1,t11,o,t2,t22,list还有MainThread分别在哪?

public static void main(String[] args) {
ThreadLocal<String> threadLocal=new ThreadLocal<>();
threadLocal.set("test");
String name="sjb";
Thread t1=new Thread(()->{
int t11=5;
Object o=new Object();
});
Thread t2=new Thread(()->{
int t22=5;
ArrayList<Object> list;
});
}
2646 阅读
请先登录,再评论

Java中new的对象都是分配在堆内存中,String Literal在哪什么内存中取决于JVM实现方式,但可以确定的是在String constant pool里面,一般的primitive type比如int, float在栈内存中。

1年前