自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 苟富贵,不相忘~阿里七面面经分享给CSDN的同行(附笔记)

写在片头:声明,勿杠首先简单说一下,这三次面试阿里并不是一次性去面的,实际上第一次面试时候还在大四,找的实习岗,不太清楚是什么部门,别问我为什么还记得面试题,有记录和复盘的习惯,再问就是杠。个人背景不详细多说,学历双非本科,不是应届生,工作年限不长,技术不是大牛,但也非小白,面经分享是想给正面试的同行一些建议和鼓励,希望能够多多支持。注意:下文内容中会提到一些简历模板、学习笔记、学习脑图、Java电子书籍和视频等One:三顾茅庐,七面阿里,拿下25K*16offer——一顾阿

2021-10-30 15:48:50 287 1

原创 “鹅厂”的这份Java面试参考手册,GitHub标星80k这才刚刚开始?

腾讯作为国内领头的超一线大厂,每年的招聘需求也是所有大厂之中最多的,腾讯的好多产品都是以Java开发的所以在社招或者校招多是以Java工程师为主,其他为辅!近期因为刚刚过了面试的高峰期小编也是收到了一份来自腾讯的朋友的反馈,他把当下最常见的面试知识点全部整理成了一份PDF,我打开看了一下“哇塞”这份资料足足4500多页!我直接好家伙!!我惊了下面直接给大家分享出来,和小编一起斩获大厂offer吧!鹅厂2021年Java面试难题IDEA DeBug调试技巧.

2021-10-29 17:09:09 250

原创 阿里最新21版Java面试系列手册已出炉,竟堪称GitHub面试杀手锏

最近收到了很多面试受挫的小伙伴诉苦,其中内容无非就是说Java面试越来越难了,尤其是“技术面”考察得越来越细,越来越底层。小编想说的就是一句古话:“世上无难事只怕有心人”其实作为一名合格的程序员,面试是你在不断成长过程中必不可少的一个环节,其中技术面尤为重要,像一些一线的互联网大厂都是有职级之分的呢,像阿里的P级,腾讯的T级,华为的多少等级,都是通过技术面来考察的。而且面试中所问的和你在面试之前给自己准备复习的“面试手册资料”不一样,如果你也有这样的问题,那说明你的技术应该继续修炼了!

2021-10-29 17:00:39 235

原创 大厂面试官慌了。这份全程无尿点的Java彩版面试开挂攻略在GitHub火了

GitHub上今年因为这份彩版Java面试攻略在此沸腾了起来,这份笔记一经发出,就突破了3w的下载量!率先掀开了今年金九银十的面试热潮这到底是什么神仙手册,今天凯撒亲自带大家来剖析一下它!!01目录说带大家解剖就真是单纯的解剖,啥都不用说直接上目录相信大家可以直观地感受到,什么叫做“从简历-笔试-面试”保姆级攻略!02内容之前有人问我:“所有的题目都有答案吗?”毫不炫耀地说:“是的”,不止答案,还有解答思路,图文并茂授人以鱼不如授人以渔JVM

2021-10-29 16:32:27 234

原创 同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

什么是分布式缓存?分布式缓存能够处理大量的动态数据,因此比较适合应用在Web 2.0时代中的社交网站等需要由用户生成内容的场景。从本地缓存扩展到分布式缓存后,关注重点从CPU、内存、缓存之间的数据传输速度差异也扩展到了业务系统、数据库、分布式缓存之间的数据传输速度差异。今天给大家分享的是一本从大型互联网大厂系统角度探讨分布式系统的手册,从原理、框架、架构、案例等多个视角对分布式缓存进行了探讨。全书分为三个部分从理论到实现再到实践的思路总览了全书的知识点,让读者有更好的理解,话不多说直

2021-10-29 15:57:01 92

原创 解除限制。阿里内部Java高并发系统调优手册曝光。GitHub霸榜33天

前段时间有一位粉丝问了我这么一个问题,我没有高并发项目经验,但是面试的时候经常被问到高并发、性能调优方面的问题,有什么办法可以解决吗?这题我必须回答一下!之前小编看了两份《高并发系统设计》和《Java性能调优》的资料,当时面试BAT,都被面试官说答得很好,思路非常正确。这两份的作者特别用心,不仅仅是整理好了问题,就连问题的答案也是很清楚地给到了大家。第一份 高并发系统设计内容基础篇数据库篇缓存篇消息队列篇

