
Java面试知识点
文章平均质量分 81
该专栏会更新面试常见的问题
夏屿_
这片绿茵从不缺乏天才 努力才是最终入场券
展开
-
isBlank函数和isEmpty函数的区别
该方法用于判断字符串是否为空。如果传入的字符串为null或空字符串(“”),则返回true;否则返回false。与isBlank()不同,isEmpty()不会考虑空白字符,只关注字符串是否为空。:该方法用于判断字符串是否为空或仅包含空白字符。如果传入的字符串为null、空字符串(“”)或仅包含空白字符(如空格、制表符、换行符等),则返回true;否则返回false。原创 2023-07-12 11:11:37 · 637 阅读 · 0 评论 -
关于sleep,wait,yield,join的区别
文章目录一、JVM线程通常有六种状态二、Java中sleep,wait,yield,join的区别一、JVM线程通常有六种状态New(新建): 尚未启动的线程的线程状态。Runnable(可运行): 可运行线程的线程状态,等待CPU调度。Blocked(阻塞): 线程阻塞等待监视器锁定的线程状态。处于synchronized同步代码块或方法中被阻塞。Waiting(无限期等待): 等待其它线程显式地唤醒,否则不会被分配 CPU 时间片。Timed Waiting(限期等原创 2022-04-08 12:00:00 · 1706 阅读 · 2 评论 -
volatile关键字详解
文章目录一、Java内存模型概述二、Java内存模型的承诺2.1原子性如何保证原子性2.2理解指令重排2.3可见性如何保证可见性2.4有序性如何保证有序性2.5总结:三、volatile的作用详解3.1volatile禁止重排序3.2volatile可见性3.3 i++为什么不能保证原子性?3.4共享的long和double变量的为什么要用volatile?四、volatile 的实现原理4.1volatile可见性实现4.2volatile有序性实现volatile 的 happens-before关系v原创 2022-04-07 17:00:00 · 717 阅读 · 0 评论 -
Java向上转型与向下转型
向上转型与向下转型详解原创 2022-04-06 20:02:25 · 222 阅读 · 0 评论 -
Synchronized关键字详解
文章目录一、Synchronized的使用1.1对象锁1.2类锁二、Synchronized原理分析2.1加锁和释放锁的原理引入背景线程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点一是存在共享数据(也称临界资源)二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式有个高尚的名称叫互斥锁,即能达到互斥访原创 2022-04-06 18:29:37 · 5203 阅读 · 2 评论 -
String、StringBuffer、StringBuilder三者的联系
StringStringBufferStringBuilder原创 2022-03-30 01:01:35 · 552 阅读 · 1 评论 -
JVM详解
jvm核心知识点讲解原创 2022-03-28 11:42:45 · 24639 阅读 · 6 评论