
java深度
文章平均质量分 85
hanlang_java
安安静静写点代码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java远程调用中的RMI构建远程服务
在程序设计中,我们经常会遇到多进程交互,多进程协同工作,分布式任务处理等这样的场景,在这些场景中我们都会涉及到远程通信与远程调用,下面我们用java提供的rmi远程调用来构建一个远程服务一、RMI用法 java语言提供了一种很简便的远程调用,就是RMI,下面我们来看一下RMI的用法 首先,我们定义一个接口/** * 这个接口必须继承自java.rmi.Remote */p原创 2016-08-19 01:27:47 · 975 阅读 · 0 评论 -
入侵java进程的方法
需求当我们线上程序运行的时候,难免会遇到一些业务问题,在排查问题的时候我们会去看日志,查看一些函数输入输出来定位问题;然而许多时候,我们在项目开发的时候并没有留下足够的日志来排查问题,这时候就需要一些特殊的方法来排查,比如远程debug,重新增加日志重启服务,或者用btrace等工具来排查,各种工具都有各自的优点和使用的场景,具体不足本篇暂不讨论,本文只介绍一种新的简单的工具,这个工具可以提供...原创 2018-05-21 23:54:39 · 1233 阅读 · 1 评论 -
asm代码解析看java字节码结构
根据asm对字节码的解析,可以分析出.class文件的字节码结构结构示意图如下4个byte为cafe babe,2个byte为minor 和major常量池分两部分,2个byte的常量池大小和内容2个byte的access flag,2个byte的class名,2个byte的super class名,2个byte的interface数量,及interface2个byte的field数...原创 2018-11-29 01:17:36 · 1238 阅读 · 0 评论 -
ASM静态代码解析方法依赖及生成方法调用流程图方法
系统依赖系统开发,随着功能不断完善,体量渐渐增大,分模块抽象,复用工具等;涉及复杂的业务逻辑的时候,也会引入外部服务,外部工具;业务开发追求的是功能的完整性和快速迭代,但是在分析系统可用性可靠性的时候,我们往往需要找到一些系统的薄弱点,及被依赖点依赖排查在java开发中,最细粒度的依赖就是方法级依赖,有了方法级依赖,就可以拓展到系统,平台级依赖大多数时候,我们都是靠撸代码来找出方法间的依赖...原创 2019-05-10 20:37:00 · 3907 阅读 · 0 评论 -
利用java-tracer来录制方法调用过程
介绍对于程序开发一般要从两个角度去考虑,业务开发更关注功能逻辑实现,是一个业务问题;技术开发则需要关注性能稳定性,是一个纯技术问题。功能逻辑是一个大话题,涉及思维方式,业务需求,比较复杂,不太好量化,但是对于性能稳定性,却是一个技术领域的问题,对性能的追求是一个码农应有的素质。要想对性能有所追求,就要对系统有所了解,项目开发不是一个独立的事件,大的工程往往依赖很多人很多工具的辅助才能完成。正常...原创 2019-05-11 00:33:42 · 1127 阅读 · 0 评论 -
利用jvm-sandbox画服务依赖图和时序图
jvm-sandbox功能jvm-sandbox是一个java动态字节码注入的工具,使用非常灵活,项目主页https://github.com/alibaba/JVM-Sandbox,它的原理是通过JVM-TI技术,利用asm修改字节码的能力,实现对运行时系统切入动态逻辑,具体使用介绍可以查看其主页说明。service-trace使用service-trace是一个使用jvm-sandbox...原创 2019-08-06 23:16:00 · 1956 阅读 · 0 评论