Fork me on GitHub
摘要: Redis 大 Key 是指存储在 Redis 中的键值对,其中键对应的 value 占用了较大的内存空间,或者包含了大量的元素。例如,一个存储了数百万个元素的集合(Set)类型的键,或者一个存储了一个很大的字符串(长度可能达到几十 MB 甚至更大)的键都被认为是大 Key。 Redis 大 Key 阅读全文
posted @ 2024-11-21 16:27 磊哥|www.javacn.site 阅读(0) 评论(0) 推荐(0) 编辑
摘要: Spring Boot 提供了大量的注解,用于简化配置和加速程序开发。 那么接下来,咱们就一起来看下 Spring Boot 中的常用注解有哪些?及其这些注解的具体使用。 1.Bean相关 @Component:将一个类标识为 Spring 组件(Bean),可以被 Spring 容器自动检测和注册 阅读全文
posted @ 2024-11-07 16:43 磊哥|www.javacn.site 阅读(97) 评论(0) 推荐(1) 编辑
摘要: 秋招已经接近尾声了,最近各家公司的薪资也陆续公布了,今天在逛某客时,被一个 25 届 C9 硕的薪资羡慕到了,一起来感受下这泼天的富贵吧。 这个同学今年秋招总共拿到了 3 个 Offer,分别是: 小米:28K*15,总包 45W,sp,北京。 美团:30K*15.5,总包 47W,sp,上海。 京 阅读全文
posted @ 2024-11-06 17:04 磊哥|www.javacn.site 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 本地缓存是将数据存储在应用程序所在的本地内存中的缓存方式。既然,已经有了 Redis 可以实现分布式缓存了,为什么还需要本地缓存呢?接下来,我们一起来看。 为什么需要本地缓存? 尽管已经有 Redis 缓存了,但本地缓存也是非常有必要的,因为它有以下优点: 速度优势:本地缓存直接利用本地内存,访问速 阅读全文
posted @ 2024-11-01 16:57 磊哥|www.javacn.site 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 每年都会收到同学试用期被裁的消息,除了震惊之外,更多的是遗憾。 因为试用期被裁的大部分同学都是知名公司的 Offer,例如下面这两个,一个某程旅行,一个某知名外企: 某知名外企: 所以,本文要聊两个问题: 试用期被裁有没有补偿? 如何避免试用期被裁? 1.试用期被裁有没有补偿? 大部分同学和 HR 阅读全文
posted @ 2024-10-30 17:14 磊哥|www.javacn.site 阅读(182) 评论(1) 推荐(0) 编辑
摘要: 某客热帖“现在才投互联网还有没有 HC?”,一时间引发了广泛的讨论。事情是这样的:有个小哥,其自身条件也不错,本硕 985 院校,求职意向是 Java 后端研发工程师,拿过国奖、有实习经历,各方面条件都不错。 但就是比较刚,秋招开始后只投了央国企、银行、运营商之类的工作,而且只投了老家那边的公司,所 阅读全文
posted @ 2024-10-28 18:10 磊哥|www.javacn.site 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 在面试的过程当中,偶尔会遇到一些场景题,虽然这些场景题归根到底还是技术问题,但他通常比常规的八股题要稍微难一些,因为他考验的是你对于技术的整体理解、应用,以及变通的能力。 那么今天咱们就来看一道,在面试中国平安时遇到的一道场景题:将百万数据插入到 Redis,有哪些实现方案? 1.Redis 优势与 阅读全文
posted @ 2024-10-25 16:39 磊哥|www.javacn.site 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 世界之大无奇不有,不靠谱的人见多了,但是不靠谱的公司还是第一次见。 今天故事的主角是某上市公司,其号称为中国电声行业的龙头企业,名字这里就不说了。 故事发生的背景是某大学生秋招找工作,投递和面试的是这家公司的嵌入式开发,但最终却被分到了 IT 部门(猜测应该是 IT 支持岗)。 于是这位哥们儿不服, 阅读全文
posted @ 2024-10-17 16:16 磊哥|www.javacn.site 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 如果问研发人最想去的公司是哪个?我想答案应该有两类: 国企/银行/事业单位:活少、稳定。 大厂:薪资高、有面儿。 第一类公司就不说了,那大厂最想去哪家公司呢? 我想可能是他吧: 为啥呢?薪资高呗,能有多高呢?看看这位同学的爆料: 所以,字节的薪资开不开门呢? 那问题来了,怎么才能让自己也找一个好工作 阅读全文
posted @ 2024-10-15 19:06 磊哥|www.javacn.site 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 不知道大家有没有发现,最近在找工作时,越来越多的公司开始要求必须线下面试了,例如,深信服: 例如,华为: 还有公司在发布招聘信息时也明确写明了“只能线下面试”: 那背后的原因究竟是啥呢? 原因一:作弊成本越来越低 AI 的诞生确实提供了很多便利,但也有人和团队利用 AI 来搞一些非正当的产品,例如 阅读全文
posted @ 2024-10-14 17:50 磊哥|www.javacn.site 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 简历是找工作的第一道“工序”,所以它的重要程度不言而喻。 一份好的简历往往是打开你通往理想工作大门的钥匙,而一份糟糕的简历则会白白断送你的面试机会。那么,面试官最反感什么样的简历呢?让我们一起来看看。 1.简历布局和格式混乱 面试官最难忍受的就是应聘者简历布局和格式的混乱,这就好比要你去一个垃圾场相 阅读全文
posted @ 2024-10-10 17:24 磊哥|www.javacn.site 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 大部分同学可能都有这样一种感受:“9 月份还没有拿到笔试和面试呢,这就到 10 月了?”。的确如此,并且大部分同学可能都是这个情况。那今天咱们就来分析一下为什么会出现这个问题?接下来要怎么做才能拿到 Offer? 为什么还没有面试? 9 月份之所以没有面试机会的主要原因有这么几个: 9~10 月份假 阅读全文
posted @ 2024-10-08 11:16 磊哥|www.javacn.site 阅读(43) 评论(0) 推荐(0) 编辑
摘要: “IO 多路复用”是编程中常见的技术词汇,使用这种技术的框架有很多,如,Redis、Kafka、Netty、Nginx 中都用到了此技术。那问题来了,什么是 IO 多路复用?它的具体实现技术有哪些?这些技术之间有什么区别?今天我们就来简单的探讨一下。 1.什么是IO多路复用? IO 多路复用技术是一 阅读全文
posted @ 2024-09-26 16:08 磊哥|www.javacn.site 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 谈起“布隆过滤器”相信大家都不陌生,它也算日常面试中的常见面试题了。例如,当面试官在问到 Redis 模块的相关问题时,可能会问到缓存穿透(Redis 四大经典问题之一),而缓存穿透的经典解决方案之一,则是“布隆过滤器”。 但是,对于布隆过滤器是什么?以及布隆过滤器的实现原理?相信大部分同学都能回答 阅读全文
posted @ 2024-09-25 17:18 磊哥|www.javacn.site 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 分布式锁(Distributed Lock)是一种用于分布式系统中的同步机制,主要是为了防止分布式系统中,多个服务实例同时操作一个共享资源所带来的并发安全问题。 分布式锁确保在同一时间只有一个实例操作共享资源,从而保证了数据的安全性。 1.分布式锁实现方案 分布式锁的实现方案有多种,例如以下这几种: 阅读全文
posted @ 2024-09-24 16:34 磊哥|www.javacn.site 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 在 MySQL 中,GROUP BY 和 DISTINCT 都是用来处理查询结果中的重复数据,并且在官方的描述文档中也可以看出:在大多数情况下 DISTINCT 是特殊的 GROUP BY,如下图所示: 官方文档地址:https://dev.mysql.com/doc/refman/8.0/en/d 阅读全文
posted @ 2024-09-19 16:10 磊哥|www.javacn.site 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 今天有位同学问了磊哥一个问题,大概的意思是“单核服务器可以不加锁吗?”,我觉得很有意思,所以在这里就和各位探讨一下: 1. 问题答案 先说我的理解,单核服务器仍然需要加锁。 因为在单核服务器上也会有线程切换,如果不加锁,那么线程切换后,另一个线程就可以访问其他线程未操作完的共享变量,这就会导致操作的 阅读全文
posted @ 2024-09-18 09:05 磊哥|www.javacn.site 阅读(185) 评论(0) 推荐(1) 编辑
摘要: 首先,这个问题考察的是你对线程池 execute 方法和 submit 方法的理解,在 Java 线程池的使用中,我们可以通过 execute 方法或 submit 方法给线程池添加任务,但如果线程池中的程序在执行时,遇到了未处理的异常会怎么呢?接下来我们一起来看。 1.execute方法 exec 阅读全文
posted @ 2024-09-13 15:20 磊哥|www.javacn.site 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 对于我们使用的线程池 ThreadPoolExecutor 来说,停止线程池的方法有以下两个: shutdown():优雅的关闭线程池,即不再接受新任务,但会等待已提交任务(包括正在执行的任务和在队列中等待的任务)执行完毕。等待所有任务都执行完毕后,线程池才会进入终止状态。 shutdownNow( 阅读全文
posted @ 2024-09-12 16:57 磊哥|www.javacn.site 阅读(405) 评论(0) 推荐(1) 编辑
摘要: 任务编排(Task Orchestration)是指管理和控制多个任务的执行流程,确保它们按照预定的顺序正确执行。 1.为什么需要任务编排? 在复杂的业务场景中,任务间通常存在依赖关系,也就是某个任务会依赖另一个任务的执行结果,在这种情况下,我们需要通过任务编排,来确保任务按照正确的顺序进行执行。 阅读全文
posted @ 2024-09-09 15:13 磊哥|www.javacn.site 阅读(469) 评论(0) 推荐(1) 编辑
摘要: 在 MySQL 中,limit X,Y 的查询中,X 值越大,那么查询速度也就越慢,例如以下示例: limit 0,10:查询时间大概在 20 毫秒左右。 limit 1000000,10:查询时间可能是 15 秒左右(1秒等于 1000 毫秒),甚至更长时间。 所以,可以看出,limit 中 X 阅读全文
posted @ 2024-09-05 19:54 磊哥|www.javacn.site 阅读(1121) 评论(3) 推荐(9) 编辑
摘要: Lambda 表达式是 Java 8 引入的一种简洁的表示匿名方法的方式,使用它可以用于替代某些匿名内部类对象,从而让程序更简洁,可读性更好。但 Lambda 表达式的底层是如何实现的呢?接下来我们一起来看。 1.未Lambda表达式 未使用 Lambda 表达式之前,我们创建一个线程,可以这样写: 阅读全文
posted @ 2024-09-04 17:25 磊哥|www.javacn.site 阅读(118) 评论(0) 推荐(0) 编辑
摘要: Java 是值传递还是引用传递?这是 Java 中比较基础的一道常见面试题,但对于这道问题的大部分答案都是错的,大部人会这样回答这个问题: 在 Java 中,如果传递的是基本数据类型,那么就是值传递;而如果传递的是对象或数组的话,那么就是引用传递。 然而,这个答案是错的! 定义描述 值传递和引用传递 阅读全文
posted @ 2024-09-04 15:18 磊哥|www.javacn.site 阅读(19) 评论(0) 推荐(0) 编辑
摘要: Kafka 以其高吞吐量、低延迟和可扩展性而备受青睐。无论是在实时数据分析、日志收集还是事件驱动架构中,Kafka 都扮演着关键角色。 但是,如果 Kafka 使用不当,也可能会面临性能瓶颈,影响系统的整体效率。所以,了解如何提升 Kafka 的运行效率?对于生产环境的使用和面试都是至关重要的。 那 阅读全文
posted @ 2024-08-30 17:20 磊哥|www.javacn.site 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 我们在使用 Kafka 时,最简单、最常用的方式是只设置 topic(主题)和 value(消息体),如下所示: 这样的话获取消息的代码也很简单,如下所示: @KafkaListener(topics = "mytopic", groupId = "my-group") public void li 阅读全文
posted @ 2024-08-28 11:34 磊哥|www.javacn.site 阅读(95) 评论(0) 推荐(0) 编辑