自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Nodulus玩法介绍

1.游戏目标从起始亮起的结点处移动木棍到达绿色结点2.操作点住亮起的结点可向相邻结点方向滑动示例:点住结点向右滑动,连接结点的木棍处于可选往左或右移动的状态,此时再点住结点朝可选择方向移动。3.规则木棍长度是固定的,移动时只能移动到相同长度的空位。并且可以隔着其他木棍移动...

2022-04-08 20:41:58 3333

原创 java并发编程——volatile、锁和final的内存语义

本文是阅读《Java并发编程的艺术》后将自己记忆的理论知识和理解复写出来的产物,若有不足,欢迎指正!一、volatile及其内存语义之前的学习了解过volatile,知道它可以修饰共享变量,保证对变量的操作具有顺序性和可见性,并且与synchronized进行了对比。volatile的写与锁的释放有相同的内存语义,读与锁的获取有相同的内存语义。1.读的内存语义当读一个volatile变量时,JMM会把该线程对应的本地内存置为无效,线程将从主存中读取共享变量。2.写的内存语义JMM

2022-03-09 21:39:03 280

原创 java并发编程——java内存模型基础、重排序、顺序一致性

本文是阅读《Java并发编程的艺术》后将自己记忆的理论知识和理解复写出来的产物,若有不足,欢迎指正!在java中,线程之间是靠共享内存来通信的,是隐式进行的,但对于线程运行顺序的控制(同步),是显示进行的。所以java并发编程和java内存模型有关,java的线程同步需要学习重排序、顺序一致性的知识。一、java内存模型(JMM)基础JMM控制了线程和主内存之间的抽象关系,决定一个线程的写入何时对其他线程可见。1.结构2.happens-beforehappens-before是

2022-03-08 20:51:54 164

原创 java并发编程——volatile、synchronized和原子操作及其底层原理

本文是阅读《Java并发编程的艺术》后将自己记忆的理论知识和理解复写出来的产物,若有不足,欢迎指正!java并发编程中锁的存在是来保护多线程中共享资源的安全使用。一、volatilevolatile的意思是:不稳定的; 易变的等等,可以看出它修饰的是变量,目的是保护共享变量能够准确和一致地更新,是一种排他锁。1.底层原理汇编代码会多出一行Lock前缀的指令,这个操作将当前处理器缓存行的数据写回系统内存,并让其他CPU里缓存该内存地址的数据无效。2.优化在许多处理器中,缓存行是64

2022-03-03 23:44:53 374

原创 java并发编程——并发编程的挑战

本文是阅读《Java并发编程的艺术》后将自己记忆的理论知识和理解复写出来的产物,若有不足,欢迎指正!java并发编程是什么?让多个线程同时处理一个任务,从而达到快速的效果。但不是所有场景都适合并发编程。并发编程的挑战有哪些呢?①并发需要对线程的调度,自然需要切换线程,这就带来了上下文切换的挑战,这里关系到中断。如何保存被中断的线程的上下文,如何选择下一个线程,如何在被中断的线程再次运行时恢复现场?如何减少上下文切换的开销?②在线程竞争资源时有何挑战?死锁③并发编程的运行速度是有上限的,受限于硬件资源和软

2022-03-01 17:30:42 405

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除