随笔分类 -  jvm

摘要:本文转载自JVM Attach实现原理剖析 前言 本文旨在从理论上分析JVM 在 Linux 环境下 Attach 操作的前因后果,以及 JVM 为此而设计并实现的解决方案,通过本文,我希望能够讲述清楚如下三个主要方面的内容。 Attach 为什么而出现 Attach的出现究其根本原因,应该就是为了 阅读全文
posted @ 2020-06-19 19:44 Yungyu 阅读(597) 评论(0) 推荐(1)
摘要:本文转载自Java 动态调试技术原理及实践 导语 断点调试是我们最常使用的调试手段,它可以获取到方法执行过程中的变量信息,并可以观察到方法的执行路径。但断点调试会在断点位置停顿,使得整个应用停止响应。在线上停顿应用是致命的,动态调试技术给了我们创造新的调试模式的想象空间。本文将研究Java语言中的动 阅读全文
posted @ 2020-06-19 19:26 Yungyu 阅读(1730) 评论(0) 推荐(0)
摘要:本文转载自动态代理方案性能对比 导语 因服务框架需要用动态代理生成客户端接口的stub,所以做了一下性能评测, 动态代理工具比较成熟的产品有: JDK自带的,ASM,CGLIB(基于ASM包装),JAVAASSIST, 使用的版本分别为: JDK-1.6.0_18-b07, ASM-3.3, CGL 阅读全文
posted @ 2020-06-19 15:03 Yungyu 阅读(327) 评论(0) 推荐(0)
摘要:本文转载自javassist 实现动态代理 导语 动态代理是指在运行时动态生成代理类。 常见的动态代理生成方式有: JDK动态代理 Apache BCEL (Byte Code Engineering Library):是Java classworking广泛使用的一种框架,它可以深入到JVM汇编语 阅读全文
posted @ 2020-06-19 14:15 Yungyu 阅读(290) 评论(0) 推荐(0)
摘要:本文转载自JVM 揭秘:一个 class 文件的前世今生 导语 引子:我们都知道,要运行一个包含 main 方法的 java 文件,首先要将其编译成 class 文件,然后加载 JVM 中,就可以运行了,但是这里存在一些疑问,比如编译之后的 class 文件中到底是什么东西呢?JVM 是如何执行 c 阅读全文
posted @ 2020-06-16 22:28 Yungyu 阅读(250) 评论(0) 推荐(0)
摘要:本文转载自Java SE7 虚拟机指令操作码助记符 #导语 在Class文件中,Java方法里的方法体,也就是代表着一个Java源码程序中程序的部分存储在方法表集合的Code属性中。存储在Code属性中的是字节码,也就是编译后的程序。Java虚拟机的指令由两部分组成,首先是一个字节长度、代表某种含义 阅读全文
posted @ 2020-06-16 19:56 Yungyu 阅读(222) 评论(0) 推荐(0)
摘要:本文转载自JDK源码阅读-ByteBuffer 导语 Buffer是Java NIO中对于缓冲区的封装。在Java BIO中,所有的读写API,都是直接使用byte数组作为缓冲区的,简单直接。但是在Java NIO中,缓冲区这一概念变得复杂,可能是对应Java堆中的一块内存,也可能是对应本地内存中的 阅读全文
posted @ 2020-06-06 11:17 Yungyu 阅读(242) 评论(0) 推荐(0)
摘要:本文转载自JDK源码阅读-RandomAccessFile 导语 FileInputStream只能用于读取文件,FileOutputStream只能用于写入文件,而对于同时读取文件,并且需要随意移动文件当前偏移量的话,就需要使用RandomAccessFile这个类了。RandomAccessFi 阅读全文
posted @ 2020-06-06 11:08 Yungyu 阅读(498) 评论(0) 推荐(0)
摘要:本文转载自JDK源码阅读-FileDescriptor 导语 操作系统使用文件描述符来指代一个打开的文件,对文件的读写操作,都需要文件描述符作为参数。Java虽然在设计上使用了抽象程度更高的流来作为文件操作的模型,但是底层依然要使用文件描述符与操作系统交互,而Java世界里文件描述符的对应类就是Fi 阅读全文
posted @ 2020-06-06 11:06 Yungyu 阅读(501) 评论(0) 推荐(0)
摘要:本文转载自JDK源码阅读-DirectByteBuffer 导语 在文章JDK源码阅读-ByteBuffer中,我们学习了ByteBuffer的设计。但是他是一个抽象类,真正的实现分为两类:HeapByteBuffer与DirectByteBuffer。HeapByteBuffer是堆内ByteBu 阅读全文
posted @ 2020-06-06 10:56 Yungyu 阅读(367) 评论(0) 推荐(0)