![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java笔记
学习笔记
这很张扬
好好学习,天天向上,和我一起!
展开
-
Java中volatile关键字和synchronized的区别和用法
Java线程控制中常用的两个关键字:synchronized、volatile volatile关键字特性: 内存可见性(Memory Visibility),所有线程都能看到共享内存的最新状态; 有序性; 不具备原子性(最致命缺点)。 对于volatile修饰的变量,JVM虚拟机只是保证从主内存加载到线程工作内存的值是最新的;因此volatile关键字解决的是变量【读】时的可见性问题,但无法保证原子性,对于多个线程访问同一个实例变量时需要进行【加锁】同步。 对于volatile修饰的变量,JVM虚拟原创 2021-03-19 20:04:59 · 260 阅读 · 0 评论 -
having与where的区别
having与where的区别 子名 作用 where 子句 1) 对查询结果进行分组前,将不符合 where 条件的行去掉,即在分组之前过滤数据,即先过滤再分组。 2) where 后面不可以使用聚合函数 having 子句 1) having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。 2) having 后面可以使用聚合函数 ...原创 2021-01-29 19:48:55 · 199 阅读 · 0 评论 -
请求转发和重定向的特点和区别
重定向的特点:redirect 地址栏发生变化 重定向可以访问其他站点(服务器)的资源 重定向是两次请求。不能使用request对象来共享数据 转发的特点:forward 转发地址栏路径不变 转发只能访问当前服务器下的资源 转发是一次请求,可以使用request对象来共享数据 ...原创 2020-12-18 11:34:05 · 584 阅读 · 0 评论