首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
深入浅出Java
订阅
猿码架构
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 5订阅
浅谈JPDA中JVMTI模块
上一节《Java Instrument 功能使用及原理》文章中,讲解Instrument使用时,简单提了一句JVMTI的概念,可能有很多小伙伴感到很陌生,虽然Java Instrument的使用基本没什么问题,但对于Instrument基于JVMTI的实现原理还是处于混沌状态。…
基于Java Instrument的Agent实现
使用 Instrumentation,使得开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了 …
十分钟搞懂Lombok使用与原理
Lombok是一款好用顺手的工具,就像Google Guava一样,在此予以强烈推荐,每一个Java工程师都应该使用它。Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO)。它通过注释实现这一目的。通过在开发环…
HashMap多线程并发问题分析
从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get(…
JVMTI Attach机制与核心源码分析
前面文章,我们已讲述了《基于JVMTI的Agent实现》和《基于Java Instrument的Agent实现》两种Agent的实现方式,其中每种方式都会分为:启动时Agent、运行时Agent。 但是对于 运行时Agent的触发机制,却没有进行详细说明,本节的主要目标就是在源…
JVMTI Agent 工作原理及核心源码分析
在JVM启动时,会读取JVM命令行参数 -agentlib -agentpath -javaagent,并构建了Agent Library链表。初始化 Agent 代码如下: 在方法Agent_OnLoad中创建一个新的 JPLISAgent(Java Programming …
基于JVMTI的Agent实现
上一节《浅谈JPDA中JVMTI模块》讲解了JVMTI功能作用,本节我们将通过一个具体的例子,来阐述如何开发一个简单的 Agent 。Agent主要功能描述: 具体实现都在 MethodTraceAgent 这个类里提供。按照顺序,它会处理环境初始化、参数解析、注册功能、注册事…