自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA经典面试题:数据库调优

本文系统介绍了数据库调优的全面方法,涵盖硬件配置、数据库设计、SQL优化、索引管理、缓存策略等8个关键维度。在硬件层面建议使用SSD替代HDD;数据库设计需遵循命名规范、合理分表;SQL优化要避免全表扫描;索引管理需注意失效场景;可通过缓存减轻负载;系统参数需合理配置;大规模数据可采用分库分表;最后强调监控维护的重要性。文章为数据库性能优化提供了系统性指导框架,各优化策略可结合实际场景灵活应用。

2025-08-18 17:45:10 643

原创 【java经典面试题】动态代理是什么?

摘要:本文介绍了Java动态代理在面试和技术应用中的关键知识点。重点讲解了Spring框架核心IOC(控制反转)和AOP(面向切面编程)的实现原理,其中AOP通过静态代理和动态代理实现。详细分析了JDK动态代理(基于反射)和CGLIB动态代理(基于字节码)的区别与特点,并列举了动态代理在MyBatis、Hibernate等框架中的实际应用场景。文章旨在帮助开发者理解动态代理的核心概念及其在主流框架中的实现方式,为技术面试提供参考。

2025-08-05 01:06:35 337

原创 面试官问起容器,千万不要以为是Spring容器

java中的容器即集合,分为Collection和Map两大接口。Collection下有三个子接口:Queue(队列)、List(有序可重复集合)、Set(无序唯一集合)

2025-07-29 09:49:13 249

原创 说说SpringBoot常用的注解?

在面试中,当被问及 Spring Boot 相关的注解时,很多同学可能会觉得这是日常开发中经常接触的内容,因此回答起来信心满满。然而,即使是看似简单的问题,也可能隐藏着更深层次的知识点。以下是对 Spring Boot 中常用注解的总结,希望能帮助大家更深入地理解这些注解。

2025-07-08 23:40:28 591 1

原创 java面试分享

大三学生分享首次面试经历:投递300+简历仅获2-3个面试机会,反映当前就业环境严峻。面试中主要考察了HashMap与HashTable的区别、ConcurrentHashMap原理、MyBatis的#与$符号差异及多表查询、SpringBoot自动装配机制、微服务组件(如Nacos、Dubbo)以及支付接口实现等知识点。学生详细解答了技术问题,并分享了使用支付宝接口实现下单业务的经验。文章鼓励求职者保持信心,持续努力终会获得机会。

2025-07-01 14:28:17 657

原创 俄罗斯方块算法

俄罗斯方块是一款风靡全球 38 年的经典益智游戏,凭借其简单易学但难于精通的特点,成为游戏史上的不朽之作。

2025-05-15 17:32:46 423

原创 Java中的GC是什么?

这节课给小伙伴们讲解的是GC是什么,以及Java如何判断对象可以进行回收和常见的GC算法有哪些。这个面试题可能出现在面试笔试部分,也可能出现在面试中面试官直接问的部分。

2025-03-17 22:01:03 450

原创 String三兄弟被问到了如何回答?

请说一下String、StringBuffer、 StringBuilder的区别String类、StringBuilder类、StringBuffer类是三个字符串相关类。String类代表不可变的字符序列, StringBuilder类和StringBuffer类代表可变字符序列。

2025-03-15 22:24:49 886

原创 认真听,以后就能分清为什么握手是三次挥手需要四次了

Hello 小伙伴们,这节课给大家讲解下,面试官常问的一个问题:“请说一下TCP协议中三次握手和四次挥手” 三次握手就是建立连接的过程,四次挥手就是断开连接的过程。我们从三次握手开始说起。三次握手是TCP协议用于建立连接的过程,通过三次消息交换确保连接的可靠性和双方的同步。以下是详细的步骤:第一次握手(SYN):客户端:向服务器发送一个带有SYN标志的数据包,表示请求建立连接。这个数据包包含初始序列号(ISN,Initial Sequence Number),用于后续的数据同步。

2025-03-14 22:53:30 612

原创 面试官问问题时不说网络模型,而是说OSI

今天给大家讲解下,面试官问起:“请说一下OSI”时如何进行回答。说起OSI可能有的小伙伴不知道是什么,但是说起网络七层模型时,小伙伴们可能就恍然大悟了。没错 OSI其实就是平时我们所说的网络七层模型的缩写。下面我们来详细介绍下。OSI(Open System Interconnection Reference Model)开放式系统互联通信参考模型。是由国际标准化组织提出的,试图使世界范围内各种计算机进行相互连接的标准框架, 以此实现不同主机之间的数据传输。OSI中把网络通信分为7层模型。

2025-03-13 21:40:31 624

原创 经典面试题wait()和sleep()的区别

经典面试题wait()和sleep()的区别

2025-03-12 21:48:10 357

原创 被虐了,面试官通过几个IO模型给我虐的体无完肤

面试官问我们“AIO、BIO、NIO是什么以及他们的区别是什么” 时,我们应该如何回答。我们先来总体看看这三个IO模型。看到这里,小伙伴们可能对里面的两组名词有一些疑惑。同步和异步有什么区别?阻塞和非阻塞有什么区别?同步:对于一个线程内,下面的代码是否等待上面的代码执行完成,并返回结果之后在执行。如果后面 代码等待上面代码执行完成在执行,称为同步。如果后面代码不等待上面代码执行完成,就继续执行, 称为异步。阻塞:IO模型中阻塞指是否阻塞多线程的访问。

