java中主函数运行完后变量还存在吗
3个回答
展开全部
如果是单线程, 那么main方法的代码执行到最后了. 那么虚拟机退出了 ,变量占用的内存释放了
当然了,你可以写入变量到记事本或者数据库, 持久化保存
如果是多线程. 那不一定了, 就算执行了最后一行代码
也不妨碍其他线程, 使用和持有变量
当然了,所有线程执行完毕 ,jvm虚拟机退出, 变量就彻底的被释放了
代码
public class B {
public static void main(String[] args) {
String name = "张三";
Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName()+name);
}
}
});
t.start();
System.out.println("main方法最后一行代码"+name);
}
}
输出
main方法最后一行代码张三
Thread-0张三
Thread-0张三
Thread-0张三
Thread-0张三
Thread-0张三
Thread-0张三
Thread-0张三
Thread-0张三
Thread-0张三
Thread-0张三
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询