
java基础
文章平均质量分 62
afeng__de
这个作者很懒,什么都没留下…
展开
-
java对象内存回收
java的垃圾回收是由jvm自身决定的java的对象是由jvm(java虚拟机)自动回收的,对程序员来说是不可控的,我们能控制的就是告诉jvm哪些对象需要回收,哪些对象不要回收。用处是:不要让对象在内存中被频繁销毁和创建,影响性能java对象从垃圾回收角度看的三种状态对象被强引用时,jvm不会回收对象在内存的空间,直到对象失去引用,jvm回收对象前会调用对象的finalize方法(Object的方法,每个类都可以重写),finalize方法没有重新引用对象后,jvm才会回收对象jvm触发回收原创 2021-03-14 15:21:46 · 2132 阅读 · 0 评论 -
我对hashcode的理解
hashcode有什么用每个java对象都有一个hashcode,并且这个hashcode需要和equal()方法保持一致,使用hashcode是为了让hashmap、hashset等等这些数据结构提高效率的。拿hashmap做个例子,每个存入hashmap的key不能重复。如果hashmap里面已经有100个元素了,那第101个元素要存进去时,就得和前100个元素进行比较,有相同的就不存进去,没有相同的就存进去,效率太低了。而hashcode可以对应着元素在hashmap中的一个地址(跟内存地址无原创 2021-03-07 17:26:57 · 207 阅读 · 0 评论 -
java基础——transient关键字
transient关键字的作用简单的说,就是在对象的一个属性前添加这个关键字,对象在序列化时,这个属性就不会被序列化。比如说,一个对象存储了很多信息,要传输给别人,让别人去调用,但是对象里面有一两个需要保密的属性,在这些属性前添加transient,就不会被传输过去。序列化是什么一般来说,java对象会随着程序运行结束被销毁,如果想将一个对象保存下来就可以使用序列化,让对象以字节流的形式进行保存,可以将java对象保存在本地硬盘中。为什么要序列化除了将对象保存在硬盘中外,序列化主要的作用是让jav原创 2021-03-06 10:54:08 · 133 阅读 · 0 评论