Fork me on GitHub
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 35 下一页
摘要: 缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制。 那么问题来了,在 Spring Boot 项目启动之后,在什么时候?在哪里可以将数据加载到缓存系统呢? 实现方案概述 在 Spring Boot 启动之后,可以通过以下手段实现缓存预热: 使 阅读全文
posted @ 2024-01-19 15:25 磊哥|www.javacn.site 阅读(901) 评论(0) 推荐(2)
摘要: 分库分表后就不能使用自增 ID 来作为表的主键了,因为数据库自增 ID 只适用于单机环境,但如果是分布式环境,是将数据库进行分库、分表或数据库分片等操作时,那么数据库自增 ID 就会生成重复 ID,从而导致业务查询上的问题。所以此时,可以使用 UUID 或雪花 ID 来作为全局主键 ID。 1.UU 阅读全文
posted @ 2024-01-17 15:07 磊哥|www.javacn.site 阅读(560) 评论(0) 推荐(1)
摘要: 前两天有位朋友去应聘百度测试开发工程师,面试完自我感觉还行,手撕算法、手撕 SQL 都写出来了,八股也回答的不错,但被通知没通过一面。所以朋友就有点不解,于是就跑来问我原因。 从上面的聊天记录可以看出,面试官的反馈有两个未通过的原因: 自我思考力一般。 学习能力一般。 题外话:这也太较真了吧? 有人 阅读全文
posted @ 2024-01-16 15:36 磊哥|www.javacn.site 阅读(189) 评论(1) 推荐(0)
摘要: 有人可能看到“本地缓存”这四个字就会觉得不屑,“哼,现在谁还用本地缓存?直接用分布式缓存不就完了嘛”。 然而,这就像你有一辆超级豪华的房车一样,虽然它空间很大,设备很全,但你去市中心的时候,依然会开小轿车一样,为啥?好停车啊!所以,不同的缓存类型是有不同得使用场景的。 并且,为了防止缓存雪崩问题、缓 阅读全文
posted @ 2024-01-15 10:58 磊哥|www.javacn.site 阅读(1163) 评论(0) 推荐(0)
摘要: 自定义注解可以标记在方法上或类上,用于在编译期或运行期进行特定的业务功能处理。在 Java 中,自定义注解使用 @interface 关键字来定义,它可以实现如:日志记录、性能监控、权限校验等功能。 在 Spring Boot 中实现一个自定义注解,可以通过 AOP(面向切面编程)或拦截器(Inte 阅读全文
posted @ 2024-01-12 10:11 磊哥|www.javacn.site 阅读(434) 评论(1) 推荐(2)
摘要: 默认情况下,Spring Boot 中的 Bean 是非线程安全的。这是因为,默认情况下 Bean 的作用域是单例模式,那么此时,所有的请求都会共享同一个 Bean 实例,这意味着这个 Bean 实例,在多线程下可能被同时修改,那么此时它就会出现线程安全问题。 Bean 的作用域(Scope)指的是 阅读全文
posted @ 2024-01-11 15:28 磊哥|www.javacn.site 阅读(658) 评论(0) 推荐(0)
摘要: Cookie 和 Session 是 Web 应用程序中用于保持用户状态的两种常见机制,它们之间既有联系也有区别。 Cookie 是由服务器在 HTTP 响应中发送给客户端(通常是浏览器)的一小段数据。客户端将这些信息保存在本地,并在后续的请求中自动将其发送回服务器。 而 Session 是在服务器 阅读全文
posted @ 2024-01-10 15:32 磊哥|www.javacn.site 阅读(391) 评论(0) 推荐(0)
摘要: RedLock 是 Redis 分布式锁的一种实现方案,由 Redis 的作者 Salvatore Sanfilippo 提出。 RedLock 算法旨在解决单个 Redis 实例作为分布式锁时可能出现的单点故障问题,通过在多个独立运行的 Redis 实例上同时获取锁的方式来提高锁服务的可用性和安全 阅读全文
posted @ 2024-01-09 09:49 磊哥|www.javacn.site 阅读(134) 评论(0) 推荐(0)
摘要: 布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于判断一个元素是否在一个集合中。它基于位数组和多个哈希函数的原理,可以高效地进行元素的查询,而且占用的空间相对较小,如下图所示: 根据 key 值计算出它的存储位置,然后将此位置标识全部标识为 1(未存放数据的位置全部为 0 阅读全文
posted @ 2024-01-05 12:29 磊哥|www.javacn.site 阅读(94) 评论(0) 推荐(0)
摘要: 在分布式系统中,当多个线程(或进程)同时操作同一个资源时,为了保证数据一致性问题,所以就需要一种机制来确保在同一时间只有一个线程(或进程)能够对资源进行修改,这就是分布式锁的作用。 分布式锁是一种在分布式环境下的锁实现,它允许在多个进程或服务器之间协调对共享资源的访问或操作。分布式锁的关键特性是它能 阅读全文
posted @ 2024-01-02 10:51 磊哥|www.javacn.site 阅读(826) 评论(0) 推荐(1)
摘要: 最美好的永远是“昨天”,最易流失的永远是“今天”,最不确定的永远是“明天”。 2023 年 6 月 13 日,告别了待了近 3 年的公司,自己出来做 Java 培训了。做的事虽然和之前没太大区别,无非是备新课、带新班,只是没有了固定薪水,却而代之的是自己挣钱自己花。没了稳定,却得了自在。 之后,很多 阅读全文
posted @ 2023-12-30 16:44 磊哥|www.javacn.site 阅读(1231) 评论(7) 推荐(9)
摘要: MySQL 主从复制(Master-Slave Replication)是一种数据复制技术,用于在多个数据库服务器之间的数据同步。在主从复制架构中,一个服务器被设置为主服务器(Master),充当数据源,其他服务器被设置为从服务器(Slave),用来复制主服务器的数据。 1.主从复制优点 主从复制的 阅读全文
posted @ 2023-12-29 12:18 磊哥|www.javacn.site 阅读(4845) 评论(1) 推荐(3)
摘要: 最近受废话文学的影响,所以有了今天的这个标题,希望大家能喜欢。大家不喜欢也没关系,反正我喜欢。 鲁迅先生曾经说过“我家门前有两棵树,一棵是枣树,另一棵还是枣树。”,由此可见,这老爷子算是把废话文学给玩明白了。 希望大家也能,听君一席话,如听一席话吧。 聊正题 聊完闲篇,咱们说回正题:什么是意向锁?为 阅读全文
posted @ 2023-12-28 16:37 磊哥|www.javacn.site 阅读(258) 评论(0) 推荐(0)
摘要: MVCC(Multi-Version Concurrency Control)是一种并发控制机制,用于解决数据库并发访问中,数据一致性问题。它通过在读写操作期间保存多个数据版本,以提供并发事务间的隔离性,从而避免了传统的锁机制所带来的资源争用和阻塞问题。 所谓的一致性问题,就是在并发事务执行时,应该 阅读全文
posted @ 2023-12-27 16:58 磊哥|www.javacn.site 阅读(154) 评论(0) 推荐(0)
摘要: 索引主要是用于提高数据检索速度的一种机制,通过索引数据库可以快速定位到目标数据的位置,而不需要遍历整个数据集,它就像书籍的目录部分,有它的存在,可以大大加速查询的效率。 那么问题来了:在创建索引时一定会锁表吗? 如果你看的是网上的一些资料,或者是通过 chatgpt,那么很可能得到的结果是这样的“是 阅读全文
posted @ 2023-12-25 09:29 磊哥|www.javacn.site 阅读(1300) 评论(0) 推荐(2)
摘要: Java 中的虚拟线程,也叫做协程或“轻量级线程”,它诞生于 JDK 19(预览 API),正式发布于 JDK 21,它是一种在 Java 虚拟机(JVM)层面实现的逻辑线程,不直接和操作系统的物理线程一一对应,因此它可以减少上下文切换所带来的性能开销。 操作系统线程、普通线程(Java 线程)和虚 阅读全文
posted @ 2023-12-20 14:59 磊哥|www.javacn.site 阅读(504) 评论(0) 推荐(1)
摘要: 通常在面试中,只要是疑问句一般答案都是“否定”的,因为如果是“确定”和“正常”的,那面试官就没有必要再问了嘛,而今天这道题的答案也是符合这个套路。 1.典型回答 正常运行的情况下,finally 中的代码是一定会执行的,但是,如果遇到以下异常情况,那么 finally 中的代码就不会继续执行了: 程 阅读全文
posted @ 2023-12-18 12:16 磊哥|www.javacn.site 阅读(519) 评论(0) 推荐(0)
摘要: == 和 equals 有什么区别?这个问题本身不难,但是被问到的频率很高,且大部分人的回答都不够全面,让人听了有种“恨铁不成钢”的感觉,所以今天咱们就来好好聊聊这个问题。 1.典型回答 对于 Object 来说,其 equals 方法底层实现就是“==”,如下 JDK 的 Object 源码如下: 阅读全文
posted @ 2023-12-15 16:06 磊哥|www.javacn.site 阅读(157) 评论(1) 推荐(0)
摘要: 从 Java 8 开始,便引入了一种称为“流式 API”的编程风格,当然也被称为“链式设置”或“链式调用”。它主要是通过设置方法的返回值,让返回值变为对象自身,从而实现连续的方法调用,这种风格就叫做“链式设置”或“链式调用”。 例如,以下代码: MySQLConnectOptions connect 阅读全文
posted @ 2023-12-14 11:44 磊哥|www.javacn.site 阅读(759) 评论(0) 推荐(0)
摘要: 在日常开发中,我们会使用很多工具类来提升项目开发的速度,而国内用的比较多的 Hutool 框架,就是其中之一。 先来看官方对于 Hutool 的定义: Hutool 是一个小而全的 Java 工具类库,通过静态方法封装,降低相关 API 的学习成本,提高工作效率,使 Java 拥有函数式语言般的优雅 阅读全文
posted @ 2023-12-13 15:53 磊哥|www.javacn.site 阅读(572) 评论(1) 推荐(1)
摘要: 目前传统的后台管理系统,以及不使用第三方登录的系统,使用 JWT 技术的还是挺多的,因此在面试中被问到的频率也比较高,所以今天我们就来看一下:什么是 JWT?为什么要用 JWT? 1.什么是 JWT? JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络上安全传输信息 阅读全文
posted @ 2023-12-06 15:14 磊哥|www.javacn.site 阅读(557) 评论(0) 推荐(0)
摘要: 东子作为目前传统电商三巨头之一(其他还有阿里巴巴和拼多多),其面试题的难度也中规中矩,总体来说没有其他两家面试难度高,当然薪资也没有其他两家薪资高。 其中拼多多的薪资最为离谱,尤其是前几年,听说挖同行的开发人员,薪资可以开到原来薪资的两到三倍,真是变态(但是我喜欢)。 东子的面试题如下: 其中大部分 阅读全文
posted @ 2023-12-04 10:46 磊哥|www.javacn.site 阅读(207) 评论(0) 推荐(0)
摘要: 哈啰出行作为阿里系共享单车的头部企业,在江湖中的知名度还是有的,而今天我们就来看一道哈啰 Java 一面中的经典面试题:当数据表中数据量过大时,应该如何优化查询速度? 哈啰出行的面试题目如下: 其他面试题相对来说比较简单,大部人题目都可以在我的网站上(www.javacn.site)找到答案,这里就 阅读全文
posted @ 2023-12-01 15:44 磊哥|www.javacn.site 阅读(151) 评论(0) 推荐(1)
摘要: 今天咱们来看一道数据库中比较经典的面试问题:为什么要使用雪花 ID 替代数据库自增 ID?同时这道题也出现在了浩鲸科技的 Java 面试中,下面我们一起来看吧。 浩鲸科技的面试题如下: 其他面试题相对来说比较简单,大部人题目都可以在我的网站上(www.javacn.site)找到答案,这里就不再赘述 阅读全文
posted @ 2023-11-30 15:34 磊哥|www.javacn.site 阅读(656) 评论(0) 推荐(0)
摘要: 比亚迪最近几年凭借着其新能源汽车的板块大火了一把,无论是名声还是股价都涨得嘎嘎猛,但是迪子招聘编程技术岗位的人员却有两个特点: 面试难度低,对学校有一定的要求。 薪资给的和面试难度一样低。 但不管怎么,迪子也算是国内知名公司了,所以今天咱们来看看,他的校招 Java 技术岗的面试题都问了哪些知识点? 阅读全文
posted @ 2023-11-29 17:28 磊哥|www.javacn.site 阅读(368) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 35 下一页