上一页 1 2 3 4 5 6 ··· 18 下一页
摘要: 背景 修改文件权限常用命令chmod 777 文件或目录 777含义 3个7对应用户 操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。 最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值。 所以,chmod 777中,三个数字7分别对应上面三 阅读全文
posted @ 2022-03-25 11:08 zjcfrancis 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 变量 使用变量 使用一个定义过的变量,只要在变量名前面加美元符号 $ 即可。 变量名外面的花括号帮助解释器识别变量的边界。 for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done 删除变量 unse 阅读全文
posted @ 2022-03-24 20:32 zjcfrancis 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 背景 LoadingCache是GuavaCache构建缓存实体的方法,是一个支持多线程并发读写、高性能、通用的in-heap(堆)本地缓存。 支持key不存在时按照给定的CacheLoader 的loader方法进行loading。如果有多个线程同时get一个不存在的key,那么会有一个线程负责l 阅读全文
posted @ 2022-03-11 16:13 zjcfrancis 阅读(3455) 评论(0) 推荐(0) 编辑
摘要: 背景 刷新缓存时会有线程被阻塞。为避免阻塞用户线程,把刷新线程放到后台执行。 当key过期,有新用户读取cache时,开启一个新线程去load数据库数据,用户线程返回老的值。 因此需要添加一个线程池来刷新cache。 线程池的学习与使用 ThreadPoolExecutor类 ThreadPoolE 阅读全文
posted @ 2022-03-11 14:45 zjcfrancis 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 背景 与前端交互时id通常为字符串,需要转成Long类型存入数据库 方法 转成数组 Long[] nums = (Long[]) ConvertUtils.convert(ids.spilt(","), Long.class); 转成列表 List<Long> nums = Arrays.strea 阅读全文
posted @ 2022-03-11 10:30 zjcfrancis 阅读(2907) 评论(1) 推荐(0) 编辑
摘要: 说明 InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法。 凡是继承该接口的类,在初始化bean的时候会执行该方法。 与配置文件中init-method的区别 在初始化bean时,先调用afterPropertiesSet方法,然后 阅读全文
posted @ 2022-03-10 14:39 zjcfrancis 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 说明 @PostConstruct被用来修饰一个非静态的void()方法。 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。 PostConstruct在构造函数之后执行,init()方法之前执行。 执行顺序 该注解的方法在整个Bean初始化 阅读全文
posted @ 2022-03-10 14:23 zjcfrancis 阅读(21) 评论(0) 推荐(0) 编辑
摘要: Stack类 public class stack<E> extends Vector<E> Stack类继承Vector类,Vector类线程安全但性能差。 Vector扩容一倍空间,ArrayList扩容一半空间。 Vector分配内存需要连续的存储空间。 Deque接口 Deque是一个双端队 阅读全文
posted @ 2022-03-04 17:12 zjcfrancis 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 简介 单调栈即为有序栈,分为单调递增和单调递减。 最大好处是时间复杂度是线性的,每个元素遍历一次 实现伪代码 stack<int> st; for (遍历这个数组) { if (栈空 || 栈顶元素大于等于当前比较元素) { 入栈; } else { while (栈不为空 && 栈顶元素小于当前元 阅读全文
posted @ 2022-03-04 16:54 zjcfrancis 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 背景 Java的stream除了有常见的泛型Stream,还有IntStream、LongStream、DoubleStream等。后者可以在stream中使用原始的数据类型 map和mapToObj可以将流中的对象转换为其他对象 区别 对于IntStream map IntStream map(I 阅读全文
posted @ 2022-03-04 11:05 zjcfrancis 阅读(962) 评论(1) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 18 下一页