public class java.util.logging.FileHandler extends java.util.logging.StreamHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.logging.FileHandler
super_class: java.util.logging.StreamHandler
{
private java.util.logging.FileHandler$MeteredStream meter;
descriptor: Ljava/util/logging/FileHandler$MeteredStream;
flags: (0x0002) ACC_PRIVATE
private boolean append;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long limit;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int count;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String pattern;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String lockFileName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.nio.channels.FileChannel lockFileChannel;
descriptor: Ljava/nio/channels/FileChannel;
flags: (0x0002) ACC_PRIVATE
private java.io.File[] files;
descriptor: [Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private static final int MAX_LOCKS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private int maxLocks;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final java.util.Set<java.lang.String> locks;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Ljava/util/logging/FileHandler;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.util.logging.FileHandler.$assertionsDisabled:Z
3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
return
LocalVariableTable:
Start End Slot Name Signature
private void open(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: lconst_0
lstore 3
start local 3 1: iload 2
ifeq 3
2: aload 1
invokevirtual java.io.File.length:()J
lstore 3
3: StackMap locals: long
StackMap stack:
new java.io.FileOutputStream
dup
aload 1
invokevirtual java.io.File.toString:()Ljava/lang/String;
iload 2
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;Z)V
astore 5
start local 5 4: new java.io.BufferedOutputStream
dup
aload 5
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 6
start local 6 5: aload 0
new java.util.logging.FileHandler$MeteredStream
dup
aload 6
lload 3
invokespecial java.util.logging.FileHandler$MeteredStream.<init>:(Ljava/io/OutputStream;J)V
putfield java.util.logging.FileHandler.meter:Ljava/util/logging/FileHandler$MeteredStream;
6: aload 0
aload 0
getfield java.util.logging.FileHandler.meter:Ljava/util/logging/FileHandler$MeteredStream;
invokevirtual java.util.logging.FileHandler.setOutputStream:(Ljava/io/OutputStream;)V
7: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/logging/FileHandler;
0 8 1 fname Ljava/io/File;
0 8 2 append Z
1 8 3 len J
4 8 5 fout Ljava/io/FileOutputStream;
5 8 6 bout Ljava/io/BufferedOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fname
append
private void configure();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
astore 1
start local 1 1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".pattern"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "%h/java%u.log"
invokevirtual java.util.logging.LogManager.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
3: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".limit"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
lconst_0
invokevirtual java.util.logging.LogManager.getLongProperty:(Ljava/lang/String;J)J
putfield java.util.logging.FileHandler.limit:J
4: aload 0
getfield java.util.logging.FileHandler.limit:J
lconst_0
lcmp
ifge 6
5: aload 0
lconst_0
putfield java.util.logging.FileHandler.limit:J
6: StackMap locals: java.util.logging.LogManager java.lang.String
StackMap stack:
aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".count"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
invokevirtual java.util.logging.LogManager.getIntProperty:(Ljava/lang/String;I)I
putfield java.util.logging.FileHandler.count:I
7: aload 0
getfield java.util.logging.FileHandler.count:I
ifgt 9
8: aload 0
iconst_1
putfield java.util.logging.FileHandler.count:I
9: StackMap locals:
StackMap stack:
aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".append"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
invokevirtual java.util.logging.LogManager.getBooleanProperty:(Ljava/lang/String;Z)Z
putfield java.util.logging.FileHandler.append:Z
10: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".level"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
getstatic java.util.logging.Level.ALL:Ljava/util/logging/Level;
invokevirtual java.util.logging.LogManager.getLevelProperty:(Ljava/lang/String;Ljava/util/logging/Level;)Ljava/util/logging/Level;
invokevirtual java.util.logging.FileHandler.setLevel:(Ljava/util/logging/Level;)V
11: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".filter"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokevirtual java.util.logging.LogManager.getFilterProperty:(Ljava/lang/String;Ljava/util/logging/Filter;)Ljava/util/logging/Filter;
invokevirtual java.util.logging.FileHandler.setFilter:(Ljava/util/logging/Filter;)V
12: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".formatter"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new java.util.logging.XMLFormatter
dup
invokespecial java.util.logging.XMLFormatter.<init>:()V
invokevirtual java.util.logging.LogManager.getFormatterProperty:(Ljava/lang/String;Ljava/util/logging/Formatter;)Ljava/util/logging/Formatter;
invokevirtual java.util.logging.FileHandler.setFormatter:(Ljava/util/logging/Formatter;)V
13: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".maxLocks"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
bipush 100
invokevirtual java.util.logging.LogManager.getIntProperty:(Ljava/lang/String;I)I
putfield java.util.logging.FileHandler.maxLocks:I
14: aload 0
getfield java.util.logging.FileHandler.maxLocks:I
ifgt 16
15: aload 0
bipush 100
putfield java.util.logging.FileHandler.maxLocks:I
16: StackMap locals:
StackMap stack:
aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".encoding"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokevirtual java.util.logging.LogManager.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.util.logging.FileHandler.setEncoding:(Ljava/lang/String;)V
17: goto 22
StackMap locals:
StackMap stack: java.lang.Exception
18: pop
19: aload 0
aconst_null
invokevirtual java.util.logging.FileHandler.setEncoding:(Ljava/lang/String;)V
20: goto 22
StackMap locals:
StackMap stack: java.lang.Exception
21: pop
22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/util/logging/FileHandler;
1 23 1 manager Ljava/util/logging/LogManager;
2 23 2 cname Ljava/lang/String;
Exception table:
from to target type
16 17 18 Class java.lang.Exception
19 20 21 Class java.lang.Exception
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.logging.StreamHandler.<init>:()V
1: aload 0
bipush 100
putfield java.util.logging.FileHandler.maxLocks:I
2: aload 0
invokevirtual java.util.logging.FileHandler.checkPermission:()V
3: aload 0
invokevirtual java.util.logging.FileHandler.configure:()V
4: aload 0
getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 6
5: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
6: StackMap locals: java.util.logging.FileHandler
StackMap stack:
aload 0
invokevirtual java.util.logging.FileHandler.openFiles:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/logging/FileHandler;
Exceptions:
throws java.io.IOException, java.lang.SecurityException
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.util.logging.StreamHandler.<init>:()V
1: aload 0
bipush 100
putfield java.util.logging.FileHandler.maxLocks:I
2: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 4
3: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals: java.util.logging.FileHandler java.lang.String
StackMap stack:
aload 0
invokevirtual java.util.logging.FileHandler.checkPermission:()V
5: aload 0
invokevirtual java.util.logging.FileHandler.configure:()V
6: aload 0
aload 1
putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
7: aload 0
lconst_0
putfield java.util.logging.FileHandler.limit:J
8: aload 0
iconst_1
putfield java.util.logging.FileHandler.count:I
9: aload 0
invokevirtual java.util.logging.FileHandler.openFiles:()V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/logging/FileHandler;
0 11 1 pattern Ljava/lang/String;
Exceptions:
throws java.io.IOException, java.lang.SecurityException
MethodParameters:
Name Flags
pattern
public void <init>(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.util.logging.StreamHandler.<init>:()V
1: aload 0
bipush 100
putfield java.util.logging.FileHandler.maxLocks:I
2: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 4
3: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals: java.util.logging.FileHandler java.lang.String int
StackMap stack:
aload 0
invokevirtual java.util.logging.FileHandler.checkPermission:()V
5: aload 0
invokevirtual java.util.logging.FileHandler.configure:()V
6: aload 0
aload 1
putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
7: aload 0
lconst_0
putfield java.util.logging.FileHandler.limit:J
8: aload 0
iconst_1
putfield java.util.logging.FileHandler.count:I
9: aload 0
iload 2
putfield java.util.logging.FileHandler.append:Z
10: aload 0
invokevirtual java.util.logging.FileHandler.openFiles:()V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/logging/FileHandler;
0 12 1 pattern Ljava/lang/String;
0 12 2 append Z
Exceptions:
throws java.io.IOException, java.lang.SecurityException
MethodParameters:
Name Flags
pattern
append
public void <init>(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.util.logging.StreamHandler.<init>:()V
1: aload 0
bipush 100
putfield java.util.logging.FileHandler.maxLocks:I
2: iload 2
iflt 3
iload 3
iconst_1
if_icmplt 3
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 4
3: StackMap locals: java.util.logging.FileHandler java.lang.String int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.logging.FileHandler.checkPermission:()V
5: aload 0
invokevirtual java.util.logging.FileHandler.configure:()V
6: aload 0
aload 1
putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
7: aload 0
iload 2
i2l
putfield java.util.logging.FileHandler.limit:J
8: aload 0
iload 3
putfield java.util.logging.FileHandler.count:I
9: aload 0
invokevirtual java.util.logging.FileHandler.openFiles:()V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/logging/FileHandler;
0 11 1 pattern Ljava/lang/String;
0 11 2 limit I
0 11 3 count I
Exceptions:
throws java.io.IOException, java.lang.SecurityException
MethodParameters:
Name Flags
pattern
limit
count
public void <init>(java.lang.String, int, int, boolean);
descriptor: (Ljava/lang/String;IIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
i2l
iload 3
iload 4
invokespecial java.util.logging.FileHandler.<init>:(Ljava/lang/String;JIZ)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/logging/FileHandler;
0 2 1 pattern Ljava/lang/String;
0 2 2 limit I
0 2 3 count I
0 2 4 append Z
Exceptions:
throws java.io.IOException, java.lang.SecurityException
MethodParameters:
Name Flags
pattern
limit
count
append
public void <init>(java.lang.String, long, int, boolean);
descriptor: (Ljava/lang/String;JIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
invokespecial java.util.logging.StreamHandler.<init>:()V
1: aload 0
bipush 100
putfield java.util.logging.FileHandler.maxLocks:I
2: lload 2
lconst_0
lcmp
iflt 3
iload 4
iconst_1
if_icmplt 3
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 4
3: StackMap locals: java.util.logging.FileHandler java.lang.String long int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.logging.FileHandler.checkPermission:()V
5: aload 0
invokevirtual java.util.logging.FileHandler.configure:()V
6: aload 0
aload 1
putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
7: aload 0
lload 2
putfield java.util.logging.FileHandler.limit:J
8: aload 0
iload 4
putfield java.util.logging.FileHandler.count:I
9: aload 0
iload 5
putfield java.util.logging.FileHandler.append:Z
10: aload 0
invokevirtual java.util.logging.FileHandler.openFiles:()V
11: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/logging/FileHandler;
0 12 1 pattern Ljava/lang/String;
0 12 2 limit J
0 12 4 count I
0 12 5 append Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pattern
limit
count
append
private boolean isParentWritable(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 1
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 2
3: StackMap locals: java.nio.file.Path
StackMap stack:
aload 2
ifnull 4
aload 2
invokestatic java.nio.file.Files.isWritable:(Ljava/nio/file/Path;)Z
ifeq 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/logging/FileHandler;
0 5 1 path Ljava/nio/file/Path;
1 5 2 parent Ljava/nio/file/Path;
MethodParameters:
Name Flags
path
private void openFiles();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=1
start local 0 0: invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
astore 1
start local 1 1: aload 1
invokevirtual java.util.logging.LogManager.checkPermission:()V
2: aload 0
getfield java.util.logging.FileHandler.count:I
iconst_1
if_icmpge 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "file count = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.util.logging.FileHandler.count:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.logging.LogManager
StackMap stack:
aload 0
getfield java.util.logging.FileHandler.limit:J
lconst_0
lcmp
ifge 6
5: aload 0
lconst_0
putfield java.util.logging.FileHandler.limit:J
6: StackMap locals:
StackMap stack:
getstatic java.util.logging.FileHandler.$assertionsDisabled:Z
ifne 7
aload 0
getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
ifnonnull 7
new java.lang.AssertionError
dup
ldc "pattern should not be null"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
getstatic java.util.logging.FileHandler.$assertionsDisabled:Z
ifne 8
aload 0
getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 8
new java.lang.AssertionError
dup
ldc "pattern should not be empty"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
new java.util.logging.FileHandler$InitializationErrorManager
dup
invokespecial java.util.logging.FileHandler$InitializationErrorManager.<init>:()V
astore 2
start local 2 9: aload 0
aload 2
invokevirtual java.util.logging.FileHandler.setErrorManager:(Ljava/util/logging/ErrorManager;)V
10: iconst_m1
istore 3
start local 3 11: StackMap locals: java.util.logging.FileHandler$InitializationErrorManager int
StackMap stack:
iinc 3 1
12: iload 3
aload 0
getfield java.util.logging.FileHandler.maxLocks:I
if_icmple 14
13: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Couldn't get lock for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 0
aload 0
getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
iconst_0
iload 3
invokevirtual java.util.logging.FileHandler.generate:(Ljava/lang/String;II)Ljava/io/File;
invokevirtual java.io.File.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".lck"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
15: getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
dup
astore 4
monitorenter
16: getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
aload 0
getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 19
17: aload 4
monitorexit
18: goto 11
19: StackMap locals: java.util.Set
StackMap stack:
aload 0
getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 5
start local 5 20: aconst_null
astore 6
start local 6 21: iconst_m1
istore 7
start local 7 22: iconst_0
istore 8
start local 8 23: goto 40
24: StackMap locals: java.util.logging.FileHandler java.util.logging.LogManager java.util.logging.FileHandler$InitializationErrorManager int java.util.Set java.nio.file.Path java.nio.channels.FileChannel int int
StackMap stack:
aload 5
iconst_2
anewarray java.nio.file.OpenOption
dup
iconst_0
25: getstatic java.nio.file.StandardOpenOption.CREATE_NEW:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
26: invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
astore 6
27: iconst_1
istore 8
28: goto 40
StackMap locals:
StackMap stack: java.nio.file.FileAlreadyExistsException
29: pop
30: aload 5
iconst_1
anewarray java.nio.file.LinkOption
dup
iconst_0
getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
aastore
invokestatic java.nio.file.Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 41
31: aload 0
aload 5
invokevirtual java.util.logging.FileHandler.isParentWritable:(Ljava/nio/file/Path;)Z
ifeq 41
32: aload 5
iconst_2
anewarray java.nio.file.OpenOption
dup
iconst_0
33: getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.APPEND:Ljava/nio/file/StandardOpenOption;
aastore
34: invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
astore 6
35: goto 40
StackMap locals:
StackMap stack: java.nio.file.NoSuchFileException
36: pop
37: goto 40
38: StackMap locals:
StackMap stack: java.io.IOException
pop
39: goto 41
40: StackMap locals:
StackMap stack:
aload 6
ifnonnull 41
iload 7
iinc 7 1
iconst_1
if_icmplt 24
41: StackMap locals:
StackMap stack:
aload 6
ifnonnull 43
aload 4
monitorexit
42: goto 11
43: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
44: aload 0
getfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
invokevirtual java.nio.channels.FileChannel.tryLock:()Ljava/nio/channels/FileLock;
ifnull 45
iconst_1
goto 46
StackMap locals:
StackMap stack:
45: iconst_0
StackMap locals:
StackMap stack: int
46: istore 9
start local 9 47: goto 53
end local 9 StackMap locals:
StackMap stack: java.io.IOException
48: pop
49: iload 8
istore 9
start local 9 50: goto 53
end local 9 51: StackMap locals:
StackMap stack: java.nio.channels.OverlappingFileLockException
pop
52: iconst_0
istore 9
start local 9 53: StackMap locals: int
StackMap stack:
iload 9
ifeq 57
54: getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
aload 0
getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
55: aload 4
monitorexit
56: goto 62
57: StackMap locals:
StackMap stack:
aload 0
getfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
invokevirtual java.nio.channels.FileChannel.close:()V
end local 9 end local 8 end local 7 end local 6 end local 5 58: aload 4
monitorexit
59: goto 11
StackMap locals: java.util.logging.FileHandler java.util.logging.LogManager java.util.logging.FileHandler$InitializationErrorManager int java.util.Set
StackMap stack: java.lang.Throwable
60: aload 4
monitorexit
61: athrow
62: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.logging.FileHandler.count:I
anewarray java.io.File
putfield java.util.logging.FileHandler.files:[Ljava/io/File;
63: iconst_0
istore 4
start local 4 64: goto 67
65: StackMap locals: int
StackMap stack:
aload 0
getfield java.util.logging.FileHandler.files:[Ljava/io/File;
iload 4
aload 0
aload 0
getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
iload 4
iload 3
invokevirtual java.util.logging.FileHandler.generate:(Ljava/lang/String;II)Ljava/io/File;
aastore
66: iinc 4 1
StackMap locals:
StackMap stack:
67: iload 4
aload 0
getfield java.util.logging.FileHandler.count:I
if_icmplt 65
end local 4 68: aload 0
getfield java.util.logging.FileHandler.append:Z
ifeq 71
69: aload 0
aload 0
getfield java.util.logging.FileHandler.files:[Ljava/io/File;
iconst_0
aaload
iconst_1
invokevirtual java.util.logging.FileHandler.open:(Ljava/io/File;Z)V
70: goto 72
71: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.logging.FileHandler.rotate:()V
72: StackMap locals:
StackMap stack:
aload 2
getfield java.util.logging.FileHandler$InitializationErrorManager.lastException:Ljava/lang/Exception;
astore 4
start local 4 73: aload 4
ifnull 79
74: aload 4
instanceof java.io.IOException
ifeq 76
75: aload 4
checkcast java.io.IOException
athrow
76: StackMap locals: java.lang.Exception
StackMap stack:
aload 4
instanceof java.lang.SecurityException
ifeq 78
77: aload 4
checkcast java.lang.SecurityException
athrow
78: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
79: StackMap locals:
StackMap stack:
aload 0
new java.util.logging.ErrorManager
dup
invokespecial java.util.logging.ErrorManager.<init>:()V
invokevirtual java.util.logging.FileHandler.setErrorManager:(Ljava/util/logging/ErrorManager;)V
80: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 this Ljava/util/logging/FileHandler;
1 81 1 manager Ljava/util/logging/LogManager;
9 81 2 em Ljava/util/logging/FileHandler$InitializationErrorManager;
11 81 3 unique I
20 58 5 lockFilePath Ljava/nio/file/Path;
21 58 6 channel Ljava/nio/channels/FileChannel;
22 58 7 retries I
23 58 8 fileCreated Z
47 48 9 available Z
50 51 9 available Z
53 58 9 available Z
64 68 4 i I
73 81 4 ex Ljava/lang/Exception;
Exception table:
from to target type
24 28 29 Class java.nio.file.FileAlreadyExistsException
32 35 36 Class java.nio.file.NoSuchFileException
32 35 38 Class java.io.IOException
44 47 48 Class java.io.IOException
44 47 51 Class java.nio.channels.OverlappingFileLockException
16 18 60 any
19 42 60 any
43 56 60 any
57 59 60 any
60 61 60 any
Exceptions:
throws java.io.IOException
private java.io.File generate(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
getfield java.util.logging.FileHandler.count:I
iload 2
iload 3
invokestatic java.util.logging.FileHandler.generate:(Ljava/lang/String;III)Ljava/io/File;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/logging/FileHandler;
0 1 1 pattern Ljava/lang/String;
0 1 2 generation I
0 1 3 unique I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pattern
generation
unique
static java.io.File generate(java.lang.String, int, int, int);
descriptor: (Ljava/lang/String;III)Ljava/io/File;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: iconst_0
istore 7
start local 7 4: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 8
start local 8 5: aconst_null
astore 9
start local 9 6: aload 4
invokeinterface java.nio.file.Path.iterator:()Ljava/util/Iterator;
astore 11
goto 55
StackMap locals: java.lang.String int int int java.nio.file.Path java.nio.file.Path int int java.lang.StringBuilder java.nio.file.Path top java.util.Iterator
StackMap stack:
7: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 10
start local 10 8: aload 9
ifnull 13
9: aload 9
aload 8
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolveSibling:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 9
10: aload 5
ifnonnull 11
aload 9
goto 12
StackMap locals: java.lang.String int int int java.nio.file.Path java.nio.file.Path int int java.lang.StringBuilder java.nio.file.Path java.nio.file.Path java.util.Iterator
StackMap stack:
11: aload 5
aload 9
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
StackMap locals:
StackMap stack: java.nio.file.Path
12: astore 5
13: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 12
start local 12 14: iconst_0
istore 13
start local 13 15: aload 8
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
16: goto 53
17: StackMap locals: java.lang.String int
StackMap stack:
aload 12
iload 13
invokevirtual java.lang.String.charAt:(I)C
istore 14
start local 14 18: iinc 13 1
19: iconst_0
istore 15
start local 15 20: iload 13
aload 12
invokevirtual java.lang.String.length:()I
if_icmpge 22
21: aload 12
iload 13
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.toLowerCase:(C)C
istore 15
22: StackMap locals: int int
StackMap stack:
iload 14
bipush 37
if_icmpne 52
23: iload 15
bipush 116
if_icmpne 31
24: ldc "java.io.tmpdir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 16
start local 16 25: aload 16
ifnonnull 27
26: ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 16
27: StackMap locals: java.lang.String
StackMap stack:
aload 16
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 5
28: iinc 13 1
29: aload 8
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
30: goto 53
end local 16 31: StackMap locals:
StackMap stack:
iload 15
bipush 104
if_icmpne 38
32: ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 5
33: invokestatic jdk.internal.misc.VM.isSetUID:()Z
ifeq 35
34: new java.io.IOException
dup
ldc "can't use %h in set UID program"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
iinc 13 1
36: aload 8
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
37: goto 53
38: StackMap locals:
StackMap stack:
iload 15
bipush 103
if_icmpne 43
39: aload 8
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
astore 8
40: iconst_1
istore 6
41: iinc 13 1
42: goto 53
43: StackMap locals:
StackMap stack:
iload 15
bipush 117
if_icmpne 48
44: aload 8
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
astore 8
45: iconst_1
istore 7
46: iinc 13 1
47: goto 53
48: StackMap locals:
StackMap stack:
iload 15
bipush 37
if_icmpne 52
49: aload 8
bipush 37
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
astore 8
50: iinc 13 1
51: goto 53
52: StackMap locals:
StackMap stack:
aload 8
iload 14
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
astore 8
end local 15 end local 14 53: StackMap locals:
StackMap stack:
iload 13
aload 12
invokevirtual java.lang.String.length:()I
if_icmplt 17
54: aload 10
astore 9
end local 13 end local 12 end local 10 55: StackMap locals: java.lang.String int int int java.nio.file.Path java.nio.file.Path int int java.lang.StringBuilder java.nio.file.Path top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
56: iload 1
iconst_1
if_icmple 58
iload 6
ifne 58
57: aload 8
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
astore 8
58: StackMap locals: java.lang.String int int int java.nio.file.Path java.nio.file.Path int int java.lang.StringBuilder java.nio.file.Path
StackMap stack:
iload 3
ifle 60
iload 7
ifne 60
59: aload 8
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
astore 8
60: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.lang.StringBuilder.length:()I
ifle 69
61: aload 8
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 62: aload 9
ifnonnull 63
aload 10
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
goto 64
StackMap locals: java.lang.String
StackMap stack:
63: aload 9
aload 10
invokeinterface java.nio.file.Path.resolveSibling:(Ljava/lang/String;)Ljava/nio/file/Path;
StackMap locals:
StackMap stack: java.nio.file.Path
64: astore 11
start local 11 65: aload 5
ifnonnull 66
aload 11
goto 67
StackMap locals: java.nio.file.Path
StackMap stack:
66: aload 5
aload 11
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
StackMap locals:
StackMap stack: java.nio.file.Path
67: astore 5
end local 11 end local 10 68: goto 71
StackMap locals:
StackMap stack:
69: aload 5
ifnonnull 71
70: ldc ""
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 5
71: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.nio.file.Path.getRoot:()Ljava/nio/file/Path;
ifnonnull 73
72: aload 5
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
areturn
73: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.nio.file.Path.getRoot:()Ljava/nio/file/Path;
aload 5
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 pat Ljava/lang/String;
0 74 1 count I
0 74 2 generation I
0 74 3 unique I
1 74 4 path Ljava/nio/file/Path;
2 74 5 result Ljava/nio/file/Path;
3 74 6 sawg Z
4 74 7 sawu Z
5 74 8 word Ljava/lang/StringBuilder;
6 74 9 prev Ljava/nio/file/Path;
8 55 10 elem Ljava/nio/file/Path;
14 55 12 pattern Ljava/lang/String;
15 55 13 ix I
18 53 14 ch C
20 53 15 ch2 C
25 31 16 tmpDir Ljava/lang/String;
62 68 10 n Ljava/lang/String;
65 68 11 p Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pat
count
generation
unique
private synchronized void rotate();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.util.logging.FileHandler.getLevel:()Ljava/util/logging/Level;
astore 1
start local 1 1: aload 0
getstatic java.util.logging.Level.OFF:Ljava/util/logging/Level;
invokevirtual java.util.logging.FileHandler.setLevel:(Ljava/util/logging/Level;)V
2: aload 0
invokespecial java.util.logging.StreamHandler.close:()V
3: aload 0
getfield java.util.logging.FileHandler.count:I
iconst_2
isub
istore 2
start local 2 4: goto 12
5: StackMap locals: java.util.logging.Level int
StackMap stack:
aload 0
getfield java.util.logging.FileHandler.files:[Ljava/io/File;
iload 2
aaload
astore 3
start local 3 6: aload 0
getfield java.util.logging.FileHandler.files:[Ljava/io/File;
iload 2
iconst_1
iadd
aaload
astore 4
start local 4 7: aload 3
invokevirtual java.io.File.exists:()Z
ifeq 11
8: aload 4
invokevirtual java.io.File.exists:()Z
ifeq 10
9: aload 4
invokevirtual java.io.File.delete:()Z
pop
10: StackMap locals: java.io.File java.io.File
StackMap stack:
aload 3
aload 4
invokevirtual java.io.File.renameTo:(Ljava/io/File;)Z
pop
end local 4 end local 3 11: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
12: iload 2
ifge 5
end local 2 13: aload 0
aload 0
getfield java.util.logging.FileHandler.files:[Ljava/io/File;
iconst_0
aaload
iconst_0
invokevirtual java.util.logging.FileHandler.open:(Ljava/io/File;Z)V
14: goto 17
StackMap locals: java.util.logging.FileHandler java.util.logging.Level
StackMap stack: java.io.IOException
15: astore 2
start local 2 16: aload 0
aconst_null
aload 2
iconst_4
invokevirtual java.util.logging.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
end local 2 17: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.util.logging.FileHandler.setLevel:(Ljava/util/logging/Level;)V
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/util/logging/FileHandler;
1 19 1 oldLevel Ljava/util/logging/Level;
4 13 2 i I
6 11 3 f1 Ljava/io/File;
7 11 4 f2 Ljava/io/File;
16 17 2 ix Ljava/io/IOException;
Exception table:
from to target type
13 14 15 Class java.io.IOException
public synchronized void publish(java.util.logging.LogRecord);
descriptor: (Ljava/util/logging/LogRecord;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.logging.FileHandler.isLoggable:(Ljava/util/logging/LogRecord;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial java.util.logging.StreamHandler.publish:(Ljava/util/logging/LogRecord;)V
3: aload 0
invokevirtual java.util.logging.FileHandler.flush:()V
4: aload 0
getfield java.util.logging.FileHandler.limit:J
lconst_0
lcmp
ifle 6
aload 0
getfield java.util.logging.FileHandler.meter:Ljava/util/logging/FileHandler$MeteredStream;
getfield java.util.logging.FileHandler$MeteredStream.written:J
aload 0
getfield java.util.logging.FileHandler.limit:J
lcmp
ifge 5
aload 0
getfield java.util.logging.FileHandler.meter:Ljava/util/logging/FileHandler$MeteredStream;
getfield java.util.logging.FileHandler$MeteredStream.written:J
lconst_0
lcmp
ifge 6
5: StackMap locals:
StackMap stack:
new java.util.logging.FileHandler$1
dup
aload 0
invokespecial java.util.logging.FileHandler$1.<init>:(Ljava/util/logging/FileHandler;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/logging/FileHandler;
0 7 1 record Ljava/util/logging/LogRecord;
MethodParameters:
Name Flags
record
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.util.logging.StreamHandler.close:()V
1: aload 0
getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
ifnonnull 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
invokevirtual java.nio.channels.FileChannel.close:()V
4: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
5: pop
6: StackMap locals:
StackMap stack:
getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
dup
astore 1
monitorenter
7: getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
aload 0
getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
8: aload 1
monitorexit
9: goto 12
StackMap locals: java.util.logging.FileHandler java.util.Set
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 0
getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.delete:()Z
pop
13: aload 0
aconst_null
putfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
14: aload 0
aconst_null
putfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/logging/FileHandler;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
7 9 10 any
10 11 10 any
Exceptions:
throws java.lang.SecurityException
}
SourceFile: "FileHandler.java"
NestMembers:
java.util.logging.FileHandler$1 java.util.logging.FileHandler$InitializationErrorManager java.util.logging.FileHandler$MeteredStream
InnerClasses:
java.util.logging.FileHandler$1
private InitializationErrorManager = java.util.logging.FileHandler$InitializationErrorManager of java.util.logging.FileHandler
private final MeteredStream = java.util.logging.FileHandler$MeteredStream of java.util.logging.FileHandler