Faith
Faith is taking the first step even when you don't see the whole staircase--Martin Luther King
Java内存溢出OOM Java内存溢出OOM
JVM 中常见的两个错误:StackoverFlowError (栈溢出)和OutofMemoryError: java heap space(堆溢出),这两种是属于 Error,而不是 Exception 除此之外,OutOfMemory
2023-05-11
JVM重要参数 JVM重要参数
JVM参数类型 标配参数 -version -help java -showversion X参数(了解) -Xint:解释执行 -Xcomp:第一次使用就编译成本地代码 -Xmixed:混合模式 XX参数(重点) Boolean类
2023-05-10
JVM垃圾回收 JVM垃圾回收
可以看JavaGuide的这篇文章JVM 垃圾回收详解或者周志明《深入理解Java虚拟机 第3版》第三章部分
2023-05-09
死锁和Java内存区域 死锁和Java内存区域
死锁概念死锁是指两个或多个以上的进程在执行过程中,因争夺资源而造成一种互相等待的现象,若无外力干涉那他们都将无法推进下去。如果资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。 如下图所示,
2023-05-05
阻塞队列和线程池 阻塞队列和线程池
阻塞队列概念阻塞队列(BlockingQueue) 是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队
2023-04-19
Java锁 Java锁
在程序世界中,Java 锁的最终目的都是为了保证线程安全,避免在并发场景下的资源竞争问题。但考虑适用场合和性能问题,就出现了各种 Java 锁 独占锁和共享锁从字面意思也能大概理解这两种锁的作用,独占锁是指该锁一次只能被一个线程所持有(独占
2023-04-15
Java集合线程不安全举例 Java集合线程不安全举例
Java 集合,也叫做容器,主要由两大接口派生而来: Collection接口(存放单一元素)、 Map 接口(存放键值对)。对于Collection 接口,有三个主要的子接口:List、Set 和 Queue。有关内容学习可以看 Java
2023-04-13
MySQL事务和SQL语句执行过程 MySQL事务和SQL语句执行过程
MySQL事务 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败 控制事务一 查看/设置事务提交方式 SELECT @@autocommi
CAS和ABA问题 CAS和ABA问题
CAS 概念 CAS 的全称是 Compare-And-Swap,它是 CPU 并发原语,功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值 CAS 并发原语体现在 Java 语言中就是 sun.misc.Unsafe 类的各个方
2023-04-11
MySQL索引 MySQL索引
索引(index)是帮助 MySQL 高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引 索引
JMM内存模型和volatile关键字 JMM内存模型和volatile关键字
JMMJMM 的全称是 Java Memory Model,即 Java 内存模型。 一般来说,编程语言可以直接使用操作系统层面的内存模型。不过不同操作系统内存模型不同,如果直接使用操作系统层面的内存模型,就可能导致同样一套代码换了一个操作
2023-04-07
jmeter高并发测试 jmeter高并发测试
这里测试的场景是秒杀优惠券的抢购,总共有200张优惠券,1000个人同时抢购,测试系统高并发下的性能。由于我是新建的系统,所以本次测试分为两步进行,第一步是生产数据,也就是让1000个用户登录登录系统,然后再用jmeter进行测试。 生产数
1 / 6