常用的分布式锁
1.当数据库单一的时候,利用数据库的锁机制。

2.当数据库集群时,利用redis做分布式锁比较常见,在需要加锁的地方从redis里获取锁,代码执行完毕释放锁。当然了别忘了设置好redis锁的自动释放时间。

SimpleLock对RedisLock进行封装,然后通过SimpleLogFactory获取SimpleLock

3.利用zookeeper做分布式锁

此外还可以使用synchronized

1. 在需要同步的方法的方法签名中加入synchronized关键字。(锁的是对应的类)
    public synchronized void run() { 
    }

2. 使用synchronized块对需要进行同步的代码段进行同步。(锁的是对象)
    synchronized (lock) { 
    }

tips:ThreadLocal的使用,在同一个线程中传递对象
private static final ThreadLocal<LoginUser> context = new ThreadLocal<>();
context.set(user);
LoginUser user = context.get();
context.remove();

java web项目锁的理解相关推荐

  1. 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用

    准备 JDK       (配置JDK_HOME\bin   和 CLASSPATH)   注:JDK8下载已经需要注册了,请使用JDK11(现在是官方长期支持的版本)     对于我们新手来说,JD ...

  2. 做一个完整的Java Web项目太难了,因为这些你不会!

    作者:元素侠Jason 链接:https://blog.csdn.net/JasonLiuLJX 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收 ...

  3. 做一个完整的Java Web项目需要掌握的技能

    转自:  https://blog.csdn.net/JasonLiuLJX/article/details/51494048 ------------------------------------ ...

  4. 【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

    [Spring Boot]使用Spring Boot来搭建Java web项目以及开发过程 一.Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来 ...

  5. Java Web项目是怎么跑起来的?

    良心公众号 关注不迷路 01 简单Java程序的启动过程 在之前的HelloWorld是怎么跑起来的?一文中,我们一起学习了IDE执行简单的Java程序的过程.可以总结为如下三个步骤: 首先,将程序通 ...

  6. javaweb做什么能赚钱_做一个完整的Java Web项目需要掌握的技能

    原文链接:http://blog.csdn.net/JasonLiuLJX/article/details/51494048 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小 ...

  7. [项目规范]JAVA WEB项目实施规范

    一:前言 在此将Java Web项目的实施规范做一个总结. 二:需求阶段 需求阶段主要包含需求分析和需求拆分,下面针对这两块做一个说明. 1.需求分析 需求分析是由PM撰写初稿,然后PM,DEV,FE ...

  8. java web 项目 常用 小工具类 ~~~~

    java web 项目 常用 小工具类 ~~~~ 一 .DateUtil  日期工具类 package com.devframe.common.util;import java.text.Simple ...

  9. java web项目为什么我们要放弃jsp?

    前戏: 以前的项目大多数都是java程序猿又当爹又当妈,又搞前端(ajax/jquery/js/html/css等等),又搞后端(java/mysql/Oracle等等). 随着时代的发展,渐渐的许多 ...

最新文章

  1. awk3.0 — awk变量
  2. 一周内咸鱼疯传2.4W次,最终被所有大厂封杀
  3. android webview腾讯,Android webview无法播放腾讯视频问题
  4. python详细安装教程3.7.4-python 3.7.4下载与安装的问题
  5. boost::make_maximal_planar用法的测试程序
  6. 我们工作的意义到底在哪?
  7. 项目启动居然如此重要!
  8. 第一章 计算机系统概述 1.1 计算机发展史 [计算机组成原理笔记]
  9. qt 获取发送信号的对象
  10. MongoDB Documents
  11. Eclipse中如何更改工作空间(之前一直不知道,几天终于知道了!)。
  12. python字符串、字符串处理函数及字符串相关操作
  13. (转)华兴资本包凡:我们这么屌,是有原因的
  14. 5G无线关键技术 — 低时延高可靠物联网设计
  15. 7折怎么用计算机,美国联想八通道7折好价,海淘Thinkpad X260 笔记本电脑开箱简评(附齐购物到货过程)...
  16. 人工智能的认知技术,主要包含哪些?
  17. L1-078吉老师的回归
  18. 为生还者庆幸,为往生者祈祷
  19. 西安电子科技大学计算机刘惠,西安电子科技大学计算机学院硕导介绍:刘惠(2)...
  20. 畅购商城项目(面试版)二

热门文章

  1. 计算机辅助设计capp设计,[高等教育]09第四章 计算机辅助设计与制造技术CAPP.ppt...
  2. 加强校园智慧消防建设 共谱校园“安全乐章“
  3. 数据采集之业务数据采集整理
  4. 论文阅读(4)What, How, and Why are Visual Assets used in Industrial Augmented Reality?
  5. Splash的使用入门
  6. 计算机一级的含金量高吗,2019计算机一级有必要考吗 含金量怎么样
  7. python手机销售系统结论于心得_手机销售心得体会
  8. Spring-webflow基础讲解
  9. PCL 三维点云轮廓提取
  10. MySql 连接查询中 on 和 where 的区别