自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Laputa_Spring

IT从业者

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

转载 Java多线程系列--“基础篇”06之 线程让步

概要本章,会对Thread中的线程让步方法yield()进行介绍。涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479243.html 1. yield()介绍yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让...

2018-04-19 17:07:00 157

转载 Java多线程系列--“基础篇”05之 线程等待与唤醒

概要本章,会对线程等待/唤醒方法进行介绍。涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long timeout)和notify()4. wait() 和 notifyAll()5. 为什么notify(), wait()等函数定义在Object中,而不是Thread中转载请注明出处:http://w...

2018-04-19 17:06:30 133

转载 Java多线程系列--“基础篇”04之 synchronized关键字

概要本章,会对synchronized关键字进行介绍。涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchronized代码块4. 实例锁 和 全局锁转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479202.html 1. synchronized原理在java...

2018-04-19 17:06:06 114

转载 Java多线程系列--“基础篇”03之 Thread中start()和run()的区别

概要Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start() 和 run()相关源码(基于JDK1.7.0_40)转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479083.html start() 和 run(...

2018-04-19 17:05:38 116

转载 Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式

概要本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable。之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解。本章内容包括:Thread和Runnable的简介Thread和Runnable的异同点Thread和Runnable的...

2018-04-19 17:05:17 99

转载 Java多线程系列--“基础篇”01之 基本概念

http://www.cnblogs.com/skywang12345/p/3479024.html多线程是Java中不可避免的一个重要主体。从本章开始,我们将展开对多线程的学习。接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(), notify()等接口;Thread类中的接口;synchronized关键字。注:JUC包是...

2018-04-19 17:01:26 104

转载 Java多线程系列目录(共43篇)

原文地址:http://www.cnblogs.com/skywang12345/p/java_threads_category.html最近,在研究Java多线程的内容目录,将其内容逐步整理并发布。(一) 基础篇01. Java多线程系列--“基础篇”01之 基本概念02. Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式03. Java多线程系列--“基础篇”03之 Thre...

2018-04-18 15:45:56 162

转载 (3)MCS锁

http://xw-z1985.iteye.com/blog/20646441、 为什么要引入MCS锁?         在NUMA架构体系下,访问remote memory的速度要远远慢于访问local memory的速度。如下图所示(引自Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy &...

2018-04-18 15:19:57 157

转载 (2)CLH锁

原文地址:http://xw-z1985.iteye.com/blog/20643721、为什么要引入CLH锁       在前一篇文章中,介绍了TAS、TTAS两种自旋锁。这两种锁的缺点是:任何一个处理器每一次对锁成功的访问(getAndSet(true)和set(false)任意一个方法的调用),都会将其他处理器的cache中的缓存失效掉。这样会导致以下后果:其他处理器无法再采用局部自旋的方式...

2018-04-18 15:18:57 180

转载 自旋锁和缓存一致性

http://xw-z1985.iteye.com/blog/20555521、两种自旋锁的实现:TAS和TTAS1.1 TASclass TasLock {          AtomicBoolean state = new AtomicBoolean(false);            void lock() {              while (state.getAndSet(tr...

2018-04-18 15:16:59 235

转载 自旋锁、排队自旋锁、MCS锁、CLH锁

自旋锁(Spin lock)自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。自旋锁适用于锁保护的临界区很小的情况,临界区很小的话,锁占用的时间就很短。简单的实现import java.util.concurrent.atomic.AtomicReference;public class SpinLock { pri...

2018-04-18 15:12:35 244

转载 Java锁的种类以及辨析(四):可重入锁

作者:山鸡锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。四、可重入锁:本文里面讲的是广义上的可重入锁,而不是单指JAVA下的ReentrantLock。可重入锁,也叫...

2018-04-18 14:57:19 128

转载 Java锁的种类以及辨析(三):阻塞锁

                                                                                                                                                              作者:山鸡锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 syn...

2018-04-18 12:09:34 138

转载 Java锁的种类以及辨析

Java锁的种类以及辨析                                                                                                                                                                   作者:山鸡锁作为并发共享数据,...

2018-04-18 12:07:15 109

原创 Java锁的种类以及辨析(二):自旋锁的其他种类

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。2.自旋锁的其他种类上篇我们讲到了自旋锁,在自旋锁中 另有三种常见的锁形式:TicketLock ,CLHlock 和M...

2018-04-18 11:18:06 110

原创 java锁的种类以及辨析(一):自旋锁

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。1、自旋锁自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时 才能进入临界区。public...

2018-04-18 11:16:32 116

转载 史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)

转载请标明出处: http://blog.csdn.net/forezp/article/details/70245644 本文出自方志朋的博客这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。一、consul 简介consul 具有以下性质:服务发现:consul通过http 方式注册服务,并且服务与服务之...

2018-04-17 16:32:37 121

转载 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)

转载请标明出处: http://blog.csdn.net/forezp/article/details/70233227 本文出自方志朋的博客上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所有服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另一个组件了,即Hys...

2018-04-17 16:14:42 106

转载 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)

转载请标明出处: http://blog.csdn.net/forezp/article/details/70217283 本文出自方志朋的博客在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard。一、Hystrix Dashboard简介在微服务架构中为例保证程序的可用性,防止程序出错导致网络...

2018-04-17 15:59:20 127

转载 史上最简单的SpringCloud教程 | 第十一篇: docker部署spring cloud项目

转载请标明出处: http://blog.csdn.net/forezp/article/details/70198649 本文出自方志朋的博客一、docker简介Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础...

2018-04-17 15:46:22 179

转载 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心

转载请标明出处: http://blog.csdn.net/forezp/article/details/70183572 本文出自方志朋的博客文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适的,...

2018-04-17 13:01:31 129

