Android-Java-静态变量与静态方法内存图
描述Dog对象:
package android.java.oop10;
public class Dog {
public static String name;
public static int age;
public static void showNameAge() {
System.out.println("name:" + name + " age:" + age);
}
}
main测试方法:
package android.java.oop10;
public class Demo01 {
public static void main(String[] args) {
Dog.name = "阿白";
Dog.age = 98;
Dog.name = "李双";
Dog.age = 90;
Dog.showNameAge();
}
}
执行结果:

以上案例对应内存图:

1. 执行 java Demo01 是给JVM发送指令,和JVM说:把这个 Demo01.class 去执行;
2.JVM就去执行 Demo01.class 文件里面的字节码,首先第一步 是把 Demo01.class字节码加载进内存;
3.第二步把Demo01.class放入字节码存放区;
4.第三步把Demo01里面的静态数据(静态变量 与 静态方法)分配到 静态区;
5.第四步main方法进栈,如何进栈的,是把静态区里面的main方法拿到运行区(栈) 然后就进栈了;
6.第五步main方法执行 Demo. 的时候,就在此时 才把Dog.class加载进内存;
7.第六步把Dog.class放入字节码存放区;
8.第七步把Dog里面的静态数据(静态变量 与 静态方法)分配到 静态区;
9第八步 在main方法中执行 Dog.name 是向静态区去找到 Dog.name 拿来使用,由于是共享的 name 只保持最后修改的数据;
Android-Java-静态变量与静态方法内存图的更多相关文章
- Java知多少(31)static关键字以及Java静态变量和静态方法
static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态 ...
- 《Java基础知识》Java static关键字以及Java静态变量和静态方法
static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态 ...
- java静态变量、静态方法和静态代码段
先上实例 public class TestStatic { public static String staticString = "this is a static String&quo ...
- 转载:JAVA的静态变量、静态方法、静态类
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象 ...
- 【转】JAVA的静态变量、静态方法、静态类
转自:http://blog.csdn.net/zhandoushi1982/article/details/8453522/ 静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. ( ...
- JAVA的静态变量、静态方法、静态类
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象 ...
- Java中的静态变量、静态方法问题
由关键字static所定义的变量与方法,分别称为静态变量和静态方法,它们又都被称为静态成员 1.静态方法 无需本类的对象也可以调用此方法,调用形式为“类名.方法名”,静态方法常常为其他类提供一些方法而 ...
- 谈谈java中静态变量与静态方法在有继承关系的两个类中调用
谈谈java中静态变量与静态方法在有继承关系的两个类中调用 学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试 ...
- java中静态变量与静态方法的继承(转)
总结: 1.静态变量与静态方法说继承并不确切,静态方法与变量是属于类的方法与变量.而子类也属于超类,比如说Manage extends Employee,则Manage也是一个Employee,所以子 ...
随机推荐
- py库: GUI(tkinter)
图形用户界面(Graphical User Interface,简称 GUI) http://www.runoob.com/python/python-gui-tkinter.html Python ...
- mezzanine的page_menu tag(二)
dict的特性,key可以是None >>> def f(): a=[2,3] return a #函数返回local变量 >>> a=f() >>&g ...
- leetcode15
class Solution { public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); Li ...
- leetcode152
class Solution { public: int maxProduct(vector<int>& nums) { if(nums.empty()) ; ) ]; ]; // ...
- python 装饰器的理解以及类装饰器
python装饰器的作用就是在不改变原有函数结构的情况下给该函数增加一个新功能,就是不入侵到原来函数里面修改代码给其增加一个新功能 先看代码 def out(fn): def inner(*args, ...
- 如何将R中的data frame对象的数据导入到DB
在使用ARIMA模型来预测我们的销量的时候,如果保存预测版本进DB,以供后续分析呢 1. 在定义变量阶段我们定义了dfResult <- data.frame() 这是一个data f ...
- JQuery/JS插件 数组转换为Table
//数组 转换为 table var arr = [{ "D_AlarmValue": 7.00, "D_Code": "002", &qu ...
- 绑定checkedComboBox
using System; namespace CommonLib{ /// <summary> /// CommonCode 的摘要说明. /// </summary> [S ...
- thinkphp 视图(一)
视图 View <?php namespace app\index\controller; class Index{ public function index(){ return view() ...
- PHP 实现单链表
数据结构是计算机存储.组织数据的方式,结构不同那么数据的检索方式和效率都不一样, 常用的数据结构有 数组 .栈 .队列 .链表 .树.堆 今天讲下单链表,单链表是一种链式存取的数据结构, 跟顺序链表 ...