![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 59
友兮
知识改变命运,科技改变未来!
展开
-
【性能方面指标】
性能方面指标性能方面指标性能方面指标性能方面指标: 吞吐量,退出,并发量。吞吐量: 单位时间内能够处理的请求数量,吞吐量越高,性能越好。延迟: 发出请求到收到响应的时间。延迟越小,性能越好。并发量: 同时请求的并发数,支持处理请求并发越多,性能越好。...原创 2022-02-23 15:12:04 · 1625 阅读 · 0 评论 -
【mysql原子性保证ACID示例】
在我们的实际开发中,往往会遇到更新数据字段的问题。如投票时,如果多人同时投票,是否存在在取数据并更新的时候,原始值是相同的,而后续的update操作会造成错误的数据?示例:比如,表名A,字段名为 number,如下的SQL语句: // 语句1: update A set number = number+5 where id=1; // 语句2: update A set number =number+7 where id=1;假设这两条SQL语句同时被mysql执行,原创 2022-02-21 09:29:26 · 128 阅读 · 0 评论 -
【String、StringBuffer与StringBuilder区别】
String、StringBuffer与StringBuilder区别StringStringBuffer与StringBuilder做个小笔记使用场景小结String字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。String表示字符串。字符串是常量,它们的值在创建后无法更改。因为 String 对象是不可变的,所以它们可以被共享,是线程安全的。由于String的值是不可变的,这就导致每次对String的操作都会生成新的St原创 2022-02-17 16:02:31 · 256 阅读 · 0 评论 -
【Java 对象头】
Java 对象头Java对象的组成Mark Word 标记字Java对象的组成java对象 == java 对象头 + 对象体 + 对其字节(保证是8 byte 的整数倍)对象的几个部分的作用:Mark Word:主要用来表示对象的线程锁状态,另外还可以用来配合GC、存放该对象的hashCodeKlass Word:是一个指向方法区中Class信息的指针,意味着该对象可随时知道自己是哪个Class的实例数组长度:占用64位(8字节)的空间,这是可选的,只有当本对象是一个数组对象时才会有这个部原创 2022-02-16 17:50:49 · 224 阅读 · 0 评论 -
【synchronized关键字】
synchronized关键字synchronized的使用加锁方式synchronized底层原理synchronized的使用synchronized同步块是Java 提供的一种原子性内置锁,Java中每个对象都可以把他当做一个同步锁来使用,这些Java内置的使用者看不到的锁被称之为内置锁,也叫做监视器锁。加锁方式分类具体分类被锁对象伪代码方法实例方法类的实例对象public synchronized void method(){ ... ... }方法原创 2022-02-16 14:27:02 · 148 阅读 · 0 评论 -
【临界区和竞态条件】
这里写目录标题临界区竞态条件临界区一段代码块内如果存在对共享资源的多线程读写操作,称这段代码块为临界区,其共享资源为临界资源。竞态条件多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件。为了避免临界区的竞态条件发生,有多种手段可以达到目的:阻塞式的解决方案:synchronized,lock非阻塞式的解决方案:原子变量public class Demo{ // 临界资源 private static int count = 0; // 临界区原创 2022-02-16 13:53:47 · 171 阅读 · 0 评论 -
【happen-before原则】
happen-before原则JMM内存模型JMM定义指令重排序什么是happen-beforeJMM内存模型java内存模型是共享内存的并发模型,线程之间主要通过读-写共享变量来完成隐式通信。java中的共享变量是存储在内存中的,多个线程由其工作内存,其工作方式是将共享内存中的变量拿出来放在工作内存,操作完成后,再将最新的变量放回共享变量,这时其他的线程就可以获取到最新的共享变量。JMM定义Java虚拟机规范中定义了Java内存模型(Java Memory Model,JMM),用于屏蔽掉各个硬件原创 2022-02-10 14:54:36 · 323 阅读 · 0 评论 -
【并发三大特性】
并发编程并发和并行并发和并行目标都是最大化CPU的使用率并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。并行在多处理器系统中存在,而并发可以在单处理器和多处理器系统中都存在,并发能够在单处理器系统中存在是因为并原创 2022-02-04 17:39:10 · 585 阅读 · 0 评论