分布式
文章平均质量分 82
训练营资料福利官
这个作者很懒,什么都没留下…
展开
-
33张Java高级进阶技术思维导图,白嫖大佬梳理的技术要点!只需看重点,学习效率提升300%(建议收藏)
Java基础强化及高级用法JavaSE 知识点总结Java并发编程Java集合泛型反射计算机操作系统计算机组成原理数据结构NIOJava编程工具篇GITMaven框架源码篇MyBaitsDubboKafkaRabbitMQRedisNetty...原创 2021-07-26 21:57:09 · 1152 阅读 · 6 评论 -
这个疯子整理的十万字Java面试题汇总,终于拿下40W offer!(JDK源码+微服务合集+并发编程+性能优化合集+分布式中间件合集)
爆肝一周,不眠不休!就为 点赞+好评+收藏 三连收藏党可以通过百度网盘下载全部文档。Java JDK源码合辑HashMap篇原创 2021-04-28 22:22:33 · 28495 阅读 · 72 评论 -
服务网格:为什么选择Istio?
在Istio Service Mesh中,必须说一说以下基本要点: 什么是服务网格? 为什么我们需要服务网格? 可用的服务网格类型以及为什么使用Istio? Istio-体系结构和实现。 Istio组件。 Istio功能。 什么是服务网格?在任何基于微服务的体系结构中,只要存在从一个微服务到另一个微服务的服务调用。我们无法推断或调试网络服务调用中发生的情况。如果无法正确诊断如果出现意外情况,那可能会导致很多问题。例如;性能问题...原创 2021-04-08 16:19:12 · 2351 阅读 · 17 评论 -
最近面试了一位5年的Java,一问三不知!还反怼我...
最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。面试时我打算聊点基础的,先打开一下话题,结果发现对于一些开发中很基本的问题,比如: Git的分支你们是怎么管理的? 接口保证幂等性是基本的要求,那么幂等性你们是怎么做的? 你们有用@Transa...原创 2020-05-09 18:43:07 · 710 阅读 · 0 评论 -
谈谈缓存更新
看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。我不知道为什么这么多人用的都是这个逻...原创 2019-11-27 17:09:56 · 1199 阅读 · 0 评论 -
工作5年的Java程序员,才学会阅读源码,可悲吗?
最近一位5年开发经验的群友与我聊天他说:最近慢慢的尝试去看spring的源码,学习spring,以前都只是会用就行了,但是越是到后面,发现只懂怎么用还不够,在面试的时候经常被问到一些开源框架的源码问题,即使在网上各种百度,当时回答出来也会是很皮毛,不痛不痒的解答。对于目前碰到的瓶颈,他不知道怎么办。 我相信,绝不仅仅只有他一个人遇到这样的瓶颈,中国上百万的Java程序员中,大部...原创 2019-02-14 21:25:13 · 1582 阅读 · 0 评论 -
Kafka对Java程序员有多重要?连阿里都再用它处理亿万级数据统计
一.了解淘宝Kafka架构在ActiveMQ、RabbitMQ、RocketMQ、Kafka消息中间件之间,我们为什么要选择Kafka?下面详细介绍一下,2012年9月份我在支付宝做余额宝研发,2013年6月支付宝正式推出余额宝,2013年8月担任支付宝淘宝彩票项目经理带领兄弟们一起做研发,期间需要与淘宝和500万对接竞彩接口数据,业余时间与淘宝的同事沟通,了解天猫在电商节如何处理这些大数据的...原创 2019-02-15 19:29:05 · 506 阅读 · 0 评论 -
亿级网站大数据量下的高并发同步讲解
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1、同步和异步的区别和联系 所谓同步,可以理解为在执行完一个...转载 2019-04-12 17:26:34 · 895 阅读 · 0 评论 -
Java进阶——带你入门分布式中的Nginx
如何实现服务器之间的协同功能呢?通过Nginx提供的反向代理和负载均衡功能,可以合理的完成业务的分配,提高网站的处理能力;同时利用缓存功能,还可以将不需要实时更新的动态页面输出结果,转化为静态网页形成缓存,从而提高网站的响应速度。代理和反向代理代理(正向代理,目标服务器不知道谁在访问)位于客户端和目标服务器之间,起到一个中转的作用。其实就是客户端想访问目标服务器...转载 2019-04-14 14:15:26 · 287 阅读 · 0 评论 -
Java面试题中的Redis大合集,所有你想找的都在这里!
Redis 是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。``` Redis 支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hyperloglogs 等。 Redis 具备 LRU 淘汰、事务实现、以及不同级别的硬盘持久化等能力,并且支持副本集和通过 Redis Sentinel 实现的高可用方案,同时还支持通过 Redis ...原创 2019-04-14 14:53:25 · 322 阅读 · 0 评论 -
一文详解微服务架构
本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。最初...转载 2019-09-18 11:43:59 · 154 阅读 · 0 评论 -
一次跨行取款失败,而引发对分布式事物的思考
场景不知道大家有没有遇到这样的情况,就是去自动取款机取钱的时候,比如说你去取1000块钱,这个时候系统会先帮你把1000块钱扣除,然后自动取款机再把钱吐出来。但是如果取款机出现问题,会发现钱被扣了,但是钱没有取出来。我第一次遇到这个问题的时候很担心,当时跨行取取了3000块钱,短信提醒我钱已经被扣了,但是钱没取出来,于是准备去找柜台帮忙处理的时候,手机上又收到一笔交易提醒,提示钱被退回来了!...原创 2019-09-27 14:22:18 · 224 阅读 · 0 评论 -
实现RabbitMQ 延时消息
RabbitMQ 延时消息的实现(上)我们在实际业务中有一些需要延时发送消息的场景,例如:家里有一台智能热水器,需要在30分钟后启动 未付款的订单,15分钟后关闭注意这里的场景是延时,不是定时。当然,解决了延时,定时就很简单了(定时=当前时刻+间隔时间)。由于RabbitMQ本身不支持延时队列(延时消息),所以要通过其他方式来实现。总的来说有三种:先存储到数据库,用定时任务扫描...原创 2019-01-23 13:58:24 · 6216 阅读 · 0 评论 -
「阿里面试系列」之前有人问过我一个这样的面试题
文章简介很多人对的Thread.join的作用以及实现了解得很少,毕竟这个API我们很少使用。这篇文章仍然会结合使用及原理进行深度分析内容导航的Thread.join的作用 的Thread.join的实现原理 什么时候会使用的Thread.join扩展阅读:【阿里面试系列】搞懂并发编程,轻松应对80%的面试场景【阿里面试系列】的Java的线程的应用及挑战 「阿里面试系...原创 2018-12-17 21:25:09 · 251 阅读 · 0 评论 -
十面阿里——菜鸟,蚂蚁金服,天猫带回来的面试总汇
虽然天猫,蚂蚁金,菜鸟都归属阿里旗下,但每个面试官问的问题都不一样,相同点主要在流程方面。面试开始会让自我介绍,主要业务架构和技术架构两部分。业务架构一般不会深究,但要面试官听明白,并且一般面试官会顺着问是如何根据这些业务去设计技术架构的。面试试题其他什么是幂等?什么情况下需要考虑幂等?你怎么解决幂等的问题?Java多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选...原创 2018-05-10 19:37:13 · 914 阅读 · 0 评论 -
Java程序员通往阿里P7架构师的修炼之路
国内我们对架构师,项目经理,开发经理或者是技术总监这类职业定位普遍不都不清晰,很多的情况是“能者多劳”,一人身兼数职。达尔文的理论在我们的行业是绝对适用的,我从进入这个行业开始我就不甘于成为淘汰者,而我也由心地热爱着这个行业很年前我就立志要成为架构师(当年流行叫:系统分析员 )这目标进发。回首这10几年的磨练,我总结了一下一名合格的架构师应该具备哪一些方面的能力以及怎么才能得到这些能力一、编码能力...原创 2018-05-18 14:14:21 · 912 阅读 · 0 评论 -
深入理解大型网站架构的核心——了解性能
大型网站打造并不是件容易的事情,即使是从小开始慢慢迭代。从本期“问底”开始,我们将为大家带来李平的大型网站打造系列,从理论和实践两个方面进行讲解。在前一篇随笔大型网站系统架构的演化中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践。所以我打算写一个系列,从理论到实践讲述大型网站的点滴,这也是一...原创 2018-05-20 22:20:15 · 312 阅读 · 0 评论 -
Java gc中能聊的那些事
我们已经知道的Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆栈进行内存分配。为了进行高效的垃圾回收,虚拟机把堆内存划分成新生代年代(旧一代)和永久代(永久代)3个区域。新生代新生代由Eden与Survivor Space(S0,S1)构成,大小通过-Xmn参数指定,Eden与Survivor Space的内存大小比例默认为8:1,可以通过-XX:SurvivorRatio参数指...原创 2018-05-22 16:35:45 · 188 阅读 · 0 评论 -
在阿里架构师眼中构建一个较为通用的业务技术架构就是如此简单
1,通用架构概述创业之初,我们往往会为了快速迭代出产品,而选择最简单的技术架构,比如LAMP架构,SSH三层架构。这些架构可以适应初期业务的快速发展,但是,随着业务变得越来越复杂,我们会发现这些架构越来越难支撑业务的发展,出现在一个类中写好几千行代码,一个方法中到处都是if if else语句,如果中间遇到主程序猿离职,后面介入的程序猿几乎无法理解这些代码,到最后,产品越来越难迭代,只能推翻重...原创 2018-05-28 19:36:06 · 2188 阅读 · 0 评论 -
Java程序员进阶必知的分布式系统专业术语分析
1. I / O优化 1,增加缓存,减少磁盘的访问次数。2,优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的。3,设计合理的磁盘存储数据块,以及访问这些数据库的策略,这是在应用层面考虑的。例如,我们可以给存放的数据设计索引,通过寻址索引来加快和减少磁盘的访问量,还可以采用异步和非阻塞的方式加快磁盘的访问速度。4,应用合理的RAID策略提升磁盘I / O。...原创 2018-05-30 17:39:48 · 609 阅读 · 0 评论 -
精讲Redis内存模型
前言Redis的是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis的是实现网站高并发不可或缺的一部分。我们使用的Redis时,会接触的Redis的5种对象类型(字符串,哈希,列表,集合,有序集合),丰富的类型是Redis的相对于的Memcached等的一大优势。在了解的Redis的5种对象类型的用法和特点的基础上,进一步了解的Redis的内存模型,对Redis...原创 2018-06-13 15:59:54 · 463 阅读 · 1 评论 -
互联网Java架构系统化学习路线
网络应用,最常见的研发语言是Java的和PHP。后端服务,最常见的研发语言是Java的和C / C ++。大数据,最常见的研发语言是Java的和Python的。可以说,Java的是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java的技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。有不少朋友问,除了掌握Java的语法,还要系统学习哪些的Java相关的技术,...原创 2018-06-07 16:16:53 · 1695 阅读 · 0 评论 -
Zookeeper-watcher机制源码分析(二)
在前一篇文章中Zookeeper-watcher机制源码分析(一)说过Watcher的基本流程,在此文中详细剖析服务端几首请求处理流程。服务端有一个NettyServerCnxn类,用来处理客户端发送过来的请求 NettyServerCnxn 1 2 3 4 5 6 7 8 9 10 11 ...原创 2018-08-07 19:05:04 · 336 阅读 · 0 评论 -
一文让你彻底理解 Java NIO 核心组件
背景知识同步、异步、阻塞、非阻塞首先,这几个概念非常容易搞混淆,但NIO中又有涉及,所以总结一下[1]。同步:API调用返回时调用者就知道操作的结果如何了(实际读取/写入了多少字节)。 异步:相对于同步,API调用返回时调用者不知道操作的结果,后面才会回调通知结果。 阻塞:当无数据可读,或者不能写入所有数据时,挂起当前线程等待。 非阻塞:读取时,可以读多少数据就读多少然后返回,写...原创 2018-08-21 16:57:35 · 1462 阅读 · 0 评论 -
阿里P8架构师深度概述分布式架构
简介作为一名架构师,我们要专业,要能看懂代码,及时光着臂膀去机房,也能独挡一面!及时同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议室上滔滔不绝,如若无人,让不懂技术的妹子看你时眼神迷离,就好想落霞与孤鹜齐飞!分布式架构是一个非常复杂的体系,任何技术都不是孤立的存在,任何技术都无法适应所有场景。作为一名分布式系统架构或者资深研发人员,我们必须尽可能多的学习与...原创 2018-09-20 19:05:24 · 959 阅读 · 0 评论 -
Netty浅析
Netty是JBoss出品的高效的Java NIO开发框架。本文将主要分析Netty实现方面的东西,由于精力有限,本人并没有对其源码做了极细致的研 究。如果下面的内容有错误或不严谨的地方,也请指正和谅解。对于Netty使用者来说,Netty提供了几个典型的example,并有详尽的API doc和guide doc,本文的一些内容及图示也来自于Netty的文档,特此致谢。1、总体结构先...原创 2018-09-29 18:36:52 · 212 阅读 · 0 评论 -
一文归纳分布式架构的那些事!
进入十一月,最火热的话题与期待的日子自然是双十一狂欢购物节了,作为程序员的你除了要清空自己的购物车之外,最关心的是不是双十一架构技术是如何承受亿级用户流量的冲击,又是如何在分布式架构中实现单点登陆,形成支持高并发,高可用的分布式架构技术呢?下面小编就来帮你总结如何从0到1学习分布式架构技术,如何实现从小白到架构师的蜕变!!一、初识分布式架构:1、初识分布式架构及意义2、如何把应用从单机...原创 2018-11-05 20:02:29 · 245 阅读 · 0 评论 -
作为程序员,你“怕老”吗?
行文之前,先问大家几个问题:1、你开始逐渐担忧自己的年纪?2、你开始觉得加班熬不过小年轻?3、你开始因未知新兴技术而慌张?4、你开始跳不动槽?如果以上的回答都“是”,那么你确实陷入“怕老”行列了。“青春饭”这个词,程序员肯定不陌生,因为上了几年班,做到一定年纪,再想突破就会明显发现力不从心,开始陷入“怕老”的焦虑。这种焦虑无关你的年纪,刚进入行业两三年,如果水平还和...原创 2018-11-23 21:54:32 · 260 阅读 · 0 评论 -
阿里架构师技术分享:分布式/高性能/高并发/微服务/性能优化
没有没免费的Java架构师进阶资料领取?(文末提供获取方法)阿里架构师技术分享:分布式任务调度系统的实现 阿里架构师技术分享:承载千万级并发的分布式架构设计思想 阿里架构师技术分享:并发编程之手写阻塞式线程安全队列 阿里架构师技术分享:面试必问之mysql索引机制探秘 阿里架构师技术分享:ElasticSearch学习方法论 阿里架构师技术分享:深入剖析架构师必读的Tomcat8...原创 2018-11-28 16:48:59 · 1488 阅读 · 0 评论 -
Java程序员如何运用所掌握的技术构建一个完整的业务架构
1、通用架构概述创业之初,我们往往会为了快速迭代出产品,而选择最简单的技术架构,比如LAMP架构,SSH三层架构。这些架构可以适应初期业务的快速发展,但是,随着业务变得越来越复杂,我们会发现这些架构越来越难支撑业务的发展,出现在一个类中写好几千行代码,一个方法中到处都是if else语句,如果中间遇到主程序猿离职,后面介入的程序猿几乎无法理解这些代码,到最后,产品越来越难迭代,只能推翻重做。如果我...原创 2018-04-18 23:26:34 · 448 阅读 · 0 评论