首页 > 其他分享 >每日一记

每日一记

时间:2023-12-29 13:34:41浏览次数:19  
标签:int 每日 private 一记 线程 Value executor 注解

每日一记

  • @Async 使用
  • jwt
  • MySQL的int(1) 与 int(20)

@Async 使用

基本介绍

​ 是spring的注解,用于方法和类,加了这个注解后,那么在使用该类/方法时,会创建一个新的线程去执行,即实现多线程。

使用流程

  1. 在启动类或者含有@configuration注解的类上,添加@EnableAsync注解。
  2. 在方法/类上添加@Async即可

使用细节

  • 线程池的任务执行顺序:

    注意:默认使用spring的线程池---SimpleAsyncTaskExecutor

  • 如何创建线程池:

    1. 重新实现接口AsyncConfigurer
    2. 继承AsyncConfigurerSupport
    3. 配置由自定义的TaskExecutor代替内置的任务执行器(文末介绍如何实现)
  • 该注解失效原因:

    1. 使用该注解的方法非public
    2. 注解返回值只能是void 或 future
    3. 方法有static修饰
    4. 启动类没加@EnableAsync
    5. 在使用该注解的方法上写@Transactional是无效的,但在该方法所调用的其他方法上加@Transactional是有效的。

jwt

简答介绍

​ 全名:JSON Web Token。是一种开放标准,常用于身份验证及授权。

​ 组成:Header(token 类型 及 算法名称) + Payload(包含的信息) + Signature(保信息传递过程中不被更改)

使用(不进行细节介绍,网上代码很多);

MySQL的int(1) 与 int(20)

这里做一下区分:

​ 主要是零填充,括号里的数字是数字的位数,如果达不到,就在左侧填充数字0;

exp :
对于int(1) 和 int(4) 来说
如果保存12;
那么int(1) 的效果是 12
而 int(4) 的效果是 0012
@Configuration
public class AsyncConfig {

    @Value("比较推荐从配置里读")
    private Integer queueSize;
    
    @Value("从配置里读")
    private Integer coreSize;
    
    @Value("从配置里读")
    private Integer maxSize;
    
    @Value("从配置里读")
    private Integer keepAlive;
    
    @Value("从配置里读")
    private String threadNamePrefix;
    
    public Executor asyncExecutor(){
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(coreSize); // 核心线程数量
        executor.setMaxPoolSize(maxSize); // 线程最大数量(包括非核心线程数量)
        executor.setKeepAliveSeconds(keepAlive); // 非核心线程存活时间 单位 s
        executor.setQueueCapacity(queueSize); // 任务队列的长度
        executor.setThreadNamePrefix(threadNamePrefix); // 线程名字的前缀,方便观察和查找
        return executor;
    }
}

标签:int,每日,private,一记,线程,Value,executor,注解
From: https://www.cnblogs.com/strind/p/17934683.html

相关文章

  • 每日总结12.28
    今天上午的软件需求分析课上老师讲了未来软件工程师的就业规划下午继续去完成绩效考核的系统原型职业发展路线参考——软件技术特点:善于独立思考,做事谨慎细致,热衷于专研技术及其创新,对新技术敏感,技术涉面广。属专业技术人才。准备:努力专研技术,紧跟行业动向,深入研究,掌握精髓,做到......
  • 2023.12.28——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.ERP明日计划:学习......
  • 12.28每日总结
    redis测试:redisTestimportjava.util.Map;importredis.clients.jedis.Jedis;publicclassredisTest{/***@paramargs*/publicstaticJedisjedis;publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubj......
  • 每日一记
    StopWatch计算代码耗时如何解决MySQL主从延时BeanUtils.copyPropertiesStopWatch计算代码耗时来自:org.springframework.util.StopWatch;publicstaticvoidmain(String[]args)throwsInterruptedException{StopWatchstopWatch=newStopWatch();st......
  • 12.28每日总结2
    今天下午接着写软件企业文化的大作业市场推广 确定目标市场:首先,你需要确定你的目标市场是谁。考虑该技术最适合哪些行业或领域,并了解这些市场的需求和痛点。深入了解竞争环境:研究类似的软件技术是否已经存在,了解竞争对手的优势和劣势。这有助于你们找到与众不同的竞争优势,并确......
  • 每日总结2023年12月28日
    昨天提交了一个软件构造的大作业,其中要求实现翻译功能和图像识别功能在web上进行开发,其中我遇到了许多问题。1.在设计前端页面时我使用的是html,在进行前后端数据传输时采用异步请求,用的fetch技术和Ajax技术。2.后端框架采用的是JFinal,使用JFinal自带的分页功能和service源码和Co......
  • 每日博客
    ASP.NET是一种用于构建Web应用程序的开发框架,它支持多种编程语言,如C#、VB.NET等。以下是一般的ASP.NET网站开发步骤:明确需求:在开始开发之前,首先需要明确项目的需求和目标。了解用户需求、功能要求以及预期的网站特性是成功开发的基础。选择开发工具和环境:选择合适的开发工......
  • 12.27每日总结
    using System; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实验1_1 {     class Program     {         static void Main(string[]args)         { ......
  • 11.27每日总结
    今日完成所有大作业实验  实验一:百度机器翻译SDK实验一、实验要求实验一:百度机器翻译SDK实验(2023.11.29日完成)  任务一:下载配置百度翻译Java相关库及环境(占10%)。    任务二:了解百度翻译相关功能并进行总结,包括文本翻译-通用版和文本翻译-词典版(占20%)。    ......
  • 2023.12.26——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软件案例分析明日计划:学习......