每日一记--随记
今天主要针对cookie/session的作用域进行测试。
1、cookie
首先cookie是在于浏览器上的一种技术,那么它的数据传输有效的范围呢?
使用cookie进行数据共享,数据通过请求头的cookie携带进行数据共享,那么它的访问路径产生的cookie,会一直存在于该路径以及子路径都可以带有cookie数据信息。
解决了的问题是同一路径及子路径下的 不同请求数据共享问题。(个人是这么认为的)
主要是学习cookie的数据作用域,然后理解员工管理系统。
2、java.lang.Object中有哪些方法
protected Object |
clone() 创建并返回此对象的一个副本。 |
boolean |
equals(Object obj)
指示其他某个对象是否与此对象“相等”。 |
protected
void |
finalize()
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 |
Class<?> |
getClass()
返回此 Object 的运行时类。 |
int |
hashCode()
返回该对象的哈希码值。 |
void |
notify()
唤醒在此对象监视器上等待的单个线程。 |
void |
notifyAll()
唤醒在此对象监视器上等待的所有线程。 |
String |
toString()
返回该对象的字符串表示。 |
void |
wait()
在其他线程调用此对象的 notify() 方法或 notifyAll()
方法前,导致当前线程等待。 |
void |
wait(long timeout)
在其他线程调用此对象的 notify() 方法或 notifyAll()
方法,或者超过指定的时间量前,导致当前线程等待。 |
void |
wait(long timeout,
int nanos) 在其他线程调用此对象的 notify() 方法或 notifyAll()
方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。 |
3、锁类型
可重入锁:在执行对象中所有同步方法不用再次获得锁
可中断锁:在等待获取锁过程中可中断
公平锁: 按等待获取锁的线程的等待时间进行获取,等待时间长的具有优先获取锁权利
读写锁:对资源读取和写入的时候拆分为2部分处理,读的时候可以多线程一起读,写的时候必须同步地写
4、synchronized和lock区别
类别 | synchronized | Lock |
---|---|---|
存在层次 | Java的关键字,在jvm层面上 | 是一个类 |
锁的释放 | 1、以获取锁的线程执行完同步代码,释放锁 2、线程执行发生异常,jvm会让线程释放锁 | 在finally中必须释放锁,不然容易造成线程死锁 |
锁的获取 | 假设A线程获得锁,B线程等待。如果A线程阻塞,B线程会一直等待 | 分情况而定,Lock有多个锁获取的方式,具体下面会说道,大致就是可以尝试获得锁,线程可以不用一直等待 |
锁状态 | 无法判断 | 可以判断 |
锁类型 | 可重入 不可中断 非公平 | 可重入 可判断 可公平(两者皆可) |
性能 | 少量同步 | 大量同步 |