自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java八股文——MySQL「存储引擎篇」

一条SQL的旅程就是:通过。

2025-06-12 16:05:27 807

原创 Java八股文——MySQL「SQL 基础篇」

面试官您好,SQL(关系型数据库)和NoSQL(非关系型数据库)是当今数据存储领域的两大主流阵营。它们之间不是“谁取代谁”的关系,而是两种完全不同的设计哲学,适用于解决不同类型的问题。我通常会从以下几个核心维度来对比它们:SQL (关系型数据库):NoSQL (非关系型数据库):SQL:NoSQL:SQL:NoSQL:SQL:NoSQL:我的选型策略:什么时候选择SQL数据库?什么时候选择NoSQL数据库?在现代架构中,我们通常不会只选择一种,而是将SQL和NoSQL数据库组合使用,让它们各自在最擅长的领域

2025-06-12 15:00:21 888

原创 Java八股文——Spring「SpringCloud 篇」

面试官您好,服务熔断是微服务架构中一种至关重要的服务保护机制。它的作用就像电路中的“保险丝”,其核心目标是防止在分布式系统中,因某个下游服务的故障或延迟,而导致整个调用链像多米诺骨牌一样接连崩溃,即所谓的“雪崩效应”。1. 为什么需要服务熔断?—— 雪崩效应的模拟“A -> B -> C”的例子非常经典。正常情况:客户端请求服务A,A调用B,B再调用C。故障发生:突然,服务C因为数据库慢查询或自身Bug,导致响应极度缓慢甚至不可用。问题蔓延所有调用C的服务B的线程,都会因为等待C的响应而被。

2025-06-11 18:49:55 796

原创 Java八股文——Spring「MyBatis篇」

MyBatis通过。

2025-06-11 18:14:54 818

原创 Java八股文——Spring「SpringBoot 篇」

Spring Boot通过。

2025-06-11 18:11:29 1183

原创 Java八股文——Spring「SpringMVC 篇」

MVC模式通过清晰的职责划分,将Web应用拆分为M、V、C三个松耦合的部分。而Spring MVC框架,则通过。

2025-06-11 18:03:08 1228

原创 Java八股文——Spring「Spring 篇」

面试官您好,IoC和AOP是Spring框架的两大基石,也是Spring能够实现“解耦”这一核心目标的左膀右臂。它们分别从不同的维度,解决了软件开发中的耦合问题。我可以用一个“造汽车”IoC(控制反转):负责的是“零部件的组装”。AOP(面向切面编程):负责的是“全车功能的统一加装”。1. IoC (Inversion of Control) —— 对象的组装者核心思想:IoC的核心是“控制反转”。在传统开发中,我们需要自己去new一个对象,并手动处理它所依赖的其他对象。

2025-06-11 17:54:12 1041

原创 Java八股文——JVM「垃圾回收篇」

GC是一个由JVM在后台自动运行的“清洁工”。它通过可达性分析来找出垃圾,其工作主要是由。

2025-06-10 15:17:03 1588

原创 Java八股文——JVM「类加载篇」

这个七阶段模型,更细致地描绘了一个对象从被。

2025-06-10 15:12:12 1089

原创 Java八股文——JVM「内存模型篇」

