自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 独家巨献!阿里专家兼Github贡献者,整理的SpringBoot入门到成神

篇幅有限,无法一个问题一个答案的展示(这些技术难点与面试真题均已收集在了这份阿里巴巴大佬收集的这份“SpringBoot出神入化”里),觉得有需要的读者朋友们,私信暗号【Spring】即可。Spring Boot 数据访问(Spring Data JPA+JdbcTemplate+Redis+MongoDB+Mybaits+Druid+Annotation)现在基本都是使用 Spring Boot 框架进行系统开发集成,效率杠杠的,如果你还没用过 Spring Boot,那就太 out 了!

2022-09-26 17:29:42 3333

原创 Java岗开发者福利!Github热度飙升的多线程学习手册,已获31k+star

对于那些争论较大的技术点,本文档在核对了巨多材料的情况下,从而得出的最佳答案。小编在浏览完市面上Java多线程相关的资料后,感觉很多技术点讲解的都很模糊,于是在Github社区内展开了对多线程原理的讨论。鉴于互联网精神精神,我将与码友们交流完的Java多线程相关的资料整理成书籍,开源出来。以下部分由于内容过于丰富以及篇幅原因,章节内的小节点就不一一展示了,需要的记得帮忙转发一下这篇文章,由于内容过于丰富以及篇幅原因,章节内的小节点没有一一展示,需要的记得帮忙转发一下这篇文章,关注我,

2022-11-22 17:50:55 318 1

原创 疯了!全网居然有人一次性把Java虚拟机HotSpot 给讲透彻了

Java语言作为一门无比成功的编程语言,即使后来有很多编程语言层出不穷,但是Java语言的地位始终没有被撼动。主要讨论Java对象和类在HotSpot VM内部的具体实现,探索虚拟机在底层是如何对这些Java语言的概念建模的。可以设想,若是此刻你能深入理解HotSpot VM的运行,就等于知道 了Java 背后的原理,那必然是可以。此章将简单讨论编译理论的基本概念,也会逐一讨论HotSpot VM本身涉及的许多特设的编译技术。此章将从最简单的垃圾回收器开始,逐个介绍垃圾回收器的原理和底层实现。

2022-11-10 14:13:59 996

原创 还不快来!“新生代农民工”都爱看阿里P9大佬手写SpringBoot手册

Spring Boot是Spring发展到一定程度的一个产物,但并不是Spring的替代品,Spring Boot是为了让程序员更好地使用Spring。SpringBoot大概是在前两年内最让人兴奋、最能改变游戏规则的东西了。使用它能人更为便捷地的开发spring应用程序,专注于程序的功能,在spring的配置上不用花费太多的时间精力可,甚至你都完全不用去进行配置。因为,我们都知道使用SpringBoot最大的好处就是简化以配置,它甚至还实现了自动化配置。

2022-11-08 16:49:54 304

原创 慕了!17年阿里Java开发大佬把Spring Boot的精髓都总结出来了

目前ssm框架还是比较常用的,其中的ss指的无非就是Spring 和 SpringMVC,我们可以简单地认为 "Spring Boot ≥ Spring + SpringMVC",没错,用了Spring Boot中涵盖了Spring和SpringMVC等大量常用开发配置,而且Spring Boot的配置极其简单,可以让你不用或者只需要很少的Spring配置就可以让你的项目快速运行起来。

2022-11-04 17:29:53 254

原创 微服务框架:如果不用 Spring Boot,还可以选择谁?

在 Java 和 Kotlin 中, 除了使用Spring Boot创建微服务外,还有很多其他的替代方案。名称开发商Helidon SE甲骨文KtorJetBrainsMicronautQuarkusRed HatPivotal本文,基于这些微服务框架,创建了五个服务,并使用Consul的服务发现模式实现服务间的 相互通信。

2022-11-03 16:58:43 293

原创 2022互联网企业Java岗面试总纲:JVM+分布式+Spring+算法数据结构

