自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (2)
  • 收藏
  • 关注

原创 谢飞机面Java大厂:音视频场景下的Spring Boot + Kafka + Redis实战三连问

以幽默面试故事形式,带小白掌握音视频场景中Spring Boot集成Kafka消息队列与Redis缓存的典型架构设计、技术选型依据及避坑要点。含3轮递进式真题+逐题深度解析。

2026-03-26 23:18:55 927

原创 谢飞机面Java大厂:音视频场景下的Spring Boot + Kafka + Redis实战三连问

面试官:张工,某一线大厂音视频中台资深架构师(黑眼圈深、咖啡杯不离手)求职者:谢飞机,三年Java经验,简历写着“精通Spring全家桶”,实际靠Ctrl+C/V活到今天 🛩️。

2026-03-26 23:14:53 494

原创 璋㈤鏈虹殑Java澶у巶闈㈣瘯璁帮細浠嶴pring Boot鍒癒ubernetes锛�3杞湡棰樺叏瑙f瀽锛�

浠ュ菇榛樻晠浜嬪舰寮忚繕鍘熷ぇ鍘侸ava闈㈣瘯3杞湡棰橈紝瑕嗙洊鐢靛晢绉掓潃銆佷簯鍘熺敓鍙娴嬫�с�丄IGC椋庢帶涓夊ぇ涓氬姟鍦烘櫙锛屾瘡棰橀檮璇︾粏鎶�鏈В鏋愪笌灏忕櫧瀹炴搷鎸囧崡銆�

2026-03-25 21:05:26 380

原创 互联网大厂Java面试:严肃面试官与搞笑程序员的对决

在互联网大厂的面试中,严肃的面试官与搞笑的程序员上演了一场精彩的对话。面试官提出Java核心知识、HashMap、Spring等问题,程序员则用幽默的方式作答。本文不仅展现了轻松的面试氛围,还附上了详细的技术问题答案解析,帮助读者更好地理解相关知识。

2026-03-24 21:53:23 30

原创 互联网大厂Java面试:严肃面试官与搞笑程序员的对决

在互联网大厂的面试中,严肃的面试官与搞笑的程序员上演了一场精彩的对话。面试官提出Java核心知识、HashMap、Spring等问题,程序员则用幽默的方式作答。本文不仅展现了轻松的面试氛围,还附上了详细的技术问题答案解析,帮助读者更好地理解相关知识。

2026-03-24 21:52:45 35

原创 222222222222222

测试。

2026-03-24 21:39:54 40

原创 222222222222222

测试。

2026-03-24 21:18:49 236

原创 111111111

测试。

2026-03-24 21:17:58 155

原创 test11

test。

2026-01-13 23:09:43 94

原创 面试准备 集合 List

使用Object[] 动态数组进行存储。

2024-04-09 13:31:13 961

原创 leetcode 226. 翻转二叉树 java解法

递归函数在递归过程中使用的栈空间的最大深度等于树的高度,最坏情况下,树是一个链表结构,高度为 n,因此空间复杂度为 O(n)。翻转一棵二叉树意味着交换每个节点的左右子树。递归函数需要访问每个节点恰好一次,因此时间复杂度为 O(n),其中 n 是树中节点的数量。给你一棵二叉树的根节点 root,翻转这棵二叉树,并返回其根节点。递归的终止条件是当前节点为 null,即叶子节点。

2024-03-08 13:33:16 860

原创 leetcode 148. 排序链表 java解法

这是一个链表排序的问题,由于要求时间复杂度为 O(nlogn),适合使用归并排序(Merge Sort)来解决。空间复杂度: O(logn)(递归调用栈的深度)时间复杂度: O(nlogn)

2024-02-20 16:29:23 860

原创 LeetCode 138: 复制带随机指针的链表

你的解题思路是使用哈希表,分为两步来进行深拷贝。nextrandom。

2024-01-29 17:02:51 660

原创 LeetCode 24: 两两交换链表中的节点

给定一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。只能进行节点交换,不允许修改节点内部的值。

2024-01-29 15:47:45 604

原创 leetcode 19. 删除链表的倒数第 N 个结点 java解法

给你一个链表,删除链表的倒数第n个结点,并返回链表的头结点。

2024-01-23 13:35:03 615

原创 leetcode 2. 两数相加

给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。遍历两个链表,同时将对应位的数字相加,并考虑进位。使用一个额外的节点作为头节点,依次生成新的节点。这个解法通过一次遍历即可完成整个加法过程,实现了高效的相加操作。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。请你将两个数相加,并以相同形式返回一个表示和的链表。

2024-01-22 14:33:39 488

原创 leetcode 21. 合并两个有序链表