2021-10-28 20:48:03 494

原创 诡异的问题:Dubbo注册zookeeper协议时,竟然出现了这种异常提示

遇到一个很诡异的问题,我在启动多个配置相同zookeeper的Dubbo项目时,其他项目都是正常启动,唯独有一个项目在启动过程中,Dubbo注册zookeeper协议时,竟然出现了这样的异常提示——Caused by: java.lang.IllegalStateException: zookeeper not connected at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.<init>(Cu

2021-10-28 20:41:48 1073

原创 如果你精通java虚拟机:新生代垃圾回收YoungGC之后,薪资不止20K

Young GC前文提到,Young GC(以下简称YGC)是指新生代垃圾回收,下面将详细讨论G1的YGC过程。选择CSetYGC的回收过程位于G1CollectedHeap::do_collection_pause_at_safepoint(),在进行垃圾回收前它会创建一个清理集CSet(Collection Set),存放需要被清理的Region。选择合适的Region放入CSet是为了让G1达到用户期望的合理的停顿时间。CSet的创建过程如代码清单11-2所示:代码清单11-2选择.

2021-10-26 19:58:17 81

原创 终于有人把Spring Cloud+Nginx架构的主要组件给讲明白了

Spring Cloud+Nginx架构的主要组件以crazy-springcloud开发脚手架为例,一个Spring Cloud+Nginx应用的架构如图1-1所示。图1-1 基于Spring Cloud+Nginx的应用架构Nginx作为反向代理服务器,代理内部Zuul网关服务,通过Nginx自带的负载均衡算法实现客户端请求的代理转发、负载均衡等功能。Zuul网关主要实现了微服务集群内部的请求路由、负载均衡、统一校验等功能。虽然在路由服务和负载均衡方面,Zuul和Nginx的功能比较

2021-10-26 19:46:13 288

原创 SpringCloudRPC远程调用核心原理:feign.Client客户端容器实例

feign.Client客户端容器实例前面介绍了常用的Feign客户端实现类,大致如下:(1)Client.Default类:默认的实现类,使用JDK的HttpURLConnnection类提交HTTP请求。(2)ApacheHttpClient类:该客户端类在内部使用ApacheHttpClient开源组件提交HTTP请求。(3)OkHttpClient类:该客户端类在内部使用OkHttp3开源组件提交HTTP请求。(4)LoadBalancerFeignClient类:内部使用Rib

2021-10-26 19:44:48 177

原创 微服务网关与用户身份识别,JWT+Spring Security进行网关安全认证

JWT+Spring Security进行网关安全认证JWT和Spring Security相结合进行系统安全认证是目前使用比较多的一种安全认证组合。疯狂创客圈crazy-springcloud微服务开发脚手架使用JWT身份令牌结合Spring Security的安全认证机制完成用户请求的安全权限认证。整个用户认证的过程大致如下:(1)前台(如网页富客户端)通过REST接口将用户名和密码发送到UAA用户账号与认证微服务进行登录。(2)UAA服务在完成登录流程后,将Session ID作为JWT的

2021-10-26 19:43:00 406

原创 Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx的rewrite指令的功能之外,还能顺利完成内部子请求、并发子请求等复杂功能。实战案例运行准备:本节涉及的配置文件为源码工程的nginxlua-demo.conf文件。在运行本节实例前需要修改启动脚本openrestystart.bat(或openresty-start.sh)中的PROJECT_CON

2021-10-26 19:35:31 820

原创 涨薪5K必学高并发核心编程,限流原理与实战,分布式计数器限流

分布式计数器限流分布式计算器限流是使用Redis存储限流关键字key的统计计数。这里介绍两种限流的实现方案:Nginx Lua分布式计数器限流和RedisLua分布式计数器限流。实战:Nginx Lua分布式计数器限流本小节以对用户IP计数器限流为例实现单IP在一定时间周期(如10秒)内只能访问一定次数(如10次)的限流功能。由于使用到Redis存储分布式访问计数,通过Nginx Lua编程完成全部功能,因此这里将这种类型的限流称为Nginx Lua分布式计数器限流。本小节的Nginx

2021-10-26 19:34:10 112

原创 高并发核心编程SpringCloud+Nginx秒杀实战,秒杀系统的系统架构

秒杀系统的系统架构本节分多个维度介绍crazy-springcloud开发脚手架的架构,包括分层架构、限流架构、分布式锁架构、削峰的架构。秒杀的分层架构从分层的角度来说,秒杀系统架构可以分成3层,大致如下:(1)客户端:负责内容提速和交互控制。(2)接入层:负责认证、负载均衡、限流。(3)业务层:负责保障秒杀数据的一致性。1.客户端负责内容提速和交互控制客户端需要完成秒杀商品的静态化展示。无论是在桌面浏览器还是在移动端App展示秒杀商品,秒杀商品的图片和文字元素都需要尽可能静

2021-10-26 19:32:23 205

原创 IDEA 的 debug 怎么实现?出于这个好奇心,我越挖越深

对 Debug 的好奇初学 Java 时,我对 IDEA 的 Debug 非常好奇,不止是它能查看断点的上下文环境,更神奇的是我可以在断点处使用它的 Evaluate 功能直接执行某些命令,进行一些计算或改变当前变量。刚开始语法不熟经常写错代码,重新打包部署一次代码耗时很长,我就直接面向 Debug 开发。在要编写的方法开始处打一个断点,在 Evaluate 框内一次次地执行方法函数不停地调整代码,没问题后再将代码复制出来放到 IDEA 里,再进行下一个方法的编写,这样就跟写 PHP 类似的解释性语

2021-10-25 20:02:35 111

原创 别再用 kill -9了,这才是微服务上 下线的正确姿势

对于微服务来说,服务的优雅上下线是必要的。就上线来说,如果组件或者容器没有启动成功,就不应该对外暴露服务,对于下线来说,如果机器已经停机了,就应该保证服务已下线,如此可避免上游流量进入不健康的机器。优雅下线基础下线(Spring/SpringBoot/内置容器)首先JVM本身是支持通过shutdownHook的方式优雅停机的。此方式支持在以下几种场景下优雅停机:程序正常退出 使用System.exit() 终端使用Ctrl+C 使用Kill pid干掉进程那么如果你偏

2021-10-25 20:01:24 134

原创 乾坤未定,你我皆是牛马!双非应届生圆梦鹅厂,斩获40W白菜offer

6年前,BAT冲到了风口浪尖,美国上市的阿里成为中国体量最大的互联网公司,腾讯借助微信成为移动互联网的霸主,外企开始撤离中国,国企的光环也慢慢褪去。到了近年,应届毕业生心中最炙手可热的公司换成了TMD及各路独角兽公司,这些公司代表着科技最前沿,能够许诺高薪和美好前景。而加入字节跳动、阿里和腾讯则成为了我的人生目标。今年3月,我6面阿里、5面字节、4面腾讯,最终拿到了我心仪的腾讯Offer,而这也多亏了我自己的这些计划落实。也感谢自己的坚持和我朋友王珩在这一路对我的鼓励和支持。下面我会分享我

2021-10-25 20:00:03 201

原创 腾讯的Tendis用了这么多牛逼技术,能否干掉Redis?

Redis 作为高性能缓存被广泛应用到各个业务, 比如游戏的排行榜, 分布式锁等场景。经过在 IEG 的长期运营, 我们也遇到 Redis 一些痛点问题, 比如内存占用高, 数据可靠性差, 业务维护缓存和存储的一致性繁琐。由 腾讯互娱 CROS DBA 团队 & 腾讯云数据库团队联合研发的 Tendis 推出了: 缓存版 、 混合存储版 和 存储版 三种不同产品形态, 针对不同的业务需求, 本文主要介绍 混合存储版 的整体架构, 并且详细揭秘内部的原理。导语本文首先介绍腾讯 IEG 运营.

2021-10-25 19:54:30 2053

原创 都2021年了,你还在用Jenkins?赶快看看这些替代方案吧

Jenkins 是目前最常用的持续集成工具,拥有近 50% 的市场份额,它还是很多技术团队的第一个使用的自动化工具。但是随着自动化领域的持续发展,Jenkins 逐渐暴露出了一些问题,例如缺乏功能、维护问题、依赖关系和扩展问题等等。这些问题促使我们寻找替代方法。这就是为什么在本文中,我们提供了用于持续集成的最常见的Jenkins替代品列表。1. BuildMasterBuildmasters是由Inedo研发的Jenkins替代品,它可以使开发者把软件发布到任何环境。该工具为不同的平台提

2021-10-25 19:53:13 334

原创 基于SpringBoot的文件在线预览神器,支持99%的文件在线预览

kkFileView简介kkFileView可以用来搭建文件在线预览服务,在Github上已有5.7k+Star。该项目使用流行的SpringBoot搭建,易上手和部署,基本支持主流办公文档的在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。安装kkFileView支持在Windows和Linux下安装,下面我们介绍下它的安装,基本就是开箱即用!Windows首先下载最新版的安装包,下载地址:https://gite

2021-10-25 19:51:36 1140

原创 干掉 XML Mapper,新出的 Fluent Mybatis 真香

使用fluent mybatis可以不用写具体的xml文件,通过java api可以构造出比较复杂的业务sql语句,做到代码逻辑和sql逻辑的合一。不再需要在Dao中组装查询或更新操作,在xml或mapper中再组装参数。那对比原生Mybatis, Mybatis Plus或者其他框架,FluentMybatis提供了哪些便利呢?需求场景设置我们通过一个比较典型的业务需求来具体实现和对比下,假如有学生成绩表结构如下:现在有需求:统计2000年三门学科('英语', '数学',

2021-10-25 19:48:08 105

原创 直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

前言我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。来做个简单的比喻吧。从古至今,长江和黄河流域水患不断,远古时期,大禹曾拓宽河道,清除淤沙让流水更加顺畅;都江堰作为史上最成功的的治水案例之一,用引流将岷江之水分流到多个支流中,以分担水流压力;三门峡和葛洲坝通过建造水库将水引入水库先存储起来,然后再想办法把水库中的水缓缓地排出去,以此

2021-10-25 19:41:01 75

原创 再见Spring Security!推荐一款功能强大的权限认证框架

在我们做SpringBoot项目的时候,认证授权是必不可少的功能!我们经常会选择Shiro、Spring Security这类权限认证框架来实现,但这些框架使用起来有点繁琐,而且功能也不够强大。最近发现一款功能强大的权限认证框架Sa-Token,它使用简单、API设计优雅,推荐给大家!Sa-Token简介Sa-Token是一款轻量级的Java权限认证框架,可以用来解决登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权等一系列权限相关问题。框架集成简单、开箱即用.

2021-10-25 19:35:10 476

原创 Java原理探索:AQS的技术体系之CLH、MCS锁的原理及实现

背景SMP(Symmetric Multi-Processor)对称多处理器结构,它是相对非对称多处理技术而言的、应用十分广泛的并行技术。在这种架构中,一台计算机由多个CPU组成,并共享内存和其他资源,所有的CPU都可以平等地访问内存、I/O和外部中断。 虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。 操作系统将任务队列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。 但是随着CPU数量的增加,每个CPU都要访问相同的内存资源,共

2021-10-25 19:33:36 70

原创 我真不信,这年头还有人能懂SpringBoot的ClassLoader加载机制

SpringBoot的ClassLoader加载机制在Spring Boot的嵌入式Web容器原理一节中,我们已经介绍了Spring Boot对Tomcat容器的加载过程,本节我们进一步讲解SpringBoot的ClassLoader加载机制。熟悉Tomcat工作原理的人应该知道,Tomcat内部实现了自定义的类加载器,打破了Java的双亲委派机制,下面我们先看看什么是双亲委派机制。双亲委派机制双亲委派机制是指Java的类加载器收到一个类加载请求时,该类加载器首先会把请求委派给父类加

2021-10-24 15:18:09 968

原创 造孽啊!阿里内部的神级项目和JDK源码阅读指南竟惨遭GitHub开源

Read The Fucking Source Code  ---- RTFM源码面前,了无秘密  ---- 侯捷背景今天逛GitHub,发现了一个神级项目,作者将整理/记录阅读JDK源码时的理解与体会分享出来,便于大家学习。这里将项目分享出来,让小伙伴们能更好地学习Java。项目截图JDK中java.time.year中的源码说明项目食用指南项目中包含多个分支,主分支命名为master,测试分支命名为test,源码/笔记分支以JDK-X(X是JDK版.

2021-10-24 15:16:15 99

原创 「TCP/IP」图解TCP的通信机制

TCP(Transmission Control Protocol)是传输控制协议,其作用于传输层,是一种提供了面向连接通信服务的协议看TCP的英文全称就知道,其主要作用就是传输、控制,传输的是数据,控制的是在传输过程中丢包后的重发 、分包乱序后的有序重组 、控制数据传输的速率防止网络拥塞等这也是我们口中一直说的TCP是一种可靠的传输协议的原因。本文就将对TCP的作用过程以及一些机制进行讲解TCP的通信机制一、TCP连接管理 二、分段数据发送 三、重发控制 四、滑动窗口控制 五、滑.

2021-10-24 15:13:40 388

原创 JAVA那点破事!并发、IO模型、集合、线程池、死锁、非阻塞、AQS

关于Java面试,面试官一般喜欢问哪些问题?本文对一些高频问题做了汇总,为了便于大家查找问题,了解全貌,整理个目录,我们可以快速全局了解关于 JAVA接下来,我们逐条来看看每个问题及答案JDK、JRE、JVM 三者有什么关系?答案:JDK(全称 Java Development Kit),Java开发工具包,能独立创建、编译、运行程序。JDK = JRE + java开发工具(javac.exe/java.exe/jar.exe)JRE(全称 Java Runti

2021-10-24 15:10:52 88

原创 Alibaba自主编写的RocketMQ分布式消息中间件手册堪称GitHub最强

众所周知RocketMQ消息队列一直是由阿里云作为此技术的天花板,消息队列RocketMQ版(原名开放消息服务,简称ONS)是阿里云基于Apache RocketMQ构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。今天小编就给大家分享一份号称是阿里云大佬分享的《RocketMQ分布式消息中间件手册》希望能对正在学习这个技术的小伙伴有到帮助!RocketMQ分布式消息中间件手册从目录方面可以看出这份资料对rocketmq的理解非常全面什么是消息队列?Rocke

2021-10-24 14:58:26 2681

原创 深入InnoDB存储引擎最小存储单位剖析MySQL,其实索引真不难

索引可以说是每个工程师的必备技能点,明白索引的原理对于写出高质量的 SQL 至关重要,今天我们就从 0 到 1 来理解下索引的原理,相信大家看完不光对索引还会对 MySQL 中 InnoDB 存储引擎的最小存储单位「页」会有更深刻的认识从实际需求出发假设有如下用户表:CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` int(11) DEFAULT NULL COMMENT '姓名',

2021-10-24 14:55:12 111

原创 干货来袭!京东亿级流量电商系统JVM模型参数预估方案

1. 需求分析大促在即,拥有亿级流量的电商平台开发了一个订单系统,我们应该如何来预估其并发量?如何根据并发量来合理配置JVM参数呢?假设,现在有一个场景,一个电商平台,比如京东,需要承担每天上亿的流量。现在开发了一个订单系统,那么这个订单系统每秒的并发量是多少呢?我们应该如何分配其内存空间呢?先来分析一下每日亿级流量,平均一个用户点击量在20-30左右,通过这个计算出日活用户数约1亿/20=500万, 看的人多,买的人少,通常下单率不超过10%,我们按照留存率10%来计算,日均订单约50

2021-10-24 14:54:21 62

原创 讲理论,重实战!阿里内部SpringBoot王者晋级之路全彩小册开源

SpringBoot大家都知道,Spring Boot框架目前不仅是微服务框架的最佳选择之一,还是现在企业招聘人才肯定会考察的点;很多公司甚至已经将SpringBoot作为了必备技能。但,现在面试这么卷的情况下,很多人面试时还只是背背面试题,对于Springboot也只是会用而已,并不清楚其中原理。大家平时学习SpringBoot的方式也一般是看大量博客或者是找一些业界评价好点的书籍,虽然SpringBoot相关资料很多,但是大多不成体系,很少有真正有能从0到1,详解Spring Boot一切从代码

2021-10-24 14:53:36 56

原创 MySQL沉浸式面试:隔离级别、锁、索引原理连环炮你扛得住吗?

今天我们来聊聊MySQL原理基础篇主要是侧重基础知识,原理篇是有一定基础后的递进,通过学习本篇,不仅可以进一步了解MySQL的各项特性,还能为接下来的容灾调优打下坚实的基础。现在,就让我们继续跟随阿柴进行这场沉浸式面试吧。ACID与隔离级别那你先来说说MySQL的四种隔离级别吧。SQL标准定义了4类隔离级别,包括一些具体规则,用来限定事务之间的隔离性。这四种级别分别是读未提交、读已提交、可重复读、串型化。读未提交,顾名思义,就是可以读到还没有提交的数据;读已提交会读到其它

2021-10-24 14:52:03 59

原创 数万字总结,建议收藏慢慢看!数据库安全之MongoDB渗透

本篇文章是MongoDB数据库信息泄露漏洞复现,记录了实际中常见的MongoDB数据库未授权访问漏洞并如何使用,主要分为七个部分:MongoDB简介、MongoDB安装、MongoDB基本操作、MongoDB相关工具使用、MongoDB漏洞复现、MongoDB实战和MongoDB防御措施。一、MongoDB基本介绍MongoDB是一个高性能,开源,无模式的文档型数据库,是一个基于分布式文件存储的数据库,由C++编写。其中的数据以JSON格式文档的形式存储。MongoDB是一个介于关系数据库和非关..

2021-10-22 20:33:18 435

原创 Java锁与线程的那些“不可描述”的事儿

一.引言“操作系统的线程状态和java的线程状态有什么关系?”这是校招时被问到的一个问题。当时只顾着看博文、面经等零散的资料,没有形成系统的知识体系,一时语塞,答的不是很对。在网上也没找到足够细致地讲解博文,于是整理出了这篇内容。Java的线程状态牵扯到了同步语义,要探讨Java的线程状态的,必不可免要回顾其锁机制。因此本文的主要分为两大块:一是Synchronized源码粗析,分析了各类锁的进入、释放、升级过程,并大致说明了monitor原理;二是介绍了线程的实现方式和Java线程状态转换

2021-10-22 20:31:04 334

原创 直击灵魂一问:协程到底是怎么切换线程的?

前置知识CoroutineScope到底是什么?CoroutineScope即协程运行的作用域,它的源码很简单public interface CoroutineScope { public val coroutineContext: CoroutineContext}可以看出CoroutineScope的代码很简单,主要作用是提供CoroutineContext,协程运行的上下文 我们常见的实现有GlobalScope,LifecycleScope,ViewModelScop

2021-10-22 20:29:33 460 1

原创 一杯茶的功夫就把日志搜索引擎性能调优了?

Beaver 是由日志易自主研发、安全可控的搜索引擎,由 Master、Broker 和 Datanode 三部分组成,已广泛应用于存储和分析大型分布式系统生成的日志。Beaver 拥有大量与性能相关的配置项,由于手动配置费时费力,并且有时需要修改相关配置以适配特定环境,所以自动调整配置参数优化性能是当前迫切需要解决的问题。背景调研目前业界有许多自动调参的项目和算法实现,例如 CMU 开源的关系型数据库自动调参工具 OtterTune[1]、PingCAP 仿作的 TiKV 自动调参工具[2]等,都

2021-10-22 20:28:30 161

原创 Spring源码编译一次性通过&遇到的坑解决方法

前言spring源码本地编译,按网上的博客参考资料的操作步骤,总是会出现各种莫名其妙的错误。根据错误信息找解决方案,但在自己的环境下又总是编译不过去。结合参加培训学习Jack老师提供的方法,自己多种方式尝试,最终编译成功了。为了验证自己的方式是否有失误的地方,全部过程我自己走了大概5遍,详细记录下每个步骤。如果按1天8小时计的话,为了这个源码编译至少花了3~4天时间。我觉得是值得的,为后面的源码阅读扫除一个拦路虎。仅以此篇记录踩到的坑,为同样想读源码的同学可以在编译这一步少花一些时间,也可以后面

2021-10-22 20:27:34 720

原创 腾讯三面:哨兵挂了,Redis还能正常工作吗?

redis哨兵都干了什么redis哨兵是一个运行的特殊的redis进程,他主要有三个使命:监控 选主 通知监控的是什么哨兵主要是监听主库和从库是否存活,怎么进行监控? 哨兵会定期的给从库发送PING命令,如果从库没有在设定的时间内回复哨兵,那么就会认为从库下线了。哨兵也会定期的给主库发送PING命令进行通信,如果主库也没有在设定的时间内回复哨兵,那么就会认为主库也“下线了”。【注意我这里只是为了说明下监控的方式,真正判断的主库下线不是这样的】。看图说话:可以看到图中redi

2021-10-22 20:08:46 93

原创 面试被问到原题了!百度和腾讯二面问的两道多线程面试题解析

第一道面试题:线程唤醒问题样例代码:public class Test { /** * 有三个线程 A,B,C * A为什么总是在C前面抢到锁??? */ private final static Object LOCK = new Object(); public void startThreadA() { new Thread(() -> { synchronized (L

2021-10-22 20:07:38 212 1

空空如也

空空如也

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

TA关注的人

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