⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 constants.java

📁 Java Bytecode Editor 是一个 JAVA 的字节码反汇编和修改器。它可以很方便的修改已经编译成 Class 文件的 JAVA 文件。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package org.apache.bcel;

/* ====================================================================
 * The Apache Software License, Version 1.1
 *
 * Copyright (c) 2001 The Apache Software Foundation.  All rights
 * reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution,
 *    if any, must include the following acknowledgment:
 *       "This product includes software developed by the
 *        Apache Software Foundation (http://www.apache.org/)."
 *    Alternately, this acknowledgment may appear in the software itself,
 *    if and wherever such third-party acknowledgments normally appear.
 *
 * 4. The names "Apache" and "Apache Software Foundation" and
 *    "Apache BCEL" must not be used to endorse or promote products
 *    derived from this software without prior written permission. For
 *    written permission, please contact apache@apache.org.
 *
 * 5. Products derived from this software may not be called "Apache",
 *    "Apache BCEL", nor may "Apache" appear in their name, without
 *    prior written permission of the Apache Software Foundation.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * <http://www.apache.org/>.
 */

/**
 * Constants for the project, mostly defined in the JVM specification.
 *
 * @version $Id: Constants.java,v 1.1 2005/12/16 14:11:24 andos Exp $
 * @author  <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
 */
public interface Constants {
  /** Major and minor version of the code.
   */
  public final static short MAJOR_1_1 = 45;
  public final static short MINOR_1_1 = 3;
  public final static short MAJOR_1_2 = 46;
  public final static short MINOR_1_2 = 0;
  public final static short MAJOR_1_3 = 47;
  public final static short MINOR_1_3 = 0;
  public final static short MAJOR     = MAJOR_1_1; // Defaults
  public final static short MINOR     = MINOR_1_1;

  /** Maximum value for an unsigned short.
   */
  public final static int MAX_SHORT = 65535; // 2^16 - 1

  /** Maximum value for an unsigned byte.
   */
  public final static int MAX_BYTE  = 255; // 2^8 - 1

  /** Access flags for classes, fields and methods.
   */
  public final static short ACC_PUBLIC       = 0x0001;
  public final static short ACC_PRIVATE      = 0x0002;
  public final static short ACC_PROTECTED    = 0x0004;
  public final static short ACC_STATIC       = 0x0008;

  public final static short ACC_FINAL        = 0x0010;
  public final static short ACC_SYNCHRONIZED = 0x0020;
  public final static short ACC_VOLATILE     = 0x0040;
  public final static short ACC_TRANSIENT    = 0x0080;

  public final static short ACC_NATIVE       = 0x0100;
  public final static short ACC_INTERFACE    = 0x0200;
  public final static short ACC_ABSTRACT     = 0x0400;
  public final static short ACC_STRICT       = 0x0800;

  // Applies to classes compiled by new compilers only
  public final static short ACC_SUPER        = 0x0020;

  public final static short MAX_ACC_FLAG     = ACC_STRICT;

  public final static String[] ACCESS_NAMES = {
    "public", "private", "protected", "static", "final", "synchronized",
    "volatile", "transient", "native", "interface", "abstract", "strictfp"
  };

  /** Tags in constant pool to denote type of constant.
   */
  public final static byte CONSTANT_Utf8               = 1;
  public final static byte CONSTANT_Integer            = 3;
  public final static byte CONSTANT_Float              = 4;
  public final static byte CONSTANT_Long               = 5;
  public final static byte CONSTANT_Double             = 6;
  public final static byte CONSTANT_Class              = 7;
  public final static byte CONSTANT_Fieldref           = 9;
  public final static byte CONSTANT_String             = 8;
  public final static byte CONSTANT_Methodref          = 10;
  public final static byte CONSTANT_InterfaceMethodref = 11;
  public final static byte CONSTANT_NameAndType        = 12;

  public final static String[] CONSTANT_NAMES = {
    "", "CONSTANT_Utf8", "", "CONSTANT_Integer",
    "CONSTANT_Float", "CONSTANT_Long", "CONSTANT_Double",
    "CONSTANT_Class", "CONSTANT_String", "CONSTANT_Fieldref",
    "CONSTANT_Methodref", "CONSTANT_InterfaceMethodref",
    "CONSTANT_NameAndType" };

  /** The name of the static initializer, also called &quot;class
   *  initialization method&quot; or &quot;interface initialization
   *   method&quot;. This is &quot;&lt;clinit&gt;&quot;.
   */
  public final static String STATIC_INITIALIZER_NAME = "<clinit>";

  /** The name of every constructor method in a class, also called
   * &quot;instance initialization method&quot;. This is &quot;&lt;init&gt;&quot;.
   */
  public final static String CONSTRUCTOR_NAME = "<init>";

  /** The names of the interfaces implemented by arrays */
  public final static String[] INTERFACES_IMPLEMENTED_BY_ARRAYS = {"java.lang.Cloneable", "java.io.Serializable"};