给定两个有序链表list1和list2,将它们合并成一个有序链表。合并后的链表应由两个输入链表的节点组成。返回合并后链表的头。你不能修改列表。请输出结果为新链表的头部。

2024-01-22 13:56:58 607

原创 leetcode 141 判断链表中是否存在环

给定一个单链表的头节点head,判断链表中是否存在环。如果链表中存在环,则返回true,否则返回false。

2024-01-17 21:23:24 582

原创 leetcode 234.判断链表是否为回文

给定一个单链表,判断它是否是回文。

2024-01-17 16:24:33 590

原创 LeetCode 206 - 反转链表

给定一个单链表的头节点head,反转该链表并返回反转后的链表。

2024-01-15 21:46:14 714

原创 LeetCode 160: 两个链表的相交节点 - 优雅解法

给定两个单链表headA和headB的头节点,返回它们相交的节点。如果两个链表没有相交,返回null。

2024-01-15 21:44:11 1222

原创 LeetCode 240: Efficient Search in a 2D Sorted Matrix / LeetCode 240:二维有序矩阵中的高效搜索

在这篇文章中,我们将讨论如何高效地在一个二维有序矩阵中搜索特定的目标值。这种矩阵具有特定的属性,即每一行都按升序排列,并且每一列也按升序排列。我们将从理解问题、解题过程到优化方案一步步展开。

2024-01-11 14:39:44 452

原创 旋转图像(Rotate Image)- LeetCode 48

这是一个经典的二维矩阵操作题。理解转置和水平翻转的基本概念,以及正确的执行顺序,将帮助我们高效地解决这个问题。通过这篇文章,希望你能够更深入地理解如何在Java中实现这一算法。

2024-01-10 14:59:17 771

原创 LeetCode算法题解:螺旋矩阵

通过上述方法和代码实现,我们可以按照螺旋顺序遍历给定的矩阵,并将其所有元素存储在结果列表中。通过合理的边界控制和条件判断,我们确保了遍历的正确性和高效性。

2024-01-10 14:29:28 709

原创 总结一下最近工作中遇到的线程池相关问题

总结一下最近工作中遇到的线程池相关问题背景:在业务代码中,新建线程池的代码如下:ThreadPoolExecutor myThreadPool = new ThreadPoolExecutor(0, 100, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>());我们的配置是corePoolSize=0;maximumPoolSize=100;keepAliveTime,=0L;使用LinkedBlocking

2022-01-24 21:45:05 514

原创 WEB安全知识学习 - day01 --Burp Suite工具的使用

Burp Suite是一个集合了多种渗透测试组件的渗透工具,使我们自动化地或手工地能更好的 完成对web应用的渗透测试和攻击。Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。启动BurpSuite后,默认拦截的是本地的8080端口.同时,需要在浏览器中...

2021-10-20 13:48:09 2932 1

原创 WEB安全知识学习 - day01 --信息搜集

一、信息搜集–IP内容分发网络(content delivery network或content distribution network,缩写作CDN)指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。CDN节点会在多个地点,不同的网络上摆放。这些节点之间会动态的互相传输内容,对用户的下载行为最优化,并借此减少内容供应者所需要的带宽成本,改善用户的下载速度,提高系统的稳

2021-10-19 17:24:52 3099

原创 JVM虚拟机学习02-运行时数据区

运行时数据区(内存结构)在类加载器系统将class文件加载到JVM中后,JVM会用一段存储空间来存储执行过程中用到的数据和相关信息,这个数据段被叫做Runtime data area(运行时数据区),运行时数据区分为程序计数器、java方法栈,本地方法栈、堆和方法区五个部分。程序计数器(PC)PC是一段较小的内存,用来存放java程序下一条指令所在的地址(如果正在执行的是native方法,则该区域的值为undefined),程序计数器的空间大小不会随着程序的运行而变化,所以该区域不存在内存.

2021-08-05 09:21:52 200

原创 JAVA虚拟机学习总结01-类加载机制

JVM虚拟机java虚拟机(java virtual machine,JVM),一种能够运行java字节码的虚拟机。作为一种编程语言的虚拟机,实际上不只是专用于Java语言,只要生成的编译文件匹配JVM对加载编译文件格式要求,任何语言都可以由JVM编译运行。比如kotlin、scala等。JVM的基本结构JVM由三个主要的子系统构成类加载子系统 运行时数据区(内存结构) 执行引擎类加载机制类的生命周期一个java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五

2021-08-02 23:45:19 294

原创 springboot+springcloud 项目实战-实现权限管理系统(idea实现)01数据库设计&实现

