- 博客(16)
- 收藏
- 关注
原创 Java内存溢出和内存泄露
长生命周期的对象持有短生命周期对象的引用:在某些情况下,一个长生命周期的对象(如单例模式)可能会持有一个短生命周期的对象的引用(如局部变量),导致短生命周期的对象无法被释放。缓存数据过多:如果程序中缓存了大量的数据,而这些数据并不会在后续的执行中被使用到,那么这些数据就会一直占用内存空间,导致内存泄露。过多的数据:如果应用程序需要处理大量的数据,而堆内存的大小又无法满足需求,就容易发生内存溢出。大对象:如果应用程序需要创建大量的大对象,而堆内存的大小又无法满足需求,也容易导致内存溢出。
2024-04-09 14:54:05 288
原创 JAVA面试整理-20240409
redis很多节点,有热点数据,一个节点跪了,根据一致性哈希,这个节点的任务传递到下个节点,下个节点也扛不住了,然后redis直接雪崩了,怎么解决(不会,乱背一堆解决hotkey的方法)2.手写一下项目中用的分布式锁(刚开始给我整懵了,我说忘记redis回调函数咋写了,面试官说写伪代码就行)第二题,给一个字符串集合,10w个字符串(每个字符串至少有三个字符,都是英文字母大写),ES相对于其他的搜索引擎有什么优势,不是指倒排,是指分布式相关的。在团队协作的时候,你有碰到队员之间发生冲突的情况吗?
2024-04-09 12:15:12 1117
原创 java面试题整理
总结:面试官很好,上来介绍他们的业务,可惜我操作系统太久没看,答的不。介绍一下io模型, 谈到了数据的拷贝,谈一下你对零拷贝的理解。介绍一下双亲委派机制,我自定义一个string能生效么。单机redis挂了怎么办,主从集群如何保证分布式锁。介绍一下io多路复用, epoll介绍一下。spring循环依赖是什么,如何解决的。算法:数组中第一个不重复的数(数组做)聊一下rocketmq的基础架构。文件系统是如何管理的。讲一下不同策略的使用场景。redis常用的数据类型。操作系统内存的分配方式。
2024-04-08 20:23:30 401
原创 JAVA juc相关
情景: 当线程调用 Object.wait()、Thread.join() 或类似的方法时,线程会进入 WAITING 状态,等待其他线程的通知。含义: 线程在等待获取监视器锁(synchronized 锁)时,如果锁被其他线程占用,就会进入 BLOCKED 状态。WAITING 状态表示线程在等待其他线程的通知或中断,它可能是由于调用了 wait()、join() 等方法导致的。出现原因: 线程调用了等待相关的方法,进入等待状态,直到其他线程调用相应的通知方法。
2024-04-07 21:25:46 292
原创 JAVA面试优化问题(mysql,jvm)
1. jps命令显示指定系统内所有的java虚拟机系统-l:输出进程ID和应用主类的完整路径;-v:输出向jvm传递的参数,此处展示为idea中显式配置的VM-options参数,其他内容自行查看即可;-m:输出向main方法传递的参数,服务启动前可以在idea的Program-arguments配置;2. jinfo命令查看和调整虚拟机参数。在命令后面带pid进程号,可以输出指定进程的配置信息。-sysprops:输出 Java System Properties 参数;
2024-04-07 15:16:30 574
原创 JAVA面试操作系统(持续更新ing)
进程是系统资源分配的最小单位, 系统由一个个进程(程序)组成一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。因此进程的创建和销毁都是相对于系统资源,所以是一种比较昂贵的操作。进程是抢占式的争夺CPU运行自身,而CPU单核的情况下同一时间只能执行一个进程的代码,但是多进程的实现则是通过CPU飞快的切换不同进程,因此使得看上去就像是多个进程在同时进行.
2024-04-06 22:14:00 939 1
原创 b站上偶尔刷到的面试题
我们假设主键为bigint为8字节,指针固定是6字节,则对于数据库来说,一页16kb可以存16*1024/14=1170个指针假设一条数据为1k则,一个数据页可以存16条数据2层b+树:1170*16=187203层:1170*1170*16=21902400(2000万+)4层的数量级是28亿。
2024-04-06 21:32:43 114 1
原创 JAVA面试寿司ACM模式链表和树
输入包括多组测试数据,每组测试数据占一行,第一个为大于等于0的整数n,表示该单链表的长度,后面跟着n个整数,表示链表的每一个元素。题目包含多行输入,第一行为一个整数 N,表示二叉树的节点总数,后面将有 N 行对应于二叉树的 N 个节点的信息。由于 F 的右孩子是序号为 3 的节点,而 E 的序号刚好为 3,所以 F 的右孩子就是 E。E 0 6 表示标识符为 E 的节点(序号为 3)无左孩子,有右孩子(序号为 6)。若某个节点的左孩子或右孩子序号为 0,则表示该节点不存在相应的左孩子或右孩子。
2024-04-06 19:03:03 373 1
原创 力扣热题100(哈希)
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。是由重新排列源单词的所有字母得到的一个新单词。2.使用hash表,把遍历过的放到hash中。转成数组后进行操作,排序就知道是否是同一个了。整数,并返回它们的数组下标。给你一个字符串数组,请你将。你可以按任意顺序返回答案。给定一个未排序的整数数组。,请你在该数组中找出。
2024-04-06 18:22:08 348 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人