  /**
   * Limitations of the Java Virtual Machine.
   * See The Java Virtual Machine Specification, Second Edition, page 152, chapter 4.10.
   */
  public static final int MAX_CP_ENTRIES     = 65535;
  public static final int MAX_CODE_SIZE      = 65536; //bytes

  /** Java VM opcodes.
   */
  public static final short NOP              = 0;
  public static final short ACONST_NULL      = 1;
  public static final short ICONST_M1        = 2;
  public static final short ICONST_0         = 3;
  public static final short ICONST_1         = 4;
  public static final short ICONST_2         = 5;
  public static final short ICONST_3         = 6;
  public static final short ICONST_4         = 7;
  public static final short ICONST_5         = 8;
  public static final short LCONST_0         = 9;
  public static final short LCONST_1         = 10;
  public static final short FCONST_0         = 11;
  public static final short FCONST_1         = 12;
  public static final short FCONST_2         = 13;
  public static final short DCONST_0         = 14;
  public static final short DCONST_1         = 15;
  public static final short BIPUSH           = 16;
  public static final short SIPUSH           = 17;
  public static final short LDC              = 18;
  public static final short LDC_W            = 19;
  public static final short LDC2_W           = 20;
  public static final short ILOAD            = 21;
  public static final short LLOAD            = 22;
  public static final short FLOAD            = 23;
  public static final short DLOAD            = 24;
  public static final short ALOAD            = 25;
  public static final short ILOAD_0          = 26;
  public static final short ILOAD_1          = 27;
  public static final short ILOAD_2          = 28;
  public static final short ILOAD_3          = 29;
  public static final short LLOAD_0          = 30;
  public static final short LLOAD_1          = 31;
  public static final short LLOAD_2          = 32;
  public static final short LLOAD_3          = 33;
  public static final short FLOAD_0          = 34;
  public static final short FLOAD_1          = 35;
  public static final short FLOAD_2          = 36;
  public static final short FLOAD_3          = 37;
  public static final short DLOAD_0          = 38;
  public static final short DLOAD_1          = 39;
  public static final short DLOAD_2          = 40;
  public static final short DLOAD_3          = 41;
  public static final short ALOAD_0          = 42;
  public static final short ALOAD_1          = 43;
  public static final short ALOAD_2          = 44;
  public static final short ALOAD_3          = 45;
  public static final short IALOAD           = 46;
  public static final short LALOAD           = 47;
  public static final short FALOAD           = 48;
  public static final short DALOAD           = 49;
  public static final short AALOAD           = 50;
  public static final short BALOAD           = 51;
  public static final short CALOAD           = 52;
  public static final short SALOAD           = 53;
  public static final short ISTORE           = 54;
  public static final short LSTORE           = 55;
  public static final short FSTORE           = 56;
  public static final short DSTORE           = 57;
  public static final short ASTORE           = 58;
  public static final short ISTORE_0         = 59;
  public static final short ISTORE_1         = 60;
  public static final short ISTORE_2         = 61;
  public static final short ISTORE_3         = 62;
  public static final short LSTORE_0         = 63;
  public static final short LSTORE_1         = 64;
  public static final short LSTORE_2         = 65;
  public static final short LSTORE_3         = 66;
  public static final short FSTORE_0         = 67;
  public static final short FSTORE_1         = 68;
  public static final short FSTORE_2         = 69;
  public static final short FSTORE_3         = 70;
  public static final short DSTORE_0         = 71;
  public static final short DSTORE_1         = 72;
  public static final short DSTORE_2         = 73;
  public static final short DSTORE_3         = 74;
  public static final short ASTORE_0         = 75;
  public static final short ASTORE_1         = 76;
  public static final short ASTORE_2         = 77;
  public static final short ASTORE_3         = 78;
  public static final short IASTORE          = 79;
  public static final short LASTORE          = 80;
  public static final short FASTORE          = 81;
  public static final short DASTORE          = 82;
  public static final short AASTORE          = 83;
  public static final short BASTORE          = 84;
  public static final short CASTORE          = 85;
  public static final short SASTORE          = 86;
  public static final short POP              = 87;
  public static final short POP2             = 88;
  public static final short DUP              = 89;
  public static final short DUP_X1           = 90;
  public static final short DUP_X2           = 91;
  public static final short DUP2             = 92;
  public static final short DUP2_X1          = 93;
  public static final short DUP2_X2          = 94;
  public static final short SWAP             = 95;
  public static final short IADD             = 96;
  public static final short LADD             = 97;
  public static final short FADD             = 98;
  public static final short DADD             = 99;
  public static final short ISUB             = 100;
  public static final short LSUB             = 101;
  public static final short FSUB             = 102;
  public static final short DSUB             = 103;
  public static final short IMUL             = 104;
  public static final short LMUL             = 105;
  public static final short FMUL             = 106;
  public static final short DMUL             = 107;
  public static final short IDIV             = 108;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -