- 今天聊一下Java的Atomic 这一组的类,在开发多线程的时候必须要会的一组,也是很高效的一组,一定要学会的。1、 乐观锁和悲观锁在开始聊之前,先说下锁的两个定义,一种是乐观锁,一种是悲观锁。悲观锁就是考虑事情总是假设最坏的情况,假定每次去访问资源总有人竞争,只有获得对象锁才安心。乐观锁就是总是假设最好的情况,也就是访问资源的时候可能没人竞争,即使可能有人竞争,但是很快就结束了。从上面的描... 今天聊一下Java的Atomic 这一组的类,在开发多线程的时候必须要会的一组,也是很高效的一组,一定要学会的。1、 乐观锁和悲观锁在开始聊之前,先说下锁的两个定义,一种是乐观锁,一种是悲观锁。悲观锁就是考虑事情总是假设最坏的情况,假定每次去访问资源总有人竞争,只有获得对象锁才安心。乐观锁就是总是假设最好的情况,也就是访问资源的时候可能没人竞争,即使可能有人竞争,但是很快就结束了。从上面的描...
- 1.AOP简介AOP(Aspect Oriented Programming),面向切面编程。意思就是在程序运行时,不改变源码前提下,动态增强方法的功能,例如:日志,事务,数据库操作等等。这些操作往往有很多模板代码,可以利用AOP消除这些臃肿的模板代码。概念说明切点要添加代码的地方通知(增强)向切点动态添加的代码切面切点+通知连接点切点的定义 2.基于JDK动态代理实现的AOPAOP实际上... 1.AOP简介AOP(Aspect Oriented Programming),面向切面编程。意思就是在程序运行时,不改变源码前提下,动态增强方法的功能,例如:日志,事务,数据库操作等等。这些操作往往有很多模板代码,可以利用AOP消除这些臃肿的模板代码。概念说明切点要添加代码的地方通知(增强)向切点动态添加的代码切面切点+通知连接点切点的定义 2.基于JDK动态代理实现的AOPAOP实际上...
- 作者:半身风雪上篇:线程池原理解析@TOC 一、JMM 基础-计算机原理 Java 内存模型即 Java Memory Model,简称JMM。JMM 定义了Java 虚拟机 (JVM)在计算机内存(RAM)中的工作方式。JVM 是整个计算机虚拟模型,所以 JMM 是隶属于 JVM 的。Java1.5 版本对其进行了重构,现在的 Java 仍沿用了 Java1.5 的版本。Jmm... 作者:半身风雪上篇:线程池原理解析@TOC 一、JMM 基础-计算机原理 Java 内存模型即 Java Memory Model,简称JMM。JMM 定义了Java 虚拟机 (JVM)在计算机内存(RAM)中的工作方式。JVM 是整个计算机虚拟模型,所以 JMM 是隶属于 JVM 的。Java1.5 版本对其进行了重构,现在的 Java 仍沿用了 Java1.5 的版本。Jmm...
- 作者:半身风雪上篇:CAS 原理解析@TOC 一、队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行 删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受 限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。 因为队列只允许在一端插入,... 作者:半身风雪上篇:CAS 原理解析@TOC 一、队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行 删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受 限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。 因为队列只允许在一端插入,...
- Spring cloud环境中的应用,如果注册到Eureka server,就会从Eureka server获取所有应用的注册信息(也叫服务列表),然后保存到本地,这个操作是周期性的,默认每三十秒一次,今天咱们来通过实战将其观察得清清楚楚 Spring cloud环境中的应用,如果注册到Eureka server,就会从Eureka server获取所有应用的注册信息(也叫服务列表),然后保存到本地,这个操作是周期性的,默认每三十秒一次,今天咱们来通过实战将其观察得清清楚楚
- 给你详细讲解Class类近80个方法 给你详细讲解Class类近80个方法
- 该项目为Spring应用程序提供声明式重试支持,它用于Spring Batch、Spring Integration、Apache Hadoop的Spring(以及其他),命令式重试也支持显式使用。 该项目为Spring应用程序提供声明式重试支持,它用于Spring Batch、Spring Integration、Apache Hadoop的Spring(以及其他),命令式重试也支持显式使用。
- 实战在容器初始化的时候对bean实例做设置 实战在容器初始化的时候对bean实例做设置
- 🤦♂️字符编码和字符集 🏃字符编码计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会... 🤦♂️字符编码和字符集 🏃字符编码计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会...
- 数组的扩展 扩展运算符 含义扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1, 2, 3])// 1 2 3console.log(1, ...[2, 3, 4], 5)// 1 2 3 4 5[...document.querySelectorAll('div')]// [<div>, <... 数组的扩展 扩展运算符 含义扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1, 2, 3])// 1 2 3console.log(1, ...[2, 3, 4], 5)// 1 2 3 4 5[...document.querySelectorAll('div')]// [<div>, <...
- 1 背景查询理解(QU, Query Understanding)是美团搜索的核心模块,主要职责是理解用户查询,生成查询意图、成分、改写等基础信号,应用于搜索的召回、排序、展示等多个环节,对搜索基础体验至关重要。该服务的线上主体程序基于C++语言开发,服务中会加载大量的词表数据、预估模型等,这些数据与模型的离线生产过程有很多文本解析能力需要与线上服务保持一致,从而保证效果层面的一致性,如文... 1 背景查询理解(QU, Query Understanding)是美团搜索的核心模块,主要职责是理解用户查询,生成查询意图、成分、改写等基础信号,应用于搜索的召回、排序、展示等多个环节,对搜索基础体验至关重要。该服务的线上主体程序基于C++语言开发,服务中会加载大量的词表数据、预估模型等,这些数据与模型的离线生产过程有很多文本解析能力需要与线上服务保持一致,从而保证效果层面的一致性,如文...
- 提到广播与监听,我们常常会想到RabbitMQ、Kafka等消息中间件,这些常用于分布式系统中多个应用之间,有时候应用自身内部也有广播和监听的需求(例如某个核心数据发生变化后,有些业务模块希望立即被感知),这时候spring提供的基于ApplicationContext的广播与监听就派上用场了,接下来我们从原理到实践,来了解spring提供的这套机制吧 提到广播与监听,我们常常会想到RabbitMQ、Kafka等消息中间件,这些常用于分布式系统中多个应用之间,有时候应用自身内部也有广播和监听的需求(例如某个核心数据发生变化后,有些业务模块希望立即被感知),这时候spring提供的基于ApplicationContext的广播与监听就派上用场了,接下来我们从原理到实践,来了解spring提供的这套机制吧
- 实际学习过程中,有些同学常常会对小程序和 Web 应用之间的差别产生疑惑,它们之间到底有什么不同, Web 应用不能作为小程序吗?本期文章将会带你比较小程序和 Web 应用之间的差异,并解析小程序的原理。小程序实际的运行环境是在托管平台(也称为托管环境)。 托管平台可以是本机应用程序(类似于 Web 浏览器),也可以是(嵌入的引擎)操作系统。小程序通常需要经过托管平台审核才能上线,而** W... 实际学习过程中,有些同学常常会对小程序和 Web 应用之间的差别产生疑惑,它们之间到底有什么不同, Web 应用不能作为小程序吗?本期文章将会带你比较小程序和 Web 应用之间的差异,并解析小程序的原理。小程序实际的运行环境是在托管平台(也称为托管环境)。 托管平台可以是本机应用程序(类似于 Web 浏览器),也可以是(嵌入的引擎)操作系统。小程序通常需要经过托管平台审核才能上线,而** W...
- 在学习spring容器初始化的过程中,发现spring容器预留了一些扩展点,我们可以写子类来做功能扩展,今天就来探寻SpringBoot框架下的扩展方式 在学习spring容器初始化的过程中,发现spring容器预留了一些扩展点,我们可以写子类来做功能扩展,今天就来探寻SpringBoot框架下的扩展方式
- 学习spring初始化过程是深入了解spring过程中重要的一步,今天我们就以一个简单的demo为例来学习spring初始化的源码 学习spring初始化过程是深入了解spring过程中重要的一步,今天我们就以一个简单的demo为例来学习spring初始化的源码
上滑加载中
推荐直播
-
仓颉编程语言开源创新人才培养经验分享
2025/08/06 周三 19:00-20:00
张引 -华为开发者布道师-高校教师
热情而富有活力的仓颉社区为学生的学习提供了一个充满机遇和挑战的平台。本次直播探讨如何运用社区的力量帮助同学们变身为开源开发者,从而完成从学生到工程师身份的转变。
回顾中 -
“全域洞察·智控未来” ——云资源监控实战
2025/08/08 周五 15:00-16:00
星璇 华为云监控产品经理,霄图 华为云监控体验设计师,云枢 华为云可观测产品经理
本期直播深度解析全栈监控技术实践,揭秘华为云、头部企业如何通过智能监控实现业务零中断,分享高可用系统背后的“鹰眼系统”。即刻预约,解锁数字化转型的运维密码!
即将直播
热门标签