`
nakupanda
  • 浏览: 416797 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java静态方法中的变量是否共享内存块

    博客分类:
  • java
阅读更多
由结果来看应该是不共享内存块,也就是说同一静态方法的不同调用,方法内部的变量都是不同的,我真傻.

public class Test {

	/**
	 * @param args
	 */
	public static void A(String mark)
	{
		int i=0;
		for(;i<20;i++){
			try{
				Thread.sleep(1000);
				System.out.println("looping in "+mark+",value:"+i);
			}
			catch(Exception e)
			{
				System.out.println("ff");
			}
		}
			
	}
	


}







public class TestThread implements Runnable {
	public String mark;
	
	public void run() {
		// TODO Auto-generated method stub
		Test.A(mark);
	}
	
	public static void main(String args[]) throws Exception
	{
		TestThread ta = new TestThread();
		ta.mark="A";
		TestThread tb = new TestThread();
		tb.mark="B";
		Thread t1 = new Thread(ta);
		Thread t2 = new Thread(tb);
		t1.start();
		Thread.sleep(2000);
		t2.start();
	}

}
分享到:
评论

相关推荐

    静态的魔力:Java中静态方法和变量的深度解析

    本文将深入探讨Java中的静态方法和静态变量,揭示它们的工作原理和实际应用。 #### 二、静态特性的概述 在Java中,静态(static)关键字被用来修饰类的成员变量和方法,表示这些成员属于类本身而非类的某个具体...

    java-静态变量方法块

    在Java编程语言中,静态变量、静态方法、静态代码块以及非静态变量和非静态方法是核心概念,它们对于理解和编写Java程序至关重要。下面将详细解释这些概念,并通过实例程序来阐述它们的使用和内存管理。 首先,静态...

    java 使用静态成员变量计算内存中实例化的对象数目

    因此,静态变量在内存中只有一份,无论创建了多少个对象,它都不会因实例化而复制。 要使用静态成员变量计算内存中的对象数目,我们通常会在类中定义一个静态整型变量,如`count`,初始化为0。每当创建类的新实例时...

    Java成员变量局部变量静态变量成员方法全局方法等概念的区

    以下是关于Java成员变量、局部变量、静态变量以及成员方法和全局方法的基本概念和区别的详细阐述。 1. 成员变量(Member Variables): 成员变量是类的一部分,它们定义了对象的状态。它们可以是实例变量(非静态...

    java中静态与非静态的变量定义与使用

    总结起来,Java 中的静态变量与非静态变量之间的主要区别在于它们的生命周期、存储位置以及访问方式。静态变量是类级别的,与对象无关,而实例变量是对象级别的,每个对象都有自己的一份副本。理解这两种变量类型...

    java中的static变量,方法,代码块

    在上述代码中,`count`为静态变量,所有`Example`的实例都将共享同一个`count`值,而`instanceCount`则为实例变量,每次创建新实例时,其值独立且不相互影响。 #### 2. Static方法 静态方法是`static`关键字的另一...

    什么是静态(static)什么是静态方法,静态变量,静态块

    在Java编程语言中,"静态"(static)关键字是一个非常重要的概念,它具有多种用途,包括定义静态变量、静态方法、静态初始化块以及静态类。理解这些概念对于编写高效的Java代码至关重要。 首先,我们来解释静态变量...

    static静态变量使用@Value注入方式.md

    正确的做法是使用一个非静态的方法,并在这个方法中通过`@Value`注解来接收配置文件中的值,然后将这个值赋给静态变量。这样可以确保Spring能够在Bean的生命周期内正确处理`@Value`注解,同时还能保持静态变量的功能...

    java之中的静态变量与静态方法的继承与覆盖问题.doc

    ### Java之中的静态变量与静态方法的继承与覆盖问题 #### 静态变量与静态方法的基本概念 在Java编程语言中,静态变量(也称为类变量)和静态方法(也称为类方法)是由`static`关键字修饰的成员变量和成员方法。...

    java中带static关键字的程序内存分析

    在Java编程语言中,`static`关键字扮演着重要的角色,它影响着类和对象的内存分配方式。理解`static`关键字对于深入理解Java程序的内存管理至关重要。在本文中,我们将详细探讨`static`关键字在Java程序内存分析中的...

    java多线程_java多线程下变量共享_

    在多线程环境中,变量共享是一个常见的需求,但也是引发问题的关键点。本篇文章将深入探讨Java多线程下变量共享的问题以及解决策略。 在Java中,线程共享变量可以通过两种方式实现:静态成员变量和实例成员变量。...

    java笔记静态成员

    静态成员包括静态变量、静态方法和静态初始化块。 1、静态变量 静态变量是指属于类的变量,它们的值是共享的,所有实例都可以访问到同一个静态变量。在上面的代码中,`static int z;`就是一个静态变量。静态变量是...

    Java中static静态变量.pdf

    在Java编程语言中,`static`关键字是用来声明静态变量和静态方法的,这些成员属于类本身,而不属于类的任何实例。静态变量,也被称为类变量,是存储在内存的类区域,而实例变量则是存储在堆内存中,每个对象实例都有...

    JAVAStatic静态变量.doc

    Java中的`static`关键字是用来声明静态变量或静态方法的,它是面向对象编程中非常关键的一个概念。静态变量属于类,而不是类的实例,这意味着它们在内存中只有一份拷贝,所有的类实例共享这个相同的变量。当我们声明...

    java静态变量与方法.doc

    Java中的静态变量和静态方法是面向对象编程中的关键概念,它们与实例变量和实例方法有着显著的区别。在Java中,`static`关键字用于声明类级别的成员,而不是对象级别的成员。 **一、静态成员变量与实例成员变量的...

    Java中的成员变量

    这意味着,不论创建多少个对象,静态变量只在内存中占用一个存储单元,所有的对象都共享这个单一的存储位置。因此,对静态变量的修改会影响到所有对象。静态变量可以通过类名直接访问,例如`Static_Demo.j`,而无需...

    静态变量的导入以及集合的运用

    在Java中,可以通过`import static`语句来直接导入一个类中的静态成员(包括静态变量和静态方法)。这种方式可以避免重复输入类名,使得代码更加简洁易读。例如,在给定的代码片段中: ```java import static java....

    Java 成员变量和局部变量

    这意味着所有类的实例共享同一份静态变量。非静态成员变量则是每个实例独有的。 4. **this关键字**: 在方法中,使用`this`关键字可以引用当前对象的成员变量,以区分方法参数或其他局部变量。 **局部变量** 局部...

    Java语言中变量和方法的分析及其应用.pdf

    本文通过详细分类说明了变量和方法的概念,并分析了变量和方法在Java程序设计应用过程中的内存分配问题、在继承时的覆盖问题以及静态变量和静态方法的应用问题。同时,本文也给出了部分典型案例,希望能为Java程序...

Global site tag (gtag.js) - Google Analytics