文章 2024-06-12 来自:开发者社区

Java基础4-一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!(二)

Java基础4-一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!(一):https://developer.aliyun.com/article/1535629 String为什么不可变? 翻开JDK源码,java.lang.String类起手前三行,是这样写的: ...

文章 2024-06-12 来自:开发者社区

Java基础4-一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!(一)

String基础 Java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 创建字符串 创建字符串最简单的方式如下: String greeting = "菜鸟教程"; 在代码中遇到字符串常量时,这里的值是 "菜鸟教程"",编译器会使用该值创建一个 St...

Java基础4-一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!(一)
文章 2024-01-22 来自:开发者社区

Java并发编程—并发流程控制与AQS原理及相关源码解析

Java并发编程代码GitHub地址 github.com/imyiren/con…刨根问底搞懂创建线程到底有几种方法?如何正确得启动和停止一个线程 最佳实践与源码分析多案例理解Object的wait,notify,notifyAll与Thread的sleep,yield,join等方法了解线程属性,如何处理子线程异常多线程安全和性能问题JMM(Java内存模型)在并发中的原理与应用深入理解死锁....

文章 2024-01-02 来自:开发者社区

Java Review - 并发编程_ThreadPoolExecutor原理&源码剖析

线程池主要解决两个问题一是当执行大量异步任务时线程池能够提供较好的性能。在不使用线程池时,每当需要执行异步任务时直接new一个线程来运行,而线程的创建和销毁是需要开销的。线程池里面的线程是可复用的,不需要每次执行异步任务时都重新创建和销毁线程。二是线程池提供了一种资源限制和管理的手段,比如可以限制线程的个数,动态新增线程等。每个ThreadPoolExecutor也保留了一些基本的统计数据,比如....

Java Review - 并发编程_ThreadPoolExecutor原理&源码剖析
文章 2024-01-02 来自:开发者社区

Java Review - 并发编程_ConcurrentLinkedQueue原理&源码剖析

概述JDK中提供了一系列场景的并发安全队列。总的来说,按照实现方式的不同可分为阻塞队列和非阻塞队列,阻塞队列使用锁实现非阻塞队列则使用CAS非阻塞算法实现ConcurrentLinkedQueueConcurrentLinkedQueue是线程安全的无界非阻塞队列,其底层数据结构使用单向链表实现,对于入队和出队操作使用CAS来实现线程安全。【类图】ConcurrentLinkedQueue内部的....

Java Review - 并发编程_ConcurrentLinkedQueue原理&源码剖析
文章 2024-01-02 来自:开发者社区

Java Review - 并发编程_独占锁ReentrantLock原理&源码剖析

Synchronized vs ReentrantLockReentrantLock概述ReentrantLock是可重入的独占锁,同时只能有一个线程可以获取该锁,其他获取该锁的线程会被阻塞而被放入该锁的AQS阻塞队列里面。类图结构如下底层基于AQS实现,ReentrantLock的lock等方法,委托给其依赖sync的lock方法AQS 是典型的模板方法设计模式,父类(AQS)定义好骨架和内部....

Java Review - 并发编程_独占锁ReentrantLock原理&源码剖析
文章 2023-05-29 来自:开发者社区

Java Review - 并发编程_ 信号量Semaphore原理&源码剖析

概述Semaphore信号量也是Java中的一个同步器,与CountDownLatch和CycleBarrier不同的是,它内部的计数器是递增的,并且在一开始初始化Semaphore时可以指定一个初始值,但是并不需要知道需要同步的线程个数,而是在需要同步的地方调用acquire方法时指定需要同步的线程个数。小Demo同样下面的例子也是在主线程中开启两个子线程让它们执行,等所有子线程执行完毕后主线....

Java Review - 并发编程_ 信号量Semaphore原理&源码剖析
文章 2023-05-29 来自:开发者社区

Java Review - 并发编程_ 回环屏障CyclicBarrier原理&源码剖析

PreJava Review - 并发编程_ CountDownLatch原理&源码剖析介绍的CountDownLatch在解决多个线程同步方面相对于调用线程的join方法已经有了不少优化,但是CountDownLatch的计数器是一次性的,也就是等到计数器值变为0后,再调用CountDownLatch的await和countdown方法都会立刻返回,这就起不到线程同步的效果了。所以为了....

Java Review - 并发编程_ 回环屏障CyclicBarrier原理&源码剖析
文章 2023-05-29 来自:开发者社区

Java Review - 并发编程_ CountDownLatch原理&源码剖析

Pre每日一博 - CountDownLatch使用场景分析以及源码分析在日常开发中经常会遇到需要在主线程中开启多个线程去并行执行任务,并且主线程需要等待所有子线程执行完毕后再进行汇总的场景。在CountDownLatch出现之前一般都使用线程的join()方法来实现这一点,但是join方法不够灵活,不能够满足不同场景的需要,所以JDK开发组提供了CountDownLatch这个类,使用Coun....

Java Review - 并发编程_ CountDownLatch原理&源码剖析
文章 2023-05-29 来自:开发者社区

Java Review - 并发编程_ScheduledThreadPoolExecutor原理&源码剖析

概述Java Review - 并发编程_ThreadPoolExecutor原理&源码剖析 我们复习了Java中线程池ThreadPoolExecutor的原理,ThreadPoolExecutor只是Executors工具类的一部分功能。下面来介绍另外一部分功能,也就是ScheduledThreadPoolExecutor的实现,这是一个可以在指定一定延迟时间后或者定时进行任务调度执....

Java Review - 并发编程_ScheduledThreadPoolExecutor原理&源码剖析

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等