最近太多太乱,出来抱怨一下。     仔细一算毕业也快有二个月了,曾经梦想着自己会有美好的前途,然后毕业了才知道,现实如此残酷,投出简历无数,确无一回应。     突然的一天接到某某保险工司面试邀请,起初比较兴奋,而后经过网上查询,并无投过该单位简历,经过在三认证,最终结果显示XX保险工司只是为
原创 2009-02-13 14:59:19
632阅读
6评论
Redisson框架十分强大,不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。基于Redisson框架可以实现几乎你能想到的所有类型的分布式。这里,我就列举几个类型的分布式,并各自给出一个示例程序来加深大家的理解。1.可重入(Reentrant Lock)Redisson的分布式可重入RLock Java对象实现了java.util.concurrent.locks.L
原创 2021-02-04 17:24:51
267阅读
什么是?在并发环境下,多个线程访问同一资源会对此资源进行争抢。那么就可能会导致数据不一致的问题。为了解决这个问题,很多语言都引入了的机制,通过一种抽象的来对资源进行锁定。 Java提供了种类丰富的,每种因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码 ...
转载 2021-10-11 14:51:00
65阅读
2评论
什么是?在并发环境下,多个线程访问同一资源会对此资源进行争抢。那么就可能会导致数据不一致的问题。为了解决这个问题,很多语言都引入了的机制,通过一种抽象的来对资源进行锁定。 Java提供了种类丰富的,每种因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码 ...
转载 2021-10-11 14:51:00
103阅读
2评论
synchronized的升级过程引入JOL(Java Object Layout)来打印java对象头在内存中的字节码。<dependency> <groupId>org.openjdk.jol</g
每个时代,都不会亏待会学习的人大家好,我是yes。本来打算继续写消息队列的东西的,但是最近在带新同事,发现新同事对于这方面有一些误解,所以今天就来谈谈“和 Java 中的并发安全容器使用有哪些注意点。不过在这之前还是得先来盘一盘为什么需要这玩意,这得从并发 BUG 的源头说起。并发 BUG 的源头这个问题我 19 年的时候写过一篇文章, 现在回头看那篇文章真的是羞涩啊。让我们来看下这个源
原创 2020-10-25 21:26:50
150阅读
从轻松的乐观和悲观聊起 悲观 认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。 synchronized关键字和Lock的实现类都是悲观 使用场景: 适合写操作多的场景,先加锁可以保证写操作时数据正确。 显式的锁定之后再操作同步资源 ...
转载 2021-07-27 21:38:00
322阅读
2评论
一、乐观和悲观 1、悲观 认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的数据修改 synchronized关键字和Lock的实现类都是悲观 悲观适合写操作多的场景,先加锁可以保证写操作时数据正确 显式的锁定之后再操作同步资源 // ------------------------- 悲观的调用方式 ---------------
原创 精选 2023-05-25 16:44:55
514阅读
先来盘一盘为什么需要这玩意,这得从并发 BUG 的源头说起。并发 BUG 的源头这个问题我 19 年的时候写过一篇文章, 现在回头看那篇文章真的是羞涩啊。让我们来看下这个源头是什么,我们知道电脑有CPU、内存、硬盘,硬盘的读取速度最慢,其次是内存的读取,内存的读取相对于 CPU 的运行又太慢了,因此又搞了个CPU缓存,L1、L2、L3。正是这个CPU缓存再加上现在多核CPU的情况产生了并发BUG
转载 2020-12-18 18:22:23
314阅读
# Java 方法上的:实现与理解 作为一名刚入行的Java开发者,你可能会遇到需要在方法上加锁以保证线程安全的情况。是多线程编程中用于控制对共享资源访问的一种机制。本文将指导你如何实现Java方法上的。 ## 的基本概念 在多线程环境中,当多个线程尝试同时访问同一个资源时,可能会导致数据不一致的问题。机制可以确保在任意时刻,只有一个线程可以访问特定的代码段。 ## 实现Java
原创 1月前
11阅读
并发 BUG 的源头 我们知道电脑有CPU、内存、硬盘,硬盘的读取速度最慢,其次是内存的读取,内存的读取相对于 CPU 的运行又太慢了,因此又搞了个CPU缓存,L1、L2、L3。 正是这个CPU缓存再加上现在多核CPU的情况产生了并发BUG。 这就一个很简单的代码,如果此时有线程 A 和线程 B 分别在 CPU - A 和 CPU - B 中执行这个方法,它们的操作是先将 a 从主存取到 CPU
转载 2021-07-16 15:37:11
53阅读
大家好,我是yes。 本来打算继续写消息队列的东西的,但是最近在带新同事,发现新同事对于这方面有一些误解,所以今天就来谈谈“和 Java 中的并发安全容器使用有哪些注意点。 不过在这之前还是得先来盘一盘为什么需要这玩意,这得从并发 BUG 的源头说起。 并发 BUG 的源头 这个问题我 19 年的时候写过一篇文章, 现在回头看那篇文章真的是羞涩啊。 让我们来看下这个源头是什么,我们知道
原创 2020-10-26 14:42:00
35阅读
多线程技术是提高系统并发能力的重要技术,在应用多线程技术时需要注意很多问题,如线程退出问题、CPU及内存资源利用问题、线程安全问题等,本文主要讲线程安全问题及如何使用“”来解决线程安全问题。
原创 2020-10-06 18:01:11
810阅读
转载 2007-09-02 08:09:44
372阅读
一、公平&非公平1.1公平是什么公平:线程按照申请的顺序来获取;在并发环境中,每个线程都会被加到等待队列中,按照 FIFO 的顺序获取。非公平:线程不按照申请的顺序来获取;一上来就尝试占有,如果占有失败,则按照公平的方式等待。通俗来讲,公平就相当于现实中的排队,先来后到;非公平就是无秩序,谁抢到是谁的;1.2优缺点公平优点:线程按照顺序获取,不会出现饿死现象
原创 2020-09-22 14:40:56
278阅读
一、公平&非公平1.1公平是什么公平:线程按照申请的顺序来获取;在并发环境中,每个线程都会被加到等待队列中,按照 FIFO 的顺序获取
原创 2021-07-13 13:39:59
119阅读
点击上方蓝字关注我们! 场景升级为分布式所带来的问题 众所周知,在单体服务中处理高并发场景时,可以使用java提供的两种内置的来保证数据的一致性。 例如: 业界目前的第三方系统的实现方案有数据库
原创 2022-07-25 08:22:30
77阅读
在现实生活中,我们常常能看到人生的一个弱点:避重就轻。虽然知道哪个重要,但总会找到各种理由去回避它。当然结果是味淡的东西嚼了不少,却难有机会口尝那香而略苦的东西了。    人生有时候被许多无关紧要的小事困扰,人生被沉埋于这些琐碎的事物之中,到了最后,却往往忽略了去做那些真正对自己重要的事情。结果,白白浪费了许多宝贵的时间。   
转载 精选 2008-02-17 10:41:29
619阅读
1点赞
2评论
一。not null vs DEAFUL value  在建表的时候,通常会要求给所有字段一个默认值,1来避免产生null字段,2来
转载 2023-07-18 16:20:23
53阅读
在互联网公司面试中,很多小伙伴都被问到过关于的问题。 今天,我给大家一次性把Java并发的全家桶彻底讲明白。包括互斥、读写、重入、公平、悲观、自旋、偏向等等等等。视频有点长,大家一定要全部看完,保证你会醍醐灌顶。 1、的由来 在并发编程中,经常会遇到两个以上的线程访问同一个共享变量,当同时对共享变量进行读写操作时,就会产生数据不一致的情况。 随着线程并发技术的发展,在
  • 1
  • 2
  • 3
  • 4
  • 5