摘要: 零、了解 Java线程之间的通信对程序员完全透明,内存可见性问题很容易困扰Java程序员,本章将揭开Java内存模型神秘的面纱。本章大致分4部分:Java内存模型的基础,主要介绍内存模型相关的基本概念;Java内存模型中的顺序一致性,主要介绍重排序与顺序一致性内存模型;同步原语,主要介绍3个同步原语 阅读全文
posted @ 2021-08-13 19:16 宋佳强 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 一、volatile的应用 1.1、volatile的实现原理 原子性: 操作A和操作B: 对于操作A来说:操作B要么不执行,要么完全执行完。B对于A就有原子性 可见性:(加锁) 一个线程对一个变量进行修改,另外一个线程可以立马感知到,必须等待。 有序性: 代码执行的顺序和大脑想象的顺序是一样的,所 阅读全文
posted @ 2021-08-13 19:14 宋佳强 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 一、上下文切换 CPU不停地切换线程执行,我们感觉多个线程是同时执行的,实际是来回切换时间片达到的,时间片的切换一般是 几十毫秒(ms) 1.1、如何减少上下文的切换 减少上下文切换的方法有无锁并发编程、CAS算法、使用最少线程、使用协程 1、无锁并发编程。 多线程竞争锁的时,会引起上下文的切换,所 阅读全文
posted @ 2021-08-13 19:13 宋佳强 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 一、概述 类加载器是JVM 执行类加载机制的前提。 ClassLoader的作用: ClassLoader 是 Java 的核心组件,所有的 Class 都是由 ClassLoader 进行加载的,ClassLoader 负责通过各种方式将 Class 信息的二进制数据流读入JVM内部,转换为一个与 阅读全文
posted @ 2021-07-25 14:00 宋佳强 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 一、概述 在 Java 中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载 按照 Java 虚拟机规范,从 Class 文件到加载到内存中的类,到类卸载出内存位置,它的整个生命周期包括如下七个阶段 其中,验证、准备、解析 3 个部分统称为链接(Li 阅读全文
posted @ 2021-07-22 15:49 宋佳强 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 一、概述 Java字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行命令 Java虚拟机的指令由一个字节长度的,代表着某种特定操作含义的数字(称为操作码:Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数:Operands)构成 由于Java虚拟机采用面向操作数栈而不是寄存器的 阅读全文
posted @ 2021-07-22 15:47 宋佳强 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 零、mysql锁机制 数据库锁机制简单来说,就是数据库为了保证数据的一致性,使各种共享资源在被访问时变得有序而设计的一种规则! MysQL的锁机制比较简单最著的特点是不同的存储引擎支持不同的锁机制。InoDB支持行锁(有时也会升级为表锁);MyISAM只支持表锁; 行锁:锁数据的一行,开销小、加锁快 阅读全文
posted @ 2021-07-20 17:55 宋佳强 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1.1、Java语言:跨平台的语言 1.当java源代码成功编译成字节码后,如果想在不同的平台运行,无需再次编译 2.这个优势不再那么吸引人,Python 3.跨平台似乎已经快成为一门语言必选的特性 1.2、java虚拟机:跨语言的平台 1.Java虚拟机不和包括Java在内的任何语言绑定 阅读全文
posted @ 2021-07-18 15:46 宋佳强 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 一、事务简介 (1)在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务 (2)事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。 (3)事务用来管理insert,update,delete语句。 二、事务的四大特性 一般来说,事务必须满足四个条件 阅读全文
posted @ 2021-07-17 22:04 宋佳强 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL的数据结构类型 1、B树 数据在各个节点上 三层即 百万数据 2、B+树 数据在叶子节点上 3、为什么使用B/B+树 红黑树等数据结构也可以实现索引,但是文件系统以及数据库系统普遍使用B+树来作为索引结构。 Mysql是基于 磁盘 的数据库系统,索引往往以 索引的形式 存储于磁盘上,索 阅读全文
posted @ 2021-07-17 22:02 宋佳强 阅读(85) 评论(0) 推荐(0) 编辑