10 2021 档案
摘要:线程之间为什么要通信? 通信的目的是为了更好的协作,线程无论是交替式执行,还是接力式执行,都需要进行通信告知。那么java线程是如何通信的呢,大致有以下四种方式。 Java线程的通信方式 volatile 等待/通知机制 join方式 threadLocal volatile关键字方式 volati
阅读全文
摘要:通过博客《基于JNI手动模拟Java线程》,我们知道Java线程的创建方式, 本质:就是调用操作系统底层的线程创建函数 , Linux中是pthread_create函数 那么线程加锁在操作系统又是调用什么函数呢? 查了一下是调用操作系统中的pthread_mutex_lock函数。 回到我们今天的
阅读全文
摘要: //ThreadLocal部分 // ThreadLocal介绍 官方介绍 从Java官方文档中的描述:ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说
阅读全文
摘要:SimpleDateFormat与DateTimeFormatter线程安全问题,参考阿里巴巴Java开发手册规范处理 阿里巴巴开发手册中这样说的 多线程环境下: public class MainClass { private static final SimpleDateFormat sdf =
阅读全文
摘要:线程不安全的SimpleDateFormat 8.5 SimpleDateFormat是线程不安全的 SimpleDateFormat是Java提供的一个格式化和解析日期的工具类,日常开发中应该经常会用到,但是由于它是线程不安全的,多线程公用一个SimpleDateFormat实例对日期进行解析或者
阅读全文
摘要:高并发之——SimpleDateFormat类的线程安全问题和解决方案 首先问大家一个问题:你使用的SimpleDateFormat类还安全吗?我们一起带着这个问题来看本文。 提起SimpleDateFormat类,想必做过Java开发的童鞋都不会感到陌生。没错,它就是Java中提供的日期时间的转化
阅读全文
摘要:Java中的<< 和 >> 和 >>> 详细分析 <<表示左移移,不分正负数,低位补0; 注:以下数据类型默认为byte-8位 左移时不管正负,低位补0 正数:r = 20 << 2 20的二进制补码:0001 0100 向左移动两位后:0101 0000 结果:r = 80 负数:r = -20
阅读全文
摘要:1、Cookie、Session和Token的区别 Cookie是浏览器用来保存用户信息的文件,可以保存比如用户是谁,购物车有哪些商品等。 Session是一次会话,会话是指我们访问网站的一个周期。 比如用户打开一个浏览器访问某个位的站点。 在这个站点点击多个超链接查看各个网页,然后关闭浏览器,整个
阅读全文
摘要:一、Spring-Session使用的场景 HttpSession是通过Servlet容器进行创建和管理的,在单机环境中。通过Http请求创建的Session信息是存储在Web服务器内存中,如Tomcat/Jetty。假如当用户通过浏览器访问应用服务器,session信息中保存了用户的登录信息,并且
阅读全文
摘要:Session不香吗,为什么还要Token? 「来源: |51CTO技术栈 ID:blog51cto」 “ 上周我们在团队内部首次采用了 jwt(Json Web Token) token 这种 no-session 的方式来作用户的账号验证。 图片来自 Pexels 我发现网上很多文章对 toke
阅读全文
摘要:彻底搞懂AQS-重点方法精讲 ReentrantLock.java public class ReentrantLock implements Lock, java.io.Serializable { private static final long serialVersionUID = 7373
阅读全文