自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 300. 最长递增子序列

【代码】leetcode 300. 最长递增子序列。

2025-04-02 11:04:18 82

原创 leetcode 118. 杨辉三角

【代码】leetcode 118. 杨辉三角。

2025-03-31 21:09:12 223

原创 leetcode 70. 爬楼梯

【代码】leetcode 70. 爬楼梯。

2025-03-28 14:47:05 143

原创 leetcode 72. 编辑距离

【代码】leetcode 72. 编辑距离。

2025-03-28 10:33:13 130

原创 腾讯pcg客户端一面

最长重复子序列 面呗的Java环境用不了,先是尝试了一下go,然后共享屏幕用本地idea。基本都能答上来,Java情况比较好,但是操作系统和计网可以加强一下,然后面试不用紧张!Lock和reentrantlock有什么不一样。Reentrantlock要手动释放锁吗。所有类的父类是什么,有哪些常用方法。虚拟内存和物理内存如何映射。Tcp和Udp有什么区别。内核态和用户态怎么切换。常见异常以及怎么处理。七层网络模型是哪七层。

2025-03-26 22:48:21 388

原创 TCP 的 time_wait 有什么作用

为了确认服务端成功收到了最后一个ACK,如果最后一个ACK丢失的话,按照TCP的重传机制,服务端是会重新发送FIN = 1的。原因一:防止历史连接中的数据,被后面相同四元组的连接错误的接收。原因二:确认最后做一个ACK被服务端接受。

2025-03-26 14:36:13 372

原创 leetcode 1143. 最长公共子序列

【代码】leetcode 1143. 最长公共子序列。

2025-03-24 12:29:02 225

原创 leetcode LCR 095. 最长公共子序列

【代码】leetcode LCR 095. 最长公共子序列。

2025-03-21 16:19:29 102

原创 JVM常用垃圾回收器

Serial 和Serial Old收集器Serial 系列的垃圾收集器采用了简单高效、资源消耗最少、单线程收集的设计思路。简单高效:由于硬件资源有限,垃圾回收器需要设计得简单高效,以减少系统资源的占用。Serial 系列的垃圾收集器实现简单,适用于小型应用或者简单的测试场景。资源消耗最少:考虑到当时硬件资源有限,Serial 系列的垃圾收集器尽可能地减少了对系统资源的占用。通过使用单线程执行垃圾回收操作,避免了多线程切换的开销,从而最大程度地节约了系统资源。单线程收集:由于早期的硬件环境和应用场景下,并发

2025-03-21 11:16:22 663

原创 leetcode 46. 全排列

【代码】leetcode 46. 全排列。

2025-03-19 11:06:36 62

原创 leetcode 22. 括号生成

【代码】leetcode 22. 括号生成。

2025-03-19 10:23:07 102

原创 leetcode 216. 组合总和Ⅲ

【代码】leetcode 216. 组合总和Ⅲ。

2025-03-18 11:33:01 400

原创 leetcode 39. 组合总和

【代码】leetcode 39. 组合总和。

2025-03-18 10:52:48 256

原创 leetcode 77. 组合

【代码】leetcode 77. 组合。

2025-03-18 09:36:38 462

原创 leetcode 102. 二叉树的层序遍历

用两个数组进行迭代遍历。

2025-03-14 13:43:19 330

原创 leetcode top100矩阵题73.54.48.240

