• 一小时git教程

    https://www.bilibili.com/video/BV1HM411377j 安装和配置下载地址:https://git-scm.com/ 查看一下版本,确保安装成功 1git -v 配置一下用户名和邮箱 12git config --global user.name "Dongyun Xue"git config --global user.email 123567...
  • SpringBoot-基础入门

    视频地址 https://www.bilibili.com/video/BV19K4y1L7MT 文档地址 https://www.yuque.com/atguigu/springboot/oovrhy 一.基础入门hello-world编写项目 Maven依赖 123456789101112<parent> <groupId>org.springfram...
  • SpringBoot-核心功能

    二.核心功能配置文件yaml 字面量 1k1: v1 对象:键值对的集合(map,hash,set,object) 123456k: {k1:v1, k2:v2, k3:v3}# 或k: k1: v1 k2: v2 k3: v3 数组:顺序排列的值(array,list,queue) 123456k: [v1, v2, v3]# 或k: - v1 - v2 - v3 转义...
  • JVM系列:尚硅谷JVM笔记总和

    JVM和Java体系结构Java虚拟机Java虚拟机(JVM,Java Virtual Machine): 一台执行Java字节码的虚拟计算机,拥有独立的运行机制 转载字节码到内部,解释/编译为对应平台上的机器指令 特点: 一次编译到处运行 自动内存管理 自动垃圾回收 Java代码执流程flowchart LR code("Java源码(.java)") --> ...
  • JUC系列:(七)同步器

    AQS核心思想AQS(AbstractQueuedSynchronizer),是阻塞式锁的框架,许多同步类都依赖于该同步器 独占与共享: AQS用状态属性,来表示资源的状态 独占模式:只有一个线程能访问资源 共享模式:允许多个线程访问资源,比如Semaphore,ReentrantReadWriteLock AQS核心思想: 如果请求的资源空闲,则将当前线程设为有效的工作线程,资...
  • JUC系列:(三)同步

    临界区临界资源:一次仅允许一个进程使用的资源 临界区:访问临界资源的代码块 竞态条件:多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测 避免临界区竞态条件发生: 阻塞式:synchronized,lock 非阻塞式:原子变量 synchronized使用锁完成同步synchronized是可重入、不公平的重量级锁 同步代码块: 锁对象建议使用共享资源 实例方法使用:th...
  • JUC系列:(四)内存

    JMMJava内存模型(Java Memory Model),是一个抽象的概念。 详细内容: 系统存在一个主内存(Main Memory),Java中所有的变量都存储在主存中,对所有线程都是共享的 每条线程都有自己的工作内存(Working Memory),保存的是主存中变量的拷贝 线程对所有变量的操作都是先对变量进行拷贝,然后在工作内存中进行,不能直接操作主内存中的变量 线程之间无...
  • JUC系列:(五)无锁

    CASCAS (Compare-And-Swap),是CPU并发原语 在Java中: 调用UnSafe类中的CAS 方法,JVM会实现出CAS汇编指令,这是一种完全依赖于硬件的功能,实现了原子操作 CAS作用: 比较当前工作内存中的值和主物理内存中的值,如果相同则执行规定操作 CAS特点: CAS是基于乐观锁的思想 无锁并发,无阻塞并发(线程不会陷入阻塞,线程不需要频繁切换上下文...
  • JUC系列:(六)线程池

    基本概述线程池作用:线程复用 降低资源消耗:减少了创建和销毁线程的次数 提高响应速度:任务到达,如果有线程可以直接用 提高可管理性:使用线程池可以进行统一的分配,管理 阻塞队列基本介绍阻塞队列的实现(java.util.concurrent.BlockingQueue接口): ArrayBlockQueue:数组结构,有界阻塞队列 LinkedBlockingQueue:链表结构,无界...
  • JUC系列:(一)进程

    概述进程与线程: 进程:程序实体的运行过程就是进程,是系统进行资源分配的基本单位 线程:是一个基本的CPU执行单元,是程序执行流的最小单元。线程是进程中的一个实体,是系统独立调度的基本单位 并行与并发: 并行:同一时刻,多个指令在多个CPU上同时执行 并发:同一时刻,多个指令在单个CPU上交替执行(时间片轮转)(好像在同一时间发生一样) 同步与异步: 同步:需要等待结果返回...
1235