04 2021 档案
摘要:函数式编程的执行是惰性的,按顺序真正执行的时候才会执行相应的代码、方法; 函数式编程是安全的,用的是monad架构 1 public class StreamTest { 2 3 public static void main(String[] args){ 4 //用map和filter代替for
阅读全文
摘要:/** * @Description 基于LinkedHashMap实现一个基于'LRU最近最少使用'算法的缓存,并且最多存MAX个值 * @Author afei * @date:2021/4/25 */ public class LRUCache<K,V> implements Iterable
阅读全文
摘要:spring bean 生命周期=实属初销+2个常见接口+3个Aware型接口+2个生命周期接口 实属初销:spring bean生命周期只有四个阶段,即实例化->属性赋值->初始化->销毁,实例化对应构造方法,属性赋值对应setter 前三个阶段分别在doCreate()中按顺序调对应的方法: c
阅读全文
摘要:java预定义的四种线程池 SingleThreadExexcutor:单线程数的线程池 FixedThreadPool:固定线程数的线程池 CacheThreadPool:可缓存的线程池 ScheduledThreadPoo:支持定时或周期任务的线程池 这四种线程池都有各自问题,建议自定义线程池类
阅读全文
摘要:特点 ThreadLocal和Sychronized都用于解决多线程间的并发访问,但它们实现的本质方法不同:sychronized利用锁使同一个代码块或变量在某时刻只能被一个线程访问,而ThreadLocal则为所有线程都提供一个变量副本,这样在某一时刻不同线程访问到的是本质上不同的变量。 Thre
阅读全文
摘要:索引的目的在于提高查询效率,与我们查阅图书所用的目录是一个道理,图书目录占用空间,所以索引也会占用空间,索引太多或者太低都不好。当对表中的数据进行增加、删除、修改时,索引也需要动态的维护。一般是在没有数据之前先建立索引,再往数据库插入数据。索引是用来查询的,所以会降低写入的效率。 查看某个查询是否使
阅读全文

浙公网安备 33010602011771号