i < line;i++) {j < col;j++) {​i < line;i++) {j++) {return;int i = 0;int j = -1;k < col;k++) {line = tmp;return ans;i < lines;i++) {j < cols;j++) {i < lines;i++) {j < cols;j++) {return;i < m;i++) {continue;

2025-03-13 21:49:45 786

原创 索引下推ICP

条件满足,使用索引中的主键去定位并读取完整的行记录(就是所谓的回表);条件部分能否用索引中的列来做检查,条件不满足,则处理下一行索引记录;索引下推的目的是为了减少回表次数,也就是要减少IO操作。引用了存储函数的条件不能下推,因为存储引擎无法调用存储函数。存储引擎来说,索引下推只适用于二级索引(也叫辅助索引);来说,数据和索引是在一起的,不存在回表这一说。根据索引中的主键值,定位并读取完整的行记录;存储引擎读取索引记录(不是完整的行记录);存储引擎读取索引记录;层去检测该记录是否满足。层检测该记录是否满足。

2025-03-13 15:49:45 221

原创 反射机制的理解

反射(Reflection)是 Java 在运行时动态获取类信息并操作类的能力,包括:动态加载类创建对象调用方法访问私有成员。

2025-03-12 20:29:37 856

原创 leetcode 438. 找到字符串中所有字母异位词

【代码】leetcode 438. 找到字符串中所有字母异位词。

2025-03-12 15:38:56 69

原创 leetcode 189. 旋转数组

【代码】leetcode 189. 旋转数组。

2025-03-12 15:38:05 107

原创 bean的生命周期(TX面试题)

判断当前bean对象是否实现相关的aware接口(beanNameAware, beanFactoryAware, ApplicationContextAware),如果有的话执行对应的方法。判断当前bean对象是否为单例,是则放到spring对应对象容器中,多例则直接返回bean对象;执行bean对象的前置处理器postprocessbeforinitialztion;执行bean对象的后置处理器postprocessafterinitialztion;关闭容器,调用destroy方法销毁对象;

2025-03-11 11:55:46 307

原创 leetcode 198.打家劫舍

【代码】leetcode 198.打家劫舍。

2025-03-10 22:16:21 111

原创 Redis大key问题的理解

由于大Key占用较多内存,同步过程中需要传输大量数据,这会导致主从之间的网络传输延迟增加,进而影响数据一致性。对于大Key的操作,如读取、写入、删除等,都会消耗更多的CPU时间和内存资源,进一步降低系统性能。Redis大key问题指的是某个key对应的value值所占的内存空间比较大,导致Redis的性能下降、内存不足、数据不均衡以及主从同步延迟等问题。没有固定的判别标准,通常认为字符串类型的key对应的value值占用空间大于1M,或者集合类型的k元素数量超过1万个,就算是大key。对大Key进行清理。

2025-03-10 16:48:04 274

原创 leetcode 131.分割回文串

【代码】leetcode 131.分割回文串。

2025-03-10 16:32:59 76

原创 leetcode 78.子集

【代码】leetcode 78.子集。

2025-03-10 15:05:00 105

原创 Spring框架中,当同一个bean被多个地方引用时,是否会出现属性冲突的问题?

答案是会的,因为bean中默认使用单例模式,整个应用上下文中只会存在一个实例。这就涉及到线程安不安全了。如果 Bean 没有可变的成员变量(例如只包含方法或常量),或者所有操作都是基于方法参数而非成员变量,那么多处引用不会有问题。@Service// 无成员变量,或者成员变量是 final/不可变对象如果 Bean 包含可变的成员变量,并且多个调用方可能同时修改这些变量,则会导致状态冲突。@Service// 可变的成员变量​counter++;​如果两个线程同时调用counter。

2025-03-09 22:17:04 1019

原创 Java的垃圾回收机制

Java的垃圾回收机制,在面试时的回答

2025-03-05 19:51:55 87

原创 leetcode 17.电话号码的字母组合

【代码】leetcode 17.电话号码的字母组合。

2025-03-05 18:56:37 131

原创 leetcode 146.LRU缓存

沉淀了半个小时,终于把这道题写出来,之前一直觉得很难,所以没有下手。

2025-03-04 21:39:11 159

原创 leetcode 98.验证二叉搜索树 先序中序遍历

【代码】leetcode 98.验证二叉搜索树 先序中序后序解法

2025-03-04 11:06:44 67

原创 Java并发学习笔记(1)

当一个新任务交给线程池,如果此时线程池中有空闲的线程,就会直接执行,如果没有空闲的线程且当前线程池的线程数量小于corePoolSize,就会创建新的线程来执行任务,否则就会将该任务加入到阻塞队列中,如果阻塞队列满了,就会创建一个新线程,从阻塞队列头部取出一个任务来执行,并将新任务加入到阻塞队列末尾。:线程安全的列表,在对列表进行修改操作时,会创建一个新的底层数组,将修改操作应用到新数组上,而读操作仍然可以在旧数组上进行,从而实现了读写分离,提高了并发读的性能,适用于读多写少的场景。

2025-03-03 16:50:43 731

原创 Spring学习记录

开发者通过配置文件(XML)、注解或 Java 配置类定义 Bean。例如:</bean>或者使用注解:@Service@Autowired。

2025-03-02 17:09:11 453

原创 JVM学习记录

| | 程序计数器 | | | | Java 堆 | | || | | Java 虚拟机栈 | | | | 方法区 | | || | 线程私有区域 | | 线程共享区域 | || | | 本地方法栈 | | | | 运行时常量池 | | || | 直接内存(堆外内存) | |可以动态扩展,但无法申请到足够内存时,会抛出。

2025-03-02 17:04:08 764

原创 Java基础学习记录

当一个新任务交给线程池,如果此时线程池中有空闲的线程,就会直接执行,如果没有空闲的线程且当前线程池的线程数量小于corePoolSize,就会创建新的线程来执行任务,否则就会将该任务加入到阻塞队列中,如果阻塞队列满了,就会创建一个新线程,从阻塞队列头部取出一个任务来执行,并将新任务加入到阻塞队列末尾。如果多个键映射到同一个槽位,它们会以链表的形式存储在同一个槽位上,因为链表的查询时间是O(n),所以冲突很严重,一个索引上的链表非常长,效率就很低了。// 输出 "Hello World"

2025-03-02 17:03:24 421

原创 操作系统学习记录

它使得应用程序认为它拥有连续的可用的内存,而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。中断是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程。系统中既有操作系统的程序,也有普通用户程序。为了安全性和稳定性,操作系统的程序不能随便访问,这就是内核态。不能直接使用系统资源,也不能改变 CPU 的工作状态,并且只能访问这个用户程序自己的存储空间!

2025-03-02 17:01:51 215

原创 计网学习笔记记录

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的传输层协议。它确保数据包按顺序且无误地传送到接收方。连接建立:TCP是面向连接的协议,这意味着在发送数据之前,通信双方需要先建立一个连接。这通常通过“三次握手”机制完成。第一次握手:客户端向服务器发送一个SYN(同步序列号)包,请求建立连接。第二次握手:服务器收到SYN包后,回复一个SYN-ACK包,确认收到请求,并向客户端发送自己的SYN请求。第三次握手。

2025-03-02 17:00:02 413

原创 redis理论八股的学习记录

Redis是开源的内存数据存储系统,支持多种数据结构,可以用作缓存、实时队列和消息中间件,在性能、可扩展性和灵活性方面表现出色。

2025-03-02 16:57:42 975

原创 MySQL理论八股的学习记录

好记性不如烂笔头,一些学习MySQL理论的记录

2025-03-02 16:52:49 921 1

空空如也

空空如也

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

TA关注的人

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