首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JAVA
订阅
红毛
更多收藏集
微信扫码分享
微信
新浪微博
QQ
21篇文章 · 0订阅
并发编程-深入JMM内存模型与Volatile
CPU高速发展期间,内存和硬盘的发展速度远远跟不上CPU,这就导致了CPU去内存读写数据的速度相对缓慢。 针对这个问题,CPU厂商在CPU中内置了三级高速缓存(L1、L2、L3)来解决IO速度和CPU速度不匹配的问题,通过三级缓存,减少了CPU与内存的交互。 缓存行: 上面所说…
最新详细的JMM内存模型(三天熬夜血肝)
网上并发以及JMM部分的内容大部分都特别的乱,也不好整理。花了三四天时间才整理了一篇,有些概念的东西,是需要了解的,也标注出来了。 1. 为什么要用到并发 2. 并发编程有哪些缺点 时间片是CPU分配给各个线程的时间,因为时间非常短,所以CPU不断通过切换线程,让我们觉得多个线…
Java 各种锁的小结
一. synchronized 在 JDK 1.6 之前,synchronized 是重量级锁,效率低下。 从 JDK 1.6 开始,synchronized 做了很多优化,如偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等技术来减少锁操作的开销。 synchroniz…
《提升能力,涨薪可待》-Java并发之AQS全面详解
AQS全称AbstractQueuedSynchronizer,即抽象的队列同步器,是一种用来构建锁和同步器的框架。 AQS 解决了在实现同步器时涉及的大量细节问题,例如自定义标准同步状态、FIFO 同步队列。 基于 AQS 来构建同步器可以带来很多好处。它不仅能够极大地减…
64位JVM的Java对象头详解,从hotspot源码中寻找答案
我们编写一个Java类,编译后会生成.class文件,当类加载器将class文件加载到jvm时,会生成一个Klass类型的对象(c++),称为类描述元数据,存储在方法区中,即jdk1.8之后的元数据区。当使用new创建对象时,就是根据类描述元数据Klass创建的对象oop,存储…
面试:为了进阿里,又把并发CAS(Compare and Swap)实现重新精读一遍
1. 什么是乐观锁与悲观锁? 总是假设最坏的情况,每次读取数据的时候都默认其他线程会更改数据,因此需要进行加锁操作,当其他线程想要访问数据时,都需要阻塞挂起。悲观锁的实现: Java里面的同步synchronized关键字的实现。 乐观锁,其实就是一种思想,总是认为不会产生并发…
Nginx使用及配置
Nginx的主配置文件是nginx.conf,这个配置文件一共由三部分组成,分别为全局块、events块和http块。 在http块中,又包含http全局块、多个server块。 每个server块中,可以包含server全局块和多个location块。在同一配置块中嵌套的配置…
Java多线程:从基本概念到避坑指南
多核的机器,现在已经非常常见了。即使是一块手机,也都配备了强劲的多核处理器。通过多进程和多线程的手段,就可以让多个CPU同时工作,来加快任务的执行。 多线程,是编程中一个比较高级的话题。由于它涉及到共
Java内存模型以及happens-before规则
1. JMM的介绍 在上一篇文章中总结了线程的状态转换和一些基本操作,对多线程已经有一点基本的认识了,如果多线程编程只有这么简单,那我们就不必费劲周折的去学习它了。在多线程中稍微不注意就会出现线程安全问题,那么什么是线程安全问题?我的认识是,在多线程下代码执行的结果与预期正确的…
线程的状态转换以及基本操作
在上一篇文章中并发编程的优缺点谈到了为什么花功夫去学习并发编程的技术,也就是说我们必须了解到并发编程的优缺点,我们在什么情况下可以去考虑开启多个线程去实现我们的业务,当然使用多线程我们应该着重注意一些什么,在上一篇文章中会有一些讨论。那么,说了这么多,无论是针对面试还是实际工作…