2025-03-12 09:35:52 606

原创 都Java 23了,面试官还是总问我Java 8新特性?

今天给大家讲一下面试官比较常问的一个问题:“请说一下Java8新特性”。虽然目前目前Java版本已经出到了23了,但是Java8从出现到现在一直被受开发者喜爱。Java 8 也是Java 5之后最具革命性的版本。那么Java 8新特性有哪些呢?日期中时区支持,Lambda表达式,函数式接口,方法引用 Stream API 接口的变化,Optiona。

2025-03-11 09:55:26 292

原创 最全的Java锁,无论面试官怎么问都在这里了

小伙伴在学习Java的时候关于锁相关的名词可能听过很多:乐观锁、悲观锁、互斥锁、排它锁、共享 锁、读锁、写锁、内置锁、显式锁、对象锁、类锁、重入锁、非重入锁、死锁、公平锁、非公平锁、锁 升级、锁降级等等,这个感觉像极了相声里面的报菜名。别看这么多锁的名称,实际在Java中,我们能见到的落地技术:synchronized、Lock、CAS。这三个技术把上面的这些锁都给包含了,所以每个技术都是身兼数职。他们都是从不同角度去看待进行的分类。

2025-03-11 00:17:51 1090

原创 什么synchronized还有低层原理?(面试题)

synchronized是Java中用于控制多线程访问的关键词,它基于Java虚拟机的监视器锁(monitor lock)机制实现。

2025-03-10 00:03:03 644

原创 经典面试问题:线程的生命周期

线程生命周期就是从线程创建到线程终止过程中线程的几种状态切换。线程状态分为五种,分别是新建状态,就绪状态,运行状态,阻塞状态和终止状态。

2025-03-08 01:36:21 425

原创 面试官问起线程池常用参数时,我们说多少个合适?

线程池常用常数就是ThreadPoolExecutor构造方法参数,构造方法中有参数。

2025-03-07 07:00:00 376

原创 都什么年代了,不要再说创建线程只有三种方式了!

在Java中创建线程一共有四种:分别是继承Thread类、实现Runnable接口、实现Callable接口和使用线程池。继承Thread类方式只需要创建一个Thread类的子类并重写run方法就可以了。如果只使用一次,可简化 为匿名内部类的形式。相比于定义一个Thread类的子类方式更加简单。这种方式在简单点的线程使用时可以使用。

2025-03-06 00:24:30 278

原创 JVM调优第五天——堆内存模型【面试问题】

Java虚拟机(JVM)是Java程序运行的基础,它为Java程序提供了一个与硬件和操作系统无关的运行环境。在JVM中,堆内存是程序运行期间,存储对象实例和数组的主要区域。本文将深入探讨Java堆内存的各个方面,包括对象内存布局、JVM内存溢出、垃圾回收机制,以及堆内存的划分和Young GC与Old GC的区别。

2024-10-14 21:58:31 700

原创 JVM调优第四天——JVM执行引擎

JVM执行引擎(JVM Execution Engine),也称为解释器(Interpreter)或即时执行器执行引擎是Java虚拟机核心的组成部分之一。JVM的将字节码装载到内存,但字节码并不能够直接运行在操作系统之上。为了执行内存中的字节码文件指令,执行引擎 (Execution Engine)就要将字节码指令解释/编译为对应平台上的本地机器指令。它的主要作用是执行字节码(Bytecode),即编译后的Java程序代码。执行引擎的翻译过程有两种:1、通过解释器将字节码文件转为机器指令执行;

2024-10-09 18:21:06 658

原创 JVM学习第三天——JVM内存模型

JVM需要使用计算机的内存,Java程序运行中所处理的对象或者算法都会使用JVM的内存空间,JVM将内存区划分为5块,JVM内存模型定义了Java程序在运行时如何存储和访问数据。它包括堆(Heap)、方法区程序计数器虚拟机栈(VM Stack)和本地方法栈这样的结构称之为JVM内存模型。

2024-09-29 11:15:01 1638

原创 jvm调优第二天——类加载机制(有面试问题)

Java虚拟机(JVM)的类加载机制是Java应用程序性能调优的关键组成部分。类加载机制不仅负责将类从磁盘加载到内存中,还涉及到类的链接、初始化以及内存管理。本文旨在探讨JVM类加载机制的工作原理,以及如何通过调优类加载过程来提升Java应用程序的性能。

2024-09-26 11:53:41 1530

原创 为什么要学习jvm调优?

在深入探讨为什么要学习JVM调优之前,我们首先需要了解什么是JVM。JVM,全称为Java虚拟机(Java Virtual Machine),是一个抽象计算机的概念,它为Java程序提供了一个与平台无关的执行环境。这意味着为JVM编写的程序可以在任何安装了JVM的设备上运行,而无需进行任何修改。

2024-09-24 09:26:12 1346

原创 SpringBoot3自定义favicon.ico图标

在学习SpringBoot项目的过程中,我想在我的个人项目中添加自定义favicon.ico的图标。但是你会发现在使用yml去配置favicon时,发现配置被废除了。如下图所示:即使没有配置,SpringBoot也会帮我们去扫描resource包下的static,我们只需要将favicon.ico图标放到static包下即可。在Spring Boot 3中自定义。

2024-09-23 00:44:57 1474 1

空空如也

空空如也

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

TA关注的人

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