自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 2020金三银四冲击BAT必备面试题(上篇):集合类+阻塞队列+锁

本文转载自:2020金三银四冲击BAT必备面试题(上篇):集合类+阻塞队列+锁一、集合类1. ArrayList的扩容机制每次扩容是原来容量的1.5倍,通过移位的方法实现。使用copyOf的方式进行扩容。扩容算法是首先获取到扩容前容器的大小。然后通过oldCapacity + (oldCapacity >> 1) 来计算扩容后的容器大小newCapacity。这里用到了...

2019-12-19 21:45:37 2973 1

原创 面试官:好不容易面了个技术好的,领导非要亲自面试,结果面试完领导愣了

点关注,不迷路;持续更新Java架构相关技术及资讯热文!!!眼尖的朋友可能还看见了此博客页面左上角还有惊喜哟在职场中,求职者在面试的时候,最关心的莫过于就是公司的福利待遇,以及公司的发展前景,如果面试的时候,不谈工资只谈理想,那完全就是耍流氓,也没有人会愿意加入,毕竟现在谁也不傻。近日,有位面试官在职业论坛留言,分享了自己坎坷的经历,“面试官:好不容易面了个技术好的,领导非要亲自面试,结...

2019-05-29 16:53:11 6379 2

原创 程序员极度崩溃的10个瞬间

点关注,不迷路;持续更新Java架构相关技术及资讯热文!!!眼尖的朋友可能还看见了此博客页面左上角还有惊喜哟0.测试工程师测了很久的bug。1.昨天加班写的代码出了问题,深夜接到电话,正在电脑前修改的你……2.当有人让我帮他调试代码时。3.把编程思维,带到了现实生活中。4.事实告诉我们,只会埋头写代码,是没有用的,多学学其他软技能,有助于开发。5.跟离职程序员交接,一...

2019-05-29 15:27:11 2884

原创 阿里云高工手写!这是我见过最完美的“docker学习宝典”,你值得拥有

前言什么是Docker?对于很多不了解Docker技术的人来说,Docker可能只是一条“蓝色的鲸鱼”。实际上,Docker技术的流行,还是因为开发人员对它的认可。目前,大部分的互联网公司都在使用docker,包括腾讯、京东、美团、新浪等等,腾讯的盖亚,就是基于docker的,可见docker对于一名开发人员的重要性。学习docker与其他技术是一样的,从基础出发,由浅入深,熟练掌握docker,成为成熟的开发人员,才能更受大厂青睐。为了让更多的开发人员学习好docker,这份dock.

2020-12-17 21:31:05 317

原创 阿里技术专家深入讲解,SpringMVC入门到进阶,看这一篇就够了!

前言SpringMVC是一个实现了Web MVC设计模式的轻量级Web框架。它与前辈Struts 2框架一样,都属于MVC框架,因为其使用和性能等方面比Struts 2更加优异,所以Spring MVC是现在比较主流的MVC框架。先简单概括一下SpringMVC的主要特点:灵活性强,容易与其他框架集成;提供了前端控制器DispatcherServlet;支持多种视图技术,如JSP、FreeMarker等视图技术;支持国际化;And So On…接下来,开始写我们的第一个Spring MV

2020-11-23 21:23:56 317

原创 别说我不告诉你!如何用分库分表的 9种分布式主键ID 生成方案?挺全乎的

前言《sharding-jdbc 分库分表的 4种分片策略》中我们介绍了sharding-jdbc4种分片策略的使用场景,可以满足基础的分片功能开发,这篇我们来看看分库分表后,应该如何为分片表生成全局唯一的主键ID。引入任何一种技术都是存在风险的,分库分表当然也不例外,除非库、表数据量持续增加,大到一定程度,以至于现有高可用架构已无法支撑,否则不建议大家做分库分表,因为做了数据分片后,你会发现自己踏上了一段踩坑之路,而分布式主键ID就是遇到的第一个坑。不同数据节点间生成全局唯一主键是个...

2020-11-19 20:26:05 304

原创 亲身经历在国企搞IT:自我总结500页“Java成长笔记”,谁说待国企就是养老!?

前言2020.11月,这个月是我加盟xxx国企的一年整,这篇分享本来是要提前写的,不过由于前段时间确实繁忙,一直没有机会提笔。今天简单和大家分享下我在国企的一些工作内容,感悟等等,希望能给那些对自身规划仍然迷茫的朋友们,带来一些真切实在的分享和建议,愿大家少走弯路。国企为什么会有IT部门要想知道在国企搞IT都做什么,首先可能需要了解一下国企为什么会有IT部门,也就是说国企对IT的诉求到底在哪里。 随着企业的发展,企业中各种“慢贵难”问题日益凸显,人力,生产,办公,采购,制造,销售等等领域,方

