上一页 1 2 3 4 5 6 7 ··· 19 下一页
摘要: 前言 Java 程序调优是一个程序员必备的技能。 对象内存结构 对象头: Mark Word :32bit机 4B;64bit机 8B 是固定的。 类型指针:klass pointer,引用类型在方法区的地址。 开启指针压缩占4字节,不开启占8个字节。 数组长度:对象不是数组占0字节,对象是数组占4 阅读全文
posted @ 2021-02-09 16:42 加速丨世界 阅读(781) 评论(0) 推荐(0)
摘要: 前言 通过JDK原理来重新理解一遍Java内存模型,通过其他方式学习到,总会有错误或者遗漏的情况。 内存模型 Java常常被提到的4个概念: class文件:硬盘上的.class文件 class content:类加载器将.clas文件加载入内存,存储字节码文件数据的那块内存区域 Class对象:C 阅读全文
posted @ 2021-02-07 09:35 加速丨世界 阅读(195) 评论(0) 推荐(1)
摘要: 前言 我们在开发中会遇到一些Java的执行超出我们的想象,但是又不知道他为什么会这样执行,这个时候我们就需要能够知道他编译后Class文件是什么样子的,并且理解字节码的含义。 Java字节码的原理 进制 class文件就是字节码文件,直接是打不开,打开也是乱码,需要解析才能看明白里面的内容。 现在存 阅读全文
posted @ 2021-01-29 17:29 加速丨世界 阅读(718) 评论(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 加速丨世界 阅读(1299) 评论(0) 推荐(1)
摘要: 前言 一直想好好的了解一下JVM,这次就来一起了解一下JVM是如何实现类的加载过程的。 原理 类加载的生命周期 1. 加载 5种类加载情况: 在遇到 new、putstatic、getstatic、invokestatic 字节码指令时,如果类尚未初始化,则需要先触发初始化。 对类进行反射调用时,如 阅读全文
posted @ 2021-01-23 12:36 加速丨世界 阅读(355) 评论(0) 推荐(1)
摘要: 前言 工作中需要实现一种功能:动态加载类对象信息,简单说就是class变了Jvm能够立马知道并且加载到内存。 类加载器分类 Java类加载器分为两种,一种是加载启动类,另一种是其他类加载器。Java加载类的关系:Launcher 1. 启动类加载器(BootstrapClassLoader)。 Ja 阅读全文
posted @ 2021-01-21 23:07 加速丨世界 阅读(212) 评论(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 加速丨世界 阅读(145) 评论(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 加速丨世界 阅读(708) 评论(0) 推荐(0)
摘要: 前言 工作中经常需要动态生成Java对象进行操作。 下载 百度云链接: https://pan.baidu.com/s/1vqJvIg6zBWppNrB68OdfAw 提取码: t6qk 案例 public class CompilerDemo { public static void main(S 阅读全文
posted @ 2021-01-08 11:35 加速丨世界 阅读(287) 评论(0) 推荐(0)
摘要: 前言 为了方便我们查看Java 创建对象的情况,就出现对象诊断器 下载 百度网盘:链接: https://pan.baidu.com/s/1dGBwht7_iWyBALfRtbGM_A 提取码: ft9p 下载需要的Jar包 演示 public class LockDemo9 { public st 阅读全文
posted @ 2021-01-06 14:18 加速丨世界 阅读(952) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 19 下一页