自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 卷起来了,2022年金三银四互联网大厂面试题【持续更新中】

???? 本篇为金三银四互联网大厂面试题《并发篇》???? 整理不易,请大家点个赞支持下吧!???? 如需文档下载版请移至文章末尾跳转目录JDK、JRE、JVM之间的区别hashCode()与equals()之间的关系String、StringBuffer、StringBuilder的区别泛型中extends和super的区别重载和重写的区别List和Set的区别ArrayList和LinkedList区别谈谈ConcurrentHashMap的扩容机制Jdk1.7到Jdk

2022-02-08 22:35:40 13598 1

原创 2021年出现频率最高的JAVA面试+答案解析整理总结

面试题目JDK、JRE、JVM之间的区别hashCode()与equals()之间的关系String、StringBuffer、StringBuilder的区别==和equals⽅法的区别List和Set的区别ArrayList和LinkedList区别谈谈ConcurrentHashMap的扩容机制说⼀下HashMap的Put⽅法深拷⻉和浅拷⻉CopyOnWriteArrayList的底层原理是怎样的什么是字节码?采⽤字节码的好处是什么?Java中的异常体系是怎样的在Java的异常处理机制中,什么时候应该

2021-12-22 22:26:05 14200 1

原创 8年开发经验老程序员面试阿里被拒,听到原因后沉默了

在众多传统行业中,大多数人普遍观念都认为:工作越久,经验越丰富,薪资肯定也就越高!但是在互联网新兴行业里程序员却没有完全遵循这个规律,这是为什么呢?今天我们就一起来探讨一下这个问题!正文最近我在阿里的一位面试官朋友分享了他在面试中遇到的一位应聘者:一位年近30的JAVA程序员,简历上写着8年的开发工作经验,年薪期望值在30-35W之间。先是问了一些之前开发做的核心架构,以及高并发的问题之后,就回答的支支吾吾,由此朋友推断之前的工作肯定不是核心岗位,可能基本就是CRUD。然后又问了下他

2021-11-10 17:30:16 3074 1

原创 普通本科毕业一年,刷完这1000道JAVA面试题,成功逆袭上岸

前言本人20年毕业于一所普通本科,实习的时候也就想着混一张毕业证,也没做什么实际项目,再加上去年就业形式严峻,行业内卷,索性就选择了一家小企业公司,直到后来来才知道是属于外包。(也太惨了!耳边回想起老师说的话:千万别去外包)想想算了,谁让自己菜,还是先好好学点技术吧,但是工作起来就是日复一日的CRUD,没有996的工资,同样逃不过996的命,这时候联系了一个同毕业的同学,大概意思就是:哎,自己过得也不好,虽然在华为工资高,但是天天赶项目,妥妥的凡尔赛!也许是被刺激到了,想着今年金九银十一定要跳槽,进

2021-09-16 19:28:32 34498 31

原创 阿里云实习面试真实经历:万字JAVA面试整理总结

文章目录前言List 和 Set 的区别HashSet 是如何保证不重复的Hashmap是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)?Hashmap的扩容过程HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?final finally finalize对象的四种引用Java获取反射的三种方法Java反射机制Arrays.sort 和 Collections.sort 实现原理 和区别LinkedHashMap 的应用Cloneable 接口实现原

2021-09-13 17:02:26 3713 8

原创 全网最全JAVA面试八股文,终于整理完了

文章目录前言1、并发编程三要素?2、实现可见性的方法有哪些?3、多线程的价值?4、创建线程的有哪些方式?5、创建线程的三种方式的对比?6、线程的状态流转图7、Java 线程具有五中基本状态8、什么是线程池?有哪几种创建方式?9、四种线程池的创建:10、线程池的优点?11、常用的并发工具类有哪些?12、CyclicBarrier 和 CountDownLatch 的区别13、synchronized 的作用?14、volatile 关键字的作用15、什么是 CAS16、CAS 的问题17、什么是 Future

2021-09-08 16:31:46 60295 13

原创 工作3年的Java程序员搞不定的Spring循环依赖,一篇文章就解决了

什么是循环依赖?很简单,就是A对象依赖了B对象,B对象依赖了A对象。比如:// A依赖了Bclass A{ public B b;}// B依赖了Aclass B{ public A a;}那么循环依赖是个问题吗?如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。比如A a = new A();B b = new B();a.b = b;b.a = a;这样,A,B就依赖上了。但是,在Spring中循环依赖就是一个问题了,为

2020-11-30 16:08:16 5287 5

原创 阿里P6面试全过程,总结我是如何拿到offer的