2020-11-16 17:45:46 474 1

原创 你还在问我Bean的生命周期?带你看看一个Spring Bean从诞生到逝去的九次人生转折!

前言关于Spring生命周期的学习,前面已经写过很多篇文章去不断的探究Spring对一个Bean的创建、管理过程,在整个SpringBean的生命周期中,BeanPostProcessor是不可绕过的一环,他几乎贯穿了整个Spring Bean的生命周期!几乎我们现在所熟知Bean的生命周期的功能,大部分都是由BeanPostProcessor完成的!比如,依赖注入、循环依赖问题、Aop等,全部都是由BeanPostProcessor的扩展实现的!BeanPostProcessor的学习是我们理解S

2020-11-16 16:52:26 125

原创 热门的算法面试题你都不知道?链表反转的两种实现方法,后一种击败了100%的用户!

前言链表反转是一道很基础但又非常热门的算法面试题,它也在《剑指Offer》的第 24 道题出现过,至于它有多热(门)看下面的榜单就知道了。从牛客网的数据来看,链表反转的面试题分别霸占了【上周考过】和【研发最爱考】的双重榜单,像网易、字节等知名互联网公司都考过,但通过率却低的只有 30%,所以本文我们就来学习一下反转链表的两种实现方法。题目标题:剑指 Offer 24. 反转链表描述:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1

2020-11-14 20:32:14 143

转载 首发!阿里大佬整理万字MyBatis实战笔记,精简易懂,开源免费下载

MyBatis作为国内经常使用的持久层框架,其内部代码的设计非常优秀。比如在开发过程中,有能力对框架进行深度的定制化开发,解决BUG也更加得心应手!另外学习开发者是如何设计高扩展性、低耦合性的代码,便于在自己的开发场景中应用。而在跳槽的时候MyBatis更是面试必问的内容,那你对于MyBatis又掌握了多少呢?想学习MyBatisK但,市面上真正适合学习的MyBatis资料太少,有的书或资料虽然讲得比较深入,但是语言晦涩难懂,大多数人看完这些书基本都是从入门到放弃。学透MyBatis源码难道就真的就没有一

2020-11-12 21:28:45 174

原创 阿里为什么弃用hibernate?看完Mybatis源码,我目瞪口呆

最近一直在研究MyBatis源码,作为国内经常使用的持久层框架,其内部代码的设计非常优秀。比如在开发过程中,有能力对框架进行深度的定制化开发,解决BUG也更加得心应手!另外学习开发者是如何设计高扩展性、低耦合性的代码,便于在自己的开发场景中应用。而在Mybatis中,缓存是一个绕不开的话题。比如说,MyBatis的一级缓存竟然还会引来麻烦?MyBatis 一级缓存与 SpringFramework 的声明式事务有冲突吗?在 Service 中开启事务,连续查询两次同样的数据,结果两次查询的结果不一致。这

2020-11-09 14:35:15 570 5

原创 2020年阿里巴巴最新120道 面试真题:天猫+蚂蚁金服+阿里巴巴 面试最新总结(附:答案)

每一年的双11,都是阿里新技术的演练场,也是阿里技术人一年一度的大秀秀场。作为国内互联网技术的典型代表,阿里巴巴的技术一直备受着大家的关注。能进入阿里工作,是很多开发者们的目标与梦想,为帮助开发者们提升面试技能、高效通关一线互联网公司的面试,我们走访了多位阿里巴巴资深技术专家以及阿里高级Java候选人,提炼总结了这份面试真题,一次整体放出送给大家。看看自己能答对多少,如果能回答70%的题目,就大胆去阿里以及各互联网公司试试身手吧。本篇建议大家收藏、备用~【阿里、天猫、蚂蚁面试题目】涵盖: 开源

2020-11-05 22:19:25 1104 4

原创 培训机构最新发布30W年薪的面试宝典及配套资料,我已经拿到了

前言一份月薪30K的java开发岗位工作要求是怎样的呢?面试都会问到哪些呢?任职要求:1、计算机或相关专业本科(或以上)学历,具备3年以上Java服务端开发经验,熟悉常用的Java开源框架,如熟悉Spring、SpringMVC、SpringBoot、Hibernate、MyBatis等,了解其原理和实现机制;2、擅长Java Web服务开发,熟悉掌握各种Web应用开发模式,具有丰富的高并发、大数据系统的设计、研发、调试经验者优先;3、精通Java及面向对象设计开发,熟悉常见设计模式,有系统设计

