A collection of tools for running and sharing small experiments with the Java™ language.
Binary and disassembled bytecode are presented with JVM instruction documentation.
Display disassembled bytecode and compiled native assembly code, analyze results using OpenAI/o4-mini model.
Supports x86_64 and ARM64 architectures and JDK versions 17 and 21.
Bracket positioning, indentation, whitespaces, import ordering and more...
Generate Eclipse and IntelliJ IDEA formatter and Checkstyle rule configuration from the detected code style.
Eclipse formatter or Checkstyle rule configuration can be used as style definition.
Eclipse formatter configuration file can be generated from Checkstyle rule configuration.
Verification against a provided Checkstyle rule configuration.
Compile
Compile Java code.Binary and disassembled bytecode are presented with JVM instruction documentation.
Benchmark
Run JMH benchmark.Display disassembled bytecode and compiled native assembly code, analyze results using OpenAI/o4-mini model.
Supports x86_64 and ARM64 architectures and JDK versions 17 and 21.
Detect Style
Detect code formatting style.Bracket positioning, indentation, whitespaces, import ordering and more...
Generate Eclipse and IntelliJ IDEA formatter and Checkstyle rule configuration from the detected code style.
Format
Reformat code.Eclipse formatter or Checkstyle rule configuration can be used as style definition.
Eclipse formatter configuration file can be generated from Checkstyle rule configuration.
Check Style
Verify code formatting.Verification against a provided Checkstyle rule configuration.
Compile
Compiles a single Java file and displays the disassembled bytecode. The binary bytecode is also displayed.| Input | Output |
|---|---|
| Java code (single file) | Disassembled bytecode |
| Binary bytecode |
Benchmark
Executes a JMH benchmark contained by a single Java file.Execution is performed using the AWS Lambda infrastructure.
For each run various CPU types (Intel, AMD, clock speed etc.) might be assigned by AWS Lambda so be careful when comparing the results of different executions.
Information about the execution environment (cpuinfo, meminfo) is provided under the Environment tab.
The JDK version, CPU architecture and allocated memory can be configured.
Increasing the amount of memory will also affect the computing power.
Check this StackOverflow question and AWS Lambda documentation for more details.
Disassembled bytecode and compiled native assembly code can be inspected under the Bytecode and Compiled tabs.
Results can be analyzed using the OpenAI/o4-mini model.
| Input | Output |
|---|---|
| Java code (single file) | Benchmark output |
| Benchmark result in JSON format | |
| Disassembled bytecode | |
| Compiled native assembly code | |
| Execution environment information | |
| Result analysis |
Detect Style
Detects the code formatting style of Java code.A single Java file, a Git repository or a Zip file can be provided for detection.
Checkstyle configuration XML will be generated as a result.
Also formatter configuration is generated for IntelliJ IDEA and Eclipse IDEs.
| Input | Output |
|---|---|
| Java code - Single file or - Git repository (URL)* or - Zip file* |
Checkstyle configuration XML |
| Eclipse code formatter configuration XML | |
| IntelliJ IDEA code formatter configuration XML |
*Requires access token
Supported Checks
The following Checkstyle Checks and Properties are recognized during the detection process:| Check | Property |
|---|---|
| AnnotationLocation | allowSamelineMultipleAnnotations allowSamelineParameterizedAnnotation allowSamelineSingleParameterlessAnnotation tokens |
| AnnotationOnSameLine | tokens |
| AnnotationUseStyle | closingParens elementStyle trailingArrayComma |
| ArrayTypeStyle | javaStyle |
| AvoidStarImport | allowClassImports allowStaticMemberImports |
| EmptyForInitializerPad | option |
| EmptyForIteratorPad | option |
| EmptyLineSeparator | allowMultipleEmptyLines allowMultipleEmptyLinesInsideClassMembers allowNoEmptyLineBetweenFields tokens |
| FileTabCharacter | - |
| FinalParameters | ignorePrimitiveTypes tokens |
| ImportOrder | option groups ordered separated staticGroups sortStaticImportsAlphabetically separatedStaticGroups |
| Indentation | arrayInitIndent basicOffset braceAdjustment caseIndent lineWrappingIndentation throwsIndent |
| LeftCurly | ignoreEnums option tokens |
| MethodParamPad | allowLineBreaks option tokens |
| NeedBraces | allowEmptyLoopBody allowSingleLineStatement tokens |
| NoWhitespaceAfter | allowLineBreaks tokens |
| NoWhitespaceBefore | allowLineBreaks tokens |
| NoWhitespaceBeforeCaseDefaultColon | - |
| OneStatementPerLine | - |
| OperatorWrap | option tokens |
| ParenPad | option tokens |
| RequireThis | checkFields checkMethods |
| RightCurly | option tokens |
| SeparatorWrap | option tokens |
| TypecastParenPad | option |
| UpperEll | - |
| WhitespaceAfter | tokens |
| WhitespaceAround | allowEmptyCatches allowEmptyConstructors allowEmptyLambdas allowEmptyLoops allowEmptyMethods allowEmptyTypes ignoreEnhancedForColon tokens |
Format
Applies code formatting style to a single Java file.The code style used for formatting can be specified by an Eclipse code formatter or a Checkstyle configuration file.
If Checkstyle configuration is provided, the Eclipse formatter configuration will be generated.
| Input | Output |
|---|---|
| Java code (single file) | Formatted Java file |
| Style configuration - Checkstyle configuration XML or - Eclipse code formatter configuration XML |
Eclipse code formatter configuration XML |
Check Style
Executes a Checkstyle analysis against a single Java file.| Input | Output |
|---|---|
| Java code (single file) | Checkstyle result XML |
| Checkstyle configuration XML |
Attribution
Detection is done by abusing a slightly modified fork of Checkstyle version 10.21.2.Benchmark is performed using JMH version 1.37.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
Privacy
All processing is done on backend side.All data is stored for an indefinite period of time for debugging purposes.
The service is not intended to be used with confidential data at this moment.
Plans
| Free | Pro |
|
|---|---|---|
| Access token required | | |
| Compile | ||
| Decompiled bytecode | | |
| Binary bytecode | | |
| Benchmark | ||
| x86 architecture | | |
| ARM architecture | | |
| Memory | 1024 MB | 4096 MB |
| JDK 17 | | |
| JDK 21 | | |
| Analyze results | | |
| Timeout | 2 minutes | 15 minutes |
| Detect Style | ||
| Single Java file | | |
| Zip file | | |
| Git repository | | |
| Format | ||
| Using Checkstyle config | | |
| Using Eclipse formatter config | | |
| Generate Eclipse config | | |
| Check Style | ||
| Single Java file | | |
Git Repository URL
E.g. https://github.com/apache/commons-io.git
E.g. https://github.com/apache/commons-io.git
Zip File
Warning!
Content will be sent to and analyzed by a backend service and may be stored for debugging purposes.
Content will be sent to and analyzed by a backend service and may be stored for debugging purposes.