java类变量和servlet的疑惑

我有一段这样的程序


public class Test {
public static int i=0;


public static void main(String[] args) {
● System.out.println(Test.i);
System.out.println(Test.i++);
System.out.println(Test.i);
}
}

黑点表示bebug断点,这是一个Test对象,他有一个类变量i
当我debug一次Test的时候,程序运行到第3行,结果分别是 0,0,1
然后我再debug一次Test的时候,本以为这个输出应该是1,1,2的,可是结果却还是0,0,1
最初怎么也想不通为什么,所以现在有了这样的想法,当我们debug一次Test的时候,其实他是新建了一个JVM实例,虽说2次debug Test其实他们运行在不同的JVM下,他们类变量i,也在各自JVM的方法区里面,所以互不相干,不知道这个结论是否正确。


现在看一个servlet

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
● String sort = request.getParameter("sort");
System.out.println(sort);
}

我们知道,一般的servlet相当于一个单例,我们假设这个servlet运行在tomcat服务器上,当用户请求一次这个servlet的时候,tomcat会让一个engine从线程池里面去得到一个线程,然后处理用户提来的请求。我们开启
2条请求(线程),第一个请求sort=111,第二条请求sort=222,当我们把第一条请求的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值