2020-10-22 16:16:07 248 2

原创 限量!Alibaba首发“Java从入门到架构成长笔记”公开半小时获8K标星

现在面试大部分候选人在工作 3 年的时候基本都会遇上一道难过的坎。为啥这么说呢?因为工作一段时间之后,大部分工程师都已经完成了最原始的基础技能积累,大家的技术水平差距集中在语言、框架、工具的使用熟练度上。而这个差异不会很大,就算大,也很容易追赶。但如果一个工程师一直停留在业务开发,一直沉浸于工具的使用熟练度,那他自然就会遇到能力瓶颈。这个瓶颈就是前面说的那道坎,跳过去了,你就发现了一片新天地,可以在下一个区间里继续生长。跳不过去,就可能不停地在原地打转。最近意外收获了到一份Alibaba一位大佬给的Jav

2020-10-15 21:47:37 264

原创 互联网企业都会碰到的63道面试题:RabbitMQ+Kafka+Zookeeper+Redis+JVM

小编精心收集:专为银十招聘季准备,以下面试题先过一遍,为即将到了的面试做好准备,也过一遍基础知识点。一、RabbitMQrabbitmq 的使用场景有哪些?rabbitmq 有哪些重要的角色?.rabbitmq 有哪些重要的组件?rabbitmq 中 vhost 的作用是什么?rabbitmq 的消息是怎么发送的?rabbitmq 怎么保证消息的稳定性?rabbitmq 怎么避免消息丢失?要保证消息持久化成功的条件有哪些?rabbitmq 持久化有什么缺点?.rabbitmq 有几

2020-10-13 20:45:36 324 1

原创 面对海量数据,如何才能查得更快?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等本文和大家分享一下如何来保存原始数据,我们知道,原始数据的数据量太大,能存下来就很不容易了,这个数据是没法直接来给业务系统查询和分析的。有两个原因,一是数据量太大了,二是也没有很好的数据结构和查询能力,来支持业务系统查询。所以一般的做法是,用流计算或者是批计算,把原始数据再进行一次或者多次的过滤、汇聚和计算,把计算结果落到另外一个存储系统中去,由这个存储再给业务系统提供查询支持。这里的“流计算”,指的是 Flink、Storm..

2020-08-29 20:18:35 684 1

原创 揭秘:一条SQL语句的执行过程是怎么样的?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等数据库系统能够接受 SQL 语句,并返回数据查询的结果,或者对数据库中的数据进行修改,可以说几乎每个程序员都使用过它。而 MySQL 又是目前使用最广泛的数据库。所以,解析一下 MySQL 编译并执行 SQL 语句的过程,一方面能帮助你加深对数据库领域的编译技术的理解;另一方面,由于 SQL 是一种最成功的 DSL(特定领域语言),所以理解了 MySQL 编译器的内部运作机制,也能加深你对所有使用数据操作类 DSL 的理解,比如.

2020-08-26 21:10:31 599

原创 面试官:有没有比读写锁更快的锁?StampedLock了解下

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等本文主要和大家分享一下 StampedLock 的使用方法、内部工作原理以及在使用过程中需要注意的事项。一、StampedLock支持的三种锁模式我们先来看看在使用上 StampedLock 和上一篇文章讲的 ReadWriteLock 有哪些区别。ReadWriteLock 支持两种模式:一种是读锁,一种是写锁。而 StampedLock 支持三种模式,分别是:写锁、悲观读锁和乐观读。其中,写锁、悲观读锁的语义和 Rea..

2020-08-22 20:26:22 343

原创 温故知新:常用的SQL标准有哪些,在SQL92中是 如何使用连接的?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等本文主要和大家分享一下连接表的操作。在分享之前,我想先给大家介绍下连接(JOIN)在 SQL 中的重要性。我们知道 SQL 的英文全称叫做 Structured QueryLanguage,它有一个很强大的功能,就是能在各个数据表之间进行连接查询(Query)。这是因为 SQL 是建立在关系型数据库基础上的一种语言。关系型数据库的典型数据结构就是数据表,这些数据表的组成都是结构化的(Structured)。你可以把关系模型理解..

2020-08-18 20:26:55 569

