当前位置: 首页 > news >正文

做关于卖宠物饲料网站有什么名字吗全程营销网站建设公司

做关于卖宠物饲料网站有什么名字吗,全程营销网站建设公司,旅游网站建设的详细方案,绿色网站模板大全Java 中都有哪些引用类型#xff1f; 强引用 在 Java 中最常见的就是强引用#xff0c;把一个对象赋给一个引用变量#xff0c;这个引用变量就是一个强引用。当一个对象被强引用变量引用时#xff0c;它处于可达状态#xff0c;它是不可能被垃圾回收机制回收的。因此强引…Java 中都有哪些引用类型 强引用 在 Java 中最常见的就是强引用把一个对象赋给一个引用变量这个引用变量就是一个强引用。当一个对象被强引用变量引用时它处于可达状态它是不可能被垃圾回收机制回收的。因此强引用是造成 Java 内存泄漏的主要原因之一。 Object obj new Object(); //只要obj还指向Object对象Object对象就不会被回收 obj null; //手动置null 只要强引用存在垃圾回收器将永远不会回收被引用的对象哪怕内存不足时JVM也会直接抛出OutOfMemoryError不会去回收。如果想中断强引用与对象之间的联系可以显示的将强引用赋值为null这样一来JVM就可以适时的回收对象了 软引用 软引用是用来描述一些非必需但仍有用的对象。在内存足够的时候软引用对象不会被回收只有在内存不足时系统则会回收软引用对象如果回收了软引用对象之后仍然没有足够的内存才会抛出内存溢出异常。这种特性常常被用来实现缓存技术比如网页缓存图片缓存等。 在 JDK1.2 之后用java.lang.ref.SoftReference类来表示软引用。 在运行下面的Java代码之前需要先配置参数 -Xms2M -Xmx3M将 JVM 的初始内存设为2M最大可用内存为 3M。 public class TestOOM {private static ListObject list new ArrayList();public static void main(String[] args) {testSoftReference();}private static void testSoftReference() {for (int i 0; i 10; i) {byte[] buff new byte[1024 * 1024];SoftReferencebyte[] sr new SoftReference(buff);list.add(sr);}System.gc(); //主动通知垃圾回收for(int i0; i list.size(); i){Object obj ((SoftReference) list.get(i)).get();System.out.println(obj);}}} 打印结果 我们发现无论循环创建多少个软引用对象打印结果总是只有最后一个对象被保留其他的obj全都被置空回收了。 这里就说明了在内存不足的情况下软引用将会被自动回收。 弱引用 弱引用需要用 WeakReference 类来实现它比软引用的生存期更短对于只有弱引用的对象来说只要垃圾回收机制一运行不管 JVM 的内存空间是否足够总会回收该对象占用的内存。 private static void testWeakReference() {for (int i 0; i 10; i) {byte[] buff new byte[1024 * 1024];WeakReferencebyte[] sr new WeakReference(buff);list.add(sr);}System.gc(); //主动通知垃圾回收for(int i0; i list.size(); i){Object obj ((WeakReference) list.get(i)).get();System.out.println(obj);}} 虚引用 虚引用Phantom Reference是Java中四种引用类型之一也是最弱的一种引用类型。虚引用的作用是帮助对象在被垃圾回收器回收时可以在回收之前进行必要的清理工作。虚引用并不能通过它访问对象本身也不能通过它访问对象的任何属性或方法因为它的get()方法总是返回null。虚引用主要用于管理堆外内存例如NIO Direct Memory中的内存。当虚引用所引用的对象被垃圾回收器回收时虚引用会被放入一个ReferenceQueue中以便在必要时进行清理工作。虚引用一般与ReferenceQueue一起使用通过检查ReferenceQueue中的引用对象可以确定对象已经被回收从而进行相关的清理工作。虚引用通常由java.lang.ref.PhantomReference类来实现。 public class PhantomReferenceT extends ReferenceT {/*** Returns this reference objects referent. Because the referent of a* phantom reference is always inaccessible, this method always returns* codenull/code.** return codenull/code*/public T get() {return null;}public PhantomReference(T referent, ReferenceQueue? super T q) {super(referent, q);} } 引用队列ReferenceQueue 引用队列ReferenceQueue是Java中用于管理引用对象的队列。当一个对象被垃圾回收器回收时如果该对象有一个与之关联的引用队列那么该引用对象就会被放入该引用队列中。通过引用队列可以确定对象是否被垃圾回收器回收从而进行相关的清理工作。 引用队列通常与弱引用、软引用和虚引用一起使用。当弱引用、软引用或虚引用所引用的对象被垃圾回收器回收时会将该引用对象放入与之关联的引用队列中。通过检查引用队列中的引用对象可以确定对象已经被回收从而进行必要的清理工作。 引用队列的使用非常灵活可以根据不同的需求来选择不同的引用类型和清理工作。例如对于一些需要进行资源释放的对象可以使用虚引用和引用队列来进行资源的清理工作。 骚戴理解注意引用队列并不可以和强引用一起使用与软引用、弱引用不同虚引用必须和引用队列一起使用。
http://www.hkea.cn/news/14381947/

相关文章:

  • 南阳网站推广爱客crm网页版
  • 能利用双股铜芯电话线做网站吗峰峰网站建设
  • 万互网站建站怎么免费建立自己的网站
  • 做快消品看那些网站好邹城网站建设公司
  • 上海公司网站制作wordpress 短信登录密码错误
  • 滨州网站建设sdshiya北京网页设计好的公司
  • 杭州 高端网站定制哪个网站可以代做试题
  • php+网站开发+pdf素材网下载
  • 平面设计师如何做网站济南营销型网站建设公司
  • 泉州市华泰建设工程有限公司网站乐清外贸网站建设
  • 网站返回指定位置怎么做简体转繁体wordpress插件
  • wordpress 默认站点投诉网站怎么做
  • 商城网站设计定制中级网站开发工程师 试题
  • 设计家官网室内设计视频网站页面优化分析
  • 青岛制作企业网站深圳中装建设集团网站
  • wordpress无法拖动小工具seo的最终是为了达到
  • 如何在建设银行网站预约纪念币深圳做h5网站
  • wordpress 附件目录网站建设优化排名推广
  • 电子商务网站开发工具九度互联网站推广公司
  • 手机开发和网站开发前景wordpress必装的插件
  • 北京门户网站制作中信建设有限责任公司董事长
  • 鞍山网站建设公司做新闻的网站怎样赚钱
  • 推荐几个设计网站网站没有域名设置
  • 网站内容与目录结构最好的看vr影片的设备是哪个
  • 网站建设的经验总结知道源码做网站
  • 购买idc网站服务器官方网站建设必要性
  • 南京一等一网站建设无极网络科技有限公司
  • 教育行业网站制作找人做一个小网站需要多少钱
  • 网站建设技术文案品牌型网站案例
  • 网站世界排名怎么做为什么建设银行网站打不开