自定义博客皮肤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)
  • 收藏
  • 关注

原创 阿里支付宝架构师:谈谈我眼中的高并发架构。

前言高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里进行的总结,作为自己的归档记录,同时分享给大家。服务器架构业务从...

2019-06-30 17:02:23 865

原创 面试我还是想说一下:面试中常问的List去重问题,你都答对了吗?

面试中经常被问到的list如何去重,用来考察你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固。我们大家都知道,set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单。如下示例:输出结果为:我们可以看到去重成功了。在面试中被问到list去重问题,大部分回答都会是li...

2019-06-28 17:12:42 351 1

原创 我的面试心得与总结:BAT、网易、蘑菇街

先说一下LZ的基本情况,LZ是四川某985学校通信专业的研究生(非计算机),大学阶段也就学了C语言,根本没想过最后要成为码农。大四才开始学Java,研一下开始学Android,所以LZ觉得自己开始就是一个小白,慢慢成长起来的。一、心态心态很重要!心态很重要!心态很重要!重要的事情说三遍,这一点我觉得是必须放到前面来讲。找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你...

2019-06-25 15:24:16 563

原创 微服务架构之「 容错隔离 」

我们知道,在单体应用的架构下一旦程序发生了故障,那么整个应用可能就没法使用了,所以我们要把单体应用拆分成具有多个服务的微服务架构,来减少故障的影响范围。但是在微服务架构下,有一个新的问题就是,由于服务数变多了,假设单个服务的故障率是不变的,那么整体微服务系统的故障率其实是提高了的。比如:假设单个服务的故障率是0.01%,也就是可用性是99.99%,如果我们总共有10个微服务,那么我们整体的可用性...

2019-06-24 14:27:58 205

原创 面试官问你为什么要用Spring,你是怎么答的了

相信每个读者在工作中,学习中都了解Spring怎么使用,对于一个初级的开发工程师来说,仅仅了解怎么使用,能够很快的通过Spring来完成任务,这应该是足够了,但是呢,如果你还想向更高的级别去前进,系统的学习,掌握它的底层原理是必不可少的。每个人在面试的时候,Spring应该都是逃不过的关卡,能够熟练的使用,这并不难,知道它的底层原理才是高出别人一步的地方。这篇文章就说简单说下Spring的一些...

2019-06-21 17:03:50 3802 1

原创 放下手中的事情,来了解下什么是分布式锁?

————— 第二天 —————分布式锁的实现有哪些?1.Memcached分布式锁利用Memcached的add命令。此命令是原子性操作,只有在key不存在的情况下,才能add成功,也就意味着线程得到了锁。2.Redis分布式锁和Memcached的方式类似,利用Redis的setnx命令。此命令同样是原子性操作,只有在key不存在的情况下,才能set...

2019-06-19 16:24:22 348 2

原创 如何用Zookeeper实现分布式锁?

在上一篇漫画中,小灰介绍了如何使用redis实现分布式锁。那么,如何用Zookeeper来实现分布式锁呢?这一次我们会为大家详细讲述。什么是临时顺序节点?让我们来回顾一下Zookeeper节点的概念:Zookeeper的数据存储结构就像一棵树,这棵树由节点组成,这种节点叫做Znode。Znode分为四种类型:1.持久节点 (PERSISTENT)默认的节点类型。创建节点的客户...

2019-06-18 14:51:36 292

原创 「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景

作为一个合格的Java程序员,必须要对并发编程有一个深层次的了解,在很多互联网企业都会重点考察这一块。可能很多工作3年以上的Java程序员对于这一领域几乎没有太多研究。所以在接下来内容中,我会将并发编程整个领域由浅到深做非常全面的分析。内容导航从操作系统的发展了解进程、线程模型线程的优势线程的生命周期线程的应用场景了解进程、线程模型每次学习一个新技术,我会先去了解这个技术的背景,这个...

2019-06-17 15:43:01 160