原创 数据库中的数据是如何被黑客拖取的?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等说到数据库,你肯定会说:“数据库是我最熟悉的工具了。利用它,我能够设计复杂的表结构、写出炫酷的 SQL 语句、优化高并发场景下的读写性能。”当然,我们的日常工作离不开数据库的使用。而且,数据库中储存的大量机密信息,对于公司和用户都至关重要。那关于数据库的安全你知道多少呢?你知道数据库是如何进行认证的吗?使用数据库交换数据的过程是安全的吗?假如黑客连入了数据库,又会发生什么呢?今天,我就以两种比较常见的数据库 Redis 和 My.

2020-08-13 17:46:16 405

原创 如何用数据结构和算法实现一个短网址系统?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等短网址服务你用过吗?如果我们在微博里发布一条带网址的信息,微博会把里面的网址转化成一个更短的网址。我们只要访问这个短网址,就相当于访问原始的网址。从功能上讲,短网址服务其实非常简单,就是把一个长的网址转化成一个短的网址。作为一名软件工程师,你是否思考过,这样一个简单的功能,是如何实现的呢?底层都依赖了哪些数据结构和算法呢?一、短网址服务整体介绍刚刚我们讲了,短网址服务的一个核心功能,就是把原始的长网址转化成短网址。除了这个功.

2020-08-10 18:13:31 344

原创 阿里架构师浅析数据结构:队列在线程池等有限资源池中的应用

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等我们知道,CPU 资源是有限的,任务的处理速度与线程个数并不是线性正相关。相反,过多的线程反而会导致 CPU 频繁切换,处理性能下降。所以,线程池的大小一般都是综合考虑要处理任务的特点和硬件环境,来事先设置的。当我们向固定大小的线程池中请求一个线程时,如果线程池中没有空闲资源了,这个时候线程池如何处理这个请求?是拒绝请求还是排队请求?各种处理策略又是怎么实现的呢?实际上,这些问题并不复杂,其底层的数据结构就是我们今天要学的内容.

2020-08-05 17:49:47 201

原创 阿里大牛的数据库优化方案:写入数据量增加时,如何实现分库分表?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等之前个大家分享给在高并发下数据库的一种优化方案:读写分离,它就是依靠主从复制的技术使得数据库实现了数据复制为多份,增强了抵抗大量并发读请求的能力,提升了数据库的查询性能的同时,也提升了数据的安全性,当某一个数据库节点,无论是主库还是从库发生故障时,我们还有其他的节点中存储着全量的数据,保证数据不会丢失。此时,你的电商系统的架构图变成了下面这样:这时,公司 CEO 突然传来一个好消息,运营推广持续带来了流量,你所设计的电商系统的.

2020-08-02 20:53:03 393

原创 反应式编程框架设计:如何使程序调用不阻塞等待,立即响应?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等在之前的文章中就讨论过为什么在高并发的情况下,程序会崩溃。主要原因是,在高并发的情况下,有大量用户请求需要程序计算处理,而目前的处理方式是,为每个用户请求分配一个线程,当程序内部因为访问数据库等原因造成线程阻塞时,线程无法释放去处理其他请求,这样就会造成请求堆积,不断消耗资源,最终导致程序崩溃。这是传统的 Web 应用程序运行期的线程特性。对于一个高并发的应用系统来说,总是同时有很多个用户请求到达系统的 Web 容器。Web .

2020-07-29 20:57:56 440

原创 阿里架构师的炫技与克制:代码的两种味道与态度

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等虽然你代码可能已经写得不少了,但要真正提高代码水平,其实还需要多读代码。就像写作,写得再多,不多读书,思维和认知水平其实是很难提高的。代码读得多了,慢慢就会感受到好代码中有一种味道和品质:克制。但也会发现另一种代码,它也会散发出一种味道:炫技。一、炫技什么是炫技的代码?我先从一个读代码的故事说起。几年前我因为工作需要,去研究一个开源项目的源代码。这是一个国外知名互联网公司开源的工具项目,据说已在内部孵化了 6 年之久,这才.

2020-07-23 21:24:48 292

原创 阿里架构师全方位、多角度的剖析数据的持久化和一致性

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等在阅读之前,我想你很可能已经使用过许多存储层的技术了,例如缓存、文件、关系数据库,甚至一些云上 key-value 的存储服务,但就如同我之前提到的那样,某项具体技术总是相对好学,可对于全栈知识系统地学习,也包括持久层的学习,是一定要立足于技术的基础、原理和本质的。今天,我们要讲的就是其中之一 —— 一致性(Consistency)。数据的可用性和一致性是很多工程师几乎每天都会挂在嘴边的概念,在存储系统的技术选型上面,一致性将会.

