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中(设值注入和引用注入)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容