自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清风追梦enjoy的专栏

Aspire to inspire until I expire!

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

原创 在Java8中为什么要使用红黑树来实现的HashMap?

一、前言在jdk1.8版本后,Java对HashMap做了改进,在链表长度大于8的时候,将后面的数据存在红黑树中,以加快检索速度。二、红黑树回顾红黑树的英文是“Red-Black Tree",简称R-B Tree。它是一种不严格的平衡二叉查找树,我前面说了,它的定义是不严格符合平衡二叉查找树的定义的。那红黑树空间是怎么定义的呢?顾名思义,红黑树中的节点,一类被标记为黑色,一类被标记...

2019-11-29 12:03:30 14762 2

原创 Java开发面试知识点梳理(含答案)

出于篇幅考虑,这篇文章给出了10个专题。Java面试宝典产生自我7月份准备社招跳槽的过程,当时网上找了些试题,但是没答案,然后一边梳理自己的知识,一般结合自己平时钻研的知识和工作经验,自己对试题进行了整理,解答。也凭借着这次梳理,社招一路过关斩将,offer收割率100%。面了头条,和美团的3个事业部,均收获offer。也预祝各位校招和社招的朋友,斩获满意的offer。悄悄告诉你,外面...

2019-11-27 16:31:29 528

原创 限流(Rate limit)算法总结

一、前言保障服务稳定的三大利器:熔断降级、服务限流和故障模拟。今天和大家谈谈限流算法的几种实现方式,本文所说的限流并非是Nginx层面的限流,而是业务代码中的逻辑限流。那么为什么需要限流呢?按照服务的调用方,可以分为以下几种类型服务1、与用户打交道的服务比如web服务、对外API,这种类型的服务有以下几种可能导致机器被拖垮:用户增长过快(这是好事)因为某个热点事件(微博热...

2019-11-22 11:24:58 905

原创 CountDownLatch(闭锁)、Semaphore(信号量)、CyclicBarrier(回环栅栏)

一、CountDowLatch(闭锁)(倒计数锁存器)  CountDownLatch类位于java.util.concurrent包下,在完成某些运算时,只有其他所有线程的运算全部完成,当前运算才继续执行。  利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能。final CountD...

2019-11-21 20:38:35 423

原创 主流MQ特性对比

技术选型:目前在市面上比较主流的消息队列中间件主要有,Kafka、ActiveMQ、RabbitMQ、RocketMQ等这几种。不过敖丙我想说的是,ActiveMQ和RabbitMQ这两着因为吞吐量还有GitHub的社区活跃度的原因,在各大互联网公司都已经基本上绝迹了,业务体量一般的公司会是有在用的,但是越来越多的公司更青睐RocketMQ这样的消息中间件了。Kafka和Rock...

2019-11-21 17:22:25 1873

原创 一文搞懂蓝绿发布、灰度发布和滚动发布

应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。一、 蓝绿发布项目逻辑上分为AB组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。...

2019-11-11 10:10:43 396

原创 github代码托管&&gitbash本地工具

安装gitbash工具地址:https://git-scm.com/downloads----------------------------1. 生成公钥首先检查本机公钥:$ cd ~/.ssh2.如果提示:No such file or directory 说明你是第一次使用git。如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。$ mkdir key...

2019-11-06 16:23:29 344

原创 Redis: 缓存过期、缓存雪崩、缓存穿透、缓存击穿(热点)、缓存并发(热点)、多级缓存、布隆过滤器

1.缓存过期缓存过期:在使用缓存时,可以通过TTL(Time To Live)设置失效时间,当TTL为0时,缓存失效。为什么要设置缓存的过期时间呢?一、为了节省内存例如,在缓存中存放了近3年的10亿条博文数据,但是经常被访问的可能只有10万条,其他的可能几个月才访问一次。那么,就没有必要让所有的博文数据长期存在于缓存中。设置一个过期时间比方说7天,超过7天未被访问的博文数据...

2019-11-05 19:27:28 445

原创 程序员成长的四个简单技巧,你 get 了吗?

最近拜读了“阿里工程师的自我修养”手册,12 位技术专家分享生涯感悟来帮助我们这些菜鸡更好的成长,度过中年危机,我收获颇多,其中有不少的方法技巧和我正在使用的,这让我觉得我做的这些事情是对的,我走在了一条正确的道路上。我们程序员这个行业不像医生、律师等其他行业,那些行业可谓是越老越吃香,但是我们不一样,我们不能享受越老越吃香的待遇,因为互联网发展太快,技术不断的更新,就我工作的这短短几年时间就有不...

2019-11-05 18:08:54 166

原创 规则引擎drools【一】

小明是一家互联网公司的软件工程师,他们公司为了吸引新用户经常会搞活动,小明常常为了做活动加班加点很烦躁,这不今天呀又来了一个活动需求,我们大家一起帮他看看。一、小明的烦恼--线上活动规则频繁变更活动规则是根据用户购买订单的金额给用户送相应的积分,购买的越多送的积分越多,用户可以使用积分来兑换相应的商品,我们这次活动的力度很大,肯定会吸引很多的用户参加,产品经理小王兴高采烈唾液横飞的对小明讲...

2019-11-05 17:15:56 445

原创 除了努力挣钱,青春也不能错过的十件事

这些年一直在为钱奔波,上班挣钱,下班熬夜挣钱,有时间看看公众号文章也是优先选择那些如何快速挣钱的。然而结果却是没有挣到钱,又错过了很多生活中的美好。最近闲暇时间比较多,与自己独处的时间也比较多,当自己面对自己时,能够想到的除了怎样挣钱,却想不到其他的兴趣爱好。独处是考验自己能否接受自己的最好方式。有些生活方式,有些追求,可能自己从内心中也是不认可的,只是被社会的这股浮躁气裹挟着前行。看了欧...

2019-11-05 16:52:52 400

空空如也

空空如也

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

TA关注的人

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