31-35

线程池中线程的复用原理
线程池将线程和任务进行解语,线程是线程任务是任务,摆脱了之前通过thread方法创建线程时候,必须对应一个任务的限制。
在线程池中同一个线程,可以从阻塞队列中不断地获取新的任务进行执行,其核心原理在于线程池对thread进行了封装,并不是每次执行任务都会调用Theard。start方法来创建新的线程,而是让每个线程去执行一个循环任务,在这个循环任务中不断地检查是不是还有任务需要被执行,有的话就直接run,将run()方法当作一个普通的方法进行执行,通过这种方式的话就可以使用一个固定的线程就将所有人物的run方法串联起来了。
用线程调用任务里面的run而不是线程的run

spring是什么?
轻量级开源的j2ee框架,是一个容器框架用来装JavaBean,中间层框架,起一个链接作用,
(1)spring从大小和开销两方面spring是轻量级的
(2)通过控制反转ioc达到松融合的目的
(3)提供了面向切面编程的丰富支持aop,允许通过分离应用的业务逻辑与系统服务进行内聚是开发。
(4)包含并管理应用对象(bean)的配置和生命周期,这就是意义上的一个容器
(5)将简单的组件配置、组合为复杂的应用这就是一个框架

谈一下aop的理解
系统是由许多不同的组件组成的,每一个组件各负责一块特定的功能,这些组件除了要实现自己的核心功能还要承担额外的职责。
当我们需要为分散的对象引入公共行为是,oop(面向对象)就无能为力,oop只允许定义从上倒下的关系,不适合实现从左到右,例如日志功能。
比如打印日志功能,如果用oop那么就会导致打印功能大量重复,不利于代码的复用。
Aop就是把程序中交叉的业务逻辑,封装成一个切面,然后注入目标对象中。aop可以对某个对象或者某个对象的功能进行增强,可以在做某个方法之前额外做一些,或者某个方法之后在额外做一些。

对ioc的理解
容器概念、控制反转、依赖注入

BeanFactory和ApplicationContext区别
ApplicationContext是子接口,扩展
ApplicationContext有更加完整的功能
图片说明

BeanFactory延迟加载注入bean当使用到的时候才会对bean加载实例化。这样我们就能发现一些存在的spring配置问题,只有运行之后才可以发现。
ApplicationContext一次性创建所有的bean,这样在启动时就可以发现spring配置错误,这样有利于检查所有的依赖属性是否注入。当你使用的时候你不用等待因为已经给你加载好了。

相对于ApplicationContext,bean的话就是少占用一部分内存空间,启动的快一点。
BeanFactory一般用变成的方式创建,ApplicationContext还可以用申明的方式创建,contextloader.

BeanFactory、ApplicationContext都可以使用beanpostprocessor、beanFactorypostprocessor,但是BeanFactory要手动注册ApplicationContext是自动注册。

全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点??? 还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力………… 感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务