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

网站发布平台上海比较大的优化公司

网站发布平台,上海比较大的优化公司,北仑建网站价格,外贸公司的简介100字Two Phase Termination设计模式是针对任务由两个环节组成,第一个环节是处理业务相关的内容,第二个阶段是处理任务结束时的同步、释放资源等操作。在进行两阶段终结的时候,需要考虑: 第二阶段终止操作必须保证线程安全。 要百分百…

    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 ReferenceQueue<Object> queue=new 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 PhantomReference<Object>{
private final Socket socket;Tracker(Socket socket, ReferenceQueue<? super Object> queue){
super(socket,queue);
this.socket=socket;
}public void close() {
try {
this.socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}}

http://www.hkea.cn/news/986397/

相关文章:

  • 移动网站虚拟主机seo 排名 优化
  • 专业网站建设课程网站推广优化方式
  • 适合站长做的网站信息流广告投放工作内容
  • 做健身网站步骤网站建设网络公司
  • 武汉整站seo数据上云网站关键词优化怎么做的
  • 网站尾部网络seo推广
  • 建设一个公司网站需要什么知识网站网络推广优化
  • 政府高度重视网站建设怎么做网络推广
  • 自己做的网站是怎么赚钱免费ip地址网站
  • 郑州市政府网站集约化建设计划企业seo排名外包
  • 什么网站可以免费做护师题企业网站管理系统源码
  • 青岛专业餐饮网站制作国内搜索引擎排行榜
  • 域名有哪些seo站长之家
  • 建设网站有哪些关键词制作软件
  • 视频网站怎么制作网店推广的作用是什么
  • 网站栏目怎么做单独的搜索框云南疫情最新消息
  • 独立商城b2c电商网站开发合肥百度seo代理
  • 做购物网站需不需要交税费郑州网站托管
  • 是不是做网站就能赚钱谷歌seo关键词优化
  • 萝岗门户网站建设今日重大新闻头条财经
  • 个人相册网站模板怎么把网站排名排上去
  • 建设外贸网站案例统计站老站长推荐草莓
  • 1688网站的特点全网营销系统
  • 西安做网站企业网址怎么申请
  • 专业网站建设品牌百度指数里的资讯指数是什么
  • 做网站规避什么网站制作
  • 网站开发工作方案2022拉人头最暴利的app
  • 网站建设好还是阿里巴巴好磁力猫torrent kitty
  • wordpress跨域访问前端优化网站
  • 住房和城乡建设部网站买卖合同北京中文seo