volatile的用途

volatile的作用 1.线程可见性 volatile 底层是 lock add指令 LOCK 用于在多处理器中执行指令时对共享内存的独占使用。 它的作用是能够将当前处理器对应缓存的内容刷新到内存,并使其他处理器对应的缓存失效(所以要重新去内存读,便实现了线程可见性)。 package com.ma...

阅读更多

谈谈CAS

CAS底层原理 概念 CAS的全称是Compare-And-Swap,它是CPU并发原语 它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的 CAS并发原语体现在Java语言中就是sun.misc.Unsafe类的各个方法。调用UnSafe类中的CAS方法,JVM会帮我们实...

阅读更多

Java方法返回值前面的<T>是什么?

Java方法返回值前面的<T>是什么? 泛型方法:方法返回值前的<T>的左右是告诉编译器,当前的方法的值传入类型可以和类初始化的泛型类不同,也就是该方法的泛型类可以自定义,不需要跟类初始化的泛型类相同 例子: class Show<T> { public void ...

阅读更多

计算机网络概述

计算机网络概述 书籍:计算机网络自顶向下. TCP/IP详解 计算机网络的类别 计算机网络的性能 速率 连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称data rate或bit rate(比特率),单位是b/s, kb/s, Mb/s, Gb/s。和正常...

阅读更多

Java开发常用函数

Java开发常用函数 获取随机数 UUID.randomUUID().toString() // JDK提供的一个自动生成主键的方法 System.currentTimeMillis() // 当前时间 校验 集合类校验 boolean notEmpty = CollectionUtils.isNo...

阅读更多

centos虚拟机扩展磁盘空间

centos虚拟机扩展磁盘空间 🤮 1)在vmware中增加硬盘容量 2)执行命令:lsblk 进行查看 ,发现我在虚拟机中扩展的空间在sda中,综合各种说法,说白了就是这个sda并没有进行分区 3)执行命令:fdisk /dev/sda 对sda进行开垦,将sda空间开垦成sda3 p-&...

阅读更多

Zookeeper学习笔记

ZooKeeper学习笔记 Zookeeper入门 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的 Apache 项目。 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状...

阅读更多

Java高并发编程

Java高并发编程 JUC是什么 java.util.concurrent 在并发编程中使用的工具类 进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 ...

阅读更多