jvm

曹轲恒8 小时前
jvm·算法
JVM之垃圾回收算法(GC)垃圾回收的基本思想是考察每一个对象的可触及性,即从根节点开始是否可以访问到这个对象,如果可以,则说明当前对象正在被使用,如果从所有的根节点都无法访问到某个对象,说明对象已经不再使用了,一般来说,此对象需要被回收。
xiaolyuh12315 小时前
java·jvm·redis
ThreadLocalMap 中弱引用被 GC 后的行为机制解析核心结论先行:关键点:引用链:这时key被外出强引用保护,不会被 GC 回收此时引用链:ThreadLocal 实例没有强引用保护,GC 之后:
这周也會开心15 小时前
jvm·算法
JVM-垃圾回收算法垃圾回收的基本思想是考察每一个对象的可触及性,即从根节点开始是否可以访问到这个对象,如果可以,则说明当前对象正在被使用,如果从所有的根节点都无法访问到某个对象,说明对象已经不再使用了,一般来说,此对象需要被回收。
代码or搬砖17 小时前
jvm·算法
JVM垃圾回收算法垃圾回收的基本思想是考察每一个对象的可触及性,即从根节点(它们被认为是“绝对存活”的对象,不会被垃圾回收。从这些根节点开始,通过引用链能够到达的所有对象都是“存活对象”)开始是否可以访问到这个对象,如果可以,则说明当前对象正在被使用,如果从所有的根节点都无法访问到某个对象,说明对象已经不再使用了,一般来说,此对象需要被回收。(注意是:一般,并不是所有的不可达的对象都需要被回收,有一些对象可以复活)
qualifying17 小时前
java·jvm·java-ee
JavaEE——多线程(5)Java 线程池是管理线程生命周期、控制并发度的核心组件,基于 “池化思想” 减少线程创建 / 销毁的开销,优化系统资源利用率,同时提供任务队列、拒绝策略等机制,确保并发编程的稳定性和可维护性。
2501_9418656320 小时前
java·开发语言·jvm
从事件驱动到异步架构的互联网工程语法构建与多语言实践分享在现代互联网系统中,服务耦合度越来越高,单纯的同步调用容易导致系统阻塞、延迟积累和雪崩效应。事件驱动(Event-Driven Architecture,EDA)提供了一种工程语法化的方法,将系统操作从“立即执行”转为“异步响应事件”,实现松耦合、可扩展和高韧性。本文结合 Python、Java、C++、Go 示例,探讨事件驱动架构的设计与语义实践。
她和夏天一样热1 天前
java·开发语言·jvm
【观后感】Java线程池实现原理及其在美团业务中的实践☀️ 回报不在行动之后,回报在行动之中。这个系列是关于后端场景的研究探讨,本期文章参考美团技术团队《Java线程池实现原理及其在美团业务中的实践》技术文章,由此作者深入研究Java线程池的底层实现以及在项目中的常见应用场景。
czlczl200209251 天前
java·jvm·架构
深入解析 ThreadLocal:架构演进、内存泄漏与数据一致性分析在多线程并发编程中,ThreadLocal 是实现线程封闭(Thread Confinement)的核心工具。它通过为每个线程提供独立的变量副本,解决了并发环境下的线程安全问题。然而,其底层实现的演进、内存模型的复杂性以及在线程池环境下的潜在风险,往往是开发者容易忽视的盲区。本文将深入剖析 ThreadLocal 的底层原理及其版本差异。
亓才孓1 天前
java·jvm·缓存
封装类对象的缓存对象
廋到被风吹走2 天前
java·开发语言·jvm
【Java】【JVM】性能监控与故障诊断掌握JVM监控工具是Java后端开发者的核心生存技能,能在生产环境快速定位性能瓶颈和致命错误。以下是从命令行到可视化、从监控到日志解读的完整技术栈。
廋到被风吹走2 天前
java·开发语言·jvm
【Java】【JVM】ClassLoader机制解析ClassLoader是JVM的"类装载引擎",掌握其机制是解决类冲突、热部署、SPI扩展等复杂问题的关键。本文从双亲委派到自定义加载器,构建完整的知识体系。
春日见2 天前
开发语言·jvm·人工智能·python·学习·matlab·强化学习
强化学习第一讲:强化学习是什么,强化学习分类“强化学习与深度学习最大的不同在于: 它是‘在干中学’。它不需要预先准备好的标准答案(标签),而是通过机器人与环境的实时交互产生经验。它将动作产生的奖励信号作为指引,通过不断试错,最终学会在特定状态下采取哪种动作能获得最高累计分数。这让它能够解决那些‘连人类都不知道标准答案’的复杂决策问题。”
麦兜*2 天前
java·jvm·spring boot·后端·spring·spring cloud·maven
【SprintBoot】自定义 Spring Boot Starter 从入门到精通:封装企业级通用组件的最佳实践摘要:Spring Boot 的核心魔力在于“约定优于配置”,而 Starter 正是这一理念的集大成者。本文将带你从零手写一个 Starter,深入剖析自动配置原理,最终封装一个支持多种存储策略、异步处理的企业级操作日志组件,助你掌握架构师级别的组件封装技能。
廋到被风吹走3 天前
java·开发语言·jvm
【Java】【JVM】即时编译解析:C1/C2、分层编译、OSR与日志分析即时编译(JIT)是JVM性能的核心,它将热点字节码编译为本地机器码,实现接近C++的执行速度。本文深入剖析JIT编译机制,帮助开发者理解并优化代码执行性能。
网小鱼的学习笔记3 天前
java·jvm·面试
面试题1:==和equals的比较面试题:==和equals的区别?例如String的重写其中StringUTF16的比较方法如下:实际本质上重写的是比较字符串里面每个字符是否相等
廋到被风吹走3 天前
java·开发语言·jvm
【Java】【JVM】垃圾回收深度解析:G1/ZGC/Shenandoah原理、日志分析与STW优化本文深入剖析JVM三大现代垃圾回收器,提供生产级调优案例,帮助你将STW停顿从秒级降至毫秒级。设计目标:平衡吞吐量与停顿时间,可预测的停顿(<200ms)
YanDDDeat3 天前
java·开发语言·jvm·后端
【JVM】类初始化和加载当尝试创建一个对象时,JVM首先会到元空间中查找该对象的类符号引用(可以理解为类的模板信息)。检查这个类是否已经被加载、解析和初始化。如果没有,则会触发完整的类加载过程。
廋到被风吹走3 天前
java·开发语言·jvm
【Java】【JVM】内存模型JVM内存模型定义了Java程序在运行期间内存的分配和管理方式。主要分为线程共享和线程私有两大区域:堆是JVM中最大的一块内存区域,所有对象实例和数组都在此分配。它是垃圾回收的主要区域,按对象生命周期分为新生代和老年代。
独自破碎E3 天前
jvm
整理一些可用来分析JVM性能的工具
太理摆烂哥3 天前
java·开发语言·jvm
C++之异常*异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理,异常使我们能够将问题的检查与解决问题的过程分开,程序的一部分负责检测问题的出现,然后解决问题的任务传递给程序的另一部分,检测环节无须知道问题的处理模块的所有细节。