面试官您好,程序计数器(Program Counter Register)是JVM运行时数据区中一块非常小但至关重要的内存区域。要理解它,我们可以从“它是什么”和“为什么必须是线程私有”这两个角度来看。1. 程序计数器的作用 (What is it?核心定义:程序计数器可以看作是当前线程所执行的字节码的行号指示器。它的工作:在JVM中,字节码解释器就是通过读取和改变程序计数器的值,来确定下一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复等基础功能,都依赖于这个计数器来完成。一个重要的细节。

2025-06-10 15:07:37 711

原创 【论文阅读】大模型优化器(Large Language Models As Optimizers)

论文提出了方法,利用大语言模型(LLMs)作为优化器。与传统基于梯度的优化算法不同,OPRO用自然语言描述优化任务。LLM从包含先前生成解决方案及其评分的提示中生成新的解决方案评估新解决方案并将其添加到下一步优化的提示中通过这种迭代过程逐步改进解决方案质量数学优化问题线性回归:寻找最优的线性系数旅行商问题(TSP):寻找最短路径提示词优化目标是找到能够最大化任务准确率的指令在GSM8K(小学数学题)和Big-Bench Hard任务上进行测试。

2025-06-09 20:31:35 1160 1

原创 Java八股文——并发编程「场景篇」

这是一个非常经典的并发面试题,它能很好地考察面试者对线程通信和同步机制的理解与运用。有多种方法可以实现,下面我将为您介绍几种最典型、最能体现不同技术深度的方法,从基础的到更现代的LockCondition。

2025-06-08 12:14:33 953

原创 Java八股文——并发编程「线程池篇」

面试官您好,这是一个非常关键的实践性问题。在生产环境中,为的关键异步任务自定义线程池,是一个必须遵守的最佳实践。其根本原因在于,如果我们不指定,默认会使用一个全局共享的静态线程池——。让整个应用的所有异步任务都挤在这一个“独木桥”上,会带来巨大的风险。一、不自定义线程池的风险在哪里?全局资源竞争与“公地悲剧”风险描述commonPool是整个JVM进程共享的。这意味着,我们自己代码中的,引入的第三方库中的异步逻辑,甚至框架(如Spring)的一些内部异步处理,都可能在共享这个线程池。一个生动的比喻。

2025-06-08 12:09:01 427

原创 Java八股文——并发编程「并发安全篇」

面试官您好,AQS,全称是,它是JUC包中绝大多数锁和同步器的核心实现框架。您可以把它理解为一个“同步器开发的模板或蓝图”。像我们常用的Semaphore等,它们的底层都是基于AQS来实现的。AQS帮助开发者屏蔽了大量复杂的底层细节,比如线程的排队、阻塞、唤醒以及CAS操作等,让我们能更专注于实现同步器本身的逻辑。1. AQS的核心设计思想AQS的核心思想是,如果被请求的共享资源是空闲的,那么就将当前请求资源的线程设置为有效的工作线程,并将共享资源设置为锁定状态。

2025-06-08 11:53:29 915

原创 Java八股文——并发编程「多线程篇」

面试官您好,线程上下文切换是现代操作系统实现多任务处理的核心机制。简单来说,它指的是CPU从一个正在执行的线程,切换到另一个准备就绪的线程去执行的过程。1. 一个生动的比喻:单核CPU与一位超级程序员我们可以把一个单核CPU想象成一位极其敬业但一次只能做一件事的程序员。上下文 (Context):就是这位程序员为了处理某项任务(比如开发功能A)而在办公桌上铺开的所有资料、代码、草稿纸,以及他脑子里记住的“我刚才做到哪一步了”。上下文切换 (Context Switch)

2025-06-08 11:08:19 1002

原创 【论文阅读】YOLOv8在单目下视多车目标检测中的应用

本文提出了一种改进的YOLOv8架构,用于自动驾驶中的多尺度目标检测。研究针对雷达、摄像头等传感器在恶劣天气、小型目标检测中的局限性,通过引入结构重参数化技术、双向金字塔网络和注意力机制等三项关键改进,显著提升了模型性能。实验在SODA-D和VisDrone数据集上验证,[email protected]分别提高3.4%和4.0%。该方案特别适用于中国大学生方程式智能汽车大赛等需要实时准确检测的自动驾驶场景,在保持计算效率的同时,有效解决了多尺度、小型目标检测问题,为低成本自动驾驶系统开发提供了可行方案。

2025-06-08 09:07:12 845 1

原创 Java八股文——集合「Queue篇」

面试官您好,是包下的一个接口,它继承自接口。其核心特性在于它是一个支持阻塞操作的队列。具体来说,当队列满时,生产者如何处理?如果一个生产者线程尝试向一个已满的中添加元素(通过put(E e)方法),该生产者线程将会被阻塞 (block),直到队列中有空间可用(即某个消费者线程从队列中取走了元素)。当队列空时,消费者如何处理?如果一个消费者线程尝试从一个空的中获取元素(通过take()方法),该消费者线程将会被阻塞 (block),直到队列中有新的元素被生产者放入。的主要特点和方法:线程安全。

2025-06-05 18:35:48 1039

原创 Java八股文——集合「Set篇」

面试官您好, 集合是 Java 集合框架中的一个重要接口,它继承自 接口,其最显著的特点和设计目标就是存储一组不重复的元素。一、集合的主要特点:二、如何实现元素(或称之为Key)无重复的原理: 接口的实现类通常是基于对应的实现来保证元素唯一性的。它们巧妙地利用了 中键(Key)的唯一性特性。因此, 添加元素的逻辑就转换为了向内部 中 。 在 操作时,会遵循以下步骤来确保键的唯一性:计算:首先计算要添加的元素(作为 )的 值,以确定其在 内部数组中的存储位置(哈希桶)。检查冲突并调用

2025-06-05 17:11:30 1060

原创 Java八股文——集合「Map篇」

面试官您好,关于HashMap1. 核心数据结构 (JDK 1.8+)HashMap的底层主要是一个数组,这个数组也常被称为“哈希桶”(hash buckets)。每个数组元素可以是一个Node节点,也可以是null。Node<K,V>类:这是存储键值对的基本单元。它通常包含四个主要字段:int hash: 存储键的哈希值。K key: 存储键。V value: 存储值。: 指向链表中的下一个节点,用于解决哈希冲突。当哈希冲突发生,并且同一个哈希桶中的链表长度达到一定阈值(默认为。

2025-06-05 17:02:04 1245

原创 Java八股文——集合「List篇」

可以在遍历过程中修改元素的方式使用 Iterator 的 set() 方法。使用传统的 for 循环,通过索引的 set() 方法。使用 ListIterator 的 set() 方法,支持双向遍历。不能在遍历过程中直接修改元素的方式使用 for-each 循环,因为无法直接修改元素。使用 forEach 和 Lambda 表达式,因为它们不支持修改原始集合中的元素。

2025-06-05 16:31:57 956

原创 Java八股文——集合「概念篇」

增强 for 循环:简洁,适合只读操作。传统 for 循环:适合需要根据索引操作的场景。Iterator:适合需要删除元素或避免并发修改异常的场景。forEach:Java 8 引入,函数式编程风格,简洁并支持 Lambda。:适用于 List,支持双向遍历和修改。Stream:适用于复杂操作,特别是在 Java 8 中,提供了更灵活的操作方式。根据具体需求选择合适的遍历方法,有助于提高代码的简洁性、可读性和执行效率。参考小林coding和JavaGuide。

2025-06-05 16:28:34 941

原创 HashMap中的put方法执行流程(流程图)

HashMap的put操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在putVal这个内部方法中。

2025-06-04 16:34:32 1485

原创 【图解】为什么Java1.7 HashMap头插法会导致死循环

摘要:文章分析了HashMap在多线程扩容时可能出现的死循环问题。核心在于transfer()方法采用头插法进行数据迁移,当两个线程同时执行时,可能导致链表指针反转形成环形结构。关键代码展示了节点重定位过程:计算新索引后,通过e.next=newTable[i]和newTable[i]=e将节点插入新桶头部。这种不加锁的操作在多线程环境下容易引发链表成环,最终导致CPU飙升。

2025-06-03 17:49:29 207

原创 Java面试八股文智能体——Agent提示词(Prompt)

将一下内容发送给任何一个LLM,他会按照你提示词的内容,扮演好这个角色。以DeepSeek为例,将提示词发给他后,他的回答如下:问他:你是谁,他的回答如下:接下来你就可以问他一些面试问题,或者将一段八股文复制给他,让他润色一下。

2025-06-01 17:48:38 1781

原创 Java八股文——Java基础「高级特性篇」

关于Java中的泛型(Generics),我的理解是它是一种 **参数化类型(Parameterized Types)**的机制。简单来说,泛型允许我们在定义类、接口或方法的时候,不预先指定具体的类型,而是使用一个 **类型参数(Type Parameter)**作为占位符。然后,在实际创建这些类的对象、实现接口或者调用方法时,再传入具体的类型参数。泛型主要解决了什么问题?类型安全 (Type Safety)

2025-06-01 17:07:19 891

原创 Java八股文——Java基础「面向对象篇」

面试官您好,关于Java接口中可以定义哪些方法,这在Java的不同版本中是有演进的。方法类型Java 8 以前Java 8+Java 9+描述抽象方法✅✅✅无方法体,强制子类实现默认方法❌✅✅有方法体,提供默认实现,不强制子类实现静态方法❌✅✅有方法体,通过接口名直接调用,不能被子类继承或重写私有方法❌❌✅有方法体,接口内部使用,辅助默认方法实现私有静态方法❌❌✅有方法体,接口内部使用,辅助静态方法实现。

2025-06-01 17:06:51 1062

原创 Java八股文——Java基础「数据类型篇」

参考小林coding和Java Guide八种基本的数据类型Java支持的数据类型分为两类:基本数据类型和引用数据类型。int和long是多少位,多少字节的?面试官您好,关于int和long这两种Java中的基本数据类型,它们都是用来表示整数的,主要区别在于它们能够存储的数值范围和占用的内存空间。所以,在选择使用int还是long时,主要还是根据我们对业务数据可能达到的最大值的预估来决定的,以确保数据能够被正确存储和处理。

2025-05-30 18:44:49 680

原创 Java八股文——Java基础「概念篇」

面试官您好,关于字节码以及它带来的好处,我的理解是这样的:首先,什么是字节码?字节码,在Java的语境下,它是一种中间代码。当我们编写的Java源代码(也就是.java文件)经过Java编译器(javac)编译之后,生成的并不是可以直接在特定操作系统或CPU上运行的机器指令,而是这种字节码文件。这些字节码文件通常以.class作为扩展名。您可以把字节码看作是Java虚拟机(JVM)能够直接理解和执行的指令集。它不依赖于任何特定的硬件平台或操作系统,是为JVM这种抽象计算机设计的。然后,

2025-05-30 17:03:01 1094

原创 Cursor 代码格式化的快捷键

此快捷键可以快速对你当前打开的代码文件进行自动格式化,前提是你的编辑器已经配置好相应语言的格式化工具或插件。

2025-05-30 12:25:43 174

原创 【论文阅读】Deep Closest Point: Learning Representations for Point Cloud Registration

《深度最近点:学习点云配准的表示方法》提出了一种基于深度学习的点云配准方法Deep Closest Point (DCP)。传统ICP算法容易陷入局部最优且依赖初始化,而DCP通过端到端网络架构实现更鲁棒的配准。该方法包含三个关键模块:点云嵌入网络(采用PointNet/DGCNN提取特征)、注意力机制(建立点云间软对应关系)和可微分SVD层(计算刚体变换)。实验表明DCP在ModelNet40数据集上性能优于传统方法,对噪声和密度变化具有鲁棒性,并能作为ICP的良好初始化。该研究首次将深度学习与几何方法结

2025-05-26 11:32:09 606 1

原创 面对AI的迅速崛起,Java后端开发工程师的出路在哪里,作为一名学习Java的应届毕业生,该何去何从?

AI时代对Java后端开发工程师既是挑战也是机遇。AI工具可提升开发效率,但对系统设计、复杂问题解决和AI集成能力的要求更高。Java在大数据处理、AI服务后端等场景仍有优势。建议开发者:1)掌握AI辅助工具;2)深化分布式架构、性能优化等核心技术;3)拓展业务领域知识;4)学习云原生技术。应届生应夯实Java基础,积累项目经验,初步接触AI应用。长期来看,结合AI能力的Java工程师将在架构设计和技术管理方向更具竞争力。关键在于利用AI工具提升价值,而非被替代。

