摘要: 1.安装epel仓库 yum install epel-release 2.安装redis yum install -y redis 3.修改redis配置文件 vi /etc/redis.conf # bind 127.0.0.1 daemonize yes requirepass yourPas 阅读全文
posted @ 2021-07-31 01:48 一柒微笑 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 1.下载rpm包(下载地址) https://www.oracle.com/java/technologies/downloads/ 2.安装 rpm -ivh jdk-8u281-linux-x64.rpm -i 显示套件的相关信息 -v 显示指令执行过程 -h 或 --hash 套件安装时列出标 阅读全文
posted @ 2021-07-31 01:06 一柒微笑 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1.JMV架构图: 2.什么是类装载器? ClassLoader负责加载class文件,class文件在文件开头有特定的文件标识(cafe babe),将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构。ClassLoader只负责class文件的加载,至于是否可以运 阅读全文
posted @ 2021-07-05 23:58 一柒微笑 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 1.创建线程的方式? 2.为什么使用线程池?有什么优势? 3.线程池的3个常用方式? 4.线程池的7大参数? 5.线程池底层工作原理? 6.线程池的拒绝策略? 7.线程池工作原理的代码验证? public static void main(String[] args) throws Exceptio 阅读全文
posted @ 2021-07-04 18:50 一柒微笑 阅读(71) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch 倒计时锁 CyclicBarrier 循环栅栏 Semaphore 信号量 主要用于两个目的,一个是用于多个共享资源的互斥使用,另一个用于并发线程数的控制 线程顺序控制示例 实现三个线程A->B->C启动,要求如下: AAA打印5次,BBB打印10次,CCC打印15次 阅读全文
posted @ 2021-07-02 05:54 一柒微笑 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 1.公平锁与非公平锁? 公平锁:遵循FIFO(先进先出)的原则,先到的线程优先获取资源 非公平锁:后到的线程有可能先获取到资源 ReentrantLock,ReentrantReadWriteLock 默认构造都是非公平锁,非公平锁的优点在于吞吐量比公平锁大。synchronized也是非公平锁 2 阅读全文
posted @ 2021-07-02 04:37 一柒微笑 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 1.首先运行这两段代码会抛出一个java.util.ConcurrentModificationException的异常 public class ContainerNotSafeDemo { public static void main(String[] args) { List<String> 阅读全文
posted @ 2021-07-02 03:27 一柒微笑 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 1.CAS是什么? Compare And Swap,比较并交换,它是一条CPU并发原语。功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的。 调用Unsafe类中的CAS方法,JVM会帮我们实现出CAS的汇编指令,这是依赖与硬件的功能实现的原子操作。CAS是一种系统原语 阅读全文
posted @ 2021-07-02 00:44 一柒微笑 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1.volatile是什么? volatile是java虚拟机提供的轻量级的同步机制,具有如下特性: a.保证可见性 b.不保证原子性 c.禁止指令重排 2.JMM内存模型? JMM——https://www.cnblogs.com/zhouxuezheng/p/14950302.html 3.vo 阅读全文
posted @ 2021-07-01 22:34 一柒微笑 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 一、JMM定义 Java内存模型(Java Memory Model)是在硬件内存模型基础上更高层的抽象,它屏蔽了各种硬件和操作系统对内存访问的差异性,从而实现让Java程序在各种平台下都能达到一致的并发效果。 二、JMM中关于线程同步的约定 1、线程在解锁前,必须把共享的变量立刻刷新回主存 2、线 阅读全文
posted @ 2021-06-29 15:29 一柒微笑 阅读(55) 评论(0) 推荐(0) 编辑