Java基础
文章平均质量分 69
qcm_myblogs111
最怕一生碌碌无为,却安慰自己平凡可贵!!!!!
展开
-
Java提供的四种引用类型:强引用、软引用、弱引用、虚引用
目的:第一 是可以让程序员通过代码的方式决定某些对象的生命周期。 第二 是有利于JVM进行垃圾回收。 1、强引用 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不回收这种对象。 如果想中断强引用和某个对象之间的关联,可以显示地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象。 比如ArraryList类的clear方法中就是通过将引用赋值为null来实现清理工作的 此处是ArrayList的clear方法截图 在ArrayList类中定义了原创 2021-12-20 15:19:35 · 89 阅读 · 0 评论 -
Java HashCode()和Equals()
1、equals() 与 == 1.1、equals方法对于字符串来说是比较内容的,而对于非字符串来说是比较,其指向的对象是否相同的。通过判断两个对象的地址是否相等(即,是否是同一个对象)来区分它们是否相等。如果在类中被覆盖了equals方法,就可以用来比较内容的。 1.2、如果是基本类型比较,那么只能用==来比较,不能用equals,equals()定义在JDK的Object.java中。 1.3、对于基本类型的包装类型,是重写了equals方法的,所以比较的也是内容 2、HashCode() hashC原创 2021-12-14 14:32:18 · 482 阅读 · 0 评论 -
JAVA虚拟机内存和GC
JAVA虚拟机内存和GC 一、Java中的堆和栈 堆和栈都是内存中的一部分,一个程序需要在这片区域上分配内存。众所周知,所有的Java程序都运行在JVM虚拟机内部,我们这里介绍的自然是JVM(虚拟)内存中的堆和栈。 1、堆和栈的区别 1.1、栈内存用来存储局部变量和方法调用。 1.2、堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。 2、独有还是共享 栈内存归属于单个线程,每个线程都会有一个栈内存,其存储的变量只能在其所属线程中可见,即栈内存可以理解成线原创 2021-12-10 17:28:07 · 366 阅读 · 0 评论