- 前言上篇文章10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer)说到JUC并发包中的同步组件大多使用AQS来实现本篇文章通过AQS自己来实现一个同步组件,并从源码级别聊聊JUC并发包中的常用同步组件本篇文章需要的前置知识就是AQS,如果不了解AQS的同学可以看上一篇文章哈~阅读本篇文章大概需要13分钟 自定义同步组件为了更容易理解其他同步组件,我们先来使用A... 前言上篇文章10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer)说到JUC并发包中的同步组件大多使用AQS来实现本篇文章通过AQS自己来实现一个同步组件,并从源码级别聊聊JUC并发包中的常用同步组件本篇文章需要的前置知识就是AQS,如果不了解AQS的同学可以看上一篇文章哈~阅读本篇文章大概需要13分钟 自定义同步组件为了更容易理解其他同步组件,我们先来使用A...
- 前言上篇文章15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized有说到synchronized由object monitor实现的object monitor中由cxq栈和entry list来实现阻塞队列,wait set实现等待队列,从而实现synchronized的等待/通知模式而JDK中的JUC并发包也通过类似的阻塞队列和等待队列实现等待/通知模式这篇文章就来... 前言上篇文章15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized有说到synchronized由object monitor实现的object monitor中由cxq栈和entry list来实现阻塞队列,wait set实现等待队列,从而实现synchronized的等待/通知模式而JDK中的JUC并发包也通过类似的阻塞队列和等待队列实现等待/通知模式这篇文章就来...
- Synchronized本篇文章将围绕synchronized关键字,使用大量图片、案例深入浅出的描述CAS、synchronized Java层面和C++层面的实现、锁升级的原理、源码等大概观看时间17分钟可以带着几个问题去查看本文,如果认真看完,问题都会迎刃而解:1、synchronized是怎么使用的?在Java层面是如何实现?2、CAS是什么?能带来什么好处?又有什么缺点?3、ma... Synchronized本篇文章将围绕synchronized关键字,使用大量图片、案例深入浅出的描述CAS、synchronized Java层面和C++层面的实现、锁升级的原理、源码等大概观看时间17分钟可以带着几个问题去查看本文,如果认真看完,问题都会迎刃而解:1、synchronized是怎么使用的?在Java层面是如何实现?2、CAS是什么?能带来什么好处?又有什么缺点?3、ma...
- volatile随着硬件的提升,机器的核心数从曾经的单核变为多核,为了提升机器的利用率,现在的并发编程变得越来越重要,成为工作中、面试中的重中之重,而为了能够更好的理解、使用并发编程,就应该构建出自己的Java并发编程知识体系。本篇文章将围绕Java中的volatile关键字,深入浅出的描述原子性、可见性、有序性,volatile的作用、实现原理、使用场景以及涉及到的JMM、伪共享等问题为... volatile随着硬件的提升,机器的核心数从曾经的单核变为多核,为了提升机器的利用率,现在的并发编程变得越来越重要,成为工作中、面试中的重中之重,而为了能够更好的理解、使用并发编程,就应该构建出自己的Java并发编程知识体系。本篇文章将围绕Java中的volatile关键字,深入浅出的描述原子性、可见性、有序性,volatile的作用、实现原理、使用场景以及涉及到的JMM、伪共享等问题为...
- 一、前言在前期博文中,堆已经讲得差不多啦,这章我们以一个例子来说说如何设置以及当发生堆溢出的时候怎么排查问题。先看一小段代码:public class Test { private static List<Test> list = new ArrayList<Test>(); private static void main(String[] args) { while(true){ ... 一、前言在前期博文中,堆已经讲得差不多啦,这章我们以一个例子来说说如何设置以及当发生堆溢出的时候怎么排查问题。先看一小段代码:public class Test { private static List<Test> list = new ArrayList<Test>(); private static void main(String[] args) { while(true){ ...
- 一、前言搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解。特将相关内容进行整理。IOC和AOP是Spring中的两个核心的概念,下面谈谈对这两个概念的理解。 二、IOC(Inverse of Control)控制反转,也可以称为依赖倒置。所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B。所谓倒置,你必须理解如果... 一、前言搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解。特将相关内容进行整理。IOC和AOP是Spring中的两个核心的概念,下面谈谈对这两个概念的理解。 二、IOC(Inverse of Control)控制反转,也可以称为依赖倒置。所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B。所谓倒置,你必须理解如果...
- 背景去年下半年,我在微信书架里加入了许多技术书籍,各种类别的都有,断断续续的读了一部分。没有计划的阅读,收效甚微。新年伊始,我准备尝试一下其他方式,比如阅读周。每月抽出1~2个非连续周,完整阅读一本书籍。这个“玩法”虽然常见且板正,但是有效,已经坚持阅读五个月。已读完书籍:《架构简洁之道》、《深入浅出的Node.js》、《你不知道的JavaScript(上卷)》、《你不知道的JavaScri... 背景去年下半年,我在微信书架里加入了许多技术书籍,各种类别的都有,断断续续的读了一部分。没有计划的阅读,收效甚微。新年伊始,我准备尝试一下其他方式,比如阅读周。每月抽出1~2个非连续周,完整阅读一本书籍。这个“玩法”虽然常见且板正,但是有效,已经坚持阅读五个月。已读完书籍:《架构简洁之道》、《深入浅出的Node.js》、《你不知道的JavaScript(上卷)》、《你不知道的JavaScri...
- 前言 在<many-to-on>中这错误很常见,字面意义就是不能被初始化,因为session已经关闭了。 简单理解就是因为,你使用了lazy=true,这样hibernate在从数据库中调数据的时候是不会把关联的对象查出来的,而是保存一个获取值的方法,在你使用getXXX()调用的时候,hiberante会利用这个保存的方法去从数据库中取数据。而往往我们在jsp页面中使用ge... 前言 在<many-to-on>中这错误很常见,字面意义就是不能被初始化,因为session已经关闭了。 简单理解就是因为,你使用了lazy=true,这样hibernate在从数据库中调数据的时候是不会把关联的对象查出来的,而是保存一个获取值的方法,在你使用getXXX()调用的时候,hiberante会利用这个保存的方法去从数据库中取数据。而往往我们在jsp页面中使用ge...
- 背景null 在 Java 中经常是一个问题源头,因为它可能导致 NullPointerException(NPE),这是 Java 应用程序中常见的运行时异常。为了解决这个问题,Java 8 引入了 Optional 类,这是一个可以为 null 的容器对象。它提供了一种更好的方法来处理可能不存在的值,从而避免了直接返回 null 导致的潜在问题。 案例说明下面是您给出的反例和正例的详细... 背景null 在 Java 中经常是一个问题源头,因为它可能导致 NullPointerException(NPE),这是 Java 应用程序中常见的运行时异常。为了解决这个问题,Java 8 引入了 Optional 类,这是一个可以为 null 的容器对象。它提供了一种更好的方法来处理可能不存在的值,从而避免了直接返回 null 导致的潜在问题。 案例说明下面是您给出的反例和正例的详细...
- 一、什么是原子操作原子操作是指在一个操作序列中,要么全部执行,要么全部不执行,不会被其他线程中断的操作。在Java中,原子操作主要通过java.util.concurrent.atomic包下的类来提供,这些类中的方法都是线程安全的,可以在多线程环境中安全地进行数据更新操作。 二、基本类型的原子操作Java的java.util.concurrent.atomic包提供了一系列原子操作类,用... 一、什么是原子操作原子操作是指在一个操作序列中,要么全部执行,要么全部不执行,不会被其他线程中断的操作。在Java中,原子操作主要通过java.util.concurrent.atomic包下的类来提供,这些类中的方法都是线程安全的,可以在多线程环境中安全地进行数据更新操作。 二、基本类型的原子操作Java的java.util.concurrent.atomic包提供了一系列原子操作类,用...
- 在Java中,synchronized和Lock都是用于实现线程同步的机制,但它们之间存在一些显著的区别。以下是关于它们的主要区别和速度对比的详细解释: 区别实现方式:synchronized是Java的一个关键字,它可以应用于方法或代码块。当使用synchronized时,Java会自动为你管理锁的获取和释放。Lock是Java的一个接口(通常使用ReentrantLock实现),它需要你... 在Java中,synchronized和Lock都是用于实现线程同步的机制,但它们之间存在一些显著的区别。以下是关于它们的主要区别和速度对比的详细解释: 区别实现方式:synchronized是Java的一个关键字,它可以应用于方法或代码块。当使用synchronized时,Java会自动为你管理锁的获取和释放。Lock是Java的一个接口(通常使用ReentrantLock实现),它需要你...
- 哈喽,大家好,我是木头左! 引言在Java编程中,经常需要将字符串转换为整数。然而,当尝试将一个包含非数字字符的字符串强制转换为整数时,会引发NumberFormatException异常。本文将介绍Java中String强转int的常见错误以及解决方法。 常见错误当使用Integer.parseInt()或Integer.valueOf()方法将字符串转换为整数时,如果字符串中包含非数字字... 哈喽,大家好,我是木头左! 引言在Java编程中,经常需要将字符串转换为整数。然而,当尝试将一个包含非数字字符的字符串强制转换为整数时,会引发NumberFormatException异常。本文将介绍Java中String强转int的常见错误以及解决方法。 常见错误当使用Integer.parseInt()或Integer.valueOf()方法将字符串转换为整数时,如果字符串中包含非数字字...
- 本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。 本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。
- 本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。 本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。
- 本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。 本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签