并发相关基础知识 - MESI - JMM
一、CPU多级缓存 CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源,所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题。 CPU多级缓存配置(演变): 局部性原理: (1) 时间局...
一、CPU多级缓存 CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源,所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题。 CPU多级缓存配置(演变): 局部性原理: (1) 时间局...
一.什么是并发与高并发 ## 并发:多个线程操作相同的资源,保证线程安全,合理使用资源。 高并发:服务能同时处理很多请求,提高程序性能。 二.并发及并发的线程安全处理 如何进行并发编程且保证并发线程的安全性可以从以下几个点进行展...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
1、进程和线程的区别 进程是资源分配的最小单位,线程是cpu调度的最小单位。 *所有与进程相关的资源,都被记录在PCB中 *进程是抢占cpu的调度单位;线程属于某个进程,共享其资源 *线程只由堆栈寄存...
一.运行时数据区 一个class文件被classloader加载到内存,经过load/link/initialize三步之后,然后交给jvm的运行时引擎运行,运行的时候在内存里面是一个什么情况? 根据《Java虚拟机规范》的规定,Java虚...
一.对象的内存布局 在HotSpot虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 1、对象头 HotSpot虚拟机对象的对象头部分包括两类...
一.class加载过程 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验/准备/解析和初始化,最终 形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 loading -> linking (...
一.java从编码到运行过程 .java文件经过编译器的编译后成为.class字节码文件,通过类加载器classloader加载到内存,然后通过字节码解释器解释或者即时编译器JIT编译,然后交给执行引擎进行执行,执行引擎再和os和硬件交互。...
转换流 概念 转换流是处理流的一种 转化流提供了在字节流和字符流之间的转换 转换流分类 InputStreamReader:将一个字节的输入流转换为字符的输入流 OutputStreamWriter:将一个字符的输出流转换为字节的输出流 字...
缓冲流 缓冲流的使用 缓冲流是处理流的一种 处理流就是“套接”在已有的流的基础上 分类 字节: BufferedInputStream BufferedOutputStream 字符: BufferedReader BufferedWrit...
节点流 FileReader和FileWriter 字符流(cha[]数组) FileReader读入数据的基本操作 过程 1、 实例化File类的对象,指明要操作的文件 注意: * 在@Test测试中的相对路径是相对于当前...