java第六天

//new是Java语言当中的一个运算符

//成员变量没有手动赋值的话,系统赋默认值

//默认值

/*

       数据类型                 默认值

----------------------------------------------------------

byte,short,int,long             0

float,double                      0.0

boolean                             false

char                                 /u0000

引用数据类型                  null(空值)void是返回值类型为空类型

//什么是对象?new运算符在堆内存中开辟的内存空间称为对象

//什么是引用?引用是一个变量,只不过这个变量中保存了另一个java对象的内存地址。

//java语言当中,程序员不能直接操作堆内存,java中没有指针不像c语言。

//java语言当中,程序员只能通过“引用”去访问堆内存当中对象内部的实例变量。

//访问实例变量的语法格式:

//读取数据: 引用.变量名

//修改数据: 引用.变量名 = 值

//通过对象才能访问实例变量,不能直接通过“类名”访问

引用:引用是一个变量,变量中保存的是一个对象的内存地址,这样的变量被我们称为引用。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

public class OOTest02

{

       public static void main (string[ ] args){

        //创建User

对象

        User u = new User();

      }


//引用是一个变量:变量包括局部变量和成员变量

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. java虚拟机主要包括三块内存空间分别是:栈内存、堆内存、方法区内存。

2. 堆内存和方法区内存各有一个,一个线程一个栈内存。

3. 方法调用的时候,该方法所需要的内存空间在栈内存中分配,称为压栈。方法执行结束之后该方法所需的内存空间释放,称为弹栈。

4. 栈中主要存储的是方法体当中的局部变量。

5. 方法的代码片段以及整个类的代码片段都被存储到方法区内存当中,在类加载的时候这些代码片段会载入。

6. 在程序执行过程中使用new运算符创建的java对象,存储在堆内存当中。对象内部有实例变量,所以实例变量存储在堆内存当中。

7.变量分类:

- 局部变量【方法体中声明】

- 成员变量【方法体外声明】

          *实例变量(前边修饰符没有static)

           *静态变量(前边修饰符中有static)

8. 静态变量存储在方法区内存当中。

9. 三块内存  当中变化最频繁的是栈内存,最先有数据的是方法区内存,垃圾回收器主要针对的是堆内存。

10. 垃圾回收器【自动垃圾回收机制、GC机制】什么时候会考虑将某个java对象的内存回收呢?

          *当堆内存当中的Java对象成为垃圾数据的时候,会被垃圾回收器回收。

           *什么时候堆内存当中的java对象会变成垃圾呢?

                    没有更多的引用指向它的时候。

                     这个对象无法被访问,因为访问对象只能通过引用的方式访问。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 面向对象的特征: 封装 继承 多态 封装是指对象的实现细节隐藏起来,然后通过公共的方法来向外暴露该对象的功能。 继...
    Jax_cbb5阅读 319评论 0赞 0
  • 学习目的 掌握static关键字和final关键字的含义及用法 掌握抽象类与接口的概念及用法 了解抽象类与接口的区...
    从前的小余儿阅读 255评论 0赞 0
  • 什么是方法方法就是一段可以重复调用的代码在Java中,声明一个方法的具体语法格式如下: 修饰符 返回值类型 方法名...
    天上的小仙女呀阅读 296评论 0赞 0
  • 一、 内存管理内存的作用: 存储数据.1). 如何将数据存储到内存之中声明1个变量,将这个数据存储进去2). 当数...
    _凌浩雨阅读 361评论 0赞 1
  • 代码块 在Java中,使用{}括起来的代码被称为代码块 代码块分类: 局部代码块:存在于代码中,控制变量的生命周期...
    啦啦啦_9a5f阅读 89评论 0赞 0

友情链接更多精彩内容