磊哥聊Java_社区达人页

个人头像照片
磊哥聊Java

是非审之于己,毁誉听之于人,得失安之于数。欢迎关注我的公众号「Java中文社群」

暂无精选文章
暂无更多信息

2024年09月

2024年08月

2024年07月

2024年06月

  • 06.27 14:55:33
    发表了文章 2024-06-27 14:55:33

    挑战全网最快:6月份拿到25届提前批Offer?

    挑战全网最快:6月份拿到25届提前批Offer?
  • 06.26 08:44:52
    发表了文章 2024-06-26 08:44:52

    面试哈啰,差点要了狗命~

    面试哈啰,差点要了狗命~
  • 06.21 14:50:46
    发表了文章 2024-06-21 14:50:46

    闲鱼面试:说说JWT工作原理?

    闲鱼面试:说说JWT工作原理?
  • 06.20 14:57:19
    发表了文章 2024-06-20 14:57:19

    哈啰面试:说说Dubbo运行原理?

    哈啰面试:说说Dubbo运行原理?
  • 06.19 14:30:57
    发表了文章 2024-06-19 14:30:57

    百度二面,有点小激动!附面试题

    前几天刚面完百度,这不,没两天就收到二面邀请了,还有点小激动呢!来看看这次都问了哪些面试题吧,附答案仅供参考。 ## ConsurrentHashMap如何计算下标? ConsurrentHashMap 计算下标和 HashMap 类似,它的主要执行流程有以下两步: 1. **计算 key 哈希值**: 1. **JDK 1.7**:key.hashCode()。 2. **JDK 1.8+**:((h=key.hashCode()) ^ (h>>>16)) -> 算法更均匀,哈希冲突越少。 2. **计算下标**:hash & (table.length-1)。 ## 说说M
  • 06.17 15:42:22
    发表了文章 2024-06-17 15:42:22

    上周面了百度,问的很细~

    上周刚面了百度,问的很细~
  • 06.14 15:41:41
    发表了文章 2024-06-14 15:41:41

    字节面试:MySQL自增ID用完会怎样?

    字节面试:MySQL自增ID用完会怎样?
  • 06.13 14:42:57
    发表了文章 2024-06-13 14:42:57

    面试官:谈谈对SpringAI的理解?

    面试官:谈谈对SpringAI的理解?
  • 06.12 14:26:52
    发表了文章 2024-06-12 14:26:52

    网易面试:SpringBoot如何开启虚拟线程?

    虚拟线程(Virtual Thread)也称协程或纤程,是一种轻量级的线程实现,与传统的线程以及操作系统级别的线程(也称为平台线程)相比,它的创建开销更小、资源利用率更高,是 Java 并发编程领域的一项重要创新。 > PS:虚拟线程正式发布于 Java 长期支持版(Long Term Suort,LTS)Java 21(也就是 JDK 21)。 虚拟线程是一种在 Java 虚拟机(JVM)层面实现的逻辑线程,不直接和操作系统的物理线程一一对应,因此它可以减少上下文切换所带来的性能开销。 操作系统线程、普通线程(Java 线程)和虚拟线程的关系如下: ![image.png](https:
  • 06.11 15:18:07
    发表了文章 2024-06-11 15:18:07

    百度面试:如何用Redis实现限流?

    百度面试:如何用Redis实现限流?
  • 06.07 14:20:57
    发表了文章 2024-06-07 14:20:57

    美团面试:说说Netty的零拷贝技术?

    零拷贝技术(Zero-Copy)是一个大家耳熟能详的技术名词了,它主要用于提升 IO(Input & Output)的传输性能。 那么问题来了,为什么零拷贝技术能提升 IO 性能? ## 1.零拷贝技术和性能 在传统的 IO 操作中,当我们需要读取并传输数据时,我们需要在用户态(用户空间)和内核态(内核空间)中进行数据拷贝,它的执行流程如下: ![](https://cdn.nlark.com/yuque/0/2024/png/92791/1706491312473-52f5904a-2742-4e99-9b78-995e9a8b9696.png?x-oss-process=image%2F
  • 06.06 14:54:06
    发表了文章 2024-06-06 14:54:06

    高德面试:为什么Map不能插入null?

    在 Java 中,Map 是属于 java.util 包下的一个接口(interface),所以说“为什么 Map 不能插入 null?”这个问题本身问的不严谨。Map 部分类关系图如下: ![image.png](https://cdn.nlark.com/yuque/0/2024/png/92791/1717578225132-241fa833-180d-41ab-95eb-3d7cd1118633.png#averageHue=%233f3424&clientId=u395c5adf-4577-4&from=paste&height=687&id=u98d6a0bc&originHeig
  • 06.05 15:07:45
    发表了文章 2024-06-05 15:07:45

    抖音面试:说说延迟任务的调度算法?

    Netty 框架是以性能著称的框架,因此在它的框架中使用了大量提升性能的机制,例如 Netty 用于实现延迟队列的时间轮调度算法就是一个典型的例子。使用时间轮调度算法可以实现海量任务新增和取消任务的时间度为 O(1),那么什么是时间轮调度算法呢?接下来我们一起来看。 ## 1.延迟任务实现 在 Netty 中,我们需要使用 HashedWheelTimer 类来实现延迟任务,例如以下代码: ```java public class DelayTaskExample { public static void main(String[] args) { System.ou
  • 06.04 15:04:28
    发表了文章 2024-06-04 15:04:28

    面试官:说说Netty对象池的实现原理?

    Netty 作为一个高性能的网络通讯框架,它内置了很多恰夺天工的设计,目的都是为了将网络通讯的性能做到极致,其中「对象池技术」也是实现这一目标的重要技术。 ## 1.什么是对象池技术? 对象池技术是一种重用对象以减少对象创建和销毁带来的开销的方法。在对象池中,只有第一次访问时会创建对象,并将其维护在内存中,当再次需要使用对象时,会直接从对象池中获取对象,并在使用完毕后归还给对象池,而不是频繁地创建和销毁对象。 使用对象池技术的优点有以下几个: 1. **提高性能**:复用对象可以减少对象的创建和销毁次数,降低系统开销,提高系统性能和吞吐量。 2. **减少内存碎片**:对象池可以避免
  • 06.03 15:05:49
    发表了文章 2024-06-03 15:05:49

    拼多多面试:Netty如何解决粘包问题?

    粘包和拆包问题也叫做粘包和半包问题,**它是指在数据传输时,接收方未能正常读取到一条完整数据的情况(只读取了部分数据,或多读取到了另一条数据的情况)就叫做粘包或拆包问题。** 从严格意义上来说,粘包问题和拆包问题属于两个不同的问题,接下来我们分别来看。 ## 1.粘包问题 粘包问题是指在网络通信中,发送方连续发送的多个小数据包被接收方一次性接收的现象。这可能是因为底层传输层协议(如 TCP)会将多个小数据包合并成一个大的数据块进行传输,导致接收方在接收数据时一次性接收了多个数据包,造成粘连。 例如以下案例,正常情况下客户端发送了两条消息,分别为“ABC”和“DEF”,那么接收端也应该收到两

2024年05月

  • 05.31 14:53:17
    发表了文章 2024-05-31 14:53:17

    滴滴面试:谈谈你对Netty线程模型的理解?

    Netty 线程模型是指 Netty 框架为了提供高性能、高并发的网络通信,而设计的管理和利用线程的策略和机制。 **Netty 线程模型被称为 Reactor(响应式)模型/模式,它是基于 NIO 多路复用模型的一种升级,它的核心思想是将 IO 事件和业务处理进行分离,使用一个或多个线程来执行任务的一种机制。** ## 1.**Reactor三大组件** Reactor 包含以下三大组件: ![image.png](https://cdn.nlark.com/yuque/0/2024/png/92791/1717079218890-89000a00-48bc-4a1a-b87e-e1b6
  • 05.30 14:55:09
    发表了文章 2024-05-30 14:55:09

    面试官:说说Netty的核心组件?

    Netty 核心组件是指 Netty 在执行过程中所涉及到的重要概念,这些核心组件共同组成了 Netty 框架,使 Netty 框架能够正常的运行。 Netty 核心组件包含以下内容: 1. 启动器 Bootstrap/ServerBootstrap 2. 事件循环器 EventLoopGroup/EventLoop 3. 通道 Channel 4. 通道处理器 ChannelHandler 5. 通道管道 ChannelPipeline 这些组件的交互流程如下: ![image.png](https://cdn.nlark.com/yuque/0/2024/png/92791/1716
  • 05.28 14:17:21
    发表了文章 2024-05-28 14:17:21

    京东二面:为什么Netty要造FastThreadLocal?

    FastThreadLocal 从字面意义上来看,它是“Fast”+“ThreadLocal”的结合体,寓意为快速的 ThreadLocal。那么,问题来了,Netty 为什么要再造一个 FastThreadLocal?FastThreadLocal 运行快的原因是啥?除了快之外,它还有其他优势吗? ## 1.先从ThreadLocal说起 ThreadLocal 线程本地变量,每个线程都拥有一份该变量的独立副本,即使是在多线程环境下,每个线程也只能修改和访问自己的那份副本,从而避免了线程安全问题,实现了线程间的隔离。 ThreadLocal 底层是使用 ThreadLocalMap 实现
  • 05.27 14:53:39
    发表了文章 2024-05-27 14:53:39

    阿里面试:NIO为什么会导致CPU100%?

    在 Java 中总共有三种 IO 类型:BIO(Blocking I/O,阻塞I/O)、NIO(Non-blocking I/O,非阻塞I/O)和 AIO(Asynchronous I/O,异步I/O),它们的区别如下: 1. 在 JDK 1.4 之前,只有 BIO 一种模式,其开发过程相对简单,新来一个连接就会创建一个新的线程处理,但随着请求并发度的提升,BIO 很快遇到了性能瓶颈。 2. 所以在 JDK 1.4 以后开始引入了 NIO 技术,NIO 可以在一个线程中处理多个 IO 操作,提高了资源的利用率和系统的吞吐量。 3. 而到了 JDK 1.7 发布了 AIO 模型,它可以实现当线
  • 发表了文章 2024-09-19

    面试官:GROUP BY和DISTINCT有什么区别?

  • 发表了文章 2024-09-18

    面试官:单核服务器可以不加锁吗?

  • 发表了文章 2024-09-13

    面试官:线程池遇到未处理的异常会崩溃吗?

  • 发表了文章 2024-09-12

    面试官:说说停止线程池的执行流程?

  • 发表了文章 2024-09-09

    面试官:如何实现线程池任务编排?

  • 发表了文章 2024-09-05

    面试官:limit 100w,10为什么慢?如何优化?

  • 发表了文章 2024-09-04

    面试官:说说Lambda表达式底层原理?

  • 发表了文章 2024-09-04

    值传递OR引用传递?大部人都答错了!

  • 发表了文章 2024-08-30

    场景题:如何提升Kafka效率?

  • 发表了文章 2024-08-28

    面试官:Kafka中的key有什么用?

  • 发表了文章 2024-08-27

    面试官:Leader崩溃Follower不够新怎么办?

  • 发表了文章 2024-08-23

    图解Kafka:Kafka架构演化与升级!

  • 发表了文章 2024-08-20

    MySQL主从同步如何保证数据一致性?

  • 发表了文章 2024-08-15

    面试官:JDK中都用了哪些设计模式?

  • 发表了文章 2024-08-14

    面试官:说说volatile应用和实现原理?

  • 发表了文章 2024-08-12

    面试官:说说读写锁的实现原理?

  • 发表了文章 2024-08-09

    京东面试:说说CMS工作原理?

  • 发表了文章 2024-08-08

    面试官:说说MySQL调优?

  • 发表了文章 2024-08-06

    被怼了:acks=all消息也会丢失?

  • 发表了文章 2024-08-05

    面试官:说说你的项目亮点?

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2019-07-17

    短信服务中jar包不能下载怎么解决

    可以查看http://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core/4.0.8确定版本号和依赖说明
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息