Wesley13 Wesley13
3年前
JAVA优化篇 如何从茫茫日志中找到运行缓慢的线程
引入  JAVA提供了一些分析DUMP的工具,比如jmap,visualvm等  JAVA还有寻找线程状态的工具,jstack等  数据库也有检查连接数,连接状态的命令,status,processlist等  代码中也可以添加一些时间的信息,对比信息发现可优化的地方  但这些都不是今天要记录的内容,今天要做的是使用一个比较
Wesley13 Wesley13
3年前
Java中枚举的线程安全性及序列化问题
JavaSE5提供了一种新的类型Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是一种非常有用的功能。本文将深入分析枚举的源码,看一看枚举是怎么实现的,他是如何保证线程安全的,以及为什么用枚举实现的单例是最好的方式(https://www.oschina.net/act
Easter79 Easter79
3年前
Task.Factory.StartNew多线程中将数值实时传递到UI显示
privatevoidbutton1_Click(objectsender,EventArgse){Taskt1Task.Factory.StartNew(()k1());Taskt2Task.Factory.StartNe
Stella981 Stella981
3年前
Netty API通读
对手新手而言,莫过于项学习一个框架,但是苦于框架的API一点都不认识,看别人写代码,又看不懂,真痛苦。本节就列举一下Netty的API:线程组:NioEventLoopGroup 【 https://www.cnblogs.com/myitnews/p/12212796.html(https://www.oschina.net/acti
Wesley13 Wesley13
3年前
Java中线程的run()方法和start()方法有什么区别?
    欢迎大家关注我的公众号,有问题可以及时和我交流。!image.png(https://imgblog.csdnimg.cn/img_convert/a13e22617c4ab3a5728881d0336e5bb8.png)    由于Java是支持单继承的(接口除外),所以我们普遍启动线程的方式都是实现Runnable接口并重写run()
Stella981 Stella981
3年前
SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean
  最近在做一个“温湿度控制”的项目,项目要求通过用户设定的温湿度数值和实时采集到的数值进行比对分析,因为数据的对比与分析是一个通过前端页面控制的定时任务,经理要求在用户开启定时任务时,单独开启一个线程进行数据的对比分析,并将采集到的温湿度数值存入数据库中的历史数据表,按照我们正常的逻辑应该是用户在请求开启定时任务时,前端页面通过调用后端接口,创建一个新的线
Wesley13 Wesley13
3年前
Java并发(基础知识)—— 创建、运行以及停止一个线程
在计算机世界,当人们谈到并发时,它的意思是一系列的任务在计算机中同时执行。如果计算机有多个处理器或者多核处理器,那么这个同时性是真实发生的;如果计算机只有一个核心处理器那么就只是表面现象。现代所有的操作系统都允许并发地执行任务。你可以在听音乐和浏览网页新闻的同时阅读邮件,我们说这种并发是进程级别的并发。而且在同一进程内,也会同时有多种任务,这些在同一
Easter79 Easter79
3年前
SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean
  最近在做一个“温湿度控制”的项目,项目要求通过用户设定的温湿度数值和实时采集到的数值进行比对分析,因为数据的对比与分析是一个通过前端页面控制的定时任务,经理要求在用户开启定时任务时,单独开启一个线程进行数据的对比分析,并将采集到的温湿度数值存入数据库中的历史数据表,按照我们正常的逻辑应该是用户在请求开启定时任务时,前端页面通过调用后端接口,创建一个新的线
Wesley13 Wesley13
3年前
Java多线程导致的的一个事物性问题
业务场景我们现在有一个类似于文件上传的功能,各个子站点接受业务,业务上传文件,各个子站点的文件需要提交到总站点保存,文件是按批次提交到总站点的,也就是说,一个批次下面约有几百个文件。      考虑到白天提交这么多文件会影响到子站点其他系统带宽,我们将分站点的文件提交到总站点这个操作过程独立出来,放到晚上来做,具体时间是晚上7:00到早上7:00。