转载 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)

转载请标明出处: http://blog.csdn.net/forezp/article/details/70162074 本文出自方志朋的博客这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。一、简介Add sleuth to the classpath of a Spring Boot application (see below for ...

2018-04-17 11:20:29 190

转载 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)

转载请标明出处: http://blog.csdn.net/forezp/article/details/70148235 本文出自方志朋的博客转载请标明出处:Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。一、准备工作本文还...

2018-04-17 11:09:31 586

转载 史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)

转载请标明出处: http://blog.csdn.net/forezp/article/details/70037513 本文出自方志朋的博客上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程,创建一个eur...

2018-04-17 10:22:56 117

转载 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)

转载请标明出处: http://blog.csdn.net/forezp/article/details/69934399 本文出自方志朋的博客在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保...

2018-04-17 10:08:09 140

转载 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)

转载请标明出处: http://blog.csdn.net/forezp/article/details/69939114 本文出自方志朋的博客在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图: 注意:A服务和B服务是可以相互调用的,作图的时候忘记了...

2018-04-17 10:07:57 187

转载 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)

转载请标明出处: http://blog.csdn.net/forezp/article/details/70037291 本文出自方志朋的博客 在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件。它就是Spring Cloud Config。一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring ...

2018-04-17 10:07:42 132

转载 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)

转载请标明出处: http://blog.csdn.net/forezp/article/details/69808079 本文出自方志朋的博客上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解...

2018-04-16 20:40:09 139

转载 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)

转载请标明出处: http://blog.csdn.net/forezp/article/details/69788938 本文出自方志朋的博客在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章...

2018-04-16 20:30:43 138

转载 史上最简单的 SpringCloud 教程 | 第一篇:服务的注册与发现(Eureka)

转载请标明出处: http://blog.csdn.net/forezp/article/details/69696915 本文出自方志朋的博客一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring...

2018-04-16 20:19:04 210

转载 SpringBoot非官方教程 | 第四篇:SpringBoot 整合JPA

转载请标明出处: http://blog.csdn.net/forezp/article/details/70545038 本文出自方志朋的博客JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA 的目标之一是制定一个可以由很多供应商实现的API,并且开发人员可以编码来实现该API,而不是使...

2018-04-16 16:44:36 122

转载 SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql

转载请标明出处: http://blog.csdn.net/forezp/article/details/70477821 本文出自方志朋的博客本文介绍springboot通过jdbc访问关系型mysql,通过spring的JdbcTemplate去访问。准备工作jdk 1.8maven 3.0ideamysql初始化mysql:-- create table `account`DROP TAB...

2018-04-16 16:42:19 99

转载 SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解

转载请标明出处:http://blog.csdn.net/forezp/article/details/70437576 本文出自方志朋的博客springboot采纳了建立生产就绪Spring应用程序的观点。 Spring Boot优先于配置的惯例,旨在让您尽快启动和运行。在一般情况下,我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下,我们需要做修改一些配置,或者需...

2018-04-16 16:40:45 128

转载 SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程

原文地址:http://blog.csdn.net/forezp/article/details/70341651 简介spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程。它采用的是建立生产就绪的应用程序观点,优先于配置的惯例。可能你有很多理由不放弃SSM,SSH,但是当你一旦使用了springboot ,你会...

2018-04-16 16:38:50 190

转载 SpringBoot非官方教程 | 第二十四篇: springboot整合docker

转载请标明出处: http://blog.csdn.net/forezp/article/details/71024219 本文出自方志朋的博客这篇文篇介绍,怎么为 springboot程序构建一个docker镜像。docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任...

2018-04-16 09:01:36 164

转载 SpringBoot非官方教程 | 第二十六篇: sprinboot整合elk,搭建实时日志平台

转载请标明出处: http://blog.csdn.net/forezp/article/details/71189836 本文出自方志朋的博客这篇文章主要介绍springboot整合elk.elk 简介Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash是一个完全开源...

2018-04-16 09:01:22 285

转载 SpringBoot非官方教程 | 终章:文章汇总

springboot非官方教程,可能最接近于官方的一个教程,大多数案例都来自于官方文档,为了更好的理解,加入了个人的改造。码云下载:https://git.oschina.net/forezp/SpringBootLearning源码下载:https://github.com/forezp/SpringBootLearning,谢谢支持,记得star哦。欢迎关注:SpringCloud 系列教程入...

2018-04-16 09:01:05 276

转载 SpringBoot非官方教程 | 第二十三篇: 异步方法

转载请标明出处: http://blog.csdn.net/forezp/article/details/71024169 本文出自方志朋的博客这篇文章主要介绍在springboot 使用异步方法,去请求github api.创建工程在pom文件引入相关依赖:        <dependency> <groupId>org.springframew...

2018-04-15 20:17:49 101

转载 SpringBoot非官方教程 | 第二十二篇: 创建含有多module的springboot工程

转载请标明出处: http://blog.csdn.net/forezp/article/details/71024153 本文出自方志朋的博客这篇文章主要介绍如何在springboot中如何创建含有多个module的工程,栗子中含有两个 module,一个作为libarary. 工程,另外一个是主工程,调用libary .其中libary jar有一个服务,main工程调用这个服务。创建根工程创...

2018-04-15 20:17:16 354

转载 SpringBoot非官方教程 | 第二十一篇: springboot集成JMS

转载请标明出处: http://blog.csdn.net/forezp/article/details/71024024 本文出自方志朋的博客springboot对JMS提供了很好的支持,对其做了起步依赖。构架工程创建一个springboot工程,在其pom文件加入: <dependency> <groupId>org.springframework...

2018-04-15 20:16:31 161

空空如也

空空如也

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

TA关注的人

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