自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不喝枸杞的程序员

不喝枸杞的程序员

  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

转载 站在更高的角度,看微服务架构的理论基础

微服务是近些年非常火热的新概念,大家都在追,也都觉得很对,但是似乎没有很充足的理论基础说明这是正确的,给人的感觉是 不明觉厉 。前段时间看了Mike Amundsen 《远距离条件下的康...

2019-12-30 15:57:18 153

原创 Java程序员,你必须要看的微服务架构设计思想

微服务软件架构是一个包含各种组织的系统组织,这些组件包括 Web服务器, 应用服务器, 数据库,存储, 通讯层), 它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点。Co...

2019-12-28 16:28:02 298

原创 轻松理解AOP(面向切面编程)

本文主要介绍AOP思想,而不是Spring,Spring在本文只做为理解AOP的工具和例子,所以也不打算介绍Spring的Aspect、Join point、Advice、AOP pro...

2019-12-24 15:25:50 237 1

原创 “死锁”四个必要条件的合理解释

《“死锁”四个必要条件的合理解释》分为三个部分:【1】“死锁”的含义【2】“死锁”的原因及四个必要条件的合理解释【3】“死锁”的预防和解除1.“死锁”的含义所谓死锁:是指两个或两个以上的...

2019-12-23 15:07:02 374

原创 ReadWriteLock场景应用解析

Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。读...

2019-12-21 15:32:51 916

原创 探索JAVA并发 - 可重入锁和不可重入锁

锁的简单应用用lock来保证原子性(this.count++这段代码称为临界区)什么是原子性,就是不可分,从头执行到尾,不能被其他线程同时执行。可通过CAS来实现原子操作CAS(Comp...

2019-12-20 15:42:17 189

原创 线程安全的无锁RingBuffer的实现

在程序设计中,我们有时会遇到这样的情况,一个线程将数据写到一个buffer中,另外一个线程从中读数据。所以这里就有多线程竞争的问题。通常的解决办法是对竞争资源加锁。但是,一般加锁的损耗较...

2019-12-19 14:54:46 726

原创 Mysql查询语句使用select.. for update导致的数据库死锁分析

近期有一个业务需求,多台机器需要同时从Mysql一个表里查询数据并做后续业务逻辑,为了防止多台机器同时拿到一样的数据,每台机器需要在获取时锁住获取数据的数据段,保证多台机器不拿到相同的数...

2019-12-13 16:04:07 401

原创 一分钟理解Java公平锁与非公平锁

和朋友聊天他提到:ReentrantLock 的构造函数可以传递一个 bool 数据,true 时构造的是“公平锁”、false 时构造的是“非公平锁”。我的印象中锁是不区分类型的,所以...

2019-12-11 15:03:07 180

原创 Java并发面试问题,谈谈你对AQS的理解

新人大礼包,30G Java架构资料,免费领取 一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Sem...

2019-12-10 08:30:05 374 1

原创 Java中15种锁的分类综合总结

新人大礼包,30G Java架构资料,免费领取 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内...

2019-12-09 09:32:36 139

原创 通俗易懂的让你理解,事务的4种隔离级别

新人大礼包,30G Java架构资料,免费领取 数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。 Read uncommit...

2019-12-05 07:26:57 218

原创 40个Java多线程面试题总结

新人大礼包,30G Java架构资料,免费领取 前言 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。 ...

2019-12-04 07:24:03 83

原创 并发容器之ConcurrentLinkedQueue

1.ConcurrentLinkedQueue简介在单线程编程中我们会经常用到一些集合类,比如ArrayList,HashMap等,但是这些类都不是线程安全的类。在面试中也经常会有一些考点,比如ArrayList不是线程安全的,Vector是线程安全。而保障Vector线程安全的方式,是非常粗暴的在方法上用synchronized独占锁,将多线程执行变成串行化。要想将ArrayList变成线程...

2019-12-03 16:17:53 248

原创 并发容器之ConcurrentLinkedQueue

新人大礼包,30G Java架构资料,免费领取 1.ConcurrentLinkedQueue简介 在单线程编程中我们会经常用到一些集合类,比如ArrayList,HashMap等,但是这些类都不是线程安全的类。在面试中也经常会有一些考点,比如ArrayList不是线程安全的,Vector是线程安全。而保障Vector线程安全的方式,是非常粗暴的在方法上用synch...

2019-12-03 08:12:47 146

原创 并发容器之CopyOnWriteArrayList

1. CopyOnWriteArrayList的简介Java学习者都清楚ArrayList并不是线程安全的,在读线程在读取ArrayList的时候如果有写线程在写数据的时候,基于fast-fail机制,会抛出ConcurrentModificationException异常,也就是说ArrayList并不是一个线程安全的容器,当然您可以用Vector,或者使用Collections的静态方法将...

2019-12-02 17:01:01 108

原创 并发容器之CopyOnWriteArrayList

新人大礼包,30G Java架构资料,免费领取 1. CopyOnWriteArrayList的简介 Java学习者都清楚ArrayList并不是线程安全的,在读线程在读取ArrayList的时候如果有写线程在写数据的时候,基于fast-fail机制,会抛出ConcurrentModificationException异常,也就是说ArrayList并不是...

2019-12-02 08:55:38 73

软件测试上百个经典面试题

软件测试经典面试题,内含上百个软件测试面试题,以及答案

2022-02-12

Java多线程编程指南

《多线程编程指南》介绍了 SolarisTM 操作系统 (Solaris Operating System, Solaris OS)中 POSIX®线程和 Solaris 线程的多线程编程接口。本指南将指导应用程序程序员如何创建 新的多线程程序以及如何向现有的程序中添加多线程。 尽管本指南同时介绍了 POSIX 线程接口和 Solaris 线程接口,但大多数主题都以 POSIX 线程为重点。仅适用于 Solaris 线程的信息将专门在一章中介绍。 要理解本指南,读者必须熟悉并发编程的概念: ■ UNIX® SVR4 系统-首选是 Solaris 发行版。 ■ C 编程语言-多线程接口由标准 C 库提供。 ■ 并发编程(与顺序编程相对)的原理。

2018-05-01

空空如也

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

TA关注的人

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