首页 > 系统相关 >java轻型内存队列处理demo

java轻型内存队列处理demo

时间:2023-05-31 11:24:23浏览次数:36  
标签:conList java demo void static 内存 new public ConcurrentLinkedQueueUtils

java轻型内存队列处理demo

@Component public class ConcurrentLinkedQueueUtils { static AtpLogBiz atpLogBiz; static AuditLogtTmpDataService auditLogDataService; static ConcurrentLinkedQueue conList = new ConcurrentLinkedQueue(); private static volatile Boolean CLEAN_THREAD_IS_RUN = false; @Autowired public ConcurrentLinkedQueueUtils(AuditLogtTmpDataService client,AtpLogBiz biz) { ConcurrentLinkedQueueUtils.auditLogDataService = client; ConcurrentLinkedQueueUtils.atpLogBiz = biz; ConcurrentLinkedQueueUtils.startCleanThread(); } public static void addNode(AddAtpLogReq node) { conList.offer(node); } public static void handleNode() { List<AuditLogModel> auditList = new ArrayList<>(); while (!conList.isEmpty()) { AddAtpLogReq atpLogReq = (AddAtpLogReq) conList.poll(); //处理逻辑 } private static AuditLogModel convertErrorLog(AddAtpLogReq atpLogReq) { } public static void startCleanThread() { if (!CLEAN_THREAD_IS_RUN) { CleanLinkedNode cleanTimeOutThread = new CleanLinkedNode(); Thread thread = new Thread(cleanTimeOutThread); //设置为后台守护线程 thread.setDaemon(true); thread.start(); } } static void setCleanThreadRun() { CLEAN_THREAD_IS_RUN = true; } } /** * 每一分钟清理一次过时缓存 */ class CleanLinkedNode implements Runnable{ @Override public void run() { while (true) { ConcurrentLinkedQueueUtils.setCleanThreadRun(); ConcurrentLinkedQueueUtils.handleNode(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }

  

标签:conList,java,demo,void,static,内存,new,public,ConcurrentLinkedQueueUtils
From: https://www.cnblogs.com/wangyu19900123/p/17445543.html

相关文章

  • java中属性和局部变量的作用域
    1.类中的属性和局部变量可以重名,访问时遵循就近原则2.在同一个作用域中({}大括号括起来的),如在一个成员方法中,两个局部变量不能重名3.属性的生命周期长,随着对象的创建而创建,随着对象的销毁而销毁;局部变量的生命周期短,随着它所属的代码块执行而创建,随着代码快的结束而销毁。......
  • java同步mysql的数据到PostgreSQL时报错ERROR: invalid byte sequence for encoding "
    最近,同事在做一个功能,通过java程序将mysql中的一张表的数据同步到pgsql中,在同步过程中,插入到pgsql中出现了如下错误:`###Errorupdatingdatabase.Cause:org.postgresql.util.PSQLException:ERROR:invalidbytesequenceforencoding"UTF8":0x00在位置:unnamedportalpa......
  • valgrind查看内存泄漏
    一、valgrind安装在线安装红帽系:yuminstallvalgrind得班系:apt-getinstallvalgrind离线安装valgrind下载:http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2valgrind安装:1.tar-jxvfvalgrind-3.12.0.tar.bz22.cdvalgrind-3.12.03../configure4.make5.m......
  • java modbus_rtu串口通讯
    基于modbus和串口通讯的Java分享本文推荐一个简单好用java实现基于modbus—rtu协议通讯方法:如果采用非标准modbus协议通讯,可以查看我的这篇博文:java实现串口通讯关于modbus的java开源库主要有以下四种:Jamod:JavaModbus实现:JavaModbus库。该库由DieterWimberger实施。Mod......
  • Java 删除某个目录下面所有的文件
    Java删除某个目录下面所有的文件 FilecodeDir=newFile("C:\\111111");deleteContents(codeDir);//删除111111目录下面所有内容,但不删除111111这个目录deleteContentsAndDir(codeDir);//删除111111目录下面所有内容,最后将111111这个......
  • java开发jwt示例
    pom文件引入<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.1</version></dependency>......
  • Java中泛型详解,非常详细
    前言在前面的几篇文章中,详细地给大家介绍了Java里的集合。但在介绍集合时,我们涉及到了泛型的概念却并没有详细学习,所以今天我们要花点时间给大家专门讲解什么是泛型、泛型的作用、用法、特点等内容。有些粉丝朋友,在之前就一直很好奇,比如List<String>中的<String>部分到底......
  • java实现泛型加法
    之前实践中实现数据的加法,很繁琐,比如下面,每一种类型都要写一遍,能不能用泛型方法实现呢?publicLonggetSum(Long...args){longinit=0L;for(Longarg:args){if(arg==null){arg=0L;}ini......
  • java 对象字段名转化——@SerializedName
    有时调用第三方接口返回的字段名和我们接收对象字段名不一致或不规范,可以使用@SerializedName这个注解进行转换;直接上代码:@DatapublicclassxxxVo{//将别名product_name转为productName@SerializedName("product_name")privateStringproductName;......
  • java中线程的启动方式
     1.继承Thread类重写run方法publicclassTreadTest01extendsThread{@SneakyThrows@Overridepublicvoidrun(){for(inti=0;i<100;i++){Thread.sleep(100);System.out.println(Thread.currentThread().getNam......