自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android四大组件

用于接收和响应广播事件,比如系统发出的电量变化、网络状态变化,或自定义的应用内广播。:接收系统广播(如开机启动)、App 内部模块通信等。:用于在不同应用之间共享数据,提供统一的数据访问方式。可以在应用退出后继续运行(前提是没有被系统回收)。:打开一个新页面,如登录页、设置页、详情页等。:用于在后台执行长时间运行的操作,不提供界面。通常配合数据库使用(如 SQLite)。可以是前台服务(带通知栏)或后台服务。:用于呈现用户界面,处理用户的交互。:音乐播放、下载、后台定位等。(同步,可被拦截)。

2025-04-15 15:03:56 255

原创 leetcode 55. 跳跃游戏

【代码】leetcode 55. 跳跃游戏。

2025-04-14 16:48:01 89

原创 leetcode 62. 不同路径

【代码】leetcode 62. 不同路径。

2025-04-14 16:24:08 89

原创 对于客户端数据存储方案——SQLite的思考

SQLite 比较适合进行本地小型数据的存储,在功能丰富性和并发能力上不如 MySQL。

2025-04-14 14:09:39 310

原创 策略模式和工厂模式有啥区别

例如:需要根据配置或条件创建不同类型的数据库连接对象(MySQL、PostgreSQL),但客户端不关心创建细节。定义一组算法(或策略),使它们可以互相替换,且算法的变化独立于使用它的客户端。例如:支付场景中,用户可以选择支付宝、微信支付等不同策略,且策略可以随时切换。将对象的实例化过程封装起来,隐藏创建逻辑,客户端无需关心对象如何创建。:解耦具体算法的实现与调用方,通过组合而非继承来扩展功能。:解耦对象的创建与使用。

2025-04-10 20:35:03 133

原创 leetcode 74. 搜索二维矩阵

【代码】leetcode 74. 搜索二维矩阵。

2025-04-10 16:45:34 340

原创 leetcode 230. 二叉搜索树中第K小的元素

【代码】leetcode 230. 二叉搜索树中第K小的元素。

2025-04-10 14:33:10 237

原创 leetcode 169. 多数元素

【代码】leetcode 169. 多数元素。

2025-04-07 18:50:47 74

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

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

2025-04-02 11:04:18 94

原创 leetcode 118. 杨辉三角

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

2025-03-31 21:09:12 234

原创 leetcode 70. 爬楼梯

【代码】leetcode 70. 爬楼梯。

2025-03-28 14:47:05 163

原创 leetcode 72. 编辑距离

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

2025-03-28 10:33:13 145

原创 腾讯pcg客户端一面

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

2025-03-26 22:48:21 406

原创 TCP 的 time_wait 有什么作用

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

2025-03-26 14:36:13 393

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

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

2025-03-24 12:29:02 231

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

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

2025-03-21 16:19:29 113

原创 JVM常用垃圾回收器

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

2025-03-21 11:16:22 682

原创 leetcode 46. 全排列

【代码】leetcode 46. 全排列。

2025-03-19 11:06:36 73

原创 leetcode 22. 括号生成

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

2025-03-19 10:23:07 115

原创 leetcode 216. 组合总和Ⅲ

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

2025-03-18 11:33:01 409

原创 leetcode 39. 组合总和

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

2025-03-18 10:52:48 267

原创 leetcode 77. 组合

【代码】leetcode 77. 组合。

2025-03-18 09:36:38 477

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

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

2025-03-14 13:43:19 342

原创 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 823

原创 索引下推ICP

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

2025-03-13 15:49:45 226

原创 反射机制的理解

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

2025-03-12 20:29:37 867

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

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

2025-03-12 15:38:56 85

原创 leetcode 189. 旋转数组

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

2025-03-12 15:38:05 115

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

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

2025-03-11 11:55:46 317

原创 leetcode 198.打家劫舍

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

2025-03-10 22:16:21 129

原创 Redis大key问题的理解

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

2025-03-10 16:48:04 301

原创 leetcode 131.分割回文串

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

2025-03-10 16:32:59 89

原创 leetcode 78.子集

【代码】leetcode 78.子集。

2025-03-10 15:05:00 121

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

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

2025-03-09 22:17:04 1052

原创 Java的垃圾回收机制

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

2025-03-05 19:51:55 93

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

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

2025-03-05 18:56:37 142

原创 leetcode 146.LRU缓存

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

2025-03-04 21:39:11 168

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

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

2025-03-04 11:06:44 81

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

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

2025-03-03 16:50:43 744

原创 Spring学习记录

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

2025-03-02 17:09:11 524

空空如也

空空如也

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

TA关注的人

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