Spring的意义

原创
2016/04/11 22:40
阅读数 82

    最近公司在招Java研发,主要是做实时聊天服务器,系统需要承载100w人同时在线。

    先说一个概念,聊天室的消息是广播的,同一个聊天室的消息会广播给该室的所有人,比如一个房间有20w人,那么一条消息就是20w次广播,1000跳消息就是2亿次广播,所以聊天服务器性能方面是个难题。单机是不可能完全这个任务的,光是2亿跳消息就足以把单机的内存吃光,造成内存溢出,服务器宕机。

    下面说下正题吧,前来面试的Java研发有很多基础不错,会很多开源框架,但是问到一些稍难点的问题就没有头绪了。

    Spring框架的意义。

    1、依赖注入(IOC控制反转),Spring作为Service供应商,会创建各种Service,并且保存起来(SpringBean容器)。注意,如果Worker想获取这些Service,不要通过getBean的方式去获取Service,而是使用Spring来构造Worker出来,在构造的时Spring自动把所有Service全给你配好,不要管Service是哪里来的,直接使用即可。

    实现的原理有两种:AnnotationConfigApplicationContext和ClassPathXmlApplicationContext

    2、AOP切面编程,就如城门,进城出城都必须经过城门,每个经过城门的人都在守卫的监视下。比如哪天城里王府格格和书生阿斗私奔了,王爷大怒,命令全城搜捕阿斗,但是全城搜索阿斗这个工程量有点大,会惊扰百姓,王府的管家向王爷建议说严密监视城门,防止阿斗出城,这时守卫就会拦下每个出城的人,查看是否是阿斗。

展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部