Java连载35-类总结空指针异常

Posted ruigege0000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java连载35-类总结空指针异常相关的知识,希望对你有一定的参考价值。

一、总结

1.栈内存中主要存储的是方法体中的局部变量

2.对象内部有实例变量,实例变量存储在堆内存中

3.变量分类:局部变量(方法体中声明);成员变量(方法体外声明)

实例变量(前边修饰符没有static)静态变量(前边的修饰符中有static)

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

5.三块内存中变化量最频繁的栈内存,垃圾回收期主要针对的是堆内存

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

(1)当堆内存中java对象成为垃圾数据的时候,会被垃圾回收器回收

(2)什么时候堆内存中的java对象会变成垃圾呢?

i.没有更多的引用指向它的时候;ii.这个对象无法被访问,因为访问对象只能通过引用的方式进行访问。

二、空指针异常

1.以下程序是可以编译通过的,因为它符合语法,但是运行时会出现空指针异常:java.lang.NullPointerException。空引用访问“实例”相关的数据一定会出现空指针异常

 

    Student s = new Student();

    System.out.println(s.age);

    s = null;

    //以上程序是可以编译通过的,因为它符合语法,但是运行时会出现空指针异常:java.lang.NullPointerException

    //空引用访问“实例”相关的数据一定会出现空指针异常

    System.out.println(s.age);

技术图片

三、源码:

D35_void_pointer_exception.java

地址:

https://github.com/ruigege66/Java/blob/master/D35_void_pointer_exception.java?

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 技术图片

 

以上是关于Java连载35-类总结空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式创建 MapView 并添加标记导致片段中出现空指针异常

片段中的 Listview 适配器给出空指针异常

片段 getArguments() 空指针异常

Android 防止空指针异常

getApplicationContext给出空指针异常[重复]

片段中的空指针异常