关于在以次开发文件下载功能时学到的知识

在项目中做文件下载时的收获

1.SpringBoot的异步操作:

@Async

该注解用于在想要开启异步操作的类上添加,要想使该注解生效,还需在启动类加上下列注解

@EnableAsync //开启异步操作

添加该注解后
会生成 一个 默认线程池,使用该线程池去完成异步操作。

默认使用Spring创建ThreadPoolTaskExecutor。

默认核心线程数:8,

最大线程数:Integet.MAX_VALUE,

队列使用LinkedBlockingQueue,

容量是:Integet.MAX_VALUE,

空闲线程保留时间:60s,

线程池拒绝策略:AbortPolicy。

可能会出现的问题:
并发情况下,会无线创建线程

解决办法:自定义配置参数,或者自定义线程池
1.自定义线程池时,在注解@Async后添加(“myExecutor”)即可使用自己的线程池
“myExecutor” 为自己创建的线程池,
2.添加自定义参数,在SpringBoot中该注解默认只有一个线程池,在配置文件中添加如下参数。
.spring:
task:
execution:
pool:
max-size: 6
core-size: 3
keep-alive: 3s
queue-capacity: 1000
thread-name-prefix: name
这里各项参数作用不在赘述。
2.freemaker的简单操作

<#if townName?has_content>
         where  town_name in (
           <#list townName?split(",") as type>
                 '${type}'
                 <#if type_has_next>,</#if>
             </#list>
         )
      </#if>

这段代码,首先判断区名称是否为空,不为空的情况下,将区名称集合分隔成
单个的 类型
3.File类的一些知识
1.file.separator
其实 File.separator 的作用相当于 ’ \ ’

在 windows 中 文件文件分隔符 用 ’ \ ’ 或者 ’ / ’ 都可以

但是在 Linux 中,是不识别 ’ \ ’ 的,而 File.separator 是系统默认的文件分隔符号,在 UNIX 系统上,此字段的值为 ’ / ’

在 Microsoft Windows 系统上,它为 ’ \ ’ 屏蔽了这些系统的区别。

所以用 File.separator 保证了在任何系统下不会出错。

此外 File 类还有:

1、separatorChar

      与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符

2、pathSeparatorChar

      与系统有关的路径分隔符,为了方便,它被表示为一个字符串

3、pathSeparator

      此字符用于分隔以路径列表形式给定的文件序列中的文件名

      在 UNIX 系统上此字段为 ' : '

      在 Microsoft Windows 系统上,它为 ' ; ';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

neverう

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值