摘要: 1小时22分钟,问的很细,需要多看源码。有些问题没有答好,需要好好整理。 1.堆排序过程? 2.kmp? 很久没看忘了 3.solr低层实现? 说了倒排索引的结构 4.给你一句话低层怎么实现搜索? 没答上来,后来学习了一下。 搜索过程: a) 用户输入查询语句 b) 对查询语句经过语法分析和语言分析 阅读全文
posted @ 2019-03-30 16:37 君奉天 阅读(208) 评论(0) 推荐(0) 编辑
摘要: spring IoC简介: IoC:控制反转,所谓控制反转是指:本来被调用者的实例是由调用者来创建的,这样的缺点是耦合性太强,IOC则是统一交给spring来管理创建,将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及 阅读全文
posted @ 2019-03-04 22:10 君奉天 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 1.成员内部类: 定义为位于另一个类的内部 class Circle { double radius = 0; public Circle(double radius) { this.radius = radius; } class Draw { //内部类 public void drawSahp 阅读全文
posted @ 2019-01-23 10:10 君奉天 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 一.静态代理 静态代理是代理模式的实现方式之一,程序编译时生成.class文件,如果我们需要很多的代理,每一个都这么手动的去创建实属浪费时间,而且会有大量的重复代码。 1.定义接口 2.创建具体实现类 3.创建代理类 4.测试 public interface User { void eat(Str 阅读全文
posted @ 2019-01-14 21:15 君奉天 阅读(170) 评论(0) 推荐(0) 编辑
摘要: public static int getIndexOf(String str1, String str2) { if (str1 == null || str2 == null || str1.length() 0) { flag = next[flag]; } else { next[i] = 0; i++; } } return next;... 阅读全文
posted @ 2019-01-04 17:11 君奉天 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1.简介 一致性哈希简称DHT,是麻省理工学院提出的一种算法,目前主要应用于分布式缓存当中。 它的储存步骤如下: 1.将全量的缓存空间当做一个环形存储结构,环形空间总共分成2^32个缓存区。 2.将各个服务器进行哈希,具体可以选择服务器的ip或主机名作为关键字进行哈希,这样每台机器就能确定其在哈希环 阅读全文
posted @ 2018-12-16 22:32 君奉天 阅读(168) 评论(0) 推荐(0) 编辑
摘要: public static void swap(int[] arr,int i,int j){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } public static void heapInsert(int[] arr,int curr){ while(arr[curr]>arr[(curr-1)/2]){ s... 阅读全文
posted @ 2018-12-09 22:14 君奉天 阅读(132) 评论(0) 推荐(0) 编辑
摘要: //归并 public static void sort4(int[] arr) { if (arr == null || arr.length mid) { while (p2 r) { while (p1 <= mid) { arr2[i++] = arr[p1++]; } } for (i = 0; i < arr2.length; i++) {... 阅读全文
posted @ 2018-12-09 19:48 君奉天 阅读(142) 评论(0) 推荐(0) 编辑
摘要: //快排 public static void quickSort(int[] arr, int l, int r) { if (l num) { swap(arr, --more, current); } else { current++; } } return new int[]{less, more}; } 阅读全文
posted @ 2018-12-09 19:48 君奉天 阅读(173) 评论(0) 推荐(0) 编辑
摘要: public static void swap(int[] arr, int i, int j) { int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } //冒泡排序 public static void sort1(int[] a) { if (a == ... 阅读全文
posted @ 2018-12-09 19:46 君奉天 阅读(197) 评论(0) 推荐(0) 编辑