- 博客(7)
- 收藏
- 关注
原创 Java并发编程04:深入学习Java的线程(状态、相关方法、优先级、调度)
你是否曾在面试中被问及 start() 与 run() 的区别?是否困惑于如何优雅终止线程而不引发资源泄漏?本文将揭秘 Java 线程的核心机制:从 NEW 到 TERMINATED 的六种状态跃迁,通过 ConcurrentHashMap的源码案例,解析 yield(),直击多线程开发的陷阱:为何 start() 调用两次会崩溃?锁竞争时 yield() 为何可能适得其反?如何在高并发中替代阻塞调用,深入探讨线程优先级的“潜规则”。掌握这些,你不仅能写出健壮的并发代码,还能在面试中游刃有余。
2025-04-12 20:52:01
758
原创 Java并发编程理解03:线程的终止
在多线程开发中,如何安全终止线程是避免资源泄漏和数据混乱的关键。强制方法stop()、suspend()为何被废弃?替代方案是协作式中断机制:通过interrupt()发送请求,线程自主检查标志位或响应InterruptedException,在安全点释放资源后终止。中断不仅能即时唤醒sleep()等阻塞操作,还无需冗余标志位,是资源安全的黄金标准。但需注意:死锁线程和不可中断阻塞(如synchronized)仍需结合超时或资源强制关闭。掌握中断,告别线程失控,让多线程代码既高效又健壮!
2025-04-10 23:42:46
649
原创 Java并发编程理解02:线程的启动(Thread, Runnable, Callable, Future and FutureTask)
本文学习了java线程的实现原理、线程的启动详情,从Thread到Runnable,再到Callable, Future和FutureTask等,每一步都从原理到实战代码一步到位,最后还附有大厂爱问面试题供大家理解消化~。
2025-04-08 15:51:32
705
原创 Java并发编程理解01:对进程和线程的初步概念理解
本文主要介绍了Java并发编程思维中几个重要的前置知识点:线程和进程、CPU核心和线程数之间的关系、上下文切换(Context switch)、并行和并发等。
2025-04-07 15:20:46
706
原创 拒绝服务与分布式拒绝服务(DOS/DDOS)
拒绝服务攻击(DoS,Denial-of-Service)是一种网络攻击方式,目的是使目标系统、网络或服务无法正常运行,从而使合法用户无法访问或使用它们。DoS攻击通常通过向目标系统发送大量的请求或攻击数据包,耗尽其网络带宽、处理能力或资源,从而导致系统崩溃或无法正常工作。用一句话概括就是利用程序漏洞或一对一资源耗尽的方法对服务端发起的攻击。
2024-02-07 11:40:37
1896
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