
深入Java虚拟机
文章平均质量分 95
听到微笑
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM Sandbox入门详解
在日常开发中,经常会接触到面向AOP编程的思想,我们通常会使用Spring AOP来做统一的权限认证、异常捕获返回、日志记录等工作。之所以使用Spring AOP来实现上述功能,是因为这些场景本质上来说都是与业务场景挂钩的,但是具有一定的抽象程度,并且绝大多数业务逻辑类都已经被Spring容器托管了。原创 2023-05-27 21:36:53 · 12420 阅读 · 0 评论 -
自定义类加载器实现字节码文件的加密
标准的字节码文件是可以被反编译: 但我们可以对User.class文件进行加密: package _day05._01自定义类加载器; import java.io.*; /** * 加密工具类,对文件进行加密(对每个字节进行异或运算)。 * 异或运算的性质:一个数与一个基数异或两次后保持不变 * 例: * a2 = a1^base * a3 = a2^base * 在执行两次...原创 2020-02-13 11:23:14 · 674 阅读 · 0 评论 -
深入理解类加载器
一. 到底什么是类加载器 首先我们要明确一点,“类加载”、"加载"以及"类加载器"三个名词概念的区别:首先需要明确的是**“加载”(Loading)阶段是“类加载”(Class Loading)过程的一个阶段**。 而加载阶段主要完成下面两个工作: 通过一个类的全限定名称来获取定义此类的二进制字节流。 将这个字节流所代表的的静态存储结构转化为方法区的运行时数据结构。 虚拟机设计团队把类加载阶...原创 2020-02-13 11:16:04 · 407 阅读 · 0 评论 -
类的加载时机
类的加载时机 运行在Java虚拟机之上的语言,比如Java、Scala、Groovy、JRuby等,会被各自的编辑器编译为Class文件,这些Class文件需要被加载进Java虚拟机才能运行。 类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载7个阶段。其中验证、准备、解析3个部分统称为连接。 加载、验证、准备、初始化和卸载这5个阶段的...原创 2020-02-13 11:06:31 · 232 阅读 · 0 评论