1.factoryBean实现?

 beanfactory 和factorybean 是不一样的

beanfactory:是一个工厂类接口,在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

factorybean:是个bean,FactoryBean<T>接口的Bean,根据该Bean的ID从BeanFactory中获取的实际上是FactoryBean的getObject()返回的对象,而不是FactoryBean本身,如果要获取FactoryBean对象,请在id前面加一个&符号来获取

2.springMVC流程?

 前段调起dispatcherservlet,dispatcherservlet调起handlermapping,查找出正确的handler ,dispatcherservlet 再调起handleradapter,handleradapter处理handler后生成ModelAndView,并返回给dispatcherservlet ,dispatcherservlet调用view resolver 并返回正确的 view and model进行渲染并返回给前端

3.快速排序、冒泡排序?

/**
* 冒泡排序
* 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
* 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
* 针对所有的元素重复以上的步骤,除了最后一个。
* 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
* @param numbers 需要排序的整型数组
*/
public static void bubbleSort(int[] numbers)
{
int temp = 0;
int size = numbers.length;
for(int i = 0 ; i < size-1; i ++)
{
for(int j = 0 ;j < size-1-i ; j++)
{
if(numbers[j] > numbers[j+1]) //交换两数位置
{
temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
}
}

static int Division(List<int> list, int left, int right)
{
int baseNum = list[left];

while (left < right)
{
while (left < right && list[right] > baseNum)
{
right -= 1;
}

list[left] = list[right];
     while (left < right && list[left] <= baseNum)
{
left += 1;
}

list[right] = list[left];
}
list[left] = baseNum;
return left;
}

 

static void QuickSort(List<int> list, int left, int right)
{
if (left < right)
{
int i = Division(list, left, right);

QuickSort(list, left, i - 1);

QuickSort(list, i + 1, right);
}
}

 

4.hashMap、Hashset、hashtable

 collection下面有:list、set、queue

参考:https://www.cnblogs.com/lifelee/p/5306304.html

Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

参考  http://www.importnew.com/28263.html

当前数组容量,始终保持 2^n,可以扩容,扩容后数组大小为当前的 2 倍   当数据量超过数组容量(数组长度*阈值时)扩容

添加节点到链表中

找到数组下标后,会先进行 key 判重,如果没有重复,就准备将新值放入到链表的表头。如果重复,就放在链表后面

5.arralylist  扩容问题

 1.5倍

6.Gc垃圾回收机制?

 新生代老年代

7.消费者如何访问服务者?

 

8.FIleUtil底层?

 

9.分布式事务处理??

 redis中 setnx()

10.消息队列方法?

 

11.redis保存集中数据类型?  

 五种:

1.保存数据之String

要把一个String保存到redis中,用set(key,value),获取值用get(key)

2.保存数据之List

要把一个List保存到redis中,遍历List<String>,逐个调用lpush(key,value),获取值用lrange(key,start,end),start代表开始位置,end代表结束位置,如果为-1则代表到未尾。

这里lpush的意思是从左边保存,也就是后来居上。

3.保存数据之Set

要把一个Set保存到redis中,遍历Set<String>,逐个调用sadd(key,value),获取值用smembers(key)

4.保丰数据之SortedSet

SortedSet的意思是他的每一个元素是有顺序的,顺序根据其score来决定,如果socre一样,则按value排序。保存到redis的方法是,对每一个要保存的元素,

调用zadd(key,score,value),获取值用zrange(key,satrt,end),start代表开始位置,end代表结束位置,如果为-1则代表到未尾。

5.保存数据之Hash

要把一个Hash保存到redis中,遍历Map<String,String>,逐个调用hset(key,hashKey,hashValue),获取所有值有hgetAll(key)

12.redis如何应用成消息队列?

 

13.消息队列用处?

 

14.线程池如何创建?

 

15.数据库连接池?

 

16.git常用命令? sql常用?

 

17.sql优化?

 

18.多线程数据安全问题?

 

19.堆和栈的区别

 

20.单例模式作用

 

21.分布式事务控制

 

22.spring加载初始化过程?

 

 

 

1)  面向过程,日常大家开发的代码都是面向过程的。SQL

2)  面向对象,开发需求变更,减少代码修改量,不能完全克服需求变更。

3)  面向函数,大数据:面向对象+面向函数,函数式编程。

4)  面向架构,SOA+BUS总线,梦想:一个大大软件系统就OK。用友u8,金蝶

5)  面向服务,微服务兴起,基于SOA概念,没有做那么庞大,微服务标准:REST+JSON/RPC,SpringCloud选择前者(REST+JSON+MQ),Dubbo走了后者基于RPC

6)  Dubbo是SOA的最佳实践!

 

posted on 2018-11-26 21:24  studyAnddaydayup  阅读(101)  评论(0编辑  收藏  举报