
JVM、JUC
文章平均质量分 91
JVM相关的知识
墨xiao渊
这个作者很懒,什么都没留下…
展开
-
阻塞队列的使用
目录1. 概念1.1 队列:1.2 阻塞队列:1.3 解释:2 为什么需要BlockingQueue(阻塞队列的优势)3 使用场景4 架构4.1ArrayBloackingQueue:4.2 LinkedBlockingQueue:4.3 SynchonousBlockingQueue:5 BlockingQueue 核心方法5.1抛出异常5.1.1DEMO-抛出异常(阻塞队列满时)5.1.2DEMO-抛出异常(阻塞队列空时)5.1.3 D..原创 2021-08-04 22:16:22 · 1109 阅读 · 0 评论 -
JUC包中的 CountDownLatch/CyclicBarrier/Semaphore
1. CountDownLatch1.1 概念1.2 CountDownLatch方法(2个)1.3 DEMO1.3.1 DEMO-使用之前1.3.2 DEMO-使用之后1.3.3 DEMO-生活案例,秦灭六国,一统华夏2CyclicBarrier2.1 概念2.2 DEMO3 Semaphore(信号灯,信号量)3.1 概念3.2 使用场景3.3 DEMO原创 2021-08-04 13:38:04 · 212 阅读 · 0 评论 -
string.intern
1 intern1.1 string.intern()方法源码:1.2 解释intern() 返回一个字符串常量池对象调用时,已包含对象,string直接被返回没有对象,会被新建到池中返回1.3 DEMOpublic class StringPool58Demo { public static void main(String[] args) { String str1 = new StringBuffer("58").append("tong.原创 2021-08-12 15:32:32 · 127 阅读 · 0 评论 -
垃圾收集器,垃圾回收算法
垃圾回收算法:4种复制用在新生代,后两种用在老年代。1GC垃圾回收算法和垃圾收集器的关系?分别是什么?垃圾收集器就是 以下引用计数,复制,标记清除,标记压缩整理四种算法的实现类。1.1 四种主要的垃圾收集器1.1.1 串行垃圾回收器(Serial):它为单线程环境设计,且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务器环境。例子:好比吃饭时被打断,中间打扫了一下,打扫后继续用餐。总结:单线程环境,单线程垃圾回收,用户程序会暂停。1.1.2 并行.原创 2021-08-09 22:31:41 · 922 阅读 · 0 评论 -
OOM的认识
以下内容均来自Java面试_高频重点面试题 (第一、二、三季)_ 面试 第1、2、3季_柴林燕_周阳_哔哩哔哩_bilibili用于个人学习笔记记录,如有维权,可联系删除。1 java.lang.StackOverflowError方法的加载在栈中,栈管运行,易出现在递归方法中,方法特别多把栈空间撑爆了。1.1 DEMO-栈溢出public class StackOverflowErrorDemo { //栈一般大小是512-1024 public static原创 2021-08-09 15:48:46 · 150 阅读 · 0 评论 -
强引用,软引用,弱引用,虚引用
Book b1= new Book();一般这个就是强引用整体架构:原创 2021-08-08 21:28:13 · 515 阅读 · 0 评论 -
JVM GC垃圾回收
4中类装载器:启动类(根)加载器 bootstrap拓展类加载器应用加载器自定义:继承class抽象类双亲委派java类加载过程中的杀箱安全机制灰色:线程私有亮色:线程公有堆内存:伊甸园区幸存者0区幸存者1区养老区java7以前: 永久代java8 : metaspace 云空间有对象引用+1, 没对象引用-1,到0回收复制算法 年轻代复制之后有交换,谁空谁是two...原创 2021-08-08 21:30:03 · 397 阅读 · 0 评论 -
JVM运行时数据区,理解变量存储位置和作用域
目录1 DEMO【文献3】2 JVM运行时数据区【文献1】2.1 程序计数器(Program Counter Register)2.1.1 程序计数器的作用位置2.1.2使用程序计数器存储字节码指令地址有什么用?为什么使用程序计数器记录当前线程的执行地址呢?2.1.3 程序计数器为什么被设定为线程私有的2.2 Java虚拟机栈(Java Virtual Machine Stacks)2.2.1 Java虚拟机栈是什么?2.2.2 作用2.2.3 栈中存储什么?2.原创 2021-08-02 22:08:43 · 450 阅读 · 0 评论 -
JVM之volatile, 内存模型,AtomicInteger
目录1. volatile介绍2. JMM(JAVA Memory Model,java内存模型,简称JMM)2.1 定义2.2 JMM关于同步的规定:2.3 访问过程解析2.4 可见性总结:3volatile 特点3.1 保证内存可见性3.1.1 DEMO验证 - 未被volatile修饰的int变量内存不可见, 故main线程一直在while循环3.1.2 DEMO验证 - volatile 保障内存可见性,只需要在int number 前面加上 volati..原创 2021-07-31 22:13:16 · 623 阅读 · 0 评论 -
JVM之CAS(Compare and swap缩写)
CAS简介;CAS底层原理;Unsafe定义;CAS为什么保证原子性?Unsafe类底层源码解析;CAS缺点;如何解决ABA问题;原创 2021-08-01 19:41:02 · 1678 阅读 · 0 评论