分布式
文章平均质量分 89
Java架构系统化学习,可以学习分布式架构,微服务架构,性能优化,经典源码分析,Java开发工具,高并发编程,项目实战等Java后端开发技能
训练营资料福利官
这个作者很懒,什么都没留下…
展开
-
【阿里面试系列】Java线程的应用及挑战
文章简介上一篇文章【「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景】我们了解了进程和线程的发展历史、线程的生命周期、线程的优势和使用场景,这一篇,我们从Java层面更进一步了解线程的使用。关注我的技术公众号【架构师修炼宝典】一周出产1-2篇技术文章。Q群725219329分享并发编程,分布式,微服务架构,性能优化,源码,设计模式,高并发,高可用,Spring,Netty,tomcat,...原创 2018-12-07 15:15:31 · 249 阅读 · 0 评论 -
「阿里面试系列」面试加分项,从JVM层面了解线程的启动和停止
文章简介这一篇主要围绕线程状态控制相关的操作分析线程的原理,比如线程的中断,线程的通信等,内容比较多,可能会分两篇文章阿里面试系列导读:关注我的技术公众号【架构师修炼宝典】一周出产1-2篇技术文章。【阿里面试系列】搞懂并发编程,轻松应对80%的面试场景【阿里面试系列】的Java线程的应用及挑战 内容导航线程的启动的实现原理 线程停止的实现原理分析 为什么中断线程会抛...原创 2018-12-11 13:31:20 · 385 阅读 · 0 评论 -
「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景
关注我的架构技术公众号:“架构师修炼宝典”一周出产1-2篇技术文章,希望在你的架构技术路上有我的点滴陪伴!作为一个合格的Java程序员,必须要对并发编程有一个深层次的了解,在很多互联网企业都会重点考察这一块。可能很多工作3年以上的Java程序员对于这一领域几乎没有太多研究。所以在接下来内容中,我会将并发编程整个领域由浅到深做非常全面的分析。内容导航从操作系统的发展了解进程、线程模型...原创 2018-12-05 12:20:18 · 272 阅读 · 0 评论 -
Spring面试底层原理的那些问题,你是不是真的懂Spring?
1、什么是 Spring 框架?Spring 框架有哪些主要模块?Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成 Spring 框架,不必担心 Spring 是如何在后台进行工...原创 2018-06-25 17:23:46 · 30673 阅读 · 0 评论 -
深度学习Dubbo系列(入门开篇)
此文档为系列学习文档系列这文档详细讲解了dubbo的使用,涵盖基本dubbo的所有功能特性。在接下来的文章里会详细介绍。如果正你依赖dubbo作为你业务工程的RPC通信框架,这里可以作为你的参考手册一,背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。图片单一应用架构当网站流量很小时,只需一个...原创 2018-06-21 15:38:55 · 6902 阅读 · 0 评论 -
一篇文章带你快速理解微服务架构,由浅入深带你走进微服务架构的核心
什么是微服务关注作者的微信公众号:“Java架构师学习”一个只分享Java架构干货的公众号首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务。传统的WEB应用核心分为业务逻辑、适配器以及API或通过UI访问的WEB界面。业务逻辑定义业务流程、业务规则以及领域实体。适配器包括数据库访问组件、消息组件以及访问接口等。一个打车软件的架构图如下:...转载 2018-03-09 17:43:31 · 51454 阅读 · 4 评论 -
五分钟阅读阿里巴巴架构师如何使用微服务框架搭建电商平台全过程
关注作者的微信公众号:“Java架构师学习”一个只分享Java架构干货的公众号本文你将学到什么?本文将以原理+实战的方式,首先对“微服务”相关的概念进行知识点扫盲,然后开始手把手教你搭建这一整套的微服务系统。这套微服务框架能干啥?这套系统搭建完之后,那可就厉害了:微服务架构 。你的整个应用程序将会被拆分成一个个功能独立的子系统,独立运行,系统与系统之间通过RPC接口通信。这样这些系统之间的耦合度大...转载 2018-03-10 17:57:22 · 648 阅读 · 0 评论 -
阿里架构师的工作总结:Spring Cloud在架构演进中起到的作用
Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,本篇主要解答这两个问题:Spring Cloud在微服务的架构中都做了哪些事情?Spring Cloud提供的这些功能对微服务的架构提供了怎样的便利?关注作者的微信公众号:“Java架构师学习”一个只分享Java架构干货的公众号传统架构发展史单体架构单体架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个...转载 2018-03-12 16:08:30 · 351 阅读 · 0 评论 -
微服务开发中的数据架构设计
本文来自作者 陈伟荣 在 GitChat 分享【微服务开发中的数据架构设计】前言微服务是当前非常流行的技术框架,通过服务的小型化、原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合、业务的灵活调整组合以及系统的高可用性。为业务创新和业务持续提供了一个良好的基础平台。本文分享在这种技术架构下的数据架构的设计思想以及设计要点,本文包括下面若干内容。微服务技术框架中的多层数据架构设计数据...转载 2018-03-18 14:04:24 · 1774 阅读 · 0 评论 -
并发编程艺术——并发机制的底层原理实现
Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。volatile借助Java内存模型保证所有线程能够看到最新的值。(内存可见性)实现原理:将带有volatile变量操作的Java代码转换成汇编代码后,可以看到多了个lock前缀指令(X86平台CPU指令)。这个lock指令是关键,在多核处理器下实现两个重要操作:1.将当前处理器缓存...原创 2018-04-02 22:05:08 · 179 阅读 · 0 评论 -
分享我如何在7年时间里成长为阿里Java架构师(附学习路线图)
导读:架构师应不应该写代码为什么别人的系统总是那么烂成为架构师最困难的门槛是什么?如何更高效的学习?1.架构师应不应该写代码合格的程序员对于明确分配的任务会完成的很好,但是大部分情况下“架构”这个词意味着架构师并不会涉及太多细节,架构图和代码实现之间总还是有些距离,你无法保证所有人都会正确的理解你的设计,或者是程序员写代码时遇到障碍时会立刻想出足够优雅的解决方案。在我看来,写代码的架构师更像是在做...原创 2018-04-10 21:10:17 · 275 阅读 · 0 评论 -
Java开发者的技术梦要如何实现
写在开篇不管是开发,测试,运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢!”正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,梦想是成为大牛,但做的事情看起来跟大牛都不沾边,例如,程序员说“天天写业务代码还加班,如何才能成为技术大牛”,测试说 '每天都有执行不完的测试用例',运维说 '扛机器接网...原创 2018-04-15 16:23:58 · 350 阅读 · 0 评论 -
十面阿里——菜鸟,蚂蚁金服,天猫带回来的面试总汇
虽然天猫,蚂蚁金,菜鸟都归属阿里旗下,但每个面试官问的问题都不一样,相同点主要在流程方面。面试开始会让自我介绍,主要业务架构和技术架构两部分。业务架构一般不会深究,但要面试官听明白,并且一般面试官会顺着问是如何根据这些业务去设计技术架构的。面试试题其他什么是幂等?什么情况下需要考虑幂等?你怎么解决幂等的问题?Java多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选...原创 2018-05-10 19:37:13 · 895 阅读 · 0 评论 -
阿里面试官分享的Java面试中需要准备多线程并发的技术要点
在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。所以你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。用于直接面向市场交易的高容量和低延时的电子交易系统在本质上是并发的。一、概念什么...原创 2018-04-23 13:16:04 · 640 阅读 · 0 评论 -
Java程序员进阶必知的分布式系统专业术语分析
1. I / O优化 1,增加缓存,减少磁盘的访问次数。2,优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的。3,设计合理的磁盘存储数据块,以及访问这些数据库的策略,这是在应用层面考虑的。例如,我们可以给存放的数据设计索引,通过寻址索引来加快和减少磁盘的访问量,还可以采用异步和非阻塞的方式加快磁盘的访问速度。4,应用合理的RAID策略提升磁盘I / O。...原创 2018-05-30 17:39:48 · 593 阅读 · 0 评论 -
Java程序员如何运用所掌握的技术构建一个完整的业务架构
1、通用架构概述创业之初,我们往往会为了快速迭代出产品,而选择最简单的技术架构,比如LAMP架构,SSH三层架构。这些架构可以适应初期业务的快速发展,但是,随着业务变得越来越复杂,我们会发现这些架构越来越难支撑业务的发展,出现在一个类中写好几千行代码,一个方法中到处都是if else语句,如果中间遇到主程序猿离职,后面介入的程序猿几乎无法理解这些代码,到最后,产品越来越难迭代,只能推翻重做。如果我...原创 2018-04-18 23:26:34 · 438 阅读 · 0 评论 -
通过 Java 线程堆栈进行性能瓶颈分析
改善性能意味着用更少的资源做更多的事情。为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使CPU尽可能出于忙碌状态(当然,并不是让CPU周期出来应付无用计算,而是让CPU做有用的事情而忙)。如果程序受限于当前的CPU计算能力,那么我们通过增加更多的处理器或者通过集群就能提高总的性能总的来说,性能提高,需要且仅需要解决当前的受限资源,当前受限资源可能是:CPU:如果...原创 2018-05-08 19:34:48 · 863 阅读 · 0 评论 -
深入理解大型网站架构的核心——了解性能
大型网站打造并不是件容易的事情,即使是从小开始慢慢迭代。从本期“问底”开始,我们将为大家带来李平的大型网站打造系列,从理论和实践两个方面进行讲解。在前一篇随笔大型网站系统架构的演化中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践。所以我打算写一个系列,从理论到实践讲述大型网站的点滴,这也是一...原创 2018-05-20 22:20:15 · 297 阅读 · 0 评论 -
Java gc中能聊的那些事
我们已经知道的Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆栈进行内存分配。为了进行高效的垃圾回收,虚拟机把堆内存划分成新生代年代(旧一代)和永久代(永久代)3个区域。新生代新生代由Eden与Survivor Space(S0,S1)构成,大小通过-Xmn参数指定,Eden与Survivor Space的内存大小比例默认为8:1,可以通过-XX:SurvivorRatio参数指...原创 2018-05-22 16:35:45 · 177 阅读 · 0 评论 -
在阿里架构师眼中构建一个较为通用的业务技术架构就是如此简单
1,通用架构概述创业之初,我们往往会为了快速迭代出产品,而选择最简单的技术架构,比如LAMP架构,SSH三层架构。这些架构可以适应初期业务的快速发展,但是,随着业务变得越来越复杂,我们会发现这些架构越来越难支撑业务的发展,出现在一个类中写好几千行代码,一个方法中到处都是if if else语句,如果中间遇到主程序猿离职,后面介入的程序猿几乎无法理解这些代码,到最后,产品越来越难迭代,只能推翻重...原创 2018-05-28 19:36:06 · 2181 阅读 · 0 评论 -
Java 11新功能抢先了解
目前Oracle已经发布了Java Development Kit 10,下个版本JDK 11也即将发布。本文介绍Java 11的新功能。根据Oracle新出台的每6个月发布一次Java SE的节奏,Java 11将于2018年9月发布,迄今为止Oracle已经宣布了好几个新功能。此外,Java 11还将删除一些功能,其中包括删除CORBA和Java EE(最近更名为Jakarta EE)模块,以...原创 2018-06-01 19:30:30 · 3087 阅读 · 0 评论 -
互联网Java架构系统化学习路线
网络应用,最常见的研发语言是Java的和PHP。后端服务,最常见的研发语言是Java的和C / C ++。大数据,最常见的研发语言是Java的和Python的。可以说,Java的是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java的技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。有不少朋友问,除了掌握Java的语法,还要系统学习哪些的Java相关的技术,...原创 2018-06-07 16:16:53 · 1688 阅读 · 0 评论 -
数据库高可用实战案例:架构优化
说到高可用,看官们会想到很多方案,也许是自亲身经历过系统从单机变成高可用的痛苦过程,也许有的看官只是在自己的虚机上搭建过测试的玩具。今天本篇用我自己的真实经历给大家讲述,不管怎么样实战和测试玩耍还是很大的区别的!可能你觉得搭建一套高可用方案很简单,配置配置就OK了,但在真正的复杂系统中一切就没有那么轻松了!文章主要讲述升级并搭建AlwaysOn的高可用的过程,以实施的思路为主。文中并没有搭建集群的...原创 2018-06-09 14:18:25 · 457 阅读 · 0 评论 -
精讲Redis内存模型
前言Redis的是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis的是实现网站高并发不可或缺的一部分。我们使用的Redis时,会接触的Redis的5种对象类型(字符串,哈希,列表,集合,有序集合),丰富的类型是Redis的相对于的Memcached等的一大优势。在了解的Redis的5种对象类型的用法和特点的基础上,进一步了解的Redis的内存模型,对Redis...原创 2018-06-13 15:59:54 · 452 阅读 · 1 评论 -
浅析常用软件架构中的三种架构模型
常用的软件架构模型可以归类为三种架构模型:3/N层架构、“框架+插件”架构、地域分布式架构。一.三种架构模型1.3/N层架构这是经典的多层架构模型,对于稍微复杂一点或特别复杂的系统,不使用分层架构是很难想象的。下图是经典的3层架构:如今,凡是个程序员都能侃侃而谈3/N层架构,这确实是解决系统复杂性的一种主流模式,但是,只要采用了3/N层架构是不是就一定能解决系统的复杂性了?不一定,关键在于你在你的...原创 2018-04-13 15:48:01 · 1085 阅读 · 0 评论 -
Java进阶必知:从分布式到微服务,深挖Service Mesh
自从几十年前第一次引入分布式系统这个概念以来,出现了很多原来根本想象不到的分布式系统使用案例,但同时也引入了各种各样的新问题。当这些系统还是比较少比较简单的时候,工程师可以通过减少远程交互的次数来解决复杂性问题。处理分布式问题最安全的方法是尽可能避免远程交互,虽然这可能意味着要在多个系统上存放重复的逻辑和数据。行业上的需求推动着我们前进的步伐,分布式系统的组成从几个大型的中央电脑发展成为数以千计的...原创 2018-04-18 19:26:10 · 2857 阅读 · 0 评论 -
阿里,百度,腾讯等一线互联网公司中,Java开发的招聘标准
金三银四的跳槽热潮即将过去,在这两个月的跳槽的旺季中,作为互联网行业的三大巨头,百度、阿里巴巴、腾讯对于互联网人才有很大的吸引力,他们的员工也是众多互联网同行觊觎的资深工程师、管理者人选。下面我总结了进入这三家公司你所需掌握的技能:阿里巴巴篇扎实的计算机专业基础,包括算法和数据结构,操作系统,计算机网络,计算机体系结构,数据库等具有扎实的Java编程基础,理解IO、多线程等基础框架熟练使用Linu...原创 2018-04-20 15:16:31 · 3510 阅读 · 1 评论 -
把项目迁移到Kubernetes上的5个小技巧
我们将在本文中提供5个诀窍帮你将项目迁移到Kubernetes上,这些诀窍来源于过去12个月中OpenFaas社区的经验。下文的内容与Kubernetes 1.8兼容,并且已经应用于OpenFaaS - Serverless Functions Made Simple的实践中。免责声明因为Kubernetes 的API更新的特别频繁,请参考官方文档获得最新信息。1. 将所有的内容都放进Docker...原创 2018-05-03 21:36:42 · 1393 阅读 · 1 评论