Spring框架已经成为Java开发人员的必备知识,作为Java开源世界的第一开源框架,Spring的特性不仅覆盖了传统的Java EE开发,还拓展到移动开发、大数据、应用集成等领域,成为VMware云战略的重要组成部分。学习多线程会遇到太多的问题、弯路以及我们所谓的“坑”,为了带领学员在技术层面上进行更高的追求,我将多线程的技术点以教案的方式进行整理,不仅仅是技术指导,还有大厂的面试真题。提前准备一直是我倡导的,任何事情你想要有预期的好的结果,那你就需要提前准备,提前准备,提前准备,重要的事情说三遍。

2022-10-30 17:42:23 108

原创 敞开心扉地说家人们,爬也要爬进互联网大厂

内容涵盖了:Java 基础,JVM,多线程,Mysql,Spring,Spring Boot,Spring Cloud,Dubbo,Mybatis,Redis,网络,Linux,MQ,Zookeeper,Netty,大数据,算法,项目,设计模式 19 个模块,足足有近 1700 页!因为小公司最大的问题在于,缺人,你可能想负责产品线,但最大可能沦为救火队友,或者狗皮膏药,哪里需要你,就去哪里干活,变成打杂的,什么都会,什么都不专业。所以,还是去大厂吧,小公司的老板,真的连劳动法都整不明白。

2022-10-30 16:57:13 184

原创 你敢信?仅靠一个JVM能够干掉91%的面试者?

对于社招,我感觉技术问的相对来说更加深入,所以对有些源码还是要了解点,比如并发相关的原理,是经常被问到的。基于以上两点,为了让大家有针对性的提升技术,我准备了一整套,从运行时数据区,到垃圾回收算法、GC调优,再到并发编程性能优化,在实战中解决各种常见问题,精通底层原理且提升技术面,让你的升职跳槽更有底气!IT人才需求缺口巨大,而且程序员薪资明显高于其他行业,每年数百万的毕业大学生,不管你是学生物的,考古的, 土木的,纷纷投身IT,纷纷转行当程序员,真就是三百六十行,行行转码农。

2022-10-29 17:06:26 80

原创 阿里架构师花近三个月时间整理出来的Java独家面试题(Java岗)

为了能让大家有更好的面试资料去面试大厂的技术岗位,花费了2个多月的时间,把市面上的所有的Java面试题,做了一个归纳总结,整理了快200多页,够大家刷题好久了!Elasticsearch 面试题。Java Spring面试题。SpringCloud面试题。SpringCloud30题。Spring AOP面试题。ZooKeeper 面试题。SpringBoot41题。SpringAOP16题。RabbitMQ面试题。MyBatis 面试题。文档的话帮忙转发一下。Java多线程面试题。MongoDB面试题。

2022-10-28 16:40:35 80

原创 还在找TCP/IP的相关文章?自诩精通的人,其实是看了这份核心文档

任何一门技术的出现,绝对不是偶然,而是必然,是顺应科技发展的产物,TCP/IP也不例外。正如万丈高楼平地起,楼有多高看地基,掌握TCP/IP知识是学习数据通信的基础,也是小兵变技术大牛的必经之路。如何学习TCP/IP?《TCP/IP核心解读》是一份介绍互联网核心协议TCP/IP知识的科普性读物,内容不仅包括TCP/IP的起源、组成、规则、应用、路由协议、常用命令、主流技术,还涵盖物联网、云计算、大数据等热点技术。

2022-10-28 15:03:48 83

原创 并发知识体系大全:贡献一波我平时学习/总结笔记/思维脑图+线程

在并发底层原理中,不仅涉及 Java 语言,更涉及 JVM、操作系统、内存、CPU 指令等,令人一头雾水。这个世界都是并发的,编程里更是这样,俗话说:并发知识大,一口吃不下。很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。让每一个工具类,成为你并发知识体系中的一块块“拼图”。

2022-10-27 18:05:41 96

原创 Java岗开发者福利!Github热度飙升的多线程学习手册,已获31k+star

