- 确实,理论上就是用户下单后,减去商品的库存就完事了。但是,如果你的系统流量很大,并发度非常高,比如淘宝的双十一,有一款爆款商品参加了活动,库存只有1000件,有几十万上百万用户抢购,商品售完1000件为止,一件不能多,一件也不能少。你还会觉得简单吗?搞不好就会出现“超卖”的情况,后果就会很严重了。 确实,理论上就是用户下单后,减去商品的库存就完事了。但是,如果你的系统流量很大,并发度非常高,比如淘宝的双十一,有一款爆款商品参加了活动,库存只有1000件,有几十万上百万用户抢购,商品售完1000件为止,一件不能多,一件也不能少。你还会觉得简单吗?搞不好就会出现“超卖”的情况,后果就会很严重了。
- 其实,源码是原理落地的最直接体现,看懂源码对于深刻理解原理有着很大的帮助。但是不少小伙伴看源码时,总觉得源码太枯燥了,看不懂。 其实,源码是原理落地的最直接体现,看懂源码对于深刻理解原理有着很大的帮助。但是不少小伙伴看源码时,总觉得源码太枯燥了,看不懂。
- 并发编程一直是程序员们比较头疼的,如何编写正确的并发程序相比其他程序来说,是一件比较困难的事情,并发编程中出现的 Bug 往往也是特别诡异的。 并发编程一直是程序员们比较头疼的,如何编写正确的并发程序相比其他程序来说,是一件比较困难的事情,并发编程中出现的 Bug 往往也是特别诡异的。
- 我们都知道开发语言整体分为两类,一类是编译型语言,一类是解释型语言。那么你知道二者有何区别吗?编译器和解释器又有什么区别? 我们都知道开发语言整体分为两类,一类是编译型语言,一类是解释型语言。那么你知道二者有何区别吗?编译器和解释器又有什么区别?
- 目前关于垃圾回收这一块, 很多解释都是说引用计数。实际上,Java在垃圾回收这里,远不是引用计数这么简单。它采用的是可达性分析算法。首先在我们的虚拟机里,有一个GC Roots的对象,作为引用的起点,由此节点成树状分散,到达每一个对象。从GC Roots到对象的路径被称为引用链。如下图:途中,Object 1 2 3 4拥有引用链可以到达GcRoots,也就是说他们为存活的对象而5 6 7并... 目前关于垃圾回收这一块, 很多解释都是说引用计数。实际上,Java在垃圾回收这里,远不是引用计数这么简单。它采用的是可达性分析算法。首先在我们的虚拟机里,有一个GC Roots的对象,作为引用的起点,由此节点成树状分散,到达每一个对象。从GC Roots到对象的路径被称为引用链。如下图:途中,Object 1 2 3 4拥有引用链可以到达GcRoots,也就是说他们为存活的对象而5 6 7并...
- Java虚拟机的内存大致可以分成五个部分。详见Java虚拟机运行时数据区其中、方法区和Java堆是线程共享数据。而虚拟机栈、本地方法栈、程序计数器是线程专有的。也就是说,每个线程都有自己的虚拟机栈、本地方法栈、程序计数器,并且共同使用一个方法区和Java堆(图片来源网络)线程私有区域1. 程序计数器首先要说的就是最简单的程序计数器。它是一个非常小的内存区域,用来存储当前执行位置的行号。如果当... Java虚拟机的内存大致可以分成五个部分。详见Java虚拟机运行时数据区其中、方法区和Java堆是线程共享数据。而虚拟机栈、本地方法栈、程序计数器是线程专有的。也就是说,每个线程都有自己的虚拟机栈、本地方法栈、程序计数器,并且共同使用一个方法区和Java堆(图片来源网络)线程私有区域1. 程序计数器首先要说的就是最简单的程序计数器。它是一个非常小的内存区域,用来存储当前执行位置的行号。如果当...
- 本文介绍了JVM内存组成,重点介绍了如何查看和分析本地内存。针对需要维持内存稳定的应用程序,给出了内存配置参数建议。文章后面给出了大量参考材料,帮助进一步理解其他概念和工具。 本文介绍了JVM内存组成,重点介绍了如何查看和分析本地内存。针对需要维持内存稳定的应用程序,给出了内存配置参数建议。文章后面给出了大量参考材料,帮助进一步理解其他概念和工具。
- java语言是解释执行,java源码是通过编译生成一种特殊的.class的中间字解码文件,然后再有JVM进行解释执行。 java语言是解释执行,java源码是通过编译生成一种特殊的.class的中间字解码文件,然后再有JVM进行解释执行。
- 5.1.4 共享锁共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就不好实现了。Zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点,然后调用 getChildren方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点,如果正是自己创建的,那么它就获得 5.1.4 共享锁共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就不好实现了。Zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点,然后调用 getChildren方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点,如果正是自己创建的,那么它就获得
- JVM(和Spark)性能优化:使用Java Mission Control JVM(和Spark)性能优化:使用Java Mission Control
- JVM(和Spark)性能优化:使用Java Mission Control JVM(和Spark)性能优化:使用Java Mission Control
- JVM(和Spark)性能优化:使用Java Mission Control JVM(和Spark)性能优化:使用Java Mission Control
- JVM(和Spark)性能优化:使用Java Mission Control JVM(和Spark)性能优化:使用Java Mission Control
- JVM(和Spark)性能优化:使用Java Mission Control JVM(和Spark)性能优化:使用Java Mission Control
- JVM(和Spark)性能优化:使用Java Mission Control JVM(和Spark)性能优化:使用Java Mission Control
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化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 规格体系从零搭建业务项目。
回顾中
热门标签