mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-15 16:44:36 +02:00
Merge
This commit is contained in:
commit
ae81cfa30f
175 changed files with 3335 additions and 1394 deletions
|
@ -89,16 +89,15 @@ import sun.reflect.annotation.*;
|
|||
import sun.reflect.misc.ReflectUtil;
|
||||
|
||||
/**
|
||||
* Instances of the class {@code Class} represent classes and interfaces
|
||||
* in a running Java application. An enum type is a kind of class and an
|
||||
* annotation type is a kind of interface. Every array also
|
||||
* belongs to a class that is reflected as a {@code Class} object
|
||||
* that is shared by all arrays with the same element type and number
|
||||
* of dimensions. The primitive Java types ({@code boolean},
|
||||
* {@code byte}, {@code char}, {@code short},
|
||||
* {@code int}, {@code long}, {@code float}, and
|
||||
* {@code double}), and the keyword {@code void} are also
|
||||
* represented as {@code Class} objects.
|
||||
* Instances of the class {@code Class} represent classes and
|
||||
* interfaces in a running Java application. An enum type and a record
|
||||
* type are kinds of class; an annotation type is a kind of
|
||||
* interface. Every array also belongs to a class that is reflected as
|
||||
* a {@code Class} object that is shared by all arrays with the same
|
||||
* element type and number of dimensions. The primitive Java types
|
||||
* ({@code boolean}, {@code byte}, {@code char}, {@code short}, {@code
|
||||
* int}, {@code long}, {@code float}, and {@code double}), and the
|
||||
* keyword {@code void} are also represented as {@code Class} objects.
|
||||
*
|
||||
* <p> {@code Class} has no public constructor. Instead a {@code Class}
|
||||
* object is constructed automatically by the Java Virtual Machine
|
||||
|
|
|
@ -71,7 +71,8 @@ package java.lang.annotation;
|
|||
* @jls 4.1 The Kinds of Types and Values
|
||||
*/
|
||||
public enum ElementType {
|
||||
/** Class, interface (including annotation type), or enum declaration */
|
||||
/** Class, interface (including annotation type), enum, or record
|
||||
* declaration */
|
||||
TYPE,
|
||||
|
||||
/** Field declaration (includes enum constants) */
|
||||
|
|
|
@ -1451,7 +1451,7 @@ public class MethodHandles {
|
|||
* <li>If the new lookup class is in the same module as the old lookup class,
|
||||
* the new previous lookup class is the old previous lookup class.
|
||||
* <li>If the new lookup class is in a different module from the old lookup class,
|
||||
* the new previous lookup class is the the old lookup class.
|
||||
* the new previous lookup class is the old lookup class.
|
||||
*</ul>
|
||||
* <p>
|
||||
* The resulting lookup's capabilities for loading classes
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1869,14 +1869,26 @@ public abstract class $Type$Buffer
|
|||
|
||||
/**
|
||||
* Returns the memory address, pointing to the byte at the given index,
|
||||
* modulus the given unit size.
|
||||
*
|
||||
* <p> A return value greater than zero indicates the address of the byte at
|
||||
* the index is misaligned for the unit size, and the value's quantity
|
||||
* indicates how much the index should be rounded up or down to locate a
|
||||
* byte at an aligned address. Otherwise, a value of {@code 0} indicates
|
||||
* that the address of the byte at the index is aligned for the unit size.
|
||||
* modulo the given unit size.
|
||||
*
|
||||
* <p> The return value is non-negative, with {@code 0} indicating that the
|
||||
* address of the byte at the index is aligned for the unit size, and a
|
||||
* positive value that the address is misaligned for the unit size. If the
|
||||
* address of the byte at the index is misaligned, the return value
|
||||
* represents how much the index should be adjusted to locate a byte at an
|
||||
* aligned address. Specifically, the index should either be decremented by
|
||||
* the return value, or incremented by the unit size minus the return value.
|
||||
* Therefore given
|
||||
* <blockquote><pre>
|
||||
* int value = alignmentOffset(index, unitSize)</pre></blockquote>
|
||||
* then the identities
|
||||
* <blockquote><pre>
|
||||
* alignmentOffset(index - value, unitSize) == 0</pre></blockquote>
|
||||
* and
|
||||
* <blockquote><pre>
|
||||
* alignmentOffset(index + (unitSize - value), unitSize) == 0</pre></blockquote>
|
||||
* must hold.
|
||||
*
|
||||
* @apiNote
|
||||
* This method may be utilized to determine if unit size bytes from an
|
||||
* index can be accessed atomically, if supported by the native platform.
|
||||
|
@ -1892,7 +1904,7 @@ public abstract class $Type$Buffer
|
|||
* @param unitSize
|
||||
* The unit size in bytes, must be a power of {@code 2}
|
||||
*
|
||||
* @return The indexed byte's memory address modulus the unit size
|
||||
* @return The indexed byte's memory address modulo the unit size
|
||||
*
|
||||
* @throws IllegalArgumentException
|
||||
* If the index is negative or the unit size is not a power of
|
||||
|
@ -1918,7 +1930,7 @@ public abstract class $Type$Buffer
|
|||
if (unitSize > 8 && !isDirect())
|
||||
throw new UnsupportedOperationException("Unit size unsupported for non-direct buffers: " + unitSize);
|
||||
|
||||
return (int) ((address + index) % unitSize);
|
||||
return (int) ((address + index) & (unitSize - 1));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -69,7 +69,7 @@ public class RSAMultiPrimePrivateCrtKeySpec extends RSAPrivateKeySpec {
|
|||
* @param publicExponent the public exponent e
|
||||
* @param privateExponent the private exponent d
|
||||
* @param primeP the prime factor p of n
|
||||
* @param primeQ the prime factor q of q
|
||||
* @param primeQ the prime factor q of n
|
||||
* @param primeExponentP this is d mod (p-1)
|
||||
* @param primeExponentQ this is d mod (q-1)
|
||||
* @param crtCoefficient the Chinese Remainder Theorem
|
||||
|
|
|
@ -1133,7 +1133,7 @@ public class ArrayList<E> extends AbstractList<E>
|
|||
this.parent = parent;
|
||||
this.offset = parent.offset + fromIndex;
|
||||
this.size = toIndex - fromIndex;
|
||||
this.modCount = root.modCount;
|
||||
this.modCount = parent.modCount;
|
||||
}
|
||||
|
||||
public E set(int index, E element) {
|
||||
|
@ -1286,7 +1286,7 @@ public class ArrayList<E> extends AbstractList<E>
|
|||
return new ListIterator<E>() {
|
||||
int cursor = index;
|
||||
int lastRet = -1;
|
||||
int expectedModCount = root.modCount;
|
||||
int expectedModCount = SubList.this.modCount;
|
||||
|
||||
public boolean hasNext() {
|
||||
return cursor != SubList.this.size;
|
||||
|
@ -1330,7 +1330,7 @@ public class ArrayList<E> extends AbstractList<E>
|
|||
final Object[] es = root.elementData;
|
||||
if (offset + i >= es.length)
|
||||
throw new ConcurrentModificationException();
|
||||
for (; i < size && modCount == expectedModCount; i++)
|
||||
for (; i < size && root.modCount == expectedModCount; i++)
|
||||
action.accept(elementAt(es, offset + i));
|
||||
// update once at end to reduce heap write traffic
|
||||
cursor = i;
|
||||
|
@ -1356,7 +1356,7 @@ public class ArrayList<E> extends AbstractList<E>
|
|||
SubList.this.remove(lastRet);
|
||||
cursor = lastRet;
|
||||
lastRet = -1;
|
||||
expectedModCount = root.modCount;
|
||||
expectedModCount = SubList.this.modCount;
|
||||
} catch (IndexOutOfBoundsException ex) {
|
||||
throw new ConcurrentModificationException();
|
||||
}
|
||||
|
@ -1382,7 +1382,7 @@ public class ArrayList<E> extends AbstractList<E>
|
|||
SubList.this.add(i, e);
|
||||
cursor = i + 1;
|
||||
lastRet = -1;
|
||||
expectedModCount = root.modCount;
|
||||
expectedModCount = SubList.this.modCount;
|
||||
} catch (IndexOutOfBoundsException ex) {
|
||||
throw new ConcurrentModificationException();
|
||||
}
|
||||
|
|
|
@ -27,8 +27,11 @@ package jdk.internal.misc;
|
|||
|
||||
import java.lang.invoke.MethodHandle;
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import java.lang.invoke.MethodHandles.Lookup;
|
||||
import java.lang.invoke.MethodType;
|
||||
import java.nio.channels.FileChannel.MapMode;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedExceptionAction;
|
||||
|
||||
/**
|
||||
* JDK-specific map modes implemented in java.base.
|
||||
|
@ -36,10 +39,11 @@ import java.nio.channels.FileChannel.MapMode;
|
|||
public class ExtendedMapMode {
|
||||
|
||||
static final MethodHandle MAP_MODE_CONSTRUCTOR;
|
||||
|
||||
static {
|
||||
try {
|
||||
var lookup = MethodHandles.privateLookupIn(MapMode.class, MethodHandles.lookup());
|
||||
PrivilegedExceptionAction<Lookup> pae = () ->
|
||||
MethodHandles.privateLookupIn(MapMode.class, MethodHandles.lookup());
|
||||
Lookup lookup = AccessController.doPrivileged(pae);
|
||||
var methodType = MethodType.methodType(void.class, String.class);
|
||||
MAP_MODE_CONSTRUCTOR = lookup.findConstructor(MapMode.class, methodType);
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -49,6 +49,7 @@ import jdk.internal.access.JavaNioAccess;
|
|||
import jdk.internal.access.SharedSecrets;
|
||||
import jdk.internal.misc.ExtendedMapMode;
|
||||
import jdk.internal.misc.Unsafe;
|
||||
import jdk.internal.misc.VM;
|
||||
import jdk.internal.ref.Cleaner;
|
||||
import jdk.internal.ref.CleanerFactory;
|
||||
|
||||
|
@ -1116,8 +1117,11 @@ public class FileChannelImpl
|
|||
}
|
||||
|
||||
private boolean isSync(MapMode mode) {
|
||||
return mode == ExtendedMapMode.READ_ONLY_SYNC ||
|
||||
mode == ExtendedMapMode.READ_WRITE_SYNC;
|
||||
// Do not want to initialize ExtendedMapMode until
|
||||
// after the module system has been initialized
|
||||
return !VM.isModuleSystemInited() ? false :
|
||||
(mode == ExtendedMapMode.READ_ONLY_SYNC ||
|
||||
mode == ExtendedMapMode.READ_WRITE_SYNC);
|
||||
}
|
||||
|
||||
private int toProt(MapMode mode) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -28,9 +28,11 @@ package sun.security.ssl;
|
|||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.security.AlgorithmConstraints;
|
||||
import java.security.CryptoPrimitive;
|
||||
import java.security.GeneralSecurityException;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.EnumSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
@ -434,7 +436,7 @@ final class ServerHello {
|
|||
continue;
|
||||
}
|
||||
if (!ServerHandshakeContext.legacyAlgorithmConstraints.permits(
|
||||
null, cs.name, null)) {
|
||||
EnumSet.of(CryptoPrimitive.KEY_AGREEMENT), cs.name, null)) {
|
||||
legacySuites.add(cs);
|
||||
continue;
|
||||
}
|
||||
|
@ -723,7 +725,9 @@ final class ServerHello {
|
|||
}
|
||||
|
||||
if ((legacySuite == null) &&
|
||||
!legacyConstraints.permits(null, cs.name, null)) {
|
||||
!legacyConstraints.permits(
|
||||
EnumSet.of(CryptoPrimitive.KEY_AGREEMENT),
|
||||
cs.name, null)) {
|
||||
legacySuite = cs;
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -128,6 +128,11 @@ public class DisabledAlgorithmConstraints extends AbstractAlgorithmConstraints {
|
|||
@Override
|
||||
public final boolean permits(Set<CryptoPrimitive> primitives,
|
||||
String algorithm, AlgorithmParameters parameters) {
|
||||
if (primitives == null || primitives.isEmpty()) {
|
||||
throw new IllegalArgumentException("The primitives cannot be null" +
|
||||
" or empty.");
|
||||
}
|
||||
|
||||
if (!checkAlgorithm(disabledAlgorithms, algorithm, decomposer)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -216,7 +221,11 @@ public class DisabledAlgorithmConstraints extends AbstractAlgorithmConstraints {
|
|||
private boolean checkConstraints(Set<CryptoPrimitive> primitives,
|
||||
String algorithm, Key key, AlgorithmParameters parameters) {
|
||||
|
||||
// check the key parameter, it cannot be null.
|
||||
if (primitives == null || primitives.isEmpty()) {
|
||||
throw new IllegalArgumentException("The primitives cannot be null" +
|
||||
" or empty.");
|
||||
}
|
||||
|
||||
if (key == null) {
|
||||
throw new IllegalArgumentException("The key cannot be null");
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -51,17 +51,29 @@ public class LegacyAlgorithmConstraints extends AbstractAlgorithmConstraints {
|
|||
@Override
|
||||
public final boolean permits(Set<CryptoPrimitive> primitives,
|
||||
String algorithm, AlgorithmParameters parameters) {
|
||||
if (primitives == null || primitives.isEmpty()) {
|
||||
throw new IllegalArgumentException("The primitives cannot be null" +
|
||||
" or empty.");
|
||||
}
|
||||
return checkAlgorithm(legacyAlgorithms, algorithm, decomposer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean permits(Set<CryptoPrimitive> primitives, Key key) {
|
||||
if (primitives == null || primitives.isEmpty()) {
|
||||
throw new IllegalArgumentException("The primitives cannot be null" +
|
||||
" or empty.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean permits(Set<CryptoPrimitive> primitives,
|
||||
String algorithm, Key key, AlgorithmParameters parameters) {
|
||||
if (primitives == null || primitives.isEmpty()) {
|
||||
throw new IllegalArgumentException("The primitives cannot be null" +
|
||||
" or empty.");
|
||||
}
|
||||
return checkAlgorithm(legacyAlgorithms, algorithm, decomposer);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
.\"
|
||||
.\" This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
.\" version 2 for more details (a copy is included in the LICENSE file that
|
||||
.\" accompanied this code).
|
||||
.\"
|
||||
|
@ -22,7 +22,7 @@
|
|||
.\"
|
||||
.\" Automatically generated by Pandoc 2.3.1
|
||||
.\"
|
||||
.TH "JAVA" "1" "2019" "JDK 13" "JDK Commands"
|
||||
.TH "JAVA" "1" "2020" "JDK 14" "JDK Commands"
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
|
@ -181,8 +181,8 @@ with new values added and old values removed.
|
|||
You\[aq]ll get an error message if you use a value of \f[I]N\f[R] that is
|
||||
no longer supported.
|
||||
Supported values of \f[I]N\f[R] for this release are \f[CB]7\f[R],
|
||||
\f[CB]8\f[R], \f[CB]9\f[R], \f[CB]10\f[R], \f[CB]11\f[R], \f[CB]12\f[R], and
|
||||
\f[CB]13\f[R].
|
||||
\f[CB]8\f[R], \f[CB]9\f[R], \f[CB]10\f[R], \f[CB]11\f[R], \f[CB]12\f[R],
|
||||
\f[CB]13\f[R], and \f[CB]14\f[R].
|
||||
.RE
|
||||
.PP
|
||||
If the file does not have the \f[CB]\&.java\f[R] extension, the
|
||||
|
@ -267,7 +267,7 @@ The source file should contain one or more top\-level classes, the first
|
|||
of which is taken as the class to be executed.
|
||||
.IP \[bu] 2
|
||||
The compiler does not enforce the optional restriction defined at the
|
||||
end of JLS §7.6, that a type in a named package should exist in a file
|
||||
end of JLS ??7.6, that a type in a named package should exist in a file
|
||||
whose name is composed from the type name followed by the
|
||||
\f[CB]\&.java\f[R] extension.
|
||||
.IP \[bu] 2
|
||||
|
@ -315,7 +315,7 @@ The encoding requirement for the environment variable is the same as the
|
|||
same manner as that specified in the command line.
|
||||
.PP
|
||||
Single (\f[CB]\[aq]\f[R]) or double (\f[CB]"\f[R]) quotes can be used to
|
||||
enclose arguments that\ contain whitespace characters.
|
||||
enclose arguments that contain whitespace characters.
|
||||
All content between the open quote and the first matching close quote
|
||||
are preserved by simply removing the pair of quotes.
|
||||
In case a matching quote is not found, the launcher will abort with an
|
||||
|
@ -802,20 +802,6 @@ Expect a performance degradation when this option is used.
|
|||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-Xcomp\f[R]
|
||||
Forces compilation of methods on first invocation.
|
||||
By default, the Client VM (\f[CB]\-client\f[R]) performs 1,000 interpreted
|
||||
method invocations and the Server VM (\f[CB]\-server\f[R]) performs 10,000
|
||||
interpreted method invocations to gather information for efficient
|
||||
compilation.
|
||||
Specifying the \f[CB]\-Xcomp\f[R] option disables interpreted method
|
||||
invocations to increase compilation performance at the expense of
|
||||
efficiency.
|
||||
You can also change the number of interpreted method invocations before
|
||||
compilation using the \f[CB]\-XX:CompileThreshold\f[R] option.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-Xdebug\f[R]
|
||||
Does nothing.
|
||||
Provided for backward compatibility.
|
||||
|
@ -852,6 +838,8 @@ See \f[B]Enable Logging with the JVM Unified Logging Framework\f[R].
|
|||
.B \f[CB]\-Xmixed\f[R]
|
||||
Executes all bytecode by the interpreter except for hot methods, which
|
||||
are compiled to native code.
|
||||
On by default.
|
||||
Use \f[CB]\-Xint\f[R] to switch off.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
|
@ -1643,7 +1631,7 @@ Selects between using the RBP register as a general purpose register
|
|||
(\f[CB]\-XX:\-PreserveFramePointer\f[R]) and using the RBP register to
|
||||
hold the frame pointer of the currently executing method
|
||||
(\f[CB]\-XX:+PreserveFramePointer\f[R] .
|
||||
If the frame pointer is available, then external profiling tools\ (for
|
||||
If the frame pointer is available, then external profiling tools (for
|
||||
example, Linux perf) can construct more accurate stack traces.
|
||||
.RS
|
||||
.RE
|
||||
|
@ -1694,6 +1682,19 @@ bootstrap class paths.
|
|||
See \f[B]Application Class Data Sharing\f[R].
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+ShowCodeDetailsInExceptionMessages\f[R]
|
||||
Enables printing of improved \f[CB]NullPointerException\f[R] messages.
|
||||
When an application throws a \f[CB]NullPointerException\f[R], the option
|
||||
enables the JVM to analyze the program\[aq]s bytecode instructions to
|
||||
determine precisely which reference is \f[CB]null\f[R], and describes the
|
||||
source with a null\-detail message.
|
||||
The null\-detail message is calculated and returned by
|
||||
\f[CB]NullPointerException.getMessage()\f[R], and will be printed as the
|
||||
exception message along with the method, filename, and line number.
|
||||
By default, this option is disabled.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+ShowMessageBoxOnError\f[R]
|
||||
Enables the display of a dialog box when the JVM experiences an
|
||||
irrecoverable error.
|
||||
|
@ -1830,7 +1831,7 @@ comma.
|
|||
Sets the Java thread stack size (in kilobytes).
|
||||
Use of a scaling suffix, such as \f[CB]k\f[R], results in the scaling of
|
||||
the kilobytes value so that \f[CB]\-XX:ThreadStackSize=1k\f[R] sets the
|
||||
Java thread stack size\ to 1024*1024 bytes or 1 megabyte.
|
||||
Java thread stack size to 1024*1024 bytes or 1 megabyte.
|
||||
The default value depends on the platform:
|
||||
.RS
|
||||
.IP \[bu] 2
|
||||
|
@ -1892,9 +1893,9 @@ the VM to determine the amount of memory and number of processors that
|
|||
are available to a Java process running in docker containers.
|
||||
It uses this information to allocate system resources.
|
||||
This support is only available on Linux x64 platforms.
|
||||
\ If supported, the default for this flag is\ \f[CB]true\f[R], and
|
||||
container support is enabled by default.
|
||||
\ It\ can be disabled with\ \f[CB]\-XX:\-UseContainerSupport\f[R].
|
||||
If supported, the default for this flag is \f[CB]true\f[R], and container
|
||||
support is enabled by default.
|
||||
It can be disabled with \f[CB]\-XX:\-UseContainerSupport\f[R].
|
||||
.RS
|
||||
.PP
|
||||
Unified Logging is available to help to diagnose issues related to this
|
||||
|
@ -1964,8 +1965,6 @@ By default, the number of lines to prefetch is set to 1:
|
|||
.PP
|
||||
\f[CB]\-XX:AllocateInstancePrefetchLines=1\f[R]
|
||||
.RE
|
||||
.PP
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:AllocatePrefetchDistance=\f[R]\f[I]size\f[R]
|
||||
|
@ -1990,14 +1989,11 @@ bytes:
|
|||
.PP
|
||||
\f[CB]\-XX:AllocatePrefetchDistance=1024\f[R]
|
||||
.RE
|
||||
.PP
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:AllocatePrefetchInstr=\f[R]\f[I]instruction\f[R]
|
||||
Sets the prefetch instruction to prefetch ahead of the allocation
|
||||
pointer.
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
Possible values are from 0 to 3.
|
||||
The actual instructions behind the values depend on the platform.
|
||||
By default, the prefetch instruction is set to 0:
|
||||
|
@ -2006,8 +2002,6 @@ By default, the prefetch instruction is set to 0:
|
|||
.PP
|
||||
\f[CB]\-XX:AllocatePrefetchInstr=0\f[R]
|
||||
.RE
|
||||
.PP
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:AllocatePrefetchLines=\f[R]\f[I]lines\f[R]
|
||||
|
@ -2023,8 +2017,6 @@ to 5:
|
|||
.PP
|
||||
\f[CB]\-XX:AllocatePrefetchLines=5\f[R]
|
||||
.RE
|
||||
.PP
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:AllocatePrefetchStepSize=\f[R]\f[I]size\f[R]
|
||||
|
@ -2038,8 +2030,6 @@ By default, the step size is set to 16 bytes:
|
|||
.PP
|
||||
\f[CB]\-XX:AllocatePrefetchStepSize=16\f[R]
|
||||
.RE
|
||||
.PP
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:AllocatePrefetchStyle=\f[R]\f[I]style\f[R]
|
||||
|
@ -2054,7 +2044,7 @@ Don\[aq]t generate prefetch instructions.
|
|||
.TP
|
||||
.B \f[CB]1\f[R]
|
||||
Execute prefetch instructions after each allocation.
|
||||
This is the default parameter.
|
||||
This is the default setting.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
|
@ -2065,11 +2055,9 @@ determine when prefetch instructions are executed.
|
|||
.RE
|
||||
.TP
|
||||
.B \f[CB]3\f[R]
|
||||
Use BIS instruction on SPARC for allocation prefetch.
|
||||
Generate one prefetch instruction per cache line.
|
||||
.RS
|
||||
.RE
|
||||
.PP
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+BackgroundCompilation\f[R]
|
||||
|
@ -2083,9 +2071,8 @@ To disable background compilation, specify
|
|||
.TP
|
||||
.B \f[CB]\-XX:CICompilerCount=\f[R]\f[I]threads\f[R]
|
||||
Sets the number of compiler threads to use for compilation.
|
||||
By default, the number of threads is set to 2 for the server JVM, to 1
|
||||
for the client JVM, and it scales to the number of cores if tiered
|
||||
compilation is used.
|
||||
By default, the number of compiler threads is selected automatically
|
||||
depending on the number of CPUs and memory available for compiled code.
|
||||
The following example shows how to set the number of threads to 2:
|
||||
.RS
|
||||
.RS
|
||||
|
@ -2094,6 +2081,13 @@ The following example shows how to set the number of threads to 2:
|
|||
.RE
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseDynamicNumberOfCompilerThreads\f[R]
|
||||
Dynamically create compiler thread up to the limit specified by
|
||||
\f[CB]\-XX:CICompilerCount\f[R].
|
||||
This option is enabled by default.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:CompileCommand=\f[R]\f[I]command\f[R]\f[CB],\f[R]\f[I]method\f[R][\f[CB],\f[R]\f[I]option\f[R]]
|
||||
Specifies a \f[I]command\f[R] to perform on a \f[I]method\f[R].
|
||||
For example, to exclude the \f[CB]indexOf()\f[R] method of the
|
||||
|
@ -2318,33 +2312,13 @@ class:
|
|||
.fi
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:CompileThreshold=\f[R]\f[I]invocations\f[R]
|
||||
Sets the number of interpreted method invocations before compilation.
|
||||
By default, in the server JVM, the JIT compiler performs 10,000
|
||||
interpreted method invocations to gather information for efficient
|
||||
compilation.
|
||||
For the client JVM, the default setting is 1,500 invocations.
|
||||
This option is ignored when tiered compilation is enabled; see the
|
||||
option \f[CB]\-XX:\-TieredCompilation\f[R].
|
||||
The following example shows how to set the number of interpreted method
|
||||
invocations to 5,000:
|
||||
.RS
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]\-XX:CompileThreshold=5000\f[R]
|
||||
.RE
|
||||
.PP
|
||||
You can completely disable interpretation of Java methods before
|
||||
compilation by specifying the \f[CB]\-Xcomp\f[R] option.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:CompileThresholdScaling=\f[R]\f[I]scale\f[R]
|
||||
Provides unified control of first compilation.
|
||||
This option controls when methods are first compiled for both the tiered
|
||||
and the nontiered modes of operation.
|
||||
The \f[CB]CompileThresholdScaling\f[R] option has an integer value between
|
||||
0 and +Inf and scales the thresholds corresponding to the current mode
|
||||
of operation (both tiered and nontiered).
|
||||
The \f[CB]CompileThresholdScaling\f[R] option has a floating point value
|
||||
between 0 and +Inf and scales the thresholds corresponding to the
|
||||
current mode of operation (both tiered and nontiered).
|
||||
Setting \f[CB]CompileThresholdScaling\f[R] to a value less than 1.0
|
||||
results in earlier compilation while values greater than 1.0 delay
|
||||
compilation.
|
||||
|
@ -2358,7 +2332,6 @@ Enables the use of escape analysis.
|
|||
This option is enabled by default.
|
||||
To disable the use of escape analysis, specify
|
||||
\f[CB]\-XX:\-DoEscapeAnalysis\f[R].
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
|
@ -2367,7 +2340,7 @@ Sets the initial code cache size (in bytes).
|
|||
Append the letter \f[CB]k\f[R] or \f[CB]K\f[R] to indicate kilobytes,
|
||||
\f[CB]m\f[R] or \f[CB]M\f[R] to indicate megabytes, or \f[CB]g\f[R] or
|
||||
\f[CB]G\f[R] to indicate gigabytes.
|
||||
The default value is set to 500 KB.
|
||||
The default value depends on the platform.
|
||||
The initial code cache size shouldn\[aq]t be less than the system\[aq]s
|
||||
minimal memory page size.
|
||||
The following example shows how to set the initial code cache size to 32
|
||||
|
@ -2387,14 +2360,14 @@ To disable method inlining, specify \f[CB]\-XX:\-Inline\f[R].
|
|||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:InlineSmallCode=\f[R]\f[I]size\f[R]
|
||||
Sets the maximum code size (in bytes) for compiled methods that should
|
||||
be inlined.
|
||||
Sets the maximum code size (in bytes) for already compiled methods that
|
||||
may be inlined.
|
||||
Append the letter \f[CB]k\f[R] or \f[CB]K\f[R] to indicate kilobytes,
|
||||
\f[CB]m\f[R] or \f[CB]M\f[R] to indicate megabytes, or \f[CB]g\f[R] or
|
||||
\f[CB]G\f[R] to indicate gigabytes.
|
||||
Only compiled methods with the size smaller than the specified size is
|
||||
inlined.
|
||||
By default, the maximum code size is set to 1000 bytes:
|
||||
The default value depends on the platform and on whether tiered
|
||||
compilation is enabled.
|
||||
In the following example it is set to 1000 bytes:
|
||||
.RS
|
||||
.RS
|
||||
.PP
|
||||
|
@ -2420,8 +2393,23 @@ console every time a method is compiled by using the
|
|||
\f[CB]\-XX:+PrintCompilation\f[R] option.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:FreqInlineSize=\f[R]\f[I]size\f[R]
|
||||
Sets the maximum bytecode size (in bytes) of a hot method to be inlined.
|
||||
Append the letter \f[CB]k\f[R] or \f[CB]K\f[R] to indicate kilobytes,
|
||||
\f[CB]m\f[R] or \f[CB]M\f[R] to indicate megabytes, or \f[CB]g\f[R] or
|
||||
\f[CB]G\f[R] to indicate gigabytes.
|
||||
The default value depends on the platform.
|
||||
In the following example it is set to 325 bytes:
|
||||
.RS
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]\-XX:FreqInlineSize=325\f[R]
|
||||
.RE
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:MaxInlineSize=\f[R]\f[I]size\f[R]
|
||||
Sets the maximum bytecode size (in bytes) of a method to be inlined.
|
||||
Sets the maximum bytecode size (in bytes) of a cold method to be
|
||||
inlined.
|
||||
Append the letter \f[CB]k\f[R] or \f[CB]K\f[R] to indicate kilobytes,
|
||||
\f[CB]m\f[R] or \f[CB]M\f[R] to indicate megabytes, or \f[CB]g\f[R] or
|
||||
\f[CB]G\f[R] to indicate gigabytes.
|
||||
|
@ -2433,14 +2421,30 @@ By default, the maximum bytecode size is set to 35 bytes:
|
|||
.RE
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:MaxNodeLimit=\f[R]\f[I]nodes\f[R]
|
||||
Sets the maximum number of nodes to be used during single method
|
||||
compilation.
|
||||
By default, the maximum number of nodes is set to 65,000:
|
||||
.B \f[CB]\-XX:MaxTrivialSize=\f[R]\f[I]size\f[R]
|
||||
Sets the maximum bytecode size (in bytes) of a trivial method to be
|
||||
inlined.
|
||||
Append the letter \f[CB]k\f[R] or \f[CB]K\f[R] to indicate kilobytes,
|
||||
\f[CB]m\f[R] or \f[CB]M\f[R] to indicate megabytes, or \f[CB]g\f[R] or
|
||||
\f[CB]G\f[R] to indicate gigabytes.
|
||||
By default, the maximum bytecode size of a trivial method is set to 6
|
||||
bytes:
|
||||
.RS
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]\-XX:MaxNodeLimit=65000\f[R]
|
||||
\f[CB]\-XX:MaxTrivialSize=6\f[R]
|
||||
.RE
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:MaxNodeLimit=\f[R]\f[I]nodes\f[R]
|
||||
Sets the maximum number of nodes to be used during single method
|
||||
compilation.
|
||||
By default the value depends on the features enabled.
|
||||
In the following example the maximum number of nodes is set to 100,000:
|
||||
.RS
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]\-XX:MaxNodeLimit=100000\f[R]
|
||||
.RE
|
||||
.RE
|
||||
.TP
|
||||
|
@ -2461,27 +2465,11 @@ This flag is used only if \f[CB]\-XX:SegmentedCodeCache\f[R] is enabled.
|
|||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:MaxTrivialSize=\f[R]\f[I]size\f[R]
|
||||
Sets the maximum bytecode size (in bytes) of a trivial method to be
|
||||
inlined.
|
||||
Append the letter \f[CB]k\f[R] or \f[CB]K\f[R] to indicate kilobytes,
|
||||
\f[CB]m\f[R] or \f[CB]M\f[R] to indicate megabytes, or \f[CB]g\f[R] or
|
||||
\f[CB]G\f[R] to indicate gigabytes.
|
||||
By default, the maximum bytecode size of a trivial method is set to 6
|
||||
bytes:
|
||||
.RS
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]\-XX:MaxTrivialSize=6\f[R]
|
||||
.RE
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+OptimizeStringConcat\f[R]
|
||||
Enables the optimization of \f[CB]String\f[R] concatenation operations.
|
||||
This option is enabled by default.
|
||||
To disable the optimization of \f[CB]String\f[R] concatenation operations,
|
||||
specify \f[CB]\-XX:\-OptimizeStringConcat\f[R].
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
|
@ -2595,15 +2583,25 @@ The default value is 10%.
|
|||
.B \f[CB]\-XX:\-TieredCompilation\f[R]
|
||||
Disables the use of tiered compilation.
|
||||
By default, this option is enabled.
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:UseSSE=\f[R]\f[I]version\f[R]
|
||||
Enables the use of SSE instruction set of a specified version.
|
||||
Is set by default to the highest supported version available (x86 only).
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:UseAVX=\f[R]\f[I]version\f[R]
|
||||
Enables the use of AVX instruction set of a specified version.
|
||||
Is set by default to the highest supported version available (x86 only).
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseAES\f[R]
|
||||
Enables hardware\-based AES intrinsics for Intel, AMD, and SPARC
|
||||
hardware.
|
||||
Intel Westmere (2010 and newer), AMD Bulldozer (2011 and newer), and
|
||||
SPARC (T4 and newer) are the supported hardware.
|
||||
Enables hardware\-based AES intrinsics for hardware that supports it.
|
||||
This option is on by default on hardware that has the necessary
|
||||
instructions.
|
||||
The \f[CB]\-XX:+UseAES\f[R] is used in conjunction with UseAESIntrinsics.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
|
@ -2611,8 +2609,9 @@ Flags that control intrinsics now require the option
|
|||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseAESIntrinsics\f[R]
|
||||
Enables \f[CB]\-XX:+UseAES\f[R] and \f[CB]\-XX:+UseAESIntrinsics\f[R] flags
|
||||
by default and are supported only for the Java HotSpot Server VM.
|
||||
Enables AES intrinsics.
|
||||
Specifying\f[CB]\-XX:+UseAESIntrinsics\f[R] is equivalent to also enabling
|
||||
\f[CB]\-XX:+UseAES\f[R].
|
||||
To disable hardware\-based AES intrinsics, specify
|
||||
\f[CB]\-XX:\-UseAES\ \-XX:\-UseAESIntrinsics\f[R].
|
||||
For example, to enable hardware AES, use the following flags:
|
||||
|
@ -2624,9 +2623,147 @@ For example, to enable hardware AES, use the following flags:
|
|||
.PP
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
To support UseAES and UseAESIntrinsics flags, use the \f[CB]\-server\f[R]
|
||||
option to select the Java HotSpot Server VM.
|
||||
These flags aren\[aq]t supported on Client VM.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseAESCTRIntrinsics\f[R]
|
||||
Analogous to \f[CB]\-XX:+UseAESIntrinsics\f[R] enables AES/CTR intrinsics.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseGHASHIntrinsics\f[R]
|
||||
Controls the use of GHASH intrinsics.
|
||||
Enabled by default on platforms that support the corresponding
|
||||
instructions.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseBASE64Intrinsics\f[R]
|
||||
Controls the use of accelerated BASE64 encoding routines for
|
||||
\f[CB]java.util.Base64\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseAdler32Intrinsics\f[R]
|
||||
Controls the use of Adler32 checksum algorithm intrinsic for
|
||||
\f[CB]java.util.zip.Adler32\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseCRC32Intrinsics\f[R]
|
||||
Controls the use of CRC32 intrinsics for \f[CB]java.util.zip.CRC32\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseCRC32CIntrinsics\f[R]
|
||||
Controls the use of CRC32C intrinsics for \f[CB]java.util.zip.CRC32C\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSHA\f[R]
|
||||
Enables hardware\-based intrinsics for SHA crypto hash functions for
|
||||
SPARC hardware.
|
||||
The \f[CB]UseSHA\f[R] option is used in conjunction with the
|
||||
\f[CB]UseSHA1Intrinsics\f[R], \f[CB]UseSHA256Intrinsics\f[R], and
|
||||
\f[CB]UseSHA512Intrinsics\f[R] options.
|
||||
.RS
|
||||
.PP
|
||||
The \f[CB]UseSHA\f[R] and \f[CB]UseSHA*Intrinsics\f[R] flags are enabled by
|
||||
default on machines that support the corresponding instructions.
|
||||
.PP
|
||||
This feature is applicable only when using the
|
||||
\f[CB]sun.security.provider.Sun\f[R] provider for SHA operations.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.PP
|
||||
To disable all hardware\-based SHA intrinsics, specify the
|
||||
\f[CB]\-XX:\-UseSHA\f[R].
|
||||
To disable only a particular SHA intrinsic, use the appropriate
|
||||
corresponding option.
|
||||
For example: \f[CB]\-XX:\-UseSHA256Intrinsics\f[R].
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSHA1Intrinsics\f[R]
|
||||
Enables intrinsics for SHA\-1 crypto hash function.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSHA256Intrinsics\f[R]
|
||||
Enables intrinsics for SHA\-224 and SHA\-256 crypto hash functions.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSHA512Intrinsics\f[R]
|
||||
Enables intrinsics for SHA\-384 and SHA\-512 crypto hash functions.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseMathExactIntrinsics\f[R]
|
||||
Enables intrinsification of various \f[CB]java.lang.Math.*Exact()\f[R]
|
||||
functions.
|
||||
Enabled by default.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseMultiplyToLenIntrinsic\f[R]
|
||||
Enables intrinsification of \f[CB]BigInteger.multiplyToLen()\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-XX:+UseSquareToLenIntrinsic
|
||||
Enables intrinsification of \f[CB]BigInteger.squareToLen()\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-XX:+UseMulAddIntrinsic
|
||||
Enables intrinsification of \f[CB]BigInteger.mulAdd()\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-XX:+UseMontgomeryMultiplyIntrinsic
|
||||
Enables intrinsification of \f[CB]BigInteger.montgomeryMultiply()\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-XX:+UseMontgomerySquareIntrinsic
|
||||
Enables intrinsification of \f[CB]BigInteger.montgomerySquare()\f[R].
|
||||
Enabled by default on platforms that support it.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseCMoveUnconditionally\f[R]
|
||||
|
@ -2650,13 +2787,31 @@ This option is disabled by default.
|
|||
It should be used only on machines with multiple sockets, where it
|
||||
increases the performance of Java applications that rely on concurrent
|
||||
operations.
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseCountedLoopSafepoints\f[R]
|
||||
Keeps safepoints in counted loops.
|
||||
Its default value is false.\
|
||||
Its default value depends on whether the selected garbage collector
|
||||
requires low latency safepoints.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:LoopStripMiningIter=\f[R]\f[I]number_of_iterations\f[R]
|
||||
Controls the number of iterations in the inner strip mined loop.
|
||||
Strip mining transforms counted loops into two level nested loops.
|
||||
Safepoints are kept in the outer loop while the inner loop can execute
|
||||
at full speed.
|
||||
This option controls the maximum number of iterations in the inner loop.
|
||||
The default value is 1,000.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:LoopStripMiningIterShortLoop\f[R]=\f[I]number_of_iterations\f[R]
|
||||
Controls loop strip mining optimization.
|
||||
Loops with the number of iterations less than specified will not have
|
||||
safepoints in them.
|
||||
Default value is 1/10th of \f[CB]\-XX:LoopStripMiningIter\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
|
@ -2687,8 +2842,8 @@ Generates Restricted Transactional Memory (RTM) locking code for all
|
|||
inflated locks, with the normal locking mechanism as the fallback
|
||||
handler.
|
||||
This option is disabled by default.
|
||||
Options related to RTM are available only for the Java HotSpot Server VM
|
||||
on x86 CPUs that support Transactional Synchronization Extensions (TSX).
|
||||
Options related to RTM are available only on x86 CPUs that support
|
||||
Transactional Synchronization Extensions (TSX).
|
||||
.RS
|
||||
.PP
|
||||
RTM is part of Intel\[aq]s TSX, which is an x86 instruction set
|
||||
|
@ -2731,51 +2886,6 @@ other processors, which forces them to read from main memory instead of
|
|||
their cache.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSHA\f[R]
|
||||
Enables hardware\-based intrinsics for SHA crypto hash functions for
|
||||
SPARC hardware.
|
||||
The \f[CB]UseSHA\f[R] option is used in conjunction with the
|
||||
\f[CB]UseSHA1Intrinsics\f[R], \f[CB]UseSHA256Intrinsics\f[R], and
|
||||
\f[CB]UseSHA512Intrinsics\f[R] options.
|
||||
.RS
|
||||
.PP
|
||||
The \f[CB]UseSHA\f[R] and \f[CB]UseSHA*Intrinsics\f[R] flags are enabled by
|
||||
default, and are supported only for Java HotSpot Server VM 64\-bit on
|
||||
SPARC T4 and newer.
|
||||
.PP
|
||||
This feature is applicable only when using the
|
||||
\f[CB]sun.security.provider.Sun\f[R] provider for SHA operations.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.PP
|
||||
To disable all hardware\-based SHA intrinsics, specify the
|
||||
\f[CB]\-XX:\-UseSHA\f[R].
|
||||
To disable only a particular SHA intrinsic, use the appropriate
|
||||
corresponding option.
|
||||
For example: \f[CB]\-XX:\-UseSHA256Intrinsics\f[R].
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSHA1Intrinsics\f[R]
|
||||
Enables intrinsics for SHA\-1 crypto hash function.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSHA256Intrinsics\f[R]
|
||||
Enables intrinsics for SHA\-224 and SHA\-256 crypto hash functions.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSHA512Intrinsics\f[R]
|
||||
Enables intrinsics for SHA\-384 and SHA\-512 crypto hash functions.
|
||||
Flags that control intrinsics now require the option
|
||||
\f[CB]\-XX:+UnlockDiagnosticVMOptions\f[R].
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSuperWord\f[R]
|
||||
Enables the transformation of scalar operations into superword
|
||||
operations.
|
||||
|
@ -2783,7 +2893,6 @@ Superword is a vectorization optimization.
|
|||
This option is enabled by default.
|
||||
To disable the transformation of scalar operations into superword
|
||||
operations, specify \f[CB]\-XX:\-UseSuperWord\f[R].
|
||||
Only the Java HotSpot Server VM supports this option.
|
||||
.RS
|
||||
.RE
|
||||
.SH ADVANCED SERVICEABILITY OPTIONS FOR JAVA
|
||||
|
@ -2975,7 +3084,6 @@ By default, this option is disabled and all pages are committed as the
|
|||
application uses the heap space.
|
||||
.RS
|
||||
.RE
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:ConcGCThreads=\f[R]\f[I]threads\f[R]
|
||||
Sets the number of threads used for concurrent GC.
|
||||
|
@ -3707,14 +3815,6 @@ If it\[aq]s enabled, then the \f[CB]\-XX:+UseParallelOldGC\f[R] option is
|
|||
automatically enabled, unless you explicitly disable it.
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseParallelOldGC\f[R]
|
||||
Enables the use of the parallel garbage collector for full GCs.
|
||||
By default, this option is disabled.
|
||||
Enabling it automatically enables the \f[CB]\-XX:+UseParallelGC\f[R]
|
||||
option.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseSerialGC\f[R]
|
||||
Enables the use of the serial garbage collector.
|
||||
This is generally the best choice for small and simple applications that
|
||||
|
@ -3799,15 +3899,6 @@ Example:
|
|||
\f[CB]\-Xlog:gc:garbage\-collection.log\f[R]
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+FailOverToOldVerifier\f[R]
|
||||
Enables automatic failover to the old verifier when the new type checker
|
||||
fails.
|
||||
By default, this option is disabled and it\[aq]s ignored (that is,
|
||||
treated as disabled) for classes with a recent bytecode version.
|
||||
You can enable it only for classes with older versions of the bytecode.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+FlightRecorder\f[R]
|
||||
Enables the use of Java Flight Recorder (JFR) during the runtime of the
|
||||
application.
|
||||
|
@ -3902,6 +3993,27 @@ The replacement Unified Logging syntax is
|
|||
See \f[B]Enable Logging with the JVM Unified Logging Framework\f[R].
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseParallelOldGC\f[R]
|
||||
Enables the use of the parallel garbage collector for full GCs.
|
||||
By default, this option is disabled.
|
||||
Enabling it automatically enables the \f[CB]\-XX:+UseParallelGC\f[R]
|
||||
option.
|
||||
.RS
|
||||
.RE
|
||||
.SH OBSOLETE JAVA OPTIONS
|
||||
.PP
|
||||
These \f[CB]java\f[R] options are still accepted but ignored, and a
|
||||
warning is issued when they\[aq]re used.
|
||||
.TP
|
||||
.B \f[CB]\-XX:+FailOverToOldVerifier\f[R]
|
||||
Enables automatic failover to the old verifier when the new type checker
|
||||
fails.
|
||||
By default, this option is disabled and it\[aq]s ignored (that is,
|
||||
treated as disabled) for classes with a recent bytecode version.
|
||||
You can enable it only for classes with older versions of the bytecode.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+UseMembar\f[R]
|
||||
Enabled issuing membars on thread\-state transitions.
|
||||
This option was disabled by default on all platforms except ARM servers,
|
||||
|
@ -3925,23 +4037,14 @@ This option was deprecated in JDK 8 and superseded by the
|
|||
.RE
|
||||
.SH REMOVED JAVA OPTIONS
|
||||
.PP
|
||||
These \f[CB]java\f[R] options have been removed in JDK 13 and using them
|
||||
results in an error of:
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]Unrecognized\ VM\ option\f[R] \f[I]option\-name\f[R]
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+AggressiveOpts\f[R]
|
||||
Enabled the use of aggressive performance optimization features.
|
||||
By default, this option was disabled and experimental performance
|
||||
features were not used.
|
||||
.RS
|
||||
.RE
|
||||
No documented \f[CB]java\f[R] options have been removed in JDK 14.
|
||||
.PP
|
||||
For the lists and descriptions of options removed in previous releases
|
||||
see the \f[I]Removed Java Options\f[R] section in:
|
||||
.IP \[bu] 2
|
||||
\f[B]Java Platform, Standard Edition Tools Reference, Release 13\f[R]
|
||||
[https://docs.oracle.com/en/java/javase/13/docs/specs/man/java.html]
|
||||
.IP \[bu] 2
|
||||
\f[B]Java Platform, Standard Edition Tools Reference, Release 12\f[R]
|
||||
[https://docs.oracle.com/en/java/javase/12/tools/java.html#GUID\-3B1CE181\-CD30\-4178\-9602\-230B800D4FAE]
|
||||
.IP \[bu] 2
|
||||
|
@ -4012,7 +4115,6 @@ entirety.
|
|||
A string within quotation marks may contain the characters \f[CB]\\n\f[R],
|
||||
\f[CB]\\r\f[R], \f[CB]\\t\f[R], and \f[CB]\\f\f[R].
|
||||
They are converted to their respective ASCII codes.
|
||||
\
|
||||
.IP \[bu] 2
|
||||
If a file name contains embedded spaces, then put the whole file name in
|
||||
double quotation marks.
|
||||
|
@ -4032,11 +4134,11 @@ arguments are presented to the launcher literally).
|
|||
Lines may be continued using the continuation character (\f[CB]\\\f[R]) at
|
||||
the end\-of\-line.
|
||||
The two lines are concatenated with the leading white spaces trimmed.
|
||||
To prevent trimming the \ leading white spaces, a continuation character
|
||||
To prevent trimming the leading white spaces, a continuation character
|
||||
(\f[CB]\\\f[R]) may be placed at the first column.
|
||||
.IP \[bu] 2
|
||||
Because backslash (\\) is an escape character, a backslash
|
||||
character\ must be escaped with another backslash character.
|
||||
Because backslash (\\) is an escape character, a backslash character
|
||||
must be escaped with another backslash character.
|
||||
.IP \[bu] 2
|
||||
Partial quote is allowed and is closed by an end\-of\-file.
|
||||
.IP \[bu] 2
|
||||
|
@ -4067,7 +4169,7 @@ this is interpreted as:
|
|||
.PP
|
||||
\f[CB]\-cp\ lib/cool/app/jars\f[R]
|
||||
.RE
|
||||
.SS Example of a Backslash Character\ Escaped with Another Backslash
|
||||
.SS Example of a Backslash Character Escaped with Another Backslash
|
||||
Character in an Argument File
|
||||
.PP
|
||||
To output the following:
|
||||
|
@ -4079,7 +4181,7 @@ To output the following:
|
|||
The backslash character must be specified in the argument file as:
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]\-cp\ \ "c:\\\\Program\ Files\ (x86)\\\\Java\\\\jre\\\\lib\\\\ext;c:\\\\Program\ Files\\\\Java\\\\jre9\\\\lib\\\\ext"\f[R]
|
||||
\f[CB]\-cp\ "c:\\\\Program\ Files\ (x86)\\\\Java\\\\jre\\\\lib\\\\ext;c:\\\\Program\ Files\\\\Java\\\\jre9\\\\lib\\\\ext"\f[R]
|
||||
.RE
|
||||
.SS Example of an EOL Escape Used to Force Concatenation of Lines in an
|
||||
Argument File
|
||||
|
@ -4105,7 +4207,7 @@ In the argument file,
|
|||
.nf
|
||||
\f[CB]
|
||||
\-cp\ "/lib/cool\\
|
||||
\\app/jars”
|
||||
\\app/jars???
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
|
@ -4894,10 +4996,10 @@ JVM exits with an error:
|
|||
.IP
|
||||
.nf
|
||||
\f[CB]
|
||||
java\ \-XX:AllocatePrefetchStyle=5\ \-version\ \ \
|
||||
intx\ AllocatePrefetchStyle=5\ is\ outside\ the\ allowed\ range\ [\ 0\ ...\ 3\ ]\ \ \
|
||||
Improperly\ specified\ VM\ option\ \[aq]AllocatePrefetchStyle=5\[aq]\ \ \
|
||||
Error:\ Could\ not\ create\ the\ Java\ Virtual\ Machine.\ \
|
||||
java\ \-XX:AllocatePrefetchStyle=5\ \-version
|
||||
intx\ AllocatePrefetchStyle=5\ is\ outside\ the\ allowed\ range\ [\ 0\ ...\ 3\ ]
|
||||
Improperly\ specified\ VM\ option\ \[aq]AllocatePrefetchStyle=5\[aq]
|
||||
Error:\ Could\ not\ create\ the\ Java\ Virtual\ Machine.
|
||||
Error:\ A\ fatal\ exception\ has\ occurred.\ Program\ will\ exit.
|
||||
\f[R]
|
||||
.fi
|
||||
|
@ -5571,18 +5673,19 @@ additional shared data to add to the archive file.
|
|||
\f[CB]\-XX:SharedArchiveConfigFile=\f[R]\f[I]shared_config_file\f[R]
|
||||
.RE
|
||||
.PP
|
||||
JDK 9 and later supports adding both symbols and\ string objects to an
|
||||
archive for memory sharing\ when you have multiple JVM processes running
|
||||
JDK 9 and later supports adding both symbols and string objects to an
|
||||
archive for memory sharing when you have multiple JVM processes running
|
||||
on the same host.
|
||||
An example of this is having multiple JVM processes that use the same
|
||||
set of Java EE classes.
|
||||
When these common classes are loaded and used, new symbols and strings
|
||||
may be created and added to the JVM\[aq]s internal "symbol" and "string"
|
||||
tables.\ At runtime, the symbols or string objects mapped from the
|
||||
archive file can be shared across multiple JVM processes, resulting in a
|
||||
reduction of overall memory usage.\ In addition, archiving strings also
|
||||
provides added performance benefits in both startup time and runtime
|
||||
execution.
|
||||
tables.
|
||||
At runtime, the symbols or string objects mapped from the archive file
|
||||
can be shared across multiple JVM processes, resulting in a reduction of
|
||||
overall memory usage.
|
||||
In addition, archiving strings also provides added performance benefits
|
||||
in both startup time and runtime execution.
|
||||
.PP
|
||||
In JDK 10 and later, CONSTANT_String entries in archived classes are
|
||||
resolved to interned String objects at dump time, and all interned
|
||||
|
@ -5597,7 +5700,7 @@ running JVM process.
|
|||
See \f[B]jcmd\f[R].
|
||||
.PP
|
||||
The following is an example of the symbol dumping command in
|
||||
\f[CB]jcmd\f[R]:\
|
||||
\f[CB]jcmd\f[R]:
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]jcmd\f[R] \f[I]pid\f[R] \f[CB]VM.symboltable\ \-verbose\f[R]
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
.\"
|
||||
.\" This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
.\" version 2 for more details (a copy is included in the LICENSE file that
|
||||
.\" accompanied this code).
|
||||
.\"
|
||||
|
@ -21,7 +21,7 @@
|
|||
.\"
|
||||
.\" Automatically generated by Pandoc 2.3.1
|
||||
.\"
|
||||
.TH "JFR" "1" "2019" "JDK 13" "JDK Commands"
|
||||
.TH "JFR" "1" "2020" "JDK 14" "JDK Commands"
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
.\"
|
||||
.\" This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
.\" version 2 for more details (a copy is included in the LICENSE file that
|
||||
.\" accompanied this code).
|
||||
.\"
|
||||
|
@ -22,7 +22,7 @@
|
|||
.\"
|
||||
.\" Automatically generated by Pandoc 2.3.1
|
||||
.\"
|
||||
.TH "KEYTOOL" "1" "2019" "JDK 13" "JDK Commands"
|
||||
.TH "KEYTOOL" "1" "2020" "JDK 14" "JDK Commands"
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
|
@ -325,10 +325,10 @@ The following commands creates four key pairs named \f[CB]ca\f[R],
|
|||
.IP
|
||||
.nf
|
||||
\f[CB]
|
||||
keytool\ \-alias\ ca\ \-dname\ CN=CA\ \-genkeypair
|
||||
keytool\ \-alias\ ca1\ \-dname\ CN=CA\ \-genkeypair
|
||||
keytool\ \-alias\ ca2\ \-dname\ CN=CA\ \-genkeypair
|
||||
keytool\ \-alias\ e1\ \-dname\ CN=E1\ \-genkeypair
|
||||
keytool\ \-alias\ ca\ \-dname\ CN=CA\ \-genkeypair\ \-keyalg\ rsa
|
||||
keytool\ \-alias\ ca1\ \-dname\ CN=CA\ \-genkeypair\ \-keyalg\ rsa
|
||||
keytool\ \-alias\ ca2\ \-dname\ CN=CA\ \-genkeypair\ \-keyalg\ rsa
|
||||
keytool\ \-alias\ e1\ \-dname\ CN=E1\ \-genkeypair\ \-keyalg\ rsa
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
|
@ -365,7 +365,7 @@ command:
|
|||
.IP \[bu] 2
|
||||
{\f[CB]\-alias\f[R] \f[I]alias\f[R]}: Alias name of the entry to process
|
||||
.IP \[bu] 2
|
||||
{\f[CB]\-keyalg\f[R] \f[I]alg\f[R]}: Key algorithm name
|
||||
\f[CB]\-keyalg\f[R] \f[I]alg\f[R]: Key algorithm name
|
||||
.IP \[bu] 2
|
||||
{\f[CB]\-keysize\f[R] \f[I]size\f[R]}: Key bit size
|
||||
.IP \[bu] 2
|
||||
|
@ -379,7 +379,7 @@ For example, an Elliptic Curve name.
|
|||
{\f[CB]\-startdate\f[R] \f[I]date\f[R]}: Certificate validity start date
|
||||
and time
|
||||
.IP \[bu] 2
|
||||
[\f[CB]\-ext\f[R] \f[I]value\f[R]}*: X.509 extension
|
||||
{\f[CB]\-ext\f[R] \f[I]value\f[R]}*: X.509 extension
|
||||
.IP \[bu] 2
|
||||
{\f[CB]\-validity\f[R] \f[I]days\f[R]}: Validity number of days
|
||||
.IP \[bu] 2
|
||||
|
@ -503,7 +503,7 @@ command:
|
|||
.IP \[bu] 2
|
||||
[\f[CB]\-keypass\f[R] \f[I]arg\f[R]]: Key password
|
||||
.IP \[bu] 2
|
||||
{\f[CB]\-keyalg\f[R] \f[I]alg\f[R]}: Key algorithm name
|
||||
\f[CB]\-keyalg\f[R] \f[I]alg\f[R]: Key algorithm name
|
||||
.IP \[bu] 2
|
||||
{\f[CB]\-keysize\f[R] \f[I]size\f[R]}: Key bit size
|
||||
.IP \[bu] 2
|
||||
|
@ -675,7 +675,7 @@ The following are the available options for the
|
|||
\f[CB]\-importkeystore\f[R] command:
|
||||
.RS
|
||||
.IP \[bu] 2
|
||||
{\f[CB]\-srckeystore\f[R] \f[I]keystore\f[R]}: Source keystore name
|
||||
\f[CB]\-srckeystore\f[R] \f[I]keystore\f[R]: Source keystore name
|
||||
.IP \[bu] 2
|
||||
{\f[CB]\-destkeystore\f[R] \f[I]keystore\f[R]}: Destination keystore name
|
||||
.IP \[bu] 2
|
||||
|
@ -1028,7 +1028,7 @@ The following are the available options for the \f[CB]\-printcrl\f[R]
|
|||
command:
|
||||
.RS
|
||||
.IP \[bu] 2
|
||||
\f[CB]\-file\ crl\f[R]: Input file name
|
||||
{\f[CB]\-file\ crl\f[R]}: Input file name
|
||||
.IP \[bu] 2
|
||||
{\f[CB]\-v\f[R]}: Verbose output
|
||||
.PP
|
||||
|
@ -1470,10 +1470,6 @@ The following examples show the defaults for various option values:
|
|||
\f[CB]
|
||||
\-alias\ "mykey"
|
||||
|
||||
\-keyalg
|
||||
\ \ \ \ "DSA"\ (when\ using\ \-genkeypair)
|
||||
\ \ \ \ "DES"\ (when\ using\ \-genseckey)
|
||||
|
||||
\-keysize
|
||||
\ \ \ \ 2048\ (when\ using\ \-genkeypair\ and\ \-keyalg\ is\ "RSA")
|
||||
\ \ \ \ 2048\ (when\ using\ \-genkeypair\ and\ \-keyalg\ is\ "DSA")
|
||||
|
@ -1523,7 +1519,7 @@ T}@T{
|
|||
SHA256withDSA
|
||||
T}
|
||||
T{
|
||||
RSA \ \ \
|
||||
RSA
|
||||
T}@T{
|
||||
<= 3072
|
||||
T}@T{
|
||||
|
@ -1778,7 +1774,7 @@ Create a keystore and then generate the key pair.
|
|||
You can enter the command as a single line such as the following:
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]keytool\ \-genkeypair\ \-dname\ "cn=myname,\ ou=mygroup,\ o=mycompany,\ c=mycountry"\ \-alias\ business\ \-keypass\f[R]
|
||||
\f[CB]keytool\ \-genkeypair\ \-dname\ "cn=myname,\ ou=mygroup,\ o=mycompany,\ c=mycountry"\ \-alias\ business\ \-keyalg\ rsa\ \-keypass\f[R]
|
||||
\f[I]password\f[R]
|
||||
\f[CB]\-keystore\ /working/mykeystore\ \-storepass\ password\ \-validity\ 180\f[R]
|
||||
.RE
|
||||
|
@ -1790,10 +1786,10 @@ It generates a public/private key pair for the entity whose
|
|||
distinguished name is \f[CB]myname\f[R], \f[CB]mygroup\f[R],
|
||||
\f[CB]mycompany\f[R], and a two\-letter country code of
|
||||
\f[CB]mycountry\f[R].
|
||||
It uses the default DSA key generation algorithm to create the keys;
|
||||
both are 2048 bits
|
||||
It uses the RSA key generation algorithm to create the keys; both are
|
||||
2048 bits
|
||||
.PP
|
||||
The command uses the default SHA256withDSA signature algorithm to create
|
||||
The command uses the default SHA256withRSA signature algorithm to create
|
||||
a self\-signed certificate that includes the public key and the
|
||||
distinguished name information.
|
||||
The certificate is valid for 180 days, and is associated with the
|
||||
|
@ -1804,13 +1800,13 @@ The private key is assigned the password specified by
|
|||
.PP
|
||||
The command is significantly shorter when the option defaults are
|
||||
accepted.
|
||||
In this case, no options are required, and the defaults are used for
|
||||
unspecified options that have default values.
|
||||
In this case, only \f[CB]\-keyalg\f[R] is required, and the defaults are
|
||||
used for unspecified options that have default values.
|
||||
You are prompted for any required values.
|
||||
You could have the following:
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]keytool\ \-genkeypair\f[R]
|
||||
\f[CB]keytool\ \-genkeypair\ \-keyalg\ rsa\f[R]
|
||||
.RE
|
||||
.PP
|
||||
In this case, a keystore entry with the alias \f[CB]mykey\f[R] is created,
|
||||
|
@ -1824,10 +1820,9 @@ password, and the private key password.
|
|||
.PP
|
||||
\f[B]Note:\f[R]
|
||||
.PP
|
||||
The rest of the examples assume that you executed the
|
||||
\f[CB]\-genkeypair\f[R] command without specifying options, and that you
|
||||
responded to the prompts with values equal to those specified in the
|
||||
first \f[CB]\-genkeypair\f[R] command.
|
||||
The rest of the examples assume that you responded to the prompts with
|
||||
values equal to those specified in the first \f[CB]\-genkeypair\f[R]
|
||||
command.
|
||||
For example, a distinguished name of
|
||||
\f[CB]cn=\f[R]\f[I]myname\f[R]\f[CB],\ ou=\f[R]\f[I]mygroup\f[R]\f[CB],\ o=\f[R]\f[I]mycompany\f[R]\f[CB],\ c=\f[R]\f[I]mycountry\f[R]).
|
||||
.SH REQUESTING A SIGNED CERTIFICATE FROM A CA
|
||||
|
@ -2042,13 +2037,12 @@ Intermediate CA (\f[CB]ca\f[R])
|
|||
SSL server (\f[CB]server\f[R])
|
||||
.PP
|
||||
Ensure that you store all the certificates in the same keystore.
|
||||
In the following examples, RSA is the recommended the key algorithm.
|
||||
.IP
|
||||
.nf
|
||||
\f[CB]
|
||||
keytool\ \-genkeypair\ \-keystore\ root.jks\ \-alias\ root\ \-ext\ bc:c
|
||||
keytool\ \-genkeypair\ \-keystore\ ca.jks\ \-alias\ ca\ \-ext\ bc:c
|
||||
keytool\ \-genkeypair\ \-keystore\ server.jks\ \-alias\ server
|
||||
keytool\ \-genkeypair\ \-keystore\ root.jks\ \-alias\ root\ \-ext\ bc:c\ \-keyalg\ rsa
|
||||
keytool\ \-genkeypair\ \-keystore\ ca.jks\ \-alias\ ca\ \-ext\ bc:c\ \-keyalg\ rsa
|
||||
keytool\ \-genkeypair\ \-keystore\ server.jks\ \-alias\ server\ \-keyalg\ rsa
|
||||
|
||||
keytool\ \-keystore\ root.jks\ \-alias\ root\ \-exportcert\ \-rfc\ >\ root.pem
|
||||
|
||||
|
@ -2117,7 +2111,8 @@ certificate with the following command.
|
|||
See \f[B]Certificate Chains\f[R].
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]keytool\ \-genkeypair\ \-alias\ duke\ \-keypass\f[R] \f[I]passwd\f[R]
|
||||
\f[CB]keytool\ \-genkeypair\ \-alias\ duke\ \-keyalg\ rsa\ \-keypass\f[R]
|
||||
\f[I]passwd\f[R]
|
||||
.RE
|
||||
.PP
|
||||
This example specifies an initial \f[I]passwd\f[R] required by subsequent
|
||||
|
@ -2615,7 +2610,7 @@ A sample distinguished name string is:
|
|||
A sample command using such a string is:
|
||||
.RS
|
||||
.PP
|
||||
\f[CB]keytool\ \-genkeypair\ \-dname\ "CN=Mark\ Smith,\ OU=Java,\ O=Oracle,\ L=Cupertino,\ S=California,\ C=US"\ \-alias\ mark\f[R]
|
||||
\f[CB]keytool\ \-genkeypair\ \-dname\ "CN=Mark\ Smith,\ OU=Java,\ O=Oracle,\ L=Cupertino,\ S=California,\ C=US"\ \-alias\ mark\ \-keyalg\ rsa\f[R]
|
||||
.RE
|
||||
.PP
|
||||
Case doesn\[aq]t matter for the keyword abbreviations.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue