14、sleep与wait与yield区别:
1)wait是Object类的方法,sleep与yield都是Thread类的方法。wait调用的时候需要注意的是该方法是
释放锁标志的,而sleep在调用的时候是
紧紧抱着锁标志的,也就是等他完全执行完成了才可以让其他线程来访问的
2)sleep 方法使当前运行中的线程睡眠一段时间,进入不可运行状态,这段时间的长短是由程序设定的,
yield 方法使当前线程让出 CPU 占有权,但让出的时间是不可设定的。实际上,yield()方法对应了如下操作: 先检测当前是否有相同优先级的线程处于同可运行状态,如有,则把 CPU 的占有权交给此线程,否则,继续运行原来的线程。所以yield()方法称为“退让”,它把运行机会让给了同等优先级的其他线程。
3)另外,sleep 方法允许较低优先级的线程获得运行机会,但 yield() 方法执行时,当前线程仍处在可运行状态,所以,不可能让出较低优先级的线程些时获得 CPU 占有权。在一个运行系统中,如果较高优先级的线程没有调用 sleep 方法,又没有受到 I/O 阻塞,那么,较低优先级线程只能等待所有较高优先级的线程运行结束,才有机会运行。
15、forward 和redirect的区别:
1)forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道,使用forward的时候浏览器不知道它所请求的具体资源来源,所以地址栏不会变;
2)使用redirect,服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL;
具体的区别:
A、从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
B、从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
C、从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
D、从效率来说
forward:高.
redirect:低.
分享到:
相关推荐
java 面试基础 java 面试基础 java 面试基础 java 面试基础
java面试基础知识点总结
介绍Java求职面试过程过程中的相关知识点,分为java基础,web,框架等基础知识
Java面试基础知识整理 1、 面向对象的特征有哪些方面? 2、访问修饰符public,private,protected,以及不写(默认)时的区别? 3、String 是最基本的数据类型吗? 等等...
Java面试笔记 225道Java面试题JAVA面试基础知识点总结Java数据结构题 JAVA笔试面试WORD资料汇总(19个): 2014年最新Java笔试题及答案.docx 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者...
NULL 博文链接:https://huangjiateng.iteye.com/blog/1157344
详细的整理收集了java相关的基础知识,
java 面试基础 j2ee java 面试基础 j2ee java 面试基础 j2ee
一个JAVA基础题的软件,有多套JAVA面试的基础题,可以巩固JAVA基础以及面试前的增强练习
java 面试题 java 基础 java 注意事项
java面试基础知识150题,docx格式!大家自己转换一下吧!
java面试宝典java基础大全 .pdf
java面试基础题视频讲解,讲解基础原理,补充java基础知识
java面试复习基础
java面试基础复习
java基础面试文档 java基础面试题 java基础面试个人总结版java基础面试文档 java基础面试题 java基础面试个人总结版java基础面试文档 java基础面试题 java基础面试个人总结版
最近的java 面试知识点, 比较全的java基础知识面试知识,linux
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”
Java面试基础知识.doc