2024年9月8日

JVM常见面试题

摘要: jvm的内存模型以及分区情况和作用 堆、栈、方法区、程序计数器。 其中堆区和方法区是线程共有区域,其他三个区域是线程私有区域。 方法区 用于存储虚拟机加载的类信息,常量,静态变量等数据, 堆 存放对象实例,所有的对象和数组都要在堆上分配。是JVM 所管理的内存中最大的一块区域。 虚拟机栈(java方 阅读全文

posted @ 2024-09-08 18:58 ~码铃薯~ 阅读(8) 评论(0) 推荐(0) 编辑

synchronized

摘要: synchronized synchronized底层是如何实现的 以及 什么是锁的升级和降级? synchronized是java内建的一种同步机制,当一个线程已经获取到锁了,其他的线程试图获取锁的时候就只能等待或者阻塞在那里。synchronized可以用来修饰方法也可以用来修饰代码块。 syn 阅读全文

posted @ 2024-09-08 14:56 ~码铃薯~ 阅读(18) 评论(0) 推荐(0) 编辑

常见并发工具类的使用场景

摘要: 常见并发工具类的使用场景 ReentrantLock ReentrantLock是一种可重入的独占锁,它允许同一个线程多次获取同一把锁而不会被阻塞。它的功能类似于synchronized是一种互斥锁,可以保证线程安全。 可中断 可以设置超时时间 可以设置为公平锁 支持多个条件变量 与 synchro 阅读全文

posted @ 2024-09-08 11:58 ~码铃薯~ 阅读(8) 评论(0) 推荐(0) 编辑

tryLock 和Lock 和 lockinterruptibly 的区別

摘要: tryLock 和Lock 和 lockinterruptibly 的区別 1.tryLock 能获得锁就返回 true,不能就立即返回 false,tryLock(longtimeout,TimeUnit unit),可以增加时间限制,如果超过该时间段还没获得锁,返回 false 2lock能获得 阅读全文

posted @ 2024-09-08 09:13 ~码铃薯~ 阅读(14) 评论(0) 推荐(0) 编辑

导航