热替换

类加载器ClassLoader-2

南楼画角 提交于 2020-04-07 04:13:27
类装载器 大纲: n class装载验证流程 n 什么是类装载器ClassLoader n JDK中ClassLoader默认设计模式 n 打破常规模式 n 热替换 class装载验证流程: n 加载 n 链接 – 验证 – 准备 – 解析 n 初始化 加载 n 装载类的第一个阶段 n 取得类的二进制流 [z1] n 转为方法区数据结构 n 在 Java 堆中生成对应的 java.lang.Class 对象 链接 验证 n 链接 -> 验证 – 目的: 保证 Class 流的格式是正确的 文件格式的验证 n 是否以 0xCAFEBABE 开头 n 版本号是否合理 元数据验证 n 是否有父类 n 继承了 final 类? n 非抽象类实现了所有的抽象方法 1, 什么是元数据: 举例: 任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据 ,而 元数据指用来描述一个文件的特征的系统数据 , 诸如访问权限、文件拥有者以及文件数据块的分布信息 (inode...) 等等。 在集群文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在集群中的位置。 用户需要操作一个文件必须首先得到它的元数据 , 才能定位到文件的位置并且得到文件的内容或相关属性。 2, 元数据最大的好处是 , 它使信息的描述和分类可以实现格式化 , 从而为机器处理创造了可能。 3, 元数据概念:

让Spring Boot完美融合Groovy作为可热替换的Bean实现步骤

試著忘記壹切 提交于 2019-12-21 15:59:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 修改 build.gradle 文件 用 apply plugin: 'groovy' 替换掉 apply plugin: 'java' 2. 编写java接口类 在 src\main\java\ 目录下 例如: src\main\java\wjw\test\springboot\service\IUserService.java package wjw.test.springboot.service; public interface IUserService { public String getUser(); } 3. 编写Groovy实现类 在 src\main\webapp\WEB-INF\groovy\ 目录下 例如: src\main\webapp\WEB-INF\groovy\service\UserServiceImpl.groovy package groovy.service import wjw.test.springboot.service.IUserService class UserServiceImpl implements IUserService { public String getUser() { return "你好,世界,Groovy Spring Boot!"