JUC总结

文章目录

  1. java中线程的6种状态

  2. 静态变量、实例变量、局部变量的线程安全问题:
    在这里插入图片描述

  3. 为什么会出现线程安全问题:在多个线程对共享资源读写操作,就会出现问题

  4. synchronized 锁升级:
    在这里插入图片描述

  5. sleep 和 wait 的区别
    在这里插入图片描述

  6. park和unpark
    是unsafe中的方法,当调用park时,该线程会去一下计数,为0则将线程阻塞,当unpark会将计数设置为1,park住的这个线程就会恢复。

  7. JMM:
    java内存模型,它定义了对主存中变量的访问规则吧,它定义了两种内存:工作内存和主存,主存存储了共享变量,每个线程都是先到主存中读到工作内存再去操作共享变量,操作完成再写回主存,不能直接操作主存,为了实现线程间的通信,保证可见性和防止指令重排可以使用volatile。

  8. 什么是指令重排:
    在这里插入图片描述

  9. volatile 原理:
    volatile它底层是用读写屏障来实现的,在volatile修饰的变量后面加入写屏障同步到主存中,在读volatile修饰的变量之前它会加入读屏障从主存中去读,保证读到的是最新的数据 ,正因为这样解决了线程间共享变量的可见性问题,有序性的话用volatile修饰就禁用掉了指令重排,解决了有序性。

  10. 什么是CAS?
    在这里插入图片描述

  11. string是线程安全的吗?
    在这里插入图片描述

  12. final 原理:写屏障

  13. 线程池:
    之前写过一个线程池的小案例:在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/517469.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA实战开源项目:超市商品管理系统(Vue+SpringBoot)

目录 一、摘要1.1 简介1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 超市区域模块2.3 超市货架模块2.4 商品类型模块2.5 商品档案模块 三、系统设计3.1 用例图3.2 时序图3.3 类图3.4 E-R图 四、系统实现4.1 登录4.2 注册4.3 主页4.4 超市区域管理4.5 超市货架管理4.6 商品类型…

软件测试实战,Web项目网页bug定位详细分析总结(详全)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、前置条件 1&a…

stable diffusion的额外信息融入方式

conditioning怎么往sd中添加,一般有三种,一种是直接和latent拼一下,另外很多是在unet结构Spatialtransformers上加,和文本特征一样,通过cross-attention往unet上加,这里还需要注意一点,在文本嵌…

企业举办活动发布会的意义是什么?如何利用媒体宣传

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 企业举办活动发布会的意义与媒体宣传策略 一、发布会的意义: 信息传递:直接向公众和利益相关者发布重要信息。品牌塑造:展示企业文化和创新&#xff…

酷开科技OTT大屏差异化运营,提升每一个家庭成员的幸福感

近些年来,伴随着人工智能以及大数据的技术提升,营销领域也不断的更迭。酷开科技先后接受来自爱奇艺、腾讯、百度的投资入股,将大屏领域这个庞大的市场需求撬动了起来,以科技为助力,秉承开放共享、合作共赢的理念&#…

Ajax+Axios+前后端分离+YApi+Vue-ElementUI组件+Vue路由+nginx【全详解】

目录 一.Ajax技术 二. Axios 三.前后台分离开发介绍 四. YAPI 五.前端工程化 六.vue工程的目录结构 七.Vue项目核心文件 八.Vue组件库ElementUI AboutView.vue最终代码 AboutView.vue最终代码 九.Vue路由 十.案例 十一.nginx介绍 一.Ajax技术 1.Ajax概述 Ajax: 全…

【kubernetes】关于k8s集群的pod控制器

目录 一、deployment控制器 二、statefulset控制器 1、验证数据可以持久化 2、验证删除后名称不会改变,数据还会一直存在 3、验证扩容的创建过程是升序串行执行,并且自动创建pv 4、验证滚动更新的时候也是升序执行,数据持久化还在 5、验…

华为OD机试 - 疫情扩散时间计算 - 矩阵(Java 2024 C卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷&am…

BUUCTF---[极客大挑战 2019]BabySQL1

1.这道题和之前做的几道题是相似的,这道题考的知识点更多。难度也比之前的大一些 2.尝试万能密码 or 1#发现过滤了or,使用1和1,发现他对单引号也进行了过滤。于是我尝试进行双写绕过,发现可以通过了。 3.由之前的做题经验可知,这道题会涉及到…

Linux - 基本开发工具

1、软件包管理器 yum 1.1、什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方…

【nodejs】“__dirname is not defined”错误修复

▒ 目录 ▒ 🛫 问题描述环境 1️⃣ 原理CommonJS vs ESM错误原因 2️⃣ 禁用 ESM 模式并改用 CommonJS方案一:项目方案二:单文件 3️⃣ 在 ESM 模式下自实现__dirname📖 参考资料 🛫 问题 描述 从网上找了一份代码&am…

数据结构(二)——线性表

二、线性表 2.1线性表的定义和基本操作 2.1.1 线性表的基本概念 线性表:是具有相同数据类型的 n 个数据元素的有限序列。(Eg:所有的整数按递增次序排列,不是顺序表,因为所有的整数是无限的)其中n为表长,当n0时线性表是一个空表…