2025-05-25 15:13:16 772

原创 【论文阅读】Deep Closest Point: 学习点云配准的表示

《Deep Closest Point: 基于深度学习的点云配准方法》提出了DCP框架,通过深度学习解决传统ICP算法的局限性。该方法采用点云嵌入网络(比较PointNet和DGCNN)、基于注意力机制的匹配模块和可微SVD层,实现端到端训练。实验表明DCP在ModelNet40数据集上优于传统方法,具有更好的鲁棒性和泛化能力。DGCNN特征提取和注意力机制显著提升性能,使DCP在机器人、自动驾驶等领域具有重要应用价值。该方法为点云配准提供了新思路,代码开源促进后续研究。

2025-05-24 20:32:38 802 1

原创 【论文阅读】PointNet++: 度量空间中点集的深度分层特征学习

点云作为计算机视觉和机器人技术中的重要数据结构,通过LiDAR或深度相机等传感器捕获环境的3D信息。然而,点云的无序性和可变密度给处理带来了挑战。PointNet++由斯坦福大学的研究人员开发,通过引入分层神经网络架构,有效学习多尺度特征,解决了点云处理中的基本限制。该架构包括集合抽象层和特征传播层,能够捕获局部结构和全局上下文信息,显著提高了分类和分割任务的性能。PointNet++还通过多尺度分组和多分辨率分组技术处理非均匀点密度,增强了模型的鲁棒性。实验结果表明,PointNet++在多个数据集上均表

