自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

原创 java并发控制常用api

sleep(long millis)在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),属于Thread类中的方法。在调用sleep()方法的过程中,线程不会释放对象锁。依然持有着锁入眠,也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。等待睡眠时间到了之后进入线程进入就绪状态。sleep()可以使低优先级的线程得到执行的机会,当然也可以让同优先级、高优先级的线程有执行...

2018-04-26 10:29:25 453

原创 关于HashSet,LinkedHashSet ,TreeSet

HashSet这个类,表面上是Set接口的实现类,继承自Collection,但却是基于HashMap来实现的。之所以和List、Queue同属于Collection子类,我想是因为他们都是线性结构的吧。而Map类Key的唯一性正好适用于Set集合的唯一性的特性,所以Set类设计者就直接拿Map来用了吧。来看下HashSet类的源码: /** * 如果此set不包含任何元素,则返回...

2018-04-24 00:27:54 227

转载 理解断路器(curcuit breaker)模式

在分布式环境下,特别是微服务结构的分布式系统中, 一个软件系统调用另外一个远程系统是非常普遍的。这种远程调用的被调用方可能是另外一个进程,或者是跨网路的另外一台主机, 这种远程的调用和进程的内部调用最大的区别是,远程调用可能会失败,或者挂起而没有任何回应,直到超时。更坏的情况是, 如果有多个调用者对同一个挂起的服务进行调用,那么就很有可能的是一个服务的超时等待迅速蔓延到整个分布式系统,引起连锁反应...

2018-04-21 08:30:16 955

原创 SpringCloud之服务治理机制

服务提供者服务注册:服务提供者在启动的时候通过发送Rest请求的方式将自己注册到Eureka Server上,同时带上了自身服务的一些元数据信息。Eureka Server在收到这个请求后,将元数据信息存储在一个双层结构Map中,第一层的key是服务名,第二层的key是具体服务的实例名。服务同步:两个服务提供者分别注册到两个不同的服务注册中心上,因为服务中心之间是相互注册为服务的,所以当服务提供者...

2018-04-09 16:53:29 1443

原创 SpringCloud之注册服务提供者和注册服务消费者

上篇文章讲到了如何利用SpringBoot快速搭建一个SpringCloud的Eureka Server集群。这篇来讲一下如何创建并向Eureka Server集群注册一个或多个服务提供者、服务消费者。服务消费端这是我们开发环境中的目录结构我们需要的maven的依赖:<dependencies> <dependency> <groupId>org.spr...

2018-04-09 16:51:12 2927

原创 SpringCloud之高可用注册中心Eureka Server集群搭建

Spring Cloud的Eureka Server的高可用实际上就是将自己作为服务向其他服注册中心注册自己,形成一组互相注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果。接下来介绍下如何搭建一个服务注册中心集群。下图是文件结构, 非常简洁,就一个启动类。不得不说有了spingBoot开发一个新的项目简单了不少。我们需要的maven的依赖:<dependencies> ...

2018-04-08 15:43:04 1466 2

原创 java中volatile关键字

volatile提供可见性支持,但是不能控制并发。在说volatile关键字之前,要先提一下JMM(java内存模型)对java线程之间通信的控制,线程之间的共享变量存储在主内存(Main Memory)中,每个线程都有一个私有的本地内存(Local Memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的一个抽象概念,并不真实存在。它涵盖了缓存、写缓冲区、寄存器以及其...

2018-04-06 17:58:01 152

原创 java多线程模拟死锁问题

什么时死锁呢?来自百度百科的解释:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。用比较好理解的大白话来说就时线程A拿到了资源1对象的锁,接下来准备要再拿资源2对象的锁的时候,线程B来了,线程B先拿了资源2对象的锁,如何要准备去拿资源1对象的锁。这个时候就进入了一个谁也不让步谁有不能继续执行下去的尴尬场面。再有更多的...

2018-04-06 15:55:30 2447 3

原创 阿里巴巴Java代码检测插件的安装和使用

做为一个码农,不能单单是为了完成功能编码,还需要对自己编写的代码质量负责。介绍一下最近在idea上安装的阿里巴巴发布的代码规范插件,功能非常的简单暴力。IDEA插件安装1、 File >> Settings >> Plugins >> Browse repositories… 搜 alibaba 即可。2、安装完成重启后,出现下图小图标,即安装成功。使用 点击这...

2018-04-04 15:52:56 609

空空如也

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

TA关注的人

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