Java基础
文章平均质量分 94
老王是码农
习人之智,悟己之道
展开
-
互斥锁:解决原子性问题
一个或者多个操作在 CPU 执行的过程中不被中断的特性,称为“原子性”。理解这个特性有助于分析并发编程 Bug 出现的原因,例如利用它可以分析出 long 型变量在 32 位机器上读写可能出现的诡异 Bug,明明已经把变量成功写入内存,重新读出来却不是自己写入的。原创 2022-05-14 19:54:43 · 201 阅读 · 1 评论 -
Java内存模型:看Java如何解决可见性和有序性问题
在并发场景中,因可见性、原子性、有序性导致的问题常常会违背我们的直觉,从而成为并发编程的 Bug 之源。这三者在编程领域属于共性问题,所有的编程语言都会遇到,Java 在诞生之初就支持多线程,自然也有针对这三者的技术方案,而且在编程语言领域处于领先地位。理解 Java 解决并发问题的解决方案,对于理解其他语言的解决方案有触类旁通的效果。原创 2022-05-05 08:58:16 · 225 阅读 · 1 评论 -
可见性、原子性和有序性问题:并发编程Bug的源头
你我都知道,编写正确的并发程序是一件极困难的事情,并发程序的 Bug 往往会诡异地出现,然后又诡异地消失,很难重现,也很难追踪,很多时候都让人很抓狂。原创 2022-04-25 08:52:04 · 212 阅读 · 0 评论 -
Exception和Error有什么区别?
世界上存在永远不会出错的程序吗?也许这只会出现在程序员的梦中。随着编程语言和软件的诞生,异常情况就如影随形地纠缠着我们,只有正确处理好意外情况,才能保证程序的可靠性。原创 2022-04-10 22:36:00 · 70 阅读 · 0 评论 -
谈谈你对Java平台的理解?
从你接触 Java 开发到现在,你对 Java 最直观的印象是什么呢?是它宣传的 “Write once, run anywhere”,还是目前看已经有些过于形式主义的语法呢?你对于 Java 平台到底了解到什么程度?请你先停下来总结思考一下。原创 2022-04-10 22:19:49 · 113 阅读 · 0 评论