### Install Autoconf on Windows (Cygwin) Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs Autoconf on Windows using the Cygwin setup utility. ```bash /setup-x86_64 -q -P autoconf ``` -------------------------------- ### Install Cygwin Packages for JDK Build Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs necessary packages for building the JDK on Windows using Cygwin. Ensure the path to the Cygwin setup executable is correct. ```bash /setup-x86_64 -q -P autoconf -P make -P unzip -P zip ``` -------------------------------- ### Install Build Tools on Debian/Ubuntu Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs essential build tools for apt-based Linux distributions. ```bash sudo apt-get install build-essential ``` -------------------------------- ### Install libffi on Alpine Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs the libffi development library on Alpine Linux. ```bash sudo apk add libffi-dev ``` -------------------------------- ### Install Build Tools on Alpine Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs basic tooling and GNU versions of specific programs for Alpine Linux. ```bash sudo apk add build-base bash grep zip ``` -------------------------------- ### Install X11 Libraries for Target System Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs X11 libraries into the cross-compilation toolchain. This is necessary even for headless JDK builds. The provided commands may produce expected 'No such file or directory' errors for certain libraries. ```bash cd /tools/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux/arm-linux-gnueabihf/libc/usr mkdir X11R6 cd X11R6 for deb in /tmp/target-x11/*.deb ; do dpkg-deb -x $deb . ; done mv usr/* . cd lib cp arm-linux-gnueabihf/* . ``` -------------------------------- ### Create and Build Configuration in a Subdirectory Source: https://github.com/adoptium/jdk17/blob/master/doc/building.md Shows how to create a new build configuration by making a directory under `build` and running `configure` from within it. ```bash mkdir build/ && cd build/ && bash ../../configure ``` ```bash make ``` -------------------------------- ### Build all configurations Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Build all available configurations by using an empty pattern for CONF. ```bash make CONF= hotspot ``` -------------------------------- ### getPreviousWord Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/java.desktop-8.sym.txt Gets the starting offset of the previous word before the given position in a text component. ```APIDOC ## getPreviousWord ### Description Gets the starting offset of the previous word before the given position in a text component. ### Method (Not specified, likely a static or instance method) ### Parameters * **textComponent** (javax.swing.text.JTextComponent) - The text component. * **position** (int) - The position within the text component. ### Thrown * **javax.swing.text.BadLocationException** - If the position is invalid. ### Response * **int** - The starting offset of the previous word. ``` -------------------------------- ### Get all configure arguments Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Displays comprehensive help information for all available `configure` arguments. ```bash bash configure --help ``` -------------------------------- ### getNextWord Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/java.desktop-8.sym.txt Gets the starting offset of the next word after the given position in a text component. ```APIDOC ## getNextWord ### Description Gets the starting offset of the next word after the given position in a text component. ### Method (Not specified, likely a static or instance method) ### Parameters * **textComponent** (javax.swing.text.JTextComponent) - The text component. * **position** (int) - The position within the text component. ### Thrown * **javax.swing.text.BadLocationException** - If the position is invalid. ### Response * **int** - The starting offset of the next word. ``` -------------------------------- ### Create Devkits for Specific Targets and OS Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html This example demonstrates creating devkits for `ppc64le-linux-gnu` and `aarch64-linux-gnu` targets using Fedora 21 as the base OS. The resulting devkits will be located in `build/devkit/result`. ```bash cd make/devkit make TARGETS="ppc64le-linux-gnu aarch64-linux-gnu" BASE_OS=Fedora BASE_OS_VERSION=21 ``` -------------------------------- ### Execute make in the configuration directory Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Alternatively, navigate to the specific configuration directory and run make from there. ```bash cd build/ && make ``` -------------------------------- ### getWordStart Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/java.desktop-8.sym.txt Gets the starting offset of the word containing the given position in a text component. ```APIDOC ## getWordStart ### Description Gets the starting offset of the word containing the given position in a text component. ### Method (Not specified, likely a static or instance method) ### Parameters * **textComponent** (javax.swing.text.JTextComponent) - The text component. * **position** (int) - The position within the text component. ### Thrown * **javax.swing.text.BadLocationException** - If the position is invalid. ### Response * **int** - The starting offset of the word. ``` -------------------------------- ### getRowStart Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/java.desktop-8.sym.txt Gets the starting offset of the row containing the given position in a text component. ```APIDOC ## getRowStart ### Description Gets the starting offset of the row containing the given position in a text component. ### Method (Not specified, likely a static or instance method) ### Parameters * **textComponent** (javax.swing.text.JTextComponent) - The text component. * **position** (int) - The position within the text component. ### Thrown * **javax.swing.text.BadLocationException** - If the position is invalid. ### Response * **int** - The starting offset of the row. ``` -------------------------------- ### Create and Build a Named Configuration Source: https://github.com/adoptium/jdk17/blob/master/doc/building.md Demonstrates creating a new build configuration with a specific name and then building it using `make` with the `CONF_NAME` variable. ```bash configure --with-conf-name= ``` ```bash make CONF_NAME= ``` -------------------------------- ### Run the Configure Script Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Execute the configure script to prepare the build environment. This script checks for dependencies and sets up the build configuration. If it fails, follow the on-screen suggestions to resolve missing dependencies. ```bash bash configure ``` -------------------------------- ### ChangeIDControl Class Definition Source: https://github.com/adoptium/jdk17/blob/master/src/java.naming/share/classes/javax/naming/ldap/package.html Example definition of the ChangeIDControl class, including a constructor used by ControlFactory and a user-friendly method to get the change ID. ```java public class ChangeIDControl implements Control { long id; // Constructor used by ControlFactory public ChangeIDControl(String OID, byte[] berVal) throws NamingException { // check validity of OID id = // extract change ID from berVal }; // Type-safe and User-friendly method public long getChangeID() { return id; } // Low-level methods public String getID() { return CHANGEID_OID; } public byte[] getEncodedValue() { return // original berVal } ... ``` -------------------------------- ### Basic configure script invocation Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Creates a build configuration directory and sets up the build environment. ```bash bash configure [options] ``` -------------------------------- ### StartElement Event Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/java.xml-8.sym.txt Represents the start of an XML element. Provides methods to get the element's name, attributes, namespaces, and namespace context. ```APIDOC ## Class: javax/xml/stream/events/StartElement ### Description Represents the start of an XML element. Provides methods to get the element's name, attributes, namespaces, and namespace context. ### Methods - **getName()**: Returns the QName of the element. - **getAttributes()**: Returns an Iterator of attributes for the element. - **getNamespaces()**: Returns an Iterator of namespaces declared for the element. - **getAttributeByName(QName name)**: Returns the attribute with the specified QName. - **getNamespaceContext()**: Returns the NamespaceContext for the element. - **getNamespaceURI(String prefix)**: Returns the namespace URI for the given prefix. ``` -------------------------------- ### ModelMBean for HashMap Management Source: https://github.com/adoptium/jdk17/blob/master/src/java.management/share/classes/javax/management/modelmbean/package.html Demonstrates using RequiredModelMBean to expose specific methods of a HashMap for management via an MBean server. This example exposes only the 'get' method. ```java import java.lang.reflect.Method; import java.util.HashMap; import javax.management.*; import javax.management.modelmbean.*; // ... MBeanServer mbs = MBeanServerFactory.createMBeanServer(); // The MBean Server HashMap map = new HashMap(); // The resource that will be managed // Construct the management interface for the Model MBean Method getMethod = HashMap.class.getMethod("get", new Class[] {Object.class}); ModelMBeanOperationInfo getInfo = new ModelMBeanOperationInfo("Get value for key", getMethod); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(HashMap.class.getName(), "Map of keys and values", null, // no attributes null, // no constructors new ModelMBeanOperationInfo[] {getInfo}, null); // no notifications // Make the Model MBean and link it to the resource ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(map, "ObjectReference"); // Register the Model MBean in the MBean Server ObjectName mapName = new ObjectName(":type=Map,name=whatever"); mbs.registerMBean(mmb, mapName); // Resource can evolve independently of the MBean map.put("key", "value"); // Can access the "get" method through the MBean Server mbs.invoke(mapName, "get", new Object[] {"key"}, new String[] {Object.class.getName()}); // returns "value" ``` -------------------------------- ### StartDocument Event Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/java.xml-8.sym.txt Represents the start of an XML document. Provides methods to get document information like system ID, encoding, version, and standalone status. ```APIDOC ## Class: javax/xml/stream/events/StartDocument ### Description Represents the start of an XML document. Provides methods to get document information like system ID, encoding, version, and standalone status. ### Methods - **getSystemId()**: Returns the system identifier of the document. - **getCharacterEncodingScheme()**: Returns the character encoding scheme of the document. - **encodingSet()**: Returns true if the encoding has been set. - **isStandalone()**: Returns true if the document is standalone. - **standaloneSet()**: Returns true if the standalone status has been set. - **getVersion()**: Returns the XML version of the document. ``` -------------------------------- ### Example Build Failure Summary Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html This is a typical summary printed at the end of a failed build, highlighting the failing target, command output, and make target chain. ```text ERROR: Build failed for target 'hotspot' in configuration 'linux-x64' (exit code 2) === Output from failing command(s) repeated here === * For target hotspot_variant-server_libjvm_objs_psMemoryPool.o: /localhome/git/jdk-sandbox/hotspot/src/share/vm/services/psMemoryPool.cpp:1:1: error: 'failhere' does not name a type ... (rest of output omitted) * All command lines available in /localhome/git/jdk-sandbox/build/linux-x64/make-support/failure-logs. === End of repeated output === === Make failed targets repeated here === lib/CompileJvm.gmk:207: recipe for target '/localhome/git/jdk-sandbox/build/linux-x64/hotspot/variant-server/libjvm/objs/psMemoryPool.o' failed make/Main.gmk:263: recipe for target 'hotspot-server-libs' failed === End of repeated output === Hint: Try searching the build log for the name of the first failed target. Hint: If caused by a warning, try configure --disable-warnings-as-errors. ``` -------------------------------- ### Bind Style to Component Name Source: https://github.com/adoptium/jdk17/blob/master/src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html Applies a specified style to components whose names match a regular expression. This example binds the 'test' style to components starting with 'test'. ```xml ``` -------------------------------- ### Run Stylepad Demo Source: https://github.com/adoptium/jdk17/blob/master/src/demo/share/jfc/Stylepad/README.txt Execute the Stylepad demo application by running its JAR file. Ensure the 'java' command is in your system's PATH. ```bash java -jar Stylepad.jar ``` -------------------------------- ### Arc2D.Double Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/java.desktop-8.sym.txt Represents an arc that is defined by a 2D bounding box, start angle, and arc extent. It provides methods to get and set these properties, as well as construct new Arc2D.Double objects. ```APIDOC ## Class: java.awt.geom.Arc2D.Double ### Description Represents an arc with double-precision floating-point coordinates. ### Methods - **`()`**: Constructs a new Arc2D.Double object. - **`(int type)`**: Constructs a new Arc2D.Double object with the specified type. - **`(double x, double y, double width, double height, double start, double extent, int type)`**: Constructs a new Arc2D.Double object with the specified bounding box, angles, and type. - **`(Rectangle2D rect, double start, double extent, int type)`**: Constructs a new Arc2D.Double object with the specified bounding rectangle, angles, and type. - **`getX()`**: Returns the x-coordinate of the upper-left corner of the bounding box. - **`getY()`**: Returns the y-coordinate of the upper-left corner of the bounding box. - **`getWidth()`**: Returns the width of the bounding box. - **`getHeight()`**: Returns the height of the bounding box. - **`getAngleStart()`**: Returns the starting angle of the arc in degrees. - **`getAngleExtent()`**: Returns the extent of the arc in degrees. - **`isEmpty()`**: Checks if the arc is empty. - **`setArc(double x, double y, double w, double h, double start, double extent, int type)`**: Sets the arc by specifying its bounding box, angles, and type. - **`setAngleStart(double angst)`**: Sets the starting angle of the arc. - **`setAngleExtent(double angExt)`**: Sets the extent of the arc. - **`makeBounds(double x, double y, double w, double h)`**: Creates a bounding rectangle for the arc. ``` -------------------------------- ### View J2D Demo Command Line Options Source: https://github.com/adoptium/jdk17/blob/master/src/demo/share/jfc/J2Ddemo/README.txt Displays all available command-line options for customizing the J2D demo runs. This is helpful for understanding the full range of customization possibilities. ```bash java -jar J2Ddemo.jar -help ``` -------------------------------- ### java.awt.PageAttributes Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/java.desktop-8.sym.txt Provides information about page setup attributes such as color, media size, orientation, and print quality. It includes methods to get and set these attributes, as well as utility methods like clone, equals, hashCode, and toString. ```APIDOC ## Class: java.awt.PageAttributes ### Description Represents the attributes of a page to be printed, such as the paper size, orientation, and print quality. This class allows for detailed control over page rendering for printing. ### Methods - **`()`**: Constructs a new PageAttributes object with default values. - **`(PageAttributes)`**: Constructs a new PageAttributes object by copying attributes from another PageAttributes object. - **`(ColorType, MediaType, OrientationRequestedType, OriginType, PrintQualityType, int[])`**: Constructs a new PageAttributes object with specified attribute values. - **`clone()`**: Returns a copy of this PageAttributes object. - **`set(PageAttributes)`**: Sets all the attributes of this PageAttributes object to the values of another PageAttributes object. - **`getColor()`**: Returns the color type of the page. - **`setColor(ColorType)`**: Sets the color type of the page. - **`getMedia()`**: Returns the media type (paper size) of the page. - **`setMedia(MediaType)`**: Sets the media type (paper size) of the page. - **`setMediaToDefault()`**: Sets the media type to its default value. - **`getOrientationRequested()`**: Returns the requested orientation of the page. - **`setOrientationRequested(OrientationRequestedType)`**: Sets the requested orientation of the page. - **`setOrientationRequested(int)`**: Sets the requested orientation using an integer representation. - **`setOrientationRequestedToDefault()`**: Sets the requested orientation to its default value. - **`getOrigin()`**: Returns the origin type of the page. - **`setOrigin(OriginType)`**: Sets the origin type of the page. - **`getPrintQuality()`**: Returns the print quality of the page. - **`setPrintQuality(PrintQualityType)`**: Sets the print quality of the page. - **`setPrintQuality(int)`**: Sets the print quality using an integer representation. - **`setPrintQualityToDefault()`**: Sets the print quality to its default value. - **`getPrinterResolution()`**: Returns the printer resolution as an array of integers. - **`setPrinterResolution(int[])`**: Sets the printer resolution using an array of integers. - **`setPrinterResolution(int)`**: Sets the printer resolution using an integer representation. - **`setPrinterResolutionToDefault()`**: Sets the printer resolution to its default value. - **`equals(Object)`**: Compares this PageAttributes object with another object for equality. - **`hashCode()`**: Returns a hash code value for this PageAttributes object. - **`toString()`**: Returns a string representation of this PageAttributes object. ``` -------------------------------- ### Build with Make LOG=info Source: https://github.com/adoptium/jdk17/blob/master/doc/building.md Run make with LOG=info to obtain a build time summary at the end of the process, useful for performance tuning. ```bash make LOG=info ``` -------------------------------- ### Install Autoconf on macOS Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs Autoconf on macOS using Homebrew. ```bash brew install autoconf ``` -------------------------------- ### Make configure helper executable and move to path Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html After creating the helper script, make it executable and move it to a system-wide location. ```bash chmod +x /tmp/configure sudo mv /tmp/configure /usr/local/bin ``` -------------------------------- ### Install Autoconf on Alpine Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs Autoconf on Alpine Linux. ```bash sudo apk add autoconf ``` -------------------------------- ### Build Replay JARs with SA Source: https://github.com/adoptium/jdk17/blob/master/src/jdk.hotspot.agent/doc/cireplay.html Use SA to build necessary JAR files (app.jar, boot.jar) for the replay process. Specify 'all', 'boot', or 'app' to control which JARs are created. ```shell hsdb> buildreplayjars [all | boot | app] ``` -------------------------------- ### Running Common Test Targets Source: https://github.com/adoptium/jdk17/blob/master/doc/testing.html Examples of common command-lines for running tests using the 'make test' framework. These commands demonstrate different ways to specify test tiers, specific test groups, and pass additional options. ```bash $ make test-tier1 ``` ```bash $ make test-jdk_lang JTREG="JOBS=8" ``` ```bash $ make test TEST=jdk_lang ``` ```bash $ make test-only TEST="gtest:LogTagSet gtest:LogTagSetDescriptions" GTEST="REPEAT=-1" ``` ```bash $ make test TEST="hotspot:hotspot_gc" JTREG="JOBS=1;TIMEOUT_FACTOR=8;JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug" ``` ```bash $ make test TEST="jtreg:test/hotspot/jtreg/native_sanity/JniVersion.java" ``` ```bash $ make test TEST="micro:java.lang.reflect" MICRO="FORK=1;WARMUP_ITER=2" ``` ```bash $ make exploded-test TEST=tier2 ``` -------------------------------- ### Install Autoconf on apt-based Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs Autoconf on Debian/Ubuntu-based systems. ```bash sudo apt-get install autoconf ``` -------------------------------- ### Create configure helper script Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html This script helps bash completion understand the `configure` command. It needs to be executable and placed in your PATH. ```bash #!/bin/bash if [ $(pwd) = $(cd $(dirname $0); pwd) ] ; then echo >&2 "Abort: Trying to call configure helper recursively" exit 1 fi bash $PWD/configure "$@" ``` -------------------------------- ### Install Autoconf on rpm-based Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs Autoconf on Red Hat/Fedora-based systems. ```bash sudo yum install autoconf ``` -------------------------------- ### Build configurations matching a pattern Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Build configurations that match a given pattern. The special empty pattern matches all configurations. ```bash make CONF= ``` -------------------------------- ### Compiler Control Configuration Example 1 Source: https://github.com/adoptium/jdk17/blob/master/test/hotspot/jtreg/serviceability/dcmd/compiler/control2.txt Configures compiler control with specific match patterns and inline options. Includes settings for breakpoint behavior and node limits. ```json [ { "match": "foo/bar.*", "PrintAssembly": false, "c1": { "BreakAtExecute": false, }, "c2": { "inline" : "+java/util.*", "BreakAtCompile": true }, "inline" : [ "+javax/util.*", "-comx/sun.*"], "PrintAssembly": false, "MaxNodeLimit": 80001 } ``` -------------------------------- ### Install libffi on apt-based Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs the libffi development library on Debian/Ubuntu-based systems. ```bash sudo apt-get install libffi-dev ``` -------------------------------- ### Compiler Control Configuration Example 2 Source: https://github.com/adoptium/jdk17/blob/master/test/hotspot/jtreg/serviceability/dcmd/compiler/control2.txt Configures compiler control with multiple match patterns and inline options. Focuses on breakpoint execution settings. ```json { "match": ["baz.*","frob.*"], "inline" : [ "+java/util.*", "-com/sun.*" ], "PrintAssembly": false, "BreakAtExecute": false } ] ``` -------------------------------- ### Install ALSA on Alpine Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs the ALSA development library on Alpine Linux. ```bash sudo apk add alsa-lib-dev ``` -------------------------------- ### Print Current Configuration Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Save the current configure command line to a file before performing a full clean of the build directory. ```bash make print-configuration > current-configuration ``` -------------------------------- ### Install ALSA on apt-based Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs the ALSA development library on Debian/Ubuntu-based systems. ```bash sudo apt-get install libasound2-dev ``` -------------------------------- ### Get short list of configure arguments Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Displays only JDK-specific `configure` arguments, excluding general autoconf options. ```bash bash configure --help=short ``` -------------------------------- ### Install libffi on rpm-based Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs the libffi development library on Red Hat/Fedora-based systems. ```bash sudo yum install libffi-devel ``` -------------------------------- ### Install ALSA on rpm-based Linux Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs the ALSA development library on Red Hat/Fedora-based systems. ```bash sudo yum install alsa-lib-devel ``` -------------------------------- ### List Keystore Entries Verbose (with password prompt) Source: https://github.com/adoptium/jdk17/blob/master/test/jdk/sun/security/tools/keytool/i18n.html Lists all entries in the keystore with detailed information, prompting for the keystore password. ```bash keytool -list -v ``` -------------------------------- ### Install Build Tools on Fedora/Red Hat Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs essential development tools for rpm-based Linux distributions. ```bash sudo yum groupinstall "Development Tools" ``` -------------------------------- ### Configure for 32-bit Windows build with FreeType2 Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Creates a 32-bit build for Windows, specifying the FreeType2 path and target bits. ```bash bash configure --with-freetype=/cygdrive/c/freetype-i586 --with-target-bits=32 ``` -------------------------------- ### Run SwingSet2 as an Applet Source: https://github.com/adoptium/jdk17/blob/master/src/demo/share/jfc/SwingSet2/README.txt Launch the SwingSet2 demo as an applet using the appletviewer. ```bash appletviewer SwingSet2.html ``` -------------------------------- ### Connection ID Example Source: https://github.com/adoptium/jdk17/blob/master/src/java.management/share/classes/javax/management/remote/package.html Provides an example of a connection identifier string generated by a JMX connector server. ```text rmi://192.18.1.9 username 1 ``` -------------------------------- ### Install Cross-Compiler for AArch64 Source: https://github.com/adoptium/jdk17/blob/master/doc/building.html Installs the necessary GNU cross-compilers for AArch64 on Debian/Ubuntu systems. This is a prerequisite for cross-compiling to AArch64. ```bash apt install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu ``` -------------------------------- ### com.sun.jdi.Bootstrap Source: https://github.com/adoptium/jdk17/blob/master/make/data/symbols/jdk.jdi-9.sym.txt Provides access to the VirtualMachineManager. ```APIDOC ## class com.sun.jdi.Bootstrap ### Description Provides access to the VirtualMachineManager. ### Methods - **()**: Constructor for Bootstrap. - **virtualMachineManager()**: Returns the VirtualMachineManager. ```