`

concurrency读书笔记

阅读更多

显式lock和synchronized的区别

 

显式lock可以处理获取锁失败的代码,可以指定等待锁的最长时间,可以在final块中写系统发生异常时候保证被执行的清理代码。

 

原子操作和volatility

 

volatility: 禁止CPU缓存,所有field的读取和写入都直接操作内存而不是CPU缓存

 

除long和double之外的基本类型的读取和写入是原子操作,volatile可以对变量的修改对所有其他线程可见

 

synchronized也可以保证对变量的修改可以被其他线程知道,因此如果某字段的可见性由synchronized保证,那么不需要声明其为volatile

 

volatile对于值取决于其他字段或者该字段的上个值的字段的情况不适用(比如++ --操作)

 

一般情况下,只有某对象中只有一个mutable字段时,可以使用volatile替换synchronized.

 

javap命令用来显式JVM字节码文件中的指令

分享到:
评论

相关推荐

    oracle核心技术读书笔记一附件1

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其核心技术涉及数据存储、查询优化、并发控制、事务处理等多个方面。...通过阅读和理解这些读书笔记,可以提升对Oracle数据库的理解和操作能力。

    Cpp-Concurrency-in-Action-2ed::books: C++ Concurrency in Action 2ed 笔记:C++111417 多线程技术

    相关链接GitHub Pages:GitBook 在线阅读:本书大多未详细解释的基础知识可参考:、、、、死锁C++11线程库API线程管理(Managing thread)线程间共享数据(Sharing data between thread)同步并发操作...

    个人学习JUC代码笔记总集

    通过阅读个人笔记,可以借鉴他人的理解和实践经验,加速自己的学习过程。但要注意,每个人的笔记可能都有其个人色彩,需要结合官方文档和其他权威资料进行系统学习。对于初学者来说,观看尚硅谷周阳老师的JUC视频...

    Java任小龙版基础笔记.zip

    10. **Java标准库**:熟悉常用的Java API,如Collections、Concurrency、Networking等包,它们提供了大量的类和接口,极大地丰富了Java的功能。 最后,配合任小龙的X-mind思维脑图,可以更直观地理解这些知识结构,...

    Java Concurrency In Practice Learning Note

    博客文章“Java Concurrency In Practice Learning Note”则是一位开发者在阅读本书后的心得体会,通过链接(已给出)我们可以获取更多实践中的经验分享。 并发编程的核心在于如何高效地利用多核处理器资源,同时...

    良葛格java5.0的学习笔记

    Java 5.0,也被称为Java 1.5,是Java发展历程中的一个重要里程碑,它引入了许多新特性,改进了语言的效率和可读性。...通过阅读这份笔记,不仅可以学习Java 5.0的新特性,还能了解到有效的学习方法和实践技巧。

    高级java笔试题-Java-Concurrency-in-Practice:《Java并发编程实战》阅读整理笔记,附加了一些《Java并发编

    并发编程实战》阅读笔记 有关 Java 并发编程~ 别急别急,在重写它啦~,会补充一些新的内容进去,预计 2020/02 完成。 Content Java 并发编程基础 保证线程安全的两个角度 构造安全的并发应用程序 Java 并发高级主题 ...

    javaconcurrent源码-java7-source-code:Java7源码/Concurrency同步

    读书笔记和示例代码 包括 线程基础/同步sync/并发concurrent/容器/线程池 示例代码 JUC容器的源码解析 Synchronized 同步容器 Concurrent 并发容器: Map/List/Queue 阻塞队列 JUC锁: CountDownLatch 闭锁 AQS 锁的...

    JUC并发编程学习笔记(硅谷)

    "JUC并发编程学习笔记(硅谷)"很可能包含了关于Java并发工具集(Java Util Concurrency, JUC)的深入理解和实战经验。JUC是Java标准库提供的一套强大的并发处理工具,它极大地简化了多线程编程,提高了程序的可读性...

    L1导论——笔记.pptx

    - **并发 (Concurrency)**:处理大量并行执行的任务时,需要解决各种并发问题,例如同步、死锁等。 - **部分故障 (Partial Failure)**:与单机系统完全不同,分布式系统可能会遇到部分节点或网络连接出现问题的情况...

    【肘子的Swift笔记】博文中的代码汇总.zip

    【肘子的Swift笔记】博文中的代码汇总是一个针对Swift编程语言的资源集合,主要涵盖了iOS和macOS平台的开发知识。这个压缩包包含了博主肘子在撰写博客过程中整理的各类Swift代码示例,旨在帮助开发者深入理解和应用...

    java学习资料

    Java还包含丰富的类库,如多线程(Thread)、并发(Concurrency)工具、网络编程API等。理解线程的基本概念,如同步(Synchronization)和互斥(Mutex),以及如何使用线程池(ThreadPool)可以提升程序的性能和响应...

    sinksmell.github.io:hugo + travis 自动构建的博客,内含在线IM工具,欢迎来聊

    mark_button: 二分查找模板:check_mark_button: 二分查找 LeetCode 专题:check_mark_button: 二叉树 LeetCode 专题:ledger:读书笔记Concurrency in Go:check_mark_button: chapter1. An introduction to ...

    talks:LLCHA 提供的公开演讲(笔记、幻灯片、讲义、视频、参考书目和任何其他相关内容)

    LLCHA,全称为“Lightweight Language for Concurrency and Harmony”,是一种基于Clojure语言的扩展或框架,旨在增强并发处理和程序和谐性。Clojure是一种现代的、动态类型的、基于Lisp的函数式编程语言,它运行在...

    JCIPSrc:对JCIP的源代码稍作补充替换可以运行,添加了一点java8的新特性示列

    【Java并发编程实战】的阅读笔记-英文版:Java Concurrency in Practice官网源代码地址: : 1.主要是对源代码作一些补充并能实际运行一下(以junit的方式)2.添加了java8newfeatures,主要是写了几个java8的新...

    worldwindjava源码-Thread-Count:并行+并发编程的旧笔记

    这些辅助理解足以让我在构建项目、上班、阅读文章和收听有关新编程语言的播客时过得去。 然而! 我只能像鬼魂一样在理解的边缘存在这么久,直到我感到沮丧; 我一直在为这些新知识拼图,但我只找到了边框(最容易...

    Java高级编程资料,java高级编程技术,Java

    书籍如《Effective Java》、《Java Concurrency in Practice》和《Head First Java》等,都是学习Java高级编程的经典之作。在线资源如Oracle的Java Tutorials和Stack Overflow上的问答,为解决实际问题提供了大量...

Global site tag (gtag.js) - Google Analytics