文档章节

字节码中的两个方法<init>,<clinit>

L
 LIU-X1001
发布于 2015/10/16 18:08
字数 289
阅读 467
收藏 0

<init>方法

在JVM层面每一个构造方法都有一个特殊的名字叫<init>,这个名字是在编译器中就提供了的, 由于<init>不规范的java命名,所以我们在java代码里是没法直接使用的,一个实例的初始化方法在虚拟机中是通过调用invokespecial指令来完成的。

<clinit>方法

同样对于类或者接口的静态程序块,在JVM层面也给了他一个特殊的名字<clinit>,无论是类或者接口在被加载到class loader的时候,Java虚拟机都会调用这个类或接口的<clinit>的方法,这个方法是个无参的,返回类型为void方法,这个方法名也是编译器指定的,由于这个方法名并不是一个规范的方法名,所以我们无法在代码中直接使用。

说了这么多,其实读到这里只要记住两点:在字节码层面<init>表示构造方法,<clinit>表示静态程序块。

ref:The JavaTM Virtual Machine Specification(Second Edition) 3.9 Specially Named Initialization Methods


本文转载自:http://asmsupport.github.io/doc/0.4/bytecode/init_clinit.html

共有 人打赏支持
L
粉丝 1
博文 51
码字总数 1755
作品 0
入字节码 -- ASM 关键接口 MethodVisitor

本文是《 深入字节码 -- 使用 ASM 实现 AOP 》的后续博文。在上一篇文章中介绍了如何使用 ASM 动态安插代码到类中,从而简单实现 Aop。文章得到了广大朋友好评,我也希望可以不负众望继续写出...

beibugulf
2016/10/31
3
0
深入字节码 -- ASM 关键接口 MethodVisitor

本文是《深入字节码 -- 使用 ASM 实现 AOP》的后续博文。在上一篇文章中介绍了如何使用 ASM 动态安插代码到类中,从而简单实现 Aop。文章得到了广大朋友好评,我也希望可以不负众望继续写出可...

哈库纳
2014/04/08
0
11
【009】【JVM——类加载机制】

JVM——类加载机制 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载 7 个阶段。其中验证、准备、解析3个部分统称为连接...

俊超
2015/03/23
841
3
Java虚拟机类加载和执行机制

虚拟机的类加载和执行机制是虚拟机的最主要功能,在这里简单的对所知的内容进行一次温习,并记录以方便日后重温。 本篇主要引用《深入理解Java虚拟机——JVM高级特性与最佳实践》一书。 1、类...

forest13
2013/10/05
0
1
深入理解Java虚拟机-类文件结构及加载

系列阅读 1.深入理解Java虚拟机-GC&运行时数据区 2.深入理解Java虚拟机-类文件结构及加载 3.深入理解Java虚拟机-内存模型及多线程 1. JVM中立特性 平台无关性 java宣传口号为“一次编写,到处...

liaowenhao
2017/10/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

WePY 开发指南注意事项

**** 1 代码规范 **** 1 变量与方法尽量使用驼峰式命名,并且注意避免使用$ 开头的标识为Wepy框架的内建属性和方法,可在JavaScript 脚步可以this的方式直接使用。2 小程序入口,页面,...

舒龙虎
26分钟前
0
0
70:shell脚本中的逻辑判断(文件目录属性判断、if判断、case用法)

1、shell脚本中的逻辑判断语法: 格式1:if 条件 ; then 语句 ; fi 格式2:if 条件 ; then 语句; else 语句;fi 格式3:if 条件; then 语句;elif 条件;then 语句;else 语句;fi 逻辑...

芬野de博客
26分钟前
1
0
Java调用脚本并输出脚本返回数据

public class ExecuteSHFile {private static Logger logger = LoggerFactory.getLogger(ExecuteSHFile.class);public static String executeSHFile(String shutdown_path) throws ......

Aeroever
28分钟前
0
0
MySQL常见错误

###Ignoring query to other database 登录数据库时 没有在用户名前加-u

我是菜鸟我骄傲
28分钟前
1
0
mysql之explain分析

我是参考这篇文章的 https://my.oschina.net/ruoli/blog/1807394

求是科技
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部