- 博客(25)
- 收藏
- 关注
原创 Java高级:你觉得你真的了解Kafka消费者吗?分分钟搞定!
摘要Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log),之后成为Apache项目的一部分。成千上万的企业都在使用Kafka,三分之一的世界500强公司也在其中,Kafka也是成长最快的开源项目之一,包括其生态系统也在蓬勃发展。Kafka正在成为管理和处理流式数据的利器。Kafka系统快速、可扩展并且可持久化。它的分区特性,可复制和可容错都是其不错的特性。大家一起来跟着阿里专
2021-04-12 14:04:39
178
原创 Java虚拟机学习集锦是我攒来的,已开源下载
前言Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 是 Spring 家族中的一个安全管理框架,提供了一套 Web 应用安全性的完整解决方案。在用户认证方面,Spring Security 框架支持主流的认证方式,包括 HTTP 基本认证、HTTP 表单验证、HTTP 摘要认证、OpenID 和 LDAP 等。在用户授权方面,Spring Security 提供了基于角色的访问控制和访问控制列表(Access Control List,ACL),可以对应用中
2021-04-12 14:00:14
188
原创 SpringBoot整合!Java程序员月薪20k的涨薪秘籍,真香!
前言面试大概九十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了。回来之后把这些题目做了一个分类并整理出答案(强迫症的我~狂补知识)分为MySQL+Java+Redis+算法+网络+Linux等六类,接下来分享一下我的这次阿里一面面经+一些我的学习笔记。本文框架如下第一部分,主要是在阅读代码过程中的日志和笔记;第二部分,主要介绍了 Redis 的主要框架,以及 Redis 是如何提供服务的,从一个最简单的命令开始讲起;第三部分,主要介绍 Redis 底层用作存储的数据结构,这一
2021-04-11 19:41:52
577
原创 Nginx面试!手动实现一个简单的AOP框架,讲的明明白白!
前言Spring 也算有多年的历史了,已成为Java应用程序开发框架的事实标准。在如此悠久的历史背景下,有人可能会认为Spring放慢了脚步,躺在了自己的荣誉簿上,再也做不出什么新鲜的东西,或者是让人激动的东西。甚至有人说,Spring是遗留项目,是时候去看看其他创新的东西了。这些人说得不对。Spring的生态圈里正在出现很多让人激动的新鲜事物,涉及的领域涵盖云计算、大数据、无模式的数据持久化、响应式编程以及客户端应用程序开发。而大厂面试更是年年不会落下问SpringBoot,你还在怕搞不懂Spri
2021-04-11 19:40:25
138
原创 MySQL数据库:初步理解类加载运行机制和类加载过程,真香!
前言MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis 去掉了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解进行配置和原始映射,以将接口和Java的POJO (Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件中,以实现SQL的灵活配置。这样做的好处是将SQL与程序代码分离,做到可以
2021-04-11 19:38:54
142
原创 MySQL万字精华总结!3轮技术面和1轮Hr面拿下offer,极致干货
前言对Java开发的知识点进行深入的学习,并打算做成系列,先从基础常用的重点**(面试点)**知识开始,后续会陆续扩展,加油!涉及到底层的可能代码块会多点,但要学习底层不看代码看啥?代码说明一切!!!放心,基本上每句代码都会写上注释。若有不对请指出!1. Redis面试专题绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里以面试题的形式对 Redis 常见问题做一个总结,解决大家的知识盲点。
2021-04-11 19:38:10
103
原创 MySQL的锁到底有多少内容?面试题+笔记+项目实战
写在前面最近,很多小伙伴出去面试都被问到了Spring问题,关于Spring,细节点很多,面试官也非常喜欢问一些很细节的技术点。所以,在 Spring 专题中,我们尽量把Spring的每个技术细节说清楚,将透彻。概述自定义组件要想使用Spring容器底层的一些组件(比如:ApplicationContext、BeanFactory等),此时,只需要让自定义组件实现XxxAware接口即可。此时,Spring在创建对象的时候,会调用XxxAware接口定义的方法,注入相关的组件。常见resdis面试真
2021-04-10 14:11:05
77
原创 MySQL的锁到底有多少内容?复习指南
前言今天我们来说说Redis为什么高性能?如何做高可用?Redis为什么这么快?Redis是单线程的,避免了多线程的上下文切换和并发控制开销;Redis大部分操作时基于内存,读写数据不需要磁盘I/O,所以速度非常快;Redis采用了I/O多路复用机制,提高了网络I/O并发性;Redis提供高效的数据结构,如跳跃表、哈希表等;策略 1——停止挖掘Law of Holes 是说当自己进洞就应该停止挖掘。对于单体式应用不可管理时这是最佳建议。换句话说,应该停止让单体式应用继续变大,也就是说
2021-04-10 14:10:21
63
原创 MySQL的锁到底有多少内容?上岸蚂蚁金服!
接口概述:接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),额外增加默认方法和静态方法(JDK 8),额外增加私有方法(jdk9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。public class 类名.java–>.classpublic interface 接口名.java–>.class接口的使
2021-04-10 14:09:36
215
原创 mysql排它锁之行锁,深度好文
开头我们面试的时候 ,经常会被问这种到问题:Spring中bean的循环依赖怎么解决? Spring中bean的加载过程? spring相关的问题一直是大厂面试常问到的一个问题,也是一直困扰这我们,不知道从哪里下手,今天举例分析大厂的一些spring相关的面试真题。和分享我学习spring相关问题所整理的一些知识点。一、什么情况下会发生栈内存溢出?1、栈是线程私有的,栈的生命周期和线程一样,每个方法在执行的时候就会创建一个栈帧,它包含局部变量表、操作数栈、动态链接、方法出口等信息,局部变量表又包括基本
2021-04-10 14:08:53
58
原创 Mysql和Redis数据同步该怎么做?附高频面试题合集
前言再过一周,马上将迎来新的一年,希望大家在2021年“牛气冲天,牛年大吉”,一起迎接春暖花开之时。金三银四马上就到了,很多粉丝朋友私信希望我出一篇面试专题或者分享面试相关的笔记来学习,小编还是相当宠粉的,这不今天就给大家安排上了?(都是干货,错过就是亏。)下面的面试笔记都是精心整理好免费分享给大家的,希望新朋友和老朋友不要吝啬你的赞和转发。目录部分内容展示深入浅出索引(上)索引的常见模型InnoDB 的索引模型索引维护小结深入浅出索引(下)覆盖索引最左前缀原则
2021-04-10 14:08:08
284
原创 MySQL+多线程+Redis+算法+网络,先收藏了
前言最近刷到了一句耐人寻味的话,“解决雪崩问题的最好办法是不发生雪崩”。不论是在硅谷互联网公司里还是在国内的互联网平台上,曾多次遇到过海量规模的交易瞬间吞噬平台的悲惨故事。核心的解决方案大同小异,都是通过缓存,逐层减少流量的冲击,保护用户的体验和平台的服务可用。金融、财务行业有现金为王的说法,互联网技术行业用“缓存为王"清楚地概括了缓存的重要性。而本文深入浅出地讨论了Ehcache、Memcached、Redis、 Tair、 EVCache等各种常用缓存开源系统的方案及精粹。虽然读过不少国外有
2021-04-10 14:07:24
77
原创 MySQL+分布式+框架+数据结构+源码+JVM+线程,大厂直通车!
开头最近一个哥们去面试某当红大厂了,其中几个他印象深刻的面试题你们品品:1、介绍下如何对MySQL SQL语句进行分析和优化?2、Redis 怎样实现的分布式锁?3、如何实现本地缓存和分布式缓存?4、说一下 JVM 的内存布局和运行原理?5、RocketMQ 是怎么存储消息的?源码中有哪些高可用、高性能的设计?面试官不愧是大佬,一层接一层的问过来,问完**“Redis 怎样实现的分布式锁”又问“单机锁有哪些?它为什么不能在分布式环境下使用?”**由于平时只是改改以前的框架代码,哥们当场懵
2021-04-10 14:06:39
70
原创 Mycat和Mysql搭建高可用企业数据库集群,重要概念一网打尽!
前言众所周知,Java开发人员的生存环境可谓是与以前大相径庭,以IT行业发展来说,在十几年前的时候,IT行业的技术人才是稀缺的,程序员最初的招聘行情,只要你会敲“holle world”、会点技术,能做出点东西,就能入职月薪过万的大厂岗位。而到了今年2021年,初级人才已经不稀缺了。“IT初级人才招聘市场上”除了每年新入行的人,还有几年内、大几年内入行后技术没有进步的人,这些人被辞退、或跳槽找工作,找的也是“IT初级程序员”岗位……以互联网巨头阿里的招聘信息来看,首先对于工作经验有一定的要求,在我看来
2021-04-10 14:05:56
117
原创 Mybatis-plus常用API全套教程,深入剖析
前言分布式,是程序员必备技能之一,在面试过程中属于必备类的,在工作中更是会经常用到。而Kafka是一个分布式的基于发布订阅的消息队列,目前它的魅力是无穷的,对于Kafka的奥秘,还需要我们细细去探寻。要谈对Kafka有多熟悉,我相信还是阿里的大佬们最有发言权,所以今天分享的内容,就是Alibaba内部供应的“限量笔记”,关于Kafka的精髓全部写在这里面了,不得不感叹:不愧是Alibaba的技术官啊,真的服了!目录部分内容展示深入浅出索引(上)索引的常见模型InnoDB 的索引模型索
2021-04-10 14:05:12
160
原创 MongoDB数据分布不均的解决方案,再不刷题就晚了!
前言这段时间也一直在学习Netty相关知识,因为涉及知识点比较多,也走了不少弯路。目前网上关于Netty学习资料玲琅满目,不知如何下手,其实大家都是一样的,学习方法和技巧都是总结出来的,我们在没有找到很好的方法之前不如按部就班先从基础开始,一般从总分总的渐进方式,既观森林,又见草木。Netty是一款提供异步的、事件驱动的网络应用程序框架和工具,是基于NIO客户端、服务器端的编程框架。所以这里我们先以NIO和依赖相关的基础铺垫来进行剖析讲解,从而作为Netty学习之旅的一个开端。我听到的一些发声你们赚
2021-04-10 14:04:27
724
原创 Java面试题:MongoDB数据分布不均的解决方案,实战解析
前言大数据、算法项目在任何大厂无论是面试还是工作运用都是非常广泛的,我们精选了50个百度、腾讯、阿里等大厂的大数据、算法落地经验甩给大家,千万不要做收藏党哦,空闲时间记得随时看看!如果你没有大厂项目经验,对大厂算法、大数据的项目运用不了解强烈建议你看看!计算机网络体系结构在计算机网络的基本概念中,分层次的体系结构是最基本的。计算机网络体系结构的抽象概念较多,在学习时要多思考。这些概念对后面的学习很有帮助。网络协议是什么?在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,比如交
2021-04-09 16:26:35
136
原创 Java面试题:JDK8中HashMap依然会产生死循环问题,面试必问
前言说真的,在 Java 使用最多的集合类中,List 绝对占有一席之地的,它和 Map 一样适用于很多场景,非常方便我们的日常开发,毕竟存储一个列表的需求随处可见。尽管如此,还是有很多同学没有弄明白 List 中 ArrayList 和 LinkedList 有什么区别,这简直太遗憾了,这两者其实都是数据结构中的基础内容,这篇文章会从基础概念开始,分析两者在 Java 中的具体源码实现,寻找两者的不同之处,最后思考它们使用时的注意事项。这篇文章会包含以下内容。介绍线性表的概念,详细介绍线性表中数组
2021-04-09 16:25:51
171
原创 Java面试送分题:手把手教会你,看完必懂
1. 前言最近面试了几家公司,体验了一下电话面试和今年刚火起来的视频面试,虽然之前就有一些公司会先通过电话面试的形式先评估下候选人的能力水平,但好像不多,至少我以前的面试形式100%都是现场面试。面试过程中,不可避免的被问到了很多面试题,本篇博客就总结下面试过程中被问到的关于String的2道面试题,分别是:如何判断一个字符串中某个字符出现的次数?如何反转一个字符串?其余的面试题,目前都已梳理出来,后续会以博客的形式进行分享。02 JVM线程JVM内存区域JVM运行时内存垃圾回收
2021-04-09 16:25:07
105
原创 Java面试总结,Redis宕机数据丢失解决方案,稳进大厂
一、前言有句话:正因为你优秀,所以难以卓越!刚开始听这句话还在上学,既不卓越、也不优秀,甚至可能还有点笨!但突然从某次爬到班级的前几名后,开始喜欢上了这种感觉,原来前面的风景是如此灿烂????!优秀和卓越差的不是一个等级,当你感觉自己优秀后,还能保持空瓶的心态开始,才能逐步的像卓越迈进,并漫漫长!是不小时候更容易学会更多的知识,但越大越笨了!人可能很容易被自己的年纪大了,当成长者。却很少能保持一个低姿态谦卑的心态,不断的学习。所以最后,放不下自己,也拾不起能力。喜欢一句话,蓝是天的颜色、红是火的象
2021-04-09 16:24:23
201
原创 Java面试必问!SpringBoot微框架解析,涨薪7K!
引言技术好就一定能写出优质的代码吗?不能,对于做开发的人来说,学到的技术知识是理论性的,只有把知识代入到真实的实战案例中才能快速将理论转变为技能。一直在网上看到过很多关于类似的资料,要么就是版本比较老,要么就是讲的太干,没有阅读下去的兴趣,以至于在这方面的学习止步不前。今天,我跟大家要分享的这份阿里《互联网实战案例》共有22大实战案例,每一章节都有对应的完整代码,同时在学习的过程中需要了解并运行代码,再也不用担心学不会了。主要分享下技术四面的问题一面与二面技术三面Spring全套教学资料
2021-04-09 16:23:38
357
1
原创 Java面试回忆录:教你解决线上频出MySQL死锁问题!附带学习经验
引言最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug。我就熬夜写了一个bug被骂惨了。Java并发编程技术官笔记由于篇幅原因,我只能在文章中展示部分的章节内容和核心截图,如果你需要完整的pdf版本,可以在文末免费领取首先给大家分享学习的思维导图,学习是需要逻辑完整的,这样才可以更高效的学习:下面是笔记的总目录:1,线程基础、线程之间的共享和协作基础概念认
2021-04-09 16:22:54
293
原创 Java经典面试:帮你深度探寻Spring循环依赖源码实现!总结到位
前言不想当将军的士兵不是好士兵,这句话对于程序员来说同样适用,不想成为大牛的程序员不是好程序员。做为一个IT的新人,要想成为技术大牛要怎么做,怎样能快速成长。我们来看看过来人的分享。简单来讲,成为技术大牛虽然有难度,但其实也不是不可能。要成为任何一个领域的专家,你需要做的是学会该领域的已有知识,所以你需要不断的去学习、研究。利用已有的知识,在自己的领域做精,创造出别人还不知道的有价值的东西。技能学习这件事,有技巧无捷径,正所谓,纸上得来终觉浅,绝知此事要躬行。有技巧是说学习技术需要实践和看书相结合,有
2021-04-09 16:22:10
136
原创 Java程序员月薪20k的涨薪秘籍,附架构师必备技术详解
前言最近一段时间发现经常看到很多人,对Spring源码比较感兴趣,日常开发中,无论你做什么什么项目,大部分都离不开Spring生态的那一套东西,所以很多人对Spring底层源码实现很感兴趣,但是有些从来没有接触过源码的开发者,在看Spring源码的过程中确实及其难受的,为什么,大部分人看源码基本都是debug一点一点去看的,最后发现,越追越离谱,越追越深,到最后都追到JDK源码了,也没有明白是什么意思!对于学习源码,我的看法是,先去完全的熟悉它的用法,想一下如果让你来实现,你会怎么实现!有了这些想法之后
2021-04-09 16:21:26
196
原创 Java程序员月薪20k的涨薪秘籍,这原因我服了
开头在找工作的过程中,对于 Redis 技术知识的掌握已经成为必须的技能。美团面试常常就会被问到Redis相关知识,而这次我就差点倒在了美团3面,面试官连问我以下几个Redis的问题,然后就卡壳了…redis了解吗?你说说怎么用redis实现分布式锁?Redis常用数据结构及底层数据结构实现如何解决 Redis 的并发竞争 Key 问题如何保证缓存与数据库双写时的数据一致性?剩下的不太记得了…为此面试完回来针Redis专门做了一个面试问题大总结5节创建者模式第1节:工厂方
2021-04-09 16:20:41
161
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人