首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4589778/blog/4539691

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

面试必问系列:悲观锁和乐观锁的那些事儿

程序安全 线程安全是程序开发中非常需要我们注意的一环,当程序存在并发的可能时,如果我们不做特殊的处理,很容易就出现数据不一致的情况。 通常情况下,我们可以用加锁的方式来保证线程安全,通过对共享资源 (也就是要读取的数据) 的加上"隔离的锁",使得多个线程执行的时候也不会互相影响,而悲观锁和乐观锁正是并发控制中较为常用的技术手段。 乐观锁和悲观锁 什么是悲观锁?什么是乐观锁?其实从字面上就可以区分出两者的区别,通俗点说, 悲观锁 悲观锁就好像一个有迫害妄想症的患者,总是假设最坏的情况,每次拿数据的时候都以为别人会修改,所以每次拿数据的时候都会上锁,直到整个数据处理过程结束,其他的线程如果要拿数据就必须等当前的锁被释放后才能操作。 使用案例 悲观锁的使用场景并不少见,数据库很多地方就用到了这种锁机制,比如行锁,表锁,读锁,写锁等,都是在做操作之前先上锁,悲观锁的实现往往依靠数据库本身的锁功能实现。Java程序中的Synchronized和ReentrantLock等实现的锁也均为悲观锁。 在数据库中,悲观锁的调用一般是在所要查询的语句后面加上 for update, select * fr...

栈与队列简介

栈与队列和数组、链表、树这几种数据结构不太一样。栈与队列主要是做为程序员的工具来使用,它们主要做为构思算法的辅助工具,而不是完全的数据存储工具。 它们的生命周期比数组那些要短得多,在程序执行期间它们才会被创建,任务执行完就会被销毁。 一 栈 栈是一种只能在一端进行插入和删除数据的数据结构,这一端被称为栈顶(top)。其特点简单来讲就是先进后出。栈的主要机制可以用数组来实现,当然也可以用链表来实现。 用数组实现栈,并完成常用操作——出栈、入栈、查看元素(只能查看栈顶元素)、判断栈是否为空等操作。 publicclassStackTest{privatelong[]arr;//栈顶privateinttop;publicStackTest(){arr=newlong[10];top=-1;}publicStackTest(intmaxsize){arr=newlong[maxsize];top=-1;}/***添加数据*@paramvalue*/publicvoidpush(intvalue){arr[++top]=value;}/***移除数据*@return*/publiclongpo...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。