自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清露草木的博客

技术积累

  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 深入分析volatile的实现原理

https://www.cnblogs.com/chenssy/p/6379280.html

2018-03-26 21:59:03 177

转载 ConcurrentHashMap的迭代器是强一致性的迭代器还是弱一致性的迭代器

而在迭代时,ConcurrentHashMap使用了不同于传统集合的快速失败迭代器(见之前的文章《JAVA API备忘---集合》)的另一种迭代方式,我们称为弱一致迭代器。在这种迭代方式中,当iterator被创建后集合再发生改变就不再是抛出ConcurrentModificationException,取而代之的是在改变时new新的数据从而不影响原有的数据,iterator完成后再将头指针替换为...

2018-03-26 21:39:43 2245

原创 JAVA多线程/并发问题与答案源

线程安全什么叫线程安全?servlet是线程安全吗?同步有几种实现方法?volatile有什么用?能否用一句话说明下volatile的应用场景?请说明下java的内存模型及其工作流程。为什么代码会重排序?并发容器和框架如何让一段程序并发的执行,并最终汇总结果?如何合理的配置java线程池?如CPU密集型的任务,基本线程池应该配置多大?IO密集型的任务,基本线程池应该配置多大?用有界队列好还是无界队...

2018-03-20 22:46:27 252

转载 Hystrix学习——(6)流程

Hystrix的处理流程如下图所示说明:1和2为两种不同的调用方式。3请求接收后,会先看是否存在缓存数据,如果存在,则不会继续请求服务,直接返回缓存数据。如果不存在缓存数据,则继续进行第4步。第4步将判断熔断器是否为开启状态,如果开启(已经熔断),则调用第8步FallBack(降级)处理。如果未开启,则继续调用第5步。第5步检测当前依赖的线程池是否已满,如果已满,也会调用第8步FallBack(降...

2018-03-15 11:09:46 116

转载 Hystrix学习——(5)HelloWorld

创建一个Hystrix的基本HelloWorld其实非常简单 1、在maven中添加依赖<url>http://github.com/Netflix/Hystrix</url><dependencies> <dependency> <groupId>com.netflix.hystrix</grou...

2018-03-15 11:07:56 206

转载 Hystrix学习——(4)熔断

熔断模式该模式借鉴了电路熔断的理念,如果一条线路电压过高,保险丝会熔断,防止火灾。如果某个目标服务调用慢或者有大量超时,此时,熔断该服务的调用,对于后续调用请求,不在继续调用目标服务,直接返回,快速释放资源。如果目标服务情况好转则恢复调用。还是之前的银行柜员的例子,假定处理每个业务的时间是5分钟,当某个柜员的处理速度降低了,超过了5分钟,或者干脆去吃午饭等等原因根本不在座位上,此时熔断机制将不会允...

2018-03-15 10:46:10 680

转载 Hystrix学习——(3)隔离

隔离模式    一个形象的解释是:对系统请求按类型划分成若干个的小岛,当某个小岛被火少光了,不会影响到其他的小岛。Hystrix依赖的隔离架构,如下图:Hystrix在用户请求和服务之间加入了线程池。Hystrix为每个依赖调用分配一个小的线程池,如果线程池已满调用将被立即拒绝,默认不采用排队.加速失败判定时间。线程数是可以被设定的。原理用户的请求将不再直接访问服务,而是通过线程池中的空闲线程来访...

2018-03-15 10:44:46 134

转载 Hystrix学习——(2)雪崩效应

在IO型服务中,假设服务A依赖服务B和服务C,而B服务和C服务有可能继续依赖其他的服务, 继续下去会使得调用链路过长,技术上称1->N扇出。如下图如果在A的链路上某个或几个被调用的子服务不可用或延迟较高,则会导致调用A服务的请求被堵住。 堵住的请求会消耗占用掉系统的线程、io等资源,当该类请求越来越多,占用的计算机资源越来越多的时候,会导致系统瓶颈出现,造成其他的请求同样不可用,最终导致业...

2018-03-15 10:41:28 265

转载 Hystrix学习——(1)什么是Hystrix

What Is Hystrix?Hystrix 是世界最大在线影片租赁服务商Netflix的众多开源项目之一,针对分布式系统的延迟和容错库。官方地址:该库由Java写成,项目源于Netflix API团队在2011年启动的弹性工程项目。章节 Hystrix学习(2)雪崩效应 Hystrix学习(3)隔离 Hystrix学习(4)熔断 Hystrix学习(5)HelloWorld Hystrix学习...

2018-03-15 10:39:48 178

转载 Java中CAS详解

在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。volatile是不错的机制,但是volatile不能保证原子性。因...

2018-03-08 13:43:51 140

转载 Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下...

2018-03-08 11:31:10 110

转载 面向对象和面向过程的区别以及优缺点

面向过程   优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。   缺点:没有面向对象易维护、易复用、易扩展   面向对象   优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护   缺点:性能比面向过程低   面...

2018-03-08 11:03:14 1011

本地maven仓库一次清除所有.lastUpdated文件脚本(win/mac/linux)

一次清除本地maven仓库所有.lastUpdated文件脚本;或者清除所有未下载完成jar的附属文件。适用于win/mac/linux

2018-05-10

计算机三级数据库真题

2008年9月计算机三级数据库真题及答案

2013-11-11

空空如也

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

TA关注的人

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