前言之前朋友有朋友告诉我满3年工作经验普本就可以内推阿里,我一看这不巧了吗不是,我完全符合啊,然后就想去碰碰运气,然后就有了以下的面试经历阿里一面:1:自我介绍2:面:谈谈你做过项目中印象较深或自认为做的比较好的地方?答:我觉得我在Xx做的不错,用了XX需求实现XX功能,性能提高了N倍…等噼里啪啦的说了一堆。3:面:你说使用到了AOP,能谈谈它的实现原理嘛?答:它是依靠动态代理实现的,动态代理又分为JDK自身的以及CGLIB…4:面:嗯,能说说他们的不同及优缺点嘛?答:JDK是

2020-11-28 21:56:10 9819 4

原创 不要再问MySQL底层了,这篇文章已经介绍的非常清楚了

名称 中文名 占用空间 简单描述File Header 文件头部 38字节 页的一些通用信息Page Header 页面头部 56字节 数据页专有的一些信息Infimum + Supremum 最小记录和最大记录 26字节 两个虚拟的行记录User Records 用户记录 不确定 实际存储的行记录内容Free Space 空闲空间 不确定 页中尚未使用的空间Page Directory 页面目录 不确定 页中的某些记录的相对位置File Trailer 文件尾部 8字节 校验页是否完整.

2020-11-03 20:47:37 3894 25

原创 阿里P7最常问的一道面试题,Spring整合Mybatis原理

在介绍Spring整合Mybatis原理之前,我们得先来稍微介绍Mybatis的工作原理。Mybatis的基本工作原理在Mybatis中,我们可以使用一个接口去定义要执行sql,简化代码如下:定义一个接口,@Select表示要执行查询sql语句。public interface UserMapper { @Select("select * from user where id = #{id}") User selectById(Integer id);}以下为执行sql代码:Inpu

2020-10-24 15:07:58 2371 5

原创 阿里面试题:请问Tomcat是一个Servlet容器吗?里面大有文章