2020-07-21 20:49:08 221

原创 熟悉会导致轻蔑,记一次MySQL 选错索引的原因

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等MySQL 中,可以为某张表指定多个索引,但在语句具体执行时,选用哪个索引是由 MySQL 中执行器确定的。那么执行器选择索引的原则是什么,以及会不会出现选错索引的情况呢?先看这样一个例子:创建表 Y,设置两个普通索引, 创建一个存储过程用于插入数据。MySQL: 5.7.27, 隔离级别: RRCREATE TABLE `Y` ( `id` int(11) NOT NULL AUTO_INCREMENT, `.

2020-07-15 21:09:23 220

原创 海量数据做计算,到底可以有多快?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等内存计算是近十几年来,在数据库和大数据领域的一个热点。随着内存越来越便宜,CPU的架构越来越先进,整个数据库都可以放在内存中,并通过 SIMD 和并行计算技术,来提升数据处理的性能。我问你一个问题:做 1.6 亿条数据的汇总计算,需要花费多少时间呢?几秒?几十秒?还是几分钟?如果你经常使用数据库,肯定会知道,我们不会在数据库的一张表中保存上亿条的数据,因为处理速度会很慢。但今天,我会带你采用内存计算技术,提高海量数据处理工作的.

2020-07-14 21:33:27 617

原创 阿里架构师浅析系统高可用的实现,如何让你的系统不掉链子?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等在实际工作中,我们平常更关注系统业务功能的实现,而对于系统是否会出故障,总觉得那是小概率事件,一开始不会考虑得太多。然而系统上线后,我们会发现系统其实很脆弱,每个地方都可能会出问题,处理线上事故的时间往往超过了开发功能的时间。所以,对于系统的高可用,我想你经常会有这样的疑问:系统的高可用真的很重要吗?如何实现系统的高可用,具体都有哪些手段呢?十年前的时候,我们有几个数据来说明系统宕机对公司的影响,我记得其中一个是系统每宕掉 1.

2020-07-13 22:02:54 349

原创 看了这个高并发系统架构,才知道我对秒杀的误解有多深

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等一、前言很多小伙伴反馈说,高并发学了那么久,但是在真正做项目时,仍然不知道如何下手处理高并发业务场景!甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段,不知道学习的并发知识如何运用到实际项目中,就更别提如何构建高并发系统了!究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业务场景下典型的秒杀系统的架构,让大家学以致用。二、电商系统架构在电商领域,存在着典型的秒杀业务场景,那何谓秒杀场景呢。简单的来说就是.

2020-07-10 21:25:42 1359 3

原创 深入理解微服务架构:银弹or焦油坑?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等微服务是近几年非常火热的架构设计理念,大部分人认为是 Martin Fowler 提出了微服务概念,但事实上微服务概念的历史要早得多,也不是 Martin Fowler 创造出来的,Martin只是将微服务进行了系统的阐述。不过不能否认 Martin 在推动微服务起到的作用,微服务能火,Martin 功不可没。微服务的定义相信你早已耳熟能详,参考维基百科,我就来简单梳理一下微服务的历史吧2005 年:Dr. Peter ..

2020-07-07 20:59:03 370

原创 阿里大佬是怎么监控Kafka?这次算是长见识了

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等监控 Kafka,历来都是个老大难的问题。无论是在我维护的微信公众号,还是 Kafka QQ群里面,大家问得最多的问题,一定是 Kafka 的监控。大家提问的内容看似五花八门,但真正想了解的,其实都是监控这点事,也就是我应该监控什么,怎么监控。我个人认为,和头疼医头、脚疼医脚的问题类似,在监控 Kafka 时,如果我们只监控Broker 的话,就难免以偏概全。单个 Broker 启动的进程虽然属于 Kafka 应用,但它也是一..

2020-07-06 20:39:19 421

原创 磁盘I/O性能优化的几个思路

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等虽然 I/O 的性能指标很多,相应的性能分析工具也有好几个,但理解了各种指标的含义后,你就会发现它们其实都有一定的关联。顺着这些关系往下理解,你就会发现,掌握这些常用的瓶颈分析思路,其实并不难。找出了 I/O 的性能瓶颈后,下一步要做的就是优化了,也就是如何以最快的速度完成 I/O操作,或者换个思路,减少甚至避免磁盘的 I/O 操作。本文,我就来说说,优化 I/O 性能问题的思路和注意事项。I/O基准测试按照我的习惯,..

2020-07-05 21:43:05 1389 1

原创 Java虚拟机是怎么实现synchronized的?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等文章目录重量级锁轻量级锁偏向锁总结在 Java 程序中,我们可以利用 synchronized 关键字来对程序进行加锁。它既可以用来声明一个 synchronized 代码块,也可以直接标记静态方法或者实例方法。当声明 synchronized 代码块时,编译而成的字节码将包含 monitorenter 和 monitorexit指令。这两种指令均会消耗操作数栈上的一个引用类型的元素(也就是 synchronized 关键字括.

2020-07-02 21:16:52 181

原创 Kafka中位移提交那些事儿

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等之前我们说过,Consumer 端有个位移的概念,它和消息在分区中的位移不是一回事儿,虽然它们的英文都是 Offset。今天我们要聊的位移是 Consumer 的消费位移,它记录了Consumer 要消费的下一条消息的位移。这可能和你以前了解的有些出入,不过切记是下一条消息的位移,而不是目前最新消费消息的位移。我来举个例子说明一下。假设一个分区中有 10 条消息,位移分别是 0 到 9。某个Consumer 应用已消费了 5 条.

2020-07-01 21:25:35 295

原创 阿里架构师的内存管理心得:如何避免内存溢出和频繁的垃圾回收?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等不知道你有没有发现,在高并发、高吞吐量的极限情况下,简单的事情就会变得没有那么简单了。一个业务逻辑非常简单的微服务,日常情况下都能稳定运行,为什么一到大促就卡死甚至进程挂掉?再比如,一个做数据汇总的应用,按照小时、天这样的粒度进行数据汇总都没问题,到年底需要汇总全年数据的时候,没等数据汇总出来,程序就死掉了。之所以出现这些情况,大部分的原因是,程序在设计的时候,没有针对高并发高吞吐量的情况做好内存管理。要想解决这类问题,首先你要.

2020-06-30 21:43:53 163

原创 这样简单地的设置一下,可以让你的让Docker镜像起飞

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等一、前言Docker用起来非常爽,尤其是用于DevOps实践时。但是,当你在国内或者本地拉取镜像时,经常会碰到各种“便秘”——要么镜像拉取缓慢,要么时断时连,要么连接超时!当我们的镜像又比较大时(比如某人在代码里面丢了个魔兽争霸的包),这简直是一个噩梦!那么如何解决这个问题?接下来我们就主要从以下几个方面来解决这个问题:使用镜像加速器换源自己做镜像推送到国内仓库自己搭建就近镜像仓库最后的绝招(保密)二、镜像加速.

2020-06-29 20:31:29 164

原创 互联网大厂面试揭秘:MySQL查询常考的十道面试题

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等表结构:`student`('id'、'name'、'code'、'age'、'sex')学生表`teacher`('id'、'name')教师表`course`('id'、'name'、'teacher_id')课程表`score`('student_id'、'course_id'、'score')成绩表问题:查询001课程比002课程成绩高的所有学生的信息查询所有课程成绩小于60分的同学的信息名查询平均成..

2020-06-28 15:56:19 222

原创 面试官:讲一讲你对数据结构——数组、链表、栈、队列的理解

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等一、解释定义1. 数据结构:数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。如果还是不太清楚下面会举例说明的。2. 数据存储结构:简单的讲就是数据在计算机中的存储方式。常用的数据存储方式有两种:顺序存储,非顺序存储。顺序存储就是把数据存储在一块联系的存储介质(硬盘或内存等)中。反之就是非顺序存储咯。Java中的数组就是典型的顺序存储,链表就是非顺序存储。.

2020-06-24 21:08:08 328

原创 一文详解消息队列——Kafka如何实现高性能IO?

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等Kafka 是一个高性能的消息队列,在众多消息队列产品中,Kafka 的性能绝对是处于第一梯队的。我曾经在一台配置比较好的服务器上,对 Kafka 做过极限的性能压测,Kafka 单个节点的极限处理能力接近每秒钟 2000 万条消息,吞吐量达到每秒钟 600MB。你可能会问,Kafka 是如何做到这么高的性能的?之前就曾探讨过:怎么开发一个高性能的网络应用程序。其中提到了像全异步化的线程模型、高性能的异步网络传输、自定义的私有传.

2020-06-15 20:52:25 335

空空如也

空空如也

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

TA关注的人

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