java管理内存之 栈内存、堆内存(简单了解)、static(静态\修饰符)、主函数main参数

栈内存的特点:

  栈内存存储的都是临时变量,变量一旦出了自己的作用域,那么马上会从内存中消失,释放内存空间。

  栈内存(方法栈):
    一个方法要运行的时候,jvm会在栈内存中开辟一片属于这个方法的空间,让这个方法在这片空间内执行。   

堆内存的特点:
  堆内存存储的都是对象数据,对象一旦被使用完,并不会马上从内存中消失,而是等待垃圾回收器不定期把垃圾对象回收,这时候该对象才会消失,释放内存。


对象:
    对象如果没有变量引用了,那么该对象就是一个垃圾对象。
    凡是以new关键字创建的对象,jvm都会在堆内存中开辟一个新的空间,创建一个新的空间创建一个新的对象。


方法区(数据共享区)  static(静态\修饰符)
  静态的成员变量只会在数据共享中维护一份,而非静态成员变量的数据会在每一个对象中都维护一份数据。

  静态函数不能访问非静态的成员?
    静态函数只要存在有对象,那么也可以访问非静态的数据。只是不能直接访问非静态数据。
    举例:可以在静态函数内new 对象,从而实现静态函数调用非静态成员的访问方法。
主函数
  mian:只是函数名,并不是关键字。只是jvm特殊识别的函数名
  main:调用形式参数

  cmd命令行:
  java 类名 参数1 参数2 参数3
  public void main(String [] args){
      System.out.println(args.length); //3
  }

posted @ 2016-08-31 15:14  FromNowOns  阅读(476)  评论(0编辑  收藏  举报