原创 面试中考官会问:Kafka为什么速度那么快?

Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率。即使是普通的服务器,Kafka也可以轻松支持每秒百万级的写入请求,超过了大部分的消息中间件,这种特性也使得Kafka在日志处理等海量数据场景广泛应用。针对Kafka的基准测试可以参考,Apache Kafka基准测试:每秒写入2百万(在三台廉价机...

2019-06-14 16:48:44 240

原创 记录Spring Cloud应用在阿里云架构部署

常用的Spring Cloud体系架构系统部署采用阿里云平台,采用的技术架构为SpringCloud.采用在线阿里云架构制图工具: Freedgo Design 地址:https://www.freedgo.com, 具体架构如下:整体架构主要居于Spring Cloud的分布式微服务架构。主要功能包括:服务注册发现中心(Eureka server)通过服务发现可以抽象出部署服务的物...

2019-06-13 17:45:45 3789 1

原创 面试中的 ThreadLocal 原理和使用场景你遇到过吗

相信大家不管是在网上做题还是在面试中都经常被问过 ThreadLocal 的原理和用法,虽然一直知道这个东西的存在但是一直没有好好的研究一下原理,没有自己的知识体系。今天花点时间好好学习了一下,分享给有需要的朋友。ThreadLocal 是什么ThreadLocal 是 JDK java.lang 包中的一个用来实现相同线程数据共享不同的线程数据隔离的一个工具。 我们来看下 JDK 源码中是如...

2019-06-12 16:57:11 342

原创 阿里大佬带你,深入理解线程池底层原理

线程池为什么要使用线程池在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。 因此,在大多数并发框架中都会使用线程池来管理线程,使用线程池管理线程主要有如下好处:(1)降低资源消耗。通过复用已存在的线程和降低线程关闭的次数来尽可能降低系统性能损耗(2)提升系统响应速度。通过复用线程,省去创建线程的过程,因此整体上提升了系统的响应速度(3)提高线程的可管理性。线程是...

2019-06-11 16:25:50 288

转载 从事Java工作两年了,工作高不成低不就,如何快速的提升自己?

本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉,另外,小编还给大家准备了一套烛光学院VIP的Java提升课程,有助于那些从事Java工作人员在职场上遇到瓶颈,或者想往更高的层次提升自己,都是可以看看下面的这系列的视频,视频讲课老师都是之前在ABT公司做过技术...

2019-06-10 16:39:47 1815

原创 《Kafka的权威指南》——写数据

不管是把 Kafka 作为消息队列、消息、总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个可以从 Kafka读取数据的消费者,或者一个兼具两种角 色的应用程序。例如,在一个信用卡事务处理系统里,有一个客户端应用程序,它可能是一个在线商店, 每当有支付行为发生时,它负责把事务发送到 Kafka上。另一个应用程序根据规则引擎检 查这个事务,决定是批准还是拒绝。 ...

2019-06-10 16:09:11 223

原创 互联网架构,究竟为啥要做服务化?

“微服务架构”的话题非常之火,很多朋友都在小窗我,说怎么做服务化?解答“怎么做”之前,先得了解“为什么做”。画外音:做技术千万不能是这种思路,“别人都在做,所以我们也要搞”。并不是所有的业务都适合“服务化”,互联网高可用架构,到底为什么要服务化?服务化之前,高可用架构是什么样的?在服务化之前,互联网的典型高可用架构如下:(1)客户端,APP,H5,小程序,PC浏览器;(2)后端入口,...

2019-06-04 15:54:24 243

原创 死磕 java集合之DelayQueue源码分析

问题(1)DelayQueue是阻塞队列吗?(2)DelayQueue的实现方式?(3)DelayQueue主要用于什么场景?简介DelayQueue是java并发包下的延时阻塞队列,常用于实现定时任务。继承体系从继承体系可以看到,DelayQueue实现了BlockingQueue,所以它是一个阻塞队列。另外,DelayQueue还组合了一个叫做Delayed的接口,Delay...

2019-06-03 21:28:27 187

原创 一个简单的管理系统 Springmvc 一不留神就躺坑

前言好久没有用springmvc写项目了,抽时间写一个简单的springmvc项目是什么(what)为什么(why)怎么做(how)1.读书破万卷下笔如有神(理清思路,知识储备和前期整理)2.遇到问题,多方面寻找解决的思路及方法3.总结,回顾写过的坑1.初始化数据库数据库的话可以选择mysql,oracle 最近oracle用得比较多所以选用oracle(1).查看数据文件存储路径...

2019-06-02 15:31:17 427

空空如也

空空如也

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

TA关注的人

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