#
# sample small-but-valid classfile
#

cafe babe  # magic
0000       # minor_version
002e       # major_version
000a       # constant_pool_count

#
# constant_pool
#
07 0003                    # 0001: class[Small]
07 0004                    # 0002: class[java/lang/Object]
01 0005 "Small"            # 0003: utf8["Small"]
01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"]
01 0005 "blort"            # 0005: utf8["blort"]
01 0003 "()V"              # 0006: utf8["()V"]
01 000a "Exceptions"       # 0007: utf8["Exceptions"]
01 000f "java/lang/Error"  # 0008: utf8["java/lang/Error"]
07 0008                    # 0009: class[java/lang/Error]

0001  # access_flags
0001  # this_class
0002  # super_class
0000  # interfaces_count
0000  # fields_count
0001  # methods_count

# methods[0]
0401  # access_flags
0005  # name
0006  # descriptor
0001  # attributes_count
# attributes[0]
0007      # name
00000004  # length
0001      # number_of_exceptions
0009      # class[java/lang/Error]

0000  # attributes_count
