自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

扎瓦菜鸟

emmmmm......

  • 博客(11)
  • 收藏
  • 关注

原创 Spring使用三级缓存解决循环依赖问题

图文描述使用三级缓存后,解决循环依赖的过程,以及过程中调用的关键方法。

2023-02-20 14:41:48 183

原创 HashMap(1.7)在多线程并发扩容时导致的链表死循环问题

图文说明1.7的HashMap在多线程并发扩容时导致的链表死循环问题

2023-02-20 14:40:43 498

原创 Java并发编程5 —— 并发脏读问题

两个线程同时修改共享数据容易产生线程安全问题。如果是在数据库中,一条数据由很多个字段组成,假设一个线程要去修改其中几个字段的值,与此同时有另一个线程想要读取这条数据,那么会产生什么问题呢。下面的代码中,Student类有学号id、姓名name、专业名dprt三个属性。某同学申请转专业,需要修改他的学号和专业名。修改学号和专业名需要1秒钟完成,同时有另一个线程在查他的信息,查询速度很快。i...

2018-09-16 20:57:44 1240 1

原创 Java并发编程4 —— 对象锁的同步和异步

同步和异步当访问共享资源时,我们为了保证线程安全,让每个线程在操作共享变量前读到的都是正确的值,必须同步地执行代码,即每个线程方法执行完毕后才能继续。而异步则不需要等待其他线程的方法执行完毕,可以立刻执行,这里不涉及对共享资源的操作。对象锁的同步和异步直接上代码吧。import static java.lang.Thread.sleep;public class Sync...

2018-09-15 21:03:05 1013

原创 Java并发编程3 —— 对象锁和类锁

synchronized关键字作用在同步代码块上,给共享变量“上锁”可以解决线程安全问题。这把“锁”可以作用在某个对象上,也可以作用在某个类上。举个栗子,有个自助银行,里面有两台ATM机,工作人员可以看到每次存取款之后机器里钞票的总金额数。现在有两个人来存钱,各存50元。没有锁在下面的代码中,两个线程t1、t2相当于两个人,每个Service对象相当于一台ATM机。这里先只创建了一个S...

2018-09-11 22:54:07 462

原创 Java并发编程2 —— synchronized关键字原理初探

 线程安全问题的产生简单来说有两点,一是存在共享数据,二是存在多个线程同时操作共享数据。要解决这个问题,我们会想把处理共享数据的操作原子化,当一个线程在处理共享数据时,不允许其他线程同时处理它。换句话说,我们要把处理共享数据的这段逻辑“锁住”。去银行场景:俩人去银行,一个人存50块钱,另一个人取80块钱。银行一开始有一百块钱。public class Bank { pri...

2018-09-09 21:42:07 280

原创 Java并发编程1 —— 线程安全问题是如何产生的

前提在研究线程安全问题之前,有必要简单回顾一下jvm内存模型。如下图所示,jvm内存模型可分成两大部分,即主存区和jvm内存。主存区又叫做共享内存,顾名思义,是各个线程运行时所共享的内存区域,用来存放类加载时产生的对象实例,以及共享变量、静态变量、常量等。jvm内存为线程私有,即每个线程独享该内存,用来存放局部变量、方法信息等。当线程需要访问共享变量时,首先需要从共享内存中读取...

2018-09-02 17:35:21 803

原创 shell脚本入门

 最近看了一个shell编程入门的视频课,随手记下一些基础的语法,根据笔记整理出这篇文章,仅供小白入门。    首先感谢这位东北小哥的视频课程,讲的贼6,传送门http://edu.51cto.com/course/6068.html?source=so,想学shell或想学东北话的同学不能错过。1. shell脚本的第一行    第一行一定是以 #! 开头,用来指定shell脚本解释器的路径,说...

2018-03-24 15:07:15 320

原创 Java集合——LinkedList

public class LinkedList    extends AbstractSequentialList     implements List, Deque, Cloneable, java.io.SerializableLinkedList是集合中除ArrayList之外的另一个List实现,其本质是双向链表,同时实现Deque、Cloneable、Seriali

2017-10-31 15:37:15 489

原创 Java集合——HashMap

a

2017-08-27 14:58:51 348

原创 Java集合——ArrayList

public class ArrayList extends AbstractList        implements List, RandomAccess, Cloneable, java.io.Serializablejava.util.ArrayList,动态数组,实现了Java集合中List和Clonable接口。与普通数组相比,ArrayList具有以下优点:· 支持

2017-07-20 20:13:31 288

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除