Fork me on GitHub

02 2024 档案

摘要:在 Java 并发编程中,有 3 个最常用的关键字:synchronized、ReentrantLock 和 volatile。 虽然 volatile 并不像其他两个关键字一样,能保证线程安全,但 volatile 也是并发编程中最常见的关键字之一。例如,单例模式、CopyOnWriteArray 阅读全文
posted @ 2024-02-29 17:12 磊哥|www.javacn.site 阅读(310) 评论(0) 推荐(4) 编辑
摘要:Redis 高可用(High Availability,HA)是指 Redis 通过一系列技术手段确保在面临故障的情况下也能持续提供服务的能力。 Redis 作为一个内存数据库,其数据通常存储在内存中,一旦发生故障,可能导致数据丢失或服务中断,所以,为了保证 Redis 的高可用,它主要采用了以下两 阅读全文
posted @ 2024-02-28 10:19 磊哥|www.javacn.site 阅读(813) 评论(0) 推荐(1) 编辑
摘要:RedLock 是一种分布式锁的实现算法,由 Redis 的作者 Salvatore Sanfilippo(也称为 Antirez)提出,主要用于解决在分布式系统中实现可靠锁的问题。在 Redis 单独节点的基础上,RedLock 使用了多个独立的 Redis 实例(通常建议是奇数个,比如 5 个) 阅读全文
posted @ 2024-02-27 15:29 磊哥|www.javacn.site 阅读(1659) 评论(3) 推荐(2) 编辑
摘要:限流是指在各种应用场景中,通过技术和策略手段对数据流量、请求频率或资源消耗进行有计划的限制,以避免系统负载过高、性能下降甚至崩溃的情况发生。限流的目标在于维护系统的稳定性和可用性,并确保服务质量。 使用限流的好处有以下几个: 保护系统稳定性:过多的并发请求可能导致服务器内存耗尽、CPU 使用率饱和, 阅读全文
posted @ 2024-02-26 15:10 磊哥|www.javacn.site 阅读(106) 评论(0) 推荐(0) 编辑
摘要:接下来的一段时间,我将出一些地方上比较值得去的公司,供 Java 程序员作为找工作和跳槽时进行挑选。 西安作为中国西部的科技和互联网产业发展的重要城市,拥有着少些知名且对 Java 程序员具有吸引力的互联网公司,接下来,我们将分这些公司分为 3 类来介绍: 私企 国企 外企 0.国企、私企和外企有什 阅读全文
posted @ 2024-02-23 12:01 磊哥|www.javacn.site 阅读(289) 评论(0) 推荐(0) 编辑
摘要:当问到 Java 内存模型的时候,一定要注意,Java 内存模型(Java Memory Model,JMM)它和 JVM 内存布局(JVM 运行时数据区域)是不一样的,它们是两个完全不同的概念。 1.为什么要有 Java 内存模型? Java 内存模型存在的原因在于解决多线程环境下并发执行时的内存 阅读全文
posted @ 2024-02-22 15:56 磊哥|www.javacn.site 阅读(432) 评论(0) 推荐(2) 编辑
摘要:对于高并发系统来说,有三个重要的机制来保障其高效运行,它们分别是:缓存、限流和熔断。而缓存是排在最前面也是高并发系统之所以高效运行的关键手段,那么问题来了:缓存只使用 Redis 就够了吗? 1.冗余设计理念 当然不是,不要把所有鸡蛋放到一个篮子里,成熟的系统在关键功能实现时一定会考虑冗余设计,注意 阅读全文
posted @ 2024-02-20 16:05 磊哥|www.javacn.site 阅读(965) 评论(0) 推荐(3) 编辑
摘要:当数据量比较大时,使用常规的方式来判重就不行了。 例如,使用 MySQL 数据库判重,或使用 List.contains() 或 Set.contains() 判重就不可行,因为 MySQL 在数据量大时查询就会非常慢,而数据库又是及其珍贵的全局数据库资源。 《阿里巴巴Java开发手册》上也说了,如 阅读全文
posted @ 2024-02-19 12:00 磊哥|www.javacn.site 阅读(165) 评论(0) 推荐(0) 编辑
摘要:考研成绩马上就要出来了,但是按照往年的录取情况,以及自己的考试表现来预估的话,相信大部分人心里早已有了答案。能上岸的同学还好,接下来几年继续自己的求学之后就好。但对于不能上岸的同学来说,已经到了不得不为自己将来考虑的时候了。 那么问题来了,之前一直在忙考研的事情,就业的知识一点都没学,而春招也马上也 阅读全文
posted @ 2024-02-09 11:59 磊哥|www.javacn.site 阅读(30) 评论(0) 推荐(0) 编辑
摘要:那是发生在多年前的一件事,当时我也是在那家公司做 Java 开发。公司很大,大到去了很长一段时间都感觉毫无存在感。 那年年会,作为技术部的我,依然被安排到一个比较边缘化的桌子,这么多年走来,早已经习惯了这样的安排。 可能只有我们做技术人的心里才会觉得“技术牛逼,技术万岁!”,但在公司领导层看来,这技 阅读全文
posted @ 2024-02-06 18:39 磊哥|www.javacn.site 阅读(43) 评论(0) 推荐(1) 编辑
摘要:短信盗刷和短信轰炸是项目开发中必须要解决的问题之一,它的优先级不亚于 SQL 注入的问题,同时它也是面试中比较常见的一个经典面试题,今天我们就来看下,如何防止这个问题。 1.概念介绍 短信盗刷和短信轰炸的概念如下: 短信盗刷是指使用某种技术手段,伪造大量手机号调用业务系统,盗取并发送大量短信的问题。 阅读全文
posted @ 2024-02-05 17:08 磊哥|www.javacn.site 阅读(435) 评论(0) 推荐(0) 编辑
摘要:限流是一种通过控制系统对外提供的资源、服务或接口的访问数量或速率,以保护系统免受过载的一种策略。 它的目的是确保系统能够在承受范围内提供稳定和可靠的服务,避免因过多的请求而导致系统崩溃、资源耗尽或响应延迟过高的情况发生。 在 Sentinel 中,实现限流的方法有以下两种: 通过代码方法实现限流。 阅读全文
posted @ 2024-02-04 10:59 磊哥|www.javacn.site 阅读(252) 评论(0) 推荐(2) 编辑
摘要:在 Spring Cloud Gateway 中,过滤器是在请求到达目标服务之前或之后,执行某些特定操作的一种机制。例如,它可以实现对传入的请求进行验证、修改、日志记录、身份验证、流量控制等各种功能。 在 Spring Cloud Gateway 中,过滤器总共分为以下两大类: 局部过滤器:只作用于 阅读全文
posted @ 2024-02-01 10:31 磊哥|www.javacn.site 阅读(155) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示