2025-05-16 21:14:22 828 1

原创 Java SpringAI OpenAI快速上手 调用百炼API

创建两个类:ChatController和CommonConfiguration。创建一个SpringBoot工程。

2025-05-12 13:02:08 320

原创 IDEA中设置Ctrl+滚轮调整字体

【代码】IDEA中设置Ctrl+滚轮调整字体。

2025-05-08 14:43:34 226

原创 【论文阅读】CS-Net: 基于贡献的采样网络,用于点云简化

点云是一种基本的三维数据表示形式,由空间中的大量点组成,每个点都具有三维坐标,并且可能具有其他属性。虽然它们提供了详细的几何信息,但大规模点云通常包含数百万个点,这使得处理和存储在计算上非常昂贵。这为需要实时操作的应用(如自动驾驶、机器人技术和增强现实)带来了严重的瓶颈。图 1:CS-Net 架构概述,展示了从输入点云通过特征嵌入、级联注意力和贡献度评分模块到生成采样点云的流程。点云简化(或下采样)旨在减少点的数量,同时保留基本的几何特征和与下游任务相关的信息。

2025-05-07 21:39:39 831 1

原创 解决 CentOS 7.9 报错: “Repository base is listed more than once in the configuration“和“Existing lock“

一个是Repository错误,一个的Existing lock错误。第二个错误好解决,是再来解决第一个错误。

2025-04-22 20:27:39 367

原创 Git报错:fatal: unable to access ‘https://github.com/xxxxxx.git/‘: Recv failure

【代码】Git报错:fatal: unable to access ‘https://github.com/xxxxxx.git/‘: Recv failure。

2025-04-13 10:14:00 336

原创 SSL证书申请-京东云域名-阿里云域名解析

由于httpsok不支持京东云,所以去阿里云或者其他的服务商域名解析。这一步可能会有延迟,等一下就好了。

2025-04-02 14:45:32 346

原创 【图解】ArrayDeque堆栈扩容问题

作为堆栈时,逐步压入和弹出元素的详细过程及图表展示。(便于演示扩容机制),实际 Java 中默认初始容量为 16。

2025-03-18 17:01:17 189

空空如也

空空如也

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

TA关注的人

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