01 2021 档案

摘要:前言 我们在开发中会遇到一些Java的执行超出我们的想象,但是又不知道他为什么会这样执行,这个时候我们就需要能够知道他编译后Class文件是什么样子的,并且理解字节码的含义。 Java字节码的原理 进制 class文件就是字节码文件,直接是打不开,打开也是乱码,需要解析才能看明白里面的内容。 现在存 阅读全文
posted @ 2021-01-29 17:29 加速丨世界 阅读(627) 评论(0) 推荐(0) 编辑
摘要:前言 Java对象信息对开发者来说并不是透明的,需要借助工具来更好查询对象的运行情况,这里我们带来HSDB工具。 演示 打开工具过程 1. 工具是JDK自带的:目录:jdk1.8.0_191\lib\sa-jdi.jar。 2. 使用cmd,并且切换到Jar所在目录:C:\Program Files 阅读全文
posted @ 2021-01-24 21:34 加速丨世界 阅读(1174) 评论(0) 推荐(1) 编辑
摘要:前言 一直想好好的了解一下JVM,这次就来一起了解一下JVM是如何实现类的加载过程的。 原理 类加载的生命周期 1. 加载 5种类加载情况: 在遇到 new、putstatic、getstatic、invokestatic 字节码指令时,如果类尚未初始化,则需要先触发初始化。 对类进行反射调用时,如 阅读全文
posted @ 2021-01-23 12:36 加速丨世界 阅读(320) 评论(0) 推荐(1) 编辑
摘要:前言 工作中需要实现一种功能:动态加载类对象信息,简单说就是class变了Jvm能够立马知道并且加载到内存。 类加载器分类 Java类加载器分为两种,一种是加载启动类,另一种是其他类加载器。Java加载类的关系:Launcher 1. 启动类加载器(BootstrapClassLoader)。 Ja 阅读全文
posted @ 2021-01-21 23:07 加速丨世界 阅读(188) 评论(0) 推荐(0) 编辑
摘要:一、JVM 指令分类 (1)操作数栈 过程符号 变量到操作数栈 iload, iload_, lload, lload_, fload, fload_, dload, dload_, aload, aload_ 操作数栈到变量 istore, istore_, lstore, lstore_, fs 阅读全文
posted @ 2021-01-15 21:52 加速丨世界 阅读(111) 评论(0) 推荐(0) 编辑
摘要:前言 工作上遇到需要解析Jar包的情况,需要将Jar包里面的类文件获取出来,然后动态调用。 案例 import java.io.File; import java.lang.annotation.Annotation; import java.lang.reflect.Method; import 阅读全文
posted @ 2021-01-14 20:38 加速丨世界 阅读(664) 评论(0) 推荐(0) 编辑
摘要:前言 工作中经常需要动态生成Java对象进行操作。 下载 百度云链接: https://pan.baidu.com/s/1vqJvIg6zBWppNrB68OdfAw 提取码: t6qk 案例 public class CompilerDemo { public static void main(S 阅读全文
posted @ 2021-01-08 11:35 加速丨世界 阅读(256) 评论(0) 推荐(0) 编辑
摘要:前言 为了方便我们查看Java 创建对象的情况,就出现对象诊断器 下载 百度网盘:链接: https://pan.baidu.com/s/1dGBwht7_iWyBALfRtbGM_A 提取码: ft9p 下载需要的Jar包 演示 public class LockDemo9 { public st 阅读全文
posted @ 2021-01-06 14:18 加速丨世界 阅读(934) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示