- 博客(16)
- 收藏
- 关注

原创 ConcurrentHashMap在jdk1.7和jdk1.8中的部分差异
大家好, 这里是Yve菌, 今天给大家总结一些ConcurrentHashMap在jdk1.7和jdk1.8中的区别。
2022-11-26 11:18:34
1118

原创 什么是CAS以及在java中的具体应用
大家好, 这里是Yve菌, 今天给大家带来一期CAS的相关知识CAS(Compare and Swap)名为比较交换, 通常是指一种原子操作: 针对一个变量,首先比较它的内存值与某个期望值是否相同,如果相同,就给它赋一个新值。我们将原本的内存值举例为A, 期望值举例为B, 新值举例为C, CAS操作就是把A和B进行对比, 如果 A==B则将A的值替换为C;如果A和B不相等, 那就说明有其他业务对数据A进行过修改, 于是A的值则不会更新为C.
2022-11-01 21:46:34
2266
原创 手写一个简单的spring框架
这一期是我自己手写一个简单spring的一个记录, 里面的内容不一定和源码逻辑相同, 只是为了自己能手动实现spring的部分功能, 其中包括: @Component, @ComponentScan, @Scope, @Autowired注解, BeanDefinition类, ApplicationContext类以及BeanPostProcessor类.
2023-01-07 19:58:22
1577
1
原创 线程?线程池?一篇文章教会你线程池以及线程池的工作原理
大家好, 这里是Yve菌, 今天给大家带来一期线程池相关的内容.线程池(thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。例如,线程数一般取cpu数量+2比较合适,线程数过多会导致额外的线程切换开销。
2022-11-17 13:52:17
194
原创 AQS之ReentrantLock的使用
大家好, 这里是Yve菌, 今天给大家带来AQS中的独占锁–ReentrantLockAQS全称AbstractQueuedSynchronizer, 是一个抽象同步框架,可以用来实现一个依赖状态的同步器, java.util.concurrent包中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这些行为的抽象就是基于AQS实现, JDK中提供的大多数的同步器如Lock, Latch, Barrier等,也都是基于AQS框架来实现的.AQS 依赖CLH同步队列
2022-11-12 21:15:59
205
原创 详解并发编程之synchronized关键字, 学到就是赚到
大家好, 这里是Yve菌, 今天给大家带来一期synchronized关键字相关的知识, synchronized关键字也是并发专题当中比较复杂和重要的一部分, 那么废话不多说, 开始我们今天的内容吧!
2022-11-07 20:58:25
168
原创 细数4种常量池及其作用
大家好, 这里是Yve菌, 今天给大家讲的是常量池的相关内容. 常量池一共分为4种, 他们分别是:Class文件常量池, 运行时常量池, 字符串常量池和基本类型封装类常量池。
2022-10-19 18:57:01
379
原创 细数6种垃圾回收器的区别, 快进来看看有没有你要用的
大家好啊, 这里是Yve菌, 今天给大家详细介绍一下我们在进行GC垃圾回收时的主力军-垃圾回收器. 由于我们使用的jdk版本有不同, 使用的堆内存大小也不同, 这个时候我们可能就会用到不同的垃圾回收器. 垃圾回收器目前来说在市面上会有很多, 今天我们就来详细讲讲以下垃圾收集器:我们了解到了这么多垃圾收集器, 那么我们怎么去选择使用呢?优先调整堆的大小让服务器自己来选择如果内存小于100M,使用串行收集器如果是单核,并且没有停顿时间的要求,串行或JVM自己选择。
2022-10-11 19:01:36
912
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人