新手菜鸟一枚,一直苦于没有趁手的项目。最近在gitee上看到了一个前后端分离的权限管理系统-kitty(mongo),感觉很不错,但是项目本身是通过eclipse实现的。所以希望能够带来一个idea实现的教程,希望能和大家一同进步。一、数据库设计当前项目大多采用领域驱动模型(DDD)进行项目设计,因此第一步需要完成对项目数据库的设计。项目主要包含以下表:sys_config:配置表sys_debt:机构表sys_dict:数据字典表sys_log:日志表sys_login_log:登录日志

2021-04-07 14:52:43 1347 1

原创 CICD实践01 jenkins环境搭建

一、CI/CD持续集成(CI)持续集成指的是,频繁地(一天多次)将代码集成到主干。将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。目的:快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易;防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。持续交付(Continuous delivery)持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量

2021-03-05 17:17:47 348 2

原创 从零开始刷Leetcode day19 896. 单调数列

单调数列如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。示例 1:输入:[1,2,2,3]输出:true示例 2:输入:[6,5,4,4]输出:true示例 3:输入:[1,3,2]输出:false示例 4:输入

2021-02-28 15:30:23 199

原创 从零开始刷Leetcode day18 832. 翻转图像

832. 翻转图像标签:数组难度:简单给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入:[[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,1]]解

2021-02-26 13:56:45 166

原创 从零开始刷Leetcode day17 转置矩阵

867. 转置矩阵难度:简单给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]提示:m == matrix.lengthn == m

2021-02-26 13:54:04 191

原创 类加载器子系统与SPI机制

类加载器加载过程检测此Class是否载入过,即在缓冲区中是否有此Class,如果有直接进入第8步,否则进入第2步。如果没有父类加载器,则要么Parent是根类加载器,要么本身就是根类加载器,则跳到第4步,如果父类加载器存在,则进入第3步。请求使用父类加载器去载入目标类,如果载入成功则跳至第8步,否则接着执行第5步。请求使用根类加载器去载入目标类,如果载入成功则跳至第8步,否则跳至第7步。当前类加载器尝试寻找Class文件,如果找到则执行第6步,如果找不到则执行第7步。从

2020-12-26 16:30:26 269

原创 JVM知识学习-01 类的加载过程思维导图

2020-11-28 23:03:32 178

原创 软件设计师-2018年下-上午-知识点总结

1、 CPU 在执行指令的过程中,会自动修改( )的内容,以使其保存的总是将要执行的下一条指令的地址。A.指令寄存器B.程序计数器C.地址寄存器D.指令译码器解析:指令寄存器(IR,Instruction Register),用于暂存当前正在执行的指令。程序计数器(Program Counter Register),用于存放下一条指令所在单元的地址的地方。地址寄存器(Adress Register,AR),用来保存当前CPU所访问的内存单元的地址指令译码器(Instruction Deco

2020-10-10 16:18:19 1380 1

原创 《码农翻身》--知识点总结--01我是一个线程---线程生命周期、线程池、缓存、锁

一.线程的生命周期当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。 在线程的生命周期中,它要经过 新建(New)、就绪(Runnable)、运行(Running)、阻塞 (Blocked)和死亡(Dead) 5种状态。尤其是当线程启动以后,它不可能一直"霸占"着CPU独自 运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换 。1.新建状态(NEW)当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由JVM为其分配内存,

2020-09-27 19:56:48 652

原创 从零开始刷Leetcode day15 109 有序链表转换二叉搜索树(Convert Sorted List to Binary Search Tree )

有序链表转换二叉搜索树-java解法给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5Given the hea

2020-08-18 17:47:00 191

原创 软考--软件设计师--知识点01

对于如下所示的有向图,其邻接矩阵是一个 5*5 的矩阵,采用邻接链表存储时顶点1 的表结点个数为2,定点5的表结点个数为0,顶点2和3的表结点个数分别为 2,2知识点:邻接矩阵(Adjacency Matrix)是表示顶点之间相邻关系的矩阵。设G=(V,E)是一个图,其中V={v1,v2,…,vn} [1] 。G的邻接矩阵是一个具有下列性质的n阶方阵:①对无向图而言,邻接矩阵一定是对称的,而且主对角线一定为零(在此仅讨论无向简单图),副对角线不一定为0,有向图则不一定如此。②在无向图.

2020-08-13 14:15:48 2434 2

MATLAB_Simulink_for_DSP_Won_Y_Yang_

接收端数字信号处理技术(DSP)的matlab代码,包括一些常用的滤波器,补偿技术等。.m文件,直接可用

2018-10-26

Xmind思维导图模板,并非软件.7z

100余套x mind 思维导图模板 包括行业模板、生活模板、商业模板、学习模板等,下载后直接可用 效果很棒 适合自己学习总结 或工作总结用

2020-05-31

空空如也

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

TA关注的人

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