前言“Tomcat是一个Servlet容器”,这句话对于JAVA程序员们应该都是耳熟能详。但是就这么单纯的这么一句话被阿里面试官嘴里问出来之后,你觉得还那么简单吗?好,单纯的思考一下这句话,我们可以抽象出来这么一段代码:class Tomcat { List<Servlet> sers;}但是如果Tomcat就长这样,那么它肯定是不能工作的,所以,Tomcat理论上其实是这样才对:class Tomcat { Connector connector; // 连接处理器

2020-10-20 17:30:49 4094 16

原创 不背八股文就不过不了面试?信我一次,赢麻了!

在我们背诵的过程中,就把java的核心知识有了一个深层次的记忆,在面试过程中也就游刃有余了。这份八股文,高度总结了java的高频考点以及核心内容。内容言简意赅,用于日常学习或者临阵磨枪都非常适合。很多人对java面试题都难以接受,认为无法衡量出一个程序员的真实水平。还有一部分原因,也是因为太难背了。up会第一时间分享给你!那我们到底还要不要背?或后台主动打招呼即可~

2023-10-16 22:28:10 301 2

原创 三个月从零入门深度学习,保姆级学习路线图!

网上虽然教学资料、路线非常多,我们也不否认有些确实有可取之处,但是我们认为一个好的路线,不仅仅只是一条线,应该是点——线——面,三重结合,应该具有系统、规划、全面、细致这四个特性,而这也是网上资源所缺失的,我们本着这个原则,给大家整理了一份2023年系统全面、具有规划的Java学习路线图。我们深知,有很多同学对于培训费用、是否适合、怎么学等等有着各种各样的顾虑,在网上各大平台搜寻着学习方法资料等等,但是很难找到一个契合自己,能解决自己所有问题的答案或者路线。如果你打算自学,跟着这套方案走完全没有问题。

2023-08-14 15:52:11 703 1

原创 Github标星98k,企业级Spring Boot项目开发实战笔记,太强了

准备又到了一年一度的金九银十招聘高峰期的时间,虽然这两年因为疫情以及经济环境不太好,互联网行业的各大厂都再裁员,但是今年下半年Java行情在慢慢的复苏,在慢慢的变好。随着上半年病态卷的常态在慢慢的退去,互联网公司在经过了一轮的裁员筛选筛选调整后,下班年必定是就业的高峰时刻,随着时间越往后,Java开发工程师之后岗位需求量非常大,但不要觉得需求大要求就变低,恰恰相反,越往后公司招聘的要求也会越来越高。级别差不多的工作需要更加丰富的技能,不仅要求技术能力强,还要有解决复杂问题和突发问题的能力。

2023-08-14 14:48:41 446

原创 静态代理、jdk、cglib动态代理 搞不清? 看这个文章就懂了

老板: 只要负责和客户谈项目// 会见 @Override public void meeting() {System . out . println("和" + name + "谈成了34个亿的合作项目:给河道贴瓷砖!");try {} } // ..出差 // .. // 客户名字 private String name = "";} }这篇文章中主要介绍了代理模式的两种实现: 静态代理以及动态代理。

2023-07-27 21:20:59 57910

原创 提升Spring Boot程序启动速度的七大优化技巧

Spring Boot提供了自动配置机制,根据应用程序的依赖项和配置,自动配置各种组件。通过持续的优化和调整,您可以构建出性能卓越的Spring Boot应用程序,提供更好的用户体验和高效的系统运行。另外,您还可以选择更轻量级的替代品或自定义的实现,以减少依赖项的数量和大小。:在Spring Boot 2.3及更高版本中,引入了快速启动模式,它可以明显减少应用程序的启动时间。与传统的数据库相比,嵌入式数据库的启动速度更快,并且不需要额外的配置和安装。这样可以延迟初始化非必需的bean,加快启动速度。

2023-07-21 20:49:07 9390 1

原创 2023Java面试并发连环50问,能全部回答出来的绝对是大佬!

4.为什么调用start()方法时会执行run()方法,那怎么不直接调用run()方法?4.为什么调用start()方法时会执行run()方法,那怎么不直接调用run()方法?24.synchronized的可见性,有序性,可重入性是怎么实现的?19.指令重排有限制吗?

2023-06-28 16:56:43 4639

原创 2023互联网寒冬之下Java程序员要怎么应对才能找到工作

基础篇JVM篇多线程&并发篇Spring篇SpringBoot篇MySQL篇SpringCloud篇Redis篇分布式篇完整目录篇幅较长就不一一展示了,有需要的小伙伴可以在文末领取了,不要( $ _ $ )

2023-06-13 20:57:22 3776

原创 Spring Boot日志系统大揭秘:从零开始学习Spring Boot日志:常见问题解答和最佳实践

Lombok的日志相关注解能够很好地简化Java代码的编写,特别是对于Java应用程序中频繁使用的日志记录功能,使用Lombok可以大大减少代码量和开发时间,提高开发效率。在使用Lombok进行日志记录时,需要注意Lombok的使用约定和注意事项,避免引入不必要的麻烦。可以发现,在不同类中实现日志输出时,都需要手动创建日志对象并修改getLogger方法中的类对象,这样操作有些繁琐。因此,lombok提供了一种更加简便的方式来实现日志输出。这个步骤比较简单,只需要手动添加 lombok 依赖即可。

2023-05-24 15:29:33 17138

原创 全网最清楚的:Spring Boot 启动流程讲解

Spring Boot 启动流程Spring Boot 的启动流程充分利用了 Spring 框架的强大功能,同时又为开发者提供了简洁、快速的开发体验。在 Spring Boot 的启动流程中,核心是由 SpringApplication 类负责管理。在启动时,SpringApplication 会扫描当前应用程序中的所有组件,并根据其中的注解信息构建出应用程序的上下文环境。

2023-05-21 16:07:44 6894 2

原创 【深入Spring源码解析:解密Bean的生命周期】

Spring是Java企业级应用开发领域的一颗明星,它提供了很多方便开发人员的工具和思想。在分布式系统中,Spring的分布式远程协作方案,比如REST、Web服务以及消息传递等,也是不可或缺的。你知道吗?在我们使用Spring时,容器中存放的所有对象,在Spring启动的时候就完成了实例化工作,而这个过程就是对象的生命周期。那么,Spring是如何管理对象的生命周期呢?

2023-04-12 20:20:47 3507

原创 这套【阿里-服务端开发与面试知识手册】2023年了不会还有人没看过吧

整篇,300+页的笔记涵盖**【Java体系】和【架构能力】网络和操作系统基础、JVM、多线程、Spring、Netty主流框架结合实践给出各类难点问题和解决方案**等,不管你是正在学习Java还是已经工作了都是对你的技术提升有非常大的好处,不信你可以看完整篇文章就知道了。

2023-04-11 21:59:36 24204

原创 【快速掌握RabbitMQ到实战】

● 消息队列(Message Queue)是一种用于在应用程序之间传递消息的通信方式,消息队列允许应用程序异步地发送和接收消息,并且不需要直接连接到对方。● 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象● 队列(Queue)可以说是一个数据结构,可以存储数据。先进先出。

2023-03-29 22:13:29 15484 4

原创 全网推荐的《MySQL性能调优与架构设计》笔记,MySQL性能调优入门看这篇就够了

作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了,同时项目中几乎无处不在,面试时又100%会问到的技术点,非MySQL莫属了。因此在这里给大家准备了这篇《MySQL性能调优与架构设计》学习笔记。

2023-03-22 22:05:39 21226

原创 今年Java面试难度有点大...怎么破?

这份资料内容涵盖:**Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈**,有需要的后文有资料的领取方式。

2023-03-16 14:16:18 6657

原创 2023java面试看完这篇笔记薪资和offer稳了!

新的一年抓住机会,不管跳槽涨薪,还是学习提升,这篇笔记你都不应该错过。为了帮大家节约时间,整理了这个篇【Java面试核心知识点整理】以及【金三银四高频面试合集】希望大家在新的一年都能拿到理想的薪资和offer!

2023-02-20 22:34:13 18431

原创 2023年最新Java高级面试题笔记(面试题+答案)

这个笔记是适合所有Java程序员的,因为这个不仅仅是简单的八股文,而是针对各个面试题认认真真由浅入深分析之后的结果,而且看过的同学都反馈说比较通俗易懂。所以大家看完视频之后不仅仅能应对面试官的连环问,更重要的是能真正提升自己技术水平,最后祝愿同学们面试必过薪资必涨。有到了新一年的面试高峰期期间,很多同学都在准备面试,这里建议大家面试前要认真刷题,很多东西你看起来知道、会用。但在面试的时候,很可能一下大脑一片空白,平时都知道的但一时不出来。

2023-02-03 22:25:05 18480

转载 深入Quartz,更优雅地管理你的定时任务

最近在工作遇到了定时任务场景,因此特地对定时任务相关知识进行了调研,记录在此,需要的伙伴儿自取。在Java领域,有很多定时任务框架,这里简单对比一下目前比较流行的三款:​。

2022-09-14 19:43:00 777

原创 全网最全最通俗易懂的Kafka知识点汇总,入门到精通,完全学会

Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列, 可以处理大量的数据, 并使您能够将消息从一个端点传递到另一个端点. Kafka适合离线和在线消息消费. Kafka消息保留在磁盘上, 并在群集内复制以防止数据丢失. Kafka构建在ZooKeeper同步服务之上. 它与Apache Storm 和Spark非常好地集成, 用于实时流式数据分析.Kafka 依赖于日志顺序写, 因此支持消息回溯和支撑高性能读写依赖 Zookeeper架构​。...

2022-08-30 19:33:26 7752

原创 Redis持久化、主从与哨兵架构详解,一文为你讲透

如果开启了混合持久化,AOF在重写时,不再是单纯将内存数据转换为RESP命令写入AOF文件,而是将重写这一刻之前的内存做RDB快照处理,并且将RDB快照内容和增量的AOF修改内存数据的命令存在一 起,都写入新AOF文件,新的文件一开始不叫appendonly.aof,等到重写完新的AOF文件才会进行改名,覆盖原有的AOF文件,完成新旧两个AOF文件的替换。注意,不要在Lua脚本中出现死循环和耗时的运算,否则redis会阻塞,将不接受其他的命令, 所以使用时要注意不能出现死循环、耗时的运算。...

2022-08-26 15:39:21 5899

原创 终于不用到处找资料了,《Java进阶学习面试全套资料》全是精华,免费分享给大家

很多企业,都有KPI考核,然后在此基础上还会弄个“末位淘汰”( 或者叫“人员优化”)。互联网大厂残酷现状在此,无法避免,为了助力程序员朋友们跳槽面试、升职加薪、职业困境,提高自己的技术,逃脱掉“人员优化”的坎,本文给大家整了一套涵盖Java架构面试进阶所有技术栈的快速学习方法和资源。包括各大厂最新面试题以及面经(22份),还有涉及JVM,Mysql,并发,Spring,Mybatis,Redis,RocketMQ,Kafka,Zookeeper,Netty,Dubbo,ElasticSearch,Flink

2022-08-24 16:29:26 728

原创 541页《Java中高级程序员必备核心知识》总结,令人犹如醍醐灌顶

开发什么软件就用什么系统,开发linux软件用Linux当然比windows方便,更多人使用Linux只因为更多人需要开发运行在Linux上的软件,写嵌入式Linux程序,写Arduino程序,Linux是必须的。所以说,作为一名程序员,如果不想学习,不想增进自己的技术,那你一定会被后浪拍死在沙滩上,那么你还不如趁早改行,或许摆地摊的收入远比你现在的收入高。每年想进大厂的人那么多,真正能进的人又有多少,在所有简历池子里随机抽取100个, 不到10个能通过狼厂T3级别的面试。没有数据库,哪来的前后端交互?..

2022-08-18 17:07:09 5645

转载 求求你别在用SpringMVC了,太Low了!Spring又官宣了一个更牛逼的替代框架!

spring-webflux是spring在5.0版本后提供的一套响应式编程风格的web开发框架。这个框架包含了spring-framework和spring mvc,它可以运行在Netty、Undertow以及3.1版本以上的Serlvet容器上。你可以在项目中同时使用spring-webmvc和spring-webflux,或者只用其中一个来开发web应用。(文末有惊喜)所谓响应式,举个例子,当调用一个api获取数据时,无需阻塞等待数据返回,而是当有数据返回时会进行告知。...

2022-08-16 14:18:36 1935

原创 SpringMVC简单介绍及使用

SpringWebMVC是构建在ServletAPI上的原始Web框架,从一开始就包含在SpringFramework中。正式名称“SpringWebMVC,”来自其源模块(spring-webmvc)的名称,但它通常被称为“SpringMVC”。简而言之,springMVC是Spring框架的一部分,是基于java实现的一个轻量级web框架。...

2022-07-31 15:53:34 400

原创 京东购物车的原理及Java实现

2、用户登录了,添加商品,此时会将Cookie中和用户选择的商品都添加到购物车中,然后删除Cookie中的商品。1、用户没有登录,添加商品,此时的商品是被添加到了浏览器的Cookie中,所以当再次访问时(不登录),商品仍然在Cookie中,所以购物车中的商品还是存在的。3、用户登录,添加商品,此时商品被添加到数据库做了持久化存储,再次打开登录用户名和密码,该用户选择的商品肯定还是存在的,所以购物车中的商品还是存在的。如果你能够猜到答案,那么说明你真的很棒,那么关于这四点是怎么实现的呢?...

2022-07-30 16:17:15 7397

原创 这应该是最全的Spring Boot启动原理源码剖析了

至此咱们的spring启动原理源码就讲完了,在此小编也整理了很多springboot资料来供大家学习,了解更多Java知识可关注微信公众号“老周扯IT”httpshttpshttpshttpshttpshttpshttps。

2022-07-29 15:41:27 2828

原创 五年crud经验,三个月啃透Java王者级核心宝典,竟翻身阿里p6

由于篇幅限制,我就只以截图展示目录内容以及部分笔记内容,获取完整版王者级核心宝典只需要点击转发+关注,划到文末,即可获取领取方式!在这个部分我们总结了Java的基础知识,涵盖了概述、开发环境、开发环境配置、基本语法、执行控制流程、面向对象、访问控制权限、接口和抽象类、异常、内部类、集合、泛形、反射、枚举、I/O等。目录​部分内容​httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...

2022-07-27 13:41:55 2358

原创 NIO三板斧之Buffer,提升程序运行效率的双刃剑

JAVA的GC机制使得内存使用非常的方便,但是,其实内存从来都不简单。NIO虽然还是更多的基于JVM的堆内内存进行构建,但是NIO中也提供了对于堆外内存的完整使用机制。GC是把双刃剑,简化了应用编程,却不可避免的带来了性能的损耗,所以,在很多追求性能极致的场景,都会频繁的使用堆外内存。有兴趣可以去跟踪下RocketMQ基于DirectBuffer来管理存盘文件的源码。下一节,将再来整理最后的这个Channel。文章分享就到这里了,了解更多Java知识可关注微信公众号“老周扯IT”https。...

2022-07-16 16:10:00 480

原创 RocketMQ实践中会遇到问题分析

完整分析过后,整个RocketMQ消息零丢失的方案其实挺简单生产者使用事务消息机制。Broker配置同步刷盘+Dledger主从架构消费者不要使用异步消费。整个MQ挂了之后准备降级方案那这套方案是不是就很完美呢?其实很明显,这整套的消息零丢失方案,在各个环节都大量的降低了系统的处理性能以及吞吐量。在很多场景下,这套方案带来的性能损失的代价可能远远大于部分消息丢失的代价。所以,我们在设计RocketMQ使用方案时,要根据实际的业务情况来考虑。...

2022-07-15 21:11:45 6018

原创 微服务调用组件Feign详解

HttpclientHttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自带URLConnection,提升了易用性和灵活性,使客户端发送 HTTP 请求变得容易,提高了开发的效率。(文末有惊喜哦!)Okhttp一个处理网络请求的开源项目,是安卓端最火的轻量级框架,由 Square 公司贡献,用于替代HttpUrlCon

2022-07-11 15:35:50 2054

空空如也

空空如也

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

TA关注的人

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