自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

+W❤:bjmsb2019

获取free学习资料

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

原创 干货!从SpringMVC、SpringBoot、SpringCloud、SpringData到面试,手把手教你,offer拿到手软

Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包SpringMVC、SpringBoot、Spring Cloud、Spring Data等解决方案。很多研发人员把spring看作心目中最好的java项目,没有之一。Spring系列包含非常多的项目,可以满足java开发中的方方面面。所以这是重点也是难点,工作中必须会,面试时肯定考。下面我会为大家介绍一些上面所说方案的相关实战PDF及面试资料,希望会对大家有所帮助~Spring framework与Spr

2020-09-29 16:38:31 145

原创 恰逢国庆期间,Java面试惨败,全是因为并发编程,真的有这么难吗?

前言一直以来,硬件的发展极其迅速,在多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分。正是因为这些优点,使得多线程技术能够得到重视,这个技术也是一名CS学习者应该掌握的。但这个技术对于刚入行的小白来说总是觉得高深莫测,不明所以,也找不到好的学习资料。本着好东西就是要拿出来分享的原则,于是乎互联网雷锋(小编我)就为大家收罗了一套完整的资料供大家学习,适用

2020-09-29 16:38:19 82

原创 SpringBoot内部启动原理,你了解多少?

前言SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏。所以这次博主就跟你们一起一步步揭开SpringBoot的神秘面纱,让它不再神秘。正文我们开发任何一个Spring Boot项目,都会用到如下的启动类@SpringBootApplicationpublic class Application { public static void main(String[] args) { .

2020-09-29 16:37:58 99

原创 SpringMVC详解SSM三大框架整合之登录功能实现

1、整合思路  ①、表现层,也就是 Controller,由 SpringMVC 来控制,而SpringMVC 是Spring 的一个模块,故不需要整合。  ②、业务层,也就是 service,通常由 Spring 来管理 service 接口,我们会使用 xml 配置的方式来将 service 接口配置到 spring 配置文件中。而且事务控制一般也是在 service 层进行配置。  ③、持久层,也就是 dao 层,而且包括实体类,由 MyBatis 来管理,通过 spring 来管理

2020-09-29 16:36:09 432

原创 惊呆了!鹅厂大佬被拒之门外,竟是因为连网络协议都不知道,你有资料吗?

前言虽然在大学的时候大家都学过网络协议 ,但是肯定感觉网络协议的知识点非常多 ,非常复杂。学的时候就浑浑噩噩,真正到了实践中更是糊里糊涂,一旦工作中遇到了网络问题,除了会简单地 ping 几下 ,基本没有什么解决问题的思路。 然而当拿起书来学习,或者看一些官方文档的时候,各种生僻的专业词汇马上扑面而来,每了解其中的一个词汇 ,都要看多 篇文章,读多本书,导致一篇即使很短的有关网络技术的文章也要几个星期才能看完。这严重打击着大家的自信心,并且很容易让人在技术的海洋中迷失自我,从而产生“从人门到放弃”的

2020-09-26 15:00:06 488

原创 不看后悔系列:史上最全的设计模式总结,在Github上已被标星89K

前言说到设计模式,第一次听说时,头脑一热,完全不知道是什么意思?后来就去各处搜集:设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。有过工作经验的人都知道,特别是那些在维护一个项目的人更是体会的贴切,像我就是其中一个,有的时候,一个很简单的需求,或者说,本来应该是很快就可以实现的需求,但是由于系统当初设计的时候没有考虑这些需求的变化,或者随着需求的累加,系统越来越臃肿,导致随便修改一处都可能造成不可预料的后果,或者是我本来可以修改下配置文件或者

2020-09-26 14:59:50 888

原创 通过WCF加WF实现分布式系统模型:实现分布式酒店订房功能

这篇文章主要是实现一个分布式的酒店订房功能。主要阐述如何通过WCF加WF实现一个分布式系统模型。这个Demo的场景说明:一家酒店将房间信息存储在SQL Server数据库中,酒店的工作人员根据客户的要求的房间类型,查询出房间的价格,告诉用户价格,决定是否订房。分布式订房系统系统设计图:上图说明:1、通过ADO.NET Data Serivce访问数据库,它使用ADO.NET Entity DataModel和WCF Data Service构建一个数据库增删查改的WCF服..

2020-09-26 14:58:56 122

原创 牛!仅凭一份并发编程笔记俘获众多面试者的心,你值得拥有~Java岗

前言一直以来,硬件的发展极其迅速,在多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分。正是因为这些优点,使得多线程技术能够得到重视,这个技术也是一名CS学习者应该掌握的。但这个技术对于刚入行的小白来说总是觉得高深莫测,不明所以,也找不到好的学习资料。本着好东西就是要拿出来分享的原则,于是乎互联网雷锋(小编我)就为大家收罗了一套完整的资料供大家学习,适用

2020-09-26 14:58:19 74

原创 网络协议概述:物理层、连接层、网络层、传输层、应用层详解

这篇文章主要介绍了网络协议概述:物理层、连接层、网络层、传输层、应用层详解,本文用生活中的邮差与邮局来帮助理解复杂的网络协议,通俗易懂,文风幽默,需要的朋友可以参考一下:信号的传输总要符合一定的协议(protocol)。比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号。这样一个“狼烟=敌人入侵”就是一个简单的协议。协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的组合,来代表不同的英文字母。比如SOS(***---***, *代表短信号.

2020-09-26 14:58:07 237

原创 蚂蚁三面滑铁卢!遭分布式截胡,靠这些笔记潜修30天,挺进京东

学习分布式系统设计的难题在于,这个过程存在一个环境障碍,工作中只有一些中大规模的互联网企业,才有开发大规模分布式系统的场景和需求。这就造成目前只有少数身在一线互联网公司的架构师和开发者,才有机会接触并掌握分布式系统设计技术。但往往在面试这些一些互联网大厂的时候总会有一条招聘需求,让很多Java求职者望洋兴叹!而对于广大的普通开发者,所在的企业并没有这样的开发场景和需求,造成他们没有机会,去接触和实践分布式系统设计技术。别慌,黑哥在这里整理了分布式学习必备的技术文档笔记全集分享给大家分布式学习必备

2020-09-25 15:03:51 77

原创 6月阿里面试遭拒,89天深造378页微服务手册,庆幸获得京东offer

当下的互联应用,业务更加复杂,用户访问更高,开发迭代要求更快,落地微服务架构成为业界最普遍的做法,但也引入了系统的复杂性,要解决服务实例太多、服务调用关系杂乱、服务调用链路太长等典型问题。基于 Spring Boot 的 Spring Cloud 框架,则很好地解决了以上的问题,不论企业面试还是实战开发,Spring Cloud 都成为后端工程师的必备技能之一。Spring Cloud学习导图(缩略版)然而在一线大厂的带动,从以前熟知 Spring Cloud 从加分项,现在也变成了必备项,让微

2020-09-25 15:03:40 110

原创 Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)

一、重量级锁 现在我们应该知道,Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从用户态转换到核心态,这个成本非常高,状态之间的转换需要相对比较长的时间,这就是为什么Synchronized效率低的原因。因此,这种依赖于操作系统Mutex Lock所实现的锁我们称之为“重量级锁”。JDK中对Synchronized做的种种优化,其核心都是为了减少这种重量级锁的使

2020-09-25 15:03:29 36

原创 就是因为阿里面试官泄露了这份Java高级面试集锦,我才能击败98%的面试者

前言毋庸置疑,程序员求职问题依旧是当今比较热门的话题,因此也有很多人将市面上很多面试题都整理出来,其中有《Java核心知识点》、《1000道互联网架构面试题》、《Java面试神技》、《程序员面试指南》等,以及各个大厂的面试真题及答案解析。但是可惜的是,市面上没有一本专门针对Java高级程序员的面试及笔记的分析与讲解,如果你只会一些初中级的面试题,那么想在此基础上面提升自己是很难的一件事情,而且现在互联网公司筛选的难度也增加了,如果想比其他人拿的薪资多,就要有资本,要比别人会的技术栈全面,并且掌握的是

2020-09-25 15:03:17 100

原创 Netty实现一个简单聊天系统(点对点及服务端推送)

Netty是一个基于NIO,异步的,事件驱动的网络通信框架。由于使用Java提供 的NIO包中的API开发网络服务器代码量大,复杂,难保证稳定性。netty这类的网络框架应运而生。通过使用netty框架可以快速开发网络通信服务端,客户端。本文主要通过一个简单的聊天程序来熟悉初步使用Nettyty进行简单服务端与客户端的开发。本聊天系统主要功能有点对点聊天及服务端推送消息。程序结构:Server端:IMServer 服务器启动类 ServerHandler 服务端核心类 负责客户端认证及消息...

2020-09-25 15:03:05 359

原创 啃完这份Java面试要点集锦,进攻大厂不是问题,通过率达到95%

前言9月已经即将接近尾声,我就看到了许多朋友在焦急的准备“金九银十”跳槽面试,甚至很多即将毕业的大学生都在备战秋招,对于学历还算优秀的大学生来说,这是一次离大厂最近的机会,毕竟是应届毕业生,不会对技术有非常严格的要求。而对于工作了一两年的朋友来说,这段时间加强技术能力,多掌握一些Java核心技术点是重中之重。根据霸哥多年面试经验来说,最重要、最快能掌握的Java开发技术无非就那几个:Java基础:注解、反射、异常、序列化、集合等 JVM 多线程 SSM框架 设计模式 算法 数..

2020-09-24 14:52:45 55

原创 干货来袭!阿里云再次在并发编程掀起新潮,在Github上已被标星93k

前言一直以来,硬件的发展极其迅速,在多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分。正是因为这些优点,使得多线程技术能够得到重视,这个技术也是一名CS学习者应该掌握的。但这个技术对于刚入行的小白来说总是觉得高深莫测,不明所以,也找不到好的学习资料。本着好东西就是要拿出来分享的原则,于是乎互联网雷锋(小编我)就为大家收罗了一套完整的资料供大家学习,适用

2020-09-24 14:52:32 69

原创 动手学习TCP:TCP连接建立与终止,它是一个面向连接的协议

TCP是一个面向连接的协议,任何一方在发送数据之前,都必须先在双方之间建立一条连接。所以,本文就主要看看TCP连接的建立和终止。在开始介绍TCP连接之前,先来看看TCP数据包的首部,首部里面有很多重要的字段,在我们实现程序的时候需要进行设置。TCP的首部在OSI七层模型中,上层的数据包都会作为下层数据包的数据部分(payload)。也就是说,当构造TCP数据包的时候,会把应用层的数据包作为TCP包的数据部分,然后加上TCP头构成TCP数据包;同样,当构造IP数据包的时候,整个TCP包就会被当

2020-09-24 14:52:15 372

原创 网络协议之TCP、HTTP,是Internet的核心协议

一、网络协议国际标准化组织(International Standard Organization,ISO)公布了开放系统互连参考模型(OSI/RM)。OSI/RM是一种分层的体系结构,参考模型共有7层。TCP/IP(Transmission Control Protocol/Internet Protocol)作为Internet的核心协议。它是个协议族,包含多种协议。分层的基本想法是每一层都在它的下层提供的服务基础上提供更高级的增值服务,而最高层提供能运行分布式应用程序的服务。...

2020-09-24 14:51:59 2029

原创 做开发很难吗?看完腾讯技术官纯手打的“Java成长秘籍”,颠覆了我的认知。真香

前言不积跬步无以至千里,对于每一个人来说,“积累”是这一生永远的关键词,在我们的人生中,无论从事什么行业,打好基础是非常重要的,对于程序员来说也是如此。无论你是刚刚初学Java的程序员,还是已经在这个行业摸爬滚打多年,打好基础是站得更高的关键,就如同造房子,地基越牢固,房子住得就越久,你就站得越稳,所以学好Java基础是很有必要的。关于Java的学习,我们要有一条清晰的路线,从基础到进阶,一点一点地提升自己是再好不过的。关于程序员的成长问题,最近就有一个大猛料!腾讯架构师手写了一本“Java成长秘籍

2020-09-23 14:56:49 87

原创 弱爆了!就因为掌握不了源码,就要与Alibaba失之交臂?不存在!

都说大厂面试必问源码,可很多人看完Spring、MyBatis等源码记不住,是脑子有问题吗?当然不是!是因为你没有掌握学习源码的技巧。看完源码的我…我的朋友子路,很多人都叫他路神,称他为“国内Spring讲解最好的第一人”。子路说他以前学习Spring、Spring boot源码,只能去翻书,去报个线下培训班,或者向其他公司的大牛请教,一个疑问有时候会卡好几天。但现在不一样,各种免费的资料和视频,学习成本太低了!但是网上的内容质量参差不齐,都是东拼西凑的,辛辛苦苦学半天,面试还是挂了…

2020-09-23 14:56:38 57

原创 记一次线上商城系统高并发的优化,从实战到解决统统涵盖

对于线上系统调优,它本身是个技术活,不仅需要很强的技术实战能力,很强的问题定位,问题识别,问题排查能力,还需要很丰富的调优能力。本篇文章从实战角度,从问题识别,问题定位,问题分析,提出解决方案,实施解决方案,监控调优后的解决方案和调优后的观察等角度来与大家一起交流分享本次线上高并发调优整个闭环过程。一 项目简要情况概述 该项目为基于SSM架构的商城类单体架构项目,其中有一个秒杀重磅模块,如下为当前线上环境的简要架构部署图,大致描述一下: (1)项目为SSM架构 (2...

2020-09-23 14:55:27 166

原创 千万级规模高性能、高并发的网络架构经验分享(以实际案例讲解)

架构以及我理解中架构的本质在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要 藐 视 它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天接单量平均在百万左右, 假如每天有10个小时的服五时间,平均QPS只有30左右。对于一个后台服务器,单机的平均QPS可以到达800-1000,单独看写的业务量很简单 。为什么我们又不能说轻视它?第一,我们看它的

2020-09-23 14:54:49 541

原创 工位对面新来的阿里P8,看完我构建到的Springboot框架一脸无奈,丢给我一份文档

前言:我们刚开始学习 JavaWeb 的时候,使用 Servlet/JSP 做开发,一个接口搞一个 Servlet ,很头大,后来我们通过隐藏域或者反射等方式,可以减少 Servlet 的创建,但是依然不方便,再后来,我们引入Struts2/SpringMVC 这一类的框架,来简化我们的开发 ,和 Servlet/JSP 相比,引入框架之后,生产力确实提高了不少,但是用久了,又发现了新的问题,即配置繁琐易出错,要做一个新项目,先搭建环境,环境搭建来搭建去,就是那几行配置,不同的项目,可能就是包不同,

2020-09-22 16:09:36 173

原创 惶恐惶恐!字节跳动 有幸拿到四面的通知,功夫不负有心人

说到字节跳动的经历还是比较搞笑的。一开始我特别想去那个游戏部门,当然data部门也是特别想去的,但是提前批只能投一个,于是投了游戏,结果第二天就给我挂了。。。中间北京的教育捞我,但是不想去北京所以拒绝了,上海的测试捞我,我也不太懂测试所以还是拒绝了。正式批的时候我投了俩,游戏部门和data,结果游戏第二天又给我挂了。。。哈卖批。。。过了几天data也给我挂了!我想真的是跟字节命里犯冲。。。这时候阿里学长看我阿里面试最后一轮表现不太好,想给我托字节内部捞一下去教育,结果这时候data主动把我捞了!!...

2020-09-22 16:09:00 527

原创 救救孩子吧,到现在还搞不懂TCP的三次握手四次挥手

小段子引入:如果我懂TCP,那我在表白之前至少要先问一句“在吗?”!先建立可靠的连接,确保连接正常才能开始表白!  如果我懂TCP,那我在我说话的过程中需要对方不断的确认,这样才能保证我说的每一句话对方都能听到!这样我才能表白成功!  所以一切都是因为我没有学好TCP,于是我走进了图书馆...我们先来看下TCP的定义:TCP全称为Transmission Control Protocol(传输控制协议),是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP是为了在不可靠的互

2020-09-22 16:08:53 395

原创 反杀套路!阿里独家的MySQL优化王者晋级之路,跟弯路说再见

随着互联网时代的兴起,MySQL在数据库领域日益显现出举足轻重的地位,它不断扩大的用户群体就是很好的证明。在这样的背景下,需要越来越多的人在知识资源方面为之付出,将自己对MySQL数据库的学习过程、运维经验、个人理解等记录下来,为行业中的后来者燃起一盏明灯, 让他们少走一些弯路。掌握并熟练使用MySQL的几点建议:建立完成的 MySQL 知识体系 发挥MySQL的最佳性能的优化方法 掌握如何处理海量业务数据和高并发请求 能够轻松掌握那些晦涩难懂的知识,如主从复制、读写分离、事务与锁等。 能够

2020-09-22 16:08:29 419

原创 真叼!面试被问到NIO操作,这样回答,面试官都惊呆了~

如果面试问到IO操作,这篇文章提到的问题,基本是必问,百度的面试官问我三个问题(1)什么是NIO(Non-blocked IO),AIO,BIO(2) java IO 与 NIO(New IO)的区别(3)select 与 epoll,poll区别我胡乱说了一气,自己边说边觉得完蛋了。果然,二面没过,很简单的问题,回来后赶紧作了总结:一、什么是socket?什么是I/O操作?我们都知道unix(like)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket.

2020-09-22 16:08:16 329

原创 惊艳!腾讯甩出的“spring boot”核心笔记,这差距绝

前言我相信很多人在成长的过程中都有过盲目自信的时候,当然也包括我,在一个人处于一个过于自信的状态时,文绉绉点来讲就是到达了一个愚昧之峰的状态,在这种状态时学习的渴望是极低的,但是在这种状态遇到打击后,意识到自己其实还有很大的学习空间时也是学习渴望度极高的。像做我们程序员这一行的,毕竟这一行的话技术更新是很快的,只有通过持续的学习才能在这行深耕下去,不然只能等着被淘汰了,当我看到这份腾讯内部的“spring boot”核心技术笔记时,才意识到原来差距可以这么明显。由于文章限制,只能展示部分内

2020-09-19 16:27:47 98

原创 算法与数据结构:查找表的顺序查找、折半查找、插值查找以及Fibonacci查找(Swift版)

查找在生活中是比较常见的,所涉及的这几种查找都是基于线性结构的查找。也就是说我们的查找表是一个线性表,我们要查找某个元素在线性表中的位置。顺序查找就是从头到尾一个个进行比较,直到找到为止,此方法适用于无序的查找表。而折半查找、插值查找以及Fibonacci查找的查找表都是有序的,下方的内容会详细的介绍到。一、查找协议的定义因为我们涉及查找表的多种查找方式,而且查找表的数据结构都是线性结构。基于Swift面向对象语言的特征以及面向接口编程的原则,我们先给我们所有的查找方式定义一个协议。本篇博客中所有的

2020-09-19 16:27:28 177

原创 Alibaba内部出品JavaEE开发手册( MVC+ Spring+MyBatis )和Redis

为什么选择 SSM 框架+Redis 的开发模式?有幸从一位朋友那里得到Alibaba内部出品强推的“《Java互联网轻量级框架整合开发——SSM框架( Spring MVC+Spring+MyBatis )和Redis实现》”,秉承好东西的当然要共享的原则,今天就来秀一把,试试这“《Java互联网轻量级框架整合开发——SSM框架( Spring MVC+Spring+MyBatis )和Redis实现》”是否也能让你事半功倍!目前企业的Java应用中,Spring 框架是必须的,Spring

2020-09-19 16:27:21 86

原创 微服务理论:面向微服务架构与传统架构、SOA对比,及云化对比

一、Monolith  网上对Microservice进行介绍的文章常常以Monolith作为开头,我也不会例外。原因是,知道了Monolith的不便之后才能更容易地理解Microservice架构模式所具有的各种优点。  首先请回想一下我们所开发的服务是什么样子的。通常情况下,这个服务所对应的代码由多个项目所组成,各个项目会根据自身所提供功能的不同具有一个明确的边界。在编译时,这些项目将被打包成为一个个JAR包,并最终合并在一起形成一个WAR包。接下来,我们需要将该WAR包上传到Web容器中,解压

2020-09-19 16:26:55 391

原创 牛批!阿里的Springboot笔记,果然值得我每天熬夜啃

前言Spring Boot现在已经成为Java开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。很明显的一个现象,除了一些老项目,现在Java后端项目基本都是基于SpringBoot进行开发,毕竟它这么好用以及天然微服务友好。不夸张的说,Spring Boot 是 Java 后端领域最最最重要的技术之一,熟练掌握它对于 Java 程序员至关重要。下面就详细介绍一下Springboot,无论在工作中遇到还是面试中被提及,都不至于很尴尬:(文末惊喜大放送)Part1 S..

2020-09-18 14:38:36 92

原创 阿里技术官仅分享出半份内部亿级流量并发编程笔记,瞬间爆赞霸榜

写在前面在互联网应用中,高并发系统会面临一个重大的挑战,那就是大量流高并发访问,比如:天猫的双十一、京东618、秒杀、抢购促销等,这些都是典型的大流量高并发场景。覆盖了高可用、高并发、隔离、限流、负载均衡与反向代理、多级缓存、应用级缓存、HTTP缓存、案例、如何扩容等大量知识点。由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 :亿级流量Java高并发与网络编程实战01 PDF特色展示+部分目录展示1.案例完整本书的所有案例都是以“理论讲解+环境.

2020-09-18 14:38:18 183

原创 网易蜂巢微服务架构:用RabbitMQ实现轻量级通信

本次分享内容由三个部分组成:微服务架构与MQ RabbitMQ场景分析与优化 RabbitMQ在网易蜂巢中的应用和案例分享1微服务架构与MQ微服务架构是一种架构模式,它将单体应用划分成一组微小的服务,各服务之间使用轻量级的通信机制交互。上图左边是单体架构应用,把所有业务功能放在单个进程中,需要扩展时以进程为单位水平复制到多台机器。上图右边是微服务架构应用,将每个业务功能以独立进程(服务)的方式部署,可以按需将微服务分别部署在多台机器,实现水平扩展。微服务各服务之间使用“轻量级.

2020-09-18 14:37:29 379

原创 TCP/IP协议是网络协议中的核心协议,含三次握手,四次分手

一、网络协议国际标准化组织(International Standard Organization,ISO)公布了开放系统互连参考模型(OSI/RM)。OSI/RM是一种分层的体系结构,参考模型共有7层。TCP/IP(Transmission Control Protocol/Internet Protocol)作为Internet的核心协议。它是个协议族,包含多种协议。分层的基本想法是每一层都在它的下层提供的服务基础上提供更高级的增值服务,而最高层提供能运行分布式应用程序的服务。发送请求

2020-09-18 14:37:15 3385

原创 二十不惑的年纪,我简直走了狗屎运(4面拿字节跳动offer)

文字内容太长,请耐心看完,或许对迷茫的你有所帮助,文章重点在后半部分。前言二十岁的年纪,青春张扬,无拘无束,这种状态自然是好事,不过在某种意义上,也并不能太过乐观。实际上,许多二十岁左右的年轻人,容易陷入误区,把无所事事当成自然状态,太过随意的生活容易让我们没有明确的人生目标和真实的人生理想,以至于毕业之后找不到工作,回家啃老,然后还要悻悻地安慰自己“谁的青春不迷茫”?二十岁想要不惑,就要尽早开始规划自己接下来的人生,这样才能提升自己走“狗屎运”的概率。二十岁的人生,怎么才能做到不惑.

2020-09-17 15:54:05 88

原创 阿里三面遭Redis狂击,没想到这189页的Redis笔记,竟助我二战成功到美团

一说到 Redis,现在可是无人不知无人不晓。在如今分布式,高并发的环境下,是开发的一件必备神器,系统配上了它,就好比如画龙点睛,整个系统都活了起来,系统的可用性,性能都能得到大大的提升。然而0202年了,Redis在很多一线大厂面试来说都是必不可少的部分,比如:Redis的key和数据结构应该怎么设计?有什么最佳实践? Redis集群如何均衡数据?又如何横向扩展? 怎么保证数据的一致性?热点数据的问题怎么解决? RDB持久化生成的数据快照,每次更新是全量更新还是增量更新? 缓存雪崩、缓

2020-09-17 15:53:41 60

原创 微服务架构下分布式事务解决方案——阿里GTS

1 微服务的发展微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。Hailo有160个不同服务构成,NetFlix有大约600个服务。国内方面,阿里巴巴、腾讯、360、京东、58同城等很多互联网公司都进行了微服务化实践。当前微服务的开发框架也非常多,比较著名的有Dubbo、SpringCloud、thrift、grpc等。2 微服务落地存在的问题虽然.

2020-09-17 15:53:28 185

原创 一篇囊括微服务服务拆分的一切:前提,时机,方法,规范,选型

一、服务拆分的前提说到微服务,服务拆分是绕不过去的话题,但是微服务不是说拆就能拆的,有很多的前提条件,需要完成前面几节所论述的部分。首先要有一个持续集成的平台,使得服务在拆分的过程中,功能的一致性,这种一致性不能通过人的经验来,而需要经过大量的回归测试集,并且持续的拆分,持续的演进,持续的集成,从而保证系统时刻处于可以验证交付的状态,而非闭门拆分一段时间,最终谁也不知道功能最终究竟有没有bug,因而需要另外一个月的时间专门修改bug。其次在接入层,API和UI要动静分离,API由API网关统一的

2020-09-17 15:53:08 259

原创 以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程

前言双 11 即将来临,本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程 同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知。文章最后汇总了一些架构设计的原则。基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。1)什么是分布式?系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署

2020-09-16 15:23:01 323

空空如也

空空如也

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

TA关注的人

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