`
shenglongq
  • 浏览: 3919 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

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,当我们把第一条请求的
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    JAVA-FAQ.rar_The Java FAQ_java编程

    这份名为"JAVA-FAQ.rar_The Java FAQ_java编程"的压缩包提供了一个Java编程的常见问题解答集锦,帮助开发者解决他们在编程过程中可能遇到的疑惑。"JAVA FAQ.pdf"是其中的主要文档,包含了丰富的知识内容。 首先,这...

    java培训讲座(怎么学java)

    这意味着不仅要深入理解理论,还要通过实际项目进行实践,灵活适应不同的教学方式,并积极与他人交流,以解决疑惑和分享经验。同时,“剔除枯燥,生动化学习,贴近项目实际来运用知识”意味着将理论知识与实际应用相...

    A11w_java_

    Java EE则提供了服务器端开发所需的API和服务,如Servlet、JSP、EJB等,适用于构建分布式企业级应用。 11. **Java开发工具集(JDK)**:包含了Java编译器(javac)、JVM和各种开发工具,是Java开发者必备的工具。 ...

    Java学习从入门到精通

    - `jar`:Java归档工具,用于打包和管理类文件。 - `javadoc`:生成API文档的工具,帮助开发者了解类库的使用方法。 对于这些工具,每一个命令及其参数都需要深入理解和熟练掌握。 3. JDK Documentation: JDK...

    J2EE部分疑惑基础知识总结.doc

    this和super关键字在Java中用于区分当前对象和其父类的引用。this关键字代表当前对象,可以用来调用当前类的方法或访问当前对象的属性。super则用于引用父类的成员,特别是当子类重写了父类的方法时,super可以调用...

    Java入门学习指导

    9. **学习Servlet和JSP技术**:Servlet和JSP是Java Web开发中的核心技术。Servlet负责处理来自客户端的HTTP请求,而JSP则是用于生成动态HTML页面的技术。此外,还需学习EL表达式语言、JSTL标签库等相关知识。 #### ...

    Java开发实战1200例

    1. **基础语法**:实例包括变量声明、数据类型、运算符、流程控制语句(如if、switch、for、while等),以及方法的定义和调用,让读者对Java的基本结构有清晰的认识。 2. **面向对象**:书中通过实例讲解类、对象、...

    在线社区讨论平台采用JSP技术构建

    本项目以JSP(JavaServer Pages)为核心,结合Servlet和Struts框架,构建了一个功能完善的论坛系统。这个系统不仅适合编程新手学习,也能够满足实际的在线讨论需求。 **JSP技术详解** JSP是Java平台上的服务器端...

    SEG3125:SEG3125的课程分配

    1. **Java基础**:首先,课程会涵盖Java的基础语法,包括变量、数据类型、运算符、流程控制(如if语句、switch语句、循环结构)、方法定义和调用,以及异常处理等基础知识。 2. **面向对象编程**:Java的核心特性...

    qm-book:千米阅E库

    "QM书"是一个以Java技术为核心的编程学习资源库,标题中的"千米阅E库...通过深入学习和实践,你可以在Java的世界里游刃有余,解答那些关于编程的疑惑,就像标题中引用的诗句,尽管怀疑,但永远不要停止探索和学习。

    Drools应用安装部署操作文档

    - **配置环境变量**:设置系统的环境变量,特别是JAVA_HOME,指向已安装的JDK路径,确保Drools能识别到Java环境。 - **安装Tomcat6**:Drools应用的Web界面通常部署在Tomcat这样的Servlet容器上。按照Tomcat的...

Global site tag (gtag.js) - Google Analytics