设置并行流最大线程数
做你自己,因为别人都有人做了。——王尔德 我们可以使用如下方式获取并行流线程数 并行流线程数获取 如果我们需要更改,则可以设置系统属性: 1System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "8"); 例如此处设置为8 则再次获取 可以看到是8个子线程+1个主线程,也就是9个线程 还可以使用ForkJoinPool.getCommonPoolParallelism()直接获取ForkJoinPool中允许设置的最大线程数
hutool-bom
一个能思想的人,才真是一个力量无边的人。——巴尔扎克 官方文档 我们在使用hutool时可以像如下方式引入单独引入所需模块: 123456789101112131415161718192021222324252627282930313233343536373839<?xml version="1.0" encoding="UTF-8"?><project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <properties> <hutool.versi...
子线程中获取request
在这个世界上,一切都预先被谅解了,一切也就被卑鄙地许可了。——《不能承受的生命之轻》 写一个接口,用于测试: 123456789101112131415161718192021222324252627import cn.hutool.core.thread.AsyncUtil;import javax.annotation.Resource;import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;import java.util.concurrent.CompletableFuture;@RestController@RequestMapping("test")public class TestController { @Resource private HttpServletRequest request; @GetMapping("request") public String ...
小程序v-for中slot警告
她把左手的命运交给了右手,右手犹豫了一下,还是接住了。——宫白云 今天用了这样一个组件: 1234567891011121314151617181920212223<template> <div> <div v-for="(item, index) in list"> <slot :item="item" /> </div> </div></template><script>export default { data() { return {}; }, props: { list: { type: Array, default: [] } }};</script><style></style> 这里在v-for中放了slot 所以我在另一个页面使用的时候,小程序警告 1VM1103 W...
SqlSession
被温柔对待以后,自己也想变得温柔。——《夏目友人帐》。 参照我这个PR 在Mybatis中SqlSession类比于我们在使用原生jdbc时的Connection对象,用完需要释放。。。 我之前写的忘记释放了,导致druid监控到大量连接未释放,连接池经常占满 所以改成这种方式了 我们使用后一定要调用SqlSession#close释放连接。。。 血的教训啊,因为忘记释放导致连接池泄露,愈发让我明白自己写代码还有很多要学
druid连接池泄露
才华是刀刃,辛苦是磨刀石,很锋利的刀刃,若日久未磨,依旧会成为废韧——老舍 当程序存在缺陷时,申请的连接忘记关闭,这时候,就存在连接泄漏了 我们使用druid时,可以配置如下参数进行用来关闭长时间不使用的连接 1234567891011121314151617181920212223242526272829303132333435spring: # 数据源配置 datasource: druid: # 统计监控信息 web-stat-filter: enabled: true # 可视化展示Druid的统计信息 stat-view-servlet: enabled: true filter: # sql注入 wall: enabled: true db-type: mysql slf4j: enabled: true statement-sql-pretty-format: t...
druid监控配置
你的道路是什么,老兄?乖孩子的路,疯子的路,五彩的路,浪荡子的路,任何的路。到底在什么地方,给什么人,怎么走呢?——杰克·凯鲁亚克《在路上》 项目地址:https://github.com/alibaba/druid/wiki 这和fastjson一样也是温绍写的 首先引入gav 12345<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid-version}</version></dependency> 我当前引入的版本是1.2.8 在配置文件中开启统计监控和可视化面板 123456789101112131415161718# 应用名称spring.application.name=simple-druid# 应用服务 WEB 访问端口server.port=8787# ...
for of和for in
人生而自由,却无往不在枷锁中——卢梭《社会契约论》 我之前写过一篇for in的博客 for in是遍历对象key或者数组下标 前端还可以使用for of来遍历value 简单写一下两者区别和使用方式吧: 12let ruben = {name:'ruben', age:21}for(key in ruben) console.log(key) 然后是for of 提示对象并不是iterable(可迭代的) 因此for of并不能遍历对象的key 接下来看数组的: 12let list = [1,2,3,4,5,6]for(i in list) console.log(i) 可以看到是遍历获取出了下标并不是实际的值 而for of: 12let list = [1,2,3,4,5,6]for(i of list) console.log(i) 遍历出了我们的value
获取两个list中相互不包含的部分
“走吧,去吃肉。”——《非正常死亡》 代码如下:提供了几种方法(自个写的) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465import java.util.*;import java.util.stream.Collectors;import java.util.stream.Stream;class Scratch { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); ...
uniapp对接oss视频上传+压缩
与其在绝望和挣扎中苟活,不如在希冀和盼望中死亡。——纪伯伦 首先是文件上传的代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899module.exports = { getUUID() { //生成UUID return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16) }) &...
