Fork me on GitHub

05 2024 档案

摘要:Netty 线程模型是指 Netty 框架为了提供高性能、高并发的网络通信,而设计的管理和利用线程的策略和机制。 Netty 线程模型被称为 Reactor(响应式)模型/模式,它是基于 NIO 多路复用模型的一种升级,它的核心思想是将 IO 事件和业务处理进行分离,使用一个或多个线程来执行任务的一 阅读全文
posted @ 2024-05-31 14:52 磊哥|www.javacn.site 阅读(132) 评论(1) 推荐(2) 编辑
摘要:Netty 核心组件是指 Netty 在执行过程中所涉及到的重要概念,这些核心组件共同组成了 Netty 框架,使 Netty 框架能够正常的运行。 Netty 核心组件包含以下内容: 启动器 Bootstrap/ServerBootstrap 事件循环器 EventLoopGroup/EventL 阅读全文
posted @ 2024-05-30 14:54 磊哥|www.javacn.site 阅读(346) 评论(0) 推荐(1) 编辑
摘要:FastThreadLocal 从字面意义上来看,它是“Fast”+“ThreadLocal”的结合体,寓意为快速的 ThreadLocal。那么,问题来了,Netty 为什么要再造一个 FastThreadLocal?FastThreadLocal 运行快的原因是啥?除了快之外,它还有其他优势吗? 阅读全文
posted @ 2024-05-28 14:16 磊哥|www.javacn.site 阅读(43) 评论(0) 推荐(0) 编辑
摘要:在 Java 中总共有三种 IO 类型:BIO(Blocking I/O,阻塞I/O)、NIO(Non-blocking I/O,非阻塞I/O)和 AIO(Asynchronous I/O,异步I/O),它们的区别如下: 在 JDK 1.4 之前,只有 BIO 一种模式,其开发过程相对简单,新来一个 阅读全文
posted @ 2024-05-27 14:52 磊哥|www.javacn.site 阅读(167) 评论(0) 推荐(1) 编辑
摘要:Spring Boot 作为 Java 开发中必备的框架,它为开发者提供了高效且易用的开发工具,所以和它相关的面试题自然也很重要,咱们今天就来看这道经典的面试题:SpringBoot同时可以处理多少个请求 ? 准确的来说,Spring Boot 同时可以处理多少个请求,并不取决于 Spring Bo 阅读全文
posted @ 2024-05-24 14:53 磊哥|www.javacn.site 阅读(120) 评论(0) 推荐(1) 编辑
摘要:Kafka 是一个分布式流处理平台和消息系统,用于构建实时数据管道和流应用。它最初由 LinkedIn 开发,后来成为 Apache 软件基金会的顶级项目。 Kafka 特点是高吞吐量、分布式架构、支持持久化、集群水平扩展和消费组消息消费,具体来说: 高吞吐量:Kafka 具有高性能和低延迟的特性, 阅读全文
posted @ 2024-05-23 16:42 磊哥|www.javacn.site 阅读(203) 评论(0) 推荐(0) 编辑
摘要:限流想必大家都不陌生,它是一种控制资源访问速率的策略,用于保护系统免受过载和崩溃的风险。限流可以控制某个服务、接口或系统在一段时间内能够处理的请求或数据量,以防止系统资源耗尽、性能下降或服务不可用。 常见的限流策略有以下几种: 令牌桶算法:基于令牌桶的方式,限制每个单位时间内允许通过的请求量,请求量 阅读全文
posted @ 2024-05-22 09:29 磊哥|www.javacn.site 阅读(359) 评论(0) 推荐(0) 编辑
摘要:JVM 调优是一个很大的话题,在回答“如何进行 JVM 调优?”之前,首先我们要回答一个更为关键的问题,那就是,我们为什么要进行 JVM 调优? 只有知道了为什么要进行 JVM 调优之后,你才能准确的回答出来如何进行 JVM 调优? 要进行 JVM 调优无非就是以下两种情况: 目标驱动型的 JVM 阅读全文
posted @ 2024-05-21 14:22 磊哥|www.javacn.site 阅读(458) 评论(4) 推荐(0) 编辑
摘要:我们知道,线程池中的所有线程都是由统一的线程工厂来创建的,当我们指定线程工厂时,线程池中的所有线程会使用我们指定的线程工厂来创建线程;但如果没有指定线程工厂,则会使用默认的线程工厂 DefaultThreadFactory 来创建线程,核心源码如下: DefaultThreadFactory() { 阅读全文
posted @ 2024-05-20 16:19 磊哥|www.javacn.site 阅读(247) 评论(0) 推荐(0) 编辑
摘要:线程任务编排指的是对多个线程任务按照一定的逻辑顺序或条件进行组织和安排,以实现协同工作、顺序执行或并行执行的一种机制。 1.线程任务编排 VS 线程通讯 有同学可能会想:那线程的任务编排是不是问的就是线程间通讯啊? 线程间通讯我知道了,它的实现方式总共有以下几种方式: Object 类下的 wait 阅读全文
posted @ 2024-05-16 18:03 磊哥|www.javacn.site 阅读(631) 评论(1) 推荐(1) 编辑
摘要:在并发编程中,读写锁 ReentrantReadWriteLock 的性能已经算是比较高的了,因为它将悲观锁的粒度分的更细,在它里面有读锁和写锁,当所有操作为读操作时,并发线程是可以共享读锁同时运行的,这样就无需排队执行了,所以执行效率也就更高。 那么问题来了,有没有比读写锁 ReentrantRe 阅读全文
posted @ 2024-05-15 09:38 磊哥|www.javacn.site 阅读(104) 评论(0) 推荐(0) 编辑
摘要:先说答案:5 月份依然有拿到 Offer 的机会。 5月份春招结束了吗? 对于应届大学生来说(也就是今年暑假毕业的学生),5 月中旬春招就陆续结束了,但是 5 月份会有很多补录的机会。 对于非应届的大学生来说(今年之后毕业的学生)来说,5 月和 6 月正是在暑假最好的时机,尤其是 6 月份会有大量的 阅读全文
posted @ 2024-05-14 17:19 磊哥|www.javacn.site 阅读(67) 评论(0) 推荐(0) 编辑
摘要:Java 中的锁(Locking)机制主要是为了解决多线程环境下,对共享资源并发访问时的同步和互斥控制,以确保共享资源的安全访问。 锁的作用主要体现在以下几个方面: 互斥访问:确保在任何时刻,只有一个线程能够访问特定的资源或执行特定的代码段。这防止了多个线程同时修改同一资源导致的数据不一致问题。 内 阅读全文
posted @ 2024-05-13 17:17 磊哥|www.javacn.site 阅读(119) 评论(0) 推荐(0) 编辑
摘要:线程池是 Java 中用于提升程序执行效率的主要手段,也是并发编程中的核心实现技术,并且它也被广泛的应用在日常项目的开发之中。那问题来了,如果把线程池中的核心线程数设置为 0 时,线程池是如何执行的? 要回答这个问题,我们首先要了解在正常情况下,线程池的执行流程,也就是说当有一个任务来了之后,线程池 阅读全文
posted @ 2024-05-07 15:18 磊哥|www.javacn.site 阅读(434) 评论(0) 推荐(0) 编辑

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