面试心得2

2017-10-17  本文已影响0人  海豚的小小海

1、javaEE中session的理解
在服务器上,通过session来区分每一个用户,用户只要连接到服务,则立刻分配一个session给用户。
session将信息保存在服务器,而cookie将信息保存在客户端,
session比cookie更安全,但也更占资源
开发中尽量少向session中保存信息
session使用了cookie机制,cookie被禁用,session也无法使用
通过request对象得到session HttpSession session = request.getSession();
2、并发:指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一时刻点只有一个程序在处理机上运行。
3、线程
(1)生命周期
新建:一个Thread类或子类的对象被声明并创建时,新的线程对象处于新建状态,此时已经有了相应的内存空间。
就绪:新建状态的线程被启动后,将进入线程队列排队,这个时候具备了运行的条件,一旦轮到CPU的时候,就会脱离创建它的主线程独立开始自己的生命周期。
运行:就绪的线程被调度进入运行状态,每一个Thread及其子类的对象都有一个run()方法,当线程对象被调度执行时,它就会自动调用本对象的run()方法,从第一句开始执行,所有要将线程的操作写到run()方法里面。
阻塞(中断):一个正在运行的线程,如果因为某种原因不能运行了,会进入阻塞状态,这个时候它是不能进入线程的排队队列的,只有引起阻塞的原因消失,才会加入到CPU的排队队列中去等待处理。
死亡:处于死亡状态的线程不具有继续执行的能力,线程死亡分两种,一种是run()方法执行完毕,另一个就是被提前强制终止。
(2)多线程环境的最本质的问题:永远也不知道线程会在什么时候启动,多线程环境,必须要防止两个线程同事访问同一个资源。

上一篇 下一篇

猜你喜欢

热点阅读