一、
sleep是thread类的方法,sleep执行时不放锁。
wait是Object类的方法,wait执行时放锁,所以必须在synchronized方法中调
用。
二、
volatile synchronized 区别
volatile 主要修饰变量 synchronized 主要修饰方法
strictfp :修饰类和方法,精确浮点。接口的方法不能被声明,类的可以。
transient:变量修饰符,不被序列化。
三、线程实现的方法:Thread,Runnable,Callable<V>接口。
四、JVM:heap 和 stack
heap(内存数据区):保存对象实例属性,属性的类型和对象本身的类型标记等,
不保存对象的方法(方法是指令,保存在stack中)。
对象实例在head中分配好以后,需要在stack中保存一个4字节的heap内存
地址,用来定位该对象实例在head中的位置,便于找到该对象实例。
stack(内存指令区):基本数据类型、指令代码、常量、对象的引用地址。
五、Forword(转发)是服务器行为,是控制权的转向,SendRedirect(重定向)是
客户端行为,是完全的跳转,。
1、request.getForword 请求转发共享一个request;
response.sendRedirect 是重新定向,前后页面不是一个request。
2、ServletContext.getRequestDispatcher(String url)中的url只能用绝对路径;
ServletResquest.getRequestDispatcher(String url)中的url可用相对路径
六:RMI 和 WebService区别
RMI:通过同构架构分布式开发。
WebService:主要解决异构架构分布式开发。