Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Display
Layout
Split
Unified
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Diff precision
Smart
Syntax
None
Change appearance
Process
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
item42
Created
4 years ago
Diff never expires
Clear
Export
Share
Explain
13 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
66 lines
Copy
52 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
96 lines
Copy
// class version 55.0 (55)
// class version 55.0 (55)
// access flags 0x21
// access flags 0x21
Copy
Copied
Copy
Copied
public class com/okeydokey/study/effectivejava/item42/Test
{
public class com/okeydokey/study/effectivejava/item42/Test
2
{
Copy
Copied
Copy
Copied
// compiled from: Test
.java
// compiled from: Test
2
.java
NESTMEMBER com/okeydokey/study/effectivejava/item42/Test$1
// access flags
0x19
// access flags
0x0
public final static
INNERCLASS
java/lang/invoke/MethodHandles$Lookup java/lang/invoke/MethodHandles Lookup
INNERCLASS
com/okeydokey/study/effectivejava/item42/Test$1 null null
// access flags 0x12
// access flags 0x12
private final I value = 100
private final I value = 100
// access flags 0x1
// access flags 0x1
public Lcom/okeydokey/study/effectivejava/item42/LambdaTest; test
public Lcom/okeydokey/study/effectivejava/item42/LambdaTest; test
// access flags 0x1
// access flags 0x1
public <init>()V
public <init>()V
L0
L0
LINENUMBER 3 L0
LINENUMBER 3 L0
ALOAD 0
ALOAD 0
INVOKESPECIAL java/lang/Object.<init> ()V
INVOKESPECIAL java/lang/Object.<init> ()V
L1
L1
LINENUMBER 4 L1
LINENUMBER 4 L1
ALOAD 0
ALOAD 0
BIPUSH 100
BIPUSH 100
Copy
Copied
Copy
Copied
PUTFIELD com/okeydokey/study/effectivejava/item42/Test
.value : I
PUTFIELD com/okeydokey/study/effectivejava/item42/Test
2
.value : I
L2
L2
LINENUMBER 5 L2
LINENUMBER 5 L2
ALOAD 0
ALOAD 0
Copy
Copied
Copy
Copied
NEW com/okeydokey/study/effectivejava/item42/Test$1
DUP
ALOAD 0
ALOAD 0
Copy
Copied
Copy
Copied
INVOKESPECIAL
com/okeydokey/study/effectivejava/item42/Test
$1.<init> (
Lcom/okeydokey/study/effectivejava/item42/
Test;)V
INVOKEDYNAMIC getValue(L
com/okeydokey/study/effectivejava/item42/Test
2;)
Lcom/okeydokey/study/effectivejava/item42/
LambdaTest; [
PUTFIELD com/okeydokey/study/effectivejava/item42/Test
.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest;
// handle kind 0x6 : INVOKESTATIC
java/lang/invoke/LambdaMetafactory.metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
// arguments:
()Ljava/lang/String;,
// handle kind 0x7 : INVOKESPECIAL
com/okeydokey/study/effectivejava/item42/Test2.lambda$new$0()Ljava/lang/String;,
()Ljava/lang/String;
]
PUTFIELD com/okeydokey/study/effectivejava/item42/Test
2
.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest;
RETURN
RETURN
L3
L3
Copy
Copied
Copy
Copied
LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test
; L0 L3 0
LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test
2
; L0 L3 0
MAXSTACK =
4
MAXSTACK =
2
MAXLOCALS = 1
MAXLOCALS = 1
// access flags 0x9
// access flags 0x9
public static main([Ljava/lang/String;)V
public static main([Ljava/lang/String;)V
// parameter args
// parameter args
L0
L0
Copy
Copied
Copy
Copied
LINENUMBER
14
L0
LINENUMBER
11
L0
NEW com/okeydokey/study/effectivejava/item42/Test
NEW com/okeydokey/study/effectivejava/item42/Test
2
DUP
DUP
Copy
Copied
Copy
Copied
INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test
.<init> ()V
INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test
2
.<init> ()V
ASTORE 1
ASTORE 1
L1
L1
Copy
Copied
Copy
Copied
LINENUMBER
15
L1
LINENUMBER
12
L1
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
ALOAD 1
ALOAD 1
Copy
Copied
Copy
Copied
GETFIELD com/okeydokey/study/effectivejava/item42/Test
.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest;
GETFIELD com/okeydokey/study/effectivejava/item42/Test
2
.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest;
INVOKEINTERFACE com/okeydokey/study/effectivejava/item42/LambdaTest.getValue ()Ljava/lang/String; (itf)
INVOKEINTERFACE com/okeydokey/study/effectivejava/item42/LambdaTest.getValue ()Ljava/lang/String; (itf)
INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
L2
L2
Copy
Copied
Copy
Copied
LINENUMBER
16
L2
LINENUMBER
13
L2
RETURN
RETURN
L3
L3
LOCALVARIABLE args [Ljava/lang/String; L0 L3 0
LOCALVARIABLE args [Ljava/lang/String; L0 L3 0
Copy
Copied
Copy
Copied
LOCALVARIABLE test Lcom/okeydokey/study/effectivejava/item42/Test
; L1 L3 1
LOCALVARIABLE test Lcom/okeydokey/study/effectivejava/item42/Test
2
; L1 L3 1
MAXSTACK = 2
MAXSTACK = 2
MAXLOCALS = 2
MAXLOCALS = 2
Copy
Copied
Copy
Copied
// access flags 0x1002
private synthetic lambda$new$0()Ljava/lang/String;
L0
LINENUMBER 6 L0
SIPUSH 200
ISTORE 1
L1
LINENUMBER 7 L1
ALOAD 0
INVOKESTATIC java/util/Objects.requireNonNull (Ljava/lang/Object;)Ljava/lang/Object;
POP
BIPUSH 100
INVOKEDYNAMIC makeConcatWithConstants(I)Ljava/lang/String; [
// handle kind 0x6 : INVOKESTATIC
java/lang/invoke/StringConcatFactory.makeConcatWithConstants(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
// arguments:
"value\ub294? \u0001"
]
ARETURN
L2
LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test2; L0 L2 0
LOCALVARIABLE value I L1 L2 1
MAXSTACK = 1
MAXLOCALS = 2
}
}
Saved diffs
Original text
Open file
// class version 55.0 (55) // access flags 0x21 public class com/okeydokey/study/effectivejava/item42/Test { // compiled from: Test.java NESTMEMBER com/okeydokey/study/effectivejava/item42/Test$1 // access flags 0x0 INNERCLASS com/okeydokey/study/effectivejava/item42/Test$1 null null // access flags 0x12 private final I value = 100 // access flags 0x1 public Lcom/okeydokey/study/effectivejava/item42/LambdaTest; test // access flags 0x1 public <init>()V L0 LINENUMBER 3 L0 ALOAD 0 INVOKESPECIAL java/lang/Object.<init> ()V L1 LINENUMBER 4 L1 ALOAD 0 BIPUSH 100 PUTFIELD com/okeydokey/study/effectivejava/item42/Test.value : I L2 LINENUMBER 5 L2 ALOAD 0 NEW com/okeydokey/study/effectivejava/item42/Test$1 DUP ALOAD 0 INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test$1.<init> (Lcom/okeydokey/study/effectivejava/item42/Test;)V PUTFIELD com/okeydokey/study/effectivejava/item42/Test.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest; RETURN L3 LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test; L0 L3 0 MAXSTACK = 4 MAXLOCALS = 1 // access flags 0x9 public static main([Ljava/lang/String;)V // parameter args L0 LINENUMBER 14 L0 NEW com/okeydokey/study/effectivejava/item42/Test DUP INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test.<init> ()V ASTORE 1 L1 LINENUMBER 15 L1 GETSTATIC java/lang/System.out : Ljava/io/PrintStream; ALOAD 1 GETFIELD com/okeydokey/study/effectivejava/item42/Test.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest; INVOKEINTERFACE com/okeydokey/study/effectivejava/item42/LambdaTest.getValue ()Ljava/lang/String; (itf) INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V L2 LINENUMBER 16 L2 RETURN L3 LOCALVARIABLE args [Ljava/lang/String; L0 L3 0 LOCALVARIABLE test Lcom/okeydokey/study/effectivejava/item42/Test; L1 L3 1 MAXSTACK = 2 MAXLOCALS = 2 }
Changed text
Open file
// class version 55.0 (55) // access flags 0x21 public class com/okeydokey/study/effectivejava/item42/Test2 { // compiled from: Test2.java // access flags 0x19 public final static INNERCLASS java/lang/invoke/MethodHandles$Lookup java/lang/invoke/MethodHandles Lookup // access flags 0x12 private final I value = 100 // access flags 0x1 public Lcom/okeydokey/study/effectivejava/item42/LambdaTest; test // access flags 0x1 public <init>()V L0 LINENUMBER 3 L0 ALOAD 0 INVOKESPECIAL java/lang/Object.<init> ()V L1 LINENUMBER 4 L1 ALOAD 0 BIPUSH 100 PUTFIELD com/okeydokey/study/effectivejava/item42/Test2.value : I L2 LINENUMBER 5 L2 ALOAD 0 ALOAD 0 INVOKEDYNAMIC getValue(Lcom/okeydokey/study/effectivejava/item42/Test2;)Lcom/okeydokey/study/effectivejava/item42/LambdaTest; [ // handle kind 0x6 : INVOKESTATIC java/lang/invoke/LambdaMetafactory.metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; // arguments: ()Ljava/lang/String;, // handle kind 0x7 : INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test2.lambda$new$0()Ljava/lang/String;, ()Ljava/lang/String; ] PUTFIELD com/okeydokey/study/effectivejava/item42/Test2.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest; RETURN L3 LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test2; L0 L3 0 MAXSTACK = 2 MAXLOCALS = 1 // access flags 0x9 public static main([Ljava/lang/String;)V // parameter args L0 LINENUMBER 11 L0 NEW com/okeydokey/study/effectivejava/item42/Test2 DUP INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test2.<init> ()V ASTORE 1 L1 LINENUMBER 12 L1 GETSTATIC java/lang/System.out : Ljava/io/PrintStream; ALOAD 1 GETFIELD com/okeydokey/study/effectivejava/item42/Test2.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest; INVOKEINTERFACE com/okeydokey/study/effectivejava/item42/LambdaTest.getValue ()Ljava/lang/String; (itf) INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V L2 LINENUMBER 13 L2 RETURN L3 LOCALVARIABLE args [Ljava/lang/String; L0 L3 0 LOCALVARIABLE test Lcom/okeydokey/study/effectivejava/item42/Test2; L1 L3 1 MAXSTACK = 2 MAXLOCALS = 2 // access flags 0x1002 private synthetic lambda$new$0()Ljava/lang/String; L0 LINENUMBER 6 L0 SIPUSH 200 ISTORE 1 L1 LINENUMBER 7 L1 ALOAD 0 INVOKESTATIC java/util/Objects.requireNonNull (Ljava/lang/Object;)Ljava/lang/Object; POP BIPUSH 100 INVOKEDYNAMIC makeConcatWithConstants(I)Ljava/lang/String; [ // handle kind 0x6 : INVOKESTATIC java/lang/invoke/StringConcatFactory.makeConcatWithConstants(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; // arguments: "value\ub294? \u0001" ] ARETURN L2 LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test2; L0 L2 0 LOCALVARIABLE value I L1 L2 1 MAXSTACK = 1 MAXLOCALS = 2 }
Find difference