手记

【金秋打卡】第18天-Java高并发编程-Java内存模型

课程内容

  • 并发:同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程讲交替地换入或者换出内存,这些线程是同时“存在”的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中每个线程都将分配到一个处理器上,因此可以同时运行。目前我们的电脑或者线上的服务器都是多核的
    • 多个线程操作相同的资源,保证线程安全,合理使用资源
  • 高并发:高并发(High Concurrency) 是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并发处理多个请求
    • 服务能同时处理很多请求,提高程序性能
  • Java内存模型(Java Memory Model, JMM)
    • 是一种规范,它规定了Java虚拟机与计算机内存是如何协调工作的
    • 它规定了一个线程如何以及何时可以看到其它线程修改过后的共享变量的值,以及在必须时如何同步访问共享变量
  • Java堆heap与栈stack
    • 对象存放在堆上,对象上的成员变量也会随着对象本身存放在堆上。线程1与线程2都可以访问这个对象,线程1与线程2都会保有独立的这个对象成员变量的私有拷贝
  • Java内存模型中的CPU
    • CPU寄存器,是CPU内存的基础,执行速度远大于在主存上执行的速度
    • 为了主存速度接近同步,加入高速缓存CPU Cache Memory,作为内存与处理器之间的缓冲,因此计算的数据会被复制到缓存中,计算后,再同步到内存(主存)中。这样做的好处,处理器不等待缓慢的内存读写

课程收获

内容好复杂,老师讲解很清楚,可是自己掌握起来就要下功夫了,这堂课截取的课堂截图应该创了记录

0人推荐
随时随地看视频
慕课网APP