`
jesson.lv
  • 浏览: 41165 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

线程状态、sql限定查询、servlet生命周期、Spring理解、

 
阅读更多

一,线程状态

1.创建状态:准备好了一个多线程的对象:Thread t = new Thread();

2.就绪状态:调用了start()方法,等待cpu进行调度。

3.运行状态:执行run()方法。

4.阻塞状态:暂停执行,可能将资源交给其他程序使用。

5.终止状态:又称死亡状态,程序执行完毕,不再使用。

备注:线程调用start()方法时不是立即启动执行的,而是等待cpu进行调度。

二、SQL语句的限定查询

语法:select {Distinct}*|具体的列 别名 from 表名称 {where 条件(s)}

三、servlet的生命周期

1.加载:classloader把*.class文件加载进来。

2.实例化:new出一个新对象。

3.初始化:init (servletconfig)方法。

4.处理请求:调用service方法(doGet()和doPost())

整个过程中只有一个实例对象。

四、Spring的理解

AOP和IOC

AOP:面向切面编程,Aspect Oriented Programming的缩写。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。是oop的一种延伸。

IOC:就是反转控制。或者说依赖注入更合适,他其实不是一种技术,而是和GOF(设计模式)一样,是一种设计模式,他的优点是:因为他把对象的生成放在了XML文件里,所以我们在修改实现子类的时候只需要修改XML文件就可以了,这样我们设置可以实现对象的热插拔,就像我们在电脑上插拔USB那样简单。

不过其缺点也是显而易见的,一个是他生成对象的步骤变得复杂了,感觉别扭和不直观,当然如果习惯的话还是蛮好用的。另一个是在生成对象的时候使用的是反射编程,这在效率上有一定的损耗。但是这对于IOC提高维护性和灵活性来说这点损耗是围不足道的,除非你对对象的生成要求特别的高。最后就是对IDE重构操作的支持,不过这貌似是所有XML方式的缺憾。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics