2018-08-16

1.Long 128l

2.spring事物的特性和实现原理

3.spring初始化bean的步骤

4.spring的ioc和aop怎么实现

5.数据库的acid怎么实现

6.如何排查性能问题,怎么解决

7.内存溢出

8.消息中间件 队列的通讯步骤

9.缓存框架 mem redis ehk?对比

10.kafka和rabbitmq对比

11.怎么保证高可用

12.扩容依据什么?如何扩容至最佳?

13.docker编排系统理解 mesos为例的

14.tomcat调优

15.hive查询组建用过哪些

16.mybatis的缓存机制

17.队列重复消费的问题

以下是查资料学习后的理解[我必须要这么做了]

1.Long,Integer在直接==时会用value()函数返回的值进行比较:

public static Long valueOf(long l) {
    final int offset = 128;
    if (l >= -128 && l <= 127) { 
        return LongCache.cache[(int)l + offset];
    }
        return new Long(l);
}

就导致-[128, 128)之间的值其实取到的是同一地址。而返回以外的Long是new的一个对象,==操作自然是false。
如果要做Long或者Integer的比较,用equals()吧,compareTo()也行。

3.spring IOC
我没研究过spring的原理,我不配做个java程序员。
IOC翻译为控制反转,大概意思就是我们在写代码时,将获得实例(bean)的权利交给spring去做,我们事先将bean的属性设置好,spring初始化时将它放到容器里面,当我们需要的时候就直接从容器里面取就好了,而不用程序内部主动去控制对象(自己写很多的new XXXServiceIml())。DI翻译为依赖注入,理解为IOC的实现,主要体现就是ServiceA依赖ServiceB时,它会先去实例化ServiceB[疑问?是否有先后顺序],实例化A时将B注入到A中(设值注入和引用注入)。

你可能感兴趣的:(2018-08-16)