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

国外网站怎么推广国外比较有名的设计工作室网站

国外网站怎么推广,国外比较有名的设计工作室网站,建设多用户网站,wordpress登陆不进去Java四种引用类型在java中#xff0c;类型就分为两种#xff0c;基本类型和引用类型或自定义类型。引用类型又分为四种#xff1a;强引用 StrongReference软引用 SoftReference若引用 WeakReference虚引用 PhantomReference划分这些类型的目的是#xff1a;是为了更灵活的管…Java四种引用类型在java中类型就分为两种基本类型和引用类型或自定义类型。引用类型又分为四种强引用 StrongReference软引用 SoftReference若引用 WeakReference虚引用 PhantomReference划分这些类型的目的是是为了更灵活的管理对象的生命周期让垃圾器在最合适的时间适合回收对象常见使用的场景是在缓存的实现比如elasticsearch在载入数据到缓存时可以选择SoftReference作为缓存的生命周期在对象池组件common-pool中也利用到SoftReference管理对象池的对象生命周期。虽然我们在实际业务中很少有用到这些知识但是很有必要了解到这些去帮助我们去做些程序性能优化。强引用强引用就是直接引用对象比如下面这样我们在编写程序时用到的大多都是强引用StringBuffer b1 new StringBuffer(hello world);强引用对象当垃圾回收进行时不会被回收及时通过b1 null;释放引用在资源充足时也不会被垃圾回收立刻回收。如果内存吃紧Java虚拟机会抛出OutOfMemoryError错误使程序异常终止不会靠随意回收具有强引用的对象来解决内存不足的问题。软引用SoftReference softReference new SoftReference(new StringBuffer(hello world));System.gc();System.out.print(softReference.get()); // 只有当内存吃紧时发生gc后会报Exception in thread main java.lang.NullPointerException软引用的生命周期会比强引用弱点在内存空间足够时垃圾回收器就不会回收它如果内存空间不足了就会回收这些对象的内存。只要垃圾回收器没有回收它该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。它也经常和ReferenceQueue配合使用如果gc在回收掉引用对象后会把保存引用对象的softReference送入队列这时可以通过下面这行代码判断是否被回收。// 创建softReference并提供给注册队列ReferenceQueue referenceQueue new ReferenceQueue();SoftReference softReference new SoftReference(new StringBuffer(hello world),referenceQueue);// 判断入队列来判断是否被回收或直接判断softReference.get() nullsoftReference.get() null || softReference.enqueue()另外也可以手动清除这些保存引用对象的reference对象Reference ref;while ((ref referenceQueue.poll()) ! null) {// poll出即清除也不必手动清除等待gc清除}使用案列common-pool2的SoftReferenceObjectPool用于实现一种可以随着需要而增长的池对象管理当gc时可以清除空闲的实例。下面是common-pool2的部分代码具体可以参照其里面的SoftReferenceObjectPool类Overridepublic synchronized void addObject() throws Exception {assertOpen();if (factory null) {throw new IllegalStateException(Cannot add objects without a factory.);}T obj factory.makeObject().getObject();createCount;// Create and register with the queuePooledSoftReference ref new PooledSoftReference(new SoftReference(obj, refQueue));allReferences.add(ref);boolean success true;if (!factory.validateObject(ref)) {success false;} else {factory.passivateObject(ref);}boolean shouldDestroy !success;if (success) {idleReferences.add(ref);notifyAll(); // numActive has changed}if (shouldDestroy) {try {destroy(ref);} catch (Exception e) {// ignored}}Overridepublic synchronized void returnObject(T obj) throws Exception {boolean success !isClosed();final PooledSoftReference ref findReference(obj);if (ref null) {throw new IllegalStateException(Returned object not currently part of this pool);}if (factory ! null) {if (!factory.validateObject(ref)) {success false;} else {try {factory.passivateObject(ref);} catch (Exception e) {success false;}}}boolean shouldDestroy !success;numActive--;if (success) {// Deallocate and add to the idle instance poolref.deallocate();idleReferences.add(ref);}notifyAll(); // numActive has changedif (shouldDestroy factory ! null) {try {destroy(ref);} catch (Exception e) {// ignored}}}弱引用WeakReference weakReference new WeakReference(new StringBuffer(hello world));WeakReference weakReference2 new WeakReference(new StringBuffer(hello world));System.out.print(weakReference.get()); // hello worldStringBuffer buffer weakReference2.get();System.gc();System.out.print(weakReference.get()); // Exception in thread main java.lang.NullPointerExceptionSystem.out.print(weakReference2.get()); // hello world弱引用会在发生gc时没有对象在去引用时会被立刻被回收不管内存是否充裕。使用案列WeakHashMap虚引用ReferenceQueue stringBufferReferenceQueue new ReferenceQueue();PhantomReference phantomReference new PhantomReference(new StringBuffer(hello world), stringBufferReferenceQueue);System.out.print(phantomReference.get());Exception in thread main java.lang.NullPointerException虚引用不顾是否被垃圾回收都不可以拿到真正的引用对象。一般用法是程序可以通过判断引用队列中是否已经加入了虚引用来了解被引用的对象是否将要被垃圾回收。如果程序发现某个虚引用已经被加入到引用队列那么就可以在所引用的对象的内存被回收之前采取必要的行动。具体Demo代码请参照ReferenceDemo
http://www.zqtcl.cn/news/666851/

相关文章:

  • 郑州专业做网站的公司今天郑州最新通告
  • wap网站引导页特效wordpress 文章 数据库
  • 做建筑效果图最好的网站做网站是如果盈利的
  • 企业网站seo托管怎么做seo公司培训
  • 自己做网站不想买空间 自己电脑可以做服务器吗?下载建设网站软件
  • 有服务器自己怎么做网站百度广告电话号码是多少
  • 一个网站 两个数据库沈阳市住房和城乡建设厅网站
  • 重庆建站网站流程及费用制作网页界面工具
  • 设计师家园官网wordpress 4.9 优化
  • 主机屋空间安装织梦后台程序后怎么弄成淘宝客网站襄阳网站制作
  • 怎么建设分销模式手机网站宜昌做网站的公司
  • 网上商城网站设计网页设计作业欣赏
  • 育才网站建设网站访问慢原因
  • 网站建设方案 备案品牌网站推广软件
  • 桓台县建设局网站前端开发入门培训
  • 前端怎么在猪八戒网站接单做烟台网站开发技术
  • 济南烨铭网站建设做英文网站2014
  • 哪个餐饮店微网站做的有特色3d动画制作收费标准
  • h5旅游网站开发wordpress的站点地址如何配置
  • 网站正在维护中 模板招远网站建设
  • 福田欧曼银河报价seo文章是什么
  • 古云网站建设模具培训网站建设
  • 帮助企业做网站的销售卫浴洁具公司网站模板
  • 解释seo网站推广网站域名和空间费用
  • 深圳市珠宝网站建设手机网站框架
  • 晋城推广型网站开发dw做网站模板
  • 万网一个ip建立多个网站网页设计注册页面代码
  • 网站建设6000元地方门户网站有哪些
  • 十大SEO网站外链建设误区排版设计教程入门初学者
  • 网站基本维护网站设计软件下载