Code Monkey home page Code Monkey logo

jclasslib's Introduction

jclasslib bytecode viewer

Purpose

jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. In addition, it contains a library that enables developers to read and write Java class files and bytecode.

License

jclasslib bytecode viewer is released under the GPL, Version 2.0.

Download

Installers can be downloaded from bintray.

Changes in 4.3.1

Bug fixes

Regression: NOP opcodes broke the bytecode display

Changes in 4.3

Features

  • Improved display of CONSTANT_InvokeDynamic_info, now links into BootstrapMethods attribute
  • Improved display of BootstrapMethods attribute, now displays single table with all attributes

Changes in 4.2

Features

Support for runtime type annotations. All Java 8 class file attributes are now displayed.

Bug fixes

When an opening a class file did not succeed, the internal frame was in an undefined state

Changes in 4.1

Features

New attributes: StackMapTable, BootstrapMethods, MethodParameters, RuntimeParameterAnnotations

Bug fixes

Writing was broken for certain attributes containing annotations

Changes in 4.0

Features

  • Support for Java 8 (class files compiled with -target 1.8)
  • Show major class file version as verbose text in the "General information"
  • Added display for CONSTANT_MethodHandle_info and CONSTANT_MethodType_info constant pool entries
  • File extension handling for .class and .jcw files
  • Dragging .class and .jcw files into the main window will open them
  • Code base was changed to use Java language features up to Java 6. Opcodes and access flags are now implemented as enums instead of interfaces. This has caused some incompatible changes to the API.

Bug fixes

  • The iinc instruction was read incorrectly for negative arguments
  • The CONSTANT_InvokeDynamic_info constant pool entry was missing

Changes in 3.1

Features

  • Support for Java 7 (class files compiled with -target 1.7)
  • Windows 7 compatible installers and launchers
  • The detail panels for "Fields" and "Methods" now have "Copy to clipboard" buttons to copy all signatures to the system clipboard
  • At the bottom of the bytecode display there is now a drop-down list with all used opcodes and a button to show the corresponding official documentation in the Java language specification
  • Offsets are now verified and invalid branch instructions are tagged in the bytecode display

Bug fixes

  • Wide branch instructions were not displayed correctly in the bytecode
  • Negative values of bipush instruction were printed as 256-value

Changes in 3.0

This release brings full compatibility with Java 1.5

  • Displays new access flags in Java 1.5:
    • ACC_ENUM
    • ACC_ANNOTATION
    • ACC_BRIDGE
    • ACC_VARARGS
  • Displays new attributes in Java 1.5:
    • RuntimeVisibleAnnotations
    • RuntimeInvisibleAnnotations
    • RuntimeVisibleParameterAnnotations
    • RuntimeInvisibleParameterAnnotations
    • EnclosingMethod
    • Signature
    • LocalVariableTypeTable
    • Various bug fixes in the GUI

jclasslib's People

Contributors

ingokegel avatar minsko avatar kegelh avatar

Watchers

terryliu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.