每日一个知识点
文章平均质量分 95
架构技术专栏
知识改变命运,梦想创造未来
展开
-
授权和认证,如何实现用户追踪和认证?
世界上最快的捷径,就是脚踏实地,本文已收录【架构技术专栏】关注这个喜欢分享的地方。在一些互联网公司的面试中,面试官往往会问这样一个问题:如果禁用浏览器 cookie,如何实现用户追踪和认证?遗憾的是依然有大量候选人答非所问,无法搞清楚 cookie 和 session 之间的区别。而在工作中也有让人惊讶的真实案例:把 user ID 存储到 local storage 中当做 token 使用,原因是他们声称弃用了 cookie 这种落后的东西;一个移动端项目,服务器给出的 API 中需要客.原创 2020-11-10 14:28:58 · 1366 阅读 · 0 评论 -
每日一个知识点:什么时候会触发Full GC
每日一个知识点系列的目的是针对某一个知识点进行概括性总结,可在一分钟内完成知识点的阅读理解。此处不涉及详细的原理性解读,只作为一种抛砖引玉。真正的理解一定是你自我研究探索所收获的知识,加入组织带你一起进步成长。世界上最快的捷径,就是脚踏实地。本文已收录架构技术专栏关注这个喜欢分享的地方,每日获得一个知识点1. 调用 System.gc()只是建议虚拟机执行 Full GC,但是虚拟机不一定真正去执行。不建议使用这种方式,而是让虚拟机管理内存。2. 未指定老年代和新生代大小,堆伸缩时会产.原创 2020-10-16 12:13:18 · 3324 阅读 · 0 评论 -
垃圾回收器为什么必须要停顿下?
美丽又短暂的假期居然这么快就结束了,学习的小车轮继续的滚起来吧垃圾回收器为什么必须要停顿下?在垃圾收集器在获取根节点这一步时必须暂停用户线程的也就是我们常说的STW,目前可达性分析算法耗时最长的查找引用链的过程已经可以做到和用户线程一起并发,但根节点枚举的获取还必须是要在一个能保证一致性的快照中才能进行。这里说的一致性就是根节点枚举分析期间执行子系统看起来就像被冻结在某个时间点上,不会出现一边分析,根节点的对象引用关系还在不断的变化的情况。这也是导致垃圾收集过程必须停顿所有用户线程的其中一个重要原.原创 2020-10-09 20:40:42 · 326 阅读 · 2 评论 -
每日一个知识点:Volatile 和 CAS 的弊端之总线风暴
每日一个知识点系列的目的是针对某一个知识点进行概括性总结,可在一分钟内完成知识点的阅读理解,此处不涉及详细的原理性解读。一、什么是总线风暴总线风暴,听着真是一个帅气的词语,但如果发生在你的系统上那就不是很美丽了,废话不多说,先看图说结论。什么是总线风暴,先来看结论在java中使用unsafe实现cas,而其底层由cpp调用汇编指令实现的,如果是多核cpu是使用lock cmpxchg指令,单核cpu 使用compxch指令。如果在短时间内产生大量的cas操作在加上 volatile的嗅探机制.原创 2020-09-28 14:30:13 · 1567 阅读 · 0 评论 -
每日一个知识点系列:volatile的可见性原理
每日一个知识点系列的目的是针对某一个知识点进行概括性总结,可在一分钟内完成知识点的阅读理解,此处不涉及详细的原理性解读。img看图说话关键点1: 总线嗅探器(MESI 缓存一致性原理 )关键点2: 总线锁、缓存锁,为了解决并发问题,会在内存区域的值加锁(内存锁),是在store 之前会给总线内的值加一个锁,write 完成后在解锁(这里大部分是缓存行锁的,总线锁看情况)。关键点3:就是为了使一个CPU上运行的线程能够读取到另外一个CPU线程的共享变量更新。这个CPU必须先根据无效化队列中存储.原创 2020-09-27 12:18:03 · 197 阅读 · 0 评论