Java高级特性
文章平均质量分 93
爱笑的架构师
这个作者很懒,什么都没留下…
展开
-
阿里二面,面试官:说说 Java CAS 原理?
声明:本文禁止转载1. 什么是 CAS?2. CAS 基本原理3. CAS 在 Java 语言中的应用4. CAS 的问题4.1. 典型 ABA 问题4.2. 自旋开销问题4.3. 只能保证单个变量的原子性5. 有态度的总结在并发编程中我们都知道i++操作是非线程安全的,这是因为 i++操作不是原子操作。如何保证原子性呢?常用的方法就是加锁。在Java语言中可以使用 Synchronized和CAS实现加锁效果。Synchronized是悲观锁,线程开始执行第一步就是.原创 2021-05-10 22:39:50 · 10152 阅读 · 33 评论 -
面试官:说说什么是 Java 内存模型(JMM)?
本文禁止转载1. 为什么要有内存模型?1.1. 硬件内存架构1.2. 缓存一致性问题1.3. 处理器优化和指令重排序2. 并发编程的问题3. Java 内存模型3.1. Java 运行时内存区域与硬件内存的关系3.2. Java 线程与主内存的关系3.3. 线程间通信4. 有态度的总结在面试中,面试官经常喜欢问:『说说什么是Java内存模型(JMM)?』面试者内心狂喜,这题刚背过:『Java内存主要分为五大块:堆、方法区、虚拟机栈、本地方法栈、PC寄存器,ba.原创 2021-05-05 23:59:01 · 32683 阅读 · 77 评论 -
『图解Java并发编程系列』10张图告诉你Java并发多线程那些破事
头发很多的程序员:『师父,这个批量处理接口太慢了,有什么办法可以优化?』架构师:『试试使用多线程优化』第二天头发很多的程序员:『师父,我已经使用了多线程,为什么接口还变慢了?』架构师:『去给我买杯咖啡,我写篇文章告诉你』……吭哧吭哧买咖啡去了在实际工作中,错误使用多线程非但不能提高效率还可能使程序崩溃。以在路上开车为例:在一个单向行驶的道路上,每辆汽车都遵守交通规则,这时候整体通行是正常的。『单向车道』意味着『一个线程』,『多辆车』意味着『多个job任务』。单线程顺利.原创 2021-04-28 21:04:55 · 15100 阅读 · 37 评论 -
内存泄露的原因找到了,罪魁祸首居然是Java TheadLocal
这个实习生不能留了!原创 2020-10-29 10:32:20 · 6003 阅读 · 12 评论 -
想自己写框架?不会写Java注解可不行
本文 GitHubhttps://github.com/SmileLionCoder/JavaFullStack 已收录,有程序员进阶技术栈全系列规划以及我的系列文章。目录用注解一时爽,一直用一直爽原来注解不神秘造火箭啦,自己动手写一个注解第一步定义一个注解第二步实现注解的业务逻辑第三步在业务代码中尽情的使用注解用注解一时爽,一直用一直爽Java后端开发进入spring全家桶时代后,开发一个微服务提供简单的增删改查接口跟玩泥巴似的非常简单,一顿操作猛如虎,回头一..原创 2020-10-29 09:23:26 · 2722 阅读 · 1 评论