03 2022 档案
摘要:背景 每个人在每个分支中会有多次提交记录,去重只取一次名字。 uniq和sort -u两种去重方法区别 uniq会删除连续出现的重复记录,若没有连续出现,则不会删除。 sort -u会先排序再删除连续出现的重复记录,因此不会有遗漏。 举例: 对于文件test jason jason fffff ja
阅读全文
摘要:format后参数含义 参数 含义 %H 提交对象(commit)的完整哈希字串 %h 提交对象的简短哈希字串 %T 树对象(tree)的完整哈希字串 %t 树对象的简短哈希字串 %P 父对象(parent)的完整哈希字串 %p 父对象的简短哈希字串 %an 作者(author)的名字 %ae 作者
阅读全文
摘要:背景 pwd |awk -F '/' '{print "["$NF"]:\t"}' 各命令含义 pwd:获取当前目录 | :以管道传输到后面命令 awk:逐行读取文本,默认通过空格和tab键分隔,将分隔所得的各个字段保存到内建变量中,按模式或条件执行编辑命令 -F /:以 ’/’ 分开域 $NF 表
阅读全文
摘要:背景 修改文件权限常用命令chmod 777 文件或目录 777含义 3个7对应用户 操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。 最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值。 所以,chmod 777中,三个数字7分别对应上面三
阅读全文
摘要:变量 使用变量 使用一个定义过的变量,只要在变量名前面加美元符号 $ 即可。 变量名外面的花括号帮助解释器识别变量的边界。 for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done 删除变量 unse
阅读全文
摘要:背景 LoadingCache是GuavaCache构建缓存实体的方法,是一个支持多线程并发读写、高性能、通用的in-heap(堆)本地缓存。 支持key不存在时按照给定的CacheLoader 的loader方法进行loading。如果有多个线程同时get一个不存在的key,那么会有一个线程负责l
阅读全文
摘要:背景 刷新缓存时会有线程被阻塞。为避免阻塞用户线程,把刷新线程放到后台执行。 当key过期,有新用户读取cache时,开启一个新线程去load数据库数据,用户线程返回老的值。 因此需要添加一个线程池来刷新cache。 线程池的学习与使用 ThreadPoolExecutor类 ThreadPoolE
阅读全文
摘要:背景 与前端交互时id通常为字符串,需要转成Long类型存入数据库 方法 转成数组 Long[] nums = (Long[]) ConvertUtils.convert(ids.spilt(","), Long.class); 转成列表 List<Long> nums = Arrays.strea
阅读全文
摘要:说明 InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法。 凡是继承该接口的类,在初始化bean的时候会执行该方法。 与配置文件中init-method的区别 在初始化bean时,先调用afterPropertiesSet方法,然后
阅读全文
摘要:说明 @PostConstruct被用来修饰一个非静态的void()方法。 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。 PostConstruct在构造函数之后执行,init()方法之前执行。 执行顺序 该注解的方法在整个Bean初始化
阅读全文
摘要:Stack类 public class stack<E> extends Vector<E> Stack类继承Vector类,Vector类线程安全但性能差。 Vector扩容一倍空间,ArrayList扩容一半空间。 Vector分配内存需要连续的存储空间。 Deque接口 Deque是一个双端队
阅读全文
摘要:简介 单调栈即为有序栈,分为单调递增和单调递减。 最大好处是时间复杂度是线性的,每个元素遍历一次 实现伪代码 stack<int> st; for (遍历这个数组) { if (栈空 || 栈顶元素大于等于当前比较元素) { 入栈; } else { while (栈不为空 && 栈顶元素小于当前元
阅读全文
摘要:背景 Java的stream除了有常见的泛型Stream,还有IntStream、LongStream、DoubleStream等。后者可以在stream中使用原始的数据类型 map和mapToObj可以将流中的对象转换为其他对象 区别 对于IntStream map IntStream map(I
阅读全文