logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【007】Dubbo3从0到1系列之URL

URL 概述与组成解析 URL(统一资源定位符)是互联网资源的精确地址,由多个组件构成。标准格式为:scheme://userinfo@host:port/path?query#fragment,其中scheme(协议)和host(主机)是必选项。URL的关键组件包括:协议(如http/https)、授权信息(含用户认证、主机和端口)、资源路径、查询参数和片段标识。特殊字符需要通过URL编码转换为

文章图片
#dubbo#rpc#maven
【016】wait () 和 Condition 的区别

🚀 线程协作优化:Condition精准唤醒替代wait() 摘要 传统wait()/notifyAll()在多条件线程协作中存在"广播式唤醒"问题,导致资源浪费和逻辑混乱。本文通过餐厅点餐系统案例,对比展示了Condition的精准唤醒优势: 问题分析:使用wait()时,堂食和外卖订单共用一个等待队列,导致唤醒不区分订单类型,引发优先级错乱 ....

文章图片
#java#面试#求职招聘 +1
【015】Java中如何使用wait()和notify()方法?

Java中的wait()和notify()用于线程间通信,需遵循以下规则: 同步块内使用:必须在synchronized块或方法中调用,否则抛IllegalMonitorStateException。 锁对象一致:wait()和notify()需基于同一对象锁。 锁释放机制:wait()会释放锁,允许其他线程获取;notify()仅唤醒等待线程,不释放锁。 以“外卖催单”场景为例,催单线程通过wa

文章图片
#java#面试#求职招聘
【016】wait () 和 Condition 的区别

🚀 线程协作优化:Condition精准唤醒替代wait() 摘要 传统wait()/notifyAll()在多条件线程协作中存在"广播式唤醒"问题,导致资源浪费和逻辑混乱。本文通过餐厅点餐系统案例,对比展示了Condition的精准唤醒优势: 问题分析:使用wait()时,堂食和外卖订单共用一个等待队列,导致唤醒不区分订单类型,引发优先级错乱 ....

文章图片
#java#面试#求职招聘 +1
【015】Java中如何使用wait()和notify()方法?

Java中的wait()和notify()用于线程间通信,需遵循以下规则: 同步块内使用:必须在synchronized块或方法中调用,否则抛IllegalMonitorStateException。 锁对象一致:wait()和notify()需基于同一对象锁。 锁释放机制:wait()会释放锁,允许其他线程获取;notify()仅唤醒等待线程,不释放锁。 以“外卖催单”场景为例,催单线程通过wa

文章图片
#java#面试#求职招聘
【011】Java中的CountDownLatch和它的用途

CountDownLatch是一个线程同步辅助类,用于让主线程等待一组子线程完成工作。其核心机制是通过计数器实现:初始化时设定线程数,子线程完成任务后调用countDown()减少计数,主线程通过await()阻塞直到计数器归零。典型应用场景包括系统初始化等待多模块加载、压测统计准确计时等。

文章图片
#java#面试#求职招聘
【009】Java中线程池的作用是什么

Java线程池通过资源复用、并发控制和任务管理三大机制提升程序效率。核心作用包括:1)复用预创建线程,减少创建销毁开销;2)限制最大线程数,避免资源耗尽;3)任务队列缓冲实现削峰填谷;4)预创建线程提高响应速度。其效率本质是减少线程创建/销毁的"无用功"和CPU上下文切换的"内耗",通过常驻核心线程、智能任务调度和资源管控,让系统资源聚焦于任务执行。实际开发

文章图片
#java#面试#性能优化
【006】Java内存模型中的happens-before原则是什么?

ava内存模型中的happens-before原则是确保多线程环境下内存可见性和有序性的核心机制。该原则定义了操作间的偏序关系,强调操作A的结果必须对操作B可见,而非单纯的时间先后顺序。通过8大规则(如程序顺序、volatile变量、监视器锁等),happens-before在允许编译器/CPU优化(指令重排序)的同时,保证多线程安全。典型应用包括volatile变量的写读操作、synchroni

文章图片
#java#面试#jvm
【003】Java中的CAS操作是什么?它如何实现无锁编程?

本文介绍了Java中的CAS(Compare-And-Swap)操作及其在无锁编程中的应用。CAS是一种基于比较和交换的原子操作,通过循环比较当前值和预期值实现无锁并发控制。文章详细阐述了CAS的定义、Java中的实现方式(通过Unsafe类和原子类如AtomicInteger),以及其乐观锁策略相比传统锁的优势。同时分析了CAS存在的ABA问题、CPU自旋消耗等缺点,并提供了解决方案。最后总结了

文章图片
#java#面试
【026】Dubbo3从0到1系列之注册中心重试机制

Dubbo的FailbackRegistry#register()方法通过多级容错机制实现服务注册的可靠性。核心流程包括参数检查、父类注册、清理失败任务、执行注册及异常处理。当注册失败时,根据配置决定立即抛异常或加入重试队列,通过HashedWheelTimer定时重试。设计上采用"尽力而为"原则,具备幂等性保证(清理旧任务+ConcurrentMap防重复)、资源高效(共享时

文章图片
#java#spring#maven +2
    共 13 条
  • 1
  • 2
  • 请选择