07 2021 档案

摘要:前言 限流是保障服务高可用的方式之一,尤其是在微服务架构中,对接口或资源进行限流可以有效地保障服务的可用性和稳定性。 之前的项目中使用的限流措施主要是Guava的RateLimiter。RateLimiter是基于令牌桶流控算法,使用非常简单,但是功能相对比较少。 而现在,我们有了一种新的选择,阿里 阅读全文
posted @ 2021-07-31 21:29 麒麟改bug 阅读(425) 评论(0) 推荐(0) 编辑
摘要:前言 在微服务架构中,随着服务越来越多,服务的打包部署就会成为一个相当麻烦的事情。比如说我的mall-swarm项目目前就有8个服务需要部署,有没有什么办法让我们部署一次之后,只要点击执行就可以自动部署呢?当然有!下面我们使用Jenkins来完成一个微服务架构中的自动化部署工作。 执行脚本准备 首先 阅读全文
posted @ 2021-07-30 15:22 麒麟改bug 阅读(219) 评论(0) 推荐(0) 编辑
摘要:高并发微服务架构设计 作为一个 IT 从业人员,我们经常会碰到类似于下面的一些问题: 单个项目巨大而沉重,难以维护。 系统稳定性得不到更有效的保证。 怎样才能持续地提升系统的性能。 怎样才能快速地响应需求的变更,并且系统更新不会引起任何抖动。 怎样才能更好地适应系统规模化的扩张。 针对上面这些问题, 阅读全文
posted @ 2021-07-29 17:29 麒麟改bug 阅读(157) 评论(0) 推荐(0) 编辑
摘要:当数据库遇到分布式 数据库通常有着完善的事务支持,但是局限于单机的存储和性能,于是就出现了各种分布式解决方案。最近读了《Designing Data-Intensive Applications》这本书,所以做一个总结,供大家做个参考,有什么不对的请大家指正,一起讨论。 Java学习笔记共享地址:M 阅读全文
posted @ 2021-07-28 17:39 麒麟改bug 阅读(100) 评论(0) 推荐(0) 编辑
摘要:前言 时间过的好快呀,转眼马上到了金九银十,又是一年跳槽面试季,最近有很多网友都在求大厂面试题,希望可以提前准好面试,如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。所以小编在这里给大家准备了一套Java技术岗面试真题,综合了今年上半年粉丝去阿里、字节、蚂蚁等互联网大厂的面试总结+小编整理 阅读全文
posted @ 2021-07-27 19:36 麒麟改bug 阅读(83) 评论(0) 推荐(0) 编辑
摘要:服务链路追踪:Spring Cloud Sleuth 我们知道,微服务之间通过网络进行通信,但在我们提供服务的同时,不能保证网络一定是畅通的。相反地,网络是很脆弱的,网络资源也有限,因此我们有必要追踪每个网络请求,了解它们经过了哪些微服务,延迟多少,每个请求所耗费的时间等。只有这样能更好地分析系统瓶 阅读全文
posted @ 2021-07-26 17:20 麒麟改bug 阅读(80) 评论(0) 推荐(0) 编辑
摘要:安装 nginx 下载 nginx 的压缩包文件到根目录, yum update #更新系统软件 cd / wget nginx.org/download/nginx-1.17.2.tar.gz 解压 tar.gz 压缩包文件,进去 nginx-1.17.2 tar -xzvf nginx-1.17 阅读全文
posted @ 2021-07-25 16:09 麒麟改bug 阅读(334) 评论(0) 推荐(0) 编辑
摘要:前言 近来,分布式的问题被广泛提及,比如分布式事务、分布式框架、ZooKeeper、SpringCloud等等。本文先回顾锁的概念,再介绍分布式锁,以及如何用Redis来实现分布式锁。 一、锁的基本了解 首先,回顾一下我们工作学习中的锁的概念。 为什么要先讲锁再讲分布式锁呢? 我们都清楚,锁的作用是 阅读全文
posted @ 2021-07-23 15:39 麒麟改bug 阅读(219) 评论(0) 推荐(0) 编辑
摘要:前言 在面试中,Dubbo 这个 RPC 框架的代表作一直是热点,而且面试官也会根据经验从各种角度提问,并且像剥洋葱一样层层深入底层原理,因此单纯看看常规的面试题是远远不足的,最好还是能够自己深入阅读源码。另一方面,程序猿在平时的工作中又很少接触到源码,而且自己硬啃源码也是困难重重。 小编分享的这份 阅读全文
posted @ 2021-07-22 15:35 麒麟改bug 阅读(951) 评论(0) 推荐(0) 编辑
摘要:前言 随着企业对近实时搜索的迫切需求,Elasticsearch 受到越来越多的关注,无论是阿里、腾讯、京东等互联网企业,还是平安、顺丰等传统企业都对 Elasticsearch 有广泛的使用,但是在 Elasticsearch 6.8 发布以前,大部分 Elasticsearch 功能都是付费的, 阅读全文
posted @ 2021-07-22 15:18 麒麟改bug 阅读(3488) 评论(0) 推荐(0) 编辑
摘要:前言 什么叫运行时数据区呢,看下图就知道了,今天的重点就围绕这张图讲。 一、运行时数据区 1、程序计数器(寄存器) 当前线程所执行的字节码行号指示器 字节码解释器工作依赖计数器控制完成 通过执行线程行号记录,让线程轮流切换各条线程之间计数器互不影响 线程私有,生命周期与线程相同,随JVM启动而生,J 阅读全文
posted @ 2021-07-22 15:14 麒麟改bug 阅读(119) 评论(0) 推荐(0) 编辑
摘要:前言 工作中 Git 是一项必不可少的技能,在项目的开发进程中起着至关重要的作用。下面介绍一些 Git 在工作中的一些使用实践、常用流程、常用命令,供大家参考! 小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM 阅读全文
posted @ 2021-07-21 21:53 麒麟改bug 阅读(402) 评论(0) 推荐(0) 编辑
摘要:前言 马上到今年的金三银四了,又是跳槽的好季节,准备跳槽的同学都摩拳擦掌准备大面好几场,本次小编为大家准备了精选的 Java 集合面试题,快来查漏补缺吧。 小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Re 阅读全文
posted @ 2021-07-21 20:43 麒麟改bug 阅读(977) 评论(0) 推荐(0) 编辑
摘要:前言 根据摩尔定律所说:集成电路上可容纳的晶体管数量每 18 个月翻一番,因此 CPU 上的晶体管数量会越来越多。 但随着时间的推移,集成电路上可容纳的晶体管数量已趋向饱和,摩尔定律也渐渐失效,因此多核 CPU 逐渐变为主流,与之相对应的多线程编程也开始变得普及和流行起来,这当然也是很久之前的事了, 阅读全文
posted @ 2021-07-21 19:51 麒麟改bug 阅读(241) 评论(0) 推荐(0) 编辑
摘要:前言 我坚信,机会永远属于有准备的人,我们与其羡慕他人的成功,不如从此刻起,积累足够多的知识和面试经验,为将来进入更好的公司做好充分的准备!想让面试官在短短的几十分钟内认可你的能力?想在最短的时间内收获 Java 技术栈最核心的知识点?想要更全面更深入的了解 Java 技术?这篇文章给你想要的所有答 阅读全文
posted @ 2021-07-20 19:06 麒麟改bug 阅读(757) 评论(0) 推荐(0) 编辑
摘要:前言 又是一年跳槽面试季,最近抽时间整理了一份 Java 异常面试题。或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了。 小编分享的这份Java后端开发面试总结包含了J 阅读全文
posted @ 2021-07-20 17:16 麒麟改bug 阅读(577) 评论(0) 推荐(0) 编辑
摘要:前言 在Java语言中,除了原始数据类型的变量,其他所有都是所谓的引用类型,指向各种不同的对象,理解引用对于掌握Java对象生命周期和JVM内部相关机制非常有帮助。 今天我要问你的问题是,强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么? Java学习笔记共享地址:Java核心知识点2 阅读全文
posted @ 2021-07-20 17:14 麒麟改bug 阅读(113) 评论(0) 推荐(0) 编辑
摘要:前言 Memcached作为一款开源、高性能、分布式内存对象缓存系统,在各种需要缓存的场景都适用。因此,各大公司都需要程序员掌握使用Memcached,那么在面试中面试官会怎么考察应聘者对Memcached的掌握程度呢,今天来盘点一下常考Memcached面试题,希望可以帮助到有面试需求的小伙伴们。 阅读全文
posted @ 2021-07-19 20:59 麒麟改bug 阅读(221) 评论(0) 推荐(0) 编辑
摘要:前言 在所有互联网公司中,Nginx 作为最常用的 7 层负载均衡代理层,每个后端开发人员和运维人员都应该对其有较为深入的理解。 小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、Spring MV 阅读全文
posted @ 2021-07-19 20:43 麒麟改bug 阅读(697) 评论(0) 推荐(0) 编辑
摘要:前言 ZAB 协议是为分布式协调服务ZooKeeper专门设计的一种支持崩溃恢复的一致性协议。基于该协议,ZooKeeper 实现了一种主从模式的系统架构来保持集群中各个副本之间的数据一致性。今天主要看看这个zab协议的工作原理。 Java中间件面试真题 +学习笔记 一、什么是ZAB协议 话说在分布 阅读全文
posted @ 2021-07-19 20:35 麒麟改bug 阅读(153) 评论(0) 推荐(0) 编辑
摘要:一. 什么是IoC 1. 什么是耦合和内聚 耦合指的就是模块之间的依赖关系。模块间的依赖越多,则表示耦合度越高,相应的维护成本就越高。 内聚指的是模块内功能之间的联系。模块内功能的联系越紧密,则表示内聚度越高,模块的职责也就越单一。 所以在程序开发中应该尽量的降低耦合,提高内聚。也就是设计原则中的开 阅读全文
posted @ 2021-07-18 19:41 麒麟改bug 阅读(59) 评论(0) 推荐(0) 编辑
摘要:前言 上次我们提到了乐观锁和悲观锁,那我们知道锁的类型还有很多种,我们今天简单聊一下,公平锁和非公平锁两口子,以及他们在我们代码中的实践。 正文 开始聊之前,我先大概说一下他们两者的定义,帮大家回顾或者认识一下。 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一 阅读全文
posted @ 2021-07-17 20:21 麒麟改bug 阅读(391) 评论(0) 推荐(0) 编辑
摘要:前言 现在不管是大公司还是小公司,去面试都会问到多线程与并发编程的知识,大家面试的时候这方面的知识一定要提前做好储备。 小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、Spring MVC、MyB 阅读全文
posted @ 2021-07-15 21:35 麒麟改bug 阅读(1382) 评论(0) 推荐(0) 编辑
摘要:前言 在工作中,作为 Java 开发的程序员,Tomcat 服务器是大家常用的,也是很多公司现在正在用的。但是,在系统并发量比较大的情况下,Tomcat 就会出现卡死和自动关闭等问题。如何优化 Tomcat,让它更高效的运行就成了问题,在本次面试题分享中,我将为你解答如何更好的提升 Tomcat 性 阅读全文
posted @ 2021-07-15 21:32 麒麟改bug 阅读(762) 评论(0) 推荐(0) 编辑
摘要:基础为什么使用 MQ? 1、削峰:在某个模块接收到超过最大承受的并发量时,可以通过 MQ 排队来使这些削减同一时刻处理的消息量。减小并发量。 2、解耦:在发送 MQ 处理业务时,可以使业务代码与当前的代码解耦,便于维护和拓展。 3、异步:异步使得在调用 MQ 后可以去处理其他操作,在 MQ 执行完后 阅读全文
posted @ 2021-07-15 21:23 麒麟改bug 阅读(131) 评论(0) 推荐(0) 编辑
摘要:前言 随着 5G 时代的到来,大数据人工智能产业链又一次迎来了井喷式的爆发,随着岗位需求的不断增加,越来越多的人选择大数据课程,但是没有真正从事大数据工作的人面对企业面试有种无从下手的感觉,面对面试说不到技术的重点,每次面试只能靠队友,靠兄弟支援,尤其是面对架构,编程更是无从下手。于是我决定对市场上 阅读全文
posted @ 2021-07-14 21:11 麒麟改bug 阅读(2167) 评论(0) 推荐(0) 编辑
摘要:前言 设计模式在日常的工作中,是非常重要的一项技能,使用设计模式可以重构整体架构代码、提交代码复用性、扩展性、减少代码冗余问题。这是每个 Java 工程师必备的技能!今日小编主要讲的是设计模式之一的策略模式,小编会通过案例和面试题,带你一步步由浅入深对策略模式进行解析。 小编分享的这份Java后端开 阅读全文
posted @ 2021-07-14 21:04 麒麟改bug 阅读(1009) 评论(0) 推荐(0) 编辑
摘要:前言 网络通讯在系统交互中是必不可少的一部分,无论是职场面试还是工作中都是绕不过去的,本节我们来谈谈 Java 网络编程中的一些知识和网络编程面试题。 小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redi 阅读全文
posted @ 2021-07-14 21:01 麒麟改bug 阅读(1006) 评论(0) 推荐(0) 编辑
摘要:前言 数据库在我们工作中是常用的工具,公司的重要业务信息大部分都会存储在数据库中。 因此,对于开发人员或运维人员来说,掌握数据库基本原理是必要的技能。无论你使用的是何种数据库,了解数据库的体系架构是非常必要的。“知此知彼,方能百战百胜”。 下面小编就带你来了解MySQL的体系架构。 首先我们得明确M 阅读全文
posted @ 2021-07-14 19:42 麒麟改bug 阅读(549) 评论(0) 推荐(0) 编辑
摘要:MYSQL 内部模块 [Connection Pool] (授权、线程复用、连接限制、内存检测等) => [SQL Interface] (DML、DDL、Views等) [Parser] (Query Translation、Object privilege) [Optimizer] (Acces 阅读全文
posted @ 2021-07-13 16:25 麒麟改bug 阅读(132) 评论(0) 推荐(0) 编辑
摘要:前言 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化 阅读全文
posted @ 2021-07-12 21:42 麒麟改bug 阅读(1659) 评论(0) 推荐(0) 编辑
摘要:前言 作为 Java 的从业者,在找工作的时候,一定会被问及关于Linux 相关的知识。Linux知识的掌握程度,在很多面试官眼里是候选人技术深度的一个重要评判标准。在这里我们将详细的整理常见的Linux面试题目, 提供给大家学习参考。 小编分享的这份Java后端开发面试总结包含了JavaOOP、J 阅读全文
posted @ 2021-07-12 21:40 麒麟改bug 阅读(2725) 评论(0) 推荐(0) 编辑
摘要:IOC是什么 IOC是“Inversion of Control”的缩写,翻译过来就是“控制反转”。 我们先不深究其在Spring中的含义,先从字面上进行分析。打个比方来说:结婚前你的工资完全由你来支配,想怎么花就怎么花。结婚后变了,你的钱要上交给你媳妇了,你想花的时候得申请。此时你对工资的控制转变 阅读全文
posted @ 2021-07-12 16:43 麒麟改bug 阅读(733) 评论(0) 推荐(0) 编辑
摘要:前言 国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等 阅读全文
posted @ 2021-07-09 12:35 麒麟改bug 阅读(135) 评论(0) 推荐(0) 编辑
摘要:前言 昨天有位读者**被坑了,**问了我这么个问题: 大致意思就是,他看了一个面经,说虚拟内存是 2G 大小,然后他看了我的图解系统 PDF 里说虚拟内存是 4G,然后他就懵逼了。 其实他看这个面经很有问题,没有说明是什么操作系统,以及是多少位操作系统。 因为不同的操作系统和不同位数的操作系统,虚拟 阅读全文
posted @ 2021-07-08 14:50 麒麟改bug 阅读(245) 评论(0) 推荐(0) 编辑
摘要:前言 作为 Java 的从业者,在找工作的时候,一定会被问及关于 JVM 相关的知识。JVM 知识的掌握程度,在很多面试官眼里是候选人技术深度的一个重要评判标准。 小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JV 阅读全文
posted @ 2021-07-07 15:20 麒麟改bug 阅读(4191) 评论(0) 推荐(0) 编辑
摘要:前言 随着系统用户量的不断增加,MySQL 索引的重要性不言而喻,对于后端工程师,只有在了解索引及其优化的规则,并应用于实际工作中后,才能不断的提升系统性能,开发出高性能、高并发和高可用的系统。 今天小编首先会跟大家分享一下MySQL 索引中的各种概念,然后介绍优化索引的若干条规则,最后利用这些规则 阅读全文
posted @ 2021-07-07 15:19 麒麟改bug 阅读(2356) 评论(0) 推荐(0) 编辑
摘要:前言 国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等 阅读全文
posted @ 2021-07-07 15:06 麒麟改bug 阅读(233) 评论(0) 推荐(0) 编辑
摘要:前言 Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。Spring Cloud 并没有 阅读全文
posted @ 2021-07-06 15:43 麒麟改bug 阅读(3122) 评论(0) 推荐(0) 编辑
摘要:前言 小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、Spring MVC、MyBatis、MySQL数据库、消息中间件MQ、Dubbo、Linux、ZooKeeper、 分布式&数据结构与算法等 阅读全文
posted @ 2021-07-06 15:38 麒麟改bug 阅读(1074) 评论(0) 推荐(0) 编辑
摘要:1. IOC概述 1.1 是什么? 两个概念:控制反转,依赖注入 **来看一下传统的干活方式:**在对象单一职责原则的基础上,一个对象很少有不依赖其他对象而完成自己的工作,所以这个时候就会出现对象之间的依赖。而体现在我们的开发中,就是需要什么对象的时候,就创建什么对象,此时对象创建的控制权在我们自己 阅读全文
posted @ 2021-07-06 14:18 麒麟改bug 阅读(166) 评论(0) 推荐(0) 编辑
摘要:为什么引入 我们的业务中经常会遇到穿库的问题,通常可以通过缓存解决。如果数据维度比较多,结果数据集合比较大时,缓存的效果就不明显了。 因此为了解决穿库的问题,我们引入Bloom Filter。 Redis实战学习笔记地址:Redis核心思维导图+Redis实战学习笔记 适合的场景 数据库防止穿库 G 阅读全文
posted @ 2021-07-05 19:04 麒麟改bug 阅读(141) 评论(0) 推荐(0) 编辑
摘要:前言 1. Seata 概述 Seata 是 Simple Extensible Autonomous Transaction Architecture 的简写,由 feascar 改名而来。 Seata 是阿里开源的分布式事务框架,属于二阶段提交模式。 目前github上已经有 12267 颗星了 阅读全文
posted @ 2021-07-04 20:31 麒麟改bug 阅读(380) 评论(0) 推荐(0) 编辑
摘要:前言 作为一个后端开发人员,不只是要求开发人员需要掌握 Redis,也要求运维人员也要懂 Redis。由于 Redis 的运用广泛,我们也知道它的重要性,至此面试中经常被问到。在这 80道 Redis 面试题中,考察知识点包括基础、数据结构指令、高并发处理、持久化、集群、复制、Redis 应用等。如 阅读全文
posted @ 2021-07-04 14:29 麒麟改bug 阅读(2082) 评论(0) 推荐(0) 编辑
摘要:前言 在微服务理念席卷程序界的今天,作为最主流语言 Java 的一名 Coder,如何能正确的、系统的、快速的掌握 Spring Boot是至关重要的。接下来,让我们一起走进 Spring Boot的世界,一起感受 Spring Boot 的魅力。我坚信,机会永远属于有准备的人,我们与其羡慕他人的成 阅读全文
posted @ 2021-07-04 14:25 麒麟改bug 阅读(5046) 评论(0) 推荐(0) 编辑
摘要:前言 在面试中,Dubbo 这个 RPC 框架的代表作一直是热点,而且面试官也会根据经验从各种角度提问,并且像剥洋葱一样层层深入底层原理,因此单纯看看常规的面试题是远远不足的,最好还是能够自己深入阅读源码。另一方面,程序猿在平时的工作中又很少接触到源码,而且自己硬啃源码也是困难重重。 小编分享的这份 阅读全文
posted @ 2021-07-04 14:23 麒麟改bug 阅读(2450) 评论(0) 推荐(0) 编辑
摘要:前言 如今的互联网已经在海量服务领域有了很成熟的理论,因此自己也很庆幸,能够从 0 到 1 完整践行海量服务。微视春节项目中的集卡瓜分活动,是一个典型的秒杀场景,自己参与其中,分享一些心得和总结。 秒杀系统的难点 友好的用户体验 用户不能接受破窗的体验,例如:系统超时、系统错误的提示,或者直接 40 阅读全文
posted @ 2021-07-04 14:12 麒麟改bug 阅读(199) 评论(0) 推荐(0) 编辑
摘要:前言 根据《Java虚拟机规范》的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:“无符号数”和“表”。 字节码指令 Java字节码指令就是Java虚拟机能够听得懂、可执行的指令,可以说是Jvm层面的汇编语言,或者说是Java代码的最小执行单元。 阅读全文
posted @ 2021-07-02 14:04 麒麟改bug 阅读(759) 评论(0) 推荐(0) 编辑
摘要:1. Bean的实例化概述 前一篇分析了BeanDefinition的封装过程,最终将beanName与BeanDefinition以一对一映射关系放到beanDefinitionMap容器中,这一篇重点分析如何利用bean的定义信息BeanDefinition实例化bean。 Spring学习笔记 阅读全文
posted @ 2021-07-01 15:03 麒麟改bug 阅读(101) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示