摘要:
https://segmentfault.com/a/1190000011282426 阅读全文
摘要:
策略模式:在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 也就是说,定义一个接口,实现该接口表示为多种策略,定义一个Context对象,Context对象会跟着策略对象的改变而改变。 1 public 阅读全文
摘要:
BIO同步阻塞IO,NIO同步非阻塞IO,BIO异步非阻塞IO; 传统IO和新IO都是用于输入/输出,传统的IO存在没有读到有效数据,程序将会在此处阻塞线程的执行。新IO(NIO)采用文件映射的方式来处理IO,将文件或者文件的一段区域映射到内存中,这样就可以像访问内存一样来访问文件了。通过这种方式就 阅读全文
摘要:
浅拷贝(浅复制、浅克隆):被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象。 深拷贝(深复制、深克隆):被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。 那些引用其他对象 阅读全文
摘要:
单例模式顾名思义也就是只有一个实例,并且它自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 下面介绍下单例模式的几种实现方式: 1.懒汉式 懒汉式顾名思义就是这种实例化方式比较“懒”,只有在需要的时候才去创建实例对象。用的时候才去检查有没有实例, 阅读全文
摘要:
1.RPC框架有哪些?RPC重试机制如何保证幂等性? 2.手写单例模式 3.Collection接口的实现类有哪些?简述其实现的原理。 4.常见的设计模式包括哪些? 5.Mysql如何优化? 6.SQL如何优化? https://www.jianshu.com/p/ca98ca34b47e 阅读全文
摘要:
Guava Cache源码简析 缓存的使用场景:在计算或者检索一个值得代价很高,并对同样的输入需要不止一次获取对应值得时候,就可以考虑缓存。 创建Cache缓存对象LoadingCache: 1 private LoadingCache<Integer, AtomicLong> loadingCac 阅读全文
摘要:
https://www.cnblogs.com/aspirant/p/11628654.html 阅读全文
摘要:
1.链表反向打印 1 public static void printNode(ListNode pHead){ 2 /* 3 采用栈来从尾到头打印链表 4 Stack<Integer> stack=new Stack<>(); 5 while (pHead !=null){ 6 stack.pus 阅读全文
摘要:
快排序:平均时间复杂度为o(nlogn) 其主要思想就是 1.先从数列中取出一个数作为基准数。 2.将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.左右区间重复第二步,直到各区间只有一个数。 1 public void quickSort(int[] arr, int x, i 阅读全文