Loading

10 2021 档案

摘要:阿里P7面试官:请你简单说一下类加载机制的实现原理?面试题:类加载机制的原理 面试官考察点 考察目标: 了解面试者对JVM的理解,属于面试八股文系列。 考察范围: 工作3年以上。 技术背景知识 在回答这个问题之前,我们需要先了解一下什么是类加载机制? 类加载机制简述 什么是类加载机制? 简单来说:类的加载指的是将类的.class文件中的二进制数据读入 阅读全文
posted @ 2021-10-31 19:50 跟着Mic学架构 阅读(2206) 评论(0) 推荐(0)
摘要:没看这篇文章之前,我以为真的懂深克隆和浅克隆。面试题:深克隆和浅克隆的实现方式 面试官考察点 考察目的: 深克隆和浅克隆,考察的是Java基础知识的理解。 考察人群: 2到5年开发经验。 背景知识详解 先了解下浅克隆和深克隆的定义: 浅克隆:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。 深克隆:除 阅读全文
posted @ 2021-10-31 13:44 跟着Mic学架构 阅读(728) 评论(0) 推荐(0)
摘要:因为一个小小的Integer问题导致阿里一面没过,遗憾!面试题:new Integer(112)和Integer.valueOf(112)的区别 面试官考察点猜想 这道题,考察的是对Integer这个对象原理的理解,关于这道题的变体有很多,我们会一一进行分析。 理解这道题,对于实际开发过程中防止出现意想不到的Bug很有用,建议大家认真思考和解读。 背景知 阅读全文
posted @ 2021-10-30 20:01 跟着Mic学架构 阅读(1266) 评论(1) 推荐(6)
摘要:重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分面试题: 重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分 面试官考察点猜想 这道题纯粹只是考查基础理论知识,对实际开发工作中没有太多的指导意义,毕竟编辑器都有语法提示功能,如果没写正确,会有错误提示。 背景知识详解 关于重载(Overload)和重写(O 阅读全文
posted @ 2021-10-29 09:05 跟着Mic学架构 阅读(1544) 评论(0) 推荐(4)
摘要:问题:两个对象值相同(x.equals(y) == true),但是可能存在hashCode不同吗?面试官的考察点 这道题仍然是考察JVM层面的基本知识,面试官认为,基本功扎实,才能写出健壮性和稳定性很高的代码。 涉及到的技术知识 (x.equals(y)==true),这段代码,看起来非常简单,但其实里面还是涉及了一些底层知识点的,首先我们基于equals这个方法进行探索。 equals这个方法 阅读全文
posted @ 2021-10-28 10:18 跟着Mic学架构 阅读(662) 评论(0) 推荐(0)
摘要:面试题系列:new String("abc")创建了几个对象new String("abc")创建了几个对象 面试官考察点猜想 这种问题,考察你对JVM的理解程度。涉及到常量池、对象内存分配等问题。 涉及背景知识详解 在分析这个问题之前,我们先来了解一下JVM的组成,如图所示。 在JVM1.8中,内存划分为堆、程序计数器、本地方发栈、方法区(元空间)、虚拟机 阅读全文
posted @ 2021-10-27 13:15 跟着Mic学架构 阅读(1042) 评论(0) 推荐(0)
摘要:基于Apache Zookeeper手写实现动态配置中心(纯代码实践)相信大家都知道,每个项目中会有一些配置信息放在一个独立的properties文件中,比如application.properties。这个文件中会放一些常量的配置,比如数据库连接信息、线程池大小、限流参数。 在传统的开发模式下,这种方式很方便,一方面能够对配置进行统一管理,另一方面,我们在维护的时候 阅读全文
posted @ 2021-10-26 10:18 跟着Mic学架构 阅读(928) 评论(0) 推荐(2)
摘要:ShardingJdbc基于Zookeeper实现分布式治理随着数据规模的不断膨胀,使用多节点集群的分布式方式逐渐成为趋势。在这种情况下,如何高效、自动化管理集群节点,实现不同节点的协同工作,配置一致性,状态一致性,高可用性,可观测性等,就成为一个重要的挑战。 集群管理的复杂性体现在,一方面我们需要把所有的节点,不管是底层数据库节点,还是中间件或者业务系统节 阅读全文
posted @ 2021-10-25 17:14 跟着Mic学架构 阅读(1277) 评论(0) 推荐(1)
摘要:Apache Zookeeper Java客户端Curator使用及权限模式详解这篇文章是让大家了解Zookeeper基于Java客户端Curator的基本操作,以及如何使用Zookeeper解决实际问题。 Zookeeper基于Java访问 针对zookeeper,比较常用的Java客户端有zkclient、curator。由于Curator对于zookeeper的抽象层次比 阅读全文
posted @ 2021-10-25 09:43 跟着Mic学架构 阅读(878) 评论(0) 推荐(1)
摘要:如果你还不知道Apache Zookeeper?你凭什么拿大厂Offer!!很多同学或多或少都用到了Zookeeper,并知道它能实现两个功能 配置中心,实现表分片规则的统一配置管理 注册中心,实现sharding-proxy节点的服务地址注册 那么Zookeeper到底是什么?以及为什么能实现这样的功能?接下来我们就来了解一下Zookeeper。 Zookeeper的前世 阅读全文
posted @ 2021-10-24 18:12 跟着Mic学架构 阅读(590) 评论(0) 推荐(0)
摘要:分库分表利器之Sharding Sphere(深度好文,看过的人都说好)Sharding-Sphere Sharding-JDBC 最早是当当网内部使用的一款分库分表框架,到2017年的时候才开始对外开源,这几年在大量社区贡献者的不断迭代下,功能也逐渐完善,现已更名为 ShardingSphere,2020年4⽉16⽇正式成为 Apache 软件基⾦会的顶级项⽬。 随着 阅读全文
posted @ 2021-10-24 09:26 跟着Mic学架构 阅读(10594) 评论(1) 推荐(2)
摘要:千万级并发架构下,关系型数据库应该如何优化?大厂是如何做分库分表的!随着互联网的高速发展,带来了海量数据存储的问题,比如像物联网行业,每个智能终端每天进行数据采集和上报,每天能够产几千万甚至上亿的数据。在互联网电商行业,或者一些O2O平台,每天也能产生上千万的订单数据,这些量级的数据在传统的关系型数据库中已经无法支撑了,那么如何解决海量数据存储和计算等问题,在业内引 阅读全文
posted @ 2021-10-23 18:05 跟着Mic学架构 阅读(3214) 评论(6) 推荐(13)
摘要:想要彻底搞懂大厂是如何实现Redis高可用的?看这篇文章就够了!(1.2W字,建议收藏)高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。 假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。很多公司的高可 阅读全文
posted @ 2021-10-23 09:54 跟着Mic学架构 阅读(1789) 评论(0) 推荐(1)
摘要:深度剖析Redis6的持久化机制(大量图片说明,简洁易懂)Redis的强劲性能很大程度上是由于它所有的数据都存储在内存中,当然如果redis重启或者服务器故障导致redis重启,所有存储在内存中的数据就会丢失。但是在某些情况下,我们希望Redis在重启后能够保证数据不会丢失。 将redis作为nosql数据库使用。 将Redis作为高效缓存服务器,缓存被击 阅读全文
posted @ 2021-10-22 21:22 跟着Mic学架构 阅读(870) 评论(1) 推荐(2)
摘要:时间轮机制在Redisson分布式锁中的实际应用以及时间轮源码分析本篇文章主要基于Redisson中实现的分布式锁机制继续进行展开,分析Redisson中的时间轮机制。 在前面分析的Redisson的分布式锁实现中,有一个Watch Dog机制来对锁键进行续约,代码如下: private void renewExpiration() { ExpirationEnt 阅读全文
posted @ 2021-10-22 11:47 跟着Mic学架构 阅读(1522) 评论(1) 推荐(0)
摘要:从源码层面深度剖析Redisson实现分布式锁的原理(全程干货,注意收藏)Redis实现分布式锁的原理 前面讲了Redis在实际业务场景中的应用,那么下面再来了解一下Redisson功能性场景的应用,也就是大家经常使用的分布式锁的实现场景。 引入redisson依赖 <dependency> <groupId>org.redisson</groupId> <artifac 阅读全文
posted @ 2021-10-21 23:02 跟着Mic学架构 阅读(1099) 评论(0) 推荐(1)
摘要:Redis使用过程中有哪些注意事项?看看BAT这类的公司是正确使用Redis的!!Redis使用过程中要注意的事项 Redis使用起来很简单,但是在实际应用过程中,一定会碰到一些比较麻烦的问题,常见的问题有 redis和数据库数据的一致性 缓存雪崩 缓存穿透 热点数据发现 下面逐一来分析这些问题的原理及解决方案。 数据一致性 针对读多写少的高并发场景,我们可以使用缓存来提升查询速 阅读全文
posted @ 2021-10-21 16:09 跟着Mic学架构 阅读(1289) 评论(2) 推荐(1)
摘要:盘点一下Redis中常用的Java客户端,或者咱们手写一个?Java中那些Redis的客户端 前面我们的所有操作都是基于redis-cli来完成的,那么我们要在Java中操作Redis,怎么做呢?首先我们先来了解一下Redis Serialization Protocol(Redis序列化协议),这个是Redis提供的一种,客户端和Redis服务端通信传输的 阅读全文
posted @ 2021-10-21 09:20 跟着Mic学架构 阅读(937) 评论(2) 推荐(1)
摘要:图解Redis6中的9种数据结构,墙裂建议准备去面试的人先看(干货,建议收藏)如图所示,Redis中提供了9种不同的数据操作类型,他们分别代表了不同的数据存储结构。 图2-17 数据类型 String类型 String类型是Redis用的较多的一个基本类型,也是最简单的一种类型,它和我们在Java中使用的字符类型什么太大区别,具体结构如图2-18所示。 图2-19 Strin 阅读全文
posted @ 2021-10-20 19:27 跟着Mic学架构 阅读(1480) 评论(0) 推荐(2)
摘要:1万字长文高速你千万级并发架构下如何提高数据库存储性能如图所示,表示发起一个请求时,涉及到数据库的相关操作,在前面的文章中我们说过,如果服务端要提升整体的吞吐量,就必须要减少每一次请求的处理时长,那么在当前这个场景中,数据库层面哪些因素会影响到性能呢? 图2-1 池化技术,减少频繁创建数据库连接 遇到这样的问题,解决办法就是顺着当前整体的逻辑去思考,首 阅读全文
posted @ 2021-10-20 10:53 跟着Mic学架构 阅读(1501) 评论(0) 推荐(1)
摘要:基于SpringBoot集成线程池,实现线程的池的动态监控(超级详细,建议收藏)线程池的监控很重要,对于前面章节讲的动态参数调整,其实还是得依赖于线程池监控的数据反馈之后才能做出调整的决策。还有就是线程池本身的运行过程对于我们来说像一个黑盒,我们没办法了解线程池中的运行状态时,出现问题没有办法及时判断和预警。 对于监控这类的场景,核心逻辑就是要拿到关键指标,然后进行上报,只要能 阅读全文
posted @ 2021-10-19 14:26 跟着Mic学架构 阅读(11451) 评论(0) 推荐(1)
摘要:1万字长文详解Redis6中内存淘汰算法/持久化机制/多线程模型Redis中的多路复用模型 Redis6用到了多线程?那多线程应用在哪些地方,引入多线程后,又改如何保证线程安全性呢? 同时,如何在性能和线程安全性方面做好平衡? 关于Redis的单线程模型 在Redis6.0之前,我们一直说Redis是单线程,所以并不会存在线程安全问题,而这个单线程,实际上就是在 阅读全文
posted @ 2021-10-19 12:35 跟着Mic学架构 阅读(958) 评论(2) 推荐(0)
摘要:从网络通信的演进过程彻底搞懂Redis高性能通信的原理(全网最详细,建议收藏)我们一直说Redis的性能很快,那为什么快?Redis为了达到性能最大化,做了哪些方面的优化呢? 在深度解析Redis的数据结构 这篇文章中,其实从数据结构上分析了Redis性能高的一方面原因。 在目前的k-v数据库的技术选型中,Redis几乎是首选的用来实现高性能缓存的方案,它的性能有多快呢? 根 阅读全文
posted @ 2021-10-18 19:34 跟着Mic学架构 阅读(1322) 评论(1) 推荐(2)
摘要:阿里P8面试官:如何设计一个扛住千万级并发的架构(超级详细)-续在上一篇文章中,详细分析了设计一个千万级并发架构所需要思考的问题,以及解决方案。 在这一片文章中,我们主要分析如何在职场足够用户数量的情况下,同步提升架构的性能降低平均响应时间。 如何降低RT的值 继续看上面这个图,一个请求只有等到tomcat容器中的应用执行完成才能返回,而请求在执行过程中会做什么 阅读全文
posted @ 2021-10-18 12:32 跟着Mic学架构 阅读(11030) 评论(23) 推荐(12)
摘要:阿里P8面试官:如何设计一个扛住千万级并发的架构?大家先思考一个问题,这也是在面试过程中经常遇到的问题。 如果你们公司现在的产品能够支持10W用户访问,你们老板突然和你说,融到钱了,会大量投放广告,预计在1个月后用户量会达到1000W,如果这个任务交给你,你应该怎么做? 1000W用户的问题分解 如何支撑1000W用户其实是一个非常抽象的问题,对于 阅读全文
posted @ 2021-10-17 14:12 跟着Mic学架构 阅读(7227) 评论(10) 推荐(8)