本文档内容的整合有博文、书籍、面试题等,对于一些已经讲解得很简明的技术点进行了一个直接的引用;对于那些争论较大的技术点,本文档在核对了巨多材料的情况下,从而得出的最佳答案。小编在浏览完市面上Java多线程相关的资料后,感觉很多技术点讲解的都很模糊,于是在Github社区内展开了对多线程原理的讨论。鉴于互联网精神精神,我将与码友们交流完的Java多线程相关的资料整理成书籍,开源出来。多线程模型是Java程序最基本的并发模型,后续读写网络、数据库、Web开发等都依赖Java多线程模型。就可以获得白嫖的方式了!

2022-10-27 16:38:56 82

原创 一篇文章带你彻底了解Kubernetes

Kubernetes 中有诸多编排相关的控制资源,例如编排无状态应用的 Deployment,编排有状态应用的 Statefulset,编排守护进程 Daemonset 以及编排离线业务的 job/cronjob 等等。到现在为止,我们简单了解了 Kubernetes 的相关概念,它大致是怎么运作的,以及微服务是怎么运行在 Kubernetes 中的。水平扩缩容非常好理解,我们只需修改 Replicaset 控制的 Pod 副本数量即可,比如从 2 改到 3,那么就完成了水平扩容这个动作,反之即水平收缩。

2022-10-27 15:27:17 157

原创 首次公开!阿里技术团队编写的“大厂面试参考指南”v1.0版本

篇幅有限,无法一个问题一个答案的展示(这些技术难点与面试真题均已收集在了这份阿里巴巴大佬收集的这份“互联网面试参考指南里”),觉得有需要的读者朋友们,麻烦各位帮忙转发一下(可以帮助更多的人看到哟!大数据与高并发技术(秒杀架构设计+数据库架构+阿里巴巴商品信息存放技术+限流算法)基于 redis 的 setnx()、get()、getset()方法做分布式锁。基于 redis 的 setnx()、expire() 方法做分布式锁。分布式架构(大型网站系统的特点+架构演化发展历程+微服务)

2022-10-26 14:17:47 95

原创 为什么要重写hashcode和equals方法?初级程序员面试中很少说清楚

这个效果如下图所示。但我们这里的代码是hm.get(k2),当我们调用Object类的hashCode方法(因为Key里没定义)计算k2的hash值时,其实得到的是k2的内存地址(假设是2000)。由于k1和k2是两个不同的对象,所以它们的内存地址一定不会相同,也就是说它们的hash值一定不同,这就是我们无法用k2的hash值去拿k1的原因。当我们把第16和17行的hashCode方法的注释去掉后,会发现它是返回id属性的hashCode值,这里k1和k2的id都是1,所以它们的hash值是相等的。

2022-10-25 15:00:44 52

原创 2022年每一次面试都有80%的概率被问到的Redis面试难题

如何解决上述并发问题?这个过程会比较慢,因为是从硬盘上读取的。一个分布式Web服务将用户的Session信息(例如⽤户登录信息)保存在各自服务器中,这样会造成一个问题,出于负载均衡的考虑,分布式服务会将用户的访问均衡到不同服务器上,用户刷新一次访问可能会发现需要重新登录,这个问题是用户无法容忍的。以 Java 为例,使⽤⾃带的 map 或者 guava 实现的是本地缓存,最主要的特点是轻量以及快速,而命周期随着 jvm 的销毁⽽结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。

2022-10-24 16:29:59 70

原创 程序员面试系列:volatile面试的十面埋伏,你还好吗?

所以为了保证每个cpu的数据一致性,每一个cpu会通过嗅探总线上传播的数据来检查自己数据的有效性,当发现自己缓存的数据的内存地址被修改,就会让自己缓存该数据的缓存行失效,重新获取数据,保证了数据的可见性。在Java线程中每次的读取和写入不会直接操作主内存,因为cpu的速度远快于主内存的速度,若是直接操作主内存,大大限制了cpu的性能,对性能有很大的影响,所以每条线程都有各自的工作内存。

2022-10-24 14:59:09 100

原创 10 个冷门但又非常实用的 Docker 使用技巧

在平时的工作中,docker接触很多,除了经常使用的docker run ,docker stop等命令,docker还有很多十分有用但是却不经常使用的命令,下面我就总结一下。这个命令是用来查看一个容器里面的进程信息的,比如你想查看一个nginx容器里面有几个nginx进程的时候,就可以这么做。当你修改了一个镜像,但是忘记了每一层的修改命令,或者你想查看一个镜像是怎么构建的时候就可以使用这个命令,比如。当你运行了一个容器,但是你不知道容器里修改了哪一些文件的时候可以使用这个命令,比如。

2022-10-24 11:51:54 239

原创 啃完这两本书Spring框架在你面前便没有秘密

本书系统地介绍了 Spring 各个基本组件的基本使用,从一开始的 Spring Core 到 Spring AOP 到 Spring MVC,再到 Spring Data、Spring Security 以及最新的 Spring Boot。这是因为4.0版本的内容相对来说是最全面的,相较于3.0增加了很多内容,而5.0则又把IOC、AOP、redis、nosql、websocket等基础讲解和不常用模块,特别是Redis,还是蛮可惜的。最重要的是,目前市面上讲源码的书还没有能跟这本书比肩的。

2022-10-23 15:54:36 142

原创 一张图看懂微服务架构路线

随着你的应用服务的数量越来越多,服务需要知道彼此的服务实例地址,但是在有很多服务的大型应用中,这是无法处理的。此外,如果你的应用程序由多个服务组成,你的客户端需要知道每个服务地址,并且在更改服务地址的情况下,应该更新多个地方。例如,如果你决定实现一个微服务架构,你应该熟悉应用程序生命周期中的各种关注点,如持久化、日志记录、监控、负载均衡、缓存等,此外你还应该知道哪些哪些工具比较好或哪些堆栈更适合你的应用程序。云服务提供商是一个第三方公司,提供基于云的平台,基础设施,应用程序或存储服务。

2022-10-23 15:36:16 228

原创 看完这15张图你就知道Redis为什么单线程还这么快了

头节点里同时还有一个参数 len,和上边提到的 SDS 里类似,这里是用来记录链表长度的。这张图里,接收到用户的请求后,全部推送到一个队列里,然后交给文件事件分派器,而它是单线程的工作方式。对于磁盘数据库来说,是需要将数据读取到内存里的,这个过程会受到磁盘 I/O 的限制。这是跳跃表的简单原理图,每一层都有一条有序的链表,最底层的链表包含了所有的元素。应对大量的请求,Redis 中使用 I/O 多路复用程序同时监听多个套接字,并将这些事件推送到一个队列里,然后逐个被执行。修改地越频繁,内存分配也就越频繁。

2022-10-21 16:11:57 86

原创 Spring Boot官宣:正式弃用 Java 8 啦

技术不断更新,这不springboot又开始了新的发布!Spring官方发布了Spring Boot 3.0.0的第一个里程碑版本M1。

2022-10-21 15:35:10 495

原创 阿里首发272页MyBatis源码手册,看后发现差距不止一点

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。​为什么要选择mybatis呢?原因如下:1.简单,这个无需我多废话。

2022-10-20 16:37:23 78

原创 十年架构师带你详解微服务:Spring Cloud原理及核心

它的好处是你不需要直接找各种什么小弟支持,只需要到服务中心来领取,也不需要知道提供支持的其它小弟在哪里,还是几个小弟来支持的,反正拿来用就行,服务中心来保证稳定性和质量。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。这个小弟很牛鼻专门负责整个帮派的安全问题,设置不同的门派访问特定的资源,不能把秘籍葵花宝典泄漏了。

2022-10-20 15:57:43 332

原创 一文图解二叉树面试题

System.out.println("是否存在节点值为10 => " + node01.value);// 删除节点8 TreeNode node03 = b.delete(8);System.out.println("删除节点8 => " + node03.value);首先找到删除节点,其寻找方法:删除节点的后继者是在其右节点树种最小的节点。节点分根节点、父节点和子节点的概念。如图:每个节点比它左子树的任意节点大,而且比它右子树的任意节点小。节点数据结构,即节点分左节点和右节点及本身节点值。

2022-10-20 15:39:48 66

原创 阿里P8高级专家强烈推荐2022Java程序员进阶必读书单

第二部分为“技术实现篇”,通过对当前世界*为流行的微服务框架Spring Boot Spring Cloud的常用组件的详细解读以及其他相关技术、工具的介绍,来帮助读者了解整体架构及其中各个组件的原理,结合代码帮助读者快速构建项目,搭建一个比较完整的微服务框架;简明扼要的内容,用丰富的视觉元素展示的示例,精心设计的代码,详尽的历史和科学背景知识,各种难度的练习,这一切都将使读者手不释卷。在重要的科学、工程和商业应用环境下探讨算法,给出了算法的实际代码,而非同类著作常用的伪代码。算法领域的经典参考书。

2022-10-19 14:44:05 245

原创 你看不懂的spring原理是因为不知道这几个概念

SpringBoot是什么?SpringBoot是一个框架和编程规范。它化简了很多个框架和组件的使用,一站式简单的完成文件配置和应用部署。因为它内置服务器并装备启动类代码,可以快速开启一个Web容器。

2022-10-19 14:07:57 57

原创 高并发下为什么更喜欢进程内缓存

进程内缓存是指缓存和应用程序在相同地址空间。即同一个进程内。分布式缓存是指缓存和应用程序位于不同进程的缓存,通常部署在不同服务器上。

2022-10-19 11:52:44 57

原创 备战金九银十:2022最新高并发面试题大全(含详细答案解析)

编译器也可以进行锁粒度粗化操作,将临近的多个同步代码用一个锁合并起来,不仅可以减少多个同步带来的不必要的开销,同时还能使优化器处理更大的代码块,带来进一步的优化。刷题这件事情给我的挫败感是非常高的,中间是一度放弃了很久,但是当我想明白这道坎是一定要过的时候,就下定了决心一定要攻克这道难关,持续总结方法,持续进步。在执行一个事务时可能要获取多个锁,一直持有锁到事务提交,如果A事务需要获取的锁在另一个事务B中,且B事务也在等待A事务所持有的锁,那么两个事务之间就会发生死锁。刷题最重要的是速度和效率。

2022-10-18 16:25:32 98

原创 一文详尽解析Redis的设计原理,看完“碾压”面试官

感兴趣的可以后台私信我获取免费领取方式,诚意满满!​1.简介Redis中的每个Key-Value在内存中都会被划分成DictEntry、RedisObject以及具体对象,其中DictEntry又分别包含指向Key和Value的指针(以RedisObject的形式)以及指向下一个DictEntry的指针。​Key固定是字符串,因此使用字符串对象来进行表示,Value可以是字符串、列表、哈希、集合、有序集合对象中的任意一种。

2022-10-18 14:36:51 144

原创 负载均衡的多种算法总结

先将服务器放进数组或者列表当中,通过JDK的随机算法,获取一个在数组有效范围内的下标,根据这个随机下标访问对应服务器。由概率统计理论可以得知,随着客户端调用服务器的次数增多,其实际效果越来越接近于平均分配请求到服务器列表中的每一台服务器。代码:// 将系统的当前时间作为种子获取一个随机器// 将服务器列表大小作为上界传入随机生成器}如果服务器的处理性能有高低的话,这时候就需要加权随机算法。加权随机算法也很简单,主要有两种形式:一种很简单的形式是按照服务器的权重,增大服务器列表中的个数。

2022-10-18 14:16:34 284

原创 把JVM、JDK、JRE区别与联系讲的最简洁明了的文章

也是通过它,Java开发者才能将自己开发的程序发布到用户手中,让用户使用。顾名思义就是Java开发工具包,是Sun Microsystems针对Java开发员的产品,是Java程序员通过Java语言编写程序所需的开发工具包,JDK包含了JRE,同时还包含了编译Java源码的编辑器Javac,还包含了很多Java程序调试和分析的工具:jconsole等工具软件。1、Java SE(J2SE),standard edition,标准版,是我们常用的一个版本,从JDK5.0开始,改名为Java SE。

2022-10-17 17:06:13 64

原创 金秋十月,横扫北京20家互联网公司!总结出的21道JVM必备的面试题

GC 是垃圾收集的意思(GabageCollection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的 GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java 语言没有提供释放已分配内存的显示操作方法。在 JVM 中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收。

2022-10-17 16:59:20 73

原创 Java程序员必须掌握的JVM核心知识点:类加载机制+堆+GC

JVM (JAVA 虚拟机),定义了一套编译,加载,解释执行JAVA代码的规范,基于这套规范市场上不同产品实现,例如Hotspot,JRockit,J9等.其简易内存体系结构如下:​二、堆的内存划分:​Java堆的内存划分如图所示,分别为年轻代、Old Memory(老年代)、Perm(永久代)。其中在Jdk1.8中,永久代被移除,使用MetaSpace代替。1、新生代:(1)使用复制清除算法(Copinng算法),原因是年轻代每次GC都要回收大部分对象。

2022-10-17 16:26:43 117

原创 分享阿里最全面试88题:阿里巴巴核心技术部,蚂蚁金服面试题含答案

貌似这一点适应的行业最广,但是我可以很肯定的说:当你从事Java一年后,重新找工作时,才会真实的感受到这句话。工作第一年,往往是什么都充满新鲜感,什么都学习,冲劲十足的一年;WEB行业知识更新特别快,今天一个框架的新版本,明天又是另一个新框架,有时往往根据项目的需要来不断学习新东西;所有,很多时候感觉,自己用过的东西真多呀!但是真正深入研究的东西却不多。面试,是跳槽后第一个需要面对的问题;而且不同公司面试的着重点不同;但是却有一个共同点:Java基础是必考的。私信我即可免费获取,诚意满满!

2022-10-14 15:40:56 984

原创 深入学习消息队列:RocketMQ事务消息学习及刨坑过程

场景1的问题是数据库事务可能刚刚提交,服务器就宕机了,MQ消息没发出去,场景2的问题就是MQ消息发送出去了,但数据库事务提交失败,又没办法追加已经发出去的MQ消息,结果导致数据没更新,下游已经收到消息,最终事务出现不一致的情况。应用模块遇到要发送事务消息的场景时,先发送prepare消息给MQ。

2022-10-14 15:19:20 176

原创 简单聊一下Java高可用集群架构、微服务架构的选型

可能大部分读者都在想,为什么在这以 dubbo、spring cloud 为代表的微服务时代,我要还要整理这种已经“过时”高可用集群架构?本人工作上大部分团队都是7-15人编制的开发团队,对应的公司项目也大都是中小型项目,最大的项目 PV/UV 也就只有 10w/2w。在这样的场景下,中小型公司一般都是创业起步没多久,大部分都需要本着“开源节流”、“以最小的成本把产出最大化”。微服务架构相比于高可用集群架构,个人理解,对于技术团队的成员编制相对要多一点,服务器部署成本相对也要高一点。

2022-10-14 14:42:01 323

原创 4 种 Kafka 网络中断和网络分区场景分析

az2 内的客户端无法生产消费(metadata 指明 leader 为 broker-0,而 az2 连不上 broker-0),az1/3 内的客户端可以生产消费,若 acks=-1,retries=1,则生产消息会失败,error_code=7(REQUEST_TIMED_OUT)(因为 broker-1 在 isr 中,但无法同步数据),且会发两次(因为 retries=1),broker-0 和 broker-2 中会各有两条重复的消息,而 broker-1 中没有;

2022-10-12 13:29:42 674

原创 史上最全的JVM虚拟机讲解!从入门进阶再到性能优化实战,通俗易懂

作为 Java 的从业者,在找工作的时候,一定会被问及关于 JVM 相关的知识。而大多数人可能没有对 JVM 的实际开发和使用经验,接下来这一系列文章将带你深入了解 JVM 需要掌握的各个知识点。今天分享一份平时学习的Java程序员必备的JVM学习文档,这份文档不管是懂得JVM的开发者和刚刚学习的朋友都是一份非常不错的内容,同时也是面试复习的精选文档!避免残酷的竞争:锁在Java虚拟机中的实现和优化。无处不在的字符串:Spring在虚拟机中的实现。更精彩的查找:Visual VM对OQL的支持。

2022-10-12 11:32:52 145

空空如也

空空如也

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

TA关注的人

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