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

戴尔网站建设成功自建论坛

戴尔网站建设成功,自建论坛,个人网站设计图片,wordpress resizeTwo Phase Termination设计模式是针对任务由两个环节组成#xff0c;第一个环节是处理业务相关的内容#xff0c;第二个阶段是处理任务结束时的同步、释放资源等操作。在进行两阶段终结的时候#xff0c;需要考虑#xff1a; 第二阶段终止操作必须保证线程安全。 要百分百…    Two Phase Termination设计模式是针对任务由两个环节组成第一个环节是处理业务相关的内容第二个阶段是处理任务结束时的同步、释放资源等操作。在进行两阶段终结的时候需要考虑 第二阶段终止操作必须保证线程安全。 要百分百确保线程结束假设在第二阶段出现了死循环、阻塞等异常导致无法结束。 对资源的释放时间要控制在一个可控范围内。 两阶段模式更类似于一个线程使用技巧主要针对当线程生命周期结束时能有机会做一些资源释放工作。 强引用时平时使用最多的一种对象引用当一个对象引用被关键字new实例化出来时JVM会在堆内存中开辟一个内存区域用于存放与该实例对应的数据结构。JVM的GC线程会在达到GC条件时尝试回收堆栈内存中的数据。强引用的特点是只要引用到ROOT根的路径可达无论怎么GC都不会将其释放宁可出现JVM内存溢出。 LRU最近最少使用算法和Cache结合是最常见的一种Cache实现。LRU是一种数据冷热治理的思想不经常使用数据称为冷数据经常使用的数据称为热数据对冷数据分配很少的资源或者提前释放可以帮助节省更多的内存资源。 强引用LRU在频繁增加大容量的强引用时容易导致JVM内存溢出。当JVM检测到内存即将溢出它会尝试GC软类型的引用。如果软类型的引用在操作频率超过GC的频率那么也会导致JVM内存溢出但是这种情况比较少。无论发生什么样的GC弱引用都会被垃圾回收器回收弱引用可以用来做Cache。无论是软类型的引用还是弱类型的引用被垃圾回收器回收后都会被存放到与之对应的引用队列中。 Phantom Reference幻影引用与软引用、弱引用的不同之处 Phantom Reference必须与ReferenceQueue配合使用 幻影引用的get方法返回的始终是null 当垃圾回收器决定回收幻影引用对象的时候会将其插入关联的ReferenceQueue中 使用幻影引用进行清理动作要比Object的finalize方法更灵活。 一段样例代码展示两阶段设计模式不可运行仅供参考 import java.io.IOException; import java.net.Socket;public class TwoPhaseTerminationSample extends Thread{ Socket socket;Override public void run() { try { //this.chat(); }catch(Exception e) { e.printStackTrace(); }finally { release(); } }private void release() { if(socket!null) { try { socket.close(); } catch (IOException e) { if(socket!null) { SocketCleaningTracker.track(socket); } } } } } import java.io.IOException; import java.lang.ref.PhantomReference; import java.lang.ref.ReferenceQueue; import java.net.Socket;public class SocketCleaningTracker { private static final ReferenceQueueObject queuenew ReferenceQueue();static { new Cleaner().start(); }public static void track(Socket socket) { new Tracker(socket,queue); }private static class Cleaner extends Thread{private Cleaner() { super(SocketCleaningTracker); this.setDaemon(true); }Override public void run() { for(;;) { try { Tracker tracker(Tracker)queue.remove(); tracker.close(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}private static class Tracker extends PhantomReferenceObject{ private final Socket socket;Tracker(Socket socket, ReferenceQueue? super Object queue){ super(socket,queue); this.socketsocket; }public void close() { try { this.socket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}}
http://www.w-s-a.com/news/841383/

相关文章:

  • 潍坊中企动力做的网站怎么样wordpress接入微博
  • 网站开发者所有权归属网站项目建设的必要性
  • 菜鸟网站编程广州网站设计权威乐云践新
  • 网站做接口到app 价格大地资源免费视频观看
  • 怎么给钓鱼网站做防红网站建设相关的
  • 教育培训的网站建设湖南网站建设小公司
  • 福建南平网站建设创意交易平台网
  • 做直播网站要哪些技术内容营销理论
  • 价格划算的网站开发怎么找有赞做网站
  • 做网站店铺图片用什么软件网络营销方案格式
  • 做外贸要自己建网站吗有效的网络营销方式
  • 精通网站开发书籍做网站获取手机号码
  • 论坛做视频网站有哪些济南新站seo外包
  • 哪类型网站容易做冷水滩做微网站
  • 搭建企业网站流程保定徐水网站建设
  • 建设单位到江川区住房和城乡建设局网站伦敦 wordpress 设计
  • 响应式网站的服务麦德龙网站建设目标
  • 做国外单的网站叫什么海南省海口市网站建设
  • 杭州响应式网站案例wordpress5.2.2
  • 网站建设运营维护合同wordpress资源搜索插件
  • 国外网站流量查询东莞网站建设教程
  • 餐饮类网站建设达到的作用东莞工程建设交易中心网
  • 网站设计 知识产权湖北网站建设xiduyun
  • 猫咪网站模版下载中国风 古典 红色 网站源代码
  • 个人网站备案模板制作网站首页
  • 潍坊正规建设网站网站建设设计作业
  • 推荐一下网站谢谢辽宁住房城乡建设部官方网站
  • 网站文件大小英选 网站开发
  • 济南建网站哪家好wordpress编辑器排行
  • 在福州做搬家网站多少钱画册设计网站有哪些