跟synchronized 相比较,可重入锁ReentrankLock其实原理有什么不同?
所得基本原理是为了达到一个目的;就是让所有线程都能看到某种标记。synchronized通过在对象头中设置标记实现了这一目的,是一种JVM原生的锁实现方式。而ReentrantLock以及所有的基于Lock接口的实现类,都是通过一个volitile修饰的int型变量,并保证每个线程都能拥有对该int的可见性和原子性修改,其本质都是基于AQS框架。
2025年04月25日
所得基本原理是为了达到一个目的;就是让所有线程都能看到某种标记。synchronized通过在对象头中设置标记实现了这一目的,是一种JVM原生的锁实现方式。而ReentrantLock以及所有的基于Lock接口的实现类,都是通过一个volitile修饰的int型变量,并保证每个线程都能拥有对该int的可见性和原子性修改,其本质都是基于AQS框架。
2025年04月25日
提到Java并发包(Concurrent),我们就像是进入了武侠世界的“少林武当”,这里高手云集,各种工具类和框架应有尽有,它们就像武林秘籍一样,帮助我们解决多线程编程中的各种难题。今天就让我们一起走进这个神奇的世界,看看它是如何帮我们在多线程环境下实现高效且稳定的程序的。
2025年04月25日
在工作中,笔者经常和掌握不同技术的朋友讨论具体问题的解决方案,发现在Java体系中,大家使用最多的是Java集合框架(JCF)和Java并发工具包(JUC)。实际上,JCF和JUC已经能够覆盖笔者及朋友们工作中遇到的超过8成的应用场景,但是大家往往无法快速匹配最合适的技术方案。此外,在JCF和JUC中存在大量可以在实际工作中借鉴的设计方案,虽然网络上有一些零散的关于集合的介绍,但深入讲解其工作原理的内容并不多,甚至有一些资料存在质量问题。
2025年04月23日
一,一切基于目的
搭建属于自己的博客能更加自由,更加独立。“不喜欢被他人约束的精神,从此刻从新定义自己”,以显得够逼格为目的,程序猿必备口粮!
show
二,安装所需软件
1,以下为所需:
2025年04月23日
Spring Boot 相对于传统的SSM框架的优点是提供了默认的样板化配置,简化了Spring应用的初始搭建过程,如果你不想被众多的xml配置文件困扰,可以考虑使用Spring Boot替代,今天小编分享量的这个项目,非常适合作为练手项目。
将基于Spring官方提供的快速启动项目模板集成Mybatis、开发一个博客系统,,前端 Bootstrap + LayUI,支持程序员非常青睐的轻量化的 Markdown 编辑器 Editor.md,支持标签分类检索,源码可以免费提供:关注转发这篇文章之后私信回复【源码】即可免费获取到~
2025年04月23日
上一篇: node.js 09 MongoDB增删改查,聚合,连接池
前面介绍了node.js的文件模块,http server以及静态网站的创建。有了这些知识作为基础,我们可以了解一下node.js的Web框架了。
2025年04月23日
最近和一个90后技术小伙伴聊天,说到一个话题,平时喜欢写博客嘛?他的回答让我惊讶,我们90后基本不接触博客,只是上去找找资料而已,我们平时更多发说说。几句玩笑的话而已,细想还是很多细节值得回味,的确博客的流行是我们80的产物,90后更多的是喜欢刷刷说说了。信息事物的变化的周期也是越来越短,越来越不可捉摸,给你思考留念的时间都变得越来越多。有点偏题了,今天的要说的主题是要不要写技术文章的事情。
随着信息的发展博客固然有些落伍,但是在互联网获取一些常见知识点的介绍或者使用博客还是主要的信息来源,说说固然写的很多,很少说说里面直接写技术相关的知识点,当然笔者也见过写的,这更多的是在说说里面向博客致敬。
2025年04月23日
我的开发环境如下:
运行环境:windows 10
开发环境:python3
使用python框架: h3blog(开源)
首先到把下载好的h3blog解压到我们的开发环境文件中