diff --git a/.hgtags b/.hgtags index 49424e043a0..82b9404a86c 100644 --- a/.hgtags +++ b/.hgtags @@ -246,3 +246,5 @@ a1ee9743f4ee165eae59389a020f2552f895dac8 jdk8-b120 f130ca87de6637acae7d99fcd7a8573eea1cbaed jdk9-b01 b32e2219736e42baaf45daf0ad67ed34f6033799 jdk9-b02 7f655f31f9bcee618cf832f08176ad8c1ed3fdd3 jdk9-b03 +099891b1d86f3719e116ac717ffdafc90d037fb7 jdk9-b04 +dd311791ad6895a3989020dd6c6c46db87972ab8 jdk9-b05 diff --git a/.hgtags-top-repo b/.hgtags-top-repo index 45398d20075..4119c1cfd65 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -246,3 +246,5 @@ cd3825b2983045784d6fc6d1729c799b08215752 jdk8-b120 50669e45cec4491de0d921d3118a3fe2e767020a jdk9-b01 135f0c7af57ebace31383d8877f47e32172759ff jdk9-b02 fd8d51bdf9aadf7ae83e65e8655c53581017c363 jdk9-b03 +cb4c3440bc2748101923e2488506e61009ab1bf5 jdk9-b04 +8c63f0b6ada282f27e3a80125e53c3be603f9af7 jdk9-b05 diff --git a/common/autoconf/boot-jdk.m4 b/common/autoconf/boot-jdk.m4 index 170049731dc..edd6cec4ffb 100644 --- a/common/autoconf/boot-jdk.m4 +++ b/common/autoconf/boot-jdk.m4 @@ -350,8 +350,23 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS], AC_MSG_CHECKING([flags for boot jdk java command] ) + # Disable special log output when a debug build is used as Boot JDK... + ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA]) + + # Apply user provided options. + ADD_JVM_ARG_IF_OK([$with_boot_jdk_jvmargs],boot_jdk_jvmargs,[$JAVA]) + + AC_MSG_RESULT([$boot_jdk_jvmargs]) + + # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs + JAVA_FLAGS=$boot_jdk_jvmargs + AC_SUBST(JAVA_FLAGS) + + + AC_MSG_CHECKING([flags for boot jdk java command for big workloads]) + # Starting amount of heap memory. - ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA]) + ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA]) # Maximum amount of heap memory. # Maximum stack size. @@ -366,20 +381,24 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS], JVM_MAX_HEAP=1600M STACK_SIZE=1536 fi - ADD_JVM_ARG_IF_OK([-Xmx$JVM_MAX_HEAP],boot_jdk_jvmargs,[$JAVA]) - ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA]) + ADD_JVM_ARG_IF_OK([-Xmx$JVM_MAX_HEAP],boot_jdk_jvmargs_big,[$JAVA]) + ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA]) - # Disable special log output when a debug build is used as Boot JDK... - ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA]) + AC_MSG_RESULT([$boot_jdk_jvmargs_big]) - # Apply user provided options. - ADD_JVM_ARG_IF_OK([$with_boot_jdk_jvmargs],boot_jdk_jvmargs,[$JAVA]) + JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big + AC_SUBST(JAVA_FLAGS_BIG) - AC_MSG_RESULT([$boot_jdk_jvmargs]) - # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs - JAVA_FLAGS=$boot_jdk_jvmargs + AC_MSG_CHECKING([flags for boot jdk java command for small workloads]) - AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs) - AC_SUBST(JAVA_FLAGS, $JAVA_FLAGS) + # Use serial gc for small short lived tools if possible + ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA]) + ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA]) + ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA]) + + AC_MSG_RESULT([$boot_jdk_jvmargs_small]) + + JAVA_FLAGS_SMALL=$boot_jdk_jvmargs_small + AC_SUBST(JAVA_FLAGS_SMALL) ]) diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4 index 613afc319a1..bcfa1777bcf 100644 --- a/common/autoconf/flags.m4 +++ b/common/autoconf/flags.m4 @@ -133,6 +133,26 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS], C_FLAG_REORDER='' CXX_FLAG_REORDER='' + if test "x$OPENJDK_TARGET_OS" = xmacosx; then + # Linking is different on MacOSX + SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG" + SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.' + SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" + SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1' + SET_SHARED_LIBRARY_MAPFILE='' + else + # Default works for linux, might work on other platforms as well. + SHARED_LIBRARY_FLAGS='-shared' + SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN[$]1' + SET_SHARED_LIBRARY_ORIGIN="-Xlinker -z -Xlinker origin $SET_EXECUTABLE_ORIGIN" + SET_SHARED_LIBRARY_NAME='-Xlinker -soname=[$]1' + SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=[$]1' + fi + elif test "x$TOOLCHAIN_TYPE" = xclang; then + PICFLAG='' + C_FLAG_REORDER='' + CXX_FLAG_REORDER='' + if test "x$OPENJDK_TARGET_OS" = xmacosx; then # Linking is different on MacOSX SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG" @@ -242,6 +262,8 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION], # Generate make dependency files if test "x$TOOLCHAIN_TYPE" = xgcc; then C_FLAG_DEPS="-MMD -MF" + elif test "x$TOOLCHAIN_TYPE" = xclang; then + C_FLAG_DEPS="-MMD -MF" elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then C_FLAG_DEPS="-xMMD -xMF" elif test "x$TOOLCHAIN_TYPE" = xxlc; then @@ -260,6 +282,9 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION], CFLAGS_DEBUG_SYMBOLS="-g" CXXFLAGS_DEBUG_SYMBOLS="-g" fi + elif test "x$TOOLCHAIN_TYPE" = xclang; then + CFLAGS_DEBUG_SYMBOLS="-g" + CXXFLAGS_DEBUG_SYMBOLS="-g" elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then CFLAGS_DEBUG_SYMBOLS="-g -xs" CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs" @@ -315,6 +340,20 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION], C_O_FLAG_NORM="-O2" C_O_FLAG_NONE="-O0" fi + elif test "x$TOOLCHAIN_TYPE" = xclang; then + if test "x$OPENJDK_TARGET_OS" = xmacosx; then + # On MacOSX we optimize for size, something + # we should do for all platforms? + C_O_FLAG_HIGHEST="-Os" + C_O_FLAG_HI="-Os" + C_O_FLAG_NORM="-Os" + C_O_FLAG_NONE="" + else + C_O_FLAG_HIGHEST="-O3" + C_O_FLAG_HI="-O3" + C_O_FLAG_NORM="-O2" + C_O_FLAG_NONE="-O0" + fi elif test "x$TOOLCHAIN_TYPE" = xxlc; then C_O_FLAG_HIGHEST="-O3" C_O_FLAG_HI="-O3 -qstrict" diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index 7473edb634f..b3d823b29ed 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -653,6 +653,9 @@ LIBDL LIBM LIBZIP_CAN_USE_MMAP USE_EXTERNAL_LIBZ +USE_EXTERNAL_LIBPNG +PNG_LIBS +PNG_CFLAGS USE_EXTERNAL_LIBGIF USE_EXTERNAL_LIBJPEG ALSA_LIBS @@ -793,8 +796,9 @@ JAXWS_TOPDIR JAXP_TOPDIR CORBA_TOPDIR LANGTOOLS_TOPDIR +JAVA_FLAGS_SMALL +JAVA_FLAGS_BIG JAVA_FLAGS -BOOT_JDK_JVMARGS JAVAC_FLAGS BOOT_JDK_SOURCETARGET JARSIGNER @@ -1071,6 +1075,7 @@ with_alsa with_alsa_include with_alsa_lib with_giflib +with_libpng with_zlib with_stdc__lib with_msvcr_dll @@ -1183,6 +1188,8 @@ FREETYPE_CFLAGS FREETYPE_LIBS ALSA_CFLAGS ALSA_LIBS +PNG_CFLAGS +PNG_LIBS LIBFFI_CFLAGS LIBFFI_LIBS CCACHE' @@ -1921,6 +1928,8 @@ Optional Packages: --with-alsa-lib specify directory for the alsa library --with-giflib use giflib from build system or OpenJDK source (system, bundled) [bundled] + --with-libpng use libpng from build system or OpenJDK source + (system, bundled) [bundled] --with-zlib use zlib from build system or OpenJDK source (system, bundled) [bundled] --with-stdc++lib=,, @@ -2045,6 +2054,8 @@ Some influential environment variables: linker flags for FREETYPE, overriding pkg-config ALSA_CFLAGS C compiler flags for ALSA, overriding pkg-config ALSA_LIBS linker flags for ALSA, overriding pkg-config + PNG_CFLAGS C compiler flags for PNG, overriding pkg-config + PNG_LIBS linker flags for PNG, overriding pkg-config LIBFFI_CFLAGS C compiler flags for LIBFFI, overriding pkg-config LIBFFI_LIBS linker flags for LIBFFI, overriding pkg-config @@ -4221,7 +4232,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++" #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1394011255 +DATE_WHEN_GENERATED=1394794899 ############################################################################### # @@ -25856,67 +25867,6 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command " >&5 $as_echo_n "checking flags for boot jdk java command ... " >&6; } - # Starting amount of heap memory. - - $ECHO "Check if jvm arg is ok: -Xms64M" >&5 - $ECHO "Command: $JAVA -Xms64M -version" >&5 - OUTPUT=`$JAVA -Xms64M -version 2>&1` - FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` - FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` - if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -Xms64M" - JVM_ARG_OK=true - else - $ECHO "Arg failed:" >&5 - $ECHO "$OUTPUT" >&5 - JVM_ARG_OK=false - fi - - - # Maximum amount of heap memory. - # Maximum stack size. - if test "x$BUILD_NUM_BITS" = x32; then - JVM_MAX_HEAP=1100M - STACK_SIZE=768 - else - # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit - # pointers are used. Apparently, we need to increase the heap and stack - # space for the jvm. More specifically, when running javac to build huge - # jdk batch - JVM_MAX_HEAP=1600M - STACK_SIZE=1536 - fi - - $ECHO "Check if jvm arg is ok: -Xmx$JVM_MAX_HEAP" >&5 - $ECHO "Command: $JAVA -Xmx$JVM_MAX_HEAP -version" >&5 - OUTPUT=`$JAVA -Xmx$JVM_MAX_HEAP -version 2>&1` - FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` - FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` - if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx$JVM_MAX_HEAP" - JVM_ARG_OK=true - else - $ECHO "Arg failed:" >&5 - $ECHO "$OUTPUT" >&5 - JVM_ARG_OK=false - fi - - - $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5 - $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5 - OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1` - FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` - FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` - if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:ThreadStackSize=$STACK_SIZE" - JVM_ARG_OK=true - else - $ECHO "Arg failed:" >&5 - $ECHO "$OUTPUT" >&5 - JVM_ARG_OK=false - fi - - # Disable special log output when a debug build is used as Boot JDK... $ECHO "Check if jvm arg is ok: -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" >&5 @@ -25957,9 +25907,133 @@ $as_echo "$boot_jdk_jvmargs" >&6; } # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs JAVA_FLAGS=$boot_jdk_jvmargs - BOOT_JDK_JVMARGS=$boot_jdk_jvmargs - JAVA_FLAGS=$JAVA_FLAGS + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for big workloads" >&5 +$as_echo_n "checking flags for boot jdk java command for big workloads... " >&6; } + + # Starting amount of heap memory. + + $ECHO "Check if jvm arg is ok: -Xms64M" >&5 + $ECHO "Command: $JAVA -Xms64M -version" >&5 + OUTPUT=`$JAVA -Xms64M -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -Xms64M" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + # Maximum amount of heap memory. + # Maximum stack size. + if test "x$BUILD_NUM_BITS" = x32; then + JVM_MAX_HEAP=1100M + STACK_SIZE=768 + else + # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit + # pointers are used. Apparently, we need to increase the heap and stack + # space for the jvm. More specifically, when running javac to build huge + # jdk batch + JVM_MAX_HEAP=1600M + STACK_SIZE=1536 + fi + + $ECHO "Check if jvm arg is ok: -Xmx$JVM_MAX_HEAP" >&5 + $ECHO "Command: $JAVA -Xmx$JVM_MAX_HEAP -version" >&5 + OUTPUT=`$JAVA -Xmx$JVM_MAX_HEAP -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -Xmx$JVM_MAX_HEAP" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5 + $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5 + OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -XX:ThreadStackSize=$STACK_SIZE" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs_big" >&5 +$as_echo "$boot_jdk_jvmargs_big" >&6; } + + JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for small workloads" >&5 +$as_echo_n "checking flags for boot jdk java command for small workloads... " >&6; } + + # Use serial gc for small short lived tools if possible + + $ECHO "Check if jvm arg is ok: -XX:+UseSerialGC" >&5 + $ECHO "Command: $JAVA -XX:+UseSerialGC -version" >&5 + OUTPUT=`$JAVA -XX:+UseSerialGC -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -XX:+UseSerialGC" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + $ECHO "Check if jvm arg is ok: -Xms32M" >&5 + $ECHO "Command: $JAVA -Xms32M -version" >&5 + OUTPUT=`$JAVA -Xms32M -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -Xms32M" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + $ECHO "Check if jvm arg is ok: -Xmx512M" >&5 + $ECHO "Command: $JAVA -Xmx512M -version" >&5 + OUTPUT=`$JAVA -Xmx512M -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -Xmx512M" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs_small" >&5 +$as_echo "$boot_jdk_jvmargs_small" >&6; } + + JAVA_FLAGS_SMALL=$boot_jdk_jvmargs_small @@ -26297,8 +26371,28 @@ fi # Use indirect variable referencing toolchain_var_name=VALID_TOOLCHAINS_$OPENJDK_BUILD_OS VALID_TOOLCHAINS=${!toolchain_var_name} - # First toolchain type in the list is the default - DEFAULT_TOOLCHAIN=${VALID_TOOLCHAINS%% *} + + if test "x$OPENJDK_TARGET_OS" = xmacosx; then + # On Mac OS X, default toolchain to clang after Xcode 5 + XCODE_VERSION_OUTPUT=`xcodebuild -version 2>&1 | $HEAD -n 1` + $ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null + if test $? -ne 0; then + as_fn_error $? "Failed to determine Xcode version." "$LINENO" 5 + fi + XCODE_MAJOR_VERSION=`$ECHO $XCODE_VERSION_OUTPUT | \ + $SED -e 's/^Xcode \([1-9][0-9.]*\)/\1/' | \ + $CUT -f 1 -d .` + { $as_echo "$as_me:${as_lineno-$LINENO}: Xcode major version: $XCODE_MAJOR_VERSION" >&5 +$as_echo "$as_me: Xcode major version: $XCODE_MAJOR_VERSION" >&6;} + if test $XCODE_MAJOR_VERSION -ge 5; then + DEFAULT_TOOLCHAIN="clang" + else + DEFAULT_TOOLCHAIN="gcc" + fi + else + # First toolchain type in the list is the default + DEFAULT_TOOLCHAIN=${VALID_TOOLCHAINS%% *} + fi if test "x$with_toolchain_type" = xlist; then # List all toolchains @@ -41221,6 +41315,26 @@ $as_echo "$ac_cv_c_bigendian" >&6; } C_FLAG_REORDER='' CXX_FLAG_REORDER='' + if test "x$OPENJDK_TARGET_OS" = xmacosx; then + # Linking is different on MacOSX + SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG" + SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.' + SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" + SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/$1' + SET_SHARED_LIBRARY_MAPFILE='' + else + # Default works for linux, might work on other platforms as well. + SHARED_LIBRARY_FLAGS='-shared' + SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN$1' + SET_SHARED_LIBRARY_ORIGIN="-Xlinker -z -Xlinker origin $SET_EXECUTABLE_ORIGIN" + SET_SHARED_LIBRARY_NAME='-Xlinker -soname=$1' + SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=$1' + fi + elif test "x$TOOLCHAIN_TYPE" = xclang; then + PICFLAG='' + C_FLAG_REORDER='' + CXX_FLAG_REORDER='' + if test "x$OPENJDK_TARGET_OS" = xmacosx; then # Linking is different on MacOSX SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG" @@ -41297,6 +41411,8 @@ $as_echo "$ac_cv_c_bigendian" >&6; } # Generate make dependency files if test "x$TOOLCHAIN_TYPE" = xgcc; then C_FLAG_DEPS="-MMD -MF" + elif test "x$TOOLCHAIN_TYPE" = xclang; then + C_FLAG_DEPS="-MMD -MF" elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then C_FLAG_DEPS="-xMMD -xMF" elif test "x$TOOLCHAIN_TYPE" = xxlc; then @@ -41315,6 +41431,9 @@ $as_echo "$ac_cv_c_bigendian" >&6; } CFLAGS_DEBUG_SYMBOLS="-g" CXXFLAGS_DEBUG_SYMBOLS="-g" fi + elif test "x$TOOLCHAIN_TYPE" = xclang; then + CFLAGS_DEBUG_SYMBOLS="-g" + CXXFLAGS_DEBUG_SYMBOLS="-g" elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then CFLAGS_DEBUG_SYMBOLS="-g -xs" CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs" @@ -41370,6 +41489,20 @@ $as_echo "$ac_cv_c_bigendian" >&6; } C_O_FLAG_NORM="-O2" C_O_FLAG_NONE="-O0" fi + elif test "x$TOOLCHAIN_TYPE" = xclang; then + if test "x$OPENJDK_TARGET_OS" = xmacosx; then + # On MacOSX we optimize for size, something + # we should do for all platforms? + C_O_FLAG_HIGHEST="-Os" + C_O_FLAG_HI="-Os" + C_O_FLAG_NORM="-Os" + C_O_FLAG_NONE="" + else + C_O_FLAG_HIGHEST="-O3" + C_O_FLAG_HI="-O3" + C_O_FLAG_NORM="-O2" + C_O_FLAG_NONE="-O0" + fi elif test "x$TOOLCHAIN_TYPE" = xxlc; then C_O_FLAG_HIGHEST="-O3" C_O_FLAG_HI="-O3 -qstrict" @@ -46789,6 +46922,118 @@ fi fi + ############################################################################### + # + # Check for the png library + # + + +# Check whether --with-libpng was given. +if test "${with_libpng+set}" = set; then : + withval=$with_libpng; +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for which libpng to use" >&5 +$as_echo_n "checking for which libpng to use... " >&6; } + + # default is bundled + DEFAULT_LIBPNG=bundled + + # + # if user didn't specify, use DEFAULT_LIBPNG + # + if test "x${with_libpng}" = "x"; then + with_libpng=${DEFAULT_LIBPNG} + fi + + if test "x${with_libpng}" = "xbundled"; then + USE_EXTERNAL_LIBPNG=false + { $as_echo "$as_me:${as_lineno-$LINENO}: result: bundled" >&5 +$as_echo "bundled" >&6; } + elif test "x${with_libpng}" = "xsystem"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5 +$as_echo_n "checking for PNG... " >&6; } + +if test -n "$PNG_CFLAGS"; then + pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PNG_CFLAGS=`$PKG_CONFIG --cflags "libpng" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$PNG_LIBS"; then + pkg_cv_PNG_LIBS="$PNG_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PNG_LIBS=`$PKG_CONFIG --libs "libpng" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng" 2>&1` + else + PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$PNG_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + LIBPNG_FOUND=no +elif test $pkg_failed = untried; then + LIBPNG_FOUND=no +else + PNG_CFLAGS=$pkg_cv_PNG_CFLAGS + PNG_LIBS=$pkg_cv_PNG_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + LIBPNG_FOUND=yes +fi + if test "x${LIBPNG_FOUND}" = "xyes"; then + USE_EXTERNAL_LIBPNG=true + { $as_echo "$as_me:${as_lineno-$LINENO}: result: system" >&5 +$as_echo "system" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: system not found" >&5 +$as_echo "system not found" >&6; } + as_fn_error $? "--with-libpng=system specified, but no libpng found!" "$LINENO" 5 + fi + else + as_fn_error $? "Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled'" "$LINENO" 5 + fi + + ############################################################################### # # Check for the zlib library diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4 index 685e9a903c6..6dca4aad3c6 100644 --- a/common/autoconf/libraries.m4 +++ b/common/autoconf/libraries.m4 @@ -652,6 +652,46 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS], fi AC_SUBST(USE_EXTERNAL_LIBGIF) + ############################################################################### + # + # Check for the png library + # + + AC_ARG_WITH(libpng, [AS_HELP_STRING([--with-libpng], + [use libpng from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) + + + AC_MSG_CHECKING([for which libpng to use]) + + # default is bundled + DEFAULT_LIBPNG=bundled + + # + # if user didn't specify, use DEFAULT_LIBPNG + # + if test "x${with_libpng}" = "x"; then + with_libpng=${DEFAULT_LIBPNG} + fi + + if test "x${with_libpng}" = "xbundled"; then + USE_EXTERNAL_LIBPNG=false + AC_MSG_RESULT([bundled]) + elif test "x${with_libpng}" = "xsystem"; then + PKG_CHECK_MODULES(PNG, libpng, + [ LIBPNG_FOUND=yes ], + [ LIBPNG_FOUND=no ]) + if test "x${LIBPNG_FOUND}" = "xyes"; then + USE_EXTERNAL_LIBPNG=true + AC_MSG_RESULT([system]) + else + AC_MSG_RESULT([system not found]) + AC_MSG_ERROR([--with-libpng=system specified, but no libpng found!]) + fi + else + AC_MSG_ERROR([Invalid value of --with-libpng: ${with_libpng}, use 'system' or 'bundled']) + fi + AC_SUBST(USE_EXTERNAL_LIBPNG) + ############################################################################### # # Check for the zlib library diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in index 81dc5a99a81..fe5fb1be8d8 100644 --- a/common/autoconf/spec.gmk.in +++ b/common/autoconf/spec.gmk.in @@ -254,7 +254,6 @@ BUILD_HOTSPOT=@BUILD_HOTSPOT@ # The boot jdk to use BOOT_JDK:=@BOOT_JDK@ -BOOT_JDK_JVMARGS:=@BOOT_JDK_JVMARGS@ BOOT_RTJAR:=@BOOT_RTJAR@ BOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar @@ -442,8 +441,11 @@ POST_STRIP_CMD:=@POST_STRIP_CMD@ POST_MCS_CMD:=@POST_MCS_CMD@ JAVA_FLAGS:=@JAVA_FLAGS@ +JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@ +JAVA_FLAGS_SMALL:=@JAVA_FLAGS_SMALL@ -JAVA=@FIXPATH@ @JAVA@ $(JAVA_FLAGS) +JAVA=@FIXPATH@ @JAVA@ $(JAVA_FLAGS_BIG) $(JAVA_FLAGS) +JAVA_SMALL=@FIXPATH@ @JAVA@ $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) JAVAC:=@FIXPATH@ @JAVAC@ # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid @@ -454,7 +456,7 @@ JAVAH:=@FIXPATH@ @JAVAH@ JAR:=@FIXPATH@ @JAR@ -NATIVE2ASCII:=@FIXPATH@ @NATIVE2ASCII@ +NATIVE2ASCII:=@FIXPATH@ @NATIVE2ASCII@ $(addprefix -J, $(JAVA_FLAGS_SMALL)) JARSIGNER:=@FIXPATH@ @JARSIGNER@ @@ -645,6 +647,15 @@ INSTALL_SHAREDSTATEDIR=@sharedstatedir@ # Read-only single-machine data INSTALL_SYSCONFDIR=@sysconfdir@ +#################################################### +# +# Libraries +# + +USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@ +PNG_LIBS:=@PNG_LIBS@ +PNG_CFLAGS:=@PNG_CFLAGS@ + #################################################### # diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4 index 7110d783205..ba57a850219 100644 --- a/common/autoconf/toolchain.m4 +++ b/common/autoconf/toolchain.m4 @@ -96,8 +96,27 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE], # Use indirect variable referencing toolchain_var_name=VALID_TOOLCHAINS_$OPENJDK_BUILD_OS VALID_TOOLCHAINS=${!toolchain_var_name} - # First toolchain type in the list is the default - DEFAULT_TOOLCHAIN=${VALID_TOOLCHAINS%% *} + + if test "x$OPENJDK_TARGET_OS" = xmacosx; then + # On Mac OS X, default toolchain to clang after Xcode 5 + XCODE_VERSION_OUTPUT=`xcodebuild -version 2>&1 | $HEAD -n 1` + $ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null + if test $? -ne 0; then + AC_MSG_ERROR([Failed to determine Xcode version.]) + fi + XCODE_MAJOR_VERSION=`$ECHO $XCODE_VERSION_OUTPUT | \ + $SED -e 's/^Xcode \(@<:@1-9@:>@@<:@0-9.@:>@*\)/\1/' | \ + $CUT -f 1 -d .` + AC_MSG_NOTICE([Xcode major version: $XCODE_MAJOR_VERSION]) + if test $XCODE_MAJOR_VERSION -ge 5; then + DEFAULT_TOOLCHAIN="clang" + else + DEFAULT_TOOLCHAIN="gcc" + fi + else + # First toolchain type in the list is the default + DEFAULT_TOOLCHAIN=${VALID_TOOLCHAINS%% *} + fi if test "x$with_toolchain_type" = xlist; then # List all toolchains diff --git a/corba/.hgtags b/corba/.hgtags index 13a64cfd8b1..ab5e3f09588 100644 --- a/corba/.hgtags +++ b/corba/.hgtags @@ -246,3 +246,5 @@ a7d3638deb2f4e33217b1ecf889479e90f9e5b50 jdk9-b00 79a8136b18c1c6848f500088f5a4b39f262f082d jdk9-b01 8394993063135a42b63a94473280399fb2a13aa7 jdk9-b02 d338b892a13db19b093f85cf5f949a4504e4d31f jdk9-b03 +1ed19de263e1e0772da0269118cdd9deeb9fff04 jdk9-b04 +167c39eb44731a5d66770d0f00e231164653a2ff jdk9-b05 diff --git a/corba/make/CompileCorba.gmk b/corba/make/CompileCorba.gmk index f50d4ca4687..225258c2080 100644 --- a/corba/make/CompileCorba.gmk +++ b/corba/make/CompileCorba.gmk @@ -45,16 +45,18 @@ $(eval $(call SetupJavaCompilation,BUILD_CORBA, \ org/omg/PortableInterceptor/UNKNOWN.java \ com/sun/tools/corba/se/idl/ResourceBundleUtil.java \ com/sun/corba/se/impl/presentation/rmi/jndi.properties, \ - COPY := .prp LogStrings.properties, \ + COPY := .prp, \ + CLEAN := .properties, \ BIN := $(CORBA_OUTPUTDIR)/classes, \ JAR := $(CORBA_OUTPUTDIR)/dist/lib/classes.jar)) +# For the interim version, don't bother cleaning the properties. $(eval $(call SetupJavaCompilation,BUILD_INTERIM_CORBA, \ SETUP := GENERATE_OLDBYTECODE, \ SRC := $(BUILD_CORBA_SRC), \ EXCLUDES := $(BUILD_CORBA_EXCLUDES), \ EXCLUDE_FILES := $(BUILD_CORBA_EXCLUDE_FILES), \ - COPY := $(BUILD_CORBA_COPY), \ + COPY := $(BUILD_CORBA_COPY) $(BUILD_CORBA_CLEAN), \ BIN := $(CORBA_OUTPUTDIR)/interim_classes, \ JAR := $(INTERIM_CORBA_JAR))) @@ -63,7 +65,6 @@ $(eval $(call SetupJavaCompilation,BUILD_INTERIM_CORBA, \ $(eval $(call SetupZipArchive,ARCHIVE_CORBA_SRC, \ SRC := $(CORBA_TOPDIR)/src/share/classes $(CORBA_OUTPUTDIR)/gensrc, \ ZIP := $(CORBA_OUTPUTDIR)/dist/lib/src.zip)) - JAR := $(CORBA_OUTPUTDIR)/dist/lib/classes.jar)) ################################################################################ # Create bin.zip containing the corba specific binaries: orb.idl, ir.idl @@ -81,6 +82,5 @@ $(CORBA_OUTPUTDIR)/dist/lib/bin.zip: $(BIN_FILES) ################################################################################ - all: $(BUILD_CORBA) $(BUILD_INTERIM_CORBA) $(ARCHIVE_CORBA_SRC) \ $(CORBA_OUTPUTDIR)/dist/lib/bin.zip diff --git a/corba/make/GensrcCorba.gmk b/corba/make/GensrcCorba.gmk index 8dbf5102eda..4d078a56bb2 100644 --- a/corba/make/GensrcCorba.gmk +++ b/corba/make/GensrcCorba.gmk @@ -39,9 +39,6 @@ $(eval $(call SetupJavaCompilation,BUILD_TOOLS, \ SRC := $(CORBA_TOPDIR)/make/src/classes, \ BIN := $(CORBA_OUTPUTDIR)/tools_classes)) -TOOL_STRIPPROP_CMD := $(JAVA) -cp $(CORBA_OUTPUTDIR)/tools_classes \ - build.tools.stripproperties.StripPropertiesCorba - TOOL_LOGUTIL_CMD := $(JAVA) -cp $(CORBA_OUTPUTDIR)/tools_classes \ build.tools.logutil.MC @@ -230,27 +227,14 @@ $(eval $(call SetupIdlCompilation,BUILD_IDLS, \ $(BUILD_IDLS): $(BUILD_IDLJ) ################################################################################ -# Run stripproperties on all sunorb resource files. +# zh_HK is just a copy of zh_TW -STRIP_PROP_SRC_FILES := $(shell $(FIND) $(CORBA_TOPDIR)/src/share/classes -name "sunorb*.properties") -STRIP_PROP_FILES := $(patsubst $(CORBA_TOPDIR)/src/share/classes/%, $(CORBA_OUTPUTDIR)/classes/%, \ - $(STRIP_PROP_SRC_FILES)) -# Simple delivery of zh_HK properties files just copies zh_TW properties files -STRIP_PROP_SRC_FILE_ZH_TW := $(shell $(FIND) $(CORBA_TOPDIR)/src/share/classes -name "sunorb_zh_TW.properties") -STRIP_PROP_SRC_FILES += $(STRIP_PROP_SRC_FILE_ZH_TW) -STRIP_PROP_FILES += $(patsubst $(CORBA_TOPDIR)/src/share/classes/%_zh_TW.properties, \ - $(CORBA_OUTPUTDIR)/classes/%_zh_HK.properties, $(STRIP_PROP_SRC_FILE_ZH_TW)) -STRIP_PROP_CMDLINE := $(subst _SPACE_, $(SPACE), \ - $(join $(addprefix -clean_SPACE_, $(STRIP_PROP_SRC_FILES)), \ - $(addprefix _SPACE_, $(STRIP_PROP_FILES)))) - -$(CORBA_OUTPUTDIR)/_the.stripped_properties: $(STRIP_PROP_SRC_FILES) \ - $(BUILD_TOOLS) - $(MKDIR) -p $(sort $(dir $(STRIP_PROP_FILES))) - $(call ListPathsSafely,STRIP_PROP_CMDLINE,\n, >> $(CORBA_OUTPUTDIR)/_the.strip_prop.cmdline) - $(TOOL_STRIPPROP_CMD) @$(CORBA_OUTPUTDIR)/_the.strip_prop.cmdline - $(TOUCH) $@ +$(CORBA_OUTPUTDIR)/gensrc/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_HK.properties: \ + $(CORBA_TOPDIR)/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties + $(install-file) ################################################################################ -all: $(BUILD_IDLS) $(CORBA_OUTPUTDIR)/_the.stripped_properties $(LOGWRAPPER_TARGETS) +all: $(BUILD_IDLS) $(LOGWRAPPER_TARGETS) \ + $(CORBA_OUTPUTDIR)/gensrc/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_HK.properties + diff --git a/corba/make/src/classes/build/tools/stripproperties/StripPropertiesCorba.java b/corba/make/src/classes/build/tools/stripproperties/StripPropertiesCorba.java deleted file mode 100644 index b5c7ecb253b..00000000000 --- a/corba/make/src/classes/build/tools/stripproperties/StripPropertiesCorba.java +++ /dev/null @@ -1,288 +0,0 @@ -/* - * Copyright (c) 2001, 2012, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package build.tools.stripproperties; - -import java.io.BufferedInputStream; -import java.io.BufferedWriter; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.List; -import java.util.Properties; - -/** - * Reads a properties file from standard input and writes an equivalent - * properties file without comments to standard output. - */ -public class StripPropertiesCorba { - - private static void error(String msg, Exception e) { - System.err.println("ERROR: stripproperties: " + msg); - if ( e != null ) { - System.err.println("EXCEPTION: " + e.toString()); - e.printStackTrace(); - } - } - - private static List infiles = new ArrayList(); - private static List outfiles = new ArrayList(); - - private static boolean parseOptions(String args[]) { - boolean ok = true; - - for ( int i = 0; i < args.length ; i++ ) { - if ( "-clean".equals(args[i]) && i+2 < args.length ) { - infiles.add(args[++i]); - outfiles.add(args[++i]); - } else if ( args[i].charAt(0)=='@') { - String filename = args[i].substring(1); - FileInputStream finput = null; - byte contents[] = null; - try { - finput = new FileInputStream(filename); - int byteCount = finput.available(); - if ( byteCount <= 0 ) { - error("The @file is empty", null); - ok = false; - } else { - contents = new byte[byteCount]; - int bytesRead = finput.read(contents); - if ( byteCount != bytesRead ) { - error("Cannot read all of @file", null); - ok = false; - } - } - } catch ( IOException e ) { - error("cannot open " + filename, e); - ok = false; - } - if ( finput != null ) { - try { - finput.close(); - } catch ( IOException e ) { - ok = false; - error("cannot close " + filename, e); - } - } - if ( ok && contents != null ) { - String tokens[] = (new String(contents)).split("\\s+"); - if ( tokens.length > 0 ) { - ok = parseOptions(tokens); - } - } - if ( !ok ) { - break; - } - } else { - infiles.add(args[i]); - outfiles.add(args[i]); - } - } - return ok; - } - - private static boolean stripFiles(List infiles, List outfiles) { - boolean ok = true; - Iterator inIter = infiles.iterator(); - Iterator outIter = outfiles.iterator(); - - for (; inIter.hasNext(); ) { - String infile = inIter.next(); - String outfile = outIter.next(); - - Properties prop = new Properties(); - InputStream in = null; - try { - in = new BufferedInputStream(new FileInputStream(infile)); - prop.load(in); - } catch ( FileNotFoundException e ) { - error("Cannot access file " + infile, e); - ok = false; - } catch ( IOException e ) { - error("IO exception processing file " + infile, e); - ok = false; - } - if ( in != null ) { - try { - in.close(); - } catch ( IOException e ) { - error("IO exception closing file " + infile, e); - ok = false; - } - } - if ( !ok ) { - break; - } - - OutputStream out = null; - try { - out = new FileOutputStream(outfile); - storeProperties(prop, out); - out.flush(); - } catch ( IOException e ) { - error("IO exception processing file " + outfile, e); - ok = false; - } - if ( out != null ) { - try { - out.close(); - } catch ( IOException e ) { - error("IO exception closing file " + outfile, e); - ok = false; - } - } - if ( !ok ) { - break; - } - - } - return ok; - } - - /** - * Strip the properties filenames supplied, replacing their contents. - * @param args Names of properties files to process and replace contents - */ - public static void main(String args[]) { - boolean ok = parseOptions(args); - if ( !ok || !stripFiles(infiles, outfiles) ) { - System.exit(1); - } - } - - // --- code below here is adapted from java.util.Properties --- - - private static final String specialSaveChars = "=: \t\r\n\f#!"; - - /* - * Converts unicodes to encoded \uxxxx - * and writes out any of the characters in specialSaveChars - * with a preceding slash - */ - private static String saveConvert(String theString, boolean escapeSpace) { - int len = theString.length(); - StringBuffer outBuffer = new StringBuffer(len*2); - - for(int x=0; x 0x00ff)) { - outBuffer.append('\\'); - outBuffer.append('u'); - outBuffer.append(toHex((aChar >> 12) & 0xF)); - outBuffer.append(toHex((aChar >> 8) & 0xF)); - outBuffer.append(toHex((aChar >> 4) & 0xF)); - outBuffer.append(toHex( aChar & 0xF)); - } else { - if (specialSaveChars.indexOf(aChar) != -1) { - outBuffer.append('\\'); - } - outBuffer.append(aChar); - } - } - } - return outBuffer.toString(); - } - - /** - * Writes the content of properties to out. - * The format is that of Properties.store with the following modifications: - *
    - *
  • No header or date is written - *
  • Latin-1 characters are written as single bytes, not escape sequences - *
  • Line breaks are indicated by a single \n independent of platform - *
      - */ - private static void storeProperties(Properties properties, OutputStream out) - throws IOException { - BufferedWriter awriter; - awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1")); - for (Enumeration e = properties.keys(); e.hasMoreElements();) { - String key = (String)e.nextElement(); - String val = (String)properties.get(key); - key = saveConvert(key, true); - - /* No need to escape embedded and trailing spaces for value, hence - * pass false to flag. - */ - val = saveConvert(val, false); - writeln(awriter, key + "=" + val); - } - awriter.flush(); - } - - private static void writeln(BufferedWriter bw, String s) throws IOException { - bw.write(s); - bw.write("\n"); - } - - /** - * Convert a nibble to a hex character - * @param nibble the nibble to convert. - */ - private static char toHex(int nibble) { - return hexDigit[(nibble & 0xF)]; - } - - /** A table of hex digits */ - private static final char[] hexDigit = { - '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' - }; -} diff --git a/hotspot/.hgtags b/hotspot/.hgtags index 71ad9311d10..880948aef94 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -406,3 +406,5 @@ ce2d7e46f3c7e41241f3b407705a4071323a11ab jdk9-b00 050a626a88951140df874f7b163e304d07b6c296 jdk9-b01 b188446de75bda5fc52d102cddf242c3ef5ecbdf jdk9-b02 b2fee789d23f3cdabb3db4e51af43038e5692d3a jdk9-b03 +3812c088b9456ee22c933e88aee1ece71f4e783a jdk9-b04 +bdc5311e1db7598589b77015119b821bf8c828bd jdk9-b05 diff --git a/hotspot/make/aix/Makefile b/hotspot/make/aix/Makefile index 19bab5494bc..79bcf7880ac 100644 --- a/hotspot/make/aix/Makefile +++ b/hotspot/make/aix/Makefile @@ -70,6 +70,10 @@ ifndef CC_INTERP FORCE_TIERED=1 endif endif +# C1 is not ported on ppc64(le), so we cannot build a tiered VM: +ifneq (,$(filter $(ARCH),ppc64 pp64le)) + FORCE_TIERED=0 +endif ifdef LP64 ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","") diff --git a/hotspot/make/aix/makefiles/adjust-mflags.sh b/hotspot/make/aix/makefiles/adjust-mflags.sh index df1aa625b77..6c06819fb74 100644 --- a/hotspot/make/aix/makefiles/adjust-mflags.sh +++ b/hotspot/make/aix/makefiles/adjust-mflags.sh @@ -1,6 +1,6 @@ #! /bin/sh # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2014, 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 @@ -64,7 +64,7 @@ MFLAGS=` echo "$MFLAGS" \ | sed ' s/^-/ -/ - s/ -\([^ ][^ ]*\)j/ -\1 -j/ + s/ -\([^ I][^ I]*\)j/ -\1 -j/ s/ -j[0-9][0-9]*/ -j/ s/ -j\([^ ]\)/ -j -\1/ s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/ diff --git a/hotspot/make/bsd/makefiles/gcc.make b/hotspot/make/bsd/makefiles/gcc.make index 9c9cef07f82..2a0eab17ef9 100644 --- a/hotspot/make/bsd/makefiles/gcc.make +++ b/hotspot/make/bsd/makefiles/gcc.make @@ -260,7 +260,7 @@ ifeq ($(USE_CLANG), true) WARNINGS_ARE_ERRORS += -Wno-empty-body endif -WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wformat=2 -Wno-error=format-nonliteral +WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wformat=2 ifeq ($(USE_CLANG),) # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit diff --git a/hotspot/make/linux/Makefile b/hotspot/make/linux/Makefile index 0820c254612..8321f8e15db 100644 --- a/hotspot/make/linux/Makefile +++ b/hotspot/make/linux/Makefile @@ -66,6 +66,10 @@ ifndef CC_INTERP FORCE_TIERED=1 endif endif +# C1 is not ported on ppc64(le), so we cannot build a tiered VM: +ifneq (,$(filter $(ARCH),ppc64 pp64le)) + FORCE_TIERED=0 +endif ifdef LP64 ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","") diff --git a/hotspot/make/linux/makefiles/gcc.make b/hotspot/make/linux/makefiles/gcc.make index 071c36e5876..87ef16faed8 100644 --- a/hotspot/make/linux/makefiles/gcc.make +++ b/hotspot/make/linux/makefiles/gcc.make @@ -215,7 +215,7 @@ ifeq ($(USE_CLANG), true) WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body endif -WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wno-error=format-nonliteral +WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 ifeq ($(USE_CLANG),) # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit diff --git a/hotspot/make/linux/makefiles/zeroshark.make b/hotspot/make/linux/makefiles/zeroshark.make index 890a0910e7f..3c10770d42a 100644 --- a/hotspot/make/linux/makefiles/zeroshark.make +++ b/hotspot/make/linux/makefiles/zeroshark.make @@ -25,6 +25,9 @@ # Setup common to Zero (non-Shark) and Shark versions of VM +# override this from the main file because some version of llvm do not like -Wundef +WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wunused-function -Wunused-value + # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) # The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized diff --git a/hotspot/make/solaris/makefiles/gcc.make b/hotspot/make/solaris/makefiles/gcc.make index 627691c78f3..94778592ece 100644 --- a/hotspot/make/solaris/makefiles/gcc.make +++ b/hotspot/make/solaris/makefiles/gcc.make @@ -118,7 +118,7 @@ endif # Compiler warnings are treated as errors WARNINGS_ARE_ERRORS = -Werror # Enable these warnings. See 'info gcc' about details on these options -WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2 -Wno-error=format-nonliteral +WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2 CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(WARNING_FLAGS) # Special cases CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) diff --git a/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp b/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp index b0519a63b08..56b0b92db73 100644 --- a/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp @@ -124,6 +124,7 @@ class Argument VALUE_OBJ_CLASS_SPEC { } }; +#if !defined(ABI_ELFv2) // A ppc64 function descriptor. struct FunctionDescriptor VALUE_OBJ_CLASS_SPEC { private: @@ -161,6 +162,7 @@ struct FunctionDescriptor VALUE_OBJ_CLASS_SPEC { _env = (address) 0xbad; } }; +#endif class Assembler : public AbstractAssembler { protected: @@ -1067,6 +1069,7 @@ class Assembler : public AbstractAssembler { // Emit an address. inline address emit_addr(const address addr = NULL); +#if !defined(ABI_ELFv2) // Emit a function descriptor with the specified entry point, TOC, // and ENV. If the entry point is NULL, the descriptor will point // just past the descriptor. @@ -1074,6 +1077,7 @@ class Assembler : public AbstractAssembler { inline address emit_fd(address entry = NULL, address toc = (address) FunctionDescriptor::friend_toc, address env = (address) FunctionDescriptor::friend_env); +#endif ///////////////////////////////////////////////////////////////////////////////////// // PPC instructions diff --git a/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp b/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp index 200aaf11aed..d96d9204dbc 100644 --- a/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp +++ b/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp @@ -55,6 +55,7 @@ inline address Assembler::emit_addr(const address addr) { return start; } +#if !defined(ABI_ELFv2) // Emit a function descriptor with the specified entry point, TOC, and // ENV. If the entry point is NULL, the descriptor will point just // past the descriptor. @@ -73,6 +74,7 @@ inline address Assembler::emit_fd(address entry, address toc, address env) { return (address)fd; } +#endif // Issue an illegal instruction. 0 is guaranteed to be an illegal instruction. inline void Assembler::illtrap() { Assembler::emit_int32(0); } diff --git a/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp b/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp index c9853c589cc..5cf5a6a6573 100644 --- a/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp @@ -1136,7 +1136,9 @@ address CppInterpreterGenerator::generate_native_entry(void) { // (outgoing C args), R3_ARG1 to R10_ARG8, and F1_ARG1 to // F13_ARG13. __ mr(R3_ARG1, R18_locals); +#if !defined(ABI_ELFv2) __ ld(signature_handler_fd, 0, signature_handler_fd); +#endif __ call_stub(signature_handler_fd); // reload method __ ld(R19_method, state_(_method)); @@ -1295,8 +1297,13 @@ address CppInterpreterGenerator::generate_native_entry(void) { // native result acrosss the call. No oop is present __ mr(R3_ARG1, R16_thread); +#if defined(ABI_ELFv2) + __ call_c(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans), + relocInfo::none); +#else __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, JavaThread::check_special_condition_for_native_trans), relocInfo::none); +#endif __ bind(sync_check_done); //============================================================================= @@ -1346,9 +1353,9 @@ address CppInterpreterGenerator::generate_native_entry(void) { // notify here, we'll drop it on the floor. __ notify_method_exit(true/*native method*/, - ilgl /*illegal state (not used for native methods)*/); - - + ilgl /*illegal state (not used for native methods)*/, + InterpreterMacroAssembler::NotifyJVMTI, + false /*check_exceptions*/); //============================================================================= // Handle exceptions @@ -1413,7 +1420,7 @@ address CppInterpreterGenerator::generate_native_entry(void) { // First, pop to caller's frame. __ pop_interpreter_frame(R11_scratch1, R12_scratch2, R21_tmp1 /* set to return pc */, R22_tmp2); - __ push_frame_abi112(0, R11_scratch1); + __ push_frame_reg_args(0, R11_scratch1); // Get the address of the exception handler. __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), R16_thread, @@ -2545,7 +2552,7 @@ address CppInterpreterGenerator::generate_normal_entry(void) { __ mr(R4_ARG2, R3_ARG1); // ARG2 := ARG1 // Find the address of the "catch_exception" stub. - __ push_frame_abi112(0, R11_scratch1); + __ push_frame_reg_args(0, R11_scratch1); __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), R16_thread, R4_ARG2); diff --git a/hotspot/src/cpu/ppc/vm/frame_ppc.cpp b/hotspot/src/cpu/ppc/vm/frame_ppc.cpp index 1cd2c6a0a5b..6df316d1b87 100644 --- a/hotspot/src/cpu/ppc/vm/frame_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/frame_ppc.cpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -42,10 +42,6 @@ #include "runtime/vframeArray.hpp" #endif -#ifndef CC_INTERP -#error "CC_INTERP must be defined on PPC64" -#endif - #ifdef ASSERT void RegisterMap::check_location_valid() { } @@ -89,7 +85,10 @@ frame frame::sender_for_entry_frame(RegisterMap *map) const { frame frame::sender_for_interpreter_frame(RegisterMap *map) const { // Pass callers initial_caller_sp as unextended_sp. - return frame(sender_sp(), sender_pc(), (intptr_t*)((parent_ijava_frame_abi *)callers_abi())->initial_caller_sp); + return frame(sender_sp(), sender_pc(), + CC_INTERP_ONLY((intptr_t*)((parent_ijava_frame_abi *)callers_abi())->initial_caller_sp) + NOT_CC_INTERP((intptr_t*)get_ijava_state()->sender_sp) + ); } frame frame::sender_for_compiled_frame(RegisterMap *map) const { @@ -183,6 +182,9 @@ BasicType frame::interpreter_frame_result(oop* oop_result, jvalue* value_result) interpreterState istate = get_interpreterState(); address lresult = (address)istate + in_bytes(BytecodeInterpreter::native_lresult_offset()); address fresult = (address)istate + in_bytes(BytecodeInterpreter::native_fresult_offset()); +#else + address lresult = (address)&(get_ijava_state()->lresult); + address fresult = (address)&(get_ijava_state()->fresult); #endif switch (method->result_type()) { @@ -259,7 +261,21 @@ void frame::describe_pd(FrameValues& values, int frame_no) { values.describe(frame_no, (intptr_t*)&(istate->_native_fresult), " native_fresult"); values.describe(frame_no, (intptr_t*)&(istate->_native_lresult), " native_lresult"); #else - Unimplemented(); +#define DESCRIBE_ADDRESS(name) \ + values.describe(frame_no, (intptr_t*)&(get_ijava_state()->name), #name); + + DESCRIBE_ADDRESS(method); + DESCRIBE_ADDRESS(locals); + DESCRIBE_ADDRESS(monitors); + DESCRIBE_ADDRESS(cpoolCache); + DESCRIBE_ADDRESS(bcp); + DESCRIBE_ADDRESS(esp); + DESCRIBE_ADDRESS(mdx); + DESCRIBE_ADDRESS(top_frame_sp); + DESCRIBE_ADDRESS(sender_sp); + DESCRIBE_ADDRESS(oop_tmp); + DESCRIBE_ADDRESS(lresult); + DESCRIBE_ADDRESS(fresult); #endif } } diff --git a/hotspot/src/cpu/ppc/vm/frame_ppc.hpp b/hotspot/src/cpu/ppc/vm/frame_ppc.hpp index 26321baeb89..f327d2ce424 100644 --- a/hotspot/src/cpu/ppc/vm/frame_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/frame_ppc.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -29,10 +29,6 @@ #include "runtime/synchronizer.hpp" #include "utilities/top.hpp" -#ifndef CC_INTERP -#error "CC_INTERP must be defined on PPC64" -#endif - // C frame layout on PPC-64. // // In this figure the stack grows upwards, while memory grows @@ -50,7 +46,7 @@ // [C_FRAME] // // C_FRAME: - // 0 [ABI_112] + // 0 [ABI_REG_ARGS] // 112 CARG_9: outgoing arg 9 (arg_1 ... arg_8 via gpr_3 ... gpr_{10}) // ... // 40+M*8 CARG_M: outgoing arg M (M is the maximum of outgoing args taken over all call sites in the procedure) @@ -77,7 +73,7 @@ // 32 reserved // 40 space for TOC (=R2) register for next call // - // ABI_112: + // ABI_REG_ARGS: // 0 [ABI_48] // 48 CARG_1: spill slot for outgoing arg 1. used by next callee. // ... ... @@ -95,23 +91,25 @@ log_2_of_alignment_in_bits = 7 }; - // ABI_48: - struct abi_48 { + // ABI_MINFRAME: + struct abi_minframe { uint64_t callers_sp; uint64_t cr; //_16 uint64_t lr; +#if !defined(ABI_ELFv2) uint64_t reserved1; //_16 uint64_t reserved2; +#endif uint64_t toc; //_16 // nothing to add here! // aligned to frame::alignment_in_bytes (16) }; enum { - abi_48_size = sizeof(abi_48) + abi_minframe_size = sizeof(abi_minframe) }; - struct abi_112 : abi_48 { + struct abi_reg_args : abi_minframe { uint64_t carg_1; uint64_t carg_2; //_16 uint64_t carg_3; @@ -124,13 +122,13 @@ }; enum { - abi_112_size = sizeof(abi_112) + abi_reg_args_size = sizeof(abi_reg_args) }; #define _abi(_component) \ - (offset_of(frame::abi_112, _component)) + (offset_of(frame::abi_reg_args, _component)) - struct abi_112_spill : abi_112 { + struct abi_reg_args_spill : abi_reg_args { // additional spill slots uint64_t spill_ret; uint64_t spill_fret; //_16 @@ -138,11 +136,11 @@ }; enum { - abi_112_spill_size = sizeof(abi_112_spill) + abi_reg_args_spill_size = sizeof(abi_reg_args_spill) }; - #define _abi_112_spill(_component) \ - (offset_of(frame::abi_112_spill, _component)) + #define _abi_reg_args_spill(_component) \ + (offset_of(frame::abi_reg_args_spill, _component)) // non-volatile GPRs: @@ -195,7 +193,85 @@ #define _spill_nonvolatiles_neg(_component) \ (int)(-frame::spill_nonvolatiles_size + offset_of(frame::spill_nonvolatiles, _component)) - // Frame layout for the Java interpreter on PPC64. + + +#ifndef CC_INTERP + // Frame layout for the Java template interpreter on PPC64. + // + // Diffs to the CC_INTERP are marked with 'X'. + // + // TOP_IJAVA_FRAME: + // + // 0 [TOP_IJAVA_FRAME_ABI] + // alignment (optional) + // [operand stack] + // [monitors] (optional) + // X[IJAVA_STATE] + // note: own locals are located in the caller frame. + // + // PARENT_IJAVA_FRAME: + // + // 0 [PARENT_IJAVA_FRAME_ABI] + // alignment (optional) + // [callee's Java result] + // [callee's locals w/o arguments] + // [outgoing arguments] + // [used part of operand stack w/o arguments] + // [monitors] (optional) + // X[IJAVA_STATE] + // + + struct parent_ijava_frame_abi : abi_minframe { + }; + + enum { + parent_ijava_frame_abi_size = sizeof(parent_ijava_frame_abi) + }; + +#define _parent_ijava_frame_abi(_component) \ + (offset_of(frame::parent_ijava_frame_abi, _component)) + + struct top_ijava_frame_abi : abi_reg_args { + }; + + enum { + top_ijava_frame_abi_size = sizeof(top_ijava_frame_abi) + }; + +#define _top_ijava_frame_abi(_component) \ + (offset_of(frame::top_ijava_frame_abi, _component)) + + struct ijava_state { +#ifdef ASSERT + uint64_t ijava_reserved; // Used for assertion. + uint64_t ijava_reserved2; // Inserted for alignment. +#endif + uint64_t method; + uint64_t locals; + uint64_t monitors; + uint64_t cpoolCache; + uint64_t bcp; + uint64_t esp; + uint64_t mdx; + uint64_t top_frame_sp; // Maybe define parent_frame_abi and move there. + uint64_t sender_sp; + // Slots only needed for native calls. Maybe better to move elsewhere. + uint64_t oop_tmp; + uint64_t lresult; + uint64_t fresult; + // Aligned to frame::alignment_in_bytes (16). + }; + + enum { + ijava_state_size = sizeof(ijava_state) + }; + +#define _ijava_state_neg(_component) \ + (int) (-frame::ijava_state_size + offset_of(frame::ijava_state, _component)) + +#else // CC_INTERP: + + // Frame layout for the Java C++ interpreter on PPC64. // // This frame layout provides a C-like frame for every Java frame. // @@ -242,7 +318,7 @@ // [ENTRY_FRAME_LOCALS] // // PARENT_IJAVA_FRAME_ABI: - // 0 [ABI_48] + // 0 [ABI_MINFRAME] // top_frame_sp // initial_caller_sp // @@ -258,7 +334,7 @@ // PARENT_IJAVA_FRAME_ABI - struct parent_ijava_frame_abi : abi_48 { + struct parent_ijava_frame_abi : abi_minframe { // SOE registers. // C2i adapters spill their top-frame stack-pointer here. uint64_t top_frame_sp; // carg_1 @@ -285,7 +361,7 @@ uint64_t carg_6_unused; //_16 carg_6 uint64_t carg_7_unused; // carg_7 // Use arg8 for storing frame_manager_lr. The size of - // top_ijava_frame_abi must match abi_112. + // top_ijava_frame_abi must match abi_reg_args. uint64_t frame_manager_lr; //_16 carg_8 // nothing to add here! // aligned to frame::alignment_in_bytes (16) @@ -298,6 +374,8 @@ #define _top_ijava_frame_abi(_component) \ (offset_of(frame::top_ijava_frame_abi, _component)) +#endif // CC_INTERP + // ENTRY_FRAME struct entry_frame_locals { @@ -395,8 +473,8 @@ intptr_t* fp() const { return _fp; } // Accessors for ABIs - inline abi_48* own_abi() const { return (abi_48*) _sp; } - inline abi_48* callers_abi() const { return (abi_48*) _fp; } + inline abi_minframe* own_abi() const { return (abi_minframe*) _sp; } + inline abi_minframe* callers_abi() const { return (abi_minframe*) _fp; } private: @@ -421,6 +499,14 @@ #ifdef CC_INTERP // Additional interface for interpreter frames: inline interpreterState get_interpreterState() const; +#else + inline ijava_state* get_ijava_state() const; + // Some convenient register frame setters/getters for deoptimization. + inline intptr_t* interpreter_frame_esp() const; + inline void interpreter_frame_set_cpcache(ConstantPoolCache* cp); + inline void interpreter_frame_set_esp(intptr_t* esp); + inline void interpreter_frame_set_top_frame_sp(intptr_t* top_frame_sp); + inline void interpreter_frame_set_sender_sp(intptr_t* sender_sp); #endif // CC_INTERP // Size of a monitor in bytes. diff --git a/hotspot/src/cpu/ppc/vm/frame_ppc.inline.hpp b/hotspot/src/cpu/ppc/vm/frame_ppc.inline.hpp index 2dadd6c69eb..8e46363eac9 100644 --- a/hotspot/src/cpu/ppc/vm/frame_ppc.inline.hpp +++ b/hotspot/src/cpu/ppc/vm/frame_ppc.inline.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -26,10 +26,6 @@ #ifndef CPU_PPC_VM_FRAME_PPC_INLINE_HPP #define CPU_PPC_VM_FRAME_PPC_INLINE_HPP -#ifndef CC_INTERP -#error "CC_INTERP must be defined on PPC64" -#endif - // Inline functions for ppc64 frames: // Find codeblob and set deopt_state. @@ -199,6 +195,75 @@ inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const { interpreterState istate = get_interpreterState(); return &istate->_constants; } + +#else // !CC_INTERP + +// Template Interpreter frame value accessors. + +inline frame::ijava_state* frame::get_ijava_state() const { + return (ijava_state*) ((uintptr_t)fp() - ijava_state_size); +} + +inline intptr_t** frame::interpreter_frame_locals_addr() const { + return (intptr_t**) &(get_ijava_state()->locals); +} +inline intptr_t* frame::interpreter_frame_bcx_addr() const { + return (intptr_t*) &(get_ijava_state()->bcp); +} +inline intptr_t* frame::interpreter_frame_mdx_addr() const { + return (intptr_t*) &(get_ijava_state()->mdx); +} +// Pointer beyond the "oldest/deepest" BasicObjectLock on stack. +inline BasicObjectLock* frame::interpreter_frame_monitor_end() const { + return (BasicObjectLock *) get_ijava_state()->monitors; +} + +inline BasicObjectLock* frame::interpreter_frame_monitor_begin() const { + return (BasicObjectLock *) get_ijava_state(); +} + +// SAPJVM ASc 2012-11-21. Return register stack slot addr at which currently interpreted method is found +inline Method** frame::interpreter_frame_method_addr() const { + return (Method**) &(get_ijava_state()->method); +} +inline ConstantPoolCache** frame::interpreter_frame_cpoolcache_addr() const { + return (ConstantPoolCache**) &(get_ijava_state()->cpoolCache); +} +inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const { + return (ConstantPoolCache**) &(get_ijava_state()->cpoolCache); +} + +inline oop* frame::interpreter_frame_temp_oop_addr() const { + return (oop *) &(get_ijava_state()->oop_tmp); +} +inline intptr_t* frame::interpreter_frame_esp() const { + return (intptr_t*) get_ijava_state()->esp; +} + +// Convenient setters +inline void frame::interpreter_frame_set_monitor_end(BasicObjectLock* end) { get_ijava_state()->monitors = (intptr_t) end;} +inline void frame::interpreter_frame_set_cpcache(ConstantPoolCache* cp) { *frame::interpreter_frame_cpoolcache_addr() = cp; } +inline void frame::interpreter_frame_set_esp(intptr_t* esp) { get_ijava_state()->esp = (intptr_t) esp; } +inline void frame::interpreter_frame_set_top_frame_sp(intptr_t* top_frame_sp) { get_ijava_state()->top_frame_sp = (intptr_t) top_frame_sp; } +inline void frame::interpreter_frame_set_sender_sp(intptr_t* sender_sp) { get_ijava_state()->sender_sp = (intptr_t) sender_sp; } + +inline intptr_t* frame::interpreter_frame_expression_stack() const { + return (intptr_t*)interpreter_frame_monitor_end() - 1; +} + +inline jint frame::interpreter_frame_expression_stack_direction() { + return -1; +} + +// top of expression stack +inline intptr_t* frame::interpreter_frame_tos_address() const { + return ((intptr_t*) get_ijava_state()->esp) + Interpreter::stackElementWords; +} + +inline intptr_t* frame::interpreter_frame_tos_at(jint offset) const { + return &interpreter_frame_tos_address()[offset]; +} + #endif // CC_INTERP inline int frame::interpreter_frame_monitor_size() { diff --git a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp index 5d135199b7e..f71acaca095 100644 --- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp +++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -29,6 +29,7 @@ #include "asm/macroAssembler.inline.hpp" #include "interp_masm_ppc_64.hpp" #include "interpreter/interpreterRuntime.hpp" +#include "prims/jvmtiThreadState.hpp" #ifdef PRODUCT #define BLOCK_COMMENT(str) // nothing @@ -45,6 +46,691 @@ void InterpreterMacroAssembler::null_check_throw(Register a, int offset, Registe MacroAssembler::null_check_throw(a, offset, temp_reg, exception_entry); } +void InterpreterMacroAssembler::branch_to_entry(address entry, Register Rscratch) { + assert(entry, "Entry must have been generated by now"); + if (is_within_range_of_b(entry, pc())) { + b(entry); + } else { + load_const_optimized(Rscratch, entry, R0); + mtctr(Rscratch); + bctr(); + } +} + +#ifndef CC_INTERP + +void InterpreterMacroAssembler::dispatch_next(TosState state, int bcp_incr) { + Register bytecode = R12_scratch2; + if (bcp_incr != 0) { + lbzu(bytecode, bcp_incr, R14_bcp); + } else { + lbz(bytecode, 0, R14_bcp); + } + + dispatch_Lbyte_code(state, bytecode, Interpreter::dispatch_table(state)); +} + +void InterpreterMacroAssembler::dispatch_via(TosState state, address* table) { + // Load current bytecode. + Register bytecode = R12_scratch2; + lbz(bytecode, 0, R14_bcp); + dispatch_Lbyte_code(state, bytecode, table); +} + +// Dispatch code executed in the prolog of a bytecode which does not do it's +// own dispatch. The dispatch address is computed and placed in R24_dispatch_addr. +void InterpreterMacroAssembler::dispatch_prolog(TosState state, int bcp_incr) { + Register bytecode = R12_scratch2; + lbz(bytecode, bcp_incr, R14_bcp); + + load_dispatch_table(R24_dispatch_addr, Interpreter::dispatch_table(state)); + + sldi(bytecode, bytecode, LogBytesPerWord); + ldx(R24_dispatch_addr, R24_dispatch_addr, bytecode); +} + +// Dispatch code executed in the epilog of a bytecode which does not do it's +// own dispatch. The dispatch address in R24_dispatch_addr is used for the +// dispatch. +void InterpreterMacroAssembler::dispatch_epilog(TosState state, int bcp_incr) { + mtctr(R24_dispatch_addr); + addi(R14_bcp, R14_bcp, bcp_incr); + bctr(); +} + +void InterpreterMacroAssembler::check_and_handle_popframe(Register scratch_reg) { + assert(scratch_reg != R0, "can't use R0 as scratch_reg here"); + if (JvmtiExport::can_pop_frame()) { + Label L; + + // Check the "pending popframe condition" flag in the current thread. + lwz(scratch_reg, in_bytes(JavaThread::popframe_condition_offset()), R16_thread); + + // Initiate popframe handling only if it is not already being + // processed. If the flag has the popframe_processing bit set, it + // means that this code is called *during* popframe handling - we + // don't want to reenter. + andi_(R0, scratch_reg, JavaThread::popframe_pending_bit); + beq(CCR0, L); + + andi_(R0, scratch_reg, JavaThread::popframe_processing_bit); + bne(CCR0, L); + + // Call the Interpreter::remove_activation_preserving_args_entry() + // func to get the address of the same-named entrypoint in the + // generated interpreter code. + call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, + Interpreter::remove_activation_preserving_args_entry), + relocInfo::none); + + // Jump to Interpreter::_remove_activation_preserving_args_entry. + mtctr(R3_RET); + bctr(); + + align(32, 12); + bind(L); + } +} + +void InterpreterMacroAssembler::check_and_handle_earlyret(Register scratch_reg) { + const Register Rthr_state_addr = scratch_reg; + if (JvmtiExport::can_force_early_return()) { + Label Lno_early_ret; + ld(Rthr_state_addr, in_bytes(JavaThread::jvmti_thread_state_offset()), R16_thread); + cmpdi(CCR0, Rthr_state_addr, 0); + beq(CCR0, Lno_early_ret); + + lwz(R0, in_bytes(JvmtiThreadState::earlyret_state_offset()), Rthr_state_addr); + cmpwi(CCR0, R0, JvmtiThreadState::earlyret_pending); + bne(CCR0, Lno_early_ret); + + // Jump to Interpreter::_earlyret_entry. + lwz(R3_ARG1, in_bytes(JvmtiThreadState::earlyret_tos_offset()), Rthr_state_addr); + call_VM_leaf(CAST_FROM_FN_PTR(address, Interpreter::remove_activation_early_entry)); + mtlr(R3_RET); + blr(); + + align(32, 12); + bind(Lno_early_ret); + } +} + +void InterpreterMacroAssembler::load_earlyret_value(TosState state, Register Rscratch1) { + const Register RjvmtiState = Rscratch1; + const Register Rscratch2 = R0; + + ld(RjvmtiState, in_bytes(JavaThread::jvmti_thread_state_offset()), R16_thread); + li(Rscratch2, 0); + + switch (state) { + case atos: ld(R17_tos, in_bytes(JvmtiThreadState::earlyret_oop_offset()), RjvmtiState); + std(Rscratch2, in_bytes(JvmtiThreadState::earlyret_oop_offset()), RjvmtiState); + break; + case ltos: ld(R17_tos, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState); + break; + case btos: // fall through + case ctos: // fall through + case stos: // fall through + case itos: lwz(R17_tos, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState); + break; + case ftos: lfs(F15_ftos, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState); + break; + case dtos: lfd(F15_ftos, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState); + break; + case vtos: break; + default : ShouldNotReachHere(); + } + + // Clean up tos value in the jvmti thread state. + std(Rscratch2, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState); + // Set tos state field to illegal value. + li(Rscratch2, ilgl); + stw(Rscratch2, in_bytes(JvmtiThreadState::earlyret_tos_offset()), RjvmtiState); +} + +// Common code to dispatch and dispatch_only. +// Dispatch value in Lbyte_code and increment Lbcp. + +void InterpreterMacroAssembler::load_dispatch_table(Register dst, address* table) { + address table_base = (address)Interpreter::dispatch_table((TosState)0); + intptr_t table_offs = (intptr_t)table - (intptr_t)table_base; + if (is_simm16(table_offs)) { + addi(dst, R25_templateTableBase, (int)table_offs); + } else { + load_const_optimized(dst, table, R0); + } +} + +void InterpreterMacroAssembler::dispatch_Lbyte_code(TosState state, Register bytecode, address* table, bool verify) { + if (verify) { + unimplemented("dispatch_Lbyte_code: verify"); // See Sparc Implementation to implement this + } + +#ifdef FAST_DISPATCH + unimplemented("dispatch_Lbyte_code FAST_DISPATCH"); +#else + assert_different_registers(bytecode, R11_scratch1); + + // Calc dispatch table address. + load_dispatch_table(R11_scratch1, table); + + sldi(R12_scratch2, bytecode, LogBytesPerWord); + ldx(R11_scratch1, R11_scratch1, R12_scratch2); + + // Jump off! + mtctr(R11_scratch1); + bctr(); +#endif +} + +void InterpreterMacroAssembler::load_receiver(Register Rparam_count, Register Rrecv_dst) { + sldi(Rrecv_dst, Rparam_count, Interpreter::logStackElementSize); + ldx(Rrecv_dst, Rrecv_dst, R15_esp); +} + +// helpers for expression stack + +void InterpreterMacroAssembler::pop_i(Register r) { + lwzu(r, Interpreter::stackElementSize, R15_esp); +} + +void InterpreterMacroAssembler::pop_ptr(Register r) { + ldu(r, Interpreter::stackElementSize, R15_esp); +} + +void InterpreterMacroAssembler::pop_l(Register r) { + ld(r, Interpreter::stackElementSize, R15_esp); + addi(R15_esp, R15_esp, 2 * Interpreter::stackElementSize); +} + +void InterpreterMacroAssembler::pop_f(FloatRegister f) { + lfsu(f, Interpreter::stackElementSize, R15_esp); +} + +void InterpreterMacroAssembler::pop_d(FloatRegister f) { + lfd(f, Interpreter::stackElementSize, R15_esp); + addi(R15_esp, R15_esp, 2 * Interpreter::stackElementSize); +} + +void InterpreterMacroAssembler::push_i(Register r) { + stw(r, 0, R15_esp); + addi(R15_esp, R15_esp, - Interpreter::stackElementSize ); +} + +void InterpreterMacroAssembler::push_ptr(Register r) { + std(r, 0, R15_esp); + addi(R15_esp, R15_esp, - Interpreter::stackElementSize ); +} + +void InterpreterMacroAssembler::push_l(Register r) { + std(r, - Interpreter::stackElementSize, R15_esp); + addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize ); +} + +void InterpreterMacroAssembler::push_f(FloatRegister f) { + stfs(f, 0, R15_esp); + addi(R15_esp, R15_esp, - Interpreter::stackElementSize ); +} + +void InterpreterMacroAssembler::push_d(FloatRegister f) { + stfd(f, - Interpreter::stackElementSize, R15_esp); + addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize ); +} + +void InterpreterMacroAssembler::push_2ptrs(Register first, Register second) { + std(first, 0, R15_esp); + std(second, -Interpreter::stackElementSize, R15_esp); + addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize ); +} + +void InterpreterMacroAssembler::push_l_pop_d(Register l, FloatRegister d) { + std(l, 0, R15_esp); + lfd(d, 0, R15_esp); +} + +void InterpreterMacroAssembler::push_d_pop_l(FloatRegister d, Register l) { + stfd(d, 0, R15_esp); + ld(l, 0, R15_esp); +} + +void InterpreterMacroAssembler::push(TosState state) { + switch (state) { + case atos: push_ptr(); break; + case btos: + case ctos: + case stos: + case itos: push_i(); break; + case ltos: push_l(); break; + case ftos: push_f(); break; + case dtos: push_d(); break; + case vtos: /* nothing to do */ break; + default : ShouldNotReachHere(); + } +} + +void InterpreterMacroAssembler::pop(TosState state) { + switch (state) { + case atos: pop_ptr(); break; + case btos: + case ctos: + case stos: + case itos: pop_i(); break; + case ltos: pop_l(); break; + case ftos: pop_f(); break; + case dtos: pop_d(); break; + case vtos: /* nothing to do */ break; + default : ShouldNotReachHere(); + } + verify_oop(R17_tos, state); +} + +void InterpreterMacroAssembler::empty_expression_stack() { + addi(R15_esp, R26_monitor, - Interpreter::stackElementSize); +} + +void InterpreterMacroAssembler::get_2_byte_integer_at_bcp(int bcp_offset, + Register Rdst, + signedOrNot is_signed) { + // Read Java big endian format. + if (is_signed == Signed) { + lha(Rdst, bcp_offset, R14_bcp); + } else { + lhz(Rdst, bcp_offset, R14_bcp); + } +#if 0 + assert(Rtmp != Rdst, "need separate temp register"); + Register Rfirst = Rtmp; + lbz(Rfirst, bcp_offset, R14_bcp); // first byte + lbz(Rdst, bcp_offset+1, R14_bcp); // second byte + + // Rdst = ((Rfirst<<8) & 0xFF00) | (Rdst &~ 0xFF00) + rldimi(/*RA=*/Rdst, /*RS=*/Rfirst, /*sh=*/8, /*mb=*/48); + if (is_signed == Signed) { + extsh(Rdst, Rdst); + } +#endif +} + +void InterpreterMacroAssembler::get_4_byte_integer_at_bcp(int bcp_offset, + Register Rdst, + signedOrNot is_signed) { + // Read Java big endian format. + if (bcp_offset & 3) { // Offset unaligned? + load_const_optimized(Rdst, bcp_offset); + if (is_signed == Signed) { + lwax(Rdst, R14_bcp, Rdst); + } else { + lwzx(Rdst, R14_bcp, Rdst); + } + } else { + if (is_signed == Signed) { + lwa(Rdst, bcp_offset, R14_bcp); + } else { + lwz(Rdst, bcp_offset, R14_bcp); + } + } +} + +// Load the constant pool cache index from the bytecode stream. +// +// Kills / writes: +// - Rdst, Rscratch +void InterpreterMacroAssembler::get_cache_index_at_bcp(Register Rdst, int bcp_offset, size_t index_size) { + assert(bcp_offset > 0, "bcp is still pointing to start of bytecode"); + if (index_size == sizeof(u2)) { + get_2_byte_integer_at_bcp(bcp_offset, Rdst, Unsigned); + } else if (index_size == sizeof(u4)) { + assert(EnableInvokeDynamic, "giant index used only for JSR 292"); + get_4_byte_integer_at_bcp(bcp_offset, Rdst, Signed); + assert(ConstantPool::decode_invokedynamic_index(~123) == 123, "else change next line"); + nand(Rdst, Rdst, Rdst); // convert to plain index + } else if (index_size == sizeof(u1)) { + lbz(Rdst, bcp_offset, R14_bcp); + } else { + ShouldNotReachHere(); + } + // Rdst now contains cp cache index. +} + +void InterpreterMacroAssembler::get_cache_and_index_at_bcp(Register cache, int bcp_offset, size_t index_size) { + get_cache_index_at_bcp(cache, bcp_offset, index_size); + sldi(cache, cache, exact_log2(in_words(ConstantPoolCacheEntry::size()) * BytesPerWord)); + add(cache, R27_constPoolCache, cache); +} + +// Load object from cpool->resolved_references(index). +void InterpreterMacroAssembler::load_resolved_reference_at_index(Register result, Register index) { + assert_different_registers(result, index); + get_constant_pool(result); + + // Convert from field index to resolved_references() index and from + // word index to byte offset. Since this is a java object, it can be compressed. + Register tmp = index; // reuse + sldi(tmp, index, LogBytesPerHeapOop); + // Load pointer for resolved_references[] objArray. + ld(result, ConstantPool::resolved_references_offset_in_bytes(), result); + // JNIHandles::resolve(result) + ld(result, 0, result); +#ifdef ASSERT + Label index_ok; + lwa(R0, arrayOopDesc::length_offset_in_bytes(), result); + sldi(R0, R0, LogBytesPerHeapOop); + cmpd(CCR0, tmp, R0); + blt(CCR0, index_ok); + stop("resolved reference index out of bounds", 0x09256); + bind(index_ok); +#endif + // Add in the index. + add(result, tmp, result); + load_heap_oop(result, arrayOopDesc::base_offset_in_bytes(T_OBJECT), result); +} + +// Generate a subtype check: branch to ok_is_subtype if sub_klass is +// a subtype of super_klass. Blows registers Rsub_klass, tmp1, tmp2. +void InterpreterMacroAssembler::gen_subtype_check(Register Rsub_klass, Register Rsuper_klass, Register Rtmp1, + Register Rtmp2, Register Rtmp3, Label &ok_is_subtype) { + // Profile the not-null value's klass. + profile_typecheck(Rsub_klass, Rtmp1, Rtmp2); + check_klass_subtype(Rsub_klass, Rsuper_klass, Rtmp1, Rtmp2, ok_is_subtype); + profile_typecheck_failed(Rtmp1, Rtmp2); +} + +void InterpreterMacroAssembler::generate_stack_overflow_check_with_compare_and_throw(Register Rmem_frame_size, Register Rscratch1) { + Label done; + sub(Rmem_frame_size, R1_SP, Rmem_frame_size); + ld(Rscratch1, thread_(stack_overflow_limit)); + cmpld(CCR0/*is_stack_overflow*/, Rmem_frame_size, Rscratch1); + bgt(CCR0/*is_stack_overflow*/, done); + + // Load target address of the runtime stub. + assert(StubRoutines::throw_StackOverflowError_entry() != NULL, "generated in wrong order"); + load_const_optimized(Rscratch1, (StubRoutines::throw_StackOverflowError_entry()), R0); + mtctr(Rscratch1); + // Restore caller_sp. +#ifdef ASSERT + ld(Rscratch1, 0, R1_SP); + ld(R0, 0, R21_sender_SP); + cmpd(CCR0, R0, Rscratch1); + asm_assert_eq("backlink", 0x547); +#endif // ASSERT + mr(R1_SP, R21_sender_SP); + bctr(); + + align(32, 12); + bind(done); +} + +// Separate these two to allow for delay slot in middle. +// These are used to do a test and full jump to exception-throwing code. + +// Check that index is in range for array, then shift index by index_shift, +// and put arrayOop + shifted_index into res. +// Note: res is still shy of address by array offset into object. + +void InterpreterMacroAssembler::index_check_without_pop(Register Rarray, Register Rindex, int index_shift, Register Rtmp, Register Rres) { + // Check that index is in range for array, then shift index by index_shift, + // and put arrayOop + shifted_index into res. + // Note: res is still shy of address by array offset into object. + // Kills: + // - Rindex + // Writes: + // - Rres: Address that corresponds to the array index if check was successful. + verify_oop(Rarray); + const Register Rlength = R0; + const Register RsxtIndex = Rtmp; + Label LisNull, LnotOOR; + + // Array nullcheck + if (!ImplicitNullChecks) { + cmpdi(CCR0, Rarray, 0); + beq(CCR0, LisNull); + } else { + null_check_throw(Rarray, arrayOopDesc::length_offset_in_bytes(), /*temp*/RsxtIndex); + } + + // Rindex might contain garbage in upper bits (remember that we don't sign extend + // during integer arithmetic operations). So kill them and put value into same register + // where ArrayIndexOutOfBounds would expect the index in. + rldicl(RsxtIndex, Rindex, 0, 32); // zero extend 32 bit -> 64 bit + + // Index check + lwz(Rlength, arrayOopDesc::length_offset_in_bytes(), Rarray); + cmplw(CCR0, Rindex, Rlength); + sldi(RsxtIndex, RsxtIndex, index_shift); + blt(CCR0, LnotOOR); + load_dispatch_table(Rtmp, (address*)Interpreter::_throw_ArrayIndexOutOfBoundsException_entry); + mtctr(Rtmp); + bctr(); + + if (!ImplicitNullChecks) { + bind(LisNull); + load_dispatch_table(Rtmp, (address*)Interpreter::_throw_NullPointerException_entry); + mtctr(Rtmp); + bctr(); + } + + align(32, 16); + bind(LnotOOR); + + // Calc address + add(Rres, RsxtIndex, Rarray); +} + +void InterpreterMacroAssembler::index_check(Register array, Register index, int index_shift, Register tmp, Register res) { + // pop array + pop_ptr(array); + + // check array + index_check_without_pop(array, index, index_shift, tmp, res); +} + +void InterpreterMacroAssembler::get_const(Register Rdst) { + ld(Rdst, in_bytes(Method::const_offset()), R19_method); +} + +void InterpreterMacroAssembler::get_constant_pool(Register Rdst) { + get_const(Rdst); + ld(Rdst, in_bytes(ConstMethod::constants_offset()), Rdst); +} + +void InterpreterMacroAssembler::get_constant_pool_cache(Register Rdst) { + get_constant_pool(Rdst); + ld(Rdst, ConstantPool::cache_offset_in_bytes(), Rdst); +} + +void InterpreterMacroAssembler::get_cpool_and_tags(Register Rcpool, Register Rtags) { + get_constant_pool(Rcpool); + ld(Rtags, ConstantPool::tags_offset_in_bytes(), Rcpool); +} + +// Unlock if synchronized method. +// +// Unlock the receiver if this is a synchronized method. +// Unlock any Java monitors from synchronized blocks. +// +// If there are locked Java monitors +// If throw_monitor_exception +// throws IllegalMonitorStateException +// Else if install_monitor_exception +// installs IllegalMonitorStateException +// Else +// no error processing +void InterpreterMacroAssembler::unlock_if_synchronized_method(TosState state, + bool throw_monitor_exception, + bool install_monitor_exception) { + Label Lunlocked, Lno_unlock; + { + Register Rdo_not_unlock_flag = R11_scratch1; + Register Raccess_flags = R12_scratch2; + + // Check if synchronized method or unlocking prevented by + // JavaThread::do_not_unlock_if_synchronized flag. + lbz(Rdo_not_unlock_flag, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread); + lwz(Raccess_flags, in_bytes(Method::access_flags_offset()), R19_method); + li(R0, 0); + stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread); // reset flag + + push(state); + + // Skip if we don't have to unlock. + rldicl_(R0, Raccess_flags, 64-JVM_ACC_SYNCHRONIZED_BIT, 63); // Extract bit and compare to 0. + beq(CCR0, Lunlocked); + + cmpwi(CCR0, Rdo_not_unlock_flag, 0); + bne(CCR0, Lno_unlock); + } + + // Unlock + { + Register Rmonitor_base = R11_scratch1; + + Label Lunlock; + // If it's still locked, everything is ok, unlock it. + ld(Rmonitor_base, 0, R1_SP); + addi(Rmonitor_base, Rmonitor_base, - (frame::ijava_state_size + frame::interpreter_frame_monitor_size_in_bytes())); // Monitor base + + ld(R0, BasicObjectLock::obj_offset_in_bytes(), Rmonitor_base); + cmpdi(CCR0, R0, 0); + bne(CCR0, Lunlock); + + // If it's already unlocked, throw exception. + if (throw_monitor_exception) { + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_illegal_monitor_state_exception)); + should_not_reach_here(); + } else { + if (install_monitor_exception) { + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::new_illegal_monitor_state_exception)); + b(Lunlocked); + } + } + + bind(Lunlock); + unlock_object(Rmonitor_base); + } + + // Check that all other monitors are unlocked. Throw IllegelMonitorState exception if not. + bind(Lunlocked); + { + Label Lexception, Lrestart; + Register Rcurrent_obj_addr = R11_scratch1; + const int delta = frame::interpreter_frame_monitor_size_in_bytes(); + assert((delta & LongAlignmentMask) == 0, "sizeof BasicObjectLock must be even number of doublewords"); + + bind(Lrestart); + // Set up search loop: Calc num of iterations. + { + Register Riterations = R12_scratch2; + Register Rmonitor_base = Rcurrent_obj_addr; + ld(Rmonitor_base, 0, R1_SP); + addi(Rmonitor_base, Rmonitor_base, - frame::ijava_state_size); // Monitor base + + subf_(Riterations, R26_monitor, Rmonitor_base); + ble(CCR0, Lno_unlock); + + addi(Rcurrent_obj_addr, Rmonitor_base, BasicObjectLock::obj_offset_in_bytes() - frame::interpreter_frame_monitor_size_in_bytes()); + // Check if any monitor is on stack, bail out if not + srdi(Riterations, Riterations, exact_log2(delta)); + mtctr(Riterations); + } + + // The search loop: Look for locked monitors. + { + const Register Rcurrent_obj = R0; + Label Lloop; + + ld(Rcurrent_obj, 0, Rcurrent_obj_addr); + addi(Rcurrent_obj_addr, Rcurrent_obj_addr, -delta); + bind(Lloop); + + // Check if current entry is used. + cmpdi(CCR0, Rcurrent_obj, 0); + bne(CCR0, Lexception); + // Preload next iteration's compare value. + ld(Rcurrent_obj, 0, Rcurrent_obj_addr); + addi(Rcurrent_obj_addr, Rcurrent_obj_addr, -delta); + bdnz(Lloop); + } + // Fell through: Everything's unlocked => finish. + b(Lno_unlock); + + // An object is still locked => need to throw exception. + bind(Lexception); + if (throw_monitor_exception) { + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_illegal_monitor_state_exception)); + should_not_reach_here(); + } else { + // Stack unrolling. Unlock object and if requested, install illegal_monitor_exception. + // Unlock does not block, so don't have to worry about the frame. + Register Rmonitor_addr = R11_scratch1; + addi(Rmonitor_addr, Rcurrent_obj_addr, -BasicObjectLock::obj_offset_in_bytes() + delta); + unlock_object(Rmonitor_addr); + if (install_monitor_exception) { + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::new_illegal_monitor_state_exception)); + } + b(Lrestart); + } + } + + align(32, 12); + bind(Lno_unlock); + pop(state); +} + +// Support function for remove_activation & Co. +void InterpreterMacroAssembler::merge_frames(Register Rsender_sp, Register return_pc, Register Rscratch1, Register Rscratch2) { + // Pop interpreter frame. + ld(Rscratch1, 0, R1_SP); // *SP + ld(Rsender_sp, _ijava_state_neg(sender_sp), Rscratch1); // top_frame_sp + ld(Rscratch2, 0, Rscratch1); // **SP +#ifdef ASSERT + { + Label Lok; + ld(R0, _ijava_state_neg(ijava_reserved), Rscratch1); + cmpdi(CCR0, R0, 0x5afe); + beq(CCR0, Lok); + stop("frame corrupted (remove activation)", 0x5afe); + bind(Lok); + } +#endif + if (return_pc!=noreg) { + ld(return_pc, _abi(lr), Rscratch1); // LR + } + + // Merge top frames. + subf(Rscratch1, R1_SP, Rsender_sp); // top_frame_sp - SP + stdux(Rscratch2, R1_SP, Rscratch1); // atomically set *(SP = top_frame_sp) = **SP +} + +// Remove activation. +// +// Unlock the receiver if this is a synchronized method. +// Unlock any Java monitors from synchronized blocks. +// Remove the activation from the stack. +// +// If there are locked Java monitors +// If throw_monitor_exception +// throws IllegalMonitorStateException +// Else if install_monitor_exception +// installs IllegalMonitorStateException +// Else +// no error processing +void InterpreterMacroAssembler::remove_activation(TosState state, + bool throw_monitor_exception, + bool install_monitor_exception) { + unlock_if_synchronized_method(state, throw_monitor_exception, install_monitor_exception); + + // Save result (push state before jvmti call and pop it afterwards) and notify jvmti. + notify_method_exit(false, state, NotifyJVMTI, true); + + verify_oop(R17_tos, state); + verify_thread(); + + merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2); + mtlr(R0); +} + +#endif // !CC_INTERP + // Lock object // // Registers alive @@ -81,7 +767,6 @@ void InterpreterMacroAssembler::lock_object(Register monitor, Register object) { assert_different_registers(displaced_header, object_mark_addr, current_header, tmp); - // markOop displaced_header = obj->mark().set_unlocked(); // Load markOop from object into displaced_header. @@ -94,7 +779,6 @@ void InterpreterMacroAssembler::lock_object(Register monitor, Register object) { // Set displaced_header to be (markOop of object | UNLOCK_VALUE). ori(displaced_header, displaced_header, markOopDesc::unlocked_value); - // monitor->lock()->set_displaced_header(displaced_header); // Initialize the box (Must happen before we update the object mark!). @@ -147,7 +831,6 @@ void InterpreterMacroAssembler::lock_object(Register monitor, Register object) { BasicLock::displaced_header_offset_in_bytes(), monitor); b(done); - // } else { // // Slow path. // InterpreterRuntime::monitorenter(THREAD, monitor); @@ -158,7 +841,7 @@ void InterpreterMacroAssembler::lock_object(Register monitor, Register object) { call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorenter), monitor, /*check_for_exceptions=*/true CC_INTERP_ONLY(&& false)); // } - + align(32, 12); bind(done); } } @@ -173,13 +856,13 @@ void InterpreterMacroAssembler::lock_object(Register monitor, Register object) { void InterpreterMacroAssembler::unlock_object(Register monitor, bool check_for_exceptions) { if (UseHeavyMonitors) { call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), - monitor, /*check_for_exceptions=*/false); + monitor, check_for_exceptions CC_INTERP_ONLY(&& false)); } else { // template code: // // if ((displaced_header = monitor->displaced_header()) == NULL) { - // // Recursive unlock. Mark the monitor unlocked by setting the object field to NULL. + // // Recursive unlock. Mark the monitor unlocked by setting the object field to NULL. // monitor->set_obj(NULL); // } else if (Atomic::cmpxchg_ptr(displaced_header, obj->mark_addr(), monitor) == monitor) { // // We swapped the unlocked mark in displaced_header into the object's mark word. @@ -221,7 +904,7 @@ void InterpreterMacroAssembler::unlock_object(Register monitor, bool check_for_e // If we still have a lightweight lock, unlock the object and be done. // The object address from the monitor is in object. - if (!UseBiasedLocking) ld(object, BasicObjectLock::obj_offset_in_bytes(), monitor); + if (!UseBiasedLocking) { ld(object, BasicObjectLock::obj_offset_in_bytes(), monitor); } addi(object_mark_addr, object, oopDesc::mark_offset_in_bytes()); // We have the displaced header in displaced_header. If the lock is still @@ -261,6 +944,959 @@ void InterpreterMacroAssembler::unlock_object(Register monitor, bool check_for_e } } +#ifndef CC_INTERP + +// Load compiled (i2c) or interpreter entry when calling from interpreted and +// do the call. Centralized so that all interpreter calls will do the same actions. +// If jvmti single stepping is on for a thread we must not call compiled code. +// +// Input: +// - Rtarget_method: method to call +// - Rret_addr: return address +// - 2 scratch regs +// +void InterpreterMacroAssembler::call_from_interpreter(Register Rtarget_method, Register Rret_addr, Register Rscratch1, Register Rscratch2) { + assert_different_registers(Rscratch1, Rscratch2, Rtarget_method, Rret_addr); + // Assume we want to go compiled if available. + const Register Rtarget_addr = Rscratch1; + const Register Rinterp_only = Rscratch2; + + ld(Rtarget_addr, in_bytes(Method::from_interpreted_offset()), Rtarget_method); + + if (JvmtiExport::can_post_interpreter_events()) { + lwz(Rinterp_only, in_bytes(JavaThread::interp_only_mode_offset()), R16_thread); + + // JVMTI events, such as single-stepping, are implemented partly by avoiding running + // compiled code in threads for which the event is enabled. Check here for + // interp_only_mode if these events CAN be enabled. + Label done; + verify_thread(); + cmpwi(CCR0, Rinterp_only, 0); + beq(CCR0, done); + ld(Rtarget_addr, in_bytes(Method::interpreter_entry_offset()), Rtarget_method); + align(32, 12); + bind(done); + } + +#ifdef ASSERT + { + Label Lok; + cmpdi(CCR0, Rtarget_addr, 0); + bne(CCR0, Lok); + stop("null entry point"); + bind(Lok); + } +#endif // ASSERT + + mr(R21_sender_SP, R1_SP); + + // Calc a precise SP for the call. The SP value we calculated in + // generate_fixed_frame() is based on the max_stack() value, so we would waste stack space + // if esp is not max. Also, the i2c adapter extends the stack space without restoring + // our pre-calced value, so repeating calls via i2c would result in stack overflow. + // Since esp already points to an empty slot, we just have to sub 1 additional slot + // to meet the abi scratch requirements. + // The max_stack pointer will get restored by means of the GR_Lmax_stack local in + // the return entry of the interpreter. + addi(Rscratch2, R15_esp, Interpreter::stackElementSize - frame::abi_reg_args_size); + clrrdi(Rscratch2, Rscratch2, exact_log2(frame::alignment_in_bytes)); // round towards smaller address + resize_frame_absolute(Rscratch2, Rscratch2, R0); + + mr_if_needed(R19_method, Rtarget_method); + mtctr(Rtarget_addr); + mtlr(Rret_addr); + + save_interpreter_state(Rscratch2); +#ifdef ASSERT + ld(Rscratch1, _ijava_state_neg(top_frame_sp), Rscratch2); // Rscratch2 contains fp + cmpd(CCR0, R21_sender_SP, Rscratch1); + asm_assert_eq("top_frame_sp incorrect", 0x951); +#endif + + bctr(); +} + +// Set the method data pointer for the current bcp. +void InterpreterMacroAssembler::set_method_data_pointer_for_bcp() { + assert(ProfileInterpreter, "must be profiling interpreter"); + Label get_continue; + ld(R28_mdx, in_bytes(Method::method_data_offset()), R19_method); + test_method_data_pointer(get_continue); + call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::bcp_to_di), R19_method, R14_bcp); + + addi(R28_mdx, R28_mdx, in_bytes(MethodData::data_offset())); + add(R28_mdx, R28_mdx, R3_RET); + bind(get_continue); +} + +// Test ImethodDataPtr. If it is null, continue at the specified label. +void InterpreterMacroAssembler::test_method_data_pointer(Label& zero_continue) { + assert(ProfileInterpreter, "must be profiling interpreter"); + cmpdi(CCR0, R28_mdx, 0); + beq(CCR0, zero_continue); +} + +void InterpreterMacroAssembler::verify_method_data_pointer() { + assert(ProfileInterpreter, "must be profiling interpreter"); +#ifdef ASSERT + Label verify_continue; + test_method_data_pointer(verify_continue); + + // If the mdp is valid, it will point to a DataLayout header which is + // consistent with the bcp. The converse is highly probable also. + lhz(R11_scratch1, in_bytes(DataLayout::bci_offset()), R28_mdx); + ld(R12_scratch2, in_bytes(Method::const_offset()), R19_method); + addi(R11_scratch1, R11_scratch1, in_bytes(ConstMethod::codes_offset())); + add(R11_scratch1, R12_scratch2, R12_scratch2); + cmpd(CCR0, R11_scratch1, R14_bcp); + beq(CCR0, verify_continue); + + call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::verify_mdp ), R19_method, R14_bcp, R28_mdx); + + bind(verify_continue); +#endif +} + +void InterpreterMacroAssembler::test_invocation_counter_for_mdp(Register invocation_count, + Register Rscratch, + Label &profile_continue) { + assert(ProfileInterpreter, "must be profiling interpreter"); + // Control will flow to "profile_continue" if the counter is less than the + // limit or if we call profile_method(). + Label done; + + // If no method data exists, and the counter is high enough, make one. + int ipl_offs = load_const_optimized(Rscratch, &InvocationCounter::InterpreterProfileLimit, R0, true); + lwz(Rscratch, ipl_offs, Rscratch); + + cmpdi(CCR0, R28_mdx, 0); + // Test to see if we should create a method data oop. + cmpd(CCR1, Rscratch /* InterpreterProfileLimit */, invocation_count); + bne(CCR0, done); + bge(CCR1, profile_continue); + + // Build it now. + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); + set_method_data_pointer_for_bcp(); + b(profile_continue); + + align(32, 12); + bind(done); +} + +void InterpreterMacroAssembler::test_backedge_count_for_osr(Register backedge_count, Register branch_bcp, Register Rtmp) { + assert_different_registers(backedge_count, Rtmp, branch_bcp); + assert(UseOnStackReplacement,"Must UseOnStackReplacement to test_backedge_count_for_osr"); + + Label did_not_overflow; + Label overflow_with_error; + + int ibbl_offs = load_const_optimized(Rtmp, &InvocationCounter::InterpreterBackwardBranchLimit, R0, true); + lwz(Rtmp, ibbl_offs, Rtmp); + cmpw(CCR0, backedge_count, Rtmp); + + blt(CCR0, did_not_overflow); + + // When ProfileInterpreter is on, the backedge_count comes from the + // methodDataOop, which value does not get reset on the call to + // frequency_counter_overflow(). To avoid excessive calls to the overflow + // routine while the method is being compiled, add a second test to make sure + // the overflow function is called only once every overflow_frequency. + if (ProfileInterpreter) { + const int overflow_frequency = 1024; + li(Rtmp, overflow_frequency-1); + andr(Rtmp, Rtmp, backedge_count); + cmpwi(CCR0, Rtmp, 0); + bne(CCR0, did_not_overflow); + } + + // Overflow in loop, pass branch bytecode. + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), branch_bcp, true); + + // Was an OSR adapter generated? + // O0 = osr nmethod + cmpdi(CCR0, R3_RET, 0); + beq(CCR0, overflow_with_error); + + // Has the nmethod been invalidated already? + lwz(Rtmp, nmethod::entry_bci_offset(), R3_RET); + cmpwi(CCR0, Rtmp, InvalidOSREntryBci); + beq(CCR0, overflow_with_error); + + // Migrate the interpreter frame off of the stack. + // We can use all registers because we will not return to interpreter from this point. + + // Save nmethod. + const Register osr_nmethod = R31; + mr(osr_nmethod, R3_RET); + set_top_ijava_frame_at_SP_as_last_Java_frame(R1_SP, R11_scratch1); + call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::OSR_migration_begin), R16_thread); + reset_last_Java_frame(); + // OSR buffer is in ARG1 + + // Remove the interpreter frame. + merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2); + + // Jump to the osr code. + ld(R11_scratch1, nmethod::osr_entry_point_offset(), osr_nmethod); + mtlr(R0); + mtctr(R11_scratch1); + bctr(); + + align(32, 12); + bind(overflow_with_error); + bind(did_not_overflow); +} + +// Store a value at some constant offset from the method data pointer. +void InterpreterMacroAssembler::set_mdp_data_at(int constant, Register value) { + assert(ProfileInterpreter, "must be profiling interpreter"); + + std(value, constant, R28_mdx); +} + +// Increment the value at some constant offset from the method data pointer. +void InterpreterMacroAssembler::increment_mdp_data_at(int constant, + Register counter_addr, + Register Rbumped_count, + bool decrement) { + // Locate the counter at a fixed offset from the mdp: + addi(counter_addr, R28_mdx, constant); + increment_mdp_data_at(counter_addr, Rbumped_count, decrement); +} + +// Increment the value at some non-fixed (reg + constant) offset from +// the method data pointer. +void InterpreterMacroAssembler::increment_mdp_data_at(Register reg, + int constant, + Register scratch, + Register Rbumped_count, + bool decrement) { + // Add the constant to reg to get the offset. + add(scratch, R28_mdx, reg); + // Then calculate the counter address. + addi(scratch, scratch, constant); + increment_mdp_data_at(scratch, Rbumped_count, decrement); +} + +void InterpreterMacroAssembler::increment_mdp_data_at(Register counter_addr, + Register Rbumped_count, + bool decrement) { + assert(ProfileInterpreter, "must be profiling interpreter"); + + // Load the counter. + ld(Rbumped_count, 0, counter_addr); + + if (decrement) { + // Decrement the register. Set condition codes. + addi(Rbumped_count, Rbumped_count, - DataLayout::counter_increment); + // Store the decremented counter, if it is still negative. + std(Rbumped_count, 0, counter_addr); + // Note: add/sub overflow check are not ported, since 64 bit + // calculation should never overflow. + } else { + // Increment the register. Set carry flag. + addi(Rbumped_count, Rbumped_count, DataLayout::counter_increment); + // Store the incremented counter. + std(Rbumped_count, 0, counter_addr); + } +} + +// Set a flag value at the current method data pointer position. +void InterpreterMacroAssembler::set_mdp_flag_at(int flag_constant, + Register scratch) { + assert(ProfileInterpreter, "must be profiling interpreter"); + // Load the data header. + lbz(scratch, in_bytes(DataLayout::flags_offset()), R28_mdx); + // Set the flag. + ori(scratch, scratch, flag_constant); + // Store the modified header. + stb(scratch, in_bytes(DataLayout::flags_offset()), R28_mdx); +} + +// Test the location at some offset from the method data pointer. +// If it is not equal to value, branch to the not_equal_continue Label. +void InterpreterMacroAssembler::test_mdp_data_at(int offset, + Register value, + Label& not_equal_continue, + Register test_out) { + assert(ProfileInterpreter, "must be profiling interpreter"); + + ld(test_out, offset, R28_mdx); + cmpd(CCR0, value, test_out); + bne(CCR0, not_equal_continue); +} + +// Update the method data pointer by the displacement located at some fixed +// offset from the method data pointer. +void InterpreterMacroAssembler::update_mdp_by_offset(int offset_of_disp, + Register scratch) { + assert(ProfileInterpreter, "must be profiling interpreter"); + + ld(scratch, offset_of_disp, R28_mdx); + add(R28_mdx, scratch, R28_mdx); +} + +// Update the method data pointer by the displacement located at the +// offset (reg + offset_of_disp). +void InterpreterMacroAssembler::update_mdp_by_offset(Register reg, + int offset_of_disp, + Register scratch) { + assert(ProfileInterpreter, "must be profiling interpreter"); + + add(scratch, reg, R28_mdx); + ld(scratch, offset_of_disp, scratch); + add(R28_mdx, scratch, R28_mdx); +} + +// Update the method data pointer by a simple constant displacement. +void InterpreterMacroAssembler::update_mdp_by_constant(int constant) { + assert(ProfileInterpreter, "must be profiling interpreter"); + addi(R28_mdx, R28_mdx, constant); +} + +// Update the method data pointer for a _ret bytecode whose target +// was not among our cached targets. +void InterpreterMacroAssembler::update_mdp_for_ret(TosState state, + Register return_bci) { + assert(ProfileInterpreter, "must be profiling interpreter"); + + push(state); + assert(return_bci->is_nonvolatile(), "need to protect return_bci"); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::update_mdp_for_ret), return_bci); + pop(state); +} + +// Increments the backedge counter. +// Returns backedge counter + invocation counter in Rdst. +void InterpreterMacroAssembler::increment_backedge_counter(const Register Rcounters, const Register Rdst, + const Register Rtmp1, Register Rscratch) { + assert(UseCompiler, "incrementing must be useful"); + assert_different_registers(Rdst, Rtmp1); + const Register invocation_counter = Rtmp1; + const Register counter = Rdst; + // TODO ppc port assert(4 == InvocationCounter::sz_counter(), "unexpected field size."); + + // Load backedge counter. + lwz(counter, in_bytes(MethodCounters::backedge_counter_offset()) + + in_bytes(InvocationCounter::counter_offset()), Rcounters); + // Load invocation counter. + lwz(invocation_counter, in_bytes(MethodCounters::invocation_counter_offset()) + + in_bytes(InvocationCounter::counter_offset()), Rcounters); + + // Add the delta to the backedge counter. + addi(counter, counter, InvocationCounter::count_increment); + + // Mask the invocation counter. + li(Rscratch, InvocationCounter::count_mask_value); + andr(invocation_counter, invocation_counter, Rscratch); + + // Store new counter value. + stw(counter, in_bytes(MethodCounters::backedge_counter_offset()) + + in_bytes(InvocationCounter::counter_offset()), Rcounters); + // Return invocation counter + backedge counter. + add(counter, counter, invocation_counter); +} + +// Count a taken branch in the bytecodes. +void InterpreterMacroAssembler::profile_taken_branch(Register scratch, Register bumped_count) { + if (ProfileInterpreter) { + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + // We are taking a branch. Increment the taken count. + increment_mdp_data_at(in_bytes(JumpData::taken_offset()), scratch, bumped_count); + + // The method data pointer needs to be updated to reflect the new target. + update_mdp_by_offset(in_bytes(JumpData::displacement_offset()), scratch); + bind (profile_continue); + } +} + +// Count a not-taken branch in the bytecodes. +void InterpreterMacroAssembler::profile_not_taken_branch(Register scratch1, Register scratch2) { + if (ProfileInterpreter) { + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + // We are taking a branch. Increment the not taken count. + increment_mdp_data_at(in_bytes(BranchData::not_taken_offset()), scratch1, scratch2); + + // The method data pointer needs to be updated to correspond to the + // next bytecode. + update_mdp_by_constant(in_bytes(BranchData::branch_data_size())); + bind (profile_continue); + } +} + +// Count a non-virtual call in the bytecodes. +void InterpreterMacroAssembler::profile_call(Register scratch1, Register scratch2) { + if (ProfileInterpreter) { + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + // We are making a call. Increment the count. + increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2); + + // The method data pointer needs to be updated to reflect the new target. + update_mdp_by_constant(in_bytes(CounterData::counter_data_size())); + bind (profile_continue); + } +} + +// Count a final call in the bytecodes. +void InterpreterMacroAssembler::profile_final_call(Register scratch1, Register scratch2) { + if (ProfileInterpreter) { + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + // We are making a call. Increment the count. + increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2); + + // The method data pointer needs to be updated to reflect the new target. + update_mdp_by_constant(in_bytes(VirtualCallData::virtual_call_data_size())); + bind (profile_continue); + } +} + +// Count a virtual call in the bytecodes. +void InterpreterMacroAssembler::profile_virtual_call(Register Rreceiver, + Register Rscratch1, + Register Rscratch2, + bool receiver_can_be_null) { + if (!ProfileInterpreter) { return; } + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + Label skip_receiver_profile; + if (receiver_can_be_null) { + Label not_null; + cmpdi(CCR0, Rreceiver, 0); + bne(CCR0, not_null); + // We are making a call. Increment the count for null receiver. + increment_mdp_data_at(in_bytes(CounterData::count_offset()), Rscratch1, Rscratch2); + b(skip_receiver_profile); + bind(not_null); + } + + // Record the receiver type. + record_klass_in_profile(Rreceiver, Rscratch1, Rscratch2, true); + bind(skip_receiver_profile); + + // The method data pointer needs to be updated to reflect the new target. + update_mdp_by_constant(in_bytes(VirtualCallData::virtual_call_data_size())); + bind (profile_continue); +} + +void InterpreterMacroAssembler::profile_typecheck(Register Rklass, Register Rscratch1, Register Rscratch2) { + if (ProfileInterpreter) { + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + int mdp_delta = in_bytes(BitData::bit_data_size()); + if (TypeProfileCasts) { + mdp_delta = in_bytes(VirtualCallData::virtual_call_data_size()); + + // Record the object type. + record_klass_in_profile(Rklass, Rscratch1, Rscratch2, false); + } + + // The method data pointer needs to be updated. + update_mdp_by_constant(mdp_delta); + + bind (profile_continue); + } +} + +void InterpreterMacroAssembler::profile_typecheck_failed(Register Rscratch1, Register Rscratch2) { + if (ProfileInterpreter && TypeProfileCasts) { + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + int count_offset = in_bytes(CounterData::count_offset()); + // Back up the address, since we have already bumped the mdp. + count_offset -= in_bytes(VirtualCallData::virtual_call_data_size()); + + // *Decrement* the counter. We expect to see zero or small negatives. + increment_mdp_data_at(count_offset, Rscratch1, Rscratch2, true); + + bind (profile_continue); + } +} + +// Count a ret in the bytecodes. +void InterpreterMacroAssembler::profile_ret(TosState state, Register return_bci, Register scratch1, Register scratch2) { + if (ProfileInterpreter) { + Label profile_continue; + uint row; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + // Update the total ret count. + increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2 ); + + for (row = 0; row < RetData::row_limit(); row++) { + Label next_test; + + // See if return_bci is equal to bci[n]: + test_mdp_data_at(in_bytes(RetData::bci_offset(row)), return_bci, next_test, scratch1); + + // return_bci is equal to bci[n]. Increment the count. + increment_mdp_data_at(in_bytes(RetData::bci_count_offset(row)), scratch1, scratch2); + + // The method data pointer needs to be updated to reflect the new target. + update_mdp_by_offset(in_bytes(RetData::bci_displacement_offset(row)), scratch1); + b(profile_continue); + bind(next_test); + } + + update_mdp_for_ret(state, return_bci); + + bind (profile_continue); + } +} + +// Count the default case of a switch construct. +void InterpreterMacroAssembler::profile_switch_default(Register scratch1, Register scratch2) { + if (ProfileInterpreter) { + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + // Update the default case count + increment_mdp_data_at(in_bytes(MultiBranchData::default_count_offset()), + scratch1, scratch2); + + // The method data pointer needs to be updated. + update_mdp_by_offset(in_bytes(MultiBranchData::default_displacement_offset()), + scratch1); + + bind (profile_continue); + } +} + +// Count the index'th case of a switch construct. +void InterpreterMacroAssembler::profile_switch_case(Register index, + Register scratch1, + Register scratch2, + Register scratch3) { + if (ProfileInterpreter) { + assert_different_registers(index, scratch1, scratch2, scratch3); + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + // Build the base (index * per_case_size_in_bytes()) + case_array_offset_in_bytes(). + li(scratch3, in_bytes(MultiBranchData::case_array_offset())); + + assert (in_bytes(MultiBranchData::per_case_size()) == 16, "so that shladd works"); + sldi(scratch1, index, exact_log2(in_bytes(MultiBranchData::per_case_size()))); + add(scratch1, scratch1, scratch3); + + // Update the case count. + increment_mdp_data_at(scratch1, in_bytes(MultiBranchData::relative_count_offset()), scratch2, scratch3); + + // The method data pointer needs to be updated. + update_mdp_by_offset(scratch1, in_bytes(MultiBranchData::relative_displacement_offset()), scratch2); + + bind (profile_continue); + } +} + +void InterpreterMacroAssembler::profile_null_seen(Register Rscratch1, Register Rscratch2) { + if (ProfileInterpreter) { + assert_different_registers(Rscratch1, Rscratch2); + Label profile_continue; + + // If no method data exists, go to profile_continue. + test_method_data_pointer(profile_continue); + + set_mdp_flag_at(BitData::null_seen_byte_constant(), Rscratch1); + + // The method data pointer needs to be updated. + int mdp_delta = in_bytes(BitData::bit_data_size()); + if (TypeProfileCasts) { + mdp_delta = in_bytes(VirtualCallData::virtual_call_data_size()); + } + update_mdp_by_constant(mdp_delta); + + bind (profile_continue); + } +} + +void InterpreterMacroAssembler::record_klass_in_profile(Register Rreceiver, + Register Rscratch1, Register Rscratch2, + bool is_virtual_call) { + assert(ProfileInterpreter, "must be profiling"); + assert_different_registers(Rreceiver, Rscratch1, Rscratch2); + + Label done; + record_klass_in_profile_helper(Rreceiver, Rscratch1, Rscratch2, 0, done, is_virtual_call); + bind (done); +} + +void InterpreterMacroAssembler::record_klass_in_profile_helper( + Register receiver, Register scratch1, Register scratch2, + int start_row, Label& done, bool is_virtual_call) { + if (TypeProfileWidth == 0) { + if (is_virtual_call) { + increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2); + } + return; + } + + int last_row = VirtualCallData::row_limit() - 1; + assert(start_row <= last_row, "must be work left to do"); + // Test this row for both the receiver and for null. + // Take any of three different outcomes: + // 1. found receiver => increment count and goto done + // 2. found null => keep looking for case 1, maybe allocate this cell + // 3. found something else => keep looking for cases 1 and 2 + // Case 3 is handled by a recursive call. + for (int row = start_row; row <= last_row; row++) { + Label next_test; + bool test_for_null_also = (row == start_row); + + // See if the receiver is receiver[n]. + int recvr_offset = in_bytes(VirtualCallData::receiver_offset(row)); + test_mdp_data_at(recvr_offset, receiver, next_test, scratch1); + // delayed()->tst(scratch); + + // The receiver is receiver[n]. Increment count[n]. + int count_offset = in_bytes(VirtualCallData::receiver_count_offset(row)); + increment_mdp_data_at(count_offset, scratch1, scratch2); + b(done); + bind(next_test); + + if (test_for_null_also) { + Label found_null; + // Failed the equality check on receiver[n]... Test for null. + if (start_row == last_row) { + // The only thing left to do is handle the null case. + if (is_virtual_call) { + // Scratch1 contains test_out from test_mdp_data_at. + cmpdi(CCR0, scratch1, 0); + beq(CCR0, found_null); + // Receiver did not match any saved receiver and there is no empty row for it. + // Increment total counter to indicate polymorphic case. + increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2); + b(done); + bind(found_null); + } else { + cmpdi(CCR0, scratch1, 0); + bne(CCR0, done); + } + break; + } + // Since null is rare, make it be the branch-taken case. + cmpdi(CCR0, scratch1, 0); + beq(CCR0, found_null); + + // Put all the "Case 3" tests here. + record_klass_in_profile_helper(receiver, scratch1, scratch2, start_row + 1, done, is_virtual_call); + + // Found a null. Keep searching for a matching receiver, + // but remember that this is an empty (unused) slot. + bind(found_null); + } + } + + // In the fall-through case, we found no matching receiver, but we + // observed the receiver[start_row] is NULL. + + // Fill in the receiver field and increment the count. + int recvr_offset = in_bytes(VirtualCallData::receiver_offset(start_row)); + set_mdp_data_at(recvr_offset, receiver); + int count_offset = in_bytes(VirtualCallData::receiver_count_offset(start_row)); + li(scratch1, DataLayout::counter_increment); + set_mdp_data_at(count_offset, scratch1); + if (start_row > 0) { + b(done); + } +} + +// Add a InterpMonitorElem to stack (see frame_sparc.hpp). +void InterpreterMacroAssembler::add_monitor_to_stack(bool stack_is_empty, Register Rtemp1, Register Rtemp2) { + + // Very-local scratch registers. + const Register esp = Rtemp1; + const Register slot = Rtemp2; + + // Extracted monitor_size. + int monitor_size = frame::interpreter_frame_monitor_size_in_bytes(); + assert(Assembler::is_aligned((unsigned int)monitor_size, + (unsigned int)frame::alignment_in_bytes), + "size of a monitor must respect alignment of SP"); + + resize_frame(-monitor_size, /*temp*/esp); // Allocate space for new monitor + std(R1_SP, _ijava_state_neg(top_frame_sp), esp); // esp contains fp + + // Shuffle expression stack down. Recall that stack_base points + // just above the new expression stack bottom. Old_tos and new_tos + // are used to scan thru the old and new expression stacks. + if (!stack_is_empty) { + Label copy_slot, copy_slot_finished; + const Register n_slots = slot; + + addi(esp, R15_esp, Interpreter::stackElementSize); // Point to first element (pre-pushed stack). + subf(n_slots, esp, R26_monitor); + srdi_(n_slots, n_slots, LogBytesPerWord); // Compute number of slots to copy. + assert(LogBytesPerWord == 3, "conflicts assembler instructions"); + beq(CCR0, copy_slot_finished); // Nothing to copy. + + mtctr(n_slots); + + // loop + bind(copy_slot); + ld(slot, 0, esp); // Move expression stack down. + std(slot, -monitor_size, esp); // distance = monitor_size + addi(esp, esp, BytesPerWord); + bdnz(copy_slot); + + bind(copy_slot_finished); + } + + addi(R15_esp, R15_esp, -monitor_size); + addi(R26_monitor, R26_monitor, -monitor_size); + + // Restart interpreter +} + +// ============================================================================ +// Java locals access + +// Load a local variable at index in Rindex into register Rdst_value. +// Also puts address of local into Rdst_address as a service. +// Kills: +// - Rdst_value +// - Rdst_address +void InterpreterMacroAssembler::load_local_int(Register Rdst_value, Register Rdst_address, Register Rindex) { + sldi(Rdst_address, Rindex, Interpreter::logStackElementSize); + subf(Rdst_address, Rdst_address, R18_locals); + lwz(Rdst_value, 0, Rdst_address); +} + +// Load a local variable at index in Rindex into register Rdst_value. +// Also puts address of local into Rdst_address as a service. +// Kills: +// - Rdst_value +// - Rdst_address +void InterpreterMacroAssembler::load_local_long(Register Rdst_value, Register Rdst_address, Register Rindex) { + sldi(Rdst_address, Rindex, Interpreter::logStackElementSize); + subf(Rdst_address, Rdst_address, R18_locals); + ld(Rdst_value, -8, Rdst_address); +} + +// Load a local variable at index in Rindex into register Rdst_value. +// Also puts address of local into Rdst_address as a service. +// Input: +// - Rindex: slot nr of local variable +// Kills: +// - Rdst_value +// - Rdst_address +void InterpreterMacroAssembler::load_local_ptr(Register Rdst_value, Register Rdst_address, Register Rindex) { + sldi(Rdst_address, Rindex, Interpreter::logStackElementSize); + subf(Rdst_address, Rdst_address, R18_locals); + ld(Rdst_value, 0, Rdst_address); +} + +// Load a local variable at index in Rindex into register Rdst_value. +// Also puts address of local into Rdst_address as a service. +// Kills: +// - Rdst_value +// - Rdst_address +void InterpreterMacroAssembler::load_local_float(FloatRegister Rdst_value, Register Rdst_address, Register Rindex) { + sldi(Rdst_address, Rindex, Interpreter::logStackElementSize); + subf(Rdst_address, Rdst_address, R18_locals); + lfs(Rdst_value, 0, Rdst_address); +} + +// Load a local variable at index in Rindex into register Rdst_value. +// Also puts address of local into Rdst_address as a service. +// Kills: +// - Rdst_value +// - Rdst_address +void InterpreterMacroAssembler::load_local_double(FloatRegister Rdst_value, Register Rdst_address, Register Rindex) { + sldi(Rdst_address, Rindex, Interpreter::logStackElementSize); + subf(Rdst_address, Rdst_address, R18_locals); + lfd(Rdst_value, -8, Rdst_address); +} + +// Store an int value at local variable slot Rindex. +// Kills: +// - Rindex +void InterpreterMacroAssembler::store_local_int(Register Rvalue, Register Rindex) { + sldi(Rindex, Rindex, Interpreter::logStackElementSize); + subf(Rindex, Rindex, R18_locals); + stw(Rvalue, 0, Rindex); +} + +// Store a long value at local variable slot Rindex. +// Kills: +// - Rindex +void InterpreterMacroAssembler::store_local_long(Register Rvalue, Register Rindex) { + sldi(Rindex, Rindex, Interpreter::logStackElementSize); + subf(Rindex, Rindex, R18_locals); + std(Rvalue, -8, Rindex); +} + +// Store an oop value at local variable slot Rindex. +// Kills: +// - Rindex +void InterpreterMacroAssembler::store_local_ptr(Register Rvalue, Register Rindex) { + sldi(Rindex, Rindex, Interpreter::logStackElementSize); + subf(Rindex, Rindex, R18_locals); + std(Rvalue, 0, Rindex); +} + +// Store an int value at local variable slot Rindex. +// Kills: +// - Rindex +void InterpreterMacroAssembler::store_local_float(FloatRegister Rvalue, Register Rindex) { + sldi(Rindex, Rindex, Interpreter::logStackElementSize); + subf(Rindex, Rindex, R18_locals); + stfs(Rvalue, 0, Rindex); +} + +// Store an int value at local variable slot Rindex. +// Kills: +// - Rindex +void InterpreterMacroAssembler::store_local_double(FloatRegister Rvalue, Register Rindex) { + sldi(Rindex, Rindex, Interpreter::logStackElementSize); + subf(Rindex, Rindex, R18_locals); + stfd(Rvalue, -8, Rindex); +} + +// Read pending exception from thread and jump to interpreter. +// Throw exception entry if one if pending. Fall through otherwise. +void InterpreterMacroAssembler::check_and_forward_exception(Register Rscratch1, Register Rscratch2) { + assert_different_registers(Rscratch1, Rscratch2, R3); + Register Rexception = Rscratch1; + Register Rtmp = Rscratch2; + Label Ldone; + // Get pending exception oop. + ld(Rexception, thread_(pending_exception)); + cmpdi(CCR0, Rexception, 0); + beq(CCR0, Ldone); + li(Rtmp, 0); + mr_if_needed(R3, Rexception); + std(Rtmp, thread_(pending_exception)); // Clear exception in thread + if (Interpreter::rethrow_exception_entry() != NULL) { + // Already got entry address. + load_dispatch_table(Rtmp, (address*)Interpreter::rethrow_exception_entry()); + } else { + // Dynamically load entry address. + int simm16_rest = load_const_optimized(Rtmp, &Interpreter::_rethrow_exception_entry, R0, true); + ld(Rtmp, simm16_rest, Rtmp); + } + mtctr(Rtmp); + save_interpreter_state(Rtmp); + bctr(); + + align(32, 12); + bind(Ldone); +} + +void InterpreterMacroAssembler::call_VM(Register oop_result, address entry_point, bool check_exceptions) { + save_interpreter_state(R11_scratch1); + + MacroAssembler::call_VM(oop_result, entry_point, false); + + restore_interpreter_state(R11_scratch1, /*bcp_and_mdx_only*/ true); + + check_and_handle_popframe(R11_scratch1); + check_and_handle_earlyret(R11_scratch1); + // Now check exceptions manually. + if (check_exceptions) { + check_and_forward_exception(R11_scratch1, R12_scratch2); + } +} + +void InterpreterMacroAssembler::call_VM(Register oop_result, address entry_point, Register arg_1, bool check_exceptions) { + // ARG1 is reserved for the thread. + mr_if_needed(R4_ARG2, arg_1); + call_VM(oop_result, entry_point, check_exceptions); +} + +void InterpreterMacroAssembler::call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, bool check_exceptions) { + // ARG1 is reserved for the thread. + mr_if_needed(R4_ARG2, arg_1); + assert(arg_2 != R4_ARG2, "smashed argument"); + mr_if_needed(R5_ARG3, arg_2); + call_VM(oop_result, entry_point, check_exceptions); +} + +void InterpreterMacroAssembler::call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions) { + // ARG1 is reserved for the thread. + mr_if_needed(R4_ARG2, arg_1); + assert(arg_2 != R4_ARG2, "smashed argument"); + mr_if_needed(R5_ARG3, arg_2); + assert(arg_3 != R4_ARG2 && arg_3 != R5_ARG3, "smashed argument"); + mr_if_needed(R6_ARG4, arg_3); + call_VM(oop_result, entry_point, check_exceptions); +} + +void InterpreterMacroAssembler::save_interpreter_state(Register scratch) { + ld(scratch, 0, R1_SP); + std(R15_esp, _ijava_state_neg(esp), scratch); + std(R14_bcp, _ijava_state_neg(bcp), scratch); + std(R26_monitor, _ijava_state_neg(monitors), scratch); + if (ProfileInterpreter) { std(R28_mdx, _ijava_state_neg(mdx), scratch); } + // Other entries should be unchanged. +} + +void InterpreterMacroAssembler::restore_interpreter_state(Register scratch, bool bcp_and_mdx_only) { + ld(scratch, 0, R1_SP); + ld(R14_bcp, _ijava_state_neg(bcp), scratch); // Changed by VM code (exception). + if (ProfileInterpreter) { ld(R28_mdx, _ijava_state_neg(mdx), scratch); } // Changed by VM code. + if (!bcp_and_mdx_only) { + // Following ones are Metadata. + ld(R19_method, _ijava_state_neg(method), scratch); + ld(R27_constPoolCache, _ijava_state_neg(cpoolCache), scratch); + // Following ones are stack addresses and don't require reload. + ld(R15_esp, _ijava_state_neg(esp), scratch); + ld(R18_locals, _ijava_state_neg(locals), scratch); + ld(R26_monitor, _ijava_state_neg(monitors), scratch); + } +#ifdef ASSERT + { + Label Lok; + subf(R0, R1_SP, scratch); + cmpdi(CCR0, R0, frame::abi_reg_args_size + frame::ijava_state_size); + bge(CCR0, Lok); + stop("frame too small (restore istate)", 0x5432); + bind(Lok); + } + { + Label Lok; + ld(R0, _ijava_state_neg(ijava_reserved), scratch); + cmpdi(CCR0, R0, 0x5afe); + beq(CCR0, Lok); + stop("frame corrupted (restore istate)", 0x5afe); + bind(Lok); + } +#endif +} + +#endif // !CC_INTERP + void InterpreterMacroAssembler::get_method_counters(Register method, Register Rcounters, Label& skip) { @@ -321,6 +1957,66 @@ void InterpreterMacroAssembler::verify_oop(Register reg, TosState state) { if (state == atos) { MacroAssembler::verify_oop(reg); } } +#ifndef CC_INTERP +// Local helper function for the verify_oop_or_return_address macro. +static bool verify_return_address(Method* m, int bci) { +#ifndef PRODUCT + address pc = (address)(m->constMethod()) + in_bytes(ConstMethod::codes_offset()) + bci; + // Assume it is a valid return address if it is inside m and is preceded by a jsr. + if (!m->contains(pc)) return false; + address jsr_pc; + jsr_pc = pc - Bytecodes::length_for(Bytecodes::_jsr); + if (*jsr_pc == Bytecodes::_jsr && jsr_pc >= m->code_base()) return true; + jsr_pc = pc - Bytecodes::length_for(Bytecodes::_jsr_w); + if (*jsr_pc == Bytecodes::_jsr_w && jsr_pc >= m->code_base()) return true; +#endif // PRODUCT + return false; +} + +void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) { + if (VerifyFPU) { + unimplemented("verfiyFPU"); + } +} + +void InterpreterMacroAssembler::verify_oop_or_return_address(Register reg, Register Rtmp) { + if (!VerifyOops) return; + + // The VM documentation for the astore[_wide] bytecode allows + // the TOS to be not only an oop but also a return address. + Label test; + Label skip; + // See if it is an address (in the current method): + + const int log2_bytecode_size_limit = 16; + srdi_(Rtmp, reg, log2_bytecode_size_limit); + bne(CCR0, test); + + address fd = CAST_FROM_FN_PTR(address, verify_return_address); + unsigned int nbytes_save = 10*8; // 10 volatile gprs + + save_LR_CR(Rtmp); + push_frame_reg_args(nbytes_save, Rtmp); + save_volatile_gprs(R1_SP, 112); // except R0 + + load_const_optimized(Rtmp, fd, R0); + mr_if_needed(R4_ARG2, reg); + mr(R3_ARG1, R19_method); + call_c(Rtmp); // call C + + restore_volatile_gprs(R1_SP, 112); // except R0 + pop_frame(); + restore_LR_CR(Rtmp); + b(skip); + + // Perform a more elaborate out-of-line call. + // Not an address; verify it: + bind(test); + verify_oop(reg); + bind(skip); +} +#endif // !CC_INTERP + // Inline assembly for: // // if (thread is in interp_only_mode) { @@ -343,13 +2039,12 @@ void InterpreterMacroAssembler::notify_method_entry() { cmpwi(CCR0, R0, 0); beq(CCR0, jvmti_post_done); call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_entry), - /*check_exceptions=*/false); + /*check_exceptions=*/true CC_INTERP_ONLY(&& false)); bind(jvmti_post_done); } } - // Inline assembly for: // // if (thread is in interp_only_mode) { @@ -365,26 +2060,33 @@ void InterpreterMacroAssembler::notify_method_entry() { // // Native methods have their result stored in d_tmp and l_tmp. // Java methods have their result stored in the expression stack. -void InterpreterMacroAssembler::notify_method_exit(bool is_native_method, TosState state) { +void InterpreterMacroAssembler::notify_method_exit(bool is_native_method, TosState state, + NotifyMethodExitMode mode, bool check_exceptions) { // JVMTI // Whenever JVMTI puts a thread in interp_only_mode, method // entry/exit events are sent for that thread to track stack // depth. If it is possible to enter interp_only_mode we add // the code to check if the event should be sent. - if (JvmtiExport::can_post_interpreter_events()) { + if (mode == NotifyJVMTI && JvmtiExport::can_post_interpreter_events()) { Label jvmti_post_done; lwz(R0, in_bytes(JavaThread::interp_only_mode_offset()), R16_thread); cmpwi(CCR0, R0, 0); beq(CCR0, jvmti_post_done); + CC_INTERP_ONLY(assert(is_native_method && !check_exceptions, "must not push state")); + if (!is_native_method) push(state); // Expose tos to GC. call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit), - /*check_exceptions=*/false); + /*check_exceptions=*/check_exceptions); + if (!is_native_method) pop(state); align(32, 12); bind(jvmti_post_done); } + + // Dtrace support not implemented. } +#ifdef CC_INTERP // Convert the current TOP_IJAVA_FRAME into a PARENT_IJAVA_FRAME // (using parent_frame_resize) and push a new interpreter // TOP_IJAVA_FRAME (using frame_size). @@ -442,7 +2144,6 @@ void InterpreterMacroAssembler::pop_interpreter_frame(Register tmp1, Register tm std(R1_SP, _top_ijava_frame_abi(top_frame_sp), R1_SP); } -#ifdef CC_INTERP // Turn state's interpreter frame into the current TOP_IJAVA_FRAME. void InterpreterMacroAssembler::pop_interpreter_frame_to_state(Register state, Register tmp1, Register tmp2, Register tmp3) { assert_different_registers(R14_state, R15_prev_state, tmp1, tmp2, tmp3); @@ -471,7 +2172,6 @@ void InterpreterMacroAssembler::pop_interpreter_frame_to_state(Register state, R // Used for non-initial callers by unextended_sp(). std(R1_SP, _top_ijava_frame_abi(initial_caller_sp), R1_SP); } -#endif // CC_INTERP // Set SP to initial caller's sp, but before fix the back chain. void InterpreterMacroAssembler::resize_frame_to_initial_caller(Register tmp1, Register tmp2) { @@ -481,7 +2181,6 @@ void InterpreterMacroAssembler::resize_frame_to_initial_caller(Register tmp1, Re mr(R1_SP, tmp1); // ... and resize to initial caller. } -#ifdef CC_INTERP // Pop the current interpreter state (without popping the correspoding // frame) and restore R14_state and R15_prev_state accordingly. // Use prev_state_may_be_0 to indicate whether prev_state may be 0 diff --git a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.hpp b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.hpp index a189e30043c..9846bb5113e 100644 --- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.hpp +++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -29,7 +29,7 @@ #include "assembler_ppc.inline.hpp" #include "interpreter/invocationCounter.hpp" -// This file specializes the assembler with interpreter-specific macros +// This file specializes the assembler with interpreter-specific macros. class InterpreterMacroAssembler: public MacroAssembler { @@ -39,15 +39,176 @@ class InterpreterMacroAssembler: public MacroAssembler { void null_check_throw(Register a, int offset, Register temp_reg); - // Handy address generation macros + void branch_to_entry(address entry, Register Rscratch); + + // Handy address generation macros. #define thread_(field_name) in_bytes(JavaThread::field_name ## _offset()), R16_thread #define method_(field_name) in_bytes(Method::field_name ## _offset()), R19_method #ifdef CC_INTERP #define state_(field_name) in_bytes(byte_offset_of(BytecodeInterpreter, field_name)), R14_state #define prev_state_(field_name) in_bytes(byte_offset_of(BytecodeInterpreter, field_name)), R15_prev_state + void pop (TosState state) {}; // Not needed. + void push(TosState state) {}; // Not needed. #endif +#ifndef CC_INTERP + virtual void check_and_handle_popframe(Register java_thread); + virtual void check_and_handle_earlyret(Register java_thread); + + // Base routine for all dispatches. + void dispatch_base(TosState state, address* table); + + void load_earlyret_value(TosState state, Register Rscratch1); + + static const Address l_tmp; + static const Address d_tmp; + + // dispatch routines + void dispatch_next(TosState state, int step = 0); + void dispatch_via (TosState state, address* table); + void load_dispatch_table(Register dst, address* table); + void dispatch_Lbyte_code(TosState state, Register bytecode, address* table, bool verify = false); + + // Called by shared interpreter generator. + void dispatch_prolog(TosState state, int step = 0); + void dispatch_epilog(TosState state, int step = 0); + + // Super call_VM calls - correspond to MacroAssembler::call_VM(_leaf) calls. + void super_call_VM_leaf(Register thread_cache, address entry_point, Register arg_1); + void super_call_VM(Register thread_cache, Register oop_result, Register last_java_sp, + address entry_point, Register arg_1, Register arg_2, bool check_exception = true); + + // Generate a subtype check: branch to ok_is_subtype if sub_klass is + // a subtype of super_klass. Blows registers tmp1, tmp2 and tmp3. + void gen_subtype_check(Register sub_klass, Register super_klass, + Register tmp1, Register tmp2, Register tmp3, Label &ok_is_subtype); + + // Load object from cpool->resolved_references(index). + void load_resolved_reference_at_index(Register result, Register index); + + void generate_stack_overflow_check_with_compare_and_throw(Register Rmem_frame_size, Register Rscratch1); + void load_receiver(Register Rparam_count, Register Rrecv_dst); + + // helpers for expression stack + void pop_i( Register r = R17_tos); + void pop_ptr( Register r = R17_tos); + void pop_l( Register r = R17_tos); + void pop_f(FloatRegister f = F15_ftos); + void pop_d(FloatRegister f = F15_ftos ); + + void push_i( Register r = R17_tos); + void push_ptr( Register r = R17_tos); + void push_l( Register r = R17_tos); + void push_f(FloatRegister f = F15_ftos ); + void push_d(FloatRegister f = F15_ftos); + + void push_2ptrs(Register first, Register second); + + void push_l_pop_d(Register l = R17_tos, FloatRegister d = F15_ftos); + void push_d_pop_l(FloatRegister d = F15_ftos, Register l = R17_tos); + + void pop (TosState state); // transition vtos -> state + void push(TosState state); // transition state -> vtos + void empty_expression_stack(); // Resets both Lesp and SP. + + public: + // Load values from bytecode stream: + + enum signedOrNot { Signed, Unsigned }; + enum setCCOrNot { set_CC, dont_set_CC }; + + void get_2_byte_integer_at_bcp(int bcp_offset, + Register Rdst, + signedOrNot is_signed); + + void get_4_byte_integer_at_bcp(int bcp_offset, + Register Rdst, + signedOrNot is_signed = Unsigned); + + void get_cache_index_at_bcp(Register Rdst, int bcp_offset, size_t index_size); + + void get_cache_and_index_at_bcp(Register cache, int bcp_offset, size_t index_size = sizeof(u2)); + + + // common code + + void field_offset_at(int n, Register tmp, Register dest, Register base); + int field_offset_at(Register object, address bcp, int offset); + void fast_iaaccess(int n, address bcp); + void fast_iagetfield(address bcp); + void fast_iaputfield(address bcp, bool do_store_check); + + void index_check(Register array, Register index, int index_shift, Register tmp, Register res); + void index_check_without_pop(Register array, Register index, int index_shift, Register tmp, Register res); + + void get_const(Register Rdst); + void get_constant_pool(Register Rdst); + void get_constant_pool_cache(Register Rdst); + void get_cpool_and_tags(Register Rcpool, Register Rtags); + void is_a(Label& L); + + // Java Call Helpers + void call_from_interpreter(Register Rtarget_method, Register Rret_addr, Register Rscratch1, Register Rscratch2); + + // -------------------------------------------------- + + void unlock_if_synchronized_method(TosState state, bool throw_monitor_exception = true, + bool install_monitor_exception = true); + + // Removes the current activation (incl. unlocking of monitors). + // Additionally this code is used for earlyReturn in which case we + // want to skip throwing an exception and installing an exception. + void remove_activation(TosState state, + bool throw_monitor_exception = true, + bool install_monitor_exception = true); + void merge_frames(Register Rtop_frame_sp, Register return_pc, Register Rscratch1, Register Rscratch2); // merge top frames + + void add_monitor_to_stack(bool stack_is_empty, Register Rtemp1, Register Rtemp2); + + // Local variable access helpers + void load_local_int(Register Rdst_value, Register Rdst_address, Register Rindex); + void load_local_long(Register Rdst_value, Register Rdst_address, Register Rindex); + void load_local_ptr(Register Rdst_value, Register Rdst_address, Register Rindex); + void load_local_float(FloatRegister Rdst_value, Register Rdst_address, Register Rindex); + void load_local_double(FloatRegister Rdst_value, Register Rdst_address, Register Rindex); + void store_local_int(Register Rvalue, Register Rindex); + void store_local_long(Register Rvalue, Register Rindex); + void store_local_ptr(Register Rvalue, Register Rindex); + void store_local_float(FloatRegister Rvalue, Register Rindex); + void store_local_double(FloatRegister Rvalue, Register Rindex); + + // Call VM for std frames + // Special call VM versions that check for exceptions and forward exception + // via short cut (not via expensive forward exception stub). + void check_and_forward_exception(Register Rscratch1, Register Rscratch2); + void call_VM(Register oop_result, address entry_point, bool check_exceptions = true); + void call_VM(Register oop_result, address entry_point, Register arg_1, bool check_exceptions = true); + void call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, bool check_exceptions = true); + void call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions = true); + // Should not be used: + void call_VM(Register oop_result, Register last_java_sp, address entry_point, bool check_exceptions = true) {ShouldNotReachHere();} + void call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, bool check_exceptions = true) {ShouldNotReachHere();} + void call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, Register arg_2, bool check_exceptions = true) {ShouldNotReachHere();} + void call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions = true) {ShouldNotReachHere();} + + Address first_local_in_stack(); + + enum LoadOrStore { load, store }; + void static_iload_or_store(int which_local, LoadOrStore direction, Register Rtmp); + void static_aload_or_store(int which_local, LoadOrStore direction, Register Rtmp); + void static_dload_or_store(int which_local, LoadOrStore direction); + + void save_interpreter_state(Register scratch); + void restore_interpreter_state(Register scratch, bool bcp_and_mdx_only = false); + + void increment_backedge_counter(const Register Rcounters, Register Rtmp, Register Rtmp2, Register Rscratch); + void test_backedge_count_for_osr(Register backedge_count, Register branch_bcp, Register Rtmp); + + void record_static_call_in_profile(Register Rentry, Register Rtmp); + void record_receiver_call_in_profile(Register Rklass, Register Rentry, Register Rtmp); +#endif // !CC_INTERP + void get_method_counters(Register method, Register Rcounters, Label& skip); void increment_invocation_counter(Register iv_be_count, Register Rtmp1, Register Rtmp2_r0); @@ -55,12 +216,59 @@ class InterpreterMacroAssembler: public MacroAssembler { void lock_object (Register lock_reg, Register obj_reg); void unlock_object(Register lock_reg, bool check_for_exceptions = true); +#ifndef CC_INTERP + + // Interpreter profiling operations + void set_method_data_pointer_for_bcp(); + void test_method_data_pointer(Label& zero_continue); + void verify_method_data_pointer(); + void test_invocation_counter_for_mdp(Register invocation_count, Register Rscratch, Label &profile_continue); + + void set_mdp_data_at(int constant, Register value); + + void increment_mdp_data_at(int constant, Register counter_addr, Register Rbumped_count, bool decrement = false); + + void increment_mdp_data_at(Register counter_addr, Register Rbumped_count, bool decrement = false); + void increment_mdp_data_at(Register reg, int constant, Register scratch, Register Rbumped_count, bool decrement = false); + + void set_mdp_flag_at(int flag_constant, Register scratch); + void test_mdp_data_at(int offset, Register value, Label& not_equal_continue, Register test_out); + + void update_mdp_by_offset(int offset_of_disp, Register scratch); + void update_mdp_by_offset(Register reg, int offset_of_disp, + Register scratch); + void update_mdp_by_constant(int constant); + void update_mdp_for_ret(TosState state, Register return_bci); + + void profile_taken_branch(Register scratch, Register bumped_count); + void profile_not_taken_branch(Register scratch1, Register scratch2); + void profile_call(Register scratch1, Register scratch2); + void profile_final_call(Register scratch1, Register scratch2); + void profile_virtual_call(Register Rreceiver, Register Rscratch1, Register Rscratch2, bool receiver_can_be_null); + void profile_typecheck(Register Rklass, Register Rscratch1, Register Rscratch2); + void profile_typecheck_failed(Register Rscratch1, Register Rscratch2); + void profile_ret(TosState state, Register return_bci, Register scratch1, Register scratch2); + void profile_switch_default(Register scratch1, Register scratch2); + void profile_switch_case(Register index, Register scratch1,Register scratch2, Register scratch3); + void profile_null_seen(Register Rscratch1, Register Rscratch2); + void record_klass_in_profile(Register receiver, Register scratch1, Register scratch2, bool is_virtual_call); + void record_klass_in_profile_helper(Register receiver, Register scratch1, Register scratch2, int start_row, Label& done, bool is_virtual_call); + +#endif // !CC_INTERP + // Debugging void verify_oop(Register reg, TosState state = atos); // only if +VerifyOops && state == atos +#ifndef CC_INTERP + void verify_oop_or_return_address(Register reg, Register rtmp); // for astore + void verify_FPU(int stack_depth, TosState state = ftos); +#endif // !CC_INTERP - // support for jvmdi/jvmpi + typedef enum { NotifyJVMTI, SkipNotifyJVMTI } NotifyMethodExitMode; + + // Support for jvmdi/jvmpi. void notify_method_entry(); - void notify_method_exit(bool is_native_method, TosState state); + void notify_method_exit(bool is_native_method, TosState state, + NotifyMethodExitMode mode, bool check_exceptions); #ifdef CC_INTERP // Convert the current TOP_IJAVA_FRAME into a PARENT_IJAVA_FRAME diff --git a/hotspot/src/cpu/ppc/vm/interpreterRT_ppc.cpp b/hotspot/src/cpu/ppc/vm/interpreterRT_ppc.cpp index 3a1389f413b..5d45d8bf82f 100644 --- a/hotspot/src/cpu/ppc/vm/interpreterRT_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/interpreterRT_ppc.cpp @@ -109,8 +109,10 @@ void InterpreterRuntime::SignatureHandlerGenerator::pass_object() { } void InterpreterRuntime::SignatureHandlerGenerator::generate(uint64_t fingerprint) { +#if !defined(ABI_ELFv2) // Emit fd for current codebuffer. Needs patching! __ emit_fd(); +#endif // Generate code to handle arguments. iterate(fingerprint); @@ -127,11 +129,13 @@ void InterpreterRuntime::SignatureHandlerGenerator::generate(uint64_t fingerprin // Implementation of SignatureHandlerLibrary void SignatureHandlerLibrary::pd_set_handler(address handler) { +#if !defined(ABI_ELFv2) // patch fd here. FunctionDescriptor* fd = (FunctionDescriptor*) handler; fd->set_entry(handler + (int)sizeof(FunctionDescriptor)); assert(fd->toc() == (address)0xcafe, "need to adjust TOC here"); +#endif } diff --git a/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp b/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp index 3cc1b7f07e9..80bfc2d2918 100644 --- a/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp @@ -1,6 +1,6 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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,10 +51,6 @@ #include "c1/c1_Runtime1.hpp" #endif -#ifndef CC_INTERP -#error "CC_INTERP must be defined on PPC" -#endif - #define __ _masm-> #ifdef PRODUCT @@ -128,13 +124,13 @@ address AbstractInterpreterGenerator::generate_slow_signature_handler() { const Register target_sp = R28_tmp8; const FloatRegister floatSlot = F0; - address entry = __ emit_fd(); + address entry = __ function_entry(); __ save_LR_CR(R0); __ save_nonvolatile_gprs(R1_SP, _spill_nonvolatiles_neg(r14)); // We use target_sp for storing arguments in the C frame. __ mr(target_sp, R1_SP); - __ push_frame_abi112_nonvolatiles(0, R11_scratch1); + __ push_frame_reg_args_nonvolatiles(0, R11_scratch1); __ mr(arg_java, R3_ARG1); @@ -147,7 +143,8 @@ address AbstractInterpreterGenerator::generate_slow_signature_handler() { #ifdef CC_INTERP __ ld(R19_method, state_(_method)); #else - __ unimplemented("slow signature handler 1"); + __ ld(R19_method, 0, target_sp); + __ ld(R19_method, _ijava_state_neg(method), R19_method); #endif // Get the result handler. @@ -157,7 +154,8 @@ address AbstractInterpreterGenerator::generate_slow_signature_handler() { #ifdef CC_INTERP __ ld(R19_method, state_(_method)); #else - __ unimplemented("slow signature handler 2"); + __ ld(R19_method, 0, target_sp); + __ ld(R19_method, _ijava_state_neg(method), R19_method); #endif { @@ -453,7 +451,7 @@ address InterpreterGenerator::generate_abstract_entry(void) { // // Registers alive // R16_thread - JavaThread* - // R19_method - callee's methodOop (method to be invoked) + // R19_method - callee's method (method to be invoked) // R1_SP - SP prepared such that caller's outgoing args are near top // LR - return address to caller // @@ -474,7 +472,7 @@ address InterpreterGenerator::generate_abstract_entry(void) { // Push a new C frame and save LR. __ save_LR_CR(R0); - __ push_frame_abi112(0, R11_scratch1); + __ push_frame_reg_args(0, R11_scratch1); // This is not a leaf but we have a JavaFrameAnchor now and we will // check (create) exceptions afterward so this is ok. @@ -491,7 +489,12 @@ address InterpreterGenerator::generate_abstract_entry(void) { // Return to frame manager, it will handle the pending exception. __ blr(); #else - Unimplemented(); + // We don't know our caller, so jump to the general forward exception stub, + // which will also pop our full frame off. Satisfy the interface of + // SharedRuntime::generate_forward_exception() + __ load_const_optimized(R11_scratch1, StubRoutines::forward_exception_entry(), R0); + __ mtctr(R11_scratch1); + __ bctr(); #endif return entry; @@ -500,8 +503,9 @@ address InterpreterGenerator::generate_abstract_entry(void) { // Call an accessor method (assuming it is resolved, otherwise drop into // vanilla (slow path) entry. address InterpreterGenerator::generate_accessor_entry(void) { - if(!UseFastAccessorMethods && (!FLAG_IS_ERGO(UseFastAccessorMethods))) + if (!UseFastAccessorMethods && (!FLAG_IS_ERGO(UseFastAccessorMethods))) { return NULL; + } Label Lslow_path, Lacquire; @@ -586,10 +590,14 @@ address InterpreterGenerator::generate_accessor_entry(void) { // Load from branch table and dispatch (volatile case: one instruction ahead) __ sldi(Rflags, Rflags, LogBytesPerWord); __ cmpwi(CCR6, Rscratch, 1); // volatile? - __ sldi(Rscratch, Rscratch, exact_log2(BytesPerInstWord)); // volatile ? size of 1 instruction : 0 + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ sldi(Rscratch, Rscratch, exact_log2(BytesPerInstWord)); // volatile ? size of 1 instruction : 0 + } __ ldx(Rbtable, Rbtable, Rflags); - __ subf(Rbtable, Rscratch, Rbtable); // point to volatile/non-volatile entry point + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ subf(Rbtable, Rscratch, Rbtable); // point to volatile/non-volatile entry point + } __ mtctr(Rbtable); __ bctr(); @@ -605,7 +613,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { } assert(all_uninitialized != all_initialized, "consistency"); // either or - __ sync(); // volatile entry point (one instruction before non-volatile_entry point) + __ fence(); // volatile entry point (one instruction before non-volatile_entry point) if (branch_table[vtos] == 0) branch_table[vtos] = __ pc(); // non-volatile_entry point if (branch_table[dtos] == 0) branch_table[dtos] = __ pc(); // non-volatile_entry point if (branch_table[ftos] == 0) branch_table[ftos] = __ pc(); // non-volatile_entry point @@ -614,7 +622,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { if (branch_table[itos] == 0) { // generate only once __ align(32, 28, 28); // align load - __ sync(); // volatile entry point (one instruction before non-volatile_entry point) + __ fence(); // volatile entry point (one instruction before non-volatile_entry point) branch_table[itos] = __ pc(); // non-volatile_entry point __ lwax(R3_RET, Rclass_or_obj, Roffset); __ beq(CCR6, Lacquire); @@ -623,7 +631,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { if (branch_table[ltos] == 0) { // generate only once __ align(32, 28, 28); // align load - __ sync(); // volatile entry point (one instruction before non-volatile_entry point) + __ fence(); // volatile entry point (one instruction before non-volatile_entry point) branch_table[ltos] = __ pc(); // non-volatile_entry point __ ldx(R3_RET, Rclass_or_obj, Roffset); __ beq(CCR6, Lacquire); @@ -632,7 +640,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { if (branch_table[btos] == 0) { // generate only once __ align(32, 28, 28); // align load - __ sync(); // volatile entry point (one instruction before non-volatile_entry point) + __ fence(); // volatile entry point (one instruction before non-volatile_entry point) branch_table[btos] = __ pc(); // non-volatile_entry point __ lbzx(R3_RET, Rclass_or_obj, Roffset); __ extsb(R3_RET, R3_RET); @@ -642,7 +650,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { if (branch_table[ctos] == 0) { // generate only once __ align(32, 28, 28); // align load - __ sync(); // volatile entry point (one instruction before non-volatile_entry point) + __ fence(); // volatile entry point (one instruction before non-volatile_entry point) branch_table[ctos] = __ pc(); // non-volatile_entry point __ lhzx(R3_RET, Rclass_or_obj, Roffset); __ beq(CCR6, Lacquire); @@ -651,7 +659,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { if (branch_table[stos] == 0) { // generate only once __ align(32, 28, 28); // align load - __ sync(); // volatile entry point (one instruction before non-volatile_entry point) + __ fence(); // volatile entry point (one instruction before non-volatile_entry point) branch_table[stos] = __ pc(); // non-volatile_entry point __ lhax(R3_RET, Rclass_or_obj, Roffset); __ beq(CCR6, Lacquire); @@ -660,7 +668,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { if (branch_table[atos] == 0) { // generate only once __ align(32, 28, 28); // align load - __ sync(); // volatile entry point (one instruction before non-volatile_entry point) + __ fence(); // volatile entry point (one instruction before non-volatile_entry point) branch_table[atos] = __ pc(); // non-volatile_entry point __ load_heap_oop(R3_RET, (RegisterOrConstant)Roffset, Rclass_or_obj); __ verify_oop(R3_RET); @@ -683,10 +691,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { #endif __ bind(Lslow_path); - assert(Interpreter::entry_for_kind(Interpreter::zerolocals), "Normal entry must have been generated by now"); - __ load_const_optimized(Rscratch, Interpreter::entry_for_kind(Interpreter::zerolocals), R0); - __ mtctr(Rscratch); - __ bctr(); + __ branch_to_entry(Interpreter::entry_for_kind(Interpreter::zerolocals), Rscratch); __ flush(); return entry; @@ -773,10 +778,7 @@ address InterpreterGenerator::generate_Reference_get_entry(void) { // Generate regular method entry. __ bind(slow_path); - assert(Interpreter::entry_for_kind(Interpreter::zerolocals), "Normal entry must have been generated by now"); - __ load_const_optimized(R11_scratch1, Interpreter::entry_for_kind(Interpreter::zerolocals), R0); - __ mtctr(R11_scratch1); - __ bctr(); + __ branch_to_entry(Interpreter::entry_for_kind(Interpreter::zerolocals), R11_scratch1); __ flush(); return entry; diff --git a/hotspot/src/cpu/ppc/vm/interpreter_ppc.hpp b/hotspot/src/cpu/ppc/vm/interpreter_ppc.hpp index 37bf8e9fe6b..48864ae7213 100644 --- a/hotspot/src/cpu/ppc/vm/interpreter_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/interpreter_ppc.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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,15 +28,23 @@ public: - // Stack index relative to tos (which points at value) + // Stack index relative to tos (which points at value). static int expr_index_at(int i) { return stackElementWords * i; } - // Already negated by c++ interpreter + // Already negated by c++ interpreter. static int local_index_at(int i) { assert(i <= 0, "local direction already negated"); return stackElementWords * i; } +#ifndef CC_INTERP + // The offset in bytes to access a expression stack slot + // relative to the esp pointer. + static int expr_offset_in_bytes(int slot) { + return stackElementSize * slot + wordSize; + } +#endif + #endif // CPU_PPC_VM_INTERPRETER_PPC_PP diff --git a/hotspot/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp b/hotspot/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp index f12df9cbe76..26ca0dbf181 100644 --- a/hotspot/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -26,10 +26,6 @@ #ifndef CPU_PPC_VM_JAVAFRAMEANCHOR_PPC_HPP #define CPU_PPC_VM_JAVAFRAMEANCHOR_PPC_HPP -#ifndef CC_INTERP -#error "CC_INTERP must be defined on PPC64" -#endif - public: // Each arch must define reset, save, restore // These are used by objects that only care about: diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp index dfe97adadb5..2d3d9cf9713 100644 --- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp @@ -594,7 +594,13 @@ void MacroAssembler::bxx64_patchable(address dest, relocInfo::relocType rt, bool "can't identify emitted call"); } else { // variant 1: - +#if defined(ABI_ELFv2) + nop(); + calculate_address_from_global_toc(R12, dest, true, true, false); + mtctr(R12); + nop(); + nop(); +#else mr(R0, R11); // spill R11 -> R0. // Load the destination address into CTR, @@ -604,6 +610,7 @@ void MacroAssembler::bxx64_patchable(address dest, relocInfo::relocType rt, bool mtctr(R11); mr(R11, R0); // spill R11 <- R0. nop(); +#endif // do the call/jump if (link) { @@ -912,16 +919,16 @@ void MacroAssembler::push_frame(unsigned int bytes, Register tmp) { } } -// Push a frame of size `bytes' plus abi112 on top. -void MacroAssembler::push_frame_abi112(unsigned int bytes, Register tmp) { - push_frame(bytes + frame::abi_112_size, tmp); +// Push a frame of size `bytes' plus abi_reg_args on top. +void MacroAssembler::push_frame_reg_args(unsigned int bytes, Register tmp) { + push_frame(bytes + frame::abi_reg_args_size, tmp); } // Setup up a new C frame with a spill area for non-volatile GPRs and // additional space for local variables. -void MacroAssembler::push_frame_abi112_nonvolatiles(unsigned int bytes, - Register tmp) { - push_frame(bytes + frame::abi_112_size + frame::spill_nonvolatiles_size, tmp); +void MacroAssembler::push_frame_reg_args_nonvolatiles(unsigned int bytes, + Register tmp) { + push_frame(bytes + frame::abi_reg_args_size + frame::spill_nonvolatiles_size, tmp); } // Pop current C frame. @@ -929,6 +936,42 @@ void MacroAssembler::pop_frame() { ld(R1_SP, _abi(callers_sp), R1_SP); } +#if defined(ABI_ELFv2) +address MacroAssembler::branch_to(Register r_function_entry, bool and_link) { + // TODO(asmundak): make sure the caller uses R12 as function descriptor + // most of the times. + if (R12 != r_function_entry) { + mr(R12, r_function_entry); + } + mtctr(R12); + // Do a call or a branch. + if (and_link) { + bctrl(); + } else { + bctr(); + } + _last_calls_return_pc = pc(); + + return _last_calls_return_pc; +} + +// Call a C function via a function descriptor and use full C +// calling conventions. Updates and returns _last_calls_return_pc. +address MacroAssembler::call_c(Register r_function_entry) { + return branch_to(r_function_entry, /*and_link=*/true); +} + +// For tail calls: only branch, don't link, so callee returns to caller of this function. +address MacroAssembler::call_c_and_return_to_caller(Register r_function_entry) { + return branch_to(r_function_entry, /*and_link=*/false); +} + +address MacroAssembler::call_c(address function_entry, relocInfo::relocType rt) { + load_const(R12, function_entry, R0); + return branch_to(R12, /*and_link=*/true); +} + +#else // Generic version of a call to C function via a function descriptor // with variable support for C calling conventions (TOC, ENV, etc.). // Updates and returns _last_calls_return_pc. @@ -1077,6 +1120,7 @@ address MacroAssembler::call_c_using_toc(const FunctionDescriptor* fd, } return _last_calls_return_pc; } +#endif void MacroAssembler::call_VM_base(Register oop_result, Register last_java_sp, @@ -1091,8 +1135,11 @@ void MacroAssembler::call_VM_base(Register oop_result, // ARG1 must hold thread address. mr(R3_ARG1, R16_thread); - +#if defined(ABI_ELFv2) + address return_pc = call_c(entry_point, relocInfo::none); +#else address return_pc = call_c((FunctionDescriptor*)entry_point, relocInfo::none); +#endif reset_last_Java_frame(); @@ -1113,7 +1160,11 @@ void MacroAssembler::call_VM_base(Register oop_result, void MacroAssembler::call_VM_leaf_base(address entry_point) { BLOCK_COMMENT("call_VM_leaf {"); +#if defined(ABI_ELFv2) + call_c(entry_point, relocInfo::none); +#else call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, entry_point), relocInfo::none); +#endif BLOCK_COMMENT("} call_VM_leaf"); } @@ -2227,7 +2278,7 @@ void MacroAssembler::g1_write_barrier_pre(Register Robj, RegisterOrConstant offs // VM call need frame to access(write) O register. if (needs_frame) { save_LR_CR(Rtmp1); - push_frame_abi112(0, Rtmp2); + push_frame_reg_args(0, Rtmp2); } if (Rpre_val->is_volatile() && Robj == noreg) mr(R31, Rpre_val); // Save pre_val across C call if it was preloaded. @@ -2361,7 +2412,8 @@ void MacroAssembler::set_top_ijava_frame_at_SP_as_last_Java_frame(Register sp, R #ifdef CC_INTERP ld(tmp1/*pc*/, _top_ijava_frame_abi(frame_manager_lr), sp); #else - Unimplemented(); + address entry = pc(); + load_const_optimized(tmp1, entry); #endif set_last_Java_frame(/*sp=*/sp, /*pc=*/tmp1); @@ -2421,6 +2473,16 @@ void MacroAssembler::store_klass(Register dst_oop, Register klass, Register ck) } } +void MacroAssembler::store_klass_gap(Register dst_oop, Register val) { + if (UseCompressedClassPointers) { + if (val == noreg) { + val = R0; + li(val, 0); + } + stw(val, oopDesc::klass_gap_offset_in_bytes(), dst_oop); // klass gap if compressed + } +} + int MacroAssembler::instr_size_for_decode_klass_not_null() { if (!UseCompressedClassPointers) return 0; int num_instrs = 1; // shift or move @@ -3006,13 +3068,13 @@ void MacroAssembler::verify_oop(Register oop, const char* msg) { mr(R0, tmp); // kill tmp save_LR_CR(tmp); - push_frame_abi112(nbytes_save, tmp); + push_frame_reg_args(nbytes_save, tmp); // restore tmp mr(tmp, R0); save_volatile_gprs(R1_SP, 112); // except R0 - // load FunctionDescriptor** + // load FunctionDescriptor** / entry_address * load_const(tmp, fd); - // load FunctionDescriptor* + // load FunctionDescriptor* / entry_address ld(tmp, 0, tmp); mr(R4_ARG2, oop); load_const(R3_ARG1, (address)msg); @@ -3092,3 +3154,15 @@ void MacroAssembler::zap_from_to(Register low, int before, Register high, int af } #endif // !PRODUCT + +SkipIfEqualZero::SkipIfEqualZero(MacroAssembler* masm, Register temp, const bool* flag_addr) : _masm(masm), _label() { + int simm16_offset = masm->load_const_optimized(temp, (address)flag_addr, R0, true); + assert(sizeof(bool) == 1, "PowerPC ABI"); + masm->lbz(temp, simm16_offset, temp); + masm->cmpwi(CCR0, temp, 0); + masm->beq(CCR0, _label); +} + +SkipIfEqualZero::~SkipIfEqualZero() { + _masm->bind(_label); +} diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp index e3ba572c67f..a6576a4c472 100644 --- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -279,12 +279,12 @@ class MacroAssembler: public Assembler { // Push a frame of size `bytes'. No abi space provided. void push_frame(unsigned int bytes, Register tmp); - // Push a frame of size `bytes' plus abi112 on top. - void push_frame_abi112(unsigned int bytes, Register tmp); + // Push a frame of size `bytes' plus abi_reg_args on top. + void push_frame_reg_args(unsigned int bytes, Register tmp); // Setup up a new C frame with a spill area for non-volatile GPRs and additional // space for local variables - void push_frame_abi112_nonvolatiles(unsigned int bytes, Register tmp); + void push_frame_reg_args_nonvolatiles(unsigned int bytes, Register tmp); // pop current C frame void pop_frame(); @@ -296,17 +296,31 @@ class MacroAssembler: public Assembler { private: address _last_calls_return_pc; +#if defined(ABI_ELFv2) + // Generic version of a call to C function. + // Updates and returns _last_calls_return_pc. + address branch_to(Register function_entry, bool and_link); +#else // Generic version of a call to C function via a function descriptor // with variable support for C calling conventions (TOC, ENV, etc.). // updates and returns _last_calls_return_pc. address branch_to(Register function_descriptor, bool and_link, bool save_toc_before_call, bool restore_toc_after_call, bool load_toc_of_callee, bool load_env_of_callee); +#endif public: // Get the pc where the last call will return to. returns _last_calls_return_pc. inline address last_calls_return_pc(); +#if defined(ABI_ELFv2) + // Call a C function via a function descriptor and use full C + // calling conventions. Updates and returns _last_calls_return_pc. + address call_c(Register function_entry); + // For tail calls: only branch, don't link, so callee returns to caller of this function. + address call_c_and_return_to_caller(Register function_entry); + address call_c(address function_entry, relocInfo::relocType rt); +#else // Call a C function via a function descriptor and use full C // calling conventions. Updates and returns _last_calls_return_pc. address call_c(Register function_descriptor); @@ -315,6 +329,7 @@ class MacroAssembler: public Assembler { address call_c(const FunctionDescriptor* function_descriptor, relocInfo::relocType rt); address call_c_using_toc(const FunctionDescriptor* function_descriptor, relocInfo::relocType rt, Register toc); +#endif protected: @@ -551,12 +566,14 @@ class MacroAssembler: public Assembler { // Load heap oop and decompress. Loaded oop may not be null. inline void load_heap_oop_not_null(Register d, RegisterOrConstant offs, Register s1 = noreg); + inline void store_heap_oop_not_null(Register d, RegisterOrConstant offs, Register s1, + /*specify if d must stay uncompressed*/ Register tmp = noreg); // Null allowed. inline void load_heap_oop(Register d, RegisterOrConstant offs, Register s1 = noreg); // Encode/decode heap oop. Oop may not be null, else en/decoding goes wrong. - inline void encode_heap_oop_not_null(Register d); + inline Register encode_heap_oop_not_null(Register d, Register src = noreg); inline void decode_heap_oop_not_null(Register d); // Null allowed. @@ -566,6 +583,7 @@ class MacroAssembler: public Assembler { void load_klass(Register dst, Register src); void load_klass_with_trap_null_check(Register dst, Register src); void store_klass(Register dst_oop, Register klass, Register tmp = R0); + void store_klass_gap(Register dst_oop, Register val = noreg); // Will store 0 if val not specified. static int instr_size_for_decode_klass_not_null(); void decode_klass_not_null(Register dst, Register src = noreg); void encode_klass_not_null(Register dst, Register src = noreg); @@ -649,6 +667,11 @@ class MacroAssembler: public Assembler { void _verify_method_ptr(Register reg, const char * msg, const char * file, int line) {} void _verify_klass_ptr(Register reg, const char * msg, const char * file, int line) {} + // Convenience method returning function entry. For the ELFv1 case + // creates function descriptor at the current address and returs + // the pointer to it. For the ELFv2 case returns the current address. + inline address function_entry(); + #define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__) #define verify_klass_ptr(reg) _verify_klass_ptr(reg, "broken klass " #reg, __FILE__, __LINE__) @@ -673,4 +696,21 @@ class MacroAssembler: public Assembler { void zap_from_to(Register low, int before, Register high, int after, Register val, Register addr) PRODUCT_RETURN; }; +// class SkipIfEqualZero: +// +// Instantiating this class will result in assembly code being output that will +// jump around any code emitted between the creation of the instance and it's +// automatic destruction at the end of a scope block, depending on the value of +// the flag passed to the constructor, which will be checked at run-time. +class SkipIfEqualZero : public StackObj { + private: + MacroAssembler* _masm; + Label _label; + + public: + // 'Temp' is a temp register that this object can use (and trash). + explicit SkipIfEqualZero(MacroAssembler*, Register temp, const bool* flag_addr); + ~SkipIfEqualZero(); +}; + #endif // CPU_PPC_VM_MACROASSEMBLER_PPC_HPP diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp index 93f31a70f5e..84485d4f6af 100644 --- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp +++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -321,6 +321,15 @@ inline void MacroAssembler::load_heap_oop_not_null(Register d, RegisterOrConstan } } +inline void MacroAssembler::store_heap_oop_not_null(Register d, RegisterOrConstant offs, Register s1, Register tmp) { + if (UseCompressedOops) { + Register compressedOop = encode_heap_oop_not_null((tmp != noreg) ? tmp : d, d); + stw(compressedOop, offs, s1); + } else { + std(d, offs, s1); + } +} + inline void MacroAssembler::load_heap_oop(Register d, RegisterOrConstant offs, Register s1) { if (UseCompressedOops) { lwz(d, offs, s1); @@ -330,13 +339,17 @@ inline void MacroAssembler::load_heap_oop(Register d, RegisterOrConstant offs, R } } -inline void MacroAssembler::encode_heap_oop_not_null(Register d) { +inline Register MacroAssembler::encode_heap_oop_not_null(Register d, Register src) { + Register current = (src!=noreg) ? src : d; // Compressed oop is in d if no src provided. if (Universe::narrow_oop_base() != NULL) { - sub(d, d, R30); + sub(d, current, R30); + current = d; } if (Universe::narrow_oop_shift() != 0) { - srdi(d, d, LogMinObjAlignmentInBytes); + srdi(d, current, LogMinObjAlignmentInBytes); + current = d; } + return current; // Encoded oop is in this register. } inline void MacroAssembler::decode_heap_oop_not_null(Register d) { @@ -385,4 +398,10 @@ inline void MacroAssembler::trap_range_check_ge(Register a, int si16) { twi(traptoEqual | traptoGreaterThanUnsigned, a/*reg a*/, si16); } +#if defined(ABI_ELFv2) +inline address MacroAssembler::function_entry() { return pc(); } +#else +inline address MacroAssembler::function_entry() { return emit_fd(); } +#endif + #endif // CPU_PPC_VM_MACROASSEMBLER_PPC_INLINE_HPP diff --git a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp index 6709c8ce680..26363754b09 100644 --- a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp @@ -453,11 +453,11 @@ void trace_method_handle_stub(const char* adaptername, if (Verbose) { tty->print_cr("Registers:"); - const int abi_offset = frame::abi_112_size / 8; + const int abi_offset = frame::abi_reg_args_size / 8; for (int i = R3->encoding(); i <= R12->encoding(); i++) { Register r = as_Register(i); int count = i - R3->encoding(); - // The registers are stored in reverse order on the stack (by save_volatile_gprs(R1_SP, abi_112_size)). + // The registers are stored in reverse order on the stack (by save_volatile_gprs(R1_SP, abi_reg_args_size)). tty->print("%3s=" PTR_FORMAT, r->name(), saved_regs[abi_offset + count]); if ((count + 1) % 4 == 0) { tty->cr(); @@ -524,9 +524,9 @@ void MethodHandles::trace_method_handle(MacroAssembler* _masm, const char* adapt __ save_LR_CR(R0); __ mr(R0, R1_SP); // saved_sp assert(Assembler::is_simm(-nbytes_save, 16), "Overwriting R0"); - // push_frame_abi112 only uses R0 if nbytes_save is wider than 16 bit - __ push_frame_abi112(nbytes_save, R0); - __ save_volatile_gprs(R1_SP, frame::abi_112_size); // Except R0. + // Push_frame_reg_args only uses R0 if nbytes_save is wider than 16 bit. + __ push_frame_reg_args(nbytes_save, R0); + __ save_volatile_gprs(R1_SP, frame::abi_reg_args_size); // Except R0. __ load_const(R3_ARG1, (address)adaptername); __ mr(R4_ARG2, R23_method_handle); diff --git a/hotspot/src/cpu/ppc/vm/ppc.ad b/hotspot/src/cpu/ppc/vm/ppc.ad index 6006c1acaf6..c2854e68e16 100644 --- a/hotspot/src/cpu/ppc/vm/ppc.ad +++ b/hotspot/src/cpu/ppc/vm/ppc.ad @@ -1008,7 +1008,11 @@ int MachCallDynamicJavaNode::ret_addr_offset() { } int MachCallRuntimeNode::ret_addr_offset() { +#if defined(ABI_ELFv2) + return 28; +#else return 40; +#endif } //============================================================================= @@ -3674,6 +3678,10 @@ encode %{ MacroAssembler _masm(&cbuf); const address start_pc = __ pc(); +#if defined(ABI_ELFv2) + address entry= !($meth$$method) ? NULL : (address)$meth$$method; + __ call_c(entry, relocInfo::runtime_call_type); +#else // The function we're going to call. FunctionDescriptor fdtemp; const FunctionDescriptor* fd = !($meth$$method) ? &fdtemp : (FunctionDescriptor*)$meth$$method; @@ -3684,6 +3692,7 @@ encode %{ // Put entry, env, toc into the constant pool, this needs up to 3 constant // pool entries; call_c_using_toc will optimize the call. __ call_c_using_toc(fd, relocInfo::runtime_call_type, Rtoc); +#endif // Check the ret_addr_offset. assert(((MachCallRuntimeNode*)this)->ret_addr_offset() == __ last_calls_return_pc() - start_pc, @@ -3699,20 +3708,25 @@ encode %{ __ mtctr($src$$Register); %} - // postalloc expand emitter for runtime leaf calls. + // Postalloc expand emitter for runtime leaf calls. enc_class postalloc_expand_java_to_runtime_call(method meth, iRegLdst toc) %{ + loadConLNodesTuple loadConLNodes_Entry; +#if defined(ABI_ELFv2) + jlong entry_address = (jlong) this->entry_point(); + assert(entry_address, "need address here"); + loadConLNodes_Entry = loadConLNodesTuple_create(C, ra_, n_toc, new (C) immLOper(entry_address), + OptoReg::Name(R12_H_num), OptoReg::Name(R12_num)); +#else // Get the struct that describes the function we are about to call. FunctionDescriptor* fd = (FunctionDescriptor*) this->entry_point(); assert(fd, "need fd here"); + jlong entry_address = (jlong) fd->entry(); // new nodes - loadConLNodesTuple loadConLNodes_Entry; loadConLNodesTuple loadConLNodes_Env; loadConLNodesTuple loadConLNodes_Toc; - MachNode *mtctr = NULL; - MachCallLeafNode *call = NULL; // Create nodes and operands for loading the entry point. - loadConLNodes_Entry = loadConLNodesTuple_create(C, ra_, n_toc, new (C) immLOper((jlong) fd->entry()), + loadConLNodes_Entry = loadConLNodesTuple_create(C, ra_, n_toc, new (C) immLOper(entry_address), OptoReg::Name(R12_H_num), OptoReg::Name(R12_num)); @@ -3733,8 +3747,9 @@ encode %{ // Create nodes and operands for loading the Toc point. loadConLNodes_Toc = loadConLNodesTuple_create(C, ra_, n_toc, new (C) immLOper((jlong) fd->toc()), OptoReg::Name(R2_H_num), OptoReg::Name(R2_num)); +#endif // ABI_ELFv2 // mtctr node - mtctr = new (C) CallLeafDirect_mtctrNode(); + MachNode *mtctr = new (C) CallLeafDirect_mtctrNode(); assert(loadConLNodes_Entry._last != NULL, "entry must exist"); mtctr->add_req(0, loadConLNodes_Entry._last); @@ -3743,10 +3758,10 @@ encode %{ mtctr->_opnds[1] = new (C) iRegLdstOper(); // call node - call = new (C) CallLeafDirectNode(); + MachCallLeafNode *call = new (C) CallLeafDirectNode(); call->_opnds[0] = _opnds[0]; - call->_opnds[1] = new (C) methodOper((intptr_t) fd->entry()); // may get set later + call->_opnds[1] = new (C) methodOper((intptr_t) entry_address); // May get set later. // Make the new call node look like the old one. call->_name = _name; @@ -3773,8 +3788,10 @@ encode %{ // These must be reqired edges, as the registers are live up to // the call. Else the constants are handled as kills. call->add_req(mtctr); +#if !defined(ABI_ELFv2) call->add_req(loadConLNodes_Env._last); call->add_req(loadConLNodes_Toc._last); +#endif // ...as well as prec for (uint i = req(); i < len(); ++i) { @@ -3787,10 +3804,12 @@ encode %{ // Insert the new nodes. if (loadConLNodes_Entry._large_hi) nodes->push(loadConLNodes_Entry._large_hi); if (loadConLNodes_Entry._last) nodes->push(loadConLNodes_Entry._last); +#if !defined(ABI_ELFv2) if (loadConLNodes_Env._large_hi) nodes->push(loadConLNodes_Env._large_hi); if (loadConLNodes_Env._last) nodes->push(loadConLNodes_Env._last); if (loadConLNodes_Toc._large_hi) nodes->push(loadConLNodes_Toc._large_hi); if (loadConLNodes_Toc._last) nodes->push(loadConLNodes_Toc._last); +#endif nodes->push(mtctr); nodes->push(call); %} @@ -3837,7 +3856,7 @@ frame %{ // out_preserve_stack_slots for calls to C. Supports the var-args // backing area for register parms. // - varargs_C_out_slots_killed(((frame::abi_112_size - frame::jit_out_preserve_size) / VMRegImpl::stack_slot_size)); + varargs_C_out_slots_killed(((frame::abi_reg_args_size - frame::jit_out_preserve_size) / VMRegImpl::stack_slot_size)); // The after-PROLOG location of the return address. Location of // return address specifies a type (REG or STACK) and a number diff --git a/hotspot/src/cpu/ppc/vm/register_ppc.hpp b/hotspot/src/cpu/ppc/vm/register_ppc.hpp index bc04d8d2c16..107c5bab8b8 100644 --- a/hotspot/src/cpu/ppc/vm/register_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/register_ppc.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -579,15 +579,27 @@ REGISTER_DECLARATION(FloatRegister, F13_ARG13, F13); // volatile // Register declarations to be used in frame manager assembly code. // Use only non-volatile registers in order to keep values across C-calls. +#ifdef CC_INTERP REGISTER_DECLARATION(Register, R14_state, R14); // address of new cInterpreter. REGISTER_DECLARATION(Register, R15_prev_state, R15); // address of old cInterpreter +#else // CC_INTERP +REGISTER_DECLARATION(Register, R14_bcp, R14); +REGISTER_DECLARATION(Register, R15_esp, R15); +REGISTER_DECLARATION(FloatRegister, F15_ftos, F15); +#endif // CC_INTERP REGISTER_DECLARATION(Register, R16_thread, R16); // address of current thread REGISTER_DECLARATION(Register, R17_tos, R17); // address of Java tos (prepushed). REGISTER_DECLARATION(Register, R18_locals, R18); // address of first param slot (receiver). REGISTER_DECLARATION(Register, R19_method, R19); // address of current method #ifndef DONT_USE_REGISTER_DEFINES +#ifdef CC_INTERP #define R14_state AS_REGISTER(Register, R14) #define R15_prev_state AS_REGISTER(Register, R15) +#else // CC_INTERP +#define R14_bcp AS_REGISTER(Register, R14) +#define R15_esp AS_REGISTER(Register, R15) +#define F15_ftos AS_REGISTER(FloatRegister, F15) +#endif // CC_INTERP #define R16_thread AS_REGISTER(Register, R16) #define R17_tos AS_REGISTER(Register, R17) #define R18_locals AS_REGISTER(Register, R18) @@ -608,6 +620,14 @@ REGISTER_DECLARATION(Register, R26_tmp6, R26); REGISTER_DECLARATION(Register, R27_tmp7, R27); REGISTER_DECLARATION(Register, R28_tmp8, R28); REGISTER_DECLARATION(Register, R29_tmp9, R29); +#ifndef CC_INTERP +REGISTER_DECLARATION(Register, R24_dispatch_addr, R24); +REGISTER_DECLARATION(Register, R25_templateTableBase, R25); +REGISTER_DECLARATION(Register, R26_monitor, R26); +REGISTER_DECLARATION(Register, R27_constPoolCache, R27); +REGISTER_DECLARATION(Register, R28_mdx, R28); +#endif // CC_INTERP + #ifndef DONT_USE_REGISTER_DEFINES #define R21_tmp1 AS_REGISTER(Register, R21) #define R22_tmp2 AS_REGISTER(Register, R22) @@ -618,6 +638,16 @@ REGISTER_DECLARATION(Register, R29_tmp9, R29); #define R27_tmp7 AS_REGISTER(Register, R27) #define R28_tmp8 AS_REGISTER(Register, R28) #define R29_tmp9 AS_REGISTER(Register, R29) +#ifndef CC_INTERP +// Lmonitors : monitor pointer +// LcpoolCache: constant pool cache +// mdx: method data index +#define R24_dispatch_addr AS_REGISTER(Register, R24) +#define R25_templateTableBase AS_REGISTER(Register, R25) +#define R26_monitor AS_REGISTER(Register, R26) +#define R27_constPoolCache AS_REGISTER(Register, R27) +#define R28_mdx AS_REGISTER(Register, R28) +#endif #define CCR4_is_synced AS_REGISTER(ConditionRegister, CCR4) #endif diff --git a/hotspot/src/cpu/ppc/vm/runtime_ppc.cpp b/hotspot/src/cpu/ppc/vm/runtime_ppc.cpp index bc3432bb1e3..0e5898381c2 100644 --- a/hotspot/src/cpu/ppc/vm/runtime_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/runtime_ppc.cpp @@ -87,7 +87,7 @@ void OptoRuntime::generate_exception_blob() { address start = __ pc(); - int frame_size_in_bytes = frame::abi_112_size; + int frame_size_in_bytes = frame::abi_reg_args_size; OopMap* map = new OopMap(frame_size_in_bytes / sizeof(jint), 0); // Exception pc is 'return address' for stack walker. @@ -99,7 +99,7 @@ void OptoRuntime::generate_exception_blob() { // Save callee-saved registers. // Push a C frame for the exception blob. It is needed for the C call later on. - __ push_frame_abi112(0, R11_scratch1); + __ push_frame_reg_args(0, R11_scratch1); // This call does all the hard work. It checks if an exception handler // exists in the method. @@ -109,8 +109,12 @@ void OptoRuntime::generate_exception_blob() { __ set_last_Java_frame(/*sp=*/R1_SP, noreg); __ mr(R3_ARG1, R16_thread); +#if defined(ABI_ELFv2) + __ call_c((address) OptoRuntime::handle_exception_C, relocInfo::none); +#else __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, OptoRuntime::handle_exception_C), relocInfo::none); +#endif address calls_return_pc = __ last_calls_return_pc(); # ifdef ASSERT __ cmpdi(CCR0, R3_RET, 0); @@ -162,7 +166,11 @@ void OptoRuntime::generate_exception_blob() { __ bind(mh_callsite); __ mr(R31, R3_RET); // Save branch address. __ mr(R3_ARG1, R16_thread); +#if defined(ABI_ELFv2) + __ call_c((address) adjust_SP_for_methodhandle_callsite, relocInfo::none); +#else __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, adjust_SP_for_methodhandle_callsite), relocInfo::none); +#endif // Returns unextended_sp in R3_RET. __ mtctr(R31); // Move address of exception handler to SR_CTR. diff --git a/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp b/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp index 2d9b4900bce..d556d7009fa 100644 --- a/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp @@ -1,6 +1,6 @@ /* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -67,7 +67,7 @@ class RegisterSaver { return_pc_is_thread_saved_exception_pc }; - static OopMap* push_frame_abi112_and_save_live_registers(MacroAssembler* masm, + static OopMap* push_frame_reg_args_and_save_live_registers(MacroAssembler* masm, int* out_frame_size_in_bytes, bool generate_oop_map, int return_pc_adjustment, @@ -200,12 +200,12 @@ static const RegisterSaver::LiveRegType RegisterSaver_LiveRegs[] = { RegisterSaver_LiveIntReg( R30 ), // r30 must be the last register }; -OopMap* RegisterSaver::push_frame_abi112_and_save_live_registers(MacroAssembler* masm, +OopMap* RegisterSaver::push_frame_reg_args_and_save_live_registers(MacroAssembler* masm, int* out_frame_size_in_bytes, bool generate_oop_map, int return_pc_adjustment, ReturnPCLocation return_pc_location) { - // Push an abi112-frame and store all registers which may be live. + // Push an abi_reg_args-frame and store all registers which may be live. // If requested, create an OopMap: Record volatile registers as // callee-save values in an OopMap so their save locations will be // propagated to the RegisterMap of the caller frame during @@ -221,7 +221,7 @@ OopMap* RegisterSaver::push_frame_abi112_and_save_live_registers(MacroAssembler* sizeof(RegisterSaver::LiveRegType); const int register_save_size = regstosave_num * reg_size; const int frame_size_in_bytes = round_to(register_save_size, frame::alignment_in_bytes) - + frame::abi_112_size; + + frame::abi_reg_args_size; *out_frame_size_in_bytes = frame_size_in_bytes; const int frame_size_in_slots = frame_size_in_bytes / sizeof(jint); const int register_save_offset = frame_size_in_bytes - register_save_size; @@ -229,7 +229,7 @@ OopMap* RegisterSaver::push_frame_abi112_and_save_live_registers(MacroAssembler* // OopMap frame size is in c2 stack slots (sizeof(jint)) not bytes or words. OopMap* map = generate_oop_map ? new OopMap(frame_size_in_slots, 0) : NULL; - BLOCK_COMMENT("push_frame_abi112_and_save_live_registers {"); + BLOCK_COMMENT("push_frame_reg_args_and_save_live_registers {"); // Save r30 in the last slot of the not yet pushed frame so that we // can use it as scratch reg. @@ -294,7 +294,7 @@ OopMap* RegisterSaver::push_frame_abi112_and_save_live_registers(MacroAssembler* offset += reg_size; } - BLOCK_COMMENT("} push_frame_abi112_and_save_live_registers"); + BLOCK_COMMENT("} push_frame_reg_args_and_save_live_registers"); // And we're done. return map; @@ -699,15 +699,19 @@ int SharedRuntime::c_calling_convention(const BasicType *sig_bt, int i; VMReg reg; - // Leave room for C-compatible ABI_112. - int stk = (frame::abi_112_size - frame::jit_out_preserve_size) / VMRegImpl::stack_slot_size; + // Leave room for C-compatible ABI_REG_ARGS. + int stk = (frame::abi_reg_args_size - frame::jit_out_preserve_size) / VMRegImpl::stack_slot_size; int arg = 0; int freg = 0; // Avoid passing C arguments in the wrong stack slots. +#if defined(ABI_ELFv2) + assert((SharedRuntime::out_preserve_stack_slots() + stk) * VMRegImpl::stack_slot_size == 96, + "passing C arguments in wrong stack slots"); +#else assert((SharedRuntime::out_preserve_stack_slots() + stk) * VMRegImpl::stack_slot_size == 112, "passing C arguments in wrong stack slots"); - +#endif // We fill-out regs AND regs2 if an argument must be passed in a // register AND in a stack slot. If regs2 is NULL in such a // situation, we bail-out with a fatal error. @@ -953,6 +957,9 @@ static address gen_c2i_adapter(MacroAssembler *masm, #ifdef CC_INTERP const Register tos = R17_tos; +#else + const Register tos = R15_esp; + __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1); #endif // load TOS @@ -971,7 +978,7 @@ static void gen_i2c_adapter(MacroAssembler *masm, const BasicType *sig_bt, const VMRegPair *regs) { - // Load method's entry-point from methodOop. + // Load method's entry-point from method. __ ld(R12_scratch2, in_bytes(Method::from_compiled_offset()), R19_method); __ mtctr(R12_scratch2); @@ -992,7 +999,10 @@ static void gen_i2c_adapter(MacroAssembler *masm, #ifdef CC_INTERP const Register ld_ptr = R17_tos; +#else + const Register ld_ptr = R15_esp; #endif + const Register value_regs[] = { R22_tmp2, R23_tmp3, R24_tmp4, R25_tmp5, R26_tmp6 }; const int num_value_regs = sizeof(value_regs) / sizeof(Register); int value_regs_index = 0; @@ -1083,8 +1093,8 @@ static void gen_i2c_adapter(MacroAssembler *masm, } } - BLOCK_COMMENT("Store method oop"); - // Store method oop into thread->callee_target. + BLOCK_COMMENT("Store method"); + // Store method into thread->callee_target. // We might end up in handle_wrong_method if the callee is // deoptimized as we race thru here. If that happens we don't want // to take a safepoint because the caller frame will look @@ -1504,7 +1514,11 @@ static void check_needs_gc_for_critical_native(MacroAssembler* masm, __ block_comment("block_for_jni_critical"); address entry_point = CAST_FROM_FN_PTR(address, SharedRuntime::block_for_jni_critical); +#if defined(ABI_ELFv2) + __ call_c(entry_point, relocInfo::runtime_call_type); +#else __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, entry_point), relocInfo::runtime_call_type); +#endif address start = __ pc() - __ offset(), calls_return_pc = __ last_calls_return_pc(); oop_maps->add_gc_map(calls_return_pc - start, map); @@ -1877,7 +1891,7 @@ nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm, // Layout of the native wrapper frame: // (stack grows upwards, memory grows downwards) // - // NW [ABI_112] <-- 1) R1_SP + // NW [ABI_REG_ARGS] <-- 1) R1_SP // [outgoing arguments] <-- 2) R1_SP + out_arg_slot_offset // [oopHandle area] <-- 3) R1_SP + oop_handle_offset (save area for critical natives) // klass <-- 4) R1_SP + klass_offset @@ -2211,8 +2225,8 @@ nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm, // slow case of monitor enter. Inline a special case of call_VM that // disallows any pending_exception. - // Save argument registers and leave room for C-compatible ABI_112. - int frame_size = frame::abi_112_size + + // Save argument registers and leave room for C-compatible ABI_REG_ARGS. + int frame_size = frame::abi_reg_args_size + round_to(total_c_args * wordSize, frame::alignment_in_bytes); __ mr(R11_scratch1, R1_SP); RegisterSaver::push_frame_and_save_argument_registers(masm, R12_scratch2, frame_size, total_c_args, out_regs, out_regs2); @@ -2250,9 +2264,12 @@ nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm, // The JNI call // -------------------------------------------------------------------------- - +#if defined(ABI_ELFv2) + __ call_c(native_func, relocInfo::runtime_call_type); +#else FunctionDescriptor* fd_native_method = (FunctionDescriptor*) native_func; __ call_c(fd_native_method, relocInfo::runtime_call_type); +#endif // Now, we are back from the native code. @@ -2606,8 +2623,12 @@ static void push_skeleton_frame(MacroAssembler* masm, bool deopt, #ifdef CC_INTERP __ std(R1_SP, _parent_ijava_frame_abi(initial_caller_sp), R1_SP); #else - Unimplemented(); +#ifdef ASSERT + __ load_const_optimized(pc_reg, 0x5afe); + __ std(pc_reg, _ijava_state_neg(ijava_reserved), R1_SP); #endif + __ std(R1_SP, _ijava_state_neg(sender_sp), R1_SP); +#endif // CC_INTERP __ addi(number_of_frames_reg, number_of_frames_reg, -1); __ addi(frame_sizes_reg, frame_sizes_reg, wordSize); __ addi(pcs_reg, pcs_reg, wordSize); @@ -2679,7 +2700,15 @@ static void push_skeleton_frames(MacroAssembler* masm, bool deopt, __ std(R12_scratch2, _abi(lr), R1_SP); // Initialize initial_caller_sp. +#ifdef CC_INTERP __ std(frame_size_reg/*old_sp*/, _parent_ijava_frame_abi(initial_caller_sp), R1_SP); +#else +#ifdef ASSERT + __ load_const_optimized(pc_reg, 0x5afe); + __ std(pc_reg, _ijava_state_neg(ijava_reserved), R1_SP); +#endif + __ std(frame_size_reg, _ijava_state_neg(sender_sp), R1_SP); +#endif // CC_INTERP #ifdef ASSERT // Make sure that there is at least one entry in the array. @@ -2724,7 +2753,7 @@ void SharedRuntime::generate_deopt_blob() { OopMapSet *oop_maps = new OopMapSet(); // size of ABI112 plus spill slots for R3_RET and F1_RET. - const int frame_size_in_bytes = frame::abi_112_spill_size; + const int frame_size_in_bytes = frame::abi_reg_args_spill_size; const int frame_size_in_slots = frame_size_in_bytes / sizeof(jint); int first_frame_size_in_bytes = 0; // frame size of "unpack frame" for call to fetch_unroll_info. @@ -2757,11 +2786,11 @@ void SharedRuntime::generate_deopt_blob() { // Push the "unpack frame" // Save everything in sight. - map = RegisterSaver::push_frame_abi112_and_save_live_registers(masm, - &first_frame_size_in_bytes, - /*generate_oop_map=*/ true, - return_pc_adjustment_no_exception, - RegisterSaver::return_pc_is_lr); + map = RegisterSaver::push_frame_reg_args_and_save_live_registers(masm, + &first_frame_size_in_bytes, + /*generate_oop_map=*/ true, + return_pc_adjustment_no_exception, + RegisterSaver::return_pc_is_lr); assert(map != NULL, "OopMap must have been created"); __ li(exec_mode_reg, Deoptimization::Unpack_deopt); @@ -2787,11 +2816,11 @@ void SharedRuntime::generate_deopt_blob() { // Push the "unpack frame". // Save everything in sight. assert(R4 == R4_ARG2, "exception pc must be in r4"); - RegisterSaver::push_frame_abi112_and_save_live_registers(masm, - &first_frame_size_in_bytes, - /*generate_oop_map=*/ false, - return_pc_adjustment_exception, - RegisterSaver::return_pc_is_r4); + RegisterSaver::push_frame_reg_args_and_save_live_registers(masm, + &first_frame_size_in_bytes, + /*generate_oop_map=*/ false, + return_pc_adjustment_exception, + RegisterSaver::return_pc_is_r4); // Deopt during an exception. Save exec mode for unpack_frames. __ li(exec_mode_reg, Deoptimization::Unpack_exception); @@ -2876,8 +2905,8 @@ void SharedRuntime::generate_deopt_blob() { // ...). // Spill live volatile registers since we'll do a call. - __ std( R3_RET, _abi_112_spill(spill_ret), R1_SP); - __ stfd(F1_RET, _abi_112_spill(spill_fret), R1_SP); + __ std( R3_RET, _abi_reg_args_spill(spill_ret), R1_SP); + __ stfd(F1_RET, _abi_reg_args_spill(spill_fret), R1_SP); // Let the unpacker layout information in the skeletal frames just // allocated. @@ -2889,8 +2918,8 @@ void SharedRuntime::generate_deopt_blob() { __ reset_last_Java_frame(); // Restore the volatiles saved above. - __ ld( R3_RET, _abi_112_spill(spill_ret), R1_SP); - __ lfd(F1_RET, _abi_112_spill(spill_fret), R1_SP); + __ ld( R3_RET, _abi_reg_args_spill(spill_ret), R1_SP); + __ lfd(F1_RET, _abi_reg_args_spill(spill_fret), R1_SP); // Pop the unpack frame. __ pop_frame(); @@ -2900,10 +2929,16 @@ void SharedRuntime::generate_deopt_blob() { // optional c2i, caller of deoptee, ...). // Initialize R14_state. +#ifdef CC_INTERP __ ld(R14_state, 0, R1_SP); __ addi(R14_state, R14_state, -frame::interpreter_frame_cinterpreterstate_size_in_bytes()); // Also inititialize R15_prev_state. __ restore_prev_state(); +#else + __ restore_interpreter_state(R11_scratch1); + __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1); +#endif // CC_INTERP + // Return to the interpreter entry point. __ blr(); @@ -2930,7 +2965,7 @@ void SharedRuntime::generate_uncommon_trap_blob() { Register unc_trap_reg = R23_tmp3; OopMapSet* oop_maps = new OopMapSet(); - int frame_size_in_bytes = frame::abi_112_size; + int frame_size_in_bytes = frame::abi_reg_args_size; OopMap* map = new OopMap(frame_size_in_bytes / sizeof(jint), 0); // stack: (deoptee, optional i2c, caller_of_deoptee, ...). @@ -2943,7 +2978,7 @@ void SharedRuntime::generate_uncommon_trap_blob() { __ save_LR_CR(R11_scratch1); // Push an "uncommon_trap" frame. - __ push_frame_abi112(0, R11_scratch1); + __ push_frame_reg_args(0, R11_scratch1); // stack: (unpack frame, deoptee, optional i2c, caller_of_deoptee, ...). @@ -2996,7 +3031,7 @@ void SharedRuntime::generate_uncommon_trap_blob() { // interpreter frames just created. // Push a simple "unpack frame" here. - __ push_frame_abi112(0, R11_scratch1); + __ push_frame_reg_args(0, R11_scratch1); // stack: (unpack frame, skeletal interpreter frame, ..., optional // skeletal interpreter frame, optional c2i, caller of deoptee, @@ -3022,11 +3057,17 @@ void SharedRuntime::generate_uncommon_trap_blob() { // stack: (top interpreter frame, ..., optional interpreter frame, // optional c2i, caller of deoptee, ...). +#ifdef CC_INTERP // Initialize R14_state, ... __ ld(R11_scratch1, 0, R1_SP); __ addi(R14_state, R11_scratch1, -frame::interpreter_frame_cinterpreterstate_size_in_bytes()); // also initialize R15_prev_state. __ restore_prev_state(); +#else + __ restore_interpreter_state(R11_scratch1); + __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1); +#endif // CC_INTERP + // Return to the interpreter entry point. __ blr(); @@ -3064,11 +3105,11 @@ SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_t } // Save registers, fpu state, and flags. - map = RegisterSaver::push_frame_abi112_and_save_live_registers(masm, - &frame_size_in_bytes, - /*generate_oop_map=*/ true, - /*return_pc_adjustment=*/0, - return_pc_location); + map = RegisterSaver::push_frame_reg_args_and_save_live_registers(masm, + &frame_size_in_bytes, + /*generate_oop_map=*/ true, + /*return_pc_adjustment=*/0, + return_pc_location); // The following is basically a call_VM. However, we need the precise // address of the call in order to generate an oopmap. Hence, we do all the @@ -3104,7 +3145,6 @@ SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_t frame_size_in_bytes, /*restore_ctr=*/true); - BLOCK_COMMENT(" Jump to forward_exception_entry."); // Jump to forward_exception_entry, with the issuing PC in LR // so it looks like the original nmethod called forward_exception_entry. @@ -3151,11 +3191,11 @@ RuntimeStub* SharedRuntime::generate_resolve_blob(address destination, const cha address start = __ pc(); - map = RegisterSaver::push_frame_abi112_and_save_live_registers(masm, - &frame_size_in_bytes, - /*generate_oop_map*/ true, - /*return_pc_adjustment*/ 0, - RegisterSaver::return_pc_is_lr); + map = RegisterSaver::push_frame_reg_args_and_save_live_registers(masm, + &frame_size_in_bytes, + /*generate_oop_map*/ true, + /*return_pc_adjustment*/ 0, + RegisterSaver::return_pc_is_lr); // Use noreg as last_Java_pc, the return pc will be reconstructed // from the physical frame. @@ -3189,7 +3229,7 @@ RuntimeStub* SharedRuntime::generate_resolve_blob(address destination, const cha RegisterSaver::restore_live_registers_and_pop_frame(masm, frame_size_in_bytes, /*restore_ctr*/ false); - // Get the returned methodOop. + // Get the returned method. __ get_vm_result_2(R19_method); __ bctr(); diff --git a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp index 1cd4d295925..d452b27038c 100644 --- a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp @@ -1,6 +1,6 @@ /* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. 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 @@ -39,15 +39,10 @@ #include "runtime/stubCodeGenerator.hpp" #include "runtime/stubRoutines.hpp" #include "utilities/top.hpp" -#ifdef TARGET_OS_FAMILY_aix -# include "thread_aix.inline.hpp" -#endif -#ifdef TARGET_OS_FAMILY_linux -# include "thread_linux.inline.hpp" -#endif #ifdef COMPILER2 #include "opto/runtime.hpp" #endif +#include "runtime/thread.inline.hpp" #define __ _masm-> @@ -79,11 +74,11 @@ class StubGenerator: public StubCodeGenerator { StubCodeMark mark(this, "StubRoutines", "call_stub"); - address start = __ emit_fd(); + address start = __ function_entry(); // some sanity checks - assert((sizeof(frame::abi_48) % 16) == 0, "unaligned"); - assert((sizeof(frame::abi_112) % 16) == 0, "unaligned"); + assert((sizeof(frame::abi_minframe) % 16) == 0, "unaligned"); + assert((sizeof(frame::abi_reg_args) % 16) == 0, "unaligned"); assert((sizeof(frame::spill_nonvolatiles) % 16) == 0, "unaligned"); assert((sizeof(frame::parent_ijava_frame_abi) % 16) == 0, "unaligned"); assert((sizeof(frame::entry_frame_locals) % 16) == 0, "unaligned"); @@ -221,7 +216,7 @@ class StubGenerator: public StubCodeGenerator { { BLOCK_COMMENT("Call frame manager or native entry."); // Call frame manager or native entry. - Register r_new_arg_entry = R14_state; + Register r_new_arg_entry = R14; // PPC_state; assert_different_registers(r_new_arg_entry, r_top_of_arguments_addr, r_arg_method, r_arg_thread); @@ -234,7 +229,11 @@ class StubGenerator: public StubCodeGenerator { // R16_thread - JavaThread* // Tos must point to last argument - element_size. +#ifdef CC_INTERP const Register tos = R17_tos; +#else + const Register tos = R15_esp; +#endif __ addi(tos, r_top_of_arguments_addr, -Interpreter::stackElementSize); // initialize call_stub locals (step 2) @@ -248,8 +247,11 @@ class StubGenerator: public StubCodeGenerator { assert(tos != r_arg_thread && R19_method != r_arg_thread, "trashed r_arg_thread"); // Set R15_prev_state to 0 for simplifying checks in callee. +#ifdef CC_INTERP __ li(R15_prev_state, 0); - +#else + __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1); +#endif // Stack on entry to frame manager / native entry: // // F0 [TOP_IJAVA_FRAME_ABI] @@ -444,7 +446,7 @@ class StubGenerator: public StubCodeGenerator { // Save LR/CR and copy exception pc (LR) into R4_ARG2. __ save_LR_CR(R4_ARG2); - __ push_frame_abi112(0, R0); + __ push_frame_reg_args(0, R0); // Find exception handler. __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), @@ -519,7 +521,7 @@ class StubGenerator: public StubCodeGenerator { MacroAssembler* masm = new MacroAssembler(&code); OopMapSet* oop_maps = new OopMapSet(); - int frame_size_in_bytes = frame::abi_112_size; + int frame_size_in_bytes = frame::abi_reg_args_size; OopMap* map = new OopMap(frame_size_in_bytes / sizeof(jint), 0); StubCodeMark mark(this, "StubRoutines", "throw_exception"); @@ -529,7 +531,7 @@ class StubGenerator: public StubCodeGenerator { __ save_LR_CR(R11_scratch1); // Push a frame. - __ push_frame_abi112(0, R11_scratch1); + __ push_frame_reg_args(0, R11_scratch1); address frame_complete_pc = __ pc(); @@ -551,8 +553,11 @@ class StubGenerator: public StubCodeGenerator { if (arg2 != noreg) { __ mr(R5_ARG3, arg2); } - __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, runtime_entry), - relocInfo::none); +#if defined(ABI_ELFv2) + __ call_c(runtime_entry, relocInfo::none); +#else + __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, runtime_entry), relocInfo::none); +#endif // Set an oopmap for the call site. oop_maps->add_gc_map((int)(gc_map_pc - start), map); @@ -614,7 +619,7 @@ class StubGenerator: public StubCodeGenerator { // With G1, don't generate the call if we statically know that the target in uninitialized if (!dest_uninitialized) { const int spill_slots = 4 * wordSize; - const int frame_size = frame::abi_112_size + spill_slots; + const int frame_size = frame::abi_reg_args_size + spill_slots; Label filtered; // Is marking active? @@ -628,7 +633,7 @@ class StubGenerator: public StubCodeGenerator { __ beq(CCR0, filtered); __ save_LR_CR(R0); - __ push_frame_abi112(spill_slots, R0); + __ push_frame_reg_args(spill_slots, R0); __ std(from, frame_size - 1 * wordSize, R1_SP); __ std(to, frame_size - 2 * wordSize, R1_SP); __ std(count, frame_size - 3 * wordSize, R1_SP); @@ -672,7 +677,7 @@ class StubGenerator: public StubCodeGenerator { if (branchToEnd) { __ save_LR_CR(R0); // We need this frame only to spill LR. - __ push_frame_abi112(0, R0); + __ push_frame_reg_args(0, R0); __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post), addr, count); __ pop_frame(); __ restore_LR_CR(R0); @@ -742,7 +747,7 @@ class StubGenerator: public StubCodeGenerator { StubCodeMark mark(this, "StubRoutines", "zero_words_aligned8"); // Implemented as in ClearArray. - address start = __ emit_fd(); + address start = __ function_entry(); Register base_ptr_reg = R3_ARG1; // tohw (needs to be 8b aligned) Register cnt_dwords_reg = R4_ARG2; // count (in dwords) @@ -820,7 +825,7 @@ class StubGenerator: public StubCodeGenerator { // address generate_handler_for_unsafe_access() { StubCodeMark mark(this, "StubRoutines", "handler_for_unsafe_access"); - address start = __ emit_fd(); + address start = __ function_entry(); __ unimplemented("StubRoutines::handler_for_unsafe_access", 93); return start; } @@ -861,7 +866,7 @@ class StubGenerator: public StubCodeGenerator { // to read from the safepoint polling page. address generate_load_from_poll() { StubCodeMark mark(this, "StubRoutines", "generate_load_from_poll"); - address start = __ emit_fd(); + address start = __ function_entry(); __ unimplemented("StubRoutines::verify_oop", 95); // TODO PPC port return start; } @@ -885,7 +890,7 @@ class StubGenerator: public StubCodeGenerator { // address generate_fill(BasicType t, bool aligned, const char* name) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); const Register to = R3_ARG1; // source array address const Register value = R4_ARG2; // fill value @@ -1123,7 +1128,7 @@ class StubGenerator: public StubCodeGenerator { // address generate_disjoint_byte_copy(bool aligned, const char * name) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); Register tmp1 = R6_ARG4; Register tmp2 = R7_ARG5; @@ -1254,15 +1259,21 @@ class StubGenerator: public StubCodeGenerator { // address generate_conjoint_byte_copy(bool aligned, const char * name) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); Register tmp1 = R6_ARG4; Register tmp2 = R7_ARG5; Register tmp3 = R8_ARG6; +#if defined(ABI_ELFv2) + address nooverlap_target = aligned ? + StubRoutines::arrayof_jbyte_disjoint_arraycopy() : + StubRoutines::jbyte_disjoint_arraycopy(); +#else address nooverlap_target = aligned ? ((FunctionDescriptor*)StubRoutines::arrayof_jbyte_disjoint_arraycopy())->entry() : ((FunctionDescriptor*)StubRoutines::jbyte_disjoint_arraycopy())->entry(); +#endif array_overlap_test(nooverlap_target, 0); // Do reverse copy. We assume the case of actual overlap is rare enough @@ -1345,7 +1356,7 @@ class StubGenerator: public StubCodeGenerator { Register tmp3 = R8_ARG6; Register tmp4 = R9_ARG7; - address start = __ emit_fd(); + address start = __ function_entry(); Label l_1, l_2, l_3, l_4, l_5, l_6, l_7, l_8; // don't try anything fancy if arrays don't have many elements @@ -1474,15 +1485,21 @@ class StubGenerator: public StubCodeGenerator { // address generate_conjoint_short_copy(bool aligned, const char * name) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); Register tmp1 = R6_ARG4; Register tmp2 = R7_ARG5; Register tmp3 = R8_ARG6; +#if defined(ABI_ELFv2) + address nooverlap_target = aligned ? + StubRoutines::arrayof_jshort_disjoint_arraycopy() : + StubRoutines::jshort_disjoint_arraycopy(); +#else address nooverlap_target = aligned ? ((FunctionDescriptor*)StubRoutines::arrayof_jshort_disjoint_arraycopy())->entry() : ((FunctionDescriptor*)StubRoutines::jshort_disjoint_arraycopy())->entry(); +#endif array_overlap_test(nooverlap_target, 1); @@ -1597,7 +1614,7 @@ class StubGenerator: public StubCodeGenerator { // address generate_disjoint_int_copy(bool aligned, const char * name) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); generate_disjoint_int_copy_core(aligned); __ blr(); return start; @@ -1681,11 +1698,17 @@ class StubGenerator: public StubCodeGenerator { // address generate_conjoint_int_copy(bool aligned, const char * name) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); +#if defined(ABI_ELFv2) + address nooverlap_target = aligned ? + StubRoutines::arrayof_jint_disjoint_arraycopy() : + StubRoutines::jint_disjoint_arraycopy(); +#else address nooverlap_target = aligned ? ((FunctionDescriptor*)StubRoutines::arrayof_jint_disjoint_arraycopy())->entry() : ((FunctionDescriptor*)StubRoutines::jint_disjoint_arraycopy())->entry(); +#endif array_overlap_test(nooverlap_target, 2); @@ -1767,7 +1790,7 @@ class StubGenerator: public StubCodeGenerator { // address generate_disjoint_long_copy(bool aligned, const char * name) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); generate_disjoint_long_copy_core(aligned); __ blr(); @@ -1849,11 +1872,17 @@ class StubGenerator: public StubCodeGenerator { // address generate_conjoint_long_copy(bool aligned, const char * name) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); +#if defined(ABI_ELFv2) + address nooverlap_target = aligned ? + StubRoutines::arrayof_jlong_disjoint_arraycopy() : + StubRoutines::jlong_disjoint_arraycopy(); +#else address nooverlap_target = aligned ? ((FunctionDescriptor*)StubRoutines::arrayof_jlong_disjoint_arraycopy())->entry() : ((FunctionDescriptor*)StubRoutines::jlong_disjoint_arraycopy())->entry(); +#endif array_overlap_test(nooverlap_target, 3); generate_conjoint_long_copy_core(aligned); @@ -1875,11 +1904,17 @@ class StubGenerator: public StubCodeGenerator { address generate_conjoint_oop_copy(bool aligned, const char * name, bool dest_uninitialized) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); +#if defined(ABI_ELFv2) + address nooverlap_target = aligned ? + StubRoutines::arrayof_oop_disjoint_arraycopy() : + StubRoutines::oop_disjoint_arraycopy(); +#else address nooverlap_target = aligned ? ((FunctionDescriptor*)StubRoutines::arrayof_oop_disjoint_arraycopy())->entry() : ((FunctionDescriptor*)StubRoutines::oop_disjoint_arraycopy())->entry(); +#endif gen_write_ref_array_pre_barrier(R3_ARG1, R4_ARG2, R5_ARG3, dest_uninitialized, R9_ARG7); @@ -1910,7 +1945,7 @@ class StubGenerator: public StubCodeGenerator { // address generate_disjoint_oop_copy(bool aligned, const char * name, bool dest_uninitialized) { StubCodeMark mark(this, "StubRoutines", name); - address start = __ emit_fd(); + address start = __ function_entry(); gen_write_ref_array_pre_barrier(R3_ARG1, R4_ARG2, R5_ARG3, dest_uninitialized, R9_ARG7); @@ -1991,7 +2026,7 @@ class StubGenerator: public StubCodeGenerator { StubCodeMark mark(this, "StubRoutines", name); // Entry point, pc or function descriptor. - *entry = __ emit_fd(); + *entry = __ function_entry(); // Load *adr into R4_ARG2, may fault. *fault_pc = __ pc(); @@ -2056,7 +2091,7 @@ class StubGenerator: public StubCodeGenerator { guarantee(!UseAESIntrinsics, "not yet implemented."); } - // PPC uses stubs for safefetch. + // Safefetch stubs. generate_safefetch("SafeFetch32", sizeof(int), &StubRoutines::_safefetch32_entry, &StubRoutines::_safefetch32_fault_pc, &StubRoutines::_safefetch32_continuation_pc); diff --git a/langtools/test/tools/javac/annotations/neg/MixedSource.java b/hotspot/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp similarity index 50% rename from langtools/test/tools/javac/annotations/neg/MixedSource.java rename to hotspot/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp index 30df4391289..051ed26e728 100644 --- a/langtools/test/tools/javac/annotations/neg/MixedSource.java +++ b/hotspot/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp @@ -1,5 +1,6 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright 2013, 2014 SAP AG. 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 @@ -19,17 +20,25 @@ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. - */ - -/* - * @test - * @bug 5036565 - * @summary Annotations definitions are allowed using -source 1.4 but not annotations - * @author gafter * - * @compile/fail -source 1.4 MixedSource.java */ -package mixed.source; +#ifndef CPU_PPC_VM_TEMPLATEINTERPRETERGENERATOR_PPC_HPP +#define CPU_PPC_VM_TEMPLATEINTERPRETERGENERATOR_PPC_HPP -@interface foo {} + protected: + address generate_normal_entry(bool synchronized); + address generate_native_entry(bool synchronized); + address generate_math_entry(AbstractInterpreter::MethodKind kind); + address generate_empty_entry(void); + + void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false); + void unlock_method(bool check_exceptions = true); + + void generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue); + void generate_counter_overflow(Label& continue_entry); + + void generate_fixed_frame(bool native_call, Register Rsize_of_parameters, Register Rsize_of_locals); + void generate_stack_overflow_check(Register Rframe_size, Register Rscratch1); + +#endif // CPU_PPC_VM_TEMPLATEINTERPRETERGENERATOR_PPC_HPP diff --git a/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.cpp b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.cpp new file mode 100644 index 00000000000..2e19fca081d --- /dev/null +++ b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.cpp @@ -0,0 +1,1813 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright 2013, 2014 SAP AG. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#include "precompiled.hpp" +#ifndef CC_INTERP +#include "asm/macroAssembler.inline.hpp" +#include "interpreter/bytecodeHistogram.hpp" +#include "interpreter/interpreter.hpp" +#include "interpreter/interpreterGenerator.hpp" +#include "interpreter/interpreterRuntime.hpp" +#include "interpreter/templateTable.hpp" +#include "oops/arrayOop.hpp" +#include "oops/methodData.hpp" +#include "oops/method.hpp" +#include "oops/oop.inline.hpp" +#include "prims/jvmtiExport.hpp" +#include "prims/jvmtiThreadState.hpp" +#include "runtime/arguments.hpp" +#include "runtime/deoptimization.hpp" +#include "runtime/frame.inline.hpp" +#include "runtime/sharedRuntime.hpp" +#include "runtime/stubRoutines.hpp" +#include "runtime/synchronizer.hpp" +#include "runtime/timer.hpp" +#include "runtime/vframeArray.hpp" +#include "utilities/debug.hpp" +#include "utilities/macros.hpp" + +#undef __ +#define __ _masm-> + +#ifdef PRODUCT +#define BLOCK_COMMENT(str) /* nothing */ +#else +#define BLOCK_COMMENT(str) __ block_comment(str) +#endif + +#define BIND(label) bind(label); BLOCK_COMMENT(#label ":") + +//----------------------------------------------------------------------------- + +// Actually we should never reach here since we do stack overflow checks before pushing any frame. +address TemplateInterpreterGenerator::generate_StackOverflowError_handler() { + address entry = __ pc(); + __ unimplemented("generate_StackOverflowError_handler"); + return entry; +} + +address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler(const char* name) { + address entry = __ pc(); + __ empty_expression_stack(); + __ load_const_optimized(R4_ARG2, (address) name); + // Index is in R17_tos. + __ mr(R5_ARG3, R17_tos); + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException)); + return entry; +} + +#if 0 +// Call special ClassCastException constructor taking object to cast +// and target class as arguments. +address TemplateInterpreterGenerator::generate_ClassCastException_verbose_handler(const char* name) { + address entry = __ pc(); + + // Target class oop is in register R6_ARG4 by convention! + + // Expression stack must be empty before entering the VM if an + // exception happened. + __ empty_expression_stack(); + // Setup parameters. + // Thread will be loaded to R3_ARG1. + __ load_const_optimized(R4_ARG2, (address) name); + __ mr(R5_ARG3, R17_tos); + // R6_ARG4 contains specified class. + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ClassCastException_verbose)); +#ifdef ASSERT + // Above call must not return here since exception pending. + __ should_not_reach_here(); +#endif + return entry; +} +#endif + +address TemplateInterpreterGenerator::generate_ClassCastException_handler() { + address entry = __ pc(); + // Expression stack must be empty before entering the VM if an + // exception happened. + __ empty_expression_stack(); + + // Load exception object. + // Thread will be loaded to R3_ARG1. + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ClassCastException), R17_tos); +#ifdef ASSERT + // Above call must not return here since exception pending. + __ should_not_reach_here(); +#endif + return entry; +} + +address TemplateInterpreterGenerator::generate_exception_handler_common(const char* name, const char* message, bool pass_oop) { + address entry = __ pc(); + //__ untested("generate_exception_handler_common"); + Register Rexception = R17_tos; + + // Expression stack must be empty before entering the VM if an exception happened. + __ empty_expression_stack(); + + __ load_const_optimized(R4_ARG2, (address) name, R11_scratch1); + if (pass_oop) { + __ mr(R5_ARG3, Rexception); + __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_klass_exception), false); + } else { + __ load_const_optimized(R5_ARG3, (address) message, R11_scratch1); + __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_exception), false); + } + + // Throw exception. + __ mr(R3_ARG1, Rexception); + __ load_const_optimized(R11_scratch1, Interpreter::throw_exception_entry(), R12_scratch2); + __ mtctr(R11_scratch1); + __ bctr(); + + return entry; +} + +address TemplateInterpreterGenerator::generate_continuation_for(TosState state) { + address entry = __ pc(); + __ unimplemented("generate_continuation_for"); + return entry; +} + +// This entry is returned to when a call returns to the interpreter. +// When we arrive here, we expect that the callee stack frame is already popped. +address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step, size_t index_size) { + address entry = __ pc(); + + // Move the value out of the return register back to the TOS cache of current frame. + switch (state) { + case ltos: + case btos: + case ctos: + case stos: + case atos: + case itos: __ mr(R17_tos, R3_RET); break; // RET -> TOS cache + case ftos: + case dtos: __ fmr(F15_ftos, F1_RET); break; // TOS cache -> GR_FRET + case vtos: break; // Nothing to do, this was a void return. + default : ShouldNotReachHere(); + } + + __ restore_interpreter_state(R11_scratch1); // Sets R11_scratch1 = fp. + __ ld(R12_scratch2, _ijava_state_neg(top_frame_sp), R11_scratch1); + __ resize_frame_absolute(R12_scratch2, R11_scratch1, R0); + + // Compiled code destroys templateTableBase, reload. + __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R12_scratch2); + + const Register cache = R11_scratch1; + const Register size = R12_scratch2; + __ get_cache_and_index_at_bcp(cache, 1, index_size); + + // Big Endian (get least significant byte of 64 bit value): + __ lbz(size, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset()) + 7, cache); + __ sldi(size, size, Interpreter::logStackElementSize); + __ add(R15_esp, R15_esp, size); + __ dispatch_next(state, step); + return entry; +} + +address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step) { + address entry = __ pc(); + // If state != vtos, we're returning from a native method, which put it's result + // into the result register. So move the value out of the return register back + // to the TOS cache of current frame. + + switch (state) { + case ltos: + case btos: + case ctos: + case stos: + case atos: + case itos: __ mr(R17_tos, R3_RET); break; // GR_RET -> TOS cache + case ftos: + case dtos: __ fmr(F15_ftos, F1_RET); break; // TOS cache -> GR_FRET + case vtos: break; // Nothing to do, this was a void return. + default : ShouldNotReachHere(); + } + + // Load LcpoolCache @@@ should be already set! + __ get_constant_pool_cache(R27_constPoolCache); + + // Handle a pending exception, fall through if none. + __ check_and_forward_exception(R11_scratch1, R12_scratch2); + + // Start executing bytecodes. + __ dispatch_next(state, step); + + return entry; +} + +// A result handler converts the native result into java format. +// Use the shared code between c++ and template interpreter. +address TemplateInterpreterGenerator::generate_result_handler_for(BasicType type) { + return AbstractInterpreterGenerator::generate_result_handler_for(type); +} + +address TemplateInterpreterGenerator::generate_safept_entry_for(TosState state, address runtime_entry) { + address entry = __ pc(); + + __ push(state); + __ call_VM(noreg, runtime_entry); + __ dispatch_via(vtos, Interpreter::_normal_table.table_for(vtos)); + + return entry; +} + +// Helpers for commoning out cases in the various type of method entries. + +// Increment invocation count & check for overflow. +// +// Note: checking for negative value instead of overflow +// so we have a 'sticky' overflow test. +// +void TemplateInterpreterGenerator::generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue) { + // Note: In tiered we increment either counters in method or in MDO depending if we're profiling or not. + Register Rscratch1 = R11_scratch1; + Register Rscratch2 = R12_scratch2; + Register R3_counters = R3_ARG1; + Label done; + + if (TieredCompilation) { + const int increment = InvocationCounter::count_increment; + const int mask = ((1 << Tier0InvokeNotifyFreqLog) - 1) << InvocationCounter::count_shift; + Label no_mdo; + if (ProfileInterpreter) { + const Register Rmdo = Rscratch1; + // If no method data exists, go to profile_continue. + __ ld(Rmdo, in_bytes(Method::method_data_offset()), R19_method); + __ cmpdi(CCR0, Rmdo, 0); + __ beq(CCR0, no_mdo); + + // Increment backedge counter in the MDO. + const int mdo_bc_offs = in_bytes(MethodData::backedge_counter_offset()) + in_bytes(InvocationCounter::counter_offset()); + __ lwz(Rscratch2, mdo_bc_offs, Rmdo); + __ addi(Rscratch2, Rscratch2, increment); + __ stw(Rscratch2, mdo_bc_offs, Rmdo); + __ load_const_optimized(Rscratch1, mask, R0); + __ and_(Rscratch1, Rscratch2, Rscratch1); + __ bne(CCR0, done); + __ b(*overflow); + } + + // Increment counter in MethodCounters*. + const int mo_bc_offs = in_bytes(MethodCounters::backedge_counter_offset()) + in_bytes(InvocationCounter::counter_offset()); + __ bind(no_mdo); + __ get_method_counters(R19_method, R3_counters, done); + __ lwz(Rscratch2, mo_bc_offs, R3_counters); + __ addi(Rscratch2, Rscratch2, increment); + __ stw(Rscratch2, mo_bc_offs, R3_counters); + __ load_const_optimized(Rscratch1, mask, R0); + __ and_(Rscratch1, Rscratch2, Rscratch1); + __ beq(CCR0, *overflow); + + __ bind(done); + + } else { + + // Update standard invocation counters. + Register Rsum_ivc_bec = R4_ARG2; + __ get_method_counters(R19_method, R3_counters, done); + __ increment_invocation_counter(R3_counters, Rsum_ivc_bec, R12_scratch2); + // Increment interpreter invocation counter. + if (ProfileInterpreter) { // %%% Merge this into methodDataOop. + __ lwz(R12_scratch2, in_bytes(MethodCounters::interpreter_invocation_counter_offset()), R3_counters); + __ addi(R12_scratch2, R12_scratch2, 1); + __ stw(R12_scratch2, in_bytes(MethodCounters::interpreter_invocation_counter_offset()), R3_counters); + } + // Check if we must create a method data obj. + if (ProfileInterpreter && profile_method != NULL) { + const Register profile_limit = Rscratch1; + int pl_offs = __ load_const_optimized(profile_limit, &InvocationCounter::InterpreterProfileLimit, R0, true); + __ lwz(profile_limit, pl_offs, profile_limit); + // Test to see if we should create a method data oop. + __ cmpw(CCR0, Rsum_ivc_bec, profile_limit); + __ blt(CCR0, *profile_method_continue); + // If no method data exists, go to profile_method. + __ test_method_data_pointer(*profile_method); + } + // Finally check for counter overflow. + if (overflow) { + const Register invocation_limit = Rscratch1; + int il_offs = __ load_const_optimized(invocation_limit, &InvocationCounter::InterpreterInvocationLimit, R0, true); + __ lwz(invocation_limit, il_offs, invocation_limit); + assert(4 == sizeof(InvocationCounter::InterpreterInvocationLimit), "unexpected field size"); + __ cmpw(CCR0, Rsum_ivc_bec, invocation_limit); + __ bge(CCR0, *overflow); + } + + __ bind(done); + } +} + +// Generate code to initiate compilation on invocation counter overflow. +void TemplateInterpreterGenerator::generate_counter_overflow(Label& continue_entry) { + // Generate code to initiate compilation on the counter overflow. + + // InterpreterRuntime::frequency_counter_overflow takes one arguments, + // which indicates if the counter overflow occurs at a backwards branch (NULL bcp) + // We pass zero in. + // The call returns the address of the verified entry point for the method or NULL + // if the compilation did not complete (either went background or bailed out). + // + // Unlike the C++ interpreter above: Check exceptions! + // Assumption: Caller must set the flag "do_not_unlock_if_sychronized" if the monitor of a sync'ed + // method has not yet been created. Thus, no unlocking of a non-existing monitor can occur. + + __ li(R4_ARG2, 0); + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), R4_ARG2, true); + + // Returns verified_entry_point or NULL. + // We ignore it in any case. + __ b(continue_entry); +} + +void TemplateInterpreterGenerator::generate_stack_overflow_check(Register Rmem_frame_size, Register Rscratch1) { + assert_different_registers(Rmem_frame_size, Rscratch1); + __ generate_stack_overflow_check_with_compare_and_throw(Rmem_frame_size, Rscratch1); +} + +void TemplateInterpreterGenerator::unlock_method(bool check_exceptions) { + __ unlock_object(R26_monitor, check_exceptions); +} + +// Lock the current method, interpreter register window must be set up! +void TemplateInterpreterGenerator::lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded) { + const Register Robj_to_lock = Rscratch2; + + { + if (!flags_preloaded) { + __ lwz(Rflags, method_(access_flags)); + } + +#ifdef ASSERT + // Check if methods needs synchronization. + { + Label Lok; + __ testbitdi(CCR0, R0, Rflags, JVM_ACC_SYNCHRONIZED_BIT); + __ btrue(CCR0,Lok); + __ stop("method doesn't need synchronization"); + __ bind(Lok); + } +#endif // ASSERT + } + + // Get synchronization object to Rscratch2. + { + const int mirror_offset = in_bytes(Klass::java_mirror_offset()); + Label Lstatic; + Label Ldone; + + __ testbitdi(CCR0, R0, Rflags, JVM_ACC_STATIC_BIT); + __ btrue(CCR0, Lstatic); + + // Non-static case: load receiver obj from stack and we're done. + __ ld(Robj_to_lock, R18_locals); + __ b(Ldone); + + __ bind(Lstatic); // Static case: Lock the java mirror + __ ld(Robj_to_lock, in_bytes(Method::const_offset()), R19_method); + __ ld(Robj_to_lock, in_bytes(ConstMethod::constants_offset()), Robj_to_lock); + __ ld(Robj_to_lock, ConstantPool::pool_holder_offset_in_bytes(), Robj_to_lock); + __ ld(Robj_to_lock, mirror_offset, Robj_to_lock); + + __ bind(Ldone); + __ verify_oop(Robj_to_lock); + } + + // Got the oop to lock => execute! + __ add_monitor_to_stack(true, Rscratch1, R0); + + __ std(Robj_to_lock, BasicObjectLock::obj_offset_in_bytes(), R26_monitor); + __ lock_object(R26_monitor, Robj_to_lock); +} + +// Generate a fixed interpreter frame for pure interpreter +// and I2N native transition frames. +// +// Before (stack grows downwards): +// +// | ... | +// |------------- | +// | java arg0 | +// | ... | +// | java argn | +// | | <- R15_esp +// | | +// |--------------| +// | abi_112 | +// | | <- R1_SP +// |==============| +// +// +// After: +// +// | ... | +// | java arg0 |<- R18_locals +// | ... | +// | java argn | +// |--------------| +// | | +// | java locals | +// | | +// |--------------| +// | abi_48 | +// |==============| +// | | +// | istate | +// | | +// |--------------| +// | monitor |<- R26_monitor +// |--------------| +// | |<- R15_esp +// | expression | +// | stack | +// | | +// |--------------| +// | | +// | abi_112 |<- R1_SP +// |==============| +// +// The top most frame needs an abi space of 112 bytes. This space is needed, +// since we call to c. The c function may spill their arguments to the caller +// frame. When we call to java, we don't need these spill slots. In order to save +// space on the stack, we resize the caller. However, java local reside in +// the caller frame and the frame has to be increased. The frame_size for the +// current frame was calculated based on max_stack as size for the expression +// stack. At the call, just a part of the expression stack might be used. +// We don't want to waste this space and cut the frame back accordingly. +// The resulting amount for resizing is calculated as follows: +// resize = (number_of_locals - number_of_arguments) * slot_size +// + (R1_SP - R15_esp) + 48 +// +// The size for the callee frame is calculated: +// framesize = 112 + max_stack + monitor + state_size +// +// maxstack: Max number of slots on the expression stack, loaded from the method. +// monitor: We statically reserve room for one monitor object. +// state_size: We save the current state of the interpreter to this area. +// +void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call, Register Rsize_of_parameters, Register Rsize_of_locals) { + Register parent_frame_resize = R6_ARG4, // Frame will grow by this number of bytes. + top_frame_size = R7_ARG5, + Rconst_method = R8_ARG6; + + assert_different_registers(Rsize_of_parameters, Rsize_of_locals, parent_frame_resize, top_frame_size); + + __ ld(Rconst_method, method_(const)); + __ lhz(Rsize_of_parameters /* number of params */, + in_bytes(ConstMethod::size_of_parameters_offset()), Rconst_method); + if (native_call) { + // If we're calling a native method, we reserve space for the worst-case signature + // handler varargs vector, which is max(Argument::n_register_parameters, parameter_count+2). + // We add two slots to the parameter_count, one for the jni + // environment and one for a possible native mirror. + Label skip_native_calculate_max_stack; + __ addi(top_frame_size, Rsize_of_parameters, 2); + __ cmpwi(CCR0, top_frame_size, Argument::n_register_parameters); + __ bge(CCR0, skip_native_calculate_max_stack); + __ li(top_frame_size, Argument::n_register_parameters); + __ bind(skip_native_calculate_max_stack); + __ sldi(Rsize_of_parameters, Rsize_of_parameters, Interpreter::logStackElementSize); + __ sldi(top_frame_size, top_frame_size, Interpreter::logStackElementSize); + __ sub(parent_frame_resize, R1_SP, R15_esp); // <0, off by Interpreter::stackElementSize! + assert(Rsize_of_locals == noreg, "Rsize_of_locals not initialized"); // Only relevant value is Rsize_of_parameters. + } else { + __ lhz(Rsize_of_locals /* number of params */, in_bytes(ConstMethod::size_of_locals_offset()), Rconst_method); + __ sldi(Rsize_of_parameters, Rsize_of_parameters, Interpreter::logStackElementSize); + __ sldi(Rsize_of_locals, Rsize_of_locals, Interpreter::logStackElementSize); + __ lhz(top_frame_size, in_bytes(ConstMethod::max_stack_offset()), Rconst_method); + __ sub(R11_scratch1, Rsize_of_locals, Rsize_of_parameters); // >=0 + __ sub(parent_frame_resize, R1_SP, R15_esp); // <0, off by Interpreter::stackElementSize! + __ sldi(top_frame_size, top_frame_size, Interpreter::logStackElementSize); + __ add(parent_frame_resize, parent_frame_resize, R11_scratch1); + } + + // Compute top frame size. + __ addi(top_frame_size, top_frame_size, frame::abi_reg_args_size + frame::ijava_state_size); + + // Cut back area between esp and max_stack. + __ addi(parent_frame_resize, parent_frame_resize, frame::abi_minframe_size - Interpreter::stackElementSize); + + __ round_to(top_frame_size, frame::alignment_in_bytes); + __ round_to(parent_frame_resize, frame::alignment_in_bytes); + // parent_frame_resize = (locals-parameters) - (ESP-SP-ABI48) Rounded to frame alignment size. + // Enlarge by locals-parameters (not in case of native_call), shrink by ESP-SP-ABI48. + + { + // -------------------------------------------------------------------------- + // Stack overflow check + + Label cont; + __ add(R11_scratch1, parent_frame_resize, top_frame_size); + generate_stack_overflow_check(R11_scratch1, R12_scratch2); + } + + // Set up interpreter state registers. + + __ add(R18_locals, R15_esp, Rsize_of_parameters); + __ ld(R27_constPoolCache, in_bytes(ConstMethod::constants_offset()), Rconst_method); + __ ld(R27_constPoolCache, ConstantPool::cache_offset_in_bytes(), R27_constPoolCache); + + // Set method data pointer. + if (ProfileInterpreter) { + Label zero_continue; + __ ld(R28_mdx, method_(method_data)); + __ cmpdi(CCR0, R28_mdx, 0); + __ beq(CCR0, zero_continue); + __ addi(R28_mdx, R28_mdx, in_bytes(MethodData::data_offset())); + __ bind(zero_continue); + } + + if (native_call) { + __ li(R14_bcp, 0); // Must initialize. + } else { + __ add(R14_bcp, in_bytes(ConstMethod::codes_offset()), Rconst_method); + } + + // Resize parent frame. + __ mflr(R12_scratch2); + __ neg(parent_frame_resize, parent_frame_resize); + __ resize_frame(parent_frame_resize, R11_scratch1); + __ std(R12_scratch2, _abi(lr), R1_SP); + + __ addi(R26_monitor, R1_SP, - frame::ijava_state_size); + __ addi(R15_esp, R26_monitor, - Interpreter::stackElementSize); + + // Store values. + // R15_esp, R14_bcp, R26_monitor, R28_mdx are saved at java calls + // in InterpreterMacroAssembler::call_from_interpreter. + __ std(R19_method, _ijava_state_neg(method), R1_SP); + __ std(R21_sender_SP, _ijava_state_neg(sender_sp), R1_SP); + __ std(R27_constPoolCache, _ijava_state_neg(cpoolCache), R1_SP); + __ std(R18_locals, _ijava_state_neg(locals), R1_SP); + + // Note: esp, bcp, monitor, mdx live in registers. Hence, the correct version can only + // be found in the frame after save_interpreter_state is done. This is always true + // for non-top frames. But when a signal occurs, dumping the top frame can go wrong, + // because e.g. frame::interpreter_frame_bcp() will not access the correct value + // (Enhanced Stack Trace). + // The signal handler does not save the interpreter state into the frame. + __ li(R0, 0); +#ifdef ASSERT + // Fill remaining slots with constants. + __ load_const_optimized(R11_scratch1, 0x5afe); + __ load_const_optimized(R12_scratch2, 0xdead); +#endif + // We have to initialize some frame slots for native calls (accessed by GC). + if (native_call) { + __ std(R26_monitor, _ijava_state_neg(monitors), R1_SP); + __ std(R14_bcp, _ijava_state_neg(bcp), R1_SP); + if (ProfileInterpreter) { __ std(R28_mdx, _ijava_state_neg(mdx), R1_SP); } + } +#ifdef ASSERT + else { + __ std(R12_scratch2, _ijava_state_neg(monitors), R1_SP); + __ std(R12_scratch2, _ijava_state_neg(bcp), R1_SP); + __ std(R12_scratch2, _ijava_state_neg(mdx), R1_SP); + } + __ std(R11_scratch1, _ijava_state_neg(ijava_reserved), R1_SP); + __ std(R12_scratch2, _ijava_state_neg(esp), R1_SP); + __ std(R12_scratch2, _ijava_state_neg(lresult), R1_SP); + __ std(R12_scratch2, _ijava_state_neg(fresult), R1_SP); +#endif + __ subf(R12_scratch2, top_frame_size, R1_SP); + __ std(R0, _ijava_state_neg(oop_tmp), R1_SP); + __ std(R12_scratch2, _ijava_state_neg(top_frame_sp), R1_SP); + + // Push top frame. + __ push_frame(top_frame_size, R11_scratch1); +} + +// End of helpers + +// ============================================================================ +// Various method entries +// + +// Empty method, generate a very fast return. We must skip this entry if +// someone's debugging, indicated by the flag +// "interp_mode" in the Thread obj. +// Note: empty methods are generated mostly methods that do assertions, which are +// disabled in the "java opt build". +address TemplateInterpreterGenerator::generate_empty_entry(void) { + if (!UseFastEmptyMethods) { + NOT_PRODUCT(__ should_not_reach_here();) + return Interpreter::entry_for_kind(Interpreter::zerolocals); + } + + Label Lslow_path; + const Register Rjvmti_mode = R11_scratch1; + address entry = __ pc(); + + __ lwz(Rjvmti_mode, thread_(interp_only_mode)); + __ cmpwi(CCR0, Rjvmti_mode, 0); + __ bne(CCR0, Lslow_path); // jvmti_mode!=0 + + // Noone's debuggin: Simply return. + // Pop c2i arguments (if any) off when we return. +#ifdef ASSERT + __ ld(R9_ARG7, 0, R1_SP); + __ ld(R10_ARG8, 0, R21_sender_SP); + __ cmpd(CCR0, R9_ARG7, R10_ARG8); + __ asm_assert_eq("backlink", 0x545); +#endif // ASSERT + __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started. + + // And we're done. + __ blr(); + + __ bind(Lslow_path); + __ branch_to_entry(Interpreter::entry_for_kind(Interpreter::zerolocals), R11_scratch1); + __ flush(); + + return entry; +} + +// Support abs and sqrt like in compiler. +// For others we can use a normal (native) entry. + +inline bool math_entry_available(AbstractInterpreter::MethodKind kind) { + // Provide math entry with debugging on demand. + // Note: Debugging changes which code will get executed: + // Debugging or disabled InlineIntrinsics: java method will get interpreted and performs a native call. + // Not debugging and enabled InlineIntrinics: processor instruction will get used. + // Result might differ slightly due to rounding etc. + if (!InlineIntrinsics && (!FLAG_IS_ERGO(InlineIntrinsics))) return false; // Generate a vanilla entry. + + return ((kind==Interpreter::java_lang_math_sqrt && VM_Version::has_fsqrt()) || + (kind==Interpreter::java_lang_math_abs)); +} + +address TemplateInterpreterGenerator::generate_math_entry(AbstractInterpreter::MethodKind kind) { + if (!math_entry_available(kind)) { + NOT_PRODUCT(__ should_not_reach_here();) + return Interpreter::entry_for_kind(Interpreter::zerolocals); + } + + Label Lslow_path; + const Register Rjvmti_mode = R11_scratch1; + address entry = __ pc(); + + // Provide math entry with debugging on demand. + __ lwz(Rjvmti_mode, thread_(interp_only_mode)); + __ cmpwi(CCR0, Rjvmti_mode, 0); + __ bne(CCR0, Lslow_path); // jvmti_mode!=0 + + __ lfd(F1_RET, Interpreter::stackElementSize, R15_esp); + + // Pop c2i arguments (if any) off when we return. +#ifdef ASSERT + __ ld(R9_ARG7, 0, R1_SP); + __ ld(R10_ARG8, 0, R21_sender_SP); + __ cmpd(CCR0, R9_ARG7, R10_ARG8); + __ asm_assert_eq("backlink", 0x545); +#endif // ASSERT + __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started. + + if (kind == Interpreter::java_lang_math_sqrt) { + __ fsqrt(F1_RET, F1_RET); + } else if (kind == Interpreter::java_lang_math_abs) { + __ fabs(F1_RET, F1_RET); + } else { + ShouldNotReachHere(); + } + + // And we're done. + __ blr(); + + // Provide slow path for JVMTI case. + __ bind(Lslow_path); + __ branch_to_entry(Interpreter::entry_for_kind(Interpreter::zerolocals), R12_scratch2); + __ flush(); + + return entry; +} + +// Interpreter stub for calling a native method. (asm interpreter) +// This sets up a somewhat different looking stack for calling the +// native method than the typical interpreter frame setup. +// +// On entry: +// R19_method - method +// R16_thread - JavaThread* +// R15_esp - intptr_t* sender tos +// +// abstract stack (grows up) +// [ IJava (caller of JNI callee) ] <-- ASP +// ... +address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) { + + address entry = __ pc(); + + const bool inc_counter = UseCompiler || CountCompiledCalls; + + // ----------------------------------------------------------------------------- + // Allocate a new frame that represents the native callee (i2n frame). + // This is not a full-blown interpreter frame, but in particular, the + // following registers are valid after this: + // - R19_method + // - R18_local (points to start of argumuments to native function) + // + // abstract stack (grows up) + // [ IJava (caller of JNI callee) ] <-- ASP + // ... + + const Register signature_handler_fd = R11_scratch1; + const Register pending_exception = R0; + const Register result_handler_addr = R31; + const Register native_method_fd = R11_scratch1; + const Register access_flags = R22_tmp2; + const Register active_handles = R11_scratch1; // R26_monitor saved to state. + const Register sync_state = R12_scratch2; + const Register sync_state_addr = sync_state; // Address is dead after use. + const Register suspend_flags = R11_scratch1; + + //============================================================================= + // Allocate new frame and initialize interpreter state. + + Label exception_return; + Label exception_return_sync_check; + Label stack_overflow_return; + + // Generate new interpreter state and jump to stack_overflow_return in case of + // a stack overflow. + //generate_compute_interpreter_state(stack_overflow_return); + + Register size_of_parameters = R22_tmp2; + + generate_fixed_frame(true, size_of_parameters, noreg /* unused */); + + //============================================================================= + // Increment invocation counter. On overflow, entry to JNI method + // will be compiled. + Label invocation_counter_overflow, continue_after_compile; + if (inc_counter) { + if (synchronized) { + // Since at this point in the method invocation the exception handler + // would try to exit the monitor of synchronized methods which hasn't + // been entered yet, we set the thread local variable + // _do_not_unlock_if_synchronized to true. If any exception was thrown by + // runtime, exception handling i.e. unlock_if_synchronized_method will + // check this thread local flag. + // This flag has two effects, one is to force an unwind in the topmost + // interpreter frame and not perform an unlock while doing so. + __ li(R0, 1); + __ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread); + } + generate_counter_incr(&invocation_counter_overflow, NULL, NULL); + + __ BIND(continue_after_compile); + // Reset the _do_not_unlock_if_synchronized flag. + if (synchronized) { + __ li(R0, 0); + __ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread); + } + } + + // access_flags = method->access_flags(); + // Load access flags. + assert(access_flags->is_nonvolatile(), + "access_flags must be in a non-volatile register"); + // Type check. + assert(4 == sizeof(AccessFlags), "unexpected field size"); + __ lwz(access_flags, method_(access_flags)); + + // We don't want to reload R19_method and access_flags after calls + // to some helper functions. + assert(R19_method->is_nonvolatile(), + "R19_method must be a non-volatile register"); + + // Check for synchronized methods. Must happen AFTER invocation counter + // check, so method is not locked if counter overflows. + + if (synchronized) { + lock_method(access_flags, R11_scratch1, R12_scratch2, true); + + // Update monitor in state. + __ ld(R11_scratch1, 0, R1_SP); + __ std(R26_monitor, _ijava_state_neg(monitors), R11_scratch1); + } + + // jvmti/jvmpi support + __ notify_method_entry(); + + //============================================================================= + // Get and call the signature handler. + + __ ld(signature_handler_fd, method_(signature_handler)); + Label call_signature_handler; + + __ cmpdi(CCR0, signature_handler_fd, 0); + __ bne(CCR0, call_signature_handler); + + // Method has never been called. Either generate a specialized + // handler or point to the slow one. + // + // Pass parameter 'false' to avoid exception check in call_VM. + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::prepare_native_call), R19_method, false); + + // Check for an exception while looking up the target method. If we + // incurred one, bail. + __ ld(pending_exception, thread_(pending_exception)); + __ cmpdi(CCR0, pending_exception, 0); + __ bne(CCR0, exception_return_sync_check); // Has pending exception. + + // Reload signature handler, it may have been created/assigned in the meanwhile. + __ ld(signature_handler_fd, method_(signature_handler)); + __ twi_0(signature_handler_fd); // Order wrt. load of klass mirror and entry point (isync is below). + + __ BIND(call_signature_handler); + + // Before we call the signature handler we push a new frame to + // protect the interpreter frame volatile registers when we return + // from jni but before we can get back to Java. + + // First set the frame anchor while the SP/FP registers are + // convenient and the slow signature handler can use this same frame + // anchor. + + // We have a TOP_IJAVA_FRAME here, which belongs to us. + __ set_top_ijava_frame_at_SP_as_last_Java_frame(R1_SP, R12_scratch2/*tmp*/); + + // Now the interpreter frame (and its call chain) have been + // invalidated and flushed. We are now protected against eager + // being enabled in native code. Even if it goes eager the + // registers will be reloaded as clean and we will invalidate after + // the call so no spurious flush should be possible. + + // Call signature handler and pass locals address. + // + // Our signature handlers copy required arguments to the C stack + // (outgoing C args), R3_ARG1 to R10_ARG8, and FARG1 to FARG13. + __ mr(R3_ARG1, R18_locals); + __ ld(signature_handler_fd, 0, signature_handler_fd); + + __ call_stub(signature_handler_fd); + + // Remove the register parameter varargs slots we allocated in + // compute_interpreter_state. SP+16 ends up pointing to the ABI + // outgoing argument area. + // + // Not needed on PPC64. + //__ add(SP, SP, Argument::n_register_parameters*BytesPerWord); + + assert(result_handler_addr->is_nonvolatile(), "result_handler_addr must be in a non-volatile register"); + // Save across call to native method. + __ mr(result_handler_addr, R3_RET); + + __ isync(); // Acquire signature handler before trying to fetch the native entry point and klass mirror. + + // Set up fixed parameters and call the native method. + // If the method is static, get mirror into R4_ARG2. + { + Label method_is_not_static; + // Access_flags is non-volatile and still, no need to restore it. + + // Restore access flags. + __ testbitdi(CCR0, R0, access_flags, JVM_ACC_STATIC_BIT); + __ bfalse(CCR0, method_is_not_static); + + // constants = method->constants(); + __ ld(R11_scratch1, in_bytes(Method::const_offset()), R19_method); + __ ld(R11_scratch1, in_bytes(ConstMethod::constants_offset()), R11_scratch1); + // pool_holder = method->constants()->pool_holder(); + __ ld(R11_scratch1/*pool_holder*/, ConstantPool::pool_holder_offset_in_bytes(), + R11_scratch1/*constants*/); + + const int mirror_offset = in_bytes(Klass::java_mirror_offset()); + + // mirror = pool_holder->klass_part()->java_mirror(); + __ ld(R0/*mirror*/, mirror_offset, R11_scratch1/*pool_holder*/); + // state->_native_mirror = mirror; + + __ ld(R11_scratch1, 0, R1_SP); + __ std(R0/*mirror*/, _ijava_state_neg(oop_tmp), R11_scratch1); + // R4_ARG2 = &state->_oop_temp; + __ addi(R4_ARG2, R11_scratch1, _ijava_state_neg(oop_tmp)); + __ BIND(method_is_not_static); + } + + // At this point, arguments have been copied off the stack into + // their JNI positions. Oops are boxed in-place on the stack, with + // handles copied to arguments. The result handler address is in a + // register. + + // Pass JNIEnv address as first parameter. + __ addir(R3_ARG1, thread_(jni_environment)); + + // Load the native_method entry before we change the thread state. + __ ld(native_method_fd, method_(native_function)); + + //============================================================================= + // Transition from _thread_in_Java to _thread_in_native. As soon as + // we make this change the safepoint code needs to be certain that + // the last Java frame we established is good. The pc in that frame + // just needs to be near here not an actual return address. + + // We use release_store_fence to update values like the thread state, where + // we don't want the current thread to continue until all our prior memory + // accesses (including the new thread state) are visible to other threads. + __ li(R0, _thread_in_native); + __ release(); + + // TODO PPC port assert(4 == JavaThread::sz_thread_state(), "unexpected field size"); + __ stw(R0, thread_(thread_state)); + + if (UseMembar) { + __ fence(); + } + + //============================================================================= + // Call the native method. Argument registers must not have been + // overwritten since "__ call_stub(signature_handler);" (except for + // ARG1 and ARG2 for static methods). + __ call_c(native_method_fd); + + __ li(R0, 0); + __ ld(R11_scratch1, 0, R1_SP); + __ std(R3_RET, _ijava_state_neg(lresult), R11_scratch1); + __ stfd(F1_RET, _ijava_state_neg(fresult), R11_scratch1); + __ std(R0/*mirror*/, _ijava_state_neg(oop_tmp), R11_scratch1); // reset + + // Note: C++ interpreter needs the following here: + // The frame_manager_lr field, which we use for setting the last + // java frame, gets overwritten by the signature handler. Restore + // it now. + //__ get_PC_trash_LR(R11_scratch1); + //__ std(R11_scratch1, _top_ijava_frame_abi(frame_manager_lr), R1_SP); + + // Because of GC R19_method may no longer be valid. + + // Block, if necessary, before resuming in _thread_in_Java state. + // In order for GC to work, don't clear the last_Java_sp until after + // blocking. + + //============================================================================= + // Switch thread to "native transition" state before reading the + // synchronization state. This additional state is necessary + // because reading and testing the synchronization state is not + // atomic w.r.t. GC, as this scenario demonstrates: Java thread A, + // in _thread_in_native state, loads _not_synchronized and is + // preempted. VM thread changes sync state to synchronizing and + // suspends threads for GC. Thread A is resumed to finish this + // native method, but doesn't block here since it didn't see any + // synchronization in progress, and escapes. + + // We use release_store_fence to update values like the thread state, where + // we don't want the current thread to continue until all our prior memory + // accesses (including the new thread state) are visible to other threads. + __ li(R0/*thread_state*/, _thread_in_native_trans); + __ release(); + __ stw(R0/*thread_state*/, thread_(thread_state)); + if (UseMembar) { + __ fence(); + } + // Write serialization page so that the VM thread can do a pseudo remote + // membar. We use the current thread pointer to calculate a thread + // specific offset to write to within the page. This minimizes bus + // traffic due to cache line collision. + else { + __ serialize_memory(R16_thread, R11_scratch1, R12_scratch2); + } + + // Now before we return to java we must look for a current safepoint + // (a new safepoint can not start since we entered native_trans). + // We must check here because a current safepoint could be modifying + // the callers registers right this moment. + + // Acquire isn't strictly necessary here because of the fence, but + // sync_state is declared to be volatile, so we do it anyway + // (cmp-br-isync on one path, release (same as acquire on PPC64) on the other path). + int sync_state_offs = __ load_const_optimized(sync_state_addr, SafepointSynchronize::address_of_state(), /*temp*/R0, true); + + // TODO PPC port assert(4 == SafepointSynchronize::sz_state(), "unexpected field size"); + __ lwz(sync_state, sync_state_offs, sync_state_addr); + + // TODO PPC port assert(4 == Thread::sz_suspend_flags(), "unexpected field size"); + __ lwz(suspend_flags, thread_(suspend_flags)); + + Label sync_check_done; + Label do_safepoint; + // No synchronization in progress nor yet synchronized. + __ cmpwi(CCR0, sync_state, SafepointSynchronize::_not_synchronized); + // Not suspended. + __ cmpwi(CCR1, suspend_flags, 0); + + __ bne(CCR0, do_safepoint); + __ beq(CCR1, sync_check_done); + __ bind(do_safepoint); + __ isync(); + // Block. We do the call directly and leave the current + // last_Java_frame setup undisturbed. We must save any possible + // native result across the call. No oop is present. + + __ mr(R3_ARG1, R16_thread); + __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, JavaThread::check_special_condition_for_native_trans), + relocInfo::none); + + __ bind(sync_check_done); + + //============================================================================= + // <<<<<< Back in Interpreter Frame >>>>> + + // We are in thread_in_native_trans here and back in the normal + // interpreter frame. We don't have to do anything special about + // safepoints and we can switch to Java mode anytime we are ready. + + // Note: frame::interpreter_frame_result has a dependency on how the + // method result is saved across the call to post_method_exit. For + // native methods it assumes that the non-FPU/non-void result is + // saved in _native_lresult and a FPU result in _native_fresult. If + // this changes then the interpreter_frame_result implementation + // will need to be updated too. + + // On PPC64, we have stored the result directly after the native call. + + //============================================================================= + // Back in Java + + // We use release_store_fence to update values like the thread state, where + // we don't want the current thread to continue until all our prior memory + // accesses (including the new thread state) are visible to other threads. + __ li(R0/*thread_state*/, _thread_in_Java); + __ release(); + __ stw(R0/*thread_state*/, thread_(thread_state)); + if (UseMembar) { + __ fence(); + } + + __ reset_last_Java_frame(); + + // Jvmdi/jvmpi support. Whether we've got an exception pending or + // not, and whether unlocking throws an exception or not, we notify + // on native method exit. If we do have an exception, we'll end up + // in the caller's context to handle it, so if we don't do the + // notify here, we'll drop it on the floor. + __ notify_method_exit(true/*native method*/, + ilgl /*illegal state (not used for native methods)*/, + InterpreterMacroAssembler::NotifyJVMTI, + false /*check_exceptions*/); + + //============================================================================= + // Handle exceptions + + if (synchronized) { + // Don't check for exceptions since we're still in the i2n frame. Do that + // manually afterwards. + unlock_method(false); + } + + // Reset active handles after returning from native. + // thread->active_handles()->clear(); + __ ld(active_handles, thread_(active_handles)); + // TODO PPC port assert(4 == JNIHandleBlock::top_size_in_bytes(), "unexpected field size"); + __ li(R0, 0); + __ stw(R0, JNIHandleBlock::top_offset_in_bytes(), active_handles); + + Label exception_return_sync_check_already_unlocked; + __ ld(R0/*pending_exception*/, thread_(pending_exception)); + __ cmpdi(CCR0, R0/*pending_exception*/, 0); + __ bne(CCR0, exception_return_sync_check_already_unlocked); + + //----------------------------------------------------------------------------- + // No exception pending. + + // Move native method result back into proper registers and return. + // Invoke result handler (may unbox/promote). + __ ld(R11_scratch1, 0, R1_SP); + __ ld(R3_RET, _ijava_state_neg(lresult), R11_scratch1); + __ lfd(F1_RET, _ijava_state_neg(fresult), R11_scratch1); + __ call_stub(result_handler_addr); + + __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2); + + // Must use the return pc which was loaded from the caller's frame + // as the VM uses return-pc-patching for deoptimization. + __ mtlr(R0); + __ blr(); + + //----------------------------------------------------------------------------- + // An exception is pending. We call into the runtime only if the + // caller was not interpreted. If it was interpreted the + // interpreter will do the correct thing. If it isn't interpreted + // (call stub/compiled code) we will change our return and continue. + + __ BIND(exception_return_sync_check); + + if (synchronized) { + // Don't check for exceptions since we're still in the i2n frame. Do that + // manually afterwards. + unlock_method(false); + } + __ BIND(exception_return_sync_check_already_unlocked); + + const Register return_pc = R31; + + __ ld(return_pc, 0, R1_SP); + __ ld(return_pc, _abi(lr), return_pc); + + // Get the address of the exception handler. + __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), + R16_thread, + return_pc /* return pc */); + __ merge_frames(/*top_frame_sp*/ R21_sender_SP, noreg, R11_scratch1, R12_scratch2); + + // Load the PC of the the exception handler into LR. + __ mtlr(R3_RET); + + // Load exception into R3_ARG1 and clear pending exception in thread. + __ ld(R3_ARG1/*exception*/, thread_(pending_exception)); + __ li(R4_ARG2, 0); + __ std(R4_ARG2, thread_(pending_exception)); + + // Load the original return pc into R4_ARG2. + __ mr(R4_ARG2/*issuing_pc*/, return_pc); + + // Return to exception handler. + __ blr(); + + //============================================================================= + // Counter overflow. + + if (inc_counter) { + // Handle invocation counter overflow. + __ bind(invocation_counter_overflow); + + generate_counter_overflow(continue_after_compile); + } + + return entry; +} + +// Generic interpreted method entry to (asm) interpreter. +// +address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) { + bool inc_counter = UseCompiler || CountCompiledCalls; + address entry = __ pc(); + // Generate the code to allocate the interpreter stack frame. + Register Rsize_of_parameters = R4_ARG2, // Written by generate_fixed_frame. + Rsize_of_locals = R5_ARG3; // Written by generate_fixed_frame. + + generate_fixed_frame(false, Rsize_of_parameters, Rsize_of_locals); + +#ifdef FAST_DISPATCH + __ unimplemented("Fast dispatch in generate_normal_entry"); +#if 0 + __ set((intptr_t)Interpreter::dispatch_table(), IdispatchTables); + // Set bytecode dispatch table base. +#endif +#endif + + // -------------------------------------------------------------------------- + // Zero out non-parameter locals. + // Note: *Always* zero out non-parameter locals as Sparc does. It's not + // worth to ask the flag, just do it. + Register Rslot_addr = R6_ARG4, + Rnum = R7_ARG5; + Label Lno_locals, Lzero_loop; + + // Set up the zeroing loop. + __ subf(Rnum, Rsize_of_parameters, Rsize_of_locals); + __ subf(Rslot_addr, Rsize_of_parameters, R18_locals); + __ srdi_(Rnum, Rnum, Interpreter::logStackElementSize); + __ beq(CCR0, Lno_locals); + __ li(R0, 0); + __ mtctr(Rnum); + + // The zero locals loop. + __ bind(Lzero_loop); + __ std(R0, 0, Rslot_addr); + __ addi(Rslot_addr, Rslot_addr, -Interpreter::stackElementSize); + __ bdnz(Lzero_loop); + + __ bind(Lno_locals); + + // -------------------------------------------------------------------------- + // Counter increment and overflow check. + Label invocation_counter_overflow, + profile_method, + profile_method_continue; + if (inc_counter || ProfileInterpreter) { + + Register Rdo_not_unlock_if_synchronized_addr = R11_scratch1; + if (synchronized) { + // Since at this point in the method invocation the exception handler + // would try to exit the monitor of synchronized methods which hasn't + // been entered yet, we set the thread local variable + // _do_not_unlock_if_synchronized to true. If any exception was thrown by + // runtime, exception handling i.e. unlock_if_synchronized_method will + // check this thread local flag. + // This flag has two effects, one is to force an unwind in the topmost + // interpreter frame and not perform an unlock while doing so. + __ li(R0, 1); + __ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread); + } + // Increment invocation counter and check for overflow. + if (inc_counter) { + generate_counter_incr(&invocation_counter_overflow, &profile_method, &profile_method_continue); + } + + __ bind(profile_method_continue); + + // Reset the _do_not_unlock_if_synchronized flag. + if (synchronized) { + __ li(R0, 0); + __ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread); + } + } + + // -------------------------------------------------------------------------- + // Locking of synchronized methods. Must happen AFTER invocation_counter + // check and stack overflow check, so method is not locked if overflows. + if (synchronized) { + lock_method(R3_ARG1, R4_ARG2, R5_ARG3); + } +#ifdef ASSERT + else { + Label Lok; + __ lwz(R0, in_bytes(Method::access_flags_offset()), R19_method); + __ andi_(R0, R0, JVM_ACC_SYNCHRONIZED); + __ asm_assert_eq("method needs synchronization", 0x8521); + __ bind(Lok); + } +#endif // ASSERT + + __ verify_thread(); + + // -------------------------------------------------------------------------- + // JVMTI support + __ notify_method_entry(); + + // -------------------------------------------------------------------------- + // Start executing instructions. + __ dispatch_next(vtos); + + // -------------------------------------------------------------------------- + // Out of line counter overflow and MDO creation code. + if (ProfileInterpreter) { + // We have decided to profile this method in the interpreter. + __ bind(profile_method); + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method)); + __ set_method_data_pointer_for_bcp(); + __ b(profile_method_continue); + } + + if (inc_counter) { + // Handle invocation counter overflow. + __ bind(invocation_counter_overflow); + generate_counter_overflow(profile_method_continue); + } + return entry; +} + +// ============================================================================= +// Entry points + +address AbstractInterpreterGenerator::generate_method_entry( + AbstractInterpreter::MethodKind kind) { + // Determine code generation flags. + bool synchronized = false; + address entry_point = NULL; + + switch (kind) { + case Interpreter::zerolocals : break; + case Interpreter::zerolocals_synchronized: synchronized = true; break; + case Interpreter::native : entry_point = ((InterpreterGenerator*) this)->generate_native_entry(false); break; + case Interpreter::native_synchronized : entry_point = ((InterpreterGenerator*) this)->generate_native_entry(true); break; + case Interpreter::empty : entry_point = ((InterpreterGenerator*) this)->generate_empty_entry(); break; + case Interpreter::accessor : entry_point = ((InterpreterGenerator*) this)->generate_accessor_entry(); break; + case Interpreter::abstract : entry_point = ((InterpreterGenerator*) this)->generate_abstract_entry(); break; + + case Interpreter::java_lang_math_sin : // fall thru + case Interpreter::java_lang_math_cos : // fall thru + case Interpreter::java_lang_math_tan : // fall thru + case Interpreter::java_lang_math_abs : // fall thru + case Interpreter::java_lang_math_log : // fall thru + case Interpreter::java_lang_math_log10 : // fall thru + case Interpreter::java_lang_math_sqrt : // fall thru + case Interpreter::java_lang_math_pow : // fall thru + case Interpreter::java_lang_math_exp : entry_point = ((InterpreterGenerator*) this)->generate_math_entry(kind); break; + case Interpreter::java_lang_ref_reference_get + : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break; + default : ShouldNotReachHere(); break; + } + + if (entry_point) { + return entry_point; + } + + return ((InterpreterGenerator*) this)->generate_normal_entry(synchronized); +} + +// These should never be compiled since the interpreter will prefer +// the compiled version to the intrinsic version. +bool AbstractInterpreter::can_be_compiled(methodHandle m) { + return !math_entry_available(method_kind(m)); +} + +// How much stack a method activation needs in stack slots. +// We must calc this exactly like in generate_fixed_frame. +// Note: This returns the conservative size assuming maximum alignment. +int AbstractInterpreter::size_top_interpreter_activation(Method* method) { + const int max_alignment_size = 2; + const int abi_scratch = frame::abi_reg_args_size; + return method->max_locals() + method->max_stack() + frame::interpreter_frame_monitor_size() + max_alignment_size + abi_scratch; +} + +// Fills a sceletal interpreter frame generated during deoptimizations +// and returns the frame size in slots. +// +// Parameters: +// +// interpreter_frame == NULL: +// Only calculate the size of an interpreter activation, no actual layout. +// Note: This calculation must exactly parallel the frame setup +// in TemplateInterpreter::generate_normal_entry. But it does not +// account for the SP alignment, that might further enhance the +// frame size, depending on FP. +// +// interpreter_frame != NULL: +// set up the method, locals, and monitors. +// The frame interpreter_frame, if not NULL, is guaranteed to be the +// right size, as determined by a previous call to this method. +// It is also guaranteed to be walkable even though it is in a skeletal state +// +// is_top_frame == true: +// We're processing the *oldest* interpreter frame! +// +// pop_frame_extra_args: +// If this is != 0 we are returning to a deoptimized frame by popping +// off the callee frame. We want to re-execute the call that called the +// callee interpreted, but since the return to the interpreter would pop +// the arguments off advance the esp by dummy popframe_extra_args slots. +// Popping off those will establish the stack layout as it was before the call. +// +int AbstractInterpreter::layout_activation(Method* method, + int tempcount, + int popframe_extra_args, + int moncount, + int caller_actual_parameters, + int callee_param_count, + int callee_locals, + frame* caller, + frame* interpreter_frame, + bool is_top_frame, + bool is_bottom_frame) { + + const int max_alignment_space = 2; + const int abi_scratch = is_top_frame ? (frame::abi_reg_args_size / Interpreter::stackElementSize) : + (frame::abi_minframe_size / Interpreter::stackElementSize) ; + const int conservative_framesize_in_slots = + method->max_stack() + callee_locals - callee_param_count + + (moncount * frame::interpreter_frame_monitor_size()) + max_alignment_space + + abi_scratch + frame::ijava_state_size / Interpreter::stackElementSize; + + assert(!is_top_frame || conservative_framesize_in_slots * 8 > frame::abi_reg_args_size + frame::ijava_state_size, "frame too small"); + + if (interpreter_frame == NULL) { + // Since we don't know the exact alignment, we return the conservative size. + return (conservative_framesize_in_slots & -2); + } else { + // Now we know our caller, calc the exact frame layout and size. + intptr_t* locals_base = (caller->is_interpreted_frame()) ? + caller->interpreter_frame_esp() + caller_actual_parameters : + caller->sp() + method->max_locals() - 1 + (frame::abi_minframe_size / Interpreter::stackElementSize) ; + + intptr_t* monitor_base = caller->sp() - frame::ijava_state_size / Interpreter::stackElementSize ; + intptr_t* monitor = monitor_base - (moncount * frame::interpreter_frame_monitor_size()); + intptr_t* esp_base = monitor - 1; + intptr_t* esp = esp_base - tempcount - popframe_extra_args; + intptr_t* sp = (intptr_t *) (((intptr_t) (esp_base- callee_locals + callee_param_count - method->max_stack()- abi_scratch)) & -StackAlignmentInBytes); + intptr_t* sender_sp = caller->sp() + (frame::abi_minframe_size - frame::abi_reg_args_size) / Interpreter::stackElementSize; + intptr_t* top_frame_sp = is_top_frame ? sp : sp + (frame::abi_minframe_size - frame::abi_reg_args_size) / Interpreter::stackElementSize; + + interpreter_frame->interpreter_frame_set_method(method); + interpreter_frame->interpreter_frame_set_locals(locals_base); + interpreter_frame->interpreter_frame_set_cpcache(method->constants()->cache()); + interpreter_frame->interpreter_frame_set_esp(esp); + interpreter_frame->interpreter_frame_set_monitor_end((BasicObjectLock *)monitor); + interpreter_frame->interpreter_frame_set_top_frame_sp(top_frame_sp); + if (!is_bottom_frame) { + interpreter_frame->interpreter_frame_set_sender_sp(sender_sp); + } + + int framesize_in_slots = caller->sp() - sp; + assert(!is_top_frame ||framesize_in_slots >= (frame::abi_reg_args_size / Interpreter::stackElementSize) + frame::ijava_state_size / Interpreter::stackElementSize, "frame too small"); + assert(framesize_in_slots <= conservative_framesize_in_slots, "exact frame size must be smaller than the convervative size!"); + return framesize_in_slots; + } +} + +// ============================================================================= +// Exceptions + +void TemplateInterpreterGenerator::generate_throw_exception() { + Register Rexception = R17_tos, + Rcontinuation = R3_RET; + + // -------------------------------------------------------------------------- + // Entry point if an method returns with a pending exception (rethrow). + Interpreter::_rethrow_exception_entry = __ pc(); + { + __ restore_interpreter_state(R11_scratch1); // Sets R11_scratch1 = fp. + __ ld(R12_scratch2, _ijava_state_neg(top_frame_sp), R11_scratch1); + __ resize_frame_absolute(R12_scratch2, R11_scratch1, R0); + + // Compiled code destroys templateTableBase, reload. + __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1); + } + + // Entry point if a interpreted method throws an exception (throw). + Interpreter::_throw_exception_entry = __ pc(); + { + __ mr(Rexception, R3_RET); + + __ verify_thread(); + __ verify_oop(Rexception); + + // Expression stack must be empty before entering the VM in case of an exception. + __ empty_expression_stack(); + // Find exception handler address and preserve exception oop. + // Call C routine to find handler and jump to it. + __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::exception_handler_for_exception), Rexception); + __ mtctr(Rcontinuation); + // Push exception for exception handler bytecodes. + __ push_ptr(Rexception); + + // Jump to exception handler (may be remove activation entry!). + __ bctr(); + } + + // If the exception is not handled in the current frame the frame is + // removed and the exception is rethrown (i.e. exception + // continuation is _rethrow_exception). + // + // Note: At this point the bci is still the bxi for the instruction + // which caused the exception and the expression stack is + // empty. Thus, for any VM calls at this point, GC will find a legal + // oop map (with empty expression stack). + + // In current activation + // tos: exception + // bcp: exception bcp + + // -------------------------------------------------------------------------- + // JVMTI PopFrame support + + Interpreter::_remove_activation_preserving_args_entry = __ pc(); + { + // Set the popframe_processing bit in popframe_condition indicating that we are + // currently handling popframe, so that call_VMs that may happen later do not + // trigger new popframe handling cycles. + __ lwz(R11_scratch1, in_bytes(JavaThread::popframe_condition_offset()), R16_thread); + __ ori(R11_scratch1, R11_scratch1, JavaThread::popframe_processing_bit); + __ stw(R11_scratch1, in_bytes(JavaThread::popframe_condition_offset()), R16_thread); + + // Empty the expression stack, as in normal exception handling. + __ empty_expression_stack(); + __ unlock_if_synchronized_method(vtos, /* throw_monitor_exception */ false, /* install_monitor_exception */ false); + + // Check to see whether we are returning to a deoptimized frame. + // (The PopFrame call ensures that the caller of the popped frame is + // either interpreted or compiled and deoptimizes it if compiled.) + // Note that we don't compare the return PC against the + // deoptimization blob's unpack entry because of the presence of + // adapter frames in C2. + Label Lcaller_not_deoptimized; + Register return_pc = R3_ARG1; + __ ld(return_pc, 0, R1_SP); + __ ld(return_pc, _abi(lr), return_pc); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::interpreter_contains), return_pc); + __ cmpdi(CCR0, R3_RET, 0); + __ bne(CCR0, Lcaller_not_deoptimized); + + // The deoptimized case. + // In this case, we can't call dispatch_next() after the frame is + // popped, but instead must save the incoming arguments and restore + // them after deoptimization has occurred. + __ ld(R4_ARG2, in_bytes(Method::const_offset()), R19_method); + __ lhz(R4_ARG2 /* number of params */, in_bytes(ConstMethod::size_of_parameters_offset()), R4_ARG2); + __ slwi(R4_ARG2, R4_ARG2, Interpreter::logStackElementSize); + __ addi(R5_ARG3, R18_locals, Interpreter::stackElementSize); + __ subf(R5_ARG3, R4_ARG2, R5_ARG3); + // Save these arguments. + __ call_VM_leaf(CAST_FROM_FN_PTR(address, Deoptimization::popframe_preserve_args), R16_thread, R4_ARG2, R5_ARG3); + + // Inform deoptimization that it is responsible for restoring these arguments. + __ load_const_optimized(R11_scratch1, JavaThread::popframe_force_deopt_reexecution_bit); + __ stw(R11_scratch1, in_bytes(JavaThread::popframe_condition_offset()), R16_thread); + + // Return from the current method into the deoptimization blob. Will eventually + // end up in the deopt interpeter entry, deoptimization prepared everything that + // we will reexecute the call that called us. + __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*reload return_pc*/ return_pc, R11_scratch1, R12_scratch2); + __ mtlr(return_pc); + __ blr(); + + // The non-deoptimized case. + __ bind(Lcaller_not_deoptimized); + + // Clear the popframe condition flag. + __ li(R0, 0); + __ stw(R0, in_bytes(JavaThread::popframe_condition_offset()), R16_thread); + + // Get out of the current method and re-execute the call that called us. + __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ return_pc, R11_scratch1, R12_scratch2); + __ restore_interpreter_state(R11_scratch1); + __ ld(R12_scratch2, _ijava_state_neg(top_frame_sp), R11_scratch1); + __ resize_frame_absolute(R12_scratch2, R11_scratch1, R0); + __ mtlr(return_pc); + if (ProfileInterpreter) { + __ set_method_data_pointer_for_bcp(); + } + __ dispatch_next(vtos); + } + // end of JVMTI PopFrame support + + // -------------------------------------------------------------------------- + // Remove activation exception entry. + // This is jumped to if an interpreted method can't handle an exception itself + // (we come from the throw/rethrow exception entry above). We're going to call + // into the VM to find the exception handler in the caller, pop the current + // frame and return the handler we calculated. + Interpreter::_remove_activation_entry = __ pc(); + { + __ pop_ptr(Rexception); + __ verify_thread(); + __ verify_oop(Rexception); + __ std(Rexception, in_bytes(JavaThread::vm_result_offset()), R16_thread); + + __ unlock_if_synchronized_method(vtos, /* throw_monitor_exception */ false, true); + __ notify_method_exit(false, vtos, InterpreterMacroAssembler::SkipNotifyJVMTI, false); + + __ get_vm_result(Rexception); + + // We are done with this activation frame; find out where to go next. + // The continuation point will be an exception handler, which expects + // the following registers set up: + // + // RET: exception oop + // ARG2: Issuing PC (see generate_exception_blob()), only used if the caller is compiled. + + Register return_pc = R31; // Needs to survive the runtime call. + __ ld(return_pc, 0, R1_SP); + __ ld(return_pc, _abi(lr), return_pc); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), R16_thread, return_pc); + + // Remove the current activation. + __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ noreg, R11_scratch1, R12_scratch2); + + __ mr(R4_ARG2, return_pc); + __ mtlr(R3_RET); + __ mr(R3_RET, Rexception); + __ blr(); + } +} + +// JVMTI ForceEarlyReturn support. +// Returns "in the middle" of a method with a "fake" return value. +address TemplateInterpreterGenerator::generate_earlyret_entry_for(TosState state) { + + Register Rscratch1 = R11_scratch1, + Rscratch2 = R12_scratch2; + + address entry = __ pc(); + __ empty_expression_stack(); + + __ load_earlyret_value(state, Rscratch1); + + __ ld(Rscratch1, in_bytes(JavaThread::jvmti_thread_state_offset()), R16_thread); + // Clear the earlyret state. + __ li(R0, 0); + __ stw(R0, in_bytes(JvmtiThreadState::earlyret_state_offset()), Rscratch1); + + __ remove_activation(state, false, false); + // Copied from TemplateTable::_return. + // Restoration of lr done by remove_activation. + switch (state) { + case ltos: + case btos: + case ctos: + case stos: + case atos: + case itos: __ mr(R3_RET, R17_tos); break; + case ftos: + case dtos: __ fmr(F1_RET, F15_ftos); break; + case vtos: // This might be a constructor. Final fields (and volatile fields on PPC64) need + // to get visible before the reference to the object gets stored anywhere. + __ membar(Assembler::StoreStore); break; + default : ShouldNotReachHere(); + } + __ blr(); + + return entry; +} // end of ForceEarlyReturn support + +//----------------------------------------------------------------------------- +// Helper for vtos entry point generation + +void TemplateInterpreterGenerator::set_vtos_entry_points(Template* t, + address& bep, + address& cep, + address& sep, + address& aep, + address& iep, + address& lep, + address& fep, + address& dep, + address& vep) { + assert(t->is_valid() && t->tos_in() == vtos, "illegal template"); + Label L; + + aep = __ pc(); __ push_ptr(); __ b(L); + fep = __ pc(); __ push_f(); __ b(L); + dep = __ pc(); __ push_d(); __ b(L); + lep = __ pc(); __ push_l(); __ b(L); + __ align(32, 12, 24); // align L + bep = cep = sep = + iep = __ pc(); __ push_i(); + vep = __ pc(); + __ bind(L); + generate_and_dispatch(t); +} + +//----------------------------------------------------------------------------- +// Generation of individual instructions + +// helpers for generate_and_dispatch + +InterpreterGenerator::InterpreterGenerator(StubQueue* code) + : TemplateInterpreterGenerator(code) { + generate_all(); // Down here so it can be "virtual". +} + +//----------------------------------------------------------------------------- + +// Non-product code +#ifndef PRODUCT +address TemplateInterpreterGenerator::generate_trace_code(TosState state) { + //__ flush_bundle(); + address entry = __ pc(); + + char *bname = NULL; + uint tsize = 0; + switch(state) { + case ftos: + bname = "trace_code_ftos {"; + tsize = 2; + break; + case btos: + bname = "trace_code_btos {"; + tsize = 2; + break; + case ctos: + bname = "trace_code_ctos {"; + tsize = 2; + break; + case stos: + bname = "trace_code_stos {"; + tsize = 2; + break; + case itos: + bname = "trace_code_itos {"; + tsize = 2; + break; + case ltos: + bname = "trace_code_ltos {"; + tsize = 3; + break; + case atos: + bname = "trace_code_atos {"; + tsize = 2; + break; + case vtos: + // Note: In case of vtos, the topmost of stack value could be a int or doubl + // In case of a double (2 slots) we won't see the 2nd stack value. + // Maybe we simply should print the topmost 3 stack slots to cope with the problem. + bname = "trace_code_vtos {"; + tsize = 2; + + break; + case dtos: + bname = "trace_code_dtos {"; + tsize = 3; + break; + default: + ShouldNotReachHere(); + } + BLOCK_COMMENT(bname); + + // Support short-cut for TraceBytecodesAt. + // Don't call into the VM if we don't want to trace to speed up things. + Label Lskip_vm_call; + if (TraceBytecodesAt > 0 && TraceBytecodesAt < max_intx) { + int offs1 = __ load_const_optimized(R11_scratch1, (address) &TraceBytecodesAt, R0, true); + int offs2 = __ load_const_optimized(R12_scratch2, (address) &BytecodeCounter::_counter_value, R0, true); + __ ld(R11_scratch1, offs1, R11_scratch1); + __ lwa(R12_scratch2, offs2, R12_scratch2); + __ cmpd(CCR0, R12_scratch2, R11_scratch1); + __ blt(CCR0, Lskip_vm_call); + } + + __ push(state); + // Load 2 topmost expression stack values. + __ ld(R6_ARG4, tsize*Interpreter::stackElementSize, R15_esp); + __ ld(R5_ARG3, Interpreter::stackElementSize, R15_esp); + __ mflr(R31); + __ call_VM(noreg, CAST_FROM_FN_PTR(address, SharedRuntime::trace_bytecode), /* unused */ R4_ARG2, R5_ARG3, R6_ARG4, false); + __ mtlr(R31); + __ pop(state); + + if (TraceBytecodesAt > 0 && TraceBytecodesAt < max_intx) { + __ bind(Lskip_vm_call); + } + __ blr(); + BLOCK_COMMENT("} trace_code"); + return entry; +} + +void TemplateInterpreterGenerator::count_bytecode() { + int offs = __ load_const_optimized(R11_scratch1, (address) &BytecodeCounter::_counter_value, R12_scratch2, true); + __ lwz(R12_scratch2, offs, R11_scratch1); + __ addi(R12_scratch2, R12_scratch2, 1); + __ stw(R12_scratch2, offs, R11_scratch1); +} + +void TemplateInterpreterGenerator::histogram_bytecode(Template* t) { + int offs = __ load_const_optimized(R11_scratch1, (address) &BytecodeHistogram::_counters[t->bytecode()], R12_scratch2, true); + __ lwz(R12_scratch2, offs, R11_scratch1); + __ addi(R12_scratch2, R12_scratch2, 1); + __ stw(R12_scratch2, offs, R11_scratch1); +} + +void TemplateInterpreterGenerator::histogram_bytecode_pair(Template* t) { + const Register addr = R11_scratch1, + tmp = R12_scratch2; + // Get index, shift out old bytecode, bring in new bytecode, and store it. + // _index = (_index >> log2_number_of_codes) | + // (bytecode << log2_number_of_codes); + int offs1 = __ load_const_optimized(addr, (address)&BytecodePairHistogram::_index, tmp, true); + __ lwz(tmp, offs1, addr); + __ srwi(tmp, tmp, BytecodePairHistogram::log2_number_of_codes); + __ ori(tmp, tmp, ((int) t->bytecode()) << BytecodePairHistogram::log2_number_of_codes); + __ stw(tmp, offs1, addr); + + // Bump bucket contents. + // _counters[_index] ++; + int offs2 = __ load_const_optimized(addr, (address)&BytecodePairHistogram::_counters, R0, true); + __ sldi(tmp, tmp, LogBytesPerInt); + __ add(addr, tmp, addr); + __ lwz(tmp, offs2, addr); + __ addi(tmp, tmp, 1); + __ stw(tmp, offs2, addr); +} + +void TemplateInterpreterGenerator::trace_bytecode(Template* t) { + // Call a little run-time stub to avoid blow-up for each bytecode. + // The run-time runtime saves the right registers, depending on + // the tosca in-state for the given template. + + assert(Interpreter::trace_code(t->tos_in()) != NULL, + "entry must have been generated"); + + // Note: we destroy LR here. + __ bl(Interpreter::trace_code(t->tos_in())); +} + +void TemplateInterpreterGenerator::stop_interpreter_at() { + Label L; + int offs1 = __ load_const_optimized(R11_scratch1, (address) &StopInterpreterAt, R0, true); + int offs2 = __ load_const_optimized(R12_scratch2, (address) &BytecodeCounter::_counter_value, R0, true); + __ ld(R11_scratch1, offs1, R11_scratch1); + __ lwa(R12_scratch2, offs2, R12_scratch2); + __ cmpd(CCR0, R12_scratch2, R11_scratch1); + __ bne(CCR0, L); + __ illtrap(); + __ bind(L); +} + +#endif // !PRODUCT +#endif // !CC_INTERP diff --git a/langtools/test/tools/javac/ConditionalClass.java b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.hpp similarity index 63% rename from langtools/test/tools/javac/ConditionalClass.java rename to hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.hpp index 4628e4f3b3f..eb817b0a256 100644 --- a/langtools/test/tools/javac/ConditionalClass.java +++ b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.hpp @@ -1,5 +1,6 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright 2013, 2014 SAP AG. 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 @@ -19,31 +20,22 @@ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. - */ - -/* - * @test - * @bug 4949627 - * @summary javac crashes on code for new rule for semantics of ? without -source 1.5 - * @author gafter * - * @compile -source 1.4 ConditionalClass.java */ -package conditional.clazz; +#ifndef CPU_PPC_VM_TEMPLATEINTERPRETER_PPC_HPP +#define CPU_PPC_VM_TEMPLATEINTERPRETER_PPC_HPP -class A{} -class B{} + protected: + + // Size of interpreter code. Increase if too small. Interpreter will + // fail with a guarantee ("not enough space for interpreter generation"); + // if too small. + // Run with +PrintInterpreter to get the VM to print out the size. + // Max size with JVMTI + + const static int InterpreterCodeSize = 210*K; + +#endif // CPU_PPC_VM_TEMPLATEINTERPRETER_PPC_HPP -public class ConditionalClass { - void foo(){ - boolean b = false; - Class a = b ? A.class : B.class; - System.out.println("a is " + a.getName()); - } - public static void main(String[] args) - { - new ConditionalClass().foo(); - } -} diff --git a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp new file mode 100644 index 00000000000..e7846bc2859 --- /dev/null +++ b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp @@ -0,0 +1,4082 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright 2013, 2014 SAP AG. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#include "precompiled.hpp" +#include "asm/macroAssembler.inline.hpp" +#include "interpreter/interpreter.hpp" +#include "interpreter/interpreterRuntime.hpp" +#include "interpreter/templateInterpreter.hpp" +#include "interpreter/templateTable.hpp" +#include "memory/universe.inline.hpp" +#include "oops/objArrayKlass.hpp" +#include "oops/oop.inline.hpp" +#include "prims/methodHandles.hpp" +#include "runtime/sharedRuntime.hpp" +#include "runtime/stubRoutines.hpp" +#include "runtime/synchronizer.hpp" +#include "utilities/macros.hpp" + +#ifndef CC_INTERP + +#undef __ +#define __ _masm-> + +// ============================================================================ +// Misc helpers + +// Do an oop store like *(base + index) = val OR *(base + offset) = val +// (only one of both variants is possible at the same time). +// Index can be noreg. +// Kills: +// Rbase, Rtmp +static void do_oop_store(InterpreterMacroAssembler* _masm, + Register Rbase, + RegisterOrConstant offset, + Register Rval, // Noreg means always null. + Register Rtmp1, + Register Rtmp2, + Register Rtmp3, + BarrierSet::Name barrier, + bool precise, + bool check_null) { + assert_different_registers(Rtmp1, Rtmp2, Rtmp3, Rval, Rbase); + + switch (barrier) { +#ifndef SERIALGC + case BarrierSet::G1SATBCT: + case BarrierSet::G1SATBCTLogging: + { + // Load and record the previous value. + __ g1_write_barrier_pre(Rbase, offset, + Rtmp3, /* holder of pre_val ? */ + Rtmp1, Rtmp2, false /* frame */); + + Label Lnull, Ldone; + if (Rval != noreg) { + if (check_null) { + __ cmpdi(CCR0, Rval, 0); + __ beq(CCR0, Lnull); + } + __ store_heap_oop_not_null(Rval, offset, Rbase, /*Rval must stay uncompressed.*/ Rtmp1); + // Mark the card. + if (!(offset.is_constant() && offset.as_constant() == 0) && precise) { + __ add(Rbase, offset, Rbase); + } + __ g1_write_barrier_post(Rbase, Rval, Rtmp1, Rtmp2, Rtmp3, /*filtered (fast path)*/ &Ldone); + if (check_null) { __ b(Ldone); } + } + + if (Rval == noreg || check_null) { // Store null oop. + Register Rnull = Rval; + __ bind(Lnull); + if (Rval == noreg) { + Rnull = Rtmp1; + __ li(Rnull, 0); + } + if (UseCompressedOops) { + __ stw(Rnull, offset, Rbase); + } else { + __ std(Rnull, offset, Rbase); + } + } + __ bind(Ldone); + } + break; +#endif // SERIALGC + case BarrierSet::CardTableModRef: + case BarrierSet::CardTableExtension: + { + Label Lnull, Ldone; + if (Rval != noreg) { + if (check_null) { + __ cmpdi(CCR0, Rval, 0); + __ beq(CCR0, Lnull); + } + __ store_heap_oop_not_null(Rval, offset, Rbase, /*Rval should better stay uncompressed.*/ Rtmp1); + // Mark the card. + if (!(offset.is_constant() && offset.as_constant() == 0) && precise) { + __ add(Rbase, offset, Rbase); + } + __ card_write_barrier_post(Rbase, Rval, Rtmp1); + if (check_null) { + __ b(Ldone); + } + } + + if (Rval == noreg || check_null) { // Store null oop. + Register Rnull = Rval; + __ bind(Lnull); + if (Rval == noreg) { + Rnull = Rtmp1; + __ li(Rnull, 0); + } + if (UseCompressedOops) { + __ stw(Rnull, offset, Rbase); + } else { + __ std(Rnull, offset, Rbase); + } + } + __ bind(Ldone); + } + break; + case BarrierSet::ModRef: + case BarrierSet::Other: + ShouldNotReachHere(); + break; + default: + ShouldNotReachHere(); + } +} + +// ============================================================================ +// Platform-dependent initialization + +void TemplateTable::pd_initialize() { + // No ppc64 specific initialization. +} + +Address TemplateTable::at_bcp(int offset) { + // Not used on ppc. + ShouldNotReachHere(); + return Address(); +} + +// Patches the current bytecode (ptr to it located in bcp) +// in the bytecode stream with a new one. +void TemplateTable::patch_bytecode(Bytecodes::Code new_bc, Register Rnew_bc, Register Rtemp, bool load_bc_into_bc_reg /*=true*/, int byte_no) { + // With sharing on, may need to test method flag. + if (!RewriteBytecodes) return; + Label L_patch_done; + + switch (new_bc) { + case Bytecodes::_fast_aputfield: + case Bytecodes::_fast_bputfield: + case Bytecodes::_fast_cputfield: + case Bytecodes::_fast_dputfield: + case Bytecodes::_fast_fputfield: + case Bytecodes::_fast_iputfield: + case Bytecodes::_fast_lputfield: + case Bytecodes::_fast_sputfield: + { + // We skip bytecode quickening for putfield instructions when + // the put_code written to the constant pool cache is zero. + // This is required so that every execution of this instruction + // calls out to InterpreterRuntime::resolve_get_put to do + // additional, required work. + assert(byte_no == f1_byte || byte_no == f2_byte, "byte_no out of range"); + assert(load_bc_into_bc_reg, "we use bc_reg as temp"); + __ get_cache_and_index_at_bcp(Rtemp /* dst = cache */, 1); + // Big Endian: ((*(cache+indices))>>((1+byte_no)*8))&0xFF + __ lbz(Rnew_bc, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::indices_offset()) + 7 - (1 + byte_no), Rtemp); + __ cmpwi(CCR0, Rnew_bc, 0); + __ li(Rnew_bc, (unsigned int)(unsigned char)new_bc); + __ beq(CCR0, L_patch_done); + // __ isync(); // acquire not needed + break; + } + + default: + assert(byte_no == -1, "sanity"); + if (load_bc_into_bc_reg) { + __ li(Rnew_bc, (unsigned int)(unsigned char)new_bc); + } + } + + if (JvmtiExport::can_post_breakpoint()) { + Label L_fast_patch; + __ lbz(Rtemp, 0, R14_bcp); + __ cmpwi(CCR0, Rtemp, (unsigned int)(unsigned char)Bytecodes::_breakpoint); + __ bne(CCR0, L_fast_patch); + // Perform the quickening, slowly, in the bowels of the breakpoint table. + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::set_original_bytecode_at), R19_method, R14_bcp, Rnew_bc); + __ b(L_patch_done); + __ bind(L_fast_patch); + } + + // Patch bytecode. + __ stb(Rnew_bc, 0, R14_bcp); + + __ bind(L_patch_done); +} + +// ============================================================================ +// Individual instructions + +void TemplateTable::nop() { + transition(vtos, vtos); + // Nothing to do. +} + +void TemplateTable::shouldnotreachhere() { + transition(vtos, vtos); + __ stop("shouldnotreachhere bytecode"); +} + +void TemplateTable::aconst_null() { + transition(vtos, atos); + __ li(R17_tos, 0); +} + +void TemplateTable::iconst(int value) { + transition(vtos, itos); + assert(value >= -1 && value <= 5, ""); + __ li(R17_tos, value); +} + +void TemplateTable::lconst(int value) { + transition(vtos, ltos); + assert(value >= -1 && value <= 5, ""); + __ li(R17_tos, value); +} + +void TemplateTable::fconst(int value) { + transition(vtos, ftos); + static float zero = 0.0; + static float one = 1.0; + static float two = 2.0; + switch (value) { + default: ShouldNotReachHere(); + case 0: { + int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&zero, R0); + __ lfs(F15_ftos, simm16_offset, R11_scratch1); + break; + } + case 1: { + int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&one, R0); + __ lfs(F15_ftos, simm16_offset, R11_scratch1); + break; + } + case 2: { + int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&two, R0); + __ lfs(F15_ftos, simm16_offset, R11_scratch1); + break; + } + } +} + +void TemplateTable::dconst(int value) { + transition(vtos, dtos); + static double zero = 0.0; + static double one = 1.0; + switch (value) { + case 0: { + int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&zero, R0); + __ lfd(F15_ftos, simm16_offset, R11_scratch1); + break; + } + case 1: { + int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&one, R0); + __ lfd(F15_ftos, simm16_offset, R11_scratch1); + break; + } + default: ShouldNotReachHere(); + } +} + +void TemplateTable::bipush() { + transition(vtos, itos); + __ lbz(R17_tos, 1, R14_bcp); + __ extsb(R17_tos, R17_tos); +} + +void TemplateTable::sipush() { + transition(vtos, itos); + __ get_2_byte_integer_at_bcp(1, R17_tos, InterpreterMacroAssembler::Signed); +} + +void TemplateTable::ldc(bool wide) { + Register Rscratch1 = R11_scratch1, + Rscratch2 = R12_scratch2, + Rcpool = R3_ARG1; + + transition(vtos, vtos); + Label notInt, notClass, exit; + + __ get_cpool_and_tags(Rcpool, Rscratch2); // Set Rscratch2 = &tags. + if (wide) { // Read index. + __ get_2_byte_integer_at_bcp(1, Rscratch1, InterpreterMacroAssembler::Unsigned); + } else { + __ lbz(Rscratch1, 1, R14_bcp); + } + + const int base_offset = ConstantPool::header_size() * wordSize; + const int tags_offset = Array::base_offset_in_bytes(); + + // Get type from tags. + __ addi(Rscratch2, Rscratch2, tags_offset); + __ lbzx(Rscratch2, Rscratch2, Rscratch1); + + __ cmpwi(CCR0, Rscratch2, JVM_CONSTANT_UnresolvedClass); // Unresolved class? + __ cmpwi(CCR1, Rscratch2, JVM_CONSTANT_UnresolvedClassInError); // Unresolved class in error state? + __ cror(/*CR0 eq*/2, /*CR1 eq*/4+2, /*CR0 eq*/2); + + // Resolved class - need to call vm to get java mirror of the class. + __ cmpwi(CCR1, Rscratch2, JVM_CONSTANT_Class); + __ crnor(/*CR0 eq*/2, /*CR1 eq*/4+2, /*CR0 eq*/2); // Neither resolved class nor unresolved case from above? + __ beq(CCR0, notClass); + + __ li(R4, wide ? 1 : 0); + call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::ldc), R4); + __ push(atos); + __ b(exit); + + __ align(32, 12); + __ bind(notClass); + __ addi(Rcpool, Rcpool, base_offset); + __ sldi(Rscratch1, Rscratch1, LogBytesPerWord); + __ cmpdi(CCR0, Rscratch2, JVM_CONSTANT_Integer); + __ bne(CCR0, notInt); + __ isync(); // Order load of constant wrt. tags. + __ lwax(R17_tos, Rcpool, Rscratch1); + __ push(itos); + __ b(exit); + + __ align(32, 12); + __ bind(notInt); +#ifdef ASSERT + // String and Object are rewritten to fast_aldc + __ cmpdi(CCR0, Rscratch2, JVM_CONSTANT_Float); + __ asm_assert_eq("unexpected type", 0x8765); +#endif + __ isync(); // Order load of constant wrt. tags. + __ lfsx(F15_ftos, Rcpool, Rscratch1); + __ push(ftos); + + __ align(32, 12); + __ bind(exit); +} + +// Fast path for caching oop constants. +void TemplateTable::fast_aldc(bool wide) { + transition(vtos, atos); + + int index_size = wide ? sizeof(u2) : sizeof(u1); + const Register Rscratch = R11_scratch1; + Label resolved; + + // We are resolved if the resolved reference cache entry contains a + // non-null object (CallSite, etc.) + __ get_cache_index_at_bcp(Rscratch, 1, index_size); // Load index. + __ load_resolved_reference_at_index(R17_tos, Rscratch); + __ cmpdi(CCR0, R17_tos, 0); + __ bne(CCR0, resolved); + __ load_const_optimized(R3_ARG1, (int)bytecode()); + + address entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_ldc); + + // First time invocation - must resolve first. + __ call_VM(R17_tos, entry, R3_ARG1); + + __ align(32, 12); + __ bind(resolved); + __ verify_oop(R17_tos); +} + +void TemplateTable::ldc2_w() { + transition(vtos, vtos); + Label Llong, Lexit; + + Register Rindex = R11_scratch1, + Rcpool = R12_scratch2, + Rtag = R3_ARG1; + __ get_cpool_and_tags(Rcpool, Rtag); + __ get_2_byte_integer_at_bcp(1, Rindex, InterpreterMacroAssembler::Unsigned); + + const int base_offset = ConstantPool::header_size() * wordSize; + const int tags_offset = Array::base_offset_in_bytes(); + // Get type from tags. + __ addi(Rcpool, Rcpool, base_offset); + __ addi(Rtag, Rtag, tags_offset); + + __ lbzx(Rtag, Rtag, Rindex); + + __ sldi(Rindex, Rindex, LogBytesPerWord); + __ cmpdi(CCR0, Rtag, JVM_CONSTANT_Double); + __ bne(CCR0, Llong); + // A double can be placed at word-aligned locations in the constant pool. + // Check out Conversions.java for an example. + // Also ConstantPool::header_size() is 20, which makes it very difficult + // to double-align double on the constant pool. SG, 11/7/97 + __ isync(); // Order load of constant wrt. tags. + __ lfdx(F15_ftos, Rcpool, Rindex); + __ push(dtos); + __ b(Lexit); + + __ bind(Llong); + __ isync(); // Order load of constant wrt. tags. + __ ldx(R17_tos, Rcpool, Rindex); + __ push(ltos); + + __ bind(Lexit); +} + +// Get the locals index located in the bytecode stream at bcp + offset. +void TemplateTable::locals_index(Register Rdst, int offset) { + __ lbz(Rdst, offset, R14_bcp); +} + +void TemplateTable::iload() { + transition(vtos, itos); + + // Get the local value into tos + const Register Rindex = R22_tmp2; + locals_index(Rindex); + + // Rewrite iload,iload pair into fast_iload2 + // iload,caload pair into fast_icaload + if (RewriteFrequentPairs) { + Label Lrewrite, Ldone; + Register Rnext_byte = R3_ARG1, + Rrewrite_to = R6_ARG4, + Rscratch = R11_scratch1; + + // get next byte + __ lbz(Rnext_byte, Bytecodes::length_for(Bytecodes::_iload), R14_bcp); + + // if _iload, wait to rewrite to iload2. We only want to rewrite the + // last two iloads in a pair. Comparing against fast_iload means that + // the next bytecode is neither an iload or a caload, and therefore + // an iload pair. + __ cmpwi(CCR0, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_iload); + __ beq(CCR0, Ldone); + + __ cmpwi(CCR1, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_fast_iload); + __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_iload2); + __ beq(CCR1, Lrewrite); + + __ cmpwi(CCR0, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_caload); + __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_icaload); + __ beq(CCR0, Lrewrite); + + __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_iload); + + __ bind(Lrewrite); + patch_bytecode(Bytecodes::_iload, Rrewrite_to, Rscratch, false); + __ bind(Ldone); + } + + __ load_local_int(R17_tos, Rindex, Rindex); +} + +// Load 2 integers in a row without dispatching +void TemplateTable::fast_iload2() { + transition(vtos, itos); + + __ lbz(R3_ARG1, 1, R14_bcp); + __ lbz(R17_tos, Bytecodes::length_for(Bytecodes::_iload) + 1, R14_bcp); + + __ load_local_int(R3_ARG1, R11_scratch1, R3_ARG1); + __ load_local_int(R17_tos, R12_scratch2, R17_tos); + __ push_i(R3_ARG1); +} + +void TemplateTable::fast_iload() { + transition(vtos, itos); + // Get the local value into tos + + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ load_local_int(R17_tos, Rindex, Rindex); +} + +// Load a local variable type long from locals area to TOS cache register. +// Local index resides in bytecodestream. +void TemplateTable::lload() { + transition(vtos, ltos); + + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ load_local_long(R17_tos, Rindex, Rindex); +} + +void TemplateTable::fload() { + transition(vtos, ftos); + + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ load_local_float(F15_ftos, Rindex, Rindex); +} + +void TemplateTable::dload() { + transition(vtos, dtos); + + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ load_local_double(F15_ftos, Rindex, Rindex); +} + +void TemplateTable::aload() { + transition(vtos, atos); + + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ load_local_ptr(R17_tos, Rindex, Rindex); +} + +void TemplateTable::locals_index_wide(Register Rdst) { + // Offset is 2, not 1, because Lbcp points to wide prefix code. + __ get_2_byte_integer_at_bcp(2, Rdst, InterpreterMacroAssembler::Unsigned); +} + +void TemplateTable::wide_iload() { + // Get the local value into tos. + + const Register Rindex = R11_scratch1; + locals_index_wide(Rindex); + __ load_local_int(R17_tos, Rindex, Rindex); +} + +void TemplateTable::wide_lload() { + transition(vtos, ltos); + + const Register Rindex = R11_scratch1; + locals_index_wide(Rindex); + __ load_local_long(R17_tos, Rindex, Rindex); +} + +void TemplateTable::wide_fload() { + transition(vtos, ftos); + + const Register Rindex = R11_scratch1; + locals_index_wide(Rindex); + __ load_local_float(F15_ftos, Rindex, Rindex); +} + +void TemplateTable::wide_dload() { + transition(vtos, dtos); + + const Register Rindex = R11_scratch1; + locals_index_wide(Rindex); + __ load_local_double(F15_ftos, Rindex, Rindex); +} + +void TemplateTable::wide_aload() { + transition(vtos, atos); + + const Register Rindex = R11_scratch1; + locals_index_wide(Rindex); + __ load_local_ptr(R17_tos, Rindex, Rindex); +} + +void TemplateTable::iaload() { + transition(itos, itos); + + const Register Rload_addr = R3_ARG1, + Rarray = R4_ARG2, + Rtemp = R5_ARG3; + __ index_check(Rarray, R17_tos /* index */, LogBytesPerInt, Rtemp, Rload_addr); + __ lwa(R17_tos, arrayOopDesc::base_offset_in_bytes(T_INT), Rload_addr); +} + +void TemplateTable::laload() { + transition(itos, ltos); + + const Register Rload_addr = R3_ARG1, + Rarray = R4_ARG2, + Rtemp = R5_ARG3; + __ index_check(Rarray, R17_tos /* index */, LogBytesPerLong, Rtemp, Rload_addr); + __ ld(R17_tos, arrayOopDesc::base_offset_in_bytes(T_LONG), Rload_addr); +} + +void TemplateTable::faload() { + transition(itos, ftos); + + const Register Rload_addr = R3_ARG1, + Rarray = R4_ARG2, + Rtemp = R5_ARG3; + __ index_check(Rarray, R17_tos /* index */, LogBytesPerInt, Rtemp, Rload_addr); + __ lfs(F15_ftos, arrayOopDesc::base_offset_in_bytes(T_FLOAT), Rload_addr); +} + +void TemplateTable::daload() { + transition(itos, dtos); + + const Register Rload_addr = R3_ARG1, + Rarray = R4_ARG2, + Rtemp = R5_ARG3; + __ index_check(Rarray, R17_tos /* index */, LogBytesPerLong, Rtemp, Rload_addr); + __ lfd(F15_ftos, arrayOopDesc::base_offset_in_bytes(T_DOUBLE), Rload_addr); +} + +void TemplateTable::aaload() { + transition(itos, atos); + + // tos: index + // result tos: array + const Register Rload_addr = R3_ARG1, + Rarray = R4_ARG2, + Rtemp = R5_ARG3; + __ index_check(Rarray, R17_tos /* index */, UseCompressedOops ? 2 : LogBytesPerWord, Rtemp, Rload_addr); + __ load_heap_oop(R17_tos, arrayOopDesc::base_offset_in_bytes(T_OBJECT), Rload_addr); + __ verify_oop(R17_tos); + //__ dcbt(R17_tos); // prefetch +} + +void TemplateTable::baload() { + transition(itos, itos); + + const Register Rload_addr = R3_ARG1, + Rarray = R4_ARG2, + Rtemp = R5_ARG3; + __ index_check(Rarray, R17_tos /* index */, 0, Rtemp, Rload_addr); + __ lbz(R17_tos, arrayOopDesc::base_offset_in_bytes(T_BYTE), Rload_addr); + __ extsb(R17_tos, R17_tos); +} + +void TemplateTable::caload() { + transition(itos, itos); + + const Register Rload_addr = R3_ARG1, + Rarray = R4_ARG2, + Rtemp = R5_ARG3; + __ index_check(Rarray, R17_tos /* index */, LogBytesPerShort, Rtemp, Rload_addr); + __ lhz(R17_tos, arrayOopDesc::base_offset_in_bytes(T_CHAR), Rload_addr); +} + +// Iload followed by caload frequent pair. +void TemplateTable::fast_icaload() { + transition(vtos, itos); + + const Register Rload_addr = R3_ARG1, + Rarray = R4_ARG2, + Rtemp = R11_scratch1; + + locals_index(R17_tos); + __ load_local_int(R17_tos, Rtemp, R17_tos); + __ index_check(Rarray, R17_tos /* index */, LogBytesPerShort, Rtemp, Rload_addr); + __ lhz(R17_tos, arrayOopDesc::base_offset_in_bytes(T_CHAR), Rload_addr); +} + +void TemplateTable::saload() { + transition(itos, itos); + + const Register Rload_addr = R11_scratch1, + Rarray = R12_scratch2, + Rtemp = R3_ARG1; + __ index_check(Rarray, R17_tos /* index */, LogBytesPerShort, Rtemp, Rload_addr); + __ lha(R17_tos, arrayOopDesc::base_offset_in_bytes(T_SHORT), Rload_addr); +} + +void TemplateTable::iload(int n) { + transition(vtos, itos); + + __ lwz(R17_tos, Interpreter::local_offset_in_bytes(n), R18_locals); +} + +void TemplateTable::lload(int n) { + transition(vtos, ltos); + + __ ld(R17_tos, Interpreter::local_offset_in_bytes(n + 1), R18_locals); +} + +void TemplateTable::fload(int n) { + transition(vtos, ftos); + + __ lfs(F15_ftos, Interpreter::local_offset_in_bytes(n), R18_locals); +} + +void TemplateTable::dload(int n) { + transition(vtos, dtos); + + __ lfd(F15_ftos, Interpreter::local_offset_in_bytes(n + 1), R18_locals); +} + +void TemplateTable::aload(int n) { + transition(vtos, atos); + + __ ld(R17_tos, Interpreter::local_offset_in_bytes(n), R18_locals); +} + +void TemplateTable::aload_0() { + transition(vtos, atos); + // According to bytecode histograms, the pairs: + // + // _aload_0, _fast_igetfield + // _aload_0, _fast_agetfield + // _aload_0, _fast_fgetfield + // + // occur frequently. If RewriteFrequentPairs is set, the (slow) + // _aload_0 bytecode checks if the next bytecode is either + // _fast_igetfield, _fast_agetfield or _fast_fgetfield and then + // rewrites the current bytecode into a pair bytecode; otherwise it + // rewrites the current bytecode into _0 that doesn't do + // the pair check anymore. + // + // Note: If the next bytecode is _getfield, the rewrite must be + // delayed, otherwise we may miss an opportunity for a pair. + // + // Also rewrite frequent pairs + // aload_0, aload_1 + // aload_0, iload_1 + // These bytecodes with a small amount of code are most profitable + // to rewrite. + + if (RewriteFrequentPairs) { + + Label Lrewrite, Ldont_rewrite; + Register Rnext_byte = R3_ARG1, + Rrewrite_to = R6_ARG4, + Rscratch = R11_scratch1; + + // Get next byte. + __ lbz(Rnext_byte, Bytecodes::length_for(Bytecodes::_aload_0), R14_bcp); + + // If _getfield, wait to rewrite. We only want to rewrite the last two bytecodes in a pair. + __ cmpwi(CCR0, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_getfield); + __ beq(CCR0, Ldont_rewrite); + + __ cmpwi(CCR1, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_fast_igetfield); + __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_iaccess_0); + __ beq(CCR1, Lrewrite); + + __ cmpwi(CCR0, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_fast_agetfield); + __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_aaccess_0); + __ beq(CCR0, Lrewrite); + + __ cmpwi(CCR1, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_fast_fgetfield); + __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_faccess_0); + __ beq(CCR1, Lrewrite); + + __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_aload_0); + + __ bind(Lrewrite); + patch_bytecode(Bytecodes::_aload_0, Rrewrite_to, Rscratch, false); + __ bind(Ldont_rewrite); + } + + // Do actual aload_0 (must do this after patch_bytecode which might call VM and GC might change oop). + aload(0); +} + +void TemplateTable::istore() { + transition(itos, vtos); + + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ store_local_int(R17_tos, Rindex); +} + +void TemplateTable::lstore() { + transition(ltos, vtos); + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ store_local_long(R17_tos, Rindex); +} + +void TemplateTable::fstore() { + transition(ftos, vtos); + + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ store_local_float(F15_ftos, Rindex); +} + +void TemplateTable::dstore() { + transition(dtos, vtos); + + const Register Rindex = R11_scratch1; + locals_index(Rindex); + __ store_local_double(F15_ftos, Rindex); +} + +void TemplateTable::astore() { + transition(vtos, vtos); + + const Register Rindex = R11_scratch1; + __ pop_ptr(); + __ verify_oop_or_return_address(R17_tos, Rindex); + locals_index(Rindex); + __ store_local_ptr(R17_tos, Rindex); +} + +void TemplateTable::wide_istore() { + transition(vtos, vtos); + + const Register Rindex = R11_scratch1; + __ pop_i(); + locals_index_wide(Rindex); + __ store_local_int(R17_tos, Rindex); +} + +void TemplateTable::wide_lstore() { + transition(vtos, vtos); + + const Register Rindex = R11_scratch1; + __ pop_l(); + locals_index_wide(Rindex); + __ store_local_long(R17_tos, Rindex); +} + +void TemplateTable::wide_fstore() { + transition(vtos, vtos); + + const Register Rindex = R11_scratch1; + __ pop_f(); + locals_index_wide(Rindex); + __ store_local_float(F15_ftos, Rindex); +} + +void TemplateTable::wide_dstore() { + transition(vtos, vtos); + + const Register Rindex = R11_scratch1; + __ pop_d(); + locals_index_wide(Rindex); + __ store_local_double(F15_ftos, Rindex); +} + +void TemplateTable::wide_astore() { + transition(vtos, vtos); + + const Register Rindex = R11_scratch1; + __ pop_ptr(); + __ verify_oop_or_return_address(R17_tos, Rindex); + locals_index_wide(Rindex); + __ store_local_ptr(R17_tos, Rindex); +} + +void TemplateTable::iastore() { + transition(itos, vtos); + + const Register Rindex = R3_ARG1, + Rstore_addr = R4_ARG2, + Rarray = R5_ARG3, + Rtemp = R6_ARG4; + __ pop_i(Rindex); + __ index_check(Rarray, Rindex, LogBytesPerInt, Rtemp, Rstore_addr); + __ stw(R17_tos, arrayOopDesc::base_offset_in_bytes(T_INT), Rstore_addr); + } + +void TemplateTable::lastore() { + transition(ltos, vtos); + + const Register Rindex = R3_ARG1, + Rstore_addr = R4_ARG2, + Rarray = R5_ARG3, + Rtemp = R6_ARG4; + __ pop_i(Rindex); + __ index_check(Rarray, Rindex, LogBytesPerLong, Rtemp, Rstore_addr); + __ std(R17_tos, arrayOopDesc::base_offset_in_bytes(T_LONG), Rstore_addr); + } + +void TemplateTable::fastore() { + transition(ftos, vtos); + + const Register Rindex = R3_ARG1, + Rstore_addr = R4_ARG2, + Rarray = R5_ARG3, + Rtemp = R6_ARG4; + __ pop_i(Rindex); + __ index_check(Rarray, Rindex, LogBytesPerInt, Rtemp, Rstore_addr); + __ stfs(F15_ftos, arrayOopDesc::base_offset_in_bytes(T_FLOAT), Rstore_addr); + } + +void TemplateTable::dastore() { + transition(dtos, vtos); + + const Register Rindex = R3_ARG1, + Rstore_addr = R4_ARG2, + Rarray = R5_ARG3, + Rtemp = R6_ARG4; + __ pop_i(Rindex); + __ index_check(Rarray, Rindex, LogBytesPerLong, Rtemp, Rstore_addr); + __ stfd(F15_ftos, arrayOopDesc::base_offset_in_bytes(T_DOUBLE), Rstore_addr); + } + +// Pop 3 values from the stack and... +void TemplateTable::aastore() { + transition(vtos, vtos); + + Label Lstore_ok, Lis_null, Ldone; + const Register Rindex = R3_ARG1, + Rarray = R4_ARG2, + Rscratch = R11_scratch1, + Rscratch2 = R12_scratch2, + Rarray_klass = R5_ARG3, + Rarray_element_klass = Rarray_klass, + Rvalue_klass = R6_ARG4, + Rstore_addr = R31; // Use register which survives VM call. + + __ ld(R17_tos, Interpreter::expr_offset_in_bytes(0), R15_esp); // Get value to store. + __ lwz(Rindex, Interpreter::expr_offset_in_bytes(1), R15_esp); // Get index. + __ ld(Rarray, Interpreter::expr_offset_in_bytes(2), R15_esp); // Get array. + + __ verify_oop(R17_tos); + __ index_check_without_pop(Rarray, Rindex, UseCompressedOops ? 2 : LogBytesPerWord, Rscratch, Rstore_addr); + // Rindex is dead! + Register Rscratch3 = Rindex; + + // Do array store check - check for NULL value first. + __ cmpdi(CCR0, R17_tos, 0); + __ beq(CCR0, Lis_null); + + __ load_klass(Rarray_klass, Rarray); + __ load_klass(Rvalue_klass, R17_tos); + + // Do fast instanceof cache test. + __ ld(Rarray_element_klass, in_bytes(ObjArrayKlass::element_klass_offset()), Rarray_klass); + + // Generate a fast subtype check. Branch to store_ok if no failure. Throw if failure. + __ gen_subtype_check(Rvalue_klass /*subklass*/, Rarray_element_klass /*superklass*/, Rscratch, Rscratch2, Rscratch3, Lstore_ok); + + // Fell through: subtype check failed => throw an exception. + __ load_dispatch_table(R11_scratch1, (address*)Interpreter::_throw_ArrayStoreException_entry); + __ mtctr(R11_scratch1); + __ bctr(); + + __ bind(Lis_null); + do_oop_store(_masm, Rstore_addr, arrayOopDesc::base_offset_in_bytes(T_OBJECT), noreg /* 0 */, + Rscratch, Rscratch2, Rscratch3, _bs->kind(), true /* precise */, false /* check_null */); + __ profile_null_seen(Rscratch, Rscratch2); + __ b(Ldone); + + // Store is OK. + __ bind(Lstore_ok); + do_oop_store(_masm, Rstore_addr, arrayOopDesc::base_offset_in_bytes(T_OBJECT), R17_tos /* value */, + Rscratch, Rscratch2, Rscratch3, _bs->kind(), true /* precise */, false /* check_null */); + + __ bind(Ldone); + // Adjust sp (pops array, index and value). + __ addi(R15_esp, R15_esp, 3 * Interpreter::stackElementSize); +} + +void TemplateTable::bastore() { + transition(itos, vtos); + + const Register Rindex = R11_scratch1, + Rarray = R12_scratch2, + Rscratch = R3_ARG1; + __ pop_i(Rindex); + // tos: val + // Rarray: array ptr (popped by index_check) + __ index_check(Rarray, Rindex, 0, Rscratch, Rarray); + __ stb(R17_tos, arrayOopDesc::base_offset_in_bytes(T_BYTE), Rarray); +} + +void TemplateTable::castore() { + transition(itos, vtos); + + const Register Rindex = R11_scratch1, + Rarray = R12_scratch2, + Rscratch = R3_ARG1; + __ pop_i(Rindex); + // tos: val + // Rarray: array ptr (popped by index_check) + __ index_check(Rarray, Rindex, LogBytesPerShort, Rscratch, Rarray); + __ sth(R17_tos, arrayOopDesc::base_offset_in_bytes(T_CHAR), Rarray); +} + +void TemplateTable::sastore() { + castore(); +} + +void TemplateTable::istore(int n) { + transition(itos, vtos); + __ stw(R17_tos, Interpreter::local_offset_in_bytes(n), R18_locals); +} + +void TemplateTable::lstore(int n) { + transition(ltos, vtos); + __ std(R17_tos, Interpreter::local_offset_in_bytes(n + 1), R18_locals); +} + +void TemplateTable::fstore(int n) { + transition(ftos, vtos); + __ stfs(F15_ftos, Interpreter::local_offset_in_bytes(n), R18_locals); +} + +void TemplateTable::dstore(int n) { + transition(dtos, vtos); + __ stfd(F15_ftos, Interpreter::local_offset_in_bytes(n + 1), R18_locals); +} + +void TemplateTable::astore(int n) { + transition(vtos, vtos); + + __ pop_ptr(); + __ verify_oop_or_return_address(R17_tos, R11_scratch1); + __ std(R17_tos, Interpreter::local_offset_in_bytes(n), R18_locals); +} + +void TemplateTable::pop() { + transition(vtos, vtos); + + __ addi(R15_esp, R15_esp, Interpreter::stackElementSize); +} + +void TemplateTable::pop2() { + transition(vtos, vtos); + + __ addi(R15_esp, R15_esp, Interpreter::stackElementSize * 2); +} + +void TemplateTable::dup() { + transition(vtos, vtos); + + __ ld(R11_scratch1, Interpreter::stackElementSize, R15_esp); + __ push_ptr(R11_scratch1); +} + +void TemplateTable::dup_x1() { + transition(vtos, vtos); + + Register Ra = R11_scratch1, + Rb = R12_scratch2; + // stack: ..., a, b + __ ld(Rb, Interpreter::stackElementSize, R15_esp); + __ ld(Ra, Interpreter::stackElementSize * 2, R15_esp); + __ std(Rb, Interpreter::stackElementSize * 2, R15_esp); + __ std(Ra, Interpreter::stackElementSize, R15_esp); + __ push_ptr(Rb); + // stack: ..., b, a, b +} + +void TemplateTable::dup_x2() { + transition(vtos, vtos); + + Register Ra = R11_scratch1, + Rb = R12_scratch2, + Rc = R3_ARG1; + + // stack: ..., a, b, c + __ ld(Rc, Interpreter::stackElementSize, R15_esp); // load c + __ ld(Ra, Interpreter::stackElementSize * 3, R15_esp); // load a + __ std(Rc, Interpreter::stackElementSize * 3, R15_esp); // store c in a + __ ld(Rb, Interpreter::stackElementSize * 2, R15_esp); // load b + // stack: ..., c, b, c + __ std(Ra, Interpreter::stackElementSize * 2, R15_esp); // store a in b + // stack: ..., c, a, c + __ std(Rb, Interpreter::stackElementSize, R15_esp); // store b in c + __ push_ptr(Rc); // push c + // stack: ..., c, a, b, c +} + +void TemplateTable::dup2() { + transition(vtos, vtos); + + Register Ra = R11_scratch1, + Rb = R12_scratch2; + // stack: ..., a, b + __ ld(Rb, Interpreter::stackElementSize, R15_esp); + __ ld(Ra, Interpreter::stackElementSize * 2, R15_esp); + __ push_2ptrs(Ra, Rb); + // stack: ..., a, b, a, b +} + +void TemplateTable::dup2_x1() { + transition(vtos, vtos); + + Register Ra = R11_scratch1, + Rb = R12_scratch2, + Rc = R3_ARG1; + // stack: ..., a, b, c + __ ld(Rc, Interpreter::stackElementSize, R15_esp); + __ ld(Rb, Interpreter::stackElementSize * 2, R15_esp); + __ std(Rc, Interpreter::stackElementSize * 2, R15_esp); + __ ld(Ra, Interpreter::stackElementSize * 3, R15_esp); + __ std(Ra, Interpreter::stackElementSize, R15_esp); + __ std(Rb, Interpreter::stackElementSize * 3, R15_esp); + // stack: ..., b, c, a + __ push_2ptrs(Rb, Rc); + // stack: ..., b, c, a, b, c +} + +void TemplateTable::dup2_x2() { + transition(vtos, vtos); + + Register Ra = R11_scratch1, + Rb = R12_scratch2, + Rc = R3_ARG1, + Rd = R4_ARG2; + // stack: ..., a, b, c, d + __ ld(Rb, Interpreter::stackElementSize * 3, R15_esp); + __ ld(Rd, Interpreter::stackElementSize, R15_esp); + __ std(Rb, Interpreter::stackElementSize, R15_esp); // store b in d + __ std(Rd, Interpreter::stackElementSize * 3, R15_esp); // store d in b + __ ld(Ra, Interpreter::stackElementSize * 4, R15_esp); + __ ld(Rc, Interpreter::stackElementSize * 2, R15_esp); + __ std(Ra, Interpreter::stackElementSize * 2, R15_esp); // store a in c + __ std(Rc, Interpreter::stackElementSize * 4, R15_esp); // store c in a + // stack: ..., c, d, a, b + __ push_2ptrs(Rc, Rd); + // stack: ..., c, d, a, b, c, d +} + +void TemplateTable::swap() { + transition(vtos, vtos); + // stack: ..., a, b + + Register Ra = R11_scratch1, + Rb = R12_scratch2; + // stack: ..., a, b + __ ld(Rb, Interpreter::stackElementSize, R15_esp); + __ ld(Ra, Interpreter::stackElementSize * 2, R15_esp); + __ std(Rb, Interpreter::stackElementSize * 2, R15_esp); + __ std(Ra, Interpreter::stackElementSize, R15_esp); + // stack: ..., b, a +} + +void TemplateTable::iop2(Operation op) { + transition(itos, itos); + + Register Rscratch = R11_scratch1; + + __ pop_i(Rscratch); + // tos = number of bits to shift + // Rscratch = value to shift + switch (op) { + case add: __ add(R17_tos, Rscratch, R17_tos); break; + case sub: __ sub(R17_tos, Rscratch, R17_tos); break; + case mul: __ mullw(R17_tos, Rscratch, R17_tos); break; + case _and: __ andr(R17_tos, Rscratch, R17_tos); break; + case _or: __ orr(R17_tos, Rscratch, R17_tos); break; + case _xor: __ xorr(R17_tos, Rscratch, R17_tos); break; + case shl: __ rldicl(R17_tos, R17_tos, 0, 64-5); __ slw(R17_tos, Rscratch, R17_tos); break; + case shr: __ rldicl(R17_tos, R17_tos, 0, 64-5); __ sraw(R17_tos, Rscratch, R17_tos); break; + case ushr: __ rldicl(R17_tos, R17_tos, 0, 64-5); __ srw(R17_tos, Rscratch, R17_tos); break; + default: ShouldNotReachHere(); + } +} + +void TemplateTable::lop2(Operation op) { + transition(ltos, ltos); + + Register Rscratch = R11_scratch1; + __ pop_l(Rscratch); + switch (op) { + case add: __ add(R17_tos, Rscratch, R17_tos); break; + case sub: __ sub(R17_tos, Rscratch, R17_tos); break; + case _and: __ andr(R17_tos, Rscratch, R17_tos); break; + case _or: __ orr(R17_tos, Rscratch, R17_tos); break; + case _xor: __ xorr(R17_tos, Rscratch, R17_tos); break; + default: ShouldNotReachHere(); + } +} + +void TemplateTable::idiv() { + transition(itos, itos); + + Label Lnormal, Lexception, Ldone; + Register Rdividend = R11_scratch1; // Used by irem. + + __ addi(R0, R17_tos, 1); + __ cmplwi(CCR0, R0, 2); + __ bgt(CCR0, Lnormal); // divisor <-1 or >1 + + __ cmpwi(CCR1, R17_tos, 0); + __ beq(CCR1, Lexception); // divisor == 0 + + __ pop_i(Rdividend); + __ mullw(R17_tos, Rdividend, R17_tos); // div by +/-1 + __ b(Ldone); + + __ bind(Lexception); + __ load_dispatch_table(R11_scratch1, (address*)Interpreter::_throw_ArithmeticException_entry); + __ mtctr(R11_scratch1); + __ bctr(); + + __ align(32, 12); + __ bind(Lnormal); + __ pop_i(Rdividend); + __ divw(R17_tos, Rdividend, R17_tos); // Can't divide minint/-1. + __ bind(Ldone); +} + +void TemplateTable::irem() { + transition(itos, itos); + + __ mr(R12_scratch2, R17_tos); + idiv(); + __ mullw(R17_tos, R17_tos, R12_scratch2); + __ subf(R17_tos, R17_tos, R11_scratch1); // Dividend set by idiv. +} + +void TemplateTable::lmul() { + transition(ltos, ltos); + + __ pop_l(R11_scratch1); + __ mulld(R17_tos, R11_scratch1, R17_tos); +} + +void TemplateTable::ldiv() { + transition(ltos, ltos); + + Label Lnormal, Lexception, Ldone; + Register Rdividend = R11_scratch1; // Used by lrem. + + __ addi(R0, R17_tos, 1); + __ cmpldi(CCR0, R0, 2); + __ bgt(CCR0, Lnormal); // divisor <-1 or >1 + + __ cmpdi(CCR1, R17_tos, 0); + __ beq(CCR1, Lexception); // divisor == 0 + + __ pop_l(Rdividend); + __ mulld(R17_tos, Rdividend, R17_tos); // div by +/-1 + __ b(Ldone); + + __ bind(Lexception); + __ load_dispatch_table(R11_scratch1, (address*)Interpreter::_throw_ArithmeticException_entry); + __ mtctr(R11_scratch1); + __ bctr(); + + __ align(32, 12); + __ bind(Lnormal); + __ pop_l(Rdividend); + __ divd(R17_tos, Rdividend, R17_tos); // Can't divide minint/-1. + __ bind(Ldone); +} + +void TemplateTable::lrem() { + transition(ltos, ltos); + + __ mr(R12_scratch2, R17_tos); + ldiv(); + __ mulld(R17_tos, R17_tos, R12_scratch2); + __ subf(R17_tos, R17_tos, R11_scratch1); // Dividend set by ldiv. +} + +void TemplateTable::lshl() { + transition(itos, ltos); + + __ rldicl(R17_tos, R17_tos, 0, 64-6); // Extract least significant bits. + __ pop_l(R11_scratch1); + __ sld(R17_tos, R11_scratch1, R17_tos); +} + +void TemplateTable::lshr() { + transition(itos, ltos); + + __ rldicl(R17_tos, R17_tos, 0, 64-6); // Extract least significant bits. + __ pop_l(R11_scratch1); + __ srad(R17_tos, R11_scratch1, R17_tos); +} + +void TemplateTable::lushr() { + transition(itos, ltos); + + __ rldicl(R17_tos, R17_tos, 0, 64-6); // Extract least significant bits. + __ pop_l(R11_scratch1); + __ srd(R17_tos, R11_scratch1, R17_tos); +} + +void TemplateTable::fop2(Operation op) { + transition(ftos, ftos); + + switch (op) { + case add: __ pop_f(F0_SCRATCH); __ fadds(F15_ftos, F0_SCRATCH, F15_ftos); break; + case sub: __ pop_f(F0_SCRATCH); __ fsubs(F15_ftos, F0_SCRATCH, F15_ftos); break; + case mul: __ pop_f(F0_SCRATCH); __ fmuls(F15_ftos, F0_SCRATCH, F15_ftos); break; + case div: __ pop_f(F0_SCRATCH); __ fdivs(F15_ftos, F0_SCRATCH, F15_ftos); break; + case rem: + __ pop_f(F1_ARG1); + __ fmr(F2_ARG2, F15_ftos); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::frem)); + __ fmr(F15_ftos, F1_RET); + break; + + default: ShouldNotReachHere(); + } +} + +void TemplateTable::dop2(Operation op) { + transition(dtos, dtos); + + switch (op) { + case add: __ pop_d(F0_SCRATCH); __ fadd(F15_ftos, F0_SCRATCH, F15_ftos); break; + case sub: __ pop_d(F0_SCRATCH); __ fsub(F15_ftos, F0_SCRATCH, F15_ftos); break; + case mul: __ pop_d(F0_SCRATCH); __ fmul(F15_ftos, F0_SCRATCH, F15_ftos); break; + case div: __ pop_d(F0_SCRATCH); __ fdiv(F15_ftos, F0_SCRATCH, F15_ftos); break; + case rem: + __ pop_d(F1_ARG1); + __ fmr(F2_ARG2, F15_ftos); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::drem)); + __ fmr(F15_ftos, F1_RET); + break; + + default: ShouldNotReachHere(); + } +} + +// Negate the value in the TOS cache. +void TemplateTable::ineg() { + transition(itos, itos); + + __ neg(R17_tos, R17_tos); +} + +// Negate the value in the TOS cache. +void TemplateTable::lneg() { + transition(ltos, ltos); + + __ neg(R17_tos, R17_tos); +} + +void TemplateTable::fneg() { + transition(ftos, ftos); + + __ fneg(F15_ftos, F15_ftos); +} + +void TemplateTable::dneg() { + transition(dtos, dtos); + + __ fneg(F15_ftos, F15_ftos); +} + +// Increments a local variable in place. +void TemplateTable::iinc() { + transition(vtos, vtos); + + const Register Rindex = R11_scratch1, + Rincrement = R0, + Rvalue = R12_scratch2; + + locals_index(Rindex); // Load locals index from bytecode stream. + __ lbz(Rincrement, 2, R14_bcp); // Load increment from the bytecode stream. + __ extsb(Rincrement, Rincrement); + + __ load_local_int(Rvalue, Rindex, Rindex); // Puts address of local into Rindex. + + __ add(Rvalue, Rincrement, Rvalue); + __ stw(Rvalue, 0, Rindex); +} + +void TemplateTable::wide_iinc() { + transition(vtos, vtos); + + Register Rindex = R11_scratch1, + Rlocals_addr = Rindex, + Rincr = R12_scratch2; + locals_index_wide(Rindex); + __ get_2_byte_integer_at_bcp(4, Rincr, InterpreterMacroAssembler::Signed); + __ load_local_int(R17_tos, Rlocals_addr, Rindex); + __ add(R17_tos, Rincr, R17_tos); + __ stw(R17_tos, 0, Rlocals_addr); +} + +void TemplateTable::convert() { + // %%%%% Factor this first part accross platforms +#ifdef ASSERT + TosState tos_in = ilgl; + TosState tos_out = ilgl; + switch (bytecode()) { + case Bytecodes::_i2l: // fall through + case Bytecodes::_i2f: // fall through + case Bytecodes::_i2d: // fall through + case Bytecodes::_i2b: // fall through + case Bytecodes::_i2c: // fall through + case Bytecodes::_i2s: tos_in = itos; break; + case Bytecodes::_l2i: // fall through + case Bytecodes::_l2f: // fall through + case Bytecodes::_l2d: tos_in = ltos; break; + case Bytecodes::_f2i: // fall through + case Bytecodes::_f2l: // fall through + case Bytecodes::_f2d: tos_in = ftos; break; + case Bytecodes::_d2i: // fall through + case Bytecodes::_d2l: // fall through + case Bytecodes::_d2f: tos_in = dtos; break; + default : ShouldNotReachHere(); + } + switch (bytecode()) { + case Bytecodes::_l2i: // fall through + case Bytecodes::_f2i: // fall through + case Bytecodes::_d2i: // fall through + case Bytecodes::_i2b: // fall through + case Bytecodes::_i2c: // fall through + case Bytecodes::_i2s: tos_out = itos; break; + case Bytecodes::_i2l: // fall through + case Bytecodes::_f2l: // fall through + case Bytecodes::_d2l: tos_out = ltos; break; + case Bytecodes::_i2f: // fall through + case Bytecodes::_l2f: // fall through + case Bytecodes::_d2f: tos_out = ftos; break; + case Bytecodes::_i2d: // fall through + case Bytecodes::_l2d: // fall through + case Bytecodes::_f2d: tos_out = dtos; break; + default : ShouldNotReachHere(); + } + transition(tos_in, tos_out); +#endif + + // Conversion + Label done; + switch (bytecode()) { + case Bytecodes::_i2l: + __ extsw(R17_tos, R17_tos); + break; + + case Bytecodes::_l2i: + // Nothing to do, we'll continue to work with the lower bits. + break; + + case Bytecodes::_i2b: + __ extsb(R17_tos, R17_tos); + break; + + case Bytecodes::_i2c: + __ rldicl(R17_tos, R17_tos, 0, 64-2*8); + break; + + case Bytecodes::_i2s: + __ extsh(R17_tos, R17_tos); + break; + + case Bytecodes::_i2d: + __ extsw(R17_tos, R17_tos); + case Bytecodes::_l2d: + __ push_l_pop_d(); + __ fcfid(F15_ftos, F15_ftos); + break; + + case Bytecodes::_i2f: + __ extsw(R17_tos, R17_tos); + __ push_l_pop_d(); + if (VM_Version::has_fcfids()) { // fcfids is >= Power7 only + // Comment: alternatively, load with sign extend could be done by lfiwax. + __ fcfids(F15_ftos, F15_ftos); + } else { + __ fcfid(F15_ftos, F15_ftos); + __ frsp(F15_ftos, F15_ftos); + } + break; + + case Bytecodes::_l2f: + if (VM_Version::has_fcfids()) { // fcfids is >= Power7 only + __ push_l_pop_d(); + __ fcfids(F15_ftos, F15_ftos); + } else { + // Avoid rounding problem when result should be 0x3f800001: need fixup code before fcfid+frsp. + __ mr(R3_ARG1, R17_tos); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::l2f)); + __ fmr(F15_ftos, F1_RET); + } + break; + + case Bytecodes::_f2d: + // empty + break; + + case Bytecodes::_d2f: + __ frsp(F15_ftos, F15_ftos); + break; + + case Bytecodes::_d2i: + case Bytecodes::_f2i: + __ fcmpu(CCR0, F15_ftos, F15_ftos); + __ li(R17_tos, 0); // 0 in case of NAN + __ bso(CCR0, done); + __ fctiwz(F15_ftos, F15_ftos); + __ push_d_pop_l(); + break; + + case Bytecodes::_d2l: + case Bytecodes::_f2l: + __ fcmpu(CCR0, F15_ftos, F15_ftos); + __ li(R17_tos, 0); // 0 in case of NAN + __ bso(CCR0, done); + __ fctidz(F15_ftos, F15_ftos); + __ push_d_pop_l(); + break; + + default: ShouldNotReachHere(); + } + __ bind(done); +} + +// Long compare +void TemplateTable::lcmp() { + transition(ltos, itos); + + const Register Rscratch = R11_scratch1; + __ pop_l(Rscratch); // first operand, deeper in stack + + __ cmpd(CCR0, Rscratch, R17_tos); // compare + __ mfcr(R17_tos); // set bit 32..33 as follows: <: 0b10, =: 0b00, >: 0b01 + __ srwi(Rscratch, R17_tos, 30); + __ srawi(R17_tos, R17_tos, 31); + __ orr(R17_tos, Rscratch, R17_tos); // set result as follows: <: -1, =: 0, >: 1 +} + +// fcmpl/fcmpg and dcmpl/dcmpg bytecodes +// unordered_result == -1 => fcmpl or dcmpl +// unordered_result == 1 => fcmpg or dcmpg +void TemplateTable::float_cmp(bool is_float, int unordered_result) { + const FloatRegister Rfirst = F0_SCRATCH, + Rsecond = F15_ftos; + const Register Rscratch = R11_scratch1; + + if (is_float) { + __ pop_f(Rfirst); + } else { + __ pop_d(Rfirst); + } + + Label Lunordered, Ldone; + __ fcmpu(CCR0, Rfirst, Rsecond); // compare + if (unordered_result) { + __ bso(CCR0, Lunordered); + } + __ mfcr(R17_tos); // set bit 32..33 as follows: <: 0b10, =: 0b00, >: 0b01 + __ srwi(Rscratch, R17_tos, 30); + __ srawi(R17_tos, R17_tos, 31); + __ orr(R17_tos, Rscratch, R17_tos); // set result as follows: <: -1, =: 0, >: 1 + if (unordered_result) { + __ b(Ldone); + __ bind(Lunordered); + __ load_const_optimized(R17_tos, unordered_result); + } + __ bind(Ldone); +} + +// Branch_conditional which takes TemplateTable::Condition. +void TemplateTable::branch_conditional(ConditionRegister crx, TemplateTable::Condition cc, Label& L, bool invert) { + bool positive = false; + Assembler::Condition cond = Assembler::equal; + switch (cc) { + case TemplateTable::equal: positive = true ; cond = Assembler::equal ; break; + case TemplateTable::not_equal: positive = false; cond = Assembler::equal ; break; + case TemplateTable::less: positive = true ; cond = Assembler::less ; break; + case TemplateTable::less_equal: positive = false; cond = Assembler::greater; break; + case TemplateTable::greater: positive = true ; cond = Assembler::greater; break; + case TemplateTable::greater_equal: positive = false; cond = Assembler::less ; break; + default: ShouldNotReachHere(); + } + int bo = (positive != invert) ? Assembler::bcondCRbiIs1 : Assembler::bcondCRbiIs0; + int bi = Assembler::bi0(crx, cond); + __ bc(bo, bi, L); +} + +void TemplateTable::branch(bool is_jsr, bool is_wide) { + + // Note: on SPARC, we use InterpreterMacroAssembler::if_cmp also. + __ verify_thread(); + + const Register Rscratch1 = R11_scratch1, + Rscratch2 = R12_scratch2, + Rscratch3 = R3_ARG1, + R4_counters = R4_ARG2, + bumped_count = R31, + Rdisp = R22_tmp2; + + __ profile_taken_branch(Rscratch1, bumped_count); + + // Get (wide) offset. + if (is_wide) { + __ get_4_byte_integer_at_bcp(1, Rdisp, InterpreterMacroAssembler::Signed); + } else { + __ get_2_byte_integer_at_bcp(1, Rdisp, InterpreterMacroAssembler::Signed); + } + + // -------------------------------------------------------------------------- + // Handle all the JSR stuff here, then exit. + // It's much shorter and cleaner than intermingling with the + // non-JSR normal-branch stuff occurring below. + if (is_jsr) { + // Compute return address as bci in Otos_i. + __ ld(Rscratch1, in_bytes(Method::const_offset()), R19_method); + __ addi(Rscratch2, R14_bcp, -in_bytes(ConstMethod::codes_offset()) + (is_wide ? 5 : 3)); + __ subf(R17_tos, Rscratch1, Rscratch2); + + // Bump bcp to target of JSR. + __ add(R14_bcp, Rdisp, R14_bcp); + // Push returnAddress for "ret" on stack. + __ push_ptr(R17_tos); + // And away we go! + __ dispatch_next(vtos); + return; + } + + // -------------------------------------------------------------------------- + // Normal (non-jsr) branch handling + + const bool increment_invocation_counter_for_backward_branches = UseCompiler && UseLoopCounter; + if (increment_invocation_counter_for_backward_branches) { + //__ unimplemented("branch invocation counter"); + + Label Lforward; + __ add(R14_bcp, Rdisp, R14_bcp); // Add to bc addr. + + // Check branch direction. + __ cmpdi(CCR0, Rdisp, 0); + __ bgt(CCR0, Lforward); + + __ get_method_counters(R19_method, R4_counters, Lforward); + + if (TieredCompilation) { + Label Lno_mdo, Loverflow; + const int increment = InvocationCounter::count_increment; + const int mask = ((1 << Tier0BackedgeNotifyFreqLog) - 1) << InvocationCounter::count_shift; + if (ProfileInterpreter) { + Register Rmdo = Rscratch1; + + // If no method data exists, go to profile_continue. + __ ld(Rmdo, in_bytes(Method::method_data_offset()), R19_method); + __ cmpdi(CCR0, Rmdo, 0); + __ beq(CCR0, Lno_mdo); + + // Increment backedge counter in the MDO. + const int mdo_bc_offs = in_bytes(MethodData::backedge_counter_offset()) + in_bytes(InvocationCounter::counter_offset()); + __ lwz(Rscratch2, mdo_bc_offs, Rmdo); + __ load_const_optimized(Rscratch3, mask, R0); + __ addi(Rscratch2, Rscratch2, increment); + __ stw(Rscratch2, mdo_bc_offs, Rmdo); + __ and_(Rscratch3, Rscratch2, Rscratch3); + __ bne(CCR0, Lforward); + __ b(Loverflow); + } + + // If there's no MDO, increment counter in method. + const int mo_bc_offs = in_bytes(MethodCounters::backedge_counter_offset()) + in_bytes(InvocationCounter::counter_offset()); + __ bind(Lno_mdo); + __ lwz(Rscratch2, mo_bc_offs, R4_counters); + __ load_const_optimized(Rscratch3, mask, R0); + __ addi(Rscratch2, Rscratch2, increment); + __ stw(Rscratch2, mo_bc_offs, R19_method); + __ and_(Rscratch3, Rscratch2, Rscratch3); + __ bne(CCR0, Lforward); + + __ bind(Loverflow); + + // Notify point for loop, pass branch bytecode. + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), R14_bcp, true); + + // Was an OSR adapter generated? + // O0 = osr nmethod + __ cmpdi(CCR0, R3_RET, 0); + __ beq(CCR0, Lforward); + + // Has the nmethod been invalidated already? + __ lwz(R0, nmethod::entry_bci_offset(), R3_RET); + __ cmpwi(CCR0, R0, InvalidOSREntryBci); + __ beq(CCR0, Lforward); + + // Migrate the interpreter frame off of the stack. + // We can use all registers because we will not return to interpreter from this point. + + // Save nmethod. + const Register osr_nmethod = R31; + __ mr(osr_nmethod, R3_RET); + __ set_top_ijava_frame_at_SP_as_last_Java_frame(R1_SP, R11_scratch1); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::OSR_migration_begin), R16_thread); + __ reset_last_Java_frame(); + // OSR buffer is in ARG1. + + // Remove the interpreter frame. + __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2); + + // Jump to the osr code. + __ ld(R11_scratch1, nmethod::osr_entry_point_offset(), osr_nmethod); + __ mtlr(R0); + __ mtctr(R11_scratch1); + __ bctr(); + + } else { + + const Register invoke_ctr = Rscratch1; + // Update Backedge branch separately from invocations. + __ increment_backedge_counter(R4_counters, invoke_ctr, Rscratch2, Rscratch3); + + if (ProfileInterpreter) { + __ test_invocation_counter_for_mdp(invoke_ctr, Rscratch2, Lforward); + if (UseOnStackReplacement) { + __ test_backedge_count_for_osr(bumped_count, R14_bcp, Rscratch2); + } + } else { + if (UseOnStackReplacement) { + __ test_backedge_count_for_osr(invoke_ctr, R14_bcp, Rscratch2); + } + } + } + + __ bind(Lforward); + + } else { + // Bump bytecode pointer by displacement (take the branch). + __ add(R14_bcp, Rdisp, R14_bcp); // Add to bc addr. + } + // Continue with bytecode @ target. + // %%%%% Like Intel, could speed things up by moving bytecode fetch to code above, + // %%%%% and changing dispatch_next to dispatch_only. + __ dispatch_next(vtos); +} + +// Helper function for if_cmp* methods below. +// Factored out common compare and branch code. +void TemplateTable::if_cmp_common(Register Rfirst, Register Rsecond, Register Rscratch1, Register Rscratch2, Condition cc, bool is_jint, bool cmp0) { + Label Lnot_taken; + // Note: The condition code we get is the condition under which we + // *fall through*! So we have to inverse the CC here. + + if (is_jint) { + if (cmp0) { + __ cmpwi(CCR0, Rfirst, 0); + } else { + __ cmpw(CCR0, Rfirst, Rsecond); + } + } else { + if (cmp0) { + __ cmpdi(CCR0, Rfirst, 0); + } else { + __ cmpd(CCR0, Rfirst, Rsecond); + } + } + branch_conditional(CCR0, cc, Lnot_taken, /*invert*/ true); + + // Conition is false => Jump! + branch(false, false); + + // Condition is not true => Continue. + __ align(32, 12); + __ bind(Lnot_taken); + __ profile_not_taken_branch(Rscratch1, Rscratch2); +} + +// Compare integer values with zero and fall through if CC holds, branch away otherwise. +void TemplateTable::if_0cmp(Condition cc) { + transition(itos, vtos); + + if_cmp_common(R17_tos, noreg, R11_scratch1, R12_scratch2, cc, true, true); +} + +// Compare integer values and fall through if CC holds, branch away otherwise. +// +// Interface: +// - Rfirst: First operand (older stack value) +// - tos: Second operand (younger stack value) +void TemplateTable::if_icmp(Condition cc) { + transition(itos, vtos); + + const Register Rfirst = R0, + Rsecond = R17_tos; + + __ pop_i(Rfirst); + if_cmp_common(Rfirst, Rsecond, R11_scratch1, R12_scratch2, cc, true, false); +} + +void TemplateTable::if_nullcmp(Condition cc) { + transition(atos, vtos); + + if_cmp_common(R17_tos, noreg, R11_scratch1, R12_scratch2, cc, false, true); +} + +void TemplateTable::if_acmp(Condition cc) { + transition(atos, vtos); + + const Register Rfirst = R0, + Rsecond = R17_tos; + + __ pop_ptr(Rfirst); + if_cmp_common(Rfirst, Rsecond, R11_scratch1, R12_scratch2, cc, false, false); +} + +void TemplateTable::ret() { + locals_index(R11_scratch1); + __ load_local_ptr(R17_tos, R11_scratch1, R11_scratch1); + + __ profile_ret(vtos, R17_tos, R11_scratch1, R12_scratch2); + + __ ld(R11_scratch1, in_bytes(Method::const_offset()), R19_method); + __ add(R11_scratch1, R17_tos, R11_scratch1); + __ addi(R14_bcp, R11_scratch1, in_bytes(ConstMethod::codes_offset())); + __ dispatch_next(vtos); +} + +void TemplateTable::wide_ret() { + transition(vtos, vtos); + + const Register Rindex = R3_ARG1, + Rscratch1 = R11_scratch1, + Rscratch2 = R12_scratch2; + + locals_index_wide(Rindex); + __ load_local_ptr(R17_tos, R17_tos, Rindex); + __ profile_ret(vtos, R17_tos, Rscratch1, R12_scratch2); + // Tos now contains the bci, compute the bcp from that. + __ ld(Rscratch1, in_bytes(Method::const_offset()), R19_method); + __ addi(Rscratch2, R17_tos, in_bytes(ConstMethod::codes_offset())); + __ add(R14_bcp, Rscratch1, Rscratch2); + __ dispatch_next(vtos); +} + +void TemplateTable::tableswitch() { + transition(itos, vtos); + + Label Ldispatch, Ldefault_case; + Register Rlow_byte = R3_ARG1, + Rindex = Rlow_byte, + Rhigh_byte = R4_ARG2, + Rdef_offset_addr = R5_ARG3, // is going to contain address of default offset + Rscratch1 = R11_scratch1, + Rscratch2 = R12_scratch2, + Roffset = R6_ARG4; + + // Align bcp. + __ addi(Rdef_offset_addr, R14_bcp, BytesPerInt); + __ clrrdi(Rdef_offset_addr, Rdef_offset_addr, log2_long((jlong)BytesPerInt)); + + // Load lo & hi. + __ lwz(Rlow_byte, BytesPerInt, Rdef_offset_addr); + __ lwz(Rhigh_byte, BytesPerInt * 2, Rdef_offset_addr); + + // Check for default case (=index outside [low,high]). + __ cmpw(CCR0, R17_tos, Rlow_byte); + __ cmpw(CCR1, R17_tos, Rhigh_byte); + __ blt(CCR0, Ldefault_case); + __ bgt(CCR1, Ldefault_case); + + // Lookup dispatch offset. + __ sub(Rindex, R17_tos, Rlow_byte); + __ extsw(Rindex, Rindex); + __ profile_switch_case(Rindex, Rhigh_byte /* scratch */, Rscratch1, Rscratch2); + __ sldi(Rindex, Rindex, LogBytesPerInt); + __ addi(Rindex, Rindex, 3 * BytesPerInt); + __ lwax(Roffset, Rdef_offset_addr, Rindex); + __ b(Ldispatch); + + __ bind(Ldefault_case); + __ profile_switch_default(Rhigh_byte, Rscratch1); + __ lwa(Roffset, 0, Rdef_offset_addr); + + __ bind(Ldispatch); + + __ add(R14_bcp, Roffset, R14_bcp); + __ dispatch_next(vtos); +} + +void TemplateTable::lookupswitch() { + transition(itos, itos); + __ stop("lookupswitch bytecode should have been rewritten"); +} + +// Table switch using linear search through cases. +// Bytecode stream format: +// Bytecode (1) | 4-byte padding | default offset (4) | count (4) | value/offset pair1 (8) | value/offset pair2 (8) | ... +// Note: Everything is big-endian format here. So on little endian machines, we have to revers offset and count and cmp value. +void TemplateTable::fast_linearswitch() { + transition(itos, vtos); + + Label Lloop_entry, Lsearch_loop, Lfound, Lcontinue_execution, Ldefault_case; + + Register Rcount = R3_ARG1, + Rcurrent_pair = R4_ARG2, + Rdef_offset_addr = R5_ARG3, // Is going to contain address of default offset. + Roffset = R31, // Might need to survive C call. + Rvalue = R12_scratch2, + Rscratch = R11_scratch1, + Rcmp_value = R17_tos; + + // Align bcp. + __ addi(Rdef_offset_addr, R14_bcp, BytesPerInt); + __ clrrdi(Rdef_offset_addr, Rdef_offset_addr, log2_long((jlong)BytesPerInt)); + + // Setup loop counter and limit. + __ lwz(Rcount, BytesPerInt, Rdef_offset_addr); // Load count. + __ addi(Rcurrent_pair, Rdef_offset_addr, 2 * BytesPerInt); // Rcurrent_pair now points to first pair. + + // Set up search loop. + __ cmpwi(CCR0, Rcount, 0); + __ beq(CCR0, Ldefault_case); + + __ mtctr(Rcount); + + // linear table search + __ bind(Lsearch_loop); + + __ lwz(Rvalue, 0, Rcurrent_pair); + __ lwa(Roffset, 1 * BytesPerInt, Rcurrent_pair); + + __ cmpw(CCR0, Rvalue, Rcmp_value); + __ beq(CCR0, Lfound); + + __ addi(Rcurrent_pair, Rcurrent_pair, 2 * BytesPerInt); + __ bdnz(Lsearch_loop); + + // default case + __ bind(Ldefault_case); + + __ lwa(Roffset, 0, Rdef_offset_addr); + if (ProfileInterpreter) { + __ profile_switch_default(Rdef_offset_addr, Rcount/* scratch */); + __ b(Lcontinue_execution); + } + + // Entry found, skip Roffset bytecodes and continue. + __ bind(Lfound); + if (ProfileInterpreter) { + // Calc the num of the pair we hit. Careful, Rcurrent_pair points 2 ints + // beyond the actual current pair due to the auto update load above! + __ sub(Rcurrent_pair, Rcurrent_pair, Rdef_offset_addr); + __ addi(Rcurrent_pair, Rcurrent_pair, - 2 * BytesPerInt); + __ srdi(Rcurrent_pair, Rcurrent_pair, LogBytesPerInt + 1); + __ profile_switch_case(Rcurrent_pair, Rcount /*scratch*/, Rdef_offset_addr/*scratch*/, Rscratch); + __ bind(Lcontinue_execution); + } + __ add(R14_bcp, Roffset, R14_bcp); + __ dispatch_next(vtos); +} + +// Table switch using binary search (value/offset pairs are ordered). +// Bytecode stream format: +// Bytecode (1) | 4-byte padding | default offset (4) | count (4) | value/offset pair1 (8) | value/offset pair2 (8) | ... +// Note: Everything is big-endian format here. So on little endian machines, we have to revers offset and count and cmp value. +void TemplateTable::fast_binaryswitch() { + + transition(itos, vtos); + // Implementation using the following core algorithm: (copied from Intel) + // + // int binary_search(int key, LookupswitchPair* array, int n) { + // // Binary search according to "Methodik des Programmierens" by + // // Edsger W. Dijkstra and W.H.J. Feijen, Addison Wesley Germany 1985. + // int i = 0; + // int j = n; + // while (i+1 < j) { + // // invariant P: 0 <= i < j <= n and (a[i] <= key < a[j] or Q) + // // with Q: for all i: 0 <= i < n: key < a[i] + // // where a stands for the array and assuming that the (inexisting) + // // element a[n] is infinitely big. + // int h = (i + j) >> 1; + // // i < h < j + // if (key < array[h].fast_match()) { + // j = h; + // } else { + // i = h; + // } + // } + // // R: a[i] <= key < a[i+1] or Q + // // (i.e., if key is within array, i is the correct index) + // return i; + // } + + // register allocation + const Register Rkey = R17_tos; // already set (tosca) + const Register Rarray = R3_ARG1; + const Register Ri = R4_ARG2; + const Register Rj = R5_ARG3; + const Register Rh = R6_ARG4; + const Register Rscratch = R11_scratch1; + + const int log_entry_size = 3; + const int entry_size = 1 << log_entry_size; + + Label found; + + // Find Array start, + __ addi(Rarray, R14_bcp, 3 * BytesPerInt); + __ clrrdi(Rarray, Rarray, log2_long((jlong)BytesPerInt)); + + // initialize i & j + __ li(Ri,0); + __ lwz(Rj, -BytesPerInt, Rarray); + + // and start. + Label entry; + __ b(entry); + + // binary search loop + { Label loop; + __ bind(loop); + // int h = (i + j) >> 1; + __ srdi(Rh, Rh, 1); + // if (key < array[h].fast_match()) { + // j = h; + // } else { + // i = h; + // } + __ sldi(Rscratch, Rh, log_entry_size); + __ lwzx(Rscratch, Rscratch, Rarray); + + // if (key < current value) + // Rh = Rj + // else + // Rh = Ri + Label Lgreater; + __ cmpw(CCR0, Rkey, Rscratch); + __ bge(CCR0, Lgreater); + __ mr(Rj, Rh); + __ b(entry); + __ bind(Lgreater); + __ mr(Ri, Rh); + + // while (i+1 < j) + __ bind(entry); + __ addi(Rscratch, Ri, 1); + __ cmpw(CCR0, Rscratch, Rj); + __ add(Rh, Ri, Rj); // start h = i + j >> 1; + + __ blt(CCR0, loop); + } + + // End of binary search, result index is i (must check again!). + Label default_case; + Label continue_execution; + if (ProfileInterpreter) { + __ mr(Rh, Ri); // Save index in i for profiling. + } + // Ri = value offset + __ sldi(Ri, Ri, log_entry_size); + __ add(Ri, Ri, Rarray); + __ lwz(Rscratch, 0, Ri); + + Label not_found; + // Ri = offset offset + __ cmpw(CCR0, Rkey, Rscratch); + __ beq(CCR0, not_found); + // entry not found -> j = default offset + __ lwz(Rj, -2 * BytesPerInt, Rarray); + __ b(default_case); + + __ bind(not_found); + // entry found -> j = offset + __ profile_switch_case(Rh, Rj, Rscratch, Rkey); + __ lwz(Rj, BytesPerInt, Ri); + + if (ProfileInterpreter) { + __ b(continue_execution); + } + + __ bind(default_case); // fall through (if not profiling) + __ profile_switch_default(Ri, Rscratch); + + __ bind(continue_execution); + + __ extsw(Rj, Rj); + __ add(R14_bcp, Rj, R14_bcp); + __ dispatch_next(vtos); +} + +void TemplateTable::_return(TosState state) { + transition(state, state); + assert(_desc->calls_vm(), + "inconsistent calls_vm information"); // call in remove_activation + + if (_desc->bytecode() == Bytecodes::_return_register_finalizer) { + + Register Rscratch = R11_scratch1, + Rklass = R12_scratch2, + Rklass_flags = Rklass; + Label Lskip_register_finalizer; + + // Check if the method has the FINALIZER flag set and call into the VM to finalize in this case. + assert(state == vtos, "only valid state"); + __ ld(R17_tos, 0, R18_locals); + + // Load klass of this obj. + __ load_klass(Rklass, R17_tos); + __ lwz(Rklass_flags, in_bytes(Klass::access_flags_offset()), Rklass); + __ testbitdi(CCR0, R0, Rklass_flags, exact_log2(JVM_ACC_HAS_FINALIZER)); + __ bfalse(CCR0, Lskip_register_finalizer); + + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::register_finalizer), R17_tos /* obj */); + + __ align(32, 12); + __ bind(Lskip_register_finalizer); + } + + // Move the result value into the correct register and remove memory stack frame. + __ remove_activation(state, /* throw_monitor_exception */ true); + // Restoration of lr done by remove_activation. + switch (state) { + case ltos: + case btos: + case ctos: + case stos: + case atos: + case itos: __ mr(R3_RET, R17_tos); break; + case ftos: + case dtos: __ fmr(F1_RET, F15_ftos); break; + case vtos: // This might be a constructor. Final fields (and volatile fields on PPC64) need + // to get visible before the reference to the object gets stored anywhere. + __ membar(Assembler::StoreStore); break; + default : ShouldNotReachHere(); + } + __ blr(); +} + +// ============================================================================ +// Constant pool cache access +// +// Memory ordering: +// +// Like done in C++ interpreter, we load the fields +// - _indices +// - _f12_oop +// acquired, because these are asked if the cache is already resolved. We don't +// want to float loads above this check. +// See also comments in ConstantPoolCacheEntry::bytecode_1(), +// ConstantPoolCacheEntry::bytecode_2() and ConstantPoolCacheEntry::f1(); + +// Call into the VM if call site is not yet resolved +// +// Input regs: +// - None, all passed regs are outputs. +// +// Returns: +// - Rcache: The const pool cache entry that contains the resolved result. +// - Rresult: Either noreg or output for f1/f2. +// +// Kills: +// - Rscratch +void TemplateTable::resolve_cache_and_index(int byte_no, Register Rcache, Register Rscratch, size_t index_size) { + + __ get_cache_and_index_at_bcp(Rcache, 1, index_size); + Label Lresolved, Ldone; + + assert(byte_no == f1_byte || byte_no == f2_byte, "byte_no out of range"); + // We are resolved if the indices offset contains the current bytecode. + // Big Endian: + __ lbz(Rscratch, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::indices_offset()) + 7 - (byte_no + 1), Rcache); + // Acquire by cmp-br-isync (see below). + __ cmpdi(CCR0, Rscratch, (int)bytecode()); + __ beq(CCR0, Lresolved); + + address entry = NULL; + switch (bytecode()) { + case Bytecodes::_getstatic : // fall through + case Bytecodes::_putstatic : // fall through + case Bytecodes::_getfield : // fall through + case Bytecodes::_putfield : entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_get_put); break; + case Bytecodes::_invokevirtual : // fall through + case Bytecodes::_invokespecial : // fall through + case Bytecodes::_invokestatic : // fall through + case Bytecodes::_invokeinterface: entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_invoke); break; + case Bytecodes::_invokehandle : entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_invokehandle); break; + case Bytecodes::_invokedynamic : entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_invokedynamic); break; + default : ShouldNotReachHere(); break; + } + __ li(R4_ARG2, (int)bytecode()); + __ call_VM(noreg, entry, R4_ARG2, true); + + // Update registers with resolved info. + __ get_cache_and_index_at_bcp(Rcache, 1, index_size); + __ b(Ldone); + + __ bind(Lresolved); + __ isync(); // Order load wrt. succeeding loads. + __ bind(Ldone); +} + +// Load the constant pool cache entry at field accesses into registers. +// The Rcache and Rindex registers must be set before call. +// Input: +// - Rcache, Rindex +// Output: +// - Robj, Roffset, Rflags +void TemplateTable::load_field_cp_cache_entry(Register Robj, + Register Rcache, + Register Rindex /* unused on PPC64 */, + Register Roffset, + Register Rflags, + bool is_static = false) { + assert_different_registers(Rcache, Rflags, Roffset); + // assert(Rindex == noreg, "parameter not used on PPC64"); + + ByteSize cp_base_offset = ConstantPoolCache::base_offset(); + __ ld(Rflags, in_bytes(cp_base_offset) + in_bytes(ConstantPoolCacheEntry::flags_offset()), Rcache); + __ ld(Roffset, in_bytes(cp_base_offset) + in_bytes(ConstantPoolCacheEntry::f2_offset()), Rcache); + if (is_static) { + __ ld(Robj, in_bytes(cp_base_offset) + in_bytes(ConstantPoolCacheEntry::f1_offset()), Rcache); + __ ld(Robj, in_bytes(Klass::java_mirror_offset()), Robj); + // Acquire not needed here. Following access has an address dependency on this value. + } +} + +// Load the constant pool cache entry at invokes into registers. +// Resolve if necessary. + +// Input Registers: +// - None, bcp is used, though +// +// Return registers: +// - Rmethod (f1 field or f2 if invokevirtual) +// - Ritable_index (f2 field) +// - Rflags (flags field) +// +// Kills: +// - R21 +// +void TemplateTable::load_invoke_cp_cache_entry(int byte_no, + Register Rmethod, + Register Ritable_index, + Register Rflags, + bool is_invokevirtual, + bool is_invokevfinal, + bool is_invokedynamic) { + + ByteSize cp_base_offset = ConstantPoolCache::base_offset(); + // Determine constant pool cache field offsets. + assert(is_invokevirtual == (byte_no == f2_byte), "is_invokevirtual flag redundant"); + const int method_offset = in_bytes(cp_base_offset + (is_invokevirtual ? ConstantPoolCacheEntry::f2_offset() : ConstantPoolCacheEntry::f1_offset())); + const int flags_offset = in_bytes(cp_base_offset + ConstantPoolCacheEntry::flags_offset()); + // Access constant pool cache fields. + const int index_offset = in_bytes(cp_base_offset + ConstantPoolCacheEntry::f2_offset()); + + Register Rcache = R21_tmp1; // Note: same register as R21_sender_SP. + + if (is_invokevfinal) { + assert(Ritable_index == noreg, "register not used"); + // Already resolved. + __ get_cache_and_index_at_bcp(Rcache, 1); + } else { + resolve_cache_and_index(byte_no, Rcache, R0, is_invokedynamic ? sizeof(u4) : sizeof(u2)); + } + + __ ld(Rmethod, method_offset, Rcache); + __ ld(Rflags, flags_offset, Rcache); + + if (Ritable_index != noreg) { + __ ld(Ritable_index, index_offset, Rcache); + } +} + +// ============================================================================ +// Field access + +// Volatile variables demand their effects be made known to all CPU's +// in order. Store buffers on most chips allow reads & writes to +// reorder; the JMM's ReadAfterWrite.java test fails in -Xint mode +// without some kind of memory barrier (i.e., it's not sufficient that +// the interpreter does not reorder volatile references, the hardware +// also must not reorder them). +// +// According to the new Java Memory Model (JMM): +// (1) All volatiles are serialized wrt to each other. ALSO reads & +// writes act as aquire & release, so: +// (2) A read cannot let unrelated NON-volatile memory refs that +// happen after the read float up to before the read. It's OK for +// non-volatile memory refs that happen before the volatile read to +// float down below it. +// (3) Similar a volatile write cannot let unrelated NON-volatile +// memory refs that happen BEFORE the write float down to after the +// write. It's OK for non-volatile memory refs that happen after the +// volatile write to float up before it. +// +// We only put in barriers around volatile refs (they are expensive), +// not _between_ memory refs (that would require us to track the +// flavor of the previous memory refs). Requirements (2) and (3) +// require some barriers before volatile stores and after volatile +// loads. These nearly cover requirement (1) but miss the +// volatile-store-volatile-load case. This final case is placed after +// volatile-stores although it could just as well go before +// volatile-loads. + +// The registers cache and index expected to be set before call. +// Correct values of the cache and index registers are preserved. +// Kills: +// Rcache (if has_tos) +// Rscratch +void TemplateTable::jvmti_post_field_access(Register Rcache, Register Rscratch, bool is_static, bool has_tos) { + + assert_different_registers(Rcache, Rscratch); + + if (JvmtiExport::can_post_field_access()) { + ByteSize cp_base_offset = ConstantPoolCache::base_offset(); + Label Lno_field_access_post; + + // Check if post field access in enabled. + int offs = __ load_const_optimized(Rscratch, JvmtiExport::get_field_access_count_addr(), R0, true); + __ lwz(Rscratch, offs, Rscratch); + + __ cmpwi(CCR0, Rscratch, 0); + __ beq(CCR0, Lno_field_access_post); + + // Post access enabled - do it! + __ addi(Rcache, Rcache, in_bytes(cp_base_offset)); + if (is_static) { + __ li(R17_tos, 0); + } else { + if (has_tos) { + // The fast bytecode versions have obj ptr in register. + // Thus, save object pointer before call_VM() clobbers it + // put object on tos where GC wants it. + __ push_ptr(R17_tos); + } else { + // Load top of stack (do not pop the value off the stack). + __ ld(R17_tos, Interpreter::expr_offset_in_bytes(0), R15_esp); + } + __ verify_oop(R17_tos); + } + // tos: object pointer or NULL if static + // cache: cache entry pointer + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_access), R17_tos, Rcache); + if (!is_static && has_tos) { + // Restore object pointer. + __ pop_ptr(R17_tos); + __ verify_oop(R17_tos); + } else { + // Cache is still needed to get class or obj. + __ get_cache_and_index_at_bcp(Rcache, 1); + } + + __ align(32, 12); + __ bind(Lno_field_access_post); + } +} + +// kills R11_scratch1 +void TemplateTable::pop_and_check_object(Register Roop) { + Register Rtmp = R11_scratch1; + + assert_different_registers(Rtmp, Roop); + __ pop_ptr(Roop); + // For field access must check obj. + __ null_check_throw(Roop, -1, Rtmp); + __ verify_oop(Roop); +} + +// PPC64: implement volatile loads as fence-store-acquire. +void TemplateTable::getfield_or_static(int byte_no, bool is_static) { + transition(vtos, vtos); + + Label Lacquire, Lisync; + + const Register Rcache = R3_ARG1, + Rclass_or_obj = R22_tmp2, + Roffset = R23_tmp3, + Rflags = R31, + Rbtable = R5_ARG3, + Rbc = R6_ARG4, + Rscratch = R12_scratch2; + + static address field_branch_table[number_of_states], + static_branch_table[number_of_states]; + + address* branch_table = is_static ? static_branch_table : field_branch_table; + + // Get field offset. + resolve_cache_and_index(byte_no, Rcache, Rscratch, sizeof(u2)); + + // JVMTI support + jvmti_post_field_access(Rcache, Rscratch, is_static, false); + + // Load after possible GC. + load_field_cp_cache_entry(Rclass_or_obj, Rcache, noreg, Roffset, Rflags, is_static); + + // Load pointer to branch table. + __ load_const_optimized(Rbtable, (address)branch_table, Rscratch); + + // Get volatile flag. + __ rldicl(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit. + // Note: sync is needed before volatile load on PPC64. + + // Check field type. + __ rldicl(Rflags, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits); + +#ifdef ASSERT + Label LFlagInvalid; + __ cmpldi(CCR0, Rflags, number_of_states); + __ bge(CCR0, LFlagInvalid); +#endif + + // Load from branch table and dispatch (volatile case: one instruction ahead). + __ sldi(Rflags, Rflags, LogBytesPerWord); + __ cmpwi(CCR6, Rscratch, 1); // Volatile? + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ sldi(Rscratch, Rscratch, exact_log2(BytesPerInstWord)); // Volatile ? size of 1 instruction : 0. + } + __ ldx(Rbtable, Rbtable, Rflags); + + // Get the obj from stack. + if (!is_static) { + pop_and_check_object(Rclass_or_obj); // Kills R11_scratch1. + } else { + __ verify_oop(Rclass_or_obj); + } + + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ subf(Rbtable, Rscratch, Rbtable); // Point to volatile/non-volatile entry point. + } + __ mtctr(Rbtable); + __ bctr(); + +#ifdef ASSERT + __ bind(LFlagInvalid); + __ stop("got invalid flag", 0x654); + + // __ bind(Lvtos); + address pc_before_fence = __ pc(); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(__ pc() - pc_before_fence == (ptrdiff_t)BytesPerInstWord, "must be single instruction"); + assert(branch_table[vtos] == 0, "can't compute twice"); + branch_table[vtos] = __ pc(); // non-volatile_entry point + __ stop("vtos unexpected", 0x655); +#endif + + __ align(32, 28, 28); // Align load. + // __ bind(Ldtos); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[dtos] == 0, "can't compute twice"); + branch_table[dtos] = __ pc(); // non-volatile_entry point + __ lfdx(F15_ftos, Rclass_or_obj, Roffset); + __ push(dtos); + if (!is_static) patch_bytecode(Bytecodes::_fast_dgetfield, Rbc, Rscratch); + { + Label acquire_double; + __ beq(CCR6, acquire_double); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ bind(acquire_double); + __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync. + __ beq_predict_taken(CCR0, Lisync); + __ b(Lisync); // In case of NAN. + } + + __ align(32, 28, 28); // Align load. + // __ bind(Lftos); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[ftos] == 0, "can't compute twice"); + branch_table[ftos] = __ pc(); // non-volatile_entry point + __ lfsx(F15_ftos, Rclass_or_obj, Roffset); + __ push(ftos); + if (!is_static) { patch_bytecode(Bytecodes::_fast_fgetfield, Rbc, Rscratch); } + { + Label acquire_float; + __ beq(CCR6, acquire_float); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ bind(acquire_float); + __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync. + __ beq_predict_taken(CCR0, Lisync); + __ b(Lisync); // In case of NAN. + } + + __ align(32, 28, 28); // Align load. + // __ bind(Litos); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[itos] == 0, "can't compute twice"); + branch_table[itos] = __ pc(); // non-volatile_entry point + __ lwax(R17_tos, Rclass_or_obj, Roffset); + __ push(itos); + if (!is_static) patch_bytecode(Bytecodes::_fast_igetfield, Rbc, Rscratch); + __ beq(CCR6, Lacquire); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align load. + // __ bind(Lltos); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[ltos] == 0, "can't compute twice"); + branch_table[ltos] = __ pc(); // non-volatile_entry point + __ ldx(R17_tos, Rclass_or_obj, Roffset); + __ push(ltos); + if (!is_static) patch_bytecode(Bytecodes::_fast_lgetfield, Rbc, Rscratch); + __ beq(CCR6, Lacquire); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align load. + // __ bind(Lbtos); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[btos] == 0, "can't compute twice"); + branch_table[btos] = __ pc(); // non-volatile_entry point + __ lbzx(R17_tos, Rclass_or_obj, Roffset); + __ extsb(R17_tos, R17_tos); + __ push(btos); + if (!is_static) patch_bytecode(Bytecodes::_fast_bgetfield, Rbc, Rscratch); + __ beq(CCR6, Lacquire); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align load. + // __ bind(Lctos); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[ctos] == 0, "can't compute twice"); + branch_table[ctos] = __ pc(); // non-volatile_entry point + __ lhzx(R17_tos, Rclass_or_obj, Roffset); + __ push(ctos); + if (!is_static) patch_bytecode(Bytecodes::_fast_cgetfield, Rbc, Rscratch); + __ beq(CCR6, Lacquire); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align load. + // __ bind(Lstos); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[stos] == 0, "can't compute twice"); + branch_table[stos] = __ pc(); // non-volatile_entry point + __ lhax(R17_tos, Rclass_or_obj, Roffset); + __ push(stos); + if (!is_static) patch_bytecode(Bytecodes::_fast_sgetfield, Rbc, Rscratch); + __ beq(CCR6, Lacquire); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align load. + // __ bind(Latos); + __ fence(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[atos] == 0, "can't compute twice"); + branch_table[atos] = __ pc(); // non-volatile_entry point + __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj); + __ verify_oop(R17_tos); + __ push(atos); + //__ dcbt(R17_tos); // prefetch + if (!is_static) patch_bytecode(Bytecodes::_fast_agetfield, Rbc, Rscratch); + __ beq(CCR6, Lacquire); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 12); + __ bind(Lacquire); + __ twi_0(R17_tos); + __ bind(Lisync); + __ isync(); // acquire + +#ifdef ASSERT + for (int i = 0; iprint_cr("get: %s_branch_table[%d] = 0x%llx (opcode 0x%llx)", + // is_static ? "static" : "field", i, branch_table[i], *((unsigned int*)branch_table[i])); + } +#endif +} + +void TemplateTable::getfield(int byte_no) { + getfield_or_static(byte_no, false); +} + +void TemplateTable::getstatic(int byte_no) { + getfield_or_static(byte_no, true); +} + +// The registers cache and index expected to be set before call. +// The function may destroy various registers, just not the cache and index registers. +void TemplateTable::jvmti_post_field_mod(Register Rcache, Register Rscratch, bool is_static) { + + assert_different_registers(Rcache, Rscratch, R6_ARG4); + + if (JvmtiExport::can_post_field_modification()) { + Label Lno_field_mod_post; + + // Check if post field access in enabled. + int offs = __ load_const_optimized(Rscratch, JvmtiExport::get_field_modification_count_addr(), R0, true); + __ lwz(Rscratch, offs, Rscratch); + + __ cmpwi(CCR0, Rscratch, 0); + __ beq(CCR0, Lno_field_mod_post); + + // Do the post + ByteSize cp_base_offset = ConstantPoolCache::base_offset(); + const Register Robj = Rscratch; + + __ addi(Rcache, Rcache, in_bytes(cp_base_offset)); + if (is_static) { + // Life is simple. Null out the object pointer. + __ li(Robj, 0); + } else { + // In case of the fast versions, value lives in registers => put it back on tos. + int offs = Interpreter::expr_offset_in_bytes(0); + Register base = R15_esp; + switch(bytecode()) { + case Bytecodes::_fast_aputfield: __ push_ptr(); offs+= Interpreter::stackElementSize; break; + case Bytecodes::_fast_iputfield: // Fall through + case Bytecodes::_fast_bputfield: // Fall through + case Bytecodes::_fast_cputfield: // Fall through + case Bytecodes::_fast_sputfield: __ push_i(); offs+= Interpreter::stackElementSize; break; + case Bytecodes::_fast_lputfield: __ push_l(); offs+=2*Interpreter::stackElementSize; break; + case Bytecodes::_fast_fputfield: __ push_f(); offs+= Interpreter::stackElementSize; break; + case Bytecodes::_fast_dputfield: __ push_d(); offs+=2*Interpreter::stackElementSize; break; + default: { + offs = 0; + base = Robj; + const Register Rflags = Robj; + Label is_one_slot; + // Life is harder. The stack holds the value on top, followed by the + // object. We don't know the size of the value, though; it could be + // one or two words depending on its type. As a result, we must find + // the type to determine where the object is. + __ ld(Rflags, in_bytes(ConstantPoolCacheEntry::flags_offset()), Rcache); // Big Endian + __ rldicl(Rflags, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits); + + __ cmpwi(CCR0, Rflags, ltos); + __ cmpwi(CCR1, Rflags, dtos); + __ addi(base, R15_esp, Interpreter::expr_offset_in_bytes(1)); + __ crnor(/*CR0 eq*/2, /*CR1 eq*/4+2, /*CR0 eq*/2); + __ beq(CCR0, is_one_slot); + __ addi(base, R15_esp, Interpreter::expr_offset_in_bytes(2)); + __ bind(is_one_slot); + break; + } + } + __ ld(Robj, offs, base); + __ verify_oop(Robj); + } + + __ addi(R6_ARG4, R15_esp, Interpreter::expr_offset_in_bytes(0)); + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_modification), Robj, Rcache, R6_ARG4); + __ get_cache_and_index_at_bcp(Rcache, 1); + + // In case of the fast versions, value lives in registers => put it back on tos. + switch(bytecode()) { + case Bytecodes::_fast_aputfield: __ pop_ptr(); break; + case Bytecodes::_fast_iputfield: // Fall through + case Bytecodes::_fast_bputfield: // Fall through + case Bytecodes::_fast_cputfield: // Fall through + case Bytecodes::_fast_sputfield: __ pop_i(); break; + case Bytecodes::_fast_lputfield: __ pop_l(); break; + case Bytecodes::_fast_fputfield: __ pop_f(); break; + case Bytecodes::_fast_dputfield: __ pop_d(); break; + default: break; // Nothin' to do. + } + + __ align(32, 12); + __ bind(Lno_field_mod_post); + } +} + +// PPC64: implement volatile stores as release-store (return bytecode contains an additional release). +void TemplateTable::putfield_or_static(int byte_no, bool is_static) { + Label Lvolatile; + + const Register Rcache = R5_ARG3, // Do not use ARG1/2 (causes trouble in jvmti_post_field_mod). + Rclass_or_obj = R31, // Needs to survive C call. + Roffset = R22_tmp2, // Needs to survive C call. + Rflags = R3_ARG1, + Rbtable = R4_ARG2, + Rscratch = R11_scratch1, + Rscratch2 = R12_scratch2, + Rscratch3 = R6_ARG4, + Rbc = Rscratch3; + const ConditionRegister CR_is_vol = CCR2; // Non-volatile condition register (survives runtime call in do_oop_store). + + static address field_branch_table[number_of_states], + static_branch_table[number_of_states]; + + address* branch_table = is_static ? static_branch_table : field_branch_table; + + // Stack (grows up): + // value + // obj + + // Load the field offset. + resolve_cache_and_index(byte_no, Rcache, Rscratch, sizeof(u2)); + jvmti_post_field_mod(Rcache, Rscratch, is_static); + load_field_cp_cache_entry(Rclass_or_obj, Rcache, noreg, Roffset, Rflags, is_static); + + // Load pointer to branch table. + __ load_const_optimized(Rbtable, (address)branch_table, Rscratch); + + // Get volatile flag. + __ rldicl(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit. + + // Check the field type. + __ rldicl(Rflags, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits); + +#ifdef ASSERT + Label LFlagInvalid; + __ cmpldi(CCR0, Rflags, number_of_states); + __ bge(CCR0, LFlagInvalid); +#endif + + // Load from branch table and dispatch (volatile case: one instruction ahead). + __ sldi(Rflags, Rflags, LogBytesPerWord); + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { __ cmpwi(CR_is_vol, Rscratch, 1); } // Volatile? + __ sldi(Rscratch, Rscratch, exact_log2(BytesPerInstWord)); // Volatile? size of instruction 1 : 0. + __ ldx(Rbtable, Rbtable, Rflags); + + __ subf(Rbtable, Rscratch, Rbtable); // Point to volatile/non-volatile entry point. + __ mtctr(Rbtable); + __ bctr(); + +#ifdef ASSERT + __ bind(LFlagInvalid); + __ stop("got invalid flag", 0x656); + + // __ bind(Lvtos); + address pc_before_release = __ pc(); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(__ pc() - pc_before_release == (ptrdiff_t)BytesPerInstWord, "must be single instruction"); + assert(branch_table[vtos] == 0, "can't compute twice"); + branch_table[vtos] = __ pc(); // non-volatile_entry point + __ stop("vtos unexpected", 0x657); +#endif + + __ align(32, 28, 28); // Align pop. + // __ bind(Ldtos); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[dtos] == 0, "can't compute twice"); + branch_table[dtos] = __ pc(); // non-volatile_entry point + __ pop(dtos); + if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1. + __ stfdx(F15_ftos, Rclass_or_obj, Roffset); + if (!is_static) { patch_bytecode(Bytecodes::_fast_dputfield, Rbc, Rscratch, true, byte_no); } + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ beq(CR_is_vol, Lvolatile); // Volatile? + } + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align pop. + // __ bind(Lftos); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[ftos] == 0, "can't compute twice"); + branch_table[ftos] = __ pc(); // non-volatile_entry point + __ pop(ftos); + if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1. + __ stfsx(F15_ftos, Rclass_or_obj, Roffset); + if (!is_static) { patch_bytecode(Bytecodes::_fast_fputfield, Rbc, Rscratch, true, byte_no); } + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ beq(CR_is_vol, Lvolatile); // Volatile? + } + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align pop. + // __ bind(Litos); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[itos] == 0, "can't compute twice"); + branch_table[itos] = __ pc(); // non-volatile_entry point + __ pop(itos); + if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1. + __ stwx(R17_tos, Rclass_or_obj, Roffset); + if (!is_static) { patch_bytecode(Bytecodes::_fast_iputfield, Rbc, Rscratch, true, byte_no); } + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ beq(CR_is_vol, Lvolatile); // Volatile? + } + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align pop. + // __ bind(Lltos); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[ltos] == 0, "can't compute twice"); + branch_table[ltos] = __ pc(); // non-volatile_entry point + __ pop(ltos); + if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1. + __ stdx(R17_tos, Rclass_or_obj, Roffset); + if (!is_static) { patch_bytecode(Bytecodes::_fast_lputfield, Rbc, Rscratch, true, byte_no); } + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ beq(CR_is_vol, Lvolatile); // Volatile? + } + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align pop. + // __ bind(Lbtos); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[btos] == 0, "can't compute twice"); + branch_table[btos] = __ pc(); // non-volatile_entry point + __ pop(btos); + if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1. + __ stbx(R17_tos, Rclass_or_obj, Roffset); + if (!is_static) { patch_bytecode(Bytecodes::_fast_bputfield, Rbc, Rscratch, true, byte_no); } + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ beq(CR_is_vol, Lvolatile); // Volatile? + } + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align pop. + // __ bind(Lctos); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[ctos] == 0, "can't compute twice"); + branch_table[ctos] = __ pc(); // non-volatile_entry point + __ pop(ctos); + if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1.. + __ sthx(R17_tos, Rclass_or_obj, Roffset); + if (!is_static) { patch_bytecode(Bytecodes::_fast_cputfield, Rbc, Rscratch, true, byte_no); } + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ beq(CR_is_vol, Lvolatile); // Volatile? + } + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align pop. + // __ bind(Lstos); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[stos] == 0, "can't compute twice"); + branch_table[stos] = __ pc(); // non-volatile_entry point + __ pop(stos); + if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1. + __ sthx(R17_tos, Rclass_or_obj, Roffset); + if (!is_static) { patch_bytecode(Bytecodes::_fast_sputfield, Rbc, Rscratch, true, byte_no); } + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ beq(CR_is_vol, Lvolatile); // Volatile? + } + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 28, 28); // Align pop. + // __ bind(Latos); + __ release(); // Volatile entry point (one instruction before non-volatile_entry point). + assert(branch_table[atos] == 0, "can't compute twice"); + branch_table[atos] = __ pc(); // non-volatile_entry point + __ pop(atos); + if (!is_static) { pop_and_check_object(Rclass_or_obj); } // kills R11_scratch1 + do_oop_store(_masm, Rclass_or_obj, Roffset, R17_tos, Rscratch, Rscratch2, Rscratch3, _bs->kind(), false /* precise */, true /* check null */); + if (!is_static) { patch_bytecode(Bytecodes::_fast_aputfield, Rbc, Rscratch, true, byte_no); } + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ beq(CR_is_vol, Lvolatile); // Volatile? + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 12); + __ bind(Lvolatile); + __ fence(); + } + // fallthru: __ b(Lexit); + +#ifdef ASSERT + for (int i = 0; iprint_cr("put: %s_branch_table[%d] = 0x%llx (opcode 0x%llx)", + // is_static ? "static" : "field", i, branch_table[i], *((unsigned int*)branch_table[i])); + } +#endif +} + +void TemplateTable::putfield(int byte_no) { + putfield_or_static(byte_no, false); +} + +void TemplateTable::putstatic(int byte_no) { + putfield_or_static(byte_no, true); +} + +// See SPARC. On PPC64, we have a different jvmti_post_field_mod which does the job. +void TemplateTable::jvmti_post_fast_field_mod() { + __ should_not_reach_here(); +} + +void TemplateTable::fast_storefield(TosState state) { + transition(state, vtos); + + const Register Rcache = R5_ARG3, // Do not use ARG1/2 (causes trouble in jvmti_post_field_mod). + Rclass_or_obj = R31, // Needs to survive C call. + Roffset = R22_tmp2, // Needs to survive C call. + Rflags = R3_ARG1, + Rscratch = R11_scratch1, + Rscratch2 = R12_scratch2, + Rscratch3 = R4_ARG2; + const ConditionRegister CR_is_vol = CCR2; // Non-volatile condition register (survives runtime call in do_oop_store). + + // Constant pool already resolved => Load flags and offset of field. + __ get_cache_and_index_at_bcp(Rcache, 1); + jvmti_post_field_mod(Rcache, Rscratch, false /* not static */); + load_field_cp_cache_entry(noreg, Rcache, noreg, Roffset, Rflags, false); + + // Get the obj and the final store addr. + pop_and_check_object(Rclass_or_obj); // Kills R11_scratch1. + + // Get volatile flag. + __ rldicl_(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit. + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { __ cmpdi(CR_is_vol, Rscratch, 1); } + { + Label LnotVolatile; + __ beq(CCR0, LnotVolatile); + __ release(); + __ align(32, 12); + __ bind(LnotVolatile); + } + + // Do the store and fencing. + switch(bytecode()) { + case Bytecodes::_fast_aputfield: + // Store into the field. + do_oop_store(_masm, Rclass_or_obj, Roffset, R17_tos, Rscratch, Rscratch2, Rscratch3, _bs->kind(), false /* precise */, true /* check null */); + break; + + case Bytecodes::_fast_iputfield: + __ stwx(R17_tos, Rclass_or_obj, Roffset); + break; + + case Bytecodes::_fast_lputfield: + __ stdx(R17_tos, Rclass_or_obj, Roffset); + break; + + case Bytecodes::_fast_bputfield: + __ stbx(R17_tos, Rclass_or_obj, Roffset); + break; + + case Bytecodes::_fast_cputfield: + case Bytecodes::_fast_sputfield: + __ sthx(R17_tos, Rclass_or_obj, Roffset); + break; + + case Bytecodes::_fast_fputfield: + __ stfsx(F15_ftos, Rclass_or_obj, Roffset); + break; + + case Bytecodes::_fast_dputfield: + __ stfdx(F15_ftos, Rclass_or_obj, Roffset); + break; + + default: ShouldNotReachHere(); + } + + if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { + Label LVolatile; + __ beq(CR_is_vol, LVolatile); + __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode())); + + __ align(32, 12); + __ bind(LVolatile); + __ fence(); + } +} + +void TemplateTable::fast_accessfield(TosState state) { + transition(atos, state); + + Label LisVolatile; + ByteSize cp_base_offset = ConstantPoolCache::base_offset(); + + const Register Rcache = R3_ARG1, + Rclass_or_obj = R17_tos, + Roffset = R22_tmp2, + Rflags = R23_tmp3, + Rscratch = R12_scratch2; + + // Constant pool already resolved. Get the field offset. + __ get_cache_and_index_at_bcp(Rcache, 1); + load_field_cp_cache_entry(noreg, Rcache, noreg, Roffset, Rflags, false); + + // JVMTI support + jvmti_post_field_access(Rcache, Rscratch, false, true); + + // Get the load address. + __ null_check_throw(Rclass_or_obj, -1, Rscratch); + + // Get volatile flag. + __ rldicl_(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit. + __ bne(CCR0, LisVolatile); + + switch(bytecode()) { + case Bytecodes::_fast_agetfield: + { + __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj); + __ verify_oop(R17_tos); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode())); + + __ bind(LisVolatile); + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj); + __ verify_oop(R17_tos); + __ twi_0(R17_tos); + __ isync(); + break; + } + case Bytecodes::_fast_igetfield: + { + __ lwax(R17_tos, Rclass_or_obj, Roffset); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode())); + + __ bind(LisVolatile); + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ lwax(R17_tos, Rclass_or_obj, Roffset); + __ twi_0(R17_tos); + __ isync(); + break; + } + case Bytecodes::_fast_lgetfield: + { + __ ldx(R17_tos, Rclass_or_obj, Roffset); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode())); + + __ bind(LisVolatile); + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ ldx(R17_tos, Rclass_or_obj, Roffset); + __ twi_0(R17_tos); + __ isync(); + break; + } + case Bytecodes::_fast_bgetfield: + { + __ lbzx(R17_tos, Rclass_or_obj, Roffset); + __ extsb(R17_tos, R17_tos); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode())); + + __ bind(LisVolatile); + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ lbzx(R17_tos, Rclass_or_obj, Roffset); + __ twi_0(R17_tos); + __ extsb(R17_tos, R17_tos); + __ isync(); + break; + } + case Bytecodes::_fast_cgetfield: + { + __ lhzx(R17_tos, Rclass_or_obj, Roffset); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode())); + + __ bind(LisVolatile); + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ lhzx(R17_tos, Rclass_or_obj, Roffset); + __ twi_0(R17_tos); + __ isync(); + break; + } + case Bytecodes::_fast_sgetfield: + { + __ lhax(R17_tos, Rclass_or_obj, Roffset); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode())); + + __ bind(LisVolatile); + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ lhax(R17_tos, Rclass_or_obj, Roffset); + __ twi_0(R17_tos); + __ isync(); + break; + } + case Bytecodes::_fast_fgetfield: + { + __ lfsx(F15_ftos, Rclass_or_obj, Roffset); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode())); + + __ bind(LisVolatile); + Label Ldummy; + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ lfsx(F15_ftos, Rclass_or_obj, Roffset); + __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync. + __ bne_predict_not_taken(CCR0, Ldummy); + __ bind(Ldummy); + __ isync(); + break; + } + case Bytecodes::_fast_dgetfield: + { + __ lfdx(F15_ftos, Rclass_or_obj, Roffset); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode())); + + __ bind(LisVolatile); + Label Ldummy; + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ lfdx(F15_ftos, Rclass_or_obj, Roffset); + __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync. + __ bne_predict_not_taken(CCR0, Ldummy); + __ bind(Ldummy); + __ isync(); + break; + } + default: ShouldNotReachHere(); + } +} + +void TemplateTable::fast_xaccess(TosState state) { + transition(vtos, state); + + Label LisVolatile; + ByteSize cp_base_offset = ConstantPoolCache::base_offset(); + const Register Rcache = R3_ARG1, + Rclass_or_obj = R17_tos, + Roffset = R22_tmp2, + Rflags = R23_tmp3, + Rscratch = R12_scratch2; + + __ ld(Rclass_or_obj, 0, R18_locals); + + // Constant pool already resolved. Get the field offset. + __ get_cache_and_index_at_bcp(Rcache, 2); + load_field_cp_cache_entry(noreg, Rcache, noreg, Roffset, Rflags, false); + + // JVMTI support not needed, since we switch back to single bytecode as soon as debugger attaches. + + // Needed to report exception at the correct bcp. + __ addi(R14_bcp, R14_bcp, 1); + + // Get the load address. + __ null_check_throw(Rclass_or_obj, -1, Rscratch); + + // Get volatile flag. + __ rldicl_(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit. + __ bne(CCR0, LisVolatile); + + switch(state) { + case atos: + { + __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj); + __ verify_oop(R17_tos); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode()) - 1); // Undo bcp increment. + + __ bind(LisVolatile); + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj); + __ verify_oop(R17_tos); + __ twi_0(R17_tos); + __ isync(); + break; + } + case itos: + { + __ lwax(R17_tos, Rclass_or_obj, Roffset); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode()) - 1); // Undo bcp increment. + + __ bind(LisVolatile); + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ lwax(R17_tos, Rclass_or_obj, Roffset); + __ twi_0(R17_tos); + __ isync(); + break; + } + case ftos: + { + __ lfsx(F15_ftos, Rclass_or_obj, Roffset); + __ dispatch_epilog(state, Bytecodes::length_for(bytecode()) - 1); // Undo bcp increment. + + __ bind(LisVolatile); + Label Ldummy; + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); } + __ lfsx(F15_ftos, Rclass_or_obj, Roffset); + __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync. + __ bne_predict_not_taken(CCR0, Ldummy); + __ bind(Ldummy); + __ isync(); + break; + } + default: ShouldNotReachHere(); + } + __ addi(R14_bcp, R14_bcp, -1); +} + +// ============================================================================ +// Calls + +// Common code for invoke +// +// Input: +// - byte_no +// +// Output: +// - Rmethod: The method to invoke next. +// - Rret_addr: The return address to return to. +// - Rindex: MethodType (invokehandle) or CallSite obj (invokedynamic) +// - Rrecv: Cache for "this" pointer, might be noreg if static call. +// - Rflags: Method flags from const pool cache. +// +// Kills: +// - Rscratch1 +// +void TemplateTable::prepare_invoke(int byte_no, + Register Rmethod, // linked method (or i-klass) + Register Rret_addr,// return address + Register Rindex, // itable index, MethodType, etc. + Register Rrecv, // If caller wants to see it. + Register Rflags, // If caller wants to test it. + Register Rscratch + ) { + // Determine flags. + const Bytecodes::Code code = bytecode(); + const bool is_invokeinterface = code == Bytecodes::_invokeinterface; + const bool is_invokedynamic = code == Bytecodes::_invokedynamic; + const bool is_invokehandle = code == Bytecodes::_invokehandle; + const bool is_invokevirtual = code == Bytecodes::_invokevirtual; + const bool is_invokespecial = code == Bytecodes::_invokespecial; + const bool load_receiver = (Rrecv != noreg); + assert(load_receiver == (code != Bytecodes::_invokestatic && code != Bytecodes::_invokedynamic), ""); + + assert_different_registers(Rmethod, Rindex, Rflags, Rscratch); + assert_different_registers(Rmethod, Rrecv, Rflags, Rscratch); + assert_different_registers(Rret_addr, Rscratch); + + load_invoke_cp_cache_entry(byte_no, Rmethod, Rindex, Rflags, is_invokevirtual, false, is_invokedynamic); + + // Saving of SP done in call_from_interpreter. + + // Maybe push "appendix" to arguments. + if (is_invokedynamic || is_invokehandle) { + Label Ldone; + __ rldicl_(R0, Rflags, 64-ConstantPoolCacheEntry::has_appendix_shift, 63); + __ beq(CCR0, Ldone); + // Push "appendix" (MethodType, CallSite, etc.). + // This must be done before we get the receiver, + // since the parameter_size includes it. + __ load_resolved_reference_at_index(Rscratch, Rindex); + __ verify_oop(Rscratch); + __ push_ptr(Rscratch); + __ bind(Ldone); + } + + // Load receiver if needed (after appendix is pushed so parameter size is correct). + if (load_receiver) { + const Register Rparam_count = Rscratch; + __ andi(Rparam_count, Rflags, ConstantPoolCacheEntry::parameter_size_mask); + __ load_receiver(Rparam_count, Rrecv); + __ verify_oop(Rrecv); + } + + // Get return address. + { + Register Rtable_addr = Rscratch; + Register Rret_type = Rret_addr; + address table_addr = (address) Interpreter::invoke_return_entry_table_for(code); + + // Get return type. It's coded into the upper 4 bits of the lower half of the 64 bit value. + __ rldicl(Rret_type, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits); + __ load_dispatch_table(Rtable_addr, (address*)table_addr); + __ sldi(Rret_type, Rret_type, LogBytesPerWord); + // Get return address. + __ ldx(Rret_addr, Rtable_addr, Rret_type); + } +} + +// Helper for virtual calls. Load target out of vtable and jump off! +// Kills all passed registers. +void TemplateTable::generate_vtable_call(Register Rrecv_klass, Register Rindex, Register Rret, Register Rtemp) { + + assert_different_registers(Rrecv_klass, Rtemp, Rret); + const Register Rtarget_method = Rindex; + + // Get target method & entry point. + const int base = InstanceKlass::vtable_start_offset() * wordSize; + // Calc vtable addr scale the vtable index by 8. + __ sldi(Rindex, Rindex, exact_log2(vtableEntry::size() * wordSize)); + // Load target. + __ addi(Rrecv_klass, Rrecv_klass, base + vtableEntry::method_offset_in_bytes()); + __ ldx(Rtarget_method, Rindex, Rrecv_klass); + __ call_from_interpreter(Rtarget_method, Rret, Rrecv_klass /* scratch1 */, Rtemp /* scratch2 */); +} + +// Virtual or final call. Final calls are rewritten on the fly to run through "fast_finalcall" next time. +void TemplateTable::invokevirtual(int byte_no) { + transition(vtos, vtos); + + Register Rtable_addr = R11_scratch1, + Rret_type = R12_scratch2, + Rret_addr = R5_ARG3, + Rflags = R22_tmp2, // Should survive C call. + Rrecv = R3_ARG1, + Rrecv_klass = Rrecv, + Rvtableindex_or_method = R31, // Should survive C call. + Rnum_params = R4_ARG2, + Rnew_bc = R6_ARG4; + + Label LnotFinal; + + load_invoke_cp_cache_entry(byte_no, Rvtableindex_or_method, noreg, Rflags, /*virtual*/ true, false, false); + + __ testbitdi(CCR0, R0, Rflags, ConstantPoolCacheEntry::is_vfinal_shift); + __ bfalse(CCR0, LnotFinal); + + patch_bytecode(Bytecodes::_fast_invokevfinal, Rnew_bc, R12_scratch2); + invokevfinal_helper(Rvtableindex_or_method, Rflags, R11_scratch1, R12_scratch2); + + __ align(32, 12); + __ bind(LnotFinal); + // Load "this" pointer (receiver). + __ rldicl(Rnum_params, Rflags, 64, 48); + __ load_receiver(Rnum_params, Rrecv); + __ verify_oop(Rrecv); + + // Get return type. It's coded into the upper 4 bits of the lower half of the 64 bit value. + __ rldicl(Rret_type, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits); + __ load_dispatch_table(Rtable_addr, Interpreter::invoke_return_entry_table()); + __ sldi(Rret_type, Rret_type, LogBytesPerWord); + __ ldx(Rret_addr, Rret_type, Rtable_addr); + __ null_check_throw(Rrecv, oopDesc::klass_offset_in_bytes(), R11_scratch1); + __ load_klass(Rrecv_klass, Rrecv); + __ verify_klass_ptr(Rrecv_klass); + __ profile_virtual_call(Rrecv_klass, R11_scratch1, R12_scratch2, false); + + generate_vtable_call(Rrecv_klass, Rvtableindex_or_method, Rret_addr, R11_scratch1); +} + +void TemplateTable::fast_invokevfinal(int byte_no) { + transition(vtos, vtos); + + assert(byte_no == f2_byte, "use this argument"); + Register Rflags = R22_tmp2, + Rmethod = R31; + load_invoke_cp_cache_entry(byte_no, Rmethod, noreg, Rflags, /*virtual*/ true, /*is_invokevfinal*/ true, false); + invokevfinal_helper(Rmethod, Rflags, R11_scratch1, R12_scratch2); +} + +void TemplateTable::invokevfinal_helper(Register Rmethod, Register Rflags, Register Rscratch1, Register Rscratch2) { + + assert_different_registers(Rmethod, Rflags, Rscratch1, Rscratch2); + + // Load receiver from stack slot. + Register Rrecv = Rscratch2; + Register Rnum_params = Rrecv; + + __ ld(Rnum_params, in_bytes(Method::const_offset()), Rmethod); + __ lhz(Rnum_params /* number of params */, in_bytes(ConstMethod::size_of_parameters_offset()), Rnum_params); + + // Get return address. + Register Rtable_addr = Rscratch1, + Rret_addr = Rflags, + Rret_type = Rret_addr; + // Get return type. It's coded into the upper 4 bits of the lower half of the 64 bit value. + __ rldicl(Rret_type, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits); + __ load_dispatch_table(Rtable_addr, Interpreter::invoke_return_entry_table()); + __ sldi(Rret_type, Rret_type, LogBytesPerWord); + __ ldx(Rret_addr, Rret_type, Rtable_addr); + + // Load receiver and receiver NULL check. + __ load_receiver(Rnum_params, Rrecv); + __ null_check_throw(Rrecv, -1, Rscratch1); + + __ profile_final_call(Rrecv, Rscratch1); + + // Do the call. + __ call_from_interpreter(Rmethod, Rret_addr, Rscratch1, Rscratch2); +} + +void TemplateTable::invokespecial(int byte_no) { + assert(byte_no == f1_byte, "use this argument"); + transition(vtos, vtos); + + Register Rtable_addr = R3_ARG1, + Rret_addr = R4_ARG2, + Rflags = R5_ARG3, + Rreceiver = R6_ARG4, + Rmethod = R31; + + prepare_invoke(byte_no, Rmethod, Rret_addr, noreg, Rreceiver, Rflags, R11_scratch1); + + // Receiver NULL check. + __ null_check_throw(Rreceiver, -1, R11_scratch1); + + __ profile_call(R11_scratch1, R12_scratch2); + __ call_from_interpreter(Rmethod, Rret_addr, R11_scratch1, R12_scratch2); +} + +void TemplateTable::invokestatic(int byte_no) { + assert(byte_no == f1_byte, "use this argument"); + transition(vtos, vtos); + + Register Rtable_addr = R3_ARG1, + Rret_addr = R4_ARG2, + Rflags = R5_ARG3; + + prepare_invoke(byte_no, R19_method, Rret_addr, noreg, noreg, Rflags, R11_scratch1); + + __ profile_call(R11_scratch1, R12_scratch2); + __ call_from_interpreter(R19_method, Rret_addr, R11_scratch1, R12_scratch2); +} + +void TemplateTable::invokeinterface_object_method(Register Rrecv_klass, + Register Rret, + Register Rflags, + Register Rindex, + Register Rtemp1, + Register Rtemp2) { + + assert_different_registers(Rindex, Rret, Rrecv_klass, Rflags, Rtemp1, Rtemp2); + Label LnotFinal; + + // Check for vfinal. + __ testbitdi(CCR0, R0, Rflags, ConstantPoolCacheEntry::is_vfinal_shift); + __ bfalse(CCR0, LnotFinal); + + Register Rscratch = Rflags; // Rflags is dead now. + + // Final call case. + __ profile_final_call(Rtemp1, Rscratch); + // Do the final call - the index (f2) contains the method. + __ call_from_interpreter(Rindex, Rret, Rscratch, Rrecv_klass /* scratch */); + + // Non-final callc case. + __ bind(LnotFinal); + __ profile_virtual_call(Rrecv_klass, Rtemp1, Rscratch, false); + generate_vtable_call(Rrecv_klass, Rindex, Rret, Rscratch); +} + +void TemplateTable::invokeinterface(int byte_no) { + assert(byte_no == f1_byte, "use this argument"); + transition(vtos, vtos); + + const Register Rscratch1 = R11_scratch1, + Rscratch2 = R12_scratch2, + Rscratch3 = R9_ARG7, + Rscratch4 = R10_ARG8, + Rtable_addr = Rscratch2, + Rinterface_klass = R5_ARG3, + Rret_type = R8_ARG6, + Rret_addr = Rret_type, + Rindex = R6_ARG4, + Rreceiver = R4_ARG2, + Rrecv_klass = Rreceiver, + Rflags = R7_ARG5; + + prepare_invoke(byte_no, Rinterface_klass, Rret_addr, Rindex, Rreceiver, Rflags, Rscratch1); + + // Get receiver klass. + __ null_check_throw(Rreceiver, oopDesc::klass_offset_in_bytes(), Rscratch3); + __ load_klass(Rrecv_klass, Rreceiver); + + // Check corner case object method. + Label LobjectMethod; + + __ testbitdi(CCR0, R0, Rflags, ConstantPoolCacheEntry::is_forced_virtual_shift); + __ btrue(CCR0, LobjectMethod); + + // Fallthrough: The normal invokeinterface case. + __ profile_virtual_call(Rrecv_klass, Rscratch1, Rscratch2, false); + + // Find entry point to call. + Label Lthrow_icc, Lthrow_ame; + // Result will be returned in Rindex. + __ mr(Rscratch4, Rrecv_klass); + __ mr(Rscratch3, Rindex); + __ lookup_interface_method(Rrecv_klass, Rinterface_klass, Rindex, Rindex, Rscratch1, Rscratch2, Lthrow_icc); + + __ cmpdi(CCR0, Rindex, 0); + __ beq(CCR0, Lthrow_ame); + // Found entry. Jump off! + __ call_from_interpreter(Rindex, Rret_addr, Rscratch1, Rscratch2); + + // Vtable entry was NULL => Throw abstract method error. + __ bind(Lthrow_ame); + __ mr(Rrecv_klass, Rscratch4); + __ mr(Rindex, Rscratch3); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError)); + + // Interface was not found => Throw incompatible class change error. + __ bind(Lthrow_icc); + __ mr(Rrecv_klass, Rscratch4); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_IncompatibleClassChangeError)); + + __ should_not_reach_here(); + + // Special case of invokeinterface called for virtual method of + // java.lang.Object. See ConstantPoolCacheEntry::set_method() for details: + // The invokeinterface was rewritten to a invokevirtual, hence we have + // to handle this corner case. This code isn't produced by javac, but could + // be produced by another compliant java compiler. + __ bind(LobjectMethod); + invokeinterface_object_method(Rrecv_klass, Rret_addr, Rflags, Rindex, Rscratch1, Rscratch2); +} + +void TemplateTable::invokedynamic(int byte_no) { + transition(vtos, vtos); + + const Register Rret_addr = R3_ARG1, + Rflags = R4_ARG2, + Rmethod = R22_tmp2, + Rscratch1 = R11_scratch1, + Rscratch2 = R12_scratch2; + + if (!EnableInvokeDynamic) { + // We should not encounter this bytecode if !EnableInvokeDynamic. + // The verifier will stop it. However, if we get past the verifier, + // this will stop the thread in a reasonable way, without crashing the JVM. + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_IncompatibleClassChangeError)); + // The call_VM checks for exception, so we should never return here. + __ should_not_reach_here(); + return; + } + + prepare_invoke(byte_no, Rmethod, Rret_addr, Rscratch1, noreg, Rflags, Rscratch2); + + // Profile this call. + __ profile_call(Rscratch1, Rscratch2); + + // Off we go. With the new method handles, we don't jump to a method handle + // entry any more. Instead, we pushed an "appendix" in prepare invoke, which happens + // to be the callsite object the bootstrap method returned. This is passed to a + // "link" method which does the dispatch (Most likely just grabs the MH stored + // inside the callsite and does an invokehandle). + __ call_from_interpreter(Rmethod, Rret_addr, Rscratch1 /* scratch1 */, Rscratch2 /* scratch2 */); +} + +void TemplateTable::invokehandle(int byte_no) { + transition(vtos, vtos); + + const Register Rret_addr = R3_ARG1, + Rflags = R4_ARG2, + Rrecv = R5_ARG3, + Rmethod = R22_tmp2, + Rscratch1 = R11_scratch1, + Rscratch2 = R12_scratch2; + + if (!EnableInvokeDynamic) { + // Rewriter does not generate this bytecode. + __ should_not_reach_here(); + return; + } + + prepare_invoke(byte_no, Rmethod, Rret_addr, Rscratch1, Rrecv, Rflags, Rscratch2); + __ verify_method_ptr(Rmethod); + __ null_check_throw(Rrecv, -1, Rscratch2); + + __ profile_final_call(Rrecv, Rscratch1); + + // Still no call from handle => We call the method handle interpreter here. + __ call_from_interpreter(Rmethod, Rret_addr, Rscratch1 /* scratch1 */, Rscratch2 /* scratch2 */); +} + +// ============================================================================= +// Allocation + +// Puts allocated obj ref onto the expression stack. +void TemplateTable::_new() { + transition(vtos, atos); + + Label Lslow_case, + Ldone, + Linitialize_header, + Lallocate_shared, + Linitialize_object; // Including clearing the fields. + + const Register RallocatedObject = R17_tos, + RinstanceKlass = R9_ARG7, + Rscratch = R11_scratch1, + Roffset = R8_ARG6, + Rinstance_size = Roffset, + Rcpool = R4_ARG2, + Rtags = R3_ARG1, + Rindex = R5_ARG3; + + const bool allow_shared_alloc = Universe::heap()->supports_inline_contig_alloc() && !CMSIncrementalMode; + + // -------------------------------------------------------------------------- + // Check if fast case is possible. + + // Load pointers to const pool and const pool's tags array. + __ get_cpool_and_tags(Rcpool, Rtags); + // Load index of constant pool entry. + __ get_2_byte_integer_at_bcp(1, Rindex, InterpreterMacroAssembler::Unsigned); + + if (UseTLAB) { + // Make sure the class we're about to instantiate has been resolved + // This is done before loading instanceKlass to be consistent with the order + // how Constant Pool is updated (see ConstantPoolCache::klass_at_put). + __ addi(Rtags, Rtags, Array::base_offset_in_bytes()); + __ lbzx(Rtags, Rindex, Rtags); + + __ cmpdi(CCR0, Rtags, JVM_CONSTANT_Class); + __ bne(CCR0, Lslow_case); + + // Get instanceKlass (load from Rcpool + sizeof(ConstantPool) + Rindex*BytesPerWord). + __ sldi(Roffset, Rindex, LogBytesPerWord); + __ addi(Rscratch, Rcpool, sizeof(ConstantPool)); + __ isync(); // Order load of instance Klass wrt. tags. + __ ldx(RinstanceKlass, Roffset, Rscratch); + + // Make sure klass is fully initialized and get instance_size. + __ lbz(Rscratch, in_bytes(InstanceKlass::init_state_offset()), RinstanceKlass); + __ lwz(Rinstance_size, in_bytes(Klass::layout_helper_offset()), RinstanceKlass); + + __ cmpdi(CCR1, Rscratch, InstanceKlass::fully_initialized); + // Make sure klass does not have has_finalizer, or is abstract, or interface or java/lang/Class. + __ andi_(R0, Rinstance_size, Klass::_lh_instance_slow_path_bit); // slow path bit equals 0? + + __ crnand(/*CR0 eq*/2, /*CR1 eq*/4+2, /*CR0 eq*/2); // slow path bit set or not fully initialized? + __ beq(CCR0, Lslow_case); + + // -------------------------------------------------------------------------- + // Fast case: + // Allocate the instance. + // 1) Try to allocate in the TLAB. + // 2) If fail, and the TLAB is not full enough to discard, allocate in the shared Eden. + // 3) If the above fails (or is not applicable), go to a slow case (creates a new TLAB, etc.). + + Register RoldTopValue = RallocatedObject; // Object will be allocated here if it fits. + Register RnewTopValue = R6_ARG4; + Register RendValue = R7_ARG5; + + // Check if we can allocate in the TLAB. + __ ld(RoldTopValue, in_bytes(JavaThread::tlab_top_offset()), R16_thread); + __ ld(RendValue, in_bytes(JavaThread::tlab_end_offset()), R16_thread); + + __ add(RnewTopValue, Rinstance_size, RoldTopValue); + + // If there is enough space, we do not CAS and do not clear. + __ cmpld(CCR0, RnewTopValue, RendValue); + __ bgt(CCR0, allow_shared_alloc ? Lallocate_shared : Lslow_case); + + __ std(RnewTopValue, in_bytes(JavaThread::tlab_top_offset()), R16_thread); + + if (ZeroTLAB) { + // The fields have already been cleared. + __ b(Linitialize_header); + } else { + // Initialize both the header and fields. + __ b(Linitialize_object); + } + + // Fall through: TLAB was too small. + if (allow_shared_alloc) { + Register RtlabWasteLimitValue = R10_ARG8; + Register RfreeValue = RnewTopValue; + + __ bind(Lallocate_shared); + // Check if tlab should be discarded (refill_waste_limit >= free). + __ ld(RtlabWasteLimitValue, in_bytes(JavaThread::tlab_refill_waste_limit_offset()), R16_thread); + __ subf(RfreeValue, RoldTopValue, RendValue); + __ srdi(RfreeValue, RfreeValue, LogHeapWordSize); // in dwords + __ cmpld(CCR0, RtlabWasteLimitValue, RfreeValue); + __ bge(CCR0, Lslow_case); + + // Increment waste limit to prevent getting stuck on this slow path. + __ addi(RtlabWasteLimitValue, RtlabWasteLimitValue, (int)ThreadLocalAllocBuffer::refill_waste_limit_increment()); + __ std(RtlabWasteLimitValue, in_bytes(JavaThread::tlab_refill_waste_limit_offset()), R16_thread); + } + // else: No allocation in the shared eden. // fallthru: __ b(Lslow_case); + } + // else: Always go the slow path. + + // -------------------------------------------------------------------------- + // slow case + __ bind(Lslow_case); + call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::_new), Rcpool, Rindex); + + if (UseTLAB) { + __ b(Ldone); + // -------------------------------------------------------------------------- + // Init1: Zero out newly allocated memory. + + if (!ZeroTLAB || allow_shared_alloc) { + // Clear object fields. + __ bind(Linitialize_object); + + // Initialize remaining object fields. + Register Rbase = Rtags; + __ addi(Rinstance_size, Rinstance_size, 7 - (int)sizeof(oopDesc)); + __ addi(Rbase, RallocatedObject, sizeof(oopDesc)); + __ srdi(Rinstance_size, Rinstance_size, 3); + + // Clear out object skipping header. Takes also care of the zero length case. + __ clear_memory_doubleword(Rbase, Rinstance_size); + // fallthru: __ b(Linitialize_header); + } + + // -------------------------------------------------------------------------- + // Init2: Initialize the header: mark, klass + __ bind(Linitialize_header); + + // Init mark. + if (UseBiasedLocking) { + __ ld(Rscratch, in_bytes(Klass::prototype_header_offset()), RinstanceKlass); + } else { + __ load_const_optimized(Rscratch, markOopDesc::prototype(), R0); + } + __ std(Rscratch, oopDesc::mark_offset_in_bytes(), RallocatedObject); + + // Init klass. + __ store_klass_gap(RallocatedObject); + __ store_klass(RallocatedObject, RinstanceKlass, Rscratch); // klass (last for cms) + + // Check and trigger dtrace event. + { + SkipIfEqualZero skip_if(_masm, Rscratch, &DTraceAllocProbes); + __ push(atos); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_object_alloc)); + __ pop(atos); + } + } + + // continue + __ bind(Ldone); + + // Must prevent reordering of stores for object initialization with stores that publish the new object. + __ membar(Assembler::StoreStore); +} + +void TemplateTable::newarray() { + transition(itos, atos); + + __ lbz(R4, 1, R14_bcp); + __ extsw(R5, R17_tos); + call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::newarray), R4, R5 /* size */); + + // Must prevent reordering of stores for object initialization with stores that publish the new object. + __ membar(Assembler::StoreStore); +} + +void TemplateTable::anewarray() { + transition(itos, atos); + + __ get_constant_pool(R4); + __ get_2_byte_integer_at_bcp(1, R5, InterpreterMacroAssembler::Unsigned); + __ extsw(R6, R17_tos); // size + call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::anewarray), R4 /* pool */, R5 /* index */, R6 /* size */); + + // Must prevent reordering of stores for object initialization with stores that publish the new object. + __ membar(Assembler::StoreStore); +} + +// Allocate a multi dimensional array +void TemplateTable::multianewarray() { + transition(vtos, atos); + + Register Rptr = R31; // Needs to survive C call. + + // Put ndims * wordSize into frame temp slot + __ lbz(Rptr, 3, R14_bcp); + __ sldi(Rptr, Rptr, Interpreter::logStackElementSize); + // Esp points past last_dim, so set to R4 to first_dim address. + __ add(R4, Rptr, R15_esp); + call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::multianewarray), R4 /* first_size_address */); + // Pop all dimensions off the stack. + __ add(R15_esp, Rptr, R15_esp); + + // Must prevent reordering of stores for object initialization with stores that publish the new object. + __ membar(Assembler::StoreStore); +} + +void TemplateTable::arraylength() { + transition(atos, itos); + + Label LnoException; + __ verify_oop(R17_tos); + __ null_check_throw(R17_tos, arrayOopDesc::length_offset_in_bytes(), R11_scratch1); + __ lwa(R17_tos, arrayOopDesc::length_offset_in_bytes(), R17_tos); +} + +// ============================================================================ +// Typechecks + +void TemplateTable::checkcast() { + transition(atos, atos); + + Label Ldone, Lis_null, Lquicked, Lresolved; + Register Roffset = R5_ARG3, + RobjKlass = R4_ARG2, + RspecifiedKlass = R6_ARG4, // Generate_ClassCastException_verbose_handler will expect this register. + Rcpool = R11_scratch1, + Rtags = R12_scratch2; + + // Null does not pass. + __ cmpdi(CCR0, R17_tos, 0); + __ beq(CCR0, Lis_null); + + // Get constant pool tag to find out if the bytecode has already been "quickened". + __ get_cpool_and_tags(Rcpool, Rtags); + + __ get_2_byte_integer_at_bcp(1, Roffset, InterpreterMacroAssembler::Unsigned); + + __ addi(Rtags, Rtags, Array::base_offset_in_bytes()); + __ lbzx(Rtags, Rtags, Roffset); + + __ cmpdi(CCR0, Rtags, JVM_CONSTANT_Class); + __ beq(CCR0, Lquicked); + + // Call into the VM to "quicken" instanceof. + __ push_ptr(); // for GC + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::quicken_io_cc)); + __ get_vm_result_2(RspecifiedKlass); + __ pop_ptr(); // Restore receiver. + __ b(Lresolved); + + // Extract target class from constant pool. + __ bind(Lquicked); + __ sldi(Roffset, Roffset, LogBytesPerWord); + __ addi(Rcpool, Rcpool, sizeof(ConstantPool)); + __ isync(); // Order load of specified Klass wrt. tags. + __ ldx(RspecifiedKlass, Rcpool, Roffset); + + // Do the checkcast. + __ bind(Lresolved); + // Get value klass in RobjKlass. + __ load_klass(RobjKlass, R17_tos); + // Generate a fast subtype check. Branch to cast_ok if no failure. Return 0 if failure. + __ gen_subtype_check(RobjKlass, RspecifiedKlass, /*3 temp regs*/ Roffset, Rcpool, Rtags, /*target if subtype*/ Ldone); + + // Not a subtype; so must throw exception + // Target class oop is in register R6_ARG4 == RspecifiedKlass by convention. + __ load_dispatch_table(R11_scratch1, (address*)Interpreter::_throw_ClassCastException_entry); + __ mtctr(R11_scratch1); + __ bctr(); + + // Profile the null case. + __ align(32, 12); + __ bind(Lis_null); + __ profile_null_seen(R11_scratch1, Rtags); // Rtags used as scratch. + + __ align(32, 12); + __ bind(Ldone); +} + +// Output: +// - tos == 0: Obj was null or not an instance of class. +// - tos == 1: Obj was an instance of class. +void TemplateTable::instanceof() { + transition(atos, itos); + + Label Ldone, Lis_null, Lquicked, Lresolved; + Register Roffset = R5_ARG3, + RobjKlass = R4_ARG2, + RspecifiedKlass = R6_ARG4, // Generate_ClassCastException_verbose_handler will expect the value in this register. + Rcpool = R11_scratch1, + Rtags = R12_scratch2; + + // Null does not pass. + __ cmpdi(CCR0, R17_tos, 0); + __ beq(CCR0, Lis_null); + + // Get constant pool tag to find out if the bytecode has already been "quickened". + __ get_cpool_and_tags(Rcpool, Rtags); + + __ get_2_byte_integer_at_bcp(1, Roffset, InterpreterMacroAssembler::Unsigned); + + __ addi(Rtags, Rtags, Array::base_offset_in_bytes()); + __ lbzx(Rtags, Rtags, Roffset); + + __ cmpdi(CCR0, Rtags, JVM_CONSTANT_Class); + __ beq(CCR0, Lquicked); + + // Call into the VM to "quicken" instanceof. + __ push_ptr(); // for GC + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::quicken_io_cc)); + __ get_vm_result_2(RspecifiedKlass); + __ pop_ptr(); // Restore receiver. + __ b(Lresolved); + + // Extract target class from constant pool. + __ bind(Lquicked); + __ sldi(Roffset, Roffset, LogBytesPerWord); + __ addi(Rcpool, Rcpool, sizeof(ConstantPool)); + __ isync(); // Order load of specified Klass wrt. tags. + __ ldx(RspecifiedKlass, Rcpool, Roffset); + + // Do the checkcast. + __ bind(Lresolved); + // Get value klass in RobjKlass. + __ load_klass(RobjKlass, R17_tos); + // Generate a fast subtype check. Branch to cast_ok if no failure. Return 0 if failure. + __ li(R17_tos, 1); + __ gen_subtype_check(RobjKlass, RspecifiedKlass, /*3 temp regs*/ Roffset, Rcpool, Rtags, /*target if subtype*/ Ldone); + __ li(R17_tos, 0); + + if (ProfileInterpreter) { + __ b(Ldone); + } + + // Profile the null case. + __ align(32, 12); + __ bind(Lis_null); + __ profile_null_seen(Rcpool, Rtags); // Rcpool and Rtags used as scratch. + + __ align(32, 12); + __ bind(Ldone); +} + +// ============================================================================= +// Breakpoints + +void TemplateTable::_breakpoint() { + transition(vtos, vtos); + + // Get the unpatched byte code. + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::get_original_bytecode_at), R19_method, R14_bcp); + __ mr(R31, R3_RET); + + // Post the breakpoint event. + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::_breakpoint), R19_method, R14_bcp); + + // Complete the execution of original bytecode. + __ dispatch_Lbyte_code(vtos, R31, Interpreter::normal_table(vtos)); +} + +// ============================================================================= +// Exceptions + +void TemplateTable::athrow() { + transition(atos, vtos); + + // Exception oop is in tos + __ verify_oop(R17_tos); + + __ null_check_throw(R17_tos, -1, R11_scratch1); + + // Throw exception interpreter entry expects exception oop to be in R3. + __ mr(R3_RET, R17_tos); + __ load_dispatch_table(R11_scratch1, (address*)Interpreter::throw_exception_entry()); + __ mtctr(R11_scratch1); + __ bctr(); +} + +// ============================================================================= +// Synchronization +// Searches the basic object lock list on the stack for a free slot +// and uses it to lock the obect in tos. +// +// Recursive locking is enabled by exiting the search if the same +// object is already found in the list. Thus, a new basic lock obj lock +// is allocated "higher up" in the stack and thus is found first +// at next monitor exit. +void TemplateTable::monitorenter() { + transition(atos, vtos); + + __ verify_oop(R17_tos); + + Register Rcurrent_monitor = R11_scratch1, + Rcurrent_obj = R12_scratch2, + Robj_to_lock = R17_tos, + Rscratch1 = R3_ARG1, + Rscratch2 = R4_ARG2, + Rscratch3 = R5_ARG3, + Rcurrent_obj_addr = R6_ARG4; + + // ------------------------------------------------------------------------------ + // Null pointer exception. + __ null_check_throw(Robj_to_lock, -1, R11_scratch1); + + // Try to acquire a lock on the object. + // Repeat until succeeded (i.e., until monitorenter returns true). + + // ------------------------------------------------------------------------------ + // Find a free slot in the monitor block. + Label Lfound, Lexit, Lallocate_new; + ConditionRegister found_free_slot = CCR0, + found_same_obj = CCR1, + reached_limit = CCR6; + { + Label Lloop, Lentry; + Register Rlimit = Rcurrent_monitor; + + // Set up search loop - start with topmost monitor. + __ add(Rcurrent_obj_addr, BasicObjectLock::obj_offset_in_bytes(), R26_monitor); + + __ ld(Rlimit, 0, R1_SP); + __ addi(Rlimit, Rlimit, - (frame::ijava_state_size + frame::interpreter_frame_monitor_size_in_bytes() - BasicObjectLock::obj_offset_in_bytes())); // Monitor base + + // Check if any slot is present => short cut to allocation if not. + __ cmpld(reached_limit, Rcurrent_obj_addr, Rlimit); + __ bgt(reached_limit, Lallocate_new); + + // Pre-load topmost slot. + __ ld(Rcurrent_obj, 0, Rcurrent_obj_addr); + __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize); + // The search loop. + __ bind(Lloop); + // Found free slot? + __ cmpdi(found_free_slot, Rcurrent_obj, 0); + // Is this entry for same obj? If so, stop the search and take the found + // free slot or allocate a new one to enable recursive locking. + __ cmpd(found_same_obj, Rcurrent_obj, Robj_to_lock); + __ cmpld(reached_limit, Rcurrent_obj_addr, Rlimit); + __ beq(found_free_slot, Lexit); + __ beq(found_same_obj, Lallocate_new); + __ bgt(reached_limit, Lallocate_new); + // Check if last allocated BasicLockObj reached. + __ ld(Rcurrent_obj, 0, Rcurrent_obj_addr); + __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize); + // Next iteration if unchecked BasicObjectLocks exist on the stack. + __ b(Lloop); + } + + // ------------------------------------------------------------------------------ + // Check if we found a free slot. + __ bind(Lexit); + + __ addi(Rcurrent_monitor, Rcurrent_obj_addr, -(frame::interpreter_frame_monitor_size() * wordSize) - BasicObjectLock::obj_offset_in_bytes()); + __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, - frame::interpreter_frame_monitor_size() * wordSize); + __ b(Lfound); + + // We didn't find a free BasicObjLock => allocate one. + __ align(32, 12); + __ bind(Lallocate_new); + __ add_monitor_to_stack(false, Rscratch1, Rscratch2); + __ mr(Rcurrent_monitor, R26_monitor); + __ addi(Rcurrent_obj_addr, R26_monitor, BasicObjectLock::obj_offset_in_bytes()); + + // ------------------------------------------------------------------------------ + // We now have a slot to lock. + __ bind(Lfound); + + // Increment bcp to point to the next bytecode, so exception handling for async. exceptions work correctly. + // The object has already been poped from the stack, so the expression stack looks correct. + __ addi(R14_bcp, R14_bcp, 1); + + __ std(Robj_to_lock, 0, Rcurrent_obj_addr); + __ lock_object(Rcurrent_monitor, Robj_to_lock); + + // Check if there's enough space on the stack for the monitors after locking. + Label Lskip_stack_check; + // Optimization: If the monitors stack section is less then a std page size (4K) don't run + // the stack check. There should be enough shadow pages to fit that in. + __ ld(Rscratch3, 0, R1_SP); + __ sub(Rscratch3, Rscratch3, R26_monitor); + __ cmpdi(CCR0, Rscratch3, 4*K); + __ blt(CCR0, Lskip_stack_check); + + DEBUG_ONLY(__ untested("stack overflow check during monitor enter");) + __ li(Rscratch1, 0); + __ generate_stack_overflow_check_with_compare_and_throw(Rscratch1, Rscratch2); + + __ align(32, 12); + __ bind(Lskip_stack_check); + + // The bcp has already been incremented. Just need to dispatch to next instruction. + __ dispatch_next(vtos); +} + +void TemplateTable::monitorexit() { + transition(atos, vtos); + __ verify_oop(R17_tos); + + Register Rcurrent_monitor = R11_scratch1, + Rcurrent_obj = R12_scratch2, + Robj_to_lock = R17_tos, + Rcurrent_obj_addr = R3_ARG1, + Rlimit = R4_ARG2; + Label Lfound, Lillegal_monitor_state; + + // Check corner case: unbalanced monitorEnter / Exit. + __ ld(Rlimit, 0, R1_SP); + __ addi(Rlimit, Rlimit, - (frame::ijava_state_size + frame::interpreter_frame_monitor_size_in_bytes())); // Monitor base + + // Null pointer check. + __ null_check_throw(Robj_to_lock, -1, R11_scratch1); + + __ cmpld(CCR0, R26_monitor, Rlimit); + __ bgt(CCR0, Lillegal_monitor_state); + + // Find the corresponding slot in the monitors stack section. + { + Label Lloop; + + // Start with topmost monitor. + __ addi(Rcurrent_obj_addr, R26_monitor, BasicObjectLock::obj_offset_in_bytes()); + __ addi(Rlimit, Rlimit, BasicObjectLock::obj_offset_in_bytes()); + __ ld(Rcurrent_obj, 0, Rcurrent_obj_addr); + __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize); + + __ bind(Lloop); + // Is this entry for same obj? + __ cmpd(CCR0, Rcurrent_obj, Robj_to_lock); + __ beq(CCR0, Lfound); + + // Check if last allocated BasicLockObj reached. + + __ ld(Rcurrent_obj, 0, Rcurrent_obj_addr); + __ cmpld(CCR0, Rcurrent_obj_addr, Rlimit); + __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize); + + // Next iteration if unchecked BasicObjectLocks exist on the stack. + __ ble(CCR0, Lloop); + } + + // Fell through without finding the basic obj lock => throw up! + __ bind(Lillegal_monitor_state); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_illegal_monitor_state_exception)); + __ should_not_reach_here(); + + __ align(32, 12); + __ bind(Lfound); + __ addi(Rcurrent_monitor, Rcurrent_obj_addr, + -(frame::interpreter_frame_monitor_size() * wordSize) - BasicObjectLock::obj_offset_in_bytes()); + __ unlock_object(Rcurrent_monitor); +} + +// ============================================================================ +// Wide bytecodes + +// Wide instructions. Simply redirects to the wide entry point for that instruction. +void TemplateTable::wide() { + transition(vtos, vtos); + + const Register Rtable = R11_scratch1, + Rindex = R12_scratch2, + Rtmp = R0; + + __ lbz(Rindex, 1, R14_bcp); + + __ load_dispatch_table(Rtable, Interpreter::_wentry_point); + + __ slwi(Rindex, Rindex, LogBytesPerWord); + __ ldx(Rtmp, Rtable, Rindex); + __ mtctr(Rtmp); + __ bctr(); + // Note: the bcp increment step is part of the individual wide bytecode implementations. +} +#endif // !CC_INTERP diff --git a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.hpp b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.hpp new file mode 100644 index 00000000000..1dfa8841c64 --- /dev/null +++ b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.hpp @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright 2013, 2014 SAP AG. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#ifndef CPU_PPC_VM_TEMPLATETABLE_PPC_64_HPP +#define CPU_PPC_VM_TEMPLATETABLE_PPC_64_HPP + + static void prepare_invoke(int byte_no, Register Rmethod, Register Rret_addr, Register Rindex, Register Rrecv, Register Rflags, Register Rscratch); + static void invokevfinal_helper(Register Rmethod, Register Rflags, Register Rscratch1, Register Rscratch2); + static void generate_vtable_call(Register Rrecv_klass, Register Rindex, Register Rret, Register Rtemp); + static void invokeinterface_object_method(Register Rrecv_klass, Register Rret, Register Rflags, Register Rindex, Register Rtemp, Register Rtemp2); + + // Branch_conditional which takes TemplateTable::Condition. + static void branch_conditional(ConditionRegister crx, TemplateTable::Condition cc, Label& L, bool invert = false); + static void if_cmp_common(Register Rfirst, Register Rsecond, Register Rscratch1, Register Rscratch2, Condition cc, bool is_jint, bool cmp0); + +#endif // CPU_PPC_VM_TEMPLATETABLE_PPC_64_HPP diff --git a/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp b/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp index a732c7bfc80..567a5d0d3f6 100644 --- a/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp @@ -24,7 +24,8 @@ */ #include "precompiled.hpp" -#include "assembler_ppc.inline.hpp" +#include "asm/assembler.inline.hpp" +#include "asm/macroAssembler.inline.hpp" #include "compiler/disassembler.hpp" #include "memory/resourceArea.hpp" #include "runtime/java.hpp" @@ -168,7 +169,7 @@ void VM_Version::determine_section_size() { uint32_t *code = (uint32_t *)a->pc(); // Emit code. - void (*test1)() = (void(*)())(void *)a->emit_fd(); + void (*test1)() = (void(*)())(void *)a->function_entry(); Label l1; @@ -242,7 +243,7 @@ void VM_Version::determine_section_size() { a->blr(); // Emit code. - void (*test2)() = (void(*)())(void *)a->emit_fd(); + void (*test2)() = (void(*)())(void *)a->function_entry(); // uint32_t *code = (uint32_t *)a->pc(); Label l2; @@ -383,8 +384,12 @@ void VM_Version::determine_section_size() { #endif // COMPILER2 void VM_Version::determine_features() { +#if defined(ABI_ELFv2) + const int code_size = (num_features+1+2*7)*BytesPerInstWord; // TODO(asmundak): calculation is incorrect. +#else // 7 InstWords for each call (function descriptor + blr instruction). const int code_size = (num_features+1+2*7)*BytesPerInstWord; +#endif int features = 0; // create test area @@ -398,7 +403,7 @@ void VM_Version::determine_features() { MacroAssembler* a = new MacroAssembler(&cb); // Emit code. - void (*test)(address addr, uint64_t offset)=(void(*)(address addr, uint64_t offset))(void *)a->emit_fd(); + void (*test)(address addr, uint64_t offset)=(void(*)(address addr, uint64_t offset))(void *)a->function_entry(); uint32_t *code = (uint32_t *)a->pc(); // Don't use R0 in ldarx. // Keep R3_ARG1 unmodified, it contains &field (see below). @@ -415,7 +420,7 @@ void VM_Version::determine_features() { a->blr(); // Emit function to set one cache line to zero. Emit function descriptor and get pointer to it. - void (*zero_cacheline_func_ptr)(char*) = (void(*)(char*))(void *)a->emit_fd(); + void (*zero_cacheline_func_ptr)(char*) = (void(*)(char*))(void *)a->function_entry(); a->dcbz(R3_ARG1); // R3_ARG1 = addr a->blr(); diff --git a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp index 371b6aa7f71..1a53471e596 100644 --- a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp @@ -413,16 +413,15 @@ void InterpreterGenerator::generate_counter_incr(Label* overflow, Label* profile // Update standard invocation counters __ increment_invocation_counter(Rcounters, O0, G4_scratch); if (ProfileInterpreter) { - Address interpreter_invocation_counter(Rcounters, 0, + Address interpreter_invocation_counter(Rcounters, in_bytes(MethodCounters::interpreter_invocation_counter_offset())); __ ld(interpreter_invocation_counter, G4_scratch); __ inc(G4_scratch); __ st(G4_scratch, interpreter_invocation_counter); } - Address invocation_limit(G3_scratch, (address)&InvocationCounter::InterpreterInvocationLimit); - __ sethi(invocation_limit); - __ ld(invocation_limit, G3_scratch); + AddressLiteral invocation_limit((address)&InvocationCounter::InterpreterInvocationLimit); + __ load_contents(invocation_limit, G3_scratch); __ cmp(O0, G3_scratch); __ br(Assembler::greaterEqualUnsigned, false, Assembler::pn, *overflow); __ delayed()->nop(); @@ -439,7 +438,7 @@ address InterpreterGenerator::generate_empty_entry(void) { // do nothing for empty methods (do not even increment invocation counter) if ( UseFastEmptyMethods) { // If we need a safepoint check, generate full interpreter entry. - Address sync_state(G3_scratch, SafepointSynchronize::address_of_state()); + AddressLiteral sync_state(SafepointSynchronize::address_of_state()); __ load_contents(sync_state, G3_scratch); __ cmp(G3_scratch, SafepointSynchronize::_not_synchronized); __ br(Assembler::notEqual, false, Assembler::pn, frame_manager_entry); @@ -471,7 +470,7 @@ address InterpreterGenerator::generate_accessor_entry(void) { if ( UseFastAccessorMethods) { // Check if we need to reach a safepoint and generate full interpreter // frame if so. - Address sync_state(G3_scratch, SafepointSynchronize::address_of_state()); + AddressLiteral sync_state(SafepointSynchronize::address_of_state()); __ load_contents(sync_state, G3_scratch); __ cmp(G3_scratch, SafepointSynchronize::_not_synchronized); __ br(Assembler::notEqual, false, Assembler::pn, slow_path); @@ -486,8 +485,8 @@ address InterpreterGenerator::generate_accessor_entry(void) { // read first instruction word and extract bytecode @ 1 and index @ 2 // get first 4 bytes of the bytecodes (big endian!) - __ ld_ptr(Address(G5_method, 0, in_bytes(Method::const_offset())), G1_scratch); - __ ld(Address(G1_scratch, 0, in_bytes(ConstMethod::codes_offset())), G1_scratch); + __ ld_ptr(Address(G5_method, in_bytes(Method::const_offset())), G1_scratch); + __ ld(Address(G1_scratch, in_bytes(ConstMethod::codes_offset())), G1_scratch); // move index @ 2 far left then to the right most two bytes. __ sll(G1_scratch, 2*BitsPerByte, G1_scratch); @@ -590,15 +589,15 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { const Register Gtmp1 = G3_scratch ; const Register Gtmp2 = G1_scratch; const Register RconstMethod = Gtmp1; - const Address constMethod(G5_method, 0, in_bytes(Method::const_offset())); - const Address size_of_parameters(RconstMethod, 0, in_bytes(ConstMethod::size_of_parameters_offset())); + const Address constMethod(G5_method, in_bytes(Method::const_offset())); + const Address size_of_parameters(RconstMethod, in_bytes(ConstMethod::size_of_parameters_offset())); bool inc_counter = UseCompiler || CountCompiledCalls; // make sure registers are different! assert_different_registers(G2_thread, G5_method, Gargs, Gtmp1, Gtmp2); - const Address access_flags (G5_method, 0, in_bytes(Method::access_flags_offset())); + const Address access_flags (G5_method, in_bytes(Method::access_flags_offset())); Label Lentry; __ bind(Lentry); @@ -643,7 +642,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // At this point Lstate points to new interpreter state // - const Address do_not_unlock_if_synchronized(G2_thread, 0, + const Address do_not_unlock_if_synchronized(G2_thread, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset())); // Since at this point in the method invocation the exception handler // would try to exit the monitor of synchronized methods which hasn't @@ -717,17 +716,17 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { { Label L; __ ld_ptr(STATE(_method), G5_method); - __ ld_ptr(Address(G5_method, 0, in_bytes(Method::signature_handler_offset())), G3_scratch); + __ ld_ptr(Address(G5_method, in_bytes(Method::signature_handler_offset())), G3_scratch); __ tst(G3_scratch); __ brx(Assembler::notZero, false, Assembler::pt, L); __ delayed()->nop(); __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::prepare_native_call), G5_method, false); __ ld_ptr(STATE(_method), G5_method); - Address exception_addr(G2_thread, 0, in_bytes(Thread::pending_exception_offset())); + Address exception_addr(G2_thread, in_bytes(Thread::pending_exception_offset())); __ ld_ptr(exception_addr, G3_scratch); __ br_notnull_short(G3_scratch, Assembler::pn, pending_exception_present); - __ ld_ptr(Address(G5_method, 0, in_bytes(Method::signature_handler_offset())), G3_scratch); + __ ld_ptr(Address(G5_method, in_bytes(Method::signature_handler_offset())), G3_scratch); __ bind(L); } @@ -771,13 +770,13 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { __ br( Assembler::zero, false, Assembler::pt, not_static); __ delayed()-> // get native function entry point(O0 is a good temp until the very end) - ld_ptr(Address(G5_method, 0, in_bytes(Method::native_function_offset())), O0); + ld_ptr(Address(G5_method, in_bytes(Method::native_function_offset())), O0); // for static methods insert the mirror argument const int mirror_offset = in_bytes(Klass::java_mirror_offset()); - __ ld_ptr(Address(G5_method, 0, in_bytes(Method:: const_offset())), O1); - __ ld_ptr(Address(O1, 0, in_bytes(ConstMethod::constants_offset())), O1); - __ ld_ptr(Address(O1, 0, ConstantPool::pool_holder_offset_in_bytes()), O1); + __ ld_ptr(Address(G5_method, in_bytes(Method:: const_offset())), O1); + __ ld_ptr(Address(O1, in_bytes(ConstMethod::constants_offset())), O1); + __ ld_ptr(Address(O1, ConstantPool::pool_holder_offset_in_bytes()), O1); __ ld_ptr(O1, mirror_offset, O1); // where the mirror handle body is allocated: #ifdef ASSERT @@ -831,18 +830,17 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // flush the windows now. We don't care about the current (protection) frame // only the outer frames - __ flush_windows(); + __ flushw(); // mark windows as flushed Address flags(G2_thread, - 0, in_bytes(JavaThread::frame_anchor_offset()) + in_bytes(JavaFrameAnchor::flags_offset())); __ set(JavaFrameAnchor::flushed, G3_scratch); __ st(G3_scratch, flags); // Transition from _thread_in_Java to _thread_in_native. We are already safepoint ready. - Address thread_state(G2_thread, 0, in_bytes(JavaThread::thread_state_offset())); + Address thread_state(G2_thread, in_bytes(JavaThread::thread_state_offset())); #ifdef ASSERT { Label L; __ ld(thread_state, G3_scratch); @@ -867,7 +865,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // Block, if necessary, before resuming in _thread_in_Java state. // In order for GC to work, don't clear the last_Java_sp until after blocking. { Label no_block; - Address sync_state(G3_scratch, SafepointSynchronize::address_of_state()); + AddressLiteral sync_state(SafepointSynchronize::address_of_state()); // Switch thread to "native transition" state before reading the synchronization state. // This additional state is necessary because reading and testing the synchronization @@ -890,7 +888,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { Label L; - Address suspend_state(G2_thread, 0, in_bytes(JavaThread::suspend_flags_offset())); + Address suspend_state(G2_thread, in_bytes(JavaThread::suspend_flags_offset())); __ br(Assembler::notEqual, false, Assembler::pn, L); __ delayed()-> ld(suspend_state, G3_scratch); @@ -965,7 +963,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // handle exceptions (exception handling will handle unlocking!) { Label L; - Address exception_addr (G2_thread, 0, in_bytes(Thread::pending_exception_offset())); + Address exception_addr (G2_thread, in_bytes(Thread::pending_exception_offset())); __ ld_ptr(exception_addr, Gtemp); __ tst(Gtemp); @@ -1055,8 +1053,8 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register assert_different_registers(state, prev_state); assert_different_registers(prev_state, G3_scratch); const Register Gtmp = G3_scratch; - const Address constMethod (G5_method, 0, in_bytes(Method::const_offset())); - const Address access_flags (G5_method, 0, in_bytes(Method::access_flags_offset())); + const Address constMethod (G5_method, in_bytes(Method::const_offset())); + const Address access_flags (G5_method, in_bytes(Method::access_flags_offset())); // slop factor is two extra slots on the expression stack so that // we always have room to store a result when returning from a call without parameters @@ -1075,7 +1073,7 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register if (native) { const Register RconstMethod = Gtmp; - const Address size_of_parameters(RconstMethod, 0, in_bytes(ConstMethod::size_of_parameters_offset())); + const Address size_of_parameters(RconstMethod, in_bytes(ConstMethod::size_of_parameters_offset())); __ ld_ptr(constMethod, RconstMethod); __ lduh( size_of_parameters, Gtmp ); __ calc_mem_param_words(Gtmp, Gtmp); // space for native call parameters passed on the stack in words @@ -1246,8 +1244,8 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register if (init_value != noreg) { Label clear_loop; const Register RconstMethod = O1; - const Address size_of_parameters(RconstMethod, 0, in_bytes(ConstMethod::size_of_parameters_offset())); - const Address size_of_locals (RconstMethod, 0, in_bytes(ConstMethod::size_of_locals_offset())); + const Address size_of_parameters(RconstMethod, in_bytes(ConstMethod::size_of_parameters_offset())); + const Address size_of_locals (RconstMethod, in_bytes(ConstMethod::size_of_locals_offset())); // NOTE: If you change the frame layout, this code will need to // be updated! @@ -1496,11 +1494,11 @@ void CppInterpreterGenerator::adjust_callers_stack(Register args) { // // assert_different_registers(state, prev_state); const Register Gtmp = G3_scratch; - const RconstMethod = G3_scratch; + const Register RconstMethod = G3_scratch; const Register tmp = O2; - const Address constMethod(G5_method, 0, in_bytes(Method::const_offset())); - const Address size_of_parameters(RconstMethod, 0, in_bytes(ConstMethod::size_of_parameters_offset())); - const Address size_of_locals (RconstMethod, 0, in_bytes(ConstMethod::size_of_locals_offset())); + const Address constMethod(G5_method, in_bytes(Method::const_offset())); + const Address size_of_parameters(RconstMethod, in_bytes(ConstMethod::size_of_parameters_offset())); + const Address size_of_locals (RconstMethod, in_bytes(ConstMethod::size_of_locals_offset())); __ ld_ptr(constMethod, RconstMethod); __ lduh(size_of_parameters, tmp); @@ -1555,8 +1553,8 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) { const Register Gtmp1 = G3_scratch; // const Register Lmirror = L1; // native mirror (native calls only) - const Address constMethod (G5_method, 0, in_bytes(Method::const_offset())); - const Address access_flags (G5_method, 0, in_bytes(Method::access_flags_offset())); + const Address constMethod (G5_method, in_bytes(Method::const_offset())); + const Address access_flags (G5_method, in_bytes(Method::access_flags_offset())); address entry_point = __ pc(); __ mov(G0, prevState); // no current activation @@ -1709,7 +1707,7 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) { // We want exception in the thread no matter what we ultimately decide about frame type. - Address exception_addr (G2_thread, 0, in_bytes(Thread::pending_exception_offset())); + Address exception_addr (G2_thread, in_bytes(Thread::pending_exception_offset())); __ verify_thread(); __ st_ptr(O0, exception_addr); diff --git a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp index 6ce05bdfce1..29b37f006a5 100644 --- a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp @@ -827,6 +827,7 @@ void frame::describe_pd(FrameValues& values, int frame_no) { } if (is_interpreted_frame()) { +#ifndef CC_INTERP DESCRIBE_FP_OFFSET(interpreter_frame_d_scratch_fp); DESCRIBE_FP_OFFSET(interpreter_frame_l_scratch_fp); DESCRIBE_FP_OFFSET(interpreter_frame_padding); @@ -837,6 +838,7 @@ void frame::describe_pd(FrameValues& values, int frame_no) { if ((esp >= sp()) && (esp < fp())) { values.describe(-1, esp, "*Lesp"); } +#endif } if (!is_compiled_frame()) { diff --git a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp index c22f20a23d4..9d4d13bf663 100644 --- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp @@ -2497,6 +2497,24 @@ void InterpreterMacroAssembler::verify_oop_or_return_address(Register reg, Regis void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) { if (state == ftos || state == dtos) MacroAssembler::verify_FPU(stack_depth); } + + +// Jump if ((*counter_addr += increment) & mask) satisfies the condition. +void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr, + int increment, int mask, + Register scratch1, Register scratch2, + Condition cond, Label *where) { + ld(counter_addr, scratch1); + add(scratch1, increment, scratch1); + if (is_simm13(mask)) { + andcc(scratch1, mask, G0); + } else { + set(mask, scratch2); + andcc(scratch1, scratch2, G0); + } + br(cond, false, Assembler::pn, *where); + delayed()->st(scratch1, counter_addr); +} #endif /* CC_INTERP */ // Inline assembly for: @@ -2646,20 +2664,3 @@ void InterpreterMacroAssembler::restore_return_value( TosState state, bool is_na } #endif // CC_INTERP } - -// Jump if ((*counter_addr += increment) & mask) satisfies the condition. -void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr, - int increment, int mask, - Register scratch1, Register scratch2, - Condition cond, Label *where) { - ld(counter_addr, scratch1); - add(scratch1, increment, scratch1); - if (is_simm13(mask)) { - andcc(scratch1, mask, G0); - } else { - set(mask, scratch2); - andcc(scratch1, scratch2, G0); - } - br(cond, false, Assembler::pn, *where); - delayed()->st(scratch1, counter_addr); -} diff --git a/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp b/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp index f5ac37cf6fa..c15c3c0994f 100644 --- a/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp @@ -23,7 +23,8 @@ */ #include "precompiled.hpp" -#include "asm/macroAssembler.hpp" +#include "asm/macroAssembler.inline.hpp" +#include "code/codeCache.hpp" #include "memory/resourceArea.hpp" #include "nativeInst_sparc.hpp" #include "oops/oop.inline.hpp" diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.cpp b/hotspot/src/cpu/x86/vm/assembler_x86.cpp index 49cc9ed65cf..d305ac18537 100644 --- a/hotspot/src/cpu/x86/vm/assembler_x86.cpp +++ b/hotspot/src/cpu/x86/vm/assembler_x86.cpp @@ -1089,6 +1089,21 @@ void Assembler::andl(Register dst, Register src) { emit_arith(0x23, 0xC0, dst, src); } +void Assembler::andnl(Register dst, Register src1, Register src2) { + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + int encode = vex_prefix_0F38_and_encode(dst, src1, src2); + emit_int8((unsigned char)0xF2); + emit_int8((unsigned char)(0xC0 | encode)); +} + +void Assembler::andnl(Register dst, Register src1, Address src2) { + InstructionMark im(this); + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + vex_prefix_0F38(dst, src1, src2); + emit_int8((unsigned char)0xF2); + emit_operand(dst, src2); +} + void Assembler::bsfl(Register dst, Register src) { int encode = prefix_and_encode(dst->encoding(), src->encoding()); emit_int8(0x0F); @@ -1110,6 +1125,51 @@ void Assembler::bswapl(Register reg) { // bswap emit_int8((unsigned char)(0xC8 | encode)); } +void Assembler::blsil(Register dst, Register src) { + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + int encode = vex_prefix_0F38_and_encode(rbx, dst, src); + emit_int8((unsigned char)0xF3); + emit_int8((unsigned char)(0xC0 | encode)); +} + +void Assembler::blsil(Register dst, Address src) { + InstructionMark im(this); + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + vex_prefix_0F38(rbx, dst, src); + emit_int8((unsigned char)0xF3); + emit_operand(rbx, src); +} + +void Assembler::blsmskl(Register dst, Register src) { + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + int encode = vex_prefix_0F38_and_encode(rdx, dst, src); + emit_int8((unsigned char)0xF3); + emit_int8((unsigned char)(0xC0 | encode)); +} + +void Assembler::blsmskl(Register dst, Address src) { + InstructionMark im(this); + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + vex_prefix_0F38(rdx, dst, src); + emit_int8((unsigned char)0xF3); + emit_operand(rdx, src); +} + +void Assembler::blsrl(Register dst, Register src) { + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + int encode = vex_prefix_0F38_and_encode(rcx, dst, src); + emit_int8((unsigned char)0xF3); + emit_int8((unsigned char)(0xC0 | encode)); +} + +void Assembler::blsrl(Register dst, Address src) { + InstructionMark im(this); + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + vex_prefix_0F38(rcx, dst, src); + emit_int8((unsigned char)0xF3); + emit_operand(rcx, src); +} + void Assembler::call(Label& L, relocInfo::relocType rtype) { // suspect disp32 is always good int operand = LP64_ONLY(disp32_operand) NOT_LP64(imm_operand); @@ -2878,6 +2938,24 @@ void Assembler::testl(Register dst, Address src) { emit_operand(dst, src); } +void Assembler::tzcntl(Register dst, Register src) { + assert(VM_Version::supports_bmi1(), "tzcnt instruction not supported"); + emit_int8((unsigned char)0xF3); + int encode = prefix_and_encode(dst->encoding(), src->encoding()); + emit_int8(0x0F); + emit_int8((unsigned char)0xBC); + emit_int8((unsigned char)0xC0 | encode); +} + +void Assembler::tzcntq(Register dst, Register src) { + assert(VM_Version::supports_bmi1(), "tzcnt instruction not supported"); + emit_int8((unsigned char)0xF3); + int encode = prefixq_and_encode(dst->encoding(), src->encoding()); + emit_int8(0x0F); + emit_int8((unsigned char)0xBC); + emit_int8((unsigned char)(0xC0 | encode)); +} + void Assembler::ucomisd(XMMRegister dst, Address src) { NOT_LP64(assert(VM_Version::supports_sse2(), "")); emit_simd_arith_nonds(0x2E, dst, src, VEX_SIMD_66); @@ -4837,6 +4915,21 @@ void Assembler::andq(Register dst, Register src) { emit_arith(0x23, 0xC0, dst, src); } +void Assembler::andnq(Register dst, Register src1, Register src2) { + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + int encode = vex_prefix_0F38_and_encode_q(dst, src1, src2); + emit_int8((unsigned char)0xF2); + emit_int8((unsigned char)(0xC0 | encode)); +} + +void Assembler::andnq(Register dst, Register src1, Address src2) { + InstructionMark im(this); + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + vex_prefix_0F38_q(dst, src1, src2); + emit_int8((unsigned char)0xF2); + emit_operand(dst, src2); +} + void Assembler::bsfq(Register dst, Register src) { int encode = prefixq_and_encode(dst->encoding(), src->encoding()); emit_int8(0x0F); @@ -4858,6 +4951,51 @@ void Assembler::bswapq(Register reg) { emit_int8((unsigned char)(0xC8 | encode)); } +void Assembler::blsiq(Register dst, Register src) { + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + int encode = vex_prefix_0F38_and_encode_q(rbx, dst, src); + emit_int8((unsigned char)0xF3); + emit_int8((unsigned char)(0xC0 | encode)); +} + +void Assembler::blsiq(Register dst, Address src) { + InstructionMark im(this); + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + vex_prefix_0F38_q(rbx, dst, src); + emit_int8((unsigned char)0xF3); + emit_operand(rbx, src); +} + +void Assembler::blsmskq(Register dst, Register src) { + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + int encode = vex_prefix_0F38_and_encode_q(rdx, dst, src); + emit_int8((unsigned char)0xF3); + emit_int8((unsigned char)(0xC0 | encode)); +} + +void Assembler::blsmskq(Register dst, Address src) { + InstructionMark im(this); + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + vex_prefix_0F38_q(rdx, dst, src); + emit_int8((unsigned char)0xF3); + emit_operand(rdx, src); +} + +void Assembler::blsrq(Register dst, Register src) { + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + int encode = vex_prefix_0F38_and_encode_q(rcx, dst, src); + emit_int8((unsigned char)0xF3); + emit_int8((unsigned char)(0xC0 | encode)); +} + +void Assembler::blsrq(Register dst, Address src) { + InstructionMark im(this); + assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported"); + vex_prefix_0F38_q(rcx, dst, src); + emit_int8((unsigned char)0xF3); + emit_operand(rcx, src); +} + void Assembler::cdqq() { prefix(REX_W); emit_int8((unsigned char)0x99); diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.hpp b/hotspot/src/cpu/x86/vm/assembler_x86.hpp index 1ad66bd6a95..95ca231cef4 100644 --- a/hotspot/src/cpu/x86/vm/assembler_x86.hpp +++ b/hotspot/src/cpu/x86/vm/assembler_x86.hpp @@ -590,10 +590,35 @@ private: vex_prefix(src, nds_enc, dst_enc, pre, VEX_OPCODE_0F, false, vector256); } + void vex_prefix_0F38(Register dst, Register nds, Address src) { + bool vex_w = false; + bool vector256 = false; + vex_prefix(src, nds->encoding(), dst->encoding(), + VEX_SIMD_NONE, VEX_OPCODE_0F_38, vex_w, vector256); + } + + void vex_prefix_0F38_q(Register dst, Register nds, Address src) { + bool vex_w = true; + bool vector256 = false; + vex_prefix(src, nds->encoding(), dst->encoding(), + VEX_SIMD_NONE, VEX_OPCODE_0F_38, vex_w, vector256); + } int vex_prefix_and_encode(int dst_enc, int nds_enc, int src_enc, VexSimdPrefix pre, VexOpcode opc, bool vex_w, bool vector256); + int vex_prefix_0F38_and_encode(Register dst, Register nds, Register src) { + bool vex_w = false; + bool vector256 = false; + return vex_prefix_and_encode(dst->encoding(), nds->encoding(), src->encoding(), + VEX_SIMD_NONE, VEX_OPCODE_0F_38, vex_w, vector256); + } + int vex_prefix_0F38_and_encode_q(Register dst, Register nds, Register src) { + bool vex_w = true; + bool vector256 = false; + return vex_prefix_and_encode(dst->encoding(), nds->encoding(), src->encoding(), + VEX_SIMD_NONE, VEX_OPCODE_0F_38, vex_w, vector256); + } int vex_prefix_and_encode(XMMRegister dst, XMMRegister nds, XMMRegister src, VexSimdPrefix pre, bool vector256 = false, VexOpcode opc = VEX_OPCODE_0F) { @@ -897,6 +922,27 @@ private: void andq(Register dst, Address src); void andq(Register dst, Register src); + // BMI instructions + void andnl(Register dst, Register src1, Register src2); + void andnl(Register dst, Register src1, Address src2); + void andnq(Register dst, Register src1, Register src2); + void andnq(Register dst, Register src1, Address src2); + + void blsil(Register dst, Register src); + void blsil(Register dst, Address src); + void blsiq(Register dst, Register src); + void blsiq(Register dst, Address src); + + void blsmskl(Register dst, Register src); + void blsmskl(Register dst, Address src); + void blsmskq(Register dst, Register src); + void blsmskq(Register dst, Address src); + + void blsrl(Register dst, Register src); + void blsrl(Register dst, Address src); + void blsrq(Register dst, Register src); + void blsrq(Register dst, Address src); + void bsfl(Register dst, Register src); void bsrl(Register dst, Register src); @@ -1574,6 +1620,9 @@ private: void testq(Register dst, int32_t imm32); void testq(Register dst, Register src); + // BMI - count trailing zeros + void tzcntl(Register dst, Register src); + void tzcntq(Register dst, Register src); // Unordered Compare Scalar Double-Precision Floating-Point Values and set EFLAGS void ucomisd(XMMRegister dst, Address src); diff --git a/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp b/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp index 4f60b455801..d205f1db79a 100644 --- a/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp +++ b/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp @@ -250,7 +250,7 @@ inline jint BytecodeInterpreter::VMintSub(jint op1, jint op2) { return op1 - op2; } -inline jint BytecodeInterpreter::VMintUshr(jint op1, jint op2) { +inline juint BytecodeInterpreter::VMintUshr(jint op1, jint op2) { return ((juint) op1) >> (op2 & 0x1f); } diff --git a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp index e669f5b6638..0ddf854f364 100644 --- a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp +++ b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp @@ -574,7 +574,7 @@ void InterpreterGenerator::generate_counter_incr(Label* overflow, Label* profile MethodCounters::invocation_counter_offset() + InvocationCounter::counter_offset()); const Address backedge_counter (rax, - MethodCounter::backedge_counter_offset() + + MethodCounters::backedge_counter_offset() + InvocationCounter::counter_offset()); __ get_method_counters(rbx, rax, done); @@ -982,16 +982,18 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // to save/restore. address entry_point = __ pc(); - const Address constMethod (rbx, Method::const_offset()); const Address access_flags (rbx, Method::access_flags_offset()); - const Address size_of_parameters(rcx, ConstMethod::size_of_parameters_offset()); // rsi/r13 == state/locals rdi == prevstate const Register locals = rdi; // get parameter size (always needed) - __ movptr(rcx, constMethod); - __ load_unsigned_short(rcx, size_of_parameters); + { + const Address constMethod (rbx, Method::const_offset()); + const Address size_of_parameters(rcx, ConstMethod::size_of_parameters_offset()); + __ movptr(rcx, constMethod); + __ load_unsigned_short(rcx, size_of_parameters); + } // rbx: Method* // rcx: size of parameters @@ -1111,14 +1113,16 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { const Register method = rbx; const Register thread = LP64_ONLY(r15_thread) NOT_LP64(rdi); const Register t = InterpreterRuntime::SignatureHandlerGenerator::temp(); // rcx|rscratch1 - const Address constMethod (method, Method::const_offset()); - const Address size_of_parameters(t, ConstMethod::size_of_parameters_offset()); - // allocate space for parameters + // allocate space for parameters __ movptr(method, STATE(_method)); __ verify_method_ptr(method); - __ movptr(t, constMethod); - __ load_unsigned_short(t, size_of_parameters); + { + const Address constMethod (method, Method::const_offset()); + const Address size_of_parameters(t, ConstMethod::size_of_parameters_offset()); + __ movptr(t, constMethod); + __ load_unsigned_short(t, size_of_parameters); + } __ shll(t, 2); #ifdef _LP64 __ subptr(rsp, t); @@ -2221,7 +2225,6 @@ address AbstractInterpreterGenerator::generate_method_entry(AbstractInterpreter: case Interpreter::empty : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry(); break; case Interpreter::accessor : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry(); break; case Interpreter::abstract : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry(); break; - case Interpreter::method_handle : entry_point = ((InterpreterGenerator*)this)->generate_method_handle_entry(); break; case Interpreter::java_lang_math_sin : // fall thru case Interpreter::java_lang_math_cos : // fall thru @@ -2229,7 +2232,10 @@ address AbstractInterpreterGenerator::generate_method_entry(AbstractInterpreter: case Interpreter::java_lang_math_abs : // fall thru case Interpreter::java_lang_math_log : // fall thru case Interpreter::java_lang_math_log10 : // fall thru - case Interpreter::java_lang_math_sqrt : entry_point = ((InterpreterGenerator*)this)->generate_math_entry(kind); break; + case Interpreter::java_lang_math_sqrt : // fall thru + case Interpreter::java_lang_math_pow : // fall thru + case Interpreter::java_lang_math_exp : // fall thru + entry_point = ((InterpreterGenerator*)this)->generate_math_entry(kind); break; case Interpreter::java_lang_ref_reference_get : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break; default : ShouldNotReachHere(); break; @@ -2451,4 +2457,22 @@ int AbstractInterpreter::layout_activation(Method* method, return frame_size/BytesPerWord; } +bool AbstractInterpreter::can_be_compiled(methodHandle m) { + switch (method_kind(m)) { + case Interpreter::java_lang_math_sin : // fall thru + case Interpreter::java_lang_math_cos : // fall thru + case Interpreter::java_lang_math_tan : // fall thru + case Interpreter::java_lang_math_abs : // fall thru + case Interpreter::java_lang_math_log : // fall thru + case Interpreter::java_lang_math_log10 : // fall thru + case Interpreter::java_lang_math_sqrt : // fall thru + case Interpreter::java_lang_math_pow : // fall thru + case Interpreter::java_lang_math_exp : + return false; + default: + return true; + } +} + + #endif // CC_INTERP (all) diff --git a/hotspot/src/cpu/x86/vm/frame_x86.cpp b/hotspot/src/cpu/x86/vm/frame_x86.cpp index 4e83863a9f9..deeb48a44bb 100644 --- a/hotspot/src/cpu/x86/vm/frame_x86.cpp +++ b/hotspot/src/cpu/x86/vm/frame_x86.cpp @@ -687,6 +687,7 @@ intptr_t* frame::interpreter_frame_tos_at(jint offset) const { void frame::describe_pd(FrameValues& values, int frame_no) { if (is_interpreted_frame()) { +#ifndef CC_INTERP DESCRIBE_FP_OFFSET(interpreter_frame_sender_sp); DESCRIBE_FP_OFFSET(interpreter_frame_last_sp); DESCRIBE_FP_OFFSET(interpreter_frame_method); @@ -695,6 +696,7 @@ void frame::describe_pd(FrameValues& values, int frame_no) { DESCRIBE_FP_OFFSET(interpreter_frame_locals); DESCRIBE_FP_OFFSET(interpreter_frame_bcx); DESCRIBE_FP_OFFSET(interpreter_frame_initial_sp); +#endif } } #endif diff --git a/hotspot/src/cpu/x86/vm/globals_x86.hpp b/hotspot/src/cpu/x86/vm/globals_x86.hpp index e82c192901b..f29e5d6e322 100644 --- a/hotspot/src/cpu/x86/vm/globals_x86.hpp +++ b/hotspot/src/cpu/x86/vm/globals_x86.hpp @@ -135,5 +135,11 @@ define_pd_global(uintx, TypeProfileLevel, 111); \ product(bool, UseCountLeadingZerosInstruction, false, \ "Use count leading zeros instruction") \ + \ + product(bool, UseCountTrailingZerosInstruction, false, \ + "Use count trailing zeros instruction") \ + \ + product(bool, UseBMI1Instructions, false, \ + "Use BMI instructions") #endif // CPU_X86_VM_GLOBALS_X86_HPP diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp index b6f2438db83..92f58b4d61a 100644 --- a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp @@ -266,20 +266,6 @@ void InterpreterMacroAssembler::get_cache_entry_pointer_at_bcp(Register cache, R addptr(cache, tmp); // construct pointer to cache entry } -void InterpreterMacroAssembler::get_method_counters(Register method, - Register mcs, Label& skip) { - Label has_counters; - movptr(mcs, Address(method, Method::method_counters_offset())); - testptr(mcs, mcs); - jcc(Assembler::notZero, has_counters); - call_VM(noreg, CAST_FROM_FN_PTR(address, - InterpreterRuntime::build_method_counters), method); - movptr(mcs, Address(method,Method::method_counters_offset())); - testptr(mcs, mcs); - jcc(Assembler::zero, skip); // No MethodCounters allocated, OutOfMemory - bind(has_counters); -} - // Load object from cpool->resolved_references(index) void InterpreterMacroAssembler::load_resolved_reference_at_index( Register result, Register index) { @@ -678,6 +664,20 @@ void InterpreterMacroAssembler::remove_activation(TosState state, Register ret_a #endif /* !CC_INTERP */ +void InterpreterMacroAssembler::get_method_counters(Register method, + Register mcs, Label& skip) { + Label has_counters; + movptr(mcs, Address(method, Method::method_counters_offset())); + testptr(mcs, mcs); + jcc(Assembler::notZero, has_counters); + call_VM(noreg, CAST_FROM_FN_PTR(address, + InterpreterRuntime::build_method_counters), method); + movptr(mcs, Address(method,Method::method_counters_offset())); + testptr(mcs, mcs); + jcc(Assembler::zero, skip); // No MethodCounters allocated, OutOfMemory + bind(has_counters); +} + // Lock object // @@ -1359,6 +1359,19 @@ void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) { if (state == ftos || state == dtos) MacroAssembler::verify_FPU(stack_depth); } +// Jump if ((*counter_addr += increment) & mask) satisfies the condition. +void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr, + int increment, int mask, + Register scratch, bool preloaded, + Condition cond, Label* where) { + if (!preloaded) { + movl(scratch, counter_addr); + } + incrementl(scratch, increment); + movl(counter_addr, scratch); + andl(scratch, mask); + jcc(cond, *where); +} #endif /* CC_INTERP */ @@ -1430,17 +1443,3 @@ void InterpreterMacroAssembler::notify_method_exit( NOT_CC_INTERP(pop(state)); } } - -// Jump if ((*counter_addr += increment) & mask) satisfies the condition. -void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr, - int increment, int mask, - Register scratch, bool preloaded, - Condition cond, Label* where) { - if (!preloaded) { - movl(scratch, counter_addr); - } - incrementl(scratch, increment); - movl(counter_addr, scratch); - andl(scratch, mask); - jcc(cond, *where); -} diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp index 19ff288bfee..88f01fc5852 100644 --- a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp +++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp @@ -77,7 +77,6 @@ void get_cache_and_index_and_bytecode_at_bcp(Register cache, Register index, Register bytecode, int byte_no, int bcp_offset, size_t index_size = sizeof(u2)); void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2)); void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2)); - void get_method_counters(Register method, Register mcs, Label& skip); // load cpool->resolved_references(index); void load_resolved_reference_at_index(Register result, Register index); @@ -156,6 +155,7 @@ bool install_monitor_exception = true, bool notify_jvmdi = true); #endif /* !CC_INTERP */ + void get_method_counters(Register method, Register mcs, Label& skip); // Debugging void verify_oop(Register reg, TosState state = atos); // only if +VerifyOops && state == atos diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp index 520c872a604..356106e946f 100644 --- a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp +++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp @@ -271,20 +271,6 @@ void InterpreterMacroAssembler::get_cache_entry_pointer_at_bcp(Register cache, addptr(cache, tmp); // construct pointer to cache entry } -void InterpreterMacroAssembler::get_method_counters(Register method, - Register mcs, Label& skip) { - Label has_counters; - movptr(mcs, Address(method, Method::method_counters_offset())); - testptr(mcs, mcs); - jcc(Assembler::notZero, has_counters); - call_VM(noreg, CAST_FROM_FN_PTR(address, - InterpreterRuntime::build_method_counters), method); - movptr(mcs, Address(method,Method::method_counters_offset())); - testptr(mcs, mcs); - jcc(Assembler::zero, skip); // No MethodCounters allocated, OutOfMemory - bind(has_counters); -} - // Load object from cpool->resolved_references(index) void InterpreterMacroAssembler::load_resolved_reference_at_index( Register result, Register index) { @@ -676,6 +662,21 @@ void InterpreterMacroAssembler::remove_activation( #endif // C_INTERP +void InterpreterMacroAssembler::get_method_counters(Register method, + Register mcs, Label& skip) { + Label has_counters; + movptr(mcs, Address(method, Method::method_counters_offset())); + testptr(mcs, mcs); + jcc(Assembler::notZero, has_counters); + call_VM(noreg, CAST_FROM_FN_PTR(address, + InterpreterRuntime::build_method_counters), method); + movptr(mcs, Address(method,Method::method_counters_offset())); + testptr(mcs, mcs); + jcc(Assembler::zero, skip); // No MethodCounters allocated, OutOfMemory + bind(has_counters); +} + + // Lock object // // Args: @@ -1423,6 +1424,20 @@ void InterpreterMacroAssembler::verify_oop(Register reg, TosState state) { void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) { } + +// Jump if ((*counter_addr += increment) & mask) satisfies the condition. +void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr, + int increment, int mask, + Register scratch, bool preloaded, + Condition cond, Label* where) { + if (!preloaded) { + movl(scratch, counter_addr); + } + incrementl(scratch, increment); + movl(counter_addr, scratch); + andl(scratch, mask); + jcc(cond, *where); +} #endif // !CC_INTERP @@ -1491,16 +1506,3 @@ void InterpreterMacroAssembler::notify_method_exit( } } -// Jump if ((*counter_addr += increment) & mask) satisfies the condition. -void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr, - int increment, int mask, - Register scratch, bool preloaded, - Condition cond, Label* where) { - if (!preloaded) { - movl(scratch, counter_addr); - } - incrementl(scratch, increment); - movl(counter_addr, scratch); - andl(scratch, mask); - jcc(cond, *where); -} diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp index 36bd779ef9b..9186009fa9a 100644 --- a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp +++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp @@ -99,7 +99,6 @@ void get_cache_and_index_and_bytecode_at_bcp(Register cache, Register index, Register bytecode, int byte_no, int bcp_offset, size_t index_size = sizeof(u2)); void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2)); void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2)); - void get_method_counters(Register method, Register mcs, Label& skip); // load cpool->resolved_references(index); void load_resolved_reference_at_index(Register result, Register index); @@ -172,6 +171,7 @@ bool install_monitor_exception = true, bool notify_jvmdi = true); #endif // CC_INTERP + void get_method_counters(Register method, Register mcs, Label& skip); // Object locking void lock_object (Register lock_reg); diff --git a/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp b/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp index 865801e3de7..3c66bf4fb45 100644 --- a/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp @@ -229,10 +229,12 @@ address InterpreterGenerator::generate_abstract_entry(void) { // abstract method entry +#ifndef CC_INTERP // pop return address, reset last_sp to NULL __ empty_expression_stack(); __ restore_bcp(); // rsi must be correct for exception handler (was destroyed) __ restore_locals(); // make sure locals pointer is correct as well (was destroyed) +#endif // throw exception __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError)); diff --git a/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp b/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp index bc5229b997d..02ee74506bb 100644 --- a/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp +++ b/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp @@ -310,10 +310,12 @@ address InterpreterGenerator::generate_abstract_entry(void) { // abstract method entry +#ifndef CC_INTERP // pop return address, reset last_sp to NULL __ empty_expression_stack(); __ restore_bcp(); // rsi must be correct for exception handler (was destroyed) __ restore_locals(); // make sure locals pointer is correct as well (was destroyed) +#endif // throw exception __ call_VM(noreg, CAST_FROM_FN_PTR(address, diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp index de38b4a3a53..b949e4e2998 100644 --- a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp +++ b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp @@ -429,7 +429,7 @@ void VM_Version::get_processor_features() { } char buf[256]; - jio_snprintf(buf, sizeof(buf), "(%u cores per cpu, %u threads per core) family %d model %d stepping %d%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", + jio_snprintf(buf, sizeof(buf), "(%u cores per cpu, %u threads per core) family %d model %d stepping %d%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", cores_per_cpu(), threads_per_core(), cpu_family(), _model, _stepping, (supports_cmov() ? ", cmov" : ""), @@ -455,7 +455,9 @@ void VM_Version::get_processor_features() { (supports_ht() ? ", ht": ""), (supports_tsc() ? ", tsc": ""), (supports_tscinv_bit() ? ", tscinvbit": ""), - (supports_tscinv() ? ", tscinv": "")); + (supports_tscinv() ? ", tscinv": ""), + (supports_bmi1() ? ", bmi1" : ""), + (supports_bmi2() ? ", bmi2" : "")); _features_str = strdup(buf); // UseSSE is set to the smaller of what hardware supports and what @@ -600,13 +602,6 @@ void VM_Version::get_processor_features() { } } - // Use count leading zeros count instruction if available. - if (supports_lzcnt()) { - if (FLAG_IS_DEFAULT(UseCountLeadingZerosInstruction)) { - UseCountLeadingZerosInstruction = true; - } - } - // some defaults for AMD family 15h if ( cpu_family() == 0x15 ) { // On family 15h processors default is no sw prefetch @@ -692,6 +687,35 @@ void VM_Version::get_processor_features() { } #endif // COMPILER2 + // Use count leading zeros count instruction if available. + if (supports_lzcnt()) { + if (FLAG_IS_DEFAULT(UseCountLeadingZerosInstruction)) { + UseCountLeadingZerosInstruction = true; + } + } else if (UseCountLeadingZerosInstruction) { + warning("lzcnt instruction is not available on this CPU"); + FLAG_SET_DEFAULT(UseCountLeadingZerosInstruction, false); + } + + if (supports_bmi1()) { + if (FLAG_IS_DEFAULT(UseBMI1Instructions)) { + UseBMI1Instructions = true; + } + } else if (UseBMI1Instructions) { + warning("BMI1 instructions are not available on this CPU"); + FLAG_SET_DEFAULT(UseBMI1Instructions, false); + } + + // Use count trailing zeros instruction if available + if (supports_bmi1()) { + if (FLAG_IS_DEFAULT(UseCountTrailingZerosInstruction)) { + UseCountTrailingZerosInstruction = UseBMI1Instructions; + } + } else if (UseCountTrailingZerosInstruction) { + warning("tzcnt instruction is not available on this CPU"); + FLAG_SET_DEFAULT(UseCountTrailingZerosInstruction, false); + } + // Use population count instruction if available. if (supports_popcnt()) { if (FLAG_IS_DEFAULT(UsePopCountInstruction)) { diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp index 86e9b662d52..07d64451870 100644 --- a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp +++ b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp @@ -141,7 +141,8 @@ public: struct { uint32_t LahfSahf : 1, CmpLegacy : 1, - : 4, + : 3, + lzcnt_intel : 1, lzcnt : 1, sse4a : 1, misalignsse : 1, @@ -251,7 +252,9 @@ protected: CPU_AVX2 = (1 << 18), CPU_AES = (1 << 19), CPU_ERMS = (1 << 20), // enhanced 'rep movsb/stosb' instructions - CPU_CLMUL = (1 << 21) // carryless multiply for CRC + CPU_CLMUL = (1 << 21), // carryless multiply for CRC + CPU_BMI1 = (1 << 22), + CPU_BMI2 = (1 << 23) } cpuFeatureFlags; enum { @@ -423,6 +426,8 @@ protected: if (_cpuid_info.sef_cpuid7_ebx.bits.avx2 != 0) result |= CPU_AVX2; } + if(_cpuid_info.sef_cpuid7_ebx.bits.bmi1 != 0) + result |= CPU_BMI1; if (_cpuid_info.std_cpuid1_edx.bits.tsc != 0) result |= CPU_TSC; if (_cpuid_info.ext_cpuid7_edx.bits.tsc_invariance != 0) @@ -444,6 +449,13 @@ protected: if (_cpuid_info.ext_cpuid1_ecx.bits.sse4a != 0) result |= CPU_SSE4A; } + // Intel features. + if(is_intel()) { + if(_cpuid_info.sef_cpuid7_ebx.bits.bmi2 != 0) + result |= CPU_BMI2; + if(_cpuid_info.ext_cpuid1_ecx.bits.lzcnt_intel != 0) + result |= CPU_LZCNT; + } return result; } @@ -560,7 +572,8 @@ public: static bool supports_aes() { return (_cpuFeatures & CPU_AES) != 0; } static bool supports_erms() { return (_cpuFeatures & CPU_ERMS) != 0; } static bool supports_clmul() { return (_cpuFeatures & CPU_CLMUL) != 0; } - + static bool supports_bmi1() { return (_cpuFeatures & CPU_BMI1) != 0; } + static bool supports_bmi2() { return (_cpuFeatures & CPU_BMI2) != 0; } // Intel features static bool is_intel_family_core() { return is_intel() && extended_cpu_family() == CPU_FAMILY_INTEL_CORE; } diff --git a/hotspot/src/cpu/x86/vm/x86_32.ad b/hotspot/src/cpu/x86/vm/x86_32.ad index 8948682a99f..c4820db3b07 100644 --- a/hotspot/src/cpu/x86/vm/x86_32.ad +++ b/hotspot/src/cpu/x86/vm/x86_32.ad @@ -5163,6 +5163,19 @@ instruct countLeadingZerosL_bsr(rRegI dst, eRegL src, eFlagsReg cr) %{ %} instruct countTrailingZerosI(rRegI dst, rRegI src, eFlagsReg cr) %{ + predicate(UseCountTrailingZerosInstruction); + match(Set dst (CountTrailingZerosI src)); + effect(KILL cr); + + format %{ "TZCNT $dst, $src\t# count trailing zeros (int)" %} + ins_encode %{ + __ tzcntl($dst$$Register, $src$$Register); + %} + ins_pipe(ialu_reg); +%} + +instruct countTrailingZerosI_bsf(rRegI dst, rRegI src, eFlagsReg cr) %{ + predicate(!UseCountTrailingZerosInstruction); match(Set dst (CountTrailingZerosI src)); effect(KILL cr); @@ -5182,6 +5195,30 @@ instruct countTrailingZerosI(rRegI dst, rRegI src, eFlagsReg cr) %{ %} instruct countTrailingZerosL(rRegI dst, eRegL src, eFlagsReg cr) %{ + predicate(UseCountTrailingZerosInstruction); + match(Set dst (CountTrailingZerosL src)); + effect(TEMP dst, KILL cr); + + format %{ "TZCNT $dst, $src.lo\t# count trailing zeros (long) \n\t" + "JNC done\n\t" + "TZCNT $dst, $src.hi\n\t" + "ADD $dst, 32\n" + "done:" %} + ins_encode %{ + Register Rdst = $dst$$Register; + Register Rsrc = $src$$Register; + Label done; + __ tzcntl(Rdst, Rsrc); + __ jccb(Assembler::carryClear, done); + __ tzcntl(Rdst, HIGH_FROM_LOW(Rsrc)); + __ addl(Rdst, BitsPerInt); + __ bind(done); + %} + ins_pipe(ialu_reg); +%} + +instruct countTrailingZerosL_bsf(rRegI dst, eRegL src, eFlagsReg cr) %{ + predicate(!UseCountTrailingZerosInstruction); match(Set dst (CountTrailingZerosL src)); effect(TEMP dst, KILL cr); @@ -8027,6 +8064,123 @@ instruct andI_mem_imm(memory dst, immI src, eFlagsReg cr) %{ ins_pipe( ialu_mem_imm ); %} +// BMI1 instructions +instruct andnI_rReg_rReg_rReg(rRegI dst, rRegI src1, rRegI src2, immI_M1 minus_1, eFlagsReg cr) %{ + match(Set dst (AndI (XorI src1 minus_1) src2)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "ANDNL $dst, $src1, $src2" %} + + ins_encode %{ + __ andnl($dst$$Register, $src1$$Register, $src2$$Register); + %} + ins_pipe(ialu_reg); +%} + +instruct andnI_rReg_rReg_mem(rRegI dst, rRegI src1, memory src2, immI_M1 minus_1, eFlagsReg cr) %{ + match(Set dst (AndI (XorI src1 minus_1) (LoadI src2) )); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "ANDNL $dst, $src1, $src2" %} + + ins_encode %{ + __ andnl($dst$$Register, $src1$$Register, $src2$$Address); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsiI_rReg_rReg(rRegI dst, rRegI src, immI0 imm_zero, eFlagsReg cr) %{ + match(Set dst (AndI (SubI imm_zero src) src)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "BLSIL $dst, $src" %} + + ins_encode %{ + __ blsil($dst$$Register, $src$$Register); + %} + ins_pipe(ialu_reg); +%} + +instruct blsiI_rReg_mem(rRegI dst, memory src, immI0 imm_zero, eFlagsReg cr) %{ + match(Set dst (AndI (SubI imm_zero (LoadI src) ) (LoadI src) )); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "BLSIL $dst, $src" %} + + ins_encode %{ + __ blsil($dst$$Register, $src$$Address); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsmskI_rReg_rReg(rRegI dst, rRegI src, immI_M1 minus_1, eFlagsReg cr) +%{ + match(Set dst (XorI (AddI src minus_1) src)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "BLSMSKL $dst, $src" %} + + ins_encode %{ + __ blsmskl($dst$$Register, $src$$Register); + %} + + ins_pipe(ialu_reg); +%} + +instruct blsmskI_rReg_mem(rRegI dst, memory src, immI_M1 minus_1, eFlagsReg cr) +%{ + match(Set dst (XorI (AddI (LoadI src) minus_1) (LoadI src) )); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "BLSMSKL $dst, $src" %} + + ins_encode %{ + __ blsmskl($dst$$Register, $src$$Address); + %} + + ins_pipe(ialu_reg_mem); +%} + +instruct blsrI_rReg_rReg(rRegI dst, rRegI src, immI_M1 minus_1, eFlagsReg cr) +%{ + match(Set dst (AndI (AddI src minus_1) src) ); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "BLSRL $dst, $src" %} + + ins_encode %{ + __ blsrl($dst$$Register, $src$$Register); + %} + + ins_pipe(ialu_reg); +%} + +instruct blsrI_rReg_mem(rRegI dst, memory src, immI_M1 minus_1, eFlagsReg cr) +%{ + match(Set dst (AndI (AddI (LoadI src) minus_1) (LoadI src) )); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "BLSRL $dst, $src" %} + + ins_encode %{ + __ blsrl($dst$$Register, $src$$Address); + %} + + ins_pipe(ialu_reg_mem); +%} + // Or Instructions // Or Register with Register instruct orI_eReg(rRegI dst, rRegI src, eFlagsReg cr) %{ @@ -8649,6 +8803,210 @@ instruct andL_eReg_mem(eRegL dst, load_long_memory mem, eFlagsReg cr) %{ ins_pipe( ialu_reg_long_mem ); %} +// BMI1 instructions +instruct andnL_eReg_eReg_eReg(eRegL dst, eRegL src1, eRegL src2, immL_M1 minus_1, eFlagsReg cr) %{ + match(Set dst (AndL (XorL src1 minus_1) src2)); + predicate(UseBMI1Instructions); + effect(KILL cr, TEMP dst); + + format %{ "ANDNL $dst.lo, $src1.lo, $src2.lo\n\t" + "ANDNL $dst.hi, $src1.hi, $src2.hi" + %} + + ins_encode %{ + Register Rdst = $dst$$Register; + Register Rsrc1 = $src1$$Register; + Register Rsrc2 = $src2$$Register; + __ andnl(Rdst, Rsrc1, Rsrc2); + __ andnl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc1), HIGH_FROM_LOW(Rsrc2)); + %} + ins_pipe(ialu_reg_reg_long); +%} + +instruct andnL_eReg_eReg_mem(eRegL dst, eRegL src1, memory src2, immL_M1 minus_1, eFlagsReg cr) %{ + match(Set dst (AndL (XorL src1 minus_1) (LoadL src2) )); + predicate(UseBMI1Instructions); + effect(KILL cr, TEMP dst); + + ins_cost(125); + format %{ "ANDNL $dst.lo, $src1.lo, $src2\n\t" + "ANDNL $dst.hi, $src1.hi, $src2+4" + %} + + ins_encode %{ + Register Rdst = $dst$$Register; + Register Rsrc1 = $src1$$Register; + Address src2_hi = Address::make_raw($src2$$base, $src2$$index, $src2$$scale, $src2$$disp + 4, relocInfo::none); + + __ andnl(Rdst, Rsrc1, $src2$$Address); + __ andnl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc1), src2_hi); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsiL_eReg_eReg(eRegL dst, eRegL src, immL0 imm_zero, eFlagsReg cr) %{ + match(Set dst (AndL (SubL imm_zero src) src)); + predicate(UseBMI1Instructions); + effect(KILL cr, TEMP dst); + + format %{ "MOVL $dst.hi, 0\n\t" + "BLSIL $dst.lo, $src.lo\n\t" + "JNZ done\n\t" + "BLSIL $dst.hi, $src.hi\n" + "done:" + %} + + ins_encode %{ + Label done; + Register Rdst = $dst$$Register; + Register Rsrc = $src$$Register; + __ movl(HIGH_FROM_LOW(Rdst), 0); + __ blsil(Rdst, Rsrc); + __ jccb(Assembler::notZero, done); + __ blsil(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc)); + __ bind(done); + %} + ins_pipe(ialu_reg); +%} + +instruct blsiL_eReg_mem(eRegL dst, memory src, immL0 imm_zero, eFlagsReg cr) %{ + match(Set dst (AndL (SubL imm_zero (LoadL src) ) (LoadL src) )); + predicate(UseBMI1Instructions); + effect(KILL cr, TEMP dst); + + ins_cost(125); + format %{ "MOVL $dst.hi, 0\n\t" + "BLSIL $dst.lo, $src\n\t" + "JNZ done\n\t" + "BLSIL $dst.hi, $src+4\n" + "done:" + %} + + ins_encode %{ + Label done; + Register Rdst = $dst$$Register; + Address src_hi = Address::make_raw($src$$base, $src$$index, $src$$scale, $src$$disp + 4, relocInfo::none); + + __ movl(HIGH_FROM_LOW(Rdst), 0); + __ blsil(Rdst, $src$$Address); + __ jccb(Assembler::notZero, done); + __ blsil(HIGH_FROM_LOW(Rdst), src_hi); + __ bind(done); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsmskL_eReg_eReg(eRegL dst, eRegL src, immL_M1 minus_1, eFlagsReg cr) +%{ + match(Set dst (XorL (AddL src minus_1) src)); + predicate(UseBMI1Instructions); + effect(KILL cr, TEMP dst); + + format %{ "MOVL $dst.hi, 0\n\t" + "BLSMSKL $dst.lo, $src.lo\n\t" + "JNC done\n\t" + "BLSMSKL $dst.hi, $src.hi\n" + "done:" + %} + + ins_encode %{ + Label done; + Register Rdst = $dst$$Register; + Register Rsrc = $src$$Register; + __ movl(HIGH_FROM_LOW(Rdst), 0); + __ blsmskl(Rdst, Rsrc); + __ jccb(Assembler::carryClear, done); + __ blsmskl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc)); + __ bind(done); + %} + + ins_pipe(ialu_reg); +%} + +instruct blsmskL_eReg_mem(eRegL dst, memory src, immL_M1 minus_1, eFlagsReg cr) +%{ + match(Set dst (XorL (AddL (LoadL src) minus_1) (LoadL src) )); + predicate(UseBMI1Instructions); + effect(KILL cr, TEMP dst); + + ins_cost(125); + format %{ "MOVL $dst.hi, 0\n\t" + "BLSMSKL $dst.lo, $src\n\t" + "JNC done\n\t" + "BLSMSKL $dst.hi, $src+4\n" + "done:" + %} + + ins_encode %{ + Label done; + Register Rdst = $dst$$Register; + Address src_hi = Address::make_raw($src$$base, $src$$index, $src$$scale, $src$$disp + 4, relocInfo::none); + + __ movl(HIGH_FROM_LOW(Rdst), 0); + __ blsmskl(Rdst, $src$$Address); + __ jccb(Assembler::carryClear, done); + __ blsmskl(HIGH_FROM_LOW(Rdst), src_hi); + __ bind(done); + %} + + ins_pipe(ialu_reg_mem); +%} + +instruct blsrL_eReg_eReg(eRegL dst, eRegL src, immL_M1 minus_1, eFlagsReg cr) +%{ + match(Set dst (AndL (AddL src minus_1) src) ); + predicate(UseBMI1Instructions); + effect(KILL cr, TEMP dst); + + format %{ "MOVL $dst.hi, $src.hi\n\t" + "BLSRL $dst.lo, $src.lo\n\t" + "JNC done\n\t" + "BLSRL $dst.hi, $src.hi\n" + "done:" + %} + + ins_encode %{ + Label done; + Register Rdst = $dst$$Register; + Register Rsrc = $src$$Register; + __ movl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc)); + __ blsrl(Rdst, Rsrc); + __ jccb(Assembler::carryClear, done); + __ blsrl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc)); + __ bind(done); + %} + + ins_pipe(ialu_reg); +%} + +instruct blsrL_eReg_mem(eRegL dst, memory src, immL_M1 minus_1, eFlagsReg cr) +%{ + match(Set dst (AndL (AddL (LoadL src) minus_1) (LoadL src) )); + predicate(UseBMI1Instructions); + effect(KILL cr, TEMP dst); + + ins_cost(125); + format %{ "MOVL $dst.hi, $src+4\n\t" + "BLSRL $dst.lo, $src\n\t" + "JNC done\n\t" + "BLSRL $dst.hi, $src+4\n" + "done:" + %} + + ins_encode %{ + Label done; + Register Rdst = $dst$$Register; + Address src_hi = Address::make_raw($src$$base, $src$$index, $src$$scale, $src$$disp + 4, relocInfo::none); + __ movl(HIGH_FROM_LOW(Rdst), src_hi); + __ blsrl(Rdst, $src$$Address); + __ jccb(Assembler::carryClear, done); + __ blsrl(HIGH_FROM_LOW(Rdst), src_hi); + __ bind(done); + %} + + ins_pipe(ialu_reg_mem); +%} + // Or Long Register with Register instruct orl_eReg(eRegL dst, eRegL src, eFlagsReg cr) %{ match(Set dst (OrL dst src)); diff --git a/hotspot/src/cpu/x86/vm/x86_64.ad b/hotspot/src/cpu/x86/vm/x86_64.ad index b10f920793e..cebc37cc25c 100644 --- a/hotspot/src/cpu/x86/vm/x86_64.ad +++ b/hotspot/src/cpu/x86/vm/x86_64.ad @@ -6022,6 +6022,19 @@ instruct countLeadingZerosL_bsr(rRegI dst, rRegL src, rFlagsReg cr) %{ %} instruct countTrailingZerosI(rRegI dst, rRegI src, rFlagsReg cr) %{ + predicate(UseCountTrailingZerosInstruction); + match(Set dst (CountTrailingZerosI src)); + effect(KILL cr); + + format %{ "tzcntl $dst, $src\t# count trailing zeros (int)" %} + ins_encode %{ + __ tzcntl($dst$$Register, $src$$Register); + %} + ins_pipe(ialu_reg); +%} + +instruct countTrailingZerosI_bsf(rRegI dst, rRegI src, rFlagsReg cr) %{ + predicate(!UseCountTrailingZerosInstruction); match(Set dst (CountTrailingZerosI src)); effect(KILL cr); @@ -6041,6 +6054,19 @@ instruct countTrailingZerosI(rRegI dst, rRegI src, rFlagsReg cr) %{ %} instruct countTrailingZerosL(rRegI dst, rRegL src, rFlagsReg cr) %{ + predicate(UseCountTrailingZerosInstruction); + match(Set dst (CountTrailingZerosL src)); + effect(KILL cr); + + format %{ "tzcntq $dst, $src\t# count trailing zeros (long)" %} + ins_encode %{ + __ tzcntq($dst$$Register, $src$$Register); + %} + ins_pipe(ialu_reg); +%} + +instruct countTrailingZerosL_bsf(rRegI dst, rRegL src, rFlagsReg cr) %{ + predicate(!UseCountTrailingZerosInstruction); match(Set dst (CountTrailingZerosL src)); effect(KILL cr); @@ -8622,6 +8648,122 @@ instruct andI_mem_imm(memory dst, immI src, rFlagsReg cr) ins_pipe(ialu_mem_imm); %} +// BMI1 instructions +instruct andnI_rReg_rReg_mem(rRegI dst, rRegI src1, memory src2, immI_M1 minus_1, rFlagsReg cr) %{ + match(Set dst (AndI (XorI src1 minus_1) (LoadI src2))); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "andnl $dst, $src1, $src2" %} + + ins_encode %{ + __ andnl($dst$$Register, $src1$$Register, $src2$$Address); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct andnI_rReg_rReg_rReg(rRegI dst, rRegI src1, rRegI src2, immI_M1 minus_1, rFlagsReg cr) %{ + match(Set dst (AndI (XorI src1 minus_1) src2)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "andnl $dst, $src1, $src2" %} + + ins_encode %{ + __ andnl($dst$$Register, $src1$$Register, $src2$$Register); + %} + ins_pipe(ialu_reg); +%} + +instruct blsiI_rReg_rReg(rRegI dst, rRegI src, immI0 imm_zero, rFlagsReg cr) %{ + match(Set dst (AndI (SubI imm_zero src) src)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "blsil $dst, $src" %} + + ins_encode %{ + __ blsil($dst$$Register, $src$$Register); + %} + ins_pipe(ialu_reg); +%} + +instruct blsiI_rReg_mem(rRegI dst, memory src, immI0 imm_zero, rFlagsReg cr) %{ + match(Set dst (AndI (SubI imm_zero (LoadI src) ) (LoadI src) )); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "blsil $dst, $src" %} + + ins_encode %{ + __ blsil($dst$$Register, $src$$Address); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsmskI_rReg_mem(rRegI dst, memory src, immI_M1 minus_1, rFlagsReg cr) +%{ + match(Set dst (XorI (AddI (LoadI src) minus_1) (LoadI src) ) ); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "blsmskl $dst, $src" %} + + ins_encode %{ + __ blsmskl($dst$$Register, $src$$Address); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsmskI_rReg_rReg(rRegI dst, rRegI src, immI_M1 minus_1, rFlagsReg cr) +%{ + match(Set dst (XorI (AddI src minus_1) src)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "blsmskl $dst, $src" %} + + ins_encode %{ + __ blsmskl($dst$$Register, $src$$Register); + %} + + ins_pipe(ialu_reg); +%} + +instruct blsrI_rReg_rReg(rRegI dst, rRegI src, immI_M1 minus_1, rFlagsReg cr) +%{ + match(Set dst (AndI (AddI src minus_1) src) ); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "blsrl $dst, $src" %} + + ins_encode %{ + __ blsrl($dst$$Register, $src$$Register); + %} + + ins_pipe(ialu_reg_mem); +%} + +instruct blsrI_rReg_mem(rRegI dst, memory src, immI_M1 minus_1, rFlagsReg cr) +%{ + match(Set dst (AndI (AddI (LoadI src) minus_1) (LoadI src) ) ); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "blsrl $dst, $src" %} + + ins_encode %{ + __ blsrl($dst$$Register, $src$$Address); + %} + + ins_pipe(ialu_reg); +%} + // Or Instructions // Or Register with Register instruct orI_rReg(rRegI dst, rRegI src, rFlagsReg cr) @@ -8853,6 +8995,122 @@ instruct andL_mem_imm(memory dst, immL32 src, rFlagsReg cr) ins_pipe(ialu_mem_imm); %} +// BMI1 instructions +instruct andnL_rReg_rReg_mem(rRegL dst, rRegL src1, memory src2, immL_M1 minus_1, rFlagsReg cr) %{ + match(Set dst (AndL (XorL src1 minus_1) (LoadL src2))); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "andnq $dst, $src1, $src2" %} + + ins_encode %{ + __ andnq($dst$$Register, $src1$$Register, $src2$$Address); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct andnL_rReg_rReg_rReg(rRegL dst, rRegL src1, rRegL src2, immL_M1 minus_1, rFlagsReg cr) %{ + match(Set dst (AndL (XorL src1 minus_1) src2)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "andnq $dst, $src1, $src2" %} + + ins_encode %{ + __ andnq($dst$$Register, $src1$$Register, $src2$$Register); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsiL_rReg_rReg(rRegL dst, rRegL src, immL0 imm_zero, rFlagsReg cr) %{ + match(Set dst (AndL (SubL imm_zero src) src)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "blsiq $dst, $src" %} + + ins_encode %{ + __ blsiq($dst$$Register, $src$$Register); + %} + ins_pipe(ialu_reg); +%} + +instruct blsiL_rReg_mem(rRegL dst, memory src, immL0 imm_zero, rFlagsReg cr) %{ + match(Set dst (AndL (SubL imm_zero (LoadL src) ) (LoadL src) )); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "blsiq $dst, $src" %} + + ins_encode %{ + __ blsiq($dst$$Register, $src$$Address); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsmskL_rReg_mem(rRegL dst, memory src, immL_M1 minus_1, rFlagsReg cr) +%{ + match(Set dst (XorL (AddL (LoadL src) minus_1) (LoadL src) ) ); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "blsmskq $dst, $src" %} + + ins_encode %{ + __ blsmskq($dst$$Register, $src$$Address); + %} + ins_pipe(ialu_reg_mem); +%} + +instruct blsmskL_rReg_rReg(rRegL dst, rRegL src, immL_M1 minus_1, rFlagsReg cr) +%{ + match(Set dst (XorL (AddL src minus_1) src)); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "blsmskq $dst, $src" %} + + ins_encode %{ + __ blsmskq($dst$$Register, $src$$Register); + %} + + ins_pipe(ialu_reg); +%} + +instruct blsrL_rReg_rReg(rRegL dst, rRegL src, immL_M1 minus_1, rFlagsReg cr) +%{ + match(Set dst (AndL (AddL src minus_1) src) ); + predicate(UseBMI1Instructions); + effect(KILL cr); + + format %{ "blsrq $dst, $src" %} + + ins_encode %{ + __ blsrq($dst$$Register, $src$$Register); + %} + + ins_pipe(ialu_reg); +%} + +instruct blsrL_rReg_mem(rRegL dst, memory src, immL_M1 minus_1, rFlagsReg cr) +%{ + match(Set dst (AndL (AddL (LoadL src) minus_1) (LoadL src)) ); + predicate(UseBMI1Instructions); + effect(KILL cr); + + ins_cost(125); + format %{ "blsrq $dst, $src" %} + + ins_encode %{ + __ blsrq($dst$$Register, $src$$Address); + %} + + ins_pipe(ialu_reg); +%} + // Or Instructions // Or Register with Register instruct orL_rReg(rRegL dst, rRegL src, rFlagsReg cr) diff --git a/hotspot/src/os/aix/vm/os_aix.cpp b/hotspot/src/os/aix/vm/os_aix.cpp index ba6b8d494c6..33385e7a09a 100644 --- a/hotspot/src/os/aix/vm/os_aix.cpp +++ b/hotspot/src/os/aix/vm/os_aix.cpp @@ -1135,15 +1135,10 @@ jlong os::javaTimeNanos() { } void os::javaTimeNanos_info(jvmtiTimerInfo *info_ptr) { - { - // gettimeofday - based on time in seconds since the Epoch thus does not wrap - info_ptr->max_value = ALL_64_BITS; - - // gettimeofday is a real time clock so it skips - info_ptr->may_skip_backward = true; - info_ptr->may_skip_forward = true; - } - + info_ptr->max_value = ALL_64_BITS; + // mread_real_time() is monotonic (see 'os::javaTimeNanos()') + info_ptr->may_skip_backward = false; + info_ptr->may_skip_forward = false; info_ptr->kind = JVMTI_TIMER_ELAPSED; // elapsed not CPU time } @@ -2799,105 +2794,6 @@ size_t os::read(int fd, void *buf, unsigned int nBytes) { return ::read(fd, buf, nBytes); } -#define NANOSECS_PER_MILLISEC 1000000 - -int os::sleep(Thread* thread, jlong millis, bool interruptible) { - assert(thread == Thread::current(), "thread consistency check"); - - // Prevent nasty overflow in deadline calculation - // by handling long sleeps similar to solaris or windows. - const jlong limit = INT_MAX; - int result; - while (millis > limit) { - if ((result = os::sleep(thread, limit, interruptible)) != OS_OK) { - return result; - } - millis -= limit; - } - - ParkEvent * const slp = thread->_SleepEvent; - slp->reset(); - OrderAccess::fence(); - - if (interruptible) { - jlong prevtime = javaTimeNanos(); - - // Prevent precision loss and too long sleeps - jlong deadline = prevtime + millis * NANOSECS_PER_MILLISEC; - - for (;;) { - if (os::is_interrupted(thread, true)) { - return OS_INTRPT; - } - - jlong newtime = javaTimeNanos(); - - assert(newtime >= prevtime, "time moving backwards"); - // Doing prevtime and newtime in microseconds doesn't help precision, - // and trying to round up to avoid lost milliseconds can result in a - // too-short delay. - millis -= (newtime - prevtime) / NANOSECS_PER_MILLISEC; - - if (millis <= 0) { - return OS_OK; - } - - // Stop sleeping if we passed the deadline - if (newtime >= deadline) { - return OS_OK; - } - - prevtime = newtime; - - { - assert(thread->is_Java_thread(), "sanity check"); - JavaThread *jt = (JavaThread *) thread; - ThreadBlockInVM tbivm(jt); - OSThreadWaitState osts(jt->osthread(), false /* not Object.wait() */); - - jt->set_suspend_equivalent(); - - slp->park(millis); - - // were we externally suspended while we were waiting? - jt->check_and_wait_while_suspended(); - } - } - } else { - OSThreadWaitState osts(thread->osthread(), false /* not Object.wait() */); - jlong prevtime = javaTimeNanos(); - - // Prevent precision loss and too long sleeps - jlong deadline = prevtime + millis * NANOSECS_PER_MILLISEC; - - for (;;) { - // It'd be nice to avoid the back-to-back javaTimeNanos() calls on - // the 1st iteration ... - jlong newtime = javaTimeNanos(); - - if (newtime - prevtime < 0) { - // time moving backwards, should only happen if no monotonic clock - // not a guarantee() because JVM should not abort on kernel/glibc bugs - // - HS14 Commented out as not implemented. - // - TODO Maybe we should implement it? - //assert(!Aix::supports_monotonic_clock(), "time moving backwards"); - } else { - millis -= (newtime - prevtime) / NANOSECS_PER_MILLISEC; - } - - if (millis <= 0) break; - - if (newtime >= deadline) { - break; - } - - prevtime = newtime; - slp->park(millis); - } - return OS_OK; - } -} - void os::naked_short_sleep(jlong ms) { struct timespec req; @@ -3246,50 +3142,6 @@ static void do_resume(OSThread* osthread) { guarantee(osthread->sr.is_running(), "Must be running!"); } -//////////////////////////////////////////////////////////////////////////////// -// interrupt support - -void os::interrupt(Thread* thread) { - assert(Thread::current() == thread || Threads_lock->owned_by_self(), - "possibility of dangling Thread pointer"); - - OSThread* osthread = thread->osthread(); - - if (!osthread->interrupted()) { - osthread->set_interrupted(true); - // More than one thread can get here with the same value of osthread, - // resulting in multiple notifications. We do, however, want the store - // to interrupted() to be visible to other threads before we execute unpark(). - OrderAccess::fence(); - ParkEvent * const slp = thread->_SleepEvent; - if (slp != NULL) slp->unpark(); - } - - // For JSR166. Unpark even if interrupt status already was set - if (thread->is_Java_thread()) - ((JavaThread*)thread)->parker()->unpark(); - - ParkEvent * ev = thread->_ParkEvent; - if (ev != NULL) ev->unpark(); - -} - -bool os::is_interrupted(Thread* thread, bool clear_interrupted) { - assert(Thread::current() == thread || Threads_lock->owned_by_self(), - "possibility of dangling Thread pointer"); - - OSThread* osthread = thread->osthread(); - - bool interrupted = osthread->interrupted(); - - if (interrupted && clear_interrupted) { - osthread->set_interrupted(false); - // consider thread->_SleepEvent->reset() ... optional optimization - } - - return interrupted; -} - /////////////////////////////////////////////////////////////////////////////////// // signal handling (except suspend/resume) diff --git a/hotspot/src/os/aix/vm/os_aix.inline.hpp b/hotspot/src/os/aix/vm/os_aix.inline.hpp index ff9c7a7aa3e..4a648559f52 100644 --- a/hotspot/src/os/aix/vm/os_aix.inline.hpp +++ b/hotspot/src/os/aix/vm/os_aix.inline.hpp @@ -283,4 +283,10 @@ inline int os::set_sock_opt(int fd, int level, int optname, const char* optval, socklen_t optlen) { return ::setsockopt(fd, level, optname, optval, optlen); } + +inline bool os::supports_monotonic_clock() { + // mread_real_time() is monotonic on AIX (see os::javaTimeNanos() comments) + return true; +} + #endif // OS_AIX_VM_OS_AIX_INLINE_HPP diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp index 4490c5f2f71..20ef1e10fb4 100644 --- a/hotspot/src/os/linux/vm/os_linux.cpp +++ b/hotspot/src/os/linux/vm/os_linux.cpp @@ -5284,7 +5284,6 @@ jlong os::thread_cpu_time(Thread *thread, bool user_sys_cpu_time) { static jlong slow_thread_cpu_time(Thread *thread, bool user_sys_cpu_time) { static bool proc_task_unchecked = true; - static const char *proc_stat_path = "/proc/%d/stat"; pid_t tid = thread->osthread()->thread_id(); char *s; char stat[2048]; @@ -5297,6 +5296,8 @@ static jlong slow_thread_cpu_time(Thread *thread, bool user_sys_cpu_time) { long ldummy; FILE *fp; + snprintf(proc_name, 64, "/proc/%d/stat", tid); + // The /proc//stat aggregates per-process usage on // new Linux kernels 2.6+ where NPTL is supported. // The /proc/self/task//stat still has the per-thread usage. @@ -5308,12 +5309,11 @@ static jlong slow_thread_cpu_time(Thread *thread, bool user_sys_cpu_time) { proc_task_unchecked = false; fp = fopen("/proc/self/task", "r"); if (fp != NULL) { - proc_stat_path = "/proc/self/task/%d/stat"; + snprintf(proc_name, 64, "/proc/self/task/%d/stat", tid); fclose(fp); } } - sprintf(proc_name, proc_stat_path, tid); fp = fopen(proc_name, "r"); if ( fp == NULL ) return -1; statlen = fread(stat, 1, 2047, fp); diff --git a/hotspot/src/os/windows/vm/os_windows.cpp b/hotspot/src/os/windows/vm/os_windows.cpp index 4cc42970ad0..69fb8bc0600 100644 --- a/hotspot/src/os/windows/vm/os_windows.cpp +++ b/hotspot/src/os/windows/vm/os_windows.cpp @@ -3619,13 +3619,14 @@ bool os::is_interrupted(Thread* thread, bool clear_interrupted) { "possibility of dangling Thread pointer"); OSThread* osthread = thread->osthread(); - bool interrupted = osthread->interrupted(); // There is no synchronization between the setting of the interrupt // and it being cleared here. It is critical - see 6535709 - that // we only clear the interrupt state, and reset the interrupt event, // if we are going to report that we were indeed interrupted - else // an interrupt can be "lost", leading to spurious wakeups or lost wakeups - // depending on the timing + // depending on the timing. By checking thread interrupt event to see + // if the thread gets real interrupt thus prevent spurious wakeup. + bool interrupted = osthread->interrupted() && (WaitForSingleObject(osthread->interrupt_event(), 0) == WAIT_OBJECT_0); if (interrupted && clear_interrupted) { osthread->set_interrupted(false); ResetEvent(osthread->interrupt_event()); diff --git a/hotspot/src/share/vm/adlc/formssel.cpp b/hotspot/src/share/vm/adlc/formssel.cpp index 614aaf1553a..df58c5746de 100644 --- a/hotspot/src/share/vm/adlc/formssel.cpp +++ b/hotspot/src/share/vm/adlc/formssel.cpp @@ -660,6 +660,7 @@ int InstructForm::memory_operand(FormDict &globals) const { int USE_of_memory = 0; int DEF_of_memory = 0; const char* last_memory_DEF = NULL; // to test DEF/USE pairing in asserts + const char* last_memory_USE = NULL; Component *unique = NULL; Component *comp = NULL; ComponentList &components = (ComponentList &)_components; @@ -681,7 +682,16 @@ int InstructForm::memory_operand(FormDict &globals) const { assert(0 == strcmp(last_memory_DEF, comp->_name), "every memory DEF is followed by a USE of the same name"); last_memory_DEF = NULL; } - USE_of_memory++; + // Handles same memory being used multiple times in the case of BMI1 instructions. + if (last_memory_USE != NULL) { + if (strcmp(comp->_name, last_memory_USE) != 0) { + USE_of_memory++; + } + } else { + USE_of_memory++; + } + last_memory_USE = comp->_name; + if (DEF_of_memory == 0) // defs take precedence unique = comp; } else { diff --git a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp index 7cb6d3dfa47..974bc04cc4d 100644 --- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp +++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp @@ -1436,7 +1436,7 @@ void GraphBuilder::method_return(Value x) { bool need_mem_bar = false; if (method()->name() == ciSymbol::object_initializer_name() && - scope()->wrote_final()) { + (scope()->wrote_final() || (AlwaysSafeConstructors && scope()->wrote_fields()))) { need_mem_bar = true; } @@ -1550,6 +1550,10 @@ void GraphBuilder::access_field(Bytecodes::Code code) { scope()->set_wrote_final(); } + if (code == Bytecodes::_putfield) { + scope()->set_wrote_fields(); + } + const int offset = !needs_patching ? field->offset() : -1; switch (code) { case Bytecodes::_getstatic: { @@ -3767,11 +3771,14 @@ bool GraphBuilder::try_inline_full(ciMethod* callee, bool holder_known, Bytecode } // now perform tests that are based on flag settings - if (callee->force_inline()) { - if (inline_level() > MaxForceInlineLevel) INLINE_BAILOUT("MaxForceInlineLevel"); - print_inlining(callee, "force inline by annotation"); - } else if (callee->should_inline()) { - print_inlining(callee, "force inline by CompileOracle"); + if (callee->force_inline() || callee->should_inline()) { + if (inline_level() > MaxForceInlineLevel ) INLINE_BAILOUT("MaxForceInlineLevel"); + if (recursive_inline_level(callee) > MaxRecursiveInlineLevel) INLINE_BAILOUT("recursive inlining too deep"); + + const char* msg = ""; + if (callee->force_inline()) msg = "force inline by annotation"; + if (callee->should_inline()) msg = "force inline by CompileOracle"; + print_inlining(callee, msg); } else { // use heuristic controls on inlining if (inline_level() > MaxInlineLevel ) INLINE_BAILOUT("inlining too deep"); diff --git a/hotspot/src/share/vm/c1/c1_IR.cpp b/hotspot/src/share/vm/c1/c1_IR.cpp index c377e56ecef..b2a4fbbc494 100644 --- a/hotspot/src/share/vm/c1/c1_IR.cpp +++ b/hotspot/src/share/vm/c1/c1_IR.cpp @@ -142,6 +142,7 @@ IRScope::IRScope(Compilation* compilation, IRScope* caller, int caller_bci, ciMe _number_of_locks = 0; _monitor_pairing_ok = method->has_balanced_monitors(); _wrote_final = false; + _wrote_fields = false; _start = NULL; if (osr_bci == -1) { diff --git a/hotspot/src/share/vm/c1/c1_IR.hpp b/hotspot/src/share/vm/c1/c1_IR.hpp index ba1abee0d01..6dc0e3a98bd 100644 --- a/hotspot/src/share/vm/c1/c1_IR.hpp +++ b/hotspot/src/share/vm/c1/c1_IR.hpp @@ -150,6 +150,7 @@ class IRScope: public CompilationResourceObj { int _number_of_locks; // the number of monitor lock slots needed bool _monitor_pairing_ok; // the monitor pairing info bool _wrote_final; // has written final field + bool _wrote_fields; // has written fields BlockBegin* _start; // the start block, successsors are method entries BitMap _requires_phi_function; // bit is set if phi functions at loop headers are necessary for a local variable @@ -184,6 +185,9 @@ class IRScope: public CompilationResourceObj { BlockBegin* start() const { return _start; } void set_wrote_final() { _wrote_final = true; } bool wrote_final () const { return _wrote_final; } + void set_wrote_fields() { _wrote_fields = true; } + bool wrote_fields () const { return _wrote_fields; } + }; diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp index 5ed04765618..ca8383b2542 100644 --- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp +++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp @@ -1734,7 +1734,8 @@ void LIRGenerator::do_StoreField(StoreField* x) { (info ? new CodeEmitInfo(info) : NULL)); } - if (is_volatile && !needs_patching) { + bool needs_atomic_access = is_volatile || AlwaysAtomicAccesses; + if (needs_atomic_access && !needs_patching) { volatile_field_store(value.result(), address, info); } else { LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none; @@ -1807,7 +1808,8 @@ void LIRGenerator::do_LoadField(LoadField* x) { address = generate_address(object.result(), x->offset(), field_type); } - if (is_volatile && !needs_patching) { + bool needs_atomic_access = is_volatile || AlwaysAtomicAccesses; + if (needs_atomic_access && !needs_patching) { volatile_field_load(address, reg, info); } else { LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none; diff --git a/hotspot/src/share/vm/c1/c1_Runtime1.cpp b/hotspot/src/share/vm/c1/c1_Runtime1.cpp index e3bac09c5b4..11542c4a50b 100644 --- a/hotspot/src/share/vm/c1/c1_Runtime1.cpp +++ b/hotspot/src/share/vm/c1/c1_Runtime1.cpp @@ -809,11 +809,10 @@ JRT_ENTRY(void, Runtime1::patch_code(JavaThread* thread, Runtime1::StubID stub_i int bci = vfst.bci(); Bytecodes::Code code = caller_method()->java_code_at(bci); -#ifndef PRODUCT // this is used by assertions in the access_field_patching_id BasicType patch_field_type = T_ILLEGAL; -#endif // PRODUCT bool deoptimize_for_volatile = false; + bool deoptimize_for_atomic = false; int patch_field_offset = -1; KlassHandle init_klass(THREAD, NULL); // klass needed by load_klass_patching code KlassHandle load_klass(THREAD, NULL); // klass needed by load_klass_patching code @@ -839,11 +838,24 @@ JRT_ENTRY(void, Runtime1::patch_code(JavaThread* thread, Runtime1::StubID stub_i // is the path for patching field offsets. load_klass is only // used for patching references to oops which don't need special // handling in the volatile case. + deoptimize_for_volatile = result.access_flags().is_volatile(); -#ifndef PRODUCT + // If we are patching a field which should be atomic, then + // the generated code is not correct either, force deoptimizing. + // We need to only cover T_LONG and T_DOUBLE fields, as we can + // break access atomicity only for them. + + // Strictly speaking, the deoptimizaation on 64-bit platforms + // is unnecessary, and T_LONG stores on 32-bit platforms need + // to be handled by special patching code when AlwaysAtomicAccesses + // becomes product feature. At this point, we are still going + // for the deoptimization for consistency against volatile + // accesses. + patch_field_type = result.field_type(); -#endif + deoptimize_for_atomic = (AlwaysAtomicAccesses && (patch_field_type == T_DOUBLE || patch_field_type == T_LONG)); + } else if (load_klass_or_mirror_patch_id) { Klass* k = NULL; switch (code) { @@ -918,13 +930,19 @@ JRT_ENTRY(void, Runtime1::patch_code(JavaThread* thread, Runtime1::StubID stub_i ShouldNotReachHere(); } - if (deoptimize_for_volatile) { - // At compile time we assumed the field wasn't volatile but after - // loading it turns out it was volatile so we have to throw the + if (deoptimize_for_volatile || deoptimize_for_atomic) { + // At compile time we assumed the field wasn't volatile/atomic but after + // loading it turns out it was volatile/atomic so we have to throw the // compiled code out and let it be regenerated. if (TracePatching) { - tty->print_cr("Deoptimizing for patching volatile field reference"); + if (deoptimize_for_volatile) { + tty->print_cr("Deoptimizing for patching volatile field reference"); + } + if (deoptimize_for_atomic) { + tty->print_cr("Deoptimizing for patching atomic field reference"); + } } + // It's possible the nmethod was invalidated in the last // safepoint, but if it's still alive then make it not_entrant. nmethod* nm = CodeCache::find_nmethod(caller_frame.pc()); diff --git a/hotspot/src/share/vm/ci/ciMethod.cpp b/hotspot/src/share/vm/ci/ciMethod.cpp index 86f1ed31bef..c927b10a030 100644 --- a/hotspot/src/share/vm/ci/ciMethod.cpp +++ b/hotspot/src/share/vm/ci/ciMethod.cpp @@ -724,6 +724,11 @@ ciMethod* ciMethod::find_monomorphic_target(ciInstanceKlass* caller, VM_ENTRY_MARK; + // Disable CHA for default methods for now + if (root_m->get_Method()->is_default_method()) { + return NULL; + } + methodHandle target; { MutexLocker locker(Compile_lock); diff --git a/hotspot/src/share/vm/ci/ciMethodData.cpp b/hotspot/src/share/vm/ci/ciMethodData.cpp index 950e3d6dd21..bc8794063ad 100644 --- a/hotspot/src/share/vm/ci/ciMethodData.cpp +++ b/hotspot/src/share/vm/ci/ciMethodData.cpp @@ -87,8 +87,9 @@ void ciMethodData::load_extra_data() { DataLayout* dp_dst = extra_data_base(); for (;; dp_src = MethodData::next_extra(dp_src), dp_dst = MethodData::next_extra(dp_dst)) { assert(dp_src < end_src, "moved past end of extra data"); - assert(dp_src->tag() == dp_dst->tag(), err_msg("should be same tags %d != %d", dp_src->tag(), dp_dst->tag())); - switch(dp_src->tag()) { + // New traps in the MDO can be added as we translate the copy so + // look at the entries in the copy. + switch(dp_dst->tag()) { case DataLayout::speculative_trap_data_tag: { ciSpeculativeTrapData* data_dst = new ciSpeculativeTrapData(dp_dst); SpeculativeTrapData* data_src = new SpeculativeTrapData(dp_src); @@ -102,7 +103,7 @@ void ciMethodData::load_extra_data() { // An empty slot or ArgInfoData entry marks the end of the trap data return; default: - fatal(err_msg("bad tag = %d", dp_src->tag())); + fatal(err_msg("bad tag = %d", dp_dst->tag())); } } } diff --git a/hotspot/src/share/vm/code/codeCache.cpp b/hotspot/src/share/vm/code/codeCache.cpp index 3d7758304a8..b3a857c2062 100644 --- a/hotspot/src/share/vm/code/codeCache.cpp +++ b/hotspot/src/share/vm/code/codeCache.cpp @@ -198,14 +198,12 @@ CodeBlob* CodeCache::allocate(int size, bool is_critical) { } maxCodeCacheUsed = MAX2(maxCodeCacheUsed, ((address)_heap->high_boundary() - (address)_heap->low_boundary()) - unallocated_capacity()); - verify_if_often(); print_trace("allocation", cb, size); return cb; } void CodeCache::free(CodeBlob* cb) { assert_locked_or_safepoint(CodeCache_lock); - verify_if_often(); print_trace("free", cb); if (cb->is_nmethod()) { @@ -221,7 +219,6 @@ void CodeCache::free(CodeBlob* cb) { _heap->deallocate(cb); - verify_if_often(); assert(_number_of_blobs >= 0, "sanity check"); } @@ -244,12 +241,6 @@ void CodeCache::commit(CodeBlob* cb) { } -void CodeCache::flush() { - assert_locked_or_safepoint(CodeCache_lock); - Unimplemented(); -} - - // Iteration over CodeBlobs #define FOR_ALL_BLOBS(var) for (CodeBlob *var = first() ; var != NULL; var = next(var) ) @@ -269,7 +260,7 @@ bool CodeCache::contains(void *p) { CodeBlob* CodeCache::find_blob(void* start) { CodeBlob* result = find_blob_unsafe(start); if (result == NULL) return NULL; - // We could potientially look up non_entrant methods + // We could potentially look up non_entrant methods guarantee(!result->is_zombie() || result->is_locked_by_vm() || is_error_reported(), "unsafe access to zombie method"); return result; } @@ -741,17 +732,26 @@ void CodeCache::report_codemem_full() { } } +void CodeCache::print_memory_overhead() { + size_t wasted_bytes = 0; + CodeBlob *cb; + for (cb = first(); cb != NULL; cb = next(cb)) { + HeapBlock* heap_block = ((HeapBlock*)cb) - 1; + wasted_bytes += heap_block->length() * CodeCacheSegmentSize - cb->size(); + } + // Print bytes that are allocated in the freelist + ttyLocker ttl; + tty->print_cr("Number of elements in freelist: %d", freelist_length()); + tty->print_cr("Allocated in freelist: %dkB", bytes_allocated_in_freelist()/K); + tty->print_cr("Unused bytes in CodeBlobs: %dkB", (int)(wasted_bytes/K)); + tty->print_cr("Segment map size: %dkB", allocated_segments()/K); // 1 byte per segment +} + //------------------------------------------------------------------------------------------------ // Non-product version #ifndef PRODUCT -void CodeCache::verify_if_often() { - if (VerifyCodeCacheOften) { - _heap->verify(); - } -} - void CodeCache::print_trace(const char* event, CodeBlob* cb, int size) { if (PrintCodeCache2) { // Need to add a new flag ResourceMark rm; @@ -774,7 +774,7 @@ void CodeCache::print_internals() { int nmethodUnloaded = 0; int nmethodJava = 0; int nmethodNative = 0; - int maxCodeSize = 0; + int max_nm_size = 0; ResourceMark rm; CodeBlob *cb; @@ -798,13 +798,11 @@ void CodeCache::print_internals() { if(nm->is_not_entrant()) { nmethodNotEntrant++; } if(nm->is_zombie()) { nmethodZombie++; } if(nm->is_unloaded()) { nmethodUnloaded++; } - if(nm->is_native_method()) { nmethodNative++; } + if(nm->method() != NULL && nm->is_native_method()) { nmethodNative++; } if(nm->method() != NULL && nm->is_java_method()) { nmethodJava++; - if (nm->insts_size() > maxCodeSize) { - maxCodeSize = nm->insts_size(); - } + max_nm_size = MAX2(max_nm_size, nm->size()); } } else if (cb->is_runtime_stub()) { runtimeStubCount++; @@ -820,18 +818,19 @@ void CodeCache::print_internals() { } int bucketSize = 512; - int bucketLimit = maxCodeSize / bucketSize + 1; + int bucketLimit = max_nm_size / bucketSize + 1; int *buckets = NEW_C_HEAP_ARRAY(int, bucketLimit, mtCode); - memset(buckets,0,sizeof(int) * bucketLimit); + memset(buckets, 0, sizeof(int) * bucketLimit); for (cb = first(); cb != NULL; cb = next(cb)) { if (cb->is_nmethod()) { nmethod* nm = (nmethod*)cb; if(nm->is_java_method()) { - buckets[nm->insts_size() / bucketSize]++; - } + buckets[nm->size() / bucketSize]++; + } } } + tty->print_cr("Code Cache Entries (total of %d)",total); tty->print_cr("-------------------------------------------------"); tty->print_cr("nmethods: %d",nmethodCount); @@ -858,6 +857,7 @@ void CodeCache::print_internals() { } FREE_C_HEAP_ARRAY(int, buckets, mtCode); + print_memory_overhead(); } #endif // !PRODUCT diff --git a/hotspot/src/share/vm/code/codeCache.hpp b/hotspot/src/share/vm/code/codeCache.hpp index e190b11ae7e..f9f656cc35a 100644 --- a/hotspot/src/share/vm/code/codeCache.hpp +++ b/hotspot/src/share/vm/code/codeCache.hpp @@ -58,12 +58,13 @@ class CodeCache : AllStatic { static bool _needs_cache_clean; static nmethod* _scavenge_root_nmethods; // linked via nm->scavenge_root_link() - static void verify_if_often() PRODUCT_RETURN; - static void mark_scavenge_root_nmethods() PRODUCT_RETURN; static void verify_perm_nmethods(CodeBlobClosure* f_or_null) PRODUCT_RETURN; static int _codemem_full_count; + static size_t bytes_allocated_in_freelist() { return _heap->allocated_in_freelist(); } + static int allocated_segments() { return _heap->allocated_segments(); } + static size_t freelist_length() { return _heap->freelist_length(); } public: @@ -78,7 +79,6 @@ class CodeCache : AllStatic { static int alignment_unit(); // guaranteed alignment of all CodeBlobs static int alignment_offset(); // guaranteed offset of first CodeBlob byte within alignment unit (i.e., allocation header) static void free(CodeBlob* cb); // frees a CodeBlob - static void flush(); // flushes all CodeBlobs static bool contains(void *p); // returns whether p is included static void blobs_do(void f(CodeBlob* cb)); // iterates over all CodeBlobs static void blobs_do(CodeBlobClosure* f); // iterates over all CodeBlobs @@ -150,6 +150,7 @@ class CodeCache : AllStatic { // Printing/debugging static void print(); // prints summary static void print_internals(); + static void print_memory_overhead(); static void verify(); // verifies the code cache static void print_trace(const char* event, CodeBlob* cb, int size = 0) PRODUCT_RETURN; static void print_summary(outputStream* st, bool detailed = true); // Prints a summary of the code cache usage diff --git a/hotspot/src/share/vm/code/debugInfo.hpp b/hotspot/src/share/vm/code/debugInfo.hpp index cf0a9a6d39f..287ff876cb0 100644 --- a/hotspot/src/share/vm/code/debugInfo.hpp +++ b/hotspot/src/share/vm/code/debugInfo.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -273,8 +273,8 @@ class DebugInfoReadStream : public CompressedReadStream { } Method* read_method() { Method* o = (Method*)(code()->metadata_at(read_int())); - assert(o == NULL || - o->is_metaspace_object(), "meta data only"); + // is_metadata() is a faster check than is_metaspace_object() + assert(o == NULL || o->is_metadata(), "meta data only"); return o; } ScopeValue* read_object_value(); diff --git a/hotspot/src/share/vm/code/dependencies.cpp b/hotspot/src/share/vm/code/dependencies.cpp index d3dcf5da9a6..bee31fcacfc 100644 --- a/hotspot/src/share/vm/code/dependencies.cpp +++ b/hotspot/src/share/vm/code/dependencies.cpp @@ -725,13 +725,13 @@ Klass* Dependencies::DepStream::context_type() { } // ----------------- DependencySignature -------------------------------------- -bool DependencySignature::equals(DependencySignature* sig) const { - if ((type() != sig->type()) || (args_count() != sig->args_count())) { +bool DependencySignature::equals(DependencySignature const& s1, DependencySignature const& s2) { + if ((s1.type() != s2.type()) || (s1.args_count() != s2.args_count())) { return false; } - for (int i = 0; i < sig->args_count(); i++) { - if (arg(i) != sig->arg(i)) { + for (int i = 0; i < s1.args_count(); i++) { + if (s1.arg(i) != s2.arg(i)) { return false; } } diff --git a/hotspot/src/share/vm/code/dependencies.hpp b/hotspot/src/share/vm/code/dependencies.hpp index 050478cbc85..3501b57fd51 100644 --- a/hotspot/src/share/vm/code/dependencies.hpp +++ b/hotspot/src/share/vm/code/dependencies.hpp @@ -527,7 +527,7 @@ class Dependencies: public ResourceObj { }; -class DependencySignature : public GenericHashtableEntry { +class DependencySignature : public ResourceObj { private: int _args_count; uintptr_t _argument_hash[Dependencies::max_arg_count]; @@ -542,12 +542,13 @@ class DependencySignature : public GenericHashtableEntry> 2; } + static bool equals(DependencySignature const& s1, DependencySignature const& s2); + static unsigned hash (DependencySignature const& s1) { return s1.arg(0) >> 2; } int args_count() const { return _args_count; } uintptr_t arg(int idx) const { return _argument_hash[idx]; } Dependencies::DepType type() const { return _type; } + }; diff --git a/hotspot/src/share/vm/code/nmethod.cpp b/hotspot/src/share/vm/code/nmethod.cpp index 020916b8d34..a002ee76ea4 100644 --- a/hotspot/src/share/vm/code/nmethod.cpp +++ b/hotspot/src/share/vm/code/nmethod.cpp @@ -39,6 +39,7 @@ #include "prims/jvmtiImpl.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/sweeper.hpp" +#include "utilities/resourceHash.hpp" #include "utilities/dtrace.hpp" #include "utilities/events.hpp" #include "utilities/xmlstream.hpp" @@ -2135,7 +2136,11 @@ void nmethod::check_all_dependencies(DepChange& changes) { // Turn off dependency tracing while actually testing dependencies. NOT_PRODUCT( FlagSetting fs(TraceDependencies, false) ); - GenericHashtable* table = new GenericHashtable(11027); + typedef ResourceHashtable DepTable; + + DepTable* table = new DepTable(); + // Iterate over live nmethods and check dependencies of all nmethods that are not // marked for deoptimization. A particular dependency is only checked once. for(nmethod* nm = CodeCache::alive_nmethod(CodeCache::first()); nm != NULL; nm = CodeCache::alive_nmethod(CodeCache::next(nm))) { @@ -2143,9 +2148,10 @@ void nmethod::check_all_dependencies(DepChange& changes) { for (Dependencies::DepStream deps(nm); deps.next(); ) { // Construct abstraction of a dependency. DependencySignature* current_sig = new DependencySignature(deps); - // Determine if 'deps' is already checked. table->add() returns - // 'true' if the dependency was added (i.e., was not in the hashtable). - if (table->add(current_sig)) { + + // Determine if dependency is already checked. table->put(...) returns + // 'true' if the dependency is added (i.e., was not in the hashtable). + if (table->put(*current_sig, 1)) { if (deps.check_dependency() != NULL) { // Dependency checking failed. Print out information about the failed // dependency and finally fail with an assert. We can fail here, since diff --git a/hotspot/src/share/vm/compiler/compilerOracle.cpp b/hotspot/src/share/vm/compiler/compilerOracle.cpp index cb5068dc4c6..582ec675d4d 100644 --- a/hotspot/src/share/vm/compiler/compilerOracle.cpp +++ b/hotspot/src/share/vm/compiler/compilerOracle.cpp @@ -374,25 +374,8 @@ static void usage() { "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" #define RANGE0 "[*" RANGEBASE "]" -#define RANGEDOT "[*" RANGEBASE ".]" #define RANGESLASH "[*" RANGEBASE "/]" - -// Accept several syntaxes for these patterns -// original syntax -// cmd java.lang.String foo -// PrintCompilation syntax -// cmd java.lang.String::foo -// VM syntax -// cmd java/lang/String[. ]foo -// - -static const char* patterns[] = { - "%*[ \t]%255" RANGEDOT " " "%255" RANGE0 "%n", - "%*[ \t]%255" RANGEDOT "::" "%255" RANGE0 "%n", - "%*[ \t]%255" RANGESLASH "%*[ .]" "%255" RANGE0 "%n", -}; - static MethodMatcher::Mode check_mode(char name[], const char*& error_msg) { int match = MethodMatcher::Exact; while (name[0] == '*') { @@ -421,12 +404,10 @@ static bool scan_line(const char * line, int* bytes_read, const char*& error_msg) { *bytes_read = 0; error_msg = NULL; - for (uint i = 0; i < ARRAY_SIZE(patterns); i++) { - if (2 == sscanf(line, patterns[i], class_name, method_name, bytes_read)) { - *c_mode = check_mode(class_name, error_msg); - *m_mode = check_mode(method_name, error_msg); - return *c_mode != MethodMatcher::Unknown && *m_mode != MethodMatcher::Unknown; - } + if (2 == sscanf(line, "%*[ \t]%255" RANGESLASH "%*[ ]" "%255" RANGE0 "%n", class_name, method_name, bytes_read)) { + *c_mode = check_mode(class_name, error_msg); + *m_mode = check_mode(method_name, error_msg); + return *c_mode != MethodMatcher::Unknown && *m_mode != MethodMatcher::Unknown; } return false; } diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp index 39d88816718..ca2037cb6f9 100644 --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp @@ -280,6 +280,16 @@ bool PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) { if (UseAdaptiveGenerationSizePolicyAtMajorCollection && ((gc_cause != GCCause::_java_lang_system_gc) || UseAdaptiveSizePolicyWithSystemGC)) { + // Swap the survivor spaces if from_space is empty. The + // resize_young_gen() called below is normally used after + // a successful young GC and swapping of survivor spaces; + // otherwise, it will fail to resize the young gen with + // the current implementation. + if (young_gen->from_space()->is_empty()) { + young_gen->from_space()->clear(SpaceDecorator::Mangle); + young_gen->swap_spaces(); + } + // Calculate optimal free space amounts assert(young_gen->max_size() > young_gen->from_space()->capacity_in_bytes() + @@ -318,12 +328,8 @@ bool PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) { heap->resize_old_gen(size_policy->calculated_old_free_size_in_bytes()); - // Don't resize the young generation at an major collection. A - // desired young generation size may have been calculated but - // resizing the young generation complicates the code because the - // resizing of the old generation may have moved the boundary - // between the young generation and the old generation. Let the - // young generation resizing happen at the minor collections. + heap->resize_young_gen(size_policy->calculated_eden_size_in_bytes(), + size_policy->calculated_survivor_size_in_bytes()); } if (PrintAdaptiveSizePolicy) { gclog_or_tty->print_cr("AdaptiveSizeStop: collection: %d ", diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp index f2e83ca21df..31ee8bc5938 100644 --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp @@ -43,6 +43,7 @@ #include "gc_implementation/shared/gcTrace.hpp" #include "gc_implementation/shared/gcTraceTime.hpp" #include "gc_implementation/shared/isGCActiveMark.hpp" +#include "gc_implementation/shared/spaceDecorator.hpp" #include "gc_interface/gcCause.hpp" #include "memory/gcLocker.inline.hpp" #include "memory/referencePolicy.hpp" @@ -2115,6 +2116,16 @@ bool PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) { if (UseAdaptiveGenerationSizePolicyAtMajorCollection && ((gc_cause != GCCause::_java_lang_system_gc) || UseAdaptiveSizePolicyWithSystemGC)) { + // Swap the survivor spaces if from_space is empty. The + // resize_young_gen() called below is normally used after + // a successful young GC and swapping of survivor spaces; + // otherwise, it will fail to resize the young gen with + // the current implementation. + if (young_gen->from_space()->is_empty()) { + young_gen->from_space()->clear(SpaceDecorator::Mangle); + young_gen->swap_spaces(); + } + // Calculate optimal free space amounts assert(young_gen->max_size() > young_gen->from_space()->capacity_in_bytes() + @@ -2154,12 +2165,8 @@ bool PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) { heap->resize_old_gen( size_policy->calculated_old_free_size_in_bytes()); - // Don't resize the young generation at an major collection. A - // desired young generation size may have been calculated but - // resizing the young generation complicates the code because the - // resizing of the old generation may have moved the boundary - // between the young generation and the old generation. Let the - // young generation resizing happen at the minor collections. + heap->resize_young_gen(size_policy->calculated_eden_size_in_bytes(), + size_policy->calculated_survivor_size_in_bytes()); } if (PrintAdaptiveSizePolicy) { gclog_or_tty->print_cr("AdaptiveSizeStop: collection: %d ", diff --git a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp index 06261c804de..9453b50febb 100644 --- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp @@ -3475,7 +3475,7 @@ BytecodeInterpreter::print() { tty->print_cr("&native_fresult: " INTPTR_FORMAT, (uintptr_t) &this->_native_fresult); tty->print_cr("native_lresult: " INTPTR_FORMAT, (uintptr_t) this->_native_lresult); #endif -#if !defined(ZERO) +#if !defined(ZERO) && defined(PPC) tty->print_cr("last_Java_fp: " INTPTR_FORMAT, (uintptr_t) this->_last_Java_fp); #endif // !ZERO tty->print_cr("self_link: " INTPTR_FORMAT, (uintptr_t) this->_self_link); diff --git a/hotspot/src/share/vm/interpreter/templateTable.hpp b/hotspot/src/share/vm/interpreter/templateTable.hpp index bb5169a6ccb..c6ea51537a2 100644 --- a/hotspot/src/share/vm/interpreter/templateTable.hpp +++ b/hotspot/src/share/vm/interpreter/templateTable.hpp @@ -376,6 +376,9 @@ class TemplateTable: AllStatic { #ifdef TARGET_ARCH_MODEL_ppc_32 # include "templateTable_ppc_32.hpp" #endif +#ifdef TARGET_ARCH_MODEL_ppc_64 +# include "templateTable_ppc_64.hpp" +#endif }; #endif /* !CC_INTERP */ diff --git a/hotspot/src/share/vm/memory/collectorPolicy.cpp b/hotspot/src/share/vm/memory/collectorPolicy.cpp index a2f7166eda7..83ec563f153 100644 --- a/hotspot/src/share/vm/memory/collectorPolicy.cpp +++ b/hotspot/src/share/vm/memory/collectorPolicy.cpp @@ -304,10 +304,13 @@ void GenCollectorPolicy::initialize_flags() { } // Now take the actual NewSize into account. We will silently increase NewSize - // if the user specified a smaller value. + // if the user specified a smaller or unaligned value. smallest_new_size = MAX2(smallest_new_size, (uintx)align_size_down(NewSize, _gen_alignment)); if (smallest_new_size != NewSize) { - FLAG_SET_ERGO(uintx, NewSize, smallest_new_size); + // Do not use FLAG_SET_ERGO to update NewSize here, since this will override + // if NewSize was set on the command line or not. This information is needed + // later when setting the initial and minimum young generation size. + NewSize = smallest_new_size; } _initial_gen0_size = NewSize; diff --git a/hotspot/src/share/vm/memory/filemap.cpp b/hotspot/src/share/vm/memory/filemap.cpp index 8eb5f452495..1420c279036 100644 --- a/hotspot/src/share/vm/memory/filemap.cpp +++ b/hotspot/src/share/vm/memory/filemap.cpp @@ -78,6 +78,10 @@ void FileMapInfo::fail_continue(const char *msg, ...) { va_start(ap, msg); if (RequireSharedSpaces) { fail(msg, ap); + } else { + if (PrintSharedSpaces) { + tty->print_cr("UseSharedSpaces: %s", msg); + } } va_end(ap); UseSharedSpaces = false; diff --git a/hotspot/src/share/vm/memory/heap.cpp b/hotspot/src/share/vm/memory/heap.cpp index a241af2eee9..db0105fb3a1 100644 --- a/hotspot/src/share/vm/memory/heap.cpp +++ b/hotspot/src/share/vm/memory/heap.cpp @@ -43,6 +43,7 @@ CodeHeap::CodeHeap() { _next_segment = 0; _freelist = NULL; _freelist_segments = 0; + _freelist_length = 0; } @@ -53,7 +54,7 @@ void CodeHeap::mark_segmap_as_free(size_t beg, size_t end) { address p = (address)_segmap.low() + beg; address q = (address)_segmap.low() + end; // initialize interval - while (p < q) *p++ = 0xFF; + while (p < q) *p++ = free_sentinel; } @@ -67,7 +68,7 @@ void CodeHeap::mark_segmap_as_used(size_t beg, size_t end) { int i = 0; while (p < q) { *p++ = i++; - if (i == 0xFF) i = 1; + if (i == free_sentinel) i = 1; } } @@ -139,11 +140,6 @@ bool CodeHeap::reserve(size_t reserved_size, size_t committed_size, } -void CodeHeap::release() { - Unimplemented(); -} - - bool CodeHeap::expand_by(size_t size) { // expand _memory space size_t dm = align_to_page_size(_memory.committed_size() + size) - _memory.committed_size(); @@ -157,8 +153,8 @@ bool CodeHeap::expand_by(size_t size) { assert(_number_of_reserved_segments >= _number_of_committed_segments, "just checking"); // expand _segmap space size_t ds = align_to_page_size(_number_of_committed_segments) - _segmap.committed_size(); - if (ds > 0) { - if (!_segmap.expand_by(ds)) return false; + if ((ds > 0) && !_segmap.expand_by(ds)) { + return false; } assert(_segmap.committed_size() >= (size_t) _number_of_committed_segments, "just checking"); // initialize additional segmap entries @@ -167,12 +163,6 @@ bool CodeHeap::expand_by(size_t size) { return true; } - -void CodeHeap::shrink_by(size_t size) { - Unimplemented(); -} - - void CodeHeap::clear() { _next_segment = 0; mark_segmap_as_free(0, _number_of_committed_segments); @@ -180,26 +170,23 @@ void CodeHeap::clear() { void* CodeHeap::allocate(size_t instance_size, bool is_critical) { - size_t number_of_segments = size_to_segments(instance_size + sizeof(HeapBlock)); + size_t number_of_segments = size_to_segments(instance_size + header_size()); assert(segments_to_size(number_of_segments) >= sizeof(FreeBlock), "not enough room for FreeList"); // First check if we can satisfy request from freelist - debug_only(verify()); + NOT_PRODUCT(verify()); HeapBlock* block = search_freelist(number_of_segments, is_critical); - debug_only(if (VerifyCodeCacheOften) verify()); + NOT_PRODUCT(verify()); + if (block != NULL) { assert(block->length() >= number_of_segments && block->length() < number_of_segments + CodeCacheMinBlockLength, "sanity check"); assert(!block->free(), "must be marked free"); -#ifdef ASSERT - memset((void *)block->allocated_space(), badCodeHeapNewVal, instance_size); -#endif + DEBUG_ONLY(memset((void*)block->allocated_space(), badCodeHeapNewVal, instance_size)); return block->allocated_space(); } // Ensure minimum size for allocation to the heap. - if (number_of_segments < CodeCacheMinBlockLength) { - number_of_segments = CodeCacheMinBlockLength; - } + number_of_segments = MAX2((int)CodeCacheMinBlockLength, (int)number_of_segments); if (!is_critical) { // Make sure the allocation fits in the unallocated heap without using @@ -215,9 +202,7 @@ void* CodeHeap::allocate(size_t instance_size, bool is_critical) { HeapBlock* b = block_at(_next_segment); b->initialize(number_of_segments); _next_segment += number_of_segments; -#ifdef ASSERT - memset((void *)b->allocated_space(), badCodeHeapNewVal, instance_size); -#endif + DEBUG_ONLY(memset((void *)b->allocated_space(), badCodeHeapNewVal, instance_size)); return b->allocated_space(); } else { return NULL; @@ -230,28 +215,56 @@ void CodeHeap::deallocate(void* p) { // Find start of HeapBlock HeapBlock* b = (((HeapBlock *)p) - 1); assert(b->allocated_space() == p, "sanity check"); -#ifdef ASSERT - memset((void *)b->allocated_space(), - badCodeHeapFreeVal, - segments_to_size(b->length()) - sizeof(HeapBlock)); -#endif + DEBUG_ONLY(memset((void *)b->allocated_space(), badCodeHeapFreeVal, + segments_to_size(b->length()) - sizeof(HeapBlock))); add_to_freelist(b); - - debug_only(if (VerifyCodeCacheOften) verify()); + NOT_PRODUCT(verify()); } - +/** + * Uses segment map to find the the start (header) of a nmethod. This works as follows: + * The memory of the code cache is divided into 'segments'. The size of a segment is + * determined by -XX:CodeCacheSegmentSize=XX. Allocation in the code cache can only + * happen at segment boundaries. A pointer in the code cache can be mapped to a segment + * by calling segment_for(addr). Each time memory is requested from the code cache, + * the segmap is updated accordingly. See the following example, which illustrates the + * state of code cache and the segment map: (seg -> segment, nm ->nmethod) + * + * code cache segmap + * ----------- --------- + * seg 1 | nm 1 | -> | 0 | + * seg 2 | nm 1 | -> | 1 | + * ... | nm 1 | -> | .. | + * seg m | nm 2 | -> | 0 | + * seg m+1 | nm 2 | -> | 1 | + * ... | nm 2 | -> | 2 | + * ... | nm 2 | -> | .. | + * ... | nm 2 | -> | 0xFE | + * seg m+n | nm 2 | -> | 1 | + * ... | nm 2 | -> | | + * + * A value of '0' in the segmap indicates that this segment contains the beginning of + * an nmethod. Let's walk through a simple example: If we want to find the start of + * an nmethod that falls into seg 2, we read the value of the segmap[2]. The value + * is an offset that points to the segment that contains the start of the nmethod. + * Another example: If we want to get the start of nm 2, and we happen to get a pointer + * that points to seg m+n, we first read seg[n+m], which returns '1'. So we have to + * do one more read of the segmap[m+n-1] to finally get the segment header. + */ void* CodeHeap::find_start(void* p) const { if (!contains(p)) { return NULL; } - size_t i = segment_for(p); - address b = (address)_segmap.low(); - if (b[i] == 0xFF) { + size_t seg_idx = segment_for(p); + address seg_map = (address)_segmap.low(); + if (is_segment_unused(seg_map[seg_idx])) { return NULL; } - while (b[i] > 0) i -= (int)b[i]; - HeapBlock* h = block_at(i); + while (seg_map[seg_idx] > 0) { + seg_idx -= (int)seg_map[seg_idx]; + } + + HeapBlock* h = block_at(seg_idx); if (h->free()) { return NULL; } @@ -272,7 +285,7 @@ size_t CodeHeap::alignment_offset() const { } // Finds the next free heapblock. If the current one is free, that it returned -void* CodeHeap::next_free(HeapBlock *b) const { +void* CodeHeap::next_free(HeapBlock* b) const { // Since free blocks are merged, there is max. on free block // between two used ones if (b != NULL && b->free()) b = next_block(b); @@ -287,7 +300,7 @@ HeapBlock* CodeHeap::first_block() const { return NULL; } -HeapBlock *CodeHeap::block_start(void *q) const { +HeapBlock* CodeHeap::block_start(void* q) const { HeapBlock* b = (HeapBlock*)find_start(q); if (b == NULL) return NULL; return b - 1; @@ -312,6 +325,10 @@ size_t CodeHeap::max_capacity() const { return _memory.reserved_size(); } +int CodeHeap::allocated_segments() const { + return (int)_next_segment; +} + size_t CodeHeap::allocated_capacity() const { // size of used heap - size on freelist return segments_to_size(_next_segment - _freelist_segments); @@ -325,7 +342,7 @@ size_t CodeHeap::heap_unallocated_capacity() const { // Free list management -FreeBlock *CodeHeap::following_block(FreeBlock *b) { +FreeBlock* CodeHeap::following_block(FreeBlock *b) { return (FreeBlock*)(((address)b) + _segment_size * b->length()); } @@ -343,7 +360,7 @@ void CodeHeap::insert_after(FreeBlock* a, FreeBlock* b) { } // Try to merge this block with the following block -void CodeHeap::merge_right(FreeBlock *a) { +bool CodeHeap::merge_right(FreeBlock* a) { assert(a->free(), "must be a free block"); if (following_block(a) == a->link()) { assert(a->link() != NULL && a->link()->free(), "must be free too"); @@ -353,13 +370,20 @@ void CodeHeap::merge_right(FreeBlock *a) { // Update find_start map size_t beg = segment_for(a); mark_segmap_as_used(beg, beg + a->length()); + _freelist_length--; + return true; } + return false; } -void CodeHeap::add_to_freelist(HeapBlock *a) { + +void CodeHeap::add_to_freelist(HeapBlock* a) { FreeBlock* b = (FreeBlock*)a; + _freelist_length++; + assert(b != _freelist, "cannot be removed twice"); + // Mark as free and update free space count _freelist_segments += b->length(); b->set_free(); @@ -371,95 +395,96 @@ void CodeHeap::add_to_freelist(HeapBlock *a) { return; } - // Scan for right place to put into list. List - // is sorted by increasing addresses - FreeBlock* prev = NULL; - FreeBlock* cur = _freelist; - while(cur != NULL && cur < b) { - assert(prev == NULL || prev < cur, "must be ordered"); - prev = cur; - cur = cur->link(); - } - - assert( (prev == NULL && b < _freelist) || - (prev < b && (cur == NULL || b < cur)), "list must be ordered"); - - if (prev == NULL) { + // Since the freelist is ordered (smaller addresses -> larger addresses) and the + // element we want to insert into the freelist has a smaller address than the first + // element, we can simply add 'b' as the first element and we are done. + if (b < _freelist) { // Insert first in list b->set_link(_freelist); _freelist = b; merge_right(_freelist); - } else { - insert_after(prev, b); + return; } + + // Scan for right place to put into list. List + // is sorted by increasing addresses + FreeBlock* prev = _freelist; + FreeBlock* cur = _freelist->link(); + while(cur != NULL && cur < b) { + assert(prev < cur, "Freelist must be ordered"); + prev = cur; + cur = cur->link(); + } + assert((prev < b) && (cur == NULL || b < cur), "free-list must be ordered"); + insert_after(prev, b); } -// Search freelist for an entry on the list with the best fit -// Return NULL if no one was found +/** + * Search freelist for an entry on the list with the best fit. + * @return NULL, if no one was found + */ FreeBlock* CodeHeap::search_freelist(size_t length, bool is_critical) { - FreeBlock *best_block = NULL; - FreeBlock *best_prev = NULL; - size_t best_length = 0; + FreeBlock* found_block = NULL; + FreeBlock* found_prev = NULL; + size_t found_length = 0; - // Search for smallest block which is bigger than length - FreeBlock *prev = NULL; - FreeBlock *cur = _freelist; + FreeBlock* prev = NULL; + FreeBlock* cur = _freelist; + const size_t critical_boundary = (size_t)high_boundary() - CodeCacheMinimumFreeSpace; + + // Search for first block that fits while(cur != NULL) { - size_t l = cur->length(); - if (l >= length && (best_block == NULL || best_length > l)) { - + if (cur->length() >= length) { // Non critical allocations are not allowed to use the last part of the code heap. - if (!is_critical) { - // Make sure the end of the allocation doesn't cross into the last part of the code heap - if (((size_t)cur + length) > ((size_t)high_boundary() - CodeCacheMinimumFreeSpace)) { - // the freelist is sorted by address - if one fails, all consecutive will also fail. - break; - } + // Make sure the end of the allocation doesn't cross into the last part of the code heap. + if (!is_critical && (((size_t)cur + length) > critical_boundary)) { + // The freelist is sorted by address - if one fails, all consecutive will also fail. + break; } + // Remember block, its previous element, and its length + found_block = cur; + found_prev = prev; + found_length = found_block->length(); - // Remember best block, its previous element, and its length - best_block = cur; - best_prev = prev; - best_length = best_block->length(); + break; } - // Next element in list prev = cur; cur = cur->link(); } - if (best_block == NULL) { + if (found_block == NULL) { // None found return NULL; } - assert((best_prev == NULL && _freelist == best_block ) || - (best_prev != NULL && best_prev->link() == best_block), "sanity check"); - // Exact (or at least good enough) fit. Remove from list. // Don't leave anything on the freelist smaller than CodeCacheMinBlockLength. - if (best_length < length + CodeCacheMinBlockLength) { - length = best_length; - if (best_prev == NULL) { - assert(_freelist == best_block, "sanity check"); + if (found_length - length < CodeCacheMinBlockLength) { + _freelist_length--; + length = found_length; + if (found_prev == NULL) { + assert(_freelist == found_block, "sanity check"); _freelist = _freelist->link(); } else { + assert((found_prev->link() == found_block), "sanity check"); // Unmap element - best_prev->set_link(best_block->link()); + found_prev->set_link(found_block->link()); } } else { // Truncate block and return a pointer to the following block - best_block->set_length(best_length - length); - best_block = following_block(best_block); // Set used bit and length on new block - size_t beg = segment_for(best_block); + found_block->set_length(found_length - length); + found_block = following_block(found_block); + + size_t beg = segment_for(found_block); mark_segmap_as_used(beg, beg + length); - best_block->set_length(length); + found_block->set_length(length); } - best_block->set_used(); + found_block->set_used(); _freelist_segments -= length; - return best_block; + return found_block; } //---------------------------------------------------------------------------- @@ -471,33 +496,34 @@ void CodeHeap::print() { tty->print_cr("The Heap"); } -#endif - void CodeHeap::verify() { - // Count the number of blocks on the freelist, and the amount of space - // represented. - int count = 0; - size_t len = 0; - for(FreeBlock* b = _freelist; b != NULL; b = b->link()) { - len += b->length(); - count++; - } + if (VerifyCodeCache) { + size_t len = 0; + int count = 0; + for(FreeBlock* b = _freelist; b != NULL; b = b->link()) { + len += b->length(); + count++; + // Check if we have merged all free blocks + assert(merge_right(b) == false, "Missed merging opportunity"); + } + // Verify that freelist contains the right amount of free space + assert(len == _freelist_segments, "wrong freelist"); - // Verify that freelist contains the right amount of free space - // guarantee(len == _freelist_segments, "wrong freelist"); + for(HeapBlock* h = first_block(); h != NULL; h = next_block(h)) { + if (h->free()) count--; + } + // Verify that the freelist contains the same number of blocks + // than free blocks found on the full list. + assert(count == 0, "missing free blocks"); - // Verify that the number of free blocks is not out of hand. - static int free_block_threshold = 10000; - if (count > free_block_threshold) { - warning("CodeHeap: # of free blocks > %d", free_block_threshold); - // Double the warning limit - free_block_threshold *= 2; + // Verify that the number of free blocks is not out of hand. + static int free_block_threshold = 10000; + if (count > free_block_threshold) { + warning("CodeHeap: # of free blocks > %d", free_block_threshold); + // Double the warning limit + free_block_threshold *= 2; + } } - - // Verify that the freelist contains the same number of free blocks that is - // found on the full list. - for(HeapBlock *h = first_block(); h != NULL; h = next_block(h)) { - if (h->free()) count--; - } - // guarantee(count == 0, "missing free blocks"); } + +#endif diff --git a/hotspot/src/share/vm/memory/heap.hpp b/hotspot/src/share/vm/memory/heap.hpp index e271d1be2fc..849931ee70b 100644 --- a/hotspot/src/share/vm/memory/heap.hpp +++ b/hotspot/src/share/vm/memory/heap.hpp @@ -92,24 +92,28 @@ class CodeHeap : public CHeapObj { FreeBlock* _freelist; size_t _freelist_segments; // No. of segments in freelist + int _freelist_length; + + enum { free_sentinel = 0xFF }; // Helper functions size_t size_to_segments(size_t size) const { return (size + _segment_size - 1) >> _log2_segment_size; } size_t segments_to_size(size_t number_of_segments) const { return number_of_segments << _log2_segment_size; } size_t segment_for(void* p) const { return ((char*)p - _memory.low()) >> _log2_segment_size; } + bool is_segment_unused(int val) const { return val == free_sentinel; } HeapBlock* block_at(size_t i) const { return (HeapBlock*)(_memory.low() + (i << _log2_segment_size)); } void mark_segmap_as_free(size_t beg, size_t end); void mark_segmap_as_used(size_t beg, size_t end); // Freelist management helpers - FreeBlock* following_block(FreeBlock *b); + FreeBlock* following_block(FreeBlock* b); void insert_after(FreeBlock* a, FreeBlock* b); - void merge_right (FreeBlock* a); + bool merge_right (FreeBlock* a); // Toplevel freelist management - void add_to_freelist(HeapBlock *b); + void add_to_freelist(HeapBlock* b); FreeBlock* search_freelist(size_t length, bool is_critical); // Iteration helpers @@ -120,20 +124,18 @@ class CodeHeap : public CHeapObj { // to perform additional actions on creation of executable code void on_code_mapping(char* base, size_t size); + void clear(); // clears all heap contents public: CodeHeap(); // Heap extents bool reserve(size_t reserved_size, size_t committed_size, size_t segment_size); - void release(); // releases all allocated memory bool expand_by(size_t size); // expands committed memory by size - void shrink_by(size_t size); // shrinks committed memory by size - void clear(); // clears all heap contents // Memory allocation void* allocate (size_t size, bool is_critical); // allocates a block of size or returns NULL - void deallocate(void* p); // deallocates a block + void deallocate(void* p); // deallocates a block // Attributes char* low_boundary() const { return _memory.low_boundary (); } @@ -141,12 +143,13 @@ class CodeHeap : public CHeapObj { char* high_boundary() const { return _memory.high_boundary(); } bool contains(const void* p) const { return low_boundary() <= p && p < high(); } - void* find_start(void* p) const; // returns the block containing p or NULL - size_t alignment_unit() const; // alignment of any block - size_t alignment_offset() const; // offset of first byte of any block, within the enclosing alignment unit - static size_t header_size(); // returns the header size for each heap block + void* find_start(void* p) const; // returns the block containing p or NULL + size_t alignment_unit() const; // alignment of any block + size_t alignment_offset() const; // offset of first byte of any block, within the enclosing alignment unit + static size_t header_size(); // returns the header size for each heap block - // Iteration + size_t allocated_in_freelist() const { return _freelist_segments * CodeCacheSegmentSize; } + int freelist_length() const { return _freelist_length; } // number of elements in the freelist // returns the first block or NULL void* first() const { return next_free(first_block()); } @@ -156,6 +159,7 @@ class CodeHeap : public CHeapObj { // Statistics size_t capacity() const; size_t max_capacity() const; + int allocated_segments() const; size_t allocated_capacity() const; size_t unallocated_capacity() const { return max_capacity() - allocated_capacity(); } @@ -164,7 +168,7 @@ private: public: // Debugging - void verify(); + void verify() PRODUCT_RETURN; void print() PRODUCT_RETURN; }; diff --git a/hotspot/src/share/vm/oops/constantPool.cpp b/hotspot/src/share/vm/oops/constantPool.cpp index e008ccb8d4a..9ed7628985d 100644 --- a/hotspot/src/share/vm/oops/constantPool.cpp +++ b/hotspot/src/share/vm/oops/constantPool.cpp @@ -1295,6 +1295,7 @@ void ConstantPool::copy_entry_to(constantPoolHandle from_cp, int from_i, } break; case JVM_CONSTANT_UnresolvedClass: + case JVM_CONSTANT_UnresolvedClassInError: { // Can be resolved after checking tag, so check the slot first. CPSlot entry = from_cp->slot_at(from_i); diff --git a/hotspot/src/share/vm/oops/metadata.hpp b/hotspot/src/share/vm/oops/metadata.hpp index 84a60893e81..dc52c452ee3 100644 --- a/hotspot/src/share/vm/oops/metadata.hpp +++ b/hotspot/src/share/vm/oops/metadata.hpp @@ -42,6 +42,7 @@ class Metadata : public MetaspaceObj { // Rehashing support for tables containing pointers to this unsigned int new_hash(juint seed) { ShouldNotReachHere(); return 0; } + virtual bool is_metadata() const volatile { return true; } virtual bool is_klass() const volatile { return false; } virtual bool is_method() const volatile { return false; } virtual bool is_methodData() const volatile { return false; } diff --git a/hotspot/src/share/vm/oops/method.hpp b/hotspot/src/share/vm/oops/method.hpp index 931b08b5264..98598dbeeff 100644 --- a/hotspot/src/share/vm/oops/method.hpp +++ b/hotspot/src/share/vm/oops/method.hpp @@ -108,12 +108,16 @@ class Method : public Metadata { #endif u2 _method_size; // size of this object u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none) - u1 _jfr_towrite : 1, // Flags - _caller_sensitive : 1, - _force_inline : 1, - _hidden : 1, - _dont_inline : 1, - : 3; + + // Flags + enum Flags { + _jfr_towrite = 1 << 0, + _caller_sensitive = 1 << 1, + _force_inline = 1 << 2, + _dont_inline = 1 << 3, + _hidden = 1 << 4 + }; + u1 _flags; #ifndef PRODUCT int _compiled_invocation_count; // Number of nmethod invocations so far (for perf. debugging) @@ -759,16 +763,41 @@ class Method : public Metadata { void init_intrinsic_id(); // updates from _none if a match static vmSymbols::SID klass_id_for_intrinsics(Klass* holder); - bool jfr_towrite() { return _jfr_towrite; } - void set_jfr_towrite(bool x) { _jfr_towrite = x; } - bool caller_sensitive() { return _caller_sensitive; } - void set_caller_sensitive(bool x) { _caller_sensitive = x; } - bool force_inline() { return _force_inline; } - void set_force_inline(bool x) { _force_inline = x; } - bool dont_inline() { return _dont_inline; } - void set_dont_inline(bool x) { _dont_inline = x; } - bool is_hidden() { return _hidden; } - void set_hidden(bool x) { _hidden = x; } + bool jfr_towrite() { + return (_flags & _jfr_towrite) != 0; + } + void set_jfr_towrite(bool x) { + _flags = x ? (_flags | _jfr_towrite) : (_flags & ~_jfr_towrite); + } + + bool caller_sensitive() { + return (_flags & _caller_sensitive) != 0; + } + void set_caller_sensitive(bool x) { + _flags = x ? (_flags | _caller_sensitive) : (_flags & ~_caller_sensitive); + } + + bool force_inline() { + return (_flags & _force_inline) != 0; + } + void set_force_inline(bool x) { + _flags = x ? (_flags | _force_inline) : (_flags & ~_force_inline); + } + + bool dont_inline() { + return (_flags & _dont_inline) != 0; + } + void set_dont_inline(bool x) { + _flags = x ? (_flags | _dont_inline) : (_flags & ~_dont_inline); + } + + bool is_hidden() { + return (_flags & _hidden) != 0; + } + void set_hidden(bool x) { + _flags = x ? (_flags | _hidden) : (_flags & ~_hidden); + } + ConstMethod::MethodType method_type() const { return _constMethod->method_type(); } diff --git a/hotspot/src/share/vm/oops/methodData.cpp b/hotspot/src/share/vm/oops/methodData.cpp index b226173d832..0e6e0ec0130 100644 --- a/hotspot/src/share/vm/oops/methodData.cpp +++ b/hotspot/src/share/vm/oops/methodData.cpp @@ -1071,7 +1071,8 @@ void MethodData::post_initialize(BytecodeStream* stream) { } // Initialize the MethodData* corresponding to a given method. -MethodData::MethodData(methodHandle method, int size, TRAPS) { +MethodData::MethodData(methodHandle method, int size, TRAPS) + : _extra_data_lock(Monitor::leaf, "MDO extra data lock") { No_Safepoint_Verifier no_safepoint; // init function atomic wrt GC ResourceMark rm; // Set the method back-pointer. @@ -1235,7 +1236,7 @@ DataLayout* MethodData::next_extra(DataLayout* dp) { return (DataLayout*)((address)dp + DataLayout::compute_size_in_bytes(nb_cells)); } -ProfileData* MethodData::bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp) { +ProfileData* MethodData::bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp, bool concurrent) { DataLayout* end = extra_data_limit(); for (;; dp = next_extra(dp)) { @@ -1257,10 +1258,11 @@ ProfileData* MethodData::bci_to_extra_data_helper(int bci, Method* m, DataLayout if (m != NULL) { SpeculativeTrapData* data = new SpeculativeTrapData(dp); // data->method() may be null in case of a concurrent - // allocation. Assume it's for the same method and use that + // allocation. Maybe it's for the same method. Try to use that // entry in that case. if (dp->bci() == bci) { if (data->method() == NULL) { + assert(concurrent, "impossible because no concurrent allocation"); return NULL; } else if (data->method() == m) { return data; @@ -1289,40 +1291,40 @@ ProfileData* MethodData::bci_to_extra_data(int bci, Method* m, bool create_if_mi // Allocation in the extra data space has to be atomic because not // all entries have the same size and non atomic concurrent // allocation would result in a corrupted extra data space. - while (true) { - ProfileData* result = bci_to_extra_data_helper(bci, m, dp); - if (result != NULL) { + ProfileData* result = bci_to_extra_data_helper(bci, m, dp, true); + if (result != NULL) { + return result; + } + + if (create_if_missing && dp < end) { + MutexLocker ml(&_extra_data_lock); + // Check again now that we have the lock. Another thread may + // have added extra data entries. + ProfileData* result = bci_to_extra_data_helper(bci, m, dp, false); + if (result != NULL || dp >= end) { return result; } - if (create_if_missing && dp < end) { - assert(dp->tag() == DataLayout::no_tag || (dp->tag() == DataLayout::speculative_trap_data_tag && m != NULL), "should be free"); - assert(next_extra(dp)->tag() == DataLayout::no_tag || next_extra(dp)->tag() == DataLayout::arg_info_data_tag, "should be free or arg info"); - u1 tag = m == NULL ? DataLayout::bit_data_tag : DataLayout::speculative_trap_data_tag; - // SpeculativeTrapData is 2 slots. Make sure we have room. - if (m != NULL && next_extra(dp)->tag() != DataLayout::no_tag) { - return NULL; - } - DataLayout temp; - temp.initialize(tag, bci, 0); - // May have been set concurrently - if (dp->header() != temp.header() && !dp->atomic_set_header(temp.header())) { - // Allocation failure because of concurrent allocation. Try - // again. - continue; - } - assert(dp->tag() == tag, "sane"); - assert(dp->bci() == bci, "no concurrent allocation"); - if (tag == DataLayout::bit_data_tag) { - return new BitData(dp); - } else { - // If being allocated concurrently, one trap may be lost - SpeculativeTrapData* data = new SpeculativeTrapData(dp); - data->set_method(m); - return data; - } + assert(dp->tag() == DataLayout::no_tag || (dp->tag() == DataLayout::speculative_trap_data_tag && m != NULL), "should be free"); + assert(next_extra(dp)->tag() == DataLayout::no_tag || next_extra(dp)->tag() == DataLayout::arg_info_data_tag, "should be free or arg info"); + u1 tag = m == NULL ? DataLayout::bit_data_tag : DataLayout::speculative_trap_data_tag; + // SpeculativeTrapData is 2 slots. Make sure we have room. + if (m != NULL && next_extra(dp)->tag() != DataLayout::no_tag) { + return NULL; + } + DataLayout temp; + temp.initialize(tag, bci, 0); + + dp->set_header(temp.header()); + assert(dp->tag() == tag, "sane"); + assert(dp->bci() == bci, "no concurrent allocation"); + if (tag == DataLayout::bit_data_tag) { + return new BitData(dp); + } else { + SpeculativeTrapData* data = new SpeculativeTrapData(dp); + data->set_method(m); + return data; } - return NULL; } return NULL; } diff --git a/hotspot/src/share/vm/oops/methodData.hpp b/hotspot/src/share/vm/oops/methodData.hpp index 76b0708f233..e0218f9fd47 100644 --- a/hotspot/src/share/vm/oops/methodData.hpp +++ b/hotspot/src/share/vm/oops/methodData.hpp @@ -190,12 +190,6 @@ public: void set_header(intptr_t value) { _header._bits = value; } - bool atomic_set_header(intptr_t value) { - if (Atomic::cmpxchg_ptr(value, (volatile intptr_t*)&_header._bits, 0) == 0) { - return true; - } - return false; - } intptr_t header() { return _header._bits; } @@ -2047,10 +2041,12 @@ private: // Cached hint for bci_to_dp and bci_to_data int _hint_di; + Mutex _extra_data_lock; + MethodData(methodHandle method, int size, TRAPS); public: static MethodData* allocate(ClassLoaderData* loader_data, methodHandle method, TRAPS); - MethodData() {}; // For ciMethodData + MethodData() : _extra_data_lock(Monitor::leaf, "MDO extra data lock") {}; // For ciMethodData bool is_methodData() const volatile { return true; } @@ -2155,7 +2151,7 @@ private: // What is the index of the first data entry? int first_di() const { return 0; } - ProfileData* bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp); + ProfileData* bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp, bool concurrent); // Find or create an extra ProfileData: ProfileData* bci_to_extra_data(int bci, Method* m, bool create_if_missing); diff --git a/hotspot/src/share/vm/opto/c2_globals.hpp b/hotspot/src/share/vm/opto/c2_globals.hpp index cc5e2ced6b3..0db9dab8104 100644 --- a/hotspot/src/share/vm/opto/c2_globals.hpp +++ b/hotspot/src/share/vm/opto/c2_globals.hpp @@ -452,7 +452,7 @@ product(bool, EliminateAutoBox, true, \ "Control optimizations for autobox elimination") \ \ - experimental(bool, UseImplicitStableValues, false, \ + diagnostic(bool, UseImplicitStableValues, true, \ "Mark well-known stable fields as such (e.g. String.value)") \ \ product(intx, AutoBoxCacheMax, 128, \ @@ -650,7 +650,7 @@ experimental(bool, ReplaceInParentMaps, false, \ "Propagate type improvements in callers of inlinee if possible") \ \ - experimental(bool, UseTypeSpeculation, false, \ + product(bool, UseTypeSpeculation, true, \ "Speculatively propagate types from profiles") \ \ diagnostic(bool, UseInlineDepthForSpeculativeTypes, true, \ diff --git a/hotspot/src/share/vm/opto/graphKit.cpp b/hotspot/src/share/vm/opto/graphKit.cpp index d11e4ff5ccf..d9fcfb2cb91 100644 --- a/hotspot/src/share/vm/opto/graphKit.cpp +++ b/hotspot/src/share/vm/opto/graphKit.cpp @@ -3007,22 +3007,28 @@ Node* GraphKit::gen_checkcast(Node *obj, Node* superklass, } Node* cast_obj = NULL; - const TypeOopPtr* obj_type = _gvn.type(obj)->is_oopptr(); - // We may not have profiling here or it may not help us. If we have - // a speculative type use it to perform an exact cast. - ciKlass* spec_obj_type = obj_type->speculative_type(); - if (spec_obj_type != NULL || - (data != NULL && - // Counter has never been decremented (due to cast failure). - // ...This is a reasonable thing to expect. It is true of - // all casts inserted by javac to implement generic types. - data->as_CounterData()->count() >= 0)) { - cast_obj = maybe_cast_profiled_receiver(not_null_obj, tk->klass(), spec_obj_type, safe_for_replace); - if (cast_obj != NULL) { - if (failure_control != NULL) // failure is now impossible - (*failure_control) = top(); - // adjust the type of the phi to the exact klass: - phi->raise_bottom_type(_gvn.type(cast_obj)->meet_speculative(TypePtr::NULL_PTR)); + if (tk->klass_is_exact()) { + // The following optimization tries to statically cast the speculative type of the object + // (for example obtained during profiling) to the type of the superklass and then do a + // dynamic check that the type of the object is what we expect. To work correctly + // for checkcast and aastore the type of superklass should be exact. + const TypeOopPtr* obj_type = _gvn.type(obj)->is_oopptr(); + // We may not have profiling here or it may not help us. If we have + // a speculative type use it to perform an exact cast. + ciKlass* spec_obj_type = obj_type->speculative_type(); + if (spec_obj_type != NULL || + (data != NULL && + // Counter has never been decremented (due to cast failure). + // ...This is a reasonable thing to expect. It is true of + // all casts inserted by javac to implement generic types. + data->as_CounterData()->count() >= 0)) { + cast_obj = maybe_cast_profiled_receiver(not_null_obj, tk->klass(), spec_obj_type, safe_for_replace); + if (cast_obj != NULL) { + if (failure_control != NULL) // failure is now impossible + (*failure_control) = top(); + // adjust the type of the phi to the exact klass: + phi->raise_bottom_type(_gvn.type(cast_obj)->meet_speculative(TypePtr::NULL_PTR)); + } } } diff --git a/hotspot/src/share/vm/opto/library_call.cpp b/hotspot/src/share/vm/opto/library_call.cpp index 73c6e9090f9..bd2ef020bb2 100644 --- a/hotspot/src/share/vm/opto/library_call.cpp +++ b/hotspot/src/share/vm/opto/library_call.cpp @@ -3180,7 +3180,8 @@ bool LibraryCallKit::inline_native_currentThread() { // private native boolean java.lang.Thread.isInterrupted(boolean ClearInterrupted); bool LibraryCallKit::inline_native_isInterrupted() { // Add a fast path to t.isInterrupted(clear_int): - // (t == Thread.current() && (!TLS._osthread._interrupted || !clear_int)) + // (t == Thread.current() && + // (!TLS._osthread._interrupted || WINDOWS_ONLY(false) NOT_WINDOWS(!clear_int))) // ? TLS._osthread._interrupted : /*slow path:*/ t.isInterrupted(clear_int) // So, in the common case that the interrupt bit is false, // we avoid making a call into the VM. Even if the interrupt bit @@ -3237,6 +3238,7 @@ bool LibraryCallKit::inline_native_isInterrupted() { // drop through to next case set_control( _gvn.transform(new (C) IfTrueNode(iff_bit))); +#ifndef TARGET_OS_FAMILY_windows // (c) Or, if interrupt bit is set and clear_int is false, use 2nd fast path. Node* clr_arg = argument(1); Node* cmp_arg = _gvn.transform(new (C) CmpINode(clr_arg, intcon(0))); @@ -3250,6 +3252,10 @@ bool LibraryCallKit::inline_native_isInterrupted() { // drop through to next case set_control( _gvn.transform(new (C) IfTrueNode(iff_arg))); +#else + // To return true on Windows you must read the _interrupted field + // and check the the event state i.e. take the slow path. +#endif // TARGET_OS_FAMILY_windows // (d) Otherwise, go to the slow path. slow_region->add_req(control()); diff --git a/hotspot/src/share/vm/opto/matcher.cpp b/hotspot/src/share/vm/opto/matcher.cpp index 03ee1dc8086..f263a3c5044 100644 --- a/hotspot/src/share/vm/opto/matcher.cpp +++ b/hotspot/src/share/vm/opto/matcher.cpp @@ -1922,6 +1922,105 @@ OptoReg::Name Matcher::find_receiver( bool is_outgoing ) { return OptoReg::as_OptoReg(regs.first()); } +// This function identifies sub-graphs in which a 'load' node is +// input to two different nodes, and such that it can be matched +// with BMI instructions like blsi, blsr, etc. +// Example : for b = -a[i] & a[i] can be matched to blsi r32, m32. +// The graph is (AndL (SubL Con0 LoadL*) LoadL*), where LoadL* +// refers to the same node. +#ifdef X86 +// Match the generic fused operations pattern (op1 (op2 Con{ConType} mop) mop) +// This is a temporary solution until we make DAGs expressible in ADL. +template +class FusedPatternMatcher { + Node* _op1_node; + Node* _mop_node; + int _con_op; + + static int match_next(Node* n, int next_op, int next_op_idx) { + if (n->in(1) == NULL || n->in(2) == NULL) { + return -1; + } + + if (next_op_idx == -1) { // n is commutative, try rotations + if (n->in(1)->Opcode() == next_op) { + return 1; + } else if (n->in(2)->Opcode() == next_op) { + return 2; + } + } else { + assert(next_op_idx > 0 && next_op_idx <= 2, "Bad argument index"); + if (n->in(next_op_idx)->Opcode() == next_op) { + return next_op_idx; + } + } + return -1; + } +public: + FusedPatternMatcher(Node* op1_node, Node *mop_node, int con_op) : + _op1_node(op1_node), _mop_node(mop_node), _con_op(con_op) { } + + bool match(int op1, int op1_op2_idx, // op1 and the index of the op1->op2 edge, -1 if op1 is commutative + int op2, int op2_con_idx, // op2 and the index of the op2->con edge, -1 if op2 is commutative + typename ConType::NativeType con_value) { + if (_op1_node->Opcode() != op1) { + return false; + } + if (_mop_node->outcnt() > 2) { + return false; + } + op1_op2_idx = match_next(_op1_node, op2, op1_op2_idx); + if (op1_op2_idx == -1) { + return false; + } + // Memory operation must be the other edge + int op1_mop_idx = (op1_op2_idx & 1) + 1; + + // Check that the mop node is really what we want + if (_op1_node->in(op1_mop_idx) == _mop_node) { + Node *op2_node = _op1_node->in(op1_op2_idx); + if (op2_node->outcnt() > 1) { + return false; + } + assert(op2_node->Opcode() == op2, "Should be"); + op2_con_idx = match_next(op2_node, _con_op, op2_con_idx); + if (op2_con_idx == -1) { + return false; + } + // Memory operation must be the other edge + int op2_mop_idx = (op2_con_idx & 1) + 1; + // Check that the memory operation is the same node + if (op2_node->in(op2_mop_idx) == _mop_node) { + // Now check the constant + const Type* con_type = op2_node->in(op2_con_idx)->bottom_type(); + if (con_type != Type::TOP && ConType::as_self(con_type)->get_con() == con_value) { + return true; + } + } + } + return false; + } +}; + + +bool Matcher::is_bmi_pattern(Node *n, Node *m) { + if (n != NULL && m != NULL) { + if (m->Opcode() == Op_LoadI) { + FusedPatternMatcher bmii(n, m, Op_ConI); + return bmii.match(Op_AndI, -1, Op_SubI, 1, 0) || + bmii.match(Op_AndI, -1, Op_AddI, -1, -1) || + bmii.match(Op_XorI, -1, Op_AddI, -1, -1); + } else if (m->Opcode() == Op_LoadL) { + FusedPatternMatcher bmil(n, m, Op_ConL); + return bmil.match(Op_AndL, -1, Op_SubL, 1, 0) || + bmil.match(Op_AndL, -1, Op_AddL, -1, -1) || + bmil.match(Op_XorL, -1, Op_AddL, -1, -1); + } + } + return false; +} +#endif // X86 + // A method-klass-holder may be passed in the inline_cache_reg // and then expanded into the inline_cache_reg and a method_oop register // defined in ad_.cpp @@ -2077,6 +2176,14 @@ void Matcher::find_shared( Node *n ) { set_shared(m->in(AddPNode::Base)->in(1)); } + // if 'n' and 'm' are part of a graph for BMI instruction, clone this node. +#ifdef X86 + if (UseBMI1Instructions && is_bmi_pattern(n, m)) { + mstack.push(m, Visit); + continue; + } +#endif + // Clone addressing expressions as they are "free" in memory access instructions if( mem_op && i == MemNode::Address && mop == Op_AddP ) { // Some inputs for address expression are not put on stack diff --git a/hotspot/src/share/vm/opto/matcher.hpp b/hotspot/src/share/vm/opto/matcher.hpp index 38eeca40290..66d4a0adab9 100644 --- a/hotspot/src/share/vm/opto/matcher.hpp +++ b/hotspot/src/share/vm/opto/matcher.hpp @@ -79,6 +79,9 @@ class Matcher : public PhaseTransform { // Find shared Nodes, or Nodes that otherwise are Matcher roots void find_shared( Node *n ); +#ifdef X86 + bool is_bmi_pattern(Node *n, Node *m); +#endif // Debug and profile information for nodes in old space: GrowableArray* _old_node_note_array; diff --git a/hotspot/src/share/vm/opto/memnode.cpp b/hotspot/src/share/vm/opto/memnode.cpp index 8097eade89f..3a6d4998b06 100644 --- a/hotspot/src/share/vm/opto/memnode.cpp +++ b/hotspot/src/share/vm/opto/memnode.cpp @@ -1593,35 +1593,33 @@ LoadNode::load_array_final_field(const TypeKlassPtr *tkls, // Try to constant-fold a stable array element. static const Type* fold_stable_ary_elem(const TypeAryPtr* ary, int off, BasicType loadbt) { + assert(ary->const_oop(), "array should be constant"); assert(ary->is_stable(), "array should be stable"); - if (ary->const_oop() != NULL) { - // Decode the results of GraphKit::array_element_address. - ciArray* aobj = ary->const_oop()->as_array(); - ciConstant con = aobj->element_value_by_offset(off); + // Decode the results of GraphKit::array_element_address. + ciArray* aobj = ary->const_oop()->as_array(); + ciConstant con = aobj->element_value_by_offset(off); - if (con.basic_type() != T_ILLEGAL && !con.is_null_or_zero()) { - const Type* con_type = Type::make_from_constant(con); - if (con_type != NULL) { - if (con_type->isa_aryptr()) { - // Join with the array element type, in case it is also stable. - int dim = ary->stable_dimension(); - con_type = con_type->is_aryptr()->cast_to_stable(true, dim-1); - } - if (loadbt == T_NARROWOOP && con_type->isa_oopptr()) { - con_type = con_type->make_narrowoop(); - } -#ifndef PRODUCT - if (TraceIterativeGVN) { - tty->print("FoldStableValues: array element [off=%d]: con_type=", off); - con_type->dump(); tty->cr(); - } -#endif //PRODUCT - return con_type; + if (con.basic_type() != T_ILLEGAL && !con.is_null_or_zero()) { + const Type* con_type = Type::make_from_constant(con); + if (con_type != NULL) { + if (con_type->isa_aryptr()) { + // Join with the array element type, in case it is also stable. + int dim = ary->stable_dimension(); + con_type = con_type->is_aryptr()->cast_to_stable(true, dim-1); } + if (loadbt == T_NARROWOOP && con_type->isa_oopptr()) { + con_type = con_type->make_narrowoop(); + } +#ifndef PRODUCT + if (TraceIterativeGVN) { + tty->print("FoldStableValues: array element [off=%d]: con_type=", off); + con_type->dump(); tty->cr(); + } +#endif //PRODUCT + return con_type; } } - return NULL; } @@ -1641,7 +1639,7 @@ const Type *LoadNode::Value( PhaseTransform *phase ) const { // Try to guess loaded type from pointer type if (tp->isa_aryptr()) { const TypeAryPtr* ary = tp->is_aryptr(); - const Type *t = ary->elem(); + const Type* t = ary->elem(); // Determine whether the reference is beyond the header or not, by comparing // the offset against the offset of the start of the array's data. @@ -1653,10 +1651,9 @@ const Type *LoadNode::Value( PhaseTransform *phase ) const { const bool off_beyond_header = ((uint)off >= (uint)min_base_off); // Try to constant-fold a stable array element. - if (FoldStableValues && ary->is_stable()) { - // Make sure the reference is not into the header - if (off_beyond_header && off != Type::OffsetBot) { - assert(adr->is_AddP() && adr->in(AddPNode::Offset)->is_Con(), "offset is a constant"); + if (FoldStableValues && ary->is_stable() && ary->const_oop() != NULL) { + // Make sure the reference is not into the header and the offset is constant + if (off_beyond_header && adr->is_AddP() && off != Type::OffsetBot) { const Type* con_type = fold_stable_ary_elem(ary, off, memory_type()); if (con_type != NULL) { return con_type; diff --git a/hotspot/src/share/vm/opto/multnode.cpp b/hotspot/src/share/vm/opto/multnode.cpp index 300f6246369..1da4b7789f4 100644 --- a/hotspot/src/share/vm/opto/multnode.cpp +++ b/hotspot/src/share/vm/opto/multnode.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -194,7 +194,9 @@ bool ProjNode::is_uncommon_trap_if_pattern(Deoptimization::DeoptReason reason) { } } - ProjNode* other_proj = iff->proj_out(1-_con)->as_Proj(); + ProjNode* other_proj = iff->proj_out(1-_con); + if (other_proj == NULL) // Should never happen, but make Parfait happy. + return false; if (other_proj->is_uncommon_trap_proj(reason)) { assert(reason == Deoptimization::Reason_none || Compile::current()->is_predicate_opaq(iff->in(1)->in(1)), "should be on the list"); diff --git a/hotspot/src/share/vm/opto/parse.hpp b/hotspot/src/share/vm/opto/parse.hpp index cca8a8b6c3c..092e40a7f64 100644 --- a/hotspot/src/share/vm/opto/parse.hpp +++ b/hotspot/src/share/vm/opto/parse.hpp @@ -338,6 +338,8 @@ class Parse : public GraphKit { GraphKit _exits; // Record all normal returns and throws here. bool _wrote_final; // Did we write a final field? bool _wrote_volatile; // Did we write a volatile field? + bool _wrote_stable; // Did we write a @Stable field? + bool _wrote_fields; // Did we write any field? bool _count_invocations; // update and test invocation counter bool _method_data_update; // update method data oop Node* _alloc_with_final; // An allocation node with final field @@ -383,6 +385,10 @@ class Parse : public GraphKit { void set_wrote_final(bool z) { _wrote_final = z; } bool wrote_volatile() const { return _wrote_volatile; } void set_wrote_volatile(bool z) { _wrote_volatile = z; } + bool wrote_stable() const { return _wrote_stable; } + void set_wrote_stable(bool z) { _wrote_stable = z; } + bool wrote_fields() const { return _wrote_fields; } + void set_wrote_fields(bool z) { _wrote_fields = z; } bool count_invocations() const { return _count_invocations; } bool method_data_update() const { return _method_data_update; } Node* alloc_with_final() const { return _alloc_with_final; } diff --git a/hotspot/src/share/vm/opto/parse1.cpp b/hotspot/src/share/vm/opto/parse1.cpp index 74b1f1a4ac8..db50f98492b 100644 --- a/hotspot/src/share/vm/opto/parse1.cpp +++ b/hotspot/src/share/vm/opto/parse1.cpp @@ -391,6 +391,8 @@ Parse::Parse(JVMState* caller, ciMethod* parse_method, float expected_uses, Pars _depth = 1 + (caller->has_method() ? caller->depth() : 0); _wrote_final = false; _wrote_volatile = false; + _wrote_stable = false; + _wrote_fields = false; _alloc_with_final = NULL; _entry_bci = InvocationEntryBci; _tf = NULL; @@ -908,26 +910,35 @@ void Parse::do_exits() { Node* iophi = _exits.i_o(); _exits.set_i_o(gvn().transform(iophi)); - // On PPC64, also add MemBarRelease for constructors which write - // volatile fields. As support_IRIW_for_not_multiple_copy_atomic_cpu - // is set on PPC64, no sync instruction is issued after volatile - // stores. We want to quarantee the same behaviour as on platforms - // with total store order, although this is not required by the Java - // memory model. So as with finals, we add a barrier here. - if (wrote_final() PPC64_ONLY(|| (wrote_volatile() && method()->is_initializer()))) { - // This method (which must be a constructor by the rules of Java) - // wrote a final. The effects of all initializations must be - // committed to memory before any code after the constructor - // publishes the reference to the newly constructor object. - // Rather than wait for the publication, we simply block the - // writes here. Rather than put a barrier on only those writes - // which are required to complete, we force all writes to complete. - // - // "All bets are off" unless the first publication occurs after a - // normal return from the constructor. We do not attempt to detect - // such unusual early publications. But no barrier is needed on - // exceptional returns, since they cannot publish normally. - // + // Figure out if we need to emit the trailing barrier. The barrier is only + // needed in the constructors, and only in three cases: + // + // 1. The constructor wrote a final. The effects of all initializations + // must be committed to memory before any code after the constructor + // publishes the reference to the newly constructed object. Rather + // than wait for the publication, we simply block the writes here. + // Rather than put a barrier on only those writes which are required + // to complete, we force all writes to complete. + // + // 2. On PPC64, also add MemBarRelease for constructors which write + // volatile fields. As support_IRIW_for_not_multiple_copy_atomic_cpu + // is set on PPC64, no sync instruction is issued after volatile + // stores. We want to guarantee the same behavior as on platforms + // with total store order, although this is not required by the Java + // memory model. So as with finals, we add a barrier here. + // + // 3. Experimental VM option is used to force the barrier if any field + // was written out in the constructor. + // + // "All bets are off" unless the first publication occurs after a + // normal return from the constructor. We do not attempt to detect + // such unusual early publications. But no barrier is needed on + // exceptional returns, since they cannot publish normally. + // + if (method()->is_initializer() && + (wrote_final() || + PPC64_ONLY(wrote_volatile() ||) + (AlwaysSafeConstructors && wrote_fields()))) { _exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final()); #ifndef PRODUCT if (PrintOpto && (Verbose || WizardMode)) { @@ -937,6 +948,19 @@ void Parse::do_exits() { #endif } + // Any method can write a @Stable field; insert memory barriers after + // those also. If there is a predecessor allocation node, bind the + // barrier there. + if (wrote_stable()) { + _exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final()); +#ifndef PRODUCT + if (PrintOpto && (Verbose || WizardMode)) { + method()->print_name(); + tty->print_cr(" writes @Stable and needs a memory barrier"); + } +#endif + } + for (MergeMemStream mms(_exits.merged_memory()); mms.next_non_empty(); ) { // transform each slice of the original memphi: mms.set_memory(_gvn.transform(mms.memory())); diff --git a/hotspot/src/share/vm/opto/parse3.cpp b/hotspot/src/share/vm/opto/parse3.cpp index 466e1ca3b90..1f7ea1d3f8b 100644 --- a/hotspot/src/share/vm/opto/parse3.cpp +++ b/hotspot/src/share/vm/opto/parse3.cpp @@ -233,7 +233,8 @@ void Parse::do_get_xxx(Node* obj, ciField* field, bool is_field) { // Build the load. // MemNode::MemOrd mo = is_vol ? MemNode::acquire : MemNode::unordered; - Node* ld = make_load(NULL, adr, type, bt, adr_type, mo, is_vol); + bool needs_atomic_access = is_vol || AlwaysAtomicAccesses; + Node* ld = make_load(NULL, adr, type, bt, adr_type, mo, needs_atomic_access); // Adjust Java stack if (type2size[bt] == 1) @@ -314,7 +315,8 @@ void Parse::do_put_xxx(Node* obj, ciField* field, bool is_field) { } store = store_oop_to_object(control(), obj, adr, adr_type, val, field_type, bt, mo); } else { - store = store_to_memory(control(), adr, val, bt, adr_type, mo, is_vol); + bool needs_atomic_access = is_vol || AlwaysAtomicAccesses; + store = store_to_memory(control(), adr, val, bt, adr_type, mo, needs_atomic_access); } // If reference is volatile, prevent following volatiles ops from @@ -332,13 +334,23 @@ void Parse::do_put_xxx(Node* obj, ciField* field, bool is_field) { } } + if (is_field) { + set_wrote_fields(true); + } + // If the field is final, the rules of Java say we are in or . // Note the presence of writes to final non-static fields, so that we // can insert a memory barrier later on to keep the writes from floating // out of the constructor. // Any method can write a @Stable field; insert memory barriers after those also. if (is_field && (field->is_final() || field->is_stable())) { - set_wrote_final(true); + if (field->is_final()) { + set_wrote_final(true); + } + if (field->is_stable()) { + set_wrote_stable(true); + } + // Preserve allocation ptr to create precedent edge to it in membar // generated on exit from constructor. if (C->eliminate_boxing() && diff --git a/hotspot/src/share/vm/prims/jvm.cpp b/hotspot/src/share/vm/prims/jvm.cpp index 5003db9119a..1c95046c77b 100644 --- a/hotspot/src/share/vm/prims/jvm.cpp +++ b/hotspot/src/share/vm/prims/jvm.cpp @@ -4360,7 +4360,7 @@ JVM_END JVM_ENTRY(void, JVM_GetVersionInfo(JNIEnv* env, jvm_version_info* info, size_t info_size)) { - memset(info, 0, sizeof(info_size)); + memset(info, 0, info_size); info->jvm_version = Abstract_VM_Version::jvm_version(); info->update_version = 0; /* 0 in HotSpot Express VM */ diff --git a/hotspot/src/share/vm/prims/jvmtiEnv.cpp b/hotspot/src/share/vm/prims/jvmtiEnv.cpp index 5aba54b6ca9..6dcf2e1bf95 100644 --- a/hotspot/src/share/vm/prims/jvmtiEnv.cpp +++ b/hotspot/src/share/vm/prims/jvmtiEnv.cpp @@ -1464,7 +1464,19 @@ JvmtiEnv::PopFrame(JavaThread* java_thread) { // It's fine to update the thread state here because no JVMTI events // shall be posted for this PopFrame. - state->update_for_pop_top_frame(); + // It is only safe to perform the direct operation on the current + // thread. All other usage needs to use a vm-safepoint-op for safety. + if (java_thread == JavaThread::current()) { + state->update_for_pop_top_frame(); + } else { + VM_UpdateForPopTopFrame op(state); + VMThread::execute(&op); + jvmtiError err = op.result(); + if (err != JVMTI_ERROR_NONE) { + return err; + } + } + java_thread->set_popframe_condition(JavaThread::popframe_pending_bit); // Set pending step flag for this popframe and it is cleared when next // step event is posted. @@ -1505,6 +1517,7 @@ JvmtiEnv::GetFrameLocation(JavaThread* java_thread, jint depth, jmethodID* metho // depth - pre-checked as non-negative jvmtiError JvmtiEnv::NotifyFramePop(JavaThread* java_thread, jint depth) { + jvmtiError err = JVMTI_ERROR_NONE; ResourceMark rm; uint32_t debug_bits = 0; @@ -1532,10 +1545,17 @@ JvmtiEnv::NotifyFramePop(JavaThread* java_thread, jint depth) { assert(vf->frame_pointer() != NULL, "frame pointer mustn't be NULL"); - int frame_number = state->count_frames() - depth; - state->env_thread_state(this)->set_frame_pop(frame_number); - - return JVMTI_ERROR_NONE; + // It is only safe to perform the direct operation on the current + // thread. All other usage needs to use a vm-safepoint-op for safety. + if (java_thread == JavaThread::current()) { + int frame_number = state->count_frames() - depth; + state->env_thread_state(this)->set_frame_pop(frame_number); + } else { + VM_SetFramePop op(this, state, depth); + VMThread::execute(&op); + err = op.result(); + } + return err; } /* end NotifyFramePop */ diff --git a/hotspot/src/share/vm/prims/jvmtiEnvBase.hpp b/hotspot/src/share/vm/prims/jvmtiEnvBase.hpp index 0f9495945ec..f3c06c30c34 100644 --- a/hotspot/src/share/vm/prims/jvmtiEnvBase.hpp +++ b/hotspot/src/share/vm/prims/jvmtiEnvBase.hpp @@ -29,6 +29,7 @@ #include "prims/jvmtiEnvThreadState.hpp" #include "prims/jvmtiEventController.hpp" #include "prims/jvmtiThreadState.hpp" +#include "prims/jvmtiThreadState.inline.hpp" #include "runtime/fieldDescriptor.hpp" #include "runtime/frame.hpp" #include "runtime/handles.inline.hpp" @@ -334,6 +335,60 @@ class JvmtiEnvIterator : public StackObj { JvmtiEnv* next(JvmtiEnvBase* env) { return env->next_environment(); } }; +// VM operation to update for pop top frame. +class VM_UpdateForPopTopFrame : public VM_Operation { +private: + JvmtiThreadState* _state; + jvmtiError _result; + +public: + VM_UpdateForPopTopFrame(JvmtiThreadState* state) { + _state = state; + _result = JVMTI_ERROR_NONE; + } + VMOp_Type type() const { return VMOp_UpdateForPopTopFrame; } + jvmtiError result() { return _result; } + void doit() { + JavaThread* jt = _state->get_thread(); + if (Threads::includes(jt) && !jt->is_exiting() && jt->threadObj() != NULL) { + _state->update_for_pop_top_frame(); + } else { + _result = JVMTI_ERROR_THREAD_NOT_ALIVE; + } + } +}; + +// VM operation to set frame pop. +class VM_SetFramePop : public VM_Operation { +private: + JvmtiEnv *_env; + JvmtiThreadState* _state; + jint _depth; + jvmtiError _result; + +public: + VM_SetFramePop(JvmtiEnv *env, JvmtiThreadState* state, jint depth) { + _env = env; + _state = state; + _depth = depth; + _result = JVMTI_ERROR_NONE; + } + // Nested operation must be allowed for the VM_EnterInterpOnlyMode that is + // called from the JvmtiEventControllerPrivate::recompute_thread_enabled. + bool allow_nested_vm_operations() const { return true; } + VMOp_Type type() const { return VMOp_SetFramePop; } + jvmtiError result() { return _result; } + void doit() { + JavaThread* jt = _state->get_thread(); + if (Threads::includes(jt) && !jt->is_exiting() && jt->threadObj() != NULL) { + int frame_number = _state->count_frames() - _depth; + _state->env_thread_state((JvmtiEnvBase*)_env)->set_frame_pop(frame_number); + } else { + _result = JVMTI_ERROR_THREAD_NOT_ALIVE; + } + } +}; + // VM operation to get monitor information with stack depth. class VM_GetOwnedMonitorInfo : public VM_Operation { diff --git a/hotspot/src/share/vm/prims/jvmtiEnvThreadState.cpp b/hotspot/src/share/vm/prims/jvmtiEnvThreadState.cpp index ab3c5f445b3..3b290af1a0d 100644 --- a/hotspot/src/share/vm/prims/jvmtiEnvThreadState.cpp +++ b/hotspot/src/share/vm/prims/jvmtiEnvThreadState.cpp @@ -190,12 +190,8 @@ void JvmtiEnvThreadState::compare_and_set_current_location(Method* new_method, JvmtiFramePops* JvmtiEnvThreadState::get_frame_pops() { -#ifdef ASSERT - uint32_t debug_bits = 0; -#endif - assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), - "frame pop data only accessible from same thread or while suspended"); - + assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), + "frame pop data only accessible from same thread or at safepoint"); if (_frame_pops == NULL) { _frame_pops = new JvmtiFramePops(); assert(_frame_pops != NULL, "_frame_pops != NULL"); @@ -209,44 +205,32 @@ bool JvmtiEnvThreadState::has_frame_pops() { } void JvmtiEnvThreadState::set_frame_pop(int frame_number) { -#ifdef ASSERT - uint32_t debug_bits = 0; -#endif - assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), - "frame pop data only accessible from same thread or while suspended"); + assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), + "frame pop data only accessible from same thread or at safepoint"); JvmtiFramePop fpop(frame_number); JvmtiEventController::set_frame_pop(this, fpop); } void JvmtiEnvThreadState::clear_frame_pop(int frame_number) { -#ifdef ASSERT - uint32_t debug_bits = 0; -#endif - assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), - "frame pop data only accessible from same thread or while suspended"); + assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), + "frame pop data only accessible from same thread or at safepoint"); JvmtiFramePop fpop(frame_number); JvmtiEventController::clear_frame_pop(this, fpop); } void JvmtiEnvThreadState::clear_to_frame_pop(int frame_number) { -#ifdef ASSERT - uint32_t debug_bits = 0; -#endif - assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), - "frame pop data only accessible from same thread or while suspended"); + assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), + "frame pop data only accessible from same thread or at safepoint"); JvmtiFramePop fpop(frame_number); JvmtiEventController::clear_to_frame_pop(this, fpop); } bool JvmtiEnvThreadState::is_frame_pop(int cur_frame_number) { -#ifdef ASSERT - uint32_t debug_bits = 0; -#endif - assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), - "frame pop data only accessible from same thread or while suspended"); + assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), + "frame pop data only accessible from same thread or at safepoint"); if (!get_thread()->is_interp_only_mode() || _frame_pops == NULL) { return false; } diff --git a/hotspot/src/share/vm/prims/jvmtiEventController.cpp b/hotspot/src/share/vm/prims/jvmtiEventController.cpp index 52bfb1f7632..dff9989736e 100644 --- a/hotspot/src/share/vm/prims/jvmtiEventController.cpp +++ b/hotspot/src/share/vm/prims/jvmtiEventController.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, 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 @@ -989,21 +989,21 @@ JvmtiEventController::set_extension_event_callback(JvmtiEnvBase *env, void JvmtiEventController::set_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { - MutexLocker mu(JvmtiThreadState_lock); + MutexLockerEx mu(SafepointSynchronize::is_at_safepoint() ? NULL : JvmtiThreadState_lock); JvmtiEventControllerPrivate::set_frame_pop(ets, fpop); } void JvmtiEventController::clear_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { - MutexLocker mu(JvmtiThreadState_lock); + MutexLockerEx mu(SafepointSynchronize::is_at_safepoint() ? NULL : JvmtiThreadState_lock); JvmtiEventControllerPrivate::clear_frame_pop(ets, fpop); } void JvmtiEventController::clear_to_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { - MutexLocker mu(JvmtiThreadState_lock); + MutexLockerEx mu(SafepointSynchronize::is_at_safepoint() ? NULL : JvmtiThreadState_lock); JvmtiEventControllerPrivate::clear_to_frame_pop(ets, fpop); } diff --git a/hotspot/src/share/vm/prims/jvmtiThreadState.cpp b/hotspot/src/share/vm/prims/jvmtiThreadState.cpp index 34b5bdc8f44..42f4854bd89 100644 --- a/hotspot/src/share/vm/prims/jvmtiThreadState.cpp +++ b/hotspot/src/share/vm/prims/jvmtiThreadState.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, 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 @@ -63,6 +63,7 @@ JvmtiThreadState::JvmtiThreadState(JavaThread* thread) _vm_object_alloc_event_collector = NULL; _the_class_for_redefinition_verification = NULL; _scratch_class_for_redefinition_verification = NULL; + _cur_stack_depth = UNKNOWN_STACK_DEPTH; // JVMTI ForceEarlyReturn support _pending_step_for_earlyret = false; @@ -213,12 +214,9 @@ void JvmtiThreadState::leave_interp_only_mode() { // Helper routine used in several places int JvmtiThreadState::count_frames() { -#ifdef ASSERT - uint32_t debug_bits = 0; -#endif - assert(SafepointSynchronize::is_at_safepoint() || - JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), - "at safepoint or must be suspended"); + guarantee(SafepointSynchronize::is_at_safepoint() || + (JavaThread *)Thread::current() == get_thread(), + "must be current thread or at safepoint"); if (!get_thread()->has_last_Java_frame()) return 0; // no Java frames @@ -243,15 +241,9 @@ int JvmtiThreadState::count_frames() { void JvmtiThreadState::invalidate_cur_stack_depth() { - Thread *cur = Thread::current(); - uint32_t debug_bits = 0; - - // The caller can be the VMThread at a safepoint, the current thread - // or the target thread must be suspended. - guarantee((cur->is_VM_thread() && SafepointSynchronize::is_at_safepoint()) || - (JavaThread *)cur == get_thread() || - JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), - "sanity check"); + guarantee(SafepointSynchronize::is_at_safepoint() || + (JavaThread *)Thread::current() == get_thread(), + "must be current thread or at safepoint"); _cur_stack_depth = UNKNOWN_STACK_DEPTH; } @@ -280,10 +272,9 @@ void JvmtiThreadState::decr_cur_stack_depth() { } int JvmtiThreadState::cur_stack_depth() { - uint32_t debug_bits = 0; - guarantee(JavaThread::current() == get_thread() || - JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), - "must be current thread or suspended"); + guarantee(SafepointSynchronize::is_at_safepoint() || + (JavaThread *)Thread::current() == get_thread(), + "must be current thread or at safepoint"); if (!is_interp_only_mode() || _cur_stack_depth == UNKNOWN_STACK_DEPTH) { _cur_stack_depth = count_frames(); diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp index 1e02bf0cad8..3099df2e8ef 100644 --- a/hotspot/src/share/vm/runtime/arguments.cpp +++ b/hotspot/src/share/vm/runtime/arguments.cpp @@ -1699,7 +1699,8 @@ void Arguments::set_heap_size() { // HeapBaseMinAddress can be greater than default but not less than. if (!FLAG_IS_DEFAULT(HeapBaseMinAddress)) { if (HeapBaseMinAddress < DefaultHeapBaseMinAddress) { - if (PrintMiscellaneous && Verbose) { // matches compressed oops printing flags + // matches compressed oops printing flags + if (PrintCompressedOopsMode || (PrintMiscellaneous && Verbose)) { jio_fprintf(defaultStream::error_stream(), "HeapBaseMinAddress must be at least " UINTX_FORMAT " (" UINTX_FORMAT "G) which is greater than value given " @@ -2407,9 +2408,11 @@ bool Arguments::check_vm_args_consistency() { status &= verify_interval(NmethodSweepFraction, 1, ReservedCodeCacheSize/K, "NmethodSweepFraction"); status &= verify_interval(NmethodSweepActivity, 0, 2000, "NmethodSweepActivity"); + status &= verify_interval(CodeCacheMinBlockLength, 1, 100, "CodeCacheMinBlockLength"); + status &= verify_interval(CodeCacheSegmentSize, 1, 1024, "CodeCacheSegmentSize"); // TieredCompilation needs at least 2 compiler threads. - const int num_min_compiler_threads = (TieredCompilation) ? 2 : 1; + const int num_min_compiler_threads = (TieredCompilation && (TieredStopAtLevel >= CompLevel_full_optimization)) ? 2 : 1; status &=verify_min_value(CICompilerCount, num_min_compiler_threads, "CICompilerCount"); return status; diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp index b971907b980..945e8ea667e 100644 --- a/hotspot/src/share/vm/runtime/globals.hpp +++ b/hotspot/src/share/vm/runtime/globals.hpp @@ -535,6 +535,9 @@ class CommandLineFlags { develop(bool, CleanChunkPoolAsync, falseInEmbedded, \ "Clean the chunk pool asynchronously") \ \ + experimental(bool, AlwaysSafeConstructors, false, \ + "Force safe construction, as if all fields are final.") \ + \ /* Temporary: See 6948537 */ \ experimental(bool, UseMemSetInBOT, true, \ "(Unstable) uses memset in BOT updates in GC code") \ @@ -811,8 +814,8 @@ class CommandLineFlags { product(bool, PrintOopAddress, false, \ "Always print the location of the oop") \ \ - notproduct(bool, VerifyCodeCacheOften, false, \ - "Verify compiled-code cache often") \ + notproduct(bool, VerifyCodeCache, false, \ + "Verify code cache on memory allocation/deallocation") \ \ develop(bool, ZapDeadCompiledLocals, false, \ "Zap dead locals in compiler frames") \ @@ -2984,7 +2987,8 @@ class CommandLineFlags { "maximum number of nested recursive calls that are inlined") \ \ develop(intx, MaxForceInlineLevel, 100, \ - "maximum number of nested @ForceInline calls that are inlined") \ + "maximum number of nested calls that are forced for inlining " \ + "(using CompilerOracle or marked w/ @ForceInline)") \ \ product_pd(intx, InlineSmallCode, \ "Only inline already compiled methods if their code size is " \ @@ -3292,8 +3296,8 @@ class CommandLineFlags { "disable this feature") \ \ /* code cache parameters */ \ - /* ppc64 has large code-entry alignment. */ \ - develop(uintx, CodeCacheSegmentSize, 64 PPC64_ONLY(+64), \ + /* ppc64/tiered compilation has large code-entry alignment. */ \ + develop(uintx, CodeCacheSegmentSize, 64 PPC64_ONLY(+64) NOT_PPC64(TIERED_ONLY(+64)),\ "Code cache segment size (in bytes) - smallest unit of " \ "allocation") \ \ @@ -3795,8 +3799,8 @@ class CommandLineFlags { experimental(bool, TrustFinalNonStaticFields, false, \ "trust final non-static declarations for constant folding") \ \ - experimental(bool, FoldStableValues, false, \ - "Private flag to control optimizations for stable variables") \ + diagnostic(bool, FoldStableValues, true, \ + "Optimize loads from stable fields (marked w/ @Stable)") \ \ develop(bool, TraceInvokeDynamic, false, \ "trace internal invoke dynamic operations") \ @@ -3864,6 +3868,9 @@ class CommandLineFlags { "Allocation less than this value will be allocated " \ "using malloc. Larger allocations will use mmap.") \ \ + experimental(bool, AlwaysAtomicAccesses, false, \ + "Accesses to all variables should always be atomic") \ + \ product(bool, EnableTracing, false, \ "Enable event-based tracing") \ \ diff --git a/hotspot/src/share/vm/runtime/thread.cpp b/hotspot/src/share/vm/runtime/thread.cpp index d0fb67715ae..bd794da4524 100644 --- a/hotspot/src/share/vm/runtime/thread.cpp +++ b/hotspot/src/share/vm/runtime/thread.cpp @@ -910,7 +910,7 @@ void Thread::check_for_valid_safepoint_state(bool potential_vm_operation) { cur != VMOperationRequest_lock && cur != VMOperationQueue_lock) || cur->rank() == Mutex::special) { - warning("Thread holding lock at safepoint that vm can block on: %s", cur->name()); + fatal(err_msg("Thread holding lock at safepoint that vm can block on: %s", cur->name())); } } } diff --git a/hotspot/src/share/vm/runtime/timer.cpp b/hotspot/src/share/vm/runtime/timer.cpp index ccb3322cedd..e33a51cfb97 100644 --- a/hotspot/src/share/vm/runtime/timer.cpp +++ b/hotspot/src/share/vm/runtime/timer.cpp @@ -194,7 +194,7 @@ TraceCPUTime::~TraceCPUTime() { system_secs = system_time - _starting_system_time; real_secs = real_time - _starting_real_time; - _logfile->print(" [Times: user=%3.2f sys=%3.2f, real=%3.2f secs] ", + _logfile->print(" [Times: user=%3.2f sys=%3.2f real=%3.2f secs] ", user_secs, system_secs, real_secs); } else { diff --git a/hotspot/src/share/vm/runtime/vmStructs.cpp b/hotspot/src/share/vm/runtime/vmStructs.cpp index 7044dc9b2b7..2475de0480a 100644 --- a/hotspot/src/share/vm/runtime/vmStructs.cpp +++ b/hotspot/src/share/vm/runtime/vmStructs.cpp @@ -2336,6 +2336,12 @@ typedef TwoOopHashtable SymbolTwoOopHashtable; /* ConstMethod anon-enum */ \ /********************************/ \ \ + declare_constant(Method::_jfr_towrite) \ + declare_constant(Method::_caller_sensitive) \ + declare_constant(Method::_force_inline) \ + declare_constant(Method::_dont_inline) \ + declare_constant(Method::_hidden) \ + \ declare_constant(ConstMethod::_has_linenumber_table) \ declare_constant(ConstMethod::_has_checked_exceptions) \ declare_constant(ConstMethod::_has_localvariable_table) \ diff --git a/hotspot/src/share/vm/runtime/vm_operations.hpp b/hotspot/src/share/vm/runtime/vm_operations.hpp index 005fc11780b..a3a58e4d4c3 100644 --- a/hotspot/src/share/vm/runtime/vm_operations.hpp +++ b/hotspot/src/share/vm/runtime/vm_operations.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -74,6 +74,8 @@ template(PopulateDumpSharedSpace) \ template(JNIFunctionTableCopier) \ template(RedefineClasses) \ + template(UpdateForPopTopFrame) \ + template(SetFramePop) \ template(GetOwnedMonitorInfo) \ template(GetObjectMonitorUsage) \ template(GetCurrentContendedMonitor) \ diff --git a/hotspot/src/share/vm/shark/llvmHeaders.hpp b/hotspot/src/share/vm/shark/llvmHeaders.hpp index 1f2c2c79778..05ef7fea1d3 100644 --- a/hotspot/src/share/vm/shark/llvmHeaders.hpp +++ b/hotspot/src/share/vm/shark/llvmHeaders.hpp @@ -36,21 +36,43 @@ #endif #include +#include + +// includes specific to each version +#if SHARK_LLVM_VERSION <= 31 +#include +#include #include #include #include -#include #include #include #include -#if SHARK_LLVM_VERSION <= 31 -#include -#else +#elif SHARK_LLVM_VERSION <= 32 #include +#include +#include +#include +#include +#include +#include +#include +#else // SHARK_LLVM_VERSION <= 34 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #endif + +// common includes #include #include -#include #include #include #include diff --git a/hotspot/src/share/vm/shark/sharkCompiler.cpp b/hotspot/src/share/vm/shark/sharkCompiler.cpp index 17fdcfcbbe3..fe62efdecbd 100644 --- a/hotspot/src/share/vm/shark/sharkCompiler.cpp +++ b/hotspot/src/share/vm/shark/sharkCompiler.cpp @@ -364,3 +364,7 @@ const char* SharkCompiler::methodname(const char* klass, const char* method) { *(dst++) = '\0'; return buf; } + +void SharkCompiler::print_timers() { + // do nothing +} diff --git a/hotspot/src/share/vm/shark/sharkCompiler.hpp b/hotspot/src/share/vm/shark/sharkCompiler.hpp index 97400298865..1b8681771a0 100644 --- a/hotspot/src/share/vm/shark/sharkCompiler.hpp +++ b/hotspot/src/share/vm/shark/sharkCompiler.hpp @@ -56,6 +56,9 @@ class SharkCompiler : public AbstractCompiler { // Compile a normal (bytecode) method and install it in the VM void compile_method(ciEnv* env, ciMethod* target, int entry_bci); + // Print compilation timers and statistics + void print_timers(); + // Generate a wrapper for a native (JNI) method nmethod* generate_native_wrapper(MacroAssembler* masm, methodHandle target, diff --git a/hotspot/src/share/vm/shark/sharkInliner.cpp b/hotspot/src/share/vm/shark/sharkInliner.cpp index 76b63a16342..47465848d7d 100644 --- a/hotspot/src/share/vm/shark/sharkInliner.cpp +++ b/hotspot/src/share/vm/shark/sharkInliner.cpp @@ -744,6 +744,10 @@ bool SharkInlinerHelper::do_field_access(bool is_get, bool is_field) { } bool SharkInliner::attempt_inline(ciMethod *target, SharkState *state) { + if (!Inline) { + return false; + } + if (SharkIntrinsics::is_intrinsic(target)) { SharkIntrinsics::inline_intrinsic(target, state); return true; diff --git a/hotspot/src/share/vm/shark/sharkMemoryManager.cpp b/hotspot/src/share/vm/shark/sharkMemoryManager.cpp index 20cb0e5ebfe..d986ae8868b 100644 --- a/hotspot/src/share/vm/shark/sharkMemoryManager.cpp +++ b/hotspot/src/share/vm/shark/sharkMemoryManager.cpp @@ -59,18 +59,6 @@ void SharkMemoryManager::endFunctionBody(const Function* F, entry->set_code_limit(FunctionEnd); } -unsigned char* SharkMemoryManager::startExceptionTable(const Function* F, - uintptr_t& ActualSize) { - return mm()->startExceptionTable(F, ActualSize); -} - -void SharkMemoryManager::endExceptionTable(const Function* F, - unsigned char* TableStart, - unsigned char* TableEnd, - unsigned char* FrameRegister) { - mm()->endExceptionTable(F, TableStart, TableEnd, FrameRegister); -} - void SharkMemoryManager::setMemoryWritable() { mm()->setMemoryWritable(); } @@ -79,10 +67,6 @@ void SharkMemoryManager::setMemoryExecutable() { mm()->setMemoryExecutable(); } -void SharkMemoryManager::deallocateExceptionTable(void *ptr) { - mm()->deallocateExceptionTable(ptr); -} - void SharkMemoryManager::deallocateFunctionBody(void *ptr) { mm()->deallocateFunctionBody(ptr); } @@ -96,14 +80,6 @@ void* SharkMemoryManager::getPointerToNamedFunction(const std::string &Name, boo return mm()->getPointerToNamedFunction(Name, AbortOnFailure); } -uint8_t* SharkMemoryManager::allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) { - return mm()->allocateCodeSection(Size, Alignment, SectionID); -} - -uint8_t* SharkMemoryManager::allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) { - return mm()->allocateDataSection(Size, Alignment, SectionID); -} - void SharkMemoryManager::setPoisonMemory(bool poison) { mm()->setPoisonMemory(poison); } @@ -112,3 +88,45 @@ unsigned char *SharkMemoryManager::allocateSpace(intptr_t Size, unsigned int Alignment) { return mm()->allocateSpace(Size, Alignment); } + +#if SHARK_LLVM_VERSION <= 32 + +uint8_t* SharkMemoryManager::allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) { + return mm()->allocateCodeSection(Size, Alignment, SectionID); +} + +uint8_t* SharkMemoryManager::allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) { + return mm()->allocateDataSection(Size, Alignment, SectionID); +} + +void SharkMemoryManager::deallocateExceptionTable(void *ptr) { + mm()->deallocateExceptionTable(ptr); +} + +unsigned char* SharkMemoryManager::startExceptionTable(const Function* F, + uintptr_t& ActualSize) { + return mm()->startExceptionTable(F, ActualSize); +} + +void SharkMemoryManager::endExceptionTable(const Function* F, + unsigned char* TableStart, + unsigned char* TableEnd, + unsigned char* FrameRegister) { + mm()->endExceptionTable(F, TableStart, TableEnd, FrameRegister); +} + +#else + +uint8_t *SharkMemoryManager::allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, StringRef SectionName) { + return mm()->allocateCodeSection(Size, Alignment, SectionID, SectionName); +} + +uint8_t* SharkMemoryManager::allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, StringRef SectionName, bool IsReadOnly) { + return mm()->allocateDataSection(Size, Alignment, SectionID, SectionName, IsReadOnly); +} + +bool SharkMemoryManager::finalizeMemory(std::string *ErrMsg) { + return mm()->finalizeMemory(ErrMsg); +} + +#endif diff --git a/hotspot/src/share/vm/shark/sharkMemoryManager.hpp b/hotspot/src/share/vm/shark/sharkMemoryManager.hpp index fa725a14502..7a5ad7b3e1c 100644 --- a/hotspot/src/share/vm/shark/sharkMemoryManager.hpp +++ b/hotspot/src/share/vm/shark/sharkMemoryManager.hpp @@ -69,23 +69,32 @@ class SharkMemoryManager : public llvm::JITMemoryManager { void endFunctionBody(const llvm::Function* F, unsigned char* FunctionStart, unsigned char* FunctionEnd); - unsigned char* startExceptionTable(const llvm::Function* F, - uintptr_t& ActualSize); - void endExceptionTable(const llvm::Function* F, - unsigned char* TableStart, - unsigned char* TableEnd, - unsigned char* FrameRegister); + void *getPointerToNamedFunction(const std::string &Name, bool AbortOnFailure = true); - uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID); - uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID); void setPoisonMemory(bool); uint8_t* allocateGlobal(uintptr_t, unsigned int); void setMemoryWritable(); void setMemoryExecutable(); - void deallocateExceptionTable(void *ptr); void deallocateFunctionBody(void *ptr); unsigned char *allocateSpace(intptr_t Size, unsigned int Alignment); + +#if SHARK_LLVM_VERSION <= 32 +uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID); +uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID); +unsigned char* startExceptionTable(const llvm::Function* F, + uintptr_t& ActualSize); +void deallocateExceptionTable(void *ptr); +void endExceptionTable(const llvm::Function* F, + unsigned char* TableStart, + unsigned char* TableEnd, + unsigned char* FrameRegister); +#else +uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, llvm::StringRef SectionName); +uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, llvm::StringRef SectionName, bool IsReadOnly); +bool finalizeMemory(std::string *ErrMsg = 0); +#endif + }; #endif // SHARE_VM_SHARK_SHARKMEMORYMANAGER_HPP diff --git a/hotspot/src/share/vm/utilities/elfFile.cpp b/hotspot/src/share/vm/utilities/elfFile.cpp index 371a036406c..3d895956315 100644 --- a/hotspot/src/share/vm/utilities/elfFile.cpp +++ b/hotspot/src/share/vm/utilities/elfFile.cpp @@ -140,7 +140,7 @@ bool ElfFile::load_tables() { } } -#if defined(PPC64) +#if defined(PPC64) && !defined(ABI_ELFv2) // Now read the .opd section wich contains the PPC64 function descriptor table. // The .opd section is only available on PPC64 (see for example: // http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html) diff --git a/hotspot/src/share/vm/utilities/hashtable.cpp b/hotspot/src/share/vm/utilities/hashtable.cpp index a850ebe87f4..8698cca914a 100644 --- a/hotspot/src/share/vm/utilities/hashtable.cpp +++ b/hotspot/src/share/vm/utilities/hashtable.cpp @@ -25,7 +25,6 @@ #include "precompiled.hpp" #include "classfile/altHashing.hpp" #include "classfile/javaClasses.hpp" -#include "code/dependencies.hpp" #include "memory/allocation.inline.hpp" #include "memory/filemap.hpp" #include "memory/resourceArea.hpp" @@ -353,116 +352,6 @@ template void BasicHashtable::verify_lookup_length(double load) #endif -template GenericHashtable::GenericHashtable(int size, bool C_heap, MEMFLAGS memflag) { - assert(size > 0, " Invalid hashtable size"); - _size = size; - _C_heap = C_heap; - _memflag = memflag; - // Perform subtype-specific resource allocation - _items = (C_heap) ? NEW_C_HEAP_ARRAY(T*, size, memflag) : NEW_RESOURCE_ARRAY(T*, size); - memset(_items, 0, sizeof(T*) * size); - - DEBUG_ONLY(_num_items = 0;) -} - -template GenericHashtable::~GenericHashtable() { - if (on_C_heap()) { - // Check backing array - for (int i = 0; i < size(); i++) { - T* item = head(i); - // Delete all items in linked list - while (item != NULL) { - T* next_item = item->next(); - delete item; - DEBUG_ONLY(_num_items--); - item = next_item; - } - } - FREE_C_HEAP_ARRAY(T*, _items, _memflag); - _items = NULL; - assert (_num_items == 0, "Not all memory released"); - } -} - -/** - * Return a pointer to the item 'I' that is stored in the hashtable for - * which match_item->equals(I) == true. If no such item is found, NULL - * is returned. - */ -template T* GenericHashtable::contains(T* match_item) { - if (match_item != NULL) { - int idx = index(match_item); - return contains_impl(match_item, idx); - } - return NULL; -} - -/** - * Add item to the hashtable. Return 'true' if the item was added - * and false otherwise. - */ -template bool GenericHashtable::add(T* item) { - if (item != NULL) { - int idx = index(item); - T* found_item = contains_impl(item, idx); - if (found_item == NULL) { - T* list_head = head(idx); - item->set_next(list_head); - item->set_prev(NULL); - - if (list_head != NULL) { - list_head->set_prev(item); - } - set_head(item, idx); - DEBUG_ONLY(_num_items++); - return true; - } - } - return false; -} - -/** - * Removes an item 'I' from the hashtable, if present. 'I' is removed, if - * match_item->equals(I) == true. Removing an item from the hashtable does - * not free memory. - */ -template T* GenericHashtable::remove(T* match_item) { - if (match_item != NULL) { - int idx = index(match_item); - T* found_item = contains_impl(match_item, idx); - if (found_item != NULL) { - // Remove item from linked list - T* prev = found_item->prev(); - T* next = found_item->next(); - if (prev != NULL) { - prev->set_next(next); - } else { - set_head(next, idx); - } - if (next != NULL) { - next->set_prev(prev); - } - - DEBUG_ONLY(_num_items--); - return found_item; - } - } - return NULL; -} - - -template T* GenericHashtable::contains_impl(T* item, int idx) { - T* current_item = head(idx); - while (current_item != NULL) { - if (current_item->equals(item)) { - return current_item; - } - current_item = current_item->next(); - } - return NULL; -} - - // Explicitly instantiate these types template class Hashtable; template class Hashtable; @@ -482,5 +371,3 @@ template class BasicHashtable; template class BasicHashtable; template class BasicHashtable; template class BasicHashtable; - -template class GenericHashtable; diff --git a/hotspot/src/share/vm/utilities/hashtable.hpp b/hotspot/src/share/vm/utilities/hashtable.hpp index 8294eaab3d2..fcebf72ea95 100644 --- a/hotspot/src/share/vm/utilities/hashtable.hpp +++ b/hotspot/src/share/vm/utilities/hashtable.hpp @@ -327,86 +327,4 @@ public: } }; - -/* - * Usage of GenericHashtable: - * - * class X : public GenericHashtableEntry { - * - * // Implement virtual functions in class X - * bool equals(X* sig) const; - * uintptr_t hash() const; - * }; - * - * void foo() { - * GenericHashtable* table = new GenericHashtable(11027, false); - * - * X* elem = new X(); - * table->add(elem); - * table->contains(elem); - * } - * - * You can choose other allocation types as well. For example, to store the hashtable to a - * particular region (CHeapObj) simply replace ResourceObj with the desired type: - * - * class X : public GenericHashtableEntry > { ... }; - * - * To make the destructor (and remove) of the hashtable work: - * 1) override the delete operator of X - * 2) provide a destructor of the X - * - * You may also find it convenient to override the new operator. - * - * If you use this templates do not forget to add an explicit initialization - * (at the end of hashtable.cpp). - * - * template class GenericHashtable; - */ -template class GenericHashtableEntry : public M { - private: - T* _next; - T* _prev; - public: - // Must be implemented by subclass. - virtual uintptr_t key() const = 0; - virtual bool equals(T* other) const = 0; - - T* next() const { return _next; } - T* prev() const { return _prev; } - void set_next(T* item) { _next = item; } - void set_prev(T* item) { _prev = item; } - - // Constructor and destructor - GenericHashtableEntry() : _next(NULL), _prev(NULL) { }; - virtual ~GenericHashtableEntry() {}; -}; - -template class GenericHashtable : public M { - private: - T** _items; - int _size; - bool _C_heap; - MEMFLAGS _memflag; - - // Accessor methods - T* head (int idx) const { return _items[idx]; } - void set_head(T* item, int idx) { _items[idx] = item; } - int index (T* item) { assert(item != NULL, "missing null check"); return item->key() % size(); } - - // Helper function - T* contains_impl(T* item, int idx); - - DEBUG_ONLY(int _num_items;) - public: - GenericHashtable(int size, bool C_heap = false, MEMFLAGS memflag = mtNone); - ~GenericHashtable(); - T* contains(T* match_item); - T* remove (T* match_item); - bool add (T* item); - - - bool on_C_heap() const { return _C_heap; } - int size() const { return _size; } -}; - #endif // SHARE_VM_UTILITIES_HASHTABLE_HPP diff --git a/hotspot/src/share/vm/utilities/resourceHash.hpp b/hotspot/src/share/vm/utilities/resourceHash.hpp index 2fe5dec941a..211d6bca117 100644 --- a/hotspot/src/share/vm/utilities/resourceHash.hpp +++ b/hotspot/src/share/vm/utilities/resourceHash.hpp @@ -105,14 +105,20 @@ class ResourceHashtable : public ResourceObj { } } - // Inserts or replaces a value in the table - void put(K const& key, V const& value) { + /** + * Inserts or replaces a value in the table. + * @return: true: if a new item is added + * false: if the item already existed and the value is updated + */ + bool put(K const& key, V const& value) { unsigned hv = HASH(key); Node** ptr = lookup_node(hv, key); if (*ptr != NULL) { (*ptr)->_value = value; + return false; } else { *ptr = new Node(hv, key, value); + return true; } } diff --git a/hotspot/src/share/vm/utilities/vmError.cpp b/hotspot/src/share/vm/utilities/vmError.cpp index 4b0953ae499..e950d338681 100644 --- a/hotspot/src/share/vm/utilities/vmError.cpp +++ b/hotspot/src/share/vm/utilities/vmError.cpp @@ -592,13 +592,24 @@ void VMError::report(outputStream* st) { st->cr(); // Compiled code may use EBP register on x86 so it looks like // non-walkable C frame. Use frame.sender() for java frames. - if (_thread && _thread->is_Java_thread() && fr.is_java_frame()) { - RegisterMap map((JavaThread*)_thread, false); // No update - fr = fr.sender(&map); - continue; + if (_thread && _thread->is_Java_thread()) { + // Catch very first native frame by using stack address. + // For JavaThread stack_base and stack_size should be set. + if (!_thread->on_local_stack((address)(fr.sender_sp() + 1))) { + break; + } + if (fr.is_java_frame()) { + RegisterMap map((JavaThread*)_thread, false); // No update + fr = fr.sender(&map); + } else { + fr = os::get_sender_for_C_frame(&fr); + } + } else { + // is_first_C_frame() does only simple checks for frame pointer, + // it will pass if java compiled code has a pointer in EBP. + if (os::is_first_C_frame(&fr)) break; + fr = os::get_sender_for_C_frame(&fr); } - if (os::is_first_C_frame(&fr)) break; - fr = os::get_sender_for_C_frame(&fr); } if (count > StackPrintLimit) { diff --git a/hotspot/test/TEST.groups b/hotspot/test/TEST.groups index 946cb2be8cf..676d859686d 100644 --- a/hotspot/test/TEST.groups +++ b/hotspot/test/TEST.groups @@ -130,7 +130,9 @@ needs_compact3 = \ gc/arguments/TestG1HeapRegionSize.java \ gc/metaspace/TestMetaspaceMemoryPool.java \ runtime/InternalApi/ThreadCpuTimesDeadlock.java \ - serviceability/threads/TestFalseDeadLock.java + serviceability/threads/TestFalseDeadLock.java \ + compiler/tiered/NonTieredLevelsTest.java \ + compiler/tiered/TieredLevelsTest.java # Compact 2 adds full VM tests compact2 = \ diff --git a/hotspot/test/compiler/ciReplay/TestVM.sh b/hotspot/test/compiler/ciReplay/TestVM.sh index e6c3cc56946..6154466671d 100644 --- a/hotspot/test/compiler/ciReplay/TestVM.sh +++ b/hotspot/test/compiler/ciReplay/TestVM.sh @@ -78,8 +78,8 @@ then positive_test `expr $stop_level + 50` "TIERED LEVEL $stop_level :: REPLAY" \ "-XX:TieredStopAtLevel=$stop_level" stop_level=`expr $stop_level + 1` + cleanup done - cleanup fi echo TEST PASSED diff --git a/hotspot/test/compiler/ciReplay/common.sh b/hotspot/test/compiler/ciReplay/common.sh index e03acaa8b30..608f68e551a 100644 --- a/hotspot/test/compiler/ciReplay/common.sh +++ b/hotspot/test/compiler/ciReplay/common.sh @@ -99,13 +99,12 @@ common_tests() { # $2 - non-tiered comp_level nontiered_tests() { level=`grep "^compile " $replay_data | awk '{print $6}'` - # is level available in non-tiere + # is level available in non-tiered if [ "$level" -eq $2 ] then positive_test $1 "NON-TIERED :: AVAILABLE COMP_LEVEL" \ -XX:-TieredCompilation else - negative_test `expr $1 + 1` "NON-TIERED :: UNAVAILABLE COMP_LEVEL" \ negative_test `expr $1 + 1` "NON-TIERED :: UNAVAILABLE COMP_LEVEL" \ -XX:-TieredCompilation fi diff --git a/hotspot/test/compiler/codegen/BMI1.java b/hotspot/test/compiler/codegen/BMI1.java new file mode 100644 index 00000000000..ada9cf06c34 --- /dev/null +++ b/hotspot/test/compiler/codegen/BMI1.java @@ -0,0 +1,301 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8031321 + * @summary Support BMI1 instructions on x86/x64 + * @run main/othervm -Xbatch -XX:-TieredCompilation -XX:CompileCommand=compileonly,BMITests.* BMI1 + * + */ + +class MemI { + public int x; + public MemI(int x) { this.x = x; } +} + +class MemL { + public long x; + public MemL(long x) { this.x = x; } +} + +class BMITests { + static int andnl(int src1, int src2) { + return ~src1 & src2; + } + static long andnq(long src1, long src2) { + return ~src1 & src2; + } + static int andnl(int src1, MemI src2) { + return ~src1 & src2.x; + } + static long andnq(long src1, MemL src2) { + return ~src1 & src2.x; + } + static int blsil(int src1) { + return src1 & -src1; + } + static long blsiq(long src1) { + return src1 & -src1; + } + static int blsil(MemI src1) { + return src1.x & -src1.x; + } + static long blsiq(MemL src1) { + return src1.x & -src1.x; + } + static int blsmskl(int src1) { + return (src1 - 1) ^ src1; + } + static long blsmskq(long src1) { + return (src1 - 1) ^ src1; + } + static int blsmskl(MemI src1) { + return (src1.x - 1) ^ src1.x; + } + static long blsmskq(MemL src1) { + return (src1.x - 1) ^ src1.x; + } + static int blsrl(int src1) { + return (src1 - 1) & src1; + } + static long blsrq(long src1) { + return (src1 - 1) & src1; + } + static int blsrl(MemI src1) { + return (src1.x - 1) & src1.x; + } + static long blsrq(MemL src1) { + return (src1.x - 1) & src1.x; + } + static int lzcntl(int src1) { + return Integer.numberOfLeadingZeros(src1); + } + static int lzcntq(long src1) { + return Long.numberOfLeadingZeros(src1); + } + static int tzcntl(int src1) { + return Integer.numberOfTrailingZeros(src1); + } + static int tzcntq(long src1) { + return Long.numberOfTrailingZeros(src1); + } +} + +public class BMI1 { + private final static int ITERATIONS = 1000000; + + public static void main(String[] args) { + int ix = 0x01234567; + int iy = 0x89abcdef; + MemI imy = new MemI(iy); + long lx = 0x0123456701234567L; + long ly = 0x89abcdef89abcdefL; + MemL lmy = new MemL(ly); + + { // match(Set dst (AndI (XorI src1 minus_1) src2)) + int z = BMITests.andnl(ix, iy); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.andnl(ix, iy); + if (ii != z) { + throw new Error("andnl with register failed"); + } + } + } + { // match(Set dst (AndL (XorL src1 minus_1) src2)) + long z = BMITests.andnq(lx, ly); + for (int i = 0; i < ITERATIONS; i++) { + long ll = BMITests.andnq(lx, ly); + if (ll != z) { + throw new Error("andnq with register failed"); + } + } + } + { // match(Set dst (AndI (XorI src1 minus_1) (LoadI src2))) + int z = BMITests.andnl(ix, imy); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.andnl(ix, imy); + if (ii != z) { + throw new Error("andnl with memory failed"); + } + } + } + { // match(Set dst (AndL (XorL src1 minus_1) (LoadL src2))) + long z = BMITests.andnq(lx, lmy); + for (int i = 0; i < ITERATIONS; i++) { + long ll = BMITests.andnq(lx, lmy); + if (ll != z) { + throw new Error("andnq with memory failed"); + } + } + } + { // match(Set dst (AndI (SubI imm_zero src) src)) + int z = BMITests.blsil(ix); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.blsil(ix); + if (ii != z) { + throw new Error("blsil with register failed"); + } + } + } + { // match(Set dst (AndL (SubL imm_zero src) src)) + long z = BMITests.blsiq(lx); + for (int i = 0; i < ITERATIONS; i++) { + long ll = BMITests.blsiq(lx); + if (ll != z) { + throw new Error("blsiq with register failed"); + } + } + } + { // match(Set dst (AndI (SubI imm_zero (LoadI src) ) (LoadI src) )) + int z = BMITests.blsil(imy); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.blsil(imy); + if (ii != z) { + throw new Error("blsil with memory failed"); + } + } + } + { // match(Set dst (AndL (SubL imm_zero (LoadL src) ) (LoadL src) )) + long z = BMITests.blsiq(lmy); + for (int i = 0; i < ITERATIONS; i++) { + long ll = BMITests.blsiq(lmy); + if (ll != z) { + throw new Error("blsiq with memory failed"); + } + } + } + + { // match(Set dst (XorI (AddI src minus_1) src)) + int z = BMITests.blsmskl(ix); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.blsmskl(ix); + if (ii != z) { + throw new Error("blsmskl with register failed"); + } + } + } + { // match(Set dst (XorL (AddL src minus_1) src)) + long z = BMITests.blsmskq(lx); + for (int i = 0; i < ITERATIONS; i++) { + long ll = BMITests.blsmskq(lx); + if (ll != z) { + throw new Error("blsmskq with register failed"); + } + } + } + { // match(Set dst (XorI (AddI (LoadI src) minus_1) (LoadI src) ) ) + int z = BMITests.blsmskl(imy); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.blsmskl(imy); + if (ii != z) { + throw new Error("blsmskl with memory failed"); + } + } + } + { // match(Set dst (XorL (AddL (LoadL src) minus_1) (LoadL src) ) ) + long z = BMITests.blsmskq(lmy); + for (int i = 0; i < ITERATIONS; i++) { + long ll = BMITests.blsmskq(lmy); + if (ll != z) { + throw new Error("blsmskq with memory failed"); + } + } + } + + { // match(Set dst (AndI (AddI src minus_1) src) ) + int z = BMITests.blsrl(ix); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.blsrl(ix); + if (ii != z) { + throw new Error("blsrl with register failed"); + } + } + } + { // match(Set dst (AndL (AddL src minus_1) src) ) + long z = BMITests.blsrq(lx); + for (int i = 0; i < ITERATIONS; i++) { + long ll = BMITests.blsrq(lx); + if (ll != z) { + throw new Error("blsrq with register failed"); + } + } + } + { // match(Set dst (AndI (AddI (LoadI src) minus_1) (LoadI src) ) ) + int z = BMITests.blsrl(imy); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.blsrl(imy); + if (ii != z) { + throw new Error("blsrl with memory failed"); + } + } + } + { // match(Set dst (AndL (AddL (LoadL src) minus_1) (LoadL src)) ) + long z = BMITests.blsrq(lmy); + for (int i = 0; i < ITERATIONS; i++) { + long ll = BMITests.blsrq(lmy); + if (ll != z) { + throw new Error("blsrq with memory failed"); + } + } + } + + { + int z = BMITests.lzcntl(ix); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.lzcntl(ix); + if (ii != z) { + throw new Error("lzcntl failed"); + } + } + } + { + int z = BMITests.lzcntq(lx); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.lzcntq(lx); + if (ii != z) { + throw new Error("lzcntq failed"); + } + } + } + + { + int z = BMITests.tzcntl(ix); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.tzcntl(ix); + if (ii != z) { + throw new Error("tzcntl failed"); + } + } + } + { + int z = BMITests.tzcntq(lx); + for (int i = 0; i < ITERATIONS; i++) { + int ii = BMITests.tzcntq(lx); + if (ii != z) { + throw new Error("tzcntq failed"); + } + } + } + } +} diff --git a/langtools/test/tools/javac/foreach/T6682380.java b/hotspot/test/compiler/inlining/InlineDefaultMethod1.java similarity index 54% rename from langtools/test/tools/javac/foreach/T6682380.java rename to hotspot/test/compiler/inlining/InlineDefaultMethod1.java index 7c3eb84074a..d0cadb8fe4e 100644 --- a/langtools/test/tools/javac/foreach/T6682380.java +++ b/hotspot/test/compiler/inlining/InlineDefaultMethod1.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,23 +23,36 @@ /* * @test - * @bug 6682380 6679509 - * @summary Foreach loop with generics inside finally block crashes javac with -target 1.5 - * @author Jan Lahoda, Maurizio Cimadamore - * @compile -source 1.5 -target 1.5 T6682380.java + * @bug 8036100 + * @summary Default method returns true for a while, and then returns false + * @run main/othervm -Xcomp -XX:CompileOnly=InlineDefaultMethod1::test + * -XX:CompileOnly=I1::m -XX:CompileOnly=I2::m + * InlineDefaultMethod1 */ +interface I1 { + default public int m() { return 0; } +} -import java.util.List; +interface I2 extends I1 { + default public int m() { return 1; } +} -public class T6682380 { +abstract class A implements I1 { +} - public static void main(String[] args) { - try { - } finally { - List> l = null; - T6682380[] a = null; - for (T6682380 e1 : l); - for (T6682380 e2 : a); +class B extends A implements I2 { +} + +public class InlineDefaultMethod1 { + public static void test(A obj) { + int id = obj.m(); + if (id != 1) { + throw new AssertionError("Called wrong method: 1 != "+id); } } + + public static void main(String[] args) throws InterruptedException { + test(new B()); + System.out.println("TEST PASSED"); + } } diff --git a/hotspot/test/compiler/membars/DekkerTest.java b/hotspot/test/compiler/membars/DekkerTest.java index ed313576010..f4f2826b6e4 100644 --- a/hotspot/test/compiler/membars/DekkerTest.java +++ b/hotspot/test/compiler/membars/DekkerTest.java @@ -25,9 +25,9 @@ * @test * @bug 8007898 * @summary Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier(). - * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:+StressGCM -XX:+StressLCM DekkerTest - * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:+StressGCM -XX:+StressLCM DekkerTest - * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:+StressGCM -XX:+StressLCM DekkerTest + * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:-TieredCompilation -XX:+StressGCM -XX:+StressLCM DekkerTest + * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:-TieredCompilation -XX:+StressGCM -XX:+StressLCM DekkerTest + * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:-TieredCompilation -XX:+StressGCM -XX:+StressLCM DekkerTest * @author Martin Doerr martin DOT doerr AT sap DOT com * * Run 3 times since the failure is intermittent. diff --git a/hotspot/test/compiler/stable/TestStableBoolean.java b/hotspot/test/compiler/stable/TestStableBoolean.java new file mode 100644 index 00000000000..37f42875022 --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableBoolean.java @@ -0,0 +1,627 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableBoolean + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableBoolean.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableBoolean + * java/lang/invoke/TestStableBoolean$BooleanStable + * java/lang/invoke/TestStableBoolean$StaticBooleanStable + * java/lang/invoke/TestStableBoolean$VolatileBooleanStable + * java/lang/invoke/TestStableBoolean$BooleanArrayDim1 + * java/lang/invoke/TestStableBoolean$BooleanArrayDim2 + * java/lang/invoke/TestStableBoolean$BooleanArrayDim3 + * java/lang/invoke/TestStableBoolean$BooleanArrayDim4 + * java/lang/invoke/TestStableBoolean$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableBoolean$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableBoolean$NestedStableField + * java/lang/invoke/TestStableBoolean$NestedStableField$A + * java/lang/invoke/TestStableBoolean$NestedStableField1 + * java/lang/invoke/TestStableBoolean$NestedStableField1$A + * java/lang/invoke/TestStableBoolean$NestedStableField2 + * java/lang/invoke/TestStableBoolean$NestedStableField2$A + * java/lang/invoke/TestStableBoolean$NestedStableField3 + * java/lang/invoke/TestStableBoolean$NestedStableField3$A + * java/lang/invoke/TestStableBoolean$DefaultValue + * java/lang/invoke/TestStableBoolean$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableBoolean + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableBoolean + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableBoolean + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableBoolean + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableBoolean { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(BooleanStable.class); + run(StaticBooleanStable.class); + run(VolatileBooleanStable.class); + + // @Stable arrays: Dim 1-4 + run(BooleanArrayDim1.class); + run(BooleanArrayDim2.class); + run(BooleanArrayDim3.class); + run(BooleanArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + static class DefaultValue { + public @Stable boolean v; + + public static final DefaultValue c = new DefaultValue(); + public static boolean get() { return c.v; } + public static void test() throws Exception { + boolean val1 = get(); + c.v = true; boolean val2 = get(); + assertEquals(val1, false); + assertEquals(val2, true); + } + } + + /* ==================================================== */ + + static class BooleanStable { + public @Stable boolean v; + + public static final BooleanStable c = new BooleanStable(); + public static boolean get() { return c.v; } + public static void test() throws Exception { + c.v = true; boolean val1 = get(); + c.v = false; boolean val2 = get(); + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + } + } + + /* ==================================================== */ + + static class StaticBooleanStable { + public static @Stable boolean v; + + public static final StaticBooleanStable c = new StaticBooleanStable(); + public static boolean get() { return c.v; } + public static void test() throws Exception { + c.v = true; boolean val1 = get(); + c.v = false; boolean val2 = get(); + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + } + } + + /* ==================================================== */ + + static class VolatileBooleanStable { + public @Stable volatile boolean v; + + public static final VolatileBooleanStable c = new VolatileBooleanStable(); + public static boolean get() { return c.v; } + public static void test() throws Exception { + c.v = true; boolean val1 = get(); + c.v = false; boolean val2 = get(); + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class BooleanArrayDim1 { + public @Stable boolean[] v; + + public static final BooleanArrayDim1 c = new BooleanArrayDim1(); + public static boolean get() { return c.v[0]; } + public static boolean get1() { return c.v[10]; } + public static boolean[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new boolean[1]; c.v[0] = true; boolean val1 = get(); + c.v[0] = false; boolean val2 = get(); + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + } + + { + c.v = new boolean[20]; c.v[10] = true; boolean val1 = get1(); + c.v[10] = false; boolean val2 = get1(); + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + } + + { + c.v = new boolean[1]; boolean[] val1 = get2(); + c.v = new boolean[1]; boolean[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class BooleanArrayDim2 { + public @Stable boolean[][] v; + + public static final BooleanArrayDim2 c = new BooleanArrayDim2(); + public static boolean get() { return c.v[0][0]; } + public static boolean[] get1() { return c.v[0]; } + public static boolean[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new boolean[1][1]; c.v[0][0] = true; boolean val1 = get(); + c.v[0][0] = false; boolean val2 = get(); + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + + c.v = new boolean[1][1]; c.v[0][0] = false; boolean val3 = get(); + assertEquals(val3, (isStableEnabled ? true : false)); + + c.v[0] = new boolean[1]; c.v[0][0] = false; boolean val4 = get(); + assertEquals(val4, (isStableEnabled ? true : false)); + } + + { + c.v = new boolean[1][1]; boolean[] val1 = get1(); + c.v[0] = new boolean[1]; boolean[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[1][1]; boolean[][] val1 = get2(); + c.v = new boolean[1][1]; boolean[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class BooleanArrayDim3 { + public @Stable boolean[][][] v; + + public static final BooleanArrayDim3 c = new BooleanArrayDim3(); + public static boolean get() { return c.v[0][0][0]; } + public static boolean[] get1() { return c.v[0][0]; } + public static boolean[][] get2() { return c.v[0]; } + public static boolean[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new boolean[1][1][1]; c.v[0][0][0] = true; boolean val1 = get(); + c.v[0][0][0] = false; boolean val2 = get(); + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + + c.v = new boolean[1][1][1]; c.v[0][0][0] = false; boolean val3 = get(); + assertEquals(val3, (isStableEnabled ? true : false)); + + c.v[0] = new boolean[1][1]; c.v[0][0][0] = false; boolean val4 = get(); + assertEquals(val4, (isStableEnabled ? true : false)); + + c.v[0][0] = new boolean[1]; c.v[0][0][0] = false; boolean val5 = get(); + assertEquals(val5, (isStableEnabled ? true : false)); + } + + { + c.v = new boolean[1][1][1]; boolean[] val1 = get1(); + c.v[0][0] = new boolean[1]; boolean[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[1][1][1]; boolean[][] val1 = get2(); + c.v[0] = new boolean[1][1]; boolean[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[1][1][1]; boolean[][][] val1 = get3(); + c.v = new boolean[1][1][1]; boolean[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class BooleanArrayDim4 { + public @Stable boolean[][][][] v; + + public static final BooleanArrayDim4 c = new BooleanArrayDim4(); + public static boolean get() { return c.v[0][0][0][0]; } + public static boolean[] get1() { return c.v[0][0][0]; } + public static boolean[][] get2() { return c.v[0][0]; } + public static boolean[][][] get3() { return c.v[0]; } + public static boolean[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new boolean[1][1][1][1]; c.v[0][0][0][0] = true; boolean val1 = get(); + c.v[0][0][0][0] = false; boolean val2 = get(); + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + + c.v = new boolean[1][1][1][1]; c.v[0][0][0][0] = false; boolean val3 = get(); + assertEquals(val3, (isStableEnabled ? true : false)); + + c.v[0] = new boolean[1][1][1]; c.v[0][0][0][0] = false; boolean val4 = get(); + assertEquals(val4, (isStableEnabled ? true : false)); + + c.v[0][0] = new boolean[1][1]; c.v[0][0][0][0] = false; boolean val5 = get(); + assertEquals(val5, (isStableEnabled ? true : false)); + + c.v[0][0][0] = new boolean[1]; c.v[0][0][0][0] = false; boolean val6 = get(); + assertEquals(val6, (isStableEnabled ? true : false)); + } + + { + c.v = new boolean[1][1][1][1]; boolean[] val1 = get1(); + c.v[0][0][0] = new boolean[1]; boolean[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[1][1][1][1]; boolean[][] val1 = get2(); + c.v[0][0] = new boolean[1][1]; boolean[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[1][1][1][1]; boolean[][][] val1 = get3(); + c.v[0] = new boolean[1][1][1]; boolean[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[1][1][1][1]; boolean[][][][] val1 = get4(); + c.v = new boolean[1][1][1][1]; boolean[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static boolean get() { return ((boolean[])c.v)[0]; } + public static boolean[] get1() { return (boolean[])c.v; } + public static boolean[] get2() { return (boolean[])c.v; } + + public static void test() throws Exception { + { + c.v = new boolean[1]; ((boolean[])c.v)[0] = true; boolean val1 = get(); + ((boolean[])c.v)[0] = false; boolean val2 = get(); + + assertEquals(val1, true); + assertEquals(val2, false); + } + + { + c.v = new boolean[1]; boolean[] val1 = get1(); + c.v = new boolean[1]; boolean[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static boolean get() { return ((boolean[][])c.v)[0][0]; } + public static boolean[] get1() { return (boolean[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new boolean[1][1]; ((boolean[][])c.v)[0][0] = true; boolean val1 = get(); + ((boolean[][])c.v)[0][0] = false; boolean val2 = get(); + + assertEquals(val1, true); + assertEquals(val2, false); + } + + { + c.v = new boolean[1][1]; c.v[0] = new boolean[0]; boolean[] val1 = get1(); + c.v[0] = new boolean[0]; boolean[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[0][0]; Object[] val1 = get2(); + c.v = new boolean[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static boolean get() { return ((boolean[][][])c.v)[0][0][0]; } + public static boolean[] get1() { return (boolean[])(c.v[0][0]); } + public static boolean[][] get2() { return (boolean[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new boolean[1][1][1]; ((boolean[][][])c.v)[0][0][0] = true; boolean val1 = get(); + ((boolean[][][])c.v)[0][0][0] = false; boolean val2 = get(); + + assertEquals(val1, true); + assertEquals(val2, false); + } + + { + c.v = new boolean[1][1][1]; c.v[0][0] = new boolean[0]; boolean[] val1 = get1(); + c.v[0][0] = new boolean[0]; boolean[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[1][1][1]; c.v[0] = new boolean[0][0]; boolean[][] val1 = get2(); + c.v[0] = new boolean[0][0]; boolean[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new boolean[0][0][0]; Object[][] val1 = get3(); + c.v = new boolean[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable boolean a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static boolean get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = true; A val1 = get(); + c.v.a = false; A val2 = get(); + + assertEquals(val1.a, false); + assertEquals(val2.a, false); + } + + { + c.v = new A(); c.v.a = true; boolean val1 = get1(); + c.v.a = false; boolean val2 = get1(); + c.v = new A(); c.v.a = false; boolean val3 = get1(); + + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + assertEquals(val3, (isStableEnabled ? true : false)); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable boolean a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static boolean get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = true; c.v.next.a = true; A val1 = get(); + c.v.a = false; c.v.next.a = false; A val2 = get(); + + assertEquals(val1.a, false); + assertEquals(val2.a, false); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = true; boolean val1 = get1(); + c.v.a = false; boolean val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = false; boolean val3 = get1(); + + assertEquals(val1, true); + assertEquals(val2, (isStableEnabled ? true : false)); + assertEquals(val3, (isStableEnabled ? true : false)); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable boolean a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static boolean get() { return c.v.left.left.left.a; } + public static boolean get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = true; boolean val1 = get(); boolean val2 = get1(); + c.v.a = false; boolean val3 = get(); boolean val4 = get1(); + + assertEquals(val1, true); + assertEquals(val3, (isStableEnabled ? true : false)); + + assertEquals(val2, true); + assertEquals(val4, false); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable boolean a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static boolean get() { return c.v[0].left[1].left[0].left[1].a; } + public static boolean get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = true; boolean val1 = get(); boolean val2 = get1(); + elem.a = false; boolean val3 = get(); boolean val4 = get1(); + + assertEquals(val1, true); + assertEquals(val3, (isStableEnabled ? true : false)); + + assertEquals(val2, true); + assertEquals(val4, false); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(boolean i, boolean j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/stable/TestStableByte.java b/hotspot/test/compiler/stable/TestStableByte.java new file mode 100644 index 00000000000..4a14fcc3b2f --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableByte.java @@ -0,0 +1,632 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableByte + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableByte.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableByte + * java/lang/invoke/TestStableByte$ByteStable + * java/lang/invoke/TestStableByte$StaticByteStable + * java/lang/invoke/TestStableByte$VolatileByteStable + * java/lang/invoke/TestStableByte$ByteArrayDim1 + * java/lang/invoke/TestStableByte$ByteArrayDim2 + * java/lang/invoke/TestStableByte$ByteArrayDim3 + * java/lang/invoke/TestStableByte$ByteArrayDim4 + * java/lang/invoke/TestStableByte$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableByte$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableByte$NestedStableField + * java/lang/invoke/TestStableByte$NestedStableField$A + * java/lang/invoke/TestStableByte$NestedStableField1 + * java/lang/invoke/TestStableByte$NestedStableField1$A + * java/lang/invoke/TestStableByte$NestedStableField2 + * java/lang/invoke/TestStableByte$NestedStableField2$A + * java/lang/invoke/TestStableByte$NestedStableField3 + * java/lang/invoke/TestStableByte$NestedStableField3$A + * java/lang/invoke/TestStableByte$DefaultValue + * java/lang/invoke/TestStableByte$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableByte + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableByte + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableByte + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableByte + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableByte { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(ByteStable.class); + run(StaticByteStable.class); + run(VolatileByteStable.class); + + // @Stable arrays: Dim 1-4 + run(ByteArrayDim1.class); + run(ByteArrayDim2.class); + run(ByteArrayDim3.class); + run(ByteArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + static class DefaultValue { + public @Stable byte v; + + public static final DefaultValue c = new DefaultValue(); + public static byte get() { return c.v; } + public static void test() throws Exception { + byte val1 = get(); + c.v = 1; byte val2 = get(); + assertEquals(val1, 0); + assertEquals(val2, 1); + } + } + + /* ==================================================== */ + + static class ByteStable { + public @Stable byte v; + + public static final ByteStable c = new ByteStable(); + public static byte get() { return c.v; } + public static void test() throws Exception { + c.v = 5; byte val1 = get(); + c.v = 127; byte val2 = get(); + assertEquals(val1, 5); + assertEquals(val2, (isStableEnabled ? 5 : 127)); + } + } + + /* ==================================================== */ + + static class StaticByteStable { + public static @Stable byte v; + + public static final StaticByteStable c = new StaticByteStable(); + public static byte get() { return c.v; } + public static void test() throws Exception { + c.v = 5; byte val1 = get(); + c.v = 127; byte val2 = get(); + assertEquals(val1, 5); + assertEquals(val2, (isStableEnabled ? 5 : 127)); + } + } + + /* ==================================================== */ + + static class VolatileByteStable { + public @Stable volatile byte v; + + public static final VolatileByteStable c = new VolatileByteStable(); + public static byte get() { return c.v; } + public static void test() throws Exception { + c.v = 5; byte val1 = get(); + c.v = 127; byte val2 = get(); + assertEquals(val1, 5); + assertEquals(val2, (isStableEnabled ? 5 : 127)); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class ByteArrayDim1 { + public @Stable byte[] v; + + public static final ByteArrayDim1 c = new ByteArrayDim1(); + public static byte get() { return c.v[0]; } + public static byte get1() { return c.v[10]; } + public static byte[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new byte[1]; c.v[0] = 1; byte val1 = get(); + c.v[0] = 2; byte val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new byte[1]; c.v[0] = 3; byte val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + + { + c.v = new byte[20]; c.v[10] = 1; byte val1 = get1(); + c.v[10] = 2; byte val2 = get1(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new byte[20]; c.v[10] = 3; byte val3 = get1(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + + { + c.v = new byte[1]; byte[] val1 = get2(); + c.v = new byte[1]; byte[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ByteArrayDim2 { + public @Stable byte[][] v; + + public static final ByteArrayDim2 c = new ByteArrayDim2(); + public static byte get() { return c.v[0][0]; } + public static byte[] get1() { return c.v[0]; } + public static byte[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new byte[1][1]; c.v[0][0] = 1; byte val1 = get(); + c.v[0][0] = 2; byte val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new byte[1][1]; c.v[0][0] = 3; byte val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new byte[1]; c.v[0][0] = 4; byte val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + } + + { + c.v = new byte[1][1]; byte[] val1 = get1(); + c.v[0] = new byte[1]; byte[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[1][1]; byte[][] val1 = get2(); + c.v = new byte[1][1]; byte[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ByteArrayDim3 { + public @Stable byte[][][] v; + + public static final ByteArrayDim3 c = new ByteArrayDim3(); + public static byte get() { return c.v[0][0][0]; } + public static byte[] get1() { return c.v[0][0]; } + public static byte[][] get2() { return c.v[0]; } + public static byte[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new byte[1][1][1]; c.v[0][0][0] = 1; byte val1 = get(); + c.v[0][0][0] = 2; byte val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new byte[1][1][1]; c.v[0][0][0] = 3; byte val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new byte[1][1]; c.v[0][0][0] = 4; byte val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + + c.v[0][0] = new byte[1]; c.v[0][0][0] = 5; byte val5 = get(); + assertEquals(val5, (isStableEnabled ? 1 : 5)); + } + + { + c.v = new byte[1][1][1]; byte[] val1 = get1(); + c.v[0][0] = new byte[1]; byte[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[1][1][1]; byte[][] val1 = get2(); + c.v[0] = new byte[1][1]; byte[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[1][1][1]; byte[][][] val1 = get3(); + c.v = new byte[1][1][1]; byte[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ByteArrayDim4 { + public @Stable byte[][][][] v; + + public static final ByteArrayDim4 c = new ByteArrayDim4(); + public static byte get() { return c.v[0][0][0][0]; } + public static byte[] get1() { return c.v[0][0][0]; } + public static byte[][] get2() { return c.v[0][0]; } + public static byte[][][] get3() { return c.v[0]; } + public static byte[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new byte[1][1][1][1]; c.v[0][0][0][0] = 1; byte val1 = get(); + c.v[0][0][0][0] = 2; byte val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new byte[1][1][1][1]; c.v[0][0][0][0] = 3; byte val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new byte[1][1][1]; c.v[0][0][0][0] = 4; byte val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + + c.v[0][0] = new byte[1][1]; c.v[0][0][0][0] = 5; byte val5 = get(); + assertEquals(val5, (isStableEnabled ? 1 : 5)); + + c.v[0][0][0] = new byte[1]; c.v[0][0][0][0] = 6; byte val6 = get(); + assertEquals(val6, (isStableEnabled ? 1 : 6)); + } + + { + c.v = new byte[1][1][1][1]; byte[] val1 = get1(); + c.v[0][0][0] = new byte[1]; byte[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[1][1][1][1]; byte[][] val1 = get2(); + c.v[0][0] = new byte[1][1]; byte[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[1][1][1][1]; byte[][][] val1 = get3(); + c.v[0] = new byte[1][1][1]; byte[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[1][1][1][1]; byte[][][][] val1 = get4(); + c.v = new byte[1][1][1][1]; byte[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static byte get() { return ((byte[])c.v)[0]; } + public static byte[] get1() { return (byte[])c.v; } + + public static void test() throws Exception { + { + c.v = new byte[1]; ((byte[])c.v)[0] = 1; byte val1 = get(); + ((byte[])c.v)[0] = 2; byte val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new byte[1]; byte[] val1 = get1(); + c.v = new byte[1]; byte[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static byte get() { return ((byte[][])c.v)[0][0]; } + public static byte[] get1() { return (byte[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new byte[1][1]; ((byte[][])c.v)[0][0] = 1; byte val1 = get(); + ((byte[][])c.v)[0][0] = 2; byte val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new byte[1][1]; c.v[0] = new byte[0]; byte[] val1 = get1(); + c.v[0] = new byte[0]; byte[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[0][0]; Object[] val1 = get2(); + c.v = new byte[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static byte get() { return ((byte[][][])c.v)[0][0][0]; } + public static byte[] get1() { return (byte[])(c.v[0][0]); } + public static byte[][] get2() { return (byte[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new byte[1][1][1]; ((byte[][][])c.v)[0][0][0] = 1; byte val1 = get(); + ((byte[][][])c.v)[0][0][0] = 2; byte val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new byte[1][1][1]; c.v[0][0] = new byte[0]; byte[] val1 = get1(); + c.v[0][0] = new byte[0]; byte[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[1][1][1]; c.v[0] = new byte[0][0]; byte[][] val1 = get2(); + c.v[0] = new byte[0][0]; byte[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new byte[0][0][0]; Object[][] val1 = get3(); + c.v = new byte[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable byte a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static byte get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = 1; A val1 = get(); + c.v.a = 2; A val2 = get(); + + assertEquals(val1.a, 2); + assertEquals(val2.a, 2); + } + + { + c.v = new A(); c.v.a = 1; byte val1 = get1(); + c.v.a = 2; byte val2 = get1(); + c.v = new A(); c.v.a = 3; byte val3 = get1(); + + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable byte a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static byte get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = 1; c.v.next.a = 1; A val1 = get(); + c.v.a = 2; c.v.next.a = 2; A val2 = get(); + + assertEquals(val1.a, 2); + assertEquals(val2.a, 2); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = 1; byte val1 = get1(); + c.v.a = 2; byte val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = 3; byte val3 = get1(); + + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable byte a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static byte get() { return c.v.left.left.left.a; } + public static byte get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = 1; byte val1 = get(); byte val2 = get1(); + c.v.a = 2; byte val3 = get(); byte val4 = get1(); + + assertEquals(val1, 1); + assertEquals(val3, (isStableEnabled ? 1 : 2)); + + assertEquals(val2, 1); + assertEquals(val4, 2); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable byte a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static byte get() { return c.v[0].left[1].left[0].left[1].a; } + public static byte get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = 1; byte val1 = get(); byte val2 = get1(); + elem.a = 2; byte val3 = get(); byte val4 = get1(); + + assertEquals(val1, 1); + assertEquals(val3, (isStableEnabled ? 1 : 2)); + + assertEquals(val2, 1); + assertEquals(val4, 2); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(int i, int j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/stable/TestStableChar.java b/hotspot/test/compiler/stable/TestStableChar.java new file mode 100644 index 00000000000..ede8e9a4df7 --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableChar.java @@ -0,0 +1,631 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableChar + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableChar.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableChar + * java/lang/invoke/TestStableChar$CharStable + * java/lang/invoke/TestStableChar$StaticCharStable + * java/lang/invoke/TestStableChar$VolatileCharStable + * java/lang/invoke/TestStableChar$CharArrayDim1 + * java/lang/invoke/TestStableChar$CharArrayDim2 + * java/lang/invoke/TestStableChar$CharArrayDim3 + * java/lang/invoke/TestStableChar$CharArrayDim4 + * java/lang/invoke/TestStableChar$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableChar$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableChar$NestedStableField + * java/lang/invoke/TestStableChar$NestedStableField$A + * java/lang/invoke/TestStableChar$NestedStableField1 + * java/lang/invoke/TestStableChar$NestedStableField1$A + * java/lang/invoke/TestStableChar$NestedStableField2 + * java/lang/invoke/TestStableChar$NestedStableField2$A + * java/lang/invoke/TestStableChar$NestedStableField3 + * java/lang/invoke/TestStableChar$NestedStableField3$A + * java/lang/invoke/TestStableChar$DefaultValue + * java/lang/invoke/TestStableChar$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableChar + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableChar + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableChar + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableChar + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableChar { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(CharStable.class); + run(StaticCharStable.class); + run(VolatileCharStable.class); + + // @Stable arrays: Dim 1-4 + run(CharArrayDim1.class); + run(CharArrayDim2.class); + run(CharArrayDim3.class); + run(CharArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + static class DefaultValue { + public @Stable char v; + + public static final DefaultValue c = new DefaultValue(); + public static char get() { return c.v; } + public static void test() throws Exception { + char val1 = get(); + c.v = 'a'; char val2 = get(); + assertEquals(val1, 0); + assertEquals(val2, 'a'); + } + } + + /* ==================================================== */ + + static class CharStable { + public @Stable char v; + + public static final CharStable c = new CharStable(); + public static char get() { return c.v; } + public static void test() throws Exception { + c.v = 'a'; char val1 = get(); + c.v = 'b'; char val2 = get(); + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + } + } + + /* ==================================================== */ + + static class StaticCharStable { + public @Stable char v; + + public static final StaticCharStable c = new StaticCharStable(); + public static char get() { return c.v; } + public static void test() throws Exception { + c.v = 'a'; char val1 = get(); + c.v = 'b'; char val2 = get(); + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + } + } + + /* ==================================================== */ + + static class VolatileCharStable { + public @Stable volatile char v; + + public static final VolatileCharStable c = new VolatileCharStable(); + public static char get() { return c.v; } + public static void test() throws Exception { + c.v = 'a'; char val1 = get(); + c.v = 'b'; char val2 = get(); + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class CharArrayDim1 { + public @Stable char[] v; + + public static final CharArrayDim1 c = new CharArrayDim1(); + public static char get() { return c.v[0]; } + public static char get1() { return c.v[10]; } + public static char[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new char[1]; c.v[0] = 'a'; char val1 = get(); + c.v[0] = 'b'; char val2 = get(); + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + + c.v = new char[1]; c.v[0] = 'c'; char val3 = get(); + assertEquals(val3, (isStableEnabled ? 'a' : 'c')); + } + + { + c.v = new char[20]; c.v[10] = 'a'; char val1 = get1(); + c.v[10] = 'b'; char val2 = get1(); + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + + c.v = new char[20]; c.v[10] = 'c'; char val3 = get1(); + assertEquals(val3, (isStableEnabled ? 'a' : 'c')); + } + + { + c.v = new char[1]; char[] val1 = get2(); + c.v = new char[1]; char[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class CharArrayDim2 { + public @Stable char[][] v; + + public static final CharArrayDim2 c = new CharArrayDim2(); + public static char get() { return c.v[0][0]; } + public static char[] get1() { return c.v[0]; } + public static char[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new char[1][1]; c.v[0][0] = 'a'; char val1 = get(); + c.v[0][0] = 'b'; char val2 = get(); + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + + c.v = new char[1][1]; c.v[0][0] = 'c'; char val3 = get(); + assertEquals(val3, (isStableEnabled ? 'a' : 'c')); + + c.v[0] = new char[1]; c.v[0][0] = 'd'; char val4 = get(); + assertEquals(val4, (isStableEnabled ? 'a' : 'd')); + } + + { + c.v = new char[1][1]; char[] val1 = get1(); + c.v[0] = new char[1]; char[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[1][1]; char[][] val1 = get2(); + c.v = new char[1][1]; char[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class CharArrayDim3 { + public @Stable char[][][] v; + + public static final CharArrayDim3 c = new CharArrayDim3(); + public static char get() { return c.v[0][0][0]; } + public static char[] get1() { return c.v[0][0]; } + public static char[][] get2() { return c.v[0]; } + public static char[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new char[1][1][1]; c.v[0][0][0] = 'a'; char val1 = get(); + c.v[0][0][0] = 'b'; char val2 = get(); + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + + c.v = new char[1][1][1]; c.v[0][0][0] = 'c'; char val3 = get(); + assertEquals(val3, (isStableEnabled ? 'a' : 'c')); + + c.v[0] = new char[1][1]; c.v[0][0][0] = 'd'; char val4 = get(); + assertEquals(val4, (isStableEnabled ? 'a' : 'd')); + + c.v[0][0] = new char[1]; c.v[0][0][0] = 'e'; char val5 = get(); + assertEquals(val5, (isStableEnabled ? 'a' : 'e')); + } + + { + c.v = new char[1][1][1]; char[] val1 = get1(); + c.v[0][0] = new char[1]; char[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[1][1][1]; char[][] val1 = get2(); + c.v[0] = new char[1][1]; char[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[1][1][1]; char[][][] val1 = get3(); + c.v = new char[1][1][1]; char[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class CharArrayDim4 { + public @Stable char[][][][] v; + + public static final CharArrayDim4 c = new CharArrayDim4(); + public static char get() { return c.v[0][0][0][0]; } + public static char[] get1() { return c.v[0][0][0]; } + public static char[][] get2() { return c.v[0][0]; } + public static char[][][] get3() { return c.v[0]; } + public static char[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new char[1][1][1][1]; c.v[0][0][0][0] = 'a'; char val1 = get(); + c.v[0][0][0][0] = 'b'; char val2 = get(); + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + + c.v = new char[1][1][1][1]; c.v[0][0][0][0] = 'c'; char val3 = get(); + assertEquals(val3, (isStableEnabled ? 'a' : 'c')); + + c.v[0] = new char[1][1][1]; c.v[0][0][0][0] = 'd'; char val4 = get(); + assertEquals(val4, (isStableEnabled ? 'a' : 'd')); + + c.v[0][0] = new char[1][1]; c.v[0][0][0][0] = 'e'; char val5 = get(); + assertEquals(val5, (isStableEnabled ? 'a' : 'e')); + + c.v[0][0][0] = new char[1]; c.v[0][0][0][0] = 'f'; char val6 = get(); + assertEquals(val6, (isStableEnabled ? 'a' : 'f')); + } + + { + c.v = new char[1][1][1][1]; char[] val1 = get1(); + c.v[0][0][0] = new char[1]; char[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[1][1][1][1]; char[][] val1 = get2(); + c.v[0][0] = new char[1][1]; char[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[1][1][1][1]; char[][][] val1 = get3(); + c.v[0] = new char[1][1][1]; char[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[1][1][1][1]; char[][][][] val1 = get4(); + c.v = new char[1][1][1][1]; char[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static char get() { return ((char[])c.v)[0]; } + public static char[] get1() { return (char[])c.v; } + + public static void test() throws Exception { + { + c.v = new char[1]; ((char[])c.v)[0] = 'a'; char val1 = get(); + ((char[])c.v)[0] = 'b'; char val2 = get(); + + assertEquals(val1, 'a'); + assertEquals(val2, 'b'); + } + + { + c.v = new char[1]; char[] val1 = get1(); + c.v = new char[1]; char[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static char get() { return ((char[][])c.v)[0][0]; } + public static char[] get1() { return (char[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new char[1][1]; ((char[][])c.v)[0][0] = 'a'; char val1 = get(); + ((char[][])c.v)[0][0] = 'b'; char val2 = get(); + + assertEquals(val1, 'a'); + assertEquals(val2, 'b'); + } + + { + c.v = new char[1][1]; c.v[0] = new char[0]; char[] val1 = get1(); + c.v[0] = new char[0]; char[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[0][0]; Object[] val1 = get2(); + c.v = new char[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static char get() { return ((char[][][])c.v)[0][0][0]; } + public static char[] get1() { return (char[])(c.v[0][0]); } + public static char[][] get2() { return (char[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new char[1][1][1]; ((char[][][])c.v)[0][0][0] = 'a'; char val1 = get(); + ((char[][][])c.v)[0][0][0] = 'b'; char val2 = get(); + + assertEquals(val1, 'a'); + assertEquals(val2, 'b'); + } + + { + c.v = new char[1][1][1]; c.v[0][0] = new char[0]; char[] val1 = get1(); + c.v[0][0] = new char[0]; char[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[1][1][1]; c.v[0] = new char[0][0]; char[][] val1 = get2(); + c.v[0] = new char[0][0]; char[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new char[0][0][0]; Object[][] val1 = get3(); + c.v = new char[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable char a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static char get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = 'a'; A val1 = get(); + c.v.a = 'b'; A val2 = get(); + + assertEquals(val1.a, 'b'); + assertEquals(val2.a, 'b'); + } + + { + c.v = new A(); c.v.a = 'a'; char val1 = get1(); + c.v.a = 'b'; char val2 = get1(); + c.v = new A(); c.v.a = 'c'; char val3 = get1(); + + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + assertEquals(val3, (isStableEnabled ? 'a' : 'c')); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable char a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static char get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = 'a'; c.v.next.a = 'a'; A val1 = get(); + c.v.a = 'b'; c.v.next.a = 'b'; A val2 = get(); + + assertEquals(val1.a, 'b'); + assertEquals(val2.a, 'b'); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = 'a'; char val1 = get1(); + c.v.a = 'b'; char val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = 'c'; char val3 = get1(); + + assertEquals(val1, 'a'); + assertEquals(val2, (isStableEnabled ? 'a' : 'b')); + assertEquals(val3, (isStableEnabled ? 'a' : 'c')); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable char a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static char get() { return c.v.left.left.left.a; } + public static char get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = 'a'; char val1 = get(); char val2 = get1(); + c.v.a = 'b'; char val3 = get(); char val4 = get1(); + + assertEquals(val1, 'a'); + assertEquals(val3, (isStableEnabled ? 'a' : 'b')); + + assertEquals(val2, 'a'); + assertEquals(val4, 'b'); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable char a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static char get() { return c.v[0].left[1].left[0].left[1].a; } + public static char get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = 'a'; char val1 = get(); char val2 = get1(); + elem.a = 'b'; char val3 = get(); char val4 = get1(); + + assertEquals(val1, 'a'); + assertEquals(val3, (isStableEnabled ? 'a' : 'b')); + + assertEquals(val2, 'a'); + assertEquals(val4, 'b'); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(int i, int j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/stable/TestStableDouble.java b/hotspot/test/compiler/stable/TestStableDouble.java new file mode 100644 index 00000000000..b656acbd1ae --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableDouble.java @@ -0,0 +1,632 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableDouble + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableDouble.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableDouble + * java/lang/invoke/TestStableDouble$DoubleStable + * java/lang/invoke/TestStableDouble$StaticDoubleStable + * java/lang/invoke/TestStableDouble$VolatileDoubleStable + * java/lang/invoke/TestStableDouble$DoubleArrayDim1 + * java/lang/invoke/TestStableDouble$DoubleArrayDim2 + * java/lang/invoke/TestStableDouble$DoubleArrayDim3 + * java/lang/invoke/TestStableDouble$DoubleArrayDim4 + * java/lang/invoke/TestStableDouble$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableDouble$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableDouble$NestedStableField + * java/lang/invoke/TestStableDouble$NestedStableField$A + * java/lang/invoke/TestStableDouble$NestedStableField1 + * java/lang/invoke/TestStableDouble$NestedStableField1$A + * java/lang/invoke/TestStableDouble$NestedStableField2 + * java/lang/invoke/TestStableDouble$NestedStableField2$A + * java/lang/invoke/TestStableDouble$NestedStableField3 + * java/lang/invoke/TestStableDouble$NestedStableField3$A + * java/lang/invoke/TestStableDouble$DefaultValue + * java/lang/invoke/TestStableDouble$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableDouble + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableDouble + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableDouble + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableDouble + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableDouble { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(DoubleStable.class); + run(StaticDoubleStable.class); + run(VolatileDoubleStable.class); + + // @Stable arrays: Dim 1-4 + run(DoubleArrayDim1.class); + run(DoubleArrayDim2.class); + run(DoubleArrayDim3.class); + run(DoubleArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + static class DefaultValue { + public @Stable double v; + + public static final DefaultValue c = new DefaultValue(); + public static double get() { return c.v; } + public static void test() throws Exception { + double val1 = get(); + c.v = 1.0; double val2 = get(); + assertEquals(val1, 0); + assertEquals(val2, 1.0); + } + } + + /* ==================================================== */ + + static class DoubleStable { + public @Stable double v; + + public static final DoubleStable c = new DoubleStable(); + public static double get() { return c.v; } + public static void test() throws Exception { + c.v = 1.0; double val1 = get(); + c.v = Double.MAX_VALUE; double val2 = get(); + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : Double.MAX_VALUE)); + } + } + + /* ==================================================== */ + + static class StaticDoubleStable { + public static @Stable double v; + + public static final StaticDoubleStable c = new StaticDoubleStable(); + public static double get() { return c.v; } + public static void test() throws Exception { + c.v = 1.0; double val1 = get(); + c.v = Double.MAX_VALUE; double val2 = get(); + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : Double.MAX_VALUE)); + } + } + + /* ==================================================== */ + + static class VolatileDoubleStable { + public @Stable double v; + + public static final VolatileDoubleStable c = new VolatileDoubleStable(); + public static double get() { return c.v; } + public static void test() throws Exception { + c.v = 1.0; double val1 = get(); + c.v = Double.MAX_VALUE; double val2 = get(); + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : Double.MAX_VALUE)); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class DoubleArrayDim1 { + public @Stable double[] v; + + public static final DoubleArrayDim1 c = new DoubleArrayDim1(); + public static double get() { return c.v[0]; } + public static double get1() { return c.v[10]; } + public static double[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new double[1]; c.v[0] = 1.0; double val1 = get(); + c.v[0] = 2.0; double val2 = get(); + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); + + c.v = new double[1]; c.v[0] = 3.0; double val3 = get(); + assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); + } + + { + c.v = new double[20]; c.v[10] = 1.0; double val1 = get1(); + c.v[10] = 2.0; double val2 = get1(); + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); + + c.v = new double[20]; c.v[10] = 3.0; double val3 = get1(); + assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); + } + + { + c.v = new double[1]; double[] val1 = get2(); + c.v = new double[1]; double[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class DoubleArrayDim2 { + public @Stable double[][] v; + + public static final DoubleArrayDim2 c = new DoubleArrayDim2(); + public static double get() { return c.v[0][0]; } + public static double[] get1() { return c.v[0]; } + public static double[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new double[1][1]; c.v[0][0] = 1.0; double val1 = get(); + c.v[0][0] = 2.0; double val2 = get(); + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); + + c.v = new double[1][1]; c.v[0][0] = 3.0; double val3 = get(); + assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); + + c.v[0] = new double[1]; c.v[0][0] = 4.0; double val4 = get(); + assertEquals(val4, (isStableEnabled ? 1.0 : 4.0)); + } + + { + c.v = new double[1][1]; double[] val1 = get1(); + c.v[0] = new double[1]; double[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[1][1]; double[][] val1 = get2(); + c.v = new double[1][1]; double[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class DoubleArrayDim3 { + public @Stable double[][][] v; + + public static final DoubleArrayDim3 c = new DoubleArrayDim3(); + public static double get() { return c.v[0][0][0]; } + public static double[] get1() { return c.v[0][0]; } + public static double[][] get2() { return c.v[0]; } + public static double[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new double[1][1][1]; c.v[0][0][0] = 1.0; double val1 = get(); + c.v[0][0][0] = 2.0; double val2 = get(); + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); + + c.v = new double[1][1][1]; c.v[0][0][0] = 3.0; double val3 = get(); + assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); + + c.v[0] = new double[1][1]; c.v[0][0][0] = 4.0; double val4 = get(); + assertEquals(val4, (isStableEnabled ? 1.0 : 4.0)); + + c.v[0][0] = new double[1]; c.v[0][0][0] = 5.0; double val5 = get(); + assertEquals(val5, (isStableEnabled ? 1.0 : 5.0)); + } + + { + c.v = new double[1][1][1]; double[] val1 = get1(); + c.v[0][0] = new double[1]; double[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[1][1][1]; double[][] val1 = get2(); + c.v[0] = new double[1][1]; double[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[1][1][1]; double[][][] val1 = get3(); + c.v = new double[1][1][1]; double[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class DoubleArrayDim4 { + public @Stable double[][][][] v; + + public static final DoubleArrayDim4 c = new DoubleArrayDim4(); + public static double get() { return c.v[0][0][0][0]; } + public static double[] get1() { return c.v[0][0][0]; } + public static double[][] get2() { return c.v[0][0]; } + public static double[][][] get3() { return c.v[0]; } + public static double[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 1.0; double val1 = get(); + c.v[0][0][0][0] = 2.0; double val2 = get(); + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); + + c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 3.0; double val3 = get(); + assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); + + c.v[0] = new double[1][1][1]; c.v[0][0][0][0] = 4.0; double val4 = get(); + assertEquals(val4, (isStableEnabled ? 1.0 : 4.0)); + + c.v[0][0] = new double[1][1]; c.v[0][0][0][0] = 5.0; double val5 = get(); + assertEquals(val5, (isStableEnabled ? 1.0 : 5.0)); + + c.v[0][0][0] = new double[1]; c.v[0][0][0][0] = 6.0; double val6 = get(); + assertEquals(val6, (isStableEnabled ? 1.0 : 6.0)); + } + + { + c.v = new double[1][1][1][1]; double[] val1 = get1(); + c.v[0][0][0] = new double[1]; double[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[1][1][1][1]; double[][] val1 = get2(); + c.v[0][0] = new double[1][1]; double[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[1][1][1][1]; double[][][] val1 = get3(); + c.v[0] = new double[1][1][1]; double[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[1][1][1][1]; double[][][][] val1 = get4(); + c.v = new double[1][1][1][1]; double[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static double get() { return ((double[])c.v)[0]; } + public static double[] get1() { return (double[])c.v; } + + public static void test() throws Exception { + { + c.v = new double[1]; ((double[])c.v)[0] = 1.0; double val1 = get(); + ((double[])c.v)[0] = 2.0; double val2 = get(); + + assertEquals(val1, 1.0); + assertEquals(val2, 2.0); + } + + { + c.v = new double[1]; double[] val1 = get1(); + c.v = new double[1]; double[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static double get() { return ((double[][])c.v)[0][0]; } + public static double[] get1() { return (double[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new double[1][1]; ((double[][])c.v)[0][0] = 1.0; double val1 = get(); + ((double[][])c.v)[0][0] = 2.0; double val2 = get(); + + assertEquals(val1, 1.0); + assertEquals(val2, 2.0); + } + + { + c.v = new double[1][1]; c.v[0] = new double[0]; double[] val1 = get1(); + c.v[0] = new double[0]; double[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[0][0]; Object[] val1 = get2(); + c.v = new double[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static double get() { return ((double[][][])c.v)[0][0][0]; } + public static double[] get1() { return (double[])(c.v[0][0]); } + public static double[][] get2() { return (double[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new double[1][1][1]; ((double[][][])c.v)[0][0][0] = 1.0; double val1 = get(); + ((double[][][])c.v)[0][0][0] = 2.0; double val2 = get(); + + assertEquals(val1, 1.0); + assertEquals(val2, 2.0); + } + + { + c.v = new double[1][1][1]; c.v[0][0] = new double[0]; double[] val1 = get1(); + c.v[0][0] = new double[0]; double[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[1][1][1]; c.v[0] = new double[0][0]; double[][] val1 = get2(); + c.v[0] = new double[0][0]; double[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new double[0][0][0]; Object[][] val1 = get3(); + c.v = new double[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable double a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static double get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = 1.0; A val1 = get(); + c.v.a = 2.0; A val2 = get(); + + assertEquals(val1.a, 2.0); + assertEquals(val2.a, 2.0); + } + + { + c.v = new A(); c.v.a = 1.0; double val1 = get1(); + c.v.a = 2.0; double val2 = get1(); + c.v = new A(); c.v.a = 3.0; double val3 = get1(); + + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); + assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable double a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static double get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = 1.0; c.v.next.a = 1.0; A val1 = get(); + c.v.a = 2.0; c.v.next.a = 2.0; A val2 = get(); + + assertEquals(val1.a, 2.0); + assertEquals(val2.a, 2.0); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = 1.0; double val1 = get1(); + c.v.a = 2.0; double val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = 3.0; double val3 = get1(); + + assertEquals(val1, 1.0); + assertEquals(val2, (isStableEnabled ? 1.0 : 2.0)); + assertEquals(val3, (isStableEnabled ? 1.0 : 3.0)); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable double a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static double get() { return c.v.left.left.left.a; } + public static double get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = 1.0; double val1 = get(); double val2 = get1(); + c.v.a = 2.0; double val3 = get(); double val4 = get1(); + + assertEquals(val1, 1.0); + assertEquals(val3, (isStableEnabled ? 1.0 : 2.0)); + + assertEquals(val2, 1.0); + assertEquals(val4, 2.0); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable double a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static double get() { return c.v[0].left[1].left[0].left[1].a; } + public static double get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = 1.0; double val1 = get(); double val2 = get1(); + elem.a = 2.0; double val3 = get(); double val4 = get1(); + + assertEquals(val1, 1.0); + assertEquals(val3, (isStableEnabled ? 1.0 : 2.0)); + + assertEquals(val2, 1.0); + assertEquals(val4, 2.0); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(double i, double j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/stable/TestStableFloat.java b/hotspot/test/compiler/stable/TestStableFloat.java new file mode 100644 index 00000000000..ab1c3f0be1f --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableFloat.java @@ -0,0 +1,632 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableFloat + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableFloat.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableFloat + * java/lang/invoke/TestStableFloat$FloatStable + * java/lang/invoke/TestStableFloat$StaticFloatStable + * java/lang/invoke/TestStableFloat$VolatileFloatStable + * java/lang/invoke/TestStableFloat$FloatArrayDim1 + * java/lang/invoke/TestStableFloat$FloatArrayDim2 + * java/lang/invoke/TestStableFloat$FloatArrayDim3 + * java/lang/invoke/TestStableFloat$FloatArrayDim4 + * java/lang/invoke/TestStableFloat$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableFloat$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableFloat$NestedStableField + * java/lang/invoke/TestStableFloat$NestedStableField$A + * java/lang/invoke/TestStableFloat$NestedStableField1 + * java/lang/invoke/TestStableFloat$NestedStableField1$A + * java/lang/invoke/TestStableFloat$NestedStableField2 + * java/lang/invoke/TestStableFloat$NestedStableField2$A + * java/lang/invoke/TestStableFloat$NestedStableField3 + * java/lang/invoke/TestStableFloat$NestedStableField3$A + * java/lang/invoke/TestStableFloat$DefaultValue + * java/lang/invoke/TestStableFloat$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableFloat + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableFloat + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableFloat + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableFloat + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableFloat { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(FloatStable.class); + run(StaticFloatStable.class); + run(VolatileFloatStable.class); + + // @Stable arrays: Dim 1-4 + run(FloatArrayDim1.class); + run(FloatArrayDim2.class); + run(FloatArrayDim3.class); + run(FloatArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + static class DefaultValue { + public @Stable float v; + + public static final DefaultValue c = new DefaultValue(); + public static float get() { return c.v; } + public static void test() throws Exception { + float val1 = get(); + c.v = 1.0F; float val2 = get(); + assertEquals(val1, 0F); + assertEquals(val2, 1.0F); + } + } + + /* ==================================================== */ + + static class FloatStable { + public @Stable float v; + + public static final FloatStable c = new FloatStable(); + public static float get() { return c.v; } + public static void test() throws Exception { + c.v = 1.0F; float val1 = get(); + c.v = 2.0F; float val2 = get(); + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + } + } + + /* ==================================================== */ + + static class StaticFloatStable { + public static @Stable float v; + + public static final StaticFloatStable c = new StaticFloatStable(); + public static float get() { return c.v; } + public static void test() throws Exception { + c.v = 1.0F; float val1 = get(); + c.v = 2.0F; float val2 = get(); + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + } + } + + /* ==================================================== */ + + static class VolatileFloatStable { + public @Stable volatile float v; + + public static final VolatileFloatStable c = new VolatileFloatStable(); + public static float get() { return c.v; } + public static void test() throws Exception { + c.v = 1.0F; float val1 = get(); + c.v = 2.0F; float val2 = get(); + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class FloatArrayDim1 { + public @Stable float[] v; + + public static final FloatArrayDim1 c = new FloatArrayDim1(); + public static float get() { return c.v[0]; } + public static float get1() { return c.v[10]; } + public static float[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new float[1]; c.v[0] = 1.0F; float val1 = get(); + c.v[0] = 2.0F; float val2 = get(); + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + + c.v = new float[1]; c.v[0] = 3.0F; float val3 = get(); + assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F)); + } + + { + c.v = new float[20]; c.v[10] = 1.0F; float val1 = get1(); + c.v[10] = 2.0F; float val2 = get1(); + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + + c.v = new float[20]; c.v[10] = 3.0F; float val3 = get1(); + assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F)); + } + + { + c.v = new float[1]; float[] val1 = get2(); + c.v = new float[1]; float[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class FloatArrayDim2 { + public @Stable float[][] v; + + public static final FloatArrayDim2 c = new FloatArrayDim2(); + public static float get() { return c.v[0][0]; } + public static float[] get1() { return c.v[0]; } + public static float[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new float[1][1]; c.v[0][0] = 1.0F; float val1 = get(); + c.v[0][0] = 2.0F; float val2 = get(); + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + + c.v = new float[1][1]; c.v[0][0] = 3.0F; float val3 = get(); + assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F)); + + c.v[0] = new float[1]; c.v[0][0] = 4.0F; float val4 = get(); + assertEquals(val4, (isStableEnabled ? 1.0F : 4.0F)); + } + + { + c.v = new float[1][1]; float[] val1 = get1(); + c.v[0] = new float[1]; float[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[1][1]; float[][] val1 = get2(); + c.v = new float[1][1]; float[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class FloatArrayDim3 { + public @Stable float[][][] v; + + public static final FloatArrayDim3 c = new FloatArrayDim3(); + public static float get() { return c.v[0][0][0]; } + public static float[] get1() { return c.v[0][0]; } + public static float[][] get2() { return c.v[0]; } + public static float[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new float[1][1][1]; c.v[0][0][0] = 1.0F; float val1 = get(); + c.v[0][0][0] = 2.0F; float val2 = get(); + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + + c.v = new float[1][1][1]; c.v[0][0][0] = 3.0F; float val3 = get(); + assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F)); + + c.v[0] = new float[1][1]; c.v[0][0][0] = 4.0F; float val4 = get(); + assertEquals(val4, (isStableEnabled ? 1.0F : 4.0F)); + + c.v[0][0] = new float[1]; c.v[0][0][0] = 5.0F; float val5 = get(); + assertEquals(val5, (isStableEnabled ? 1.0F : 5.0F)); + } + + { + c.v = new float[1][1][1]; float[] val1 = get1(); + c.v[0][0] = new float[1]; float[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[1][1][1]; float[][] val1 = get2(); + c.v[0] = new float[1][1]; float[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[1][1][1]; float[][][] val1 = get3(); + c.v = new float[1][1][1]; float[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class FloatArrayDim4 { + public @Stable float[][][][] v; + + public static final FloatArrayDim4 c = new FloatArrayDim4(); + public static float get() { return c.v[0][0][0][0]; } + public static float[] get1() { return c.v[0][0][0]; } + public static float[][] get2() { return c.v[0][0]; } + public static float[][][] get3() { return c.v[0]; } + public static float[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new float[1][1][1][1]; c.v[0][0][0][0] = 1.0F; float val1 = get(); + c.v[0][0][0][0] = 2.0F; float val2 = get(); + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + + c.v = new float[1][1][1][1]; c.v[0][0][0][0] = 3.0F; float val3 = get(); + assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F)); + + c.v[0] = new float[1][1][1]; c.v[0][0][0][0] = 4.0F; float val4 = get(); + assertEquals(val4, (isStableEnabled ? 1.0F : 4.0F)); + + c.v[0][0] = new float[1][1]; c.v[0][0][0][0] = 5.0F; float val5 = get(); + assertEquals(val5, (isStableEnabled ? 1.0F : 5.0F)); + + c.v[0][0][0] = new float[1]; c.v[0][0][0][0] = 6.0F; float val6 = get(); + assertEquals(val6, (isStableEnabled ? 1.0F : 6.0F)); + } + + { + c.v = new float[1][1][1][1]; float[] val1 = get1(); + c.v[0][0][0] = new float[1]; float[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[1][1][1][1]; float[][] val1 = get2(); + c.v[0][0] = new float[1][1]; float[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[1][1][1][1]; float[][][] val1 = get3(); + c.v[0] = new float[1][1][1]; float[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[1][1][1][1]; float[][][][] val1 = get4(); + c.v = new float[1][1][1][1]; float[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static float get() { return ((float[])c.v)[0]; } + public static float[] get1() { return (float[])c.v; } + + public static void test() throws Exception { + { + c.v = new float[1]; ((float[])c.v)[0] = 1.0F; float val1 = get(); + ((float[])c.v)[0] = 2.0F; float val2 = get(); + + assertEquals(val1, 1.0F); + assertEquals(val2, 2.0F); + } + + { + c.v = new float[1]; float[] val1 = get1(); + c.v = new float[1]; float[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static float get() { return ((float[][])c.v)[0][0]; } + public static float[] get1() { return (float[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new float[1][1]; ((float[][])c.v)[0][0] = 1.0F; float val1 = get(); + ((float[][])c.v)[0][0] = 2.0F; float val2 = get(); + + assertEquals(val1, 1.0F); + assertEquals(val2, 2.0F); + } + + { + c.v = new float[1][1]; c.v[0] = new float[0]; float[] val1 = get1(); + c.v[0] = new float[0]; float[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[0][0]; Object[] val1 = get2(); + c.v = new float[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static float get() { return ((float[][][])c.v)[0][0][0]; } + public static float[] get1() { return (float[])(c.v[0][0]); } + public static float[][] get2() { return (float[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new float[1][1][1]; ((float[][][])c.v)[0][0][0] = 1.0F; float val1 = get(); + ((float[][][])c.v)[0][0][0] = 2.0F; float val2 = get(); + + assertEquals(val1, 1.0F); + assertEquals(val2, 2.0F); + } + + { + c.v = new float[1][1][1]; c.v[0][0] = new float[0]; float[] val1 = get1(); + c.v[0][0] = new float[0]; float[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[1][1][1]; c.v[0] = new float[0][0]; float[][] val1 = get2(); + c.v[0] = new float[0][0]; float[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new float[0][0][0]; Object[][] val1 = get3(); + c.v = new float[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable float a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static float get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = 1.0F; A val1 = get(); + c.v.a = 2.0F; A val2 = get(); + + assertEquals(val1.a, 2.0F); + assertEquals(val2.a, 2.0F); + } + + { + c.v = new A(); c.v.a = 1.0F; float val1 = get1(); + c.v.a = 2.0F; float val2 = get1(); + c.v = new A(); c.v.a = 3.0F; float val3 = get1(); + + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F)); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable float a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static float get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = 1.0F; c.v.next.a = 1.0F; A val1 = get(); + c.v.a = 2.0F; c.v.next.a = 2.0F; A val2 = get(); + + assertEquals(val1.a, 2.0F); + assertEquals(val2.a, 2.0F); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = 1.0F; float val1 = get1(); + c.v.a = 2.0F; float val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = 3.0F; float val3 = get1(); + + assertEquals(val1, 1.0F); + assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F)); + assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F)); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable float a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static float get() { return c.v.left.left.left.a; } + public static float get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = 1.0F; float val1 = get(); float val2 = get1(); + c.v.a = 2.0F; float val3 = get(); float val4 = get1(); + + assertEquals(val1, 1.0F); + assertEquals(val3, (isStableEnabled ? 1.0F : 2.0F)); + + assertEquals(val2, 1.0F); + assertEquals(val4, 2.0F); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable float a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static float get() { return c.v[0].left[1].left[0].left[1].a; } + public static float get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = 1.0F; float val1 = get(); float val2 = get1(); + elem.a = 2.0F; float val3 = get(); float val4 = get1(); + + assertEquals(val1, 1.0F); + assertEquals(val3, (isStableEnabled ? 1.0F : 2.0F)); + + assertEquals(val2, 1.0F); + assertEquals(val4, 2.0F); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(float i, float j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/stable/TestStableInt.java b/hotspot/test/compiler/stable/TestStableInt.java new file mode 100644 index 00000000000..9632a8dc39d --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableInt.java @@ -0,0 +1,632 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableInt + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableInt.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableInt + * java/lang/invoke/TestStableInt$IntStable + * java/lang/invoke/TestStableInt$StaticIntStable + * java/lang/invoke/TestStableInt$VolatileIntStable + * java/lang/invoke/TestStableInt$IntArrayDim1 + * java/lang/invoke/TestStableInt$IntArrayDim2 + * java/lang/invoke/TestStableInt$IntArrayDim3 + * java/lang/invoke/TestStableInt$IntArrayDim4 + * java/lang/invoke/TestStableInt$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableInt$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableInt$NestedStableField + * java/lang/invoke/TestStableInt$NestedStableField$A + * java/lang/invoke/TestStableInt$NestedStableField1 + * java/lang/invoke/TestStableInt$NestedStableField1$A + * java/lang/invoke/TestStableInt$NestedStableField2 + * java/lang/invoke/TestStableInt$NestedStableField2$A + * java/lang/invoke/TestStableInt$NestedStableField3 + * java/lang/invoke/TestStableInt$NestedStableField3$A + * java/lang/invoke/TestStableInt$DefaultValue + * java/lang/invoke/TestStableInt$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableInt + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableInt + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableInt + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableInt + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableInt { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(IntStable.class); + run(StaticIntStable.class); + run(VolatileIntStable.class); + + // @Stable arrays: Dim 1-4 + run(IntArrayDim1.class); + run(IntArrayDim2.class); + run(IntArrayDim3.class); + run(IntArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + static class DefaultValue { + public @Stable int v; + + public static final DefaultValue c = new DefaultValue(); + public static int get() { return c.v; } + public static void test() throws Exception { + int val1 = get(); + c.v = 1; int val2 = get(); + assertEquals(val1, 0); + assertEquals(val2, 1); + } + } + + /* ==================================================== */ + + static class IntStable { + public @Stable int v; + + public static final IntStable c = new IntStable(); + public static int get() { return c.v; } + public static void test() throws Exception { + c.v = 1; int val1 = get(); + c.v = 2; int val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + } + } + + /* ==================================================== */ + + static class StaticIntStable { + public static @Stable int v; + + public static final StaticIntStable c = new StaticIntStable(); + public static int get() { return c.v; } + public static void test() throws Exception { + c.v = 1; int val1 = get(); + c.v = 2; int val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + } + } + + /* ==================================================== */ + + static class VolatileIntStable { + public @Stable volatile int v; + + public static final VolatileIntStable c = new VolatileIntStable(); + public static int get() { return c.v; } + public static void test() throws Exception { + c.v = 1; int val1 = get(); + c.v = 2; int val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class IntArrayDim1 { + public @Stable int[] v; + + public static final IntArrayDim1 c = new IntArrayDim1(); + public static int get() { return c.v[0]; } + public static int get1() { return c.v[10]; } + public static int[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new int[1]; c.v[0] = 1; int val1 = get(); + c.v[0] = 2; int val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new int[1]; c.v[0] = 3; int val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + + { + c.v = new int[20]; c.v[10] = 1; int val1 = get1(); + c.v[10] = 2; int val2 = get1(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new int[20]; c.v[10] = 3; int val3 = get1(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + + { + c.v = new int[1]; int[] val1 = get2(); + c.v = new int[1]; int[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class IntArrayDim2 { + public @Stable int[][] v; + + public static final IntArrayDim2 c = new IntArrayDim2(); + public static int get() { return c.v[0][0]; } + public static int[] get1() { return c.v[0]; } + public static int[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new int[1][1]; c.v[0][0] = 1; int val1 = get(); + c.v[0][0] = 2; int val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new int[1][1]; c.v[0][0] = 3; int val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new int[1]; c.v[0][0] = 4; int val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + } + + { + c.v = new int[1][1]; int[] val1 = get1(); + c.v[0] = new int[1]; int[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[1][1]; int[][] val1 = get2(); + c.v = new int[1][1]; int[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class IntArrayDim3 { + public @Stable int[][][] v; + + public static final IntArrayDim3 c = new IntArrayDim3(); + public static int get() { return c.v[0][0][0]; } + public static int[] get1() { return c.v[0][0]; } + public static int[][] get2() { return c.v[0]; } + public static int[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new int[1][1][1]; c.v[0][0][0] = 1; int val1 = get(); + c.v[0][0][0] = 2; int val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new int[1][1][1]; c.v[0][0][0] = 3; int val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new int[1][1]; c.v[0][0][0] = 4; int val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + + c.v[0][0] = new int[1]; c.v[0][0][0] = 5; int val5 = get(); + assertEquals(val5, (isStableEnabled ? 1 : 5)); + } + + { + c.v = new int[1][1][1]; int[] val1 = get1(); + c.v[0][0] = new int[1]; int[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[1][1][1]; int[][] val1 = get2(); + c.v[0] = new int[1][1]; int[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[1][1][1]; int[][][] val1 = get3(); + c.v = new int[1][1][1]; int[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class IntArrayDim4 { + public @Stable int[][][][] v; + + public static final IntArrayDim4 c = new IntArrayDim4(); + public static int get() { return c.v[0][0][0][0]; } + public static int[] get1() { return c.v[0][0][0]; } + public static int[][] get2() { return c.v[0][0]; } + public static int[][][] get3() { return c.v[0]; } + public static int[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new int[1][1][1][1]; c.v[0][0][0][0] = 1; int val1 = get(); + c.v[0][0][0][0] = 2; int val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new int[1][1][1][1]; c.v[0][0][0][0] = 3; int val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new int[1][1][1]; c.v[0][0][0][0] = 4; int val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + + c.v[0][0] = new int[1][1]; c.v[0][0][0][0] = 5; int val5 = get(); + assertEquals(val5, (isStableEnabled ? 1 : 5)); + + c.v[0][0][0] = new int[1]; c.v[0][0][0][0] = 6; int val6 = get(); + assertEquals(val6, (isStableEnabled ? 1 : 6)); + } + + { + c.v = new int[1][1][1][1]; int[] val1 = get1(); + c.v[0][0][0] = new int[1]; int[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[1][1][1][1]; int[][] val1 = get2(); + c.v[0][0] = new int[1][1]; int[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[1][1][1][1]; int[][][] val1 = get3(); + c.v[0] = new int[1][1][1]; int[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[1][1][1][1]; int[][][][] val1 = get4(); + c.v = new int[1][1][1][1]; int[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static int get() { return ((int[])c.v)[0]; } + public static int[] get1() { return (int[])c.v; } + + public static void test() throws Exception { + { + c.v = new int[1]; ((int[])c.v)[0] = 1; int val1 = get(); + ((int[])c.v)[0] = 2; int val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new int[1]; int[] val1 = get1(); + c.v = new int[1]; int[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static int get() { return ((int[][])c.v)[0][0]; } + public static int[] get1() { return (int[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new int[1][1]; ((int[][])c.v)[0][0] = 1; int val1 = get(); + ((int[][])c.v)[0][0] = 2; int val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new int[1][1]; c.v[0] = new int[0]; int[] val1 = get1(); + c.v[0] = new int[0]; int[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[0][0]; Object[] val1 = get2(); + c.v = new int[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static int get() { return ((int[][][])c.v)[0][0][0]; } + public static int[] get1() { return (int[])(c.v[0][0]); } + public static int[][] get2() { return (int[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new int[1][1][1]; ((int[][][])c.v)[0][0][0] = 1; int val1 = get(); + ((int[][][])c.v)[0][0][0] = 2; int val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new int[1][1][1]; c.v[0][0] = new int[0]; int[] val1 = get1(); + c.v[0][0] = new int[0]; int[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[1][1][1]; c.v[0] = new int[0][0]; int[][] val1 = get2(); + c.v[0] = new int[0][0]; int[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new int[0][0][0]; Object[][] val1 = get3(); + c.v = new int[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable int a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static int get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = 1; A val1 = get(); + c.v.a = 2; A val2 = get(); + + assertEquals(val1.a, 2); + assertEquals(val2.a, 2); + } + + { + c.v = new A(); c.v.a = 1; int val1 = get1(); + c.v.a = 2; int val2 = get1(); + c.v = new A(); c.v.a = 3; int val3 = get1(); + + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable int a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static int get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = 1; c.v.next.a = 1; A val1 = get(); + c.v.a = 2; c.v.next.a = 2; A val2 = get(); + + assertEquals(val1.a, 2); + assertEquals(val2.a, 2); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = 1; int val1 = get1(); + c.v.a = 2; int val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = 3; int val3 = get1(); + + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable int a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static int get() { return c.v.left.left.left.a; } + public static int get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = 1; int val1 = get(); int val2 = get1(); + c.v.a = 2; int val3 = get(); int val4 = get1(); + + assertEquals(val1, 1); + assertEquals(val3, (isStableEnabled ? 1 : 2)); + + assertEquals(val2, 1); + assertEquals(val4, 2); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable int a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static int get() { return c.v[0].left[1].left[0].left[1].a; } + public static int get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = 1; int val1 = get(); int val2 = get1(); + elem.a = 2; int val3 = get(); int val4 = get1(); + + assertEquals(val1, 1); + assertEquals(val3, (isStableEnabled ? 1 : 2)); + + assertEquals(val2, 1); + assertEquals(val4, 2); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(int i, int j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/stable/TestStableLong.java b/hotspot/test/compiler/stable/TestStableLong.java new file mode 100644 index 00000000000..d1c72f5609c --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableLong.java @@ -0,0 +1,632 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableLong + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableLong.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableLong + * java/lang/invoke/TestStableLong$LongStable + * java/lang/invoke/TestStableLong$StaticLongStable + * java/lang/invoke/TestStableLong$VolatileLongStable + * java/lang/invoke/TestStableLong$LongArrayDim1 + * java/lang/invoke/TestStableLong$LongArrayDim2 + * java/lang/invoke/TestStableLong$LongArrayDim3 + * java/lang/invoke/TestStableLong$LongArrayDim4 + * java/lang/invoke/TestStableLong$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableLong$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableLong$NestedStableField + * java/lang/invoke/TestStableLong$NestedStableField$A + * java/lang/invoke/TestStableLong$NestedStableField1 + * java/lang/invoke/TestStableLong$NestedStableField1$A + * java/lang/invoke/TestStableLong$NestedStableField2 + * java/lang/invoke/TestStableLong$NestedStableField2$A + * java/lang/invoke/TestStableLong$NestedStableField3 + * java/lang/invoke/TestStableLong$NestedStableField3$A + * java/lang/invoke/TestStableLong$DefaultValue + * java/lang/invoke/TestStableLong$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableLong + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableLong + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableLong + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableLong + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableLong { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(LongStable.class); + run(StaticLongStable.class); + run(VolatileLongStable.class); + + // @Stable arrays: Dim 1-4 + run(LongArrayDim1.class); + run(LongArrayDim2.class); + run(LongArrayDim3.class); + run(LongArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + static class DefaultValue { + public @Stable long v; + + public static final DefaultValue c = new DefaultValue(); + public static long get() { return c.v; } + public static void test() throws Exception { + long val1 = get(); + c.v = 1L; long val2 = get(); + assertEquals(val1, 0); + assertEquals(val2, 1L); + } + } + + /* ==================================================== */ + + static class LongStable { + public @Stable long v; + + public static final LongStable c = new LongStable(); + public static long get() { return c.v; } + public static void test() throws Exception { + c.v = 5; long val1 = get(); + c.v = Long.MAX_VALUE; long val2 = get(); + assertEquals(val1, 5); + assertEquals(val2, (isStableEnabled ? 5 : Long.MAX_VALUE)); + } + } + + /* ==================================================== */ + + static class StaticLongStable { + public static @Stable long v; + + public static final StaticLongStable c = new StaticLongStable(); + public static long get() { return c.v; } + public static void test() throws Exception { + c.v = 5; long val1 = get(); + c.v = Long.MAX_VALUE; long val2 = get(); + assertEquals(val1, 5); + assertEquals(val2, (isStableEnabled ? 5 : Long.MAX_VALUE)); + } + } + + /* ==================================================== */ + + static class VolatileLongStable { + public @Stable volatile long v; + + public static final VolatileLongStable c = new VolatileLongStable(); + public static long get() { return c.v; } + public static void test() throws Exception { + c.v = 5; long val1 = get(); + c.v = Long.MAX_VALUE; long val2 = get(); + assertEquals(val1, 5); + assertEquals(val2, (isStableEnabled ? 5 : Long.MAX_VALUE)); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class LongArrayDim1 { + public @Stable long[] v; + + public static final LongArrayDim1 c = new LongArrayDim1(); + public static long get() { return c.v[0]; } + public static long get1() { return c.v[10]; } + public static long[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new long[1]; c.v[0] = 1; long val1 = get(); + c.v[0] = 2; long val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new long[1]; c.v[0] = 3; long val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + + { + c.v = new long[20]; c.v[10] = 1; long val1 = get1(); + c.v[10] = 2; long val2 = get1(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new long[20]; c.v[10] = 3; long val3 = get1(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + + { + c.v = new long[1]; long[] val1 = get2(); + c.v = new long[1]; long[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class LongArrayDim2 { + public @Stable long[][] v; + + public static final LongArrayDim2 c = new LongArrayDim2(); + public static long get() { return c.v[0][0]; } + public static long[] get1() { return c.v[0]; } + public static long[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new long[1][1]; c.v[0][0] = 1; long val1 = get(); + c.v[0][0] = 2; long val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new long[1][1]; c.v[0][0] = 3; long val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new long[1]; c.v[0][0] = 4; long val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + } + + { + c.v = new long[1][1]; long[] val1 = get1(); + c.v[0] = new long[1]; long[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[1][1]; long[][] val1 = get2(); + c.v = new long[1][1]; long[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class LongArrayDim3 { + public @Stable long[][][] v; + + public static final LongArrayDim3 c = new LongArrayDim3(); + public static long get() { return c.v[0][0][0]; } + public static long[] get1() { return c.v[0][0]; } + public static long[][] get2() { return c.v[0]; } + public static long[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new long[1][1][1]; c.v[0][0][0] = 1; long val1 = get(); + c.v[0][0][0] = 2; long val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new long[1][1][1]; c.v[0][0][0] = 3; long val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new long[1][1]; c.v[0][0][0] = 4; long val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + + c.v[0][0] = new long[1]; c.v[0][0][0] = 5; long val5 = get(); + assertEquals(val5, (isStableEnabled ? 1 : 5)); + } + + { + c.v = new long[1][1][1]; long[] val1 = get1(); + c.v[0][0] = new long[1]; long[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[1][1][1]; long[][] val1 = get2(); + c.v[0] = new long[1][1]; long[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[1][1][1]; long[][][] val1 = get3(); + c.v = new long[1][1][1]; long[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class LongArrayDim4 { + public @Stable long[][][][] v; + + public static final LongArrayDim4 c = new LongArrayDim4(); + public static long get() { return c.v[0][0][0][0]; } + public static long[] get1() { return c.v[0][0][0]; } + public static long[][] get2() { return c.v[0][0]; } + public static long[][][] get3() { return c.v[0]; } + public static long[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new long[1][1][1][1]; c.v[0][0][0][0] = 1; long val1 = get(); + c.v[0][0][0][0] = 2; long val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new long[1][1][1][1]; c.v[0][0][0][0] = 3; long val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new long[1][1][1]; c.v[0][0][0][0] = 4; long val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + + c.v[0][0] = new long[1][1]; c.v[0][0][0][0] = 5; long val5 = get(); + assertEquals(val5, (isStableEnabled ? 1 : 5)); + + c.v[0][0][0] = new long[1]; c.v[0][0][0][0] = 6; long val6 = get(); + assertEquals(val6, (isStableEnabled ? 1 : 6)); + } + + { + c.v = new long[1][1][1][1]; long[] val1 = get1(); + c.v[0][0][0] = new long[1]; long[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[1][1][1][1]; long[][] val1 = get2(); + c.v[0][0] = new long[1][1]; long[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[1][1][1][1]; long[][][] val1 = get3(); + c.v[0] = new long[1][1][1]; long[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[1][1][1][1]; long[][][][] val1 = get4(); + c.v = new long[1][1][1][1]; long[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static long get() { return ((long[])c.v)[0]; } + public static long[] get1() { return (long[])c.v; } + + public static void test() throws Exception { + { + c.v = new long[1]; ((long[])c.v)[0] = 1; long val1 = get(); + ((long[])c.v)[0] = 2; long val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new long[1]; long[] val1 = get1(); + c.v = new long[1]; long[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static long get() { return ((long[][])c.v)[0][0]; } + public static long[] get1() { return (long[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new long[1][1]; ((long[][])c.v)[0][0] = 1; long val1 = get(); + ((long[][])c.v)[0][0] = 2; long val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new long[1][1]; c.v[0] = new long[0]; long[] val1 = get1(); + c.v[0] = new long[0]; long[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[0][0]; Object[] val1 = get2(); + c.v = new long[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static long get() { return ((long[][][])c.v)[0][0][0]; } + public static long[] get1() { return (long[])(c.v[0][0]); } + public static long[][] get2() { return (long[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new long[1][1][1]; ((long[][][])c.v)[0][0][0] = 1L; long val1 = get(); + ((long[][][])c.v)[0][0][0] = 2L; long val2 = get(); + + assertEquals(val1, 1L); + assertEquals(val2, 2L); + } + + { + c.v = new long[1][1][1]; c.v[0][0] = new long[0]; long[] val1 = get1(); + c.v[0][0] = new long[0]; long[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[1][1][1]; c.v[0] = new long[0][0]; long[][] val1 = get2(); + c.v[0] = new long[0][0]; long[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new long[0][0][0]; Object[][] val1 = get3(); + c.v = new long[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable long a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static long get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = 1; A val1 = get(); + c.v.a = 2; A val2 = get(); + + assertEquals(val1.a, 2); + assertEquals(val2.a, 2); + } + + { + c.v = new A(); c.v.a = 1; long val1 = get1(); + c.v.a = 2; long val2 = get1(); + c.v = new A(); c.v.a = 3; long val3 = get1(); + + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable long a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static long get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = 1; c.v.next.a = 1; A val1 = get(); + c.v.a = 2; c.v.next.a = 2; A val2 = get(); + + assertEquals(val1.a, 2); + assertEquals(val2.a, 2); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = 1; long val1 = get1(); + c.v.a = 2; long val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = 3; long val3 = get1(); + + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable long a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static long get() { return c.v.left.left.left.a; } + public static long get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = 1; long val1 = get(); long val2 = get1(); + c.v.a = 2; long val3 = get(); long val4 = get1(); + + assertEquals(val1, 1); + assertEquals(val3, (isStableEnabled ? 1 : 2)); + + assertEquals(val2, 1); + assertEquals(val4, 2); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable long a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static long get() { return c.v[0].left[1].left[0].left[1].a; } + public static long get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = 1; long val1 = get(); long val2 = get1(); + elem.a = 2; long val3 = get(); long val4 = get1(); + + assertEquals(val1, 1); + assertEquals(val3, (isStableEnabled ? 1 : 2)); + + assertEquals(val2, 1); + assertEquals(val4, 2); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(long i, long j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/stable/TestStableObject.java b/hotspot/test/compiler/stable/TestStableObject.java new file mode 100644 index 00000000000..7958c6500c4 --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableObject.java @@ -0,0 +1,635 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableObject + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableObject.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableObject + * java/lang/invoke/TestStableObject$ObjectStable + * java/lang/invoke/TestStableObject$StaticObjectStable + * java/lang/invoke/TestStableObject$VolatileObjectStable + * java/lang/invoke/TestStableObject$ObjectArrayDim1 + * java/lang/invoke/TestStableObject$ObjectArrayDim2 + * java/lang/invoke/TestStableObject$ObjectArrayDim3 + * java/lang/invoke/TestStableObject$ObjectArrayDim4 + * java/lang/invoke/TestStableObject$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableObject$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableObject$NestedStableField + * java/lang/invoke/TestStableObject$NestedStableField$A + * java/lang/invoke/TestStableObject$NestedStableField1 + * java/lang/invoke/TestStableObject$NestedStableField1$A + * java/lang/invoke/TestStableObject$NestedStableField2 + * java/lang/invoke/TestStableObject$NestedStableField2$A + * java/lang/invoke/TestStableObject$NestedStableField3 + * java/lang/invoke/TestStableObject$NestedStableField3$A + * java/lang/invoke/TestStableObject$Values + * java/lang/invoke/TestStableObject$DefaultValue + * java/lang/invoke/TestStableObject$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableObject + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableObject + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableObject + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableObject + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableObject { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(ObjectStable.class); + run(StaticObjectStable.class); + run(VolatileObjectStable.class); + + // @Stable arrays: Dim 1-4 + run(ObjectArrayDim1.class); + run(ObjectArrayDim2.class); + run(ObjectArrayDim3.class); + run(ObjectArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + enum Values {A, B, C, D, E, F} + + static class DefaultValue { + public @Stable Object v; + + public static final DefaultValue c = new DefaultValue(); + public static Object get() { return c.v; } + public static void test() throws Exception { + Object val1 = get(); + c.v = Values.A; Object val2 = get(); + assertEquals(val1, null); + assertEquals(val2, Values.A); + } + } + + /* ==================================================== */ + + static class ObjectStable { + public @Stable Values v; + + public static final ObjectStable c = new ObjectStable (); + public static Values get() { return c.v; } + public static void test() throws Exception { + c.v = Values.A; Values val1 = get(); + c.v = Values.B; Values val2 = get(); + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + } + } + + /* ==================================================== */ + + static class StaticObjectStable { + public static @Stable Values v; + + public static final ObjectStable c = new ObjectStable (); + public static Values get() { return c.v; } + public static void test() throws Exception { + c.v = Values.A; Values val1 = get(); + c.v = Values.B; Values val2 = get(); + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + } + } + + /* ==================================================== */ + + static class VolatileObjectStable { + public @Stable volatile Values v; + + public static final VolatileObjectStable c = new VolatileObjectStable (); + public static Values get() { return c.v; } + public static void test() throws Exception { + c.v = Values.A; Values val1 = get(); + c.v = Values.B; Values val2 = get(); + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class ObjectArrayDim1 { + public @Stable Object[] v; + + public static final ObjectArrayDim1 c = new ObjectArrayDim1(); + public static Object get() { return c.v[0]; } + public static Object get1() { return c.v[10]; } + public static Object[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new Object[1]; c.v[0] = Values.A; Object val1 = get(); + c.v[0] = Values.B; Object val2 = get(); + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + + c.v = new Object[1]; c.v[0] = Values.C; Object val3 = get(); + assertEquals(val3, (isStableEnabled ? Values.A : Values.C)); + } + + { + c.v = new Object[20]; c.v[10] = Values.A; Object val1 = get1(); + c.v[10] = Values.B; Object val2 = get1(); + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + + c.v = new Object[20]; c.v[10] = Values.C; Object val3 = get1(); + assertEquals(val3, (isStableEnabled ? Values.A : Values.C)); + } + + { + c.v = new Object[1]; Object[] val1 = get2(); + c.v = new Object[1]; Object[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayDim2 c = new ObjectArrayDim2(); + public static Object get() { return c.v[0][0]; } + public static Object[] get1() { return c.v[0]; } + public static Object[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new Object[1][1]; c.v[0][0] = Values.A; Object val1 = get(); + c.v[0][0] = Values.B; Object val2 = get(); + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + + c.v = new Object[1][1]; c.v[0][0] = Values.C; Object val3 = get(); + assertEquals(val3, (isStableEnabled ? Values.A : Values.C)); + + c.v[0] = new Object[1]; c.v[0][0] = Values.D; Object val4 = get(); + assertEquals(val4, (isStableEnabled ? Values.A : Values.D)); + } + + { + c.v = new Object[1][1]; Object[] val1 = get1(); + c.v[0] = new Object[1]; Object[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[1][1]; Object[][] val1 = get2(); + c.v = new Object[1][1]; Object[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayDim3 { + public @Stable Object[][][] v; + + public static final ObjectArrayDim3 c = new ObjectArrayDim3(); + public static Object get() { return c.v[0][0][0]; } + public static Object[] get1() { return c.v[0][0]; } + public static Object[][] get2() { return c.v[0]; } + public static Object[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new Object[1][1][1]; c.v[0][0][0] = Values.A; Object val1 = get(); + c.v[0][0][0] = Values.B; Object val2 = get(); + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + + c.v = new Object[1][1][1]; c.v[0][0][0] = Values.C; Object val3 = get(); + assertEquals(val3, (isStableEnabled ? Values.A : Values.C)); + + c.v[0] = new Object[1][1]; c.v[0][0][0] = Values.D; Object val4 = get(); + assertEquals(val4, (isStableEnabled ? Values.A : Values.D)); + + c.v[0][0] = new Object[1]; c.v[0][0][0] = Values.E; Object val5 = get(); + assertEquals(val5, (isStableEnabled ? Values.A : Values.E)); + } + + { + c.v = new Object[1][1][1]; Object[] val1 = get1(); + c.v[0][0] = new Object[1]; Object[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[1][1][1]; Object[][] val1 = get2(); + c.v[0] = new Object[1][1]; Object[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[1][1][1]; Object[][][] val1 = get3(); + c.v = new Object[1][1][1]; Object[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayDim4 { + public @Stable Object[][][][] v; + + public static final ObjectArrayDim4 c = new ObjectArrayDim4(); + public static Object get() { return c.v[0][0][0][0]; } + public static Object[] get1() { return c.v[0][0][0]; } + public static Object[][] get2() { return c.v[0][0]; } + public static Object[][][] get3() { return c.v[0]; } + public static Object[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new Object[1][1][1][1]; c.v[0][0][0][0] = Values.A; Object val1 = get(); + c.v[0][0][0][0] = Values.B; Object val2 = get(); + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + + c.v = new Object[1][1][1][1]; c.v[0][0][0][0] = Values.C; Object val3 = get(); + assertEquals(val3, (isStableEnabled ? Values.A : Values.C)); + + c.v[0] = new Object[1][1][1]; c.v[0][0][0][0] = Values.D; Object val4 = get(); + assertEquals(val4, (isStableEnabled ? Values.A : Values.D)); + + c.v[0][0] = new Object[1][1]; c.v[0][0][0][0] = Values.E; Object val5 = get(); + assertEquals(val5, (isStableEnabled ? Values.A : Values.E)); + + c.v[0][0][0] = new Object[1]; c.v[0][0][0][0] = Values.F; Object val6 = get(); + assertEquals(val6, (isStableEnabled ? Values.A : Values.F)); + } + + { + c.v = new Object[1][1][1][1]; Object[] val1 = get1(); + c.v[0][0][0] = new Object[1]; Object[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[1][1][1][1]; Object[][] val1 = get2(); + c.v[0][0] = new Object[1][1]; Object[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[1][1][1][1]; Object[][][] val1 = get3(); + c.v[0] = new Object[1][1][1]; Object[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[1][1][1][1]; Object[][][][] val1 = get4(); + c.v = new Object[1][1][1][1]; Object[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static Object get() { return ((Object[])c.v)[0]; } + public static Object[] get1() { return (Object[])c.v; } + + public static void test() throws Exception { + { + c.v = new Object[1]; ((Object[])c.v)[0] = Values.A; Object val1 = get(); + ((Object[])c.v)[0] = Values.B; Object val2 = get(); + + assertEquals(val1, Values.A); + assertEquals(val2, Values.B); + } + + { + c.v = new Object[1]; Object[] val1 = get1(); + c.v = new Object[1]; Object[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static Object get() { return ((Object[][])c.v)[0][0]; } + public static Object[] get1() { return (Object[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new Object[1][1]; ((Object[][])c.v)[0][0] = Values.A; Object val1 = get(); + ((Object[][])c.v)[0][0] = Values.B; Object val2 = get(); + + assertEquals(val1, Values.A); + assertEquals(val2, Values.B); + } + + { + c.v = new Object[1][1]; c.v[0] = new Object[0]; Object[] val1 = get1(); + c.v[0] = new Object[0]; Object[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[0][0]; Object[] val1 = get2(); + c.v = new Object[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static Object get() { return ((Object[][][])c.v)[0][0][0]; } + public static Object[] get1() { return (Object[])(c.v[0][0]); } + public static Object[][] get2() { return (Object[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new Object[1][1][1]; ((Object[][][])c.v)[0][0][0] = Values.A; Object val1 = get(); + ((Object[][][])c.v)[0][0][0] = Values.B; Object val2 = get(); + + assertEquals(val1, Values.A); + assertEquals(val2, Values.B); + } + + { + c.v = new Object[1][1][1]; c.v[0][0] = new Object[0]; Object[] val1 = get1(); + c.v[0][0] = new Object[0]; Object[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[1][1][1]; c.v[0] = new Object[0][0]; Object[][] val1 = get2(); + c.v[0] = new Object[0][0]; Object[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new Object[0][0][0]; Object[][] val1 = get3(); + c.v = new Object[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable Object a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static Object get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = Values.A; A val1 = get(); + c.v.a = Values.B; A val2 = get(); + + assertEquals(val1.a, Values.B); + assertEquals(val2.a, Values.B); + } + + { + c.v = new A(); c.v.a = Values.A; Object val1 = get1(); + c.v.a = Values.B; Object val2 = get1(); + c.v = new A(); c.v.a = Values.C; Object val3 = get1(); + + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + assertEquals(val3, (isStableEnabled ? Values.A : Values.C)); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable Object a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static Object get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = Values.A; c.v.next.a = Values.A; A val1 = get(); + c.v.a = Values.B; c.v.next.a = Values.B; A val2 = get(); + + assertEquals(val1.a, Values.B); + assertEquals(val2.a, Values.B); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = Values.A; Object val1 = get1(); + c.v.a = Values.B; Object val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = Values.C; Object val3 = get1(); + + assertEquals(val1, Values.A); + assertEquals(val2, (isStableEnabled ? Values.A : Values.B)); + assertEquals(val3, (isStableEnabled ? Values.A : Values.C)); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable Object a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static Object get() { return c.v.left.left.left.a; } + public static Object get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = Values.A; Object val1 = get(); Object val2 = get1(); + c.v.a = Values.B; Object val3 = get(); Object val4 = get1(); + + assertEquals(val1, Values.A); + assertEquals(val3, (isStableEnabled ? Values.A : Values.B)); + + assertEquals(val2, Values.A); + assertEquals(val4, Values.B); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable Object a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static Object get() { return c.v[0].left[1].left[0].left[1].a; } + public static Object get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = Values.A; Object val1 = get(); Object val2 = get1(); + elem.a = Values.B; Object val3 = get(); Object val4 = get1(); + + assertEquals(val1, Values.A); + assertEquals(val3, (isStableEnabled ? Values.A : Values.B)); + + assertEquals(val2, Values.A); + assertEquals(val4, Values.B); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(Object i, Object j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/stable/TestStableShort.java b/hotspot/test/compiler/stable/TestStableShort.java new file mode 100644 index 00000000000..a80d0726db6 --- /dev/null +++ b/hotspot/test/compiler/stable/TestStableShort.java @@ -0,0 +1,632 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test TestStableShort + * @summary tests on stable fields and arrays + * @library /testlibrary + * @compile -XDignore.symbol.file TestStableShort.java + * @run main ClassFileInstaller + * java/lang/invoke/TestStableShort + * java/lang/invoke/TestStableShort$ShortStable + * java/lang/invoke/TestStableShort$StaticShortStable + * java/lang/invoke/TestStableShort$VolatileShortStable + * java/lang/invoke/TestStableShort$ShortArrayDim1 + * java/lang/invoke/TestStableShort$ShortArrayDim2 + * java/lang/invoke/TestStableShort$ShortArrayDim3 + * java/lang/invoke/TestStableShort$ShortArrayDim4 + * java/lang/invoke/TestStableShort$ObjectArrayLowerDim0 + * java/lang/invoke/TestStableShort$ObjectArrayLowerDim1 + * java/lang/invoke/TestStableShort$NestedStableField + * java/lang/invoke/TestStableShort$NestedStableField$A + * java/lang/invoke/TestStableShort$NestedStableField1 + * java/lang/invoke/TestStableShort$NestedStableField1$A + * java/lang/invoke/TestStableShort$NestedStableField2 + * java/lang/invoke/TestStableShort$NestedStableField2$A + * java/lang/invoke/TestStableShort$NestedStableField3 + * java/lang/invoke/TestStableShort$NestedStableField3$A + * java/lang/invoke/TestStableShort$DefaultValue + * java/lang/invoke/TestStableShort$ObjectArrayLowerDim2 + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableShort + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableShort + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableShort + * + * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions + * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop + * -server -XX:-TieredCompilation -Xcomp + * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4 + * java.lang.invoke.TestStableShort + */ +package java.lang.invoke; + +import com.sun.management.HotSpotDiagnosticMXBean; +import com.sun.management.VMOption; +import sun.management.ManagementFactoryHelper; +import java.lang.reflect.InvocationTargetException; + +public class TestStableShort { + public static void main(String[] args) throws Exception { + System.out.println("@Stable enabled: "+isStableEnabled); + System.out.println(); + + run(DefaultValue.class); + run(ShortStable.class); + run(StaticShortStable.class); + run(VolatileShortStable.class); + + // @Stable arrays: Dim 1-4 + run(ShortArrayDim1.class); + run(ShortArrayDim2.class); + run(ShortArrayDim3.class); + run(ShortArrayDim4.class); + + // @Stable Object field: dynamic arrays + run(ObjectArrayLowerDim0.class); + run(ObjectArrayLowerDim1.class); + run(ObjectArrayLowerDim2.class); + + // Nested @Stable fields + run(NestedStableField.class); + run(NestedStableField1.class); + run(NestedStableField2.class); + run(NestedStableField3.class); + + if (failed) { + throw new Error("TEST FAILED"); + } + } + + /* ==================================================== */ + + static class DefaultValue { + public @Stable short v; + + public static final DefaultValue c = new DefaultValue(); + public static short get() { return c.v; } + public static void test() throws Exception { + short val1 = get(); + c.v = 1; short val2 = get(); + assertEquals(val1, 0); + assertEquals(val2, 1); + } + } + + /* ==================================================== */ + + static class ShortStable { + public @Stable short v; + + public static final ShortStable c = new ShortStable(); + public static short get() { return c.v; } + public static void test() throws Exception { + c.v = 1; short val1 = get(); + c.v = 32767; short val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 32767)); + } + } + + /* ==================================================== */ + + static class StaticShortStable { + public static @Stable short v; + + public static final StaticShortStable c = new StaticShortStable(); + public static short get() { return c.v; } + public static void test() throws Exception { + c.v = 1; short val1 = get(); + c.v = 32767; short val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 32767)); + } + } + + /* ==================================================== */ + + static class VolatileShortStable { + public @Stable volatile short v; + + public static final VolatileShortStable c = new VolatileShortStable(); + public static short get() { return c.v; } + public static void test() throws Exception { + c.v = 1; short val1 = get(); + c.v = 32767; short val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 32767)); + } + } + + /* ==================================================== */ + // @Stable array == field && all components are stable + + static class ShortArrayDim1 { + public @Stable short[] v; + + public static final ShortArrayDim1 c = new ShortArrayDim1(); + public static short get() { return c.v[0]; } + public static short get1() { return c.v[10]; } + public static short[] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new short[1]; c.v[0] = 1; short val1 = get(); + c.v[0] = 2; short val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new short[1]; c.v[0] = 3; short val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + + { + c.v = new short[20]; c.v[10] = 1; short val1 = get1(); + c.v[10] = 2; short val2 = get1(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new short[20]; c.v[10] = 3; short val3 = get1(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + + { + c.v = new short[1]; short[] val1 = get2(); + c.v = new short[1]; short[] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ShortArrayDim2 { + public @Stable short[][] v; + + public static final ShortArrayDim2 c = new ShortArrayDim2(); + public static short get() { return c.v[0][0]; } + public static short[] get1() { return c.v[0]; } + public static short[][] get2() { return c.v; } + public static void test() throws Exception { + { + c.v = new short[1][1]; c.v[0][0] = 1; short val1 = get(); + c.v[0][0] = 2; short val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new short[1][1]; c.v[0][0] = 3; short val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new short[1]; c.v[0][0] = 4; short val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + } + + { + c.v = new short[1][1]; short[] val1 = get1(); + c.v[0] = new short[1]; short[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[1][1]; short[][] val1 = get2(); + c.v = new short[1][1]; short[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ShortArrayDim3 { + public @Stable short[][][] v; + + public static final ShortArrayDim3 c = new ShortArrayDim3(); + public static short get() { return c.v[0][0][0]; } + public static short[] get1() { return c.v[0][0]; } + public static short[][] get2() { return c.v[0]; } + public static short[][][] get3() { return c.v; } + public static void test() throws Exception { + { + c.v = new short[1][1][1]; c.v[0][0][0] = 1; short val1 = get(); + c.v[0][0][0] = 2; short val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new short[1][1][1]; c.v[0][0][0] = 3; short val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new short[1][1]; c.v[0][0][0] = 4; short val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + + c.v[0][0] = new short[1]; c.v[0][0][0] = 5; short val5 = get(); + assertEquals(val5, (isStableEnabled ? 1 : 5)); + } + + { + c.v = new short[1][1][1]; short[] val1 = get1(); + c.v[0][0] = new short[1]; short[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[1][1][1]; short[][] val1 = get2(); + c.v[0] = new short[1][1]; short[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[1][1][1]; short[][][] val1 = get3(); + c.v = new short[1][1][1]; short[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ShortArrayDim4 { + public @Stable short[][][][] v; + + public static final ShortArrayDim4 c = new ShortArrayDim4(); + public static short get() { return c.v[0][0][0][0]; } + public static short[] get1() { return c.v[0][0][0]; } + public static short[][] get2() { return c.v[0][0]; } + public static short[][][] get3() { return c.v[0]; } + public static short[][][][] get4() { return c.v; } + public static void test() throws Exception { + { + c.v = new short[1][1][1][1]; c.v[0][0][0][0] = 1; short val1 = get(); + c.v[0][0][0][0] = 2; short val2 = get(); + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + + c.v = new short[1][1][1][1]; c.v[0][0][0][0] = 3; short val3 = get(); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + + c.v[0] = new short[1][1][1]; c.v[0][0][0][0] = 4; short val4 = get(); + assertEquals(val4, (isStableEnabled ? 1 : 4)); + + c.v[0][0] = new short[1][1]; c.v[0][0][0][0] = 5; short val5 = get(); + assertEquals(val5, (isStableEnabled ? 1 : 5)); + + c.v[0][0][0] = new short[1]; c.v[0][0][0][0] = 6; short val6 = get(); + assertEquals(val6, (isStableEnabled ? 1 : 6)); + } + + { + c.v = new short[1][1][1][1]; short[] val1 = get1(); + c.v[0][0][0] = new short[1]; short[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[1][1][1][1]; short[][] val1 = get2(); + c.v[0][0] = new short[1][1]; short[][] val2 = get2(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[1][1][1][1]; short[][][] val1 = get3(); + c.v[0] = new short[1][1][1]; short[][][] val2 = get3(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[1][1][1][1]; short[][][][] val1 = get4(); + c.v = new short[1][1][1][1]; short[][][][] val2 = get4(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + } + } + + /* ==================================================== */ + // Dynamic Dim is higher than static + + static class ObjectArrayLowerDim0 { + public @Stable Object v; + + public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0(); + public static short get() { return ((short[])c.v)[0]; } + public static short[] get1() { return (short[])c.v; } + + public static void test() throws Exception { + { + c.v = new short[1]; ((short[])c.v)[0] = 1; short val1 = get(); + ((short[])c.v)[0] = 2; short val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new short[1]; short[] val1 = get1(); + c.v = new short[1]; short[] val2 = get1(); + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim1 { + public @Stable Object[] v; + + public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1(); + public static short get() { return ((short[][])c.v)[0][0]; } + public static short[] get1() { return (short[])(c.v[0]); } + public static Object[] get2() { return c.v; } + + public static void test() throws Exception { + { + c.v = new short[1][1]; ((short[][])c.v)[0][0] = 1; short val1 = get(); + ((short[][])c.v)[0][0] = 2; short val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new short[1][1]; c.v[0] = new short[0]; short[] val1 = get1(); + c.v[0] = new short[0]; short[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[0][0]; Object[] val1 = get2(); + c.v = new short[0][0]; Object[] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class ObjectArrayLowerDim2 { + public @Stable Object[][] v; + + public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2(); + public static short get() { return ((short[][][])c.v)[0][0][0]; } + public static short[] get1() { return (short[])(c.v[0][0]); } + public static short[][] get2() { return (short[][])(c.v[0]); } + public static Object[][] get3() { return c.v; } + + public static void test() throws Exception { + { + c.v = new short[1][1][1]; ((short[][][])c.v)[0][0][0] = 1; short val1 = get(); + ((short[][][])c.v)[0][0][0] = 2; short val2 = get(); + + assertEquals(val1, 1); + assertEquals(val2, 2); + } + + { + c.v = new short[1][1][1]; c.v[0][0] = new short[0]; short[] val1 = get1(); + c.v[0][0] = new short[0]; short[] val2 = get1(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[1][1][1]; c.v[0] = new short[0][0]; short[][] val1 = get2(); + c.v[0] = new short[0][0]; short[][] val2 = get2(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + + { + c.v = new short[0][0][0]; Object[][] val1 = get3(); + c.v = new short[0][0][0]; Object[][] val2 = get3(); + + assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2))); + } + } + } + + /* ==================================================== */ + + static class NestedStableField { + static class A { + public @Stable short a; + + } + public @Stable A v; + + public static final NestedStableField c = new NestedStableField(); + public static A get() { return c.v; } + public static short get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.a = 1; A val1 = get(); + c.v.a = 2; A val2 = get(); + + assertEquals(val1.a, 2); + assertEquals(val2.a, 2); + } + + { + c.v = new A(); c.v.a = 1; short val1 = get1(); + c.v.a = 2; short val2 = get1(); + c.v = new A(); c.v.a = 3; short val3 = get1(); + + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + } + } + + /* ==================================================== */ + + static class NestedStableField1 { + static class A { + public @Stable short a; + public @Stable A next; + } + public @Stable A v; + + public static final NestedStableField1 c = new NestedStableField1(); + public static A get() { return c.v.next.next.next.next.next.next.next; } + public static short get1() { return get().a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.next = new A(); c.v.next.next = c.v; + c.v.a = 1; c.v.next.a = 1; A val1 = get(); + c.v.a = 2; c.v.next.a = 2; A val2 = get(); + + assertEquals(val1.a, 2); + assertEquals(val2.a, 2); + } + + { + c.v = new A(); c.v.next = c.v; + c.v.a = 1; short val1 = get1(); + c.v.a = 2; short val2 = get1(); + c.v = new A(); c.v.next = c.v; + c.v.a = 3; short val3 = get1(); + + assertEquals(val1, 1); + assertEquals(val2, (isStableEnabled ? 1 : 2)); + assertEquals(val3, (isStableEnabled ? 1 : 3)); + } + } + } + /* ==================================================== */ + + static class NestedStableField2 { + static class A { + public @Stable short a; + public @Stable A left; + public A right; + } + + public @Stable A v; + + public static final NestedStableField2 c = new NestedStableField2(); + public static short get() { return c.v.left.left.left.a; } + public static short get1() { return c.v.left.left.right.left.a; } + + public static void test() throws Exception { + { + c.v = new A(); c.v.left = c.v.right = c.v; + c.v.a = 1; short val1 = get(); short val2 = get1(); + c.v.a = 2; short val3 = get(); short val4 = get1(); + + assertEquals(val1, 1); + assertEquals(val3, (isStableEnabled ? 1 : 2)); + + assertEquals(val2, 1); + assertEquals(val4, 2); + } + } + } + + /* ==================================================== */ + + static class NestedStableField3 { + static class A { + public @Stable short a; + public @Stable A[] left; + public A[] right; + } + + public @Stable A[] v; + + public static final NestedStableField3 c = new NestedStableField3(); + public static short get() { return c.v[0].left[1].left[0].left[1].a; } + public static short get1() { return c.v[1].left[0].left[1].right[0].left[1].a; } + + public static void test() throws Exception { + { + A elem = new A(); + c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v; + elem.a = 1; short val1 = get(); short val2 = get1(); + elem.a = 2; short val3 = get(); short val4 = get1(); + + assertEquals(val1, 1); + assertEquals(val3, (isStableEnabled ? 1 : 2)); + + assertEquals(val2, 1); + assertEquals(val4, 2); + } + } + } + + /* ==================================================== */ + // Auxiliary methods + static void assertEquals(int i, int j) { if (i != j) throw new AssertionError(i + " != " + j); } + static void assertTrue(boolean b) { if (!b) throw new AssertionError(); } + + static boolean failed = false; + + public static void run(Class test) { + Throwable ex = null; + System.out.print(test.getName()+": "); + try { + test.getMethod("test").invoke(null); + } catch (InvocationTargetException e) { + ex = e.getCause(); + } catch (Throwable e) { + ex = e; + } finally { + if (ex == null) { + System.out.println("PASSED"); + } else { + failed = true; + System.out.println("FAILED"); + ex.printStackTrace(System.out); + } + } + } + + static final boolean isStableEnabled; + static { + HotSpotDiagnosticMXBean diagnostic + = ManagementFactoryHelper.getDiagnosticMXBean(); + VMOption tmp; + try { + tmp = diagnostic.getVMOption("FoldStableValues"); + } catch (IllegalArgumentException e) { + tmp = null; + } + isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue())); + } +} diff --git a/hotspot/test/compiler/tiered/NonTieredLevelsTest.java b/hotspot/test/compiler/tiered/NonTieredLevelsTest.java index 715d32a8944..13411a0dd73 100644 --- a/hotspot/test/compiler/tiered/NonTieredLevelsTest.java +++ b/hotspot/test/compiler/tiered/NonTieredLevelsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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 @@ -70,6 +70,9 @@ public class NonTieredLevelsTest extends CompLevelsTest { @Override protected void test() throws Exception { + if (skipXcompOSR()) { + return; + } checkNotCompiled(); compile(); checkCompiled(); diff --git a/hotspot/test/compiler/tiered/TieredLevelsTest.java b/hotspot/test/compiler/tiered/TieredLevelsTest.java index 675a394498a..9fb2254d0b5 100644 --- a/hotspot/test/compiler/tiered/TieredLevelsTest.java +++ b/hotspot/test/compiler/tiered/TieredLevelsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +51,9 @@ public class TieredLevelsTest extends CompLevelsTest { @Override protected void test() throws Exception { + if (skipXcompOSR()) { + return; + } checkNotCompiled(); compile(); checkCompiled(); diff --git a/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java b/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java index 56b19b31713..4ec6e7b03af 100644 --- a/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java +++ b/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java @@ -25,7 +25,7 @@ * @test * @bug 8027571 * @summary meet of TopPTR exact array with constant array is not symmetric - * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestMeetTopArrayExactConstantArray + * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:TypeProfileLevel=222 -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestMeetTopArrayExactConstantArray * */ diff --git a/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java b/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java index 9579dce6e40..70d5566ad33 100644 --- a/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java +++ b/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java @@ -25,7 +25,7 @@ * @test * @bug 8027422 * @summary type methods shouldn't always operate on speculative part - * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestSpeculationFailedHigherEqual + * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:TypeProfileLevel=222 -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestSpeculationFailedHigherEqual * */ diff --git a/hotspot/test/compiler/types/TypeSpeculation.java b/hotspot/test/compiler/types/TypeSpeculation.java index 0a9c8e94d95..6f146b84ede 100644 --- a/hotspot/test/compiler/types/TypeSpeculation.java +++ b/hotspot/test/compiler/types/TypeSpeculation.java @@ -25,7 +25,7 @@ * @test * @bug 8024070 * @summary Test that type speculation doesn't cause incorrect execution - * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation TypeSpeculation + * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:TypeProfileLevel=222 -XX:+UseTypeSpeculation TypeSpeculation * */ diff --git a/hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java b/hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java index 11572672afe..fcdd592263d 100644 --- a/hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java +++ b/hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java @@ -25,7 +25,7 @@ * @test * @bug 8031752 * @summary speculative traps need to be cleaned up at GC - * @run main/othervm -XX:-TieredCompilation -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:TypeProfileLevel=222 -XX:CompileCommand=exclude,java.lang.reflect.Method::invoke -XX:CompileCommand=exclude,sun.reflect.DelegatingMethodAccessorImpl::invoke -Xmx1M TestSpecTrapClassUnloading + * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:+UseTypeSpeculation -XX:TypeProfileLevel=222 -XX:CompileCommand=exclude,java.lang.reflect.Method::invoke -XX:CompileCommand=exclude,sun.reflect.DelegatingMethodAccessorImpl::invoke -Xmx1M TestSpecTrapClassUnloading * */ diff --git a/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java b/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java index e47231e29f5..c199c2a6a67 100644 --- a/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java +++ b/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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 @@ -195,6 +195,29 @@ public abstract class CompilerWhiteBoxTest { printInfo(); } + /** + * Checks, that {@linkplain #method} is not compiled at the given compilation + * level or above. + * + * @param compLevel + * + * @throws RuntimeException if {@linkplain #method} is in compiler queue or + * is compiled, or if {@linkplain #method} has zero + * compilation level. + */ + + protected final void checkNotCompiled(int compLevel) { + if (WHITE_BOX.isMethodQueuedForCompilation(method)) { + throw new RuntimeException(method + " must not be in queue"); + } + if (WHITE_BOX.getMethodCompilationLevel(method, false) >= compLevel) { + throw new RuntimeException(method + " comp_level must be >= maxCompLevel"); + } + if (WHITE_BOX.getMethodCompilationLevel(method, true) >= compLevel) { + throw new RuntimeException(method + " osr_comp_level must be >= maxCompLevel"); + } + } + /** * Checks, that {@linkplain #method} is not compiled. * @@ -380,6 +403,20 @@ public abstract class CompilerWhiteBoxTest { /** flag for OSR test case */ boolean isOsr(); } + + /** + * @return {@code true} if the current test case is OSR and the mode is + * Xcomp, otherwise {@code false} + */ + protected boolean skipXcompOSR() { + boolean result = testCase.isOsr() + && CompilerWhiteBoxTest.MODE.startsWith("compiled "); + if (result && IS_VERBOSE) { + System.err.printf("Warning: %s is not applicable in %s%n", + testCase.name(), CompilerWhiteBoxTest.MODE); + } + return result; + } } enum SimpleTestCase implements CompilerWhiteBoxTest.TestCase { diff --git a/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java b/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java index 350c99c8f5c..ea4e36400eb 100644 --- a/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java +++ b/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,11 +51,8 @@ public class DeoptimizeAllTest extends CompilerWhiteBoxTest { */ @Override protected void test() throws Exception { - if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith( - "compiled ")) { - System.err.printf("Warning: %s is not applicable in %s%n", - testCase.name(), CompilerWhiteBoxTest.MODE); - return; + if (skipXcompOSR()) { + return; } compile(); checkCompiled(); diff --git a/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java b/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java index 565a5b91cd7..0b9ffd2d9db 100644 --- a/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java +++ b/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,11 +51,8 @@ public class DeoptimizeMethodTest extends CompilerWhiteBoxTest { */ @Override protected void test() throws Exception { - if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith( - "compiled ")) { - System.err.printf("Warning: %s is not applicable in %s%n", - testCase.name(), CompilerWhiteBoxTest.MODE); - return; + if (skipXcompOSR()) { + return; } compile(); checkCompiled(); diff --git a/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java b/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java index bd5916a7ca8..88e5cd835e4 100644 --- a/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java +++ b/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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 @@ -24,13 +24,17 @@ /* * @test IsMethodCompilableTest * @bug 8007270 8006683 8007288 8022832 - * @library /testlibrary /testlibrary/whitebox + * @library /testlibrary /testlibrary/whitebox /testlibrary/com/oracle/java/testlibrary * @build IsMethodCompilableTest * @run main ClassFileInstaller sun.hotspot.WhiteBox - * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* IsMethodCompilableTest + * @run main ClassFileInstaller com.oracle.java.testlibrary.Platform + * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:PerMethodRecompilationCutoff=3 -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* IsMethodCompilableTest * @summary testing of WB::isMethodCompilable() * @author igor.ignatyev@oracle.com */ + +import com.oracle.java.testlibrary.Platform; + public class IsMethodCompilableTest extends CompilerWhiteBoxTest { /** * Value of {@code -XX:PerMethodRecompilationCutoff} @@ -43,7 +47,7 @@ public class IsMethodCompilableTest extends CompilerWhiteBoxTest { if (tmp == -1) { PER_METHOD_RECOMPILATION_CUTOFF = -1 /* Inf */; } else { - PER_METHOD_RECOMPILATION_CUTOFF = 1 + (0xFFFFFFFFL & tmp); + PER_METHOD_RECOMPILATION_CUTOFF = (0xFFFFFFFFL & tmp); } } @@ -60,19 +64,23 @@ public class IsMethodCompilableTest extends CompilerWhiteBoxTest { /** * Tests {@code WB::isMethodCompilable()} by recompilation of tested method * 'PerMethodRecompilationCutoff' times and checks compilation status. Also - * checks that WB::clearMethodState() clears no-compilable flags. + * checks that WB::clearMethodState() clears no-compilable flags. Only + * applicable to c2 compiled methods. * * @throws Exception if one of the checks fails. */ @Override protected void test() throws Exception { - if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith( - "compiled ")) { - System.err.printf("Warning: %s is not applicable in %s%n", - testCase.name(), CompilerWhiteBoxTest.MODE); - return; + + // Only c2 compilations can be disabled through PerMethodRecompilationCutoff + if (!Platform.isServer()) { + return; } - if (!isCompilable()) { + + if (skipXcompOSR()) { + return; + } + if (!isCompilable(COMP_LEVEL_FULL_OPTIMIZATION)) { throw new RuntimeException(method + " must be compilable"); } System.out.println("PerMethodRecompilationCutoff = " @@ -83,39 +91,37 @@ public class IsMethodCompilableTest extends CompilerWhiteBoxTest { return; } - // deoptimize 'PerMethodRecompilationCutoff' times and clear state - for (long i = 0L, n = PER_METHOD_RECOMPILATION_CUTOFF - 1; i < n; ++i) { - compileAndDeoptimize(); + // deoptimize 'PerMethodRecompilationCutoff' times + for (long attempts = 0, successes = 0; + (successes < PER_METHOD_RECOMPILATION_CUTOFF) && + (attempts < PER_METHOD_RECOMPILATION_CUTOFF*2) && + isCompilable(COMP_LEVEL_FULL_OPTIMIZATION); attempts++) { + if (compileAndDeoptimize() == COMP_LEVEL_FULL_OPTIMIZATION) { + successes++; + } } - if (!testCase.isOsr() && !isCompilable()) { - // in osr test case count of deopt maybe more than iterations - throw new RuntimeException(method + " is not compilable after " - + (PER_METHOD_RECOMPILATION_CUTOFF - 1) + " iterations"); - } - WHITE_BOX.clearMethodState(method); - // deoptimize 'PerMethodRecompilationCutoff' + 1 times - long i; - for (i = 0L; i < PER_METHOD_RECOMPILATION_CUTOFF - && isCompilable(); ++i) { - compileAndDeoptimize(); - } - if (!testCase.isOsr() && i != PER_METHOD_RECOMPILATION_CUTOFF) { + if (!testCase.isOsr() && !isCompilable(COMP_LEVEL_FULL_OPTIMIZATION)) { // in osr test case count of deopt maybe more than iterations throw new RuntimeException(method + " is not compilable after " - + i + " iterations, but must only after " - + PER_METHOD_RECOMPILATION_CUTOFF); + + PER_METHOD_RECOMPILATION_CUTOFF + " iterations"); } - if (isCompilable()) { + + // Now compile once more + compileAndDeoptimize(); + + if (isCompilable(COMP_LEVEL_FULL_OPTIMIZATION)) { throw new RuntimeException(method + " is still compilable after " + PER_METHOD_RECOMPILATION_CUTOFF + " iterations"); } - compile(); checkNotCompiled(); + compile(); + waitBackgroundCompilation(); + checkNotCompiled(COMP_LEVEL_FULL_OPTIMIZATION); // WB.clearMethodState() must reset no-compilable flags WHITE_BOX.clearMethodState(method); - if (!isCompilable()) { + if (!isCompilable(COMP_LEVEL_FULL_OPTIMIZATION)) { throw new RuntimeException(method + " is not compilable after clearMethodState()"); } @@ -123,9 +129,11 @@ public class IsMethodCompilableTest extends CompilerWhiteBoxTest { checkCompiled(); } - private void compileAndDeoptimize() throws Exception { + private int compileAndDeoptimize() throws Exception { compile(); waitBackgroundCompilation(); + int compLevel = getCompLevel(); deoptimize(); + return compLevel; } } diff --git a/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java b/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java index cbd65da45bd..d6586879778 100644 --- a/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java +++ b/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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 @@ -53,11 +53,8 @@ public class MakeMethodNotCompilableTest extends CompilerWhiteBoxTest { */ @Override protected void test() throws Exception { - if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith( - "compiled ")) { - System.err.printf("Warning: %s is not applicable in %s%n", - testCase.name(), CompilerWhiteBoxTest.MODE); - return; + if (skipXcompOSR()) { + return; } checkNotCompiled(); if (!isCompilable()) { diff --git a/hotspot/test/runtime/6294277/SourceDebugExtension.java b/hotspot/test/runtime/6294277/SourceDebugExtension.java index e8cc8a8bb50..bb650e673ca 100644 --- a/hotspot/test/runtime/6294277/SourceDebugExtension.java +++ b/hotspot/test/runtime/6294277/SourceDebugExtension.java @@ -25,7 +25,7 @@ * @test * @bug 6294277 * @summary java -Xdebug crashes on SourceDebugExtension attribute larger than 64K - * @run main/othervm -Xdebug -Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=n SourceDebugExtension + * @run main/othervm -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n SourceDebugExtension */ import java.io.*; diff --git a/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java b/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java index e801d5b87df..bb68a6ff074 100644 --- a/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java +++ b/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java @@ -83,8 +83,8 @@ public class CompressedClassPointers { public static void heapBaseMinAddressTest() throws Exception { ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( "-XX:HeapBaseMinAddress=1m", - "-XX:+PrintMiscellaneous", - "-XX:+Verbose", + "-XX:+UnlockDiagnosticVMOptions", + "-XX:+PrintCompressedOopsMode", "-version"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); output.shouldContain("HeapBaseMinAddress must be at least"); diff --git a/hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java b/hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java new file mode 100644 index 00000000000..4f929c49af6 --- /dev/null +++ b/hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @summary Redefine a class with an UnresolvedClass reference in the constant pool. + * @bug 8035150 + * @library /testlibrary + * @build UnresolvedClassAgent com.oracle.java.testlibrary.ProcessTools com.oracle.java.testlibrary.OutputAnalyzer + * @run main TestRedefineWithUnresolvedClass + */ + +import java.io.File; +import java.util.Arrays; + +import com.oracle.java.testlibrary.OutputAnalyzer; +import com.oracle.java.testlibrary.ProcessTools; + +public class TestRedefineWithUnresolvedClass { + + final static String slash = File.separator; + final static String testClasses = System.getProperty("test.classes") + slash; + + public static void main(String... args) throws Throwable { + // delete this class to cause a NoClassDefFoundError + File unresolved = new File(testClasses, "MyUnresolvedClass.class"); + if (unresolved.exists() && !unresolved.delete()) { + throw new Exception("Could not delete: " + unresolved); + } + + // build the javaagent + buildJar("UnresolvedClassAgent"); + + // launch a VM with the javaagent + launchTest(); + } + + private static void buildJar(String jarName) throws Throwable { + String testSrc = System.getProperty("test.src", "?") + slash; + + String jarPath = String.format("%s%s.jar", testClasses, jarName); + String manifestPath = String.format("%s%s.mf", testSrc, jarName); + String className = String.format("%s.class", jarName); + + String[] args = new String[] {"-cfm", jarPath, manifestPath, "-C", testClasses, className}; + + System.out.println("Running jar " + Arrays.toString(args)); + sun.tools.jar.Main jarTool = new sun.tools.jar.Main(System.out, System.err, "jar"); + if (!jarTool.run(args)) { + throw new Exception("jar failed: args=" + Arrays.toString(args)); + } + } + + private static void launchTest() throws Throwable { + String[] args = { + "-javaagent:" + testClasses + "UnresolvedClassAgent.jar", + "-Dtest.classes=" + testClasses, + "UnresolvedClassAgent" }; + OutputAnalyzer output = ProcessTools.executeTestJvm(args); + output.shouldHaveExitValue(0); + } +} diff --git a/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.java b/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.java new file mode 100644 index 00000000000..efe7b25a1aa --- /dev/null +++ b/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.io.DataInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.lang.instrument.ClassDefinition; +import java.lang.instrument.Instrumentation; + +/* + * This class is present during compilation, but will be deleted before execution. + */ +class MyUnresolvedClass { + static void bar() { + } +} + +class MyRedefinedClass { + static void foo() { + MyUnresolvedClass.bar(); + } +} + +public class UnresolvedClassAgent { + public static void main(String... args) { + } + + public static void premain(String args, Instrumentation inst) throws Exception { + try { + MyRedefinedClass.foo(); + } catch(NoClassDefFoundError err) { + System.out.println("NoClassDefFoundError (expected)"); + } + + File f = new File(System.getProperty("test.classes"), "MyRedefinedClass.class"); + byte[] buf = new byte[(int)f.length()]; + try (DataInputStream dis = new DataInputStream(new FileInputStream(f))) { + dis.readFully(buf); + } + ClassDefinition cd = new ClassDefinition(MyRedefinedClass.class, buf); + inst.redefineClasses(new ClassDefinition[] {cd}); + + try { + MyRedefinedClass.foo(); + } catch(NoClassDefFoundError err) { + System.out.println("NoClassDefFoundError (expected again)"); + } + } +} diff --git a/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.mf b/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.mf new file mode 100644 index 00000000000..5570570cd11 --- /dev/null +++ b/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Premain-Class: UnresolvedClassAgent +Can-Redefine-Classes: true diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java index a2e5f82ad71..34b2f20f9a3 100644 --- a/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java +++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java @@ -28,6 +28,15 @@ public class Platform { private static final String dataModel = System.getProperty("sun.arch.data.model"); private static final String vmVersion = System.getProperty("java.vm.version"); private static final String osArch = System.getProperty("os.arch"); + private static final String vmName = System.getProperty("java.vm.name"); + + public static boolean isClient() { + return vmName.endsWith(" Client VM"); + } + + public static boolean isServer() { + return vmName.endsWith(" Server VM"); + } public static boolean is32bit() { return dataModel.equals("32"); diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java index 04293905824..649b7a1b38a 100644 --- a/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java +++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java @@ -163,10 +163,87 @@ public final class ProcessTools { // Reporting StringBuilder cmdLine = new StringBuilder(); - for (String cmd : args) - cmdLine.append(cmd).append(' '); + for (String cmd : args) { + cmdLine.append(cmd).append(' '); + } System.out.println("Command line: [" + cmdLine.toString() + "]"); return new ProcessBuilder(args.toArray(new String[args.size()])); } + + /** + * Executes a test jvm process, waits for it to finish and returns the process output. + * The default jvm options from jtreg, test.vm.opts and test.java.opts, are added. + * The java from the test.jdk is used to execute the command. + * + * The command line will be like: + * {test.jdk}/bin/java {test.vm.opts} {test.java.opts} cmds + * + * @param cmds User specifed arguments. + * @return The output from the process. + */ + public static OutputAnalyzer executeTestJvm(String... cmds) throws Throwable { + ProcessBuilder pb = createJavaProcessBuilder(Utils.addTestJavaOpts(cmds)); + return executeProcess(pb); + } + + /** + * Executes a process, waits for it to finish and returns the process output. + * @param pb The ProcessBuilder to execute. + * @return The output from the process. + */ + public static OutputAnalyzer executeProcess(ProcessBuilder pb) throws Throwable { + OutputAnalyzer output = null; + try { + output = new OutputAnalyzer(pb.start()); + return output; + } catch (Throwable t) { + System.out.println("executeProcess() failed: " + t); + throw t; + } finally { + System.out.println(getProcessLog(pb, output)); + } + } + + /** + * Executes a process, waits for it to finish and returns the process output. + * @param cmds The command line to execute. + * @return The output from the process. + */ + public static OutputAnalyzer executeProcess(String... cmds) throws Throwable { + return executeProcess(new ProcessBuilder(cmds)); + } + + /** + * Used to log command line, stdout, stderr and exit code from an executed process. + * @param pb The executed process. + * @param output The output from the process. + */ + public static String getProcessLog(ProcessBuilder pb, OutputAnalyzer output) { + String stderr = output == null ? "null" : output.getStderr(); + String stdout = output == null ? "null" : output.getStdout(); + String exitValue = output == null ? "null": Integer.toString(output.getExitValue()); + StringBuilder logMsg = new StringBuilder(); + final String nl = System.getProperty("line.separator"); + logMsg.append("--- ProcessLog ---" + nl); + logMsg.append("cmd: " + getCommandLine(pb) + nl); + logMsg.append("exitvalue: " + exitValue + nl); + logMsg.append("stderr: " + stderr + nl); + logMsg.append("stdout: " + stdout + nl); + return logMsg.toString(); + } + + /** + * @return The full command line for the ProcessBuilder. + */ + public static String getCommandLine(ProcessBuilder pb) { + if (pb == null) { + return "null"; + } + StringBuilder cmd = new StringBuilder(); + for (String s : pb.command()) { + cmd.append(s).append(" "); + } + return cmd.toString().trim(); + } } diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/Utils.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Utils.java new file mode 100644 index 00000000000..a0031e706ec --- /dev/null +++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Utils.java @@ -0,0 +1,263 @@ +/* + * Copyright (c) 2013, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package com.oracle.java.testlibrary; + +import static com.oracle.java.testlibrary.Asserts.assertTrue; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.net.InetAddress; +import java.net.ServerSocket; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Collections; +import java.util.regex.Pattern; +import java.util.regex.Matcher; + +/** + * Common library for various test helper functions. + */ +public final class Utils { + + /** + * Returns the sequence used by operating system to separate lines. + */ + public static final String NEW_LINE = System.getProperty("line.separator"); + + /** + * Returns the value of 'test.vm.opts'system property. + */ + public static final String VM_OPTIONS = System.getProperty("test.vm.opts", "").trim(); + + /** + * Returns the value of 'test.java.opts'system property. + */ + public static final String JAVA_OPTIONS = System.getProperty("test.java.opts", "").trim(); + + /** + * Returns the value of 'test.timeout.factor' system property + * converted to {@code double}. + */ + public static final double TIMEOUT_FACTOR; + static { + String toFactor = System.getProperty("test.timeout.factor", "1.0"); + TIMEOUT_FACTOR = Double.parseDouble(toFactor); + } + + private Utils() { + // Private constructor to prevent class instantiation + } + + /** + * Returns the list of VM options. + * + * @return List of VM options + */ + public static List getVmOptions() { + return Arrays.asList(safeSplitString(VM_OPTIONS)); + } + + /** + * Returns the list of VM options with -J prefix. + * + * @return The list of VM options with -J prefix + */ + public static List getForwardVmOptions() { + String[] opts = safeSplitString(VM_OPTIONS); + for (int i = 0; i < opts.length; i++) { + opts[i] = "-J" + opts[i]; + } + return Arrays.asList(opts); + } + + /** + * Returns the default JTReg arguments for a jvm running a test. + * This is the combination of JTReg arguments test.vm.opts and test.java.opts. + * @return An array of options, or an empty array if no opptions. + */ + public static String[] getTestJavaOpts() { + List opts = new ArrayList(); + Collections.addAll(opts, safeSplitString(VM_OPTIONS)); + Collections.addAll(opts, safeSplitString(JAVA_OPTIONS)); + return opts.toArray(new String[0]); + } + + /** + * Combines given arguments with default JTReg arguments for a jvm running a test. + * This is the combination of JTReg arguments test.vm.opts and test.java.opts + * @return The combination of JTReg test java options and user args. + */ + public static String[] addTestJavaOpts(String... userArgs) { + List opts = new ArrayList(); + Collections.addAll(opts, getTestJavaOpts()); + Collections.addAll(opts, userArgs); + return opts.toArray(new String[0]); + } + + /** + * Splits a string by white space. + * Works like String.split(), but returns an empty array + * if the string is null or empty. + */ + private static String[] safeSplitString(String s) { + if (s == null || s.trim().isEmpty()) { + return new String[] {}; + } + return s.trim().split("\\s+"); + } + + /** + * @return The full command line for the ProcessBuilder. + */ + public static String getCommandLine(ProcessBuilder pb) { + StringBuilder cmd = new StringBuilder(); + for (String s : pb.command()) { + cmd.append(s).append(" "); + } + return cmd.toString(); + } + + /** + * Returns the free port on the local host. + * The function will spin until a valid port number is found. + * + * @return The port number + * @throws InterruptedException if any thread has interrupted the current thread + * @throws IOException if an I/O error occurs when opening the socket + */ + public static int getFreePort() throws InterruptedException, IOException { + int port = -1; + + while (port <= 0) { + Thread.sleep(100); + + ServerSocket serverSocket = null; + try { + serverSocket = new ServerSocket(0); + port = serverSocket.getLocalPort(); + } finally { + serverSocket.close(); + } + } + + return port; + } + + /** + * Returns the name of the local host. + * + * @return The host name + * @throws UnknownHostException if IP address of a host could not be determined + */ + public static String getHostname() throws UnknownHostException { + InetAddress inetAddress = InetAddress.getLocalHost(); + String hostName = inetAddress.getHostName(); + + assertTrue((hostName != null && !hostName.isEmpty()), + "Cannot get hostname"); + + return hostName; + } + + /** + * Uses "jcmd -l" to search for a jvm pid. This function will wait + * forever (until jtreg timeout) for the pid to be found. + * @param key Regular expression to search for + * @return The found pid. + */ + public static int waitForJvmPid(String key) throws Throwable { + final long iterationSleepMillis = 250; + System.out.println("waitForJvmPid: Waiting for key '" + key + "'"); + System.out.flush(); + while (true) { + int pid = tryFindJvmPid(key); + if (pid >= 0) { + return pid; + } + Thread.sleep(iterationSleepMillis); + } + } + + /** + * Searches for a jvm pid in the output from "jcmd -l". + * + * Example output from jcmd is: + * 12498 sun.tools.jcmd.JCmd -l + * 12254 /tmp/jdk8/tl/jdk/JTwork/classes/com/sun/tools/attach/Application.jar + * + * @param key A regular expression to search for. + * @return The found pid, or -1 if Enot found. + * @throws Exception If multiple matching jvms are found. + */ + public static int tryFindJvmPid(String key) throws Throwable { + OutputAnalyzer output = null; + try { + JDKToolLauncher jcmdLauncher = JDKToolLauncher.create("jcmd"); + jcmdLauncher.addToolArg("-l"); + output = ProcessTools.executeProcess(jcmdLauncher.getCommand()); + output.shouldHaveExitValue(0); + + // Search for a line starting with numbers (pid), follwed by the key. + Pattern pattern = Pattern.compile("([0-9]+)\\s.*(" + key + ").*\\r?\\n"); + Matcher matcher = pattern.matcher(output.getStdout()); + + int pid = -1; + if (matcher.find()) { + pid = Integer.parseInt(matcher.group(1)); + System.out.println("findJvmPid.pid: " + pid); + if (matcher.find()) { + throw new Exception("Found multiple JVM pids for key: " + key); + } + } + return pid; + } catch (Throwable t) { + System.out.println(String.format("Utils.findJvmPid(%s) failed: %s", key, t)); + throw t; + } + } + + /** + * Returns file content as a list of strings + * + * @param file File to operate on + * @return List of strings + * @throws IOException + */ + public static List fileAsList(File file) throws IOException { + assertTrue(file.exists() && file.isFile(), + file.getAbsolutePath() + " does not exist or not a file"); + List output = new ArrayList<>(); + try (BufferedReader reader = new BufferedReader(new FileReader(file.getAbsolutePath()))) { + while (reader.ready()) { + output.add(reader.readLine().replace(NEW_LINE, "")); + } + } + return output; + } + +} diff --git a/jaxp/.hgtags b/jaxp/.hgtags index 89dfe4cfb54..81af574266a 100644 --- a/jaxp/.hgtags +++ b/jaxp/.hgtags @@ -246,3 +246,5 @@ e4e5069250e717defcb556e2f6be291460988c51 jdk8-b118 e5256f530a9b5f2d677ca245de44a617ffb58f52 jdk9-b01 02f60a253e15240087c043bad77a106792e4d56a jdk9-b02 fb92ed0399424193f444489ad49a16748816dc12 jdk9-b03 +2846d8fc31490897817a122a668af4f44fc913d0 jdk9-b04 +b92a20e303d24c74078888cd7084b14d7626d48f jdk9-b05 diff --git a/jaxp/make/BuildJaxp.gmk b/jaxp/make/BuildJaxp.gmk index 7950b0cf8a1..57c184bc4ee 100644 --- a/jaxp/make/BuildJaxp.gmk +++ b/jaxp/make/BuildJaxp.gmk @@ -45,27 +45,11 @@ $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \ $(eval $(call SetupJavaCompilation,BUILD_JAXP, \ SETUP := GENERATE_NEWBYTECODE_DEBUG, \ SRC := $(JAXP_TOPDIR)/src, \ + CLEAN := .properties, \ BIN := $(JAXP_OUTPUTDIR)/classes, \ - SRCZIP := $(JAXP_OUTPUTDIR)/dist/lib/src.zip)) - -# Imitate the property cleaning mechanism in the old build. This will likely be replaced -# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build -# for now, even though it actually breaks properties containing # in the value. -# Using nawk to avoid solaris sed. -$(JAXP_OUTPUTDIR)/classes/%.properties: $(JAXP_TOPDIR)/src/%.properties - $(MKDIR) -p $(@D) - $(RM) $@ $@.tmp - $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp - $(MV) $@.tmp $@ - -SRC_PROP_FILES := $(shell $(FIND) $(JAXP_TOPDIR)/src -name "*.properties") -TARGET_PROP_FILES := $(patsubst $(JAXP_TOPDIR)/src/%, $(JAXP_OUTPUTDIR)/classes/%, $(SRC_PROP_FILES)) - -$(eval $(call SetupArchive,ARCHIVE_JAXP, $(BUILD_JAXP) $(TARGET_PROP_FILES), \ - SRCS := $(JAXP_OUTPUTDIR)/classes, \ - SUFFIXES := .class .properties, \ + SRCZIP := $(JAXP_OUTPUTDIR)/dist/lib/src.zip, \ JAR := $(JAXP_OUTPUTDIR)/dist/lib/classes.jar)) -all: $(JAXP_OUTPUTDIR)/dist/lib/classes.jar $(JAXP_OUTPUTDIR)/dist/lib/src.zip +all: $(BUILD_JAXP) .PHONY: default all diff --git a/jaxws/.hgtags b/jaxws/.hgtags index 8e843fe4b59..27f4734f0bd 100644 --- a/jaxws/.hgtags +++ b/jaxws/.hgtags @@ -249,3 +249,5 @@ bc622ba563f9316f981c11c3a260f4c3fdc5ef07 jdk8-b122 9c9fabbcd3d526d7ca29165169155f49a107533a jdk9-b01 efe2bc258c78af49de9517a4a5699d3a2e630c44 jdk9-b02 1cd9786257ed4f82a3371fd606b162e5bb6fcd81 jdk9-b03 +da44a8bdf1f3fdd518e7d785d60cc1b15983b176 jdk9-b04 +eae966c8133fec0a8bf9e16d1274a4ede3c0fb52 jdk9-b05 diff --git a/jaxws/make/BuildJaxws.gmk b/jaxws/make/BuildJaxws.gmk index 204dd47fb53..1c159965dd3 100644 --- a/jaxws/make/BuildJaxws.gmk +++ b/jaxws/make/BuildJaxws.gmk @@ -42,11 +42,10 @@ $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \ SERVER_DIR := $(SJAVAC_SERVER_DIR), \ SERVER_JVM := $(SJAVAC_SERVER_JAVA))) -# Dummy here is needed to trigger copying of META-INF $(eval $(call SetupJavaCompilation,BUILD_JAF, \ SETUP := GENERATE_NEWBYTECODE_DEBUG, \ SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes, \ - COPY := "dummy", \ + CLEAN := .properties, \ BIN := $(JAXWS_OUTPUTDIR)/jaf_classes)) $(eval $(call SetupJavaCompilation,BUILD_JAXWS, \ @@ -57,6 +56,7 @@ $(eval $(call SetupJavaCompilation,BUILD_JAXWS, \ COPY_FILES := $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \ $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java \ $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/jaxws-tubes-default.xml, \ + CLEAN := .properties, \ ADD_JAVAC_FLAGS = -Xbootclasspath/p:$(OUTPUT_ROOT)/jaxp/dist/lib/classes.jar)) $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin: \ @@ -73,30 +73,6 @@ $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Pl BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \ $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin -# Imitate the property cleaning mechanism in the old build. This will likely be replaced -# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build -# for now, even though it actually breaks properties containing # in the value. -# Using nawk to avoid solaris sed. -$(JAXWS_OUTPUTDIR)/jaxws_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaxws_classes/%.properties - $(MKDIR) -p $(@D) - $(RM) $@ $@.tmp - $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp - $(MV) $@.tmp $@ - -JAXWS_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaxws_classes -name "*.properties") -TARGET_PROP_FILES := $(patsubst $(JAXWS_TOPDIR)/src/share/jaxws_classes/%, \ - $(JAXWS_OUTPUTDIR)/jaxws_classes/%, $(JAXWS_SRC_PROP_FILES)) - -$(JAXWS_OUTPUTDIR)/jaf_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaf_classes/%.properties - $(MKDIR) -p $(@D) - $(RM) $@ $@.tmp - $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp - $(MV) $@.tmp $@ - -JAF_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaf_classes -name "*.properties") -TARGET_PROP_FILES += $(patsubst $(JAXWS_TOPDIR)/src/share/jaf_classes/%, \ - $(JAXWS_OUTPUTDIR)/jaf_classes/%, $(JAF_SRC_PROP_FILES)) - $(eval $(call SetupArchive,ARCHIVE_JAXWS, $(BUILD_JAXWS) $(BUILD_JAF) $(TARGET_PROP_FILES), \ SRCS := $(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes, \ SUFFIXES := .class .properties .xsd .xml .java \ diff --git a/jdk/.hgtags b/jdk/.hgtags index 950784a2233..e4c040d37a1 100644 --- a/jdk/.hgtags +++ b/jdk/.hgtags @@ -246,3 +246,5 @@ d31cd980e1da31fa496a359caaf1a165aeb5791a jdk8-b120 3b4ac8d1b76fc6bec9815f0ab714f15b552e4c7b jdk9-b01 8c8275426a3207d91393354f7a7f9bc362ec25cf jdk9-b02 4111af6151ed8ca8e3f5603c69729a68427e1d5b jdk9-b03 +627deed79b595a4789fc9151455b663a47381257 jdk9-b04 +263198a1d8f1f4cb97d35f40c61704b08ebd3686 jdk9-b05 diff --git a/jdk/make/CompileJavaClasses.gmk b/jdk/make/CompileJavaClasses.gmk index 3221f4ad9fa..ec003f58c20 100644 --- a/jdk/make/CompileJavaClasses.gmk +++ b/jdk/make/CompileJavaClasses.gmk @@ -267,6 +267,20 @@ ifndef OPENJDK $(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes endif +# No SCTP implementation on Mac OS X or AIX. These classes should be excluded. +SCTP_IMPL_CLASSES = \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/AssociationChange.java\ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/AssociationImpl.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/PeerAddrChange.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/ResultContainer.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpNotification.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SendFailed.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/Shutdown.java + MACOSX_SRC_DIRS := ifeq ($(OPENJDK_TARGET_OS), macosx) MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes @@ -278,9 +292,7 @@ ifeq ($(OPENJDK_TARGET_OS), macosx) $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java \ $(JDK_TOPDIR)/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \ $(JDK_TOPDIR)/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java \ - $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \ - $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \ - $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java + EXFILES += $(SCTP_IMPL_CLASSES) endif @@ -302,9 +314,7 @@ ifeq ($(OPENJDK_TARGET_OS),aix) AIX_SRC_DIRS += $(JDK_TOPDIR)/src/aix/classes # these files are duplicated in AIX_SRC_DIRS - EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \ - $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \ - $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java + EXFILES += $(SCTP_IMPL_CLASSES) endif # The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying diff --git a/jdk/make/Images.gmk b/jdk/make/Images.gmk index 97898672211..5a3aa249114 100644 --- a/jdk/make/Images.gmk +++ b/jdk/make/Images.gmk @@ -301,10 +301,15 @@ $(JDK_IMAGE_DIR)/jre/lib/ext/meta-index: $(JDKJRE_LIB_TARGETS) ################################################################################ # /man dir +# +# All variables in this section are assigned with simple =, without :, to enable +# more selective overriding from the custom version of this file. +# # Avoid evaluating this whole section on windows for speed and stability ifneq ($(OPENJDK_TARGET_OS), windows) - JRE_MAN_PAGES := \ + JRE_MAN_PAGES = \ java.1 \ + jjs.1 \ keytool.1 \ orbd.1 \ pack200.1 \ @@ -335,6 +340,7 @@ ifneq ($(OPENJDK_TARGET_OS), windows) jconsole.1 \ jcmd.1 \ jdb.1 \ + jdeps.1 \ jhat.1 \ jinfo.1 \ jmap.1 \ @@ -352,29 +358,22 @@ ifneq ($(OPENJDK_TARGET_OS), windows) wsimport.1 \ xjc.1 - ifndef OPENJDK - JDK_MAN_PAGES += jvisualvm.1 - endif - # This variable is potentially overridden in the closed makefile. MAN_SRC_BASEDIR ?= $(JDK_TOPDIR)/src ifeq ($(OPENJDK_TARGET_OS), linux) - MAN_SRC_DIR := $(MAN_SRC_BASEDIR)/linux/doc - MAN1_SUBDIR := man + MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc + MAN1_SUBDIR = man endif ifeq ($(OPENJDK_TARGET_OS), solaris) - MAN_SRC_DIR := $(MAN_SRC_BASEDIR)/solaris/doc - MAN1_SUBDIR := sun/man/man1 + MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc + MAN1_SUBDIR = sun/man/man1 endif ifeq ($(OPENJDK_TARGET_OS), macosx) - MAN_SRC_DIR := $(MAN_SRC_BASEDIR)/bsd/doc - MAN1_SUBDIR := man - JDK_MAN_PAGES := $(filter-out jcmd.1, $(JDK_MAN_PAGES)) - JDK_MAN_PAGES := $(filter-out jvisualvm.1, $(JDK_MAN_PAGES)) + MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc + MAN1_SUBDIR = man endif - $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) $(install-file) @@ -426,12 +425,6 @@ ifneq ($(OPENJDK_TARGET_OS), windows) $(install-file) endif - # Old build creates empty man page for this, mimicing behaviour. - $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/jcmd.1 $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/jcmd.1 $(JDK_IMAGE_DIR)/man/ja/man1/jcmd.1: - $(ECHO) $(LOG_INFO) Creating dummy $(patsubst $(OUTPUT_ROOT)/%,%,$@) - $(MKDIR) -p $(@D) - $(TOUCH) $@ - ifeq ($(OPENJDK_TARGET_OS), linux) $(JRE_IMAGE_DIR)/man/ja: $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@) @@ -453,33 +446,33 @@ ifneq ($(OPENJDK_TARGET_OS), windows) endif ifeq ($(OPENJDK_TARGET_OS), linux) - JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ + JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ $(JRE_IMAGE_DIR)/man/ja - JDK_MAN_PAGE_LIST := $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ + JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ - $(JDK_IMAGE_DIR)/man/ja + $(JDK_IMAGE_DIR)/man/ja endif ifeq ($(OPENJDK_TARGET_OS), solaris) - JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ + JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \ $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES)) - JDK_MAN_PAGE_LIST := $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ + JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ $(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \ $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES)) endif ifeq ($(OPENJDK_TARGET_OS), macosx) - JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ + JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ $(JRE_IMAGE_DIR)/man/ja - JDK_MAN_PAGE_LIST := $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ + JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ $(JDK_IMAGE_DIR)/man/ja endif @@ -733,6 +726,13 @@ ifneq ($(POST_STRIP_CMD), ) endif +################################################################################ + +# Include the custom makefile right here, after all variables have been defined +# so that they may be overridden, but before the main targets are declared, so +# that overriding has an effect. +$(eval $(call IncludeCustomExtension, jdk, Images.gmk)) + ################################################################################ # Main targets @@ -782,6 +782,3 @@ endif # Profile ################################################################################ .PHONY: default images jre-image jdk-image - -# Hook to include the corresponding custom file, if present. -$(eval $(call IncludeCustomExtension, jdk, Images.gmk)) diff --git a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk index 9f384731b4b..de86e3f86a4 100644 --- a/jdk/make/lib/Awt2dLibraries.gmk +++ b/jdk/make/lib/Awt2dLibraries.gmk @@ -26,9 +26,6 @@ # Hook to include the corresponding custom file, if present. $(eval $(call IncludeCustomExtension, jdk, lib/Awt2dLibraries.gmk)) -# Openwin is defined on Solaris. -OPENWIN_LIB := $(OPENWIN_HOME)/lib - WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib ########################################################################################## @@ -481,7 +478,6 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \ ASFLAGS := $(LIBAWT_ASFLAGS), \ MAPFILE := $(LIBAWT_MAPFILE), \ LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \ - LDFLAGS_solaris := -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \ LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \ LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \ LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\ @@ -638,14 +634,7 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),) $(X_CFLAGS), \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ - $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS), \ - LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN) \ - $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ - LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ - -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ - -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ - -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ - -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ + $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS) \ $(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \ @@ -976,7 +965,7 @@ else # OPENJDK_TARGET_OS not windows MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ - LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \ + LDFLAGS_solaris := $(X_LIBS), \ LDFLAGS_SUFFIX_linux := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \ LDFLAGS_SUFFIX_aix := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\ LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \ @@ -1074,11 +1063,11 @@ ifndef OPENJDK CFLAGS := $(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/javavm/export \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \ - -I$(OPENWIN_HOME)/include, \ + $(X_CFLAGS), \ MAPFILE := $(SUNWJDGA_MAPFILE), \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ - LDFLAGS_SUFFIX := -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \ + LDFLAGS_SUFFIX := $(X_LIBS) -ldga -lX11 $(LIBDL) -lc, \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunwjdga, \ DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) @@ -1173,9 +1162,7 @@ ifeq ($(BUILD_HEADLESS), true) LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ - LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..) \ - -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ - -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \ + LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \ REORDER := $(LIBAWT_HEADLESS_REORDER), \ LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \ @@ -1236,8 +1223,6 @@ ifndef BUILD_HEADLESS_ONLY else ifeq ($(OPENJDK_TARGET_OS), windows) LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32 - else ifeq ($(OPENJDK_TARGET_OS), solaris) - LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions else LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS) endif @@ -1258,10 +1243,7 @@ ifndef BUILD_HEADLESS_ONLY -framework JavaNativeFoundation else ifeq ($(OPENJDK_TARGET_OS), windows) LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll - else ifeq ($(OPENJDK_TARGET_OS), solaris) - # Solaris still uses OPENWIN_LIB .. - LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread - else # .. all other Unixes can use X_LIBS + else LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread endif diff --git a/jdk/src/aix/native/sun/tools/attach/AixVirtualMachine.c b/jdk/src/aix/native/sun/tools/attach/AixVirtualMachine.c index a5ba1605132..7422427803f 100644 --- a/jdk/src/aix/native/sun/tools/attach/AixVirtualMachine.c +++ b/jdk/src/aix/native/sun/tools/attach/AixVirtualMachine.c @@ -1,6 +1,6 @@ /* - * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2013 SAP AG. All rights reserved. + * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright 2014 SAP AG. 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 @@ -92,10 +92,10 @@ JNIEXPORT void JNICALL Java_sun_tools_attach_AixVirtualMachine_connect struct sockaddr_un addr; int err = 0; - /* added missing structure initialization */ - memset(&addr,0, sizeof(addr)); + memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - strcpy(addr.sun_path, p); + /* strncpy is safe because addr.sun_path was zero-initialized before. */ + strncpy(addr.sun_path, p, sizeof(addr.sun_path) - 1); /* We must call bind with the actual socketaddr length. This is obligatory for AS400. */ if (connect(fd, (struct sockaddr*)&addr, SUN_LEN(&addr)) == -1) { err = errno; diff --git a/jdk/src/bsd/doc/man/ja/jcmd.1 b/jdk/src/bsd/doc/man/ja/jcmd.1 new file mode 100644 index 00000000000..a281da552eb --- /dev/null +++ b/jdk/src/bsd/doc/man/ja/jcmd.1 @@ -0,0 +1,24 @@ +." Copyright (c) 2014, 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 +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." 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 +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +." or visit www.oracle.com if you need additional information or have any +." questions. +." +.TH jcmd 1 "07 May 2011" + +.LP diff --git a/jdk/src/bsd/doc/man/ja/jdeps.1 b/jdk/src/bsd/doc/man/ja/jdeps.1 new file mode 100644 index 00000000000..58949352aa3 --- /dev/null +++ b/jdk/src/bsd/doc/man/ja/jdeps.1 @@ -0,0 +1,24 @@ +." Copyright (c) 2014, 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 +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." 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 +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +." or visit www.oracle.com if you need additional information or have any +." questions. +." +.TH jdeps 1 "07 May 2011" + +.LP diff --git a/jdk/src/bsd/doc/man/ja/jjs.1 b/jdk/src/bsd/doc/man/ja/jjs.1 new file mode 100644 index 00000000000..c57b30ab161 --- /dev/null +++ b/jdk/src/bsd/doc/man/ja/jjs.1 @@ -0,0 +1,24 @@ +." Copyright (c) 2014, 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 +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." 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 +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +." or visit www.oracle.com if you need additional information or have any +." questions. +." +.TH jjs 1 "07 May 2011" + +.LP diff --git a/jdk/src/bsd/doc/man/ja/kinit.1 b/jdk/src/bsd/doc/man/ja/kinit.1 deleted file mode 100644 index e78964daf58..00000000000 --- a/jdk/src/bsd/doc/man/ja/kinit.1 +++ /dev/null @@ -1,25 +0,0 @@ -'\" t -.\" -.\" Copyright 2002-2004 Sun Microsystems, Inc. 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 -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" 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 -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -.\" or visit www.oracle.com if you need additional information or have any -.\" questions. -.\" -.\" -.\" diff --git a/jdk/src/bsd/doc/man/ja/klist.1 b/jdk/src/bsd/doc/man/ja/klist.1 deleted file mode 100644 index 5ab393b3cc9..00000000000 --- a/jdk/src/bsd/doc/man/ja/klist.1 +++ /dev/null @@ -1,24 +0,0 @@ -'\" t -.\" -.\" Copyright 2002-2004 Sun Microsystems, Inc. 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 -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" 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 -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -.\" or visit www.oracle.com if you need additional information or have any -.\" questions. -.\" -.\" diff --git a/jdk/src/bsd/doc/man/ja/ktab.1 b/jdk/src/bsd/doc/man/ja/ktab.1 deleted file mode 100644 index 5ab393b3cc9..00000000000 --- a/jdk/src/bsd/doc/man/ja/ktab.1 +++ /dev/null @@ -1,24 +0,0 @@ -'\" t -.\" -.\" Copyright 2002-2004 Sun Microsystems, Inc. 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 -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" 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 -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -.\" or visit www.oracle.com if you need additional information or have any -.\" questions. -.\" -.\" diff --git a/jdk/src/linux/doc/man/ja/appletviewer.1 b/jdk/src/linux/doc/man/ja/appletviewer.1 index 5aa0ad3d1fe..76609bfd263 100644 --- a/jdk/src/linux/doc/man/ja/appletviewer.1 +++ b/jdk/src/linux/doc/man/ja/appletviewer.1 @@ -1,66 +1,105 @@ -." Copyright (c) 1995, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH appletviewer 1 "07 May 2011" - -.LP -.SH "̾Á°" -appletviewer \- Java ¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢ -.LP -.LP -\f3appletviewer\fP ¥³¥Þ¥ó¥É¤Ï Web ¥Ö¥é¥¦¥¶¤Î³°¤Ç¥¢¥×¥ì¥Ã¥È¤ò¼Â¹Ô¤µ¤»¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP -.LP -\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ... -.LP -.SH "ÀâÌÀ" -.LP -.LP -\f3appletviewer\fP ¥³¥Þ¥ó¥É¤Ï \f2urls\fP ¤Ë»ØÄꤵ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¢¤ë¤¤¤Ï¥ê¥½¡¼¥¹¤ÈÀܳ¤·¤Æ¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤¬»²¾È¤¹¤ë¤½¤ì¤¾¤ì¤Î¥¢¥×¥ì¥Ã¥È¤òÆÈ¼«¤Î¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤·¤Þ¤¹¡£Ãí: \f2urls\fP ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¬¡¢\f2OBJECT\fP¡¢\f2EMBED\fP¡¢¤Þ¤¿¤Ï \f2APPLET\fP ¥¿¥°¤Ç¤É¤Î¥¢¥×¥ì¥Ã¥È¤â»²¾È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3appletviewer\fP ¤Ï²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£\f3appletviewer\fP ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë HTML ¥¿¥°¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢¤Î¥¿¥°¡×\fP @ +'\" t +.\" Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: appletviewer +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "appletviewer" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +appletviewer \- Web¥Ö¥é¥¦¥¶¤Î³°Â¦¤Ç¥¢¥×¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIappletviewer\fR [\fIoptions\fR] \fIurl\fR\&.\&.\&. .fi -http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f3Ãí:\fP \f3appletviewer\fP ¤Ï¡¢RFC2396 ¤Çµ¬Äꤵ¤ì¤¿¥¨¥¹¥±¡¼¥×µ¡¹½¤Ë½¾¤Ã¤ÆÉ乿²½¤µ¤ì¤¿ URL ¤òɬÍפȤ·¤Þ¤¹¡£¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï¡¢É乿²½¤µ¤ì¤¿ URL ¤À¤±¤Ç¤¹¡£¤¿¤À¤·¡¢¥Õ¥¡¥¤¥ë̾¤Ë¤Ä¤¤¤Æ¤Ï¡¢RFC2396 ¤Ë»ØÄꤵ¤ì¤¿ÊýË¡¤ÇÉ乿²½¤ò²ò½ü¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-debug -Java ¥Ç¥Ð¥Ã¥¬ jdb(1) ¤Ç¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥ÈÃæ¤Î¥¢¥×¥ì¥Ã¥È¤ò¥Ç¥Ð¥Ã¥°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-encoding \ \ encoding name -ÆþÎÏ HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Jjavaoption -ʸ»úÎó \f2javaoption\fP ¤Ï¡¢appletviewer ¤ò¼Â¹Ô¤¹¤ë Java ¥¤¥ó¥¿¥×¥ê¥¿¤Ë 1 ¤Ä¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£°ú¿ô¤Ë¥¹¥Ú¡¼¥¹¤ò´Þ¤á¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£Ê£¿ô¤Î°ú¿ô¤Ï¡¢³Æ°ú¿ô¤Î¤¹¤Ù¤Æ¤òÀÜÆ¬¼­ \f3\-J\fP ¤Ç»Ï¤á¤ë¤³¤È¤Ë¤è¤ê¶èʬ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼Â¹Ô´Ä¶­¡¢¤Þ¤¿¤Ï¥á¥â¥ê¡¼¤ÎÍøÍѤËÍ­¸ú¤Ç¤¹¡£ +.if n \{\ .RE +.\} +.PP +\fIoptions\fR +.RS 4 +¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIurl\fR +.RS 4 +ɽ¼¨¤¹¤ë¥É¥­¥å¥á¥ó¥È¤Þ¤¿¤Ï¥ê¥½¡¼¥¹¤Î¾ì½ê¡£¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿Ê£¿ô¤ÎURL¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ï\fIurls\fR¤Ë»ØÄꤵ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¢¤ë¤¤¤Ï¥ê¥½¡¼¥¹¤ÈÀܳ¤·¤Æ¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤¬»²¾È¤¹¤ë¤½¤ì¤¾¤ì¤Î¥¢¥×¥ì¥Ã¥È¤òÆÈ¼«¤Î¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤·¤Þ¤¹¡£urls¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¬¡¢\fIOBJECT\fR¡¢\fIEMBED\fR¤Þ¤¿¤Ï\fIAPPLET\fR¥¿¥°¤Ç¤É¤Î¥¢¥×¥ì¥Ã¥È¤â»²¾È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ï²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëHTML¥¿¥°¤Î¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/appletviewertags\&.html¤Ë¤¢¤ë +¥¢¥×¥ì¥Ã¥È¡¦¥Ó¥å¡¼¥¢¡¦¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ï¡¢RFC2396¤ÇÄêµÁ¤µ¤ì¤¿¥¨¥¹¥±¡¼¥×¡¦¥á¥«¥Ë¥º¥à¤Ë½¾¤Ã¤Æ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿URL¤òɬÍפȤ·¤Þ¤¹¡£¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï¡¢¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿URL¤Î¤ß¤Ç¤¹¡£¤¿¤À¤·¡¢¥Õ¥¡¥¤¥ë̾¤Ë¤Ä¤¤¤Æ¤Ï¡¢RFC2396¤Î»ÅÍͤ˽¾¤Ã¤Æ¥¨¥ó¥³¡¼¥É¤ò²ò½ü¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +The +\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ï³«È¯ÀìÍѤǤ¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/samples/aboutCodeSamples\&.html¤Ë¤¢¤ë +¥µ¥ó¥×¥ë/¥Æ¥¹¥È¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ª¤è¤Ó¥³¡¼¥É¤Ë¤Ä¤¤¤Æ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-debug +.RS 4 +\fIjdb\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆJava¥Ç¥Ð¥Ã¥¬¤Ç¥¢¥×¥ì¥Ã¥È¡¦¥Ó¥å¡¼¥¢¤ò³«»Ï¤·¤Æ¡¢¥É¥­¥å¥á¥ó¥ÈÃæ¤Î¥¢¥×¥ì¥Ã¥È¤ò¥Ç¥Ð¥Ã¥°¤·¤Þ¤¹¡£ +.RE +.PP +\-encoding \fIencoding\-name\fR +.RS 4 +ÆþÎÏHTML¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-J\fIjavaoption\fR +.RS 4 +ʸ»úÎó\fIjavaoption\fR¤Ï¡¢¥¢¥×¥ì¥Ã¥È¡¦¥Ó¥å¡¼¥¢¤ò¼Â¹Ô¤¹¤ëJava¥¤¥ó¥¿¥×¥ê¥¿¤Ë1¤Ä¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£°ú¿ô¤Ë¥¹¥Ú¡¼¥¹¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Ê£¿ô¤Î°ú¿ô¤Ï¡¢¤¹¤Ù¤Æ¤¬ÀÜÆ¬¼­\fI\-J\fR¤Ç»Ï¤Þ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤÎÄ´À°¤ËÍ­¸ú¤Ç¤¹¡£ +.RE +.PP -.LP -.LP - -.LP - +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/extcheck.1 b/jdk/src/linux/doc/man/ja/extcheck.1 index d0a671568f8..fdd5a8e0cb2 100644 --- a/jdk/src/linux/doc/man/ja/extcheck.1 +++ b/jdk/src/linux/doc/man/ja/extcheck.1 @@ -1,73 +1,108 @@ -." Copyright (c) 1998, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH extcheck 1 "07 May 2011" - -.LP -.SH "̾Á°" -extcheck \- jar ¤Î¶¥¹ç¸¡½Ð¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼ -.LP -.LP -\f3extcheck\fP ¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤Î jar ¥Õ¥¡¥¤¥ë¤È¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤Î jar ¥Õ¥¡¥¤¥ë´Ö¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¶¥¹ç¤ò¸¡½Ð¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: extcheck +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "extcheck" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +extcheck \- ¥¿¡¼¥²¥Ã¥È¤ÎJava¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤È¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤ÎJAR¥Õ¥¡¥¤¥ë´Ö¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¶¥¹ç¤ò¸¡½Ð¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -extcheck [ \-verbose ] targetfile.jar -.fl -\fP +\fIextcheck\fR [\fIoptions\fR] \fItargetfile\&.jar\fR .fi - -.LP -.SH "ÀâÌÀ" -.LP -.LP -\f3extcheck\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¡¢»ØÄꤵ¤ì¤¿ Jar ¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥È¥ë¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¤¬ Java(TM) 2 SDK ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤È¶¥¹ç¤·¤Æ¤¤¤Ê¤¤¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò»È¤Ã¤Æ¡¢¥Ð¡¼¥¸¥ç¥ó¤¬Æ±¤¸¤«¡¢¤è¤ê¿·¤·¤¤³ÈÄ¥µ¡Ç½¤¬¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3extcheck\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¡¢targetfile.jar ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î¥Ø¥Ã¥À¡¼ \f2Specification\-title\fP ¤ª¤è¤Ó \f2Specification\-version\fP ¤ò¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë \f2¤¹¤Ù¤Æ¤Î Jar ¥Õ¥¡¥¤¥ëÆâ¤Î\fP Âбþ¤¹¤ë¥Ø¥Ã¥À¡¼¤ÈÈæ³Ó¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢\f2jre/lib/ext\fP ¤Ç¤¹¡£\f3extcheck\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¡¢\f2java.lang.Package.isCompatibleWith\fP ¥á¥½¥Ã¥É¤ÈƱÍͤÎÊýË¡¤Ç¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÈæ³Ó¤·¤Þ¤¹¡£ -.LP -.LP -¶¥¹ç¤¬¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¤Î¥ê¥¿¡¼¥ó¥³¡¼¥É¤Ï \f20\fP ¤Ç¤¹¡£ -.LP -.LP -³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¤¤º¤ì¤«¤Î jar ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢Æ±°ì¤Î \f2Specification\-title\fP ¡¢¤ª¤è¤ÓƱ°ì¤Þ¤¿¤Ï¤è¤ê¿·¤·¤¤ \f2Specification\-version\fP Èֹ椬¤¢¤ë¾ì¹ç¤Ï¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ \f2targetfile.jar\fP ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë \f2Specification\-title\fP ¤Þ¤¿¤Ï \f2Specification\-version\fP °À­¤¬¤Ê¤¤¾ì¹ç¤â¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-verbose -³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î Jar ¥Õ¥¡¥¤¥ë¤ò¡¢¥Á¥§¥Ã¥¯»þ¤Ë°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È jar ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î°À­¡¢¤ª¤è¤Ó¶¥¹ç¤¹¤ë jar ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÊó¹ð¤·¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fItargetfile\&.jar\fR +.RS 4 +¥Ð¡¼¥¸¥ç¥ó¤Î¶¥¹ç¤ò¸¡½Ð¤¹¤ë¤¿¤á¤Ë¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½JAR¥Õ¥¡¥¤¥ë¤ÈÈæ³Ó¤¹¤ë¥¿¡¼¥²¥Ã¥ÈJAR¥Õ¥¡¥¤¥ë¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIextcheck\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥È¥ë¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¤¬Java SE SDK¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤È¶¥¹ç¤·¤Æ¤¤¤Ê¤¤¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»ÈÍѤ·¤Æ¡¢Æ±¤¸¥Ð¡¼¥¸¥ç¥ó¤Þ¤¿¤Ï¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î³ÈÄ¥µ¡Ç½¤¬¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.PP +\fIextcheck\fR¥³¥Þ¥ó¥É¤Ï¡¢\fItargetfile\&.jar\fR¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î¥Ø¥Ã¥À¡¼Specification\-title¤ª¤è¤ÓSpecification\-version¤ò¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥Ø¥Ã¥À¡¼¤ÈÈæ³Ó¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢Oracle Solaris¤Î¾ì¹ç¤Ï\fIjre/lib/ext\fR¡¢Windows¤Î¾ì¹ç¤Ï\fI\ejre\elib\eext\fR¤Ç¤¹¡£\fIextcheck\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjava\&.lang\&.Package\&.isCompatibleWith\fR¥á¥½¥Ã¥É¤ÈƱÍͤÎÊýË¡¤Ç¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÈæ³Ó¤·¤Þ¤¹¡£ +.PP +¶¥¹ç¤¬¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¥ê¥¿¡¼¥ó¡¦¥³¡¼¥É¤Ï0¤Ç¤¹¡£ +.PP +³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¤¤º¤ì¤«¤ÎJAR¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢Æ±°ì¤Î\fISpecification\-title\fR¡¢¤ª¤è¤ÓƱ°ì¤Þ¤¿¤Ï¤è¤ê¿·¤·¤¤\fISpecification\-version\fRÈֹ椬¤¢¤ë¾ì¹ç¤Ï¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¡¦¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£\fItargetfile\&.jar\fR¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ë\fISpecification\-title\fR¤Þ¤¿¤Ï\fISpecification\-version\fR°À­¤¬¤Ê¤¤¾ì¹ç¤â¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¡¦¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-verbose +.RS 4 +³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤ÎJAR¥Õ¥¡¥¤¥ë¤ò¡¢¥Á¥§¥Ã¥¯»þ¤Ë°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥ÈJAR¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î°À­¡¢¤ª¤è¤Ó¶¥¹ç¤¹¤ëJAR¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÊó¹ð¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Javaµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} jar(1) -.LP - +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/idlj.1 b/jdk/src/linux/doc/man/ja/idlj.1 index 96ce9478bdc..92b10e2e57d 100644 --- a/jdk/src/linux/doc/man/ja/idlj.1 +++ b/jdk/src/linux/doc/man/ja/idlj.1 @@ -1,738 +1,554 @@ -." Copyright (c) 2001, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH idlj 1 "07 May 2011" - -.LP -.SH "̾Á°" -idlj \- IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é -.LP -\f3idlj\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤«¤é Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£ -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: idlj +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "idlj" "1" "2013ǯ11·î21Æü" "JDK 8" "Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +idlj \- »ØÄꤵ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì(IDL)¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆJava¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3 -.fl -\fP +\fIidlj\fR [ \fIoptions\fR ] \fIidlfile\fR .fi - -.LP -.LP -\f2idl\-file\fP ¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì (IDL) ¤Ë¤è¤ëÄêµÁ¤¬Æþ¤Ã¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£\f2options\fP ¤Î½çÈÖ¤ÏǤ°Õ¤Ç¤¹¤¬¡¢\f2idl\-file\fP ¤è¤ê¤âÁ°¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£options¤Î½çÈÖ¤ÏǤ°Õ¤Ç¤¹¤¬¡¢\fIidlfile\fR¤è¤ê¤âÁ°¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fIidlfile\fR +.RS 4 +¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì(IDL)¤Ë¤è¤ëÄêµÁ¤¬´Þ¤Þ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2OMG IDL to Java Language Mapping Specification\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Î°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤ÎÃæ¤Ë¤Ï¡¢\f2idltojava\fP ¤È¤¤¤¦Ì¾Á°¤À¤Ã¤¿¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SS -¥¯¥é¥¤¥¢¥ó¥È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô -.LP -.LP -My.idl ¤È¤¤¤¦Ì¾Á°¤Î IDL ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿IDL¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆJava¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping\&.html¤Ë¤¢¤ë +Java IDL: Java¸À¸ì¥Þ¥Ã¥Ô¥ó¥°¤Ø¤ÎIDL¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤Î°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤ÎÃæ¤Ë¤Ï¡¢\fIidltojava\fR¤È¤¤¤¦Ì¾Á°¤À¤Ã¤¿¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ +.SS "¥¯¥é¥¤¥¢¥ó¥È¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô" +.PP +¼¡¤Î\fIidlj\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò´Þ¤à\fIMy\&.idl\fR¤È¤¤¤¦Ì¾Á°¤ÎIDL¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -idlj My.idl -.fl -\fP +idlj My\&.idl .fi - -.LP -.LP -¤³¤ì¤Ë¤è¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ÈÅù²Á¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fclient\fP My.idl -.fl -.fi - -.LP -.LP -¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¤Î¥¹¥±¥ë¥È¥ó¤ÏÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ¥µ¡¼¥Ð¡¼Â¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fserver\fP My.idl -.fl -.fi - -.LP -.LP -¥µ¡¼¥Ð¡¼Â¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¤Û¤«¤Ë¡¢¥¹¥±¥ë¥È¥ó¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤¹¤Ù¤Æ¡¢ \f2POA\fP (¤Ä¤Þ¤ê·Ñ¾µ¥â¥Ç¥ë) ¥¯¥é¥¹¤Ç¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¦¤È¥µ¡¼¥Ð¡¼Â¦¤ÎξÊý¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É (¤É¤ì¤âÅù²Á) ¤Î¤¦¤Á¤Î 1 ¤Ä¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fclient \-fserver\fP My.idl -.fl -idlj \f3\-fall\fP My.idl -.fl -.fi - -.LP -.LP -¥µ¡¼¥Ð¡¼Â¦¤Ç²Äǽ¤Ê¥â¥Ç¥ë¤Ï 2 ¤Ä¤¢¤ê¤Þ¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤È Tie °Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð¡¼Â¦¤Î¥â¥Ç¥ë¤Ï¡¢¡Ö°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¡×¤Ç¤¹¡£\f2My.idl\fP Æâ¤Ç \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2MyPOA.java\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ï \f2My\fP ¤ËÄ󶡤·¡¢\f2MyPOA\fP ¤ò·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f2MyPOA.java\fP ¤Ï -.na -\f2org.omg.PortableServer.Servant\fP @ -.fi -http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html ¤ò³ÈÄ¥¤¹¤ë¥¹¥È¥ê¡¼¥à¥Ù¡¼¥¹¤Î¥¹¥±¥ë¥È¥ó¤Ç¡¢¥¹¥±¥ë¥È¥ó¤¬¼ÂÁõ¤¹¤ë IDL ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë \f2InvokeHandler\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£ -.LP -.LP -.na -\f2Portable Object Adapter (POA)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html ¤Î \f2PortableServer\fP ¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î \f2Servant\fP ·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\f2Servant\fP ·¿¤Ï Java ¤Î \f2org.omg.PortableServer.Servant\fP ¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î POA ¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¤Î¤Û¤«¤Ë¡¢POA ¤½¤Î¤â¤Î¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤Îưºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£ -.LP -.LP -·Ñ¾µ¥â¥Ç¥ë¤Î¤â¤¦ 1 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-oldImplBase\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢J2SE 1.4 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤³¤È¤Ç¤¹¡£¤¿¤À¤·¡¢\f2\-oldImplBase\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢É¸½àŪ¤Ê¼êË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤é¤Î API ¤Ïº£¸åÈó¿ä¾©¤Ë¤Ê¤ëͽÄê¤Ç¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢J2SE 1.3 ¤Çµ­½Ò¤µ¤ì¤¿´û¸¤Î¥µ¡¼¥Ð¡¼¤È¤Î¸ß´¹À­¤¬É¬Íפʾì¹ç¤À¤±¤Ç¤¹¡£¤½¤Î¾ì¹ç¤Ë¤Ï´û¸¤Î MAKEFILE ¤òÊѹ¹¤·¡¢\f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤Ë \f2\-oldImplBase\fP ¥Õ¥é¥°¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢POA ¥Ù¡¼¥¹¤Î¥µ¡¼¥Ð¡¼Â¦¥Þ¥Ã¥Ô¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£²¼°Ì¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fclient \-fserver\fP \f3\-oldImplBase\fP My.idl -.fl -idlj \f3\-fall\fP \f3\-oldImplBase\fP My.idl -.fl -.fi - -.LP -.LP -\f2My.idl\fP Æâ¤Ç \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2_MyImplBase.java\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2My\fP ¤ËÂФ·¤Æ¤½¤Î¼ÂÁõ¤òÄ󶡤·¡¢¤³¤Î¼ÂÁõ¤Ï \f2_MyImplBase\fP ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -.LP -¤â¤¦ 1 ¤Ä¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢Tie ¥â¥Ç¥ë¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢°Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£Tie ¤È¥¹¥±¥ë¥È¥ó¤òƱ»þ¤ËÀ¸À®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¿¤á¡¢¤½¤ì¤é¤ÏÊÌ¡¹¤ËÀ¸À®¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢Tie ¥â¥Ç¥ëÍѤΥХ¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fall\fP My.idl -.fl -idlj \f3\-fallTIE\fP My.idl -.fl -.fi - -.LP -.LP -\f2My\fP ¤È¤¤¤¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¾åµ­¤Î 2 ÈÖÌܤΥ³¥Þ¥ó¥É¤Ë¤è¤ê¡¢\f2MyPOATie.java\fP ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2MyPOATie\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢\f2delegate\fP ¤ò¼è¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î POA ¥â¥Ç¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Ë¤â \f2poa\fP ¤¬É¬ÍפǤ¹¡£\f2delegate\fP ¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤³¤Î¼ÂÁõ¤Ï \f2MyOperations\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤À¤±¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\f2MyPOATie\fP Æâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - ORB orb = ORB.init(args, System.getProperties()); -.fl - -.fl - // Get reference to rootpoa & activate the POAManager -.fl - POA rootpoa = (POA)orb.resolve_initial_references("RootPOA"); -.fl - rootpoa.the_POAManager().activate(); -.fl - -.fl - // create servant and register it with the ORB -.fl - MyServant myDelegate = new MyServant(); -.fl - myDelegate.setORB(orb); -.fl - -.fl - // create a tie, with servant being the delegate. -.fl - MyPOATie tie = new MyPOATie(myDelegate, rootpoa); -.fl - -.fl - // obtain the objectRef for the tie -.fl - My ref = tie._this(orb); -.fl -\fP -.fi - -.LP -.LP -¾¤Î¼ÂÁõ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¡¢É¸½à¤Î·Ñ¾µ¥â¥Ç¥ë¤Ç¤Ï¤Ê¤¯ Tie ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£Java ¤Î¾ì¹ç¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·Ñ¾µ¤Î¸Ä¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤Ë»ÈÍѤǤ­¤ë¥¹¥í¥Ã¥È¤Ï 1 ¤Ä¤À¤±¤Ç¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬ÀêÍ­¤µ¤ì¤Þ¤¹¡£Tie ¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬»ÈÍѤµ¤ì¤º¡¢¥æ¡¼¥¶¡¼¤¬ÆÈ¼«¤ÎÌÜŪ¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ë¤Ï¡¢´ÖÀÜÀ­¤Î¥ì¥Ù¥ë¤¬ 1 ¤ÄƳÆþ¤µ¤ì¤ë¤È¤¤¤¦·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¡¢Í¾Ê¬¤Ê¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤¬ 1 ²óȯÀ¸¤·¤Þ¤¹¡£ -.LP -.LP -IDL ¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é J2SE 1.4 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Java ¸À¸ì¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤È¸ß´¹À­¤Î¤¢¤ë¡¢¥µ¡¼¥Ð¡¼Â¦¤Î Tie ¥â¥Ç¥ë¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-oldImplBase\fP \f3\-fall\fP My.idl -.fl -idlj \f3\-oldImplBase\fP \f3\-fallTIE\fP My.idl -.fl -.fi - -.LP -.LP -\f2My\fP ¤È¤¤¤¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¤³¤ì¤Ë¤è¤ê \f2My_Tie.java\fP ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2My_Tie\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢\f2impl\fP ¤ò¼è¤ê¤Þ¤¹¡£\f2impl\fP ¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤½¤Î¼ÂÁõ¤Ï \f2HelloOperations\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤À¤±¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\f2My_Tie\fP Æâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - ORB orb = ORB.init(args, System.getProperties()); -.fl - -.fl - // create servant and register it with the ORB -.fl - MyServant myDelegate = new MyServant(); -.fl - myDelegate.setORB(orb); -.fl - -.fl - // create a tie, with servant being the delegate. -.fl - MyPOATie tie = new MyPOATie(myDelegate); -.fl - -.fl - // obtain the objectRef for the tie -.fl - My ref = tie._this(orb); -.fl -\fP -.fi - -.LP -.SS -ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê -.LP -.LP -ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-td /altdir\fP My.idl -.fl -.fi - -.LP -.LP -\f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\f2./My.java\fP ¤Ç¤Ï¤Ê¤¯¡¢\f2/altdir/My.java\fP ¤Ê¤É¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¡£ -.LP -.SS -¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê -.LP -.LP -\f2My.idl\fP ¤Ë¤â¤¦ 1 ¤Ä¤Î IDL ¥Õ¥¡¥¤¥ë \f2MyOther.idl\fP ¤¬¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë \f2MyOther.idl\fP ¤¬¤¢¤ë¤â¤Î¤ÈÁÛÄꤷ¤Þ¤¹¡£¤â¤·¤½¤Î¥Õ¥¡¥¤¥ë¤¬¡¢¤¿¤È¤¨¤Ð \f2/includes\fP ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-i /includes\fP My.idl -.fl -.fi - -.LP -.LP -¤Þ¤¿¡¢¤â¤· \f2My.idl\fP ¤Ë¡¢¤¿¤È¤¨¤Ð \f2/moreIncludes\fP ¤Ë¤¢¤ë \f2Another.idl\fP ¤â¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-i /includes \-i /moreIncludes\fP My.idl -.fl -.fi - -.LP -.LP -¤³¤Î¤è¤¦¤Ê·Á¼°¤Ç¥¤¥ó¥¯¥ë¡¼¥É¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤¬Ä¹¤¯¤ÆÊ£»¨¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤³¤Ç¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤¹¤ë¤¿¤á¤ÎÊ̤ÎÊýË¡¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢´Ä¶­ÊÑ¿ô¤Î¹Í¤¨Êý¤È»÷¤Æ¤¤¤Þ¤¹¡£CLASSPATH ¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2idl.config\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î \f2idl.config\fP ¤ÎÃæ¤Ë¡¢¼¡¤Î¤è¤¦¤Ê·Á¼°¤Î¹Ô¤òÆþ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -includes=/includes;/moreIncludes -.fl -\fP -.fi - -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥¤¥ó¥¯¥ë¡¼¥É¥ê¥¹¥È¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¶èÀÚ¤êʸ»ú¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥»¥ß¥³¥í¥ó¤Ç¤¹¤¬¡¢Unix ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥³¥í¥ó¤Ç¤¹¡£ \f2¥¤¥ó¥¯¥ë¡¼¥É\fP¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2CLASSPATH ¤ÎÀßÄê\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#general ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤷ¤¿ IDL ¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ä¹½Â¤ÂΤʤɤˤĤ¤¤Æ¤Î¤ß¡¢Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î 2 ¤Ä¤Î IDL ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£ -.LP - -.LP -.LP -\f4My.idl\fP -.LP -.nf -\f3 -.fl -#include -.fl -interface My -.fl -{ -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -\f4MyOther.idl\fP -.LP -.nf -\f3 -.fl -interface MyOther -.fl -{ -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\f2My\fP ¤ËÂФ¹¤ë Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj My.idl -.fl -\fP -.fi - -.LP -.LP -\f2My.idl\fP ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤È¡¢\f2My.idl\fP ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë (¤³¤ÎÎã¤Ç¤Ï \f2MyOther.idl\fP) ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-emitAll\fP My.idl -.fl -.fi - -.LP -.LP -¤³¤Î¥Ç¥Õ¥©¥ë¥È¤Îµ¬Â§¤Ë´Ø¤·¤ÆÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×¤Ë»ØÄꤷ¤¿ \f2#include\fP ʸ¤Ï¡¢Á°½Ò¤Î¤È¤ª¤ê¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î \f2#include\fP ʸ¤Ï¡¢¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤ì¤ËÂФ·¤Æ¡¢Â¾¤ÎÄêµÁ¤Ë°Ï¤Þ¤ì¤¿¥¹¥³¡¼¥×Æâ¤Ë»ØÄꤷ¤¿ \f2#include\fP ʸ¤Ï¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î \f2#include\fP ʸ¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¥³¡¼¥É¤¬¡¢¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¤½¤Î¤Þ¤Þ»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë½èÍý¤µ¤ì¡¢¤½¤ì¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¼¡¤Ï¤½¤ÎÎã¤Ç¤¹¡£ -.LP - -.LP -.LP -\f4My.idl\fP -.LP -.nf -\f3 -.fl -#include -.fl -interface My -.fl -{ -.fl - #include -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -\f4MyOther.idl\fP -.LP -.nf -\f3 -.fl -interface MyOther -.fl -{ -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -\f4Embedded.idl\fP -.LP -.nf -\f3 -.fl -enum E {one, two, three}; -.fl -\fP -.fi - -.LP - -.LP -.LP -¤³¤Î¤È¤­¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢ -.LP -.nf -\f3 -.fl -idlj My.idl -.fl -\fP -.fi - -.LP -.LP -¼¡¤Î¤è¤¦¤Ê°ìÏ¢¤Î Java ¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -./MyHolder.java -.fl -./MyHelper.java -.fl -./_MyStub.java -.fl -./MyPackage -.fl -./MyPackage/EHolder.java -.fl -./MyPackage/EHelper.java -.fl -./MyPackage/E.java -.fl -./My.java -.fl -\fP -.fi - -.LP -.LP -¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤µ¤ì¤ë \f2#include\fP ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢\f2MyOther.java\fP ¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î \f2#include\fP ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢\f2E.java\fP ¤ÏÀ¸À®¤µ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f2Embedded.idl\fP ¤¬ \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥¹¥³¡¼¥×Æâ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤¿¤¿¤á¡¢\f2My\fP ¤Î¥¹¥³¡¼¥×Æâ (¤Ä¤Þ¤ê¡¢\f2MyPackage\fP Æâ) ¤ËÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¾åµ­¤ÎÎã¤Ç \f2\-emitAll\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î·¿¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£ -.LP -.SS -¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÜÆ¬¼­¤ÎÁÞÆþ -.LP -.LP -ABC ¤È¤¤¤¦Ì¾Á°¤Î²ñ¼Ò¤Î¤¿¤á¤Ëºî¶È¤·¤Æ¤¤¤Æ¡¢¼¡¤Î¤è¤¦¤Ê IDL ¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤¿¤È¤·¤Þ¤·¤ç¤¦¡£ -.LP - -.LP -.LP -\f4Widgets.idl\fP -.LP -.nf -\f3 -.fl -module Widgets -.fl -{ -.fl - interface W1 {...}; -.fl - interface W2 {...}; -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -¤³¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤È¡¢\f2W1\fP ¤ª¤è¤Ó \f2W2\fP ¤ËÂФ¹¤ë Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬ \f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¶È³¦¤Î´·Îã¤Ë¤è¤ë¤È¡¢²ñ¼Ò¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢\f2com.<²ñ¼Ò̾>\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÃÖ¤¯¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢\f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤ÏÉÔ½½Ê¬¤Ç¤¹¡£´·Îã¤Ë½¾¤¦¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò \f2com.abc.Widgets\fP ¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸ÀÜÆ¬¼­¤ò \f2Widgets\fP ¥â¥¸¥å¡¼¥ë¤ËÉղ乤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-pkgPrefix Widgets com.abc\fP Widgets.idl -.fl -.fi - -.LP -.LP -\f2Widgets.idl\fP ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ë IDL ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ë¤â \f2\-pkgPrefix\fP ¥Õ¥é¥°¤¬É¬ÍפǤ¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¤½¤Î IDL ¥Õ¥¡¥¤¥ë¤Ï¡¢\f2com.abc.Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯¡¢\f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -ÀÜÆ¬¼­¤¬É¬Íפʥѥ屡¼¥¸¤¬¤¤¤¯¤Ä¤â¤¢¤ë¾ì¹ç¤Ï¡¢Á°½Ò¤Î \f2idl.config\fP ¥Õ¥¡¥¤¥ë¤ÇÀÜÆ¬¼­¤ò»ØÄꤹ¤ë¤Î¤¬´Êñ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÜÆ¬¼­¤ò»ØÄꤹ¤ë¹Ô¤Ï¡¢¤½¤ì¤¾¤ì¼¡¤Î·Á¼°¤Çµ­½Ò¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -PkgPrefix.= -.fl -\fP -.fi - -.LP -¤·¤¿¤¬¤Ã¤Æ¡¢¾åµ­¤ÎÎã¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -PkgPrefix.Widgets=com.abc -.fl -\fP -.fi - -.LP -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¥ê¥Ý¥¸¥È¥ê ID ¤Ï±Æ¶Á¤ò¼õ¤±¤Þ¤»¤ó¡£ -.LP -.SS -¥³¥ó¥Ñ¥¤¥ëÁ°¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ -.LP -.LP -¥³¥ó¥Ñ¥¤¥ëÍѤΥ·¥ó¥Ü¥ë¤¬ IDL ¥Õ¥¡¥¤¥ëÆâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥·¥ó¥Ü¥ë¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¿¤È¤¨¤Ð¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¥Ç¥Ð¥Ã¥°¥³¡¼¥É¤òÁÈ¤ßÆþ¤ì¤ë¤È¤­¤Ë»ÈÍѤ·¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-d\fP MYDEF My.idl -.fl -.fi - -.LP -.LP -\f2My.idl\fP Æâ¤Ë \f2#define MYDEF\fP ¤È¤¤¤¦¹Ô¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈÅù²Á¤Ç¤¹¡£ -.LP -.SS -´û¸¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÊÝ»ý -.LP -.LP -Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢\f2\-keep\fP ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¾å½ñ¤­¤ò²óÈò¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¾ì¹ç (¤¿¤À¤·¡¢¤½¤ì¤é¤ÎÆâÍÆ¤¬Àµ³Î¤Ç¤¢¤ë¤È¤­°Ê³°¤Ï¥«¥¹¥¿¥Þ¥¤¥º¤ÏÈò¤±¤ë)¡¢\-keep ¥ª¥×¥·¥ç¥ó¤ÏÍ­ÍѤǤ¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-keep\fP My.idl -.fl -.fi - -.LP -.LP -¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¡¢¤Þ¤À¸ºß¤·¤Ê¤¤¤â¤Î¤ò¤¹¤Ù¤ÆÈ¯¹Ô¤·¤Þ¤¹¡£ -.LP -.SS -¥³¥ó¥Ñ¥¤¥ë¤Î¿ÊĽ¾õ¶·¤Îɽ¼¨ -.LP -.LP -IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¼Â¹Ô¤Î³ÆÃʳ¬¤Ç¾õÂÖ¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¡Ö¾éĹ¡×¥â¡¼¥É (¥á¥Ã¥»¡¼¥¸¤¬Â¿¤¤¥â¡¼¥É) ¤Ë¤¹¤ë¤Ë¤Ï¡¢\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-v\fP My.idl -.fl -.fi - -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¾éĹ¥â¡¼¥É¤Ç¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£ -.LP -.SS -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨ -.LP -.LP -IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Î¥Ó¥ë¥É¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-version\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \-version -.fl -\fP -.fi - -.LP -.LP -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¤â½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤È¡¢¤½¤ì°Ê³°¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤â¡¢¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-d symbol -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢IDL ¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Ê¹Ô¤òÄɲä·¤¿¾ì¹ç¤ÈÅù²Á¤Ç¤¹¡£ -.nf -\f3 -.fl -#define \fP\f4symbol\fP\f3 -.fl -\fP -.fi -.TP 3 -\-emitAll -#include ¥Õ¥¡¥¤¥ë Æâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤â´Þ¤á¤Æ¡¢ \f2¤¹¤Ù¤Æ¤Î·¿¤ò\fP ȯ¹Ô¤·¤Þ¤¹¡£ -.TP 3 -\-fside -ȯ¹Ô¤¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤·¤Þ¤¹¡£\f2side\fP ¤Ï \f2client\fP¡¢\f2server\fP¡¢\f2serverTIE\fP¡¢\f2all\fP¡¢\f2allTIE\fP ¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£\f2\-fserverTIE\fP ¤Þ¤¿¤Ï \f2\-fallTIE\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°Ñ¾ù¥â¥Ç¥ë¥¹¥±¥ë¥È¥ó¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\f2\-fclient\fP ¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-i include\-path -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¤Û¤«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲäǤ­¤Þ¤¹¡£ -.TP 3 -\-keep -À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¾å½ñ¤­¤µ¤ì¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-noWarn -·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-oldImplBase -v1.4 ¤è¤êÁ°¤Î JDK ORB ¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥±¥ë¥È¥ó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢POA ·Ñ¾µ¥â¥Ç¥ë¤Î¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\f2ImplBase\fP ·Ñ¾µ¥â¥Ç¥ë¤Î¥¯¥é¥¹¤Ç¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤Î²¼°Ì¸ß´¹À­¤¬ÆÀ¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-pkgPrefix type prefix -\f2type\fP ¤¬¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¤Ç¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î·¿¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢À¸À®¤µ¤ì¤ë Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë \f2prefix\fP ¤È¤¤¤¦ÀÜÆ¬¼­¤¬Éղ䵤ì¤Þ¤¹¡£\f2type\fP ¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¤É¤Î¥â¥¸¥å¡¼¥ë¤è¤ê¤â³°Â¦¤ÇÄêµÁ¤µ¤ì¤¿ IDL ·¿¤Îñ½ã̾¤Î¤É¤Á¤é¤«¤Ç¤¹¡£ -.TP 3 -\-pkgTranslate type package -¼±Ê̻ҤÎÃæ¤Ë¥â¥¸¥å¡¼¥ë̾ type ¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢À¸À®¤µ¤ì¤ë Java ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¼±Ê̻ҤÎÃæ¤Î¤½¤Î̾Á°¤¬ package ¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£ºÇ½é¤Ë \f2pkgPrefix\fP ¤òÊѹ¹¤·¤Þ¤¹¡£\f2type\fP ¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥â¥¸¥å¡¼¥ë¡¢¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿ IDL ·¿¤Îñ½ã̾¤Ç¤¹¡£¤½¤·¤Æ¡¢´°Á´¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÀµ³Î¤Ë°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -1 ¤Ä¤Î¼±Ê̻ҤÎÃæ¤ÇÊ£¿ô¤ÎÊÑ´¹¤¬¥Þ¥Ã¥Á¤¹¤ë¾ì¹ç¤Ï¡¢¤â¤Ã¤È¤âŤ¤¥Þ¥Ã¥Á¤¬Áª¤Ð¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê°ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ -.nf -\f3 -.fl - \-pkgTranslate foo bar \-pkgTranslate foo.baz buzz.fizz -.fl -\fP -.fi -.LP -¼¡¤Î¤è¤¦¤ÊÊÑ´¹¤¬¼Â»Ü¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -foo => bar -.fl -foo.boo => bar.boo -.fl -foo.baz => buzz.fizz -.fl -foo.baz.bar => buzz.fizz.bar -.fl -\fP -.fi -.LP -¼¡¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÊÑ´¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.RS 3 -.TP 2 -o -\f2org\fP -.TP 2 -o -\f2org.omg\fP¡¢¤Þ¤¿¤Ï \f2org.omg\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ +.if n \{\ .RE -.LP -¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÊÑ´¹¤·¤è¤¦¤È¤¹¤ë¤È¡¢¸ß´¹À­¤Î¤Ê¤¤¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤½¤·¤Æ¡¢\f2\-pkgTranslate\fP ¤Î¤¢¤È¤ÎºÇ½é¤Î°ú¿ô¤È¤·¤Æ¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-skeletonName xxx%yyy -\f2xxx%yyy\fP ¤¬¡¢¥¹¥±¥ë¥È¥ó¤Ë̾Á°¤òÉÕ¤±¤ë¥Ñ¥¿¡¼¥ó¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f2POA\fP ´ðÄ쥯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%POA¡×(\f2\-fserver\fP ¤Þ¤¿¤Ï \f2\-fall\fP) -.TP 2 -o -\f2oldImplBase\fP ¥¯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö_%ImplBase¡×(\f2\-oldImplBase\fP ¤«¤Ä (\f2\-fserver\fP ¤Þ¤¿¤Ï \f2\-fall\fP)) +.\} +.PP +Á°¤Î¹½Ê¸¤Ï¼¡¤ÈƱÅù¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-fclient My\&.idl +.fi +.if n \{\ .RE -.TP 3 -\-td dir -½ÐÎϥǥ£¥ì¥¯¥È¥ê¤È¤·¤Æ¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯¡¢\f2dir\fP ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 3 -\-tieName xxx%yyy -¤³¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤Ã¤Æ Tie ¤Ë̾Á°¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f2POA\fP Tie ´ðÄ쥯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%POATie¡×(\f2\-fserverTie\fP ¤Þ¤¿¤Ï \f2\-fallTie\fP) -.TP 2 -o -\f2oldImplBase\fP Tie ¥¯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%_Tie¡×(\f2\-oldImplBase\fP ¤«¤Ä (\f2\-fserverTie\fP ¤Þ¤¿¤Ï \f2\-fallTie\fP)) +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¤ò´Þ¤á¤Æ¤ª¤ê¡¢¤³¤ì¤é¤Ï¤¹¤Ù¤Æ¡¢POA (·Ñ¾µ¥â¥Ç¥ë)¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlg \-fserver My\&.idl +.fi +.if n \{\ .RE -.TP 3 -\-nowarn, \-verbose -¾éĹ¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.\} +.PP +¥¯¥é¥¤¥¢¥ó¥È¦¤È¥µ¡¼¥Ð¡¼Â¦¤ÎξÊý¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É(¤É¤ì¤âÅù²Á)¤Î¤¦¤Á¤Î1¤Ä¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-fclient \-fserver My\&.idl +idlj \-fall My\&.idl +.fi +.if n \{\ .RE - -.LP -³Æ¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖÀâÌÀ¡×¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SH "À©Ìó" -.LP -.RS 3 -.TP 2 -o -¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×Æâ¤Î¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¼±Ê̻Ҥϡ¢IDL ¥×¥ê¥ß¥Æ¥£¥Ö·¿¤Î \f2Object\fP ¤Þ¤¿¤Ï \f2ValueBase\fP ¤ÈƱ¤¸ÄÖ¤ê¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¼±Ê̻ҤˤĤ¤¤Æ¤Ï¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤¬»öÁ°¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤é¤Î¼±Ê̻ҤκÆÄêµÁ¤òµö²Ä¤¹¤ë¤È¸µ¤ÎÄêµÁ¤¬¾å½ñ¤­¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤ª¤½¤é¤¯¹±µ×Ū¤ÊÀ©Ìó¤Ç¤¹¡£ -.TP 2 -o -\f2fixed\fP ¤È¤¤¤¦ IDL ·¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.\} +.PP +¥µ¡¼¥Ð¡¼Â¦¤Ç²Äǽ¤Ê¥â¥Ç¥ë¤Ï2¤Ä¤¢¤ê¤Þ¤¹¡£°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¤ÈTie¥â¥Ç¥ë¤Ç¤¹¡£Tie°Ñ¾ù¥â¥Ç¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fB°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë\fR +.ps -1 +.br +.PP +¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð¡¼Â¦¤Î¥â¥Ç¥ë¤Ï¡¢°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¤Ç¤¹¡£\fIMy\&.idl\fRÆâ¤Ç\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fIMyPOA\&.java\fR¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¡¢\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï\fIMyPOA\fR¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIMyPOA\&.java\fR¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/api/org/omg/PortableServer/Servant\&.html¤Ë¤¢¤ë +\fIorg\&.omg\&.PortableServer\&.Servant\fR¥¯¥é¥¹¤ò³ÈÄ¥¤¹¤ë¥¹¥È¥ê¡¼¥à¥Ù¡¼¥¹¤Î¥¹¥±¥ë¥È¥ó¤Ç¤¹¡£ +.PP +\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢¥¹¥±¥ë¥È¥ó¤¬¼ÂÁõ¤¹¤ëIDL¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë\fIcallHandler\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÈÁàºî¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£ +.PP +¥Ý¡¼¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥¢¥À¥×¥¿(POA)¤Î\fIPortableServer\fR¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î\fIServant\fR·¿¤òÄêµÁ¤·¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/POA\&.html¤Ë¤¢¤ë +¥Ý¡¼¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥¢¥À¥×¥¿(POA)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\fIServant\fR·¿¤ÏJava¤Î\fIorg\&.omg\&.PortableServer\&.Servant\fR¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤ÎPOA¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¡¢¤ª¤è¤ÓPOA¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤Îưºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£ +.PP +·Ñ¾µ¥â¥Ç¥ë¤Î¤â¤¦1¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-oldImplBase\fR¥Õ¥é¥°¤ò»ÈÍѤ·¤Æ¡¢Java SE 1\&.4¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤³¤È¤Ç¤¹¡£\-\fIoldImplBase\fR¥Õ¥é¥°¤ÏÈóɸ½à¤Ç¡¢¤³¤ì¤é¤ÎAPI¤ÏÈó¿ä¾©¤Ç¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢Java SE 1\&.3¤Çµ­½Ò¤µ¤ì¤¿´û¸¤Î¥µ¡¼¥Ð¡¼¤È¤Î¸ß´¹À­¤¬É¬Íפʾì¹ç¤Î¤ß¤Ç¤¹¡£¤½¤Î¾ì¹ç¡¢´û¸¤Îmake¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Æ¡¢\fI\-oldImplBase\fR¥Õ¥é¥°¤ò\fIidlj\fR¥³¥ó¥Ñ¥¤¥é¤ËÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢POA¥Ù¡¼¥¹¤Î¥µ¡¼¥Ð¡¼Â¦¥Þ¥Ã¥Ô¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£²¼°Ì¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp .5v .RE - -.LP -.SH "´ûÃΤÎÌäÂêÅÀ" -.LP -.RS 3 -.TP 2 -o -¥°¥í¡¼¥Ð¥ë¼±Ê̻ҤˤĤ¤¤Æ¥¤¥ó¥Ý¡¼¥È¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£Í½´ü¤µ¤ì¤Ê¤¤¥í¡¼¥«¥ë impl ¤ò¸Æ¤Ó½Ð¤¹¤È¡¢Îã³°¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢¤½¤Î¸¶°ø¤Ï¡¢\f2ServerDelegate\fP DSI ¥³¡¼¥ÉÆâ¤Î \f2NullPointerException\fP ¤Ë¤¢¤ë¤è¤¦¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-fclient \-fserver \-oldImplBase My\&.idl +idlj \-fall \-oldImplBase My\&.idl +.fi +.if n \{\ .RE - -.LP +.\} +.PP +\fIMy\&.idl\fRÆâ¤Ç\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fI_MyImplBase\&.java\fR¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¡¢\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï\fI_MyImplBase\fR¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBTie°Ñ¾ù¥â¥Ç¥ë\fR +.ps -1 +.br +.PP +¤â¤¦1¤Ä¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢Tie¥â¥Ç¥ë¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢°Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£Tie¤È¥¹¥±¥ë¥È¥ó¤òƱ»þ¤ËÀ¸À®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¿¤á¡¢¤½¤ì¤é¤ÏÊÌ¡¹¤ËÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢Tie¥â¥Ç¥ëÍѤΥХ¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp .5v +.RE +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-fall My\&.idl +idlj \-fallTIE My\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢2ÈÖÌܤΥ³¥Þ¥ó¥É¤Ë¤è¤ê¡¢\fIMyPOATie\&.java\fR¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fIMyPOATie\fR¥¯¥é¥¹¤Ø¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢delegate¤ò¼è¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ÎPOA¥â¥Ç¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Ë¤âPOA¤¬É¬ÍפǤ¹¡£delegate¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤Î¼ÂÁõ¤Ï\fIMyOperations\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤ß¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤òORB¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë\fIMyPOATie\fR¥¯¥é¥¹Æâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +ORB orb = ORB\&.init(args, System\&.getProperties()); +// Get reference to rootpoa & activate the POAManager +POA rootpoa = (POA)orb\&.resolve_initial_references("RootPOA"); +rootpoa\&.the_POAManager()\&.activate(); + +// create servant and register it with the ORB +MyServant myDelegate = new MyServant(); +myDelegate\&.setORB(orb); + +// create a tie, with servant being the delegate\&. +MyPOATie tie = new MyPOATie(myDelegate, rootpoa); + +// obtain the objectRef for the tie +My ref = tie\&._this(orb); +.fi +.if n \{\ +.RE +.\} +.PP +¾¤Î¼ÂÁõ¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢É¸½à¤Î·Ñ¾µ¥â¥Ç¥ë¤Ç¤Ï¤Ê¤¯Tie¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Java¤Î¾ì¹ç¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·Ñ¾µ¤Î¸Ä¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤Ë»ÈÍѤǤ­¤ë¥¹¥í¥Ã¥È¤Ï1¤Ä¤Î¤ß¤Ç¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬ÀêÍ­¤µ¤ì¤Þ¤¹¡£Tie¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬»ÈÍѤµ¤ì¤º¡¢¥æ¡¼¥¶¡¼¤¬ÆÈ¼«¤ÎÌÜŪ¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ë¤Ï¡¢´ÖÀÜÀ­¤Î¥ì¥Ù¥ë¤¬1¤ÄƳÆþ¤µ¤ì¤ë¤È¤¤¤¦Ã»½ê¤¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¡¢Í¾Ê¬¤Ê¥á¥½¥Ã¥É¸Æ½Ð¤·¤¬1²óȯÀ¸¤·¤Þ¤¹¡£ +.PP +¥µ¡¼¥Ð¡¼Â¦¤ÎÀ¸À®¤Î¾ì¹ç¡¢Java SE 1\&.4¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎJava¸À¸ì¤Ë¥Þ¥Ã¥Ô¥ó¥°¤¹¤ëIDL¤Î¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À­¤Î¤¢¤ë¡¢Tie¥â¥Ç¥ë¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-oldImplBase \-fall My\&.idl +idlj \-oldImplBase \-fallTIE My\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¤³¤ì¤Ë¤è¤ê¡¢\fIMy_Tie\&.java\fR¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fIMy_Tie\fR¥¯¥é¥¹¤Ø¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢\fIimpl\fR¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê¤Þ¤¹¡£\fIimpl\fR¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤Î¼ÂÁõ¤Ï\fIHelloOperations\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤ß¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤ì¤òORB¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë\fIMy_Tie\fRÆâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +ORB orb = ORB\&.init(args, System\&.getProperties()); + +// create servant and register it with the ORB +MyServant myDelegate = new MyServant(); +myDelegate\&.setORB(orb); + +// create a tie, with servant being the delegate\&. +MyPOATie tie = new MyPOATie(myDelegate); + +// obtain the objectRef for the tie +My ref = tie\&._this(orb); +.fi +.if n \{\ +.RE +.\} +.SS "ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê" +.PP +ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤Ë¤Ï¡¢\fIi\fR\fIdlj \-td /altdir My\&.idl\fR¤Î¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.PP + +\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\fI\&./My\&.java\fR¤Ç¤Ï¤Ê¤¯¡¢\fI/altdir/My\&.java\fR¤Ê¤É¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¡£ +.SS "¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê" +.PP +\fIMy\&.idl\fR¥Õ¥¡¥¤¥ë¤¬Ê̤Î\fIidl\fR¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë\fIMyOther\&.idl\fR¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¡¢\fIMyOther\&.idl\fR¥Õ¥¡¥¤¥ë¤¬¥í¡¼¥«¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤½¤ì¤¬\fI/includes\fR¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-i /includes My\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +¤¿¤È¤¨¤Ð¡¢\fI/moreIncludes\fR¤Ë¤¢¤ë\fIAnother\&.idl\fR¤â\fIMy\&.idl\fR¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-i /includes \-i /moreIncludes My\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤Î¤è¤¦¤Ê·Á¼°¤Î\fIinclude\fR¤ÏŤ¯¤Ê¤ë¤¿¤á¡¢¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤¹¤ë¤¿¤á¤ÎÊ̤ÎÊýË¡¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢´Ä¶­ÊÑ¿ô¤Î¹Í¤¨Êý¤È»÷¤Æ¤¤¤Þ¤¹¡£\fICLASSPATH\fRÊÑ¿ô¤Ë°ìÍ÷ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ëidl\&.config¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î\fIidl\&.config\fR¤ÎÃæ¤Ë¡¢¼¡¤Î¤è¤¦¤Ê·Á¼°¤Î¹Ô¤òÆþ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +includes=/includes;/moreIncludes +.fi +.if n \{\ +.RE +.\} +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥¤¥ó¥¯¥ë¡¼¥É¡¦¥ê¥¹¥È¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ï¥»¥ß¥³¥í¥ó(;)¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¶èÀÚ¤êʸ»ú¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£Windows¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥»¥ß¥³¥í¥ó¤ò»ÈÍѤ·¡¢UNIX¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥³¥í¥ó¤ò»ÈÍѤ¹¤ë¤Ê¤É¤Ç¤¹¡£ +.SS "¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô" +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤷ¤¿\fIidl\fR¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ä¹½Â¤ÂΤʤɤˤĤ¤¤Æ¤Î¤ß¡¢Java¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤Ë¤Ä¤¤¤Æ¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î2¤Ä¤Î\fIidl\fR¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +My\&.idl file: + +#include +interface My +{ +}; + +MyOther\&.idl file: + +interface MyOther +{ +}; +.fi +.if n \{\ +.RE +.\} +.PP +¥Ç¥Õ¥©¥ë¥È¤Î¥ë¡¼¥ë¤Ë´Ø¤·¤Æ·Ù¹ð¤¬¤¢¤ê¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¡¦¥¹¥³¡¼¥×¤Ëɽ¼¨¤µ¤ì¤ë\fI#include\fRʸ¤Ï¡¢Á°½Ò¤Î¤È¤ª¤ê¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î\fI#include\fRʸ¤Ï¡¢¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°Ï¤Þ¤ì¤¿¥¹¥³¡¼¥×Æâ¤Ëɽ¼¨¤µ¤ì¤ë\fI#include\fRʸ¤Ï¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î\fI#include\fRʸ¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¥³¡¼¥É¤¬¡¢¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë½èÍý¤µ¤ì¡¢¤½¤ì¤ËÂФ·¤ÆJava¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¼¡¤Ï¤½¤ÎÎã¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +My\&.idl file: + +#include +interface My +{ + #include +}; + +MyOther\&.idl file: + +interface MyOther +{ +}; + +Embedded\&.idl + +enum E {one, two, three}; +.fi +.if n \{\ +.RE +.\} +.PP +\fI idlj My\&.idl \fR¤ò¼Â¹Ô¤·¤Æ¡¢Java¥Õ¥¡¥¤¥ë¤Î¼¡¤Î¥ê¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥Èʸ¤È¤ß¤Ê¤µ¤ì¤ë\fI#include\fR¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤¿¤¿¤á¡¢\fIMyOther\&.java\fR¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£¤¿¤À¤·¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î\fI#include\fR¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤¿¤¿¤á¡¢\fIE\&.java\fR¤ÏÀ¸À®¤µ¤ì¤Þ¤·¤¿¡£\fIEmbedded\&.idl\fR¥Õ¥¡¥¤¥ë¤¬\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥¹¥³¡¼¥×Æâ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢\fIMy\fR¤Î¥¹¥³¡¼¥×Æâ(¤Ä¤Þ¤ê¡¢\fIMyPackage\fRÆâ)¤ËÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\fI\-emitAll\fR¥Õ¥é¥°¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î·¿¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\&./MyHolder\&.java +\&./MyHelper\&.java +\&./_MyStub\&.java +\&./MyPackage +\&./MyPackage/EHolder\&.java +\&./MyPackage/EHelper\&.java +\&./MyPackage/E\&.java +\&./My\&.java +.fi +.if n \{\ +.RE +.\} +.SS "¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÜÆ¬¼­¤ÎÁÞÆþ" +.PP +ABC¤È¤¤¤¦Ì¾Á°¤Î²ñ¼Ò¤Î¤¿¤á¤Ëºî¶È¤·¤Æ¤¤¤Æ¡¢¼¡¤Î¤è¤¦¤ÊIDL¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤¿¤È¤·¤Þ¤·¤ç¤¦¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Widgets\&.idl file: + +module Widgets +{ + interface W1 {\&.\&.\&.}; + interface W2 {\&.\&.\&.}; +}; +.fi +.if n \{\ +.RE +.\} +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤ò²ð¤·¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢W1¤ª¤è¤ÓW2¤ËÂФ¹¤ëJava¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\fIWidgets\fR¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¶È³¦¤Î´·Îã¤Ë¤è¤ë¤È¡¢²ñ¼Ò¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢\fIcom\&.\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÃÖ¤¯¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î´·Îã¤Ë½¾¤¦¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò\fIcom\&.abc\&.Widgets\fR¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸ÀÜÆ¬¼­¤òWidgets¥â¥¸¥å¡¼¥ë¤ËÉղ乤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-pkgPrefix Widgets com\&.abc Widgets\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +Widgets\&.idl¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ëIDL¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ë¤â\fI\-pkgPrefix\fR¥Õ¥é¥°¤¬É¬ÍפǤ¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¤½¤ÎIDL¥Õ¥¡¥¤¥ë¤Ï¡¢\fIcom\&.abc\&.Widgets\fR¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯¡¢\fIWidgets\fR¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +ÀÜÆ¬¼­¤¬É¬Íפʥѥ屡¼¥¸¤¬¤¤¤¯¤Ä¤â¤¢¤ë¾ì¹ç¤Ï¡¢Á°½Ò¤Îidl\&.config¥Õ¥¡¥¤¥ë¤ÇÀÜÆ¬¼­¤ò»ØÄꤹ¤ë¤Î¤¬´Êñ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸ÀÜÆ¬¼­¤Î³Æ¹Ô¤Ï¡¢\fIPkgPrefix\&.=\fR¤Î·Á¼°¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Á°½Ò¤ÎÎã¤Î¹Ô¤Ç¤Ï¡¢\fIPkgPrefix\&.Widgets=com\&.abc\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥ê¥Ý¥¸¥È¥êID¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¡£ +.SS "¥³¥ó¥Ñ¥¤¥ëÁ°¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ" +.PP +¥³¥ó¥Ñ¥¤¥ëÍѤΥ·¥ó¥Ü¥ë¤¬IDL¥Õ¥¡¥¤¥ëÆâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥·¥ó¥Ü¥ë¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¿¤È¤¨¤Ð¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¥Ç¥Ð¥Ã¥°¡¦¥³¡¼¥É¤òÁÈ¤ßÆþ¤ì¤ë¤È¤­¤Ë»ÈÍѤ·¤Þ¤¹¡£¥³¥Þ¥ó¥É\fIidlj \-d MYDEF My\&.idl \fR¤Ï¡¢My\&.idlÆâ¤Ë¹Ô\fI#define MYDEF\fR¤òÇÛÃÖ¤·¤¿¾ì¹ç¤ÈƱÅù¤Ë¤Ê¤ê¤Þ¤¹¡£ +.SS "´û¸¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÊÝ»ý" +.PP +Java¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢\fI\-keep\fR¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¾å½ñ¤­¤ò²óÈò¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¾ì¹ç(¤¿¤À¤·¡¢¤½¤ì¤é¤ÎÆâÍÆ¤¬Àµ³Î¤Ç¤¢¤ë¤È¤­°Ê³°¤Ï¥«¥¹¥¿¥Þ¥¤¥º¤ÏÈò¤±¤ë)¡¢\fI\-keep\fR¥ª¥×¥·¥ç¥ó¤ÏÍ­ÍѤǤ¹¡£¥³¥Þ¥ó¥É\fIidlj \-keep My\&.idl\fR¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤·¤Ê¤¤¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òȯ¹Ô¤·¤Þ¤¹¡£ +.SS "¥³¥ó¥Ñ¥¤¥ë¤Î¿ÊĽ¾õ¶·¤Îɽ¼¨" +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¼Â¹Ô¤Î³ÆÃʳ¬¤Ç¾õÂÖ¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£\fI\-v\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\fIidlj \-v My\&.idl\fR¤Î¤è¤¦¤Ê¾éĹ¥â¡¼¥É¤ò¥¢¥¯¥Æ¥£¥Ö²½¤·¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¾éĹ¥â¡¼¥É¤Ç¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£ +.SS "¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨" +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤Î¥Ó¥ë¥É¡¦¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó\fIidlj \-version\fR¤Ç\fI\-version\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ +.PP +¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¤â½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤹ¤ë¤È¡¢¤½¤ì°Ê³°¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤â¡¢¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-d \fIsymbol\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢IDL¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Ê¹Ô¤òÄɲä·¤¿¾ì¹ç¤ÈÅù²Á¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +#define \fIsymbol\fR +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-demitAll +.RS 4 +\fI#include\fR¥Õ¥¡¥¤¥ëÆâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤â´Þ¤á¤Æ¡¢¤¹¤Ù¤Æ¤Î·¿¤òȯ¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-fside +.RS 4 +ȯ¹Ô¤¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤·¤Þ¤¹¡£\fIside\fR¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï¡¢\fIclient\fR¡¢\fIserver\fR¡¢\fIserverTIE\fR¡¢\fIall\fR¤Þ¤¿¤Ï\fIallTIE\fR¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fI\-fserverTIE\fR¤Þ¤¿¤Ï\fI\-fallTIE\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°Ñ¾ù¥â¥Ç¥ë¡¦¥¹¥±¥ë¥È¥ó¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fI\-fclient\fR¤Ë¥Ç¥Õ¥©¥ë¥ÈÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.PP +\-i \fIinclude\-path\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢Â¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲäǤ­¤Þ¤¹¡£ +.RE +.PP +\-i \fIkeep\fR +.RS 4 +À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¾å½ñ¤­¤µ¤ì¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-noWarn +.RS 4 +·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-oldImplBase +.RS 4 +1\&.4¤è¤êÁ°¤ÎJDK ORB¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥±¥ë¥È¥ó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢POA·Ñ¾µ¥â¥Ç¥ë¤Î¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\fIImplBase\fR·Ñ¾µ¥â¥Ç¥ë¤Î¥¯¥é¥¹¤Ç¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤Î²¼°Ì¸ß´¹À­¤¬ÆÀ¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-pkgPrefix \fItype\fR \fIprefix\fR +.RS 4 +\fItype\fR¤¬¥Õ¥¡¥¤¥ë¡¦¥¹¥³¡¼¥×¤Ç¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î·¿¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢À¸À®¤µ¤ì¤ëJava¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë\fIprefix\fR¤È¤¤¤¦ÀÜÆ¬¼­¤¬Éղ䵤ì¤Þ¤¹¡£type¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¡¦¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¤É¤Î¥â¥¸¥å¡¼¥ë¤è¤ê¤â³°Â¦¤ÇÄêµÁ¤µ¤ì¤¿IDL·¿¤Îñ½ã̾¤Î¤É¤Á¤é¤«¤Ç¤¹¡£ +.RE +.PP +\-pkgTranslate \fItype\fR \fIpackage\fR +.RS 4 +¼±Ê̻ҤÎÃæ¤Ë¥â¥¸¥å¡¼¥ë̾type¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢À¸À®¤µ¤ì¤ëJava¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¼±Ê̻ҤÎÃæ¤Î¤½¤Î̾Á°¤¬package¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£ºÇ½é¤Ë\fIpkgPrefix\fR¤ÎÊѹ¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£type¤ÎÃͤϡ¢¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¡¢¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿IDL·¿¤Îñ½ã̾¤Ç¡¢´°Á´¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÀµ³Î¤Ë°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +Ê£¿ô¤ÎÊÑ´¹¤¬¼±Ê̻Ҥ˰ìÃפ¹¤ë¾ì¹ç¡¢¼¡¤ÎÎã¤Ë¼¨¤¹¤è¤¦¤Ë¡¢ºÇ¤âŤ¤°ìÃפ¬ÁªÂò¤µ¤ì¤Þ¤¹¡£ +.sp +\fB¥³¥Þ¥ó¥É\fR: +.sp +.if n \{\ +.RS 4 +.\} +.nf +pkgTranslate type pkg \-pkgTranslate type2\&.baz pkg2\&.fizz +.fi +.if n \{\ +.RE +.\} +\fB·ë²Ì¤ÎÊÑ´¹\fR: +.sp +.if n \{\ +.RS 4 +.\} +.nf +type => pkg +type\&.ext => pkg\&.ext +type\&.baz => pkg2\&.fizz +type2\&.baz\&.pkg => pkg2\&.fizz\&.pkg +.fi +.if n \{\ +.RE +.\} +¥Ñ¥Ã¥±¡¼¥¸Ì¾\fIorg\fR¡¢\fIorg\fR\&.o\fImg\fR¡¢¤Þ¤¿¤Ï\fIorg\&.omg\fR¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢ÊÑ´¹¤Ç¤­¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÊÑ´¹¤·¤è¤¦¤È¤¹¤ë¤È¡¢¸ß´¹À­¤Î¤Ê¤¤¥³¡¼¥É¤¬À¸À®¤µ¤ì¡¢\fI\-pkgTranslate\fR¤Î¸å¤ÎºÇ½é¤Î°ú¿ô¤È¤·¤Æ¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +\-skeletonName \fIxxx%yyy\fR +.RS 4 +\fIxxx%yyy\fR¤¬¡¢¥¹¥±¥ë¥È¥ó¤Ë̾Á°¤òÉÕ¤±¤ë¥Ñ¥¿¡¼¥ó¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£\fIPOA\fR¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤Î¾ì¹ç¤Ï\fI%POA\fR +(\fI\-fserver\fR¤Þ¤¿¤Ï\fI\-fall\fR)¡¢\fIoldImplBase\fR¥¯¥é¥¹¤Î¾ì¹ç¤Ï\fI_%ImplBase\fR +(\-\fIoldImplBase\fR)¤ª¤è¤Ó(\fI\-fserver\fR¤Þ¤¿¤Ï\fI\-fall\fR))¡£ +.RE +.PP +\-td \fIdir\fR +.RS 4 +½ÐÎϥǥ£¥ì¥¯¥È¥ê¤È¤·¤Æ¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯¡¢\fIdir\fR¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-tieName \fIxxx%yyy\fR +.RS 4 +¥Ñ¥¿¡¼¥ó¤Ë½¾¤Ã¤Æ¡¢\fIxxx%yyy\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£\fIPOA\fR¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤Î¾ì¹ç¤Ï\fI%POA\fR +(\fI\-fserverTie¤Þ¤¿¤Ï\-fallTie\fR)¡¢\fIoldImplBase\fR +tie¥¯¥é¥¹¤Î¾ì¹ç¤Ï\fI_%Tie\fR +(\-\fIoldImplBase\fR)¤ª¤è¤Ó(\fI\-fserverTie\fR¤Þ¤¿¤Ï\fI\-fallTie\fR))¡£ +.RE +.PP +\-nowarn¡¢\-verbose +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.SH "À©¸Â»ö¹à" +.PP +¥°¥í¡¼¥Ð¥ë¡¦¥¹¥³¡¼¥×Æâ¤Î¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¼±Ê̻Ҥϡ¢IDL¥×¥ê¥ß¥Æ¥£¥Ö·¿¤Î\fIObject\fR¤Þ¤¿¤Ï\fIValueBase\fR¤ÈƱ¤¸ÄÖ¤ê¤Ë¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢¥·¥ó¥Ü¥ëɽ¤¬¤³¤ì¤é¤Î¼±Ê̻Ҥǥץê¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£¤³¤ì¤é¤ÎºÆÄêµÁ¤òµö²Ä¤¹¤ë¤È¡¢¸µ¤ÎÄêµÁ¤¬¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤ª¤½¤é¤¯¹±µ×Ū¤ÊÀ©Ìó¤Ç¤¹¡£ +.PP +\fIfixed\fR¤È¤¤¤¦IDL·¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "´ûÃΤÎÌäÂê" +.PP +¥°¥í¡¼¥Ð¥ë¼±Ê̻ҤˤĤ¤¤Æ¥¤¥ó¥Ý¡¼¥È¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£Í½´ü¤µ¤ì¤Ê¤¤¥í¡¼¥«¥ë\fIimpl\fR¥ª¥Ö¥¸¥§¥¯¥È¤ò¸Æ¤Ó½Ð¤¹¤È¡¢Îã³°¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤½¤Î¸¶°ø¤Ï¡¢\fIServerDelegate\fR +DSI¥³¡¼¥ÉÆâ¤Î\fINullPointerException\fR¤Ë¤¢¤ë¤è¤¦¤Ç¤¹¡£ +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jar.1 b/jdk/src/linux/doc/man/ja/jar.1 index 0ce57f3ee56..dc1fc5869f7 100644 --- a/jdk/src/linux/doc/man/ja/jar.1 +++ b/jdk/src/linux/doc/man/ja/jar.1 @@ -1,601 +1,517 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jar 1 "07 May 2011" - -.LP -.SH "̾Á°" -jar \- Java ARchive ¥Ä¡¼¥ë -.LP -\f3jar\fP ¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î JAR ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jar +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jar" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jar \- Java Archive (JAR)¥Õ¥¡¥¤¥ë¤òÁàºî¤·¤Þ¤¹¡£ +.SH "³µÍ×" +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ® +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar c\fR[\fIefmMnv0\fR] [\fIentrypoint\fR] [\fIjarfile\fR] [\fImanifest\fR] [\fI\-C\fR \fIdir\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ .RE - -.LP -.SH "·Á¼°" -.LP -.RS 3 -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤ÎºîÀ® -\f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤Î¹¹¿· -\f4jar u\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤ÎÃê½Ð -\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Îɽ·Á¼°¤Ë¤è¤ë°ìÍ÷ɽ¼¨ -\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÄɲà -\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP +.\} +JAR¥Õ¥¡¥¤¥ë¤Î¹¹¿· +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar u\fR[\fIefmMnv0\fR] [\fIentrypoint\fR] [\fIjarfile\fR] [\fImanifest\fR] [\fI\-C\fR \fIdir\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ .RE - -.LP -.LP -ÀâÌÀ -.LP -.RS 3 -.TP 3 -cuxtiv0Mmfe -\f2jar\fP ¥³¥Þ¥ó¥É¤òÀ©¸æ¤¹¤ë¥ª¥×¥·¥ç¥ó -.TP 3 -jarfile -ºîÀ® (\f2c\fP)¡¢¹¹¿· (\f2u\fP)¡¢Ãê½Ð (\f2x\fP)¡¢¤Þ¤¿¤ÏÌܼ¡É½¼¨ (\f2t\fP) ¤ÎÂоݤȤʤë JAR ¥Õ¥¡¥¤¥ë¡£\f2f\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2jarfile\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \f2f\fP ¤È \f2jarfile\fP ¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é¡ÖJAR ¥Õ¥¡¥¤¥ë¡×¤¬¼èÆÀ¤µ¤ì¤ë¤« (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎϤءÖJAR ¥Õ¥¡¥¤¥ë¡×¤¬Á÷¿®¤µ¤ì¤Þ¤¹(c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£ -.TP 3 -inputfiles -\f2jarfile\fP ¤Ë·ë¹ç¤µ¤ì¤ë¤« (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡¢\f2jarfile\fP ¤«¤éÃê½Ð (x ¤Î¾ì¹ç) ¤Þ¤¿¤Ï°ìÍ÷ɽ¼¨ (t ¤Î¾ì¹ç) ¤µ¤ì¤ë¡¢¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¡£¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÏºÆµ¢Åª¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥ª¥×¥·¥ç¥ó \f20\fP (¥¼¥í) ¤ò»ÈÍѤ·¤Ê¤¤¤«¤®¤ê°µ½Ì¤µ¤ì¤Þ¤¹¡£ -.TP 3 -manifest -JAR ¥Õ¥¡¥¤¥ë¤Î MANIFEST.MF Æâ¤Ë´Þ¤á¤ë¤Ù¤­ \f2name\fP\f2:\fP \f2value\fP ¥Ú¥¢¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¡£\f2m\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2manifest\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3m\fP¡¢\f3f\fP¡¢¤ª¤è¤Ó \f3e\fP ¤Î½Ð¸½½ç½ø¤Ï¡¢\f2manifest\fP¡¢\f2jarfile\fP¡¢\f2entrypoint\fP ¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -entrypoint -¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤ÆÀßÄꤹ¤ë¥¯¥é¥¹¤Î̾Á°¡£\f2\-e\fP ¥ª¥×¥·¥ç¥ó¤È entrypoint ¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£¤É¤Á¤é¤«¤ò»ØÄꤹ¤ë¾ì¹ç¤ÏξÊý¤È¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3m\fP¡¢\f3f\fP¡¢¤ª¤è¤Ó \f3e\fP ¤Î½Ð¸½½ç½ø¤Ï¡¢\f2manifest\fP¡¢\f2jarfile\fP¡¢\f2entrypoint\fP ¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-C\ dir -¤³¤ì¤Ë³¤¯ \f2inputfiles\fP °ú¿ô¤ò½èÍý¤¹¤ë´Ö¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ò \f2dir\fP ¤Ø°ì»þŪ¤ËÊѹ¹¤·¤Þ¤¹¡£ \f2\-C\ \fP\f2\-\ dir\fP \f2inputfiles\fP ¤Î¥»¥Ã¥È¤ÏÊ£¿ô»ÈÍѤǤ­¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ¼Â¹Ô´Ä¶­¤ØÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£\f2\-J\fP ¤È \f2option\fP ¤Î´Ö¤Ë¤Ï¶õÇò¤òÆþ¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.\} +JAR¥Õ¥¡¥¤¥ë¤ÎÃê½Ð +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar\fR \fIx\fR[\fIvf\fR] [\fIjarfile\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ .RE - -.LP +.\} +JAR¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Æ¥ó¥Ä¤Î¥ê¥¹¥È +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar\fR \fIt\fR[\fIvf\fR] [\fIjarfile\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ +.RE +.\} +JAR¥Õ¥¡¥¤¥ë¤Ø¤Îº÷°ú¤ÎÄɲà +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar\fR \fIi\fR \fIjarfile\fR [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ +.RE +.\} .SH "ÀâÌÀ" -.LP -\f3jar\fP ¥Ä¡¼¥ë¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î JAR ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£\f3jar\fP ¤Ï¡¢ZIP ¤ª¤è¤Ó -.na -\f2ZLIB\fP @ -.fi -http://www.gzip.org/zlib/ °µ½Ì·Á¼°¤Ë´ð¤Å¤¯ÈÆÍѤΥ¢¡¼¥«¥¤¥Ö¤ª¤è¤Ó°µ½Ì¥Ä¡¼¥ë¤Ç¤¹¡£¤¿¤À¤· \f3jar\fP ¥Ä¡¼¥ë¤Î¼ç¤ÊÌÜŪ¤Ï¡¢¤¤¤¯¤Ä¤«¤Î Java ¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò 1 ¸Ä¤Î¥¢¡¼¥«¥¤¥Ö¤ËÅý¹ç¤¹¤ë¤³¤È¤Ç¤¹¡£¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È (¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥¦¥ó¥É) ¤¬ 1 ¤Ä¤Î¥¢¡¼¥«¥¤¥Ö¤Ë·ë¹ç¤µ¤ì¤Æ¤¤¤ë¤È¡¢Java ¥¨¡¼¥¸¥§¥ó¥È (¥Ö¥é¥¦¥¶¤Ê¤É) ¤Ï¡¢¤½¤ì¤é¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò 1 ²ó¤Î HTTP ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ç¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë¿·¤·¤¤Àܳ¤òɬÍפȤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬ÂçÉý¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢\f3jar\fP ¤Ï¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤â¹Ô¤¦¤Î¤Ç¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬¤µ¤é¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¸Ä¡¹¤Î¥¨¥ó¥È¥ê¤Ë¥¢¥×¥ì¥Ã¥ÈºîÀ®¼Ô¤Ë¤è¤ë½ð̾¤ò½ñ¤­¹þ¤á¤ë¤Î¤Ç¡¢ÇÛÉÛ¸µ¤Îǧ¾Ú¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤Î¹½Ê¸¤Ï¡¢\f2tar\fP ¥³¥Þ¥ó¥É¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£\f3JAR\fP ¥¢¡¼¥«¥¤¥Ö¤Ï¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥¯¥é¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤Ø·ë¹ç¤¹¤ë°ìÈÌŪ¤Ê»ÈÍÑË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -% jar cf myFile.jar *.class -.fl -\fP -.fi - -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥¯¥é¥¹ (.class) ¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¡¢\f2myFile.jar\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤Ï¼«Æ°Åª¤Ë¡¢ \f2META\-INF/MANIFEST.MF\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¾ï¤Ë¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Î¥¨¥ó¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¥¢¡¼¥«¥¤¥Ö¤Ë´Ø¤¹¤ë¥á¥¿¾ðÊó¤òÀë¸À¤·¡¢¤½¤Î¥Ç¡¼¥¿¤ò \f2name\ :\ value\fP ¥Ú¥¢¤È¤·¤Æ³ÊǼ¤·¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë¥á¥¿¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö -.na -\f2JAR file specification\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤¿ \f2name\ :\ value\fP ¥Ú¥¢¤ò JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¤è¤¦¤Ë \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jar cmf myManifestFile myFile.jar *.class -.fl -\fP -.fi - -.LP -´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤¬²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢\f3jar\fP ¤Ï¤½¤ÎºÇ½ª¹Ô¤ò²òÀϤ·¤Þ¤»¤ó¡£ -.br - -.LP -.br - -.LP -\f3Ãí:\ \fP¥³¥Þ¥ó¥É¹Ô¤Ë \f2cmf\fP ¤Ç¤Ï¤Ê¤¯ \f2cfm\fP ¤¬»ØÄꤵ¤ì¤¿ jar ¥³¥Þ¥ó¥É (m ¤È \-f ¥ª¥×¥·¥ç¥ó¤Î½çÈÖ¤òµÕ¤Ë¤¹¤ë) ¤Î¾ì¹ç¡¢\f3jar\fP ¥³¥Þ¥ó¥É¹Ô¤Ë¤Þ¤º JAR ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤ò»ØÄꤷ¡¢Â³¤¤¤Æ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -% jar cfm myFile.jar myManifestFile *.class -.fl -\fP -.fi - -.LP -¥Þ¥Ë¥Õ¥§¥¹¥È¤Ï¡¢RFC822 ASCII ·Á¼°¤Çµ¬Äꤵ¤ì¤¿¥Æ¥­¥¹¥È·Á¼°¤Ç¤¢¤ë¤¿¤á¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò´Êñ¤Ëɽ¼¨¤ª¤è¤ÓÊÔ½¸¤Ç¤­¤Þ¤¹¡£ -.LP -JAR ¥Õ¥¡¥¤¥ë¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢ \f2x\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jar xf myFile.jar -.fl -\fP -.fi - -.LP -.LP -jar ¥Õ¥¡¥¤¥ë¤«¤é¸ÄÊ̤Υե¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jar xf myFile.jar foo bar -.fl -\fP -.fi - -.LP -.LP -JDK ¤Î¥Ð¡¼¥¸¥ç¥ó 1.3 °Ê¹ß¤«¤é¡¢\f2jar\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ç -.na -\f2JarIndex\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ JarIndex ¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ç JAR ¥Õ¥¡¥¤¥ë¤«¤é¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Î¸úΨ¤¬¸þ¾å¤·¤Þ¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤¬Ê£¿ô¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Ë¡¢É¬Í×¤Ê JAR ¥Õ¥¡¥¤¥ë°Ê³°¤Î¥À¥¦¥ó¥í¡¼¥É¤ª¤è¤Ó¥ª¡¼¥×¥ó¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤³¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎºÇŬ²½¤Ï¡¢¿·¤·¤¤ \f2\-i\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ \f2jar\fP ¤ò¼Â¹Ô¤¹¤ë¤ÈÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢»ØÄꤷ¤¿ JAR ¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤È¡¢¤½¤Î¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸°ÌÃÖ¾ðÊó¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢JAR ¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î \f2Class\-Path\fP °À­¤Ë»ØÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jar i main.jar -.fl -\fP -.fi - -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢ \f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤¬ \f2main.jar\fP ¤Î \f2META\-INF\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£ -.br -.br -¤³¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤ò»ÈÍѤ·¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ï¡¢¸úΨŪ¤Ë¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ë°ÌÃÖ¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢¡ÖJarIndex »ÅÍ͡פò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.br -.br -¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º \f2dir1\fP Æâ¤Î¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¤Æ \f2stdout\fP ¤Ë½ÐÎϤ·¡¢Â³¤¤¤Æ \f2stdin\fP ¤«¤éÃê½Ð¤·¤Æ \f2dir2\fP ¤Ë½ÐÎϤ·¤Þ¤¹ (\f2\-f\fP ¥ª¥×¥·¥ç¥ó¤Ï¤É¤Á¤é¤Î \f2jar\fP ¥³¥Þ¥ó¥É¤Ç¤â¾Êά)¡£ -.LP -.nf -\f3 -.fl -% (cd dir1; jar c .)| (cd dir2; jar x) -.fl -\fP -.fi - -.LP -.LP -\f2jar\fP ¤ò»ÈÍѤ·¤Æ JAR ¥Õ¥¡¥¤¥ë¤ä JAR ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÁàºî¤¹¤ë¥µ¥ó¥×¥ë¥³¥Þ¥ó¥É¤ò³Îǧ¤·¤¿¤¤¾ì¹ç¤Ï¡¢¸å½Ò¤Î¡ÖÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¡Ö -.na -\f2Java Tutorial\fP @ -.fi -http://download.oracle.com/javase/tutorial/deployment/jar¡×¤Î JAR ¥³¡¼¥¹¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -c -f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP ¤È¤¤¤¦Ì¾Á°¤Î \f2¿·¤·¤¤\fP ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò \f2ºîÀ®¤·¡¢\fP f ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½à½ÐÎϤ˾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£\f2inputfiles\fP ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¢¤³¤Î¥¢¡¼¥«¥¤¥Ö¤ËÄɲä·¤Þ¤¹¡£ -.TP 3 -u -f ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢´û¸¥Õ¥¡¥¤¥ë \f2jarfile\fP ¤ò \f2¹¹¿·¤¹¤ëÌÜŪ¤Ç¡¢\fP \f2inputfiles\fP ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -jar uf foo.jar foo.class -.fl -\fP -.fi -¾å¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Õ¥¡¥¤¥ë \f2foo.class\fP ¤ò´û¸¤Î JAR ¥Õ¥¡¥¤¥ë \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£¼¡¤ÎÎã¤Ë¼¨¤¹¤è¤¦¤Ë¡¢\f2\-u\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥¨¥ó¥È¥ê¤â¹¹¿·¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -jar umf manifest foo.jar -.fl -\fP -.fi -\f2foo.jar\fP ¥Þ¥Ë¥Õ¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î \f2name:value\fP ¥Ú¥¢¤Ç¹¹¿·¤·¤Þ¤¹¡£ -.TP 3 -x -f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP \f2¤«¤é\fP ¡¢ \f2f\fP ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½àÆþÎϤ«¤é¡¢¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÃê½Ð¤·¤Þ¤¹¡£\f2inputfiles\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£Ãê½Ð¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÆü»þ¤Ï¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤ÇÀßÄꤵ¤ì¤¿¤â¤Î¤Ç¤¹¡£ -.TP 3 -t -f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP \f2¤«¤é\fP ¡¢ \f2f\fP ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½àÆþÎϤ«¤é¡¢Ìܼ¡¤òɽ¼¨¤·¤Þ¤¹¡£\f2inputfiles\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤¬°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.TP 3 -i -»ØÄꤵ¤ì¤¿ \f2jarfile\fP ¤È¡¢¤½¤ì¤Ë°Í¸¤¹¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl -jar i foo.jar -.fl -\fP -.fi -.LP -¾å¤Î¥³¥Þ¥ó¥É¤Ï¡¢\f2foo.jar\fP Æâ¤Ë \f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\f2foo.jar\fP ¤È¡¢\f2foo.jar\fP ¤Î \f2Class\-Path\fP °À­¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤ËÆþ¤Ã¤Æ¤¤¤ë³Æ¥Ñ¥Ã¥±¡¼¥¸¤Î°ÌÃÖ¾ðÊ󤬽ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -f -¼¡¤Î³Æ½èÍý¤ÎÂоݤȤʤë¥Õ¥¡¥¤¥ë \f2jarfile\fP ¤ò»ØÄꤷ¤Þ¤¹¡£ºîÀ® (\f2c\fP)¡¢¹¹¿· (\f2u\fP)¡¢Ãê½Ð (\f2x\fP)¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹Äɲà (\f2i\fP)¡¢¤Þ¤¿¤Ïɽ¼¨ (\f2t\fP)¡£\f2f\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2jarfile\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Omitting \f2f\fP ¤È \f2jarfile\fP ¤ò¾Êά¤¹¤ë¤È¡¢x ¤ä t ¤Î¾ì¹ç¤Ï \f2ɸ½àÆþÎÏ\fP¤«¤é JAR ¥Õ¥¡¥¤¥ë̾¤¬¼èÆÀ¤µ¤ì¡¢c ¤ä u ¤Î¾ì¹ç¤Ï \f2ɸ½à½ÐÎÏ\fP ¤Ë JAR ¥Õ¥¡¥¤¥ë¤¬Á÷¿®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -v -¾ÜºÙ¤Ê½ÐÎϤòɸ½à½ÐÎϤËÀ¸À®¤·¤Þ¤¹¡£¤¢¤È¤ÇÎã¤ò¼¨¤·¤Þ¤¹¡£ -.TP 3 -0 -(¥¼¥í) ZIP ¤Ë¤è¤ë°µ½Ì¤ò»ÈÍѤ»¤º¤Ë¡¢Êݸ¤·¤Þ¤¹¡£ -.TP 3 -M -¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£¤Þ¤¿¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤½¤ì¤òºï½ü¤·¤Þ¤¹ (u ¤Î¾ì¹ç)¡£ -.TP 3 -m -\f2META\-INF/MANIFEST.MF\fP ¤Î¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë \f2manifest\fP ¤Î \f2name : value\fP ¤Î°À­¥Ú¥¢¤òÁȤ߹þ¤ß¤Þ¤¹¡£ \f2jar\fP ¤Ï¡¢¤¹¤Ç¤ËƱ¤¸Ì¾Á°¤Ç¸ºß¤·¤Ê¤¤¤«¤®¤ê¡¢¤½¤Î \f2name:value\fP ¥Ú¥¢¤òÄɲä·¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Ç¸ºß¤¹¤ë¾ì¹ç¡¢ \f2jar\fP ¤Ï¤½¤ÎÃͤò¹¹¿·¤·¤Þ¤¹¡£ -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç¡¢\f3m\fP ¤È \f3f\fP ¤Îʸ»ú¤Ï¡¢\f2manifest\fP ¤È \f2jarfile\fP ¤ÎÆþÎÏ½ç½ø¤ÈƱ¤¸½ç½ø¤Çµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ»È¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl -jar cmf myManifestFile myFile.jar *.class -.fl -\fP -.fi -¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤Ï´Þ¤Þ¤ì¤Ê¤¤¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢ÆÃÊ̤ÊÌÜŪ¤Î \f2name\ :\ value\fP ¤Î°À­¥Ú¥¢¤òÄɲäǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ù¥ó¥À¡¼¾ðÊ󡢥С¼¥¸¥ç¥ó¾ðÊ󡢥ѥ屡¼¥¸¥·¡¼¥ê¥ó¥°¡¢¤Þ¤¿¤Ï JAR ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î°À­¤òÄɲäǤ­¤Þ¤¹¡£¡ÖJava Tutorial¡×¤Î¡Ö -.na -\f2JAR Files\fP @ -.fi -http://download.oracle.com/javase/tutorial/deployment/jar/¡×¥³¡¼¥¹¤ò»²¾È¤·¡¢ \f4\-m\fP ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -e -¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤Æ¡¢\f2entrypoint\fP ¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î \f2Main\-Class\fP °À­Ãͤ¬ºîÀ®¤Þ¤¿¤Ï¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºîÀ®Ãæ¤Þ¤¿¤Ï¹¹¿·Ãæ¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Þ¤¿¤ÏºîÀ®¤¹¤ë¤³¤È¤Ê¤·¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï \f2Main.jar\fP ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¡¢¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î \f2Main\-Class\fP °À­ÃÍ¤Ï \f2Main\fP ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -jar cfe Main.jar Main Main.class -.fl -\fP -.fi -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È java ¥é¥ó¥¿¥¤¥à¤«¤éľÀܤ³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -java \-jar Main.jar -.fl -\fP -.fi -¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¥¯¥é¥¹Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥É¥Ã¥È (¡Ö.¡×) ¡¢¥¹¥é¥Ã¥·¥å (¡Ö/¡×) ¤Î¤¤¤º¤ì¤«¤Îʸ»ú¤ò¤½¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Main.class\fP ¤¬ \f2foo\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -jar \-cfe Main.jar foo/Main foo/Main.class -.fl -\fP -.fi -¤Þ¤¿¤Ï -.nf -\f3 -.fl -jar \-cfe Main.jar foo.Main foo/Main.class -.fl -\fP -.fi -\f3Ãí:\ \fP \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤È \f2\-e\fP ¥ª¥×¥·¥ç¥ó¤ÎξÊý¤òƱ»þ¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤â \f2Main\-Class\fP °À­¤¬´Þ¤Þ¤ì¤Æ¤¤¤ì¤Ð¡¢ \f2Main.class\fP ¤Î»ØÄ꤬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤Ã¤Æ¥¨¥é¡¼¤äȯÀ¸¤·¡¢JAR ¤ÎºîÀ®½èÍý¤ä¹¹¿·½èÍý¤¬°Û¾ï½ªÎ»¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-C \ dir -\f2jar\fP ¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¸å³¤Î \f2inputfiles\fP °ú¿ô¤ò½èÍý¤¹¤ë¤È¤­¤Ë¡¢°ì»þŪ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Þ¤¹ (cd \f2dir\fP)¡£¤³¤Î½èÍý¤Ï¡¢UNIX ¤Î \f2tar\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Î \f2\-C\fP ¥ª¥×¥·¥ç¥ó¤Îµ¡Ç½¤ËÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é \f2bar.class\fP ¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£ -.nf -\f3 -.fl -jar uf foo.jar \-C classes bar.class -.fl -\fP -.fi -¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹ (jar ¥Õ¥¡¥¤¥ë¤Ë¤Ï classes ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó)¡£¼¡¤Ë¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ¤«¤é¡¢\f2bin\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢\f2xyz.class\fP ¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£ -.nf -\f3 -.fl -jar uf foo.jar \-C classes .\-C bin xyz.class -.fl -\fP -.fi -\f2classes\fP ¤Ë¥Õ¥¡¥¤¥ë \f2bar1\fP ¤È \f2bar2\fP ¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ \f2jar tf foo.jar\fP »ÈÍѤ·¤¿¤È¤­¤Î JAR ¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -META\-INF/ -.fl -META\-INF/MANIFEST.MF -.fl -bar1 -.fl -bar2 -.fl -xyz.class -.fl -\fP -.fi -.LP -.TP 3 -\-Joption -Java ¼Â¹Ô´Ä¶­¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£ \f2option\fP ¤Ë¤Ï¡¢¡ÖJava ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡×¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f4\-J\-Xmx48M\fP ¤È»ØÄꤹ¤ë¤È¡¢ºÇÂç¥á¥â¥ê¡¼¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIjar\fR¥³¥Þ¥ó¥É¤Ï¡¢ZIP¤ª¤è¤ÓZLIB°µ½Ì·Á¼°¤Ë´ð¤Å¤¯ÈÆÍѤΥ¢¡¼¥«¥¤¥Ö¤ª¤è¤Ó°µ½Ì¥Ä¡¼¥ë¤Ç¤¹¡£¤¿¤À¤·¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ï¡¢¼ç¤Ë¤¤¤¯¤Ä¤«¤ÎJava¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òñ°ì¤Î¥¢¡¼¥«¥¤¥Ö¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤¹¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Þ¤·¤¿¡£¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È(¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥¦¥ó¥É)¤¬1¤Ä¤Î¥¢¡¼¥«¥¤¥Ö¤Ë·ë¹ç¤µ¤ì¤Æ¤¤¤ë¤È¡¢Java¥¨¡¼¥¸¥§¥ó¥È(¥Ö¥é¥¦¥¶¤Ê¤É)¤Ï¡¢¤½¤ì¤é¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò1²ó¤ÎHTTP¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ç¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë¿·¤·¤¤Àܳ¤¬ÉÔÍפˤʤê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬ÂçÉý¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ï¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤â¹Ô¤¦¤¿¤á¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬¤µ¤é¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¸Ä¡¹¤Î¥¨¥ó¥È¥ê¤Ë¥¢¥×¥ì¥Ã¥ÈºîÀ®¼Ô¤Ë¤è¤ë½ð̾¤ò½ñ¤­¹þ¤á¤ë¤¿¤á¡¢ÇÛÉÛ¸µ¤Îǧ¾Ú¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Ï¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +\fIjar\fR¥³¥Þ¥ó¥É¤Î¹½Ê¸¤Ï¡¢\fItar\fR¥³¥Þ¥ó¥É¤Î¹½Ê¸¤Ë»÷¤Æ¤¤¤Þ¤¹¡£É¬¿Ü¤Î\fIÁàºî¤Î°ú¿ô\fR¤Î1¤Ä¤ÇÄêµÁ¤µ¤ì¤¿Ê£¿ô¤ÎÁàºî¥â¡¼¥É¤¬¤¢¤ê¤Þ¤¹¡£Â¾¤Î°ú¿ô¤Ï¡¢Áàºî¤Îưºî¤òÊѹ¹¤¹¤ë\fI¥ª¥×¥·¥ç¥ó\fR¡¢¤Þ¤¿¤ÏÁàºî¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËɬÍפÊ\fI¥ª¥Ú¥é¥ó¥É\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.SH "Áàºî¤Î°ú¿ô" +.PP +\fIjar\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤ÎÁàºî¤Î°ú¿ô¤Î¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Æ¼Â¹Ô¤µ¤ì¤ëÁàºî¤òÁªÂò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¾¤Î1ʸ»ú¤Î¥ª¥×¥·¥ç¥ó¤Èº®ºß¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢Ä̾Áàºî¤Î°ú¿ô¤Ï»ØÄꤵ¤ì¤ëºÇ½é¤Î°ú¿ô¤Ç¤¹¡£ +.PP +c +.RS 4 +¿·¤·¤¤JAR¥¢¡¼¥«¥¤¥Ö¤òºîÀ®¤·¤Þ¤¹¡£ .RE - -.LP -.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë" -.LP -jar ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢jar ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô (\-J ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à 1 ¤Ä°Ê¾å¤Î \f2¥Õ¥¡¥¤¥ë¤ò\fP »ØÄꤹ¤ë¤³¤È¤¬ \f2¤Ç¤­¤Þ¤¹\fP ¡£¤³¤ì¤Ë¤è¤ê¡¢Ç¤°Õ¤ÎŤµ¤Î jar ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ë¥³¥Þ¥ó¥É¹Ô¤ÎÀ©¸Â¤«¤é²òÊü¤µ¤ì¤Þ¤¹¡£ -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï¡¢Ä̾ï¤Ê¤é¤Ð¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥·¥§¥ë¤Ë¤è¤Ã¤Æ¤¢¤é¤æ¤ëʸ»ú¤Ë²ò¼á¤µ¤ì¤Þ¤¹¤¬¡¢¤³¤Î¾ì¹ç¤Ï¤½¤Î¤è¤¦¤Ë¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ -.LP -.LP -\f2jar\fP ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£ \f2jar\fP ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.PP +i +.RS 4 +JAR¥¢¡¼¥«¥¤¥Ö¤Îº÷°ú¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +t +.RS 4 +JAR¥¢¡¼¥«¥¤¥Ö¤Î¥³¥ó¥Æ¥ó¥Ä¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£ +.RE +.PP +u +.RS 4 +JAR¥¢¡¼¥«¥¤¥Ö¤ò¹¹¿·¤·¤Þ¤¹¡£ +.RE +.PP +x +.RS 4 +JAR¥¢¡¼¥«¥¤¥Ö¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð¤·¤Þ¤¹¡£ +.RE +.SH "¥ª¥×¥·¥ç¥ó" +.PP +¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢JAR¥Õ¥¡¥¤¥ë¤òºîÀ®¡¢¹¹¿·¡¢Ãê½Ð¤Þ¤¿¤Ïɽ¼¨¤¹¤ëÊýË¡¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤Þ¤¹¡£ +.PP +e +.RS 4 +\fIentrypoint\fR¥ª¥Ú¥é¥ó¥É¤Ç»ØÄꤵ¤ì¤ë¥¯¥é¥¹¤ò¡¢¼Â¹Ô²ÄǽJAR¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤ë¥¹¥¿¥ó¥É¥¢¥í¥óJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¡¦¥Ý¥¤¥ó¥È¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤Î\fIMain\-Class\fR°À­Ãͤ¬ºîÀ®¤Þ¤¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£\fIe\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®»þ(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·»þ(\fIu\fR)¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIMain\&.jar\fR¥¢¡¼¥«¥¤¥Ö¤¬\fIMain\&.class\fR¥Õ¥¡¥¤¥ë¤È¤È¤â¤ËºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¡¢¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î\fIMain\-Class\fR°À­ÃͤÏ\fIMain\fR¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jar cfe Main\&.jar Main Main\&.class +.fi +.if n \{\ +.RE +.\} +Java Runtime Environment (JRE)¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òľÀܸƤӽФ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-jar Main\&.jar +.fi +.if n \{\ +.RE +.\} +¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¥¨¥ó¥È¥ê¡¦¥Ý¥¤¥ó¥È¤Î¥¯¥é¥¹Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥É¥Ã¥È(\&.)¤Þ¤¿¤Ï¥¹¥é¥Ã¥·¥å(/)¤Î¤¤¤º¤ì¤«¤ò¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIMain\&.class\fR¤¬\fImydir\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¨¥ó¥È¥ê¡¦¥Ý¥¤¥ó¥È¤Ï¼¡¤Î¤¤¤º¤ì¤«¤ÎÊýË¡¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jar \-cfe Main\&.jar mydir/Main mydir/Main\&.class +jar \-cfe Main\&.jar mydir\&.Main mydir/Main\&.class +.fi +.if n \{\ +.RE +.\} +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 .br +.ps +1 +\fBNote\fR +.ps -1 .br -¼¡¤ÎÎã¤Ç¡¢ \f2classes.list\fP ¤Ë¤Ï¡¢ \f2find\fP ¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ½ÐÎϤµ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.LP +.TS +allbox tab(:); +l. +T{ +Ãí°Õ +ÆÃÄê¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤â\fIMain\-Class\fR°À­¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë\fIm\fR¥ª¥×¥·¥ç¥ó¤È\fIe\fR¥ª¥×¥·¥ç¥ó¤ÎξÊý¤òƱ»þ¤Ë»ØÄꤹ¤ë¤È¡¢\fIMain\-Class\fR¤Î»ØÄ꤬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¤¢¤¤¤Þ¤¤¤µ¤Ë¤è¤Ã¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¡¢\fIjar\fR¥³¥Þ¥ó¥É¤ÎºîÀ®¤ä¹¹¿·¤ÎÁàºî¤¬½ªÎ»¤·¤Þ¤¹¡£ +T} +.TE +.sp 1 +.sp .5v +.RE +.RE +.PP +f +.RS 4 +\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢ºîÀ®(\fIc\fR)¡¢¹¹¿·(\fIu\fR)¡¢Ãê½Ð(\fIx\fR)¤Þ¤¿¤Ïɽ¼¨(\fIt\fR)¤µ¤ì¤ëJAR¥Õ¥¡¥¤¥ë¤Î̾Á°¤ËÀßÄꤷ¤Þ¤¹¡£\fIf\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤ò¾Êά¤¹¤ë¤È¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ë¡¢\fIstdin\fR¤«¤é¤ÎJAR¥Õ¥¡¥¤¥ë̾¤ò¼õ¤±Æþ¤ì¤ë¤«(\fIx\fR¤ª¤è¤Ó\fIt\fR¤Î¾ì¹ç)¡¢JAR¥Õ¥¡¥¤¥ë¤ò\fIstdout\fR¤ËÁ÷¿®¤¹¤ë¤³¤È(\fIc\fR¤ª¤è¤Ó\fIu\fR¤Î¾ì¹ç)¤¬»Ø¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +m +.RS 4 +(\fIMETA\-INF/MANIFEST\&.MF\fR¤Î¥¢¡¼¥«¥¤¥Ö¤Ë¤¢¤ë) +\fIjar\fR¥³¥Þ¥ó¥É¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤«¤é¡¢Â°À­¤Î̾Á°¤ÈÃͤΥڥ¢¤ò´Þ¤á¤Þ¤¹¡£\fIjar\fR¥³¥Þ¥ó¥É¤Ï¡¢Æ±¤¸Ì¾Á°¤Î¥¨¥ó¥È¥ê¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤ò½ü¤­¡¢Â°À­¤Î̾Á°¤ÈÃͤòJAR¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Î¥¨¥ó¥È¥ê¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ï°À­¤ÎÃͤò¹¹¿·¤·¤Þ¤¹¡£\fIm\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®»þ(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·»þ(\fIu\fR)¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ï´Þ¤Þ¤ì¤Ê¤¤¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢ÆÃÊ̤ÊÌÜŪ¤Î̾Á°\-ÃͤΰÀ­¥Ú¥¢¤òÄɲäǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ù¥ó¥À¡¼¾ðÊó¡¢¥ê¥ê¡¼¥¹¾ðÊ󡢥ѥ屡¼¥¸¡¦¥·¡¼¥ê¥ó¥°¤ò»ØÄꤹ¤ë°À­¡¢¤Þ¤¿¤ÏJAR¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô²Äǽ¤Ë¤¹¤ë¤¿¤á¤Î°À­¤òÄɲäǤ­¤Þ¤¹¡£\fIm\fR¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤Ï¡¢http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.html¤Ë¤¢¤ë +¥×¥í¥°¥é¥à¤Î¥Ñ¥Ã¥±¡¼¥¸²½¤Ë´Ø¤¹¤ë¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +M +.RS 4 +¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¡¦¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Ê¤¤(\fIc\fR¤ª¤è¤Ó\fIu\fR¤Î¾ì¹ç)¤«¡¢¤Þ¤¿¤Ï¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¡¦¥¨¥ó¥È¥ê¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ïºï½ü¤·¤Þ¤¹(\fIu\fR¤Î¾ì¹ç)¡£\fIM\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®»þ(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·»þ(\fIu\fR)¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +n +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)»þ¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¥ó¥Æ¥ó¥Ä¤¬pack200(1)¥³¥Þ¥ó¥É¤Î¥Ñ¥Ã¥¯¤ª¤è¤Ó¥¢¥ó¥Ñ¥Ã¥¯Áàºî¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤¤è¤¦¤Ë¥¢¡¼¥«¥¤¥Ö¤òÀµµ¬²½¤·¤Þ¤¹¡£¤³¤ÎÀµµ¬²½¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢½ð̾ÉÕ¤­JAR¤Î½ð̾¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +v +.RS 4 +¾ÜºÙ¤Ê½ÐÎϤòɸ½à½ÐÎϤËÀ¸À®¤·¤Þ¤¹¡£Îã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +0 +.RS 4 +(¥¼¥í) ZIP°µ½Ì¤ò»ÈÍѤ·¤Ê¤¤¤ÇJAR¥Õ¥¡¥¤¥ë¤òºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)¤·¤Þ¤¹¡£ +.RE +.PP +\-C \fIdir\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)»þ¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fIfile\fR¥ª¥Ú¥é¥ó¥É¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î½èÍýÃæ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤ò°ì»þŪ¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤ÎÁàºî¤Ï¡¢UNIX +\fItar\fR¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î\fI\-C\fR¥ª¥×¥·¥ç¥ó¤ÈƱÍͤˤʤ뤳¤È¤òÌÜŪ¤È¤·¤Æ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\fIclasses\fR¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹¤µ¤ì¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é\fImy\&.jar\fR¤Ë\fIBar\&.class\fR¥Õ¥¡¥¤¥ë¤¬Äɲ䵤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% find \fP\f3.\fP \-name '*.class' \-print > classes.list -.fl +jar uf my\&.jar \-C classes Bar\&.class .fi - -.LP -.LP -¼¡¤Ë¡¢°ú¿ô¥Õ¥¡¥¤¥ë¹½Ê¸¤ò»ÈÍѤ·¤Æ \f2classes.list\fP ¤ò jar ¤ËÅϤ¹¤³¤È¤Ç¡¢ \f2¤½¤Î¥ê¥¹¥È\fP ¤ËÂФ·¤Æ \f2jar\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIclasses\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢classes¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò\fImy\&.jar\fR¤ËÄɲä·¤Þ¤¹(JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï\fIclasses\fR¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó)¡£¼¡¤Ë¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ¤«¤é¡¢\fIbin\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢\fIXyz\&.class\fR¤ò\fImy\&.jar\fR¤ËÄɲä·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% jar cf my.jar @classes.list -.fl -\fP +jar uf my\&.jar \-C classes \&. \-C bin Xyz\&.class .fi - -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢ÁêÂХѥ¹¤¬µ­½Ò¤µ¤ì¤¿°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÅϤµ¤ì¤¿¥Ñ¥¹¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤Ï¤Ê¤¯¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¼¡¤Ï¤½¤ÎÎã¤Ç¤¹¡£ +.if n \{\ +.RE +.\} +\fIclasses\fR¤Ë\fIbar1\fR¥Õ¥¡¥¤¥ë¤È\fIbar2\fR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Á°½Ò¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¡¢JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¼¡¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% jar @path1/classes.list -.fl -\fP -.fi - -.LP -.LP - -.LP -.SH "Îã" -.LP -ÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲ乤ë (¤½¤Î¥¢¡¼¥«¥¤¥Ö¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¤½¤ÎÆâÍÆ¤ò¾å½ñ¤­¤¹¤ë) ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¾ðÊó¤ò¾ÜºÙ¤ËÎóµó¤¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢¥µ¥¤¥º¤äºÇ¿·¤Î¹¹¿·Æü¤Ê¤É¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -% ls -.fl -1.au Animator.class monkey.jpg -.fl -2.au Wave.class spacemusic.au -.fl -3.au at_work.gif -.fl - -.fl -% jar cvf bundle.jar * -.fl -added manifest -.fl -adding: 1.au(in = 2324) (out= 67)(deflated 97%) -.fl -adding: 2.au(in = 6970) (out= 90)(deflated 98%) -.fl -adding: 3.au(in = 11616) (out= 108)(deflated 99%) -.fl -adding: Animator.class(in = 2266) (out= 66)(deflated 97%) -.fl -adding: Wave.class(in = 3778) (out= 81)(deflated 97%) -.fl -adding: at_work.gif(in = 6621) (out= 89)(deflated 98%) -.fl -adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%) -.fl -adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%) -.fl -\fP -.fi - -.LP -¤¹¤Ç¤Ë²èÁü¡¢¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥¯¥é¥¹ÍѤΥµ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ëʬ¤±¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤ì¤é¤òñ°ì¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -% ls \-F -.fl -audio/ classes/ images/ -.fl - -.fl -% jar cvf bundle.jar audio classes images -.fl -added manifest -.fl -adding: audio/(in = 0) (out= 0)(stored 0%) -.fl -adding: audio/1.au(in = 2324) (out= 67)(deflated 97%) -.fl -adding: audio/2.au(in = 6970) (out= 90)(deflated 98%) -.fl -adding: audio/3.au(in = 11616) (out= 108)(deflated 99%) -.fl -adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%) -.fl -adding: classes/(in = 0) (out= 0)(stored 0%) -.fl -adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%) -.fl -adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%) -.fl -adding: images/(in = 0) (out= 0)(stored 0%) -.fl -adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%) -.fl -adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%) -.fl - -.fl -% ls \-F -.fl -audio/ bundle.jar classes/ images/ -.fl -\fP -.fi - -.LP -JAR ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê̾¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¡Ö\f2t\fP¡×¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl -% jar tf bundle.jar -.fl +% \fIjar tf my\&.jar\fR META\-INF/ -.fl -META\-INF/MANIFEST.MF -.fl -audio/1.au -.fl -audio/2.au -.fl -audio/3.au -.fl -audio/spacemusic.au -.fl -classes/Animator.class -.fl -classes/Wave.class -.fl -images/monkey.jpg -.fl -images/at_work.gif -.fl -\fP +META\-INF/MANIFEST\&.MF +bar1 +bar2 +Xyz\&.class .fi - -.LP -.LP -¥¯¥é¥¹¥í¡¼¥É¤ò¹â®¤Ë¤¹¤ë¤¿¤á¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤ËÄɲ乤ë¤Ë¤Ï¡¢¡Ö\f2i\fP¡×¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.br -.br -Îã: -.br - -.LP -¤¿¤È¤¨¤Ð¡¢³ô¼è°ú¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆâÉô°Í¸¤·¤Æ¤¤¤ë¥¯¥é¥¹¤ò¡¢\f2main.jar\fP¡¢\f2buy.jar\fP¡¢¤ª¤è¤Ó \f2sell.jar\fP ¤È¤¤¤¦ 3 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤È¤·¤Þ¤¹¡£ -.br - -.LP -.br - -.LP -\f2main.jar\fP ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î \f2Class\-path\fP °À­¤Ë¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢ +.if n \{\ +.RE +.\} +.RE +.PP +\-J\fIoption\fR +.RS 4 +»ØÄꤷ¤¿JVM¥ª¥×¥·¥ç¥ó¤ò¡¢JRE¤¬JAR¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£JVM¥ª¥×¥·¥ç¥ó¤Ï¡¢java(1)¥³¥Þ¥ó¥É¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.SH "¥ª¥Ú¥é¥ó¥É" +.PP +¼¡¤Î¥ª¥Ú¥é¥ó¥É¤Ï¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Çǧ¼±¤µ¤ì¤Þ¤¹¡£ +.PP +\fIfile\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)»þ¤Ë¡¢\fIfile\fR¥ª¥Ú¥é¥ó¥É¤Ï¡¢¥¢¡¼¥«¥¤¥Ö¤ËÄɲ乤ëɬÍפΤ¢¤ë¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹¤È̾Á°¤òÄêµÁ¤·¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤ÎÃê½Ð(\fIx\fR)¤Þ¤¿¤Ï¥³¥ó¥Æ¥ó¥Ä¤Î¥ê¥¹¥È(\fIt\fR)»þ¤Ë¡¢\fIfile\fR¥ª¥Ú¥é¥ó¥É¤ÏÃê½Ð¤Þ¤¿¤Ï¥ê¥¹¥È¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È̾Á°¤òÄêµÁ¤·¤Þ¤¹¡£¾¯¤Ê¤¯¤È¤â1¤Ä¤ÎÍ­¸ú¤Ê¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ê£¿ô¤Î\fIfile\fR¥ª¥Ú¥é¥ó¥É¤ò¶õÇò¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\fIentrypoint\fR¡¢\fIjarfile\fR¤Þ¤¿¤Ï\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¤Ï¡¢¤½¤Î¸å¤Ë\fIfile\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fIentrypoint\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)»þ¤Ë¡¢\fIentrypoint\fR¥ª¥Ú¥é¥ó¥É¤Ï¡¢¼Â¹Ô²ÄǽJAR¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¥¹¥¿¥ó¥É¥¢¥í¥óJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¡¦¥Ý¥¤¥ó¥È¤È¤Ê¤ë¥¯¥é¥¹¤Î̾Á°¤òÄêµÁ¤·¤Þ¤¹¡£\fIe\fR¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï\fIentrypoint\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fIjarfile\fR +.RS 4 +ºîÀ®(\fIc\fR)¡¢¹¹¿·(\fIu\fR)¡¢Ãê½Ð(\fIx\fR)¤Þ¤¿¤Ïɽ¼¨(\fIt\fR)¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÄêµÁ¤·¤Þ¤¹¡£\fIf\fR¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIf\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤ò¾Êά¤¹¤ë¤È¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ë¡¢\fIstdin\fR¤«¤é¤ÎJAR¥Õ¥¡¥¤¥ë̾¤ò¼õ¤±Æþ¤ì¤ë¤«(\fIx\fR¤ª¤è¤Ó\fIt\fR¤Î¾ì¹ç)¡¢JAR¥Õ¥¡¥¤¥ë¤ò\fIstdout\fR¤ËÁ÷¿®¤¹¤ë¤³¤È(\fIc\fR¤ª¤è¤Ó\fIu\fR¤Î¾ì¹ç)¤¬»Ø¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +JAR¥Õ¥¡¥¤¥ë¤òº÷°úÉÕ¤±(\fIi\fR)¤¹¤ë¾ì¹ç¤Ï¡¢\fIf\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\fImanifest\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)»þ¤Ë¡¢\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤ÏJAR¥Õ¥¡¥¤¥ë¤Î\fIMANIFEST\&.MF\fR¤Ë´Þ¤á¤ë°À­¤Î̾Á°¤ÈÃͤò»ý¤Ä´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤òÄêµÁ¤·¤Þ¤¹¡£\fIf\fR¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fI@arg\-file\fR +.RS 4 +\fIjar\fR¥³¥Þ¥ó¥É¤òû½Ì¤Þ¤¿¤Ï´ÊÁDz½¤¹¤ë¤Ë¤Ï¡¢Ê̤Υƥ­¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤ò»ØÄꤷ¡¢ÀÜÆ¬¼­¤È¤·¤Æ¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤òÉÕ¤±¤Æ\fIjar\fR¥³¥Þ¥ó¥É¤ËÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIjar\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¢¥Ã¥È¥Þ¡¼¥¯Ê¸»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.sp +°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤È°ú¿ô(°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤µ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤ë\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò½ü¤¯)¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ï¡¢¶õÇò¤Þ¤¿¤Ï²þ¹Ôʸ»ú¤Ç¶èÀڤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢\fIjar\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤¢¤ê¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤ËÂФ·¤Æ¤ÏÁêÂÐŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä̾ï¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡¦¥·¥§¥ë¤Ë¤è¤Ã¤ÆÅ¸³«¤µ¤ì¤ë¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ê¤É¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ÏŸ³«¤µ¤ì¤Þ¤»¤ó¡£ +.sp +¼¡¤ÎÎã¤Ï¡¢\fIfind\fR¥³¥Þ¥ó¥É¤Ë¤è¤ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê½ÐÎϤ«¤é¤Î¥Õ¥¡¥¤¥ë̾¤Ç\fIclasses\&.list\fR¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -Class\-Path: buy.jar sell.jar -.fl -\fP +find \&. \-name \*(Aq*\&.class\*(Aq \-print > classes\&.list .fi - -.LP -\f2\-i\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤Î ÆÉ¤ß¹þ¤ß¤ò¹â®²½¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +\fIjar\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢\fI@arg\-file\fR¹½Ê¸¤ò»ÈÍѤ·¤Æ\fIclasses\&.list\fR¥Õ¥¡¥¤¥ë¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% jar i main.jar -.fl -\fP +jar cf my\&.jar @classes\&.list .fi +.if n \{\ +.RE +.\} +°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢ÁêÂХѥ¹¤¬µ­½Ò¤µ¤ì¤¿°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÅϤµ¤ì¤¿¥Ñ¥¹¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤Ï¤Ê¤¯¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Î¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jar @dir/classes\&.list +.fi +.if n \{\ +.RE +.\} +.RE +.SH "Ãí°Õ" +.PP +\fIe\fR¡¢\fIf\fR¤ª¤è¤Ó\fIm\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIentrypoint\fR¡¢\fIjarfile\fR¤ª¤è¤Ó\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤ÈƱ¤¸½ç½ø¤Ç¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë½Ð¸½¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jar cmef myManifestFile MyMainClass myFile\&.jar *\&.class +.fi +.if n \{\ +.RE +.\} +.SH "Îã" +.PP +\fBExample 1\fR, ¾éĹ¤Ê½ÐÎϤˤè¤ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ÎÄɲà +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +% ls +1\&.au Animator\&.class monkey\&.jpg +2\&.au Wave\&.class spacemusic\&.au +3\&.au at_work\&.gif -.LP -\f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤¬ \f2META\-INF\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£¤³¤Î·ë²Ì¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ë¤è¤Ã¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥ê¥½¡¼¥¹¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤È¤­¤Ë¡¢Å¬ÀÚ¤Ê jar ¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£ +% jar cvf bundle\&.jar * +added manifest +adding: 1\&.au(in = 2324) (out= 67)(deflated 97%) +adding: 2\&.au(in = 6970) (out= 90)(deflated 98%) +adding: 3\&.au(in = 11616) (out= 108)(deflated 99%) +adding: Animator\&.class(in = 2266) (out= 66)(deflated 97%) +adding: Wave\&.class(in = 3778) (out= 81)(deflated 97%) +adding: at_work\&.gif(in = 6621) (out= 89)(deflated 98%) +adding: monkey\&.jpg(in = 7667) (out= 91)(deflated 98%) +adding: spacemusic\&.au(in = 3079) (out= 73)(deflated 97%) +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¥Õ¥¡¥¤¥ë¤ÎÄɲà +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +% ls \-F +audio/ classes/ images/ +% jar cvf bundle\&.jar audio classes images +added manifest +adding: audio/(in = 0) (out= 0)(stored 0%) +adding: audio/1\&.au(in = 2324) (out= 67)(deflated 97%) +adding: audio/2\&.au(in = 6970) (out= 90)(deflated 98%) +adding: audio/3\&.au(in = 11616) (out= 108)(deflated 99%) +adding: audio/spacemusic\&.au(in = 3079) (out= 73)(deflated 97%) +adding: classes/(in = 0) (out= 0)(stored 0%) +adding: classes/Animator\&.class(in = 2266) (out= 66)(deflated 97%) +adding: classes/Wave\&.class(in = 3778) (out= 81)(deflated 97%) +adding: images/(in = 0) (out= 0)(stored 0%) +adding: images/monkey\&.jpg(in = 7667) (out= 91)(deflated 98%) +adding: images/at_work\&.gif(in = 6621) (out= 89)(deflated 98%) + +% ls \-F +audio/ bundle\&.jar classes/ images/ +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, JAR¤Î¥³¥ó¥Æ¥ó¥Ä¤Î¥ê¥¹¥È +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +% jar tf bundle\&.jar +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +META\-INF/ +META\-INF/MANIFEST\&.MF +audio/1\&.au +audio/2\&.au +audio/3\&.au +audio/spacemusic\&.au +classes/Animator\&.class +classes/Wave\&.class +images/monkey\&.jpg +images/at_work\&.gif +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 4\fR, º÷°ú¤ÎÄɲà +.RS 4 +³ô¼°¼è°ú¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÁê¸ß°Í¸¥¯¥é¥¹¤ò¡¢\fImain\&.jar\fR¡¢\fIbuy\&.jar\fR¤ª¤è¤Ó\fIsell\&.jar\fR¤Î3¤Ä¤ÎJAR¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤¹¤ë¾ì¹ç¡¢\fIi\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£\fImain\&.jar\fR¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î\fIClass\-Path\fR°À­¤ò»ØÄꤹ¤ë¾ì¹ç¡¢\fIi\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥í¡¼¥É¤Î®ÅÙ¤ò¸þ¾å¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Class\-Path: buy\&.jar sell\&.jar +jar i main\&.jar +.fi +.if n \{\ +.RE +.\} +\fIINDEX\&.LIST\fR¥Õ¥¡¥¤¥ë¤¬\fIMETA\-INF\fR¥Ç¥£¥ì¥¯¥È¥ê¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Ë¤è¤Ã¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥ê¥½¡¼¥¹¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤È¤­¤Ë¡¢»ØÄꤷ¤¿JAR¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤ò»ÈÍѤ·¤Æ¡¢¸úΨŪ¤Ë¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï¡¢ºÇ½é¤Ë\fIdir1\fRÆâ¤Î¥Õ¥¡¥¤¥ë¤ò\fIstdout\fR¤Ë°µ½Ì¤·¤Æ¤«¤é¡¢\fIstdin\fR¤«¤é\fIdir2\fR¤Ë¥Ñ¥¤¥×¥é¥¤¥ó¤òºîÀ®¤·¤ÆÃê½Ð¤·¤Þ¤¹(\fI\-f\fR¥ª¥×¥·¥ç¥ó¤ÏξÊý¤Î\fIjar\fR¥³¥Þ¥ó¥É¤Ç¾Êά¤·¤Þ¤¹)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +(cd dir1; jar c \&.) | (cd dir2; jar x) +.fi +.if n \{\ +.RE +.\} +.RE .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -.na -\f2JAR ¥Õ¥¡¥¤¥ë¤Î³µÍ×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html -.LP -.LP -.na -\f2JAR ¥Õ¥¡¥¤¥ë¤Î»ÅÍÍ\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html -.LP -.LP -.na -\f2JarIndex ¤Î»ÅÍÍ\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index -.LP -.LP -.na -\f2JAR ¥Á¥å¡¼¥È¥ê¥¢¥ë\fP @ -.fi -http://download.oracle.com/javase/tutorial/deployment/jar/index.html -.LP -.LP -pack200(1) -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +pack200(1)\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.html¤Ë¤¢¤ë +Java¥Á¥å¡¼¥È¥ê¥¢¥ë¤ÎJAR¤Ë´Ø¤¹¤ë¹à +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jarsigner.1 b/jdk/src/linux/doc/man/ja/jarsigner.1 index 739d051356e..fa0799a8c60 100644 --- a/jdk/src/linux/doc/man/ja/jarsigner.1 +++ b/jdk/src/linux/doc/man/ja/jarsigner.1 @@ -1,1660 +1,1071 @@ -." Copyright (c) 1998, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jarsigner 1 "07 May 2011" - -.LP -.SH "̾Á°" -jarsigner \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë -.LP -.LP -Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Î½ð̾¤òÀ¸À®¤·¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jarsigner +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jarsigner" "1" "2013ǯ11·î21Æü" "JDK 8" "¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jarsigner \- Java¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ½ð̾¤ª¤è¤Ó¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jarsigner\fP [ options ] jar\-file alias -.fl -\f3jarsigner\fP \-verify [ options ] jar\-file [alias...] -.fl +\fIjarsigner\fR [ \fIoptions\fR ] \fIjar\-file\fR \fIalias\fR .fi - -.LP -.LP -jarsigner ¤Î \-verify ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë̾¤Î¤¢¤È¤Ë 0 ¸Ä°Ê¾å¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢ÊÌ̾¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢jarsigner ¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ½ð̾ÉÕ¤­¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸¡¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢ÊÌ̾¤Î¤¤¤º¤ì¤«¤Ë°ìÃפ¹¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ÊÌ̾¤Ï¡¢\-keystore ¤Ç»ØÄꤵ¤ì¤¿¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢Æâ¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjarsigner\fR \fI\-verify\fR [ \fIoptions\fR ] \fIjar\-file\fR [\fIalias \&.\&.\&.\fR] +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verify +.RS 4 +\fI\-verify\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢JAR¥Õ¥¡¥¤¥ë̾¤Î¸å¤Ë0¸Ä°Ê¾å¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fI\-verify\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢JAR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ½ð̾ÉÕ¤­¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸¡¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬¡¢¤¤¤º¤ì¤«¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤Ë°ìÃפ¹¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ÊÌ̾¤Ï¡¢\fI\-keystore\fR¤Ç»ØÄꤵ¤ì¤¿¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢Æâ¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤¿¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤ê½ÅÂç¤Ê·Ù¹ð¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢¥á¥Ã¥»¡¼¥¸¡Öjar¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿¡£½ð̾¼Ô¥¨¥é¡¼¡×¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIjar\-file\fR +.RS 4 +½ð̾¤µ¤ì¤ëJAR¥Õ¥¡¥¤¥ë¡£ +.sp +\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤¿¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤ê½ÅÂç¤Ê·Ù¹ð¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢¥á¥Ã¥»¡¼¥¸¡Öjar¤Ï½ð̾¤µ¤ì¤Þ¤·¤¿ \- ½ð̾¼Ô¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIalias\fR +.RS 4 +ÊÌ̾¤Ï¡¢\fI\-keystore\fR¤Ç»ØÄꤵ¤ì¤¿¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢Æâ¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3jarsigner\fP ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤Ç»ÈÍѤ·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -1. -Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë -.TP 3 -2. -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤ÈÀ°¹çÀ­¤ò¸¡¾Ú¤¹¤ë +.PP +\fIjarsigner\fR¥Ä¡¼¥ë¤Ë¤Ï¡¢¼¡¤Î2¤Ä¤ÎÌÜŪ¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ëÌÜŪ¡£ .RE - -.LP -.LP -JAR µ¡Ç½¤ò»È¤¦¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¡¢¤ª¤è¤Ó¤½¤Î¾¤Î¥Ç¥¸¥¿¥ë¥Ç¡¼¥¿¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤Ç¤­¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò¿×®¤«¤ÄÍÆ°×¤ËÇÛÉۤǤ­¤Þ¤¹¡£³«È¯¼Ô¤Ï¡¢jar(1) ¤È¤¤¤¦Ì¾Á°¤Î¥Ä¡¼¥ë¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£µ»½ÑŪ¤Ê´ÑÅÀ¤«¤é¸À¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î ZIP ¥Õ¥¡¥¤¥ë¤â JAR ¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢\f3jar\fP ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï \f3jarsigner\fP ¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢META\-INF/MANIFEST.MF ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿ (¡Ö½ð̾¡×¤ÎÂоݤȤʤë¥Ç¡¼¥¿) ¤È¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (¿Í¡¢²ñ¼Ò¤Ê¤É) ¤ÎÈó¸ø³«¸°¤È¤Ë´ð¤Å¤¤¤Æ·×»»¤µ¤ì¤ë¥Ó¥Ã¥ÈÎó¤Ç¤¹¡£¼ê½ñ¤­¤Î½ð̾ƱÍÍ¡¢¥Ç¥¸¥¿¥ë½ð̾¤Ë¤Ï¿¤¯¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -½ð̾¤ÎÀ¸À®¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ÈÂÐ¤Ë¤Ê¤ë¸ø³«¸°¤ò»È¤Ã¤Æ·×»»¤ò¹Ô¤¦¤³¤È¤Ç¡¢¥Ç¥¸¥¿¥ë½ð̾¤¬ËÜʪ¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤­¤ë -.TP 2 -o -Èó¸ø³«¸°¤¬Â¾¿Í¤ËÃΤé¤ì¤Ê¤¤¸Â¤ê¡¢¥Ç¥¸¥¿¥ë½ð̾¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ç¤¢¤ë -.TP 2 -o -¥Ç¥¸¥¿¥ë½ð̾¤Ï¡¢¤½¤Î½ð̾¤¬ÉÕ¤¤¤¿¥Ç¡¼¥¿¤À¤±¤òÂоݤȤ¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤Û¤«¤Î¥Ç¡¼¥¿¤Î½ð̾¤È¤·¤Æµ¡Ç½¤¹¤ë¤³¤È¤Ï¤Ê¤¤ -.TP 2 -o -½ð̾ÉÕ¤­¤Î¥Ç¡¼¥¿¤ÏÊѹ¹¤Ç¤­¤Ê¤¤¡£ ¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î½ð̾¤Ë¤è¤Ã¤Æ¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤Ï¤Ê¤¤¤³¤È¤¬¸¡¾Ú¤µ¤ì¤ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤ÈÀ°¹çÀ­¤ò¸¡¾Ú¤¹¤ëÌÜŪ¡£ .RE - -.LP -.LP -¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î½ð̾¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ë´ØÏ¢¤¹¤ë¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¸ø³«¸°¤òǧ¾Ú¤¹¤ë 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¾ÚÌÀ½ñ¤âɬÍפǤ¹¡£¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤¬È¯¹Ô¤·¤¿¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Ç¡¢Ê̤ʥ¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸ø³«¸°¤¬ÆÃÄê¤ÎÃͤǤ¢¤ë¤³¤È¤ò¾ÚÌÀ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤Ï¡¢¡Ö¥­¡¼¥¹¥È¥¢¡×¤Ë´Þ¤Þ¤ì¤ë¸°¤È¾ÚÌÀ½ñ¾ðÊó¤ò»È¤Ã¤Æ¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Ï¡¢Èó¸ø³«¸°¤È¡¢Èó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ X.509 ¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬¼ý¤á¤é¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£¥­¡¼¥¹¥È¥¢¤ÎºîÀ®¤È´ÉÍý¤Ë¤Ï¡¢keytool(1) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò»È¤¤¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Ë¤ÏÆÃ¤Ë¡¢¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤµ¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤ËÂФ¹¤ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\f3jarsigner\fP ¤Ï¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ëÆâ (½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ëÆâ) ¤Ë¤¢¤ë¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤Ï¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à½ð̾¤òÀ¸À®¤¹¤ë¤Î¤Ç¡¢¥·¥¹¥Æ¥à¤ä¥Ç¥×¥í¥¤¥ä (Java Plug\-in ¤ò´Þ¤à) ¤ÏJAR ¥Õ¥¡¥¤¥ë¤¬½ð̾¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü´ÖÃæ¤Ë½ð̾¤µ¤ì¤¿¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢API ¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¥¿¥¤¥à¥¹¥¿¥ó¥×¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¸½»þÅÀ¤Ç¤Ï¡¢\f3jarsigner\fP ¤Ç½ð̾¤Ç¤­¤ë¤Î¤Ï¡¢JDK ¤Î jar(1) ¥Ä¡¼¥ë¤ÇºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï ZIP ¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Ï ZIP ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï META\-INF/MANIFEST.MF ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£META\-INF/MANIFEST.MF ¥Õ¥¡¥¤¥ë¤Ï¡¢\f3jarsigner\fP ¤¬ ZIP ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\f3jarsigner\fP ¤Ï JAR (¤Þ¤¿¤Ï ZIP) ¥Õ¥¡¥¤¥ë¤Ë¡Ö½ð̾¡×¤òÉÕ¤±¤Þ¤¹¡£½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤ò¡Ö¸¡¾Ú¡×¤¹¤ë¾ì¹ç¤Ï¡¢ \f2\-verify\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.SS -¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾ -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ï¡¢½ð̾¤ÎÀ¸À®¤ËɬÍפÊÈó¸ø³«¸°¤ò´Þ¤à¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤ÎÎã¤Ï¡¢working ¥Ç¥£¥ì¥¯¥È¥ê¤Î mystore ¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤Ë´Þ¤Þ¤ì¤ëÊÌ̾ duke ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢MyJARFile.jar ¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢MyJARFile.jar ¤Ï½ð̾ÉÕ¤­¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-storepass \fP\f4<¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl - \-keypass \fP\f4<Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 MyJARFile.jar duke -.fl -\fP -.fi - -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢Èó¸ø³«¸°¤â¥­¡¼¥¹¥È¥¢Æâ¤Ç¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤¿¤á¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¡¢¤Þ¤¿¡¢»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥È¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¹¥ï¡¼¥É¤È°ã¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -.SS -¥­¡¼¥¹¥È¥¢¤Î¾ì½ê -.LP -.LP -\f3jarsigner\fP ¤Ë¤Ï¡¢ \f2»ÈÍѤ¹¤ë¥­¡¼¥¹¥È¥¢¤Î URL ¤ò»ØÄꤹ¤ë \-keystore\fP ¤¬¤¢¤ê¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢ \f2¤Ï\fP ¥Ç¥Õ¥©¥ë¥È¤Ç¡¢ \f2user.home\fP ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤Ç·è¤Þ¤ë¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£Solaris ¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢ \f2user.home\fP ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¥æ¡¼¥¶¡¼¤Î home ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\-keystore ¥ª¥×¥·¥ç¥ó \f2¤Ë»ØÄꤷ¤¿\fP ÆþÎÏ¥¹¥È¥ê¡¼¥à¤¬ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£URL ¤È¤·¤Æ \f2NONE\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢null ¤Î¥¹¥È¥ê¡¼¥à¤¬ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£ \f2NONE\fP ¤Ï¡¢ \f2KeyStore\fP ¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤¿¤È¤¨¤Ð¤½¤ì¤¬¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¥Ç¥Ð¥¤¥¹¾å¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ê¤É¤Ë»ØÄꤹ¤Ù¤­¤Ç¤¹¡£ -.LP -.SS -¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ -.LP -.LP -java.security ¥Ñ¥Ã¥±¡¼¥¸ \f2¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë\fP KeyStore ¥¯¥é¥¹ \f2¤Ï¡¢\fP ¥­¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤Ø¤Î¥¢¥¯¥»¥¹¤ª¤è¤Ó¾ðÊó¤ÎÊѹ¹¤ò¹Ô¤¦¤¿¤á¤Î¡¢ÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¸ÇÄê¼ÂÁõ¤È¤·¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¡Ö¥¿¥¤¥×¡×¤Î¥­¡¼¥¹¥È¥¢¤òÂоݤȤ¹¤ëÊ£¿ô¤Î°Û¤Ê¤ë¼ÂÁõ¤¬Â¸ºß²Äǽ¤Ç¤¹¡£ -.LP -.LP -¸½ºß¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤â¤Î¤È¤·¤Æ¡¢\f3keytool\fP ¤È \f3jarsigner\fP ¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢\f3Policy Tool\fP ¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£KeyStore \f2¤Ï\fP public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢Java 2 SDK ¥æ¡¼¥¶¡¼¤Ï KeyStore ¤ò»È¤Ã¤¿¤Û¤«¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Sun ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆÈ¼«¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥­¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥­¡¼¥¹¥È¥¢Á´ÂΤÎÀ°¹çÀ­¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢ \f2KeyStore\fP ¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¡Ö¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡× (SPI) ¤Ë´ð¤Å¤¤¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ëÃê¾Ý¥¯¥é¥¹ \f2KeystoreSpi\fP ¤¬Æ±¤¸ \f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¸ºß¤·¤Æ¤ª¤ê¡¢¤³¤Î¥¯¥é¥¹¤Ë¤è¤Ã¤Æ¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤¹¤ëɬÍפΤ¢¤ë¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢ -.na -\f2¡ÖJava °Å¹æ²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡Ö¥×¥í¥Ð¥¤¥À¡×¤ò¼ÂÁõ¤·¡¢KeystoreSpi ¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢KeyStore ¥¯¥é¥¹¤¬Ä󶡤¹¤ë getInstance ¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥­¡¼¥¹¥È¥¢¤Î \f2¼ÂÁõ¤ò\fP ÁªÂò¤Ç¤­¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥­¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤È¥­¡¼¥¹¥È¥¢¼«ÂΤÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.LP -\f3keytool\fP ¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¼ÂÁõ¤Çưºî¤·¤Þ¤¹¡£keytool ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤«¤éÅϤµ¤ì¤¿¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢¤³¤ì¤ò FileInputStream ¤ËÊÑ´¹¤·¤Æ¡¢FileInputStream ¤«¤é¥­¡¼¥¹¥È¥¢¤Î¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤È \f3policytool\fP ¥Ä¡¼¥ë¤Ï¡¢URL ¤Ç»ØÄê²Äǽ¤ÊǤ°Õ¤Î¾ì½ê¤«¤é¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤È \f3keytool\fP ¤Î¾ì¹ç¡¢\f2\-storetype\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\f3Policy Tool\fP ¤Î¾ì¹ç¤Ï¡¢[Edit] ¥á¥Ë¥å¡¼¤Î [Change Keystore] ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¥æ¡¼¥¶¡¼¤¬¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ä¡¼¥ë¤Ï¡¢Ã±½ã¤Ë¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿ \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤ˴ð¤Å¤¤¤Æ¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¤³¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Ï \f2java.security\fP ¤È¸Æ¤Ð¤ì¡¢SDK ¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security Æâ¤Ë¸ºß¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢\f2java.home\fP ¤Ï¼Â¹Ô»þ´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£ -.LP -.LP -³Æ¥Ä¡¼¥ë¤Ï¡¢ \f2keystore.type\fP ¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£ -.LP -.LP -\f2KeyStore\fP ¥¯¥é¥¹¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë static ¥á¥½¥Ã¥É \f2getDefaultType\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥¢¥×¥ì¥Ã¥È¤«¤é \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥× \f2(keystore.type ¥×¥í¥Ñ¥Æ¥£¡¼¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×)\fP ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -.fl -\fP -.fi - -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï JKS (Sun ¤¬Ä󶡤¹¤ëÆÈ¼«¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keystore.type=jks -.fl -\fP -.fi - -.LP -.LP -Ãí: ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢JKS ¤È jks ¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keystore.type=pkcs12 -.fl -\fP -.fi - -.LP -.LP -PKCS#11 ¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤½¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava PKCS#11 Reference Guide¡×¤Ë¤¢¤ë -.na -\f2¡ÖKeyTool and JarSigner¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSignerÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à -.LP -.LP -\f3jarsigner\fP ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¼¡¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤ·¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -SHA1 ¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤¿ DSA (¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à) -.TP 2 -o -SHA256 ¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤¿ RSA ¥¢¥ë¥´¥ê¥º¥à -.TP 2 -o -SHA256 ¤È ECDSA (Âʱ߶ÊÀþ¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à) ¤ò»ÈÍѤ·¤¿ EC (Âʱ߶ÊÀþ) °Å¹æÊý¼°¥¢¥ë¥´¥ê¥º¥à +.PP +JARµ¡Ç½¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¤ª¤è¤Ó¤½¤Î¾¤Î¥Ç¥¸¥¿¥ë¡¦¥Ç¡¼¥¿¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤Ç¤­¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò¿×®¤«¤ÄÍÆ°×¤ËÇÛÉۤǤ­¤Þ¤¹¡£\fIjar\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¡¢³«È¯¼Ô¤ÏJAR¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£(µ»½ÑŪ¤Ê´ÑÅÀ¤«¤é¸À¤¨¤Ð¡¢¤¹¤Ù¤Æ¤ÎZIP¥Õ¥¡¥¤¥ë¤âJAR¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIMETA\-INF/MANIFEST\&.MF\fR¥Õ¥¡¥¤¥ë¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£) +.PP +¥Ç¥¸¥¿¥ë½ð̾¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿(½ð̾¤ÎÂоݤȤʤë¥Ç¡¼¥¿)¡¢¤ª¤è¤Ó¥¨¥ó¥Æ¥£¥Æ¥£(¿Í¡¢²ñ¼Ò¤Ê¤É)¤ÎÈëÌ©¸°¤«¤é·×»»¤µ¤ì¤ë¥Ó¥Ã¥È¤Îʸ»úÎó¤Ç¤¹¡£¼ê½ñ¤­¤Î½ð̾ƱÍÍ¡¢¥Ç¥¸¥¿¥ë½ð̾¤Ë¤Ï¿¤¯¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½ð̾¤ÎÀ¸À®¤Ë»ÈÍѤµ¤ì¤¿ÈëÌ©¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤ò»ÈÍѤ¹¤ë·×»»¤Ë¤è¤Ã¤Æ¡¢¤½¤ì¤¬ËÜʪ¤Ç¤¢¤ë¤³¤È¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£ .RE - -.LP -.LP -¶ñÂÎŪ¤Ë¤Ï¡¢½ð̾¼Ô¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤¬ DSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢\f3jarsigner\fP ¤Ï SHA1withDSA ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ð̾¼Ô¤Î¸°¤¬ RSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢\f3jarsigner\fP ¤Ï SHA256withRSA ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ð̾¼Ô¤Î¸°¤¬ EC ¸°¤Ç¤¢¤ë¾ì¹ç¡¢\f3jarsigner\fP ¤Ï SHA256withECDSA ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£ -.LP -.LP -¤³¤ì¤é¤Î¥Ç¥Õ¥©¥ë¥È¤Î½ð̾¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£ -.LP -.SS -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë -.LP -.LP -\f3jarsigner\fP ¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¾ì¹ç¡¢½ÐÎϤµ¤ì¤ë½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤ÏÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¼¡¤Î 2 ¤Ä¤ÎÄɲåե¡¥¤¥ë¤¬ META\-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -.SF ³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Õ¥¡¥¤¥ë -.TP 2 -o -.DSA¡¢.RSA¡¢¤Þ¤¿¤Ï .EC ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ÈëÌ©¸°¤¬Â¾¿Í¤ËÃΤé¤ì¤Ê¤¤¸Â¤ê¡¢¥Ç¥¸¥¿¥ë½ð̾¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ç¤¹¡£ .RE - -.LP -.LP -¤³¤ì¤é 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢ \f2\-sigFile\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤ«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¤È¤·¤Þ¤¹¡£ -.LP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤³¤ì¤Ï¡¢½ð̾¤¬ÉÕ¤¤¤¿¥Ç¡¼¥¿¤Îµ¡Ç½¤Ç¤¢¤ê¡¢Â¾¤Î¥Ç¡¼¥¿¤Î½ð̾¤È¤Ê¤ë¤è¤¦¤ËÍ×µá¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½ð̾ÉÕ¤­¥Ç¡¼¥¿¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¡£¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¡¢½ð̾¤Ë¤è¤Ã¤ÆËÜʪ¤Ç¤¢¤ë¤È¸¡¾Ú¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¤Î½ð̾¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´ØÏ¢¤¹¤ë¸ø³«¸°/ÈëÌ©¸°¤Î¥Ú¥¢¤È¡¢¸ø³«¸°¤òǧ¾Ú¤¹¤ë1¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Ç¡¢Ê̤Υ¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤¬ÆÃÄê¤ÎÃͤò»ý¤Ä¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢¤«¤é¤Î¸°¤È¾ÚÌÀ½ñ¾ðÊó¤ò»ÈÍѤ·¤Æ¡¢JAR¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Ï¡¢ÈëÌ©¸°¡¢¤ª¤è¤ÓÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤¹¤ë¡¢ÈëÌ©¸°¤Ë´ØÏ¢¤·¤¿X\&.509¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥­¡¼¥¹¥È¥¢¤òºîÀ®¤ª¤è¤Ó´ÉÍý¤·¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈëÌ©¸°¤ò»ÈÍѤ·¤Æ½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ÆÃ¤Ë¡¢¥Õ¥¡¥¤¥ë¤Ø¤Î½ð̾¤Ë»ÈÍѤ¹¤ëÈëÌ©¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Î¥­¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢ÆâÉô(½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ëÆâ)¤Î¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢½ð̾¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü´ÖÃæ¤ËJAR¥Õ¥¡¥¤¥ë¤¬½ð̾¤µ¤ì¤¿¤µ¤ì¤¿¤«¤É¤¦¤«¤ò¥·¥¹¥Æ¥à¤ä¥Ç¥×¥í¥¤¥ä(Java Plug\-in¤ò´Þ¤à)¤¬¥Á¥§¥Ã¥¯¤Ç¤­¤ë¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à½ð̾¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢API¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£ +.PP +¸½»þÅÀ¤Ç¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Þ¤¿¤ÏZIP¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¤Î¤ß¤Ë½ð̾¤Ç¤­¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤ÏZIP¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï\fIMETA\-INF/MANIFEST\&.MF\fR¥Õ¥¡¥¤¥ë¤â´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£\fIMETA\-INF/MANIFEST\&.MF\fR¥Õ¥¡¥¤¥ë¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆZIP¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ëºÝ¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Î\fIjarsigner\fR¥³¥Þ¥ó¥É¤Îưºî¤Ç¤Ï¡¢JAR¤Þ¤¿¤ÏZIP¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£\fI\-verify\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¡¢½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤Î¸å¤Ë½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤Î¸¡¾Ú¤â»î¹Ô¤·¤Þ¤¹¡£¸¡¾Ú¥¨¥é¡¼¤Þ¤¿¤Ï¤½¤Î¾¤ÎÌäÂ꤬ȯÀ¸¤¹¤ë¤È¡¢¥³¥Þ¥ó¥É¤Ë¤è¤ê·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ë¤è¤ê½ÅÂç¤Ê·Ù¹ð¤¬¥¨¥é¡¼¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£¥¨¥é¡¼¤È·Ù¹ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾" +.PP +¥­¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢°ì°Õ¤ÎÊÌ̾¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¤È¤­¤Ï¡¢½ð̾¤ÎÀ¸À®¤ËɬÍפÊÈëÌ©¸°¤ò´Þ¤à¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ÎÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIworking\fR¥Ç¥£¥ì¥¯¥È¥ê¤Î\fImystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤Ë´Þ¤Þ¤ì¤ëÊÌ̾\fIduke\fR¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÈëÌ©¸°¤ò»ÈÍѤ·¤Æ¡¢\fIMyJARFile\&.jar\fR¤È¤¤¤¦Ì¾Á°¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢\fIMyJARFile\&.jar\fR¤Ï½ð̾ÉÕ¤­¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\-sigFile MKSIGN -.fl -\fP +jarsigner \-keystore /working/mystore \-storepass + \-keypass MyJARFile\&.jar duke .fi - -.LP -.LP -¤³¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤Ï¤½¤ì¤¾¤ì MKSIGN.SF ¤È MKSIGN.DSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-sigfile\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèÆ¬¤Î 8 ʸ»ú¤ò¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤­´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£»ÈÍѤǤ­¤ëʸ»ú¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ (_)¡¢¥Ï¥¤¥Õ¥ó¤Ç¤¹¡£ -.LP -\f3½ð̾ (.SF) ¥Õ¥¡¥¤¥ë\fP -.LP -.LP -½ð̾¥Õ¥¡¥¤¥ë (.SF ¥Õ¥¡¥¤¥ë) ¤Ï¡¢\f3jarsigner\fP ¤Ç½ð̾¤òÉÕ¤±¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë¾ï¤Ë´Þ¤Þ¤ì¤ë¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤È»÷¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëƱÍÍ¡¢.SF ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë¡¢¼¡¤Î 3 ¤Ä¤Î¹Ô¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¥Õ¥¡¥¤¥ë̾ -.TP 2 -o -»È¤ï¤ì¤Æ¤¤¤ë¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à (SHA) ¤Î̾Á° -.TP 2 -o -SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃÍ +.if n \{\ .RE - -.LP -.LP -¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤Î¥À¥¤¥¸¥§¥¹¥È (¥Ï¥Ã¥·¥å) ¤Ç¤¹¡£°ìÊý¡¢.SF ¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÃæ¤Î³ºÅö¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë 3 ¹Ô¤Î¥Ï¥Ã¥·¥å¤Ç¤¹¡£ -.LP -.LP -½ð̾¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¸å½Ò¤Î¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë¡¢¤³¤Î¥Ø¥Ã¥À¡¼¤Î¸ºß¤Ë¤è¤Ã¤Æ¸¡¾Ú¤ÎºÇŬ²½¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.LP -\f3½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë\fP -.LP -.SF ¥Õ¥¡¥¤¥ë¤Ë¤Ï½ð̾¤¬ÉÕ¤±¤é¤ì¡¢½ð̾¤Ï½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥­¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤âÉ乿²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ï¡¢½ð̾¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤Ï¡¢»ÈÍѤµ¤ì¤ë¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤Ë±þ¤¸¤Æ .DSA¡¢.RSA¡¢.EC ¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£ -.SS -½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥× -.LP -.LP -\f2jarsigner\fP ¥Ä¡¼¥ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤·¤ÆÊݸ¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢ \f2jarsigner\fP ¤ÏÂåÂØ½ð̾µ¡¹½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤Îưºî¤Ï¾Êά²Äǽ¤Ç¡¢½ð̾»þ¤Ë¼¡¤Î³Æ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f2\-tsa url\fP -.TP 2 -o -\f2\-tsacert alias\fP -.TP 2 -o -\f2\-altsigner class\fP -.TP 2 -o -\f2\-altsignerpath classpathlist\fP -.RE - -.LP -.LP -¤³¤ì¤é¤Î³Æ¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú -.LP -.LP -JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤¬À®¸ù¤¹¤ë¤Î¤Ï¡¢½ð̾¤¬Í­¸ú¤Ç¤¢¤ê¡¢¤«¤Ä½ð̾¤ÎÀ¸À®°Ê¸å¤Ë JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ï¡¢¼¡¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -1. -.SF ¥Õ¥¡¥¤¥ë¤½¤ì¼«ÂΤνð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£ -.LP -¤³¤Î¼ê½ç¤Ç¤Ï¡¢³Æ½ð̾¥Ö¥í¥Ã¥¯ (.DSA) ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë½ð̾¤¬¡¢¼ÂºÝ¤Ë¡¢¸ø³«¸°¤ËÂбþ¤¹¤ëÈó¸ø³«¸°¤ò»È¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£ .DSA ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¸ø³«¸°¤Î¾ÚÌÀ½ñ (¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó) ¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¼ê½ç¤Ç¤Ï¡¢ÌÜŪ¤Î½ð̾¤¬¡¢Âбþ¤¹¤ë½ð̾ (.SF) ¥Õ¥¡¥¤¥ëÆâ¤ÎÍ­¸ú¤Ê½ð̾¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¡¢.SF ¥Õ¥¡¥¤¥ë¤¬²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â³Îǧ¤·¤Þ¤¹¡£ -.TP 3 -2. -.SF ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥¨¥ó¥È¥ê¤Î¥À¥¤¥¸¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤ÎÂбþ¤¹¤ë³Æ¥»¥¯¥·¥ç¥ó¤ÈÆÍ¤­¹ç¤ï¤»¤Æ¸¡¾Ú¤·¤Þ¤¹¡£ -.LP -.SF ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥ工夬³ÊǼ¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¥Ø¥Ã¥À¡¼Æâ¤Î¥Ï¥Ã¥·¥å¤¬¼ÂºÝ¤Ë¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£ -.LP -¥Ï¥Ã¥·¥å¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢¸úΨŪ¤Ë¤ÏÎô¤ëÊýË¡¤ò»È¤Ã¤Æ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢.SF ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹ (¡Ö½ð̾ (.SF) ¥Õ¥¡¥¤¥ë¡×¤ò»²¾È)¡£ -.LP -.SF ¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¡¼¤Ë³ÊǼ¤µ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È¡¢¼ÂºÝ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢½ð̾ (¤ª¤è¤Ó .SF ¥Õ¥¡¥¤¥ë) ¤ÎÀ¸À®¸å¤Ë¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤¬Äɲà \f2(jar ¥Ä¡¼¥ë¤ò»ÈÍÑ)\fP ¤µ¤ì¤¿²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£jar \f2¥Ä¡¼¥ë\fP ¤ò»È¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿¾ì¹ç¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤¹¤¬ (¿·¤·¤¤¥Õ¥¡¥¤¥ëÍѤΥ»¥¯¥·¥ç¥ó¤¬Äɲ䵤ì¤ë)¡¢.SF ¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¡¼°Ê³°¤Î¥»¥¯¥·¥ç¥ó¤Ë³ÊǼ¤µ¤ì¤¿¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤È¤­¤Ï¡¢½ð̾¤ÎÀ¸À®»þ¤Ë JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤¿¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¡¢¸¡¾Ú¤ÏÀ®¸ù¤·¤¿¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.TP 3 -3. -JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¡¢.SF ¥Õ¥¡¥¤¥ëÆâ¤Ë¥¨¥ó¥È¥ê¤ò»ý¤Ä³Æ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ÆÉ¤ß¹þ¤ßÃæ¤Ë¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ò·×»»¤·¡¢·ë²Ì¤ò¥Þ¥Ë¥Õ¥§¥¹¥È¥»¥¯¥·¥ç¥óÆâ¤Î³ºÅö¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÈÈæ³Ó¤·¤Þ¤¹¡£2 ¤Ä¤Î¥À¥¤¥¸¥§¥¹¥È¤ÏƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¸¡¾Ú¤¬¼ºÇÔ¤·¤Þ¤¹¡£ -.RE - -.LP -.LP -¸¡¾Ú¥×¥í¥»¥¹¤ÎÅÓÃæ¤Ç¤Ê¤ó¤é¤«¤Î½ÅÂç¤Ê¸¡¾Ú¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¸¡¾Ú¥×¥í¥»¥¹¤ÏÃæ»ß¤µ¤ì¡¢¥»¥­¥å¥ê¥Æ¥£¡¼Îã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£¥¹¥í¡¼¤µ¤ì¤¿¥»¥­¥å¥ê¥Æ¥£¡¼Îã³°¤Ï¡¢\f3jarsigner\fP ¤¬¥­¥ã¥Ã¥Á¤·¤ÆÉ½¼¨¤·¤Þ¤¹¡£ -.LP -.SS -1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤òÂоݤȤ¹¤ëÊ£¿ô¤Î½ð̾ -.LP -.LP -1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ \f3jarsigner\fP ¥Ä¡¼¥ë¤òÊ£¿ô²ó¼Â¹Ô¤·¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë¡¢°Û¤Ê¤ë¥æ¡¼¥¶¡¼¤ÎÊÌ̾¤ò»ØÄꤹ¤ì¤Ð¡¢JAR ¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î¥æ¡¼¥¶¡¼¤Î½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP +.\} +.PP +¥­¡¼¥¹¥È¥¢¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤¤¤È¡¢ÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢ÈëÌ©¸°¤â¥­¡¼¥¹¥È¥¢Æâ¤Ç¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤¿¤á¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥È¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.SS "¥­¡¼¥¹¥È¥¢¤Î¾ì½ê" +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥­¡¼¥¹¥È¥¢¤ÎURL¤ò»ØÄꤹ¤ë\fI\-keystore\fR¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¢\fIuser\&.home\fR¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ç·è¤Þ¤ë¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î\fI\&.keystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.PP +Oracle Solaris¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢\fIuser\&.home\fR¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ç¥Õ¥©¥ë¥ÈÀßÄꤵ¤ì¤Þ¤¹¡£ +.PP +\fI\-keystore\fR¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¡¢\fIKeyStore\&.load\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£URL¤È¤·¤Æ\fINONE\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢null¤Î¥¹¥È¥ê¡¼¥à¤¬\fIKeyStore\&.load\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£\fINONE\fR¤Ï¡¢\fIKeyStore\fR¥¯¥é¥¹¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤¿¤È¤¨¤Ð¡¢¥Ï¡¼¥É¥¦¥§¥¢¡¦¥È¡¼¥¯¥ó¡¦¥Ç¥Ð¥¤¥¹¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë»ØÄꤷ¤Þ¤¹¡£ +.SS "¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ" +.PP +\fIjava\&.security package\fR¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë\fIKeyStore\fR¥¯¥é¥¹¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤Ø¤Î¥¢¥¯¥»¥¹¤ª¤è¤Ó¾ðÊó¤ÎÊѹ¹¤ò¹Ô¤¦¤¿¤á¤Î¡¢ÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿Â¿¤¯¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£Ê£¿ô¤Î°Û¤Ê¤ë¸ÇÄê¼ÂÁõ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¡¢³Æ¼ÂÁõ¤ÏÆÃÄê¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤òÂоݤȤ·¤Þ¤¹¡£ +.PP +¸½ºß¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë2¤Ä¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ä¡¼¥ë(\fIkeytool\fR¤È\fIjarsigner\fR)¡¢¤ª¤è¤Ó¥Ý¥ê¥·¡¼¡¦¥Ä¡¼¥ë¤È¤¤¤¦Ì¾Á°¤Î1¤Ä¤ÎGUI¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£\fIKeyStore\fR¥¯¥é¥¹¤Ï¸ø³«¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢JDK¥æ¡¼¥¶¡¼¤Ï¡¢¤½¤ì¤ò»ÈÍѤ¹¤ë¾¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.PP +Oracle¤¬Ä󶡤¹¤ëÁȹþ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS¤È¤¤¤¦Ì¾Á°¤ÎÆÈ¼«¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×(·Á¼°)¤ò»ÈÍѤ¹¤ë¤â¤Î¤Ç¡¢¥­¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£Áȹþ¤ß¤Î¼ÂÁõ¤Ç¤Ï¡¢³ÆÈëÌ©¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥­¡¼¥¹¥È¥¢Á´ÂΤÎÀ°¹çÀ­¤Ï(ÈëÌ©¸°¤È¤ÏÊ̤Î)¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ +.PP +¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¡¢¤Ä¤Þ¤ê¡¢\fIKeyStore\fR¥¯¥é¥¹¤Ë¤è¤êÄ󶡤µ¤ì¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹(SPI)¤Ë´Ø¤·¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£Âбþ¤¹¤ë\fIKeystoreSpi\fRÃê¾Ý¥¯¥é¥¹¤¬¤¢¤ê¡¢¤³¤ì¤â\fIjava\&.security package\fR¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤¬¡¢¥×¥í¥Ð¥¤¥À¤¬¼ÂÁõ¤¹¤ëɬÍפΤ¢¤ë¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢¥×¥í¥Ð¥¤¥À¤È¤Ï¡¢Java Security API¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider\&.html¤Ë¤¢¤ë +Java°Å¹æ²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥×¥í¥Ð¥¤¥À¤ò¼ÂÁõ¤·¡¢\fIKeystoreSpi\fR¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢\fIKeyStore\fR¥¯¥é¥¹¤Î\fIgetInstance\fR¥Õ¥¡¥¯¥È¥ê¡¦¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¡¢ÍÍ¡¹¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤Ç¤­¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥­¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÈëÌ©¸°¤È¥­¡¼¥¹¥È¥¢¼«ÂΤÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.PP +\fIjarsigner\fR¤ª¤è¤Ó\fIpolicytool\fR¥³¥Þ¥ó¥É¤Ï¡¢URL¤ò»ÈÍѤ·¤Æ»ØÄê¤Ç¤­¤ëǤ°Õ¤Î¾ì½ê¤«¤é¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ï¡¢Windows¾å¤ÎMSCAPI¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤ÎPKCS11¤ÇÄ󶡤µ¤ì¤ë¤è¤¦¤ÊÈó¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤ª¤è¤Ó\fIkeytool\fR¥³¥Þ¥ó¥É¤Î¾ì¹ç¡¢\fI\-storetype\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ý¥ê¥·¡¼¡¦¥Ä¡¼¥ë¤Î¾ì¹ç¡¢\fB¡Ö¥­¡¼¥¹¥È¥¢¡×\fR¥á¥Ë¥å¡¼¤Î\fB¡ÖÊÔ½¸¡×\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +¥æ¡¼¥¶¡¼¤¬¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¡¢¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤¬ÁªÂò¤µ¤ì¤Þ¤¹¡£¤³¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ï\fIjava\&.security\fR¤È¸Æ¤Ð¤ì¡¢JDK¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Ç¥£¥ì¥¯¥È¥ê\fIjava\&.home/lib/security\fRÆâ¤Ë¸ºß¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢\fIjava\&.home\fR¤Ï¼Â¹Ô»þ´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£\fIjre\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢JDK¤Þ¤¿¤ÏJava Runtime Environment (JRE)¤ÎºÇ¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£ +.PP +³Æ¥Ä¡¼¥ë¤Ï¡¢\fIkeystore\&.type\fR¤ÎÃͤò¼èÆÀ¤·¡¢¤½¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +\fIKeyStore\fR¥¯¥é¥¹¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ëstatic¥á¥½¥Ã¥É\fIgetDefaultType\fR¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥¢¥×¥ì¥Ã¥È¤«¤é\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Î¹Ô¤Ç¤Ï¡¢\fIkeystore\&.type property\fR¤Ç»ØÄꤵ¤ì¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - jarsigner myBundle.jar susan -.fl - jarsigner myBundle.jar kevin -.fl -\fP +KeyStore keyStore = KeyStore\&.getInstance(KeyStore\&.getDefaultType()); .fi - -.LP -.LP -JAR ¥Õ¥¡¥¤¥ë¤¬Ê£¿ô²ó½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÂФ¬Ê£¿ô´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÂФϡ¢1 ²ó¤Î½ð̾¤ËÂФ·¤Æ 1 ¤ÄºîÀ®¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¾å¤ÎÎã¤Ç½ÐÎϤµ¤ì¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î̾Á°¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Ï¡¢\fIjks\fR +(Oracle¤¬Ä󶡤¹¤ëÆÈ¼«¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ)¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - SUSAN.SF -.fl - SUSAN.DSA -.fl - KEVIN.SF -.fl - KEVIN.DSA -.fl -\fP +keystore\&.type=jks .fi - -.LP -.LP -Ãí: JAR ¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢JDK 1.1 ¤Î \f3javakey\fP ¥Ä¡¼¥ë¤ÇÀ¸À®¤µ¤ì¤¿½ð̾¤È \f3jarsigner\fP ¤ÇÀ¸À®¤µ¤ì¤¿½ð̾¤¬º®ºß¤Ç¤­¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤¹¤Ç¤Ë \f3javakey\fP ¤ò»È¤Ã¤Æ½ð̾¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¡¢\f3jarsigner\fP ¤ò»È¤Ã¤Æ½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\fIJKS\fR¤Ï\fIjks\fR¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤½¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIpkcs12\fR¤È¸Æ¤Ð¤ì¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¡¦¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¾ì¹ç¡¢¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keystore\&.type=pkcs12 +.fi +.if n \{\ +.RE +.\} +.PP +\fBÃí°Õ:\fR +PKCS 11¥×¥í¥Ð¥¤¥À¡¦¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/p11guide\&.html¤Ë¤¢¤ë +Java PKCS #11¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥¬¥¤¥É¤Î¡ÖKeyTool¡×¤ª¤è¤Ó¡ÖJarSigner¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à" +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¼¡¤Î¤¤¤º¤ì¤«¤Î¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +SHA1¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤¿¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à(DSA) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +SHA256¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤¿RSA¥¢¥ë¥´¥ê¥º¥à¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +SHA256¤ÈÂʱ߶ÊÀþ¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à(ECDSA)¤ò»ÈÍѤ·¤¿Âʱ߶ÊÀþ(EC)°Å¹æÊý¼°¥¢¥ë¥´¥ê¥º¥à +.RE +.PP +½ð̾¼Ô¤Î¸ø³«¸°¤ÈÈëÌ©¸°¤¬DSA¸°¤Ç¤¢¤ë¾ì¹ç¡¢\fIjarsigner\fR¤Ï\fISHA1withDSA\fR¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£½ð̾¼Ô¤Î¸°¤¬RSA¸°¤Ç¤¢¤ë¾ì¹ç¡¢\fIjarsigner\fR¤Ï\fISHA256withRSA\fR¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤è¤¦¤È¤·¤Þ¤¹¡£½ð̾¼Ô¤Î¸°¤¬EC¸°¤Ç¤¢¤ë¾ì¹ç¡¢\fIjarsigner\fR¤Ï\fISHA256withECDSA\fR¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£ +.PP +¤³¤ì¤é¤Î¥Ç¥Õ¥©¥ë¥È¤Î½ð̾¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£ +.SS "½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë" +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¾ì¹ç¡¢½ÐÎϤµ¤ì¤ë½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤ÏÆþÎÏJAR¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¼¡¤Î2¤Ä¤ÎÄɲåե¡¥¤¥ë¤¬META\-INF¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\&.SF\fR³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Õ¥¡¥¤¥ë +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\&.DSA\fR¡¢\fI\&.RSA\fR¤Þ¤¿¤Ï\fI\&.EC\fR³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë +.RE +.PP +¤³¤ì¤é2¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ï¡¢\fI\-sigFile\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤ«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥ª¥×¥·¥ç¥ó¤¬\fI\-sigFile MKSIGN\fR¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ï\fIMKSIGN\&.SF\fR¤ª¤è¤Ó\fIMKSIGN\&.DSA\fR¤È¤¤¤¦Ì¾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-sigfile\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤È\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèÆ¬¤Î8ʸ»ú¤ò¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬8ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬¤½¤Î¤Þ¤Þ»ÈÍѤµ¤ì¤Þ¤¹¡£ÊÌ̾¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ç»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤ÎºîÀ®»þ¤Ë¡¢³ºÅö¤¹¤ëʸ»ú¤¬²¼Àþ(_)ʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£Í­¸ú¤Êʸ»ú¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ¤ª¤è¤Ó¥Ï¥¤¥Õ¥ó¤Ç¤¹¡£ +½ð̾¥Õ¥¡¥¤¥ë.PP +½ð̾¥Õ¥¡¥¤¥ë(\fI\&.SF\fR¥Õ¥¡¥¤¥ë)¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ëºÝ¤ËJAR¥Õ¥¡¥¤¥ë¤Ë¾ï¤Ë´Þ¤Þ¤ì¤ë¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤È»÷¤Æ¤¤¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤´¤È¤Ë¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤è¤¦¤Ê¡¢¼¡¤Ë¼¨¤¹3¤Ä¤Î¹Ô¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Õ¥¡¥¤¥ë̾ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à(SHA)¤Î̾Á° +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +SHA¥À¥¤¥¸¥§¥¹¥È¤ÎÃÍ +.RE +.PP +¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎSHA¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¡¦¥Ç¡¼¥¿¤Î¥À¥¤¥¸¥§¥¹¥È(¥Ï¥Ã¥·¥å)¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢»ØÄꤵ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¤½¤Î3¹Ô¤Î¥Ï¥Ã¥·¥å¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +½ð̾¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥ工夬³ÊǼ¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Ë¤Ï¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Ø¥Ã¥À¡¼¤Î¥Ï¥Ã¥·¥å¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¤È¡¢¸¡¾Ú¤ÎºÇŬ²½¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë.PP +\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï½ð̾¤¬ÉÕ¤±¤é¤ì¡¢½ð̾¤Ï½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢½ð̾¤Ë»ÈÍѤµ¤ì¤¿ÈëÌ©¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤¹¤ë¥­¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤â¡¢ÆâÉô¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤Ï¡¢»ÈÍѤµ¤ì¤ë¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à¤Ë±þ¤¸¤Æ¡¢\fI\&.DSA\fR¡¢\fI\&.RSA\fR¤Þ¤¿¤Ï\fI\&.EC\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.SS "½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×" +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤ª¤è¤ÓÊݸ¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fIjarsigner\fR¤ÏÂåÂØ½ð̾µ¡¹½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤Îưºî¤Ï¾Êά²Äǽ¤Ç¡¢½ð̾»þ¤Ë¼¡¤Î³Æ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-tsa \fIurl\fR +\-tsacert \fIalias\fR +\-altsigner \fIclass\fR +\-altsignerpath \fIclasspathlist\fR +\-tsapolicyid \fIpolicyid\fR +.fi +.if n \{\ +.RE +.\} +.SS "JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú" +.PP +JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤¬À®¸ù¤¹¤ë¤Î¤Ï¡¢½ð̾¤¬Í­¸ú¤Ç¤¢¤ê¡¢¤«¤Ä½ð̾¤ÎÀ¸À®°Ê¹ß¤ËJAR¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ï¡¢¼¡¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Î½ð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£ +.sp +¸¡¾Ú¤Ç¤Ï¡¢³Æ½ð̾¥Ö¥í¥Ã¥¯(\fI\&.DSA\fR)¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿½ð̾¤¬¡¢¾ÚÌÀ½ñ(¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó)¤â\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ë¼¨¤µ¤ì¤ë¸ø³«¸°¤ËÂбþ¤¹¤ëÈëÌ©¸°¤ò»ÈÍѤ·¤ÆÀ¸À®¤µ¤ì¤¿¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¤Þ¤¿¡¢½ð̾¤¬Âбþ¤¹¤ë½ð̾(\fI\&.SF\fR)¥Õ¥¡¥¤¥ë¤ÎÍ­¸ú¤Ê½ð̾¤Ç¤¢¤ë¤³¤È¤¬³Îǧ¤µ¤ì¡¢¤½¤ì¤Ë¤è¤ê¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤¬²þ¤¶¤ó¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â³Îǧ¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +\fI\&.SF\fR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥¨¥ó¥È¥ê¤Ë¼¨¤µ¤ì¤ë¥À¥¤¥¸¥§¥¹¥È¤ò¡¢¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤ÎÂбþ¤¹¤ë³Æ¥»¥¯¥·¥ç¥ó¤ÈÆÍ¤­¤¢¤ï¤»¤Æ¸¡¾Ú¤·¤Þ¤¹¡£ +.sp +\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥ工夬³ÊǼ¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ç¤Ï¡¢¥Ø¥Ã¥À¡¼Æâ¤Î¥Ï¥Ã¥·¥å¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£°ìÃפ¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ï¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£ +.sp +°ìÃפ·¤Ê¤¤¾ì¹ç¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢¤¢¤Þ¤êºÇŬ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¸¡¾Ú¤¬É¬Íפˤʤê¤Þ¤¹¡£½ð̾¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¡¼¤Ë³ÊǼ¤µ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤¬¡¢¸½ºß¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤Ë°ìÃפ·¤Ê¤¤Íýͳ¤Î1¤Ä¤Ï¡¢½ð̾¤ª¤è¤Ó\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¸å¤Ë¡¢(\fIjar\fR¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ)1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤¬JAR¥Õ¥¡¥¤¥ë¤ËÄɲ䵤줿¤³¤È¤Ç¤¹¡£\fIjar\fR¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ëÍѤΥ»¥¯¥·¥ç¥ó¤¬Äɲ䵤ì¤ë¤³¤È¤Ë¤è¤ê¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤¹¤¬¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£¸¡¾Ú¤¬¤Þ¤ÀÀ®¸ù¤·¤Æ¤¤¤ë¤È¤ß¤Ê¤µ¤ì¤ë¤Î¤Ï¡¢½ð̾¤ÎÀ¸À®°Ê¹ß¤ËJAR¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£¤³¤ì¤¬È¯À¸¤¹¤ë¤Î¤Ï¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¡¼°Ê³°¤Î¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¾ì¹ç¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +\fI\&.SF\fR¥Õ¥¡¥¤¥ëÆâ¤Ë¥¨¥ó¥È¥ê¤ò»ý¤ÄJAR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£ÆÉ¼è¤êÃæ¤Ë¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ò·×»»¤·¡¢·ë²Ì¤ò¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥»¥¯¥·¥ç¥óÆâ¤Î¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÈÈæ³Ó¤·¤Þ¤¹¡£¥À¥¤¥¸¥§¥¹¥È¤ÏƱ¤¸¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¸¡¾Ú¤¬¼ºÇÔ¤·¤Þ¤¹¡£ +.sp +¸¡¾Ú¥×¥í¥»¥¹Ãæ¤Ë¤Ê¤ó¤é¤«¤Î½ÅÂç¤Ê¸¡¾Ú¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥¹¤ÏÄä»ß¤µ¤ì¡¢¥»¥­¥å¥ê¥Æ¥£Îã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Îã³°¤òÊ᪤ª¤è¤Óɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\fBÃí°Õ:\fR +Äɲäηٹð(¤Þ¤¿¤Ï¡¢\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¥¨¥é¡¼)¤Ï¤¹¤Ù¤ÆÆÉ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£Æ±Íͤˡ¢¾ÚÌÀ¤¬¿®Íê¤Ç¤­¤ë¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢(\fI\-verbose\fR¤ª¤è¤Ó\fI\-certs\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ)¾ÚÌÀ½ñ¤ÎÆâÍÆ¤âÆÉ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.SS "1¤Ä¤ÎJAR¥Õ¥¡¥¤¥ë¤òÂоݤȤ¹¤ëÊ£¿ô¤Î½ð̾" +.PP +¼¡¤Î¤è¤¦¤Ë¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò¥Õ¥¡¥¤¥ë¤ÇÊ£¿ô²ó¼Â¹Ô¤·¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë°Û¤Ê¤ë¥æ¡¼¥¶¡¼¤ÎÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢1¤Ä¤ÎJAR¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î¥æ¡¼¥¶¡¼¤Î½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner myBundle\&.jar susan +jarsigner myBundle\&.jar kevin +.fi +.if n \{\ +.RE +.\} +.PP +JAR¥Õ¥¡¥¤¥ë¤¬Ê£¿ô²ó½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢Ê£¿ô¤Î\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤È\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢1²ó¤Î½ð̾¤ËÂФ·¤Æ1¤Ä¤Î¥Ú¥¢¤È¤Ê¤ê¤Þ¤¹¡£Á°½Ò¤ÎÎã¤Ç¤Ï¡¢½ÐÎÏJAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î̾Á°¤Î¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +SUSAN\&.SF +SUSAN\&.DSA +KEVIN\&.SF +KEVIN\&.DSA +.fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -°Ê²¼¤Ç¤Ï¡¢\f3jarsigner\fP ¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£Ãí: -.LP -.RS 3 -.TP 2 -o -¤É¤Î¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèÆ¬¤Ë¥Þ¥¤¥Ê¥¹µ­¹æ (\-) ¤¬ÉÕ¤¯ -.TP 2 -o -¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤ë -.TP 2 -o -¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ (¥ª¥×¥·¥ç¥ó¤ÎÃÍ) ¤Ï¡¢¥æ¡¼¥¶¡¼¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ë -.TP 2 -o -\f2\-keystore\fP¡¢ \f2\-storepass\fP¡¢ \f2\-keypass\fP¡¢ \f2\-sigfile\fP¡¢ \f2\-sigalg\fP¡¢ \f2\-digestalg\fP¡¢¤ª¤è¤Ó \f2\-signedjar\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¾ì¹ç¤Ç¤Ï¤Ê¤¯¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¾ì¹ç¤À¤±¤Ç¤¹¡£Æ±Íͤˡ¢ÊÌ̾¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¾ì¹ç¤À¤±¤Ç¤¢¤ë +.PP +¼¡¤Î³Æ¹à¤Ç¤Ï¡¢ÍÍ¡¹¤Ê\fIjarsigner\fR¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¼¡¤Îɸ½à¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤É¤Î¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèÆ¬¤Ë¥Þ¥¤¥Ê¥¹µ­¹æ(\-)¤¬ÉÕ¤­¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-keystore url -¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¼¨¤¹ URL ¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë \f2.keystore\fP ¤Ç¤¹¡£ ¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢user.home ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£ -.LP -½ð̾¤¹¤ë¤È¤­¤Ï¥­¡¼¥¹¥È¥¢¤¬É¬ÍפǤ¹¡£ ¤³¤Î¤¿¤á¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¤Û¤«¤Î¥­¡¼¥¹¥È¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¸¡¾Ú¤¹¤ë¤È¤­¤Ï¥­¡¼¥¹¥È¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥­¡¼¥¹¥È¥¢¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë \f2\-verbose\fP ¥ª¥×¥·¥ç¥ó¤â»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬¤½¤Î¥­¡¼¥¹¥È¥¢¤Ë 1 ¤Ä¤Ç¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë´Ø¤¹¤ëÄɲþðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -Ãí: \f2\-keystore\fP ¤Î°ú¿ô¤Ë¤Ï¡¢URL ¤ÎÂå¤ï¤ê¤Ë¥Õ¥¡¥¤¥ë̾ (¤È¥Ñ¥¹) ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë̾ (¤È¥Ñ¥¹) ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¡Öfile:¡×URL ¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥¿¥ê¥Ã¥¯ÂΤޤ¿¤Ï²¼ÀþÉÕ¤­¤Î¹àÌÜ(¥ª¥×¥·¥ç¥ó¤ÎÃÍ)¤Î¼ÂºÝ¤ÎÃͤϡ¢»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-storepass\fR¡¢\fI\-keypass\fR¡¢\fI\-sigfile\fR¡¢\fI\-sigalg\fR¡¢\fI\-digestalg\fR¡¢\fI\-signedjar\fR¤ª¤è¤ÓTSA´ØÏ¢¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¾ì¹ç¤Î¤ß¤Ç¤¹¡£½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¾ì¹ç¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\fI\-keystore \fR¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤ª¤è¤Ó¸¡¾Ú¤Ë´ØÏ¢¤·¤Þ¤¹¡£¤Þ¤¿¡¢ÊÌ̾¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤ª¤è¤Ó¸¡¾Ú»þ¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-keystore \fIurl\fR +.RS 4 +¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¼¨¤¹URL¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢\fIuser\&.home\fR¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ç·èÄꤵ¤ì¤¿¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë\fI\&.keystore\fR¤Ë¥Ç¥Õ¥©¥ë¥ÈÀßÄꤵ¤ì¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤Ï½ð̾»þ¤Ë¤ÏɬÍפǤ¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¸¡¾Ú¤¹¤ë¤È¤­¤Ï¥­¡¼¥¹¥È¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥­¡¼¥¹¥È¥¢¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤â»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬¤½¤Î¥­¡¼¥¹¥È¥¢¤Ë1¤Ä¤Ç¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë´Ø¤¹¤ëÄɲþðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +\fI\-keystore\fR°ú¿ô¤Ë¤Ï¡¢URL¤Ç¤Ï¤Ê¤¯¥Õ¥¡¥¤¥ë̾¤È¥Ñ¥¹¤ò»ØÄê¤Ç¤­¡¢¤³¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë: URL¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Ë¤è¤¦¤Ë»ØÄꤹ¤ë¤ÈƱÅù¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \-keystore \fP\f4filePathAndName\fP\f3 -.fl -\fP +\-keystore \fIfilePathAndName\fR +\-keystore file:\fIfilePathAndName\fR .fi -.LP -¤³¤ì¤Ï¡¢¼¡¤Î»ØÄê¤ÈƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +(JRE¤Î\fI$JAVA_HOME/lib/security directory\fR¤Ë¤¢¤ë) +\fIjava\&.security\fR¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤ÇSun PKCS #11¥×¥í¥Ð¥¤¥À¤¬¹½À®¤µ¤ì¤¿¾ì¹ç¡¢\fIkeytool\fR¤ª¤è¤Ó\fIjarsigner\fR¥Ä¡¼¥ë¤ÏPKCS#11¥È¡¼¥¯¥ó¤Ë´ð¤Å¤¤¤ÆÆ°ºî¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \-keystore file:\fP\f4filePathAndName\fP\f3 -.fl -\fP +\-keystore NONE +\-storetype PKCS11 .fi -.LP -JRE ¤Î \f2$JAVA_HOME/lib/security\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤¿ \f2java.security\fP ¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ç Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢keytool ¤È jarsigner ¤Ï PKCS#11 ¥È¡¼¥¯¥ó¤Ë´ð¤Å¤¤¤ÆÆ°ºî¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2\-keystore NONE\fP -.TP 2 -o -\f2\-storetype PKCS11\fP +.if n \{\ .RE -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÀßÄꤵ¤ì¤¿ PKCS#11 ¥È¡¼¥¯¥ó¤ÎÆâÍÆ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.\} +¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¹½À®¤µ¤ì¤¿PKCS#11¥È¡¼¥¯¥ó¤ÎÆâÍÆ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - jarsigner \-keystore NONE \-storetype PKCS11 \-list -.fl - -.fl -\fP +keytool \-keystore NONE \-storetype PKCS11 \-list .fi -.TP 3 -\-storetype storetype -¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Î keystore.type ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Ç¤¹¡£¤³¤ÎÃͤϡ¢ \f2java.security.KeyStore\fP ¤Î static getDefaultType ¥á¥½¥Ã¥É \f2¤Ç¼èÆÀ¤Ç¤­¤Þ¤¹¡£\fP. -.LP -\-storepass ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ PCKS#11 ¥È¡¼¥¯¥ó¤Î PIN ¤ò \f2»ØÄꤹ¤ë¤³¤È¤â\fP ¤Ç¤­¤Þ¤¹¡£²¿¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢keytool ¤È jarsigner ¤Ï¥æ¡¼¥¶¡¼¤Ë¥È¡¼¥¯¥ó PIN ¤Î ÆþÎϤòµá¤á¤Þ¤¹¡£¥È¡¼¥¯¥ó¤ËÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹ (ÀìÍѤΠPIN ¥Ñ¥Ã¥É¤äÀ¸ÂÎÆÉ¤ß¼è¤êµ¡¤Ê¤É) ¤¬¤¢¤ë¾ì¹ç¡¢\f2\-protected\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¥Ñ¥¹¥ï¡¼¥É¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.TP 3 -\-storepass[:env | :file] argument -.LP -¥­¡¼¥¹¥È¥¢¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ËɬÍפʥѥ¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬ÍפʤΤϡ¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤À¤±¤Ç¤¹ (JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¤È¤­¤ÏÉÔÍ×)¡£¤½¤Î¾ì¹ç¡¢ \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -½¤¾þ»Ò \f2env\fP ¤Þ¤¿¤Ï \f2file\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃÍ¤Ï \f2argument\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2env\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë -.TP 2 -o -\f2file\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë +.if n \{\ .RE -.LP -Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼Êݸ¤ì¤¿¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.TP 3 -\-keypass[:env | :file] argument -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ËÂбþ¤¹¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤òÊݸ¤ë¤Î¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£\f3jarsigner\fP ¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Æ¤ª¤é¤º¡¢É¬Íפʥѥ¹¥ï¡¼¥É¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -½¤¾þ»Ò \f2env\fP ¤Þ¤¿¤Ï \f2file\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃÍ¤Ï \f2argument\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2env\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë -.TP 2 -o -\f2file\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë +.\} .RE -.LP -Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼Êݸ¤ì¤¿¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.TP 3 -\-sigfile file -.SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤Ë»È¤¦¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f2file\fP ¤Ë DUKESIGN ¤ò»ØÄꤹ¤ë¤È¡¢À¸À®¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢¤½¤ì¤¾¤ì DUKESIGN.SF ¤È DUKESIGN.DSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î META\-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤Þ¤¹¡£ -.LP -\f2file\fP ¤Ë»ÈÍѤǤ­¤ëʸ»ú¤Ï¡Öa\-zA\-Z0\-9_\-¡×¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢Ê¸»ú¡¢¿ô»ú¡¢²¼Àþ¡¢¤ª¤è¤Ó¥Ï¥¤¥Õ¥ó¤À¤±¤ò»ÈÍѤǤ­¤Þ¤¹¡£Ãí: .SF ¤ª¤è¤Ó .DSA ¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¾®Ê¸»ú¤Ï¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ -.LP -\-sigfile \f2\-sigfile\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèÆ¬¤Î 8 ʸ»ú¤ò¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤­´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-sigalg algorithm -JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ë½ð̾¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -ɸ½à½ð̾¥¢¥ë¥´¥ê¥º¥à̾¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Cryptography Architecture¡×¤Ë¤¢¤ë -.na -\f2¡ÖAppendix A ¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ëÈëÌ©¸°¤È¸ß´¹À­¤Î¤¢¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ÈëÌ©¸°¤Î¥¿¥¤¥×¤Ë±þ¤¸¤Æ SHA1withDSA¡¢SHA256withRSA¡¢SHA256withECDSA ¤Î¤¤¤º¤ì¤«¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¡¼¤¬¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò \f2\-providerClass\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¼ºÇÔ¤·¤Þ¤¹¡£ -.TP 3 -\-digestalg algorithm -JAR ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤ò¥À¥¤¥¸¥§¥¹¥È¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -ɸ½à¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à̾¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Cryptography Architecture¡×¤Ë¤¢¤ë -.na -\f2¡ÖAppendix A ¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢SHA256 ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¡¼¤¬¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò \f2\-providerClass\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¼ºÇÔ¤·¤Þ¤¹¡£ -.TP 3 -\-signedjar file -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç̾Á°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (½ð̾¤ÎÂоݤȤʤë JAR ¥Õ¥¡¥¤¥ë) ¤Î̾Á°¤ÈƱ¤¸Ì¾Á°¤¬»È¤ï¤ì¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤Ï½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-verify -¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ØÄꤵ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¸¡¾Ú¤µ¤ì¤Þ¤¹¡£ JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î½ð̾¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢¡Öjar verified¡× ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥¢¥ë¥´¥ê¥º¥à (RSA ¥×¥í¥Ð¥¤¥À¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò½ªÎ»¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Î RSA ¤Ê¤É) ¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¤è¤¦¤È¤¹¤ë¤È¡¢¡Öjar is unsigned. (signatures missing or not parsable)¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢\f3jarsigner\fP ¤Þ¤¿¤Ï JDK 1.1 ¤Î \f3javakey\fP ¥Ä¡¼¥ë¡¢¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤ò»È¤Ã¤Æ¸¡¾Ú¤Ç¤­¤Þ¤¹¡£ -.LP -¸¡¾Ú¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-certs -¥³¥Þ¥ó¥É¹Ô¤Ç¡¢ \f2\-verify\fP ¤ª¤è¤Ó \f2\-verbose\fP ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢JAR ¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊ󤬽ÐÎϤ˴ޤޤì¤Þ¤¹¡£¾ÚÌÀ½ñ¾ðÊó¤Ë¤Ï¼¡¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -½ð̾¼Ô¤Î¸ø³«¸°¤ò¾ÚÌÀ¤¹¤ë (.DSA ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿) ¾ÚÌÀ½ñ¤Î¼ïÎà¤Î̾Á° -.TP 2 -o -¾ÚÌÀ½ñ¤¬ X. ¾ÚÌÀ½ñ (¤Ä¤Þ¤ê¡¢ \f2java.security.cert.X509Certificate\fP ¤Î¥¤¥ó¥¹¥¿¥ó¥¹) ¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢½ð̾¼Ô¤Î¼±ÊÌ̾ +.PP +\-storetype \fIstoretype\fR +.RS 4 +¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Î\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Ç¤¹¡£¤³¤ÎÃͤϡ¢\fIjava\&.security\&.KeyStore\fR¤Îstatic +\fIgetDefaultType\fR¥á¥½¥Ã¥É¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-storepass\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢PCKS #11¥È¡¼¥¯¥ó¤ÎPIN¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£²¿¤â»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fIkeytool\fR¤ª¤è¤Ó\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢¥È¡¼¥¯¥óPIN¤Î»ØÄê¤òµá¤á¤é¤ì¤Þ¤¹¡£¥È¡¼¥¯¥ó¤ËÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹(ÀìÍѤÎPIN¥Ñ¥Ã¥É¤äÀ¸ÂÎÆÉ¼è¤êµ¡¤Ê¤É)¤¬¤¢¤ë¾ì¹ç¡¢\fI\-protected\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¥Ñ¥¹¥ï¡¼¥É¡¦¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ .RE -.LP -¥­¡¼¥¹¥È¥¢¤Î³Îǧ¤â¹Ô¤ï¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥­¡¼¥¹¥È¥¢¤ÎÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¤¢¤ì¤Ð¡¢¸¡ºº¤µ¤ì¤Þ¤¹¡£½ð̾¼Ô¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢Æâ¤Î¥¨¥ó¥È¥ê¤È°ìÃפ·¤¿¾ì¹ç¤Ï¡¢¼¡¤Î¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -½ð̾¼Ô¤Ë³ºÅö¤¹¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¡£¤³¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢¥­¡¼¥¹¥È¥¢¤Ç¤Ï¤Ê¤¯ JDK 1.1 ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËͳÍ褹¤ë½ð̾¼Ô¤Î¾ì¹ç¤Ï¡¢³ç¸Ì¤Ç¤Ï¤Ê¤¯Âç³ç¸Ì¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£ +.PP +\-storepass[:env | :file] \fIargument\fR +.RS 4 +¥­¡¼¥¹¥È¥¢¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ËɬÍפʥѥ¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤¬É¬ÍפʤΤϡ¢JAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Î¤ß¤Ç¤¹(¸¡¾Ú¤¹¤ë¤È¤­¤Ë¤ÏÉÔÍפǤ¹)¡£¤½¤Î¾ì¹ç¡¢\fI\-storepass\fR¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤¤¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +½¤¾þ»Ò\fIenv\fR¤Þ¤¿¤Ï\fIfile\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃͤÏ\fIargument\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIenv\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ .RE -.TP 3 -\-certchain file -¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿ÊÌ̾¤Ç·è¤Þ¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬´°Á´¤Ç¤Ê¤¤¾ì¹ç¤Ë¡¢»ÈÍѤ¹¤Ù¤­¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤Î¤è¤¦¤Ê¾õÂ֤ˤʤë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ï¡¢¥­¡¼¥¹¥È¥¢¤¬¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¾å¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¤½¤³¤Ë¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÎÁ´ÂΤòÊÝ»ý¤Ç¤­¤ë¤À¤±¤ÎÎΰ褬¸ºß¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¾ì¹ç¤Ç¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°ìÏ¢¤Î X.509 ¾ÚÌÀ½ñ¤¬½ç¤ËÏ¢·ë¤µ¤ì¤¿¤â¤Î¡¢PKCS#7 ·Á¼°¤Îñ°ì¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤Î¤¤¤º¤ì¤«¤È¤Ê¤ê¡¢¤½¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°¤Ï¥Ð¥¤¥Ê¥ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°¡¢Internet RFC 1421 ɸ½à¤Çµ¬Äꤵ¤ì¤ë°õºþ²Äǽ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼° (BASE64 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤È¤â¸Æ¤Ð¤ì¤ë) ¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-verbose -¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f3jarsigner\fP ¤Ï¡Ö¾éĹ¡×¥â¡¼¥É¤Çưºî¤·¡¢JAR ¤Î½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤Î¿Ê¹Ô¾õ¶·¤Ë´Ø¤¹¤ëÄɲþðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-internalsf -°ÊÁ°¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤¿ .DSA (½ð̾¥Ö¥í¥Ã¥¯) ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢À¸À®¤µ¤ì¤¿ .SF ¥Õ¥¡¥¤¥ë (½ð̾¥Õ¥¡¥¤¥ë) ¤Î´°Á´¤Ê¥³¥Ô¡¼¤¬É乿²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¡£¤³¤Îưºî¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£¤³¤Îưºî¤ÏÊѹ¹¤Ë¤Ê¤ê¡¢¸½ºß¤Ç¤Ï¡¢½ÐÎÏ JAR ¥Õ¥¡¥¤¥ëÁ´ÂΤΥµ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï .SF ¥Õ¥¡¥¤¥ë¤¬ .DSA ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢ \f2\-internalsf\fP ¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ë¤È¡¢°ÊÁ°¤ÈƱ¤¸¤è¤¦¤Ëưºî¤·¤Þ¤¹¡£\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦¾ì¹ç¤Ë¤ÏÊØÍø¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ë¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Í­±×¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£\fP -.TP 3 -\-sectionsonly -¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë (½ð̾¥Õ¥¡¥¤¥ë) ¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤ò´Þ¤à¥Ø¥Ã¥À¡¼¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ë¾ðÊ󤪤è¤Ó¥Ï¥Ã¥·¥å¤À¤±¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö½ð̾ (.SF) ¥Õ¥¡¥¤¥ë¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ºÇŬ²½¤ò¹Ô¤¦¤¿¤á¤Ë¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤ò´Þ¤à¥Ø¥Ã¥À¡¼¤¬Äɲ䵤ì¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú»þ¤Ë¡¢¤Þ¤º¥Ø¥Ã¥À¡¼Æâ¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤È¼ÂºÝ¤Ë°ìÃפ¹¤ë¤«¤É¤¦¤«¤¬³Îǧ¤µ¤ì¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ï¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢¸úΨŪ¤Ë¤ÏÎô¤ëÊýË¡¤ò»È¤Ã¤Æ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£ ¶ñÂÎŪ¤Ë¤Ï¡¢.SF ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£ -.LP -¾ÜºÙ¤Ï¡¢¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦¾ì¹ç¤Ë¤ÏÊØÍø¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ë¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Í­±×¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£\fP -.TP 3 -\-protected -\f2true\fP ¤Þ¤¿¤Ï \f2false\fP¡£ÀìÍÑ PIN ¥ê¡¼¥À¡¼¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤ò²ð¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃͤò \f2true\fP ¤Ë»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-providerClass provider\-class\-name -¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤¬¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë (\f2java.security\fP) ¤Î¥ê¥¹¥È¤ËÆþ¤Ã¤Æ¤¤¤Ê¤¤¤È¤­¤Ë¡¢°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤Î¥Þ¥¹¥¿¡¼¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -\f2\-providerArg\fP \f2ConfigFilePath\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£keytool ¤È jarsigner ¤Ï¥×¥í¥Ð¥¤¥À¤òưŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹ (¤³¤³¤Ç¡¢\f2ConfigFilePath\fP ¤Ï¥È¡¼¥¯¥óÀßÄê¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ç¤¹)¡£¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ç Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë PKCS#11 ¥­¡¼¥¹¥È¥¢¤ò°ìÍ÷ɽ¼¨¤¹¤ë¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIfile\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +\fBÃí°Õ:\fR +¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¤Þ¤¿¤Ï¥»¥­¥å¥ê¥Æ¥£Êݸ¤ì¤¿¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-keypass [:env | :file] \fIargument\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ËÂбþ¤¹¤ë¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ÎÈëÌ©¸°¤òÊݸ¤ë¤Î¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£\fIjarsigner\fR¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Æ¤ª¤é¤º¡¢É¬Íפʥѥ¹¥ï¡¼¥É¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +½¤¾þ»Ò\fIenv\fR¤Þ¤¿¤Ï\fIfile\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃͤÏ\fIargument\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIenv\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIfile\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +\fBÃí°Õ:\fR +¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¤Þ¤¿¤Ï¥»¥­¥å¥ê¥Æ¥£Êݸ¤ì¤¿¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-sigfile \fIfile\fR +.RS 4 +À¸À®¤µ¤ì¤¿\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤ª¤è¤Ó\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ë»ÈÍѤ¹¤ë¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Õ¥¡¥¤¥ë¤¬\fIDUKESIGN\fR¤Î¾ì¹ç¡¢À¸À®¤µ¤ì¤ë\fI\&.SF\fR¤ª¤è¤Ó\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ï¡¢\fIDUKESIGN\&.SF\fR¤ª¤è¤Ó\fIDUKESIGN\&.DSA\fR¤È¤¤¤¦Ì¾Á°¤Ç¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î\fIMETA\-INF\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.sp +¥Õ¥¡¥¤¥ëÆâ¤Îʸ»ú¤Ï¡¢¥»¥Ã¥È\fIa\-zA\-Z0\-9_\-\fR¤«¤é»ØÄꤵ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ¤ª¤è¤Ó¥Ï¥¤¥Õ¥óʸ»ú¤Î¤ß¤ò»ÈÍѤǤ­¤Þ¤¹¡£\fI\&.SF\fR¤ª¤è¤Ó\fI\&.DSA\fR¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¾®Ê¸»ú¤Ï¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ +.sp +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-sigfile\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤È\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèÆ¬¤Î8ʸ»ú¤ò¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬8ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬¤½¤Î¤Þ¤Þ»ÈÍѤµ¤ì¤Þ¤¹¡£ÊÌ̾¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ç̵¸ú¤Êʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢³ºÅö¤¹¤ëʸ»ú¤¬²¼Àþ(_)ʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-sigalg \fIalgorithm\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ë½ð̾¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +ɸ½àŪ¤Ê½ð̾¥¢¥ë¥´¥ê¥º¥à̾¤Î¥ê¥¹¥È¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html#AppA¤Ë¤¢¤ë +Java Cryptography Architecture (JCA)¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥¬¥¤¥É¤Î¡ÖÉÕÏ¿A: ɸ½à̾¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ëÈëÌ©¸°¤È¤Î¸ß´¹À­¤¬É¬ÍפǤ¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢ÈëÌ©¸°¤Î¥¿¥¤¥×¤Ë±þ¤¸¤Æ¡¢\fISHA1withDSA\fR¡¢\fISHA256withRSA\fR¤Þ¤¿¤Ï\fISHA256withECDSA\fR¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢\fI\-providerClass\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò¥æ¡¼¥¶¡¼¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¼ºÇÔ¤·¤Þ¤¹¡£ +.RE +.PP +\-digestalg \fIalgorithm\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤ò¥À¥¤¥¸¥§¥¹¥È¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +ɸ½àŪ¤Ê¥á¥Ã¥»¡¼¥¸¡¦¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à̾¤Î¥ê¥¹¥È¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html#AppA¤Ë¤¢¤ë +Java Cryptography Architecture (JCA)¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥¬¥¤¥É¤Î¡ÖÉÕÏ¿A: ɸ½à̾¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fISHA256\fR¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢\fI\-providerClass\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò¥æ¡¼¥¶¡¼¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¼ºÇÔ¤·¤Þ¤¹¡£ +.RE +.PP +\-certs +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¡¢\fI\-certs\fR¥ª¥×¥·¥ç¥ó¤ò\fI\-verify\fR¤ª¤è¤Ó\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊ󤬽ÐÎϤ˴ޤޤì¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ë¤Ï¡¢½ð̾¼Ô¤Î¸ø³«¸°¤ò¾ÚÌÀ¤¹¤ë¾ÚÌÀ½ñ(\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ë³ÊǼ)¤Î¥¿¥¤¥×¤Î̾Á°¤¬´Þ¤Þ¤ì¡¢¾ÚÌÀ½ñ¤¬X\&.509¾ÚÌÀ½ñ(\fIjava\&.security\&.cert\&.X509Certificate\fR¤Î¥¤¥ó¥¹¥¿¥ó¥¹)¤Î¾ì¹ç¡¢½ð̾¼Ô¤Î¼±ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤Î³Îǧ¤â¹Ô¤ï¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥­¡¼¥¹¥È¥¢¤ÎÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë(¤¢¤ë¾ì¹ç)¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£½ð̾¼Ô¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢Æâ¤Î¥¨¥ó¥È¥ê¤È°ìÃפ¹¤ë¾ì¹ç¡¢¤½¤Î½ð̾¼Ô¤Î¥­¡¼¥¹¥È¥¢¤Î¥¨¥ó¥È¥ê¤ÎÊÌ̾¤¬´Ý¥«¥Ã¥³Æâ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-certchain \fIfile\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿ÊÌ̾¤Ë¤è¤Ã¤ÆÉ½¤µ¤ì¤ë¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ÎÈëÌ©¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬´°Á´¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¡¢»ÈÍѤ¹¤ë¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥óÁ´ÂΤòÊÝ»ý¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÎΰ褬¤Ê¤¤¥Ï¡¼¥É¥¦¥§¥¢¡¦¥È¡¼¥¯¥ó¾å¤Ë¥­¡¼¥¹¥È¥¢¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°ìÏ¢¤ÎÏ¢·ë¤µ¤ì¤¿X\&.509¾ÚÌÀ½ñ¡¢PKCS#7·Á¼°¤Îñ°ì¥Ç¡¼¥¿¡¦¥Ö¥í¥Ã¥¯¤Î¤¤¤º¤ì¤«¤È¤Ê¤ê¡¢¤½¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°¤Ï¥Ð¥¤¥Ê¥ê¡¦¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°¡¢Internet RFC 1421ɸ½à¤Çµ¬Äꤵ¤ì¤ë°õºþ²Äǽ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°(Base64¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤È¤â¸Æ¤Ð¤ì¤ë)¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ª¤è¤Óhttp://tools\&.ietf\&.org/html/rfc1421¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verbose +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¾éĹ¥â¡¼¥É¤Çưºî¤·¡¢¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢\fIjarsigner\fR¤Ï¡¢JAR¤Î½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤Î¿Ê¹Ô¾õ¶·¤Ë´Ø¤¹¤ëÄɲþðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-internalsf +.RS 4 +°ÊÁ°¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤¿\fI\&.DSA\fR +(½ð̾¥Ö¥í¥Ã¥¯)¥Õ¥¡¥¤¥ë¤Ë¡¢À¸À®¤µ¤ì¤¿\fI\&.SF\fR¥Õ¥¡¥¤¥ë(½ð̾¥Õ¥¡¥¤¥ë)¤Î¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿´°Á´¤Ê¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¡£ ¤³¤Îưºî¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£½ÐÎÏJAR¥Õ¥¡¥¤¥ëÁ´ÂΤΥµ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-internalsf\fR¤ò»ØÄꤷ¤¿¾ì¹ç¡¢°ÊÁ°¤ÈƱ¤¸¤è¤¦¤Ëưºî¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¼ÂºÝ¤Ë¤Ï¡¢\fI\-internalsf\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬Â礭¤¯¤Ê¤ë¤¿¤á¡¢»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-sectionsonly +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-sectionsonly\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤ë\fI\&.SF\fR¥Õ¥¡¥¤¥ë(½ð̾¥Õ¥¡¥¤¥ë)¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤ò´Þ¤à¥Ø¥Ã¥À¡¼¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë´Þ¤Þ¤ì¤ë¤Î¤Ï¡¢JAR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë´ØÏ¢¤¹¤ë¾ðÊ󤪤è¤Ó¥Ï¥Ã¥·¥å¤Î¤ß¤Ç¤¹¡£½ð̾¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ºÇŬ²½¤Î¤¿¤á¤Ë¡¢¤³¤Î¥Ø¥Ã¥À¡¼¤¬Äɲ䵤ì¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¤¿¤Ó¤Ë¡¢¸¡¾Ú¤Ç¤Ï¡¢¤Þ¤º¥Ø¥Ã¥À¡¼Æâ¤Î¥Ï¥Ã¥·¥å¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£°ìÃפ¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ï¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£°ìÃפ·¤Ê¤¤¾ì¹ç¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤È¤¤¤¦¡¢¤¢¤Þ¤êºÇŬ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¸¡¾Ú¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-sectionsonly\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¼ç¤Ë¥Æ¥¹¥ÈÍѤ˻ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤ò»ÈÍѤ¹¤ë¤È¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬Â礭¤¯¤Ê¤ë¤¿¤á¡¢¥Æ¥¹¥ÈÍѰʳ°¤Ç¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-protected +.RS 4 +\fItrue\fR¤Þ¤¿¤Ï\fIfalse\fR¤Î¤¤¤º¤ì¤«¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ÀìÍÑPIN¥ê¡¼¥À¡¼¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤Ë¤è¤Ã¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢\fItrue\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-providerClass \fIprovider\-class\-name\fR +.RS 4 +°Å¹æ²½¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¤¬\fIjava\&.security\fR¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ï¡¢¤½¤Î¥Þ¥¹¥¿¡¼¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fI\-providerArg ConfigFilePath\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¡¢\fIkeytool\fR¤ª¤è¤Ó\fIjarsigner\fR¥Ä¡¼¥ë¤Ï¡¢¥×¥í¥Ð¥¤¥À¤òưŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¥È¡¼¥¯¥ó¹½À®¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ë\fIConfigFilePath\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤ÎÎã¤Ï¡¢Oracle PKCS #11¥×¥í¥Ð¥¤¥À¤¬¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ë¹½À®¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë\fIPKCS #11\fR¥­¡¼¥¹¥È¥¢¤ò°ìÍ÷ɽ¼¨¤¹¤ë¥³¥Þ¥ó¥É¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ -.fl - \-providerClass sun.security.pkcs11.SunPKCS11 \\ -.fl - \-providerArg /foo/bar/token.config \\ -.fl +jarsigner \-keystore NONE \-storetype PKCS11 \e + \-providerClass sun\&.security\&.pkcs11\&.SunPKCS11 \e + \-providerArg /mydir1/mydir2/token\&.config \e \-list -.fl -\fP .fi -.TP 3 -\-providerName providerName -\f2java.security\fP ¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ç 2 ¤Ä°Ê¾å¤Î¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-providerName\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÆÃÄê¤Î¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤òÁªÂò¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï¡¢¥×¥í¥Ð¥¤¥À¤Î̾Á°¤Ç¤¹¡£ -.LP -Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤Î¾ì¹ç¡¢\f2providerName\fP ¤Ï \f2SunPKCS11\-\fP\f2TokenName\fP ¤È¤¤¤¦·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤³¤Ç¡Ö\f2TokenName\fP¡×¤Ï¡¢¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤¬¹½À®¤µ¤ì¤¿Ì¾Á°¤ÎÀÜÈø¼­¤Ç¤¹¡£ ¾ÜºÙ¤Ï -.na -\f2¹½À®Â°À­¤Îɽ\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRS¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Ì¾Á°ÀÜÈø¼­ \f2SmartCard\fP ¤Î PKCS#11 ¥­¡¼¥¹¥È¥¢¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÆâÍÆ¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-providerName \fIproviderName\fR +.RS 4 +\fIjava\&.security\fR¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Ç2¤Ä°Ê¾å¤Î¥×¥í¥Ð¥¤¥À¤¬¹½À®¤µ¤ì¤¿¾ì¹ç¡¢\fI\-providerName\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢ÆÃÄê¤Î¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¹¥¿¥ó¥¹¤òÂоݤˤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï¡¢¥×¥í¥Ð¥¤¥À¤Î̾Á°¤Ç¤¹¡£ +.sp +Oracle PKCS #11¥×¥í¥Ð¥¤¥À¤Î¾ì¹ç¡¢\fIproviderName\fR¤Ï\fISunPKCS11\-\fR\fITokenName\fR¤È¤¤¤¦·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤³¤Ç¡¢¹½À®Â°À­¤Îɽ¤Ç¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢\fITokenName\fR¤Ï¡¢¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¹¥¿¥ó¥¹¤¬¹½À®¤µ¤ì¤¿Ì¾Á°¤ÎÀÜÈø¼­¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ì¾Á°ÀÜÈø¼­\fISmartCard\fR¤Î\fIPKCS #11\fR¥­¡¼¥¹¥È¥¢¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÆâÍÆ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ -.fl - \-providerName SunPKCS11\-SmartCard \\ -.fl +jarsigner \-keystore NONE \-storetype PKCS11 \e + \-providerName SunPKCS11\-SmartCard \e \-list -.fl -\fP .fi -.TP 3 -¤Ç¤­¤Þ¤¹javaoption -»ØÄꤵ¤ì¤¿ \f2javaoption\fP ʸ»úÎó¤ò Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤ·¤Þ¤¹¡£\f3jarsigner\fP ¤Ï¡¢¼ÂºÝ¤Ë¤Ï Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËÂФ¹¤ë¡Ö¥é¥Ã¥Ñ¡¼¡×¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ÈÍѲÄǽ¤Ê¥¤¥ó¥¿¥×¥ê¥¿¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢ \f2java \-h\fP ¤Þ¤¿¤Ï \f2java \-X\fP ¤È¥³¥Þ¥ó¥É¹Ô¤«¤éÆþÎϤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-tsa url -\f2¡Ö\-tsa http://example.tsa.url¡×\fP ¤¬ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤Ëɽ¼¨¤µ¤ì¤ë¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£URL \f2http://example.tsa.url\fP ¤Ï¡¢TSA (Time Stamping Authority) ¤Î¾ì½ê¤òÆÃÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢ \f2\-tsacert\fP ¥ª¥×¥·¥ç¥ó¤Ç¸¡½Ð¤µ¤ì¤¿ URL ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ \f2\-tsa\fP ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÇÛÃÖ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.LP -¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢ \f2jarsigner\fP ¤Ï¡¢ -.na -\f2RFC 3161\fP @ -.fi -http://www.ietf.org/rfc/rfc3161.txt ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë ¥¿¥¤¥à¥¹¥¿¥ó¥×¥×¥í¥È¥³¥ë (TSP) ¤ò»ÈÍѤ·¤Æ TSA ¤ÈÄÌ¿®¤·¤Þ¤¹¡£À®¸ù¤¹¤ë¤È¡¢TSA ¤«¤éÊÖ¤µ¤ì¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¥È¡¼¥¯¥ó¤Ï½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Î½ð̾¤È¤È¤â¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-tsacert alias -\f2¡Ö\-tsacert alias¡×\fP ¤¬ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤Ëɽ¼¨¤µ¤ì¤ë¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ \f2alias\fP ¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¸½ºßÍ­¸ú¤Ê TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤òÆÃÄꤷ¤Þ¤¹¡£¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñ¤Ç¡¢TSA ¤Î¾ì½ê¤òÆÃÄꤹ¤ë URL ¤ò´Þ¤à Subject Information Access ³ÈÄ¥µ¡Ç½¤¬³Îǧ¤µ¤ì¤Þ¤¹¡£ -.LP -TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤Ï¡¢ \f2\-tsacert ¤ò»È¤Ã¤¿¾ì¹ç¡¢¥­¡¼¥¹¥È¥¢¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fP. -.LP -.TP 3 -\-altsigner class -ÂåÂØ½ð̾µ¡¹½¤ò»ÈÍѤ¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤Ï¡¢com.sun.jarsigner.ContentSigner Ãê¾Ý¥¯¥é¥¹¤ò³ÈÄ¥¤¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò \f2ÆÃÄꤷ¤Þ¤¹¡£\fP. ¤³¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ï¡¢ \f2\-altsignerpath\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£ \f2\-altsigner\fP ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¤È¡¢ \f2jarsigner\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬Ä󶡤¹¤ë½ð̾µ¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢ \f2jarsigner\fP ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î½ð̾µ¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢ \f2com.sun.sun.jarsigner.AuthSigner\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤¬Ä󶡤¹¤ë½ð̾µ¡¹½¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢ \f2jarsigner\fP ¥ª¥×¥·¥ç¥ó \f2¡Ö\-altsigner com.sun.jarsigner.AuthSigner¡×¤ò»ÈÍѤ·¤Þ¤¹¡£\fP -.LP -.TP 3 -\-altsignerpath classpathlist -¥¯¥é¥¹¥Õ¥¡¥¤¥ë (¤½¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë̾¤ÏÁ°½Ò¤Î \f2\-altsigner\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤ë) ¤ª¤è¤Ó¤½¤Î¥¯¥é¥¹¤¬°Í¸¤¹¤ë¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢°Ê²¼¤ÎÎã¤Î¤è¤¦¤Ë JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤¬»ØÄꤵ¤ì¤Þ¤¹¡£ -.LP -ÀäÂХѥ¹¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ \f2classpathlist\fP ¤ËÊ£¿ô¤Î¥Ñ¥¹¤ä JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤é¤ò Solaris ¤Î¾ì¹ç¤Ï¥³¥í¥ó (\f2:\fP) ¤Ç¡¢Windows ¤Î¾ì¹ç¤Ï¥»¥ß¥³¥í¥ó (\f2;\fP) ¤Ç¤½¤ì¤¾¤ì¶èÀÚ¤ê¤Þ¤¹¡£ÌÜŪ¤Î¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£ -.LP -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à¡¢JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-J\fIjavaoption\fR +.RS 4 +»ØÄꤵ¤ì¤¿\fIjavaoption\fRʸ»úÎó¤òJava¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤ·¤Þ¤¹¡£\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¤¥ó¥¿¥×¥ê¥¿¤ËÂФ¹¤ë¥é¥Ã¥Ñ¡¼¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤­¤ë¥¤¥ó¥¿¥×¥ê¥¿¡¦¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjava \-h\fR¤Þ¤¿¤Ï\fIjava \-X\fR¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-tsa \fIurl\fR +.RS 4 +\fI\-tsa http://example\&.tsa\&.url\fR¤¬JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤¢¤ë¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£URL +\fIhttp://example\&.tsa\&.url\fR¤Ï¡¢Time Stamping Authority (TSA)¤Î¾ì½ê¤òÆÃÄꤷ¡¢\fI\-tsacert\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¸¡½Ð¤µ¤ì¤¿URL¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\fI\-tsa\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢TSA¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÇÛÃÖ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.sp +¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢\fIjarsigner\fR¤Ï¡¢RFC 3161¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¿¥¤¥à¥¹¥¿¥ó¥×¡¦¥×¥í¥È¥³¥ë(TSP)¤ò»ÈÍѤ·¤ÆTSA¤ÈÄÌ¿®¤·¤Þ¤¹¡£À®¸ù¤¹¤ë¤È¡¢TSA¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¡¦¥È¡¼¥¯¥ó¤Ï¡¢½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤Î½ð̾¤È¤È¤â¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-tsacert \fIalias\fR +.RS 4 +\fI\-tsacert alias\fR¤¬JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤¢¤ë¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ÊÌ̾¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÍ­¸ú¤ÊTSA¤Î¸ø³«¸°¾ÚÌÀ½ñ¤òÆÃÄꤷ¤Þ¤¹¡£¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñ¤Ç¡¢TSA¤Î¾ì½ê¤òÆÃÄꤹ¤ëURL¤ò´Þ¤àSubject Information Access³ÈÄ¥µ¡Ç½¤¬³Îǧ¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-tsacert\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢TSA¤Î¸ø³«¸°¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-tsapolicyid \fIpolicyid\fR +.RS 4 +TSA¥µ¡¼¥Ð¡¼¤ËÁ÷¿®¤¹¤ë¥Ý¥ê¥·¡¼ID¤ò¼±Ê̤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¼±ÊÌ»Ò(OID)¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ý¥ê¥·¡¼ID¤ÏÁ÷¿®¤µ¤ì¤º¡¢TSA¥µ¡¼¥Ð¡¼¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¥ê¥·¡¼ID¤òÁªÂò¤·¤Þ¤¹¡£ +.sp +¥ª¥Ö¥¸¥§¥¯¥È¼±Ê̻Ҥϡ¢ITU Telecommunication Standardization Sector (ITU\-T)ɸ½à¤Ç¤¢¤ëX\&.696¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¼±Ê̻Ҥϡ¢Ä̾\fI1\&.2\&.3\&.4\fR¤Ê¤É¤Î¡¢Éé¤Ç¤Ï¤Ê¤¤¿ô»ú¤Î¥Ô¥ê¥ª¥É¶èÀÚ¤ê¤Î¥»¥Ã¥È¤Ç¤¹¡£ +.RE +.PP +\-altsigner \fIclass\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ÂåÂØ½ð̾¥á¥«¥Ë¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤Ï¡¢\fIcom\&.sun\&.jarsigner\&.ContentSigner\fRÃê¾Ý¥¯¥é¥¹¤ò³ÈÄ¥¤¹¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¼±Ê̤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ï¡¢\fI\-altsignerpath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£\fI\-altsigner\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë½ð̾¥á¥«¥Ë¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤Î½ð̾¥á¥«¥Ë¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIcom\&.sun\&.sun\&.jarsigner\&.AuthSigner\fR¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤¬Ä󶡤¹¤ë½ð̾¥á¥«¥Ë¥º¥à¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢jarsigner¤Î¥ª¥×¥·¥ç¥ó\fI\-altsigner com\&.sun\&.jarsigner\&.AuthSigner\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-altsignerpath \fIclasspathlist\fR +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¤½¤ì¤¬°Í¸¤¹¤ëJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-altsigner\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬JAR¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¤½¤ÎJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +ÀäÂХѥ¹¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIclasspathlist\fR¤ËÊ£¿ô¤Î¥Ñ¥¹¤äJAR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢¤½¤ì¤é¤ò¡¢Oracle Solaris¤Î¾ì¹ç¤Ï¥³¥í¥ó(:)¤Ç¡¢Windows¤Î¾ì¹ç¤Ï¥»¥ß¥³¥í¥ó(;)¤Ç¡¢¤½¤ì¤¾¤ì¶èÀÚ¤ê¤Þ¤¹¡£ÌÜŪ¤Î¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤àJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\-altsignerpath /home/user/lib/authsigner.jar -.fl -\fP +\-altsignerpath /home/user/lib/authsigner\&.jar .fi -.LP -JAR ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤àJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë̾¤ò¾Êά¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl \-altsignerpath /home/user/classes/com/sun/tools/jarsigner/ -.fl -\fP .fi -.LP -JAR ¥Õ¥¡¥¤¥ë̾¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤Ëα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-strict -½ð̾¤Þ¤¿¤Ï¸¡¾Ú½èÍýÃæ¤Ë¡¢²¿¤é¤«¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¸«¤Ä¤«¤Ã¤¿·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬¥Ä¡¼¥ë¤Î½ªÎ»¥³¡¼¥É¤ËÈ¿±Ç¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡Ö·Ù¹ð¡×¤Î¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-verbose:sub\-options -¸¡¾Ú½èÍý¤Ç¡¢ \f2\-verbose\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢É½¼¨¤¹¤ë¾ðÊó¤ÎÎ̤ò·èÄꤹ¤ë¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò¼è¤ê¤Þ¤¹¡£ \f2\-certs\fP ¤â»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¥â¡¼¥É (¤Þ¤¿¤Ï¥µ¥Ö¥ª¥×¥·¥ç¥ó all) ¤Ç¤Ï¡¢¥¨¥ó¥È¥ê¤¬½èÍý¤µ¤ì¤ë¤¿¤Ó¤Ë¤½¤ì¤é¤Î³Æ¥¨¥ó¥È¥ê¤¬É½¼¨¤µ¤ì¡¢¤½¤Î¤¢¤È¤Ë JAR ¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£ \f2\-certs\fP ¤È \f2\-verbose:grouped\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸½ð̾¼Ô¾ðÊó¤ò»ý¤Ä¥¨¥ó¥È¥ê¤È¤½¤Î¾ÚÌÀ½ñ¾ðÊ󤬡¢¤¤¤Ã¤·¤ç¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ \f2\-certs\fP ¤È \f2\-verbose:summary\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸½ð̾¼Ô¾ðÊó¤ò»ý¤Ä¥¨¥ó¥È¥ê¤È¤½¤Î¾ÚÌÀ½ñ¾ðÊ󤬤¤¤Ã¤·¤ç¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢³Æ¥¨¥ó¥È¥ê¤Î¾ÜºÙ¤¬¡Ö1 ¤Ä¤Î¥¨¥ó¥È¥ê (¤ª¤è¤Ó¤½¤ì°Ê¾å)¡×¤È¤·¤ÆÍ×Ìó¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤ÏÎã¤Î¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-strict +.RS 4 +½ð̾¤Þ¤¿¤Ï¸¡¾Ú½èÍýÃæ¤Ë¡¢¥³¥Þ¥ó¥É¤Ë¤è¤ê·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬È¯¹Ô¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤Ë¤è¤ê¸¡½Ð¤µ¤ì¤¿½ÅÂç¤Ê·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬¥Ä¡¼¥ë¤Î½ªÎ»¥³¡¼¥É¤ËÈ¿±Ç¤µ¤ì¤Þ¤¹¡£¥¨¥é¡¼¤È·Ù¹ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verbose \fIsuboptions\fR +.RS 4 +¸¡¾Ú½èÍý¤Î¾ì¹ç¡¢\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢É½¼¨¤¹¤ë¾ðÊó¤ÎÎ̤ò·èÄꤹ¤ë¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-certs\fR¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥â¡¼¥É(¤Þ¤¿¤Ï¥µ¥Ö¥ª¥×¥·¥ç¥ó\fIall\fR)¤Ç¤Ï¡¢¥¨¥ó¥È¥ê¤¬½èÍý¤µ¤ì¤ë¤¿¤Ó¤Ë³Æ¥¨¥ó¥È¥ê¤¬É½¼¨¤µ¤ì¡¢¤½¤Î¸å¤ËJAR¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£\fI\-certs\fR¤ª¤è¤Ó\fI\-verbose:grouped\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸½ð̾¼Ô¾ðÊó¤ò»ý¤Ä¥¨¥ó¥È¥ê¤¬¡¢¤½¤Î¾ÚÌÀ½ñ¾ðÊó¤È¤È¤â¤Ë¡¢¥°¥ë¡¼¥×²½¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£\fI\-certs\fR¤ª¤è¤Ó\fI\-verbose:summary\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸½ð̾¼Ô¾ðÊó¤ò»ý¤Ä¥¨¥ó¥È¥ê¤¬¡¢¤½¤Î¾ÚÌÀ½ñ¾ðÊó¤È¤È¤â¤Ë¡¢¥°¥ë¡¼¥×²½¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£³Æ¥¨¥ó¥È¥ê¤Î¾ÜºÙ¤Ï¡¢\fI1¤Ä¤Î¥¨¥ó¥È¥ê(°Ê¾å)\fR¤Ë¤Þ¤È¤á¤é¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£Îã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥¨¥é¡¼¤È·Ù¹ð" +.PP +½ð̾¤Þ¤¿¤Ï¸¡¾Ú¥×¥í¥»¥¹Ãæ¤Ë¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¡¢ÍÍ¡¹¤Ê¥¨¥é¡¼¤Þ¤¿¤Ï·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¾ã³²¤¬¤¢¤ë¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¥³¡¼¥É1¤Ç½ªÎ»¤·¤Þ¤¹¡£¾ã³²¤Ï¤Ê¤¤¤¬¡¢1¤Ä°Ê¾å¤Î½ÅÂç¤Ê·Ù¹ð¤¬¤¢¤ë¾ì¹ç¡¢\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ\fB¤¤¤Ê¤¤\fR¾ì¹ç¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¥³¡¼¥É0¤Ç½ªÎ»¤·¡¢\fI\-strict\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï·Ù¹ð¥³¡¼¥É¤ÎORÃͤǽªÎ»¤·¤Þ¤¹¡£¾ðÊó·Ù¹ð¤Î¤ß¤¬¤¢¤ë¡¢¤Þ¤¿¤Ï·Ù¹ð¤¬¤Þ¤Ã¤¿¤¯¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¾ï¤Ë¥³¡¼¥É0¤Ç½ªÎ»¤·¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¥¨¥ó¥È¥ê¤Î½ð̾¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬´ü¸ÂÀÚ¤ì¤Ç¡¢¥Õ¥¡¥¤¥ë¤Î½ð̾¤òµö²Ä¤·¤Ê¤¤KeyUsage³ÈÄ¥µ¡Ç½¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¥³¡¼¥É12 (=4+8)¤Ç½ªÎ»¤·¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +UNIX¥Ù¡¼¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ç¤Ï0¤«¤é255¤Þ¤Ç¤ÎÃͤΤߤ¬Í­¸ú¤Î¤¿¤á¡¢½ªÎ»¥³¡¼¥É¤ÏºÆÍøÍѤµ¤ì¤Þ¤¹¡£ +.PP +¼¡¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤êȯ¹Ô¤Ç¤­¤ë¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð¤Î̾Á°¡¢¥³¡¼¥É¡¢ÀâÌÀ¤òµ­½Ò¤·¤Þ¤¹¡£ +.SS "¾ã³²" +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó²òÀÏ¥¨¥é¡¼¡¢JAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¸°¥Ú¥¢¤ò¸¡º÷¤Ç¤­¤Ê¤¤¡¢¤Þ¤¿¤Ï½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¼ºÇԤʤÉ(¸ÂÄꤵ¤ì¤Þ¤»¤ó)¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Î¼ºÇÔÍýͳ¡£ +.PP +failure +.RS 4 +¥³¡¼¥É1¡£½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤¬¼ºÇÔ¤·¤Þ¤¹¡£ +.RE +.SS "½ÅÂç¤Ê·Ù¹ð" +.PP +\fBÃí°Õ:\fR +\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢½ÅÂç¤Ê·Ù¹ð¤Ï¥¨¥é¡¼¤È¤·¤ÆÊó¹ð¤µ¤ì¤Þ¤¹¡£ +.PP +JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ë¾ÚÌÀ½ñ¤Ë¥¨¥é¡¼¤¬¤¢¤ë¡¢¤Þ¤¿¤Ï½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ë¾¤ÎÌäÂ꤬¤¢¤ë¤Ê¤É¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤¬½ÅÂç¤Ê·Ù¹ð¤òȯ¹Ô¤¹¤ëÍýͳ¡£ +.PP +hasExpiredCert +.RS 4 +¥³¡¼¥É4¡£¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤¬´ü¸ÂÀÚ¤ì¤Î¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +notYetValidCert +.RS 4 +¥³¡¼¥É4¡£¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤¬¤Þ¤ÀÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +chainNotValidated +.RS 4 +¥³¡¼¥É4¡£¤³¤Îjar¤Ë¤Ï¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬Àµ¤·¤¯¸¡¾Ú¤Ç¤­¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +badKeyUsage +.RS 4 +¥³¡¼¥É8¡£¤³¤ÎJAR¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤ÎKeyUsage³ÈÄ¥µ¡Ç½¤¬¥³¡¼¥É½ð̾¤òµö²Ä¤·¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +badExtendedKeyUsage +.RS 4 +¥³¡¼¥É8¡£¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤ÎExtendedKeyUsage³ÈÄ¥µ¡Ç½¤¬¥³¡¼¥É½ð̾¤òµö²Ä¤·¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +badNetscapeCertType +.RS 4 +¥³¡¼¥É8¡£¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤ÎNetscapeCertType³ÈÄ¥µ¡Ç½¤¬¥³¡¼¥É½ð̾¤òµö²Ä¤·¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +hasUnsignedEntry +.RS 4 +¥³¡¼¥É16¡£¤³¤Îjar¤Ë¤Ï¡¢À°¹çÀ­¥Á¥§¥Ã¥¯¤ò¤·¤Æ¤¤¤Ê¤¤Ì¤½ð̾¤Î¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +notSignedByAlias +.RS 4 +¥³¡¼¥É32¡£¤³¤Îjar¤Ë¤Ï¡¢»ØÄꤵ¤ì¤¿ÊÌ̾¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤½ð̾ºÑ¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +aliasNotInStore +.RS 4 +¥³¡¼¥É32¡£¤³¤Îjar¤Ë¤Ï¡¢¤³¤Î¥­¡¼¥¹¥È¥¢Æâ¤ÎÊÌ̾¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤½ð̾ºÑ¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.RE +.SS "¾ðÊó·Ù¹ð" +.PP +¾ðÊó·Ù¹ð¤Ë¤Ï¡¢¥¨¥é¡¼¤Ç¤Ï¤Ê¤¤¤¬ÉÔŬÀڤȤߤʤµ¤ì¤ë¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥³¡¼¥É¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.PP +hasExpiringCert +.RS 4 +¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤¬6¤«·î°ÊÆâ¤Ë´ü¸ÂÀÚ¤ì¤È¤Ê¤ë¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +noTimestamp +.RS 4 +¤³¤Îjar¤Ë¤Ï¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤Þ¤Ê¤¤½ð̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ê¤·¤Ç¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü¸Â(\fIYYYY\-MM\-DD\fR)¸å¤Þ¤¿¤Ï¾­Íè¤Î¼è¾ÃÆü¸å¡¢¥æ¡¼¥¶¡¼¤Ï¤³¤ÎJAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤Ç¤­¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP .SH "Îã" -.LP -.SS -JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾ -.LP -.LP -bundle.jar ¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¡¢¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤¬ jane ¤Ç¤¢¤ë¥æ¡¼¥¶¡¼¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢½ð̾¤òÉÕ¤±¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Æ sbundle.jar ¤È¤¤¤¦½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP +.SS "JAR¥Õ¥¡¥¤¥ë¤Î½ð̾" +.PP +¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥­¡¼¥¹¥È¥¢ÊÌ̾¤¬\fIworking\fR¥Ç¥£¥ì¥¯¥È¥ê¤Î\fImystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤Ë¤¢¤ë\fIjane\fR¤Ç¤¢¤ë¥æ¡¼¥¶¡¼¤ÎÈëÌ©¸°¤Çbundle\&.jar¤Ë½ð̾¤·¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ë\fIsbundle\&.jar\fR¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-storepass \fP\f4<¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl - \-keypass \fP\f4<Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-signedjar sbundle.jar bundle.jar jane -.fl -\fP +jarsigner \-keystore /working/mystore + \-storepass + \-keypass + \-signedjar sbundle\&.jar bundle\&.jar jane .fi - -.LP -.LP -¾å¤Î¥³¥Þ¥ó¥É¤Ç¤Ï \f2\-sigfile\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ÊÌ̾¤«¤é¥Ç¥Õ¥©¥ë¥È̾¤¬¤Ä¤±¤é¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤½¤ì¤é¤Î̾Á°¤Ï \f2JANE.SF\fP ¤ª¤è¤Ó \f2JANE.DSA\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤ÇÆþÎϤ¹¤ë¾ì¹ç¤Ï¡¢¾å¤Î¥³¥Þ¥ó¥É¤òû½Ì¤·¤Æ¼¡¤Î¤è¤¦¤ËÆþÎϤǤ­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore -.fl - \-signedjar sbundle.jar bundle.jar jane -.fl -\fP -.fi - -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢ (¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢) ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥­¡¼¥¹¥È¥¢¤Î»ØÄê¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-signedjar sbundle.jar bundle.jar jane -.fl -\fP -.fi - -.LP -.LP -ºÇ¸å¤Ë¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (\f2bundle.jar\fP) ¤ò½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Çñ½ã¤Ë¾å½ñ¤­¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f2\-signedjar\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.LP -.nf -\f3 -.fl - jarsigner bundle.jar jane -.fl -\fP -.fi - -.LP -.SS -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú -.LP -.LP -¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¡¢½ð̾¤¬Í­¸ú¤Ç JAR ¥Õ¥¡¥¤¥ë¤¬²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥ÉÎã¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-verify sbundle.jar -.fl -\fP -.fi - -.LP -.LP -¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jar verified. -.fl -\fP -.fi - -.LP -.LP -¤È¤¤¤¦¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¸¡¾Ú¤¬À®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\-verbose ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢ \f2¤è¤ê¿¤¯¤Î¾ðÊó¤¬\fP ɽ¼¨¤µ¤ì¤Þ¤¹¡£\-verbose ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç \f3jarsigner\fP \f2¤ò»ÈÍѤ¹¤ëÎã¤È¤½¤Î½ÐÎÏÎã¤ò¡¢\fP ¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-verify \-verbose sbundle.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class -.fl - smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class -.fl - -.fl - s = ½ð̾¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿ -.fl - m = ¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¥¨¥ó¥È¥ê¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹ -.fl - k = ¥­¡¼¥¹¥È¥¢¤Ç 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ -.fl - -.fl - JAR ¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿¡£ -.fl -\fP -.fi - -.LP -.SS -¾ÚÌÀ½ñ¾ðÊó¤ò»È¤Ã¤¿¸¡¾Ú -.LP -.LP -¸¡¾Ú»þ¤Ë \-verify ¤È \-verbose ¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤Æ \f2\-certs\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢ ¤ª¤è¤Ó JAR ¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤â½ÐÎϤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¾ÚÌÀ½ñ¥¿¥¤¥×¡¢½ð̾¼Ô¼±ÊÌ̾¾ðÊó (X.509 ¾ÚÌÀ½ñ¤Î¾ì¹ç¤Î¤ß)¡¢¤ª¤è¤Ó JAR ¥Õ¥¡¥¤¥ë¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñ¤Ë°ìÃפ·¤¿¾ì¹ç¤Ë¤Ï¡¢³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿½ð̾¼Ô¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF -.fl - 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class -.fl - -.fl - X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - -.fl - s = ½ð̾¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿ -.fl - m = ¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¥¨¥ó¥È¥ê¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹ -.fl - k = ¥­¡¼¥¹¥È¥¢¤Ç 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ -.fl - -.fl - JAR ¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿¡£ -.fl -\fP -.fi - -.LP -.LP -½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬ X.509 ¾ÚÌÀ½ñ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¼±ÊÌ̾¾ðÊó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¿¥¤¥×¤ÈÊÌ̾¤À¤±¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬ PGP ¾ÚÌÀ½ñ¤Ç¡¢ÊÌ̾¤¬ bob ¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - PGP, (bob) -.fl -\fP -.fi - -.LP -.SS -¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î½ð̾¼Ô¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú -.LP -.LP -JAR ¥Õ¥¡¥¤¥ë¤¬¡¢JDK 1.1 ¤Î \f3javakey\fP ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢½ð̾¼Ô¤Ï¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¸¡¾Ú¤Î½ÐÎÏ¤Ë¤Ï i ¤È¤¤¤¦µ­¹æ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤¬¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤È¥­¡¼¥¹¥È¥¢Æâ¤ÎÊÌ̾¤ÎξÊý¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢k ¤È i ¤ÎξÊý¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2\-certs\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤ë¤Î¤ËÂФ·¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF -.fl - 1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA -.fl - smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html -.fl - -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] -.fl - -.fl - s = ½ð̾¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿ -.fl - m = ¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¥¨¥ó¥È¥ê¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹ -.fl - k = ¥­¡¼¥¹¥È¥¢¤Ç 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ -.fl - i = ¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥¹¥³¡¼¥×¤Ç 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ -.fl - -.fl - JAR ¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿¡£ -.fl -\fP -.fi - -.LP -.LP -ÊÌ̾ duke ¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÊÌ̾¤Ï¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ç¤Ï¤Ê¤¯¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊÌ̾¤Ç¤¹¡£ -.LP -.SH "·Ù¹ð" -.LP -½ð̾/¸¡¾Ú½èÍýÃæ¤Ë¤Ï¡¢jarsigner ¤«¤é¤µ¤Þ¤¶¤Þ¤Ê·Ù¹ð¤¬É½¼¨¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î·Ù¹ð¥³¡¼¥É¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - hasExpiringCert 2 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬ 6 ¤«·î°ÊÆâ¤Ë´ü¸ÂÀÚ¤ì¤Ë¤Ê¤ê¤Þ¤¹ -.fl - -.fl - hasExpiredCert 4 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬´ü¸ÂÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.fl - -.fl - notYetValidCert 4 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬¤Þ¤ÀÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ -.fl - -.fl - chainNotValidated 4 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¸¡¾Ú¤òÀµ¤·¤¯¹Ô¤¨¤Þ¤»¤ó¡£ -.fl - -.fl - badKeyUsa ge 8 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤Î KeyUsage ³ÈÄ¥¤¬¥³¡¼¥É¤Î½ð̾¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.fl - -.fl - badExtendedKeyUsage 8 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤Î ExtendedKeyUsage ³ÈÄ¥¤¬ -.fl - ¥³¡¼¥É¤Î½ð̾¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.fl - -.fl - badNetscapeCertType 8 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤Î NetscapeCertType ³ÈÄ¥¤¬ -.fl - ¥³¡¼¥É¤Î½ð̾¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.fl - -.fl - hasUnsignedEntry 16 -.fl - ¤³¤Î JAR ¤Ë¤Ï¡¢´°Á´À­¥Á¥§¥Ã¥¯¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤½ð̾¤Ê¤·¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.fl - -.fl - notSignedByAlias 32 -.fl - ¤³¤Î JAR ¤Ë¤Ï¡¢»ØÄꤵ¤ì¤¿ÊÌ̾¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤½ð̾ÉÕ¤­¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹ -.fl - -.fl - aliasNotInStore 32 -.fl - ¤³¤Î JAR ¤Ë¤Ï¡¢¤³¤Î¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤½ð̾ÉÕ¤­¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹ -.fl - -.fl -\fP -.fi - -.LP -.LP -\f2\-strict\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¸¡½Ð¤µ¤ì¤¿·Ù¹ð¤Î OR ¤ò¼è¤Ã¤¿Ãͤ¬¥Ä¡¼¥ë¤Î½ªÎ»¥³¡¼¥É¤È¤·¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¨¥ó¥È¥ê¤Î½ð̾¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬´ü¸ÂÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢¤«¤Ä¤½¤Î¾ÚÌÀ½ñ¤Î keyUsage ³ÈÄ¥¤Ç¥Õ¥¡¥¤¥ë¤Î½ð̾¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢½ªÎ»¥³¡¼¥É 12 (=4+8) ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3Ãí\fP: UNIX ¤Ç»ÈÍѲÄǽ¤ÊÃÍ¤Ï 0 ¤«¤é 255 ¤À¤±¤Ç¤¢¤ë¤¿¤á¡¢½ªÎ»¥³¡¼¥É¤ÏºÆÍøÍѤµ¤ì¤Þ¤¹¡£¤¤¤º¤ì¤Ë¤·¤Æ¤â¡¢½ð̾/¸¡¾Ú½èÍý¤¬¼ºÇÔ¤¹¤ë¤È¡¢¼¡¤Î½ªÎ»¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -failure 1 -.fl -\fP -.fi - -.LP -.SS -JDK 1.1 ¤È¤Î¸ß´¹À­ -.LP -.LP -\f3keytool\fP ¥Ä¡¼¥ë¤È \f3jarsigner\fP ¥Ä¡¼¥ë¤Ï¡¢JDK 1.1 ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤¿ \f3javakey\fP ¥Ä¡¼¥ë¤ò´°Á´¤ËÃÖ¤­´¹¤¨¤ë¤â¤Î¤Ç¤¹¡£¤³¤ì¤é¤Î¿·¤·¤¤¥Ä¡¼¥ë¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ÈÈó¸ø³«¸°¤ò¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ëµ¡Ç½¤ä¡¢½ð̾¤ÎÀ¸À®¤Ë²Ã¤¨¤Æ½ð̾¤ò¸¡¾Ú¤¹¤ëµ¡Ç½¤Ê¤É¡¢\f3javakey\fP ¤è¤ê¿¤¯¤Î¤òµ¡Ç½¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¿·¤·¤¤¥­¡¼¥¹¥È¥¢¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼¤Ï¡¢\f3javakey\fP ¤¬ºîÀ®¤·¤Æ´ÉÍý¤·¤Æ¤¤¤¿¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂå¤ï¤ë¤â¤Î¤Ç¤¹¡£¥­¡¼¥¹¥È¥¢·Á¼°¤È¡¢JDK 1.1 ¤Î \f3javakey\fP ¤¬»È¤Ã¤Æ¤¤¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹·Á¼°¤È¤Î´Ö¤Ë¤Ï²¼°Ì¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¼¡¤Î¤³¤È¤Ï²Äǽ¤Ç¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f3keytool\fP ¤Î \f2\-identitydb\fP ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¾ðÊó¤ò¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3jarsigner\fP ¤Ï¡¢°ÊÁ°¤Ë \f3javakey\fP ¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3jarsigner\fP ¤Ï¡¢\f3javakey\fP¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢jarsigner ¤Ï¡¢Java 2 SDK ¤Î¥­¡¼¥¹¥È¥¢¤Ç¤Ï¤Ê¤¯ JDK 1.1 ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î½ð̾¼ÔÊÌ̾¤òǧ¼±¤·¡¢¤³¤ì¤é¤òÂоݤ˽èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.LP -¼¡¤Îɽ¤Ï¡¢JDK 1.1.x ¤Ç½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¡¢Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤É¤Î¤è¤¦¤Ë°·¤ï¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.\} +.PP +Á°½Ò¤Î¥³¥Þ¥ó¥É¤Ç¤Ï\fI\-sigfile\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤ëÀ¸À®¤µ¤ì¤¿\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤ª¤è¤Ó\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ÊÌ̾¤Ë´ð¤Å¤¤¤¿¥Ç¥Õ¥©¥ë¥È¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢Ì¾Á°ÉÕ¤­¤Î\fIJANE\&.SF\fR¤ª¤è¤Ó\fIJANE\&.DSA\fR¤Ç¤¹¡£ +.PP +¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ª¤è¤ÓÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤òµá¤á¤é¤ì¤ë¾ì¹ç¡¢Á°½Ò¤Î¥³¥Þ¥ó¥É¤òû½Ì¤·¤Æ¡¢¼¡¤Î¤³¤È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 83 84 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3JAR ¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥×\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f31.1 ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼\fP -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f31.1 ¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é Java 2 Platform ¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¿®Íê¤Ç¤­¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼ (4)\fP -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 83 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(83 .ll \n(83u -.in 0 -\f3¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤¬¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼/ÊÌ̾¤ËÆÃ¸¢¤òÍ¿¤¨¤ë\fP -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢ -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢ -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¤¢¤ê/¿®Íê¤Ç¤­¤Ê¤¤ -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢(3) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¤¢¤ê/¿®Íê¤Ç¤­¤Ê¤¤ -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢(1,3) -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢¤È¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤ÇÍ¿¤¨¤é¤ì¤ëÆÃ¸¢ -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢¤È¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤ÇÍ¿¤¨¤é¤ì¤ëÆÃ¸¢(2) -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾¤Î¤Ê¤¤ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(a- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w¤Ê¤· -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤Ê¤· -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤Ê¤· -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤Ê¤· -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤¢¤ê/¿®Íê¤Ç¤­¤ë -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤¢¤ê/¿®Íê¤Ç¤­¤ë -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤¢¤ê/¿®Íê¤Ç¤­¤ë -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤¢¤ê/¿®Íê¤Ç¤­¤ë -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤¢¤ê -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤¢¤ê -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤¢¤ê -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤¢¤ê -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(c- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 83 0 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤¢¤ê -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤¢¤ê -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤¢¤ê -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤¢¤ê -.if \n(83<\n(38 .nr 83 \n(38 -.83 -.rm 83 -.nr 38 \n(d- -.if \n(83<\n(38 .nr 83 \n(38 -.nr 84 0 -.nr 38 \w\f3Í¿¤¨¤é¤ì¤ëÆÃ¸¢\fP -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w¤¹¤Ù¤Æ¤ÎÆÃ¸¢ -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w¤¹¤Ù¤Æ¤ÎÆÃ¸¢ (1) -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w¤¹¤Ù¤Æ¤ÎÆÃ¸¢ (1) -.if \n(84<\n(38 .nr 84 \n(38 -.84 -.rm 84 -.nr 38 \n(e- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(f- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(g- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(i- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(k- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(l- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(m- -.if \n(84<\n(38 .nr 84 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr 43 \n(82+(3*\n(38) -.nr 83 +\n(43 -.nr 44 \n(83+(3*\n(38) -.nr 84 +\n(44 -.nr TW \n(84 -.if t .if \n(TW>\n(.li .tm Table at line 1078 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.ne \n(b|u+\n(.Vu -.ne \n(c|u+\n(.Vu -.ne \n(d|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'\f3Í¿¤¨¤é¤ì¤ëÆÃ¸¢\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(43u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤Ê¤·\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤Ê¤·\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾¤Î¤Ê¤¤ JAR\h'|\n(41u'¤Ê¤·\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤Ê¤·\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤Ê¤·\h'|\n(42u'¤¢¤ê\h'|\n(43u'¤Ê¤·\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤Ê¤·\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.ne \n(k|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤¢¤ê\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤Ê¤·\h'|\n(42u'¤¢¤ê\h'|\n(43u'¤¢¤ê\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤¢¤ê/¿®Íê¤Ç¤­¤ë\h'|\n(42u'¤¢¤ê\h'|\n(43u'¤¢¤ê\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤¢¤ê/¿®Íê¤Ç¤­¤ë\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤Ê¤·\h'|\n(44u'¤¹¤Ù¤Æ¤ÎÆÃ¸¢ -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤¢¤ê/¿®Íê¤Ç¤­¤ë\h'|\n(42u'¤¢¤ê\h'|\n(43u'¤Ê¤·\h'|\n(44u'¤¹¤Ù¤Æ¤ÎÆÃ¸¢ (1) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤¢¤ê/¿®Íê¤Ç¤­¤ë\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤¢¤ê\h'|\n(44u'¤¹¤Ù¤Æ¤ÎÆÃ¸¢ (1) -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-50 - -.LP -.LP -Ãí \- -.LP -.RS 3 -.TP 3 -1. -¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤Ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼/ÊÌ̾¤Ë¤Ä¤¤¤Æ¤Î¸ÀµÚ¤¬¤¢¤ë¾ì¹ç¡¢¤½¤ì¤ò¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Æ¡¢¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÀßÄ꤬Ϳ¤¨¤é¤ì¤¿ÆÃ¸¢¤ËÈ¿±Ç¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -2. -¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë/¥­¡¼¥¹¥È¥¢¤ÎÁȤ߹ç¤ï¤»¤Ï¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¿®Íê¤Ç¤­¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£ -.TP 3 -3. -Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢¿®Íê¤Ç¤­¤Ê¤¤¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ -.TP 3 -4. -Java 2 SDK ¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤ë¤Î¤Ï¡¢¿®Íê¤Ç¤­¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤À¤±¤Ç¤¹¡£ -.RE - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jar(1) ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È -.TP 2 -o -keytool(1) ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È -.TP 2 -o -.na -\f4jarsigner\fP\f2 ¥Ä¡¼¥ë¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢\fP @ +jarsigner \-keystore /working/mystore + \-signedjar sbundle\&.jar bundle\&.jar jane .fi -http://download.oracle.com/javase/tutorial/security/index.html -.na -\f2¡ÖJava ¥Á¥å¡¼¥È¥ê¥¢¥ë¡×\fP\f4¤Î\fP @ -.fi -http://download.oracle.com/javase/tutorial/index.html¡ÖSecurity¡×\f3¤ò»²¾È\fP +.if n \{\ .RE - -.LP +.\} +.PP +¥­¡¼¥¹¥È¥¢¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢(¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î\&.keystore)¤Ç¤¢¤ë¾ì¹ç¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥­¡¼¥¹¥È¥¢¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner \-signedjar sbundle\&.jar bundle\&.jar jane +.fi +.if n \{\ +.RE +.\} +.PP +ÆþÎÏJAR¥Õ¥¡¥¤¥ë(bundle\&.jar)¤ò½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ç¾å½ñ¤­¤¹¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë\fI\-signedjar\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner bundle\&.jar jane +.fi +.if n \{\ +.RE +.\} +.SS "½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú" +.PP +½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¤Æ¡¢½ð̾¤¬Í­¸ú¤ÇJAR¥Õ¥¡¥¤¥ë¤¬²þ¤¶¤ó¤µ¤ì¤Ê¤«¤Ã¤¿¤³¤È¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner \-verify sbundle\&.jar +.fi +.if n \{\ +.RE +.\} +.PP +¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢\fIjar verified\fR¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¾ÜºÙ¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£\fIjarsigner\fR¤ò\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¥µ¥ó¥×¥ë¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner \-verify \-verbose sbundle\&.jar + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST\&.MF + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.SF + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.DSA + smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx\&.class + smk 849 Fri Sep 26 16:12:46 PDT 1997 test\&.class + + s = signature was verified + m = entry is listed in manifest + k = at least one certificate was found in keystore + + jar verified\&. +.fi +.if n \{\ +.RE +.\} +.SS "¾ÚÌÀ½ñ¾ðÊó¤ò»ÈÍѤ·¤¿¸¡¾Ú" +.PP +\fI\-certs\fR¥ª¥×¥·¥ç¥ó¤ò\fI\-verify\fR¤ª¤è¤Ó\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊ󤬽ÐÎϤ˴ޤޤì¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ë¤Ï¡¢¾ÚÌÀ½ñ¥¿¥¤¥×¡¢½ð̾¼Ô¤Î¼±ÊÌ̾¾ðÊó(X\&.509¾ÚÌÀ½ñ¤Î¾ì¹ç)¤¬´Þ¤Þ¤ì¡¢´Ý¥«¥Ã¥³Æâ¤Ë¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î¸ø³«¸°¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤Î¸ø³«¸°¾ÚÌÀ½ñ¤Ë°ìÃפ¹¤ë¾ì¹ç¤Î½ð̾¼Ô¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest\&.jar + + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST\&.MF + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.SF + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.DSA + 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST\&.SF + 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST\&.DSA + smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst\&.class + + X\&.509, CN=Test Group, OU=Java Software, O=Oracle, L=CUP, S=CA, C=US (javatest) + X\&.509, CN=Jane Smith, OU=Java Software, O=Oracle, L=cup, S=ca, C=us (jane) + + s = signature was verified + m = entry is listed in manifest + k = at least one certificate was found in keystore + + jar verified\&. +.fi +.if n \{\ +.RE +.\} +.PP +½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬X\&.509¾ÚÌÀ½ñ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¼±ÊÌ̾¾ðÊó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¿¥¤¥×¤ÈÊÌ̾¤Î¤ß¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬PGP¾ÚÌÀ½ñ¤Ç¡¢ÊÌ̾¤¬\fIbob\fR¤Ç¤¢¤ë¾ì¹ç¡¢\fIPGP, (bob)\fR¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +keytool(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/tutorial/security/index\&.html¤Ë¤¢¤ë +¡Ö¥³¡¼¥¹: Java SE¤Î¥»¥­¥å¥ê¥Æ¥£µ¡Ç½¡× +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/java.1 b/jdk/src/linux/doc/man/ja/java.1 index 062d3209af8..f134a028e6c 100644 --- a/jdk/src/linux/doc/man/ja/java.1 +++ b/jdk/src/linux/doc/man/ja/java.1 @@ -1,509 +1,2553 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH java 1 "07 May 2011" - -.LP -.SH "̾Á°" -java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: java +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "java" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +java \- Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \fP\f3java\fP [ options ] class [ argument ... ] -.fl - \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ] -.fl +\fIjava\fR [\fIoptions\fR] \fIclassname\fR [\fIargs\fR] .fi - -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -class -¸Æ¤Ó½Ð¤µ¤ì¤ë¥¯¥é¥¹¤Î̾Á° -.TP 3 -file.jar -¸Æ¤Ó½Ð¤µ¤ì¤ë JAR ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£É¬¤º \f2\-jar\fP ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë -.TP 3 -argument -\f3main\fP ´Ø¿ô¤ËÅϤµ¤ì¤ë°ú¿ô +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjava\fR [\fIoptions\fR] \fI\-jar\fR \fIfilename\fR [\fIargs\fR] +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclassname\fR +.RS 4 +µ¯Æ°¤¹¤ë¥¯¥é¥¹¤Î̾Á°¡£ +.RE +.PP +\fIfilename\fR +.RS 4 +¸Æ¤Ó½Ð¤µ¤ì¤ëJava¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤Î̾Á°¡£\fI\-jar\fR¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë¤Î¤ß»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\fIargs\fR +.RS 4 +¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿\fImain()\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3java\fP ¥Ä¡¼¥ë¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£java ¥Ä¡¼¥ë¤Ï¡¢Java Runtime Environment ¤òµ¯Æ°¤·¤¿¤¢¤È¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¡¢¤½¤Î¥¯¥é¥¹¤Î \f3main\fP ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢public ¤ª¤è¤Ó static ¤È¤·¤ÆÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢ÃͤòÊÖ¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤µ¤é¤Ë¡¢ \f2String\fP ÇÛÎó¤ò¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄê¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥á¥½¥Ã¥É¤ÎÀë¸À¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP +.PP +\fIjava\fR¥³¥Þ¥ó¥É¤ÏJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò³«»Ï¤·¤Þ¤¹¡£Java Runtime Environment (JRE)¤òµ¯Æ°¤·¤¿¸å¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¡¢¤½¤Î¥¯¥é¥¹¤Î\fImain()\fR¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¡¢¤³¤ì¤ò¹Ô¤¤¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢\fIpublic\fR¤ª¤è¤Ó\fIstatic\fR¤È¤·¤ÆÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢ÃͤÏÊÖ¤»¤Þ¤»¤ó¡£¤µ¤é¤Ë¡¢\fIString\fRÇÛÎó¤ò¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄê¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥ÉÀë¸À¤Ï¼¡¤Î·Á¼°¤ò´Þ¤ß¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -public static void main(String args[]) -.fl -\fP +public static void main(String[] args) .fi - -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó°Ê³°¤ÎºÇ½é¤Î°ú¿ô¤¬¡¢¸Æ¤Ó½Ð¤µ¤ì¤ë¥¯¥é¥¹¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î̾Á°¤Ë¤Ï¡¢´°Á´»ØÄê¤Î¥¯¥é¥¹Ì¾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3\-jar\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó°Ê³°¤ÎºÇ½é¤Î°ú¿ô¤¬¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤È¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à \f3JAR\fP ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¤Î \f3Main\-Class\fP ¥Ø¥Ã¥À¡¼¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬µ¯Æ°¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -Java Runtime ¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¡¢¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¡¢¤ª¤è¤Ó¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Î 3 ²Õ½ê¤«¤éµ¯Æ°¥¯¥é¥¹¤È¾¤Î»ÈÍѤµ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -.LP -¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤Î¤¢¤È¤Ë¤¢¤ë¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó°Ê³°¤Î°ú¿ô¤Ï¡¢\f3main\fP ´Ø¿ô¤ËÅϤµ¤ì¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +\fIjava\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\fImain()\fR¥á¥½¥Ã¥É¤¬¤¢¤ë¤«\fIjavafx\&.application\&.Application\fR¤ò³ÈÄ¥¤¹¤ë¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¤³¤È¤Ç¡¢JavaFX¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¡¢µ¯Æ°¥Ä¡¼¥ë¤Ï\fIApplication\fR¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¹½À®¤·¡¢¤½¤Î\fIinit()\fR¥á¥½¥Ã¥É¤ò¥³¡¼¥ë¤·¡¢\fIstart(javafx\&.stage\&.Stage)\fR¥á¥½¥Ã¥É¤ò¥³¡¼¥ë¤·¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjava\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤ºÇ½é¤Î°ú¿ô¤Ï¡¢¸Æ¤Ó½Ð¤µ¤ì¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤Ç¤¹¡£\fI\-jar\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î°ú¿ô¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤àJAR¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£µ¯Æ°¥¯¥é¥¹¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Î\fIMain\-Class\fR¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Ø¥Ã¥À¡¼¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +JRE¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¡¢¥¤¥ó¥¹¥È¡¼¥ëºÑ³ÈÄ¥µ¡Ç½¤ª¤è¤Ó¥æ¡¼¥¶¡¼¤Î¥¯¥é¥¹¡¦¥Ñ¥¹¤Î3²Õ½ê¤«¤é¡¢µ¯Æ°¥¯¥é¥¹(¤ª¤è¤Ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾¤Î¥¯¥é¥¹)¤ò¸¡º÷¤·¤Þ¤¹¡£ +.PP +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤Î¸å¤Î°ú¿ô¤Ï¡¢\fImain()\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -µ¯Æ°¥Ä¡¼¥ë¤Ë¤Ï¡¢¸½ºß¤Î¼Â¹Ô´Ä¶­¤ª¤è¤Ó¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëɸ½à¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢²¾ÁÛ¥Þ¥·¥ó¤Î¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¡¢Èóɸ½à¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SH "ɸ½à¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-client -.LP -Java HotSpot Client VM ¤òÁªÂò¤·¤Þ¤¹¡£64 ¥Ó¥Ã¥ÈÂбþ JDK ¤Ï¸½»þÅÀ¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò̵»ë¤·¡¢Âå¤ï¤ê¤Ë Java Hotspot Server VM ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¥Ç¥Õ¥©¥ë¥È¤Î VM ¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥µ¡¼¥Ð¡¼ \- ¥¯¥é¥¹¥Þ¥·¥ó¤Î¸¡½Ð¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-server -.LP -Java HotSpot Server VM ¤òÁªÂò¤·¤Þ¤¹¡£64 ¥Ó¥Ã¥ÈÂбþ JDK ¾å¤Ç¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï Java Hotspot Server VM ¤À¤±¤Ç¤¢¤ë¤¿¤á¡¢\-server ¥ª¥×¥·¥ç¥ó¤¬°ÅÌÛŪ¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£ -.LP -¥Ç¥Õ¥©¥ë¥È¤Î VM ¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥µ¡¼¥Ð¡¼ \- ¥¯¥é¥¹¥Þ¥·¥ó¤Î¸¡½Ð¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-agentlib:libname[=options] -¥Í¥¤¥Æ¥£¥Ö¥¨¡¼¥¸¥§¥ó¥È¥é¥¤¥Ö¥é¥ê \f2libname\fP ¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.LP -\-agentlib:hprof -.LP -\-agentlib:jdwp=help -.LP -\-agentlib:hprof=help -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJVMTI ¥¨¡¼¥¸¥§¥ó¥È¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-agentpath:pathname[=options] -¥Õ¥ë¥Ñ¥¹Ì¾¤ò»ÈÍѤ·¤Æ¡¢¥Í¡¼¥Æ¥£¥Ö¥¨¡¼¥¸¥§¥ó¥È¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJVMTI ¥¨¡¼¥¸¥§¥ó¥È¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-classpath classpath -.TP 3 -\-cp classpath -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î³Æ¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\f3\-classpath\fP ¤Þ¤¿¤Ï \f3\-cp\fP ¤ò»ØÄꤹ¤ë¤È¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ \f3CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤ÎÀßÄ꤬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£ -.LP -\f3\-classpath\fP ¤â \f3\-cp\fP ¤â»ÈÍѤµ¤ì¤º¡¢\f3CLASSPATH\fP ¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê (\f4.\fP) ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -ÊØµ¹¾å¡¢ \f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢ \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ­¤Ê¤¤)¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2foo\fP ¤Ë \f2a.jar\fP ¤È \f2b.JAR\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ \f2foo/*\fP ¤Ï \f2A.jar:b.JAR\fP ¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤»ØÄê¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£* ¤À¤±¤«¤éÀ®¤ë \f2¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢\fP ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£ \f2CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥ÉŸ³«¤Ïɬ¤º¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Îµ¯Æ°Á°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2System.getenv("CLASSPATH")\fP ¸Æ¤Ó½Ð¤·¤Î¤è¤¦¤Ë´Ä¶­¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤ï¤Ê¤¤¸Â¤ê¡¢Java ¥×¥í¥°¥é¥à¤¬Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -¥¯¥é¥¹¥Ñ¥¹¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2¡Ö¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-Dproperty=value -¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤòÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-d32 -.TP 3 -\-d64 -¤½¤ì¤¾¤ì 32 ¥Ó¥Ã¥È´Ä¶­¡¢64 ¥Ó¥Ã¥È´Ä¶­¤Ç¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£Í׵ᤵ¤ì¤¿´Ä¶­¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£ -.LP -¸½ºß¤Î¤È¤³¤í¡¢Java HotSpot Server VM ¤À¤±¤¬ 64 ¥Ó¥Ã¥È¤ÎÁàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤ê¡¢\-server ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢\-d64 ¤â°ì½ï¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\-d64 »ÈÍÑ»þ¤Ë¤Ï¡Ö\-client¡×¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤³¤Î»ÅÍͤϡ¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÊѹ¹¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f3\-d32\fP ¤È \f3\-d64\fP ¤¬¤É¤Á¤é¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ¡¢32 ¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î»ÅÍͤϡ¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÊѹ¹¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-enableassertions[:"..." | : ] -.TP 3 -\-ea[:"..." | : ] -¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥¢¥µ¡¼¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.LP -°ú¿ô¤Ê¤·¤Î \f3enableassertions\fP ¤Þ¤¿¤Ï \f3\-ea\fP ¤ò»ØÄꤹ¤ë¤È¡¢¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö\f2...\fP¡×¤Ç½ª¤ï¤ë°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¤È¤·¤Æ¡Ö\f2...\fP¡×¤À¤±¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö\f2...\fP¡×¤Ç½ª¤ï¤é¤Ê¤¤°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -ñ°ì¥³¥Þ¥ó¥É¹Ô¤Ë¤³¤ì¤é¤Î¥¹¥¤¥Ã¥Á¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÊ£¿ô»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿¥¹¥¤¥Ã¥Á¤¬½çÈ֤˽èÍý¤µ¤ì¤Æ¤«¤é¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤¿¤È¤¨¤Ð¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2com.wombat.fruitbat\fP (¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à) Æâ¤Ç¤Î¤ß¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Æ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl -java \-ea:com.wombat.fruitbat...
      -.fl -\fP -.fi -.LP -\f3\-enableassertions\fP ¤ª¤è¤Ó \f3\-ea\fP ¥¹¥¤¥Ã¥Á¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥í¡¼¥À¤ª¤è¤Ó¥·¥¹¥Æ¥à¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤¹¡£¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ë¤Ï¥¯¥é¥¹¥í¡¼¥À¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤³¤Îµ¬Â§¤Ë¤Ï 1 ¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢°ú¿ô¤Ê¤·¤Î·Á¼°¤Ç¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ë¤È¡¢¤½¤Î»ØÄ꤬¥·¥¹¥Æ¥à¤ËŬÍѤµ¤ì¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤ÎÎã³°¤òÍøÍѤ¹¤ì¤Ð¡¢¥·¥¹¥Æ¥à¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò´Êñ¤ËÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Ê̤Υ¹¥¤¥Ã¥Á¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤¢¤È¤Î \f3\-enablesystemassertions\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-disableassertions[:"..." | : ] -.TP 3 -\-da[:"..." | : ] -¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ -.LP -°ú¿ô¤Ê¤·¤Î \f3disableassertions\fP ¤Þ¤¿¤Ï \f3\-da\fP ¤ò»ØÄꤹ¤ë¤È¡¢¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö\f2...\fP¡×¤Ç½ª¤ï¤ë°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¤È¤·¤Æ¡Ö\f2...\fP¡×¤À¤±¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö\f2...\fP¡×¤Ç½ª¤ï¤é¤Ê¤¤°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -¥Ñ¥Ã¥±¡¼¥¸ \f2com.wombat.fruitbat\fP Æâ¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¡¢¥¯¥é¥¹ \f2com.wombat.fruitbat.Brickbat\fP Æâ¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤¿¤¦¤¨¤Ç¡¢¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl -java \-ea:com.wombat.fruitbat... \-da:com.wombat.fruitbat.Brickbat \fP\f4
      \fP\f3 -.fl -\fP -.fi -.LP -\f3\-disableassertions\fP ¤ª¤è¤Ó \f3\-da\fP ¥¹¥¤¥Ã¥Á¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥í¡¼¥À¤ª¤è¤Ó¥·¥¹¥Æ¥à¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤¹¡£¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ë¤Ï¥¯¥é¥¹¥í¡¼¥À¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤³¤Îµ¬Â§¤Ë¤Ï 1 ¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢°ú¿ô¤Ê¤·¤Î·Á¼°¤Ç¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ë¤È¡¢¤½¤Î»ØÄ꤬¥·¥¹¥Æ¥à¤ËŬÍѤµ¤ì¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤ÎÎã³°¤òÍøÍѤ¹¤ì¤Ð¡¢¥·¥¹¥Æ¥à¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò´Êñ¤ËÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Ê̤Υ¹¥¤¥Ã¥Á¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤¢¤È¤Î \f3\-disablesystemassertions\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-enablesystemassertions -.TP 3 -\-esa -¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¥¢¥µ¡¼¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥È¥¹¥Æ¡¼¥¿¥¹¤ò \f2true\fP ¤ËÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-disablesystemassertions -.TP 3 -\-dsa -¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-jar -JAR ¥Õ¥¡¥¤¥ë¤Ë¥«¥×¥»¥ë²½¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£ºÇ½é¤Î°ú¿ô¤Ï¡¢µ¯Æ°¥¯¥é¥¹¤Î̾Á°¤Ç¤Ï¤Ê¤¯¡¢JAR ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬µ¡Ç½¤¹¤ë¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë\f3¡ÖMain\-Class:\fP\f4classname\fP\f3¡×\fP¤È¤¤¤¦·Á¼°¤Î¹Ô¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f2classname\fP ¤Ë¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«»Ï°ÌÃ֤Ȥ·¤Æµ¡Ç½¤¹¤ë \f2public\ static\ void\ main(String[]\ args)\fP ¥á¥½¥Ã¥É¤ò´Þ¤à¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤È¤½¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢jar(1)¤È¡¢ -.na -\f2Java ¥Á¥å¡¼¥È¥ê¥¢¥ë\fP @ -.fi -http://download.oracle.com/javase/tutorial/deployment/jar¤Î¡ÖTrail: Jar Files¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢»ØÄꤷ¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¤Î¥½¡¼¥¹¤Ë¤Ê¤ê¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Î¤Û¤«¤ÎÀßÄê¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ -.LP -Solaris 8 ¤Ç¤Ï¡¢¡Öjava \-jar¡×¥ª¥×¥·¥ç¥ó¤Ç¼Â¹Ô¤Ç¤­¤ë JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢¼Â¹Ô¸¢¸Â¤Î¥»¥Ã¥È¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¡Öjava \-jar¡×¤ò»ÈÍѤ·¤Ê¤¤¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£Java Archive (JAR) ¥Õ¥¡¥¤¥ë -.na - @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html -.TP 3 -\-javaagent:jarpath[=options] -Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¨¡¼¥¸¥§¥ó¥È¤ò¥í¡¼¥É¤·¤Þ¤¹¡£ java.lang.instrument ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.na - @ -.fi -http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html -.TP 3 -\-jre\-restrict\-search -¥æ¡¼¥¶¡¼¥×¥é¥¤¥Ù¡¼¥È¤Ê JRE ¤ò¥Ð¡¼¥¸¥ç¥ó¸¡º÷¤Ë´Þ¤á¤Þ¤¹¡£ -.TP 3 -\-no\-jre\-restrict\-search -¥æ¡¼¥¶¡¼¥×¥é¥¤¥Ù¡¼¥È¤Ê JRE ¤ò¥Ð¡¼¥¸¥ç¥ó¸¡º÷¤«¤é½ü³°¤·¤Þ¤¹¡£ -.TP 3 -\-verbose -.TP 3 -\-verbose:class -¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤¿¤Ó¤Ë¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-verbose:gc -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¤¿¤Ó¤ËÊó¹ð¤·¤Þ¤¹¡£ -.TP 3 -\-verbose:jni -¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤Î»ÈÍѤª¤è¤Ó¤½¤Î¾¤Î Java Native Interface (JNI) ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤òÊó¹ð¤·¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-version:release -¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤¬¡¢\f2release\fP ¤Ç»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤òɬÍפȤ·¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£µ¯Æ°¤µ¤ì¤¿ java ¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤³¤Î»ØÄêÆâÍÆ¤òËþ¤¿¤µ¤º¡¢¤«¤ÄŬÀڤʼÂÁõ¤¬¥·¥¹¥Æ¥à¾å¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎŬÀڤʼÂÁõ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -\f2release\fP ¤Ç¤Ï¡¢ÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄê¤Ç¤­¤ë¤À¤±¤Ç¤Ê¤¯¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤È¸Æ¤Ð¤ì¤ë¥Ð¡¼¥¸¥ç¥ó¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤò¶õÇò¤Ç¶èÀڤä¿·Á¼°¤Î½ç½øÉÕ¤­¥ê¥¹¥È¤Ç¤¹¡£¥Ð¡¼¥¸¥ç¥óÈϰϤϡ¢¥Ð¡¼¥¸¥ç¥ó ID¡¢¥Ð¡¼¥¸¥ç¥ó ID ¤Î¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤òÉղä·¤¿¤â¤Î¡¢¥Ð¡¼¥¸¥ç¥ó ID ¤Î¸å¤Ë¥×¥é¥¹µ­¹æ (+) ¤òÉղä·¤¿¤â¤Î¡¢2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤò¥¢¥ó¥Ñ¥µ¥ó¥É (&) ¤Ç·ë¹ç¤·¤¿¤â¤Î¡¢¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¥×¥ì¥Õ¥£¥Ã¥¯¥¹°ìÃפò¡¢¥×¥é¥¹µ­¹æ¤Ï»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó°Ê¾å¤ò¡¢¥¢¥ó¥Ñ¥µ¥ó¥É¤Ï 2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤÎÏÀÍýÀѤò¡¢¤½¤ì¤¾¤ì°ÕÌ£¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -\-version:"1.6.0_13 1.6*&1.6.0_10+" -.fl -\fP -.fi -¾åµ­¤Î°ÕÌ£¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 1.6.0_13¡¢1.6 ¤ò¥Ð¡¼¥¸¥ç¥ó ID ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤Ë»ý¤Ä 1.6.0_10 °Ê¾å¤Î¥Ð¡¼¥¸¥ç¥ó¡¢¤Î¤¤¤º¤ì¤«¤ò¥¯¥é¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤¬É¬ÍפȤ·¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Î¸·Ì©¤Ê¹½Ê¸¤äÄêµÁ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Network Launching Protocol & API Specification (JSR\-56)¡×¤Î¡ÖAppendix A¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -JAR ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤ÏÄ̾¥Ð¡¼¥¸¥ç¥óÍ×·ï¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤è¤ê¤â¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Ë»ØÄꤹ¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤ˴ؤ¹¤ë½ÅÍפʥݥꥷ¡¼¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡ÖÃí¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-showversion -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤ÆÂ³¹Ô¤·¤Þ¤¹¡£ -.TP 3 -\-? -.TP 3 -\-help -»ÈÍÑË¡¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-splash:imagepath -\f2imagepath\fP ¤Ë»ØÄꤵ¤ì¤¿²èÁü¤ò´Þ¤à¥¹¥×¥é¥Ã¥·¥å²èÌ̤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-X -Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.PP +\fIjava\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥«¥Æ¥´¥ê¤ËʬÎà¤Ç¤­¤ë¹­ÈϤʥª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ɸ½à¥ª¥×¥·¥ç¥ó .RE - -.LP -.SS +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} Èóɸ½à¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-Xint -¥¤¥ó¥¿¥×¥ê¥¿ÀìÍѥ⡼¥É¤Çưºî¤·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï̵¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥Ð¥¤¥È¥³¡¼¥É¤¬¥¤¥ó¥¿¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Java HotSpot VM ¤ËÂбþ¤¹¤ë¥³¥ó¥Ñ¥¤¥é¤¬Ä󶡤¹¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¤ÎÍøÅÀ¤Ï¡¢¤³¤Î¥â¡¼¥É¤Ç¤Ï¼Â¸½¤µ¤ì¤Þ¤»¤ó¡£ -.TP 3 -\-Xbatch -¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£Ä̾VM ¤Ç¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥á¥½¥Ã¥É¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¿¥¹¥¯¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¡¢¥¤¥ó¥¿¥×¥ê¥¿¥â¡¼¥É¤Ç¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£\f2\-Xbatch\fP ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤¬´°Î»¤¹¤ë¤Þ¤Ç¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¥¿¥¹¥¯¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-Xbootclasspath:bootclasspath -¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤ò¥³¥í¥ó¤Ç¶èÀڤ俥ꥹ¥È¤Ç»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ñ¥¹¤Ë¸ºß¤¹¤ë¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à JDK ¤Ë´Þ¤Þ¤ì¤ë¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÂå¤ï¤ê¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£\f2Ãí: rt.jar Æâ¤Î¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥à¤ËÇÛÃÖ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Java Runtime Environment ¥Ð¥¤¥Ê¥ê¥³¡¼¥É¥é¥¤¥»¥ó¥¹°ãÈ¿¤Ë¤Ê¤ê¤Þ¤¹¡£\fP -.TP 3 -\-Xbootclasspath/a:path -¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤Î¥Ñ¥¹¤ò¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤Î¤¢¤È¤ËÄɲ䵤ì¤Þ¤¹¡£ -.TP 3 -\-Xbootclasspath/p:path -¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤Î¥Ñ¥¹¤ò¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ÎÁ°¤ËÄɲ䵤ì¤Þ¤¹¡£\f2Ãí: rt.jar Æâ¤Î¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥à¤ËÇÛÃÖ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Java Runtime Environment ¥Ð¥¤¥Ê¥ê¥³¡¼¥É¥é¥¤¥»¥ó¥¹°ãÈ¿¤Ë¤Ê¤ê¤Þ¤¹¡£\fP -.TP 3 -\-Xcheck:jni -Java Native Interface (JNI) µ¡Ç½¤ËÂФ·¤ÆÄɲåÁ¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Ï JNI Í×µá¤ò½èÍý¤¹¤ëÁ°¤Ë¡¢JNI ´Ø¿ô¤ËÅϤµ¤ì¤ë¥Ñ¥é¥á¡¼¥¿¤È¡¢¼Â¹Ô´Ä¶­¤Î¥Ç¡¼¥¿¤ò¸¡¾Ú¤·¤Þ¤¹¡£Ìµ¸ú¤Ê¥Ç¡¼¥¿¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤ËÌäÂ꤬¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¤¿¤á¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤ÏÃ×̿Ū¥¨¥é¡¼¤òȯÀ¸¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Äã²¼¤¬Í½ÁÛ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-Xfuture -¥¯¥é¥¹¤È¥Õ¥¡¥¤¥ë¤Î·Á¼°¤ò¸·Ì©¤Ë¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£²¼°Ì¸ß´¹À­¤òÊݤĤ¿¤á¡¢JDK ¤Î²¾ÁÛ¥Þ¥·¥ó¤¬¼Â¹Ô¤¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î·Á¼°¥Á¥§¥Ã¥¯¤Ï¡¢JDK ¥½¥Õ¥È¥¦¥§¥¢¤Î¥Ð¡¼¥¸¥ç¥ó 1.1.x ¤¬¼Â¹Ô¤¹¤ë¥Á¥§¥Ã¥¯¤ÈÆ±ÄøÅ٤θ·Ì©¤µ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£\f3\-Xfuture\fP ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë·Á¼°¤Î»ÅÍͤؤνàµò¤ò¶¯²½¤¹¤ë¤¿¤á¤Î¤è¤ê¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢¤è¤ê¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ë¤¿¤á¡¢¿·¤·¤¤¥³¡¼¥É¤ò³«È¯¤¹¤ë¤È¤­¤Ë¤Ï¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.TP 3 -\-Xnoclassgc -¥¯¥é¥¹¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥í¡¼¥ÉºÑ¤ß¥¯¥é¥¹¤«¤é¥á¥â¥ê¡¼¤¬²óÉü¤µ¤ì¤ë¤³¤È¤¬¤Ê¤¯¤Ê¤ë¤¿¤á¡¢Á´ÂÎŪ¤Ê¥á¥â¥ê¡¼»ÈÍÑÎ̤¬ÁýÂ礷¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï OutOfMemoryError ¤¬¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-Xincgc -¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¡¼¥Ù¥¸¥³¥ì¥¯¥¿¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ Í­¸ú¤Ë¤¹¤ë¤È¡¢¥×¥í¥°¥é¥à¤Î¼Â¹ÔÃæ¤Ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Ë¤è¤ë°ì»þÄä»ß¤¬È¯À¸¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ï¡¢¥×¥í¥°¥é¥à¤ÈƱ»þ¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤¬¤¢¤ê¡¢¤³¤Î¾ì¹ç¡¢¥×¥í¥°¥é¥à¤ÎÍøÍѤǤ­¤ë¥×¥í¥»¥Ã¥µÇ½ÎϤ¬Äã²¼¤·¤Þ¤¹¡£ -.TP 3 -\-Xloggc:file -\-verbose:gc ¤ÈƱÍͤ˥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¤¿¤Ó¤ËÊó¹ð¤·¤Þ¤¹¤¬¡¢¤½¤Î¥Ç¡¼¥¿¤ò \f2file\fP ¤Ëµ­Ï¿¤·¤Þ¤¹¡£\f2\-verbose:gc\fP ¤ò»ØÄꤷ¤¿¤È¤­¤ËÊó¹ð¤µ¤ì¤ë¾ðÊó¤Î¤Û¤«¤Ë¡¢Êó¹ð¤µ¤ì¤ë³Æ¥¤¥Ù¥ó¥È¤ÎÀèÆ¬¤Ë¡¢ºÇ½é¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤«¤é¤Î·Ð²á»þ´Ö (ÉÃñ°Ì) ¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡£ -.LP -¥Í¥Ã¥È¥ï¡¼¥¯¤Î±þÅú»þ´Ö¤Ë¤è¤Ã¤Æ JVM ¤Î¼Â¹Ô®ÅÙ¤¬Äã²¼¤¹¤ë¤Î¤òÈò¤±¤ë¤¿¤á¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î³ÊǼÀè¤Ï¡¢¾ï¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ËþÇդˤʤë¤È¡¢¥Õ¥¡¥¤¥ë¤ÏÀÚ¤êµÍ¤á¤é¤ì¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ç¡¼¥¿¤¬°ú¤­Â³¤­µ­Ï¿¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤È \f2\-verbose:gc\fP ¤ÎξÊý¤¬¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Í¥À褵¤ì¤Þ¤¹¡£ -.TP 3 -\-Xmsn -¥á¥â¥ê¡¼³ä¤êÅö¤Æ¥×¡¼¥ë¤Î½é´ü¥µ¥¤¥º¤ò¥Ð¥¤¥È¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢1M ¥Ð¥¤¥È¤è¤êÂ礭¤¤ 1024 ¤ÎÇÜ¿ô¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥­¥í¥Ð¥¤¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ê¸»ú \f2k\fP ¤Þ¤¿¤Ï \f2K\fP ¤òÉÕ¤±¤Þ¤¹¡£¥á¥¬¥Ð¥¤¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ê¸»ú \f2m\fP ¤Þ¤¿¤Ï \f2M\fP ¤òÉÕ¤±¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö -.na -\f2HotSpot Ergonomics\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/gc\-ergonomics.html¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -Îã: -.nf -\f3 -.fl - \-Xms6291456 -.fl - \-Xms6144k -.fl - \-Xms6m -.fl - -.fl -\fP -.fi -.TP 3 -\-Xmxn -¥á¥â¥ê¡¼³ä¤êÅö¤Æ¥×¡¼¥ë¤ÎºÇÂ祵¥¤¥º¤ò¥Ð¥¤¥È¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢2M ¥Ð¥¤¥È¤è¤êÂ礭¤¤ 1024 ¤ÎÇÜ¿ô¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥­¥í¥Ð¥¤¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ê¸»ú \f2k\fP ¤Þ¤¿¤Ï \f2K\fP ¤òÉÕ¤±¤Þ¤¹¡£¥á¥¬¥Ð¥¤¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ê¸»ú \f2m\fP ¤Þ¤¿¤Ï \f2M\fP ¤òÉÕ¤±¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö -.na -\f2HotSpot Ergonomics\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/gc\-ergonomics.html¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.br -Îã: -.nf -\f3 -.fl - \-Xmx83886080 -.fl - \-Xmx81920k -.fl - \-Xmx80m -.fl - -.fl -\fP -.fi -Solaris 7 ¤ª¤è¤Ó Solaris 8 SPARC ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¤³¤ÎÃͤξå¸Â¤Ï¡¢¤ª¤è¤½ 4000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£Solaris 2.6 ¤ª¤è¤Ó x86 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½ 2000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£Linux ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½ 2000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£ -.TP 3 -\-Xprof -¼Â¹ÔÃæ¤Î¥×¥í¥°¥é¥à¤Î¥×¥í¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¡¢¥×¥í¥Õ¥¡¥¤¥ë¥Ç¡¼¥¿¤òɸ½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥×¥í¥°¥é¥à³«È¯ÍѤΥ桼¥Æ¥£¥ê¥Æ¥£¡¼¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ËÜÈÖ²ÔÆ°¥·¥¹¥Æ¥à¤Ç¤Î»ÈÍѤòÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.TP 3 -\-Xrs -Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤Ë¤è¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥·¥°¥Ê¥ë¤Î»ÈÍѤò¸º¤é¤·¤Þ¤¹¡£ -.LP -°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÃá½øÀµ¤·¤¯¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤¿¤á¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯µ¡Ç½¤¬Äɲ䵤ì¤Þ¤·¤¿¡£¤³¤Îµ¡Ç½¤Ë¤è¤ê¡¢JVM ¤¬ÆÍÁ³½ªÎ»¤·¤¿¾ì¹ç¤Ç¤â¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó»þ¤Ë¥æ¡¼¥¶¡¼¥¯¥ê¡¼¥ó¥¢¥Ã¥×¥³¡¼¥É (¥Ç¡¼¥¿¥Ù¡¼¥¹Àܳ¤Î¥¯¥í¡¼¥º¤Ê¤É) ¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ -.LP -Sun ¤Î JVM ¤Ï¡¢¥·¥°¥Ê¥ë¤ò¥­¥ã¥Ã¥Á¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢JVM ¤Î°Û¾ï½ªÎ»¤Î¤¿¤á¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯¤ò¼ÂÁõ¤·¤Þ¤¹¡£JVM ¤Ï¡¢SIGHUP¡¢SIGINT¡¢¤ª¤è¤Ó SIGTERM ¤ò»ÈÍѤ·¤Æ¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯¤Î¼Â¹Ô¤ò³«»Ï¤·¤Þ¤¹¡£ -.LP -JVM ¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ÎÌÜŪ¤Ç¥¹¥ì¥Ã¥É¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤¹¤ë¤È¤¤¤¦¡¢1.2 ¤è¤êÁ°¤«¤é¤¢¤ëµ¡Ç½¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¤â¡¢Æ±Íͤε¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£Sun ¤Î JVM ¤Ï¡¢¥¹¥ì¥Ã¥É¥À¥ó¥×¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë SIGQUIT ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -JVM ¤òËä¤á¹þ¤ó¤Ç¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ SIGINT ¤ä SIGTERM ¤Ê¤É¤Î¥·¥°¥Ê¥ë¤òÉÑÈˤ˥ȥé¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ë¤È¡¢JVM ¤½¤Î¤â¤Î¤Î¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Î½èÍý¤Ë»Ù¾ã¤¬½Ð¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\f3\-Xrs\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤ÎÌäÂê¤ËÂнè¤Ç¤­¤Þ¤¹¡£Sun ¤Î JVM ¤ËÂФ·¤Æ \f3\-Xrs\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢SIGINT¡¢SIGTERM¡¢SIGHUP¡¢¤ª¤è¤Ó SIGQUIT ¤ËÂФ¹¤ë¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤Ï JVM ¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤º¡¢¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤ËÂФ¹¤ë¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤»¤ó¡£ -.LP -\f3\-Xrs\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¼¡¤Î 2 ¤Ä¤Î±Æ¶Á¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -SIGQUIT ¤Ë¤è¤ë¥¹¥ì¥Ã¥É¥À¥ó¥×¤òÍøÍѤǤ­¤Ê¤¤ -.TP 2 -o -¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯½èÍý¤Î¼Â¹Ô¤Ï¡¢JVM ¤¬½ªÎ»¤·¤è¤¦¤È¤·¤Æ¤¤¤ë»þÅÀ¤Ç System.exit() ¤ò¸Æ¤Ó½Ð¤¹¤Ê¤É¤·¤Æ¡¢¥æ¡¼¥¶¡¼¥³¡¼¥É¦¤Ç¹Ô¤¦É¬Íפ¬¤¢¤ë .RE -.TP 3 -\-Xssn -¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-XX:+UseAltSigs -VM ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç \f2SIGUSR1\fP ¤ª¤è¤Ó \f2SIGUSR2\fP ¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢\f2SIGUSR1\fP ¤ª¤è¤Ó \f2SIGUSR2\fP ¤ò¥·¥°¥Ê¥ëÏ¢º¿¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È ¶¥¹ç¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£\f2\-XX:+UseAltSigs\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢VM ¤Ë¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ \f2SIGUSR1\fP ¤È \f2SIGUSR2\fP °Ê³°¤Î¥·¥°¥Ê¥ë¤ò»ÈÍѤµ¤»¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¹âÅ٤ʥé¥ó¥¿¥¤¥à¡¦¥ª¥×¥·¥ç¥ó .RE - -.LP -.SH "Ãí" -.LP -.LP -\f3\-version:\fP\f2release\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¤É¤ó¤Ê¤ËÊ£»¨¤Ë¥ê¥ê¡¼¥¹¤ò»ØÄꤷ¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¸½¼ÂŪ¤Ê¥ê¥ê¡¼¥¹»ØÄê¤Î¸Â¤é¤ì¤¿¥µ¥Ö¥»¥Ã¥È¤ò»ÈÍѤ¹¤ë¤À¤±¤Ç¤âŬÀڤʥݥꥷ¡¼¤òɽ¸½¤Ç¤­¤ë¤¿¤á¡¢¤½¤ì¤é¤Î¥µ¥Ö¥»¥Ã¥È¤Î¤ß¤¬´°Á´¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¤½¤ì¤é¤Î¥Ý¥ê¥·¡¼¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -1. -Ǥ°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¡£¤³¤ì¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤Çɽ¸½¤Ç¤­¤Þ¤¹¡£ -.TP 3 -2. -¤¢¤ëÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó ID ¤è¤ê¤âÂ礭¤¤Ç¤°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -"1.6.0_10+" -.fl -\fP -.fi -¤³¤Î¾ì¹ç¡¢ \f21.6.0_10\fP ¤è¤ê¤âÂ礭¤¤Ç¤°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤ÇÆÃÄê¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Æ³Æþ¤µ¤ì¤¿ (¤¢¤ë¤¤¤Ï¤½¤Î¥Ð¥°¤¬½¤Àµ¤µ¤ì¤¿) ¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.TP 3 -3. -¤¢¤ëÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó ID ¤è¤ê¤âÂ礭¤¤¥Ð¡¼¥¸¥ç¥ó¡£¤¿¤À¤·¡¢¤½¤Î¥ê¥ê¡¼¥¹¥Õ¥¡¥ß¥ê¤Î¾å¸Â¤Ë¤è¤Ã¤ÆÀ©¸Â¤¹¤ë¤â¤Î¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -"1.6.0_10+&1.6*" -.fl -\fP -.fi -.TP 3 -4. -¾å¤Î¹àÌÜ 2 ¤È¹àÌÜ 3 ¤Î¡ÖOR¡×¼°¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -"1.6.0_10+&1.6* 1.7+" -.fl -\fP -.fi -¤³¤ì¤Ï¹àÌÜ 2 ¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¤¢¤ëÊѹ¹¤¬ÆÃÄê¤Î¥ê¥ê¡¼¥¹ (1.7) ¤ÇƳÆþ¤µ¤ì¤¿¤¬¡¢¤½¤ÎƱ¤¸Êѹ¹¤¬°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤âÍøÍѲÄǽ¤Ë¤Ê¤Ã¤¿¡¢¤È¤¤¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¹âÅÙ¤ÊJIT¥³¥ó¥Ñ¥¤¥é¡¦¥ª¥×¥·¥ç¥ó +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¹âÅ٤ʥµ¡¼¥Ó¥¹¥¢¥Ó¥ê¥Æ¥£¡¦¥ª¥×¥·¥ç¥ó +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¹âÅ٤ʥ¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥ª¥×¥·¥ç¥ó +.RE +.PP +ɸ½à¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java Virtual Machine (JVM)¤Î¤¹¤Ù¤Æ¤Î¼ÂÁõ¤Ç¥µ¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢JRE¤Î¥Ð¡¼¥¸¥ç¥ó¤Î³Îǧ¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎÀßÄê¡¢¾éĹ¤Ê½ÐÎϤÎÍ­¸ú²½¤Ê¤É¤Î°ìÈÌŪ¤Ê¥¢¥¯¥·¥ç¥ó¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.PP +ɸ½à°Ê³°¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot²¾ÁÛ¥Þ¥·¥ó¤Ë¸ÇÍ­¤ÎÈÆÍÑ¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë¤¿¤á¡¢¤¹¤Ù¤Æ¤ÎJVM¼ÂÁõ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ÏÊݾڤµ¤ì¤º¡¢Êѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-X\fR¤Ç³«»Ï¤·¤Þ¤¹¡£ +.PP +³ÈÄ¥¥ª¥×¥·¥ç¥ó¤Ï¡¢ÉÔÍѰդ˻ÈÍѤ·¤Ê¤¤¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢ÆÃÄê¤Î¥·¥¹¥Æ¥àÍ×·ï¤ò»ý¤Ä¤³¤È¤¬Â¿¤¯¡¢¥·¥¹¥Æ¥à¹½À®¥Ñ¥é¥á¡¼¥¿¤Ø¤ÎÆÃ¸¢¥¢¥¯¥»¥¹¤¬É¬Íפʾì¹ç¤¬¤¢¤ëJava HotSpot²¾ÁÛ¥Þ¥·¥óÁàºî¤ÎÆÃÄê¤ÎÎΰè¤òÄ´À°¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë³«È¯¼Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£¤³¤ì¤é¤Ï¡¢¤¹¤Ù¤Æ¤ÎJVM¼ÂÁõ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ÏÊݾڤµ¤ì¤º¡¢Êѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£³ÈÄ¥¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX\fR¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ +.PP +ºÇ¿·¥ê¥ê¡¼¥¹¤ÇÈó¿ä¾©¤Þ¤¿¤Ïºï½ü¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¤òÄÉÀפ¹¤ë¤¿¤á¤Ë¡¢¥É¥­¥å¥á¥ó¥È¤ÎºÇ¸å¤ËÈó¿ä¾©¤Çºï½ü¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤È¤¤¤¦Ì¾Á°¤Î¥»¥¯¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¥Ö¡¼¥ë¡¦¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëµ¡Ç½¤òÍ­¸ú¤Ë¤·¤¿¤ê¡¢¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëµ¡Ç½¤ò̵¸ú¤Ë¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¤òɬÍפȤ·¤Þ¤»¤ó¡£¥Ö¡¼¥ëÃÍ\fI\-XX\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥×¥é¥¹µ­¹æ(\fI\-XX:+\fR\fIOptionName\fR)¤ò»ÈÍѤ·¤ÆÍ­¸ú¤Ë¤·¡¢¥Þ¥¤¥Ê¥¹µ­¹æ(\fI\-XX:\-\fR\fIOptionName\fR)¤ò»ÈÍѤ·¤ÆÌµ¸ú¤Ë¤·¤Þ¤¹¡£ +.PP +°ú¿ô¤¬É¬Íפʥª¥×¥·¥ç¥ó¤Î¾ì¹ç¡¢°ú¿ô¤Ï¡¢¥ª¥×¥·¥ç¥ó̾¤ò¶õÇò¡¢¥³¥í¥ó(:)¤Þ¤¿¤ÏÅù¹æ(=)¤Ç¶èÀڤ俤â¤Î¤Ë¤Ê¤ë¤«¡¢¤¢¤ë¤¤¤Ï°ú¿ô¤¬¥ª¥×¥·¥ç¥ó¤Î¸å¤ËľÀܳ¤¯¾ì¹ç¤â¤¢¤ê¤Þ¤¹(Àµ³Î¤Ê¹½Ê¸¤Ï³Æ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹)¡£¥µ¥¤¥º¤ò¥Ð¥¤¥Èñ°Ì¤Ç»ØÄꤹ¤ë¤è¤¦µá¤á¤é¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ÀÜÈø¼­¤ò»ÈÍѤ·¤Ê¤¤¤«¡¢¤¢¤ë¤¤¤Ï¥­¥í¥Ð¥¤¥È(KB)¤Ë¤ÏÀÜÈø¼­\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È(MB)¤Ë¤ÏÀÜÈø¼­\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È(GB)¤Ë¤ÏÀÜÈø¼­\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥µ¥¤¥º¤ò8GB¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢\fI8g\fR¡¢\fI8192m\fR¡¢\fI8388608k\fR¤Þ¤¿¤Ï\fI8589934592\fR¤Î¤¤¤º¤ì¤«¤ò°ú¿ô¤È¤·¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ñ¡¼¥»¥ó¥È¤Î»ØÄ꤬ɬÍפʾì¹ç¤Ï¡¢0¤«¤é1¤Î¿ôÃͤò»ÈÍѤ·¤Þ¤¹(¤¿¤È¤¨¤Ð¡¢25%¤Î¾ì¹ç¤Ï\fI0\&.25\fR¤ò»ØÄꤷ¤Þ¤¹)¡£ +.SS "ɸ½à¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Ï¡¢JVM¤Î¤¹¤Ù¤Æ¤Î¼ÂÁõ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëºÇ¤â°ìÈÌŪ¤Ë»ÈÍѤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.PP +\-agentlib:\fIlibname\fR[=\fIoptions\fR] +.RS 4 +»ØÄꤷ¤¿¥Í¥¤¥Æ¥£¥Ö¡¦¥¨¡¼¥¸¥§¥ó¥È¡¦¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¥é¥¤¥Ö¥é¥ê̾¤Î¸å¤Ë¡¢¥é¥¤¥Ö¥é¥ê¤Ë¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó¤Î¥«¥ó¥Þ¶èÀÚ¤ê¥ê¥¹¥È¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +¥ª¥×¥·¥ç¥ó\fI\-agentlib:foo\fR¤ò»ØÄꤷ¤¿¾ì¹ç¡¢JVM¤Ï¡¢\fILD_LIBRARY_PATH\fR¥·¥¹¥Æ¥àÊÑ¿ô(OS X¤Ç¤Ï¡¢¤³¤ÎÊÑ¿ô¤Ï\fIDYLD_LIBRARY_PATH\fR¤Ë¤Ê¤ê¤Þ¤¹)¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤Ë\fIlibfoo\&.so\fR¤È¤¤¤¦Ì¾Á°¤Î¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤è¤¦¤È¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥¿¥Ã¥¯¤Î¿¼¤µ3¤Ç¡¢20¥ß¥êÉ䴤Ȥ˥ҡ¼¥×¡¦¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¦¥Ä¡¼¥ë(HPROF)¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Æ¡¢¥µ¥ó¥×¥ë¤ÎCPU¾ðÊó¤ò¼èÆÀ¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-agentlib:hprof=cpu=samples,interval=20,depth=3 +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢¥á¥¤¥ó¡¦¥¯¥é¥¹¤Î¥í¡¼¥ÉÁ°¤ËJVM¤ò°ì»þÄä»ß¤·¤Æ¡¢Java¥Ç¥Ð¥Ã¥°¡¦¥ï¥¤¥ä¡¦¥×¥í¥È¥³¥ë(JDWP)¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Æ¡¢¥Ý¡¼¥È8000¤Ç¤Î¥½¥±¥Ã¥ÈÀܳÍѤ˥ꥹ¥Ë¥ó¥°¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-agentlib:jdwp=transport=dt_socket,server=y,address=8000 +.fi +.if n \{\ +.RE +.\} +¥Í¥¤¥Æ¥£¥Ö¡¦¥¨¡¼¥¸¥§¥ó¥È¡¦¥é¥¤¥Ö¥é¥ê¤Î¾ÜºÙ¤Ï¡¢¼¡¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/api/java/lang/instrument/package\-summary\&.html¤Ë¤¢¤ë\fIjava\&.lang\&.instrument\fR¥Ñ¥Ã¥±¡¼¥¸¤ÎÀâÌÀ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/platform/jvmti/jvmti\&.html#starting¤Ë¤¢¤ëJVM¥Ä¡¼¥ë¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥¬¥¤¥É¤Î¥¨¡¼¥¸¥§¥ó¥È¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¹à +.RE +.RE +.PP +\-agentpath:\fIpathname\fR[=\fIoptions\fR] +.RS 4 +ÀäÂХѥ¹Ì¾¤Ç»ØÄꤵ¤ì¤¿¥Í¥¤¥Æ¥£¥Ö¡¦¥¨¡¼¥¸¥§¥ó¥È¡¦¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-agentlib\fR¤ÈƱÅù¤Ç¤¹¤¬¡¢¥é¥¤¥Ö¥é¥ê¤Î¥Õ¥ë¡¦¥Ñ¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë̾¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-client +.RS 4 +Java HotSpot Client VM¤òÁªÂò¤·¤Þ¤¹¡£64¥Ó¥Ã¥È¡¦¥Ð¡¼¥¸¥ç¥ó¤ÎJava SE Development Kit (JDK)¤Ç¤Ï¡¢¸½ºß¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¡¢¤«¤ï¤ê¤ËServer JVM¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤ÎJVMÁªÂò¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/server\-class\&.html¤Ë¤¢¤ë +¥µ¡¼¥Ð¡¼¥¯¥é¥¹¡¦¥Þ¥·¥ó¤Î¸¡½Ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-D\fIproperty\fR=\fIvalue\fR +.RS 4 +¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòÀßÄꤷ¤Þ¤¹¡£\fIproperty\fRÊÑ¿ô¤Ï¡¢¥×¥í¥Ñ¥Æ¥£¤Î̾Á°¤òɽ¤¹¡¢¶õÇò¤Î¤Ê¤¤Ê¸»úÎó¤Ç¤¹¡£\fIvalue\fRÊÑ¿ô¤Ï¡¢¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòɽ¤¹Ê¸»úÎó¤Ç¤¹¡£\fIvalue\fR¤¬¶õÇò¤ò´Þ¤àʸ»úÎó¤Î¾ì¹ç¡¢¤½¤ì¤ò°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹(Îã: +\fI\-Dfoo="foo bar"\fR)¡£ +.RE +.PP +\-d32 +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò32¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤·¤Þ¤¹¡£32¥Ó¥Ã¥È´Ä¶­¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢64¥Ó¥Ã¥È¡¦¥·¥¹¥Æ¥à¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤­¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï32¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-d64 +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò64¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤·¤Þ¤¹¡£64¥Ó¥Ã¥È´Ä¶­¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢64¥Ó¥Ã¥È¡¦¥·¥¹¥Æ¥à¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤­¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï32¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.sp +¸½ºß¤Î¤È¤³¤í¡¢Java HotSpot Server VM¤Î¤ß¤¬64¥Ó¥Ã¥È¤ÎÁàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢\fI\-d64\fR»ÈÍÑ»þ¤Ë¤Ï\fI\-server\fR¥ª¥×¥·¥ç¥ó¤¬°ÅÌÛŪ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£\fI\-d64\fR»ÈÍÑ»þ¤Ë¤Ï¡¢\fI\-client\fR¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤³¤Î»ÅÍͤϡ¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÊѹ¹¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-disableassertions[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR], \-da[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR] +.RS 4 +¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¢¥µ¡¼¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +°ú¿ô¤Ê¤·¤Î\fI\-disableassertions\fR +(\fI\-da\fR)¤ò»ØÄꤹ¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\&.\&.\&.\fR¤Ç½ª¤ï¤ë\fIpackagename\fR°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¤È¤·¤Æ\fI\&.\&.\&.\fR¤Î¤ß¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fIclassname\fR°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢ÀÚÂØ¤¨¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fI\-disableassertions\fR +(\fI\-da\fR)¥ª¥×¥·¥ç¥ó¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤ª¤è¤Ó¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤¹(¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤Ë¤Ï¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Ï¤¢¤ê¤Þ¤»¤ó)¡£¤³¤Î¥ë¡¼¥ë¤Ë¤Ï1¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò´Êñ¤Ë̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fI\-disablesystemassertions\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¤ä¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÌÀ¼¨Åª¤ËÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-enableassertions\fR +(\fI\-ea\fR)¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Î¾Êý¤Î¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ñ¥Ã¥±¡¼¥¸\fIcom\&.wombat\&.fruitbat\fR +(¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸)¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Æ¡¢¥¯¥é¥¹\fIcom\&.wombat\&.fruitbat\&.Brickbat\fR¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Æ¡¢\fIMyClass\fR¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-ea:com\&.wombat\&.fruitbat\&.\&.\&. \-da:com\&.wombat\&.fruitbat\&.Brickbat MyClass +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-disablesystemassertions, \-dsa +.RS 4 +¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-enableassertions[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR], \-ea[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR] +.RS 4 +¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¢¥µ¡¼¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +°ú¿ô¤Ê¤·¤Î\fI\-enableassertions\fR +(\fI\-ea\fR)¤ò»ØÄꤹ¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\&.\&.\&.\fR¤Ç½ª¤ï¤ë\fIpackagename\fR°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¤È¤·¤Æ\fI\&.\&.\&.\fR¤Î¤ß¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fIclassname\fR°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢ÀÚÂØ¤¨¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fI\-enableassertions\fR +(\fI\-ea\fR)¥ª¥×¥·¥ç¥ó¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤ª¤è¤Ó¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤¹(¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤Ë¤Ï¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Ï¤¢¤ê¤Þ¤»¤ó)¡£¤³¤Î¥ë¡¼¥ë¤Ë¤Ï1¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò´Êñ¤ËÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fI\-enablesystemassertions\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ëÊ̤Υ¹¥¤¥Ã¥Á¤òÄ󶡤·¤Þ¤¹¡£ +.sp +ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¤ä¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÌÀ¼¨Åª¤Ë̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-disableassertions\fR +(\fI\-da\fR)¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Ã±°ì¥³¥Þ¥ó¥É¤Ë¤³¤ì¤é¤Î¥¹¥¤¥Ã¥Á¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÊ£¿ô»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿¥¹¥¤¥Ã¥Á¤¬½çÈ֤˽èÍý¤µ¤ì¤Æ¤«¤é¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ñ¥Ã¥±¡¼¥¸\fIcom\&.wombat\&.fruitbat\fR +(¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸)¤Ç¤Î¤ß¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Æ¡¢¥¯¥é¥¹\fIcom\&.wombat\&.fruitbat\&.Brickbat\fR¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Æ¡¢\fIMyClass\fR¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-ea:com\&.wombat\&.fruitbat\&.\&.\&. \-da:com\&.wombat\&.fruitbat\&.Brickbat MyClass +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-enablesystemassertions, \-esa +.RS 4 +¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-help, \-? +.RS 4 +¼ÂºÝ¤ËJVM¤ò¼Â¹Ô¤»¤º¤Ë¡¢\fIjava\fR¥³¥Þ¥ó¥É¤Î»ÈÍѾõ¶·¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-jar \fIfilename\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤Ë¥«¥×¥»¥ë²½¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£\fIfilename\fR°ú¿ô¤Ï¡¢»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«»ÏÅÀ¤È¤·¤Æµ¡Ç½¤¹¤ë\fIpublic static void main(String[] args)\fR¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¢\fIMain\-Class:\fR\fIclassname\fR¤È¤¤¤¦·Á¼°¤Î1¹Ô¤ò´Þ¤à¥Þ¥Ë¥Õ¥§¥¹¥È¤ò»ý¤ÄJAR¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£ +.sp +\fI\-jar\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢»ØÄꤷ¤¿JAR¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¤Î¥½¡¼¥¹¤Ë¤Ê¤ê¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¾¤ÎÀßÄê¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ +.sp +JAR¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢¼¡¤Î¥ê¥½¡¼¥¹¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jar/index\&.html¤Ë¤¢¤ëJava¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤Î¥¬¥¤¥É +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.html¤Ë¤¢¤ë +¡Ö¥ì¥Ã¥¹¥ó: JAR¥Õ¥¡¥¤¥ë¤Î¥×¥í¥°¥é¥à¤Î¥Ñ¥Ã¥±¡¼¥¸²½¡× +.RE +.RE +.PP +\-javaagent:\fIjarpath\fR[=\fIoptions\fR] +.RS 4 +»ØÄꤷ¤¿Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¨¡¼¥¸¥§¥ó¥È¤ò¥í¡¼¥É¤·¤Þ¤¹¡£Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥È¤Î¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/api/java/lang/instrument/package\-summary\&.html¤Ë¤¢¤ëJava API¥É¥­¥å¥á¥ó¥È¤Î\fIjava\&.lang\&.instrument\fR¥Ñ¥Ã¥±¡¼¥¸¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-jre\-restrict\-search +.RS 4 +¥æ¡¼¥¶¡¼¡¦¥×¥é¥¤¥Ù¡¼¥È¤ÊJRE¤ò¥Ð¡¼¥¸¥ç¥ó¸¡º÷¤Ë´Þ¤á¤Þ¤¹¡£ +.RE +.PP +\-no\-jre\-restrict\-search +.RS 4 +¥æ¡¼¥¶¡¼¡¦¥×¥é¥¤¥Ù¡¼¥È¤ÊJRE¤ò¥Ð¡¼¥¸¥ç¥ó¸¡º÷¤«¤é½ü³°¤·¤Þ¤¹¡£ +.RE +.PP +\-server +.RS 4 +Java HotSpot Server VM¤òÁªÂò¤·¤Þ¤¹¡£64¥Ó¥Ã¥È¡¦¥Ð¡¼¥¸¥ç¥ó¤ÎJDK¤Ç¤Ï¡¢Server VM¤Î¤ß¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢¤½¤Î¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ÅÌÛŪ¤Ç¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤ÎJVMÁªÂò¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/server\-class\&.html¤Ë¤¢¤ë +¥µ¡¼¥Ð¡¼¥¯¥é¥¹¡¦¥Þ¥·¥ó¤Î¸¡½Ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-showversion +.RS 4 +¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò³¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-version\fR¥ª¥×¥·¥ç¥ó¤ÈƱÅù¤Ç¤¹¤¬¡¢\-version¤Ï¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨¸å¤ËJVM¤Ë½ªÎ»¤ò»Ø¼¨¤¹¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-splash:\fIimgname\fR +.RS 4 +\fIimgname\fR¤Ç»ØÄꤵ¤ì¤¿¥¤¥á¡¼¥¸¤ò´Þ¤à¥¹¥×¥é¥Ã¥·¥å²èÌ̤òɽ¼¨¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Îµ¯Æ°»þ¤Ë\fIimages\fR¥Ç¥£¥ì¥¯¥È¥ê¤Î\fIsplash\&.gif\fR¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-splash:images/splash\&.gif +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-verbose:class +.RS 4 +¥í¡¼¥É¤µ¤ì¤¿³Æ¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose:gc +.RS 4 +³Æ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(GC)¥¤¥Ù¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose:jni +.RS 4 +¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥É¤Î»ÈÍѤª¤è¤Ó¤½¤Î¾¤ÎJava Native Interface (JNI)¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ¤«¤é½ªÎ»¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-showversion\fR¥ª¥×¥·¥ç¥ó¤ÈƱÅù¤Ç¤¹¤¬¡¢\-showversion¤Ï¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨¸å¤ËJVM¤Ë½ªÎ»¤ò»Ø¼¨¤·¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-version:\fIrelease\fR +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤Ë»ÈÍѤ¹¤ë¥ê¥ê¡¼¥¹¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¥³¡¼¥ë¤µ¤ì¤¿\fIjava\fR¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤³¤Î»ØÄêÆâÍÆ¤òËþ¤¿¤µ¤º¡¢¤«¤ÄŬÀڤʼÂÁõ¤¬¥·¥¹¥Æ¥à¾å¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎŬÀڤʼÂÁõ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fIrelease\fR°ú¿ô¤Ï¡¢Àµ³Î¤Ê¥Ð¡¼¥¸¥ç¥óʸ»úÎ󡢤ޤ¿¤Ï¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤È¥Ð¡¼¥¸¥ç¥óÈϰϤΥꥹ¥È¤ò»ØÄꤷ¤Þ¤¹¡£\fI¥Ð¡¼¥¸¥ç¥óʸ»úÎó\fR¤Ï¡¢¼¡¤Î·Á¼°¤Ç¡¢³«È¯¼Ô¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹: +\fI1\&.\fR\fIx\fR\fI\&.0_\fR\fIu\fR +(\fIx\fR¤Ï¥á¥¸¥ã¡¼¡¦¥Ð¡¼¥¸¥ç¥óÈֹ桢\fIu\fR¤Ï¹¹¿·¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ç¤¹)¡£\fI¥Ð¡¼¥¸¥ç¥óÈϰÏ\fR¤Ï¡¢¤³¤Î¥Ð¡¼¥¸¥ç¥ó°Ê¹ß¤ò»ØÄꤹ¤ë¤Ë¤Ï¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Î¸å¤Ë¥×¥é¥¹µ­¹æ(\fI+\fR)¤ò³¤±¤¿¤â¤Î¡¢¤Þ¤¿¤Ï°ìÃפ¹¤ëÀÜÆ¬¼­¤ò´Þ¤àǤ°Õ¤Î¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤ò»ØÄꤹ¤ë¤Ë¤Ï°ìÉô¤Î¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Î¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯(\fI*\fR)¤ò³¤±¤¿¤â¤Î¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£ÏÀÍý\fIOR\fR¤ÎÁȹ礻¤Ë¤Ï¶õÇò¡¢2¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤Îʸ»úÎó/ÈϰϤÎÏÀÍý\fIAND\fR¤ÎÁȹ礻¤Ë¤Ï¥¢¥ó¥Ñ¥µ¥ó¥É(\fI&\fR)¤ò»ÈÍѤ·¤Æ¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤È¥Ð¡¼¥¸¥ç¥óÈϰϤòÁȤ߹礻¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô¤ËJRE 6u13 (1\&.6\&.0_13)¤Þ¤¿¤Ï6u10 (1\&.6\&.0_10)°Ê¹ß¤ÎǤ°Õ¤ÎJRE 6¤Î¤¤¤º¤ì¤«¤òɬÍפȤ¹¤ë¾ì¹ç¡¢¼¡¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-version:"1\&.6\&.0_13 1\&.6* & 1\&.6\&.0_10+" +.fi +.if n \{\ +.RE +.\} +°úÍÑÉ䤬ɬÍפʤΤϡ¢\fIrelease\fR¥Ñ¥é¥á¡¼¥¿¤Ë¶õÇò¤¬¤¢¤ë¾ì¹ç¤Î¤ß¤Ç¤¹¡£ +.sp +JAR¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤Ï¡¢¥Ð¡¼¥¸¥ç¥óÍ×·ï¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤹ¤ë¤è¤ê¤â¡¢JAR¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Ë»ØÄꤹ¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.SS "Èóɸ½à¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot²¾ÁÛ¥Þ¥·¥ó¤Ë¸ÇÍ­¤ÎÈÆÍÑ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.PP +\-X +.RS 4 +»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î\fI\-X\fR¥ª¥×¥·¥ç¥ó¤Î¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-Xbatch +.RS 4 +¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢JVM¤Ç¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥á¥½¥Ã¥É¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥¿¥¹¥¯¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¡¢¥¤¥ó¥¿¥×¥ê¥¿¡¦¥â¡¼¥É¤Ç¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£\fI\-Xbatch\fR¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤¬´°Î»¤¹¤ë¤Þ¤Ç¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¡¦¥¿¥¹¥¯¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:\-BackgroundCompilation\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xbootclasspath:\fIpath\fR +.RS 4 +¥Ö¡¼¥È¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥Õ¥¡¥¤¥ë¤ª¤è¤ÓZIP¥¢¡¼¥«¥¤¥Ö¤Î¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤é¤ì¤¿¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢JDK¤Ë´Þ¤Þ¤ì¤ë¥Ö¡¼¥È¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤«¤ï¤ê¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +JRE¥Ð¥¤¥Ê¥ê¡¦¥³¡¼¥É¡¦¥é¥¤¥»¥ó¥¹¤Ë°ãÈ¿¤¹¤ë¤¿¤á¡¢\fIrt\&.jar\fR¤Ç¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥Ç¥×¥í¥¤¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xbootclasspath/a:\fIpath\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎºÇ¸å¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥Õ¥¡¥¤¥ë¤ª¤è¤ÓZIP¥¢¡¼¥«¥¤¥Ö¤Î¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤é¤ì¤¿¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +JRE¥Ð¥¤¥Ê¥ê¡¦¥³¡¼¥É¡¦¥é¥¤¥»¥ó¥¹¤Ë°ãÈ¿¤¹¤ë¤¿¤á¡¢\fIrt\&.jar\fR¤Ç¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥Ç¥×¥í¥¤¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xbootclasspath/p:\fIpath\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎÀèÆ¬¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥Õ¥¡¥¤¥ë¤ª¤è¤ÓZIP¥¢¡¼¥«¥¤¥Ö¤Î¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤é¤ì¤¿¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +JRE¥Ð¥¤¥Ê¥ê¡¦¥³¡¼¥É¡¦¥é¥¤¥»¥ó¥¹¤Ë°ãÈ¿¤¹¤ë¤¿¤á¡¢\fIrt\&.jar\fR¤Ç¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥Ç¥×¥í¥¤¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xboundthreads +.RS 4 +¥æ¡¼¥¶¡¼¡¦¥ì¥Ù¥ë¤Î¥¹¥ì¥Ã¥É¤ò¥«¡¼¥Í¥ë¡¦¥¹¥ì¥Ã¥É¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-Xcheck:jni +.RS 4 +Java Native Interface (JNI)µ¡Ç½¤ËÂФ·¤ÆÄɲåÁ¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¤³¤ì¤Ï¡¢JNI¥ê¥¯¥¨¥¹¥È¤ò½èÍý¤¹¤ëÁ°¤Ë¡¢JNI´Ø¿ô¤ËÅϤµ¤ì¤ë¥Ñ¥é¥á¡¼¥¿¤È¼Â¹Ô´Ä¶­¤Î¥Ç¡¼¥¿¤ò¸¡¾Ú¤·¤Þ¤¹¡£Ìµ¸ú¤Ê¥Ç¡¼¥¿¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¡¦¥³¡¼¥É¤ËÌäÂ꤬¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¤¿¤á¡¢JVM¤Ï¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤òȯÀ¸¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Äã²¼¤¬Í½ÁÛ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xcomp +.RS 4 +ºÇ½é¤Î¸Æ½Ð¤·¤ÇJava¥³¡¼¥É¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¡¦¥á¥½¥Ã¥É¤Î²ò¼á¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢JIT¥³¥ó¥Ñ¥¤¥é¤Ï¡¢10,000¤Î²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò¼Â¹Ô¤·¤Æ¡¢¸úΨŪ¤Ê¥³¥ó¥Ñ¥¤¥ë¤Î¤¿¤á¤Î¾ðÊó¤ò¼ý½¸¤·¤Þ¤¹¡£¸úΨ¤òµ¾À·¤Ë¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¤Ë¤Ï¡¢\fI\-Xcomp\fR¥Õ¥é¥°¤ò»ÈÍѤ·¤Æ¡¢²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +\fI\-XX:CompileThreshold\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë¤ÎÁ°¤Ë¡¢²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤Î¿ô¤òÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-Xdebug +.RS 4 +²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£²¼°Ì¸ß´¹À­¤Î¤¿¤á¤ËÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-Xdiag +.RS 4 +ÄɲäοÇÃÇ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-Xfuture +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë·Á¼°¤Î»ÅÍͤؤνàµò¤ò¶¯²½¤¹¤ë¡¢¸·Ì©¤Ê¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë·Á¼°¤Î¥Á¥§¥Ã¥¯¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢¤è¤ê¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ë¤¿¤á¡¢¿·¤·¤¤¥³¡¼¥É¤ò³«È¯¤¹¤ë¤È¤­¤Ë¤Ï¡¢³«È¯¼Ô¤Ï¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.RE +.PP +\-Xincgc +.RS 4 +ÁýʬGC¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xint +.RS 4 +¥¤¥ó¥¿¥×¥ê¥¿ÀìÍѥ⡼¥É¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¡¦¥³¡¼¥É¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï̵¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥Ð¥¤¥È¥³¡¼¥É¤¬¥¤¥ó¥¿¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥¸¥ã¥¹¥È¡¦¥¤¥ó¡¦¥¿¥¤¥à(JIT)¥³¥ó¥Ñ¥¤¥é¤¬Ä󶡤¹¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¤ÎÍøÅÀ¤Ï¡¢¤³¤Î¥â¡¼¥É¤Ç¤Ï¼Â¸½¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-Xinternalversion +.RS 4 +\fI\-version\fR¥ª¥×¥·¥ç¥ó¤è¤ê¾ÜºÙ¤ÊJVM¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ¤«¤é½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-Xloggc:\fIfilename\fR +.RS 4 +¾ÜºÙ¤ÊGC¥¤¥Ù¥ó¥È¾ðÊó¤ò¥í¥®¥ó¥°ÍѤ˥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¥Õ¥¡¥¤¥ë¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¾ðÊó¤Ï¡¢µ­Ï¿¤µ¤ì¤¿³Æ¥¤¥Ù¥ó¥È¤ÎÁ°¤Ë¹Ô¤ï¤ì¤ëºÇ½é¤ÎGC¥¤¥Ù¥ó¥È°Ê¹ß¤Ë·Ð²á¤·¤¿»þ´Ö¤ò»ØÄꤷ¤¿\fI\-verbose:gc\fR¤Î½ÐÎϤÈÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£\fI\-Xloggc\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-verbose:gc\fR¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹(¤³¤ì¤é¤ÎξÊý¤¬Æ±¤¸\fIjava\fR¥³¥Þ¥ó¥É¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç)¡£ +.sp +Îã: +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xloggc:garbage\-collection\&.log +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-Xmaxjitcodesize=\fIsize\fR +.RS 4 +JIT¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥³¡¼¥É¤ÎºÇÂ祳¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤ò»ØÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ÎÃͤÏ48MB¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xmaxjitcodesize=48m +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:ReservedCodeCacheSize\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xmixed +.RS 4 +¥Í¥¤¥Æ¥£¥Ö¡¦¥³¡¼¥É¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥Û¥Ã¥È¡¦¥á¥½¥Ã¥É¤ò½ü¤­¡¢¥¤¥ó¥¿¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¤¹¤Ù¤Æ¤Î¥Ð¥¤¥È¥³¡¼¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-Xmn\fIsize\fR +.RS 4 +¼ã¤¤À¤Âå(¥Ê¡¼¥µ¥ê)¤Î¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º¤ª¤è¤ÓºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£ +.sp +¥Ò¡¼¥×¤Î¼ã¤¤À¤Âå¥ê¡¼¥¸¥ç¥ó¤Ï¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£GC¤Ï¡¢Â¾¤Î¥ê¡¼¥¸¥ç¥ó¤è¤ê¤³¤Î¥ê¡¼¥¸¥ç¥ó¤Ç¡¢¤è¤êÉÑÈˤ˼¹Ԥµ¤ì¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤¬¾®¤µ¤¹¤®¤ë¾ì¹ç¡¢Â¿¿ô¤Î¥Þ¥¤¥Ê¡¼¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥µ¥¤¥º¤¬Â礭¤¹¤®¤ë¾ì¹ç¡¢¥Õ¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¤ß¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¤¬¡¢´°Î»¤Þ¤Ç¤Ë»þ´Ö¤¬¤«¤«¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤Ï¡¢Á´ÂΤΥҡ¼¥×¡¦¥µ¥¤¥º¤ÎȾʬ¤«¤é4ʬ¤Î1¤Î´Ö¤Ë¤·¤Æ¤ª¤¯¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¼ã¤¤À¤Âå¤Î½é´ü¥µ¥¤¥º¤ª¤è¤ÓºÇÂ祵¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ256MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xmn256m +\-Xmn262144k +\-Xmn268435456 +.fi +.if n \{\ +.RE +.\} +¼ã¤¤À¤Âå¤Î¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º¤ÈºÇÂ祵¥¤¥º¤ÎξÊý¤òÀßÄꤹ¤ë\fI\-Xmn\fR¥ª¥×¥·¥ç¥ó¤Î¤«¤ï¤ê¤Ë¡¢½é´ü¥µ¥¤¥º¤ÎÀßÄê¤Ë¤Ï\fI\-XX:NewSize\fR¤ò¡¢ºÇÂ祵¥¤¥º¤ÎÀßÄê¤Ë¤Ï\fI\-XX:MaxNewSize\fR¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-Xms\fIsize\fR +.RS 4 +¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢1MB¤è¤êÂ礭¤¤1024¤ÎÇÜ¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¡¼¤Î¥µ¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ6MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xms6291456 +\-Xms6144k +\-Xms6m +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¤Ê¤¤¾ì¹ç¡¢½é´ü¥µ¥¤¥º¤Ï¡¢¸Å¤¤À¤Âå¤È¼ã¤¤À¤Âå¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥µ¥¤¥º¤Î¹ç·×¤È¤·¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º¤Ï¡¢\fI\-Xmn\fR¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï\fI\-XX:NewSize\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÀßÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-Xmx\fIsize\fR +.RS 4 +¥á¥â¥ê¡¼³äÅö¤Æ¥×¡¼¥ë¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢2MB¤è¤êÂ礭¤¤1024¤ÎÇÜ¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¹½À®¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¡¦¥Ç¥×¥í¥¤¥á¥ó¥È¤Ç¤Ï¡¢\fI\-Xms\fR¤ª¤è¤Ó\fI\-Xmx\fR¤ÏÄÌ¾ïÆ±¤¸ÃͤËÀßÄꤵ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.html¤Ë¤¢¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¡¦¥¨¥ë¥´¥Î¥ß¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¡¼¤Îµö²Ä¤µ¤ì¤ëºÇÂ祵¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ80MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xmx83886080 +\-Xmx81920k +\-Xmx80m +.fi +.if n \{\ +.RE +.\} +\fI\-Xmx\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:MaxHeapSize\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xnoclassgc +.RS 4 +¥¯¥é¥¹¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(GC)¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢GC»þ´Ö¤òÀáÌó¤Ç¤­¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¼Â¹ÔÃæ¤ÎÃæÃǤ¬Ã»½Ì¤µ¤ì¤Þ¤¹¡£ +.sp +µ¯Æ°»þ¤Ë\fI\-Xnoclassgc\fR¤ò»ØÄꤹ¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤Î¥¯¥é¥¹¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢GC¤Î´Ö¤Ï¤½¤Î¤Þ¤Þ»Ä¤ê¡¢¾ï¤Ë¥é¥¤¥Ö¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤è¤ê¿¤¯¤Î¥á¥â¥ê¡¼¤¬±Êµ×¤ËÀêÍ­¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¡¢Ãí°Õ¤·¤Æ»ÈÍѤ·¤Ê¤¤¤È¡¢¥á¥â¥ê¡¼ÉÔ­¤ÎÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xprof +.RS 4 +¼Â¹ÔÃæ¤Î¥×¥í¥°¥é¥à¤Î¥×¥í¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¡¢¥×¥í¥Õ¥¡¥¤¥ë¡¦¥Ç¡¼¥¿¤òɸ½à½ÐÎϤËÁ÷¿®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥×¥í¥°¥é¥à³«È¯ÍѤΥ桼¥Æ¥£¥ê¥Æ¥£¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ËÜÈÖ²ÔÆ¯¥·¥¹¥Æ¥à¤Ç¤Î»ÈÍѤòÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-Xrs +.RS 4 +JVM¤Ë¤è¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡¦¥·¥°¥Ê¥ë¤Î»ÈÍѤò¸º¤é¤·¤Þ¤¹¡£ +.sp +¥·¥ã¥Ã¥È¥À¥¦¥ó¡¦¥Õ¥Ã¥¯¤Ï¡¢JVM¤¬ÆÍÁ³½ªÎ»¤·¤¿¾ì¹ç¤Ç¤â¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó»þ¤Ë¥æ¡¼¥¶¡¼¡¦¥¯¥ê¡¼¥ó¥¢¥Ã¥×¡¦¥³¡¼¥É(¥Ç¡¼¥¿¥Ù¡¼¥¹Àܳ¤Î¥¯¥í¡¼¥º¤Ê¤É)¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¤ò½çÈÖ¤ËÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +JVM¤Ï¡¢Í½´ü¤·¤Ê¤¤½ªÎ»¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¡¦¥Õ¥Ã¥¯¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë¥·¥°¥Ê¥ë¤ò¥­¥ã¥Ã¥Á¤·¤Þ¤¹¡£JVM¤Ï¡¢\fISIGHUP\fR¡¢\fISIGINT\fR¤ª¤è¤Ó\fISIGTERM\fR¤ò»ÈÍѤ·¤Æ¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó¡¦¥Õ¥Ã¥¯¤Î¼Â¹Ô¤ò³«»Ï¤·¤Þ¤¹¡£ +.sp +JVM¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ÎÌÜŪ¤Ç¥¹¥ì¥Ã¥É¡¦¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤¹¤ë¤È¤¤¤¦µ¡Ç½¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¡¢Æ±ÍͤΥᥫ¥Ë¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£JVM¤Ï¡¢¥¹¥ì¥Ã¥É¡¦¥À¥ó¥×¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë\fISIGQUIT\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +JVM¤òËä¤á¹þ¤ó¤Ç¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢\fISIGINT\fR¤ä\fISIGTERM\fR¤Ê¤É¤Î¥·¥°¥Ê¥ë¤òÉÑÈˤ˥ȥé¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¡¢¤½¤Î·ë²Ì¡¢JVM¤Î¥·¥°¥Ê¥ë¡¦¥Ï¥ó¥É¥é¤È¾×ÆÍ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\fI\-Xrs\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤ÎÌäÂê¤ËÂн褹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£\fI\-Xrs\fR¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fISIGINT\fR¡¢\fISIGTERM\fR¡¢\fISIGHUP\fR¤ª¤è¤Ó\fISIGQUIT\fR¤Î¥·¥°¥Ê¥ë¡¦¥Þ¥¹¥¯¤ÏJVM¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤º¡¢¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤Î¥·¥°¥Ê¥ë¡¦¥Ï¥ó¥É¥é¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤»¤ó¡£ +.sp +\fI\-Xrs\fR¤ò»ØÄꤹ¤ë¤È¡¢¼¡¤Î2¤Ä¤Î·ë²Ì¤¬À¸¤¸¤Þ¤¹: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fISIGQUIT\fR¤Ë¤è¤ë¥¹¥ì¥Ã¥É¡¦¥À¥ó¥×¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥·¥ã¥Ã¥È¥À¥¦¥ó¡¦¥Õ¥Ã¥¯½èÍý¤Î¼Â¹Ô¤Ï¡¢JVM¤¬½ªÎ»¤·¤è¤¦¤È¤·¤Æ¤¤¤ë»þÅÀ¤Ç\fISystem\&.exit()\fR¤ò¸Æ¤Ó½Ð¤¹¤Ê¤É¤·¤Æ¡¢¥æ¡¼¥¶¡¼¡¦¥³¡¼¥É¦¤Ç¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.RE +.PP +\-Xshare:\fImode\fR +.RS 4 +¥¯¥é¥¹¡¦¥Ç¡¼¥¿¶¦Í­¥â¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê\fImode\fR°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +auto +.RS 4 +²Äǽ¤Ê¾ì¹ç¡¢¶¦Í­¥¯¥é¥¹¤Î¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢Java HotSpot 32\-Bit Client VM¤Î¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ +.RE +.PP +on +.RS 4 +¥¯¥é¥¹¡¦¥Ç¡¼¥¿¶¦Í­¤Î»ÈÍѤ¬É¬ÍפǤ¹¡£¥¯¥é¥¹¡¦¥Ç¡¼¥¿¶¦Í­¤ò»ÈÍѤǤ­¤Ê¤¤¾ì¹ç¡¢¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +off +.RS 4 +¶¦Í­¥¯¥é¥¹¡¦¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢Java HotSpot 32\-Bit Server VM¡¢Java HotSpot 64\-Bit Client VM¤ª¤è¤ÓJava HotSpot 64\-Bit Server VM¤Î¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ +.RE +.PP +dump +.RS 4 +¥¯¥é¥¹¡¦¥Ç¡¼¥¿¶¦Í­¥¢¡¼¥«¥¤¥Ö¤ò¼êư¤ÇÀ¸À®¤·¤Þ¤¹¡£ +.RE +.RE +.PP +\-XshowSettings:\fIcategory\fR +.RS 4 +ÀßÄê¤òɽ¼¨¤·¤ÆÂ³¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê\fIcategory\fR°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +all +.RS 4 +ÀßÄê¤Î¤¹¤Ù¤Æ¤Î¥«¥Æ¥´¥ê¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ +.RE +.PP +locale +.RS 4 +¥í¥±¡¼¥ë¤Ë´ØÏ¢¤¹¤ëÀßÄê¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +properties +.RS 4 +¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ë´ØÏ¢¤¹¤ëÀßÄê¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +vm +.RS 4 +JVM¤ÎÀßÄê¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.RE +.PP +\-Xss\fIsize\fR +.RS 4 +¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£KB¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢MB¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢GB¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϥץé¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/ARM (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/i386 (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/x64 (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +OS X (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Oracle Solaris/i386 (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Oracle Solaris/x64 (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Windows: ²¾ÁÛ¥á¥â¥ê¡¼¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¡¦¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º¤ò°Û¤Ê¤ëñ°Ì¤Ç1024KB¤ËÀßÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xss1m +\-Xss1024k +\-Xss1048576 +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:ThreadStackSize\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xusealtsigs +.RS 4 +JVMÆâÉô¥·¥°¥Ê¥ë¤Î\fISIGUSR1\fR¤ª¤è¤Ó\fISIGUSR2\fR¤Î¤«¤ï¤ê¤Ë¡¢ÂåÂØ¥·¥°¥Ê¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:+UseAltSigs\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xverify:\fImode\fR +.RS 4 +¥Ð¥¤¥È¥³¡¼¥É¡¦¥Ù¥ê¥Õ¥¡¥¤¥¢¤Î¥â¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£¥Ð¥¤¥È¥³¡¼¥É¤Î¸¡¾Ú¤Ï°ìÉô¤ÎÌäÂê¤Î¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ËÌòΩ¤Á¤Þ¤¹¤¬¡¢¼Â¹ÔÃæ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ø¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤òÁýÂ礵¤»¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê\fImode\fR°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +none +.RS 4 +¥Ð¥¤¥È¥³¡¼¥É¤ò¸¡¾Ú¤·¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢µ¯Æ°»þ´Ö¤¬Ã»½Ì¤µ¤ì¡¢Java¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ëÊݸî¤â·Ú¸º¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +remote +.RS 4 +¥Í¥Ã¥È¥ï¡¼¥¯¤ò²ð¤·¤Æ¥ê¥â¡¼¥È¤Ç¥í¡¼¥É¤µ¤ì¤ë¥¯¥é¥¹¤Î¤ß¤ò¸¡¾Ú¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢\fI\-Xverify\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ +.RE +.PP +all +.RS 4 +¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ò¸¡¾Ú¤·¤Þ¤¹¡£ +.RE +.RE +.SS "¹âÅ٤ʥé¥ó¥¿¥¤¥à¡¦¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot VM¤Î¼Â¹Ô»þ¤Îưºî¤òÀ©¸æ¤·¤Þ¤¹¡£ +.PP +\-XX:+DisableAttachMechanism +.RS 4 +JVM¤Ë¥Ä¡¼¥ë¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¥á¥«¥Ë¥º¥à¤ò̵¸ú¤Ë¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¤³¤ì¤Ï¡¢¥¢¥¿¥Ã¥Á¡¦¥á¥«¥Ë¥º¥à¤òÍ­¸ú¤Ë¤¹¤ë¤È¡¢\fIjcmd\fR¡¢\fIjstack\fR¡¢\fIjmap\fR¡¢\fIjinfo\fR¤Ê¤É¤Î¥Ä¡¼¥ë¤ò»ÈÍѤǤ­¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.RE +.PP +\-XX:ErrorFile=\fIfilename\fR +.RS 4 +¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¥¨¥é¡¼¡¦¥Ç¡¼¥¿¤¬½ñ¤­¹þ¤Þ¤ì¤ë¥Ñ¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢Ì¾Á°¤Ï\fIhs_err_pid\fR\fIpid\fR\fI\&.log\fR +(\fIpid\fR¤Ï¥¨¥é¡¼¤Î¸¶°ø¤È¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Î¼±ÊÌ»Ò)¤Ë¤Ê¤ê¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°¡¦¥Õ¥¡¥¤¥ë¤òÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹(¥×¥í¥»¥¹¤Î¼±Ê̻ҤÏ\fI%p\fR¤È¤·¤Æ»ØÄꤵ¤ì¤Þ¤¹)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ErrorFile=\&./hs_err_pid%p\&.log +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¨¥é¡¼¡¦¥í¥°¤ò\fI/var/log/java/java_error\&.log\fR¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ErrorFile=/var/log/java/java_error\&.log +.fi +.if n \{\ +.RE +.\} +(ÎΰèÉÔ­¡¢¸¢¸Â¤ÎÌäÂê¤Þ¤¿¤ÏÊ̤ÎÌäÂê¤Ë¤è¤ê)»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î°ì»þ¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£°ì»þ¥Ç¥£¥ì¥¯¥È¥ê¤Ï\fI/tmp\fR¤Ç¤¹¡£ +.RE +.PP +\-XX:LargePageSizeInBytes=\fIsize\fR +.RS 4 +Java¥Ò¡¼¥×¤Ë»ÈÍѤµ¤ì¤ëÂ礭¤¤¥Ú¡¼¥¸¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£\fIsize\fR°ú¿ô¤Ï¡¢2¤ÎÎß¾è(2¡¢4¡¢8¡¢16¡¢\&.\&.\&.)¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¥¤¥º¤Ï0¤ËÀßÄꤵ¤ì¡¢¤³¤ì¤Ï¡¢JVM¤Ç¤ÏÂ礭¤¤¥Ú¡¼¥¸¤Î¥µ¥¤¥º¤¬¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢Â礭¤¤¥Ú¡¼¥¸¤Î¥µ¥¤¥º¤ò4¥á¥¬¥Ð¥¤¥È(MB)¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:LargePageSizeInBytes=4m +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxDirectMemorySize=\fIsize\fR +.RS 4 +¿·µ¬I/O (\fIjava\&.nio\fR¥Ñ¥Ã¥±¡¼¥¸)¤ÎľÀܥХåե¡³äÅö¤Æ¤ÎºÇÂç¹ç·×¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¥¤¥º¤Ï0¤ËÀßÄꤵ¤ì¡¢¤³¤ì¤Ï¡¢JVM¤Ç¤ÏNIO¤ÎľÀܥХåե¡³äÅö¤Æ¤Î¥µ¥¤¥º¤¬¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢NIO¥µ¥¤¥º¤ò°Û¤Ê¤ëñ°Ì¤Ç1024KB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxDirectMemorySize=1m +\-XX:MaxDirectMemorySize=1024k +\-XX:MaxDirectMemorySize=1048576 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:NativeMemoryTracking=\fImode\fR +.RS 4 +JVM¤Î¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼»ÈÍѾõ¶·¤Î¥È¥é¥Ã¥­¥ó¥°¤Î¥â¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê\fImode\fR°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +off +.RS 4 +JVM¤Î¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼»ÈÍѾõ¶·¤òÄÉÀפ·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢\fI\-XX:NativeMemoryTracking\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ +.RE +.PP +summary +.RS 4 +JVM¥µ¥Ö¥·¥¹¥Æ¥à(Java¥Ò¡¼¥×¡¢¥¯¥é¥¹¡¢¥³¡¼¥É¡¢¥¹¥ì¥Ã¥É¤Ê¤É)¤Ë¤è¤ë¥á¥â¥ê¡¼»ÈÍѾõ¶·¤Î¤ßÄÉÀפ·¤Þ¤¹¡£ +.RE +.PP +detail +.RS 4 +JVM¥µ¥Ö¥·¥¹¥Æ¥à¤Ë¤è¤ë¥á¥â¥ê¡¼»ÈÍѾõ¶·¤Î¥È¥é¥Ã¥­¥ó¥°¤Ë²Ã¤¨¤Æ¡¢¸Ä¡¹¤Î\fICallSite\fR +(¸Ä¡¹¤Î²¾ÁÛ¥á¥â¥ê¡¼¡¦¥ê¡¼¥¸¥ç¥ó¤ª¤è¤Ó¤½¤Î¥³¥ß¥Ã¥ÈºÑ¥ê¡¼¥¸¥ç¥ó)¤Ë¤è¤ë¥á¥â¥ê¡¼»ÈÍѾõ¶·¤òÄÉÀפ·¤Þ¤¹¡£ +.RE +.RE +.PP +\-XX:OnError=\fIstring\fR +.RS 4 +¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤È¤­¤Ë¼Â¹Ô¤¹¤ë¡¢¥«¥¹¥¿¥à¡¦¥³¥Þ¥ó¥É¤Þ¤¿¤Ï°ìÏ¢¤Î¥»¥ß¥³¥í¥ó¶èÀÚ¤ê¤Î¥³¥Þ¥ó¥É¤òÀßÄꤷ¤Þ¤¹¡£Ê¸»úÎó¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢\fI\-XX:OnError\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥³¥¢¡¦¥¤¥á¡¼¥¸¤òºîÀ®¤¹¤ë¤¿¤á¤Ë\fIgcore\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëÊýË¡¡¢¤ª¤è¤Ó¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤Î¾ì¹ç¤Ë¥Ç¥Ð¥Ã¥¬¤òµ¯Æ°¤·¤Æ¥×¥í¥»¥¹¤ËÀܳ¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹(\fI%p\fR¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤ò»ØÄꤷ¤Þ¤¹)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:OnError="gcore %p;dbx \- %p" +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:OnOutOfMemoryError=\fIstring\fR +.RS 4 +\fIOutOfMemoryError\fRÎã³°¤¬ºÇ½é¤Ë¥¹¥í¡¼¤µ¤ì¤¿¤È¤­¤Ë¼Â¹Ô¤¹¤ë¡¢¥«¥¹¥¿¥à¡¦¥³¥Þ¥ó¥É¤Þ¤¿¤Ï°ìÏ¢¤Î¥»¥ß¥³¥í¥ó¶èÀÚ¤ê¤Î¥³¥Þ¥ó¥É¤òÀßÄꤷ¤Þ¤¹¡£Ê¸»úÎó¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥Éʸ»úÎó¤ÎÎã¤Ï¡¢\fI\-XX:OnError\fR¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-XX:+PrintCommandLineFlags +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ëɽ¼¨¤µ¤ì¤¿¡¢¿Í´Ö¹©³ØÅª¤ËÁªÂò¤·¤¿JVM¥Õ¥é¥°¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ò¡¼¥×Îΰ襵¥¤¥º¤äÁªÂò¤µ¤ì¤¿¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ê¤É¡¢JVM¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤¿¥¨¥ë¥´¥Î¥ß¥Ã¥¯Ãͤò³Îǧ¤¹¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥Õ¥é¥°¤Ï°õºþ¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+PrintNMTStatistics +.RS 4 +¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼¤Î¥È¥é¥Ã¥­¥ó¥°¤¬Í­¸ú¤Ê¾ì¹ç¤Ë¡¢JVM¤Î½ªÎ»»þ¤Ë¼ý½¸¤µ¤ì¤¿¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼¤Î¥È¥é¥Ã¥­¥ó¥°¡¦¥Ç¡¼¥¿¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹(\fI\-XX:NativeMemoryTracking\fR¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼¤Î¥È¥é¥Ã¥­¥ó¥°¡¦¥Ç¡¼¥¿¤Ï°õºþ¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+ShowMessageBoxOnError +.RS 4 +JVM¤Ç¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥À¥¤¥¢¥í¥°¡¦¥Ü¥Ã¥¯¥¹¤Îɽ¼¨¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢JVM¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ¤·¤Æ¥¨¥é¡¼¤Î¸¶°ø¤òÄ´ºº¤Ç¤­¤ë¤è¤¦¤Ë¡¢JVM¤ò½ªÎ»¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¡¢¥×¥í¥»¥¹¤ò¥¢¥¯¥Æ¥£¥Ö¤Ê¤Þ¤Þ¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:ThreadStackSize=\fIsize\fR +.RS 4 +¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϥץé¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/ARM (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/i386 (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/x64 (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +OS X (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Oracle Solaris/i386 (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Oracle Solaris/x64 (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Windows: ²¾ÁÛ¥á¥â¥ê¡¼¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¡¦¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º¤ò°Û¤Ê¤ëñ°Ì¤Ç1024KB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ThreadStackSize=1m +\-XX:ThreadStackSize=1024k +\-XX:ThreadStackSize=1048576 +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xss\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:+TraceClassLoading +.RS 4 +¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Î¥¯¥é¥¹¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¯¥é¥¹¤Ï¥È¥ì¡¼¥¹¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+TraceClassLoadingPreorder +.RS 4 +¥¯¥é¥¹¤¬»²¾È¤µ¤ì¤ë½ç½ø¤Ç¡¢¥í¡¼¥É¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¯¥é¥¹¤Ï¥È¥ì¡¼¥¹¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+TraceClassResolution +.RS 4 +Äê¿ô¥×¡¼¥ë¤Î²ò·è¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢Äê¿ô¥×¡¼¥ë¤Î²ò·è¤Ï¥È¥ì¡¼¥¹¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+TraceClassUnloading +.RS 4 +¥¯¥é¥¹¤¬¥¢¥ó¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Î¥¯¥é¥¹¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¯¥é¥¹¤Ï¥È¥ì¡¼¥¹¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+TraceLoaderConstraints +.RS 4 +¥í¡¼¥À¡¼À©Ìó¤Îµ­Ï¿¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥í¡¼¥À¡¼À©Ìó¤Îµ­Ï¿¤ÏÄÉÀפµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseAltSigs +.RS 4 +JVMÆâÉô¥·¥°¥Ê¥ë¤Î\fISIGUSR1\fR¤ª¤è¤Ó\fISIGUSR2\fR¤Î¤«¤ï¤ê¤Ë¡¢ÂåÂØ¥·¥°¥Ê¥ë¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢ÂåÂØ¥·¥°¥Ê¥ë¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xusealtsigs\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:+UseBiasedLocking +.RS 4 +¥Ð¥¤¥¢¥¹¡¦¥í¥Ã¥¯¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤«¤Ê¤ê¤ÎÎ̤ÎÈó¶¥¹ç¤ÎƱ´ü²½¤¬¤¢¤ë°ìÉô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¤³¤Î¥Õ¥é¥°¤òÍ­¸ú¤Ë¤¹¤ë¤ÈÂçÉý¤Ê¹â®²½¤¬¼Â¸½¤·¤Þ¤¹¤¬¡¢ÆÃÄê¤Î¥Ñ¥¿¡¼¥ó¤Î¥í¥Ã¥¯¤¬¤¢¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Â®ÅÙ¤¬Äã²¼¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥Ð¥¤¥¢¥¹¡¦¥í¥Ã¥¯¤ÎÊýË¡¤Î¾ÜºÙ¤Ï¡¢http://www\&.oracle\&.com/technetwork/java/tuning\-139912\&.html#section4\&.2\&.5¤Ë¤¢¤ëJava¥Á¥å¡¼¥Ë¥ó¥°¤Î¥Û¥ï¥¤¥È¡¦¥Ú¡¼¥Ñ¡¼¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥Ð¥¤¥¢¥¹¡¦¥í¥Ã¥¯¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseCompressedOops +.RS 4 +°µ½Ì¤µ¤ì¤¿¥Ý¥¤¥ó¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¡¢64¥Ó¥Ã¥È¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ï¤Ê¤¯32¥Ó¥Ã¥È¤Î¥ª¥Õ¥»¥Ã¥È¤È¤·¤ÆÉ½¤µ¤ì¡¢¤³¤ì¤Ë¤è¤ê¡¢32GB¤è¤ê¾®¤µ¤¤Java¥Ò¡¼¥×¡¦¥µ¥¤¥º¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô»þ¤Ë¡¢Ä̾¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢64¥Ó¥Ã¥È¤ÎJVM¤Ç¤Î¤ßµ¡Ç½¤·¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢°µ½Ì¥Ý¥¤¥ó¥¿¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseLargePages +.RS 4 +Â礭¤¤¥Ú¡¼¥¸¤Î¥á¥â¥ê¡¼¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Â礭¤¤¥Ú¡¼¥¸¤Î¥á¥â¥ê¡¼¤Î»ÈÍѤò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseLargePages\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +¾ÜºÙ¤Ï¡¢http://www\&.oracle\&.com/technetwork/java/javase/tech/largememory\-jsp\-137182\&.html¤Ë¤¢¤ëÂ礭¤¤¥á¥â¥ê¡¼¡¦¥Ú¡¼¥¸ÍѤÎJava¥µ¥Ý¡¼¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-XX:+UseMembar +.RS 4 +¥¹¥ì¥Ã¥É¤Î¾õÂÖ¤ÎÁ«°Ü¤Ç¥á¥ó¥Ð¡¼¤Îȯ¹Ô¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëPower PC¤ª¤è¤ÓARM¥µ¡¼¥Ð¡¼¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Power PC¤ÈARM¤Î¥¹¥ì¥Ã¥É¾õÂÖÁ«°Ü¤ËÂФ¹¤ë¥á¥ó¥Ð¡¼¤Îȯ¹Ô¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseMembar\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+UsePerfData +.RS 4 +\fIperfdata\fRµ¡Ç½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢JVM¤Î¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡¦¥Æ¥¹¥È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤ò̵¸ú¤Ë¤¹¤ë¤È¡¢\fIhsperfdata_userid\fR¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ®¤òÍÞÀ©¤·¤Þ¤¹¡£\fIperfdata\fRµ¡Ç½¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UsePerfData\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+AllowUserSignalHandlers +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤ë¥·¥°¥Ê¥ë¡¦¥Ï¥ó¥É¥é¤Î¥¤¥ó¥¹¥È¡¼¥ë¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥·¥°¥Ê¥ë¡¦¥Ï¥ó¥É¥é¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.RE +.SS "¹âÅÙ¤ÊJIT¥³¥ó¥Ñ¥¤¥é¡¦¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot VM¤Ç¼Â¹Ô¤µ¤ì¤ëưŪ¤Êjust\-in\-time (JIT)¥³¥ó¥Ñ¥¤¥é¤òÀ©¸æ¤·¤Þ¤¹¡£ +.PP +\-XX:+AggressiveOpts +.RS 4 +ÀѶËŪ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ºÇŬ²½µ¡Ç½¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ïº£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ëͽÄê¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢»î¸³Åª¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹µ¡Ç½¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:AllocateInstancePrefetchLines=\fIlines\fR +.RS 4 +¥¤¥ó¥¹¥¿¥ó¥¹³äÅö¤Æ¥Ý¥¤¥ó¥¿¤ÎÁ°¤Ë¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¹Ô¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¹Ô¿ô¤Ï1¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocateInstancePrefetchLines=1 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:AllocatePrefetchInstr=\fIinstruction\fR +.RS 4 +³äÅö¤Æ¥Ý¥¤¥ó¥¿¤ÎÁ°¤Ë¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤òÀßÄꤷ¤Þ¤¹¡£»ÈÍѲÄǽ¤ÊÃͤÏ0¤«¤é3¤Þ¤Ç¤Ç¤¹¡£ÃͤÎÇØ¸å¤Ë¤¢¤ë¼ÂºÝ¤ÎÌ¿Îá¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤Ï0¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocatePrefetchInstr=0 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:AllocatePrefetchStepSize=\fIsize\fR +.RS 4 +½ç¼¡¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤Î¥¹¥Æ¥Ã¥×¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¹¥Æ¥Ã¥×¡¦¥µ¥¤¥º¤Ï16¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocatePrefetchStepSize=16 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+BackgroundCompilation +.RS 4 +¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-BackgroundCompilation\fR¤ò»ØÄꤷ¤Þ¤¹(¤³¤ì¤Ï\fI\-Xbatch\fR¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤Ç¤¹)¡£ +.RE +.PP +\-XX:CICompilerCount=\fIthreads\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤Ë»ÈÍѤ¹¤ë¥³¥ó¥Ñ¥¤¥é¡¦¥¹¥ì¥Ã¥É¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¿ô¤Ï¡¢¥µ¡¼¥Ð¡¼JVM¤Î¾ì¹ç¤Ï2¡¢¥¯¥é¥¤¥¢¥ó¥ÈJVM¤Î¾ì¹ç¤Ï1¤ËÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢ÁØ¥³¥ó¥Ñ¥¤¥ë¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥¢¿ô¤Ë¹ç¤»¤ÆÁý¸º¤·¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¤Î¿ô¤ò2¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CICompilerCount=2 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CodeCacheMinimumFreeSpace=\fIsize\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤ËɬÍפʺǾ®¶õ¤­Îΰè(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£ºÇ¾®¶õ¤­Îΰè¤è¤ê¾¯¤Ê¤¤Îΰ褷¤«»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥ë¤ÏÄä»ß¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï500KB¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢ºÇ¾®¶õ¤­Îΰè¤ò1024MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CodeCacheMinimumFreeSpace=1024m +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CompileCommand=\fIcommand\fR,\fImethod\fR[,\fIoption\fR] +.RS 4 +¥á¥½¥Ã¥É¤Ç¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥³¥ó¥Ñ¥¤¥ë¸µ¤«¤é\fIString\fR¥¯¥é¥¹¤Î\fIindexOf()\fR¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=exclude,java/lang/String\&.indexOf +.fi +.if n \{\ +.RE +.\} +¥¹¥é¥Ã¥·¥å(\fI/\fR)¤Ç¶èÀÚ¤é¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¡¢´°Á´¥¯¥é¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ÀÚ¼è¤ê¤ÈŽÉÕ¤±¤ÎÁàºî¤òÍÆ°×¤Ë¤¹¤ë¤¿¤á¤Ë¡¢\fI\-XX:+PrintCompilation\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥á¥½¥Ã¥É̾¤Î·Á¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=exclude,java\&.lang\&.String::indexOf +.fi +.if n \{\ +.RE +.\} +½ð̾¤Ê¤·¤Ç¥á¥½¥Ã¥É¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤Ï»ØÄꤷ¤¿Ì¾Á°¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤ËŬÍѤµ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë·Á¼°¤Ç¥á¥½¥Ã¥É¤Î½ð̾¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥³¥ó¥Ñ¥¤¥ë¸µ¤«¤é\fIString\fR¥¯¥é¥¹¤Î\fIindexOf(String)\fR¥á¥½¥Ã¥É¤Î¤ß½ü³°¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=exclude,java/lang/String\&.indexOf(Ljava/lang/String;)I +.fi +.if n \{\ +.RE +.\} +¤Þ¤¿¡¢¥¯¥é¥¹Ì¾¤ª¤è¤Ó¥á¥½¥Ã¥É̾¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤·¤Æ¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥³¥ó¥Ñ¥¤¥ë¸µ¤«¤é¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î¤¹¤Ù¤Æ¤Î\fIindexOf()\fR¥á¥½¥Ã¥É¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=exclude,*\&.indexOf +.fi +.if n \{\ +.RE +.\} +¥«¥ó¥Þ¤È¥Ô¥ê¥ª¥É¤Ï¶õÇò¤ÎÊÌ̾¤Ç¡¢¤³¤ì¤Ë¤è¤ê¡¢¥·¥§¥ë¤ò²ð¤·¤Æ¥³¥ó¥Ñ¥¤¥é¡¦¥³¥Þ¥ó¥É¤òÅϤ¹¤³¤È¤¬Íưפˤʤê¤Þ¤¹¡£°ú¿ô¤ò°úÍÑÉä¤Ç°Ï¤à¤³¤È¤Ç¡¢¶õÇò¤ò¥»¥Ñ¥ì¡¼¥¿¤È¤·¤Æ»ÈÍѤ·¤Æ\fI\-XX:CompileCommand\fR¤Ë°ú¿ô¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand="exclude java/lang/String indexOf" +.fi +.if n \{\ +.RE +.\} +\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÇÅϤµ¤ì¤¿¥³¥Þ¥ó¥É¤ò²òÀϤ·¤¿¸å¤Ë¡¢JIT¥³¥ó¥Ñ¥¤¥é¤Ï\fI\&.hotspot_compiler\fR¥Õ¥¡¥¤¥ë¤«¤é¥³¥Þ¥ó¥É¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥Þ¥ó¥É¤òÄɲ乤뤫¡¢¤Þ¤¿¤Ï\fI\-XX:CompileCommandFile\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÊ̤Υե¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +Ê£¿ô¤Î¥³¥Þ¥ó¥É¤òÄɲ乤ë¤Ë¤Ï¡¢\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤òÊ£¿ô²ó»ØÄꤹ¤ë¤«¡¢¤Þ¤¿¤Ï²þ¹Ô¥»¥Ñ¥ì¡¼¥¿(\fI\en\fR)¤ò»ÈÍѤ·¤Æ³Æ°ú¿ô¤ò¶èÀÚ¤ê¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +break +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤ÎºÇ½é¤ËÄä»ß¤¹¤ë¤¿¤á¤Ë¡¢JVM¤Î¥Ç¥Ð¥Ã¥°»þ¤Î¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +compileonly +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò½ü¤¤¤¿¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤ò¡¢¥³¥ó¥Ñ¥¤¥ë¤«¤é½ü³°¤·¤Þ¤¹¡£Ê̤ÎÊýË¡¤È¤·¤Æ¡¢\fI\-XX:CompileOnly\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÊ£¿ô¤Î¥á¥½¥Ã¥É¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +dontinline +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò¥¤¥ó¥é¥¤¥ó²½¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +exclude +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤«¤é½ü³°¤·¤Þ¤¹¡£ +.RE +.PP +help +.RS 4 +\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤Î¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤ò°õºþ¤·¤Þ¤¹¡£ +.RE +.PP +inline +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò¥¤¥ó¥é¥¤¥ó²½¤·¤è¤¦¤È¤·¤Þ¤¹¡£ +.RE +.PP +log +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤ËÂФ·¤Æ¡¢(\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ)¥³¥ó¥Ñ¥¤¥ë¡¦¥í¥®¥ó¥°¤ò½ü³°¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤Ë¥í¥®¥ó¥°¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +option +.RS 4 +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ºÇ¸å¤Î°ú¿ô(\fIoption\fR)¤Î¤«¤ï¤ê¤Ë¡¢»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ËJIT¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤Ï¡¢¥á¥½¥Ã¥É̾¤Î¸å¤ÎËöÈø¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIStringBuffer\fR¥¯¥é¥¹¤Î\fIappend()\fR¥á¥½¥Ã¥É¤ËÂФ·¤Æ\fIBlockLayoutByFrequency\fR¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=option,java/lang/StringBuffer\&.append,BlockLayoutByFrequency +.fi +.if n \{\ +.RE +.\} +¥«¥ó¥Þ¤Þ¤¿¤Ï¶õÇò¤Ç¶èÀڤäơ¢Ê£¿ô¤Î¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +print +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¸å¤ËÀ¸À®¤µ¤ì¤¿¥¢¥»¥ó¥Ö¥é¡¦¥³¡¼¥É¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +quiet +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¡¦¥³¥Þ¥ó¥É¤ò½ÐÎϤ·¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIString\fR¥¯¥é¥¹¤Î\fIindexOf()\fR¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤«¤é½ü³°¤¹¤ë¾ì¹ç¡¢¼¡¤¬É¸½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CompilerOracle: exclude java/lang/String\&.indexOf +.fi +.if n \{\ +.RE +.\} +¾¤Î\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤ÎÁ°¤Ë\fI\-XX:CompileCommand=quiet\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤³¤ì¤òÍÞÀ©¤Ç¤­¤Þ¤¹¡£ +.RE +.RE +.PP +\-XX:CompileCommandFile=\fIfilename\fR +.RS 4 +JIT¥³¥ó¥Ñ¥¤¥é¡¦¥³¥Þ¥ó¥É¤ÎÆÉ¼è¤ê¸µ¤Î¥Õ¥¡¥¤¥ë¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢JIT¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë¥³¥Þ¥ó¥É¤ò³ÊǼ¤¹¤ë¤¿¤á¤Ë¡¢\fI\&.hotspot_compiler\fR¥Õ¥¡¥¤¥ë¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +¥³¥Þ¥ó¥É¡¦¥Õ¥¡¥¤¥ë¤Î³Æ¹Ô¤Ï¡¢¥³¥Þ¥ó¥É¤¬»ÈÍѤµ¤ì¤ë¥³¥Þ¥ó¥É¡¢¥¯¥é¥¹Ì¾¤ª¤è¤Ó¥á¥½¥Ã¥É̾¤òɽ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¹Ô¤Ï¡¢\fIString\fR¥¯¥é¥¹¤Î\fItoString()\fR¥á¥½¥Ã¥É¤ËÂФ·¤Æ¥¢¥»¥ó¥Ö¥ê¡¦¥³¡¼¥É¤ò½ÐÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +print java/lang/String toString +.fi +.if n \{\ +.RE +.\} +¥á¥½¥Ã¥É¤Ç¼Â¹Ô¤¹¤ëJIT¥³¥ó¥Ñ¥¤¥é¤Î¥³¥Þ¥ó¥É¤Î»ØÄê¤Î¾ÜºÙ¤Ï¡¢\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-XX:CompileOnly=\fImethods\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤òÀ©¸Â¤¹¤ë(¥«¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿)¥á¥½¥Ã¥É¤Î¥ê¥¹¥È¤òÀßÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥á¥½¥Ã¥É¤Î¤ß¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£´°Á´¥¯¥é¥¹Ì¾(¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à)¤Ç³Æ¥á¥½¥Ã¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIString\fR¥¯¥é¥¹¤Î\fIlength()\fR¥á¥½¥Ã¥É¤ª¤è¤Ó\fIList\fR¥¯¥é¥¹¤Î\fIsize()\fR¥á¥½¥Ã¥É¤Î¤ß¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileOnly=java/lang/String\&.length,java/util/List\&.size +.fi +.if n \{\ +.RE +.\} +¥¹¥é¥Ã¥·¥å(\fI/\fR)¤Ç¶èÀÚ¤é¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¡¢´°Á´¥¯¥é¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ÀÚ¼è¤ê¤ÈŽÉÕ¤±¤ÎÁàºî¤òÍÆ°×¤Ë¤¹¤ë¤¿¤á¤Ë¡¢\fI\-XX:+PrintCompilation\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥á¥½¥Ã¥É̾¤Î·Á¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileOnly=java\&.lang\&.String::length,java\&.util\&.List::size +.fi +.if n \{\ +.RE +.\} +¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤À¤±¤ò»ØÄꤷ¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤â¡¢¥á¥½¥Ã¥É¤À¤±¤ò»ØÄꤷ¤ÆÇ¤°Õ¤Î¥¯¥é¥¹¤Î¤³¤Î̾Á°¤ò»ý¤Ä¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileOnly=java/lang/String +\-XX:CompileOnly=java/lang +\-XX:CompileOnly=\&.length +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CompileThreshold=\fIinvocations\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ëÁ°¤Ë²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¡¼¥Ð¡¼JVM¤Ç¤Ï¡¢JIT¥³¥ó¥Ñ¥¤¥é¤Ï¡¢10,000¤Î²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò¼Â¹Ô¤·¤Æ¡¢¸úΨŪ¤Ê¥³¥ó¥Ñ¥¤¥ë¤Î¤¿¤á¤Î¾ðÊó¤ò¼ý½¸¤·¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥ÈJVM¤Î¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤Ï1,500¸Æ½Ð¤·¤Ç¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤Î¿ô¤ò5,000¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileThreshold=5000 +.fi +.if n \{\ +.RE +.\} +\fI\-Xcomp\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë¤ÎÁ°¤Ë¡¢Java¥á¥½¥Ã¥É¤Î²ò¼á¤ò´°Á´¤Ë̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:+DoEscapeAnalysis +.RS 4 +¥¨¥¹¥±¡¼¥×ʬÀϤλÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥¨¥¹¥±¡¼¥×ʬÀϤλÈÍѤò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-DoEscapeAnalysis\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+FailOverToOldVerifier +.RS 4 +¿·¤·¤¤¥¿¥¤¥×¡¦¥Á¥§¥Ã¥«¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Î¡¢¸Å¤¤¥Ù¥ê¥Õ¥¡¥¤¥¢¤Ø¤Î¼«Æ°¥Õ¥§¥¤¥ë¥ª¡¼¥Ð¡¼¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢ºÇ¶á¤Î¥Ð¥¤¥È¥³¡¼¥É¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤¿¥¯¥é¥¹¤Ë¤Ï¡¢¤³¤ì¤Ï̵»ë¤µ¤ì¤Þ¤¹(¤Ä¤Þ¤ê¡¢Ìµ¸ú¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹)¡£¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥Ð¥¤¥È¥³¡¼¥É¤ò»ÈÍѤ·¤¿¥¯¥é¥¹¤Ë¤Ï¡¢¤³¤ì¤òÍ­¸ú²½¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:InitialCodeCacheSize=\fIsize\fR +.RS 4 +½é´ü¥³¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ500KB¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢½é´ü¥³¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º¤ò32KB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InitialCodeCacheSize=32k +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+Inline +.RS 4 +¥á¥½¥Ã¥É¤Î¥¤¥ó¥é¥¤¥ó²½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¤Ë¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥á¥½¥Ã¥É¤Î¥¤¥ó¥é¥¤¥ó²½¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-Inline\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:InlineSmallCode=\fIsize\fR +.RS 4 +¥¤¥ó¥é¥¤¥ó²½¤¬É¬Íפʥ³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤ÎºÇÂ祳¡¼¥É¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£»ØÄꤷ¤¿¥µ¥¤¥º¤è¤ê¾®¤µ¤¤¥µ¥¤¥º¤Î¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤Î¤ß¤¬¡¢¥¤¥ó¥é¥¤¥ó²½¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ºÇÂ祳¡¼¥É¡¦¥µ¥¤¥º¤Ï1000¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InlineSmallCode=1000 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+LogCompilation +.RS 4 +¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë\fIhotspot\&.log\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¡¦¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î¥í¥®¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£\fI\-XX:LogFile\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢°Û¤Ê¤ë¥í¥°¡¦¥Õ¥¡¥¤¥ë¡¦¥Ñ¥¹¤È̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥³¥ó¥Ñ¥¤¥ë¡¦¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ïµ­Ï¿¤µ¤ì¤Þ¤»¤ó¡£\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ÇÃÇJVM¥ª¥×¥·¥ç¥ó¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë\fI\-XX:UnlockDiagnosticVMOptions\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fI\-XX:+PrintCompilation\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤Ó¤Ë¡¢¥³¥ó¥½¡¼¥ë¤Ë½ÐÎϤµ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤ò´Þ¤à¾ÜºÙ¤Ê¿ÇÃǽÐÎϤòÍ­¸ú²½¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:MaxInlineSize=\fIsize\fR +.RS 4 +¥¤¥ó¥é¥¤¥ó²½¤¹¤ë¥á¥½¥Ã¥É¤ÎºÇÂç¥Ð¥¤¥È¥³¡¼¥É¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ºÇÂç¥Ð¥¤¥È¥³¡¼¥É¡¦¥µ¥¤¥º¤Ï35¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxInlineSize=35 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxNodeLimit=\fInodes\fR +.RS 4 +ñ°ì¤Î¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë»ÈÍѤµ¤ì¤ë¥Î¡¼¥É¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Î¡¼¥É¤ÎºÇÂç¿ô¤Ï65,000¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxNodeLimit=65000 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxTrivialSize=\fIsize\fR +.RS 4 +¥¤¥ó¥é¥¤¥ó²½¤¹¤ëñ½ã¥á¥½¥Ã¥É¤ÎºÇÂç¥Ð¥¤¥È¥³¡¼¥É¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ã±½ã¥á¥½¥Ã¥É¤ÎºÇÂç¥Ð¥¤¥È¥³¡¼¥É¡¦¥µ¥¤¥º¤Ï6¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxTrivialSize=6 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+OptimizeStringConcat +.RS 4 +\fIString\fRÏ¢·ëÁàºî¤ÎºÇŬ²½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£\fIString\fRÏ¢·ëÁàºî¤ÎºÇŬ²½¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-OptimizeStringConcat\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+PrintAssembly +.RS 4 +³°Éô¤Î\fIdisassembler\&.so\fR¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ·¤Æ¡¢¥Ð¥¤¥È¥³¡¼¥É²½¤µ¤ì¤¿¥Í¥¤¥Æ¥£¥Ö¤Î¥á¥½¥Ã¥É¤Î¥¢¥»¥ó¥Ö¥ê¡¦¥³¡¼¥É¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÌäÂê¤Î¿ÇÃǤËÌòΩ¤Á¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¢¥»¥ó¥Ö¥ê¡¦¥³¡¼¥É¤Ï°õºþ¤µ¤ì¤Þ¤»¤ó¡£\fI\-XX:+PrintAssembly\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ÇÃÇJVM¥ª¥×¥·¥ç¥ó¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë\fI\-XX:UnlockDiagnosticVMOptions\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+PrintCompilation +.RS 4 +¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤Ó¤Ë¡¢¥³¥ó¥½¡¼¥ë¤Ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢JVM¤«¤é¤Î¾ÜºÙ¤Ê¿ÇÃǽÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¼ÂºÝ¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥á¥½¥Ã¥É¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¿ÇÃǽÐÎϤϰõºþ¤µ¤ì¤Þ¤»¤ó¡£ +.sp +\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë¡¦¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤ò¥Õ¥¡¥¤¥ë¤Ëµ­Ï¿¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:+PrintInlining +.RS 4 +¥¤¥ó¥é¥¤¥ó²½¤Î·èÄêÆâÍÆ¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥¤¥ó¥é¥¤¥ó²½¤µ¤ì¤ë¥á¥½¥Ã¥É¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¤¥ó¥é¥¤¥ó²½¾ðÊó¤Ï½ÐÎϤµ¤ì¤Þ¤»¤ó¡£\fI\-XX:+PrintInlining\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ÇÃÇJVM¥ª¥×¥·¥ç¥ó¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë\fI\-XX:+UnlockDiagnosticVMOptions\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+RelaxAccessControlCheck +.RS 4 +¥Ù¥ê¥Õ¥¡¥¤¥¢Æâ¤Î¥¢¥¯¥»¥¹À©¸æ¥Á¥§¥Ã¥¯¤ÎÎ̤ò¸º¤é¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢ºÇ¶á¤Î¥Ð¥¤¥È¥³¡¼¥É¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤¿¥¯¥é¥¹¤Ë¤Ï¡¢¤³¤ì¤Ï̵»ë¤µ¤ì¤Þ¤¹(¤Ä¤Þ¤ê¡¢Ìµ¸ú¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹)¡£¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥Ð¥¤¥È¥³¡¼¥É¤ò»ÈÍѤ·¤¿¥¯¥é¥¹¤Ë¤Ï¡¢¤³¤ì¤òÍ­¸ú²½¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:ReservedCodeCacheSize=\fIsize\fR +.RS 4 +JIT¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥³¡¼¥É¤ÎºÇÂ祳¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xmaxjitcodesize\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:+TieredCompilation +.RS 4 +ÁØ¥³¥ó¥Ñ¥¤¥ë¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢ÁØ¥³¥ó¥Ñ¥¤¥ë¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseCodeCacheFlushing +.RS 4 +¥³¥ó¥Ñ¥¤¥é¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ëÁ°¤Ë¡¢¥³¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¤Î¥Õ¥é¥Ã¥·¥å¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ëÁ°¤Ë¥³¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¤Î¥Õ¥é¥Ã¥·¥å¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï\fI\-XX:\-UseCodeCacheFlushing\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseCondCardMark +.RS 4 +¥«¡¼¥Éɽ¤Î¹¹¿·Á°¤Ë¡¢¥«¡¼¥É¤¬¤¹¤Ç¤Ë¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢Ê£¿ô¤Î¥½¥±¥Ã¥È¤ò»ý¤Ä¥Þ¥·¥ó¾å¤Ç¤Î¤ß»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Æ±»þÁàºî¤Ë¤«¤Ê¤ê°Í¸¤·¤Æ¤¤¤ëJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseSuperWord +.RS 4 +¥¹¥«¥é¡¼±é»»¤Î¥¹¡¼¥Ñ¡¼¥ï¡¼¥É±é»»¤Ø¤ÎÊÑ´¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥¹¥«¥é¡¼±é»»¤Î¥¹¡¼¥Ñ¡¼¥ï¡¼¥É±é»»¤Ø¤ÎÊÑ´¹¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseSuperWord\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.SS "¹âÅ٤ʥµ¡¼¥Ó¥¹¥¢¥Ó¥ê¥Æ¥£¡¦¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥à¾ðÊó¤ò¼ý½¸¤·¡¢¾ÜºÙ¤Ê¥Ç¥Ð¥Ã¥°¤ò¼Â¹Ô¤¹¤ëµ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£ +.PP +\-XX:+ExtendedDTraceProbes +.RS 4 +¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë±Æ¶Á¤òÍ¿¤¨¤ëÄɲäÎ\fIdtrace\fR¥Ä¡¼¥ë¡¦¥×¥í¡¼¥Ö¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢\fIdtrace\fR¤Ïɸ½à¥×¥í¡¼¥Ö¤Î¤ß¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-XX:+HeapDumpOnOutOfMemory +.RS 4 +\fIjava\&.lang\&.OutOfMemoryError\fRÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì¹ç¤Ë¡¢¥Ò¡¼¥×¡¦¥×¥í¥Õ¥¡¥¤¥é(HPROF)¤ò»ÈÍѤ·¤Æ¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤Ø¤ÎJava¥Ò¡¼¥×¤Î¥À¥ó¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£\fI\-XX:HeapDumpPath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥Ò¡¼¥×¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ª¤è¤Ó̾Á°¤òÌÀ¼¨Åª¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢\fIOutOfMemoryError\fRÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì¹ç¤Ë¥Ò¡¼¥×¤Ï¥À¥ó¥×¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:HeapDumpPath=\fIpath\fR +.RS 4 +\fI\-XX:+HeapDumpOnOutOfMemoryError\fR¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ò¡¼¥×¡¦¥×¥í¥Õ¥¡¥¤¥é(HPROF)¤¬Ä󶡤¹¤ë¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò½ñ¤­¹þ¤à¥Ñ¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë̾¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢Ì¾Á°¤Ï\fIjava_pid\fR\fIpid\fR\fI\&.hprof\fR +(\fIpid\fR¤Ï¥¨¥é¡¼¤Î¸¶°ø¤È¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Î¼±ÊÌ»Ò)¤Ë¤Ê¤ê¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥¡¥¤¥ë¤òÌÀ¼¨Åª¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹(\fI%p\fR¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤Î¼±Ê̻Ҥòɽ¤·¤Þ¤¹)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:HeapDumpPath=\&./java_pid%p\&.hprof +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ò¡¼¥×¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤ò\fI/var/log/java/java_heapdump\&.hprof\fR¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:HeapDumpPath=/var/log/java/java_heapdump\&.hprof +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:LogFile=\fIpath\fR +.RS 4 +¥í¥°¡¦¥Ç¡¼¥¿¤¬½ñ¤­¹þ¤Þ¤ì¤ë¥Ñ¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë̾¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢Ì¾Á°¤Ï\fIhotspot\&.log\fR¤Ç¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò\fI/var/log/java/hotspot\&.log\fR¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:LogFile=/var/log/java/hotspot\&.log +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+PrintClassHistogram +.RS 4 +\fI[Control]+[C]\fR¥¤¥Ù¥ó¥È(\fISIGTERM\fR)¸å¤Ë¥¯¥é¥¹¡¦¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥Ò¥¹¥È¥°¥é¥à¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤È¡¢\fIjmap \-histo\fR¥³¥Þ¥ó¥É¡¢¤Þ¤¿¤Ï\fIjcmd \fR\fIpid\fR\fI GC\&.class_histogram\fR¥³¥Þ¥ó¥É(\fIpid\fR¤Ï¸½ºß¤ÎJava¥×¥í¥»¥¹¤Î¼±ÊÌ»Ò)¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+PrintConcurrentLocks +.RS 4 +.sp +\fI[Control]+[C]\fR¥¤¥Ù¥ó¥È(\fISIGTERM\fR)¸å¤Ë\fIjava\&.util\&.concurrent\fR¥í¥Ã¥¯¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤È¡¢\fIjstack \-l\fR¥³¥Þ¥ó¥É¡¢¤Þ¤¿¤Ï\fIjcmd \fR\fIpid\fR\fI Thread\&.print \-l\fR¥³¥Þ¥ó¥É(\fIpid\fR¤Ï¸½ºß¤ÎJava¥×¥í¥»¥¹¤Î¼±ÊÌ»Ò)¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+UnlockDiagnosticVMOptions +.RS 4 +JVM¤Î¿ÇÃǤòÌÜŪ¤È¤·¤¿¥ª¥×¥·¥ç¥ó¤ò¥¢¥ó¥í¥Ã¥¯¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¿ÇÃÇ¥ª¥×¥·¥ç¥ó¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.RE +.SS "¹âÅ٤ʥ¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(GC)¤¬Java HotSpot VM¤Ë¤è¤Ã¤Æ¤É¤Î¤è¤¦¤Ë¼Â¹Ô¤µ¤ì¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£ +.PP +\-XX:+AggressiveHeap +.RS 4 +Java¥Ò¡¼¥×¤ÎºÇŬ²½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Î¹½À®(RAM¤ª¤è¤ÓCPU)¤Ë´ð¤Å¤¤¤Æ¡¢ÍÍ¡¹¤Ê¥Ñ¥é¥á¡¼¥¿¤¬¡¢¥á¥â¥ê¡¼³äÅö¤Æ¤¬½¸Ã椷¤¿Ä¹»þ´Ö¼Â¹Ô¥¸¥ç¥Ö¤ËºÇŬ¤Ë¤Ê¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥Ò¡¼¥×¤ÏºÇŬ²½¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:AllocatePrefetchDistance=\fIsize\fR +.RS 4 +¥ª¥Ö¥¸¥§¥¯¥È³äÅö¤Æ¤Î¥×¥ê¥Õ¥§¥Ã¥Áµ÷Î¥¤Î¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¿·µ¬¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃͤǽñ¤­¹þ¤â¤¦¤È¤¹¤ë¥á¥â¥ê¡¼¤Ï¡¢ºÇ¸å¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤«¤é¡¢¤³¤Îµ÷Î¥¤Þ¤Ç¥×¥ê¥Õ¥§¥Ã¥Á¤µ¤ì¤Þ¤¹¡£³ÆJava¥¹¥ì¥Ã¥É¤Ë¤ÏÆÈ¼«¤Î³äÅö¤Æ¥Ý¥¤¥ó¥È¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +Éé¤ÎÃͤϡ¢¥×¥ê¥Õ¥§¥Ã¥Áµ÷Î¥¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£Àµ¤ÎÃͤϡ¢¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¥Ð¥¤¥È¿ô¤Ç¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ\-1¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥×¥ê¥Õ¥§¥Ã¥Áµ÷Î¥¤ò1024¥Ð¥¤¥È¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocatePrefetchDistance=1024 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:AllocatePrefetchLines=\fIlines\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥³¡¼¥É¤ÇÀ¸À®¤µ¤ì¤ë¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤ò»ÈÍѤ·¤Æ¡¢ºÇ¸å¤Î¥ª¥Ö¥¸¥§¥¯¥È³äÅö¤Æ¸å¤Ë¥í¡¼¥É¤¹¤ë¥­¥ã¥Ã¥·¥å¹Ô¿ô¤òÀßÄꤷ¤Þ¤¹¡£ºÇ¸å¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¤¥ó¥¹¥¿¥ó¥¹¤Î¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤÏ1¤Ë¤Ê¤ê¡¢ÇÛÎó¤Î¾ì¹ç¤Ï3¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥í¡¼¥É¤µ¤ì¤ë¥­¥ã¥Ã¥·¥å¹Ô¿ô¤ò5¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocatePrefetchLines=5 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:AllocatePrefetchStyle=\fIstyle\fR +.RS 4 +¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤ËÀ¸À®¤µ¤ì¤ë¥³¡¼¥É¡¦¥¹¥¿¥¤¥ë¤òÀßÄꤷ¤Þ¤¹¡£\fIstyle\fR°ú¿ô¤Ï¡¢0¤«¤é3¤Þ¤Ç¤ÎÀ°¿ô¤Ç¤¹¡£ +.PP +0 +.RS 4 +¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤òÀ¸À®¤·¤Þ¤»¤ó¡£ +.RE +.PP +1 +.RS 4 +³Æ³äÅö¤Æ¤Î¸å¤Ç¡¢¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥é¥á¡¼¥¿¤Ç¤¹¡£ +.RE +.PP +2 +.RS 4 +¥¹¥ì¥Ã¥É¡¦¥í¡¼¥«¥ë¤Ê³äÅö¤Æ¥Ö¥í¥Ã¥¯(TLAB)¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯¡¦¥Ý¥¤¥ó¥¿¤ò»ÈÍѤ·¤Æ¡¢¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¥¿¥¤¥ß¥ó¥°¤ò·èÄꤷ¤Þ¤¹¡£ +.RE +.PP +3 +.RS 4 +³äÅö¤Æ¥×¥ê¥Õ¥§¥Ã¥ÁÍѤÎSPARC¤ÇBISÌ¿Îá¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.RE +.PP +\-XX:+AlwaysPreTouch +.RS 4 +JVM¤Î½é´ü²½Ãæ¤ËJava¥Ò¡¼¥×¾å¤Î¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤Î¥¿¥Ã¥Á¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢\fImain()\fR¥á¥½¥Ã¥É¤ÎÆþÎÏÁ°¤Ë¡¢¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤¬¥á¥â¥ê¡¼¤Ë¼èÆÀ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ÊªÍý¥á¥â¥ê¡¼¤Ë¥Þ¥Ã¥×¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î²¾ÁÛ¥á¥â¥ê¡¼¤ò´Þ¤àĹ»þ´Ö¼Â¹Ô¤Î¥·¥¹¥Æ¥à¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë¥Æ¥¹¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢JVM¥Ò¡¼¥×Îΰ褬¤¤¤Ã¤Ñ¤¤¤Ë¤Ê¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤¬¥³¥ß¥Ã¥È¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+CMSClassUnloadingEnabled +.RS 4 +ʹԥޡ¼¥¯¥¹¥¤¡¼¥×(CMS)¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¡¢¥¢¥ó¥í¡¼¥É¤¹¤ë¥¯¥é¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£CMS¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î¥¯¥é¥¹¡¦¥¢¥ó¥í¡¼¥É¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-CMSClassUnloadingEnabled\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:CMSExpAvgFactor=\fIpercent\fR +.RS 4 +ʹԥ³¥ì¥¯¥·¥ç¥óÅý·×¤Î»Ø¿ôÊ¿¶Ñ¤ò·×»»¤¹¤ëºÝ¤Ë¡¢¸½ºß¤Î¥µ¥ó¥×¥ë¤ò½Å¤ßÉÕ¤±¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢»Ø¿ôÊ¿¶Ñ·¸¿ô¤Ï25%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢·¸¿ô¤ò15%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSExpAvgFactor=15 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CMSIncrementalDutyCycle=\fIpercent\fR +.RS 4 +ʹԥ³¥ì¥¯¥¿¤Î¼Â¹Ô¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ë¥Þ¥¤¥Ê¡¼¡¦¥³¥ì¥¯¥·¥ç¥ó´Ö¤Î»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£\fI\-XX:+CMSIncrementalPacing\fR¤¬Í­¸ú¤Ê¾ì¹ç¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï½é´üÃͤΤߤòÀßÄꤷ¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Ï10%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤ò20%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSIncrementalDutyCycle=20 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CMSIncrementalDutyCycleMin=\fIpercent\fR +.RS 4 +\fI\-XX:+CMSIncrementalPacing\fR¤¬Í­¸ú¤Ê¾ì¹ç¤Ë¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î²¼¸Â¤Ç¤¢¤ë¥Þ¥¤¥Ê¡¼¡¦¥³¥ì¥¯¥·¥ç¥ó´Ö¤Î»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î²¼¸Â¤Ï0%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢²¼¸Â¤ò10%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSIncrementalDutyCycleMin=10 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+CMSIncrementalMode +.RS 4 +CMS¥³¥ì¥¯¥¿¤ÎÁýʬ¥â¡¼¥É¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢2¤Ä°Ê²¼¤ÎGC¥¹¥ì¥Ã¥É¤ò»ý¤Ä¹½À®¤Ë¤Î¤ßÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fICMSIncremental\fR¤Ç»Ï¤Þ¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Í­¸ú¤Ê¾ì¹ç¤Î¤ß¡¢Å¬ÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:CMSIncrementalOffset=\fIpercent\fR +.RS 4 +Áýʬ¥â¡¼¥É¤Î¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤ò¥Þ¥¤¥Ê¡¼¡¦¥³¥ì¥¯¥·¥ç¥ó´Ö¤Ç´ü´ÖÆâ¤Ë±¦¤Ë°Üư¤¹¤ë»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥ª¥Õ¥»¥Ã¥È¤Ï0%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î¥ª¥Õ¥»¥Ã¥È¤ò25%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSIncrementalOffset=25 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+CMSIncrementalPacing +.RS 4 +JVM¤Î¼Â¹ÔÃæ¤Ë¼ý½¸¤µ¤ì¤¿Åý·×¤Ë´ð¤Å¤¤¤Æ¡¢Áýʬ¥â¡¼¥É¤Î¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î¼«Æ°Ä´À°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Áýʬ¥â¡¼¥É¡¦¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î¼«Æ°Ä´À°¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-CMSIncrementalPacing\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:CMSIncrementalSafetyFactor=\fIpercent\fR +.RS 4 +¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤ò·×»»¤¹¤ëºÝ¤Ë¡¢Êݼé¤òÄɲ乤뤿¤á¤Ë»ÈÍѤµ¤ì¤ë»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢°ÂÁ´·¸¿ô¤Ï10%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢°ÂÁ´·¸¿ô¤ò5%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSIncrementalSafetyFactor=5 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CMSInitiatingOccupancyFraction=\fIpercent\fR +.RS 4 +CMS¼ý½¸¥µ¥¤¥¯¥ë¤ò³«»Ï¤¹¤ë¸Å¤¤À¤Âå¤ÎÀêͭΨ(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ\-1¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£Éé¤ÎÃÍ(¥Ç¥Õ¥©¥ë¥È¤ò´Þ¤à)¤Ï¡¢\fI\-XX:CMSTriggerRatio\fR¤¬³«»ÏÀêͭΨ¤ÎÃͤòÄêµÁ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ÀêͭΨ¤ò20%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSInitiatingOccupancyFraction=20 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+CMSScavengeBeforeRemark +.RS 4 +CMS¥³¥á¥ó¥È¡¦¥¹¥Æ¥Ã¥×¤ÎÁ°¤Ë¥¹¥«¥Ù¥ó¥¸¤Î»î¹Ô¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:CMSTriggerRatio=\fIpercent\fR +.RS 4 +CMS¼ý½¸¥µ¥¤¥¯¥ë¤¬³«»Ï¤¹¤ëÁ°¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë\fI\-XX:MinHeapFreeRatio\fR¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ëÃͤγä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ80%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ÀêͭΨ¤ò75%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSTriggerRatio=75 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:ConcGCThreads=\fIthreads\fR +.RS 4 +ʹÔGC¤Ë»ÈÍѤµ¤ì¤ë¥¹¥ì¥Ã¥É¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢JVM¤Ë»ÈÍѤǤ­¤ëCPU¤Î¿ô¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢Ê¹ÔGC¤Î¥¹¥ì¥Ã¥É¿ô¤ò2¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ConcGCThreads=2 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+DisableExplicitGC +.RS 4 +\fISystem\&.gc()\fR¤Î¸Æ½Ð¤·¤Î½èÍý¤ò̵¸ú¤Ë¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¤³¤ì¤Ï\fISystem\&.gc()\fR¤Ø¤Î¸Æ½Ð¤·¤¬½èÍý¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\fISystem\&.gc()\fR¤Î¸Æ½Ð¤·¤Î½èÍý¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢JVM¤ÏɬÍפ˱þ¤¸¤ÆGC¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-XX:+ExplicitGCInvokesConcurrent +.RS 4 +\fISystem\&.gc()\fR¥ê¥¯¥¨¥¹¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Ê¹ÔGC¤Î¸Æ½Ð¤·¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢\fI\-XX:+UseConcMarkSweepGC\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Î¤ß¡¢Í­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses +.RS 4 +\fISystem\&.gc()\fR¥ê¥¯¥¨¥¹¥È¤ò»ÈÍѤ·¡¢Ê¹ÔGC¥µ¥¤¥¯¥ëÃæ¤Ë¥¯¥é¥¹¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Ê¹ÔGC¤Î¸Æ½Ð¤·¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢\fI\-XX:+UseConcMarkSweepGC\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Î¤ß¡¢Í­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:G1HeapRegionSize=\fIsize\fR +.RS 4 +¥¬¥Ù¡¼¥¸¥Õ¥¡¡¼¥¹¥È(G1)¥³¥ì¥¯¥¿¤ò»ÈÍѤ¹¤ëºÝ¤ËJava¥Ò¡¼¥×¤òºÙʬ²½¤¹¤ë¥ê¡¼¥¸¥ç¥ó¤Î¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£Ãͤˤϡ¢1MB¤«¤é32MB¤Þ¤Ç¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥ê¡¼¥¸¥ç¥ó¡¦¥µ¥¤¥º¤Ï¡¢¥Ò¡¼¥×¡¦¥µ¥¤¥º¤Ë´ð¤Å¤¤¤Æ¿Í´Ö¹©³ØÅª¤Ë·èÄꤵ¤ì¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ºÙʬ²½¤µ¤ì¤¿¥µ¥¤¥º¤ò16MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:G1HeapRegionSize=16m +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+G1PrintHeapRegions +.RS 4 +³ä¤êÅö¤Æ¤é¤ì¤¿¥ê¡¼¥¸¥ç¥ó¤ª¤è¤ÓG1¥³¥ì¥¯¥¿¤Ë¤è¤Ã¤ÆºÆÍ׵ᤵ¤ì¤¿¤â¤Î¤Ë´Ø¤¹¤ë¾ðÊó¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:G1ReservePercent=\fIpercent\fR +.RS 4 +G1¥³¥ì¥¯¥¿¤Î¾º³Ê¤¬¼ºÇÔ¤¹¤ë²ÄǽÀ­¤ò¸º¤é¤¹¤¿¤á¤Îfalse¤Î¾å¸Â¤È¤·¤ÆÍ½Ì󤵤줿¥Ò¡¼¥×¤Î³ä¹ç(0¤«¤é50¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï10%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢Í½Ì󤵤줿¥Ò¡¼¥×¤ò20%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:G1ReservePercent=20 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:InitialHeapSize=\fIsize\fR +.RS 4 +¥á¥â¥ê¡¼³äÅö¤Æ¥×¡¼¥ë¤Î½é´ü¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢0¡¢¤Þ¤¿¤Ï1MB¤è¤êÂ礭¤¤1024¤ÎÇÜ¿ô¤Î¤¤¤º¤ì¤«¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¹½À®¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.html¤Ë¤¢¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¡¦¥¨¥ë¥´¥Î¥ß¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¡¼¤Î¥µ¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ6MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InitialHeapSize=6291456 +\-XX:InitialHeapSize=6144k +\-XX:InitialHeapSize=6m +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò0¤ËÀßÄꤷ¤¿¾ì¹ç¡¢½é´ü¥µ¥¤¥º¤Ï¡¢¸Å¤¤À¤Âå¤È¼ã¤¤À¤Âå¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥µ¥¤¥º¤Î¹ç·×¤È¤·¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥Ò¡¼¥×¤Î¥µ¥¤¥º¤Ï¡¢\fI\-XX:NewSize\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÀßÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:InitialSurvivorRatio=\fIratio\fR +.RS 4 +¥¹¥ë¡¼¥×¥Ã¥È¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤¬»ÈÍѤ¹¤ë¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ¤òÀßÄꤷ¤Þ¤¹(\fI\-XX:+UseParallelGC\fR¤ª¤è¤Ó/¤Þ¤¿¤Ï\fI\-XX:+UseParallelOldGC\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹)¡£\fI\-XX:+UseParallelGC\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-XX:+UseParallelOldGC\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¹¥ë¡¼¥×¥Ã¥È¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤ÇŬ±þ¥µ¥¤¥º»ØÄê¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤·¤Þ¤¹¡£½é´üÃͤ«¤é»Ï¤á¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Îưºî¤Ë½¾¤Ã¤Æ¡¢¥µ¥Ð¥¤¥ÐÎΰ褬¥µ¥¤¥ºÊѹ¹¤µ¤ì¤Þ¤¹¡£(\fI\-XX:\-UseAdaptiveSizePolicy\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ)Ŭ±þ¥µ¥¤¥º»ØÄê¤ò̵¸ú¤Ë¤·¤¿¾ì¹ç¡¢\fI\-XX:SurvivorRatio\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹ÔÁ´ÂΤΥµ¥Ð¥¤¥ÐÎΰè¤Î¥µ¥¤¥º¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¼¡¤Î¼°¤ò»ÈÍѤ·¤Æ¡¢¼ã¤¤À¤Âå¤Î¥µ¥¤¥º(Y)¤ª¤è¤Ó¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ(R)¤Ë´ð¤Å¤¤¤Æ¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´ü¥µ¥¤¥º(S)¤ò·×»»¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +S=Y/(R+2) +.fi +.if n \{\ +.RE +.\} +Åù¼°Æâ¤Î2¤Ï¡¢2¤Ä¤Î¥µ¥Ð¥¤¥ÐÎΰè¤ò¼¨¤·¤Þ¤¹¡£¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ¤Ë»ØÄꤹ¤ëÃͤòÂ礭¤¯¤¹¤ë¤È¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´ü¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ¤Ï8¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼ã¤¤À¤Âå¤ÎÎΰ襵¥¤¥º¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ(2MB)¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´ü¥µ¥¤¥º¤Ï0\&.2MB¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ¤ò4¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InitialSurvivorRatio=4 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:InitiatingHeapOccupancyPercent=\fIpercent\fR +.RS 4 +ʹÔGC¥µ¥¤¥¯¥ë¤ò³«»Ï¤¹¤ë¥Ò¡¼¥×ÀêͭΨ(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢1¤Ä¤ÎÀ¤Âå¤Î¤ß(¤¿¤È¤¨¤ÐG1¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ê¤É)¤Ç¤Ï¤Ê¤¯¡¢¥Ò¡¼¥×Á´ÂΤÎÀêÍ­¤Ë´ð¤Å¤¤¤ÆÊ¹ÔGC¥µ¥¤¥¯¥ë¤ò¥È¥ê¥¬¡¼¤¹¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³«»ÏÃͤÏ45%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ÃÍ0¤Ï¡¢GC¥µ¥¤¥¯¥ë¤¬Ää»ß¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢³«»Ï¥Ò¡¼¥×ÀêͭΨ¤ò75%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InitiatingHeapOccupancyPercent=75 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxGCPauseMillis=\fItime\fR +.RS 4 +ºÇÂçGCµÙ»ß»þ´Ö(¥ß¥êÉÃñ°Ì)¤Î¥¿¡¼¥²¥Ã¥È¤òÀßÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¥½¥Õ¥È¡¦¥´¡¼¥ë¤Î¤¿¤á¡¢JVM¤Ï¼Â¸½¤Î¤¿¤á¤ËºÇÁ±¤ÎÅØÎϤò¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢µÙ»ß»þ´Ö¤ÎºÇÂçÃͤϤ¢¤ê¤Þ¤»¤ó¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ºÇÂ祿¡¼¥²¥Ã¥ÈµÙ»ß»þ´Ö¤ò500¥ß¥êÉäËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxGCPauseMillis=500 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxHeapSize=\fIsize\fR +.RS 4 +¥á¥â¥ê¡¼³äÅö¤Æ¥×¡¼¥ë¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢2MB¤è¤êÂ礭¤¤1024¤ÎÇÜ¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¹½À®¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¡¦¥Ç¥×¥í¥¤¥á¥ó¥È¤Ç¤Ï¡¢\fI\-XX:InitialHeapSize\fR¤ª¤è¤Ó\fI\-XX:MaxHeapSize\fR¤ÏÄÌ¾ïÆ±¤¸ÃͤËÀßÄꤵ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.html¤Ë¤¢¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¡¦¥¨¥ë¥´¥Î¥ß¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¡¼¤Îµö²Ä¤µ¤ì¤ëºÇÂ祵¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ80MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxHeapSize=83886080 +\-XX:MaxHeapSize=81920k +\-XX:MaxHeapSize=80m +.fi +.if n \{\ +.RE +.\} +Oracle Solaris 7¤ª¤è¤ÓOracle Solaris 8 SPARC¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¤³¤ÎÃͤξå¸Â¤Ï¡¢¤ª¤è¤½4,000MB¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£Oracle Solaris 2\&.6¤ª¤è¤Óx86¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½2,000MB¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£Linux¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½2,000MB¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£ +.sp +\fI\-XX:MaxHeapSize\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xmx\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:MaxHeapFreeRatio=\fIpercent\fR +.RS 4 +GC¥¤¥Ù¥ó¥È¸å¤Î¶õ¤­¥Ò¡¼¥×Îΰè¤Îµö²Ä¤µ¤ì¤Æ¤¤¤ëºÇÂç¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¶õ¤­¥Ò¡¼¥×Îΰ褬¤³¤ÎÃͤòͤ¨¤Æ³ÈÂ礷¤¿¾ì¹ç¡¢¤½¤Î¥Ò¡¼¥×¤Ï½Ì¾®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ÎÃͤÏ70%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¶õ¤­¥Ò¡¼¥×¤ÎºÇÂçÈæÎ¨¤ò75%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxHeapFreeRatio=75 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxMetaspaceSize=\fIsize\fR +.RS 4 +¥¯¥é¥¹¡¦¥á¥¿¥Ç¡¼¥¿¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤ë¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼¤ÎºÇÂçÎ̤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥µ¥¤¥º¤ÏÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¿¥Ç¡¼¥¿¤ÎÎ̤ϡ¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¼«ÂΡ¢Â¾¤Î¼Â¹ÔÃæ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¢¤ª¤è¤Ó¥·¥¹¥Æ¥à¤Ç»ÈÍѲÄǽ¤Ê¥á¥â¥ê¡¼¤ÎÎ̤ˤè¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥á¥¿¥Ç¡¼¥¿¤ÎºÇÂ祵¥¤¥º¤ò256MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxMetaspaceSize=256m +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxNewSize=\fIsize\fR +.RS 4 +¼ã¤¤À¤Âå(¥Ê¡¼¥µ¥ê)¤Î¥Ò¡¼¥×¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϿʹֹ©³ØÅª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:MaxTenuringThreshold=\fIthreshold\fR +.RS 4 +Ŭ±þGC¥µ¥¤¥º»ØÄê¤Ç»ÈÍѤ¹¤ëºÇÂçÅÂÆ²Æþ¤ê¤·¤­¤¤ÃͤòÀßÄꤷ¤Þ¤¹¡£ºÇÂçÃͤÏ15¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¥Ñ¥é¥ì¥ë(¥¹¥ë¡¼¥×¥Ã¥È)¥³¥ì¥¯¥¿¤Î¾ì¹ç¤Ï15¡¢CMS¥³¥ì¥¯¥¿¤Î¾ì¹ç¤Ï6¤Ç¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ºÇÂçÅÂÆ²Æþ¤ê¤·¤­¤¤Ãͤò10¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxTenuringThreshold=10 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MetaspaceSize=\fIsize\fR +.RS 4 +ºÇ½é¤Ëͤ¨¤¿¤È¤­¤Ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤ò¥È¥ê¥¬¡¼¤¹¤ë¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥¯¥é¥¹¡¦¥á¥¿¥Ç¡¼¥¿Îΰè¤Î¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¤·¤­¤¤Ãͤϡ¢»ÈÍѤµ¤ì¤ë¥á¥¿¥Ç¡¼¥¿¤ÎÎ̤ˤè¤Ã¤ÆÁý²Ã¤Þ¤¿¤Ï¸º¾¯¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:MinHeapFreeRatio=\fIpercent\fR +.RS 4 +GC¥¤¥Ù¥ó¥È¸å¤Î¶õ¤­¥Ò¡¼¥×Îΰè¤Îµö²Ä¤µ¤ì¤Æ¤¤¤ëºÇ¾®¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¶õ¤­¥Ò¡¼¥×Îΰ褬¤³¤ÎÃͤò²¼²ó¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Ò¡¼¥×¤Ï³ÈÂ礷¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ÎÃͤÏ40%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¶õ¤­¥Ò¡¼¥×¤ÎºÇ¾®ÈæÎ¨¤ò25%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MinHeapFreeRatio=25 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:NewRatio=\fIratio\fR +.RS 4 +¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤È¸Å¤¤À¤Âå¤Î¥µ¥¤¥º¤È¤ÎÈæÎ¨¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï2¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¼ã¤¤/¸Å¤¤¤ÎÈæÎ¨¤ò1¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:NewRatio=1 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:NewSize=\fIsize\fR +.RS 4 +¼ã¤¤À¤Âå(¥Ê¡¼¥µ¥ê)¤Î¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£ +.sp +¥Ò¡¼¥×¤Î¼ã¤¤À¤Âå¥ê¡¼¥¸¥ç¥ó¤Ï¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£GC¤Ï¡¢Â¾¤Î¥ê¡¼¥¸¥ç¥ó¤è¤ê¤³¤Î¥ê¡¼¥¸¥ç¥ó¤Ç¡¢¤è¤êÉÑÈˤ˼¹Ԥµ¤ì¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤¬¾®¤µ¤¹¤®¤ë¾ì¹ç¡¢Â¿¿ô¤Î¥Þ¥¤¥Ê¡¼GC¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥µ¥¤¥º¤¬Â礭¤¹¤®¤ë¾ì¹ç¡¢¥Õ¥ëGC¤Î¤ß¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¤¬¡¢´°Î»¤Þ¤Ç¤Ë»þ´Ö¤¬¤«¤«¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤Ï¡¢Á´ÂΤΥҡ¼¥×¡¦¥µ¥¤¥º¤ÎȾʬ¤«¤é4ʬ¤Î1¤Î´Ö¤Ë¤·¤Æ¤ª¤¯¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¼ã¤¤À¤Âå¤Î½é´ü¥µ¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ256MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:NewSize=256m +\-XX:NewSize=262144k +\-XX:NewSize=268435456 +.fi +.if n \{\ +.RE +.\} +\fI\-XX:NewSize\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xmn\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:ParallelGCThreads=\fIthreads\fR +.RS 4 +¼ã¤¤À¤Âå¤È¸Å¤¤À¤Âå¤Ç¥Ñ¥é¥ì¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Ë»ÈÍѤ¹¤ë¥¹¥ì¥Ã¥É¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢JVM¤Ë»ÈÍѤǤ­¤ëCPU¤Î¿ô¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¥Ñ¥é¥ì¥ëGC¤Î¥¹¥ì¥Ã¥É¿ô¤ò2¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ParallelGCThreads=2 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+ParallelRefProcEnabled +.RS 4 +¥Ñ¥é¥ì¥ë»²¾È½èÍý¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintAdaptiveSizePolicy +.RS 4 +Ŭ±þÀ¤Â奵¥¤¥º»ØÄê¤Ë´Ø¤¹¤ë¾ðÊó¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGC +.RS 4 +GC¤´¤È¤Î¥á¥Ã¥»¡¼¥¸¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCApplicationConcurrentTime +.RS 4 +ºÇ¸å¤ÎµÙ»ß(¤¿¤È¤¨¤ÐGCµÙ»ß¤Ê¤É)°Ê¹ß¤Ë·Ð²á¤·¤¿»þ´Ö¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCApplicationStoppedTime +.RS 4 +µÙ»ß(¤¿¤È¤¨¤ÐGCµÙ»ß¤Ê¤É)¤¬·Ñ³¤·¤¿»þ´Ö¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX+PrintGCDateStamp +.RS 4 +GC¤´¤È¤ÎÆüÉÕ¥¹¥¿¥ó¥×¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCDetails +.RS 4 +GC¤´¤È¤Î¾ÜºÙ¥á¥Ã¥»¡¼¥¸¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCTaskTimeStamps +.RS 4 +¸Ä¡¹¤ÎGC¥ï¡¼¥«¡¼¡¦¥¹¥ì¥Ã¥É¡¦¥¿¥¹¥¯¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCTimeStamp +.RS 4 +GC¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintTenuringDistribution +.RS 4 +ÅÂÆ²Æþ¤ê´ü´Ö¾ðÊó¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¼¡¤Ë¡¢½ÐÎϤÎÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Desired survivor size 48286924 bytes, new threshold 10 (max 10) +\- age 1: 28992024 bytes, 28992024 total +\- age 2: 1366864 bytes, 30358888 total +\- age 3: 1425912 bytes, 31784800 total +\&.\&.\&. +.fi +.if n \{\ +.RE +.\} +´ü´Ö1¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢ºÇ¤â¼ã¤¤¥µ¥Ð¥¤¥Ð¤Ç¤¹(Á°¤Î¥¹¥«¥Ù¥ó¥¸¤Î¸å¤ËºîÀ®¤µ¤ì¡¢ºÇ¿·¤Î¥¹¥«¥Ù¥ó¥¸¤Ç¸³¤·¡¢EdenÎΰ褫¤é¥µ¥Ð¥¤¥ÐÎΰè¤Ë°Üư¤·¤Þ¤·¤¿)¡£´ü´Ö2¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢2¤Ä¤Î¥¹¥«¥Ù¥ó¥¸¤Ç¸³¤·¤Þ¤¹(2ÈÖÌܤΥ¹¥«¥Ù¥ó¥¸Ãæ¤Ë¡¢¤¢¤ë¥µ¥Ð¥¤¥ÐÎΰ褫¤é¼¡¤ÎÎΰè¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤·¤¿)¡£¤³¤Î¤è¤¦¤Ë³¤­¤Þ¤¹¡£ +.sp +Á°½Ò¤ÎÎã¤Ç¤Ï¡¢28,992,024¥Ð¥¤¥È¤¬1¤Ä¤Î¥¹¥«¥Ù¥ó¥¸¤Ç¸³¤·¡¢EdenÎΰ褫¤é¥µ¥Ð¥¤¥ÐÎΰè¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤·¤¿¡£1,366,864¥Ð¥¤¥È¤Ï´ü´Ö2¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤É¤Ë¤è¤êÀêÍ­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£³Æ¹Ô¤Î3ÈÖÌܤÎÃͤϡ¢´ü´Ön°Ê²¼¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÎßÀÑ¥µ¥¤¥º¤Ç¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+ScavengeBeforeFullGC +.RS 4 +¤½¤ì¤¾¤ì¤Î¥Õ¥ëGC¤ÎÁ°¤Ë¼ã¤¤À¤Âå¤ÎGC¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥Õ¥ëGC¤ÎÁ°¤Ë¼ã¤¤À¤Âå¤Î¥¹¥«¥Ù¥ó¥¸¤ò¹Ô¤¦¤È¡¢¸Å¤¤À¤ÂåÎΰ褫¤é¼ã¤¤À¤ÂåÎÎ°è¤Ø¤Î¥¢¥¯¥»¥¹¤¬²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¿ô¤ò¸º¤é¤¹¤³¤È¤¬¤Ç¤­¤ë¤¿¤á¡¢¤³¤ì¤ò̵¸ú¤Ë\fI¤·¤Ê¤¤\fR¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£³Æ¥Õ¥ëGC¤ÎÁ°¤Ë¼ã¤¤À¤Âå¤ÎGC¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-ScavengeBeforeFullGC\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:SoftRefLRUPolicyMSPerMB=\fItime\fR +.RS 4 +¥½¥Õ¥È¡¦¥¢¥¯¥»¥¹¤¬²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤¬ºÇ¸å¤Ë»²¾È¤µ¤ì¤Æ¤«¤é¥Ò¡¼¥×¾å¤Ç¥¢¥¯¥Æ¥£¥Ö¤Ê¤Þ¤Þ¤Ë¤Ê¤Ã¤Æ¤¤¤ë»þ´Ö(¥ß¥êÉÃñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¥Ò¡¼¥×Æâ¤Î¶õ¤­¥á¥¬¥Ð¥¤¥ÈÅö¤¿¤ê¤Ç1Éäθ³´ü´Ö¤Ç¤¹¡£\fI\-XX:SoftRefLRUPolicyMSPerMB\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Î¥Ò¡¼¥×¡¦¥µ¥¤¥º(Java HotSpot Client VMÍÑ)¤Þ¤¿¤ÏºÇÂç²Äǽ¥Ò¡¼¥×¡¦¥µ¥¤¥º(Java HotSpot Server VMÍÑ)¤Î1¥á¥¬¥Ð¥¤¥ÈÅö¤¿¤ê¤Î¥ß¥êÉäòɽ¤¹À°¿ôÃͤò¼õ¤±Æþ¤ì¤Þ¤¹¡£¤³¤Î°ã¤¤¤Ï¡¢Client VM¤Ï¡¢¥Ò¡¼¥×¤òÂ礭¤¯¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥½¥Õ¥È»²¾È¤ò¥Õ¥é¥Ã¥·¥å¤¹¤ë·¹¸þ¤¬¤¢¤ë¤Î¤ËÂФ·¡¢Server VM¤Ï¡¢¥½¥Õ¥È»²¾È¤ò¥Õ¥é¥Ã¥·¥å¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥Ò¡¼¥×¤òÂ礭¤¯¤¹¤ë·¹¸þ¤¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¡¢\fI\-Xmx\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¥½¥Õ¥È»²¾È¤¬¤É¤Î¤¯¤é¤¤¿×®¤Ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤µ¤ì¤ë¤«¤Ë½ÅÍפʱƶÁ¤òµÚ¤Ü¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢Ãͤò2\&.5ÉäËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:SoftRefLRUPolicyMSPerMB=2500 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:SurvivorRatio=\fIratio\fR +.RS 4 +EdenÎΰè¤Î¥µ¥¤¥º¤È¥µ¥Ð¥¤¥ÐÎΰè¤Î¥µ¥¤¥º¤È¤ÎÈæÎ¨¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï8¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢Eden/¥µ¥Ð¥¤¥ÐÎΰè¤ÎÈæÎ¨¤ò4¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:SurvivorRatio=4 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:TargetSurvivorRatio=\fIpercent\fR +.RS 4 +¼ã¤¤¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¸å¤Ë»ÈÍѤµ¤ì¤ë¥µ¥Ð¥¤¥ÐÎΰè¤ÎÌÜŪ¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï50%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤Î¥µ¥Ð¥¤¥ÐÎΰè¤ÎÈæÎ¨¤ò30%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:TargetSurvivorRatio=30 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:TLABSize=\fIsize\fR +.RS 4 +¥¹¥ì¥Ã¥É¡¦¥í¡¼¥«¥ë¤Ê³äÅö¤Æ¥Ð¥Ã¥Õ¥¡(TLAB)¤Î½é´ü¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬0¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢JVM¤Ç¤Ï½é´ü¥µ¥¤¥º¤¬¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢TLAB¤Î½é´ü¥µ¥¤¥º¤ò512KB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:TLABSize=512k +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+UseAdaptiveSizePolicy +.RS 4 +Ŭ±þÀ¤Â奵¥¤¥º»ØÄê¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Å¬±þÀ¤Â奵¥¤¥º»ØÄê¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseAdaptiveSizePolicy\fR¤ò»ØÄꤷ¡¢¥á¥â¥ê¡¼³äÅö¤Æ¥×¡¼¥ë¤Î¥µ¥¤¥º¤òÌÀ¼¨Åª¤ËÀßÄꤷ¤Þ¤¹(\fI\-XX:SurvivorRatio\fR¥ª¥×¥·¥ç¥ó¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤)¡£ +.RE +.PP +\-XX:+UseCMSInitiatingOccupancyOnly +.RS 4 +CMS¥³¥ì¥¯¥¿¤Î³«»Ï¤Î¤¿¤á¤ÎÍ£°ì¤Î´ð½à¤È¤·¤Æ¤ÎÀêÍ­ÃͤλÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢Â¾¤Î´ð½à¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseConcMarkSweepGC +.RS 4 +¸Å¤¤À¤Â夨¤ÎCMS¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÂÔµ¡»þ´Ö¤ÎÍ×·ï¤ò¡¢¥¹¥ë¡¼¥×¥Ã¥È(\fI\-XX:+UseParallelGC\fR)¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ë¤è¤Ã¤ÆËþ¤¿¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¡¢CMS¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£G1¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿(\fI\-XX:+UseG1GC\fR)¤ÏÊ̤ÎÂåÂØ¤È¤Ê¤ê¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥³¥ì¥¯¥¿¤Ï¡¢¥Þ¥·¥ó¤Î¹½À®¤ª¤è¤ÓJVM¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤Æ¡¢¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë¤È¡¢\fI\-XX:+UseParNewGC\fR¥ª¥×¥·¥ç¥ó¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseG1GC +.RS 4 +G1¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¥µ¡¼¥Ð¡¼·Á¼°¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ç¡¢ÂçÎ̤ÎRAM¤ò»ý¤Ä¥Þ¥ë¥Á¥×¥í¥»¥Ã¥µ¡¦¥Þ¥·¥ó¤òÂоݤȤ·¤Æ¤¤¤Þ¤¹¡£¹â¤¤³ÎΨ¤ÇGCµÙ»ß»þ´Ö¤ÎÌÜɸ¤òãÀ®¤·¡¢Æ±»þ¤ËŬÀڤʥ¹¥ë¡¼¥×¥Ã¥È¤â°Ý»ý¤·¤Þ¤¹¡£G1¥³¥ì¥¯¥¿¤Ï¡¢GCÂÔµ¡»þ´Ö¤Î¸ÂÄꤵ¤ì¤¿Í×·ï(°ÂÄꤷ¤¿Í½Â¬²Äǽ¤Ê0\&.5ÉÃ̤Ëþ¤ÎµÙ»ß»þ´Ö)¤ò»ý¤Ä¡¢Â礭¤¤¥Ò¡¼¥×(Ìó6GB°Ê¾å¤Î¥µ¥¤¥º)¤¬É¬Íפʥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¿ä¾©¤µ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥³¥ì¥¯¥¿¤Ï¡¢¥Þ¥·¥ó¤Î¹½À®¤ª¤è¤ÓJVM¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤Æ¡¢¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseGCOverheadLimit +.RS 4 +\fIOutOfMemoryError\fRÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤ë¤Þ¤Ç¤Ë¡¢GC¤ÇJVM¤Ë¤è¤Ã¤ÆÍפ·¤¿»þ´Ö¤Î³ä¹ç¤òÀ©¸Â¤¹¤ë¥Ý¥ê¥·¡¼¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Ë¹ç·×»þ´Ö¤Î98%¤è¤ê¿¤¯Èñ¤ä¤µ¤ì¡¢¥Ò¡¼¥×¤Î¥ê¥«¥Ð¥ê¤¬2%̤Ëþ¤Ç¤¢¤ë¾ì¹ç¡¢¥Ñ¥é¥ì¥ëGC¤Ë¤è¤Ã¤Æ\fIOutOfMemoryError\fR¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£¥Ò¡¼¥×¤¬¾®¤µ¤¤¾ì¹ç¡¢¤³¤Îµ¡Ç½¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Ä¹´ü´Ö¤Û¤È¤ó¤É¤Þ¤¿¤Ï¤Þ¤Ã¤¿¤¯¿ÊĽ¤Ê¤¯¼Â¹Ô¤·¤Æ¤¤¤ë¾õÂÖ¤ò²óÈò¤¹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseGCOverheadLimit\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseNUMA +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Çû¤¤ÂÔµ¡»þ´Ö¤Î¥á¥â¥ê¡¼¤Î»ÈÍѤòÁý²Ã¤µ¤»¤ë¤³¤È¤Ç¡¢ÉԶѰì¤Ê¥á¥â¥ê¡¼¡¦¥¢¡¼¥­¥Æ¥¯¥Á¥ã(NUMA)¤ò»ÈÍѤ·¤¿¥Þ¥·¥ó¾å¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ºÇŬ²½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢NUMA¤ËÂФ¹¤ëºÇŬ²½¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥é¥ì¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿(\fI\-XX:+UseParallelGC\fR)¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤ß»ÈÍѲÄǽ¤Ç¤¹¡£ +.RE +.PP +\-XX:+UseParallelGC +.RS 4 +Ê£¿ô¤Î¥×¥í¥»¥Ã¥µ¤òÍøÍѤ·¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¡¢¥Ñ¥é¥ì¥ë¡¦¥¹¥«¥Ù¥ó¥¸¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿(¥¹¥ë¡¼¥×¥Ã¥È¡¦¥³¥ì¥¯¥¿¤È¤â¸Æ¤Ð¤ì¤ë)¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥³¥ì¥¯¥¿¤Ï¡¢¥Þ¥·¥ó¤Î¹½À®¤ª¤è¤ÓJVM¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤Æ¡¢¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£¤³¤ì¤òÍ­¸ú¤Ë¤·¤¿¾ì¹ç¡¢ÌÀ¼¨Åª¤Ë̵¸ú¤Ë¤·¤Ê¤¤¤«¤®¤ê¡¢\fI\-XX:+UseParallelOldGC\fR¥ª¥×¥·¥ç¥ó¤¬¼«Æ°Åª¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseParallelOldGC +.RS 4 +¥Õ¥ëGC¤Ø¤Î¥Ñ¥é¥ì¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£¤³¤ì¤òÍ­¸ú¤Ë¤¹¤ë¤È¡¢\fI\-XX:+UseParallelGC\fR¥ª¥×¥·¥ç¥ó¤¬¼«Æ°Åª¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseParNewGC +.RS 4 +¼ã¤¤À¤Âå¤Ç¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ø¤Î¥Ñ¥é¥ì¥ë¡¦¥¹¥ì¥Ã¥É¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£\fI\-XX:+UseConcMarkSweepGC\fR¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤È¡¢¤³¤ì¤Ï¼«Æ°Åª¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseSerialGC +.RS 4 +¥·¥ê¥¢¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤«¤éÆÃÊ̤ʵ¡Ç½¤òɬÍפȤ·¤Ê¤¤¡¢¾®µ¬ÌϤÇñ½ã¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤Ï°ìÈ̤˺ÇŬ¤ÊÁªÂò¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥³¥ì¥¯¥¿¤Ï¡¢¥Þ¥·¥ó¤Î¹½À®¤ª¤è¤ÓJVM¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤Æ¡¢¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseTLAB +.RS 4 +¼ã¤¤À¤Âå¤ÎÎΰè¤Ç¤Î¥¹¥ì¥Ã¥É¡¦¥í¡¼¥«¥ë¤Ê³äÅö¤Æ¥Ö¥í¥Ã¥¯(TLAB)¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£TLAB¤Î»ÈÍѤò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseTLAB\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.SS "Èó¿ä¾©¤Çºï½ü¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢°Ê¹ß¤ÏÉÔÍפȤߤʤµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\-Xrun\fIlibname\fR +.RS 4 +»ØÄꤷ¤¿¥Ç¥Ð¥Ã¥°/¥×¥í¥Õ¥¡¥¤¥ë¤Î¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-agentlib\fR¥ª¥×¥·¥ç¥ó¤Ë¼è¤Ã¤ÆÂå¤ï¤é¤ì¤Þ¤·¤¿¡£ +.RE +.PP +\-XX:CMSInitiatingPermOccupancyFraction=\fIpercent\fR +.RS 4 +GC¤ò³«»Ï¤¹¤ë±Êµ×À¤ÂåÀêͭΨ(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏJDK 8¤Ç¤ÏÈó¿ä¾©¤Ç¡¢¤½¤ì¤ËÂå¤ï¤ë¤â¤Î¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:MaxPermSize=\fIsize\fR +.RS 4 +±Êµ×À¤ÂåÎΰè¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JDK 8¤ÇÈó¿ä¾©¤Ë¤Ê¤ê¡¢\fI\-XX:MaxMetaspaceSize\fR¥ª¥×¥·¥ç¥ó¤Ë¼è¤Ã¤ÆÂå¤ï¤é¤ì¤Þ¤·¤¿¡£ +.RE +.PP +\-XX:PermSize=\fIsize\fR +.RS 4 +ͤ¨¤¿¾ì¹ç¤Ë¤Ï¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤ò¥È¥ê¥¬¡¼¤¹¤ë¡¢±Êµ×À¤Âå¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿Îΰè(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JDK 8¤ÇÈó¿ä¾©¤Ë¤Ê¤ê¡¢\fI\-XX:MetaspaceSize\fR¥ª¥×¥·¥ç¥ó¤Ë¼è¤Ã¤ÆÂå¤ï¤é¤ì¤Þ¤·¤¿¡£ +.RE +.PP +\-XX:+UseSplitVerifier +.RS 4 +¸¡¾Ú¥×¥í¥»¥¹¤Îʬ³ä¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¸¡¾Ú¤Ï¡¢¥¿¥¤¥×»²¾È(¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼Â¹Ô)¤È¡¢¥¿¥¤¥×¡¦¥Á¥§¥Ã¥¯(JVM¥é¥ó¥¿¥¤¥à¤Ë¤è¤Ã¤Æ¼Â¹Ô)¤Î2¤Ä¤Î¥Õ¥§¡¼¥º¤Ëʬ³ä¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏJDK 8¤ÇÈó¿ä¾©¤È¤Ê¤ê¡¢¸¡¾Ú¤Ï¥Ç¥Õ¥©¥ë¥È¤Çʬ³ä¤µ¤ì¡¢Ìµ¸ú¤Ë¤¹¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseStringCache +.RS 4 +°ìÈ̤˳ä¤êÅö¤Æ¤é¤ì¤¿Ê¸»úÎó¤Î¥­¥ã¥Ã¥·¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏJDK 8¤«¤éºï½ü¤µ¤ì¡¢¤½¤ì¤ËÂå¤ï¤ë¤â¤Î¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.SH "¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡¦¥Á¥å¡¼¥Ë¥ó¥°¤ÎÎã" +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥ë¡¼¥×¥Ã¥È¤ÎºÇŬ²½¤Þ¤¿¤Ï¥ì¥¹¥Ý¥ó¥¹»þ´Ö¤Îû½Ì²½¤Î¤¤¤º¤ì¤«¤ò¹Ô¤¦¤¿¤á¤Î¡¢»î¸³Åª¤Ê¥Á¥å¡¼¥Ë¥ó¥°¡¦¥Õ¥é¥°¤Î»ÈÍÑÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ¥¹¥ë¡¼¥×¥Ã¥È¤ò¸þ¾å¤¹¤ë¤¿¤á¤Î¥Á¥å¡¼¥Ë¥ó¥° +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g \-Xms26g \-Xmx26g +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ¥ì¥¹¥Ý¥ó¥¹»þ´Ö¤ò®¤¯¤¹¤ë¤¿¤á¤Î¥Á¥å¡¼¥Ë¥ó¥° +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-d64 \-XX:+UseG1GC \-Xms26g Xmx26g \-XX:MaxGCPauseMillis=500 \-XX:+PrintGCTimeStamp +.fi +.if n \{\ +.RE +.\} .RE - -.LP .SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" -.LP -.LP -°ìÈ̤ˡ¢¼¡¤Î½ªÎ»Ãͤ¬µ¯Æ°¥Ä¡¼¥ë¤«¤éÊÖ¤µ¤ì¤ë¤Î¤ÏÄ̾µ¯Æ°¸µ¤¬ÉÔÀµ¤Ê°ú¿ô¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¤«¡¢¿¼¹ï¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤«¡¢¤¢¤ë¤¤¤Ï Java ²¾ÁÛ¥Þ¥·¥ó¤«¤éÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì¹ç¤Ç¤¹¡£¤¿¤À¤· Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢API ¸Æ¤Ó½Ð¤· \f2System.exit(exitValue)\fP ¤ò»ÈÍѤ·¤ÆÇ¤°Õ¤ÎÃͤòÊÖ¤¹¤³¤È¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f20\fP: Àµ¾ï½ªÎ» -.TP 2 -o -\f2>0\fP: ¥¨¥é¡¼¤¬È¯À¸¤·¤¿ +.PP +Ä̾¼¡¤Î½ªÎ»Ãͤ¬µ¯Æ°¥Ä¡¼¥ë¤«¤éÊÖ¤µ¤ì¤ë¤Î¤Ï¡¢µ¯Æ°¸µ¤¬ÉÔÀµ¤Ê°ú¿ô¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¤«¡¢¿¼¹ï¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤«¡¢¤¢¤ë¤¤¤ÏJVM¤Ë¤è¤êÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì¹ç¤Ç¤¹¡£¤¿¤À¤·¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢API¸Æ½Ð¤·\fISystem\&.exit(exitValue)\fR¤ò»ÈÍѤ·¤ÆÇ¤°Õ¤ÎÃͤòÊÖ¤¹¤³¤È¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Ãͤϼ¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI0\fR: Àµ¾ï½ªÎ» +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI>0\fR: ¥¨¥é¡¼È¯À¸ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -javac(1) -.TP 2 -o -jdb(1) -.TP 2 -o -javah(1) -.TP 2 -o -jar(1) -.TP 2 -o -.na -\f2¡ÖJava ³ÈÄ¥µ¡Ç½¥Õ¥ì¡¼¥à¥ï¡¼¥¯¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html -.TP 2 -o -.na -\f2¡Ö¥»¥­¥å¥ê¥Æ¥£¡¼¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/index.html -.TP 2 -o -.na -\f2¡ÖHotSpot VM Specific Options¡×\fP @ -.fi -http://java.sun.com/docs/hotspot/VMOptions.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/javac.1 b/jdk/src/linux/doc/man/ja/javac.1 index cb107bfb9a1..5d829a38a81 100644 --- a/jdk/src/linux/doc/man/ja/javac.1 +++ b/jdk/src/linux/doc/man/ja/javac.1 @@ -1,1250 +1,1489 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javac 1 "07 May 2011" - -.LP -.SH "̾Á°" -javac \- Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥³¥ó¥Ñ¥¤¥é -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë -.TP 2 -o -Ãí¼á½èÍý -.TP 2 -o -·¿¤Î¸¡º÷ -.TP 2 -o -¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javac +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javac" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javac \- Java¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤òÆÉ¤ß¼è¤ê¡¢¥Ð¥¤¥È¥³¡¼¥É¤ª¤è¤Ó¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ] -.fl - -.fl +\fIjavac\fR [ \fIoptions\fR ] [ \fIsourcefiles\fR ] [ \fIclasses\fR] [ \fI@argfiles\fR ] .fi - -.LP -.LP -°ú¿ô¤Ï½çÉÔÆ±¤Ç¤¹¡£ -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -sourcefiles -¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë 1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (MyClass.java ¤Ê¤É) -.TP 3 -classes -Ãí¼á¤Î½èÍýÂоݤȤʤë 1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹ (MyPackage.MyClass ¤Ê¤É) -.TP 3 -@argfiles -¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÎóµó¤·¤¿ 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ +.if n \{\ +.RE +.\} +.PP +°ú¿ô¤ò»ØÄꤹ¤ë½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£ +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIsourcefiles\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë1¤Ä°Ê¾å¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë(\fIMyClass\&.java\fR¤Ê¤É)¡£ +.RE +.PP +\fIclasses\fR +.RS 4 +Ãí¼á¤Î½èÍýÂоݤȤʤë1¤Ä°Ê¾å¤Î¥¯¥é¥¹(\fIMyPackage\&.MyClass\fR¤Ê¤É)¡£ +.RE +.PP +\fI@argfiles\fR +.RS 4 +¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò°ìÍ÷ɽ¼¨¤¹¤ë1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï\fI\-J\fR¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3javac\fP ¥Ä¡¼¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Çµ­½Ò¤µ¤ì¤¿¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤òÆÉ¤ß¼è¤ê¡¢¥Ð¥¤¥È¥³¡¼¥É¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£¤Þ¤¿¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹Æâ¤ÎÃí¼á¤Î½èÍý¤â¹Ô¤¤¤Þ¤¹¡£ -.LP -.LP -¥½¡¼¥¹¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤ò \f3javac\fP ¤ËÅϤ¹¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¿ô¤¬¾¯¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¥³¥Þ¥ó¥É¹Ô¤ÇľÀÜ»ØÄꤷ¤Þ¤¹¡£ -.TP 2 -o -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¶õÇò¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀڤäơ¢1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ËÎóµó¤·¤Þ¤¹¡£¼¡¤Ë¡¢¤³¤Î¥ê¥¹¥È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë \f3@\fP ¤òÉÕ¤±¤Æ¡¢\f3javac\fP ¤Î¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Þ¤¹¡£ +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Çµ­½Ò¤µ¤ì¤¿¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤òÆÉ¤ß¼è¤ê¡¢¥Ð¥¤¥È¥³¡¼¥É¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹Æâ¤ÎÃí¼á¤Î½èÍý¤â¤Ç¤­¤Þ¤¹¡£ +.PP +¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤ò\fIjavac\fR¤ËÅϤ¹¤Ë¤Ï¡¢2¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¿ô¤¬¾¯¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£ .RE - -.LP -.LP -¥½¡¼¥¹¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤Ï \f2.java\fP ³ÈÄ¥»Ò¤ò¡¢¥¯¥é¥¹¤Î¥Õ¥¡¥¤¥ë̾¤Ï \f2.class\fP ³ÈÄ¥»Ò¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¤É¤Á¤é¤â¡¢³ºÅö¤¹¤ë¥¯¥é¥¹¤ËÂбþ¤¹¤ë¥ë¡¼¥È̾¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2MyClass\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤Ï¡¢ \f2MyClass.java\fP ¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤·¤Þ¤¹¡£¤³¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢ \f2MyClass.class\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ð¥¤¥È¥³¡¼¥É¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -ÆâÉô¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢ÄɲäΥ¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ \f2MyClass$MyInnerClass.class\fP ¤Î¤è¤¦¤Ë¡¢³°Éô¥¯¥é¥¹Ì¾¤ÈÆâÉô¥¯¥é¥¹Ì¾¤òÁȤ߹ç¤ï¤»¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤òÈ¿±Ç¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò \f3/workspace\fP ¤ËÃÖ¤¤¤Æ¤¤¤ë¾ì¹ç¡¢ \f2com.mysoft.mypack.MyClass\fP ¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï \f3/workspace/com/mysoft/mypack/MyClass.java\fP ¤Ë¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢³Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÂбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤­¤Þ¤¹¡£Ê̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\f3\-d\fP ¤ò»ÈÍѤ·¤Þ¤¹ (¤³¤Î¤¢¤È¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È)¡£ -.LP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤ò¶õÇò¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¡¢¥ê¥¹¥È¡¦¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤Ï\&.java³ÈÄ¥»Ò¤ò¡¢¥¯¥é¥¹¤Î¥Õ¥¡¥¤¥ë̾¤Ï\&.class³ÈÄ¥»Ò¤ò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤É¤Á¤é¤â¡¢³ºÅö¤¹¤ë¥¯¥é¥¹¤ËÂбþ¤¹¤ë¥ë¡¼¥È̾¤ò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIMyClass\fR¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤Ï¡¢\fIMyClass\&.java\fR¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤µ¤ì¤Þ¤¹¡£¤³¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢\fIMyClass\&.class\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ð¥¤¥È¥³¡¼¥É¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£ +.PP +ÆâÉô¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢ÄɲäΥ¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢\fIMyClass$MyInnerClass\&.class\fR¤Î¤è¤¦¤Ë¡¢ÆâÉô¥¯¥é¥¹Ì¾¤È³°Éô¥¯¥é¥¹Ì¾¤òÁȤ߹礻¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ä¥ê¡¼¤òÈ¿±Ç¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¡¦¥Ä¥ê¡¼¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬\fI/workspace\fR¤Ë¤¢¤ë¾ì¹ç¡¢\fIcom\&.mysoft\&.mypack\&.MyClass\fR¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤ò¡¢\fI/workspace/com/mysoft/mypack/MyClass\&.java\fR¤Ë³ÊǼ¤·¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢³Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÂбþ¤¹¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£\fI\-d\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Ê̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ë¤Ï¡¢¸½ºß¤Î³«È¯´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëɸ½à¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì°Ê³°¤ÎÈóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Î²¾ÁÛ¥Þ¥·¥ó¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢¾­Íè¤ËÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3\-X\fP ¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ -.LP -.SS -ɸ½à¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-Akey[=value] -Ãí¼á¥×¥í¥»¥Ã¥µ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£¤³¤ì¤é¤Ï¡¢javac ¤Ë¤è¤Ã¤ÆÄ¾Àܲò¼á¤µ¤ì¤º¡¢¸Ä¡¹¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£\f2key\fP ¤Ë¤Ï¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¼±Ê̻Ҥò¡Ö.¡×¤Ç¶èÀڤ俤â¤Î¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-cp path ¤Þ¤¿¤Ï \-classpath path -¥æ¡¼¥¶¡¼¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó (¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï) Ãí¼á¥×¥í¥»¥Ã¥µ¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Ñ¥¹¤Ï \f3CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\f3CLASSPATH\fP¡¢\f3\-cp\fP¡¢\f3\-classpath\fP ¤Î¤¤¤º¤ì¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£ -.LP -\f3\-processorpath\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-Djava.ext.dirs=directories -¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-Djava.endorsed.dirs=directories -¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-d directory -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3javac\fP ¤ÏºîÀ®¤·¤Þ¤»¤ó¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¡¢\f3javac\fP ¤Ï¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÃÖ¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-d /home/myclasses\fP ¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬ \f2com.mypackage.MyClass\fP ¤Ç¤¢¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/myclasses/com/mypackage/MyClass.class\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3\-d\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f3javac\fP ¤Ï³Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤ÎÀ¸À®¸µ¤È¤Ê¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£ -.LP -\f3Ãí:\fP \f3\-d\fP ¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¼«Æ°Åª¤Ë¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£ -.TP 3 -\-deprecation -¿ä¾©¤µ¤ì¤Ê¤¤¥á¥ó¥Ð¡¼¤ä¥¯¥é¥¹¤¬¡¢»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¤¿¤Ó¤ËÀâÌÀ¤òɽ¼¨¤·¤Þ¤¹¡£\f3\-deprecation\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3javac\fP ¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤¥á¥ó¥Ð¡¼¤ä¥¯¥é¥¹¤ò»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÍ×Ìó¤òɽ¼¨¤·¤Þ¤¹¡£\f3\-deprecation\fP ¤Ï \f3\-Xlint:deprecation\fP ¤Î¾Êάɽµ­¤Ç¤¹¡£ -.TP 3 -\-encoding encoding -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾ ( \f2EUC\-JP ¤ä UTF\-8\fP ¤Ê¤É) ¤ò»ØÄꤷ¤Þ¤¹¡£\f3\-encoding\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Ð¡¼¥¿¤¬»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-endorseddirs directories -¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-extdirs directories -\f2ext\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\f2directories\fP ÊÑ¿ô¤Ë¤Ï¡¢¥³¥í¥ó¤Ç¶èÀڤ俥ǥ£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³Æ JAR ¥¢¡¼¥«¥¤¥Ö¤«¤é¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£¸«¤Ä¤«¤Ã¤¿¤¹¤Ù¤Æ¤Î JAR ¥¢¡¼¥«¥¤¥Ö¤Ï¼«Æ°Åª¤Ë¥¯¥é¥¹¥Ñ¥¹¤Î°ìÉô¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë (°Û¤Ê¤ë Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦) ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-g -¶É½êÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈֹ椪¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊó¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-g:none -¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤»¤ó¡£ -.TP 3 -\-g:{keyword list} -¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥­¡¼¥ï¡¼¥É¥ê¥¹¥È¤Ë¤è¤ê»ØÄꤵ¤ì¤¿¡¢ÆÃÄê¤Î¼ïÎà¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤Î¥­¡¼¥ï¡¼¥É¤¬Í­¸ú¤Ç¤¹¡£ -.RS 3 -.TP 3 -source -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ç¥Ð¥Ã¥°¾ðÊó -.TP 3 -lines -¹ÔÈÖ¹æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó -.TP 3 -vars -¶É½êÊÑ¿ô¤Î¥Ç¥Ð¥Ã¥°¾ðÊó +.PP +¥³¥ó¥Ñ¥¤¥é¤Ë¤Ï¡¢¸½ºß¤Î³«È¯´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëɸ½à¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì°Ê³°¤ÎÈóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Î²¾ÁÛ¥Þ¥·¥ó¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢¾­Íè¡¢Êѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-X\fR¥ª¥×¥·¥ç¥ó¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE -.TP 3 -\-help -ɸ½à¥ª¥×¥·¥ç¥ó¤Î·Á¼°¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-implicit:{class,none} -°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÀ©¸æ¤·¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¼«Æ°À¸À®¤¹¤ë¤Ë¤Ï¡¢\f3\-implicit:class\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÍÞÀ©¤¹¤ë¤Ë¤Ï¡¢\f3\-implicit:none\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¼«Æ°À¸À®¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤Î¤è¤¦¤Ê¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿»þ¤ËÃí¼á½èÍý¤â¼Â¹Ô¤µ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤«¤é·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬ÌÀ¼¨Åª¤ËÀßÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢·Ù¹ð¤Ïȯ¹Ô¤µ¤ì¤Þ¤»¤ó¡£¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-Joption -\f3javac\fP ¤¬¸Æ¤Ó½Ð¤¹ \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¡¢\f2option\fP ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ­½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇØ¸å¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -\f3Ãí:\fP \f3CLASSPATH\fP¡¢\f3\-classpath\fP¡¢\f3\-bootclasspath\fP¡¢¤ª¤è¤Ó \f3\-extdirs\fP ¤Ï¡¢\f3javac\fP ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»È¤¦¥¯¥é¥¹¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¤è¤¦¤ÊÊýË¡¤Ç¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤òÁàºî¤¹¤ë¤³¤È¤Ï¡¢Ä̾ï¤Ï̵°ÕÌ£¤Ç¤¢¤ê¡¢¾ï¤Ë´í¸±¤òȼ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÊýË¡¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢\f3\-J\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢É¬Íפʥª¥×¥·¥ç¥ó¤òÇØ¸å¤Î \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-nowarn -·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï \f3\-Xlint:none\fP ¤ÈƱ¤¸°ÕÌ£¤Ç¤¹¡£ -.TP 3 -\-proc: {none,only} -Ãí¼á½èÍý¡¢¥³¥ó¥Ñ¥¤¥ë¡¢¤½¤ÎξÊý¡¢¤Î¤¤¤º¤ì¤ò¼Â¹Ô¤¹¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£\f3\-proc:none\fP ¤Ï¡¢Ãí¼á½èÍý¤Ê¤·¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\f3\-proc:only\fP ¤Ï¡¢Ãí¼á½èÍý¤À¤±¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¤Þ¤Ã¤¿¤¯¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ -.TP 3 -\-processor class1[,class2,class3...] -¼Â¹Ô¤¹¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¡£¤³¤ì¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸¡º÷½èÍý¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-processorpath path -Ãí¼á¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Æâ¤Ç¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-s dir -À¸À®¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼÀè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3javac\fP ¤ÏºîÀ®¤·¤Þ¤»¤ó¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£¤½¤ÎºÝ¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥æ¡¼¥¶¡¼¤¬ \f3\-s /home/mysrc\fP ¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬ \f2com.mypackage.MyClass\fP ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/mysrc/com/mypackage/MyClass.java\fP Æâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-source release -¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\f2release\fP ¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 3 -1.3 -¤³¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¡¢JDK 1.3 °Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Î¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ -.TP 3 -1.4 -JDK 1.4 ¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ -.TP 3 -1.5 -JDK 5 ¤ÇƳÆþ¤µ¤ì¤¿Áí¾Î¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤ó¤À¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ -.TP 3 -5 -1.5 ¤ÈƱµÁ¤Ç¤¹¡£ -.TP 3 -1.6 -¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£Java SE 6 ¤Ç¤Ï¸À¸ì¤ËÂФ¹¤ëÊѹ¹¤ÏƳÆþ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¥¨¥é¡¼¤¬¡¢°ÊÁ°¤Î¤è¤¦¤Ê¡Ö·Ù¹ð¡×¤Ç¤Ï¤Ê¤¯¡¢¡Ö¥¨¥é¡¼¡×¤È¤·¤ÆÊó¹ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ -.TP 3 -6 -1.6 ¤ÈƱµÁ¤Ç¤¹¡£ -.TP 3 -1.7 -JDK 7 ¤ÇƳÆþ¤µ¤ì¤¿µ¡Ç½¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ -.TP 3 -7 -1.7 ¤ÈƱµÁ¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Èóɸ½à¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE -.TP 3 -\-sourcepath sourcepath -¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤ò¸¡º÷¤¹¤ë¥½¡¼¥¹¥³¡¼¥É¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ÈƱÍͤˡ¢¥½¡¼¥¹¥Ñ¥¹¤ÎÊ£¿ô¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥½¡¼¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤Þ¤¿¤Ï ZIP ¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥í¡¼¥«¥ë¥Ñ¥¹Ì¾¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -\f3Ãí:\fP\ ¥¯¥é¥¹¥Ñ¥¹¤«¤é¥¯¥é¥¹¤À¤±¤Ç¤Ê¤¯¤½¤Î¥½¡¼¥¹¤â¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥¯¥é¥¹¤Ï¼«Æ°ºÆ¥³¥ó¥Ñ¥¤¥ë¤ÎÂоݤˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-verbose -¾ÜºÙ¤Ê½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¥í¡¼¥É¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Î¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-Werror -·Ù¹ð¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤ò½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-X -Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.SS "ɸ½à¥ª¥×¥·¥ç¥ó" +.PP +\-A\fIkey\fR[\fI=value\fR] +.RS 4 +Ãí¼á¥×¥í¥»¥Ã¥µ¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavac\fR¤¬Ä¾Àܲò¼á¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¤½¤ì¤¾¤ì¤Î¥×¥í¥»¥Ã¥µ¤Ç»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£\fIkey\fR¤ÎÃͤϡ¢1¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¼±Ê̻Ҥò¥É¥Ã¥È(\&.)¤Ç¶èÀÚ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.SS -¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢\f3javac\fP ¤¬ÅºÉÕ¤µ¤ì¤Æ¤¤¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\f3javac\fP ¤Ï¡¢°Û¤Ê¤ë Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡×¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢\f3\-bootclasspath\fP ¤ª¤è¤Ó \f3\-extdirs\fP ¤ò»È¤¦¤³¤È¤¬½ÅÍפǤ¹¡£¤³¤Î¤¢¤È¤Î¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -\-target version -»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤Î VM ¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤·¤¿¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ïưºî¤·¤Þ¤¹¤¬¡¢¤½¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î VM ¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡£Í­¸ú¤Ê¥¿¡¼¥²¥Ã¥È¤Ï¡¢\f31.1\fP¡¢\f31.2\fP¡¢\f31.3\fP¡¢\f31.4\fP¡¢\f31.5\fP (\f35\fP ¤â²Ä)¡¢\f31.6\fP (\f36\fP ¤â²Ä)¡¢¤ª¤è¤Ó \f31.7\fP (\f37\fP ¤â²Ä) ¤Ç¤¹¡£ -.LP -\f3\-target\fP ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f3\-source\fP ¤ÎÃͤˤè¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\-source ¤¬\f3»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿\fP¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.7\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\-source ¤¬\f31.2\fP ¤Î¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.4\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\-source ¤¬\f31.3\fP ¤Î¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.4\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\-source ¤¬\f3¤½¤ì°Ê³°¤ÎÃͤξì¹ç¤Ï¤¹¤Ù¤Æ\fP¡¢\f3\\\-target\fP ¤ÎÃÍ¤Ï \f3\-source\fP ¤ÎÃͤˤʤê¤Þ¤¹¡£ +.PP +\-cp \fIpath\fR or \-classpath \fIpath\fR +.RS 4 +¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó(¥ª¥×¥·¥ç¥ó¤Ç)Ãí¼á¥×¥í¥»¥Ã¥µ¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¡¦¥Ñ¥¹¤Ï\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤Î¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\fICLASSPATH\fR¡¢\fI\-cp\fR¡¢\fI\-classpath\fR¤Î¤¤¤º¤ì¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Î\fI¥¯¥é¥¹¡¦¥Ñ¥¹\fR¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£Setting the Class Path ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤â¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-processorpath\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤â¥¯¥é¥¹¡¦¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£ .RE -.TP 3 -\-bootclasspath bootclasspath -»ØÄꤵ¤ì¤¿°ìÏ¢¤Î¥Ö¡¼¥È¥¯¥é¥¹¤ËÂФ·¤Æ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ÈƱÍͤˡ¢¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤ÎÊ£¿ô¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤Þ¤¿¤Ï ZIP ¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +\-Djava\&.ext\&.dirs=\fIdirectories\fR +.RS 4 +¥¤¥ó¥¹¥È¡¼¥ëºÑ³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ .RE - -.LP -.SS -Èóɸ½à¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-Xbootclasspath/p:path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ÎÁ°¤ËÄɲä·¤Þ¤¹¡£ -.TP 3 -\-Xbootclasspath/a:path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤Î¸å¤í¤ËÄɲä·¤Þ¤¹¡£ -.TP 3 -\-Xbootclasspath/:path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-Xlint -¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-Xlint:all -¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-Xlint:none -¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-Xlint:name -·Ù¹ð \f2name\fP ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÇÍ­¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö\-Xlint ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-Xlint:\-name -·Ù¹ð \f2name\fP ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö\-Xlint ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-Xmaxerrs number -°õºþ¤¹¤ë¥¨¥é¡¼¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Xmaxwarns number -°õºþ¤¹¤ë·Ù¹ð¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Xstdout filename -¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤ò¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÁ÷¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤Ï \f2System.err\fP ¤ËÁ÷¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-Xprefer:{newer,source} -¤¢¤ë·¿¤ËÂФ·¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ë¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹ (¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È)¡£\f2\-Xprefer:newer\fP ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¤¢¤ë·¿¤ËÂФ¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Êý¤¬ÆÉ¤ß¼è¤é¤ì¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È)¡£\f2\-Xprefer:source\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ÆÉ¤ß¼è¤é¤ì¤Þ¤¹¡£SOURCE ¤ÎÊݸ¥Ý¥ê¥·¡¼¤ò»È¤Ã¤ÆÀë¸À¤µ¤ì¤¿Ãí¼á¤ËǤ°Õ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤¬¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¾ì¹ç¤Ï¡¢\f2\-Xprefer:source\fP \f2¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤\fP¡£ -.TP 3 -\-Xpkginfo:{always,legacy,nonempty} -¥Ñ¥Ã¥±¡¼¥¸¾ðÊó¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Xprint -»ØÄꤵ¤ì¤¿·¿¤Î¥Æ¥­¥¹¥Èɽ¸½¤ò¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç½ÐÎϤ·¤Þ¤¹¡£Ãí¼á½èÍý¡¢¥³¥ó¥Ñ¥¤¥ë¤Î¤É¤Á¤é¤â¼Â¹Ô¤·¤Þ¤»¤ó¡£½ÐÎÏ·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-XprintProcessorInfo -¤¢¤ëÆÃÄê¤Î¥×¥í¥»¥Ã¥µ¤¬½èÍý¤ò°ÍÍꤵ¤ì¤Æ¤¤¤ëÃí¼á¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-XprintRounds -½é²ó¤ª¤è¤Ó¸å³¤ÎÃí¼á½èÍý¥é¥¦¥ó¥É¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.PP +\-Djava\&.endorsed\&.dirs=\fIdirectories\fR +.RS 4 +¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ .RE - -.LP -.SS -\-Xlint ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð -.LP -.LP -\f3\-Xlint:\fP\f2name\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ·Ù¹ð \f2name\fP ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\f2name\fP ¤Ï¼¡¤Î·Ù¹ð̾¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£Æ±Íͤˡ¢\f3\-Xlint:\-\fP\f2name\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ·Ù¹ð \f2name\fP ¤ò̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -cast -ÉÔÍפǾéĹ¤Ê¥­¥ã¥¹¥È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +\-d \fIdirectory\fR +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï\fIjavac\fR¤Ç¤ÏºîÀ®¤µ¤ì¤Ê¤¤¤¿¤á¡¢¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¡¢\fIjavac\fR¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +\fI\-d\fR +\fI/home/myclasses\fR¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬\fIcom\&.mypackage\&.MyClass\fR¤Ç¤¢¤ë¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï\fI/home/myclasses/com/mypackage/MyClass\&.class\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fI\-d\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fIjavac\fR¤Ï¡¢³Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤ÎÀ¸À®¸µ¤È¤Ê¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +\fI\-d\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Ë¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-deprecation +.RS 4 +Èó¿ä¾©¤Î¥á¥ó¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¹¤¬»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢ÀâÌÀ¤òɽ¼¨¤·¤Þ¤¹¡£\fI\-deprecation\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavac\fR¤Ï¡¢Èó¿ä¾©¤Î¥á¥ó¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¹¤ò»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥µ¥Þ¥ê¡¼¤òɽ¼¨¤·¤Þ¤¹¡£\fI\-deprecation\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-Xlint:deprecation\fR¤Î¾Êάɽµ­¤Ç¤¹¡£ +.RE +.PP +\-encoding \fIencoding\fR +.RS 4 +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾(EUC\-JP¤äUTF\-8¤Ê¤É)¤òÀßÄꤷ¤Þ¤¹¡£\fI\-encoding\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥³¥ó¥Ð¡¼¥¿¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-endorseddirs \fIdirectories\fR +.RS 4 +¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-extdirs \fIdirectories\fR +.RS 4 +\fIext\fR¥Ç¥£¥ì¥¯¥È¥ê¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£directoriesÊÑ¿ô¤Ë¤Ï¡¢¥³¥í¥ó¤Ç¶èÀڤ俥ǥ£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÆJAR¥Õ¥¡¥¤¥ë¤«¤é¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£¸¡½Ð¤µ¤ì¤¿¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î°ìÉô¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë(°Û¤Ê¤ëJava¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦)¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-g +.RS 4 +¥í¡¼¥«¥ëÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈֹ椪¤è¤Ó¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¾ðÊó¤Î¤ß¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-g:none +.RS 4 +¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤»¤ó¡£ +.RE +.PP +\-g:[\fIkeyword list\fR] +.RS 4 +¥«¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥­¡¼¥ï¡¼¥É¡¦¥ê¥¹¥È¤Ë¤è¤ê»ØÄꤵ¤ì¤¿¡¢ÆÃÄê¤Î¼ïÎà¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤Î¥­¡¼¥ï¡¼¥É¤¬Í­¸ú¤Ç¤¹¡£ +.PP +source +.RS 4 +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¡£ +.RE +.PP +lines +.RS 4 +¹ÔÈÖ¹æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¡£ +.RE +.PP +vars +.RS 4 +¥í¡¼¥«¥ëÊÑ¿ô¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¡£ +.RE +.RE +.PP +\-help +.RS 4 +ɸ½à¥ª¥×¥·¥ç¥ó¤Î³µÍפò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-implicit:[\fIclass, none\fR] +.RS 4 +°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÀ©¸æ¤·¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¼«Æ°À¸À®¤¹¤ë¤Ë¤Ï¡¢\fI\-implicit:class\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÍÞÀ©¤¹¤ë¤Ë¤Ï¡¢\fI\-implicit:none\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¼«Æ°À¸À®¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤Î¤è¤¦¤Ê¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿»þ¤ËÃí¼á½èÍý¤â¼Â¹Ô¤µ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤«¤é·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤¬ÌÀ¼¨Åª¤ËÀßÄꤵ¤ì¤¿¾ì¹ç¡¢·Ù¹ð¤Ïȯ¹Ô¤µ¤ì¤Þ¤»¤ó¡£·¿¤Î¸¡º÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Javaµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fBÃí°Õ:\fR +\fICLASSPATH\fR¡¢\fI\-classpath\fR¡¢\fI\-bootclasspath\fR¤ª¤è¤Ó\fI\-extdirs\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavac\fR¤Î¼Â¹Ô¤Ë»ÈÍѤµ¤ì¤ë¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ª¤è¤ÓÊÑ¿ô¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤è¤¦¤È¤¹¤ë¤È¡¢¥ê¥¹¥¯¤¬¹â¤¯¡¢Â¿¤¯¤Î¾ì¹ç¡¢É¬ÍפʽèÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢´ðÁäȤʤëJavaµ¯Æ°¥Ä¡¼¥ë¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Þ¤¹¡£ +.RE +.PP +\-nowarn +.RS 4 +·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-Xlint:none\fR¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤è¤¦¤Ëưºî¤·¤Þ¤¹¡£ +.RE +.PP +\-parameters +.RS 4 +¥ê¥Õ¥ì¥¯¥·¥ç¥óAPI¤Î¥á¥½¥Ã¥É\fIjava\&.lang\&.reflect\&.Executable\&.getParameters\fR¤¬¼èÆÀ¤Ç¤­¤ë¤è¤¦¤Ë¡¢À¸À®¤µ¤ì¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤È¥á¥½¥Ã¥É¤Î²¾¥Ñ¥é¥á¡¼¥¿Ì¾¤ò³ÊǼ¤·¤Þ¤¹¡£ +.RE +.PP +\-proc: [\fInone\fR, \fIonly\fR] +.RS 4 +Ãí¼á½èÍý¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£\fI\-proc:none\fR¤Ï¡¢Ãí¼á½èÍý¤Ê¤·¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\fI\-proc:only\fR¤Ï¡¢Ãí¼á½èÍý¤Î¤ß¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¤Þ¤Ã¤¿¤¯¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.RE +.PP +\-processor \fIclass1\fR [,\fIclass2\fR,\fIclass3\fR\&.\&.\&.] +.RS 4 +¼Â¹Ô¤¹¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¡£¤³¤ì¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸¡º÷½èÍý¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-processorpath \fIpath\fR +.RS 4 +Ãí¼á¥×¥í¥»¥Ã¥µ¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤¤¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥×¥í¥»¥Ã¥µ¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-s \fIdir\fR +.RS 4 +À¸À®¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î³ÊǼÀè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï\fIjavac\fR¤Ç¤ÏºîÀ®¤µ¤ì¤Ê¤¤¤¿¤á¡¢¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +\fI\-s /home/mysrc\fR¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬\fIcom\&.mypackage\&.MyClass\fR¤Ç¤¢¤ë¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï\fI/home/mysrc/com/mypackage/MyClass\&.java\fR¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-source \fIrelease\fR +.RS 4 +¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\fIrelease\fR¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +1\&.3 +.RS 4 +¤³¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¡¢Java SE 1\&.3°Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Î¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ +.RE +.PP +1\&.4 +.RS 4 +Java SE 1\&.4¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ +.RE +.PP +1\&.5 +.RS 4 +Java SE 5¤ÇƳÆþ¤µ¤ì¤¿Áí¾Î¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤ó¤À¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ +.RE +.PP +5 +.RS 4 +1\&.5¤ÈƱµÁ¤Ç¤¹¡£ +.RE +.PP +1\&.6 +.RS 4 +Java SE 6¤Ç¤Ï¸À¸ì¤ËÂФ¹¤ëÊѹ¹¤ÏƳÆþ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£¤·¤«¤·¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¡¦¥¨¥é¡¼¤¬¡¢Java Platform, Standard Edition¤Î°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤è¤¦¤Ê·Ù¹ð¤Ç¤Ï¤Ê¤¯¡¢¥¨¥é¡¼¤È¤·¤ÆÊó¹ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +.RE +.PP +6 +.RS 4 +1\&.6¤ÈƱµÁ¤Ç¤¹¡£ +.RE +.PP +1\&.7 +.RS 4 +¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£Java SE 7¤ÇƳÆþ¤µ¤ì¤¿µ¡Ç½¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ +.RE +.PP +7 +.RS 4 +1\&.7¤ÈƱµÁ¤Ç¤¹¡£ +.RE +.RE +.PP +\-sourcepath \fIsourcepath\fR +.RS 4 +¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤ò¸¡º÷¤¹¤ë¥½¡¼¥¹¡¦¥³¡¼¥É¡¦¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ÈƱÍͤˡ¢¥½¡¼¥¹¡¦¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ï¡¢Oracle Solaris¤Ç¤Ï¥³¥í¥ó(:)¤Ç¡¢Windows¤Ç¤Ï¥»¥ß¥³¥í¥ó¤Ç¶èÀڤꡢ¤³¤³¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥¢¡¼¥«¥¤¥Ö¤Þ¤¿¤ÏZIP¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥í¡¼¥«¥ë¡¦¥Ñ¥¹Ì¾¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤â¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Ë¤è¤ê¸«¤Ä¤«¤Ã¤¿¥¯¥é¥¹¤ÏºÆ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£·¿¤Î¸¡º÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verbose +.RS 4 +¥í¡¼¥É¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤´¤È¤Î¾ðÊ󤬽ÐÎϤµ¤ì¤ë¡¢¾ÜºÙ½ÐÎϤò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-werror +.RS 4 +·Ù¹ð¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤ò½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-X +.RS 4 +Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.SS "¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó" +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢\fIjavac\fR¤¬ÅºÉÕ¤µ¤ì¤Æ¤¤¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\fIjavac\fR¤Ï¡¢°Û¤Ê¤ëJava¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢\fI\-bootclasspath\fR¤ª¤è¤Ó\fI\-extdirs\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£ +.PP +\-target \fIversion\fR +.RS 4 +²¾ÁÛ¥Þ¥·¥ó¤Î»ØÄꤵ¤ì¤¿¥ê¥ê¡¼¥¹¤òÂоݤȤ¹¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È°Ê¹ß¤Î¥ê¥ê¡¼¥¹¤Ç¤Ïưºî¤·¤Þ¤¹¤¬¡¢¤½¤ì¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤ÎJVM¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡£Í­¸ú¤Ê¥¿¡¼¥²¥Ã¥È¤Ï¡¢1\&.1¡¢1\&.2¡¢1\&.3¡¢1\&.4¡¢1\&.5 (5¤â²Ä)¡¢1\&.6 (6¤â²Ä)¤ª¤è¤Ó1\&.7 (7¤â²Ä)¤Ç¤¹¡£ +.sp +\fI\-target\fR¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¡¢\fI\-source\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.7¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬1\&.2¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.4¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬1\&.3¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.4¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬1\&.5¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.7¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬1\&.6¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.7¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤Î¾¤Î¤¹¤Ù¤Æ¤ÎÃͤξì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢\fI\-source\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤˤʤê¤Þ¤¹¡£ +.RE +.RE +.PP +\-bootclasspath \fIbootclasspath\fR +.RS 4 +»ØÄꤵ¤ì¤¿°ìÏ¢¤Î¥Ö¡¼¥È¡¦¥¯¥é¥¹¤ËÂФ·¤Æ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ÈƱÍͤˡ¢¥Ö¡¼¥È¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó(:)¤Ç¶èÀڤꡢ¤³¤³¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥¢¡¼¥«¥¤¥Ö¤Þ¤¿¤ÏZIP¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.SS "¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó" +.PP +JDK 8°Ê¹ß¤«¤é¡¢\fIjavac\fR¥³¥ó¥Ñ¥¤¥é¤Ï¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥àÁ´ÂΤòɬÍפȤ·¤Ê¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥Ç¥×¥í¥¤²Äǽ¤Ç¡¢¾®¤µ¤¤¥Õ¥Ã¥È¥×¥ê¥ó¥È¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ëµ¡Ç½¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¹¥È¥¢¤«¤é¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤òû½Ì¤¹¤ë¤Î¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ï¡¢JRE¤ò¥Ð¥ó¥É¥ë¤¹¤ëJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¡¢¤è¤ê¥³¥ó¥Ñ¥¯¥È¤Ê¥Ç¥×¥í¥¤¥á¥ó¥È¤ËÌòΩ¤Á¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ï¡¢¾®¤µ¤¤¥Ç¥Ð¥¤¥¹¤Ç¤âÌòΩ¤Á¤Þ¤¹¡£ +.PP +¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥×¥í¥Õ¥¡¥¤¥ëÃͤϡ¢\fIcompact1\fR¡¢\fIcompact2\fR¤ª¤è¤Ó\fIcompact3\fR¤Ç¤¹¡£¤³¤ì¤é¤Ï¡¢ÄɲäΥ쥤¥ä¡¼¤Ç¤¹¡£Â礭¤¤ÈÖ¹æ¤Î³Æ¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¾®¤µ¤¤ÈÖ¹æ¤Î̾Á°¤Î¥×¥í¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤ÎAPI¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +\-profile +.RS 4 +¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥×¥í¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -String s = (String)"Hello!" -.fl -\fP +javac \-profile compact1 Hello\&.java .fi -.TP 3 -classfile -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ë´ØÏ¢¤·¤¿ÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£ -.TP 3 -deprecation -Èó¿ä¾©¹àÌܤλÈÍѤˤĤ¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +javac¤Ï¡¢»ØÄꤵ¤ì¤¿¥×¥í¥Õ¥¡¥¤¥ë¤Ë¤Ê¤¤Ç¤°Õ¤ÎJava SE API¤ò»ÈÍѤ¹¤ë¥½¡¼¥¹¡¦¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¡¦¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀ¸¤¸¤ë¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤ÎÎã¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - java.util.Date myDate = new java.util.Date(); -.fl - int currentDay = myDate.getDay(); -.fl -\fP +cd jdk1\&.8\&.0/bin +\&./javac \-profile compact1 Paint\&.java +Paint\&.java:5: error: Applet is not available in profile \*(Aqcompact1\*(Aq +import java\&.applet\&.Applet; .fi -.LP -¥á¥½¥Ã¥É \f2java.util.Date.getDay\fP ¤Ï JDK 1.1 °Ê¹ß¤Ï¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ -.TP 3 -dep\-ann -\f2@deprecated\fP Javadoc ¥³¥á¥ó¥È¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¤¬¡¢ \f2@Deprecated\fP Ãí¼á¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤¤¹àÌܤˤĤ¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¤³¤ÎÎã¤Ç¤Ï¡¢\fIApplet\fR¥¯¥é¥¹¤ò»ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë¥½¡¼¥¹¤òÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¨¥é¡¼¤ò½¤Àµ¤Ç¤­¤Þ¤¹¡£\-profile¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¨¥é¡¼¤ò½¤Àµ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢Java SE API¤Î´°Á´¤Ê¥»¥Ã¥È¤ËÂФ·¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£(¤É¤Î¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤Ë¤â¡¢\fIApplet\fR¥¯¥é¥¹¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£) +.sp +¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤ÎÊ̤ÎÊýË¡¤È¤·¤Æ¡¢\fI\-bootclasspath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥×¥í¥Õ¥¡¥¤¥ë¤Î¥¤¥á¡¼¥¸¤ò»ØÄꤹ¤ë\fIrt\&.jar\fR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤«¤ï¤ê¤Ë\fI\-profile\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥×¥í¥Õ¥¡¥¤¥ë¡¦¥¤¥á¡¼¥¸¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥·¥¹¥Æ¥à¾å¤Ë¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë»þ¤ËÌòΩ¤Á¤Þ¤¹¡£ +.RE +.SS "Èóɸ½à¥ª¥×¥·¥ç¥ó" +.PP +\-Xbootclasspath/p:\fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ËÀÜÈø¼­¤òÄɲä·¤Þ¤¹¡£ +.RE +.PP +\-Xbootclasspath/a:\fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ËÀÜÆ¬¼­¤òÄɲä·¤Þ¤¹¡£ +.RE +.PP +\-Xbootclasspath/:\fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-Xdoclint:[\-]\fIgroup\fR [\fI/access\fR] +.RS 4 +\fIgroup\fR¤ÎÃͤ¬\fIaccessibility\fR¡¢\fIsyntax\fR¡¢\fIreference\fR¡¢\fIhtml\fR¤Þ¤¿¤Ï\fImissing\fR¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ëÆÃÄê¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤òÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤Î¾ÜºÙ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +ÊÑ¿ô\fIaccess\fR¤Ï¡¢\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤¬¥Á¥§¥Ã¥¯¤¹¤ë¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤ÎºÇ¾®¤Î²Ä»ëÀ­¥ì¥Ù¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fIpublic\fR¡¢\fIprotected\fR¡¢\fIpackage\fR¤ª¤è¤Ó\fIprivate\fR¤ÎÃÍ(²Ä»ëÀ­¤Î¹â¤¤½ç)¤Î1¤Ä¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢(protected¡¢package¡¢public¤ò´Þ¤à) protected°Ê¾å¤Î¥¢¥¯¥»¥¹¡¦¥ì¥Ù¥ë¤ò»ý¤Ä¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤ò(¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤Ç)¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * @deprecated As of Java SE 7, replaced by {@link #newMethod()} -.fl - */ -.fl - -.fl - public static void deprecatedMethood() { } -.fl - -.fl - public static void newMethod() { } -.fl -\fP +\-Xdoclint:all/protected .fi -.TP 3 -divzero -°ìÄê¤ÎÀ°¿ô 0 ¤Ç½ü»»¤µ¤ì¤ë¤³¤È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢package°Ê¾å¤Î¥¢¥¯¥»¥¹¸¢(package¤ª¤è¤Ópublic¤ò´Þ¤à)¤ò»ý¤Ä¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤ËÂФ¹¤ëHTML¥¨¥é¡¼¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤¤³¤È¤ò½ü¤­¡¢¤¹¤Ù¤Æ¤Î¥¢¥¯¥»¥¹¡¦¥ì¥Ù¥ë¤ËÂФ·¤Æ¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - int divideByZero = 42 / 0; -.fl -\fP +\-Xdoclint:all,\-html/package .fi -.TP 3 -empty -\f2if\fP ʸ°Ê¹ß¤¬¶õ¤Îʸ¤Ç¤¢¤ë¤³¤È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-Xdoclint:none +.RS 4 +¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xdoclint:all[\fI/access\fR] +.RS 4 +¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xlint +.RS 4 +¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.RE +.PP +\-Xlint:all +.RS 4 +¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.RE +.PP +\-Xlint:none +.RS 4 +¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xlint:\fIname\fR +.RS 4 +·Ù¹ð̾¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¤Î¥ê¥¹¥È¤Ï¡¢\-Xlint¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿·Ù¹ð¤ÎÍ­¸ú²½¤Þ¤¿¤Ï̵¸ú²½¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xlint:\fI\-name\fR +.RS 4 +·Ù¹ð̾¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢\-Xlint¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿·Ù¹ð¤ÎÍ­¸ú²½¤Þ¤¿¤Ï̵¸ú²½\-Xlint\fI¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿\fR¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xmaxerrs \fInumber\fR +.RS 4 +°õºþ¤¹¤ë¥¨¥é¡¼¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-Xmaxwarns \fInumber\fR +.RS 4 +°õºþ¤¹¤ë·Ù¹ð¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-Xstdout \fIfilename\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤ò¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÁ÷¿®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤Ï\fISystem\&.err\fR¤ËÁ÷¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xprefer:[\fInewer,source\fR] +.RS 4 +¤¢¤ë·¿¤ËÂФ·¤Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ë¤«¤ò»ØÄꤷ¤Þ¤¹¡£(·¿¤Î¸¡º÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£\fI\-Xprefer:newer\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¤¢¤ë·¿¤ËÂФ¹¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¿·¤·¤¤Êý¤¬ÆÉ¤ß¼è¤é¤ì¤Þ¤¹(¥Ç¥Õ¥©¥ë¥È)¡£\fI\-Xprefer:source\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬ÆÉ¤ß¼è¤é¤ì¤Þ¤¹¡£\fISOURCE\fR¤ÎÊݸ¥Ý¥ê¥·¡¼¤ò»ÈÍѤ·¤ÆÀë¸À¤µ¤ì¤¿Ãí¼á¤ËǤ°Õ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤¬¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¾ì¹ç¤Ï¡¢\fI\-Xprefer:source\fR¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xpkginfo:[\fIalways\fR,\fIlegacy\fR,\fInonempty\fR] +.RS 4 +javac¤¬package\-info\&.java¥Õ¥¡¥¤¥ë¤«¤é\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Êmode°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +always +.RS 4 +¤¹¤Ù¤Æ¤Î\fIpackage\-info\&.java\fR¥Õ¥¡¥¤¥ë¤Î\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤ò¾ï¤ËÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢³Æ\fI\&.java\fR¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë\fI\&.class\fR¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ëAnt¤Ê¤É¤Î¥Ó¥ë¥É¡¦¥·¥¹¥Æ¥à¤ò»ÈÍѤ¹¤ë¾ì¹ç¤ËÌòΩ¤Ä¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +legacy +.RS 4 +package\-info\&.java¤ËÃí¼á¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤Î¤ß\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£package\-info\&.java¤Ë¥³¥á¥ó¥È¤Î¤ß´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤»¤ó¡£ +.sp +\fBÃí°Õ:\fR +\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤Ç¤­¤Þ¤¹¤¬¡¢package\-info\&.java¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤ÎÃí¼á¤Ë\fIRetentionPolicy\&.SOURCE\fR¤¬¤¢¤ë¾ì¹ç¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +nonempty +.RS 4 +package\-info\&.java¤Ë\fIRetentionPolicy\&.CLASS\fR¤Þ¤¿¤Ï\fIRetentionPolicy\&.RUNTIME\fR¤È¤È¤â¤ËÃí¼á¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤Î¤ß\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.RE +.PP +\-Xprint +.RS 4 +¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç»ØÄꤷ¤¿·¿¤Î¥Æ¥­¥¹¥Èɽ¼¨¤ò½ÐÎϤ·¤Þ¤¹¡£Ãí¼á½èÍý¤â¥³¥ó¥Ñ¥¤¥ë¤â¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£½ÐÎÏ·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-XprintProcessorInfo +.RS 4 +¤¢¤ëÆÃÄê¤Î¥×¥í¥»¥Ã¥µ¤¬½èÍý¤ò°ÍÍꤵ¤ì¤Æ¤¤¤ëÃí¼á¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-XprintRounds +.RS 4 +½é²ó¤ª¤è¤Ó¸å³¤ÎÃí¼á½èÍý¥é¥¦¥ó¥É¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.SH "-XLINT¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿·Ù¹ð¤ÎÍ­¸ú²½¤Þ¤¿¤Ï̵¸ú²½" +.PP +\fI\-Xlint:name\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ·Ù¹ð\fIname\fR¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢\fIname\fR¤Ï¼¡¤Î·Ù¹ð̾¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\-Xlint:\-name:\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢·Ù¹ð¤ò̵¸ú²½¤Ç¤­¤Þ¤¹¡£ +.PP +cast +.RS 4 +ÉÔÍפǾéĹ¤Ê¥­¥ã¥¹¥È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +String s = (String) "Hello!" +.fi +.if n \{\ +.RE +.\} +.RE +.PP +classfile +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ë´ØÏ¢¤·¤¿ÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£ +.RE +.PP +deprecation +.RS 4 +Èó¿ä¾©¤Î¹àÌܤλÈÍѤˤĤ¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java\&.util\&.Date myDate = new java\&.util\&.Date(); +int currentDay = myDate\&.getDay(); +.fi +.if n \{\ +.RE +.\} +¥á¥½¥Ã¥É\fIjava\&.util\&.Date\&.getDay\fR¤ÏJDK 1\&.1°Ê¹ß¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +.RE +.PP +dep\-ann +.RS 4 +\fI@deprecated\fR +Javadoc¥³¥á¥ó¥È¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¤¬¡¢\fI@Deprecated\fRÃí¼á¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤¤¹àÌܤˤĤ¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * @deprecated As of Java SE 7, replaced by {@link #newMethod()} + */ +public static void deprecatedMethood() { } +public static void newMethod() { } +.fi +.if n \{\ +.RE +.\} +.RE +.PP +divzero +.RS 4 +ÄêÀ°¿ô0¤Ç½ü»»¤µ¤ì¤ë¤³¤È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +int divideByZero = 42 / 0; +.fi +.if n \{\ +.RE +.\} +.RE +.PP +empty +.RS 4 +\fIif \fRʸ°Ê¹ß¤¬¶õ¤Îʸ¤Ç¤¢¤ë¤³¤È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl class E { -.fl void m() { -.fl - if (true) ; -.fl + if (true) ; } -.fl } -.fl -\fP .fi -.TP 3 -fallthrough -fall\-through ¥±¡¼¥¹¤Î \f2switch\fP ¥Ö¥í¥Ã¥¯¤ò¥Á¥§¥Ã¥¯¤·¡¢¸¡½Ð¤µ¤ì¤¿¤â¤Î¤ËÂФ·¤Æ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£Fall\-through ¥±¡¼¥¹¤Ï¡¢\f2switch\fP ¥Ö¥í¥Ã¥¯Æâ¤ÎºÇ¸å¤Î¥±¡¼¥¹¤ò½ü¤¯¥±¡¼¥¹¤Ç¤¹¡£¤³¤Î¥³¡¼¥É¤Ë¤Ï \f2break\fP ʸ¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¥³¡¼¥É¤Î¼Â¹Ô¤ò¤½¤Î¥±¡¼¥¹¤«¤é¼¡¤Î¥±¡¼¥¹¤Ø°Üư¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î \f2switch\fP ¥Ö¥í¥Ã¥¯Æâ¤Î \f2case 1\fP ¥é¥Ù¥ë¤Ë³¤¯¥³¡¼¥É¤Ï¡¢\f2break\fP ʸ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ +.if n \{\ +.RE +.\} +.RE +.PP +fallthrough +.RS 4 +fall\-through¥±¡¼¥¹¤Îswitch¥Ö¥í¥Ã¥¯¤ò¥Á¥§¥Ã¥¯¤·¡¢¸¡½Ð¤µ¤ì¤¿¤â¤Î¤ËÂФ·¤Æ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£Fall\-through¥±¡¼¥¹¤Ï¡¢switch¥Ö¥í¥Ã¥¯Æâ¤ÎºÇ¸å¤Î¥±¡¼¥¹¤ò½ü¤¯¥±¡¼¥¹¤Ç¤¹¡£¤³¤Î¥³¡¼¥É¤Ë¤Ïbreakʸ¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¥³¡¼¥É¤Î¼Â¹Ô¤ò¤½¤Î¥±¡¼¥¹¤«¤é¼¡¤Î¥±¡¼¥¹¤Ø°Üư¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Îswitch¥Ö¥í¥Ã¥¯Æâ¤Îcase 1¥é¥Ù¥ë¤Ë³¤¯¥³¡¼¥É¤Ï¡¢breakʸ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl switch (x) { -.fl case 1: -.fl - System.out.println("1"); -.fl - // No break statement here. -.fl + System\&.out\&.println("1"); + // No break statement here\&. case 2: -.fl - System.out.println("2"); -.fl + System\&.out\&.println("2"); } -.fl -\fP .fi -.LP -¤³¤Î¥³¡¼¥É¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë \f2\-Xlint:fallthrough\fP ¥Õ¥é¥°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï Åö³º¥±¡¼¥¹¤Î¹ÔÈÖ¹æ¤È¤È¤â¤Ë¡¢fall\-through ¥±¡¼¥¹¤Î²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤ò¼¨¤¹·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£ -.TP 3 -finally -Àµ¾ï¤Ë´°Î»¤Ç¤­¤Ê¤¤ \f2finally\fP Àá¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¤³¤Î¥³¡¼¥É¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë\fI\-Xlint:fallthrough\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢ÌäÂê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥±¡¼¥¹¤Î¹ÔÈÖ¹æ¤È¤È¤â¤Ë¡¢case¤Ëfall\-through¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤ò¼¨¤¹·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +finally +.RS 4 +Àµ¾ï¤Ë´°Î»¤Ç¤­¤Ê¤¤\fIfinally\fR¶ç¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - public static int m() { -.fl - try { -.fl - throw new NullPointerException(); -.fl - } catch (NullPointerException e) { -.fl - System.err.println("Caught NullPointerException."); -.fl - return 1; -.fl - } finally { -.fl - return 0; -.fl - } -.fl +public static int m() { + try { + throw new NullPointerException(); + } catch (NullPointerException(); { + System\&.err\&.println("Caught NullPointerException\&."); + return 1; + } finally { + return 0; + } } -.fl -\fP .fi -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï \f2finally\fP ¥Ö¥í¥Ã¥¯¤Ë´Ø¤¹¤ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¡¢ÃÍ 1 ¤Ç¤Ï¤Ê¤¯ \f20\fP ¤¬ \f2ÊÖ¤µ¤ì¤Þ¤¹\fP¡£ \f2finally\fP ¥Ö¥í¥Ã¥¯¤Ï¡¢ \f2try\fP ¥Ö¥í¥Ã¥¯¤¬½ªÎ»¤¹¤ë¤Èɬ¤º¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢À©¸æ¤¬ \f2catch\fP ¤Ë°Ü¤µ¤ì¤¿¾ì¹ç¡¢¥á¥½¥Ã¥É¤Ï½ªÎ»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢ \f2finally\fP ¥Ö¥í¥Ã¥¯¤Ï¼Â¹Ô¤µ¤ì¤ëɬÍפ¬¤¢¤ë¤¿¤á¡¢À©¸æ¤¬¤¹¤Ç¤Ë¤³¤Î¥á¥½¥Ã¥É¤Î³°Éô¤Ë°Ü¤µ¤ì¤Æ¤¤¤Æ¤â¡¢¤³¤Î¥Ö¥í¥Ã¥¯¤Ï¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤³¤Î¼ï¤Î·Ù¹ð¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -overrides -¥á¥½¥Ã¥É¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ë´Ø¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î 2 ¤Ä¤Î¥¯¥é¥¹¤¬¤¢¤ë¤È¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¤³¤ÎÎã¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï\fIfinally\fR¥Ö¥í¥Ã¥¯¤Ë´Ø¤¹¤ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£\fIint\fR¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¡¢ÃÍ0¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£\fIfinally\fR¥Ö¥í¥Ã¥¯¤Ï¡¢\fItry\fR¥Ö¥í¥Ã¥¯¤¬½ªÎ»¤¹¤ë¤È¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢À©¸æ¤¬\fIcatch\fR¥Ö¥í¥Ã¥¯¤Ë°Ü¤µ¤ì¤¿¾ì¹ç¡¢\fIint\fR¥á¥½¥Ã¥É¤Ï½ªÎ»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\fIfinally\fR¥Ö¥í¥Ã¥¯¤Ï¼Â¹Ô¤µ¤ì¤ëɬÍפ¬¤¢¤ë¤¿¤á¡¢À©¸æ¤¬¥á¥½¥Ã¥É¤Î³°Éô¤Ë°Ü¤µ¤ì¤Æ¤¤¤Æ¤â¡¢¤³¤Î¥Ö¥í¥Ã¥¯¤Ï¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +options +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +overrides +.RS 4 +¥á¥½¥Ã¥É¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ë´Ø¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î2¤Ä¤Î¥¯¥é¥¹¤¬¤¢¤ë¤È¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl public class ClassWithVarargsMethod { -.fl - void varargsMethod(String... s) { } -.fl + void varargsMethod(String\&.\&.\&. s) { } } -.fl -\fP -.fi -.nf -\f3 -.fl + public class ClassWithOverridingMethod extends ClassWithVarargsMethod { -.fl - @Override -.fl - void varargsMethod(String[] s) { } -.fl + @Override + void varargsMethod(String[] s) { } } -.fl -\fP .fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î¤è¤¦¤Ê·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¼¡¤Î¤è¤¦¤Ê·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -warning: [override] varargsMethod(String[]) in ClassWithOverridingMethod overrides varargsMethod(String...) in ClassWithVarargsMethod; overriding method is missing '...' -.fl -\fP +warning: [override] varargsMethod(String[]) in ClassWithOverridingMethod +overrides varargsMethod(String\&.\&.\&.) in ClassWithVarargsMethod; overriding +method is missing \*(Aq\&.\&.\&.\*(Aq .fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢varargs ¥á¥½¥Ã¥É¤ò¸¡½Ð¤¹¤ë¤È¡¢varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿¤òÇÛÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£¥á¥½¥Ã¥É \f2ClassWithVarargsMethod.varargsMethod\fP ¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿ \f2String... s\fP ¤ò²¾¥Ñ¥é¥á¡¼¥¿ \f2String[] s\fP ¤ËÊÑ´¹¤·¤Þ¤¹¡£String[] s ¤Ï¡¢¥á¥½¥Ã¥É \f2ClassWithOverridingMethod.varargsMethod\fP ¤Î²¾¥Ñ¥é¥á¡¼¥¿¤ËÂбþ¤¹¤ëÇÛÎó¤Ç¤¹¡£¤½¤Î·ë²Ì¡¢¤³¤ÎÎã¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.TP 3 -path -¥³¥Þ¥ó¥É¹Ô¤Ç¤Î̵¸ú¤Ê¥Ñ¥¹Í×ÁǤȸºß¤·¤Ê¤¤¥Ñ¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹ (¥¯¥é¥¹¥Ñ¥¹¡¢¥½¡¼¥¹¥Ñ¥¹¤Ê¤É¤Î¥Ñ¥¹´ØÏ¢)¡£¤³¤Î¤è¤¦¤Ê·Ù¹ð¤ò \f2@SuppressWarnings\fP Ãí¼á¤ÇÍÞÀ©¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢\fIvarargs\fR¥á¥½¥Ã¥É¤ò¸¡½Ð¤¹¤ë¤È¡¢\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿¤òÇÛÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£¥á¥½¥Ã¥É\fIClassWithVarargsMethod\&.varargsMethod\fR¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿\fIString\&.\&.\&. s\fR¤ò²¾¥Ñ¥é¥á¡¼¥¿\fIString[] s\fR¤ËÊÑ´¹¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥á¥½¥Ã¥É\fIClassWithOverridingMethod\&.varargsMethod\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿¤ËÂбþ¤¹¤ëÇÛÎó¤Ç¤¹¡£¤½¤Î·ë²Ì¡¢¤³¤ÎÎã¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +path +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Î̵¸ú¤Ê¥Ñ¥¹Í×ÁǤȸºß¤·¤Ê¤¤¥Ñ¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹(¥¯¥é¥¹¡¦¥Ñ¥¹¡¢¥½¡¼¥¹¡¦¥Ñ¥¹¤Ê¤É¤Î¥Ñ¥¹´ØÏ¢)¡£¤³¤Î¤è¤¦¤Ê·Ù¹ð¤ò\fI@SuppressWarnings\fRÃí¼á¤ÇÍÞÀ©¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -javac \-Xlint:path \-classpath /nonexistentpath Example.java -.fl -\fP +javac \-Xlint:path \-classpath /nonexistentpath Example\&.java .fi -.TP 3 -processing -Ãí¼á½èÍý¤Ë´Ø¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤¬¤³¤Î·Ù¹ð¤òÀ¸À®¤¹¤ë¤Î¤Ï¡¢Ãí¼á¤ò´Þ¤à¥¯¥é¥¹¤¬¤¢¤ë¤È¤­¤Ë¡¢»ÈÍѤ·¤Æ¤¤¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Ç¤½¤Î·¿¤ÎÎã³°¤ò½èÍý¤Ç¤­¤Ê¤¤¾ì¹ç¤Ç¤¹¡£Ã±½ã¤ÊÃí¼á¥×¥í¥»¥Ã¥µ¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -\f3¥½¡¼¥¹¥Õ¥¡¥¤¥ë \fP\f4AnnoProc.java\fP: +.if n \{\ +.RE +.\} +.RE +.PP +processing +.RS 4 +Ãí¼á½èÍý¤Ë´Ø¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤¬¤³¤Î·Ù¹ð¤òÀ¸À®¤¹¤ë¤Î¤Ï¡¢Ãí¼á¤ò´Þ¤à¥¯¥é¥¹¤¬¤¢¤ë¤È¤­¤Ë¡¢»ÈÍѤ·¤Æ¤¤¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Ç¤½¤Î¥¿¥¤¥×¤ÎÎã³°¤ò½èÍý¤Ç¤­¤Ê¤¤¾ì¹ç¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢Ã±½ã¤ÊÃí¼á¥×¥í¥»¥Ã¥µ¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +\fB¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëAnnocProc\&.java\fR: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -import java.util.*; -.fl -import javax.annotation.processing.*; -.fl -import javax.lang.model.*; -.fl -import javax.lang.model.element.*; -.fl +import java\&.util\&.*; +import javax\&.annotation\&.processing\&.*; +import javax\&.lang\&.model\&.*; +import\&.javaz\&.lang\&.model\&.element\&.*; -.fl @SupportedAnnotationTypes("NotAnno") -.fl public class AnnoProc extends AbstractProcessor { -.fl - public boolean process(Set elems, RoundEnvironment renv) { -.fl - return true; -.fl - } -.fl - -.fl - public SourceVersion getSupportedSourceVersion() { -.fl - return SourceVersion.latest(); -.fl - } -.fl -} -.fl -\fP -.fi -.LP -\f3¥½¡¼¥¹¥Õ¥¡¥¤¥ë \fP\f4AnnosWithoutProcessors.java\fP\f3:\fP -.nf -\f3 -.fl -@interface Anno { } -.fl - -.fl -@Anno -.fl -class AnnosWithoutProcessors { } -.fl -\fP -.fi -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ãí¼á¥×¥í¥»¥Ã¥µ \f2AnnoProc\fP ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢¤³¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë \f2AnnosWithoutProcessors.java\fP ¤ËÂФ·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -% javac AnnoProc.java -.fl -% javac \-cp . \-Xlint:processing \-processor AnnoProc \-proc:only AnnosWithoutProcessors.java -.fl -\fP -.fi -.LP -¥³¥ó¥Ñ¥¤¥é¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë \f2AnnosWithoutProcessors.java\fP ¤ËÂФ·¤ÆÃí¼á¥×¥í¥»¥Ã¥µ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -warning: [processing] No processor claimed any of these annotations: Anno -.fl -\fP -.fi -.LP -¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤Ë¤Ï¡¢¥¯¥é¥¹ \f2AnnosWithoutProcessors\fP ¤ÇÄêµÁ¤ª¤è¤Ó»ÈÍѤµ¤ì¤ëÃí¼á¤Î̾Á°¤ò \f2Anno\fP ¤«¤é \f2NotAnno\fP ¤ËÊѹ¹¤·¤Þ¤¹¡£ -.TP 3 -rawtypes -raw ·¿¤ËÂФ¹¤ë̤¸¡ººÁàºî¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤Îʸ¤Ç¤Ï¡¢ \f2rawtypes\fP ·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -void countElements(List l) { ... } -.fl -\fP -.fi -.LP -¼¡¤Îʸ¤Ç¤Ï¡¢ \f2rawtypes\fP ·Ù¹ð¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£ -.nf -\f3 -.fl -void countElements(List l) { ... } -.fl -\fP -.fi -.LP -\f2List\fP ¤Ï raw ·¿¤Ç¤¹¡£¤¿¤À¤·¡¢ \f2List\fP ¤Ï¥¢¥ó¥Ð¥¦¥ó¥É·Á¼°¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Î¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿¤Ç¤¹¡£ \f2List\fP ¤Ï¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ê¤Î¤Ç¡¢É¬¤º¤½¤Î·¿°ú¿ô¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢ \f2List\fP ¤Î²¾°ú¿ô¤Ï¥¢¥ó¥Ð¥¦¥ó¥É·Á¼°¤Î¥ï¥¤¥ë¥É¥«¡¼¥É (\f2?\fP) ¤ò»È¤Ã¤Æ¤½¤Î²¾·¿¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄꤵ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ \f2countElements\fP ¥á¥½¥Ã¥É¤Ï \f2List\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤É¤Î¥¤¥ó¥¹¥¿¥ó¥¹²½¤â¼õ¤±ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 3 -serial -ľÎó²½²Äǽ¥¯¥é¥¹¤Ë \f2serialVersionUID\fP ÄêµÁ¤¬¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -public class PersistentTime implements Serializable -.fl -{ -.fl - private Date time; -.fl - -.fl - public PersistentTime() { -.fl - time = Calendar.getInstance().getTime(); -.fl - } -.fl - -.fl - public Date getTime() { -.fl - return time; -.fl - } -.fl -} -.fl -\fP -.fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -warning: [serial] serializable class PersistentTime has no definition of serialVersionUID -.fl -\fP -.fi -.LP -ľÎó²½²Äǽ¥¯¥é¥¹¤¬ \f2serialVersionUID\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤òÌÀ¼¨Åª¤ËÀë¸À¤·¤Ê¤¤¾ì¹ç¡¢Ä¾Îó²½¥é¥ó¥¿¥¤¥à¤Ï¡ÖJava ¥ª¥Ö¥¸¥§¥¯¥ÈľÎó²½»ÅÍ͡פÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¹¤Î¤µ¤Þ¤¶¤Þ¤Ê¦Ì̤˴ð¤Å¤¤¤Æ¡¢¥¯¥é¥¹¤Î \f2serialVersionUID\fP ¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò·×»»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢¤¹¤Ù¤Æ¤ÎľÎó²½²Äǽ¥¯¥é¥¹¤¬ \f2serialVersionUID\fP ÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ë¤³¤È¤ò¶¯¤¯¤ª´«¤á¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢ \f2serialVersionUID\fP Ãͤò·×»»¤¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥»¥¹¤¬¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë²ÄǽÀ­¤Î¤¢¤ë¥¯¥é¥¹¤Î¾ÜºÙ¤Ë¤­¤ï¤á¤Æ±Æ¶Á¤ò¼õ¤±¤ä¤¹¤¯¡¢Ä¾Îó²½Éü¸µÃæ¤Ëͽ´ü¤·¤Ê¤¤ \f2InvalidClassExceptions\fP ¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Java ¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤¬°Û¤Ê¤Ã¤Æ¤â \f2serialVersionUID\fP Ãͤΰì´ÓÀ­¤ò³ÎÊݤˤ¹¤ë¤Ë¤Ï¡¢Ä¾Îó²½²Äǽ¥¯¥é¥¹¤¬ \f2serialVersionUID\fP ÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -static -static ¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -class XLintStatic { -.fl - static void m1() { } -.fl - void m2() { this.m1(); } -.fl -} -.fl -\fP -.fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -warning: [static] static method should be qualified by type name, XLintStatic, instead of by an expression -.fl -\fP -.fi -.LP -¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢¼¡¤Î¤è¤¦¤Ë static ¥á¥½¥Ã¥É \f2m1\fP ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -XLintStatic.m1(); -.fl -\fP -.fi -.LP -¤¢¤ë¤¤¤Ï¡¢ \f2static\fP ¥­¡¼¥ï¡¼¥É¤ò¥á¥½¥Ã¥É \f2m1\fP ¤ÎÀë¸À¤«¤éºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.TP 3 -try -try\-with\-resources ʸ¤ò´Þ¤à¡¢ \f2try\fP ¥Ö¥í¥Ã¥¯¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢try ʸ¤ÇÀë¸À¤µ¤ì¤¿¥ê¥½¡¼¥¹ \f2ac\fP ¤¬»ÈÍѤµ¤ì¤Ê¤¤¤¿¤á¤Ë¡¢ \f2¼¡¤Îʸ¤ËÂФ·¤Æ·Ù¹ð¤¬\fP À¸À®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -try ( AutoCloseable ac = getResource() ) { -.fl - // do nothing -.fl -} -.fl -\fP -.fi -.TP 3 -unchecked -Java ¸À¸ì»ÅÍͤǻØÄꤵ¤ì¤Æ¤¤¤ë̤¸¡ººÊÑ´¹·Ù¹ð¤Î¾ÜºÙ¤ò¼¨¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - List l = new ArrayList(); -.fl - List ls = l; // unchecked warning -.fl -\fP -.fi -.LP -·¿¤Î¾ÃµîÃæ¤Ë¡¢·¿ \f2ArrayList\fP ¤ª¤è¤Ó \f2List\fP ¤Ï¤½¤ì¤¾¤ì \f2ArrayList\fP ¤ª¤è¤Ó \f2List\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -ÊÑ¿ô \f2ls\fP ¤Ë¤Ï¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿ \f2List\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£l ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë \f2List\fP \f2¤¬\fP \f2ls\fP ¤ËÂåÆþ¤µ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï̤¸¡ºº·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï \f2l\fP ¤¬ \f2List\fP ·¿¤ò»²¾È¤¹¤ë¤«¤É¤¦¤«¤ò¥³¥ó¥Ñ¥¤¥ë»þ¤ËȽÃǤǤ­¤Þ¤»¤ó¡£¤Þ¤¿¡¢JVM ¤¬¼Â¹Ô»þ¤Ë¤½¤ì¤òȽÃǤǤ­¤Ê¤¤¤³¤È¤âǧ¼±¤·¤Æ¤¤¤Þ¤¹¡£l ¤Ï List ·¿¤ò»²¾È¤·¤Þ¤»¤ó¡£¤½¤Î·ë²Ì¡¢¥Ò¡¼¥×±øÀ÷¤¬È¯À¸¤·¤Þ¤¹¡£ -.LP -¾Ü¤·¤¯ÀâÌÀ¤¹¤ë¤È¡¢¥Ò¡¼¥×±øÀ÷¾õÂÖ¤¬È¯À¸¤¹¤ë¤Î¤Ï¡¢ \f2List\fP ¥ª¥Ö¥¸¥§¥¯¥È \f2l\fP (¤½¤Î static ·¿¤Ï \f2List\fP) ¤¬Ê̤Π\f2List\fP ¥ª¥Ö¥¸¥§¥¯¥È \f2ls\fP (°Û¤Ê¤ë static ·¿ \f2List\fP ¤ò»ý¤Ä) ¤ËÂåÆþ¤µ¤ì¤ë¾ì¹ç¤Ç¤¹¡£¤·¤«¤·¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¤³¤ÎÂåÆþ¤ò̤¤À¤Ëµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£Áí¾Î¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤ Java SE ¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤Î²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ë¤¿¤á¤Ë¡¢¤³¤ÎÂåÆþ¤òµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£·¿¾Ãµî¤Î¤¿¤á¤Ë¡¢ \f2List\fP ¤È \f2List\fP ¤Ï \f2List\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥ª¥Ö¥¸¥§¥¯¥È \f2l\fP ( \f2List\fP ¤È¤¤¤¦ raw ·¿¤ò»ý¤Ä) ¤ò¥ª¥Ö¥¸¥§¥¯¥È \f2ls\fP¤ËÂåÆþ¤¹¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¡£ -.TP 3 -varargs -²ÄÊѰú¿ô (varargs) ¥á¥½¥Ã¥É¡¢ÆÃ¤ËÈó¶ñ¾Ý²½²Äǽ°ú¿ô¤ò´Þ¤à¤â¤Î¤Î»ÈÍѤ¬°ÂÁ´¤Ç¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -public class ArrayBuilder { -.fl - public static void addToList (List listArg, T... elements) { -.fl - for (T x : elements) { -.fl - listArg.add(x); -.fl - } -.fl + public boolean process(Set elems, RoundEnvironment renv){ + return true; } -.fl + + public SourceVersion getSupportedSourceVersion() { + return SourceVersion\&.latest(); + } } -.fl -\fP .fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥á¥½¥Ã¥É \f2ArrayBuilder.addToList\fP ¤ÎÄêµÁ¤Ë´Ø¤¹¤ë¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -warning: [varargs] Possible heap pollution from parameterized vararg type T -.fl -\fP -.fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢varargs ¥á¥½¥Ã¥É¤ò¸¡½Ð¤¹¤ë¤È¡¢varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿¤òÇÛÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£¤·¤«¤·¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿¤ÎÇÛÎó¤ÎºîÀ®¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£¥á¥½¥Ã¥É \f2ArrayBuilder.addToList\fP ¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿ \f2T... elements\fP ¤ò²¾¥Ñ¥é¥á¡¼¥¿ \f2T[] elements\fP(ÇÛÎó) ¤ËÊÑ´¹¤·¤Þ¤¹¡£¤·¤«¤·¡¢·¿¾Ãµî¤Î¤¿¤á¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤Ï varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿¤ò \f2Object[] elements\fP ¤ËÊÑ´¹¤·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¥Ò¡¼¥×±øÀ÷¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë" -.LP -.LP -javac ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢ \f2javac\fP ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô ( \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ÎÊýË¡¤ò»È¤¦¤È¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î javac ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢javac ¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹ç¤ï¤»¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ -.LP -.LP -°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2*.java\fP ¤È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ -.LP -.LP -javac ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£javac ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ -.LP -.SS -°ú¿ô¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä»ØÄꤹ¤ëÎã -.LP -.LP -\f2¡Öargfile¡×¤È¤¤¤¦Ì¾Á°¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë\fP¤¹¤Ù¤Æ¤Î javac °ú¿ô¤ò³ÊǼ¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.LP +.\} +\fB¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëAnnosWithoutProcessors\&.java\fR: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% \fP\f3javac @argfile\fP -.fl -.fi - -.LP -.LP -¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òξÊý¤È¤âÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.SS -°ú¿ô¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä»ØÄꤹ¤ëÎã -.LP -.LP -¤¿¤È¤¨¤Ð¡¢javac ¥ª¥×¥·¥ç¥óÍÑ¤Ë 1 ¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ÍÑ¤Ë 1 ¥Õ¥¡¥¤¥ë¤È¤¤¤¦¤è¤¦¤Ë¡¢2 ¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤Î¤¢¤È¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¹Ô¤Î·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -.LP -°Ê²¼¤ÎÆâÍÆ¤ò´Þ¤à \f2options\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - \-d classes -.fl - \-g -.fl - \-sourcepath /java/pubs/ws/1.3/src/share/classes -.fl - -.fl -\fP -.fi - -.LP -.LP -°Ê²¼¤ÎÆâÍÆ¤ò´Þ¤à \f2classes\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - MyClass1.java -.fl - MyClass2.java -.fl - MyClass3.java -.fl - -.fl -\fP -.fi - -.LP -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ \f3javac\fP ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - % \fP\f3javac @options @classes\fP -.fl - -.fl -.fi - -.LP -.SS -¥Ñ¥¹ÉÕ¤­¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÎã -.LP -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢²¼¤ÎÎã¤Î¾ì¹ç¤Ï¡¢ \f2path1\fP ¤ä \f2path2\fP ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac @path1/options @path2/classes\fP -.fl -.fi - -.LP -.SH "Ãí¼á½èÍý" -.LP -.LP -\f3javac\fP ¤¬Ãí¼á½èÍý¤òľÀÜ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢ÆÈΩ¤·¤¿Ãí¼á½èÍý¥Ä¡¼¥ë¤Ç¤¢¤ë \f3apt\fP ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ -.LP -.LP -Ãí¼á½èÍý¤Î API ¤Ï¡¢ \f2javax.annotation.processing\fP ¤ª¤è¤Ó \f2javax.lang.model\fP ¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SS -Ãí¼á½èÍý¤Î³µÍ× -.LP -.LP -\f3\-proc:none\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÃí¼á½èÍý¤¬Ìµ¸ú²½¤µ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¸¡º÷¤·¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤Ï \f3\-processorpath\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤Ï¡¢¸¡º÷¥Ñ¥¹¾å¤Î \f2META\-INF/services/javax.annotation.processing.Processor\fP ¤È¤¤¤¦Ì¾Á°¤Î¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¤¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¤ò¡¢1 ¹Ô¤Ë 1 ¤Ä¤º¤Ä´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Ê̤ÎÊýË¡¤È¤·¤Æ¡¢\f3\-processor\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥×¥í¥»¥Ã¥µ¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ä¥¯¥é¥¹¤òÁöºº¤¹¤ë¤³¤È¤Ç¡¢¤É¤Î¤è¤¦¤ÊÃí¼á¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¤ò³Îǧ¤·½ª¤ï¤ë¤È¡¢¥×¥í¥»¥Ã¥µ¤ËÂФ·¤ÆÌ䤤¹ç¤ï¤»¤ò¹Ô¤¤¡¢¤½¤ì¤é¤Î¥×¥í¥»¥Ã¥µ¤¬¤É¤ÎÃí¼á¤ò½èÍý¤Ç¤­¤ë¤Î¤«¤ò³Îǧ¤·¤Þ¤¹¡£°ìÃפ¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥Ã¥µ¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£³Æ¥×¥í¥»¥Ã¥µ¤Ï¡¢¼«¿È¤¬½èÍý¤¹¤ëÃí¼á¤ò¡ÖÍ×µá¡×¤Ç¤­¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤ì¤é¤ÎÃí¼á¤ËÂФ¹¤ëÊÌ¤Î¥×¥í¥»¥Ã¥µ¤ò¸«¤Ä¤±¤ë»î¤ß¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤¹¤Ù¤Æ¤ÎÃí¼á¤¬Í׵ᤵ¤ì¤Æ¤·¤Þ¤¦¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤ì°Ê¾å¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤ò¹Ô¤¤¤Þ¤»¤ó¡£ -.LP -.LP -¤¤¤º¤ì¤«¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¤È¡¢Ãí¼á½èÍý¤Î 2 ²óÌܤΥ饦¥ó¥É¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¿·¤·¤¯À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬Áöºº¤µ¤ì¡¢Á°²ó¤ÈƱÍͤËÃí¼á¤¬½èÍý¤µ¤ì¤Þ¤¹¡£°ÊÁ°¤Î¥é¥¦¥ó¥É¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¥×¥í¥»¥Ã¥µ¤Ï¤¹¤Ù¤Æ¡¢¸å³¤Î¤É¤Î¥é¥¦¥ó¥É¤Ç¤â¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬¡¢¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¯¤Ê¤ë¤Þ¤Ç³¤­¤Þ¤¹¡£ -.LP -.LP -¤¢¤ë¥é¥¦¥ó¥É¤Ç¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤¬¤¢¤È 1 ²ó¤À¤±¸Æ¤Ó½Ð¤µ¤ì¡¢É¬ÍפʽèÍý¤ò¼Â¹Ô¤¹¤ëµ¡²ñ¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢\f3\-proc:only\fP ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¸µ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈÀ¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ -.LP -.SS -°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Ë¡¢Ê̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò°ÅÌÛŪ¤Ë¥í¡¼¥É¤¹¤ë¤³¤È¤¬É¬Íפʾì¹ç¤¬¤¢¤ê¤Þ¤¹ (¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È)¡£¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢¸½»þÅÀ¤Ç¤ÏÃí¼á½èÍý¤ÎÂоݤˤʤê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ãí¼á½èÍý¤¬¼Â¹Ô¤µ¤ì¡¢¤«¤Ä°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ 1 ¤Ä¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£¤³¤Î·Ù¹ð¤òÍÞÀ©¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-implicit ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "·¿¤Î¸¡º÷" -.LP -.LP -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë·¿¤ÎÄêµÁ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤­¡¢¥³¥ó¥Ñ¥¤¥é¤ÏÄ̾¤½¤Î·¿¤Ë´Ø¤¹¤ë¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤¢¤ë¤¤¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ¡¢·¿¤Î¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ë¤Ï¸ÀµÚ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢·Ñ¾µ¤òÄ̤¸¤Æ¾ðÊó¤òÄ󶡤¹¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â´Þ¤Þ¤ì¤Þ¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢\f3java.applet.Applet\fP ¤ò¥µ¥Ö¥¯¥é¥¹¤Ë¤·¤¿¾ì¹ç¡¢\f3¥¢¥×¥ì¥Ã¥È¤Î\fPÁÄÀè¤Î¥¯¥é¥¹¡Ê\f3java.awt.Panel\fP¡¢\f3java.awt.Container\fP¡¢\f3java.awt.Component\fP¡¢\f3java.lang.Object\fP¡Ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢·¿¤Î¾ðÊó¤¬É¬Íפˤʤë¤È¡¢¤½¤Î·¿¤òÄêµÁ¤·¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£¤Þ¤º¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤È³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò¸¡º÷¤·¡¢Â³¤¤¤Æ¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹ (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê) ¤ò¸¡º÷¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢\f3CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤òÀßÄꤷ¤ÆÄêµÁ¤¹¤ë¤«¡¢¤Þ¤¿¤Ï \f3\-classpath\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÀßÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\-sourcepath ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -.LP -\f3\-bootclasspath\fP ¥ª¥×¥·¥ç¥ó¤È \f3\-extdirs\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢Ê̤Υ֡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤Î¤¢¤È¤Î¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -·¿¤Î¸¡º÷¤ËÀ®¸ù¤·¤¿¤È¤­¤ËÆÀ¤é¤ì¤ë·ë²Ì¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤Ç¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Î¾Êý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤Ù¤­¤«¤ò \-Xprefer ¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤Ç¤­¤Þ¤¹¡£\f3newer\fP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Êý¤ò»ÈÍѤ·¤Þ¤¹¡£\f3source\fP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï \f3newer\fP ¤Ç¤¹¡£ -.LP -.LP -·¿¤Î¸¡º÷¼«ÂΤˤè¤Ã¤Æ¡¢¤Þ¤¿¤Ï \f3\-Xprefer\fP ¤¬ÀßÄꤵ¤ì¤¿·ë²Ì¤È¤·¤ÆÉ¬Íפʷ¿¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¡¢É¬ÍפʾðÊó¤ò¼èÆÀ¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤â¹Ô¤¤¤Þ¤¹¡£\-implicit ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤½¤Îưºî¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\f3none\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£\f3class\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Ãí¼á½èÍý¤Î´°Î»¸å¤Ë¡¢¤¢¤ë·¿¾ðÊó¤ÎɬÍ×À­¤òǧ¼±¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î·¿¾ðÊ󤬤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¸«¤Ä¤«¤ê¡¢¤«¤Ä \f3\-implicit\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤ餺¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤³¤È¤ò¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥æ¡¼¥¶¡¼¤Ë·Ù¹ð¤·¤Þ¤¹¡£¤³¤Î·Ù¹ð¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢(¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤë¤è¤¦¤Ë) ¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤«¡¢¤¢¤ë¤¤¤Ï¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤Ù¤­¤«¤É¤¦¤«¤ò \f3\-implicit\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ -.LP -.SH "¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹" -.LP -.LP -\f3javac\fP ¤Ï¡¢ \f2javax.tools\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë¿·¤·¤¤ Java Compiler API ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ -.LP -.SS -Îã -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¤«¤é»ØÄꤵ¤ì¤¿°ú¿ô¤ò»È¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -JavaCompiler javac = ToolProvider.getSystemJavaCompiler(); -.fl -int rc = javac.run(null, null, null, args); -.fl -\fP -.fi - -.LP -.LP -¤³¤Î¾ì¹ç¡¢É¸½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤¹¤Ù¤Æ¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤¬½ñ¤­½Ð¤µ¤ì¡¢¥³¥Þ¥ó¥É¹Ô¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿ \f3javac\fP ¤¬ÊÖ¤¹¤Î¤ÈƱ¤¸½ªÎ»¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2javax.tools.JavaCompiler\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Î¤Û¤«¤Î¥á¥½¥Ã¥É¤ò»È¤¨¤Ð¡¢¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î½èÍý¤ä¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¼è¤ê¸µ/½ñ¤­¹þ¤ßÀè¤ÎÀ©¸æ¤Ê¤É¤ò¹Ô¤¨¤Þ¤¹¡£ -.LP -.SS -µì¼°¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -.LP -.LP -\f3Ãí:\fP ¤³¤Î API ¤Ï¡¢²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ë¤¿¤á¤À¤±¤Ë»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¿·¤·¤¤¥³¡¼¥É¤Ç¤Ï¡¢É¬¤ºÁ°½Ò¤Î Java Compiler API ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2com.sun.tools.javac.Main\fP ¥¯¥é¥¹¤Ë¤Ï¡¢¥×¥í¥°¥é¥àÆâ¤«¤é¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î static ¥á¥½¥Ã¥É¤¬ 2 ¤ÄÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤é¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -public static int compile(String[] args); -.fl -public static int compile(String[] args, PrintWriter out); -.fl -\fP -.fi - -.LP -.LP -\f2args\fP ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢javac ¥×¥í¥°¥é¥à¤ËÄ̾ïÅϤµ¤ì¤ëǤ°Õ¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î³µÍפˤĤ¤¤Æ¤Ï¡¢Á°½Ð¤Î¡Ö·Á¼°¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2out\fP ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î½ÐÎÏÀè¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.LP -Ìá¤êÃͤϡ¢\f3javac\fP ¤Î½ªÎ»ÃÍ¤ÈÆ±¤¸¤Ç¤¹¡£ -.LP -.LP -̾Á°¤¬ \f2com.sun.tools.javac\fP ¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸ (Èó¸ø¼°¤Ë¤Ï \f2com.sun.tools.javac\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤È¤·¤ÆÃΤé¤ì¤ë) ¤Ë´Þ¤Þ¤ì¤ë¤½¤Î¾¤Î¥¯¥é¥¹¤ä¥á¥½¥Ã¥É¤Ï¡¢¤É¤ì¤â´°Á´¤ËÆâÉôÍѤǤ¢¤ê¡¢¤¤¤Ä¤Ç¤âÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SH "Îã" -.LP -.SS -´Êñ¤Ê¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë -.LP -.LP -\f2Hello.java\fP ¤È¤¤¤¦¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¡¢\f3greetings.Hello\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤òÄêµÁ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ \f2greetings\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤°²¼¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤Þ¤¿¡¢\f3\-d\fP ¤ò»È¤Ã¤ÆÊ̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ëɬÍפ⤢¤ê¤Þ¤»¤ó¡£ -.LP -.nf -\f3 -.fl -% \fP\f3ls\fP -.fl -greetings/ -.fl -% \f3ls greetings\fP -.fl -Hello.java -.fl -% \f3cat greetings/Hello.java\fP -.fl -package greetings; -.fl - -.fl -public class Hello { -.fl - public static void main(String[] args) { -.fl - for (int i=0; i < args.length; i++) { -.fl - System.out.println("Hello " + args[i]); -.fl - } -.fl - } -.fl -} -.fl -% \f3javac greetings/Hello.java\fP -.fl -% \f3ls greetings\fP -.fl -Hello.class Hello.java -.fl -% \f3java greetings.Hello World Universe Everyone\fP -.fl -Hello World -.fl -Hello Universe -.fl -Hello Everyone -.fl -.fi - -.LP -.SS -Ê£¿ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë -.LP -.LP -¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2greetings\fP Æâ¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3ls\fP -.fl -greetings/ -.fl -% \f3ls greetings\fP -.fl -Aloha.java GutenTag.java Hello.java Hi.java -.fl -% \f3javac greetings/*.java\fP -.fl -% \f3ls greetings\fP -.fl -Aloha.class GutenTag.class Hello.class Hi.class -.fl -Aloha.java GutenTag.java Hello.java Hi.java -.fl -.fi - -.LP -.SS -¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Î»ØÄê -.LP -.LP -¾å¤ÎÎã¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¤¦¤Á 1 ¤Ä¤òÊѹ¹¤·¡¢Êѹ¹¸å¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3pwd\fP -.fl -/examples -.fl -% \f3javac greetings/Hi.java\fP -.fl -.fi - -.LP -.LP -\f2greetings.Hi\fP ¤Ï¡¢ \f2greetings\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤Û¤«¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤ì¤é¤Î¥¯¥é¥¹¤òõ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¾å¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥ë¤ÏÀµ¾ï¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¸½ºß¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¤¤ë¤«¤Ë´Ø·¸¤Ê¤¯¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë \f2/examples\fP ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¥¨¥ó¥È¥ê¤òÄɲ乤ë¤Ë¤Ï¡¢\f3CLASSPATH\fP ¤òÀßÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤³¤Ç¤Ï \f3\-classpath\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP -.fl -.fi - -.LP -.LP -ºÆÅÙ \f2greetings.Hi\fP ¤òÊѹ¹¤·¤Æ¥Ð¥Ê¡¼¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò»È¤¦¤è¤¦¤Ë¤·¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥Ð¥Ê¡¼¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\ -.fl - /examples/greetings/Hi.java\fP -.fl -.fi - -.LP -.LP -\f2greetings\fP Æâ¤Î¥¯¥é¥¹¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢ \f2greetings\fP ¤È¡¢¤½¤ì¤¬»È¤¦¥¯¥é¥¹¤ÎξÊý¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP -.fl -.fi - -.LP -.SS -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎʬΥ -.LP -.LP -ÆÃ¤ËÂ絬ÌÏ¥×¥í¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÊÌ¡¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤ÈÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¤òÊ̤˻ØÄꤹ¤ë¤Ë¤Ï¡¢\f3\-d\fP ¤ò»È¤¤¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¤Ï¤Ê¤¤¤Î¤Ç¡¢\f3\-sourcepath\fP ¤ò»È¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3ls\fP -.fl -classes/ lib/ src/ -.fl -% \f3ls src\fP -.fl -farewells/ -.fl -% \f3ls src/farewells\fP -.fl -Base.java GoodBye.java -.fl -% \f3ls lib\fP -.fl -Banners.jar -.fl -% \f3ls classes\fP -.fl -% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\ -.fl - src/farewells/GoodBye.java \-d classes\fP -.fl -% \f3ls classes\fP -.fl -farewells/ -.fl -% \f3ls classes/farewells\fP -.fl -Base.class GoodBye.class -.fl -.fi - -.LP -.LP -\f3Ãí:\fP ¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï \f2src/farewells/Base.java\fP ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤â¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼«Æ°¥³¥ó¥Ñ¥¤¥ë¤ò´Æ»ë¤¹¤ë¤Ë¤Ï¡¢\f3\-verbose\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£ -.LP -.SS -¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã -.LP -.LP -¤³¤³¤Ç¤Ï¡¢\f3javac\fP ¤ò»È¤Ã¤Æ¡¢1.6 VM ¾å¤Ç¼Â¹Ô¤¹¤ë¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac \-source 1.6 \-target 1.6 \-bootclasspath jdk1.6.0/lib/rt.jar \\ -.fl - \-extdirs "" OldCode.java\fP -.fl -.fi - -.LP -.LP -\f2\-source 1.6\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢ \f2OldCode.java\fP ¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï¥Ð¡¼¥¸¥ç¥ó 1.6 (¤Þ¤¿¤Ï 6) ¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£\f3\-target 1.6\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢1.6 VM ¤È¸ß´¹À­¤Î¤¢¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢\f3\-target\fP ¥ª¥×¥·¥ç¥ó¤ÎÃÍ¤Ï \f3\-source\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤˤʤê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\f3\-target\fP ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3\-bootclasspath\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Å¬ÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹ ( \f2rt.jar\fP ¥é¥¤¥Ö¥é¥ê) ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac \-source 1.6 OldCode.java\fP -.fl -warning: [options] bootstrap class path not set in conjunction with \-source 1.6 -.fl -.fi - -.LP -.LP -ŬÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¸Å¤¤¸À¸ì»ÅÍÍ (¤³¤ÎÎã¤Ç¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 1.6 ¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì) ¤ò¿·¤·¤¤¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢Â¸ºß¤·¤Ê¤¤¥á¥½¥Ã¥É¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬¸Å¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à (¤³¤Î¾ì¹ç¤Ï Java SE 6) ¤Çưºî¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -.na -\f2¡ÖThe javac Guide¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html -.TP 2 -o -¡Öjava(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjdb(1) \- Java ¥Ç¥Ð¥Ã¥¬¡× -.TP 2 -o -¡Öjavah(1) \- C ¥Ø¥Ã¥À¡¼¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¥¸¥§¥Í¥ì¡¼¥¿¡× -.TP 2 -o -¡Öjavap(1) \- ¥¯¥é¥¹¥Õ¥¡¥¤¥ëµÕ¥¢¥»¥ó¥Ö¥é¡× -.TP 2 -o -¡Öjavadoc(1) \- Java API ¥É¥­¥å¥á¥ó¥È¥¸¥§¥Í¥ì¡¼¥¿¡× -.TP 2 -o -¡Öjar(1) \- JAR ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë¡× -.TP 2 -o -.na -\f2¡ÖJava ³ÈÄ¥µ¡Ç½¥Õ¥ì¡¼¥à¥ï¡¼¥¯¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html -.RE - -.LP +@interface Anno { } +@Anno +class AnnosWithoutProcessors { } +.fi +.if n \{\ +.RE +.\} +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ãí¼á¥×¥í¥»¥Ã¥µ\fIAnnoProc\fR¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢¤³¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë\fIAnnosWithoutProcessors\&.java\fR¤ËÂФ·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac AnnoProc\&.java +javac \-cp \&. \-Xlint:processing \-processor AnnoProc \-proc:only AnnosWithoutProcessors\&.java +.fi +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë\fIAnnosWithoutProcessors\&.java\fR¤ËÂФ·¤ÆÃí¼á¥×¥í¥»¥Ã¥µ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +warning: [processing] No processor claimed any of these annotations: Anno + +.fi +.if n \{\ +.RE +.\} +¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢¥¯¥é¥¹\fIAnnosWithoutProcessors\fR¤ÇÄêµÁ¤ª¤è¤Ó»ÈÍѤµ¤ì¤ëÃí¼á¤Î̾Á°¤ò¡¢\fIAnno\fR¤«¤é\fINotAnno\fR¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +rawtypes +.RS 4 +raw·¿¤ËÂФ¹¤ë̤¸¡ººÁàºî¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤Îʸ¤Ç¤Ï¡¢\fIrawtypes\fR·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +void countElements(List l) { \&.\&.\&. } +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIrawtypes\fR·Ù¹ð¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +void countElements(List l) { \&.\&.\&. } +.fi +.if n \{\ +.RE +.\} +\fIList\fR¤Ïraw·¿¤Ç¤¹¡£¤¿¤À¤·¡¢\fIList\fR¤Ï¡¢¥¢¥ó¥Ð¥¦¥ó¥É·Á¼°¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Î¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿¤Ç¤¹¡£\fIList\fR¤Ï¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¤¿¤á¡¢¾ï¤Ë¤½¤Î·¿°ú¿ô¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fIList\fR¤Î²¾°ú¿ô¤Ï¥¢¥ó¥Ð¥¦¥ó¥É·Á¼°¤Î¥ï¥¤¥ë¥É¥«¡¼¥É(\fI?\fR)¤ò»ÈÍѤ·¤Æ¤½¤Î²¾·¿¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄꤵ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢\fIcountElements\fR¥á¥½¥Ã¥É¤Ï\fIList\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤É¤Î¥¤¥ó¥¹¥¿¥ó¥¹²½¤â¼õ¤±ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +Serial +.RS 4 +ľÎó²½²Äǽ¥¯¥é¥¹¤Ë\fIserialVersionUID\fRÄêµÁ¤¬¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +public class PersistentTime implements Serializable +{ + private Date time; + + public PersistentTime() { + time = Calendar\&.getInstance()\&.getTime(); + } + + public Date getTime() { + return time; + } +} +.fi +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +warning: [serial] serializable class PersistentTime has no definition of +serialVersionUID +.fi +.if n \{\ +.RE +.\} +ľÎó²½²Äǽ¥¯¥é¥¹¤¬\fIserialVersionUID\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤òÌÀ¼¨Åª¤ËÀë¸À¤·¤Ê¤¤¾ì¹ç¡¢Ä¾Îó²½¥é¥ó¥¿¥¤¥à´Ä¶­¤Ç¤Ï¡¢¡ÖJava¥ª¥Ö¥¸¥§¥¯¥ÈľÎó²½»ÅÍ͡פÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¹¤ÎÍÍ¡¹¤Ê¦Ì̤˴ð¤Å¤¤¤Æ¡¢¥¯¥é¥¹¤Î\fIserialVersionUID\fR¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò·×»»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢¤¹¤Ù¤Æ¤ÎľÎó²½²Äǽ¥¯¥é¥¹¤¬\fIserialVersionUID\fRÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ë¤³¤È¤ò¶¯¤¯¤ªÁ¦¤á¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢\fIserialVersionUID\fRÃͤò·×»»¤¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥»¥¹¤¬¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë²ÄǽÀ­¤Î¤¢¤ë¥¯¥é¥¹¤Î¾ÜºÙ¤Ë¤­¤ï¤á¤Æ±Æ¶Á¤ò¼õ¤±¤ä¤¹¤¯¡¢¤½¤Î·ë²Ì¡¢Ä¾Îó²½Éü¸µÃæ¤Ëͽ´ü¤·¤Ê¤¤\fIInvalidClassExceptions\fR¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£Java¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤¬°Û¤Ê¤Ã¤Æ¤â\fIserialVersionUID\fRÃͤΰì´ÓÀ­¤ò³ÎÊݤˤ¹¤ë¤Ë¤Ï¡¢Ä¾Îó²½²Äǽ¥¯¥é¥¹¤¬\fIserialVersionUID\fRÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +static +.RS 4 +static¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +class XLintStatic { + static void m1() { } + void m2() { this\&.m1(); } +} +.fi +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +warning: [static] static method should be qualified by type name, +XLintStatic, instead of by an expression +.fi +.if n \{\ +.RE +.\} +¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢¼¡¤Î¤è¤¦¤Ë\fIstatic\fR¥á¥½¥Ã¥É\fIm1\fR¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +XLintStatic\&.m1(); +.fi +.if n \{\ +.RE +.\} +¤¢¤ë¤¤¤Ï¡¢\fIstatic\fR¥­¡¼¥ï¡¼¥É¤ò¥á¥½¥Ã¥É\fIm1\fR¤ÎÀë¸À¤«¤éºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +try +.RS 4 +try\-with\-resourcesʸ¤ò´Þ¤à¡¢\fItry\fR¥Ö¥í¥Ã¥¯¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fItry\fR¥Ö¥í¥Ã¥¯¤ÇÀë¸À¤µ¤ì¤¿¥ê¥½¡¼¥¹\fIac\fR¤¬»ÈÍѤµ¤ì¤Ê¤¤¤¿¤á¤Ë¡¢¼¡¤Îʸ¤ËÂФ·¤Æ·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +try ( AutoCloseable ac = getResource() ) { // do nothing} +.fi +.if n \{\ +.RE +.\} +.RE +.PP +unchecked +.RS 4 +Java¸À¸ì»ÅÍͤǻØÄꤵ¤ì¤Æ¤¤¤ë̤¸¡ººÊÑ´¹·Ù¹ð¤Î¾ÜºÙ¤ò¼¨¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +List l = new ArrayList(); +List ls = l; // unchecked warning +.fi +.if n \{\ +.RE +.\} +·¿¤Î¾ÃµîÃæ¤Ë¡¢·¿\fIArrayList\fR¤ª¤è¤Ó\fIList\fR¤Ï¡¢¤½¤ì¤¾¤ì\fIArrayList\fR¤ª¤è¤Ó\fIList\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fIls\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿\fIList\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£\fIl\fR¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë\fIList\fR¤¬\fIls\fR¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï̤¸¡ºº·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤ª¤è¤ÓJVM¤Ï¡¢\fIl\fR¤¬\fIList\fR·¿¤ò»²¾È¤¹¤ë¤«¤É¤¦¤«¤òȽÊ̤Ǥ­¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\fIl\fR¤Ï¡¢\fIList\fR·¿¤ò»²¾È¤·¤Þ¤»¤ó¡£¤½¤Î·ë²Ì¡¢¥Ò¡¼¥×±øÀ÷¤¬È¯À¸¤·¤Þ¤¹¡£ +.sp +¥Ò¡¼¥×±øÀ÷¾õÂÖ¤¬È¯À¸¤¹¤ë¤Î¤Ï¡¢\fIList\fR¥ª¥Ö¥¸¥§¥¯¥È\fIl\fR +(¤½¤Îstatic·¿¤Ï\fIList\fR)¤¬Ê̤Î\fIList\fR¥ª¥Ö¥¸¥§¥¯¥È\fIls\fR +(°Û¤Ê¤ëstatic·¿\fIList\fR¤ò»ý¤Ä)¤ËÂåÆþ¤µ¤ì¤ë¾ì¹ç¤Ç¤¹¡£¤·¤«¤·¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¤³¤ÎÂåÆþ¤ò¤¤¤Þ¤À¤Ëµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£Áí¾Î¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤Java SE¤Î¥ê¥ê¡¼¥¹¤È¤Î²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ë¤¿¤á¤Ë¡¢¤³¤ÎÂåÆþ¤òµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£·¿¾Ãµî¤Ë¤è¤ê¡¢\fIList\fR¤ª¤è¤Ó\fIList\fR¤Ï¡¢Î¾Êý¤È¤â\fIList\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥ª¥Ö¥¸¥§¥¯¥È\fIl\fR +(\fIList\fR¤È¤¤¤¦raw·¿¤ò»ý¤Ä)¤ò¥ª¥Ö¥¸¥§¥¯¥È\fIls\fR¤ËÂåÆþ¤¹¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¡£ +.RE +.PP +varargs +.RS 4 +²ÄÊѰú¿ô(\fIvarargs\fR)¥á¥½¥Ã¥É¡¢ÆÃ¤ËÈó¶ñ¾Ý²½²Äǽ°ú¿ô¤ò´Þ¤à¤â¤Î¤Î»ÈÍѤ¬°ÂÁ´¤Ç¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +public class ArrayBuilder { + public static void addToList (List listArg, T\&.\&.\&. elements) { + for (T x : elements) { + listArg\&.add(x); + } + } +} +.fi +.if n \{\ +.RE +.\} +\fBÃí°Õ:\fR +Èó¶ñ¾Ý²½²Äǽ·¿¤Ï¡¢·¿¾ðÊ󤬼¹Իþ¤Ë´°Á´¤Ë»ÈÍÑÉÔ²Äǽ¤Ê·¿¤Ç¤¹¡£ +.sp +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥á¥½¥Ã¥É\fIArrayBuilder\&.addToList\fR¤ÎÄêµÁ¤Ë´Ø¤¹¤ë¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +warning: [varargs] Possible heap pollution from parameterized vararg type T +.fi +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢varargs¥á¥½¥Ã¥É¤ò¸¡½Ð¤¹¤ë¤È¡¢\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿¤òÇÛÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£¤·¤«¤·¡¢Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿¤ÎÇÛÎó¤ÎºîÀ®¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£¥á¥½¥Ã¥É\fIArrayBuilder\&.addToList\fR¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿\fIT\&.\&.\&.\fRÍ×ÁǤò²¾¥Ñ¥é¥á¡¼¥¿\fIT[]\fRÍ×ÁÇ(ÇÛÎó)¤ËÊÑ´¹¤·¤Þ¤¹¡£¤·¤«¤·¡¢·¿¾Ãµî¤Ë¤è¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿¤ò\fIObject[]\fRÍ×ÁǤËÊÑ´¹¤·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¥Ò¡¼¥×±øÀ÷¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.SH "¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¥Õ¥¡¥¤¥ë" +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢\fIjavac\fR¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô(\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò½ü¤¯)¤ò´Þ¤à1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î\fIjavac\fR¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.PP +°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIjavac\fR¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹礻¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ï¡¢¶õÇò¤Þ¤¿¤Ï²þ¹Ôʸ»ú¤Ç¶èÀڤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤ËËä¤á¹þ¤Þ¤ì¤¿¶õÇò¤¬¤¢¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ +.PP +°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃ֤ǤϤʤ¯¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É(*)¤Ï»ÈÍѤǤ­¤Þ¤»¤ó(¤¿¤È¤¨¤Ð¡¢\fI*\&.java\fR¤È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó)¡£¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤ò»ÈÍѤ·¤¿¥Õ¥¡¥¤¥ë¤ÎºÆµ¢Åª¤Ê²ò¼á¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢\fI\-J\fR¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È̾Á°¤ÎÀèÆ¬¤Ë¥¢¥Ã¥È¥Þ¡¼¥¯(@)ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£\fIjavac\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ñ°ì¤Î°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +\fIargfile\fR¤È¤¤¤¦Ì¾Á°¤Îñ°ì¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ù¤Æ¤Î\fIjavac\fR°ú¿ô¤ò³ÊǼ¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac @argfile +.fi +.if n \{\ +.RE +.\} +¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢Îã2¤Ç¼¨¤µ¤ì¤Æ¤¤¤ëξÊý¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\fBExample 2\fR, 2¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +\fIjavac\fR¥ª¥×¥·¥ç¥óÍѤȥ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾ÍѤˡ¢2¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥ê¥¹¥È¤Ë¤Ï¡¢¹Ô¤Î·Ñ³ʸ»ú¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.sp +¼¡¤ò´Þ¤àoptions¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-d classes +\-g +\-sourcepath /java/pubs/ws/1\&.3/src/share/classes +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +.fi +.if n \{\ +.RE +.\} +¼¡¤ò´Þ¤àclasses¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +MyClass1\&.java +MyClass2\&.java +MyClass3\&.java +.fi +.if n \{\ +.RE +.\} +¤½¤ì¤«¤é¡¢¼¡¤Î¤è¤¦¤Ë\fIjavac\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac @options @classes +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, ¥Ñ¥¹¤ò»ÈÍѤ·¤¿°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢(\fIpath1\fR¤ä\fIpath2\fR¤Ç¤Ï¤Ê¤¯)¼¡¤Î¤è¤¦¤Ë¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac @path1/options @path2/classes +.fi +.if n \{\ +.RE +.\} +.RE +.SH "Ãí¼á½èÍý" +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤¬Ãí¼á½èÍý¤òľÀÜ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢ÆÈΩ¤·¤¿Ãí¼á½èÍý¥³¥Þ¥ó¥É¤Ç¤¢¤ë\fIapt\fR¤ò»ÈÍѤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +.PP +Ãí¼á¥×¥í¥»¥Ã¥µ¤ÎAPI¤Ï¡¢\fIjavax\&.annotation\&.processing\fR¤ª¤è¤Ó\fIjavax\&.lang\&.model\fR¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.SS "Ãí¼á½èÍý¤ò¹Ô¤¦ÊýË¡" +.PP +\fI\-proc:none\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÃí¼á½èÍý¤¬Ìµ¸ú²½¤µ¤ì¤Ê¤¤¸Â¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¸¡º÷¤·¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤Ï¡¢\fI\-processorpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤Ï¡¢¸¡º÷¥Ñ¥¹¾å¤Î\fIMETA\-INF/services/javax\&.annotation\&.processing\fR\&.Processor¤È¤¤¤¦Ì¾Á°¤Î¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¤¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¤ò¡¢1¹Ô¤Ë1¤Ä¤º¤Ä´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Ê̤ÎÊýË¡¤È¤·¤Æ¡¢\fI\-processor\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥×¥í¥»¥Ã¥µ¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ä¥¯¥é¥¹¤òÁöºº¤¹¤ë¤³¤È¤Ç¡¢¤É¤Î¤è¤¦¤ÊÃí¼á¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¤ò³Îǧ¤·½ª¤ï¤ë¤È¡¢¥×¥í¥»¥Ã¥µ¤ËÂФ·¤ÆÌä¹ç¤»¤ò¹Ô¤¤¡¢¤½¤ì¤é¤Î¥×¥í¥»¥Ã¥µ¤¬¤É¤ÎÃí¼á¤ò½èÍý¤Ç¤­¤ë¤Î¤«¤ò³Îǧ¤·¤Þ¤¹¡£°ìÃפ¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥Ã¥µ¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£³Æ¥×¥í¥»¥Ã¥µ¤Ï¡¢¼«¿È¤¬½èÍý¤¹¤ëÃí¼á¤òÍ×µá¤Ç¤­¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤ì¤é¤ÎÃí¼á¤ËÂФ¹¤ëÊÌ¤Î¥×¥í¥»¥Ã¥µ¤ò¸«¤Ä¤±¤ë»î¤ß¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤¹¤Ù¤Æ¤ÎÃí¼á¤¬Í׵ᤵ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤ì°Ê¾å¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤ò¹Ô¤¤¤Þ¤»¤ó¡£ +.PP +¤¤¤º¤ì¤«¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¿·¤·¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¤È¡¢Ãí¼á½èÍý¤Î2²óÌܤΥ饦¥ó¥É¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¿·¤·¤¯À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¥¹¥­¥ã¥ó¤µ¤ì¡¢Á°²ó¤ÈƱÍͤËÃí¼á¤¬½èÍý¤µ¤ì¤Þ¤¹¡£°ÊÁ°¤Î¥é¥¦¥ó¥É¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¥×¥í¥»¥Ã¥µ¤Ï¤¹¤Ù¤Æ¡¢¸å³¤Î¤É¤Î¥é¥¦¥ó¥É¤Ç¤â¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬¡¢¿·¤·¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¯¤Ê¤ë¤Þ¤Ç³¤­¤Þ¤¹¡£ +.PP +¤¢¤ë¥é¥¦¥ó¥É¤Ç¿·¤·¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤¬¤¢¤È1²ó¤Î¤ß¸Æ¤Ó½Ð¤µ¤ì¡¢»Ä¤ê¤Î½èÍý¤ò¼Â¹Ô¤¹¤ëµ¡²ñ¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢\fI\-proc:only\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¸µ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÈÀ¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.SS "°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë" +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢°ìÏ¢¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Ë¡¢Ê̤Υ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò°ÅÌÛŪ¤Ë¥í¡¼¥É¤¹¤ë¤³¤È¤¬É¬Íפʾì¹ç¤¬¤¢¤ê¤Þ¤¹¡£·¿¤Î¸¡º÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢¸½»þÅÀ¤Ç¤ÏÃí¼á½èÍý¤ÎÂоݤˤʤê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ãí¼á½èÍý¤¬¼Â¹Ô¤µ¤ì¡¢¤«¤Ä°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿Ç¤°Õ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢·Ù¹ð¤òÍÞÀ©¤¹¤ëÊýË¡¤¬Ä󶡤µ¤ì¤Þ¤¹¡£ +.SH "·¿¤Î¸¡º÷" +.PP +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤ÏÄ̾·¿¤Ë´Ø¤¹¤ë¾ðÊó¤òɬÍפȤ·¤Þ¤¹¤¬¡¢¤½¤Î·¿¤ÎÄêµÁ¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤¢¤ê¤Þ¤»¤ó¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤¢¤ë¤¤¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ¡¢·¿¤Î¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ë¤Ï¸ÀµÚ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢·Ñ¾µ¤òÄ̤¸¤Æ¾ðÊó¤òÄ󶡤¹¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¥µ¥Ö¥¯¥é¥¹\fIjava\&.applet\&.Applet\fR¤òºîÀ®¤¹¤ë¤È¡¢\fI¥¢¥×¥ì¥Ã¥È\fR¤ÎÁÄÀè¤Î¥¯¥é¥¹(\fIjava\&.awt\&.Panel\fR¡¢\fIjava\&.awt\&.Container\fR¡¢\fIjava\&.awt\&.Component\fR¤ª¤è¤Ó\fIjava\&.lang\&.Object\fR)¤ò»ÈÍѤ·¤Æ¤¤¤ë¤³¤È¤Ë¤â¤Ê¤ê¤Þ¤¹¡£ +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢·¿¤Î¾ðÊó¤¬É¬Íפˤʤë¤È¡¢¤½¤Î·¿¤òÄêµÁ¤·¤Æ¤¤¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤Þ¤º¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤È³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò¸¡º÷¤·¡¢Â³¤¤¤Æ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê)¤ò¸¡º÷¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Ï¡¢\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤òÀßÄꤷ¤ÆÄêµÁ¤¹¤ë¤«¡¢¤Þ¤¿¤Ï\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÄêµÁ¤·¤Þ¤¹¡£ +.PP +\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹¤«¤é¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤«¤é¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎξÊý¤ò¸¡º÷¤·¤Þ¤¹¡£ +.PP +\fI\-bootclasspath\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-extdirs\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Ê̤Υ֡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +·¿¤Î¸¡º÷¤ËÀ®¸ù¤·¤¿¤È¤­¤ËÆÀ¤é¤ì¤ë·ë²Ì¤Ï¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤Ç¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Î¾Êý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤ë¤«¤ò\fI\-Xprefer\fR¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤Ç¤­¤Þ¤¹¡£\fInewer\fR¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï2¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¿·¤·¤¤Êý¤ò»ÈÍѤ·¤Þ¤¹¡£\fIsource\fR¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï\fInewer\fR¤Ç¤¹¡£ +.PP +·¿¤Î¸¡º÷¼«ÂΤˤè¤Ã¤Æ¡¢¤Þ¤¿¤Ï\fI\-Xprefer\fR¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤¿·ë²Ì¤È¤·¤ÆÉ¬Íפʷ¿¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¡¢É¬ÍפʾðÊó¤ò¼èÆÀ¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤â¹Ô¤¤¤Þ¤¹¡£\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤½¤Îưºî¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fInone\fR¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£\fIclass\fR¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Ãí¼á½èÍý¤¬´°Î»¤¹¤ë¤Þ¤Ç¡¢¤¢¤ë·¿¾ðÊó¤ÎɬÍ×À­¤òǧ¼±¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£·¿¾ðÊ󤬥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë¸«¤Ä¤«¤ê¡¢¤«¤Ä\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤ餺¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤³¤È¤¬·Ù¹ð¤µ¤ì¤Þ¤¹¡£¤³¤Î·Ù¹ð¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢(¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤë¤è¤¦¤Ë)¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤹ¤ë¤«¡¢¤¢¤ë¤¤¤Ï¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¤«¤É¤¦¤«¤ò\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ»ØÄꤷ¤Þ¤¹¡£ +.SH "¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹" +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjavax\&.tools\fR¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë¿·¤·¤¤Java Compiler API¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.SS "Îã" +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ò»ØÄꤹ¤ë¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¹½Ê¸¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +JavaCompiler javac = ToolProvider\&.getSystemJavaCompiler(); +JavaCompiler javac = ToolProvider\&.getSystemJavaCompiler(); +.fi +.if n \{\ +.RE +.\} +.PP +Îã¤Ç¤Ï¡¢¿ÇÃǤòɸ½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë½ñ¤­¹þ¤ß¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¤Î¸Æ½Ð¤·»þ¤Ë\fIjavac\fR¤¬»ØÄꤹ¤ë½ªÎ»¥³¡¼¥É¤òÊÖ¤·¤Þ¤¹¡£ +.PP +\fIjavax\&.tools\&.JavaCompiler\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾¤Î¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¿ÇÃǤνèÍý¤ä¥Õ¥¡¥¤¥ë¤ÎÆÉ¼è¤ê¸µ/½ñ¹þ¤ßÀè¤ÎÀ©¸æ¤Ê¤É¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.SS "µì¼°¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹" +.PP +\fBÃí°Õ:\fR +¤³¤ÎAPI¤Ï¡¢²¼°Ì¸ß´¹À­¤Î¤¿¤á¤Ë¤Î¤ßÊÝ»ý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¿·¤·¤¤¥³¡¼¥É¤Ï¡¢¿·¤·¤¤Java Compiler API¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +¼¡¤Î¤è¤¦¤Ë¡¢\fIcom\&.sun\&.tools\&.javac\&.Main\fR¥¯¥é¥¹¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤«¤é¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Îstatic¥á¥½¥Ã¥É¤¬2¤ÄÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +public static int compile(String[] args); +public static int compile(String[] args, PrintWriter out); +.fi +.if n \{\ +.RE +.\} +.PP +\fIargs\fR¥Ñ¥é¥á¡¼¥¿¤Ï¡¢Ä̾拾¥ó¥Ñ¥¤¥é¤ËÅϤµ¤ì¤ëǤ°Õ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIout\fR¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¿ÇÃǽÐÎϤΰ¸Àè¤ò¼¨¤·¤Þ¤¹¡£ +.PP +\fIreturn\fRÃͤϡ¢\fIjavac\fR¤Î\fIexit\fRÃÍ¤ÈÆ±¤¸¤Ç¤¹¡£ +.PP +\fBÃí°Õ:\fR +̾Á°¤¬\fIcom\&.sun\&.tools\&.javac\fR¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸(\fIcom\&.sun\&.tools\&.javac\fR¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸)¤Ç¸¡½Ð¤µ¤ì¤ë¾¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ï¡¢´°Á´¤ËÆâÉôÍѤǤ¢¤ê¡¢¤¤¤Ä¤Ç¤âÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.SH "Îã" +.PP +\fBExample 1\fR, ´Êñ¤Ê¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë +.RS 4 +¤³¤ÎÎã¤Ç¤Ï¡¢greetings¥Ç¥£¥ì¥¯¥È¥ê¤Ç\fIHello\&.java\fR¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÊýË¡¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£\fIHello\&.java\fR¤ÇÄêµÁ¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢\fIgreetings\&.Hello\fR¤È¸Æ¤Ð¤ì¤Þ¤¹¡£greetings¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤°²¼¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ò»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢\fI\-d\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÊ̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ëɬÍפ⤢¤ê¤Þ¤»¤ó¡£ +.sp +\fIHello\&.java\fRÆâ¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +package greetings; + +public class Hello { + public static void main(String[] args) { + for (int i=0; i < args\&.length; i++) { + System\&.out\&.println("Hello " + args[i]); + } + } +} +.fi +.if n \{\ +.RE +.\} +greetings\&.Hello¤Î¥³¥ó¥Ñ¥¤¥ë: +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac greetings/Hello\&.java +.fi +.if n \{\ +.RE +.\} +\fIgreetings\&.Hello\fR¤Î¼Â¹Ô: +.sp +.if n \{\ +.RS 4 +.\} +.nf +java greetings\&.Hello World Universe Everyone +Hello World +Hello Universe +Hello Everyone +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, Ê£¿ô¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë +.RS 4 +¤³¤ÎÎã¤Ç¤Ï¡¢\fIgreetings\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë\fIAloha\&.java\fR¡¢\fIGutenTag\&.java\fR¡¢\fIHello\&.java\fR¤ª¤è¤Ó\fIHi\&.java\fR¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +% javac greetings/*\&.java +% ls greetings +Aloha\&.class GutenTag\&.class Hello\&.class Hi\&.class +Aloha\&.java GutenTag\&.java Hello\&.java Hi\&.java +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Î»ØÄê +.RS 4 +Á°½Ò¤ÎÎã¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤¦¤Á1¤Ä¤òÊѹ¹¤·¤¿¸å¤Ë¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pwd +/examples +javac greetings/Hi\&.java +.fi +.if n \{\ +.RE +.\} +\fIgreetings\&.Hi\fR¤Ï\fIgreetings\fR¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¾¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤ì¤é¤Î¾¤Î¥¯¥é¥¹¤òõ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Ï¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¤¿¤á¡¢Á°½Ò¤ÎÎã¤Ïưºî¤·¤Þ¤¹¡£¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òµ¤¤Ë¤»¤º¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¡¢\fICLASSPATH\fR¤òÀßÄꤷ¤Æ¡¢¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ËÎã¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-classpath /examples /examples/greetings/Hi\&.java +.fi +.if n \{\ +.RE +.\} +\fIgreetings\&.Hi\fR¤òÊѹ¹¤·¤Æ¥Ð¥Ê¡¼¡¦¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤¿¾ì¹ç¡¢ ¤½¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤â¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-classpath /examples:/lib/Banners\&.jar \e + /examples/greetings/Hi\&.java +.fi +.if n \{\ +.RE +.\} +\fIgreetings\fR¥Ñ¥Ã¥±¡¼¥¸¤Ç¥¯¥é¥¹¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤Ï\fIgreetings\fR¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó\fIgreetings\fR¥¯¥é¥¹¤¬»ÈÍѤ¹¤ë¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-classpath /examples:/lib/Banners\&.jar greetings\&.Hi +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 4\fR, ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎʬΥ +.RS 4 +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIjavac\fR¤ò»ÈÍѤ·¤Æ¡¢JVM 1\&.6¾å¤Ç¼Â¹Ô¤¹¤ë¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-source 1\&.6 \-target 1\&.6 \-bootclasspath jdk1\&.6\&.0/lib/rt\&.jar \e +\-extdirs "" OldCode\&.java +.fi +.if n \{\ +.RE +.\} +\fI\-source 1\&.6\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢\fIOldCode\&.java\fR¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï¥ê¥ê¡¼¥¹1\&.6(¤Þ¤¿¤Ï6)¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£\fI\-target 1\&.6\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢JVM 1\&.6¤È¸ß´¹À­¤Î¤¢¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ\fI\-source\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤˤʤê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ +.sp +\fI\-bootclasspath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Å¬ÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹(\fIrt\&.jar\fR¥é¥¤¥Ö¥é¥ê)¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-source 1\&.6 OldCode\&.java +warning: [options] bootstrap class path not set in conjunction with +\-source 1\&.6 +.fi +.if n \{\ +.RE +.\} +ŬÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¸Å¤¤¸À¸ì»ÅÍÍ(¤³¤ÎÎã¤Ç¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó1\&.6¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì)¤ò¿·¤·¤¤¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ÈÁȤ߹礻¤Æ»ÈÍѤ·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢Â¸ºß¤·¤Ê¤¤¥á¥½¥Ã¥É¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¸Å¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à(¤³¤Î¾ì¹ç¤ÏJava SE 6)¤Çưºî¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fBExample 5\fR, ¥¯¥í¥¹¡¦¥³¥ó¥Ñ¥¤¥ë +.RS 4 +¤³¤ÎÎã¤Ç¤Ï¡¢\fIjavac\fR¤ò»ÈÍѤ·¤Æ¡¢JVM 1\&.6¾å¤Ç¼Â¹Ô¤¹¤ë¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-source 1\&.6 \-target 1\&.6 \-bootclasspath jdk1\&.6\&.0/lib/rt\&.jar \e + \-extdirs "" OldCode\&.java +.fi +.if n \{\ +.RE +.\} +The\fI \-source 1\&.6\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢OldCode\&.java¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï¥ê¥ê¡¼¥¹1\&.6(¤Þ¤¿¤Ï6)¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£\fI\-target 1\&.6\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢JVM 1\&.6¤È¸ß´¹À­¤Î¤¢¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢\fI\-target\fR¤ÎÃͤÏ\fI\-source\fR¤ÎÃͤˤʤê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-bootclasspath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Å¬ÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹(\fIrt\&.jar\fR¥é¥¤¥Ö¥é¥ê)¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-source 1\&.6 OldCode\&.java +warning: [options] bootstrap class path not set in conjunction with \-source 1\&.6 +.fi +.if n \{\ +.RE +.\} +ŬÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¸Å¤¤¸À¸ì»ÅÍͤò¿·¤·¤¤¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ÈÁȤ߹礻¤Æ»ÈÍѤ·¤Þ¤¹¡£¤³¤ÎÁȹ礻¤Ï¡¢Â¸ºß¤·¤Ê¤¤¥á¥½¥Ã¥É¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¸Å¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à(¤³¤Î¾ì¹ç¤ÏJava SE 6)¤Çưºî¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤ÏJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î¥ê¥ê¡¼¥¹1\&.6¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javadoc(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/javadoc.1 b/jdk/src/linux/doc/man/ja/javadoc.1 index e6374a63c67..74cdf8f655b 100644 --- a/jdk/src/linux/doc/man/ja/javadoc.1 +++ b/jdk/src/linux/doc/man/ja/javadoc.1 @@ -1,4236 +1,3839 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javadoc 1 "07 May 2011" -.SH "̾Á°" -javadoc \- Java API ¥É¥­¥å¥á¥ó¥È¥¸¥§¥Í¥ì¡¼¥¿ -.LP -Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¡¢API ¥É¥­¥å¥á¥ó¥È¤Î HTML ¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥È¤Ç¾Ò²ð¤µ¤ì¤Æ¤¤¤ë Javadoc ¤ÎÎã¤Ï¡¢ Solaris ¤ò»ÈÍѤ·¤¿¾ì¹ç¤Î¤â¤Î¤Ç¤¹¡£ -.SH "·Á¼°" -.LP -\f4javadoc\fP\f2\ [\ \fP\f2options\fP\f2\ ]\ [\ packagenames\ ]\ [\ sourcefilenames\ ]\ [\ \-subpackages\fP\ \f2pkg1:pkg2:...\fP\f2\ ]\ [\ \fP\f2@argfiles\fP\f2\ ]\fP -.LP -°ú¿ô¤ò»ØÄꤹ¤ë½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ç¤Î¡¢½èÍýÂоݤΠ.java ¥Õ¥¡¥¤¥ë¤ò·èÄꤹ¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¡×\f2¤ò»²¾È\fP¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 3 -options -¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£Javadoc ¥ª¥×¥·¥ç¥ó¤Îɸ½àŪ¤Ê»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö»ÈÍÑÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -packagenames -¥¹¥Ú¡¼¥¹¤Ç¶èÀÚ¤é¤ì¤¿°ìÏ¢¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2java.lang\ java.lang.reflect\ java.awt ¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹\fP¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò¸ÄÊ̤˻ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï»ÈÍÑÉԲĤǤ¹¡£ºÆµ¢Åª½èÍý¤Î¤¿¤á¤Ë¤Ï¡¢\-subpackages ¤ò»ÈÍѤ·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢\f2\-sourcepath\fP ¤ò»ÈÍѤ·¤Æ¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¸¡º÷¤·¤Þ¤¹¡£¡Ö1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -sourcefilenames -¥¹¥Ú¡¼¥¹¤Ç¶èÀÚ¤é¤ì¤¿°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ç¤¹¡£ ³Æ¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥¹¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤Ê¤É¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤¬½èÍý¤¹¤ë¤Î¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤¬¡Ö.java¡×¤È¤¤¤¦³ÈÄ¥»Ò¤Ç½ª¤ï¤ê¡¢¤½¤Î³ÈÄ¥»Ò¤ò½ü¤¤¤¿Ì¾Á°¤¬¼ÂºÝ¤ËÍ­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¤¢¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹ (Java ¸À¸ì»ÅÍͤò»²¾È)¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Ï¥¤¥Õ¥ó¤ò´Þ¤à̾Á° ( \f2X\-Buffer\fP ¤Ê¤É) ¤ä¡¢¤½¤Î¾¤Î̵¸ú¤Êʸ»ú¤ò´Þ¤à̾Á°¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥É¥­¥å¥á¥ó¥È²½¤ÎÂоݤ«¤é½ü³°¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Æ¥¹¥ÈÍѤΥե¡¥¤¥ë¤ä¡¢¥Æ¥ó¥×¥ì¡¼¥È¤«¤éÀ¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÎÁ°¤Ë»ØÄꤷ¤¿¥Ñ¥¹¤Ë¤è¤Ã¤Æ¡¢javadoc ¤¬¤½¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤¬·è¤Þ¤ê¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤³¤ì¤é¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¸¡º÷¤¹¤ë¤È¤­¤Ë¤Ï \f2\-sourcepath\fP ¤ò»ÈÍѤ·¤Þ¤»¤ó¡£ÁêÂХѥ¹¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òµ¯ÅÀ¤È¤¹¤ë¤¿¤á¡¢ \f2Button.java\fP ¤òÅϤ¹¤³¤È¤Ï¡¢ \f2./Button.java\fP ¤òÅϤ¹¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤹ¤ë¤È¡¢ \f2/home/src/java/awt/Graphics*.java ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹\fP¡£ ¡Ö1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¡Ö¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤ÎÎã¤Î¤è¤¦¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òº®ºß¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-subpackages pkg1:pkg2:... -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËºÆµ¢Åª¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.TP 3 -@argfiles -Javadoc ¥ª¥×¥·¥ç¥ó¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤ª¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òǤ°Õ¤Î½ç½ø¤Çʤ٤¿¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤ë 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤ä \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ -.RE -.SH " ÀâÌÀ" -.LP -\f3Javadoc\fP ¥Ä¡¼¥ë¤Ï¡¢°ìÏ¢¤Î Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë¤¢¤ëÀë¸À¤ª¤è¤Ó¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò²òÀϤ·¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï public ¥¯¥é¥¹¡¢protected ¥¯¥é¥¹¡¢Æþ¤ì»Ò¤Ë¤µ¤ì¤¿¥¯¥é¥¹ (ƿ̾¤ÎÆâÉô¥¯¥é¥¹¤Ï½ü¤¯)¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤¿°ìÏ¢¤Î HTML ¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤Þ¤¿¡¢API (¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥ß¥ó¥°¥¤¥ó¥¿¥Õ¥§¡¼¥¹) ¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤ä¡¢°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¼ÂÁõ¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΡ¢¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤ËÂФ·¤Æ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤΥɥ­¥å¥á¥ó¥È²½¤ò¹Ô¤¦¤Ë¤Ï¡¢\f2\-subpackages\fP ¤ò»ÈÍѤ·¤ÆºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¤«¤é²¼Êý¤ËºÆµ¢Åª¤Ë¤¿¤É¤ë¤«¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÌÀ¼¨Åª¤Ê¥ê¥¹¥È¤òÅϤ·¤Þ¤¹¡£¸Ä¡¹¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢°ìÏ¢¤Î¥½¡¼¥¹ (.\f2.java\fP) ¥Õ¥¡¥¤¥ë̾¤òÅϤ·¤Þ¤¹¡£¶ñÂÎŪ¤ÊÎã¤Ï¡¢¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÎºÇ¸å¤Ë¾Ò²ð¤·¤Þ¤¹¡£¼¡¤Ë¡¢Javadoc ¤Ë¤è¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ -.SS -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢ËöÈø¤¬¡Ö\f2.java\fP¡×¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡×¤ÇÀâÌÀ¤¹¤ë¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤â½èÍý¤·¤Þ¤¹¡£¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤ËÅϤ¹¤³¤È¤Ë¤è¤Ã¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤É¤Î \f2.java\fP ¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤«¤òÀµ³Î¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢Â¿¤¯¤Î³«È¯¼Ô¤Ï¤³¤ÎÊýË¡¤Ç¤Ïºî¶È¤·¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¤Û¤¦¤¬´Êñ¤À¤«¤é¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢Javadoc ¥Ä¡¼¥ë¤Ï 3 ¤Ä¤ÎÊýË¡¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¤½¤ÎÊýË¡¤È¤Ï¡¢(1) ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¡¢(2) \f2\-subpackages\fP ¤ò»ÈÍѤ¹¤ë¡¢(3) ¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ç¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë (\f2*.java\fP)¡¢¤Î 3 ¤Ä¤Ç¤¹¡£¤³¤ì¤é¤Î¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤¬¡Ö\f2.java\fP¡×¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò¹Ô¤¦¤Î¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¤¹¤Ù¤Æ¤ÎÍ×·ï¤òËþ¤¿¤¹¾ì¹ç¤À¤±¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -̾Á°¤«¤éÀÜÈø¼­¡Ö\f2.java\fP¡×¤ò¼è¤ê½ü¤¯¤È¡¢¼ÂºÝ¤ËÍ­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ë¤Ê¤Ã¤Æ¤¤¤ë (Java ¸À¸ì»ÅÍͤÎÍ­¸ú¤Êʸ»ú¤ò»²¾È) -.TP 2 -o -¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤«¤éÁêÂÐŪ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹¤¬¡¢¶èÀÚ¤êʸ»ú¤ò¥É¥Ã¥È¤ËÊÑ´¹¤¹¤ë¤È¡¢¼ÂºÝ¤ËÍ­¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¤Ê¤Ã¤Æ¤¤¤ë -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸Ê¸¤Ë¤ÏÍ­¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬´Þ¤Þ¤ì¤ë (Á°¹àÌܤǻØÄê) -.RE -.LP -\f3¥ê¥ó¥¯¤Î½èÍý\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢½èÍý¤Î¼Â¹ÔÃæ¤Ë¡¢¤½¤Î¼Â¹Ô¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤Î̾Á°¤ËÂФ·¤Æ¡¢¼«Æ°Åª¤ËÁê¸ß»²¾È¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥ê¥ó¥¯¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¾ì½ê¤ËÄɲ䵤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -Àë¸À (Ìá¤êÃͤη¿¡¢°ú¿ô¤Î·¿¡¢¥Õ¥£¡¼¥ë¥É¤Î·¿) -.TP 2 -o -\f2@see\fP ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿ [´ØÏ¢¹àÌÜ] ¥»¥¯¥·¥ç¥ó -.TP 2 -o -\f2{@link}\fP ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿¥¤¥ó¥é¥¤¥ó¥Æ¥­¥¹¥È -.TP 2 -o -\f2@throws\fP ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿Îã³°¤Î̾Á° -.TP 2 -o -¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¡ÖÄêµÁ¡×¥ê¥ó¥¯¤È¡¢¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¡Ö¥ª¡¼¥Ð¡¼¥é¥¤¥É¡×¥ê¥ó¥¯ -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤òÎóµó¤·¤Æ¤¤¤ë³µÍץơ¼¥Ö¥ë -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Î·Ñ¾µ¥Ä¥ê¡¼ -.TP 2 -o -º÷°ú -.RE -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¤Î´û¸¤Î¥Æ¥­¥¹¥È (Ê̤ËÀ¸À®¤·¤¿¥Æ¥­¥¹¥È) ¤ËÂФ·¤Æ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤òÄɲ乤ë¤Ë¤Ï¡¢\f2\-link\fP ¤ª¤è¤Ó \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤òÍøÍѤǤ­¤Þ¤¹¡£ -.LP -\f3¤½¤Î¾¤Î½èÍý¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë 1 ¤Ä¤Î´°Á´¤Ê¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È¤òÄɲÃÀ¸À®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Î°ÊÁ°¤Î¼Â¹Ô·ë²Ì¤ò½¤Àµ¤·¤¿¤ê¡¢¤½¤ÎÆâÍÆ¤òľÀÜÁÈ¤ßÆþ¤ì¤¿¤ê¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤¿¤À¤·¡¢Á°½Ò¤Î¤è¤¦¤Ë¡¢°ÊÁ°¤Î¼Â¹Ô·ë²Ì¤ËÂФ·¤Æ¥ê¥ó¥¯¤òÄɲ乤뤳¤È¤Ï¤Ç¤­¤Þ¤¹¡£ -.LP -¼ÂÁõ¾å¤ÎÍýͳ¤«¤é¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢½èÍý¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë java ¥³¥ó¥Ñ¥¤¥é¤òɬÍפȤ·¡¢java ¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2javac\fP ¤Î°ìÉô¤ò¸Æ¤Ó½Ð¤·¤ÆÀë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¤¬¡¢¥á¥ó¥Ð¡¼¤Î¼ÂÁõ¤Ï̵»ë¤·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹³¬Áؤò´Þ¤à¥¯¥é¥¹¤ÎË­ÉÙ¤ÊÆâÉôɽ¸½¤È¥¯¥é¥¹¤Î¡Ö»ÈÍѡ״ط¸¤ò¹½ÃÛ¤·¡¢¤½¤Î¾ðÊ󤫤é HTML ¤òÀ¸À®¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤«¤é¡¢¥æ¡¼¥¶¡¼¤ÎÄ󶡤·¤¿¥É¥­¥å¥á¥ó¥È¤â¼èÆÀ¤·¤Þ¤¹¡£ -.LP -¼ÂºÝ¤Ë¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥á¥½¥Ã¥ÉËÜÂΤò»ý¤¿¤Ê¤¤½ã¿è¤Ê¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤è¤¦¤Ê \f2.java\fP ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤âưºî¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢API ¤ÎºîÀ®»þ¤Ë¤Ï¡¢¼ÂÁõ¤òµ­½Ò¤¹¤ëÁ°¤ÎÀ߷פÎÁᤤÃʳ¬¤Ç¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ­½Ò¤·¤Æ javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.LP -¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢HTML ½ÐÎϤϡ¢¼ÂºÝ¤Î¼ÂÁõ¤ËÀµ³Î¤ËÂбþ¤·¤Þ¤¹¡£¼ÂºÝ¤Î¼ÂÁõ¤Ï¡¢ÌÀ¼¨Åª¤Ê¥½¡¼¥¹¥³¡¼¥É¤Ë¤Ç¤Ï¤Ê¤¯¡¢°ÅÌۤΥ½¡¼¥¹¥³¡¼¥É¤Ë°Í¸¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢.class ¥Õ¥¡¥¤¥ë¤Ë¤Ï¸ºß¤¹¤ë¤¬¥½¡¼¥¹¥³¡¼¥É¤Ë¤Ï¸ºß¤·¤Ê¤¤¥Ç¥Õ¥©¥ë¥È¥³¥ó¥¹¥È¥é¥¯¥¿ (Java ¸À¸ì»ÅÍͤò»²¾È) \f2¤ò¥É¥­¥å¥á¥ó¥È²½\fP ¤·¤Þ¤¹¡£ -.LP -Ä̾Javadoc ¥Ä¡¼¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¡¼¥É¤¬ÉÔ´°Á´¤Þ¤¿¤Ï¥¨¥é¡¼¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ç¤â¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥Ç¥Ð¥Ã¥°¤ä¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ò´°Î»¤¹¤ëÁ°¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Java ¸À¸ì»ÅÍͤˤè¤ë¤È¡¢Ãê¾Ý¥á¥½¥Ã¥É¤ò´Þ¤à¥¯¥é¥¹¤Ï¡¢¤½¤ì¼«ÂÎÃê¾Ý¤È¤·¤ÆÀë¸À¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¨¥é¡¼¤ò¸¡½Ð¤¹¤ë¤È¡¢javac ¥³¥ó¥Ñ¥¤¥é¤ÏÄä»ß¤·¤Þ¤¹¤¬¡¢Javadoc ¥Ä¡¼¥ë¤Ï·Ù¹ð¤ò½Ð¤µ¤º¤Ë½èÍý¤ò³¹Ô¤·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î´ðËÜŪ¤Ê¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¤è¤ê¾Ü¤·¤¯¥Á¥§¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢DocCheck ¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥É¥­¥å¥á¥ó¥È¤ÎÆâÉô¹½Â¤¤ò¹½ÃÛ¤¹¤ëºÝ¡¢»²¾È¥¯¥é¥¹¤ò¤¹¤Ù¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¡¢³ÈÄ¥µ¡Ç½¡¢¤Þ¤¿¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î»²¾È¥¯¥é¥¹¤ò¸¡º÷¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¾ÜºÙ¤Ï¡¢ -.na -\f2¡Ö¥¯¥é¥¹¤Î¸¡º÷ÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ä̾ºîÀ®¤¹¤ë¥¯¥é¥¹¤Ï¡¢³ÈÄ¥µ¡Ç½¤È¤·¤Æ¥í¡¼¥É¤¹¤ë¤«¡¢Javadoc ¥Ä¡¼¥ë¤Î¥¯¥é¥¹¥Ñ¥¹Æâ¤ËÃÖ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.SS -Javadoc ¤Î¥É¥Ã¥¯¥ì¥Ã¥È -.LP -Javadoc ¥Ä¡¼¥ë¤Î½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¡ÖÁȤ߹þ¤ß¡×¥É¥Ã¥¯¥ì¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢HTML ·Á¼°¤Î API ¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò½¤Àµ¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹²½¤¹¤ë¤³¤È¤ä¡¢HTML¡¢XML¡¢MIF¡¢RTF ¤Ê¤É¤Î¹¥¤ß¤Î½ÐÎÏ·Á¼°¤òÀ¸À®¤¹¤ëÆÈ¼«¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤òµ­½Ò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£¥É¥Ã¥¯¥ì¥Ã¥È¤È¤½¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤Î¹àÌܤò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 2 -o -.na -\f2Javadoc ¤Î¥É¥Ã¥¯¥ì¥Ã¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html -.TP 2 -o -\f2\-doclet\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.RE -.LP -\f2\-doclet\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢»ÈÍѤµ¤ì¤Æ¤¤¤ë¥É¥Ã¥¯¥ì¥Ã¥È¤Ë´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¤Û¤«¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬Äɲ䵤ì¤Þ¤¹¡£¤É¤Á¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤â¡¢¤³¤Î¤¢¤È¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£ -.SS -´ØÏ¢¥É¥­¥å¥á¥ó¥È¤ª¤è¤Ó¥É¥Ã¥¯¥ì¥Ã¥È -.RS 3 -.TP 2 -o -.na -\f2Javadoc ¤Ë»Ü¤µ¤ì¤¿³ÈÄ¥µ¡Ç½\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html \- Javadoc 1.4 ¤ÇÄɲ䵤줿²þÎÉÅÀ¤Î¾ÜºÙ -.TP 2 -o -.na -\f2Javadoc FAQ\fP @ -.fi -http://java.sun.com/j2se/javadoc/faq/index.html \- ÉÑÈˤ˴󤻤é¤ì¤ë¼ÁÌä¤ËÂФ¹¤ë²óÅú¡¢Javadoc ´ØÏ¢¤Î¥Ä¡¼¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󡢤ª¤è¤Ó¥Ð¥°¤Î²óÈòÊýË¡ -.TP 2 -o -.na -\f2How to Write Doc Comments for Javadoc\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html \- ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Ë´Ø¤¹¤ë Sun ¤Îµ¬Ìó -.TP 2 -o -.na -\f2Requirements for Writing API Specifications\fP @ -.fi -http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à»ÅÍͤòµ­½Ò¤¹¤ëºÝ¤Ë»ÈÍѤµ¤ì¤¿É¸½àÍ׷盧¤Î¾ðÊó¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È·Á¼°¤Ç API »ÅÍͤòµ­½Ò¤¹¤ë¾ì¹ç¤Ë¤â¡¢¤½¤Î¾¤Î·Á¼°¤Çµ­½Ò¤¹¤ë¾ì¹ç¤Ë¤âÌòΩ¤Á¤Þ¤¹¡£¸¡¾Ú²Äǽ¤Ê¥¢¥µ¡¼¥·¥ç¥ó¤òËþ¤¿¤¹¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤ÎÍ×·ï¤òÄê¤á¤Æ¤¤¤Þ¤¹¡£ -.TP 2 -o -.na -\f2¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î»ÅÍÍ\fP @ -.fi -http://java.sun.com/docs/books/jls/first_edition/html/18.doc.html \- ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¥ª¥ê¥¸¥Ê¥ë»ÅÍͤˤĤ¤¤Æ¤Ï¡¢¡ØJava Language Specification¡Ù (James Gosling¡¢Bill Joy¡¢Guy Steele ¶¦Ãø) ¤Î½éÈǤÎÂè 18 ¾Ï¡ÖDocumentation Comments¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¾Ï¤Ï¡¢Âè 2 ÈǤǤϺï½ü¤µ¤ì¤Þ¤·¤¿¡£ -.TP 2 -o -.na -\f2DocCheck ¥É¥Ã¥¯¥ì¥Ã¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-141437.html \- ¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¥Á¥§¥Ã¥¯¤·¡¢¸¡½Ð¤µ¤ì¤¿¥¨¥é¡¼¤äÉÔÀµ¤Î¥ì¥Ý¡¼¥È¤òÀ¸À®¤·¤Þ¤¹¡£Doc Check ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Î°ìÉô¤Ç¤¹¡£ -.TP 2 -o -.na -\f2MIF ¥É¥Ã¥¯¥ì¥Ã¥È\fP @ -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/ \- MIF¡¢FrameMaker¡¢PDF ¤Î½ñ¼°¤Ç API ¥É¥­¥å¥á¥ó¥È¤ò¼«Æ°À¸À®¤·¤Þ¤¹¡£MIF ¤Ï Adobe FrameMaker ¤Î¸ò´¹½ñ¼°¤Ç¤¹¡£ -.RE -.SS -ÍѸì -.LP -\f2¡Ö¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×\fP¡¢\f2¡Ödoc ¥³¥á¥ó¥È¡×\fP¡¢\f2¡Ö¼çÀâÌÀ¡×\fP¡¢\f2¡Ö¥¿¥°¡×\fP¡¢\f2¡Ö¥Ö¥í¥Ã¥¯¥¿¥°¡×\fP¡¢¤ª¤è¤Ó\f2¡Ö¥¤¥ó¥é¥¤¥ó¥¿¥°¡×\fP¤ÎÍѸì¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×¤ÇÀâÌÀ¤·¤Þ¤¹°Ê²¼¤Î¤½¤Î¾¤ÎÍѸì¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Î¥³¥ó¥Æ¥­¥¹¥È¤ÇÆÃÄê¤Î°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£ -.RS 3 -.TP 3 -À¸À®¥É¥­¥å¥á¥ó¥È (generated document) -javadoc ¥Ä¡¼¥ë¤¬ Java ¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤«¤éÀ¸À®¤·¤¿¥É¥­¥å¥á¥ó¥È¤Î¤³¤È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀ¸À®¥É¥­¥å¥á¥ó¥È¤Ï HTML ·Á¼°¤Ç¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -̾Á° (name) -Java ¸À¸ì¤Ç½ñ¤«¤ì¤¿¥×¥í¥°¥é¥àÍ×ÁǤÎ̾Á°¡¢¤Ä¤Þ¤ê¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î̾Á°¤Î¤³¤È¤Ç¤¹¡£Ì¾Á°¤Ï¡¢ \f2java.lang.String.equals(java.lang.Object)\fP ¤Î¤è¤¦¤Ê´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¡¢ \f2equals(Object)\fP ¤Î¤è¤¦¤ÊÉôʬ½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.TP 3 -¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹ (documented classes) -javadoc ¥Ä¡¼¥ë¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ¾ÜºÙ¤Ê¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬»ÈÍѲÄǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò javadoc ¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¡¢¥¢¥¯¥»¥¹½¤¾þ»Ò (public¡¢protected¡¢package\-private ¤Þ¤¿¤Ï private) ¤Ë¤è¤Ã¤Æ¥Õ¥£¥ë¥¿½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ï¡¢javadoc ¥Ä¡¼¥ë¤Î½ÐÎϤËÁȤ߹þ¤Þ¤ì¤ë¥¯¥é¥¹¡¢¤Ä¤Þ¤ê¡ÖÊñ´Þ¥¯¥é¥¹¡×¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£ -.LP -.TP 3 -Êñ´Þ¥¯¥é¥¹ (included classes) -¥Ä¡¼¥ë¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ¾ÜºÙ¤Ê¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£¡Ö¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¡×¤ÈƱ¤¸¡£ -.LP -.TP 3 -½ü³°¥¯¥é¥¹ (excluded classes) -¥Ä¡¼¥ë¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ¾ÜºÙ¤Ê¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£ -.LP -.TP 3 -»²¾È¥¯¥é¥¹ (referenced classes) -¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ (¼ÂÁõ) ¤Þ¤¿¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÃæ¤ÇÌÀ¼¨Åª¤Ë»²¾È¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£»²¾È¤ÎÎã¤È¤·¤Æ¤Ï¡¢Ìá¤êÃͤη¿¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿¡¢¥­¥ã¥¹¥È¤Î·¿¡¢³ÈÄ¥¤µ¤ì¤¿¥¯¥é¥¹¡¢¼ÂÁõ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¯¥é¥¹¡¢¥á¥½¥Ã¥ÉËÜÂΤǻÈÍѤµ¤ì¤ë¥¯¥é¥¹¡¢@see¡¢{@link}¡¢{@linkplain}¡¢{@inheritDoc} ¥¿¥°¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÄêµÁ¤Ï -.na -\f21.3\fP @ -.fi -http://download.oracle.com/javase/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses ¤«¤éÊѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢Javadoc ¤Î¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤ª¤è¤Ó¥¯¥é¥¹¥Ñ¥¹Æâ¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î»²¾È¥¯¥é¥¹¤ò¥á¥â¥ê¡¼¤Ë¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»²¾È¥¯¥é¥¹¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢¡Ö¥¯¥é¥¹¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡×¤È¤¤¤¦·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹¤Î¸ºß¤È¤½¤Î¥á¥ó¥Ð¡¼¤Î´°Á´»ØÄê¤Î̾Á°¤òȽÊ̤¹¤ë¤Î¤ËɬÍפʤ¹¤Ù¤Æ¤Î¾ðÊó¤ò¡¢.class ¥Õ¥¡¥¤¥ë¤«¤é°ú¤­½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.TP 3 -³°Éô»²¾È¥¯¥é¥¹ (external referenced classes) -»²¾È¥¯¥é¥¹¤Î¤¦¤Á¡¢javadoc ¥Ä¡¼¥ë¤Î¼Â¹ÔÃæ¤Ë¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥¯¥é¥¹¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç Javadoc ¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£À¸À®¥É¥­¥å¥á¥ó¥ÈÆâ¤Ç¤³¤ì¤é¤Î¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë²Õ½ê¤Ï¡¢¡Ö³°Éô»²¾È¡×¤Þ¤¿¤Ï¡Ö³°Éô¥ê¥ó¥¯¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Javadoc ¥Ä¡¼¥ë¤Î¼Â¹ÔÂоݤ¬ \f2java.awt\fP ¥Ñ¥Ã¥±¡¼¥¸¤Î¤ß¤Ç¤¢¤ë¾ì¹ç¡¢ \f2java.lang\fP Æâ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹ ( \f2Object\fP¤Ê¤É) ¤¬³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï¡¢ \f2\-link\fP ¤ª¤è¤Ó \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ï¡¢Ä̾綠¤Î¥½¡¼¥¹¥³¥á¥ó¥È¤ò javadoc ¥Ä¡¼¥ë¤Î¼Â¹Ô¤ÇÍøÍѤǤ­¤Ê¤¤¤È¤¤¤¦½ÅÍ×¤ÊÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤½¤ì¤é¤Î¥³¥á¥ó¥È¤ò·Ñ¾µ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.RE -.SH "¥½¡¼¥¹¥Õ¥¡¥¤¥ë" -.LP -Javadoc ¥Ä¡¼¥ë¤Ï 4 ¼ïÎà¤Î°Û¤Ê¤ë¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤«¤é½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¤½¤Î 4 ¼ïÎà¤È¤Ï¡¢¥¯¥é¥¹¤Î Java ¸À¸ì¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f2.java\fP)¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡¢³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¤½¤Î¾¤Î½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤Þ¤¿¡¢¥É¥­¥å¥á¥ó¥È²½¤·¤Ê¤¤¤¬¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ë¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ä¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÀâÌÀ¤·¤Þ¤¹¡£ -.SS -¥¯¥é¥¹¥½¡¼¥¹¥³¡¼¥É¥Õ¥¡¥¤¥ë -.LP -¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤ª¤è¤Ó¤½¤Î¥á¥ó¥Ð¡¼¤Ï¡¢ÆÈ¼«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ò \f2.java\fP ¥Õ¥¡¥¤¥ëÆâ¤ËÊÝ»ý¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¾ÜºÙ¤Ï¡¢¡Ö¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SS -¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë -.LP -¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢ÆÈ¼«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤òÀìÍѤΡ֥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤·¤Þ¤¹¡£¤½¤ÎÆâÍÆ¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³µÍ×¥Ú¡¼¥¸¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢Ä̾¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÅö¤Æ¤Ï¤Þ¤ë¥É¥­¥å¥á¥ó¥È¤òµ­½Ò¤·¤Þ¤¹¡£ -.LP -¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¡¢¥³¥á¥ó¥È¤Î³ÊǼÀè¤È¤·¤Æ¡¢¼¡¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤òÁªÂò¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2package\-info.java\fP \- ¥Ñ¥Ã¥±¡¼¥¸Àë¸À¡¢¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¡¢¤ª¤è¤Ó Javadoc ¥¿¥°¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°ìÈ̤ˡ¢package.html ¤è¤ê¤â¿ä¾©¤µ¤ì¤Þ¤¹¡£ -.TP 2 -o -\f2package.html\fP \- ³ÊǼ¤Ç¤­¤ë¤Î¤Ï¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤È Javadoc ¥¿¥°¤À¤±¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¤Ï³ÊǼ¤Ç¤­¤Þ¤»¤ó¡£ -.RE -.LP -³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¡¢Ã±°ì¤Î \f2package.html\fP ¥Õ¥¡¥¤¥ë¡¢Ã±°ì¤Î \f2package\-info.java\fP ¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤òÁªÂò¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ÎξÊý¤òÁªÂò¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò \f2.java\fP ¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤Î¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f4package\-info.java\fP \- ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£ ¥³¥á¥ó¥È¤Ï¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ÎÁ°¤ËÇÛÃÖ¤·¤Þ¤¹¡£ -.LP -File: \f2java/applet/package\-info.java\fP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javadoc +.\" Language: English +.\" Date: 2011ǯ5·î10Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javadoc" "1" "2011ǯ5·î10Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javadoc \- Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é¡¢API¥É¥­¥å¥á¥ó¥È¤ÎHTML¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjavadoc\fR {\fIpackages\fR|\fIsource\-files\fR} [\fIoptions\fR] [\fI@argfiles\fR] +.fi +.if n \{\ +.RE +.\} +.PP +\fIpackages\fR +.RS 4 +\fIjava\&.lang java\&.lang\&.reflect java\&.awt\fR¤Ê¤É¡¢¶õÇò¤Ç¶èÀڤäƥɥ­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¡£¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤â¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ï¡¢\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjavadoc\fR¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤òõ¤·¤Þ¤¹¡£\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸¤òõ¤¹¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\fIsource\-files\fR +.RS 4 +\fIClass\&.java Object\&.java Button\&.java\fR¤Î¤è¤¦¤Ë¶õÇò¤Ç¶èÀڤä¿¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ëJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjavadoc\fR¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\fI/home/src/java/awt/Graphics*\&.java\fR¤Î¤è¤¦¤Ë¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤ò»ØÄꤷ¡¢¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤ò»ÈÍѤǤ­¤Þ¤¹¡£¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\fIoptions\fR +.RS 4 +¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fI@argfiles\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¡¦¥ª¥×¥·¥ç¥ó¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ª¤è¤Ó¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È¤òǤ°Õ¤Î½ç½ø¤Ç´Þ¤à¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢°ìÏ¢¤ÎJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤¢¤ëÀë¸À¤ª¤è¤Ó¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò²òÀϤ·¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢public¥¯¥é¥¹¡¢protected¥¯¥é¥¹¡¢¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹(ƿ̾¤ÎÆâÉô¥¯¥é¥¹¤Ï½ü¤¯)¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤¿°ìÏ¢¤ÎHTML¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢API¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤ä¡¢°ìÏ¢¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¼ÂÁõ¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΡ¢¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤ËÂФ·¤Æ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤΥɥ­¥å¥á¥ó¥È²½¤ò¹Ô¤¦¤Ë¤Ï¡¢\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ë¤¿¤É¤ë¤«¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÌÀ¼¨Åª¤Ê¥ê¥¹¥È¤òÅϤ·¤Þ¤¹¡£¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È¤òÅϤ·¤Þ¤¹¡£´Êñ¤ÊÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥½¡¼¥¹¤Ç½ª¤ï¤ë¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Þ¤¹¡£¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤òÅϤ·¤Æ\fIjavadoc\fR¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤É¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤«¤òÀµ³Î¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢Â¿¤¯¤Î³«È¯¼Ô¤Ï¤³¤ÎÊýË¡¤Ç¤Ïºî¶È¤·¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¤Û¤¦¤¬´Êñ¤À¤«¤é¤Ç¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï3¤Ä¤ÎÊýË¡¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¡¢\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò¹Ô¤¦¤Î¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¤¹¤Ù¤Æ¤ÎÍ×·ï¤òËþ¤¿¤¹¾ì¹ç¤Î¤ß¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Õ¥¡¥¤¥ë̾¤ÎÀÜÆ¬¼­(\fI\&.java\fR¤òºï½ü)¤¬Í­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¤¢¤ë¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤«¤é¤ÎÁêÂÐŪ¤Ê¥Ñ¥¹Ì¾¤¬¡¢¶èÀÚ¤êʸ»ú¤ò¥É¥Ã¥È¤ËÊÑ´¹¤¹¤ë¤È¡¢Í­¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¤Ê¤ë¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸Ê¸¤ËÍ­¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£ +.RE +¥ê¥ó¥¯¤Î½èÍý.PP +½èÍý¤Î¼Â¹ÔÃæ¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î¼Â¹Ô¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤Î̾Á°¤ËÂФ·¤Æ¡¢Áê¸ß»²¾È¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¼¡¤Î¾ì½ê¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£@¥¿¥°¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢javadoc¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Àë¸À(Ìá¤êÃͤη¿¡¢°ú¿ô¤Î·¿¡¢¥Õ¥£¡¼¥ë¥É¤Î·¿)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI@see\fR¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿¡Ö\fI´ØÏ¢¹àÌÜ\fR¡×¥»¥¯¥·¥ç¥ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI{@link}\fR¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿¥¤¥ó¥é¥¤¥ó¡¦¥Æ¥­¥¹¥È¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI@throws\fR¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿Îã³°¤Î̾Á°¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¡Ö\fIÄêµÁ\fR¡×¥ê¥ó¥¯¤È¡¢¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¡Ö\fI¥ª¡¼¥Ð¡¼¥é¥¤¥É\fR¡×¥ê¥ó¥¯¡£¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î·Ñ¾µ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤ò¥ê¥¹¥È¤·¤Æ¤¤¤ë¥µ¥Þ¥ê¡¼É½¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Î·Ñ¾µ¥Ä¥ê¡¼¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +º÷°ú¡£ +.RE +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¤Î´û¸¤Î¥Æ¥­¥¹¥È(Ê̤ËÀ¸À®¤·¤¿¥Æ¥­¥¹¥È)¤ËÂФ·¤Æ¥ê¥ó¥¯¤òÄɲ乤ë¤Ë¤Ï¡¢\fI\-link\fR¤ª¤è¤Ó\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤òÍøÍѤǤ­¤Þ¤¹¡£ +½èÍý¤Î¾ÜºÙ.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë1¤Ä¤Î´°Á´¤Ê¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£Á°¤Î¼Â¹Ô¤Î·ë²Ì¤òÊѹ¹¤Þ¤¿¤ÏľÀܼè¤ê¹þ¤à¡¢Áýʬ¥Ó¥ë¥É¤ò¹Ô¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Â¾¤Î¼Â¹Ô¤Î·ë²Ì¤Ë¥ê¥ó¥¯¤Ç¤­¤Þ¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼ÂÁõ¤Ë¤ÏJava¥³¥ó¥Ñ¥¤¥é¤¬É¬Íפǡ¢Java¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï\fIjavac\fR¥³¥Þ¥ó¥É¤Î°ìÉô¤ò¸Æ¤Ó½Ð¤·¡¢Àë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¡¢¥á¥ó¥Ð¡¼¤Î¼ÂÁõ¤ò̵»ë¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¯¥é¥¹³¬Áؤò´Þ¤à¥¯¥é¥¹¤ÎË­ÉÙ¤ÊÆâÉôɽ¸½¤È¥¯¥é¥¹¤Î¡Ö»ÈÍѡ״ط¸¤ò¹½ÃÛ¤·¡¢HTML¤òÀ¸À®¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢J\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤«¤é¡¢¥æ¡¼¥¶¡¼¤ÎÄ󶡤·¤¿¥É¥­¥å¥á¥ó¥È¤â¼èÆÀ¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥á¥½¥Ã¥ÉËÜÂΤò»ý¤¿¤Ê¤¤½ã¿è¤Ê¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢API¤Î¼ÂÁõÁ°¤ÎÀ߷פÎÁᤤÃʳ¬¤Ç¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤·¤Æ\fIjavadoc\fR¥³¥á¥ó¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.PP +¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢HTML½ÐÎϤϡ¢¼ÂºÝ¤Î¼ÂÁõ¤ËÀµ³Î¤ËÂбþ¤·¤Þ¤¹¡£¼ÂºÝ¤Î¼ÂÁõ¤Ï¡¢ÌÀ¼¨Åª¤Ê¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë¤Ç¤Ï¤Ê¤¯¡¢°ÅÌۤΥ½¡¼¥¹¡¦¥³¡¼¥É¤Ë°Í¸¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥ó¥Ñ¥¤¥ëºÑ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ï¸ºß¤¹¤ë¤¬¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë¤Ï¸ºß¤·¤Ê¤¤¥Ç¥Õ¥©¥ë¥È¡¦¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¥É¥­¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£ +.PP +¿¤¯¤Î¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥³¡¼¥É¤¬ÉÔ´°Á´¤Þ¤¿¤Ï¥¨¥é¡¼¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ç¤â¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¤ä¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ò´°Î»¤¹¤ëÁ°¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î´ðËÜŪ¤Ê¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥É¥­¥å¥á¥ó¥È¤ÎÆâÉô¹½Â¤¤ò¹½ÃÛ¤¹¤ëºÝ¡¢»²¾È¥¯¥é¥¹¤ò¤¹¤Ù¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¢³ÈÄ¥µ¡Ç½¡¢¤Þ¤¿¤Ï¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î»²¾È¥¯¥é¥¹¤ò¸¡º÷¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¤Î¸¡½ÐÊýË¡ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +Ä̾ºîÀ®¤¹¤ë¥¯¥é¥¹¤Ï¡¢³ÈÄ¥¥¯¥é¥¹¤È¤·¤Æ¡¢¤Þ¤¿¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥¯¥é¥¹¡¦¥Ñ¥¹¤Ç¥í¡¼¥É¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.SS "Javadoc¤Î¥É¥Ã¥¯¥ì¥Ã¥È" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÁȹþ¤ß¥É¥Ã¥¯¥ì¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢HTML·Á¼°¤ÎAPI¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò½¤Àµ¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹¤òºîÀ®¤¹¤ë¤³¤È¤ä¡¢HTML¡¢XML¡¢MIF¡¢RTF¤Ê¤É¤Î¹¥¤ß¤Î½ÐÎÏ·Á¼°¤òÀ¸À®¤¹¤ëÆÈ¼«¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤òµ­½Ò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ +.PP +\fI\-doclet\fR¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¡¦¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢»ÈÍѤµ¤ì¤Æ¤¤¤ë¥É¥Ã¥¯¥ì¥Ã¥È¤Ë´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤ë¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¾¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬Äɲ䵤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥¿¥¤¥×¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¤½¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥¯¥é¥¹¤ÎJava¸À¸ì¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë(\fI\&.java\fR)¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¡¢³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¤½¤Î¾¤Î̤½èÍý¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤³¤³¤Ç¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤·¤Ê¤¤¤¬¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Ë¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ë¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ä¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÀâÌÀ¤·¤Þ¤¹¡£ +.SS "¥¯¥é¥¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë" +.PP +¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤ª¤è¤Ó¤½¤Î¥á¥ó¥Ð¡¼¤Ï¡¢ÆÈ¼«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ò¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤ËÊÝ»ý¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë" +.PP +¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢ÆÈ¼«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤òÀìÍѤΥ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤·¤Þ¤¹¡£¤½¤ÎÆâÍÆ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥µ¥Þ¥ê¡¼¡¦¥Ú¡¼¥¸¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢Ä̾¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÅö¤Æ¤Ï¤Þ¤ë¥É¥­¥å¥á¥ó¥È¤òµ­½Ò¤·¤Þ¤¹¡£ +.PP +¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤¤¤º¤ì¤«¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackage\-info\&.java\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¡¢¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¢¤ª¤è¤ÓJavadoc¥¿¥°¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackage\&.html\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ÈJavadoc¥¿¥°¤Î¤ß¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¤Ï³ÊǼ¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢\fIpackage\&.html\fR¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï\fIpackage\-info\&.java\fR¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤ò1¤Ä»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ÎξÊý¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼Æâ¤Î¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Æ¤¯¤À¤µ¤¤¡£ +package\-info\&.java¥Õ¥¡¥¤¥ë.PP +\fIpackage\-info\&.java\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ÎÁ°¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë\fI/**\fR¤ª¤è¤Ó\fI*/\fR¤¬Â¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢Ãæ´Ö¤Î¹Ô¤ÎÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¾Êά²Äǽ¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl * Provides the classes necessary to create an -.fl * applet and the classes an applet uses -.fl - * to communicate with its applet context. -.fl + * to communicate with its applet context\&. *

      -.fl * The applet framework involves two entities: -.fl - * the applet and the applet context. -.fl + * the applet and the applet context\&. * An applet is an embeddable window (see the -.fl - * {@link java.awt.Panel} class) with a few extra -.fl + * {@link java\&.awt\&.Panel} class) with a few extra * methods that the applet context can use to -.fl - * initialize, start, and stop the applet. -.fl + * initialize, start, and stop the applet\&. * -.fl - * @since 1.0 -.fl - * @see java.awt -.fl + * @since 1\&.0 + * @see java\&.awt */ -.fl -package java.lang.applet; -.fl -\fP +package java\&.lang\&.applet; .fi -.LP -¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Î \f2/**\fP ¤È \f2/*\fP ¤Ï¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢Ãæ´Ö¹Ô¤Î¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¾Êά¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ -.LP -\f4package.html\fP \- ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï \f2\fP Í×ÁÇÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£ -.LP -File: \f2java/applet/package.html\fP +.if n \{\ +.RE +.\} +package\&.html¥Õ¥¡¥¤¥ë.PP +\fIpackage\&.html\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï¡¢\fI\fRÍ×ÁǤËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ +.PP +¥Õ¥¡¥¤¥ë: +\fIjava/applet/package\&.html\fR +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - Provides the classes necessary to create an applet and the classes an applet uses to communicate with its applet context.

      -.fl + + +Provides the classes necessary to create an applet and the +classes an applet uses to communicate with its applet context\&. +

      The applet framework involves two entities: the applet -.fl -and the applet context. An applet is an embeddable window (see the {@link java.awt.Panel} class) with a few extra methods that the applet context can use to initialize, start, and stop the applet.@since 1.0 @see java.awt -.fl -\fP +and the applet context\&. An applet is an embeddable +window (see the {@link java\&.awt\&.Panel} class) with a +few extra methods that the applet context can use to +initialize, start, and stop the applet\&. + +@since 1\&.0 +@see java\&.awt + + .fi -.LP -¤³¤ì¤Ïñ¤Ê¤ëÄ̾ï¤Î HTML ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤ÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¡¢¤Û¤«¤Î¤¹¤Ù¤Æ¤Î¥³¥á¥ó¥È¤ÈƱÍÍ¤Ë HTML ¤Çµ­½Ò¤·¤Þ¤¹¤¬¡¢1 ¤Ä¤À¤±Îã³°¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¤Ï¡¢¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú ¤Ç¤¢¤ë \f2/**\fP ¤È \f2*/\fP ¡¢¤ª¤è¤Ó¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò´Þ¤á¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¥³¥á¥ó¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍפȤ·¡¢ \f2\fP ¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤ä¤½¤Î¾¤Î¥Æ¥­¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤¬¡¢¤Û¤«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÈƱÍÍ¡¢¤¹¤Ù¤Æ¤Î¥Ö¥í¥Ã¥¯¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¤¢¤È¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ \f2@see\fP ¥¿¥°¤ò¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ËÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢´°Á´½¤¾þ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2package.html\fP¤ÎÎã @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#packagecomments¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Î½èÍý\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢¼Â¹Ô»þ¤Ë¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ò¼«Æ°Åª¤Ë¸¡º÷¤·¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤È¼¡¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -½èÍý¤Ç¤­¤ë¤è¤¦¤Ë¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤¹¤ë( \f2package.html\fP ¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢ \f2\fP ¤È \f2\fP HTML ¥¿¥°¤Î´Ö¤Ë¤¢¤ëÆâÍÆ¤ò¤¹¤Ù¤Æ¥³¥Ô¡¼¤¹¤ë¡£ \f2\fP ¥»¥¯¥·¥ç¥ó¤ò´Þ¤á¡¢¤½¤³¤Ë \f2\fP ¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÃøºî¸¢µ­½Ò¤Ê¤É¤Î¾ðÊó¤òÇÛÃÖ¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤¬¡¢À¸À®¸å¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¤Ï¤½¤ì¤é¤Ï°ìÀÚɽ¼¨¤µ¤ì¤Ê¤¤) -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤¬¤¢¤ì¤Ð¡¢¤¹¤Ù¤Æ½èÍý¤¹¤ë -.TP 2 -o -À¸À®¤·¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×¥Ú¡¼¥¸¤ÎºÇ¸å¤Ë¡¢½èÍý¤·¤¿¥Æ¥­¥¹¥È¤òÁÞÆþ¤¹¤ë (Îã: -.na -\f2¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html) -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤¹¤ë¡£¤µ¤é¤Ë¡¢³µÍ×¥Ú¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤òÄɲ乤ë (Îã: -.na -\f2³µÍפÎÍ×Ìó\fP @ -.fi -http://java.sun.com/javase/6/docs/api/overview\-summary.html)¡£Ê¸¤ÎËöÈø¤Ï¡¢¥¯¥é¥¹¤ä¥á¥ó¥Ð¡¼¤Î¼çÀâÌÀ¤ÎºÇ½é¤Îʸ¤ÎËöÈø¤ÈƱ¤¸µ¬Â§¤Ë¤è¤Ã¤ÆÈ½ÃǤµ¤ì¤ë +.if n \{\ .RE -.SS -³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë -.LP -¥É¥­¥å¥á¥ó¥È²½¤¹¤ë³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È¤Ï¡¢ÆÈ¼«¤Î³µÍץɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ÏÀìÍѤΡ֥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£¤½¤ÎÆâÍÆ¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³µÍ×¥Ú¡¼¥¸¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢Ä̾¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥ÈÁ´ÂΤËÅö¤Æ¤Ï¤Þ¤ë¥É¥­¥å¥á¥ó¥È¤òµ­½Ò¤·¤Þ¤¹¡£ -.LP -³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤ËǤ°Õ¤Î̾Á° (Ä̾ï¤Ï \f4overview.html\fP) ¤òÉÕ¤±¡¢¤½¤ì¤òǤ°Õ¤Î¾ì½ê (Ä̾ï¤Ï¥½¡¼¥¹¥Ä¥ê¡¼¤ÎºÇ¾å°Ì) ¤ËÇÛÃ֤Ǥ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2java.applet\fP ¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ \f2/home/user/src/java/applet\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Ï \f2/home/user/src/overview.html ¤ËºîÀ®¤Ç¤­¤Þ¤¹\fP¡£ -.LP -°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤ËÂФ·¤Æ javadoc ¤òÊ£¿ô²ó¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢Æ±¤¸ 1 ¤Ä¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ËÂФ·¤ÆÊ£¿ô¤Î³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÆâÉô¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÍÑ¤Ë \-private ¤ò»ØÄꤷ¤Æ javadoc ¤ò 1 ²ó¼Â¹Ô¤·¤¿¤¢¤È¡¢¸ø³«¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÍѤˤ½¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤ÇºÆÅټ¹Ԥ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢³Æ³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Î 1 ʸÌܤǡ¢¤½¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò¸ø³«ÍѤޤ¿¤ÏÆâÉôÍѤȤ·¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£ -.LP -³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¡¢Á°½Ò¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÈƱÍÍ¡¢HTML ¤Çµ­½Ò¤µ¤ì¤¿ 1 ¤Ä¤ÎÂ礭¤Ê¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢Á°½Ò¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Í×ÅÀ¤ò·«¤êÊÖ¤¹¤È¡¢¤³¤Î¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È¤ÎÍ×Ìó¤È¤·¡¢ \f2<body>\fP ¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤½¤Î¾¤Î¥Æ¥­¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£³µÍ×¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Û¤«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÈƱ¤¸¤¯¡¢ \f2{@link}\fP ¤Ê¤É¤Î¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¤¢¤È¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \f2@see\fP ¥¿¥°¤òÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢´°Á´½¤¾þ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Î¼Â¹Ô»þ¤Ë¡¢\-overview ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2<body>\fP ¤È \f2</body>\fP ¥¿¥°¤Î´Ö¤Ë¤¢¤ë¤¹¤Ù¤Æ¤ÎÆâÍÆ¤ò½èÍýÂоݤȤ·¤Æ¥³¥Ô¡¼¤¹¤ë -.TP 2 -o -³µÍ×¥¿¥°¤¬¤¢¤ì¤Ð¡¢¤¹¤Ù¤Æ½èÍý¤¹¤ë -.TP 2 -o -À¸À®¤·¤¿³µÍ×¥Ú¡¼¥¸¤ÎºÇ¸å¤Ë¡¢½èÍý¤·¤¿¥Æ¥­¥¹¥È¤òÁÞÆþ¤¹¤ë (Îã: -.na -\f2³µÍפÎÍ×Ìó\fP @ -.fi -http://java.sun.com/javase/6/docs/api/overview\-summary.html) -.TP 2 -o -³µÍ×¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢³µÍ×¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤¹¤ë +.\} +.PP +\fIpackage\&.html\fR¥Õ¥¡¥¤¥ë¤ÏÄ̾ï¤ÎHTML¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ÏHTML¤Çµ­½Ò¤·¤Þ¤¹¤¬¡¢Îã³°¤¬1¤Ä¤¢¤ê¤Þ¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤Ï¡¢¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë\fI/**\fR¤È\fI*/\fR¡¢¤Þ¤¿¤Ï¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò´Þ¤á¤Ê¤¤¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¥³¥á¥ó¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥Ñ¥Ã¥±¡¼¥¸¤Î¥µ¥Þ¥ê¡¼¤È¤·¡¢\fI<body>\fR¥¿¥°¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤ä¤½¤Î¾¤Î¥Æ¥­¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¸å¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI@see\fR¥¿¥°¤ò¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ËÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢´°Á´½¤¾þ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý.PP +\fIjavadoc\fR¥³¥á¥ó¥È¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¼¡¤Î¼ê½ç¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½èÍý¤Ç¤­¤ë¤è¤¦¤Ë¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£package\&.html¤Î¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI<body>\fR¤È\fI</body>\fR +HTML¥¿¥°´Ö¤Î¤¹¤Ù¤Æ¤ÎÆâÍÆ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£\fI<head>\fR¥»¥¯¥·¥ç¥ó¤ò´Þ¤á¡¢¤½¤³¤Ë\fI<title>\fR¥¿¥°¤ä¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎÃøºî¸¢µ­½Ò¤Ê¤É¤Î¾ðÊó¤òÇÛÃÖ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢À¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¤½¤ì¤é¤Ï°ìÀÚɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£ .RE -.SS -¤½¤Î¾¤Î̤½èÍý¤Î¥Õ¥¡¥¤¥ë -.LP -¥½¡¼¥¹¤Ë¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡¢¤½¤Î¾¤ÎǤ°Õ¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥°¥é¥Õ¥£¥Ã¥¯¥Õ¥¡¥¤¥ë¡¢¥µ¥ó¥×¥ë¤Î Java ¥½¡¼¥¹ (.java) ¤ª¤è¤Ó¥¯¥é¥¹ (.class) ¥Õ¥¡¥¤¥ë¡¢ÆâÍÆ¤¬Ä̾ï¤Î Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤ÆÈΩ¤·¤¿ HTML ¥Õ¥¡¥¤¥ë¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤Ë¤Ï¡¢\f4doc\-files\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤·¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤¿Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤ÄÍѰդǤ­¤Þ¤¹¡£¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢.class ¥Õ¥¡¥¤¥ë¡¢¥¢¥×¥ì¥Ã¥È¡¢¤ª¤è¤Ó HTML ¥Õ¥¡¥¤¥ë¤ò¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ü¥¿¥ó¤Î²èÁü \f2button.gif\fP ¤ò \f2java.awt.Button\fP ¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò \f2/home/user/src/java/awt/doc\-files/\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤Ê¤ª¡¢ \f2doc\-files\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ò \f2/home/user/src/java/doc\-files\fP ¤ËÇÛÃÖ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é¡¢ \f2java\fP ¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢java ¤ËľÀÜ´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï 1 ¤Ä¤â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -¤³¤ì¤é¤Î̤½èÍý¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¤¹¤Ù¤ÆÌÀ¼¨Åª¤Ëµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤¬¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤º¤Ë¡¢Ã±¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤ÎÆâÍÆ¤òÀ¸À®Àè¤Ë¥³¥Ô¡¼¤¹¤ë¤À¤±¤À¤«¤é¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Button.java\fP ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Î¥ê¥ó¥¯¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤ò½èÍý¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½èÍý¤·¤¿¥Æ¥­¥¹¥È¤òÀ¸À®¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î¥µ¥Þ¥ê¡¼¡¦¥Ú¡¼¥¸¤Î²¼Éô¤ËÁÞÆþ¤·¤Þ¤¹¡£Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¢Standard Edition API»ÅÍͤγµÍ× +(http://docs\&.oracle\&.com/javase/8/docs/api/overview\-summary\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤Î¥µ¥Þ¥ê¡¼¡¦¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢³µÍ×¥Ú¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤òÄɲä·¤Þ¤¹¡£Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¢Standard Edition API»ÅÍͤγµÍ× +(http://docs\&.oracle\&.com/javase/8/docs/api/overview\-summary\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +ʸ¤Î½ª¤ï¤ê¤Ï¡¢¥¯¥é¥¹¤ä¥á¥ó¥Ð¡¼¤Î¼çÀâÌÀ¤ÎºÇ½é¤Îʸ¤Î½ª¤ï¤ê¤ÈƱ¤¸¥ë¡¼¥ë¤Ë¤è¤Ã¤ÆÈ½ÃǤµ¤ì¤Þ¤¹¡£ +.RE +.SS "³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë" +.PP +¥É¥­¥å¥á¥ó¥È²½¤¹¤ë³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥È¤Ï¡¢ÆÈ¼«¤Î³µÍץɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ÏÀìÍѤΥ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£¤½¤ÎÆâÍÆ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³µÍ×¥Ú¡¼¥¸¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢Ä̾¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥ÈÁ´ÂΤËÅö¤Æ¤Ï¤Þ¤ë¥É¥­¥å¥á¥ó¥È¤òµ­½Ò¤·¤Þ¤¹¡£ +.PP +¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ïoverview\&.html¤Ê¤É¤Î̾Á°¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¡¢¤É¤³¤ËÇÛÃÖ¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£°ìÈÌŪ¤Ê¾ì½ê¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤ÎºÇ¾åÉô¤Ç¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢\fIjava\&.applet\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬/home/user/src/java/applet¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤Ï/home/user/src/overview\&.html¤ËºîÀ®¤Ç¤­¤Þ¤¹¡£ +.PP +°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤ËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤òÊ£¿ô²ó¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢Æ±¤¸1¤Ä¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ËÂФ·¤ÆÊ£¿ô¤Î³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÆâÉô¥É¥­¥å¥á¥ó¥ÈÍѤË\fI\-private\fR¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò1²ó¼Â¹Ô¤·¤¿¸å¡¢¸ø³«¥É¥­¥å¥á¥ó¥ÈÍѤˤ½¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤ÇºÆÅټ¹Ԥ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢³Æ³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤Î1ʸÌܤǡ¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤ò¸ø³«ÍѤޤ¿¤ÏÆâÉôÍѤȤ·¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£ +.PP +³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¡¢HTML¤Çµ­½Ò¤µ¤ì¤¿1¤Ä¤ÎÂ礭¤Ê¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤¹¡£ºÇ½é¤Îʸ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤Î¥µ¥Þ¥ê¡¼¤È¤·¤Þ¤¹¡£\fI<body>\fR¥¿¥°¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤ä¤½¤Î¾¤Î¥Æ¥­¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£{\fI@link}\fR¤Ê¤É¤Î¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¸å¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI@see\fR¥¿¥°¤òÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢´°Á´½¤¾þ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë¡¢\fI\-overview\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¼¡¤Î¼ê½ç¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI<body>\fR¤È\fI</body>\fR¥¿¥°¤Î´Ö¤Ë¤¢¤ëÆâÍÆ¤ò¤¹¤Ù¤Æ½èÍýÂоݤȤ·¤Æ¥³¥Ô¡¼¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³µÍ×¥¿¥°¤¬¤¢¤ì¤Ð½èÍý¤·¤Þ¤¹¡£³µÍ×¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½èÍý¤·¤¿¥Æ¥­¥¹¥È¤òÀ¸À®¤µ¤ì¤¿³µÍ×¥Ú¡¼¥¸¤Î²¼Éô¤ËÁÞÆþ¤·¤Þ¤¹¡£Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥àStandard Edition API»ÅÍͤγµÍ× +(http://docs\&.oracle\&.com/javase/8/docs/api/overview\-summary\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³µÍ×¥µ¥Þ¥ê¡¼¡¦¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢³µÍ×¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ +.RE +.SS "̤½èÍý¤Î¥Õ¥¡¥¤¥ë" +.PP +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ°¸Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢Ä̾¥°¥é¥Õ¥£¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¡¢¥µ¥ó¥×¥ë¤ÎJava¥½¡¼¥¹¤ª¤è¤Ó¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢°ìÈÌŪ¤ÊJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤Â¿¤¯¤ÎÆâÍÆ¤ò´Þ¤àÆÈΩ¤·¤¿HTML¥Õ¥¡¥¤¥ë¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +̤½èÍý¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤Ë¤Ï¡¢doc\-files¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤·¤Þ¤¹¡£doc\-files¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤àǤ°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£doc\-files¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤ÄÍѰդǤ­¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¥Ü¥¿¥ó¤Î¥¤¥á¡¼¥¸¤ò\fIjava\&.awt\&.Button\fR¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤Ë´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¤¥á¡¼¥¸¡¦¥Õ¥¡¥¤¥ë¤ò/home/user/src/java/awt/doc\-files/¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤­¤Þ¤¹¡£doc\-files¥Ç¥£¥ì¥¯¥È¥ê¤ò/home/user/src/java/doc\-files¤ËÃÖ¤«¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£java¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤³¤È¤â¤Ç¤­¤Þ¤»¤ó¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Ê¤¤¤Î¤Ç¡¢Ì¤½èÍý¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¤¹¤Ù¤Æ¤Î¥ê¥ó¥¯¤Ï¡¢¥³¡¼¥É¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤Î¤¹¤Ù¤Æ¤ÎÆâÍÆ¤ò°¸Àè¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢Button\&.java¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¥ê¥ó¥¯¤¬¤É¤Î¤è¤¦¤Ë¸«¤¨¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * This button looks like this: -.fl - * <img src="doc\-files/Button.gif"> -.fl - */ -.fl -\fP +/** + * This button looks like this: + * <img src="doc\-files/Button\&.gif"> + */ .fi -.SS -¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë -.LP -°ìÉô¤Î³«È¯¼Ô¤«¤é¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤òÂбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¶á¤¯¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤ËÊݸ¤·¤¿¤¤¤È¤¤¤¦Í×˾¤¬¤¢¤ê¤Þ¤·¤¿¡£¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤¿¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ -.LP -¸ÄÊ̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÇÌÀ¼¨Åª¤ËÅϤ·¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò°Õ¿ÞŪ¤Ë½ü³°¤·¤Æ¡¢½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥ï¥¤¥ë¥É¥«¡¼¥É¤ÇÅϤ¹¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥ë¡¼¥ë¤Ë½¾¤Ã¤Æ¡¢¤³¤ì¤é¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤¬½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤È¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤Ï¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢ÀµÅö¤Ç¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤Î¤ËÂФ·¤Æ¡¢¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤¦¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¤¿¤À¤·¡¢¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤â¡Ö.java¡×¤Ç½ª¤ï¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -\f3¥Æ¥¹¥È¥Õ¥¡¥¤¥ë\fP \- ³«È¯¼Ô¤Î¿¤¯¤Ï¡¢¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ç¼Â¹Ô²Äǽ¤Ê¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ò¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢Ì¾Á°¤Ê¤·¥Ñ¥Ã¥±¡¼¥¸¤Ê¤É¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¥Ñ¥Ã¥±¡¼¥¸¤È¤ÏÊ̤Υѥ屡¼¥¸¤Ë°¤µ¤»¤¿¤¤¤È¤â¹Í¤¨¤Æ¤¤¤Þ¤¹ (¤½¤Î¤¿¤á¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¤Ï package ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¤Ê¤¤¤«¡¢¤Þ¤¿¤Ï¥½¡¼¥¹¤È¤ÏÊ̤Πpackage ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¤¢¤ë)¡£¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ¤½¤Î¥½¡¼¥¹¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï·Ù¹ð¤Þ¤¿¤Ï¥¨¥é¡¼¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£¤½¤Î¤è¤¦¤Ê¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2com.package1\fP Æâ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤òÄɲ乤ë¾ì¹ç¤Ï¼¡¤Î¤è¤¦¤Ë¡¢¥Ï¥¤¥Õ¥ó¤ò´Þ¤ó¤Ç¤¤¤ë¤¿¤á¤Ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¤·¤Æ¤Ï̵¸ú¤Ç¤¢¤ë¤è¤¦¤Ê¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¡¢¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.SS "¥Æ¥¹¥È¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë" +.PP +¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î¥Æ¥¹¥È¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤ò¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤Ç¤­¤Þ¤¹¡£¥Æ¥¹¥È¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤¬½èÍý¤µ¤ì¤ë¤Î¤òËɤ°¤Ë¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢ÌÀ¼¨Åª¤Ë¸ÄÊ̤Υ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤òÅϤ·¤Þ¤¹¡£ +.PP +¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢Í­¸ú¤Ê¡¢¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢Í­¸ú¤Ê¡¢¸ß´¹À­¤Î¤¢¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Â¿¤¯¤Î¾ì¹ç¡¢\fI\&.java\fRÀÜÈø¼­¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ +¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë.PP +¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ò¡¢Ì¾Á°¤Ê¤·¥Ñ¥Ã¥±¡¼¥¸¤ä¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤È¤ÏÊ̤Υѥ屡¼¥¸¤Ë°¤¹¤ë¤è¤¦¤Ë¤¹¤ë¾ì¹ç¡¢¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ò¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î²¼¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë̵¸ú¤Ê̾Á°¤òÉÕ¤±¤Þ¤¹¡£¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ò¥½¡¼¥¹¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¼¨¤¹¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ï·Ù¹ð¤Þ¤¿¤Ï¥¨¥é¡¼¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬Ìµ¸ú¤Ê̾Á°¤ò»ý¤Ä¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥¹¥­¥Ã¥×¤µ¤ì¡¢¥¨¥é¡¼¤Þ¤¿¤Ï·Ù¹ð¤Ïȯ¹Ô¤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤òcom\&.package1¤ËÄɲ乤ë¤Ë¤Ï¡¢Ìµ¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£¼¡¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤Ë¤Ï¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤¿¤á̵¸ú¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - com/package1/test\-files/ -.fl -\fP +com/package1/test\-files/ .fi -.LP -¤³¤¦¤¹¤ë¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ç¤Ï·Ù¹ð¤Ê¤·¤Ç test ¥Ç¥£¥ì¥¯¥È¥ê¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹¡£ -.LP -¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ë doc ¥³¥á¥ó¥È¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤ó¤À¥Æ¥¹¥È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÇÅϤ·¤Æ¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¡¢Javadoc ¥Ä¡¼¥ë¤òÊ̸Ĥ˼¹ԤǤ­¤ë¤è¤¦¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2com/package1/test\-files/*.java ¤Ê¤É¤Ç¤¹\fP¡£ -.LP -\f3¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Æ¥ó¥×¥ì¡¼¥È\fP \- ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡Ö.java¡×¤Ç½ª¤ï¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¤¬¡¢¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó¡£¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÊÝ»ý¤·¤¿¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Æ¥ó¥×¥ì¡¼¥È¤¬¤¢¤ë¾ì¹ç¤Ï¡¢ \f2Buffer\-Template.java\fP ¤Î¤è¤¦¤Ë¥Ï¥¤¥Õ¥ó¤ä¤½¤Î¾¤Î̵¸ú¤Ê Java ʸ»ú¤ò̾Á°¤Ë´Þ¤á¤ë¤³¤È¤Ç¡¢¥Æ¥ó¥×¥ì¡¼¥È¤¬½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤¬½èÍý¤¹¤ë¤Î¤Ï¡¢¡Ö.java¡×ÀÜÈø¼­¤ò½ü¤¤¤¿Ì¾Á°¤¬ Àµµ¬¤Î¥¯¥é¥¹Ì¾¤Ç¤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¢¤ë¤¿¤á¤Ç¤¹ (Java ¸À¸ì»ÅÍͤΡÖIdentifiers¡×¤Ë´Ø¤¹¤ë¾ðÊó¤ò»²¾È)¡£ +.if n \{\ +.RE +.\} +.PP +¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¸ÄÊ̤μ¹Ԥǡ¢¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤ó¤À¥Æ¥¹¥È¡¦¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾(\fIcom/package1/test\-files/*\&.java\fR¤Ê¤É)¤òÅϤ·¤Æ¡¢¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤è¤¦¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£ +¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë.PP +¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤ò¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤¹¤ë¤¬¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¥¨¥é¡¼¤òÀ¸À®¤·¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ë\fIBuffer\-Template\&.java\fR¤Ê¤É¤Î̵¸ú¤Ê̾Á°¤òÉÕ¤±¤Æ¡¢½èÍý¤µ¤»¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢ÀÜÈø¼­¤Î\fI\&.java\fR¤¬ºï½ü¤µ¤ì¤ë¤ÈÍ­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ë¤Ê¤ë̾Á°¤ò»ý¤Ä¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤ß¤ò½èÍý¤·¤Þ¤¹¡£ .SH "À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë" -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢javadoc ¥Ä¡¼¥ë¤Ï¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤¤¤Þ¤¹¡£¤³¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢°Ê²¼¤Î¼ïÎà¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î HTML ¥Ú¡¼¥¸¤Ï¡¢¸Ä¡¹¤Î¥Õ¥¡¥¤¥ë¤ËÁêÅö¤·¤Þ¤¹¡£javadoc ¤¬À¸À®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤Ï¡¢¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î̾Á°¤Ë¤Á¤Ê¤ó¤À¤â¤Î¤È¡¢¤½¤¦¤Ç¤Ê¤¤¤â¤Î ( \f2package\-summary.html ¤Ê¤É\fP) ¤Î 2 ¼ïÎब¤¢¤ê¤Þ¤¹¡£¸å¼Ô¤Î¥°¥ë¡¼¥×¤Î¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¡¢Á°¼Ô¤Î¥°¥ë¡¼¥×¤È¥Õ¥¡¥¤¥ë̾¤¬¶¥¹ç¤·¤Ê¤¤¤è¤¦¤Ë¡¢¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -\f3´ðËÜÆâÍÆ¥Ú¡¼¥¸\fP -.RS 3 -.TP 2 -o -¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤´¤È¤Ë 1 ¤Ä¤Î\f3¥¯¥é¥¹¥Ú¡¼¥¸¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Ú¡¼¥¸\fP (\f2¥¯¥é¥¹Ì¾\fP\f2.html\fP) -.TP 2 -o -¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î\f3¥Ñ¥Ã¥±¡¼¥¸¥Ú¡¼¥¸\fP (\f2package\-summary.html\fP)¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2package.html\fP ¤Þ¤¿¤Ï \f2package\-info.java\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ëÆâ¤Î HTML ¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤ÆÁÈ¤ßÆþ¤ì¤Þ¤¹¡£ -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ 1 ¤Ä¤Î\f3³µÍ×¥Ú¡¼¥¸\fP (\f2overview\-summary.html\fP)¡£¤³¤ì¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤ÎÀèÆ¬¥Ú¡¼¥¸¤Ë¤Ê¤ê¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢\f2\-overview\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤Î HTML ¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤ÆÁÈ¤ßÆþ¤ì¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢javadoc ¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Ë¤À¤±ºîÀ®¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡ÖHTML ¥Õ¥ì¡¼¥à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢HTML·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¤³¤³¤ÇÀâÌÀ¤¹¤ë¡¢´ðËÜÆâÍÆ¥Ú¡¼¥¸¡¢Áê¸ß»²¾È¥Ú¡¼¥¸¡¢¥µ¥Ý¡¼¥È¡¦¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£³ÆHTML¥Ú¡¼¥¸¤Ï¸ÄÊ̤Υե¡¥¤¥ë¤ËÂбþ¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢2¤Ä¤Î¥¿¥¤¥×¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ºÇ½é¤Î¥¿¥¤¥×¤Ë¤Ï¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë±þ¤¸¤¿Ì¾Á°¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£2ÈÖÌܤΥ¿¥¤¥×¤Ë¤Ï¡¢ºÇ½é¤Î¥¿¥¤¥×¤Î¥Õ¥¡¥¤¥ë¤È¤Î¶¥¹ç¤òËɤ°¤¿¤á¤Ë¡¢¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤Þ¤¹(package\-summary\&.html¤Ê¤É)¡£ +.SS "´ðËÜÆâÍÆ¥Ú¡¼¥¸" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +µ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤´¤È¤Ë1¤Ä¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥Ú¡¼¥¸(classname\&.html)¡£ .RE -.LP -\f3Áê¸ß»²¾È¥Ú¡¼¥¸\fP -.RS 3 -.TP 2 -o -\f3¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ 1 ¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸\fP (\f2overview\-tree.html\fP)¡£¤³¤Î¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [³µÍ×] ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤«¤é¡¢[³¬Áإĥ꡼] ¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸\fP (\f2package\-tree.html\fP)¡£¤³¤ì¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸¤Ë°Üư¤·¡¢[³¬Áإĥ꡼] ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î³¬Áؤòɽ¼¨¤µ¤»¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î [»ÈÍÑ] ¥Ú¡¼¥¸\fP (\f2package\-use.html\fP) ¤È¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤´¤È¤Ë 1 ¤Ä¤º¤Ä¤Î [»ÈÍÑ] ¥Ú¡¼¥¸ (\f2class\-use/\fP\f2¥¯¥é¥¹Ì¾\fP\f2.html\fP)¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢ÆÃÄê¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤ò»È¤Ã¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æµ­½Ò¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹ A ¤òÎã¤Ë¤·¤Æ¹Í¤¨¤ë¤È¡¢¤½¤Î [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë¤Ï¡¢A ¤Î¥µ¥Ö¥¯¥é¥¹¡¢A ¤È¤·¤ÆÀë¸À¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¡¢A ¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢A ·¿¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ¤³¤Î¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸¤Ë°Üư¤·¤Æ¤«¤é¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [»ÈÍÑ] ¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ -.TP 2 -o -\f3Èó¿ä¾© API ¥Ú¡¼¥¸\fP (\f2deprecated\-list.html\fP)¡£¿ä¾©¤µ¤ì¤Ê¤¤Ì¾Á°¤¬¤¹¤Ù¤Æ°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£Èó¿ä¾©Ì¾¤Ï¡¢°ìÈ̤˲þÎɤµ¤ì¤¿ API ¤¬Â¸ºß¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¬¿ä¾©¤µ¤ì¤Æ¤¤¤Ê¤¤ API ¤Î̾Á°¤Ç¤¢¤ê¡¢Ä̾¤½¤ì¤ËÃÖ¤­´¹¤ï¤ë̾Á°¤¬Ä󼨤µ¤ì¤Æ¤¤¤Þ¤¹¡£Èó¿ä¾© API ¤Ï¡¢¾­Íè¤Î¼ÂÁõ¤Ç¤Ïºï½ü¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 2 -o -\f3Äê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ¥Ú¡¼¥¸\fP (\f2constant\-values.html\fP)¡£static ¥Õ¥£¡¼¥ë¥É¤ÎÃÍÍѤǤ¹¡£ -.TP 2 -o -\f3ľÎ󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸\fP (\f2serialized\-form.html\fP)¡£Ä¾Îó²½²Äǽ¤«¤Ä³°Éô²½²Äǽ¤Ê¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊóÍѤǤ¹¡£¤³¤ì¤é¤Î³Æ¥¯¥é¥¹¤Ë¤Ï¡¢Ä¾Îó²½¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ë´Ø¤¹¤ëÀâÌÀ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¾ðÊó¤Ï¡¢API ¤ò»È¤¦³«È¯¼Ô¤Ç¤Ï¤Ê¤¯¡¢ºÆ¼ÂÁõ¤ò¹Ô¤¦³«È¯¼Ô¤ËɬÍפʾðÊó¤Ç¤¹¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Ë¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Ä¾Î󲽤µ¤ì¤¿¥¯¥é¥¹¤Ë°Üư¤·¤Æ¡¢¤½¤Î¥¯¥é¥¹¤ÎÀâÌÀ¤Ë¤¢¤ë¡Ö´ØÏ¢¹àÌܡץ»¥¯¥·¥ç¥ó¤Ç¡ÖľÎ󲽤µ¤ì¤¿·Á¼°¡×¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢¤³¤Î¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ÏľÎ󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤ò¼«Æ°À¸À®¤·¤Þ¤¹¡£Serializable ¤ò¼ÂÁõ¤¹¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹ (public ¤Þ¤¿¤Ï Èó public) ¤¬´Þ¤Þ¤ì¤ë¤Û¤«¡¢ \f2readObject\fP ¥á¥½¥Ã¥É¤ä \f2writeObject\fP ¥á¥½¥Ã¥É¡¢Ä¾Î󲽤µ¤ì¤ë¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó \f2@serial\fP¡¢\f2@serialField\fP¡¢\f2@serialData\fP ¥¿¥°¤«¤é¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤â´Þ¤Þ¤ì¤Þ¤¹¡£public ľÎó²½²Äǽ¥¯¥é¥¹¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤ò \f2@serial exclude\fP ¤Ç¥Þ¡¼¥¯¤·¤Þ¤¹¡£package\-private ľÎó²½²Äǽ¥¯¥é¥¹¤ò´Þ¤á¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤ò \f2@serial include\fP ¤Ç¥Þ¡¼¥¯¤·¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 1.4 ¤Ç¤Ï \f2\-private\fP ¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ê¤·¤Ç javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢public ¥¯¥é¥¹¤ª¤è¤Ó private ¥¯¥é¥¹¤Î´°Á´¤ËľÎ󲽤µ¤ì¤¿¥¯¥é¥¹¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3º÷°ú\fP (\f2index\-*.html\fP)¡£¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤Î̾Á°¤¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤó¤Ç¤¤¤Þ¤¹¡£º÷°ú¤Ï¡¢Unicode ¤ò°·¤¨¤ë¤è¤¦¤Ë¹ñºÝ²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤â¡¢ÀèÆ¬Ê¸»ú (±Ñ¸ì¤Î¾ì¹ç A ¢· Z) ¤´¤È¤ËÊÌ¡¹¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +µ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ú¡¼¥¸(package\-summary\&.html)¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ëpackage\&.html¤Þ¤¿¤Ïpackage\-info\&.java¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ëÆâ¤ÎHTML¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤ÆÁÈ¤ßÆþ¤ì¤Þ¤¹¡£ .RE -.LP -\f3¥µ¥Ý¡¼¥È¥Õ¥¡¥¤¥ë\fP -.RS 3 -.TP 2 -o -\f3¥Ø¥ë¥×¥Ú¡¼¥¸\fP (\f2help\-doc.html\fP)¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤äÁ°½Ò¤Î³Æ¥Ú¡¼¥¸¤Ë´Ø¤¹¤ëÀâÌÀ¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ËÂå¤ï¤ëÆÈ¼«¤Î¥«¥¹¥¿¥à¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢\f2\-helpfile\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.TP 2 -o -ɽ¼¨ÍѤΠHTML ¥Õ¥ì¡¼¥à¤òºîÀ®¤¹¤ë 1 ¤Ä¤Î \f3index.html ¥Õ¥¡¥¤¥ë\fP¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Õ¥ì¡¼¥àÉÕ¤­¤ÎÀèÆ¬¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¾ì¹ç¤Ë¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¼«ÂΤˤϡ¢¥Æ¥­¥¹¥ÈÆâÍÆ¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ -.TP 2 -o -Ê£¿ô¤Î\f3¥Õ¥ì¡¼¥à¥Õ¥¡¥¤¥ë\fP (\f2*\-frame.html\fP)¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£HTML ¥Õ¥ì¡¼¥à¤òɽ¼¨¤¹¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È\fP¥Õ¥¡¥¤¥ë (\f2package\-list\fP)¡£ \f2\-link\fP ¤ª¤è¤Ó \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢HTML ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¤É¤Î¥ê¥ó¥¯¤«¤é¤â¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¡£ -.TP 2 -o -\f3¥¹¥¿¥¤¥ë¥·¡¼¥È\fP¥Õ¥¡¥¤¥ë (\f2stylesheet.css\fP)¡£À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¾å¤Î¤¤¤¯¤Ä¤«¤ÎÍ×ÁǤˤĤ¤¤Æ¡¢¿§¡¢¥Õ¥©¥ó¥È¥Õ¥¡¥ß¥ê¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¡¢¥Õ¥©¥ó¥È¤Î¥¹¥¿¥¤¥ë¡¢¤ª¤è¤ÓÇÛÃÖ¤òÀ©¸æ¤·¤Þ¤¹¡£ -.TP 2 -o -\f3doc\-files\fP ¥Ç¥£¥ì¥¯¥È¥ê¡£À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤¹¤ë¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¡¢¥½¡¼¥¹¥³¡¼¥É¤Ê¤É¤Î¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤Ê¤¤¤¿¤á¡¢¥Õ¥¡¥¤¥ëÆâ¤Ë £êavadoc ¥¿¥°¤¬¤¢¤Ã¤Æ¤â̵»ë¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤ÎÃæ¤Ë¤¢¤ë¾ì¹ç¤Ë¤Î¤ßÀ¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ1¤Ä¤Î³µÍ×¥Ú¡¼¥¸(overview\-summary\&.html)¡£³µÍ×¥Ú¡¼¥¸¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤ÎÀèÆ¬¥Ú¡¼¥¸¤Ë¤Ê¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI\-overview\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤ÎHTML¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤ÆÁÈ¤ßÆþ¤ì¤Þ¤¹¡£³µÍ×¥Ú¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Î¤ß¤Ç¤¹¡£HTML¥Õ¥ì¡¼¥à¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE -.LP -\f3HTML ¥Õ¥ì¡¼¥à\fP -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢²¼¤Î¿Þ¤Ë¼¨¤¹¤è¤¦¤Ë¡¢2 ¢· 3 ¤Ä¤Î HTML ¥Õ¥ì¡¼¥à¤òÀ¸À®¤·¤Þ¤¹¡£1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤·¤«¤Ê¤¤¾ì¹ç (¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤¬¤Ê¤¤¾ì¹ç) ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÍ÷¤ò¾Êά¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆºÇÄã¸ÂɬÍפʿô¤Î¥Õ¥ì¡¼¥à¤òºîÀ®¤·¤Þ¤¹¡£Ã±°ì¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë°¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë (*.java) ¤Þ¤¿¤Ïñ°ì¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò°ú¿ô¤È¤·¤Æ javadoc ¥³¥Þ¥ó¥É¤ËÅϤ¹¾ì¹ç¤Ï¡¢º¸Â¦¤ÎÎó¤Ë¥¯¥é¥¹¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¥Õ¥ì¡¼¥à (C) 1 ¤Ä¤À¤±¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£Javadoc ¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Ï¡¢³µÍ×¥Ú¡¼¥¸ (Detail) ¤Ë²Ã¤¨¤Æ¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò°ìÍ÷ɽ¼¨¤¹¤ëÂè 3 ¤Î¥Õ¥ì¡¼¥à (P) ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤Î³µÍ×¥Ú¡¼¥¸¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ \f2overview\-summary.html ¤Ç¤¹\fP¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Ë¤À¤±ºîÀ®¤µ¤ì¤Þ¤¹¡£¡Ö¥Õ¥ì¡¼¥à¤Ê¤·¡×¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤«¡¢overview\-summary.html ¤òºÇ½é¤Ëɽ¼¨¤¹¤ë¤È¡¢¥Õ¥ì¡¼¥à¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ -.LP -HTML ¥Õ¥ì¡¼¥à¤Ë´·¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ÆÃÄê¤Î¥Õ¥ì¡¼¥à¤ò°õºþ¤ª¤è¤Ó¥¹¥¯¥í¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥ì¡¼¥à¤Ë¡Ö¥Õ¥©¡¼¥«¥¹¡×¤¬¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Õ¥ì¡¼¥à¤Ë¥Õ¥©¡¼¥«¥¹¤òÍ¿¤¨¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥ì¡¼¥à¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢Â¿¤¯¤Î¥Ö¥é¥¦¥¶¤Ç¤Ï¡¢Ìð°õ¥­¡¼¤ä¥Ú¡¼¥¸¥­¡¼¤ò»È¤Ã¤Æ¤½¤Î¥Õ¥ì¡¼¥à¤ò¥¹¥¯¥í¡¼¥ë¤·¤¿¤ê¡¢¡Ö°õºþ¡×¥á¥Ë¥å¡¼¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤½¤Î¥Õ¥ì¡¼¥à¤ò°õºþ¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£ -.LP -HTML ¥Õ¥ì¡¼¥à¤¬É¬Íפ«¤É¤¦¤«¤Ë¤è¤Ã¤Æ¡¢¼¡¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò³«»Ï¥Ú¡¼¥¸¤È¤·¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2index.html\fP (¥Õ¥ì¡¼¥à¤¢¤ê) -.TP 2 -o -\f2overview\-summary.html\fP (¥Õ¥ì¡¼¥à¤Ê¤·) +.SS "Áê¸ß»²¾È¥Ú¡¼¥¸" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ1¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸(overview\-tree\&.html)¡£³¬ÁØ¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¡Ö³µÍספò¥¯¥ê¥Ã¥¯¤·¤Æ¤«¤é¡¢¡Ö³¬Áإĥ꡼¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ .RE -.LP -\f3À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¹½Â¤\fP -.LP -À¸À®¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê³¬ÁؤËÊÔÀ®¤µ¤ì¤Þ¤¹¡£1 ¤Ä¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤­ 1 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¢¤È¤¤¤¦¹½Â¤¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢ \f2java.applet.Applet\fP ¥¯¥é¥¹ÍѤËÀ¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ï¡¢ \f2java/applet/Applet.html\fP ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£À¸À®Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤¬ \f2apidocs\fP ¤À¤È¤¹¤ë¤È¡¢java.applet ¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥¡¥¤¥ë¹½Â¤¤Ï¡¢¤½¤Î²¼¤Ë¹½ÃÛ¤µ¤ì¤Þ¤¹¡£Á°½Ò¤Î¤è¤¦¤Ë¡¢¡Öframe¡×¤È¤¤¤¦¸ì¤ò̾Á°¤Ë´Þ¤à¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æº¸¾å¤Þ¤¿¤Ïº¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î HTML ¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æ±¦Â¦¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -Ãí \- ²¼¤Î³¬Áؿޤǡ¢¥Ç¥£¥ì¥¯¥È¥ê¤Ï\f3ÂÀ»ú\fP (bold) ¤Ç¼¨¤·¤Æ¤¢¤ê¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯ (\f2*\fP) ¤Ï¡¢javadoc ¤Ø¤Î°ú¿ô¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ (*.java) ¤Ç¤¢¤ë¾ì¹ç¤Ë¾Êά¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢°ú¿ô¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¡¢ \f2package\-list\fP ¤ÏºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤ÎÃæ¿È¤Ï¶õ¤Ç¤¹¡£doc\-files ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Î¤ß¡¢À¸À®Àè¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸(package\-tree\&.html)¡£³¬ÁØ¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸¤Ë°Üư¤·¡¢¡Ö³¬Áإĥ꡼¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î³¬Áؤòɽ¼¨¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤Ä¤Î»ÈÍÑ¥Ú¡¼¥¸(package\-use\&.html)¤È¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤´¤È¤Ë1¤Ä¤º¤Ä¤Î»ÈÍÑ¥Ú¡¼¥¸(class\-use/classname\&.html)¡£»ÈÍÑ¥Ú¡¼¥¸¤Ç¤Ï¡¢»ØÄꤷ¤¿¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤ò»ÈÍѤ·¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æµ­½Ò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹A¤òÎã¤Ë¤¹¤ë¤È¡¢¤½¤Î»ÈÍÑ¥Ú¡¼¥¸¤Ë¤Ï¡¢A¤Î¥µ¥Ö¥¯¥é¥¹¡¢A¤È¤·¤ÆÀë¸À¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¡¢A¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢A·¿¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¤¬ÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£»ÈÍÑ¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë°Üư¤·¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¡Ö»ÈÍѡץê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤¹¤Ù¤Æ¤ÎÈó¿ä¾©API¤È¤½¤Î¿ä¾©¤¹¤ëÂåÂØ¤ò¥ê¥¹¥È¤¹¤ëÈó¿ä¾©API¥Ú¡¼¥¸(deprecated\-list\&.html)¡£Èó¿ä¾©API¤Ï¾­Íè¤Î¼ÂÁõ¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Äê¿ô¥Õ¥£¡¼¥ë¥É¤ÎÃÍÍѤÎÄê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ¥Ú¡¼¥¸(constant\-values\&.html)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ľÎ󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸(serialized\-form\&.html)¡£¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤ÎÀâÌÀ¤ò´Þ¤à¡¢Ä¾Îó²½²Äǽ¤«¤Ä³°Éô²½²Äǽ¤Ê¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊóÍѤΥڡ¼¥¸¤Ç¤¹¡£¤³¤Î¥Ú¡¼¥¸Æâ¤Î¾ðÊó¤Ï¡¢API¤ò»ÈÍѤ¹¤ë³«È¯¼Ô¤Ç¤Ï¤Ê¤¯¡¢ºÆ¼ÂÁõ¼Ô¤ËɬÍפʾðÊó¤Ç¤¹¡£Ä¾Î󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿¥¯¥é¥¹¤Ë°Üư¤·¤Æ¡¢¤½¤Î¥¯¥é¥¹¡¦¥³¥á¥ó¥È¤Ë¤¢¤ë¡Ö´ØÏ¢¹àÌܡץ»¥¯¥·¥ç¥ó¤Ç¡ÖľÎ󲽤µ¤ì¤¿·Á¼°¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ÏľÎ󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢Serializable¤ò¼ÂÁõ¤¹¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹(public¤Þ¤¿¤ÏÈópublic)¤¬¡¢¤½¤Î\fIreadObject\fR¤ä\fIwriteObject\fR¥á¥½¥Ã¥É¡¢Ä¾Î󲽤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó\fI@serial\fR¡¢\fI@serialField\fR¡¢\fI@serialData\fR¥¿¥°¤«¤é¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤È¤È¤â¤Ë¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£Ä¾Îó²½²Äǽ¤Êpublic¥¯¥é¥¹¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹(¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸)¤ò\fI@serial\fR +exclude¤Ç¥Þ¡¼¥¯¤·¤Þ¤¹¡£Ä¾Îó²½²Äǽ¤Êpackage\-private¥¯¥é¥¹¤ò´Þ¤á¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹(¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸)¤ò\fI@serial\fR +include¤Ç¥Þ¡¼¥¯¤·¤Þ¤¹¡£¥ê¥ê¡¼¥¹1\&.4¤Ç¤Ï¡¢\fI\-private\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢public¥¯¥é¥¹¤ª¤è¤Óprivate¥¯¥é¥¹¤Î´°Á´¤ËľÎ󲽤µ¤ì¤¿·Á¼°¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +º÷°ú¥Ú¡¼¥¸(\fIindex\-*\&.html\fR)¡£¤¹¤Ù¤Æ¤Î¥¯¥é¥¹Ì¾¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¡¢¥³¥ó¥¹¥È¥é¥¯¥¿Ì¾¡¢¥Õ¥£¡¼¥ë¥É̾¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É̾¤¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤó¤Ç¤¤¤Þ¤¹¡£º÷°ú¥Ú¡¼¥¸¤Ï¡¢Unicode¤ò°·¤¨¤ë¤è¤¦¤Ë¹ñºÝ²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£1¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤â¡¢ÀèÆ¬Ê¸»ú(±Ñ¸ì¤Î¾ì¹çA\(enZ)¤´¤È¤ËÊÌ¡¹¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.RE +.SS "¥µ¥Ý¡¼¥È¡¦¥Ú¡¼¥¸" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ø¥ë¥×¡¦¥Ú¡¼¥¸(help\-doc\&.html)¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤äÁ°½Ò¤Î³Æ¥Ú¡¼¥¸¤Ë´Ø¤¹¤ëÀâÌÀ¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ë¤òÆÈ¼«¤Î¥«¥¹¥¿¥à¡¦¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ë¤Ç¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ë¤Ë¤Ï¡¢\fI\-helpfile\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ɽ¼¨ÍѤÎHTML¥Õ¥ì¡¼¥à¤òºîÀ®¤¹¤ë1¤Ä¤Îindex\&.html¥Õ¥¡¥¤¥ë¡£¥Õ¥ì¡¼¥àÉÕ¤­¤ÎÀèÆ¬¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹¡£index\&.html¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Æ¥­¥¹¥È¡¦¥³¥ó¥Æ¥ó¥Ä¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Ê£¿ô¤Î¥Õ¥ì¡¼¥à¡¦¥Õ¥¡¥¤¥ë(\fI*\-frame\&.html\fR)¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Õ¥ì¡¼¥à¡¦¥Õ¥¡¥¤¥ë¤ÏHTML¥Õ¥ì¡¼¥à¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¡¦¥Õ¥¡¥¤¥ë(package\-list)¡£\fI\-link\fR¤ª¤è¤Ó\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ï¥Æ¥­¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¤É¤Î¥ê¥ó¥¯¤«¤é¤â¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¹¥¿¥¤¥ë¥·¡¼¥È¡¦¥Õ¥¡¥¤¥ë(stylesheet\&.css)¡£À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤Î°ìÉô¤ÎÍ×ÁǤˤĤ¤¤Æ¿§¡¢¥Õ¥©¥ó¥È¡¦¥Õ¥¡¥ß¥ê¡¢¥Õ¥©¥ó¥È¡¦¥µ¥¤¥º¡¢¥Õ¥©¥ó¥È¡¦¥¹¥¿¥¤¥ë¡¢¤ª¤è¤ÓÇÛÃÖ¤òÀ©¸æ¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +doc\-files¥Ç¥£¥ì¥¯¥È¥ê¡£°¸Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤¹¤ë¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¡¦¥³¡¼¥É¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Ê¤É¤Î¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤ÎÃæ¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Î¤ß½èÍý¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "HTML¥Õ¥ì¡¼¥à" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤¿Ãͤ˴ð¤Å¤­¡¢ºÇ¾®¸ÂɬÍפʿô(2¤Þ¤¿¤Ï3)¤Î¥Õ¥ì¡¼¥à¤òÀ¸À®¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë°ú¿ô¤È¤·¤Æ1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÅϤ¹¾ì¹ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¤¬¾Êά¤µ¤ì¤Þ¤¹¡£¤½¤Î¤«¤ï¤ê¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ïº¸Â¦¤ÎÎó¤Ë1¤Ä¤Î¥Õ¥ì¡¼¥à¤òºîÀ®¤·¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£Ê£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥ê¥¹¥È¤¹¤ëÂè3¤Î¥Õ¥ì¡¼¥à¤È³µÍ×¥Ú¡¼¥¸(overview\-summary\&.html)¤òºîÀ®¤·¤Þ¤¹¡£¥Õ¥ì¡¼¥à¤ò¾Êά¤¹¤ë¤Ë¤Ï¡¢¡Ö¥Õ¥ì¡¼¥à¤Ê¤·¡×¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤«¡¢overview\-summary\&.html¥Ú¡¼¥¸¤«¤é¥Ú¡¼¥¸¡¦¥»¥Ã¥È¤òɽ¼¨¤·¤Þ¤¹¡£ +.SS "À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¹½Â¤" +.PP +À¸À®¤µ¤ì¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê³¬ÁؤËÊÔÀ®¤µ¤ì¤Þ¤¹¡£1¤Ä¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤­1¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¢¤È¤¤¤¦¹½Â¤¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢\fIjava\&.applet\&.Applet\fR¥¯¥é¥¹ÍѤËÀ¸À®¤µ¤ì¤ë¥É¥­¥å¥á¥ó¥È¤Ï¡¢java/applet/Applet\&.html¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.PP +À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤¬\fIapidocs\fR¤À¤È¤¹¤ë¤È¡¢\fIjava\&.applet\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥¡¥¤¥ë¤Î¹½Â¤¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£Á°½Ò¤Î¤è¤¦¤Ë¡¢\fIframe\fR¤È¤¤¤¦¸ì¤ò̾Á°¤Ë´Þ¤à¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æº¸¾å¤Þ¤¿¤Ïº¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤ÎHTML¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æ±¦Â¦¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.PP +¥Ç¥£¥ì¥¯¥È¥ê¤ÏÂÀ»ú¤Ç¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ø¤Î°ú¿ô¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë¾ì¹ç¤Ë¾Êά¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£°ú¿ô¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¡¢¶õ¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£doc\-files¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼Æâ¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Î¤ß¡¢À¸À®Àè¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBapidocs\fR: ºÇ¾å°Ì¥ì¥Ù¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +index\&.html: HTML¥Õ¥ì¡¼¥à¤òÀßÄꤹ¤ë½é´ü¥Ú¡¼¥¸ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +*overview\-summary\&.html: ¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤È¥µ¥Þ¥ê¡¼ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +overview\-tree\&.html: ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁØ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +deprecated\-list\&.html: ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÈó¿ä¾©API +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +constant\-values\&.html: ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÅŪ¥Õ¥£¡¼¥ë¥ÉÃÍ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +serialized\-form\&.html: ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎľÎ󲽤µ¤ì¤¿¥Õ¥©¡¼¥à +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +*overview\-frame\&.html: º¸¾å¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤¹¤ë¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +allclasses\-frame\&.html: º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤¹¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +help\-doc\&.html: Javadoc¥Ú¡¼¥¸¤ÎÊÔÀ®¤Ë´Ø¤¹¤ë¥Ø¥ë¥× +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +index\-all\&.html: +\fI\-splitindex\fR¥ª¥×¥·¥ç¥ó¤Ê¤·¤ÇºîÀ®¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥È¤Îº÷°ú +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBindex\-files\fR: +\fI\-splitindex\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +index\-<number>\&.html: +\fI\-splitindex\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿º÷°ú¥Õ¥¡¥¤¥ë +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-list: ³°Éô»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +stylesheet\&.css: ¥Õ¥©¥ó¥È¡¢¿§¡¢°ÌÃ֤ʤɤòÄêµÁ¤·¤Þ¤¹ +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBjava\fR: ¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBapplet\fR: ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Applet\&.html: +\fIApplet\fR¥¯¥é¥¹¡¦¥Ú¡¼¥¸ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +AppletContext\&.html: +\fIAppletContext\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +AppletStub\&.html: +\fIAppletStub\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +AudioClip\&.html: +\fIAudioClip\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-summary\&.html: ¥¯¥é¥¹¤È¥µ¥Þ¥ê¡¼ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-frame\&.html: º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¡¦¥¯¥é¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-tree\&.html: ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁØ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-use\&.html: ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬»ÈÍѤµ¤ì¤ë¾ì½ê +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBdoc\-files\fR: ¥¤¥á¡¼¥¸¤ª¤è¤Ó¥µ¥ó¥×¥ë¡¦¥Õ¥¡¥¤¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBclass\-use\fR: ¥¤¥á¡¼¥¸¤ª¤è¤Ó¥µ¥ó¥×¥ë¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê +.sp +\- Applet\&.html: Applet¥¯¥é¥¹¤Î»ÈÍÑ +.sp +\- AppletContext\&.html: +\fIAppletContext\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍÑ +.sp +\- AppletStub\&.html: +\fIAppletStub\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍÑ +.sp +\- AudioClip\&.html: +\fIAudioClip\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍÑ +.RE +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBsrc\-html\fR: ¥½¡¼¥¹¡¦¥³¡¼¥É¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBjava\fR: ¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBapplet\fR: ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +\- Applet\&.html: Applet¥½¡¼¥¹¡¦¥³¡¼¥É +.sp +\- AppletContext\&.html: +\fIAppletContext\fR¥½¡¼¥¹¡¦¥³¡¼¥É +.sp +\- AppletStub\&.html: +\fIAppletStub\fR¥½¡¼¥¹¡¦¥³¡¼¥É +.sp +\- AudioClip\&.html: +\fIAudioClip\fR¥½¡¼¥¹¡¦¥³¡¼¥É +.RE +.RE +.RE +.SS "À¸À®¤µ¤ì¤ëAPIÀë¸À" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤Îµ­½Ò¤ÎºÇ½é¤Ë¡¢¤½¤ÎAPIÍѤÎÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIBoolean\fR¥¯¥é¥¹¤ÎÀë¸À¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - -.fl -\fP\f3apidocs\fP ºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê -.fl - index.html HTML ¥Õ¥ì¡¼¥à¤òÀßÄꤹ¤ë½é´ü¥Ú¡¼¥¸ -.fl - * overview\-summary.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡£ÀèÆ¬Ê¸¤Ë¤è¤ëÍ×ÌóÉÕ¤­ -.fl - overview\-tree.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁؤΥꥹ¥È -.fl - deprecated\-list.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎÈó¿ä¾© API ¤Î¥ê¥¹¥È -.fl - constant\-values.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î static ¥Õ¥£¡¼¥ë¥É¤ÎÃͤΥꥹ¥È -.fl - serialized\-form.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎľÎ󲽤µ¤ì¤¿·Á¼°¤Î¥ê¥¹¥È -.fl - * overview\-frame.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡£º¸¾å¤Î¥Õ¥ì¡¼¥à¤Ç»ÈÍѤµ¤ì¤ë -.fl - allclasses\-frame.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎÁ´¥¯¥é¥¹¤Î¥ê¥¹¥È¡£º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ç»ÈÍѤµ¤ì¤ë -.fl - help\-doc.html ¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Î¹½À®¤ò¼¨¤¹¥æ¡¼¥¶¡¼¥Ø¥ë¥×¤Î¥ê¥¹¥È -.fl - index\-all.html \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤ËºîÀ®¤µ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Îº÷°ú -.fl - \f3index\-files\fP \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ËºîÀ®¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê -.fl - index\-<number>.html \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ËºîÀ®¤µ¤ì¤ëº÷°ú¥Õ¥¡¥¤¥ë -.fl - package\-list ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥ê¥¹¥È¡£³°Éô»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤµ¤ì¤ë -.fl - stylesheet.css ¥Õ¥©¥ó¥È¡¢¿§¡¢ÇÛÃÖ¤òÄêµÁ¤¹¤ë HTML ¥¹¥¿¥¤¥ë¥·¡¼¥È -.fl - \f3java\fP ¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê -.fl - \f3applet\fP ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê -.fl - Applet.html Applet ¥¯¥é¥¹¤Î¥Ú¡¼¥¸ -.fl - AppletContext.html AppletContext ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸ -.fl - AppletStub.html AppletStub ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸ -.fl - AudioClip.html AudioClip ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸ -.fl - * package\-summary.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤Î¥ê¥¹¥È¡£ÀèÆ¬Ê¸¤Ë¤è¤ëÍ×ÌóÉÕ¤­ -.fl - * package\-frame.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤Î¥ê¥¹¥È¡£º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ç»ÈÍѤµ¤ì¤ë -.fl - * package\-tree.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁؤΥꥹ¥È -.fl - package\-use ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¥ê¥¹¥È -.fl - \f3doc\-files\fP ²èÁü¤ä¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê -.fl - \f3class\-use\fP API ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¥Ú¡¼¥¸¤òÊÝ»ý¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê -.fl - Applet.html Applet ¥¯¥é¥¹¤Î»ÈÍѤ˴ؤ¹¤ë¥Ú¡¼¥¸ -.fl - AppletContext.html AppletContext ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍѤ˴ؤ¹¤ë¥Ú¡¼¥¸ -.fl - AppletStub.html AppletStub ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍѤ˴ؤ¹¤ë¥Ú¡¼¥¸ -.fl - AudioClip.html AudioClip ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍѤ˴ؤ¹¤ë¥Ú¡¼¥¸ -.fl - \f3src\-html\fP ¥½¡¼¥¹¥³¡¼¥É¥Ç¥£¥ì¥¯¥È¥ê -.fl - \f3java\fP ¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê -.fl - \f3applet\fP ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê -.fl - Applet.html Applet ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸ -.fl - AppletContext.html AppletContext ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸ -.fl - AppletStub.html AppletStub ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸ -.fl - AudioClip.html AudioClip ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸ -.fl +public final class Boolean +extends Object +implements Serializable .fi -.SS -À¸À®¤µ¤ì¤ë API Àë¸À -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤ÎÀâÌÀ¤ÎºÇ½é¤Ë¡¢¤½¤Î API ÍѤÎÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Boolean\fP ¥¯¥é¥¹¤ÎÀë¸À¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f2public final class Boolean\fP -.br -\f2extends Object\fP -.br -\f2implements Serializable\fP -.LP -¤Þ¤¿¡¢ \f2Boolean.valueOf\fP ¥á¥½¥Ã¥É¤ÎÀë¸À¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f2public static Boolean valueOf(String s)\fP -.LP -Javadoc ¥Ä¡¼¥ë¤Ç¤Ï¡¢½¤¾þ»Ò \f2public\fP¡¢ \f2protected\fP¡¢ \f2private\fP¡¢ \f2abstract\fP¡¢ \f2final\fP¡¢ \f2static\fP¡¢ \f2transient\fP¡¢¤ª¤è¤Ó \f2volatile\fP ¤ÏÁȤ߹þ¤á¤Þ¤¹¤¬¡¢ \f2synchronized\fP ¤È \f2native\fP ¤ÏÁȤ߹þ¤á¤Þ¤»¤ó¡£¤³¤ì¤é¸å¼Ô¤Î 2 ¤Ä¤Î½¤¾þ»Ò¤Ï¡¢¼ÂÁõ¤Î¾ÜºÙ¤È¸«¤Ê¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢API »ÅÍͤˤϴޤޤì¤Þ¤»¤ó¡£ -.LP -API ¤Ç¤Ï¡¢Ê¹ÔÀ­¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë¤Ä¤¤¤Æ¡¢¥­¡¼¥ï¡¼¥É \f2synchronized\fP ¤Ë°Í¸¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥³¥á¥ó¥È¤Î¼çÀâÌÀ¤È¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤¹¤Ù¤­¤Ç¤¹¡£ \f2¤¿¤È¤¨¤Ð¡¢¡Ö1 ¤Ä¤Î Enumeration ¤ò\fP Ê£¿ô¤Î¥¹¥ì¥Ã¥É¤«¤éʹԤ·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡×¤Ê¤É¤Èµ­½Ò¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤³¤ì¤é¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤ò¼Â¸½¤¹¤ëÊýË¡¤òµ­½Ò¤¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2Hashtable\fP ¤Ï¥¹¥ì¥Ã¥É¤ËÂФ·¤Æ°ÂÁ´¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¡Ö¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤òƱ´ü²½¤¹¤ì¤Ð¤½¤ì¤ò¼Â¸½¤Ç¤­¤ë¡×¤Î¤è¤¦¤Ë¤Ï»ØÄꤹ¤ëº¬µò¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Ð¥±¥Ã¥È¥ì¥Ù¥ë¤ÇÆâÉôŪ¤ËƱ´ü²½¤¹¤ë¸¢Íø¤ò»Ä¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤¹¤ì¤Ð¡¢¤è¤ê¹âÅÙ¤ÊʹÔÀ­¤¬Ä󶡤µ¤ì¤Þ¤¹¡£ -.SH "¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È" -.LP -¥ª¥ê¥¸¥Ê¥ë¤Î¡Ö¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î»ÅÍ͡פϡ¢¡Ö´ØÏ¢¹àÌܡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SS -¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥³¥á¥ó¥È¤ÎÁÞÆþ -.LP -¥½¡¼¥¹¥³¡¼¥É¤ÎǤ°Õ¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À¤ÎÁ°¤Ë¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È ("doc comments") ¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¹½Ê¸¤Ï¼ã´³°Û¤Ê¤ê¤Þ¤¹¤¬¡¢³µÍפˤâ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢Èó¸ø¼°¤Ë¡ÖJavadoc ¥³¥á¥ó¥È¡×¤È¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹ (¤³¤ÎÍѸì¤Ï¾¦É¸´ØÏ¢¤Î»ÈÍÑË¡¤Ë°ãÈ¿)¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢¥³¥á¥ó¥È¤ò»Ï¤Þ¤ê¤ò¼¨¤¹Ê¸»úÎó \f2/**\fP ¤È¡¢¥³¥á¥ó¥È¤ò½ª¤ï¤ê¤ò¼¨¤¹Ê¸»úÎó \f2*/\fP ¤Î´Ö¤Ë¤¢¤ëʸ»ú¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£¹Ô¤ÎÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢³Æ¹Ô¤Ëµ­½Ò¤Ç¤­¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢°Ê²¼¤ÇÀâÌÀ¤·¤Þ¤¹¡£¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIBoolean\&.valueOf\fR¥á¥½¥Ã¥É¤ÎÀë¸À¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +public static Boolean valueOf(String s) +.fi +.if n \{\ +.RE +.\} +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢½¤¾þ»Ò\fIpublic\fR¡¢\fIprotected\fR¡¢\fIprivate\fR¡¢\fIabstract\fR¡¢\fIfinal\fR¡¢\fIstatic\fR¡¢\fItransient\fR¡¢¤ª¤è¤Ó\fIvolatile\fR¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢\fIsynchronized\fR¤ª¤è¤Ó\fInative\fR¤Ï¤Ç¤­¤Þ¤»¤ó¡£\fIsynchronized\fR¤ª¤è¤Ó\fInative\fR½¤¾þ»Ò¤Ï¡¢¼ÂÁõ¤Î¾ÜºÙ¤È¤ß¤Ê¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢API»ÅÍͤˤϴޤޤì¤Þ¤»¤ó¡£ +.PP +API¤Ç¤Ï¡¢Ê¹ÔÀ­¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë¤Ä¤¤¤Æ¡¢¥­¡¼¥ï¡¼¥É\fIsynchronized\fR¤Ë°Í¸¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥³¥á¥ó¥È¤Î¼çÀâÌÀ¤È¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¡Ö1¤Ä¤Îenumeration¤òÊ£¿ô¤Î¥¹¥ì¥Ã¥É¤«¤éʹԤ·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡×¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤³¤ì¤é¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤ò¼Â¸½¤¹¤ëÊýË¡¤òµ­½Ò¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢\fIHashtable\fR¥ª¥×¥·¥ç¥ó¤Ï¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¡Ö¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤òƱ´ü²½¤·¤Æ¤½¤ì¤ò¼Â¸½¤¹¤ë¡×¤Î¤è¤¦¤Ë»ØÄꤹ¤ëº¬µò¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤ê¹âÅÙ¤ÊʹÔÀ­¤Î¤¿¤á¤Ë¡¢¥Ð¥±¥Ã¥È¡¦¥ì¥Ù¥ë¤ÇÆâÉôŪ¤ËƱ´ü²½¤¹¤ë¸¢¸Â¤òÊÝÍ­¤·¤Æ¤ª¤¯¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.SH "¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È" +.PP +¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥³¥á¥ó¥È¤È¥³¥á¥ó¥È¤Î·Ñ¾µ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ +.SS "¥½¡¼¥¹¡¦¥³¡¼¥É¡¦¥³¥á¥ó¥È" +.PP +¥½¡¼¥¹¡¦¥³¡¼¥É¤ÎǤ°Õ¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À¤ÎÁ°¤Ë¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ë¤â¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¹½Ê¸¤Ï¼ã´³°Û¤Ê¤ê¤Þ¤¹¤¬¡¢³µÍפˤâ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï¡¢\fI/**\fR¤È¡¢½ª¤ï¤ê¤òɽ¤¹\fI*/\fR¤Î´Ö¤Ë¤¢¤ëʸ»ú¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£ÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï³Æ¹Ô¤Ç»ÈÍѤǤ­¡¢¼¡¤Î¹à¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl * This is the typical format of a simple documentation comment -.fl - * that spans two lines. -.fl + * that spans two lines\&. */ -.fl -\fP .fi -.LP -¼¡¤Î¤è¤¦¤Ë¤·¤Æ 1 ¹Ô¤Ëµ­½Ò¤¹¤ë¤È¡¢¥¹¥Ú¡¼¥¹¤òÀáÌó¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¥¹¥Ú¡¼¥¹¤òÀáÌ󤹤ë¤Ë¤Ï¡¢¥³¥á¥ó¥È¤ò1¹Ô¤ËÆþ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -/** This comment takes up only one line.*/ -.fl -\fP +/** This comment takes up only one line\&. */ .fi -.LP -\f3¥³¥á¥ó¥È¤ÎÇÛÃÖ\fP \- ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À¤ÎľÁ°¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤À¤±Ç§¼±¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¤ÎÎã¡¢¥á¥½¥Ã¥É¤ÎÎã¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥á¥½¥Ã¥É¤ÎËÜÂΤËÃÖ¤«¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£javadoc ¥Ä¡¼¥ë¤Ç¤Ï¡¢1 ¤Ä¤ÎÀë¸Àʸ¤Ë¤Ä¤­ 1 ¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤À¤±¤¬Ç§¼±¤µ¤ì¤Þ¤¹¡£ -.LP -¤è¤¯¤¢¤ë´Ö°ã¤¤¤Ï¡¢¥¯¥é¥¹¥³¥á¥ó¥È¤È¥¯¥é¥¹Àë¸À¤Î´Ö¤Ë \f2import\fP ʸ¤òÃÖ¤¤¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤¹¡£¤³¤Î¤è¤¦¤Êµ­½Ò¤Ï¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤Î¤è¤¦¤Ê¥¯¥é¥¹¥³¥á¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥á¥ó¥È¤ÎÇÛÃÖ.PP +¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥ÉÀë¸À¤ÎľÁ°¤ËÇÛÃÖ¤µ¤ì¤ë¾ì¹ç¤Ë¤Î¤ßǧ¼±¤µ¤ì¤Þ¤¹¡£¥á¥½¥Ã¥É¤ÎËÜÂΤËÃÖ¤«¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Àë¸Àʸ¤´¤È¤Ë1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤·¤«Ç§¼±¤·¤Þ¤»¤ó¡£¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¤è¤¯¤¢¤ë´Ö°ã¤¤¤Ï¡¢¥¯¥é¥¹¡¦¥³¥á¥ó¥È¤È¥¯¥é¥¹Àë¸À¤Î´Ö¤Ë\fIimport\fRʸ¤òÃÖ¤¤¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥¯¥é¥¹¡¦¥³¥á¥ó¥È¤ò̵»ë¤¹¤ë¤Î¤Ç¡¢\fIimport\fRʸ¤ò¤³¤Î¾ì½ê¤ËÇÛÃÖ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * This is the class comment for the class Whatever. -.fl - */ -.fl - -.fl - import com.sun; // MISTAKE \- Important not to put import statement here -.fl - -.fl - public class Whatever { -.fl - } -.fl -\fP -.fi -.LP -\f3¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¼çÀâÌÀ¤Î¤¢¤È¤Ë¥¿¥°¥»¥¯¥·¥ç¥ó¤¬Â³¤¯ \- ¥³¥á¥ó¥È¤Î³«»Ï¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë\fP \f2/**\fP ¤Î¤¢¤È¤«¤é¥¿¥°¥»¥¯¥·¥ç¥ó¤Þ¤Ç¤¬¼çÀâÌÀ¤Ë¤Ê¤ê¤Þ¤¹¡£¥¿¥°¥»¥¯¥·¥ç¥ó¤Ï¡¢¹Ô¤ÎÀèÆ¬¤Ë¤¢¤ëºÇ½é¤Î \f2@\fP ¤ÇÄêµÁ¤µ¤ì¤ëºÇ½é¤Î¥Ö¥í¥Ã¥¯¥¿¥°¤«¤é»Ï¤Þ¤ê¤Þ¤¹ (ÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇò¡¢ÀèÆ¬¤Î¶èÀÚ¤êʸ»ú \f2/**\fP ¤Ï½ü¤¯)¡£¼çÀâÌÀ¤òµ­½Ò¤»¤º¡¢¥¿¥°¥»¥¯¥·¥ç¥ó¤À¤±¤Î¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¼çÀâÌÀ¤Ï¡¢¥¿¥°¥»¥¯¥·¥ç¥ó°Ê¹ß¤Ë³¤±¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¥¿¥°¤Î°ú¿ô¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£²¿²ó¤âµ­½Ò¤Ç¤­¤ë¥¿¥°¤È¡¢1 ²ó¤·¤«µ­½Ò¤Ç¤­¤Ê¤¤¥¿¥°¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î \f2@see\fP ¤Ï¡¢¥¿¥°¥»¥¯¥·¥ç¥ó¤ò³«»Ï¤·¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl /** -.fl - * This sentence would hold the main description for this doc comment. -.fl - * @see java.lang.Object -.fl + * This is the class comment for the class Whatever\&. */ -.fl -\fP + +import com\&.example; // MISTAKE \- Important not to put import statement here + +public class Whatever{ } .fi -.LP -\f3¥Ö¥í¥Ã¥¯¥¿¥°¤È¥¤¥ó¥é¥¤¥ó¥¿¥°\fP \- \f2¡Ö¥¿¥°¡×\fP¤Ï¡¢Javadoc ¤¬½èÍý¤Ç¤­¤ë¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÎÆÃÊ̤ʥ­¡¼¥ï¡¼¥É¤Ç¤¹¡£¥¿¥°¤Ë¤Ï 2 ¼ïÎढ¤ê¤Þ¤¹¡£1 ¤Ä¤Ï @tag ¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¥Ö¥í¥Ã¥¯¥¿¥° \f2(¡Öɸ½à¥¿¥°¡×¤È¤â¸Æ¤Ð¤ì¤ë)¡¢\fP ¤â¤¦ 1 ¤Ä¤Ï {@tag} ¤Î¤è¤¦¤ËÃæ³ç¸Ì¤Ç°Ï¤Þ¤ì¤ë¥¤¥ó¥é¥¤¥ó¥¿¥° \f2¤Ç¤¹\fP¡£¥Ö¥í¥Ã¥¯¥¿¥°¤¬Àµ¤·¤¯²ò¼á¤µ¤ì¤ë¤¿¤á¤Ë¤Ï¡¢¹Ô¤ÎÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇò¡¢¶èÀÚ¤êʸ»ú (\f2/**\fP) ¤ò½ü¤¤¤Æ¡¢¹Ô¤ÎÀèÆ¬¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢ \f2@\fP ʸ»ú¤ò¥Æ¥­¥¹¥ÈÆâ¤ÎÊ̤ξì½ê¤Ç»ÈÍѤ·¤¿¾ì¹ç¤Ë¤Ï¥¿¥°¤Î³«»Ï¤È¤·¤Æ²ò¼á¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£¹Ô¤ÎÀèÆ¬¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¤â¤½¤ì¤¬²ò¼á¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£¡¼ \f2@\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Ö¥í¥Ã¥¯¥¿¥°¤Ë¤Ï¡¢ÂбþÉÕ¤±¤é¤ì¤¿¥Æ¥­¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢¥¿¥°¤Î¤¢¤È¤«¤é¡¢¼¡¤Î¥¿¥°¤ÎÁ°¡¢¤Þ¤¿¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎºÇ¸å¤Þ¤Ç¤Î´Ö¤Ëµ­½Ò¤µ¤ì¤¿¥Æ¥­¥¹¥È (¥¿¥°¤ä¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤ò½ü¤¯) ¤Ç¤¹¡£¤³¤Î´ØÏ¢¥Æ¥­¥¹¥È¤ÏÊ£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ï¡¢¥Æ¥­¥¹¥È¤òµ­½Ò¤Ç¤­¤ë¾ì½ê¤Ç¤¢¤ì¤Ð¤É¤³¤Ë¤Ç¤âÃÖ¤¯¤³¤È¤¬¤Ç¤­¡¢Àµ¤·¤¯²ò¼á¤µ¤ì¤Þ¤¹¡£¼¡¤ÎÎã¤Ë¤Ï¥Ö¥í¥Ã¥¯¥¿¥° \f2@deprecated\fP ¤È¥¤¥ó¥é¥¤¥ó¥¿¥° \f2{@link}\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥á¥ó¥È¤Î¥Ñ¡¼¥Ä.PP +¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤Ï¡¢¼çÀâÌÀ¤È¤½¤Î¸å¤Ë³¤¯¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¼çÀâÌÀ¤Ï¡¢³«»Ï¶èÀÚ¤êʸ»ú\fI/**\fR¤Ç»Ï¤Þ¤ê¡¢¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤Þ¤Ç³¤­¤Þ¤¹¡£¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤Ï¡¢ÀèÆ¬Ê¸»ú¤¬\fI@\fR¤Î¹Ô¤ÇÄêµÁ¤µ¤ì¤ëºÇ½é¤Î¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤«¤é»Ï¤Þ¤ê¤Þ¤¹(ÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇòʸ»ú¡¢ÀèÆ¬¤Î¶èÀÚ¤êʸ»ú\fI/**\fR¤Ï½ü¤¯)¡£¼çÀâÌÀ¤òµ­½Ò¤»¤º¡¢¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤Î¤ß¤Î¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¼çÀâÌÀ¤Ï¡¢¥¿¥°¡¦¥»¥¯¥·¥ç¥ó°Ê¹ß¤Ë³¤±¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¥¿¥°¤Î°ú¿ô¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£²¿²ó¤âµ­½Ò¤Ç¤­¤ë¥¿¥°¤È¡¢1²ó¤·¤«µ­½Ò¤Ç¤­¤Ê¤¤¥¿¥°¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î\fI@see\fR¥¿¥°¤«¤é¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤Ï»Ï¤Þ¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl - * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)} -.fl + * This sentence holds the main description for this documentation comment\&. + * @see java\&.lang\&.Object */ -.fl -\fP .fi -.LP -\f3¥³¥á¥ó¥È¤Ï HTML ¤Çµ­½Ò¤¹¤ë\fP \- ¥Æ¥­¥¹¥È¤Ï HTML ·Á¼°¤Çµ­½Ò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢HTML ¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ò»È¤¦É¬Íפ¬¤¢¤ë¤³¤È¡¢¤ª¤è¤Ó HTML ¥¿¥°¤ò»ÈÍѤǤ­¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£µ­½Ò¤¹¤ë HTML ¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤·¤Æ¤Ï¡¢»ÈÍѤ¹¤ë¥Ö¥é¥¦¥¶¤¬¥µ¥Ý¡¼¥È¤¹¤ëǤ°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥±¡¼¥Ç¥£¥ó¥°¥¹¥¿¥¤¥ë¥·¡¼¥È (CSS) ¤È¥Õ¥ì¡¼¥à¤ò´Þ¤á¡¢¤¹¤Ù¤Æ¤ÎÉôʬ (¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È°Ê³°¤ÎÉôʬ) ¤Ç HTML 3.2 ¤Ë½àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤¹¤ë¤è¤¦¤ËºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥Õ¥ì¡¼¥à¥»¥Ã¥ÈÂбþ¤Î¤¿¤á¡¢À¸À®¤µ¤ì¤ë³Æ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡ÖHTML 4.0¡×¤Èµ­½Ò¤µ¤ì¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢¤è¤ê¾®¤µ¤¤ (\f2<\fP) µ­¹æ¤ª¤è¤Ó¤è¤êÂ礭¤¤ (\f2>\fP) µ­¹æ¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ï¡¢ \f2<\fP ¤ª¤è¤Ó \f2>\fP ¤Èµ­½Ò¤¹¤Ù¤­¤Ç¤¹¡£Æ±Íͤˡ¢¥¢¥ó¥Ñ¥µ¥ó¥É (\f2&\fP) ¤Ï \f2&\fP ¤Èµ­½Ò¤¹¤Ù¤­¤Ç¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¥Ü¡¼¥ë¥É¤Î HTML ¥¿¥° \f2<b>\fP ¤¬¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥Ö¥í¥Ã¥¯¤ª¤è¤Ó¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°.PP +¥¿¥°¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬½èÍý¤¹¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤ÎÆÃ¼ì¤Ê¥­¡¼¥ï¡¼¥É¤Ç¤¹¡£¥¿¥°¤Ë¤Ï2¤Ä¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡£1¤Ä¤Ï\fI@tag\fR¥¿¥°¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¥Ö¥í¥Ã¥¯¡¦¥¿¥°(¥¹¥¿¥ó¥É¥¢¥í¥ó¡¦¥¿¥°¤È¤â¸Æ¤Ð¤ì¤ë)¡¢¤â¤¦1¤Ä¤Ï\fI{@tag}\fR¥¿¥°¤Î¤è¤¦¤ËÃæ¥«¥Ã¥³¤Ç°Ï¤ó¤Çɽµ­¤µ¤ì¤ë¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤Ç¤¹¡£¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤¬²ò¼á¤µ¤ì¤ë¤Ë¤Ï¡¢¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇòʸ»ú¡¢¶èÀÚ¤êʸ»ú(\fI/**\fR)¤ò½ü¤¤¤Æ¡¢¹Ô¤ÎÀèÆ¬¤ËÃÖ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢\fI@\fRʸ»ú¤ò¥Æ¥­¥¹¥ÈÆâ¤ÎÊ̤ξì½ê¤Ç»ÈÍѤ·¤Æ¤â¡¢¥¿¥°¤Î³«»Ï¤È¤·¤Æ²ò¼á¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£\fI@\fRʸ»ú¤ò»ÈÍѤ·¤Æ¹Ô¤ò³«»Ï¤·¤Æ¤â¡¢¤½¤ì¤¬²ò¼á¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢HTML¥¨¥ó¥Æ¥£¥Æ¥£\fI@\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Ë¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Æ¥­¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢¥¿¥°¤Î¸å¤«¤é¡¢¼¡¤Î¥¿¥°¤ÎÁ°¡¢¤Þ¤¿¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ÎºÇ¸å¤Þ¤Ç¤Î´Ö¤Ëµ­½Ò¤µ¤ì¤¿¥Æ¥­¥¹¥È¤Ç¤¹(¥¿¥°¤Þ¤¿¤Ï¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤ò½ü¤¯)¡£¤³¤Î´ØÏ¢¥Æ¥­¥¹¥È¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤Ï¡¢¥Æ¥­¥¹¥È¤òµ­½Ò¤Ç¤­¤ë¾ì½ê¤Ç¤¢¤ì¤Ð¤É¤³¤Ë¤Ç¤âÃÖ¤¯¤³¤È¤¬¤Ç¤­¡¢²ò¼á¤µ¤ì¤Þ¤¹¡£¼¡¤ÎÎã¤Ë¤Ï¥Ö¥í¥Ã¥¯¡¦¥¿¥°\fI@deprecated\fR¤È¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°\fI{@link}\fR¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£javadoc¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl - * This is a <b>doc</b> comment. -.fl - * @see java.lang.Object -.fl + * @deprecated As of JDK 1\&.1, replaced by {@link #setBounds(int,int,int,int)} */ -.fl -\fP .fi -.LP -\f3¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯\fP \- javadoc ¤Ë¤è¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î²òÀÏ»þ¤Ë¡¢³Æ¹Ô¤ÎÀèÆ¬¤Ë¤¢¤ë¥¢¥¹¥¿¥ê¥¹¥¯ (\f2*\fP) ʸ»ú¤ÏÇË´þ¤µ¤ì¤Þ¤¹¡£ºÇ½é¤Î¥¢¥¹¥¿¥ê¥¹¥¯ (\f2*\fP) ʸ»ú¤è¤êÁ°¤Ë¤¢¤ë¶õÇò¤ä¥¿¥Ö¤âÇË´þ¤µ¤ì¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 1.4 ¤«¤é¤Ï¡¢¹Ô¤ÎÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò¾Êά¤·¤Æ¤â¡¢ÀèÆ¬¤Î¶õÇòʸ»ú¤Ïºï½ü¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¥³¡¼¥ÉÎã¤òľÀܥɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î \f2<PRE>\fP ¥¿¥°Æâ¤Ë¥Ú¡¼¥¹¥È¤·¤Æ¤â¡¢¥¤¥ó¥Ç¥ó¥È¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£Ä̾¥Ö¥é¥¦¥¶¤Ï¡¢¶õÇòʸ»ú¤ò¥¿¥Ö¤è¤ê¤â°ìΧ¤Ë²ò¼á¤·¤Þ¤¹¡£¥¤¥ó¥Ç¥ó¥È¤Îµ¯ÅÀ¤Ïº¸¥Þ¡¼¥¸¥ó¤Ë¤Ê¤ê¤Þ¤¹ (¶èÀÚ¤êʸ»ú \f2/**\fP ¤Þ¤¿¤Ï \f2<PRE>\fP ¥¿¥°¤Ç¤Ï¤Ê¤¯)¡£ -.LP -\f3ºÇ½é¤Îʸ\fP \- ³Æ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤Ï¡¢Àë¸À¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ë´Ø¤¹¤ë´Ê·é¤«¤Ä´°Á´¤ÊÍ×Ìóʸ¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¡ÖºÇ½é¤Îʸ¡×¤Ï¡¢Ä¾¸å¤Ë¥¹¥Ú¡¼¥¹¡¢¥¿¥Ö¡¢¤Þ¤¿¤Ï²þ¹Ô¤¬Â³¤¯ºÇ½é¤Î¥Ô¥ê¥ª¥É (¥í¥±¡¼¥ë¤¬±Ñ¸ì¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç)¡¢¤Þ¤¿¤ÏºÇ½é¤Î¥¿¥°¤¬¤¢¤ë°ÌÃ֤ǽª¤ï¤ê¤Þ¤¹¡£ºÇ½é¤Îʸ¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ HTML ¥Ú¡¼¥¸¤ÎºÇ½é¤Ë¤¢¤ë¥á¥ó¥Ð¡¼¤Î³µÍפÎÉôʬ¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.LP -\f3Ê£¿ô¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À\fP \- Java ¤Ç¤Ï¡¢1 ¤Ä¤Îʸ¤ÇÊ£¿ô¤Î¥Õ¥£¡¼¥ë¥É¤òÀë¸À¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Îʸ¤Ë¤Ï¡¢1 ¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤·¤«µ­½Ò¤Ç¤­¤Þ¤»¤ó¡£¤½¤Î¥³¥á¥ó¥È¤¬¡¢¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Õ¥£¡¼¥ë¥É¤´¤È¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢³Æ¥Õ¥£¡¼¥ë¥É¤òÊÌ¡¹¤Îʸ¤ÇÀë¸À¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢1 ¤Ä¤ÎÀë¸À¤È¤·¤Æµ­½Ò¤¹¤ë¤ÈÉÔŬÀڤǤ¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Àë¸À¤ò 2 ¤Ä¤Ëʬ¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +HTML¤Ç¤Î¥³¥á¥ó¥È¤Îµ­½Ò.PP +¥Æ¥­¥¹¥È¤ÏHTML¥¨¥ó¥Æ¥£¥Æ¥£¤ÈHTML¥¿¥°¤ò»ÈÍѤ·¤ÆHTML¤Çµ­½Ò¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ÈÍѤ¹¤ë¥Ö¥é¥¦¥¶¤¬¥µ¥Ý¡¼¥È¤¹¤ëǤ°Õ¤ÎHTML¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥±¡¼¥Ç¥£¥ó¥°¡¦¥¹¥¿¥¤¥ë¡¦¥·¡¼¥È¤ª¤è¤Ó¥Õ¥ì¡¼¥à¤ò´Þ¤á¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È°Ê³°¤ÎÉôʬ¤ÇHTML 3\&.2¤Ë½àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£¥Õ¥ì¡¼¥à¡¦¥»¥Ã¥È¤Î¤¿¤á¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤ÏHTML 4\&.0¤¬¿ä¾©¤µ¤ì¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¤è¤ê¾®¤µ¤¤µ­¹æ(<)¤ª¤è¤Ó¤è¤êÂ礭¤¤µ­¹æ(>)¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢\fI<\fR¤ª¤è¤Ó\fI>\fR¤Èµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Æ±Íͤˡ¢¥¢¥ó¥Ñ¥µ¥ó¥É(&)¤Ï\fI&\fR¤Èµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢ÂÀ»ú¤ÎHTML¥¿¥°\fI<b>\fR¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * This is a <b>doc</b> comment\&. + * @see java\&.lang\&.Object + */ +.fi +.if n \{\ +.RE +.\} +ÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î²òÀÏ»þ¤Ë¡¢³Æ¹Ô¤ÎÀèÆ¬¤Ë¤¢¤ë¥¢¥¹¥¿¥ê¥¹¥¯(*)ʸ»ú¤ÏÇË´þ¤µ¤ì¤Þ¤¹¡£ºÇ½é¤Î¥¢¥¹¥¿¥ê¥¹¥¯(*)ʸ»ú¤è¤êÁ°¤Ë¤¢¤ë¶õÇò¤ä¥¿¥Ö¤âÇË´þ¤µ¤ì¤Þ¤¹¡£¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò¾Êά¤·¤¿¾ì¹ç¡¢¥¤¥ó¥Ç¥ó¥È¤òÊÝ»ý¤·¤¿¤Þ¤Þ¤Ç¥µ¥ó¥×¥ë¡¦¥³¡¼¥É¤ò\fI<PRE>\fR¥¿¥°Æâ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ËľÀÜŽ¤êÉÕ¤±¤é¤ì¤ë¤è¤¦¤Ë¡¢ÀèÆ¬¤Î¶õÇòʸ»ú¤Ïºï½ü¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥Ö¥é¥¦¥¶¤Ï¡¢¶õÇòʸ»ú¤ò¥¿¥Ö¤è¤ê¤â°ìΧ¤Ë²ò¼á¤·¤Þ¤¹¡£¥¤¥ó¥Ç¥ó¥È¤Îµ¯ÅÀ¤Ï(¶èÀÚ¤êʸ»ú\fI/**\fR¤Þ¤¿¤Ï\fI<PRE>\fR¥¿¥°¤Ç¤Ï¤Ê¤¯)º¸¥Þ¡¼¥¸¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£ +ºÇ½é¤Îʸ.PP +³Æ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤Ï¡¢Àë¸À¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´Ø¤¹¤ë´Ê·é¤«¤Ä´°Á´¤Ê¥µ¥Þ¥ê¡¼Ê¸¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Îʸ¤Ï¡¢¶õÇò¡¢¥¿¥Ö¡¢¤Þ¤¿¤Ï¹Ô½ªÎ»Ê¸»ú¤¬Â³¤¯ºÇ½é¤Î¥Ô¥ê¥ª¥É¡¢¤Þ¤¿¤ÏºÇ½é¤Î¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤¬¤¢¤ë°ÌÃ֤ǽª¤ï¤ê¤Þ¤¹¡£ºÇ½é¤Îʸ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆHTML¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¤¢¤ë¥á¥ó¥Ð¡¼¤Î¥µ¥Þ¥ê¡¼¤ÎÉôʬ¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +Ê£¿ô¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À.PP +Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢1¤Ä¤Îʸ¤ÇÊ£¿ô¤Î¥Õ¥£¡¼¥ë¥É¤òÀë¸À¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Îʸ¤Ë¤Ï¡¢1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤·¤«µ­½Ò¤Ç¤­¤Þ¤»¤ó¡£¤½¤Î¥³¥á¥ó¥È¤¬¡¢¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¥Õ¥£¡¼¥ë¥É¤´¤È¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢³Æ¥Õ¥£¡¼¥ë¥É¤òÊÌ¡¹¤Îʸ¤ÇÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï¡¢1¤Ä¤ÎÀë¸À¤È¤·¤Æµ­½Ò¤¹¤ë¤ÈÉÔŬÀڤǤ¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Àë¸À¤ò2¤Ä¤Ëʬ¤±¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl * The horizontal and vertical distances of point (x,y) -.fl */ -.fl -public int x, y; // Avoid this -.fl -\fP +public int x, y; // Avoid this + .fi -.LP -¾åµ­¤Î¥³¡¼¥É¤«¤é¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¾å¤Î¥³¡¼¥É¤«¤é¼¡¤Î¤è¤¦¤Ê¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -public int \fP\f3x\fP -.fl +public int x .fi -.RS 3 -The horizontal and vertical distances of point (x,y) +.if n \{\ .RE +.\} +.PP +The horizontal and vertical distances of point (x, y)\&. +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -public int \fP\f3y\fP -.fl +public int y .fi -.RS 3 -The horizontal and vertical distances of point (x,y) +.if n \{\ .RE -.LP -\f3¸«½Ð¤·¥¿¥°¤Ï¤Ê¤ë¤Ù¤¯»ÈÍѤ·¤Ê¤¤\fP \- ¥á¥ó¥Ð¡¼¤ËÂФ·¤Æ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢<H1> ¤ä <H2> ¤Ê¤É¤Î HTML ¸«½Ð¤·¥¿¥°¤Ï¡¢¤Ê¤ë¤Ù¤¯»È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ Javadoc ¥Ä¡¼¥ë¤Ï¡¢´°Á´¤Ë¹½Â¤²½¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ê¹½Â¤²½¥¿¥°¤¬»È¤ï¤ì¤Æ¤¤¤ë¤È¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î·Á¼°¤¬°­±Æ¶Á¤ò¼õ¤±¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥¯¥é¥¹¤ä¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥á¥ó¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¸«½Ð¤·¥¿¥°¤ò»È¤Ã¤ÆÆÈ¼«¤Î¹½Â¤¤òÁȤßΩ¤Æ¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£ -.SS -¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Î¼«Æ°¥³¥Ô¡¼ -.LP -Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤Î¾ì¹ç¤Ë¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤Þ¤¿¤Ï¡Ö·Ñ¾µ¡×¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤ÓÆþ¤ì»Ò¤Î¥¯¥é¥¹¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Þ¤»¤ó¡£ -.RS 3 -.TP 2 -o -\f3¼«Æ°Åª¤Ë¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Æ¸«¤Ä¤«¤é¤Ê¤¤¥Æ¥­¥¹¥È¤òËä¤á¤ë\fP \- ¼çÀâÌÀ¡¢ \f2@return\fP ¥¿¥°¡¢ \f2@param\fP ¥¿¥°¡¢¤Þ¤¿¤Ï \f2@throws\fP ¥¿¥°¤¬¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Ë¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Þ¤¿¤Ï¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¤½¤ÎÂоݤȤʤë¥á¥½¥Ã¥É¤«¤é¡¢Âбþ¤¹¤ë¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¥³¥á¥ó¥È¤ò¡¢¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë½¾¤Ã¤Æ¥³¥Ô¡¼¤·¤Þ¤¹¡£ -.LP -¸·Ì©¤Ë¤Ï¡¢ÆÃÄê¤Î¥Ñ¥é¥á¡¼¥¿¤Î \f2@param\fP ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥Ñ¥é¥á¡¼¥¿¤Î¥³¥á¥ó¥È¤¬¡¢¾å°Ì¤Î·Ñ¾µ³¬ÁؤΥ᥽¥Ã¥É¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ÆÃÄê¤ÎÎã³°¤Î \f2@throws\fP ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤ÎÎã³°¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤«¤®¤ê¡¢ \f2@throws\fP ¥¿¥°¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.LP -¤³¤Îưºî¤Ï¥Ð¡¼¥¸¥ç¥ó 1.3 °ÊÁ°¤Îưºî¤È¤ÏÂоÈŪ¤Ç¤¹¡£¤³¤ì¤Þ¤Ç¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¤¬Â¸ºß¤¹¤ì¤Ð¡¢¥³¥á¥ó¥È¤Ï°ìÀڷѾµ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ -.TP 2 -o -\f3{@inheritDoc} ¥¿¥°¤ò´Þ¤à¥³¥á¥ó¥È¤òÌÀ¼¨Åª¤Ë·Ñ¾µ¤¹¤ë\fP \- ¥¤¥ó¥é¥¤¥ó¥¿¥° \f2{@inheritDoc}\fP ¤ò¡¢¥á¥½¥Ã¥É¤Î¼çÀâÌÀÆâ¤Þ¤¿¤Ï \f2@return\fP ¥¿¥°¡¢ \f2@param\fP ¥¿¥°¡¢¤Þ¤¿¤Ï \f2@throws\fP ¤Î¤¤¤º¤ì¤«¤Î¥¿¥°¥³¥á¥ó¥ÈÆâ¤ËÁÞÆþ¤·¤Þ¤¹¡£Âбþ¤¹¤ë·Ñ¾µ¤µ¤ì¤¿¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¥³¥á¥ó¥È¤¬¤½¤Î°ÌÃ֤˥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +.\} +.PP +The horizontal and vertical distances of point (x, y)\&. +¥Ø¥Ã¥À¡¼¡¦¥¿¥°¤Î»ÈÍÑ.PP +¥á¥ó¥Ð¡¼¤ËÂФ·¤Æ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢\fI<H1>\fR¤ä\fI<H2>\fR¤Ê¤É¤ÎHTML¸«½Ð¤·¥¿¥°¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢´°Á´¤Ê¹½Â¤²½¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ê¹½Â¤²½¥¿¥°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤È¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î·Á¼°¤¬°­±Æ¶Á¤ò¼õ¤±¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥¯¥é¥¹¤ä¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥á¥ó¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¸«½Ð¤·¤ò»ÈÍѤ·¤ÆÆÈ¼«¤Î¹½Â¤¤ò»ØÄꤷ¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£ +.SS "¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î·Ñ¾µ" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Æ¡¢·çÍ¤¿¥Æ¥­¥¹¥È¤òÆþÎϤ·¤¿¤ê¡¢ÌÀ¼¨Åª¤Ë¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤ò·Ñ¾µ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Þ¤»¤ó¡£ +.PP +\fBÃí°Õ:\fR +¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤ËÍøÍѤ¹¤ë¤Ë¤Ï¡¢·Ñ¾µ¤·¤¿¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¥Ñ¥¹¤Î¤ß¤ËÃÖ¤«¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¡¢¥¯¥é¥¹¤â¥Ñ¥Ã¥±¡¼¥¸¤âÅϤ¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÅÀ¤Ï¥ê¥ê¡¼¥¹1\&.3\&.\fIn\fR°ÊÁ°¤È¤ÏÂоÈŪ¤Ç¤¹¡£¤³¤ì¤Þ¤Ç¤Ï¡¢¥¯¥é¥¹¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ç¤¢¤ë¤³¤È¤¬É¬ÍפǤ·¤¿¡£ +·çÍî¥Æ¥­¥¹¥È¤ÎÆþÎÏ.PP +¼çÀâÌÀ¡¢¤Þ¤¿¤Ï\fI@return\fR¡¢\fI@param\fR¡¢\fI@throws\fR¥¿¥°¤¬¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤«¤é·çÍ¤Æ¤¤¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Âбþ¤¹¤ë¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¡¦¥³¥á¥ó¥È¤ò¡¢¤½¤ì¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Þ¤¿¤Ï¼ÂÁõ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É(¤¢¤ë¾ì¹ç)¤«¤é¥³¥Ô¡¼¤·¤Þ¤¹¡£¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î·Ñ¾µ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +ÆÃÄê¤Î¥Ñ¥é¥á¡¼¥¿¤Î\fI@param\fR¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥Ñ¥é¥á¡¼¥¿¤Î¥³¥á¥ó¥È¤¬¡¢¾å°Ì¤Î·Ñ¾µ³¬ÁؤΥ᥽¥Ã¥É¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ÆÃÄê¤ÎÎã³°¤Î\fI@throws\fR¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤ÎÎã³°¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤«¤®¤ê¡¢\fI@throws\fR¥¿¥°¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +.PP +¤³¤Îưºî¤Ï¥ê¥ê¡¼¥¹1\&.3°ÊÁ°¤Îưºî¤È¤ÏÂоÈŪ¤Ç¤¹¡£¤³¤ì¤Þ¤Ç¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¤¬Â¸ºß¤¹¤ì¤Ð¡¢¥³¥á¥ó¥È¤Ï°ìÀڷѾµ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ +.PP +javadoc¥¿¥°¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +ÌÀ¼¨Åª¤Ê·Ñ¾µ.PP +\fI{@inheritDoc}\fR¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤ò¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¤Þ¤¿¤Ï\fI@return\fR¡¢\fI@param\fR¡¢\fI@throws\fR¥¿¥°¡¦¥³¥á¥ó¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£Âбþ¤¹¤ë·Ñ¾µ¤µ¤ì¤¿¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¡¦¥³¥á¥ó¥È¤Ï¡¢¤½¤Î¾ì½ê¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +.SS "¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·Ñ¾µ" +.PP +¥³¥á¥ó¥È¤Î·Ñ¾µ¤Ï¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¤Î·Ñ¾µ¤Î¡¢¹Í¤¨¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¾ì¹ç .RE -.LP -¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¼ÂºÝ¤Ë¥³¥Ô¡¼¤ËÍøÍѤ¹¤ë¤Ë¤Ï¡¢·Ñ¾µ¤·¤¿¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ \-sourcepath ¤Ç»ØÄꤷ¤¿¥Ñ¥¹¤À¤±¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¡¢¥¯¥é¥¹¤â¥Ñ¥Ã¥±¡¼¥¸¤âÅϤ¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÅÀ¤Ï¡¢¥¯¥é¥¹¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ 1.3.x °ÊÁ°¤Î¥ê¥ê¡¼¥¹¤È°Û¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¤Î·Ñ¾µ\fP \- ¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ë¼¡¤Î 3 ¤Ä¤Î¾ì¹ç¤Ë¡¢¥³¥á¥ó¥È¤Î·Ñ¾µ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë -.TP 2 -o -¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë -.TP 2 -o -¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¾ì¹ç .RE -.LP -ºÇ½é¤Î 2 ¤Ä¤Î¥±¡¼¥¹ (¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¾ì¹ç) ¤Ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤½¤Î¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥ÈÆâ¤Ë¡Ö¥ª¡¼¥Ð¡¼¥é¥¤¥É¡×¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£ -.LP -3 ¤ÄÌܤΥ±¡¼¥¹ (ÆÃÄê¤Î¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç) ¤Ç¤Ï¡¢javadoc ¥Ä¡¼¥ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥ÈÆâ¤Ë¡ÖÄêµÁ¡×¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¡¢¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤ê¤Þ¤»¤ó¡£ -.LP -\f3¥á¥½¥Ã¥É¤ÎÀâÌÀ¤¬·Ñ¾µ¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à\fP \- ¤¢¤ë¥á¥½¥Ã¥É¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï {@inheritDoc} ¥¿¥°¤¬¤¢¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆÅ¬Àڤʥ³¥á¥ó¥È¤ò¸¡º÷¤·¤Þ¤¹¡£ ¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢¤â¤Ã¤È¤âŬÀڤʥɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¸¡º÷¤Ç¤­¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤ª¤ê¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤è¤ê¤â¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Í¥À褵¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -ľÀܤ˼ÂÁõ¤µ¤ì¤Æ¤¤¤ë (¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë) ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢¥á¥½¥Ã¥É¤ÎÀë¸À¤Ç implements (¤Þ¤¿¤Ï extends) ¥­¡¼¥ï¡¼¥É¤Î¤¢¤È¤ËÅо줹¤ë½ç½ø¤Ç¡¢1 ¤Ä¤º¤ÄÄ´¤Ù¤ë¡£¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤ÆºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òºÎÍѤ¹¤ë -.TP 3 -2. -¼ê½ç 1 ¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢Ä¾ÀܼÂÁõ¤µ¤ì¤Æ¤¤¤ë (¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë) ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤½¤ì¤¾¤ì¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòºÆµ¢Åª¤ËŬÍѤ¹¤ë (¤½¤ÎºÝ¤Î½ç½ø¤Ï¡¢¼ê½ç 1 ¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ´¤Ù¤¿¤È¤­¤Î½ç½ø¤ÈƱ¤¸) -.TP 3 -3. -¼ê½ç 2 ¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¡¢¤³¤Î¥¯¥é¥¹¤¬ Object °Ê³°¤Î¥¯¥é¥¹¤Ç¤¢¤ë (¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤Ê¤¤) ¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë½èÍý¤¹¤ë -.RS 3 -.TP 3 -a. -¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Ë¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤Î¥³¥á¥ó¥È¤òºÎÍѤ¹¤ë -.TP 3 -b. -¼ê½ç 3a ¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòŬÍѤ¹¤ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç +.RE +.PP +ºÇ½é¤Î2¤Ä¤Î¥±¡¼¥¹¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥ÈÆâ¤Ë\fI¡Ö¥ª¡¼¥Ð¡¼¥é¥¤¥É¡×\fR¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¤Þ¤¹¡£¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +3¤ÄÌܤΥ±¡¼¥¹(ÆÃÄê¤Î¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç)¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥ÈÆâ¤Ë\fI¡ÖÄêµÁ¡×\fR¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¤Þ¤¹¡£¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.SS "¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î¥¢¥ë¥´¥ê¥º¥à" +.PP +¥á¥½¥Ã¥É¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬¤Ê¤¤¡¢¤Þ¤¿¤Ï\fI{@inheritDoc}\fR¥¿¥°¤¬¤¢¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆÅ¬ÍѤǤ­¤ë¥³¥á¥ó¥È¤ò¸¡º÷¤·¤Þ¤¹¡£¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢ºÇ¤âÆÃÄꤵ¤ì¤ëŬÍѲÄǽ¤Ê¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òõ¤·¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤è¤ê¤â¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÍ¥À褹¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +ľÀܤ˼ÂÁõ¤µ¤ì¤Æ¤¤¤ë(¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë)¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢¥á¥½¥Ã¥É¤ÎÀë¸À¤Ç\fIimplements\fR(¤Þ¤¿¤Ï\fIextends\fR)¤È¤¤¤¦¸ì¤Î¸å¤Ë½Ð¸½¤¹¤ë½ç½ø¤Ç¡¢1¤Ä¤º¤ÄÄ´¤Ù¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤ÆºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òºÎÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +¼ê½ç1¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢Ä¾ÀܼÂÁõ¤µ¤ì¤Æ¤¤¤ë(¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë)¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤½¤ì¤¾¤ì¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòºÆµ¢Åª¤ËŬÍѤ·¤Þ¤¹(¤½¤ÎºÝ¤Î½ç½ø¤Ï¡¢¼ê½ç1¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ´¤Ù¤¿¤È¤­¤Î½ç½ø¤ÈƱ¤¸)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +¼ê½ç2¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¡¢¤³¤Î¥¯¥é¥¹¤¬\fIObject\fR°Ê³°¤Î¥¯¥é¥¹¤Ç¤¢¤ë¤¬¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë½èÍý¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Ë¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥á¥ó¥È¤òºÎÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +¼ê½ç3a¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòºÆµ¢Åª¤ËŬÍѤ·¤Þ¤¹¡£ .RE .RE -.SH "javadoc ¥¿¥°" -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢Java ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ËËä¤á¹þ¤Þ¤ì¤¿ÆÃÊ̤ʥ¿¥°¤ò²òÀϤ·¤Þ¤¹¡£¤³¤ì¤é¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥°¤ò»È¤¦¤È¡¢½ñ¼°¤ÎÀ°¤Ã¤¿´°Á´¤Ê API ¥É¥­¥å¥á¥ó¥È¤ò¥½¡¼¥¹¥³¡¼¥É¤«¤é¼«Æ°Åª¤ËÀ¸À®¤Ç¤­¤Þ¤¹¡£¥¿¥°¤Ï¡Ö¥¢¥Ã¥È¥Þ¡¼¥¯¡×µ­¹æ (\f2@\fP) ¤Ç»Ï¤Þ¤ê¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Î¶èÊ̤¬¤¢¤ê¤Þ¤¹¡£¥¿¥°¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤ò»ÈÍѤ·¤Æ¡¢É½¼¨¤µ¤ì¤Æ¤¤¤ë¤È¤ª¤ê¤ËÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¿¥°¤Ï¡¢¹Ô¤ÎÀèÆ¬ (Àè¹Ô¤¹¤ë¶õÇò¤È¾Êά²Äǽ¤Ê¥¢¥¹¥¿¥ê¥¹¥¯¤Ï½ü¤¯) ¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£´·Îã¤È¤·¤Æ¡¢Æ±¤¸Ì¾Á°¤Î¥¿¥°¤Ï 1 ¤«½ê¤Ë¤Þ¤È¤á¤Æµ­½Ò¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2@see\fP ¥¿¥°¤Ï¤¹¤Ù¤ÆÆ±¤¸¾ì½ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£ -.LP -¥¿¥°¤Ë¤Ï 2 ¤Ä¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f3¥Ö¥í¥Ã¥¯¥¿¥°\fP \- ¼çÀâÌÀ¤Ë³¤¯¥¿¥°¥»¥¯¥·¥ç¥óÆâ¤Ë¤Î¤ßµ­½Ò²Äǽ¡£¥Ö¥í¥Ã¥¯¥¿¥°¤Ï¡¢ \f2@tag\fP ¤Î·Á¼°¤ò¤È¤ê¤Þ¤¹¡£ -.TP 2 -o -\f3¥¤¥ó¥é¥¤¥ó¥¿¥°\fP \- ¼çÀâÌÀÆâ¡¢¤Þ¤¿¤Ï¥Ö¥í¥Ã¥¯¥¿¥°¤Î¥³¥á¥ó¥ÈÆâ¤Ëµ­½Ò²Äǽ¡£¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ï¡¢ \f2{@tag}\fP.¤Î¤è¤¦¤ËÃæ³ç¸Ì¤Ç°Ï¤ß¤Þ¤¹¡£ +.SH "JAVADOC¥¿¥°" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤ËËä¤á¹þ¤Þ¤ì¤¿ÆÃÊ̤ʥ¿¥°¤ò²òÀϤ·¤Þ¤¹¡£\fIjavadoc\fR¥¿¥°¤ò»ÈÍѤ¹¤ë¤È¡¢´°Á´¤ÊÀ°·Á¼°¤ÎAPI¤ò¥½¡¼¥¹¡¦¥³¡¼¥É¤«¤é¼«Æ°Åª¤ËÀ¸À®¤Ç¤­¤Þ¤¹¡£¥¿¥°¤Ï¥¢¥Ã¥È¥Þ¡¼¥¯µ­¹æ(\fI@\fR)¤Ç»Ï¤Þ¤ê¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢É½¼¨¤µ¤ì¤Æ¤¤¤ë¤È¤ª¤ê¤ËÂçʸ»ú¤È¾®Ê¸»ú¤ò»ÈÍѤ·¤ÆÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¿¥°¤Ï¡¢¹Ô¤ÎÀèÆ¬(ÀèÆ¬¤Î¶õÇòʸ»ú¤È¾Êά²Äǽ¤Ê¥¢¥¹¥¿¥ê¥¹¥¯¤Î¸å)¤ËÃÖ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥Æ¥­¥¹¥È¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£´·Îã¤È¤·¤Æ¡¢Æ±¤¸Ì¾Á°¤Î¥¿¥°¤Ï1²Õ½ê¤Ë¤Þ¤È¤á¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@see\fR¥¿¥°¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢¤¹¤Ù¤ÆÆ±¤¸¾ì½ê¤Ë¤Þ¤È¤á¤ÆÇÛÃÖ¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¥¿¥°¤Ë¤Ï¡¢¼¡¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ö¥í¥Ã¥¯¡¦¥¿¥°: ¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Ï¼çÀâÌÀ¤Ë³¤¯¥¿¥°¡¦¥»¥¯¥·¥ç¥óÆâ¤Ë¤Î¤ßÇÛÃÖ¤·¤Þ¤¹¡£¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Ï¡¢\fI@tag\fR¤Î·Á¼°¤ò¤È¤ê¤Þ¤¹¡£ .RE -.LP -º£¸å¤Î¥ê¥ê¡¼¥¹¤ÇƳÆþ¤µ¤ì¤ë¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖProposed Javadoc Tags¡×\fP @ -.fi -http://java.sun.com/j2se/javadoc/proposed\-tags.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¸½»þÅÀ¤ÇÍ­¸ú¤Ê¥¿¥°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°: ¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤Ï¼çÀâÌÀÆâ¤Þ¤¿¤Ï¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Î¥³¥á¥ó¥ÈÆâ¤ÎǤ°Õ¤Î¾ì½ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤Ï\fI{@tag}\fR¤Î¤è¤¦¤ËÃæ¥«¥Ã¥³¤Ç°Ï¤ß¤Þ¤¹¡£ +.RE +.PP +¥«¥¹¥¿¥à¡¦¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-tag tagname:Xaoptcmf:"taghead"¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥¿¥°¤ÎÀâÌÀ" +.PP +@author \fIname\-text\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +\fI\-author\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢»ØÄꤷ¤¿Ì¾Á°¤Î¥Æ¥­¥¹¥È¤ÎºîÀ®¼Ô¥¨¥ó¥È¥ê¤òÀ¸À®¤µ¤ì¤ë¥É¥­¥å¥á¥ó¥È¤ËÄɲä·¤Þ¤¹¡£1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ËÊ£¿ô¤Î\fI@author\fR¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£1¤Ä¤Î\fI@author\fR¥¿¥°¤Ë1¤Ä¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ê£¿ô¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÌ¾Á°¤È̾Á°¤Î´Ö¤Ë¥«¥ó¥Þ(,)¤È¶õÇòʸ»ú¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥ÈÁ´ÂΤ¬²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥«¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¡¢1¹Ô¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@author¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@author)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +{@code \fItext\fR} +.RS 4 +JDK 1\&.5¤ÇƳÆþ +.sp +\fI<code>{@literal}</code>\fR¤ÈƱÅù¤Ç¤¹¡£ +.sp +¥Æ¥­¥¹¥È¤òHTML¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤Ï¥Í¥¹¥È¤µ¤ì¤¿Javadoc¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢text¤ò¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Çɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿(\fI<Object>\fR)¡¢ÉÔÅù¹æ(\fI3 < 4\fR)¡¢Ìð°õ(\fI<\-\fR)¤Ê¤É¤Ç¡¢Ä̾ï¤Î»³¥«¥Ã¥³(<¤ª¤è¤Ó>)¤òHTML¥¨¥ó¥Æ¥£¥Æ¥£(\fI<\fR¤ª¤è¤Ó\fI>\fR)¤Î¤«¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È\fI{@code A<B>C}\fR¤Ï\fIA<B>C\fR¤È¤·¤ÆÊѹ¹¤µ¤ì¤º¤ËÀ¸À®¤µ¤ì¤¿HTML¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢\fI<B>\fR¤¬ÂÀ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤º¡¢¤½¤Î¥Õ¥©¥ó¥È¤Ï¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Ë¤Ê¤ê¤Þ¤¹¡£¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Ê¤·¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢\fI{@literal}\fR¥¿¥°¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +@deprecated \fIdeprecated\-text\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +¤³¤ÎAPI¤Ïưºî¤·Â³¤±¤Þ¤¹¤¬¡¢¤³¤ÎAPI¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤òÁ¦¤á¤ë¥³¥á¥ó¥È¤òÄɲä·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIdeprecated\-text\fR¤ò¼çÀâÌÀ¤ÎÁ°¤Ë°Üư¤·¤Æ¥¤¥¿¥ê¥Ã¥¯¤Ë¤·¡¢¤½¤ÎÁ°¤ËÂÀ»ú¤Î·Ù¹ð¡Ö¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¡×¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ +.sp +Èó¿ä¾©¥Æ¥­¥¹¥È¤ÎºÇ½é¤Îʸ¤Ç¤Ï¡¢¤½¤ÎAPI¤¬¿ä¾©¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿»þ´ü¤È¡¢ÂåÂØ¤È¤·¤Æ»ÈÍѤ¹¤ëAPI¤ò¥æ¡¼¥¶¡¼¤ËÄ󼨤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤³¤ÎºÇ½é¤Îʸ¤ò¡¢¥µ¥Þ¥ê¡¼¡¦¥»¥¯¥·¥ç¥ó¤Èº÷°ú¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤½¤Î¸å¤Îʸ¤ÇÈó¿ä¾©¤Ë¤Ê¤Ã¤¿Íýͳ¤òÀâÌÀ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ÂåÂØAPI¤ò»Ø¤·¼¨¤¹\fI{@link}\fR¥¿¥°(Javadoc 1\&.2°Ê¹ß¤Î¾ì¹ç)¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fI@deprecated annotation\fR¥¿¥°¤ò»ÈÍѤ·¤Æ¥×¥í¥°¥é¥àÍ×ÁǤòÈó¿ä¾©¤Ë¤·¤Þ¤¹¡£API¤òÈó¿ä¾©¤Ë¤¹¤ëÊýË¡¤È»þ´ü +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/deprecation/deprecation\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@deprecated¤Ë´Ø¤¹¤ë¹à + +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@deprecated)¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +{@docRoot} +.RS 4 +JDK 1\&.3¤ÇƳÆþ +.sp +À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤«¤é¤Î¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î(À¸À®Àè)¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎÁêÂХѥ¹¤òɽ¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢Ãøºî¸¢¤Î¥Ú¡¼¥¸¤ä²ñ¼Ò¤Î¥í¥´¤Ê¤É¡¢À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤«¤é»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤òÁȤ߹þ¤à¤È¤­¤ËÊØÍø¤Ç¤¹¡£Ä̾ï¤Ï¡¢³Æ¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤«¤éÃøºî¸¢¤Î¥Ú¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ +.sp +¤³¤Î\fI{@docRoot}\fR¥¿¥°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤â¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Ç¤â»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢Ç¤°Õ¤Î¥¿¥°(\fI@return\fR¡¢\fI@param\fR¤ª¤è¤Ó\fI@deprecated\fR¥¿¥°¤Ê¤É)¤Î¥Æ¥­¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¡¢¥Ø¥Ã¥À¡¼¡¢¥Õ¥Ã¥¿¡¼¤Þ¤¿¤ÏºÇ²¼Éô¤¬¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£\fIjavadoc \-bottom \*(Aq<a href="{@docRoot}/copyright\&.html">Copyright</a>\*(Aq\fR +.sp +\fI{@docRoot}\fR¥¿¥°¤òmakefileÆâ¤Ç¤³¤Î¤è¤¦¤ËÍøÍѤ¹¤ë¾ì¹ç¡¢°ìÉô¤Î\fImakefile\fR¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ã楫¥Ã¥³\fI{}\fRʸ»ú¤òÆÃÊ̤˥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Inprise MAKE¥Ð¡¼¥¸¥ç¥ó5\&.2¤òWindows¾å¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢\fI{{@docRoot}}\fR¤Î¤è¤¦¤Ë¡¢Ã楫¥Ã¥³¤òÆó½Å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤Ê¤É¤Î¥ª¥×¥·¥ç¥ó¤Ø¤Î°ú¿ô¤ò°Ï¤à¤Î¤Ë¡¢Æó½Å(°ì½Å¤Ç¤Ï¤Ê¤¯)°úÍÑÉä¤âɬÍפǤ¹(\fIhref\fR°ú¿ô¤ò°Ï¤à°úÍÑÉä¤Ï¾Êά)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Ï +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f3ƳÆþ¤µ¤ì¤¿ JDK/SDK ¤Î¥Ð¡¼¥¸¥ç¥ó\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥¿¥°\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@author\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@code}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@docRoot}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@deprecated\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@exception\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@inheritDoc}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@link}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@linkplain}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@literal}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@param\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@return\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@see\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@serial\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@serialData\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@serialField\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@since\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@throws\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@value}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@version\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.5 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.3 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.4 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.4 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.5 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.1 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.4 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 851 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥¿¥°\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 (\n(41u+\n(81u-\n(a-u)/2u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@author\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@code}\fP\h'|\n(41u'1.5 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@docRoot}\fP\h'|\n(41u'1.3 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@deprecated\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@exception\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@inheritDoc}\fP\h'|\n(41u'1.4 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@link}\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@linkplain}\fP\h'|\n(41u'1.4 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@literal}\fP\h'|\n(41u'1.5 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@param\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@return\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@see\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@serial\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@serialData\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@serialField\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@since\fP\h'|\n(41u'1.1 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@throws\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@value}\fP\h'|\n(41u'1.4 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@version\fP\h'|\n(41u'1.0 -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-44 -.LP -¥«¥¹¥¿¥à¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-tag ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 3 -@author\ name\-text -\-author ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢»ØÄꤵ¤ì¤¿ \f2name\-text\fP ¤ò´Þ¤à [ºîÀ®¼Ô] ¥¨¥ó¥È¥ê¤òÀ¸À®¥É¥­¥å¥á¥ó¥È¤ËÄɲä·¤Þ¤¹¡£1 ¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÊ£¿ô¤Î \f2@author\fP ¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£1 ¤Ä¤Î \f2@author\fP ¥¿¥°¤Ë 1 ¤Ä¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ê£¿ô¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÌ¾Á°¤È̾Á°¤Î´Ö¤Ë¥³¥ó¥Þ (\f2,\fP) ¤È¶õÇò¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥ÈÁ´ÂΤ¬¡¢²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»È¤¦É¬Íפ¬¤¢¤ë¤È¤­¤Ï¡¢1 ¤Ä¤Î¥¿¥°¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.RE -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¡×¤ª¤è¤Ó -.na -\f2@author ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@author¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -@deprecated\ deprecated\-text Ãí: @Deprecated Ãí¼á¤ò»È¤Ã¤ÆÆÃÄê¤Î¥×¥í¥°¥é¥àÍ×ÁǤòÈó¿ä¾©¤Ë¤Ç¤­¤Þ¤¹¡£ -.RE -.LP -¤³¤Î API ¤Ïưºî¤·Â³¤±¤Þ¤¹¤¬¡¢¤³¤Î API ¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¤³¤È¤ò¼¨¤¹¥³¥á¥ó¥È¤òÄɲä·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2deprecated\-text\fP ¤ò¼çÀâÌÀ¤ÎÁ°¤Ë°Üư¤·¤Æ¥¤¥¿¥ê¥Ã¥¯¤Ë¤·¡¢¤½¤ÎÁ°¤Ë¥Ü¡¼¥ë¥É¤Î·Ù¹ð¡Ö¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£¡×¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ -.LP -\f2deprecated\-text\fP ¤ÎºÇ½é¤Îʸ¤Ç¤Ï¡¢¾¯¤Ê¤¯¤È¤â¡¢¤½¤Î API ¤¬¿ä¾©¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿»þ´ü¤È¡¢ÂåÂØ»ÈÍѤ¹¤ë¤Ù¤­ API ¤òÆÉ¼Ô¤ËÄ󼨤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤³¤ÎºÇ½é¤Îʸ¤À¤±¤ò¡¢³µÍ×¥»¥¯¥·¥ç¥ó¤Èº÷°ú¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤½¤Î¤¢¤È¤Îʸ¤Ç¤Ï¡¢¤½¤Î API ¤¬¿ä¾©¤µ¤ì¤Ê¤¤Íýͳ¤òÀâÌÀ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Âå¤ï¤ê¤ÎAPI ¤ò»Ø¤·¼¨¤¹ \f2{@link}\fP ¥¿¥° ( Javadoc 1.2 °Ê¹ß¤Î¾ì¹ç) ¤ò´Þ¤á¤ë¤Ù¤­¤Ç¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@deprecated ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@deprecated¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 2 -o -Javadoc 1.2 °Ê¹ß¤Ç¤Ï \f2{@link}\fP ¥¿¥°¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢É¬Íפʾì½ê¤Ë¥¤¥ó¥é¥¤¥ó¤Ç¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl /** -.fl - * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)} -.fl + * See the <a href="{@docRoot}/copyright\&.html">Copyright</a>\&. */ -.fl - -.fl -\fP .fi -.TP 2 -o -Javadoc 1.1 ¤Î¾ì¹ç¤Îɸ½à·Á¼°¤Ï¡¢ \f2@see\fP ¥¿¥° (¥¤¥ó¥é¥¤¥ó¤ÏÉÔ²Ä) ¤ò \f2@deprecated\fP ¥¿¥°¤´¤È¤ËºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£ +.if n \{\ .RE -.LP -¿ä¾©¤µ¤ì¤Ê¤¤¥¿¥°¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2@deprecated ¥¿¥°\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.html¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -{@code\ text} -\f2<code>{@literal}</code>\fP ¤ÈƱÅù¤Ç¤¹¡£ -.LP -¥Æ¥­¥¹¥È¤ò \f2HTML ¥Þ¡¼¥¯¥¢¥Ã¥×\fP ¤Þ¤¿¤Ï \f2Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ javadoc ¥¿¥°\fP ¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢text ¤ò¥³¡¼¥É¥Õ¥©¥ó¥È¤Çɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÇÄ̾ï¤Î»³³ç¸Ì (\f2<\fP ¤ª¤è¤Ó \f2>\fP) ¤ò HTML ¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (\f2<\fP ¤ª¤è¤Ó \f2>\fP) ¤ÎÂå¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿ (\f2<Object>\fP)¡¢ÉÔÅù¹æ (\f23 < 4\fP)¡¢Ìð°õ (\f2<\-\fP) ¤Ê¤É¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È -.nf -\f3 -.fl - \fP\f4{@code A<B>C}\fP\f3 -.fl - -.fl -\fP -.fi -.LP -¤Ï¡¢À¸À®¤µ¤ì¤¿ HTML ¥Ú¡¼¥¸¤Ç¡¢¼¡¤Î¤è¤¦¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - \fP\f4A<B>C\fP\f3 -.fl - -.fl -\fP -.fi -.LP -¤³¤³¤ÇÃíÌܤ¹¤Ù¤­ÅÀ¤Ï¡¢ \f2<B>\fP ¤¬ÂÀ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤º¡¢¤½¤Î¥Õ¥©¥ó¥È¤Ï¥³¡¼¥É¥Õ¥©¥ó¥È¤Ë¤Ê¤ë¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£ -.LP -¥³¡¼¥É¥Õ¥©¥ó¥È¤Ê¤·¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢\f2{@literal}\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -{@docRoot} -À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤«¤é¸«¤¿¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î (À¸À®Àè¤Î) ¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎÁêÂХѥ¹¤òɽ¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢Ãøºî¸¢¤Î¥Ú¡¼¥¸¤ä²ñ¼Ò¤Î¥í¥´¤Ê¤É¡¢À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤«¤é»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤òÁȤ߹þ¤à¤È¤­¤ËÊØÍø¤Ç¤¹¡£Ä̾ï¤Ï¡¢³Æ¥Ú¡¼¥¸¤Î²¼Éô¤«¤éÃøºî¸¢¤Î¥Ú¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ -.LP -¤³¤Î \f2{@docRoot}\fP ¥¿¥°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç¤â¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Ç¤â»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢@return¡¢@param¡¢@deprecated ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ -.RS 3 -.TP 3 -1. -¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï¡¢¥Ø¥Ã¥À¡¼¡¢¥Õ¥Ã¥¿¡¼¡¢¤Þ¤¿¤Ï¥Ü¥È¥à¥Î¡¼¥È¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>' -.fl - -.fl -\fP -.fi -.LP -Ãí \- \f2{@docRoot}\fP ¤ò Makefile Æâ¤Ç¤³¤Î¤è¤¦¤ËÍøÍѤ¹¤ë¾ì¹ç¡¢°ìÉô¤Î Makefile ¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ãæ³ç¸Ì { } ʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Inprise MAKE ¥Ð¡¼¥¸¥ç¥ó 5.2 ¤ò Windows ¾å¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢ \f2{{@docRoot}} ¤Î¤è¤¦¤Ë¡¢Ãæ³ç¸Ì¤òÆó½Å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹\fP¡£¤µ¤é¤Ë¡¢ \f2\-bottom\fP ¤Ê¤É¤Î¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤ò¡¢Ã±°ì°úÍÑÉä¤Ç¤Ï¤Ê¤¯Æó½Å°úÍÑÉä¤Ç°Ï¤àɬÍפ⤢¤ê¤Þ¤¹ ( \f2href\fP ¤Î°ú¿ô¤ò°Ï¤à°úÍÑÉä¤Ï¾Êά)¡£ -.TP 3 -2. -¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÃæ¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - /** -.fl - * See the <a href="{@docRoot}/copyright.html">Copyright</a>. -.fl - */ -.fl - -.fl -\fP -.fi -.RE -.LP -¤³¤Î¥¿¥°¤¬É¬ÍפÊÍýͳ¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤¬¡¢¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸¿¼¤µ¤ò»ý¤Ä³¬Áع½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - <a href="{@docRoot}/copyright.html"> -.fl - -.fl -\fP -.fi -.LP -¼¡¤Î¤è¤¦¤Ë²ò·è¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - <a href="../../copyright.html"> java/lang/Object.java ¤Î¾ì¹ç -.fl - -.fl -\fP -.fi -.LP -¤«¤Ä -.nf -\f3 -.fl - <a href="../../../copyright.html"> java/lang/ref/Reference.java ¤Î¾ì¹ç -.fl - -.fl -\fP -.fi -.LP -.TP 3 -@exception\ class\-name\ description -\f2@exception\fP ¥¿¥°¤Ï \f2@throws\fP ¤ÈƱµÁ¤Ç¤¹¡£ -.LP -.TP 3 -{@inheritDoc}\ -¤â¤Ã¤È¤â¶á¤¤·Ñ¾µ²Äǽ¤Ê¥¯¥é¥¹¤Þ¤¿¤Ï¼ÂÁõ²Äǽ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¡¢¤³¤Î¥¿¥°¤Î¸½ºß¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¡¢¥É¥­¥å¥á¥ó¥È¤ò·Ñ¾µ (¥³¥Ô¡¼) ¤·¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ë¤è¤ê¡¢¤è¤êÈÆÍÑŪ¤Ê¥³¥á¥ó¥È¤ò·Ñ¾µ¥Ä¥ê¡¼¤Î¾å°Ì¤Ëµ­½Ò¤·¡¢¥³¥Ô¡¼¤·¤¿¥Æ¥­¥¹¥È¤ò»È¤Ã¤Æµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -¤³¤Î¥¿¥°¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¼¡¤Î°ÌÃ֤ǤΤßÍ­¸ú¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¥Ö¥í¥Ã¥¯Æâ¡£¤³¤Î¾ì¹ç¡¢¼çÀâÌÀ¤Ï¡¢¾å°Ì³¬ÁؤΥ¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë -.TP 2 -o -¥á¥½¥Ã¥É¤Î @return¡¢@param¡¢@throws ¥¿¥°¤Î¥Æ¥­¥¹¥È°ú¿ôÆâ¡£¤³¤Î¾ì¹ç¡¢¥¿¥°¥Æ¥­¥¹¥È¤Ï¡¢¾å°Ì³¬ÁؤÎÂбþ¤¹¤ë¥¿¥°¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë -.RE -.LP -·Ñ¾µ³¬Áؤǥ³¥á¥ó¥È¤ò¸«¤Ä¤±¤ëÊýË¡¤Ë´Ø¤¹¤ëÀµ³Î¤ÊÀâÌÀ¤Ë¤Ä¤¤¤Æ¡¢¡Ö¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Î¼«Æ°¥³¥Ô¡¼¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¥³¥á¥ó¥È¤Ï¡¢¤³¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¥ë¡¼¥ë¤Ë±þ¤¸¤Æ¡¢¼«Æ°Åª¤Ë·Ñ¾µ¤µ¤ì¤ë¤«¤É¤¦¤«¤¬·è¤Þ¤ê¤Þ¤¹¡£ -.LP -.TP 3 -{@link\ package.class#member\ label} -ɽ¼¨¥Æ¥­¥¹¥È \f2label\fP ¤È¤Î¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òÁÞÆþ¤·¤Þ¤¹¡£label ¤Ï¡¢»²¾È¥¯¥é¥¹¤Î»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î̾Á°¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢@return¡¢@param¡¢@deprecated ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ -.LP -¤³¤Î¥¿¥°¤Ï \f2@see\fP ¤ÈÈó¾ï¤Ë¤è¤¯»÷¤Æ¤¤¤Þ¤¹¡£¤É¤Á¤é¤â¡¢\f2package.class\fP\f2#\fP\f2member\fP ¤È \f2label\fP ¤Î»²¾È¤Î»ÅÊý¤¬Æ±¤¸¤Ç¡¢Í­¸ú¤Ê¹½Ê¸¤â¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¹¡£Â礭¤Ê°ã¤¤¤Ï¡¢ \f2{@link}\fP ¤Ç¤Ï¡¢[´ØÏ¢¹àÌÜ] ¥»¥¯¥·¥ç¥ó¤Ë¥ê¥ó¥¯¤¬ÇÛÃÖ¤µ¤ì¤ëÂå¤ï¤ê¤Ë¡¢¥¤¥ó¥é¥¤¥ó¤Î¥ê¥ó¥¯¤¬À¸À®¤µ¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¤Þ¤¿¡¢¥¤¥ó¥é¥¤¥ó¥Æ¥­¥¹¥È¤Î¤Û¤«¤ÎÉôʬ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢ \f2{@link}\fP ¥¿¥°¤ÎºÇ½é¤ÈºÇ¸å¤ËÃæ³ç¸Ì¤òµ­½Ò¤·¤Þ¤¹¡£¥é¥Ù¥ë¤ÎÃæ¤Ç¡Ö}¡×¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¡Ö}¡×¤ò»È¤¤¤Þ¤¹¡£ -.LP -1 ʸÆâ¤Ç»ÈÍѲÄǽ¤Ê \f2{@link}\fP ¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¼çÀâÌÀÉôʬ¡¢¤Þ¤¿¤Ï @deprecated¡¢@return¡¢@param ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤Ç»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥á¥ó¥È¤Ç¤Ï \f2getComponentAt(int, int)\fP ¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl -{@link #getComponentAt(int, int) getComponentAt} ¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.fl - -.fl -\fP -.fi -.LP -ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¾åµ­¤Î¥³¥á¥ó¥È¤«¤é¼¡¤Î HTML ¤¬À¸À®¤µ¤ì¤Þ¤¹ (¤³¤Î¥³¥á¥ó¥È¤¬Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç)¡£ -.nf -\f3 -.fl -<a href="Component.html#getComponentAt(int, int)">getComponentAt</a> ¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.fl - -.fl -\fP -.fi -.LP -¤³¤Î HTML ¤Ï¡¢Web ¥Ú¡¼¥¸¾å¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -getComponentAt ¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.fl - -.fl -\fP -.fi -.LP -\f2{@link}\fP ¤ò³ÈÄ¥¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤â²Äǽ¤Ë¤¹¤ë¤Ë¤Ï¡¢\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2{@link} ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#{@link}¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -{@linkplain\ package.class#member\ label} -¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤¬¥³¡¼¥É¥Õ¥©¥ó¥È¤Ç¤Ï¤Ê¤¯¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Çɽ¼¨¤µ¤ì¤ëÅÀ°Ê³°¤Ï \f2{@link}\fP ¤ÈƱ¤¸¤Ç¤¹¡£¥é¥Ù¥ë¤¬¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤ÈÊØÍø¤Ç¤¹¡£¼¡¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Îã: -.nf -\f3 -.fl - {@linkplain add() the overridden method} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.fl - -.fl -\fP -.fi -.LP -¤³¤ì¤Ï°Ê²¼¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -the overridden method ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -{@literal\ text} -¥Æ¥­¥¹¥È¤ò HTML ¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤ÏÆþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ javadoc ¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢ \f2text\fP ¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÇÄ̾ï¤Î»³³ç¸Ì (\f2<\fP ¤ª¤è¤Ó \f2>\fP) ¤ò HTML ¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (\f2<\fP ¤ª¤è¤Ó \f2>\fP) ¤ÎÂå¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿ (\f2<Object>\fP)¡¢ÉÔÅù¹æ (\f23 < 4\fP)¡¢Ìð°õ (\f2<\-\fP) ¤Ê¤É¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È -.nf -\f3 -.fl - \fP\f4{@literal A<B>C}\fP\f3 -.fl - -.fl -\fP -.fi -.LP -¤Ï¡¢À¸À®¤µ¤ì¤¿ HTML ¥Ú¡¼¥¸¤Ï¥Ö¥é¥¦¥¶¤Ç¼¡¤Î¤è¤¦¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -\f2\ \ \ \ \ \fPA<B>C -.LP -¤³¤³¤ÇÃíÌܤ¹¤Ù¤­ÅÀ¤Ï¡¢ \f2<B>\fP ¤¬ÂÀ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤º¡¢¤½¤Î¥Õ¥©¥ó¥È¤Ï¥³¡¼¥É¥Õ¥©¥ó¥È¤Ë¤Ê¤ë¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£ -.LP -¥³¡¼¥É¥Õ¥©¥ó¥È¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢\f2{@code}\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -@param\ parameter\-name description -»ØÄꤵ¤ì¤¿ \f2parameter\-name\fP ¤Î¤¢¤È¤Ë»ØÄꤵ¤ì¤¿ \f2description\fP ¤¬Â³¤¯¥Ñ¥é¥á¡¼¥¿¤ò¡¢[¥Ñ¥é¥á¡¼¥¿] ¥»¥¯¥·¥ç¥ó¤ËÄɲä·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢ \f2description\fP ¤òÊ£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥¯¥é¥¹¤Î doc ¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£ -.LP -\f2parameter\-name\fP ¤Ï¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Î¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤«¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¥¿¥¤¥×¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£»³³ç¸Ì¤Ç¥Ñ¥é¥á¡¼¥¿Ì¾¤ò°Ï¤à¤È¡¢·¿¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤ò »ØÄꤷ¤Þ¤¹¡£ -.LP -¥¯¥é¥¹¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã: -.nf -\f3 -.fl - /** -.fl - * @param <E> Type of element stored in a list -.fl - */ -.fl - public interface List<E> extends Collection<E> { -.fl - } -.fl - -.fl -\fP -.fi -.LP -¥á¥½¥Ã¥É¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã: -.nf -\f3 -.fl - /** -.fl - * @param string the string to be converted -.fl - * @param type the type to convert the string to -.fl - * @param <T> the type of the element -.fl - * @param <V> the value of the element -.fl - */ -.fl - <T, V extends T> V convert(String string, Class<T> type) { -.fl - } -.fl - -.fl -\fP -.fi -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@param ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@param¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -@return\ description -[Ìá¤êÃÍ] ¥»¥¯¥·¥ç¥ó¤òÄɲ䷤ơ¢ \f2description\fP ¤Î¥Æ¥­¥¹¥È¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ç¤Ï¡¢Ìá¤êÃͤη¿¤È¡¢¼è¤êÆÀ¤ëÃͤÎÈϰϤˤĤ¤¤Æµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@return ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@return¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -@see\ reference -¡Ö´ØÏ¢¹àÌܡ׸«½Ð¤·¤òÄɲä·¡¢ \f2reference ¤ò»Ø¤¹¥ê¥ó¥¯¤«¡¢¤Þ¤¿¤Ï¥Æ¥­¥¹¥È¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤ß¤Þ¤¹\fP¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¤ÏǤ°Õ¤Î¿ô¤Î \f2@see\fP ¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ì¤é¤Ï¤¹¤Ù¤ÆÆ±¤¸¸«½Ð¤·¤Î²¼¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤Þ¤¹¡£ \f2@see\fP ¥¿¥°¤Ë¤Ï¡¢¼¡¤Î 3 ¼ïÎà¤Î·Á¼°¤¬¤¢¤ê¤Þ¤¹¡£¤â¤Ã¤È¤â¤è¤¯»È¤ï¤ì¤ë¤Î¤Ï¡¢3 ÈÖÌܤηÁ¼°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òÊ¸Ãæ¤ËÁÞÆþ¤¹¤ëÊýË¡¤Ï¡¢\f2{@link}\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 3 -@see "string" -\f2string ¤Î¥Æ¥­¥¹¥È¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹\fP¡£¥ê¥ó¥¯¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£ \f2string\fP ¤Ï¡¢½ñÀÒ¤Þ¤¿¤Ï URL ¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ðÊó¤Î»²¾ÈÀè¤Ç¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ºÇ½é¤Îʸ»ú¤¬Æó½Å°úÍÑÉä (\f2"\fP) ¤«¤É¤¦¤«¤òÄ´¤Ù¤Æ¡¢¤³¤Î·Á¼°¤ò¤Û¤«¤Î 2 ¤Ä¤Î·Á¼°¤È¶èÊ̤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - @see "The Java Programming Language" -.fl - -.fl -\fP -.fi -.LP -¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¥Æ¥­¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +.\} +¤³¤Î¥¿¥°¤¬É¬ÍפÊÍýͳ¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤¬¡¢¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸¿¼¤µ¤ò»ý¤Ä³¬Áع½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£¼°\fI<a href="{@docRoot}/copyright\&.html">\fR¤Ï¡¢\fIjava/lang/Object\&.java\fR¤ËÂФ·¤Æ¤Ï\fI<a href="\&.\&./\&.\&./copyright\&.html">\fR¤Ë²ò·è¤µ¤ì¡¢\fIjava/lang/ref/Reference\&.java\fR¤ËÂФ·¤Æ¤Ï\fI<a href="\&.\&./\&.\&./\&.\&./copyright\&.html">\fR¤Ë²ò·è¤µ¤ì¤Þ¤¹¡£ .RE .RE -.RS 3 -.RS 3 -.RS 3 -.RS 3 -.TP 3 -´ØÏ¢¹àÌÜ: -The Java Programming Language +.PP +@exception \fIclass\-name description\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +\fI@throws\fR¥¿¥°¤ÈƱ¤¸¤Ç¤¹¡£@throws class\-name description¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE +.PP +{@inheritDoc} +.RS 4 +JDK 1\&.4¤ÇƳÆþ +.sp +ºÇ¤â¶á¤¤·Ñ¾µ²Äǽ¤Ê¥¯¥é¥¹¤Þ¤¿¤Ï¼ÂÁõ²Äǽ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¡¢¤³¤Î¥¿¥°¤Î°ÌÃ֤ˤ¢¤ë¸½ºß¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¡¢¥É¥­¥å¥á¥ó¥È¤ò·Ñ¾µ(¥³¥Ô¡¼)¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤è¤êÈÆÍÑŪ¤Ê¥³¥á¥ó¥È¤ò·Ñ¾µ¥Ä¥ê¡¼¤Î¾å°Ì¤Ëµ­½Ò¤·¡¢¥³¥Ô¡¼¤·¤¿¥Æ¥­¥¹¥È¤ò»ÈÍѤ·¤Æµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +¤³¤Î¥¿¥°¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¼¡¤Î°ÌÃ֤ǤΤßÍ­¸ú¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¥Ö¥í¥Ã¥¯Æâ¡£¤³¤Î¾ì¹ç¡¢¼çÀâÌÀ¤Ï¡¢¾å°Ì³¬ÁؤΥ¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ .RE -.TP 3 -@see <a href="URL#value">label</a> -\f2URL\fP#\f2value\fP ¤ÇÄêµÁ¤µ¤ì¤¿¤È¤ª¤ê¤Ë¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£ \f2URL\fP#\f2value\fP ¤ÏÁêÂÐ URL ¤Þ¤¿¤ÏÀäÂÐ URL ¤Ç¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ºÇ½é¤Îʸ»ú¤¬¡Ö¤è¤ê¾®¤µ¤¤¡×µ­¹æ (\f2<\fP) ¤«¤É¤¦¤«¤òÄ´¤Ù¤Æ¡¢¤³¤Î·Á¼°¤ò¤Û¤«¤Î 2 ¤Ä¤Î·Á¼°¤È¶èÊ̤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - @see <a href="spec.html#section">Java Spec</a> -.fl -\fP -.fi -¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£ -.RS 3 -.TP 3 -´ØÏ¢¹àÌÜ: -Java Spec +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥á¥½¥Ã¥É¤Î\fI@return\fR¡¢\fI@param\fR¡¢\fI@throws\fR¥¿¥°¤Î¥Æ¥­¥¹¥È°ú¿ôÆâ¡£¤³¤Î¾ì¹ç¡¢¥¿¥°¡¦¥Æ¥­¥¹¥È¤Ï¡¢¾å°Ì³¬ÁؤÎÂбþ¤¹¤ë¥¿¥°¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ .RE -.TP 3 -@see\ package.class#member\ label -²Ä»ë¤Î¥Æ¥­¥¹¥È \f2label\fP ¤ò»ý¤Ä¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥ê¥ó¥¯¤Ï¡¢»²¾ÈÀè¤È¤Ê¤ë¡¢»ØÄꤵ¤ì¤¿ Java ¸À¸ì¤Î̾Á°¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò»Ø¤·¤Þ¤¹¡£ \f2label\fP ¤Ï¾Êά²Äǽ¤Ç¤¹¡£label ¤ò¾Êά¤¹¤ë¤È¡¢¥ê¥ó¥¯Àè¤Î¥á¥ó¥Ð¡¼¤Î̾Á°¤¬Å¬ÀÚ¤Ëû½Ì¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ ¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\-noqualifier ¤ò»ÈÍѤ¹¤ë¤È¡¢É½¼¨¥Æ¥­¥¹¥È¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬Á´ÂÎŪ¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£¥é¥Ù¥ë¤Ï¡¢¼«Æ°À¸À®¤µ¤ì¤ëɽ¼¨¥Æ¥­¥¹¥È¤È¤Ï°Û¤Ê¤ëɽ¼¨¥Æ¥­¥¹¥È¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë»È¤¤¤Þ¤¹¡£ -.LP -¥Ð¡¼¥¸¥ç¥ó 1.2 ¤À¤±¤Ï¡¢¥é¥Ù¥ë¤Ç¤Ï¤Ê¤¯¡¢Ì¾Á°¤¬ <code> HTML ¥¿¥°Æâ¤Ë¼«Æ°Åª¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ 1.2.2 ¤«¤é¤Ï¡¢¥é¥Ù¥ë¤ò»ÈÍѤ¹¤ë¤«¡¢¤·¤Ê¤¤¤«¤Ë¤«¤«¤ï¤é¤º¡¢<code> ¤Ï¾ï¤Ëɽ¼¨¥Æ¥­¥¹¥È¤ò°Ï¤à¤«¤¿¤Á¤Ç¡¢´Þ¤Þ¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f4package.class\fP\f4#\fP\f4member\fP ¤Ë¤Ï¡¢»²¾È¤µ¤ì¤Æ¤¤¤ëǤ°Õ¤ÎÍ­¸ú¤Ê¥×¥í¥°¥é¥àÍ×ÁǤÎ̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤Ç¤¹¡£¤¿¤À¤·¡¢¥á¥ó¥Ð¡¼Ì¾¡¼¤ÎÁ°¤Î¥É¥Ã¥È¤Ï¡¢¥·¥ã¡¼¥×µ­¹æ (\f2#\fP) ¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£ \f2class\fP ¤Ï¡¢Ç¤°Õ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Þ¤¿¤ÏÆþ¤ì»Ò¤Ë¤µ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¤·¤Þ¤¹¡£ \f2member\fP ¤Ï¡¢Ç¤°Õ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É (Æþ¤ì»Ò¤Ë¤µ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤Ê¤¤) ¤òɽ¤·¤Þ¤¹¡£»ØÄꤷ¤¿Ì¾Á°¤¬¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤½¤Î̾Á°¤Ø¤Î¥ê¥ó¥¯¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£»²¾ÈÀè¤Î¥¯¥é¥¹¤Ë°¤·¤Æ¤¤¤Ê¤¤Ì¾Á°¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢»Ä¤ê 2 ¤Ä¤Î \f2@see\fP ·Á¼°¤Î¤¦¤Á¤Î¤É¤Á¤é¤«¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î°ú¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¤¢¤È¤Î¡Ö̾Á°¤Î»ØÄê¡×¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£ -.TP 2 -o -\f4label\fP ¤Ï¡¢¾Êά²Äǽ¤Ê¥Æ¥­¥¹¥È¤Ç¡¢¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ \f2label\fP ¤Ë¤Ï¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \f2label\fP ¤ò¾Êά¤¹¤ë¤È¡¢\f2package.class.member\fP ¤¬¡¢¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤ÆÅ¬ÀÚ¤Ëû½Ì¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -¶õÇò¤¬¡¢ \f2package.class\fP\f2#\fP\f2member\fP ¤È \f2label\fP ¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¡£³ç¸Ì¤ÎÆâ¦¤Î¶õÇòʸ»ú¤Ï¥é¥Ù¥ë¤ÎÀèÆ¬¤È¤Ï²ò¼á¤µ¤ì¤Ê¤¤¤¿¤á¡¢¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿´Ö¤Ë¶õÇòʸ»ú¤òÆþ¤ì¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ +.sp +·Ñ¾µ³¬Áؤǥ³¥á¥ó¥È¤ò¸«¤Ä¤±¤ëÊýË¡¤Ë´Ø¤¹¤ëÀâÌÀ¤Ï¡¢¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î·Ñ¾µ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¥³¥á¥ó¥È¤Ï¡¢¤³¤Î¹à¤ÇÀâÌÀ¤¹¤ë¥ë¡¼¥ë¤Ë±þ¤¸¤Æ¡¢¼«Æ°Åª¤Ë·Ñ¾µ¤µ¤ì¤ë¤«¤É¤¦¤«¤¬·è¤Þ¤ê¤Þ¤¹¡£ .RE -.LP -\f3Îã\fP \- ¤³¤ÎÎã¤Ç¤Ï¡¢ \f2@see\fP ¥¿¥° ( \f2Character\fP ¥¯¥é¥¹Æâ) ¤¬ String ¥¯¥é¥¹¤Î \f2equals\fP ¥á¥½¥Ã¥É \f2¤ò»²¾È\fP ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ë¤Ï̾Á°¡Ö\f2String#equals(Object)\fP¡×¤È¥é¥Ù¥ë¡Ö\f2equals\fP¡×¤ÎξÊý¤Î°ú¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +{@link \fIpackage\&.class#member label\fR} +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +ɽ¼¨¥Æ¥­¥¹¥Èlabel¤È¤È¤â¤Ë¥¤¥ó¥é¥¤¥ó¡¦¥ê¥ó¥¯¤òÁÞÆþ¤·¤Þ¤¹¡£label¤Ï¡¢»²¾È¥¯¥é¥¹¤Î»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î̾Á°¤Î¥É¥­¥å¥á¥ó¥È¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢\fI@return\fR¡¢\fI@param\fR¤ª¤è¤Ó\fI@deprecated\fR¥¿¥°¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@link¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#{@link)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤³¤Î¥¿¥°¤Ï\fI@see\fR¥¿¥°¤Ë»÷¤Æ¤¤¤Þ¤¹¡£¤É¤Á¤é¤Î¥¿¥°¤â¡¢\fIpackage\&.class#member\fR¤È\fIlabel\fR¤Î»²¾ÈÊýË¡¤È¡¢Í­¸ú¤Ê¹½Ê¸¤¬Æ±¤¸¤Ç¤¹¡£¼ç¤Ê°ã¤¤¤Ï¡¢\fI{@link}\fR¥¿¥°¤Ç¤Ï¡¢¡Ö´ØÏ¢¹àÌܡץ»¥¯¥·¥ç¥ó¤Ë¥ê¥ó¥¯¤¬ÇÛÃÖ¤µ¤ì¤ë¤«¤ï¤ê¤Ë¡¢¥¤¥ó¥é¥¤¥ó¡¦¥ê¥ó¥¯¤¬À¸À®¤µ¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¥¤¥ó¥é¥¤¥ó¡¦¥Æ¥­¥¹¥È¤Î¾¤ÎÉôʬ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢\fI{@link}\fR¥¿¥°¤ÎºÇ½é¤ÈºÇ¸å¤ËÃæ¥«¥Ã¥³¤òµ­½Ò¤·¤Þ¤¹¡£¥é¥Ù¥ëÆâ¤Ç±¦Ã楫¥Ã¥³(\fI}\fR)¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢HTML¥¨¥ó¥Æ¥£¥Æ¥£µ­Ë¡\fI}\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +1¤Äʸ¤ÎÃæ¤Ç»ÈÍѤǤ­¤ë\fI{@link}\fR¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¼çÀâÌÀÉôʬ¡¢¤Þ¤¿¤Ï\fI@deprecated\fR¡¢\fI@return\fR¡¢\fI@param\fR¥¿¥°¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤Ç»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥á¥ó¥È¤Ç¤Ï\fIgetComponentAt(int,int)\fR¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * @see String#equals(Object) equals -.fl - */ -.fl -\fP +Use the {@link #getComponentAt(int, int) getComponentAt} method\&. .fi -ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¼¡¤Î¤è¤¦¤Ê HTML ¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -<dl> -.fl -<dt><b>See Also:</b> -.fl -<dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals<code></a> -.fl -</dl> -.fl -\fP -.fi -¤³¤ì¤Ï¡¢¥Ö¥é¥¦¥¶¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¡¢¥é¥Ù¥ë¤¬¥ê¥ó¥¯¥Æ¥­¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.RS 3 -.TP 3 -´ØÏ¢¹àÌÜ: -equals +.if n \{\ .RE -.LP -\f3̾Á°¤Î»ØÄê\fP \- ¤³¤Î \f2package.class\fP\f2#\fP\f2member\fP ¤È¤¤¤¦Ì¾Á°¤Ï¡¢ \f2java.lang.String#toUpperCase()\fP ¤Î¤è¤¦¤Ê´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¡¢ \f2String#toUpperCase()\fP ¤ä \f2#toUpperCase()\fP ¤Î¤è¤¦¤ÊÈó´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Ì¾Á°¤¬´°Á´»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢Java ¥³¥ó¥Ñ¥¤¥é¤ÎÄ̾ï¤Î¸¡º÷½ç½ø¤Ç¤½¤Î̾Á°¤ò¸¡º÷¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¤³¤Î¤¢¤È¤Î¡Ö@see ¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ì¾Á°¤Ë¤Ï¡¢¥á¥½¥Ã¥É¤ÎÊ£¿ô¤Î°ú¿ô¤Î´Ö¤Ê¤É¡¢³ç¸Ì¤ÎÆâ¦¤Ç¤¢¤ì¤Ð¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -¡ÖÉôʬŪ¤Ë»ØÄê¡×¤·¤¿Ã»¤¤Ì¾Á°¤ò»ØÄꤹ¤ë¤³¤È¤ÎÍøÅÀ¤Ï¡¢ÆþÎϤ¹¤ëʸ»ú¿ô¤¬¸º¤ë¤³¤È¤ä¡¢¥½¡¼¥¹¥³¡¼¥É¤¬ÆÉ¤ß¤ä¤¹¤¯¤Ê¤ë¤³¤È¤Ç¤¹¡£¼¡¤Îɽ¤Ë¡¢¤µ¤Þ¤¶¤Þ¤Ê·Á¼°¤Î̾Á°¤ò¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢ \f2Class\fP ¤Ë¤Ï¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢ \f2Type\fP ¤Ë¤Ï¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢ÇÛÎ󡢤ޤ¿¤Ï´ðËܥǡ¼¥¿·¿¤ò¡¢ \f2method\fP ¤Ë¤Ï¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¡¢¤½¤ì¤¾¤ì»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.\} +ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤Î¥³¡¼¥É¤«¤é¼¡¤ÎHTML¤¬À¸À®¤µ¤ì¤Þ¤¹(¤³¤Î¥³¥á¥ó¥È¤¬Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç)¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f4@see\fP\f3\ \fP\f4package.class#member\fP\f3 ¤Î°ìÈÌŪ¤Ê·Á¼°\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3¸½ºß¤Î¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤¹¤ë\fP -.br -\f2@see\fP\ \f2#\fP\f2¥Õ¥£¡¼¥ë¥É\fP -.br -\f2@see\fP\ \f2#\fP\f2method(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2#\fP\f2constructor(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3¸½ºß¤Î¡¢¤Þ¤¿¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤¹¤ë\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2¥Õ¥£¡¼¥ë¥É\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2method(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2Class.NestedClass\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3Ê̤Υѥ屡¼¥¸¤ÎÍ×ÁǤò»²¾È¤¹¤ë\fP\ (´°Á´½¤¾þ) -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2¥Õ¥£¡¼¥ë¥É\fP -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2package.Class.NestedClass\fP -.br -\f2@see\fP\ \f2package.Class\fP -.br -\f2@see\fP\ \f2¥Ñ¥Ã¥±¡¼¥¸\fP -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.80 -.rm 80 -.nr 38 \n(a- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(b- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(c- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(d- -.if \n(80<\n(38 .nr 80 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1342 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-58 -.LP -¾å¤Îɽ¤ËÂФ¹¤ëÊä­»ö¹à¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -ºÇ½é¤Î¼ïÎà¤Î·Á¼° (¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤ò¾Êά) ¤Î¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¸½ºß¤Î¥¯¥é¥¹¤Î³¬ÁؤÀ¤±¤ò¸¡º÷¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¸½ºß¤Î¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤½¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤«¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¸½ºß¤Î¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥á¥ó¥Ð¡¼¤ò¸¡º÷¤·¤Þ¤¹ (¤³¤Î¤¢¤È¤Î¸¡º÷¼ê½ç 1 ¢· 3)¡£¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤Û¤«¤ÎÉôʬ¤ä¡¢¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¸¡º÷¤·¤Þ¤»¤ó (¸¡º÷¼ê½ç 4 ¢· 5)¡£ -.TP 2 -o -¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î»ØÄê»þ¤Ë¡¢ \f2getValue\fP ¤Î¤è¤¦¤Ë³ç¸Ì¤Ê¤·¤Î̾Á°¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢Æ±¤¸Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¤½¤Î̾Á°¤Ø¤Î¥ê¥ó¥¯¤¬Àµ¤·¤¯ºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢³ç¸Ì¤ä°ú¿ô¤ÎÄɲäò¥æ¡¼¥¶¡¼¤ËÂ¥¤¹¤¿¤á¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¸¡º÷¤ÇºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥á¥½¥Ã¥É¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£·ë²Ì¤ÏÁ°¤â¤Ã¤ÆÆÃÄê¤Ç¤­¤Þ¤»¤ó¡£ -.TP 2 -o -Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î·Á¼°¤Ë¤Ä¤¤¤Æ¡¢ \f2outer\fP\f2.\fP\f2inner\fP ¤È¤·¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ã±½ã¤Ë \f2inner\fP ¤È¤Ï¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.TP 2 -o -¤¹¤Ç¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¡¢\f2¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤È¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¤Ï¡¢\fP¥É¥Ã¥È (\f2.\fP) ¤Ç¤Ï¤Ê¤¯¥·¥ã¡¼¥×ʸ»ú (#) ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤ò²ò·è¤Ç¤­¤Þ¤¹¡£¥É¥Ã¥È¤Ï¡¢¥¯¥é¥¹¡¢Æþ¤ì»Ò¤Ë¤µ¤ì¤¿¥¯¥é¥¹¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¶èÀڤ뤿¤á¤Ë¤â»ÈÍѤµ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢Javadoc ¥Ä¡¼¥ë¤Ç¤Ï°ìÈ̤˵öÍÆÈϰϤ¬¹­¤¯¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¡¢¥É¥Ã¥È¤Ç¤âÀµ¤·¤¯²òÀϤµ¤ì¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤Ïɽ¼¨¤µ¤ì¤Þ¤¹¡£ +Use the <a href="Component\&.html#getComponentAt(int, int)">getComponentAt</a> method\&. +.fi +.if n \{\ .RE -.LP -\f3@see ¤Î¸¡º÷½ç½ø\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë (.java)¡¢¥Ñ¥Ã¥±¡¼¥¸¥Õ¥¡¥¤¥ë (package.html ¤Þ¤¿¤Ï package\-info.java) ¤Þ¤¿¤Ï³µÍ×¥Õ¥¡¥¤¥ë (overview.html) ¤Ë´Þ¤Þ¤ì¤ë \f2@see\fP ¥¿¥°¤ò½èÍý¤·¤Þ¤¹¡£¸å¼Ô¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´»ØÄê¤Î̾Á°¤ò \f2@see\fP ¥¿¥°¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´»ØÄê¤Î̾Á°¡¢¤Þ¤¿¤ÏÉôʬ»ØÄê¤Î̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢´°Á´»ØÄê¤Ç¤Ê¤¤Ì¾Á°¤¬µ­½Ò¤µ¤ì¤¿ \f2@see\fP ¥¿¥°¤ò \f2.java ¥Õ¥¡¥¤¥ëÆâ¤Ç¸«¤Ä¤±¤ë¤È¡¢\fP Java ¥³¥ó¥Ñ¥¤¥é¤ÈƱ¤¸½ç½ø¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤ò¸¡º÷¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢ÆÃÄê¤Î̾Á°¶õ´Ö¤Î¤¢¤¤¤Þ¤¤¤µ¤ò¸¡½Ð¤·¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë¤³¤ì¤é¤Î¥¨¥é¡¼¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£¤³¤Î¸¡º÷½ç½ø¤Ï¡¢\f2Java ¸À¸ì»ÅÍÍ\fP¤ÇÀµ¼°¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢´ØÏ¢¤¹¤ë¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤«¤é̾Á°¤ò¸¡º÷¤·¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¼¡¤Î½ç½ø¤Ç¸¡º÷¤·¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -¸½ºß¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -.TP 3 -2. -³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (¤â¤Ã¤È¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷) -.TP 3 -3. -¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤È¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (¤â¤Ã¤È¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷) -.TP 3 -4. -¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸ -.TP 3 -5. -¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (import ʸ¤Î½ç½ø¤Ë½¾¤Ã¤Æ¸¡º÷) -.RE -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢³Æ¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¼ê½ç 1 ¢· 3 ¤òºÆµ¢Åª¤ËŬÍѤ·¤Ê¤¬¤é¡¢°ìÃפ¹¤ë̾Á°¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¸¡º÷¤ò³¤±¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤Þ¤º¸½ºß¤Î¥¯¥é¥¹¤ò¸¡º÷¤·¡¢¼¡¤Ë¤½¤Î¥¯¥é¥¹¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹ E ¤ò¸¡º÷¤·¡¢¤½¤Î¼¡¤Ë E ¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ò¸¡º÷¤·¡¢¤µ¤é¤Ë¤½¤Î¼¡¤Ë E ¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£ ¼ê½ç 4 ¤È 5 ¤Ç¤Ï¡¢1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¸¡º÷¤¹¤ë½ç½ø¤Ï·è¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó¡£¤½¤Î½ç½ø¤Ï¡¢¸Ä¡¹¤Î¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¼ê½ç 5 ¤Ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢java.lang ¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤Ë¼«Æ°Åª¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢É¬¤º¤·¤â¥µ¥Ö¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢javadoc ¤Î¼Â¹ÔÃæ¤Ë¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ç¤â¡¢¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2@see\fP ¥¿¥°¤¬ \f2java.awt.event.KeyEvent\fP ¥¯¥é¥¹Æâ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Æ¡¢ \f2java.awt\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¢¤ë̾Á°¤ò»²¾È¤·¤Æ¤¤¤Æ¤â¡¢¤½¤Î¥¯¥é¥¹Æâ¤Ç¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¤«¤®¤ê¡¢javadoc ¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¸¡º÷¤ò¹Ô¤¤¤Þ¤»¤ó¡£ -.LP -\f3̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡\fP \- \f2label\fP ¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢\f2package.class.member\fP ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£°ìÈ̤ˡ¢package.class.member ¤Ï¡¢¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤ÆÅ¬ÀÚ¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¡Öû½Ì¤µ¤ì¤ë¡×¤È¤Ï¡¢É¬Í׺Ǿ®¸Â¤Î̾Á°¤À¤±¤¬É½¼¨¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2String.toUpperCase()\fP ¥á¥½¥Ã¥É¤Ë¡¢Æ±¤¸¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ø¤Î»²¾È¤È¤Û¤«¤Î¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹Ì¾¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¸å¼Ô¤Î¥±¡¼¥¹¤À¤±¤Ç¤¹ (¼¡¤Îɽ¤ò»²¾È)¡£ -.LP -¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¹­°èŪ¤Ëºï½ü¤¹¤ë¤Ë¤Ï¡¢\-noqualifier ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.br -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.\} +Á°¤Î¹Ô¤Ï¡¢¼¡¤Î¤è¤¦¤ËWeb¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f4String.toUpperCase() ¤Ç¤ÎÎã\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2@see\fP ¥¿¥°¤¬Æ±¤¸¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Æ¤¤¤ë -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2toLowerCase()\fP (¥¯¥é¥¹Ì¾¤Ï¾Êά) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2@see\fP ¥¿¥°¤¬°Û¤Ê¤ë¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Æ¤¤¤ë -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f2@see Character#toLowerCase(char)\fP -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2Character.toLowerCase(char)\fP (¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¾Êά¤·¡¢¥¯¥é¥¹Ì¾¤ò´Þ¤à) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2@see\fP ¥¿¥°¤¬°Û¤Ê¤ë¥¯¥é¥¹¡¢°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Æ¤¤¤ë -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f2@see java.io.File#exists()\fP -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2java.io.File.exists()\fP (¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥¯¥é¥¹Ì¾¤ò´Þ¤à) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3»²¾È¤Î¼ïÎà\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(b- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(d- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(g- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f2@see String#toLowerCase()\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.nr 38 \w\f3ɽ¼¨¤µ¤ì¤ë̾Á°\fP -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(c- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \n(f- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \n(i- -.if \n(82<\n(38 .nr 82 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 1418 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3»²¾È¤Î¼ïÎà\fP\h'|\n(41u'\h'|\n(42u'\f3ɽ¼¨¤µ¤ì¤ë̾Á°\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.ne \n(c|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\f2@see String#toLowerCase()\fP\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.ne \n(e|u+\n(.Vu -.ne \n(f|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-28 -.LP -\f3@see ¤ÎÎã\fP -.br -±¦Â¦¤Î¥³¥á¥ó¥È¤Ï¡¢ \f2@see\fP ¥¿¥°¤¬ \f2java.applet.Applet\fP ¤Ê¤É¤ÎÊ̤Υѥ屡¼¥¸¤Î¥¯¥é¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ë¡¢Ì¾Á°¤¬¤É¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - ´ØÏ¢¹àÌÜ: -.fl -@see java.lang.String // String \fP\f3 -.fl -@see java.lang.String The String class // The String class \fP\f3 -.fl -@see String // String \fP\f3 -.fl -@see String#equals(Object) // String.equals(Object) \fP\f3 -.fl -@see String#equals // String.equals(java.lang.Object) \fP\f3 -.fl -@see java.lang.Object#wait(long) // java.lang.Object.wait(long) \fP\f3 -.fl -@see Character#MAX_RADIX // Character.MAX_RADIX \fP\f3 -.fl -@see <a href="spec.html">Java Spec</a> // Java Spec \fP\f3 -.fl -@see "The Java Programming Language" // "The Java Programming Language" \fP\f3 -.fl -\fP +Use the getComponentAt method\&. .fi -\f2@see\fP ¤ò³ÈÄ¥¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤â²Äǽ¤Ë¤¹¤ë¤Ë¤Ï¡¢\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@see ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@see¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ .RE +.\} .RE -.LP -.RS 3 -.TP 3 -@serial\ field\-description | include | exclude -¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤ·¤Þ¤¹¡£ -.LP -\f2field\-description\fP (¾Êά²Äǽ) ¤Ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î°ÕÌ£¤òÀâÌÀ¤·¡¢¼è¤êÆÀ¤ëÃͤΥꥹ¥È¤ò¼¨¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£É¬Íפ˱þ¤¸¤Æ¡¢Ê£¿ô¤Î¹Ô¤ËÅϤäÆÀâÌÀ¤òµ­½Ò¤Ç¤­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¤³¤Î¾ðÊó¤ò¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤ËÄɲä·¤Þ¤¹¡£ -.LP -¥¯¥é¥¹¤òľÎ󲽤·¤¿¤¢¤È¤·¤Ð¤é¤¯¤·¤Æ¤«¤éľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤ò¥¯¥é¥¹¤ËÄɲä·¤¿¾ì¹ç¡¢¼çÀâÌÀ¤Ë¡¢Äɲä·¤¿¥Ð¡¼¥¸¥ç¥ó¤ò¼±Ê̤¹¤ëʸ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f2include\fP ¤ª¤è¤Ó \f2exclude\fP °ú¿ô¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤Ë¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤á¤ë¤«½ü³°¤¹¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Î°ú¿ô¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¸ú²Ì¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2Serializable\fP ¤ò¼ÂÁõ¤·¤Æ¤¤¤ë public ¤Þ¤¿¤Ï protected ¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤¬ \f2@serial exclude\fP ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤®¤ê¡¢´Þ¤á¤é¤ì¤Þ¤¹¡£ -.TP 2 -o -\f2Serializable\fP ¤ò¼ÂÁõ¤·¤Æ¤¤¤ë private ¤Þ¤¿¤Ï package\-private ¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤¬ \f2@serial include\fP ¤È¤·¤Æ ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤®¤ê¡¢½ü³°¤µ¤ì¤Þ¤¹¡£ +.PP +{@linkplain \fIpackage\&.class#member label\fR} +.RS 4 +JDK 1\&.4¤ÇƳÆþ +.sp +\fI{@link}\fR¥¿¥°¤ÈƱ¤¸Æ°ºî¤ò¤·¤Þ¤¹¤¬¡¢¥ê¥ó¥¯¡¦¥é¥Ù¥ë¤¬¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Ç¤Ï¤Ê¤¯¥×¥ì¡¼¥ó¡¦¥Æ¥­¥¹¥È¤Çɽ¼¨¤µ¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£¥é¥Ù¥ë¤¬¥×¥ì¡¼¥ó¡¦¥Æ¥­¥¹¥È¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤ÈÊØÍø¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¡Ö\fIRefer to {@linkplain add() the overridden method}\fR\&.¡×¤Ï¡ÖRefer to the overridden method¡×¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ .RE -.LP -Îã: \f2javax.swing\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ï \f2@serial exclude\fP ( \f2package.html\fP ¤Þ¤¿¤Ï \f2package\-info.java\fPÆâ) ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£public ¥¯¥é¥¹ \f2java.security.BasicPermission\fP ¤Ï \f2@serial exclude\fP ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£package\-private ¥¯¥é¥¹ \f2java.util.PropertyPermissionCollection\fP ¤Ï \f2@serial include\fP ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¥¯¥é¥¹¥ì¥Ù¥ë¤Ç»ØÄꤵ¤ì¤¿ @serial ¥¿¥°¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤Ç»ØÄꤵ¤ì¤¿ @serial ¥¿¥°¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.LP -¤³¤ì¤é¤Î¥¿¥°¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤È»ÈÍÑÎã¤Ï¡¢¡ÖJava ¥ª¥Ö¥¸¥§¥¯¥ÈľÎó²½»ÅÍ͡פÎÂè 1.6 Àá -.na -\f2¡Ö¥¯¥é¥¹¤ÎľÎó²½²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Îʸ½ñ²½¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢ -.na -\f2¡ÖľÎ󲽤ΠFAQ¡×\fP @ -.fi -http://java.sun.com/javase/technologies/core/basic/serializationFAQ.jsp#javadoc_warn_missing¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î FAQ ¤Ë¤Ï¡¢¡Ö\-private ¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¤¤Ç javadoc ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤Î¤Ë private ¥Õ¥£¡¼¥ë¥É¤Î @serial ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤¤¦ javadoc ¤Î·Ù¹ð¤¬É½¼¨¤µ¤ì¤ë¡×¤Ê¤É¤Î°ìÈÌŪ¤Ê¼ÁÌ䤨¤Î²óÅú¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Ä¾Îó²½·Á¼°»ÅÍͤ˥¯¥é¥¹¤ò´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢ -.na -\f2¡ÖSun ¤Î»ÅÍÍ¡×\fP @ -.fi -http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.html¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -@serialField\ field\-name\ field\-type\ field\-description -Serializable \f2¥¯¥é¥¹¤Î\fP serialPersistentFields \f2¥á¥ó¥Ð¡¼¤Î\fP ObjectStreamField ¥³¥ó¥Ý¡¼¥Í¥ó¥È \f2¤ò¥É¥­¥å¥á¥ó¥È²½\fP ¤·¤Þ¤¹¡£1 ¤Ä¤Î \f2@serialField\fP ¥¿¥°¤ò³Æ \f2ObjectStreamField\fP ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£ -.LP -.TP 3 -@serialData\ data\-description -\f2data\-description\fP ¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Ç¤Î¥Ç¡¼¥¿¤Î·¿¤È½ç½ø¤òÀâÌÀ¤¹¤ë¥Æ¥­¥¹¥È¤Ç¤¹¡£¶ñÂÎŪ¤Ë¸À¤¦¤È¡¢¤³¤Î¥Ç¡¼¥¿¤Ë¤Ï¡¢ \f2writeObject\fP ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤ë¾Êά²Äǽ¤Ê¥Ç¡¼¥¿¡¢¤ª¤è¤Ó \f2Externalizable.writeExternal\fP ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿ (´ðÄ쥯¥é¥¹¤â´Þ¤à) ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ -.LP -\f2@serialData\fP ¥¿¥°¤Ï¡¢ \f2writeObject\fP¡¢ \f2readObject\fP¡¢ \f2writeExternal\fP¡¢ \f2readExternal\fP¡¢ \f2writeReplace\fP¡¢¤ª¤è¤Ó \f2readResolve\fP ¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Ç»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -.TP 3 -@since\ since\-text -À¸À®¥É¥­¥å¥á¥ó¥È¤Ë [ƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó] ¸«½Ð¤·¤òÄɲä·¡¢»ØÄꤵ¤ì¤¿ \f2since\-text\fP ¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ë¤Ï¡¢ÆÃÊÌ¤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢ÆÃÄê¤ÎÊѹ¹¤Þ¤¿¤Ïµ¡Ç½¤¬¡¢ \f2since\-text ¤Ë¼¨¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¥ê¥ê¡¼¥¹°Ê¹ß¡¢Â¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹\fP¡£¤¿¤È¤¨¤Ð¡¢ +.PP +{@literal \fItext\fR} +.RS 4 +JDK 1\&.5¤ÇƳÆþ +.sp +¥Æ¥­¥¹¥È¤òHTML¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤Ï¥Í¥¹¥È¤µ¤ì¤¿Javadoc¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢text¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿(\fI<Object>\fR)¡¢ÉÔÅù¹æ(\fI3 < 4\fR)¡¢Ìð°õ(<\-)¤Ê¤É¤Ç¡¢»³¥«¥Ã¥³(\fI<¤ª¤è¤Ó>\fR)¤òHTML¥¨¥ó¥Æ¥£¥Æ¥£(\fI<\fR¤ª¤è¤Ó\fI>\fR)¤Î¤«¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È\fI{@literal A<B>C}\fR¤Ï\fIA<B>C\fR¤È¤·¤Æ¡¢¥Ö¥é¥¦¥¶¤ÎÀ¸À®¤µ¤ì¤¿HTML¥Ú¡¼¥¸¤ËÊѹ¹¤µ¤ì¤º¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£\fI<B>\fR¤ÏÂÀ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤Þ¤»¤ó(¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Ë¤Ê¤ê¤Þ¤»¤ó)¡£¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢\fI{@code}\fR¥¿¥°¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +@param \fIparameter\-name description\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +¡Ö¥Ñ¥é¥á¡¼¥¿¡×¥»¥¯¥·¥ç¥ó¤Ë¡¢»ØÄꤵ¤ì¤¿\fIparameter\-name\fR¤Î¸å¤Ë»ØÄꤵ¤ì¤¿description¤ò³¤±¤Æ¥Ñ¥é¥á¡¼¥¿¤òÄɲä·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢description¤òÊ£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@param¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@param)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fIparameter\-name\fR¤Ï¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Î¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤«¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î·¿¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£»³¥«¥Ã¥³¤Ç¤³¤Î¥Ñ¥é¥á¡¼¥¿Ì¾¤ò°Ï¤ß¡¢·¿¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +¥¯¥é¥¹¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - @since 1.5 -.fl - -.fl -\fP -.fi -.LP -Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥½¡¼¥¹¥³¡¼¥É¤Î¾ì¹ç¡¢¤³¤Î¥¿¥°¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à API »ÅÍͤΥС¼¥¸¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¤½¤ÎÊѹ¹¤äµ¡Ç½¤¬¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤ËÄɲ䵤줿»þ´ü¤ò¼¨¤¹¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£Ê£¿ô¤Î @since ¥¿¥°¤ò»ÈÍѤǤ­¡¢Ê£¿ô¤Î @author ¥¿¥°¤Î¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡£¥×¥í¥°¥é¥àÍ×ÁǤ¬Ê£¿ô¤Î API ¤Ç»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢Ê£¿ô¤Î¥¿¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -.TP 3 -@throws\ class\-name\ description -\f2@throws\fP ¥¿¥°¤È \f2@exception\fP ¥¿¥°¤ÏƱµÁ¤Ç¤¹¡£À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡ÖÎã³°¡×¾®¸«½Ð¤·¤òÄɲ䷤ơ¢ \f2class\-name\fP ¤ª¤è¤Ó \f2description\fP ¤Î¥Æ¥­¥¹¥È¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£ \f2class\-name\fP ¤Ï¡¢¤½¤Î¥á¥½¥Ã¥É¤«¤é¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëÎã³°¤Î̾Á°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Î doc ¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£¤³¤Î¥¯¥é¥¹¤¬´°Á´»ØÄê¤Î̾Á°¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¸¡º÷½ç½ø¤Ë½¾¤Ã¤Æ¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£Æ±¤¸¤Þ¤¿¤Ï°Û¤Ê¤ëÎã³°¤Î doc ¥³¥á¥ó¥È¤Ç¡¢Ê£¿ô¤Î \f2@throws\fP ¥¿¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯ºÑ¤ßÎã³°¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢ \f2@throws\fP ¥¿¥°¤¬ throws ÀáÆâ¤ÎÎã³°ÍѤ˸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢@throws ¥¿¥°¤Î¤¢¤ë¥É¥­¥å¥á¥ó¥È¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÎã³°¤¬ HTML ½ÐÎϤËÀâÌÀ¤Ê¤·¤Ç¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤¹¡£ -.LP -¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¥á¥½¥Ã¥ÉÆâ¤ÇÎã³°¤¬ÌÀ¼¨Åª¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤ß¡¢ \f2@throws\fP ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬¤½¤Î¥á¥½¥Ã¥É¤«¤é¥µ¥Ö¥¯¥é¥¹¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥á¥½¥Ã¥É¤«¤é¼ÂÁõ¥á¥½¥Ã¥É¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¾ì¹ç¤âƱÍͤǤ¹¡£@throws ¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò·Ñ¾µ¤µ¤»¤ë¤Ë¤Ï¡¢{@inheritDoc} ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@throws ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@exception¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -{@value\ package.class#field} -\f2{@value}\fP ¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Î doc ¥³¥á¥ó¥È¤Ç °ú¿ô¤Ê¤·¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÄê¿ô¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - /** -.fl - * The value of this constant is {@value}. -.fl - */ -.fl - public static final String SCRIPT_START = "<script>" -.fl - -.fl -\fP -.fi -.LP -Ǥ°Õ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Ç°ú¿ô \f2package.class#field\fP ¤¢¤ê¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î»ØÄꤵ¤ì¤¿Äê¿ô¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - /** -.fl - * Evaluates the script starting with {@value #SCRIPT_START}. -.fl - */ -.fl - public String evalScript(String script) { -.fl - } -.fl - -.fl -\fP -.fi -.LP -°ú¿ô \f2package.class#field\fP ¤Ï¡¢@see °ú¿ô¤ÈƱ°ì¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥á¥ó¥Ð¡¼¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Ë¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ -.LP -¤³¤ì¤é¤ÎÄê¿ô¤Ç¤ÎÃͤϡ¢ -.na -\f2Äê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ\fP @ -.fi -http://java.sun.com/javase/6/docs/api/constant\-values.html¥Ú¡¼¥¸¤Ë¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -@version\ version\-text -\-version ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¤È¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë [¥Ð¡¼¥¸¥ç¥ó] ¾®¸«½Ð¤·¤òÄɲä·¡¢»ØÄꤵ¤ì¤¿ \f2version\-text\fP ¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬´Þ¤Þ¤ì¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÝ»ý¤¹¤ë¤è¤¦¤Ë°Õ¿Þ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤ËÂФ·¡¢@since ¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬Æ³Æþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÝ»ý¤·¤Þ¤¹¡£ \f2version\-text\fP ¤Ë¤Ï¡¢ÆÃÊÌ¤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Ð¡¼¥¸¥ç¥ó¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤òÄ´¤Ù¤ë¤Ë¤Ï¡¢¡Ö¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -1 ¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÊ£¿ô¤Î \f2@version\fP ¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°ÕÌ£¤¬¼º¤ï¤ì¤Ê¤¤ÈÏ°ÏÆâ¤Ç¡¢1 ¤Ä¤Î \f2@version\fP ¥¿¥°¤Ë 1 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ê£¿ô¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÌ¾Á°¤È̾Á°¤Î´Ö¤Ë¥³¥ó¥Þ (\f2,\fP) ¤È¶õÇò¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥ÈÁ´ÂΤ¬¡¢²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»È¤¦É¬Íפ¬¤¢¤ë¤È¤­¤Ï¡¢1 ¤Ä¤Î¥¿¥°¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@version ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@version¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RE -.SS -¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê -.LP -¤³¤³¤Ç¤Ï¡¢¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѲÄǽ¤Ê¥¿¥°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ \f2@see\fP¡¢ \f2@since\fP¡¢ \f2@deprecated\fP¡¢ \f2{@link}\fP¡¢ \f2{@linkplain}\fP¡¢¤ª¤è¤Ó \f2{@docroot}\fP¡£ -.SS -³µÍפΥɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -³µÍ×¥¿¥°¤Ï¡¢³µÍ×¥Ú¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤Ç¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢Ä̾ï \f2overview.html\fP ¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤Û¤«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¾ì¹ç¤ÈƱÍͤˡ¢¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¤¢¤È¤Ç»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f3Ãí\fP \- ¥Ð¡¼¥¸¥ç¥ó 1.2 ¤Ç¤Ï¡¢³µÍץɥ­¥å¥á¥ó¥ÈÆâ¤Î \f2{@link}\fP ¥¿¥°¤Ë¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥È¤ÏÀµ¤·¤¯É½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢¥ê¥ó¥¯¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¡£¸½ºß¤Î¤È¤³¤í¡¢ \f2{@docRoot}\fP ¥¿¥°¤Ï¡¢³µÍץɥ­¥å¥á¥ó¥ÈÆâ¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡£ -.LP -\f3³µÍ×¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@author\fP -.TP 2 -o -\f2@version\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@docRoot}\fP -.RE -.SS -¥Ñ¥Ã¥±¡¼¥¸¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤Ç¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï \f2package.html\fP ¤Þ¤¿¤Ï \f2package\-info.java\fP ¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç»ÈÍѤǤ­¤ë \f2@serial\fP ¥¿¥°¤Ï¡¢ \f2include\fP ¤Þ¤¿¤Ï \f2exclude\fP °ú¿ô¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤À¤±¤Ç¤¹¡£ -.LP -\f3¥Ñ¥Ã¥±¡¼¥¸¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@serial\fP -.TP 2 -o -\f2@author\fP -.TP 2 -o -\f2@version\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@docRoot}\fP -.RE -.SS -¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -¼¡¤Ë¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç»ÈÍѤǤ­¤ë \f2@serial\fP ¥¿¥°¤Ï¡¢ \f2include\fP ¤Þ¤¿¤Ï \f2exclude\fP °ú¿ô¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤À¤±¤Ç¤¹¡£ -.LP -\f3¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@deprecated\fP -.TP 2 -o -\f2@serial\fP -.TP 2 -o -\f2@author\fP -.TP 2 -o -\f2@version\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@docRoot}\fP -.RE -\f3¼¡¤Ë¥¯¥é¥¹¥³¥á¥ó¥È¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fP -.nf -\f3 -.fl /** -.fl - * A class representing a window on the screen. -.fl - * For example: -.fl - * <pre> -.fl - * Window win = new Window(parent); -.fl - * win.show(); -.fl - * </pre> -.fl - * -.fl - * @author Sami Shaio -.fl - * @version 1.13, 06/08/06 -.fl - * @see java.awt.BaseWindow -.fl - * @see java.awt.Button -.fl + * @param <E> Type of element stored in a list */ -.fl -class Window extends BaseWindow { -.fl - ... -.fl +public interface List<E> extends Collection<E> { } -.fl -\fP .fi -.SS -¥Õ¥£¡¼¥ë¥É¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -¼¡¤Ë¡¢¥Õ¥£¡¼¥ë¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£ -.LP -\f3¥Õ¥£¡¼¥ë¥É¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@deprecated\fP -.TP 2 -o -\f2@serial\fP -.TP 2 -o -\f2@serialField\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@docRoot}\fP -.TP 2 -o -\f2{@value}\fP +.if n \{\ .RE -\f3¼¡¤Ë¥Õ¥£¡¼¥ë¥É¥³¥á¥ó¥È¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fP +.\} +¥á¥½¥Ã¥É¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * @param string the string to be converted + * @param type the type to convert the string to + * @param <T> the type of the element + * @param <V> the value of the element + */ +<T, V extends T> V convert(String string, Class<T> type) { +} +.fi +.if n \{\ +.RE +.\} +.RE +.PP +@return \fIdescription\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +¡ÖÌá¤êÃ͡ץ»¥¯¥·¥ç¥ó¤òÄɲ䷤ơ¢description¤Î¥Æ¥­¥¹¥È¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ç¤Ï¡¢Ìá¤êÃͤη¿¤È¡¢¼è¤êÆÀ¤ëÃͤÎÈϰϤˤĤ¤¤Æµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@return¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@return)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +@see \fIreference\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +\fI¡Ö´ØÏ¢¹àÌÜ¡×\fR¸«½Ð¤·¤òÄɲ䷤ơ¢reference¤ò»Ø¤¹¥ê¥ó¥¯¡¢¤Þ¤¿¤Ï¥Æ¥­¥¹¥È¡¦¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤ÏǤ°Õ¤Î¿ô¤Î\fI@see\fR¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ì¤é¤Ï¤¹¤Ù¤ÆÆ±¤¸¸«½Ð¤·¤Î²¼¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤Þ¤¹¡£\fI@see\fR¥¿¥°¤Ë¤Ï¡¢3¤Ä¤Î¥¿¥¤¥×¤Î·Á¼°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î·Á¼°¤¬ºÇ¤â°ìÈÌŪ¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¥¤¥ó¥é¥¤¥ó¡¦¥ê¥ó¥¯¤òÊ¸Ãæ¤ËÁÞÆþ¤¹¤ëÊýË¡¤Ï¡¢\fI{@link}\fR¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fB·Á¼°1\fR¡£@see +\fIstring\fR¥¿¥°·Á¼°¤Ï¡¢\fIstring\fR¤Î¥Æ¥­¥¹¥È¡¦¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£string¤Ï¡¢½ñÀÒ¤Þ¤¿¤ÏURL¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ðÊó¤Î»²¾ÈÀè¤Ç¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢ºÇ½é¤Îʸ»ú¤È¤·¤ÆÆó½Å°úÍÑÉä(")¤ò¸¡º÷¤·¤Æ¡¢¤³¤Î·Á¼°¤òÁ°½Ò¤Î·Á¼°¤È¶èÊ̤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@see "The Java Programming Language"\fR¤Ï¼¡¤Î¥Æ¥­¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +\fB´ØÏ¢¹àÌÜ\fR: +.sp +"The Java Programming Language" +.sp +\fB·Á¼°2\fR¡£\fI@see <a href="URL#value">label</a>\fR·Á¼°¤Ï¡¢\fIURL#value\fR¤Ë¤è¤êÄêµÁ¤µ¤ì¤¿¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£\fIURL#value\fR¥Ñ¥é¥á¡¼¥¿¤Ï¡¢ÁêÂÐURL¤Þ¤¿¤ÏÀäÂÐURL¤Ç¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢ºÇ½é¤Îʸ»ú¤È¤·¤Æ¡Ö¤è¤ê¾®¤µ¤¤¡×µ­¹æ(\fI<\fR)¤ò¸¡º÷¤·¤Æ¡¢¤³¤Î·Á¼°¤ò¾¤Î·Á¼°¤È¶èÊ̤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@see <a href="spec\&.html#section">Java Spec</a>\fR¤Ï¼¡¤Î¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +\fB´ØÏ¢¹àÌÜ\fR: +.sp +Java Spec +.sp +\fB·Á¼°3\fR¡£\fI@see package\&.class#member label\fR·Á¼°¤Ï¡¢É½¼¨¥Æ¥­¥¹¥È¡¦¥é¥Ù¥ë¤È¤È¤â¤Ë¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥é¥Ù¥ë¤Ï»²¾È¤µ¤ì¤Æ¤¤¤ëJava¸À¸ì¤Î»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥É¥­¥å¥á¥ó¥È¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£¥é¥Ù¥ë¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£¥é¥Ù¥ë¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É½¼¨¥Æ¥­¥¹¥È¤Î¤«¤ï¤ê¤Ë¡¢Ì¾Á°¤¬Å¬ÀÚ¤Ëû½Ì¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£\fI\-noqualifier\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Îɽ¼¨¥Æ¥­¥¹¥È¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬Á´ÂÎŪ¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£¥é¥Ù¥ë¤Ï¡¢¼«Æ°À¸À®¤µ¤ì¤ëɽ¼¨¥Æ¥­¥¹¥È¤È¤Ï°Û¤Ê¤ëɽ¼¨¥Æ¥­¥¹¥È¤Ë¤¹¤ë¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +Java SE 1\&.2¤À¤±¤Ï¡¢¥é¥Ù¥ë¤Ç¤Ï¤Ê¤¯Ì¾Á°¤¬\fI<code>\fR +HTML¥¿¥°Æâ¤Ë¼«Æ°Åª¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£Java SE 1\&.2\&.2¤«¤é¤Ï¡¢¥é¥Ù¥ë¤ò»ÈÍѤ¹¤ë¤«¤·¤Ê¤¤¤«¤Ë¤«¤«¤ï¤é¤º¡¢\fI<code>\fR¥¿¥°¤Ï¾ï¤Ëɽ¼¨¥Æ¥­¥¹¥È¤ò°Ï¤à¤«¤¿¤Á¤Ç´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackage\&.class#member\fR¤Ë¤Ï¡¢»²¾È¤µ¤ì¤Æ¤¤¤ëǤ°Õ¤ÎÍ­¸ú¤Ê¥×¥í¥°¥é¥àÍ×ÁǤÎ̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤Ç¤¹¡£¤¿¤À¤·¡¢¥á¥ó¥Ð¡¼Ì¾¤ÎÁ°¤Îʸ»ú¤Ï¡¢¥·¥ã¡¼¥×µ­¹æ(\fI#\fR)¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£class¤Ï¡¢Ç¤°Õ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Þ¤¿¤Ï¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤«¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¤·¤Þ¤¹¡£member¤Ï¡¢Ç¤°Õ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤òɽ¤·¤Þ¤¹(¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¡£¤³¤Î̾Á°¤¬¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î̾Á°¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£»²¾È¥¯¥é¥¹¤Ë°¤·¤Æ¤¤¤Ê¤¤Ì¾Á°¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢Â¾¤Î2¤Ä¤Î\fI@see\fR¥¿¥°·Á¼°¤Î¤É¤Á¤é¤«¤ò»ÈÍѤ·¤Þ¤¹¡£¡Ö̾Á°¤Î»ØÄê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fBÃí°Õ:\fR +³°Éô»²¾È¥¯¥é¥¹¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤Ê¤¤¥¯¥é¥¹¤Ç¤¹¡£À¸À®¥É¥­¥å¥á¥ó¥ÈÆâ¤Ç³°Éô»²¾È¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë²Õ½ê¤Ï¡¢³°Éô»²¾È¤Þ¤¿¤Ï³°Éô¥ê¥ó¥¯¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjava\&.awt package\fR¤ËÂФ·¤Æ¤Î¤ß\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢\fIObject\fR¤Ê¤É¤Î\fIjava\&.lang\fRÆâ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤¬³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\-link\fR¤ª¤è¤Ó\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢³°Éô»²¾È¥¯¥é¥¹¤Ø¥ê¥ó¥¯¤·¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Î¥½¡¼¥¹¡¦¥³¥á¥ó¥È¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIlabel\fR¤Ï¡¢¾Êά²Äǽ¤Ê¥Æ¥­¥¹¥È¤Ç¡¢¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¥é¥Ù¥ë¤Ë¤Ï¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIlabel\fR¤ò¾Êά¤¹¤ë¤È¡¢\fIpackage\&.class\&.member\fR¤¬¡¢¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤ÆÅ¬ÀÚ¤Ëû½Ì¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¶õÇòʸ»ú¤¬¡¢\fIpackage\&.class#member\fR¤È\fIlabel\fR¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¡£¥«¥Ã¥³¤ÎÆâ¦¤Î¶õÇòʸ»ú¤Ï¥é¥Ù¥ë¤ÎÀèÆ¬¤È¤Ï²ò¼á¤µ¤ì¤Ê¤¤¤¿¤á¡¢¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿´Ö¤Ë¶õÇòʸ»ú¤òÆþ¤ì¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ +.RE +.sp +¤³¤ÎÎã¤Ç¤Ï¡¢\fI@see\fR¥¿¥°(\fICharacter\fR¥¯¥é¥¹Æâ)¤¬¡¢\fIString\fR¥¯¥é¥¹¤Îequals¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£¥¿¥°¤Ë¤Ï¡¢Ì¾Á°\fIString#equals(Object)\fR¤È¥é¥Ù¥ë\fIequals\fR¤ÎξÊý¤Î°ú¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * @see String#equals(Object) equals + */ +.fi +.if n \{\ +.RE +.\} +ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¼¡¤Î¤è¤¦¤ÊHTML¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +<dl> +<dt><b>See Also:</b> +<dd><a href="\&.\&./\&.\&./java/lang/String#equals(java\&.lang\&.Object)"><code>equals<code></a> +</dl> +.fi +.if n \{\ +.RE +.\} +Á°½Ò¤Î¥³¡¼¥É¤Ï¡¢¥Ö¥é¥¦¥¶¤Ë¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¡¢¥é¥Ù¥ë¤Ïɽ¼¨¥ê¥ó¥¯¡¦¥Æ¥­¥¹¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +\fB´ØÏ¢¹àÌÜ\fR: +.sp +equals +.RE +̾Á°¤Î»ØÄê.PP +¤³¤Î\fIpackage\&.class#member\fR¤È¤¤¤¦Ì¾Á°¤Ï¡¢\fIjava\&.lang\&.String#toUpperCase()\fR¤Î¤è¤¦¤Ê´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¡¢\fIString#toUpperCase()\fR¤ä\fI#toUpperCase()\fR¤Î¤è¤¦¤ÊÈó´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Ì¾Á°¤¬´°Á´½¤¾þ¤è¤êû¤¤¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢É¸½à¤ÎJava¥³¥ó¥Ñ¥¤¥é¤Î¸¡º÷½ç½ø¤ò»ÈÍѤ·¤ÆÃµ¤·¤Þ¤¹¡£¡Ö@see¥¿¥°¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ì¾Á°¤Ï¡¢¥á¥½¥Ã¥É°ú¿ô¤Î´Ö¤Ê¤É¡¢¥«¥Ã¥³Æâ¤Î¥¹¥Ú¡¼¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ÉôʬŪ¤Ë½¤¾þ¤·¤¿Ã»¤¤Ì¾Á°¤ò»ØÄꤹ¤ë¤³¤È¤ÎÍøÅÀ¤Ï¡¢ÆþÎϤ¹¤ëʸ»ú¿ô¤¬¸º¤ë¤³¤È¤ä¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤¬ÆÉ¤ß¤ä¤¹¤¯¤Ê¤ë¤³¤È¤Ç¤¹¡£¼¡¤Î¥ê¥¹¥È¤ËÍÍ¡¹¤Ê·Á¼°¤Î̾Á°¤ò¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢\fIClass\fR¤Ë¤Ï¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢Type¤Ë¤Ï¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢ÇÛÎ󡢤ޤ¿¤Ï¥×¥ê¥ß¥Æ¥£¥Ö¤ò¡¢method¤Ë¤Ï¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¡¢¤½¤ì¤¾¤ì»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fBTypical forms for\fR\fB @see package\&.class#member\fR +\fBReferencing a member of the current class\fR +@see #field +@see #method(Type, Type,\&.\&.\&.) +@see #method(Type argname, Type argname,\&.\&.\&.) +@see #constructor(Type, Type,\&.\&.\&.) +@see #constructor(Type argname, Type argname,\&.\&.\&.) + +\fBReferencing another class in the current or imported packages\fR +@see Class#field +@see Class#method(Type, Type,\&.\&.\&.) +@see Class#method(Type argname, Type argname,\&.\&.\&.) +@see Class#constructor(Type, Type,\&.\&.\&.) +@see Class#constructor(Type argname, Type argname,\&.\&.\&.) +@see Class\&.NestedClass +@see Class + +\fBReferencing an element in another package (fully qualified)\fR +@see package\&.Class#field +@see package\&.Class#method(Type, Type,\&.\&.\&.) +@see package\&.Class#method(Type argname, Type argname,\&.\&.\&.) +@see package\&.Class#constructor(Type, Type,\&.\&.\&.) +@see package\&.Class#constructor(Type argname, Type argname,\&.\&.\&.) +@see package\&.Class\&.NestedClass +@see package\&.Class +@see package +.fi +.if n \{\ +.RE +.\} +.PP +Á°¤Î¥ê¥¹¥È¤Ë´Ø¤¹¤ë¥á¥â: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ºÇ½é¤Î¥¿¥¤¥×¤Î·Á¼°(¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤ò¾Êά)¤Î¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¯¥é¥¹¤Î³¬ÁؤΤߤò¸¡º÷¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¸½ºß¤Î¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤½¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤«¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¤½¤Î³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥á¥ó¥Ð¡¼¤ò¸¡º÷¤·¤Þ¤¹(¸¡º÷¹àÌÜ1\(en3)¡£¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¾¤ÎÉôʬ¤ä¡¢Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¸¡º÷¤·¤Þ¤»¤ó(¸¡º÷¹àÌÜ4\(en5)¡£¡Ö@see¥¿¥°¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤ÎÆþÎÏ»þ¤Ë¡¢\fIgetValue\fR¤Î¤è¤¦¤Ë¥«¥Ã¥³¤Ê¤·¤Î̾Á°¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢Æ±¤¸Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¤½¤Î¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¸¡º÷¤ÇºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥á¥½¥Ã¥É¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£·ë²Ì¤ÏÁ°¤â¤Ã¤ÆÆÃÄê¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î·Á¼°¤Ë¤Ä¤¤¤Æ¡¢\fIouter\&.inner\fR¤È¤·¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ã±½ã¤Ë\fIinner\fR¤È¤Ï¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤¹¤Ç¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¡¢¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤È¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¤Ï¡¢¥É¥Ã¥È(\fI\&.\fR)¤Ç¤Ï¤Ê¤¯¥·¥ã¡¼¥×µ­¹æ(\fI#\fR)¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤ò²ò·è¤Ç¤­¤Þ¤¹¡£¥É¥Ã¥È¤Ï¡¢¥¯¥é¥¹¡¢¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¶èÀڤ뤿¤á¤Ë¤â»ÈÍѤµ¤ì¤ë¤«¤é¤Ç¤¹¡£¤¿¤À¤·¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¥É¥Ã¥È¤ÏÀµ¤·¤¯²òÀϤµ¤ì¤Þ¤¹¤¬¡¢·Ù¹ð¤Ïɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +@see¥¿¥°¤Î¸¡º÷½ç½ø.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥Õ¥¡¥¤¥ë¡¢³µÍ×¥Õ¥¡¥¤¥ë¤Ëɽ¼¨¤µ¤ì¤ë\fI@see\fR¥¿¥°¤ò½èÍý¤·¤Þ¤¹¡£¸å¼Ô¤Î2¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´½¤¾þ¤Î̾Á°¤ò\fI@see\fR¥¿¥°¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´½¤¾þ¤Î̾Á°¡¢¤Þ¤¿¤ÏÉôʬ½¤¾þ¤Î̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +¼¡¤Ë¡¢\fI@see\fR¥¿¥°¤Î¸¡º÷½ç½ø¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +¸½ºß¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹(ºÇ¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤È¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹(ºÇ¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 5.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 5." 4.2 +.\} +¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹(\fIimport\fRʸ¤Î½ç½ø¤Ë½¾¤Ã¤Æ¸¡º÷)¡£ +.RE +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢³Æ¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¹àÌÜ1\-3¤òºÆµ¢Åª¤ËŬÍѤ·¤Ê¤¬¤é¡¢°ìÃפ¹¤ë̾Á°¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¸¡º÷¤ò³¤±¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤Þ¤º¸½ºß¤Î¥¯¥é¥¹¤ò¸¡º÷¤·¡¢¼¡¤Ë¤½¤Î³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹E¤ò¸¡º÷¤·¤¿¸å¡¢E¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ò¸¡º÷¤·¤Æ¤«¤é¡¢E¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£¹àÌÜ4¤È5¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¸¡º÷¤¹¤ë½ç½ø¤Ï·è¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó(¤½¤Î½ç½ø¤Ï¡¢¸Ä¡¹¤Î¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹)¡£¹àÌÜ5¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjava\&.lang\fR¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤Ë¼«Æ°Åª¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢´°Á´½¤¾þ¤Ç¤Ê¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç\fI@see\fR¥¿¥°¤ò¸«¤Ä¤±¤ë¤È¡¢Java¥³¥ó¥Ñ¥¤¥é¤ÈƱ¤¸½ç½ø¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤ò¸¡º÷¤·¤Þ¤¹(¤¿¤À¤·¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢ÆÃÄê¤Î̾Á°¶õ´Ö¤Î¤¢¤¤¤Þ¤¤¤µ¤ò¸¡½Ð¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë¤³¤ì¤é¤Î¥¨¥é¡¼¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤¿¤á¤Ç¤¹)¡£¤³¤Î¸¡º÷½ç½ø¤Ï¡¢Java¸À¸ì»ÅÍͤÇÀµ¼°¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢´ØÏ¢¤¹¤ë¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤«¤é¤½¤Î̾Á°¤ò¸¡º÷¤·¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¼¡¤Î½ç½ø¤Ç¸¡º÷¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +¸½ºß¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹(ºÇ¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤È¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹(ºÇ¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 5.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 5." 4.2 +.\} +¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹(\fIimport\fRʸ¤Î½ç½ø¤Ë½¾¤Ã¤Æ¸¡º÷)¡£ +.RE +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢É¬¤º¤·¤â¥µ¥Ö¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢¼Â¹ÔÃæ¤Ë¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ç¤â¡¢Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\fI@see\fR¥¿¥°¤¬\fIjava\&.awt\&.event\&.KeyEvent\fR¥¯¥é¥¹Æâ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Æ¡¢\fIjava\&.awt package\fRÆâ¤Î¤¢¤ë̾Á°¤ò»²¾È¤·¤Æ¤¤¤Æ¤â¡¢¤½¤Î¥¯¥é¥¹¤¬¥¤¥ó¥Ý¡¼¥È¤·¤Ê¤¤¤«¤®¤ê\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤»¤ó¡£ +̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡.PP +\fIlabel\fR¤ò¾Êά¤¹¤ë¤È¡¢\fIpackage\&.class\&.member\fR¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤ì¤Ï¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤ÆÅ¬ÀÚ¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£Ã»½Ì¤µ¤ì¤ë¤È¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤êɬÍ׺Ǿ®¸Â¤Î̾Á°¤Î¤ß¤¬É½¼¨¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIString\&.toUpperCase()\fR¥á¥½¥Ã¥É¤Ë¡¢Æ±¤¸¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ø¤Î»²¾È¤È¾¤Î¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹Ì¾¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¸å¼Ô¤Î¥±¡¼¥¹¤Î¤ß¤Ç¤¹(¼¡¤Î¥ê¥¹¥È¤ò»²¾È)¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÁ´ÂÎŪ¤Ëºï½ü¤¹¤ë¤Ë¤Ï¡¢\fI\-noqualifier\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RS 4 +\fB»²¾È¤Î¥¿¥¤¥×\fR: \fI@see\fR¥¿¥°¤ÏƱ¤¸¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Þ¤¹ +.RE +.RS 4 +\fBÎã\fR: \fI@see String#toLowerCase()\fR +.RE +.RS 4 +\fBɽ¼¨\fR: \fItoLowerCase()\fR \- ¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹Ì¾¤ò¾Êά¤·¤Þ¤¹ +.RE +.RS 4 +.RE +.RS 4 +\fB»²¾È¤Î¥¿¥¤¥×\fR: \fI@see\fR¥¿¥°¤ÏÊ̤Υ¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Þ¤¹ +.RE +.RS 4 +\fBÎã\fR: \fI@see Character#toLowerCase(char)\fR +.RE +.RS 4 +\fBɽ¼¨\fR: \fICharacter\&.toLowerCase(char)\fR \- ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¾Êά¤·¡¢¥¯¥é¥¹Ì¾¤ò´Þ¤ß¤Þ¤¹ +.RE +.RS 4 +.RE +.RS 4 +\fB»²¾È¤Î¥¿¥¤¥×\fR: \fI@see\fR¥¿¥°¤Ï°Û¤Ê¤ë¥¯¥é¥¹¡¢°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Þ¤¹ +.RE +.RS 4 +\fBÎã\fR: \fI@see java\&.io\&.File#exists()\fR +.RE +.RS 4 +\fBɽ¼¨\fR: \fIjava\&.io\&.File\&.exists()\fR \- ¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹Ì¾¤ò´Þ¤ß¤Þ¤¹ +.RE +.RS 4 +.RE +@see¥¿¥°¤ÎÎã.PP +±¦Â¦¤Î¥³¥á¥ó¥È¤Ï¡¢\fI@see\fR¥¿¥°¤¬\fIjava\&.applet\&.Applet\fR¤Ê¤É¤ÎÊ̤Υѥ屡¼¥¸¤Î¥¯¥é¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ë¡¢Ì¾Á°¤¬¤É¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@see¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@see)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + See also: +@see java\&.lang\&.String // String +@see java\&.lang\&.String The String class // The String class +@see String // String +@see String#equals(Object) // String\&.equals(Object) +@see String#equals // String\&.equals(java\&.lang\&.Object) +@see java\&.lang\&.Object#wait(long) // java\&.lang\&.Object\&.wait(long) +@see Character#MAX_RADIX // Character\&.MAX_RADIX +@see <a href="spec\&.html">Java Spec</a> // Java Spec +@see "The Java Programming Language" // "The Java Programming Language" +.fi +.if n \{\ +.RE +.\} +.PP +\fBÃí°Õ:\fR +\fI@se\fR\fIe\fR¥¿¥°¤ò³ÈÄ¥¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +@serial \fIfield\-description\fR | include | exclude +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤ·¤Þ¤¹¡£¥¯¥é¥¹¤ÎľÎó²½²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Îʸ½ñ²½ +(http://docs\&.oracle\&.com/javase/8/docs/platform/serialization/spec/serial\-arch\&.html#5251)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +Oracle¤ÎľÎ󲽤µ¤ì¤¿·Á¼°¤Î»ÅÍͤ˥¯¥é¥¹¤ò´Þ¤á¤ë´ð½à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/serialized\-criteria\-137781\&.html)¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fIfield\-description\fR(¾Êά²Äǽ)¤Ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î°ÕÌ£¤òÀâÌÀ¤·¡¢¼è¤êÆÀ¤ëÃͤΥꥹ¥È¤ò¼¨¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£É¬Íפʾì¹ç¤Ï¡¢Ê£¿ô¤Î¹Ô¤ËÅϤäÆÀâÌÀ¤òµ­½Ò¤Ç¤­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¤³¤Î¾ðÊó¤ò¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤ËÄɲä·¤Þ¤¹¡£Áê¸ß»²¾È¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥¯¥é¥¹¤òľÎ󲽤·¤¿¸å¤ËľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤ò¥¯¥é¥¹¤ËÄɲä·¤¿¾ì¹ç¡¢¼çÀâÌÀ¤Ë¡¢Äɲä·¤¿¥Ð¡¼¥¸¥ç¥ó¤ò¼±Ê̤¹¤ëʸ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fIinclude\fR¤ª¤è¤Ó\fIexclude\fR°ú¿ô¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤Ë¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤á¤ë¤«½ü³°¤¹¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£¼¡¤Î¤è¤¦¤Ëµ¡Ç½¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fISerializable\fR¤ò¼ÂÁõ¤·¤Æ¤¤¤ëpublic¤Þ¤¿¤Ïprotected¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹(¤Þ¤¿¤Ï¤½¤Î¥¯¥é¥¹¤¬Â°¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸)¤¬\fI@serial exclude\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤®¤ê¡¢´Þ¤á¤é¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fISerializable\fR¤ò¼ÂÁõ¤·¤Æ¤¤¤ëprivate¤Þ¤¿¤Ïpackage\-private¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹(¤Þ¤¿¤Ï¤½¤Î¥¯¥é¥¹¤¬Â°¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸)¤¬\fI@serial include\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤®¤ê¡¢½ü³°¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +¤¿¤È¤¨¤Ð¡¢\fIjavax\&.swing\fR¥Ñ¥Ã¥±¡¼¥¸¤Ïpackage\&.html¤Þ¤¿¤Ïpackage\-info\&.javaÆâ¤Ç\fI@serial\fR +\fIexclude\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£public¥¯¥é¥¹\fIjava\&.security\&.BasicPermission\fR¤Ï\fI@serial exclude\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£package\-private¥¯¥é¥¹\fIjava\&.util\&.PropertyPermissionCollection\fR¤Ï\fI@serial include\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¥¯¥é¥¹¡¦¥ì¥Ù¥ë¤Î\fI@serial\fR¥¿¥°¤Ï¥Ñ¥Ã¥±¡¼¥¸¡¦¥ì¥Ù¥ë¤Î\fI@serial\fR¥¿¥°¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +@serialData \fIdata\-description\fR +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +¥Ç¡¼¥¿¤ÎÀâÌÀÃͤò»ÈÍѤ·¤Æ¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Ç¤Î¥Ç¡¼¥¿¤Î·¿¤È½ç½ø¤ò¥É¥­¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£¤³¤Î¥Ç¡¼¥¿¤Ë¤Ï¡¢\fIwriteObject\fR¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤ë¾Êά²Äǽ¤Ê¥Ç¡¼¥¿¡¢¤ª¤è¤Ó\fIExternalizable\&.writeExternal\fR¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿(¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤ò´Þ¤à)¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +\fI@serialData\fR¥¿¥°¤Ï¡¢\fIwriteObject\fR¡¢\fIreadObject\fR¡¢\fIwriteExternal\fR¡¢\fIreadExternal\fR¡¢\fIwriteReplace\fR¤ª¤è¤Ó\fIreadResolve\fR¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +@serialField \fIfield\-name\fR \fIfield\-type\fR \fIfield\-description\fR +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +\fISerializable\fR¥¯¥é¥¹¤Î\fIserialPersistentFields\fR¥á¥ó¥Ð¡¼¤Î\fIObjectStreamField\fR¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥É¥­¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£\fIObjectStreamField\fR¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë1¤Ä¤Î\fI@serialField\fR¥¿¥°¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +@since \fIsince\-text\fR +.RS 4 +JDK 1\&.1¤ÇƳÆþ +.sp +À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢»ØÄꤵ¤ì¤¿\fIsince\-text\fR¤ÎÃͤÎ\fI¡ÖƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¡×\fR¸«½Ð¤·¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ë¤Ï¡¢ÆÃÊÌ¤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢ÆÃÄê¤ÎÊѹ¹¤Þ¤¿¤Ïµ¡Ç½¤¬¡¢\fIsince\-text\fR¤ÎÃͤˤè¤Ã¤Æ»ØÄꤵ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¡¦¥ê¥ê¡¼¥¹°Ê¹ß¡¢Â¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@since 1\&.5\fR¤Ç¤¹¡£ +.sp +Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¾ì¹ç¡¢\fI@since\fR¥¿¥°¤Ï¡¢Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥àAPI»ÅÍͤΥС¼¥¸¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¥½¡¼¥¹¡¦¥³¡¼¥É¤¬¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤ËÄɲ䵤줿»þ´ü¤ò¼¨¤¹¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£Ê£¿ô¤Î\fI@since\fR¥¿¥°¤ò»ÈÍѤǤ­¡¢Ê£¿ô¤Î\fI@author\fR¥¿¥°¤Î¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡£¥×¥í¥°¥é¥àÍ×ÁǤ¬Ê£¿ô¤ÎAPI¤Ç»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢Ê£¿ô¤Î¥¿¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +@throws \fIclass\-name\fR \fIdescription\fR +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +\fI@exception\fR¥¿¥°¤ÈƱ¤¸Æ°ºî¤ò¤·¤Þ¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@throws¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@exception)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fI@throws\fR¥¿¥°¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë\fIThrows\fR¾®¸«½Ð¤·¤òÄɲ䷤ơ¢\fIclass\-name\fR¤ª¤è¤Ó\fIdescription\fR¥Æ¥­¥¹¥È¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£\fIclass\-name\fR¤Ï¡¢¤½¤Î¥á¥½¥Ã¥É¤«¤é¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëÎã³°¤Î̾Á°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£¤³¤Î¥¯¥é¥¹¤¬´°Á´»ØÄê¤Î̾Á°¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¸¡º÷½ç½ø¤Ë½¾¤Ã¤Æ¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£Ê£¿ô¤Î\fI@throws\fR¥¿¥°¤ò¡¢Æ±¤¸Îã³°¤Þ¤¿¤Ï°ã¤¦Îã³°¤Î»ØÄꤷ¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¡Ö@see¥¿¥°¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯ºÑÎã³°¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢\fI@throws\fR¥¿¥°¤¬throwsÀáÆâ¤ÎÎã³°ÍѤ˸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\fI@throws\fR¥¿¥°¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¤«¤Î¤è¤¦¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÎã³°¤¬HTML½ÐÎϤËÀâÌÀ¤Ê¤·¤ÇÄɲ䵤ì¤Þ¤¹¡£ +.sp +¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¥á¥½¥Ã¥ÉÆâ¤ÇÎã³°¤¬ÌÀ¼¨Åª¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤ß¡¢\fI@throws\fR¤Î¥É¥­¥å¥á¥ó¥È¤¬¤½¤Î¥á¥½¥Ã¥É¤«¤é¥µ¥Ö¥¯¥é¥¹¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥á¥½¥Ã¥É¤«¤é¼ÂÁõ¥á¥½¥Ã¥É¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¾ì¹ç¤âƱÍͤǤ¹¡£\fI{@inheritDoc}\fR¥¿¥°¤ò»ÈÍѤ·¤Æ¡¢\fI@throws\fR¥¿¥°¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò·Ñ¾µ¤¹¤ë¤è¤¦¤Ë¶¯À©¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +{@value \fIpackage\&.class#field\fR} +.RS 4 +JDK 1\&.4¤ÇƳÆþ +.sp +Äê¿ô¤ÎÃͤòɽ¼¨¤·¤Þ¤¹¡£\fI{@value}\fR¥¿¥°¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç°ú¿ô¤Ê¤·¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÄê¿ô¤ÎÃͤòɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * The value of this constant is {@value}\&. + */ +public static final String SCRIPT_START = "<script>" +.fi +.if n \{\ +.RE +.\} +Ǥ°Õ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Ç°ú¿ô\fIpackage\&.class#field\fR¤¢¤ê¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢\fI{@value}\fR¥¿¥°¤Ï»ØÄꤵ¤ì¤¿Äê¿ô¤ÎÃͤòɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * Evaluates the script starting with {@value #SCRIPT_START}\&. + */ +public String evalScript(String script) {} +.fi +.if n \{\ +.RE +.\} +°ú¿ô\fIpackage\&.class#field\fR¤Ï¡¢\fI@see\fR¥¿¥°°ú¿ô¤ÈƱ°ì¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥á¥ó¥Ð¡¼¤ÏÀÅŪ¥Õ¥£¡¼¥ë¥É¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¤³¤ì¤é¤ÎÄê¿ô¤ÎÃͤϡÖÄê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ¡× +(http://docs\&.oracle\&.com/javase/8/docs/api/constant\-values\&.html)¤Ë¤âɽ¼¨¤µ¤ì¤Þ¤¹ +.RE +.PP +@version \fIversion\-text\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +\fI\-version\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë\fI¡Ö¥Ð¡¼¥¸¥ç¥ó¡×\fR¾®¸«½Ð¤·¤òÄɲ䷤ơ¢»ØÄꤵ¤ì¤¿\fIversion\-text\fR¤ÎÃͤò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¤³¤Î¥³¡¼¥É¤¬´Þ¤Þ¤ì¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¸½ºß¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤òÊÝ»ý¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¤Î¤ËÂФ·¡¢\fI@since\fR¥¿¥°¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬Æ³Æþ¤µ¤ì¤¿¥ê¥ê¡¼¥¹ÈÖ¹æ¤òÊÝ»ý¤·¤Þ¤¹¡£\fIversion\-text\fR¤ÎÃͤˤϡ¢ÆÃÊÌ¤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@version¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@version)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ËÊ£¿ô¤Î\fI@version\fR¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£É¬Íפ˱þ¤¸¤Æ¡¢1¤Ä¤Î\fI@version\fR¥¿¥°¤Ë1¤Ä¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ê£¿ô¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÌ¾Á°¤È̾Á°¤Î´Ö¤Ë¥«¥ó¥Þ(,)¤È¶õÇòʸ»ú¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥ÈÁ´ÂΤ¬²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥«¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¡¢1¹Ô¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.SH "¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê" +.PP +¤³¤³¤Ç¤Ï¡¢¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¼¡¤Î¥¿¥°¤¬¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£\fI@see\fR¡¢\fI@since\fR¡¢\fI@deprecated\fR¡¢\fI{@link}\fR¡¢\fI{@linkplain}\fR¤ª¤è¤Ó\fI{@docroot}\fR¡£ +.SS "³µÍ×¥¿¥°" +.PP +³µÍ×¥¿¥°¤Ï¡¢³µÍ×¥Ú¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤Ç¤¹(¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï¡¢Ä̾ïoverview\&.html¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ê¤Þ¤¹)¡£Â¾¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¾ì¹ç¤ÈƱÍͤˡ¢¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¸å¤Ç»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +Java SE 1\&.2¤Ç¤Ï¡¢³µÍץɥ­¥å¥á¥ó¥ÈÆâ¤Î\fI{@link}\fR¥¿¥°¤ËÉÔ¶ñ¹ç¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥È¤ÏÀµ¤·¤¯É½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢¥ê¥ó¥¯¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¡£¸½ºß¤Î¤È¤³¤í¡¢\fI{@docRoot}\fR¥¿¥°¤Ï¡¢³µÍץɥ­¥å¥á¥ó¥ÈÆâ¤Ç¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£ +.PP +³µÍ×¥¿¥°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +@see reference || @since since\-text || @serialField field\-name field\-type field\-description || @author name\-text || @version version\-text || {@link package\&.class#member label} || {@linkplain package\&.class#member label} || {@docRoot} || +.SS "¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°" +.PP +¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤Ç¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ïpackage\&.html¤Þ¤¿¤Ïpackage\-info\&.java¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç»ÈÍѤǤ­¤ë\fI@serial\fR¥¿¥°¤Ï¡¢\fIinclude\fR¤Þ¤¿¤Ï\fIexclude\fR°ú¿ô¤ò»ØÄꤷ¤¿¤â¤Î¤Î¤ß¤Ç¤¹¡£ +.PP +¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +@see reference || @since since\-text || @serial field\-description | include | exclude || @author name\-text || @version version\-text || {@linkplain package\&.class#member label} || {@linkplain package\&.class#member label} || {@docRoot} || +.SS "¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥¿¥°" +.PP +¼¡¤Ë¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£\fI@serial\fR¥¿¥°¤Ï¡¢\fIinclude\fR¤Þ¤¿¤Ï\fIexclude\fR°ú¿ô¤ò»ØÄꤷ¤Æ¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÆâ¤Ç¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +@see reference || @since since\-text || @deprecated deprecated\-text || @serial field\-description | include | exclude || @author name\-text || @version version\-text || {@link package\&.class#member label} || {@linkplain package\&.class#member label} || {@docRoot} || +.PP +¥¯¥é¥¹¡¦¥³¥á¥ó¥È¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * A class representing a window on the screen\&. + * For example: + * <pre> + * Window win = new Window(parent); + * win\&.show(); + * </pre> + * + * @author Sami Shaio + * @version 1\&.13, 06/08/06 + * @see java\&.awt\&.BaseWindow + * @see java\&.awt\&.Button + */ +class Window extends BaseWindow { + \&.\&.\&. +} +.fi +.if n \{\ +.RE +.\} +.SS "¥Õ¥£¡¼¥ë¥É¡¦¥¿¥°" +.PP +¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Ëɽ¼¨¤Ç¤­¤Þ¤¹¡£ +.PP +@see reference || @since since\-text || @deprecated deprecated\-text || @serial field\-description | include | exclude || @serialField field\-name field\-type field\-description || {@link package\&.class#member label} || {@linkplain package\&.class#member label} || {@docRoot} || {@value package\&.class#field} +.PP +¥Õ¥£¡¼¥ë¥É¡¦¥³¥á¥ó¥È¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl - * The X\-coordinate of the component. -.fl + * The X\-coordinate of the component\&. * -.fl * @see #getLocation() -.fl */ -.fl int x = 1263732; -.fl -\fP .fi -.SS -¥³¥ó¥¹¥È¥é¥¯¥¿¤ª¤è¤Ó¥á¥½¥Ã¥É¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -¼¡¤Ë¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£¤¿¤À¤·¡¢ \f2@return\fP ¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Ï»ÈÍѤǤ­¤º¡¢ \f2{@inheritDoc}\fP ¤Ë¤ÏÆÃÄê¤ÎÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£ \f2@serialData\fP ¥¿¥°¤ÏÆÃÄê¤ÎľÎ󲽥᥽¥Ã¥É¤Î doc ¥³¥á¥ó¥È¤Ç¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -\f3¥á¥½¥Ã¥É¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@deprecated\fP -.TP 2 -o -\f2@param\fP -.TP 2 -o -\f2@return\fP -.TP 2 -o -\f2@throws\fP ¤È \f2@exception\fP -.TP 2 -o -\f2@serialData\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@inheritDoc}\fP -.TP 2 -o -\f2{@docRoot}\fP +.if n \{\ .RE -\f3¼¡¤Ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fP +.\} +.SS "¥³¥ó¥¹¥È¥é¥¯¥¿¤È¥á¥½¥Ã¥É¡¦¥¿¥°" +.PP +¼¡¤Ë¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\fI@return\fR¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Ï»ÈÍѤǤ­¤º¡¢ +\fI{@inheritDoc}\fR¤Ë¤ÏÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +@see reference || @since since\-text || @deprecated deprecated\-text || @param parameter\-name description || @return description || @throws class\-name description || @exception class\-name description || @serialData data\-description || {@link package\&.class#member label} || {@linkplain package\&.class#member label} || {@inheritDoc} || {@docRoot} +.PP +\fBÃí°Õ:\fR +\fI@serialData\fR¥¿¥°¤Ï¡¢\fIwriteObject\fR¡¢\fIreadObject\fR¡¢\fIwriteExternal\fR¡¢\fIreadExternal\fR¡¢\fIwriteReplace\fR¤ª¤è¤Ó\fIreadResolve\fR¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * Returns the character at the specified index. An index -.fl - * ranges from <code>0</code> to <code>length() \- 1</code>. -.fl +/** + * Returns the character at the specified index\&. An index + * ranges from <code>0</code> to <code>length() \- 1</code> * -.fl - * @param index the index of the desired character. -.fl - * @return the desired character. -.fl + * @param index the index of the desired character\&. + * @return the desired character\&. * @exception StringIndexOutOfRangeException -.fl * if the index is not in the range <code>0</code> -.fl - * to <code>length()\-1</code>. -.fl - * @see java.lang.Character#charValue() -.fl + * to <code>length()\-1</code> + * @see java\&.lang\&.Character#charValue() */ -.fl public char charAt(int index) { -.fl - ... -.fl + \&.\&.\&. } -.fl -\fP .fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -javadoc ¥Ä¡¼¥ë¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ½ÐÎϤò·èÄꤷ¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢\-doclet ¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤¤¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢Ç¤°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤È¤È¤â¤Ë»ÈÍѤǤ­¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¤¢¤È¤Î¡ÖJavadoc ¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤Î¤Û¤«¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÄɲäΥ³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬Ä󶡤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤Î¤¢¤È¤Î¡Öɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£¤É¤Î¥ª¥×¥·¥ç¥ó̾¤â¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£ -.LP +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ½ÐÎϤò·èÄꤷ¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI\-doclet\fR¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¡¦¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢Ç¤°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤È¤È¤â¤Ë»ÈÍѤǤ­¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢Javadoc¥ª¥×¥·¥ç¥ó¤ÇÀâÌÀ¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤Î¾¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÄɲäΥ³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬Ä󶡤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó¤ÇÀâÌÀ¤·¤Þ¤¹¡£¤É¤Î¥ª¥×¥·¥ç¥ó̾¤â¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Javadoc¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP ¥ª¥×¥·¥ç¥ó¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.PP +\-1\&.1 || \-author || \-bootclasspath classpathlist || \-bottom text || \-breakiterator || \-charset name || \-classpath classpathlist || \-d directory || \-docencoding name || \-docfilesubdirs || \-doclet class || \-docletpath classpathlist || \-doctitle title || \-encoding || \-exclude packagename1:packagename2:\&.\&.\&. || \-excludedocfilessubdir name1:name2 || \-extdirs dirist || \-footer footer || \-group groupheading packagepattern:packagepattern || \-header header || \-help || \-helpfile path\efilename || \-Jflag || \-keywords || \-link extdocURL || \-linkoffline extdocURL packagelistLoc || \-linksource || \-locale language_country_variant || \-nocomment || \-nodeprecated || \-nodeprecatedlist || \-nohelp || \-noindex || \-nonavbar || \-noqualifier all | packagename1:packagename2\&.\&.\&. || \-nosince || \-notimestamp || \-notree || +\fI\-overview path/filename || \fR\-package || \-private || \-protected || \-public || \-quiet || \-serialwarn || \-source release || \-sourcepath sourcepathlist || \-sourcetab tablength || \-splitindex || +\fI\-stylesheet path/filename || \fR\-subpackages package1:package2:\&.\&.\&. || \-tag tagname:Xaoptcmf:"taghead" || \-taglet class || \-tagletpath tagletpathlist || \-title title || \-top || \-use || \-verbose || \-version || \-windowtitle title +.PP +¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ë»ÈÍѲÄǽ¤Ê¥³¥¢¤ÎJavadoc¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Î¾¤ÎÉôʬ¤òÄ󶡤·¤Þ¤¹¡£\fI\-bootclasspath\fR¡¢\fI\-breakiterator\fR¡¢\fI\-classpath\fR¡¢\fI\-doclet\fR¡¢\fI\-docletpath\fR¡¢\fI\-encoding\fR¡¢\-\fIexclude\fR¡¢\fI\-extdirs\fR¡¢\fI\-help\fR¡¢\fI\-locale\fR¡¢\fI\-\fR\fIoverview\fR¡¢\fI\-package\fR¡¢\fI\-private\fR¡¢\fI\-protected\fR¡¢\fI\-public\fR¡¢\fI\-quiet\fR¡¢\fI\-source\fR¡¢\fI\-sourcepath\fR¡¢\fI\-subpackages\fR¤ª¤è¤Ó\fI\-verbose\fR¡£ +.SS "Javadoc¥ª¥×¥·¥ç¥ó" +.PP +\-overview \fIpath/filename \fR +.RS 4 + +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¡¢\fIpath/filename \fR¤Ç»ØÄꤵ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é³µÍץɥ­¥å¥á¥ó¥ÈÍѤΥƥ­¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤Î¥Æ¥­¥¹¥È¤ò³µÍ×¥Ú¡¼¥¸(overview\-summary\&.html)¤ËÇÛÃÖ¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£\fIpath/filename\fR¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£ +.sp +\fIfilename\fR¤ÎÃͤÇǤ°Õ¤Î̾Á°¤ò»ÈÍѤ·¡¢path¤ÇǤ°Õ¤ÎÇÛÃÖÀè¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢Ä̾ï¤Ïoverview\&.html¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼Æâ¤ÎºÇ¾å°Ì¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤³¤Î¾ì½ê¤ËÇÛÃÖ¤¹¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤È¤­¤Ëpath¤ò»ØÄꤹ¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤¬»Ø¤·¼¨¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIjava\&.lang\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤¬/src/classes/java/lang/¤Î¾ì¹ç¡¢³µÍ×¥Õ¥¡¥¤¥ë¤ò/src/classes/overview\&.html¤ËÇÛÃ֤Ǥ­¤Þ¤¹ +.sp +¼ÂºÝ¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fIpath/filename\fR¤Ç»ØÄꤹ¤ë¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +³µÍ×¥Ú¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Î¤ß¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢HTML¥Õ¥ì¡¼¥à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£³µÍ×¥Ú¡¼¥¸¤Î¥¿¥¤¥È¥ë¤Ï¡¢\fI\-doctitle\fR¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xdoclint:(all|none|[\-]\fI<group>\fR) +.RS 4 +ÉÔÀµ¤Ê»²¾È¡¢¥¢¥¯¥»¥·¥Ó¥ê¥Æ¥£¤Î·çÍ¤è¤ÓJavadoc¥³¥á¥ó¥È¤ÎÉÔ­¤Î·Ù¹ð¤ò¥ì¥Ý¡¼¥È¤·¡¢Ìµ¸ú¤ÊJavadoc¹½Ê¸¤ª¤è¤ÓÉÔ­¤·¤Æ¤¤¤ëHTML¥¿¥°¤Î¥¨¥é¡¼¤ò¥ì¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ÏÀ¸À®¤µ¤ì¤¿½ÐÎϤ˴ޤޤì¤ë¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È¡¦¥³¥á¥ó¥È¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£Ä̾ï¤É¤ª¤ê¡¢É¸½à¥ª¥×¥·¥ç¥ó\fI\-public\fR¡¢\fI\-protected\fR¡¢\fI\-package\fR¤ª¤è¤Ó\fI\-private\fR¤ÇÀ¸À®¤µ¤ì¤¿½ÐÎϤ˴ޤà¹àÌܤòÁªÂò¤Ç¤­¤Þ¤¹¡£ +.sp +\fI\-Xdoclint\fR¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fIjavac\fR¥³¥Þ¥ó¥É¤ÈƱÍͤ˥á¥Ã¥»¡¼¥¸¤ÇÌäÂ꤬¥ì¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥á¥Ã¥»¡¼¥¸¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤ª¤è¤Ó¥¨¥é¡¼¤¬¸¡½Ð¤µ¤ì¤¿Àµ³Î¤Ê°ÌÃÖ¤ò»Ø¤¹¥­¥ã¥ì¥Ã¥È¤ò½ÐÎϤ·¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸¤Ï¡¢½ÅÂçÅÙ¡¢¤ª¤è¤ÓÀ¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¬¥Ð¥ê¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¥¨¥é¡¼¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤Ë±þ¤¸¤Æ¡¢·Ù¹ð¤Þ¤¿¤Ï¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÉÔÀµ¤Ê»²¾È¤Þ¤¿¤ÏJavadoc¥³¥á¥ó¥È¤Î·çÍî¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬Ìµ¸ú¤ÊHTML¤òÀ¸À®¤¹¤ë¸¶°ø¤Ë¤Ê¤é¤Ê¤¤¤¿¤á¡¢¤³¤ì¤é¤ÎÌäÂê¤Ï·Ù¹ð¤È¤·¤Æ¥ì¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¹½Ê¸¥¨¥é¡¼¤Þ¤¿¤ÏHTML½ªÎ»¥¿¥°¤Î·çÍî¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬Ìµ¸ú¤ÊHTML¤òÀ¸À®¤¹¤ë¸¶°ø¤Ë¤Ê¤ë¤¿¤á¡¢¤³¤ì¤é¤ÎÌäÂê¤Ï¥¨¥é¡¼¤È¤·¤Æ¥ì¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó\fI\-Xdoclint:none\fR¤Ç̵¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤Ç¥ì¥Ý¡¼¥È¤µ¤ì¤ëÆâÍÆ¤Ï¼¡¤Î¥ª¥×¥·¥ç¥ó¤ÇÊѹ¹¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-Xdoclint\fR\fI\fR\fI none\fR: +\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-Xdoclint\fR\fI\fR\fI \fR\fIgroup\fR: +\fIgroup\fR¥Á¥§¥Ã¥¯¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-Xdoclint\fR\fI\fR\fI all\fR: ¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-Xdoclint\fR\fI\fR\fI all,\fR\fI\-group\fR: +\fIgroup\fR¥Á¥§¥Ã¥¯°Ê³°¤Î¤¹¤Ù¤Æ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.sp +ÊÑ¿ô\fIgroup\fR¤Ï¼¡¤Î¤¤¤º¤ì¤«¤ÎÃͤò»ý¤Á¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIaccessibility\fR: ¥¢¥¯¥»¥·¥Ó¥ê¥Æ¥£¡¦¥Á¥§¥Ã¥«¤Ç¸¡½Ð¤¹¤ëÌäÂê¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹(¤¿¤È¤¨¤Ð¡¢\fI<table>\fR¥¿¥°¤Ç»ØÄꤵ¤ì¤ëno caption¤Þ¤¿¤Ïsummary°À­)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIhtml\fR: ¥¤¥ó¥é¥¤¥óÍ×ÁǤؤΥ֥í¥Ã¥¯Í×ÁǤÎÁÞÆþ¤ä½ªÎ»¥¿¥°¤òɬÍפȤ¹¤ëÍ×ÁǤò½ªÎ»¤·¤Ê¤¤¤Ê¤É¡¢¾å°Ì¥ì¥Ù¥ëHTML¤ÎÌäÂê¤ò¸¡½Ð¤·¤Þ¤¹¡£¥ë¡¼¥ë¤Ï¡¢HTML 4\&.01»ÅÍͤ«¤éƳ½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¿¥¤¥×¤Î¥Á¥§¥Ã¥¯¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤òÍ­¸ú¤Ë¤·¤Æ¡¢¥Ö¥é¥¦¥¶¤¬¼õ¤±Æþ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëHTML¤ÎÌäÂê¤ò¸¡½Ð¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fImissing\fR: ·çÍ¤Æ¤¤¤ëJavadoc¥³¥á¥ó¥È¤Þ¤¿¤Ï¥¿¥°¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹(¤¿¤È¤¨¤Ð¡¢·çÍ¤Æ¤¤¤ë¥³¥á¥ó¥È¤ä¥¯¥é¥¹¡¢¤Þ¤¿¤Ï·çÍ¤Æ¤¤¤ë\fI@return\fR¥¿¥°¤ä¥á¥½¥Ã¥É¾å¤ÎƱÍͤΥ¿¥°)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIreference\fR: Javadoc¥¿¥°¤ÎJava APIÍ×ÁǤλ²¾È¤Ë´ØÏ¢¤¹¤ëÌäÂê¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹(¤¿¤È¤¨¤Ð¡¢\fI@see\fR¤Ç¸«¤Ä¤«¤é¤Ê¤¤¹àÌÜ¡¢¤Þ¤¿¤Ï\fI@param\fR¤Î¸å¤ÎÉÔÀµ¤Ê̾Á°)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIsyntax\fR: ¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤¤»³¥«¥Ã¥³(\fI<\fR¤ª¤è¤Ó\fI>\fR)¤ä¥¢¥ó¥Ñ¥µ¥ó¥É(\fI&\fR)¡¢Ìµ¸ú¤ÊJavadoc¥¿¥°¤Ê¤É¤Î²¼°Ì¥ì¥Ù¥ë¤ÎÌäÂê¤ò³Îǧ¤·¤Þ¤¹¡£ +.RE +.sp +\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤òÊ£¿ô²ó»ØÄꤷ¤Æ¡¢Ê£¿ô¤Î¥«¥Æ¥´¥ê¤Î¥¨¥é¡¼¤È·Ù¹ð¤ò¥Á¥§¥Ã¥¯¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢Á°¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð¥«¥Æ¥´¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤ·¤Æ¡¢\fIfilename\fR¥Õ¥¡¥¤¥ëÆâ¤ÎHTML¡¢¹½Ê¸¤ª¤è¤Ó¥¢¥¯¥»¥·¥Ó¥ê¥Æ¥£¤ÎÌäÂê¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\-\f21.1\fP -.br -\-author -.br -\-\f2bootclasspath\fP -.br -\-bottom -.br -\-\f2breakiterator\fP -.br -\-charset -.br -\-\f2classpath\fP -.br -\-d -.br -\-docencoding -.br -\-docfilessubdirs -.br -\-\f2doclet\fP -.br -\-\f2docletpath\fP -.br -\-doctitle -.br -\-\f2encoding\fP -.br -\-\f2exclude\fP -.br -\-excludedocfilessubdir -.br -\-\f2extdirs\fP -.br -\-footer -.br -\-group -.br -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\-header -.br -\-\f2help\fP -.br -\-helpfile -.br -\-\f2J\fP -.br -\-keywords -.br -\-link -.br -\-linkoffline -.br -\-linksource -.br -\-\f2locale\fP -.br -\-nocomment -.br -\-nodeprecated -.br -\-nodeprecatedlist -.br -\-nohelp -.br -\-noindex -.br -\-nonavbar -.br -\-noqualifier -.br -\-nosince -.br -\-notimestamp -.br -\-notree -.br -\-\f2overview\fP -.br -\-\f2package\fP -.br -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\-\f2private\fP -.br -\-\f2protected\fP -.br -\-\f2public\fP -.br -\-\f2quiet\fP -.br -\-serialwarn -.br -\-\f2source\fP -.br -\-\f2sourcepath\fP -.br -\-sourcetab -.br -\-splitindex -.br -\-stylesheetfile -.br -\-\f2subpackages\fP -.br -\-tag -.br -\-taglet -.br -\-tagletpath -.br -\-top -.br -\-title -.br +javadoc \-Xdoclint:html \-Xdoclint:syntax \-Xdoclint:accessibility \fIfilename\fR +javadoc \-Xdoclint:html,syntax,accessibility \fIfilename\fR +.fi +.if n \{\ +.RE +.\} +\fBÃí°Õ:\fR +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥Á¥§¥Ã¥¯¤Î´°Á´À­¤ÏÊݾڤµ¤ì¤Þ¤»¤ó¡£¶ñÂÎŪ¤Ë¤Ï¡¢´°Á´¤ÊHTML¥³¥ó¥×¥é¥¤¥¢¥ó¥¹¡¦¥Á¥§¥Ã¥«¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\-\fIXdoclint\fR¥ª¥×¥·¥ç¥ó¤ÎÌÜŪ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤òÍ­¸ú¤Ë¤·¤Æ°ìÈÌŪ¤Ê¥¨¥é¡¼¤ÎÂçȾ¤ò¥ì¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ç¤¹¡£ +.sp +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Ìµ¸ú¤ÊÆþÎϤν¤Àµ¤ò»î¹Ô¤»¤º¡¢¥ì¥Ý¡¼¥È¤Î¤ß¹Ô¤¤¤Þ¤¹¡£ +.RE +.PP +\-public +.RS 4 +public¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤Î¤ßɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-protected +.RS 4 +protected¤ª¤è¤Ópublic¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤Î¤ß¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ +.RE +.PP +\-package +.RS 4 +package¡¢protected¡¢¤ª¤è¤Ópublic¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤Î¤ßɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-private +.RS 4 +¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥ª¥ó¥é¥¤¥ó¡¦¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹¡£\fIjavadoc\fR¤È\fI¥É¥Ã¥¯¥ì¥Ã¥È\fR¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-doclet \fIclass\fR +.RS 4 +¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£´°Á´½¤¾þ̾¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤ê¡¢½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤¬ÄêµÁ¤µ¤ì¤Þ¤¹¡£\fI\-doclet\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¥Ç¥Õ¥©¥ë¥È¤ÎHTML·Á¼°¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ë¤Ï\fIstart(Root)\fR¥á¥½¥Ã¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Îµ¯Æ°¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤Ï\fI\-docletpath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£¥É¥Ã¥¯¥ì¥Ã¥È¤Î³µÍ× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/doclet/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-docletpath \fIclasspathlist\fR +.RS 4 +\fI\-doclet\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¤½¤Î¥¯¥é¥¹¤¬°Í¸¤¹¤ë¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£³«»Ï¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬JAR¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÇJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ÀäÂХѥ¹¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIclasspathlist\fR¤ËÊ£¿ô¤Î¥Ñ¥¹¤äJAR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤é¤òSolaris¤Î¾ì¹ç¤Ï¥³¥í¥ó(:)¤Ç¡¢Windows¤Î¾ì¹ç¤Ï¥»¥ß¥³¥í¥ó(;)¤Ç¤½¤ì¤¾¤ì¶èÀÚ¤ê¤Þ¤¹¡£ÌÜŪ¤Î¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£¥É¥Ã¥¯¥ì¥Ã¥È¤Î³µÍ× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/doclet/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-1\&.1 +.RS 4 +Javadoc 1\&.4¤«¤éºï½ü¤µ¤ì¡¢ÂåÂØ¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Javadoc 1\&.1¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¤Î¤ÈƱ¤¸³°¸«¤Èµ¡Ç½¤ò»ý¤Ä¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤·¤¿(¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó)¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬Íפʾì¹ç¤Ï¡¢Javadoc 1\&.2¤Þ¤¿¤Ï1\&.3¤ò¤«¤ï¤ê¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-source \fIrelease\fR +.RS 4 +¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥ê¥ê¡¼¥¹¤ò»ØÄꤷ¤Þ¤¹¡£\fIrelease\fR¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ëÃͤËÂбþ¤¹¤ë\fI¥ê¥ê¡¼¥¹\fR¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fB¥ê¥ê¡¼¥¹ÃÍ: 1\&.5\fR¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢JDK 1\&.5¤ÇƳÆþ¤µ¤ì¤¿Áí¾Î¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥³¥ó¥Ñ¥¤¥é¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢1\&.5¤Î¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fB¥ê¥ê¡¼¥¹ÃÍ: 1\&.4\fR¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢JDK 1\&.4¤ÇƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fB¥ê¥ê¡¼¥¹ÃÍ: 1\&.3\fR¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢JDK 1\&.3°Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Î¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ +.RE +.RE +.PP +\-sourcepath \fIsourcepathlist\fR +.RS 4 +¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤ò\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÅϤ¹¤È¤­¤Ë¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ +\fIÊ£¿ô¤Î¥Ñ¥¹¤Ï¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\fR\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î°ÌÃ֤ΤߤǤʤ¯¡¢¤½¤ì¼«ÂΤϥɥ­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é·Ñ¾µ¤µ¤ì¤¿¥³¥á¥ó¥È¤ò»ý¤Ä¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤â³Îǧ¤Ç¤­¤Þ¤¹¡£ +.sp +\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¾ì¹ç¤Î¤ß¤Ç¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¸¡º÷¤µ¤ì¤Þ¤»¤ó¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÆÃÄꤹ¤ë¤Ë¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤¹¤ë¤«¡¢¡Ö1¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤Ë¼¨¤¹¤è¤¦¤Ë³Æ¥Õ¥¡¥¤¥ë¤ÎÁ°¤Ë¥Ñ¥¹¤ò´Þ¤á¤Þ¤¹¡£\fI\-sourcepath\fR¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹(\fI\-classpath\fR¤ò»²¾È)¡£¥Ç¥Õ¥©¥ë¥È¤Î\fI\-sourcepath\fR¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎÃͤǤ¹¡£\fI\-classpath\fR¤ò¾Êά¤·¤Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÅϤ¹¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê(¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê)¤«¤é¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£ +.sp +\fIsourcepathlist\fR¤Ë¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIcom\&.mypackage\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ë¡¢¤½¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬/home/user/src/com/mypackage/*\&.java¤Ë¤¢¤ë¤È¤·¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Ñ¥¹¤òcom\emypackage¤¬´Þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê/home/user/src¤Ë»ØÄꤷ¤Æ¤«¤é¡¢¼¡¤Î¤è¤¦¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /home/user/src/ com\&.mypackage +.fi +.if n \{\ +.RE +.\} +¥½¡¼¥¹¡¦¥Ñ¥¹¤ÎÃͤȥѥ屡¼¥¸Ì¾¤òÏ¢·ë¤·¤Æ¡¢¥É¥Ã¥È¤ò¥¹¥é¥Ã¥·¥å(/)¤ËÊѹ¹¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥ë¥Ñ¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +/home/user/src/com/mypackage +.sp +2¤Ä¤Î¥½¡¼¥¹¡¦¥Ñ¥¹¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /home/user1/src:/home/user2/src com\&.mypackage +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-classpath \fIclasspathlist\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬»²¾È¥¯¥é¥¹¤Î¸¡º÷¤ò¹Ô¤¦¤È¤­¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£»²¾È¥¯¥é¥¹¤È¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¡¢¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£ +\fIÊ£¿ô¤Î¥Ñ¥¹¤Ï¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\fR\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£\fIclasspathlist\fR¤ÎÃͤò»ØÄꤹ¤ë¤È¤­¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥É¥­¥å¥á¥ó¥È¤Ë¤¢¤ë»Ø¼¨¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-sourcepath\fR¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï\fI\-classpath\fR¤ò»ÈÍѤ·¤Æ¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹(²¼°Ì¸ß´¹À­¤Î¤¿¤á)¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊÌ¡¹¤Î¥Ñ¥¹¤«¤é¸¡º÷¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-sourcepath\fR¤È\fI\-classpath\fR¤ÎξÊý¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIcom\&.mypackage\fR¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ë¡¢¤½¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¥Ç¥£¥ì¥¯¥È¥ê/home/user/src/com/mypackage¤Ë¤¢¤ê¡¢¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬/home/user/libthenÆâ¤Î¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¤È¤­¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /home/user/lib \-classpath /home/user/src com\&.mypackage +.fi +.if n \{\ +.RE +.\} +¾¤Î¥Ä¡¼¥ë¤ÈƱÍͤˡ¢\fI\-classpath\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¤½¤Î´Ä¶­ÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£¤É¤Á¤é¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£ +.sp +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬\fI\-classpath\fR¤ò»ÈÍѤ·¤Æ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¡¢³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ä¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤Ë´ØÏ¢¤·¤¿¾ÜºÙ¤Ï¡¢¥¯¥é¥¹¤Î¸¡º÷ÊýË¡ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +*¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¡¦¥Ñ¥¹Í×ÁǤϡ¢\fI\&.jar\fR¤Þ¤¿¤Ï\fI\&.JAR\fR¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê\fImydir\fR¤Ë\fIa\&.jar\fR¤È\fIb\&.JA\fRR¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Ñ¥¹Í×ÁÇ\fIfoo/*\fR¤Ï\fIA\&.jar:b\&.JAR\fR¤ËŸ³«¤µ¤ì¤Þ¤¹¤¬¡¢JAR¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤»ØÄê¤È¤Ê¤ê¤Þ¤¹¡£Èóɽ¼¨¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤à¡¢»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤¬¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤Þ¤¹¡£*¤«¤é¤Ê¤ë¥¯¥é¥¹¡¦¥Ñ¥¹¡¦¥¨¥ó¥È¥ê¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤âƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ÎŸ³«¤Ï¡¢Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î³«»ÏÁ°¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£Java¥×¥í¥°¥é¥à¤Ï¡¢System\&.getenv(\fI"CLASSPATH"\fR)¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¤Ê¤É¡¢´Ä¶­¤òÌ䤤¹ç¤»¤ë¾ì¹ç¤ò½ü¤­¡¢Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»²¾È¤·¤Þ¤»¤ó¡£ +.RE +.PP +\-subpackages \fIpackage1:package2:\&.\&.\&.\fR +.RS 4 +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËºÆµ¢Åª¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤òÄɲ乤ëºÝ¤ËÊØÍø¤Ç¤¹¡£¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤¬¼«Æ°Åª¤ËÁȤ߹þ¤Þ¤ì¤ë¤«¤é¤Ç¤¹¡£³Æpackage°ú¿ô¤Ï¡¢Ç¤°Õ¤ÎºÇ¾å°Ì¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸(\fIjava\fR¤Ê¤É)¤Þ¤¿¤Ï´°Á´½¤¾þ¥Ñ¥Ã¥±¡¼¥¸(\fIjavax\&.swing\fR¤Ê¤É)¤Ë¤Ê¤ê¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£°ú¿ô¤Ï¡¢¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ç¡¢¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¸¡º÷¾ì½ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\fI\-sourcepath\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼Æâ¤Ë¸ºß¤¹¤ë¤¬¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Ê¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Þ¤»¤ó¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢\fIjava\fR¤ª¤è¤Ó\fIjavax\&.swing\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤È¤³¤ì¤é¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Á´Éô¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax\&.swing +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-exclude \fIpackagename1:packagename2:\&.\&.\&.\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò\fI\-subpackages\fR¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥ê¥¹¥È¤«¤é̵¾ò·ï¤Ë½ü³°¤·¤Þ¤¹¡£²áµî¤Þ¤¿¤Ï¾­Íè¤Î\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ë¤è¤Ã¤ÆÁȤ߹þ¤Þ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤â½ü³°¤ÎÂоݤȤʤê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIjava\&.io\fR¡¢\fIjava\&.util\fR¡¢\fIjava\&.math\fR¤Ê¤É¤ÏÁȤ߹þ¤Þ¤ì¤Þ¤¹¤¬¡¢\fIjava\&.net\fR¤È\fIjava\&.lang\fR¤ò¥ë¡¼¥È¤Ë»ý¤Ä¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£\fIjava\&.lang\fR¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë\fIjava\&.lang\&.ref\fR¤¬½ü³°¤µ¤ì¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /home/user/src \-subpackages java \-exclude + java\&.net:java\&.lang +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-bootclasspath \fIclasspathlist\fR +.RS 4 +¥Ö¡¼¥È¡¦¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¡¦¥¯¥é¥¹¤È¤Ï¡¢Ä̾Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£\fIbootclasspath\fR¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»ÈÍѤ¹¤ë¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢¥¯¥é¥¹¤Î¸¡½ÐÊýË¡ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fIclasspathlist\fR¥Ñ¥é¥á¡¼¥¿Æâ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥»¥ß¥³¥í¥ó(;)¤Ç¶èÀÚ¤ë(Windows¤Î¾ì¹ç)¤«¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹(Oracle Solaris¤Î¾ì¹ç)¡£ +.RE +.PP +\-extdirs \fIdirist\fR +.RS 4 +³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤È¤Ï¡¢Java³ÈÄ¥µ¡Ç½µ¡¹½¤ò»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¤¹¡£\fIextdirs\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»ÈÍѤ¹¤ë¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\fIdirlist\fRÆâ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥»¥ß¥³¥í¥ó(;)¤Ç¶èÀÚ¤ë(Windows¤Î¾ì¹ç)¤«¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹(Oracle Solaris¤Î¾ì¹ç)¡£ +.RE +.PP +\-verbose +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£\fIverbose\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥í¡¼¥É»þ¡¢¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®»þ(¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤´¤È¤Ë1¤Ä¤Î¥á¥Ã¥»¡¼¥¸)¡¢¤ª¤è¤Ó¥½¡¼¥È»þ¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£verbose¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢³ÆJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î²òÀϤËÍפ·¤¿»þ´Ö(¥ß¥êÉÃñ°Ì)¤ò¼¨¤¹ÄɲäΥá¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-quiet +.RS 4 +¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤·¡¢·Ù¹ð¤È¥¨¥é¡¼¤Î¤ß¤¬É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¡¢¤³¤ì¤é¤ò³Îǧ¤·¤ä¤¹¤¯¤·¤Þ¤¹¡£\fIversion\fRʸ»úÎó¤âÍ޻ߤ·¤Þ¤¹¡£ +.RE +.PP +\-breakiterator +.RS 4 +±Ñ¸ì¤Î¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î¼çÀâÌÀ¤ÎºÇ½é¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ëºÝ¤Ë¡¢\fIjava\&.text\&.BreakIterator\fR¤Î¹ñºÝ²½¤µ¤ì¤¿Ê¸¶­³¦¤ò»ÈÍѤ·¤Þ¤¹¡£Â¾¤Î¤¹¤Ù¤Æ¤Î¥í¥±¡¼¥ë¤Ï¡¢±Ñ¸ì¸À¸ì¤È¤¤¤¦¥í¥±¡¼¥ë¸ÇÍ­¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¤Ê¤¯¡¢¤¹¤Ç¤Ë\fIBreakIterator\fR¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ºÇ½é¤Îʸ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î¥µ¥Þ¥ê¡¼¤Ë¥³¥Ô¡¼¤µ¤ì¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Îº÷°ú¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£JDK 1\&.2°Ê¹ß¡¢\fIBreakIterator\fR¥¯¥é¥¹¤Ï¡¢±Ñ¸ì¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¸À¸ì¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ë¤¿¤á¤Ë¡¢¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\fI\-breakiterator\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢1\&.2°Ê¹ß¤Ç¤Ï±Ñʸ°Ê³°¤Ë¤Ï¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£±Ñʸ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÆÈ¼«¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +±Ñʸ¤Î¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¡£¶õÇòʸ»ú¤Þ¤¿¤ÏHTML¥Ö¥í¥Ã¥¯¡¦¥¿¥°(\fI<P>\fR¤Ê¤É)¤¬Â³¤¯¥Ô¥ê¥ª¥É¤ÇÄä»ß¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +breakiteratorʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¡£¼¡¤Î¸ì¤¬Âçʸ»ú¤Ç»Ï¤Þ¤ë¾ì¹ç¡¢¶õÇòʸ»ú¤¬Â³¤¯¥Ô¥ê¥ª¥É¡¢µ¿ÌäÉä¡¢¤Þ¤¿¤Ï´¶Ã²Éä¤ÇÄä»ß¤·¤Þ¤¹¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¡ÖThe serial no\&. is valid¡×¤Ê¤É¡¢¤Û¤È¤ó¤É¤Î¾Êάɽµ­¤¬½èÍý¤µ¤ì¤Þ¤¹¤¬¡¢¡ÖMr\&. Smith¡×¤Ï½èÍý¤µ¤ì¤Þ¤»¤ó¡£\fI\-breakiterator\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢HTML¥¿¥°¤ä¡¢¿ô»ú¤Þ¤¿¤Ïµ­¹æ¤Ç»Ï¤Þ¤ëʸ¤Ç¤ÏÄä»ß¤·¤Þ¤»¤ó¡£HTML¥¿¥°¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¡Ö\&.\&./filename¡×¤ÎºÇ¸å¤Î¥Ô¥ê¥ª¥É¤ÇÄä»ß¤·¤Þ¤¹¡£ +.RE +.sp +Java SE 1\&.5¤Ç¤Ï\fI\-breakiterator\fR·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬ºï½ü¤µ¤ì¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¤ÏÊѹ¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥½¡¼¥¹¡¦¥³¡¼¥É¤òÊѹ¹¤»¤º¡¢SE 1\&.4\&.x¤Ç¤Î\fI\-breakiterator\fR¥ª¥×¥·¥ç¥ó¤Î·Ù¹ð¤ò½üµî¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢²¿¤â¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£Java SE 1\&.5\&.0¤«¤é¤Ï·Ù¹ð¤Ï¾ÃÌǤ·¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-locale \fIlanguage_country_variant\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¥í¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î°ú¿ô¤Ï¡¢\fIj\fR\fIava\&.util\&.Locale\fR¥É¥­¥å¥á¥ó¥È¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢\fIen_US\fR +(±Ñ¸ì¡¢Êƹñ)¤Þ¤¿¤Ï\fIen_US_WIN\fR +(Windows¥Ð¥ê¥¢¥ó¥È)¤Ê¤É¤Î¥í¥±¡¼¥ë¤Î̾Á°¤Ç¤¹¡£ +.sp +\fBÃí°Õ:\fR +\fI\-locale\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¡¢¤Þ¤¿¤Ï¤½¤Î¾¤ÎǤ°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÁ°(º¸Â¦)¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤¬±Ñ¸ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Î¤ß¡¢»ØÄꤹ¤ë½ç½ø¤Ë°Í¸¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥í¥±¡¼¥ë¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Î¥ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÁªÂò¤µ¤ì¤Æ¡¢¥á¥Ã¥»¡¼¥¸(¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¡¢¥ê¥¹¥È¤Èɽ¤Î¸«½Ð¤·¡¢¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ë¤ÎÌܼ¡¡¢stylesheet\&.css¤Î¥³¥á¥ó¥È¤Ê¤É¤Îʸ»úÎó)¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤µ¤ì¤ë¥ê¥¹¥È¤Î¥½¡¼¥È½ç¡¢¤ª¤è¤ÓºÇ½é¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ë¤¿¤á¤Îʸ¤Î¶èÀÚ¤êʸ»ú¤â¡¢»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£\fI\-locale\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È¤Î¥í¥±¡¼¥ë¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-encoding +.RS 4 +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°(\fIEUCJIS/SJIS\fR¤Ê¤É)¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥³¥ó¥Ð¡¼¥¿¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëJava Runtime Environment (JRE)¤Ë¡¢\fIflag\fR¤òľÀÜÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¥·¥¹¥Æ¥à¤Ç32MB¤Î¥á¥â¥ê¡¼¤ò³ÎÊݤ·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-Xmx\fR¥ª¥×¥·¥ç¥ó¤ò¼¡¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£\fIjavadoc \-J\-Xmx32m \-J\-Xms32m com\&.mypackage\fR¡£\fI\-Xms\fR¤Ï¾Êά²Äǽ¤Ç¡¢¤³¤ì¤Ï½é´ü¥á¥â¥ê¡¼¤Î¥µ¥¤¥º¤òÀßÄꤹ¤ë¤Î¤ß¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢É¬Íפʥá¥â¥ê¡¼¤ÎºÇ¾®Î̤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.sp +\fIJ\fR¤È\fIflag\fR¤Î´Ö¤Ë¶õÇòʸ»ú¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.sp +»ÈÍѤ·¤Æ¤¤¤ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï\fI\-version\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£Javadoc¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-J\-version +java version "1\&.7\&.0_09" +Java(TM) SE Runtime Environment (build 1\&.7\&.0_09\-b05) +Java HotSpot(TM) 64\-Bit Server VM (build 23\&.5\-b02, mixed mode) +.fi +.if n \{\ +.RE +.\} +.RE +.SS "ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó" +.PP +\-d \fIdirectory\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬À¸À®¤µ¤ì¤¿HTML¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ëÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-d\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£\fIdirectory\fR¤ÎÃͤˤϡ¢ÀäÂХǥ£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤Ï¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Java SE 1\&.4¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤ÈÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤¬¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤ÎÎã¤Ç¤Ï¡¢\fIcom\&.mypackage\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢¤½¤Î·ë²Ì¤¬\fI/user/doc/ \fR¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£\fIjavadoc \-d \fR\fI/user/doc/ \fR\fIcom\&.mypackage\fR +.RE +.PP \-use -.br -\-\f2verbose\fP -.br +.RS 4 +¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤Ä¤Î»ÈÍÑ¥Ú¡¼¥¸¤òÁȤ߹þ¤ß¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¤½¤ÎÆÃÄê¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ÎAPI¤ò»ÈÍѤ·¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤¬µ­½Ò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹C¤òÎã¤Ë¤È¤ë¤È¡¢¥¯¥é¥¹C¤ò»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤È¤·¤Æ¤Ï¡¢C¤Î¥µ¥Ö¥¯¥é¥¹¡¢C¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¡¢C¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó·¿C¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤È¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIString\fR·¿ÍѤλÈÍÑ¥Ú¡¼¥¸¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£\fIjava\&.awt\&.Font\fR¥¯¥é¥¹¤Î\fIgetName\fR¥á¥½¥Ã¥É¤Ï\fIString\fR·¿¤òÌ᤹¤Î¤Ç¡¢\fIgetName\fR¥á¥½¥Ã¥É¤Ï\fIString\fR¤ò»ÈÍѤ·¡¢\fIgetName\fR¥á¥½¥Ã¥É¤¬\fIString\fRÍѤλÈÍÑ¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¼ÂÁõ¤Ç¤Ï¤Ê¤¯API¤Î»ÈÍѤΤߤò¥É¥­¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£¥á¥½¥Ã¥É¤¬¤½¤Î¼ÂÁõ¤Ç\fIString\fR¤ò»ÈÍѤ¹¤ë¤¬¡¢°ú¿ô¤È¤·¤ÆÊ¸»úÎó¤ò¼è¤é¤Ê¤¤¡¢¤Þ¤¿¤Ïʸ»úÎó¤òÊÖ¤µ¤Ê¤¤¾ì¹ç¡¢¤½¤ì¤Ï\fIString\fR¤Î»ÈÍѤȤϤߤʤµ¤ì¤Þ¤»¤ó¡£À¸À®¤µ¤ì¤¿»ÈÍÑ¥Ú¡¼¥¸¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ë°Üư¤·¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î\fB¥ê¥ó¥¯¤Î»ÈÍÑ\fR¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ +.RE +.PP \-version -.br -\-windowtitle -.br -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.80 -.rm 80 -.nr 38 \n(a- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.81 -.rm 81 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.82 -.rm 82 -.nr 38 \n(c- -.if \n(82<\n(38 .nr 82 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 1993 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.ne \n(b|u+\n(.Vu -.ne \n(c|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-127 -.LP -\f2¥¤¥¿¥ê¥Ã¥¯\fP ¤Ç¼¨¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤Ï¡¢Javadoc ¤Î´ðËÜ¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¡¢¤¹¤Ù¤Æ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¼«ÂΤϡ¢¥¤¥¿¥ê¥Ã¥¯¤Ç¤Ê¤¤¥ª¥×¥·¥ç¥ó¤òÄ󶡤·¤Þ¤¹¡£ -.SS -Javadoc ¥ª¥×¥·¥ç¥ó -.RS 3 -.TP 3 -\-overview \ path/filename -Javadoc ¤ËÂФ·¤Æ¡¢\f2path/filename\fP ¤Ç»ØÄꤵ¤ì¤¿¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤«¤é³µÍץɥ­¥å¥á¥ó¥ÈÍѤΥƥ­¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤Î¥Æ¥­¥¹¥È¤ò³µÍ×¥Ú¡¼¥¸ (\f2overview\-summary.html\fP) ¤ËÇÛÃÖ¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ \f2path/filename\fP ¤Ï¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£ -.LP -\f2filename\fP¤ÇǤ°Õ¤Î̾Á°¤ò»ÈÍѤ·¡¢\f2path\fP ¤ÇǤ°Õ¤ÎÇÛÃÖÀè¤òÁªÂò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¤¬¡¢Ä̾ï¤Ï \f2overview.html\fP ¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤ÎºÇ¾å°Ì¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤³¤Î¾ì½ê¤ËÇÛÃÖ¤¹¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤È¤­¤Ë \f2path\fP ¤ò»ØÄꤹ¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤Ê¤¼¤Ê¤é¡¢ \f2\-sourcepath\fP ¤Ë¤è¤Ã¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤¬»Ø¤·¼¨¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2java.lang\fP ¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤¬ \f2/src/classes/java/lang/\fP ¤Î¾ì¹ç¡¢³µÍ×¥Õ¥¡¥¤¥ë¤ò \f2/src/classes/overview.html\fP ¤ËÇÛÃ֤Ǥ­¤Þ¤¹¡£¡Ö»ÈÍÑÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2path/filename\fP ¤Ç»ØÄꤹ¤ë¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -³µÍ×¥Ú¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢Javadoc ¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢¡ÖHTML ¥Õ¥ì¡¼¥à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -³µÍ×¥Ú¡¼¥¸¤Î¥¿¥¤¥È¥ë¤Ï¡¢\f2\-doctitle\fP ¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-public -public ¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-protected -protected ¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ -.LP -.TP 3 -\-package -package¡¢protected¡¢¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-private -¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-help -¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹¡£Javadoc ¤È¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-doclet\ class -¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»È¤¦¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£´°Á´»ØÄê¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤ê¡¢½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤¬ÄêµÁ¤µ¤ì¤Þ¤¹¡£\f4\-doclet\fP ¥ª¥×¥·¥ç¥ó¤¬»È¤ï¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ¥Ç¥Õ¥©¥ë¥È¤Î HTML ·Á¼°¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ë¤Ï \f2start(Root)\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Îµ¯Æ°¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤Ï \f2\-docletpath\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢MIF ¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - \-doclet com.sun.tools.doclets.mif.MIFDoclet -.fl -\fP -.fi -.LP -ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2MIF Doclet ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-docletpath\ classpathlist -\f2\-doclet\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢ ¤ª¤è¤Ó¤½¤Î¥¯¥é¥¹¤¬°Í¸¤¹¤ë¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬ jar ¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢°Ê²¼¤ÎÎã¤Î¤è¤¦¤Ë jar ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤¬»ØÄꤵ¤ì¤Þ¤¹¡£ÀäÂХѥ¹¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ \f2classpathlist\fP ¤Ë¤Ï¡¢Ê£¿ô¤Î¥Ñ¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¡¢³Æ¥Ñ¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤ò¡¢Solaris ¤Î¾ì¹ç¤Ë¤Ï¥³¥í¥ó (:)¡¢Windows ¤Î¾ì¹ç¤Ë¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ÌÜŪ¤Î¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£ -.LP -jar ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ÎÎã¤Ë¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£jar ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£ -.nf -\f3 -.fl - \-docletpath /home/user/mifdoclet/lib/mifdoclet.jar -.fl -\fP -.fi -¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ÎÎã¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë̾¤¬¾Êά¤µ¤ì¤Æ¤¤¤ëÅÀ¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£ -.nf -\f3 -.fl - \-docletpath /home/user/mifdoclet/classes/com/sun/tools/doclets/mif/ -.fl -\fP -.fi -ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2MIF Doclet ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-1.1 -\f2¤³¤Îµ¡Ç½¤Ï Javadoc 1.4 ¤«¤éºï½ü¤µ¤ì¤Þ¤·¤¿¡£ÂåÂØµ¡Ç½¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Javadoc 1.1 ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¤Î¤ÈƱ¤¸³°¸«¤Èµ¡Ç½¤ò»ý¤Ä¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤·¤¿¡£Æþ¤ì»Ò¤Î¥¯¥é¥¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬Íפʾì¹ç¤Ï¡¢Javadoc 1.2 ¤Þ¤¿¤Ï 1.3 ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£\fP -.LP -.TP 3 -\-source release -¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\f2release\fP ¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f31.5\fP \- javadoc ¤Ï¡¢JDK 1.5 ¤ÇƳÆþ¤µ¤ì¤¿Áí¾Î¤Ê¤É¤Î¸À¸ìµ¡Ç½¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£\f3\-source\fP ¥Õ¥é¥°¤¬»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥³¥ó¥Ñ¥¤¥é¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢1.5 ¤Î¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\f31.4\fP Javadoc ¤Ï¡¢JDK 1.4 ¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ -.TP 2 -o -\f31.3\fP Javadoc ¤Ï¡¢JDK 1.3 °Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Î¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢@version¤Î¥Æ¥­¥¹¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£»ÈÍѤ·¤Æ¤¤¤ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï\fI\-J\-version\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ .RE -.LP -javac ¤Ç¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë»ÈÍѤ·¤¿ÃͤËÂбþ¤¹¤ë \f2release\fP ¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-sourcepath\ sourcepathlist -¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï \-subpackages ¤ò javadoc ¥³¥Þ¥ó¥É¤ËÅϤ¹¤È¤­¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë (.\f2.java\fP) ¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î \f2¸¡º÷¥Ñ¥¹\fP ¤ò»ØÄê \f2¤·¤Þ¤¹\fP ¡£\f2sourcepathlist\fP ¤Ë¤Ï¡¢¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤À¤±¤Ç¤Ê¤¯¡¢¤½¤ì¼«ÂΤϥɥ­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é·Ñ¾µ¤µ¤ì¤¿¥³¥á¥ó¥È¤ò»ý¤Ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤â³Îǧ¤Ç¤­¤Þ¤¹¡£ -.LP -\f2\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢javadoc ¥³¥Þ¥ó¥É¤Ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¾ì¹ç¤À¤±¤Ç¤¹¡£¤³¤Î¥Ñ¥¹¤«¤é¤Ï¡¢javadoc ¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤¿ \f2.java\fP ¥Õ¥¡¥¤¥ë¤Ï \f2¸¡º÷\fP ¤µ¤ì¤Þ¤»¤ó¡£ \f2.java\fP ¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë cd ¤Ë¤è¤Ã¤Æ°Üư¤¹¤ë¤«¡¢¤Þ¤¿¤Ï³Æ¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Ë¥Ñ¥¹¤ò´Þ¤á¤Þ¤¹ (¡Ö1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤ò»²¾È)¡£ \f2\-sourcepath\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¡¢Javadoc ¤Ï¡¢¥¯¥é¥¹¥Ñ¥¹¤ò»È¤Ã¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹ (\-classpath ¤ò»²¾È)¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Î \-sourcepath ¤Ï¡¢¥¯¥é¥¹¥Ñ¥¹¤ÎÃͤǤ¹¡£\-classpath ¤â¾Êά¤·¤Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò Javadoc ¤ËÅϤ¹¤È¡¢Javadoc ¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -\f2sourcepathlist\fP ¤Ë¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2com.mypackage\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ë¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¾ì½ê¤Ë¤¢¤ë¤È¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - /home/user/src/com/mypackage/*.java -.fl -\fP -.fi -¤³¤Î¤È¤­¼¡¤Î¤è¤¦¤Ë¡¢ \f2sourcepath\fP ¤ò¡¢com/mypackage ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë \f2/home/user/src\fP ¤Ë»ØÄꤷ¤¿¤¢¤È¡¢ ¥Ñ¥Ã¥±¡¼¥¸Ì¾ \f2com.mypackage\fP ¤ò»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-sourcepath /home/user/src/ com.mypackage\fP -.fl -.fi -¤³¤ÎÊýË¡¤Ï¡¢¥½¡¼¥¹¥Ñ¥¹¤ÎÃͤȥѥ屡¼¥¸Ì¾¤òÏ¢·ë¤·¤Æ¡¢¥É¥Ã¥È¤ò (±ßµ­¹æ) ¡Ö\\¡×¤ËÊѤ¨¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥ë¥Ñ¥¹ \f2/home/user/src/com/mypackage ¤Ë¤Ê¤ë¤³¤È¤òÍý²ò¤¹¤ë¤È´Êñ¤Ç¤¹\fP¡£ -.LP -2 ¤Ä¤Î¥½¡¼¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-sourcepath /home/user1/src:/home/user2/src com.mypackage\fP -.fl -.fi -.LP -.TP 3 -\-classpath\ classpathlist -javadoc ¤¬»²¾È¥¯¥é¥¹ (\f2.class\fP ¥Õ¥¡¥¤¥ë) ¤Î¸¡º÷¤ò¹Ô¤¦¤È¤­¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£»²¾È¥¯¥é¥¹¤È¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¡¢¤½¤ì¤é¤Î¥¯¥é¥¹¤«¤é»²¾È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ò»Ø¤·¤Þ¤¹¡£\f2classpathlist\fP ¤Ë¤Ï¡¢¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£classpathlist ¤ò»ØÄꤹ¤ë¤È¤­¤Ï¡¢ -.na -\f2¥¯¥é¥¹¥Ñ¥¹\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#general¤Î¥É¥­¥å¥á¥ó¥È¤Ë¤¢¤ë»Ø¼¨ \f2¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤\fP¡£ -.LP -\f2\-sourcepath\fP ¤¬¾Êά¤µ¤ì¤ë¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤È¤­¤À¤±¤Ç¤Ê¤¯¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤È¤­¤Ë¤â \f2\-classpath\fP ¤ò»ÈÍѤ·¤Þ¤¹ (²¼°Ì¸ß´¹À­¤Î¤¿¤á)¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÊÌ¡¹¤Î¥Ñ¥¹¤«¤é¸¡º÷¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢ \f2\-sourcepath\fP ¤È \f2\-classpath ¤ÎξÊý¤ò»È¤¤¤Þ¤¹\fP.¡£ -.LP -¤¿¤È¤¨¤Ð¡¢ \f2com.mypackage\fP ¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ë¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¥Ç¥£¥ì¥¯¥È¥ê \f2/home/user/src/com/mypackage\fP Æâ¤Ë³ÊǼ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬ \f2/home/user/lib\fP Æâ¤Î¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¤È¤­¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage\fP -.fl -.fi -\f2\-classpath\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¤Û¤«¤Î¥Ä¡¼¥ë¤ÈƱ¤¸¤¯¡¢CLASSPATH ´Ä¶­ÊÑ¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¤½¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£¤É¤Á¤é¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤¬ \f2\-classpath\fP ¤ò»ÈÍѤ·¤Æ¥æ¡¼¥¶¡¼¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¡¢³ÈÄ¥¥¯¥é¥¹¤ä¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤È´ØÏ¢ÉÕ¤±¤ÆÀâÌÀ¤·¤Æ¤¤¤ë¾ðÊó¤òÆþ¼ê¤¹¤ë¤Ë¤Ï¡¢ -.na -\f2¡Ö¥¯¥é¥¹¤Î¸¡º÷ÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -ÊØµ¹¾å¡¢ \f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢ \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ­¤Ê¤¤)¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2foo\fP ¤Ë \f2a.jar\fP ¤È \f2b.JAR\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ \f2foo/*\fP ¤Ï \f2A.jar:b.JAR\fP ¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤»ØÄê¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£* ¤À¤±¤«¤éÀ®¤ë \f2¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢\fP ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£ \f2CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥ÉŸ³«¤Ïɬ¤º¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Îµ¯Æ°Á°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2System.getenv("CLASSPATH")\fP ¸Æ¤Ó½Ð¤·¤Î¤è¤¦¤Ë´Ä¶­¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤ï¤Ê¤¤¸Â¤ê¡¢Java ¥×¥í¥°¥é¥à¤¬Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.TP 3 -\-subpackages\ \ package1:package2:... -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËºÆµ¢Åª¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤òÄɲ乤ëºÝ¤ËÊØÍø¤Ç¤¹¡£¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ï¼«Æ°Åª¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£³Æ \f2package\fP °ú¿ô¤Ï¡¢Ç¤°Õ¤ÎºÇ¾å°Ì¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ ( \f2java\fP ¤Ê¤É) ¤Þ¤¿¤Ï´°Á´½¤¾þ¥Ñ¥Ã¥±¡¼¥¸ ( \f2javax.swing\fP ¤Ê¤É) ¤Ë¤Ê¤ê¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£°ú¿ô¤Ï¡¢¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹ (¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à)¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤ÏÉÔÍפǤ¹ (»ÈÍÑÉÔ²Ä)¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¸¡º÷¾ì½ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\f2\-sourcepath\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¡×¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¤¢¤ë¤¬¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï°¤·¤Æ¤¤¤Ê¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Ê¤¤¤Î¤ÇÌòΩ¤Á¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - % \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP -.fl -.fi -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¡Öjava¡×¤ª¤è¤Ó¡Öjavax.swing¡×¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤È¤³¤ì¤é¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Á´Éô¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£ -.LP -\f2\-subpackages\fP ¤È \f2\-exclude\fP ¤òÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ¹¤ë¤È¡¢ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò½ü³°¤Ç¤­¤Þ¤¹¡£ -.LP -.TP 3 -\-exclude\ \ packagename1:packagename2:... -»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò \f2\-subpackages\fP ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥ê¥¹¥È¤«¤é̵¾ò·ï¤Ë½ü³°¤·¤Þ¤¹¡£ ²áµî¤Î \f2\-subpackages\fP ¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ë¤è¤Ã¤ÆÁȤ߹þ¤Þ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¤Þ¤¿¤Ï¾­ÍèÁȤ߹þ¤Þ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤â½ü³°¤ÎÂоݤȤʤê¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP -.fl -.fi -¤³¤Î¾ì¹ç¡¢ \f2java.io\fP¡¢ \f2java.util\fP¡¢ \f2java.math\fP ¤Ê¤É¤¬´Þ¤á¤é¤ì¡¢ \f2java.net\fP ¤È \f2java.lang\fP ¤ò¥ë¡¼¥È¤Ë»ý¤Ä¥Ñ¥Ã¥±¡¼¥¸¤¬½ü³°¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ \f2java.lang\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë \f2java.lang.ref\fP ¤â½ü³°¤µ¤ì¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-bootclasspath\ classpathlist -¥Ö¡¼¥È¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¯¥é¥¹¤È¤Ï¡¢Ä̾Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥³¥¢¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»È¤¦¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2¡Ö¥¯¥é¥¹¤Î¸¡º÷ÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥í¥ó (:) ¤ò¡¢ \f2classpathlist\fP Æâ¤Î¥Ç¥£¥ì¥¯¥È¥ê´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-extdirs\ dirlist -³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤È¤Ï¡¢Java ³ÈÄ¥µ¡Ç½µ¡¹½¤ò»È¤¦¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¤¹¡£extdirs ¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»È¤¦¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢Á°½Ò¤Î \f2\-classpath\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥í¥ó (:) ¤ò¡¢ \f2dirlist\fP Æâ¤Î¥Ç¥£¥ì¥¯¥È¥ê´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-verbose -javadoc ¤Î¼Â¹ÔÃæ¤Ë¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£verbose ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥í¡¼¥É»þ¡¢¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®»þ (¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë 1 ¤Ä¤Î¥á¥Ã¥»¡¼¥¸)¡¢¤ª¤è¤Ó¥½¡¼¥È»þ¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£verbose ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢³Æ Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î²òÀϤËÍפ·¤¿»þ´Ö (¥ß¥êÉÃñ°Ì) ¤Ê¤É¡¢ÄɲäΥá¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-quiet -¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Þ¤¿¤Ï·Ù¹ð¥á¥Ã¥»¡¼¥¸°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤·¡¢·Ù¹ð¤È¥¨¥é¡¼¤À¤±¤¬É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¡¢¤³¤ì¤é¤òÆÃÄꤷ¤ä¤¹¤¯¤·¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤âÍÞÀ©¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-breakiterator\ -±Ñ¸ì¤ÎºÇ½é¤Îʸ¤ÎËöÈø¤ò·èÄꤹ¤ëºÝ¤Ë¡¢±Ñ¸ìÍÑ¤Î¥í¥±¡¼¥ë¸ÇÍ­¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¤Ê¤¯¡¢ -.na -\f2java.text.BreakIterator\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html ¤Î¹ñºÝ²½¤µ¤ì¤¿Ê¸¶­³¦¤ò»ÈÍѤ·¤Þ¤¹ (¤Û¤«¤Î¤¹¤Ù¤Æ¤Î¥í¥±¡¼¥ë¤Ç¤Ï¤¹¤Ç¤Ë \f2BreakIterator\fP ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë)¡£\f2¡ÖºÇ½é¤Îʸ¡×\fP¤È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î¼çÀâÌÀ¤Ç¤ÎºÇ½é¤Îʸ¤Î¤³¤È¤Ç¤¹¡£¤³¤Îʸ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤ÎÍ×Ìó¤Ë¥³¥Ô¡¼¤µ¤ì¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.LP -JDK 1.2 °Ê¹ß¡¢BreakIterator ¥¯¥é¥¹¤Ï¡¢±Ñ¸ì¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¸À¸ì¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ë¤¿¤á¤Ë¡¢¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ \f2\-breakiterator\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢1.2 °Ê¹ß¤Ç¤Ï±Ñʸ°Ê³°¤Ë¤Ï¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£±Ñʸ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÆÈ¼«¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -±Ñʸ¤Î¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à \- ¶õÇò¤Þ¤¿¤Ï HTML ¥Ö¥í¥Ã¥¯¥¿¥° ( \f2<P>\fP ¤Ê¤É) ¤¬Â³¤¯¥Ô¥ê¥ª¥É¤ÇÄä»ß¤¹¤ë -.TP 2 -o -breakiterator ʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à \- °ìÈ̤ˡ¢¼¡¤Î¸ì¤¬Âçʸ»ú¤Ç»Ï¤Þ¤ë¾ì¹ç¡¢¶õÇòʸ»ú¤¬Â³¤¯¥Ô¥ê¥ª¥É¡¢µ¿ÌäÉä¡¢¤Þ¤¿¤Ï´¶Ã²Éä¤ÇÄä»ß¤¹¤ë¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¡ÖThe serial no. is valid¡×¤Ê¤É¡¢¤Û¤È¤ó¤É¤Î¾Êάɽµ­¤¬½èÍý¤µ¤ì¤Þ¤¹¤¬¡¢¡ÖMr. Smith¡×¤Ê¤É¤Ï½èÍý¤µ¤ì¤Þ¤»¤ó¡£HTML ¥¿¥°¤ä¡¢¿ô»ú¤Þ¤¿¤Ïµ­¹æ¤Ç»Ï¤Þ¤ëʸ¤Ç¤ÏÄä»ß¤·¤Ê¤¤¡£HTML ¥¿¥°¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¡Ö../filename¡×¤ÎºÇ¸å¤Î¥Ô¥ê¥ª¥É¤ÇÄä»ß¤¹¤ë +.PP +\-author +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢\fI@author\fR¤Î¥Æ¥­¥¹¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£ .RE -.LP -Ãí: 1.5.0 ¤«¤é¤Ï¡¢1.4.x ¤ËÀߤ±¤é¤ì¤Æ¤¤¤¿ breakiterator ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òºï½ü¤·¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¤òÊѹ¹¤·¤Æ¤¤¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢\\\-breakiterator ¥ª¥×¥·¥ç¥ó¤Ï¡¢1.5.0 ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¯¤Ê¤ê¡¢¤Þ¤¿¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¤Ä¤â¤ê¤â¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¡Ö¼¡¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¡×(1.5.0) ¤Ç¥Ç¥Õ¥©¥ë¥È¤òÊѹ¹¤¹¤ë¤È¤¤¤¦¡¢°ÊÁ°¤ÎÌÜŪ¤È¤ÏµÕ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥½¡¼¥¹¥³¡¼¥É¤òÊѹ¹¤»¤º¡¢1.4.x ¤Ç¤Î breakiterator ·Ù¹ð¤ò½üµî¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢1.5.0 ¤«¤é¤Ï²¿¤â¤¹¤ëɬÍפ¬¤Ê¤¯¡¢·Ù¹ð¤Ï¾ÃÌǤ·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎµÕÌá¤ê¤ÎÍýͳ¤Ï¡¢breakiterator ¤ò¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¥á¥ê¥Ã¥È¤è¤ê¤â¡¢¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¤¿¤á¤ËɬÍפȤʤ롢¸ß´¹À­¤Î¤Ê¤¤¥½¡¼¥¹¤ÎÊѹ¹¤ÎÊý¤¬Ééô¤¬Â礭¤«¤Ã¤¿¤¿¤á¤Ç¤¹¡£¤³¤Î·ï¤Ç³§ÍͤË;ʬ¤Î¼ê´Ö¤ò¤ª¤«¤±¤·¡¢º®Íð¤ò¾·¤¤¤¿¤³¤È¤ò¤ªÏͤӤ¤¤¿¤·¤Þ¤¹¡£ -.TP 3 -\-locale\ language_country_variant -.LP -\f3½ÅÍ×\fP \- \f2\-locale\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó\fP¡¢¤Þ¤¿¤Ï¤½¤Î¾¤ÎǤ°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ÎÄ󶡤¹¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÁ° (º¸Â¦) ¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤¬±Ñ¸ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤À¤±¤Ï¡¢»ØÄꤹ¤ë½ç½ø¤Ë°Í¸¤·¤Þ¤¹¡£ -.LP -Javadoc ¤¬¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤È¤­¤Ë»È¤¦¥í¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î°ú¿ô¤Ï¼¡¤Î¤è¤¦¤Ê¡¢java.util.Locale ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥í¥±¡¼¥ë¤Î̾Á°¤Ç¤¹¡£ \f2en_US\fP (±Ñ¸ì¡¢Êƹñ) ¤Þ¤¿¤Ï \f2en_US_WIN\fP (Windows ¤Ç»ÈÍѤµ¤ì¤ë±Ñ¸ì)¡£ -.LP -¥í¥±¡¼¥ë¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Î¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ Javadoc ¤Ë¤è¤Ã¤ÆÁªÂò¤µ¤ì¤Æ¡¢¥á¥Ã¥»¡¼¥¸ (¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¡¢¥ê¥¹¥È¤Èɽ¤Î¸«½Ð¤·¡¢¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ÎÌܼ¡¡¢stylesheet.css ¤Î¥³¥á¥ó¥È¤Ê¤É¤Îʸ»úÎó) ¤Î¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤µ¤ì¤ë¥ê¥¹¥È¤Î¥½¡¼¥È½ç¡¢¤ª¤è¤ÓºÇ½é¤Îʸ¤ÎËöÈø¤òȽÊ̤¹¤ë¤¿¤á¤Îʸ¤Î¶èÀÚ¤êʸ»ú¤â¡¢»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È¤Î¥í¥±¡¼¥ë¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.TP 3 -\-encoding\ name -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á° ( \f2EUCJIS/SJIS\fP ¤Ê¤É) ¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Ð¡¼¥¿¤¬»È¤ï¤ì¤Þ¤¹¡£ -.LP -\-docencoding ¤ª¤è¤Ó \-charset ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-Jflag -javadoc ¤ò¼Â¹Ô¤¹¤ë¼Â¹Ô»þ¥·¥¹¥Æ¥à java ¤Ë¡¢\f2flag\fP ¤òľÀÜÅϤ·¤Þ¤¹¡£ \f2J\fP ¤È \f2flag\fP ¤Î´Ö¤Ë¶õÇò¤òÆþ¤ì¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î½èÍýÍѤȤ·¤Æ32M ¥Ð¥¤¥È¤Î¥á¥â¥ê¡¼¤ò¥·¥¹¥Æ¥à¤Ç³ÎÊݤ·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢java ¤Î \f2\-Xmx\fP ¥ª¥×¥·¥ç¥ó¤ò¼¡¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£\f2\-Xms\fP ¤Ï¾Êά²Äǽ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥á¥â¥ê¡¼¤Î½é´ü¥µ¥¤¥º¤òÀßÄꤹ¤ë¤À¤±¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢¥á¥â¥ê¡¼¤ÎºÇÄãɬÍ×Î̤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-J\-Xmx32m \-J\-Xms32m\fP \f3com.mypackage\fP -.fl -.fi -»ÈÍѤ·¤Æ¤¤¤ë javadoc ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë Java ¤Î\f2¡Ö\-version¡×\fP¥ª¥×¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-J\-version\fP -.fl - java version "1.2" -.fl - Classic VM (build JDK\-1.2\-V, green threads, sunwjit) -.fl -.fi -½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +\-splitindex +.RS 4 +º÷°ú¥Õ¥¡¥¤¥ë¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤´¤È¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¡¢Ê¸»ú¤´¤È¤Ë1¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê³°¤Îµ­¹æ¤Ç»Ï¤Þ¤ëº÷°ú¥¨¥ó¥È¥êÍѤË1¤Ä¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ .RE -.SS -ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç¥ó -.RS 3 -.TP 3 -\-d\ directory -À¸À®¤µ¤ì¤¿ HTML ¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ëÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹(¡Öd¡×¤Ï¡ÖÀ¸À®Àè (destination)¡×¤Î°ÕÌ£)¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ÃÍ \f2directory\fP ¤Ë¤Ï¡¢ÀäÂХǥ£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤Ï¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 1.4 ¤Ç¤Ï¡¢javadoc ¤ò¼Â¹Ô¤¹¤ë¤ÈÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤¬¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¼¡¤Î¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2com.mypackage\fP ¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢¤½¤Î·ë²Ì¤¬ \f2/home/user/doc/\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d /home/user/doc com.mypackage\fP -.fl -.fi -.LP -.TP 3 -\-use -¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î¡Ö»ÈÍѡץڡ¼¥¸¤òÁȤ߹þ¤ß¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¤½¤ÎÆÃÄê¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î API ¤ò»È¤Ã¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤¬µ­½Ò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹ C ¤òÎã¤Ë¤È¤ë¤È¡¢¥¯¥é¥¹ C ¤ò»È¤Ã¤Æ¤¤¤ë¤â¤Î¤È¤·¤Æ¤Ï¡¢C ¤Î¥µ¥Ö¥¯¥é¥¹¡¢C ¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¡¢C ¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¡¢·¿ C ¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤È¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢String ¤Î [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë²¿¤¬É½¼¨¤µ¤ì¤ë¤«¤ò¸«¤Æ¤ß¤Þ¤·¤ç¤¦¡£java.awt.Font ¥¯¥é¥¹¤Î \f2getName()\fP ¥á¥½¥Ã¥É¤Ï¡¢ \f2String\fP ·¿¤ÎÃͤò \f2ÊÖ¤·¤Þ¤¹\fP¡£¤·¤¿¤¬¤Ã¤Æ¡¢ \f2getName()\fP ¤Ï \f2String\fP ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢String ¤Î [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë \f2¤³¤Î¥á¥½¥Ã¥É¤¬É½¼¨¤µ¤ì¤Þ¤¹\fP¡£ -.LP -¤¿¤À¤·¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¤Î¤Ï API ¤Î»ÈÍѤÀ¤±¤Ç¤¢¤Ã¤Æ¡¢¼ÂÁõ¤Ï¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Þ¤»¤ó¡£¤¢¤ë¥á¥½¥Ã¥É¤¬¡¢¤½¤Î¼ÂÁõ¤ÎÃæ¤Ç \f2String\fP ¤ò»È¤Ã¤Æ¤¤¤Æ¤â¡¢°ú¿ô¤È¤·¤ÆÊ¸»úÎó¤ò¤È¤Ã¤¿¤ê¡¢Ê¸»úÎó¤òÊÖ¤·¤¿¤ê¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ \f2String\fP ¤Î¡Ö»ÈÍѡפȤϤߤʤµ¤ì¤Þ¤»¤ó¡£ -.LP -À¸À®¤µ¤ì¤¿ [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢ÌÜŪ¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ë°Üư¤·¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [»ÈÍÑ] ¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ -.TP 3 -\-version -À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢@version ¤Î¥Æ¥­¥¹¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£»ÈÍѤ·¤Æ¤¤¤ë Javadoc ¥Ä¡¼¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï \f2\-J\-version\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-author -À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢@author ¤Î¥Æ¥­¥¹¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£ -.LP -.TP 3 -\-splitindex -º÷°ú¥Õ¥¡¥¤¥ë¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤´¤È¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¡¢Ê¸»ú¤´¤È¤Ë 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê³°¤Îʸ»ú¤Ç»Ï¤Þ¤ëº÷°ú¥¨¥ó¥È¥êÍÑ¤Ë 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-windowtitle\ title -HTML ¤Î <title> ¥¿¥°¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥¿¥¤¥È¥ë¤Ï¡¢¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤ä¡¢¤³¤Î¥Ú¡¼¥¸¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤¿¥Ö¥é¥¦¥¶¤Î¥Ö¥Ã¥¯¥Þ¡¼¥¯ (¤ªµ¤¤ËÆþ¤ê) ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¿¥¤¥È¥ë¤Ë¤Ï HTML ¥¿¥°¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¥¿¥¤¥È¥ë¤Ë HTML ¥¿¥°¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢¥Ö¥é¥¦¥¶¤¬¥¿¥°¤òÀµ¤·¤¯²ò¼á¤Ç¤­¤Þ¤»¤ó¡£\f2title\fP ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\-windowtitle ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë \-doctitle ¤ÎÃͤò»È¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-windowtitle "Java SE Platform" com.mypackage\fP -.fl -.fi -.TP 3 -\-doctitle\ title -³µÍ×¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¤Î¶á¤¯¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥¿¥¤¥È¥ë¤ÏÃæ±û·¤¨¤Ë¤Ê¤ê¡¢¥ì¥Ù¥ë 1 ¤Î¸«½Ð¤·¤È¤·¤Æ¡¢¾åÉô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¤¹¤°²¼¤ËÃÖ¤«¤ì¤Þ¤¹¡£\f2title\fP ¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤Ï¡¢Á´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\f2title\fP ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-doctitle "Java(TM)" com.mypackage\fP -.fl -.fi -.TP 3 -\-title\ title -\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¤â¤¦Â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£\fP¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï Javadoc 1.2 ¤Î¥Ù¡¼¥¿ÈǤˤ·¤«Â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î̾Á°¤Ï \f2\-doctitle\fP ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£Ì¾Á°¤òÊѹ¹¤·¤¿Íýͳ¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤Ç¤Ï¤Ê¤¯¥É¥­¥å¥á¥ó¥È¤Î¥¿¥¤¥È¥ë¤òÄêµÁ¤¹¤ë¤³¤È¤òÌÀ³Î¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£ -.LP -.TP 3 -\-header\ header -³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾åü¤ËÇÛÃÖ¤¹¤ë¥Ø¥Ã¥À¡¼¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Ï¡¢¾åÉô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î±¦Â¦¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£\f2header\fP ¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤Ï¡¢Á´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\f2header\fP ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-header "<b>Java 2 Platform </b><br>v1.4" com.mypackage\fP -.fl -.fi -.LP -.TP 3 -\-footer\ footer -³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î²¼Ã¼¤ËÇÛÃÖ¤¹¤ë¥Õ¥Ã¥¿¡¼¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Õ¥Ã¥¿¡¼¤Ï¡¢²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î±¦Â¦¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£\f2footer\fP ¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤Ï¡¢Á´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\f2footer\fP ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.TP 3 -\-top -³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾åü¤ËÇÛÃÖ¤¹¤ë¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.TP 3 -\-bottom\ text -³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤è¤ê²¼¤Î¡¢¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ \f2text\fP ¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤Ï¡¢Á´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£°úÍÑÉä¤ò \f2text\fP Æâ¤Ç»ÈÍѤ¹¤ë¾ì¹ç¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.TP 3 -\-link\ extdocURL -javadoc ¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿´û¸¤Î³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£°ú¿ô¤ò 1 ¤Ä¤È¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f4extdocURL\fP ¤Ï¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë¡¢javadoc ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿³°Éô¥É¥­¥å¥á¥ó¥È¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐ URL ¤Þ¤¿¤ÏÁêÂÐ URL ¤Ç¤¹¡£¤¢¤È¤ÇÎã¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\f2\-linkoffline\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆÉ¤ß¼è¤Ã¤¿¤¢¤È¡¢¤½¤Î URL ¤Ç¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Î¼Â¹Ô»þ¤Ë¡¢\f2extdocURL\fP ¤ÎÃͤ¬¤½¤Î¤Þ¤Þ¡¢ºîÀ®¤µ¤ì¤¿ \f2<A HREF>\fP ¥ê¥ó¥¯Æâ¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2extdocURL\fP ¤Ï¥Õ¥¡¥¤¥ë¤Ø¤Î URL ¤Ç¤Ï¤Ê¤¯¡Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î URL¡×¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -\f2extdocURL\fP ¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Î¥É¥­¥å¥á¥ó¥È¤òǤ°Õ¤Î Web ¥µ¥¤¥È¾å¤Î¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤Ç¤­¤Þ¤¹¡£ÁêÂаÌÃ֤إê¥ó¥¯¤¹¤ë¤À¤±¤Ç¤è¤¤¾ì¹ç¤ÏÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤǤ­¤Þ¤¹¡£ÁêÂÐ¥ê¥ó¥¯¤Î¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤¬ÅϤ¹Ãͤϡ¢( \f2\-d\fP ¤Ç»ØÄꤵ¤ì¤¿) À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¡¢¥ê¥ó¥¯Àè¤È¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎÁêÂХѥ¹¤Ë¤¹¤Ù¤­¤Ç¤¹¡£ -.LP -Ä̾ÀäÂÐ¥ê¥ó¥¯¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢ \f2http:\fP ¥ê¥ó¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£Web ¥µ¡¼¥Ð¡¼¤ò»ý¤¿¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢ \f2file: ¥ê¥ó¥¯¤ò»ÈÍѤǤ­¤Þ¤¹¡£\fP ¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ï¡¢¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¤¬À¸À®¤µ¤ì¤¿Æ±¤¸¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¶¦Í­¤¹¤ë¥É¥­¥å¥á¥ó¥È¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç°Ê³°¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.LP -¤¹¤Ù¤Æ¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢ÀäÂÐ URL ¤ÈÁêÂÐ URL¡¢¡Öhttp:¡×¥Ù¡¼¥¹¤È¡Öfile:¡×¥Ù¡¼¥¹¤Ë¤«¤«¤ï¤é¤º¡¢¥¹¥é¥Ã¥·¥å¤ò¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹ ( -.na -\f2URL Memo\fP @ -.fi -http://www.ietf.org/rfc/rfc1738.txt ¤Ç»ØÄê)¡£ -.RS 3 -.TP 3 -http: ¥Ù¡¼¥¹¤ÎÀäÂÐ¥ê¥ó¥¯: -\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP -.TP 3 -file: ¥Ù¡¼¥¹¤ÎÀäÂÐ¥ê¥ó¥¯: -\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP -.TP 3 -ÁêÂÐ¥ê¥ó¥¯: -\f2\-link <directory>/<directory>/.../<name>\fP +.PP +\-windowtitle \fItitle\fR +.RS 4 +HTML¤Î\fI<title>\fR¥¿¥°¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fItitle\fR¥¿¥°¤Ë»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤Ï¡¢¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤ä¡¢¤³¤Î¥Ú¡¼¥¸¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤¿¥Ö¥é¥¦¥¶¤Î¥Ö¥Ã¥¯¥Þ¡¼¥¯(¤ªµ¤¤ËÆþ¤ê)¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¿¥¤¥È¥ë¤Ë¤ÏHTML¥¿¥°¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¥¿¥¤¥È¥ë¤ËHTML¥¿¥°¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢¥Ö¥é¥¦¥¶¤¬¥¿¥°¤òÀµ¤·¤¯²ò¼á¤Ç¤­¤Þ¤»¤ó¡£\fItitle\fR¥¿¥°Æâ¤ÎÆâÉô¤ÎÆó½Å°úÍÑÉä¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Æ¥Þ¡¼¥¯¤·¤Þ¤¹¡£\fI\-windowtitle\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI\-windowtitle\fR¥ª¥×¥·¥ç¥ó¤Î¤«¤ï¤ê¤Ë¡¢\fI\-doctitle\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjavadoc \-windowtitle "Java SE Platform" com\&.mypackage\fR¤Ç¤¹¡£ .RE +.PP +\-doctitle \fItitle\fR +.RS 4 +³µÍ×¥µ¥Þ¥ê¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¤Î¶á¤¯¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fItitle\fR¥¿¥°¤Ë»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤ÏÃæ±û·¤¨¤Ë¤Ê¤ê¡¢¥ì¥Ù¥ë1¤Î¸«½Ð¤·¤È¤·¤Æ¡¢¾åÉô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¤¹¤°²¼¤ËÃÖ¤«¤ì¤Þ¤¹¡£\fItitle\fR¥¿¥°¤Ë¤ÏHTML¥¿¥°¤ª¤è¤Ó¶õÇòʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢¥¿¥¤¥È¥ë¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fItitle\fR¥¿¥°¤ÎÆâÉô¤Ç°úÍÑÉä¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjavadoc \-header "<b>Java Platform </b><br>v1\&.4" com\&.mypackage\fR¤Ç¤¹¡£ .RE -.LP -javadoc ¤Î 1 ²ó¤Î¼Â¹Ô¤ÇÊ£¿ô¤Î \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ì¤Ð¡¢Ê£¿ô¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ \f3\-linkoffline ¤Þ¤¿¤Ï \-link ¤ÎÁªÂò\fP -.br -\f2\-link\fP¤ò»ÈÍѤ¹¤ë¾ì¹ç: -.RS 3 -.TP 2 -o -³°Éô API ¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂХѥ¹¤ò»ÈÍѤ¹¤ë¾ì¹ç -.TP 2 -o -³°Éô API ¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ URL ¤ò»ÈÍѤ¹¤ë¾ì¹ç (¥×¥í¥°¥é¥à¤¬¤½¤Î URL ¤ËÀܳ¤·¡¢ÆÉ¤ß¼è¤ê¤ò¹Ô¤¦¤³¤È¤¬¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç) +.PP +\-title \fItitle\fR +.RS 4 +¤¹¤Ç¤Ë¸ºß¤·¤Þ¤»¤ó¡£Javadoc 1\&.2¤Î¥Ù¡¼¥¿ÈǤˤ·¤«Â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-doctitle\fR¤È¤¤¤¦Ì¾Á°¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£Ì¾Á°¤òÊѹ¹¤·¤¿Íýͳ¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤Ç¤Ï¤Ê¤¯¥É¥­¥å¥á¥ó¥È¤Î¥¿¥¤¥È¥ë¤òÄêµÁ¤¹¤ë¤³¤È¤òÌÀ³Î¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£ .RE -\f2\-linkoffline\fP ¤ò»ÈÍѤ¹¤ë¾ì¹ç: -.RS 3 -.TP 2 -o -³°Éô API ¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ URL ¤ò»ÈÍѤ¹¤ë¾ì¹ç (¥×¥í¥°¥é¥à¤¬¤½¤Î URL ¤ËÀܳ¤·¡¢ÆÉ¤ß¼è¤ê¤ò¹Ô¤¦¤³¤È¤¬¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç)¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ï¡¢¥ê¥ó¥¯Àè¤Î¥É¥­¥å¥á¥ó¥È¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Î¸þ¤³¤¦Â¦¤Ë¤¢¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£ +.PP +\-header \fIheader\fR +.RS 4 +³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¤ËÇÛÃÖ¤¹¤ë¥Ø¥Ã¥À¡¼¡¦¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î±¦¾å¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£\fIheader\fR¤Ë¤ÏHTML¥¿¥°¤ª¤è¤Ó¶õÇòʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢\fIheader\fR¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ø¥Ã¥À¡¼ÆâÉô¤Î°úÍÑÉä¤Ë¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjavadoc \-header "<b>Java Platform </b><br>v1\&.4" com\&.mypackage\fR¤Ç¤¹¡£ .RE -.LP -\f3³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã\fP \- \f2java.lang\fP¡¢ \f2java.io\fP ¡¢¤½¤Î¾¤Î Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸ ( -.na -\f2http://download.oracle.com/javase/7/docs/api/\fP @ -.fi -http://download.oracle.com/javase/7/docs/api/ Æâ) ¤Ë¥ê¥ó¥¯¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò´Þ¤ó¤À¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2com.mypackage\fP ¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹¥Ä¥ê¡¼Æâ¤Î \f2Object\fP ¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ê¤ª¡¢ \f2\-sourcepath\fP ¤ä \f2\-d\fP ¤Ê¤É¡¢¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï¼¨¤·¤Æ¤¤¤Þ¤»¤ó¡£ +.PP +\-footer \fIfooter\fR +.RS 4 +³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Õ¥Ã¥¿¡¼¡¦¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£\fIfooter\fR¤ÎÃͤϡ¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î±¦²¼¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£\fIfooter\fR¤Ë¤ÏHTML¥¿¥°¤ª¤è¤Ó¶õÇòʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢\fIfooter\fR¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Õ¥Ã¥¿¡¼ÆâÉô¤Î°úÍÑÉä¤Ë¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-top +.RS 4 +³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¤ËÇÛÃÖ¤¹¤ë¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-bottom \fItext\fR +.RS 4 +³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤è¤ê²¼¤Î¡¢¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£¥Æ¥­¥¹¥È¤Ë¤ÏHTML¥¿¥°¤ª¤è¤Ó¶õÇòʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢¥Æ¥­¥¹¥È¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥ÈÆâÉô¤Î°úÍÑÉä¤Ë¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-link \fIextdocURL\fR +.RS 4 +´û¸¤ÎJavadoc¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£\fIextdocURL\fR°ú¿ô¤Ï¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë¡¢Javadoc¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿³°Éô¥É¥­¥å¥á¥ó¥È¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐURL¤Þ¤¿¤ÏÁêÂÐURL¤Ç¤¹¡£»ØÄꤷ¤¿\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤Ç¡¢Ê£¿ô¤Î\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆÊ£¿ô¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.sp +¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ëpackage\-list¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹)¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢package\-list¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆÉ¤ß¼è¤Ã¤¿¸å¡¢¤½¤ÎURL¤Ç¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë¡¢\fIextdocURL\fR¤ÎÃͤ¬¡¢ºîÀ®¤µ¤ì¤¿\fI<A HREF>\fR¥ê¥ó¥¯Æâ¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\fIextdocURL\fR¤Ï¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎURL¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIextdocURL\fR¤ËÀäÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Î¥É¥­¥å¥á¥ó¥È¤òǤ°Õ¤ÎWeb¥µ¥¤¥È¾å¤Î¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤Ç¤­¤Þ¤¹¡£ÁêÂаÌÃ֤إê¥ó¥¯¤¹¤ë¤Î¤ß¤Î¾ì¹ç¤ÏÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤǤ­¤Þ¤¹¡£ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢ÅϤ¹Ãͤϰ¸Àè¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¡¢¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(\fI\-d\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄê)¡£ÀäÂÐ¥ê¥ó¥¯¤ò»ØÄꤹ¤ë¾ì¹ç¡¢Ä̾HTTP¥ê¥ó¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤À¤·¡¢Web¥µ¡¼¥Ð¡¼¤ò»ý¤¿¤Ê¤¤¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¡¦¥ê¥ó¥¯¤ò»ÈÍѤǤ­¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¥¢¥¯¥»¥¹¤¹¤ëÁ´°÷¤¬Æ±¤¸¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò¶¦Í­¤¹¤ë¾ì¹ç¤Ë¤Î¤ß¥Õ¥¡¥¤¥ë¡¦¥ê¥ó¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£¤É¤Î¾ì¹ç¤â¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ç¤â¡¢URL¤¬ÀäÂФޤ¿¤ÏÁêÂФΤ¤¤º¤ì¤Ç¤â¡¢¤Þ¤¿\fIh\fR\fIttp:\fR¤Þ¤¿¤Ï\fIf\fR\fIile:\fR¤Î¤¤¤º¤ì¤Ç¤â¡¢URL¥á¥â: Uniform Resource Locators +(http://www\&.ietf\&.org/rfc/rfc1738\&.txt)¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¤ª¤ê¡¢¶èÀÚ¤êʸ»ú¤È¤·¤Æ¥¹¥é¥Ã¥·¥å¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc \-link http://download.oracle.com/javase/7/docs/api/ com.mypackage\fP -.fl +\-link http://<host>/<directory>/<directory>/\&.\&.\&./<name> +\-link file://<host>/<directory>/<directory>/\&.\&.\&./<name> +\-link <directory>/<directory>/\&.\&.\&./<name> .fi -\f3³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã\fP \- 2 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ê¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤¬ Javadoc ¥Ä¡¼¥ë¤òÊ£¿ô²ó¼Â¹Ô¤·¤¿·ë²ÌÀ¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¤È¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¤³¤ì¤é¤Î¥É¥­¥å¥á¥ó¥È¤¬ÁêÂХѥ¹¤Çʬ³ä¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤ÎÎã¤Î¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢API ¤Ç¤¢¤ë \f2com.apipackage\fP ¤È¡¢SPI (¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¥¤¥ó¥¿¥Õ¥§¡¼¥¹) ¤Ç¤¢¤ë \f2com.spipackage\fP ¤Ç¤¹¡£¥É¥­¥å¥á¥ó¥È¤Î³ÊǼÀè¤Ï¡¢ \f2docs/api/com/apipackage\fP ¤È \f2docs/spi/com/spipackage\fP ¤Ç¤¹¡£API ¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤Ï¤¹¤Ç¤ËÀ¸À®ºÑ¤ß¤Ç¡¢ \f2docs\fP ¤¬¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È²¾Äꤹ¤ë¤È¡¢API ¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤ò´Þ¤à SPI ¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +\-linkoffline¤ª¤è¤Ó\-link¥ª¥×¥·¥ç¥ó¤Î°ã¤¤.PP +¼¡¤Î¾ì¹ç¤Ë¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³°ÉôAPI¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂХѥ¹¤ò»ÈÍѤ¹¤ë¾ì¹ç¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³°ÉôAPI¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐURL¤ò»ÈÍѤ¹¤ë¾ì¹ç(¤½¤ÎURL¤ËÀܳ¤·¡¢ÆÉ¼è¤ê¤ò¹Ô¤¦¤³¤È¤¬¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç)¡£ +.RE +.PP +³°ÉôAPI¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐURL¤ò»ÈÍѤ¹¤ë¾ì¹ç(¤½¤ÎURL¤ËÀܳ¤·¡¢ÆÉ¼è¤ê¤ò¹Ô¤¦¤³¤È¤¬¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç)¤Ï\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ï¡¢¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÆâ¦¤«¤é¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Î³°Â¦¤Ë¤¢¤ë¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯ +.RS 4 +http://docs\&.oracle\&.com/javase/8/docs/api/index\&.html¤Ë¼¨¤¹¤è¤¦¤Ê¡¢\fIjava\&.lang\fR¡¢\fIjava\&.io\fR¤ª¤è¤Ó¤½¤Î¾¤ÎJava¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤¹¤ë¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc \-d ./spi \-link ../api com.spipackage\fP -.fl +javadoc \-link http://docs\&.oracle\&.com/javase/8/docs/api/ com\&.mypackage .fi -.LP -\f2\-link\fP ¤Î°ú¿ô¤Ï¡¢À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\f2docs/spi\fP) ¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£ -.LP -\f3¾ÜºÙ\fP \- \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¡Ö¥³¡¼¥É¤«¤é¤Ï»²¾È¤µ¤ì¤Æ¤¤¤Æ¤â¡¢Javadoc ¤Îº£²ó¤Î¼Â¹Ô¤Ç¤Ï¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¡×¤È¤¤¤¦¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥ê¥ó¥¯¤«¤éÍ­¸ú¤Ê¥Ú¡¼¥¸¤Ë°Üư¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤Î HTML ¥Ú¡¼¥¸¤¬¤¢¤ë¾ì½ê¤òÄ´¤Ù¡¢¤½¤Î¾ì½ê¤ò \f2extdocURL\fP ¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤¿¤È¤¨¤Ð¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¡¼¤Î¥É¥­¥å¥á¥ó¥È¤«¤é \f2http://java.sun.com ¾å¤Î java.*\fP ¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤¬ \f2²Äǽ¤È¤Ê¤ê¤Þ¤¹\fP¡£ -.LP -º£²ó¤Î¼Â¹Ô¤Ç Javadoc ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥É¥­¥å¥á¥ó¥ÈÆâ¤Î API ¤À¤±¤òÂÐ¾Ý¤Ë \f2¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢\fP \-link ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£ \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢³°Éô»²¾È¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¡¢¤ª¤è¤Ó¸ºß¤¹¤ë¾ì¹ç¤Ï¤½¤Î¾ì½ê¤òȽÊ̤Ǥ­¤Ê¤¤¤«¤é¤Ç¤¹¡£ -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥ÈÆâ¤ÎÊ£¿ô¤Î¾ì½ê¤Ë¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -¤â¤¦ 1 ¤Ä¤ÎÍÑÅӤϡ¢¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È´Ö¤Ç¤Î¥¯¥í¥¹¥ê¥ó¥¯¤Ç¤¹¡£°ìÊý¤Î¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤¿¤¢¤È¡¢Â¾Êý¤Î¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È¤ËÂФ·¤Æ javadoc ¤òºÆÅټ¹Ԥ¹¤ë¤³¤È¤Ë¤è¤ê¡¢Î¾¥»¥Ã¥È´Ö¤ÇÁÐÊý¸þ¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -\f3¥¯¥é¥¹¤Î»²¾ÈÊýË¡\fP \- ³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤ò¡¢¥Æ¥­¥¹¥È¥é¥Ù¥ë¤À¤±¤Ç¤Ï¤Ê¤¯¼ÂºÝ¤Ëɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤ÎÊýË¡¤Ç¥¯¥é¥¹¤ò»²¾È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ÎËÜÂΤǥ¯¥é¥¹¤ò»²¾È¤¹¤ë¤À¤±¤Ç¤Ï½½Ê¬¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤½¤ì¤é¤Î¥¯¥é¥¹¤Ï¡¢ \f2import\fP ʸ¡¢Àë¸À¤Î¤¤¤º¤ì¤Î¾ì½ê¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Here are examples of how the class \f2java.io.File\fP can be referenced: -.RS 3 -.TP 2 -o -¤¹¤Ù¤Æ¤Î¼ïÎà¤Î \f2import\fP ʸ¤Î¾ì¹ç: ¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥È¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï \f2java.lang.* ¤ËÂФ¹¤ë¼«Æ°Åª¤Ê¥¤¥ó¥Ý¡¼¥È\fP¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ì¤Ð½½Ê¬¤Ç¤¹¡£ -.br -\f2import java.io.*;\fP -.br -1.3.x ¤ª¤è¤Ó 1.2.x ¤Ç¤Ï¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¤À¤±¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥Èʸ¤â¡¢ \f2java.lang.* ¤Î¼«Æ°¥¤¥ó¥Ý¡¼¥È¤â»ÈÍѤǤ­¤Þ¤»¤ó\fP¡£ -.TP 2 -o +.if n \{\ +.RE +.\} +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Java SE¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯»ý¤Ä\fIcom\&.mypackage\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹\fItrees\fRÆâ¤Î\fIObject\fR¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\fI\-sourcepath\fR¤ä\fI\-d\fR¤Ê¤É¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\fBExample 2\fR, ³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯ +.RS 4 +¤³¤ÎÎã¤Ç¤Ï¡¢2¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ê¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤òÊ£¿ô²ó¼Â¹Ô¤·¤¿·ë²ÌÀ¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤¹¡£¤µ¤é¤Ë¡¢¤³¤ì¤é¤Î¥É¥­¥å¥á¥ó¥È¤ÏÁêÂХѥ¹¤Çʬ³ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢API¤Ç¤¢¤ë\fIcom\&.apipackage\fR¤È¡¢SPI(¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹)¤Ç¤¢¤ëc\fIom\&.spipackage\fR¤Ç¤¹¡£¥É¥­¥å¥á¥ó¥È¤Î³ÊǼÀè¤Ï¡¢docs/api/com/apipackage¤Èdocs/spi/com/spipackage¤Ç¤¹¡£API¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤Ï¤¹¤Ç¤ËÀ¸À®¤µ¤ì¤Æ¤¤¤Æ¡¢docs¤¬¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¾ì¹ç¡¢API¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤ò»ý¤ÄSPI¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£\fIjavadoc \-d \&./spi \-link \&.\&./api com\&.spipackage\fR +.sp +\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢°¸Àè¥Ç¥£¥ì¥¯¥È¥ê(docs/spi)¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£ +.RE +Ãí°Õ.PP +\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥³¡¼¥É¤«¤é¤Ï»²¾È¤µ¤ì¤Æ¤¤¤Æ¤â¡¢º£²ó¤Î\fIjavadoc\fR¤Î¼Â¹Ô¤Ç¤Ï¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥ê¥ó¥¯¤«¤éÍ­¸ú¤Ê¥Ú¡¼¥¸¤Ë°Üư¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤ÎHTML¥Ú¡¼¥¸¤¬¤¢¤ë¾ì½ê¤òÄ´¤Ù¡¢¤½¤Î¾ì½ê¤ò\fIextdocURL\fR¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬java\&.*¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó(http://docs\&.oracle\&.com)¤Ø¥ê¥ó¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¡¢¸½ºß¤Î¼Â¹Ô¤ÇÀ¸À®¤·¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÆâ¤ÎAPI¤Ø¤Î¥ê¥ó¥¯¤Î¤ß¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï³°Éô»²¾È¤Î¤¿¤á¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤»¤ó¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¤Î¤«¤É¤¦¤«¡¢¤Þ¤¿¤Ï¤É¤³¤Ë¸ºß¤¹¤ë¤Î¤«¤¬¤ï¤«¤é¤Ê¤¤¤«¤é¤Ç¤¹¡£\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÆâ¤ÎÊ£¿ô¤Î¾ì½ê¤Ë¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤¦1¤Ä¤ÎÍÑÅӤϡ¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥È¤Î´Ö¤Ë¥¯¥í¥¹¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£°ìÊý¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥È¤ËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¡¢Â¾Êý¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥È¤ËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤òºÆÅټ¹Ԥ¹¤ë¤È¡¢Î¾¥»¥Ã¥È´Ö¤ËÁÐÊý¸þ¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +¥¯¥é¥¹¤Î»²¾ÈÊýË¡.PP +ɽ¼¨¤µ¤ì¤ë³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤Î¾ì¹ç(¤ª¤è¤Ó¤½¤Î¥Æ¥­¥¹¥È¡¦¥é¥Ù¥ë¤À¤±¤Ç¤Ï¤Ê¤¯)¡¢¥¯¥é¥¹¤Ï¼¡¤ÎÊýË¡¤Ç»²¾È¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ÎËÜÂΤǥ¯¥é¥¹¤ò»²¾È¤¹¤ë¤Î¤ß¤Ç¤Ï½½Ê¬¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\fIimport\fRʸ¡¢Àë¸À¤Î¤¤¤º¤ì¤«¤Ç»²¾È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Ë¡¢¥¯¥é¥¹\fIjava\&.io\&.File\fR¤ò»²¾È¤¹¤ëÊýË¡¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤Îimportʸ¤Î¾ì¹ç¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥È¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï\fIjava\&.lang\&.*\fR¤ËÂФ¹¤ë¼«Æ°¥¤¥ó¥Ý¡¼¥È¡£ +.PP +Java SE 1\&.3\&.\fIn\fR¤ª¤è¤Ó1\&.2\&.\fIn\fR¤Ç¤Ï¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¤Î¤ßµ¡Ç½¤·¤Þ¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë\fIimport\fRʸ¤â¡¢\fIimport java\&.lang\&.*\fR¤Î¼«Æ°¥¤¥ó¥Ý¡¼¥È¤âµ¡Ç½¤·¤Þ¤»¤ó¡£ +.PP Àë¸À¤Î¾ì¹ç: -.br -\f2void foo(File f) {}\fP -.br -¤³¤Î»²¾È¤ò»ÈÍѤ·¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÌá¤êÃͤη¿¤Þ¤¿¤Ï¥Ñ¥é¥á¡¼¥¿¤Î·¿¤ËÃÖ¤¯¤«¡¢ \f2implements\fP¡¢ \f2extends\fP ¡¢¤Þ¤¿¤Ï \f2throws\fP ʸ¤ËÃÖ¤­¤Þ¤¹¡£ +\fIvoid mymethod(File f) {}\fR +.PP +»²¾È¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÌá¤ê·¿¤Þ¤¿¤Ï¥Ñ¥é¥á¡¼¥¿¡¦¥¿¥¤¥×¡¢¤¢¤ë¤¤¤Ï¼ÂÁõ¡¢³ÈÄ¥¤Þ¤¿¤Ï¥¹¥í¡¼Ê¸¤Ë¤¢¤ê¤Þ¤¹¡£ +.PP +½ÅÍפʷë²Ì¤È¤·¤Æ¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¤³¤ÎÀ©¸Â¤Î¤¿¤á¤Ë¸í¤Ã¤ÆÉ½¼¨¤µ¤ì¤Ê¤¤¥ê¥ó¥¯¤¬Â¿¿ôȯÀ¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥È¤Ï¥Ï¥¤¥Ñ¡¼¥Æ¥­¥¹¥È¡¦¥ê¥ó¥¯¤¬ÉÕ¤±¤é¤ì¤º¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¥ê¥ó¥¯¤¬É½¼¨¤¹¤ë·Ù¹ð¤«¤é¡¢¤³¤ì¤é¤Î¥ê¥ó¥¯¤òǧ¼±¤Ç¤­¤Þ¤¹¡£¥¯¥é¥¹¤òÀµ¤·¤¯»²¾È¤·¡¢¤½¤ì¤Ë¤è¤Ã¤Æ¥ê¥ó¥¯¤òÄɲ乤뤿¤á¤ÎºÇ¤â´Êñ¤ÊÊýË¡¤Ï¤½¤Î¥¯¥é¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ç¤¹¡£ +¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È.PP +\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ëpackage\-list¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Ë»ØÄꤷ¤¿URL¤Ë¸ºß¤·¤Æ¤¤¤ë¤³¤È¤¬É¬ÍפǤ¹¡£package\-list¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤Î¾ì½ê¤Ë¤¢¤ë¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤Î¥ê¥¹¥È¤¬Æþ¤Ã¤¿Ã±½ã¤Ê¥Æ¥­¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Á°½Ò¤ÎÎã¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤷ¤¿URL¤Çpackage\-list¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆÉ¤ß¼è¤Ã¤Æ¡¢¤½¤ÎURL¤Ç¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢Java SE API¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤Ï +http://docs\&.oracle\&.com/javase/8/docs/api/package\-list¤Ë¤¢¤ê¤Þ¤¹¡£ +.PP +¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤Ï¼¡¤Î¤è¤¦¤ÊÆâÍÆ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java\&.applet +java\&.awt +java\&.awt\&.color +java\&.awt\&.datatransfer +java\&.awt\&.dnd +java\&.awt\&.event +java\&.awt\&.font +and so on \&.\&.\&.\&. +.fi +.if n \{\ .RE -.LP -½ÅÍפʷë²Ì¤È¤·¤Æ¡¢ \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑ»þ¤Ë¡¢¤³¤ÎÀ©¸Â¤Î¤¿¤á¤Ë¸í¤Ã¤ÆÉ½¼¨¤µ¤ì¤Ê¤¤¥ê¥ó¥¯¤¬Â¿¿ôȯÀ¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥È¤Ï¥Ï¥¤¥Ñ¡¼¥Æ¥­¥¹¥È¥ê¥ó¥¯¤¬ÉÕ¤±¤é¤ì¤º¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥ê¥ó¥¯¤¬É½¼¨¤¹¤ë·Ù¹ð¤«¤é¡¢¤³¤Î¥ê¥ó¥¯¤òǧ¼±¤Ç¤­¤Þ¤¹¡£¥¯¥é¥¹¤òÀµ¤·¤¯»²¾È¤·¡¢¤½¤ì¤Ë¤è¤Ã¤Æ¥ê¥ó¥¯¤òÄɲ乤뤿¤á¤Î¤â¤Ã¤È¤â°ÂÁ´¤ÊÊýË¡¤Ï¾å¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢Åö³º¤Î¥¯¥é¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ç¤¹¡£ -.LP -\f3¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È\fP \- \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤Ë¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë \f2package\-list\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¡¢¥æ¡¼¥¶¡¼¤¬ \f2\-link\fP ¤Ë»ØÄꤷ¤¿ URL ¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤Î¾ì½ê¤Ë¤¢¤ë¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤Î¥ê¥¹¥È¤¬Æþ¤Ã¤¿Ã±½ã¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Á°¤ÎÎã¤Ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿ URL ¤Ç \f2package\-list\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆÉ¤ß¹þ¤ó¤À¤¢¤È¡¢¤½¤Î URL ¤Ë¤¢¤ë¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤·¤¿¡£ -.LP -¤¿¤È¤¨¤Ð¡¢Java SE 6 API ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Ï -.na -\f2http://download.oracle.com/javase/7/docs/api/package\-list\fP @ -.fi -http://download.oracle.com/javase/7/docs/api/package\-list ¤Ë¤¢¤ê¡¢¼¡¤Î¤è¤¦¤ÊÆâÍÆ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - java.applet -.fl - java.awt -.fl - java.awt.color -.fl - java.awt.datatransfer -.fl - java.awt.dnd -.fl - java.awt.event -.fl - java.awt.font -.fl - ¤½¤Î¾ -.fl -\fP -.fi -.LP -\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë javadoc ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢³°Éô»²¾È¥¯¥é¥¹¤Ë°¤¹¤ë̾Á°¤ò¸«¤Ä¤±¤ë¤È¡¢javadoc ¤Ï¤½¤Î̾Á°¤ò¥ê¥ó¥¯¤ò»ý¤¿¤Ê¤¤·Á¤Ç½ÐÎϤ·¤Þ¤¹¡£°ìÊý¡¢ \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2»ØÄꤵ¤ì¤¿\fP \f2extdocURL\fP ¤Î¾ì½ê¤Ë¤¢¤ë package\-list ¥Õ¥¡¥¤¥ëÆâ¤Ç¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¸¡º÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¸«¤Ä¤«¤ë¤È¡¢\f2extdocURL\fP ¤¬Ì¾Á°¤ÎÁ°¤ËÉղ䵤ì¤Þ¤¹¡£ -.LP -¤¹¤Ù¤Æ¤Î¥ê¥ó¥¯¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢³°Éô»²¾È¤Î¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È¤¬¡¢»ØÄꤷ¤¿ URL ¤Ë¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿ package\-list ¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤À¤±¤Ç¡¢»ØÄꤵ¤ì¤¿ URL ¤ËÌÜŪ¤Î¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ï¥Á¥§¥Ã¥¯¤·¤Þ¤»¤ó¡£ -.LP -\f3Ê£¿ô¤Î¥ê¥ó¥¯\fP \- Ê£¿ô¤Î \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢Ç¤°Õ¤Î¿ô¤Î³°ÉôÀ¸À®¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£Javadoc 1.2 ¤Ë¤Ï¡¢Ê£¿ô¤Î \f2\-link\fP ¥³¥Þ¥ó¥É¤ò»ØÄê¤Ç¤­¤Ê¤¤¤È¤¤¤¦¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï 1.2.2 ¤Ç½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ -.LP -¥ê¥ó¥¯¤¹¤ë³°Éô¥É¥­¥å¥á¥ó¥È¤´¤È¤Ë¡¢¼¡¤Î¤è¤¦¤ËÊÌ¡¹¤Î¥ê¥ó¥¯¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -\ \ \f2% \fP\f4javadoc \-link\fP \f2extdocURL1\fP \f4\-link\fP \f2extdocURL2\fP \f2... \fP\f4\-link\fP \f2extdocURLn\fP \f4com.mypackage\fP -.LP -\f2extdocURL1\fP¡¢\f2extdocURL2\fP¡¢... \f2extdocURLn\fP ¤Ï¡¢¤½¤ì¤¾¤ì³°Éô¥É¥­¥å¥á¥ó¥È¤Î¥ë¡¼¥È¤ò»Ø¤·¡¢³Æ¥ë¡¼¥È¤Ë¤Ï¡¢ \f2package\-list\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£ -.LP -\f3¥¯¥í¥¹¥ê¥ó¥¯\fP \- ¤Þ¤ÀÀ¸À®¤µ¤ì¤Æ¤¤¤Ê¤¤ 2 ¤Ä°Ê¾å¤Î¥É¥­¥å¥á¥ó¥È¤ò¥¯¥í¥¹¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢¡Ö¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡×¤¬É¬Íפˤʤê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤É¤Î¥É¥­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤â \f2package\-list\fP ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥È¤ËÂФ·¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë»þÅÀ¤Ç¡¢2 ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤Î \f2package\-list\fP ¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢³°Éô¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢2 ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤òÀ¸À®¤·¤¿¤¢¤È¤Ç¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·Ä¾¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¤³¤Î¾ì¹ç¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥ÈÀ¸À®¤ÎÌÜŪ¤Ï¡¢ \f2package\-list\fP ¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¤¹¤Ù¤ÆÇİ®¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢package\-list ¤ò¼êư¤ÇºîÀ®¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¼¡¤Ë¡¢2 ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤È¤½¤Î³°Éô¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£É¬Íפʳ°Éô¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤«¤é·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-linkoffline\ extdocURL\ packagelistLoc -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï \f2\-link\fP ¤Î¥Ð¥ê¥¨¡¼¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤É¤Á¤é¤â¡¢³°Éô»²¾È¥¯¥é¥¹¤Î javadoc À¸À®¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£Javadoc \f2¥Ä¡¼¥ë¼«ÂΤ¬\fP ¥ª¥Õ¥é¥¤¥ó¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤­ (Web Àܳ¤ò»È¤Ã¤Æ¥É¥­¥å¥á¥ó¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤È¤­)¡¢Web ¾å¤Î¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï¡¢\-linkoffline ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¸·Ì©¤Ë¤Ï¡¢ \f2³°Éô\fP ¥É¥­¥å¥á¥ó¥È¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤È¤­¡¢¤Þ¤¿¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤¬ \f2extdocURL\fP ¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤È¤Ï°Û¤Ê¤ë¾ì½ê (Ä̾\f2packageListLoc\fP ¤Ç»ØÄê²Äǽ¤Ê¥í¡¼¥«¥ë¤Ê¾ì½ê) ¤Ë¸ºß¤¹¤ë¤È¤­¡¢\-linkoffline ¤ò»ÈÍѤ·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢WWW ·Ðͳ¤Ç¤·¤« \f2extdocURL\fP ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¡¢ \f2\-linkoffline\fP ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®»þ¤Ë Javadoc ¥Ä¡¼¥ë¤¬ Web ¤ËÀܳ¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦À©Ì󤬤ʤ¯¤Ê¤ê¤Þ¤¹¡£ -.LP -¤µ¤é¤Ë¡¢¥É¥­¥å¥á¥ó¥È¤ò¹¹¿·¤¹¤ë¤¿¤á¤Î¡Ö¥Ï¥Ã¥­¥ó¥°¡×¤È¤·¤Æ¤Î»ÈÍѤâ²Äǽ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤¿¤¢¤È¡¢Êѹ¹¤·¤¿°ìÉô¤Î¥Ñ¥Ã¥±¡¼¥¸¤À¤±¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤¦¤·¤Æ¡¢¹¹¿·¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥¡¥¤¥ë¥»¥Ã¥È¤ËÁÞÆþ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£Îã¤ò¤¢¤È¤Ç¼¨¤·¤Þ¤¹¡£ -.LP -\f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤ò 2 ¤Ä¼è¤ê¤Þ¤¹¡£1 ¤Ä¤Ï¡¢ \f2<a href>\fP ¥ê¥ó¥¯¤ËÁȤ߹þ¤Þ¤ì¤ëʸ»úÎó¤òɽ¤¹°ú¿ô¡¢¤â¤¦ 1 ¤Ä¤Ï \f2package\-list\fP ¤Î¸¡º÷¾ì½ê¤ò¼¨¤¹°ú¿ô¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f4extdocURL\fP ¤Ï¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë¡¢javadoc ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿³°Éô¥É¥­¥å¥á¥ó¥È¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐ URL ¤Þ¤¿¤ÏÁêÂÐ URL ¤Ç¤¹¡£ÁêÂÐ¥ê¥ó¥¯¤Î¾ì¹ç¡¢¤½¤ÎÃͤϡ¢( \f2\-d\fP ¤Ç»ØÄꤵ¤ì¤¿) À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥ê¥ó¥¯Àè¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¤Ø¤ÎÁêÂХѥ¹¤Ë¤¹¤Ù¤­¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢\-link ¥ª¥×¥·¥ç¥ó¤Î \f2extdocURL\fP \f2¤ò»²¾È\fP ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f4packagelistLoc\fP ¤Ï¡¢³°Éô¥É¥­¥å¥á¥ó¥È¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤Þ¤¿¤Ï URL ¤Ç¤¹¡£¤³¤ì¤Ï¡¢URL (http: ¤Þ¤¿¤Ï file:) ¤Ç¤â¥Õ¥¡¥¤¥ë¥Ñ¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¤·¡¢ÀäÂХѥ¹¤Ç¤âÁêÂХѥ¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ÁêÂХѥ¹¤Î¾ì¹ç¤Ï¡¢javadoc ¤¬¼Â¹Ô¤µ¤ì¤ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾ \f2package\-list\fP ¤Ï´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.\} +.PP +\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fIjavadoc\fR¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢³°Éô»²¾È¥¯¥é¥¹¤Ë°¤¹¤ë̾Á°¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î̾Á°¤ò¥ê¥ó¥¯¤Ê¤·¤Ç½ÐÎϤ·¤Þ¤¹¡£°ìÊý¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿\fIextdocURL\fR¤Î¾ì½ê¤Ë¤¢¤ëpackage\-list¥Õ¥¡¥¤¥ë¤Ç¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¸¡º÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¸«¤Ä¤«¤ë¤È¡¢\fIextdocURL\fR¤¬Ì¾Á°¤ÎÁ°¤ËÉղ䵤ì¤Þ¤¹¡£ +.PP +¤¹¤Ù¤Æ¤Î¥ê¥ó¥¯¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢³°Éô»²¾È¤Î¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È¤¬¡¢»ØÄꤷ¤¿URL¤Ë¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿package\-list¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤Î¤ß¤ò¥Á¥§¥Ã¥¯¤·¡¢¤³¤ì¤é¤Î¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ï¥Á¥§¥Ã¥¯¤·¤Þ¤»¤ó¡£ +Ê£¿ô¤Î¥ê¥ó¥¯.PP +Ê£¿ô¤Î\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢Ç¤°Õ¤Î¿ô¤Î³°ÉôÀ¸À®¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£Javadoc 1\&.2¤Ë¤Ï¡¢Ê£¿ô¤Î\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Ê¤¤¤È¤¤¤¦´ûÃΤÎÉÔ¶ñ¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ÏJavadoc 1\&.2\&.2¤Ç½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£¥ê¥ó¥¯¤¹¤ë³°Éô¥É¥­¥å¥á¥ó¥È¤´¤È¤Ë¡¢¼¡¤Î¤è¤¦¤ËÊÌ¡¹¤Î¥ê¥ó¥¯¡¦¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\fIjavadoc \-link extdocURL1 \-link extdocURL2 \&.\&.\&. \-link extdocURLn com\&.mypackage\fR +\fIextdocURL1\fR¡¢\fIextdocURL2\fR¡¢\&.\fI\&.\&. extdocURLn\fR¤Ï¡¢¤½¤ì¤¾¤ì³°Éô¥É¥­¥å¥á¥ó¥È¤Î¥ë¡¼¥È¤ò»Ø¤·¡¢³Æ¥ë¡¼¥È¤Ë¤Ï¡¢package\-list¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£ +¥¯¥í¥¹¥ê¥ó¥¯.PP +°ÊÁ°¤ËºîÀ®¤µ¤ì¤¿Ê£¿ô¤Î¥É¥­¥å¥á¥ó¥È¤ò¥¯¥í¥¹¥ê¥ó¥¯¤¹¤ë¾ì¹ç¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¤É¤Î¥É¥­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤âpackage\-list¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥È¤ËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë»þÅÀ¤Ç¡¢2ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤Îpackage\-list¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢³°Éô¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢2ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤òÀ¸À®¤·¤¿¸å¤Ç¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Ê¤ª¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +¤³¤Î¾ì¹ç¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥ÈÀ¸À®¤ÎÌÜŪ¤Ï¡¢package\-list¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹(¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÇİ®¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¼êư¤ÇºîÀ®¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó)¡£¼¡¤Ë¡¢2ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤È¤½¤Î³°Éô¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£É¬Íפʳ°Éô¤Îpackage\-list¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤«¤é·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.PP +\-linkoffline \fIextdocURL packagelistLoc\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Î¥Ð¥ê¥¨¡¼¥·¥ç¥ó¤Ç¤¹¡£Î¾Êý¤È¤â¡¢Javadoc¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬WebÀܳ¤ò»ÈÍѤ·¤Æ¥É¥­¥å¥á¥ó¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤È¤­¡¢Web¾å¤Î¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï¡¢\fI\-link\fRo\fIffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£³°Éô¥É¥­¥å¥á¥ó¥È¤Îpackage\-list¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤È¤­¡¢¤Þ¤¿¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤¬\fIextdocURL\fR¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤Ë¤Ï¸ºß¤»¤º¡¢\fIpackageListLoc\fR¤Ç»ØÄê¤Ç¤­¤ëÊ̤ξì½ê(Ä̾ï¥í¡¼¥«¥ë)¤Ë¸ºß¤¹¤ë¤È¤­¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£\fIextdocURL\fR¤ËWorld Wide Web¾å¤Ç¤·¤«¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®»þ¤Ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬Web¤ËÀܳ¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¤¤¦À©Ì󤬤ʤ¯¤Ê¤ê¤Þ¤¹¡£¤â¤¦1¤Ä¤ÎÍÑÅӤϡ¢¥É¥­¥å¥á¥ó¥È¤ò¹¹¿·¤¹¤ë¤¿¤á¤Î²óÈòºö¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¡¢Êѹ¹¤·¤¿°ìÉô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¤Î¤ß\fIjavadoc\fR¥³¥Þ¥ó¥É¤òºÆÅټ¹Ԥ·¤Æ¡¢¹¹¿·¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥»¥Ã¥È¤ËÁÞÆþ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤ò2¤Ä¼è¤ê¤Þ¤¹¡£Âè1°ú¿ô¤Ï\fI<a href>\fR¥ê¥ó¥¯¤ËÁȤ߹þ¤Þ¤ì¤ëʸ»úÎó¤ò»ØÄꤷ¡¢Âè2°ú¿ô¤Ïpackage\-list¤Î¸¡º÷¾ì½ê¤ò\fI\-linkoffline\fR¤ËÅÁ¤¨¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIextdocURL\fR¤ÎÃͤϡ¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë¡¢Javadoc¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿³°Éô¥É¥­¥å¥á¥ó¥È¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐURL¤Þ¤¿¤ÏÁêÂÐURL¤Ç¤¹¡£ÁêÂÐURL¤Î¾ì¹ç¡¢Ãͤϡ¢À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê(\fI\-d\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄê)¤«¤é¥ê¥ó¥¯Àè¤È¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¤Ø¤ÎÁêÂХѥ¹¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Î\fIextdocURL\fR¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE -.LP -1 ²ó¤Î javadoc ¼Â¹Ô¤ÇÊ£¿ô¤Î \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£1.2.2 ¤è¤êÁ°¤Ï¡¢Ê£¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ -.LP -\f3³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã\fP \- http://download.oracle.com/javase/7/docs/api/ Æâ¤Î \f2java.lang\fP¡¢ \f2java.io\fP ¡¢¤ª¤è¤Ó¤½¤Î¾¤Î Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸ \f2¤Ë¥ê¥ó¥¯¤·¤¿¤¯¤Æ¤â¡¢\fPWeb ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¤ò¹Í¤¨¤Þ¤¹¡£¥Ö¥é¥¦¥¶¤Ç \f2¡¢\fP -.na -\f2http://download.oracle.com/javase/7/docs/api/package\-list\fP @ -.fi -http://download.oracle.com/javase/7/docs/api/package\-list ¤Ë¤¢¤ë package\-list ¥Õ¥¡¥¤¥ë¤ò³«¤­¡¢¤½¤ì¤ò¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¡¢Âè 2 °ú¿ô \f2packagelistLoc\fP ¤Ç¤³¤Î¥í¡¼¥«¥ë¥³¥Ô¡¼¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê "\f2.\fP" ¤ËÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò´Þ¤ó¤À¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2com.mypackage\fP ¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹¥Ä¥ê¡¼Æâ¤Î \f2Object\fP ¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ê¤ª¡¢ \f2\-sourcepath\fP ¤Ê¤É¡¢¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï¼¨¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.nf -\f3 -.fl -% \fP\f3javadoc \-linkoffline http://download.oracle.com/javase/7/docs/api/ . com.mypackage\fP -.fl -.fi -.LP -\f3³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã\fP \- \f2\-linkoffline\fP ¤ÇÁêÂХѥ¹¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¡¢¤¢¤Þ¤ê¤¢¤ê¤Þ¤»¤ó¡£Íýͳ¤Ïñ½ã¤Ç¡¢Ä̾ï¤Ï \f2\-link\fP ¤Ç½½Ê¬¤À¤«¤é¤Ç¤¹¡£ \f2\-linkoffline\fP ¤ò»ÈÍѤ¹¤ëºÝ¡¢ \f2package\-list\fP ¤Ë¤ÏÄ̾ï¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ëºÝ¤â¡¢¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤Ë¤ÏÄ̾ï¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ \f2\-linkoffline ¤Î 2 ¤Ä¤Î°ú¿ô¤ËÊÌ¡¹¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó\fP¡£2 ¤Ä¤Î°ú¿ô¤¬Æ±°ì¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ \f2\-link\fP ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ \f2\-link\fP ¤ÎÁêÂÐ¥ê¥ó¥¯¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f4package\-list\fP\f3 ¥Õ¥¡¥¤¥ë¤ò¼êư¤ÇºîÀ®\fP \- \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Ê¤¯¤Æ¤â¡¢¥É¥­¥å¥á¥ó¥È¤Î¥ê¥ó¥¯Àè¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¼«Ê¬¤ÇºîÀ®¤·¡¢packagelistLoc \f2¤Ç¤½¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fPcom.apipackage ¤¬ºÇ½é¤ËÀ¸À®¤µ¤ì¤ë»þÅÀ¤Ç \f2com.spipackage\fP ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤È¤¤¤¦¡¢ \f2Á°½Ð¤Î¥±¡¼¥¹¤¬\fP °ìÎã¤È¤·¤Æµó¤²¤é¤ì¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¤ï¤«¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¡¢¤Þ¤À¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¿·¤·¤¤³°Éô¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤Þ¤¿¡¢Javadoc 1.0 ¤Þ¤¿¤Ï 1.1 ¤ÇÀ¸À®¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤â¡¢¤³¤ÎÊýË¡¤¬»È¤¨¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£Æ±Íͤˡ¢2 ¤Ä¤Î´ë¶È¤¬Ì¤¸ø³«¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤ò¶¦Í­¤¹¤ì¤Ð¡¢¥¯¥í¥¹¥ê¥ó¥¯¤ò´Þ¤à¥É¥­¥å¥á¥ó¥È¤òƱ»þ¤Ë¥ê¥ê¡¼¥¹¤¹¤ë¤³¤È¤â²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3Ê£¿ô¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯\fP \- »²¾ÈÀè¤È¤Ê¤ëÀ¸À®¥É¥­¥å¥á¥ó¥È¤´¤È¤Ë \f2\-linkoffline\fP ¤ò 1 ²ó¤º¤Ä´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¡¢¥ª¥×¥·¥ç¥ó¤´¤È¤Ë²þ¹Ô¤·¤Æ¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -\f2% \fP\f4javadoc \-linkoffline\fP \f2extdocURL1\fP \f2packagelistLoc1\fP \f2\\\fP -.br -\f2\ \ \ \ \ \ \ \ \ \ \fP\f4\-linkoffline\fP \f2extdocURL2\fP \f2packagelistLoc2\fP \f2\\\fP -.br -\f2\ \ \ \ \ \ \ \ \ \ ...\fP -.LP -\f3¥É¥­¥å¥á¥ó¥È¤Î¹¹¿·\fP \- Á°½Ò¤Î \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤Î¤â¤¦¤Ò¤È¤Ä¤ÎÍÑÅӤϡ¢¥×¥í¥¸¥§¥¯¥È¤ËÂçÎ̤Υѥ屡¼¥¸¤¬´Þ¤Þ¤ì¤Æ¤¤¤Æ¡¢¤¹¤Ç¤Ë¥Ä¥ê¡¼Á´ÂΤËÂФ·¤Æ javadoc ¤Î¼Â¹Ô¤¬´°Î»¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢¼¡¤Î¼Â¹Ô¤Ç¤Ï¡¢¾¯Î̤ÎÊѹ¹¤ò¼êÁ᤯²Ã¤¨¤¿¤¢¤È¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Î¤´¤¯°ìÉô¤ËÂФ·¤Æ¤À¤± javadoc ¤òºÆ¼Â¹Ô¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÂФ·¤Æ¤À¤±Êѹ¹¤ò²Ã¤¨¡¢Àë¸À¤ÏÊѹ¹¤·¤Ê¤¤¾ì¹ç¤Ë¤Î¤ßÀµ¤·¤¯½èÍý¤µ¤ì¤ë¤Î¤Ç¡¢¥Ï¥Ã¥­¥ó¥°¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£¥½¡¼¥¹¥³¡¼¥É¤ÎÀë¸À¤òÄɲᢺï½ü¡¢¤Þ¤¿¤ÏÊѹ¹¤·¤¿¾ì¹ç¤Ï¡¢º÷°ú¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¡¢·Ñ¾µ¤µ¤ì¤ë¥á¥ó¥Ð¡¼¤Î¥ê¥¹¥È¡¢¡Ö»ÈÍѡץڡ¼¥¸¤Ê¤É¤Î¾ì½ê¤Ç¡¢¥ê¥ó¥¯¤¬²õ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -¤Þ¤º¡¢¤³¤Î¿·¤·¤¤¾®¤µ¤Ê¼Â¹ÔÍѤȤ·¤Æ¡¢¿·¤·¤¤À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê ( \f2update\fP ¤È̿̾) ¤òºîÀ®¤·¤Þ¤¹¡£¸µ¤ÎÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤¬ \f2html\fP ¤À¤Ã¤¿¤È¤·¤Þ¤¹¡£¤â¤Ã¤È¤âñ½ã¤ÊÎã¤Ç¤Ï¡¢ \f2html ¥Ç¥£¥ì¥¯¥È¥ê¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư (cd) ¤·¤Þ¤¹\fP¡£ \f2\-linkoffline\fP ¤ÎÂè 1 °ú¿ô¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¡Ö.¡×¤ËÀßÄꤷ¡¢Âè 2 °ú¿ô¤ò¡¢package\-list ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë \f2html\fP ¤Ø¤ÎÁêÂХѥ¹¤ËÀßÄꤷ¡¢ \f2¹¹¿·¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¤ß¤ò\fPÅϤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d update \-linkoffline . html com.mypackage\fP -.fl -.fi -Javadoc ¥Ä¥ê¡¼¤Î½ªÎ»¸å¡¢ \f2update/com/package\fP Æâ¤ÎÀ¸À®¤µ¤ì¤¿¥¯¥é¥¹¤Î¥Ú¡¼¥¸¤ò¥³¥Ô¡¼¤· (³µÍפäº÷°ú¤Ï½ü¤¯)¡¢ \f2html/com/package Æâ¤Î¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¾å½ñ¤­¤·¤Þ¤¹\fP¡£ -.LP -.TP 3 -\-linksource\ -³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë (¹ÔÈÖ¹æÉÕ¤­) ¤Î HTML ¥Ð¡¼¥¸¥ç¥ó¤òºîÀ®¤·¡¢É¸½à HTML ¥É¥­¥å¥á¥ó¥È¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥³¥ó¥¹¥È¥é¥¯¥¿¡¢À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ËÂФ·¤Æ¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£ -.LP -\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fP\f4\-public\fP\f3¡¢ \fP\f4\-package\fP\f3¡¢ \fP\f4\-protected\fP\f3 ¡¢ \fP\f4\-private\fP\f3 ¤Î³Æ¥ª¥×¥·¥ç¥ó¤È¤Ï´Ø·¸¤Ê¤¯¡¢Èó¸ø³«¤Î¥¯¥é¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢Èó¸ø³«¤Î¥á¥½¥Ã¥É¤ÎËÜÂΤò¤Ï¤¸¤á¤È¤¹¤ëÁȤ߹þ¤Þ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤ÎÈó¸ø³«¼ÂÁõ¤Î¾ÜºÙ¤ò¸ø³«¤·¤Þ¤¹¡£\fP\f2\-private\fP ¥ª¥×¥·¥ç¥ó¤âÊ»¤»¤Æ»ØÄꤷ¤Ê¤¤¤«¤®¤ê¡¢Èó¸ø³«¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¥ê¥ó¥¯·Ðͳ¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ë¤È¤Ï¤«¤®¤ê¤Þ¤»¤ó¡£ -.LP -³Æ¥ê¥ó¥¯¤Ï¡¢¤½¤ÎÀë¸ÀÆâ¤Î¼±ÊÌ»Ò̾¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Button\fP ¥¯¥é¥¹¤Î¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¡ÖButton¡×¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - public class Button -.fl - extends Component -.fl - implements Accessible -.fl -\fP -.fi -¤Þ¤¿¡¢Button ¥¯¥é¥¹¤Î \f2getLabel()\fP ¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¡ÖgetLabel¡×¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - public String getLabel() -.fl -\fP -.fi -.LP -.TP 3 -\-group\ groupheading\ packagepattern:packagepattern:... -³µÍ×¥Ú¡¼¥¸¤ÎÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Ëʬ¤±¤Æ¡¢¥°¥ë¡¼¥×¤´¤È¤Ëɽ¤òºîÀ®¤·¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×¤Ï¡¢¤½¤ì¤¾¤ìÊ̤Π\f2\-group\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤é¤Î¥°¥ë¡¼¥×¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿½ç½ø¤Ç¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×Æâ¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤ٤é¤ì¤Þ¤¹¡£¤¢¤ëÆÃÄê¤Î \f2\-group\fP ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢ \f2packagepattern\fP ¼°¤Î¥ê¥¹¥È¤Ë°ìÃפ¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢ \f2groupheading\fP ¤È¤¤¤¦¸«½Ð¤·¤Îɽ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f4groupheading\fP ¤Ë¤Ï¡¢Ç¤°Õ¤Î¥Æ¥­¥¹¥È¤ò»ØÄê¤Ç¤­¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤Ï¡¢¥°¥ë¡¼¥×¤Îɽ¸«½Ð¤·¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\f4packagepattern\fP ¤Ë¤Ï¡¢Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤ÏǤ°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÀèÆ¬Éôʬ¤È¤½¤ì¤Ë³¤¯ 1 ¤Ä¤Î¥¢¥¹¥¿¥ê¥¹¥¯ (\f2*\fP) ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ ¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¡ÖǤ°Õ¤Îʸ»ú¤Ë°ìÃפ¹¤ë¡×¤È¤¤¤¦°ÕÌ£¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤·¤Æ»ØÄê¤Ç¤­¤ë¤Î¤Ï¡¢¥¢¥¹¥¿¥ê¥¹¥¯¤À¤±¤Ç¤¹¡£1 ¤Ä¤Î¥°¥ë¡¼¥×¤Ë¤Ï¡¢¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¿¡¼¥ó¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackagelistLoc\fR¤ÎÃͤϡ¢³°Éô¥É¥­¥å¥á¥ó¥È¤Îpackage\-list¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤Þ¤¿¤ÏURL¤Ç¤¹¡£¤³¤ì¤Ï¡¢URL (http:¤Þ¤¿¤Ïfile:)¤Ç¤â¥Õ¥¡¥¤¥ë¡¦¥Ñ¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢ÀäÂХѥ¹¤ÈÁêÂХѥ¹¤Î¤É¤Á¤é¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ÁêÂХѥ¹¤Î¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£package\-list¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.sp +»ØÄꤷ¤¿\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤Ç¡¢Ê£¿ô¤Î\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Javadoc 1\&.2\&.2¤è¤êÁ°¤Ç¤Ï¡¢\fI\-linkfile\fR¥ª¥×¥·¥ç¥ó¤Ï1²ó¤·¤«»ØÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ .RE -.LP -\f3Ãí: ¥Ñ¥¿¡¼¥ó¤ä¥Ñ¥¿¡¼¥ó¥ê¥¹¥ÈÆâ¤Ç¥¢¥¹¥¿¥ê¥¹¥¯¤ò»È¤¦¾ì¹ç¤Ï¡¢ \fP\f4"java.lang*:java.util" ¤Î¤è¤¦¤Ë¡¢¥Ñ¥¿¡¼¥ó¥ê¥¹¥È¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fP -.LP -¥æ¡¼¥¶¡¼¤¬ \f2\-group\fP ¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¡Ö¥Ñ¥Ã¥±¡¼¥¸¡×¤È¤¤¤¦¸«½Ð¤·¤Î 1 ¤Ä¤Î¥°¥ë¡¼¥×Æâ¤Ë¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬ÇÛÃÖ¤µ¤ì¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Ë¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¤É¤Î¥°¥ë¡¼¥×¤Ë¤âÆþ¤é¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¾ì¹ç¡¢¤³¤Î¤è¤¦¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Ï¡Ö¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡×¤È¤¤¤¦¸«½Ð¤·¤ò»ý¤ÄÆÈΩ¤·¤¿¥°¥ë¡¼¥×¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë 5 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¥³¥¢¥Ñ¥Ã¥±¡¼¥¸¡¢³ÈÄ¥µ¡Ç½¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ëʬ¤±¤é¤ì¤Þ¤¹¡£¡Öjava.lang*¡×¤Ç¤Ï¡¢ºÇ¸å¤Î¥É¥Ã¥È¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¤³¤È¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£¡Öjava.lang.*¡×¤Î¤è¤¦¤Ë¥É¥Ã¥È¤òÆþ¤ì¤ë¤È¡¢java.lang ¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-group "Core Packages" "java.lang*:java.util" -.fl - \-group "Extension Packages" "javax.*" -.fl - java.lang java.lang.reflect java.util javax.servlet java.new\fP -.fl -.fi -¤³¤Î·ë²Ì¡¢¼¡¤Î¤è¤¦¤Ê¥°¥ë¡¼¥×²½¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.RS 3 -.TP 3 -¥³¥¢¥Ñ¥Ã¥±¡¼¥¸ -\f2java.lang\fP -\f2java.lang.reflect\fP -\f2java.util\fP -.TP 3 -³ÈÄ¥µ¡Ç½¥Ñ¥Ã¥±¡¼¥¸ -\f2javax.servlet\fP -.TP 3 -¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸ -\f2java.new\fP .RE -.LP -.TP 3 -\-nodeprecated -¿ä¾©¤µ¤ì¤Ê¤¤ API ¤ò¥É¥­¥å¥á¥ó¥È¤ËÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\-nodeprecatedlist ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¸ú²Ì¤¬¤¢¤ë¤³¤È¤Ë²Ã¤¨¤Æ¡¢¥É¥­¥å¥á¥ó¥È¤Î¤Û¤«¤ÎÉôʬÁ´ÂΤǤ⡢¿ä¾©¤µ¤ì¤Ê¤¤ API ¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¡¼¥É¤òµ­½Ò¤·¤Æ¤¤¤ë¤È¤­¡¢¿ä¾©¤µ¤ì¤Ê¤¤¥³¡¼¥É¤Ë¤è¤Ã¤Æµ¤¤ò»¶¤é¤µ¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.LP -.TP 3 -\-nodeprecatedlist -¿ä¾©¤µ¤ì¤Ê¤¤ API ¤Î¥ê¥¹¥È¤ò´Þ¤à¥Õ¥¡¥¤¥ë (deprecated\-list.html)¡¢¤ª¤è¤Ó¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¤½¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤¬À¸À®¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤¿¤À¤·¡¢¥É¥­¥å¥á¥ó¥È¤Î¤Û¤«¤ÎÉôʬ¤Ç¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤ API ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤ API ¤¬¥½¡¼¥¹¥³¡¼¥É¤Ë´Þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤ò¤¹¤Ã¤­¤ê¤È¸«¤»¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.LP -.TP 3 -\-nosince -À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢@since ¥¿¥°¤ËÂбþ¤¹¤ë¡ÖƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¡× ¥»¥¯¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-notree -À¸À®¤µ¤ì¤ë¥É¥­¥å¥á¥ó¥È¤«¤é¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î³¬ÁØ¥Ú¡¼¥¸¤ò¾Êά¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¡Ö¥Ä¥ê¡¼¡×¥Ü¥¿¥ó¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³¬Áؤ¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-noindex -À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢º÷°ú¤ò¾Êά¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢º÷°ú¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-nohelp -½ÐÎϤγƥڡ¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ë¤¢¤ë¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤«¤é¡Ö¥Ø¥ë¥×¡×¥ê¥ó¥¯¤ò¾Êά¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-nonavbar -À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ëɽ¼¨¤µ¤ì¤ë¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¡¢¥Ø¥Ã¥À¡¼¡¢¤ª¤è¤Ó¥Õ¥Ã¥¿¡¼¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢bottom ¥ª¥×¥·¥ç¥ó¤Ë¤Ï±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£ \f2\-nonavbar\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢°õºþ¤¹¤ë¤¿¤á¤À¤±¤Ë¥Õ¥¡¥¤¥ë¤ò PostScript ¤Þ¤¿¤Ï PDF ¤ËÊÑ´¹¤¹¤ë¾ì¹ç¤Ê¤É¡¢ÆâÍÆ¤À¤±¤¬½ÅÍפǡ¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¤ÎɬÍפ¬¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.LP -.TP 3 -\-helpfile\ path/filename -¾åÉô¤È²¼Éô¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¡Ö¥Ø¥ë¥×¡×¥ê¥ó¥¯¤Î¥ê¥ó¥¯Àè¤È¤Ê¤ëÂåÂØ¥Ø¥ë¥×¥Õ¥¡¥¤¥ë \f2path/filename\fP ¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ä¡¼¥ëÆâ¤Ç¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Ø¥ë¥×¥Õ¥¡¥¤¥ë \f2help\-doc.html\fP ¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤½¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£\f2filename\fP ¤Ë¤Ï¤É¤ó¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤â»ØÄê¤Ç¤­¡¢ \f2help\-doc.html ¤Ë¤Ï¸ÂÄꤵ¤ì¤Þ¤»¤ó¡£\fP Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼Æâ¤Î¥ê¥ó¥¯¤òɬÍפ˱þ¤¸¤ÆÄ´À°¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-helpfile /home/user/myhelp.html java.awt\fP -.fl -.fi -.TP 3 -\-stylesheetfile\ path/filename -ÂåÂØ HTML ¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ä¡¼¥ëÆâ¤Ç¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë \f2stylesheet.css\fP ¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤½¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£\f2filename\fP ¤Ë¤Ï¤É¤ó¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤â»ØÄê¤Ç¤­¡¢ \f2stylesheet.css ¤Ë¤Ï¸ÂÄꤵ¤ì¤Þ¤»¤ó\fP¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - % \fP\f3javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage\fP -.fl -.fi -.TP 3 -\-serialwarn -@serial ¥¿¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Javadoc 1.2.2 °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Ä¾Î󲽤ηٹð¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó1.2.2 ¤è¤êÁ°¤Î½é´ü¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Ä¾Î󲽤ηٹð¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤È \f2writeExternal\fP ¥á¥½¥Ã¥É¤òŬÀڤ˥ɥ­¥å¥á¥ó¥È²½¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£ -.LP -.TP 3 -\-charset\ name -¤³¤Î¥É¥­¥å¥á¥ó¥ÈÍѤΠHTML ʸ»ú¥»¥Ã¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢ -.na -\f2IANA Registry\fP @ -.fi -http://www.iana.org/assignments/character\-sets ¤ÇÍ¿¤¨¤é¤ì¤¿¡¢¿ä¾©¤µ¤ì¤ë MIME ̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - % \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP -.fl -.fi -À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢¼¡¤Î¹Ô¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - <META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1"> -.fl -\fP -.fi -¤³¤Î META ¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2HTML ¤Îɸ½à\fP @ -.fi -http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2 (4197265 ¤ª¤è¤Ó 4137321) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\-encoding ¤ª¤è¤Ó \-docencoding ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-docencoding\ name -À¸À®¤µ¤ì¤ë HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢ -.na -\f2IANA Registry\fP @ -.fi -http://www.iana.org/assignments/character\-sets ¤ÇÍ¿¤¨¤é¤ì¤¿¡¢¿ä¾©¤µ¤ì¤ë MIME ̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Ê¤¬¤é \-encoding ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤ë HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥É¤Ï¡¢\-encoding ¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤Þ¤¹¡£Îã: -.nf -\f3 -.fl - % \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP -.fl -.fi -\-encoding ¤ª¤è¤Ó \-charset ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-keywords -HTML ¥á¥¿¥­¡¼¥ï¡¼¥É¥¿¥°¤ò¡¢¥¯¥é¥¹¤´¤È¤ËÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¥á¥¿¥¿¥°¤ò¸¡º÷¤¹¤ë¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤¬¥Ú¡¼¥¸¤ò¸«¤Ä¤±¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤò¸¡º÷¤¹¤ë¿¤¯¤Î¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤Ï¡¢¥Ú¡¼¥¸¤¬¥á¥¿¥¿¥°¤ò¸íÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥á¥¿¥¿¥°¤òÄ´¤Ù¤Þ¤»¤ó¡£°ìÊý¡¢¸¡º÷¤ò¼«¿È¤Î Web ¥µ¥¤¥È¤Ë¸ÂÄꤷ¤Æ¤¤¤ë´ë¶È¤Ç¤Ï¡¢¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤¬¥á¥¿¥¿¥°¤òÄ´¤Ù¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥á¥ê¥Ã¥È¤òÆÀ¤é¤ì¤Þ¤¹¡£ -.LP -¥á¥¿¥¿¥°¤Ë¤Ï¡¢¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤È¡¢¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Î½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤Ì¾Á°¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢¥¯¥é¥¹Ì¾¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹ String ¤Ï¼¡¤Î¥­¡¼¥ï¡¼¥É¤Ç³«»Ï¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - <META NAME="keywords" CONTENT="java.lang.String class"> -.fl - <META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER"> -.fl - <META NAME="keywords" CONTENT="length()"> -.fl - <META NAME="keywords" CONTENT="charAt()"> -.fl -\fP -.fi -.LP -.TP 3 -\-tag\ \ tagname:Xaoptcmf:"taghead" -Javadoc ¥Ä¡¼¥ë¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Î°ú¿ô¤ò 1 ¤Ä¼è¤ëñ½ã¤Ê¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¥¿¥° \f2@\fP\f2tagname\fP ¤ò²ò¼á¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¥¿¥°Ì¾¤Î¡Ö¥¹¥Ú¥ë¥Á¥§¥Ã¥¯¡×¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Ë¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¥«¥¹¥¿¥à¥¿¥°¤Ë¤Ä¤¤¤Æ¡¢ \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤ò´Þ¤á¤ë¤³¤È¤¬½ÅÍפǤ¹¡£º£²ó¤Î¼Â¹Ô¤Ç¤Ï½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ï¡¢X ¤òÉÕ¤±¤ÆÌµ¸ú \f2¤Ë¤·¤Þ¤¹\fP¡£ -.LP -¥³¥í¥ó (\f4:\fP) ¤¬¾ï¤Ë¶èÀÚ¤êʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¡£tagname \f2¤Ç¥³¥í¥ó¤ò»ÈÍѤ¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\fP ¡Ö¥¿¥°Ì¾¤Ç¤Î¥³¥í¥ó¤Î»ÈÍѡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¿¥°¤Î¸«½Ð¤·¡Ötaghead¡×¤òÂÀ»ú¤Ç½ÐÎϤ·¤Þ¤¹¡£ ¤½¤Î¼¡¤Î¹Ô¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤¬Â³¤­¤Þ¤¹¡£ °Ê²¼¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ö¥í¥Ã¥¯¥¿¥°¤ÈƱÍÍ¡¢¤³¤Î°ú¿ô¤Î¥Æ¥­¥¹¥È¤Ë¤Ï¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥¤¥ó¥é¥¤¥ó¥¿¥°¤â²ò¼á¤µ¤ì¤Þ¤¹¡£½ÐÎϤϡ¢°ú¿ô¤ò 1 ¤Ä¼è¤ëɸ½à¤Î¥¿¥° ( \f2@return\fP ¤ä \f2@author\fP ¤Ê¤É) ¤Î½ÐÎϤȤ褯»÷¤Æ¤¤¤Þ¤¹¡£\f2taghead\fP ¤ò¾Êά¤¹¤ë¤È¡¢\f2tagname\fP ¤¬¸«½Ð¤·¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -\f3¥¿¥°¤ÎÇÛÃÖ\fP \- °ú¿ô¤Î \f4Xaoptcmf\fP Éôʬ¤Ï¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î¥¿¥°¤òÇÛÃ֤Ǥ­¤ë°ÌÃ֤ȡ¢ ¤ò»È¤Ã¤Æ¤³¤Î¥¿¥°¤ò̵¸ú¤Ë¤Ç¤­¤ë¤«¤É¤¦¤«¤òÆÃÄꤷ¤Þ¤¹¡£ \f2X\fP). ¥¿¥°¤ÎÇÛÃÖ°ÌÃÖ¤òÀ©¸Â¤·¤Ê¤¤¾ì¹ç¤Ï \f4a\fP ¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤ì°Ê³°¤Îʸ»ú¤ÎÁȤ߹ç¤ï¤»¤â²Äǽ¤Ç¤¹¡£ \f4X\fP (¥¿¥°¤Î̵¸ú²½) -.br -\f4a\fP (¤¹¤Ù¤Æ) -.br -\f4o\fP (³µÍ×) -.br -\f4p\fP (¥Ñ¥Ã¥±¡¼¥¸) -.br -\f4t\fP (·¿¡¢¤Ä¤Þ¤ê¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹) -.br -\f4c\fP (¥³¥ó¥¹¥È¥é¥¯¥¿) -.br -\f4m\fP (¥á¥½¥Ã¥É) -.br -\f4f\fP (¥Õ¥£¡¼¥ë¥É) -.LP -\f3¥·¥ó¥°¥ë¥¿¥°¤ÎÎã\fP \- ¥½¡¼¥¹¥³¡¼¥ÉÆâ¤ÎǤ°Õ¤Î°ÌÃ֤ǻÈÍѤǤ­¤ë¥¿¥°¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-tag todo:a:"To Do:" -.fl -\fP -.fi -@todo ¤ò¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É¤Î¤ß¤Ç»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-tag todo:cmf:"To Do:" -.fl -\fP -.fi -¾å¤ÎÎã¤ÎºÇ¸å¤Î¥³¥í¥ó (\f2:\fP) ¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¶èÀÚ¤ê»Ò¤Ç¤¹¤¬¡¢¸«½Ð¤·¥Æ¥­¥¹¥È¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹ (°Ê²¼¤ÎÎã¤ò»²¾È)¡£¼¡¤ÎÎã¤Î¤è¤¦¤Ë¡¢ \f2@todo\fP ¥¿¥°¤ò´Þ¤à¥½¡¼¥¹¥³¡¼¥É¤Ç¤Ï¡¢¤¤¤º¤ì¤«¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - @todo The documentation for this method needs work. -.fl -\fP -.fi -\f3¥¿¥°Ì¾¤Ë¥³¥í¥ó¤ò»ÈÍѤ¹¤ë\fP \- ¥³¥í¥ó (:) ¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ë¤È¡¢¥³¥í¥ó¤ò¥¿¥°Ì¾¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÃæ¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - /** -.fl - * @ejb:bean -.fl - */ -.fl -\fP -.fi -¤Ç¤³¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ -.nf -\f3 -.fl - \-tag ejb\\\\:bean:a:"EJB Bean:" -.fl -\fP -.fi -\f3¥¿¥°Ì¾¤Î¥¹¥Ú¥ë¥Á¥§¥Ã¥¯ (¥¿¥°¤Î̵¸ú²½)\fP \- ¥½¡¼¥¹¥³¡¼¥ÉÆâ¤ËÇÛÃÖ¤·¤¿°ìÉô¤Î¥«¥¹¥¿¥à¥¿¥°¤Î½ÐÎϤòÍÞÀ©¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¤â¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Ë¤¹¤Ù¤Æ¤Î¥¿¥°¤òÇÛÃÖ¤·¡¢½ÐÎϤòÍÞÀ©¤·¤Ê¤¤¥¿¥°¤òÍ­¸ú¤Ë¤·¡¢½ÐÎϤòÍÞÀ©¤¹¤ë¥¿¥°¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ \f2X\fP ¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¿¥°¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¥¿¥°¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¸¡½Ð¤·¤¿¥¿¥°¤¬ÆþÎϥߥ¹¤Ê¤É¤Ë¤è¤ë̤ÃΤΥ¿¥°¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÆÃÄê¤Ç¤­¤Þ¤¹¡£Ì¤ÃΤΥ¿¥°¤ò¸¡½Ð¤·¤¿¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï·Ù¹ð¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -¤¹¤Ç¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ëÃÍ¤Ë \f2X\fP ¤òÄɲäǤ­¤Þ¤¹¡£¤³¤¦¤·¤Æ¤ª¤±¤Ð¡¢ \f2X ¤òºï½ü¤¹¤ë¤À¤±¤Ç¥¿¥°¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹\fP¡£¤¿¤È¤¨¤Ð¡¢@todo ¥¿¥°¤Î½ÐÎϤòÍÞÀ©¤·¤¿¤¤¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - \-tag todo:Xcmf:"To Do:" -.fl -\fP -.fi -¤µ¤é¤Ëñ½ã¤Ê»ØÄêÊýË¡¤â¤¢¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - \-tag todo:X -.fl -\fP -.fi -.LP -¹½Ê¸ \f2\-tag todo:X\fP ¤Ï¡¢ \f2@todo\fP ¤¬¥¿¥°¥ì¥Ã¥È¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¤âÍ­¸ú¤Ç¤¹¡£ -.LP -\f3¥¿¥°¤Î½ç½ø\fP \- \f2\-tag\fP (¤ª¤è¤Ó \f2\-taglet\fP) ¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤Ë¤è¤Ã¤Æ¡¢¥¿¥°¤Î½ÐÎϽ礬·è¤Þ¤ê¤Þ¤¹¡£¥«¥¹¥¿¥à¥¿¥°¤Èɸ½à¥¿¥°¤òÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£É¸½à¥¿¥°¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤Ï¡¢½ç½ø¤ò·èÄꤹ¤ë¤¿¤á¤À¤±¤Î¥×¥ì¡¼¥¹¥Û¥ë¥À¤Ç¤¹¡£¤³¤ì¤é¤Ïɸ½à¥¿¥°Ì¾¤Î¤ß¤ò»ÈÍѤ·¤Þ¤¹¡£(ɸ½à¥¿¥°¤Î¾®¸«½Ð¤·¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¡£)¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê²¼¤ÎÎã¤ÇÀâÌÀ¤·¤Þ¤¹¡£ -.LP -\f2\-tag\fP ¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ \f2\-taglet\fP ¤Î°ÌÃ֤ˤè¤Ã¤Æ¤½¤Î½ç½ø¤¬·è¤Þ¤ê¤Þ¤¹¡£¥¿¥°¤¬Î¾Êý¤È¤â¸ºß¤¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤ÎºÇ¸å¤Ë¤¢¤ë¤Û¤¦¤¬¤½¤Î½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¿¥°¤ä¥¿¥°¥ì¥Ã¥È¤¬¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿½çÈ֤˽èÍý¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2\-taglet\fP ¤È \f2\-tag\fP ¤ÎξÊý¤¬ todo ¤È¤¤¤¦Ì¾Á°¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤ÎºÇ¸å¤Ë¤¢¤ë¤Û¤¦¤¬½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£ -.LP -\f3¥¿¥°¤Î´°Á´¥»¥Ã¥È¤ÎÎã\fP \- ¤³¤ÎÎã¤Ç¤Ï¡¢½ÐÎϤΡÖParameters¡×¤È¡ÖThrows¡×¤Î´Ö¤Ë¡ÖTo Do¡×¤òÁÞÆþ¤·¤Þ¤¹¡£X ¤ò»ÈÍѤ·¤Æ¡¢@example ¤¬¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Îº£²ó¤Î¼Â¹Ô¤Ç¤Ï½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ç¤¢¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£@argfile ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¡¢°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤ÎÊÌ¡¹¤Î¹Ô¤Ë¥¿¥°¤òÇÛÃ֤Ǥ­¤Þ¤¹¡£¹Ô¤Î·Ñ³¤ò¼¨¤¹Ê¸»ú¤ÏÉÔÍפǤ¹¡£ -.nf -\f3 -.fl - \-tag param -.fl - \-tag return -.fl - \-tag todo:a:"To Do:" -.fl - \-tag throws -.fl - \-tag see -.fl - \-tag example:X -.fl -\fP -.fi -.LP -javadoc ¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò²òÀϤ¹¤ëºÝ¤Ë¸¡º÷¤µ¤ì¤¿¥¿¥°¤Î¤¦¤Á¡¢É¸½à¥¿¥°¤Ç¤â¡¢ \f2\-tag\fP ¤ä \f2\-taglet\fP ¤ÇÅϤµ¤ì¤¿¥¿¥°¤Ç¤â¤Ê¤¤¤â¤Î¤Ï¤¹¤Ù¤ÆÌ¤ÃΤΥ¿¥°¤È¤ß¤Ê¤µ¤ì¡¢·Ù¹ð¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ -.LP -ɸ½à¥¿¥°¤Ï¡¢ºÇ½é¡¢¥Ç¥Õ¥©¥ë¥È¤Î½ç½ø¤Ç¥ê¥¹¥ÈÆâ¤ËÆâÉôŪ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Î¥ê¥¹¥È¤ËÄɲ䵤ì¤ë¥¿¥°¡¢¤¹¤Ê¤ï¤Áɸ½à¥¿¥°¤Î°ÌÃÖ¤¬¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤«¤é°Üư¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢É¸½à¥¿¥°¤Ë \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Ê¤±¤ì¤Ð¡¢¤³¤ì¤é¤Ï¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤ËÇÛÃÖ¤µ¤ì¤¿¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3¶¥¹ç¤Î²óÈò\fP \- ¸ÇÍ­¤Î̾Á°¶õ´Ö¤òºÙ¤«¤¯Ê¬¤±¤ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë \f2com.mycompany.todo ¤È¤¤¤¦Ì¾Á°¤Î¤è¤¦¤Ë¡¢¥É¥Ã¥È (.) ¤ò¶èÀڤ국¹æ¤È¤¹¤ë̾Á°¤ò»È¤¤¤Þ¤¹\fP¡£Oracle ¤Ï¡¢º£¸å¤â̾Á°¤Ë¥É¥Ã¥È¤ò´Þ¤Þ¤Ê¤¤É¸½à¥¿¥°¤òºîÀ®¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¥¿¥°¤Ï¡¢Oracle ¤¬Ä󶡤¹¤ëƱ¤¸Ì¾Á°¤Î¥¿¥°¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ \f2@todo\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¿¥°¤Þ¤¿¤Ï¥¿¥°¥ì¥Ã¥È¤ò¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¾ì¹ç¡¢Oracle ¤¬¤½¤Î¸åƱ¤¸Ì¾Á°¤Îɸ½à¥¿¥°¤òºîÀ®¤·¤¿¤È¤·¤Æ¤â¡¢¤½¤Îưºî¤Ï¾ï¤Ë¥æ¡¼¥¶¡¼¤¬ÄêµÁ¤·¤¿Æ°ºî¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3Ãí¼á vs. Javadoc ¥¿¥°\fP \- °ìÈ̤ˡ¢Äɲ乤ëɬÍפΤ¢¤ë¥Þ¡¼¥¯¥¢¥Ã¥×¤¬¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë±Æ¶Á¤òÍ¿¤¨¤¿¤ê¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤òÀ¸À®¤·¤¿¤ê¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¾ì¹ç¡¢¤½¤Î¥Þ¡¼¥¯¥¢¥Ã¥×¤Ï javadoc ¥¿¥°¤Ë¤¹¤Ù¤­¤Ç¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏÃí¼á¤Ë¤¹¤Ù¤­¤Ç¤¹¡£ -.na -\f2¡ÖComparing Annotations and Javadoc Tags¡×\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#annotations¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\-taglet ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¤è¤êÊ£»¨¤Ê¥Ö¥í¥Ã¥¯¥¿¥°¤ä¥«¥¹¥¿¥à¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò ºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.TP 3 -\-taglet\ \ class -¤½¤Î¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»È¤¦¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¤Î´°Á´»ØÄê̾¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥¿¥à¥¿¥°¤Î¥Æ¥­¥¹¥È°ú¿ô¤Î¿ô¤âÄêµÁ¤·¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤Ï¡¢¤³¤ì¤é¤Î°ú¿ô¤ò¼õ¤±ÉÕ¤±¡¢½èÍý¤·¡¢½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£³°Éô¥É¥­¥å¥á¥ó¥È¤È¥µ¥ó¥×¥ë¥¿¥°¥ì¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 2 -o -.na -\f2¡Ö¥¿¥°¥ì¥Ã¥È¤Î³µÍס×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html +³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯.PP +http://docs\&.oracle\&.com/javase/8/docs/api/index\&.html¤Ë¼¨¤¹¤è¤¦¤Ê¡¢\fIjava\&.lang\fR¡¢ +\fIjava\&.io\fR¤ª¤è¤Ó¤½¤Î¾¤ÎJava SE¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¤¿¤À¤·¡¢¥·¥§¥ë¤Ë¤ÏWeb¥¢¥¯¥»¥¹¸¢¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢¼¡¤ò¹Ô¤¤¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +¥Ö¥é¥¦¥¶¤Çpackage\-list¥Õ¥¡¥¤¥ë¤ò³«¤­¤Þ¤¹(http://docs\&.oracle\&.com/javase/8/docs/api/package\-list) .RE -.LP -¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥Ö¥í¥Ã¥¯¥¿¥°¤Þ¤¿¤Ï¥¤¥ó¥é¥¤¥ó¥¿¥°¤ÇÊØÍø¤Ç¤¹¡£¥¿¥°¥ì¥Ã¥È¤ÏǤ°Õ¤Î¿ô¤Î°ú¿ô¤ò¤È¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¥Æ¥­¥¹¥È¤òÂÀ»ú¤Ë¤¹¤ë¡¢²Õ¾ò½ñ¤­¤òºîÀ®¤¹¤ë¡¢¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤¹¡¢¤½¤Î¾¤Î¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ê¤É¤Î¥«¥¹¥¿¥àưºî¤ò¼ÂÁõ¤Ç¤­¤Þ¤¹¡£ -.LP -¥¿¥°¥ì¥Ã¥È¤Ç»ØÄê¤Ç¤­¤ë¤Î¤Ï¡¢¥¿¥°¤ÎÇÛÃÖ¾ì½ê¤ÈÇÛÃÖ·Á¼°¤Î¤ß¤Ç¤¹¡£¤½¤Î¾¤Î¤¹¤Ù¤Æ¤Î·èÄê¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤â¡¢Êñ´Þ¥¯¥é¥¹¤Î¥ê¥¹¥È¤«¤é¥¯¥é¥¹Ì¾¤òºï½ü¤¹¤ë¤Ê¤É¤Î½èÍý¤Ï¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¿¥°¤Î¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤¿¤ê¡¢ÊÌ¤Î¥×¥í¥»¥¹¤ò¥È¥ê¥¬¡¼¤¹¤ë¤Ê¤É¤ÎÉûºîÍÑ¤ÏÆÀ¤é¤ì¤Þ¤¹¡£ -.LP -¥¿¥°¥ì¥Ã¥È¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\f2\-tagletpath\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£°Ê²¼¤Ï¡¢À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤Î¡ÖParameter¡×¤È¡ÖThrows¡×¤Î´Ö¤Ë¡ÖTo Do¡×¥¿¥°¥ì¥Ã¥È¤òÁÞÆþ¤¹¤ëÎã¤Ç¤¹¡£ -.nf -\f3 -.fl - \-taglet com.sun.tools.doclets.ToDoTaglet -.fl - \-tagletpath /home/taglets -.fl - \-tag return -.fl - \-tag param -.fl - \-tag todo -.fl - \-tag throws -.fl - \-tag see -.fl -\fP -.fi -.LP -¤Þ¤¿¡¢ \f2\-taglet\fP ¥ª¥×¥·¥ç¥ó¤ò \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤¦¤¹¤ë¤È²ÄÆÉÀ­¤¬Äã²¼¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.TP 3 -\-tagletpath\ \ tagletpathlist -taglet ¥¯¥é¥¹¥Õ¥¡¥¤¥ë (.class) ¤Î¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£\f2tagletpathlist\fP ¤Ë¤Ï¡¢¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-docfilessubdirs\ -¡Ö\f2doc\-files\fP¡×¥Ç¥£¥ì¥¯¥È¥ê¤Î¿¼¤¤¥³¥Ô¡¼¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥³¥Ô¡¼Àè¤Ë¤Ï¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤È¤¹¤Ù¤Æ¤Î¥³¥ó¥Æ¥ó¥Ä¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2doc\-files/example/images\fP ¤È¤½¤Î¤¹¤Ù¤Æ¤ÎÆâÍÆ¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤³¤³¤Ç¤â¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°¤¹¤ë»ØÄ꤬²Äǽ¤Ç¤¹¡£ -.LP -.TP 3 -\-excludedocfilessubdir\ \ name1:name2... -¡Ö\f2doc\-files\fP¡×¤Î¡¢»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¹¤Ù¤Æ½ü³°¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢SCCS ¤È¤½¤Î¾¤Î¥½¡¼¥¹¥³¡¼¥ÉÀ©¸æ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î¥³¥Ô¡¼¤òËɤ®¤Þ¤¹¡£ -.LP -.TP 3 -\-noqualifier\ \ all\ | \ packagename1:packagename2:... -½ÐÎϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤ÎÀèÆ¬¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾ (¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò) ¤ò¾Êά¤·¤Þ¤¹¡£ \f2\-noqualifier\fP ¤Î°ú¿ô¤Ï¡¢¡Ö\f2all\fP¡×(¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤¬¾Êά¤µ¤ì¤ë)¡¢½¤¾þ»Ò¤È¤·¤Æºï½ü¤¹¤Ù¤­¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥í¥ó¶èÀÚ¤ê¥ê¥¹¥È (¥ï¥¤¥ë¥É¥«¡¼¥É¤â²Ä)¡¢¤Î¤¤¤º¤ì¤«¤È¤Ê¤ê¤Þ¤¹¡£¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤¬É½¼¨¤µ¤ì¤ë°ÌÃÖ¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£ -.LP -¼¡¤ÎÎã¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-noqualifier all -.fl -\fP -.fi -¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò java.lang ¤ª¤è¤Ó java.io ¤ò¾Êά¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-noqualifier java.lang:java.io -.fl -\fP -.fi -¼¡¤ÎÎã¤Ç¤Ï¡¢java ¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤È com.sun ¤È¤¤¤¦¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ (javax ¤Ç¤Ï¤Ê¤¤) ¤ò¾Êά¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-noqualifier java.*:com.sun.* -.fl -\fP -.fi -¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤¬¾åµ­¤Îưºî¤Ë½¾¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë¾ì¹ç¡¢Ì¾Á°¤ÏŬÀÚ¤Ëû¤¯¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡Ö̾Á°¤Îɽ¼¨ÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Îµ¬Â§¤Ï¡¢ \f2\-noqualifier\fP ¤ò»ÈÍѤ¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤ºÍ­¸ú¤Ç¤¹¡£ -.LP -.TP 3 -\-notimestamp\ -¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬ÍÞÀ©¤µ¤ì¤Þ¤¹¡£³Æ¥Ú¡¼¥¸ÀèÆ¬¶á¤¯¤Ë¤¢¤ë¡¢À¸À®¤µ¤ì¤¿ HTML Æâ¤Î HTML ¥³¥á¥ó¥È¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬±£¤µ¤ì¤Þ¤¹¡£Javadoc ¤ò 2 ¤Ä¤Î¥½¡¼¥¹¥Ù¡¼¥¹¤Ç¼Â¹Ô¤·¡¢¤½¤ì¤é¤ËÂФ·¤Æ diff ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤è¤Ã¤Æ diff ¤¬È¯À¸¤·¤Ê¤¯¤Ê¤ë¤Î¤ÇÊØÍø¤Ç¤¹ (¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¤È¡¢³Æ¥Ú¡¼¥¸¤Ç diff ¤Ë¤Ê¤ê¤Þ¤¹)¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤Ï Javadoc ¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - <!\-\- Generated by javadoc (build 1.5.0_01) on Thu Apr 02 14:04:52 IST 2009 \-\-> -.fl -\fP -.fi -.LP -.TP 3 -\-nocomment\ -¼çÀâÌÀ¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥¿¥°¤ò´Þ¤à¥³¥á¥ó¥ÈËÜʸÁ´ÂΤòÍÞÀ©¤·¡¢Àë¸À¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢¸µ¤Ï°Û¤Ê¤ëÌÜŪ¤Î¤¿¤á¤À¤Ã¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºÆÍøÍѤ·¡¢¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤ÎÁᤤÃʳ¬¤Ç¥¹¥±¥ë¥È¥ó HTML ¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ -.LP -.TP 3 -\-sourcetab tabLength -¥½¡¼¥¹Æâ¤Ç³Æ¥¿¥Ö¤¬³ÍÆÀ¤¹¤ë¶õÇò¤Î¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥«¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¡¢¤³¤Î¥í¡¼¥«¥ë¡¦¥³¥Ô¡¼¤òÂè2°ú¿ô\fIpackagelistLoc\fR¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ï¥«¥ì¥ó¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê(\&.)¤ËÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .RE -.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë" -.LP -javadoc ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢ \f2javadoc\fP ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô ( \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤¬Æþ¤Ã¤¿ 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤³¤È¤òÍøÍѤ¹¤ì¤Ð¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î javadoc ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢javac ¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹ç¤ï¤»¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ -.LP -°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2*.java\fP ¤È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ -.LP -javadoc ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£javadoc ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ -.SS -°ú¿ô¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä»ØÄꤹ¤ëÎã -.LP -¼¡¤Î¤è¤¦¤Ë¡¢¡Ö\f2argfile\fP¡×¤È¤¤¤¦Ì¾Á°¤Îñ°ì¤Î°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Ë¡¢Javadoc ¤Î¤¹¤Ù¤Æ¤Î°ú¿ô¤ò³ÊǼ¤·¤Þ¤¹¡£ +.PP +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Java SE¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò»ý¤Äc\fIom\&.mypackage\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹\fItrees\fRÆâ¤Î\fIObject\fR¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\fI\-sourcepath\fR¤Ê¤É¡¢Â¾¤ÎɬÍפʥª¥×¥·¥ç¥ó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc @argfile\fP -.fl +javadoc \-linkoffline http://docs\&.oracle\&.com/javase/8/docs/api/ \&. com\&.mypackage .fi -.LP -¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òξÊý¤È¤âÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.SS -°ú¿ô¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä»ØÄꤹ¤ëÎã -.LP -2 ¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£1 ¤Ä¤Ï Javadoc ¥ª¥×¥·¥ç¥óÍÑ¡¢¤â¤¦ 1 ¤Ä¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ÍѤǤ¹¡£¤Ê¤ª¡¢¼¡¤Î¥ê¥¹¥È¤Ç¤Ï¹Ô·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -¼¡¤ÎÆâÍÆ¤ò´Þ¤à¡¢¡Ö\f2options\fP¡×¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯.PP +\fI\-linkoffline\fR¤òÁêÂХѥ¹¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤³¤È¤Ï¤¢¤Þ¤ê¤¢¤ê¤Þ¤»¤ó¡£Íýͳ¤Ïñ½ã¤Ç¡¢Ä̾ï¤Ï\fI\-link\fR¤Ç´Ö¤Ë¹ç¤¦¤«¤é¤Ç¤¹¡£\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢Ä̾package\-list¥Õ¥¡¥¤¥ë¤Ï¥í¡¼¥«¥ë¤Ç¡¢ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤â¥í¡¼¥«¥ë¤Ê¤Î¤Ç¡¢Ä̾ï¤Ï\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤Î2¤Ä¤Î°ú¿ô¤Ë¡¢°Û¤Ê¤ë¥Ñ¥¹¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£2¤Ä¤Î°ú¿ô¤¬Æ±°ì¤Î¾ì¹ç¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +package\-list¥Õ¥¡¥¤¥ë¤Î¼êư¤Ç¤ÎºîÀ®.PP +package\-list¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Ê¤¯¤Æ¤â¡¢¥É¥­¥å¥á¥ó¥È¤Î¥ê¥ó¥¯Àè¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤ò¼êư¤ÇºîÀ®¤·¡¢\fIpackagelistLoc\fR¤Ç¤½¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIcom\&.apipackage\fR¤¬ºÇ½é¤ËÀ¸À®¤µ¤ì¤¿»þÅÀ¤Ç\fIcom\&.spipackage\fR¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤¬Â¸ºß¤·¤Ê¤¤¤È¤¤¤¦Á°½Ð¤Î¥±¡¼¥¹¤¬°ìÎã¤È¤·¤Æµó¤²¤é¤ì¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¤ï¤«¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¡¢¤Þ¤À¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¿·¤·¤¤³°Éô¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤Þ¤¿¡¢package\-list¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¤Javadoc 1\&.0¤Þ¤¿¤Ï1\&.1¤ÇÀ¸À®¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸ÍѤËpackage\-list¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤â¡¢¤³¤ÎÊýË¡¤¬»ÈÍѤǤ­¤Þ¤¹¡£Æ±Íͤˡ¢2¤Ä¤Î´ë¶È¤¬Ì¤¸ø³«¤Îpackage\-list¥Õ¥¡¥¤¥ë¤ò¶¦Í­¤Ç¤­¤ë¤¿¤á¡¢¥¯¥í¥¹¥ê¥ó¥¯¤òÀßÄꤷ¤¿¥É¥­¥å¥á¥ó¥È¤òƱ»þ¤Ë¥ê¥ê¡¼¥¹¤¹¤ë¤³¤È¤â²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ +Ê£¿ô¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯.PP +»²¾ÈÀè¤ÎÀ¸À®¥É¥­¥å¥á¥ó¥È¤´¤È¤Ë1²ó¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \-d docs\-filelist -.fl - \-use -.fl - \-splitindex -.fl - \-windowtitle 'Java SE 7 API Specification' -.fl - \-doctitle 'Java SE 7 API Specification' -.fl - \-header '<b>Java(TM) SE 7</b>' -.fl - \-bottom 'Copyright © 1993\-2011 Oracle and/or its affiliates. All rights reserved.' -.fl - \-group "Core Packages" "java.*" -.fl - \-overview /java/pubs/ws/1.7.0/src/share/classes/overview\-core.html -.fl - \-sourcepath /java/pubs/ws/1.7.0/src/share/classes -.fl -\fP +javadoc \-linkoffline extdocURL1 packagelistLoc1 \-linkoffline extdocURL2 +packagelistLoc2 \&.\&.\&. .fi -.LP -¼¡¤ÎÆâÍÆ¤ò´Þ¤à¡¢¡Ö\f2packages\fP¡×¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥É¥­¥å¥á¥ó¥È¤Î¹¹¿·.PP +¥×¥í¥¸¥§¥¯¥È¤Ë²¿½½¤Þ¤¿¤Ï²¿É´¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤â¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Ä¥ê¡¼Á´ÂΤǤ¹¤Ç¤Ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤³¤È¤¬¤¢¤ë¾ì¹ç¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤ï¤º¤«¤ÊÊѹ¹¤ò¿×®¤Ë²Ã¤¨¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î°ìÉô¤Ç\fIjavadoc\fR¥³¥Þ¥ó¥É¤òºÆ¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£2²óÌܤμ¹Ԥϡ¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òÊѹ¹¤·¡¢Àë¸À¤ÏÊѹ¹¤·¤Ê¤¤¾ì¹ç¤Ë¤Î¤ßÀµ¤·¤¯½èÍý¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥½¡¼¥¹¡¦¥³¡¼¥É¤ËÂФ·¤ÆÀë¸À¤òÄɲᢺï½ü¡¢¤Þ¤¿¤ÏÊѹ¹¤·¤¿¾ì¹ç¤Ï¡¢º÷°ú¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ä¥ê¡¼¡¢·Ñ¾µ¤µ¤ì¤ë¥á¥ó¥Ð¡¼¤Î¥ê¥¹¥È¡¢»ÈÍÑ¥Ú¡¼¥¸¤Ê¤É¤Î¾ì½ê¤Ç¡¢¥ê¥ó¥¯¤¬²õ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¤Þ¤º¡¢¤³¤Î¿·¤·¤¤¾®µ¬ÌϤʼ¹ԤǻÈÍѤ¹¤ë¡¢¿·¤·¤¤À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê(update¤Ê¤É)¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¸µ¤ÎÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤Ïhtml¤Ç¤¹¡£ºÇ¤âñ½ã¤ÊÎã¤Ç¤Ï¡¢html¥Ç¥£¥ì¥¯¥È¥ê¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¤Þ¤¹¡£\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ÎÂè1°ú¿ô¤Ë¥«¥ì¥ó¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê(\&.)¤òÀßÄꤷ¡¢Âè2°ú¿ô¤Ëpackage\-list¤¬¸¡º÷¤µ¤ì¤ëhtml¤Ø¤ÎÁêÂХѥ¹¤òÀßÄꤷ¡¢¹¹¿·¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¤ß¤òÅϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - com.mypackage1 -.fl - com.mypackage2 -.fl - com.mypackage3 -.fl -\fP +javadoc \-d update \-linkoffline \&. html com\&.mypackage .fi -.LP -¤½¤Î¤¢¤È¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î½ªÎ»¸å¡¢update/com/packageÆâ¤ÎÀ¸À®¤µ¤ì¤¿¥¯¥é¥¹¤Î¥Ú¡¼¥¸¤ò¥³¥Ô¡¼¤·(³µÍפäº÷°ú¤Ï½ü¤¯)¡¢html/com/packageÆâ¤Î¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¾å½ñ¤­¤·¤Þ¤¹¡£ +.PP +\-linksource +.RS 4 +³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë(¹ÔÈÖ¹æÉÕ¤­)¤ÎHTML¥Ð¡¼¥¸¥ç¥ó¤òºîÀ®¤·¡¢É¸½àHTML¥É¥­¥å¥á¥ó¥È¤«¤é¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¤¿¤È¤¨¤Ð¥Ç¥Õ¥©¥ë¥È¡¦¥³¥ó¥¹¥È¥é¥¯¥¿¤äÀ¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ËÂФ·¤Æ¤Ï¡¢¥ê¥ó¥¯¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-public\fR¡¢\fI\-package\fR¡¢\fI\-protected\fR¤ª¤è¤Ó\fI\-private\fR¤Î³Æ¥ª¥×¥·¥ç¥ó¤È¤Ï´Ø·¸¤Ê¤¯¡¢Èó¸ø³«¤Î¥¯¥é¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢Èó¸ø³«¤Î¥á¥½¥Ã¥É¤ÎËÜÂΤò¤Ï¤¸¤á¤È¤¹¤ëÁȤ߹þ¤Þ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤ÎÈó¸ø³«¼ÂÁõ¤Î¾ÜºÙ¤ò¸ø³«¤·¤Þ¤¹¡£\fI\-private\fR¥ª¥×¥·¥ç¥ó¤â¤¢¤ï¤»¤Æ»ØÄꤷ¤Ê¤¤¤«¤®¤ê¡¢Èó¸ø³«¤Î¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î°ìÉô¤Ë¤Ï¡¢¥ê¥ó¥¯¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +³Æ¥ê¥ó¥¯¤Ï¡¢¤½¤ÎÀë¸ÀÆâ¤Î¼±ÊÌ»Ò̾¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIButton\fR¥¯¥é¥¹¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢\fIButton\fR¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc @options @packages\fP -.fl +public class Button extends Component implements Accessible .fi -.SS -¥Ñ¥¹ÉÕ¤­¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÎã -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢²¼¤ÎÎã¤Î¾ì¹ç¤Ï¡¢ \f2path1\fP ¤ä \f2path2\fP ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.if n \{\ +.RE +.\} +\fIButton\fR¥¯¥é¥¹¤Î\fIgetLabel\fR¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢\fIgetLabel\fR¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc @path1/options @path2/packages\fP -.fl +public String getLabel() .fi -.SS -¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ÎÎã -.LP -¼¡¤Ë¡¢Javadoc ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤À¤±¤ò°ú¿ô¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç¤Ï \f2\-bottom\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¤È¤¤¤¦¤Î¤â¡¢°ú¿ô¤¬Ä¹¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£¼¡¤Î¤è¤¦¤Ê¥Æ¥­¥¹¥È°ú¿ô¤ò´Þ¤à¡¢¡Ö\f2bottom\fP¡×¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-group groupheading \fIpackagepattern:packagepattern\fR +.RS 4 +³µÍ×¥Ú¡¼¥¸¤ÎÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Ëʬ¤±¤Æ¡¢¥°¥ë¡¼¥×¤´¤È¤Ëɽ¤òºîÀ®¤·¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×¤Ï¡¢¤½¤ì¤¾¤ìÊ̤Î\fI\-group\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£¥°¥ë¡¼¥×¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿½ç½ø¤Ç¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¥°¥ë¡¼¥×Æâ¤Ç¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£»ØÄꤷ¤¿\fI\-group\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢\fIpackagepattern\fR¼°¤Î¥ê¥¹¥È¤Ë°ìÃפ¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢¸«½Ð¤·¤È¤·¤Æ\fIgroupheading\fR¤ò»ý¤Ä1¤Ä¤Îɽ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIgroupheading\fR¤Ë¤Ï¡¢Ç¤°Õ¤Î¥Æ¥­¥¹¥È¤ò»ØÄê¤Ç¤­¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤Ï¡¢¥°¥ë¡¼¥×¤Îɽ¸«½Ð¤·¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackagepattern\fR¤ÎÃͤˤϡ¢Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÀèÆ¬Éôʬ¤È¤½¤ì¤Ë³¤¯1¤Ä¤Î¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ÇǤ°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï»ÈÍѤǤ­¤ëÍ£°ì¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ç¡¢Ç¤°Õ¤Îʸ»ú¤Ë°ìÃפ¹¤ë¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£1¤Ä¤Î¥°¥ë¡¼¥×¤Ë¤Ï¡¢¥³¥í¥ó(:)¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¿¡¼¥ó¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ñ¥¿¡¼¥ó¤Þ¤¿¤Ï¥Ñ¥¿¡¼¥ó¡¦¥ê¥¹¥È¤Ç¥¢¥¹¥¿¥ê¥¹¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥Ñ¥¿¡¼¥ó¡¦¥ê¥¹¥È¤Ï\fI"java\&.lang*:java\&.util"\fR¤Î¤è¤¦¤Ë°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.sp +\fI\-group\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¸«½Ð¤·\fIPackages\fR¤ª¤è¤ÓŬÀڤʾ®¸«½Ð¤·¤ò»ý¤Ä1¤Ä¤Î¥°¥ë¡¼¥×¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£¾®¸«½Ð¤·¤Ë¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸(¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×)¤¬´Þ¤Þ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢»Ä¤ê¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡Ö¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡×¤È¤¤¤¦¥µ¥Ö¸«½Ð¤·¤ò»ý¤ÄÆÈΩ¤·¤¿¥°¥ë¡¼¥×¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤Î\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢3¤Ä¤Î¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤¬\fI¡Ö¥³¥¢¡×\fR¡¢\fI¡Ö³ÈÄ¥¡×\fR¤ª¤è¤Ó\fI¡Ö¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡×\fR¤Ëʬ¤±¤é¤ì¤Þ¤¹¡£\fIjava\&.lang*\fR¤Ç¤Ï¡¢ºÇ¸å¤Î¥É¥Ã¥È(\&.)¤ò»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¡£\fIjava\&.lang\&.*\fR¤Î¤è¤¦¤Ë¥É¥Ã¥È¤òÆþ¤ì¤ë¤È¡¢\fI java\&.lang\fR¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-group "Core Packages" "java\&.lang*:java\&.util" + \-group "Extension Packages" "javax\&.*" + java\&.lang java\&.lang\&.reflect java\&.util javax\&.servlet java\&.new +.fi +.if n \{\ +.RE +.\} +\fB¥³¥¢¡¦¥Ñ¥Ã¥±¡¼¥¸\fR +.sp +\fIjava\&.lang\fR +.sp +\fIjava\&.lang\&.reflect\fR +.sp +\fIjava\&.util\fR +.sp +\fB³ÈÄ¥µ¡Ç½¥Ñ¥Ã¥±¡¼¥¸\fR +.sp +\fIjavax\&.servlet\fR +.sp +\fBOther Packages\fR +.sp +\fIjava\&.new\fR +.RE +.PP +\-nodeprecated +.RS 4 +Èó¿ä¾©¤ÎAPI¤ò¥É¥­¥å¥á¥ó¥È¤ËÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\fI\-nodeprecatedlist\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¸ú²Ì¤¬¤¢¤ê¡¢¥É¥­¥å¥á¥ó¥È¤Î¾¤ÎÉôʬÁ´ÂΤǤ⡢Èó¿ä¾©¤ÎAPI¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¡¼¥É¤òµ­½Ò¤·¤Æ¤¤¤ë¤È¤­¡¢Èó¿ä¾©¤Î¥³¡¼¥É¤Ë¤è¤Ã¤Æµ¤¤ò»¶¤é¤µ¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.RE +.PP +\-nodeprecatedlist +.RS 4 +Èó¿ä¾©¤ÎAPI¤Î¥ê¥¹¥È¤ò´Þ¤à¥Õ¥¡¥¤¥ë(deprecated\-list\&.html)¡¢¤ª¤è¤Ó¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¤½¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤¬À¸À®¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢°ú¤­Â³¤­¡¢¥É¥­¥å¥á¥ó¥È¤Î¾¤ÎÉôʬ¤Ç¤Ï¡¢Èó¿ä¾©¤ÎAPI¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Èó¿ä¾©¤ÎAPI¤¬¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë´Þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤ò¤¹¤Ã¤­¤ê¤È¸«¤»¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.RE +.PP +\-nosince +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢\fI@since\fR¥¿¥°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿\fI¡ÖƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¡×\fR¥»¥¯¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£ +.RE +.PP +\-notree +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î³¬ÁØ¥Ú¡¼¥¸¤ò¾Êά¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¡Ö³¬Áإĥ꡼¡×¥Ü¥¿¥ó¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³¬Áؤ¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-noindex +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢º÷°ú¤ò¾Êά¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢º÷°ú¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-nohelp +.RS 4 +½ÐÎϤγƥڡ¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ë¤¢¤ë¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤«¤é¡Ö¥Ø¥ë¥×¡×¥ê¥ó¥¯¤ò¾Êά¤·¤Þ¤¹¡£ +.RE +.PP +\-nonavbar +.RS 4 +Ä̾À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ëɽ¼¨¤µ¤ì¤ë¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¡¢¥Ø¥Ã¥À¡¼¡¢¤ª¤è¤Ó¥Õ¥Ã¥¿¡¼¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£\fI\-nonavbar\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤Ë±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£\fI\-nonavbar\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢°õºþ¤¹¤ë¤¿¤á¤Ë¤Î¤ß¥Õ¥¡¥¤¥ë¤òPostScript¤äPDF¤ËÊÑ´¹¤¹¤ë¾ì¹ç¤Ê¤É¡¢ÆâÍÆ¤Î¤ß¤¬½ÅÍפǡ¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¤ÎɬÍפ¬¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.RE +.PP +\-helpfile \fIpath\efilename\fR +.RS 4 +ºÇ¾åÉô¤ª¤è¤ÓºÇ²¼Éô¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¡Ö¥Ø¥ë¥×¡×¥ê¥ó¥¯¤Î¥ê¥ó¥¯Àè¤È¤Ê¤ëÂåÂØ¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ëpath\efilename¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥ÉÆâ¤Ç¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ëhelp\-doc\&.html¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¤É¤ó¤Ê̾Á°¤Ç¤â»ØÄê¤Ç¤­¡¢help\-doc\&.html¤Ë¸ÂÄꤵ¤ì¤Þ¤»¤ó¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤ÎÎã¤Î¤è¤¦¤Ë¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼Æâ¤Î¥ê¥ó¥¯¤òɬÍפ˱þ¤¸¤ÆÄ´À°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-helpfile /home/user/myhelp\&.html java\&.awt\&. +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-stylesheet \fIpath/filename \fR +.RS 4 +ÂåÂØHTML¥¹¥¿¥¤¥ë¥·¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥ÉÆâ¤Ç¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¹¥¿¥¤¥ë¥·¡¼¥È¡¦¥Õ¥¡¥¤¥ëstylesheet\&.css¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¤É¤ó¤Ê̾Á°¤Ç¤â»ØÄê¤Ç¤­¡¢stylesheet\&.css¤Ë¸ÂÄꤵ¤ì¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-stylesheet file /home/user/mystylesheet\&.css com\&.mypackage +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-serialwarn +.RS 4 +\fI@serial\fR¥¿¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Javadoc 1\&.2\&.2°Ê¹ß¤Ç¤Ï¡¢Ä¾Î󲽤ηٹð¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤È¤ÏµÕ¤Îưºî¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Ä¾Î󲽤ηٹð¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤È\fIwriteExternal\fR¥á¥½¥Ã¥É¤òŬÀڤ˥ɥ­¥å¥á¥ó¥È²½¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£ +.RE +.PP +\-charset \fIname\fR +.RS 4 +¤³¤Î¥É¥­¥å¥á¥ó¥ÈÍѤÎHTMLʸ»ú¥»¥Ã¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢IANA Registry¤ÎCharacter Sets +(http://www\&.iana\&.org/assignments/character\-sets)¤Ë¼¨¤µ¤ì¤¿¡¢Í¥ÀèMIME̾¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIjavadoc \-charset "iso\-8859\-1" mypackage\fR¤Ï¼¡¤Î¹Ô¤òÀ¸À®¤µ¤ì¤¿³Æ¥Ú¡¼¥¸¤Î¥Ø¥Ã¥À¡¼¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +<META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1"> +.fi +.if n \{\ +.RE +.\} +¤³¤Î\fIMETA\fR¥¿¥°¤Ï¡¢HTMLɸ½à(4197265¤ª¤è¤Ó4137321)¤ÎHTML Document Representation +(http://www\&.w3\&.org/TR/REC\-html40/charset\&.html#h\-5\&.2\&.2)¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-docencoding \fIname\fR +.RS 4 +À¸À®¤µ¤ì¤ëHTML¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢IANA Registry¤ÎCharacter Sets +(http://www\&.iana\&.org/assignments/character\-sets)¤Ë¼¨¤µ¤ì¤¿¡¢Í¥ÀèMIME̾¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fI\-docencoding\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¡¢\fI\-encoding\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿HTML¥Õ¥¡¥¤¥ë¤Î°Å¹æ²½¤Ï\fI\-encoding\fR¥ª¥×¥·¥ç¥ó¤ÇÆÃÄꤵ¤ì¤Þ¤¹¡£Îã: +\fIjavadoc \-docencoding"iso\-8859\-1" mypackage\fR¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-keywords +.RS 4 +HTML¥­¡¼¥ï¡¼¥É<META>¥¿¥°¤ò¡¢¥¯¥é¥¹¤´¤È¤ËÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢<META>¥¿¥°¤ò¸¡º÷¤¹¤ë¥µ¡¼¥Á¡¦¥¨¥ó¥¸¥ó¤¬¥Ú¡¼¥¸¤ò¸«¤Ä¤±¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤò¸¡º÷¤¹¤ë¸¡º÷¥¨¥ó¥¸¥ó¤Î¤Û¤È¤ó¤É¤Ï<META>¥¿¥°¤ò»²¾È¤·¤Þ¤»¤ó¡£¥Ú¡¼¥¸¤¬¸íÍѤ·¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£¼«¿È¤ÎWeb¥µ¥¤¥È¤Ø¤Î¸¡º÷¤òÀ©¸Â¤¹¤ë¡¢´ë¶È¤Ë¤è¤êÄ󶡤µ¤ì¤ë¸¡º÷¥¨¥ó¥¸¥ó¤Ï¡¢<META>¥¿¥°¤ò»²¾È¤¹¤ë¤³¤È¤Ç²¸·Ã¤ò¼õ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£<META>¥¿¥°¤Ë¤Ï¡¢¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤È¡¢¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Î½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤Ì¾Á°¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢¥¯¥é¥¹Ì¾¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹\fIString\fR¤Ï¼¡¤Î¥­¡¼¥ï¡¼¥É¤Ç³«»Ï¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +<META NAME="keywords" CONTENT="java\&.lang\&.String class"> +<META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER"> +<META NAME="keywords" CONTENT="length()"> +<META NAME="keywords" CONTENT="charAt()"> +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-tag \fItagname\fR:Xaoptcmf:"\fItaghead\fR" +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Î°ú¿ô¤ò1¤Ä¼è¤ëñ½ã¤Ê¥«¥¹¥¿¥à¡¦¥Ö¥í¥Ã¥¯¡¦¥¿¥°\fI@tagname\fR¤ò²ò¼á¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥¿¥°Ì¾¤Î¥¹¥Ú¥ë¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤Ë¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¥«¥¹¥¿¥à¡¦¥¿¥°¤Ë¤Ä¤¤¤Æ¡¢\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤òÁȤ߹þ¤à¤³¤È¤¬½ÅÍפǤ¹¡£º£²ó¤Î¼Â¹Ô¤Ç¤Ï½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ï¡¢\fIX\fR¤òÉÕ¤±¤ÆÌµ¸ú¤Ë¤·¤Þ¤¹¡£\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¿¥°¤Î¸«½Ð¤·\fItaghead\fR¤òÂÀ»ú¤Ç½ÐÎϤ·¤Þ¤¹¡£¤½¤Î¼¡¤Î¹Ô¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î1¤Ä¤Î°ú¿ô¤Ç»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤¬Â³¤­¤Þ¤¹¡£¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤ÈƱÍÍ¡¢¤³¤Î°ú¿ô¤Î¥Æ¥­¥¹¥È¤Ë¤Ï¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤â²ò¼á¤µ¤ì¤Þ¤¹¡£½ÐÎϤϡ¢°ú¿ô¤ò1¤Ä¼è¤ëɸ½à¤Î¥¿¥°(\fI@return\fR¤ä\fI@author\fR¤Ê¤É)¤Î½ÐÎϤȤ褯»÷¤Æ¤¤¤Þ¤¹¡£\fItaghead\fR¤ÎÃͤò¾Êά¤¹¤ë¤È¡¢\fItagname\fR¤¬¸«½Ð¤·¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +\fB¥¿¥°¤ÎÇÛÃÖ\fR: +\fIXaoptcmf\fR°ú¿ô¤Ë¤è¤ê¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤Ç¥¿¥°¤òÇÛÃ֤Ǥ­¤ë¾ì½ê¤¬·è¤Þ¤ê¡¢¥¿¥°¤ò̵¸ú¤Ë¤Ç¤­¤ë¤«¤É¤¦¤«(\fIX\fR¤ò»ÈÍѤ·¤Æ)¤¬·è¤Þ¤ê¤Þ¤¹¡£¥¿¥°¤ÎÇÛÃÖ°ÌÃÖ¤òÀ©¸Â¤·¤Ê¤¤¾ì¹ç¤Ï\fIa\fR¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤ì°Ê³°¤Îʸ»ú¤ÎÁȹ礻¤â²Äǽ¤Ç¤¹¡£ +.sp +\fIX\fR +(¥¿¥°¤Î̵¸ú²½) +.sp +\fIa\fR +(¤¹¤Ù¤Æ) +.sp +\fIo\fR +(³µÍ×) +.sp +\fIp\fR +(¥Ñ¥Ã¥±¡¼¥¸) +.sp +\fIt\fR +(¥¿¥¤¥×¡¢¤Ä¤Þ¤ê¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹) +.sp +\fIc\fR +(¥³¥ó¥¹¥È¥é¥¯¥¿) +.sp +\fIm\fR +(¥á¥½¥Ã¥É) +.sp +\fIf\fR +(¥Õ¥£¡¼¥ë¥É) +.sp +\fB¥·¥ó¥°¥ë¡¦¥¿¥°¤ÎÎã\fR: ¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤ÎǤ°Õ¤Î°ÌÃ֤ǻÈÍѤǤ­¤ë¥¿¥°¤Î¥¿¥°¡¦¥ª¥×¥·¥ç¥ó¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fI\-tag todo:a:"To Do:"\fR +.sp +\fI@todo\fR¥¿¥°¤ò¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤È¤Î¤ß»ÈÍѤ¹¤ë¾ì¹ç¡¢\fI\-tag todo:cmf:"To Do:"\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +ºÇ¸å¤Î¥³¥í¥ó(:)¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¶èÀÚ¤êʸ»ú¤Ç¤Ï¤Ê¤¯¡¢¸«½Ð¤·¥Æ¥­¥¹¥È¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£\fI@todo\fR¥¿¥°¤ò´Þ¤à¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÍѤΤ¤¤º¤ì¤«¤Î¥¿¥°¡¦¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@todo The documentation for this method needs work\fR¤Ç¤¹¡£ +.sp +\fB¥¿¥°Ì¾Æâ¤Î¥³¥í¥ó\fR: ¥¿¥°Ì¾Æâ¤Ç¥³¥í¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ò»ÈÍѤ·¤Æ¥¨¥¹¥±¡¼¥×¤·¤Þ¤¹¡£¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤Ï¡¢\fI\-tag ejb\e\e:bean:a:"EJB Bean:"\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * @ejb:bean + */ +.fi +.if n \{\ +.RE +.\} +\fB¥¿¥°Ì¾¤Î¥¹¥Ú¥ë¥Á¥§¥Ã¥¯\fR: °ìÉô¤Î³«È¯¼Ô¤¬É¬¤º¤·¤â½ÐÎϤ·¤Ê¤¤¥«¥¹¥¿¥à¡¦¥¿¥°¤ò¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤ËÇÛÃÖ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤Î¤¹¤Ù¤Æ¤Î¥¿¥°¤ò¥ê¥¹¥È¤·¡¢½ÐÎϤ¹¤ë¥¿¥°¤òÍ­¸ú¤Ë¤·¡¢½ÐÎϤ·¤Ê¤¤¥¿¥°¤ò̵¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIX\fR¤ò»ØÄꤹ¤ë¤È¥¿¥°¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¤È¡¢¥¿¥°¤ÏÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¸¡½Ð¤·¤¿¥¿¥°¤¬ÆþÎϥߥ¹¤Ê¤É¤Ë¤è¤ëÉÔÌÀ¥¿¥°¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÆÃÄê¤Ç¤­¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤«¤é·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤¹¤Ç¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ëÃͤË\fIX\fR¤òÄɲäǤ­¤Þ¤¹¡£¤³¤¦¤·¤Æ¤ª¤±¤Ð¡¢\fIX\fR¤òºï½ü¤¹¤ë¤Î¤ß¤Ç¥¿¥°¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@todo\fR¥¿¥°¤ò½ÐÎϤÇÍÞÀ©¤¹¤ë¾ì¹ç¡¢\fI\-tag todo:Xcmf:"To Do:"\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤µ¤é¤Ë´Êñ¤Ë¤¹¤ë¾ì¹ç¡¢\fI\-tag todo:X\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¹½Ê¸\fI\-tag todo:X\fR¤Ï¡¢\fI@todo\fR¥¿¥°¤¬¥¿¥°¥ì¥Ã¥È¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¤âµ¡Ç½¤·¤Þ¤¹¡£ +.sp +\fB¥¿¥°¤Î½ç½ø\fR: +\fI\-ta\fR\fIg\fR¤ª¤è¤Ó\fI\-taglet\fR¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤Ë¤è¤Ã¤Æ¡¢¥¿¥°¤Î½ÐÎϽ礬·è¤Þ¤ê¤Þ¤¹¡£¥«¥¹¥¿¥à¡¦¥¿¥°¤Èɸ½à¥¿¥°¤òÁȤ߹礻¤Æ»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£É¸½à¥¿¥°¤Î¥¿¥°¡¦¥ª¥×¥·¥ç¥ó¤Ï¡¢½ç½ø¤ò·èÄꤹ¤ë¤¿¤á¤À¤±¤Î¥×¥ì¡¼¥¹¥Û¥ë¥À¤Ç¤¹¡£É¸½à¥¿¥°¤Î̾Á°¤Î¤ß¤ò¼è¤ê¤Þ¤¹¡£É¸½à¥¿¥°¤Î¾®¸«½Ð¤·¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¡£¤³¤ì¤ò¼¡¤ÎÎã¤Ë¼¨¤·¤Þ¤¹¡£\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢\fI\-tagle\fR\fIt\fR¥ª¥×¥·¥ç¥ó¤Î°ÌÃ֤ˤè¤ê¡¢½ç½ø¤¬·è¤Þ¤ê¤Þ¤¹¡£¥¿¥°¤¬Î¾Êý¤È¤â¸ºß¤¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎºÇ¸å¤Ë¤¢¤ëÊý¤¬¤½¤Î½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¿¥°¤ä¥¿¥°¥ì¥Ã¥È¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤵ¤ì¤¿½çÈ֤˽èÍý¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-taglet\fR¤ª¤è¤Ó\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤¬Ì¾Á°\fItodo\fRÃͤò»ý¤Ä¾ì¹ç¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ËºÇ¸å¤Ë»ØÄꤵ¤ì¤¿¤â¤Î¤¬½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£ +.sp +\fB¥¿¥°¤Î´°Á´¥»¥Ã¥È¤ÎÎã\fR: ¤³¤ÎÎã¤Ç¤Ï¡¢½ÐÎϤÎParameters¤ÈThrows¤Î´Ö¤ËTo Do¤òÁÞÆþ¤·¤Þ¤¹¡£\fIX\fR¤ò»ÈÍѤ·¤Æ¡¢\fI@example\fR¥¿¥°¤¬¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤Îº£²ó¤Î¼Â¹Ô¤Ç¤Ï½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ç¤¢¤ë¤³¤È¤â»ØÄꤷ¤Þ¤¹¡£\fI@argfile\fR¥¿¥°¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¡¢°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤ÎÊÌ¡¹¤Î¹Ô¤Ë¥¿¥°¤òÇÛÃ֤Ǥ­¤Þ¤¹(¹Ô¤Î·Ñ³¤ò¼¨¤¹Ê¸»ú¤ÏÉÔÍ×)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-tag param +\-tag return +\-tag todo:a:"To Do:" +\-tag throws +\-tag see +\-tag example:X +.fi +.if n \{\ +.RE +.\} +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò²òÀϤ¹¤ëºÝ¤Ë¸¡º÷¤µ¤ì¤¿¥¿¥°¤Î¤¦¤Á¡¢É¸½à¥¿¥°¤Ç¤â¡¢\fI\-tag\fR¤ä\fI\-taglet\fR¥ª¥×¥·¥ç¥ó¤ÇÅϤµ¤ì¤¿¥¿¥°¤Ç¤â¤Ê¤¤¤â¤Î¤Ï¤¹¤Ù¤ÆÉÔÌÀ¥¿¥°¤È¤ß¤Ê¤µ¤ì¡¢·Ù¹ð¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ +.sp +ɸ½à¥¿¥°¤Ï¡¢ºÇ½é¡¢¥Ç¥Õ¥©¥ë¥È¤Î½ç½ø¤Ç¥ê¥¹¥ÈÆâ¤ËÆâÉôŪ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤½¤ì¤é¤Î¥¿¥°¤Ï¤³¤Î¥ê¥¹¥È¤ËÄɲ䵤ì¤Þ¤¹¡£É¸½à¥¿¥°¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤«¤é°Üư¤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢É¸½à¥¿¥°¤Î\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢¤½¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤ËÇÛÃÖ¤µ¤ì¤¿¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fB¶¥¹ç¤Î²óÈò\fR: ¸ÇÍ­¤Î̾Á°¶õ´Ö¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë\fIcom\&.mycompany\&.todo\fR¤È¤¤¤¦Ì¾Á°¤Î¤è¤¦¤Ë¡¢¥É¥Ã¥È¤Ç¶èÀÚ¤é¤ì¤¿Ì¾Á°¤ò»ÈÍѤ·¤Þ¤¹¡£Oracle¤Ï¡¢º£¸å¤â̾Á°¤Ë¥É¥Ã¥È¤ò´Þ¤Þ¤Ê¤¤É¸½à¥¿¥°¤òºîÀ®¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¥¿¥°¤Ï¡¢Oracle¤¬ÄêµÁ¤¹¤ëƱ¤¸Ì¾Á°¤Î¥¿¥°¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\fI@todo\fR¤È¤¤¤¦Ì¾Á°¤Î¥¿¥°¤Þ¤¿¤Ï¥¿¥°¥ì¥Ã¥È¤ò¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¾ì¹ç¡¢¤½¤Î¸å¤ËOracle¤¬Æ±¤¸Ì¾Á°¤Îɸ½à¥¿¥°¤òºîÀ®¤·¤Æ¤â¡¢¤½¤Î¥¿¥°¤Þ¤¿¤Ï¥¿¥°¥ì¥Ã¥È¤Ï¾ï¤Ë¥æ¡¼¥¶¡¼¤¬ÄêµÁ¤·¤¿¤Î¤ÈƱ¤¸Æ°ºî¤òÊÝ»ý¤·¤Þ¤¹¡£ +.sp +\fBÃí¼ávs\&. Javadoc¥¿¥°\fR: °ìÈ̤ˡ¢Äɲ乤ëɬÍפΤ¢¤ë¥Þ¡¼¥¯¥¢¥Ã¥×¤¬¡¢¥É¥­¥å¥á¥ó¥È¤Ë±Æ¶Á¤òÍ¿¤¨¤¿¤ê¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤¿¤ê¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¾ì¹ç¡¢¤½¤Î¥Þ¡¼¥¯¥¢¥Ã¥×¤ÏJavadoc¥¿¥°¤Ë¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏÃí¼á¤Ë¤·¤Þ¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î¥«¥¹¥¿¥à¡¦¥¿¥°¤ÈÃí¼á¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#annotations)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-taglet\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¤è¤êÊ£»¨¤Ê¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤ä¥«¥¹¥¿¥à¡¦¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-taglet \fIclass\fR +.RS 4 +¤½¤Î¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fIclass\fRÃͤδ°Á´½¤¾þ̾¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥¿¥à¡¦¥¿¥°¤Î¥Æ¥­¥¹¥È°ú¿ô¤Î¿ô¤âÄêµÁ¤·¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤Ï¡¢¤³¤ì¤é¤Î°ú¿ô¤ò¼õ¤±ÉÕ¤±¡¢½èÍý¤·¡¢½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤ÎÎã¤ò»ÈÍѤ·¤¿Ë­É٤ʥɥ­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¿¥°¥ì¥Ã¥È¤Î³µÍ× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/taglet/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥Ö¥í¥Ã¥¯¥¿¥°¤Þ¤¿¤Ï¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤ÇÊØÍø¤Ç¤¹¡£¥¿¥°¥ì¥Ã¥È¤ÏǤ°Õ¤Î¿ô¤Î°ú¿ô¤ò¤È¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¥Æ¥­¥¹¥È¤òÂÀ»ú¤Ë¤¹¤ë¡¢²Õ¾ò½ñ¤­¤òºîÀ®¤¹¤ë¡¢¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤¹¡¢¤½¤Î¾¤Î¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ê¤É¤Î¥«¥¹¥¿¥àưºî¤ò¼ÂÁõ¤Ç¤­¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤Ç»ØÄê¤Ç¤­¤ë¤Î¤Ï¡¢¥¿¥°¤ÎÇÛÃÖ¾ì½ê¤ÈÇÛÃÖ·Á¼°¤Î¤ß¤Ç¤¹¡£¤½¤Î¾¤Î¤¹¤Ù¤Æ¤Î·èÄê¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤â¡¢Êñ´Þ¥¯¥é¥¹¤Î¥ê¥¹¥È¤«¤é¥¯¥é¥¹Ì¾¤òºï½ü¤¹¤ë¤Ê¤É¤Î½èÍý¤Ï¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¿¥°¤Î¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤¿¤ê¡¢ÊÌ¤Î¥×¥í¥»¥¹¤ò¥È¥ê¥¬¡¼¤¹¤ë¤Ê¤É¤ÎÉûºîÍÑ¤ÏÆÀ¤é¤ì¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\fI\-tagletpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤Ë¡¢À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤ÎParameters¤ÈThrows¤Î´Ö¤ËTo Do¥¿¥°¥ì¥Ã¥È¤òÁÞÆþ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢\fI\-taglet\fR¥ª¥×¥·¥ç¥ó¤ò¤½¤Î\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤Î¤«¤ï¤ê¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢ÆÉ¤ß¼è¤ê¤¬º¤Æñ¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-taglet com\&.sun\&.tools\&.doclets\&.ToDoTaglet +\-tagletpath /home/taglets +\-tag return +\-tag param +\-tag todo +\-tag throws +\-tag see +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-tagletpath \fItagletpathlist\fR +.RS 4 +taglet¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤¿¤á¤Î¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£\fItagletpathlist\fR¤Ë¤Ï¡¢¥³¥í¥ó(:)¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£ +.RE +.PP +\-docfilesubdirs +.RS 4 +doc\-files¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ç¥£¡¼¥×¡¦¥³¥Ô¡¼¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£°¸Àè¤Ë¤Ï¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤Î¤¹¤Ù¤ÆÆâÍÆ¤¬ºÆµ¢Åª¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥êoc\-files/example/images¤È¤½¤ÎÆâÍÆ¤¬¤¹¤Ù¤Æ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤³¤³¤Ç¤â¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°¤¹¤ë»ØÄ꤬²Äǽ¤Ç¤¹¡£ +.RE +.PP +\-excludedocfilessubdir \fIname1:name2\fR +.RS 4 +»ØÄꤵ¤ì¤¿Ì¾Á°¤Îdoc\-files¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¹¤Ù¤Æ½ü³°¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢SCCS¤È¤½¤Î¾¤Î¥½¡¼¥¹¡¦¥³¡¼¥ÉÀ©¸æ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î¥³¥Ô¡¼¤òËɤ®¤Þ¤¹¡£ +.RE +.PP +\-noqualifier all | \fIpackagename1\fR:\fIpackagename2\&.\&.\&.\fR +.RS 4 +½ÐÎϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤«¤é½¤¾þ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¾Êά¤·¤Þ¤¹¡£\fI\-noqualifier\fR¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï¡¢\fIall\fR(¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά)¡¢¤Þ¤¿¤Ï½¤¾þ»Ò¤È¤·¤Æºï½ü¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥í¥ó¶èÀÚ¤ê¥ê¥¹¥È(¥ï¥¤¥ë¥É¥«¡¼¥É¤â²Ä)¡¢¤Î¤¤¤º¤ì¤«¤È¤Ê¤ê¤Þ¤¹¡£¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤¬É½¼¨¤µ¤ì¤ë°ÌÃÖ¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹¡£\fI\-noqualifier all\fR +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIjava\&.lang\fR¤ª¤è¤Ó\fIjava\&.io\fR¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹: +\fI\-noqualifier java\&.lang:java\&.io\fR¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIjava\fR¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ª¤è¤Ó\fIcom\&.sun\fR¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¾Êά¤·¤Þ¤¹¤¬¡¢\fIjavax\fR¤Ï¾Êά¤·¤Þ¤»¤ó¡£\fI\-noqualifier java\&.*:com\&.sun\&.*\fR +.sp +¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤¬Á°½Ò¤Îưºî¤Ë½¾¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë¾ì¹ç¡¢Ì¾Á°¤ÏŬÀÚ¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ë¡¼¥ë¤Ï¡¢\fI\-noqualifier\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤ºÍ­¸ú¤Ç¤¹¡£ +.RE +.PP +\-notimestamp +.RS 4 +¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬ÍÞÀ©¤µ¤ì¤Þ¤¹¡£³Æ¥Ú¡¼¥¸¤ÎÀèÆ¬¶á¤¯¤Ë¤¢¤ë¡¢À¸À®¤µ¤ì¤¿HTMLÆâ¤ÎHTML¥³¥á¥ó¥È¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬±£¤µ¤ì¤Þ¤¹¡£\fI\-notimestamp\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò2¤Ä¤Î¥½¡¼¥¹¡¦¥Ù¡¼¥¹¤Ç¼Â¹Ô¤·¡¢¤½¤ì¤é¤Î´Ö¤Îº¹Ê¬\fIdiff\fR¤ò¼èÆÀ¤¹¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤è¤ë\fIdiff\fR¤ÎȯÀ¸¤òËɤ°¤«¤é¤Ç¤¹(¤½¤¦¤Ç¤Ê¤¤¤È¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤Ç\fIdiff\fR¤Ë¤Ê¤ê¤Þ¤¹)¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥ê¥ê¡¼¥¹Èֹ椬´Þ¤Þ¤ì¡¢¸½ºß¤Ç¤Ï¡¢\fI<!\-\- Generated by javadoc (build 1\&.5\&.0_01) on Thu Apr 02 14:04:52 IST 2009 \-\->\fR¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-nocomment +.RS 4 +¼çÀâÌÀ¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥¿¥°¤ò´Þ¤à¥³¥á¥ó¥ÈËÜʸÁ´ÂΤòÍÞÀ©¤·¡¢Àë¸À¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢¸µ¤Ï°Û¤Ê¤ëÌÜŪ¤Î¤¿¤á¤À¤Ã¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òºÆÍøÍѤ·¡¢¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤ÎÁᤤÃʳ¬¤Ç¥¹¥±¥ë¥È¥óHTML¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-sourcetab \fItablength\fR +.RS 4 +¥½¡¼¥¹Æâ¤Ç³Æ¥¿¥Ö¤¬»ÈÍѤ¹¤ë¶õÇòʸ»ú¤Î¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.SH "¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¥Õ¥¡¥¤¥ë" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô(\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò½ü¤¯)¤¬Æþ¤Ã¤¿1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤³¤È¤òÍøÍѤ¹¤ì¤Ð¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î\fIjavadoc\fR¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.PP +°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIjavac\fR¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹礻¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤ËËä¤á¹þ¤Þ¤ì¤¿¶õÇò¤¬¤¢¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ +.PP +°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃ֤ǤϤʤ¯¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É(\fI*\fR)¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢*\&.java¤È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤ò»ÈÍѤ·¤Æ¡¢¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤Þ¤¿¡¢\fI\-J\fR¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ +.PP +\fIjavadoc\fR¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë@ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¢¥Ã¥È¥Þ¡¼¥¯(@)ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ñ°ì¤Î°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +\fIargfile\fR¤È¤¤¤¦Ì¾Á°¤Î1¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ù¤Æ¤Î\fIjavadoc\fR¥³¥Þ¥ó¥É°ú¿ô¤òÊÝ»ý¤Ç¤­¤Þ¤¹¡£\fIjavadoc @argfile\fR¼¡¤ÎÎã¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤ÏξÊý¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\fBExample 2\fR, 2¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +¼¡¤Î¤è¤¦¤Ë¡¢2¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥óÍѤË1¤Ä¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾ÍѤË1¤Ä¤Ç¤¹¡£¼¡¤Î¥ê¥¹¥È¤Ç¤Ï¹Ô·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£ +.sp +¼¡¤ÎÆâÍÆ¤ò´Þ¤à¡¢options¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-d docs\-filelist +\-use +\-splitindex +\-windowtitle \*(AqJava SE 7 API Specification\*(Aq +\-doctitle \*(AqJava SE 7 API Specification\*(Aq +\-header \*(Aq<b>Java(TM) SE 7</b>\*(Aq +\-bottom \*(AqCopyright © 1993\-2011 Oracle and/or its affiliates\&. All rights reserved\&.\*(Aq +\-group "Core Packages" "java\&.*" +\-overview /java/pubs/ws/1\&.7\&.0/src/share/classes/overview\-core\&.html +\-sourcepath /java/pubs/ws/1\&.7\&.0/src/share/classes +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÆâÍÆ¤ò´Þ¤à¡¢packages¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +com\&.mypackage1 +com\&.mypackage2 +com\&.mypackage3 +.fi +.if n \{\ +.RE +.\} +¼¡¤Î¤è¤¦¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc @options @packages +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, ¥Ñ¥¹¤ò»ÈÍѤ·¤¿°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢(\fIpath1\fR¤ä\fIpath2\fR¤Ç¤Ï¤Ê¤¯)¼¡¤Î¤è¤¦¤Ë¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc @path1/options @path2/packages +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 4\fR, ¥ª¥×¥·¥ç¥ó°ú¿ô +.RS 4 +¼¡¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤ò°ú¿ô¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£Ä¹¤¤°ú¿ô¤ò»ØÄê¤Ç¤­¤ë¤Î¤Ç¡¢\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤Î¤è¤¦¤Ê¥Æ¥­¥¹¥È°ú¿ô¤ò´Þ¤à¡¢bottom¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl <font size="\-1"> -.fl - <a href="http://bugreport.sun.com/bugreport/">Submit a bug or feature</a><br/> -.fl - Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.<br/> -.fl - Oracle is a registered trademark of Oracle Corporation and/or its affiliates. -.fl - ¤½¤Î¾¤Î̾¾Î¤Ï¡¢¤½¤ì¤¾¤ì¤Î½êÍ­¼Ô¤Î¾¦É¸¤Þ¤¿¤ÏÅÐÏ¿¾¦É¸¤Ç¤¹¡£</font> -.fl -\fP -.fi -.LP -¤½¤Î¤¢¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-bottom @bottom @packages\fP -.fl -.fi -.LP -¤¢¤ë¤¤¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Ë \f2\-bottom\fP ¥ª¥×¥·¥ç¥ó¤âÁȤ߹þ¤ó¤À¤¢¤È¡¢¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ -.nf -\f3 -.fl - % \fP\f3javadoc @bottom @packages\fP -.fl -.fi -.SH "̾Á°" -¼Â¹Ô -.SH "Javadoc ¤Î¼Â¹Ô" -.LP -\f3¥Ð¡¼¥¸¥ç¥óÈÖ¹æ\fP \- javadoc ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òȽÊ̤¹¤ë¤Ë¤Ï¡¢\f3javadoc \-J\-version\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£¤½¤Î½ÐÎϤò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢ \f2\-quiet\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -\f3¸ø³«¥×¥í¥°¥é¥à¥¤¥ó¥¿¥Õ¥§¡¼¥¹\fP \- Java ¸À¸ì¤Çµ­½Ò¤µ¤ì¤¿¥×¥í¥°¥é¥à¤«¤é Javadoc ¥Ä¡¼¥ë¤òµ¯Æ°¤¹¤ë¤È¤­»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï \f2com.sun.tools.javadoc.Main ¤Ë¤¢¤ê¤Þ¤¹\fP (javadoc ¤ÏºÆÆþ²Äǽ)¡£¾ÜºÙ¤Ï¡¢ -.na -\f2¡Öɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammatically¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3¥É¥Ã¥¯¥ì¥Ã¥È¤Î¼Â¹Ô\fP \- ²¼µ­¤ÎÀâÌÀ¤Ï¡¢É¸½à HTML ¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢\-doclet ¤ª¤è¤Ó \-docletpath ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2MIF Doclet ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SH "´Êñ¤ÊÎã" -.LP -javadoc ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¡¢¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂбþ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ý¤Á¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/src/java/awt/*.java ¤Ë¤¢¤ê¤Þ¤¹\fP¡£À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ï \f2/home/html ¤Ç¤¹\fP¡£ -.SS -1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È²½ -.LP -¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f2*.java\fP) ¤ò¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ ( \f2java.awt.color\fP ¤Î¤è¤¦¤Ë¥É¥Ã¥È¤Ç¶èÀÚ¤é¤ì¤¿) ¤¤¤¯¤Ä¤«¤Î¼±Ê̻Ҥ«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢±¦Â¦¤Î¼±Ê̻Ҥ˿ʤि¤Ó¤Ë¡¢¤½¤Î¼±Ê̻Ҥ¬¤è¤ê¿¼¤¤¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÂбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ ( \f2java/awt/color\fP ¤Ê¤É)¡£ ñ°ì¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò 2 ¥°¥ë¡¼¥×¤Ëʬ¤±¡¢°Û¤Ê¤ë¾ì½ê¤Ë¤¢¤ë¤½¤Î¤è¤¦¤Ê 2 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤½¤ì¤¾¤ì³ÊǼ¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤½¤ÎξÊý¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤ò¡¢ \f2\-sourcepath\fP ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Îã: \f2src1/java/awt/color\fP ¤ª¤è¤Ó \f2src2/java/awt/color\fP¡£ -.LP -javadoc ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢ \f2cd\fP ¤ò»ÈÍѤ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ë¤«¡¢ \f2\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£°Ê²¼¤ÎÎã¤Ç¤Ï¡¢Î¾Êý¤ÎÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f3¥±¡¼¥¹ 1 \- 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤«¤é¤Îµ¯Æ°¤òºÆµ¢Åª¤Ë¼Â¹Ô\fP \- ¤³¤ÎÎã¤Ç¤Ï javadoc ¤¬Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¡¢\-sourcepath ¤ò»ÈÍѤ·¡¢ºÆµ¢Åª½èÍý¤Î¤¿¤á¤Ë \-subpackages (1.4 ¤Î¿·¥ª¥×¥·¥ç¥ó) ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢ \f2java\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¤¿¤É¤ê¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¤Ë¡¢ \f2java.net\fP ¤È \f2java.lang\fP ¤ò¥ë¡¼¥È¤Ë»ý¤Ä¥Ñ¥Ã¥±¡¼¥¸¤¬½ü³°¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ \f2java.lang\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë \f2java.lang.ref\fP¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \fP\f3\-d\fP\f3 /home/html \fP\f3\-sourcepath\fP\f3 /home/src \fP\f3\-subpackages\fP\f3 java \fP\f3\-exclude\fP\f3 java.net:java.lang\fP -.fl -.fi -.LP -¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤â²¼Êý¤Ë¤¿¤É¤ë¤Ë¤Ï¡¢ \f2java:javax:org.xml.sax ¤Î¤è¤¦¤Ë¡¢\fP ¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò \-subpackages \f2¤Î°ú¿ô¤ÎËöÈø¤ËÄɲä·¤Þ¤¹\fP¡£ -.TP 2 -o -\f3¥±¡¼¥¹ 2 \- ¥ë¡¼¥È¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤Ã¤Æ¤«¤éÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¼Â¹Ô\fP \- ´°Á´»ØÄê¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¤Þ¤¹¡£¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3cd /home/src/\fP -.fl - % \f3javadoc \-d /home/html java.awt java.awt.event\fP -.fl -.fi -.TP 2 -o -\f3¥±¡¼¥¹ 3 \- Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï 1 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤¢¤ë\fP \- ¤³¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ºÇ¾å°Ì¥Ñ¥Ã¥±¡¼¥¸¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò \f2\-sourcepath\fP ¤Ë»ØÄꤷ¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt java.awt.event\fP -.fl -.fi -.TP 2 -o -\f3¥±¡¼¥¹ 4 \- Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤¢¤ë\fP \- ¤³¤ì¤Ï¥±¡¼¥¹ 3 ¤È»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¤¬Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Ë¸ºß¤·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤Ø¤Î¥Ñ¥¹¤ò \f2\-sourcepath\fP ¤Ë»ØÄꤷ (¥³¥í¥ó¤Ç¶èÀÚ¤ë)¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¡¢1 ¤Ä¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥½¡¼¥¹¥Ñ¥¹¤È¤·¤Æ»ØÄꤵ¤ì¤¿¾ì½ê¤Î¤É¤³¤«¤Ç¸«¤Ä¤«¤ì¤Ð½½Ê¬¤Ç¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event\fP -.fl + <a href="http://bugreport\&.sun\&.com/bugreport/">Submit a bug or feature</a><br/> + Copyright © 1993, 2011, Oracle and/or its affiliates\&. All rights reserved\&. <br/> + Oracle is a registered trademark of Oracle Corporation and/or its affiliates\&. + Other names may be trademarks of their respective owners\&.</font> .fi +.if n \{\ .RE -.LP -·ë²Ì: ¤¹¤Ù¤Æ¤Î¥±¡¼¥¹¤Ç¥Ñ¥Ã¥±¡¼¥¸ \f2java.awt\fP ¤ª¤è¤Ó \f2java.awt.event\fP Æâ¤Î public ¤ª¤è¤Ó protected ¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢»ØÄꤵ¤ì¤¿À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\f2/home/html\fP) ¤Ë HTML ¥Õ¥¡¥¤¥ë¤¬Êݸ¤µ¤ì¤Þ¤¹¡£2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬À¸À®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¡¢¤ª¤è¤Ó¥á¥¤¥ó¤Î¥¯¥é¥¹¥Ú¡¼¥¸¤È¤¤¤¦ 3 ¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.SS -1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½ -.LP -¤Þ¤¿¡¢1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f2.java\fP) ¤òÅϤ·¤Æ¡¢Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£javadoc ¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÊýË¡¤Î¤¤¤º¤ì¤«¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£1 ¤Ä¤Ï \f2cd\fP ¤ò»ÈÍѤ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ëÊýË¡¡¢¤â¤¦ 1 ¤Ä¤Ï \f2.java\fP ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò´°Á´¤Ë»ØÄꤹ¤ëÊýË¡¤Ç¤¹¡£ÁêÂХѥ¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òµ¯ÅÀ¤È¤·¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÅϤ¹¤È¤­¤Ï¡¢ \f2\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¹Ô¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¹¤Î¥°¥ë¡¼¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f3¥±¡¼¥¹ 1 \- ¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ë\fP \- \f2.java\fP ¥Õ¥¡¥¤¥ë¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¤Þ¤¹¡£¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3cd /home/src/java/awt\fP -.fl - % \f3javadoc \-d /home/html Button.java Canvas.java Graphics*.java\fP -.fl -.fi -¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹ \f2Button\fP ¤È \f2Canvas\fP ¡¢¤ª¤è¤Ó̾Á°¤¬ \f2Graphics ¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹\fP¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ javadoc ¤Ë°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¤È¥á¥¤¥ó¥Ú¡¼¥¸¤È¤¤¤¦ 2 ¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\f3¥±¡¼¥¹ 2 \- ¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ë\fP \- ¤³¤ì¤Ï¡¢Æ±¤¸¥ë¡¼¥ÈÆâ¤Ë¤¢¤ëÊ£¿ô¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Î¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¡¢³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¥ë¡¼¥È¤«¤é¤Î¥Ñ¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3cd /home/src/\fP -.fl - % \f3javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java\fP -.fl -.fi -¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹ \f2Button\fP ¤ª¤è¤Ó \f2Applet ¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹\fP¡£ -.TP 2 -o -\f3¥±¡¼¥¹ 3 \- Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é\fP \- ¤³¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë .java ¥Õ¥¡¥¤¥ë¤Ø¤ÎÀäÂХѥ¹ (¤Þ¤¿¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹) ¤ò»ØÄꤷ¤Æ \f2javadoc\fP ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java\fP -.fl -.fi -¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹ \f2Button\fP ¤È¡¢Ì¾Á°¤¬ \f2Graphics ¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹\fP¡£ +.\} +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£\fI javadoc \-bottom @bottom @packages\fR +.sp +\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤ò°ú¿ô¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Ë´Þ¤á¤Æ¡¢¼¡¤Î¤è¤¦¤Ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£\fIjavadoc @bottom @packages\fR .RE -.SS -¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½ -.LP -¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤȸġ¹¤Î¥¯¥é¥¹¤òƱ»þ¤Ë»ØÄꤷ¤Æ¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¼¡¤ËÁ°½Ò¤Î 2 ¤Ä¤ÎÎã¤òÁȤ߹ç¤ï¤»¤¿Îã¤ò¼¨¤·¤Þ¤¹¡£ \f2\-sourcepath\fP ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ­¤Þ¤¹¤¬¡¢¸Ä¡¹¤Î¥¯¥é¥¹¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.SH "JAVADOC¥³¥Þ¥ó¥É¤Î¼Â¹Ô" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤Ï\fIjavadoc \-J\-version\fR¥ª¥×¥·¥ç¥ó¤ÇÆÃÄê¤Ç¤­¤Þ¤¹¡£½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ê¥ê¡¼¥¹Èֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£\fI\-quiet\fR¥ª¥×¥·¥ç¥ó¤Ç̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£ +.PP +Java¸À¸ì¤Çµ­½Ò¤µ¤ì¤¿¥×¥í¥°¥é¥à¤«¤é\fIjavadoc\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¸ø³«¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï\fIcom\&.sun\&.tools\&.javadoc\&.Main\fR¤Ë¤¢¤ê¤Þ¤¹(¤Þ¤¿\fIjavadoc\fR¥³¥Þ¥ó¥É¤ÏºÆÆþ²Äǽ¤Ç¤¹)¡£¾ÜºÙ¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/standard\-doclet\&.html#runningprogrammatically)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¼¡¤Î¼ê½ç¤Ç¤Ï¡¢É¸½àHTML¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¥«¥¹¥¿¥à¡¦¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢\fI\-doclet\fR¤ª¤è¤Ó\fI\-docletpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¥É¥Ã¥¯¥ì¥Ã¥È¤Î³µÍ× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/doclet/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SS "´Êñ¤ÊÎã" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¡¢¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂбþ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ý¤Á¤Þ¤¹¡£ +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï/home/src/java/awt/*\&.java¤Ë¤¢¤ê¤Þ¤¹¡£À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ï/home/html¤Ç¤¹¡£ +1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È²½.PP +¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬(\fIjava\&.awt\&.color\fR¤Î¤è¤¦¤Ë¥É¥Ã¥È¤Ç¶èÀÚ¤é¤ì¤¿)Ê£¿ô¤Î¼±Ê̻Ҥ«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¸å³¤Î³Æ¼±Ê̻Ҥ¬²¼°Ì¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê(ava/awt/color¤Ê¤É)¤ËÂбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤¿¤á¤ÎÊ£¿ô¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¡¢°Û¤Ê¤ë¾ì½ê¤Ë¤¢¤ë¤½¤Î¤è¤¦¤Ê2¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¦¥Ä¥ê¡¼¤Ëʬ¤±¤Æ³ÊǼ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¾ì¹ç¤Ï\fI\-sourcepath\fR¤Ë¤è¤Ã¤Æ¤½¤ÎξÊý¤Î¾ì½ê¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢src1/java/awt/color¤Èsrc2/java/awt/color¡£ +.PP +¥Ç¥£¥ì¥¯¥È¥ê¤ÎÊѹ¹(\fIcd\fR¥³¥Þ¥ó¥É¤ò»ÈÍÑ)¤Þ¤¿¤Ï\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¼¡¤ÎÎã¤ÇξÊý¤ÎÁªÂò»è¤ò¼¨¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, 1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤«¤éºÆµ¢Åª¤Ë¼Â¹Ô +.RS 4 +¤³¤ÎÎã¤Ç¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¡¢\fI\-sourcepath\fR¤ò»ÈÍѤ·¡¢ºÆµ¢Åª½èÍý¤Î¤¿¤á¤Ë\fI\-subpackages\fR +(1\&.4¤Î¿·¥ª¥×¥·¥ç¥ó)¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢java¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¤¿¤É¤ê¤Þ¤¹¤¬¡¢\fIjava\&.net\fR¤È\fIjava\&.lang\fR¤ò¥ë¡¼¥È¤Ë»ý¤Ä¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£\fIjava\&.lang\fR¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë\fIjava\&.lang\&.ref\fR¤¬½ü³°¤µ¤ì¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ä¥ê¡¼¤ò²¼Êý¤Ë¤¿¤É¤ë¤Ë¤Ï¡¢\fIjava:javax:org\&.xml\&.sax\fR¤Î¤è¤¦¤Ë¡¢¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò\fI\-subpackages\fR¤Î°ú¿ô¤ËÄɲä·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java\fP -.fl +javadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude .fi -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2java.awt\fP ¤È¥¯¥é¥¹ \f2Applet ¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹\fP¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2Applet.java ¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤¬¤¢¤ì¤Ð¡¢\fP ¤½¤ÎÀë¸À¤Ë´ð¤Å¤¤¤Æ \f2Applet ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò\fP ȽÄꤷ¤Þ¤¹¡£ -.SH "»ÈÍÑÎã" -.LP -Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¿¤¯¤ÎÊØÍø¤Ê¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¡¢¤½¤ÎÃæ¤Ë¤Ï¤Û¤«¤Î¥ª¥×¥·¥ç¥ó¤è¤ê¤âÉÑÈˤ˻Ȥï¤ì¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç¾Ò²ð¤¹¤ë¤Î¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à API ¤ËÂФ·¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¼ÂºÝ¤Î¥³¥Þ¥ó¥É¤Ç¤¹¡£¤³¤³¤Ç¤Ï¡¢Java SE Platform, Standard Edition, v1.2 ¤Î (Ìó) 1500 ¸Ä¤Î public ¤ª¤è¤Ó protected ¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢180M ¥Ð¥¤¥È¤Î¥á¥â¥ê¡¼¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -Ʊ¤¸Îã¤ò 2 ²ó·ÇºÜ¤·¤Þ¤¹¡£ºÇ½é¤ÎÎã¤Ï¥³¥Þ¥ó¥É¹Ô¤«¤é¼Â¹Ô¤¹¤ë¤â¤Î¤Ç¡¢2 ÈÖÌܤÎÎã¤Ï Makefile ¤«¤é¼Â¹Ô¤¹¤ë¤â¤Î¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ÇÀäÂХѥ¹¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤¿¤á¡¢Æ±¤¸ \f2javadoc\fP ¥³¥Þ¥ó¥É¤ò¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Ç¤â¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.SS -¥³¥Þ¥ó¥É¹Ô¤ÎÎã -.LP -¼¡¤ÎÎã¤Ï¡¢DOS ¤Ê¤É¤Î°ìÉô¤Î¥·¥§¥ë¤Ç¤ÏŤ¹¤®¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ¥ë¡¼¥È¤Ø¤Î°Üư¤ª¤è¤ÓÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Î¼Â¹Ô +.RS 4 +´°Á´½¤¾þ¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¤Þ¤¹¡£¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% javadoc \-sourcepath /java/jdk/src/share/classes \\ -.fl - \-overview /java/jdk/src/share/classes/overview.html \\ -.fl - \-d /java/jdk/build/api \\ -.fl - \-use \\ -.fl - \-splitIndex \\ -.fl - \-windowtitle 'Java Platform, Standard Edition 7 API Specification' \\ -.fl - \-doctitle 'Java Platform, Standard Edition 7 API Specification' \\ -.fl - \-header '<b>Java(TM) SE 7</b>' \\ -.fl - \-bottom '<font size="\-1"> -.fl - <a href="http://bugreport.sun.com/bugreport/">Submit a bug or feature</a><br/> -.fl - Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.<br/> -.fl - Oracle is a registered trademark of Oracle Corporation and/or its affiliates. -.fl - ¤½¤Î¾¤Î̾¾Î¤Ï¡¢¤½¤ì¤¾¤ì¤Î½êÍ­¼Ô¤Î¾¦É¸¤Þ¤¿¤ÏÅÐÏ¿¾¦É¸¤Ç¤¹¡£</font>' \\ -.fl - \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ -.fl - \-group "Extension Packages" "javax.*" \\ -.fl - \-J\-Xmx180m \\ -.fl - @packages -.fl -\fP +cd /home/src/ +javadoc \-d /home/html java\&.awt java\&.awt\&.event .fi -.LP -¤³¤³¤Ç¡¢ \f2packages\fP ¤Ï¡¢½èÍýÂоݤΥѥ屡¼¥¸Ì¾ ( \f2java.applet java.lang\fP ¤Ê¤É) ¤¬Æþ¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£³Æ¥ª¥×¥·¥ç¥ó¤Î¡¢Ã±°ì°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿°ú¿ô¤ÎÆâ¦¤Ë¤Ï¡¢²þ¹Ôʸ»ú¤òÁÞÆþ¤Ç¤­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¤³¤ÎÎã¤ò¥³¥Ô¡¼¡õ¥Ú¡¼¥¹¥È¤¹¤ë¾ì¹ç¤Ï¡¢ \f2\-bottom\fP ¥ª¥×¥·¥ç¥ó¤«¤é²þ¹Ôʸ»ú¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£¤µ¤é¤Ë¡¢¤³¤Î¤¢¤È¤Î¡ÖÃí¡×¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SS -Makefile ¤ÎÎã -.LP -¤³¤³¤Ç¤Ï¡¢GNU Makefile ¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£Windows ¤Î Makefile ¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2Windows ¤Î Makefile ¤ÎºîÀ®ÊýË¡\fP @ -.fi -http://java.sun.com/j2se/javadoc/faq/index.html#makefiles¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ +.RE +.\} +¤Þ¤¿¡¢Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ä¥ê¡¼¤ò²¼Êý¤Ë¤¿¤É¤ë¤Ë¤Ï¡¢j\fIava:javax:org\&.xml\&.sax\fR¤Î¤è¤¦¤Ë¡¢¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò\fI\-subpackages\fR¤Î°ú¿ô¤ËÄɲä·¤Þ¤¹¡£ +.RE +.PP +\fBExample 3\fR, 1¤Ä¤Î¥Ä¥ê¡¼¤ÎÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ÎǤ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô +.RS 4 +¤³¤Î¾ì¹ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤«¤ÏÌäÂê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢ºÇ¾å°Ì¥Ñ¥Ã¥±¡¼¥¸¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Æ\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR) \\ /* Sets path for source files */ -.fl - \-\fP\f3overview\fP\f3 $(SRCDIR)/overview.html \\ /* Sets file for overview text */ -.fl - \-\fP\f3d\fP\f3 /java/jdk/build/api \\ /* Sets destination directory */ -.fl - \-\fP\f3use\fP\f3 \\ /* Adds "Use" files */ -.fl - \-\fP\f3splitIndex\fP\f3 \\ /* Splits index A\-Z */ -.fl - \-\fP\f3windowtitle\fP\f3 $(WINDOWTITLE) \\ /* Adds a window title */ -.fl - \-\fP\f3doctitle\fP\f3 $(DOCTITLE) \\ /* Adds a doc title */ -.fl - \-\fP\f3header\fP\f3 $(HEADER) \\ /* Adds running header text */ -.fl - \-\fP\f3bottom\fP\f3 $(BOTTOM) \\ /* Adds text at bottom */ -.fl - \-\fP\f3group\fP\f3 $(GROUPCORE) \\ /* 1st subhead on overview page */ -.fl - \-\fP\f3group\fP\f3 $(GROUPEXT) \\ /* 2nd subhead on overview page */ -.fl - \-\fP\f3J\fP\f3\-Xmx180m \\ /* Sets memory to 180MB */ -.fl - java.lang java.lang.reflect \\ /* Sets packages to document */ -.fl - java.util java.io java.net \\ -.fl - java.applet -.fl +javadoc \-d /home/html \-sourcepath /home/src java\&.awt java\&.awt\&.event +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 4\fR, Ê£¿ô¤Î¥Ä¥ê¡¼¤ÎÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ÎǤ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢³Æ¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤Ø¤Î¥Ñ¥¹¤Î¥³¥í¥ó¶èÀÚ¤ê¥ê¥¹¥È¤ò»ØÄꤷ¤Æ\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¡¢1¤Ä¤Î¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¸ºß¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤¬¡¢¥½¡¼¥¹¡¦¥Ñ¥¹¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤Î¤É¤³¤«¤Ç¸«¤Ä¤«¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java\&.awt java\&.awt\&.event +.fi +.if n \{\ +.RE +.\} +¤¹¤Ù¤Æ¤Î¥±¡¼¥¹¤Çj\fIava\&.awt\fR¤ª¤è¤Ó\fIjava\&.awt\&.even\fRt¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î\fIpublic\fR¤ª¤è¤Ó\fIprotected\fR¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢»ØÄꤵ¤ì¤¿À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ËHTML¥Õ¥¡¥¤¥ë¤¬Êݸ¤µ¤ì¤Þ¤¹¡£2¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬À¸À®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¡¢¤ª¤è¤Ó¥á¥¤¥ó¤Î¥¯¥é¥¹¡¦¥Ú¡¼¥¸¤È¤¤¤¦3¤Ä¤ÎHTML¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +1¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½.PP +¤Þ¤¿¡¢1¤Ä°Ê¾å¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÅϤ·¤Æ¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¤Ï¡¢¼¡¤Î2¤Ä¤ÎÊýË¡¤Î¤¤¤º¤ì¤«¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£1¤Ä¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ëÊýË¡(\fIcd\fR¤ò»ÈÍÑ)¡¢¤â¤¦1¤Ä¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò´°Á´¤Ë»ØÄꤹ¤ëÊýË¡¤Ç¤¹¡£ÁêÂХѥ¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òµ¯ÅÀ¤È¤·¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÅϤ¹¤È¤­¤Ï¡¢\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¹¤Î¥°¥ë¡¼¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹ +.RS 4 +¥½¡¼¥¹¤òÊÝ»ý¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹¤·¤Þ¤¹¡£¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë1¤Ä°Ê¾å¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +¤³¤ÎÎã¤Ç¤Ï¡¢\fIButton\fR¥¯¥é¥¹¤È\fICanvas\fR¥¯¥é¥¹¡¢¤ª¤è¤Ó̾Á°¤¬\fIGraphics\fR¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¤È¥á¥¤¥ó¡¦¥Ú¡¼¥¸¤È¤¤¤¦2¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +cd /home/src/java/awt +javadoc \-d /home/html Button\&.java Canvas\&.java Graphics*\&.java +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹ +.RS 4 +¤³¤ì¤Ï¡¢Æ±¤¸¥ë¡¼¥È¤«¤é¤ÎÊ̤Υµ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Î¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¡¢³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¡¢¥ë¡¼¥È¤«¤é¤Î¥Ñ¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +cd /home/src/ +javadoc \-d /home/html java/awt/Button\&.java java/applet/Applet\&.java +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥È²½ +.RS 4 +¤³¤Î¾ì¹ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤«¤ÏÌäÂê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ø¤ÎÀäÂХѥ¹(¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹)¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-d /home/html /home/src/java/awt/Button\&.java +/home/src/java/awt/Graphics*\&.java +.fi +.if n \{\ +.RE +.\} +.RE +¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½.PP +¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤȸġ¹¤Î¥¯¥é¥¹¤òƱ»þ¤Ë»ØÄꤷ¤Æ¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¼¡¤Ë¡¢Á°½Ò¤Î2¤Ä¤ÎÎã¤òÁȤ߹礻¤¿Îã¤ò¼¨¤·¤Þ¤¹¡£\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ­¤Þ¤¹¤¬¡¢¸Ä¡¹¤Î¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-d /home/html \-sourcepath /home/src java\&.awt +/home/src/java/applet/Applet\&.java +.fi +.if n \{\ +.RE +.\} +.SS "¼ÂºÝ¤ÎÎã" +.PP +¼¡¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ª¤è¤Ó\fImakefile\fR¥Ð¡¼¥¸¥ç¥ó¤Î\fIjavadoc\fR¥³¥Þ¥ó¥É¤òJava¥×¥é¥Ã¥È¥Õ¥©¡¼¥àAPI¤Ç¼Â¹Ô¤·¤Þ¤¹¡£Java SE 1\&.2¤ÇÌó1500¸Ä¤Îpublic¤ª¤è¤Óprotected¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢180MB¤Î¥á¥â¥ê¡¼¤ò»ÈÍѤ·¤Þ¤¹¡£¤É¤Á¤é¤ÎÎã¤â¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ÇÀäÂХѥ¹¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤¿¤á¡¢Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤éƱ¤¸\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎÎã.PP +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ìÉô¤Î¥·¥§¥ë¤ËÂФ·¤ÆÄ¹¤¹¤®¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤·¤Þ¤¹¡£ +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢\fIpackages\fR¤Ï½èÍý¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à̾Á°¤Ç¡¢\fIjava\&.applet\fR +\fIjava\&.lang\fR¤Ê¤É¤Ç¤¹¡£³Æ¥ª¥×¥·¥ç¥ó¤Î¡¢°ì½Å°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿°ú¿ô¤ÎÆâ¦¤Ë¤Ï¡¢²þ¹Ôʸ»ú¤òÁÞÆþ¤Ç¤­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¤³¤ÎÎã¤ò¥³¥Ô¡¼¡¦¥¢¥ó¥É¡¦¥Ú¡¼¥¹¥È¤¹¤ë¾ì¹ç¤Ï¡¢\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤«¤é²þ¹Ôʸ»ú¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /java/jdk/src/share/classes \e +\-overview /java/jdk/src/share/classes/overview\&.html \e +\-d /java/jdk/build/api \e +\-use \e +\-splitIndex \e +\-windowtitle \*(AqJava Platform, Standard Edition 7 API Specification\*(Aq \e +\-doctitle \*(AqJava Platform, Standard Edition 7 API Specification\*(Aq \e +\-header \*(Aq<b>Java(TM) SE 7</b>\*(Aq \e +\-bottom \*(Aq<font size="\-1"> +<a href="http://bugreport\&.sun\&.com/bugreport/">Submit a bug or feature</a><br/> +Copyright © 1993, 2011, Oracle and/or its affiliates\&. All rights reserved\&.<br/> +Oracle is a registered trademark of Oracle Corporation and/or its affiliates\&. +Other names may be trademarks of their respective owners\&.</font>\*(Aq \e +\-group "Core Packages" "java\&.*:com\&.sun\&.java\&.*:org\&.omg\&.*" \e +\-group "Extension Packages" "javax\&.*" \e +\-J\-Xmx180m \e +@packages +.fi +.if n \{\ +.RE +.\} +¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹.PP +Javadoc Access API¤Ç¤Ï¡¢¿·¤·¤¤¥×¥í¥»¥¹¤ò¼Â¹Ô¤·¤Ê¤¯¤Æ¤â¡¢Javadoc¥Ä¡¼¥ë¤òJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤éľÀܵ¯Æ°¤Ç¤­¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¼¡¤Îʸ¤Ï¥³¥Þ¥ó¥É\fIjavadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude java\&.net:java\&.lang com\&.example\fR¤ÈƱÅù¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +import javax\&.tools\&.DocumentationTool; +import javax\&.tools\&.ToolProvider; + +public class JavaAccessSample{ + public static void main(String[] args){ + DocumentationTool javadoc = ToolProvider\&.getSystemDocumentationTool(); + int rc = javadoc\&.run( null, null, null, + "\-d", "/home/html", + "\-sourcepath", "home/src", + "\-subpackages", "java", + "\-exclude", "java\&.net:java\&.lang", + "com\&.example"); + } + } +.fi +.if n \{\ +.RE +.\} +.PP +\fIrun\fR¥á¥½¥Ã¥É¤ÎºÇ½é¤Î3¤Ä¤Î°ú¿ô¤Ï¡¢ÆþÎÏ¡¢É¸½à½ÐÎÏ¡¢¤ª¤è¤Óɸ½à¥¨¥é¡¼¡¦¥¹¥È¥ê¡¼¥à¤ò»ØÄꤷ¤Þ¤¹¡£\fINull\fR¤Ï\fISystem\&.in\fR¡¢\fISystem\&.out\fR¤ª¤è¤Ó\fISystem\&.err\fR¤½¤ì¤¾¤ì¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ +.SS "makefile¤ÎÎã" +.PP +¤³¤³¤Ç¤Ï¡¢GNU +\fImakefile\fR¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fImakefile\fR¤Î°ú¿ô¤Ï¡¢°ì½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£Windows +\fImakefile\fR¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢Javadoc FAQ¤Î\fImakefiles\fR¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137483\&.html#makefiles)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath $(SRCDIR) \e /* Sets path for source files */ + \-overview $(SRCDIR)/overview\&.html \e /* Sets file for overview text */ + \-d /java/jdk/build/api \e /* Sets destination directory */ + \-use \e /* Adds "Use" files */ + \-splitIndex \e /* Splits index A\-Z */ + \-windowtitle $(WINDOWTITLE) \e /* Adds a window title */ + \-doctitle $(DOCTITLE) \e /* Adds a doc title */ + \-header $(HEADER) \e /* Adds running header text */ + \-bottom $(BOTTOM) \e /* Adds text at bottom */ + \-group $(GROUPCORE) \e /* 1st subhead on overview page */ + \-group $(GROUPEXT) \e /* 2nd subhead on overview page */ + \-J\-Xmx180m \e /* Sets memory to 180MB */ + java\&.lang java\&.lang\&.reflect \e /* Sets packages to document */ + java\&.util java\&.io java\&.net \e + java\&.applet -.fl -WINDOWTITLE = 'Java(TM) SE 7 API Specification' -.fl -DOCTITLE = 'Java(TM) Platform Standard Edition 7 API Specification' -.fl -HEADER = '<b>Java(TM) SE 7</font>' -.fl -BOTTOM = '<font size="\-1"> -.fl - <a href="http://bugreport.sun.com/bugreport/">Submit a bug or feature</a><br/> -.fl - Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.<br/> -.fl - Oracle is a registered trademark of Oracle Corporation and/or its affiliates. -.fl - ¤½¤Î¾¤Î̾¾Î¤Ï¡¢¤½¤ì¤¾¤ì¤Î½êÍ­¼Ô¤Î¾¦É¸¤Þ¤¿¤ÏÅÐÏ¿¾¦É¸¤Ç¤¹¡£</font>' -.fl -GROUPCORE = '"Core Packages" "java.*:com.sun.java.*:org.omg.*"' -.fl -GROUPEXT = '"Extension Packages" "javax.*"' -.fl -SRCDIR = '/java/jdk/1.7.0/src/share/classes' -.fl -\fP +WINDOWTITLE = \*(AqJava(TM) SE 7 API Specification\*(Aq +DOCTITLE = \*(AqJava(TM) Platform Standard Edition 7 API Specification\*(Aq +HEADER = \*(Aq<b>Java(TM) SE 7</font>\*(Aq +BOTTOM = \*(Aq<font size="\-1"> + <a href="http://bugreport\&.sun\&.com/bugreport/">Submit a bug or feature</a><br/> + Copyright © 1993, 2011, Oracle and/or its affiliates\&. All rights reserved\&.<br/> + Oracle is a registered trademark of Oracle Corporation and/or its affiliates\&. + Other names may be trademarks of their respective owners\&.</font>\*(Aq +GROUPCORE = \*(Aq"Core Packages" "java\&.*:com\&.sun\&.java\&.*:org\&.omg\&.*"\*(Aq +GROUPEXT = \*(Aq"Extension Packages" "javax\&.*"\*(Aq +SRCDIR = \*(Aq/java/jdk/1\&.7\&.0/src/share/classes\*(Aq .fi -.LP -Makefile ¤Î°ú¿ô¤Ï¡¢Ã±°ì°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ -.LP -\f3Ãí\fP -.RS 3 -.TP 2 -o -\-windowtitle \f2¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢\fP Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥É¥­¥å¥á¥ó¥È¥¿¥¤¥È¥ë¤¬¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ \f2\-windowtitle\fP ¤Î¥Æ¥­¥¹¥È¤Ï´ðËÜŪ¤Ë \f2\-doctitle\fP ¤Î¤â¤Î¤ÈƱ¤¸¤Ç¤¹¤¬¡¢HTML ¥¿¥°¤ò´Þ¤Þ¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢HTML ¥¿¥°¤¬ raw ¥Æ¥­¥¹¥È¤È¤·¤Æ¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ëÆâ¤Ëɽ¼¨¤µ¤ì¤ë¤Î¤òËɤ°¤¿¤á¤Ç¤¹¡£ -.TP 2 -o -¤³¤³¤Ç¹Ô¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë \f2\-footer\fP ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥Ø¥Ã¥À¡¼¤Î¥Æ¥­¥¹¥È¤¬¥Õ¥Ã¥¿¡¼¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.TP 2 -o -¤³¤ÎÎã¤Ç¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¤¬¡¢\-\f2classpath\fP ¤È \-\f2link\fP ¤â½ÅÍפʥª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.if n \{\ .RE -.SH "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°" -.SS -°ìÈÌŪ¤Ê¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥° -.RS 3 -.TP 2 -o -\f3Javadoc FAQ\fP \- °ìÈÌŪ¤Ê¥Ð¥°¤ª¤è¤Ó¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Î¥Ò¥ó¥È¤Ï¡¢ -.na -\f2¡ÖJavadoc FAQ¡×\fP @ -.fi -http://java.sun.com/j2se/javadoc/faq/index.html#B ¤Ç»²¾È¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ð¥°¤ª¤è¤ÓÀ©¸Â»ö¹à\fP \- ¥Ð¥°¤Î°ìÉô¤Ï¡¢¡ÖImportant Bug Fixes and Changes¡× ¤Ç¤â»²¾È¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ð¡¼¥¸¥ç¥óÈÖ¹æ\fP \- ¡Ö¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f3Í­¸ú¤Ê¥¯¥é¥¹¤À¤±¤ò¥É¥­¥å¥á¥ó¥È²½\fP \- ¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤È¤­¡¢Javadoc ¤Ï¡¢Í­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¤ß¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Õ¥¡¥¤¥ë̾¤Ë¥Ï¥¤¥Õ¥ó¡Ö\-¡×¤ò´Þ¤á¤ë¤³¤È¤Ç¡¢javadoc ¤Ë¤è¤ë¥Õ¥¡¥¤¥ë¤Î²òÀϤòËɤ°¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.\} +.SS "Ãí°Õ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-windowtitle\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¥É¥­¥å¥á¥ó¥È¡¦¥¿¥¤¥È¥ë¤¬¥¦¥£¥ó¥É¥¦¡¦¥¿¥¤¥È¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£\fI\-windowtitle\fR¥ª¥×¥·¥ç¥ó¤Î¥Æ¥­¥¹¥È¤Ï¡¢\fI\-doctitle\fR¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤Ç¤¹¤¬¡¢HTML¥¿¥°¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢HTML¥¿¥°¤¬¡¢¥¦¥£¥ó¥É¥¦¡¦¥¿¥¤¥È¥ëÆâ¤Ë¤½¤Î¤Þ¤Þ¤Î¥Æ¥­¥¹¥È¤È¤·¤ÆÉ½¼¨¤µ¤ì¤ë¤Î¤òËɤ°¤¿¤á¤Ç¤¹¡£ .RE -.SS -¥¨¥é¡¼¤È·Ù¹ð -.LP -¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ÈÀë¸À¹Ô (¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÎÆÃÄê¤Î¹Ô¤Ç¤Ï¤Ê¤¤) ¤Î¹ÔÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2"error: cannot read: Class1.java"\fP Javadoc ¥Ä¡¼¥ë¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë Class1.java ¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£ÀäÂХѥ¹¤Þ¤¿¤ÏÁêÂХѥ¹¤È¤È¤â¤Ëɽ¼¨¤µ¤ì¤ë¥¯¥é¥¹Ì¾¤Ï¡¢¤³¤ÎÎã¤Î¾ì¹ç \f2./Class1.java ¤ÈƱ¤¸¤Ç¤¹\fP¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-footer\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¥Ø¥Ã¥À¡¼¡¦¥Æ¥­¥¹¥È¤¬¥Õ¥Ã¥¿¡¼¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ .RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤³¤ÎÎã¤Ç¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¤¬¡¢\fI\-classpath\fR¤È\fI\-link\fR¤â½ÅÍפʥª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.RE +.SH "°ìÈÌŪ¤Ê¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ÏÍ­¸ú¤Ê¥¯¥é¥¹Ì¾¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤Î¤ß¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òÀµ¤·¤¯ÆÉ¤ß¼è¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¯¥é¥¹Ì¾¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¶¦Ä̤ÎÉÔ¶ñ¹ç¤ª¤è¤Ó¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Î¥Ò¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢Javadoc FAQ +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137483\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥¨¥é¡¼¤È·Ù¹ð" +.PP +¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ÈÀë¸À¹Ô(¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤ÎÆÃÄê¤Î¹Ô¤Ç¤Ï¤Ê¤¤)¤Î¹ÔÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¥á¥Ã¥»¡¼¥¸\fI¡Ö¥¨¥é¡¼: Class1\&.java¤òÆÉ¤ß¹þ¤á¤Þ¤»¤ó¡×\fR¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬\fIClass1\&.jav\fR\fIa\fR¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥í¡¼¥É¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥¯¥é¥¹Ì¾¤Ï¤½¤Î¥Ñ¥¹(ÀäÂФޤ¿¤ÏÁêÂÐ)¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£ .SH "´Ä¶­" -.RS 3 -.TP 3 -CLASSPATH -Javadoc ¤¬¥æ¡¼¥¶¡¼¥¯¥é¥¹¤Î¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»È¤¦¥Ñ¥¹¤ò»ØÄꤹ¤ë´Ä¶­ÊÑ¿ô¤Ç¤¹¡£¤³¤Î´Ä¶­ÊÑ¿ô¤Ï¡¢ \f2\-classpath\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ -.:/home/classes:/usr/local/java/classes +.PP +CLASSPATH +.RS 4 +\fICLASSPATH\fR¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¸¡½Ð¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤òÄ󶡤¹¤ë´Ä¶­ÊÑ¿ô¤Ç¤¹¡£¤³¤Î´Ä¶­ÊÑ¿ô¤Ï¡¢\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥»¥ß¥³¥í¥ó(Windows¤Î¾ì¹ç)¤Þ¤¿¤Ï¥³¥í¥ó(Oracle Solaris¤Î¾ì¹ç)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ +.sp +\fBWindows¤ÎÎã\fR: +\fI\&.;C:\eclasses;C:\ehome\ejava\eclasses\fR +.sp +\fBOracle Solaris¤ÎÎã\fR: +\fI\&.:/home/classes:/usr/local/java/classes\fR .RE .SH "´ØÏ¢¹àÌÜ" -.RS 3 -.TP 2 -o -javac(1) -.TP 2 -o -java(1) -.TP 2 -o -jdb(1) -.TP 2 -o -javah(1) -.TP 2 -o -javap(1) -.TP 2 -o -.na -\f2Javadoc ¤Î¥Û¡¼¥à¥Ú¡¼¥¸\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-jsp\-135444.html -.TP 2 -o -.na -\f2How to Write Doc Comments for Javadoc\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html -.TP 2 -o -.na -\f2¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#general -.TP 2 -o -.na -\f2javac ¤È javadoc ¤¬¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) .RE - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javap(1) +.RE +.SH "´ØÏ¢¥É¥­¥å¥á¥ó¥È" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Javadoc¥Æ¥¯¥Î¥í¥¸ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/index\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥é¥¹¤Î¸¡½ÐÊýË¡ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡ +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +URL¥á¥â¡¢Uniform Resource Locators +(http://www\&.ietf\&.org/rfc/rfc1738\&.txt) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +HTMLɸ½à¡¢HTML Document Representation (4197265¤ª¤è¤Ó4137321) +(http://www\&.w3\&.org/TR/REC\-html40/charset\&.html#h\-5\&.2\&.2) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/javah.1 b/jdk/src/linux/doc/man/ja/javah.1 index b9c445d6b80..e88dfbfaabd 100644 --- a/jdk/src/linux/doc/man/ja/javah.1 +++ b/jdk/src/linux/doc/man/ja/javah.1 @@ -1,139 +1,220 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javah 1 "07 May 2011" - -.LP -.SH "̾Á°" -javah \- C ¥Ø¥Ã¥À¡¼¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¥¸¥§¥Í¥ì¡¼¥¿ -.LP -.LP -\f3javah\fP ¤Ï¡¢Java ¥¯¥é¥¹¤«¤é C ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤È C ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤È¡¢C ¤Ê¤É¤Î¤½¤Î¾¤Î¸À¸ì¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤òÀܳ¤·¡¢¥³¡¼¥É¤¬Áê¸ß¤ËºîÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javah +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javah" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javah \- Java¥¯¥é¥¹¤«¤éC¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -javah [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . . -.fl -\fP +\fIjavah\fR [ \fIoptions\fR ] f\fIully\-qualified\-class\-name \&.\&.\&.\fR .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIfully\-qualified\-class\-name\fR +.RS 4 +C¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤µ¤ì¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ¤µ¤ì¤¿¾ì½ê¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3javah\fP ¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤ËɬÍ×¤Ê C ¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ºîÀ®¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥½¡¼¥¹¥³¡¼¥É¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ò»²¾È¤¹¤ë¤¿¤á¤Ë C ¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£.h ¥Õ¥¡¥¤¥ë¤Ï¡¢Âбþ¤¹¤ë¥¯¥é¥¹¤È°ìÃפ¹¤ëÇÛÃÖ¤ò»ý¤Ä¹½Â¤ÂÎÄêµÁ¤ò´Þ¤ß¤Þ¤¹¡£¹½Â¤ÂΤΥե£¡¼¥ë¥É¤Ï¡¢¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ËÂбþ¤·¤Þ¤¹¡£ -.LP -.LP -¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤È¤½¤ÎÃæ¤ÇÀë¸À¤µ¤ì¤ë¹½Â¤ÂΤÎ̾Á°¤Ï¥¯¥é¥¹¤Î̾Á°¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£\f3javah\fP ¤ËÅϤµ¤ì¤ë¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Ë¤¢¤ë¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë̾¤È¹½Â¤ÂÎ̾¤ÎξÊý¤ËÉղ䵤ì¤Þ¤¹¡£²¼Àþ (_) ¤¬Ì¾Á°¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f3javah\fP ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¥ê¥¹¥È¤µ¤ì¤ë³Æ¥¯¥é¥¹¤Î¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òÃÖ¤­¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢\f2\-stubs\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢¥ê¥¹¥È¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î·ë²Ì¤òÏ¢·ë¤¹¤ë¤Ë¤Ï¡¢\f2\-o\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¿·¤·¤¤¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë Java Native Interface (JNI) ¤Ï¡¢¥Ø¥Ã¥À¡¼¾ðÊó¤Þ¤¿¤Ï¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤òɬÍפȤ·¤Þ¤»¤ó¡£¸½ºß¤Ç¤Ï¡¢\f3javah\fP ¤Ï¡¢JNI ·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ËɬÍפʥͥ¤¥Æ¥£¥Ö¥á¥½¥Ã¥Éµ¡Ç½¥×¥í¥È¥¿¥¤¥×¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\f3javah\fP ¤Ï JNI ·Á¼°¤Ç½ÐÎϤµ¤ì¡¢¤½¤Î·ë²Ì¤Ï .h ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.LP +.PP +\fIjavah\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤ËɬÍפÊC¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ºîÀ®¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¡¦¥½¡¼¥¹¡¦¥³¡¼¥É¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ò»²¾È¤¹¤ë¤¿¤á¤ËC¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£\fI\&.h\fR¥Õ¥¡¥¤¥ë¤Ï¡¢Âбþ¤¹¤ë¥¯¥é¥¹¤È°ìÃפ¹¤ëÇÛÃÖ¤ò»ý¤Ä\fIstruct\fRÄêµÁ¤ò´Þ¤ß¤Þ¤¹¡£\fIstruct\fR¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ËÂбþ¤·¤Þ¤¹¡£ +.PP +¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë¤È¤½¤ÎÃæ¤ÇÀë¸À¤µ¤ì¤ë¹½Â¤ÂΤÎ̾Á°¤Ï¥¯¥é¥¹¤Î̾Á°¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£\fIjavah\fR¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Ë¤¢¤ë¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë̾¤È¹½Â¤ÂÎ̾¤ÎξÊý¤ÎÀèÆ¬¤ËÉղ䵤ì¤Þ¤¹¡£²¼Àþ(_)¤¬Ì¾Á°¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fIjavah\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥ê¥¹¥È¤µ¤ì¤ë³Æ¥¯¥é¥¹¤Î¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òÃÖ¤­¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢\fI\-stubs\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£1¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢¥ê¥¹¥È¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î·ë²Ì¤òÏ¢·ë¤¹¤ë¤Ë¤Ï¡¢\fI\-o\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +Java Native Interface (JNI)¤Ï¥Ø¥Ã¥À¡¼¾ðÊó¤Þ¤¿¤Ï¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤òɬÍפȤ·¤Þ¤»¤ó¡£\fIjavah\fR¥³¥Þ¥ó¥É¤Ï°ú¤­Â³¤­JNI·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥É¤ËɬÍפʥͥ¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥É´Ø¿ô¥×¥í¥È¥¿¥¤¥×¤ÎÀ¸À®¤Ë»ÈÍѤǤ­¤Þ¤¹¡£\fIjavah\fR¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇJNI·Á¼°¤Î½ÐÎϤòÀ¸À®¤·¡¢¤½¤Î·ë²Ì¤ò\fI\&.h\fR¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-o outputfile -¥³¥Þ¥ó¥É¹Ô¤Ë¥ê¥¹¥È¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ËÂФ·¤Æ¡¢·ë²Ì¤Î¥Ø¥Ã¥À¡¼¤Þ¤¿¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÏ¢·ë¤·¤Æ \f2outputfile\fP ¤Ë³ÊǼ¤·¤Þ¤¹¡£\f3\-o\fP ¤Þ¤¿¤Ï \f3\-d\fP ¤Î¤É¤Á¤é¤«°ìÊý¤À¤±¤¬»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-d directory -\f3javah\fP ¤¬¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£\f3\-d\fP ¤Þ¤¿¤Ï \f3\-o\fP ¤Î¤É¤Á¤é¤«°ìÊý¤À¤±¤¬»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-stubs -\f3javah\fP ¤¬¡¢Java ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤«¤é C Àë¸À¤òÀ¸À®¤·¤Þ¤¹¡£ -.TP 3 -\-verbose -¾ÜºÙ½ÐÎϤò»ØÄꤷ¡¢ºîÀ®¥Õ¥¡¥¤¥ë¤Î¾õÂ֤˴ؤ¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¡¢\f3javah\fP ¤¬É¸½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-help -\f3javah\fP ¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Î¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-version -\f3javah\fP ¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-jni -JNI ·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¥Õ¥¡¥¤¥ëµ¡Ç½¥×¥í¥È¥¿¥¤¥×¤ò´Þ¤à½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò¡¢\f3javah\fP ¤¬ºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ïɸ½à½ÐÎϤǤ¢¤ë¤¿¤á¡¢\f3\-jni\fP ¤Î»ÈÍѤϥª¥×¥·¥ç¥ó¤Ç¤¹¡£ -.TP 3 -\-classpath path -¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë \f3javah\fP ¤¬»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï CLASSPATH ´Ä¶­ÊÑ¿ôÀßÄê¤ò¾å½ñ¤­¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2path\fP ¤Î°ìÈÌ·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - .:<your_path> -.fl -\fP -.fi -¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - .:/home/avh/classes:/usr/local/java/classes -.fl -\fP -.fi -.LP -ÊØµ¹¾å¡¢ \f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (Java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ­¤Ê¤¤)¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2foo\fP ¤Ë \f2a.jar\fP ¤È \f2b.JAR\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ \f2foo/*\fP ¤Ï \f2A.jar:b.JAR\fP ¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈ֤ϻØÄꤵ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ \f2*\fP ¤À¤±¤«¤éÀ®¤ë¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£ \f2CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥ÉŸ³«¤Ïɬ¤º¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Îµ¯Æ°Á°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2System.getenv("CLASSPATH")\fP ¸Æ¤Ó½Ð¤·¤Î¤è¤¦¤Ë´Ä¶­¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤ï¤Ê¤¤¸Â¤ê¡¢Java ¥×¥í¥°¥é¥à¤¬Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.TP 3 -\-bootclasspath path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2jre/lib/rt.jar\fP ¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤Î JAR ¥Õ¥¡¥¤¥ë ¤Ë¤¢¤ë¡¢¥³¥¢ Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£ -.TP 3 -\-old -¸Å¤¤ JDK1.0 ·Á¼°¤Î¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-force -½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬¾ï¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.PP +\-o \fIoutputfile\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥ê¥¹¥È¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ËÂФ·¤Æ¡¢·ë²Ì¤Î¥Ø¥Ã¥À¡¼¤Þ¤¿¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÏ¢·ë¤·¤Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Þ¤¹¡£\fI\-o\fR¤Þ¤¿¤Ï\fI\-d\fR¤Î¤É¤Á¤é¤«¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ .RE - -.LP -.SH "´Ä¶­ÊÑ¿ô" -.LP -.RS 3 -.TP 3 -CLASSPATH -¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl -.:/home/avh/classes:/usr/local/java/classes -.fl -\fP -.fi +.PP +\-d \fIdirectory\fR +.RS 4 +\fIjavah\fR¤¬¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£\fI\-d\fR¤Þ¤¿¤Ï\fI\-o\fR¤Î¤É¤Á¤é¤«¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-stubs +.RS 4 +\fIjavah\fR¥³¥Þ¥ó¥É¤¬¡¢Java¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Õ¥¡¥¤¥ë¤«¤éCÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose +.RS 4 +¾ÜºÙ½ÐÎϤò»ØÄꤷ¡¢ºîÀ®¥Õ¥¡¥¤¥ë¤Î¾õÂ֤˴ؤ¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¡¢\fIjavah\fR¥³¥Þ¥ó¥É¤¬\fIɸ½à½ÐÎÏ\fR¤Ë½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +\fIjavah\fR¤Î»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +\fIjavah\fR¥³¥Þ¥ó¥É¤Î¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-jni +.RS 4 +JNI·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥Éµ¡Ç½¥×¥í¥È¥¿¥¤¥×¤ò´Þ¤à½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò¡¢\fIjavah\fR¥³¥Þ¥ó¥É¤¬ºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ïɸ½à½ÐÎϤǤ¢¤ë¤¿¤á¡¢\fI\-jni\fR¤Î»ÈÍѤϥª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.RE +.PP +\-classpath \fIpath\fR +.RS 4 +¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë\fIjavah\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤ÏOracle Solaris¤Î¾ì¹ç¤Ï¥³¥í¥ó¤Ç¡¢Windows¤Î¾ì¹ç¤Ï¥»¥ß¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£¥Ñ¥¹¤Î°ìÈÌŪ¤Ê·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fBOracle Solaris\fR¤Î¾ì¹ç: +.sp +\&.:\fIyour\-path\fR +.sp +Îã: +\fI\&.:/home/avh/classes:/usr/local/java/classes\fR +.sp +\fBWindows\fR¤Î¾ì¹ç: +.sp +\&.;\fIyour\-path\fR +.sp +Îã: +\fI\&.;C:\eusers\edac\eclasses;C:\etools\ejava\eclasses\fR +.sp +ÊØµ¹¾å¡¢*¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¡¦¥Ñ¥¹Í×ÁǤϡ¢\fI\&.jar\fR¤Þ¤¿¤Ï\fI\&.JAR\fR¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê\fImydir\fR¤Ë\fIa\&.jar\fR¤È\fIb\&.JAR\fR¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Ñ¥¹Í×ÁÇ\fImydir/*\fR¤Ï\fIA\fR\fI\&.jar:b\&.JAR\fR¤ËŸ³«¤µ¤ì¤Þ¤¹¤¬¡¢JAR¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤»ØÄê¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£*¤«¤é¤Ê¤ë¥¯¥é¥¹¡¦¥Ñ¥¹¡¦¥¨¥ó¥È¥ê¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ÎŸ³«¤Ï¡¢Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î³«»ÏÁ°¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£Java¥×¥í¥°¥é¥à¤Ï¡¢´Ä¶­¤òÌ䤤¹ç¤»¤ë¾ì¹ç¤ò½ü¤­¡¢Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»²¾È¤·¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\fISystem\&.getenv("CLASSPATH")\fR¤ò¥³¡¼¥ë¤·¤ÆÌ䤤¹ç¤»¤ë¾ì¹ç¤Ç¤¹¡£ +.RE +.PP +\-bootclasspath \fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fIjre\elib\ert\&.jar\fR¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¡¢¥³¥¢Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£ +.RE +.PP +\-old +.RS 4 +¸Å¤¤JDK 1\&.0·Á¼°¤Î¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-force +.RS 4 +½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬¾ï¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -javac(1)¡¢java(1)¡¢jdb(1)¡¢javap(1)¡¢javadoc(1) -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javap(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javadoc(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/javap.1 b/jdk/src/linux/doc/man/ja/javap.1 index 1854f9d552e..152821dfebe 100644 --- a/jdk/src/linux/doc/man/ja/javap.1 +++ b/jdk/src/linux/doc/man/ja/javap.1 @@ -1,317 +1,344 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javap 1 "07 May 2011" - -.LP -.SH "̾Á°" -javap \- Java ¥¯¥é¥¹¥Õ¥¡¥¤¥ëµÕ¥¢¥»¥ó¥Ö¥é -.LP -.LP -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javap +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javap" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javap \- 1¤Ä°Ê¾å¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -javap [ \fP\f3options\fP\f3 ] classes -.fl -\fP +\fIjavap\fR [\fIoptions\fR] \fIclassfile\fR\&.\&.\&. .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclassfile\fR +.RS 4 +Ãí¼á¤Î½èÍýÂоݤȤʤ롢¶õÇò¤Ç¶èÀڤä¿1¤Ä°Ê¾å¤Î¥¯¥é¥¹(DocFooter\&.class¤Ê¤É)¡£¥¯¥é¥¹¡¦¥Ñ¥¹¤Ç¸¡½Ð¤Ç¤­¤ë¥¯¥é¥¹¤ò¡¢¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤ÏURL(\fIfile:///home/user/myproject/src/DocFooter\&.class\fR¤Ê¤É)¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3javap\fP ¥³¥Þ¥ó¥É¤Ï¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£¤½¤Î½ÐÎϤϻØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê°Û¤Ê¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\f3javap\fP ¤Ï¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¡¢ÅϤµ¤ì¤¿¥¯¥é¥¹¤Î protected ¤ª¤è¤Ó public ¤Î¥Õ¥£¡¼¥ë¥É¤È¥á¥½¥Ã¥É¤ò½ÐÎϤ·¤Þ¤¹¡£\f3javap\fP ¤Ï¤½¤Î½ÐÎϤòɸ½à½ÐÎϤËɽ¼¨¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -classes -Ãí¼á¤Î½èÍýÂоݤȤʤë 1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹ \f2DocFooter.class\fP ¤Ê¤É) ¤Î¥ê¥¹¥È (¶õÇò¶èÀÚ¤ê)¡£¥¯¥é¥¹¥Ñ¥¹¤Ç¸«¤Ä¤«¤ë¥¯¥é¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë̾ ( \f2/home/user/myproject/src/DocFooter.class\fP ¤Ê¤É) ¤Þ¤¿¤Ï URL ( \f2file:///home/user/myproject/src/DocFooter.class\fP ¤Ê¤É) ¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RE - -.LP -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥¯¥é¥¹Àë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -import java.awt.*; -.fl -import java.applet.*; -.fl - -.fl -public class DocFooter extends Applet { -.fl - String date; -.fl - String email; -.fl - -.fl - public void init() { -.fl - resize(500,100); -.fl - date = getParameter("LAST_UPDATED"); -.fl - email = getParameter("EMAIL"); -.fl - } -.fl - -.fl - public void paint(Graphics g) { -.fl - g.drawString(date + " by ",100, 15); -.fl - g.drawString(email,290,15); -.fl - } -.fl -} -.fl -\fP -.fi - -.LP -.LP -\f3javap DocFooter.class\fP ¤¬¤â¤¿¤é¤¹½ÐÎϤϼ¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -Compiled from "DocFooter.java" -.fl -public class DocFooter extends java.applet.Applet { -.fl - java.lang.String date; -.fl - java.lang.String email; -.fl - public DocFooter(); -.fl - public void init(); -.fl - public void paint(java.awt.Graphics); -.fl -} -.fl -\fP -.fi - -.LP -.LP -\f3javap \-c DocFooter.class\fP ¤¬¤â¤¿¤é¤¹½ÐÎϤϼ¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -Compiled from "DocFooter.java" -.fl -public class DocFooter extends java.applet.Applet { -.fl - java.lang.String date; -.fl - -.fl - java.lang.String email; -.fl - -.fl - public DocFooter(); -.fl - Code: -.fl - 0: aload_0 -.fl - 1: invokespecial #1 // Method java/applet/Applet."<init>":()V -.fl - 4: return -.fl - -.fl - public void init(); -.fl - Code: -.fl - 0: aload_0 -.fl - 1: sipush 500 -.fl - 4: bipush 100 -.fl - 6: invokevirtual #2 // Method resize:(II)V -.fl - 9: aload_0 -.fl - 10: aload_0 -.fl - 11: ldc #3 // String LAST_UPDATED -.fl - 13: invokevirtual #4 // Method getParameter:(Ljava/lang/String;)Ljava/lang/String; -.fl - 16: putfield #5 // Field date:Ljava/lang/String; -.fl - 19: aload_0 -.fl - 20: aload_0 -.fl - 21: ldc #6 // String EMAIL -.fl - 23: invokevirtual #4 // Method getParameter:(Ljava/lang/String;)Ljava/lang/String; -.fl - 26: putfield #7 // Field email:Ljava/lang/String; -.fl - 29: return -.fl - -.fl - public void paint(java.awt.Graphics); -.fl - Code: -.fl - 0: aload_1 -.fl - 1: new #8 // class java/lang/StringBuilder -.fl - 4: dup -.fl - 5: invokespecial #9 // Method java/lang/StringBuilder."<init>":()V -.fl - 8: aload_0 -.fl - 9: getfield #5 // Field date:Ljava/lang/String; -.fl - 12: invokevirtual #10 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; -.fl - 15: ldc #11 // String by -.fl - 17: invokevirtual #10 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; -.fl - 20: invokevirtual #12 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; -.fl - 23: bipush 100 -.fl - 25: bipush 15 -.fl - 27: invokevirtual #13 // Method java/awt/Graphics.drawString:(Ljava/lang/String;II)V -.fl - 30: aload_1 -.fl - 31: aload_0 -.fl - 32: getfield #7 // Field email:Ljava/lang/String; -.fl - 35: sipush 290 -.fl - 38: bipush 15 -.fl - 40: invokevirtual #13 // Method java/awt/Graphics.drawString:(Ljava/lang/String;II)V -.fl - 43: return -.fl -} -.fl -\fP -.fi - -.LP +.PP +\fIjavap\fR¥³¥Þ¥ó¥É¤Ï¡¢1¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£¤½¤Î½ÐÎϤϻØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê°Û¤Ê¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fIjavap\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¡¢ÅϤµ¤ì¤¿¥¯¥é¥¹¤Îprotected¤ª¤è¤Ópublic¤Î¥Õ¥£¡¼¥ë¥É¤È¥á¥½¥Ã¥É¤ò½ÐÎϤ·¤Þ¤¹¡£\fIjavap\fR¥³¥Þ¥ó¥É¤Ï¤½¤Î½ÐÎϤò\fIɸ½à½ÐÎÏ\fR¤Ëɽ¼¨¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-help \-\-help \-? -\f3javap\fP ¤Î¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-l -¹ÔÈÖ¹æ¤È¶É½êÊÑ¿ô¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-public -public ¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-protected -protected ¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-package -package¡¢protected¡¢¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤¹¡£ -.TP 3 -\-private \-p -¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-Jflag -¥é¥ó¥¿¥¤¥à¥·¥¹¥Æ¥à¤ËľÀÜ \f2flag\fP ¤òÅϤ·¤Þ¤¹¡£»ÈÍÑÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -javap \-J\-version -.fl -javap \-J\-Djava.security.manager \-J\-Djava.security.policy=MyPolicy MyClassName -.fl -\fP -.fi -.TP 3 -\-s -ÆâÉô¤Î·¿¥·¥°¥Ë¥Á¥ã¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-sysinfo -½èÍýÃæ¤Î¥¯¥é¥¹¤Î¥·¥¹¥Æ¥à¾ðÊó (¥Ñ¥¹¡¢¥µ¥¤¥º¡¢ÆüÉÕ¡¢MD5 ¥Ï¥Ã¥·¥å) ¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-constants -static final Äê¿ô¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-c -¥¯¥é¥¹¤Î³Æ¥á¥½¥Ã¥É¤Î¤¿¤á¤ËµÕ¥¢¥»¥ó¥Ö¥ë¤µ¤ì¤ë¥³¡¼¥É¡¢¤¹¤Ê¤ï¤Á Java ¥Ð¥¤¥È¥³¡¼¥É¤«¤éÀ®¤ëÌ¿Îá¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï -.na -\f2¡ÖJava Virtual Machine Specification¡×\fP @ -.fi -http://java.sun.com/docs/books/vmspec/¤Ë¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-verbose -¥á¥½¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¥µ¥¤¥º¡¢¤ª¤è¤Ó \f2locals\fP ¤È \f2args\fP ¤Î¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-classpath path -\f3javap\fP ¤¬¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï CLASSPATH ´Ä¶­ÊÑ¿ôÀßÄê¤ò¾å½ñ¤­¤·¤Þ¤¹¡£ -.TP 3 -\-bootclasspath path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2jre/lib/rt.jar\fP ¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤Î JAR ¥Õ¥¡¥¤¥ë ¤Ë¤¢¤ë¡¢¥³¥¢ Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£ -.TP 3 -\-extdirs dirs -¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿³ÈÄ¥µ¡Ç½¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2java.ext.dirs\fP ¤Ë¤¢¤ê¤Þ¤¹¡£ +.PP +\-help, \-\-help, \-? +.RS 4 +\fIjavap\fR¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Î¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ .RE - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.LP -javac(1)¡¢java(1)¡¢jdb(1)¡¢javah(1)¡¢javadoc(1) -.LP +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-l +.RS 4 +¹ÔÈÖ¹æ¤È¥í¡¼¥«¥ëÊÑ¿ôɽ¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-public +.RS 4 +public¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤Î¤ßɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-protected +.RS 4 +protected¤ª¤è¤Ópublic¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤Î¤ß¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-private, \-p +.RS 4 +¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤òJVM¤ËÅϤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javap \-J\-version +javap \-J\-Djava\&.security\&.manager \-J\-Djava\&.security\&.policy=MyPolicy MyClassName +.fi +.if n \{\ +.RE +.\} +JVM¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ï¡¢¥³¥Þ¥ó¥É¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-s +.RS 4 +ÆâÉô¤Î·¿¥·¥°¥Ë¥Á¥ã¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-sysinfo +.RS 4 +½èÍýÃæ¤Î¥¯¥é¥¹¤Î¥·¥¹¥Æ¥à¾ðÊó(¥Ñ¥¹¡¢¥µ¥¤¥º¡¢ÆüÉÕ¡¢MD5¥Ï¥Ã¥·¥å)¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-constants +.RS 4 +\fIstatic final\fRÄê¿ô¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-c +.RS 4 +¥¯¥é¥¹¤Î³Æ¥á¥½¥Ã¥É¤Î¤¿¤á¤ËµÕ¥¢¥»¥ó¥Ö¥ë¤µ¤ì¤ë¥³¡¼¥É¡¢¤¹¤Ê¤ï¤ÁJava¥Ð¥¤¥È¥³¡¼¥É¤«¤é¤Ê¤ëÌ¿Îá¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose +.RS 4 +¥á¥½¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º¡¢locals¤Èarguments¤Î¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-classpath \fIpath\fR +.RS 4 +¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë\fIjavap\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-bootclasspath \fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fIjre/lib/rt\&.jar\fR¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¡¢¥³¥¢Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£ +.RE +.PP +\-extdir \fIdirs\fR +.RS 4 +¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿³ÈÄ¥µ¡Ç½¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤Î¥Ç¥Õ¥©¥ë¥È°ÌÃÖ¤Ï\fIjava\&.ext\&.dirs\fR¤Ç¤¹¡£ +.RE +.SH "Îã" +.PP +¼¡¤Î\fIDocFooter\fR¥¯¥é¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +import java\&.awt\&.*; +import java\&.applet\&.*; +public class DocFooter extends Applet { + String date; + String email; + + public void init() { + resize(500,100); + date = getParameter("LAST_UPDATED"); + email = getParameter("EMAIL"); + } + + public void paint(Graphics g) { + g\&.drawString(date + " by ",100, 15); + g\&.drawString(email,290,15); + } +} +.fi +.if n \{\ +.RE +.\} +.PP +\fIjavap DocFooter\&.class\fR¥³¥Þ¥ó¥É¤«¤é¤Î½ÐÎϤϼ¡¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Compiled from "DocFooter\&.java" +public class DocFooter extends java\&.applet\&.Applet { + java\&.lang\&.String date; + java\&.lang\&.String email; + public DocFooter(); + public void init(); + public void paint(java\&.awt\&.Graphics); +} +.fi +.if n \{\ +.RE +.\} +.PP +\fIjavap \-c DocFooter\&.class\fR¥³¥Þ¥ó¥É¤«¤é¤Î½ÐÎϤϼ¡¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Compiled from "DocFooter\&.java" +public class DocFooter extends java\&.applet\&.Applet { + java\&.lang\&.String date; + java\&.lang\&.String email; + + public DocFooter(); + Code: + 0: aload_0 + 1: invokespecial #1 // Method +java/applet/Applet\&."<init>":()V + 4: return + + public void init(); + Code: + 0: aload_0 + 1: sipush 500 + 4: bipush 100 + 6: invokevirtual #2 // Method resize:(II)V + 9: aload_0 + 10: aload_0 + 11: ldc #3 // String LAST_UPDATED + 13: invokevirtual #4 // Method + getParameter:(Ljava/lang/String;)Ljava/lang/String; + 16: putfield #5 // Field date:Ljava/lang/String; + 19: aload_0 + 20: aload_0 + 21: ldc #6 // String EMAIL + 23: invokevirtual #4 // Method + getParameter:(Ljava/lang/String;)Ljava/lang/String; + 26: putfield #7 // Field email:Ljava/lang/String; + 29: return + + public void paint(java\&.awt\&.Graphics); + Code: + 0: aload_1 + 1: new #8 // class java/lang/StringBuilder + 4: dup + 5: invokespecial #9 // Method + java/lang/StringBuilder\&."<init>":()V + 8: aload_0 + 9: getfield #5 // Field date:Ljava/lang/String; + 12: invokevirtual #10 // Method + java/lang/StringBuilder\&.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; + 15: ldc #11 // String by + 17: invokevirtual #10 // Method + java/lang/StringBuilder\&.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; + 20: invokevirtual #12 // Method + java/lang/StringBuilder\&.toString:()Ljava/lang/String; + 23: bipush 100 + 25: bipush 15 + 27: invokevirtual #13 // Method + java/awt/Graphics\&.drawString:(Ljava/lang/String;II)V + 30: aload_1 + 31: aload_0 + 32: getfield #7 // Field email:Ljava/lang/String; + 35: sipush 290 + 38: bipush 15 + 40: invokevirtual #13 // Method +java/awt/Graphics\&.drawString:(Ljava/lang/String;II)V + 43: return +} +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javadoc(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/javaws.1 b/jdk/src/linux/doc/man/ja/javaws.1 index 500e6a7cba8..fc32e88de73 100644 --- a/jdk/src/linux/doc/man/ja/javaws.1 +++ b/jdk/src/linux/doc/man/ja/javaws.1 @@ -1,222 +1,232 @@ -." Copyright (c) 2003, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javaws 1 "07 May 2011" - -.LP -.SH "̾Á°" -\f2javaws\fP ¥³¥Þ¥ó¥É¹Ô -.LP -.SH "̾Á°" -.LP -.LP -\f2javaws\fP \- Java Web Start µ¯Æ°¥³¥Þ¥ó¥É -.LP -.SH "·Á¼°" -.LP -.LP -\f2javaws [run\-options] <jnlp>\fP -.LP -.LP -\f2javaws [control\-options]\fP -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.LP -\f2[run\-options]\fP -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¼Â¹Ô¥ª¥×¥·¥ç¥ó¡£¼Â¹Ô¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£³Æ¼ï¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢²¼¤Î ¡Ö¼Â¹Ô¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2<jnlp>\fP -.LP -.LP -JNLP (Java Network Launching Protocol) ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤Þ¤¿¤Ï URL (Uniform Resource Locator) ¤Î¤É¤Á¤é¤«¤Ç¤¹¡£ -.LP -.LP -\f2[control\-options]\fP -.LP -.LP -¥³¥Þ¥ó¥É¹ÔÀ©¸æ¥ª¥×¥·¥ç¥ó¡£À©¸æ¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£³Æ¼ï¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢²¼¤Î ¡ÖÀ©¸æ¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +'\" t +.\" Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javaws +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web Start¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javaws" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web Start¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javaws \- Java Web Start¤òµ¯Æ°¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjavaws\fR [ \fIrun\-options\fR ] \fIjnlp\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjavaws\fR [ \fIcontrol\-options\fR ] +.fi +.if n \{\ +.RE +.\} +.PP +\fIrun\-options\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó\fI¼Â¹Ô¥ª¥×¥·¥ç¥ó\fR¡£\fI¼Â¹Ô¥ª¥×¥·¥ç¥ó\fR¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£¼Â¹Ô¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIjnlp\fR +.RS 4 +JNLP (Java Network Launching Protocol)¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤Þ¤¿¤ÏURL (Uniform Resource Locator)¤Î¤É¤Á¤é¤«¡£ +.RE +.PP +\fIÀ©¸æ¥ª¥×¥·¥ç¥ó\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó\fIÀ©¸æ¥ª¥×¥·¥ç¥ó\fR¡£\fIÀ©¸æ¥ª¥×¥·¥ç¥ó\fR¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£À©¸æ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f2javaws\fP ¥³¥Þ¥ó¥É¤Ï¡¢JNLP (Java Network Launching Protocol) ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤Ç¤¢¤ë Java Web Start ¤òµ¯Æ°¤·¤Þ¤¹¡£Java Web Start ¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Çưºî¤¹¤ë Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -JNLP ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢ \f2javaws\fP ¤Ï¡¢¤½¤Î JNLP ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¢¥×¥ì¥Ã¥È¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -\f2javaws\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¤Ï¡¢¸½ºß¤Î¥ê¥ê¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë 1 ÁȤΥª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ïºï½ü¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP +.PP +\fBÃí°Õ:\fR +\fIjavaws\fR¥³¥Þ¥ó¥É¤Ï¡¢Oracle Solaris¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.PP +\fIjavaws\fR¥³¥Þ¥ó¥É¤Ï¡¢JNLP¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤Ç¤¢¤ëJava Web Start¤òµ¯Æ°¤·¤Þ¤¹¡£Java Web Start¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Çưºî¤¹¤ëJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ª¤è¤Ó¥¢¥×¥ì¥Ã¥È¤òµ¯Æ°¤·¤Þ¤¹¡£ +.PP +JNLP¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤ë¤È¡¢\fIjavaws\fR¥³¥Þ¥ó¥É¤ÏJNLP¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤òµ¯Æ°¤·¤Þ¤¹¡£ +.PP +\fIjavaws\fRµ¯Æ°¥Ä¡¼¥ë¤Ë¤Ï¡¢¸½ºß¤Î¥ê¥ê¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë1ÁȤΥª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ïºï½ü¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ .SH "¼Â¹Ô¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f2\-offline\fP -.LP -.LP -Java Web Start ¤ò¥ª¥Õ¥é¥¤¥ó¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-Xnosplash\fP -.LP -.LP +.PP +\-offline +.RS 4 +Java Web Start¤ò¥ª¥Õ¥é¥¤¥ó¡¦¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-Xnosplash +.RS 4 ½é´ü¥¹¥×¥é¥Ã¥·¥å²èÌ̤òɽ¼¨¤·¤Þ¤»¤ó¡£ -.LP -.LP -\f2\-open <arguments>\fP -.LP -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢JNLP ¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤¬ \f2\-open <arguments>\fP ¤ËÃÖ¤­´¹¤ï¤ê¤Þ¤¹¡£ -.LP -.LP -\f2\-print <arguments>\fP -.LP -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢JNLP ¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤¬ \f2\-print <arguments>\fP ¤ËÃÖ¤­´¹¤ï¤ê¤Þ¤¹¡£ -.LP -.LP -\f2\-online\fP -.LP -.LP -¥ª¥ó¥é¥¤¥ó¥â¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤Îưºî)¡£ -.LP -.LP -\f2\-wait\fP -.LP -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ \f2javaws\fP ¥×¥í¥»¥¹¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬½ªÎ»¤¹¤ë¤Þ¤Ç½ªÎ»¤·¤Þ¤»¤ó¡£Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÀâÌÀ¤·¤¿¤È¤ª¤ê¤Ëµ¡Ç½¤·¤Þ¤»¤ó¡£ -.LP -.LP -\f2\-verbose\fP -.LP -.LP +.RE +.PP +\-open \fIarguments\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢JNLP¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤¬\fI\-open\fR +\fIarguments\fR¤ËÃÖ¤­´¹¤ï¤ê¤Þ¤¹¡£ +.RE +.PP +\-print \fIarguments\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢JNLP¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤¬\fI\-print\fR +\fIarguments\fR¤ËÃÖ¤­´¹¤ï¤ê¤Þ¤¹¡£ +.RE +.PP +\-online +.RS 4 +¥ª¥ó¥é¥¤¥ó¡¦¥â¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ +.RE +.PP +\-wait +.RS 4 +\fIjavaws\fR¥×¥í¥»¥¹¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬½ªÎ»¤¹¤ë¤Þ¤Ç½ªÎ»¤·¤Þ¤»¤ó¡£Windows¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÀâÌÀ¤·¤¿¤È¤ª¤ê¤Ëµ¡Ç½¤·¤Þ¤»¤ó¡£ +.RE +.PP +\-verbose +.RS 4 ÄɲäνÐÎϤòɽ¼¨¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-J<option>\fP -.LP -.LP -vm ¤Ë¥ª¥×¥·¥ç¥ó¤òÊ䤤¤Þ¤¹¡£ -.LP -.LP -\f2\-system\fP -.LP -.LP -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥·¥¹¥Æ¥à¥­¥ã¥Ã¥·¥å¤«¤é¤Î¤ß¼Â¹Ô¤·¤Þ¤¹¡£ -.LP +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ëoption¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-system +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥·¥¹¥Æ¥à¡¦¥­¥ã¥Ã¥·¥å¤Î¤ß¤«¤é¼Â¹Ô¤·¤Þ¤¹¡£ +.RE .SH "À©¸æ¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f2\-viewer\fP -.LP -.LP -Java ¥³¥ó¥È¥í¡¼¥ë¥Ñ¥Í¥ë¤Ç¥­¥ã¥Ã¥·¥å¥Ó¥å¡¼¥¢¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-clearcache\fP -.LP -.LP +.PP +\-viewer +.RS 4 +Java¥³¥ó¥È¥í¡¼¥ë¡¦¥Ñ¥Í¥ë¤Ç¥­¥ã¥Ã¥·¥å¡¦¥Ó¥å¡¼¥¢¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-clearcache +.RS 4 ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥­¥ã¥Ã¥·¥å¤«¤éºï½ü¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-userConfig <property name>\fP -.LP -.LP -»ØÄꤵ¤ì¤¿ÇÛÈ÷¥×¥í¥Ñ¥Æ¥£¡¼¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-userConfig <property name> <property value>\fP -.LP -.LP -»ØÄꤵ¤ì¤¿ÇÛÈ÷¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f2\-uninstall\fP -.LP -.LP +.RE +.PP +\-userConfig \fIproperty\-name\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥×¥í¥Ñ¥Æ¥£¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£ +.RE +.PP +\-userConfig \fIproperty\-name property\-value\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-uninstall +.RS 4 ¥­¥ã¥Ã¥·¥å¤«¤é¤¹¤Ù¤Æ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-uninstall <jnlp>\fP -.LP -.LP +.RE +.PP +\-uninstall \fIjnlp\fR +.RS 4 ¥­¥ã¥Ã¥·¥å¤«¤é¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-import [import\-options] <jnlp>\fP -.LP -.LP +.RE +.PP +\-print \fIimport\-options \fRjnlp +.RS 4 ¥­¥ã¥Ã¥·¥å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ -.LP -.SH "¥¤¥ó¥Ý¡¼¥È¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f2\-silent\fP -.LP -.LP -¥µ¥¤¥ì¥ó¥È¥â¡¼¥É¤Ç¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹ (UI ¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)¡£ -.LP -.LP -\f2\-system\fP -.LP -.LP -¥·¥¹¥Æ¥à¥­¥ã¥Ã¥·¥å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-codebase <url>\fP -.LP -.LP -Ǥ°Õ¤Î codebase ¤«¤é¥ê¥½¡¼¥¹¤ò¼èÆÀ¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-shortcut\fP -.LP -.LP -¥æ¡¼¥¶¡¼µöÍÆ¥×¥í¥ó¥×¥È¤Î¤è¤¦¤Ë¥·¥ç¡¼¥È¥«¥Ã¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ \f2\-silent\fP ¥ª¥×¥·¥ç¥ó¤â»ÈÍѤ·¤Ê¤¤¤È¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.LP -\f2\-association\fP -.LP -.LP -¥æ¡¼¥¶¡¼µöÍÆ¥×¥í¥ó¥×¥È¤Î¤è¤¦¤Ë´ØÏ¢ÉÕ¤±¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ \f2\-silent\fP ¥ª¥×¥·¥ç¥ó¤â»ÈÍѤ·¤Ê¤¤¤È¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£ -.LP +.RE +.SH "¥¤¥ó¥Ý¡¼¥È¡¦¥ª¥×¥·¥ç¥ó" +.PP +\-silent +.RS 4 +¥µ¥¤¥ì¥ó¥È¡¦¥â¡¼¥É¤Ç¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹(¥æ¡¼¥¶¡¼¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)¡£ +.RE +.PP +\-system +.RS 4 +¥·¥¹¥Æ¥à¡¦¥­¥ã¥Ã¥·¥å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.RE +.PP +\-codebase \fIurl\fR +.RS 4 +»ØÄꤷ¤¿¥³¡¼¥É¥Ù¡¼¥¹¤«¤é¥ê¥½¡¼¥¹¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.PP +\-shortcut +.RS 4 +¥æ¡¼¥¶¡¼¤¬¥×¥í¥ó¥×¥È¤ò¼õ¤±Æþ¤ì¤ì¤Ð¥·¥ç¡¼¥È¥«¥Ã¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ +\fI\-silent\fR¥ª¥×¥·¥ç¥ó¤â»ÈÍѤ·¤Ê¤¤¤È¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-association +.RS 4 +¥æ¡¼¥¶¡¼¤¬¥×¥í¥ó¥×¥È¤ò¼õ¤±Æþ¤ì¤ì¤Ð¥¢¥½¥·¥¨¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ +\fI\-silent\fR¥ª¥×¥·¥ç¥ó¤â»ÈÍѤ·¤Ê¤¤¤È¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\fBÃí°Õ:\fR\fIjavaws \-shortcut \-uninstall\fR .SH "¥Õ¥¡¥¤¥ë" -.LP -.LP -¥æ¡¼¥¶¡¼¥­¥ã¥Ã¥·¥å¡¢¥·¥¹¥Æ¥à¥­¥ã¥Ã¥·¥å¡¢¤ª¤è¤Ó deployment.properties ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¥·¥¹¥Æ¥à¥ì¥Ù¥ë¤ª¤è¤Ó¥æ¡¼¥¶¡¼¥ì¥Ù¥ë¤Î¥×¥í¥Ñ¥Æ¥£¡¼\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "¾ÜºÙ¾ðÊó" -.LP -.LP -Java Web Start ¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2¡ÖJava Web Start¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP - +.PP +¥æ¡¼¥¶¡¼¤ª¤è¤Ó¥·¥¹¥Æ¥à¡¦¥­¥ã¥Ã¥·¥å¤Ê¤é¤Ó¤Ëdeployment\&.properties¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢¹½À®¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥×¥í¥Ñ¥Æ¥£¤Î¥Ç¥×¥í¥¤¥á¥ó¥È +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/deployment/deployment\-guide/properties\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java Web Start +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javaws/index\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jcmd.1 b/jdk/src/linux/doc/man/ja/jcmd.1 new file mode 100644 index 00000000000..d79de5a2d19 --- /dev/null +++ b/jdk/src/linux/doc/man/ja/jcmd.1 @@ -0,0 +1,154 @@ +'\" t +.\" Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jcmd +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jcmd" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jcmd \- ¼Â¹ÔÃæ¤ÎJava²¾ÁÛ¥Þ¥·¥ó(JVM)¤Ë¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjcmd\fR [\fI\-l\fR|\fI\-h\fR|\fI\-help\fR] +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjcmd\fR \fIpid\fR|\fImain\-class\fR \fIPerfCounter\&.print\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjcmd\fR \fIpid\fR|\fImain\-class\fR \fI\-f\fR \fIfilename\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjcmd\fR \fIpid\fR|\fImain\-class\fR \fIcommand\fR[ \fIarguments\fR] +.fi +.if n \{\ +.RE +.\} +.SH "ÀâÌÀ" +.PP +\fIjcmd\fR¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢JVM¤Ë¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤ÏJVM¤¬²ÔƯ¤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¥Þ¥·¥ó¤Ç»ÈÍѤ·¡¢JVM¤Îµ¯Æ°¤Ë»ÈÍѤ·¤¿¤â¤Î¤ÈƱ¤¸Í­¸ú¥æ¡¼¥¶¡¼¤ª¤è¤Ó¥°¥ë¡¼¥×¼±Ê̻Ҥò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¥ê¥â¡¼¥È¡¦¥Þ¥·¥ó¤«¤é¡¢¤Þ¤¿¤ÏÊ̤μ±Ê̻ҤǿÇÃÇ¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢\fIcom\&.sun\&.management\&.DiagnosticCommandMBean\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤǤ­¤Þ¤¹¡£\fIDiagnosticCommandMBean\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ÜºÙ¤Ï¡¢http://download\&.java\&.net/jdk8/docs/jre/api/management/extension/com/sun/management/DiagnosticCommandMBean\&.html¤Ë¤¢¤ëAPI¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIjcmd\fR¤ò°ú¿ô¤Ê¤·¤Þ¤¿¤Ï\fI\- l\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¼Â¹Ô¤·¤¿¾ì¹ç¤Ï¡¢¼Â¹ÔÃæ¤ÎJava¥×¥í¥»¥¹¼±Ê̻ҤΥꥹ¥È¤¬¡¢¥á¥¤¥ó¡¦¥¯¥é¥¹¤ª¤è¤Ó¥×¥í¥»¥¹¤Îµ¯Æ°¤Ë»ÈÍѤµ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤È¤È¤â¤Ë½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-h\fR¤Þ¤¿¤Ï\fI\-help\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ\fIjcmd\fR¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ä¡¼¥ë¤Î¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.PP +¥×¥í¥»¥¹¼±ÊÌ»Ò(\fIpid\fR)¤Þ¤¿¤Ï¥á¥¤¥ó¡¦¥¯¥é¥¹(\fImain\-class\fR)¤òºÇ½é¤Î°ú¿ô¤È¤·¤Æ»ØÄꤷ¤¿¾ì¹ç¡¢\fIjcmd\fR¤Ï¡¢¼±Ê̻Ҥò»ØÄꤷ¤¿¾ì¹ç¤ÏJava¥×¥í¥»¥¹¤Ë¡¢¥á¥¤¥ó¡¦¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¤¹¤Ù¤Æ¤ÎJava¥×¥í¥»¥¹¤Ë¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤·¤Þ¤¹¡£¥×¥í¥»¥¹¼±Ê̻ҤȤ·¤Æ\fI0\fR¤ò»ØÄꤷ¤Æ¡¢¤¹¤Ù¤Æ¤Î»ÈÍѲÄǽ¤ÊJava¥×¥í¥»¥¹¤Ë¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤È¤·¤Æ¡¢¼¡¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +Perfcounter\&.print +.RS 4 +»ØÄꤷ¤¿Java¥×¥í¥»¥¹¤Ç»ÈÍѲÄǽ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡¦¥«¥¦¥ó¥¿¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡¦¥«¥¦¥ó¥¿¤Î¥ê¥¹¥È¤ÏJava¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-f \fIfilename\fR +.RS 4 +¿ÇÃÇ¥³¥Þ¥ó¥É¤òÆÉ¤ß¼è¤ê¡¢»ØÄꤷ¤¿Java¥×¥í¥»¥¹¤ËÁ÷¿®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡£\fI\-f\fR¥ª¥×¥·¥ç¥ó¤Ç¤Î¤ß»ÈÍѤ·¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥³¥Þ¥ó¥É¤Ï¡¢1¹Ô¤Çµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Èֹ浭¹æ(\fI#\fR)¤Ç»Ï¤Þ¤ë¹Ô¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¹Ô¤¬ÆÉ¤ß¼è¤é¤ì¤ë¤«¡¢\fIstop\fR¥­¡¼¥ï¡¼¥É¤ò´Þ¤à¹Ô¤¬ÆÉ¤ß¼è¤é¤ì¤ë¤È¡¢¥Õ¥¡¥¤¥ë¤Î½èÍý¤¬½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\fIcommand\fR [\fIarguments\fR] +.RS 4 +»ØÄꤵ¤ì¤¿Java¥×¥í¥»¥¹¤ËÁ÷¿®¤¹¤ë¥³¥Þ¥ó¥É¡£»ØÄꤷ¤¿¥×¥í¥»¥¹¤Ç»ÈÍѤǤ­¤ë¿ÇÃÇ¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤Ï¡¢¤³¤Î¥×¥í¥»¥¹¤ËÂФ·¤Æ\fIhelp\fR¥³¥Þ¥ó¥É¤òÁ÷¿®¤¹¤ì¤Ðɽ¼¨¤µ¤ì¤Þ¤¹¡£³Æ¿ÇÃÇ¥³¥Þ¥ó¥É¤ËÆÈ¼«¤Î°ú¿ô¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¤ÎÀâÌÀ¡¢¹½Ê¸¤ª¤è¤Ó»ÈÍѲÄǽ¤Ê°ú¿ô¤Î¥ê¥¹¥È¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢\fIhelp\fR¥³¥Þ¥ó¥É¤Î°ú¿ô¤È¤·¤Æ¥³¥Þ¥ó¥É̾¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +°ú¿ô¤Ë¥¹¥Ú¡¼¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°ì½Å°úÍÑÉä¤Þ¤¿¤ÏÆó½Å°úÍÑÉä(\fI\*(Aq\fR¤Þ¤¿¤Ï\fI"\fR)¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£²Ã¤¨¤Æ¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡¦¥·¥§¥ë¤¬°úÍÑÉä¤ò½èÍý¤·¤Ê¤¤¤è¤¦¤Ë¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å(\fI\e\fR)¤Ç°ì½Å°úÍÑÉä¤Þ¤¿¤ÏÆó½Å°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¤³¤ì¤é¤Î°ú¿ô¤ò°ì½Å°úÍÑÉä¤Ç°Ï¤ó¤Ç¤«¤é¡¢Æó½Å°úÍÑÉä¤Ç°Ï¤à¤³¤È¤â¤Ç¤­¤Þ¤¹(¤Þ¤¿¤ÏÆó½Å°úÍÑÉä¤Ç°Ï¤ó¤Ç¤«¤é¡¢°ì½Å°úÍÑÉä¤Ç°Ï¤à)¡£ +.RE +.SH "¥ª¥×¥·¥ç¥ó" +.PP +³Æ¥ª¥×¥·¥ç¥ó¤Ï¸ß¤¤¤ËÇÓ¾Ū¤Ç¤¹¡£ +.PP +\-f \fIfilename\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤«¤é¥³¥Þ¥ó¥É¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ºÇ½é¤Î°ú¿ô¤È¤·¤Æ¥×¥í¥»¥¹¼±Ê̻Ҥޤ¿¤Ï¥á¥¤¥ó¡¦¥¯¥é¥¹¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥³¥Þ¥ó¥É¤Ï¡¢1¹Ô¤Çµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Èֹ浭¹æ(\fI#\fR)¤Ç»Ï¤Þ¤ë¹Ô¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¹Ô¤¬ÆÉ¤ß¼è¤é¤ì¤ë¤«¡¢\fIstop\fR¥­¡¼¥ï¡¼¥É¤ò´Þ¤à¹Ô¤¬ÆÉ¤ß¼è¤é¤ì¤ë¤È¡¢¥Õ¥¡¥¤¥ë¤Î½èÍý¤¬½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-h, \-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-l +.RS 4 +¼Â¹ÔÃæ¤ÎJava¥×¥í¥»¥¹¼±Ê̻ҤΥꥹ¥È¤ò¥á¥¤¥ó¡¦¥¯¥é¥¹¤ª¤è¤Ó¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£ +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jconsole.1 b/jdk/src/linux/doc/man/ja/jconsole.1 index fc9c17c2a59..426fb365ba8 100644 --- a/jdk/src/linux/doc/man/ja/jconsole.1 +++ b/jdk/src/linux/doc/man/ja/jconsole.1 @@ -1,157 +1,156 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jconsole 1 "07 May 2011" - -.LP -.SH "̾Á°" -jconsole \- Java ´Æ»ë¤ª¤è¤Ó´ÉÍý¥³¥ó¥½¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jconsole +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¢¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó´ÉÍý¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jconsole" "1" "2013ǯ11·î21Æü" "JDK 8" "Java¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¢¥â¥Ë¥¿¥ê¥ó" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jconsole \- Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò´Æ»ë¤ª¤è¤Ó´ÉÍý¤¹¤ë¤¿¤á¤Î¥°¥é¥Õ¥£¥«¥ë¡¦¥³¥ó¥½¡¼¥ë¤ò³«»Ï¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jconsole\fP [ \f2options\fP ] [ connection ... ] -.fl - -.fl +\fIjconsole\fR [ \fIoptions\fR ] [ connection \&.\&.\&. ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -connection = pid | host:port | jmxUrl -.RS 3 -.TP 2 -o -\f2pid\fP¥í¡¼¥«¥ë¤Î Java VM ¤Î¥×¥í¥»¥¹ ID¡£Java VM ¤Ï¡¢jconsole ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼ ID ¤ÈƱ¤¸¥æ¡¼¥¶¡¼ ID ¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJMX ´Æ»ë¤ª¤è¤Ó´ÉÍý¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f2host\fP:\f2port\fP Java VM ¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¥Û¥¹¥È¥·¥¹¥Æ¥à¤Î̾Á°¤È¡¢JVM ¤òµ¯Æ°¤·¤¿¤È¤­¤Ë¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼ \f2com.sun.management.jmxremote.port\fP ¤Ç»ØÄꤷ¤¿¥Ý¡¼¥ÈÈֹ档¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJMX ´Æ»ë¤ª¤è¤Ó´ÉÍý¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f2jmxUrl\fP ÀܳÀè¤Î JMX ¥¨¡¼¥¸¥§¥ó¥È¤Î¥¢¥É¥ì¥¹¡£¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2JMXServiceURL\fP @ -.fi -http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ .RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jconsole\fP ¥³¥Þ¥ó¥É¤Ï¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Þ¥·¥ó¾å¤Î Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È²¾ÁÛ¥Þ¥·¥ó¤Î´Æ»ë¤È´ÉÍý¤ò¹Ô¤¦¥°¥é¥Õ¥£¥«¥ë¥³¥ó¥½¡¼¥ë¥Ä¡¼¥ë¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -Windows ¾å¤Ç¤Ï¡¢\f3jconsole\fP ¤Ï¥³¥ó¥½¡¼¥ë¥¦¥£¥ó¥É¥¦¤È´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤Ê¤ó¤é¤«¤ÎÍýͳ¤Ç \f3jconsole\fP ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥¨¥é¡¼¾ðÊó¤ò¼¨¤¹¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP +.PP +connection = \fIpid\fR | \fIhost\fR:\fIport\fR | \fIjmxURL\fR +.RS 4 +\fIpid\fRÃÍ¤Ï¥í¡¼¥«¥ë¤ÎJava²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î¥×¥í¥»¥¹ID¤Ç¤¹¡£JVM¤Ï\fIjconsole\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼ID¤ÈƱ¤¸¥æ¡¼¥¶¡¼ID¤Ç¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIhost:port\fRÃͤÏJVM¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¡¦¥·¥¹¥Æ¥à¤Î̾Á°¤È¡¢JVM¤¬³«»Ï¤·¤¿¤È¤­¤Ë¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£\fIcom\&.sun\&.management\&.jmxremote\&.port\fR¤Ç»ØÄꤷ¤¿¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£\fIjmxUrl\fRÃͤϡ¢JMXServiceURL¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡¢Àܳ¤µ¤ì¤ëJMX¥¨¡¼¥¸¥§¥ó¥È¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£ +.sp +\fIconnection\fR¥Ñ¥é¥á¡¼¥¿¤Î¾ÜºÙ¤Ï¡¢JMX¥Æ¥¯¥Î¥í¥¸¤ò»ÈÍѤ·¤¿¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó´ÉÍý +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/management/agent\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fIJMXServiceURL\fR¥¯¥é¥¹¤ÎÀâÌÀ( +http://docs\&.oracle\&.com/javase/8/docs/api/javax/management/remote/JMXServiceURL\&.html)¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.SH "ÀâÌÀ" +.PP +\fIjconsole\fR¥³¥Þ¥ó¥É¤Ï¡¢¥í¡¼¥«¥ë¡¦¥Þ¥·¥ó¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Þ¥·¥ó¾å¤ÎJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È²¾ÁÛ¥Þ¥·¥ó¤Î´Æ»ë¤È´ÉÍý¤ò¹Ô¤¦¥°¥é¥Õ¥£¥«¥ë¡¦¥³¥ó¥½¡¼¥ë¡¦¥Ä¡¼¥ë¤òµ¯Æ°¤·¤Þ¤¹¡£ +.PP +Windows¾å¤Ç¤Ï¡¢\fIjconsole\fR¥³¥Þ¥ó¥É¤Ï¥³¥ó¥½¡¼¥ë¡¦¥¦¥£¥ó¥É¥¦¤È´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢\fIjconsole\fR¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥¨¥é¡¼¾ðÊó¤ò¼¨¤¹¥À¥¤¥¢¥í¥°¡¦¥Ü¥Ã¥¯¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-interval=n -¹¹¿·´Ö³Ö¤ò \f2n\fP ÉäËÀßÄꤷ¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤Ï 4 ÉÃ)¡£ -.TP 3 -\-notile -ºÇ½é¤Ë¥¦¥£¥ó¥É¥¦¤ò¥¿¥¤¥ê¥ó¥°¤·¤Þ¤»¤ó (Ê£¿ô¤ÎÀܳ¤Î¤¿¤á)¡£ -.TP 3 -\-pluginpath plugins -JConsole ¥×¥é¥°¥¤¥ó¤Î¸¡º÷Àè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£\f2plugins\fP ¥Ñ¥¹¤Ë¤Ï¡¢¼¡¤Î̾Á°¤Î¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£ -.br -.nf -\f3 -.fl - META\-INF/services/com.sun.tools.jconsole.JConsolePlugin -.fl -\fP -.fi -.LP -¤³¤ì¤Ë¤Ï¡¢ -.na -\f2com.sun.tools.jconsole.JConsolePlugin\fP @ -.fi -http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html ¥¯¥é¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë¹Ô¤¬¡¢¥×¥é¥°¥¤¥ó¤´¤È¤Ë 1 ¹Ô¤º¤Ä´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-J<flag> -jconsole ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£ +.PP +\-interval\fI=n\fR +.RS 4 +¹¹¿·´Ö³Ö¤ò\fIn\fRÉäËÀßÄꤷ¤Þ¤¹(¥Ç¥Õ¥©¥ë¥È¤Ï4ÉÃ)¡£ +.RE +.PP +\-notile +.RS 4 +ºÇ½é¤Ë¥¦¥£¥ó¥É¥¦¤ò¥¿¥¤¥ê¥ó¥°¤·¤Þ¤»¤ó(Ê£¿ôÀܳ¤Î¾ì¹ç)¡£ +.RE +.PP +\-pluginpath \fIplugins\fR +.RS 4 +\fIJConsole\fR¥×¥é¥°¥¤¥ó¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£\fIplugins\fR¥Ñ¥¹¤Ë¤Ï\fIMETA\-INF/services/com\&.sun\&.tools\&.jconsole\&.JConsolePlugin\fR¤È¤¤¤¦Ì¾Á°¤Î¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤Ç¤¤¤ëɬÍפ¬¤¢¤ê¡¢¤³¤ì¤Ë¤Ï¥×¥é¥°¥¤¥ó¤´¤È¤Ë1¹Ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤Î¹Ô¤Ï\fIcom\&.sun\&.tools\&.jconsole\&.JConsolePlugin\fR¥¯¥é¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIjconsole\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿JVM¤Ë\fIflag\fR¤òÅϤ·¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -.na -\f2JConsole ¤Î»ÈÍÑ\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html -.TP 2 -o -.na -\f2¡ÖJava ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î´Æ»ë¤ª¤è¤Ó´ÉÍý¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/management/index.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +JConsole¤Î»ÈÍÑ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/management/jconsole\&.html) .RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +JMX¥Æ¥¯¥Î¥í¥¸¤ò»ÈÍѤ·¤¿¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó´ÉÍý -.LP - +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/management/agent\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIJMXServiceURL\fR¥¯¥é¥¹¤ÎÀâÌÀ( +http://docs\&.oracle\&.com/javase/8/docs/api/javax/management/remote/JMXServiceURL\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jdb.1 b/jdk/src/linux/doc/man/ja/jdb.1 index 4904c9d8eab..f7bcabdec2f 100644 --- a/jdk/src/linux/doc/man/ja/jdb.1 +++ b/jdk/src/linux/doc/man/ja/jdb.1 @@ -1,326 +1,382 @@ -." Copyright (c) 1995, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jdb 1 "07 May 2011" - -.LP -.SH "̾Á°" -jdb \- Java ¥Ç¥Ð¥Ã¥¬ -.LP -.LP -\f3jdb\fP ¤Ï¡¢Java ¸À¸ì¥×¥í¥°¥é¥à¤Î¥Ð¥°¤ò¸«¤Ä¤±¤Æ½¤Àµ¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ä¡¼¥ë¤Ç¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jdb +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jdb" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jdb \- Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥×¥í¥°¥é¥à¤ÎÉÔ¶ñ¹ç¤ò¸¡½Ð¤ª¤è¤Ó½¤Àµ¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jdb\fP [ options ] [ class ] [ arguments ] -.fl +\fIjdb\fR [\fIoptions\fR] [\fIclassname\fR] [\fIarguments\fR] .fi - -.LP -.RS 3 -.TP 3 -options -¼¡¤Ë¼¨¤¹¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.TP 3 -class -¥Ç¥Ð¥Ã¥°¤ò³«»Ï¤¹¤ë¥¯¥é¥¹¤Î̾Á° -.TP 3 -arguments -class ¤Î \f2main()\fP ¥á¥½¥Ã¥É¤ËÅϤ¹ \f2°ú¿ô\fP +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -Java ¥Ç¥Ð¥Ã¥¬ \f3jdb\fP ¤Ï¡¢Java ¥¯¥é¥¹ÍѤδÊñ¤Ê¥³¥Þ¥ó¥É¹Ô¥Ç¥Ð¥Ã¥¬¤Ç¤¹¡£ -.na -\f2Java Platform Debugger Architecture\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html ¤ò»ë³ÐŪ¤Ë¼Â¹Ô¤·¡¢¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¤Î Java Virtual Machine ¤Î¸¡ºº¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.SS -jdb ¥»¥Ã¥·¥ç¥ó¤Î³«»Ï -.LP -.LP -jdb ¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤Ë¤Ï¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤â¤Ã¤È¤âÉÑÈˤ˻Ȥï¤ì¤ë¤Î¤Ï¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¡¢\f3jdb\fP ¤«¤é¿·¤·¤¤ Java ²¾ÁÛ¥Þ¥·¥ó (VM) ¤òµ¯Æ°¤¹¤ëÊýË¡¤Ç¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¡¢\f3java\fP ¤ÎÂå¤ï¤ê¤Ë \f3jdb\fP ¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¥¯¥é¥¹¤¬ MyClass ¤Î¾ì¹ç¤Ï¡¢JDB ´Ä¶­¤Ç¥Ç¥Ð¥Ã¥°¤¹¤ë¤È¤­¤Ë¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclass\fRname +.RS 4 +¥Ç¥Ð¥Ã¥°¤¹¤ë¥á¥¤¥ó¡¦¥¯¥é¥¹¤Î̾Á°¡£ +.RE +.PP +\fIarguments\fR +.RS 4 +class¤Î\fImain()\fR¥á¥½¥Ã¥É¤ËÅϤ¹°ú¿ô¡£ +.RE +.SH "ÀâÌÀ" +.PP +Java¥Ç¥Ð¥Ã¥¬(JDB)¤Ï¡¢Java¥¯¥é¥¹ÍѤδÊñ¤Ê¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ç¥Ð¥Ã¥¬¤Ç¤¹¡£\fIjdb\fR¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤ÏJDB¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢JDBA (Java Platform Debugger Architecture)¤ò»ë³ÐŪ¤Ë¼Â¹Ô¤·¡¢¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¤ÎJava²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î¸¡ºº¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Java Platform Debugger Architecture (JDBA) +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jpda/index\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "JDB¥»¥Ã¥·¥ç¥ó¤Î³«»Ï" +.PP +JDB¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤Ë¤ÏÍÍ¡¹¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ºÇ¤âÉÑÈˤ˻ÈÍѤµ¤ì¤ë¤Î¤Ï¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¡¦¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¡¢JDB¤«¤é¿·¤·¤¤JVM¤òµ¯Æ°¤¹¤ëÊýË¡¤Ç¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¡¢\fIjava\fR¥³¥Þ¥ó¥É¤Î¤«¤ï¤ê¤Ë\fIjdb\fR¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¡¦¥¯¥é¥¹¤¬\fIMyClass\fR¤Î¾ì¹ç¤Ï¡¢JDB´Ä¶­¤Ç¥Ç¥Ð¥Ã¥°¤¹¤ë¤È¤­¤Ë¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % jdb MyClass -.fl -\fP +jdb MyClass .fi - -.LP -.LP -¤³¤ÎÊýË¡¤Çµ¯Æ°¤¹¤ë¤È¡¢\f3jdb\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤ò»È¤Ã¤Æ 2 ¤ÄÌܤΠJava VM ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¼¡¤Ë¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Æ¡¢¥¯¥é¥¹¤ÎºÇ½é¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë VM ¤òÄä»ß¤µ¤»¤Þ¤¹¡£ -.LP -.LP -\f3jdb\fP ¤Î¤â¤¦ 1 ¤Ä¤Î»ÈÍÑÊýË¡¤Ï¡¢¤¹¤Ç¤Ëµ¯Æ°¤·¤Æ¤¤¤ë Java VM ¤Ë jdb ¤òÀܳ¤¹¤ë¤³¤È¤Ç¤¹¡£jdb ¤¬Àܳ¤¹¤ë VM ¤ò¡¢¤½¤Î¼Â¹ÔÃæ¤Ëµ¯Æ°¤¹¤ë¤¿¤á¤Î¹½Ê¸¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¤¥ó¥×¥í¥»¥¹¥Ç¥Ð¥Ã¥°Íѥ饤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¡¢Àܳ¤Î¼ïÎà¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÊýË¡¤Çµ¯Æ°¤¹¤ë¤È¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤Æ2¤ÄÌܤÎJVM¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¼¡¤Ë¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Æ¡¢¥¯¥é¥¹¤ÎºÇ½é¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëÁ°¤ËJVM¤òÄä»ß¤µ¤»¤Þ¤¹¡£ +.PP +\fIjdb\fR¥³¥Þ¥ó¥É¤Î¤â¤¦1¤Ä¤Î»ÈÍÑÊýË¡¤Ï¡¢¤¹¤Ç¤Ë¼Â¹ÔÃæ¤ÎJVM¤Ëjdb¤òÀܳ¤¹¤ë¤³¤È¤Ç¤¹¡£\fIjdb\fR¥³¥Þ¥ó¥É¤¬Àܳ¤¹¤ëVM¤ò¡¢¤½¤Î¼Â¹ÔÃæ¤Ëµ¯Æ°¤¹¤ë¤¿¤á¤Î¹½Ê¸¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¤¥ó¥×¥í¥»¥¹¡¦¥Ç¥Ð¥Ã¥°Íѥ饤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¡¢Àܳ¤Î¼ïÎà¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\-agentlib:jdwp=transport=dt_socket,server=y,suspend=n -.fl -\fP +java \-agentlib:jdwp=transport=dt_socket,server=y,suspend=n MyClass .fi - -.LP -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢MyClass ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Æ¡¢\f3jdb\fP ¤¬¤¢¤È¤Ç¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÀܳ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤òJVM¤ËÀܳ¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % java \-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n MyClass -.fl -\fP +jdb \-attach 8000 .fi - -.LP -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\f3jdb\fP ¤ò VM ¤ËÀܳ¤Ç¤­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤Î¾ì¹ç¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¿·¤·¤¤JVM¤òµ¯Æ°¤¹¤ë¤«¤ï¤ê¤Ë´û¸¤ÎJVM¤ËÀܳ¤µ¤ì¤ë¤¿¤á¡¢\fIjdb\fR¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë\fIMyClass\fR°ú¿ô¤Ï»ØÄꤷ¤Þ¤»¤ó¡£ +.PP +¥Ç¥Ð¥Ã¥¬¤òJVM¤ËÀܳ¤¹¤ë¤Ë¤Ï¾¤Ë¤âÍÍ¡¹¤ÊÊýË¡¤¬¤¢¤ê¡¢¤¹¤Ù¤Æ\fIjdb\fR¥³¥Þ¥ó¥É¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Àܳ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java Platform Debugger Architecture¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "´ðËÜjdb¥³¥Þ¥ó¥É" +.PP +´ðËÜŪ¤Ê\fIjdb\fR¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£JDB¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥³¥Þ¥ó¥É¤Ï¤³¤ì°Ê³°¤Ë¤â¤¢¤ê¡¢¤½¤ì¤é¤Ï\fI\-help\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÉ½¼¨¤Ç¤­¤Þ¤¹¡£ +.PP +help¤Þ¤¿¤Ï? +.RS 4 +\fIhelp\fR¤Þ¤¿¤Ï\fI?\fR¥³¥Þ¥ó¥É¤Ï¡¢Ç§¼±¤µ¤ì¤¿¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤Ë´Ê·é¤ÊÀâÌÀ¤òÉÕ¤±¤ÆÉ½¼¨¤·¤Þ¤¹¡£ +.RE +.PP +run +.RS 4 +JDB¤òµ¯Æ°¤·¤Æ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤¿¤¢¤È¤Ë¡¢\fIrun\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò³«»Ï¤Ç¤­¤Þ¤¹¡£\fIrun\fR¥³¥Þ¥ó¥É¤Ï¡¢´û¸¤ÎVM¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤È¤Ï°Û¤Ê¤ê¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬\fIjdb\fR¤«¤éµ¯Æ°¤·¤¿¤È¤­¤Ë¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +cont +.RS 4 +¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¡¢Îã³°¡¢¤Þ¤¿¤Ï¥¹¥Æ¥Ã¥×¼Â¹Ô¤Î¸å¤Ç¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£ +.RE +.PP +print +.RS 4 +Java¥ª¥Ö¥¸¥§¥¯¥È¤ª¤è¤Ó¥×¥ê¥ß¥Æ¥£¥ÖÃͤòɽ¼¨¤·¤Þ¤¹¡£¥×¥ê¥ß¥Æ¥£¥Ö·¿¤ÎÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¤Ë¤Ï¡¢¼ÂºÝ¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¡¢Ã»¤¤ÀâÌÀ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ÜºÙ¤ò¼èÆÀ¤¹¤ëÊýË¡¤òõ¤¹¤Ë¤Ï¡¢dump¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fBÃí°Õ:\fR +¥í¡¼¥«¥ëÊÑ¿ô¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢´Þ¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤¬\fIjavac \-g\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fIprint\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ê¡¢¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò»ÈÍѤ·¤¿¤â¤Î¤Ê¤É¡¢Â¿¤¯¤Î´Êñ¤ÊJava¼°¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % jdb \-attach 8000 -.fl -\fP +print MyClass\&.myStaticField +print myObj\&.myInstanceField +print i + j + k (i, j, k are primities and either fields or local variables) +print myObj\&.myMethod() (if myMethod returns a non\-null) +print new java\&.lang\&.String("Hello")\&.length() .fi - -.LP -.LP -¤³¤Î¾ì¹ç¡¢\f3jdb\fP ¤Ï¿·¤·¤¤ VM ¤òµ¯Æ°¤¹¤ëÂå¤ï¤ê¤Ë´û¸¤Î VM ¤ËÀܳ¤µ¤ì¤ë¤¿¤á¡¢\f3jdb\fP ¥³¥Þ¥ó¥É¹Ô¤Ë¤Ï¡ÖMyClass¡×¤Ï»ØÄꤷ¤Þ¤»¤ó¡£ -.LP -.LP -¥Ç¥Ð¥Ã¥¬¤ò VM ¤ËÀܳ¤¹¤ë¤Ë¤Ï¤Û¤«¤Ë¤â¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤¬¤¢¤ê¡¢¤¹¤Ù¤Æ \f3jdb\fP ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Àܳ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java Platform Debugger Architecture ¤Î -.na -\f2¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\f3jdb\fP ¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Ë J2SE 1.4.2 °ÊÁ°¤Î VM ¤òµ¯Æ°¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f21.4.2 ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -´ðËÜ jdb ¥³¥Þ¥ó¥É -.LP -.LP -´ðËÜŪ¤Ê \f3jdb\fP ¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£Java ¥Ç¥Ð¥Ã¥¬¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥³¥Þ¥ó¥É¤Ï¤³¤ì°Ê³°¤Ë¤â¤¢¤ê¡¢¤½¤ì¤é¤Ï \f3jdb\fP ¤Î \f2help\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆÉ½¼¨¤Ç¤­¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -help ¤Þ¤¿¤Ï ? -¤â¤Ã¤È¤â½ÅÍ×¤Ê \f3jdb\fP ¥³¥Þ¥ó¥É \f2help\fP ¤Ï¡¢Ç§¼±¤µ¤ì¤¿¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤Ë´Ê·é¤ÊÀâÌÀ¤òÉÕ¤±¤ÆÉ½¼¨¤·¤Þ¤¹¡£ -.TP 3 -run -\f3jdb\fP ¤òµ¯Æ°¤·¤ÆÉ¬Íפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤¿¤¢¤È¤Ë¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò³«»Ï¤Ç¤­¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢´û¸¤Î VM ¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤È¤Ï°Û¤Ê¤ê¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ \f3jdb\fP ¤«¤éµ¯Æ°¤·¤¿¤È¤­¤Ë¤À¤±»ÈÍѤǤ­¤Þ¤¹¡£ -.TP 3 -cont -¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¡¢Îã³°¡¢¤Þ¤¿¤Ï¥¹¥Æ¥Ã¥×¼Â¹Ô¤Î¤¢¤È¤Ç¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£ -.TP 3 -print -Java ¥ª¥Ö¥¸¥§¥¯¥È¤ª¤è¤Ó¥×¥ê¥ß¥Æ¥£¥ÖÃͤòɽ¼¨¤·¤Þ¤¹¡£¥×¥ê¥ß¥Æ¥£¥Ö·¿¤ÎÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¤Ë¤Ï¡¢¼ÂºÝ¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¡¢Ã»¤¤ÀâÌÀ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê¹ß¤Î \f2dump\fP ¥³¥Þ¥ó¥É¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2Ãí: ¶É½êÊÑ¿ô¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¤½¤ÎÊÑ¿ô¤ò´Þ¤à¥¯¥é¥¹¤¬ \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP ¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f2print\fP ¤Ç¤Ï¡¢¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ò´Þ¤à¿¿ô¤Î´Êñ¤Ê Java ¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2print MyClass.myStaticField\fP -.TP 2 -o -\f2print myObj.myInstanceField\fP -.TP 2 -o -\f2print i + j + k\fP (i¡¢j¡¢¤ª¤è¤Ó k ¤Ï¥×¥ê¥ß¥Æ¥£¥Ö¤Ç¤¢¤ê¡¢¥Õ¥£¡¼¥ë¥É¤Þ¤¿¤Ï¶É½êÊÑ¿ô¤Î¤¤¤º¤ì¤«) -.TP 2 -o -\f2print myObj.myMethod()\fP (myMethod ¤¬ null °Ê³°¤òÊÖ¤¹¾ì¹ç) -.TP 2 -o -\f2print new java.lang.String("Hello").length()\fP +.if n \{\ .RE -.TP 3 -dump -¥×¥ê¥ß¥Æ¥£¥ÖÃͤξì¹ç¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï \f2print\fP ¤ÈƱ¤¸¤Ç¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë³Æ¥Õ¥£¡¼¥ë¥É¤Î¸½ºß¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£static ¥Õ¥£¡¼¥ë¥É¤È instance ¥Õ¥£¡¼¥ë¥É¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -\f2dump\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\f2print\fP ¥³¥Þ¥ó¥É¤ÈƱ¤¸¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£ -.TP 3 -threads -¸½ºß¼Â¹ÔÃæ¤Î¥¹¥ì¥Ã¥É¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤´¤È¤Ë¡¢Ì¾Á°¤È¸½ºß¤Î¾õÂÖ¡¢¤ª¤è¤Ó¤Û¤«¤Î¥³¥Þ¥ó¥É¤Ë»ÈÍѤǤ­¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.\} +.RE +.PP +dump +.RS 4 +¥×¥ê¥ß¥Æ¥£¥ÖÃͤξì¹ç¡¢\fIdump\fR¥³¥Þ¥ó¥É¤Ï\fIprint\fR¥³¥Þ¥ó¥É¤ÈƱ°ì¤Ç¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¡¢\fIdump\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë³Æ¥Õ¥£¡¼¥ë¥É¤Î¸½ºß¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£static¥Õ¥£¡¼¥ë¥É¤Èinstance¥Õ¥£¡¼¥ë¥É¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£\fIdump\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIprint\fR¥³¥Þ¥ó¥É¤ÈƱ¤¸¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +threads +.RS 4 +¸½ºß¼Â¹ÔÃæ¤Î¥¹¥ì¥Ã¥É¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤´¤È¤Ë¡¢Ì¾Á°¤È¸½ºß¤Î¾õÂÖ¡¢¤ª¤è¤Ó¾¤Î¥³¥Þ¥ó¥É¤Ë»ÈÍѤǤ­¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¡¦¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï4¤Ç¤¢¤ê¡¢¥¹¥ì¥Ã¥É¤Ï\fIjava\&.lang\&.Thread\fR¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¡¢¥¹¥ì¥Ã¥É¤Î̾Á°¤Ï\fImain\fR¤Ç¤¢¤ê¡¢¸½ºß¼Â¹ÔÃæ¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -4. (java.lang.Thread)0x1 main running -.fl -\fP +4\&. (java\&.lang\&.Thread)0x1 main running .fi -¤³¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï 4 ¤Ç¤¢¤ê¡¢¥¹¥ì¥Ã¥É¤Ï java.lang.Thread ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¹¡£¥¹¥ì¥Ã¥É¤Î̾Á°¤Ï¡Ömain¡×¤Ç¤¢¤ê¡¢¸½ºß¼Â¹ÔÃæ¤Ç¤¹¡£ -.TP 3 -thread -¸½ºß¤Î¥¹¥ì¥Ã¥É¤Ë¤¹¤ë¥¹¥ì¥Ã¥É¤òÁªÂò¤·¤Þ¤¹¡£Â¿¤¯¤Î \f3jdb\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤ÎÀßÄê¤Ë´ð¤Å¤¤¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤Ï¡¢\f2threads\fP ¥³¥Þ¥ó¥É¤ÇÀâÌÀ¤·¤¿¥¹¥ì¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -where -\f2°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç\fP where ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£ \f2where all\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¥°¥ë¡¼¥×¤Ë¤¢¤ë¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ò¤¹¤Ù¤Æ¥À¥ó¥×¤·¤Þ¤¹¡£ \f2where\fP \f2threadindex\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤·¤Þ¤¹¡£ -.LP -¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬ (¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤« \f2suspend\fP ¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ) ÃæÃǤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¶É½êÊÑ¿ô¤È¥Õ¥£¡¼¥ë¥É¤Ï \f2print\fP ¥³¥Þ¥ó¥É¤È \f2dump\fP ¥³¥Þ¥ó¥É¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£\f2up\fP ¥³¥Þ¥ó¥É¤È \f2down\fP ¥³¥Þ¥ó¥É¤Ç¡¢¤É¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤ò¥«¥ì¥ó¥È¤Ë¤¹¤ë¤«¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.SS -¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È -.LP -.LP -¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Ï¡¢¹ÔÈÖ¹æ¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤ÎºÇ½é¤ÎÌ¿Îá¤Ç \f3jdb\fP ¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f2stop at MyClass:22\fP (MyClass ¤¬´Þ¤Þ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î 22 ¹ÔÌܤκǽé¤ÎÌ¿Îá¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄê) -.TP 2 -o -\f2stop in java.lang.String.length\fP (\f2java.lang.String.length\fP ¥á¥½¥Ã¥É¤ÎºÇ½é¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄê) -.TP 2 -o -\f2stop in MyClass.<init>\fP (<init> ¤Ï MyClass ¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¼±ÊÌ) -.TP 2 -o -\f2stop in MyClass.<clinit>\fP (<clinit> ¤Ï MyClass ¤ÎÀÅŪ½é´ü²½¥³¡¼¥É¤ò¼±ÊÌ) +.\} .RE - -.LP -.LP -¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥½¥Ã¥É¤Î°ú¿ô¤Î·¿¤â»ØÄꤷ¤Æ¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ËÂФ·¤ÆÅ¬Àڤʥ᥽¥Ã¥É¤¬ÁªÂò¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¡Ö\f2MyClass.myMethod(int,java.lang.String)\fP¡×¤Þ¤¿¤Ï¡Ö\f2MyClass.myMethod()\fP¡×¤È»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f2clear\fP ¥³¥Þ¥ó¥É¤Ï¡¢¡Ö\f2clear\ MyClass:45\fP¡×¤Î¤è¤¦¤Ê¹½Ê¸¤ò»ÈÍѤ·¤Æ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òºï½ü¤·¤Þ¤¹¡£\f2clear\fP ¤ò»ÈÍѤ¹¤ë¤«¡¢°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\f2cont\fP ¥³¥Þ¥ó¥É¤Ï¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£ -.LP -.SS -¥¹¥Æ¥Ã¥×¼Â¹Ô -.LP -.LP -\f2step\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Þ¤¿¤Ï¸Æ¤Ó½Ð¤µ¤ì¤¿¥á¥½¥Ã¥ÉÆâ¤Ç¡¢¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£\f2next\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Î¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.SS -Îã³° -.LP -.LP -¥¹¥í¡¼¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¾å¤Î¤É¤³¤Ë¤â catch ʸ¤¬¤Ê¤¤¾ì¹ç¤ËÎã³°¤¬È¯À¸¤¹¤ë¤È¡¢VM ¤ÏÄ̾Îã³°¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\f3jdb\fP ´Ä¶­¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Îã³°¤¬È¯À¸¤¹¤ë¤È \f3jdb\fP ¤ËÀ©¸æ¤¬Ìá¤ê¤Þ¤¹¡£¼¡¤Ë¡¢\f3jdb\fP ¤ò»ÈÍѤ·¤ÆÎã³°¤Î¸¶°ø¤ò¿ÇÃǤ·¤Þ¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢¡Ö\f2catch java.io.FileNotFoundException\fP¡×¤Þ¤¿¤Ï¡Ö\f2catch mypackage.BigTroubleException\fP¡×¤Î¤è¤¦¤Ë \f2catch\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¤Û¤«¤ÎÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¤È¤­¤ËÄä»ß¤·¤Þ¤¹¡£Îã³°¤¬ÆÃÄê¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Î¾ì¹ç¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì½ê¤ÇÄä»ß¤·¤Þ¤¹¡£ -.LP -.LP -\f2ignore\fP ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢°ÊÁ°¤Î \f2catch\fP ¥³¥Þ¥ó¥É¤Î¸ú²Ì¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\f2Ãí: \fP\f2ignore\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤ë VM ¤ÏÎã³°¤ò̵»ë¤»¤º¡¢¥Ç¥Ð¥Ã¥¬¤À¤±¤¬Îã³°¤ò̵»ë¤·¤Þ¤¹¡£ -.LP -.SH "¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó" -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ÎÂå¤ï¤ê¤Ë \f3jdb\fP ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢\f3jdb\fP ¤Ï¡¢\f2\-D\fP¡¢\f2\-classpath\fP¡¢\f2\-X<option>\fP ¤Ê¤É¡¢java ¥³¥Þ¥ó¥É¤ÈƱ¤¸¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3jdb\fP ¤Ï¡¢¤½¤Î¤Û¤«¤Ë¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-sourcepath <dir1:dir2:...> -»ØÄꤵ¤ì¤¿¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ñ¥¹¤Î¡Ö.¡×¤¬»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-attach <address> -¥Ç¥Õ¥©¥ë¥È¤ÎÀܳµ¡¹½¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ç¤Ë¼Â¹ÔÃæ¤Î VM ¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ¤·¤Þ¤¹¡£ -.TP 3 -\-listen <address> -¼Â¹ÔÃæ¤Î VM ¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤Æ»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£ -.TP 3 -\-listenany -¼Â¹ÔÃæ¤Î VM ¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤ÆÍøÍѲÄǽ¤ÊǤ°Õ¤Î¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£ -.TP 3 -\-launch -¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò jdb ¤Îµ¯Æ°¸å¤¿¤À¤Á¤Ëµ¯Æ°¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢\f2run\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢µ¯Æ°¸å¡¢½é´ü¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ëľÁ°¤ËÄä»ß¤·¤Þ¤¹¡£¤½¤Î»þÅÀ¤Ç¡¢É¬Íפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¡¢\f2cont\fP ¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤ò·Ñ³¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-listconnectors -¤³¤Î VM ¤ÇÍøÍѤǤ­¤ë¥³¥Í¥¯¥¿¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-connect <connector\-name>:<name1>=<value1>,... -°ìÍ÷ɽ¼¨¤µ¤ì¤¿°ú¿ô¤ÎÃͤȻØÄê¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤Æ¥¿¡¼¥²¥Ã¥È VM ¤ËÀܳ¤·¤Þ¤¹¡£ -.TP 3 -\-dbgtrace [flags] -jdb ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-tclient -Java HotSpot(tm) VM (¥¯¥é¥¤¥¢¥ó¥È) Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.TP 3 -\-tserver -Java HotSpot(tm) VM (¥µ¡¼¥Ð¡¼) Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.TP 3 -\-Joption -jdb ¤Î¼Â¹Ô¤Ë»ÈÍѤµ¤ì¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£(¥¢¥×¥ê¥±¡¼¥·¥ç¥ó Java ²¾ÁÛ¥Þ¥·¥ó¤ËÂФ¹¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3run\fP ¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë)¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.PP +thread +.RS 4 +¸½ºß¤Î¥¹¥ì¥Ã¥É¤Ë¤¹¤ë¥¹¥ì¥Ã¥É¤òÁªÂò¤·¤Þ¤¹¡£Â¿¤¯¤Î\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤ÎÀßÄê¤Ë´ð¤Å¤¤¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤Ï¡¢threads¥³¥Þ¥ó¥É¤ÇÀâÌÀ¤·¤¿¥¹¥ì¥Ã¥É¡¦¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£ .RE - -.LP -.LP -¥Ç¥Ð¥Ã¥¬¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦ VM ¤òÀܳ¤¹¤ë¤¿¤á¤ÎÂåÂØµ¡¹½¤ËÂФ·¤Æ¡¢¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤Î¾¤ÎÀܳ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java Platform Debugger Architecture ¤Î -.na -\f2¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -¥Ç¥Ð¥Ã¥°ÂÐ¾Ý¤Î¥×¥í¥»¥¹¤ËžÁ÷¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-v \-verbose[:class|gc|jni] -¾éĹ¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-D<name>=<value> -¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-classpath <directories separated by ":"> -¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-X<option> -Èóɸ½à¥¿¡¼¥²¥Ã¥È VM ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.PP +where +.RS 4 +°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç\fIwhere\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£\fIwhere\fR +\fIall\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¡¦¥°¥ë¡¼¥×¤Ë¤¢¤ë¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ò¤¹¤Ù¤Æ¥À¥ó¥×¤·¤Þ¤¹¡£\fIwhere\fR +\fIthreadindex\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤·¤Þ¤¹¡£ +.sp +¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬(¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤«\fIsuspend\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ)ÃæÃǤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¥Õ¥£¡¼¥ë¥É¤Ï\fIprint\fR¥³¥Þ¥ó¥É¤È\fIdump\fR¥³¥Þ¥ó¥É¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£\fIup\fR¥³¥Þ¥ó¥É¤È\fIdown\fR¥³¥Þ¥ó¥É¤Ç¡¢¤É¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤ò¸½ºß¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Ë¤¹¤ë¤«¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.SS "¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È" +.PP +¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Ï¡¢¹ÔÈÖ¹æ¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤ÎºÇ½é¤ÎÌ¿Îá¤ÇJDB¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥³¥Þ¥ó¥É\fIstop at MyClass:22\fR¤Ï¡¢\fIMyClass\fR¤¬´Þ¤Þ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î22¹ÔÌܤκǽé¤ÎÌ¿Îá¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥³¥Þ¥ó¥É\fIstop in java\&.lang\&.String\&.length\fR¤Ï¡¢¥á¥½¥Ã¥É\fIjava\&.lang\&.String\&.length\fR¤ÎÀèÆ¬¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥³¥Þ¥ó¥É\fIstop in MyClass\&.<clinit>\fR¤Ï¡¢\fI<clinit>\fR¤ò»ÈÍѤ·¤Æ\fIMyClass\fR¤ÎÀÅŪ½é´ü²½¥³¡¼¥É¤òÆÃÄꤷ¤Þ¤¹¡£ +.RE +.PP +¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥½¥Ã¥É¤Î°ú¿ô¤Î·¿¤â»ØÄꤷ¤Æ¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ËÂФ·¤ÆÅ¬Àڤʥ᥽¥Ã¥É¤¬ÁªÂò¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIMyClass\&.myMethod(int,java\&.lang\&.String)\fR¤Þ¤¿¤Ï\fIMyClass\&.myMethod()\fR¤È»ØÄꤷ¤Þ¤¹¡£ +.PP +\fIclear\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIclear MyClass:45\fR¤Î¤è¤¦¤Ê¹½Ê¸¤ò»ÈÍѤ·¤Æ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òºï½ü¤·¤Þ¤¹¡£\fIclear\fR¤ò»ÈÍѤ¹¤ë¤«¡¢°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç\fIstop\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\fIcont\fR¥³¥Þ¥ó¥É¤Ï¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£ +.SS "¥¹¥Æ¥Ã¥×¼Â¹Ô" +.PP +\fIstep\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Þ¤¿¤Ï¸Æ¤Ó½Ð¤µ¤ì¤¿¥á¥½¥Ã¥ÉÆâ¤Ç¡¢¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£\fInext\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Î¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.SS "Îã³°" +.PP +¥¹¥í¡¼¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Î¸Æ½Ð¤·¥¹¥¿¥Ã¥¯¾å¤Î¤É¤³¤Ë¤â\fIcatch\fRʸ¤¬¤Ê¤¤¾ì¹ç¤ËÎã³°¤¬È¯À¸¤¹¤ë¤È¡¢JVM¤ÏÄ̾Îã³°¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢JDB´Ä¶­¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°ãÈ¿¤Î¥¹¥í¡¼»þ¤ËJDB¤ËÀ©¸æ¤¬Ìá¤ê¤Þ¤¹¡£¼¡¤Ë¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆÎã³°¤Î¸¶°ø¤ò¿ÇÃǤ·¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢\fIcatch java\&.io\&.FileNotFoundException\fR¤Þ¤¿¤Ï\fIcatch\fR +\fImypackage\&.BigTroubleException\fR¤Î¤è¤¦¤Ë\fIcatch\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Â¾¤ÎÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¤È¤­¤ËÄä»ß¤·¤Þ¤¹¡£Îã³°¤¬ÆÃÄê¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Î¾ì¹ç¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì½ê¤ÇÄä»ß¤·¤Þ¤¹¡£ +.PP +\fIignore\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢°ÊÁ°¤Î\fIcatch\fR¥³¥Þ¥ó¥É¤Î¸ú²Ì¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fIignore\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤ëJVM¤ÏÆÃÄê¤ÎÎã³°¤ò̵»ë¤»¤º¡¢¥Ç¥Ð¥Ã¥¬¤Î¤ß¤ò̵»ë¤·¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjava\fR¥³¥Þ¥ó¥É¤Î¤«¤ï¤ê¤Ë\fIjdb\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI\-D\fR¡¢\fI\-classpath\fR¡¢\fI\-X\fR¤Ê¤É¡¢\fIjava\fR¥³¥Þ¥ó¥É¤ÈƱ¤¸¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î¾¤Ë¼¡¤Î¥ê¥¹¥È¤Ë¤¢¤ë¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£ +.PP +¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦JVM¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ¤¹¤ë¤¿¤á¤ÎÂåÂØµ¡¹½¤òÄ󶡤¹¤ë¤¿¤á¤Ë¡¢¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÀܳ¤ÎÂåÂØ¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¥É¥­¥å¥á¥ó¥È¤Ï¡¢Java Platform Debugger Architecture (JPDA) +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jpda/index\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-sourcepath \fIdir1:dir2: \&. \&. \&.\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥Ñ¥¹¤Î¥É¥Ã¥È(\&.)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-attach \fIaddress\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤ÎÀܳµ¡¹½¤ò»ÈÍѤ·¤Æ¡¢¼Â¹ÔÃæ¤ÎJVM¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ¤·¤Þ¤¹¡£ +.RE +.PP +\-listen \fIaddress\fR +.RS 4 +¼Â¹ÔÃæ¤ÎJVM¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»ÈÍѤ·¤Æ»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£ +.RE +.PP +\-launch +.RS 4 +¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òJDB¤Îµ¯Æ°¸å¤¿¤À¤Á¤Ëµ¯Æ°¤·¤Þ¤¹¡£\fI\-launch\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢\fIrun\fR¥³¥Þ¥ó¥É¤¬É¬Íפʤ¯¤Ê¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢µ¯Æ°¸å¡¢½é´ü¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ëľÁ°¤ËÄä»ß¤·¤Þ¤¹¡£¤½¤Î»þÅÀ¤Ç¡¢É¬Íפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¡¢\fIcont\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤ò·Ñ³¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-listconnectors +.RS 4 +¤³¤ÎJVM¤ÇÍøÍѤǤ­¤ë¥³¥Í¥¯¥¿¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-connect connector\-name:\fIname1=value1\fR +.RS 4 +°ìÍ÷ɽ¼¨¤µ¤ì¤¿°ú¿ô¤ÎÃͤȻØÄê¤Î¥³¥Í¥¯¥¿¤ò»ÈÍѤ·¤Æ¥¿¡¼¥²¥Ã¥ÈJVM¤ËÀܳ¤·¤Þ¤¹¡£ +.RE +.PP +\-dbgtrace [\fIflags\fR] +.RS 4 +\fIjdb\fR¥³¥Þ¥ó¥É¤Î¥Ç¥Ð¥Ã¥°¤Î¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-tclient +.RS 4 +Java HotSpot VM¥¯¥é¥¤¥¢¥ó¥ÈÆâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-tserver +.RS 4 +Java HotSpot VM¥µ¡¼¥Ð¡¼Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +JVM¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥Ç¥Ð¥Ã¥°ÂÐ¾Ý¤Î¥×¥í¥»¥¹¤ËžÁ÷¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó" +.PP +\-v \-verbose[:\fIclass\fR|gc|jni] +.RS 4 +¾éĹ¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-D\fIname\fR=\fIvalue\fR +.RS 4 +¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-classpath \fIdir\fR +.RS 4 +¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤¿¤á¤Î¡¢¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¡£ +.RE +.PP +\-X\fIoption\fR +.RS 4 +Èóɸ½à¥¿¡¼¥²¥Ã¥ÈJVM¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -javac(1)¡¢java(1)¡¢javah(1)¡¢javap(1)¡¢javadoc(1) -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javap(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jdeps.1 b/jdk/src/linux/doc/man/ja/jdeps.1 new file mode 100644 index 00000000000..9ab6f666e0c --- /dev/null +++ b/jdk/src/linux/doc/man/ja/jdeps.1 @@ -0,0 +1,367 @@ +'\" t +.\" Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jdeps +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jdeps" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jdeps \- Java¥¯¥é¥¹°Í¸À­¥¢¥Ê¥é¥¤¥¶¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjdeps\fR [\fIoptions\fR] \fIclasses\fR \&.\&.\&. +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclasses\fR +.RS 4 +ʬÀϤ¹¤ë¥¯¥é¥¹¤Î̾Á°¡£¥¯¥é¥¹¡¦¥Ñ¥¹¤Ç¸¡½Ð¤Ç¤­¤ë¥¯¥é¥¹¤ò¡¢¥Õ¥¡¥¤¥ë̾¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjdeps\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤Þ¤¿¤Ï¥¯¥é¥¹¥ì¥Ù¥ë¤Î°Í¸À­¤ò¼¨¤·¤Þ¤¹¡£ÆþÎÏ¥¯¥é¥¹¤Ë¤Ï¡¢\fI\&.class\fR¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹Ì¾¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òʬÀϤ¹¤ë¤¿¤á¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê½ÐÎϤ¬·èÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjdeps\fR¤Ï¥·¥¹¥Æ¥à½ÐÎϤ˰͸´Ø·¸¤ò½ÐÎϤ·¤Þ¤¹¡£DOT¸À¸ì¤Ç°Í¸´Ø·¸¤òÀ¸À®¤Ç¤­¤Þ¤¹(\fI\-dotoutput\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È)¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-dotoutput <\fIdir\fR> +.RS 4 +DOT¥Õ¥¡¥¤¥ë½ÐÎϤΰ¸Àè¥Ç¥£¥ì¥¯¥È¥ê¡£»ØÄꤷ¤¿¾ì¹ç¤Ï\fIjdeps\fR¤Ï<\fIarchive\-file\-name\fR>\&.dot¤È¤¤¤¦Ì¾Á°¤ÎʬÀϺѤߥ¢¡¼¥«¥¤¥Ö¤´¤È¤Ë°Í¸´Ø·¸¤ò¥ê¥¹¥È¤¹¤ë1¤Ä¤Îdot¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¡¢¥¢¡¼¥«¥¤¥Ö´Ö¤Î°Í¸´Ø·¸¤ò¥ê¥¹¥È¤¹¤ësummary\&.dot¤È¤¤¤¦Ì¾Á°¤Î¥µ¥Þ¥ê¡¼¡¦¥Õ¥¡¥¤¥ë¤âÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-s, \-summary +.RS 4 +°Í¸´Ø·¸¤Î¥µ¥Þ¥ê¡¼¤Î¤ß¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-v, \-verbose +.RS 4 +¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥ì¥Ù¥ë¤Î°Í¸´Ø·¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-verbose:package +.RS 4 +Ʊ¤¸¥¢¡¼¥«¥¤¥ÖÆâ¤Î°Í¸´Ø·¸¤ò½ü¤­¡¢¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤Î°Í¸´Ø·¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-verbose:class +.RS 4 +Ʊ¤¸¥¢¡¼¥«¥¤¥ÖÆâ¤Î°Í¸´Ø·¸¤ò½ü¤­¡¢¥¯¥é¥¹¥ì¥Ù¥ë¤Î°Í¸´Ø·¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-cp <\fIpath\fR>, \-classpath <\fIpath\fR> +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +Setting the Class Path ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-p <\fIpkg name\fR>, \-package <\fIpkg name\fR> +.RS 4 +»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î°Í¸´Ø·¸¤ò¸¡½Ð¤·¤Þ¤¹¡£°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô²ó»ØÄê¤Ç¤­¤Þ¤¹¡£\fI\-p\fR¥ª¥×¥·¥ç¥ó¤È\fI\-e\fR¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +\-e <\fIregex\fR>, \-regex <\fIregex\fR> +.RS 4 +»ØÄꤷ¤¿Àµµ¬É½¸½¥Ñ¥¿¡¼¥ó¤È°ìÃפ¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î°Í¸´Ø·¸¤ò¸¡½Ð¤·¤Þ¤¹¡£\fI\-p\fR¥ª¥×¥·¥ç¥ó¤È\fI\-e\fR¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +\-include <\fIregex\fR> +.RS 4 +ʬÀϤò¥Ñ¥¿¡¼¥ó¤Ë°ìÃפ¹¤ë¥¯¥é¥¹¤ËÀ©¸Â¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Ê¬ÀϤ¹¤ë¥¯¥é¥¹¤Î¥ê¥¹¥È¤ò¥Õ¥£¥ë¥¿¤·¤Þ¤¹¡£°Í¸´Ø·¸¤Ë¥Ñ¥¿¡¼¥ó¤òŬÍѤ¹¤ë\fI\-p\fR¤ª¤è¤Ó\fI\-e\fR¤È¤È¤â¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-jdkinternals +.RS 4 +JDK¤ÎÆâÉôAPI¤Î¥¯¥é¥¹¥ì¥Ù¥ë¤Î°Í¸´Ø·¸¤ò¸¡½Ð¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fI\-include\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤«¤®¤ê¡¢\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤ÓÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤òʬÀϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-p\fR¥ª¥×¥·¥ç¥ó¡¢\fI\-e\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-s\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.sp +\fB·Ù¹ð\fR: JDK¤ÎÆâÉôAPI¤Ï¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-P, \-profile +.RS 4 +¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¥×¥í¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-apionly +.RS 4 +¥Õ¥£¡¼¥ë¥É¡¦¥¿¥¤¥×¡¢¥á¥½¥Ã¥É¡¦¥Ñ¥é¥á¡¼¥¿¡¦¥¿¥¤¥×¡¢Ìá¤ê¥¿¥¤¥×¡¢¥Á¥§¥Ã¥¯¤µ¤ì¤¿Îã³°¥¿¥¤¥×¤ò´Þ¤à¥Ñ¥Ö¥ê¥Ã¥¯¡¦¥¯¥é¥¹¤Î\fIpublic\fR¤ª¤è¤Ó\fIprotected\fR¥á¥ó¥Ð¡¼¤Î½ð̾¤«¤é¤Î°Í¸´Ø·¸¤Ê¤É¡¢Ê¬ÀϤòAPI¤ËÀ©¸Â¤·¤Þ¤¹¡£ +.RE +.PP +\-R, \-recursive +.RS 4 +¤¹¤Ù¤Æ¤Î°Í¸´Ø·¸¤òºÆµ¢Åª¤ËÁöºº¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-h, \-?, \-help +.RS 4 +\fIjdeps\fR¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.SH "Îã" +.PP +Notepad\&.jar¤Î°Í¸´Ø·¸¤ÎʬÀÏ¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps demo/jfc/Notepad/Notepad\&.jar + +demo/jfc/Notepad/Notepad\&.jar \-> /usr/java/jre/lib/rt\&.jar + <unnamed> (Notepad\&.jar) + \-> java\&.awt + \-> java\&.awt\&.event + \-> java\&.beans + \-> java\&.io + \-> java\&.lang + \-> java\&.net + \-> java\&.util + \-> java\&.util\&.logging + \-> javax\&.swing + \-> javax\&.swing\&.border + \-> javax\&.swing\&.event + \-> javax\&.swing\&.text + \-> javax\&.swing\&.tree + \-> javax\&.swing\&.undo +.fi +.if n \{\ +.RE +.\} +.PP +\-P¤Þ¤¿¤Ï\-profile¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥á¥âÄ¢¤¬°Í¸¤¹¤ë¥×¥í¥Õ¥¡¥¤¥ë¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-profile demo/jfc/Notepad/Notepad\&.jar +demo/jfc/Notepad/Notepad\&.jar \-> /usr/java/jre/lib/rt\&.jar (Full JRE) + <unnamed> (Notepad\&.jar) + \-> java\&.awt Full JRE + \-> java\&.awt\&.event Full JRE + \-> java\&.beans Full JRE + \-> java\&.io compact1 + \-> java\&.lang compact1 + \-> java\&.net compact1 + \-> java\&.util compact1 + \-> java\&.util\&.logging compact1 + \-> javax\&.swing Full JRE + \-> javax\&.swing\&.border Full JRE + \-> javax\&.swing\&.event Full JRE + \-> javax\&.swing\&.text Full JRE + \-> javax\&.swing\&.tree Full JRE + \-> javax\&.swing\&.undo Full JRE +.fi +.if n \{\ +.RE +.\} +.PP +tools\&.jar¥Õ¥¡¥¤¥ëÆâ¤Î\fIcom\&.sun\&.tools\&.jdeps\&.Main\fR¥¯¥é¥¹¤Ê¤É¡¢ÆÃÄê¤Î¥¯¥é¥¹¥Ñ¥¹Æâ¤ÎÆÃÄê¤Î¥¯¥é¥¹¤ÎľÀܰ͸´Ø·¸¤ÎʬÀÏ¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main +lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar + com\&.sun\&.tools\&.jdeps (tools\&.jar) + \-> java\&.io + \-> java\&.lang +.fi +.if n \{\ +.RE +.\} +.PP +\fI\-verbose:class\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹¥ì¥Ù¥ë°Í¸´Ø·¸¤ò¸¡º÷¤¹¤ë¤«\fI\-v\fR¤Þ¤¿¤Ï\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÆ±¤¸JAR¥Õ¥¡¥¤¥ë¤«¤é¤Î°Í¸´Ø·¸¤ò´Þ¤á¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-verbose:class \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main + +lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar + com\&.sun\&.tools\&.jdeps\&.Main (tools\&.jar) + \-> java\&.io\&.PrintWriter + \-> java\&.lang\&.Exception + \-> java\&.lang\&.Object + \-> java\&.lang\&.String + \-> java\&.lang\&.System +.fi +.if n \{\ +.RE +.\} +.PP +\fI\-R\fR¤Þ¤¿¤Ï\fI\-recursive\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\fIcom\&.sun\&.tools\&.jdeps\&.Main\fR¥¯¥é¥¹¤Î¿ä°ÜŪ¤Ê°Í¸´Ø·¸¤òʬÀϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-R \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main +lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar + com\&.sun\&.tools\&.classfile (tools\&.jar) + \-> java\&.io + \-> java\&.lang + \-> java\&.lang\&.reflect + \-> java\&.nio\&.charset + \-> java\&.nio\&.file + \-> java\&.util + \-> java\&.util\&.regex + com\&.sun\&.tools\&.jdeps (tools\&.jar) + \-> java\&.io + \-> java\&.lang + \-> java\&.nio\&.file + \-> java\&.nio\&.file\&.attribute + \-> java\&.text + \-> java\&.util + \-> java\&.util\&.jar + \-> java\&.util\&.regex + \-> java\&.util\&.zip +/usr/java/jre/lib/jce\&.jar \-> /usr/java/jre/lib/rt\&.jar + javax\&.crypto (jce\&.jar) + \-> java\&.io + \-> java\&.lang + \-> java\&.lang\&.reflect + \-> java\&.net + \-> java\&.nio + \-> java\&.security + \-> java\&.security\&.cert + \-> java\&.security\&.spec + \-> java\&.util + \-> java\&.util\&.concurrent + \-> java\&.util\&.jar + \-> java\&.util\&.regex + \-> java\&.util\&.zip + \-> javax\&.security\&.auth + \-> sun\&.security\&.jca JDK internal API (rt\&.jar) + \-> sun\&.security\&.util JDK internal API (rt\&.jar) + javax\&.crypto\&.spec (jce\&.jar) + \-> java\&.lang + \-> java\&.security\&.spec + \-> java\&.util +/usr/java/jre/lib/rt\&.jar \-> /usr/java/jre/lib/jce\&.jar + java\&.security (rt\&.jar) + \-> javax\&.crypto +.fi +.if n \{\ +.RE +.\} +.PP +¥á¥âÄ¢¥Ç¥â¤Î°Í¸´Ø·¸¤Îdot¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-dotoutput dot demo/jfc/Notepad/Notepad\&.jar +.fi +.if n \{\ +.RE +.\} +.PP +\fIjdeps\fR¤Ï¡¢\fI\-dotoutput\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿dot¥Ç¥£¥ì¥¯¥È¥ê¤Ë<\fIfilename\fR>\&.dot¤È¤¤¤¦Ì¾Á°¤Îdot¥Õ¥¡¥¤¥ë¤òÆÃÄê¤ÎJAR¥Õ¥¡¥¤¥ë¤´¤È¤ËºîÀ®¤·¡¢JAR¥Õ¥¡¥¤¥ë´Ö¤Î°Í¸´Ø·¸¤ò¥ê¥¹¥È¤¹¤ësummary\&.dot¤È¤¤¤¦Ì¾Á°¤Î¥µ¥Þ¥ê¡¼¡¦¥Õ¥¡¥¤¥ë¤âºîÀ®¤·¤Þ¤¹ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ cat dot/Notepad\&.jar\&.dot +digraph "Notepad\&.jar" { + // Path: demo/jfc/Notepad/Notepad\&.jar + "<unnamed>" \-> "java\&.awt"; + "<unnamed>" \-> "java\&.awt\&.event"; + "<unnamed>" \-> "java\&.beans"; + "<unnamed>" \-> "java\&.io"; + "<unnamed>" \-> "java\&.lang"; + "<unnamed>" \-> "java\&.net"; + "<unnamed>" \-> "java\&.util"; + "<unnamed>" \-> "java\&.util\&.logging"; + "<unnamed>" \-> "javax\&.swing"; + "<unnamed>" \-> "javax\&.swing\&.border"; + "<unnamed>" \-> "javax\&.swing\&.event"; + "<unnamed>" \-> "javax\&.swing\&.text"; + "<unnamed>" \-> "javax\&.swing\&.tree"; + "<unnamed>" \-> "javax\&.swing\&.undo"; +} + +$ cat dot/summary\&.dot +digraph "summary" { + "Notepad\&.jar" \-> "rt\&.jar"; +} +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javap(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jhat.1 b/jdk/src/linux/doc/man/ja/jhat.1 index 666b25229d2..63415d9a6da 100644 --- a/jdk/src/linux/doc/man/ja/jhat.1 +++ b/jdk/src/linux/doc/man/ja/jhat.1 @@ -1,159 +1,214 @@ -." Copyright (c) 2006, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jhat 1 "07 May 2011" - -.LP -.SH "̾Á°" -jhat \- Java ¥Ò¡¼¥×²òÀϥġ¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jhat +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jhat" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jhat \- Java¥Ò¡¼¥×¤òʬÀϤ·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jhat\fP [ \f2options\fP ] <heap\-dump\-file> -.fl - -.fl +\fIjhat\fR [ \fIoptions\fR ] \fIheap\-dump\-file\fR .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -heap\-dump\-file -¥Ö¥é¥¦¥ºÂоݤȤʤë Java ¥Ð¥¤¥Ê¥ê¥Ò¡¼¥×¥À¥ó¥×¥Õ¥¡¥¤¥ë¡£Ê£¿ô¤Î¥Ò¡¼¥×¥À¥ó¥×¤ò´Þ¤à¥À¥ó¥×¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢¡Öfoo.hprof#3¡×¤Î¤è¤¦¤Ë¥Õ¥¡¥¤¥ë̾¤Î¸å¤Ë¡Ö#<number>¡×¤òÉղ乤뤳¤È¤Ç¡¢¥Õ¥¡¥¤¥ëÆâ¤ÎÆÃÄê¤Î¥À¥ó¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIheap\-dump\-file\fR +.RS 4 +¥Ö¥é¥¦¥ºÂоݤȤʤëJava¥Ð¥¤¥Ê¥ê¡¦¥Ò¡¼¥×¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¡£Ê£¿ô¤Î¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò´Þ¤à¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢\fImyfile\&.hprof#3\fR¤Î¤è¤¦¤Ë¥Õ¥¡¥¤¥ë̾¤Î¸å¤Ë\fI#<number>\fR¤òÉղ乤뤳¤È¤Ç¡¢¥Õ¥¡¥¤¥ëÆâ¤ÎÆÃÄê¤Î¥À¥ó¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jhat\fP ¥³¥Þ¥ó¥É¤Ï¡¢java ¥Ò¡¼¥×¥À¥ó¥×¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¡¢Web ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£jhat ¤ò»È¤¨¤Ð¡¢¤ª¹¥¤ß¤Î Web ¥Ö¥é¥¦¥¶¤ò»È¤Ã¤Æ¥Ò¡¼¥×¥À¥ó¥×¤ò¥Ö¥é¥¦¥º¤Ç¤­¤Þ¤¹¡£jhat ¤Ï¡¢¡Ö¤¢¤ë´ûÃΤΥ¯¥é¥¹¡ÖFoo¡×¤Î¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òɽ¼¨¤¹¤ë¡×¤È¤¤¤Ã¤¿¡¢»öÁ°¤ËÀ߷פµ¤ì¤¿¥¯¥¨¥ê¤Î¤Û¤«¡¢\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) ¤â¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£OQL ¤Î¥Ø¥ë¥×¤Ë¤Ï¡¢jhat ¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë OQL ¥Ø¥ë¥×¥Ú¡¼¥¸¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢OQL ¤Î¥Ø¥ë¥×¤Ï http://localhost:7000/oqlhelp/ ¤ÇÍøÍѲÄǽ¤Ç¤¹¡£ -.LP -.LP -Java ¤Î¥Ò¡¼¥×¥À¥ó¥×¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -jmap(1) ¤Î \-dump ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤ò¼èÆÀ¤¹¤ë¡£ -.TP 2 -o -jconsole(1) ¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ -.na -\f2HotSpotDiagnosticMXBean\fP @ -.fi -http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html ·Ðͳ¤Ç¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤ò¼èÆÀ¤¹¤ë¡£ -.TP 2 -o -\-XX:+HeapDumpOnOutOfMemoryError VM ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢OutOfMemoryError ¤Î¥¹¥í¡¼»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤¬À¸À®¤µ¤ì¤ë¡£ -.TP 2 -o -.na -\f2hprof\fP @ -.fi -http://java.sun.com/developer/technicalArticles/Programming/HPROF.html ¤ò»ÈÍѤ¹¤ë¡£ +.PP +\fIjhat\fR¥³¥Þ¥ó¥É¤ÏJava¥Ò¡¼¥×¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¡¢Web¥µ¡¼¥Ð¡¼¤ò³«»Ï¤·¤Þ¤¹¡£\fIjhat\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¤ªµ¤¤ËÆþ¤ê¤Î¥Ö¥é¥¦¥¶¤Ç¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò»²¾È¤Ç¤­¤Þ¤¹¡£\fIjhat\fR¥³¥Þ¥ó¥É¤Ï¡¢´ûÃΤΥ¯¥é¥¹\fIMyClass\fR¤Î¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òɽ¼¨¤¹¤ë¤Ê¤É¤Î»öÁ°À߷׺ѤÎÌä¹ç¤»¤äObject Query Language (OQL)¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¥Ò¡¼¥×¡¦¥À¥ó¥×¤ÎÌä¹ç¤»¤ò½ü¤­¡¢OQL¤ÏSQL¤Ë»÷¤Æ¤¤¤Þ¤¹¡£OQL¤Î¥Ø¥ë¥×¤Ë¤Ï¡¢\fIjhat\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ëOQL¥Ø¥ë¥×¡¦¥Ú¡¼¥¸¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢OQL¤Î¥Ø¥ë¥×¤Ïhttp://localhost:7000/oqlhelp/¤ÇÍøÍѲÄǽ¤Ç¤¹¡£ +.PP +Java¤Î¥Ò¡¼¥×¡¦¥À¥ó¥×¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIjmap \-dump\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò¼èÆÀ¤·¤Þ¤¹¡£jmap(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIjconsole\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ\fIHotSpotDiagnosticMXBean\fR·Ðͳ¤Ç¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò¼èÆÀ¤·¤Þ¤¹¡£jconsole(1)¤ª¤è¤Ó\fIHotSpotDiagnosticMXBean\fR¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÀâÌÀ( +http://docs\&.oracle\&.com/javase/8/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ò¡¼¥×¡¦¥À¥ó¥×¤Ï¡¢\fI\-XX:+HeapDumpOnOutOfMemoryError\fR +Java²¾ÁÛ¥Þ¥·¥ó(JVM)¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢\fIOutOfMemoryError\fR¤¬¥¹¥í¡¼¤µ¤ì¤¿¤È¤­¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIhprof\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£HPROF: Heap/CPU¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¦¥Ä¡¼¥ë +(http://docs\&.oracle\&.com/javase/8/docs/technotes/samples/hprof\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ .RE - -.LP -.LP -\f3Ãí:\fP ¤³¤Î¥Ä¡¼¥ë¤Ï\f3»î¸³Åª¤Ê¤â¤Î\fP¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï\f3ÍøÍѤǤ­¤Ê¤¯¤Ê¤ë\fP²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-stack false/true -¥ª¥Ö¥¸¥§¥¯¥È³ä¤êÅö¤Æ¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ò¡¼¥×¥À¥ó¥×Æâ¤Ç³ä¤êÅö¤Æ¥µ¥¤¥È¾ðÊ󤬻ÈÍѤǤ­¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥Õ¥é¥°¤ò false ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï true ¤Ç¤¹¡£ -.TP 3 -\-refs false/true -¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï true ¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ò¡¼¥×Æâ¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢¥Ð¥Ã¥¯¥Ý¥¤¥ó¥¿ (»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ý¥¤¥ó¥È¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¡£»²¾È¼Ô¤Þ¤¿¤Ï¼õ¿®»²¾È¤È¤â¸Æ¤Ð¤ì¤ë) ¤¬·×»»¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-port port\-number -jhat ¤Î HTTP ¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥È¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï 7000 ¤Ç¤¹¡£ -.TP 3 -\-exclude exclude\-file -¡ÖÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¡×¤Î¥¯¥¨¥ê¤«¤é½ü³°¤¹¤Ù¤­¥Ç¡¼¥¿¥á¥ó¥Ð¡¼¤Î°ìÍ÷¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë \f2java.lang.String.value\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢ÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯¥È¡Öo¡×¤«¤éÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤ò·×»»¤¹¤ëºÝ¤Ë¡¢\f2java.lang.String.value\fP ¥Õ¥£¡¼¥ë¥É¤Ë´ØÏ¢¤¹¤ë»²¾È¥Ñ¥¹¤¬¹Í褵¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-baseline baseline\-dump\-file -¥Ù¡¼¥¹¥é¥¤¥ó¤È¤Ê¤ë¥Ò¡¼¥×¥À¥ó¥×¤ò»ØÄꤷ¤Þ¤¹¡£Î¾Êý¤Î¥Ò¡¼¥×¥À¥ó¥×Æâ¤ÇƱ¤¸¥ª¥Ö¥¸¥§¥¯¥È ID ¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡Ö¿·µ¬¤Ç¤Ï¤Ê¤¤¡×¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤½¤Î¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡Ö¿·µ¬¡×¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢°Û¤Ê¤ë 2 ¤Ä¤Î¥Ò¡¼¥×¥À¥ó¥×¤òÈæ³Ó¤¹¤ëºÝ¤ËÌòΩ¤Á¤Þ¤¹¡£ -.TP 3 -\-debug int -¤³¤Î¥Ä¡¼¥ë¤Î¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤òÀßÄꤷ¤Þ¤¹¡£0 ¤Ï¡Ö¥Ç¥Ð¥Ã¥°½ÐÎϤʤ·¡×¤ò°ÕÌ£¤·¤Þ¤¹¡£¤è¤êÂ礭¤ÊÃͤòÀßÄꤹ¤ë¤È¡¢¤è¤ê¾éĹ¤Ê¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊó¹ð¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-h -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-J<flag> -jhat ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢512M ¥Ð¥¤¥È¤ÎºÇÂç¥Ò¡¼¥×¥µ¥¤¥º¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\-J\-Xmx512m ¤È¤·¤Þ¤¹¡£ +.PP +\-stack false|true +.RS 4 +¥ª¥Ö¥¸¥§¥¯¥È³äÅö¸Æ½Ð¤·¥¹¥¿¥Ã¥¯¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ò¡¼¥×¡¦¥À¥ó¥×Æâ¤Ç³äÅö¥µ¥¤¥È¾ðÊ󤬻ÈÍѤǤ­¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥Õ¥é¥°¤ò\fIfalse\fR¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï\fItrue\fR¤Ç¤¹¡£ +.RE +.PP +\-refs false|true +.RS 4 +¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï\fItrue\fR¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ò¡¼¥×Æâ¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢¥Ð¥Ã¥¯¥Ý¥¤¥ó¥¿(»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ý¥¤¥ó¥È¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¡£»²¾È¼Ô¤Þ¤¿¤Ï¼õ¿®»²¾È¤È¤â¸Æ¤Ð¤ì¤ë)¤¬·×»»¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-port \fIport\-number\fR +.RS 4 +\fIjhat\fR¤ÎHTTP¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥È¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï7000¤Ç¤¹¡£ +.RE +.PP +\-exclude \fIexclude\-file\fR +.RS 4 +Åþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ÎÌä¹ç¤»¤«¤é½ü³°¤¹¤ëɬÍפ¬¤¢¤ë¥Ç¡¼¥¿¡¦¥á¥ó¥Ð¡¼¤Î°ìÍ÷¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë\fIjava\&.lang\&.String\&.value\fR¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢ÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯¥È\fIo\fR¤«¤éÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤ò·×»»¤¹¤ëºÝ¤Ë¡¢\fIjava\&.lang\&.String\&.value\fR¥Õ¥£¡¼¥ë¥É¤Ë´ØÏ¢¤¹¤ë»²¾È¥Ñ¥¹¤¬¹Í褵¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-baseline \fIexclude\-file\fR +.RS 4 +¥Ù¡¼¥¹¥é¥¤¥ó¤È¤Ê¤ë¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò»ØÄꤷ¤Þ¤¹¡£Î¾Êý¤Î¥Ò¡¼¥×¡¦¥À¥ó¥×Æâ¤ÇƱ¤¸¥ª¥Ö¥¸¥§¥¯¥ÈID¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤Ï¿·µ¬¤Ç¤Ï¤Ê¤¤¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¿·µ¬¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢°Û¤Ê¤ë2¤Ä¤Î¥Ò¡¼¥×¡¦¥À¥ó¥×¤òÈæ³Ó¤¹¤ëºÝ¤ËÌòΩ¤Á¤Þ¤¹¡£ +.RE +.PP +\-debug \fIint\fR +.RS 4 +¤³¤Î¥Ä¡¼¥ë¤Î¥Ç¥Ð¥Ã¥°¡¦¥ì¥Ù¥ë¤òÀßÄꤷ¤Þ¤¹¡£¥ì¥Ù¥ë0¤Ï¥Ç¥Ð¥Ã¥°½ÐÎϤ¬¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤è¤êÂ礭¤ÊÃͤòÀßÄꤹ¤ë¤È¡¢¤è¤ê¾éĹ¤Ê¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹ÈÖ¹æ¤ò¥ì¥Ý¡¼¥È¤·¤Æ½ªÎ»¤·¤Þ¤¹ +.RE +.PP +\-h +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIjhat\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ëJava²¾ÁÛ¥Þ¥·¥ó¤Ë\fIflag\fR¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢512M¥Ð¥¤¥È¤ÎºÇÂç¥Ò¡¼¥×¡¦¥µ¥¤¥º¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\fI\-J\-Xmx512m\fR¤È¤·¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jmap(1) -.TP 2 -o -jconsole(1) -.TP 2 -o -.na -\f2hprof \- ¥Ò¡¼¥×¤ª¤è¤Ó CPU ¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥Ä¡¼¥ë\fP @ -.fi -http://java.sun.com/developer/technicalArticles/Programming/HPROF.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jmap(1) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jconsole(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +HPROF: Heap/CPU¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¦¥Ä¡¼¥ë +(http://docs\&.oracle\&.com/javase/8/docs/technotes/samples/hprof\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jinfo.1 b/jdk/src/linux/doc/man/ja/jinfo.1 index a1f639cfda9..f4e7ae9c4ec 100644 --- a/jdk/src/linux/doc/man/ja/jinfo.1 +++ b/jdk/src/linux/doc/man/ja/jinfo.1 @@ -1,166 +1,186 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jinfo 1 "07 May 2011" - -.LP -.SH "̾Á°" -jinfo \- ¹½À®¾ðÊó -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jinfo +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jinfo" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jinfo \- ¹½À®¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jinfo\fP [ option ] pid -.fl -\f3jinfo\fP [ option ] executable core -.fl -\f3jinfo\fP [ option ] [server\-id@]remote\-hostname\-or\-IP -.fl +\fIjinfo\fR [ \fIoption\fR ] \fIpid\fR .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -option -³Æ¥ª¥×¥·¥ç¥ó¤Ï¸ß¤¤¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -pid -½ÐÎϤ¹¤ë¹½À®¾ðÊó¤Î¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1) ¤ò»ÈÍѤ·¤Þ¤¹¡£ +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjinfo\fR [ \fIoption \fR] \fIexecutable core\fR +.fi +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -executable -¥³¥¢¥À¥ó¥×¤ÎºîÀ®¸µ¤Î Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjinfo\fR [ \fIoption \fR] \fI[ servier\-id ] remote\-hostname\-or\-IP\fR +.fi +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -core -½ÐÎϤ¹¤ë¹½À®¾ðÊó¤Î¥³¥¢¥Õ¥¡¥¤¥ë¡£ +.\} +.PP +\fI¥ª¥×¥·¥ç¥ó\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.RS 3 -.TP 3 -remote\-hostname\-or\-IP -¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼ (jsadebugd(1) ¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£ +.PP +\fIpid\fR +.RS 4 +¹½À®¾ðÊ󤬽ÐÎϤµ¤ì¤ë¥×¥í¥»¥¹ID¡£¥×¥í¥»¥¹¤ÏJava¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëJava¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -server\-id -Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤Î ID ¤Ç¤¹¡£ +.PP +\fI¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë\fR +.RS 4 +¥³¥¢¡¦¥À¥ó¥×¤ÎºîÀ®¸µ¤ÎJava¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fI¥³¥¢\fR +.RS 4 +¹½À®¾ðÊ󤬽ÐÎϤµ¤ì¤ë¥³¥¢¡¦¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fIremote\-hostname\-or\-IP\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î\fI¥Û¥¹¥È̾\fR¤Þ¤¿¤Ï\fIIP\fR¥¢¥É¥ì¥¹¡£jsadebugd(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIserver\-id\fR +.RS 4 +Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤ÎID¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jinfo\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ¥×¥í¥»¥¹¤ä¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Î Java ¹½À®¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¹½À®¾ðÊó¤Ï¡¢Java ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤È Java ²¾ÁÛ¥Þ¥·¥ó¤Î¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.br -jinfo \-J\-d64 \-sysprops pid -.LP -.LP -\f3Ãí \- ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng.dll ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ Windows ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖDebugging Tools For Windows¡×¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \fP\f4PATH\fP\f3 ´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë \fP\f4jvm.dll\fP\f3 ¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¥À¥ó¥×¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£\fP -.LP -.LP -\f3¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP -.LP +.PP +\fIjinfo\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿Java¥×¥í¥»¥¹¤ä¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤ÎJava¹½À®¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¹½À®¾ðÊó¤Ë¤Ï¡¢Java¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤ÈJava²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬64¥Ó¥Ã¥ÈJVM¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fI\-J\-d64\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fIjinfo\fR +\fI\-J\-d64 \-sysprops pid\fR¡£ +.PP +¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤ÎJDK¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\fIdbgeng\&.dll\fR¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Debugging Tools For Windows¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£\fIPATH\fR´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëjvm\&.dll¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢\fIset PATH=%JDK_HOME%\ejre\ebin\eclient;%PATH%\fR¤Ç¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -<¥ª¥×¥·¥ç¥ó¤Ê¤·> -¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò¡¢¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼Ì¾¤ÈÃͤΥڥ¢¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-flag name -»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤Î̾Á°¤ÈÃͤò½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-flag [+|\-]name -»ØÄꤵ¤ì¤¿¥Ö¡¼¥ë·¿¤Î¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤òÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£ -.br -.TP 3 -\-flag name=value -»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£ -.br -.TP 3 -\-flags -JVM ¤ËÅϤµ¤ì¤ë¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò¥Ú¥¢¤Ç½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-sysprops -Java ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤ò̾Á°¤ÈÃͤΥڥ¢¤È¤·¤Æ½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-h -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.PP +no\-option +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤ò¡¢¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£Ì¾¤ÈÃͤΥڥ¢¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-flag \fIname\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤Î̾Á°¤ÈÃͤò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-flag \fI[+|\-]name\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Ö¡¼¥ë·¿¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤òÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-flag \fIname=value\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-flags +.RS 4 +JVM¤ËÅϤµ¤ì¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-sysprops +.RS 4 +Java¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤ò̾Á°¤ÈÃͤΥڥ¢¤È¤·¤Æ½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-h +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jps(1) -.TP 2 -o -jsadebugd(1) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jsadebugd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jjs.1 b/jdk/src/linux/doc/man/ja/jjs.1 new file mode 100644 index 00000000000..bcf28254fe2 --- /dev/null +++ b/jdk/src/linux/doc/man/ja/jjs.1 @@ -0,0 +1,394 @@ +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jjs +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jjs" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jjs \- Nashorn¥¨¥ó¥¸¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjjs\fR [\fIoptions\fR] [\fIscript\-files\fR] [\-\- \fIarguments\fR] +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¶õÇòʸ»ú¤Ç¶èÀÚ¤é¤ì¤¿¡¢\fIjjs\fR¥³¥Þ¥ó¥É¤Î1¤Ä°Ê¾å¤Î¥ª¥×¥·¥ç¥ó¡£¾ÜºÙ¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIscript\-files\fR +.RS 4 +¶õÇòʸ»ú¤Ç¶èÀÚ¤é¤ì¤¿¡¢Nashorn¤ò»ÈÍѤ·¤Æ²ò¼á¤¹¤ë1¤Ä°Ê¾å¤Î¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢ÂÐÏ÷¿¥·¥§¥ë¤¬µ¯Æ°¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIarguments\fR +.RS 4 +Æó½Å¥Ï¥¤¥Õ¥ó¡¦¥Þ¡¼¥«¡¼(\fI\-\-\fR)¤Î¸å¤Î¤¹¤Ù¤Æ¤ÎÃͤ¬¡¢°ú¿ô¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¤Þ¤¿¤ÏÂÐÏ÷¿¥·¥§¥ë¤ËÅϤµ¤ì¤Þ¤¹¡£¤³¤ì¤é¤ÎÃͤˤÏ\fIarguments\fR¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹(Example 3¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjjs\fR¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ä¡¼¥ë¤ò»ÈÍѤ·¤ÆNashorn¥¨¥ó¥¸¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤ì¤ò»ÈÍѤ·¤Æ¡¢1¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤ò²ò¼á¤·¤¿¤ê¡¢ÂÐÏ÷¿¥·¥§¥ë¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\fIjjs\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤Ï¥¹¥¯¥ê¥×¥È¤¬Nashorn¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë¾ò·ï¤òÀ©¸æ¤·¤Þ¤¹¡£ +.PP +\-ccs=\fIsize\fR, \-\-class\-cache\-size=\fIsize\fR +.RS 4 +¥¯¥é¥¹¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º¤ò¥Ð¥¤¥Èñ°Ì¤ÇÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È(KB)¤ò¼¨¤¹¤¿¤á¤Ë\fIk\fR¤Þ¤¿¤Ï\fIK\fR¤Îʸ»ú¤òÄɲä·¡¢¥á¥¬¥Ð¥¤¥È(MB)¤ò¼¨¤¹¤¿¤á¤Ë\fIm\fR¤Þ¤¿¤Ï\fIM\fR¤Îʸ»ú¤òÄɲä·¡¢¥®¥¬¥Ð¥¤¥È(GB)¤ò¼¨¤¹¤¿¤á¤Ë\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º¤Ï50¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¼¡¤ÎÎã¤Ï¡¢1024¥Ð¥¤¥È(1 KB)¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-css=100 +\-css=1k +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-co, \-\-compile\-only +.RS 4 +¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤»¤º¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.RE +.PP +\-cp \fIpath\fR, \-\-classpath \fIpath\fR +.RS 4 +¥µ¥Ý¡¼¥È¤¹¤ë¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£Ê£¿ô¤Î¥Ñ¥¹¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤¹¤«¡¢¤Þ¤¿¤Ï³Æ¥Ñ¥¹¤ò¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ +.RE +.PP +\-D\fIname\fR=\fIvalue\fR +.RS 4 +¥×¥í¥Ñ¥Æ¥£Ì¾¤ËÃͤò³ä¤êÅö¤Æ¤ë¤³¤È¤Ç¡¢¥¹¥¯¥ê¥×¥È¤ËÅϤ¹¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¡¢ÂÐÏ÷¿¥â¡¼¥É¤ÇNashorn¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢\fImyValue\fR¤ò\fImyKey\fR¤È¤¤¤¦Ì¾Á°¤Î¥×¥í¥Ñ¥Æ¥£¤Ë³ä¤êÅö¤Æ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +>> \fBjjs \-DmyKey=myValue\fR +jjs> \fBjava\&.lang\&.System\&.getProperty("myKey")\fR +myValue +jjs> +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤·»ÈÍѤ¹¤ë¤È¡¢Ê£¿ô¤Î¥×¥í¥Ñ¥Æ¥£¤òÀßÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-d=\fIpath\fR, \-\-dump\-debug\-dir=\fIpath\fR +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥À¥ó¥×¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-\-debug\-lines +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¹ÔÈÖ¹æÉ½¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Ìµ¸ú¤Ë¤¹¤ë¤Ë¤Ï\fI\-\-debug\-lines=false\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-\-debug\-locals +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¥í¡¼¥«¥ëÊÑ¿ô¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-doe, \-\-dump\-on\-error +.RS 4 +¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤È¤­¤Ë¡¢¥Õ¥ë¡¦¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢´Êñ¤Ê¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤Î¤ß¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-\-early\-lvalue\-error +.RS 4 +̵¸ú¤Êº¸ÊÕÃͼ°¤¬Áá´ü¥¨¥é¡¼¤È¤·¤Æ(¤Ä¤Þ¤ê¡¢¥³¡¼¥É¤¬²òÀϤµ¤ì¤ë¤È¤­¤Ë)Êó¹ð¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Ìµ¸ú¤Ë¤¹¤ë¤Ë¤Ï\fI\-\-early\-lvalue\-error=false\fR¤ò»ØÄꤷ¤Þ¤¹¡£Ìµ¸ú¤Ê¾ì¹ç¡¢Ìµ¸ú¤Êº¸ÊÕÃͼ°¤Ï¥³¡¼¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤Þ¤ÇÊó¹ð¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-\-empty\-statements +.RS 4 +¶õ¤Îʸ¤òJava¤ÎÃê¾Ý¹½Ê¸¥Ä¥ê¡¼¤ËÊݸ¤·¤Þ¤¹¡£ +.RE +.PP +\-fv, \-\-fullversion +.RS 4 +´°Á´¤ÊNashorn¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-function\-statement\-error +.RS 4 +´Ø¿ô¤ÎÀë¸À¤¬Ê¸¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¤È¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-\-function\-statement\-warning +.RS 4 +´Ø¿ô¤ÎÀë¸À¤¬Ê¸¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¤È·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-fx +.RS 4 +¥¹¥¯¥ê¥×¥È¤òJavaFX¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£ +.RE +.PP +\-h, \-help +.RS 4 +¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤È¤½¤ÎÀâÌÀ¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +»ØÄꤷ¤¿\fIjava\fRµ¯Æ°¥ª¥×¥·¥ç¥ó¤òJVM¤ËÅϤ·¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¡¢ÂÐÏ÷¿¥â¡¼¥É¤ÇNashorn¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢JVM¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëºÇÂç¥á¥â¥ê¡¼¤ò4 GB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +>> \fBjjs \-J\-Xmx4g\fR +jjs> \fBjava\&.lang\&.Runtime\&.getRuntime()\&.maxMemory()\fR +3817799680 +jjs> +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤·»ÈÍѤ¹¤ë¤È¡¢Ê£¿ô¤Î\fIjava\fR¥³¥Þ¥ó¥É¡¦¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-\-lazy\-compilation +.RS 4 +¥ì¥¤¥¸¡¼¡¦¥³¡¼¥ÉÀ¸À®Àïά(¤Ä¤Þ¤ê¡¢¥¹¥¯¥ê¥×¥ÈÁ´ÂΤ¬°ìÅ٤˥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Ê¤¤)¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¤¹¡£ +.RE +.PP +\-\-loader\-per\-compile +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤´¤È¤Ë¿·¤·¤¤¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤òºîÀ®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Ìµ¸ú¤Ë¤¹¤ë¤Ë¤Ï\fI\-\-loader\-per\-compile=false\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-\-log=\fIsubsystem\fR:\fIlevel\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥µ¥Ö¥·¥¹¥Æ¥à¤ËÂФ·¤Æ¡¢ÆÃÄê¤Î¥ì¥Ù¥ë¤Ç¥í¥®¥ó¥°¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥«¥ó¥Þ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥µ¥Ö¥·¥¹¥Æ¥à¤Î¥í¥®¥ó¥°¡¦¥ì¥Ù¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-\-log=fields:finest,codegen:info +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-\-package=\fIname\fR +.RS 4 +À¸À®¤µ¤ì¤¿¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÄɲ乤ë¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-\-parse\-only +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤»¤º¤Ë¥³¡¼¥É¤ò²òÀϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-ast +.RS 4 +Ãê¾Ý¹½Ê¸¥Ä¥ê¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-code +.RS 4 +¥Ð¥¤¥È¥³¡¼¥É¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-lower\-ast +.RS 4 +·¡¤ê²¼¤²¤¿Ãê¾Ý¹½Ê¸¥Ä¥ê¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-lower\-parse +.RS 4 +·¡¤ê²¼¤²¤¿²òÀϥĥ꡼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-no\-newline +.RS 4 +¤½¤Î¾¤Î\fI\-\-print*\fR¥ª¥×¥·¥ç¥ó¤Ç¶¯À©Åª¤Ë1¹Ô¤Ç½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-parse +.RS 4 +²òÀϥĥ꡼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-symbols +.RS 4 +µ­¹æÉ½¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-pcs, \-\-profile\-callsites +.RS 4 +¸Æ¤Ó½Ð¤·¥µ¥¤¥È¤Î¥×¥í¥Õ¥¡¥¤¥ë¡¦¥Ç¡¼¥¿¤ò¥À¥ó¥×¤·¤Þ¤¹¡£ +.RE +.PP +\-scripting +.RS 4 +¥·¥§¥ë¤Î¥¹¥¯¥ê¥×¥Èµ¡Ç½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-\-stderr=\fIfilename\fR|\fIstream\fR|\fItty\fR +.RS 4 +ɸ½à¥¨¥é¡¼¡¦¥¹¥È¥ê¡¼¥à¤ò»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¡¢¥¹¥È¥ê¡¼¥à(¤¿¤È¤¨¤Ð\fIstdout\fR)¤Ë¡¢¤Þ¤¿¤Ï¥Æ¥­¥¹¥ÈüËö¤Ë¥ê¥À¥¤¥ì¥¯¥È¤·¤Þ¤¹¡£ +.RE +.PP +\-\-stdout=\fIfilename\fR|\fIstream\fR|\fItty\fR +.RS 4 +ɸ½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤ò»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¡¢¥¹¥È¥ê¡¼¥à(¤¿¤È¤¨¤Ð\fIstderr\fR)¤Ë¡¢¤Þ¤¿¤Ï¥Æ¥­¥¹¥ÈüËö¤Ë¥ê¥À¥¤¥ì¥¯¥È¤·¤Þ¤¹¡£ +.RE +.PP +\-strict +.RS 4 +ɸ½à(ECMAScript Edition 5\&.1)¤Ø¤Î½àµò¤ò¶¯²½¤¹¤ëstrict¥â¡¼¥É¤òÍ­¸ú¤Ë¤·¡¢¤³¤ì¤Ë¤è¤ê¶¦Ä̤Υ³¡¼¥Ç¥£¥ó¥°¡¦¥¨¥é¡¼¤ò´Êñ¤Ë¸¡½Ð¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-t=\fIzone\fR, \-timezone=\fIzone\fR +.RS 4 +¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô¤ËÂФ·»ØÄꤷ¤¿¥¿¥¤¥à¥¾¡¼¥ó¤òÀßÄꤷ¤Þ¤¹¡£OS¤ÇÀßÄꤵ¤ì¤¿¥¿¥¤¥à¥¾¡¼¥ó¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¡¢\fIDate\fR¥ª¥Ö¥¸¥§¥¯¥È¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-tcs=\fIparameter\fR, \-\-trace\-callsites=\fIparameter\fR +.RS 4 +¸Æ½Ð¤·¥µ¥¤¥È¤Î¥È¥ì¡¼¥¹¤Î¥â¡¼¥É¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£»ÈÍѲÄǽ¤Ê¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +miss +.RS 4 +¸Æ½Ð¤·¥µ¥¤¥È¤Î¥ß¥¹¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£ +.RE +.PP +enterexit +.RS 4 +¸Æ½Ð¤·¥µ¥¤¥È¤Ø¤Î½ÐÆþ¤ê¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£ +.RE +.PP +objects +.RS 4 +¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥í¥Ñ¥Æ¥£¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.RE +.PP +\-\-verify\-code +.RS 4 +¥Ð¥¤¥È¥³¡¼¥É¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¸¡¾Ú¤·¤Þ¤¹¡£ +.RE +.PP +\-v, \-version +.RS 4 +Nashorn¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-xhelp +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Î³ÈÄ¥¥Ø¥ë¥×¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.SH "Îã" +.PP +\fBExample 1\fR, Nashorn¤ò»ÈÍѤ·¤¿¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +jjs script\&.js +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ÂÐÏ÷¿¥â¡¼¥É¤Ç¤ÎNashorn¤Î¼Â¹Ô +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +>> \fBjjs\fR +jjs> \fBprintln("Hello, World!")\fR +Hello, World! +jjs> \fBquit()\fR +>> +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, Nashorn¤Ø¤Î°ú¿ô¤ÎÅϤ· +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +>> \fBjjs \-\- a b c\fR +jjs> \fBarguments\&.join(", ")\fR +a, b, c +jjs> +.fi +.if n \{\ +.RE +.\} +.RE +.SH "´ØÏ¢¹àÌÜ" +.PP +\fIjrunscript\fR +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jmap.1 b/jdk/src/linux/doc/man/ja/jmap.1 index 15ea13f6f2e..cc465a08b4e 100644 --- a/jdk/src/linux/doc/man/ja/jmap.1 +++ b/jdk/src/linux/doc/man/ja/jmap.1 @@ -1,179 +1,209 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jmap 1 "07 May 2011" - -.LP -.SH "̾Á°" -jmap \- ¥á¥â¥ê¡¼¥Þ¥Ã¥× -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jmap +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jmap" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jmap \- ¥×¥í¥»¥¹¤ä¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î¡¢¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥á¥â¥ê¡¼¡¦¥Þ¥Ã¥×¤Þ¤¿¤Ï¥Ò¡¼¥×¡¦¥á¥â¥ê¡¼¤Î¾ÜºÙ¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jmap\fP [ option ] pid -.fl -\f3jmap\fP [ option ] executable core -.fl -\f3jmap\fP [ option ] [server\-id@]remote\-hostname\-or\-IP -.fl +\fIjmap\fR [ \fIoptions\fR ] \fIpid\fR .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -option -³Æ¥ª¥×¥·¥ç¥ó¤Ï¸ß¤¤¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Þ¤¹¡£ -.TP 3 -pid -°õºþ¤¹¤ë¥á¥â¥ê¡¼¥Þ¥Ã¥×¤Î¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1) ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.br -.TP 3 -executable -¥³¥¢¥À¥ó¥×¤ÎºîÀ®¸µ¤Î Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ -.br -.TP 3 -core -°õºþ¤¹¤ë¥á¥â¥ê¡¼¥Þ¥Ã¥×¤Î¥³¥¢¥Õ¥¡¥¤¥ë¡£ -.br -.TP 3 -remote\-hostname\-or\-IP -¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼ (jsadebugd(1) ¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£ -.br -.TP 3 -server\-id -Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤Î ID ¤Ç¤¹¡£ -.br +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjmap\fR [ \fIoptions\fR ] \fIexecutable\fR \fIcore\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjmap\fR [ \fIoptions\fR ] [ \fIpid\fR ] \fIserver\-id\fR@ ] \fIremote\-hostname\-or\-IP\fR +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIpid\fR +.RS 4 +½ÐÎϤ¹¤ë¥á¥â¥ê¡¼¡¦¥Þ¥Ã¥×¤Î¥×¥í¥»¥¹ID¡£¥×¥í¥»¥¹¤ÏJava¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëJava¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\fI¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë\fR +.RS 4 +¥³¥¢¡¦¥À¥ó¥×¤ÎºîÀ®¸µ¤ÎJava¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fI¥³¥¢\fR +.RS 4 +½ÐÎϤ¹¤ë¥á¥â¥ê¡¼¡¦¥Þ¥Ã¥×¤Î¥³¥¢¡¦¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fIremote\-hostname\-or\-IP\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î\fI¥Û¥¹¥È̾\fR¤Þ¤¿¤Ï\fIIP\fR¥¢¥É¥ì¥¹¡£jsadebugd(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIserver\-id\fR +.RS 4 +Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤ÎID¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jmap\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤ä¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Î¡¢¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¥á¥â¥ê¡¼¥Þ¥Ã¥×¤Þ¤¿¤Ï¥Ò¡¼¥×¥á¥â¥ê¡¼¤Î¾ÜºÙ¤ò°õºþ¤·¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -jmap \-J\-d64 \-heap pid -.fl -\fP -.fi - -.LP -.LP -\f3Ãí: ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng.dll ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ Windows ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖDebugging Tools For Windows¡×¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \fP\f4PATH\fP\f3 ´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë \fP\f4jvm.dll\fP\f3 ¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¥À¥ó¥×¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£\fP -.LP -.LP -\f3¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP -.LP -.br - -.LP +.PP +\fIjmap\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤ä¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î¡¢¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥á¥â¥ê¡¼¡¦¥Þ¥Ã¥×¤Þ¤¿¤Ï¥Ò¡¼¥×¡¦¥á¥â¥ê¡¼¤Î¾ÜºÙ¤ò½ÐÎϤ·¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬64¥Ó¥Ã¥ÈJava²¾ÁÛ¥Þ¥·¥ó(JVM)¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fI\-J\-d64\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fIjmap\fR +\fI\-J\-d64 \-heap pid\fR¡£ +.PP +\fBÃí°Õ:\fR +¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤ÎJDK¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\fIdbgeng\&.dll\fR¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Debugging Tools For Windows¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£\fIPATH\fR´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë\fIjvm\&.dll\fR¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fIset PATH=%JDK_HOME%\ejre\ebin\eclient;%PATH%\fR¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -<¥ª¥×¥·¥ç¥ó¤Ê¤·> -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢jmap ¤Ï¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¥Þ¥Ã¥Ô¥ó¥°¤ò°õºþ¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È VM ¤Ë¥í¡¼¥É¤µ¤ì¤¿¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¤´¤È¤Ë¡¢³«»Ï¥¢¥É¥ì¥¹¡¢¥Þ¥Ã¥Ô¥ó¥°¤Î¥µ¥¤¥º¡¢¤ª¤è¤Ó¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤¬°õºþ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢Solaris \f3pmap\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ÈÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£ -.br -.TP 3 -\-dump:[live,]format=b,file=<filename> -Java ¥Ò¡¼¥×¤ò hprof ¥Ð¥¤¥Ê¥ê·Á¼°¤Ç filename ¤Ë¥À¥ó¥×¤·¤Þ¤¹¡£\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¾Êά²Äǽ¤Ç¤¹¡£¤³¤ì¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ò¡¼¥×Æâ¤ÇÀ¸Â¸Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£¥Ò¡¼¥×¥À¥ó¥×¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò jhat(1) (Java Heap Analysis Tool) ¤ò»È¤Ã¤ÆÆÉ¤ß¼è¤ê¤Þ¤¹¡£ -.br -.TP 3 -\-finalizerinfo -¥Õ¥¡¥¤¥Ê¥é¥¤¥º¤òÂԤäƤ¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-heap -¥Ò¡¼¥×¥µ¥Þ¥ê¡¼¤ò°õºþ¤·¤Þ¤¹¡£»ÈÍѤµ¤ì¤ë GC ¥¢¥ë¥´¥ê¥º¥à¡¢¥Ò¡¼¥×¹½À®¡¢¤ª¤è¤ÓÀ¤Â头¤È¤Î¥Ò¡¼¥×»ÈÍÑΨ¤¬°õºþ¤µ¤ì¤Þ¤¹¡£ -.br -.TP 3 -\-histo[:live] -¥Ò¡¼¥×¤Î¥Ò¥¹¥È¥°¥é¥à¤ò°õºþ¤·¤Þ¤¹¡£Java ¥¯¥é¥¹¤´¤È¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¿ô¡¢¥Ð¥¤¥Èñ°Ì¤Ç¤Î¥á¥â¥ê¡¼¥µ¥¤¥º¡¢¤ª¤è¤Ó´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤¬°õºþ¤µ¤ì¤Þ¤¹¡£VM ÆâÉô¥¯¥é¥¹Ì¾¤Ï¡¢¡Ö*¡×¤ÎÀÜÆ¬¼­¤òÉÕ¤±¤Æ°õºþ¤µ¤ì¤Þ¤¹¡£\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢À¸Â¸Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥«¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£ -.br -.TP 3 -\-permstat -Permanent À¤Âå¤Î Java ¥Ò¡¼¥×¤Î¡¢¥¯¥é¥¹¥í¡¼¥À¡¼´ØÏ¢¤ÎÅý·×¥Ç¡¼¥¿¤ò°õºþ¤·¤Þ¤¹¡£¥¯¥é¥¹¥í¡¼¥À¡¼¤´¤È¤Ë¡¢¤½¤Î̾Á°¡¢¾õÂÖ¡¢¥¢¥É¥ì¥¹¡¢¿Æ¥¯¥é¥¹¥í¡¼¥À¡¼¡¢¤ª¤è¤Ó¥¯¥é¥¹¥í¡¼¥À¡¼¤¬¥í¡¼¥É¤·¤¿¥¯¥é¥¹¤Î¿ô¤È¥µ¥¤¥º¤¬°õºþ¤µ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢intern ¤µ¤ì¤¿Ê¸»úÎó¤Î¿ô¤È¥µ¥¤¥º¤â½ÐÎϤµ¤ì¤Þ¤¹¡£ -.br -.TP 3 -\-F -¶¯À© (Force)¡£pid ¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¡¢jmap \-dump ¤Þ¤¿¤Ï jmap \-histo ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£ -.br -.TP 3 -\-h -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò°õºþ¤·¤Þ¤¹¡£ -.br -.br -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò°õºþ¤·¤Þ¤¹¡£ -.br -.br -.TP 3 -\-J<flag> -jmap ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£ -.br +.PP +<¥ª¥×¥·¥ç¥ó¤Ê¤·> +.RS 4 +¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢\fIjmap\fR¥³¥Þ¥ó¥É¤Ï¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Þ¥Ã¥Ô¥ó¥°¤ò½ÐÎϤ·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈJVM¤Ë¥í¡¼¥É¤µ¤ì¤¿¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¤´¤È¤Ë¡¢³«»Ï¥¢¥É¥ì¥¹¡¢¥Þ¥Ã¥Ô¥ó¥°¤Î¥µ¥¤¥º¤ª¤è¤Ó¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤³¤Îưºî¤Ï¡¢Oracle Solaris +\fIpmap\fR¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÈÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-dump:[live,] format=b, file=\fIfilename\fR +.RS 4 +Java¥Ò¡¼¥×¤ò\fIhprof\fR¥Ð¥¤¥Ê¥ê·Á¼°¤Ç\fIfilename\fR¤Ë¥À¥ó¥×¤·¤Þ¤¹¡£\fIlive\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¤¬¡¢»ØÄꤷ¤¿¾ì¹ç¡¢¥Ò¡¼¥×Æâ¤Î¥¢¥¯¥Æ¥£¥Ö¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢jhat(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆÀ¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£ +.RE +.PP +\-finalizerinfo +.RS 4 +¥Õ¥¡¥¤¥Ê¥é¥¤¥º¤òÂԤäƤ¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-heap +.RS 4 +»ÈÍѤµ¤ì¤Æ¤¤¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¥Ò¡¼¥×¡¦¥µ¥Þ¥ê¡¼¡¢¥Ø¥Ã¥À¡¼¹½À®¡¢¤ª¤è¤ÓÀ¤Âå´ØÏ¢¤Î¥Ò¡¼¥×»ÈÍѾõ¶·¤ò½ÐÎϤ·¤Þ¤¹¡£¤µ¤é¤Ë¡¢intern¤µ¤ì¤¿Ê¸»úÎó¤Î¿ô¤È¥µ¥¤¥º¤â½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-histo[:live] +.RS 4 +¥Ò¡¼¥×¤Î¥Ò¥¹¥È¥°¥é¥à¤ò½ÐÎϤ·¤Þ¤¹¡£Java¥¯¥é¥¹¤´¤È¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¿ô¡¢¥Ð¥¤¥Èñ°Ì¤Ç¤Î¥á¥â¥ê¡¼¡¦¥µ¥¤¥º¡¢¤ª¤è¤Ó´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£JVM¤ÎÆâÉô¥¯¥é¥¹Ì¾¤Ï¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ÎÀÜÆ¬¼­¤òÉÕ¤±¤Æ½ÐÎϤµ¤ì¤Þ¤¹¡£\fIlive\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥¢¥¯¥Æ¥£¥Ö¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥«¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-clstats +.RS 4 +Java¥Ò¡¼¥×¤Î¡¢¥¯¥é¥¹¡¦¥í¡¼¥À¡¼´ØÏ¢¤ÎÅý·×¥Ç¡¼¥¿¤ò½ÐÎϤ·¤Þ¤¹¡£¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤´¤È¤Ë¡¢¤½¤Î̾Á°¡¢¾õÂÖ¡¢¥¢¥É¥ì¥¹¡¢¿Æ¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¡¢¤ª¤è¤Ó¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤¬¥í¡¼¥É¤·¤¿¥¯¥é¥¹¤Î¿ô¤È¥µ¥¤¥º¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-F +.RS 4 +¶¯À©¤·¤Þ¤¹¡£PID¤¬±þÅú¤·¤Ê¤¤¤È¤­¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò\fIjmap \-dump\fR¤Þ¤¿¤Ï\fIjmap \-histo\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢\fIlive\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-h +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIjmap\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ëJava²¾ÁÛ¥Þ¥·¥ó¤Ë\fIflag\fR¤òÅϤ·¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -pmap (1) -.TP 2 -o -jhat(1) -.TP 2 -o -jps(1) -.TP 2 -o -jsadebugd(1) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jhat(1) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jsadebugd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jps.1 b/jdk/src/linux/doc/man/ja/jps.1 index bcfb9bed82e..d6a7ae886f9 100644 --- a/jdk/src/linux/doc/man/ja/jps.1 +++ b/jdk/src/linux/doc/man/ja/jps.1 @@ -1,278 +1,263 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jps 1 "07 May 2011" - -.LP -.SH "̾Á°" -jps \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -¥Û¥¹¥È¼±ÊÌ»Ò -.TP 2 -o -½ÐÎÏ·Á¼° -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jps +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jps" "1" "2013ǯ11·î21Æü" "JDK 8" "¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jps \- ¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¾å¤Ç·×¬¤µ¤ì¤¿Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jps\fP [ \f2options\fP ] [ \f2hostid\fP ] -.br - -.fl +\fIjps\fR [ \fIoptions\fR ] [ \fIhostid\fR ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -hostid -¥×¥í¥»¥¹¥ì¥Ý¡¼¥È¤òÀ¸À®¤¹¤ë¥Û¥¹¥È¤Î¥Û¥¹¥È¼±Ê̻ҡ£\f2hostid\fP ¤Ë¤Ï¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¼ÂÁõ¤Ë¸ÇÍ­¤Ê¾¤Î¥Ç¡¼¥¿¤ò»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jps\fP ¥Ä¡¼¥ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¾å¤Ç·×¬¤µ¤ì¤¿ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Çɽ¼¨¤Ç¤­¤ë¥ì¥Ý¡¼¥È¾ðÊó¤Ï¡¢¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤¿ JVM ¤Ë´Ø¤¹¤ë¤â¤Î¤Ë¸ÂÄꤵ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2hostid\fP ¤ò»ØÄꤻ¤º¤Ë \f3jps\fP ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç·×¬¤µ¤ì¤¿ JVM ¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£\f2hostid\fP ¤ò»ØÄꤷ¤Æµ¯Æ°¤·¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤È¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¡¢»ØÄꤵ¤ì¤¿¥Û¥¹¥È¾å¤Î JVM ¤ò¸¡º÷¤·¤Þ¤¹¡£\f3jstatd\fP ¥×¥í¥»¥¹¤¬¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤Ç·×¬¤µ¤ì¤¿³Æ JVM ¤Ë¤Ä¤¤¤Æ¡¢¥í¡¼¥«¥ë VM ¼±Ê̻ҡ¢¤Ä¤Þ¤ê \f2lvmid\fP ¤ò¥ì¥Ý¡¼¥È¤·¤Þ¤¹¡£\f3lvmid\fP ¤Ï¡¢É¬¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢°ìÈÌŪ¤Ë¤Ï JVM ¥×¥í¥»¥¹¤ËÂФ¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\f3jps\fP ¤Ë¤è¤Ã¤Æ¡¢³Æ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î \f2lvmid\fP ¤¬°ìÍ÷ɽ¼¨¤µ¤ì¡¢¤½¤ì¤¾¤ì¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤¬´Êñ¤Ê·Á¼°¤Ç¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î´Êñ¤Ê·Á¼°¤Î¥¯¥é¥¹Ì¾¤È JAR ¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¾ðÊó¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¥Ñ¥¹¾ðÊ󤬾Êά¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤Ï¡¢\f3Java\fP µ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ \f2main\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤È°ú¿ô¤ò¸¡º÷¤·¤Þ¤¹¡£ÆÈ¼«¤Îµ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¥¿¡¼¥²¥Ã¥È JVM ¤òµ¯Æ°¤·¤¿¾ì¹ç¤Ï¡¢ \f2main\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾ (¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾) ¤È°ú¿ô¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\f3jps\fP ¥³¥Þ¥ó¥É¤Ï¡¢main ¥á¥½¥Ã¥É¤ØÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾ (¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾) ¤È°ú¿ô¤ËÂФ·¤Æ¡¢Ê¸»úÎó \f2Unknown\fP ¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¤ë JVM ¤Î¥ê¥¹¥È¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¼çÂΤËÍ¿¤¨¤é¤ì¤¿¥¢¥¯¥»¥¹¸¢¤Ë´ð¤Å¤­¡¢À©¸Â¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥àÆÈ¼«¤Î¥¢¥¯¥»¥¹À©¸æµ¡¹½¤Ë¤è¤ë·èÄê¤Ë´ð¤Å¤¤¤Æ¡¢¼çÂΤ˥¢¥¯¥»¥¹¸¢¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë JVM ¤À¤±¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.LP -.LP -\f3Ãí:\fP ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¸½ºß¡¢Windows 98 ¤ª¤è¤Ó Windows Me ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ -.LP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIhostid\fR +.RS 4 +¥×¥í¥»¥¹¡¦¥ì¥Ý¡¼¥È¤òÀ¸À®¤¹¤ë¥Û¥¹¥È¤Î¼±Ê̻ҡ£\fIhostid\fR¤Ë¤Ï¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¼ÂÁõ¤Ë¸ÇÍ­¤Ê¾¤Î¥Ç¡¼¥¿¤ò»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¡¦¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Û¥¹¥È¼±Ê̻Ҥò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¾å¤Ç·×¬¤µ¤ì¤¿Java HotSpot VM¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤Ç¤­¤ë¥ì¥Ý¡¼¥È¾ðÊó¤Ï¡¢¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤¿JVM¤Ë´Ø¤¹¤ë¤â¤Î¤Ë¸ÂÄꤵ¤ì¤Þ¤¹¡£ +.PP +\fIhostid\fR¤ò»ØÄꤻ¤º¤Ë\fIjps\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤Ç·×¬¤µ¤ì¤¿JVM¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£\fIhostid\fR¤ò»ØÄꤷ¤Æµ¯Æ°¤·¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤È¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¡¢»ØÄꤵ¤ì¤¿¥Û¥¹¥È¾å¤ÎJVM¤ò¸¡º÷¤·¤Þ¤¹¡£\fIjstatd\fR¥×¥í¥»¥¹¤¬¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£ +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¤Ç·×¬¤µ¤ì¤¿³ÆJVM¤Ë¤Ä¤¤¤Æ¡¢¥í¡¼¥«¥ëVM¼±Ê̻ҡ¢¤Ä¤Þ¤ê\fIlvmid\fR¤ò¥ì¥Ý¡¼¥È¤·¤Þ¤¹¡£\fIlvmid\fR¤Ï¡¢°ìÈÌŪ¤Ë¤ÏJVM¥×¥í¥»¥¹¤ËÂФ¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¤¬¡¢É¬¤º¤·¤â¤½¤¦¤Ç¤¢¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fIjps\fR¤Ë¤è¤Ã¤Æ¡¢³ÆJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î\fIlvmid\fR¤¬°ìÍ÷ɽ¼¨¤µ¤ì¡¢¤½¤ì¤¾¤ì¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤¬´Êñ¤Ê·Á¼°¤Ç¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î´Êñ¤Ê·Á¼°¤Î¥¯¥é¥¹Ì¾¤ÈJAR¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¾ðÊó¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë¡¦¥Ñ¥¹¾ðÊ󤬾Êά¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Ï¡¢Javaµ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æmain¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤È°ú¿ô¤ò¸¡º÷¤·¤Þ¤¹¡£ÆÈ¼«¤Îµ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¥¿¡¼¥²¥Ã¥ÈJVM¤òµ¯Æ°¤·¤¿¾ì¹ç¤Ï¡¢\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤È°ú¿ô¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\fIjps\fR¥³¥Þ¥ó¥É¤Ï¡¢\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤È°ú¿ô¤ËÂФ·¤Æ¡¢Ê¸»úÎó\fIUnknown\fR¤ò½ÐÎϤ·¤Þ¤¹¡£ +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¤ëJVM¤Î¥ê¥¹¥È¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¥×¥ê¥ó¥·¥Ñ¥ë¤ËÍ¿¤¨¤é¤ì¤¿¥¢¥¯¥»¥¹¸¢¤Ë´ð¤Å¤­¡¢À©¸Â¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥àÆÈ¼«¤Î¥¢¥¯¥»¥¹À©¸æµ¡¹½¤Ë¤è¤ë·èÄê¤Ë´ð¤Å¤¤¤Æ¡¢¥×¥ê¥ó¥·¥Ñ¥ë¤Ë¥¢¥¯¥»¥¹¸¢¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ëJVM¤Î¤ß¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤Î½ÐÎϤòÊѹ¹¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬Â¿¿ô¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾­Íè¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Êѹ¹¤Þ¤¿¤ÏÇѻߤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-q -¥¯¥é¥¹Ì¾¡¢JAR ¥Õ¥¡¥¤¥ë̾¡¢¤ª¤è¤Ó \f2main\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤Î½ÐÎϤòÍÞÀ©¤·¡¢¥í¡¼¥«¥ë VM ¼±Ê̻ҤΰìÍ÷¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£ -.TP 3 -\-m -main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î½ÐÎϤϡ¢ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë JVM ¤ËÂФ·¤Æ null ¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-l -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼çÍפʥ¯¥é¥¹¤Î¥Õ¥ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Õ¥ë¥Ñ¥¹Ì¾¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-v -JVM ¤ËÅϤµ¤ì¤ë°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-V -¥Õ¥é¥°¥Õ¥¡¥¤¥ë (.hotspotrc ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï \-XX:Flags=<\f2filename\fP> ¤Î°ú¿ô¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë) ¤òÄ̤¸¤Æ JVM ¤ËÅϤµ¤ì¤ë°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-Joption -\f3jps\fP ¤¬¸Æ¤Ó½Ð¤¹ \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¡¢\f2option\fP ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ­½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇØ¸å¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤Î½ÐÎϤòÊѹ¹¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬Â¿¿ô¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾­Íè¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Êѹ¹¤Þ¤¿¤ÏÇѻߤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +\-q +.RS 4 +¥¯¥é¥¹Ì¾¡¢JAR¥Õ¥¡¥¤¥ë̾¡¢¤ª¤è¤Ó\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤Î½ÐÎϤòÍÞÀ©¤·¡¢¥í¡¼¥«¥ëVM¼±Ê̻ҤΰìÍ÷¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£ .RE - -.LP -.SS -¥Û¥¹¥È¼±ÊÌ»Ò -.LP -.LP -¥Û¥¹¥È¼±Ê̻ҡ¢¤Ä¤Þ¤ê \f2hostid\fP ¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¹¡£\f2hostid\fP ʸ»úÎó¤Î¹½Ê¸¤ÎÂçÉôʬ¤Ï¡¢URI ¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -[\fP\f4protocol\fP\f3:][[//]\fP\f4hostname\fP\f3][:\fP\f4port\fP\f3][/\fP\f4servername\fP\f3]\fP -.br -\f3 -.fl -\fP -.fi - -.LP -.RS 3 -.TP 3 -protocol -ÄÌ¿®¥×¥í¥È¥³¥ë¤Ç¤¹¡£\f2protocol\fP ¤¬¾Êά¤µ¤ì¡¢\f2hostname\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£\f2protocol\fP ¤¬¾Êά¤µ¤ì¡¢\f2hostname\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥×¥í¥È¥³¥ë¤Ï \f3rmi\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -hostname -¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£\f2hostname\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -port -¥ê¥â¡¼¥È¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Ç¤¹¡£\f2hostname\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢\f2protocol\fP ¤ÇºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2port\fP ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢\f2port\fP ¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î \f3rmi\fP ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢\f2port\fP ¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î rmiregistry ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£\f2port\fP ¤¬¾Êά¤µ¤ì¡¢\f2protocol\fP ¤Ç \f3rmi\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î rmiregistry ¥Ý¡¼¥È (1099) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 3 -servername -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\f3rmi\fP ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î RMI ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò¼¨¤¹Ê¸»úÎó¤Ë¤Ê¤ê¤Þ¤¹¡£jstatd(1) ¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢\f3\-n\fP ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-m +.RS 4 +\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î½ÐÎϤϡ¢ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ëJVM¤ËÂФ·¤Æ\fInull\fR¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.SH "½ÐÎÏ·Á¼°" -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤Î½ÐÎϤϡ¢¼¡¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤¤¤Þ¤¹¡£ -.LP +.PP +\-l +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î\fImain\fR¥¯¥é¥¹¤Î¥Õ¥ë¡¦¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Õ¥ë¥Ñ¥¹Ì¾¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-v +.RS 4 +JVM¤ËÅϤµ¤ì¤ë°ú¿ô¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-V +.RS 4 +¥¯¥é¥¹Ì¾¡¢JAR¥Õ¥¡¥¤¥ë̾¡¢¤ª¤è¤Ómai¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤Î½ÐÎϤòÍÞÀ©¤·¡¢¥í¡¼¥«¥ëVM¼±Ê̻ҤΰìÍ÷¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +JVM¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë\fI¥ª¥×¥·¥ç¥ó\fR¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥Û¥¹¥È¼±ÊÌ»Ò" +.PP +¥Û¥¹¥È¼±Ê̻ҡ¢¤Ä¤Þ¤ê\fIhostid\fR¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¹¡£\fIhostid\fRʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f4lvmid\fP\f3 [ [ \fP\f4classname\fP\f3 | \fP\f4JARfilename\fP\f3 | "Unknown"] [ \fP\f4arg\fP\f3* ] [ \fP\f4jvmarg\fP\f3* ] ]\fP -.br -\f3 -.fl -\fP +[protocol:][[//]hostname][:port][/servername] .fi - -.LP -.LP -¤¹¤Ù¤Æ¤Î½ÐÎϥȡ¼¥¯¥ó¤Ï¶õÇò¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\f2arg\fP ¤ÎÃæ¤Ç¶õÇò¤ò»ÈÍѤ¹¤ë¤È¡¢¼ÂºÝ¤ÎÄê°ÌÃ֥ѥé¥á¡¼¥¿¤Ë°ú¿ô¤ò¥Þ¥Ã¥Ô¥ó¥°¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë¡¢¤¢¤¤¤Þ¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£ -.br -.br -\f3Ãí\fP: ¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤³¤Î·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢\f3jps\fP ¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ÏºîÀ®¤·¤Ê¤¤¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£\f3jps\fP ½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¤È¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¡¢ºîÀ®¤·¤¿¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤¹¤ëɬÍפ¬Í½Â¬¤µ¤ì¤Þ¤¹¡£ -.br - -.LP +.if n \{\ +.RE +.\} +.PP +\fIprotocol\fR +.RS 4 +ÄÌ¿®¥×¥í¥È¥³¥ë¤Ç¤¹¡£\fIprotocol\fR¤¬¾Êά¤µ¤ì¡¢\fIhostname\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£¥×¥í¥È¥³¥ë¤¬¾Êά¤µ¤ì¡¢¥Û¥¹¥È̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥×¥í¥È¥³¥ë¤Ï\fIrmi\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +hostname +.RS 4 +¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤ÏIP¥¢¥É¥ì¥¹¤Ç¤¹¡£\fIhostname\fR¥Ñ¥é¥á¡¼¥¿¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +port +.RS 4 +¥ê¥â¡¼¥È¡¦¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È¤Ç¤¹¡£\fIhostname\fR¥Ñ¥é¥á¡¼¥¿¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢\fIprotocol\fR¥Ñ¥é¥á¡¼¥¿¤¬¡¢ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤ò»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç¡¢\fIport\fR¥Ñ¥é¥á¡¼¥¿¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\fIport\fR¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î +\fIrmi\fR¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢\fIport\fR¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Îrmiregistry¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£\fIport\fR¥Ñ¥é¥á¡¼¥¿¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢\fIprotocol\fR¥Ñ¥é¥á¡¼¥¿¤¬\fIrmi\fR¤ò¼¨¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Îrmiregistry¥Ý¡¼¥È(1099)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +servername +.RS 4 +¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\fIrmi\fR¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤ÎRMI¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò¼¨¤¹Ê¸»úÎó¤Ë¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢\fIjstatd\fR¥³¥Þ¥ó¥É¤Î\fI\-n\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È" +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Î½ÐÎϤϡ¢¼¡¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ] +.fi +.if n \{\ +.RE +.\} +.PP +¤¹¤Ù¤Æ¤Î½ÐÎϥȡ¼¥¯¥ó¤Ï¶õÇòʸ»ú¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£\fIarg\fRÃͤÎÃæ¤Ç¶õÇò¤ò»ÈÍѤ¹¤ë¤È¡¢¼ÂºÝ¤ÎÄê°ÌÃ֥ѥé¥á¡¼¥¿¤Ë°ú¿ô¤ò¥Þ¥Ã¥Ô¥ó¥°¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë¡¢¤¢¤¤¤Þ¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤³¤Î·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢\fIjps\fR¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ÏºîÀ®¤·¤Ê¤¤¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£\fIjps\fR½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¤È¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¡¢ºîÀ®¤·¤¿¥¹¥¯¥ê¥×¥È¤ÎÊѹ¹¤¬É¬Íפˤʤë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ .SH "Îã" -.LP -.LP -¤³¤ÎÀá¤Ç¤Ï¡¢\f3jps\fP ¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.LP -¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿ JVM ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¾ì¹ç: -.LP +.PP +¤³¤Î¹à¤Ç¤Ï¡¢\fIjps\fR¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿JVM¤ò°ìÍ÷ɽ¼¨¤¹¤ë¾ì¹ç: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jps\fP -.br - -.fl -18027 Java2Demo.JAR -.br - -.fl +jps +18027 Java2Demo\&.JAR 18032 jps -.br - -.fl 18005 jstat -.br - -.fl .fi - -.LP -.LP -¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿ JVM ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¾ì¹ç: -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢\f3jstat\fP ¥µ¡¼¥Ð¡¼¤È¡¢¤½¤ÎÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤Þ¤¿¤ÏÊ̤γ°Éô \f3rmiregistry\fP ¥×¥í¥»¥¹¤Î¤¤¤º¤ì¤«¤È¤¬¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤¬¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¤ÎÍ­¸ú¤Ê¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤âÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ë¤Ï¡¢\f2\-l\fP ¥ª¥×¥·¥ç¥ó¤â´Þ¤Þ¤ì¡¢¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤ò¾ÜºÙ¤Ê·Á¼°¤Ç½ÐÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jps \-l remote.domain\fP -.br - -.fl -3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR -.br - -.fl -2857 sun.tools.jstatd.jstatd -.br - -.fl -.fi - -.LP -.LP -RMI ¥ì¥¸¥¹¥È¥ê¤Ë¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¤¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿ JVM ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¾ì¹ç: -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤¬¥Ý¡¼¥È 2002 ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ \f3jstatd\fP ¥µ¡¼¥Ð¡¼¤¬¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢\f2\-m\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢°ìÍ÷ɽ¼¨¤µ¤ì¤¿¤½¤ì¤¾¤ì¤Î Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î \f2main\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¤òÁȤ߹þ¤ó¤Ç¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jps \-m remote.domain:2002\fP -.br - -.fl -3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR -.br - -.fl -3102 sun.tools.jstatd.jstatd \-p 2002 -.fl -.fi - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -¡Öjava(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjstat(1) \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×¥Ç¡¼¥¿´Æ»ë¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjstatd(1) \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó¡× -.TP 2 -o -¡Örmiregistry(1) \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¡× +.if n \{\ .RE - -.LP - +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿JVM¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fIjstat\fR¥µ¡¼¥Ð¡¼¤È¡¢¤½¤ÎÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤Þ¤¿¤ÏÊ̤γ°Éôrmiregistry¥×¥í¥»¥¹¤Î¤¤¤º¤ì¤«¤¬¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È(¥Ý¡¼¥È1099)¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤¬¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Ø¤ÎÍ­¸ú¤Ê¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤âÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ë¤Ï¡¢\fI\-l\fR¥ª¥×¥·¥ç¥ó¤â´Þ¤Þ¤ì¡¢¥¯¥é¥¹Ì¾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤ò¾ÜºÙ¤Ê·Á¼°¤Ç½ÐÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jps \-l remote\&.domain +3002 /opt/jdk1\&.7\&.0/demo/jfc/Java2D/Java2Demo\&.JAR +2857 sun\&.tools\&.jstatd\&.jstatd +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢RMI¥ì¥¸¥¹¥È¥ê¤Ë¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¤¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿JVM¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢ÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤¬¥Ý¡¼¥È2002¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿\fIjstatd\fR¥µ¡¼¥Ð¡¼¤¬¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢\fI\-m\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢°ìÍ÷ɽ¼¨¤µ¤ì¤¿¤½¤ì¤¾¤ì¤ÎJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¤òÁȤ߹þ¤ó¤Ç¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jps \-m remote\&.domain:2002 +3002 /opt/jdk1\&.7\&.0/demo/jfc/Java2D/Java2Demo\&.JAR +3102 sun\&.tools\&.jstatd\&.jstatd \-p 2002 +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstat(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstatd(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +rmiregistry(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jrunscript.1 b/jdk/src/linux/doc/man/ja/jrunscript.1 index 3f83aa5c428..f53c29f59c7 100644 --- a/jdk/src/linux/doc/man/ja/jrunscript.1 +++ b/jdk/src/linux/doc/man/ja/jrunscript.1 @@ -1,208 +1,206 @@ -." Copyright (c) 2006, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jrunscript 1 "07 May 2011" - -.LP -.SH "̾Á°" -jrunscript \- ¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È¥·¥§¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -°ú¿ô -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jrunscript +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥¹¥¯¥ê¥×¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jrunscript" "1" "2013ǯ11·î21Æü" "JDK 8" "¥¹¥¯¥ê¥×¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jrunscript \- ÂÐÏ÷¿¥â¡¼¥É¤È¥Ð¥Ã¥Á¡¦¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¹¥¯¥ê¥×¥È¡¦¥·¥§¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jrunscript\fP [ \f2options\fP ] [ arguments... ] -.fl +\fIjrunscript\fR [\fIoptions\fR] [\fIarguments\fR] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -arguments -°ú¿ô¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jrunscript\fP ¤Ï¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È¥·¥§¥ë¤Ç¤¹¡£jrunscript ¤Ï¡¢ÂÐÏ÷¿ (ÆÉ¤ß¼è¤ê \- ɾ²Á \- ½ÐÎÏ) ¥â¡¼¥É¤È¥Ð¥Ã¥Á (\-f ¥ª¥×¥·¥ç¥ó) ¥â¡¼¥É¤ÎξÊý¤Î¥¹¥¯¥ê¥×¥È¼Â¹Ô¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ì¤Ï¥¹¥¯¥ê¥×¥È¸À¸ì¤Ë°Í¸¤·¤Ê¤¤¥·¥§¥ë¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î»ÈÍѸÀ¸ì¤Ï JavaScript ¤Ç¤¹¤¬¡¢\-l ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤Û¤«¤Î¸À¸ì¤â»ØÄê¤Ç¤­¤Þ¤¹¡£jrunscript ¤Ï¡¢Java ¤È¥¹¥¯¥ê¥×¥È¸À¸ì¤È¤ÎÄÌ¿®¤Ë¤è¤Ã¤Æ¡ÖõµáŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¡×¥¹¥¿¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ -.LP -.LP -\f3Ãí:\fP ¤³¤Î¥Ä¡¼¥ë¤Ï\f3»î¸³Åª¤Ê¤â¤Î\fP¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï\f3ÍøÍѤǤ­¤Ê¤¯¤Ê¤ë\fP²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIarguments\fR +.RS 4 +°ú¿ô¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£°ú¿ô¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjrunscript\fR¥³¥Þ¥ó¥É¤Ï¡¢¸À¸ì¤Ë°Í¸¤·¤Ê¤¤¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¹¥¯¥ê¥×¥È¡¦¥·¥§¥ë¤Ç¤¹¡£\fIjrunscript\fR¤Ï¡¢ÂÐÏ÷¿(read\-eval\-print)¥â¡¼¥É¤È¥Ð¥Ã¥Á(\fI\-f\fR¥ª¥×¥·¥ç¥ó)¡¦¥â¡¼¥É¤ÎξÊý¤Î¥¹¥¯¥ê¥×¥È¼Â¹Ô¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î»ÈÍѸÀ¸ì¤ÏJavaScript¤Ç¤¹¤¬¡¢\fI\-l\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¾¤Î¸À¸ì¤â»ØÄê¤Ç¤­¤Þ¤¹¡£\fIjrunscript\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¤È¥¹¥¯¥ê¥×¥È¸À¸ì¤È¤ÎÄÌ¿®¤ò»ÈÍѤ·¤ÆÃµµáŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¡¦¥¹¥¿¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-classpath path -¥¹¥¯¥ê¥×¥È¤«¤é¤Î¥¢¥¯¥»¥¹ÂÐ¾Ý¤È¤Ê¤ë¥æ¡¼¥¶¡¼¤Î .class ¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-cp path -\-classpath \f2path\fP ¤ÈƱµÁ¤Ç¤¹¡£ -.TP 3 -\-Dname=value -Java ¤Î¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-J<flag> -jrunscript ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£ -.TP 3 -\-l language -»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï JavaScript ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤Û¤«¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢Âбþ¤¹¤ë¥¹¥¯¥ê¥×¥È¥¨¥ó¥¸¥ó¤Î JAR ¥Õ¥¡¥¤¥ë¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ë¤Ï¡¢\-cp¡¢\-classpath ¤Î¤¤¤º¤ì¤«¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.TP 3 -\-e script -»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¤òɾ²Á¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¤¹¤Ù¤Æ¤¬»ØÄꤵ¤ì¤¿¡Ö1 ¹Ô¡×¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-encoding encoding -¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¼è¤ê»þ¤Ë»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-f script\-file -»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òɾ²Á¤·¤Þ¤¹ (¥Ð¥Ã¥Á¥â¡¼¥É)¡£ -.TP 3 -\-f \- -ɸ½àÆþÎϤ«¤é¥¹¥¯¥ê¥×¥È¤òÆÉ¤ß¼è¤ê¡¢¤½¤ì¤òɾ²Á¤·¤Þ¤¹ (ÂÐÏ÷¿¥â¡¼¥É)¡£ -.TP 3 -\-help\ -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-?\ -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-q\ -ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¥¨¥ó¥¸¥ó¤ò°ìÍ÷ɽ¼¨¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£ +.PP +\-classpath \fIpath\fR +.RS 4 +¥¹¥¯¥ê¥×¥È¤¬¥¢¥¯¥»¥¹¤¹¤ëɬÍפΤ¢¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤ò¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-cp \fIpath\fR +.RS 4 +\fI\-classpath\fR +\fIpath\fR¤ÈƱ¤¸¤Ç¤¹¡£ +.RE +.PP +\-D\fIname\fR=\fIvalue\fR +.RS 4 +Java¤Î¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIflag\fR¤ò¡¢\fIjrunscript\fR¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ëJava²¾ÁÛ¥Þ¥·¥ó¤ËľÀÜÅϤ·¤Þ¤¹¡£ +.RE +.PP +\-I \fIlanguage\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏJavaScript¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Â¾¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\fI\-cp\fR¤Þ¤¿¤Ï\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Âбþ¤¹¤ë¥¹¥¯¥ê¥×¥È¡¦¥¨¥ó¥¸¥ó¤ÎJAR¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-e \fIscript\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¤òɾ²Á¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤¹¤Ù¤Æ¤¬»ØÄꤵ¤ì¤¿1¹Ô¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-encoding \fIencoding\fR +.RS 4 +¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤ÎÆÉ¼è¤ê»þ¤Ë»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-f \fIscript\-file\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë(¥Ð¥Ã¥Á¡¦¥â¡¼¥É)¤òɾ²Á¤·¤Þ¤¹¡£ +.RE +.PP +\-f \- +.RS 4 +ɸ½àÆþÎϤ«¤é¥¹¥¯¥ê¥×¥È¤òÆÉ¤ß¼è¤ê¡¢¤½¤ì¤òɾ²Á¤·¤Þ¤¹(ÂÐÏ÷¿¥â¡¼¥É)¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-? +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-q +.RS 4 +ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¡¦¥¨¥ó¥¸¥ó¤ò°ìÍ÷ɽ¼¨¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£ .RE - -.LP .SH "°ú¿ô" -.LP -.LP -[arguments...] ¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤«¤Ä \f3\-e\fP¡¢\f3\-f\fP ¤Î¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ºÇ½é¤Î°ú¿ô¤¬¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤È¤Ê¤ê¡¢Â¾¤Î°ú¿ô¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£[arguments..] ¤È¡¢\f3\-e\fP ¤Þ¤¿¤Ï \f3\-f\fP ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î [arguments..] ¤¬¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£[arguments..]¡¢\f3\-e\fP¡¢\f3\-f\fP ¤¬¤É¤ì¤â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÂÐÏ÷¿¥â¡¼¥É¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤«¤é¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¡Öarguments¡×¤È¤¤¤¦Ì¾Á°¤Î String ÇÛÎ󷿤Υ¨¥ó¥¸¥óÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP +.PP +arguments¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤«¤Ä\fI\-e\fR¡¢\fI\-f\fR¤Î¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ºÇ½é¤Î°ú¿ô¤¬¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤È¤Ê¤ê¡¢Â¾¤Î°ú¿ô¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£arguments¤È¡¢\fI\-e\fR¤Þ¤¿¤Ï\fI\-f\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤¹¤Ù¤Æ¤Îarguments¤¬¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£arguments¡¢\fI\-e\fR¡¢\fI\-f\fR¤¬¤É¤ì¤â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÂÐÏ÷¿¥â¡¼¥É¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤«¤é¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\fIarguments\fR¤È¤¤¤¦Ì¾Á°¤Î\fIString\fRÇÛÎ󷿤Υ¨¥ó¥¸¥óÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£ .SH "Îã" -.LP -.SS -¥¤¥ó¥é¥¤¥ó¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô -.LP +.SS "¥¤¥ó¥é¥¤¥ó¡¦¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jrunscript \-e "print('hello world')" -.fl -jrunscript \-e "cat('http://java.sun.com')" -.fl -\fP +jrunscript \-e "print(\*(Aqhello world\*(Aq)" +jrunscript \-e "cat(\*(Aqhttp://www\&.example\&.com\*(Aq)" .fi - -.LP -.SS -»ØÄꤵ¤ì¤¿¸À¸ì¤ò»ÈÍѤ·¡¢»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òɾ²Á¤¹¤ë -.LP +.if n \{\ +.RE +.\} +.SS "»ØÄꤵ¤ì¤¿¸À¸ì¤Î»ÈÍѤª¤è¤Ó¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤Îɾ²Á" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jrunscript \-l js \-f test.js -.fl -\fP +jrunscript \-l js \-f test\&.js .fi - -.LP -.SS -ÂÐÏ÷¿¥â¡¼¥É -.LP +.if n \{\ +.RE +.\} +.SS "ÂÐÏ÷¿¥â¡¼¥É" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl jrunscript -.fl -js> print('Hello World\\n'); -.fl +js> print(\*(AqHello World\en\*(Aq); Hello World -.fl js> 34 + 55 -.fl -89.0 -.fl -js> t = new java.lang.Thread(function() { print('Hello World\\n'); }) -.fl +89\&.0 +js> t = new java\&.lang\&.Thread(function() { print(\*(AqHello World\en\*(Aq); }) Thread[Thread\-0,5,main] -.fl -js> t.start() -.fl +js> t\&.start() js> Hello World -.fl - -.fl -js> -.fl -\fP -.fi - -.LP -.SS -¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ØÄꤷ¤Æ¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë -.LP -.nf -\f3 -.fl -jrunscript test.js arg1 arg2 arg3 -.fl -\fP -.fi - -.LP -test.js ¤¬¼Â¹ÔÂоݤȤʤ륹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢arg1¡¢arg2¡¢¤ª¤è¤Ó arg3 ¤Ï¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤Ï¡Öarguments¡×ÇÛÎó¤ò»È¤Ã¤Æ¤³¤ì¤é¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£ -.SH "´ØÏ¢¹àÌÜ" -.LP -.LP -JavaScript ¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢jrunscript ¤Ï¡¢ºÇ½é¤Î¥æ¡¼¥¶¡¼ÄêµÁ¥¹¥¯¥ê¥×¥È¤òɾ²Á¤¹¤ëÁ°¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤äÁȤ߹þ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤·¤Þ¤¹¡£¤³¤ì¤é¤Î JavaScript ÁȤ߹þ¤ßµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Ï¡¢jsdocs ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +js> +.fi +.if n \{\ +.RE +.\} +.SS "¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ØÄꤷ¤¿¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô" +.PP +test\&.js¥Õ¥¡¥¤¥ë¤Ï¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£\fIarg1\fR¡¢\fIarg2\fR¤ª¤è¤Ó\fIarg3\fR¤Î³Æ°ú¿ô¤¬¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤ÏargumentsÇÛÎó¤ò»ÈÍѤ·¤Æ¤³¤ì¤é¤Î°ú¿ô¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jrunscript test\&.js arg1 arg2 arg3 +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.PP +JavaScript¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼ÄêµÁ¥¹¥¯¥ê¥×¥È¤òɾ²Á¤¹¤ëÁ°¤Ë¡¢\fIjrunscript\fR¥³¥Þ¥ó¥É¤Ï¤¤¤¯¤Ä¤«¤ÎÁȹþ¤ß´Ø¿ô¤äÁȹþ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤·¤Þ¤¹¡£¤³¤ì¤é¤ÎJavaScript¤ÎÁȹþ¤ß¤Ë¤Ä¤¤¤Æ¤Ï¡¢http://code\&.google\&.com/p/jsdoc\-toolkit/¤Ë¤¢¤ë +JsDoc\-Toolkit¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jsadebugd.1 b/jdk/src/linux/doc/man/ja/jsadebugd.1 index 077543a2367..0425f1af70a 100644 --- a/jdk/src/linux/doc/man/ja/jsadebugd.1 +++ b/jdk/src/linux/doc/man/ja/jsadebugd.1 @@ -1,142 +1,171 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jsadebugd 1 "07 May 2011" - -.LP -.SH "̾Á°" -jsadebugd \- ¥µ¡¼¥Ó¥¹¥¢¥Ó¥ê¥Æ¥£¡¼¥¨¡¼¥¸¥§¥ó¥È¥Ç¥Ð¥Ã¥°¥Ç¡¼¥â¥ó -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jsadebugd +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jsadebugd" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jsadebugd \- Java¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤ËÀܳ¤·¡¢¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jsadebugd\fP pid [ server\-id ] -.fl -\f3jsadebugd\fP executable core [ server\-id ] -.fl +\fIjsadebugd\fR \fIpid\fR [ \fIserver\-id\fR ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -pid -¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Àܳ¤¹¤ë¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID ¤Ç¤¹¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1) ¤ò»ÈÍѤ·¤Þ¤¹¡£Ã±°ì¤Î¥×¥í¥»¥¹¤ËÀܳ¤Ç¤­¤ë¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢1 ¤Ä¤ËÀ©¸Â¤µ¤ì¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -executable +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjsadebugd\fR \fIexecutable\fR \fIcore\fR [ \fIserver\-id\fR ] +.fi +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -¥³¥¢¥À¥ó¥×¤ÎºîÀ®¸µ¤Ë¤Ê¤ë Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.\} +.PP +\fIpid\fR +.RS 4 +¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Àܳ¤¹¤ë¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ID¤Ç¤¹¡£¥×¥í¥»¥¹¤ÏJava¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëJava¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£Ã±°ì¤Î¥×¥í¥»¥¹¤ËÀܳ¤Ç¤­¤ë¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢1¤Ä¤ËÀ©¸Â¤µ¤ì¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -core -¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤òÀܳ¤¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.PP +\fI¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë\fR +.RS 4 +¥³¥¢¡¦¥À¥ó¥×¤ÎºîÀ®¸µ¤ÎJava¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£ .RE - -.LP -.RS 3 -.TP 3 -server\-id -Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤ËɬÍפˤʤ롢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤Î ID ¤Ç¤¹¡£¤³¤Î ID ¤Ï¡¢¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢ÀܳÀè¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î ID ¤Ï¡¢Ã±°ì¤Î¥Þ¥·¥óÆâ¤Ç°ì°Õ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +.PP +\fI¥³¥¢\fR +.RS 4 +¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤òÀܳ¤¹¤ë¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.RE +.PP +\fIserver\-id\fR +.RS 4 +Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËɬÍפˤʤ롢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ¤ÎID¤Ç¤¹¡£¤³¤ÎID¤Ï¡¢¥ê¥â¡¼¥È¡¦¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢ÀܳÀè¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎID¤Ï¡¢Ã±°ì¤Î¥Þ¥·¥óÆâ¤Ç°ì°Õ¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jsadebugd\fP ¤Ï¡¢Java ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤ËÀܳ¤·¡¢¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£jstack(1)¡¢jmap(1)¡¢¤ª¤è¤Ó jinfo(1) ¤Ê¤É¤Î¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Java Remote Method Invocation (RMI) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤Þ¤¹¡£ \f2jsadebugd\fP ¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ -.na -\f2rmiregistry\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi ¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP +.PP +\fIjsadebugd\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤ËÀܳ¤·¡¢¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£\fIjstack\fR¡¢\fIjmap\fR¤ª¤è¤Ó\fIjinfo\fR¤Ê¤É¤Î¥ê¥â¡¼¥È¡¦¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Java Remote Method Invocation (RMI)¤ò»ÈÍѤ·¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤Þ¤¹¡£\fIjsadebugd\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢\fIrmiregistry\fR¥³¥Þ¥ó¥É¤ÇRMI¥ì¥¸¥¹¥È¥ê¤ò¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£\fI$JAVA_HOME\fR¤ÏJDK¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f4rmiregistry \-J\-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar\fP\f3 -.fl -\fP +rmiregistry \-J\-Xbootclasspath/p:$JAVA_HOME/lib/sajdi\&.jar .fi - -.LP -.LP -¤³¤³¤Ç¡¢ \f2$JAVA_HOME\fP ¤Ï JDK ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£rmiregistry ¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢jsadebugd ¤Ïɸ½à (1099) ¥Ý¡¼¥È¤Î rmiregistry ¤òÆâÉô¤Çµ¯Æ°¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Ï¡¢SIGINT ¤òÁ÷¿®¤¹¤ë (Ctrl+C ¤ò²¡¤¹) ¤³¤È¤Ë¤è¤êÄä»ß¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3Ãí\fP \- ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng.dll ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ Windows ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖDebugging Tools For Windows¡×¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \f2PATH\fP ´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë \f2jvm.dll\fP ¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¥À¥ó¥×¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \f2set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jinfo(1) -.TP 2 -o -jmap(1) -.TP 2 -o -jps(1) -.TP 2 -o -jstack(1) -.TP 2 -o -.na -\f2rmiregistry\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi +.if n \{\ .RE - -.LP - +.\} +.PP +RMI¥ì¥¸¥¹¥È¥ê¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjsadebugd\fR¥³¥Þ¥ó¥É¤ÏRMI¥ì¥¸¥¹¥È¥ê¤òɸ½à(1099)¥Ý¡¼¥È¤ÇÆâÉô¤Çµ¯Æ°¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Ï¡¢\fISIGINT\fR¤òÁ÷¿®¤¹¤ë¤³¤È¤Ë¤è¤êÄä»ß¤Ç¤­¤Þ¤¹¡£SIGINT¤òÁ÷¿®¤¹¤ë¤Ë¤Ï¡¢\fB[Ctrl] + [C]\fR¤ò²¡¤·¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤ÎJDK¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\fIdbgeng\&.dll\fR¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Debugging Tools For Windows¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£\fIPATH\fR´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëjvm\&.dll¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£Îã: +\fIs\fR\fIet PATH=%JDK_HOME%\ejre\ebin\eclient;%PATH%\fR +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jinfo(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jmap(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstack(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +rmiregistry(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jstack.1 b/jdk/src/linux/doc/man/ja/jstack.1 index 043a6fb72a3..0afbad29b1d 100644 --- a/jdk/src/linux/doc/man/ja/jstack.1 +++ b/jdk/src/linux/doc/man/ja/jstack.1 @@ -1,172 +1,210 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jstack 1 "07 May 2011" - -.LP -.SH "̾Á°" -jstack \- ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹ -.br - -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.br -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.TP 2 -o -´ûÃΤΥХ° -.br -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jstack +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jstack" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jstack \- Java¥×¥í¥»¥¹¡¢¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤ËÂФ¹¤ëJava¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jstack\fP [ option ] pid -.fl -\f3jstack\fP [ option ] executable core -.fl -\f3jstack\fP [ option ] [server\-id@]remote\-hostname\-or\-IP -.fl +\fIjstack\fR [ \fIoptions\fR ] \fIpid\fR .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.LP -³Æ¥ª¥×¥·¥ç¥ó¤Ï¸ß¤¤¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -pid -°õºþ¤¹¤ë¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤Î¥×¥í¥»¥¹ ID ¤Ç¤¹¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1) ¤ò»ÈÍѤ·¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -executable -¥³¥¢¥À¥ó¥×¤ÎºîÀ®¸µ¤Î Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ -.br -.TP 3 -core -°õºþ¤¹¤ë¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤Î¥³¥¢¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ -.br -.TP 3 -remote\-hostname\-or\-IP -¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼ (jsadebugd(1) ¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£ -.br -.TP 3 -server\-id -Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤Î ID ¤Ç¤¹¡£ +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjstack\fR [ \fIoptions\fR ] \fIexecutable\fR \fIcore\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjstack\fR [ \fIoptions\fR ] [ \fIserver\-id\fR@ ] \fIremote\-hostname\-or\-IP\fR +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIpid\fR +.RS 4 +½ÐÎϤ¹¤ë¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤Î¥×¥í¥»¥¹ID¤Ç¤¹¡£¥×¥í¥»¥¹¤ÏJava¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëJava¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\fI¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë\fR +.RS 4 +¥³¥¢¡¦¥À¥ó¥×¤ÎºîÀ®¸µ¤ÎJava¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fI¥³¥¢\fR +.RS 4 +½ÐÎϤ¹¤ë¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤Î¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.RE +.PP +\fIremote\-hostname\-or\-IP\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î\fI¥Û¥¹¥È̾\fR¤Þ¤¿¤Ï\fIIP\fR¥¢¥É¥ì¥¹¡£jsadebugd(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIserver\-id\fR +.RS 4 +Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤ÎID¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jstack\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ¥×¥í¥»¥¹¤ä¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤ËÂФ¹¤ë Java ¥¹¥ì¥Ã¥É¤Î Java ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò°õºþ¤·¤Þ¤¹¡£Java ¥Õ¥ì¡¼¥à¤´¤È¤Ë¡¢¥Õ¥ë¥¯¥é¥¹Ì¾¡¢¥á¥½¥Ã¥É̾¡¢¡Öbci¡×(¥Ð¥¤¥È¥³¡¼¥É¥¤¥ó¥Ç¥Ã¥¯¥¹)¡¢¤ª¤è¤Ó¹ÔÈÖ¹æ (ÍøÍѲÄǽ¤Ê¾ì¹ç) ¤¬°õºþ¤µ¤ì¤Þ¤¹¡£\-m ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢jstack ¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¹¥ì¥Ã¥É¤Î Java ¥Õ¥ì¡¼¥à¤È¥Í¥¤¥Æ¥£¥Ö¥Õ¥ì¡¼¥à¤ÎξÊý¤ò¡¢¡Öpc¡×(¥×¥í¥°¥é¥à¥«¥¦¥ó¥¿) ¤È¤È¤â¤Ë°õºþ¤·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¥Õ¥ì¡¼¥à¤´¤È¤Ë¡¢¡Öpc¡×¤Ë¤â¤Ã¤È¤â¶á¤¤¥Í¥¤¥Æ¥£¥Ö¥·¥ó¥Ü¥ë (ÍøÍѲÄǽ¤Ê¾ì¹ç) ¤¬°õºþ¤µ¤ì¤Þ¤¹¡£C++ ʬ²ò̾¤Ïʬ²ò²ò½ü¤µ¤ì¤Þ¤»¤ó¡£C++ ̾¤òʬ²ò²ò½ü¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Î½ÐÎϤò \f3c++filt\fP ¤Ë¥Ñ¥¤¥×¤·¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.br - -.LP +.PP +\fIjstack\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿Java¥×¥í¥»¥¹¡¢¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤ËÂФ¹¤ëJava¥¹¥ì¥Ã¥É¤ÎJava¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£Java¥Õ¥ì¡¼¥à¤´¤È¤Ë¡¢¥Õ¥ë¥¯¥é¥¹Ì¾¡¢¥á¥½¥Ã¥É̾¡¢¥Ð¥¤¥È¥³¡¼¥É¡¦¥¤¥ó¥Ç¥Ã¥¯¥¹(bci)¡¢¤ª¤è¤Ó¹ÔÈÖ¹æ(ÍøÍѲÄǽ¤Ê¾ì¹ç)¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-m\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢\fIjstack\fR¥³¥Þ¥ó¥É¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¹¥ì¥Ã¥É¤ÎJava¥Õ¥ì¡¼¥à¤È¥Í¥¤¥Æ¥£¥Ö¡¦¥Õ¥ì¡¼¥à¤ÎξÊý¤ò¡¢¥×¥í¥°¥é¥à¡¦¥«¥¦¥ó¥¿(PC)¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¡¦¥Õ¥ì¡¼¥à¤´¤È¤Ë¡¢PC¤ËºÇ¤â¶á¤¤¥Í¥¤¥Æ¥£¥Ö¡¦¥·¥ó¥Ü¥ë(ÍøÍѲÄǽ¤Ê¾ì¹ç)¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£C++ʬ²ò̾¤Ïʬ²ò²ò½ü¤µ¤ì¤Þ¤»¤ó¡£C++̾¤òʬ²ò²ò½ü¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Î½ÐÎϤò\fIc++filt\fR¤Ë¥Ñ¥¤¥×¤·¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬64¥Ó¥Ã¥ÈJava²¾ÁÛ¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fI\-J\-d64\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(Îã: +\fIjstack \-J\-d64 \-m pid\fR)¡£ +.PP +\fBÃí°Õ\fR +¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤ÎJDK¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng\&.dll¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Debugging Tools For Windows¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢\fIPATH\fR´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëjvm\&.dll¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jstack \-J\-d64 \-m pid -.fl -\fP +set PATH=<jdk>\ejre\ebin\eclient;%PATH% .fi - -.LP -.LP -\f3Ãí\fP \- ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng.dll ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ Windows ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖDebugging Tools For Windows¡×¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \f2PATH\fP ´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë \f2jvm.dll\fP ¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¥À¥ó¥×¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \f2set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP -.LP +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-F -¡Öjstack [\-l] pid¡×¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¥¹¥¿¥Ã¥¯¥À¥ó¥×¤ò¶¯À©¤·¤Þ¤¹¡£ -.TP 3 -\-l -Ĺ·Á¼°¤Î¥ê¥¹¥È¡£½êÍ­ java.util.concurrent ¤Î -.na -\f2½êÍ­¤Ç¤­¤ë¥·¥ó¥¯¥í¥Ê¥¤¥¶\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html¤Î°ìÍ÷¤Ê¤É¡¢¥í¥Ã¥¯¤Ë¤Ä¤¤¤Æ¤ÎÄɲþðÊó¤ò°õºþ¤·¤Þ¤¹¡£ -.TP 3 -\-m -º®¹ç¥â¡¼¥É (Java ¤ª¤è¤Ó¥Í¥¤¥Æ¥£¥Ö C/C++ ¥Õ¥ì¡¼¥à¤ÎξÊý) ¤Î¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò°õºþ¤·¤Þ¤¹¡£ -.TP 3 -\-h -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò°õºþ¤·¤Þ¤¹¡£ -.br -.br -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ -.br +.PP +\-F +.RS 4 +\fIjstack\fR +[\fI\-l\fR] +\fIpid\fR¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¥¹¥¿¥Ã¥¯¡¦¥À¥ó¥×¤ò¶¯À©¤·¤Þ¤¹¡£ .RE - -.LP +.PP +\-l +.RS 4 +Ĺ·Á¼°¤Î¥ê¥¹¥È¡£½êÍ­\fIjava\&.util\&.concurrent\fR¤Î½êÍ­¤Ç¤­¤ë¥·¥ó¥¯¥í¥Ê¥¤¥¶¤Î°ìÍ÷¤Ê¤É¡¢¥í¥Ã¥¯¤Ë¤Ä¤¤¤Æ¤ÎÄɲþðÊó¤ò°õºþ¤·¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer\&.html¤Ë¤¢¤ë +\fIAbstractOwnableSynchronizer\fR¥¯¥é¥¹µ­½Ò¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-m +.RS 4 +Java¤ª¤è¤Ó¥Í¥¤¥Æ¥£¥ÖC/C++¥Õ¥ì¡¼¥à¤ÎξÊý¤ò»ý¤Äº®¹ç¥â¡¼¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-h +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.SH "´ûÃΤÎÉÔ¶ñ¹ç" +.PP +º®¹ç¥â¡¼¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤Ç¤Ï¡¢\fI\-m\fR¥ª¥×¥·¥ç¥ó¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Ç¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£ .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -pstack(1) -.TP 2 -o -c++filt(1) -.TP 2 -o -jps(1) -.TP 2 -o -jsadebugd(1) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +pstack(1) .RE - -.LP -.SH "´ûÃΤΥХ°" -.LP -.LP -º®¹ç¥â¡¼¥É¤Î¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹ (\-m ¥ª¥×¥·¥ç¥ó»ÈÍÑ) ¤Ï¡¢¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Ç¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£ -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +C++filt(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jsadebugd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jstat.1 b/jdk/src/linux/doc/man/ja/jstat.1 index 07e724add93..046a2f37b7f 100644 --- a/jdk/src/linux/doc/man/ja/jstat.1 +++ b/jdk/src/linux/doc/man/ja/jstat.1 @@ -1,5446 +1,619 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jstat 1 "07 May 2011" - -.LP -.SH "̾Á°" -jstat \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×¥Ç¡¼¥¿´Æ»ë¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -²¾ÁÛ¥Þ¥·¥ó¼±ÊÌ»Ò -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.RS 3 -.TP 2 -* -°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó -.TP 2 -* -½ÐÎÏ¥ª¥×¥·¥ç¥ó -.RE -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jstat +.\" Language: English +.\" Date: 2011ǯ5·î10Æü +.\" SectDesc: ¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jstat" "1" "2011ǯ5·î10Æü" "JDK 8" "¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jstat \- Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤ÎÅý·×¤ò´Æ»ë¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] -.fl +\fIjstat\fR [ \fIgeneralOption\fR | \fIoutputOptions vmid\fR [ \fIinterval\fR[s|ms] [ \fIcount \fR] ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -generalOption -ñÆÈ¤Ç»ÈÍѤ¹¤ë°ìÈÌŪ¤Ê¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹ (\-help¡¢\-options¡¢¤Þ¤¿¤Ï \-version)¡£ -.TP 3 -outputOptions -ñ°ì¤Î \f2statOption\fP ¤È¡¢\-t¡¢\-h¡¢¤ª¤è¤Ó \-J ¥ª¥×¥·¥ç¥ó¤Î¤¤¤º¤ì¤«¤òÁȤ߹ç¤ï¤»¤¿¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ -.TP 3 -vmid -¥¿¡¼¥²¥Ã¥È¤Î Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¢¤ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤǤ¹¡£°ìÈÌŪ¤Ê¹½Ê¸¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP] -.fl -.fi -vmid ʸ»úÎó¤Î¹½Ê¸¤ÎÂçÉôʬ¤Ï¡¢URI ¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£\f2vmid\fP ¤Ï¡¢¥í¡¼¥«¥ë JVM ¤òɽ¤¹Ã±½ã¤ÊÀ°¿ô¤«¤é¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¤ª¤è¤Ó¾¤Î¼ÂÁõ¸ÇÍ­¤ÎÃͤò¼¨¤¹Ê£»¨¤Ê¹½Â¤¤Þ¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ë°Û¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -interval[s|ms] -Éà (s) ¤Þ¤¿¤Ï¥ß¥êÉà (ms) ¤Î¤¦¤Á»ØÄꤷ¤¿Ã±°Ì¤Ç¤Î¥µ¥ó¥×¥ê¥ó¥°´Ö³Ö¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Îñ°Ì¤Ï¥ß¥êÉäǤ¹¡£Àµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢\f3jstat\fP ¤Ï interval ¤´¤È¤Ë½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£ -.TP 3 -count -ɽ¼¨¤¹¤ë¥µ¥ó¥×¥ë¿ô¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ̵¸Â¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢\f3jstat\fP ¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤Þ¤¿¤Ï \f3jstat\fP ¥³¥Þ¥ó¥É¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢Åý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£Àµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jstat\fP ¥Ä¡¼¥ë¤Ï¡¢ÀßÃÖ¤µ¤ì¤Æ¤¤¤ë HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Åý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È JVM ¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡ¢¤Ä¤Þ¤ê²¼µ­¤Î \f2vmid\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3Ãí\fP: ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¸½ºß¡¢Windows 98 ¤ª¤è¤Ó Windows Me ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ -.br - -.LP -.SS -²¾ÁÛ¥Þ¥·¥ó¼±ÊÌ»Ò -.LP -.LP -\f2vmid\fP ʸ»úÎó¤Î¹½Ê¸¤ÎÂçÉôʬ¤Ï¡¢URI ¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP] -.fl -.fi - -.LP -.RS 3 -.TP 3 -protocol -ÄÌ¿®¥×¥í¥È¥³¥ë¤Ç¤¹¡£\f2protocol\fP ¤¬¾Êά¤µ¤ì¡¢\f2hostname\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£\f2protocol\fP ¤¬¾Êά¤µ¤ì¡¢\f2hostname\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥×¥í¥È¥³¥ë¤Ï \f3rmi\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -lvmid -¥¿¡¼¥²¥Ã¥È JVM ¤Î¥í¡¼¥«¥ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤǤ¹¡£\f2lvmid\fP ¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î JVM ¤ò°ì°Õ¤Ë¼±Ê̤¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎÃͤǤ¹¡£\f2lvmid\fP ¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤÎÍ£°ì¤Îɬ¿ÜÍ×ÁǤǤ¹¡£\f2lvmid\fP ¤Ï¡¢ÀäÂФȤ¤¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢°ìÈÌŪ¤Ë¤Ï¥¿¡¼¥²¥Ã¥È JVM ¥×¥í¥»¥¹¤ËÂФ¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¡£jps(1) ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\f2lvmid\fP ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢Unix ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï\f3ps\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢Windows ¤Ç¤Ï Windows ¥¿¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¡¼¤ò»ÈÍѤ·¤Æ¡¢\f2lvmid\fP ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.TP 3 -hostname -¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£\f2hostname\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -port -¥ê¥â¡¼¥È¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Ç¤¹¡£\f2hostname\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢\f2protocol\fP ¤ÇºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2port\fP ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢\f2port\fP ¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î \f3rmi\fP ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢\f2port\fP ¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î rmiregistry ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£\f2port\fP ¤¬¾Êά¤µ¤ì¡¢\f2protocol\fP ¤Ç \f3rmi\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î rmiregistry ¥Ý¡¼¥È (1099) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 3 -servername -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\f3rmi\fP ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¤Ï¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î RMI ¥ê¥½¡¼¥¹¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò¼¨¤·¤Þ¤¹¡£ +.\} +.PP +\fIgeneralOption\fR +.RS 4 +ñÆÈ¤Ç»ÈÍѤ¹¤ë°ìÈÌŪ¤Ê¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Ç¤¹(\fI\-help\fR¤Þ¤¿¤Ï\fI\-options\fR)¡£°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIoutputOptions\fR +.RS 4 +ñ°ì¤Î\fIstatOption\fR¤È\fI\-t\fR¡¢\fI\-h\fR¤ª¤è¤Ó\fI\-J\fR¤Î¤¤¤º¤ì¤«¤Î¥ª¥×¥·¥ç¥ó¤Ç¹½À®¤µ¤ì¤ë1¤Ä°Ê¾å¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIvmid\fR +.RS 4 +¥¿¡¼¥²¥Ã¥ÈJVM¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¢¤ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤǤ¹¡£°ìÈÌŪ¤Ê¹½Ê¸¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +[protocol:][//]lvmid[@hostname[:port]/servername] +.fi +.if n \{\ +.RE +.\} +\fIvmid\fRʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£\fIvmid\fRʸ»úÎó¤Ï¡¢¥í¡¼¥«¥ëJVM¤òɽ¤¹Ã±½ã¤ÊÀ°¿ô¤«¤é¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¤ª¤è¤Ó¾¤Î¼ÂÁõ¸ÇÍ­¤ÎÃͤò¼¨¤¹Ê£»¨¤Ê¹½Â¤¤Þ¤Ç¡¢ÍÍ¡¹¤Ë°Û¤Ê¤ê¤Þ¤¹¡£²¾ÁÛ¥Þ¥·¥ó¼±Ê̻Ҥò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIinterval\fR [s|ms] +.RS 4 +ÉÃ(s)¤Þ¤¿¤Ï¥ß¥êÉÃ(ms)¤Î¤¦¤Á»ØÄꤷ¤¿Ã±°Ì¤Ç¤Î¥µ¥ó¥×¥ê¥ó¥°´Ö³Ö¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Îñ°Ì¤Ï¥ß¥êÉäǤ¹¡£Àµ¤ÎÀ°¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ØÄꤷ¤¿¾ì¹ç¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤Ï³Æ´Ö³Ö¤Ç½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\fIcount\fR +.RS 4 +ɽ¼¨¤¹¤ë¥µ¥ó¥×¥ë¿ô¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ̵¸Â¤Ç¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤Þ¤¿¤Ï\fIjstat\fR¥³¥Þ¥ó¥É¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤ÏÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ÎÃͤϡ¢Àµ¤ÎÀ°¿ô¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjstat\fR¥³¥Þ¥ó¥É¤Ï¡¢ÀßÃÖ¤µ¤ì¤Æ¤¤¤ëJava HotSpot VM¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Åý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈJVM¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻Ҥޤ¿¤Ï\fIvmid\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¤Þ¤¹¡£ +.SH "²¾ÁÛ¥Þ¥·¥ó¼±ÊÌ»Ò" +.PP +\fIvmid\fRʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +[protocol:][//]lvmid[@hostname[:port]/servername] +.fi +.if n \{\ +.RE +.\} +.PP +\fIprotocol\fR +.RS 4 +ÄÌ¿®¥×¥í¥È¥³¥ë¤Ç¤¹¡£\fIprotocol\fRÃͤ¬¾Êά¤µ¤ì¡¢¥Û¥¹¥È̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£\fIprotocol\fRÃͤ¬¾Êά¤µ¤ì¡¢¥Û¥¹¥È̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥×¥í¥È¥³¥ë¤Ï\fIrmi\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\fIlvmid\fR +.RS 4 +¥¿¡¼¥²¥Ã¥ÈJVM¤Î¥í¡¼¥«¥ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤǤ¹¡£\fIlvmid\fR¤Ï¡¢¥·¥¹¥Æ¥à¾å¤ÎJVM¤ò°ì°Õ¤Ë¼±Ê̤¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎÃͤǤ¹¡£\fIlvmid\fR¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤÎÍ£°ì¤Îɬ¿ÜÍ×ÁǤǤ¹¡£\fIlvmid\fR¤Ï¡¢°ìÈÌŪ¤Ë¤Ï¥¿¡¼¥²¥Ã¥ÈJVM¥×¥í¥»¥¹¤ËÂФ¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¤¬¡¢É¬¤º¤·¤â¤½¤¦¤Ç¤¢¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£\fIjps\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\fIlvmid\fR¤òÆÃÄê¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢UNIX¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï\fIps\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢Windows¤Ç¤ÏWindows¥¿¥¹¥¯¡¦¥Þ¥Í¡¼¥¸¥ã¤ò»ÈÍѤ·¤Æ¡¢\fIlvmid\fR¤òÆÃÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\fIhostname\fR +.RS 4 +¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤ÏIP¥¢¥É¥ì¥¹¤Ç¤¹¡£\fIhostname\fRÃͤ¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\fIport\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È¤Ç¤¹¡£\fIhostname\fRÃͤ¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤¬\fIprotocol\fRÃͤ˻ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIport\fRÃͤÏ̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\fIport\fR¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î\fIrmi\fR¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¥Ý¡¼¥ÈÃͤϡ¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Îrmiregistry¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£\fIport\fRÃͤ¬¾Êά¤µ¤ì¡¢\fIprotocol\fRÃͤÇ\fIrmi\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Îrmiregistry¥Ý¡¼¥È(1099)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIservername\fR +.RS 4 +\fIservername\fR¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\fIrmi\fR¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤ì¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤ÎRMI¥ê¥½¡¼¥¹¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤òɽ¤·¤Þ¤¹¡£ .RE - -.LP .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f3jstat\fP ¥³¥Þ¥ó¥É¤Ï¡¢°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤È½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Î 2 ¤Ä¤Î¥¿¥¤¥×¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢\f3jstat\fP ¤Ï´Êñ¤Ê»ÈÍÑΨ¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢Åý·×¥Ç¡¼¥¿½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤ò»ØÄꤷ¤Þ¤¹¡£ -.br - -.LP -.LP -\f3Ãí\fP: ¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤È¤½¤Îµ¡Ç½¤Ï¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤Þ¤¿¤ÏÇѻߤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SS -°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó -.LP -.LP +.PP +\fIjstat\fR¥³¥Þ¥ó¥É¤Ï¡¢°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤È½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Î2¤Ä¤Î¥¿¥¤¥×¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤Ï´Êñ¤Ê»ÈÍÑΨ¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢Åý·×¥Ç¡¼¥¿½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤¬·è¤Þ¤ê¤Þ¤¹¡£ +.PP +¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤È¤½¤Îµ¡Ç½¤Ï¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤Þ¤¿¤ÏÇѻߤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.SS "°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó" +.PP ¤¤¤º¤ì¤«¤Î°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥é¥á¡¼¥¿¤Ï°ìÀÚ»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ -.LP -.RS 3 -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-options -Åý·×¥Ç¡¼¥¿¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£²¼µ­¤Î¡Ö½ÐÎÏ¥ª¥×¥·¥ç¥ó¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ .RE - -.LP -.SS -½ÐÎÏ¥ª¥×¥·¥ç¥ó -.LP -.LP -°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ë¡¢½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3jstat\fP ¤Î½ÐÎÏ¤ÎÆâÍÆ¤ª¤è¤Ó·Á¼°¤ò»ØÄꤷ¡¢Ã±°ì¤Î \f2statOption\fP ¤È¡¢Â¾¤Î¤¤¤º¤ì¤«¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó (\-h¡¢\-t¡¢¤ª¤è¤Ó \-J) ¤È¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£\f2statOption\fP ¤ÏºÇ½é¤Ëµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -½ÐÎϤϡ¢³ÆÎ󤬶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥Æ¡¼¥Ö¥ë¤Î·Á¼°¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥È¥ë¤ò´Þ¤à¥Ø¥Ã¥À¡¼¹Ô¤Ë¤è¤Ã¤Æ¡¢³ÆÎó¤Î°ÕÌ£¤¬¤ï¤«¤ê¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Îɽ¼¨ÉÑÅÙ¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢\f3\-h\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Îó¤Î¥Ø¥Ã¥À¡¼Ì¾¤Ï°ìÈ̤ˡ¢¥ª¥×¥·¥ç¥ó´Ö¤Ç°ì´ÓÀ­¤¬Êݤ¿¤ì¤Æ¤¤¤Þ¤¹¡£°ìÈ̤ˡ¢2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ÇƱ¤¸Ì¾Á°¤ÎÎ󤬻ÈÍѤµ¤ì¤Æ¤¤¤ì¤Ð¡¢2 ¤Ä¤ÎÎó¤Î¥Ç¡¼¥¿¥½¡¼¥¹¤ÏƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\f3\-t\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ \f2Timestamp ¤È¤¤¤¦¥é¥Ù¥ë¤ÎÉÕ¤¤¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÎ󤬡¢\fP ½ÐÎϤκǽé¤ÎÎó¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ \f2Timestamp\fP Îó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÀºÅ٤ϡ¢¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¡¢ÂçÎ̤ÎÉé²Ù¤Î¤«¤«¤Ã¤¿¥·¥¹¥Æ¥à¤Ç¤Î¥¹¥ì¥Ã¥É¥¹¥±¥¸¥å¡¼¥ë¤ÎÃÙ±ä¤Ë¤è¤êÊÑÆ°¤·¤Þ¤¹¡£ -.LP -.LP -\f2interval\fP ¤ª¤è¤Ó \f2count\fP ¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤Æ¡¢\f3jstat\fP ¤¬¤½¤Î½ÐÎϤòɽ¼¨¤¹¤ëÉÑÅ٤Ȳó¿ô¤ò¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f3Ãí\fP: ¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤³¤Î·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢\f3jstat\fP ¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ÏºîÀ®¤·¤Ê¤¤¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£\f3jstat\fP ½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ëα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -\-statOption -\f3jstat\fP ¤¬É½¼¨¤¹¤ëÅý·×¥Ç¡¼¥¿¾ðÊó¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤Îɽ¤Ë¡¢ÍøÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£¤¢¤ëÆÃÄê¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥¤¥ó¥¹¥È¡¼¥ë¤Î¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤Î \f3\-options\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.br -.br -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¯¥é¥¹¥í¡¼¥À¡¼¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -HotSpot Just\-in\-Time ¥³¥ó¥Ñ¥¤¥é¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¤Â头¤È¤ÎÍÆÎ̤ÈÂбþ¤¹¤ëÎΰè¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍ× (\f3\-gcutil\fP ¤ÈƱ¤¸) ¤È¡¢Ä¾Á°¤ª¤è¤Ó¸½ºß (ŬÍѲÄǽ¤Ê¾ì¹ç) ¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Î¸¶°ø -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤Î¥µ¥¤¥º¤ÈÂбþ¤¹¤ëÎΰè¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Â太¤è¤Ó Permanent À¤Âå¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤Î¥µ¥¤¥º¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤Î¥µ¥¤¥º¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍ× -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -HotSpot ¥³¥ó¥Ñ¥¤¥ëÊýË¡¤ÎÅý·×¥Ç¡¼¥¿ -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥ª¥×¥·¥ç¥ó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wclass -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wcompiler -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgc -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgccapacity -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgccause -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcnew -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcnewcapacity -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcold -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcoldcapacity -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcpermcapacity -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcutil -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wprintcompilation -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ɽ¼¨ÆâÍÆ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 248 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥ª¥×¥·¥ç¥ó\fP\h'|\n(41u'\f3ɽ¼¨ÆâÍÆ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'class\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'compiler\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gc\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gccapacity\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gccause\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcnew\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcnewcapacity\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcold\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcoldcapacity\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcpermcapacity\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcutil\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'printcompilation\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-52 -.TP 3 -\-h n -\f2n\fP ¥µ¥ó¥×¥ë (½ÐÎϹÔ) ¤´¤È¤ËÎó¥Ø¥Ã¥À¡¼¤òɽ¼¨¡£ ¤¿¤À¤·¡¢\f2n\fP ¤ÏÀµ¤ÎÀ°¿ôÃÍ¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 0¡£ ¤³¤Î¤È¤­¡¢¥Ç¡¼¥¿¤ÎºÇ½é¤Î¹Ô¤Î¾å¤ËÎó¥Ø¥Ã¥À¡¼¤¬É½¼¨¤µ¤ì¤ë -.TP 3 -\-t n -¥¿¥¤¥à¥¹¥¿¥ó¥×Îó¤ò½ÐÎϤκǽé¤ÎÎó¤È¤·¤ÆÉ½¼¨¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö -.TP 3 -\-JjavaOption -\f2javaOption\fP ¤ò \f3java\fP ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ØÅϤ¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Öjava(1)¡×¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-options +.RS 4 +Static¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SS "½ÐÎÏ¥ª¥×¥·¥ç¥ó" +.PP +°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ë¡¢½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤Î½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤ò·èÄꤷ¡¢Ã±°ì¤Î\fIstatOption\fR¤È¤¤¤º¤ì¤«¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó(\fI\-h\fR¡¢\fI\-t\fR¤ª¤è¤Ó\fI\-J\fR)¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£\fIstatOption\fR¤ÏºÇ½é¤Ëµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +½ÐÎϤϡ¢³ÆÎ󤬶õÇò¤Ç¶èÀÚ¤é¤ì¤¿É½¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¥¿¥¤¥È¥ë¤ò´Þ¤à¥Ø¥Ã¥À¡¼¹Ô¤Ë¤è¤Ã¤Æ¡¢³ÆÎó¤Î°ÕÌ£¤¬¤ï¤«¤ê¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Îɽ¼¨ÉÑÅÙ¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢\fI\-h\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Îó¤Î¥Ø¥Ã¥À¡¼Ì¾¤Ï¡¢ÍÍ¡¹¤Ê¥ª¥×¥·¥ç¥ó´Ö¤Ç°ì´ÓÀ­¤¬Êݤ¿¤ì¤Æ¤¤¤Þ¤¹¡£°ìÈ̤ˡ¢2¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ÇƱ¤¸Ì¾Á°¤ÎÎ󤬻ÈÍѤµ¤ì¤Æ¤¤¤ì¤Ð¡¢2¤Ä¤ÎÎó¤Î¥Ç¡¼¥¿¡¦¥½¡¼¥¹¤ÏƱ¤¸¤Ç¤¹¡£ +.PP +\fI\-t\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Timestamp¤È¤¤¤¦¥é¥Ù¥ë¤ÎÉÕ¤¤¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÎ󤬡¢½ÐÎϤκǽé¤ÎÎó¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£TimestampÎó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤Îµ¯Æ°¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÀºÅ٤ϡ¢ÍÍ¡¹¤ÊÍ×°ø¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¡¢ÂçÎ̤ÎÉé²Ù¤Î¤«¤«¤Ã¤¿¥·¥¹¥Æ¥à¤Ç¤Î¥¹¥ì¥Ã¥É¡¦¥¹¥±¥¸¥å¡¼¥ë¤ÎÃÙ±ä¤Ë¤è¤êÊÑÆ°¤·¤Þ¤¹¡£ +.PP +interval¤ª¤è¤Ócount¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤Æ¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤¬¤½¤Î½ÐÎϤòɽ¼¨¤¹¤ëÉÑÅ٤Ȳó¿ô¤ò¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤³¤Î·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ÏºîÀ®¤·¤Ê¤Ç¤¯¤À¤µ¤¤¡£\fIjstat\fR¥³¥Þ¥ó¥É¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤Ëα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-\fIstatOption\fR +.RS 4 +\fIjstat\fR¥³¥Þ¥ó¥É¤¬É½¼¨¤¹¤ëÅý·×¥Ç¡¼¥¿¾ðÊó¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤Ë¡¢ÍøÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£ÆÃÄê¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥¤¥ó¥¹¥È¡¼¥ë¤Î¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤Î\fI\-options\fR¤ò»ÈÍѤ·¤Þ¤¹¡£Stat¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó½ÐÎϤò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fIclass\fR: ¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIcompiler\fR: Java HotSpot VM Just\-in\-Time¥³¥ó¥Ñ¥¤¥é¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgc\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgccapacity\fR: À¤Â头¤È¤ÎÍÆÎ̤ÈÂбþ¤¹¤ëÎΰè¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgccause\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î¥µ¥Þ¥ê¡¼(\fI\-gcutil\fR¤ÈƱ¤¸)¤È¡¢Ä¾Á°¤ª¤è¤Ó¸½ºß(ŬÍѲÄǽ¤Ê¾ì¹ç)¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤Î¸¶°ø¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcnew\fR: NewÀ¤Âå¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcnewcapacity\fR: NewÀ¤Âå¤Î¥µ¥¤¥º¤ÈÂбþ¤¹¤ëÎΰè¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcold\fR: OldÀ¤Âå¤Îưºî¤È¥á¥¿¥¹¥Ú¡¼¥¹¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcoldcapacity\fR: OldÀ¤Âå¤Î¥µ¥¤¥º¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcmetacapacity\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤Î¥µ¥¤¥º¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcutil\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¥µ¥Þ¥ê¡¼¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIprintcompilation\fR: Java HotSpot VM¥³¥ó¥Ñ¥¤¥ë¡¦¥á¥½¥Ã¥É¤ÎÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-h \fIn\fR +.RS 4 +\fIn\fR¥µ¥ó¥×¥ë(½ÐÎϹÔ)¤´¤È¤ËÎó¥Ø¥Ã¥À¡¼¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢\fIn\fR¤ÏÀµ¤ÎÀ°¿ôÃͤǤ¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ0¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¥Ç¡¼¥¿¤ÎºÇ½é¤Î¹Ô¤Î¾å¤ËÎó¥Ø¥Ã¥À¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-t +.RS 4 +¥¿¥¤¥à¥¹¥¿¥ó¥×Îó¤ò½ÐÎϤκǽé¤ÎÎó¤È¤·¤ÆÉ½¼¨¤·¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤Ç¤¹¡£ +.RE +.PP +\-J\fIjavaOption\fR +.RS 4 +\fIjavaOption\fR¤òJava¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SS "Stat¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó½ÐÎÏ" +.PP +¼¡¤Î¾ðÊó¤Ï¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤¬³Æ\fIstatOption\fR¤Ë¤Ä¤¤¤Æ½ÐÎϤ¹¤ëÎó¤ò¤Þ¤È¤á¤¿¤â¤Î¤Ç¤¹¡£ +.PP +\-class \fIoption\fR +.RS 4 +¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fILoaded\fR: ¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô¡£ +.sp +\fIBytes\fR: ¥í¡¼¥É¤µ¤ì¤¿KB¤Î¿ô¡£ +.sp +\fIUnloaded\fR: ¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô¡£ +.sp +\fIBytes\fR: ¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿KB¤Î¿ô¡£ +.sp +\fITime\fR: ¥¯¥é¥¹¤Î¥í¡¼¥É¤ä¥¢¥ó¥í¡¼¥É½èÍý¤ËÍפ·¤¿»þ´Ö¡£ +.RE +.PP +\-compiler \fIoption\fR +.RS 4 +Java HotSpot VM Just\-in\-Time¥³¥ó¥Ñ¥¤¥é¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fICompiled\fR: ¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¿ô¡£ +.sp +\fIFailed\fR: ¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¿ô¡£ +.sp +\fIInvalid\fR: ̵¸ú¤Ë¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¿ô¡£ +.sp +\fITime\fR: ¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¼Â¹Ô¤ËÍפ·¤¿»þ´Ö¡£ +.sp +\fIFailedType\fR: ºÇ¸å¤Ë¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¤¥×¡£ +.sp +\fIFailedMethod\fR: ºÇ¸å¤Ë¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É¡£ +.RE +.PP +\-gc \fIoption\fR +.RS 4 +¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIS0C\fR: SurvivorÎΰè0¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS1C\fR: SurvivorÎΰè1¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS0U\fR: SurvivorÎΰè0¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIS1U\fR: SurvivorÎΰè1¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIEC\fR: EdenÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIEU\fR: EdenÎΰè¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIOC\fR: OldÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOU\fR: OldÎΰè¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIMC\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIMU\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤Î¿ô¡£ +.sp +\fIYGCT\fR: ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-gccapacity \fIoption\fR +.RS 4 +¥á¥â¥ê¡¼¡¦¥×¡¼¥ëÀ¤Â太¤è¤ÓÎΰèÍÆÎÌ¡£ +.sp +\fINGCMN\fR: NewÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fINGCMX\fR: NewÀ¤Âå¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fINGC\fR: NewÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS0C\fR: SurvivorÎΰè0¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS1C\fR: SurvivorÎΰè1¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIEC\fR: EdenÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOGCMN\fR: OldÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fIOGCMX\fR: OldÀ¤Âå¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIOGC\fR: OldÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOC\fR: OldÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIMCMN\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fIMCMX\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIMC\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.RE +.PP +\-gccause \fIoption\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-gcutil\fR¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î¥µ¥Þ¥ê¡¼¤òɽ¼¨¤·¤Þ¤¹¤¬¡¢ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤È(ŬÍѲÄǽ¤Ê¾ì¹ç¤Ï)¸½ºß¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤Î¸¶°ø¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\fI\-gcutil\fR¤Ç°ìÍ÷ɽ¼¨¤µ¤ì¤ëÎó¤Î¤Û¤«¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¼¡¤ÎÎó¤¬Äɲ䵤ì¤Þ¤¹¡£ +.sp +¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤ò´Þ¤à¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¡£ +.sp +\fILGCC\fR: ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø¡£ +.sp +\fIGCC\fR: ¸½ºß¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø¡£ +.RE +.PP +\-gcnew \fIoption\fR +.RS 4 +NewÀ¤Âå¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIS0C\fR: SurvivorÎΰè0¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS1C\fR: SurvivorÎΰè1¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS0U\fR: SurvivorÎΰè0¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIS1U\fR: SurvivorÎΰè1¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fITT\fR: ÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ¡£ +.sp +\fIMTT\fR: ºÇÂçÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ¡£ +.sp +\fIDSS\fR: ŬÀÚ¤ÊSurvivor¥µ¥¤¥º(KB)¡£ +.sp +\fIEC\fR: EdenÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIEU\fR: EdenÎΰè¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIYGCT\fR: ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.RE +.PP +\-gcnewcapacity \fIoption\fR +.RS 4 +NewÀ¤ÂåÎΰ襵¥¤¥º¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +NGCMN: NewÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fINGCMX\fR: NewÀ¤Âå¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fINGC\fR: NewÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS0CMX\fR: SurvivorÎΰè0¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIS0C\fR: SurvivorÎΰè0¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS1CMX\fR: SurvivorÎΰè1¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIS1C\fR: SurvivorÎΰè1¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIECMX\fR: EdenÎΰè¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIEC\fR: EdenÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.RE +.PP +\-gcold \fIoption\fR +.RS 4 +Old¤ª¤è¤ÓPermanentÀ¤Âå¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIMC\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIMU\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIOC\fR: OldÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOU\fR: OldÎΰè¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-gcoldcapacity \fIoption\fR +.RS 4 +OldÀ¤Âå¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIOGCMN\fR: OldÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fIOGCMX\fR: OldÀ¤Âå¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIOGC\fR: OldÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOC\fR: OldÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-gcmetacapacity \fIoption\fR +.RS 4 +PermanentÀ¤Âå¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIMCMN\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fIMCMX\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIMC\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-gcutil \fIoption\fR +.RS 4 +¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î¥µ¥Þ¥ê¡¼ +.sp +\fIS0\fR: SurvivorÎΰè0¤Î»ÈÍÑΨ(¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIS1\fR: SurvivorÎΰè1¤Î»ÈÍÑΨ(¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIE\fR: EdenÎΰè¤Î»ÈÍÑΨ(¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIO\fR: OldÎΰè¤Î»ÈÍÑΨ(¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIM\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ(Îΰè¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIYGCT\fR: ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-printcompilation \fIoption\fR +.RS 4 +Java HotSpot VM¥³¥ó¥Ñ¥¤¥ë¡¦¥á¥½¥Ã¥É¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fICompiled\fR: ºÇ¶á¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤Ç¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¿ô¡£ +.sp +\fISize\fR: ºÇ¶á¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤Î¥Ð¥¤¥È¡¦¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¡£ +.sp +\fIType\fR: ºÇ¶á¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¤¥×¡£ +.sp +\fIMethod\fR: ºÇ¶á¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤òÆÃÄꤹ¤ë¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É̾¡£¥¯¥é¥¹Ì¾¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¡¢¥É¥Ã¥È(\&.)¤Î¤«¤ï¤ê¤Ë¥¹¥é¥Ã¥·¥å(/)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥á¥½¥Ã¥É̾¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤Î¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤ì¤é¤Î2¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤Î·Á¼°¤Ï¡¢HotSpot +\fI\-XX:+PrintComplation\fR¥ª¥×¥·¥ç¥ó¤ÈÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ .RE - -.LP -.SS -statOption ¤È½ÐÎÏ -.LP -.LP -°Ê¹ß¤Îɽ¤Ç¤Ï¡¢\f3jstat\fP ¤¬ \f2statOption\fP ¤´¤È¤Ë½ÐÎϤ¹¤ëÎó¤Ë¤Ä¤¤¤Æ³µÍפò¼¨¤·¤Þ¤¹¡£ -.br - -.LP -.SS -\-class ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥í¡¼¥É¤µ¤ì¤¿ K ¥Ð¥¤¥È¿ô -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿ K ¥Ð¥¤¥È¿ô -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¯¥é¥¹¤Î¥í¡¼¥É¤ä¥¢¥ó¥í¡¼¥É½èÍý¤ËÍפ·¤¿»þ´Ö -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w¥¯¥é¥¹¥í¡¼¥À¡¼¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wLoaded -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wBytes -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wUnloaded -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wBytes -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wTime -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 298 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥¯¥é¥¹¥í¡¼¥À¡¼¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Loaded\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Bytes\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Unloaded\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Bytes\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Time\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-25 - -.LP -.SS -\-compiler ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -̵¸ú¤Ë¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¼Â¹Ô¤ËÍפ·¤¿»þ´Ö -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ºÇ¸å¤Ë¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥× -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ºÇ¸å¤Ë¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wHotSpot Just\-In\-Time ¥³¥ó¥Ñ¥¤¥é¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wCompiled -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFailed -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wInvalid -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wTime -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFailedType -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFailedMethod -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 334 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'HotSpot Just\-In\-Time ¥³¥ó¥Ñ¥¤¥é¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Compiled\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Failed\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Invalid\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Time\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FailedType\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FailedMethod\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-29 - -.LP -.SS -\-gc ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î»ÈÍÑΨ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î»ÈÍÑΨ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di n+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr n| \n(dn -.nr n- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0U -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1U -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(n- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 404 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0U\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1U\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(n|u+\n(.Vu -.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.n+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.rm n+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 - -.LP -.SS -\-gccapacity ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di n+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr n| \n(dn -.nr n- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di o+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr o| \n(dn -.nr o- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w¥á¥â¥ê¡¼¥×¡¼¥ëÀ¤Â太¤è¤ÓÎΰèÍÆÎÌ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(n- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(o- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 478 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥á¥â¥ê¡¼¥×¡¼¥ëÀ¤Â太¤è¤ÓÎΰèÍÆÎÌ\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(n|u+\n(.Vu -.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.n+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(o|u+\n(.Vu -.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.o+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.rm n+ -.rm o+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-67 - -.LP -.SS -\-gccause ¥ª¥×¥·¥ç¥ó -.LP -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¤¬¡¢ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤È (ŬÍѲÄǽ¤Ê¾ì¹ç¤Ï) ¸½ºß¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Î¸¶°ø¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\f3\-gcutil\fP ¤Ç°ìÍ÷ɽ¼¨¤µ¤ì¤ëÎó¤Î¾¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¼¡¤ÎÎó¤¬Äɲ䵤ì¤Þ¤¹¡£ -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¸½ºß¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wGC ¥¤¥Ù¥ó¥È¤ò´Þ¤à¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wLGCC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCC -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 501 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GC ¥¤¥Ù¥ó¥È¤ò´Þ¤à¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'LGCC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-13 - -.LP -.SS -\-gcnew ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î»ÈÍÑΨ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î»ÈÍÑΨ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ºÇÂçÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ŬÀÚ¤Ê Survivor ¥µ¥¤¥º (KB) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wNew À¤Âå¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0U -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1U -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wTT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wMTT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wDSS -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 555 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'New À¤Âå¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0U\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1U\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'TT\h'|\n(41u'ÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'MTT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'DSS\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-47 - -.LP -.SS -\-gcnewcapacity ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wNew À¤ÂåÎΰ襵¥¤¥º¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0CMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1CMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wECMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 609 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'New À¤ÂåÎΰ襵¥¤¥º¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0CMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1CMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'ECMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-47 - -.LP -.SS -\-gcold ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wOld ¤ª¤è¤Ó Permanent À¤Âå¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 651 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Old ¤ª¤è¤Ó Permanent À¤Âå¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-35 - -.LP -.SS -\-gcoldcapacity ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wOld À¤Âå¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 693 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Old À¤Âå¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-35 - -.LP -.SS -\-gcpermcapacity ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wPermanent À¤Âå¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 735 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Permanent À¤Âå¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-35 - -.LP -.SS -\-gcutil ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍ× -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0 -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1 -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wE -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wO -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 785 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍ×\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'E\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'O\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'P\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-43 - -.LP -.SS -\-printcompilation ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥á¥½¥Ã¥É¤Î¥Ð¥¤¥È¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥³¥ó¥Ñ¥¤¥ëÊýË¡¤òÆÃÄꤹ¤ë¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É̾¡£¥¯¥é¥¹Ì¾¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¡¢¡Ö.¡×¤ÎÂå¤ï¤ê¤Ë¡Ö/¡×¤¬»ÈÍѤµ¤ì¤ë¡£¥á¥½¥Ã¥É̾¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤Î¥á¥½¥Ã¥É¤Ç¤¢¤ë¡£¤³¤ì¤é¤Î 2 ¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤Î·Á¼°¤Ï¡¢HotSpot \- \f3XX:+PrintComplation\fP ¥ª¥×¥·¥ç¥ó¤ÈÂбþ¤·¤Æ¤¤¤ë -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wHotSpot ¥³¥ó¥Ñ¥¤¥ëÊýË¡¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wCompiled -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w¥µ¥¤¥º -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w·¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w¥á¥½¥Ã¥É -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥× -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 811 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'HotSpot ¥³¥ó¥Ñ¥¤¥ëÊýË¡¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Compiled\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥µ¥¤¥º\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'·¿\h'|\n(41u'¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥× -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥á¥½¥Ã¥É\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-19 - -.LP .SH "Îã" -.LP -.LP -¤³¤Î¹à¤Ç¤Ï¡¢21891 ¤Î \f2lvmid\fP ¤ò»ý¤Ä¥í¡¼¥«¥ë JVM ¤ò´Æ»ë¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.SS -gcutil ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢\f2lvmid\fP 21891 ¤ËÀܳ¤·¤Æ¡¢250 ¥ß¥êÉÃ´Ö³Ö¤Ç 7 ¤Ä¤Î¥µ¥ó¥×¥ë¤ò¼èÆÀ¤·¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£ -.LP +.PP +¤³¤Î¹à¤Ç¤Ï¡¢21891¤Î\fIlvmid\fR¤ò»ý¤Ä¥í¡¼¥«¥ëJVM¤ò¥â¥Ë¥¿¥ê¥ó¥°¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ +.SS "gcutil¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891¤ËÀܳ¤·¤Æ¡¢250¥ß¥êÉôֳ֤Ç7¤Ä¤Î¥µ¥ó¥×¥ë¤ò¼èÆÀ¤·¡¢\-\fIgcutil\fR¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£ +.PP +¤³¤ÎÎã¤Î½ÐÎϤϡ¢¼ã¤¤À¤Âå¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬3ÈÖÌܤÈ4ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç¹Ô¤ï¤ì¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ì¥¯¥·¥ç¥ó¤Ë¤Ï0\&.001É䫤«¤Ã¤Æ¤ª¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬EdenÎΰè(E)¤«¤éOldÎΰè(O)¤Ë¾º³Ê¤·¤¿¤¿¤á¡¢OldÎΰè¤Î»ÈÍÑΨ¤Ï9\&.49%¤«¤é9\&.51%¤ËÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£SurvivorÎΰè¤Ï¡¢¥³¥ì¥¯¥·¥ç¥óÁ°¤Ï12\&.44%¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¥³¥ì¥¯¥·¥ç¥ó¸å¤Î»ÈÍѤÏ7\&.74%¤Î¤ß¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jstat \-gcutil 21891 250 7\fP -.br - -.fl - S0 S1 E O P YGC YGCT FGC FGCT GCT -.br - -.fl - 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672 -.br - -.fl - 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672 -.br - -.fl - 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672 -.br - -.fl - 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673 -.br - -.fl - 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673 -.br - -.fl - 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673 -.br - -.fl - 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673 -.br - -.fl +jstat \-gcutil 21891 250 7 + S0 S1 E O M YGC YGCT FGC FGCT GCT +0\&.00 99\&.74 13\&.49 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.49 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.49 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.49 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.80 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.80 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.80 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 .fi - -.LP -.LP -¤³¤ÎÎã¤Î½ÐÎϤϡ¢¼ã¤¤À¤Âå¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬ 3 ÈÖÌÜ¤È 4 ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç¹Ô¤ï¤ì¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ì¥¯¥·¥ç¥ó¤Ë¤Ï 0.001 É䫤«¤Ã¤Æ¤ª¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬ Eden Îΰè (E) ¤«¤é Old Îΰè (O) ¤Ë¾º³Ê¤·¤¿¤¿¤á¡¢Old Îΰè¤Î»ÈÍÑΨ¤Ï 9.49% ¤«¤é 9.51% ¤ËÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£Survivor Îΰè¤Ï¡¢¥³¥ì¥¯¥·¥ç¥óÁ°¤Ï 12.44% ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¥³¥ì¥¯¥·¥ç¥ó¸å¤Ï 7.74% ¤·¤«»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -.SS -Îó¥Ø¥Ã¥À¡¼Ê¸»úÎó¤Î·«¤êÊÖ¤· -.LP -.LP -¤³¤ÎÎã¤Ï¡¢\f2lvmid\fP 21891 ¤ËÀܳ¤·¤Æ¡¢250 ¥ß¥êÉôֳ֤ǥµ¥ó¥×¥ë¤ò¼èÆÀ¤·¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f3\-h3\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥Ç¡¼¥¿¤¬ 3 ¹Ôɽ¼¨¤µ¤ì¤ë¤´¤È¤ËÎó¥Ø¥Ã¥À¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jstat \-gcnew \-h3 21891 250\fP -.br - -.fl - S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT -.br - -.fl - 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203 -.br - -.fl - 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203 -.br - -.fl - 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204 -.br - -.fl - S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT -.br - -.fl - 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204 -.br - -.fl - 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204 -.br - -.fl - 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204 -.br - -.fl - S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT -.br - -.fl - 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204 -.br - -.fl -.fi - -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¥Ø¥Ã¥À¡¼Ê¸»úÎó¤Î·«¤êÊÖ¤·¤¬¸«¤é¤ì¤ë¤Û¤«¤Ë¤â¡¢2 ÈÖÌÜ¤È 3 ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç Young GC ¤¬¹Ô¤ï¤ì¤¿¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£¤³¤Î·Ñ³»þ´Ö¤Ï 0.001 ÉäǤ·¤¿¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢Survivor Îΰè 0 ¤Î»ÈÍÑΨ (S0U) ¤¬Å¬ÀÚ¤Ê Survivor ¥µ¥¤¥º (DSS) ¤òĶ²á¤¹¤ë¤³¤È¤Ë¤Ê¤ë¥é¥¤¥Ö¥Ç¡¼¥¿¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î·ë²Ì¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢Old À¤Âå (¤³¤Î½ÐÎϤˤÏÈóɽ¼¨) ¤Ø¾º³Ê¤µ¤ì¡¢ÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ (TT) ¤¬¡¢31 ¤«¤é 2 ¤Ø¹ß³Ê¤µ¤ì¤Þ¤·¤¿¡£ -.LP -.LP -Ê̤Υ³¥ì¥¯¥·¥ç¥ó¤¬¡¢5 ÈÖÌÜ¤È 6 ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢Survivor ¤¬¤Û¤È¤ó¤É¸«¤é¤ì¤º¡¢ÅÂÆ²Æþ¤ê¤·¤­¤¤Ãͤò 31 ¤ËÌᤷ¤Þ¤·¤¿¡£ -.LP -.SS -¥µ¥ó¥×¥ë¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÁÞÆþ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢\f2lvmid\fP 21891 ¤ØÀܳ¤·¡¢250 ¥ß¥êÉÃ´Ö³Ö¤Ç 3 ¤Ä¤Î¥µ¥ó¥×¥ë¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£\f3\-t\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢ºÇ½é¤ÎÎó¤Ë¥µ¥ó¥×¥ë¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP -.br - -.fl -Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT -.br - -.fl - 150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799 -.br - -.fl - 150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 -.br - -.fl - 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 -.br - -.fl -.fi - -.LP -.LP -\f2Timestamp\fP Îó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Ç¥ì¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f3\-gcoldcapacity\fP ½ÐÎϤǤϡ¢³ä¤êÅö¤ÆÍ×µá¤Þ¤¿¤Ï¾º³ÊÍ׵ᤢ¤ë¤¤¤Ï¤½¤ÎξÊý¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ò¡¼¥×¤¬³ÈÄ¥¤¹¤ë¤´¤È¤Ë¡¢Old À¤Âå¤ÎÍÆÎÌ (OGC) ¤È Old Îΰè¤ÎÍÆÎÌ (OC) ¤È¤¬Áý²Ã¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£Old À¤Âå¤ÎÍÆÎÌ (OGC) ¤Ï¡¢81 ÈÖÌܤΥեë GC (FGC) ¸å¤Ë¡¢11696 KB ¤«¤é 13820 KB ¤ØÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£Old À¤Âå (¤ª¤è¤ÓÎΰè) ¤ÎºÇÂçÍÆÎ̤ϡ¢60544 KB (OGCMX) ¤Ê¤Î¤Ç¡¢¤Þ¤À³ÈÄ¥¤Ç¤­¤ë;͵¤¬»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SS -¥ê¥â¡¼¥È JVM ¤Î¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î´Æ»ë -.LP -.LP -¤³¤ÎÎã¤Ï¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\f2remote.domain\fP ¤È¤¤¤¦¥·¥¹¥Æ¥à¾å¤Î \f2lvmid\fP 40496 ¤ËÀܳ¤·¡¢¥µ¥ó¥×¥ë¤òÉÃñ°Ì¤Ç̵´ü¸Â¤Ë¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP -.br - -.fl -... \f2output omitted\fP -.br - -.fl -.fi - -.LP -.LP -\f2lvmid\fP ¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤È·ë¹ç¤µ¤ì¤Æ¡¢\f240496@remote.domain\fP ¤Î \f2vmid\fP ¤ò¹½À®¤·¤Æ¤¤¤Þ¤¹¡£·ë²Ì¤È¤·¤Æ¡¢¤³¤Î \f2vmid\fP ¤Ï¡¢\f3rmi\fP ¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î¥Ç¥Õ¥©¥ë¥È¤Î \f3jstatd\fP ¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤·¤Þ¤¹¡£\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢\f3rmiregistry\fP ¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Î \f3rmiregistry\fP ¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ \f2remote.domain\fP ¤ËÇÛÃÖ¤µ¤ì¤ì¤Þ¤¹¡£ -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -¡Öjava(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjps(1) \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjstatd(1) \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó¡× -.TP 2 -o -¡Örmiregistry(1) \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¡× +.if n \{\ .RE - -.LP - +.\} +.SS "Îó¥Ø¥Ã¥À¡¼Ê¸»úÎó¤Î·«ÊÖ¤·" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891¤ËÀܳ¤·¤Æ¡¢250¥ß¥êÉôֳ֤ǥµ¥ó¥×¥ë¤ò¼èÆÀ¤·¡¢\fI\-gcutil\fR¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fI\-h3\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥Ç¡¼¥¿¤¬3¹Ôɽ¼¨¤µ¤ì¤ë¤´¤È¤ËÎó¥Ø¥Ã¥À¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Ø¥Ã¥À¡¼Ê¸»úÎó¤Î·«ÊÖ¤·¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤Û¤«¡¢2ÈÖÌܤÈ3ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤ÇYoung GC¤¬¹Ô¤ï¤ì¤¿¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£¤³¤Î·Ñ³»þ´Ö¤Ï0\&.001ÉäǤ·¤¿¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢SurvivorÎΰè0¤Î»ÈÍÑΨ(S0U)¤¬Å¬ÀÚ¤ÊSurvivor¥µ¥¤¥º(DSS)¤òĶ²á¤¹¤ë¤³¤È¤Ë¤Ê¤ë¥¢¥¯¥Æ¥£¥Ö¡¦¥Ç¡¼¥¿¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î·ë²Ì¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢OldÀ¤Âå(¤³¤Î½ÐÎϤˤÏÈóɽ¼¨)¤Ø¾º³Ê¤µ¤ì¡¢ÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ(TT)¤¬¡¢31¤«¤é2¤Ø¹ß³Ê¤µ¤ì¤Þ¤·¤¿¡£ +.PP +Ê̤Υ³¥ì¥¯¥·¥ç¥ó¤¬¡¢5ÈÖÌܤÈ6ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢Survivor¤¬¤Û¤È¤ó¤É¸«¤é¤ì¤º¡¢ÅÂÆ²Æþ¤ê¤·¤­¤¤Ãͤò31¤ËÌᤷ¤Þ¤·¤¿¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jstat \-gcnew \-h3 21891 250 + S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT + 64\&.0 64\&.0 0\&.0 31\&.7 31 31 32\&.0 512\&.0 178\&.6 249 0\&.203 + 64\&.0 64\&.0 0\&.0 31\&.7 31 31 32\&.0 512\&.0 355\&.5 249 0\&.203 + 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 21\&.9 250 0\&.204 + S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT + 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 245\&.9 250 0\&.204 + 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 421\&.1 250 0\&.204 + 64\&.0 64\&.0 0\&.0 19\&.0 31 31 32\&.0 512\&.0 84\&.4 251 0\&.204 + S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT + 64\&.0 64\&.0 0\&.0 19\&.0 31 31 32\&.0 512\&.0 306\&.7 251 0\&.204 +.fi +.if n \{\ +.RE +.\} +.SS "¥µ¥ó¥×¥ë¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÁÞÆþ" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢lvmid21891¤ØÀܳ¤·¡¢250¥ß¥êÉôֳ֤Ç3¤Ä¤Î¥µ¥ó¥×¥ë¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£\fI\-t\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢ºÇ½é¤ÎÎó¤Ë¥µ¥ó¥×¥ë¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +.PP +TimestampÎó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Ç¥ì¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fI\-gcoldcapacity\fR½ÐÎϤǤϡ¢³äÅö¥ê¥¯¥¨¥¹¥È¤Þ¤¿¤Ï¾º³Ê¥ê¥¯¥¨¥¹¥È¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ò¡¼¥×¤¬³ÈÄ¥¤¹¤ë¤¿¤Ó¤Ë¡¢OldÀ¤Âå¤ÎÍÆÎÌ(OGC)¤ÈOldÎΰè¤ÎÍÆÎÌ(OC)¤È¤¬Áý²Ã¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£81ÈÖÌܤΥե롦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(FGC)¤Î¸å¡¢OldÀ¤Âå¤ÎÍÆÎÌ(OGC)¤Ï11,696 KB¤«¤é13820 KB¤ËÁý²Ã¤·¤Þ¤·¤¿¡£¤³¤ÎÀ¤Âå(¤ª¤è¤ÓÎΰè)¤ÎºÇÂçÍÆÎ̤ϡ¢60,544 KB (OGCMX)¤Ê¤Î¤Ç¡¢¤Þ¤À³ÈÄ¥¤Ç¤­¤ë;͵¤¬»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT + 150\&.1 1408\&.0 60544\&.0 11696\&.0 11696\&.0 194 80 2\&.874 3\&.799 + 150\&.4 1408\&.0 60544\&.0 13820\&.0 13820\&.0 194 81 2\&.938 3\&.863 + 150\&.7 1408\&.0 60544\&.0 13820\&.0 13820\&.0 194 81 2\&.938 3\&.863 +.fi +.if n \{\ +.RE +.\} +.SS "¥ê¥â¡¼¥ÈJVM¤Î¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î´Æ»ë" +.PP +¤³¤ÎÎã¤Ï¡¢\fI\-gcutil\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢remote\&.domain¤È¤¤¤¦¥·¥¹¥Æ¥à¾å¤Îlvmid 40496¤ËÀܳ¤·¡¢¥µ¥ó¥×¥ë¤òÉÃñ°Ì¤Ç̵´ü¸Â¤Ë¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£ +.PP +lvmid¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Î̾Á°¤È·ë¹ç¤µ¤ì¤Æ¡¢\fI40496@remote\&.domain\fR¤Î\fIvmid\fR¤ò¹½À®¤·¤Æ¤¤¤Þ¤¹¡£·ë²Ì¤È¤·¤Æ¡¢¤³¤Îvmid¤Ï¡¢\fIrmi\fR¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Î¥Ç¥Õ¥©¥ë¥È¤Î\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤·¤Þ¤¹¡£\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ï¡¢rmiregistry¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Îrmiregistry¥Ý¡¼¥È(¥Ý¡¼¥È1099)¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿\fIremote\&.domain\fR¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jstat \-gcutil 40496@remote\&.domain 1000 +\fI\&.\&.\&. output omitted\fR +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstatd(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +rmiregistry(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jstatd.1 b/jdk/src/linux/doc/man/ja/jstatd.1 index 9eeffc439d9..cfd8e4e4b82 100644 --- a/jdk/src/linux/doc/man/ja/jstatd.1 +++ b/jdk/src/linux/doc/man/ja/jstatd.1 @@ -1,286 +1,268 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jstatd 1 "07 May 2011" - -.LP -.SH "̾Á°" -jstatd \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -¥»¥­¥å¥ê¥Æ¥£¡¼ -.TP 2 -o -¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jstatd +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jstatd" "1" "2013ǯ11·î21Æü" "JDK 8" "¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jstatd \- Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤ò¥â¥Ë¥¿¡¼¤·¡¢¥ê¥â¡¼¥È¡¦¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë¤¬JVM¤ËÀܳ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jstatd [ \fP\f4options\fP\f3 ]\fP -.br -\f3 -.fl -\fP +\fIjstatd\fR [ \fIoptions\fR ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£½ÅÊ£¤Þ¤¿¤ÏÌ·½â¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¾ì¹ç¡¢ºÇ¸å¤Ë»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jstatd\fP ¥Ä¡¼¥ë¤Ï¡¢·×¬¤µ¤ì¤¿ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ÎºîÀ®¤È½ªÎ»¤ò´Æ»ë¤·¡¢¥í¡¼¥«¥ë¥·¥¹¥Æ¥à¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë¡¢¥ê¥â¡¼¥È´Æ»ë¥Ä¡¼¥ë¤¬Àܳ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤¹¤ë RMI ¥µ¡¼¥Ð¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£ -.LP -.LP -\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ç¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ë RMI ¥ì¥¸¥¹¥È¥ê¤¬Â¸ºß¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Þ¤¿¤Ï \f2\-p port\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¾å¤Î RMI ¥ì¥¸¥¹¥È¥ê¤ËÀܳ¤·¤è¤¦¤È¤·¤Þ¤¹¡£RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\f2\-p port\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï \f2\-p port\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È RMI ¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ \f3jstatd\fP ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤Ë¡¢1 ¤Ä¤Î RMI ¥ì¥¸¥¹¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Ï¡¢\f2\-nr\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¶Ø»ß¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3Ãí:\fP ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¸½ºß¡¢Windows 98 ¤ª¤è¤Ó Windows Me ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ -.LP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjstatd\fR¥³¥Þ¥ó¥É¤Ï¡¢·×¬¤µ¤ì¤¿Java HotSpot VM¤ÎºîÀ®¤È½ªÎ»¤ò¥â¥Ë¥¿¡¼¤·¡¢¥í¡¼¥«¥ë¡¦¥·¥¹¥Æ¥à¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ëJVM¤Ë¡¢¥ê¥â¡¼¥È¡¦¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë¤¬Àܳ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤¹¤ëRMI¥µ¡¼¥Ð¡¼¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£ +.PP +\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ç¤Ï¡¢¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤ËRMI¥ì¥¸¥¹¥È¥ê¤¬É¬Íפˤʤê¤Þ¤¹¡£\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ï¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È¤Ç¡¢¤Þ¤¿¤Ï\fI\-p\fR +\fIport\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¥Ý¡¼¥È¤Ç¡¢RMI¥ì¥¸¥¹¥È¥ê¤ËÀܳ¤·¤è¤¦¤È¤·¤Þ¤¹¡£RMI¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\fI\-p\fR +\fIport\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï\fI\-p\fR +\fIport\fR¥ª¥×¥·¥ç¥ó¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈRMI¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿\fIjstatd\fR¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤Ë¡¢1¤Ä¤ÎRMI¥ì¥¸¥¹¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Ï¡¢\fI\-nr\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤ÆÃæ»ß¤Ç¤­¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f3jstatd\fP ¥³¥Þ¥ó¥É¤Ï¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-nr -´û¸¤Î RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\f2jstatd\fP ¥×¥í¥»¥¹Æâ¤ËÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-p\ port -RMI ¥ì¥¸¥¹¥È¥ê¤¬¤¢¤ë¤ÈͽÁÛ¤µ¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£ ¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢\f2\-nr\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-n\ rminame -RMI ¥ì¥¸¥¹¥È¥ê¤Ë¤ª¤¤¤Æ¡¢¥ê¥â¡¼¥È RMI ¥ª¥Ö¥¸¥§¥¯¥È¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤ë̾Á°¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È̾¤Ï \f2JStatRemoteHost\fP ¤Ç¤¹¡£Ê£¿ô¤Î \f3jstatd\fP ¥µ¡¼¥Ð¡¼¤¬Æ±¤¸¥Û¥¹¥È¾å¤Çµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢³Æ¥µ¡¼¥Ð¡¼¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤·¤¿ RMI ¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢°ì°Õ¤Î̾Á°¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢´Æ»ë¥¯¥é¥¤¥¢¥ó¥È¤Î \f2hostid\fP ¤ª¤è¤Ó \f2vmid\fP ʸ»úÎó¤Ë¡¢¤½¤Î°ì°Õ¤Î¥µ¡¼¥Ð¡¼Ì¾¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-Joption -\f3javac\fP ¤¬¸Æ¤Ó½Ð¤¹ \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¡¢\f2option\fP ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ­½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇØ¸å¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\-nr +.RS 4 +´û¸¤ÎRMI¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\fIjstatd\fR¥×¥í¥»¥¹Æâ¤ËÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ .RE - -.LP -.SH "¥»¥­¥å¥ê¥Æ¥£¡¼" -.LP -.LP -\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢Í­¸ú¤Ê¥Í¥¤¥Æ¥£¥Ö¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä JVM ¤À¤±¤ò´Æ»ë¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f3jstatd\fP ¥×¥í¥»¥¹¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤ÈƱ¤¸¥æ¡¼¥¶¡¼»ñ³Ê¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£°ìÉô¤Î¥æ¡¼¥¶¡¼»ñ³Ê¤Ï¡¢UNIX(TM) ¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë \f2root\fP ¥æ¡¼¥¶¡¼¤Î¤è¤¦¤Ë¡¢¥·¥¹¥Æ¥à¾å¤ÎǤ°Õ¤Î JVM ¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê»ñ³Ê¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë \f3jstatd\fP ¥×¥í¥»¥¹¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î¤¹¤Ù¤Æ¤Î JVM ¤ò´Æ»ë¤Ç¤­¤Þ¤¹¤¬¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¾å¤ÎÊ̤ÎÌäÂ꤬µ¯¤³¤ê¤Þ¤¹¡£ -.LP -.LP -\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Ú¤ò°ìÀÚÍ¿¤¨¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢\f3jstatd\fP ¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤ò¼Â¹Ô¤¹¤ë¤È¡¢\f3jstatd\fP ¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î JVM ¤Ë¤è¤ë¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤ò¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¤Ë¸ø³«¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î̵ËÉÈ÷¤Ê¾õÂ֤ϡ¢´Ä¶­Åª¤Ë˾¤Þ¤·¤¯¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ ÆÃ¤Ë¼Â²ÔƯ´Ä¶­¤Þ¤¿¤Ï°ÂÁ´¤Ç¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¡¢\f3jstatd\fP ¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢¥í¡¼¥«¥ë¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¤ò¸¡Æ¤¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢Â¾¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢RMISecurityPolicy ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¥ê¥·¡¼¼ÂÁõ¤Î -.na -\f2¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Î¹½Ê¸\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html¤Ë½àµò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -¼¡¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï°ìÀڤΥ»¥­¥å¥ê¥Æ¥£¡¼Îã³°¤ò»ÈÍѤ»¤º¤Ë¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Ý¥ê¥·¡¼¤Ï¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥Ù¡¼¥¹¤Ø¤Î¤¢¤é¤æ¤ë¥¢¥¯¥»¥¹¸¢¤òǧ¤á¤ë¥Ý¥ê¥·¡¼¤è¤ê¤â¼«Í³ÅÙ¤ÏÄ㤤¤Ç¤¹¤¬¡¢\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËºÇÄã¸ÂɬÍפʥ¢¥¯¥»¥¹¸¢¤·¤«Ç§¤á¤Ê¤¤¥Ý¥ê¥·¡¼¤è¤ê¤â¼«Í³Å٤Ϲ⤯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.LP +.PP +\-p \fIport\fR +.RS 4 +RMI¥ì¥¸¥¹¥È¥ê¤¬¤¢¤ë¤ÈͽÁÛ¤µ¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢\fI\-nr\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-n \fIrminame\fR +.RS 4 +RMI¥ì¥¸¥¹¥È¥ê¤Ë¤ª¤¤¤Æ¡¢¥ê¥â¡¼¥ÈRMI¥ª¥Ö¥¸¥§¥¯¥È¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤ë̾Á°¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È̾¤Ï\fIJStatRemoteHost\fR¤Ç¤¹¡£Ê£¿ô¤Î\fIjstatd\fR¥µ¡¼¥Ð¡¼¤¬Æ±¤¸¥Û¥¹¥È¾å¤Çµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢³Æ¥µ¡¼¥Ð¡¼¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤·¤¿RMI¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢°ì°Õ¤Î̾Á°¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥â¥Ë¥¿¥ê¥ó¥°¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î\fIhostid\fR¤ª¤è¤Ó\fIvmid\fRʸ»úÎó¤Ë¡¢¤½¤Î°ì°Õ¤Î¥µ¡¼¥Ð¡¼Ì¾¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +JVM¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë\fI¥ª¥×¥·¥ç¥ó\fR¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥»¥­¥å¥ê¥Æ¥£" +.PP +\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ï¡¢Å¬Àڤʥͥ¤¥Æ¥£¥Ö¡¦¥¢¥¯¥»¥¹¸¢¤ò»ý¤ÄJVM¤Î¤ß¤ò´Æ»ë¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\fIjstatd\fR¥×¥í¥»¥¹¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤ÈƱ¤¸¥æ¡¼¥¶¡¼»ñ³Ê¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£UNIX¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ëroot¥æ¡¼¥¶¡¼¤Ê¤É¤Î°ìÉô¤Î¥æ¡¼¥¶¡¼»ñ³Ê¤Ï¡¢¥·¥¹¥Æ¥à¾å¤ÎǤ°Õ¤ÎJVM¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê»ñ³Ê¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë\fIjstatd\fR¥×¥í¥»¥¹¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î¤¹¤Ù¤Æ¤ÎJVM¤ò´Æ»ë¤Ç¤­¤Þ¤¹¤¬¡¢¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÊ̤ÎÌäÂ꤬µ¯¤³¤ê¤Þ¤¹¡£ +.PP +\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ë¤Ï¡¢¥ê¥â¡¼¥È¡¦¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Úµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢\fIjstatd\fR¥µ¡¼¥Ð¡¼¡¦¥×¥í¥»¥¹¤ò¼Â¹Ô¤¹¤ë¤È¡¢\fIjstatd\fR¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä¤¹¤Ù¤Æ¤ÎJVM¤Ë¤è¤ë¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤ò¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¤Ë¸ø³«¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î̵ËÉÈ÷¤Ê¾õÂ֤ϡ¢´Ä¶­¤Ë¤è¤Ã¤Æ¤Ï˾¤Þ¤·¤¯¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤Î¤Ç¡¢ÆÃ¤Ë¼Â²ÔƯ´Ä¶­¤Þ¤¿¤Ï°ÂÁ´¤Ç¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¡¢\fIjstatd\fR¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢¥í¡¼¥«¥ë¡¦¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¤ò¸¡Æ¤¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ï¡¢Â¾¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥Þ¥Í¡¼¥¸¥ã¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢\fIRMISecurityPolicy\fR¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/PolicyFiles\&.html¤Ë¤¢¤ë +¡Ö¥Ç¥Õ¥©¥ë¥È¤ÎPolicy¤Î¼ÂÁõ¤È¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Î¹½Ê¸¡×¤Ë½àµò¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ +.PP +¼¡¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£Îã³°¤òȯÀ¸¤»¤º¤Ë\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Ý¥ê¥·¡¼¤Ï¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¡¦¥Ù¡¼¥¹¤Ø¤Î¤¢¤é¤æ¤ë¥¢¥¯¥»¥¹¸¢¤òǧ¤á¤ë¥Ý¥ê¥·¡¼¤è¤ê¤â¼«Í³ÅÙ¤¬Ä㤤¤Ç¤¹¤¬¡¢\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËºÇÄã¸ÂɬÍפʥ¢¥¯¥»¥¹¸¢¤Î¤ß¤òǧ¤á¤ë¥Ý¥ê¥·¡¼¤è¤ê¤â¼«Í³ÅÙ¤¬¹â¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -grant codebase "file:${java.home}/../lib/tools.jar" {\fP -.br -\f3 -.fl - permission java.security.AllPermission;\fP -.br -\f3 -.fl -};\fP -.br -\f3 -.fl -\fP +grant codebase "file:${java\&.home}/\&.\&./lib/tools\&.jar" { + permission java\&.security\&.AllPermission; +}; .fi - -.LP -.LP -¤³¤Î¥Ý¥ê¥·¡¼¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Æ¥­¥¹¥È¤ò \f2jstatd.all.policy\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¡¢¼¡¤Î¤è¤¦¤Ë \f3jstatd\fP ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤Î¥Ý¥ê¥·¡¼ÀßÄê¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Æ¥­¥¹¥È¤ò\fIjstatd\&.all\&.policy\fR¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¡¢¼¡¤Î¤è¤¦¤Ë\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP -.br -\f3 -.fl -\fP +jstatd \-J\-Djava\&.security\&.policy=jstatd\&.all\&.policy .fi - -.LP -.LP -¤è¤ê¸·¤·¤¤¥»¥­¥å¥ê¥Æ¥£¡¼¤ò¼Â»Ü¤¹¤ë¥µ¥¤¥È¤Î¾ì¹ç¡¢¥«¥¹¥¿¥à¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢ÆÃÄê¤Î¿®Íê¤Ç¤­¤ë¥Û¥¹¥È¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢¤³¤Î¤è¤¦¤ÊÊýË¡¤Ï¡¢IP ¥¢¥É¥ì¥¹¤ÎÅðݹ¶·â¤ò¼õ¤±¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£¥»¥­¥å¥ê¥Æ¥£¡¼¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¡¢¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ç¤âÂнè¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤»¤º¤Ë¡¢\f3jstat\fP ¤È \f3jps\fP ¥Ä¡¼¥ë¤ò¥í¡¼¥«¥ë¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤â¤Ã¤È¤â°ÂÁ´¤ÊÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.SH "¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹" -.LP -.LP -\f3jstatd\fP ¥×¥í¥»¥¹¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢ÆÈ¼«¤Ë³«È¯¤·¤¿¤â¤Î¤Ç¤¢¤êÊѹ¹¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤ª¤è¤Ó³«È¯¼Ô¤Ï¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ø¤Î½ñ¤­¹þ¤ß¤ò¹Ô¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤è¤ê¸·¤·¤¤¥»¥­¥å¥ê¥Æ¥£¤ò¼Â»Ü¤¹¤ë¥µ¥¤¥È¤Î¾ì¹ç¡¢¥«¥¹¥¿¥à¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢ÆÃÄê¤Î¿®Íê¤Ç¤­¤ë¥Û¥¹¥È¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¤è¤¦¤ÊÊýË¡¤Ï¡¢IP¥¢¥É¥ì¥¹¤ÎÅðݹ¶·â¤ò¼õ¤±¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£¥»¥­¥å¥ê¥Æ¥£¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¡¢¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ç¤âÂнè¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤»¤º¤Ë¡¢\fIjstat\fR¤È\fIjps\fR¥Ä¡¼¥ë¤ò¥í¡¼¥«¥ë¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬ºÇ¤â°ÂÁ´¤ÊÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£ +.SH "¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹" +.PP +\fIjstatd\fR¥×¥í¥»¥¹¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢ÆÈ¼«¤Ë³«È¯¤·¤¿¤â¤Î¤Ç¤¢¤êÊѹ¹¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤ª¤è¤Ó³«È¯¼Ô¤Ï¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ø¤Î½ñ¹þ¤ß¤ò¹Ô¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ .SH "Îã" -.LP -.LP -¼¡¤Ë \f3jstatd\fP ¤òµ¯Æ°¤¹¤ëÎã¤ò¾Ò²ð¤·¤Þ¤¹¡£\f3jstatd\fP ¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¡¢¥µ¡¼¥Ð¡¼¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼«Æ°Åª¤Ëµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.SS -ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤Î»ÈÍÑ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î RMI ¥ì¥¸¥¹¥È¥ê¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ë¤Ï¡¢Â¾¤Î¥µ¡¼¥Ð¡¼¤Ï¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£ -.LP +.PP +¼¡¤Ë¡¢\fIjstatd\fR¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fIjstatd\fR¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¡¢¥µ¡¼¥Ð¡¼¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼«Æ°Åª¤Ëµ¯Æ°¤·¤Þ¤¹¡£ +.SS "ÆâÉôRMI¥ì¥¸¥¹¥È¥ê" +.PP +¤³¤ÎÎã¤Ï¡¢ÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿¥Û¥¹¥È¤Ë¤è¤ë\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ÎRMI¥ì¥¸¥¹¥È¥ê¡¦¥Ý¡¼¥È(¥Ý¡¼¥È1099)¤Ë¤Ï¡¢Â¾¤Î¥µ¡¼¥Ð¡¼¤Ï¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jstatd \-J\-Djava.security.policy=all.policy -.fl -\fP +jstatd \-J\-Djava\&.security\&.policy=all\&.policy .fi - -.LP -.SS -³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤Î»ÈÍÑ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -rmiregistry& -.fl -jstatd \-J\-Djava.security.policy=all.policy -.fl -\fP -.fi - -.LP -.LP -¤³¤ÎÎã¤Ï¡¢¥Ý¡¼¥È 2020 ¤Î³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -rmiregistry 2020& -.fl -jstatd \-J\-Djava.security.policy=all.policy \-p 2020 -.fl -\fP -.fi - -.LP -.LP -¤³¤ÎÎã¤Ï¡¢AlternateJstatdServerName ¤Î̾Á°¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿¡¢¥Ý¡¼¥È 2020 ¤Î³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -rmiregistry 2020& -.fl -jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerName -.fl -\fP -.fi - -.LP -.SS -¥¤¥ó¥×¥í¥»¥¹ RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Î¶Ø»ß -.LP -.LP -¤³¤ÎÎã¤Ï¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ë RMI ¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¤Ê¤¤ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬¤¹¤Ç¤Ë¼Â¹Ô¤·¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¼Â¹Ô¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -jstatd \-J\-Djava.security.policy=all.policy \-nr -.fl -\fP -.fi - -.LP -.SS -RMI ¥í¥°µ¡Ç½¤ÎÍ­¸ú²½ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢RMI ¥í¥°µ¡Ç½¤òÍ­¸ú¤Ë¤·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼³èư¤Î´Æ»ë¤ËÌòΩ¤Á¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true -.fl -\fP -.fi - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -¡Öjava(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjps(1) \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjstat(1) \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×¥Ç¡¼¥¿´Æ»ë¥Ä¡¼¥ë¡× -.TP 2 -o -¡Ö -.na -\f2rmiregistry\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¡× +.if n \{\ .RE - -.LP - +.\} +.SS "³°ÉôRMI¥ì¥¸¥¹¥È¥ê" +.PP +¤³¤ÎÎã¤Ï¡¢³°ÉôRMI¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +rmiregistry& +jstatd \-J\-Djava\&.security\&.policy=all\&.policy +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Ý¡¼¥È2020¤Î³°ÉôRMI¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤Æ\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jrmiregistry 2020& +jstatd \-J\-Djava\&.security\&.policy=all\&.policy \-p 2020 +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Ý¡¼¥È2020¤Î³°ÉôRMI¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤Æ¡¢\fIAlternateJstatdServerName\fR¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +rmiregistry 2020& +jstatd \-J\-Djava\&.security\&.policy=all\&.policy \-p 2020 + \-n AlternateJstatdServerName +.fi +.if n \{\ +.RE +.\} +.SS "¥¤¥ó¥×¥í¥»¥¹RMI¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤ÎÄä»ß" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢³°ÉôRMI¥ì¥¸¥¹¥È¥ê¤¬¤Ê¤¤¾ì¹ç¤ËºîÀ®¤·¤Ê¤¤\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢RMI¥ì¥¸¥¹¥È¥ê¤¬¤¹¤Ç¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£RMI¥ì¥¸¥¹¥È¥ê¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jstatd \-J\-Djava\&.security\&.policy=all\&.policy \-nr +.fi +.if n \{\ +.RE +.\} +.SS "RMI¥í¥®¥ó¥°¤ÎÍ­¸ú²½" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢RMI¥í¥®¥ó¥°µ¡Ç½¤òÍ­¸ú²½¤·¤Æ\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼³èư¤Î¥â¥Ë¥¿¥ê¥ó¥°¤ËÌòΩ¤Á¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jstatd \-J\-Djava\&.security\&.policy=all\&.policy + \-J\-Djava\&.rmi\&.server\&.logCalls=true +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstat(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +rmiregistry(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/jvisualvm.1 b/jdk/src/linux/doc/man/ja/jvisualvm.1 index 25a29ca9610..d4d0d519bf6 100644 --- a/jdk/src/linux/doc/man/ja/jvisualvm.1 +++ b/jdk/src/linux/doc/man/ja/jvisualvm.1 @@ -1,126 +1,123 @@ -." Copyright (c) 2008, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jvisualvm 1 "07 May 2011" - -.LP -.SH "̾Á°" -\f2jvisualvm\fP \- Java ²¾ÁÛ¥Þ¥·¥ó¤Î´Æ»ë¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¤ª¤è¤Ó¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -»ÈÍÑÊýË¡ -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jvisualvm +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¢¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó´ÉÍý¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jvisualvm" "1" "2013ǯ11·î21Æü" "JDK 8" "Java¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¢¥â¥Ë¥¿¥ê¥ó" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jvisualvm \- Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»ë³ÐŪ¤Ë´Æ»ë¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥È¤ª¤è¤Ó¥×¥í¥Õ¥¡¥¤¥ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \fP\f3jvisualvm\fP [ \f2options\fP ] -.fl +\fIjvisualvm\fR [ \fIoptions\fR ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.LP -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£ÆÃÄê¤Î¥ª¥×¥·¥ç¥ó¤ËŬÍѤµ¤ì¤ë¥Ñ¥é¥á¡¼¥¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¤¢¤È¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH " ÀâÌÀ" -.LP -.LP -Java VisualVM ¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ²¾ÁÛ¥Þ¥·¥ó (JVM(*)) ¤Ç Java ¥Æ¥¯¥Î¥í¥¸¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó (Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó) ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¡¢¤½¤Î Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¾ðÊó¤òÄ󶡤¹¤ëľ´¶Åª¤Ê¥°¥é¥Õ¥£¥«¥ë¥æ¡¼¥¶¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£Java VisualVM ¤È¤¤¤¦Ì¾Á°¤Ï¡¢Java VisualVM ¤¬ JVM ¥½¥Õ¥È¥¦¥§¥¢¤Ë´Ø¤¹¤ë¾ðÊó¤ò¡Ö»ë³ÐŪ¤Ë¡×Ä󶡤¹¤ë¤È¤¤¤¦»ö¼Â¤ËͳÍ褷¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -Java VisualVM ¤Ï¡¢¤¤¤¯¤Ä¤«¤Î´Æ»ë¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¤ª¤è¤Ó¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò 1 ¤Ä¤Î¥Ä¡¼¥ë¤ËÅý¹ç¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¹¥¿¥ó¥É¥¢¥í¥ó¥Ä¡¼¥ë \f2jmap\fP¡¢ \f2jinfo\fP¡¢ \f2jstat\fP ¡¢¤ª¤è¤Ó \f2jstack\fP ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ëµ¡Ç½¤Î¤Û¤È¤ó¤É¤¬¡¢Java VisualVM ¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£JConsole ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë°ìÉô¤Îµ¡Ç½¤Ê¤É¡¢¤Û¤«¤Îµ¡Ç½¤Ï¥ª¥×¥·¥ç¥ó¤Î¥×¥é¥°¥¤¥ó¤È¤·¤ÆÄɲäǤ­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "ÀâÌÀ" +.PP +Java VisualVM¤Ï¡¢»ØÄꤵ¤ì¤¿Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤ÇJava¥Æ¥¯¥Î¥í¥¸¡¦¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó)¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¡¢¤½¤ÎJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¾ðÊó¤òÄ󶡤¹¤ëľ´¶Åª¤Ê¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¼¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£Java VisualVM¤È¤¤¤¦Ì¾Á°¤Ï¡¢Java VisualVM¤¬JVM¥½¥Õ¥È¥¦¥§¥¢¤Ë´Ø¤¹¤ë¾ðÊó¤ò»ë³ÐŪ¤ËÄ󶡤¹¤ë¤È¤¤¤¦»ö¼Â¤ËͳÍ褷¤Æ¤¤¤Þ¤¹¡£ +.PP +Java VisualVM¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥â¥Ë¥¿¥ê¥ó¥°¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ª¤è¤Ó¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¦¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò1¤Ä¤Î¥Ä¡¼¥ë¤ËÅý¹ç¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¹¥¿¥ó¥É¥¢¥í¥ó¡¦¥Ä¡¼¥ë\fIjmap\fR¡¢\fIjinfo\fR¡¢\fIjstat\fR¤ª¤è¤Ó\fIjstack\fR¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ëµ¡Ç½¤Î¤Û¤È¤ó¤É¤¬¡¢Java VisualVM¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\fIjconsole\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë°ìÉô¤Îµ¡Ç½¤Ê¤É¡¢Â¾¤Îµ¡Ç½¤Ï¥ª¥×¥·¥ç¥ó¤Î¥×¥é¥°¥¤¥ó¤È¤·¤ÆÄɲäǤ­¤Þ¤¹¡£ +.PP +Java VisualVM¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¼Ô¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ò¹Ô¤Ã¤¿¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò´Æ»ë¤ª¤è¤Ó²þÁ±¤·¤¿¤ê¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£Java VisualVM¤ò»ÈÍѤ¹¤ë¤È¡¢³«È¯¼Ô¤Ï¥Ò¡¼¥×¡¦¥À¥ó¥×¤ÎÀ¸À®¤ª¤è¤Ó²òÀÏ¡¢¥á¥â¥ê¡¼¡¦¥ê¡¼¥¯¤ÎÆÃÄê¡¢¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¼Â¹Ô¤ª¤è¤Ó´Æ»ë¡¢¤ª¤è¤Ó¥á¥â¥ê¡¼¤ÈCPU¤Î´Ê°×¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Î¼Â¹Ô¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¥×¥é¥°¥¤¥ó¤ÇJava VisualVM¤Îµ¡Ç½¤ò³ÈÄ¥¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjconsole\fR¥³¥Þ¥ó¥É¤Î¤Û¤È¤ó¤É¤Îµ¡Ç½¤Ï¡¢¡ÖMBean¡×¥¿¥Ö¤ª¤è¤ÓJConsole Plug\-in Wrapper¥×¥é¥°¥¤¥ó¤ò²ð¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¤ÎJava VisualVM¥×¥é¥°¥¤¥ó¤Î¥«¥¿¥í¥°¤«¤éÁªÂò¤¹¤ë¤Ë¤Ï¡¢Java VisualVM¥á¥Ë¥å¡¼¤Î\fB¡Ö¥Ä¡¼¥ë¡×\fR¡¢\fB¡Ö¥×¥é¥°¥¤¥ó¡×\fR¤òÁªÂò¤·¤Þ¤¹¡£ +.PP +Java VisualVM¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +% jvisualvm <options> +.fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java VisualVM ¤òµ¯Æ°¤·¤¿¤È¤­¤Ë¼Â¹Ô²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-J<jvm_option>\ -¤³¤Î \f2<jvm_option>\fP ¤ò JVM ¥½¥Õ¥È¥¦¥§¥¢¤ËÅϤ·¤Þ¤¹¡£ +.PP +¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java VisualVM¤òµ¯Æ°¤·¤¿¤È¤­¤Ë¼Â¹Ô²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +\-J\fIjvm_option\fR +.RS 4 +¤³¤Î\fIjvm_option\fR¤òJVM¥½¥Õ¥È¥¦¥§¥¢¤ËÅϤ·¤Þ¤¹¡£ .RE - -.LP -.SH "»ÈÍÑÊýË¡" -.LP -.LP -Java VisualVM ¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¼Ô¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò´Æ»ë¤ª¤è¤Ó²þÁ±¤·¤¿¤ê¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£Java VisualVM ¤ò»ÈÍѤ¹¤ë¤È¡¢³«È¯¼Ô¤Ï¥Ò¡¼¥×¥À¥ó¥×¤ÎÀ¸À®¤ª¤è¤Ó²òÀÏ¡¢¥á¥â¥ê¡¼¥ê¡¼¥¯¤ÎÆÃÄê¡¢¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¼Â¹Ô¤ª¤è¤Ó´Æ»ë¡¢¤ª¤è¤Ó¥á¥â¥ê¡¼¤È CPU ¤Î´Ê°×¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Î¼Â¹Ô¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£Java VisualVM ¤Îµ¡Ç½¤ò³ÈÄ¥¤¹¤ë¥×¥é¥°¥¤¥ó¤â¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢JConsole ¥Ä¡¼¥ë¤Î¤Û¤È¤ó¤É¤Îµ¡Ç½¤Ï¡¢MBeans ¥¿¥Ö¤ª¤è¤Ó JConsole Plug\-in Wrapper ¥×¥é¥°¥¤¥ó¤ò²ð¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¤Î Java VisualVM ¥×¥é¥°¥¤¥ó¤Î¥«¥¿¥í¥°¤«¤éÁªÂò¤¹¤ë¤Ë¤Ï¡¢Java VisualVM ¥á¥Ë¥å¡¼¤Î¡Ö¥Ä¡¼¥ë¡×>¡Ö¥×¥é¥°¥¤¥ó¡×¤òÁªÂò¤·¤Þ¤¹¡£ -.LP -.LP -Java VisualVM ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jvisualvm \fP\f4<options>\fP\f3 -.fl -\fP -.fi - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -Java VisualVM ¤Î¾ÜºÙ¤Ï¡¢¼¡¤Î¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 2 -o -.na -\f2Java VisualVM ³«È¯¼Ô¤Î¥µ¥¤¥È\fP @ -.fi -http://visualvm.java.net -.TP 2 -o -.na -\f2Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Î Java VisualVM ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/visualvm/index.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java VisualVM³«È¯¼Ô¤Î¥µ¥¤¥È +http://visualvm\&.java\&.net/ .RE - -.LP -.LP -\f2(* ¡ÖJava ²¾ÁÛ¥Þ¥·¥ó¡×¤È¡ÖJVM¡×¤È¤¤¤¦ÍѸì¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î²¾ÁÛ¥Þ¥·¥ó¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£)\fP -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java SE¥É¥­¥å¥á¥ó¥È¤ÎJava VisualVM +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/visualvm/index\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/keytool.1 b/jdk/src/linux/doc/man/ja/keytool.1 index aac06f6ba57..c19d4cf4e45 100644 --- a/jdk/src/linux/doc/man/ja/keytool.1 +++ b/jdk/src/linux/doc/man/ja/keytool.1 @@ -1,1845 +1,1579 @@ -." Copyright (c) 1998, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH keytool 1 "07 May 2011" - -.LP -.SH "̾Á°" -keytool \- ¸°¤È¾ÚÌÀ½ñ¤Î´ÉÍý¥Ä¡¼¥ë -.LP -.LP -°Å¹æ²½¸°¡¢X.509 ¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¡¢¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò´Þ¤à¥­¡¼¥¹¥È¥¢ (¥Ç¡¼¥¿¥Ù¡¼¥¹) ¤ò´ÉÍý¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: keytool +.\" Language: English +.\" Date: 2013ǯ8·î6Æü +.\" SectDesc: ¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "keytool" "1" "2013ǯ8·î6Æü" "JDK 8" "¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +keytool \- °Å¹æ²½¸°¡¢X\&.509¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò´Þ¤à¥­¡¼¥¹¥È¥¢(¥Ç¡¼¥¿¥Ù¡¼¥¹)¤ò´ÉÍý¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3keytool\fP [ commands ] -.fl -.fi - -.LP -.LP -Java SE 6 ¤Ç keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡ÖÊѹ¹ÅÀ¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£°ÊÁ°¤ËÄêµÁ¤µ¤ì¤¿¥³¥Þ¥ó¥É¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SH "ÀâÌÀ" -.LP -\f3keytool\fP ¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ç¤¹¡£keytool ¤ò»È¤¦¤È¡¢¼«Ê¬¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¤ò´ÉÍý¤·¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò»È¤Ã¤¿¼«¸Êǧ¾Ú (¤Û¤«¤Î¥æ¡¼¥¶¡¼¤Þ¤¿¤Ï¥µ¡¼¥Ó¥¹¤ËÂФ·¤Æ¼«Ê¬¼«¿È¤òǧ¾Ú¤¹¤ë¤³¤È) ¤ä¡¢¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤È¾ÚÌÀ½ñ¤Ë´Ø¤¹¤ë¥µ¡¼¥Ó¥¹¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£keytool ¤Ç¤Ï¡¢ÄÌ¿®Áê¼ê¤Î¸ø³«¸°¤ò (¾ÚÌÀ½ñ¤Î·Á¤Ç) ¥­¥ã¥Ã¥·¥å¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (¿Íʪ¡¢²ñ¼Ò¤Ê¤É) ¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸ø³«¸° (¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó) ¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹(¡Ö¾ÚÌÀ½ñ¡×¤ò»²¾È)¡£¥Ç¡¼¥¿¤Ë¥Ç¥¸¥¿¥ë½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤¹¤ë¤³¤È¤Ç¡¢¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤ª¤è¤Ó¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤¢¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£¥Ç¡¼¥¿¤Î¡ÖÀ°¹çÀ­¡×¤È¤Ï¡¢¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¤ê¡¢²þÊѤµ¤ì¤¿¤ê¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢¥Ç¡¼¥¿¤¬¡ÖËÜʪ¤Ç¤¢¤ë¡×¤È¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¤¬¡¢¥Ç¡¼¥¿¤òºîÀ®¤·¤Æ½ð̾¤·¤¿¤È¾Î¤¹¤ë¿Íʪ¤«¤é¼ÂºÝ¤ËÅϤµ¤ì¤¿¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ -.LP -.LP -¤Þ¤¿¡¢\f3keytool\fP ¤ò»È¤¨¤Ð¡¢DES ¤Ê¤É¤ÎÂоΰŹ沽/Éü¹æ²½¤Ç»ÈÍѤµ¤ì¤ëÈëÌ©¸°¤ò´ÉÍý¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3keytool\fP ¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò\f2¡Ö¥­¡¼¥¹¥È¥¢¡×\fP¤Ë³ÊǼ¤·¤Þ¤¹¡£ -.LP -.SH "¥³¥Þ¥ó¥É¤È¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëÃí" -.LP -.LP -°Ê²¼¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£Ãí: -.LP -.RS 3 -.TP 2 -o -¤É¤Î¥³¥Þ¥ó¥É̾¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèÆ¬¤Ë¥Þ¥¤¥Ê¥¹µ­¹æ (\-) ¤¬ÉÕ¤¯ -.TP 2 -o -³Æ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤ë -.TP 2 -o -¥¤¥¿¥ê¥Ã¥¯ÂΤˤʤäƤ¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¹àÌÜ¡¢¤Þ¤¿¤ÏÃæ³ç¸Ì¤«³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¹àÌܤϡ¢¤½¤Î¤È¤ª¤ê¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ë -.TP 2 -o -¥ª¥×¥·¥ç¥ó¤ò°Ï¤àÃæ³ç¸Ì¤Ï¡¢°ìÈ̤ˡ¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»È¤ï¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£Ãæ³ç¸Ì¤Ï¡¢ \f2\-v\fP¡¢ \f2\-rfc\fP¡¢¤ª¤è¤Ó \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò°Ï¤à¤Î¤Ë¤â»È¤ï¤ì¤ë¤¬¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤ò»ý¤Ä (¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¼«ÂΤò»ØÄꤷ¤Ê¤¤¤³¤È°Ê³°¤Ë¡Ö¥Ç¥Õ¥©¥ë¥ÈÃ͡פϸºß¤·¤Ê¤¤) -.TP 2 -o -¥ª¥×¥·¥ç¥ó¤ò°Ï¤à³Ñ³ç¸Ì¤Ï¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢ÃÍ¤ÎÆþÎϤòµá¤á¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£( \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤Î¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\f3keytool\fP ¤¬¤Þ¤º¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤«¤éÈó¸ø³«/ÈëÌ©¸°¤ÎÉü¸µ¤ò»î¤ß¤ë¡£ ¥æ¡¼¥¶¡¼¤Ï¡¢¤³¤Î»î¤ß¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤ËÈó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤ë -.TP 2 -o -¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ (¥ª¥×¥·¥ç¥ó¤ÎÃÍ) ¤Ï¡¢¥æ¡¼¥¶¡¼¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¤¿¤È¤¨¤Ð¡¢ \f2\-printcert\fP ¥³¥Þ¥ó¥É¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¢¤ë -.nf -\f3 -.fl - keytool \-printcert {\-file \fP\f4cert_file\fP\f3} {\-v} -.fl -\fP -.fi -.LP -\f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¤È¤­¤Ï¡¢\f2cert_file\fP ¤ÎÂå¤ï¤ê¤Ë¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¡£¼¡¤ËÎã¤ò¼¨¤¹ -.nf -\f3 -.fl - keytool \-printcert \-file VScert.cer -.fl -\fP -.fi -.TP 2 -o -¥ª¥×¥·¥ç¥ó¤ÎÃͤ˶õÇò (¥¹¥Ú¡¼¥¹) ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Ãͤò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ë -.TP 2 -o -\f2\-help\fP ¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¹Ô¤ò»ØÄꤷ¤¿¤È¤¹¤ë -.nf -\f3 -.fl - keytool -.fl -\fP -.fi -.LP -¤³¤ì¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£ -.nf -\f3 -.fl - keytool \-help -.fl -\fP +\fIkeytool\fR [\fIcommands\fR] .fi +.if n \{\ .RE - -.LP -.SS -¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ -.LP -.LP -¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -\-alias "mykey" -.fl - -.fl -\-keyalg -.fl - "DSA" (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç) -.fl - "DES" (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç) -.fl - -.fl -\-keysize -.fl - 2048 (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "RSA" ¤Î¾ì¹ç) -.fl - 1024 (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DSA" ¤Î¾ì¹ç) -.fl - 256 (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "EC" ¤Î¾ì¹ç) -.fl - 56 (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DES" ¤Î¾ì¹ç) -.fl - 168 (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DESede" ¤Î¾ì¹ç) -.fl - -.fl - -.fl -\-validity 90 -.fl - -.fl -\-keystore ¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î \fP\f4.keystore\fP\f3 ¤È¤¤¤¦¥Õ¥¡¥¤¥ë -.fl - -.fl -\-storetype ¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Î¡Ökeystore.type¡×¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤǡ¢ -.fl - java.security.KeyStore ¤ÎÀÅŪ¤Ê getDefaultType ¥á¥½¥Ã¥É¤«¤éÊÖ¤µ¤ì¤ë \fP\f4 \fP\f3 -.fl - \fP\f4 \fP\f3 -.fl - -.fl -\-file ÆÉ¤ß¹þ¤ß¤Î¾ì¹ç¤Ïɸ½àÆþÎÏ¡¢½ñ¤­¹þ¤ß¤Î¾ì¹ç¤Ïɸ½à½ÐÎÏ -.fl - -.fl -\-protected false -.fl -\fP -.fi - -.LP -.LP -¸ø³«/Èó¸ø³«¸°¥Ú¥¢¤ÎÀ¸À®¤Ë¤ª¤¤¤Æ¡¢½ð̾¥¢¥ë¥´¥ê¥º¥à (\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó) ¤Ï¡¢´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ DSA ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï SHA1withDSA ¤Ë¤Ê¤ê¡¢ -.TP 2 -o -´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ RSA ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï SHA256withRSA ¤Ë¤Ê¤ê¡¢ -.TP 2 -o -´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ EC ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï SHA256withECDSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.RE - -.LP -.LP -ÁªÂò²Äǽ¤Ê \f2\-keyalg\fP ¤ª¤è¤Ó \f2\-sigalg\fP ¤Î´°Á´¤Ê°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJava Cryptography Architecture API Specification & Reference¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -°ìÈÌ¥ª¥×¥·¥ç¥ó -.LP -.LP -\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢ \f2\-help\fP ¥³¥Þ¥ó¥É¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¡Ö¾éĹ¡×¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¡¢¾ÜºÙ¤Ê¾ÚÌÀ½ñ¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -.LP -¤Þ¤¿¡¢ \f2\-J\fP\f2javaoption\fP ¥ª¥×¥·¥ç¥ó¤â¡¢Ç¤°Õ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿ \f2javaoption\fP ʸ»úÎó¤¬ Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤµ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤­¤ë¥¤¥ó¥¿¥×¥ê¥¿¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2java \-h\fP ¤Þ¤¿¤Ï \f2java \-X\fP ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-storetype storetype -.LP -¤³¤Î½¤¾þ»Ò¤Ï¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-keystore keystore -.LP -¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -ÆÃÄê¤Î \f3keytool\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢JKS ¥¹¥È¥¢¥¿¥¤¥×¤¬»ÈÍѤµ¤ì¡¢¤«¤Ä¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¿·¤·¤¤¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2keytool \-genkeypair\fP ¤Î¼Â¹Ô»þ¤Ë \f2\-keystore\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ \f2.keystore\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥Õ¥©¥ë¥È¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤½¤³¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£Æ±Íͤˡ¢ \f2\-keystore \fP\f2ks_file\fP ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤â¤½¤Î \f2ks_file\fP ¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -\f2\-keystore\fP ¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¡¢ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£URL ¤È¤·¤Æ \f2NONE\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢null ¤Î¥¹¥È¥ê¡¼¥à¤¬ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£ \f2NONE\fP ¤Ï¡¢ \f2KeyStore\fP ¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¯¡¢¤¿¤È¤¨¤Ð¡¢¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¥Ç¥Ð¥¤¥¹¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-storepass[:env|:file] argument -.LP -¥­¡¼¥¹¥È¥¢¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -½¤¾þ»Ò \f2env\fP ¤Þ¤¿¤Ï \f2file\fP ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃÍ¤Ï \f2argument\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÃͤϡ¢6 ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¼èÆÀ¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2env\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë -.TP 2 -o -\f2file\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë -.RE -.LP -\f3Ãí\fP: \f2\-keypass\fP¡¢ \f2\-srckeypass\fP¡¢ \f2\-destkeypass\fP \f2\-srcstorepass\fP¡¢ \f2\-deststorepass\fP ¤Ê¤É¤Î¥Ñ¥¹¥ï¡¼¥É¤òɬÍפȤ¹¤ë¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¡¢ \f2env\fP ¤È \f2file\fP ½¤¾þ»Ò¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¥ª¥×¥·¥ç¥ó¤È½¤¾þ»Ò¤Ï¡¢É¬¤º¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäƤ¯¤À¤µ¤¤¡£ -.LP -¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»È¤ï¤ì¤Þ¤¹¡£¤³¤Î¼ï¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -¥­¡¼¥¹¥È¥¢¤«¤é¾ðÊó¤ò¼è¤ê½Ð¤¹¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ ¥Ñ¥¹¥ï¡¼¥É¤ò¾Êά¤¹¤ë¤È¡¢¼è¤ê½Ð¤¹¾ðÊó¤ÎÀ°¹çÀ­¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-providerName provider_name -.LP -¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ë´Þ¤Þ¤ì¤ë°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À̾¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 3 -\-providerClass provider_class_name -.LP -°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤¬¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ï¡¢¤½¤Î¥Þ¥¹¥¿¡¼¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¤­¤Ë»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-providerArg provider_arg -.LP -\f2\-providerClass\fP ¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£\f2provider_class_name\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ë¾Êά²Äǽ¤Êʸ»úÎóÆþÎϰú¿ô¤òɽ¤·¤Þ¤¹¡£ -.TP 3 -\-protected -.LP -\f2true\fP ¤Þ¤¿¤Ï \f2false\fP ¤Î¤¤¤º¤ì¤«¡£ÀìÍÑ PIN ¥ê¡¼¥À¡¼¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤ò²ð¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃÍ¤Ë \f2true\fP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.LP -Ãí: \f2\-importkeystore\fP ¥³¥Þ¥ó¥É¤Ë¤Ï 2 ¤Ä¤Î¥­¡¼¥¹¥È¥¢¤¬´Ø·¸¤·¤Æ¤¤¤ë¤¿¤á¡¢2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¡¢¤Ä¤Þ¤ê \f2\-srcprotected\fP ¤È \f2\-destprotected\fP ¤¬¥½¡¼¥¹¥­¡¼¥¹¥È¥¢¤È¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ë¤½¤ì¤¾¤ì»ØÄꤵ¤ì¤Þ¤¹¡£ -.TP 3 -\-ext {name{:critical}{=value}} -.LP -X.509 ¾ÚÌÀ½ñ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò \-genkeypair ¤ª¤è¤Ó \-gencert ¤Ç»ÈÍѤ·¤Æ¡¢À¸À®¤µ¤ì¤ë¾ÚÌÀ½ñ¤Þ¤¿¤Ï \f2\-certreq\fP ¤Ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤òËä¤á¹þ¤ß¡¢¾ÚÌÀ½ñÍ×µá¤ÇÍ׵ᤵ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Ê£¿ô²ó»ÈÍѤǤ­¤Þ¤¹¡£name ¤Ë¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó̾ (²¼µ­¤ò»²¾È) ¤Þ¤¿¤ÏǤ°Õ¤Î OID ÈÖ¹æ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£value ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Ñ¥é¥á¡¼¥¿¤ò¼¨¤·¤Þ¤¹¡£¾Êά¤·¤¿¾ì¹ç¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ (ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç) ¤ò¼¨¤¹¤«¡¢¤Þ¤¿¤Ï¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¥Ñ¥é¥á¡¼¥¿¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ \f2:critical\fP ½¤¾þ»Ò¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î isCritical °À­¤¬ true ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï false ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£:critical ¤ÎÂå¤ï¤ê¤Ë : \f2:c\fP ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ . -.RE - -.LP -.LP -¸½ºß¡¢keytool ¤Ï¼¡¤Î̾Á°¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹ (Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Ê¤¤)¡£ -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -BC ¤Þ¤¿¤Ï BasicConstraints -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -´°Á´¤Ê·Á¤Ï¡Öca:{true|false}[,pathlen:<len>]¡×¤Ç¡¢<len> ¤Ï¡Öca:true,pathlen:<len>¡×¤Î¾Êάɽµ­¤Ç¤¹¡£ ¾Êά¤¹¤ë¤È¡¢¡Öca:true¡×¤Î°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹ -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -usage(,usage)*¡£usage ¤Ë¤Ï¡¢digitalSignature¡¢ nonRepudiation (contentCommitment)¡¢keyEncipherment¡¢dataEncipherment¡¢keyAgreement¡¢keyCertSign¡¢cRLSign¡¢encipherOnly¡¢decipherOnly ¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Usage ¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¡¢ºÇ½é¤Î¿ôʸ»ú (¤¿¤È¤¨¤Ð¡¢digitalSignature ¤ò dig ¤Ë) ¤Þ¤¿¤Ï¥­¥ã¥á¥ë¥±¡¼¥¹¥¹¥¿¥¤¥ë (¤¿¤È¤¨¤Ð¡¢ digitalSignature ¤ò dS ¤Ë¡¢cRLSign ¤ò cRLS ¤Ë) ¤Ë û½Ì¤Ç¤­¤Þ¤¹¡£Usage ¤ÎÂçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -EKU ¤Þ¤¿¤Ï ExtendedkeyUsage -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -usage(,usage)*¡£usage ¤Ë¤Ï¡¢anyExtendedKeyUsage¡¢ serverAuth¡¢clientAuth¡¢codeSigning¡¢emailProtection¡¢ timeStamping¡¢OCSPSigning¡¢¤Þ¤¿¤ÏǤ°Õ¤Î OID ʸ»úÎó¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ ̾Á°ÉÕ¤­¤Î usage ¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¡¢ ºÇ½é¤Î¿ôʸ»ú¤Þ¤¿¤Ï¥­¥ã¥á¥ë¥±¡¼¥¹¥¹¥¿¥¤¥ë¤Ë û½Ì¤Ç¤­¤Þ¤¹¡£Usage ¤ÎÂçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -SAN ¤Þ¤¿¤Ï SubjectAlternativeName -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -type:value(,type:value)*¡£type ¤Ë¤Ï¡¢EMAIL¡¢URI¡¢DNS¡¢IP¡¢¤Þ¤¿¤Ï OID ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£value ¤Ï¡¢type ¤Îʸ»úÎó·Á¼°¤ÎÃͤǤ¹¡£ -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -IAN ¤Þ¤¿¤Ï IssuerAlternativeName -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -SubjectAlternativeName ¤ÈƱ¤¸¤Ç¤¹ -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -SIA ¤Þ¤¿¤Ï SubjectInfoAccess -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -method:location\-type:location\-value (,method:location\-type:location\-value)*¡£ method ¤Ë¤Ï¡¢¡ÖtimeStamping¡×¡¢¡ÖcaRepository¡×¡¢¤Þ¤¿¤ÏǤ°Õ¤Î OID ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£location\-type ¤ª¤è¤Ó location\-value ¤Ë¤Ï¡¢SubjectAlternativeName ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëǤ°Õ¤Î type:value ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -AIA ¤Þ¤¿¤Ï AuthorityInfoAccess -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -SubjectInfoAccess ¤ÈƱ¤¸¤Ç¤¹¡£method ¤Ë¤Ï¡¢¡Öocsp¡×¡¢¡ÖcaIssuers¡×¡¢¤Þ¤¿¤ÏǤ°Õ¤Î OID ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3̾Á°\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wKU ¤Þ¤¿¤Ï KeyUsage -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(a- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(d- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(f- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(h- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(j- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(l- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f3ÃÍ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 325 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3̾Á°\fP\h'|\n(41u'\f3ÃÍ\fP -.ne \n(a|u+\n(.Vu -.ne \n(b|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'KU ¤Þ¤¿¤Ï KeyUsage\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.ne \n(e|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.ne \n(g|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.ne \n(k|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.ne \n(m|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-44 - -.LP -.LP -OID ̾¤Î¾ì¹ç¡¢OCTET STRING ¥¿¥¤¥×¤ÈŤµ¤Î¥Ð¥¤¥È¤ò½ü³°¤·¤¿¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÃÍ¤Ï extnValue ¤Î HEX ¥À¥ó¥×¤Î DER ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤¹¡£HEX ʸ»úÎó¤Ç¤Ï¡¢É¸½à¤Î HEX ¿ô (0\-9¡¢a\-f¡¢A\-F) °Ê³°¤Îʸ»ú¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ \f2¡Ö01:02:03:04¡×\fP ¤È \f2¡Ö01020304¡×¤ÎξÊý¤È¤â\fP Ʊ°ì¤ÎÃͤȤ·¤Æ¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤¹¡£Ãͤ¬¤Ê¤¤¾ì¹ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÎÃÍ¥Õ¥£¡¼¥ë¥É¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\f2\-gencert\fP ¤Ç¤Î¤ß»ÈÍѤ¹¤ë¡Öhonored¡×¤È¤¤¤¦ÆÃÊ̤Ê̾Á°¤Ï¡¢¾ÚÌÀ½ñÍ×µá¤Ë´Þ¤Þ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤òÍ¥À褹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î̾Á°¤ÎÃͤϡ¢ \f2¡Öall¡×\fP (Í׵ᤵ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬Í¥À褵¤ì¤ë)¡¢ \f2¡Öname{:[critical|non\-critical]}¡×\fP (̾Á°ÉÕ¤­¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬Í¥À褵¤ì¤ë¤¬¡¢Ê̤ΠisCritical °À­¤ò»ÈÍѤ¹¤ë)¡¢¤ª¤è¤Ó \f2¡Ö\-name¡×\fP (¡Öall¡×¤È¤È¤â¤Ë»ÈÍѤ·¡¢Îã³°¤ò¼¨¤¹) ¤Î¥³¥ó¥Þ¶èÀÚ¤ê¥ê¥¹¥È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Í׵ᤵ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÏÍ¥À褵¤ì¤Þ¤»¤ó¡£ -.LP -.LP -\-ext Í¥Àè¤Î¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¡¢Ê̤Î̾Á°¤Î¡¢¤Þ¤¿¤Ï OID \-ext ¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¡¢¤¹¤Ç¤ËÍ¥À褵¤ì¤Æ¤¤¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ËÄɲ䵤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î̾Á° (¤Þ¤¿¤Ï OID) ¤òÍ¥À褵¤ì¤ëÃͤǤâ»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤ÎÃͤȽÅÍ×À­¤¬Í×µá¤Ë´Þ¤Þ¤ì¤ë¤â¤Î¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.LP -.LP -subjectKeyIdentifier ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ï¾ï¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¼«¸Ê½ð̾¤Ç¤Ê¤¤¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢authorityKeyIdentifier ¤¬¾ï¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3Ãí:\fP ¥æ¡¼¥¶¡¼¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó (¤ª¤è¤Ó¾ÚÌÀ½ñ¤Î¤Û¤«¤Î¥Õ¥£¡¼¥ë¥É) ¤ÎÁȤ߹ç¤ï¤»¤Ë¤è¤Ã¤Æ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Îɸ½à¤Ë½àµò¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "¥³¥Þ¥ó¥É" -.LP -.SS +.\} +.PP +\fIcommands\fR +.RS 4 +¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥¿¥¹¥¯Ê̤ËʬÎव¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥­¡¼¥¹¥È¥¢¤Ø¤Î¥Ç¡¼¥¿¤ÎºîÀ®¤Þ¤¿¤ÏÄɲà -.LP -.RS 3 -.TP 3 -\-gencert {\-rfc} {\-infile infile} {\-outfile outfile} {\-alias alias} {\-sigalg sigalg} {\-dname dname} {\-startdate startdate {\-ext ext}* {\-validity valDays} [\-keypass keypass] {\-keystore keystore} [\-storepass storepass] {\-storetype storetype} {\-providername provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -¾ÚÌÀ½ñÍ×µá¥Õ¥¡¥¤¥ë ( \f2keytool \-certreq\fP ¥³¥Þ¥ó¥É¤ÇºîÀ®¤Ç¤­¤ë) ¤Ë±þÅú¤·¤Æ¾ÚÌÀ½ñ¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢\f2infile\fP ¤«¤é (¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é) Í×µá¤òÆÉ¤ß¹þ¤ß¡¢ÊÌ̾¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¤½¤ÎÍ×µá¤Ë½ð̾¤·¤Æ¡¢X.509 ¾ÚÌÀ½ñ¤ò \f2outfile\fP ¤Ë (¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É¸½à½ÐÎϤË) ½ÐÎϤ·¤Þ¤¹¡£ \f2\-rfc\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢½ÐÎÏ·Á¼°¤Ï BASE64 É乿²½¤Î PEM ¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥Ð¥¤¥Ê¥ê DER ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -\f2sigalg\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£\f2startdate\fP ¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ë¤Ê¤ë³«»Ï»þ¹ï/ÆüÉդǤ¹¡£\f2valDays\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ÎÍ­¸úÆü¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -\f2dname\fP ¤ò»ØÄꤹ¤ë¤È¡¢À¸À®¤µ¤ì¤ë¾ÚÌÀ½ñ¤Î¼çÂΤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñÍ׵ᤫ¤é¤Î̾Á°¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -\f2ext\fP ¤Ï¡¢¾ÚÌÀ½ñ¤ËËä¤á¹þ¤Þ¤ì¤ë X.509 ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£\-ext ¤Îʸˡ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö°ìÈÌ¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2\-gencert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢ \f2e1\fP ¤È¤¤¤¦¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤Ï¡¢3 ¤Ä¤Î¾ÚÌÀ½ñ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ca¡¢ca1¡¢ca2¡¢¤ª¤è¤Ó e1 ¤Î 4 ¤Ä¤Î¸°¥Ú¥¢¤òºîÀ®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -keytool \-alias ca \-dname CN=CA \-genkeypair -.fl -keytool \-alias ca1 \-dname CN=CA \-genkeypair -.fl -keytool \-alias ca2 \-dname CN=CA \-genkeypair -.fl -keytool \-alias e1 \-dname CN=E1 \-genkeypair -.fl -\fP -.fi -.LP -¼¡¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¤Ï¡¢½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òºîÀ®¤·¤Þ¤¹¡£ \f2ca\fP ¤Ï ca1 ¤Ë½ð̾¤·¡¢ \f2ca1 signs ca2\fP ¤Ë½ð̾¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¼«¸Êȯ¹Ô¤Ç¤¹¡£ -.nf -\f3 -.fl -keytool \-alias ca1 \-certreq | keytool \-alias ca \-gencert \-ext san=dns:ca1 | keytool \-alias ca1 \-importcert -.fl -keytool \-alias ca2 \-certreq | $KT \-alias ca1 \-gencert \-ext san=dns:ca2 | $KT \-alias ca2 \-importcert -.fl -\fP -.fi -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¾ÚÌÀ½ñ e1 ¤òºîÀ®¤·¤Æ¥Õ¥¡¥¤¥ë e1.cert ¤Ë³ÊǼ¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï ca2 ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢e1 ¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤Ï ca¡¢ca1¡¢¤ª¤è¤Ó ca2 ¤¬´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -keytool \-alias e1 \-certreq | keytool \-alias ca2 \-gencert > e1.cert -.fl -\fP -.fi -.TP 3 -\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-ext ext}* {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -¸°¤Î¥Ú¥¢ (¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ëÈó¸ø³«¸°) ¤òÀ¸À®¤·¤Þ¤¹¡£¸ø³«¸°¤Ï X.509 v3 ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ï¡¢Ã±°ì¤ÎÍ×ÁǤò»ý¤Ä¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤È¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÈÈó¸ø³«¸°¤Ï¡¢\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¿·¤·¤¤¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.LP -\f2keyalg\fP ¤Ï¸°¤Î¥Ú¥¢¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\f2keysize\fP ¤ÏÀ¸À®¤¹¤ë³Æ¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\f2sigalg\fP ¤Ë¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\f2keyalg\fP ¤È¸ß´¹À­¤Î¤¢¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -\f2dname\fP ¤Ë¤Ï¡¢\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Î issuer ¥Õ¥£¡¼¥ë¥É¤È subject ¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ»È¤¦ X.500 ¼±ÊÌ̾¤ò»ØÄꤷ¤Þ¤¹¡£ ¥³¥Þ¥ó¥É¹Ô¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¼±ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -\f2keypass\fP ¤Ë¤Ï¡¢À¸À®¤µ¤ì¤ë¸°¤Î¥Ú¥¢¤Î¤¦¤Á¡¢Èó¸ø³«¸°¤òÊݸ¤ë¤Î¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢Return ¥­¡¼¤ò²¡¤¹¤È¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2keypass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f2startdate\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Îȯ¹Ô»þ¹ï¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢X.509 ¾ÚÌÀ½ñ¤Î¡ÖValidity¡×¥Õ¥£¡¼¥ë¥É¤Î¡ÖNot Before¡×ÃÍ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£ -.LP -¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¼¡¤Î 2 ¤Ä¤Î·Á¼°¤Î¤¤¤º¤ì¤«¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -([+\-]\f2nnn\fP[ymdHMS])+ -.TP 3 -2. -[yyyy/mm/dd] [HH:MM:SS] +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-gencert .RE -.LP -ºÇ½é¤Î·Á¼°¤Ç¤Ï¡¢È¯¹Ô»þ¹ï¤Ï¡¢»ØÄꤵ¤ì¤ëÃͤÀ¤±¸½ºß¤Î»þ¹ï¤«¤é°Ü¤ê¤Þ¤¹¡£»ØÄꤵ¤ì¤ëÃͤϡ¢°ìÏ¢¤Î²¼°Ì¤ÎÃͤòÏ¢·ë¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£²¼°Ì¤Î³ÆÃͤǡ¢¥×¥é¥¹µ­¹æ (¡Ö+¡×) ¤Ï»þ´Ö¤¬¿Ê¤à¤³¤È¤ò¡¢¥Þ¥¤¥Ê¥¹µ­¹æ (¡Ö\-¡×) ¤Ï»þ´Ö¤¬Ìá¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£°Ü¤ë»þ´Ö¤Ï \f2nnn\fP ¤Ç¡¢Ã±°Ì¤Ïǯ¡¢·î¡¢Æü¡¢»þ´Ö¡¢Ê¬¡¢¤Þ¤¿¤ÏÉäǤ¹ (¤½¤ì¤¾¤ì¡¢1 ʸ»ú¤Î¡Öy¡×¡¢¡Öm¡×¡¢¡Öd¡×¡¢¡ÖH¡×¡¢¡ÖM¡×¡¢¤Þ¤¿¤Ï¡ÖS¡×¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë)¡£²¼°Ì¤Î³ÆÃÍ¤Ç \f2java.util.GregorianCalendar.add(int field, int amount)\fP ¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢È¯¹Ô»þ¹ï¤ÎÄɲäÎÃͤ¬º¸¤«¤é±¦¤Ø·×»»¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2¡Ö\-startdate \-1y+1m\-1d¡×\fP¤È»ØÄꤹ¤ë¤È¡¢³«»Ï»þ¹ï¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - Calendar c = new GregorianCalendar(); -.fl - c.add(Calendar.YEAR, \-1); -.fl - c.add(Calendar.MONTH, 1); -.fl - c.add(Calendar.DATE, \-1); -.fl - return c.getTime() -.fl -\fP -.fi -.LP -2 ÈÖÌܤηÁ¼°¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Ï¡¢Ç¯/·î/Æü¤È»þ´Ö:ʬ:ÉäΠ2 ¤Ä¤ÎÉôʬ¤Ç¸·Ì©¤Ê³«»Ï»þ¹ï¤òÀßÄꤷ¤Þ¤¹ (Ãϸµ¤Î»þ´ÖÂÓ¤ò»ÈÍÑ)¡£¥æ¡¼¥¶¡¼¤Ï¡¢1 ¤Ä¤ÎÉôʬ¤À¤±¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤â¤¦ 1 ¤Ä¤ÎÉôʬ¤Ï¸½ºß¤ÎÆüÉÕ (¤Þ¤¿¤Ï»þ¹ï) ¤ÈƱ¤¸¤Ë¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢·Á¼°¤ÎÄêµÁ¤Ë¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢·å¿ô¤ò¸·Ì©¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (û¤¤¾ì¹ç¤Ï 0 ¤ÇËä¤á¤ë)¡£ÆüÉդȻþ¹ï¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾õÂ֤ǡ¢2 ¤Ä¤ÎÉôʬ¤Î´Ö¤Ë¶õÇòʸ»ú¤¬ 1 ¤Ä (1 ¤Ä¤À¤±) ¤¢¤ê¤Þ¤¹¡£»þ´Ö¤Ï¾ï¤Ë 24 »þ´Ö·Á¼°¤Ç»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢³«»ÏÆüÉդϸ½ºß¤Î»þ¹ï¤Ë¤Ê¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Ï¡¢ºÇÂç¤Ç 1 ²ó»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -\f2valDays\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ÎÍ­¸úÆü¿ô¤ò»ØÄꤷ¤Þ¤¹ ( \f2\-startdate\fP ¤Ç»ØÄꤵ¤ì¤¿ÆüÉÕ¡¢¤Þ¤¿¤Ï \f2\-startdate\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¸½ºß¤ÎÆüÉÕ¤«¤é»Ï¤Þ¤ë)¡£ -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-genkey\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-genkeypair\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.TP 3 -\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -ÈëÌ©¸°¤òÀ¸À®¤·¡¢¤½¤ì¤ò¿·¤·¤¤ \f2KeyStore.SecretKeyEntry\fP (\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë) Æâ¤Ë³ÊǼ¤·¤Þ¤¹¡£ -.LP -\f2keyalg\fP ¤ÏÈëÌ©¸°¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\f2keysize\fP ¤ÏÀ¸À®¤¹¤ë¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\f2keypass\fP ¤ÏÈëÌ©¸°¤ÎÊݸî¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢Return ¥­¡¼¤ò²¡¤¹¤È¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2keypass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -¥Õ¥¡¥¤¥ë \f2cert_file\fP ¤«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó (¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ï¡¢PKCS#7 ·Á¼°¤Î±þÅú¤Þ¤¿¤Ï°ìÏ¢¤Î X.509 ¾ÚÌÀ½ñ¤ÇÄ󶡤µ¤ì¤ë¤â¤Î) ¤òÆÉ¤ß¹þ¤ß¡¢\f2alias\fP ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ -.LP -\f3keytool\fP ¤Ç¤Ï¡¢X.509 v1¡¢v2¡¢v3 ¤Î¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó¡¢PKCS#7 ·Á¼°¤Î¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë PKCS#7 ·Á¼°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¡¢¤Þ¤¿¤Ï½ÐÎϲÄǽÉ乿²½Êý¼° (Base64 É乿²½¤È¤â¸Æ¤Ð¤ì¤ë) ¤Î¤É¤Á¤é¤«¤ÇÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÉ乿²½Êý¼°¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡Ö\-\-\-\-\-BEGIN¡×¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç³«»Ï¤µ¤ì¡¢¡Ö\-\-\-\-\-END¡×¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç½ªÎ»¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ë -.TP 3 -2. -CA ¤Ë¾ÚÌÀ½ñ½ð̾Í×µá (\-certreq ¥³¥Þ¥ó¥É¤ò»²¾È) ¤òÁ÷¿®¤·¤¿·ë²Ì¤È¤·¤Æ¡¢CA ¤«¤é¼õ¤±¼è¤Ã¤¿¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-genkeypair .RE -.LP -¤É¤Á¤é¤Î¼ïÎà¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¦¤«¤Ï¡¢ \f2\-alias\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -\f3ÊÌ̾¤¬¥­¡¼¥¨¥ó¥È¥ê¤ò¥Ý¥¤¥ó¥È¤·¤Ê¤¤¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¥æ¡¼¥¶¡¼¤¬¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¥¨¥ó¥È¥ê¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤â¤Î¤È¸«¤Ê¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÊÌ̾¤¬¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ÊÌ̾¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÊÌ̾¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢\f3keytool\fP ¤Ï¥¨¥é¡¼¤ò½ÐÎϤ·¡¢¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¤¤Þ¤»¤ó¡£ -.TP 3 -2. -.LP -\f3ÊÌ̾¤¬¥­¡¼¥¨¥ó¥È¥ê¤ò¥Ý¥¤¥ó¥È¤·¤Ê¤¤¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¥æ¡¼¥¶¡¼¤¬¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¥¨¥ó¥È¥ê¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤â¤Î¤È¸«¤Ê¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-genseckey .RE -\f3¿·¤·¤¤¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È\fP -.LP -\f3keytool\fP ¤Ï¡¢¥­¡¼¥¹¥È¥¢¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é (¥ë¡¼¥È CA ¤Î) ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Á¥§¡¼¥ó¤Î¹½ÃÛ¤ò»î¤ß¤Þ¤¹¡£ -.LP -\f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ÄɲäξÚÌÀ½ñ¤Ï¿®Íê¤Ç¤­¤ë¤¹¤Ê¤ï¤Á cacerts ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£ -.LP -\f3keytool\fP ¤¬¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¾ÚÌÀ½ñ (¥­¡¼¥¹¥È¥¢¤Þ¤¿¤Ï cacerts ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ) ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Ñ¥¹¤Î¹½Ãۤ˼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤Î¾ðÊó¤òɽ¼¨¤·¡¢¥æ¡¼¥¶¡¼¤Ë³Îǧ¤òµá¤á¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¤Û¤«¤Î¤Ê¤ó¤é¤«¤Î (¿®Íê¤Ç¤­¤ë) ¾ðÊó¸» (¾ÚÌÀ½ñ¤Î½êÍ­¼ÔËܿͤʤÉ) ¤«¤éÆþ¼ê¤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¾ÚÌÀ½ñ¤ò³Îǧ¤¹¤ë»þÅÀ¤ÇÃæ»ß¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢ \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£ -\f3¾ÚÌÀ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È\fP -.LP -¡Ö¾ÚÌÀ±þÅú¡×¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó (\-trustcacerts ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï) cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ç¹½À®¤µ¤ì¤¿¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¾ÚÌÀ±þÅú¤¬¸¡ºº¤µ¤ì¤Þ¤¹¡£ -.LP -¾ÚÌÀ±þÅú¤¬¿®Íê¤Ç¤­¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ëÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f3¾ÚÌÀ±þÅú¤¬Ã±°ì¤Î X.509 ¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¾ÚÌÀ±þÅú¤«¤é (¥ë¡¼¥È CA ¤Î) ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¥Á¥§¡¼¥ó¤Î³ÎΩ¤ò»î¤ß¤Þ¤¹¡£¾ÚÌÀ±þÅú¤È¡¢¾ÚÌÀ±þÅú¤Îǧ¾Ú¤Ë»È¤ï¤ì¤ë¾ÚÌÀ½ñ¤Î³¬Áع½Â¤¤Ï¡¢\f2alias\fP ¤Î¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò·ÁÀ®¤·¤Þ¤¹¡£¿®Íê¥Á¥§¡¼¥ó¤¬³ÎΩ¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¾ÚÌÀ±þÅú¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\f3keytool\fP ¤Ï¾ÚÌÀ½ñ¤ò½ÐÎϤ»¤º¡¢¥æ¡¼¥¶¡¼¤Ë¸¡¾Ú¤òµá¤á¤ë¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¾ÚÌÀ±þÅú¤Î¿®ÍêÀ­¤òȽÃǤ¹¤ë¤Î¤Ï¡¢ÉÔ²Äǽ¤Ç¤Ï¤Ê¤¯¤Æ¤âÈó¾ï¤Ëº¤Æñ¤À¤«¤é¤Ç¤¹¡£ -.TP 2 -o -\f3¾ÚÌÀ±þÅú¤¬ PKCS#7 ·Á¼°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Þ¤¿¤Ï°ìÏ¢¤Î X.509 ¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç\fP¡¢¥Á¥§¡¼¥ó¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¾ÚÌÀ½ñ¤¬ºÇ½é¤Ë¡¢0 °Ê¾å¤Î CA ¾ÚÌÀ½ñ¤¬¤½¤Î¼¡¤Ë¤¯¤ë¤è¤¦¤Ëʤ٤é¤ì¤Þ¤¹¡£¥Á¥§¡¼¥ó¤¬¼«¸Ê½ð̾¤Î¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤Ç½ª¤ï¤ê¡¢ \f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f3keytool\fP ¤Ï¡¢¤½¤Î¾ÚÌÀ½ñ¤È¡¢¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¡Öcacerts¡×¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤­¤ë¤¹¤Ù¤Æ¤Î¾ÚÌÀ½ñ¤ò¾È¹ç¤·¤è¤¦¤È¤·¤Þ¤¹¡£¥Á¥§¡¼¥ó¤¬¼«¸Ê½ð̾¤Î¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤Ç½ª¤ï¤Ã¤Æ¤ª¤é¤º¡¢ \f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f3keytool\fP ¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¡Öcacerts¡×¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¤Î¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò¸«¤Ä¤±¤Æ¤½¤ì¤ò¥Á¥§¡¼¥ó¤ÎËöÈø¤ËÄɲ䷤褦¤È¤·¤Þ¤¹¡£¤½¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤é¤º¡¢ \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ¤Î¾ðÊ󤬽ÐÎϤµ¤ì¡¢¥æ¡¼¥¶¡¼¤Ï³Îǧ¤òµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-importcert .RE -.LP -¾ÚÌÀ½ñ±þÅúÆâ¤Î¸ø³«¸°¤¬ \f2alias\fP ¤Î²¼¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Î¸ø³«¸°¤Ë°ìÃפ·¤¿¾ì¹ç¡¢¸Å¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬±þÅúÆâ¤Î¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£°ÊÁ°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ï¡¢Í­¸ú¤Ê \f2keypass\fP¡¢¤Ä¤Þ¤ê³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-import\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-importcert\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.TP 3 -\-importkeystore \-srckeystore srckeystore \-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -¥½¡¼¥¹¥­¡¼¥¹¥È¥¢¤«¤é¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ø¡¢Ã±°ì¤Î¥¨¥ó¥È¥ê¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ -.LP -\f2srcalias\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¤½¤ÎÊÌ̾¤ÇÆÃÄꤵ¤ì¤ëñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£\f2destalias\fP ·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2srcalias\fP ¤¬¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\f2srckeypass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\f2srckeypass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f3keytool\fP ¤Ï \f2srcstorepass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤ò²óÉü¤·¤è¤¦¤È¤·¤Þ¤¹¡£\f2srcstorepass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï \f2destkeypass\fP ¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£\f2destkeypass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ -.LP -\f2srcalias\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£³Æ¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤ÏÂбþ¤¹¤ë¥½¡¼¥¹¥¨¥ó¥È¥ê¤ÎÊÌ̾¤Î²¼¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\f2srcstorepass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\f2srcstorepass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Î¤¢¤ë¥¨¥ó¥È¥ê¥¿¥¤¥×¤¬¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ä¡¢¤¢¤ë¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¤½¤Î¥¨¥ó¥È¥ê¤ò¥¹¥­¥Ã¥×¤·¤Æ½èÍý¤ò³¹Ô¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï½èÍý¤òÃæÃǤ¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ -.LP -¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¡¢¤½¤Î¥¨¥ó¥È¥ê¤ò¾å½ñ¤­¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï°Û¤Ê¤ëÊÌ̾¤Î²¼¤Ç¿·¤·¤¤¥¨¥ó¥È¥ê¤òºîÀ®¤¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -\f2\-noprompt\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¿·¤·¤¤¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤»¤ó¡£´û¸¤Î¥¨¥ó¥È¥ê¤Ï¤½¤Î¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤Ç¼«Æ°Åª¤Ë¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Ê¤¤¥¨¥ó¥È¥ê¤Ï¼«Æ°Åª¤Ë¥¹¥­¥Ã¥×¤µ¤ì¡¢·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.TP 3 -\-printcertreq {\-file file} -.LP -PKCS #10 ·Á¼°¤Î¾ÚÌÀ½ñÍ×µá¤ÎÆâÍÆ¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤ÎÍ×µá¤Ï¡¢keytool \-certreq ¥³¥Þ¥ó¥É¤ÇÀ¸À®¤Ç¤­¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢file ¤«¤éÍ×µá¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£file ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤éÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-importpassword .RE - -.LP -.SS +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Ê̤Υ­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤Î¥¤¥ó¥Ý¡¼¥È +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-importkeystore +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤ÎÀ¸À® +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-certreq +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥Ç¡¼¥¿¤Î¥¨¥¯¥¹¥Ý¡¼¥È -.LP -.RS 3 -.TP 3 -\-certreq {\-alias alias} {\-dname dname} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -PKCS#10 ·Á¼°¤ò»È¤Ã¤Æ¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤òÀ¸À®¤·¤Þ¤¹¡£ -.LP -CSR ¤Ï¡¢¾ÚÌÀ½ñȯ¹Ô¶É (CA) ¤ËÁ÷¿®¤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤¹¡£CA ¤Ï¡¢¾ÚÌÀ½ñÍ×µá¼Ô¤ò (Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç) ǧ¾Ú¤·¡¢¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£ ¤³¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î´û¸¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó (ºÇ½é¤Ï 1 ¤Ä¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤ë) ¤ËÃÖ¤­´¹¤¨¤Æ»È¤¤¤Þ¤¹¡£ -.LP -\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤Ï¡¢PKCS#10 ¾ÚÌÀ½ñÍ×µá¤òºîÀ®¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¥­¡¼¥¹¥È¥¢Æâ¤Ç¤Ï¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Èó¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢Å¬Àڤʥѥ¹¥ï¡¼¥É¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç \f2keypass\fP ¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£dname ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤¬ CSR ¤Ç¼çÂΤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ X.500 ¼±ÊÌ̾¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -\f2sigalg\fP ¤Ë¤Ï¡¢CSR ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -CSR ¤Ï¡¢¥Õ¥¡¥¤¥ë \f2certreq_file\fP ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à½ÐÎÏ¤Ë CSR ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -CA ¤«¤é¤Î±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢\f2importcert\fP ¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¡£ -.TP 3 -\-exportcert {\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption} -.LP -\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¤ò (¥­¡¼¥¹¥È¥¢¤«¤é) ÆÉ¤ß¹þ¤ß¡¢¥Õ¥¡¥¤¥ë \f2cert_file\fP ¤Ë³ÊǼ¤·¤Þ¤¹¡£ -.LP -¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à½ÐÎϤ˾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢\-rfc ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -\f2alias\fP ¤¬¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\f2alias\fP ¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»ý¤Ä¸°¥¨¥ó¥È¥ê¤ò»²¾È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢\f2alias\fP ¤Ë¤è¤Ã¤ÆÉ½¤µ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£ -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-export\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-exportcert\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-exportcert .RE - -.LP -.SS +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥Ç¡¼¥¿¤Îɽ¼¨ -.LP -.RS 3 -.TP 3 -\-list {\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption} -.LP -\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÆâÍÆ¤ò (ɸ½à½ÐÎϤË) ½ÐÎϤ·¤Þ¤¹¡£ÊÌ̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢Á´ÂÎ¤ÎÆâÍÆ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾ÚÌÀ½ñ¤Î SHA1 ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤·¤Þ¤¹¡£ \f2\-v\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½êÍ­¼Ô¡¢È¯¹Ô¼Ô¡¢¥·¥ê¥¢¥ëÈֹ桢³ÈÄ¥µ¡Ç½¤Ê¤É¤ÎÉÕ²ÃŪ¤Ê¾ðÊó¤È¤È¤â¤Ë¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍÆ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤È \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.TP 3 -\-printcert {\-file cert_file | \-sslserver host[:port]} {\-jarfile JAR_file {\-rfc} {\-v} {\-Jjavaoption} -.LP -¥Õ¥¡¥¤¥ë \f2cert_file\fP¡¢\f2host:port\fP ¤Ë¤¢¤ë SSL ¥µ¡¼¥Ð¡¼¡¢¤Þ¤¿¤Ï½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë \f2JAR_file\fP ( \f2\-jarfile\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄê) ¤«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤ß¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤·¤Þ¤¹¡£¥Ý¡¼¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à¤Î HTTPS ¥Ý¡¼¥È 443 ¤¬ÁÛÄꤵ¤ì¤Þ¤¹¡£ \f2\-sslserver\fP ¤ª¤è¤Ó \f2\-file\fP ¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£Æ±»þ¤Ë»ØÄꤹ¤ë¤È¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ -.LP -\f2\-rfc\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢keytool ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ɸ½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢PEM ¥â¡¼¥É¤Ç¾ÚÌÀ½ñ¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ïɸ½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤à¾ì¹ç¡¢¤½¤Î¾ÚÌÀ½ñ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ɸ½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¤Þ¤¿¤Ï½ÐÎϲÄǽÉ乿²½Êý¼°¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£ -.LP -SSL ¥µ¡¼¥Ð¡¼¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÇØ¸å¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢ \f2\-J\-Dhttps.proxyHost=proxyhost\fP ¤È \f2\-J\-Dhttps.proxyPort=proxyport\fP ¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Æ¡¢¥×¥í¥­¥·¥È¥ó¥Í¥ê¥ó¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2¡ÖJSSE ¥ê¥Õ¥¡¥ì¥ó¥¹¥¬¥¤¥É¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3Ãí\fP: ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥­¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤Þ¤¹¡£ -.TP 3 -\-printcrl \-file crl_ {\-v} -.LP -¥Õ¥¡¥¤¥ë \f2crl_file\fP ¤«¤é¾ÚÌÀ½ñ¤Î¼è¤ê¾Ã¤·¥ê¥¹¥È (CRL) ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ -.LP -¾ÚÌÀ½ñ¤Î¼è¤ê¾Ã¤·¥ê¥¹¥È (CRL) ¤Ï¡¢¥Ç¥¸¥¿¥ë¾ÚÌÀ½ñ¤òȯ¹Ô¤·¤¿¾ÚÌÀ½ñȯ¹Ô¶É (CA) ¤Ë¤è¤Ã¤Æ¼è¤ê¾Ã¤µ¤ì¤¿¥Ç¥¸¥¿¥ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ç¤¹¡£CA ¤Ï¡¢\f2crl_file\fP ¤òÀ¸À®¤·¤Þ¤¹¡£ -.LP -\f3Ãí\fP: ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥­¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-list .RE - -.LP -.SS +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-printcert +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-printcertreq +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-printcrl +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥­¡¼¥¹¥È¥¢¤Î´ÉÍý -.LP -.RS 3 -.TP 3 -\-storepasswd [\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} -.LP -¥­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Þ¤¹¡£\f2new_storepass\fP ¤Ë¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£new_storepass ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.TP 3 -\-keypasswd {\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} -.LP -\f2alias\fP ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ëÈó¸ø³«/ÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¡¢\f2old_keypass\fP ¤«¤é \f2new_keypass\fP ¤ËÊѹ¹¤·¤Þ¤¹¡£new_keypass ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-new\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-delete [\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -\f2alias\fP ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥­¡¼¥¹¥È¥¢¤«¤éºï½ü¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-changealias {\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -»ØÄꤵ¤ì¤¿ \f2alias\fP ¤«¤é¿·¤·¤¤ÊÌ̾ \f2destalias\fP ¤Ø¡¢´û¸¤Î¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ò°Üư¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¤½¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¸µ¤Î¥¨¥ó¥È¥ê¤¬¥¨¥ó¥È¥ê¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¡Ö\-keypass¡×¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¸°¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2storepass\fP (»ØÄꤵ¤ì¤¿¾ì¹ç) ¤¬¤Þ¤º»î¤ß¤é¤ì¤Þ¤¹¡£¤½¤Î»î¤ß¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-storepasswd .RE - -.LP -.SS +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-keypasswd +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-delete +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-changealias +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥Ø¥ë¥×¤Îɽ¼¨ -.LP -.RS 3 -.TP 3 -\-help -.LP -´ðËÜŪ¤Ê¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -ÆÃÄê¤Î¥³¥Þ¥ó¥É¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ \f2command_name\fP ¤Ï¥³¥Þ¥ó¥É¤Î̾Á°¤Ç¤¹¡£ -.nf -\f3 -.fl - keytool \-\fP\f4command_name\fP\f3 \-help -.fl -\fP -.fi +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-help .RE - -.LP -.SH "Îã" -.LP -.LP -¤³¤³¤Ç¤Ï¡¢¼«Ê¬¤Î¸°¤Î¥Ú¥¢¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤«¤é¤Î¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥­¡¼¥¹¥È¥¢¤òºîÀ®¤¹¤ë¾ì¹ç¤òÎã¤È¤·¤Æ¼¨¤·¤Þ¤¹¡£ -.LP -.SS -¸°¤Î¥Ú¥¢¤ÎÀ¸À® -.LP -.LP -¤Þ¤º¡¢¥­¡¼¥¹¥È¥¢¤òºîÀ®¤·¤Æ¸°¤Î¥Ú¥¢¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-genkeypair \-dname "cn=Mark Jones, ou=Java, o=Oracle, c=US" -.fl - \-alias business \-keypass \fP\f4<Èó¸ø³«¸°¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-keystore /working/mykeystore -.fl - \-storepass \fP\f4<¥­¡¼¥¹¥È¥¢¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-validity 180 -.fl -\fP -.fi - -.LP -.LP -Ãí: ¤³¤Î¥³¥Þ¥ó¥É¤Ï 1 ¹Ô¤ËÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Îã¤ÇÊ£¿ô¹Ô¤ËÆþÎϤ·¤Æ¤¤¤ë¤Î¤ÏÆÉ¤ß¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ç¤¹¡£ -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢working ¥Ç¥£¥ì¥¯¥È¥ê¤Ë mykeystore ¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤òºîÀ®¤· (¥­¡¼¥¹¥È¥¢¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤È²¾Äꤹ¤ë)¡¢ºîÀ®¤·¤¿¥­¡¼¥¹¥È¥¢¤Ë¡¢\f2<¥­¡¼¥¹¥È¥¢¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É>\fP ¤Ç»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£À¸À®¤¹¤ë¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤ËÂбþ¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¡Ö¼±ÊÌ̾¡×¤Ï¡¢Ä̾Τ¬¡ÖMark Jones¡×¡¢ÁÈ¿¥Ã±°Ì¤¬¡ÖJava¡×¡¢ÁÈ¿¥¤¬¡ÖOracle¡×¡¢2 ʸ»ú¤Î¹ñÈֹ椬¡ÖUS¡×¤Ç¤¹¡£¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥µ¥¤¥º¤Ï¤É¤Á¤é¤â 1024 ¥Ó¥Ã¥È¤Ç¡¢¸°¤ÎºîÀ®¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Î DSA ¸°À¸À®¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¸ø³«¸°¤È¼±ÊÌ̾¾ðÊó¤ò´Þ¤à¼«¸Ê½ð̾¾ÚÌÀ½ñ (¥Ç¥Õ¥©¥ë¥È¤Î SHA1withDSA ½ð̾¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍÑ) ¤òºîÀ®¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü´Ö¤Ï 180 Æü¤Ç¤¹¡£ ¾ÚÌÀ½ñ¤Ï¡¢ÊÌ̾¡Öbusiness¡×¤ÇÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥êÆâ¤ÎÈó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Þ¤¹¡£Èó¸ø³«¸°¤Ë¤Ï¡¢\f2<Èó¸ø³«¸°¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É>\fP ¤Ç»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ -.LP -.LP -¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»È¤¦¾ì¹ç¤Ï¡¢¾å¤Ë¼¨¤·¤¿¥³¥Þ¥ó¥É¤òÂçÉý¤Ëû¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¼ÂºÝ¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä¤â»ØÄꤻ¤º¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ ¥Ç¥Õ¥©¥ë¥ÈÃͤò»ý¤Ä¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»È¤ï¤ì¡¢É¬ÍפÊÃͤˤĤ¤¤Æ¤ÏÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Ã±¤Ë¼¡¤Î¤è¤¦¤ËÆþÎϤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-genkeypair -.fl -\fP -.fi - -.LP -.LP -¤³¤Î¾ì¹ç¤Ï¡¢mykey ¤È¤¤¤¦ÊÌ̾¤Ç¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¿·¤·¤¯À¸À®¤µ¤ì¤¿¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó 90 Æü´ÖÍ­¸ú¤Ê¾ÚÌÀ½ñ¤¬¤³¤Î¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥­¡¼¥¹¥È¥¢¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ºîÀ®¤µ¤ì¤Þ¤¹¡£¼±ÊÌ̾¾ðÊó¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¡¢¤ª¤è¤ÓÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -.LP -°Ê²¼¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤â¤Î¤È¤·¤ÆÎã¤ò¼¨¤·¤Þ¤¹¡£¾ðÊó¤ÎÆþÎϤòµá¤á¤é¤ì¤¿¾ì¹ç¤Ï¡¢ºÇ½é¤Ë¼¨¤·¤¿ \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ÎÃͤòÆþÎϤ·¤¿¤â¤Î¤È¤·¤Þ¤¹ (¤¿¤È¤¨¤Ð¡¢¼±ÊÌ̾¤Ë¤Ï cn=Mark Jones, ou=Java, o=Oracle, c=US ¤È»ØÄê)¡£ -.LP -.SS -¾ÚÌÀ½ñȯ¹Ô¶É¤ËÂФ¹¤ë½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤ÎÍ×µá -.LP -.LP -¸½»þÅÀ¤Ç¼ê¸µ¤Ë¤¢¤ë¤Î¤Ï¡¢1 Ä̤μ«¸Ê½ð̾¾ÚÌÀ½ñ¤À¤±¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¾ÚÌÀ½ñȯ¹Ô¶É (CA) ¤Î½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ì¤Ð¡¢¤Û¤«¤Î¥æ¡¼¥¶¡¼¤«¤é¾ÚÌÀ½ñ¤¬¿®Íê¤Ç¤­¤ë²ÄǽÀ­¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£CA ¤Î½ð̾¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤òÀ¸À®¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-certreq \-file MarkJ.csr -.fl -\fP -.fi - -.LP -.LP -CSR (¥Ç¥Õ¥©¥ë¥ÈÊÌ̾¡Ömykey¡×¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î CSR) ¤¬ºîÀ®¤µ¤ì¡¢MarkJ.csr ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢VeriSign ¤Ê¤É¤Î CA ¤ËÄó½Ð¤·¤Þ¤¹¡£ CA ¤ÏÍ×µá¼Ô¤ò (Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç) ǧ¾Ú¤·¡¢Í×µá¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿½ð̾ÉÕ¤­¤Î¾ÚÌÀ½ñ¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA ¤¬¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ -.LP -.SS -CA ¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È -.LP -.LP -ºîÀ®¤·¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¡¢¡Ö¥ë¡¼¥È¡×CA ¤òµ¯ÅÀ¤È¤¹¤ë¥Á¥§¡¼¥óÆâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ -.LP -.LP -CA ¤«¤é¤Î¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¥­¡¼¥¹¥È¥¢¤«¡¢ \f2cacerts\fP ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë (importcert ¥³¥Þ¥ó¥É¤ÇÀâÌÀ) Æâ¤Ë 1 ¤Ä°Ê¾å¤Î¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¾ÚÌÀ±þÅú¤¬¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥ó¤Î¥È¥Ã¥×¤Î¾ÚÌÀ½ñ (¤½¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¡Ö¥ë¡¼¥È¡×CA ¤Î¾ÚÌÀ½ñ) ¤À¤±¤òɬÍפȤ¹¤ë -.TP 2 -o -¾ÚÌÀ±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤·¤¿ CA ¤Îȯ¹ÔÍѤξÚÌÀ½ñ¤¬É¬Íפǡ¢¤½¤Î¾ÚÌÀ½ñ¤¬¼«¸Ê½ð̾¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¤µ¤é¤Ë¤½¤Î¾ÚÌÀ½ñ¤Î½ð̾¼ÔÍѤξÚÌÀ½ñ¤òɬÍפȤ¹¤ë¡£ ¤³¤Î¤è¤¦¤Ë¤·¤Æ¼«¸Ê½ð̾¤µ¤ì¤ë¡Ö¥ë¡¼¥È¡×CA ¤Î¾ÚÌÀ½ñ¤Þ¤Ç¤½¤ì¤¾¤ì¾ÚÌÀ½ñ¤òɬÍפȤ¹¤ë .RE - -.LP -.LP -cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ï¡¢¤¤¤¯¤Ä¤«¤Î VeriSign ¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢VeriSign ¤Î¾ÚÌÀ½ñ¤ò¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפϤʤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤Û¤«¤Î CA ¤ËÂФ·¤Æ½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤òÍ׵ᤷ¤Æ¤¤¤Æ¡¢¤³¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤¬¡¢cacerts ¤Ë¤Þ¤ÀÄɲäµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë CA ¤«¤é¤Î¾ÚÌÀ½ñ¤ò¡¢¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -Ä̾CA ¤«¤é¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¡¢¤Þ¤¿¤Ï¤Û¤«¤Î CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ç¤¹ (¸å¼Ô¤Î¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¤Û¤«¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤âɬÍ×)¡£¤¿¤È¤¨¤Ð¡¢ABC ¤È¤¤¤¦´ë¶È¤¬ CA ¤À¤È¤·¤Þ¤¹¡£¤³¤Î¤È¤­¡¢¤³¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤È¹Í¤¨¤é¤ì¤ë ABCCA.cer ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¡¢ABC ¤«¤éÆþ¼ê¤·¤¿¤È¤·¤Þ¤¹¡£ -.LP -.LP -¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤º¡¢¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤· (\f3keytool\fP \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \-noprompt ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f3keytool\fP \f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¡¢ ɽ¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿ (¤Þ¤¿¤Ï°ÂÁ´¤Ê¸ø³«¸°¤Î¥ê¥Ý¥¸¥È¥ê¤Ë¤è¤Ã¤ÆÄ󼨤µ¤ì¤ë) ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¤Û¤«¤Î²¿¼Ô¤« (¹¶·â¼Ô¤Ê¤É) ¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂØ¤¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -ABCCA.cer ¤òÍ­¸ú¤Ê¾ÚÌÀ½ñ¤È¤·¤Æ¿®Íꤹ¤ë¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲäǤ­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-importcert \-alias abc \-file ABCCA.cer -.fl -\fP -.fi - -.LP -.LP -ABCCA.cer ¥Õ¥¡¥¤¥ë¤Î¥Ç¡¼¥¿¤ò´Þ¤à¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤Î¥¨¥ó¥È¥ê¤¬¥­¡¼¥¹¥È¥¢Æâ¤ËºîÀ®¤µ¤ì¡¢³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤Ë abc ¤È¤¤¤¦ÊÌ̾¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ -.LP -.SS -CA ¤«¤é¤Î¾ÚÌÀ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È -.LP -.LP -¾ÚÌÀ½ñ½ð̾Í×µá¤ÎÄó½ÐÀè¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤¿¤¢¤È¤Ï (¤Þ¤¿¤ÏƱ¼ï¤Î¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë cacerts ¥Õ¥¡¥¤¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï)¡¢¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤ò¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ï¡¢CA ¤Î±þÅú¤¬¥Á¥§¡¼¥ó¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ½ð̾Í×µá¤ËÂФ¹¤ë±þÅú¤È¤·¤Æ CA ¤«¤éÁ÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤¹¡£ ¤Þ¤¿¡¢CA ¤Î±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¤³¤Î¾ÚÌÀ±þÅú¤È¡¢¥¤¥ó¥Ý¡¼¥ÈÀè¤Î¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤ò»È¤Ã¤Æ¹½ÃÛ¤·¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ½ð̾Í×µá¤ò VeriSign ¤ËÁ÷¿®¤·¤¿¤È¤·¤Þ¤¹¡£Á÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î̾Á°¤¬ VSMarkJ.cer ¤À¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-importcert \-trustcacerts \-file VSMarkJ.cer -.fl -\fP -.fi - -.LP -.SS -¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Ý¡¼¥È -.LP -.LP -¤¿¤È¤¨¤Ð¡¢jarsigner(1) ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¤È¤·¤Þ¤¹¡£¤³¤Î JAR ¥Õ¥¡¥¤¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤Þ¤¹¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ï½ð̾¤òǧ¾Ú¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¥¯¥é¥¤¥¢¥ó¥È¤¬½ð̾¤òǧ¾Ú¤¹¤ëÊýË¡¤Î 1 ¤Ä¤Ë¡¢¤Þ¤º¼«Ê¬¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤ò¡Ö¿®Íê¤Ç¤­¤ë¡×¥¨¥ó¥È¥ê¤È¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤ËÄ󶡤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢¾ÚÌÀ½ñ¤ò \f2MJ.cer\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡Ömykey¡×¤È¤¤¤¦ÊÌ̾¤¬»È¤ï¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-exportcert \-alias mykey \-file MJ.cer -.fl -\fP -.fi - -.LP -.LP -¾ÚÌÀ½ñ¤È½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤òÆþ¼ê¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤òǧ¾Ú¤Ç¤­¤Þ¤¹¡£ -.LP -.SS -¥­¡¼¥¹¥È¥¢¤Î¥¤¥ó¥Ý¡¼¥È -.LP -.LP -¥³¥Þ¥ó¥É¡Öimportkeystore¡×¤ò»È¤¨¤Ð¡¢¤¢¤ë¥­¡¼¥¹¥È¥¢¤ÎÁ´ÂΤòÊ̤Υ­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¸°¤ä¾ÚÌÀ½ñ¤È¤¤¤Ã¤¿¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¡¢Ã±°ì¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢Æâ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È»þ¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Î¿·¤·¤¤¥¨¥ó¥È¥ê¤Ï¤¹¤Ù¤Æ¡¢¸µ¤ÈƱ¤¸ÊÌ̾¤ª¤è¤Ó (ÈëÌ©¸°¤äÈó¸ø³«¸°¤Î¾ì¹ç¤Ï) ÊݸîÍѥѥ¹¥ï¡¼¥É¤ò»ý¤Á¤Þ¤¹¡£¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤äÈëÌ©¸°¤Î²óÉü»þ¤ËÌäÂ꤬ȯÀ¸¤·¤¿¾ì¹ç¡¢\f3keytool\fP ¤Ï¥æ¡¼¥¶¡¼¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÊÌ̾¤Î½ÅÊ£¤ò¸¡½Ð¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ë¿·¤·¤¤ÊÌ̾¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢¿·¤·¤¤ÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ã±½ã¤Ë´û¸¤ÎÊÌ̾¤Î¾å½ñ¤­¤ò \f3keytool\fP ¤Ëµö²Ä¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢Ä̾ï¤Î JKS ¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢ key.jks Æâ¤Î¥¨¥ó¥È¥ê¤ò PKCS #11 ¥¿¥¤¥×¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-importkeystore -.fl - \-srckeystore key.jks \-destkeystore NONE -.fl - \-srcstoretype JKS \-deststoretype PKCS11 -.fl - \-srcstorepass \fP\f4<¥½¡¼¥¹¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-deststorepass \fP\f4<¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl -\fP -.fi - -.LP -.LP -¤Þ¤¿¡¢importkeystore ¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢¤¢¤ë¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Îñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¾åµ­¤ÎÎã¤Ç¼¨¤·¤¿¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¡¢¥¤¥ó¥Ý¡¼¥ÈÂоݤȤʤëÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£srcalias ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤â¥³¥Þ¥ó¥É¹Ô¤«¤é»ØÄê¤Ç¤­¤ë¤Û¤«¡¢ÈëÌ©/Èó¸ø³«¸°¤ÎÊݸîÍѥѥ¹¥ï¡¼¥É¤ä¥¿¡¼¥²¥Ã¥ÈÊݸîÍѥѥ¹¥ï¡¼¥É¤â»ØÄê¤Ç¤­¤Þ¤¹¡£¤½¤ÎÊýË¡¤ò¼¨¤¹¥³¥Þ¥ó¥É¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-importkeystore -.fl - \-srckeystore key.jks \-destkeystore NONE -.fl - \-srcstoretype JKS \-deststoretype PKCS11 -.fl - \-srcstorepass \fP\f4<¥½¡¼¥¹¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-deststorepass \fP\f4<¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl - \-srcalias myprivatekey \-destalias myoldprivatekey -.fl - \-srckeypass \fP\f4<¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-destkeypass \fP\f4<¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl - \-noprompt -.fl -\fP -.fi - -.LP -.SS -°ìÈÌŪ¤Ê SSL ¥µ¡¼¥Ð¡¼ÍѤξÚÌÀ½ñ¤ÎÀ¸À® -.LP -.LP -¼¡¤Ë¡¢3 ¤Ä¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¡¢¤Ä¤Þ¤ê¥ë¡¼¥È CA (root)¡¢Ãæ´Ö CA (ca)¡¢¤ª¤è¤Ó SSL ¥µ¡¼¥Ð¡¼ (server) ÍѤθ°¥Ú¥¢¤È¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë keytool ¥³¥Þ¥ó¥É¤ò¼¨¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¾ÚÌÀ½ñ¤òƱ¤¸¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÎÎã¤Ç¤Ï¡¢¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤È¤·¤Æ RSA ¤ò»ØÄꤹ¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -keytool \-genkeypair \-keystore root.jks \-alias root \-ext bc:c -.fl -keytool \-genkeypair \-keystore ca.jks \-alias ca \-ext bc:c -.fl -keytool \-genkeypair \-keystore server.jks \-alias server -.fl - -.fl -keytool \-keystore root.jks \-alias root \-exportcert \-rfc > root.pem -.fl - -.fl -keytool \-storepass \fP\f4<storepass>\fP\f3 \-keystore ca.jks \-certreq \-alias ca | keytool \-storepass \fP\f4<storepass>\fP\f3 \-keystore root.jks \-gencert \-alias root \-ext BC=0 \-rfc > ca.pem -.fl -keytool \-keystore ca.jks \-importcert \-alias ca \-file ca.pem -.fl - -.fl -keytool \-storepass \fP\f4<storepass>\fP\f3 \-keystore server.jks \-certreq \-alias server | keytool \-storepass \fP\f4<storepass>\fP\f3 \-keystore ca.jks \-gencert \-alias ca \-ext ku:c=dig,kE \-rfc > server.pem -.fl -cat root.pem ca.pem server.pem | keytool \-keystore server.jks \-importcert \-alias server -.fl -\fP -.fi - -.LP -.SH "ÍѸì¤È·Ù¹ð" -.LP -.SS -KeyStore -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Ï¡¢°Å¹æ²½¤Î¸°¤È¾ÚÌÀ½ñ¤ò³ÊǼ¤¹¤ë¤¿¤á¤Îµ¡Ç½¤Ç¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f3¥­¡¼¥¹¥È¥¢¤Î¥¨¥ó¥È¥ê\fP -.LP -¥­¡¼¥¹¥È¥¢¤Ë¤Ï°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\f3keytool\fP ¤Ç¤â¤Ã¤È¤âŬÍÑÈϰϤι­¤¤¥¨¥ó¥È¥ê¥¿¥¤¥×¤Ï¡¢¼¡¤Î 2 ¤Ä¤Ç¤¹¡£ -.RS 3 -.TP 3 -1. -\f3¸°¤Î¥¨¥ó¥È¥ê\fP \- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Èó¾ï¤Ë½ÅÍפʰŹ沽¤Î¸°¤Î¾ðÊó¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢µö²Ä¤·¤Æ¤¤¤Ê¤¤¥¢¥¯¥»¥¹¤òËɤ°¤¿¤á¤Ë¡¢Êݸ¤ì¤¿·Á¤Ç³ÊǼ¤µ¤ì¤Þ¤¹¡£ °ìÈ̤ˡ¢¤³¤Î¼ï¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ³ÊǼ¤µ¤ì¤ë¸°¤Ï¡¢ÈëÌ©¸°¤«¡¢Âбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òȼ¤¦Èó¸ø³«¸°¤Ç¤¹¡£\f3keytool\fP ¤¬¤³¤ÎξÊý¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò½èÍý¤Ç¤­¤ë¤Î¤ËÂФ·¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤Ï¸å¼Ô¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¡¢¤Ä¤Þ¤êÈó¸ø³«¸°¤È¤½¤ì¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¤ß¤ò½èÍý¤·¤Þ¤¹¡£ -.TP 3 -2. -\f3¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê\fP \- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Âè»°¼Ô¤«¤é¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò 1 ¤Ä´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ¤½¤ì¤Ï¡¢¾ÚÌÀ½ñÆâ¤Î¸ø³«¸°¤¬¡¢¾ÚÌÀ½ñ¤Î¡ÖSubject¡×(½êÍ­¼Ô) ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤ËͳÍ褹¤ë¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò¡¢¥­¡¼¥¹¥È¥¢¤Î½êÍ­¼Ô¤¬¿®Íꤹ¤ë¤«¤é¤Ç¤¹¡£¾ÚÌÀ½ñ¤Îȯ¹Ô¼Ô¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ÎÆâÍÆ¤òÊݾڤ·¤Þ¤¹¡£ .RE -.TP 2 -o -\f3¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾\fP -.LP -¥­¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê (¸°¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ) ¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ -.LP -ÊÌ̾¤ò»ØÄꤹ¤ë¤Î¤Ï¡¢\-genseckey ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÈëÌ©¸°¤òÀ¸À®¤·¤¿¤ê¡¢\-genkeypair ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¸°¥Ú¥¢ (¸ø³«¸°¤ÈÈó¸ø³«¸°) ¤òÀ¸À®¤·¤¿¤ê¡¢\-importcert ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤ËÄɲä·¤¿¤ê¤¹¤ë¤Ê¤É¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲ乤ë¾ì¹ç¤Ç¤¹¡£¤³¤ì°Ê¸å¡¢\f3keytool\fP ¥³¥Þ¥ó¥É¤Ç¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ò»²¾È¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤È¤­¤Ë»ØÄꤷ¤¿ÊÌ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢\f2duke\fP ¤È¤¤¤¦ÊÌ̾¤ò»È¤Ã¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤òÀ¸À®¤·¡¢¸ø³«¸°¤ò¼«¸Ê½ð̾¾ÚÌÀ½ñ (¡Ö¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¡×¤ò»²¾È) ¤Ç¥é¥Ã¥×¤¹¤ë¤È¤·¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - keytool \-genkeypair \-alias duke \-keypass dukekeypasswd -.fl -\fP -.fi -.LP -¤³¤³¤Ç¤Ï¡¢½é´ü¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ dukekeypasswd ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ °Ê¸å¡¢ÊÌ̾ duke Ï¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤê¤Þ¤¹¡£ duke ¤ÎÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤«¤éÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - keytool \-keypasswd \-alias duke \-keypass dukekeypasswd \-new newpass -.fl -\fP -.fi -.LP -¥Ñ¥¹¥ï¡¼¥É¤¬¡¢dukekeypasswd ¤«¤é newpass ¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£ -.LP -Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£É¬Íפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.TP 2 -o -\f3¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ\fP -.LP -\f2KeyStore\fP ¥¯¥é¥¹ ( \f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸¤ÇÄ󶡤µ¤ì¤ë) ¤Ë¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤ËÂФ¹¤ë¥¢¥¯¥»¥¹¤ÈÊѹ¹¤ò¹Ô¤¦¤¿¤á¤ÎÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¸ÇÄê¼ÂÁõ¤È¤·¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¡Ö¥¿¥¤¥×¡×¤Î¥­¡¼¥¹¥È¥¢¤òÂоݤȤ¹¤ëÊ£¿ô¤Î°Û¤Ê¤ë¼ÂÁõ¤¬Â¸ºß²Äǽ¤Ç¤¹¡£ -.LP -¸½ºß¡¢\f3keytool\fP ¤È \f3jarsigner\fP ¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢\f3Policy Tool\fP ¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ \f2KeyStore\fP ¤Ï public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢JDK ¥æ¡¼¥¶¡¼¤Ï KeyStore ¤ò»È¤Ã¤¿¤Û¤«¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -¥­¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Oracle ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆÈ¼«¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥­¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥­¡¼¥¹¥È¥¢Á´ÂΤÎÀ°¹çÀ­¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ -.LP -¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢ \f2KeyStore\fP ¤¬Ä󶡤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢Service Provider Interface (SPI) ¤È¤¤¤¦·Á¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë \f2KeystoreSpi\fP Ãê¾Ý¥¯¥é¥¹ (¤³¤ì¤â \f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë) ¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤¹¤ëɬÍפΤ¢¤ë Service Provider Interface ¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢ -.na -\f2¡ÖJava(TM) °Å¹æ²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡Ö¥×¥í¥Ð¥¤¥À¡×¤ò¼ÂÁõ¤·¡¢KeystoreSpi ¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢KeyStore ¥¯¥é¥¹¤¬Ä󶡤¹¤ë getInstance ¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤Ç¤­¤Þ¤¹¡£ ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥­¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«/ÈëÌ©¸°¤È¥­¡¼¥¹¥È¥¢¼«ÂΤÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -\f3keytool\fP ¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¼ÂÁõ¤Çưºî¤·¤Þ¤¹¡£keytool ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤«¤éÅϤµ¤ì¤¿¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢¤³¤ì¤ò FileInputStream ¤ËÊÑ´¹¤·¤Æ¡¢FileInputStream ¤«¤é¥­¡¼¥¹¥È¥¢¤Î¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤È \f3policytool\fP ¥Ä¡¼¥ë¤Ï¡¢URL ¤Ç»ØÄê²Äǽ¤ÊǤ°Õ¤Î¾ì½ê¤«¤é¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -\f3keytool\fP ¤È \f3jarsigner\fP ¤Î¾ì¹ç¡¢\f2\-storetype\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\f3Policy Tool\fP¤Î¾ì¹ç¤Ï¡¢¡Ö¥­¡¼¥¹¥È¥¢¡×¥á¥Ë¥å¡¼¤Ë¤è¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢keytool¡¢jarsigner¡¢¤ª¤è¤Ó policytool ¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄꤵ¤ì¤¿ \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤ˴ð¤Å¤¤¤Æ¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Ï¡¢\f2java.security\fP ¤È¤¤¤¦Ì¾Á°¤Ç¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£\f2java.home\fP ¤Ï¡¢¼Â¹Ô´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£ -.LP -³Æ¥Ä¡¼¥ë¤Ï¡¢ \f2keystore.type\fP ¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£ -.LP -\f2KeyStore\fP ¥¯¥é¥¹¤Ç¤Ï \f2getDefaultType\fP ¤È¤¤¤¦Ì¾Á°¤Î static ¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥¢¥×¥ì¥Ã¥È¤Ï¤³¤Î¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥× ( \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -.fl -\fP -.fi -.LP -¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï JKS (Oracle ¤¬Ä󶡤¹¤ëÆÈ¼«¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - keystore.type=jks -.fl -\fP -.fi -.LP -³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - keystore.type=pkcs12 -.fl -\fP -.fi -.LP -Ãí: ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢JKS ¤È jks ¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.SH "ÀâÌÀ" +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥æ¡¼¥¶¡¼¤Ï¼«Ê¬¤Î¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥Ú¥¢¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¤ò´ÉÍý¤·¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò»ÈÍѤ·¤¿¼«¸Êǧ¾Ú(¾¤Î¥æ¡¼¥¶¡¼¤Þ¤¿¤Ï¥µ¡¼¥Ó¥¹¤ËÂФ·¤Æ¼«Ê¬¼«¿È¤òǧ¾Ú¤¹¤ë¤³¤È)¤ä¡¢¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤È¾ÚÌÀ½ñ¤Ë´Ø¤¹¤ë¥µ¡¼¥Ó¥¹¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢ÄÌ¿®¤·¤Æ¤¤¤ë¥Ô¥¢¤Î¸ø³«¸°¤ò¥­¥ã¥Ã¥·¥å¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹(¾ÚÌÀ½ñ¤Î¥Õ¥©¡¼¥à¤Ç)¡£ +.PP +¾ÚÌÀ½ñ¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£(¿Íʪ¡¢²ñ¼Ò¤Ê¤É)¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¤Ï¡¢Â¾¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°(¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó)¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£(¾ÚÌÀ½ñ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£)¥Ç¡¼¥¿¤Ë¥Ç¥¸¥¿¥ë½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤¹¤ë¤³¤È¤Ç¡¢¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤ª¤è¤Ó¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤¢¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤È¤Ï¡¢¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¤ê¡¢²þÊѤµ¤ì¤¿¤ê¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤¢¤ë¤È¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¤¬¡¢¥Ç¡¼¥¿¤òºîÀ®¤·¤Æ½ð̾¤·¤¿¤È¾Î¤¹¤ë¿Íʪ¤«¤éÅϤµ¤ì¤¿¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.PP +¤Þ¤¿¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢ÂоΰŹ沽/Éü¹æ²½(DES)¤Ç»ÈÍѤµ¤ì¤ëÈëÌ©¸°¤ª¤è¤Ó¥Ñ¥¹¥Õ¥ì¡¼¥º¤ò´ÉÍý¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "¥³¥Þ¥ó¥É¤È¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëÃí°Õ" +.PP +ÍÍ¡¹¤Ê¥³¥Þ¥ó¥É¤È¤½¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤É¤Î¥³¥Þ¥ó¥É̾¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèÆ¬¤Ë¥Þ¥¤¥Ê¥¹µ­¹æ(\-)¤¬ÉÕ¤­¤Þ¤¹¡£ .RE - -.LP -.SS -¾ÚÌÀ½ñ -.LP -\f3¾ÚÌÀ½ñ\fP (\f3¸ø³«¸°¾ÚÌÀ½ñ\fP¤È¤â¸Æ¤Ö) ¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (¡Öȯ¹Ô¼Ô¡×) ¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£ ¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (¡Ö½ð̾¼Ô¡×) ¤Î¸ø³«¸° (¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó) ¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f3¾ÚÌÀ½ñ¤ÎÍѸì\fP -.RS 3 -.TP 3 -¸ø³«¸° -.LP -¸ø³«¸°¤Ï¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¿ô¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢³ºÅö¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤È¤Î´Ö¤Ë¿®Íê¤Ç¤­¤ë´Ø·¸¤ò»ý¤ÄɬÍפ¬¤¢¤ë¤¹¤Ù¤Æ¤Î¿Í¤ËÂФ·¤Æ¸ø³«¤¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢½ð̾¤ò¸¡¾Ú¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -¥Ç¥¸¥¿¥ë½ð̾ -.LP -¥Ç¡¼¥¿¤¬¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤µ¤ì¤ë¤È¡¢¤½¤Î¥Ç¡¼¥¿¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¡Ö¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¡×¤È¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤¬¥Ç¡¼¥¿¤ÎÆâÍÆ¤Ë¤Ä¤¤¤ÆÃΤäƤ¤¤ë¤³¤È¤ò¾ÚÌÀ¤¹¤ë½ð̾¤È¤È¤â¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¥Ç¡¼¥¿¤Ë½ð̾¤òÉÕ¤±¤ë¤È¡¢¥Ç¡¼¥¿¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼ -.LP -¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤òÆÃÄꤹ¤ë¤¿¤á¤Î´ûÃΤÎÊýË¡¤Ç¤¹¡£¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¸ø³«¸°¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤Ë¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¸ø³«¸°¤Î¤Û¤«¤Ë¤â¡¢Unix UID ¤äÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡¢X.509 ¼±ÊÌ̾¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê¤â¤Î¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 3 -½ð̾ -.LP -½ð̾¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿¤ò´ð¤Ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (½ð̾¼Ô¡£ ¾ÚÌÀ½ñ¤Ë´Ø¤·¤Æ¤Ïȯ¹Ô¼Ô¤È¤â¸Æ¤Ð¤ì¤ë) ¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ·×»»¤µ¤ì¤Þ¤¹¡£ -.TP 3 -Èó¸ø³«¸° -.LP -Èó¸ø³«¸°¤ÏÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤À¤±¤¬ÃΤäƤ¤¤ë¿ô¤Î¤³¤È¤Ç¡¢¤³¤Î¿ô¤Î¤³¤È¤ò¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ÎÈó¸ø³«¸°¤È¤¤¤¤¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¡¢¤Û¤«¤ËÃΤé¤ì¤Ê¤¤¤è¤¦¤ËÈëÌ©¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬Á°Äó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Èó¸ø³«¸°¤È¸ø³«¸°¤Ï¡¢¤¹¤Ù¤Æ¤Î¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ÇÂФˤʤäÆÂ¸ºß¤·¤Æ¤¤¤Þ¤¹¡£DSA ¤Ê¤É¤Îŵ·¿Åª¤Ê¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢1 ¤Ä¤ÎÈó¸ø³«¸°¤ÏÀµ³Î¤Ë 1 ¤Ä¤Î¸ø³«¸°¤ËÂбþ¤·¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¡¢½ð̾¤ò·×»»¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -¥¨¥ó¥Æ¥£¥Æ¥£¡¼ -.LP -¥¨¥ó¥Æ¥ó¥Æ¥£¡¼¤Ï¡¢¿Í¡¢ÁÈ¿¥¡¢¥×¥í¥°¥é¥à¡¢¥³¥ó¥Ô¥å¡¼¥¿¡¢´ë¶È¡¢¶ä¹Ô¤Ê¤É¡¢°ìÄê¤ÎÅٹ礤¤Ç¿®Íê¤ÎÂоݤȤʤ뤵¤Þ¤¶¤Þ¤Ê¤â¤Î¤ò»Ø¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³Æ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ .RE -.LP -¸ø³«¸°°Å¹æ²½¤Ç¤Ï¡¢¤½¤ÎÀ­¼Á¾å¡¢¥æ¡¼¥¶¡¼¤Î¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Â絬ÌϤʥͥåȥ¥¯´Ä¶­¤Ç¤Ï¡¢¸ß¤¤¤ËÄÌ¿®¤·¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼´Ö¤Ç°ÊÁ°¤Î´Ø·¸¤¬°ú¤­Â³¤­³ÎΩ¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤¿¤ê¡¢»È¤ï¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¸ø³«¸°¤ò¼ý¤á¤¿¿®Íê¤Ç¤­¤ë¥ê¥Ý¥¸¥È¥ê¤¬Â¸ºß¤¹¤ë¤È²¾Äꤷ¤¿¤ê¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¸ø³«¸°¤ÎÇÛÉۤ˴ؤ¹¤ëÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¾ÚÌÀ½ñ¤¬¹Í°Æ¤µ¤ì¤Þ¤·¤¿¡£¸½ºß¤Ç¤Ï¡¢¡Ö¾ÚÌÀ½ñȯ¹Ô¶É (CA)¡×¤¬¿®Íê¤Ç¤­¤ëÂè»°¼Ô¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£CA ¤Ï¡¢¤Û¤«¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤¹¤ë (ȯ¹Ô¤¹¤ë) ¹Ô°Ù¤ò¡¢¿®Íꤷ¤ÆÇ¤¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (´ë¶È¤Ê¤É) ¤Ç¤¹¡£CA ¤ÏˡΧ¾å¤Î·ÀÌó¤Ë¹´Â«¤µ¤ì¤ë¤Î¤Ç¡¢Í­¸ú¤«¤Ä¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤À¤±¤òºîÀ®¤¹¤ë¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.na -\f2VeriSign\fP @ -.fi -http://www.verisign.com/¡¢ -.na -\f2Thawte\fP @ -.fi -http://www.thawte.com/¡¢ -.na -\f2Entrust\fP @ -.fi -http://www.entrust.com/ ¤ò¤Ï¤¸¤á¡¢Â¿¤¯¤Î CA ¤¬Â¸ºß¤·¤Þ¤¹¡£Microsoft ¤Îǧ¾Ú¥µ¡¼¥Ð¡¼¡¢Entrust ¤Î CA À½Éʤʤɤò½ê°ÁÈ¿¥Æâ¤ÇÍøÍѤ¹¤ì¤Ð¡¢ÆÈ¼«¤Î¾ÚÌÀ½ñȯ¹Ô¶É¤ò±¿±Ä¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ -.LP -\f3keytool\fP ¤ò»È¤¦¤È¡¢¾ÚÌÀ½ñ¤Îɽ¼¨¡¢¥¤¥ó¥Ý¡¼¥È¡¢¤ª¤è¤Ó¥¨¥¯¥¹¥Ý¡¼¥È¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -¸½ºß¡¢\f3keytool\fP ¤Ï X.509 ¾ÚÌÀ½ñ¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£ -.TP 2 -o -\f3X.509 ¾ÚÌÀ½ñ\fP -.LP -X.509 µ¬³Ê¤Ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¾ðÊó¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¾ðÊó¤ò¾ÚÌÀ½ñ¤Ë½ñ¤­¹þ¤àÊýË¡ (¥Ç¡¼¥¿·Á¼°) ¤Ë¤Ä¤¤¤Æ¤âµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ï¡¢ASN.1/DER ¤È¸Æ¤Ð¤ì¤ë 2 ¤Ä¤Î´ØÏ¢µ¬³Ê¤ò»È¤Ã¤ÆÉ乿²½¤µ¤ì¤Þ¤¹¡£\f2Abstract Syntax Notation 1\fP ¤Ï¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£\f2Definite Encoding Rules\fP ¤Ï¡¢¥Ç¡¼¥¿¤ÎÊݸ¤ª¤è¤ÓžÁ÷¤ÎÊýË¡¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -¤¹¤Ù¤Æ¤Î X.509 ¾ÚÌÀ½ñ¤Ï¡¢½ð̾¤Î¤Û¤«¤Ë¼¡¤Î¥Ç¡¼¥¿¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ -.RS 3 -.TP 3 -¥Ð¡¼¥¸¥ç¥ó -.LP -¾ÚÌÀ½ñ¤ËŬÍѤµ¤ì¤ë X.509 µ¬³Ê¤Î¥Ð¡¼¥¸¥ç¥ó¤òÆÃÄꤷ¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ë»ØÄê¤Ç¤­¤ë¾ðÊó¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Þ¤Ç¤Ë¡¢3 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢v1¡¢v2¡¢¤ª¤è¤Ó v3 ¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤È¥¨¥¯¥¹¥Ý¡¼¥È¤¬²Äǽ¤Ç¤¹¡£keytool ¤¬À¸À®¤¹¤ë¤Î¤Ï¡¢v3 ¤Î¾ÚÌÀ½ñ¤Ç¤¹¡£ -.LP -¡ÖX.509 Version 1¡×¤Ï¡¢1988 ǯ¤«¤éÍøÍѤµ¤ì¤Æ¹­¤¯ÉáµÚ¤·¤Æ¤ª¤ê¡¢¤â¤Ã¤È¤â°ìÈÌŪ¤Ç¤¹¡£ -.LP -¡ÖX.509 Version 2¡×¤Ç¤Ï¡¢Subject ¤äȯ¹Ô¼Ô¤Î̾Á°¤ò¤¢¤È¤ÇºÆÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Subject ¤Èȯ¹Ô¼Ô¤Î°ì°Õ¼±Ê̻ҤγµÇ°¤¬Æ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤Û¤È¤ó¤É¤Î¾ÚÌÀ½ñ¥×¥í¥Õ¥¡¥¤¥ëʸ½ñ¤Ç¤Ï¡¢Ì¾Á°¤òºÆ»ÈÍѤ·¤Ê¤¤¤³¤È¤È¡¢¾ÚÌÀ½ñ¤Ç°ì°Õ¤Ê¼±Ê̻Ҥò»È¤ï¤Ê¤¤¤³¤È¤¬¡¢¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Version 2 ¤Î¾ÚÌÀ½ñ¤Ï¡¢¹­¤¯¤Ï»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -¡ÖX.509 Version 3¡×¤Ï¤â¤Ã¤È¤â¿·¤·¤¤ (1996 ǯ) µ¬³Ê¤Ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î³µÇ°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ïï¤Ç¤âÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¸½ºß»È¤ï¤ì¤Æ¤¤¤ë°ìÈÌŪ¤Ê¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤È¤·¤Æ¤Ï¡¢KeyUsage (¡Ö½ð̾ÀìÍѡפʤɡ¢¸°¤Î»ÈÍѤòÆÃÄê¤ÎÌÜŪ¤ËÀ©¸Â¤¹¤ë)¡¢AlternativeNames (DNS ̾¡¢ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡¢IP ¥¢¥É¥ì¥¹¤Ê¤É¡¢¤Û¤«¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤ò¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë) ¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ï¡¢critical ¤È¤¤¤¦¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¡¢¤½¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯¤È»ÈÍѤòµÁ̳¤Å¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢critical ¤È¥Þ¡¼¥¯¤µ¤ì¡¢KeyCertSign ¤¬ÀßÄꤵ¤ì¤¿ KeyUsage ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¾ÚÌÀ½ñ¤ò SSL ÄÌ¿®Ãæ¤ËÄ󼨤¹¤ë¤È¡¢¾ÚÌÀ½ñ¤¬µñÈݤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢´ØÏ¢¤¹¤ëÈó¸ø³«¸°¤¬¾ÚÌÀ½ñ¤Î½ð̾ÀìÍѤȤ·¤Æ»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢SSL ¤Ç¤Ï»ÈÍѤǤ­¤Ê¤¤¤¿¤á¤Ç¤¹¡£ -.TP 3 -¥·¥ê¥¢¥ëÈÖ¹æ -.LP -¾ÚÌÀ½ñ¤òºîÀ®¤·¤¿¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤¬È¯¹Ô¤¹¤ë¤Û¤«¤Î¾ÚÌÀ½ñ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢¾ÚÌÀ½ñ¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤Ç»È¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬¼è¤ê¾Ã¤µ¤ì¤ë¤È¡¢¥·¥ê¥¢¥ëÈֹ椬¾ÚÌÀ½ñ¤Î¼è¤ê¾Ã¤·¥ê¥¹¥È (CRL) ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -½ð̾¥¢¥ë¥´¥ê¥º¥à¼±ÊÌ»Ò -.LP -¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë CA ¤¬»È¤Ã¤¿¥¢¥ë¥´¥ê¥º¥à¤òÆÃÄꤷ¤Þ¤¹¡£ -.TP 3 -ȯ¹Ô¼Ô̾ -.LP -¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î X.500 ¼±ÊÌ̾¤Ç¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ï¡¢Ä̾ï¤Ï CA ¤Ç¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤ò»È¤¦¤³¤È¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ò¿®Íꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¡Ö¥ë¡¼¥È¡×¤Ä¤Þ¤ê¡Ö¥È¥Ã¥×¥ì¥Ù¥ë¡×¤Î CA ¤Î¾ÚÌÀ½ñ¤Ê¤É¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ïȯ¹Ô¼Ô¤¬¼«¿È¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤¢¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -Í­¸ú´ü´Ö -.LP -³Æ¾ÚÌÀ½ñ¤Ï¡¢¸Â¤é¤ì¤¿´ü´Ö¤À¤±Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î´ü´Ö¤Ï³«»Ï¤ÎÆü»þ¤È½ªÎ»¤ÎÆü»þ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¡¢¿ôÉäÎû¤¤´ü´Ö¤«¤é 100 ǯ¤È¤¤¤¦Ä¹´ü¤Ë¤ï¤¿¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ÁªÂò¤µ¤ì¤ëÍ­¸ú´ü´Ö¤Ï¡¢¾ÚÌÀ½ñ¤Ø¤Î½ð̾¤Ë»È¤ï¤ì¤ëÈó¸ø³«¸°¤Î¶¯ÅÙ¤ä¾ÚÌÀ½ñ¤Ë»Ùʧ¤¦¶â³Û¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ç°Û¤Ê¤ê¤Þ¤¹¡£Í­¸ú´ü´Ö¤Ï¡¢»ÈÍѤ¹¤ëÈó¸ø³«¸°¤¬Â»¤Ê¤ï¤ì¤Ê¤¤¾ì¹ç¤Ë¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤¬¸ø³«¸°¤ò¿®Íê¤Ç¤­¤ë¤È´üÂÔ¤µ¤ì¤ë´ü´Ö¤Ç¤¹¡£ -.TP 3 -Subject ̾ -.LP -¾ÚÌÀ½ñ¤Ç¸ø³«¸°¤¬¼±Ê̤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î̾Á°¤Ç¤¹¡£¤³¤Î̾Á°¤Ï X.500 ɸ½à¤ò»È¤¦¤Î¤Ç¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤǰì°Õ¤Ê¤â¤Î¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î X.500 ¼±ÊÌ̾ (DN) ¤Ç¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - CN=Java Duke, OU=Java Software Division, O=Oracle Corporation, C=US -.fl -\fP -.fi -.LP -¤³¤ì¤é¤Ï¤½¤ì¤¾¤ì¼çÂΤÎÄ̾Ρ¢ÁÈ¿¥Ã±°Ì¡¢ÁÈ¿¥¡¢¹ñ¤òɽ¤·¤Þ¤¹¡£ -.TP 3 -Subject ¤Î¸ø³«¸°¾ðÊó -.LP -̾Á°¤òÉÕ¤±¤é¤ì¤¿¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸ø³«¸°¤È¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤ¹¡£¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤϡ¢¸ø³«¸°¤ËÂФ·¤Æ»È¤ï¤ì¤Æ¤¤¤ë¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ª¤è¤Ó´ØÏ¢¤¹¤ë¸°¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥¿¥ê¥Ã¥¯ÂΤˤʤäƤ¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¹àÌÜ¡¢¤Þ¤¿¤ÏÃæ¥«¥Ã¥³¤«³Ñ¥«¥Ã¥³¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¹àÌܤϡ¢¤½¤Î¤È¤ª¤ê¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE -.TP 2 -o -\f3¾ÚÌÀ½ñ¥Á¥§¡¼¥ó\fP -.LP -\f3keytool\fP ¤Ç¤Ï¡¢Èó¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¡Ö¥Á¥§¡¼¥ó¡×¤ò´Þ¤à¥­¡¼¥¹¥È¥¢¤Î¡Ö¸°¡×¥¨¥ó¥È¥ê¤òºîÀ®¤·¡¢´ÉÍý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤Ç¤Ï¡¢Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Ï¡¢¥Á¥§¡¼¥ó¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¸°¤ò½é¤á¤ÆºîÀ®¤¹¤ë¤È (\-genkeypair ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢¡Ö¼«¸Ê½ð̾¾ÚÌÀ½ñ¡×¤È¤¤¤¦ 1 ¤Ä¤ÎÍ×ÁǤÀ¤±¤ò´Þ¤à¥Á¥§¡¼¥ó¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢È¯¹Ô¼Ô (½ð̾¼Ô) ¤¬¼çÂÎ (¾ÚÌÀ½ñ¤Çǧ¾Ú¤µ¤ì¤Æ¤¤¤ë¸ø³«¸°¤Î»ý¤Á¼ç) ¤ÈƱ¤¸¤Ç¤¢¤ë¾ÚÌÀ½ñ¤Î¤³¤È¤Ç¤¹¡£ \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤òºîÀ®¤¹¤ë¤È¡¢¸ø³«¸°¤Ï¾ï¤Ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£ -.LP -¤³¤Î¤¢¤È¡¢¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤¬À¸À®¤µ¤ì¤Æ (\-certreq ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢CSR ¤¬¾ÚÌÀ½ñȯ¹Ô¶É (CA) ¤ËÁ÷¿®¤µ¤ì¤ë¤È¡¢CA ¤«¤é¤Î±þÅú¤¬¥¤¥ó¥Ý¡¼¥È¤µ¤ì (\-importcert ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢¸µ¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£¥Á¥§¡¼¥ó¤ÎºÇ¸å¤Ë¤¢¤ë¤Î¤Ï¡¢Subject ¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿ CA ¤¬È¯¹Ô¤·¤¿¾ÚÌÀ½ñ (±þÅú) ¤Ç¤¹¡£¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¡ÖCA¡×¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£ -.LP -CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ï¡¢Â¿¤¯¤Î¾ì¹ç¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ (¤Ä¤Þ¤ê CA ¤¬¼«¿È¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿¾ÚÌÀ½ñ) ¤Ç¤¢¤ê¡¢¤³¤ì¤Ï¥Á¥§¡¼¥ó¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA ¤¬¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ (CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢¸°¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ) ¤ËÊѤï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢CSR ¤ÎÁ÷¿®Àè¤Î CA ¤È¤Ï¡ÖÊ̤Ρ×CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢CSR ¤ÎÁ÷¿®Àè¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î CA ¤Î¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£ °Ê²¼Æ±Íͤˡ¢¼«¸Ê½ð̾¤µ¤ì¤¿¡Ö¥ë¡¼¥È¡×¾ÚÌÀ½ñ¤Ë㤹¤ë¤Þ¤Ç¥Á¥§¡¼¥ó¤¬Â³¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Á¥§¡¼¥óÆâ¤Î (ºÇ½é¤Î¾ÚÌÀ½ñ°Ê¸å¤Î) ³Æ¾ÚÌÀ½ñ¤Ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤¬Ç§¾Ú¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -¿¤¯¤Î CA ¤Ï¡¢¥Á¥§¡¼¥ó¤ò¥µ¥Ý¡¼¥È¤»¤º¤Ëȯ¹ÔºÑ¤ß¤Î¾ÚÌÀ½ñ¤À¤±¤òÊÖ¤·¤Þ¤¹¡£ÆÃ¤Ë¡¢Ãæ´Ö¤Î CA ¤¬Â¸ºß¤·¤Ê¤¤¥Õ¥é¥Ã¥È¤Ê³¬Áع½Â¤¤Î¾ì¹ç¤Ï¡¢¤½¤Î·¹¸þ¤¬¸²Ãø¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¾ðÊ󤫤顢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò³ÎΩ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -Ê̤αþÅú·Á¼° (PKCS#7 ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·Á¼°) ¤Ç¤â¡¢È¯¹ÔºÑ¤ß¾ÚÌÀ½ñ¤Ë²Ã¤¨¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¥µ¥Ý¡¼¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢¤É¤Á¤é¤Î±þÅú·Á¼°¤â°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -¥È¥Ã¥×¥ì¥Ù¥ë (¥ë¡¼¥È) CA ¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¹¡£¤¿¤À¤·¡¢¥ë¡¼¥È¤Î¸ø³«¸°¤ËÂФ¹¤ë¿®Íê¤Ï¡¢¥ë¡¼¥È¤Î¾ÚÌÀ½ñ¼«ÂΤ«¤éƳ¤­½Ð¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯ (¤¿¤È¤¨¤Ð¡¢VeriSign ¥ë¡¼¥È CA ¤Î¤è¤¦¤Êͭ̾¤Ê¼±ÊÌ̾¤ò»È¤Ã¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òºîÀ®¤¹¤ë¤³¤È¼«ÂΤÏï¤Ç¤â²Äǽ)¡¢¿·Ê¹¤Ê¤É¤Î¤Û¤«¤Î¾ðÊ󸻤ËͳÍ褹¤ë¤â¤Î¤Ç¤¹¡£¥ë¡¼¥È CA ¤Î¸ø³«¸°¤Ï¹­¤¯ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£¥ë¡¼¥È CA ¤Î¸ø³«¸°¤ò¾ÚÌÀ½ñ¤Ë³ÊǼ¤¹¤ëÍýͳ¤Ï¡¢¾ÚÌÀ½ñ¤È¤¤¤¦·Á¼°¤Ë¤¹¤ë¤³¤È¤Ç¿¤¯¤Î¥Ä¡¼¥ë¤«¤éÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤é¤Ë¤¹¤®¤Þ¤»¤ó¡£ ¤Ä¤Þ¤ê¡¢¾ÚÌÀ½ñ¤Ï¡¢¥ë¡¼¥È CA ¤Î¸ø³«¸°¤ò±¿¤Ö¡ÖÇÞÂΡפȤ·¤ÆÍøÍѤµ¤ì¤ë¤À¤±¤Ç¤¹¡£¥ë¡¼¥È CA ¤Î¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲ乤ë¤È¤­¤Ï¡¢¤½¤ÎÁ°¤Ë¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤· ( \f2\-printcert\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡¢É½¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¿·Ê¹¤ä¥ë¡¼¥È CA ¤Î Web ¥Ú¡¼¥¸¤Ê¤É¤«¤éÆþ¼ê¤·¤¿´ûÃΤΥե£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 2 -o -\f3cacerts ¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë\fP -.LP -\f3cacerts\fP ¤È¤¤¤¦Ì¾Á°¤Î¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£\f2java.home\fP ¤Ï¡¢¼Â¹Ô´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£ -.LP -cacerts ¥Õ¥¡¥¤¥ë¤Ï¡¢CA ¤Î¾ÚÌÀ½ñ¤ò´Þ¤à¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥ­¡¼¥¹¥È¥¢¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢¥­¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ë jks ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢\f3keytool\fP ¤ò»È¤Ã¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹½À®¤È´ÉÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ï¡¢¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤Î¥Ç¥Õ¥©¥ë¥È¥»¥Ã¥È¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤é¤Î¾ÚÌÀ½ñ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl -keytool \-list \-keystore \fP\f4java.home\fP\f3/lib/security/cacerts -.fl -\fP -.fi -.LP -cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Î½é´ü¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢changeit ¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢SDK ¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤È¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¸¢¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f3½ÅÍ×: \fP\f4cacerts\fP\f3 ¥Õ¥¡¥¤¥ë¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤\fP: \f2cacerts\fP ¥Õ¥¡¥¤¥ëÆâ¤Î CA ¤Ï¡¢½ð̾¤ª¤è¤Ó¾¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ø¤Î¾ÚÌÀ½ñȯ¹Ô¤Î¤¿¤á¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤È¤·¤Æ¿®Íꤵ¤ì¤ë¤¿¤á¡¢ \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Î´ÉÍý¤Ï¿µ½Å¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¿®Íꤹ¤ë CA ¤Î¾ÚÌÀ½ñ¤À¤±¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥æ¡¼¥¶¡¼¤Ï¡¢¼«¿È¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¡¢ \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤­¤ë¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò¸¡¾Ú¤·¡¢¿®ÍêÀ­¤Ë´Ø¤¹¤ëÆÈ¼«¤Î·èÄê¤ò¹Ô¤¤¤Þ¤¹¡£¿®Íê¤Ç¤­¤Ê¤¤ CA ¾ÚÌÀ½ñ¤ò \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤¹¤ë¤Ë¤Ï¡¢ \f2keytool\fP ¥³¥Þ¥ó¥É¤Îºï½ü¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ï JRE ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¥¢¥¯¥»¥¹¸¢¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f3¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉ乿²½µ¬³Ê\fP -.LP -¿¤¯¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½¤Ç¤Ï¤Ê¤¯¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë½ÐÎϲÄǽÉ乿²½Êý¼°¤ò»È¤Ã¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¡ÖBase 64 É乿²½¡×¤È¤â¸Æ¤Ð¤ì¤ë¤³¤Î¾ÚÌÀ½ñ·Á¼°¤Ç¤Ï¡¢ÅŻҥ᡼¥ë¤ä¤½¤Î¾¤Îµ¡¹½¤òÄ̤¸¤Æ¡¢¤Û¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¾ÚÌÀ½ñ¤òÍÆ°×¤Ë¥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ -.LP -\f2\-importcert\fP ¤È \f2\-printcert\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤Î·Á¼°¤Î¾ÚÌÀ½ñ¤È¥Ð¥¤¥Ê¥êÉ乿²½¤Î¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -\f2\-exportcert\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ð¥¤¥Ê¥êÉ乿²½¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢ \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -\f2\-list\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¾ÚÌÀ½ñ¤Î SHA1 ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ \f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£°ìÊý¡¢ \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Ç¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -½ÐÎϲÄǽÉ乿²½Êý¼°¤ÇÉ乿²½¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î¹Ô¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- -.fl -\fP -.fi -.LP -ºÇ¸å¤Ï¡¢¼¡¤Î¹Ô¤Ç½ª¤ï¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -\-\-\-\-\-END CERTIFICATE\-\-\-\-\- -.fl -\fP -.fi +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥ª¥×¥·¥ç¥ó¤ò°Ï¤àÃæ¥«¥Ã¥³¤Ï¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»ÈÍѤµ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ã楫¥Ã¥³¤Ï¡¢\fI\-v\fR¡¢\fI\-rfc\fR¤ª¤è¤Ó\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò°Ï¤à¤¿¤á¤Ë¤â»ÈÍѤµ¤ì¤Þ¤¹¤¬¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç°Ê³°¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϤ¢¤ê¤Þ¤»¤ó¡£ .RE - -.LP -.SS -X.500 ¼±ÊÌ̾ -.LP -.LP -X.500 ¼±ÊÌ̾¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢X.509 ¾ÚÌÀ½ñ¤Î \f2subject\fP ¥Õ¥£¡¼¥ë¥É¤È \f2issuer\fP (½ð̾¼Ô) ¥Õ¥£¡¼¥ë¥É¤Ç»ØÄꤵ¤ì¤ë̾Á°¤Ï¡¢X.500 ¼±ÊÌ̾¤Ç¤¹¡£\f3keytool\fP ¤Ï¡¢¼¡¤Î¥µ¥Ö¥Ñ¡¼¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f2commonName\fP \- ¿Í¤ÎÄ̾Ρ£ ¡ÖSusan Jones¡×¤Ê¤É -.TP 2 -o -\f2organizationUnit\fP \- ¾®¤µ¤ÊÁÈ¿¥ (Éô¡¢²Ý¤Ê¤É) ¤Î̾¾Î¡£ ¡Ö»ÅÆþÉô¡×¤Ê¤É -.TP 2 -o -\f2organizationName\fP \- Â礭¤ÊÁÈ¿¥¤Î̾¾Î¡£ ¡ÖABCSystems, Inc.¡×¤Ê¤É -.TP 2 -o -\f2localityName\fP \- Ãϰè (ÅÔ»Ô) ̾¡£ ¡ÖPalo Alto¡×¤Ê¤É -.TP 2 -o -\f2stateName\fP \- ½£Ì¾¤Þ¤¿¤ÏÃÏÊý̾¡£ ¡ÖCalifornia¡×¤Ê¤É -.TP 2 -o -\f2country\fP \- 2 ʸ»ú¤Î¹ñÈֹ档 ¡ÖCH¡×¤Ê¤É +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥ª¥×¥·¥ç¥ó¤ò°Ï¤à³Ñ¥«¥Ã¥³¤Ï¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢ÃÍ¤ÎÆþÎϤòµá¤á¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\fI\-keypass\fR¥ª¥×¥·¥ç¥ó¤Î¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤¬¤Þ¤º¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍѤ·¤ÆÈó¸ø³«/ÈëÌ©¸°¤ÎÉü¸µ¤ò»î¤ß¤Þ¤¹¡£¤³¤Î»î¤ß¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ë¤è¤ê¡¢Èó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ .RE - -.LP -.LP -\-genkeypair ¥³¥Þ¥ó¥É¤Î \f2\-dname\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤȤ·¤Æ¼±ÊÌ̾ʸ»úÎó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢ ¼¡¤Î·Á¼°¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -CN=\fP\f4cName\fP\f3, OU=\fP\f4orgUnit\fP\f3, O=\fP\f4org\fP\f3, L=\fP\f4city\fP\f3, S=\fP\f4state\fP\f3, C=\fP\f4countryCode\fP\f3 -.fl -\fP -.fi - -.LP -.LP -¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤϡ¢¼ÂºÝ¤Ë»ØÄꤹ¤ëÃͤòɽ¤·¤Þ¤¹¡£ û½Ì·Á¤Î¥­¡¼¥ï¡¼¥É¤Î°ÕÌ£¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl - CN=commonName -.fl - OU=organizationUnit -.fl - O=organizationName -.fl - L=localityName -.fl - S=stateName -.fl - C=country -.fl -\fP -.fi - -.LP -.LP -¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼±ÊÌ̾ʸ»úÎó¤ÎÎã¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, S=California, C=US -.fl -\fP -.fi - -.LP -.LP -¼¡¤Ï¡¢¤³¤Îʸ»úÎó¤ò»È¤Ã¤¿¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -keytool \-genkeypair \-dname "CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, -.fl -S=California, C=US" \-alias mark -.fl -\fP -.fi - -.LP -.LP -¥­¡¼¥ï¡¼¥É¤Îû½Ì·Á¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢CN¡¢cn¡¢¤ª¤è¤Ó Cn ¤Ï¡¢¤É¤ì¤âƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -°ìÊý¡¢¥­¡¼¥ï¡¼¥É¤Î»ØÄê½ç½ø¤Ë¤Ï°ÕÌ£¤¬¤¢¤ê¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¾å¤Ë¼¨¤·¤¿½ç½ø¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¤¹¤Ù¤Æ»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë°ìÉô¤Î¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤À¤±¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -CN=Steve Meier, OU=Java, O=Oracle, C=US -.fl -\fP -.fi - -.LP -.LP -¼±ÊÌ̾ʸ»úÎó¤ÎÃͤ˥³¥ó¥Þ¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Çʸ»úÎó¤ò»ØÄꤹ¤ë¤È¤­¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Þ¤òʸ»ú \\ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - cn=Peter Schuster, ou=Java\\, Product Development, o=Oracle, c=US -.fl -\fP -.fi - -.LP -.LP -¼±ÊÌ̾ʸ»úÎó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¼±ÊÌ̾¤òɬÍפȤ¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥³¥ó¥Þ¤òʸ»ú \\ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.LP -.SS -¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à -.LP -.LP -½ÅÍ×: ¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ë¡¢¾ÚÌÀ½ñ¤ÎÆâÍÆ¤ò¿µ½Å¤ËÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¤Þ¤º¡¢¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤· (\-printcert ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \-noprompt ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \-importcert ¥³¥Þ¥ó¥É¤ò»ÈÍÑ)¡¢ ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¡¢ ɽ¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥æ¡¼¥¶¡¼¤«¤é¾ÚÌÀ½ñ¤¬Á÷¤é¤ì¤Æ¤­¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò /tmp/cert ¤È¤¤¤¦Ì¾Á°¤Ç¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¤³¤Î¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢ \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-printcert \-file /tmp/cert -.fl - Owner: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll -.fl - Issuer: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll -.fl - Serial Number: 59092b34 -.fl - Valid from: Thu Sep 25 18:01:13 PDT 1997 until: Wed Dec 24 17:01:13 PST 1997 -.fl - Certificate Fingerprints: -.fl - MD5: 11:81:AD:92:C8:E5:0E:A2:01:2E:D4:7A:D7:5F:07:6F -.fl - SHA1: 20:B6:17:FA:EF:E5:55:8A:D0:71:1F:E8:D6:9D:C0:37:13:0E:5E:FE -.fl - SHA256: 90:7B:70:0A:EA:DC:16:79:92:99:41:FF:8A:FE:EB:90: -.fl - 17:75:E0:90:B2:24:4D:3A:2A:16:A6:E4:11:0F:67:A4 -.fl -\fP -.fi - -.LP -.LP -¼¡¤Ë¡¢¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¤Û¤«¤Î²¿¼Ô¤« (¹¶·â¼Ô¤Ê¤É) ¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂØ¤¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î (¹¶·âŪ°Õ¿Þ¤ò»ý¤Ä¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤À JAR ¥Õ¥¡¥¤¥ë¤Ê¤É) ¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -Ãí: ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ëɬ¤º \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥­¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë \f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¾ÚÌÀ½ñ¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¡¢³Îǧ¤òµá¤á¤ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¤³¤Î»þÅÀ¤ÇÃæ»ß¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢³Îǧ¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¡¢\-importcert ¥³¥Þ¥ó¥É¤ò \-noprompt ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë¼Â¹Ô¤·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£ ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¡¢ \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£ -.LP -.SS -¥Ñ¥¹¥ï¡¼¥É¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à -.LP -.LP -¥­¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤Û¤È¤ó¤É¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢°ìÉô¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Èó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -¥Ñ¥¹¥ï¡¼¥É¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄê¤Ç¤­¤Þ¤¹ (¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡£¤¿¤À¤·¡¢¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.LP -.LP -ɬÍפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -.SS -¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à -.LP -.LP -¥¤¥ó¥¿¡¼¥Í¥Ã¥Èɸ½à¤Î -.na -\f2RFC 5280\fP @ -.fi -http://tools.ietf.org/rfc/rfc5280.txt ¤Ç¤Ï¡¢X.509 ¾ÚÌÀ½ñ¤¬½àµò¤¹¤ë¥×¥í¥Õ¥¡¥¤¥ë¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥Õ¥£¡¼¥ë¥É¤ä¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÇÍ­¸ú¤ÊÃͤäÃͤÎÁȤ߹ç¤ï¤»¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢¤³¤ì¤é¤Î¤¹¤Ù¤Æ¤Îµ¬Â§¤¬Å¬ÍѤµ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢É¸½à¤Ë½àµò¤·¤Ê¤¤¾ÚÌÀ½ñ¤¬À¸À®¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¡¢¤½¤Î¤è¤¦¤Ê¾ÚÌÀ½ñ¤Ï JRE ¤ä¤Û¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇµñÈݤµ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢ \f2\-dname\fP ¤ä \f2\-ext\fP ¤Ê¤É¤ÇŬÀµ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jar(1) ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È -.TP 2 -o -jarsigner(1) ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È -.TP 2 -o -.na -\f4keytool\fP\f2 ¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢\fP @ -.fi -http://download.oracle.com/javase/tutorial/security/index.html -.na -\f2¡ÖJava Tutorial¡×\fP\f4¤Î\fP @ -.fi -http://download.oracle.com/javase/tutorial/¡ÖSecurity¡×\f3¤ò»²¾È\fP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ(¥ª¥×¥·¥ç¥ó¤ÎÃÍ)¤Ï¡¢»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-printcert\fR¥³¥Þ¥ó¥É¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +\fIkeytool \-printcert {\-file cert_file} {\-v}\fR +.sp +\fI\-printcert\fR¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢\fIcert_file\fR¤ò¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë̾¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£Îã: +\fIkeytool \-printcert \-file VScert\&.cer\fR .RE - -.LP -.SH "Êѹ¹ÅÀ" -.LP -.LP -Java SE 6 ¤Ç keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£ -.LP -.LP -\f3keytool\fP ¤Ï¡¢¥æ¡¼¥¶¡¼¤¬¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ëºÝ¤Ë¤½¤ÎÆþÎÏÆâÍÆ¤òɽ¼¨¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥ÉÆþÎÏ»þ¤Ë¤½¤ÎÆþÎÏÆâÍÆ¤ò³Îǧ¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¤¿¤á¡¢½é´ü¥­¡¼¥¹¥È¥¢¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤¿¤ê¸°¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê¤äÊѹ¹¤ò¹Ô¤¦¤¿¤Ó¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎºÆÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -.LP -Êѹ¹¤µ¤ì¤¿¥³¥Þ¥ó¥É¤ÎÃæ¤Ë¤Ï¡¢Ì¾Á°¤¬Êѹ¹¤µ¤ì¤¿¤À¤±¤Î¤â¤Î¤â¤¢¤ì¤Ð¡¢Çѻߤµ¤ì¤Æ¤³¤Î¥É¥­¥å¥á¥ó¥È¤Ëµ­ºÜ¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£°ÊÁ°¤Î¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É (̾Á°¤¬Êѹ¹¤µ¤ì¤¿¤â¤Î¤ÈÇѻߤµ¤ì¤¿¤â¤Î¤ÎξÊý) ¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë²Ã¤¨¤é¤ì¤¿¤¹¤Ù¤Æ¤ÎÊѹ¹ÅÀ¤Î³µÍפò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.LP -̾Á°¤¬Êѹ¹¤µ¤ì¤¿¥³¥Þ¥ó¥É: -.LP -.RS 3 -.TP 2 -o -\f2\-export\fP ¤Î̾Á°¤¬ \f2\-exportcert ¤ËÊѹ¹\fP -.TP 2 -o -\f2\-genkey\fP ¤Î̾Á°¤¬ \f2\-genkeypair ¤ËÊѹ¹\fP -.TP 2 -o -\f2\-import\fP ¤Î̾Á°¤¬ \f2\-importcert ¤ËÊѹ¹\fP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥ª¥×¥·¥ç¥ó¤ÎÃͤ˶õÇò(¥¹¥Ú¡¼¥¹)¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Ãͤò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.LP -Çѻߤµ¤ì¤Æ¥É¥­¥å¥á¥ó¥È¤Ëµ­ºÜ¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¥³¥Þ¥ó¥É: -.LP -.RS 3 -.TP 2 -o -.na -\f2\-keyclone\fP @ -.fi -http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html#keycloneCmd -.TP 2 -o -.na -\f2\-identitydb\fP @ -.fi -http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html#identitydbCmd -.TP 2 -o -.na -\f2\-selfcert\fP @ -.fi -http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html#selfcertCmd +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-help\fR¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIkeytool \-help\fR¤ÈƱ¤¸¤Ç¤¹¡£ .RE - -.LP +.SH "¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ" +.PP +¼¡¤ÎÎã¤Ç¡¢ÍÍ¡¹¤Ê¥ª¥×¥·¥ç¥óÃͤΥǥե©¥ë¥ÈÃͤò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-alias "mykey" +\-keyalg + "DSA" (when using \-genkeypair) + "DES" (when using \-genseckey) + +\-keysize + 2048 (when using \-genkeypair and \-keyalg is "RSA") + 1024 (when using \-genkeypair and \-keyalg is "DSA") + 256 (when using \-genkeypair and \-keyalg is "EC") + 56 (when using \-genseckey and \-keyalg is "DES") + 168 (when using \-genseckey and \-keyalg is "DESede") + +\-validity 90 + +\-keystore <the file named \&.keystore in the user\*(Aqs home directory> + +\-storetype <the value of the "keystore\&.type" property in the + security properties file, which is returned by the static + getDefaultType method in java\&.security\&.KeyStore> + +\-file + stdin (if reading) + stdout (if writing) + +\-protected false +.fi +.if n \{\ +.RE +.\} +.PP +¸ø³«/ÈëÌ©¸°¥Ú¥¢¤ÎÀ¸À®¤Ë¤ª¤¤¤Æ¡¢½ð̾¥¢¥ë¥´¥ê¥º¥à(\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó)¤Ï¡¢´ð¤Ë¤Ê¤ëÈëÌ©¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´ð¤Ë¤Ê¤ëÈëÌ©¸°¤¬DSA¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏSHA1withDSA¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´ð¤Ë¤Ê¤ëÈëÌ©¸°¤¬RSA¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏSHA256withRSA¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´ð¤Ë¤Ê¤ëÈëÌ©¸°¤¬EC¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏSHA256withECDSA¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\fI\-keyalg\fR¤ª¤è¤Ó\fI\-sigalg\fR°ú¿ô¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢ +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html#AppA¤Î¡ÖJava Cryptography Architecture (JCA) Reference Guide¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "°ìÈÌ¥ª¥×¥·¥ç¥ó" +.PP +\fI\-v\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-help\fR¥³¥Þ¥ó¥É¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ­¤Þ¤¹¡£\fI\-v\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¾éĹ¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¡¢¾ÜºÙ¤Ê¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ +.PP +Ǥ°Õ¤Î¥³¥Þ¥ó¥É¤Ç»ØÄê¤Ç¤­¤ë\fI\-Jjavaoption\fR°ú¿ô¤â¤¢¤ê¤Þ¤¹¡£\fI\-Jjavaoption\fR¤ò»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿\fIjavaoption\fRʸ»úÎó¤¬Java¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤµ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤­¤ë¥¤¥ó¥¿¥×¥ê¥¿¡¦¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjava \-h\fR¤Þ¤¿¤Ï\fIjava \-X\fR¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +\-storetype \fIstoretype\fR +.RS 4 +¤³¤Î½¤¾þ»Ò¤Ï¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-keystore \fIkeystore\fR +.RS 4 +¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +ÆÃÄê¤Î\fIkeytool\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢JKS +\fIstoretype\fR¤¬»ÈÍѤµ¤ì¡¢¤«¤Ä¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¿·¤·¤¤¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIkeytool \-genkeypair\fR¤Î¸Æ½Ð¤·»þ¤Ë\fI\-keystore\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fI\&.keystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤¬¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤½¤³¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£Æ±Íͤˡ¢\fI\-keystore ks_file\fR¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤â¤½¤Îks_file¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£JKS +\fIstoretype\fR¤Î¾ÜºÙ¤Ï¡¢\fI¤Î\fRKeyStore¤Î¼ÂÁõ¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ë´Ø¤¹¤ë¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-keystore\fR¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¡¢\fIKeyStore\&.load\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£URL¤È¤·¤Æ\fINONE\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢null¤Î¥¹¥È¥ê¡¼¥à¤¬\fIKeyStore\&.load\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£\fINONE\fR¤Ï¡¢KeyStore¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢¥Ï¡¼¥É¥¦¥§¥¢¡¦¥È¡¼¥¯¥ó¡¦¥Ç¥Ð¥¤¥¹¾å¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ê¤É¤Ç¤¹¡£ +.RE +.PP +\-storepass[:\fIenv\fR| :\fIfile\fR] argument +.RS 4 +¥­¡¼¥¹¥È¥¢¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +½¤¾þ»Ò\fIenv\fR¤Þ¤¿¤Ï\fIfile\fR¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃͤÏ\fIargument\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÃͤϡ¢6ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIenv\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIfile\fR: argument¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +\fBÃí°Õ:\fR +\fI\-keypass\fR¡¢\fI\-srckeypass\fR¡¢\-\fIdestkeypass\fR¡¢\fI\-srcstorepass\fR¡¢\fI\-deststorepass\fR¤Ê¤É¤Î¥Ñ¥¹¥ï¡¼¥É¤òɬÍפȤ¹¤ë¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¡¢\fIenv\fR¤ª¤è¤Ó\fIfile\fR½¤¾þ»Ò¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¡¦¥ª¥×¥·¥ç¥ó¤È½¤¾þ»Ò¤Ï¡¢É¬¤º¥³¥í¥ó(:)¤Ç¶èÀڤäƤ¯¤À¤µ¤¤¡£ +.sp +¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¼ï¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-storepass\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤«¤é¾ðÊó¤ò¼èÆÀ¤¹¤ë¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¾Êά²Äǽ¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¼èÆÀ¤·¤¿¾ðÊó¤ÎÀ°¹çÀ­¤ò¸¡¾Ú¤Ç¤­¤º¡¢·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-providerName \fIprovider_name\fR +.RS 4 +¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë´Þ¤Þ¤ì¤ë°Å¹æ²½¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À̾¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-providerClass \fIprovider_class_name\fR +.RS 4 +°Å¹æ²½¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¤¬¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ï¡¢¤½¤Î¥Þ¥¹¥¿¡¼¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-providerArg \fIprovider_arg\fR +.RS 4 +\fI\-providerClass\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤµ¤ì¡¢\fIprovider_class_name\fR¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¥ª¥×¥·¥ç¥ó¤Îʸ»úÎóÆþÎϰú¿ô¤òɽ¤·¤Þ¤¹¡£ +.RE +.PP +\-protected +.RS 4 +\fItrue\fR¤Þ¤¿¤Ï\fIfalse\fR¤Î¤¤¤º¤ì¤«¡£¥Ñ¥¹¥ï¡¼¥É¤òÀìÍÑPIN¥ê¡¼¥À¡¼¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹·Ðͳ¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤ÎÃͤò\fItrue\fR¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI\-importkeystore\fR¥³¥Þ¥ó¥É¤Ë¤Ï2¤Ä¤Î¥­¡¼¥¹¥È¥¢¤¬´ØÏ¢¤·¤Æ¤¤¤ë¤¿¤á¡¢¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢¤È°¸À襭¡¼¥¹¥È¥¢¤Ë¤½¤ì¤¾¤ì¼¡¤Î2¤Ä¤Î¥ª¥×¥·¥ç¥ó¡¢\fI\-srcprotected\fR¤È\-\fIdestprotected\fR¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-ext \fI{name{:critical} {=value}}\fR +.RS 4 +X\&.509¾ÚÌÀ½ñ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò\fI\-genkeypair\fR¤ª¤è¤Ó\fI\-gencert\fR¤Ç»ÈÍѤ·¤Æ¡¢À¸À®¤µ¤ì¤ë¾ÚÌÀ½ñ¤Þ¤¿¤Ï\fI\-certreq\fR¤Ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤òËä¤á¹þ¤ß¡¢¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤Ç¥ê¥¯¥¨¥¹¥È¤µ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÊ£¿ô²ó»ØÄê¤Ç¤­¤Þ¤¹¡£\fIname\fR°ú¿ô¤Ë¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó̾(̾Á°ÉÕ¤­¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò»²¾È)¤Þ¤¿¤ÏǤ°Õ¤ÎOIDÈÖ¹æ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIvalue\fR°ú¿ô¤Ï¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î°ú¿ô¤ò»Ø¤·¤Þ¤¹¡£\fIvalue\fR¤ò¾Êά¤·¤¿¾ì¹ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤޤ¿¤Ï¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬°ú¿ô¤òɬÍפȤ·¤Ê¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡£\fI:critical\fR½¤¾þ»Ò¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î\fIisCritical\fR°À­¤Ï\fItrue\fR¤Ç¡¢»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï\fIfalse\fR¤Ç¤¹¡£\fI:critical\fR¤Î¤«¤ï¤ê¤Ë\fI:c\fR¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.SH "̾Á°ÉÕ¤­¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó" +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î̾Á°¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£Ì¾Á°¤ÎÂç/¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£ +.PP +BC¤Þ¤¿¤ÏBasicContraints +.RS 4 +\fBÃÍ\fR: ´°Á´¤Ê·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹: +\fIca:{true|false}[,pathlen:<len>]\fR¤Þ¤¿¤Ï\fI<len>\fR(¤³¤ì¤Ï¡¢\fIca:true,pathlen:<len>\fR¤Îû½Ì·Á¤Ç¤¹)¡£<\fIlen\fR>¤ò¾Êά¤¹¤ë¤È¡¢\fIca:true\fR¤Î°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +KU¤Þ¤¿¤ÏKeyUsage +.RS 4 +\fBÃÍ\fR: +\fIusage\fR(\fIusage\fR)*¡¢\fIusage\fR¤Ë¤Ï\fIdigitalSignature\fR¡¢\fInonRepudiation\fR +(contentCommitment)¡¢\fIkeyEncipherment\fR¡¢\fIdataEncipherment\fR¡¢\fIkeyAgreement\fR¡¢\fIkeyCertSign\fR¡¢\fIcRLSign\fR¡¢\fIencipherOnly\fR¡¢\fIdecipherOnly\fR¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIusage\fR°ú¿ô¤Ï¡¢ÉÔÌÀ³Î¤Ë¤Ê¤é¤Ê¤¤¤«¤®¤ê¡¢ºÇ½é¤Î¿ôʸ»ú(\fIdigitalSignature\fR¤Î¾ì¹ç¤Ï\fIdig\fR)¤Þ¤¿¤Ï¥­¥ã¥á¥ë¥±¡¼¥¹¡¦¥¹¥¿¥¤¥ë(\fIdigitalSignature\fR¤Î¾ì¹ç¤Ï\fIdS\fR¡¢\fIcRLSign\fR¤Î¾ì¹ç¤Ï\fIcRLS\fR)¤Ç¾Êάɽµ­¤Ç¤­¤Þ¤¹¡£\fIusage\fRÃͤϡ¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£ +.RE +.PP +EKU¤Þ¤¿¤ÏExtendedKeyUsage +.RS 4 +\fBÃÍ\fR: +\fIusage\fR(\fIusage\fR)*¡¢\fIusage\fR¤Ë¤Ï\fIanyExtendedKeyUsage\fR¡¢\fIserverAuth\fR¡¢\fIclientAuth\fR¡¢\fIcodeSigning\fR¡¢\fIemailProtection\fR¡¢\fItimeStamping\fR¡¢\fIOCSPSigning\fR¤Þ¤¿¤ÏǤ°Õ¤Î\fIOIDʸ»úÎó\fR¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIusage\fR°ú¿ô¤Ï¡¢ÉÔÌÀ³Î¤Ë¤Ê¤é¤Ê¤¤¤«¤®¤ê¡¢ºÇ½é¤Î¿ôʸ»ú¤Þ¤¿¤Ï¥­¥ã¥á¥ë¥±¡¼¥¹¡¦¥¹¥¿¥¤¥ë¤Ç¾Êάɽµ­¤Ç¤­¤Þ¤¹¡£\fIusage\fRÃͤϡ¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£ +.RE +.PP +SAN¤Þ¤¿¤ÏSubjectAlternativeName +.RS 4 +\fBÃÍ\fR: +\fItype\fR:\fIvalue\fR +(t\fIype:value\fR)*¡¢\fItype\fR¤Ë¤Ï\fIEMAIL\fR¡¢\fIURI\fR¡¢\fIDNS\fR¡¢\fIIP\fR¤Þ¤¿¤Ï\fIOID\fR¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIvalue\fR°ú¿ô¤Ï¡¢\fItype\fR¤Îʸ»úÎó·Á¼°¤ÎÃͤǤ¹¡£ +.RE +.PP +IAN¤Þ¤¿¤ÏIssuerAlternativeName +.RS 4 +\fBÃÍ\fR: +\fISubjectAlternativeName\fR¤ÈƱ¤¸¤Ç¤¹¡£ +.RE +.PP +SIA¤Þ¤¿¤ÏSubjectInfoAccess +.RS 4 +\fBÃÍ\fR: +\fImethod\fR:\fIlocation\-type\fR:\fIlocation\-value\fR +(\fImethod:location\-type\fR:\fIlocation\-value\fR)*¡¢\fImethod\fR¤Ë¤Ï\fItimeStamping\fR¡¢\fIcaRepository\fR¤Þ¤¿¤ÏǤ°Õ¤ÎOID¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIlocation\-type\fR¤ª¤è¤Ó\fIlocation\-value\fR°ú¿ô¤Ë¤Ï¡¢\fISubjectAlternativeName\fR¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëǤ°Õ¤Î\fItype\fR:\fIvalue\fR¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +AIA¤Þ¤¿¤ÏAuthorityInfoAccess +.RS 4 +\fBÃÍ\fR: +\fISubjectInfoAccess\fR¤ÈƱ¤¸¤Ç¤¹¡£\fImethod\fR°ú¿ô¤Ë¤Ï¡¢\fIocsp\fR¡¢\fIcaIssuers\fR¤Þ¤¿¤ÏǤ°Õ¤ÎOID¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\fIname\fR¤¬OID¤Î¾ì¹ç¡¢OCTET STRING¥¿¥¤¥×¤ÈŤµ¤Î¥Ð¥¤¥È¤ò½ü³°¤·¤¿¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÃͤÏ\fIextnValue\fR¤Î16¿Ê¥À¥ó¥×¤ÎDER¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤¹¡£HEXʸ»úÎó¤Ç¤Ï¡¢É¸½à¤Î16¿Ê¿ô(0\-9¡¢a\-f¡¢A\-F)°Ê³°¤Îʸ»ú¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢01:02:03:04¤È01020304¤ÎξÊý¤È¤âƱ°ì¤ÎÃͤȤ·¤Æ¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤¹¡£Ãͤ¬¤Ê¤¤¾ì¹ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÎÃÍ¥Õ¥£¡¼¥ë¥É¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +\fI\-gencert\fR¤Ç¤Î¤ß»ÈÍѤ¹¤ë\fIhonored\fR¤È¤¤¤¦ÆÃÊ̤Ê̾Á°¤Ï¡¢¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤Ë´Þ¤Þ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤òÍ¥À褹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î̾Á°¤ÎÃͤϡ¢\fIall\fR(¥ê¥¯¥¨¥¹¥È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬Í¥À褵¤ì¤ë)¡¢\fIname{:[critical|non\-critical]}\fR(̾Á°ÉÕ¤­¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬Í¥À褵¤ì¤ë¤¬¡¢Ê̤Î\fIisCritical\fR°À­¤ò»ÈÍѤ¹¤ë)¡¢¤ª¤è¤Ó\fI\-name\fR(\fIall\fR¤È¤È¤â¤Ë»ÈÍѤ·¡¢Îã³°¤ò¼¨¤¹)¤Î¥«¥ó¥Þ¶èÀÚ¤ê¥ê¥¹¥È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥ê¥¯¥¨¥¹¥È¤µ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÏÍ¥À褵¤ì¤Þ¤»¤ó¡£ +.PP +\fI\-ext honored\fR¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¡¢Ê̤Î̾Á°¤Î¡¢¤Þ¤¿¤ÏOID +\fI\-ext\fR¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¡¢¤¹¤Ç¤ËÍ¥À褵¤ì¤Æ¤¤¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ËÄɲ䵤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î̾Á°(¤Þ¤¿¤ÏOID)¤òÍ¥À褵¤ì¤ëÃͤǤâ»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤ÎÃͤȽÅÍ×À­¤¬¥ê¥¯¥¨¥¹¥È¤Ë´Þ¤Þ¤ì¤ë¤â¤Î¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.PP +\fIsubjectKeyIdentifier\fR¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ï¾ï¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¼«¸Ê½ð̾¤Ç¤Ê¤¤¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢\fIauthorityKeyIdentifier\fR¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¥æ¡¼¥¶¡¼¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó(¤ª¤è¤Ó¾ÚÌÀ½ñ¤Î¾¤Î¥Õ¥£¡¼¥ë¥É)¤ÎÁȹ礻¤Ë¤è¤Ã¤Æ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Îɸ½à¤Ë½àµò¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ë·Ù¹ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "¥³¥Þ¥ó¥É" +.PP +\-gencert +.RS 4 +\fI{\-rfc} {\-infile infile} {\-outfile outfile} {\-alias alias} {\-sigalg sigalg} {\-dname dname} {\-startdate startdate {\-ext ext}* {\-validity valDays} [\-keypass keypass] {\-keystore keystore} [\-storepass storepass] {\-storetype storetype} {\-providername provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¡¦¥Õ¥¡¥¤¥ë(\fIkeytool\fR +\fI\-certreq\fR¥³¥Þ¥ó¥É¤ÇºîÀ®²Äǽ)¤ËÂФ¹¤ë¥ì¥¹¥Ý¥ó¥¹¤È¤·¤Æ¾ÚÌÀ½ñ¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢\fIinfile\fR¤«¤é(¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é)¥ê¥¯¥¨¥¹¥È¤òÆÉ¤ß¹þ¤ß¡¢ÊÌ̾¤ÎÈëÌ©¸°¤ò»ÈÍѤ·¤Æ¤½¤Î¥ê¥¯¥¨¥¹¥È¤Ë½ð̾¤·¤Æ¡¢X\&.509¾ÚÌÀ½ñ¤ò\fIoutfile\fR¤Ë(¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É¸½à½ÐÎϤË)½ÐÎϤ·¤Þ¤¹¡£\fI\-rfc\fR¤ò»ØÄꤷ¤¿¾ì¹ç¡¢½ÐÎÏ·Á¼°¤ÏBASE64É乿²½¤ÎPEM¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥Ð¥¤¥Ê¥êDER¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +\fIsigalg\fRÃͤˤϡ¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£\fIstartdate\fR°ú¿ô¤Ï¡¢¾ÚÌÀ½ñ¤ÎÍ­¸ú³«»ÏÆü»þ¤Ç¤¹¡£\fIvalDays\fR°ú¿ô¤Ï¡¢¾ÚÌÀ½ñ¤ÎÍ­¸úÆü¿ô¤ò¼¨¤·¤Þ¤¹¡£ +.sp +\fIdname\fR¤ò»ØÄꤹ¤ë¤È¡¢À¸À®¤µ¤ì¤ë¾ÚÌÀ½ñ¤Î¼çÂΤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤«¤é¤Î̾Á°¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fIext\fRÃͤϡ¢¾ÚÌÀ½ñ¤ËËä¤á¹þ¤Þ¤ì¤ëX\&.509¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£\fI\-ext\fR¤Î¹½Ê¸¤Ë¤Ä¤¤¤Æ¤Ï¡¢°ìÈÌ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-gencert\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢\fIe1\fR¤È¤¤¤¦¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤Ï¡¢3¤Ä¤Î¾ÚÌÀ½ñ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢\fIca\fR¡¢\fIca1\fR¡¢\fIca2\fR¤ª¤è¤Ó\fIe1\fR¤Î4¤Ä¤Î¸°¥Ú¥¢¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +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 +.fi +.if n \{\ +.RE +.\} +¼¡¤Î2¤Ä¤Î¥³¥Þ¥ó¥É¤Ï¡¢½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òºîÀ®¤·¤Þ¤¹¡£\fIca\fR¤Ï\fIca1\fR¤Ë½ð̾¤·¡¢\fIca1\fR¤Ï\fIca2\fR¤Ë½ð̾¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¼«¸Êȯ¹Ô¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-alias ca1 \-certreq | + keytool \-alias ca \-gencert \-ext san=dns:ca1 | + keytool \-alias ca1 \-importcert + +keytool \-alias ca2 \-certreq | + $KT \-alias ca1 \-gencert \-ext san=dns:ca2 | + $KT \-alias ca2 \-importcert +.fi +.if n \{\ +.RE +.\} +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¾ÚÌÀ½ñ\fIe1\fR¤òºîÀ®¤·¤Æ¥Õ¥¡¥¤¥ë\fIe1\&.cert\fR¤Ë³ÊǼ¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï\fIca2\fR¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢\fIe1\fR¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤Ï\fIca\fR¡¢\fIca1\fR¤ª¤è¤Ó\fIca2\fR¤¬´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-alias e1 \-certreq | keytool \-alias ca2 \-gencert > e1\&.cert +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-genkeypair +.RS 4 +\fI{\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-ext ext}* {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¸°¤Î¥Ú¥¢(¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ëÈëÌ©¸°)¤òÀ¸À®¤·¤Þ¤¹¡£¸ø³«¸°¤ÏX\&.509 v3¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ï¡¢Ã±°ì¤ÎÍ×ÁǤò»ý¤Ä¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤È¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÈÈëÌ©¸°¤Ï¡¢alias¤ÇÆÃÄꤵ¤ì¤ë¿·¤·¤¤¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.sp +\fIkeyalg\fRÃͤϸ°¥Ú¥¢¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\fIkeysize\fRÃͤÏÀ¸À®¤¹¤ë³Æ¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\fIsigalg\fRÃͤϡ¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï\fIkeyalg\fRÃͤȸߴ¹À­¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fIdname\fRÃͤˤϡ¢\fIalias\fRÃͤ˴ØÏ¢ÉÕ¤±¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Îissuer¥Õ¥£¡¼¥ë¥É¤Èsubject¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ»ÈÍѤ¹¤ëX\&.500¼±ÊÌ̾¤ò»ØÄꤷ¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¼±ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +\fIkeypass\fRÃͤˤϡ¢À¸À®¤µ¤ì¤ë¸°¤Î¥Ú¥¢¤Î¤¦¤Á¡¢ÈëÌ©¸°¤òÊݸ¤ë¤Î¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢\fI[Return]¥­¡¼\fR¤ò²¡¤¹¤È¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\fIkeypass\fRÃͤϡ¢6ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fIstartdate\fRÃͤˤϡ¢¾ÚÌÀ½ñ¤Îȯ¹Ô»þ¹ï¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢X\&.509¾ÚÌÀ½ñ¤Î¡ÖValidity¡×¥Õ¥£¡¼¥ë¥É¤Î¡ÖNot Before¡×ÃÍ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£ +.sp +¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¼¡¤Î2¤Ä¤Î·Á¼°¤Î¤¤¤º¤ì¤«¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£ +.sp +\fI([+\-]nnn[ymdHMS])+\fR +.sp +\fI[yyyy/mm/dd] [HH:MM:SS]\fR +.sp +ºÇ½é¤Î·Á¼°¤Ç¤Ï¡¢È¯¹Ô»þ¹ï¤Ï¡¢»ØÄꤵ¤ì¤ëÃͤÎʬ¡¢¸½ºß¤Î»þ¹ï¤«¤é°Ü¤ê¤Þ¤¹¡£»ØÄꤵ¤ì¤ëÃͤϡ¢°ìÏ¢¤Î²¼°Ì¤ÎÃͤòÏ¢·ë¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£²¼°Ì¤Î³ÆÃͤǡ¢¥×¥é¥¹µ­¹æ(¡Ö+¡×)¤Ï»þ´Ö¤¬¿Ê¤à¤³¤È¤ò¡¢¥Þ¥¤¥Ê¥¹µ­¹æ(¡Ö\-¡×)¤Ï»þ´Ö¤¬Ìá¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£°Ü¤ë»þ´Ö¤Ï\fInnn\fR¤Ç¡¢Ã±°Ì¤Ïǯ¡¢·î¡¢Æü¡¢»þ´Ö¡¢Ê¬¤Þ¤¿¤ÏÉäǤ¹(¤½¤ì¤¾¤ì¡¢1ʸ»ú¤Î\fIy\fR¡¢\fIm\fR¡¢\fId\fR¡¢\fIH\fR¡¢\fIM\fR¤Þ¤¿¤Ï\fIS\fR¡×¤Ç¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹)¡£²¼°Ì¤Î³ÆÃͤÇ\fIjava\&.util\&.GregorianCalendar\&.add(int field, int amount)\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢È¯¹Ô»þ¹ï¤ÎÄɲäÎÃͤ¬º¸¤«¤é±¦¤Ø·×»»¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢»ØÄꤹ¤ë¤È¡¢È¯¹Ô»þ¹ï¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Calendar c = new GregorianCalendar(); +c\&.add(Calendar\&.YEAR, \-1); +c\&.add(Calendar\&.MONTH, 1); +c\&.add(Calendar\&.DATE, \-1); +return c\&.getTime() +.fi +.if n \{\ +.RE +.\} +2ÈÖÌܤηÁ¼°¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Ï¡¢Ç¯/·î/Æü¤È»þ´Ö:ʬ:ÉäÎ2¤Ä¤ÎÉôʬ¤Ç¸·Ì©¤Ê³«»Ï»þ¹ï¤òÀßÄꤷ¤Þ¤¹(Ãϸµ¤Î»þ´ÖÂÓ¤ò»ÈÍÑ)¡£¥æ¡¼¥¶¡¼¤Ï¡¢1¤Ä¤ÎÉôʬ¤Î¤ß¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤â¤¦1¤Ä¤ÎÉôʬ¤Ï¸½ºß¤ÎÆüÉÕ(¤Þ¤¿¤Ï»þ¹ï)¤ÈƱ¤¸¤Ë¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢·Á¼°¤ÎÄêµÁ¤Ë¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢·å¿ô¤ò¸·Ì©¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(û¤¤¾ì¹ç¤Ï0¤ÇËä¤á¤Þ¤¹)¡£ÆüÉդȻþ¹ï¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾õÂ֤ǡ¢2¤Ä¤ÎÉôʬ¤Î´Ö¤Ë¶õÇòʸ»ú¤¬1¤Ä(1¤Ä¤Î¤ß)¤¢¤ê¤Þ¤¹¡£»þ´Ö¤Ï¾ï¤Ë24»þ´Ö·Á¼°¤Ç»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢³«»ÏÆüÉդϸ½ºß¤Î»þ¹ï¤Ë¤Ê¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Ï¡¢ºÇÂç¤Ç1²ó»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +\fIvalDays\fR¤ÎÃͤˤϡ¢¾ÚÌÀ½ñ¤ÎÍ­¸úÆü¿ô¤ò»ØÄꤷ¤Þ¤¹(\fI\-startdate\fR¤Ç»ØÄꤵ¤ì¤¿ÆüÉÕ¡¢¤Þ¤¿¤Ï\fI\-startdate\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¸½ºß¤ÎÆüÉÕ¤«¤é»Ï¤Þ¤ê¤Þ¤¹)¡£ +.sp +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï\fI\-genkey\fR¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢°ú¤­Â³¤­¸Å¤¤Ì¾Á°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£º£¸å¤Ï¡¢¿·¤·¤¤Ì¾Á°\fI\-genkeypair\fR¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.RE +.PP +\-genseckey +.RS 4 +\fI\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +ÈëÌ©¸°¤òÀ¸À®¤·¡¢¤½¤ì¤ò¿·¤·¤¤\fIKeyStore\&.SecretKeyEntry\fR(\fIalias\fR¤ÇÆÃÄꤵ¤ì¤ë)Æâ¤Ë³ÊǼ¤·¤Þ¤¹¡£ +.sp +\fIkeyalg\fRÃͤϸ°¥Ú¥¢¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\fIkeysize\fRÃͤÏÀ¸À®¤¹¤ë³Æ¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\fIkeypass\fRÃͤϡ¢ÈëÌ©¸°¤òÊݸ¤ë¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢[Return]¥­¡¼¤ò²¡¤¹¤È¡¢\fIkeystore\fR¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\fIkeypass\fRÃͤϡ¢6ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-importcert +.RS 4 +\fI\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¥Õ¥¡¥¤¥ë\fIcert_file\fR¤«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó(¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ï¡¢PKCS#7·Á¼°¤Î±þÅú¤Þ¤¿¤Ï°ìÏ¢¤ÎX\&.509¾ÚÌÀ½ñ¤ÇÄ󶡤µ¤ì¤ë¤â¤Î)¤òÆÉ¤ß¹þ¤ß¡¢\fIalias\fR¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë\fIkeystore\fR¥¨¥ó¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIstdin\fR¤«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ +.sp +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢X\&.509 v1¡¢v2¡¢v3¤Î¾ÚÌÀ½ñ¡¢¤ª¤è¤ÓPKCS#7·Á¼°¤Î¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ëPKCS#7·Á¼°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¡¢¤Þ¤¿¤Ï½ÐÎϲÄǽÉ乿²½Êý¼°(Base64É乿²½¤È¤â¸Æ¤Ð¤ì¤ë)¤Î¤É¤Á¤é¤«¤ÇÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÉ乿²½Êý¼°¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï\fI\-\fR\fI\-\-\-\-BEGIN\fR¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç³«»Ï¤µ¤ì¡¢\fI\-\-\-\-\-END\fR¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç½ªÎ»¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¾ÚÌÀ½ñ¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤ËÄɲ乤뤿¤á¡¢¤ª¤è¤Óǧ¾Ú¶É(CA)¤Ë¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤·¤¿·ë²Ì¤È¤·¤ÆCA¤«¤é¼õ¿®¤·¤¿¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤¿¤á(¥³¥Þ¥ó¥É¤Î\fI\-certreq\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È)¤È¤¤¤¦2¤Ä¤ÎÍýͳ¤Ç¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.sp +¤É¤Á¤é¤Î¥¿¥¤¥×¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¦¤«¤Ï¡¢\fI\-alias\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ÊÌ̾¤¬¥­¡¼¡¦¥¨¥ó¥È¥ê¤ò¥Ý¥¤¥ó¥È¤·¤Ê¤¤¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¥æ¡¼¥¶¡¼¤¬¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¥¨¥ó¥È¥ê¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤â¤Î¤È¤ß¤Ê¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÊÌ̾¤¬¥­¡¼¥¹¥È¥¢Æâ¤Ë¸ºß¤·¤Æ¤¤¤Ê¤¤¤³¤È¤¬É¬ÍפǤ¹¡£ÊÌ̾¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÊÌ̾¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¥¨¥é¡¼¤ò½ÐÎϤ·¡¢¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¤¤Þ¤»¤ó¡£ÊÌ̾¤¬¥­¡¼¡¦¥¨¥ó¥È¥ê¤ò¥Ý¥¤¥ó¥È¤¹¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¥æ¡¼¥¶¡¼¤¬¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤â¤Î¤È¤ß¤Ê¤·¤Þ¤¹¡£ +.RE +.PP +\-importpassword +.RS 4 +\fI{\-alias alias} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¥Ñ¥¹¥Õ¥ì¡¼¥º¤ò¥¤¥ó¥Ý¡¼¥È¤·¡¢\fIalias\fR¤Ç¼±Ê̤µ¤ì¤ë¿·µ¬\fIKeyStore\&.SecretKeyEntry\fR¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Ñ¥¹¥Õ¥ì¡¼¥º¤Ï¡¢É¸½àÆþÎÏ¥¹¥È¥ê¡¼¥à¤ò²ð¤·¤ÆÄ󶡤Ǥ­¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¥æ¡¼¥¶¡¼¤Ë¤½¤Î¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\fIkeypass\fR¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÊݸî¤Ë»ÈÍѤµ¤ì¤ë¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢[Return]¥­¡¼¤ò²¡¤¹¤È¡¢\fIkeystore\fR¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\fIkeypass\fR¤Ï¡¢6ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-importkeystore +.RS 4 +\fI{\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] } [\-destkeypass destkeypass] {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢¤«¤é¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ø¡¢Ã±°ì¤Î¥¨¥ó¥È¥ê¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.sp +\fI\-srcalias\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¤½¤ÎÊÌ̾¤ÇÆÃÄꤵ¤ì¤ëñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£\fIdestalias\fR·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fIsrcalias\fR¤¬¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\fIsrckeypass\fR¤ò»ÈÍѤ·¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\fIsrckeypass\fR¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï\fIsrcstorepass\fR¤ò»ÈÍѤ·¤Æ¤½¤Î¥¨¥ó¥È¥ê¤ò²óÉü¤·¤è¤¦¤È¤·¤Þ¤¹¡£\fIsrcstorepass\fR¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¤Î¥¨¥ó¥È¥ê¤Ï\fIdestkeypass\fR¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£\fIdestkeypass\fR¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¡¦¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¡¦¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤Û¤È¤ó¤É¤Î¥µ¡¼¥É¡¦¥Ñ¡¼¥Æ¥£¡¦¥Ä¡¼¥ë¤Ç¤Ï¡¢PKCS #12¥­¡¼¥¹¥È¥¢¤Ç\fIstorepass\fR¤È\fIkeypass\fR¤¬Æ±¤¸¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ä¡¼¥ë¤ÎPKCS #12¥­¡¼¥¹¥È¥¢¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢¾ï¤Ë\fI\-destkeypass\fR¤È\fI\-deststorepass\fR¤¬Æ±¤¸¤Ë¤Ê¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.sp +\fI\-srcalias\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£³Æ¥¿¡¼¥²¥Ã¥È¡¦¥¨¥ó¥È¥ê¤ÏÂбþ¤¹¤ë¥½¡¼¥¹¡¦¥¨¥ó¥È¥ê¤ÎÊÌ̾¤Î²¼¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\fIsrcstorepass\fR¤ò»ÈÍѤ·¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\fIsrcstorepass\fR¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢Æâ¤Î¤¢¤ë¥¨¥ó¥È¥ê¡¦¥¿¥¤¥×¤¬¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ä¡¢¤¢¤ë¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¤½¤Î¥¨¥ó¥È¥ê¤ò¥¹¥­¥Ã¥×¤·¤Æ½èÍý¤ò³¹Ô¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï½èÍý¤òÃæÃǤ¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¡¦¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¡¦¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ +.sp +¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¡¢¤½¤Î¥¨¥ó¥È¥ê¤ò¾å½ñ¤­¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï°Û¤Ê¤ëÊÌ̾¤Î²¼¤Ç¿·¤·¤¤¥¨¥ó¥È¥ê¤òºîÀ®¤¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£ +.sp + +\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¿·¤·¤¤¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤»¤ó¡£´û¸¤Î¥¨¥ó¥È¥ê¤¬¤½¤Î¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤Ç¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Ê¤¤¥¨¥ó¥È¥ê¤Ï¥¹¥­¥Ã¥×¤µ¤ì¡¢·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-printcertreq +.RS 4 +\fI{\-file file}\fR +.sp +PKCS#10·Á¼°¤Î¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤ÎÆâÍÆ¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ê¥¯¥¨¥¹¥È¤Ï¡¢\fIkeytool\fR +\fI\-certreq\fR¥³¥Þ¥ó¥É¤ÇÀ¸À®¤Ç¤­¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Õ¥¡¥¤¥ë¤«¤é¥ê¥¯¥¨¥¹¥È¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¥ê¥¯¥¨¥¹¥È¤Ïɸ½àÆþÎϤ«¤éÆÉ¤ß¼è¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-certreq +.RS 4 +\fI{\-alias alias} {\-dname dname} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +PKCS#10·Á¼°¤ò»ÈÍѤ·¤Æ¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È(CSR)¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +CSR¤Ï¡¢¾ÚÌÀ½ñȯ¹Ô¶É(CA)¤ËÁ÷¿®¤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤¹¡£CA¤Ï¡¢¾ÚÌÀ½ñÍ×µá¼Ô¤ò(Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç)ǧ¾Ú¤·¡¢¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î´û¸¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó(ºÇ½é¤Ï1¤Ä¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤ë)¤ËÃÖ¤­´¹¤¨¤Æ»ÈÍѤ·¤Þ¤¹¡£ +.sp +alias¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÈëÌ©¸°¤Ï¡¢PKCS#10¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤òºîÀ®¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ÈëÌ©¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢Àµ¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIkeypass\fR¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£\fIdname\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤¬CSR¤Ç¼çÂΤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿X\&.500¼±ÊÌ̾¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fIsigalg\fRÃͤˤϡ¢CSR¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +CSR¤Ï¡¢¥Õ¥¡¥¤¥ëcertreq_file¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIstdout\fR¤ËCSR¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +CA¤«¤é¤Î¥ì¥¹¥Ý¥ó¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢\fIimportcert\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-exportcert +.RS 4 +\fI{\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +\fIalias\fR¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤«¤éÆÉ¤ß¹þ¤ß¡¢¥Õ¥¡¥¤¥ëcert_file¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIstdout\fR¤Ë¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¾ÚÌÀ½ñ¤Ï¥Ð¥¤¥Ê¥êÉ乿²½¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Î½ÐÎϤϥ¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£ +.sp +\fIalias\fR¤¬¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\fIalias\fR¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»ý¤Ä¸°¥¨¥ó¥È¥ê¤ò»²¾È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢\fIalias\fR¤Ë¤è¤Ã¤ÆÉ½¤µ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£ +.sp +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï\fI\-export\fR¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢°ú¤­Â³¤­¸Å¤¤Ì¾Á°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£º£¸å¤Ï¡¢¿·¤·¤¤Ì¾Á°\fI\-exportcert\fR¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.RE +.PP +\-list +.RS 4 +\fI{\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption}\fR +.sp +\fIalias\fR¤ÇÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ÎÆâÍÆ¤ò\fIstdout\fR¤Ë½ÐÎϤ·¤Þ¤¹¡£\fIalias\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢Á´ÂÎ¤ÎÆâÍÆ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾ÚÌÀ½ñ¤ÎSHA1¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤·¤Þ¤¹¡£ +\fI\-v\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½êÍ­¼Ô¡¢È¯¹Ô¼Ô¡¢¥·¥ê¥¢¥ëÈֹ桢³ÈÄ¥µ¡Ç½¤Ê¤É¤ÎÉÕ²ÃŪ¤Ê¾ðÊó¤È¤È¤â¤Ë¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍÆ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +\fI\-v\fR¥ª¥×¥·¥ç¥ó¤È\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +\-printcert +.RS 4 +\fI{\-file cert_file | \-sslserver host[:port]} {\-jarfile JAR_file {\-rfc} {\-v} {\-Jjavaoption}\fR +.sp +¥Õ¥¡¥¤¥ëcert_file¡¢host:port¤Ë¤¢¤ëSSL¥µ¡¼¥Ð¡¼¡¢¤Þ¤¿¤Ï½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë\fIJAR_file\fR(\fI\-jarfile\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄê)¤«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤ß¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤·¤Þ¤¹¡£¥Ý¡¼¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à¤ÎHTTPS¥Ý¡¼¥È443¤¬ÁÛÄꤵ¤ì¤Þ¤¹¡£\fI\-sslserver\fR¤ª¤è¤Ó\-file¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤ì¤ËÈ¿¤¹¤ë¾ì¹ç¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIstdin\fR¤«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ +.sp +\fI\-rfc\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½É¸½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢PEM¥â¡¼¥É¤Ç¾ÚÌÀ½ñ¤ò½ÐÎϤ·¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï\fIstdin\fR¤«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤à¾ì¹ç¡¢¤½¤Î¾ÚÌÀ½ñ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½É¸½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¤Þ¤¿¤Ï½ÐÎϲÄǽÉ乿²½Êý¼°¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£ +.sp +SSL¥µ¡¼¥Ð¡¼¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÇØ¸å¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-J\-Dhttps\&.proxyHost=proxyhost\fR¤ª¤è¤Ó\fI\-J\-Dhttps\&.proxyPort=proxyport\fR¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Æ¡¢¥×¥í¥­¥·¡¦¥È¥ó¥Í¥ê¥ó¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide\&.html¤Î +¡ÖJava Secure Socket Extension (JSSE) Reference Guide¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fBÃí°Õ:\fR +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥­¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-printcrl +.RS 4 +\fI\-file crl_ {\-v}\fR +.sp +¥Õ¥¡¥¤¥ë\fIcrl_\fR¤«¤é¾ÚÌÀ½ñ¼º¸ú¥ê¥¹¥È(CRL)¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£CRL¤Ï¡¢È¯¹Ô¤·¤¿CA¤Ë¤è¤Ã¤Æ¼º¸ú¤µ¤ì¤¿¥Ç¥¸¥¿¥ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ç¤¹¡£CA¤Ï¡¢\fIcrl_\fR¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥­¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-storepasswd +.RS 4 +\fI[\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}\fR +.sp +¥­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Þ¤¹¡£\fInew_storepass\fR¤Ë¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£new_storepass¤Ï¡¢6ʸ»ú°Ê¾å¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-keypasswd +.RS 4 +\fI{\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}\fR +.sp +\fIalias\fR¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ëÈó¸ø³«/ÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¡¢\fIold_keypass\fR¤«¤é\fInew_keypass\fR¤ËÊѹ¹¤·¤Þ¤¹¡£new_keypass¤Ï¡¢6ʸ»ú°Ê¾å¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-keypass\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-new\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-delete +.RS 4 +\fI[\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +\fIalias\fR¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥­¡¼¥¹¥È¥¢¤«¤éºï½ü¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÇÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-changealias +.RS 4 +\fI{\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +»ØÄꤵ¤ì¤¿\fIalias\fR¤«¤é¿·¤·¤¤ÊÌ̾\fIdestalias\fR¤Ø¡¢´û¸¤Î¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ò°Üư¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¸µ¤Î¥¨¥ó¥È¥ê¤¬¥¨¥ó¥È¥ê¡¦¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\fI\-keypass\fR¥ª¥×¥·¥ç¥ó¤Ç¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¸°¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fIstorepass\fR(»ØÄꤵ¤ì¤¿¾ì¹ç)¤¬¤Þ¤º»î¤ß¤é¤ì¤Þ¤¹¡£¤½¤Î»î¤ß¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +´ðËÜŪ¤Ê¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +ÆÃÄê¤Î¥³¥Þ¥ó¥É¤Î¾ÜºÙ¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: +\fIkeytool \-command_name \-help\fR¡£\fIcommand_name\fR¤Ï¥³¥Þ¥ó¥É¤Î̾Á°¤Ç¤¹¡£ +.RE +.SH "Îã" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¸ø³«/ÈëÌ©¸°¤Î¥Ú¥¢¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥­¡¼¥¹¥È¥¢¤òºîÀ®¤¹¤ë¼ê½ç¤ò¼¨¤·¤Þ¤¹¡£ +.SS "¸°¤Î¥Ú¥¢¤ÎÀ¸À®" +.PP +¤Þ¤º¡¢¥­¡¼¥¹¥È¥¢¤òºîÀ®¤·¤Æ¸°¤Î¥Ú¥¢¤òÀ¸À®¤·¤Þ¤¹¡£Ã±°ì¹Ô¤ËÆþÎϤ¹¤ë¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-genkeypair \-dname "cn=Mark Jones, ou=Java, o=Oracle, c=US" + \-alias business \-keypass <new password for private key> + \-keystore /working/mykeystore + \-storepass <new password for keystore> \-validity 180 +.fi +.if n \{\ +.RE +.\} +.PP +¥³¥Þ¥ó¥É¤Ï¡¢working¥Ç¥£¥ì¥¯¥È¥ê¤Ë\fImykeystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤òºîÀ®¤·(¥­¡¼¥¹¥È¥¢¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤È²¾Äê)¡¢ºîÀ®¤·¤¿¥­¡¼¥¹¥È¥¢¤Ë¡¢\fI<new password for keystore>\fR¤Ç»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£À¸À®¤¹¤ë¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥Ú¥¢¤ËÂбþ¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¡Ö¼±ÊÌ̾¡×¤Ï¡¢Ä̾Τ¬Mark Jones¡¢ÁÈ¿¥Ã±°Ì¤¬Java¡¢ÁÈ¿¥¤¬Oracle¡¢2ʸ»ú¤Î¹ñÈֹ椬US¤Ç¤¹¡£¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥µ¥¤¥º¤Ï¤É¤Á¤é¤â1024¥Ó¥Ã¥È¤Ç¡¢¸°¤ÎºîÀ®¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎDSA¸°À¸À®¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ÎSHA1withDSA½ð̾¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Æ¡¢¸ø³«¸°¤È¼±ÊÌ̾¾ðÊó¤ò´Þ¤à¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü´Ö¤Ï180Æü¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ï¡¢ÊÌ̾\fIbusiness\fR¤ÇÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥êÆâ¤ÎÈëÌ©¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Þ¤¹¡£ÈëÌ©¸°¤Ë¤Ï¡¢\fI<new password for private key>\fR¤Ç»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ +.PP +¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¤ÏÂçÉý¤Ëû¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤò»ý¤Ä¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£É¬¿ÜÃÍ¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£»ÈÍѲÄǽ¤ÊÃͤϼ¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-genkeypair +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤Î¾ì¹ç¤Ï¡¢\fImykey\fR¤È¤¤¤¦ÊÌ̾¤Ç¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¿·¤·¤¯À¸À®¤µ¤ì¤¿¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó90Æü´ÖÍ­¸ú¤Ê¾ÚÌÀ½ñ¤¬¤³¤Î¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î\fI\&.keystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤ËÃÖ¤«¤ì¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Ï¡¢¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¼±ÊÌ̾¾ðÊó¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ª¤è¤ÓÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.PP +°Ê¹ß¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤â¤Î¤È¤·¤ÆÎã¤ò¼¨¤·¤Þ¤¹¡£¾ðÊó¤ÎÆþÎϤòµá¤á¤é¤ì¤¿¾ì¹ç¤Ï¡¢ºÇ½é¤Ë¼¨¤·¤¿\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤ÎÃͤòÆþÎϤ·¤¿¤â¤Î¤È¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¼±ÊÌ̾¤Ë¤Ï\fIcn=Mark Jones\fR¡¢\fIou=Java\fR¡¢\fIo=Oracle\fR¡¢\fIc=US\fR¤È»ØÄꤷ¤Þ¤¹¡£ +.SS "CA¤«¤é¤Î½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤Î¥ê¥¯¥¨¥¹¥È" +.PP +¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òºîÀ®¤¹¤ë¸°¤Î¥Ú¥¢¤ÎÀ¸À®¡£¾ÚÌÀ½ñ¤Ë¾ÚÌÀ½ñȯ¹Ô¶É(CA)¤Î½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ì¤Ð¡¢Â¾¤Î¥æ¡¼¥¶¡¼¤«¤é¾ÚÌÀ½ñ¤¬¿®Íꤵ¤ì¤ë²ÄǽÀ­¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£CA¤Î½ð̾¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È(CSR)¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-certreq \-file MarkJ\&.csr +.fi +.if n \{\ +.RE +.\} +.PP +CSR(¥Ç¥Õ¥©¥ë¥ÈÊÌ̾\fImykey\fR¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤ÎCSR)¤¬ºîÀ®¤µ¤ì¡¢MarkJ\&.csr¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤òCA (VeriSign¤Ê¤É)¤ËÄó½Ð¤·¤Þ¤¹¡£CA¤ÏÍ×µá¼Ô¤ò(Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç)ǧ¾Ú¤·¡¢Í×µá¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿½ð̾ÉÕ¤­¤Î¾ÚÌÀ½ñ¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA¤¬¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ +.SS "CA¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +ºîÀ®¤·¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¡¢¡Ö¥ë¡¼¥È¡×CA¤òµ¯ÅÀ¤È¤¹¤ë¥Á¥§¡¼¥óÆâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ +.PP +CA¤«¤é¤Î¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¥­¡¼¥¹¥È¥¢¤«¡¢\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë1¤Ä°Ê¾å¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI¤Î\fR\-importcert¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ±þÅú¤¬¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥ó¤ÎºÇ¾å°Ì¾ÚÌÀ½ñ¤¬É¬ÍפǤ¹¡£CA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ½ñ±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢È¯¹ÔCA(½ð̾¤·¤¿)¤Î¾ÚÌÀ½ñ¤¬É¬ÍפǤ¹¡£¤½¤Î¾ÚÌÀ½ñ¤¬¼«¸Ê½ð̾¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬É¬ÍפǤ¢¤ê¡¢¤³¤Î¤è¤¦¤Ë¤·¤Æ¼«¸Ê½ð̾¥ë¡¼¥È¾ÚÌÀ½ñ¤¬É¬Íפˤʤê¤Þ¤¹¡£ +.RE +.PP +\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎVeriSign¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢VeriSign¤Î¾ÚÌÀ½ñ¤ò¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢Â¾¤ÎCA¤ËÂФ·¤Æ½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤ò¥ê¥¯¥¨¥¹¥È¤·¤Æ¤¤¤Æ¡¢¤³¤ÎCA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤¬¡¢\fIcacerts\fR¤Ë¤Þ¤ÀÄɲäµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëCA¤«¤é¤Î¾ÚÌÀ½ñ¤ò¡¢¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +Ä̾CA¤«¤é¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¡¢¤Þ¤¿¤Ï¾¤ÎCA¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ç¤¹(¸å¼Ô¤Î¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¾¤ÎCA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤¬É¬Í×)¡£ABC, Inc\&.,¤¬CA¤Ç¡¢ABC¤«¤é¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¢¤ëA\fIBCCA\&.cer\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤·¤¿¤È¤·¤Þ¤¹(¤³¤Î¾ÚÌÀ½ñ¤ÏCA¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹)¡£¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤º¡¢\fIkeytool \-printcert\fR¥³¥Þ¥ó¥É¤Þ¤¿¤Ï\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤Ê¤·¤Î\fIkeytool \-importcert\fR¥³¥Þ¥ó¥É¤Ç¤½¤ì¤òɽ¼¨¤·¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬´üÂÔ¤µ¤ì¤ë¤â¤Î¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿(¤Þ¤¿¤Ï°ÂÁ´¤Ê¸ø³«¸°¤Î¥ê¥Ý¥¸¥È¥ê¤Ë¤è¤Ã¤ÆÄ󼨤µ¤ì¤ë)¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¾¤Î²¿¼Ô¤«(¹¶·â¼Ô¤Ê¤É)¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂØ¤¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤È¿®Íꤹ¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¥­¡¼¥¹¥È¥¢¤ËÄɲäǤ­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-importcert \-alias abc \-file ABCCA\&.cer +.fi +.if n \{\ +.RE +.\} +.PP +ABCCA\&.cer¥Õ¥¡¥¤¥ë¤Î¥Ç¡¼¥¿¤ò´Þ¤à¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê¤¬¥­¡¼¥¹¥È¥¢Æâ¤ËºîÀ®¤µ¤ì¡¢³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤Ë\fIabc\fR¤È¤¤¤¦ÊÌ̾¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ +.SS "CA¤«¤é¤Î¾ÚÌÀ½ñ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È¤ÎÄó½ÐÀè¤ÎCA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤¿¸å¤Ï(¤Þ¤¿¤ÏƱ¼ï¤Î¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ëcacerts¥Õ¥¡¥¤¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï)¡¢¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤ò¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Á¥§¡¼¥ó¤Ï¡¢CA¤Î±þÅú¤¬¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ë¡¢¥ê¥¯¥¨¥¹¥È¤ËÂФ¹¤ë¥ì¥¹¥Ý¥ó¥¹¤È¤·¤ÆCA¤«¤éÁ÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤¹¡£¤Þ¤¿¡¢CA¤Î±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¤³¤Î¾ÚÌÀ±þÅú¤È¡¢¥¤¥ó¥Ý¡¼¥ÈÀè¤Î¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï\fIcacerts\fR¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤ò»ÈÍѤ·¤Æ¹½ÃÛ¤·¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È¤òVeriSign¤ËÁ÷¿®¤¹¤ë¾ì¹ç¡¢Á÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î̾Á°¤¬VSMarkJ\&.cer¤À¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-importcert \-trustcacerts \-file VSMarkJ\&.cer +.fi +.if n \{\ +.RE +.\} +.SS "¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Ý¡¼¥È" +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆJava Archive (JAR)¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¾ì¹ç¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ï½ð̾¤òǧ¾Ú¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤¬½ð̾¤òǧ¾Ú¤¹¤ëÊýË¡¤Î1¤Ä¤Ë¡¢¤Þ¤º¼«Ê¬¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤ò¿®Íê¤Ç¤­¤ë¥¨¥ó¥È¥ê¤È¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¤½¤Î¤¿¤á¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤ËÄ󶡤·¤Þ¤¹¡£Îã¤È¤·¤Æ¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢MJ\&.cer¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¾ÚÌÀ½ñ¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¨¥ó¥È¥ê¤ËÊÌ̾\fImykey\fR¤¬¤¢¤ë¤È²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-exportcert \-alias mykey \-file MJ\&.cer +.fi +.if n \{\ +.RE +.\} +.PP +¾ÚÌÀ½ñ¤È½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤òÆþ¼ê¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ½ð̾¤òǧ¾Ú¤Ç¤­¤Þ¤¹¡£ +.SS "¥­¡¼¥¹¥È¥¢¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +¥³¥Þ¥ó¥É\fIimportkeystore\fR¤ò»ÈÍѤ¹¤ì¤Ð¡¢¤¢¤ë¥­¡¼¥¹¥È¥¢¤ÎÁ´ÂΤòÊ̤Υ­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¸°¤ä¾ÚÌÀ½ñ¤È¤¤¤Ã¤¿¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¡¢Ã±°ì¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢Æâ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È»þ¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢Æâ¤Î¿·¤·¤¤¥¨¥ó¥È¥ê¤Ï¤¹¤Ù¤Æ¡¢¸µ¤ÈƱ¤¸ÊÌ̾¤ª¤è¤Ó(ÈëÌ©¸°¤äÈëÌ©¸°¤Î¾ì¹ç¤Ï)ÊݸîÍѥѥ¹¥ï¡¼¥É¤ò»ý¤Á¤Þ¤¹¡£¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«/ÈëÌ©¸°¤ò¥ê¥«¥Ð¥ê¤Ç¤­¤Ê¤¤¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¥æ¡¼¥¶¡¼¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÊÌ̾¤Î½ÅÊ£¤ò¸¡½Ð¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ë¿·¤·¤¤ÊÌ̾¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢¿·¤·¤¤ÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ã±½ã¤Ë´û¸¤ÎÊÌ̾¤Î¾å½ñ¤­¤ò\fIkeytool\fR¥³¥Þ¥ó¥É¤Ëµö²Ä¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢Ä̾ï¤ÎJKS¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢key\&.jksÆâ¤Î¥¨¥ó¥È¥ê¤òPKCS#11¥¿¥¤¥×¤Î¥Ï¡¼¥É¥¦¥§¥¢¡¦¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-importkeystore + \-srckeystore key\&.jks \-destkeystore NONE + \-srcstoretype JKS \-deststoretype PKCS11 + \-srcstorepass <src keystore password> + \-deststorepass <destination keystore pwd> +.fi +.if n \{\ +.RE +.\} +.PP +¤Þ¤¿¡¢\fIimportkeystore\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢¤¢¤ë¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢Æâ¤Îñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Á°Îã¤Î¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤Æ¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ëÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI\-srcalias\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤â¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é»ØÄê¤Ç¤­¤ë¤Û¤«¡¢ÈëÌ©/ÈëÌ©¸°¤ÎÊݸîÍѥѥ¹¥ï¡¼¥É¤ä¥¿¡¼¥²¥Ã¥ÈÊݸîÍѥѥ¹¥ï¡¼¥É¤â»ØÄê¤Ç¤­¤Þ¤¹¡£¤½¤ÎÊýË¡¤ò¼¨¤¹¥³¥Þ¥ó¥É¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-importkeystore + \-srckeystore key\&.jks \-destkeystore NONE + \-srcstoretype JKS \-deststoretype PKCS11 + \-srcstorepass <src keystore password> + \-deststorepass <destination keystore pwd> + \-srcalias myprivatekey \-destalias myoldprivatekey + \-srckeypass <source entry password> + \-destkeypass <destination entry password> + \-noprompt +.fi +.if n \{\ +.RE +.\} +.SS "SSL¥µ¡¼¥Ð¡¼¤Î¾ÚÌÀ½ñ¤ÎÀ¸À®" +.PP +¼¡¤Ë¡¢3¤Ä¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¢¤Ä¤Þ¤ê¥ë¡¼¥ÈCA(\fIroot\fR)¡¢Ãæ´ÖCA(\fIca\fR)¤ª¤è¤ÓSSL¥µ¡¼¥Ð¡¼(\fIserver\fR)ÍѤθ°¥Ú¥¢¤È¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë\fIkeytool\fR¥³¥Þ¥ó¥É¤ò¼¨¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¾ÚÌÀ½ñ¤òƱ¤¸¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÎÎã¤Ç¤Ï¡¢RSA¤¬¿ä¾©¤µ¤ì¤ë¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +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 \-keystore root\&.jks \-alias root \-exportcert \-rfc > root\&.pem + +keytool \-storepass <storepass> \-keystore ca\&.jks \-certreq \-alias ca | + keytool \-storepass <storepass> \-keystore root\&.jks + \-gencert \-alias root \-ext BC=0 \-rfc > ca\&.pem +keytool \-keystore ca\&.jks \-importcert \-alias ca \-file ca\&.pem + +keytool \-storepass <storepass> \-keystore server\&.jks \-certreq \-alias server | + keytool \-storepass <storepass> \-keystore ca\&.jks \-gencert \-alias ca + \-ext ku:c=dig,kE \-rfc > server\&.pem +cat root\&.pem ca\&.pem server\&.pem | + keytool \-keystore server\&.jks \-importcert \-alias server +.fi +.if n \{\ +.RE +.\} +.SH "ÍѸì" +.PP +¥­¡¼¥¹¥È¥¢ +.RS 4 +¥­¡¼¥¹¥È¥¢¤Ï¡¢°Å¹æ²½¤Î¸°¤È¾ÚÌÀ½ñ¤ò³ÊǼ¤¹¤ë¤¿¤á¤Îµ¡Ç½¤Ç¤¹¡£ +.RE +.PP +¥­¡¼¥¹¥È¥¢¤Î¥¨¥ó¥È¥ê +.RS 4 +¥­¡¼¥¹¥È¥¢¤Ë¤Ï°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤ÇºÇ¤âŬÍÑÈϰϤι­¤¤¥¨¥ó¥È¥ê¡¦¥¿¥¤¥×¤Ï¡¢¼¡¤Î2¤Ä¤Ç¤¹¡£ +.sp +\fB¸°¤Î¥¨¥ó¥È¥ê\fR +\- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Èó¾ï¤Ë½ÅÍפʰŹ沽¤Î¸°¤Î¾ðÊó¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢µö²Ä¤·¤Æ¤¤¤Ê¤¤¥¢¥¯¥»¥¹¤òËɤ°¤¿¤á¤Ë¡¢Êݸ¤ì¤¿·Á¤Ç³ÊǼ¤µ¤ì¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤Î¼ï¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ³ÊǼ¤µ¤ì¤ë¸°¤Ï¡¢ÈëÌ©¸°¤«¡¢Âбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òȼ¤¦ÈëÌ©¸°¤Ç¤¹¡£¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤¬¤³¤ÎξÊý¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò½èÍý¤Ç¤­¤ë¤Î¤ËÂФ·¡¢\fIjarsigner\fR¥Ä¡¼¥ë¤Ï¸å¼Ô¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¡¢¤Ä¤Þ¤êÈëÌ©¸°¤È¤½¤ì¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¤ß¤ò½èÍý¤·¤Þ¤¹¡£ +.sp +\fB¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê\fR: ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Âè»°¼Ô¤«¤é¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò1¤Ä´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¤½¤ì¤Ï¡¢¾ÚÌÀ½ñÆâ¤Î¸ø³«¸°¤¬¡¢¾ÚÌÀ½ñ¤ÎSubject(½êÍ­¼Ô)¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤ËͳÍ褹¤ë¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò¡¢¥­¡¼¥¹¥È¥¢¤Î½êÍ­¼Ô¤¬¿®Íꤹ¤ë¤«¤é¤Ç¤¹¡£¾ÚÌÀ½ñ¤Îȯ¹Ô¼Ô¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ÎÆâÍÆ¤òÊݾڤ·¤Þ¤¹¡£ +.RE +.PP +¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾ +.RS 4 +¥­¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê(¸°¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¥¨¥ó¥È¥ê)¤Ï¡¢°ì°Õ¤ÎÊÌ̾¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ +.sp +ÊÌ̾¤ò»ØÄꤹ¤ë¤Î¤Ï¡¢\fI\-genseckey\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆÈëÌ©¸°¤òÀ¸À®¤·¤¿¤ê¡¢\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¸°¥Ú¥¢(¸ø³«¸°¤ÈÈëÌ©¸°)¤òÀ¸À®¤·¤¿¤ê¡¢\fI\-importcert\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤ËÄɲ乤ë¤Ê¤É¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲ乤ë¾ì¹ç¤Ç¤¹¡£¤³¤ì°Ê¸å¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¥¨¥ó¥Æ¥£¥Æ¥£¤ò»²¾È¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤È¤­¤Ë»ØÄꤷ¤¿ÊÌ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIduke\fR¤È¤¤¤¦ÊÌ̾¤ò»ÈÍѤ·¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥Ú¥¢¤òÀ¸À®¤·¡¢¸ø³«¸°¤ò¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤¹¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-genkeypair \-alias duke \-keypass dukekeypasswd +.fi +.if n \{\ +.RE +.\} +¤³¤ÎÎã¤Ç¤Ï¡¢½é´ü¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ\fIdukekeypasswd\fR¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£°Ê¸å¡¢ÊÌ̾\fIduke\fR¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÈëÌ©¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤê¤Þ¤¹¡£Duke¤ÎÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤«¤éÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-keypasswd \-alias duke \-keypass dukekeypasswd \-new newpass +.fi +.if n \{\ +.RE +.\} +¥Ñ¥¹¥ï¡¼¥É¤¬¡¢\fIdukekeypasswd\fR¤«¤é\fInewpass\fR¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£É¬Íפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ +.RS 4 +\fIjava\&.security\fR¥Ñ¥Ã¥±¡¼¥¸¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë\fIKeyStore\fR¥¯¥é¥¹¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤Ø¤Î¥¢¥¯¥»¥¹¤ª¤è¤Ó¾ðÊó¤ÎÊѹ¹¤ò¹Ô¤¦¤¿¤á¤Î¡¢ÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¸ÇÄê¼ÂÁõ¤È¤·¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤òÂоݤȤ¹¤ëÊ£¿ô¤Î°Û¤Ê¤ë¼ÂÁõ¤¬Â¸ºß²Äǽ¤Ç¤¹¡£ +.sp +¸½ºß¡¢\fIkeytool\fR¤È\fIjarsigner\fR¤Î2¤Ä¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ä¡¼¥ë¤È¡¢Policy Tool¤È¤¤¤¦Ì¾Á°¤ÎGUI¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£\fIKeyStore\fR¥¯¥é¥¹¤Ï\fIpublic\fR¤Ç¤¢¤ë¤¿¤á¡¢¥æ¡¼¥¶¡¼¤ÏKeyStore¤ò»ÈÍѤ·¤¿Â¾¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Oracle¤¬Ä󶡤¹¤ëÁȹþ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS¤È¤¤¤¦Ì¾Á°¤ÎÆÈ¼«¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×(·Á¼°)¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥­¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈëÌ©¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥­¡¼¥¹¥È¥¢Á´ÂΤÎÀ°¹çÀ­¤â(ÈëÌ©¸°¤È¤ÏÊ̤Î)¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢\fIKeyStore\fR¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹(SPI)¤Ë´ð¤Å¤¤¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë\fIKeystoreSpi\fRÃê¾Ý¥¯¥é¥¹(¤³¤ì¤â\fIjava\&.security\fR¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹)¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬¡¢¥×¥í¥Ð¥¤¥À¤¬¼ÂÁõ¤¹¤ëɬÍפΤ¢¤ëService Provider Interface¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢\fI¥×¥í¥Ð¥¤¥À\fR¤È¤Ï¡¢Java Security API¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider\&.html¤Ë¤¢¤ë +Java°Å¹æ²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥×¥í¥Ð¥¤¥À¤ò¼ÂÁõ¤·¡¢\fIKeystoreSpi\fR¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢\fIKeyStore\fR¥¯¥é¥¹¤¬Ä󶡤¹¤ë\fIgetInstance\fR¥Õ¥¡¥¯¥È¥ê¡¦¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢ÍÍ¡¹¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤Ç¤­¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥­¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«/ÈëÌ©¸°¤È¥­¡¼¥¹¥È¥¢¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.sp +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¼ÂÁõ¤Çưºî¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¤ÇÅϤµ¤ì¤¿¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤Ã¤Æ¡¢\fIFileInputStream\fR¤ËÊÑ´¹¤·¡¢¤³¤³¤«¤é¥­¡¼¥¹¥È¥¢¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£\fIjarsigner\fR¤ª¤è¤Ó\fIpolicytool\fR¥³¥Þ¥ó¥É¤Ï¡¢URL¤Ç»ØÄê¤Ç¤­¤ëǤ°Õ¤Î¾ì½ê¤«¤é¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +\fIkeytool\fR¤È\fIjarsigner\fR¤Î¾ì¹ç¡¢\fI\-storetype\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Policy Tool¤Î¾ì¹ç¤Ï¡¢¡Ö¥­¡¼¥¹¥È¥¢¡×¥á¥Ë¥å¡¼¤Ë¤è¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +¥æ¡¼¥¶¡¼¤¬¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¡¢¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤¬ÁªÂò¤µ¤ì¤Þ¤¹¡£¤³¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ï\fIjava\&.security\fR¤È¸Æ¤Ð¤ì¡¢Windows¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Ç¥£¥ì¥¯¥È¥ê\fIjava\&.home\elib\esecurity\fR¡¢Oracle Solaris¤Ç¤Ï\fIjava\&.home/lib/security\fR¤Ë¤¢¤ê¤Þ¤¹¡£\fIjava\&.home\fR¤Ï¡¢¼Â¹Ô»þ´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£\fIjre\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢SDK¤Þ¤¿¤ÏJava Runtime Environment (JRE)¤ÎºÇ¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£ +.sp +³Æ¥Ä¡¼¥ë¤Ï¡¢\fIkeystore\&.type\fR¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Þ¤¹¡£\fIKeyStore\fR¥¯¥é¥¹¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ëstatic¥á¥½¥Ã¥É\fIgetDefaultType\fR¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥¢¥×¥ì¥Ã¥È¤«¤é\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×(\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×)¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +KeyStore keyStore = KeyStore\&.getInstance(KeyStore\&.getDefaultType()); +.fi +.if n \{\ +.RE +.\} +¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Ï\fIjks\fR¤Ç¡¢¤³¤ì¤ÏOracle¤¬Ä󶡤¹¤ëÆÈ¼«¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keystore\&.type=jks +.fi +.if n \{\ +.RE +.\} +³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIpkcs12\fR¤È¸Æ¤Ð¤ì¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¡¦¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¾ì¹ç¡¢¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keystore\&.type=pkcs12 +.fi +.if n \{\ +.RE +.\} +\fBÃí°Õ:\fR +¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢JKS¤Èjks¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +¾ÚÌÀ½ñ +.RS 4 +¾ÚÌÀ½ñ(¸ø³«¸°¾ÚÌÀ½ñ)¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£(ȯ¹Ô¼Ô)¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¤Ï¡¢Â¾¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£(½ð̾¼Ô)¤Î¸ø³«¸°(¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó)¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÍѸì¤Ï¡¢¾ÚÌÀ½ñ¤Ë´ØÏ¢¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +\fB¸ø³«¸°\fR: ¸ø³«¸°¤Ï¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¿ô¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢³ºÅö¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤È¤Î´Ö¤Ë¿®Íê¤Ç¤­¤ë´Ø·¸¤ò»ý¤ÄɬÍפ¬¤¢¤ë¤¹¤Ù¤Æ¤Î¿Í¤ËÂФ·¤Æ¸ø³«¤¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢½ð̾¤ò¸¡¾Ú¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fB¥Ç¥¸¥¿¥ë½ð̾\fR: ¥Ç¡¼¥¿¤¬¥Ç¥¸¥¿¥ë½ð̾¤µ¤ì¤ë¤È¡¢¤½¤Î¥Ç¡¼¥¿¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤È¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬¥Ç¡¼¥¿¤ÎÆâÍÆ¤Ë¤Ä¤¤¤ÆÃΤäƤ¤¤ë¤³¤È¤ò¾ÚÌÀ½ñ¤¹¤ë½ð̾¤È¤È¤â¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈëÌ©¸°¤ò»ÈÍѤ·¤Æ¥Ç¡¼¥¿¤Ë½ð̾¤òÉÕ¤±¤ë¤È¡¢¥Ç¡¼¥¿¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fB¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£\fR: ¥¨¥ó¥Æ¥£¥Æ¥£¤ò¥¢¥É¥ì¥¹»ØÄꤹ¤ë´ûÃΤÎÊýË¡¡£¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¸ø³«¸°¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Ë¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¸ø³«¸°¤Î¾¤Ë¤â¡¢Oracle Solaris UID¤äÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¡¢X\&.509¼±ÊÌ̾¤Ê¤É¡¢ÍÍ¡¹¤Ê¤â¤Î¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +\fB½ð̾\fR: ½ð̾¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿¤ò´ð¤Ë¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈëÌ©¸°¤ò»ÈÍѤ·¤Æ·×»»¤µ¤ì¤Þ¤¹¡£½ð̾¼Ô¡¢¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ïȯ¹Ô¼Ô¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£ +.sp +\fBÈëÌ©¸°\fR: ÈëÌ©¸°¤ÏÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Î¤ß¤¬ÃΤäƤ¤¤ë¿ô¤Î¤³¤È¤Ç¡¢¤³¤Î¿ô¤Î¤³¤È¤ò¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈëÌ©¸°¤È¤¤¤¤¤Þ¤¹¡£ÈëÌ©¸°¤Ï¡¢Â¾¤ËÃΤé¤ì¤Ê¤¤¤è¤¦¤ËÈëÌ©¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬Á°Äó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ÈëÌ©¸°¤È¸ø³«¸°¤Ï¡¢¤¹¤Ù¤Æ¤Î¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ÇÂФˤʤäÆÂ¸ºß¤·¤Æ¤¤¤Þ¤¹¡£DSA¤Ê¤É¤Îŵ·¿Åª¤Ê¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢1¤Ä¤ÎÈëÌ©¸°¤ÏÀµ³Î¤Ë1¤Ä¤Î¸ø³«¸°¤ËÂбþ¤·¤Þ¤¹¡£ÈëÌ©¸°¤Ï¡¢½ð̾¤ò·×»»¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fB¥¨¥ó¥Æ¥£¥Æ¥£\fR: ¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢¿Í¡¢ÁÈ¿¥¡¢¥×¥í¥°¥é¥à¡¢¥³¥ó¥Ô¥å¡¼¥¿¡¢´ë¶È¡¢¶ä¹Ô¤Ê¤É¡¢°ìÄê¤ÎÅٹ礤¤Ç¿®Íê¤ÎÂоݤȤʤëÍÍ¡¹¤Ê¤â¤Î¤ò»Ø¤·¤Þ¤¹¡£ +.sp +¸ø³«¸°°Å¹æ²½¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Â絬ÌϤʥͥåȥ¥¯´Ä¶­¤Ç¤Ï¡¢¸ß¤¤¤ËÄÌ¿®¤·¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£´Ö¤Ç°ÊÁ°¤Î´Ø·¸¤¬°ú³¤­³ÎΩ¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤¿¤ê¡¢»ÈÍѤµ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¸ø³«¸°¤ò¼ý¤á¤¿¿®Íê¤Ç¤­¤ë¥ê¥Ý¥¸¥È¥ê¤¬Â¸ºß¤¹¤ë¤È²¾Äꤷ¤¿¤ê¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¸ø³«¸°¤ÎÇÛÉۤ˴ؤ¹¤ëÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¾ÚÌÀ½ñ¤¬¹Í°Æ¤µ¤ì¤Þ¤·¤¿¡£¸½ºß¤Ç¤Ï¡¢¾ÚÌÀ½ñȯ¹Ô¶É(CA)¤¬¿®Íê¤Ç¤­¤ëÂè»°¼Ô¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£CA¤Ï¡¢Â¾¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤¹¤ë(ȯ¹Ô¤¹¤ë)¹Ô°Ù¤ò¡¢¿®Íꤷ¤ÆÇ¤¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£(´ë¶È¤Ê¤É)¤Ç¤¹¡£CA¤ÏˡΧ¾å¤Î·ÀÌó¤Ë¹´Â«¤µ¤ì¤ë¤Î¤Ç¡¢Í­¸ú¤«¤Ä¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¤ß¤òºîÀ®¤¹¤ë¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£VeriSign¡¢Thawte¡¢Entrust¤ò¤Ï¤¸¤á¡¢Â¿¤¯¤Î¸øÅª¤Ê¾ÚÌÀ½ñȯ¹Ô¶É¤¬Â¸ºß¤·¤Þ¤¹¡£ +.sp +Microsoft¤Îǧ¾Ú¥µ¡¼¥Ð¡¼¡¢Entrust¤ÎCAÀ½Éʤʤɤò½ê°ÁÈ¿¥Æâ¤ÇÍøÍѤ¹¤ì¤Ð¡¢ÆÈ¼«¤Î¾ÚÌÀ½ñȯ¹Ô¶É¤ò±¿±Ä¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¾ÚÌÀ½ñ¤Îɽ¼¨¡¢¥¤¥ó¥Ý¡¼¥È¤ª¤è¤Ó¥¨¥¯¥¹¥Ý¡¼¥È¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +¸½ºß¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤ÏX\&.509¾ÚÌÀ½ñ¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +X\&.509¾ÚÌÀ½ñ +.RS 4 +X\&.509µ¬³Ê¤Ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¾ðÊó¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¾ðÊó¤ò¾ÚÌÀ½ñ¤Ë½ñ¤­¹þ¤àÊýË¡(¥Ç¡¼¥¿·Á¼°)¤Ë¤Ä¤¤¤Æ¤âµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ï¡¢ASN\&.1/DER¤È¸Æ¤Ð¤ì¤ë2¤Ä¤Î´ØÏ¢µ¬³Ê¤ò»ÈÍѤ·¤ÆÉ乿²½¤µ¤ì¤Þ¤¹¡£Abstract Syntax Notation 1¤Ï¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£Definite Encoding Rules¤Ï¡¢¥Ç¡¼¥¿¤ÎÊݸ¤ª¤è¤ÓžÁ÷¤ÎÊýË¡¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +¤¹¤Ù¤Æ¤ÎX\&.509¾ÚÌÀ½ñ¤Ï¡¢½ð̾¤Î¾¤Ë¼¡¤Î¥Ç¡¼¥¿¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ +.sp +\fB¥Ð¡¼¥¸¥ç¥ó\fR: ¾ÚÌÀ½ñ¤ËŬÍѤµ¤ì¤ëX\&.509µ¬³Ê¤Î¥Ð¡¼¥¸¥ç¥ó¤òÆÃÄꤷ¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ë»ØÄê¤Ç¤­¤ë¾ðÊó¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£º£¤Î¤È¤³¤í¡¢3¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢v1¡¢v2¡¢v3¤Î¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤ª¤è¤Ó¥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£v3¤Î¾ÚÌÀ½ñ¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +X\&.509 Version 1¤Ï¡¢1988ǯ¤«¤éÍøÍѤµ¤ì¤Æ¹­¤¯ÉáµÚ¤·¤Æ¤ª¤ê¡¢ºÇ¤â°ìÈÌŪ¤Ç¤¹¡£ +.sp +X\&.509 Version 2¤Ç¤Ï¡¢Subject¤äȯ¹Ô¼Ô¤Î̾Á°¤ò¤¢¤È¤ÇºÆÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Subject¤Èȯ¹Ô¼Ô¤Î°ì°Õ¼±Ê̻ҤγµÇ°¤¬Æ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤Û¤È¤ó¤É¤Î¾ÚÌÀ½ñ¥×¥í¥Õ¥¡¥¤¥ëʸ½ñ¤Ç¤Ï¡¢Ì¾Á°¤òºÆ»ÈÍѤ·¤Ê¤¤¤³¤È¤È¡¢¾ÚÌÀ½ñ¤Ç°ì°Õ¤Î¼±Ê̻Ҥò»ÈÍѤ·¤Ê¤¤¤³¤È¤¬¡¢¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Version 2¤Î¾ÚÌÀ½ñ¤Ï¡¢¹­¤¯¤Ï»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.sp +X\&.509 Version 3¤ÏºÇ¤â¿·¤·¤¤(1996ǯ)µ¬³Ê¤Ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î³µÇ°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ïï¤Ç¤âÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°ìÈÌŪ¤Ê¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤È¤·¤Æ¤Ï¡¢KeyUsage(\fI½ð̾ÀìÍÑ\fR¤Ê¤É¡¢¸°¤Î»ÈÍѤòÆÃÄê¤ÎÌÜŪ¤ËÀ©¸Â¤¹¤ë)¡¢AlternativeNames(DNS̾¡¢ÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¡¢IP¥¢¥É¥ì¥¹¤Ê¤É¡¢Â¾¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤ò¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë)¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ï¡¢critical¤È¤¤¤¦¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¡¢¤½¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯¤È»ÈÍѤòµÁ̳¤Å¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢critical¤È¥Þ¡¼¥¯¤µ¤ì¡¢\fIkeyCertSign\fR¤¬ÀßÄꤵ¤ì¤¿KeyUsage¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¾ÚÌÀ½ñ¤òSSLÄÌ¿®Ãæ¤ËÄ󼨤¹¤ë¤È¡¢¾ÚÌÀ½ñ¤¬µñÈݤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢´ØÏ¢¤¹¤ëÈëÌ©¸°¤¬¾ÚÌÀ½ñ¤Î½ð̾ÀìÍѤȤ·¤Æ»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢SSL¤Ç¤Ï»ÈÍѤǤ­¤Ê¤¤¤¿¤á¤Ç¤¹¡£ +.sp +\fB¥·¥ê¥¢¥ëÈÖ¹æ\fR: ¾ÚÌÀ½ñ¤òºîÀ®¤·¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬È¯¹Ô¤¹¤ë¾¤Î¾ÚÌÀ½ñ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢¾ÚÌÀ½ñ¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢ÍÍ¡¹¤ÊÊýË¡¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬¼è¤ê¾Ã¤µ¤ì¤ë¤È¡¢¥·¥ê¥¢¥ëÈֹ椬¾ÚÌÀ½ñ¼º¸ú¥ê¥¹¥È(CRL)¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.sp +\fB¾ÚÌÀ½ñ¥¢¥ë¥´¥ê¥º¥à¼±ÊÌ»Ò\fR: ¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤ËCA¤¬»ÈÍѤ·¤¿¥¢¥ë¥´¥ê¥º¥à¤òÆÃÄꤷ¤Þ¤¹¡£ +.sp +\fBȯ¹Ô¼Ô̾\fR: ¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤ÎX\&.500¼±ÊÌ̾¤Ç¤¹¡£X\&.500¼±ÊÌ̾¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ä̾ï¤ÏCA¤Ç¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤ò¿®Íꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥ë¡¼¥È¤Ä¤Þ¤ê¥È¥Ã¥×¥ì¥Ù¥ë¤ÎCA¤Î¾ÚÌÀ½ñ¤Ê¤É¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ïȯ¹Ô¼Ô¤¬¼«¿È¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBÍ­¸ú´ü´Ö\fR: ³Æ¾ÚÌÀ½ñ¤Ï¸Â¤é¤ì¤¿´ü´Ö¤Î¤ßÍ­¸ú¤Ç¤¹¡£¤³¤Î´ü´Ö¤Ï³«»Ï¤ÎÆü»þ¤È½ªÎ»¤ÎÆü»þ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¡¢¿ôÉäÎû¤¤´ü´Ö¤«¤é100ǯ¤È¤¤¤¦Ä¹´ü¤Ë¤ï¤¿¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ÁªÂò¤µ¤ì¤ëÍ­¸ú´ü´Ö¤Ï¡¢¾ÚÌÀ½ñ¤Ø¤Î½ð̾¤Ë»ÈÍѤµ¤ì¤ëÈëÌ©¸°¤Î¶¯ÅÙ¤ä¾ÚÌÀ½ñ¤Ë»Ùʧ¤¦¶â³Û¤Ê¤É¡¢ÍÍ¡¹¤ÊÍ×°ø¤Ç°Û¤Ê¤ê¤Þ¤¹¡£Í­¸ú´ü´Ö¤Ï¡¢´ØÏ¢¤¹¤ëÈëÌ©¸°¤¬Â»¤ï¤ì¤Ê¤¤¾ì¹ç¤Ë¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤¬¸ø³«¸°¤ò¿®Íê¤Ç¤­¤ë¤È´üÂÔ¤µ¤ì¤ë´ü´Ö¤Ç¤¹¡£ +.sp +\fB¼çÂÎ̾\fR: ¾ÚÌÀ½ñ¤Ç¸ø³«¸°¤òǧ¾Ú¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î̾Á°¡£¤³¤Î̾Á°¤ÏX\&.500ɸ½à¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤǰì°Õ¤Ê¤â¤Î¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤ÎX\&.500¼±ÊÌ̾(DN)¤Ç¤¹¡£X\&.500¼±ÊÌ̾¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=Java Duke, OU=Java Software Division, O=Oracle Corporation, C=US +.fi +.if n \{\ +.RE +.\} +¤³¤ì¤é¤Ï¤½¤ì¤¾¤ì¼çÂΤÎÄ̾Î(CN)¡¢ÁÈ¿¥Ã±°Ì(OU)¡¢ÁÈ¿¥(O)¡¢¹ñ(C)¤òɽ¤·¤Þ¤¹¡£ +.sp +\fB¼çÂΤθø³«¸°¾ðÊó\fR: ̾Á°¤òÉÕ¤±¤é¤ì¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤È¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤ¹¡£¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤϡ¢¸ø³«¸°¤ËÂФ·¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ª¤è¤Ó´ØÏ¢¤¹¤ë¸°¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +¾ÚÌÀ½ñ¥Á¥§¡¼¥ó +.RS 4 +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢ÈëÌ©¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò´Þ¤à¥­¡¼¥¹¥È¥¢¤Î¸°¥¨¥ó¥È¥ê¤òºîÀ®¤·¡¢´ÉÍý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤Ç¤Ï¡¢ÈëÌ©¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Ï¡¢¥Á¥§¡¼¥ó¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¸°¤ò½é¤á¤ÆºîÀ®¤¹¤ë¤È¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤È¤¤¤¦1¤Ä¤ÎÍ×ÁǤΤߤò´Þ¤à¥Á¥§¡¼¥ó¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£\fI¤Î\fR\-genkeypair¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ïȯ¹Ô¼Ô(½ð̾¼Ô)¤¬¼çÂÎ¤ÈÆ±¤¸¤Ç¤¹¡£¼çÂΤϡ¢¤½¤Î¸ø³«¸°¤¬¾ÚÌÀ½ñ¤Ë¤è¤Ã¤ÆÇ§¾Ú¤µ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¤¹¡£\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥Ú¥¢¤òºîÀ®¤¹¤ë¤È¡¢¸ø³«¸°¤Ï¾ï¤Ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£ +.sp +¤³¤Î¸å¡¢¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È(CSR)¤¬\fI\-certreq\fR¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¤Æ¡¢CSR¤¬¾ÚÌÀ½ñȯ¹Ô¶É(CA)¤ËÁ÷¿®¤µ¤ì¤ë¤È¡¢CA¤«¤é¤Î¥ì¥¹¥Ý¥ó¥¹¤¬\fI\-importcert\fR¤Ç¥¤¥ó¥Ý¡¼¥È¤µ¤ì¡¢¸µ¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É¤Î\fI\-certreq\fR¤ª¤è¤Ó\fI\-importcert\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥Á¥§¡¼¥ó¤ÎºÇ¸å¤Ë¤¢¤ë¤Î¤Ï¡¢Subject¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿CA¤¬È¯¹Ô¤·¤¿¾ÚÌÀ½ñ(±þÅú)¤Ç¤¹¡£¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢CA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£ +.sp +CA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ï¡¢Â¿¤¯¤Î¾ì¹ç¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ(¤Ä¤Þ¤êCA¤¬¼«¿È¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿¾ÚÌÀ½ñ)¤Ç¤¢¤ê¡¢¤³¤ì¤Ï¥Á¥§¡¼¥ó¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA¤¬¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ(CA¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢¸°¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ)¤ËÊѤï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢CSR¤ÎÁ÷¿®Àè¤ÎCA¤È¤ÏÊ̤ÎCA¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢CSR¤ÎÁ÷¿®Àè¤ÎCA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¼¡¤ÎCA¤Î¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£°Ê²¼Æ±Íͤˡ¢¼«¸Ê½ð̾¤µ¤ì¤¿¡Ö¥ë¡¼¥È¡×¾ÚÌÀ½ñ¤Ë㤹¤ë¤Þ¤Ç¥Á¥§¡¼¥ó¤¬Â³¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Á¥§¡¼¥óÆâ¤Î(ºÇ½é¤Î¾ÚÌÀ½ñ°Ê¸å¤Î)³Æ¾ÚÌÀ½ñ¤Ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤¬Ç§¾Ú¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¿¤¯¤ÎCA¤Ï¡¢¥Á¥§¡¼¥ó¤ò¥µ¥Ý¡¼¥È¤»¤º¤Ëȯ¹ÔºÑ¤Î¾ÚÌÀ½ñ¤Î¤ß¤òÊÖ¤·¤Þ¤¹¡£ÆÃ¤Ë¡¢Ãæ´Ö¤ÎCA¤¬Â¸ºß¤·¤Ê¤¤¥Õ¥é¥Ã¥È¤Ê³¬Áع½Â¤¤Î¾ì¹ç¤Ï¡¢¤½¤Î·¹¸þ¤¬¸²Ãø¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¾ðÊ󤫤顢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò³ÎΩ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +Ê̤αþÅú·Á¼°(PKCS#7¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·Á¼°)¤Ç¤Ï¡¢È¯¹ÔºÑ¾ÚÌÀ½ñ¤Ë²Ã¤¨¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¥µ¥Ý¡¼¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤É¤Á¤é¤Î±þÅú·Á¼°¤â°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +¥È¥Ã¥×¥ì¥Ù¥ë(¥ë¡¼¥È)CA¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¹¡£¤¿¤À¤·¡¢¥ë¡¼¥È¤Î¸ø³«¸°¤Ø¤Î¿®Íê¤Ï¡¢¥ë¡¼¥È¾ÚÌÀ½ñ¼«ÂΤ«¤é¤Ç¤Ï¤Ê¤¯¡¢¿·Ê¹¤Ê¤É¾¤Î¥½¡¼¥¹¤«¤é¼èÆÀ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢VeriSign¥ë¡¼¥ÈCA¤Ê¤É¤Î¼±ÊÌ̾¤ò»ÈÍѤ·¤Æ¡¢Ã¯¤Ç¤â¼«¸Ê½ð̾·¿¾ÚÌÀ½ñ¤òÀ¸À®¤Ç¤­¤ë¤¿¤á¤Ç¤¹¡£¥ë¡¼¥ÈCA¤Î¸ø³«¸°¤Ï¹­¤¯ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£¥ë¡¼¥ÈCA¤Î¸ø³«¸°¤ò¾ÚÌÀ½ñ¤Ë³ÊǼ¤¹¤ëÍýͳ¤Ï¡¢¾ÚÌÀ½ñ¤È¤¤¤¦·Á¼°¤Ë¤¹¤ë¤³¤È¤Ç¿¤¯¤Î¥Ä¡¼¥ë¤«¤éÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤é¤Ë¤¹¤®¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢¾ÚÌÀ½ñ¤Ï¡¢¥ë¡¼¥ÈCA¤Î¸ø³«¸°¤ò±¿¤Ö¡ÖÇÞÂΡפȤ·¤ÆÍøÍѤµ¤ì¤ë¤Î¤ß¤Ç¤¹¡£¥ë¡¼¥ÈCA¤Î¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲ乤ë¤È¤­¤Ï¡¢\fI\-printcert\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¤½¤ÎÁ°¤Ë¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤·¡¢É½¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¿·Ê¹¤ä¥ë¡¼¥ÈCA¤ÎWeb¥Ú¡¼¥¸¤Ê¤É¤«¤éÆþ¼ê¤·¤¿´ûÃΤΥե£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +cacerts¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë +.RS 4 +\fIcacerts\fR¤È¤¤¤¦Ì¾Á°¤Î¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë¤Ï¡¢Windows¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Ç¥£¥ì¥¯¥È¥ê\fIjava\&.home\elib\esecurity\fR¡¢Oracle Solaris¤Ç¤Ï\fIjava\&.home/lib/security\fR¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£\fIjava\&.home\fR¤Ï¡¢¼Â¹Ô´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê(SDK¤Î\fIjre\fR¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤ÏJRE¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê)¤Ç¤¹¡£ +.sp +\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Ï¡¢CA¤Î¾ÚÌÀ½ñ¤ò´Þ¤à¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥ­¡¼¥¹¥È¥¢¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Ë\fIjks\fR¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹½À®¤È´ÉÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥»¥Ã¥È¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¾ÚÌÀ½ñ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-list \-keystore java\&.home/lib/security/cacerts +.fi +.if n \{\ +.RE +.\} +\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤Î½é´ü¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢\fIchangeit\fR¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢SDK¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤È¥Ç¥Õ¥©¥ë¥È¡¦¥¢¥¯¥»¥¹¸¢¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +\fIcacerts\fR¥Õ¥¡¥¤¥ë¤ò³Îǧ¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£\fIcacerts\fR¥Õ¥¡¥¤¥ëÆâ¤ÎCA¤Ï¡¢½ð̾¤ª¤è¤Ó¾¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ø¤Î¾ÚÌÀ½ñȯ¹Ô¤Î¤¿¤á¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤È¤·¤Æ¿®Íꤵ¤ì¤ë¤¿¤á¡¢\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Î´ÉÍý¤Ï¿µ½Å¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¿®Íꤹ¤ëCA¤Î¾ÚÌÀ½ñ¤Î¤ß¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢¼«¿È¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¡¢\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤­¤ë¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤ò¸¡¾Ú¤·¡¢¿®ÍêÀ­¤Ë´Ø¤¹¤ëÆÈ¼«¤Î·èÄê¤ò¹Ô¤¤¤Þ¤¹¡£ +.sp +¿®Íê¤Ç¤­¤Ê¤¤CA¾ÚÌÀ½ñ¤ò\fIcacerts\fR¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤¹¤ë¤Ë¤Ï¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Î\fIdelete\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£\fIcacerts\fR¥Õ¥¡¥¤¥ë¤ÏJRE¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¥¢¥¯¥»¥¹¸¢¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê +.RS 4 +¿¤¯¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½¤Ç¤Ï¤Ê¤¯¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë½ÐÎϲÄǽÉ乿²½Êý¼°¤ò»ÈÍѤ·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£Base 64É乿²½¤È¤â¸Æ¤Ð¤ì¤ë¤³¤Î¾ÚÌÀ½ñ·Á¼°¤Ç¤Ï¡¢ÅŻҥ᡼¥ë¤ä¤½¤Î¾¤Îµ¡¹½¤òÄ̤¸¤Æ¡¢Â¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¾ÚÌÀ½ñ¤òÍÆ°×¤Ë¥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ +.sp +\fI\-importcert\fR¤È\fI\-printcert\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤Î·Á¼°¤Î¾ÚÌÀ½ñ¤È¥Ð¥¤¥Ê¥êÉ乿²½¤Î¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fI\-exportcert\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ð¥¤¥Ê¥êÉ乿²½¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +\fI\-list\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¾ÚÌÀ½ñ¤ÎSHA1¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-v\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¿Í¤¬Íý²ò¤Ç¤­¤ë·Á¼°¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï½ÐÎϲÄǽÉ乿²½Êý¼°¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +½ÐÎϲÄǽÉ乿²½Êý¼°¤ÇÉ乿²½¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î¥Æ¥­¥¹¥È¤Ç»Ï¤Þ¤ê¡¢¼¡¤Î¥Æ¥­¥¹¥È¤Ç½ªÎ»¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- + +encoded certificate goes here\&. + +\-\-\-\-\-END CERTIFICATE\-\-\-\-\- +.fi +.if n \{\ +.RE +.\} +.RE +.PP +X\&.500¼±ÊÌ̾ +.RS 4 +X\&.500¼±ÊÌ̾¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢X\&.509¾ÚÌÀ½ñ¤Î\fIsubject\fR¥Õ¥£¡¼¥ë¥É¤È\fIissuer\fR(½ð̾¼Ô)¥Õ¥£¡¼¥ë¥É¤Ç»ØÄꤵ¤ì¤ë̾Á°¤Ï¡¢X\&.500¼±ÊÌ̾¤Ç¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥µ¥Ö¥Ñ¡¼¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +\fBcommonName\fR: Susan Jones¤Ê¤É¡¢¿Í¤ÎÄ̾Ρ£ +.sp +\fBorganizationUnit\fR: ¾®¤µ¤ÊÁÈ¿¥(Éô¡¢²Ý¤Ê¤É)¤Î̾¾Î¡£Purchasing¤Ê¤É¤Ç¤¹¡£ +.sp +\fBlocalityName\fR: Ãϰè(ÅÔ»Ô)̾¡£Palo Alto¤Ê¤É¡£ +.sp +\fBstateName\fR: ½£Ì¾¤Þ¤¿¤ÏÃÏÊý̾¡£California¤Ê¤É¡£ +.sp +\fBcountry\fR: 2ʸ»ú¤Î¹ñ¥³¡¼¥É¡£CH¤Ê¤É¡£ +.sp +¼±ÊÌ̾ʸ»úÎó¤ò\fI\-dname\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤȤ·¤Æ»ØÄꤹ¤ë¾ì¹ç(¤¿¤È¤¨¤Ð\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤Ë)¡¢Ê¸»úÎó¤Ï¼¡¤Î·Á¼°¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=cName, OU=orgUnit, O=org, L=city, S=state, C=countryCode +.fi +.if n \{\ +.RE +.\} +¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤϡ¢¼ÂºÝ¤Ë»ØÄꤹ¤ëÃͤòɽ¤·¤Þ¤¹¡£Ã»½Ì·Á¤Î¥­¡¼¥ï¡¼¥É¤Î°ÕÌ£¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=commonName +OU=organizationUnit +O=organizationName +L=localityName +S=stateName +C=country +.fi +.if n \{\ +.RE +.\} +¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼±ÊÌ̾ʸ»úÎó¤ÎÎã¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, S=California, C=US +.fi +.if n \{\ +.RE +.\} +¤³¤Îʸ»úÎó¤ò»ÈÍѤ·¤¿¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-genkeypair \-dname "CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, +S=California, C=US" \-alias mark +.fi +.if n \{\ +.RE +.\} +¥­¡¼¥ï¡¼¥É¤Îû½Ì·Á¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢CN¡¢cn¤ª¤è¤ÓCn¤Ï¡¢¤É¤ì¤âƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.sp +°ìÊý¡¢¥­¡¼¥ï¡¼¥É¤Î»ØÄê½ç½ø¤Ë¤Ï°ÕÌ£¤¬¤¢¤ê¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¾å¤Ë¼¨¤·¤¿½ç½ø¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¤¹¤Ù¤Æ»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë°ìÉô¤Î¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¤ß¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=Steve Meier, OU=Java, O=Oracle, C=US +.fi +.if n \{\ +.RE +.\} +¼±ÊÌ̾ʸ»úÎó¤ÎÃͤ˥«¥ó¥Þ¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Çʸ»úÎó¤ò»ØÄꤹ¤ë¤È¤­¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥«¥ó¥Þ¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥åʸ»ú(\e)¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +cn=Peter Schuster, ou=Java\e, Product Development, o=Oracle, c=US +.fi +.if n \{\ +.RE +.\} +¼±ÊÌ̾ʸ»úÎó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¼±ÊÌ̾¤òɬÍפȤ¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥«¥ó¥Þ¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å(\e)¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.RE +.SH "·Ù¹ð" +.SS "¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È·Ù¹ð" +.PP +\fB½ÅÍ×\fR: ¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ë¡¢¾ÚÌÀ½ñ¤ÎÆâÍÆ¤ò¿µ½Å¤ËÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ +Windows¤ÎÎã:.PP +¤Þ¤º¡¢\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fI\-printcert\fR¥³¥Þ¥ó¥É¤Þ¤¿¤Ï\fI\-importcert\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¾ÚÌÀ½ñ¤òɽ¼¨¤·¤Þ¤¹¡£É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬Á÷¤é¤ì¤Æ¤­¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò\fI\etmp\ecert\fR¤È¤¤¤¦Ì¾Á°¤Ç¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¤³¤Î¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢\fI\-printcert\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + keytool \-printcert \-file \etmp\ecert + Owner: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll + Issuer: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll + Serial Number: 59092b34 + Valid from: Thu Sep 25 18:01:13 PDT 1997 until: Wed Dec 24 17:01:13 PST 1997 + Certificate Fingerprints: + MD5: 11:81:AD:92:C8:E5:0E:A2:01:2E:D4:7A:D7:5F:07:6F + SHA1: 20:B6:17:FA:EF:E5:55:8A:D0:71:1F:E8:D6:9D:C0:37:13:0E:5E:FE + SHA256: 90:7B:70:0A:EA:DC:16:79:92:99:41:FF:8A:FE:EB:90: + 17:75:E0:90:B2:24:4D:3A:2A:16:A6:E4:11:0F:67:A4 +.fi +.if n \{\ +.RE +.\} +Oracle Solaris¤ÎÎã:.PP +¤Þ¤º¡¢\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fI\-printcert\fR¥³¥Þ¥ó¥É¤Þ¤¿¤Ï\fI\-importcert\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¾ÚÌÀ½ñ¤òɽ¼¨¤·¤Þ¤¹¡£É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥æ¡¼¥¶¡¼¤«¤é¾ÚÌÀ½ñ¤¬Á÷¤é¤ì¤Æ¤­¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò\fI/tmp/cert\fR¤È¤¤¤¦Ì¾Á°¤Ç¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¤³¤Î¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢\fI\-printcert\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + keytool \-printcert \-file /tmp/cert + Owner: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll + Issuer: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll + Serial Number: 59092b34 + Valid from: Thu Sep 25 18:01:13 PDT 1997 until: Wed Dec 24 17:01:13 PST 1997 + Certificate Fingerprints: + MD5: 11:81:AD:92:C8:E5:0E:A2:01:2E:D4:7A:D7:5F:07:6F + SHA1: 20:B6:17:FA:EF:E5:55:8A:D0:71:1F:E8:D6:9D:C0:37:13:0E:5E:FE + SHA256: 90:7B:70:0A:EA:DC:16:79:92:99:41:FF:8A:FE:EB:90: + 17:75:E0:90:B2:24:4D:3A:2A:16:A6:E4:11:0F:67:A4 +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Ë¡¢¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¾¤Î²¿¼Ô¤«(¹¶·â¼Ô¤Ê¤É)¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂØ¤¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î(¹¶·âŪ°Õ¿Þ¤ò»ý¤Ä¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤ÀJAR¥Õ¥¡¥¤¥ë¤Ê¤É)¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ë\fI\-printcert\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¥­¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢\fI\-importcert\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¾ÚÌÀ½ñ¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¡¢³Îǧ¤òµá¤á¤ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤Ï¥¤¥ó¥Ý¡¼¥ÈÁàºî¤òÄä»ß¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ì¤ò¼Â¹Ô¤Ç¤­¤ë¤Î¤Ï¡¢\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fI\-importcert\fR¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤¹¾ì¹ç¤Î¤ß¤Ç¤¹¡£\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£ +.SS "¥Ñ¥¹¥ï¡¼¥É·Ù¹ð" +.PP +¥­¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤Û¤È¤ó¤É¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢°ìÉô¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Èó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄê¤Ç¤­¤Þ¤¹(\fI\-storepass\fR¥ª¥×¥·¥ç¥ó¤È\fI\-keypass\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡£¤¿¤À¤·¡¢¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£É¬Íפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.SS "¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ë·Ù¹ð" +.PP +¥¤¥ó¥¿¡¼¥Í¥Ã¥Èɸ½àRFC 5280¤Ç¤Ï¡¢X\&.509¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ë¥×¥í¥Õ¥¡¥¤¥ë¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¾ÚÌÀ½ñ¤Î¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ËÍ­¸ú¤ÊÃͤª¤è¤ÓÃͤÎÁȹ礻¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£É¸½à¤Ë¤Ä¤¤¤Æ¤Ï¡¢ +http://tools\&.ietf\&.org/rfc/rfc5280\&.txt¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥ë¡¼¥ë¤¹¤Ù¤Æ¤¬Å¬ÍѤµ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢É¸½à¤Ë½àµò¤·¤Ê¤¤¾ÚÌÀ½ñ¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£É¸½à¤Ë½àµò¤·¤Ê¤¤¾ÚÌÀ½ñ¤Ï¡¢JRE¤ä¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇµñÈݤµ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢\fI\-dname\fR¤ä\fI\-ext\fR¤Ê¤É¤ÇŬÀµ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "Ãí°Õ" +.SS "¿·¤·¤¤¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é(¥ë¡¼¥ÈCA¤Î)¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Á¥§¡¼¥ó¤Î¹½ÃÛ¤ò»î¤ß¤Þ¤¹¡£ +.PP +\fI\-trustcacerts\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ÄɲäξÚÌÀ½ñ¤Ï¿®Íê¤Ç¤­¤ë¤¹¤Ê¤ï¤Á\fIcacerts\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤¬¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¾ÚÌÀ½ñ(¥­¡¼¥¹¥È¥¢¤Þ¤¿¤Ï\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ)¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Ñ¥¹¤Î¹½Ãۤ˼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤Î¾ðÊó¤òɽ¼¨¤·¡¢¥æ¡¼¥¶¡¼¤Ë³Îǧ¤òµá¤á¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢Â¾¤Î¤Ê¤ó¤é¤«¤Î(¿®Íê¤Ç¤­¤ë)¾ðÊó¸»(¾ÚÌÀ½ñ¤Î½êÍ­¼Ô¤Ê¤É)¤«¤éÆþ¼ê¤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È·Ù¹ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¾ÚÌÀ½ñ¤ò³Îǧ¤¹¤ë»þÅÀ¤ÇÃæ»ß¤Ç¤­¤Þ¤¹¡£\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£ +.SS "¾ÚÌÀ½ñ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó(\fI\-trustcacert\fR\fIs\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï)\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤Ç¹½À®¤µ¤ì¤¿¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ¾ÚÌÀ½ñ±þÅú¤¬¸¡ºº¤µ¤ì¤Þ¤¹¡£cacerts¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¾ÚÌÀ½ñ±þÅú¤¬¿®Íê¤Ç¤­¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ëÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ½ñ±þÅú¤¬Ã±°ì¤ÎX\&.509¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¾ÚÌÀ½ñ±þÅú¤«¤é(¥ë¡¼¥ÈCA¤Î)¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¥Á¥§¡¼¥ó¤Î³ÎΩ¤ò»î¤ß¤Þ¤¹¡£¾ÚÌÀ½ñ±þÅú¤È¡¢¾ÚÌÀ½ñ±þÅú¤Îǧ¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤Î³¬Áع½Â¤¤Ï¡¢alias¤Î¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò·ÁÀ®¤·¤Þ¤¹¡£¿®Íê¥Á¥§¡¼¥ó¤¬³ÎΩ¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¾ÚÌÀ½ñ±þÅú¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¾ÚÌÀ½ñ¤ò½ÐÎϤ»¤º¡¢¥æ¡¼¥¶¡¼¤Ë¸¡¾Ú¤òµá¤á¤ë¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¾ÚÌÀ½ñ±þÅú¤Î¿®ÍêÀ­¤òȽÃǤ¹¤ë¤Î¤ÏÈó¾ï¤ËÆñ¤·¤¤¤¿¤á¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ½ñ±þÅú¤¬PKCS#7·Á¼°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Þ¤¿¤Ï°ìÏ¢¤ÎX\&.509¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç¡¢¥Á¥§¡¼¥ó¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¾ÚÌÀ½ñ¤¬ºÇ½é¤Ë¡¢0°Ê¾å¤ÎCA¾ÚÌÀ½ñ¤¬¤½¤Î¼¡¤Ë¤¯¤ë¤è¤¦¤Ëʤ٤é¤ì¤Þ¤¹¡£¥Á¥§¡¼¥ó¤¬¼«¸Ê½ð̾¤Î¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤Ç½ª¤ï¤ê¡¢\fI \-trustcacerts\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î¾ÚÌÀ½ñ¤È¡¢¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤­¤ë¤¹¤Ù¤Æ¤Î¾ÚÌÀ½ñ¤ò¾È¹ç¤·¤è¤¦¤È¤·¤Þ¤¹¡£¥Á¥§¡¼¥ó¤¬¼«¸Ê½ð̾¤Î¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤Ç½ª¤ï¤Ã¤Æ¤ª¤é¤º¡¢\fI\-trustcacerts\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¤Î¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤ò¸«¤Ä¤±¤Æ¤½¤ì¤ò¥Á¥§¡¼¥ó¤ÎËöÈø¤ËÄɲ䷤褦¤È¤·¤Þ¤¹¡£¤½¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤é¤º¡¢\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ¤Î¾ðÊ󤬽ÐÎϤµ¤ì¡¢¥æ¡¼¥¶¡¼¤Ï³Îǧ¤òµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +¾ÚÌÀ½ñ±þÅúÆâ¤Î¸ø³«¸°¤¬\fIalias\fR¤Ç¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Î¸ø³«¸°¤Ë°ìÃפ·¤¿¾ì¹ç¡¢¸Å¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬±þÅúÆâ¤Î¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£°ÊÁ°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÍ­¸ú¤Ê\fIkeypass\fR¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ï¡¢¥¨¥ó¥È¥ê¤ÎÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤Î¤ß¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.PP +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï\fI\-import\fR¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢°ú¤­Â³¤­¸Å¤¤Ì¾Á°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£º£¸å¤Ï¡¢¿·¤·¤¤Ì¾Á°\fI\-importcert\fR¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jarsigner(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/tutorial/security/index\&.html¤Ë¤¢¤ë +¡Ö¥³¡¼¥¹: Java SE¤Î¥»¥­¥å¥ê¥Æ¥£µ¡Ç½¡× +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/native2ascii.1 b/jdk/src/linux/doc/man/ja/native2ascii.1 index 89b6f6c3be4..f8bdb8ebd49 100644 --- a/jdk/src/linux/doc/man/ja/native2ascii.1 +++ b/jdk/src/linux/doc/man/ja/native2ascii.1 @@ -1,72 +1,98 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH native2ascii 1 "07 May 2011" - -.LP -.SH "̾Á°" -native2ascii \- ¥Í¥¤¥Æ¥£¥Ö \- ASCII ¥³¥ó¥Ð¡¼¥¿ -.LP -.LP -¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Îʸ»ú¤Î¥Õ¥¡¥¤¥ë¤ò ASCII ¤Þ¤¿¤Ï Unicode ¥¨¥¹¥±¡¼¥×¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£¤½¤ÎµÕ¤ÎÊÑ´¹¤â¹Ô¤¤¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: native2ascii +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¹ñºÝ²½¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "native2ascii" "1" "2013ǯ11·î21Æü" "JDK 8" "¹ñºÝ²½¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +native2ascii \- ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëǤ°Õ¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Îʸ»ú¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò¡¢ASCII¤ª¤è¤ÓUnicode¤Ç¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Æ(¤Þ¤¿¤Ï¤½¤ÎµÕ)¡¢¥í¡¼¥«¥é¥¤¥º²Äǽ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f4native2ascii\fP\f2 [options] [inputfile [outputfile]]\fP -.fl +\fInative2ascii\fR [ \fIinputfile\fR ] [ \fIoutputfile\fR ] .fi - -.LP -.SH "ÀâÌÀ" -.LP -.LP -\f2native2ascii\fP Java ¼Â¹Ô´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢ASCII ¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£ASCII ʸ»ú¥»¥Ã¥È¤Î°ìÉô¤Ç¤Ê¤¤¤¹¤Ù¤Æ¤Îʸ»ú¤Ç Unicode ¥¨¥¹¥±¡¼¥× (¡Ö\\uxxxx¡×¤Îɽµ­) ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥×¥í¥»¥¹¤Ï¡¢ISO\-8859\-1 ʸ»ú¥»¥Ã¥È¤Ë´Þ¤Þ¤ì¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤ÇɬÍפǤ¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢¤½¤ÎµÕ¤ÎÊÑ´¹¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2outputfile\fP ¤ò¾Êά¤·¤¿¾ì¹ç¡¢É¸½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢ \f2inputfile\fP ¤ò¾Êά¤·¤¿¾ì¹ç¡¢É¸½àÆþÎϤ«¤éÆþÎϤµ¤ì¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-reverse -µÕ¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ISO\-8859\-1 ¤Ç Unicode ¥¨¥¹¥±¡¼¥×¤ò»È¤Ã¤Æ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢Java ¼Â¹Ô´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£ -.br -.br -.TP 3 -\-encoding encoding_name -ÊÑ´¹½èÍý¤Ç»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° ( \f2java.nio.charset.Charset.defaultCharset\fP ¥á¥½¥Ã¥É¤ÇÄêµÁ¤µ¤ì¤ë) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ \f2encoding_name\fP ʸ»úÎó¤Ï¡¢ -.na -\f4¡Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëʸ»úÎ󥨥󥳡¼¥Ç¥£¥ó¥°¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html¥É¥­¥å¥á¥ó¥È¤Ë¼¨¤µ¤ì¤Æ¤¤¤ë¡¢Java ¼Â¹Ô´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.br -.br -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.if n \{\ .RE - -.LP - +.\} +.PP +\fIinputfile\fR +.RS 4 +ASCII¤ËÊÑ´¹¤¹¤ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fIoutputfile\fR +.RS 4 +ÊÑ´¹¤µ¤ì¤¿ASCII¥Õ¥¡¥¤¥ë¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fInative2ascii\fR¥³¥Þ¥ó¥É¤Ï¡¢ASCII¥­¥ã¥é¥¯¥¿¡¦¥»¥Ã¥È¤Ë´Þ¤Þ¤ì¤Ê¤¤¤¹¤Ù¤Æ¤Îʸ»ú¤ËUnicode¥¨¥¹¥±¡¼¥×(\fI\eu\fR\fIxxxx\fR)ɽµ­Ë¡¤ò»ÈÍѤ·¤Æ¡¢Java Runtime Environment (JRE)¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢ASCII¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£¤³¤Î¥×¥í¥»¥¹¤Ï¡¢ISO\-8859\-1ʸ»ú¥»¥Ã¥È¤Ë´Þ¤Þ¤ì¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤ÇɬÍפǤ¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢¤½¤ÎµÕ¤ÎÊÑ´¹¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.PP +\fIoutputfile\fRÃͤò¾Êά¤·¤¿¾ì¹ç¡¢É¸½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fIinputfile\fRÃͤò¾Êά¤·¤¿¾ì¹ç¡¢É¸½àÆþÎϤ«¤éÆþÎϤµ¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-reverse +.RS 4 +µÕ¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ISO\-8859\-1¤ÇUnicode¥¨¥¹¥±¡¼¥×¤ò»ÈÍѤ·¤Æ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢JRE¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£ +.RE +.PP +\-encoding \fIencoding_name\fR +.RS 4 +ÊÑ´¹½èÍý¤Ç»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°(\fIjava\&.nio\&.charset\&.Charset\&.defaultCharset\fR¥á¥½¥Ã¥É¤ÇÄêµÁ¤µ¤ì¤¿)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£\fIencoding_name\fRʸ»úÎó¤Ï¡¢JRE¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/intl/encoding\&.doc\&.html¤Ë¤¢¤ë +¡Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/orbd.1 b/jdk/src/linux/doc/man/ja/orbd.1 index b78927f5655..849257b14e2 100644 --- a/jdk/src/linux/doc/man/ja/orbd.1 +++ b/jdk/src/linux/doc/man/ja/orbd.1 @@ -1,368 +1,277 @@ -." Copyright (c) 2001, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH orbd 1 "07 May 2011" - -.LP -.SH "̾Á°" -orbd \- The Object Request Broker Daemon -.LP -.LP -\f3orbd\fP ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é CORBA ´Ä¶­¤Î¥µ¡¼¥Ð¡¼¤Ë¤¢¤ë»ý³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤Ë¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤¹¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£ -.LP -.LP -\f3´ØÏ¢¹àÌÜ:\fP -.na -\f2¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: orbd +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "orbd" "1" "2013ǯ11·î21Æü" "JDK 8" "Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +orbd \- CORBA´Ä¶­¤Î¥µ¡¼¥Ð¡¼¤Ë¤¢¤ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¯¥é¥¤¥¢¥ó¥È¤«¤é¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -orbd <\fP\f3options\fP\f3> -.fl -\fP +\fIorbd\fR [ \fIoptions\fR ] .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3orbd\fP ¥Ä¡¼¥ë¤Ë´Þ¤Þ¤ì¤ë¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ò»È¤¦¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï CORBA ´Ä¶­¤Ç¥µ¡¼¥Ð¡¼¾å¤Ë¤¢¤ë»ý³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤Ë¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ý³¥µ¡¼¥Ð¡¼¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ë»ý³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òȯ¹Ô¤¹¤ëºÝ¡¢¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ÎÂå¤ï¤ê¤Ë OBRD ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë´Þ¤á¤Þ¤¹¡£»ý³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë ORBD ¥Ý¡¼¥ÈÈÖ¹æ¤ò´Þ¤á¤ë¤³¤È¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ë¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤¬¡¢¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¥¿¥¤¥à¤È̵´Ø·¸¤Ë¤Ê¤ë¡£¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¡¢»Ï¤á¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤È¤­¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¥µ¡¼¥Ð¡¼¤Ë¤è¤ê¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤Î¸å¤Ï¡¢¥µ¡¼¥Ð¡¼¤Î³«»Ï¤Þ¤¿¤Ï¥·¥ã¥Ã¥È¥À¥¦¥ó¤Î²ó¿ô¤Ë¤«¤«¤ï¤é¤º¡¢ORBD ¤¬¤¤¤Ä¤Ç¤â¸Æ¤Ó½Ð¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤ËÀµ¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òÊÖ¤·¤Þ¤¹¡£ -.TP 2 -o -¥¯¥é¥¤¥¢¥ó¥È¤Ï°ìÅÙ¤À¤±¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¥ë¥Ã¥¯¥¢¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ë¤¬¡¢¤½¤Î¸å¤Ï¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¥¿¥¤¥à¤Ë¤è¤ëÊѹ¹¤È¤Ï̵´Ø·¸¤Ë¤³¤Î»²¾È¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë +.PP +\fIorbd\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢CORBA´Ä¶­¤Î¥µ¡¼¥Ð¡¼¤Ë¤¢¤ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¯¥é¥¤¥¢¥ó¥È¤«¤éÆ©²áŪ¤Ë¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£orbd¥Ä¡¼¥ë¤Ë´Þ¤Þ¤ì¤ë¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤ÏCORBA´Ä¶­¤Ç¥µ¡¼¥Ð¡¼¾å¤Ë¤¢¤ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤Ë¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£±Ê³¥µ¡¼¥Ð¡¼¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òȯ¹Ô¤¹¤ëºÝ¡¢¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î¤«¤ï¤ê¤ËORBD¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë´Þ¤á¤Þ¤¹¡£±Ê³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ËORBD¥Ý¡¼¥ÈÈÖ¹æ¤ò´Þ¤á¤ë¤³¤È¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ë¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤¬¡¢¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¡¦¥µ¥¤¥¯¥ë¤È̵´Ø·¸¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¡¢½é¤á¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤È¤­¤Ï¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¥µ¡¼¥Ð¡¼¤Ë¤è¤Ã¤Æ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤Î¸å¤Ï¡¢¥µ¡¼¥Ð¡¼¤Î³«»Ï¤Þ¤¿¤Ï¥·¥ã¥Ã¥È¥À¥¦¥ó¤Î²ó¿ô¤Ë¤«¤«¤ï¤é¤º¡¢¸Æ¤Ó½Ð¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤ËORBD¤¬Àµ¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òÊÖ¤·¤Þ¤¹¡£ .RE - -.LP -.LP -ORBD ¤Î¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢servertool(1) ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£servertool ¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢¤ª¤è¤Ó¥·¥ã¥Ã¥È¥À¥¦¥ó¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¥É¥­¥å¥á¥ó¥È¤Î¡Ö¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2orbd\fP ¤òµ¯Æ°¤¹¤ë¤È¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤âµ¯Æ°¤µ¤ì¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥é¥¤¥¢¥ó¥È¤Ï°ìÅ٤Τߥ͡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¥ë¥Ã¥¯¥¢¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤Î¸å¤Ï¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¡¦¥µ¥¤¥¯¥ë¤Ë¤è¤ëÊѹ¹¤È¤Ï̵´Ø·¸¤Ë¤³¤Î»²¾È¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +ORBD¤Î¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢\fIservertool\fR¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£servertool¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥Þ¤¬¡¢±Ê³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¤ª¤è¤ÓÄä»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤Î¾ÜºÙ¤Ï¡¢¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIorbd\fR¤òµ¯Æ°¤¹¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤âµ¯Æ°¤µ¤ì¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¡£¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.SS -ɬ¿Ü¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-ORBInitialPort nameserverport -¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹¡£\f2orbd\fP ¤Ï¡¢µ¯Æ°¤µ¤ì¤ë¤È¡¢¤³¤Î¥Ý¡¼¥È¾å¤ÇÃå¿®Í×µá¤òÂÔµ¡¤·¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£(ɬ¿Ü) +.PP +\-ORBInitialPort \fInameserverport\fR +.RS 4 +ɬ¿Ü¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹¡£\fIorbd\fR¤Ï¡¢µ¯Æ°¤µ¤ì¤ë¤È¡¢¤³¤Î¥Ý¡¼¥È¾å¤ÇÃå¿®¥ê¥¯¥¨¥¹¥È¤ò¥ê¥¹¥Ë¥ó¥°¤·¤Þ¤¹¡£Oracle Solaris¥½¥Õ¥È¥¦¥§¥¢¤Ç¤Ï¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¾ì¹ç¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ .RE - -.LP -.LP - -.LP -.SS -¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-port port -ORBD ¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£ORBD ¤Ï¡¢¤³¤Î¥Ý¡¼¥È¤Ç¡¢»ý³¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ëÍ×µá¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£¤³¤Î¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1049 ¤Ç¤¹¡£¤³¤Î¥Ý¡¼¥ÈÈֹ椬¡¢»ý³ Interoperable Object References (IOR). ¤Î¥Ý¡¼¥È¥Õ¥£¡¼¥ë¥É¤ËÄɲ䵤ì¤Þ¤¹¡£(¾Êά²Ä) +.SS "ɬ¿Ü¤Ç¤Ê¤¤¥ª¥×¥·¥ç¥ó" +.PP +\-port \fIport\fR +.RS 4 +ORBD¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Ý¡¼¥È¤Ç¡¢±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë¥ê¥¯¥¨¥¹¥È¤òORBD¤¬¼õ¤±¼è¤ê¤Þ¤¹¡£¤³¤Î¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏ1049¤Ç¤¹¡£¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ï¡¢±Ê³Interoperable Object References (IOR)¤Î¥Ý¡¼¥È¡¦¥Õ¥£¡¼¥ë¥É¤ËÄɲ䵤ì¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-defaultdb directory -ORBD »ý³³ÊǼ¥Ç¥£¥ì¥¯¥È¥ê \f2orb.db\fP ¤¬ºîÀ®¤µ¤ì¤ë¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϡÖ./orb.db¡×¤È¤Ê¤ê¤Þ¤¹¡£(¾Êά²Ä) +.PP +\-defaultdb \fIdirectory\fR +.RS 4 +ORBD±Ê³³ÊǼ¥Ç¥£¥ì¥¯¥È¥ê\fIorb\&.db\fR¤¬ºîÀ®¤µ¤ì¤ë¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤÏ\fI\&./orb\&.db\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-serverPollingTime milliseconds -\f2servertool\fP ¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿»ý³¥µ¡¼¥Ð¡¼¤¬Àµ¾ï¤Ëưºî¤·¤Æ¤¤¤ë¤³¤È¤ò ORBD ¤¬³Îǧ¤¹¤ë²ó¿ô¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1,000 ¥ß¥êÉäǤ¹¡£\f2milliseconds\fP ¤Ë»ØÄꤹ¤ëÃͤϡ¢Í­¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£(¾Êά²Ä) +.PP +\-serverPollingTime \fImilliseconds\fR +.RS 4 +\fIservertool\fR¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿±Ê³¥µ¡¼¥Ð¡¼¤Î¥Ø¥ë¥¹¾õÂÖ¤òORBD¤¬¥Á¥§¥Ã¥¯¤¹¤ë´Ö³Ö¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ1000¥ß¥êÉäǤ¹¡£\fImilliseconds\fR¤Ë»ØÄꤹ¤ëÃͤϡ¢Í­¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-serverStartupDelay milliseconds -\f2servertool\fP ¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿»ý³¥µ¡¼¥Ð¡¼¤òºÆµ¯Æ°¤·¤Æ¤«¤é¡¢°ÌÃÖžÁ÷¤ÎÎã³°¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤Î ORBD ¤ÎÂÔµ¡»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1,000 ¥ß¥êÉäǤ¹¡£\f2milliseconds\fP ¤Ë»ØÄꤹ¤ëÃͤϡ¢Í­¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£(¾Êά²Ä) +.PP +\-serverStartupDelay milliseconds +.RS 4 +\fIservertool\fR¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿±Ê³¥µ¡¼¥Ð¡¼¤òºÆµ¯Æ°¤·¤Æ¤«¤é¡¢°ÌÃÖžÁ÷¤ÎÎã³°¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤ÎORBD¤ÎÂÔµ¡»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ1000¥ß¥êÉäǤ¹¡£\fImilliseconds\fR¤Ë»ØÄꤹ¤ëÃͤϡ¢Í­¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 - +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.SH "¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß" -.LP -.LP -¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢ -.na -\f2CORBA ¥ª¥Ö¥¸¥§¥¯¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object¤Ë¥Í¡¼¥ß¥ó¥°¤ò²Äǽ¤Ë¤¹¤ë CORBA ¥µ¡¼¥Ó¥¹¤Ç¤¹¡£¥Í¡¼¥ß¥ó¥°¤Ï̾Á°¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤³¤È¤Ë¤è¤ê²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.na -\f2¡Ö¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ë³ÊǼ¤µ¤ì¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï̾Á°¤òÍ¿¤¨¤ÆÌÜŪ¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -ORBD ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ëÁ°¤Ëµ¯Æ°¤·¤Þ¤¹¡£ORBD ¤Ë¤Ï¡¢»ý³¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ª¤è¤Ó°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤É¤Á¤é¤â COS ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ç¤¹¡£ -.LP -.LP -\f3¡Ö»ý³¡×¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ËÂФ·¤Æ»ý³À­¤òÄ󶡤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤³¤Î¾ðÊó¤Ï¡¢¥µ¡¼¥Ó¥¹¤ÎÄä»ß¤äµ¯Æ°¸å¤Ë¤â°Ý»ý¤µ¤ì¡¢¥µ¡¼¥Ó¥¹¤Ë¾ã³²¤¬È¯À¸¤·¤¿¾ì¹ç¤Ç¤â²óÉü¤Ç¤­¤Þ¤¹¡£ORBD ¤òºÆµ¯Æ°¤¹¤ë¤È¡¢»ý³¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Î¥°¥é¥Õ¤òÉü¸µ¤·¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î̾Á°¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\ -.LP -.LP -²¼°Ì¸ß´¹À­¤Î¤¿¤á¡¢µì¥Ð¡¼¥¸¥ç¥ó¤Î JDK ¤ËƱº­¤µ¤ì¤Æ¤¤¤¿\f2°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP¤¬¡¢º£²ó¤Î¥ê¥ê¡¼¥¹¤Î J2SE ¤Ë¤âƱº­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¼Â¹ÔÃæ¤Ë¤Î¤ß¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ó¥¹¤¬ÃæÃǤµ¤ì¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ï¼º¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -\f2\-ORBInitialPort\fP °ú¿ô¤Ï¡¢\f2orbd\fP ¤Îɬ¿Ü¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤Ç¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤òÀßÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£°Ê²¼¤ÎÀâÌÀ¤Ç¤Ï¡¢JavaIDL Object Request Broker Daemon ÍѤ˥ݡ¼¥È 1050 ¤ò»ÈÍѤǤ­¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£É¬ÍפǤ¢¤ì¤ÐÊ̤Υݡ¼¥È¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤Ç \f2orbd\fP ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP +.SS "¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß" +.PP +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢CORBA¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Í¡¼¥ß¥ó¥°¤ò²Äǽ¤Ë¤¹¤ëCORBA¥µ¡¼¥Ó¥¹¤Ç¤¹¡£¥Í¡¼¥ß¥ó¥°¤Ï̾Á°¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤³¤È¤Ë¤è¤ê²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¥Í¡¼¥à¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ë³ÊǼ¤¹¤ì¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Ì¾Á°¤ò»ØÄꤷ¤ÆÌÜŪ¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢ORBD¤òµ¯Æ°¤·¤Þ¤¹¡£ORBD¤Ë¤Ï¡¢±Ê³¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ª¤è¤Ó°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤É¤Á¤é¤âCOS¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ç¤¹¡£ +.PP +±Ê³¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ËÂФ·¤Æ±Ê³À­¤òÄ󶡤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤³¤Î¾ðÊó¤Ï¡¢¥µ¡¼¥Ó¥¹¤ÎÄä»ß¤äµ¯Æ°¸å¤Ë¤â°Ý»ý¤µ¤ì¡¢¥µ¡¼¥Ó¥¹¤Ë¾ã³²¤¬È¯À¸¤·¤¿¾ì¹ç¤Ç¤â²óÉü¤Ç¤­¤Þ¤¹¡£ORBD¤òºÆµ¯Æ°¤¹¤ë¤È¡¢±Ê³¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î¥°¥é¥Õ¤òÉü¸µ¤·¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î̾Á°¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤½¤Î¤Þ¤Þ(±Ê³Ū¤Ë)ÊÝ»ý¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.PP +²¼°Ì¸ß´¹À­¤Î¤¿¤á¡¢µì¥ê¥ê¡¼¥¹¤ÎJDK¤ËƱº­¤µ¤ì¤Æ¤¤¤¿°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹\fItnameserv\fR¤¬¡¢º£²ó¤Î¥ê¥ê¡¼¥¹¤ÎJava SE¤Ë¤âƱº­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£°ì»þ¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤Ï¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Î¼Â¹ÔÃæ¤Ë¤Î¤ß¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ó¥¹¤¬ÃæÃǤµ¤ì¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¡¦¥°¥é¥Õ¤Ï¼º¤ï¤ì¤Þ¤¹¡£ +.PP +\fI\-ORBInitialPort\fR°ú¿ô¤Ï¡¢\fIorbd\fR¤Îɬ¿Ü¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Ç¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤òÀßÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¼¡¤Î¼ê½ç¤Ç¤Ï¡¢Java IDL Object Request Broker DaemonÍѤ˥ݡ¼¥È1050¤ò»ÈÍѤǤ­¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£Oracle Solaris¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£É¬ÍפǤ¢¤ì¤ÐÊ̤Υݡ¼¥È¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +UNIX¥³¥Þ¥ó¥É¡¦¥·¥§¥ë¤Ç\fIorbd\fR¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - orbd \-ORBInitialPort 1050& -.fl -\fP +orbd \-ORBInitialPort 1050& .fi - -.LP -.LP -Windows ¤Î MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +Windows¤ÎMS\-DOS¥·¥¹¥Æ¥à¡¦¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - start orbd \-ORBInitialPort 1050 -.fl -\fP +start orbd \-ORBInitialPort 1050 .fi - -.LP -.LP -¤³¤ì¤Ç ORBD ¤¬¼Â¹Ô¤µ¤ì¡¢¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¼Â¹Ô»þ¤Ë¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ (ɬÍפʾì¹ç¤Ï¤µ¤é¤Ë¥Þ¥·¥ó̾) ¤òǧ¼±¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¼Â¸½¤¹¤ë 1 ¤Ä¤ÎÊýË¡¤Ï¡¢¼¡¤Î¥³¡¼¥É¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÄɲ乤뤳¤È¤Ç¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤ì¤ÇORBD¤¬¼Â¹Ô¤µ¤ì¡¢¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¼Â¹Ô»þ¤Ë¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ(ɬÍפʾì¹ç¤Ï¤µ¤é¤Ë¥Þ¥·¥ó̾)¤òǧ¼±¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¼Â¸½¤¹¤ë1¤Ä¤ÎÊýË¡¤Ï¡¢¼¡¤Î¥³¡¼¥É¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÄɲ乤뤳¤È¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - Properties props = new Properties(); -.fl - props.put("org.omg.CORBA.ORBInitialPort", "1050"); -.fl - props.put("org.omg.CORBA.ORBInitialHost", "MyHost"); -.fl - ORB orb = ORB.init(args, props); -.fl -\fP +Properties props = new Properties(); +props\&.put("org\&.omg\&.CORBA\&.ORBInitialPort", "1050"); +props\&.put("org\&.omg\&.CORBA\&.ORBInitialHost", "MyHost"); +ORB orb = ORB\&.init(args, props); .fi - -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Û¥¹¥È MyHost ¤Î¥Ý¡¼¥È 1050 ¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Ê̤ÎÊýË¡¤È¤·¤Æ¡¢¥³¥Þ¥ó¥É¹Ô¤«¤é¥µ¡¼¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥Ý¡¼¥ÈÈÖ¹æ¤Þ¤¿¤Ï¥Þ¥·¥ó̾¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤ò»ØÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¡ÖHelloApplication¡×¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢¥Û¥¹¥È\fIMyHost\fR¤Î¥Ý¡¼¥È1050¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Ê̤ÎÊýË¡¤È¤·¤Æ¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¥µ¡¼¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥Ý¡¼¥ÈÈÖ¹æ¤Þ¤¿¤Ï¥Þ¥·¥ó̾¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤ò»ØÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\fIHelloApplication\fR¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - java HelloApplication \-ORBInitialPort 1050 \-ORBInitialHost MyHost -.fl -\fP +java HelloApplication \-ORBInitialPort 1050 \-ORBInitialHost MyHost .fi - -.LP -.LP -¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Å¬Àڤʥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Solaris ¾å¤Ç \f2pkill orbd\fP \f2¤ò¼Â¹Ô¤·¤¿¤ê¡¢\fP \f2orbd\fP ¤¬Æ°ºîÃæ¤Î DOS ¥¦¥£¥ó¥É¥¦¤Ç Ctrl+C ¥­¡¼¤ò²¡¤·¤¿¤ê¤·¤Þ¤¹¡£°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¾ì¹ç¤Ï¡¢¥µ¡¼¥Ó¥¹¤¬½ªÎ»¤µ¤ì¤ë¤È¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤¿Ì¾Á°¤¬¾Ãµî¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢ÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -ORDB ¤Ë´Þ¤Þ¤ì¤ë¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼" -.LP -.LP -ORBD ¤Î¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤Ë¥¢¥¯¥»¥¹¤·¤Æ»ý³¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢servertool(1) ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£servertool ¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢¤ª¤è¤Ó¥·¥ã¥Ã¥È¥À¥¦¥ó¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£\f2servertool\fP ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¾ì¹ç¤Ï¡¢\f2orbd\fP ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤ÈƱ¤¸¥Ý¡¼¥È¤È¥Û¥¹¥È¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤ò°Û¤Ê¤ë¥Ý¡¼¥È¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¥í¡¼¥«¥ë¥³¥ó¥Æ¥­¥¹¥ÈÍѤ˥ǡ¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢¥µ¡¼¥Ó¥¹¤¬Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£ -.LP -.SS -¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼: Îã -.LP -.LP -¥Ç¥âÍѤΠ-.na -\f2¥µ¥ó¥×¥ë¥Á¥å¡¼¥È¥ê¥¢¥ë\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html¤ò»ÈÍѤ·¡¢¥Á¥å¡¼¥È¥ê¥¢¥ë¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¡¢\f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤È \f2javac\fP ¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.LP -\f2orbd\fP ¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤Ç \f2orbd\fP ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.LP -\ -.LP +.if n \{\ +.RE +.\} +.PP +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Å¬Àڤʥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡¦¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Oracle Solaris¾å¤Ç\fIpkill\fR +\fIorbd\fR¤ò¼Â¹Ô¤·¤¿¤ê¡¢\fIorbd\fR¤¬Æ°ºîÃæ¤ÎDOS¥¦¥£¥ó¥É¥¦¤Ç\fB[Ctrl]+[C]\fR¥­¡¼¤ò²¡¤·¤Þ¤¹¡£°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¾ì¹ç¤Ï¡¢¥µ¡¼¥Ó¥¹¤¬½ªÎ»¤µ¤ì¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤¿Ì¾Á°¤¬¾Ãµî¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Java IDL¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢ÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.PP +ORBD¤ËÉÕ°¤¹¤ë¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¤Ï¡¢ +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/jidlNaming\&.html¤Î¡ÖNaming Service¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SH "¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã" +.PP +ORBD¤Î¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤Ë¥¢¥¯¥»¥¹¤·¤Æ¡¢±Ê³¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢\fIservertool\fR¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£servertool¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥Þ¤¬¡¢±Ê³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¤ª¤è¤ÓÄä»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£\fIservertool\fR¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¾ì¹ç¤Ï¡¢\fIorbd\fR¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤ÈƱ¤¸¥Ý¡¼¥È¤È¥Û¥¹¥È¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤ò°Û¤Ê¤ë¥Ý¡¼¥È¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¥í¡¼¥«¥ë¡¦¥³¥ó¥Æ¥­¥¹¥ÈÍѤ˥ǡ¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢¥µ¡¼¥Ó¥¹¤¬Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£ +.PP +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/jidlExample\&.html¤Î +¡ÖJava IDL: The "Hello World" Example¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Á¥å¡¼¥È¥ê¥¢¥ë¤Î¼ê½ç¤Ë½¾¤Ã¤Æ\fIidlj\fR¥³¥ó¥Ñ¥¤¥é¤È\fIjavac\fR¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤·¤Þ¤¹¡£ORBD¤Î¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.PP +\fIorbd\fR¤òµ¯Æ°¤·¤Þ¤¹¡£ +.PP +UNIX¥³¥Þ¥ó¥É¡¦¥·¥§¥ë¤Ç¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹: +\fIorbd \-ORBInitialPort 1050\fR¡£ +.PP +MS\-DOS¥·¥¹¥Æ¥à¡¦¥×¥í¥ó¥×¥È(Windows)¤Ç¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹: +\fIs\fR\fItart orbd \-ORBInitialPort 105\fR\fI0\fR +.PP +¥Ý¡¼¥È1050¤Ï¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¥Ý¡¼¥È¤Ç¤¹¡£\fI\-ORBInitialPort\fR¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Ç¤¹¡£Oracle Solaris¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.PP +\fIservertool\fR¤òµ¯Æ°¤·¤Þ¤¹: +\fIservertool \-ORBInitialPort 1050\fR¡£ +.PP +Á°²ó¤Î¼ê½ç¤È¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼(\fIorbd\fR)¤Î¥Ý¡¼¥È¤¬Æ±¤¸¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð\fI\-ORBInitialPort 1050\&.\fR¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£\fIservertool\fR¤Ï¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤ÈƱ¤¸¥Ý¡¼¥È¾å¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fIservertool\fR¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¡¢\fIservertool\fR¥×¥í¥ó¥×¥È¤«¤é\fIHello\fR¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - orbd \-ORBInitialPort 1050 -.fl -\fP -.fi - -.LP -.LP -Windows ¤Î MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - start orbd \-ORBInitialPort 1050 -.fl -\fP -.fi - -.LP -.LP -\f21050\fP ¤Ï¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¥Ý¡¼¥È¤Ç¤¹¡£\f2\-ORBInitialPort\fP ¤ÏɬÍפʥ³¥Þ¥ó¥É¹Ô¤Î°ú¿ô¤Ç¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.LP -.LP -\f2servertool\fP ¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -Hello ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - servertool \-ORBInitialPort 1050 -.fl -\fP -.fi - -.LP -.LP -Á°²ó¤Î¼ê½ç¤ÈƱÍͤ˥͡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤Î¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð \f2\-ORBInitialPort 1050\fP ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£\f2servertool\fP ¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ÈƱ¤¸¥Ý¡¼¥È¾å¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f2servertool\fP ¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.LP - -.LP -.LP -\f2servertool\fP ¥×¥í¥ó¥×¥È¤«¤é Hello ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - servertool > register \-server HelloServer \-classpath .\-applicationName -.fl +servertool > register \-server HelloServer \-classpath \&. \-applicationName HelloServerApName -.fl -\fP .fi - -.LP -.LP -\f2servertool\fP ¤Ë¤è¤Ã¤Æ¥µ¡¼¥Ð¡¼¤¬ÅÐÏ¿¤µ¤ì¤Æ¡¢¡ÖHelloServerApName¡×¤È¤¤¤¦Ì¾Á°¤¬¥µ¡¼¥Ð¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¡¢¥µ¡¼¥Ð¡¼ ID ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.LP - -.LP -.LP -Ê̤ÎüËö¥¦¥£¥ó¥É¥¦¤Þ¤¿¤Ï¥×¥í¥ó¥×¥È¤«¤é¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.LP -\ -.LP -.nf -\f3 -.fl - java HelloClient \-ORBInitialPort 1050 \-ORBInitialHost localhost -.fl -\fP -.fi - -.LP -.LP -¤³¤ÎÎã¤Î \f2\-ORBInitialHost localhost\fP ¤Ï¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬ Hello ¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ±°ì¥Û¥¹¥È¾å¤Çưºî¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬Ê̤Υۥ¹¥È¤Çưºî¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢IDL ¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤ò \f2\-ORBInitialHost\fP \f2nameserverhost\fP ¤Ç»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -Á°²ó¤Î¼ê½ç¤ÈƱÍͤ˥͡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤Î¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð \f2\-ORBInitialPort 1050\fP ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\ -.LP -.LP -\ -.LP -.LP -¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ÎÁàºî¤¬½ªÎ»¤·¤¿¤é¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤È \f2servertool\fP ¤òÄä»ß¤¹¤ë¤«½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -DOS ¥×¥í¥ó¥×¥È¤Ç \f2orbd\fP ¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤òÁªÂò¤·¤Æ \f2Ctrl+C\fP ¤ÈÆþÎϤ·¤Þ¤¹¡£UNIX ¥·¥§¥ë¤Ç \f2orbd\fP ¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥»¥¹¤ò¸¡½Ð¤·¤Æ½ªÎ» (kill) ¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤òÌÀ¼¨Åª¤ËÄä»ß¤¹¤ë¤Þ¤Ç¤Ï¡¢¸Æ¤Ó½Ð¤·ÂÔµ¡¾õÂÖ¤¬Â³¤­¤Þ¤¹¡£ -.LP -.LP -\f2servertool\fP ¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢ \f2quit\fP ¤ÈÆþÎϤ·¤Æ¥­¡¼¥Ü¡¼¥É¤Î \f2Enter\fP ¥­¡¼¤ò²¡¤·¤Þ¤¹¡£ -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -.na -\f2¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html -.br -.TP 2 -o -servertool(1) +.if n \{\ +.RE +.\} +.PP +\fIservertool\fR¤Ë¤è¤Ã¤Æ¥µ¡¼¥Ð¡¼¤¬ÅÐÏ¿¤µ¤ì¤Æ¡¢\fIHelloServerApName\fR¤È¤¤¤¦Ì¾Á°¤¬¥µ¡¼¥Ð¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¡¢ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¡¼°ìÍ÷¤È¤È¤â¤Ë¥µ¡¼¥Ð¡¼ID¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£Â¾¤ÎüËö¥¦¥£¥ó¥É¥¦¤Þ¤¿¤Ï¥×¥í¥ó¥×¥È¤«¤é¥¯¥é¥¤¥¢¥ó¥È¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java HelloClient \-ORBInitialPort 1050 \-ORBInitialHost localhost +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Î\fI\-ORBInitialHost localhost\fR¤Ï¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤¬\fIHello\fR¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ±°ì¥Û¥¹¥È¾å¤Çưºî¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤¬Ê̤Υۥ¹¥È¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\-\fIORBInitialHost nameserverhost\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆIDL¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£Á°¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤¿¤È¤ª¤ê¤Ë¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼(\fIorbd\fR)¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹(Îã: +\fI\-ORBInitialPort 1050\fR)¡£ORBD¤Î¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ÎÁàºî¤¬½ªÎ»¤·¤¿¤é¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼(\fIorbd\fR)¤È\fIservertool\fR¤òÄä»ß¤¹¤ë¤«½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£MS\-DOS¥×¥í¥ó¥×¥È¤Ç\fIorbd\fR¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤òÁªÂò¤·¤Æ\fB[Ctrl]+[C]\fR¥­¡¼¤ò²¡¤·¤Þ¤¹¡£ +.PP +Oracle Solaris¤«¤é\fIorbd\fR¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥»¥¹¤ò¸¡º÷¤·¤Æ¡¢\fIkill\fR¥³¥Þ¥ó¥É¤Ç½ªÎ»¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤òÌÀ¼¨Åª¤ËÄä»ß¤¹¤ë¤Þ¤Ç¤Ï¡¢¸Æ½Ð¤·ÂÔµ¡¾õÂÖ¤¬Â³¤­¤Þ¤¹¡£\fIservertool\fR¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢\fBquit\fR¤ÈÆþÎϤ·¤Æ¥­¡¼¥Ü¡¼¥É¤Î\fB[Enter]\fR¥­¡¼¤ò²¡¤·¤Þ¤¹¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +servertool(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/jidlNaming\&.html¤Î +¡ÖNaming Service¡× .RE - -.LP .br - -.LP - +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/pack200.1 b/jdk/src/linux/doc/man/ja/pack200.1 index b1bb4f0fe03..e4150ab54dd 100644 --- a/jdk/src/linux/doc/man/ja/pack200.1 +++ b/jdk/src/linux/doc/man/ja/pack200.1 @@ -1,362 +1,325 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH pack200 1 "07 May 2011" - -.LP -.SH "̾Á°" -pack200 \- JAR ¥Ñ¥Ã¥¯¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -½ªÎ»¥¹¥Æ¡¼¥¿¥¹ -.TP 2 -o -´ØÏ¢¹àÌÜ -.TP 2 -o -Ãí°Õ»ö¹à +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: pack200 +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "pack200" "1" "2013ǯ11·î21Æü" "JDK 8" "Java¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +pack200 \- Web¥Ç¥×¥í¥¤¥á¥ó¥È¤Î¤¿¤á¤ËJAR¥Õ¥¡¥¤¥ë¤òpack200°µ½Ì¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIpack200\fR [\fIoptions\fR] \fIoutput\-file\fR \fIJAR\-file\fR +.fi +.if n \{\ .RE - -.LP -.SH "·Á¼°" -.LP -.LP -\f4pack200\fP\f2 [ \fP\f2options\fP ] \f2output\-file\fP \f2JAR\-file\fP -.LP -.LP -¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¹Ô¤Þ¤¿¤Ï properties ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -output\-file -½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ -.TP 3 -JAR\-file -ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.\} +.PP +¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Þ¤¿¤Ïproperties¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£ +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f2pack200\fP ¥Ä¡¼¥ë¤Ï¡¢Java gzip °µ½Ì¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ JAR ¥Õ¥¡¥¤¥ë¤ò \f2pack200\fP °µ½Ì¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë \f2Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó\fP ¤Ç¤¹¡£ \f2pack200\fP ¥Õ¥¡¥¤¥ë¤Ï¹â°µ½Ì¤Î¥Õ¥¡¥¤¥ë¤Ç¡¢ÂÓ°èÉý¤ÎÀáÌó¤ä¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤Îû½Ì¤äľÀÜÇÛÈ÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2pack200\fP ¥Ä¡¼¥ë¤Ë¤Ï¡¢°µ½Ì¥¨¥ó¥¸¥ó¤ÎÀßÄê¤äÈùÄ´À°¤ò¹Ô¤¦¥ª¥×¥·¥ç¥ó¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SS -°ìÈÌŪ¤Ê»ÈÍÑÊýË¡: -.LP -.LP -\f2% pack200 myarchive.pack.gz myarchive.jar\fP -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢ \f2¥Ç¥Õ¥©¥ë¥È¤Î pack200 ÀßÄê¤ò»ÈÍѤ·¤Æ\fP myarchive.pack.gz \f2¤¬À¸À®¤µ¤ì¤Þ¤¹\fP ¡£ -.LP +.PP +\fIoutput\-file\fR +.RS 4 +½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.RE +.PP +\fIJAR\-file\fR +.RS 4 +ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIpack200\fR¥³¥Þ¥ó¥É¤Ï¡¢Java gzip¥³¥ó¥×¥ì¥Ã¥µ¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤òpack200°µ½Ì¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ëJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£pack200¥Õ¥¡¥¤¥ë¤Ï¹â°µ½Ì¤Î¥Õ¥¡¥¤¥ë¤Ç¡¢Ä¾ÀÜ¥Ç¥×¥í¥¤¤Ç¤­¡¢ÂÓ°èÉý¤ÎÀáÌó¤ä¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤Îû½Ì¤¬²Äǽ¤Ç¤¹¡£ +.PP +\fIpack200\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢°µ½Ì¥¨¥ó¥¸¥ó¤ÎÀßÄê¤äÈùÄ´À°¤ò¹Ô¤¦¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£°ìÈÌŪ¤Ê»ÈÍÑÊýË¡¤ò¼¡¤ÎÎã¤Ë¼¨¤·¤Þ¤¹¡£\fImyarchive\&.pack\&.gz\fR¤¬¥Ç¥Õ¥©¥ë¥È¤Î\fIpack200\fR¥³¥Þ¥ó¥ÉÀßÄê¤ÇºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pack200 myarchive\&.pack\&.gz myarchive\&.jar +.fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f4\-r \-\-repack\fP -.LP -.LP -¥Õ¥¡¥¤¥ë \f2myarchive.jar\fP ¤ò¥Ñ¥Ã¥¯¤·¤¿¤¢¤È¥¢¥ó¥Ñ¥Ã¥¯¤¹¤ë¤³¤È¤Ç¡¢JAR ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï \f2jarsigner(1)\fP ¥Ä¡¼¥ë¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -.LP -\f2% pack200 \-\-repack myarchive\-packer.jar myarchive.jar\fP -.LP -.LP -\f2% pack200 \-\-repack myarchive.jar\fP -.LP -.LP -\f4\-g \-\-no\-gzip\fP -.LP -.LP -\f2pack200\fP ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤­¤Ï¡¢Å¬Àڤʰµ½Ì¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Âбþ¤¹¤ë°µ½Ì²ò½ü¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f2% pack200 \-\-no\-gzip myarchive.pack myarchive.jar\fP -.LP -.LP -\f4\-G \-\-strip\-debug\fP -.LP -.LP -½ÐÎϤ«¤é¥Ç¥Ð¥Ã¥°ÍѤΰÀ­¤òºï½ü¤·¤Þ¤¹¡£¤½¤¦¤·¤¿Â°À­¤È¤·¤Æ¤Ï¡¢ \f2SourceFile\fP¡¢ \f2LineNumberTable\fP¡¢ \f2LocalVariableTable\fP ¡¢ \f2LocalVariableTypeTable\fP ¤Ê¤É¤¬µó¤²¤é¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î°À­¤òºï½ü¤¹¤ì¤Ð¡¢¥À¥¦¥ó¥í¡¼¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥Ç¥Ð¥Ã¥¬¤Îµ¡Ç½¤ÏÀ©¸Â¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-\-keep\-file\-order\fP -.LP -.LP -ÆþÎÏ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î½ç½ø¤ò°Ý»ý¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ -.LP -.LP -\f4\-O \-\-no\-keep\-file\-order\fP -.LP -.LP -¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¤¹¤Ù¤Æ¤ÎÍ×ÁǤòʤÙÂØ¤¨¤ÆÅ¾Á÷¤·¤Þ¤¹¡£¤Þ¤¿¡¢JAR ¥Ç¥£¥ì¥¯¥È¥ê̾¤òºï½ü¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥À¥¦¥ó¥í¡¼¥É¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤Ï¤¸¤á¤È¤¹¤ë JAR ¥Õ¥¡¥¤¥ë¤ÎºÇŬ²½µ¡Ç½¤ÏÀµ¾ï¤Ëưºî¤·¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f4\-Svalue \-\-segment\-limit=\fP\f2value\fP -.LP -.LP -¤³¤ÎÃͤϡ¢³Æ¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤ÎͽÁÛ¥¿¡¼¥²¥Ã¥È¥µ¥¤¥º N (¥Ð¥¤¥Èñ°Ì) ¤Ç¤¹¡£Ã±°ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎɬÍ×¥µ¥¤¥º¤¬ -.br -N ¥Ð¥¤¥È¤òͤ¨¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ë¤ÏÆÈΩ¤·¤¿¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ÆÃ¼ì¤Ê¥±¡¼¥¹¤È¤·¤Æ¡¢Ãͤ¬ \f2\-1\fP ¤Î¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ò´Þ¤àÂ礭¤Êñ°ì¤Î¥»¥°¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢Ãͤ¬ \f20\fP ¤Î¾ì¹ç¤Ï¡¢¥¯¥é¥¹¤´¤È¤Ë¥»¥°¥á¥ó¥È¤¬ 1 ¤Ä¤º¤ÄÀ¸À®¤µ¤ì¤Þ¤¹¡£¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤¬Â礭¤¯¤Ê¤ë¤È¡¢ÃÇÊÒ²½¤¬¾¯¤Ê¤¯¤Ê¤ê°µ½ÌΨ¤¬¹â¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤Î½èÍý¤Ë¤Ï¿¤¯¤Î¥á¥â¥ê¡¼¤¬É¬ÍפǤ¹¡£ -.LP -.LP -³Æ¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤Ï¡¢¥»¥°¥á¥ó¥È¤ËÊÑ´¹¤µ¤ì¤ë¤½¤ì¤¾¤ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤Î¤Û¤«¡¢¤½¤Î̾Á°¤È¤Û¤«¤ÎÁ÷¿®¤µ¤ì¤ë¥×¥í¥Ñ¥Æ¥£¡¼¤Î¥µ¥¤¥º¤ò·×»»¤·¤Æ¿ä¬¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ï \-1 ¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¾ï¤Ëñ°ì¤Î¥»¥°¥á¥ó¥È½ÐÎÏ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¶Ëü¤ËÂ礭¤Ê½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò¥»¥°¥á¥ó¥È²½ (ʬ³ä) ¤·¤Æ¤è¤ê¾®¤µ¤Ê JAR ¤Ë¤¹¤ë¤³¤È¤ò¶¯¤¯¤ª´«¤á¤·¤Þ¤¹¡£ -.LP -.LP -¤³¤ÎÀ©¸Â¤¬²Ý¤µ¤ì¤Æ¤¤¤Ê¤¤ 10M ¥Ð¥¤¥È¤Î JAR ¥Ñ¥Ã¥¯¥Õ¥¡¥¤¥ë¤ÏÄ̾¸µ¤Î 10% ÄøÅ٤Υµ¥¤¥º¤Ë¥Ñ¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ç¤è¤êÂ礭¤Ê Java ¥Ò¡¼¥× (¥»¥°¥á¥ó¥È¤ÎÀ©¸Â¤ÎÌó 10 ÇÜ) ¤òɬÍפȤ¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f4\-Evalue \-\-effort=\fP\f2value\fP -.LP -.LP -ñ°ì¤Î 10 ¿Ê¿ôÃͤò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿°µ½ÌΨ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò°µ½Ì¤·¤Þ¤¹¡£¥ì¥Ù¥ë \f21\fP ¤Î¾ì¹ç¤Ï¡¢Èæ³ÓŪû¤¤°µ½Ì»þ´Ö¤Ç¤ä¤äÂ礭¤á¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¤¬¡¢¥ì¥Ù¥ë \f29\fP ¤Î¾ì¹ç¤Ï¡¢Èó¾ï¤ËŤ¤»þ´Ö¤¬¤«¤«¤ë¤â¤Î¤Î¡¢¤è¤ê°µ½ÌΨ¤Î¹â¤¤¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ÆÃ¼ì¤ÊÃÍ \f20\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸µ¤Î JAR ¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤Ê¤·¤ÇľÀÜ¥³¥Ô¡¼¤·¤Þ¤¹¡£JSR 200 ɸ½à¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î²òÅà¥×¥í¥°¥é¥à¤¬¡¢¤³¤ÎÆÃÊ̤ʾì¹ç¤ò¥¢¡¼¥«¥¤¥ÖÁ´ÂΤΥѥ¹¥¹¥ë¡¼¤È²ò¼á¤¹¤ë¤è¤¦¤Ëµ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ï \f25\fP¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢É¸½àŪ¤Ê»þ´Ö¤ÇŬÀڤʰµ½Ì¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP -.LP -.LP -¥Ç¥Õ¥©¥ë¥ÈÃͤò¾å½ñ¤­¤·¡¢ÆþÎϾðÊó¤òÊݸ¤·¤Þ¤¹¡£Å¾Á÷¤µ¤ì¤ë¥¢¡¼¥«¥¤¥Ö¤Î¥µ¥¤¥º¤ÏÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£ÊÖ¤µ¤ì¤ëÃͤϼ¡¤Î¤É¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -true -.TP 3 -false -¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ò½ÐÎÏ¥¢¡¼¥«¥¤¥Ö¤ËÀßÄꤷ¤Þ¤¹¡£¥¢¡¼¥«¥¤¥ÖÍ×ÁǤθġ¹¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ÏžÁ÷¤·¤Þ¤»¤ó¡£ +.PP +\-r, \-\-repack +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ò¥Ñ¥Ã¥¯¤·¤¿¸å¥¢¥ó¥Ñ¥Ã¥¯¤·¤Æ¡¢JAR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï\fIjarsigner\fR(1)¥Ä¡¼¥ë¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢myarchive\&.jar¥Õ¥¡¥¤¥ë¤ò¥Ñ¥Ã¥¯¤·¤¿¸å¡¢¥¢¥ó¥Ñ¥Ã¥¯¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pack200 \-\-repack myarchive\-packer\&.jar myarchive\&.jar +pack200 \-\-repack myarchive\&.jar +.fi +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -keep -ÆþÎÏ JAR.Æâ¤Ç¸«¤Ä¤«¤Ã¤¿¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ò°Ý»ý¤·¤Þ¤¹¡£(¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£) +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î½ç½ø¤òÊÝ»ý¤·¤Þ¤¹¡£ .RE - -.LP -.LP -\f4\-mvalue \-\-modification\-time=\fP\f2value\fP -.LP -.LP -ÊÖ¤µ¤ì¤ëÃͤϼ¡¤Î¤É¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -latest -¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¸µ¤Î¥¢¡¼¥«¥¤¥Ö¤ÎÁ´¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤«¡¢¤½¤Î¥»¥°¥á¥ó¥È¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤òÆÃÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡£¤³¤Îñ°ì¤ÎÃͤϥ»¥°¥á¥ó¥È¤Î°ìÉô¤È¤·¤ÆÅ¾Á÷¤µ¤ì¡¢³Æ¥»¥°¥á¥ó¥È¤ÎÁ´¥¨¥ó¥È¥ê¤ËŬÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤Ëñ°ì¤ÎÆüÉÕ¤¬ÀßÄꤵ¤ì¤ë¤È¤¤¤¦ÌäÂê¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¥¢¡¼¥«¥¤¥Ö¤ÎžÁ÷¥µ¥¤¥º¤ò¾¯¤·¾®¤µ¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 3 -keep -ÆþÎÏ JAR. Æâ¤Ç¸«¤Ä¤«¤Ã¤¿Êѹ¹»þ¹ï¤ò°Ý»ý¤·¤Þ¤¹¡£(¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£) +.PP +\-g, \-\-no\-gzip +.RS 4 +\fIpack200\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤­¤Ï¡¢Å¬Àڤʰµ½Ì¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Âбþ¤¹¤ë°µ½Ì²ò½ü¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pack200 \-\-no\-gzip myarchive\&.pack myarchive\&.jar +.fi +.if n \{\ .RE - -.LP -.LP -\f4\-Pfile \-\-pass\-file=\fP\f2file\fP -.LP -.LP -¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤»¤º¡¢¥Ð¥¤¥Èñ°Ì¤ÇžÁ÷¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤·»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¥»¥Ñ¥ì¡¼¥¿¤¬ JAR ¥Õ¥¡¥¤¥ë¥»¥Ñ¥ì¡¼¥¿¡Ö\f2/\fP¡×¤ËÃÖ¤­´¹¤¨¤é¤ì¤ëÅÀ¤ò½ü¤­¡¢¥Ñ¥¹Ì¾¤ÎÊÑ´¹¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£ ·ë²Ì¤È¤·¤ÆÆÀ¤é¤ì¤ë¥Õ¥¡¥¤¥ë̾¤Ï¡¢Ê¸»úÎó¤È¤·¤ÆÀµ³Î¤Ë JAR ¥Õ¥¡¥¤¥ë¤Ç¤Î½Ð¸½¤È°ìÃפ·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£file ¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬Å¾Á÷¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-Uaction \-\-unknown\-attribute=\fP\f2action\fP -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÉÔÌÀ¤Ê°À­¤ò´Þ¤à¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¥¢¥¯¥·¥ç¥ó¤ÇžÁ÷¤·¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃÍ: -.LP -.RS 3 -.TP 3 -error -\f2pack200\fP ¤ÎÁàºî¤Ë¼ºÇÔ¤·¡¢Å¬ÀڤʲòÀ⤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.TP 3 -strip -°À­¤Ï¥É¥í¥Ã¥×¤µ¤ì¤Þ¤¹¡£Ãí: VM ɬ¿Ü°À­¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¥í¡¼¥À¡¼¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -pass -¤³¤Î°À­¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤ¬ 1 ¤Ä¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆÅ¾Á÷¤µ¤ì¤Þ¤¹¡£ +.\} .RE - -.LP -.LP -\f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP -.br -\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP -.br -\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP -.br -\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP -.LP -.LP -¤³¤ì¤é 4 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥¯¥é¥¹¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ë Class °À­¡¢Field °À­¡¢Method °À­¡¢Code °À­¤Ê¤É¤Î°À­¤Î¥ì¥¤¥¢¥¦¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£attribute\-name ¤Ë¤Ï¡¢¤³¤ì¤«¤é¥ì¥¤¥¢¥¦¥È¤Þ¤¿¤Ï¥¢¥¯¥·¥ç¥ó¤òÄêµÁ¤¹¤ë°À­¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃÍ: -.LP -.RS 3 -.TP 3 -some\-layout\-string -¥ì¥¤¥¢¥¦¥È¸À¸ì¤Ï¡¢JSR 200 »ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -Îã: \f2\-\-class\-attribute=SourceFile=RUH\fP -.TP 3 -error -¤³¤Î°À­¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢pack200 ¤ÎÁàºî¤Ë¼ºÇÔ¤·¡¢Å¬ÀڤʲòÀ⤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.TP 3 -strip -¤³¤Î°À­¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢Â°À­¤Ï½ÐÎϤ«¤éºï½ü¤µ¤ì¤Þ¤¹¡£Ãí: VM ɬ¿Ü°À­¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¥í¡¼¥À¡¼¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +\-G, \-\-strip\-debug +.RS 4 +½ÐÎϤ«¤é¥Ç¥Ð¥Ã¥°Â°À­¤òºï½ü¤·¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢\fISourceFile\fR¡¢\fILineNumberTable\fR¡¢\fILocalVariableTable\fR¡¢\fILocalVariableTypeTable\fR¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î°À­¤òºï½ü¤¹¤ì¤Ð¡¢¥À¥¦¥ó¥í¡¼¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥Ç¥Ð¥Ã¥¬¤Îµ¡Ç½¤ÏÀ©¸Â¤µ¤ì¤Þ¤¹¡£ .RE - -.LP -.LP -Îã: \f2\-\-class\-attribute=CompilationID=pass\fP ¤È¤¤¤¦¤³¤Î°À­¤ò´Þ¤à¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òžÁ÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¤½¤Î¾¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¤¤Þ¤»¤ó¡£ -.LP -.LP -\f4\-f\fP\f2 \fP\f2pack.properties\fP \f3\-\-config\-file=\fP\f2pack.properties\fP -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¤Ë¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤ò½é´ü²½¤¹¤ë¤¿¤á¤Î Java ¥×¥í¥Ñ¥Æ¥£¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2% pack200 \-f pack.properties myarchive.pack.gz myarchive.jar\fP -.br -\f2% more pack.properties\fP -.br -\f2# Generic properties for the packer.\fP -.br -\f2modification.time=latest\fP -.br -\f2deflate.hint=false\fP -.br -\f2keep.file.order=false\fP -.br -\f2# This option will cause the files bearing new attributes to\fP -.br -\f2# be reported as an error rather than passed uncompressed.\fP -.br -\f2unknown.attribute=error\fP -.br -\f2# Change the segment limit to be unlimited.\fP -.br -\f2segment.limit=\-1\fP -.LP -.LP -\f4\-v \-\-verbose\fP -.LP -.LP -ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-q \-\-quiet\fP -.LP -.LP -¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ëưºî¤·¤Þ¤¹¡£ -.LP -.LP -\f4\-lfilename \-\-log\-file=\fP\f2filename\fP -.LP -.LP -½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f4\-? \-h \-\-help\fP -.LP -.LP +.PP +\-\-keep\-file\-order +.RS 4 +ÆþÎÏ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î½ç½ø¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ +.RE +.PP +\-O, \-\-no\-keep\-file\-order +.RS 4 +¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢¤¹¤Ù¤Æ¤ÎÍ×ÁǤòʤÙÂØ¤¨¤ÆÁ÷¿®¤·¤Þ¤¹¡£¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢JAR¥Ç¥£¥ì¥¯¥È¥ê̾¤òºï½ü¤·¤Æ¥À¥¦¥ó¥í¡¼¥É¡¦¥µ¥¤¥º¤òºï¸º¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ê¤É¡¢ÆÃÄê¤ÎJAR¥Õ¥¡¥¤¥ë¤ÎºÇŬ²½µ¡Ç½¤¬Àµ¾ï¤Ëưºî¤·¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-S\fIvalue\fR, \-\-segment\-limit=\fIvalue\fR +.RS 4 +¤³¤ÎÃͤϡ¢³Æ¥¢¡¼¥«¥¤¥Ö¡¦¥»¥°¥á¥ó¥È¤ÎͽÁÛ¥¿¡¼¥²¥Ã¥È¡¦¥µ¥¤¥º\fIN\fR +(¥Ð¥¤¥Èñ°Ì)¤Ç¤¹¡£Ã±°ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎɬÍ×¥µ¥¤¥º¤¬\fIN\fR¥Ð¥¤¥È¤òͤ¨¤ë¤È¡¢ÆÈΩ¤·¤¿¥»¥°¥á¥ó¥È¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ÆÃ¼ì¤Ê¥±¡¼¥¹¤È¤·¤Æ¡¢Ãͤ¬\fI\-1\fR¤Î¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ò´Þ¤àÂ礭¤Êñ°ì¤Î¥»¥°¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢Ãͤ¬0¤Î¾ì¹ç¤Ï¡¢¥¯¥é¥¹¤´¤È¤Ë¥»¥°¥á¥ó¥È¤¬1¤Ä¤º¤ÄÀ¸À®¤µ¤ì¤Þ¤¹¡£¥¢¡¼¥«¥¤¥Ö¡¦¥»¥°¥á¥ó¥È¤¬Â礭¤¯¤Ê¤ë¤È¡¢ÃÇÊÒ²½¤¬¾¯¤Ê¤¯¤Ê¤ê°µ½ÌΨ¤¬¹â¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤Î½èÍý¤Ë¤Ï¿¤¯¤Î¥á¥â¥ê¡¼¤¬É¬ÍפǤ¹¡£ +.sp +³Æ¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤Ï¡¢¥»¥°¥á¥ó¥È¤ËÊÑ´¹¤µ¤ì¤ë¤½¤ì¤¾¤ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤Î¤Û¤«¡¢¤½¤Î̾Á°¤È¾¤ÎÁ÷¿®¤µ¤ì¤ë¥×¥í¥Ñ¥Æ¥£¤Î¥µ¥¤¥º¤ò·×»»¤·¤Æ¿ä¬¤µ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ï\-1¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ïñ°ì¤Î¥»¥°¥á¥ó¥È½ÐÎÏ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¶Ëü¤ËÂ礭¤Ê½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò¥»¥°¥á¥ó¥È²½(ʬ³ä)¤·¤Æ¤è¤ê¾®¤µ¤ÊJAR¤Ë¤¹¤ë¤³¤È¤ò¶¯¤¯¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.sp +¤³¤ÎÀ©¸Â¤¬²Ý¤µ¤ì¤Æ¤¤¤Ê¤¤10 MB¤ÎJAR¥Ñ¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤ÏÄ̾Ìó10%¾®¤µ¤¯¥Ñ¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ç¤è¤êÂ礭¤ÊJava¥Ò¡¼¥×(¥»¥°¥á¥ó¥È¤ÎÀ©¸Â¤ÎÌó10ÇÜ)¤òɬÍפȤ¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-E\fIvalue\fR, \-\-effort=\fIvalue\fR +.RS 4 +ñ°ì¤Î10¿Ê¿ôÃͤò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿°µ½ÌΨ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò°µ½Ì¤·¤Þ¤¹¡£¥ì¥Ù¥ë1¤Î¾ì¹ç¤Ï¡¢Èæ³ÓŪû¤¤°µ½Ì»þ´Ö¤Ç¿¾¯Â礭¤á¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¤¬¡¢¥ì¥Ù¥ë9¤Î¾ì¹ç¤Ï¡¢Èó¾ï¤ËŤ¤»þ´Ö¤¬¤«¤«¤ë¤â¤Î¤Î¡¢¤è¤ê°µ½ÌΨ¤Î¹â¤¤¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ÆÃ¼ì¤ÊÃÍ0¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢\fIpack200\fR¥³¥Þ¥ó¥É¤Ï¸µ¤ÎJAR¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤Ê¤·¤ÇľÀÜ¥³¥Ô¡¼¤·¤Þ¤¹¡£JSR 200ɸ½à¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î²òÅà¥×¥í¥°¥é¥à¤¬¡¢¤³¤ÎÆÃÊ̤ʾì¹ç¤ò¥¢¡¼¥«¥¤¥ÖÁ´ÂΤΥѥ¹¥¹¥ë¡¼¤È²ò¼á¤¹¤ë¤è¤¦¤Ëµ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ï5¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢É¸½àŪ¤Ê»þ´Ö¤ÇŬÀڤʰµ½Ì¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +\-H\fIvalue\fR, \-\-deflate\-hint=\fIvalue\fR +.RS 4 +ÆþÎϾðÊó¤òÊݸ¤¹¤ë¤È¤¤¤¦¥Ç¥Õ¥©¥ë¥ÈÃͤò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£Å¾Á÷¤µ¤ì¤ë¥¢¡¼¥«¥¤¥Ö¤Î¥µ¥¤¥º¤ÏÂ礭¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£»ØÄê²Äǽ¤ÊÃͤϡ¢\fItrue\fR¡¢\fIfalse\fR¤Þ¤¿¤Ï\fIkeep\fR¤Ç¤¹¡£ +.sp +\fIvalue\fR¤¬\fItrue\fR¤Þ¤¿¤Ïfalse¤Î¾ì¹ç¡¢\fIpacker200\fR¥³¥Þ¥ó¥É¤Ï»ØÄê¤Ë½¾¤Ã¤Æ¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¡¦¥Ò¥ó¥È¤ò½ÐÎÏ¥¢¡¼¥«¥¤¥Ö¤ËÀßÄꤷ¤Þ¤¹¡£¥¢¡¼¥«¥¤¥ÖÍ×ÁǤθġ¹¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¡¦¥Ò¥ó¥È¤ÏžÁ÷¤µ¤ì¤Þ¤»¤ó¡£ +.sp +\fIkeep\fRÃͤϡ¢ÆþÎÏJAR¤Ç³Îǧ¤µ¤ì¤¿¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¡¦¥Ò¥ó¥È¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ +.RE +.PP +\-m\fIvalue\fR, \-\-modification\-time=\fIvalue\fR +.RS 4 +»ØÄê²Äǽ¤ÊÃͤÏ\fIlatest\fR¤È\fIkeep\fR¤Ç¤¹¡£ +.sp +Ãͤ¬ºÇ¿·¤Î¾ì¹ç¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢¸µ¤Î¥¢¡¼¥«¥¤¥Ö¤Î»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Î¤¦¤Á¤ÎºÇ½ª¹¹¿·»þ¹ï¤«¡¢¤½¤Î¥»¥°¥á¥ó¥È¤Î»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤òÆÃÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡£¤³¤Îñ°ì¤ÎÃͤϥ»¥°¥á¥ó¥È¤Î°ìÉô¤È¤·¤ÆÅ¾Á÷¤µ¤ì¡¢³Æ¥»¥°¥á¥ó¥È¤ÎÁ´¥¨¥ó¥È¥ê¤ËŬÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¦¥Õ¥¡¥¤¥ë¤Ëñ°ì¤ÎÆüÉÕ¤¬ÀßÄꤵ¤ì¤ë¤È¤¤¤¦ÌäÂê¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¥¢¡¼¥«¥¤¥Ö¤ÎžÁ÷¥µ¥¤¥º¤ò¾¯¤·¾®¤µ¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +Ãͤ¬\fIkeep\fR¤Î¾ì¹ç¡¢ÆþÎÏJAR¤Ç³Îǧ¤µ¤ì¤¿Êѹ¹»þ´Ö¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ +.RE +.PP +\-P\fIfile\fR, \-\-pass\-file=\fIfile\fR +.RS 4 +¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤»¤º¡¢¥Ð¥¤¥Èñ°Ì¤ÇžÁ÷¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«ÊÖ¤·»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥·¥¹¥Æ¥à¡¦¥Õ¥¡¥¤¥ë¡¦¥»¥Ñ¥ì¡¼¥¿¤¬JAR¥Õ¥¡¥¤¥ë¡¦¥»¥Ñ¥ì¡¼¥¿¤Î¥¹¥é¥Ã¥·¥å(/)¤ËÃÖ¤­´¹¤¨¤é¤ì¤ëÅÀ¤ò½ü¤­¡¢¥Ñ¥¹Ì¾¤ÎÊÑ´¹¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£·ë²Ì¤È¤·¤ÆÆÀ¤é¤ì¤ë¥Õ¥¡¥¤¥ë̾¤Ï¡¢Ê¸»úÎó¤È¤·¤ÆÀµ³Î¤ËJAR¥Õ¥¡¥¤¥ë¤Ç¤Î½Ð¸½¤È°ìÃפ·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIfile\fR¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬Å¾Á÷¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-U\fIaction\fR, \-\-unknown\-attribute=\fIaction\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ÉÔÌÀ¤Ê°À­¤ò´Þ¤à¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¡¢»ØÄꤷ¤¿\fIaction\fR¤Ë¤è¤Ã¤ÆÅϤµ¤ì¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃͤϡ¢\fIerror\fR¡¢\fIstrip\fR¤Þ¤¿¤Ï\fIpass\fR¤Ç¤¹¡£ +.sp +Ãͤ¬\fIerror\fR¤Î¾ì¹ç¡¢\fIpack200\fR¥³¥Þ¥ó¥ÉÁàºîÁ´ÂΤ¬¼ºÇÔ¤·¤ÆÅ¬ÀÚ¤ÊÀâÌÀ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +Ãͤ¬\fIstrip\fR¤Î¾ì¹ç¡¢Â°À­¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£Java²¾ÁÛ¥Þ¥·¥ó(JVM)ɬ¿Ü°À­¤òºï½ü¤¹¤ë¤È¡¢¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +Ãͤ¬\fIpass\fR¤Î¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤ¬1¤Ä¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆÅ¾Á÷¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-C\fIattribute\-name\fR=\fIlayout\fR, \-\-class\-attribute=\fIattribute\-name\fR=\fIaction\fR +.RS 4 +¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-F\fIattribute\-name\fR=\fIlayout\fR, \-\-field\-attribute=\fIattribute\-name\fR=\fIaction\fR +.RS 4 +¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-M\fIattribute\-name\fR=\fIlayout\fR, \-\-method\-attribute=\fIattribute\-name\fR=\fIaction\fR +.RS 4 +¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-D\fIattribute\-name\fR=\fIlayout\fR, \-\-code\-attribute=\fIattribute\-name\fR=\fIaction\fR +.RS 4 +Á°½Ò¤Î4¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥¨¥ó¥Æ¥£¥Æ¥£¤Ë\fIclass\-attribute\fR¡¢\fIfield\-attribute\fR¡¢\fImethod\-attribute\fR¤ª¤è¤Ó\fIcode\-attribute\fR¤Ê¤É¤Î°À­¤Î¥ì¥¤¥¢¥¦¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIattribute\-name\fR¤Ë¤Ï¡¢¤³¤ì¤«¤é¥ì¥¤¥¢¥¦¥È¤Þ¤¿¤Ï¥¢¥¯¥·¥ç¥ó¤òÄêµÁ¤¹¤ë°À­¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£\fIaction\fR¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃͤϡ¢\fIsome\-layout\-string\fR¡¢\fIerror\fR¡¢\fIstrip\fR¡¢\fIpass\fR¤Ç¤¹¡£ +.sp +\fIsome\-layout\-string\fR: ¥ì¥¤¥¢¥¦¥È¸À¸ì¤ÏJSR 200»ÅÍͤÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Îã: +\fI\-\-class\-attribute=SourceFile=RUH\fR¡£ +.sp +Ãͤ¬\fIerror\fR¤Î¾ì¹ç¡¢\fIpack200\fRÁàºî¤¬¼ºÇÔ¤·¤ÆÀâÌÀ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +Ãͤ¬\fIstrip\fR¤Î¾ì¹ç¡¢Â°À­¤¬½ÐÎϤ«¤éºï½ü¤µ¤ì¤Þ¤¹¡£VMɬ¿Ü°À­¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-\-class\-attribute=CompilationID=pass\fR¤È¤¤¤¦¤³¤Î°À­¤ò´Þ¤à¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òžÁ÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢¤½¤Î¾¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¤¤Þ¤»¤ó¡£ +.sp +Ãͤ¬\fIpass\fR¤Î¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤ¬1¤Ä¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆÅ¾Á÷¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-f \fIpack\&.properties\fR, \-\-config\-file=\fIpack\&.properties\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤ò½é´ü²½¤¹¤ë¤¿¤á¤ÎJava¥×¥í¥Ñ¥Æ¥£¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¹½À®¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pack200 \-f pack\&.properties myarchive\&.pack\&.gz myarchive\&.jar +more pack\&.properties +# Generic properties for the packer\&. +modification\&.time=latest +deflate\&.hint=false +keep\&.file\&.order=false +# This option will cause the files bearing new attributes to +# be reported as an error rather than passed uncompressed\&. +unknown\&.attribute=error +# Change the segment limit to be unlimited\&. +segment\&.limit=\-1 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-v, \-\-verbose +.RS 4 +ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-q, \-\-quiet +.RS 4 +¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ëưºî¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-l\fIfilename\fR, \-\-log\-file=\fIfilename\fR +.RS 4 +½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-?, \-h, \-\-help +.RS 4 ¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f4\-V \-\-version\fP -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f4\-J\fP\f2option\fP -.LP -.LP -\f2option\fP ¤ò¡¢ \f2pack200\fP ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿ Java µ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï \f2\-X\fP ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢ \f2pack200\fP ¤Îɸ½à¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ \f2\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ­½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇØ¸å¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" -.LP -.LP -¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2\ 0\fP Àµ¾ï½ªÎ»¤·¤¿¾ì¹ç -.LP -.LP -\f2>0\fP ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -unpack200(1) -.TP 2 -o -.na -\f2Java SE ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/index.html -.TP 2 -o -.na -\f2¡ÖJava ÇÛÈ÷¥¬¥¤¥É \- Pack200¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html -.TP 2 -o -jar(1) \- Java Archive ¥Ä¡¼¥ë¡× -.TP 2 -o -jarsigner(1) \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë¡× -.TP 2 -o -\f2attributes(5) ¤Î\fP ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸ .RE - -.LP -.SH "Ãí°Õ»ö¹à" -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤È \f2pack(1)\fP ¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£ -.LP -.LP -SDK ¤ËÉÕ°¤¹¤ë Java SE API »ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£ -.LP - +.PP +\-V, \-\-version +.RS 4 +¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤òJava²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢java(1)¥³¥Þ¥ó¥É¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" +.PP +¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹: Àµ¾ï½ªÎ»¤Î¾ì¹ç¤Ï0¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï0¤è¤êÂ礭¤¤ÃÍ¡£ +.SH "Ãí°Õ" +.PP +¤³¤Î¥³¥Þ¥ó¥É¤È\fIpack\fR(1)¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£\fIpack\fR¤ª¤è¤Ó\fIpack200\fR¥³¥Þ¥ó¥É¤Ï¡¢ÊÌ¡¹¤ÎÀ½ÉʤǤ¹¡£ +.PP +JDK¤ËÉÕ°¤¹¤ëJava SE API»ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +unpack200(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jarsigner(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/policytool.1 b/jdk/src/linux/doc/man/ja/policytool.1 index b3de7eca294..c724f7893be 100644 --- a/jdk/src/linux/doc/man/ja/policytool.1 +++ b/jdk/src/linux/doc/man/ja/policytool.1 @@ -1,105 +1,173 @@ -." Copyright (c) 2001, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH policytool 1 "07 May 2011" - -.LP -.SH "̾Á°" -policytool \- PolicyTool ´ÉÍý GUI ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼ -.LP -\f3policytool\fP ¤Ï¡¢¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼ GUI ·Ðͳ¤Ç¼èÆÀ¤·¤¿¥æ¡¼¥¶¡¼ÆþÎϤ˴ð¤Å¤¤¤Æ¡¢¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½ñ¤­¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ +'\" t +.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: policytool +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "policytool" "1" "2013ǯ11·î21Æü" "JDK 8" "¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +policytool \- ¥æ¡¼¥Æ¥£¥ê¥Æ¥£GUI·Ðͳ¤Ç¼èÆÀ¤·¤¿¥æ¡¼¥¶¡¼ÆþÎϤ˴ð¤Å¤¤¤Æ¡¢¥×¥ì¡¼¥ó¡¦¥Æ¥­¥¹¥È¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½ñ¤­¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIpolicytool\fR [ \fI\-file\fR ] [ \fIfilename\fR ] +.fi +.if n \{\ .RE - -.LP -.SH "·Á¼°" -.LP -.RS 3 -.TP 3 -\ -.TP 3 -policytool ´ÉÍý¼Ô¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò¼Â¹Ô¤·¤Þ¤¹ -\f4policytool\fP -.TP 3 -policytool ¤ò¼Â¹Ô¤·¡¢»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¤Þ¤¹ -\f4policytool\fP\f2[\-file\ \fP\f2filename\fP\f2]\fP -.TP 3 -\ -.TP 3 -°Ê²¼¤Ë¤½¤ì¤¾¤ì¤Î°ÕÌ£¤ò¼¨¤·¤Þ¤¹¡£ -.RS 3 -.TP 3 -file -¥í¡¼¥«¥ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë \f2policytool\fP ¤Ë»Ø¼¨¤·¤Þ¤¹ -.TP 3 -filename -¥Õ¥¡¥¤¥ë̾ +.\} +.PP +\-file +.RS 4 +¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë\fIpolicytool\fR¤Ë»Ø¼¨¤·¤Þ¤¹¡£ .RE -.SH "ÀâÌÀ" -.LP -\f3policytool\fP ¤Ï¡¢¥æ¡¼¥¶¡¼¤¬¥í¡¼¥«¥ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò´ÉÍý¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë GUI ¤Ç¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëºîÀ®¤ª¤è¤Ó´ÉÍý¥Ä¡¼¥ë¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SH "¥ª¥×¥·¥ç¥ó" -.RS 3 -.TP 3 -file -\f2filename\fP ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ -.SH "´ØÏ¢¹àÌÜ" -.na -\f2¡ÖDefault Policy Implementation and Syntax¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html -.br -.na -\f2¡ÖPolicy Tool Users' Guide¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html -.br -.na -\f2¡ÖSecurity Permissions¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/permissions.html -.br -.na -\f2¡ÖSecurity Overview¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html -.br +.PP +\fIfilename\fR +.RS 4 +¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ .RE +.PP +\fBÎã\fR: +.PP +¥Ý¥ê¥·¡¼¡¦¥Ä¡¼¥ë´ÉÍý¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò¼Â¹Ô¤·¤Þ¤¹: +.sp +.if n \{\ +.RS 4 +.\} +.nf +policytool +.fi +.if n \{\ .RE - -.LP - +.\} +.PP +\fIpolicytool\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹: +.sp +.if n \{\ +.RS 4 +.\} +.nf +policytool\-file mypolicyfile +.fi +.if n \{\ +.RE +.\} +.SH "ÀâÌÀ" +.PP +\fIpolicytool\fR¥³¥Þ¥ó¥É¤Ï¡¢´ÉÍý¼Ô¤ÎGUI¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¥í¡¼¥«¥ë¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò´ÉÍý¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ï\fI\&.policy\fR³ÈÄ¥»Ò¤ò»ý¤Ä¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¡¢¥É¥á¥¤¥óÊ̤˥ê¥â¡¼¥È¡¦¥ê¥¯¥¨¥¹¥¿¤ò¸¢¸Â¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Þ¥Ã¥×¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/PolicyFiles\&.html¤Ë¤¢¤ë +¡ÖDefault Policy Implementation and Policy File Syntax¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-file +.RS 4 +¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë\fIpolicytool\fR¤Ë»Ø¼¨¤·¤Þ¤¹¡£ +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖDefault Policy Implementation and Policy File Syntax¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/PolicyFiles\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖPolicy File Creation and Management¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/PolicyGuide\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖPermissions in Java SE Development Kit (JDK)¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/permissions\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖJava Security Overview¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/overview/jsoverview\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖJava Cryptography Architecture (JCA) Reference Guide¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/rmic.1 b/jdk/src/linux/doc/man/ja/rmic.1 index 621cde4c028..bca3b844f7b 100644 --- a/jdk/src/linux/doc/man/ja/rmic.1 +++ b/jdk/src/linux/doc/man/ja/rmic.1 @@ -1,231 +1,360 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH rmic 1 "07 May 2011" - -.LP -.SH "̾Á°" -rmic \- Java RMI ¥³¥ó¥Ñ¥¤¥é -.LP -.LP -\f3rmic\fP ¤Ë¤è¤Ã¤Æ¡¢JRMP ¤Þ¤¿¤Ï IIOP ¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤ª¤è¤Ó Tie ¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢OMG IDL ¤âÀ¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: rmic +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Remote Method Invocation (RMI)¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "rmic" "1" "2013ǯ11·î21Æü" "JDK 8" "Remote Method Invocation (RMI)" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +rmic \- Java Remote Method Protocol (JRMP)¤Þ¤¿¤ÏInternet Inter\-Orb protocol (IIOP)¤ò»ÈÍѤ¹¤ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¤ª¤è¤ÓTie¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£Object Management Group (OMG)¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì(IDL)¤âÀ¸À®¤·¤Þ¤¹ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -rmic [ \fP\f3options\fP\f3 ] \fP\f4package\-qualified\-class\-name(s)\fP\f3 -.fl -\fP +\fIrmic\fR [ \fIoptions\fR ] \fIpackage\-qualified\-class\-names\fR .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦\fI¥ª¥×¥·¥ç¥ó\fR¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIpackage\-qualified\-class\-names\fR +.RS 4 +¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¥¯¥é¥¹Ì¾¡£Îã: +\fIjava\&.awt\&.Color\fR¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3rmic\fP ¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¡¢¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë (JRMP ¥×¥í¥È¥³¥ë)¡¢¤ª¤è¤Ó¥¹¥¿¥Ö¤È Tie ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÁȤ߹ç¤ï¤» (IIOP ¥×¥í¥È¥³¥ë) ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ÂÁõ¥¯¥é¥¹¤Ç¤¢¤ë¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î¥¯¥é¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤È¤­¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¼ÂÁõ¥¯¥é¥¹¤Ï¡¢\f2java.rmi.Remote\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£\f3rmic\fP ¥³¥Þ¥ó¥É¤Ç¤Î¥¯¥é¥¹Ì¾¤Ï¡¢¤½¤Î¥¯¥é¥¹¤¬ \f3javac\fP ¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬À®¸ù¤·¤Æ¤¤¤Æ¡¢¤«¤Ä´°Á´¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬»ØÄꤵ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë̾ \f2HelloImpl\fP ¤Ç \f3rmic\fP ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP +.PP +\fBÈó¿ä¾©¤Ë´Ø¤¹¤ëÃí°Õ:\fR +Java Remote Method Protocol (JRMP)¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¤ÎÀÅŪ¤ÊÀ¸À®¤Î¥µ¥Ý¡¼¥È¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£Æ°Åª¤ËÀ¸À®¤µ¤ì¤ëJRMP¥¹¥¿¥Ö¤ò¤«¤ï¤ê¤Ë»ÈÍѤ·¤Æ¡¢JRMP¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤³¤Î¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍ×À­¤ò¤Ê¤¯¤¹¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢\fIjava\&.rmi\&.server\&.UnicastRemoteObject\fR»ÅÍÍ(http://docs\&.oracle\&.com/javase/8/docs/api/java/rmi/server/UnicastRemoteObject\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIrmic\fR¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Java Remote Method Protocol (JRMP)¤È¥¹¥¿¥Ö¤ª¤è¤ÓTie¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë(IIOP¥×¥í¥È¥³¥ë)¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ÂÁõ¥¯¥é¥¹¤Ç¤¢¤ë¤³¤ì¤é¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î¥¯¥é¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤È¤­¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¼ÂÁõ¥¯¥é¥¹¤Ï¡¢\fIjava\&.rmi\&.Remote\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£\fIrmic\fR¥³¥Þ¥ó¥É¤Ç¤Î¥¯¥é¥¹Ì¾¤Ï¡¢¤½¤Î¥¯¥é¥¹¤¬\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬À®¸ù¤·¤Æ¤¤¤Æ¡¢¤«¤Ä´°Á´½¤¾þ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Ë¼¨¤¹¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë̾\fIHelloImpl\fR¤Ç\fIrmic\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢hello¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê(¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ÎÉÕ¤¤¤¿)¤Ë\fIHelloImpl_Stub\&.class \fR¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -rmic hello.HelloImpl -.fl -\fP +rmic hello\&.HelloImpl .fi - -.LP -.LP -\f2HelloImpl_Stub.class\fP ¥Õ¥¡¥¤¥ë¤¬¡¢¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ÉÕ¤¤¤¿ \f2hello\fP ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¡Ö¥¹¥±¥ë¥È¥ó¡×¤Ï JRMP ¥×¥í¥È¥³¥ë¥µ¡¼¥Ð¡¼Â¦¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ç¡¢¼ÂºÝ¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¼ÂÁõ¤ò¸Æ¤Ó½Ð¤¹¥á¥½¥Ã¥É¤ò´Þ¤ß¤Þ¤¹¡£ -.LP -.LP -¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¡ÖTie¡×¤Ï¡¢¥¹¥±¥ë¥È¥ó¤ÈƱÍͤ˥µ¡¼¥Ð¡¼Â¦¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ç¤¹¤¬¡¢IIOP ¥×¥í¥È¥³¥ë¤ò»È¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¤ÈÄÌ¿®¤·¤Þ¤¹¡£ -.LP -.LP -¡Ö¥¹¥¿¥Ö¡×¤È¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤ÎÂåÍý¤Ç¤¹¡£¥¹¥¿¥Ö¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤ò¡¢¼Âʪ¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤¬¾ïÃ󤹤륵¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ëÌò³ä¤ò»ý¤Á¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤Ï¡¢¼ÂºÝ¤Ï¥í¡¼¥«¥ë¥¹¥¿¥Ö¤Ø¤Î»²¾È¤È¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç \f3rmic\fP ¤Ç¤Ï¡¢1.2 JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤À¤±¤ò»ÈÍѤ¹¤ë¥¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢\f2\-v1.2\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸Æ°ºî¤Ç¤¹¡£(5.0 °ÊÁ°¤Ç¤Ï \f2\-vcompat\fP ¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¢¤Ã¤¿¤³¤È¤ËÃí°Õ¡£IIOP ¥×¥í¥È¥³¥ëÍѤΥ¹¥¿¥Ö¤ª¤è¤Ó Tie ¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¤Ë¤Ï \f2\-iiop\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.LP -¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤À¤±¤ò¼ÂÁõ¤·¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤¬¼ÂÁõ¤¹¤ë¶É½ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó¡£JRMP ¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¼«ÂΤ¬¼ÂÁõ¤¹¤ë¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÈƱ¤¸¤â¤Î¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥­¥ã¥¹¥È¤ä·¿¥Á¥§¥Ã¥¯¤Ë Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ËÁȤ߹þ¤Þ¤ì¤¿±é»»»Ò¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£IIOP ¤Î¾ì¹ç¤Ï¡¢\f2PortableRemoteObject.narrow\fP ¥á¥½¥Ã¥É¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥±¥ë¥È¥ó¤ÏJRMP¥×¥í¥È¥³¥ë¡¦¥µ¡¼¥Ð¡¼Â¦¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¼ÂÁõ¤ò¸Æ¤Ó½Ð¤¹¥á¥½¥Ã¥É¤ò´Þ¤ß¤Þ¤¹¡£ +.PP +¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎTie¤Ï¡¢¥¹¥±¥ë¥È¥ó¤ÈƱÍͤ˥µ¡¼¥Ð¡¼Â¦¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¤¹¤¬¡¢IIOP¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤ÈÄÌ¿®¤·¤Þ¤¹¡£ +.PP +¥¹¥¿¥Ö¤È¤Ï¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤ÎÂåÍý¤Ç¤¹¡£¥¹¥¿¥Ö¤Ï¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò¡¢¼Âʪ¤Î¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬¾ïÃ󤹤륵¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ëÌò³ä¤ò»ý¤Á¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤Ï¡¢¼ÂºÝ¤Ï¥í¡¼¥«¥ë¡¦¥¹¥¿¥Ö¤Ø¤Î»²¾È¤È¤Ê¤ê¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç\fIrmic\fR¥³¥Þ¥ó¥É¤Ï¡¢1\&.2 JRMP¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤ò»ÈÍѤ¹¤ë¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢\fI\-v1\&.2\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸Æ°ºî¤Ç¤¹¡£¥ê¥ê¡¼¥¹5\&.0°ÊÁ°¤Ç¤Ï\fI\-vcompat\fR¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤·¤¿¡£IIOP¥×¥í¥È¥³¥ëÍѤΥ¹¥¿¥Ö¤ª¤è¤ÓTie¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¤Ë¤Ï\fI\-iiop\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤ß¤ò¼ÂÁõ¤·¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬¼ÂÁõ¤¹¤ë¥í¡¼¥«¥ë¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó¡£JRMP¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬¼ÂÁõ¤¹¤ë¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÈƱ¤¸¤â¤Î¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥­¥ã¥¹¥È¤ä·¿¥Á¥§¥Ã¥¯¤ËJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ËÁȤ߹þ¤Þ¤ì¤¿±é»»»Ò¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£IIOP¤Î¾ì¹ç¤Ï¡¢\fIPortableRemoteObject\&.narrow\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-bootclasspath path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-classpath path -\f3rmic\fP ¤¬¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ä CLASSPATH ´Ä¶­ÊÑ¿ôÀßÄê¤ò¾å½ñ¤­¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2path\fP ¤Î°ìÈÌ·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -.:<your_path> -.fl -\fP -.fi -Îã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -.:/usr/local/java/classes -.fl -\fP -.fi -.TP 3 -\-d directory -À¸À®¤µ¤ì¤¿¥¯¥é¥¹³¬ÁؤνÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ë¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤ª¤è¤Ó Tie ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ»È¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl -% rmic \-d /java/classes foo.MyClass -.fl -\fP -.fi -MyClass ¤«¤é¼èÆÀ¤·¤¿ \f2¥¹¥¿¥Ö¤È¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ò\fP \f2/java/classes/foo\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤­¤Þ¤¹¡£\f2\-d\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\f2¡Ö\-d\ .¡×\fP¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸³¬Áؤ¬¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¥Õ¥¡¥¤¥ë¤¬¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£(°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î \f3rmic\fP ¤Ç¤Ï¡¢\f2\-d\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸³¬ÁؤϺîÀ®¤µ¤ì¤º¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï¤¹¤Ù¤Æ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËľÀܳÊǼ¤µ¤ì¤Æ¤¤¤¿¡£) -.br -\ -.TP 3 -\-extdirs path -¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-g -¶É½êÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈÖ¹æ¾ðÊó¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-idl -\f2rmic\fP ¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤ª¤è¤Ó»²¾È¤µ¤ì¤¿¥¯¥é¥¹¤Î OMG IDL ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£IDL ¤Ç¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë°Í¸¤»¤º¤Ë¡¢Àë¸À¤¹¤ë¤À¤±¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤Î API ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£IDL ¤Ï¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Î»ÅÍͤȤ·¤Æ»ÈÍѤ·¤Þ¤¹¡£CORBA ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄ󶡤¹¤ëǤ°Õ¤Î¸À¸ì¤Ç¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤ÎºîÀ®¤ª¤è¤Ó¸Æ¤Ó½Ð¤·¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¸À¸ì¤Ë¤Ï¡¢Java ¤ª¤è¤Ó C++ ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2Java Language to IDL Mapping\fP @ -.fi -http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2\-idl\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤­¤Ï¡¢¤Û¤«¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 3 -\-always ¤Þ¤¿¤Ï \-alwaysgenerate -´û¸¤Î¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó IDL ¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¿·¤·¤¤¤È¤­¤Ç¤â¡¢¶¯À©Åª¤ËÀ¸À®¤·Ä¾¤·¤Þ¤¹¡£ -.TP 3 -\-factory -À¸À®¤µ¤ì¤¿ IDL ¤Ç factory ¥­¡¼¥ï¡¼¥É¤ò»È¤¤¤Þ¤¹¡£ -.TP 3 -\-idlModule\ fromJavaPackage[.class]\ toIDLModule -IDLEntity ¥Ñ¥Ã¥±¡¼¥¸¤Î¥Þ¥Ã¥×¤ò»ØÄꤷ¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£ \f2\-idlModule foo.bar my::real::idlmod\fP -.TP 3 -\-idlFile\ fromJavaPackage[.class]\ toIDLFile -IDLEntity ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ã¥×¤ò»ØÄꤷ¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£ \f2\-idlFile test.pkg.X TEST16.idl\fP\ +.PP +\-bootclasspath \fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ .RE -.TP 3 -\-iiop -\f2rmic\fP ¤Ë¤è¤Ã¤Æ¡¢JRMP ¤Î¥¹¥¿¥Ö¤È¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ÎÂå¤ï¤ê¤Ë¡¢IIOP ¤Î¥¹¥¿¥Ö¤È Tie ¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥í¡¼¥«¥ë¥×¥í¥­¥·¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¡¼¤Ë¸Æ¤Ó½Ð¤·¤òÁ÷¿®¤¹¤ë¤È¤­¤Ë»È¤ï¤ì¤Þ¤¹¡£³Æ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ï¥¹¥¿¥Ö¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£¥¹¥¿¥Ö¥¯¥é¥¹¤Ë¤è¤Ã¤Æ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ç¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤¹¤ë¤È¤­¤Ï¡¢¼ÂºÝ¤Ë¤Ï¥¹¥¿¥Ö¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¥¿¥¤¥¯¥é¥¹¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¤ÇÃ可¤ò½èÍý¤·¡¢¤½¤Î¸Æ¤Ó½Ð¤·¤òŬÀڤʼÂÁõ¥¯¥é¥¹¤Ë¥Ç¥£¥¹¥Ñ¥Ã¥Á¤¹¤ë¤È¤­¤Ë»È¤ï¤ì¤Þ¤¹¡£³Æ¼ÂÁõ¥¯¥é¥¹¤Ë¤Ï¡¢¥¿¥¤¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£ -.LP -\f2\-iiop\fP ¤ò»È¤Ã¤Æ \f2rmic\fP ¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¼¡¤Î̿̾µ¬Ìó¤Ë½àµò¤·¤¿¥¹¥¿¥Ö¤È Tie ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.PP +\-classpath path +.RS 4 +\fIrmic\fR¥³¥Þ¥ó¥É¤¬¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ä\fICLASSPATH\fR´Ä¶­ÊÑ¿ôÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¥Ñ¥¹¤Î°ìÈÌŪ¤Ê·Á¼°¤Ï\fI\&.;<your_path>\fR¤Ç¤¹¡£Îã: +\fI\&.;/usr/local/java/classes\fR +.RE +.PP +\-d \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤¿¥¯¥é¥¹³¬ÁؤνÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ë¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤ª¤è¤ÓTie¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ÏMyClass¤«¤éƳ½Ð¤µ¤ì¤¿¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤ò¥Ç¥£¥ì¥¯¥È¥ê/java/classes/exampleclass¤Ë³ÊǼ¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -_<implementationName>_stub.class -.fl -\fP -.br -\f3 -.fl -_<interfaceName>_tie.class -.fl -\fP +rmic \-d /java/classes exampleclass\&.MyClass .fi -.LP -\f2\-iiop\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤­¤Ï¡¢¤Û¤«¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 3 -\-always ¤Þ¤¿¤Ï \-alwaysgenerate -´û¸¤Î¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó IDL ¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¿·¤·¤¤¤È¤­¤Ç¤â¡¢¶¯À©Åª¤ËÀ¸À®¤·Ä¾¤·¤Þ¤¹¡£ -.TP 3 -\-nolocalstubs -Ʊ¤¸¥×¥í¥»¥¹¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËÂФ·¤ÆºÇŬ²½¤µ¤ì¤¿¥¹¥¿¥Ö¤òºîÀ®¤·¤Þ¤»¤ó¡£ -.TP 3 -\-noValueMethods -¤³¤ì¤Ï \f2\-idl\fP ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»È¤ï¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£È¯¹Ô¤µ¤ì¤¿ IDL ¤Ë¡¢\f2valuetype\fP ¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤òÄɲä·¤Þ¤»¤ó¡£¤³¤Î¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤Ï¡¢\f2valuetype\fP ¤Î¾ì¹ç¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ \f2\-idl\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤­¤Ï¡¢ \f2\-noValueMethods\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¸Â¤êÀ¸À®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-poa -·Ñ¾µ¤¬ \f2org.omg.CORBA_2_3.portable.ObjectImpl\fP ¤«¤é \f2org.omg.PortableServer.Servant\fP ¤ËÊѤï¤ê¤Þ¤¹¡£ -.LP -.na -\f2Portable Object Adapter\fP @ +.if n \{\ +.RE +.\} +\fI\-d\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ï\fI\-d\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£¥¿¡¼¥²¥Ã¥È¡¦¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸³¬Áؤ¬¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢stub/tie/skeleton¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Î\fIrmic\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fI\-d\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸³¬ÁؤϺîÀ®¤µ¤ì¤º¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï¤¹¤Ù¤Æ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËľÀܳÊǼ¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£ +.RE +.PP +\-extdirs \fIpath\fR +.RS 4 +¥¤¥ó¥¹¥È¡¼¥ëºÑ³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-g +.RS 4 +¥í¡¼¥«¥ëÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈÖ¹æ¾ðÊó¤Î¤ßÀ¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-idl +.RS 4 +\fIrmic\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤ª¤è¤Ó»²¾È¤µ¤ì¤¿¥¯¥é¥¹¤ÎOMG IDL¤¬À¸À®¤µ¤ì¤Þ¤¹¡£IDL¤Ç¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë°Í¸¤»¤º¤Ë¡¢Àë¸À¤¹¤ë¤À¤±¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ÎAPI¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£IDL¤Ï¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Î»ÅÍͤȤ·¤Æ»ÈÍѤ·¤Þ¤¹¡£CORBA¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄ󶡤¹¤ëǤ°Õ¤Î¸À¸ì¤Ç¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤ÎºîÀ®¤ª¤è¤Ó¸Æ½Ð¤·¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¸À¸ì¤Ë¤Ï¡¢Java¤ª¤è¤ÓC++¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping\&.html¤Î +¡ÖJava IDL: IDL to Java Language Mapping¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fI\-idl\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¤­¤Ë¤Ï¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´û¸¤Î¥¹¥¿¥Ö/Tie/IDL¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¤â¿·¤·¤¤¾ì¹ç¤Ç¤â¡¢\fI\-always\fR¤Þ¤¿¤Ï\fI\-alwaysgenerate\fR¥ª¥×¥·¥ç¥ó¤ÏºÆÀ¸À®¤ò¶¯À©¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-factory\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢À¸À®¤µ¤ì¤¿IDL¤Ç\fIfactory\fR¥­¡¼¥ï¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +The +\fI\-idlModule\fR +from J\fIavaPackage[\&.class]\fR +\fItoIDLModule\fR +specifies +\fIIDLEntity\fR +package mapping, for example: +\fI\-idlModule\fR +\fImy\&.module my::real::idlmod\fR\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-idlFile\fR +\fIfromJavaPackage[\&.class] toIDLFile\fR +specifies +\fIIDLEntity\fR +file mapping, for example: +\fI\-idlFile test\&.pkg\&.X TEST16\&.idl\fR\&. +.RE +.RE +.PP +\-iiop +.RS 4 +\fIrmic\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢JRMP¤Î¥¹¥¿¥Ö¤È¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤Î¤«¤ï¤ê¤Ë¡¢IIOP¤Î¥¹¥¿¥Ö¤ÈTie¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤Ï¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥í¡¼¥«¥ë¡¦¥×¥í¥­¥·¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¡¼¤Ë¸Æ½Ð¤·¤òÁ÷¿®¤¹¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£³Æ¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ï¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤Ë¤è¤Ã¤Æ¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ç¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤¹¤ë¤È¤­¤Ï¡¢¥¹¥¿¥Ö¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¥¿¥¤¡¦¥¯¥é¥¹¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¤ÇÃ可¤ò½èÍý¤·¡¢¤½¤Î¸Æ½Ð¤·¤òŬÀڤʼÂÁõ¥¯¥é¥¹¤Ë¥Ç¥£¥¹¥Ñ¥Ã¥Á¤¹¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£³Æ¼ÂÁõ¥¯¥é¥¹¤Ë¤Ï¡¢¥¿¥¤¡¦¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£ +.sp +\fI\-iiop\fR¤ò»ÈÍѤ·¤Æ\fIrmic\fR¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¼¡¤Î̿̾µ¬Â§¤Ë½àµò¤·¤¿¥¹¥¿¥Ö¤ÈTie¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +_<implementationName>_stub\&.class +_<interfaceName>_tie\&.class .fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) ¤Î \f2PortableServer\fP ¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î \f2Servant\fP ·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\f2Servant\fP ·¿¤Ï Java ¤Î \f2org.omg.PortableServer.Servant\fP ¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î POA ¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¤Î¤Û¤«¤Ë¡¢POA ¤½¤Î¤â¤Î¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤Îưºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£OMG IDL to Java Language Mapping Specification¡¢CORBA V 2.3.1 ptc/00\-01\-08.pdf ¤Ë½àµò¤·¤Æ¤¤¤Þ¤¹¡£ +.if n \{\ .RE -.TP 3 -\-J -\f2\-J\fP ¤Î¸å¤í¤Ë³¤¯¥ª¥×¥·¥ç¥ó¤ò \f2java\fP ¥¤¥ó¥¿¥×¥ê¥¿¤Ë°ú¤­ÅϤ·¤Þ¤¹¡£ \f2java\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¤¤Þ¤¹ (\-J ¤È java ¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏÆþ¤ì¤Ê¤¤)¡£ -.TP 3 -\-keep ¤Þ¤¿¤Ï \-keepgenerated -¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤Þ¤¿¤Ï Tie ¥¯¥é¥¹¤Î¤¿¤á¤Î \f2.java\fP ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò \f2.class\fP ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë»Ä¤·¤Þ¤¹¡£ -.TP 3 -\-nowarn -·Ù¹ð¤ò¥ª¥Õ¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òɽ¼¨¤·¤Þ¤»¤ó¡£ -.TP 3 -\-nowrite -¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥¯¥é¥¹¤ò¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë½ñ¤­¹þ¤ß¤Þ¤»¤ó¡£ -.TP 3 -\-vcompat -1.1 ¤È 1.2 ¤ÎξÊý¤Î JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£(5.0 °ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¡£)À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢JDK 1.1 ²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤ë¤È 1.1 ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¡¢JDK 1.2 °Ê¹ß¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤ë¤È 1.2 ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤Ç¤Ï¡¢1.1 ¤È 1.2 ¤ÎξÊý¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ÏξÊý¤ÎÁàºî¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¡¢¥µ¥¤¥º¤¬Â礭¤¯¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-verbose -¥³¥ó¥Ñ¥¤¥é¤ä¥ê¥ó¥«¡¼¤¬¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ä¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-v1.1 -1.1 JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤Î¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤǤ­¤ë¤Î¤Ï¡¢JDK 1.1 ¤«¤é \f3rmic\fP ¥Ä¡¼¥ë¤ÇÀ¸À®¤µ¤ì¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Ê¤¤ (¤µ¤é¤Ë¥À¥¤¥Ê¥ß¥Ã¥¯¥¯¥é¥¹¥í¡¼¥Ç¥£¥ó¥°¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤) ¡¢´û¸¤ÎÀÅŪÇÛÈ÷¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤ËÂФ·¡¢Ä¾Î󲽸ߴ¹À­¤Î¤¢¤ë¥¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¾ì¹ç¤À¤±¤Ç¤¹¡£ -.TP 3 -\-v1.2 -(¥Ç¥Õ¥©¥ë¥È) 1.2 JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤Î¥¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤Ï 1.2 ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤Ç»ÈÍѤǤ­¤Ê¤¤¤¿¤á¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢JDK 1.1 ²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤âưºî¤·¤Þ¤»¤ó¡£ +.\} +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-iiop\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¤­¤Ë¤Ï¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´û¸¤Î¥¹¥¿¥Ö/Tie/IDL¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¤â¿·¤·¤¤¾ì¹ç¤Ç¤â¡¢\fI\-always\fR¤Þ¤¿¤Ï\fI\-alwaysgenerate\fR¥ª¥×¥·¥ç¥ó¤ÏºÆÀ¸À®¤ò¶¯À©¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-nolocalstubs\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢Æ±¤¸¥×¥í¥»¥¹¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËºÇŬ²½¤µ¤ì¤¿¥¹¥¿¥Ö¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-noValueMethods\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-idl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI\-noValueMethods\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢Á÷¿®¤µ¤ì¤ëIDL¤Ë\fIvaluetype\fR¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤òÄɲäǤ­¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤Ï¡¢valuetype¤Î¾ì¹ç¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£\fI\-idl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë\fI\-noValueMethods\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤«¤®¤êÀ¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-poa\fR¥ª¥×¥·¥ç¥ó¤Ï·Ñ¾µ¤ò\fIorg\&.omg\&.CORBA_2_3\&.portable\&.ObjectImpl\fR¤«¤é\fIorg\&.omg\&.PortableServer\&.Servant\fR¤ËÊѹ¹¤·¤Þ¤¹¡£¥Ý¡¼¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥¢¥À¥×¥¿(POA)¤Î\fIPortableServer\fR¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î\fIServant\fR·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\fIServant\fR·¿¤ÏJava¤Î\fIorg\&.omg\&.PortableServer\&.Servant\fR¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤ÎPOA¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¡¢¤ª¤è¤ÓPOA¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤Îưºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£OMG IDL to Java Language Mapping Specification¡¢CORBA V 2\&.3\&.1 ptc/00\-01\-08\&.pdf¤Ë½àµò¤·¤Æ¤¤¤Þ¤¹¡£ +.RE +.RE +.PP +\-J +.RS 4 +Java¥³¥Þ¥ó¥É¤È¤È¤â¤Ë»ÈÍѤ·¤Æ¡¢\fI\-J\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-J\fR¤Î¸å¤í¤Ë³¤¯°ú¿ô¤òJava¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ·¤Þ¤¹(\fI\-J\fR¤È°ú¿ô¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏÆþ¤ì¤Þ¤»¤ó)¡£ +.RE +.PP +\-keep or \-keepgenerated +.RS 4 +¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤Þ¤¿¤ÏTie¥¯¥é¥¹¤Î¤¿¤á¤ËÀ¸À®¤µ¤ì¤¿\fI\&.java\fR¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¡¢\fI\&.class\fR¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ +.RE +.PP +\-nowarn +.RS 4 +·Ù¹ð¤ò¥ª¥Õ¤Ë¤·¤Þ¤¹¡£\fI\-nowarn\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡£¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òɽ¼¨¤·¤Þ¤»¤ó¡£ +.RE +.PP +\-nowrite +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥¯¥é¥¹¤ò¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë½ñ¤­¹þ¤ß¤Þ¤»¤ó¡£ +.RE +.PP +\-vcompat (Èó¿ä¾©) +.RS 4 +1\&.1¤È1\&.2¤ÎξÊý¤ÎJRMP¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£5\&.0°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤·¤¿¡£À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤Ï¡¢JDK 1\&.1²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤ë¤È1\&.1¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¡¢JDK 1\&.2°Ê¹ß¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤ë¤È1\&.2¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤Ç¤Ï¡¢1\&.1¤È1\&.2¤ÎξÊý¤Î¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ÏξÊý¤ÎÁàºî¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¡¢¥µ¥¤¥º¤¬Â礭¤¯¤Ê¤ê¤Þ¤¹¡£Ãí°Õ:¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verbose +.RS 4 +¥³¥ó¥Ñ¥¤¥é¤ä¥ê¥ó¥«¡¼¤¬¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ä¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-v1\&.1 (Èó¿ä¾©) +.RS 4 +1\&.1 JRMP¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤Î¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£\fI\-v1\&.1\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢JDK 1\&.1¤«¤é\fIrmic\fR¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Ê¤¤(¤µ¤é¤Ë¥À¥¤¥Ê¥ß¥Ã¥¯¡¦¥¯¥é¥¹¡¦¥í¡¼¥Ç¥£¥ó¥°¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤)¡¢´û¸¤ÎÀÅŪ¥Ç¥×¥í¥¤¤µ¤ì¤¿¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤ËÂФ·¡¢Ä¾Î󲽸ߴ¹À­¤Î¤¢¤ë¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¾ì¹ç¤Î¤ß¤Ç¤¹¡£Ãí°Õ:¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-v1\&.2 (Èó¿ä¾©) +.RS 4 +(¥Ç¥Õ¥©¥ë¥È)1\&.2 JRMP¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤Î¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤Ï1\&.2¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤Ç»ÈÍѤǤ­¤Ê¤¤¤¿¤á¡¢¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤Ï¡¢JDK 1\&.1²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤âưºî¤·¤Þ¤»¤ó¡£Ãí°Õ:¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "´Ä¶­ÊÑ¿ô" -.LP -.RS 3 -.TP 3 -CLASSPATH -¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -.:/usr/local/java/classes -.fl -\fP -.fi +.PP +CLASSPATH +.RS 4 +¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£Îã: +\fI\&.:/usr/local/java/classes\fR .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -java(1)¡¢javac(1)¡¢ -.na -\f2CLASSPATH\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Setting the Class Path +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/rmid.1 b/jdk/src/linux/doc/man/ja/rmid.1 index e229fbf1cdc..1ee27efb1a9 100644 --- a/jdk/src/linux/doc/man/ja/rmid.1 +++ b/jdk/src/linux/doc/man/ja/rmid.1 @@ -1,328 +1,365 @@ -." Copyright (c) 1998, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH rmid 1 "07 May 2011" - -.LP -.SH "̾Á°" -rmid \- Java RMI µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó -.LP -.LP -\f3rmid\fP ¤Çµ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ò²¾ÁÛ¥Þ¥·¥ó (VM) ¤ËÅÐÏ¿¤·¤Æµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: rmid +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Remote Method Invocation (RMI)¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "rmid" "1" "2013ǯ11·î21Æü" "JDK 8" "Remote Method Invocation (RMI)" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +rmid \- µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤òJava²¾ÁÛ¥Þ¥·¥ó(VM)¤ËÅÐÏ¿¤·¤Æ¥¢¥¯¥Æ¥£¥Ö²½¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -rmid [options] -.fl -\fP +\fIrmid\fR [\fIoptions\fR] .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3rmid\fP ¥Ä¡¼¥ë¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Æ¤«¤é¤Ç¤Ê¤¤¤È¡¢µ¯Æ°²Äǽ¥ª¥Ö¥¸¥§¥¯¥È¤òµ¯Æ°¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤·¤¿¤ê¡¢VM Æâ¤Çµ¯Æ°¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£µ¯Æ°²Äǽ¤Ê¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤ÎºîÀ®ÊýË¡¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2¡ÖJava RMI »ÅÍÍ¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.html¤ª¤è¤Ó -.na -\f2¡Öµ¯Æ°¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¥Ç¡¼¥â¥ó¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ \f2rmid\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP +.PP +\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Æ¤«¤é¤Ç¤Ê¤¤¤È¡¢¥¢¥¯¥Æ¥£¥Ö²½²Äǽ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥¯¥Æ¥£¥Ö²½¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤·¤¿¤ê¡¢JVMÆâ¤Ç¥¢¥¯¥Æ¥£¥Ö²½¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£¥¢¥¯¥Æ¥£¥Ö²½²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤ÎºîÀ®ÊýË¡¤Î¾ÜºÙ¤Ï¡¢\fI¥¢¥¯¥Æ¥£¥Ö²½¤Î»ÈÍÑ\fR¤Ë´Ø¤¹¤ë¥Á¥å¡¼¥È¥ê¥¢¥ë(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/rmi/activation/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +\fIrmid\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢¼¡¤Î¤è¤¦¤Ë¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¡¢¥Ç¡¼¥â¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-J\-Djava.security.policy=rmid.policy -.fl -\fP +rmid \-J\-Djava\&.security\&.policy=rmid\&.policy .fi - -.LP -.LP -\f3Ãí:\fP \f2rmid\fP ¤Î Sun ¤Î ¼ÂÁõ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢ \f2rmid\fP ¤¬µ¯Æ°¥°¥ë¡¼¥×ÍÑ¤Ë VM ¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë³Æ \f2ActivationGroupDesc\fP Æâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£ÆÃ¤Ë¡¢ActivationGroupDesc ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÅϤµ¤ì¤ë \f2CommandEnvironment\fP ¤äǤ°Õ¤Î \f2Properties\fP ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ë \f2¥³¥Þ¥ó¥É¤ª¤è¤Ó\fP¥ª¥×¥·¥ç¥ó¤Ï¡¢ \f2rmid\fP ¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£\f2sun.rmi.activation.execPolicy\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤϡ¢ \f2µ¯Æ°¥°¥ë¡¼¥×ÍÑ¤Ë VM ¤ò\fP µ¯Æ°¤¹¤ë¤¿¤á¤Ë \f2ActivationGroupDesc\fP Æâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¤È¤­¤Ë rmid ¤¬»ÈÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò·èÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f2rmid\fP ¤ò¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¥¢¥¯¥Æ¥£¥Ù¡¼¥¿¤òµ¯Æ°¤·¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È 1098 ¤ÇÆâÉô¥ì¥¸¥¹¥È¥ê¤òµ¯Æ°¤¹¤ë -.TP 2 -o -¤³¤ÎÆâÉô¥ì¥¸¥¹¥È¥ê¤ÎÃæ¤Ç¡¢ \f2ActivationSystem\fP ¤ò \f2java.rmi.activation.ActivationSystem ¤È¤¤¤¦Ì¾Á°¤Ë\fP ¥Ð¥¤¥ó¥É¤¹¤ë +.if n \{\ .RE - -.LP -.LP -¥ì¥¸¥¹¥È¥ê¤Ë¤Û¤«¤Î¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢rmid ¤Îµ¯Æ°»þ¤Ë \f2\-port\fP ¥ª¥×¥·¥ç¥ó¤ò \f2»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\fP¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP +.\} +.PP +\fIrmid\fR¥³¥Þ¥ó¥É¤ÎOracle¤Î¼ÂÁõ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬µ¯Æ°¥°¥ë¡¼¥×ÍѤËJVM¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë³Æ\fIActivationGroupDesc\fRÆâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹ÆÃ¤Ë¡¢\fIActivationGroupDesc\fR¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÅϤµ¤ì¤ë\fICommandEnvironment\fR¤äǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£\fIsun\&.rmi\&.activation\&.execPolicy\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤϡ¢µ¯Æ°¥°¥ë¡¼¥×ÍѤËJVM¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë\fIActivationGroupDesc\fRÆâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¤È¤­¤Ë\fIrmid\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò·èÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢\-J\-Dsun\&.rmi\&.activation\&.execPolicy=policy¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIrmid\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È1098¤Ç¥¢¥¯¥Æ¥£¥Ù¡¼¥¿¤ÈÆâÉô¥ì¥¸¥¹¥È¥ê¤¬µ¯Æ°¤µ¤ì¡¢\fIActivationSystem\fR¤¬¤³¤ÎÆâÉô¥ì¥¸¥¹¥È¥êÆâ¤Î̾Á°\fIjava\&.rmi\&.activation\&.ActivationSystem\fR¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Þ¤¹¡£ +.PP +¥ì¥¸¥¹¥È¥ê¤Ë¾¤Î¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë\fI\-port\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ì¥¸¥¹¥È¥ê¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È1099¤Ç¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤È¥ì¥¸¥¹¥È¥ê¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-J\-Djava.security.policy=rmid.policy \-port 1099 -.fl -\fP +rmid \-J\-Djava\&.security\&.policy=rmid\&.policy \-port 1099 .fi - -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¡¢¥ì¥¸¥¹¥È¥ê¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È 1099 ¤Ç¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤·¤Þ¤¹¡£ -.LP -.SS -rmid ¤ò inetd/xinetd ¤«¤é³«»Ï¤¹¤ë -.LP -.LP -\f2rmid\fP ¤ò¥³¥Þ¥ó¥É¹Ô¤«¤é³«»Ï¤¹¤ë¤Ë¤Ï¡¢ \f2inetd\fP (Solaris ¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï \f2xinetd\fP (Linux ¤Î¾ì¹ç) ¤ò¹½À®¤·¤Æ \f2rmid\fP ¤òɬÍפ˱þ¤¸¤Æ³«»Ï¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f2rmid\fP ¤ò³«»Ï¤¹¤ë¤È¡¢System.inheritedChannel ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë ( \f2inetd\fP/\f2xinetd\fP ¤«¤é·Ñ¾µ) ¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Þ¤¹¡£ ·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬ \f2null\fP ¤Ç¤¢¤ë¤«¡¢ \f2java.nio.channels.ServerSocketChannel\fP ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ \f2rmid\fP rmid ¤Ï¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ï \f2inetd\fP/\f2xinetd\fP ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¤ÈȽÃǤ·¡¢Á°½Ò¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬ \f2ServerSocketChannel\fP ¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ \f2rmid\fP ¤Ï¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ä¤Þ¤ê java.rmi.activation.ActivationSystem ¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¥ì¥¸¥¹¥È¥ê¤È java.rmi.activation.Activator ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ëÍ×µá¤ò¼õ¿®¤¹¤ë¥µ¡¼¥Ð¡¼¥½¥±¥Ã¥È¤È¤·¤Æ¡¢ServerSocketChannel ¤«¤é¼èÆÀ¤·¤¿ java.net.ServerSocket ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢ \f2rmid\fP ¤Îưºî¤Ï¡¢¼¡¤Î¤³¤È¤ò½ü¤¤¤Æ¡¢ ¥³¥Þ¥ó¥É¹Ô¤«¤éµ¯Æ°¤·¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f2System.err\fP ¤ËÂФ¹¤ë½ÐÎϤϡ¢¥Õ¥¡¥¤¥ë¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï \f2java.io.tmpdir\fP ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤Ç»ØÄꤵ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê (Ä̾ï¤Ï \f2/var/tmp\fP ¤Þ¤¿¤Ï \f2/tmp\fP) ¤Ë¤¢¤ë¡£¥Õ¥¡¥¤¥ë̾¤ÎÀÜÆ¬¼­¤Ï \f2"rmid\-err"\fP ¤Ç¡¢ÀÜÈø¼­¤Ï \f2"tmp"\fP ¤Ç¤¢¤ë -.TP 2 -o -\f2\-port\fP ¥ª¥×¥·¥ç¥ó¤ÏµñÈݤµ¤ì¤ë¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ \f2rmid\fP ¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤Æ½ªÎ»¤¹¤ë -.TP 2 -o -\f2\-log\fP ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢ \f2rmid\fP ¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤Æ½ªÎ»¤¹¤ë +.if n \{\ .RE - -.LP -.LP -ɬÍפ˱þ¤¸¤Æ¥µ¡¼¥Ó¥¹¤ò³«»Ï¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ \f2inetd\fP (Solaris ¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï \f2xinetd\fP (Linux) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +.\} +.SH "ɬÍפ˱þ¤¸¤ÆRMID¤ò³«»Ï" +.PP +\fIrmid\fR¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é³«»Ï¤¹¤ë¤Ë¤Ï¡¢\fIinetd\fR +(Oracle Solaris¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï\fIxinetd\fR +(Linux¤Î¾ì¹ç)¤ò¹½À®¤·¤Æ\fIrmid\fR¤òɬÍפ˱þ¤¸¤Æ³«»Ï¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£ +.PP +RMID¤ò³«»Ï¤¹¤ë¤È¡¢\fISystem\&.inheritedChannel\fR¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë(\fIinetd\fR/\fIxinetd\fR¤«¤é·Ñ¾µ)¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Þ¤¹¡£·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬null¤Ç¤¢¤ë¤«¡¢\fIjava\&.nio\&.channels\&.ServerSocketChannel\fR¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¢RMID¤Ï¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ï\fIinetd\fR/\fIxinetd\fR¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¤ÈȽÃǤ·¡¢Á°½Ò¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£ +.PP +·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬\fIServerSocketChannel\fR¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢RMID¤Ï¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ä¤Þ¤ê\fIjava\&.rmi\&.activation\&.ActivationSystem\fR¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¥ì¥¸¥¹¥È¥ê¤È\fIjava\&.rmi\&.activation\&.Activator\fR¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë¥ê¥¯¥¨¥¹¥È¤ò¼õ¿®¤¹¤ë¥µ¡¼¥Ð¡¼¡¦¥½¥±¥Ã¥È¤È¤·¤Æ¡¢\fIServerSocketChannel\fR¤«¤é¼èÆÀ¤·¤¿\fIjava\&.net\&.ServerSocket\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢RMID¤Îưºî¤Ï¡¢¼¡¤Î¤³¤È¤ò½ü¤¤¤Æ¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤éµ¯Æ°¤·¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fISystem\&.err\fR¤ËÂФ¹¤ë½ÐÎϤϡ¢¥Õ¥¡¥¤¥ë¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï\fIjava\&.io\&.tmpdir\fR¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê(Ä̾ï¤Ï\fI/var/tmp\fR¤Þ¤¿¤Ï\fI/tmp\fR)¤Ë¤¢¤ë¡£¥Õ¥¡¥¤¥ë̾¤ÎÀÜÆ¬¼­¤Ï\fIrmid\-err\fR¤Ç¡¢ÀÜÈø¼­¤Ï\fItmp\fR¤Ç¤¢¤ë¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-port\fR¥ª¥×¥·¥ç¥ó¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢RMID¤Ï¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-log\fR¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢RMID¤Ï¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +ɬÍפ˱þ¤¸¤Æ¥µ¡¼¥Ó¥¹¤ò³«»Ï¤¹¤ë¤è¤¦¤Ë¹½À®¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢\fIinetd\fR +(Oracle Solaris¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï\fIxinetd\fR +(Linux)¤Î¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-C<someCommandLineOption> -\f2rmid\fP ¤Î»Ò¥×¥í¥»¥¹ (µ¯Æ°¥°¥ë¡¼¥×) ¤¬ºîÀ®¤µ¤ì¤¿¤È¤­¤Ë¡¢¤½¤ì¤¾¤ì¤Î»Ò¥×¥í¥»¥¹¤Ë¥³¥Þ¥ó¥É¹Ô°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³Æ²¾ÁÛ¥Þ¥·¥ó¤Ë¥×¥í¥Ñ¥Æ¥£¡¼¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.PP +\-C\fI¥ª¥×¥·¥ç¥ó\fR +.RS 4 +\fIrmid\fR¥³¥Þ¥ó¥É¤Î»Ò¥×¥í¥»¥¹(µ¯Æ°¥°¥ë¡¼¥×)¤¬ºîÀ®¤µ¤ì¤¿¤È¤­¤Ë¡¢¤½¤ì¤¾¤ì¤Î»Ò¥×¥í¥»¥¹¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³Æ²¾ÁÛ¥Þ¥·¥ó¤Ë¥×¥í¥Ñ¥Æ¥£¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-C\-Dsome.property=value -.fl -\fP +rmid \-C\-Dsome\&.property=value .fi -¥³¥Þ¥ó¥É¹Ô°ú¿ô¤ò»Ò¥×¥í¥»¥¹¤ËÅϤ¹µ¡Ç½¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ò»Ò¥×¥í¥»¥¹¤ËÅϤ¹µ¡Ç½¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î»ÒJVM¤Çserver\-call¥í¥®¥ó¥°¤¬²Äǽ¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-C\-Djava.rmi.server.logCalls=true -.fl -\fP +rmid \-C\-Djava\&.rmi\&.server\&.logCalls=true .fi -¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤ê¡¢¤¹¤Ù¤Æ¤Î»Ò VM ¤Ç¥µ¡¼¥Ð¡¼¸Æ¤Ó½Ð¤·¤Î¥í¥°¤¬ºîÀ®¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.TP 3 -\-J<someCommandLineOption> -rmid ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë \f2java\fP ¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢ \f2rmid\fP ¤¬ \f2rmid.policy\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤Ë¤Ï¡¢rmid ¤Î¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢ \f2java.security.policy\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤òÄêµÁ¤·¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-J\fIoption\fR +.RS 4 +RMID¤ò¼Â¹Ô¤·¤Æ¤¤¤ëJava¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬\fIrmid\&.policy\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤Ë¤Ï¡¢\fIrmid\fR¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\fIjava\&.security\&.policy\fR¥×¥í¥Ñ¥Æ¥£¤òÄêµÁ¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-J\-Djava.security.policy=rmid.policy -.fl -\fP +rmid \-J\-Djava\&.security\&.policy\-rmid\&.policy .fi -.TP 3 -\-J\-Dsun.rmi.activation.execPolicy=<policy> -µ¯Æ°¥°¥ë¡¼¥×¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë VM ¤Îµ¯Æ°¤Ë»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Ë¡¢ \f2rmid\fP ¤¬ºÎÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java RMI µ¯Æ°¥Ç¡¼¥â¥ó¤Î Sun ¤Î¼ÂÁõ¤À¤±¤Ë¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥É¹Ô¤Ë¤³¤Î¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£\f2<policy>\fP ¤Ë»ØÄê²Äǽ¤ÊÃͤϡ¢\f2default\fP¡¢\f2<policyClassName>\fP¡¢¤Þ¤¿¤Ï \f2none\fP ¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f3default (¤Þ¤¿¤Ï¡¢¤³¤Î¥×¥í¥Ñ¥Æ¥£¡¼¤¬¡Ö»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡×¾ì¹ç)\fP -.LP -¥Ç¥Õ¥©¥ë¥È¤Î \f2execPolicy\fP ¤Î¾ì¹ç¡¢ \f2rmid\fP ¤¬¼Â¹Ô¤Ç¤­¤ë¤Î¤Ï¡¢ \f2rmid\fP ¤¬»ÈÍѤ¹¤ë¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¡¢¼Â¹Ô¤¹¤ë¸¢¸Â¤¬ \f2rmid\fP ¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤À¤±¤Ç¤¹¡£¡Ö¥Ç¥Õ¥©¥ë¥È¡×¤Î¼Â¹Ô¥Ý¥ê¥·¡¼¤Ç»ÈÍѤǤ­¤ë¤Î¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îµ¯Æ°¥°¥ë¡¼¥×¼ÂÁõ¤À¤±¤Ç¤¹¡£ -.LP -\f2rmid ¤Ï¡¢\fP µ¯Æ°¥°¥ë¡¼¥×ÍѤΠVM ¤òµ¯Æ°¤¹¤ë¤È¤­¤Ë¡¢¤½¤Î¥°¥ë¡¼¥×¤Ë¤Ä¤¤¤ÆÅÐÏ¿¤µ¤ì¤¿µ¯Æ°¥°¥ë¡¼¥×µ­½Ò»Ò¤Ç¤¢¤ë \f2ActivationGroupDesc\fP Æâ¤Î¾ðÊó¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ­½Ò»Ò¤Ï¡¢ \f2ActivationGroupDesc.CommandEnvironment\fP ¤ò»ØÄꤷ¤Þ¤¹ (¾Êά²Äǽ)¡£¤³¤ì¤Ë¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¡Ö¥³¥Þ¥ó¥É¡×¤È¡¢¤½¤Î¥³¥Þ¥ó¥É¹Ô¤ËÄɲäǤ­¤ë¥³¥Þ¥ó¥É¹Ô¡Ö¥ª¥×¥·¥ç¥ó¡×¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ \f2rmid ¤Ï\fP java.home ¤Ë¤¢¤ë \f2java\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ ¥°¥ë¡¼¥×µ­½Ò»Ò¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¥³¥Þ¥ó¥É¹Ô¤ËÄɲ䵤ì¤ë¡Ö¥×¥í¥Ñ¥Æ¥£¡¼¡×¥ª¡¼¥Ð¡¼¥é¥¤¥É¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥×¥í¥Ñ¥Æ¥£¡¼¤Ï¡¢¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-J\-Dsun\&.rmi\&.activation\&.execPolicy=\fIpolicy\fR +.RS 4 +µ¯Æ°¥°¥ë¡¼¥×¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ëJVM¤Îµ¯Æ°¤Ë»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Ë¡¢RMID¤¬ºÎÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java RMIµ¯Æ°¥Ç¡¼¥â¥ó¤ÎOracle¤Î¼ÂÁõ¤Î¤ß¤Ë¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤³¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï\fI\-J\-Dsun\&.rmi\&.activation\&.execPolicy=default\fR¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£\fIpolicy\fR¤Ë»ØÄê²Äǽ¤ÊÃͤϡ¢\fIdefault\fR¡¢\fIpolicyClassName\fR¤Þ¤¿¤Ï\fInone\fR¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ç¥Õ¥©¥ë¥È +.sp +\fIdefault\fR¤Þ¤¿¤Ï̤»ØÄêÃͤÎ\fIexecPolicy\fR¤Î¾ì¹ç¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤Ç¤­¤ë¤Î¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¡¢¼Â¹Ô¤¹¤ë¸¢¸Â¤¬\fIrmid\fR¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Î¤ß¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¼Â¹Ô¥Ý¥ê¥·¡¼¤Ç»ÈÍѤǤ­¤ë¤Î¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îµ¯Æ°¥°¥ë¡¼¥×¼ÂÁõ¤Î¤ß¤Ç¤¹¡£ +.sp +\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×ÍѤÎJVM¤òµ¯Æ°¤¹¤ë¤È¤­¤Ë¡¢¤½¤Î¥°¥ë¡¼¥×¤Ë¤Ä¤¤¤ÆÅÐÏ¿¤µ¤ì¤¿µ¯Æ°¥°¥ë¡¼¥×µ­½Ò»Ò¤Ç¤¢¤ë\fIActivationGroupDesc\fRÆâ¤Î¾ðÊó¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ­½Ò»Ò¤Ï¡¢\fIActivationGroupDesc\&.CommandEnvironment\fR¤ò»ØÄꤷ¤Þ¤¹(¾Êά²Äǽ)¡£¤³¤ì¤Ë¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¥³¥Þ¥ó¥É¤È¡¢¤½¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ËÄɲäǤ­¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ï\fIjava\&.home\fR¤Ë¤¢¤ë\fIjava\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ­½Ò»Ò¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥ª¥×¥·¥ç¥ó¤È¤·¤ÆÄɲ䵤ì¤ë¥×¥í¥Ñ¥Æ¥£¡¦¥ª¡¼¥Ð¡¼¥é¥¤¥É¤â´Þ¤Þ¤ì¤Þ¤¹(\fI\-D<property>=<value>\fR¤È¤·¤ÆÄêµÁ¤µ¤ì¤Þ¤¹)¡£\fIcom\&.sun\&.rmi\&.rmid\&.ExecPermission\fR¸¢¸Â¤Ï\fIrmid\fR¥³¥Þ¥ó¥É¤Ë¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë¥°¥ë¡¼¥×µ­½Ò»Ò¤Î\fICommandEnvironment\fR¤Ç»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÉÕÍ¿¤·¤Þ¤¹¡£\fIcom\&.sun\&.rmi\&.rmid\&.ExecOptionPermission\fR¸¢¸Â¤Ïµ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï»þ¤Ë¡¢¥°¥ë¡¼¥×µ­½Ò»Ò¤Ç¥×¥í¥Ñ¥Æ¥£¡¦¥ª¡¼¥Ð¡¼¥é¥¤¥É¤È¤·¤Æ¡¢¤Þ¤¿¤Ï\fICommandEnvironment\fR¤Ç¥ª¥×¥·¥ç¥ó¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¡£\fIrmid\fR¥³¥Þ¥ó¥É¤ËÍÍ¡¹¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÉÕÍ¿¤¹¤ë¾ì¹ç¡¢¸¢¸Â\fIExecPermission\fR¤ª¤è¤Ó\fIExecOptionPermission\fR¤ò¤¹¤Ù¤Æ¤Î¥³¡¼¥É¡¦¥½¡¼¥¹¤ËÉÕÍ¿¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBExecPermission\fR +.sp +\fIExecPermission\fR¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë\fIrmid\fR¥³¥Þ¥ó¥É¤¬ÆÃÄê¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£ +.sp +\fB¹½Ê¸\fR: +\fIExecPermission\fR¤Î̾Á°¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ë¼Â¹Ô¤òµö²Ä¤¹¤ë¥³¥Þ¥ó¥É¤Î¥Ñ¥¹Ì¾¤Ç¤¹¡£¥¹¥é¥Ã¥·¥å(/)¤ª¤è¤Ó¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£¥¹¥é¥Ã¥·¥å¤Ï¥Õ¥¡¥¤¥ë¶èÀÚ¤êʸ»ú\fIFile\&.separatorChar\fR¤Ç¤¹¡£¥¹¥é¥Ã¥·¥å(/)¤ª¤è¤Ó¥Þ¥¤¥Ê¥¹É乿(\-)¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê(ºÆµ¢Åª¤Ë)¤ò¼¨¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤ËÆÃÊ̤ʥȡ¼¥¯¥ó\fI<<ALL FILES>>\fR¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£ +.sp +¥Ñ¥¹Ì¾¤Ë¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤Ë¥Þ¥¤¥Ê¥¹É乿(\-)¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó(ºÆµ¢Åª¤Ë)¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Þ¤¹¡£ +.sp +\fBExecOptionPermission\fR +.sp +\fIExecOptionPermission\fR¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤­¤Ë\fIrmid\fR¥³¥Þ¥ó¥É¤ÇÆÃÄê¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£\fIExecOptionPermission\fR¤Î̾Á°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ÎÃͤǤ¹¡£ +.sp +\fB¹½Ê¸\fR: ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤¬¸ÂÄêŪ¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¡¦¥Þ¥Ã¥Á¤òɽ¤·¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ï¡¢¥ª¥×¥·¥ç¥ó̾¤½¤Î¤â¤Î¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Ç¤°Õ¤Î¥ª¥×¥·¥ç¥ó¤òɽ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¥ª¥×¥·¥ç¥ó̾¤ÎËöÈø¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¥É¥Ã¥È(\&.)¤«Åù¹æ(=)¤Îľ¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +Îã: +\fI*\fR¤ä\fI\-Dmydir\&.*\fR¤ä\fI\-Da\&.b\&.c=*\fR¤ÏÍ­¸ú¤Ç¤¹¤¬¡¢\fI*mydir\fR¤ä\fI\-Da*b\fR¤ä\fIab*\fR¤Ï̵¸ú¤Ç¤¹¡£ +.sp +\fBrmid¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë\fR +.sp +\fIrmid\fR¥³¥Þ¥ó¥É¤ËÍÍ¡¹¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¾ì¹ç¤Ï¡¢¸¢¸Â\fIExecPermission\fR¤ª¤è¤Ó\fIExecOptionPermission\fR¤ò¤¹¤Ù¤Æ¤Î¥³¡¼¥É¡¦¥½¡¼¥¹¤ËÉÕÍ¿¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(ÈÆÍÑŪ¤Ë)¡£¤³¤ì¤é¤Î¸¢¸Â¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Î¤Ï\fIrmid\fR¥³¥Þ¥ó¥É¤Î¤ß¤Ê¤Î¤Ç¡¢¤³¤ì¤é¤Î¸¢¸Â¤òÈÆÍÑŪ¤ËÉÕÍ¿¤·¤Æ¤â°ÂÁ´¤Ç¤¹¡£ +.sp +\fIrmid\fR¥³¥Þ¥ó¥É¤Ë³Æ¼ï¤Î¼Â¹Ô¸¢¸Â¤òÉÕÍ¿¤¹¤ë¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÎã¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \-D\fP\f4<property>\fP\f3=\fP\f4<value>\fP\f3 -.fl -\fP -.fi -.LP -¥¢¥¯¥»¥¹¸¢ \f2com.sun.rmi.rmid.ExecPermission\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢ \f2rmid\fP ¤ËÂФ·¤Æ¡¢¥°¥ë¡¼¥×µ­½Ò»Ò¤Î \f2CommandEnvironment\fP ¤Ç»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥¢¥¯¥»¥¹¸¢ \f2com.sun.rmi.rmid.ExecOptionPermission\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢¥°¥ë¡¼¥×µ­½Ò»Ò¤Ç¥×¥í¥Ñ¥Æ¥£¡¼¥ª¡¼¥Ð¡¼¥é¥¤¥É¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡¢¤Þ¤¿¤Ï \f2CommandEnvironment\fP ¤Ç¥ª¥×¥·¥ç¥ó¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤­¤Ë rmid ¤¬»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f2rmid ¤Ë\fP ¤µ¤Þ¤¶¤Þ¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹¸¢ \f2ExecPermission\fP ¤ª¤è¤Ó \f2ExecOptionPermission\fP ¤òÈÆÍÑŪ¤Ëµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥½¡¼¥¹¤ËÂФ·¤Æµö²Ä¤·¤Þ¤¹¡£ -.RS 3 -.TP 3 -ExecPermission -\f2ExecPermission\fP ¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë \f2rmid ¤¬\fP ÆÃÄê¤Î¡Ö¥³¥Þ¥ó¥É¡×¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£ -.LP -\f3¹½Ê¸\fP -.br -\f2ExecPermission\fP ¤Î¡Ö̾Á°¡×¤Ï¡¢ \f2rmid\fP ¤Ë¼Â¹Ô¤òµö²Ä¤¹¤ë¥³¥Þ¥ó¥É¤Î¥Ñ¥¹Ì¾¤Ç¤¹¡£¡Ö/*¡× (¡Ö/¡×¤Ï¥Õ¥¡¥¤¥ë¶èÀÚ¤êʸ»ú File.separatorChar) ¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£ ¡Ö/\-¡×¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê (ºÆµ¢Åª¤Ë) ¤ò¼¨¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤ËÆÃÊ̤ʥȡ¼¥¯¥ó¡Ö<<ALL FILES>>¡×¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢\f3Ǥ°Õ¤Î\fP¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£ -.LP -\f3Ãí:\fP ¡Ö*¡×¤ò 1 ¤Ä»ØÄꤷ¤¿¤À¤±¤Î¥Ñ¥¹Ì¾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òɽ¤·¤Þ¤¹¡£¤Þ¤¿¡¢¡Ö\-¡×¤ò 1 ¤Ä»ØÄꤷ¤¿¤À¤±¤Î¥Ñ¥¹Ì¾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê (ºÆµ¢Åª¤Ë) ¤òɽ¤·¤Þ¤¹¡£ -.TP 3 -ExecOptionPermission -\f2ExecOptionPermission\fP ¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤­¤Ë \f2rmid ¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¥³¥Þ¥ó¥É¤ò¤Þ¤Ã¤¿¤¯¸¡¾Ú¤·¤Þ¤»¤ó¡£\fP ÆÃÄê¤Î¥³¥Þ¥ó¥É¹Ô¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»ÈÍѤǤ­¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£ \f2ExecOptionPermission\fP ¤Î¡Ö̾Á°¡×¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ÎÃͤǤ¹¡£ -.LP -\f3¹½Ê¸\fP -.br -¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤¬¸ÂÄêŪ¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¥Þ¥Ã¥Á¤òɽ¤·¤Þ¤¹¡£ ¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ª¥×¥·¥ç¥ó̾¤½¤Î¤â¤Î¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢Ç¤°Õ¤Î¥ª¥×¥·¥ç¥ó¤òɽ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢¥ª¥×¥·¥ç¥ó̾¤ÎËöÈø¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢¡Ö.¡×¤«¡Ö=¡×¤Îľ¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -Îã¤ò¼¨¤·¤Þ¤¹¡£¡Ö*¡×¡¢¡Ö\-Dfoo.*¡×¡¢¡Ö\-Da.b.c=*¡×¤ÏÍ­¸ú¤Ç¤¹¤¬¡¢¡Ö*foo¡×¡¢¡Ö\-Da*b¡×¡¢¡Öab*¡×¤Ï̵¸ú¤Ç¤¹¡£ -.TP 3 -rmid ¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë -\f2rmid ¤Ë\fP ¤µ¤Þ¤¶¤Þ¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹¸¢ \f2ExecPermission\fP ¤ª¤è¤Ó \f2ExecOptionPermission\fP ¤òÈÆÍÑŪ¤Ëµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥½¡¼¥¹¤ËÂФ·¤Æµö²Ä¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¢¥¯¥»¥¹¸¢¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Î¤Ï \f2rmid\fP ¤À¤±¤Ê¤Î¤Ç¡¢¤³¤ì¤é¤Î¥¢¥¯¥»¥¹¸¢¤òÈÆÍÑŪ¤Ëµö²Ä¤·¤Æ¤â°ÂÁ´¤Ç¤¹¡£ -.LP -rmid ¤Ë³Æ¼ï¤Î¼Â¹Ô¸¢¸Â¤òµö²Ä¤¹¤ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÎã¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl grant { -.fl - permission com.sun.rmi.rmid.ExecPermission -.fl - "/files/apps/java/jdk1.7.0/solaris/bin/java"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecPermission -.fl - "/files/apps/rmidcmds/*"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecOptionPermission -.fl - "\-Djava.security.policy=/files/policies/group.policy"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecOptionPermission -.fl - "\-Djava.security.debug=*"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecOptionPermission -.fl - "\-Dsun.rmi.*"; -.fl -}; -.fl -\fP -.fi -ºÇ½é¤ËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥»¥¹¸¢¤Ï¡¢ \f2rmid\fP ¤ËÂФ·¡¢¥Ñ¥¹Ì¾¤Ë¤è¤êÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤ë \f2java\fP ¥³¥Þ¥ó¥É¤Î 1.7.0 ¥Ð¡¼¥¸¥ç¥ó¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢java.home ¤Ë¤¢¤ë¥Ð¡¼¥¸¥ç¥ó¤Î \f2java\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ \f2rmid\fP ¤¬»ÈÍѤ¹¤ë¤Î¤ÈƱ¤¸¥Ð¡¼¥¸¥ç¥ó) ¤¬»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£2 ÈÖÌܤΥ¢¥¯¥»¥¹¸¢¤Ï¡¢ \f2rmid\fP ¤ËÂФ·¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2/files/apps/rmidcmds\fP Æâ¤ÎǤ°Õ¤Î¥³¥Þ¥ó¥É¤Î¼Â¹Ô¸¢¸Â¤òµö²Ä¤·¤Þ¤¹¡£ -.LP -3 ÈÖÌܤËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥»¥¹¸¢ \f2ExecOptionPermission\fP ¤Ï¡¢ \f2rmid\fP ¤ËÂФ·¤Æ¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò \f2/files/policies/group.policy\fP ¤È¤·¤ÆÄêµÁ¤·¤Æ¤¤¤ëµ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï¤òµö²Ä¤·¤Þ¤¹¡£¼¡¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬ \f2java.security.debug\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ºÇ¸å¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬ \f2sun.rmi\fP ¤È¤¤¤¦¥×¥í¥Ñ¥Æ¥£¡¼Ì¾¤Î³¬ÁØÆâ¤ÎǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ \f2rmid\fP ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢rmid ¤Î¥³¥Þ¥ó¥É¹Ô¤Ç \f2java.security.policy\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -\f2rmid \-J\-Djava.security.policy=rmid.policy\fP -.RE -.TP 2 -o -\f4<policyClassName>\fP -.LP -¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤Ï½½Ê¬¤Ê½ÀÆðÀ­¤¬ÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¡¢´ÉÍý¼Ô¤Ï¡¢ \f2rmid\fP ¤Îµ¯Æ°»þ¤Ë¡¢ \f2checkExecCommand\fP ¥á¥½¥Ã¥É¤¬½ê°¤¹¤ë¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤷ¤Æ¡¢rmid ¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -\f2policyClassName\fP ¤Ë¤Ï¡¢°ú¿ô¤Ê¤·¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»ý¤Á¡¢¼¡¤Î¤è¤¦¤Ê \f2checkExecCommand\fP ¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë public ¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - public void checkExecCommand(ActivationGroupDesc desc, -.fl - String[] command) -.fl - throws SecurityException; -.fl -\fP -.fi -µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ëÁ°¤Ë¡¢ \f2rmid\fP ¤Ï¡¢¥Ý¥ê¥·¡¼¤Î \f2checkExecCommand\fP ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤Î¤È¤­¡¢µ¯Æ°¥°¥ë¡¼¥×¤Îµ­½Ò»Ò¤È¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Î´°Á´¤Ê¥³¥Þ¥ó¥É¤ò´Þ¤àÇÛÎó¤ò¤½¤Î¥á¥½¥Ã¥É¤ËÅϤ·¤Þ¤¹¡£ \f2checkExecCommand\fP ¤¬ \f2SecurityException\fP ¤ò¥¹¥í¡¼¤¹¤ë¤È¡¢ \f2rmid\fP ¤Ï¤½¤Îµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤»¤º¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Îµ¯Æ°¤ò»î¹Ô¤·¤Æ¤¤¤ë¸Æ¤Ó½Ð¤·Â¦¤Ë¤Ï \f2ActivationException\fP ¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ -.TP 2 -o -\f3none\fP -.LP -\f2sun.rmi.activation.execPolicy\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤ¬¡Önone¡×¤Î¾ì¹ç¡¢ \f2rmid\fP ¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¥³¥Þ¥ó¥É¤ò¤Þ¤Ã¤¿¤¯¸¡¾Ú¤·¤Þ¤»¤ó¡£ -.RE -.LP -.TP 3 -\-log dir -µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ª¤è¤Ó´ØÏ¢¾ðÊó¤ò½ñ¤­¹þ¤à¤Î¤Ë»È¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢rmid ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢ \f2log\fP ¤È¤¤¤¦¥í¥°¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-port port -\f2rmid\fP ¤Î¥ì¥¸¥¹¥È¥ê¤¬»È¤¦¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤Ï¡¢¤³¤Î¥ì¥¸¥¹¥È¥ê¤ÎÃæ¤Ç¡¢ \f2java.rmi.activation.ActivationSystem\fP ¤È¤¤¤¦Ì¾Á°¤ÇActivationSystem ¤ò¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¾å¤Î \f2ActivationSystem\fP ¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f2Naming.lookup\fP ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¼èÆÀ¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl - import java.rmi.*; -.fl - import java.rmi.activation.*; -.fl - -.fl - ActivationSystem system; system = (ActivationSystem) -.fl - Naming.lookup("//:\fP\f4port\fP/java.rmi.activation.ActivationSystem"); -.fl -.fi -.TP 3 -\-stop -\-port ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¤Î¡¢¸½ºß¤Î \f2rmid\fP ¸Æ¤Ó½Ð¤·¤òÄä»ß¤·¤Þ¤¹¡£ ¥Ý¡¼¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ý¡¼¥È 1098 ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë \f2rmid\fP ¤òÄä»ß¤·¤Þ¤¹¡£ -.RE - -.LP -.SH "´Ä¶­ÊÑ¿ô" -.LP -.RS 3 -.TP 3 -CLASSPATH -¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - .:/usr/local/java/classes -.fl -\fP -.fi -.RE - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.LP -rmic(1)¡¢ -.na -\f2CLASSPATH\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath¡¢java(1) -.LP + permission com\&.sun\&.rmi\&.rmid\&.ExecPermission + "/files/apps/java/jdk1\&.7\&.0/solaris/bin/java"; + permission com\&.sun\&.rmi\&.rmid\&.ExecPermission + "/files/apps/rmidcmds/*"; + + permission com\&.sun\&.rmi\&.rmid\&.ExecOptionPermission + "\-Djava\&.security\&.policy=/files/policies/group\&.policy"; + + permission com\&.sun\&.rmi\&.rmid\&.ExecOptionPermission + "\-Djava\&.security\&.debug=*"; + + permission com\&.sun\&.rmi\&.rmid\&.ExecOptionPermission + "\-Dsun\&.rmi\&.*"; +}; +.fi +.if n \{\ +.RE +.\} +ºÇ½é¤ËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¸¢¸Â¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤ËÂФ·¡¢¥Ñ¥¹Ì¾¤Ë¤è¤êÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤ë\fIjava\fR¥³¥Þ¥ó¥É¤Î1\&.7\&.0¥ê¥ê¡¼¥¹¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjava\&.home\fR¤Ë¤¢¤ë¥Ð¡¼¥¸¥ç¥ó¤Î\fIjava\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£\fIrmid\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¤Î¤ÈƱ¤¸¥Ð¡¼¥¸¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£2ÈÖÌܤθ¢¸Â¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê\fI/files/apps/rmidcmds\fRÆâ¤ÎǤ°Õ¤Î¥³¥Þ¥ó¥É¤Î¼Â¹Ô¸¢¸Â¤òµö²Ä¤·¤Þ¤¹¡£ +.sp +3ÈÖÌܤËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¸¢¸Â\fIExecOptionPermission\fR¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò\fI/files/policies/group\&.policy\fR¤È¤·¤ÆÄêµÁ¤·¤Æ¤¤¤ëµ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï¤òµö²Ä¤·¤Þ¤¹¡£¼¡¤Î¸¢¸Â¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬\fIjava\&.security\&.debug property\fR¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ºÇ¸å¤Î¸¢¸Â¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬\fIsun\&.rmi property\fR̾¤Î³¬ÁØÆâ¤ÎǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ\fIrmid\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢\fIrmid\fR¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjava\&.security\&.policy\fR¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +\fIrmid \-J\-Djava\&.security\&.policy=rmid\&.policy\fR\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +<policyClassName> +.sp +¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤Ï½½Ê¬¤Ê½ÀÆðÀ­¤¬ÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¡¢´ÉÍý¼Ô¤Ï¡¢\fIrmid\fR¤Îµ¯Æ°»þ¤Ë¡¢\fIcheckExecCommand\fR¥á¥½¥Ã¥É¤¬½ê°¤¹¤ë¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤷ¤Æ¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +\fIpolicyClassName\fR¤Ë¤Ï¡¢°ú¿ô¤Ê¤·¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»ý¤Á¡¢¼¡¤Î¤è¤¦¤Ê\fIcheckExecCommand\fR¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ëpublic¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + public void checkExecCommand(ActivationGroupDesc desc, String[] command) + throws SecurityException; +.fi +.if n \{\ +.RE +.\} +µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ëÁ°¤Ë¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥ê¥·¡¼¤Î\fIcheckExecCommand\fR¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤Î¤È¤­¡¢µ¯Æ°¥°¥ë¡¼¥×¤Îµ­½Ò»Ò¤È¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Î´°Á´¤Ê¥³¥Þ¥ó¥É¤ò´Þ¤àÇÛÎó¤ò¤½¤Î¥á¥½¥Ã¥É¤ËÅϤ·¤Þ¤¹¡£\fIcheckExecCommand\fR¤¬\fISecurityException\fR¤ò¥¹¥í¡¼¤¹¤ë¤È¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¤½¤Îµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤»¤º¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Îµ¯Æ°¤ò»î¹Ô¤·¤Æ¤¤¤ë¸Æ½Ð¤·Â¦¤Ë¤Ï\fIActivationException\fR¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +none +.sp +\fIsun\&.rmi\&.activation\&.execPolicy\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ¬\fInone\fR¤Î¾ì¹ç¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¥³¥Þ¥ó¥É¤ò¤Þ¤Ã¤¿¤¯¸¡¾Ú¤·¤Þ¤»¤ó¡£ +.RE +.RE +.PP +\-log \fIdir\fR +.RS 4 +µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ª¤è¤Ó´ØÏ¢¾ðÊó¤ò½ñ¤­¹þ¤à¤Î¤Ë»ÈÍѤ¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢log¤È¤¤¤¦¥í¥°¡¦¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-port \fIport\fR +.RS 4 +¥ì¥¸¥¹¥È¥ê¤¬»ÈÍѤ¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤Ï¡¢¤³¤Î¥ì¥¸¥¹¥È¥ê¤ÎÃæ¤Ç¡¢\fIjava\&.rmi\&.activation\&.ActivationSystem\fR¤È¤¤¤¦Ì¾Á°¤Ç\fIActivationSystem\fR¤ò¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¥í¡¼¥«¥ë¡¦¥Þ¥·¥ó¾å¤Î\fIActivationSystem\fR¤Ï¡¢¼¡¤Î¤è¤¦¤Ë\fINaming\&.lookup\fR¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¼èÆÀ¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +import java\&.rmi\&.*; + import java\&.rmi\&.activation\&.*; + + ActivationSystem system; system = (ActivationSystem) + Naming\&.lookup("//:port/java\&.rmi\&.activation\&.ActivationSystem"); +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-stop +.RS 4 +\fI\-port\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¤Î¡¢¸½ºß¤Î\fIrmid\fR¥³¥Þ¥ó¥É¤Î¸Æ½Ð¤·¤òÄä»ß¤·¤Þ¤¹¡£¥Ý¡¼¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ý¡¼¥È1098¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë\fIrmid\fR¤Î¸Æ½Ð¤·¤òÄä»ß¤·¤Þ¤¹¡£ +.RE +.SH "´Ä¶­ÊÑ¿ô" +.PP +CLASSPATH +.RS 4 +¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£Îã: +\fI\&.:/usr/local/java/classes\fR +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Setting the Class Path +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/rmiregistry.1 b/jdk/src/linux/doc/man/ja/rmiregistry.1 index 264c3c1cfa6..2786a5b1a3c 100644 --- a/jdk/src/linux/doc/man/ja/rmiregistry.1 +++ b/jdk/src/linux/doc/man/ja/rmiregistry.1 @@ -1,83 +1,132 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH rmiregistry 1 "07 May 2011" - -.LP -.SH "̾Á°" -rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê -.LP -.RS 3 -\f3rmiregistry\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥Û¥¹¥È¤Î»ØÄꤷ¤¿¥Ý¡¼¥È¾å¤Ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤·¤Þ¤¹¡£ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: rmiregistry +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Remote Method Invocation (RMI)¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "rmiregistry" "1" "2013ǯ11·î21Æü" "JDK 8" "Remote Method Invocation (RMI)" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +rmiregistry \- ¸½ºß¤Î¥Û¥¹¥È¤Î»ØÄꤷ¤¿¥Ý¡¼¥È¾å¤Ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -rmiregistry [\fP\f4port\fP\f3] -.fl -\fP +\fIrmiregistry\fR [ \fIport\fR ] .fi - -.LP -.SH "ÀâÌÀ" -.LP -.LP -\f3rmiregistry\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥Û¥¹¥È¤Î»ØÄê \f2port\fP ¾å¤Ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¡¢³«»Ï¤·¤Þ¤¹¡£\f2port\fP ¤Î»ØÄê¤ò¾Êά¤·¤¿¾ì¹ç¡¢¥ì¥¸¥¹¥È¥ê¤Ï¥Ý¡¼¥È 1099 ¤Ç³«»Ï¤·¤Þ¤¹¡£\f3rmiregistry\fP ¥³¥Þ¥ó¥É¤Ë¡¢½ÐÎϵ¡Ç½¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä̾¤³¤ì¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.LP -\f2rmiregistry&\fP -.LP -.LP -¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤¹¡£Æ±°ì¥Û¥¹¥È¤Î RMI ¥µ¡¼¥Ð¡¼¤¬¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò̾Á°¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¼¡¤Ë¡¢¥í¡¼¥«¥ë¤ª¤è¤Ó¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤·¡¢¥ê¥â¡¼¥È¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ò¹Ô¤¤¤Þ¤¹¡£ -.LP -.LP -¥ì¥¸¥¹¥È¥ê¤Ï¡¢°ìÈÌŪ¤Ë¡¢ºÇ½é¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÌÃÖ¤ò»ØÄꤷ¤Þ¤¹¡£ ¤½¤³¤Ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£Âå¤ï¤Ã¤Æ¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó»ØÄê¤Î¥µ¥Ý¡¼¥È¤òÄ󶡤·¡¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤·¤Þ¤¹¡£ -.LP -.LP -\f2java.rmi.registry.LocateRegistry\fP ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¡¢¤Þ¤¿¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤È¥Ý¡¼¥È¤Çưºî¤¹¤ë¥ì¥¸¥¹¥È¥ê¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2java.rmi.Naming\fP ¥¯¥é¥¹¤Î URL ¥Ù¡¼¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢¥ì¥¸¥¹¥È¥ê¤Çưºî¤·¡¢Ç¤°Õ¤Î¥Û¥¹¥È¤ª¤è¤Ó¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¸¡º÷¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ëñ½ã¤Ê (ʸ»úÎó) ̾Á°¤ò¥Ð¥¤¥ó¥É¤·¤¿¤ê¡¢¿·¤·¤¤Ì¾Á°¤ò¥ê¥Ð¥¤¥ó¥É (¸Å¤¤¥Ð¥¤¥ó¥É¤Ë¥ª¡¼¥Ð¡¼¥é¥¤¥É) ¤·¤Þ¤¹¡£¤Þ¤¿¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥ó¥Ð¥¤¥ó¥É¤·¤¿¤ê¡¢¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ URL ¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-J -\f2\-J\fP ¤Î¸å¤í¤Ë³¤¯¥ª¥×¥·¥ç¥ó¤ò \f2java\fP ¥¤¥ó¥¿¥×¥ê¥¿¤Ë°ú¤­ÅϤ·¤Þ¤¹¡£ \f2java\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¤¤Þ¤¹ (\-J ¤È java ¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏÆþ¤ì¤Ê¤¤)¡£ +.if n \{\ +.RE +.\} +.PP +\fIport\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤¹¤ë¸½ºß¤Î¥Û¥¹¥È¾å¤Î\fIport\fR¤Î¿ô¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIrmiregistry\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥Û¥¹¥È¤Î»ØÄꤷ¤¿¥Ý¡¼¥È¾å¤Ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¡¢³«»Ï¤·¤Þ¤¹¡£port¤Î»ØÄê¤ò¾Êά¤·¤¿¾ì¹ç¡¢¥ì¥¸¥¹¥È¥ê¤Ï¥Ý¡¼¥È1099¤Ç³«»Ï¤·¤Þ¤¹¡£\fIrmiregistry\fR¥³¥Þ¥ó¥É¤Ë¡¢½ÐÎϵ¡Ç½¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä̾¤³¤ì¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +rmiregistry & +.fi +.if n \{\ +.RE +.\} +.PP +¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ì¥¸¥¹¥È¥ê¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤Î¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤¹¡£Æ±°ì¥Û¥¹¥È¤ÎRMI¥µ¡¼¥Ð¡¼¤¬¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò̾Á°¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¼¡¤Ë¡¢¥í¡¼¥«¥ë¤ª¤è¤Ó¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤·¡¢¥ê¥â¡¼¥È¡¦¥á¥½¥Ã¥É¤Î¸Æ½Ð¤·¤ò¹Ô¤¤¤Þ¤¹¡£ +.PP +¥ì¥¸¥¹¥È¥ê¤Ï¡¢°ìÈÌŪ¤Ë¡¢ºÇ½é¤Î¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÌÃÖ¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤³¤Ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¸å¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó»ØÄê¤Î¥µ¥Ý¡¼¥È¤òÄ󶡤·¡¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤·¤Þ¤¹¡£ +.PP +\fIjava\&.rmi\&.registry\&.LocateRegistry\fR¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¡¢¤Þ¤¿¤Ï¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤È¥Ý¡¼¥È¤Çưºî¤¹¤ë¥ì¥¸¥¹¥È¥ê¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.PP +\fIjava\&.rmi\&.Naming\fR¥¯¥é¥¹¤ÎURL¥Ù¡¼¥¹¡¦¥á¥½¥Ã¥É¤Ï¥ì¥¸¥¹¥È¥ê¤ËÂФ·¤ÆÁàºî¤ò¼Â¹Ô¤·¡¢Ç¤°Õ¤Î¥Û¥¹¥È¤ª¤è¤Ó¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤Ç¤Î¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¸¡º÷¤Ë»ÈÍѤǤ­¤Þ¤¹¡£Ã±½ã̾(ʸ»úÎó)¤ò¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Ð¥¤¥ó¥É¤·¡¢¿·¤·¤¤Ì¾Á°¤ò¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËºÆ¥Ð¥¤¥ó¥É¤·(¸Å¤¤¥Ð¥¤¥ó¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É)¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥ó¥Ð¥¤¥ó¥É¤·¡¢¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ëURL¤ò¥ê¥¹¥Èɽ¼¨¤·¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-J +.RS 4 +Java¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Æ¡¢\fI\-J\fR¤Î¸å¤í¤Ë³¤¯¥ª¥×¥·¥ç¥ó¤òJava¥¤¥ó¥¿¥×¥ê¥¿¤Ë°ú¤­ÅϤ·¤Þ¤¹(\fI\-J\fR¤È¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏÆþ¤ì¤Þ¤»¤ó)¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -java(1)¡¢ -.na -\f2java.rmi.registry.LocateRegistry\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html¡¢¤ª¤è¤Ó -.na -\f2java.rmi.Naming\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI¡Öjava\&.rmi\&.registry\&.LocateRegistry¡×\fR(http://docs\&.oracle\&.com/javase/8/docs/api/java/rmi/registry/LocateRegistry\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI¡Öjava\&.rmi\&.Naming class description¡×\fR(http://docs\&.oracle\&.com/javase/8/docs/api/java/rmi/Naming\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/schemagen.1 b/jdk/src/linux/doc/man/ja/schemagen.1 index cb86632a14a..60deab8308d 100644 --- a/jdk/src/linux/doc/man/ja/schemagen.1 +++ b/jdk/src/linux/doc/man/ja/schemagen.1 @@ -1,127 +1,158 @@ -." Copyright (c) 2005, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH schemagen 1 "07 May 2011" - -.LP -.SH "̾Á°" -schemagen \- XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java(TM) ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿ -.LP -.LP -\f3»ÅÍͥС¼¥¸¥ç¥ó:\fP 2.1 -.br -\f3¼ÂÁõ¥Ð¡¼¥¸¥ç¥ó:\fP 2.1.3 -.LP -.SH "schemagen ¤Îµ¯Æ°" -.LP -.LP -¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î bin ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë \f2ŬÀÚ¤Ê schemagen ¥·¥§¥ë¥¹¥¯¥ê¥×¥È\fP ¤ò»ÈÍÑ \f2¤·¤Þ¤¹\fP ¡£ -.LP -.LP -¸½ºß¤Î¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤â½èÍý¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¤Þ¤¿¡¢¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ -.na -\f2schemagen ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html¤¿¤á¤Î¼ê½ç¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +'\" t +.\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: schemagen +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "schemagen" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +schemagen \- Java¥¯¥é¥¹Æâ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤´¤È¤Ë¥¹¥­¡¼¥Þ¤òÀ¸À®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% schemagen.sh Foo.java Bar.java ... -.fl -Note: Writing schema1.xsd -.fl -\fP +\fIschemagen\fR [ \fIoptions\fR ] \fIjava\-files\fR .fi - -.LP -.LP -¥æ¡¼¥¶¡¼¤Î Java ¥½¡¼¥¹/¥¯¥é¥¹¤¬¤Û¤«¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥·¥¹¥Æ¥à¤Î ´Ä¶­ÊÑ¿ô·Ðͳ¤Ç¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï \f2\-classpath\fP/\f2\-cp\fP ¤ò»È¤Ã¤Æ¤½¤ì¤é¤Î¥¯¥é¥¹¤ò¥Ä¡¼¥ë¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥¹¥­¡¼¥Þ¤ÎÀ¸À®»þ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£ -.LP -.SS -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.LP -.nf -\f3 -.fl -»ÈÍÑÊýË¡: schemagen [\-options ...] <java files> -.fl - -.fl -¥ª¥×¥·¥ç¥ó: -.fl - \-d <path> : ¥×¥í¥»¥Ã¥µ¤ª¤è¤Ó javac ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.fl - \-cp <path> : ¥æ¡¼¥¶¡¼»ØÄê¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.fl - \-classpath <path> : ¥æ¡¼¥¶¡¼»ØÄê¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.fl - \-encoding <encoding> : apt/javac ¸Æ¤Ó½Ð¤·¤Ë»ÈÍѤµ¤ì¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£ -.fl - -.fl - \-episode <file> : ¸ÄÊÌ¥³¥ó¥Ñ¥¤¥ëÍѤΥ¨¥Ô¥½¡¼¥É¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ -.fl - \-version : ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.fl - \-help : ¤³¤Î»ÈÍÑÊýË¡¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ -.fl -\fP -.fi - -.LP -.SH "À¸À®¤µ¤ì¤ë¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë" -.LP -.LP -¸½ºß¤Î¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ïñ½ã¤Ë¡¢Java ¥¯¥é¥¹Æâ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë̾Á°¶õ´Ö¤´¤È¤Ë 1 ¤Ä¤Î¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤ë¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÀ©¸æ¤¹¤ëÊýË¡¤Ï¡¢¸½»þÅÀ¤Ç¤Ï¸ºß¤·¤Þ¤»¤ó¡£¤½¤¦¤·¤¿ÌÜŪ¤Ë¤Ï¡¢ -.na -\f2¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Î ant ¥¿¥¹¥¯\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "̾Á°" -´ØÏ¢¹àÌÜ -.LP -.RS 3 -.TP 2 -o -¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Î¼Â¹Ô (schemagen): [ -.na -\f2¥³¥Þ¥ó¥É¹Ô¤ÎÌ¿Îá\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html¡¢ -.na -\f2SchemaGen ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html] -.TP 2 -o -.na -\f2XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î JavaTM ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ (JAXB)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html +.if n \{\ .RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIjava\-files\fR +.RS 4 +½èÍý¤¹¤ëJava¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡£ +.RE +.SH "ÀâÌÀ" +.PP +¥¹¥­¡¼¥Þ¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢Java¥¯¥é¥¹Æâ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤´¤È¤Ë1¤Ä¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¸½ºß¡¢À¸À®¤µ¤ì¤ë¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ÏÀ©¸æ¤Ç¤­¤Þ¤»¤ó¡£¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë̾¤òÀ©¸æ¤¹¤ë¾ì¹ç¤Ï¡¢http://jaxb\&.java\&.net/nonav/2\&.2\&.3u1/docs/schemagenTask\&.html¤Ë¤¢¤ë +¡ÖUsing SchemaGen with Ant¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Îbin¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ëŬÀÚ¤Ê\fIschemagen\fR¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¡¢¥¹¥­¡¼¥Þ¡¦¥¸¥§¥Í¥ì¡¼¥¿¤òµ¯Æ°¤·¤Þ¤¹¡£¸½ºß¤Î¥¹¥­¡¼¥Þ¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤â½èÍý¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +schemagen\&.sh Foo\&.java Bar\&.java \&.\&.\&. +Note: Writing schema1\&.xsd +.fi +.if n \{\ +.RE +.\} +.PP +java¥Õ¥¡¥¤¥ë¤¬Â¾¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¥·¥¹¥Æ¥à\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¡¦¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ\fIschemagen\fR¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡¢¤Þ¤¿¤Ï»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¹¥­¡¼¥Þ¤ÎÀ¸À®»þ¤Ë¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-d \fIpath\fR +.RS 4 +\fIschemagen\fR¥³¥Þ¥ó¥É¤¬¥×¥í¥»¥Ã¥µÀ¸À®¤ª¤è¤Ó\fIjavac\fRÀ¸À®¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-cp \fIpath\fR +.RS 4 +\fIschemagen\fR¥³¥Þ¥ó¥É¤¬¥æ¡¼¥¶¡¼»ØÄê¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-classpath \fIpath\fR +.RS 4 +\fIschemagen\fR¥³¥Þ¥ó¥É¤¬¥æ¡¼¥¶¡¼»ØÄê¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-encoding \fIencoding\fR +.RS 4 +\fIapt\fR¤Þ¤¿¤Ï\fIjavac\fR¥³¥Þ¥ó¥É¤Î¸Æ½Ð¤·¤Ë»ÈÍѤ¹¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-episode \fIfile\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤´¤È¤Ë¥¨¥Ô¥½¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Using SchemaGen with Ant -.LP - +(http://jaxb\&.java\&.net/nonav/2\&.2\&.3u1/docs/schemagenTask\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java Architecture for XML Binding (JAXB) + +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/xml/jaxb/index\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/serialver.1 b/jdk/src/linux/doc/man/ja/serialver.1 index e06b12e9de1..e527c1694f4 100644 --- a/jdk/src/linux/doc/man/ja/serialver.1 +++ b/jdk/src/linux/doc/man/ja/serialver.1 @@ -1,97 +1,144 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH serialver 1 "07 May 2011" - -.LP -.SH "̾Á°" -serialver \- ¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó¥³¥Þ¥ó¥É -.LP -.LP -\f3serialver\fP ¥³¥Þ¥ó¥É¤Ï \f2serialVersionUID\fP ¤òÊÖ¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: serialver +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Remote Method Invocation (RMI)¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "serialver" "1" "2013ǯ11·î21Æü" "JDK 8" "Remote Method Invocation (RMI)" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +serialver \- »ØÄꤷ¤¿¥¯¥é¥¹¤Î¥·¥ê¥¢¥ë¡¦¥Ð¡¼¥¸¥ç¥óUID¤òÌᤷ¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3serialver\fP [ options ] [ classnames ] -.fl +\fIserialver\fR [ \fIoptions\fR ] [ \fIclassnames\fR ] .fi - -.LP -.RS 3 -.TP 3 -options -¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ -.TP 3 -classnames -1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹Ì¾¤Ç¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclassnames\fR +.RS 4 +\fIserialVersionUID\fR¤òÌ᤹¥¯¥é¥¹¤Ç¤¹¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3serialver\fP ¤Ï¡¢1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î \f2serialVersionUID\fP ¤ò¡¢Å¸³«¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ø¥³¥Ô¡¼¤¹¤ë¤Î¤ËŬ¤·¤¿·Á¼°¤ÇÊÖ¤·¤Þ¤¹¡£°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç¸Æ¤Ó½Ð¤¹¤È¡¢»ÈÍÑÊýË¡¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP +.PP +\fIserialver\fR¥³¥Þ¥ó¥É¤Ï¡¢1¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î\fIserialVersionUID\fR¤ò¡¢Å¸³«¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ø¥³¥Ô¡¼¤¹¤ë¤Î¤ËŬ¤·¤¿·Á¼°¤ÇÊÖ¤·¤Þ¤¹¡£°ú¿ô¤Ê¤·¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¡¢\fIserialver\fR¥³¥Þ¥ó¥É¤Ï»ÈÍÑΨ¹Ô¤ò½ÐÎϤ·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-classpath <: ¤Ç¶èÀÚ¤é¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤È zip ¤ä jar ¥Õ¥¡¥¤¥ë> -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤ª¤è¤Ó¥ê¥½¡¼¥¹¤Î¸¡º÷¥Ñ¥¹¤òÀßÄꤷ¤Þ¤¹¡£ +.PP +\-classpath \fIpath\-files\fR +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤ª¤è¤Ó¥ê¥½¡¼¥¹¤Î¸¡º÷¥Ñ¥¹¤òÀßÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¤È¥ê¥½¡¼¥¹¤ò¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-show -´Êñ¤Ê¥æ¡¼¥¶¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¼¨¤·¤Þ¤¹¡£´°Á´»ØÄê¤Î¥¯¥é¥¹Ì¾¤òÆþÎϤ·¤Æ¡¢Enter ¥­¡¼¤«¡ÖShow¡×¥Ü¥¿¥ó¤ò²¡¤·¡¢¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó UID ¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.PP +\-show +.RS 4 +´Êñ¤Ê¥æ¡¼¥¶¡¼¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¼¨¤·¤Þ¤¹¡£´°Á´»ØÄê¤Î¥¯¥é¥¹Ì¾¤òÆþÎϤ·¤Æ¡¢Enter¥­¡¼¤«¡Öɽ¼¨¡×¥Ü¥¿¥ó¤ò²¡¤·¡¢\fIserialVersionUID\fR¤òɽ¼¨¤·¤Þ¤¹¡£ .RE - -.LP -.SH "Ãí" -.LP -.LP -\f3serialver\fP ¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¤½¤Î²¾ÁÛ¥Þ¥·¥óÆâ¤ËÆÉ¤ß¹þ¤ó¤Ç½é´ü²½¤·¤Þ¤¹¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ÎÀßÄê¤Ï¹Ô¤¤¤Þ¤»¤ó¡£¿®Íê¤Ç¤­¤Ê¤¤¥¯¥é¥¹¤È¤È¤â¤Ë \f3serialver\fP ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥»¥­¥å¥ê¥Æ¥£¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤òÀßÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2\-J\-Djava.security.manager\fP -.LP -.LP -¤Þ¤¿¡¢É¬ÍפǤ¢¤ì¤Ð¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2\-J\-Djava.security.policy=<policy file>\fP -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.LP -.na -\f2java.io.ObjectStreamClass\fP @ +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "Ãí°Õ" +.PP +\fIserialver\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¤½¤Î²¾ÁÛ¥Þ¥·¥óÆâ¤ËÆÉ¤ß¹þ¤ó¤Ç½é´ü²½¤·¤Þ¤¹¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¡¦¥Þ¥Í¡¼¥¸¥ã¤ÎÀßÄê¤Ï¹Ô¤¤¤Þ¤»¤ó¡£¿®Íê¤Ç¤­¤Ê¤¤¥¯¥é¥¹¤È¤È¤â¤Ë\fIserialver\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥»¥­¥å¥ê¥Æ¥£¡¦¥Þ¥Í¡¼¥¸¥ã¤òÀßÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-J\-Djava\&.security\&.manager .fi -http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html -.LP - +.if n \{\ +.RE +.\} +.PP +ɬÍפǤ¢¤ì¤Ð¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-J\-Djava\&.security\&.policy=<policy file> +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +policytool(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/api/java/io/ObjectStreamClass\&.html¤Ë¤¢¤ë +\fIjava\&.io\&.ObjectStream\fR¥¯¥é¥¹µ­½Ò +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/servertool.1 b/jdk/src/linux/doc/man/ja/servertool.1 index 2e8fc6d97e3..71ab6b65ed1 100644 --- a/jdk/src/linux/doc/man/ja/servertool.1 +++ b/jdk/src/linux/doc/man/ja/servertool.1 @@ -1,113 +1,199 @@ -." Copyright (c) 2001, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH servertool 1 "07 May 2011" - -.LP -.SH "̾Á°" -servertool \- Java(TM) IDL ¥µ¡¼¥Ð¡¼¥Ä¡¼¥ë -.LP -\f3servertool\fP ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢¤ª¤è¤ÓÄä»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: servertool +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "servertool" "1" "2013ǯ11·î21Æü" "JDK 8" "Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +servertool \- ³«È¯¼Ô¤¬±Ê³¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤¹¤ë¤¿¤á¤Î»È¤¤¤ä¤¹¤¤¥æ¡¼¥¶¡¼¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -servertool \-ORBInitialPort \fP\f4nameserverport\fP\f3 \fP\f3options\fP\f3 [ \fP\f3commands\fP\f3 ] -.fl -\fP +\fIservertool\fR \-ORBInitialPort \fInameserverport\fR [ \fIoptions\fR ] [ \fIcommands \fR] .fi - -.LP -.LP -¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Ê¤¤¤Ç \f2servertool\fP ¤òµ¯Æ°¤¹¤ë¤È¡¢¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¤·¤Æ \f2servertool >\fP ¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\f2servertool >\fP ¥×¥í¥ó¥×¥È¤Ë¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£ -.LP -.LP -¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ \f2servertool\fP ¤òµ¯Æ°¤¹¤ë¤È¡¢Java IDL ¥µ¡¼¥Ð¡¼¥Ä¡¼¥ë¤¬µ¯Æ°¤·¡¢¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-ORBInitialPort\fP \f2nameserverport\fP ¥ª¥×¥·¥ç¥ó¤Ï\f3ɬ¿Ü\fP¤Ç¤¹¡£ \f2nameserverport\fP ¤ÎÃͤˤϡ¢\f2orbd\fP ¤¬¼Â¹Ô¤µ¤ì¡¢Ãå¿®Í×µá¤òÂÔµ¡¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢\f2nameserverport\fP¤È¤·¤Æ 1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +commands +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥³¥Þ¥ó¥É¡£¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIservertool\fR\fIservertool >\fR\fIservertool >\fR .SH "ÀâÌÀ" -.LP -.LP -\f2servertool\fP ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢¤ª¤è¤ÓÄä»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¤½¤Î¤Û¤«¤Ë¡¢¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¤µ¤Þ¤¶¤Þ¤ÊÅý·×¾ðÊó¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤âÄ󶡤·¤Þ¤¹¡£ -.LP +.PP +\fIservertool\fR¥³¥Þ¥ó¥É¤Ï¡¢³«È¯¼Ô¤¬±Ê³¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ëÍÍ¡¹¤ÊÅý·×¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-ORBInitialHost nameserverhost -¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬¡¢¼Â¹Ô¤µ¤ì¡¢Ãå¿®Í×µá¤òÂÔµ¡¤·¤Æ¤¤¤ë¥Û¥¹¥È¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\f2nameserverhost\fP ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç \f2localhost\fP ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2orbd\fP ¤È \f2servertool\fP ¤¬°Û¤Ê¤ë¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2orbd\fP ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤È IP ¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\-ORBInitialHost \fInameserverhost\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¤Ç¤¹¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¡¢Ãå¿®¥ê¥¯¥¨¥¹¥È¤ò¥ê¥¹¥Ë¥ó¥°¤¹¤ë¥Û¥¹¥È¡¦¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\fInameserverhost\fRÃͤϡ¢\fIorb\fR¤¬¼Â¹Ô¤µ¤ì¡¢¥ê¥¯¥¨¥¹¥È¤ò¥ê¥¹¥Ë¥ó¥°¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢Ãͤϥǥե©¥ë¥È¤Ç\fIlocalhost\fR¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\fIorbd\fR¤È\fIservertool\fR¤¬°Û¤Ê¤ë¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fIorbd\fR¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤Þ¤¿¤ÏIP¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +Oracle Solaris¤Ç¤Ï¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fInameserverport\fRÃͤˤϡ¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "¥³¥Þ¥ó¥É" -.LP -.RS 3 -.TP 3 -register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ] -Object Request Broker Daemon (ORBD) ¤Ë¿·µ¬»ý³¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬Ì¤ÅÐÏ¿¤Î¾ì¹ç¡¢ÅÐÏ¿¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\f2\-server\fP ¥ª¥×¥·¥ç¥ó¤Ç¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¡¼¤Î¥á¥¤¥ó¥¯¥é¥¹Æâ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢\f2public static void install(org.omg.CORBA.ORB)\fP ¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥¹¥­¡¼¥Þ¤ÎºîÀ®¤Ê¤É¤ÎÆÈ¼«¤Î¥µ¡¼¥Ð¡¼¥¤¥ó¥¹¥È¡¼¥ëưºî¤ò³«È¯¼Ô¤¬»ØÄê¤Ç¤­¤Þ¤¹¡£ -.TP 3 -unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> -¥µ¡¼¥Ð¡¼ ID ¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò»ÈÍѤ·¤Æ¡¢ORBD ¤Î¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¤ò²ò½ü¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\f2\-server\fP ¥ª¥×¥·¥ç¥ó¤Ç¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¡¼¤Î¥á¥¤¥ó¥¯¥é¥¹Æâ¤Ç¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢\f2public static void uninstall(org.omg.CORBA.ORB)\fP ¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Îưºî¤Î¼è¤ê¾Ã¤·¤Ê¤É¤ÎÆÈ¼«¤Î¥µ¡¼¥Ð¡¼¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ëưºî¤ò³«È¯¼Ô¤¬»ØÄê¤Ç¤­¤Þ¤¹¡£ -.TP 3 -getserverid \-applicationName\ <application\ name> -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼ ID ¤òÊÖ¤·¤Þ¤¹¡£ -.TP 3 -list -ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î»ý³¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -listappnames -¸½ºß ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -listactive -ORDB ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¡¢¸½ºß¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î»ý³¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ] -ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤ÇºîÀ®¤·¤¿¤¹¤Ù¤Æ¤Î ORB ¤ÎÆÃÄê¤Î·¿¤Ë¤Ä¤¤¤ÆÃ¼ÅÀ (¥Ý¡¼¥È) ¤ò¸¡½Ð¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢µ¯Æ°¤µ¤ì¤Þ¤¹¡£Ã¼ÅÀ¤Î·¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤Î ORB ¤´¤È¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë plain ·¿ ¤Þ¤¿¤Ï non\-protected ·¿¤ÎüÅÀ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ] -ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤ÎÆÃÄê¤Î ORB ¤ÇÅÐÏ¿¤µ¤ì¤¿Ã¼ÅÀ (¥Ý¡¼¥È) ¤ò¸¡½Ð¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢µ¯Æ°¤µ¤ì¤Þ¤¹¡£\f2orbid\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤΡÖ""¡×¤¬\f2orbid\fP¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ORB ¤¬¶õʸ»úÎó¤Î \f2orbid\fP ¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ÅÐÏ¿¤·¤¿¥Ý¡¼¥È¤¬¤¹¤Ù¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> -¥µ¡¼¥Ð¡¼¾å¤ËÄêµÁ¤µ¤ì¤¿ ORB ¤Î ORBId ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ORBId ¤Ï¥µ¡¼¥Ð¡¼¤ÇºîÀ®¤µ¤ì¤¿ ORB ¤Îʸ»úÎó̾¤Ç¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢µ¯Æ°¤µ¤ì¤Þ¤¹¡£ -.TP 3 -shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> -ORBD ¤ËÅÐÏ¿¤µ¤ì¤¿¥¢¥¯¥Æ¥£¥Ö¤Ê¥µ¡¼¥Ð¡¼¤òÄä»ß¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¡¢\f2\-serverid\fP ¥Ñ¥é¥á¡¼¥¿¤Þ¤¿¤Ï \f2\-applicationName\fP ¥Ñ¥é¥á¡¼¥¿¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿ \f2shutdown()\fP ¥á¥½¥Ã¥É¤â¸Æ¤Ó½Ð¤µ¤ì¤Æ¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤òÀµ¤·¤¯Ää»ß¤·¤Þ¤¹¡£ -.TP 3 -startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> -ORBD ¤ËÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ç¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¤¹¤Ç¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -help -¥µ¡¼¥Ð¡¼¤¬¥µ¡¼¥Ð¡¼¥Ä¡¼¥ë¤Ç»ÈÍѤǤ­¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -quit -¥µ¡¼¥Ð¡¼¥Ä¡¼¥ë¤ò½ªÎ»¤·¤Þ¤¹¡£ +.PP +\fIservertool\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¤Þ¤¿¤Ï»ÈÍѤ»¤º¤Ëµ¯Æ°¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIservertool\fR¤Îµ¯Æ°»þ¤Ë¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ä¡¼¥ë¤Ë¥³¥Þ¥ó¥ÉÆþÎϤòµá¤á¤ë\fIservertool\fR¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹: +\fIservertool >\fR¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIservertool\fR¤Îµ¯Æ°»þ¤Ë¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Java IDL Server Tool¤¬µ¯Æ°¤·¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +register \-server \fIserver\-class\-name\fR \-classpath \fIclasspath\-to\-server\fR [ \-applicationName \fIapplication\-name\fR \-args \fIargs\-to\-server\fR \-vmargs \fIflags\-for\-JVM\fR ] +.RS 4 +Object Request Broker Daemon (ORBD)¤Ë¿·µ¬±Ê³¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬Ì¤ÅÐÏ¿¤Î¾ì¹ç¡¢ÅÐÏ¿¤·¤Æ¥¢¥¯¥Æ¥£¥Ö²½¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\fI\-server\fR¥ª¥×¥·¥ç¥ó¤Ç¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¡¼¤Î\fI¥á¥¤¥ó\fR¡¦¥¯¥é¥¹Æâ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¡¦¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¦¥á¥½¥Ã¥É¤Ï¡¢\fIpublic static void install(org\&.omg\&.CORBA\&.ORB)\fR¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¤¥ó¥¹¥È¡¼¥ë¡¦¥á¥½¥Ã¥É¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢³«È¯¼Ô¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¹¥­¡¼¥Þ¤ÎºîÀ®¤Ê¤ÉÆÈ¼«¤Î¥µ¡¼¥Ð¡¼¡¦¥¤¥ó¥¹¥È¡¼¥ëưºî¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +unregister \-serverid \fIserver\-id\fR | \-applicationName \fIapplication\-name\fR +.RS 4 +¥µ¡¼¥Ð¡¼ID¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤Ç¡¢¥µ¡¼¥Ð¡¼¤òORBD¤«¤éÅÐÏ¿²ò½ü¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\fI\-server\fR¥ª¥×¥·¥ç¥ó¤Ç¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¡¼¤Î\fI¥á¥¤¥ó\fR¡¦¥¯¥é¥¹Æâ¤Ç¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¡¦¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ +\fIuninstall\fR¥á¥½¥Ã¥É¤Ï¡¢\fIpublic static void uninstall(org\&.omg\&.CORBA\&.ORB)\fR¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIuninstall\fR¥á¥½¥Ã¥É¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢³«È¯¼Ô¤Ï\fIinstall\fR¥á¥½¥Ã¥É¤Îưºî¤Î¼è¾Ã¤Ê¤É¡¢ÆÈ¼«¤Î¥µ¡¼¥Ð¡¼¡¦¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ëưºî¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +getserverid \-applicationName \fIapplication\-name\fR +.RS 4 +\fIapplication\-name\fRÃͤËÂбþ¤¹¤ë¥µ¡¼¥Ð¡¼ID¤òÊÖ¤·¤Þ¤¹¡£ +.RE +.PP +list +.RS 4 +ORBD¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î±Ê³¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +listappnames +.RS 4 +¸½ºßORBD¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +listactive +.RS 4 +ORBD¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¡¢¸½ºß¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î±Ê³¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +locate \-serverid \fIserver\-id\fR | \-applicationName \fIapplication\-name\fR [ \-endpointType \fIendpointType\fR ] +.RS 4 +ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤ÇºîÀ®¤·¤¿¤¹¤Ù¤Æ¤ÎORB¤ÎÆÃÄê¤Î¥¿¥¤¥×¤Ë¤Ä¤¤¤Æ¥¨¥ó¥É¥Ý¥¤¥ó¥È(¥Ý¡¼¥È)¤ò¸¡½Ð¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¢¥¯¥Æ¥£¥Ö²½¤µ¤ì¤Þ¤¹¡£\fIendpointType\fRÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤ÎORB¤´¤È¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ëplain¥¿¥¤¥×¤Þ¤¿¤Ïnon\-protected¥¿¥¤¥×¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +locateperorb \-serverid \fIserver\-id\fR | \-applicationName \fIapplication\-name\fR [ \-orbid \fIORB\-name\fR ] +.RS 4 +ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤ÎÆÃÄê¤ÎObject Request Broker (ORB)¤ÇÅÐÏ¿¤µ¤ì¤¿¥¨¥ó¥É¥Ý¥¤¥ó¥È(¥Ý¡¼¥È)¤ò¸¡½Ð¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¢¥¯¥Æ¥£¥Ö²½¤µ¤ì¤Þ¤¹¡£\fIorbid\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤÎ\fI""\fR¤¬\fIorbid\fR¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ORB¤¬¶õʸ»úÎó¤Î\fIorbid\fR¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ÅÐÏ¿¤·¤¿¥Ý¡¼¥È¤¬¤¹¤Ù¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +orblist \-serverid \fIserver\-id\fR | \-applicationName \fIapplication\-name\fR +.RS 4 +¥µ¡¼¥Ð¡¼¾å¤ËÄêµÁ¤µ¤ì¤¿ORB¤Î\fIORBId\fR¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£\fIORBId\fR¤Ï¥µ¡¼¥Ð¡¼¤ÇºîÀ®¤µ¤ì¤¿ORB¤Îʸ»úÎó̾¤Ç¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¢¥¯¥Æ¥£¥Ö²½¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +shutdown \-serverid \fIserver\-id\fR | \-applicationName application\-name +.RS 4 +ORBD¤ËÅÐÏ¿¤µ¤ì¤¿¥¢¥¯¥Æ¥£¥Ö¤Ê¥µ¡¼¥Ð¡¼¤òÄä»ß¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¡¢\fI\-serverid\fR¥Ñ¥é¥á¡¼¥¿¤Þ¤¿¤Ï\fI\-applicationName\fR¥Ñ¥é¥á¡¼¥¿¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿\fIshutdown\fR¥á¥½¥Ã¥É¤â¸Æ¤Ó½Ð¤µ¤ì¤Æ¥µ¡¼¥Ð¡¼¡¦¥×¥í¥»¥¹¤òÄä»ß¤·¤Þ¤¹¡£ +.RE +.PP +startup \-serverid \fIserver\-id\fR | \-applicationName application\-name +.RS 4 +ORBD¤ËÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤Þ¤¿¤Ï¥¢¥¯¥Æ¥£¥Ö²½¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤¬¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¤¹¤Ç¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +help +.RS 4 +\fIservertool\fR¥³¥Þ¥ó¥É¤ò²ð¤·¤Æ¥µ¡¼¥Ð¡¼¤¬ÍøÍѤǤ­¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£ +.RE +.PP +quit +.RS 4 +\fIservertool\fR¥³¥Þ¥ó¥É¤ò½ªÎ»¤·¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -orbd(1) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +orbd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/tnameserv.1 b/jdk/src/linux/doc/man/ja/tnameserv.1 index 229c3af8300..7a924315f3b 100644 --- a/jdk/src/linux/doc/man/ja/tnameserv.1 +++ b/jdk/src/linux/doc/man/ja/tnameserv.1 @@ -1,495 +1,425 @@ -." Copyright (c) 1999, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH tnameserv 1 "07 May 2011" - -.LP -.SH "̾Á°" -Java IDL: °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \- \f2tnameserv\fP -.LP -.LP -¤³¤Î¥É¥­¥å¥á¥ó¥È¤Ç¤Ï¡¢Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \f2tnameserv\fP ¤Î»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£Java IDL ¤Ë¤Ï¡¢Object Request Broker Daemon (ORBD) ¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ORBD ¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥µ¡¼¥Ó¥¹¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢\f3»ý³\fP¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ò´Þ¤à¥Ç¡¼¥â¥ó¥×¥í¥»¥¹¤Ç¤¹¡£Java IDL ¤Î¤¹¤Ù¤Æ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï ORBD ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ëÎã¤Ç¤Ï¡¢\f2orbd\fP ¤ÎÂå¤ï¤ê¤Ë \f2tnameserv\fP ¤ò»ÈÍѤǤ­¤Þ¤¹¡£\f2orbd\fP ¥Ä¡¼¥ë¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢orbd ¤Î orbd(1)¤Þ¤¿¤Ï -.na -\f2ORBD ¤Ë´Þ¤Þ¤ì¤ë Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP @ +'\" t +.\" Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: tnameserv +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "tnameserv" "1" "2013ǯ11·î21Æü" "JDK 8" "Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +tnameserv \- ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì(IDL)¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fItnameserve\fR \fI\-ORBInitialPort\fR [ \fInameserverport\fR ] .fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html¤Ë´Ø¤¹¤ë¥È¥Ô¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¤³¤³¤Ç¤Ï¡¢°Ê²¼¤Î¹àÌܤˤĤ¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ -.TP 2 -o -Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ° -.TP 2 -o -Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÎÄä»ß -.TP 2 -o -¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲà -.TP 2 -o -¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Î¥Ö¥é¥¦¥º +.if n \{\ .RE - -.LP -.SH "Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹" -.LP -.LP -CORBA ¤Î COS (Common Object Services) ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ËÂФ·¤Æ¥Ä¥ê¡¼¹½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄ󶡤·¤Þ¤¹¡£Java IDL ¤Î°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤¢¤ë \f2tnameserv\fP ¤Ï¡¢COS ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î»ÅÍͤòñ½ã¤Ê·Á¤Ç¼ÂÁõ¤·¤¿¤â¤Î¤Ç¤¹¡£ -.LP -.LP -¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï̾Á°¶õ´Ö¤Ë̾Á°¤Ç³ÊǼ¤µ¤ì¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤È̾Á°¤Î¥Ú¥¢¤Ï¡¢¤½¤ì¤¾¤ì¡Ö¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡Ö¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¡×¤ËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ï¤½¤ì¼«ÂΤ¬¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¢¤ê¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸ÊÔÀ®µ¡Ç½¤ò»ý¤Á¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡Ö½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¡×¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£Ì¾Á°¶õ´Ö¤Ë¤ª¤¤¤Æ¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ÏÍ£°ì¤Î»ý³Ū¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¹¡£¤½¤ì°Ê³°¤Î¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ï¡¢Java IDL ¤Î¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¥×¥í¥»¥¹¤¬Ää»ß¤·¡¢ºÆµ¯Æ°¤µ¤ì¤ë¤È¼º¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -¥¢¥×¥ì¥Ã¥È¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é COS ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤Î ORB ¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥Ý¡¼¥È¤òÃΤäƤ¤¤ë¤«¡¢¤½¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îʸ»úÎ󲽤µ¤ì¤¿½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢Java IDL ¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤â¤½¤Î¾¤Î COS ½àµò¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ -.LP -.SH "Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°" -.LP -.LP -Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤è¤êÁ°¤Ëµ¯Æ°¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£Java\ IDL À½Éʤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢Java\ IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤¹¤ë¥¹¥¯¥ê¥×¥È (Solaris: \f2tnameserv\fP) ¤Þ¤¿¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë (Windows NT: \f2tnameserv.exe\fP) ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çưºî¤¹¤ë¤è¤¦¤Ë¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -ÆÃ¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢ORB ¤Î \f2resolve_initial_references()\fP ¥á¥½¥Ã¥É¤È \f2list_initial_references()\fP ¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë»ÈÍѤ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥×¥í¥È¥³¥ë¤ËÂФ·¤Æ¥Ý¡¼¥È 900 ¤ÇÂÔµ¡¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - tnameserv \-ORBInitialPort \fP\f4nameserverport\fP\f3& -.fl -\fP -.fi - -.LP -.LP -¥Í¡¼¥à¥µ¡¼¥Ð¡¼¥Ý¡¼¥È¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ý¡¼¥È 900 ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤Î¼Â¹Ô»þ¤Ï¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¾ì¹ç¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 ¤Þ¤¿¤Ï 1024 ¤è¤ê¤âÂ礭¤¤¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£1050 ¤Î¤è¤¦¤ËÊ̤Υݡ¼¥È¤ò»ØÄꤷ¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤Ç¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - tnameserv \-ORBInitialPort 1050& -.fl -\fP -.fi - -.LP -.LP -Windows ¤Î MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - start tnameserv \-ORBInitialPort 1050 -.fl -\fP -.fi - -.LP -.LP -¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¡¢¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÃΤ餻¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ORB ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë \f2org.omg.CORBA.ORBInitialPort\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤Ë¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÀßÄꤷ¤Þ¤¹¡£ -.LP -.SS -°Û¤Ê¤ë¥Þ¥·¥ó¾å¤Ç¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¼Â¹Ô -.LP -.LP -Java IDL ¤È RMI\-IIOP ¤Î¤Û¤È¤ó¤É¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢¥µ¡¼¥Ð¡¼¡¢¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤Ï¤¹¤Ù¤Æ³«È¯ÍѤΥޥ·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¼ÂºÝ¤ËÇÛÈ÷¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ò¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤È¤Ï°Û¤Ê¤ë¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬Â¿¤¯¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤È¥Û¥¹¥È¤òǧ¼±¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥Õ¥¡¥¤¥ëÆâ¤Î \f2org.omg.CORBA.ORBInitialPort\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤È \f2org.omg.CORBA.ORBInitialHost\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ò¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤È¥Þ¥·¥ó¤Î̾Á°¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ï¡¢ -.na -\f2¡ÖRMI\-IIOP ¤ò»È¤Ã¤¿ Hello World ¤ÎÎã¡×¤Ë¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.html¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó \f2\-ORBInitialPort\fP \f2nameserverport#\fP ¤È \f2\-ORBInitialHost\fP \f2nameserverhostname\fP ¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËÂФ·¤Æ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òõ¤¹¾ì½ê¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.na -\f2¡ÖJava IDL: 2 Âæ¤Î¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤¹¤ë Hello World ¥×¥í¥°¥é¥à¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html ¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ»ØÄꤹ¤ëÊýË¡¤¬¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \f2tnameserv\fP ¤¬¡¢¥Û¥¹¥È \f2nameserverhost\fP ¤Î¥Ý¡¼¥È 1050 ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Û¥¹¥È \f2clienthost\fP ¾å¤Ç¼Â¹Ô¤µ¤ì¡¢¥µ¡¼¥Ð¡¼¤Ï¥Û¥¹¥È \f2serverhost\fP ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¼¡¤Î¤è¤¦¤Ë¡¢¥Û¥¹¥È \f2nameserverhost\fP ¾å¤Ç \f2tnameserv\fP ¤òµ¯Æ°¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - tnameserv \-ORBInitialPort 1050 -.fl - -.fl -\fP -.fi -.TP 2 -o -\f2serverhost\fP ¾å¤Ç¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - java Server \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost -.fl -\fP -.fi -.TP 2 -o -\f2clienthost\fP ¾å¤Ç¥¯¥é¥¤¥¢¥ó¥È¤òµ¯Æ°¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - java Client \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost -.fl -\fP -.fi +.\} +.PP +\-ORBInitialPort \fInameserverport\fR +.RS 4 +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬ORB¤Î\fIresolve_initial_references\fR¥á¥½¥Ã¥É¤È\fIlist_initial_references\fR¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë»ÈÍѤ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥×¥í¥È¥³¥ë¤ò¥ê¥¹¥Ë¥ó¥°¤¹¤ë½é´ü¥Ý¡¼¥È¤Ç¤¹¡£ .RE - -.LP -.SS -\-J ¥ª¥×¥·¥ç¥ó -.LP -¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2tnameserve\fP ¤È¤È¤â¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ -.RS 3 -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.SH "ÀâÌÀ" +.PP +Java IDL¤Ë¤Ï¡¢Object Request Broker Daemon (ORBD)¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ORBD¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥µ¡¼¥Ó¥¹¡¢°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¡¢±Ê³¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ò´Þ¤à¥Ç¡¼¥â¥ó¡¦¥×¥í¥»¥¹¤Ç¤¹¡£Java IDL¤Î¤¹¤Ù¤Æ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤ÏORBD¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ëÎã¤Ç¤Ï¡¢\fIorbd\fR¤Î¤«¤ï¤ê¤Ë\fItnameserv\fR¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/jidlNaming\&.html¤Ë¤¢¤ë +orbd(1)¤Þ¤¿¤Ï¡ÖNaming Service¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +CORBA¤ÎCOS (Common Object Services)¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ËÂФ·¤Æ¥Ä¥ê¡¼¹½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄ󶡤·¤Þ¤¹¡£Java IDL¤Î°ì»þ¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤¢¤ë\fItnameserv\fR¤Ï¡¢COS¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Î»ÅÍͤòñ½ã¤Ê·Á¤Ç¼ÂÁõ¤·¤¿¤â¤Î¤Ç¤¹¡£ +.PP +¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ë̾Á°¤Ç³ÊǼ¤µ¤ì¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤È̾Á°¤Î¥Ú¥¢¤Ï¡¢¤½¤ì¤¾¤ì¥Í¡¼¥à¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¥Í¡¼¥à¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Ï¥Í¡¼¥à¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¢¤ê¡¢¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸ÊÔÀ®µ¡Ç½¤ò»ý¤Á¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î²¼¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Ï¡¢¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤ÎÍ£°ì¤Î±Ê³¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¹¡£Java IDL¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¡¦¥×¥í¥»¥¹¤òÄä»ß¤·¤ÆºÆµ¯Æ°¤¹¤ë¤È¡¢»Ä¤ê¤Î¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ï¼º¤ï¤ì¤Þ¤¹¡£ +.PP +¥¢¥×¥ì¥Ã¥È¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤éCOS¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤ÎORB¤¬¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥Ý¡¼¥È¤òÃΤäƤ¤¤ë¤«¡¢¤½¤Î¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥Èʸ»úÎó¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢Java IDL¤Î¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤â¤½¤Î¾¤ÎCOS½àµò¤Î¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ +.SS "¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°" +.PP +Java IDL¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤è¤êÁ°¤Ëµ¯Æ°¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£Java IDLÀ½Éʤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢Java IDL¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤¹¤ë¥¹¥¯¥ê¥×¥È(Oracle Solaris: +\fItnameserv\fR)¤Þ¤¿¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë(Windows: +\fItnameserv\&.exe\fR)¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çưºî¤¹¤ë¤è¤¦¤Ë¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +ÆÃ¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢Java IDL¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢ORB¤Î\fIresolve_initial_references\fR¥á¥½¥Ã¥É¤È\fIlist_initial_references methods\fR¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë»ÈÍѤ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥×¥í¥È¥³¥ë¤ËÂФ·¤Æ¥Ý¡¼¥È900¤Ç¥ê¥¹¥Ë¥ó¥°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +tnameserv \-ORBInitialPort nameserverport& +.fi +.if n \{\ .RE - -.LP -.SH "Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÎÄä»ß" -.LP -.LP -Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Unix ¤Î¾ì¹ç¤Ï¡¢\f2kill\fP ¤Ê¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥³¥Þ¥ó¥É¤ò»È¤¤¡¢Windows ¤Î¾ì¹ç¤Ï¡¢\f2Ctrl\-C\fP ¤ò»È¤¤¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òÌÀ¼¨Åª¤ËÄä»ß¤¹¤ë¤Þ¤Ç¤Ï¡¢¸Æ¤Ó½Ð¤·ÂÔµ¡¾õÂÖ¤¬Â³¤­¤Þ¤¹¡£¤Ê¤ª¡¢¥µ¡¼¥Ó¥¹¤ò½ªÎ»¤µ¤»¤ë¤È¡¢Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë̾Á°¤Ï¼º¤ï¤ì¤Þ¤¹¡£ -.LP -.SH "¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲÃ" -.LP -.LP -¼¡¤Ë¼¨¤¹¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢Ì¾Á°¤ò̾Á°¶õ´Ö¤ËÄɲ乤ëÊýË¡¤ò¼¨¤¹¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢¤³¤Î¤Þ¤Þ¤Î¾õÂ֤Ǵ°Á´¤Ëưºî¤¹¤ë°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢¼¡¤Î¤è¤¦¤Êñ½ã¤Ê¥Ä¥ê¡¼¤òºîÀ®¤¹¤ë¤â¤Î¤Ç¤¹¡£ -.LP +.\} +.PP +¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¡¦¥Ý¡¼¥È¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ý¡¼¥È900¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Oracle Solaris¥½¥Õ¥È¥¦¥§¥¢¤Î¼Â¹Ô»þ¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¾ì¹ç¤Ï¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£1050¤Î¤è¤¦¤ËÊ̤Υݡ¼¥È¤ò»ØÄꤷ¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢UNIX¥³¥Þ¥ó¥É¡¦¥·¥§¥ë¤Ç¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3 -.fl - \fP\f4½é´ü\fP\f3 -.fl - \fP\f4¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È\fP\f3 -.fl - / \\ -.fl - / \\ -.fl - plans \fP\f4Personal\fP\f3 -.fl - / \\ -.fl - / \\ -.fl - calendar schedule\fP -.fl +tnameserv \-ORBInitialPort 1050& .fi - -.LP -.LP -¤³¤ÎÎã¤Ç¡¢\f3plans\fP ¤Ï¥ª¥Ö¥¸¥§¥¯¥È»²¾È¡¢\f3Personal\fP ¤Ï \f3calendar\fP ¤È \f3schedule\fP ¤Î 2 ¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò´Þ¤à¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ç¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +Windows¤ÎMS\-DOS¥·¥¹¥Æ¥à¡¦¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -import java.util.Properties; -.fl -import org.omg.CORBA.*; -.fl -import org.omg.CosNaming.*; -.fl - -.fl -public class NameClient -.fl -{ -.fl - public static void main(String args[]) -.fl - { -.fl - try { -.fl -\fP +start tnameserv \-ORBInitialPort 1050 .fi - -.LP -Á°½Ò¤Î¡ÖJava IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¡×¤Ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï¥Ý¡¼¥È 1050 ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¥·¥¹¥Æ¥à¤ËÃΤ餻¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¡¢¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÃΤ餻¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¡¢ORB¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë\fIorg\&.omg\&.CORBA\&.ORBInitialPort\fR¥×¥í¥Ñ¥Æ¥£¤Ë¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÀßÄꤷ¤Þ¤¹¡£ +.SS "°Û¤Ê¤ë¥Û¥¹¥È¾å¤Ç¤Î¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¼Â¹Ô" +.PP +Java IDL¤ÈRMI\-IIOP¤Î¤Û¤È¤ó¤É¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¡¢¥µ¡¼¥Ð¡¼¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤Ï¤¹¤Ù¤Æ³«È¯ÍѤΥޥ·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¼ÂºÝ¤Ë¥Ç¥×¥í¥¤¥á¥ó¥È¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ò¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤È¤Ï°Û¤Ê¤ë¥Û¥¹¥È¡¦¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬Â¿¤¯¤Ê¤ê¤Þ¤¹¡£ +.PP +¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤È¥Û¥¹¥È¤òǧ¼±¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥Õ¥¡¥¤¥ëÆâ¤Î\fIorg\&.omg\&.CORBA\&.ORBInitialPort\fR¥×¥í¥Ñ¥Æ¥£¤È\fIorg\&.omg\&.CORBA\&.ORBInitialHost\fR¥×¥í¥Ñ¥Æ¥£¤ò¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤È¥Þ¥·¥ó¤Î̾Á°¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ï¡¢¡ÖGetting Started Using RMI\-IIOP¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/rmi\-iiop/rmiiiopexample\&.html)¤Ë¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹ +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó\fI\-ORBInitialPort nameserverport#\fR¤È\fI\-ORBInitialHost nameserverhostname\fR¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËÂФ·¤Æ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òõ¤¹¾ì½ê¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤³¤ì¤ò¹Ô¤¦ÊýË¡¤Î1¤Ä¤ÎÎã¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/tutorial/jidl2machines\&.html¤Î¡ÖJava IDL: The Hello World Example on Two Machines¡× +¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +¤¿¤È¤¨¤Ð¡¢°ì»þ¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹\fItnameserv\fR¤¬¡¢¥Û¥¹¥È\fInameserverhost\fR¤Î¥Ý¡¼¥È1050¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Û¥¹¥È\fIclienthost\fR¾å¤Ç¼Â¹Ô¤µ¤ì¡¢¥µ¡¼¥Ð¡¼¤Ï¥Û¥¹¥È\fIserverhost\fR¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ +.PP +¥Û¥¹¥È\fInameserverhost\fR¾å¤Ç\fItnameserv\fR¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - Properties props = new Properties(); -.fl - props.put("org.omg.CORBA.ORBInitialPort", "1050"); -.fl - ORB orb = ORB.init(args, props); -.fl - -.fl -\fP +tnameserv \-ORBInitialPort 1050 .fi - -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤ì¤ò \f3ctx\fP ¤ËÂåÆþ¤·¤Þ¤¹¡£2 ¹ÔÌܤǤϡ¢\f3ctx\fP ¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È \f3objref\fP ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤Î objref ¤Ë¤Ï¡¢¤¢¤È¤Ç¤µ¤Þ¤¶¤Þ¤Ê̾Á°¤ò³ä¤êÅö¤Æ¤ÆÌ¾Á°¶õ´Ö¤ËÄɲä·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIserverhost\fR¾å¤Ç¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - NamingContext ctx = -.fl -NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); -.fl - NamingContext objref = ctx; -.fl - -.fl -\fP +java Server \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost .fi +.if n \{\ +.RE +.\} +.PP -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢text ·¿¤Î̾Á° plans ¤òºîÀ®¤·¡¢¤½¤ì¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤½¤Î¸å¡¢rebind ¤ò»ÈÍѤ·¤Æ½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Î²¼¤Ë \f2plans ¤òÄɲ䷤Ƥ¤¤Þ¤¹\fP¡£ \f2rebind\fP ¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢bind ¤ò»ÈÍѤ·¤¿¾ì¹ç¤ËȯÀ¸¤¹¤ëÎã³°¤òȯÀ¸¤µ¤»¤º¤Ë¡¢ \f2¤³¤Î¥×¥í¥°¥é¥à¤ò²¿Å٤ⷫ¤êÊÖ¤·¼Â¹Ô¤Ç¤­¤Þ¤¹\fP¡£ +\fIclienthost\fR¾å¤Ç¥¯¥é¥¤¥¢¥ó¥È¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - NameComponent nc1 = new NameComponent("plans", "text"); -.fl - NameComponent[] name1 = {nc1}; -.fl - ctx.rebind(name1, objref); -.fl - System.out.println("plans rebind sucessful!"); -.fl - -.fl -\fP +java Client \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost .fi - -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢directory ·¿¤Î Personal ¤È¤¤¤¦¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î·ë²ÌÆÀ¤é¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È \f3ctx2\fP ¤ò¤³¤Î̾Á°¤Ë¥Ð¥¤¥ó¥É¤·¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ËÄɲä·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.SS "¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ÎÄä»ß" +.PP +Java IDL¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Unix¤Î¾ì¹ç¤Ï¡¢\fIkill\fR¤Ê¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¡¢Windows¤Î¾ì¹ç¤Ï¡¢\fI[Ctrl]+[C]\fR¥­¡¼¤ò»ÈÍѤ·¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òÌÀ¼¨Åª¤ËÄä»ß¤¹¤ë¤Þ¤Ç¤Ï¡¢¸Æ½Ð¤·ÂÔµ¡¾õÂÖ¤¬Â³¤­¤Þ¤¹¡£¥µ¡¼¥Ó¥¹¤ò½ªÎ»¤µ¤»¤ë¤È¡¢Java IDL¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë̾Á°¤Ï¼º¤ï¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "Îã" +.SS "¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲÃ" +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ë̾Á°¤òÄɲ乤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥µ¥ó¥×¥ë¡¦¥×¥í¥°¥é¥à¤Ï¡¢¤³¤Î¤Þ¤Þ¤Î¾õÂ֤Ǵ°Á´¤Ëưºî¤¹¤ë°ì»þ¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¡¦¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢¼¡¤Î¤è¤¦¤Êñ½ã¤Ê¥Ä¥ê¡¼¤òºîÀ®¤¹¤ë¤â¤Î¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - NameComponent nc2 = new NameComponent("Personal", "directory"); -.fl - NameComponent[] name2 = {nc2}; -.fl - NamingContext ctx2 = ctx.bind_new_context(name2); -.fl - System.out.println("new naming context added.."); -.fl - -.fl -\fP +Initial Naming Context + plans + Personal + calendar + schedule .fi - -.LP -»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò schedule ¤È calendar ¤È¤¤¤¦Ì¾Á°¤Ç¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È "Personal" (\f3ctx2\fP) ¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Ç¡¢\fIplans\fR¤Ï¥ª¥Ö¥¸¥§¥¯¥È»²¾È¡¢\fIPersonal\fR¤Ï\fIcalendar\fR¤È\fIschedule\fR¤Î2¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò´Þ¤à¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - NameComponent nc3 = new NameComponent("schedule", "text"); -.fl - NameComponent[] name3 = {nc3}; -.fl - ctx2.rebind(name3, objref); -.fl - System.out.println("schedule rebind sucessful!"); -.fl - -.fl - NameComponent nc4 = new NameComponent("calender", "text"); -.fl - NameComponent[] name4 = {nc4}; -.fl - ctx2.rebind(name4, objref); -.fl - System.out.println("calender rebind sucessful!"); -.fl - -.fl - -.fl - } catch (Exception e) { -.fl - e.printStackTrace(System.err); -.fl - } -.fl - } -.fl -} -.fl -\fP -.fi - -.LP -.SH "¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Î¥Ö¥é¥¦¥º" -.LP -.LP -¼¡¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¤ò¥Ö¥é¥¦¥º¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -import java.util.Properties; -.fl -import org.omg.CORBA.*; -.fl -import org.omg.CosNaming.*; -.fl - -.fl -public class NameClientList -.fl -{ -.fl - public static void main(String args[]) -.fl - { -.fl - try { -.fl -\fP -.fi - -.LP -Á°½Ò¤Î¡ÖJava IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¡×¤Ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï¥Ý¡¼¥È 1050 ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¥·¥¹¥Æ¥à¤ËÃΤ餻¤Þ¤¹¡£ -.nf -\f3 -.fl - -.fl - Properties props = new Properties(); -.fl - props.put("org.omg.CORBA.ORBInitialPort", "1050"); -.fl - ORB orb = ORB.init(args, props); -.fl - -.fl - -.fl -\fP -.fi - -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - NamingContext nc = -.fl -NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); -.fl - -.fl -\fP -.fi - -.LP -\f2list\fP ¥á¥½¥Ã¥É¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ËÄɲäµ¤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ºÇÂç 1000 ¸Ä¤Þ¤Ç¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤«¤é BindingListHolder ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£»Ä¤ê¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢BindingIteratorHolder ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - BindingListHolder bl = new BindingListHolder(); -.fl - BindingIteratorHolder blIt= new BindingIteratorHolder(); -.fl - nc.list(1000, bl, blIt); -.fl - -.fl -\fP -.fi - -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤¿ BindingListHolder ¤«¤é¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÇÛÎó¤ò¼èÆÀ¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥í¥°¥é¥à¤Ï½ªÎ»¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - Binding bindings[] = bl.value; -.fl - if (bindings.length == 0) return; -.fl - -.fl -\fP -.fi - -.LP -»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ËÂФ·¤Æ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¡¢Ì¾Á°¤ò½ÐÎϤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - for (int i=0; i < bindings.length; i++) { -.fl - -.fl - // get the object reference for each binding -.fl - org.omg.CORBA.Object obj = nc.resolve(bindings[i].binding_name); -.fl - String objStr = orb.object_to_string(obj); -.fl - int lastIx = bindings[i].binding_name.length\-1; -.fl - -.fl - // check to see if this is a naming context -.fl - if (bindings[i].binding_type == BindingType.ncontext) { -.fl - System.out.println( "Context: " + -.fl -bindings[i].binding_name[lastIx].id); -.fl - } else { -.fl - System.out.println("Object: " + -.fl -bindings[i].binding_name[lastIx].id); -.fl - } -.fl - } -.fl - -.fl - } catch (Exception e) { -.fl - e.printStackTrace(System.err); -.fl - } -.fl - } -.fl -} -.fl -\fP -.fi - -.LP +import java\&.util\&.Properties; +import org\&.omg\&.CORBA\&.*; +import org\&.omg\&.CosNaming\&.*; +public class NameClient { + + public static void main(String args[]) { + + try { +.fi +.if n \{\ +.RE +.\} +.PP +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤Ç¡¢\fInameserver\fR¤Ï¥Ý¡¼¥È1050¤Çµ¯Æ°¤µ¤ì¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¡¦¥·¥¹¥Æ¥à¤ËÃΤ餻¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + Properties props = new Properties(); + props\&.put("org\&.omg\&.CORBA\&.ORBInitialPort", "1050"); + ORB orb = ORB\&.init(args, props); +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤ì¤ò\fIctx\fR¤ËÂåÆþ¤·¤Þ¤¹¡£2¹ÔÌܤǤϡ¢\fIctx\fR¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È\fIobjref\fR¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤Îobjref¤Ë¤Ï¡¢¤¢¤È¤ÇÍÍ¡¹¤Ê̾Á°¤ò³ä¤êÅö¤Æ¤Æ¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤ËÄɲä·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NamingContext ctx = + NamingContextHelper\&.narrow( + orb\&.resolve_initial_references("NameService")); + NamingContext objref = ctx; +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢\fItext\fR¥¿¥¤¥×¤Î̾Á°\fIplans\fR¤òºîÀ®¤·¡¢¤½¤ì¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤½¤Î¸å¡¢\fIrebind\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î²¼¤Ë\fIplans\fR¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£\fIrebind\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢\fIbind\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤¿¾ì¹ç¤ËȯÀ¸¤¹¤ëÎã³°¤òȯÀ¸¤µ¤»¤º¤Ë¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò²¿Å٤ⷫÊÖ¤·¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NameComponent nc1 = new NameComponent("plans", "text"); + NameComponent[] name1 = {nc1}; + ctx\&.rebind(name1, objref); + System\&.out\&.println("plans rebind successful!"); +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢\fIdirectory\fR¥¿¥¤¥×¤Î\fIPersonal\fR¤È¤¤¤¦¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î·ë²ÌÆÀ¤é¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È\fIctx2\fR¤ò\fIname\fR¤Ë¥Ð¥¤¥ó¥É¤·¡¢½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ËÄɲä·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NameComponent nc2 = new NameComponent("Personal", "directory"); + NameComponent[] name2 = {nc2}; + NamingContext ctx2 = ctx\&.bind_new_context(name2); + System\&.out\&.println("new naming context added\&.\&."); +.fi +.if n \{\ +.RE +.\} +.PP +»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò\fIschedule\fR¤È\fIcalendar\fR¤È¤¤¤¦Ì¾Á°¤Ç¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È\fIPersonal\fR(\fIctx2\fR)¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NameComponent nc3 = new NameComponent("schedule", "text"); + NameComponent[] name3 = {nc3}; + ctx2\&.rebind(name3, objref); + System\&.out\&.println("schedule rebind successful!"); + + NameComponent nc4 = new NameComponent("calender", "text"); + NameComponent[] name4 = {nc4}; + ctx2\&.rebind(name4, objref); + System\&.out\&.println("calender rebind successful!"); + } catch (Exception e) { + e\&.printStackTrace(System\&.err); + } + } +} +.fi +.if n \{\ +.RE +.\} +.SS "¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Î»²¾È" +.PP +¼¡¤Î¥µ¥ó¥×¥ë¡¦¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤ò¥Ö¥é¥¦¥º¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +import java\&.util\&.Properties; +import org\&.omg\&.CORBA\&.*; +import org\&.omg\&.CosNaming\&.*; + +public class NameClientList { + + public static void main(String args[]) { + + try { +.fi +.if n \{\ +.RE +.\} +.PP +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤Ç¡¢\fInameserver\fR¤Ï¥Ý¡¼¥È1050¤Çµ¯Æ°¤µ¤ì¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¡¦¥·¥¹¥Æ¥à¤ËÃΤ餻¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + Properties props = new Properties(); + props\&.put("org\&.omg\&.CORBA\&.ORBInitialPort", "1050"); + ORB orb = ORB\&.init(args, props); +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NamingContext nc = + NamingContextHelper\&.narrow( + orb\&.resolve_initial_references("NameService")); +.fi +.if n \{\ +.RE +.\} +.PP +\fIlist\fR¥á¥½¥Ã¥É¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ºÇÂç1000¸Ä¤Þ¤Ç¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤«¤é\fIBindingListHolder\fR¤ËÊÖ¤µ¤ì¤Þ¤¹¡£»Ä¤ê¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\fIBindingIteratorHolder\fR¤ËÊÖ¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + BindingListHolder bl = new BindingListHolder(); + BindingIteratorHolder blIt= new BindingIteratorHolder(); + nc\&.list(1000, bl, blIt); +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤¿\fIBindingListHolder\fR¤«¤é¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÇÛÎó¤ò¼èÆÀ¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥í¥°¥é¥à¤¬½ªÎ»¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + Binding bindings[] = bl\&.value; + if (bindings\&.length == 0) return; +.fi +.if n \{\ +.RE +.\} +.PP +»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ËÂФ·¤Æ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¡¢Ì¾Á°¤ò½ÐÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + for (int i=0; i < bindings\&.length; i++) { + + // get the object reference for each binding + org\&.omg\&.CORBA\&.Object obj = nc\&.resolve(bindings[i]\&.binding_name); + String objStr = orb\&.object_to_string(obj); + int lastIx = bindings[i]\&.binding_name\&.length\-1; + + // check to see if this is a naming context + if (bindings[i]\&.binding_type == BindingType\&.ncontext) { + System\&.out\&.println("Context: " + + bindings[i]\&.binding_name[lastIx]\&.id); + } else { + System\&.out\&.println("Object: " + + bindings[i]\&.binding_name[lastIx]\&.id); + } + } + } catch (Exception e) { + e\&.printStackTrace(System\&.err) + } + } +} +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +orbd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/unpack200.1 b/jdk/src/linux/doc/man/ja/unpack200.1 index 96a85d8105e..0b940d494d2 100644 --- a/jdk/src/linux/doc/man/ja/unpack200.1 +++ b/jdk/src/linux/doc/man/ja/unpack200.1 @@ -1,178 +1,201 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH unpack200 1 "07 May 2011" - -.LP -.SH "̾Á°" -unpack200 \- JAR ¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -½ªÎ»¥¹¥Æ¡¼¥¿¥¹ -.TP 2 -o -´ØÏ¢¹àÌÜ -.TP 2 -o -Ãí°Õ»ö¹à +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: unpack200 +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "unpack200" "1" "2013ǯ11·î21Æü" "JDK 8" "Java¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +unpack200 \- pack200(1)¤ÇºîÀ®¤µ¤ì¤¿¥Ñ¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤ò¡¢Web¥Ç¥×¥í¥¤¥á¥ó¥È¤Î¤¿¤á¤ËJAR¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIunpack200\fR [ \fIoptions\fR ] input\-file \fIJAR\-file\fR +.fi +.if n \{\ .RE - -.LP -.SH "·Á¼°" -.LP -.LP -\f4unpack200\fP\f2 [ \fP\f2options\fP ] \f2input\-file\fP \f2JAR\-file\fP -.LP -.LP -¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -input\-file -ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÏÄ̾pack200 gzip ¥Õ¥¡¥¤¥ë¤« pack200 ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤³¤Î¤Û¤«¤Ë¡¢0 ¤òÀßÄꤹ¤ì¤Ð pack200(1) ¤«¤éºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤âÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤¬ Pack200 ¥Þ¡¼¥«¡¼¤È¤È¤â¤Ë½ÐÎÏ JAR ¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.TP 3 -JAR\-file -½ÐÎÏ JAR ¥Õ¥¡¥¤¥ë̾¡£ +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f2unpack200\fP ¤Ï¡¢pack200(1) ¤ÇºîÀ®¤µ¤ì¤¿¥Ñ¥Ã¥¯¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë \f2¥Í¥¤¥Æ¥£¥Ö¼ÂÁõ\fP¤Ç¤¹¡£°ìÈÌŪ¤Ê»ÈÍÑÊýË¡: -.LP -.LP -\f2% unpack200 myarchive.pack.gz myarchive.jar\fP -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢ \f2¥Ç¥Õ¥©¥ë¥È¤Î unpack200 ÀßÄê¤Ç¡¢myarchive.pack.gz\fP ¤«¤é \f2myarchive.jar\fP ¤¬ \f2ºîÀ®¤µ¤ì¤Þ¤¹\fP ¡£ -.LP +.PP +\fIinput\-file\fR +.RS 4 +ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£pack200 gzip¥Õ¥¡¥¤¥ë¤«pack200¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIpack200\fR(1)¤ÇºîÀ®¤µ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹(¼ê´Ö¤Ï\fI0\fR¤Ç¤¹)¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ÏPack2000¥Þ¡¼¥«¡¼¤Ç½ÐÎÏJAR¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIJAR\-file\fR +.RS 4 +½ÐÎÏJAR¥Õ¥¡¥¤¥ë̾¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIunpack200\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIpack200\fR\fI(1)\fR¤ÇºîÀ®¤µ¤ì¤¿¥Ñ¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤òJAR¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¥Í¥¤¥Æ¥£¥Ö¼ÂÁõ¤Ç¤¹¡£°ìÈÌŪ¤Ê»ÈÍÑÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î\fIunpack200\fR¥³¥Þ¥ó¥ÉÀßÄê¤Ç¡¢\fImyarchive\&.jar\fR¥Õ¥¡¥¤¥ë¤¬\fImyarchive\&.pack\&.gz\fR¤«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +unpack200 myarchive\&.pack\&.gz myarchive\&.jar +.fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP -.LP -.LP -JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ë \f2true\fP ¡¢ \f2false\fP¡¢ \f2keep\fP ¤È¤·¤Æ¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥â¡¼¥É¤Ï \f2keep\fP ¤Ç¤¹¡£ \f2true\fP ¤Þ¤¿¤Ï \f2false ¾ì¹ç¡¢\fP¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¡¢½ÐÎÏ JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f4\-r \-\-remove\-pack\-file\fP -.LP -.LP -ÆþÎϥѥ寥ե¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£ -.LP -.LP -\f4\-v \-\-verbose\fP -.LP -.LP -ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-q \-\-quiet\fP -.LP -.LP -¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ëưºî¤·¤Þ¤¹¡£ -.LP -.LP -\f4\-lfilename \-\-log\-file=\fP\f2filename\fP -.LP -.LP -½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f4\-? \-h \-\-help\fP -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f4\-V \-\-version\fP -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f4\-J\fP\f2option\fP -.LP -.LP -unpack200 ¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë Java µ¯Æ°¥Ä¡¼¥ë¤Ë \f2¥ª¥×¥·¥ç¥ó\fP ¤ò \f2ÅϤ·¤Þ¤¹\fP¡£ -.LP -.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" -.LP -.LP -¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2\ 0\fP " À®¸ù" -.LP -.LP -\f2>0\fP " ¥¨¥é¡¼" -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -pack200(1) -.TP 2 -o -.na -\f2Java SE ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/index.html -.TP 2 -o -.na -\f2¡ÖJava ÇÛÈ÷¥¬¥¤¥É \- Pack200¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html -.TP 2 -o -jar(1) \- Java Archive ¥Ä¡¼¥ë¡× -.TP 2 -o -jarsigner(1) \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë¡× -.TP 2 -o -\f2attributes(5)\fP ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸ +.PP +\-Hvalue \-\-deflate\-hint=\fIvalue\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ë\fItrue\fR¡¢\fIfalse\fR¤Þ¤¿¤Ï\fIkeep\fR¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¡¦¥â¡¼¥É¤Ï\fIkeep\fR¤Ç¤¹¡£Ãͤ¬\fItrue\fR¤Þ¤¿¤Ï\fIfalse\fR¾ì¹ç¡¢\fI\-\-deflate=hint\fR¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¡¢½ÐÎÏJAR¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¡¦¥â¡¼¥É¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£ .RE - -.LP -.SH "Ãí°Õ»ö¹à" -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤È \f2unpack(1) ¤ò\fPº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£ -.LP -.LP -SDK ¤ËÉÕ°¤¹¤ë Java SE API »ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£ -.LP - +.PP +\-r \-\-remove\-pack\-file +.RS 4 +ÆþÎϥѥ寡¦¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£ +.RE +.PP +\-v \-\-verbose +.RS 4 +ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÊ£¿ô¤Î»ÅÍͤˤϡ¢¤è¤ê¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-q \-\-quiet +.RS 4 +¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ëưºî¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-lfilename \-\-log\-file=\fIfilename\fR +.RS 4 +½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤¬µ­Ï¿¤µ¤ì¤ë¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-? \-h \-\-help +.RS 4 +\fIunpack200\fR¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-V \-\-version +.RS 4 +\fIunpack200\fR¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ëoption¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "Ãí°Õ" +.PP +¤³¤Î¥³¥Þ¥ó¥É¤È\fIunpack\fR¥³¥Þ¥ó¥É¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£ +.PP +JDK¤ËÉÕ°¤¹¤ëJava SE API»ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£ +.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" +.PP +¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹: Àµ¾ï½ªÎ»¤Î¾ì¹ç¤Ï0¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï0¤è¤êÂ礭¤¤ÃÍ¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +pack200(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jarsigner(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖPack200 and Compression¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/deployment/deployment\-guide/pack200\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖJava SE Technical Documentation¡× +(http://docs\&.oracle\&.com/javase/) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/wsgen.1 b/jdk/src/linux/doc/man/ja/wsgen.1 index c85556ee16f..0f50de81de0 100644 --- a/jdk/src/linux/doc/man/ja/wsgen.1 +++ b/jdk/src/linux/doc/man/ja/wsgen.1 @@ -1,656 +1,228 @@ -." Copyright (c) 2005, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH wsgen 1 "07 May 2011" -.SH "̾Á°" -wsgen \- XML Web Services (JAX\-WS) 2.0 ¤Î¤¿¤á¤Î Java(TM) API -.LP -\f3»ÅÍͥС¼¥¸¥ç¥ó:\fP 2.1 -.br -\f3¼ÂÁõ¥Ð¡¼¥¸¥ç¥ó:\fP 2.1.1 -.LP -\f2wsgen\fP ¥Ä¡¼¥ë¤Ï¡¢JAX\-WS Web ¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ë JAX\-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢Web ¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¥¯¥é¥¹ (SEI) ¤òÆÉ¤ß¼è¤ê¡¢Web ¥µ¡¼¥Ó¥¹¤ÎÇÛÈ÷¤È¸Æ¤Ó½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +'\" t +.\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: wsgen +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "wsgen" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +wsgen \- Web¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ(SEI)¥¯¥é¥¹¤òÆÉ¼è¤ê¡¢Web¥µ¡¼¥Ó¥¹¤Î¥Ç¥×¥í¥¤¥á¥ó¥È¤È¸Æ½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£ .SH "³µÍ×" -.LP -\f2wsgen\fP ¥Ä¡¼¥ë¤Ï¡¢JAX\-WS Web ¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ë JAX\-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢Web ¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¥¯¥é¥¹¤òÆÉ¤ß¼è¤ê¡¢Web ¥µ¡¼¥Ó¥¹¤ÎÇÛÈ÷¤È¸Æ¤Ó½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£JAXWS 2.1.1 RI ¤Ë¤Ï wsgen Ant ¥¿¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2Wsgen Ant ¥¿¥¹¥¯\fP @ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIwsgen\fR [ \fIoptions\fR ] \fISEI\fR .fi -https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "wsgen ¤Îµ¯Æ°" -.RS 3 -.TP 2 -o -\f3Solaris/Linux\fP -.RS 3 -.TP 2 -* -\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP -.TP 2 -* -\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP +.if n \{\ .RE -.TP 2 -o -\f3Windows\fP -.RS 3 -.TP 2 -* -\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP -.TP 2 -* -\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE +.PP +\fISEI\fR +.RS 4 +ÆÉ¤ß¼è¤ëWeb¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¥¯¥é¥¹(SEI)¤Ç¤¹¡£ .RE - -.LP -.SH "¹½Ê¸" +.SH "ÀâÌÀ" +.PP +\fIwsgen\fR¥³¥Þ¥ó¥É¤Ï¡¢JAX\-WS Web¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ëJAX\-WS¥Ý¡¼¥¿¥Ö¥ë¡¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢Web¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¡¦¥¯¥é¥¹¤òÆÉ¼è¤ê¡¢Web¥µ¡¼¥Ó¥¹¤Î¥Ç¥×¥í¥¤¥á¥ó¥È¤È¸Æ½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£JAXWS 2\&.1\&.1 RI¤Ç¤Ï\fIwsgen\fR +Ant¥¿¥¹¥¯¤âÄ󶡤µ¤ì¤Þ¤¹¡£ +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsgenant\&.html¤ÎJAX\-WS (wsgen)¥Ú¡¼¥¸¤ÎTools¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIwsgen\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò¹Ô¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -wsgen [options] <SEI>\fP -.br -\f3 -.fl -\fP +export JAXWS_HOME=/pathto/jaxws\-ri +$JAXWS_HOME/bin/wsgen\&.sh \-help .fi -.LP -¼¡¤Îɽ¤Ë¡¢ \f2wsgen\fP ¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£ -.br -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ÆþÎÏ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\-classpath <path> \f2¤ÈƱ¤¸¤Ç¤¹\fP -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À­¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄÀ­¤¬¤¢¤ê¤Þ¤¹ -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹ -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¾ï¤Ë \-wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL ¤Ê¤É¤ÎÀ¸À®¤µ¤ì¤¿¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤹ¤ë -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹ -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊ󤬽ÐÎϤµ¤ì¤ë¤À¤±¤Ç¤¹¡£Ä̾ï¤Î½èÍý¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£ -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2wsgen\fP ¤Ï WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤»¤ó¡£¤³¤Î¥Õ¥é¥°¤Ï¾Êά²Äǽ¤Ç¤¹¤¬¡¢»ØÄꤷ¤¿¾ì¹ç¤Ï \f2wsgen\fP ¤¬ WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ÏÄ̾¥¨¥ó¥É¥Ý¥¤¥ó¥È¤ÎÇÛÈ÷Á°¤Ë³«È¯¼Ô¤¬ WSDL ¤ò»²¾È¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ \f2protocol\fP ¤Ï¾Êά²Äǽ¤Ç¤¢¤ê¡¢wsdl:binding ¤Ç»ÈÍѤ¹¤Ù¤­¥×¥í¥È¥³¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë \f2»ÈÍѤµ¤ì¤Þ¤¹\fP¡£Í­¸ú¤Ê¥×¥í¥È¥³¥ë¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ \f2soap1.1\fP ¤È \f2Xsoap1.2\fP¡£¥Ç¥Õ¥©¥ë¥È¤Ï \f2soap1.1\fP ¤Ç¤¹¡£ \f2Xsoap1.2\fP ¤Ïɸ½à¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢ \f2\-extension\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Ê¤¤¤È»ÈÍѤǤ­¤Þ¤»¤ó¡£ -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¾ï¤Ë \f2\-wsdl\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL Æâ¤ÇÀ¸À®¤µ¤ì¤ë¤Ù¤­ \f2wsdl:service\fP ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã: \f2\-servicename "{http://mynamespace/}MyService"\fP -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¾ï¤Ë \f2\-wsdl\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL Æâ¤ÇÀ¸À®¤µ¤ì¤ë¤Ù¤­ \f2wsdl:port\fP ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã: \f2\-portname "{http://mynamespace/}MyPort"\fP -.br -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥ª¥×¥·¥ç¥ó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-classpath <path>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-cp <path>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-d <directory>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-extension\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-help\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-keep\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-r <directory>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-s <directory>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-verbose\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-version\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-wsdl[:protocol]\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-servicename <name>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-portname <name>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 137 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥ª¥×¥·¥ç¥ó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-57 - -.LP +.if n \{\ +.RE +.\} +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-classpath \fIpath\fR +.RS 4 +ÆþÎÏ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¡£ +.RE +.PP +\-cp \fIpath\fR +.RS 4 +ÆþÎÏ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¡£ +.RE +.PP +\-d \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤¿½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-extension +.RS 4 +¥Ù¥ó¥À¡¼³ÈÄ¥¤ò»ÈÍѲÄǽ¤Ë¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À­¤¬¼º¤ï¤ì¤¿¤ê¡¢Â¾¤Î¼ÂÁõ¤ÈÏ¢·È¤Ç¤­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +\fIwsgen\fR¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-keep +.RS 4 +À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤Þ¤¹¡£ +.RE +.PP +\-r \fIdirectory\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò\fI\-wsdl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Æ¡¢WSDL¤Ê¤ÉÀ¸À®¤µ¤ì¤¿¥ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-s \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-verbose +.RS 4 +¥³¥ó¥Ñ¥¤¥é¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-wsdl [ :protocol ] +.RS 4 +¥¨¥ó¥É¥Ý¥¤¥ó¥È¤ò¥Ç¥×¥í¥¤¤¹¤ëÁ°¤Ë³Îǧ¤¹¤ëWSDL¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¥ª¥×¥·¥ç¥ó¡¦¥³¥Þ¥ó¥É¡£WSDL¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥µ¡¼¥Ó¥¹¤ò¸Æ¤Ó½Ð¤¹ÊýË¡¡¢¥Ñ¥é¥á¡¼¥¿¤ËɬÍפÊÃÍ¡¢ÊÖ¤µ¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤Æ¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ÇÆÉ¼è¤ê²Äǽ¤Êµ­½Ò¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fIwsgen\fR¥³¥Þ¥ó¥É¤ÏWSDL¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤»¤ó¡£\fIprotocol\fRÃͤϾÊά²Äǽ¤Ç¤¢¤ê¡¢WSDL¥Ð¥¤¥ó¥Ç¥£¥ó¥°(\fIwsdl:binding\fR)¤Ç»ÈÍѤ¹¤ë¥×¥í¥È¥³¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Í­¸ú¤Ê¥×¥í¥È¥³¥ë¤Ï¡¢\fIsoap1\&.1\fR¤È\fIXsoap1\&.2\fR¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï\fIsoap1\&.1\fR¤Ç¤¹¡£\fIXsoap1\&.2\fR¥×¥í¥È¥³¥ë¤Ïɸ½à¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢\fI\-extension\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤Î¤ß»ÈÍѲÄǽ¤Ç¤¹¡£ +.RE +.PP +\-servicename \fIname\fR +.RS 4 +\fI\-wsdl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤Î¤ß»ÈÍѤ·¤Æ¡¢WSDL¤ÇÀ¸À®¤µ¤ì¤ëÆÃÄê¤ÎWSDL¥µ¡¼¥Ó¥¹(\fIwsdl:service\fR)̾¤ò»ØÄꤷ¤Þ¤¹¡£Îã: +\fI\-servicename "{http://mynamespace/}MyService"\fR¡£ +.RE +.PP +\-portname \fIname\fR +.RS 4 +\fI\-wsdl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤Î¤ß»ÈÍѤ·¤Æ¡¢WSDL¤ÇÀ¸À®¤µ¤ì¤ëÆÃÄê¤ÎWSDL¥Ý¡¼¥È(\fIwsdl:port\fR)̾¤ò»ØÄꤷ¤Þ¤¹¡£Îã: +\fI\-portname "{http://mynamespace/}MyPort"\fR¡£ +.RE .SH "Îã" +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢Stock¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë\fI@WebService\fRÃí¼á¤ò»ý¤Ä\fIStockService\fR¤Î¥é¥Ã¥Ñ¡¼¡¦¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP -.fl +wsgen \-d stock \-cp myclasspath stock\&.StockService .fi -.LP -\f3stock\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë @WebService Ãí¼á¤¬ÉÕ¤±¤é¤ì¤¿¡¢StockService ¤ËɬÍפʥé¥Ã¥Ñ¡¼¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢SOAP 1\&.1 WSDL¤ª¤è¤Ó\fI@WebService\fRÃí¼á¤ò»ý¤Ä\fIstock\&.StockService\fR¥¯¥é¥¹¤Î¥¹¥­¡¼¥Þ¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP -.fl +wsgen \-wsdl \-d stock \-cp myclasspath stock\&.StockService .fi -.LP -SOAP 1.1 WSDL ¤È¡¢@WebService Ãí¼á¤¬ÉÕ¤±¤é¤ì¤¿ Java ¥¯¥é¥¹ stock.StockService ¤Î¥¹¥­¡¼¥Þ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢SOAP 1\&.2 WSDL¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP -.fl +wsgen \-wsdl:Xsoap1\&.2 \-d stock \-cp myclasspath stock\&.StockService .fi -.LP -SOAP 1.2 WSDL ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -¥µ¡¼¥Ó¥¹¤òÇÛÈ÷¤¹¤ë¤È¤­¤Ë JAXWS ¥é¥ó¥¿¥¤¥à¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë WSDL ¤¬À¸À®¤µ¤ì¤ë¤¿¤á¡¢³«È¯»þ¤Ë WSDL ¤òÀ¸À®¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.if n \{\ +.RE +.\} +.PP +\fBÃí°Õ:\fR +¥µ¡¼¥Ó¥¹¤Î¥Ç¥×¥í¥¤»þ¤ËJAXWS¼Â¹Ô»þ´Ä¶­¤ÇWSDL¤¬À¸À®¤µ¤ì¤ë¤¿¤á¡¢³«È¯»þ¤ËWSDL¤òÀ¸À®¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +wsimport(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsgenant\&.html¤Î +JAX\-WS (wsgen)¥Ú¡¼¥¸¤ÎTools¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/wsimport.1 b/jdk/src/linux/doc/man/ja/wsimport.1 index a09204e86ba..feff3f3acca 100644 --- a/jdk/src/linux/doc/man/ja/wsimport.1 +++ b/jdk/src/linux/doc/man/ja/wsimport.1 @@ -1,1066 +1,332 @@ -." Copyright (c) 2005, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH wsimport 1 "07 May 2011" -.SH "̾Á°" -wsimport \- XML Web Services (JAX\-WS) 2.0 ¤Î¤¿¤á¤Î Java(TM) API -.LP -\f3»ÅÍͥС¼¥¸¥ç¥ó:\fP 2.1 -.br -\f3¼ÂÁõ¥Ð¡¼¥¸¥ç¥ó:\fP 2.1.1 -.br +'\" t +.\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: wsimport +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "wsimport" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +wsimport \- Web¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¢¡¼¥«¥¤¥Ö(WAR)¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸¤Ç¤­¤ëJAX\-WS¥Ý¡¼¥¿¥Ö¥ë¡¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Æ¡¢Ant¥¿¥¹¥¯¤ò»ØÄꤷ¤Þ¤¹¡£ .SH "³µÍ×" -.LP -\f2wsimport\fP ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê JAX\-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -¥µ¡¼¥Ó¥¹¥¨¥ó¥É¥Ý¥¤¥ó¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (SEI) -.TP 2 -o -¥µ¡¼¥Ó¥¹ -.TP 2 -o -wsdl:fault ¤«¤é¥Þ¥Ã¥×¤µ¤ì¤ëÎã³°¥¯¥é¥¹ (¸ºß¤¹¤ë¾ì¹ç) -.TP 2 -o -±þÅú wsdl:message ¤«¤éÇÉÀ¸¤¹¤ëÈ󯱴ü±þÅú Bean (¸ºß¤¹¤ë¾ì¹ç) -.TP 2 -o -JAX\-B ¤¬À¸À®¤¹¤ëÃÍ¥¿¥¤¥× (¥¹¥­¡¼¥Þ¤Î·¿¤«¤é¥Þ¥Ã¥×¤µ¤ì¤¿ Java ¥¯¥é¥¹) -.RE -.LP -¤³¤ì¤é¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤Ï¡¢WSDL ¥É¥­¥å¥á¥ó¥È¡¢¥¹¥­¡¼¥Þ¥É¥­¥å¥á¥ó¥È¡¢¤ª¤è¤Ó¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¤È¤È¤â¤Ë WAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤·¤ÆÇÛÈ÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢wsimport Ant ¥¿¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ -.na -\f2wsimport Ant ¥¿¥¹¥¯\fP @ -.fi -https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.br - -.LP -.SH "wsimport ¤Îµ¯Æ°" -.RS 3 -.TP 2 -o -\f3Solaris/Linux\fP -.RS 3 -.TP 2 -* -\f2/bin/wsimport.sh \-help\fP -.RE -.TP 2 -o -\f3Windows\fP -.RS 3 -.TP 2 -* -\f2\\bin\\wsimport.bat \-help\fP -.RE -.RE - -.LP -.SH "¹½Ê¸" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -wsimport [options] <wsdl> -.fl -\fP +\fIwsimport\fR [ \fIoptions\fR ] \fIwsdl\fR .fi -.LP -¼¡¤Îɽ¤Ë¡¢ \f2wsimport\fP ¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIwsdl\fR +.RS 4 +Web¥µ¡¼¥Ó¥¹¤ò¸Æ¤Ó½Ð¤¹ÊýË¡¡¢¥Ñ¥é¥á¡¼¥¿¤ËɬÍפÊÃÍ¡¢ÊÖ¤µ¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤Æ¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ÇÆÉ¼è¤ê²Äǽ¤Êµ­½Ò¤¬´Þ¤Þ¤ì¤Þ¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIwsimport\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤ÎJAX\-WS¥Ý¡¼¥¿¥Ö¥ë¡¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤Ï¡¢¥Ç¥×¥í¥¤¤¹¤ëWSDL¤ª¤è¤Ó¥¹¥­¡¼¥Þ¡¦¥É¥­¥å¥á¥ó¥È¤ª¤è¤Ó¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¤È¤È¤â¤Ë¡¢WAR¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸¤Ç¤­¤Þ¤¹¡£\fIwsimport\fR¥³¥Þ¥ó¥É¤Ç¤Ï\fIwsimport\fR +Ant¥¿¥¹¥¯¤âÄ󶡤µ¤ì¤Þ¤¹¡£ +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsimportant\&.html¤ÎWsimport Ant Task¥Ú¡¼¥¸¤ÎTools¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥µ¡¼¥Ó¥¹¡¦¥¨¥ó¥É¥Ý¥¤¥ó¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹(SEI) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥µ¡¼¥Ó¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Îã³°¥¯¥é¥¹¤Ï\fIwsdl:fault\fR¤«¤é¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹(¸ºß¤¹¤ë¾ì¹ç) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +È󯱴ü¥ì¥¹¥Ý¥ó¥¹Bean¤Ï¥ì¥¹¥Ý¥ó¥¹\fIwsdl:message\fR¤«¤éÇÉÀ¸¤·¤Þ¤¹(¸ºß¤¹¤ë¾ì¹ç) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +JAXB¤¬À¸À®¤¹¤ëÃÍ¥¿¥¤¥×(¥¹¥­¡¼¥Þ¤Î¥¿¥¤¥×¤«¤é¥Þ¥Ã¥×¤µ¤ì¤¿Java¥¯¥é¥¹) +.RE +.PP +\fIwsgen\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò¹Ô¤¤¤Þ¤¹¡£ +.PP +\fBOracle Solaris/Linux\fR: +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -³°Éô¤Î JAX\-WS ¤Þ¤¿¤Ï JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹ ( \f2<file>\fP ¤´¤È¤Ë \f2\-b\fP ¤¬É¬ÍפȤʤë) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò JAXB ¥¹¥­¡¼¥Þ¥³¥ó¥Ñ¥¤¥é¤ËÅϤ·¤Þ¤¹ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -³°Éô¥¨¥ó¥Æ¥£¥Æ¥£¡¼»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤Î¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¡¢OASIS XML Catalog ¤Î³Æ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.na -\f2¥«¥¿¥í¥°\fP @ +/bin/wsimport\&.sh \-help .fi -https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.html¤Î¥É¥­¥å¥á¥ó¥È¤ò¤ªÆÉ¤ß¤Ë¤Ê¤ê¡¢\f3¥«¥¿¥í¥°\fP¤Î¥µ¥ó¥×¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À­¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹ -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3\-httpproxy:<host>:<port> \fP -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -HTTP ¥×¥í¥­¥·¥µ¡¼¥Ð¡¼¤ò»ØÄꤷ¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¡¼¥È¤Ï 8080) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 +.if n \{\ +.RE +.\} +.PP +\fBWindows\fR¤Î¾ì¹ç: +.sp +.if n \{\ +.RS 4 +.\} +.nf +\ebin\ewsimport\&.bat \-help +.fi +.if n \{\ +.RE +.\} +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-d \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-b \fIpath\fR +.RS 4 +³°ÉôJAX\-WS¤Þ¤¿¤ÏJAXB¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-b\fR¥ª¥×¥·¥ç¥ó¤ÇÊ£¿ô¤ÎJAX\-WS¤ª¤è¤ÓJAXB¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢Bean̾¤Ê¤É¤ò¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£JAX\-WS¤ª¤è¤ÓJAXB¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢ +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsimportant\&.html¤ÎWSDL Customization¤ÎUsers Guide¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-B \fIjaxbOption\fR +.RS 4 +JAXB¥¹¥­¡¼¥Þ¡¦¥³¥ó¥Ñ¥¤¥é¤Ë\fIjaxbOption\fR¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Þ¤¹¡£ +.RE +.PP +\-catalog +.RS 4 +³°Éô¥¨¥ó¥Æ¥£¥Æ¥£»²¾È¤ò²ò·è¤¹¤ë¥«¥¿¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-catalog\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢TR9401¡¢XCatalog¡¢OASIS XML Catalog¤Î³Æ·Á¼°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/catalog\-support\&.html¤Î +Catalog Support¥Ú¡¼¥¸¤ÎUsers Guide¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-extension +.RS 4 +¥Ù¥ó¥À¡¼³ÈÄ¥¤ò»ÈÍѲÄǽ¤Ë¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À­¤¬¼º¤ï¤ì¤¿¤ê¡¢Â¾¤Î¼ÂÁõ¤ÈÏ¢·È¤Ç¤­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +\fIwsimport\fR¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-httpproxy: \fIhost\fR:\fIport\fR +.RS 4 +HTTP¥×¥í¥­¥·¡¦¥µ¡¼¥Ð¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï8080¤Ç¤¹¡£ +.RE +.PP +\-keep +.RS 4 À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹ -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍÆ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î WSDL/¥¹¥­¡¼¥Þ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢ »ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹ -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤹ¤ë -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹ -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹ -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di n+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3\-wsdllocation <location>\fP -.br -.di -.nr n| \n(dn -.nr n- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di o+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f2@WebServiceClient.wsdlLocation\fP ÃÍ -.br -.di -.nr o| \n(dn -.nr o- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di p+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -»ØÄꤵ¤ì¤¿ JAX\-WS »ÅÍͥС¼¥¸¥ç¥ó¤Ë½¾¤Ã¤Æ¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 2.0 ¤Ç¤Ï¡¢JAX\-WS 2.0 »ÅÍͤ˽àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£ -.br -.di -.nr p| \n(dn -.nr p- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di q+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -wsimport ½ÐÎϤòÍÞÀ©¤·¤Þ¤¹ -.br -.di -.nr q| \n(dn -.nr q- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥ª¥×¥·¥ç¥ó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-d <directory> \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-b <path> \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-B <jaxbOption>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-catalog\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-extension \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-help \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-keep \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-p \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-s <directory> \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-verbose \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-version \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-target \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-quiet \fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(g- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(n- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(o- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(p- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(q- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 163 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥ª¥×¥·¥ç¥ó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.ne \n(h|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(n|u+\n(.Vu -.ne \n(o|u+\n(.Vu -.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) -.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.n+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.o+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(p|u+\n(.Vu -.if (\n(p|+\n(#^-1v)>\n(#- .nr #- +(\n(p|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.p+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(q|u+\n(.Vu -.if (\n(q|+\n(#^-1v)>\n(#- .nr #- +(\n(q|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.q+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.rm n+ -.rm o+ -.rm p+ -.rm q+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-72 -.LP -\-b ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢Ê£¿ô¤Î JAX\-WS ¤ª¤è¤Ó JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë \f2¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fP ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ä Bean ̾¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê¥«¥¹¥¿¥Þ¥¤¥º¤¬²Äǽ¤Ç¤¹¡£JAX\-WS ¤ª¤è¤Ó JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2¥«¥¹¥¿¥Þ¥¤¥º¥Þ¥Ë¥å¥¢¥ë\fP @ -.fi -https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¼¡¤Îɽ¤Ë¡¢ \f2wsimport\fP ¤ÎÈóɸ½à¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Í×µá¤Þ¤¿¤Ï±þÅú¥á¥Ã¥»¡¼¥¸¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Ê¤¤¥Ø¥Ã¥À¡¼¤ò Java ¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¥Þ¥Ã¥×¤·¤Þ¤¹ -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ǧ¾Ú¾ðÊó¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë WSDL URI ¤Ç¤¹¡£¤³¤Î URI ¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹ http://\f2<¥æ¡¼¥¶¡¼Ì¾>\fP:\f2<¥Ñ¥¹¥ï¡¼¥É>\fP@\f2<¥Û¥¹¥È̾>\fP/\f2<Web ¥µ¡¼¥Ó¥¹Ì¾>\fP?wsdl -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 +.RE +.PP +\-p \fIname\fR +.RS 4 +¥¿¡¼¥²¥Ã¥È¡¦¥Ñ¥Ã¥±¡¼¥¸\fIname\fR¤ò»ØÄꤷ¤Æ¡¢WSDL¤ª¤è¤Ó¥¹¥­¡¼¥Þ¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¥«¥¹¥¿¥Þ¥¤¥º¡¢¤ª¤è¤Ó»ÅÍÍÉô¤ÇÄêµÁ¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-s \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ +.RE +.PP +\-verbose +.RS 4 +¥³¥ó¥Ñ¥¤¥é¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-wsdllocation \fIlocation\fR +.RS 4 +\fI@WebServiceClient\&.wsdlLocation\fR¤ÎÃͤò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-target +.RS 4 +»ØÄꤵ¤ì¤¿JAX\-WS»ÅÍͥС¼¥¸¥ç¥ó¤Ë½¾¤Ã¤Æ¡¢¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó2\&.0¤Ç¤Ï¡¢JAX\-WS 2\&.0»ÅÍͤ˽àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-quiet +.RS 4 +\fIwsimport\fR¥³¥Þ¥ó¥É½ÐÎϤòÍÞÀ©¤·¤Þ¤¹¡£ +.RE +.PP +\fI\-b\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î\fIJAX\-WS\fR¤ª¤è¤Ó\fIJAXB\fR¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤äBean̾¤Ê¤É¡¢ÍÍ¡¹¤Ê¤â¤Î¤ò¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£\fIJAX\-WS\fR¤ª¤è¤Ó\fIJAXB\fR¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢ +https://jax\-ws\&.dev\&.java\&.net/nonav/2\&.1\&.1/docs/customizations\&.html¤ÎJAXB¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SH "Èóɸ½à¥ª¥×¥·¥ç¥ó" +.PP +\-XadditionalHeaders +.RS 4 +¥ê¥¯¥¨¥¹¥È¤Þ¤¿¤Ï¥ì¥¹¥Ý¥ó¥¹¡¦¥á¥Ã¥»¡¼¥¸¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Ê¤¤¥Ø¥Ã¥À¡¼¤òJava¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¥Þ¥Ã¥×¤·¤Þ¤¹ +.RE +.PP +\-Xauthfile \fIfile\fR +.RS 4 +ǧ¾Ú¾ðÊó¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëWSDL URI¤Ç¤¹¡£¤³¤ÎURI¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +http://\fIuser\-name\fR:\fIpassword\fR@\fIhost\-name\fR/\fIweb\-service\-name\fR>?wsdl +.RE +.PP +\-Xdebug +.RS 4 ¥Ç¥Ð¥Ã¥°¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3\-Xno\-addressing\-databinding\fP -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -W3C \f2EndpointReferenceType\fP ¤È Java ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤¿ Java ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤»¤ó -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥ª¥×¥·¥ç¥ó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-XadditionalHeaders\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-Xauthfile <file>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-Xdebug\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-Xnocompile\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(d- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 199 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥ª¥×¥·¥ç¥ó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-XadditionalHeaders\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-Xauthfile <file>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-Xdebug\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.ne \n(e|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-Xnocompile\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-26 - -.LP +.RE +.PP +\-Xno\-addressing\-databinding +.RS 4 +W3C EndpointReferenceType¤ÈJava¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xnocompile +.RS 4 +À¸À®¤µ¤ì¤¿Java¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤»¤ó +.RE .SH "Îã" +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢Java¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¡¢\fIhttp://stockquote\&.example\&.com/quote?wsdl\fR¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Æ¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3wsimport \-p stockquote http://stockquote.example.com/quote?wsdl\fP -.fl +wsimport \-p stockquote http://stockquote\&.example\&.com/quote?wsdl .fi -.LP -Java ¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¡¢ \f2http://stockquote.example.com/quote?wsdl\fP ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Æ¤½¤Î Java ¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹ +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +wsgen(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsimportant\&.html¤Î +Wsimport Ant Task¥Ú¡¼¥¸¤ÎTools¥¿¥Ö +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/catalog\-support\&.html¤Î +Catalog Support¥Ú¡¼¥¸¤ÎUsers Guide¥¿¥Ö +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsimportant\&.html¤Î +WSDL Customization¥Ú¡¼¥¸¤ÎUsers Guide¥¿¥Ö +.RE .br - +'pl 8.5i +'bp diff --git a/jdk/src/linux/doc/man/ja/xjc.1 b/jdk/src/linux/doc/man/ja/xjc.1 index 0b3baf84f0a..17a0efdd9ed 100644 --- a/jdk/src/linux/doc/man/ja/xjc.1 +++ b/jdk/src/linux/doc/man/ja/xjc.1 @@ -1,298 +1,342 @@ -." Copyright (c) 2005, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH xjc 1 "07 May 2011" - -.LP -.ad c -.SH "̾Á°" -xjc \- XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java(TM) ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ -.br -¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é -.LP -\f3»ÅÍͥС¼¥¸¥ç¥ó:\fP 2.1 -.br -\f3¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ (RI) ¥Ð¡¼¥¸¥ç¥ó:\fP 2.1.3 .ad l - -.LP -.SH "xjc ¤Îµ¯Æ°" -.LP -.LP -¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë±þ¤¸¤¿ bin ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î \f2xjc\fP ¥·¥§¥ë¥¹¥¯¥ê¥×¥È \f2¤ò\fP »ÈÍѤ·¤Þ¤¹¡£¤Þ¤¿¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ -.na -\f2xjc ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html¤¿¤á¤Î¼ê½ç¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2% xjc \-help\fP -.LP -.SS -½ÐÎÏ -.LP +'\" t +.\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: xjc +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "xjc" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +xjc \- XML¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤ò´°Á´Ãí¼áÉÕ¤­¤ÎJava¥¯¥é¥¹¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -Usage: xjc [\-options ...] <schema file/URL/dir/jar> ... [\-b <bindinfo>] ... -.fl -If dir is specified, all schema files in it will be compiled. -.fl -If jar is specified, /META\-INF/sun\-jaxb.episode binding file will be compiled. -.fl -Options: -.fl - \-nv : do not perform strict validation of the input schema(s) -.fl - \-extension : allow vendor extensions \- do not strictly follow the Compatibility Rules and App E.2 from the JAXB Spec -.fl - \-b <file/dir> : specify external bindings files (each <file> must have its own \-b); if a directory is given, **/*.xjb is searched -.fl - \-d <dir> : generated files will go into this directory -.fl - \-p <pkg> : specifies the target package -.fl - \-httpproxy <proxy> : set HTTP/HTTPS proxy; format is [user[:password]@]proxyHost:proxyPort -.fl - \-httpproxyfile <f> : works like \-httpproxy but takes the argument in a file to protect password -.fl - \-classpath <arg> : specify where to find user class files -.fl - \-catalog <file> : specify catalog files to resolve external entity references; support TR9401, XCatalog, and OASIS XML Catalog format -.fl - \-readOnly : generated files will be in read\-only mode -.fl - \-npa : suppress generation of package level annotations (**/package\-info.java) -.fl - \-no\-header : suppress generation of a file header with timestamp -.fl - \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features -.fl - \-xmlschema : treat input as W3C XML Schema (default) -.fl - \-relaxng : treat input as RELAX NG (experimental,unsupported) -.fl - \-relaxng\-compact : treat input as RELAX NG compact syntax (experimental,unsupported) -.fl - \-dtd : treat input as XML DTD (experimental,unsupported) -.fl - \-wsdl : treat input as WSDL and compile schemas inside it (experimental,unsupported) -.fl - \-verbose : be extra verbose -.fl - \-quiet : suppress compiler output -.fl - \-help : display this help message -.fl - \-version : display version information -.fl - -.fl - -.fl -Extensions: -.fl - \-Xlocator : enable source location support for generated code -.fl - \-Xsync\-methods : generate accessor methods with the 'synchronized' keyword -.fl - \-mark\-generated : mark the generated code as @javax.annotation.Generated -.fl - \-episode <FILE> : generate the episode file for separate compilation -.fl -\fP +\fIxjc\fR [ \fIoptions\fR ] \fIschema\fR \fIfile/URL/dir/jar\fR \&.\&.\&. [\fI\-b\fR \fIbindinfo\fR ] \&.\&.\&. .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +schema \fIfile/URL/dir/jar \&.\&.\&.\fR +.RS 4 +XML¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¡£\fIdir\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£\fIjar\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fI/META\-INF/sun\-jaxb\&.episode\fR¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-b \fIbindinfo\fR +.RS 4 +¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¡£ +.RE +.SH "ÀâÌÀ" +.PP +¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Îbin¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ëŬÀÚ¤Ê\fIxjc\fR¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤òµ¯Æ°¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ëAnt¥¿¥¹¥¯¤â¤¢¤ê¤Þ¤¹¡£http://jaxb\&.java\&.net/nonav/2\&.1\&.3/docs/xjcTask\&.html¤Î +Using the XJC with Ant¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-nv -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¥¹¥­¡¼¥Þ¤ò½èÍý¤¹¤ëÁ°¤Ë¸·Ì©¤Ê¸¡¾Ú¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¸·Ì©¤Ê¥¹¥­¡¼¥Þ¸¡¾Ú¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤¬¸¡¾Ú¤ò°ìÀڼ¹Ԥ·¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤ê¸·Ì©¤Ç¤Ê¤¤¸¡¾Ú¤ò¼Â¹Ô¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ -.TP 3 -\-extension -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢JAXB »ÅÍͤΡÖCompatibility¡×¤Î¾Ï¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ëµ¬Â§¤ò¸·Ì©¤Ë¶¯À©¤·¤Þ¤¹¡£ÉÕÏ¿ E.2 ¤Ë¤Ï¡¢JAXB v1.0 ¤Ç´°Á´¤Ë¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤°ìÏ¢¤Î W3C XML ¥¹¥­¡¼¥Þµ¡Ç½¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÇÍ­¸ú¤Ë¤Ê¤ë¡Ö\-extension¡×¥â¡¼¥É¤Ç¤½¤ì¤é¤Îµ¡Ç½¤¬»ÈÍѤǤ­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸·Ì©¤Ê¥â¡¼¥É¤Ç¤Ï¡¢»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤Î¤ß¤¬»ÈÍѤǤ­¤Þ¤¹¡£¡Ö\-extension¡×¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ì¤Ð¡¢JAXB Vendor Extension ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.TP 3 -\-b <file> -½èÍý¤¹¤ë³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô»ØÄꤷ¤Þ¤¹¡£(¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤´¤È¤Ë \f2¡Ö\-b¡×\fP ¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£) ³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Î¹½Ê¸¤ÏÈó¾ï¤Ë½ÀÆð¤Ç¤¹¡£Ê£¿ô¤Î¥¹¥­¡¼¥Þ¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬´Þ¤Þ¤ì¤ë 1 ¤Ä¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤¿¤ê¡¢¤½¤ì¤é¤Î¥«¥¹¥¿¥Þ¥¤¥º¤òÊ£¿ô¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings123.xjb\fP -.br -\f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings1.xjb \-b bindings2.xjb \-b bindings3.xjb\fP ¤Þ¤¿¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë½çÈÖ¤ÏǤ°Õ¤Ç¤¹¡£ -.TP 3 -\-d <dir> -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Java ¥³¥ó¥Æ¥ó¥Ä¥¯¥é¥¹¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ÂåÂØ½ÐÎϥǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£½ÐÎϥǥ£¥ì¥¯¥È¥ê¤Ï¤¢¤é¤«¤¸¤á¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤»¤ó¡£ -.TP 3 -\-p <pkg> -¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍÆ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£ -.TP 3 -\-httpproxy <proxy> -HTTP/HTTPS ¥×¥í¥­¥·¤ò»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï [user[:password]@]proxyHost[:proxyPort] ¤Ç¤¹¡£½¾Íè¤Î \f2\-host\fP ¤ª¤è¤Ó \f2\-port\fP ¤Ï¡¢²¼°Ì¸ß´¹À­¤Î¤¿¤á¤Ë¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¿ä¾©¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢ \f2top\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¥æ¡¼¥¶¡¼¤Ê¤É¡¢¤Û¤«¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤Ç¤­¤ë°ú¿ô¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥»¥­¥å¥ê¥Æ¥£¡¼¤ò¹â¤á¤ë¤Ë¤Ï¡¢¼¡¤Î \f2\-httpproxyfile\fP ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-httpproxyfile <file> -HTTP/HTTPS ¥×¥í¥­¥·¤ò¥Õ¥¡¥¤¥ë·Ðͳ¤Ç»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï¾åµ­¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¤Û¤«¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.TP 3 -\-classpath <arg> -<jxb:javaType> ¤ª¤è¤Ó <xjc:superClass> \f2¥«¥¹¥¿¥Þ¥¤¥º¤¬»ÈÍѤ¹¤ë\fP ¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î \f2¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò\fP »ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-catalog <file> -³°Éô¥¨¥ó¥Æ¥£¥Æ¥£¡¼»²¾È¤ò²ò·è¤¹¤ë¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¡¢¤ª¤è¤Ó OASIS XML Catalog ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡ØXML Entity and URI Resolvers¡Ù¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤¹¤ë¤«¡¢ \f2¥«¥¿¥í¥°¥ê¥¾¥ë¥Ð¤Î\fP ¥µ¥ó¥×¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-readOnly -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢À¸À®¤¹¤ë Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½ñ¤­¹þ¤ß¤«¤éÊݸ¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ÏÀ¸À®¤µ¤ì¤ë Java ¥½¡¼¥¹¤ò¶¯À©Åª¤ËÆÉ¤ß¼è¤êÀìÍѤˤ·¤Þ¤¹¡£ -.TP 3 -\-npa -¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤ÎÃí¼á¤ò **/package\-info.java ¤ËÀ¸À®¤¹¤ë¤³¤È¤òÍÞÀ©¤·¤Þ¤¹¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤ÆÀ¸À®¤¹¤ë¥³¡¼¥É¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÃí¼á¤¬¤Û¤«¤ÎÀ¸À®ºÑ¤ß¥¯¥é¥¹¤ËÆâÉô²½¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-no\-header -¿¾¯¤Î¥á¥â¤È¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À¡¼¥³¥á¥ó¥È¤ÎÀ¸À®¤òÍÞÀ©¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤¬¤ï¤«¤ê¤Ë¤¯¤¯¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-target 2.0 -¤Ê¤ó¤é¤«¤Î JAXB 2.1 µ¡Ç½¤Ë°Í¸¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤ò JAXB 2.0 ¥é¥ó¥¿¥¤¥à (JavaSE 6 ¤Ê¤É) ¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-xmlschema -ÆþÎÏ¥¹¥­¡¼¥Þ¤ò W3C XML ¥¹¥­¡¼¥Þ (¥Ç¥Õ¥©¥ë¥È) ¤È¸«¤Ê¤·¤Þ¤¹¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢ÆþÎÏ¥¹¥­¡¼¥Þ¤Ï W3C XML ¥¹¥­¡¼¥Þ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-relaxng -ÆþÎÏ¥¹¥­¡¼¥Þ¤ò RELAX NG ¤È¤·¤Æ°·¤¤¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-relaxng\-compact -ÆþÎÏ¥¹¥­¡¼¥Þ¤ò RELAX NG °µ½Ì¹½Ê¸¤È¤·¤Æ½èÍý¤·¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-dtd -ÆþÎÏ¥¹¥­¡¼¥Þ¤ò XML DTD ¤È¤·¤Æ°·¤¤¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-wsdl -ÆþÎϤò WSDL ¤È¤·¤Æ°·¤¤¡¢¤½¤ÎÆâÉô¤Î¥¹¥­¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£ -.TP 3 -\-quiet -¿ÊĽ¾ðÊó¤ä·Ù¹ð¤Ê¤É¡¢¥³¥ó¥Ñ¥¤¥é¤Î½ÐÎϤòÍÞÀ©¤·¤Þ¤¹¡£ -.TP 3 -\-verbose -¾ðÊó¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤êÆÃÄê¤Î¥¨¥é¡¼È¯À¸»þ¤Ë¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤òɽ¼¨¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¶Ë¤á¤Æ¾éĹ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-help -¥³¥ó¥Ñ¥¤¥é¥¹¥¤¥Ã¥Á¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-version -¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -<schema file/URL/dir> -¥³¥ó¥Ñ¥¤¥ëÂоݤȤʤë 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤¿¾ì¹ç¡¢xjc ¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÁöºº¤·¡¢¤½¤³¤Ç¸«¤Ä¤«¤Ã¤¿¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Èóɸ½à¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ .RE - -.LP -.SS -Èóɸ½à¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-Xlocator -À¸À®¤µ¤ì¤¿¥³¡¼¥É¤Ç¤Ï¡¢ÈóÀ°Î󲽤Τ¢¤È¤Ë Java Bean ¥¤¥ó¥¹¥¿¥ó¥¹¤Ë´Þ¤Þ¤ì¤ë¥½¡¼¥¹ XML ¤Ë´Ø¤¹¤ë SAX Locator ¾ðÊ󤬸ø³«¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-Xsync\-methods -À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¥·¥°¥Ë¥Á¥ã¡¼¤Ë \f2Ʊ´ü¤µ¤ì¤¿\fP ¥­¡¼¥ï¡¼¥É¤¬´Þ¤á¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-mark\-generated -À¸À®¤µ¤ì¤¿¥³¡¼¥É¤ËÃí¼á \f2@javax.annotation.Generated\fP ¤òÉÕ¤±¤Þ¤¹¡£ -.TP 3 -\-episode <file> -¥³¥ó¥Ñ¥¤¥ë¤´¤È¤Ë»ØÄꤵ¤ì¤¿¥¨¥Ô¥½¡¼¥É¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Èó¿ä¾©¤Çºï½ü¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ .RE - -.LP -.SS -Èó¿ä¾©¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ª¤è¤Óºï½ü¤µ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-host & \-port -¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤È¤Ê¤ê¡¢\f3\-httpproxy\fP ¥ª¥×¥·¥ç¥ó¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ëÌÜŪ¤Ç°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤¬¡¢¥É¥­¥å¥á¥ó¥È¤Ë¤Ïµ­ºÜ¤µ¤ì¤º¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-use\-runtime -JAXB 2.0 »ÅÍͤǰܿ¢À­¤Î¤¢¤ë¥é¥ó¥¿¥¤¥à¤¬µ¬Äꤵ¤ì¤¿¤¿¤á¡¢JAXB RI ¤¬ **/impl/runtime ¥Ñ¥Ã¥±¡¼¥¸¤òÀ¸À®¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÏÉÔÍפȤʤꡢºï½ü¤µ¤ì¤Þ¤·¤¿¡£ -.TP 3 -\-source -\-source ¸ß´¹À­¥¹¥¤¥Ã¥Á¤Ï¡¢JAXB 2.0 ¤ÎºÇ½é¤Î Early Access ÈÇ¤ÇÆ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î¥¹¥¤¥Ã¥Á¤Ï¡¢JAXB 2.0 ¤Îº£¸å¤Î¥ê¥ê¡¼¥¹¤«¤éºï½ü¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£1.0.x ¥³¡¼¥É¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢1.0.x ¥³¡¼¥É¥Ù¡¼¥¹¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-nv +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¡¦¥¹¥­¡¼¥Þ¤ò½èÍý¤¹¤ëÁ°¤Ë¸·Ì©¤Ê¸¡¾Ú¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¸·Ì©¤Ê¥¹¥­¡¼¥Þ¸¡¾Ú¤«Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤¬¸¡¾Ú¤ò°ìÀڼ¹Ԥ·¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤ê¸·Ì©¤Ç¤Ê¤¤¸¡¾Ú¤ò¼Â¹Ô¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ .RE - -.LP -.SS -¥³¥ó¥Ñ¥¤¥é¤ÎÀ©¸Â -.LP -.LP -Ä̾ï¤Ï¡¢´ØÏ¢¤¹¤ë¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¤ò¡¢Æ±¤¸¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Æ 1 ¤Ä¤Îñ°Ì¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤¬¤â¤Ã¤È¤â°ÂÁ´¤Ç¤¹¡£ -.LP -.LP -xjc ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢¼¡¤Ë¼¨¤¹À©¸Â¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÎÀ©¸Â¤Î¤Û¤È¤ó¤É¤Ï¡¢xjc ¤ò²¿ÅÙ¤«¸Æ¤Ó½Ð¤·¤ÆÊ£¿ô¤Î¥¹¥­¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -Ê£¿ô¤Î¥¹¥­¡¼¥Þ¤òƱ»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤Î Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¼¡¤ÎÍ¥Àè½ç°Ì¤Îµ¬Â§¤¬Å¬ÍѤµ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 3 -1. -¡Ö\f2\-p\fP¡×¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤â¤Ã¤È¤âÍ¥À褵¤ì¤Þ¤¹¡£ -.TP 3 -2. -<\f2jaxb:package\fP> ¤Î¥«¥¹¥¿¥Þ¥¤¥º -.TP 3 -3. -\f2targetNamespace\fP ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ \f2»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë targetNamespace\fP \-> Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥¢¥ë¥´¥ê¥º¥à¤òŬÍѤ·¤Þ¤¹¡£ -.TP 3 -4. -\f2targetNamespace\fP ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¡Ögenerated¡×¤È¤¤¤¦Ì¾Á°¤Î¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +\-extension +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ï¡¢JAXB»ÅÍͤÎCompatibility¤Î¾Ï¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ë¡¼¥ë¤ò¸·Ì©¤Ë¶¯À©¤·¤Þ¤¹¡£ÉÕÏ¿E\&.2¤Ë¤Ï¡¢JAXB v1\&.0¤Ç´°Á´¤Ë¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤°ìÏ¢¤ÎW3C XML¥¹¥­¡¼¥Þµ¡Ç½¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÇÍ­¸ú¤Ë¤Ê¤ë\fI\-extension\fR¥â¡¼¥É¤Ç¤½¤ì¤é¤Îµ¡Ç½¤¬»ÈÍѤǤ­¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸·Ì©¤Ê¥â¡¼¥É¤Ç¤Ï¡¢»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥«¥¹¥¿¥Þ¥¤¥º¤Î¤ß¤¬»ÈÍѤǤ­¤Þ¤¹¡£\fI\-extension\fR¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ì¤Ð¡¢JAXB Vendor Extension¤ò»ÈÍѤǤ­¤Þ¤¹¡£ .RE -.TP 2 -o -̾Á°¶õ´Ö¤´¤È¤ËÊ£¿ô¤Î <\f2jaxb:schemaBindings\fP> ¤ò»ý¤Ä¤³¤È¤ÏÉÔÀµ¤Ç¤¹¡£¤³¤Î¤¿¤á¡¢1 ¤Ä¤Î¥¿¡¼¥²¥Ã¥È̾Á°¶õ´ÖÆâ¤Î 2 ¤Ä¤Î¥¹¥­¡¼¥Þ¤ò°Û¤Ê¤ë Java ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.TP 2 -o -1 ¤Ä¤Î Java ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ËƱ»þ¤ËÁ÷¿®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¸ÄÊ̤˥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤º¡¢Í½´ü¤·¤¿¤È¤ª¤ê¤Ëưºî¤·¤Þ¤»¤ó¡£ -.TP 2 -o -Ê£¿ô¤Î¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤¬¤ëÍ×ÁÇÃÖ´¹¥°¥ë¡¼¥×¤Ï¡¢Æ±»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\-b \fIfile\fR +.RS 4 +½èÍý¤¹¤ë³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò1¤Ä¤Þ¤¿¤ÏÊ£¿ô»ØÄꤷ¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤´¤È¤Ë\fI\-b\fR¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Î¹½Ê¸¤Ï½ÀÆð¤Ç¤¹¡£Ê£¿ô¤Î¥¹¥­¡¼¥Þ¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬´Þ¤Þ¤ì¤ë1¤Ä¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤¿¤ê¡¢¤½¤ì¤é¤Î¥«¥¹¥¿¥Þ¥¤¥º¤òÊ£¿ô¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fIxjc schema1\&.xsd schema2\&.xsd schema3\&.xsd \-b bindings123\&.xjb\fR +\fIxjc schema1\&.xsd schema2\&.xsd schema3\&.xsd \-b bindings1\&.xjb \-b bindings2\&.xjb \-b bindings3\&.xjb\fR¤Þ¤¿¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë½çÈÖ¤ÏǤ°Õ¤Ç¤¹¡£ .RE - -.LP +.PP +\-d \fIdir\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Java¥³¥ó¥Æ¥ó¥Ä¡¦¥¯¥é¥¹¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ÂåÂØ½ÐÎϥǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£½ÐÎϥǥ£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ç¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-p \fIpkg\fR +.RS 4 +¤³¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Ç¥¿¡¼¥²¥Ã¥È¡¦¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍÆ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£ +.RE +.PP +\-httpproxy \fIproxy\fR +.RS 4 +\fI[user[:password]@]proxyHost[:proxyPort]\fR·Á¼°¤ÇHTTP¤Þ¤¿¤ÏHTTPS¥×¥í¥­¥·¤ò»ØÄꤷ¤Þ¤¹¡£¸Å¤¤\fI\-host\fR¤ª¤è¤Ó\fI\-port\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢²¼°Ì¸ß´¹À­¤Î¤¿¤á¤Ë°ú¤­Â³¤­RI¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤¬¡¢Èó¿ä¾©¤È¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢top¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¾¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤Ç¤­¤ë°ú¿ô¤Ç¤¹¡£¥»¥­¥å¥ê¥Æ¥£¤ò¹â¤á¤ë¤Ë¤Ï¡¢\fI\-httpproxyfile\fR¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-httpproxyfile file +.RS 4 +¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢HTTP¤Þ¤¿¤ÏHTTPS¥×¥í¥­¥·¤ò»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï\fI\-httpproxy\fR¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¾¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +\-classpath arg +.RS 4 +\fIjxb:javaType\fR¤ª¤è¤Óxjc:\fIsuperClass\fR¥«¥¹¥¿¥Þ¥¤¥º¤¬»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-catalog file +.RS 4 +³°Éô¥¨¥ó¥Æ¥£¥Æ¥£»²¾È¤ò²ò·è¤¹¤ë¥«¥¿¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¤ª¤è¤ÓOASIS XML Catalog¤Î³Æ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£http://xerces\&.apache\&.org/xml\-commons/components/resolver/resolver\-article\&.html¤Î +XML Entity and URI Resolvers¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-readOnly +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ï¡¢À¸À®¤¹¤ëJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò½ñ¹þ¤ß¤«¤éÊݸ¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤ÏÀ¸À®¤µ¤ì¤ëJava¥½¡¼¥¹¤ò¶¯À©Åª¤ËÆÉ¼è¤êÀìÍѤˤ·¤Þ¤¹¡£ +.RE +.PP +\-npa +.RS 4 +\fI**/package\-info\&.java\fR¤Ø¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ì¥Ù¥ë¤ÎÃí¼á¤ÎÀ¸À®¤òÍÞÀ©¤·¤Þ¤¹¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤ÆÀ¸À®¤¹¤ë¥³¡¼¥É¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÃí¼á¤¬Â¾¤ÎÀ¸À®ºÑ¥¯¥é¥¹¤ËÆâÉô²½¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-no\-header +.RS 4 +¿¾¯¤Î¥á¥â¤È¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à¥Õ¥¡¥¤¥ë¡¦¥Ø¥Ã¥À¡¼¡¦¥³¥á¥ó¥È¤ÎÀ¸À®¤òÍÞÀ©¤·¤Þ¤¹¡£¤³¤ì¤ò»ÈÍѤ¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤È\fIdiff\fR¥³¥Þ¥ó¥É¤È¤Î¸ß´¹À­¤¬¤è¤ê¶¯¤¯¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-target 2\&.0 +.RS 4 +JAXB 2\&.1µ¡Ç½¤Ë°Í¸¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤òJAXB 2\&.0¥é¥ó¥¿¥¤¥à´Ä¶­(Java SE 6¤Ê¤É)¤Ç¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-xmlschema +.RS 4 +ÆþÎÏ¥¹¥­¡¼¥Þ¤òW3C XML¥¹¥­¡¼¥Þ¤È¤·¤Æ°·¤¤¤Þ¤¹(¥Ç¥Õ¥©¥ë¥È)¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢ÆþÎÏ¥¹¥­¡¼¥Þ¤ÏW3C XML¥¹¥­¡¼¥Þ¤ÈƱ¤¸¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +\-relaxing +.RS 4 +ÆþÎÏ¥¹¥­¡¼¥Þ¤òRELAX NG¤È¤·¤Æ°·¤¤¤Þ¤¹(»î¸³Åª¤ª¤è¤Ó̤¥µ¥Ý¡¼¥È)¡£RELAX NG¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤ÏJAXB Vendor Extension¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-relaxing\-compact +.RS 4 +ÆþÎÏ¥¹¥­¡¼¥Þ¤òRELAX NG°µ½Ì¹½Ê¸¤È¤·¤Æ½èÍý¤·¤Þ¤¹(»î¸³Åª¤ª¤è¤Ó̤¥µ¥Ý¡¼¥È)¡£RELAX NG¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤ÏJAXB Vendor Extension¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-dtd +.RS 4 +ÆþÎÏ¥¹¥­¡¼¥Þ¤òXML DTD¤È¤·¤Æ°·¤¤¤Þ¤¹(»î¸³Åª¤ª¤è¤Ó̤¥µ¥Ý¡¼¥È)¡£RELAX NG¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤ÏJAXB Vendor Extension¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-wsdl +.RS 4 +ÆþÎϤòWSDL¤È¤·¤Æ°·¤¤¡¢¤½¤ÎÆâÉô¤Î¥¹¥­¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹(»î¸³Åª¤ª¤è¤Ó̤¥µ¥Ý¡¼¥È)¡£ +.RE +.PP +\-quiet +.RS 4 +¿ÊĽ¾ðÊó¤ä·Ù¹ð¤Ê¤É¡¢¥³¥ó¥Ñ¥¤¥é¤Î½ÐÎϤòÍÞÀ©¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose +.RS 4 +¾ðÊó¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤êÆÃÄê¤Î¥¨¥é¡¼È¯À¸»þ¤Ë¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤òɽ¼¨¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¤­¤ï¤á¤Æ¾éĹ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥³¥ó¥Ñ¥¤¥é¡¦¥¹¥¤¥Ã¥Á¤Î¥µ¥Þ¥ê¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\fIschema file/URL/dir\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ëÂоݤȤʤë1¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¡¢\fIxjc\fR¥³¥Þ¥ó¥É¤Ï¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤ò¥¹¥­¥ã¥ó¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.RE +.SS "Èóɸ½à¥ª¥×¥·¥ç¥ó" +.PP +\-XLocator +.RS 4 +À¸À®¤µ¤ì¤¿¥³¡¼¥É¤Ç¤Ï¡¢ÈóÀ°Î󲽤θå¤ËJava Bean¥¤¥ó¥¹¥¿¥ó¥¹¤Ë´Þ¤Þ¤ì¤ë¥½¡¼¥¹XML¤Ë´Ø¤¹¤ëSAX Locator¾ðÊ󤬸ø³«¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xsync\-methods +.RS 4 +À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¡¦¥·¥°¥Ë¥Á¥ã¤Ë\fIsynchronized\fR¥­¡¼¥ï¡¼¥É¤¬´Þ¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-mark\-generated +.RS 4 +À¸À®¤µ¤ì¤¿¥³¡¼¥É¤ËÃí¼á\fI@javax\&.annotation\&.Generated\fR¤òÉÕ¤±¤Þ¤¹¡£ +.RE +.PP +\-episode file +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤´¤È¤Ë»ØÄꤵ¤ì¤¿¥¨¥Ô¥½¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.SS "Èó¿ä¾©¤Çºï½ü¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó" +.PP +\-host & \-port +.RS 4 +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-httpproxy\fR¥ª¥×¥·¥ç¥ó¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ë¤¿¤á¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤¬¡¢¥É¥­¥å¥á¥ó¥È¤Ë¤Ïµ­ºÜ¤µ¤ì¤º¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-use\-runtime +.RS 4 +JAXB 2\&.0»ÅÍͤǤϡ¢°Ü¿¢À­¤Î¤¢¤ë¥é¥ó¥¿¥¤¥à´Ä¶­¤¬ÄêµÁ¤µ¤ì¤¿¤¿¤á¡¢JAXB RI¤¬\fI**/impl/runtime \fR¥Ñ¥Ã¥±¡¼¥¸¤òÀ¸À®¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÏÉÔÍפȤʤꡢºï½ü¤µ¤ì¤Þ¤·¤¿¡£ +.RE +.PP +\-source +.RS 4 +\fI\-source\fR¸ß´¹À­¥¹¥¤¥Ã¥Á¤Ï¡¢JAXB 2\&.0¤ÎºÇ½é¤ÎEarly AccessÈÇ¤ÇÆ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ÏJAXB 2\&.0¤Îº£¸å¤Î¥ê¥ê¡¼¥¹¤«¤éºï½ü¤µ¤ì¤Þ¤¹¡£1\&.0\&.x¥³¡¼¥É¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢1\&.0\&.x¥³¡¼¥É¡¦¥Ù¡¼¥¹¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥³¥ó¥Ñ¥¤¥é¤ÎÀ©¸Â" +.PP +Ä̾ï¤Ï¡¢´ØÏ¢¤¹¤ë¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¤ò¡¢Æ±¤¸¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¡¦¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Æ1¤Ä¤Îñ°Ì¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤¬ºÇ¤â°ÂÁ´¤Ç¤¹¡£\fIxjc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë¤Ï¡¢¼¡¤ÎÀ©¸Â¥ê¥¹¥È¤Ëα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÎÌäÂê¤Î¤Û¤È¤ó¤É¤Ï¡¢\fIxjc\fR¥³¥Þ¥ó¥É¤ò²¿ÅÙ¤«¸Æ¤Ó½Ð¤·¤ÆÊ£¿ô¤Î¥¹¥­¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ë¤Î¤ßÅö¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£ +.PP +Ê£¿ô¤Î¥¹¥­¡¼¥Þ¤òƱ»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤ÎJava¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¼¡¤ÎÍ¥Àè½ç°Ì¤Î¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +\fI\-p\fR¥ª¥×¥·¥ç¥ó¤¬ºÇ¤âÍ¥À褵¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +\fIjaxb:package\fR¤Î¥«¥¹¥¿¥Þ¥¤¥º¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +\fItargetNamespace\fR¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fIt\fR\fIargetNamespace\fR¤ò»ÅÍͤÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëJava¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥¢¥ë¥´¥ê¥º¥à¤ËŬÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +\fItargetNamespace\fR¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIgenerated\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +1¤Ä¤Î¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤¬Ê£¿ô¤Î\fIjaxb:schemaBindings\fR¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¿¤á¡¢°Û¤Ê¤ëJava¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥é¤µ¤ì¤ëƱ°ì¥¿¡¼¥²¥Ã¥È¡¦¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤¬2¤Ä¤Î¥¹¥­¡¼¥Þ¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.PP +Ʊ¤¸Java¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥é¤µ¤ì¤ë¥¹¥­¡¼¥Þ¤Ï¤¹¤Ù¤Æ¡¢Æ±»þ¤ËXJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤ËÁ÷¿®¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ÊÌ¡¹¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢Í½Áۤɤª¤ê¤Ëµ¡Ç½¤·¤Þ¤»¤ó¡£ +.PP +Ê£¿ô¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤¬¤ëÍ×ÁÇÃÖ´¹¥°¥ë¡¼¥×¤Ï¡¢Æ±»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -¥³¥Þ¥ó¥É¹Ô¤Ç¤Î¥³¥ó¥Ð¡¼¥¿¤Î¼Â¹Ô (XJC): [ -.na -\f2¥³¥Þ¥ó¥É¹Ô¤ÎÌ¿Îá\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html¡¢ -.na -\f2xjc ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html] -.TP 2 -o -.na -\f2XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ (JAXB)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jaxb\&.java\&.net/nonav/2\&.2\&.3u1/docs/xjc\&.html¤Î +Binding Compiler (xjc) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://www\&.oracle\&.com/technetwork/articles/javase/index\-140168\&.html¤Î +Java Architecture for XML Binding (JAXB) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/share/back/eventFilter.c b/jdk/src/share/back/eventFilter.c index bbb344594bc..d3eeb4d077c 100644 --- a/jdk/src/share/back/eventFilter.c +++ b/jdk/src/share/back/eventFilter.c @@ -288,7 +288,7 @@ static jboolean isVersionGte12x() { >> JVMTI_VERSION_SHIFT_MAJOR; minor = (version & JVMTI_VERSION_MASK_MINOR) >> JVMTI_VERSION_SHIFT_MINOR; - return (major > 1 || major == 1 && minor >= 2); + return (major > 1 || (major == 1 && minor >= 2)) ? JNI_TRUE : JNI_FALSE; } else { return JNI_FALSE; } diff --git a/jdk/src/share/classes/com/sun/java/browser/dom/DOMService.java b/jdk/src/share/classes/com/sun/java/browser/dom/DOMService.java index b30d618cd75..9a418cf5edc 100644 --- a/jdk/src/share/classes/com/sun/java/browser/dom/DOMService.java +++ b/jdk/src/share/classes/com/sun/java/browser/dom/DOMService.java @@ -25,6 +25,9 @@ package com.sun.java.browser.dom; +import java.security.AccessController; +import java.security.PrivilegedAction; + public abstract class DOMService { /** @@ -43,8 +46,9 @@ public abstract class DOMService { try { - String provider = java.security.AccessController.doPrivileged( - new sun.security.action.GetPropertyAction("com.sun.java.browser.dom.DOMServiceProvider")); + String provider = AccessController.doPrivileged( + (PrivilegedAction<String>) () -> + System.getProperty("com.sun.java.browser.dom.DOMServiceProvider")); Class clazz = Class.forName("sun.plugin.dom.DOMService"); diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java index 89d325d695c..076b49cec63 100644 --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java @@ -55,6 +55,9 @@ import java.lang.reflect.InvocationTargetException; import java.security.AccessController; import javax.management.AttributeNotFoundException; import javax.management.openmbean.CompositeData; + +import sun.misc.JavaBeansIntrospectorAccess; +import sun.misc.SharedSecrets; import sun.reflect.misc.MethodUtil; import sun.reflect.misc.ReflectUtil; @@ -549,16 +552,9 @@ public class Introspector { // Java Beans introspection // Class<?> clazz = complex.getClass(); - Method readMethod = null; - if (BeansHelper.isAvailable()) { - Object bi = BeansHelper.getBeanInfo(clazz); - Object[] pds = BeansHelper.getPropertyDescriptors(bi); - for (Object pd: pds) { - if (BeansHelper.getPropertyName(pd).equals(element)) { - readMethod = BeansHelper.getReadMethod(pd); - break; - } - } + Method readMethod; + if (BeansIntrospector.isAvailable()) { + readMethod = BeansIntrospector.getReadMethod(clazz, element); } else { // Java Beans not available so use simple introspection // to locate method @@ -583,6 +579,30 @@ public class Introspector { } } + /** + * Provides access to java.beans.Introspector if available. + */ + private static class BeansIntrospector { + private static final JavaBeansIntrospectorAccess JBIA; + static { + // ensure that java.beans.Introspector is initialized (if present) + try { + Class.forName("java.beans.Introspector", true, + BeansIntrospector.class.getClassLoader()); + } catch (ClassNotFoundException ignore) { } + + JBIA = SharedSecrets.getJavaBeansIntrospectorAccess(); + } + + static boolean isAvailable() { + return JBIA != null; + } + + static Method getReadMethod(Class<?> clazz, String property) throws Exception { + return JBIA.getReadMethod(clazz, property); + } + } + /** * A simple introspector that uses reflection to analyze a class and * identify its "getter" methods. This class is intended for use only when @@ -696,121 +716,4 @@ public class Introspector { return null; } } - - /** - * A class that provides access to the JavaBeans Introspector and - * PropertyDescriptors without creating a static dependency on java.beans. - */ - private static class BeansHelper { - private static final Class<?> introspectorClass = - getClass("java.beans.Introspector"); - private static final Class<?> beanInfoClass = - (introspectorClass == null) ? null : getClass("java.beans.BeanInfo"); - private static final Class<?> getPropertyDescriptorClass = - (beanInfoClass == null) ? null : getClass("java.beans.PropertyDescriptor"); - - private static final Method getBeanInfo = - getMethod(introspectorClass, "getBeanInfo", Class.class); - private static final Method getPropertyDescriptors = - getMethod(beanInfoClass, "getPropertyDescriptors"); - private static final Method getPropertyName = - getMethod(getPropertyDescriptorClass, "getName"); - private static final Method getReadMethod = - getMethod(getPropertyDescriptorClass, "getReadMethod"); - - private static Class<?> getClass(String name) { - try { - return Class.forName(name, true, null); - } catch (ClassNotFoundException e) { - return null; - } - } - private static Method getMethod(Class<?> clazz, - String name, - Class<?>... paramTypes) - { - if (clazz != null) { - try { - return clazz.getMethod(name, paramTypes); - } catch (NoSuchMethodException e) { - throw new AssertionError(e); - } - } else { - return null; - } - } - - private BeansHelper() { } - - /** - * Returns {@code true} if java.beans is available. - */ - static boolean isAvailable() { - return introspectorClass != null; - } - - /** - * Invokes java.beans.Introspector.getBeanInfo(Class) - */ - static Object getBeanInfo(Class<?> clazz) throws Exception { - try { - return getBeanInfo.invoke(null, clazz); - } catch (InvocationTargetException e) { - Throwable cause = e.getCause(); - if (cause instanceof Exception) - throw (Exception)cause; - throw new AssertionError(e); - } catch (IllegalAccessException iae) { - throw new AssertionError(iae); - } - } - - /** - * Invokes java.beans.BeanInfo.getPropertyDescriptors() - */ - static Object[] getPropertyDescriptors(Object bi) { - try { - return (Object[])getPropertyDescriptors.invoke(bi); - } catch (InvocationTargetException e) { - Throwable cause = e.getCause(); - if (cause instanceof RuntimeException) - throw (RuntimeException)cause; - throw new AssertionError(e); - } catch (IllegalAccessException iae) { - throw new AssertionError(iae); - } - } - - /** - * Invokes java.beans.PropertyDescriptor.getName() - */ - static String getPropertyName(Object pd) { - try { - return (String)getPropertyName.invoke(pd); - } catch (InvocationTargetException e) { - Throwable cause = e.getCause(); - if (cause instanceof RuntimeException) - throw (RuntimeException)cause; - throw new AssertionError(e); - } catch (IllegalAccessException iae) { - throw new AssertionError(iae); - } - } - - /** - * Invokes java.beans.PropertyDescriptor.getReadMethod() - */ - static Method getReadMethod(Object pd) { - try { - return (Method)getReadMethod.invoke(pd); - } catch (InvocationTargetException e) { - Throwable cause = e.getCause(); - if (cause instanceof RuntimeException) - throw (RuntimeException)cause; - throw new AssertionError(e); - } catch (IllegalAccessException iae) { - throw new AssertionError(iae); - } - } - } } diff --git a/jdk/src/share/classes/java/awt/datatransfer/FlavorListener.java b/jdk/src/share/classes/java/awt/datatransfer/FlavorListener.java index 280d96f9b35..cc048335f7a 100644 --- a/jdk/src/share/classes/java/awt/datatransfer/FlavorListener.java +++ b/jdk/src/share/classes/java/awt/datatransfer/FlavorListener.java @@ -38,7 +38,7 @@ public interface FlavorListener extends EventListener { * Invoked when the target {@link Clipboard} of the listener * has changed its available {@link DataFlavor}s. * <p> - * Some notifications may be redundant — they are not + * Some notifications may be redundant — they are not * caused by a change of the set of DataFlavors available * on the clipboard. * For example, if the clipboard subsystem supposes that diff --git a/jdk/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java b/jdk/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java index 4fd4c8163cd..1b8390eccf2 100644 --- a/jdk/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java +++ b/jdk/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java @@ -54,7 +54,6 @@ import sun.awt.datatransfer.DataTransferer; * which correspond to platform-independent MIME types. This mapping is used * by the data transfer subsystem to transfer data between Java and native * applications, and between Java applications in separate VMs. - * <p> * * @since 1.2 */ diff --git a/jdk/src/share/classes/java/awt/dnd/Autoscroll.java b/jdk/src/share/classes/java/awt/dnd/Autoscroll.java index 203826e0337..0e3f0fb459a 100644 --- a/jdk/src/share/classes/java/awt/dnd/Autoscroll.java +++ b/jdk/src/share/classes/java/awt/dnd/Autoscroll.java @@ -62,7 +62,7 @@ public interface Autoscroll { * This value is read once by the <code>DropTarget</code> * upon entry of the drag <code>Cursor</code> * into the associated <code>Component</code>. - * <P> + * * @return the Insets */ @@ -70,7 +70,7 @@ public interface Autoscroll { /** * notify the <code>Component</code> to autoscroll - * <P> + * * @param cursorLocn A <code>Point</code> indicating the * location of the cursor that triggered this operation. */ diff --git a/jdk/src/share/classes/java/awt/dnd/DragGestureEvent.java b/jdk/src/share/classes/java/awt/dnd/DragGestureEvent.java index 3c9eadd6e56..e8827f44358 100644 --- a/jdk/src/share/classes/java/awt/dnd/DragGestureEvent.java +++ b/jdk/src/share/classes/java/awt/dnd/DragGestureEvent.java @@ -82,14 +82,14 @@ public class DragGestureEvent extends EventObject { * the user's preferred action, an {@code ori} parameter * indicating the origin of the drag, and a {@code List} of * events that comprise the gesture({@code evs} parameter). - * <P> + * * @param dgr The <code>DragGestureRecognizer</code> firing this event * @param act The user's preferred action. * For information on allowable values, see * the class description for {@link DragGestureEvent} * @param ori The origin of the drag * @param evs The <code>List</code> of events that comprise the gesture - * <P> + * * @throws IllegalArgumentException if any parameter equals {@code null} * @throws IllegalArgumentException if the act parameter does not comply with * the values given in the class @@ -124,7 +124,7 @@ public class DragGestureEvent extends EventObject { /** * Returns the source as a <code>DragGestureRecognizer</code>. - * <P> + * * @return the source as a <code>DragGestureRecognizer</code> */ @@ -135,7 +135,7 @@ public class DragGestureEvent extends EventObject { /** * Returns the <code>Component</code> associated * with this <code>DragGestureEvent</code>. - * <P> + * * @return the Component */ @@ -143,7 +143,7 @@ public class DragGestureEvent extends EventObject { /** * Returns the <code>DragSource</code>. - * <P> + * * @return the <code>DragSource</code> */ @@ -152,7 +152,7 @@ public class DragGestureEvent extends EventObject { /** * Returns a <code>Point</code> in the coordinates * of the <code>Component</code> over which the drag originated. - * <P> + * * @return the Point where the drag originated in Component coords. */ @@ -163,7 +163,7 @@ public class DragGestureEvent extends EventObject { /** * Returns an <code>Iterator</code> for the events * comprising the gesture. - * <P> + * * @return an Iterator for the events comprising the gesture */ @SuppressWarnings("unchecked") @@ -172,7 +172,7 @@ public class DragGestureEvent extends EventObject { /** * Returns an <code>Object</code> array of the * events comprising the drag gesture. - * <P> + * * @return an array of the events comprising the gesture */ @@ -180,9 +180,9 @@ public class DragGestureEvent extends EventObject { /** * Returns an array of the events comprising the drag gesture. - * <P> + * * @param array the array of <code>EventObject</code> sub(types) - * <P> + * * @return an array of the events comprising the gesture */ @SuppressWarnings("unchecked") @@ -191,7 +191,7 @@ public class DragGestureEvent extends EventObject { /** * Returns an <code>int</code> representing the * action selected by the user. - * <P> + * * @return the action selected by the user */ @@ -199,7 +199,7 @@ public class DragGestureEvent extends EventObject { /** * Returns the initial event that triggered the gesture. - * <P> + * * @return the first "triggering" event in the sequence of the gesture */ @@ -242,7 +242,7 @@ public class DragGestureEvent extends EventObject { * Starts the drag given the initial <code>Cursor</code> to display, * the <code>Transferable</code> object, * and the <code>DragSourceListener</code> to use. - * <P> + * * @param dragCursor The initial {@code Cursor} for this drag operation * or {@code null} for the default cursor handling; * see @@ -251,7 +251,7 @@ public class DragGestureEvent extends EventObject { * during drag and drop * @param transferable The source's Transferable * @param dsl The source's DragSourceListener - * <P> + * * @throws InvalidDnDOperationException if * the Drag and Drop system is unable to * initiate a drag operation, or if the user @@ -269,7 +269,7 @@ public class DragGestureEvent extends EventObject { * the <code>Image</code>, * the <code>Transferable</code> object, and * the <code>DragSourceListener</code> to use. - * <P> + * * @param dragCursor The initial {@code Cursor} for this drag operation * or {@code null} for the default cursor handling; * see @@ -280,7 +280,7 @@ public class DragGestureEvent extends EventObject { * @param imageOffset The dragImage's offset * @param transferable The source's Transferable * @param dsl The source's DragSourceListener - * <P> + * * @throws InvalidDnDOperationException if * the Drag and Drop system is unable to * initiate a drag operation, or if the user diff --git a/jdk/src/share/classes/java/awt/dnd/DragGestureListener.java b/jdk/src/share/classes/java/awt/dnd/DragGestureListener.java index 5adb328b6e3..f3e600e6cd4 100644 --- a/jdk/src/share/classes/java/awt/dnd/DragGestureListener.java +++ b/jdk/src/share/classes/java/awt/dnd/DragGestureListener.java @@ -53,7 +53,7 @@ import java.util.EventListener; * drag initiating gesture. To initiate the drag and drop operation, * if appropriate, {@link DragGestureEvent#startDrag startDrag()} method on * the {@code DragGestureEvent} has to be invoked. - * <P> + * * @see java.awt.dnd.DragGestureRecognizer * @see java.awt.dnd.DragGestureEvent * @param dge the <code>DragGestureEvent</code> describing diff --git a/jdk/src/share/classes/java/awt/dnd/DragGestureRecognizer.java b/jdk/src/share/classes/java/awt/dnd/DragGestureRecognizer.java index 18f2e2a813d..b3dbeb5f477 100644 --- a/jdk/src/share/classes/java/awt/dnd/DragGestureRecognizer.java +++ b/jdk/src/share/classes/java/awt/dnd/DragGestureRecognizer.java @@ -76,7 +76,7 @@ import java.io.Serializable; * for causing the associated * <code>DragSource</code> to start the Drag and Drop operation (if * appropriate). - * <P> + * * @author Laurence P. G. Cable * @see java.awt.dnd.DragGestureListener * @see java.awt.dnd.DragGestureEvent @@ -96,7 +96,7 @@ public abstract class DragGestureRecognizer implements Serializable { * for this Drag and Drop operation, and the * <code>DragGestureListener</code> to notify * once a drag initiating gesture has been detected. - * <P> + * * @param ds the <code>DragSource</code> this * <code>DragGestureRecognizer</code> * will use to process the Drag and Drop operation @@ -115,7 +115,7 @@ public abstract class DragGestureRecognizer implements Serializable { * * @param dgl the <code>DragGestureRecognizer</code> * to notify when a drag gesture is detected - * <P> + * * @throws IllegalArgumentException * if ds is <code>null</code>. */ @@ -144,7 +144,7 @@ public abstract class DragGestureRecognizer implements Serializable { * <code>DragGestureRecognizer</code> should "observe" * for drag initiating gestures, and the action(s) * supported for this Drag and Drop operation. - * <P> + * * @param ds the <code>DragSource</code> this * <code>DragGestureRecognizer</code> will use to * process the Drag and Drop operation @@ -158,7 +158,7 @@ public abstract class DragGestureRecognizer implements Serializable { * * @param sa the set (logical OR) of the <code>DnDConstants</code> * that this Drag and Drop operation will support - * <P> + * * @throws IllegalArgumentException * if ds is <code>null</code>. */ @@ -174,7 +174,7 @@ public abstract class DragGestureRecognizer implements Serializable { * the <code>Component</code> this * <code>DragGestureRecognizer</code> * should "observe" for drag initiating gestures. - * <P> + * * @param ds the <code>DragSource</code> this * <code>DragGestureRecognizer</code> * will use to process the Drag and Drop operation @@ -186,7 +186,7 @@ public abstract class DragGestureRecognizer implements Serializable { * If this value is <code>null</code>, * the <code>DragGestureRecognizer</code> * is not associated with any <code>Component</code>. - * <P> + * * @throws IllegalArgumentException * if ds is <code>null</code>. */ @@ -199,11 +199,11 @@ public abstract class DragGestureRecognizer implements Serializable { * Construct a new <code>DragGestureRecognizer</code> * given the <code>DragSource</code> to be used in this * Drag and Drop operation. - * <P> + * * @param ds the <code>DragSource</code> this * <code>DragGestureRecognizer</code> will * use to process the Drag and Drop operation - * <P> + * * @throws IllegalArgumentException * if ds is <code>null</code>. */ @@ -233,7 +233,7 @@ public abstract class DragGestureRecognizer implements Serializable { * this <code>DragGestureRecognizer</code> * will use in order to process the Drag and Drop * operation. - * <P> + * * @return the DragSource */ @@ -244,7 +244,7 @@ public abstract class DragGestureRecognizer implements Serializable { * that is to be "observed" by the * <code>DragGestureRecognizer</code> * for drag initiating gestures. - * <P> + * * @return The Component this DragGestureRecognizer * is associated with */ @@ -256,7 +256,7 @@ public abstract class DragGestureRecognizer implements Serializable { * * registerListeners() and unregisterListeners() are called as a side * effect as appropriate. - * <P> + * * @param c The <code>Component</code> or <code>null</code> */ @@ -274,7 +274,7 @@ public abstract class DragGestureRecognizer implements Serializable { * This method returns an int representing the * type of action(s) this Drag and Drop * operation will support. - * <P> + * * @return the currently permitted source action(s) */ @@ -283,7 +283,7 @@ public abstract class DragGestureRecognizer implements Serializable { /** * This method sets the permitted source drag action(s) * for this Drag and Drop operation. - * <P> + * * @param actions the permitted source drag action(s) */ @@ -295,7 +295,7 @@ public abstract class DragGestureRecognizer implements Serializable { * This method returns the first event in the * series of events that initiated * the Drag and Drop operation. - * <P> + * * @return the initial event that triggered the drag gesture */ @@ -310,10 +310,10 @@ public abstract class DragGestureRecognizer implements Serializable { /** * Register a new <code>DragGestureListener</code>. - * <P> + * * @param dgl the <code>DragGestureListener</code> to register * with this <code>DragGestureRecognizer</code>. - * <P> + * * @throws java.util.TooManyListenersException if a * <code>DragGestureListener</code> has already been added. */ @@ -330,10 +330,10 @@ public abstract class DragGestureRecognizer implements Serializable { /** * unregister the current DragGestureListener - * <P> + * * @param dgl the <code>DragGestureListener</code> to unregister * from this <code>DragGestureRecognizer</code> - * <P> + * * @throws IllegalArgumentException if * dgl is not (equal to) the currently registered <code>DragGestureListener</code>. */ @@ -351,7 +351,7 @@ public abstract class DragGestureRecognizer implements Serializable { /** * Notify the DragGestureListener that a Drag and Drop initiating * gesture has occurred. Then reset the state of the Recognizer. - * <P> + * * @param dragAction The action initially selected by the users gesture * @param p The point (in Component coords) where the gesture originated */ @@ -369,14 +369,14 @@ public abstract class DragGestureRecognizer implements Serializable { * Listeners registered on the Component by this Recognizer shall record * all Events that are recognized as part of the series of Events that go * to comprise a Drag and Drop initiating gesture via this API. - *<P> + * <P> * This method is used by a <code>DragGestureRecognizer</code> * implementation to add an <code>InputEvent</code> * subclass (that it believes is one in a series * of events that comprise a Drag and Drop operation) * to the array of events that this * <code>DragGestureRecognizer</code> maintains internally. - * <P> + * * @param awtie the <code>InputEvent</code> * to add to this <code>DragGestureRecognizer</code>'s * internal array of events. Note that <code>null</code> diff --git a/jdk/src/share/classes/java/awt/dnd/DragSource.java b/jdk/src/share/classes/java/awt/dnd/DragSource.java index 2b32b87da14..3236ca241f5 100644 --- a/jdk/src/share/classes/java/awt/dnd/DragSource.java +++ b/jdk/src/share/classes/java/awt/dnd/DragSource.java @@ -228,7 +228,7 @@ public class DragSource implements Serializable { * whether or not drag * <code>Image</code> support * is available on the underlying platform. - * <P> + * * @return if the Drag Image support is available on this platform */ @@ -270,7 +270,7 @@ public class DragSource implements Serializable { * the <code>Transferable</code> subject data * of the drag, the <code>DragSourceListener</code>, * and the <code>FlavorMap</code>. - * <P> + * * @param trigger the <code>DragGestureEvent</code> that initiated the drag * @param dragCursor the initial {@code Cursor} for this drag operation * or {@code null} for the default cursor handling; @@ -282,7 +282,7 @@ public class DragSource implements Serializable { * @param transferable the subject data of the drag * @param dsl the <code>DragSourceListener</code> * @param flavorMap the <code>FlavorMap</code> to use, or <code>null</code> - * <P> + * * @throws java.awt.dnd.InvalidDnDOperationException * if the Drag and Drop * system is unable to initiate a drag operation, or if the user @@ -332,7 +332,7 @@ public class DragSource implements Serializable { * the <code>Transferable</code> subject data * of the drag, the <code>DragSourceListener</code>, * and the <code>FlavorMap</code>. - * <P> + * * @param trigger the <code>DragGestureEvent</code> that * initiated the drag * @param dragCursor the initial {@code Cursor} for this drag operation @@ -342,7 +342,7 @@ public class DragSource implements Serializable { * @param transferable the subject data of the drag * @param dsl the <code>DragSourceListener</code> * @param flavorMap the <code>FlavorMap</code> to use or <code>null</code> - * <P> + * * @throws java.awt.dnd.InvalidDnDOperationException * if the Drag and Drop * system is unable to initiate a drag operation, or if the user @@ -368,7 +368,7 @@ public class DragSource implements Serializable { * at the instant of the trigger, * the subject data of the drag, and * the <code>DragSourceListener</code>. - * <P> + * * @param trigger the <code>DragGestureEvent</code> that initiated the drag * @param dragCursor the initial {@code Cursor} for this drag operation * or {@code null} for the default cursor handling; @@ -379,7 +379,7 @@ public class DragSource implements Serializable { * of the <code>Cursor</code> at the instant of the trigger * @param transferable the subject data of the drag * @param dsl the <code>DragSourceListener</code> - * <P> + * * @throws java.awt.dnd.InvalidDnDOperationException * if the Drag and Drop * system is unable to initiate a drag operation, or if the user @@ -403,15 +403,15 @@ public class DragSource implements Serializable { * use, * the <code>Transferable</code> subject data * of the drag, and the <code>DragSourceListener</code>. - * <P> - * @param trigger the <code>DragGestureEvent</code> that initiated the drag + * + * @param trigger the <code>DragGestureEvent</code> that initiated the drag * @param dragCursor the initial {@code Cursor} for this drag operation * or {@code null} for the default cursor handling; * see <a href="DragSourceContext.html#defaultCursor">DragSourceContext</a> class * for more details on the cursor handling mechanism during drag and drop * @param transferable the subject data of the drag * @param dsl the <code>DragSourceListener</code> - * <P> + * * @throws java.awt.dnd.InvalidDnDOperationException * if the Drag and Drop * system is unable to initiate a drag operation, or if the user @@ -480,7 +480,7 @@ public class DragSource implements Serializable { /** * This method returns the * <code>FlavorMap</code> for this <code>DragSource</code>. - * <P> + * * @return the <code>FlavorMap</code> for this <code>DragSource</code> */ @@ -494,13 +494,13 @@ public class DragSource implements Serializable { * sets the specified <code>Component</code> * and <code>DragGestureListener</code> on * the newly created object. - * <P> + * * @param <T> the type of {@code DragGestureRecognizer} to create * @param recognizerAbstractClass the requested abstract type * @param actions the permitted source drag actions * @param c the <code>Component</code> target * @param dgl the <code>DragGestureListener</code> to notify - * <P> + * * @return the new <code>DragGestureRecognizer</code> or <code>null</code> * if the <code>Toolkit.createDragGestureRecognizer</code> method * has no implementation available for @@ -528,11 +528,11 @@ public class DragSource implements Serializable { * * For this <code>DragSource</code> * the default is <code>MouseDragGestureRecognizer</code>. - * <P> + * * @param c the <code>Component</code> target for the recognizer * @param actions the permitted source actions * @param dgl the <code>DragGestureListener</code> to notify - * <P> + * * @return the new <code>DragGestureRecognizer</code> or <code>null</code> * if the <code>Toolkit.createDragGestureRecognizer</code> method * has no implementation available for diff --git a/jdk/src/share/classes/java/awt/dnd/DragSourceContext.java b/jdk/src/share/classes/java/awt/dnd/DragSourceContext.java index cbc4c83b148..58e43ff3d89 100644 --- a/jdk/src/share/classes/java/awt/dnd/DragSourceContext.java +++ b/jdk/src/share/classes/java/awt/dnd/DragSourceContext.java @@ -289,7 +289,7 @@ public class DragSourceContext /** * Returns the current drag <code>Cursor</code>. - * <P> + * * @return the current drag <code>Cursor</code> */ @@ -300,11 +300,11 @@ public class DragSourceContext * <code>DragSourceContext</code> if one has not already been added. * If a <code>DragSourceListener</code> already exists, * this method throws a <code>TooManyListenersException</code>. - * <P> + * * @param dsl the <code>DragSourceListener</code> to add. * Note that while <code>null</code> is not prohibited, * it is not acceptable as a parameter. - * <P> + * * @throws TooManyListenersException if * a <code>DragSourceListener</code> has already been added */ diff --git a/jdk/src/share/classes/java/awt/dnd/DragSourceDropEvent.java b/jdk/src/share/classes/java/awt/dnd/DragSourceDropEvent.java index 5cc3c8f6694..f31e3d233dc 100644 --- a/jdk/src/share/classes/java/awt/dnd/DragSourceDropEvent.java +++ b/jdk/src/share/classes/java/awt/dnd/DragSourceDropEvent.java @@ -36,7 +36,7 @@ package java.awt.dnd; * originator of the operation * to provide appropriate feedback to the end user * when the operation completes. - * <P> + * * @since 1.2 */ diff --git a/jdk/src/share/classes/java/awt/dnd/DragSourceEvent.java b/jdk/src/share/classes/java/awt/dnd/DragSourceEvent.java index 3effe4f07ad..b9f55e15170 100644 --- a/jdk/src/share/classes/java/awt/dnd/DragSourceEvent.java +++ b/jdk/src/share/classes/java/awt/dnd/DragSourceEvent.java @@ -131,7 +131,7 @@ public class DragSourceEvent extends EventObject { /** * This method returns the <code>DragSourceContext</code> that * originated the event. - * <P> + * * @return the <code>DragSourceContext</code> that originated the event */ diff --git a/jdk/src/share/classes/java/awt/dnd/DropTarget.java b/jdk/src/share/classes/java/awt/dnd/DropTarget.java index 9f5462a320b..a6939b924a7 100644 --- a/jdk/src/share/classes/java/awt/dnd/DropTarget.java +++ b/jdk/src/share/classes/java/awt/dnd/DropTarget.java @@ -234,7 +234,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * Gets the <code>Component</code> associated * with this <code>DropTarget</code>. - * <P> + * * @return the current <code>Component</code> */ @@ -244,7 +244,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * Sets the default acceptable actions for this <code>DropTarget</code> - * <P> + * * @param ops the default actions * @see java.awt.dnd.DnDConstants */ @@ -264,7 +264,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * Gets an <code>int</code> representing the * current action(s) supported by this <code>DropTarget</code>. - * <P> + * * @return the current default actions */ @@ -275,7 +275,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * Sets the DropTarget active if <code>true</code>, * inactive if <code>false</code>. - * <P> + * * @param isActive sets the <code>DropTarget</code> (in)active. */ @@ -291,7 +291,7 @@ public class DropTarget implements DropTargetListener, Serializable { * Reports whether or not * this <code>DropTarget</code> * is currently active (ready to accept drops). - * <P> + * * @return <CODE>true</CODE> if active, <CODE>false</CODE> if not */ @@ -301,9 +301,9 @@ public class DropTarget implements DropTargetListener, Serializable { /** * Adds a new <code>DropTargetListener</code> (UNICAST SOURCE). - * <P> + * * @param dtl The new <code>DropTargetListener</code> - * <P> + * * @throws TooManyListenersException if a * <code>DropTargetListener</code> is already added to this * <code>DropTarget</code>. @@ -322,7 +322,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * Removes the current <code>DropTargetListener</code> (UNICAST SOURCE). - * <P> + * * @param dtl the DropTargetListener to deregister. */ @@ -464,7 +464,7 @@ public class DropTarget implements DropTargetListener, Serializable { * If no <code>FlavorMap</code> has been set for this * <code>DropTarget</code>, it is associated with the default * <code>FlavorMap</code>. - * <P> + * * @return the FlavorMap for this DropTarget */ @@ -473,7 +473,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * Sets the <code>FlavorMap</code> associated * with this <code>DropTarget</code>. - * <P> + * * @param fm the new <code>FlavorMap</code>, or null to * associate the default FlavorMap with this DropTarget. */ @@ -494,7 +494,7 @@ public class DropTarget implements DropTargetListener, Serializable { * association of the ComponentPeer with the Component may result in * a malfunction of the DnD system. ********************************************************************** - * <P> + * * @param peer The Peer of the Component we are associated with! * */ @@ -529,7 +529,7 @@ public class DropTarget implements DropTargetListener, Serializable { * disassociation of the ComponentPeer from the Component may result in * a malfunction of the DnD system. ********************************************************************** - * <P> + * * @param peer The Peer of the Component we are being disassociated from! */ @@ -549,7 +549,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * Gets the <code>DropTargetContext</code> associated * with this <code>DropTarget</code>. - * <P> + * * @return the <code>DropTargetContext</code> associated with this <code>DropTarget</code>. */ @@ -641,7 +641,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * construct a DropTargetAutoScroller - * <P> + * * @param c the <code>Component</code> * @param p the <code>Point</code> */ @@ -710,7 +710,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * cause autoscroll to occur - * <P> + * * @param newLocn the <code>Point</code> */ @@ -734,7 +734,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * cause autoscroll to occur - * <P> + * * @param e the <code>ActionEvent</code> */ @@ -779,7 +779,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * initialize autoscrolling - * <P> + * * @param p the <code>Point</code> */ @@ -791,7 +791,7 @@ public class DropTarget implements DropTargetListener, Serializable { /** * update autoscrolling with current cursor location - * <P> + * * @param dragCursorLocn the <code>Point</code> */ diff --git a/jdk/src/share/classes/java/awt/dnd/DropTargetContext.java b/jdk/src/share/classes/java/awt/dnd/DropTargetContext.java index 5a55c844df2..43e71180c86 100644 --- a/jdk/src/share/classes/java/awt/dnd/DropTargetContext.java +++ b/jdk/src/share/classes/java/awt/dnd/DropTargetContext.java @@ -61,7 +61,7 @@ public class DropTargetContext implements Serializable { /** * Construct a <code>DropTargetContext</code> * given a specified <code>DropTarget</code>. - * <P> + * * @param dt the DropTarget to associate with */ @@ -74,7 +74,7 @@ public class DropTargetContext implements Serializable { /** * This method returns the <code>DropTarget</code> associated with this * <code>DropTargetContext</code>. - * <P> + * * @return the <code>DropTarget</code> associated with this <code>DropTargetContext</code> */ @@ -83,7 +83,7 @@ public class DropTargetContext implements Serializable { /** * This method returns the <code>Component</code> associated with * this <code>DropTargetContext</code>. - * <P> + * * @return the Component associated with this Context */ @@ -91,7 +91,7 @@ public class DropTargetContext implements Serializable { /** * Called when associated with the <code>DropTargetContextPeer</code>. - * <P> + * * @param dtcp the <code>DropTargetContextPeer</code> */ @@ -111,7 +111,7 @@ public class DropTargetContext implements Serializable { /** * This method sets the current actions acceptable to * this <code>DropTarget</code>. - * <P> + * * @param actions an <code>int</code> representing the supported action(s) */ @@ -130,7 +130,7 @@ public class DropTargetContext implements Serializable { /** * This method returns an <code>int</code> representing the * current actions this <code>DropTarget</code> will accept. - * <P> + * * @return the current actions acceptable to this <code>DropTarget</code> */ @@ -145,9 +145,9 @@ public class DropTargetContext implements Serializable { /** * This method signals that the drop is completed and * if it was successful or not. - * <P> + * * @param success true for success, false if not - * <P> + * * @throws InvalidDnDOperationException if a drop is not outstanding/extant */ @@ -160,7 +160,7 @@ public class DropTargetContext implements Serializable { /** * accept the Drag. - * <P> + * * @param dragOperation the supported action(s) */ @@ -186,7 +186,7 @@ public class DropTargetContext implements Serializable { * called to signal that the drop is acceptable * using the specified operation. * must be called during DropTargetListener.drop method invocation. - * <P> + * * @param dropOperation the supported action(s) */ @@ -212,7 +212,7 @@ public class DropTargetContext implements Serializable { /** * get the available DataFlavors of the * <code>Transferable</code> operand of this operation. - * <P> + * * @return a <code>DataFlavor[]</code> containing the * supported <code>DataFlavor</code>s of the * <code>Transferable</code> operand. @@ -227,7 +227,7 @@ public class DropTargetContext implements Serializable { * This method returns a the currently available DataFlavors * of the <code>Transferable</code> operand * as a <code>java.util.List</code>. - * <P> + * * @return the currently available * DataFlavors as a <code>java.util.List</code> */ @@ -240,9 +240,9 @@ public class DropTargetContext implements Serializable { * This method returns a <code>boolean</code> * indicating if the given <code>DataFlavor</code> is * supported by this <code>DropTargetContext</code>. - * <P> + * * @param df the <code>DataFlavor</code> - * <P> + * * @return if the <code>DataFlavor</code> specified is supported */ @@ -252,9 +252,9 @@ public class DropTargetContext implements Serializable { /** * get the Transferable (proxy) operand of this operation - * <P> + * * @throws InvalidDnDOperationException if a drag is not outstanding/extant - * <P> + * * @return the <code>Transferable</code> */ @@ -279,7 +279,7 @@ public class DropTargetContext implements Serializable { /** * Get the <code>DropTargetContextPeer</code> - * <P> + * * @return the platform peer */ @@ -322,7 +322,7 @@ public class DropTargetContext implements Serializable { * data transfer for a particular drag-n-drop operation and * a <code>boolean</code> which indicates whether the * drag-n-drop operation is local (within the same JVM). - * <p> + * * @param t the <code>Transferable</code> object * @param local <code>true</code>, if <code>t</code> represents * the result of local drag-n-drop operation @@ -336,7 +336,7 @@ public class DropTargetContext implements Serializable { /** * Returns an array of DataFlavor objects indicating the flavors * the data can be provided in by the encapsulated transferable. - * <p> + * * @return an array of data flavors in which the data can be * provided by the encapsulated transferable */ diff --git a/jdk/src/share/classes/java/awt/dnd/DropTargetDragEvent.java b/jdk/src/share/classes/java/awt/dnd/DropTargetDragEvent.java index daa5487a1ad..00639cf9043 100644 --- a/jdk/src/share/classes/java/awt/dnd/DropTargetDragEvent.java +++ b/jdk/src/share/classes/java/awt/dnd/DropTargetDragEvent.java @@ -80,7 +80,7 @@ public class DropTargetDragEvent extends DropTargetEvent { * the location of the "Drag" <code>Cursor</code>'s hotspot * in the <code>Component</code>'s coordinates, the * user drop action, and the source drop actions. - * <P> + * * @param dtc The DropTargetContext for this operation * @param cursorLocn The location of the "Drag" Cursor's * hotspot in Component coordinates @@ -118,7 +118,7 @@ public class DropTargetDragEvent extends DropTargetEvent { * indicating the <code>Cursor</code>'s current * location within the <code>Component'</code>s * coordinates. - * <P> + * * @return the current cursor location in * <code>Component</code>'s coords. */ @@ -131,7 +131,7 @@ public class DropTargetDragEvent extends DropTargetEvent { /** * This method returns the current <code>DataFlavor</code>s from the * <code>DropTargetContext</code>. - * <P> + * * @return current DataFlavors from the DropTargetContext */ @@ -142,7 +142,7 @@ public class DropTargetDragEvent extends DropTargetEvent { /** * This method returns the current <code>DataFlavor</code>s * as a <code>java.util.List</code> - * <P> + * * @return a <code>java.util.List</code> of the Current <code>DataFlavor</code>s */ @@ -153,9 +153,9 @@ public class DropTargetDragEvent extends DropTargetEvent { /** * This method returns a <code>boolean</code> indicating * if the specified <code>DataFlavor</code> is supported. - * <P> + * * @param df the <code>DataFlavor</code> to test - * <P> + * * @return if a particular DataFlavor is supported */ diff --git a/jdk/src/share/classes/java/awt/dnd/DropTargetDropEvent.java b/jdk/src/share/classes/java/awt/dnd/DropTargetDropEvent.java index e6ad6844aa8..32b16e16169 100644 --- a/jdk/src/share/classes/java/awt/dnd/DropTargetDropEvent.java +++ b/jdk/src/share/classes/java/awt/dnd/DropTargetDropEvent.java @@ -85,7 +85,7 @@ public class DropTargetDropEvent extends DropTargetEvent { * assumes that the target is not in the same virtual machine as * the source; that is, {@link #isLocalTransfer()} will * return <code>false</code>. - * <P> + * * @param dtc The <code>DropTargetContext</code> for this operation * @param cursorLocn The location of the "Drag" Cursor's * hotspot in <code>Component</code> coordinates @@ -128,7 +128,7 @@ public class DropTargetDropEvent extends DropTargetEvent { * the current set of actions supported by the source, * and a <code>boolean</code> indicating if the source is in the same JVM * as the target. - * <P> + * * @param dtc The DropTargetContext for this operation * @param cursorLocn The location of the "Drag" Cursor's * hotspot in Component's coordinates @@ -154,7 +154,7 @@ public class DropTargetDropEvent extends DropTargetEvent { * This method returns a <code>Point</code> * indicating the <code>Cursor</code>'s current * location in the <code>Component</code>'s coordinates. - * <P> + * * @return the current <code>Cursor</code> location in Component's coords. */ @@ -165,7 +165,7 @@ public class DropTargetDropEvent extends DropTargetEvent { /** * This method returns the current DataFlavors. - * <P> + * * @return current DataFlavors */ @@ -176,7 +176,7 @@ public class DropTargetDropEvent extends DropTargetEvent { /** * This method returns the currently available * <code>DataFlavor</code>s as a <code>java.util.List</code>. - * <P> + * * @return the currently available DataFlavors as a java.util.List */ @@ -188,9 +188,9 @@ public class DropTargetDropEvent extends DropTargetEvent { * This method returns a <code>boolean</code> indicating if the * specified <code>DataFlavor</code> is available * from the source. - * <P> + * * @param df the <code>DataFlavor</code> to test - * <P> + * * @return if the DataFlavor specified is available from the source */ @@ -215,7 +215,7 @@ public class DropTargetDropEvent extends DropTargetEvent { /** * This method returns the <code>Transferable</code> object * associated with the drop. - * <P> + * * @return the <code>Transferable</code> associated with the drop */ @@ -225,7 +225,7 @@ public class DropTargetDropEvent extends DropTargetEvent { /** * accept the drop, using the specified action. - * <P> + * * @param dropAction the specified action */ @@ -244,7 +244,7 @@ public class DropTargetDropEvent extends DropTargetEvent { /** * This method notifies the <code>DragSource</code> * that the drop transfer(s) are completed. - * <P> + * * @param success a <code>boolean</code> indicating that the drop transfer(s) are completed. */ @@ -255,7 +255,7 @@ public class DropTargetDropEvent extends DropTargetEvent { /** * This method returns an <code>int</code> indicating if * the source is in the same JVM as the target. - * <P> + * * @return if the Source is in the same JVM */ diff --git a/jdk/src/share/classes/java/awt/dnd/DropTargetEvent.java b/jdk/src/share/classes/java/awt/dnd/DropTargetEvent.java index 326ba939a3f..e7911ab8cbb 100644 --- a/jdk/src/share/classes/java/awt/dnd/DropTargetEvent.java +++ b/jdk/src/share/classes/java/awt/dnd/DropTargetEvent.java @@ -47,7 +47,7 @@ public class DropTargetEvent extends java.util.EventObject { /** * Construct a <code>DropTargetEvent</code> object with * the specified <code>DropTargetContext</code>. - * <P> + * * @param dtc The <code>DropTargetContext</code> * @throws NullPointerException if {@code dtc} equals {@code null}. * @see #getSource() @@ -63,7 +63,7 @@ public class DropTargetEvent extends java.util.EventObject { /** * This method returns the <code>DropTargetContext</code> * associated with this <code>DropTargetEvent</code>. - * <P> + * * @return the <code>DropTargetContext</code> */ diff --git a/jdk/src/share/classes/java/awt/dnd/DropTargetListener.java b/jdk/src/share/classes/java/awt/dnd/DropTargetListener.java index 03659845580..60676f99b0d 100644 --- a/jdk/src/share/classes/java/awt/dnd/DropTargetListener.java +++ b/jdk/src/share/classes/java/awt/dnd/DropTargetListener.java @@ -91,7 +91,7 @@ public interface DropTargetListener extends EventListener { /** * Called if the user has modified * the current drop gesture. - * <P> + * * @param dtde the <code>DropTargetDragEvent</code> */ @@ -144,7 +144,7 @@ public interface DropTargetListener extends EventListener { * <code>DropTargetDropEvent.isLocalTransfer()</code> returns * <code>true</code>. Otherwise, the behavior of the call is * implementation-dependent. - * <P> + * * @param dtde the <code>DropTargetDropEvent</code> */ diff --git a/jdk/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java b/jdk/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java index 1f9368e5899..e0727aba3b5 100644 --- a/jdk/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java +++ b/jdk/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java @@ -48,7 +48,7 @@ public class InvalidDnDOperationException extends IllegalStateException { /** * Create an Exception with its own descriptive message - * <P> + * * @param msg the detail message */ diff --git a/jdk/src/share/classes/java/awt/dnd/MouseDragGestureRecognizer.java b/jdk/src/share/classes/java/awt/dnd/MouseDragGestureRecognizer.java index 1fc0e0bd8a0..cf975835f22 100644 --- a/jdk/src/share/classes/java/awt/dnd/MouseDragGestureRecognizer.java +++ b/jdk/src/share/classes/java/awt/dnd/MouseDragGestureRecognizer.java @@ -74,7 +74,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i * permitted for this drag operation, and * the <code>DragGestureListener</code> to * notify when a drag gesture is detected. - * <P> + * * @param ds The DragSource for the Component c * @param c The Component to observe * @param act The actions permitted for this Drag @@ -92,7 +92,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i * the <code>Component</code> c, * the <code>Component</code> to observe, and the action(s) * permitted for this drag operation. - * <P> + * * @param ds The DragSource for the Component c * @param c The Component to observe * @param act The actions permitted for this drag @@ -107,7 +107,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i * given the <code>DragSource</code> for the * <code>Component</code> c, and the * <code>Component</code> to observe. - * <P> + * * @param ds The DragSource for the Component c * @param c The Component to observe */ @@ -119,7 +119,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i /** * Construct a new <code>MouseDragGestureRecognizer</code> * given the <code>DragSource</code> for the <code>Component</code>. - * <P> + * * @param ds The DragSource for the Component */ @@ -150,7 +150,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i /** * Invoked when the mouse has been clicked on a component. - * <P> + * * @param e the <code>MouseEvent</code> */ @@ -159,7 +159,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i /** * Invoked when a mouse button has been * pressed on a <code>Component</code>. - * <P> + * * @param e the <code>MouseEvent</code> */ @@ -167,7 +167,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i /** * Invoked when a mouse button has been released on a component. - * <P> + * * @param e the <code>MouseEvent</code> */ @@ -175,7 +175,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i /** * Invoked when the mouse enters a component. - * <P> + * * @param e the <code>MouseEvent</code> */ @@ -183,7 +183,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i /** * Invoked when the mouse exits a component. - * <P> + * * @param e the <code>MouseEvent</code> */ @@ -191,7 +191,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i /** * Invoked when a mouse button is pressed on a component. - * <P> + * * @param e the <code>MouseEvent</code> */ @@ -200,7 +200,7 @@ public abstract class MouseDragGestureRecognizer extends DragGestureRecognizer i /** * Invoked when the mouse button has been moved on a component * (with no buttons no down). - * <P> + * * @param e the <code>MouseEvent</code> */ diff --git a/jdk/src/share/classes/java/awt/event/MouseEvent.java b/jdk/src/share/classes/java/awt/event/MouseEvent.java index 89c950aff1f..65a8626f872 100644 --- a/jdk/src/share/classes/java/awt/event/MouseEvent.java +++ b/jdk/src/share/classes/java/awt/event/MouseEvent.java @@ -930,7 +930,7 @@ public class MouseEvent extends InputEvent { * and will cause the returning an unspecified string. * Zero parameter means that no modifiers were passed and will * cause the returning an empty string. - * <p> + * * @param modifiers A modifier mask describing the modifier keys and * mouse buttons that were down during the event * @return string string text description of the combination of modifier diff --git a/jdk/src/share/classes/java/beans/Introspector.java b/jdk/src/share/classes/java/beans/Introspector.java index 01b24ada112..38169518386 100644 --- a/jdk/src/share/classes/java/beans/Introspector.java +++ b/jdk/src/share/classes/java/beans/Introspector.java @@ -47,6 +47,8 @@ import java.util.EventObject; import java.util.List; import java.util.TreeMap; +import sun.misc.JavaBeansIntrospectorAccess; +import sun.misc.SharedSecrets; import sun.reflect.misc.ReflectUtil; /** @@ -140,6 +142,20 @@ public class Introspector { static final String SET_PREFIX = "set"; static final String IS_PREFIX = "is"; + // register with SharedSecrets for JMX usage + static { + SharedSecrets.setJavaBeansIntrospectorAccess((clazz, property) -> { + BeanInfo bi = Introspector.getBeanInfo(clazz); + PropertyDescriptor[] pds = bi.getPropertyDescriptors(); + for (PropertyDescriptor pd: pds) { + if (pd.getName().equals(property)) { + return pd.getReadMethod(); + } + } + return null; + }); + } + //====================================================================== // Public methods //====================================================================== diff --git a/jdk/src/share/classes/java/sql/Array.java b/jdk/src/share/classes/java/sql/Array.java index 9e2c210353e..fdc243663ce 100644 --- a/jdk/src/share/classes/java/sql/Array.java +++ b/jdk/src/share/classes/java/sql/Array.java @@ -348,12 +348,11 @@ public interface Array { * This method frees the <code>Array</code> object and releases the resources that * it holds. The object is invalid once the <code>free</code> * method is called. - *<p> + * <p> * After <code>free</code> has been called, any attempt to invoke a * method other than <code>free</code> will result in a <code>SQLException</code> * being thrown. If <code>free</code> is called multiple times, the subsequent * calls to <code>free</code> are treated as a no-op. - *<p> * * @throws SQLException if an error occurs releasing * the Array's resources diff --git a/jdk/src/share/classes/java/sql/BatchUpdateException.java b/jdk/src/share/classes/java/sql/BatchUpdateException.java index 9c0c072140c..fd5fb2242a9 100644 --- a/jdk/src/share/classes/java/sql/BatchUpdateException.java +++ b/jdk/src/share/classes/java/sql/BatchUpdateException.java @@ -203,7 +203,6 @@ public class BatchUpdateException extends SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @since 1.2 * @see #BatchUpdateException(java.lang.String, java.lang.String, int, long[], @@ -378,7 +377,7 @@ public class BatchUpdateException extends SQLException { * there are commands in the batch; otherwise, it will contain an * update count for each command that executed successfully before * the <code>BatchUpdateException</code> was thrown. - *<P> + * <P> * The possible return values for this method were modified for * the Java 2 SDK, Standard Edition, version 1.3. This was done to * accommodate the new option of continuing to process commands @@ -410,7 +409,7 @@ public class BatchUpdateException extends SQLException { * <p> * This constructor should be used when the returned update count may exceed * {@link Integer#MAX_VALUE}. - * <p> + * * @param reason a description of the error * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode an exception code used by a particular @@ -448,7 +447,7 @@ public class BatchUpdateException extends SQLException { * <p> * This method should be used when {@code Statement.executeLargeBatch} is * invoked and the returned update count may exceed {@link Integer#MAX_VALUE}. - * <p> + * * @return an array of <code>long</code> containing the update counts * for the updates that were executed successfully before this error * occurred. Or, if the driver continues to process commands after an diff --git a/jdk/src/share/classes/java/sql/Blob.java b/jdk/src/share/classes/java/sql/Blob.java index ba65c4027d6..090e89b6750 100644 --- a/jdk/src/share/classes/java/sql/Blob.java +++ b/jdk/src/share/classes/java/sql/Blob.java @@ -269,12 +269,11 @@ public interface Blob { * This method frees the <code>Blob</code> object and releases the resources that * it holds. The object is invalid once the <code>free</code> * method is called. - *<p> + * <p> * After <code>free</code> has been called, any attempt to invoke a * method other than <code>free</code> will result in a <code>SQLException</code> * being thrown. If <code>free</code> is called multiple times, the subsequent * calls to <code>free</code> are treated as a no-op. - *<p> * * @throws SQLException if an error occurs releasing * the Blob's resources diff --git a/jdk/src/share/classes/java/sql/CallableStatement.java b/jdk/src/share/classes/java/sql/CallableStatement.java index a830b63ea8b..20da9aae6a9 100644 --- a/jdk/src/share/classes/java/sql/CallableStatement.java +++ b/jdk/src/share/classes/java/sql/CallableStatement.java @@ -1160,13 +1160,13 @@ public interface CallableStatement extends PreparedStatement { * <P> * This method throws an exception if there is an ambiguity, for example, if the * object is of a class implementing more than one of the interfaces named above. - *<p> + * <p> *<b>Note:</b> Not all databases allow for a non-typed Null to be sent to * the backend. For maximum portability, the <code>setNull</code> or the * <code>setObject(String parameterName, Object x, int sqlType)</code> * method should be used * instead of <code>setObject(String parameterName, Object x)</code>. - *<p> + * * @param parameterName the name of the parameter * @param x the object containing the input parameter value * @exception SQLException if parameterName does not correspond to a named @@ -2025,7 +2025,7 @@ public interface CallableStatement extends PreparedStatement { * <code>NVARCHAR</code> * or <code>LONGNVARCHAR</code> parameter as * a <code>String</code> in the Java programming language. - * <p> + * <p> * For the fixed-length type JDBC <code>NCHAR</code>, * the <code>String</code> object * returned has exactly the same value the SQL diff --git a/jdk/src/share/classes/java/sql/Clob.java b/jdk/src/share/classes/java/sql/Clob.java index 2cfd4e47018..b074ac604c0 100644 --- a/jdk/src/share/classes/java/sql/Clob.java +++ b/jdk/src/share/classes/java/sql/Clob.java @@ -317,7 +317,7 @@ public interface Clob { * method other than <code>free</code> will result in a <code>SQLException</code> * being thrown. If <code>free</code> is called multiple times, the subsequent * calls to <code>free</code> are treated as a no-op. - * <p> + * * @throws SQLException if an error occurs releasing * the Clob's resources * diff --git a/jdk/src/share/classes/java/sql/Connection.java b/jdk/src/share/classes/java/sql/Connection.java index 4cedd13dc3b..ea191cd2dba 100644 --- a/jdk/src/share/classes/java/sql/Connection.java +++ b/jdk/src/share/classes/java/sql/Connection.java @@ -273,7 +273,6 @@ public interface Connection extends Wrapper, AutoCloseable { * commits or rolls back an active transaction prior to calling the * <code>close</code> method. If the <code>close</code> method is called * and there is an active transaction, the results are implementation-defined. - * <P> * * @exception SQLException SQLException if a database access error occurs */ @@ -632,7 +631,7 @@ public interface Connection extends Wrapper, AutoCloseable { * Installs the given <code>TypeMap</code> object as the type map for * this <code>Connection</code> object. The type map will be used for the * custom mapping of SQL structured types and distinct types. - *<p> + * <p> * You must set the the values for the <code>TypeMap</code> prior to * callng <code>setMap</code> as a JDBC driver may create an internal copy * of the <code>TypeMap</code>: @@ -1114,7 +1113,7 @@ public interface Connection extends Wrapper, AutoCloseable { * completes, this method returns false. A value of * 0 indicates a timeout is not applied to the * database operation. - * <p> + * * @return true if the connection is valid, false otherwise * @exception SQLException if the value supplied for <code>timeout</code> * is less then 0 @@ -1165,16 +1164,16 @@ public interface Connection extends Wrapper, AutoCloseable { * <li>ClientHostname - The hostname of the computer the application * using the connection is running on.</li> * </ul> - * <p> + * * @param name The name of the client info property to set * @param value The value to set the client info property to. If the * value is null, the current value of the specified * property is cleared. - * <p> + * * @throws SQLClientInfoException if the database server returns an error while * setting the client info value on the database server or this method * is called on a closed connection - * <p> + * * @since 1.6 */ void setClientInfo(String name, String value) @@ -1198,13 +1197,13 @@ public interface Connection extends Wrapper, AutoCloseable { * some databases do not allow multiple client info properties to be set * atomically. For those databases, one or more properties may have been * set before the error occurred. - * <p> + * * * @param properties the list of client info properties to set - * <p> + * * @see java.sql.Connection#setClientInfo(String, String) setClientInfo(String, String) * @since 1.6 - * <p> + * * @throws SQLClientInfoException if the database server returns an error while * setting the clientInfo values on the database server or this method * is called on a closed connection @@ -1222,15 +1221,15 @@ public interface Connection extends Wrapper, AutoCloseable { * <p> * Applications may use the <code>DatabaseMetaData.getClientInfoProperties</code> * method to determine the client info properties supported by the driver. - * <p> + * * @param name The name of the client info property to retrieve - * <p> + * * @return The value of the client info property specified - * <p> + * * @throws SQLException if the database server returns an error when - * fetching the client info value from the database - *or this method is called on a closed connection - * <p> + * fetching the client info value from the database + * or this method is called on a closed connection + * * @since 1.6 * * @see java.sql.DatabaseMetaData#getClientInfoProperties @@ -1243,14 +1242,14 @@ public interface Connection extends Wrapper, AutoCloseable { * property supported by the driver. The value of a client info property * may be null if the property has not been set and does not have a * default value. - * <p> + * * @return A <code>Properties</code> object that contains the name and current value of * each of the client info properties supported by the driver. - * <p> + * * @throws SQLException if the database server returns an error when * fetching the client info values from the database * or this method is called on a closed connection - * <p> + * * @since 1.6 */ Properties getClientInfo() @@ -1294,7 +1293,7 @@ SQLException; * <code>Struct.getSQLTypeName</code>. * @param attributes the attributes that populate the returned object - * @return a Struct object that maps to the given SQL type and is populated with the given attributes + * @return a Struct object that maps to the given SQL type and is populated with the given attributes * @throws SQLException if a database error occurs, the typeName is null or this method is called on a closed connection * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this data type * @since 1.6 @@ -1426,7 +1425,7 @@ throws SQLException; * problems, the connection will be marked as closed, any resources held by * the connection will be released and both the connection and * statement will be unusable. - *<p> + * <p> * When the driver determines that the {@code setNetworkTimeout} timeout * value has expired, the JDBC driver marks the connection * closed and releases any resources held by the connection. diff --git a/jdk/src/share/classes/java/sql/DataTruncation.java b/jdk/src/share/classes/java/sql/DataTruncation.java index 3a00c439f9f..5aef67c2af1 100644 --- a/jdk/src/share/classes/java/sql/DataTruncation.java +++ b/jdk/src/share/classes/java/sql/DataTruncation.java @@ -49,7 +49,6 @@ public class DataTruncation extends SQLWarning { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @param index The index of the parameter or column value * @param parameter true if a parameter value was truncated @@ -77,7 +76,6 @@ public class DataTruncation extends SQLWarning { * the reason set to "Data truncation", the * vendor code set to 0, and * the other fields set to the given values. - * <p> * * @param index The index of the parameter or column value * @param parameter true if a parameter value was truncated diff --git a/jdk/src/share/classes/java/sql/DatabaseMetaData.java b/jdk/src/share/classes/java/sql/DatabaseMetaData.java index 11b013df863..07b7475c4b3 100644 --- a/jdk/src/share/classes/java/sql/DatabaseMetaData.java +++ b/jdk/src/share/classes/java/sql/DatabaseMetaData.java @@ -1417,7 +1417,7 @@ public interface DatabaseMetaData extends Wrapper { * A possible value for the column * <code>COLUMN_TYPE</code> * in the <code>ResultSet</code> - * returned by the method <code>getProcedureColumns</code>. + * returned by the method <code>getProcedureColumns</code>. */ int procedureColumnOut = 4; /** @@ -2367,7 +2367,6 @@ public interface DatabaseMetaData extends Wrapper { * <P>If SQL distinct or structured types are supported, then information on the * individual types may be obtained from the getUDTs() method. * - * * <P>Each type description has the following columns: * <OL> @@ -2377,7 +2376,7 @@ public interface DatabaseMetaData extends Wrapper { * <LI><B>LITERAL_PREFIX</B> String {@code =>} prefix used to quote a literal * (may be <code>null</code>) * <LI><B>LITERAL_SUFFIX</B> String {@code =>} suffix used to quote a literal - (may be <code>null</code>) + * (may be <code>null</code>) * <LI><B>CREATE_PARAMS</B> String {@code =>} parameters used in creating * the type (may be <code>null</code>) * <LI><B>NULLABLE</B> short {@code =>} can you use NULL for this type. @@ -2821,7 +2820,7 @@ public interface DatabaseMetaData extends Wrapper { /** * Retrieves the connection that produced this metadata object. - * <P> + * * @return the connection that produced this metadata object * @exception SQLException if a database access error occurs * @since 1.2 @@ -2870,9 +2869,9 @@ public interface DatabaseMetaData extends Wrapper { * * @return <code>true</code> if auto-generated keys can be retrieved * after a statement has executed; <code>false</code> otherwise - *<p>If <code>true</code> is returned, the JDBC driver must support the + * <p>If <code>true</code> is returned, the JDBC driver must support the * returning of auto-generated keys for at least SQL INSERT statements - *<p> + * * @exception SQLException if a database access error occurs * @since 1.4 */ @@ -3138,7 +3137,7 @@ public interface DatabaseMetaData extends Wrapper { * whether the value returned by the method * <code>SQLException.getSQLState</code> is an * X/Open (now know as Open Group) SQL CLI SQLSTATE value. - * <P> + * * @since 1.4 */ int sqlStateXOpen = 1; @@ -3148,7 +3147,7 @@ public interface DatabaseMetaData extends Wrapper { * <code>DatabaseMetaData.getSQLStateType</code> which is used to indicate * whether the value returned by the method * <code>SQLException.getSQLState</code> is an SQLSTATE value. - * <P> + * * @since 1.6 */ int sqlStateSQL = 2; @@ -3282,12 +3281,12 @@ public interface DatabaseMetaData extends Wrapper { * </ol> * <p> * The <code>ResultSet</code> is sorted by the NAME column - * <p> + * * @return A <code>ResultSet</code> object; each row is a supported client info * property - * <p> + * * @exception SQLException if a database access error occurs - * <p> + * * @since 1.6 */ ResultSet getClientInfoProperties() diff --git a/jdk/src/share/classes/java/sql/Date.java b/jdk/src/share/classes/java/sql/Date.java index 9ac1e1c6f74..ab5121fca21 100644 --- a/jdk/src/share/classes/java/sql/Date.java +++ b/jdk/src/share/classes/java/sql/Date.java @@ -150,7 +150,7 @@ public class Date extends java.util.Date { /** * Formats a date in the date escape format yyyy-mm-dd. - * <P> + * * @return a String in yyyy-mm-dd format */ @SuppressWarnings("deprecation") diff --git a/jdk/src/share/classes/java/sql/JDBCType.java b/jdk/src/share/classes/java/sql/JDBCType.java index 89db37bbf59..1ca4b3d0286 100644 --- a/jdk/src/share/classes/java/sql/JDBCType.java +++ b/jdk/src/share/classes/java/sql/JDBCType.java @@ -27,7 +27,7 @@ package java.sql; /** * <P>Defines the constants that are used to identify generic * SQL types, called JDBC types. - * <p> + * * @see SQLType * @since 1.8 */ diff --git a/jdk/src/share/classes/java/sql/PreparedStatement.java b/jdk/src/share/classes/java/sql/PreparedStatement.java index 2b2e7f3374b..f33fd10aae9 100644 --- a/jdk/src/share/classes/java/sql/PreparedStatement.java +++ b/jdk/src/share/classes/java/sql/PreparedStatement.java @@ -892,7 +892,6 @@ public interface PreparedStatement extends Statement { * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object. * The driver converts this to an * SQL <code>XML</code> value when it sends it to the database. - * <p> * * @param parameterIndex index of the first parameter is 1, the second is 2, ... * @param xmlObject a <code>SQLXML</code> object that maps an SQL <code>XML</code> value diff --git a/jdk/src/share/classes/java/sql/ResultSet.java b/jdk/src/share/classes/java/sql/ResultSet.java index d939a9a582e..656fa535528 100644 --- a/jdk/src/share/classes/java/sql/ResultSet.java +++ b/jdk/src/share/classes/java/sql/ResultSet.java @@ -1259,7 +1259,6 @@ public interface ResultSet extends Wrapper, AutoCloseable { * If an input stream is open for the current row, a call to the method * <code>previous</code> will implicitly close it. A <code>ResultSet</code> * object's warning change is cleared when a new row is read. - *<p> * * @return <code>true</code> if the cursor is now positioned on a valid row; * <code>false</code> if the cursor is positioned before the first row @@ -3206,7 +3205,6 @@ public interface ResultSet extends Wrapper, AutoCloseable { * row. The updater methods do not update the underlying database; instead * the <code>updateRow</code> or <code>insertRow</code> methods are called * to update the database. - * <p> * * @param columnIndex the first column is 1, the second 2, ... * @param xmlObject the value for the column to be updated @@ -3232,7 +3230,6 @@ public interface ResultSet extends Wrapper, AutoCloseable { * row. The updater methods do not update the underlying database; instead * the <code>updateRow</code> or <code>insertRow</code> methods are called * to update the database. - * <p> * * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column * @param xmlObject the column value diff --git a/jdk/src/share/classes/java/sql/SQLClientInfoException.java b/jdk/src/share/classes/java/sql/SQLClientInfoException.java index 131e407824f..8c8e8c867ff 100644 --- a/jdk/src/share/classes/java/sql/SQLClientInfoException.java +++ b/jdk/src/share/classes/java/sql/SQLClientInfoException.java @@ -40,7 +40,7 @@ import java.util.Map; * properties are identified by passing a * <code>Map<String,ClientInfoStatus></code> to * the appropriate <code>SQLClientInfoException</code> constructor. - * <p> + * * @see ClientInfoStatus * @see Connection#setClientInfo * @since 1.6 @@ -60,7 +60,6 @@ public class SQLClientInfoException extends SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @since 1.6 */ @@ -78,7 +77,6 @@ public class SQLClientInfoException extends SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @param failedProperties A Map containing the property values that could not * be set. The keys in the Map @@ -86,7 +84,7 @@ public class SQLClientInfoException extends SQLException { * properties that could not be set and * the values contain one of the reason codes * defined in <code>ClientInfoStatus</code> - * <p> + * * @since 1.6 */ public SQLClientInfoException(Map<String, ClientInfoStatus> failedProperties) { @@ -102,8 +100,6 @@ public class SQLClientInfoException extends SQLException { * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code> and the vendor code is initialized to 0. * - * <p> - * * @param failedProperties A Map containing the property values that could not * be set. The keys in the Map * contain the names of the client info @@ -112,7 +108,7 @@ public class SQLClientInfoException extends SQLException { * defined in <code>ClientInfoStatus</code> * @param cause the (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. - * <p> + * * @since 1.6 */ public SQLClientInfoException(Map<String, ClientInfoStatus> failedProperties, @@ -132,7 +128,6 @@ public class SQLClientInfoException extends SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @param reason a description of the exception * @param failedProperties A Map containing the property values that could not @@ -141,7 +136,7 @@ public class SQLClientInfoException extends SQLException { * properties that could not be set and * the values contain one of the reason codes * defined in <code>ClientInfoStatus</code> - * <p> + * * @since 1.6 */ public SQLClientInfoException(String reason, @@ -157,7 +152,6 @@ public class SQLClientInfoException extends SQLException { * <code>failedProperties</code>. * The <code>SQLState</code> is initialized * to <code>null</code> and the vendor code is initialized to 0. - * <p> * * @param reason a description of the exception * @param failedProperties A Map containing the property values that could not @@ -168,7 +162,7 @@ public class SQLClientInfoException extends SQLException { * defined in <code>ClientInfoStatus</code> * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. - * <p> + * * @since 1.6 */ public SQLClientInfoException(String reason, @@ -188,17 +182,16 @@ public class SQLClientInfoException extends SQLException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> * - * @param reason a description of the exception - * @param SQLState an XOPEN or SQL:2003 code identifying the exception + * @param reason a description of the exception + * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param failedProperties A Map containing the property values that could not * be set. The keys in the Map * contain the names of the client info * properties that could not be set and * the values contain one of the reason codes * defined in <code>ClientInfoStatus</code> - * <p> + * * @since 1.6 */ public SQLClientInfoException(String reason, @@ -213,19 +206,18 @@ public class SQLClientInfoException extends SQLException { * Constructs a <code>SQLClientInfoException</code> object initialized with a * given <code>reason</code>, <code>SQLState</code>, <code>cause</code> * and <code>failedProperties</code>. The vendor code is initialized to 0. - * <p> * - * @param reason a description of the exception - * @param SQLState an XOPEN or SQL:2003 code identifying the exception + * @param reason a description of the exception + * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param failedProperties A Map containing the property values that could not * be set. The keys in the Map * contain the names of the client info * properties that could not be set and * the values contain one of the reason codes * defined in <code>ClientInfoStatus</code> - * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating + * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. - * <p> + * * @since 1.6 */ public SQLClientInfoException(String reason, @@ -245,18 +237,17 @@ public class SQLClientInfoException extends SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * - * @param reason a description of the exception - * @param SQLState an XOPEN or SQL:2003 code identifying the exception - * @param vendorCode a database vendor-specific exception code + * @param reason a description of the exception + * @param SQLState an XOPEN or SQL:2003 code identifying the exception + * @param vendorCode a database vendor-specific exception code * @param failedProperties A Map containing the property values that could not * be set. The keys in the Map * contain the names of the client info * properties that could not be set and * the values contain one of the reason codes * defined in <code>ClientInfoStatus</code> - * <p> + * * @since 1.6 */ public SQLClientInfoException(String reason, @@ -273,11 +264,10 @@ public class SQLClientInfoException extends SQLException { * given <code>reason</code>, <code>SQLState</code>, * <code>cause</code>, <code>vendorCode</code> and * <code>failedProperties</code>. - * <p> * - * @param reason a description of the exception - * @param SQLState an XOPEN or SQL:2003 code identifying the exception - * @param vendorCode a database vendor-specific exception code + * @param reason a description of the exception + * @param SQLState an XOPEN or SQL:2003 code identifying the exception + * @param vendorCode a database vendor-specific exception code * @param failedProperties A Map containing the property values that could not * be set. The keys in the Map * contain the names of the client info @@ -285,8 +275,8 @@ public class SQLClientInfoException extends SQLException { * the values contain one of the reason codes * defined in <code>ClientInfoStatus</code> * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating - * the cause is non-existent or unknown. - * <p> + * the cause is non-existent or unknown. + * * @since 1.6 */ public SQLClientInfoException(String reason, @@ -305,11 +295,10 @@ public class SQLClientInfoException extends SQLException { * keys in the Map contain the names of the client info * properties that could not be set and the values contain one of the * reason codes defined in <code>ClientInfoStatus</code> - * <p> * * @return Map list containing the client info properties that could * not be set - * <p> + * * @since 1.6 */ public Map<String, ClientInfoStatus> getFailedProperties() { diff --git a/jdk/src/share/classes/java/sql/SQLDataException.java b/jdk/src/share/classes/java/sql/SQLDataException.java index 8dc1753a6b7..5d193b410e0 100644 --- a/jdk/src/share/classes/java/sql/SQLDataException.java +++ b/jdk/src/share/classes/java/sql/SQLDataException.java @@ -45,7 +45,6 @@ public class SQLDataException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @since 1.6 */ @@ -62,7 +61,6 @@ public class SQLDataException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @param reason a description of the exception * @since 1.6 @@ -79,7 +77,7 @@ public class SQLDataException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -96,7 +94,7 @@ public class SQLDataException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -114,7 +112,7 @@ public class SQLDataException extends SQLNonTransientException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -128,7 +126,7 @@ public class SQLDataException extends SQLNonTransientException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -142,7 +140,7 @@ public class SQLDataException extends SQLNonTransientException { * Constructs a <code>SQLDataException</code> object with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -157,7 +155,7 @@ public class SQLDataException extends SQLNonTransientException { * Constructs a <code>SQLDataException</code> object with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLException.java b/jdk/src/share/classes/java/sql/SQLException.java index d6c9bd2e05c..0076679fdb1 100644 --- a/jdk/src/share/classes/java/sql/SQLException.java +++ b/jdk/src/share/classes/java/sql/SQLException.java @@ -61,7 +61,7 @@ public class SQLException extends java.lang.Exception * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code @@ -88,7 +88,7 @@ public class SQLException extends java.lang.Exception * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception */ @@ -112,7 +112,7 @@ public class SQLException extends java.lang.Exception * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception */ public SQLException(String reason) { @@ -155,7 +155,7 @@ public class SQLException extends java.lang.Exception * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> * (which is saved for later retrieval by the <code>getCause()</code> method); * may be null indicating the cause is non-existent or unknown. @@ -176,7 +176,7 @@ public class SQLException extends java.lang.Exception * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> * (which is saved for later retrieval by the <code>getCause()</code> method); @@ -197,7 +197,7 @@ public class SQLException extends java.lang.Exception * Constructs a <code>SQLException</code> object with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param sqlState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> @@ -223,7 +223,7 @@ public class SQLException extends java.lang.Exception * Constructs a <code>SQLException</code> object with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param sqlState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLFeatureNotSupportedException.java b/jdk/src/share/classes/java/sql/SQLFeatureNotSupportedException.java index 98900fb4d26..88d82aa8cca 100644 --- a/jdk/src/share/classes/java/sql/SQLFeatureNotSupportedException.java +++ b/jdk/src/share/classes/java/sql/SQLFeatureNotSupportedException.java @@ -50,7 +50,7 @@ public class SQLFeatureNotSupportedException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLFeatureNotSupportedException() { @@ -66,7 +66,7 @@ public class SQLFeatureNotSupportedException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -82,7 +82,7 @@ public class SQLFeatureNotSupportedException extends SQLNonTransientException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -99,7 +99,7 @@ public class SQLFeatureNotSupportedException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -117,7 +117,7 @@ public class SQLFeatureNotSupportedException extends SQLNonTransientException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -132,7 +132,7 @@ public class SQLFeatureNotSupportedException extends SQLNonTransientException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -147,7 +147,7 @@ public class SQLFeatureNotSupportedException extends SQLNonTransientException { * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -163,7 +163,7 @@ public class SQLFeatureNotSupportedException extends SQLNonTransientException { * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java b/jdk/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java index 86b4e8f91d3..3a6b1cc1f0f 100644 --- a/jdk/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java +++ b/jdk/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java @@ -45,7 +45,7 @@ public class SQLIntegrityConstraintViolationException extends SQLNonTransientExc * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLIntegrityConstraintViolationException() { @@ -61,7 +61,7 @@ public class SQLIntegrityConstraintViolationException extends SQLNonTransientExc * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -77,7 +77,7 @@ public class SQLIntegrityConstraintViolationException extends SQLNonTransientExc * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -94,7 +94,7 @@ public class SQLIntegrityConstraintViolationException extends SQLNonTransientExc * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -112,11 +112,11 @@ public class SQLIntegrityConstraintViolationException extends SQLNonTransientExc * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 - */ + */ public SQLIntegrityConstraintViolationException(Throwable cause) { super(cause); } @@ -127,7 +127,7 @@ public class SQLIntegrityConstraintViolationException extends SQLNonTransientExc * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -142,7 +142,7 @@ public class SQLIntegrityConstraintViolationException extends SQLNonTransientExc * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -158,7 +158,7 @@ public class SQLIntegrityConstraintViolationException extends SQLNonTransientExc * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java b/jdk/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java index 63009d98acb..97cdfba993c 100644 --- a/jdk/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java +++ b/jdk/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java @@ -45,7 +45,7 @@ public class SQLInvalidAuthorizationSpecException extends SQLNonTransientExcepti * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLInvalidAuthorizationSpecException() { @@ -61,7 +61,7 @@ public class SQLInvalidAuthorizationSpecException extends SQLNonTransientExcepti * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -77,7 +77,7 @@ public class SQLInvalidAuthorizationSpecException extends SQLNonTransientExcepti * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -94,7 +94,7 @@ public class SQLInvalidAuthorizationSpecException extends SQLNonTransientExcepti * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -104,19 +104,19 @@ public class SQLInvalidAuthorizationSpecException extends SQLNonTransientExcepti super(reason,SQLState,vendorCode); } - /** + /** * Constructs a <code>SQLInvalidAuthorizationSpecException</code> object - * with a given <code>cause</code>. + * with a given <code>cause</code>. * The <code>SQLState</code> is initialized * to <code>null</code> and the vendor code is initialized to 0. * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 - */ + */ public SQLInvalidAuthorizationSpecException(Throwable cause) { super(cause); } @@ -127,7 +127,7 @@ public class SQLInvalidAuthorizationSpecException extends SQLNonTransientExcepti * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -142,7 +142,7 @@ public class SQLInvalidAuthorizationSpecException extends SQLNonTransientExcepti * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -158,7 +158,7 @@ public class SQLInvalidAuthorizationSpecException extends SQLNonTransientExcepti * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLNonTransientConnectionException.java b/jdk/src/share/classes/java/sql/SQLNonTransientConnectionException.java index f28252af18d..a712cef50aa 100644 --- a/jdk/src/share/classes/java/sql/SQLNonTransientConnectionException.java +++ b/jdk/src/share/classes/java/sql/SQLNonTransientConnectionException.java @@ -45,7 +45,6 @@ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransient * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @since 1.6 */ @@ -62,7 +61,7 @@ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransient * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -78,7 +77,7 @@ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransient * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -95,7 +94,7 @@ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransient * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -105,15 +104,15 @@ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransient super(reason,SQLState,vendorCode); } - /** + /** * Constructs a <code>SQLNonTransientConnectionException</code> object - * with a given <code>cause</code>. - * The <code>SQLState</code> is initialized + * with a given <code>cause</code>. + * The <code>SQLState</code> is initialized * to <code>null</code> and the vendor code is initialized to 0. * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -128,7 +127,7 @@ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransient * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -143,7 +142,7 @@ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransient * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -155,11 +154,11 @@ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransient } /** - * Constructs a <code>SQLNonTransientConnectionException</code> object + * Constructs a <code>SQLNonTransientConnectionException</code> object * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLNonTransientException.java b/jdk/src/share/classes/java/sql/SQLNonTransientException.java index 9d1a636ee49..db16e68b18e 100644 --- a/jdk/src/share/classes/java/sql/SQLNonTransientException.java +++ b/jdk/src/share/classes/java/sql/SQLNonTransientException.java @@ -29,7 +29,6 @@ package java.sql; * The subclass of {@link SQLException} thrown when an instance where a retry * of the same operation would fail unless the cause of the <code>SQLException</code> * is corrected. - *<p> * * @since 1.6 */ @@ -43,7 +42,6 @@ public class SQLNonTransientException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @since 1.6 */ @@ -60,7 +58,6 @@ public class SQLNonTransientException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> * * @param reason a description of the exception * @since 1.6 @@ -77,7 +74,7 @@ public class SQLNonTransientException extends java.sql.SQLException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -94,7 +91,7 @@ public class SQLNonTransientException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -112,7 +109,7 @@ public class SQLNonTransientException extends java.sql.SQLException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -127,7 +124,7 @@ public class SQLNonTransientException extends java.sql.SQLException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -143,7 +140,7 @@ public class SQLNonTransientException extends java.sql.SQLException { * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -155,11 +152,11 @@ public class SQLNonTransientException extends java.sql.SQLException { } /** - * Constructs a <code>SQLNonTransientException</code> object + * Constructs a <code>SQLNonTransientException</code> object * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLPermission.java b/jdk/src/share/classes/java/sql/SQLPermission.java index 951430d90cc..1224738a887 100644 --- a/jdk/src/share/classes/java/sql/SQLPermission.java +++ b/jdk/src/share/classes/java/sql/SQLPermission.java @@ -104,7 +104,7 @@ import java.security.*; * registered Drivers and release its resources.</td> * </tr> * </table> - *<p> + * * @since 1.3 * @see java.security.BasicPermission * @see java.security.Permission diff --git a/jdk/src/share/classes/java/sql/SQLRecoverableException.java b/jdk/src/share/classes/java/sql/SQLRecoverableException.java index 76b32a412c1..5c21cb20b75 100644 --- a/jdk/src/share/classes/java/sql/SQLRecoverableException.java +++ b/jdk/src/share/classes/java/sql/SQLRecoverableException.java @@ -32,7 +32,6 @@ package java.sql; * distributed transaction, the transaction branch. At a minimum, * the recovery operation must include closing the current connection and getting * a new connection. - *<p> * * @since 1.6 */ @@ -46,7 +45,7 @@ public class SQLRecoverableException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLRecoverableException() { @@ -62,7 +61,7 @@ public class SQLRecoverableException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -78,7 +77,7 @@ public class SQLRecoverableException extends java.sql.SQLException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -95,7 +94,7 @@ public class SQLRecoverableException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -113,7 +112,7 @@ public class SQLRecoverableException extends java.sql.SQLException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -128,7 +127,7 @@ public class SQLRecoverableException extends java.sql.SQLException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -143,7 +142,7 @@ public class SQLRecoverableException extends java.sql.SQLException { * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -159,7 +158,7 @@ public class SQLRecoverableException extends java.sql.SQLException { * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLSyntaxErrorException.java b/jdk/src/share/classes/java/sql/SQLSyntaxErrorException.java index 2b3142fa6b5..bf7efc286f9 100644 --- a/jdk/src/share/classes/java/sql/SQLSyntaxErrorException.java +++ b/jdk/src/share/classes/java/sql/SQLSyntaxErrorException.java @@ -44,7 +44,7 @@ public class SQLSyntaxErrorException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLSyntaxErrorException() { @@ -60,7 +60,7 @@ public class SQLSyntaxErrorException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -76,7 +76,7 @@ public class SQLSyntaxErrorException extends SQLNonTransientException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -93,7 +93,7 @@ public class SQLSyntaxErrorException extends SQLNonTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -111,7 +111,7 @@ public class SQLSyntaxErrorException extends SQLNonTransientException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -126,7 +126,7 @@ public class SQLSyntaxErrorException extends SQLNonTransientException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -141,7 +141,7 @@ public class SQLSyntaxErrorException extends SQLNonTransientException { * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -157,7 +157,7 @@ public class SQLSyntaxErrorException extends SQLNonTransientException { * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLTimeoutException.java b/jdk/src/share/classes/java/sql/SQLTimeoutException.java index 3f9ed357d30..2e0dfecac4d 100644 --- a/jdk/src/share/classes/java/sql/SQLTimeoutException.java +++ b/jdk/src/share/classes/java/sql/SQLTimeoutException.java @@ -44,7 +44,7 @@ public class SQLTimeoutException extends SQLTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLTimeoutException() { @@ -60,7 +60,7 @@ public class SQLTimeoutException extends SQLTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -76,7 +76,7 @@ public class SQLTimeoutException extends SQLTransientException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -93,7 +93,7 @@ public class SQLTimeoutException extends SQLTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -111,7 +111,7 @@ public class SQLTimeoutException extends SQLTransientException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -126,7 +126,7 @@ public class SQLTimeoutException extends SQLTransientException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -141,7 +141,7 @@ public class SQLTimeoutException extends SQLTransientException { * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -157,7 +157,7 @@ public class SQLTimeoutException extends SQLTransientException { * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLTransactionRollbackException.java b/jdk/src/share/classes/java/sql/SQLTransactionRollbackException.java index 910f8b40827..2aa2fdba3f3 100644 --- a/jdk/src/share/classes/java/sql/SQLTransactionRollbackException.java +++ b/jdk/src/share/classes/java/sql/SQLTransactionRollbackException.java @@ -44,7 +44,7 @@ public class SQLTransactionRollbackException extends SQLTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLTransactionRollbackException() { @@ -60,7 +60,7 @@ public class SQLTransactionRollbackException extends SQLTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -76,7 +76,7 @@ public class SQLTransactionRollbackException extends SQLTransientException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -93,7 +93,7 @@ public class SQLTransactionRollbackException extends SQLTransientException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -111,7 +111,7 @@ public class SQLTransactionRollbackException extends SQLTransientException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -126,7 +126,7 @@ public class SQLTransactionRollbackException extends SQLTransientException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -141,7 +141,7 @@ public class SQLTransactionRollbackException extends SQLTransientException { * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -157,7 +157,7 @@ public class SQLTransactionRollbackException extends SQLTransientException { * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLTransientConnectionException.java b/jdk/src/share/classes/java/sql/SQLTransientConnectionException.java index e1c9bef15f4..d585bfbe98f 100644 --- a/jdk/src/share/classes/java/sql/SQLTransientConnectionException.java +++ b/jdk/src/share/classes/java/sql/SQLTransientConnectionException.java @@ -45,7 +45,7 @@ public class SQLTransientConnectionException extends java.sql.SQLTransientExcept * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLTransientConnectionException() { @@ -61,7 +61,7 @@ public class SQLTransientConnectionException extends java.sql.SQLTransientExcept * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -77,7 +77,7 @@ public class SQLTransientConnectionException extends java.sql.SQLTransientExcept * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -94,7 +94,7 @@ public class SQLTransientConnectionException extends java.sql.SQLTransientExcept * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -112,7 +112,7 @@ public class SQLTransientConnectionException extends java.sql.SQLTransientExcept * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -127,7 +127,7 @@ public class SQLTransientConnectionException extends java.sql.SQLTransientExcept * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code>(which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -142,7 +142,7 @@ public class SQLTransientConnectionException extends java.sql.SQLTransientExcept * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -158,7 +158,7 @@ public class SQLTransientConnectionException extends java.sql.SQLTransientExcept * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLTransientException.java b/jdk/src/share/classes/java/sql/SQLTransientException.java index 4271df92623..df5a1ed23c7 100644 --- a/jdk/src/share/classes/java/sql/SQLTransientException.java +++ b/jdk/src/share/classes/java/sql/SQLTransientException.java @@ -29,7 +29,6 @@ package java.sql; * The subclass of {@link SQLException} is thrown in situations where a * previously failed operation might be able to succeed when the operation is * retried without any intervention by application-level functionality. - *<p> * * @since 1.6 */ @@ -43,7 +42,7 @@ public class SQLTransientException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @since 1.6 */ public SQLTransientException() { @@ -59,7 +58,7 @@ public class SQLTransientException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @since 1.6 */ @@ -75,7 +74,7 @@ public class SQLTransientException extends java.sql.SQLException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @since 1.6 @@ -92,7 +91,7 @@ public class SQLTransientException extends java.sql.SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor specific exception code @@ -110,7 +109,7 @@ public class SQLTransientException extends java.sql.SQLException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. * @since 1.6 @@ -125,7 +124,7 @@ public class SQLTransientException extends java.sql.SQLException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. @@ -140,7 +139,7 @@ public class SQLTransientException extends java.sql.SQLException { * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the exception. * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -156,7 +155,7 @@ public class SQLTransientException extends java.sql.SQLException { * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the exception * @param SQLState an XOPEN or SQL:2003 code identifying the exception * @param vendorCode a database vendor-specific exception code diff --git a/jdk/src/share/classes/java/sql/SQLWarning.java b/jdk/src/share/classes/java/sql/SQLWarning.java index 3dd334821fb..37d3bfc61a3 100644 --- a/jdk/src/share/classes/java/sql/SQLWarning.java +++ b/jdk/src/share/classes/java/sql/SQLWarning.java @@ -52,7 +52,7 @@ public class SQLWarning extends SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the warning * @param SQLState an XOPEN or SQL:2003 code identifying the warning * @param vendorCode a database vendor-specific warning code @@ -73,7 +73,7 @@ public class SQLWarning extends SQLException { * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. - * <p> + * * @param reason a description of the warning * @param SQLState an XOPEN or SQL:2003 code identifying the warning */ @@ -92,7 +92,7 @@ public class SQLWarning extends SQLException { * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. - * <p> + * * @param reason a description of the warning */ public SQLWarning(String reason) { @@ -123,7 +123,7 @@ public class SQLWarning extends SQLException { * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. - * <p> + * * @param cause the underlying reason for this <code>SQLWarning</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. */ @@ -138,7 +138,7 @@ public class SQLWarning extends SQLException { * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. - * <p> + * * @param reason a description of the warning * @param cause the underlying reason for this <code>SQLWarning</code> * (which is saved for later retrieval by the <code>getCause()</code> method); @@ -154,7 +154,7 @@ public class SQLWarning extends SQLException { * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. - * <p> + * * @param reason a description of the warning * @param SQLState an XOPEN or SQL:2003 code identifying the warning * @param cause the underlying reason for this <code>SQLWarning</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating @@ -171,7 +171,7 @@ public class SQLWarning extends SQLException { * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. - * <p> + * * @param reason a description of the warning * @param SQLState an XOPEN or SQL:2003 code identifying the warning * @param vendorCode a database vendor-specific warning code diff --git a/jdk/src/share/classes/java/sql/Statement.java b/jdk/src/share/classes/java/sql/Statement.java index 7c8cff8185d..cf60bffc4f4 100644 --- a/jdk/src/share/classes/java/sql/Statement.java +++ b/jdk/src/share/classes/java/sql/Statement.java @@ -522,7 +522,7 @@ public interface Statement extends Wrapper, AutoCloseable { /** * Empties this <code>Statement</code> object's current list of * SQL commands. - * <P> + * * @exception SQLException if a database access error occurs, * this method is called on a closed <code>Statement</code> or the * driver does not support batch updates @@ -1009,13 +1009,13 @@ public interface Statement extends Wrapper, AutoCloseable { * By default, a <code>Statement</code> is not poolable when created, and * a <code>PreparedStatement</code> and <code>CallableStatement</code> * are poolable when created. - * <p> + * * @param poolable requests that the statement be pooled if true and * that the statement not be pooled if false - * <p> + * * @throws SQLException if this method is called on a closed * <code>Statement</code> - * <p> + * * @since 1.6 */ void setPoolable(boolean poolable) @@ -1024,15 +1024,15 @@ public interface Statement extends Wrapper, AutoCloseable { /** * Returns a value indicating whether the <code>Statement</code> * is poolable or not. - * <p> + * * @return <code>true</code> if the <code>Statement</code> * is poolable; <code>false</code> otherwise - * <p> + * * @throws SQLException if this method is called on a closed * <code>Statement</code> - * <p> + * * @since 1.6 - * <p> + * * @see java.sql.Statement#setPoolable(boolean) setPoolable(boolean) */ boolean isPoolable() diff --git a/jdk/src/share/classes/java/sql/Timestamp.java b/jdk/src/share/classes/java/sql/Timestamp.java index f4a527ab958..71c5a3e80a5 100644 --- a/jdk/src/share/classes/java/sql/Timestamp.java +++ b/jdk/src/share/classes/java/sql/Timestamp.java @@ -269,7 +269,7 @@ public class Timestamp extends java.util.Date { * Formats a timestamp in JDBC timestamp escape format. * <code>yyyy-mm-dd hh:mm:ss.fffffffff</code>, * where <code>ffffffffff</code> indicates nanoseconds. - * <P> + * * @return a <code>String</code> object in * <code>yyyy-mm-dd hh:mm:ss.fffffffff</code> format */ diff --git a/jdk/src/share/classes/java/sql/package.html b/jdk/src/share/classes/java/sql/package.html index d60cb5354ce..ce13ffa9dca 100644 --- a/jdk/src/share/classes/java/sql/package.html +++ b/jdk/src/share/classes/java/sql/package.html @@ -44,7 +44,7 @@ The reader/writer facility, available through the <code>javax.sql.RowSet</code> group of interfaces, can be customized to use and update data from a spread sheet, flat file, or any other tabular data source. -<P> + <h2>What the JDBC<sup><font size=-2>TM</font></sup> 4.2 API Includes</h2> The JDBC<sup><font size=-2>TM</font></sup> 4.2 API includes both the <code>java.sql</code> package, referred to as the JDBC core API, @@ -56,7 +56,7 @@ The <code>javax.sql</code> package extends the functionality of the JDBC API from a client-side API to a server-side API, and it is an essential part of the Java<sup><font size=-2>TM</font></sup> Enterprise Edition (Java EE<sup><font size=-2>TM</font></sup>) technology. -<P> + <h2>Versions</h2> The JDBC 4.2 API incorporates all of the previous JDBC API versions: <UL> @@ -101,7 +101,6 @@ Java<sup><font size=-2>TM</font></sup> 2 SDK, Standard Edition, version 1.3 release. This class is used to prevent unauthorized access to the logging stream associated with the <code>DriverManager</code>, which may contain information such as table names, column data, and so on. -<p> <h2>What the <code>java.sql</code> Package Contains</h2> The <code>java.sql</code> package contains API for the following: @@ -181,7 +180,7 @@ The <code>java.sql</code> package contains API for the following: commands in a batch update executed successfully </UL> </UL> -<P> + <h3><code>java.sql</code> and <code>javax.sql</code> Features Introduced in the JDBC 4.2 API</h3> <UL> <LI>Added <code>JDBCType</code> enum and <code>SQLType</code> interface</li> @@ -192,7 +191,7 @@ The <code>java.sql</code> package contains API for the following: <LI>Added support for large update counts</LI> </UL> -<P> + <h3><code>java.sql</code> and <code>javax.sql</code> Features Introduced in the JDBC 4.1 API</h3> <UL> <LI>Allow <code>Connection</code>, @@ -231,8 +230,8 @@ The <code>java.sql</code> package contains API for the following: </UL> -<P> -<P> + + <h3><code>java.sql</code> and <code>javax.sql</code> Features Introduced in the JDBC 3.0 API</h3> <UL> <LI>Pooled statements -- reuse of statements associated with a pooled @@ -258,7 +257,7 @@ The <code>java.sql</code> package contains API for the following: allows JDBC drivers access to objects stored outside a data source <LI>Addition of metadata for retrieving SQL type hierarchies </UL> -<P> + <h3><code>java.sql</code> Features Introduced in the JDBC 2.1 Core API</h3> <UL> <LI>Scrollable result sets--using new methods in the <code>ResultSet</code> @@ -273,7 +272,7 @@ The <code>java.sql</code> package contains API for the following: additional security, and support for time zones in date, time, and timestamp values. </UL> -<P> + <h3><code>javax.sql</code> Features Introduced in the JDBC 2.0 Optional Package API</h3> <UL> @@ -287,8 +286,8 @@ Package API</h3> <LI><code>RowSet</code> technology -- providing a convenient means of handling and passing data </UL> -<P> -<P> + + <h3>Custom Mapping of UDTs</h3> A user-defined type (UDT) defined in SQL can be mapped to a class in the Java programming language. An SQL structured type or an SQL <code>DISTINCT</code> @@ -325,16 +324,16 @@ object back to its SQL type to store it in the data source. <ul> <li><a href="../../../technotes/guides/jdbc/getstart/GettingStartedTOC.fm.html">Getting Started</a>--overviews of the major interfaces -<P> + <li><a href="http://java.sun.com/docs/books/tutorial/jdbc">Chapters on the JDBC API</a>--from the online version of <i>The Java Tutorial Continued</i> -<P> + <li><a href="http://java.sun.com/docs/books/jdbc"> <i>JDBC<sup><font size=-2>TM</font></sup>API Tutorial and Reference, Third Edition</i></a>-- a complete reference and tutorial for the JDBC 3.0 API </ul> -<P> + @since 1.1 </body> </html> diff --git a/jdk/src/share/classes/java/time/LocalTime.java b/jdk/src/share/classes/java/time/LocalTime.java index 4cc12f74dc3..0fcf89d26a3 100644 --- a/jdk/src/share/classes/java/time/LocalTime.java +++ b/jdk/src/share/classes/java/time/LocalTime.java @@ -838,9 +838,9 @@ public final class LocalTime case NANO_OF_SECOND: return withNano((int) newValue); case NANO_OF_DAY: return LocalTime.ofNanoOfDay(newValue); case MICRO_OF_SECOND: return withNano((int) newValue * 1000); - case MICRO_OF_DAY: return plusNanos((newValue - toNanoOfDay() / 1000) * 1000); + case MICRO_OF_DAY: return LocalTime.ofNanoOfDay(newValue * 1000); case MILLI_OF_SECOND: return withNano((int) newValue * 1000_000); - case MILLI_OF_DAY: return plusNanos((newValue - toNanoOfDay() / 1000_000) * 1000_000); + case MILLI_OF_DAY: return LocalTime.ofNanoOfDay(newValue * 1000_000); case SECOND_OF_MINUTE: return withSecond((int) newValue); case SECOND_OF_DAY: return plusSeconds(newValue - toSecondOfDay()); case MINUTE_OF_HOUR: return withMinute((int) newValue); diff --git a/jdk/src/share/classes/java/time/chrono/ChronoLocalDate.java b/jdk/src/share/classes/java/time/chrono/ChronoLocalDate.java index baa7b69348c..6fe6a4578a9 100644 --- a/jdk/src/share/classes/java/time/chrono/ChronoLocalDate.java +++ b/jdk/src/share/classes/java/time/chrono/ChronoLocalDate.java @@ -101,19 +101,12 @@ import java.util.Objects; * <h3>When to use this interface</h3> * The design of the API encourages the use of {@code LocalDate} rather than this * interface, even in the case where the application needs to deal with multiple - * calendar systems. The rationale for this is explored in the following documentation. + * calendar systems. * <p> - * The primary use case where this interface should be used is where the generic - * type parameter {@code <D>} is fully defined as a specific chronology. - * In that case, the assumptions of that chronology are known at development - * time and specified in the code. - * <p> - * When the chronology is defined in the generic type parameter as ? or otherwise - * unknown at development time, the rest of the discussion below applies. - * <p> - * To emphasize the point, declaring a method signature, field or variable as this - * interface type can initially seem like the sensible way to globalize an application, - * however it is usually the wrong approach. + * This concept can seem surprising at first, as the natural way to globalize an + * application might initially appear to be to abstract the calendar system. + * However, as explored below, abstracting the calendar system is usually the wrong + * approach, resulting in logic errors and hard to find bugs. * As such, it should be considered an application-wide architectural decision to choose * to use this interface as opposed to {@code LocalDate}. * diff --git a/jdk/src/share/classes/java/time/format/DateTimeFormatter.java b/jdk/src/share/classes/java/time/format/DateTimeFormatter.java index 39d91986f86..e92f3e9a122 100644 --- a/jdk/src/share/classes/java/time/format/DateTimeFormatter.java +++ b/jdk/src/share/classes/java/time/format/DateTimeFormatter.java @@ -1932,8 +1932,8 @@ public final class DateTimeFormatter { */ private TemporalAccessor parseResolved0(final CharSequence text, final ParsePosition position) { ParsePosition pos = (position != null ? position : new ParsePosition(0)); - Parsed unresolved = parseUnresolved0(text, pos); - if (unresolved == null || pos.getErrorIndex() >= 0 || (position == null && pos.getIndex() < text.length())) { + DateTimeParseContext context = parseUnresolved0(text, pos); + if (context == null || pos.getErrorIndex() >= 0 || (position == null && pos.getIndex() < text.length())) { String abbr; if (text.length() > 64) { abbr = text.subSequence(0, 64).toString() + "..."; @@ -1948,7 +1948,7 @@ public final class DateTimeFormatter { pos.getIndex(), text, pos.getIndex()); } } - return unresolved.resolve(resolverStyle, resolverFields); + return context.toResolved(resolverStyle, resolverFields); } /** @@ -1991,10 +1991,14 @@ public final class DateTimeFormatter { * @throws IndexOutOfBoundsException if the position is invalid */ public TemporalAccessor parseUnresolved(CharSequence text, ParsePosition position) { - return parseUnresolved0(text, position); + DateTimeParseContext context = parseUnresolved0(text, position); + if (context == null) { + return null; + } + return context.toUnresolved(); } - private Parsed parseUnresolved0(CharSequence text, ParsePosition position) { + private DateTimeParseContext parseUnresolved0(CharSequence text, ParsePosition position) { Objects.requireNonNull(text, "text"); Objects.requireNonNull(position, "position"); DateTimeParseContext context = new DateTimeParseContext(this); @@ -2005,7 +2009,7 @@ public final class DateTimeFormatter { return null; } position.setIndex(pos); // errorIndex not updated from input - return context.toParsed(); + return context; } //----------------------------------------------------------------------- @@ -2126,23 +2130,23 @@ public final class DateTimeFormatter { @Override public Object parseObject(String text, ParsePosition pos) { Objects.requireNonNull(text, "text"); - Parsed unresolved; + DateTimeParseContext context; try { - unresolved = formatter.parseUnresolved0(text, pos); + context = formatter.parseUnresolved0(text, pos); } catch (IndexOutOfBoundsException ex) { if (pos.getErrorIndex() < 0) { pos.setErrorIndex(0); } return null; } - if (unresolved == null) { + if (context == null) { if (pos.getErrorIndex() < 0) { pos.setErrorIndex(0); } return null; } try { - TemporalAccessor resolved = unresolved.resolve(formatter.resolverStyle, formatter.resolverFields); + TemporalAccessor resolved = context.toResolved(formatter.resolverStyle, formatter.resolverFields); if (parseType == null) { return resolved; } diff --git a/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java b/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java index 9b9d9637a6c..f04d59b2303 100644 --- a/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java +++ b/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java @@ -2596,8 +2596,16 @@ public final class DateTimeFormatterBuilder { return value; } - boolean isFixedWidth() { - return subsequentWidth == -1; + /** + * For NumberPrinterParser, the width is fixed depending on the + * minWidth, maxWidth, signStyle and whether subsequent fields are fixed. + * @param context the context + * @return true if the field is fixed width + * @see DateTimeFormatterBuilder#appendValue(java.time.temporal.TemporalField, int) + */ + boolean isFixedWidth(DateTimeParseContext context) { + return subsequentWidth == -1 || + (subsequentWidth > 0 && minWidth == maxWidth && signStyle == SignStyle.NOT_NEGATIVE); } @Override @@ -2626,12 +2634,12 @@ public final class DateTimeFormatterBuilder { return ~position; } } - int effMinWidth = (context.isStrict() || isFixedWidth() ? minWidth : 1); + int effMinWidth = (context.isStrict() || isFixedWidth(context) ? minWidth : 1); int minEndPos = position + effMinWidth; if (minEndPos > length) { return ~position; } - int effMaxWidth = (context.isStrict() || isFixedWidth() ? maxWidth : 9) + Math.max(subsequentWidth, 0); + int effMaxWidth = (context.isStrict() || isFixedWidth(context) ? maxWidth : 9) + Math.max(subsequentWidth, 0); long total = 0; BigInteger totalBig = null; int pos = position; @@ -2866,6 +2874,21 @@ public final class DateTimeFormatterBuilder { this.subsequentWidth + subsequentWidth); } + /** + * For a ReducedPrinterParser, fixed width is false if the mode is strict, + * otherwise it is set as for NumberPrinterParser. + * @param context the context + * @return if the field is fixed width + * @see DateTimeFormatterBuilder#appendValueReduced(java.time.temporal.TemporalField, int, int, int) + */ + @Override + boolean isFixedWidth(DateTimeParseContext context) { + if (context.isStrict() == false) { + return false; + } + return super.isFixedWidth(context); + } + @Override public String toString() { return "ReducedValue(" + field + "," + minWidth + "," + maxWidth + "," + (baseDate != null ? baseDate : baseValue) + ")"; diff --git a/jdk/src/share/classes/java/time/format/DateTimeParseContext.java b/jdk/src/share/classes/java/time/format/DateTimeParseContext.java index 026a595896c..e3ca5e981a5 100644 --- a/jdk/src/share/classes/java/time/format/DateTimeParseContext.java +++ b/jdk/src/share/classes/java/time/format/DateTimeParseContext.java @@ -64,10 +64,12 @@ package java.time.format; import java.time.ZoneId; import java.time.chrono.Chronology; import java.time.chrono.IsoChronology; +import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; import java.util.ArrayList; import java.util.Locale; import java.util.Objects; +import java.util.Set; import java.util.function.Consumer; /** @@ -77,8 +79,8 @@ import java.util.function.Consumer; * It has the ability to store and retrieve the parsed values and manage optional segments. * It also provides key information to the parsing methods. * <p> - * Once parsing is complete, the {@link #toParsed()} is used to obtain the data. - * It contains a method to resolve the separate parsed fields into meaningful values. + * Once parsing is complete, the {@link #toUnresolved()} is used to obtain the unresolved + * result data. The {@link #toResolved()} is used to obtain the resolved result. * * @implSpec * This class is a mutable context intended for use from a single thread. @@ -309,16 +311,27 @@ final class DateTimeParseContext { } /** - * Gets the result of the parse. + * Gets the unresolved result of the parse. * * @return the result of the parse, not null */ - Parsed toParsed() { - Parsed parsed = currentParsed(); - parsed.effectiveChrono = getEffectiveChronology(); - return parsed; + Parsed toUnresolved() { + return currentParsed(); } + /** + * Gets the resolved result of the parse. + * + * @return the result of the parse, not null + */ + TemporalAccessor toResolved(ResolverStyle resolverStyle, Set<TemporalField> resolverFields) { + Parsed parsed = currentParsed(); + parsed.chrono = getEffectiveChronology(); + parsed.zone = (parsed.zone != null ? parsed.zone : formatter.getZone()); + return parsed.resolve(resolverStyle, resolverFields); + } + + //----------------------------------------------------------------------- /** * Gets the first value that was parsed for the specified field. diff --git a/jdk/src/share/classes/java/time/format/Parsed.java b/jdk/src/share/classes/java/time/format/Parsed.java index f9878bbb580..1ae19b58a73 100644 --- a/jdk/src/share/classes/java/time/format/Parsed.java +++ b/jdk/src/share/classes/java/time/format/Parsed.java @@ -135,10 +135,6 @@ final class Parsed implements TemporalAccessor { * Whether a leap-second is parsed. */ boolean leapSecond; - /** - * The effective chronology. - */ - Chronology effectiveChrono; /** * The resolver style to use. */ @@ -241,7 +237,6 @@ final class Parsed implements TemporalAccessor { fieldValues.keySet().retainAll(resolverFields); } this.resolverStyle = resolverStyle; - chrono = effectiveChrono; resolveFields(); resolveTimeLenient(); crossCheck(); @@ -266,14 +261,16 @@ final class Parsed implements TemporalAccessor { TemporalAccessor resolvedObject = targetField.resolve(fieldValues, this, resolverStyle); if (resolvedObject != null) { if (resolvedObject instanceof ChronoZonedDateTime) { - ChronoZonedDateTime<?> czdt = (ChronoZonedDateTime) resolvedObject; - if (zone.equals(czdt.getZone()) == false) { + ChronoZonedDateTime<?> czdt = (ChronoZonedDateTime<?>) resolvedObject; + if (zone == null) { + zone = czdt.getZone(); + } else if (zone.equals(czdt.getZone()) == false) { throw new DateTimeException("ChronoZonedDateTime must use the effective parsed zone: " + zone); } resolvedObject = czdt.toLocalDateTime(); } if (resolvedObject instanceof ChronoLocalDateTime) { - ChronoLocalDateTime<?> cldt = (ChronoLocalDateTime) resolvedObject; + ChronoLocalDateTime<?> cldt = (ChronoLocalDateTime<?>) resolvedObject; updateCheckConflict(cldt.toLocalTime(), Period.ZERO); updateCheckConflict(cldt.toLocalDate()); changedCount++; diff --git a/jdk/src/share/classes/java/util/ArrayList.java b/jdk/src/share/classes/java/util/ArrayList.java index b06c8fd1913..cdae99d0534 100644 --- a/jdk/src/share/classes/java/util/ArrayList.java +++ b/jdk/src/share/classes/java/util/ArrayList.java @@ -609,11 +609,14 @@ public class ArrayList<E> extends AbstractList<E> * @throws IndexOutOfBoundsException if {@code fromIndex} or * {@code toIndex} is out of range * ({@code fromIndex < 0 || - * fromIndex >= size() || * toIndex > size() || * toIndex < fromIndex}) */ protected void removeRange(int fromIndex, int toIndex) { + if (fromIndex > toIndex) { + throw new IndexOutOfBoundsException( + outOfBoundsMsg(fromIndex, toIndex)); + } modCount++; int numMoved = size - toIndex; System.arraycopy(elementData, toIndex, elementData, fromIndex, @@ -655,6 +658,13 @@ public class ArrayList<E> extends AbstractList<E> return "Index: "+index+", Size: "+size; } + /** + * A version used in checking (fromIndex > toIndex) condition + */ + private static String outOfBoundsMsg(int fromIndex, int toIndex) { + return "From Index: " + fromIndex + " > To Index: " + toIndex; + } + /** * Removes from this list all of its elements that are contained in the * specified collection. diff --git a/jdk/src/share/classes/sun/misc/REException.java b/jdk/src/share/classes/sun/misc/JavaBeansIntrospectorAccess.java similarity index 77% rename from jdk/src/share/classes/sun/misc/REException.java rename to jdk/src/share/classes/sun/misc/JavaBeansIntrospectorAccess.java index db68992d597..c32f24c655f 100644 --- a/jdk/src/share/classes/sun/misc/REException.java +++ b/jdk/src/share/classes/sun/misc/JavaBeansIntrospectorAccess.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,16 +25,8 @@ package sun.misc; -/** - * A class to signal exception from the RegexpPool class. - * @author James Gosling - */ +import java.lang.reflect.Method; -public class REException extends Exception { - - private static final long serialVersionUID = 4656584872733646963L; - - REException (String s) { - super(s); - } +public interface JavaBeansIntrospectorAccess { + Method getReadMethod(Class<?> clazz, String property) throws Exception; } diff --git a/jdk/src/share/classes/sun/misc/Regexp.java b/jdk/src/share/classes/sun/misc/Regexp.java deleted file mode 100644 index 4d488363bb3..00000000000 --- a/jdk/src/share/classes/sun/misc/Regexp.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c) 1995, 2004, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package sun.misc; - -/** - * A class to represent a regular expression. Only handles '*'s. - * @author James Gosling - */ - -public class Regexp { - /** if true then the matching process ignores case. */ - public boolean ignoreCase; - - /* - * regular expressions are carved into three regions: a constant string - * prefix, a constant string suffix, and a series of floating strings in - * between. In the input regular expression, they are separated by *s - */ - public String exp; - public String prefix, suffix; - public boolean exact; - public int prefixLen, suffixLen, totalLen; - public String mids[]; - - /** Create a new regular expression object. The regular expression - is a series of constant strings separated by *s. For example: - <dl> - <dt>*.gif <dd>Matches any string that ends in ".gif". - <dt>/tmp/* <dd>Matches any string that starts with "/tmp/". - <dt>/tmp/*.gif <dd>Matches any string that starts with "/tmp/" and ends - with ".gif". - <dt>/tmp/*new*.gif <dd>Matches any string that starts with "/tmp/" - and ends with ".gif" and has "new" somewhere in between. - </dl> - */ - public Regexp (String s) { - exp = s; - int firstst = s.indexOf('*'); - int lastst = s.lastIndexOf('*'); - if (firstst < 0) { - totalLen = s.length(); - exact = true; // no * s - } else { - prefixLen = firstst; - if (firstst == 0) - prefix = null; - else - prefix = s.substring(0, firstst); - suffixLen = s.length() - lastst - 1; - if (suffixLen == 0) - suffix = null; - else - suffix = s.substring(lastst + 1); - int nmids = 0; - int pos = firstst; - while (pos < lastst && pos >= 0) { - nmids++; - pos = s.indexOf('*', pos + 1); - } - totalLen = prefixLen + suffixLen; - if (nmids > 0) { - mids = new String[nmids]; - pos = firstst; - for (int i = 0; i < nmids; i++) { - pos++; - int npos = s.indexOf('*', pos); - if (pos < npos) { - mids[i] = s.substring(pos, npos); - totalLen += mids[i].length(); - } - pos = npos; - } - } - } - } - - /** Returns true iff the String s matches this regular expression. */ - final boolean matches(String s) { - return matches(s, 0, s.length()); - } - - /** Returns true iff the substring of s from offset for len characters - matches this regular expression. */ - boolean matches(String s, int offset, int len) { - if (exact) - return len == totalLen && - exp.regionMatches(ignoreCase, 0, s, offset, len); - if (len < totalLen) - return false; - if (prefixLen > 0 && - !prefix.regionMatches(ignoreCase, - 0, s, offset, prefixLen) - || - suffixLen > 0 && - !suffix.regionMatches(ignoreCase, - 0, s, offset + len - suffixLen, - suffixLen)) - return false; - if (mids == null) - return true; - int nmids = mids.length; - int spos = offset + prefixLen; - int limit = offset+len-suffixLen; - for (int i = 0; i<nmids; i++) { - String ms = mids[i]; - int ml = ms.length(); - while (spos+ml<=limit && - !ms.regionMatches(ignoreCase, - 0, s, spos, ml)) - spos++; - if (spos+ml>limit) - return false; - spos+=ml; - } - return true; - } - -} diff --git a/jdk/src/share/classes/sun/misc/RegexpPool.java b/jdk/src/share/classes/sun/misc/RegexpPool.java deleted file mode 100644 index c82c66fee13..00000000000 --- a/jdk/src/share/classes/sun/misc/RegexpPool.java +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright (c) 1995, 2001, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package sun.misc; -import java.io.*; - -/** - * A class to represent a pool of regular expressions. A string - * can be matched against the whole pool all at once. It is much - * faster than doing individual regular expression matches one-by-one. - * - * @see java.misc.RegexpTarget - * @author James Gosling - */ - -public class RegexpPool { - private RegexpNode prefixMachine = new RegexpNode(); - private RegexpNode suffixMachine = new RegexpNode(); - private static final int BIG = 0x7FFFFFFF; - private int lastDepth = BIG; - - public RegexpPool () { - } - - /** - * Add a regular expression to the pool of regular expressions. - * @param re The regular expression to add to the pool. - For now, only handles strings that either begin or end with - a '*'. - * @param ret The object to be returned when this regular expression is - matched. If ret is an instance of the RegexpTarget class, ret.found - is called with the string fragment that matched the '*' as its - parameter. - * @exception REException error - */ - public void add(String re, Object ret) throws REException { - add(re, ret, false); - } - - /** - * Replace the target for the regular expression with a different - * target. - * - * @param re The regular expression to be replaced in the pool. - * For now, only handles strings that either begin or end with - * a '*'. - * @param ret The object to be returned when this regular expression is - * matched. If ret is an instance of the RegexpTarget class, ret.found - * is called with the string fragment that matched the '*' as its - * parameter. - */ - public void replace(String re, Object ret) { - try { - add(re, ret, true); - } catch(Exception e) { - // should never occur if replace is true - } - } - - /** - * Delete the regular expression and its target. - * @param re The regular expression to be deleted from the pool. - * must begin or end with a '*' - * @return target - the old target. - */ - public Object delete(String re) { - Object o = null; - RegexpNode p = prefixMachine; - RegexpNode best = p; - int len = re.length() - 1; - int i; - boolean prefix = true; - - if (!re.startsWith("*") || - !re.endsWith("*")) - len++; - - if (len <= 0) - return null; - - /* March forward through the prefix machine */ - for (i = 0; p != null; i++) { - if (p.result != null && p.depth < BIG - && (!p.exact || i == len)) { - best = p; - } - if (i >= len) - break; - p = p.find(re.charAt(i)); - } - - /* march backward through the suffix machine */ - p = suffixMachine; - for (i = len; --i >= 0 && p != null;) { - if (p.result != null && p.depth < BIG) { - prefix = false; - best = p; - } - p = p.find(re.charAt(i)); - } - - // delete only if there is an exact match - if (prefix) { - if (re.equals(best.re)) { - o = best.result; - best.result = null; - - } - } else { - if (re.equals(best.re)) { - o = best.result; - best.result = null; - } - } - return o; - } - - /** Search for a match to a string & return the object associated - with it with the match. When multiple regular expressions - would match the string, the best match is returned first. - The next best match is returned the next time matchNext is - called. - @param s The string to match against the regular expressions - in the pool. - @return null on failure, otherwise the object associated with - the regular expression when it was added to the pool. - If the object is an instance of RegexpTarget, then - the return value is the result from calling - return.found(string_that_matched_wildcard). - */ - public Object match(String s) { - return matchAfter(s, BIG); - } - - /** Identical to match except that it will only find matches to - regular expressions that were added to the pool <i>after</i> - the last regular expression that matched in the last call - to match() or matchNext() */ - public Object matchNext(String s) { - return matchAfter(s, lastDepth); - } - - private void add(String re, Object ret, boolean replace) throws REException { - int len = re.length(); - RegexpNode p; - if (re.charAt(0) == '*') { - p = suffixMachine; - while (len > 1) - p = p.add(re.charAt(--len)); - } else { - boolean exact = false; - if (re.charAt(len - 1) == '*') - len--; - else - exact = true; - p = prefixMachine; - for (int i = 0; i < len; i++) - p = p.add(re.charAt(i)); - p.exact = exact; - } - - if (p.result != null && !replace) - throw new REException(re + " is a duplicate"); - - p.re = re; - p.result = ret; - } - - private Object matchAfter(String s, int lastMatchDepth) { - RegexpNode p = prefixMachine; - RegexpNode best = p; - int bst = 0; - int bend = 0; - int len = s.length(); - int i; - if (len <= 0) - return null; - /* March forward through the prefix machine */ - for (i = 0; p != null; i++) { - if (p.result != null && p.depth < lastMatchDepth - && (!p.exact || i == len)) { - lastDepth = p.depth; - best = p; - bst = i; - bend = len; - } - if (i >= len) - break; - p = p.find(s.charAt(i)); - } - /* march backward through the suffix machine */ - p = suffixMachine; - for (i = len; --i >= 0 && p != null;) { - if (p.result != null && p.depth < lastMatchDepth) { - lastDepth = p.depth; - best = p; - bst = 0; - bend = i+1; - } - p = p.find(s.charAt(i)); - } - Object o = best.result; - if (o != null && o instanceof RegexpTarget) - o = ((RegexpTarget) o).found(s.substring(bst, bend)); - return o; - } - - /** Resets the pool so that the next call to matchNext looks - at all regular expressions in the pool. match(s); is equivalent - to reset(); matchNext(s); - <p><b>Multithreading note:</b> reset/nextMatch leave state in the - regular expression pool. If multiple threads could be using this - pool this way, they should be syncronized to avoid race hazards. - match() was done in such a way that there are no such race - hazards: multiple threads can be matching in the same pool - simultaneously. */ - public void reset() { - lastDepth = BIG; - } - - /** Print this pool to standard output */ - public void print(PrintStream out) { - out.print("Regexp pool:\n"); - if (suffixMachine.firstchild != null) { - out.print(" Suffix machine: "); - suffixMachine.firstchild.print(out); - out.print("\n"); - } - if (prefixMachine.firstchild != null) { - out.print(" Prefix machine: "); - prefixMachine.firstchild.print(out); - out.print("\n"); - } - } - -} - -/* A node in a regular expression finite state machine. */ -class RegexpNode { - char c; - RegexpNode firstchild; - RegexpNode nextsibling; - int depth; - boolean exact; - Object result; - String re = null; - - RegexpNode () { - c = '#'; - depth = 0; - } - RegexpNode (char C, int depth) { - c = C; - this.depth = depth; - } - RegexpNode add(char C) { - RegexpNode p = firstchild; - if (p == null) - p = new RegexpNode (C, depth+1); - else { - while (p != null) - if (p.c == C) - return p; - else - p = p.nextsibling; - p = new RegexpNode (C, depth+1); - p.nextsibling = firstchild; - } - firstchild = p; - return p; - } - RegexpNode find(char C) { - for (RegexpNode p = firstchild; - p != null; - p = p.nextsibling) - if (p.c == C) - return p; - return null; - } - void print(PrintStream out) { - if (nextsibling != null) { - RegexpNode p = this; - out.print("("); - while (p != null) { - out.write(p.c); - if (p.firstchild != null) - p.firstchild.print(out); - p = p.nextsibling; - out.write(p != null ? '|' : ')'); - } - } else { - out.write(c); - if (firstchild != null) - firstchild.print(out); - } - } -} diff --git a/jdk/src/share/classes/sun/misc/SharedSecrets.java b/jdk/src/share/classes/sun/misc/SharedSecrets.java index bfb7c5b6203..3e268759bc7 100644 --- a/jdk/src/share/classes/sun/misc/SharedSecrets.java +++ b/jdk/src/share/classes/sun/misc/SharedSecrets.java @@ -55,6 +55,7 @@ public class SharedSecrets { private static JavaSecurityAccess javaSecurityAccess; private static JavaUtilZipFileAccess javaUtilZipFileAccess; private static JavaAWTAccess javaAWTAccess; + private static JavaBeansIntrospectorAccess javaBeansIntrospectorAccess; public static JavaUtilJarAccess javaUtilJarAccess() { if (javaUtilJarAccess == null) { @@ -184,4 +185,12 @@ public class SharedSecrets { } return javaAWTAccess; } + + public static JavaBeansIntrospectorAccess getJavaBeansIntrospectorAccess() { + return javaBeansIntrospectorAccess; + } + + public static void setJavaBeansIntrospectorAccess(JavaBeansIntrospectorAccess access) { + javaBeansIntrospectorAccess = access; + } } diff --git a/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java b/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java index f7018ed023f..36db753365a 100644 --- a/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java +++ b/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java @@ -32,13 +32,14 @@ import java.net.SocketAddress; import java.net.URI; import java.util.ArrayList; import java.util.List; -import java.util.StringTokenizer; import java.io.IOException; -import sun.misc.RegexpPool; import java.security.AccessController; import java.security.PrivilegedAction; +import java.util.StringJoiner; +import java.util.regex.Pattern; import sun.net.NetProperties; import sun.net.SocksProxy; +import static java.util.regex.Pattern.quote; /** * Supports proxy settings using system properties This proxy selector @@ -107,7 +108,7 @@ public class DefaultProxySelector extends ProxySelector { /** * How to deal with "non proxy hosts": - * since we do have to generate a RegexpPool we don't want to do that if + * since we do have to generate a pattern we don't want to do that if * it's not necessary. Therefore we do cache the result, on a per-protocol * basis, and change it only when the "source", i.e. the system property, * did change. @@ -119,17 +120,17 @@ public class DefaultProxySelector extends ProxySelector { static final String defStringVal = "localhost|127.*|[::1]|0.0.0.0|[::0]"; String hostsSource; - RegexpPool hostsPool; + Pattern pattern; final String property; final String defaultVal; static NonProxyInfo ftpNonProxyInfo = new NonProxyInfo("ftp.nonProxyHosts", null, null, defStringVal); static NonProxyInfo httpNonProxyInfo = new NonProxyInfo("http.nonProxyHosts", null, null, defStringVal); static NonProxyInfo socksNonProxyInfo = new NonProxyInfo("socksNonProxyHosts", null, null, defStringVal); - NonProxyInfo(String p, String s, RegexpPool pool, String d) { + NonProxyInfo(String p, String s, Pattern pattern, String d) { property = p; hostsSource = s; - hostsPool = pool; + this.pattern = pattern; defaultVal = d; } } @@ -255,7 +256,7 @@ public class DefaultProxySelector extends ProxySelector { nphosts = nprop.defaultVal; } else { nprop.hostsSource = null; - nprop.hostsPool = null; + nprop.pattern = null; } } else if (nphosts.length() != 0) { // add the required default patterns @@ -266,20 +267,11 @@ public class DefaultProxySelector extends ProxySelector { } if (nphosts != null) { if (!nphosts.equals(nprop.hostsSource)) { - RegexpPool pool = new RegexpPool(); - StringTokenizer st = new StringTokenizer(nphosts, "|", false); - try { - while (st.hasMoreTokens()) { - pool.add(st.nextToken().toLowerCase(), Boolean.TRUE); - } - } catch (sun.misc.REException ex) { - } - nprop.hostsPool = pool; + nprop.pattern = toPattern(nphosts); nprop.hostsSource = nphosts; } } - if (nprop.hostsPool != null && - nprop.hostsPool.match(urlhost) != null) { + if (shouldNotUseProxyFor(nprop.pattern, urlhost)) { return Proxy.NO_PROXY; } } @@ -355,4 +347,49 @@ public class DefaultProxySelector extends ProxySelector { private native static boolean init(); private synchronized native Proxy getSystemProxy(String protocol, String host); + + /** + * @return {@code true} if given this pattern for non-proxy hosts and this + * urlhost the proxy should NOT be used to access this urlhost + */ + static boolean shouldNotUseProxyFor(Pattern pattern, String urlhost) { + if (pattern == null || urlhost.isEmpty()) + return false; + boolean matches = pattern.matcher(urlhost).matches(); + return matches; + } + + /** + * @param mask non-null mask + * @return {@link java.util.regex.Pattern} corresponding to this mask + * or {@code null} in case mask should not match anything + */ + static Pattern toPattern(String mask) { + boolean disjunctionEmpty = true; + StringJoiner joiner = new StringJoiner("|"); + for (String disjunct : mask.split("\\|")) { + if (disjunct.isEmpty()) + continue; + disjunctionEmpty = false; + String regex = disjunctToRegex(disjunct.toLowerCase()); + joiner.add(regex); + } + return disjunctionEmpty ? null : Pattern.compile(joiner.toString()); + } + + /** + * @param disjunct non-null mask disjunct + * @return java regex string corresponding to this mask + */ + static String disjunctToRegex(String disjunct) { + String regex; + if (disjunct.startsWith("*")) { + regex = ".*" + quote(disjunct.substring(1)); + } else if (disjunct.endsWith("*")) { + regex = quote(disjunct.substring(0, disjunct.length() - 1)) + ".*"; + } else { + regex = quote(disjunct); + } + return regex; + } } diff --git a/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java b/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java index 1d46e46d0ad..91b676c2c0c 100644 --- a/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java +++ b/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java @@ -30,8 +30,7 @@ import java.nio.charset.Charset; import java.nio.charset.spi.CharsetProvider; import sun.nio.cs.AbstractCharsetProvider; import java.security.AccessController; -import sun.security.action.GetPropertyAction; - +import java.security.PrivilegedAction; /** * Provider for extended charsets. @@ -1175,7 +1174,7 @@ public class ExtendedCharsets return; String map = AccessController.doPrivileged( - new GetPropertyAction("sun.nio.cs.map")); + (PrivilegedAction<String>) () -> System.getProperty("sun.nio.cs.map")); boolean sjisIsMS932 = false; boolean iso2022jpIsMS50221 = false; boolean iso2022jpIsMS50220 = false; @@ -1296,7 +1295,7 @@ public class ExtendedCharsets } } String osName = AccessController.doPrivileged( - new GetPropertyAction("os.name")); + (PrivilegedAction<String>) () -> System.getProperty("os.name")); if ("SunOS".equals(osName) || "Linux".equals(osName) || "AIX".equals(osName) || osName.contains("OS X")) { charset("x-COMPOUND_TEXT", "COMPOUND_TEXT", diff --git a/jdk/src/share/classes/sun/nio/cs/ext/JISAutoDetect.java b/jdk/src/share/classes/sun/nio/cs/ext/JISAutoDetect.java index 27a9cf8a07c..a3bedd9ab8e 100644 --- a/jdk/src/share/classes/sun/nio/cs/ext/JISAutoDetect.java +++ b/jdk/src/share/classes/sun/nio/cs/ext/JISAutoDetect.java @@ -35,7 +35,7 @@ import java.nio.charset.CharacterCodingException; import java.nio.charset.MalformedInputException; import sun.nio.cs.HistoricallyNamedCharset; import java.security.AccessController; -import sun.security.action.GetPropertyAction; +import java.security.PrivilegedAction; import static java.lang.Character.UnicodeBlock; @@ -117,6 +117,8 @@ public class JISAutoDetect } private static class Decoder extends CharsetDecoder { + private final static String osName = AccessController.doPrivileged( + (PrivilegedAction<String>) () -> System.getProperty("os.name")); private final static String SJISName = getSJISName(); private final static String EUCJPName = getEUCJPName(); @@ -239,12 +241,11 @@ public class JISAutoDetect return ((CharsetDecoder) detectedDecoder).charset(); } + /** * Returned Shift_JIS Charset name is OS dependent */ private static String getSJISName() { - String osName = AccessController.doPrivileged( - new GetPropertyAction("os.name")); if (osName.equals("Solaris") || osName.equals("SunOS")) return("PCK"); else if (osName.startsWith("Windows")) @@ -258,8 +259,6 @@ public class JISAutoDetect */ private static String getEUCJPName() { - String osName = AccessController.doPrivileged( - new GetPropertyAction("os.name")); if (osName.equals("Solaris") || osName.equals("SunOS")) return("x-eucjp-open"); else diff --git a/jdk/src/share/classes/sun/security/jgss/wrapper/GSSLibStub.java b/jdk/src/share/classes/sun/security/jgss/wrapper/GSSLibStub.java index 47861f8081e..900532459bf 100644 --- a/jdk/src/share/classes/sun/security/jgss/wrapper/GSSLibStub.java +++ b/jdk/src/share/classes/sun/security/jgss/wrapper/GSSLibStub.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -48,10 +48,11 @@ class GSSLibStub { /** * Initialization routine to dynamically load function pointers. * - * @param library name to dlopen + * @param lib library name to dlopen + * @param debug set to true for reporting native debugging info * @return true if succeeded, false otherwise. */ - static native boolean init(String lib); + static native boolean init(String lib, boolean debug); private static native long getMechPtr(byte[] oidDerEncoding); // Miscellaneous routines diff --git a/jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java b/jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java index 238e12bc326..94ca2c669bf 100644 --- a/jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java +++ b/jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java @@ -100,7 +100,7 @@ public final class SunNativeProvider extends Provider { gssLibs = new String[]{ defaultLib }; } for (String libName: gssLibs) { - if (GSSLibStub.init(libName)) { + if (GSSLibStub.init(libName, DEBUG)) { debug("Loaded GSS library: " + libName); Oid[] mechs = GSSLibStub.indicateMechs(); HashMap<String, String> map = diff --git a/jdk/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java b/jdk/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java index 5a24a694b3d..05499ead984 100644 --- a/jdk/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java +++ b/jdk/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java @@ -50,8 +50,6 @@ import sun.security.provider.certpath.X509CertificatePair; import sun.security.util.Cache; import sun.security.util.Debug; import sun.security.x509.X500Name; -import sun.security.action.GetBooleanAction; -import sun.security.action.GetPropertyAction; /** * A <code>CertStore</code> that retrieves <code>Certificates</code> and @@ -146,7 +144,7 @@ public final class LDAPCertStore extends CertStoreSpi { static { String s = AccessController.doPrivileged( - new GetPropertyAction(PROP_LIFETIME)); + (PrivilegedAction<String>) () -> System.getProperty(PROP_LIFETIME)); if (s != null) { LIFETIME = Integer.parseInt(s); // throws NumberFormatException } else { @@ -249,7 +247,7 @@ public final class LDAPCertStore extends CertStoreSpi { // If property is set to true, disable application resource file lookup. boolean disableAppResourceFiles = AccessController.doPrivileged( - new GetBooleanAction(PROP_DISABLE_APP_RESOURCE_FILES)); + (PrivilegedAction<Boolean>) () -> Boolean.getBoolean(PROP_DISABLE_APP_RESOURCE_FILES)); if (disableAppResourceFiles) { if (debug != null) { debug.println("LDAPCertStore disabling app resource files"); diff --git a/jdk/src/share/classes/sun/security/smartcardio/ChannelImpl.java b/jdk/src/share/classes/sun/security/smartcardio/ChannelImpl.java index b1c355e55f3..1d3ec88d1df 100644 --- a/jdk/src/share/classes/sun/security/smartcardio/ChannelImpl.java +++ b/jdk/src/share/classes/sun/security/smartcardio/ChannelImpl.java @@ -27,13 +27,12 @@ package sun.security.smartcardio; import java.nio.*; import java.security.AccessController; +import java.security.PrivilegedAction; import javax.smartcardio.*; import static sun.security.smartcardio.PCSC.*; -import sun.security.action.GetPropertyAction; - /** * CardChannel implementation. * @@ -125,7 +124,8 @@ final class ChannelImpl extends CardChannel { getBooleanProperty("sun.security.smartcardio.t1StripLe", false); private static boolean getBooleanProperty(String name, boolean def) { - String val = AccessController.doPrivileged(new GetPropertyAction(name)); + String val = AccessController.doPrivileged( + (PrivilegedAction<String>) () -> System.getProperty(name)); if (val == null) { return def; } diff --git a/jdk/src/share/classes/sun/security/x509/CRLReasonCodeExtension.java b/jdk/src/share/classes/sun/security/x509/CRLReasonCodeExtension.java index 0016bc18cd3..5212b0e78b5 100644 --- a/jdk/src/share/classes/sun/security/x509/CRLReasonCodeExtension.java +++ b/jdk/src/share/classes/sun/security/x509/CRLReasonCodeExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -34,29 +34,9 @@ import sun.security.util.*; /** * The reasonCode is a non-critical CRL entry extension that identifies - * the reason for the certificate revocation. CAs are strongly - * encouraged to include reason codes in CRL entries; however, the - * reason code CRL entry extension should be absent instead of using the - * unspecified (0) reasonCode value. - * <p>The ASN.1 syntax for this is: - * <pre> - * id-ce-cRLReason OBJECT IDENTIFIER ::= { id-ce 21 } - * - * -- reasonCode ::= { CRLReason } - * - * CRLReason ::= ENUMERATED { - * unspecified (0), - * keyCompromise (1), - * cACompromise (2), - * affiliationChanged (3), - * superseded (4), - * cessationOfOperation (5), - * certificateHold (6), - * removeFromCRL (8), - * privilegeWithdrawn (9), - * aACompromise (10) } - * </pre> + * the reason for the certificate revocation. * @author Hemma Prafullchandra + * @see java.security.cert.CRLReason * @see Extension * @see CertAttrSet */ @@ -64,23 +44,11 @@ public class CRLReasonCodeExtension extends Extension implements CertAttrSet<String> { /** - * Attribute name and Reason codes + * Attribute name */ public static final String NAME = "CRLReasonCode"; public static final String REASON = "reason"; - public static final int UNSPECIFIED = 0; - public static final int KEY_COMPROMISE = 1; - public static final int CA_COMPROMISE = 2; - public static final int AFFLIATION_CHANGED = 3; - public static final int SUPERSEDED = 4; - public static final int CESSATION_OF_OPERATION = 5; - public static final int CERTIFICATE_HOLD = 6; - // note 7 missing in syntax - public static final int REMOVE_FROM_CRL = 8; - public static final int PRIVILEGE_WITHDRAWN = 9; - public static final int AA_COMPROMISE = 10; - private static CRLReason[] values = CRLReason.values(); private int reasonCode = 0; @@ -181,7 +149,7 @@ public class CRLReasonCodeExtension extends Extension * Returns a printable representation of the Reason code. */ public String toString() { - return super.toString() + " Reason Code: " + values[reasonCode]; + return super.toString() + " Reason Code: " + getReasonCode(); } /** diff --git a/jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c b/jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c index 15fd41794e3..e14036b899c 100644 --- a/jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c +++ b/jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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,20 +28,6 @@ #include "NativeFunc.h" #include "jlong.h" #include <jni.h> -#include "jni_util.h" - -/* Throws a Java Exception by name */ - -void throwByName(JNIEnv *env, const char *name, const char *msg) { - jclass cls = (*env)->FindClass(env, name); - - if (cls != 0) /* Otherwise an exception has already been thrown */ - (*env)->ThrowNew(env, cls, msg); -} - -void throwOutOfMemoryError(JNIEnv *env, const char *message) { - throwByName(env, "java/lang/OutOfMemoryError", message); -} /* Constants for indicating what type of info is needed for inquiries */ const int TYPE_CRED_NAME = 10; @@ -51,29 +37,32 @@ const int TYPE_CRED_USAGE = 12; /* * Class: sun_security_jgss_wrapper_GSSLibStub * Method: init - * Signature: (Ljava/lang/String;)Z + * Signature: (Ljava/lang/String;Z)Z */ JNIEXPORT jboolean JNICALL Java_sun_security_jgss_wrapper_GSSLibStub_init(JNIEnv *env, jclass jcls, - jstring jlibName) { + jstring jlibName, + jboolean jDebug) { const char *libName; char *error = NULL; + if (!jDebug) { + JGSS_DEBUG = 0; + } else { + JGSS_DEBUG = 1; + } + if (jlibName == NULL) { - debug(env, "[GSSLibStub_init] GSS lib name is NULL"); + TRACE0("[GSSLibStub_init] GSS lib name is NULL"); return JNI_FALSE; } libName = (*env)->GetStringUTFChars(env, jlibName, NULL); if (libName == NULL) { - if (!(*env)->ExceptionCheck(env)) { - throwOutOfMemoryError(env, NULL); - } return JNI_FALSE; } - sprintf(debugBuf, "[GSSLibStub_init] libName=%s", libName); - debug(env, debugBuf); + TRACE1("[GSSLibStub_init] libName=%s", libName); /* initialize global function table */ error = loadNative(libName); @@ -82,7 +71,7 @@ Java_sun_security_jgss_wrapper_GSSLibStub_init(JNIEnv *env, if (error == NULL) { return JNI_TRUE; } else { - debug(env, error); + TRACE0(error); return JNI_FALSE; } } @@ -100,136 +89,139 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getMechPtr(JNIEnv *env, unsigned int i, len; jbyte* bytes; jthrowable gssEx; - jboolean found; + int found; if (jbytes != NULL) { - found = JNI_FALSE; + found = 0; len = (unsigned int)((*env)->GetArrayLength(env, jbytes) - 2); bytes = (*env)->GetByteArrayElements(env, jbytes, NULL); - if (bytes != NULL) { - for (i = 0; i < ftab->mechs->count; i++) { - cOid = &(ftab->mechs->elements[i]); - if (len == cOid->length && - (memcmp(cOid->elements, (bytes + 2), len) == 0)) { - // Found a match - found = JNI_TRUE; - break; - } - } - (*env)->ReleaseByteArrayElements(env, jbytes, bytes, 0); - } else { - JNU_CHECK_EXCEPTION_RETURN(env, jlong_zero); + if (bytes == NULL) { + return ptr_to_jlong(NULL); } - if (found != JNI_TRUE) { + for (i = 0; i < ftab->mechs->count; i++) { + cOid = &(ftab->mechs->elements[i]); + if (len == cOid->length && + (memcmp(cOid->elements, (bytes + 2), len) == 0)) { + // Found a match + found = 1; + break; + } + } + (*env)->ReleaseByteArrayElements(env, jbytes, bytes, 0); + + if (found != 1) { checkStatus(env, NULL, GSS_S_BAD_MECH, 0, "[GSSLibStub_getMechPtr]"); return ptr_to_jlong(NULL); - } else return ptr_to_jlong(cOid); - } else return ptr_to_jlong(GSS_C_NO_OID); -} - - -/* - * Utility routine which creates a gss_channel_bindings_t structure - * using the specified org.ietf.jgss.ChannelBinding object. - */ -gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { - gss_channel_bindings_t cb; - jobject jinetAddr; - jbyteArray value; - - if (jcb == NULL) { - return GSS_C_NO_CHANNEL_BINDINGS; - } - - cb = malloc(sizeof(struct gss_channel_bindings_struct)); - - if (cb == NULL) { - throwOutOfMemoryError(env,NULL); - return NULL; - } - - /* set up initiator address */ - jinetAddr = - (*env)->CallObjectMethod(env, jcb, - MID_ChannelBinding_getInitiatorAddr); - if (jinetAddr != NULL) { - cb->initiator_addrtype = GSS_C_AF_INET; - value = (*env)->CallObjectMethod(env, jinetAddr, - MID_InetAddress_getAddr); - if (!initGSSBuffer(env, value, &(cb->initiator_address))) { - return NULL; + } else { + return ptr_to_jlong(cOid); } } else { - cb->initiator_addrtype = GSS_C_AF_NULLADDR; - cb->initiator_address.length = 0; - cb->initiator_address.value = NULL; + return ptr_to_jlong(GSS_C_NO_OID); } - /* set up acceptor address */ - jinetAddr = - (*env)->CallObjectMethod(env, jcb, - MID_ChannelBinding_getAcceptorAddr); - if (jinetAddr != NULL) { - cb->acceptor_addrtype = GSS_C_AF_INET; - value = (*env)->CallObjectMethod(env, jinetAddr, - MID_InetAddress_getAddr); - if (!initGSSBuffer(env, value, &(cb->acceptor_address))) { - return NULL; - } - } else { - cb->acceptor_addrtype = GSS_C_AF_NULLADDR; - cb->acceptor_address.length = 0; - cb->acceptor_address.value = NULL; - } - /* set up application data */ - value = (*env)->CallObjectMethod(env, jcb, - MID_ChannelBinding_getAppData); - if (value != NULL) { - if (!initGSSBuffer(env, value, &(cb->application_data))) { - return NULL; - } - } else { - cb->application_data.length = 0; - cb->application_data.value = NULL; - } - return cb; } /* * Utility routine which releases the specified gss_channel_bindings_t * structure. */ -void releaseGSSCB(JNIEnv *env, jobject jcb, gss_channel_bindings_t cb) { +void deleteGSSCB(gss_channel_bindings_t cb) { jobject jinetAddr; jbyteArray value; if (cb == GSS_C_NO_CHANNEL_BINDINGS) return; + /* release initiator address */ if (cb->initiator_addrtype != GSS_C_AF_NULLADDR) { - jinetAddr = - (*env)->CallObjectMethod(env, jcb, - MID_ChannelBinding_getInitiatorAddr); - value = (*env)->CallObjectMethod(env, jinetAddr, - MID_InetAddress_getAddr); - resetGSSBuffer(env, value, &(cb->initiator_address)); + resetGSSBuffer(&(cb->initiator_address)); } /* release acceptor address */ if (cb->acceptor_addrtype != GSS_C_AF_NULLADDR) { - jinetAddr = - (*env)->CallObjectMethod(env, jcb, - MID_ChannelBinding_getAcceptorAddr); - value = (*env)->CallObjectMethod(env, jinetAddr, - MID_InetAddress_getAddr); - resetGSSBuffer(env, value, &(cb->acceptor_address)); + resetGSSBuffer(&(cb->acceptor_address)); } /* release application data */ if (cb->application_data.length != 0) { - value = (*env)->CallObjectMethod(env, jcb, - MID_ChannelBinding_getAppData); - resetGSSBuffer(env, value, &(cb->application_data)); + resetGSSBuffer(&(cb->application_data)); } free(cb); } +/* + * Utility routine which creates a gss_channel_bindings_t structure + * using the specified org.ietf.jgss.ChannelBinding object. + * NOTE: must call deleteGSSCB() to free up the resources. + */ +gss_channel_bindings_t newGSSCB(JNIEnv *env, jobject jcb) { + gss_channel_bindings_t cb; + jobject jinetAddr; + jbyteArray value; + int i; + + if (jcb == NULL) { + return GSS_C_NO_CHANNEL_BINDINGS; + } + + cb = malloc(sizeof(struct gss_channel_bindings_struct)); + if (cb == NULL) { + throwOutOfMemoryError(env,NULL); + return NULL; + } + + // initialize addrtype in CB first + cb->initiator_addrtype = GSS_C_AF_NULLADDR; + cb->acceptor_addrtype = GSS_C_AF_NULLADDR; + + /* set up initiator address */ + jinetAddr = (*env)->CallObjectMethod(env, jcb, + MID_ChannelBinding_getInitiatorAddr); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + if (jinetAddr != NULL) { + value = (*env)->CallObjectMethod(env, jinetAddr, + MID_InetAddress_getAddr); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + cb->initiator_addrtype = GSS_C_AF_INET; + initGSSBuffer(env, value, &(cb->initiator_address)); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + } + /* set up acceptor address */ + jinetAddr = (*env)->CallObjectMethod(env, jcb, + MID_ChannelBinding_getAcceptorAddr); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + if (jinetAddr != NULL) { + value = (*env)->CallObjectMethod(env, jinetAddr, + MID_InetAddress_getAddr); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + cb->acceptor_addrtype = GSS_C_AF_INET; + initGSSBuffer(env, value, &(cb->acceptor_address)); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + } + /* set up application data */ + value = (*env)->CallObjectMethod(env, jcb, + MID_ChannelBinding_getAppData); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + initGSSBuffer(env, value, &(cb->application_data)); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + return cb; +cleanup: + deleteGSSCB(cb); + return NULL; +} + /* * Utility routine for storing the supplementary information * into the specified org.ietf.jgss.MessageProp object. @@ -245,7 +237,9 @@ void setSupplementaryInfo(JNIEnv *env, jobject jstub, jobject jprop, isUnseq = ((suppInfo & GSS_S_UNSEQ_TOKEN) != 0); hasGap = ((suppInfo & GSS_S_GAP_TOKEN) != 0); minorMsg = getMinorMessage(env, jstub, minor); - CHECK_NULL(minorMsg); + if ((*env)->ExceptionCheck(env)) { + return; + } (*env)->CallVoidMethod(env, jprop, MID_MessageProp_setSupplementaryStates, isDuplicate, isOld, isUnseq, hasGap, minor, minorMsg); @@ -281,22 +275,26 @@ Java_sun_security_jgss_wrapper_GSSLibStub_inquireNamesForMech(JNIEnv *env, jobjectArray result; if (ftab->inquireNamesForMech != NULL) { + mech = (gss_OID)jlong_to_ptr((*env)->GetLongField(env, jobj, FID_GSSLibStub_pMech)); + nameTypes = GSS_C_NO_OID_SET; - mech = (gss_OID)jlong_to_ptr((*env)->GetLongField(env, jobj, FID_GSSLibStub_pMech)); - nameTypes = GSS_C_NO_OID_SET; + /* gss_inquire_names_for_mech(...) => N/A */ + major = (*ftab->inquireNamesForMech)(&minor, mech, &nameTypes); - /* gss_inquire_names_for_mech(...) => N/A */ - major = (*ftab->inquireNamesForMech)(&minor, mech, &nameTypes); + /* release intermediate buffers before checking status */ + result = getJavaOIDArray(env, nameTypes); + deleteGSSOIDSet(nameTypes); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } - result = getJavaOIDArray(env, nameTypes); - - /* release intermediate buffers */ - deleteGSSOIDSet(nameTypes); - - CHECK_NULL_RETURN(result, NULL); - checkStatus(env, jobj, major, minor, "[GSSLibStub_inquireNamesForMech]"); - return result; - } else return NULL; + checkStatus(env, jobj, major, minor, "[GSSLibStub_inquireNamesForMech]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + return result; + } + return NULL; } /* @@ -314,8 +312,7 @@ Java_sun_security_jgss_wrapper_GSSLibStub_releaseName(JNIEnv *env, nameHdl = (gss_name_t) jlong_to_ptr(pName); - sprintf(debugBuf, "[GSSLibStub_releaseName] %ld", (long) pName); - debug(env, debugBuf); + TRACE1("[GSSLibStub_releaseName] %ld", (long) pName); if (nameHdl != GSS_C_NO_NAME) { /* gss_release_name(...) => GSS_S_BAD_NAME */ @@ -341,15 +338,16 @@ Java_sun_security_jgss_wrapper_GSSLibStub_importName(JNIEnv *env, gss_name_t nameHdl; nameHdl = GSS_C_NO_NAME; - debug(env, "[GSSLibStub_importName]"); + TRACE0("[GSSLibStub_importName]"); - if (!initGSSBuffer(env, jnameVal, &nameVal)) { - return jlong_zero; + initGSSBuffer(env, jnameVal, &nameVal); + if ((*env)->ExceptionCheck(env)) { + return jlong_zero; } + nameType = newGSSOID(env, jnameType); if ((*env)->ExceptionCheck(env)) { - deleteGSSOID(nameType); - resetGSSBuffer(env, jnameVal, &nameVal); + resetGSSBuffer(&nameVal); return jlong_zero; } @@ -357,14 +355,16 @@ Java_sun_security_jgss_wrapper_GSSLibStub_importName(JNIEnv *env, GSS_S_BAD_MECH */ major = (*ftab->importName)(&minor, &nameVal, nameType, &nameHdl); - sprintf(debugBuf, "[GSSLibStub_importName] %ld", (long) nameHdl); - debug(env, debugBuf); + TRACE1("[GSSLibStub_importName] %ld", (long) nameHdl); /* release intermediate buffers */ deleteGSSOID(nameType); - resetGSSBuffer(env, jnameVal, &nameVal); + resetGSSBuffer(&nameVal); checkStatus(env, jobj, major, minor, "[GSSLibStub_importName]"); + if ((*env)->ExceptionCheck(env)) { + return jlong_zero; + } return ptr_to_jlong(nameHdl); } @@ -388,9 +388,7 @@ Java_sun_security_jgss_wrapper_GSSLibStub_compareName(JNIEnv *env, nameHdl1 = (gss_name_t) jlong_to_ptr(pName1); nameHdl2 = (gss_name_t) jlong_to_ptr(pName2); - sprintf(debugBuf, "[GSSLibStub_compareName] %ld %ld", (long) pName1, - (long) pName2); - debug(env, debugBuf); + TRACE2("[GSSLibStub_compareName] %ld %ld", (long)pName1, (long)pName2); if ((nameHdl1 != GSS_C_NO_NAME) && (nameHdl2 != GSS_C_NO_NAME)) { @@ -417,8 +415,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_canonicalizeName(JNIEnv *env, gss_OID mech; nameHdl = (gss_name_t) jlong_to_ptr(pName); - sprintf(debugBuf, "[GSSLibStub_canonicalizeName] %ld", (long) pName); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_canonicalizeName] %ld", (long) pName); if (nameHdl != GSS_C_NO_NAME) { mech = (gss_OID) jlong_to_ptr((*env)->GetLongField(env, jobj, FID_GSSLibStub_pMech)); @@ -428,16 +426,15 @@ Java_sun_security_jgss_wrapper_GSSLibStub_canonicalizeName(JNIEnv *env, GSS_S_BAD_NAME, GSS_S_BAD_MECH */ major = (*ftab->canonicalizeName)(&minor, nameHdl, mech, &mnNameHdl); - sprintf(debugBuf, "[GSSLibStub_canonicalizeName] MN=%ld", - (long)mnNameHdl); - debug(env, debugBuf); - - /* release intermediate buffers */ + TRACE1("[GSSLibStub_canonicalizeName] MN=%ld", (long)mnNameHdl); checkStatus(env, jobj, major, minor, "[GSSLibStub_canonicalizeName]"); - } else mnNameHdl = GSS_C_NO_NAME; - - return ptr_to_jlong(mnNameHdl); + if ((*env)->ExceptionCheck(env)) { + return (jlong) GSS_C_NO_NAME; + } + return ptr_to_jlong(mnNameHdl); + } + return (jlong) GSS_C_NO_NAME; } /* @@ -455,8 +452,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_exportName(JNIEnv *env, jbyteArray jresult; nameHdl = (gss_name_t) jlong_to_ptr(pName); - sprintf(debugBuf, "[GSSLibStub_exportName] %ld", (long) pName); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_exportName] %ld", (long) pName); /* gss_export_name(...) => GSS_S_NAME_NOT_MN, GSS_S_BAD_NAMETYPE, GSS_S_BAD_NAME */ @@ -464,28 +461,38 @@ Java_sun_security_jgss_wrapper_GSSLibStub_exportName(JNIEnv *env, /* canonicalize the internal name to MN and retry */ if (major == GSS_S_NAME_NOT_MN) { - debug(env, "[GSSLibStub_exportName] canonicalize and re-try"); + /* release intermediate buffers before retrying */ + (*ftab->releaseBuffer)(&minor, &outBuf); + + TRACE0("[GSSLibStub_exportName] canonicalize and re-try"); mNameHdl = (gss_name_t)jlong_to_ptr( Java_sun_security_jgss_wrapper_GSSLibStub_canonicalizeName (env, jobj, pName)); - /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { - return NULL; + return NULL; } + major = (*ftab->exportName)(&minor, mNameHdl, &outBuf); Java_sun_security_jgss_wrapper_GSSLibStub_releaseName (env, jobj, ptr_to_jlong(mNameHdl)); - /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { + /* release intermediate buffers */ + (*ftab->releaseBuffer)(&minor, &outBuf); return NULL; } } - /* release intermediate buffers */ + /* release intermediate buffers before checking status */ jresult = getJavaBuffer(env, &outBuf); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } checkStatus(env, jobj, major, minor, "[GSSLibStub_exportName]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } return jresult; } @@ -507,8 +514,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_displayName(JNIEnv *env, jobjectArray jresult; nameHdl = (gss_name_t) jlong_to_ptr(pName); - sprintf(debugBuf, "[GSSLibStub_displayName] %ld", (long) pName); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_displayName] %ld", (long) pName); if (nameHdl == GSS_C_NO_NAME) { checkStatus(env, jobj, GSS_S_BAD_NAME, 0, "[GSSLibStub_displayName]"); @@ -518,26 +525,37 @@ Java_sun_security_jgss_wrapper_GSSLibStub_displayName(JNIEnv *env, /* gss_display_name(...) => GSS_S_BAD_NAME */ major = (*ftab->displayName)(&minor, nameHdl, &outNameBuf, &outNameType); - /* release intermediate buffers */ + /* release intermediate buffers before checking status */ jname = getJavaString(env, &outNameBuf); - if (jname == NULL && !(*env)->ExceptionCheck(env)) { - throwOutOfMemoryError(env, NULL); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + + checkStatus(env, jobj, major, minor, "[GSSLibStub_displayName]"); + if ((*env)->ExceptionCheck(env)) { return NULL; } jtype = getJavaOID(env, outNameType); - jresult = (*env)->NewObjectArray(env, 2, CLS_Object, NULL); - CHECK_NULL_RETURN(jresult, NULL); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + jresult = (*env)->NewObjectArray(env, 2, CLS_Object, NULL); /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { return NULL; } (*env)->SetObjectArrayElement(env, jresult, 0, jname); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } (*env)->SetObjectArrayElement(env, jresult, 1, jtype); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } - checkStatus(env, jobj, major, minor, "[GSSLibStub_displayName]"); return jresult; } @@ -561,20 +579,14 @@ Java_sun_security_jgss_wrapper_GSSLibStub_acquireCred(JNIEnv *env, gss_cred_id_t credHdl; credHdl = GSS_C_NO_CREDENTIAL; - debug(env, "[GSSLibStub_acquireCred]"); - + TRACE0("[GSSLibStub_acquireCred]"); mech = (gss_OID) jlong_to_ptr((*env)->GetLongField(env, jobj, FID_GSSLibStub_pMech)); - mechs = newGSSOIDSet(env, mech); - if ((*env)->ExceptionCheck(env)) { - return jlong_zero; - } + mechs = newGSSOIDSet(mech); credUsage = (gss_cred_usage_t) usage; nameHdl = (gss_name_t) jlong_to_ptr(pName); - sprintf(debugBuf, "[GSSLibStub_acquireCred] pName=%ld, usage=%d", - (long) pName, usage); - debug(env, debugBuf); + TRACE2("[GSSLibStub_acquireCred] pName=%ld, usage=%d", (long)pName, usage); /* gss_acquire_cred(...) => GSS_S_BAD_MECH, GSS_S_BAD_NAMETYPE, GSS_S_BAD_NAME, GSS_S_CREDENTIALS_EXPIRED, GSS_S_NO_CRED */ @@ -584,10 +596,12 @@ Java_sun_security_jgss_wrapper_GSSLibStub_acquireCred(JNIEnv *env, /* release intermediate buffers */ deleteGSSOIDSet(mechs); - sprintf(debugBuf, "[GSSLibStub_acquireCred] pCred=%ld", (long) credHdl); - debug(env, debugBuf); + TRACE1("[GSSLibStub_acquireCred] pCred=%ld", (long) credHdl); checkStatus(env, jobj, major, minor, "[GSSLibStub_acquireCred]"); + if ((*env)->ExceptionCheck(env)) { + return jlong_zero; + } return ptr_to_jlong(credHdl); } @@ -606,15 +620,16 @@ Java_sun_security_jgss_wrapper_GSSLibStub_releaseCred(JNIEnv *env, credHdl = (gss_cred_id_t) jlong_to_ptr(pCred); - sprintf(debugBuf, "[GSSLibStub_releaseCred] %ld", (long int)pCred); - debug(env, debugBuf); + TRACE1("[GSSLibStub_releaseCred] %ld", (long int)pCred); if (credHdl != GSS_C_NO_CREDENTIAL) { - /* gss_release_cred(...) => GSS_S_NO_CRED(!) */ major = (*ftab->releaseCred)(&minor, &credHdl); checkStatus(env, jobj, major, minor, "[GSSLibStub_releaseCred]"); + if ((*env)->ExceptionCheck(env)) { + return jlong_zero; + } } return ptr_to_jlong(credHdl); } @@ -630,8 +645,7 @@ void inquireCred(JNIEnv *env, jobject jobj, gss_cred_id_t pCred, credHdl = pCred; - sprintf(debugBuf, "[gss_inquire_cred] %ld", (long) pCred); - debug(env, debugBuf); + TRACE1("[gss_inquire_cred] %ld", (long) pCred); /* gss_inquire_cred(...) => GSS_S_DEFECTIVE_CREDENTIAL(!), GSS_S_CREDENTIALS_EXPIRED(!), GSS_S_NO_CRED(!) */ @@ -643,8 +657,6 @@ void inquireCred(JNIEnv *env, jobject jobj, gss_cred_id_t pCred, major = (*ftab->inquireCred)(&minor, credHdl, NULL, NULL, result, NULL); } - /* release intermediate buffers */ - routineErr = GSS_ROUTINE_ERROR(major); if (routineErr == GSS_S_CREDENTIALS_EXPIRED) { /* ignore GSS_S_CREDENTIALS_EXPIRED for query */ @@ -673,20 +685,16 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getCredName(JNIEnv *env, credHdl = (gss_cred_id_t) jlong_to_ptr(pCred); - sprintf(debugBuf, "[GSSLibStub_getCredName] %ld", (long int)pCred); - debug(env, debugBuf); + TRACE1("[GSSLibStub_getCredName] %ld", (long int)pCred); nameHdl = GSS_C_NO_NAME; inquireCred(env, jobj, credHdl, TYPE_CRED_NAME, &nameHdl); - /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { return jlong_zero; } - sprintf(debugBuf, "[GSSLibStub_getCredName] pName=%ld", (long) nameHdl); - debug(env, debugBuf); - + TRACE1("[GSSLibStub_getCredName] pName=%ld", (long) nameHdl); return ptr_to_jlong(nameHdl); } @@ -705,12 +713,10 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getCredTime(JNIEnv *env, credHdl = (gss_cred_id_t) jlong_to_ptr(pCred); - sprintf(debugBuf, "[GSSLibStub_getCredTime] %ld", (long int)pCred); - debug(env, debugBuf); + TRACE1("[GSSLibStub_getCredTime] %ld", (long int)pCred); lifetime = 0; inquireCred(env, jobj, credHdl, TYPE_CRED_TIME, &lifetime); - /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { return 0; @@ -733,11 +739,9 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getCredUsage(JNIEnv *env, credHdl = (gss_cred_id_t) jlong_to_ptr(pCred); - sprintf(debugBuf, "[GSSLibStub_getCredUsage] %ld", (long int)pCred); - debug(env, debugBuf); + TRACE1("[GSSLibStub_getCredUsage] %ld", (long int)pCred); inquireCred(env, jobj, credHdl, TYPE_CRED_USAGE, &usage); - /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { return -1; @@ -759,10 +763,11 @@ Java_sun_security_jgss_wrapper_GSSLibStub_importContext(JNIEnv *env, gss_ctx_id_t contextHdl; gss_OID mech, mech2; - debug(env, "[GSSLibStub_importContext]"); + TRACE0("[GSSLibStub_importContext]"); contextHdl = GSS_C_NO_CONTEXT; - if (!initGSSBuffer(env, jctxtToken, &ctxtToken)) { + initGSSBuffer(env, jctxtToken, &ctxtToken); + if ((*env)->ExceptionCheck(env)) { return NULL; } @@ -770,12 +775,10 @@ Java_sun_security_jgss_wrapper_GSSLibStub_importContext(JNIEnv *env, GSS_S_UNAVAILABLE, GSS_S_UNAUTHORIZED */ major = (*ftab->importSecContext)(&minor, &ctxtToken, &contextHdl); - sprintf(debugBuf, "[GSSLibStub_importContext] pContext=%ld", - (long) contextHdl); - debug(env, debugBuf); + TRACE1("[GSSLibStub_importContext] pContext=%ld", (long) contextHdl); /* release intermediate buffers */ - resetGSSBuffer(env, jctxtToken, &ctxtToken); + resetGSSBuffer(&ctxtToken); checkStatus(env, jobj, major, minor, "[GSSLibStub_importContext]"); /* return immediately if an exception has occurred */ @@ -794,9 +797,10 @@ Java_sun_security_jgss_wrapper_GSSLibStub_importContext(JNIEnv *env, return NULL; } - mech2 = (gss_OID) jlong_to_ptr((*env)->GetLongField(env, jobj, FID_GSSLibStub_pMech)); + mech2 = (gss_OID) jlong_to_ptr((*env)->GetLongField(env, jobj, + FID_GSSLibStub_pMech)); - if (sameMech(env, mech, mech2) == JNI_TRUE) { + if (sameMech(mech, mech2) == JNI_TRUE) { /* mech match - return the context object */ return (*env)->NewObject(env, CLS_NativeGSSContext, MID_NativeGSSContext_ctor, @@ -805,10 +809,11 @@ Java_sun_security_jgss_wrapper_GSSLibStub_importContext(JNIEnv *env, /* mech mismatch - clean up then return null */ major = (*ftab->deleteSecContext)(&minor, &contextHdl, GSS_C_NO_BUFFER); checkStatus(env, jobj, major, minor, - "[GSSLibStub_importContext] cleanup"); + "[GSSLibStub_importContext] cleanup"); return NULL; } } + /* * Class: sun_security_jgss_wrapper_GSSLibStub * Method: initContext @@ -838,7 +843,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_initContext(JNIEnv *env, gss_OID aMech; jobject jMech; */ - debug(env, "[GSSLibStub_initContext]"); + + TRACE0("[GSSLibStub_initContext]"); credHdl = (gss_cred_id_t) jlong_to_ptr(pCred); contextHdl = (gss_ctx_id_t) jlong_to_ptr( @@ -849,20 +855,19 @@ Java_sun_security_jgss_wrapper_GSSLibStub_initContext(JNIEnv *env, FID_NativeGSSContext_flags); time = getGSSTime((*env)->GetIntField(env, jcontextSpi, FID_NativeGSSContext_lifetime)); - cb = getGSSCB(env, jcb); + cb = newGSSCB(env, jcb); if ((*env)->ExceptionCheck(env)) { - free(cb); return NULL; } - if (!initGSSBuffer(env, jinToken, &inToken)) { + initGSSBuffer(env, jinToken, &inToken); + if ((*env)->ExceptionCheck(env)) { + deleteGSSCB(cb); return NULL; } - sprintf(debugBuf, - "[GSSLibStub_initContext] before: pCred=%ld, pContext=%ld", + TRACE2( "[GSSLibStub_initContext] before: pCred=%ld, pContext=%ld", (long)credHdl, (long)contextHdl); - debug(env, debugBuf); /* gss_init_sec_context(...) => GSS_S_CONTINUE_NEEDED(!), GSS_S_DEFECTIVE_TOKEN, GSS_S_NO_CRED, GSS_S_DEFECTIVE_CREDENTIAL(!), @@ -870,29 +875,24 @@ Java_sun_security_jgss_wrapper_GSSLibStub_initContext(JNIEnv *env, GSS_S_OLD_TOKEN, GSS_S_DUPLICATE_TOKEN, GSS_S_NO_CONTEXT(!), GSS_S_BAD_NAMETYPE, GSS_S_BAD_NAME(!), GSS_S_BAD_MECH */ major = (*ftab->initSecContext)(&minor, credHdl, - &contextHdl, targetName, mech, - flags, time, cb, &inToken, NULL /*aMech*/, - &outToken, &aFlags, &aTime); + &contextHdl, targetName, mech, + flags, time, cb, &inToken, NULL /*aMech*/, + &outToken, &aFlags, &aTime); - sprintf(debugBuf, "[GSSLibStub_initContext] after: pContext=%ld", - (long)contextHdl); - debug(env, debugBuf); - sprintf(debugBuf, "[GSSLibStub_initContext] outToken len=%ld", - (long)outToken.length); - debug(env, debugBuf); + TRACE2("[GSSLibStub_initContext] after: pContext=%ld, outToken len=%ld", + (long)contextHdl, (long)outToken.length); if (GSS_ERROR(major) == GSS_S_COMPLETE) { /* update member values if needed */ (*env)->SetLongField(env, jcontextSpi, FID_NativeGSSContext_pContext, ptr_to_jlong(contextHdl)); (*env)->SetIntField(env, jcontextSpi, FID_NativeGSSContext_flags, aFlags); - sprintf(debugBuf, "[GSSLibStub_initContext] set flags=0x%x", aFlags); - debug(env, debugBuf); + TRACE1("[GSSLibStub_initContext] set flags=0x%x", aFlags); if (major == GSS_S_COMPLETE) { (*env)->SetIntField(env, jcontextSpi, FID_NativeGSSContext_lifetime, getJavaTime(aTime)); - debug(env, "[GSSLibStub_initContext] context established"); + TRACE0("[GSSLibStub_initContext] context established"); (*env)->SetBooleanField(env, jcontextSpi, FID_NativeGSSContext_isEstablished, @@ -904,16 +904,23 @@ Java_sun_security_jgss_wrapper_GSSLibStub_initContext(JNIEnv *env, FID_NativeGSSContext_actualMech, jMech); */ } else if (major & GSS_S_CONTINUE_NEEDED) { - debug(env, "[GSSLibStub_initContext] context not established"); + TRACE0("[GSSLibStub_initContext] context not established"); major -= GSS_S_CONTINUE_NEEDED; } } - /* release intermediate buffers */ - releaseGSSCB(env, jcb, cb); - resetGSSBuffer(env, jinToken, &inToken); + + /* release intermediate buffers before checking status */ + deleteGSSCB(cb); + resetGSSBuffer(&inToken); jresult = getJavaBuffer(env, &outToken); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } checkStatus(env, jobj, major, minor, "[GSSLibStub_initContext]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } return jresult; } @@ -950,29 +957,27 @@ Java_sun_security_jgss_wrapper_GSSLibStub_acceptContext(JNIEnv *env, gss_name_t targetName; jobject jtargetName; - debug(env, "[GSSLibStub_acceptContext]"); + TRACE0("[GSSLibStub_acceptContext]"); contextHdl = (gss_ctx_id_t)jlong_to_ptr( (*env)->GetLongField(env, jcontextSpi, FID_NativeGSSContext_pContext)); credHdl = (gss_cred_id_t) jlong_to_ptr(pCred); - if (!initGSSBuffer(env, jinToken, &inToken)) { - return NULL; - } - cb = getGSSCB(env, jcb); + initGSSBuffer(env, jinToken, &inToken); if ((*env)->ExceptionCheck(env)) { - free(cb); - resetGSSBuffer(env, jinToken, &inToken); return NULL; } - srcName = GSS_C_NO_NAME; + cb = newGSSCB(env, jcb); + if ((*env)->ExceptionCheck(env)) { + resetGSSBuffer(&inToken); + return NULL; + } + srcName = targetName = GSS_C_NO_NAME; delCred = GSS_C_NO_CREDENTIAL; setTarget = (credHdl == GSS_C_NO_CREDENTIAL); aFlags = 0; - sprintf(debugBuf, - "[GSSLibStub_acceptContext] before: pCred=%ld, pContext=%ld", + TRACE2( "[GSSLibStub_acceptContext] before: pCred=%ld, pContext=%ld", (long) credHdl, (long) contextHdl); - debug(env, debugBuf); /* gss_accept_sec_context(...) => GSS_S_CONTINUE_NEEDED(!), GSS_S_DEFECTIVE_TOKEN, GSS_S_DEFECTIVE_CREDENTIAL(!), @@ -983,91 +988,107 @@ Java_sun_security_jgss_wrapper_GSSLibStub_acceptContext(JNIEnv *env, (*ftab->acceptSecContext)(&minor, &contextHdl, credHdl, &inToken, cb, &srcName, &aMech, &outToken, &aFlags, &aTime, &delCred); + /* release intermediate buffers before checking status */ - sprintf(debugBuf, - "[GSSLibStub_acceptContext] after: pCred=%ld, pContext=%ld, pDelegCred=%ld", + deleteGSSCB(cb); + resetGSSBuffer(&inToken); + + TRACE3("[GSSLibStub_acceptContext] after: pCred=%ld, pContext=%ld, pDelegCred=%ld", (long)credHdl, (long)contextHdl, (long) delCred); - debug(env, debugBuf); if (GSS_ERROR(major) == GSS_S_COMPLETE) { /* update member values if needed */ (*env)->SetLongField(env, jcontextSpi, FID_NativeGSSContext_pContext, ptr_to_jlong(contextHdl)); - sprintf(debugBuf, "[GSSLibStub_acceptContext] set pContext=%ld", + TRACE1("[GSSLibStub_acceptContext] set pContext=%ld", (long)contextHdl); - debug(env, debugBuf); + // WORKAROUND for a Heimdal bug if (delCred == GSS_C_NO_CREDENTIAL) { aFlags &= 0xfffffffe; } (*env)->SetIntField(env, jcontextSpi, FID_NativeGSSContext_flags, aFlags); - sprintf(debugBuf, "[GSSLibStub_acceptContext] set flags=0x%x", - aFlags); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_acceptContext] set flags=0x%x", aFlags); + if (setTarget) { major2 = (*ftab->inquireContext)(&minor2, contextHdl, NULL, &targetName, NULL, NULL, NULL, NULL, NULL); + checkStatus(env, jobj, major2, minor2, + "[GSSLibStub_acceptContext] inquire"); + if ((*env)->ExceptionCheck(env)) { + goto error; + } + jtargetName = (*env)->NewObject(env, CLS_GSSNameElement, MID_GSSNameElement_ctor, ptr_to_jlong(targetName), jobj); - - /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { - resetGSSBuffer(env, jinToken, &inToken); - return NULL; + goto error; } - sprintf(debugBuf, "[GSSLibStub_acceptContext] set targetName=%ld", + + TRACE1("[GSSLibStub_acceptContext] set targetName=%ld", (long)targetName); - debug(env, debugBuf); + (*env)->SetObjectField(env, jcontextSpi, FID_NativeGSSContext_targetName, jtargetName); + if ((*env)->ExceptionCheck(env)) { + goto error; + } } if (srcName != GSS_C_NO_NAME) { jsrcName = (*env)->NewObject(env, CLS_GSSNameElement, MID_GSSNameElement_ctor, ptr_to_jlong(srcName), jobj); - /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { - resetGSSBuffer(env, jinToken, &inToken); - return NULL; + goto error; } - sprintf(debugBuf, "[GSSLibStub_acceptContext] set srcName=%ld", - (long)srcName); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_acceptContext] set srcName=%ld", (long)srcName); + (*env)->SetObjectField(env, jcontextSpi, FID_NativeGSSContext_srcName, jsrcName); + if ((*env)->ExceptionCheck(env)) { + goto error; + } } if (major == GSS_S_COMPLETE) { - debug(env, "[GSSLibStub_acceptContext] context established"); + TRACE0("[GSSLibStub_acceptContext] context established"); (*env)->SetIntField(env, jcontextSpi, FID_NativeGSSContext_lifetime, getJavaTime(aTime)); - (*env)->SetBooleanField(env, jcontextSpi, FID_NativeGSSContext_isEstablished, JNI_TRUE); jMech = getJavaOID(env, aMech); + if ((*env)->ExceptionCheck(env)) { + goto error; + } (*env)->SetObjectField(env, jcontextSpi, FID_NativeGSSContext_actualMech, jMech); + if ((*env)->ExceptionCheck(env)) { + goto error; + } if (delCred != GSS_C_NO_CREDENTIAL) { jdelCred = (*env)->NewObject(env, CLS_GSSCredElement, MID_GSSCredElement_ctor, ptr_to_jlong(delCred), jsrcName, jMech); - /* return immediately if an exception has occurred */ if ((*env)->ExceptionCheck(env)) { - resetGSSBuffer(env, jinToken, &inToken); - return NULL; + goto error; } (*env)->SetObjectField(env, jcontextSpi, FID_NativeGSSContext_delegatedCred, jdelCred); - sprintf(debugBuf, "[GSSLibStub_acceptContext] set delegatedCred=%ld", + TRACE1("[GSSLibStub_acceptContext] set delegatedCred=%ld", (long) delCred); - debug(env, debugBuf); + + if ((*env)->ExceptionCheck(env)) { + goto error; + } } } else if (major & GSS_S_CONTINUE_NEEDED) { - debug(env, "[GSSLibStub_acceptContext] context not established"); + TRACE0("[GSSLibStub_acceptContext] context not established"); if (aFlags & GSS_C_PROT_READY_FLAG) { (*env)->SetIntField(env, jcontextSpi, FID_NativeGSSContext_lifetime, @@ -1076,13 +1097,20 @@ Java_sun_security_jgss_wrapper_GSSLibStub_acceptContext(JNIEnv *env, major -= GSS_S_CONTINUE_NEEDED; } } - /* release intermediate buffers */ - releaseGSSCB(env, jcb, cb); - resetGSSBuffer(env, jinToken, &inToken); - jresult = getJavaBuffer(env, &outToken); + return getJavaBuffer(env, &outToken); - checkStatus(env, jobj, major, minor, "[GSSLibStub_acceptContext]"); - return jresult; +error: + (*ftab->releaseBuffer)(&minor, &outToken); + if (srcName != GSS_C_NO_NAME) { + (*ftab->releaseName)(&minor, &srcName); + } + if (targetName != GSS_C_NO_NAME) { + (*ftab->releaseName)(&minor, &targetName); + } + if (delCred != GSS_C_NO_CREDENTIAL) { + (*ftab->releaseCred) (&minor, &delCred); + } + return NULL; } /* @@ -1106,8 +1134,7 @@ Java_sun_security_jgss_wrapper_GSSLibStub_inquireContext(JNIEnv *env, contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_inquireContext] %ld", (long)contextHdl); - debug(env, debugBuf); + TRACE1("[GSSLibStub_inquireContext] %ld", (long)contextHdl); srcName = targetName = GSS_C_NO_NAME; time = 0; @@ -1118,12 +1145,13 @@ Java_sun_security_jgss_wrapper_GSSLibStub_inquireContext(JNIEnv *env, &targetName, &time, NULL, &flags, &isInitiator, &isEstablished); /* update member values if needed */ - sprintf(debugBuf, "[GSSLibStub_inquireContext] srcName %ld", (long)srcName); - debug(env, debugBuf); - sprintf(debugBuf, "[GSSLibStub_inquireContext] targetName %ld", - (long)targetName); - debug(env, debugBuf); + TRACE2("[GSSLibStub_inquireContext] srcName %ld, targetName %ld", + (long)srcName, (long)targetName); + checkStatus(env, jobj, major, minor, "[GSSLibStub_inquireContext]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } result[0] = ptr_to_jlong(srcName); result[1] = ptr_to_jlong(targetName); result[2] = (jlong) isInitiator; @@ -1132,12 +1160,13 @@ Java_sun_security_jgss_wrapper_GSSLibStub_inquireContext(JNIEnv *env, result[5] = (jlong) getJavaTime(time); jresult = (*env)->NewLongArray(env, 6); - CHECK_NULL_RETURN(jresult, NULL); + if (jresult == NULL) { + return NULL; + } (*env)->SetLongArrayRegion(env, jresult, 0, 6, result); - - /* release intermediate buffers */ - - checkStatus(env, jobj, major, minor, "[GSSLibStub_inquireContext]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } return jresult; } @@ -1157,8 +1186,7 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getContextMech(JNIEnv *env, contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_getContextMech] %ld", (long int)pContext); - debug(env, debugBuf); + TRACE1("[GSSLibStub_getContextMech] %ld", (long int)pContext); major = (*ftab->inquireContext)(&minor, contextHdl, NULL, NULL, NULL, &mech, NULL, NULL, NULL); @@ -1187,9 +1215,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getContextName(JNIEnv *env, contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_getContextName] %ld, isSrc=%d", + TRACE2("[GSSLibStub_getContextName] %ld, isSrc=%d", (long)contextHdl, isSrc); - debug(env, debugBuf); nameHdl = GSS_C_NO_NAME; if (isSrc == JNI_TRUE) { @@ -1206,8 +1233,7 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getContextName(JNIEnv *env, return jlong_zero; } - sprintf(debugBuf, "[GSSLibStub_getContextName] pName=%ld", (long) nameHdl); - debug(env, debugBuf); + TRACE1("[GSSLibStub_getContextName] pName=%ld", (long) nameHdl); return ptr_to_jlong(nameHdl); } @@ -1226,8 +1252,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getContextTime(JNIEnv *env, OM_uint32 time; contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_getContextTime] %ld", (long)contextHdl); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_getContextTime] %ld", (long)contextHdl); if (contextHdl == GSS_C_NO_CONTEXT) return 0; @@ -1238,6 +1264,9 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getContextTime(JNIEnv *env, major = GSS_CALLING_ERROR(major) | GSS_SUPPLEMENTARY_INFO(major); } checkStatus(env, jobj, major, minor, "[GSSLibStub_getContextTime]"); + if ((*env)->ExceptionCheck(env)) { + return 0; + } return getJavaTime(time); } @@ -1255,8 +1284,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_deleteContext(JNIEnv *env, gss_ctx_id_t contextHdl; contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_deleteContext] %ld", (long)contextHdl); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_deleteContext] %ld", (long)contextHdl); if (contextHdl == GSS_C_NO_CONTEXT) return ptr_to_jlong(GSS_C_NO_CONTEXT); @@ -1264,6 +1293,9 @@ Java_sun_security_jgss_wrapper_GSSLibStub_deleteContext(JNIEnv *env, major = (*ftab->deleteSecContext)(&minor, &contextHdl, GSS_C_NO_BUFFER); checkStatus(env, jobj, major, minor, "[GSSLibStub_deleteContext]"); + if ((*env)->ExceptionCheck(env)) { + return jlong_zero; + } return (jlong) ptr_to_jlong(contextHdl); } @@ -1286,20 +1318,27 @@ Java_sun_security_jgss_wrapper_GSSLibStub_wrapSizeLimit(JNIEnv *env, gss_qop_t qop; contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_wrapSizeLimit] %ld", (long)contextHdl); - debug(env, debugBuf); - // Check context handle?? + TRACE1("[GSSLibStub_wrapSizeLimit] %ld", (long)contextHdl); + + if (contextHdl == GSS_C_NO_CONTEXT) { + // Twik per javadoc + checkStatus(env, jobj, GSS_S_NO_CONTEXT, 0, + "[GSSLibStub_wrapSizeLimit]"); + return 0; + } qop = (gss_qop_t) jqop; outSize = (OM_uint32) joutSize; - maxInSize = 0; /* gss_wrap_size_limit(...) => GSS_S_NO_CONTEXT(!), GSS_S_CONTEXT_EXPIRED, GSS_S_BAD_QOP */ major = (*ftab->wrapSizeLimit)(&minor, contextHdl, reqFlag, qop, outSize, &maxInSize); checkStatus(env, jobj, major, minor, "[GSSLibStub_wrapSizeLimit]"); + if ((*env)->ExceptionCheck(env)) { + return 0; + } return (jint) maxInSize; } @@ -1319,8 +1358,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_exportContext(JNIEnv *env, jbyteArray jresult; contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_exportContext] %ld", (long)contextHdl); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_exportContext] %ld", (long)contextHdl); if (contextHdl == GSS_C_NO_CONTEXT) { // Twik per javadoc @@ -1334,7 +1373,14 @@ Java_sun_security_jgss_wrapper_GSSLibStub_exportContext(JNIEnv *env, /* release intermediate buffers */ jresult = getJavaBuffer(env, &interProcToken); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } checkStatus(env, jobj, major, minor, "[GSSLibStub_exportContext]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + return jresult; } @@ -1356,8 +1402,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getMic(JNIEnv *env, jobject jobj, jbyteArray jresult; contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_getMic] %ld", (long)contextHdl); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_getMic] %ld", (long)contextHdl); if (contextHdl == GSS_C_NO_CONTEXT) { // Twik per javadoc @@ -1366,7 +1412,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getMic(JNIEnv *env, jobject jobj, } contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); qop = (gss_qop_t) jqop; - if (!initGSSBuffer(env, jmsg, &msg)) { + initGSSBuffer(env, jmsg, &msg); + if ((*env)->ExceptionCheck(env)) { return NULL; } @@ -1376,10 +1423,16 @@ Java_sun_security_jgss_wrapper_GSSLibStub_getMic(JNIEnv *env, jobject jobj, (*ftab->getMic)(&minor, contextHdl, qop, &msg, &msgToken); /* release intermediate buffers */ - resetGSSBuffer(env, jmsg, &msg); + resetGSSBuffer(&msg); jresult = getJavaBuffer(env, &msgToken); - + if ((*env)->ExceptionCheck(env)) { + return NULL; + } checkStatus(env, jobj, major, minor, "[GSSLibStub_getMic]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + return jresult; } @@ -1403,8 +1456,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_verifyMic(JNIEnv *env, gss_qop_t qop; contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_verifyMic] %ld", (long)contextHdl); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_verifyMic] %ld", (long)contextHdl); if (contextHdl == GSS_C_NO_CONTEXT) { // Twik per javadoc @@ -1413,12 +1466,18 @@ Java_sun_security_jgss_wrapper_GSSLibStub_verifyMic(JNIEnv *env, return; } - if (!initGSSBuffer(env, jmsg, &msg) || - !initGSSBuffer(env, jmsgToken, &msgToken)) { + qop = (gss_qop_t) (*env)->CallIntMethod(env, jprop, MID_MessageProp_getQOP); + if ((*env)->ExceptionCheck(env)) { return; } + + initGSSBuffer(env, jmsg, &msg); + if ((*env)->ExceptionCheck(env)) { return; } + + initGSSBuffer(env, jmsgToken, &msgToken); + if ((*env)->ExceptionCheck(env)) { + resetGSSBuffer(&msg); return; } - qop = (gss_qop_t) (*env)->CallIntMethod(env, jprop, MID_MessageProp_getQOP); /* gss_verify_mic(...) => GSS_S_DEFECTIVE_TOKEN, GSS_S_BAD_MIC, GSS_S_CONTEXT_EXPIRED, GSS_S_DUPLICATE_TOKEN(!), GSS_S_OLD_TOKEN(!), GSS_S_UNSEQ_TOKEN(!), GSS_S_GAP_TOKEN(!), GSS_S_NO_CONTEXT(!) */ @@ -1426,13 +1485,24 @@ Java_sun_security_jgss_wrapper_GSSLibStub_verifyMic(JNIEnv *env, (*ftab->verifyMic)(&minor, contextHdl, &msg, &msgToken, &qop); /* release intermediate buffers */ - resetGSSBuffer(env, jmsg, &msg); - resetGSSBuffer(env, jmsgToken, &msgToken); + resetGSSBuffer(&msg); + resetGSSBuffer(&msgToken); + + checkStatus(env, jobj, GSS_ERROR(major), minor, "[GSSLibStub_verifyMic]"); + if ((*env)->ExceptionCheck(env)) { + return; + } (*env)->CallVoidMethod(env, jprop, MID_MessageProp_setQOP, qop); + if ((*env)->ExceptionCheck(env)) { + return; + } + setSupplementaryInfo(env, jobj, jprop, GSS_SUPPLEMENTARY_INFO(major), minor); - checkStatus(env, jobj, GSS_ERROR(major), minor, "[GSSLibStub_verifyMic]"); + if ((*env)->ExceptionCheck(env)) { + return; + } } /* @@ -1457,8 +1527,8 @@ Java_sun_security_jgss_wrapper_GSSLibStub_wrap(JNIEnv *env, jbyteArray jresult; contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_wrap] %ld", (long)contextHdl); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_wrap] %ld", (long)contextHdl); if (contextHdl == GSS_C_NO_CONTEXT) { // Twik per javadoc @@ -1468,24 +1538,43 @@ Java_sun_security_jgss_wrapper_GSSLibStub_wrap(JNIEnv *env, confFlag = (*env)->CallBooleanMethod(env, jprop, MID_MessageProp_getPrivacy); - qop = (gss_qop_t) - (*env)->CallIntMethod(env, jprop, MID_MessageProp_getQOP); - if (!initGSSBuffer(env, jmsg, &msg)) { + if ((*env)->ExceptionCheck(env)) { return NULL; } + + qop = (gss_qop_t) + (*env)->CallIntMethod(env, jprop, MID_MessageProp_getQOP); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + + initGSSBuffer(env, jmsg, &msg); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + /* gss_wrap(...) => GSS_S_CONTEXT_EXPIRED, GSS_S_NO_CONTEXT(!), GSS_S_BAD_QOP */ major = (*ftab->wrap)(&minor, contextHdl, confFlag, qop, &msg, &confState, &msgToken); - (*env)->CallVoidMethod(env, jprop, MID_MessageProp_setPrivacy, - (confState? JNI_TRUE:JNI_FALSE)); - /* release intermediate buffers */ - resetGSSBuffer(env, jmsg, &msg); + resetGSSBuffer(&msg); jresult = getJavaBuffer(env, &msgToken); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } checkStatus(env, jobj, major, minor, "[GSSLibStub_wrap]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + + (*env)->CallVoidMethod(env, jprop, MID_MessageProp_setPrivacy, + (confState? JNI_TRUE:JNI_FALSE)); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } return jresult; } @@ -1510,17 +1599,20 @@ Java_sun_security_jgss_wrapper_GSSLibStub_unwrap(JNIEnv *env, jbyteArray jresult; contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext); - sprintf(debugBuf, "[GSSLibStub_unwrap] %ld", (long)contextHdl); - debug(env, debugBuf); + + TRACE1("[GSSLibStub_unwrap] %ld", (long)contextHdl); if (contextHdl == GSS_C_NO_CONTEXT) { // Twik per javadoc checkStatus(env, jobj, GSS_S_CONTEXT_EXPIRED, 0, "[GSSLibStub_unwrap]"); return NULL; } - if (!initGSSBuffer(env, jmsgToken, &msgToken)) { + + initGSSBuffer(env, jmsgToken, &msgToken); + if ((*env)->ExceptionCheck(env)) { return NULL; } + confState = 0; qop = GSS_C_QOP_DEFAULT; /* gss_unwrap(...) => GSS_S_DEFECTIVE_TOKEN, GSS_S_BAD_MIC, @@ -1528,17 +1620,34 @@ Java_sun_security_jgss_wrapper_GSSLibStub_unwrap(JNIEnv *env, GSS_S_UNSEQ_TOKEN(!), GSS_S_GAP_TOKEN(!), GSS_S_NO_CONTEXT(!) */ major = (*ftab->unwrap)(&minor, contextHdl, &msgToken, &msg, &confState, &qop); + + /* release intermediate buffers */ + resetGSSBuffer(&msgToken); + jresult = getJavaBuffer(env, &msg); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + + checkStatus(env, jobj, GSS_ERROR(major), minor, "[GSSLibStub_unwrap]"); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + /* update the message prop with relevant info */ (*env)->CallVoidMethod(env, jprop, MID_MessageProp_setPrivacy, (confState != 0)); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } (*env)->CallVoidMethod(env, jprop, MID_MessageProp_setQOP, qop); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } setSupplementaryInfo(env, jobj, jprop, GSS_SUPPLEMENTARY_INFO(major), - minor); + minor); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } - /* release intermediate buffers */ - resetGSSBuffer(env, jmsgToken, &msgToken); - jresult = getJavaBuffer(env, &msg); - - checkStatus(env, jobj, GSS_ERROR(major), minor, "[GSSLibStub_unwrap]"); return jresult; } diff --git a/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.c b/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.c index e3a8be9ffc2..7095af4e17e 100644 --- a/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.c +++ b/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -27,9 +27,6 @@ #include "NativeFunc.h" #include "jlong.h" #include <jni.h> -#include "jni_util.h" - -extern void throwOutOfMemoryError(JNIEnv *env, const char *message); const int JAVA_DUPLICATE_TOKEN_CODE = 19; /* DUPLICATE_TOKEN */ const int JAVA_OLD_TOKEN_CODE = 20; /* OLD_TOKEN */ @@ -83,7 +80,6 @@ jmethodID MID_InetAddress_getAddr; jmethodID MID_GSSNameElement_ctor; jmethodID MID_GSSCredElement_ctor; jmethodID MID_NativeGSSContext_ctor; -jmethodID MID_SunNativeProvider_debug; jfieldID FID_GSSLibStub_pMech; jfieldID FID_NativeGSSContext_pContext; jfieldID FID_NativeGSSContext_srcName; @@ -94,7 +90,8 @@ jfieldID FID_NativeGSSContext_delegatedCred; jfieldID FID_NativeGSSContext_flags; jfieldID FID_NativeGSSContext_lifetime; jfieldID FID_NativeGSSContext_actualMech; -char debugBuf[256]; + +int JGSS_DEBUG; JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) { @@ -292,13 +289,6 @@ JNI_OnLoad(JavaVM *jvm, void *reserved) { printf("Couldn't find NativeGSSContext(long, GSSLibStub) constructor\n"); return JNI_ERR; } - MID_SunNativeProvider_debug = - (*env)->GetStaticMethodID(env, CLS_SunNativeProvider, "debug", - "(Ljava/lang/String;)V"); - if (MID_SunNativeProvider_debug == NULL) { - printf("Couldn't find SunNativeProvider.debug(String) method\n"); - return JNI_ERR; - } /* Compute and cache the field ID */ cls = (*env)->FindClass(env, "sun/security/jgss/wrapper/GSSLibStub"); if (cls == NULL) { @@ -449,14 +439,28 @@ jint getJavaErrorCode(int cNonCallingErr) { } return GSS_S_COMPLETE; } + + +/* Throws a Java Exception by name */ +void throwByName(JNIEnv *env, const char *name, const char *msg) { + jclass cls = (*env)->FindClass(env, name); + + if (cls != NULL) { + (*env)->ThrowNew(env, cls, msg); + } +} + +void throwOutOfMemoryError(JNIEnv *env, const char *message) { + throwByName(env, "java/lang/OutOfMemoryError", message); +} + /* * Utility routine for creating a java.lang.String object - * using the specified gss_buffer_t structure. After the, - * String object is created, the specified gss_buffer_t - * structure is released. + * using the specified gss_buffer_t structure. The specified + * gss_buffer_t structure is always released. */ jstring getJavaString(JNIEnv *env, gss_buffer_t bytes) { - jstring result; + jstring result = NULL; OM_uint32 minor; int len; jbyteArray jbytes; @@ -466,9 +470,18 @@ jstring getJavaString(JNIEnv *env, gss_buffer_t bytes) { NOTE: do NOT include the trailing NULL */ len = bytes->length; jbytes = (*env)->NewByteArray(env, len); + if (jbytes == NULL) { + goto finish; + } + (*env)->SetByteArrayRegion(env, jbytes, 0, len, (jbyte *) bytes->value); + if ((*env)->ExceptionCheck(env)) { + goto finish; + } + result = (*env)->NewObject(env, CLS_String, MID_String_ctor, jbytes); + finish: (*env)->DeleteLocalRef(env, jbytes); (*ftab->releaseBuffer)(&minor, bytes); return result; @@ -491,17 +504,15 @@ jstring getMinorMessage(JNIEnv *env, jobject jstub, OM_uint32 statusValue) { } else { mech = GSS_C_NO_OID; } + /* gss_display_status(...) => GSS_S_BAD_MECH, GSS_S_BAD_STATUS */ + // TBD: check messageContext value and repeat the call if necessary major = (*ftab->displayStatus)(&minor, statusValue, GSS_C_MECH_CODE, mech, - &messageContext, &statusString); - /* release intermediate buffers */ - msg = getJavaString(env, &statusString); - if (msg == NULL && !(*env)->ExceptionCheck(env)) { - throwOutOfMemoryError(env, NULL); - } - (*ftab->releaseBuffer)(&minor, &statusString); - return msg; + &messageContext, &statusString); + + return getJavaString(env, &statusString); } + /* * Utility routine checking the specified major and minor * status codes. GSSExceptions will be thrown if they are @@ -521,11 +532,9 @@ void checkStatus(JNIEnv *env, jobject jstub, OM_uint32 major, routineErr = GSS_ROUTINE_ERROR(major); supplementaryInfo = GSS_SUPPLEMENTARY_INFO(major); - sprintf(debugBuf, "%s Status major/minor = %x/%d", methodName, major, minor); - debug(env, debugBuf); - sprintf(debugBuf, "%s Status c/r/s = %d/%d/%d ", methodName, callingErr>>24, - routineErr>>16, supplementaryInfo); - debug(env, debugBuf); + TRACE3("%s Status major/minor = %x/%d", methodName, major, minor); + TRACE3("c/r/s = %d/%d/%d ", callingErr>>24, routineErr>>16, + supplementaryInfo); jmajor = getJavaErrorCode(routineErr | supplementaryInfo); jminor = minor; @@ -533,12 +542,17 @@ void checkStatus(JNIEnv *env, jobject jstub, OM_uint32 major, jmsg = NULL; if (minor != 0) { jmsg = getMinorMessage(env, jstub, minor); - CHECK_NULL(jmsg); + if ((*env)->ExceptionCheck(env)) { + return; + } } + gssEx = (*env)->NewObject(env, CLS_GSSException, MID_GSSException_ctor3, jmajor, jminor, jmsg); - (*env)->Throw(env, gssEx); + if (gssEx != NULL) { + (*env)->Throw(env, gssEx); + } } else { /* Error in calling the GSS api */ if (callingErr == GSS_S_CALL_INACCESSIBLE_READ) { @@ -550,70 +564,88 @@ void checkStatus(JNIEnv *env, jobject jstub, OM_uint32 major, } jmajor = 13; /* use GSSException.FAILURE for now */ jmsg = (*env)->NewStringUTF(env, msg); - CHECK_NULL(jmsg); + if (jmsg == NULL) { + return; + } gssEx = (*env)->NewObject(env, CLS_GSSException, MID_GSSException_ctor3, jmajor, jminor, jmsg); - CHECK_NULL(gssEx); - (*env)->Throw(env, gssEx); + if (gssEx != NULL) { + (*env)->Throw(env, gssEx); + } } } /* * Utility routine for initializing gss_buffer_t structure * with the byte[] in the specified jbyteArray object. - * NOTE: need to call resetGSSBuffer(...) to free up - * the resources. - * Return JNI_TRUE if GetByteArrayElements() returns ok, JNI_FALSE otherwise - * If JNI_FALSE returned, then an exception has been thrown. + * NOTE: must call resetGSSBuffer() to free up the resources + * inside the gss_buffer_t structure. */ -int initGSSBuffer(JNIEnv *env, jbyteArray jbytes, - gss_buffer_t cbytes) { +void initGSSBuffer(JNIEnv *env, jbyteArray jbytes, + gss_buffer_t cbytes) { + + int len; + void* value; + if (jbytes != NULL) { - cbytes->length = (*env)->GetArrayLength(env, jbytes); - cbytes->value = (*env)->GetByteArrayElements(env, jbytes, NULL); - if (cbytes->value == NULL) { - if (!(*env)->ExceptionCheck(env)) { - throwOutOfMemoryError(env, NULL); - } - return JNI_FALSE; + len = (*env)->GetArrayLength(env, jbytes); + value = malloc(len); + if (value == NULL) { + throwOutOfMemoryError(env, NULL); + return; + } else { + (*env)->GetByteArrayRegion(env, jbytes, 0, len, value); + if ((*env)->ExceptionCheck(env)) { + free(value); + return; + } else { + cbytes->length = len; + cbytes->value = value; + } } } else { cbytes->length = 0; cbytes->value = NULL; } - return JNI_TRUE; } /* - * Utility routine for unpinning/releasing the byte[] - * associated with the specified jbyteArray object. + * Utility routine for freeing the bytes malloc'ed + * in initGSSBuffer() method. * NOTE: used in conjunction with initGSSBuffer(...). */ -void resetGSSBuffer(JNIEnv *env, jbyteArray jbytes, - gss_buffer_t cbytes) { - if ((cbytes != NULL) && (cbytes != GSS_C_NO_BUFFER) && - (cbytes->length != 0)) { - (*env)->ReleaseByteArrayElements(env, jbytes, cbytes->value, - JNI_ABORT); +void resetGSSBuffer(gss_buffer_t cbytes) { + if ((cbytes != NULL) && (cbytes != GSS_C_NO_BUFFER)) { + free(cbytes->value); + cbytes->length = 0; + cbytes->value = NULL; } } + /* * Utility routine for creating a jbyteArray object using * the byte[] value in specified gss_buffer_t structure. - * NOTE: the specified gss_buffer_t structure will be - * released in this routine. + * NOTE: the specified gss_buffer_t structure is always + * released. */ jbyteArray getJavaBuffer(JNIEnv *env, gss_buffer_t cbytes) { - jbyteArray result; + jbyteArray result = NULL; OM_uint32 minor; // don't care, just so it compiles - if ((cbytes != NULL) && (cbytes != GSS_C_NO_BUFFER) && - (cbytes->length != 0)) { - result = (*env)->NewByteArray(env, cbytes->length); - if (result != NULL) - (*env)->SetByteArrayRegion(env, result, 0, cbytes->length, - cbytes->value); + if (cbytes != NULL) { + if ((cbytes != GSS_C_NO_BUFFER) && (cbytes->length != 0)) { + result = (*env)->NewByteArray(env, cbytes->length); + if (result == NULL) { + goto finish; + } + (*env)->SetByteArrayRegion(env, result, 0, cbytes->length, + cbytes->value); + if ((*env)->ExceptionCheck(env)) { + result = NULL; + } + } + finish: (*ftab->releaseBuffer)(&minor, cbytes); return result; } @@ -623,8 +655,7 @@ jbyteArray getJavaBuffer(JNIEnv *env, gss_buffer_t cbytes) { /* * Utility routine for creating a non-mech gss_OID using * the specified org.ietf.jgss.Oid object. - * NOTE: need to call deleteGSSOID(...) afterwards to - * release the created gss_OID structure. + * NOTE: must call deleteGSSOID(...) to free up the gss_OID. */ gss_OID newGSSOID(JNIEnv *env, jobject jOid) { jbyteArray jbytes; @@ -633,8 +664,6 @@ gss_OID newGSSOID(JNIEnv *env, jobject jOid) { if (jOid != NULL) { jbytes = (*env)->CallObjectMethod(env, jOid, MID_Oid_getDER); if ((*env)->ExceptionCheck(env)) { - gssEx = (*env)->ExceptionOccurred(env); - (*env)->Throw(env, gssEx); return GSS_C_NO_OID; } cOid = malloc(sizeof(struct gss_OID_desc_struct)); @@ -646,17 +675,24 @@ gss_OID newGSSOID(JNIEnv *env, jobject jOid) { cOid->elements = malloc(cOid->length); if (cOid->elements == NULL) { throwOutOfMemoryError(env,NULL); - free(cOid); - return GSS_C_NO_OID; + goto cleanup; } (*env)->GetByteArrayRegion(env, jbytes, 2, cOid->length, cOid->elements); - (*env)->DeleteLocalRef(env, jbytes); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } return cOid; } else { return GSS_C_NO_OID; } + cleanup: + (*env)->DeleteLocalRef(env, jbytes); + free(cOid->elements); + free(cOid); + return GSS_C_NO_OID; } + /* * Utility routine for releasing the specified gss_OID * structure. @@ -668,6 +704,7 @@ void deleteGSSOID(gss_OID oid) { free(oid); } } + /* * Utility routine for creating a org.ietf.jgss.Oid * object using the specified gss_OID structure. @@ -676,7 +713,7 @@ jobject getJavaOID(JNIEnv *env, gss_OID cOid) { int cLen; char oidHdr[2]; jbyteArray jbytes; - jobject result; + jobject result = NULL; if ((cOid == NULL) || (cOid == GSS_C_NO_OID)) { return NULL; @@ -685,12 +722,21 @@ jobject getJavaOID(JNIEnv *env, gss_OID cOid) { oidHdr[0] = 6; oidHdr[1] = cLen; jbytes = (*env)->NewByteArray(env, cLen+2); - CHECK_NULL_RETURN(jbytes, NULL); + if (jbytes == NULL) { + return NULL; + } (*env)->SetByteArrayRegion(env, jbytes, 0, 2, (jbyte *) oidHdr); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } (*env)->SetByteArrayRegion(env, jbytes, 2, cLen, (jbyte *) cOid->elements); - + if ((*env)->ExceptionCheck(env)) { + return NULL; + } result = (*env)->NewObject(env, CLS_Oid, MID_Oid_ctor1, jbytes); - JNU_CHECK_EXCEPTION_RETURN(env, NULL); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } (*env)->DeleteLocalRef(env, jbytes); return result; } @@ -700,7 +746,7 @@ jobject getJavaOID(JNIEnv *env, gss_OID cOid) { * NOTE: need to call deleteGSSOIDSet(...) afterwards * to release the created gss_OID_set structure. */ -gss_OID_set newGSSOIDSet(JNIEnv *env, gss_OID oid) { +gss_OID_set newGSSOIDSet(gss_OID oid) { gss_OID_set oidSet; OM_uint32 minor; // don't care; just so it compiles @@ -741,30 +787,26 @@ jobjectArray getJavaOIDArray(JNIEnv *env, gss_OID_set cOidSet) { if (cOidSet != NULL && cOidSet != GSS_C_NO_OID_SET) { numOfOids = cOidSet->count; jOidSet = (*env)->NewObjectArray(env, numOfOids, CLS_Oid, NULL); - if (jOidSet == NULL) { + if ((*env)->ExceptionCheck(env)) { return NULL; } - if (jOidSet != NULL) { - for (i = 0; i < numOfOids; i++) { - jOid = getJavaOID(env, &(cOidSet->elements[i])); - (*env)->SetObjectArrayElement(env, jOidSet, i, jOid); - (*env)->DeleteLocalRef(env, jOid); + for (i = 0; i < numOfOids; i++) { + jOid = getJavaOID(env, &(cOidSet->elements[i])); + if ((*env)->ExceptionCheck(env)) { + return NULL; } + (*env)->SetObjectArrayElement(env, jOidSet, i, jOid); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + (*env)->DeleteLocalRef(env, jOid); } return jOidSet; } return NULL; } -void debug(JNIEnv *env, char *msg) { - jstring jmsg = (*env)->NewStringUTF(env, msg); - CHECK_NULL(jmsg); - (*env)->CallStaticVoidMethod(env, CLS_SunNativeProvider, - MID_SunNativeProvider_debug, jmsg); - (*env)->DeleteLocalRef(env, jmsg); -} - -int sameMech(JNIEnv *env, gss_OID mech, gss_OID mech2) { +int sameMech(gss_OID mech, gss_OID mech2) { int result = JNI_FALSE; // default to not equal if (mech->length == mech2->length) { diff --git a/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.h b/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.h index 58334a38989..78f72269f8c 100644 --- a/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.h +++ b/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -37,12 +37,13 @@ extern "C" { extern OM_uint32 getGSSTime(jint); extern void checkStatus(JNIEnv *, jobject, OM_uint32, OM_uint32, char*); extern jint checkTime(OM_uint32); - extern jint initGSSBuffer(JNIEnv *, jbyteArray, gss_buffer_t); - extern void resetGSSBuffer(JNIEnv *, jbyteArray, gss_buffer_t); + extern void throwOutOfMemoryError(JNIEnv *, const char*); + extern void initGSSBuffer(JNIEnv *, jbyteArray, gss_buffer_t); + extern void resetGSSBuffer(gss_buffer_t); extern gss_OID newGSSOID(JNIEnv *, jobject); extern void deleteGSSOID(gss_OID); - extern gss_OID_set newGSSOIDSet(JNIEnv *, gss_OID); + extern gss_OID_set newGSSOIDSet(gss_OID); extern void deleteGSSOIDSet(gss_OID_set); extern jbyteArray getJavaBuffer(JNIEnv *, gss_buffer_t); @@ -51,13 +52,12 @@ extern "C" { extern jobjectArray getJavaOIDArray(JNIEnv *, gss_OID_set); extern jstring getMinorMessage(JNIEnv *, jobject, OM_uint32); - extern void debug(JNIEnv *, char *); - extern int sameMech(JNIEnv *, gss_OID, gss_OID); + extern int sameMech(gss_OID, gss_OID); JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *, void *); JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *, void *); - extern char debugBuf[]; + extern int JGSS_DEBUG; extern jclass CLS_Object; extern jclass CLS_GSSNameElement; @@ -85,6 +85,12 @@ extern "C" { extern jfieldID FID_NativeGSSContext_flags; extern jfieldID FID_NativeGSSContext_lifetime; extern jfieldID FID_NativeGSSContext_actualMech; + #define TRACE0(s) { if (JGSS_DEBUG) { puts(s); fflush(stdout); }} + #define TRACE1(s, p1) { if (JGSS_DEBUG) { printf(s"\n", p1); fflush(stdout); }} + #define TRACE2(s, p1, p2) { if (JGSS_DEBUG) { printf(s"\n", p1, p2); fflush(stdout); }} + #define TRACE3(s, p1, p2, p3) { if (JGSS_DEBUG) { printf(s"\n", p1, p2, p3); fflush(stdout); }} + + #ifdef __cplusplus } #endif diff --git a/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java b/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java index 6ca10d10c93..18af8c7830d 100644 --- a/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java +++ b/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java @@ -61,10 +61,8 @@ class FileSystemPreferences extends AbstractPreferences { * Sync interval in seconds. */ private static final int SYNC_INTERVAL = Math.max(1, - Integer.parseInt( - AccessController.doPrivileged( - new sun.security.action.GetPropertyAction( - "java.util.prefs.syncInterval", "30")))); + AccessController.doPrivileged((PrivilegedAction<Integer>) () -> + Integer.getInteger("java.util.prefs.syncInterval", 30))); /** * Returns logger for error messages. Backing store exceptions are logged at diff --git a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java index 2eb89b987d0..367ab1f1e4d 100644 --- a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java +++ b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java @@ -33,15 +33,15 @@ import java.nio.channels.AlreadyBoundException; import java.util.Set; import java.util.HashSet; import java.security.AccessController; -import sun.security.action.GetPropertyAction; +import java.security.PrivilegedAction; import sun.nio.ch.IOUtil; import sun.nio.ch.Net; import com.sun.nio.sctp.SctpSocketOption; import static com.sun.nio.sctp.SctpStandardSocketOptions.*; public class SctpNet { - static final String osName = AccessController.doPrivileged( - new GetPropertyAction("os.name")); + private static final String osName = AccessController.doPrivileged( + (PrivilegedAction<String>) () -> System.getProperty("os.name")); /* -- Miscellaneous SCTP utilities -- */ diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 b/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 index 5aa0ad3d1fe..76609bfd263 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 @@ -1,66 +1,105 @@ -." Copyright (c) 1995, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH appletviewer 1 "07 May 2011" - -.LP -.SH "̾Á°" -appletviewer \- Java ¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢ -.LP -.LP -\f3appletviewer\fP ¥³¥Þ¥ó¥É¤Ï Web ¥Ö¥é¥¦¥¶¤Î³°¤Ç¥¢¥×¥ì¥Ã¥È¤ò¼Â¹Ô¤µ¤»¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP -.LP -\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ... -.LP -.SH "ÀâÌÀ" -.LP -.LP -\f3appletviewer\fP ¥³¥Þ¥ó¥É¤Ï \f2urls\fP ¤Ë»ØÄꤵ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¢¤ë¤¤¤Ï¥ê¥½¡¼¥¹¤ÈÀܳ¤·¤Æ¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤¬»²¾È¤¹¤ë¤½¤ì¤¾¤ì¤Î¥¢¥×¥ì¥Ã¥È¤òÆÈ¼«¤Î¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤·¤Þ¤¹¡£Ãí: \f2urls\fP ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¬¡¢\f2OBJECT\fP¡¢\f2EMBED\fP¡¢¤Þ¤¿¤Ï \f2APPLET\fP ¥¿¥°¤Ç¤É¤Î¥¢¥×¥ì¥Ã¥È¤â»²¾È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3appletviewer\fP ¤Ï²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£\f3appletviewer\fP ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë HTML ¥¿¥°¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢¤Î¥¿¥°¡×\fP @ +'\" t +.\" Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: appletviewer +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "appletviewer" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +appletviewer \- Web¥Ö¥é¥¦¥¶¤Î³°Â¦¤Ç¥¢¥×¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIappletviewer\fR [\fIoptions\fR] \fIurl\fR\&.\&.\&. .fi -http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f3Ãí:\fP \f3appletviewer\fP ¤Ï¡¢RFC2396 ¤Çµ¬Äꤵ¤ì¤¿¥¨¥¹¥±¡¼¥×µ¡¹½¤Ë½¾¤Ã¤ÆÉ乿²½¤µ¤ì¤¿ URL ¤òɬÍפȤ·¤Þ¤¹¡£¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï¡¢É乿²½¤µ¤ì¤¿ URL ¤À¤±¤Ç¤¹¡£¤¿¤À¤·¡¢¥Õ¥¡¥¤¥ë̾¤Ë¤Ä¤¤¤Æ¤Ï¡¢RFC2396 ¤Ë»ØÄꤵ¤ì¤¿ÊýË¡¤ÇÉ乿²½¤ò²ò½ü¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-debug -Java ¥Ç¥Ð¥Ã¥¬ jdb(1) ¤Ç¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥ÈÃæ¤Î¥¢¥×¥ì¥Ã¥È¤ò¥Ç¥Ð¥Ã¥°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-encoding \ \ encoding name -ÆþÎÏ HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Jjavaoption -ʸ»úÎó \f2javaoption\fP ¤Ï¡¢appletviewer ¤ò¼Â¹Ô¤¹¤ë Java ¥¤¥ó¥¿¥×¥ê¥¿¤Ë 1 ¤Ä¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£°ú¿ô¤Ë¥¹¥Ú¡¼¥¹¤ò´Þ¤á¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£Ê£¿ô¤Î°ú¿ô¤Ï¡¢³Æ°ú¿ô¤Î¤¹¤Ù¤Æ¤òÀÜÆ¬¼­ \f3\-J\fP ¤Ç»Ï¤á¤ë¤³¤È¤Ë¤è¤ê¶èʬ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼Â¹Ô´Ä¶­¡¢¤Þ¤¿¤Ï¥á¥â¥ê¡¼¤ÎÍøÍѤËÍ­¸ú¤Ç¤¹¡£ +.if n \{\ .RE +.\} +.PP +\fIoptions\fR +.RS 4 +¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIurl\fR +.RS 4 +ɽ¼¨¤¹¤ë¥É¥­¥å¥á¥ó¥È¤Þ¤¿¤Ï¥ê¥½¡¼¥¹¤Î¾ì½ê¡£¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿Ê£¿ô¤ÎURL¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ï\fIurls\fR¤Ë»ØÄꤵ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¢¤ë¤¤¤Ï¥ê¥½¡¼¥¹¤ÈÀܳ¤·¤Æ¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤¬»²¾È¤¹¤ë¤½¤ì¤¾¤ì¤Î¥¢¥×¥ì¥Ã¥È¤òÆÈ¼«¤Î¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤·¤Þ¤¹¡£urls¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¬¡¢\fIOBJECT\fR¡¢\fIEMBED\fR¤Þ¤¿¤Ï\fIAPPLET\fR¥¿¥°¤Ç¤É¤Î¥¢¥×¥ì¥Ã¥È¤â»²¾È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ï²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëHTML¥¿¥°¤Î¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/appletviewertags\&.html¤Ë¤¢¤ë +¥¢¥×¥ì¥Ã¥È¡¦¥Ó¥å¡¼¥¢¡¦¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ï¡¢RFC2396¤ÇÄêµÁ¤µ¤ì¤¿¥¨¥¹¥±¡¼¥×¡¦¥á¥«¥Ë¥º¥à¤Ë½¾¤Ã¤Æ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿URL¤òɬÍפȤ·¤Þ¤¹¡£¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï¡¢¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿URL¤Î¤ß¤Ç¤¹¡£¤¿¤À¤·¡¢¥Õ¥¡¥¤¥ë̾¤Ë¤Ä¤¤¤Æ¤Ï¡¢RFC2396¤Î»ÅÍͤ˽¾¤Ã¤Æ¥¨¥ó¥³¡¼¥É¤ò²ò½ü¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +The +\fIappletviewer\fR¥³¥Þ¥ó¥É¤Ï³«È¯ÀìÍѤǤ¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/samples/aboutCodeSamples\&.html¤Ë¤¢¤ë +¥µ¥ó¥×¥ë/¥Æ¥¹¥È¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ª¤è¤Ó¥³¡¼¥É¤Ë¤Ä¤¤¤Æ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-debug +.RS 4 +\fIjdb\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆJava¥Ç¥Ð¥Ã¥¬¤Ç¥¢¥×¥ì¥Ã¥È¡¦¥Ó¥å¡¼¥¢¤ò³«»Ï¤·¤Æ¡¢¥É¥­¥å¥á¥ó¥ÈÃæ¤Î¥¢¥×¥ì¥Ã¥È¤ò¥Ç¥Ð¥Ã¥°¤·¤Þ¤¹¡£ +.RE +.PP +\-encoding \fIencoding\-name\fR +.RS 4 +ÆþÎÏHTML¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-J\fIjavaoption\fR +.RS 4 +ʸ»úÎó\fIjavaoption\fR¤Ï¡¢¥¢¥×¥ì¥Ã¥È¡¦¥Ó¥å¡¼¥¢¤ò¼Â¹Ô¤¹¤ëJava¥¤¥ó¥¿¥×¥ê¥¿¤Ë1¤Ä¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£°ú¿ô¤Ë¥¹¥Ú¡¼¥¹¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Ê£¿ô¤Î°ú¿ô¤Ï¡¢¤¹¤Ù¤Æ¤¬ÀÜÆ¬¼­\fI\-J\fR¤Ç»Ï¤Þ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤÎÄ´À°¤ËÍ­¸ú¤Ç¤¹¡£ +.RE +.PP -.LP -.LP - -.LP - +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 b/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 index d0a671568f8..fdd5a8e0cb2 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 @@ -1,73 +1,108 @@ -." Copyright (c) 1998, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH extcheck 1 "07 May 2011" - -.LP -.SH "̾Á°" -extcheck \- jar ¤Î¶¥¹ç¸¡½Ð¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼ -.LP -.LP -\f3extcheck\fP ¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤Î jar ¥Õ¥¡¥¤¥ë¤È¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤Î jar ¥Õ¥¡¥¤¥ë´Ö¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¶¥¹ç¤ò¸¡½Ð¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: extcheck +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "extcheck" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +extcheck \- ¥¿¡¼¥²¥Ã¥È¤ÎJava¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤È¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤ÎJAR¥Õ¥¡¥¤¥ë´Ö¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¶¥¹ç¤ò¸¡½Ð¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -extcheck [ \-verbose ] targetfile.jar -.fl -\fP +\fIextcheck\fR [\fIoptions\fR] \fItargetfile\&.jar\fR .fi - -.LP -.SH "ÀâÌÀ" -.LP -.LP -\f3extcheck\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¡¢»ØÄꤵ¤ì¤¿ Jar ¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥È¥ë¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¤¬ Java(TM) 2 SDK ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤È¶¥¹ç¤·¤Æ¤¤¤Ê¤¤¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò»È¤Ã¤Æ¡¢¥Ð¡¼¥¸¥ç¥ó¤¬Æ±¤¸¤«¡¢¤è¤ê¿·¤·¤¤³ÈÄ¥µ¡Ç½¤¬¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3extcheck\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¡¢targetfile.jar ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î¥Ø¥Ã¥À¡¼ \f2Specification\-title\fP ¤ª¤è¤Ó \f2Specification\-version\fP ¤ò¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë \f2¤¹¤Ù¤Æ¤Î Jar ¥Õ¥¡¥¤¥ëÆâ¤Î\fP Âбþ¤¹¤ë¥Ø¥Ã¥À¡¼¤ÈÈæ³Ó¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢\f2jre/lib/ext\fP ¤Ç¤¹¡£\f3extcheck\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¡¢\f2java.lang.Package.isCompatibleWith\fP ¥á¥½¥Ã¥É¤ÈƱÍͤÎÊýË¡¤Ç¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÈæ³Ó¤·¤Þ¤¹¡£ -.LP -.LP -¶¥¹ç¤¬¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¤Î¥ê¥¿¡¼¥ó¥³¡¼¥É¤Ï \f20\fP ¤Ç¤¹¡£ -.LP -.LP -³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¤¤º¤ì¤«¤Î jar ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢Æ±°ì¤Î \f2Specification\-title\fP ¡¢¤ª¤è¤ÓƱ°ì¤Þ¤¿¤Ï¤è¤ê¿·¤·¤¤ \f2Specification\-version\fP Èֹ椬¤¢¤ë¾ì¹ç¤Ï¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ \f2targetfile.jar\fP ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë \f2Specification\-title\fP ¤Þ¤¿¤Ï \f2Specification\-version\fP °À­¤¬¤Ê¤¤¾ì¹ç¤â¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-verbose -³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î Jar ¥Õ¥¡¥¤¥ë¤ò¡¢¥Á¥§¥Ã¥¯»þ¤Ë°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È jar ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î°À­¡¢¤ª¤è¤Ó¶¥¹ç¤¹¤ë jar ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÊó¹ð¤·¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fItargetfile\&.jar\fR +.RS 4 +¥Ð¡¼¥¸¥ç¥ó¤Î¶¥¹ç¤ò¸¡½Ð¤¹¤ë¤¿¤á¤Ë¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½JAR¥Õ¥¡¥¤¥ë¤ÈÈæ³Ó¤¹¤ë¥¿¡¼¥²¥Ã¥ÈJAR¥Õ¥¡¥¤¥ë¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIextcheck\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥È¥ë¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¤¬Java SE SDK¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤È¶¥¹ç¤·¤Æ¤¤¤Ê¤¤¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»ÈÍѤ·¤Æ¡¢Æ±¤¸¥Ð¡¼¥¸¥ç¥ó¤Þ¤¿¤Ï¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î³ÈÄ¥µ¡Ç½¤¬¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.PP +\fIextcheck\fR¥³¥Þ¥ó¥É¤Ï¡¢\fItargetfile\&.jar\fR¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î¥Ø¥Ã¥À¡¼Specification\-title¤ª¤è¤ÓSpecification\-version¤ò¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥Ø¥Ã¥À¡¼¤ÈÈæ³Ó¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢Oracle Solaris¤Î¾ì¹ç¤Ï\fIjre/lib/ext\fR¡¢Windows¤Î¾ì¹ç¤Ï\fI\ejre\elib\eext\fR¤Ç¤¹¡£\fIextcheck\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjava\&.lang\&.Package\&.isCompatibleWith\fR¥á¥½¥Ã¥É¤ÈƱÍͤÎÊýË¡¤Ç¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÈæ³Ó¤·¤Þ¤¹¡£ +.PP +¶¥¹ç¤¬¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¥ê¥¿¡¼¥ó¡¦¥³¡¼¥É¤Ï0¤Ç¤¹¡£ +.PP +³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¤¤º¤ì¤«¤ÎJAR¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢Æ±°ì¤Î\fISpecification\-title\fR¡¢¤ª¤è¤ÓƱ°ì¤Þ¤¿¤Ï¤è¤ê¿·¤·¤¤\fISpecification\-version\fRÈֹ椬¤¢¤ë¾ì¹ç¤Ï¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¡¦¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£\fItargetfile\&.jar\fR¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ë\fISpecification\-title\fR¤Þ¤¿¤Ï\fISpecification\-version\fR°À­¤¬¤Ê¤¤¾ì¹ç¤â¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¡¦¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-verbose +.RS 4 +³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤ÎJAR¥Õ¥¡¥¤¥ë¤ò¡¢¥Á¥§¥Ã¥¯»þ¤Ë°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥ÈJAR¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î°À­¡¢¤ª¤è¤Ó¶¥¹ç¤¹¤ëJAR¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÊó¹ð¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Javaµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} jar(1) -.LP - +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 b/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 index 96ce9478bdc..92b10e2e57d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 @@ -1,738 +1,554 @@ -." Copyright (c) 2001, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH idlj 1 "07 May 2011" - -.LP -.SH "̾Á°" -idlj \- IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é -.LP -\f3idlj\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤«¤é Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£ -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: idlj +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "idlj" "1" "2013ǯ11·î21Æü" "JDK 8" "Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +idlj \- »ØÄꤵ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì(IDL)¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆJava¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3 -.fl -\fP +\fIidlj\fR [ \fIoptions\fR ] \fIidlfile\fR .fi - -.LP -.LP -\f2idl\-file\fP ¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì (IDL) ¤Ë¤è¤ëÄêµÁ¤¬Æþ¤Ã¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£\f2options\fP ¤Î½çÈÖ¤ÏǤ°Õ¤Ç¤¹¤¬¡¢\f2idl\-file\fP ¤è¤ê¤âÁ°¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£options¤Î½çÈÖ¤ÏǤ°Õ¤Ç¤¹¤¬¡¢\fIidlfile\fR¤è¤ê¤âÁ°¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fIidlfile\fR +.RS 4 +¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì(IDL)¤Ë¤è¤ëÄêµÁ¤¬´Þ¤Þ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2OMG IDL to Java Language Mapping Specification\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Î°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤ÎÃæ¤Ë¤Ï¡¢\f2idltojava\fP ¤È¤¤¤¦Ì¾Á°¤À¤Ã¤¿¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SS -¥¯¥é¥¤¥¢¥ó¥È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô -.LP -.LP -My.idl ¤È¤¤¤¦Ì¾Á°¤Î IDL ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿IDL¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆJava¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping\&.html¤Ë¤¢¤ë +Java IDL: Java¸À¸ì¥Þ¥Ã¥Ô¥ó¥°¤Ø¤ÎIDL¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤Î°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤ÎÃæ¤Ë¤Ï¡¢\fIidltojava\fR¤È¤¤¤¦Ì¾Á°¤À¤Ã¤¿¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ +.SS "¥¯¥é¥¤¥¢¥ó¥È¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô" +.PP +¼¡¤Î\fIidlj\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò´Þ¤à\fIMy\&.idl\fR¤È¤¤¤¦Ì¾Á°¤ÎIDL¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -idlj My.idl -.fl -\fP +idlj My\&.idl .fi - -.LP -.LP -¤³¤ì¤Ë¤è¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ÈÅù²Á¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fclient\fP My.idl -.fl -.fi - -.LP -.LP -¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¤Î¥¹¥±¥ë¥È¥ó¤ÏÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ¥µ¡¼¥Ð¡¼Â¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fserver\fP My.idl -.fl -.fi - -.LP -.LP -¥µ¡¼¥Ð¡¼Â¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¤Û¤«¤Ë¡¢¥¹¥±¥ë¥È¥ó¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤¹¤Ù¤Æ¡¢ \f2POA\fP (¤Ä¤Þ¤ê·Ñ¾µ¥â¥Ç¥ë) ¥¯¥é¥¹¤Ç¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¦¤È¥µ¡¼¥Ð¡¼Â¦¤ÎξÊý¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É (¤É¤ì¤âÅù²Á) ¤Î¤¦¤Á¤Î 1 ¤Ä¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fclient \-fserver\fP My.idl -.fl -idlj \f3\-fall\fP My.idl -.fl -.fi - -.LP -.LP -¥µ¡¼¥Ð¡¼Â¦¤Ç²Äǽ¤Ê¥â¥Ç¥ë¤Ï 2 ¤Ä¤¢¤ê¤Þ¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤È Tie °Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð¡¼Â¦¤Î¥â¥Ç¥ë¤Ï¡¢¡Ö°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¡×¤Ç¤¹¡£\f2My.idl\fP Æâ¤Ç \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2MyPOA.java\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ï \f2My\fP ¤ËÄ󶡤·¡¢\f2MyPOA\fP ¤ò·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f2MyPOA.java\fP ¤Ï -.na -\f2org.omg.PortableServer.Servant\fP @ -.fi -http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html ¤ò³ÈÄ¥¤¹¤ë¥¹¥È¥ê¡¼¥à¥Ù¡¼¥¹¤Î¥¹¥±¥ë¥È¥ó¤Ç¡¢¥¹¥±¥ë¥È¥ó¤¬¼ÂÁõ¤¹¤ë IDL ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë \f2InvokeHandler\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£ -.LP -.LP -.na -\f2Portable Object Adapter (POA)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html ¤Î \f2PortableServer\fP ¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î \f2Servant\fP ·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\f2Servant\fP ·¿¤Ï Java ¤Î \f2org.omg.PortableServer.Servant\fP ¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î POA ¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¤Î¤Û¤«¤Ë¡¢POA ¤½¤Î¤â¤Î¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤Îưºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£ -.LP -.LP -·Ñ¾µ¥â¥Ç¥ë¤Î¤â¤¦ 1 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-oldImplBase\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢J2SE 1.4 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤³¤È¤Ç¤¹¡£¤¿¤À¤·¡¢\f2\-oldImplBase\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢É¸½àŪ¤Ê¼êË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤é¤Î API ¤Ïº£¸åÈó¿ä¾©¤Ë¤Ê¤ëͽÄê¤Ç¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢J2SE 1.3 ¤Çµ­½Ò¤µ¤ì¤¿´û¸¤Î¥µ¡¼¥Ð¡¼¤È¤Î¸ß´¹À­¤¬É¬Íפʾì¹ç¤À¤±¤Ç¤¹¡£¤½¤Î¾ì¹ç¤Ë¤Ï´û¸¤Î MAKEFILE ¤òÊѹ¹¤·¡¢\f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤Ë \f2\-oldImplBase\fP ¥Õ¥é¥°¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢POA ¥Ù¡¼¥¹¤Î¥µ¡¼¥Ð¡¼Â¦¥Þ¥Ã¥Ô¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£²¼°Ì¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fclient \-fserver\fP \f3\-oldImplBase\fP My.idl -.fl -idlj \f3\-fall\fP \f3\-oldImplBase\fP My.idl -.fl -.fi - -.LP -.LP -\f2My.idl\fP Æâ¤Ç \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2_MyImplBase.java\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2My\fP ¤ËÂФ·¤Æ¤½¤Î¼ÂÁõ¤òÄ󶡤·¡¢¤³¤Î¼ÂÁõ¤Ï \f2_MyImplBase\fP ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -.LP -¤â¤¦ 1 ¤Ä¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢Tie ¥â¥Ç¥ë¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢°Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£Tie ¤È¥¹¥±¥ë¥È¥ó¤òƱ»þ¤ËÀ¸À®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¿¤á¡¢¤½¤ì¤é¤ÏÊÌ¡¹¤ËÀ¸À®¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢Tie ¥â¥Ç¥ëÍѤΥХ¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-fall\fP My.idl -.fl -idlj \f3\-fallTIE\fP My.idl -.fl -.fi - -.LP -.LP -\f2My\fP ¤È¤¤¤¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¾åµ­¤Î 2 ÈÖÌܤΥ³¥Þ¥ó¥É¤Ë¤è¤ê¡¢\f2MyPOATie.java\fP ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2MyPOATie\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢\f2delegate\fP ¤ò¼è¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î POA ¥â¥Ç¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Ë¤â \f2poa\fP ¤¬É¬ÍפǤ¹¡£\f2delegate\fP ¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤³¤Î¼ÂÁõ¤Ï \f2MyOperations\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤À¤±¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\f2MyPOATie\fP Æâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - ORB orb = ORB.init(args, System.getProperties()); -.fl - -.fl - // Get reference to rootpoa & activate the POAManager -.fl - POA rootpoa = (POA)orb.resolve_initial_references("RootPOA"); -.fl - rootpoa.the_POAManager().activate(); -.fl - -.fl - // create servant and register it with the ORB -.fl - MyServant myDelegate = new MyServant(); -.fl - myDelegate.setORB(orb); -.fl - -.fl - // create a tie, with servant being the delegate. -.fl - MyPOATie tie = new MyPOATie(myDelegate, rootpoa); -.fl - -.fl - // obtain the objectRef for the tie -.fl - My ref = tie._this(orb); -.fl -\fP -.fi - -.LP -.LP -¾¤Î¼ÂÁõ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¡¢É¸½à¤Î·Ñ¾µ¥â¥Ç¥ë¤Ç¤Ï¤Ê¤¯ Tie ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£Java ¤Î¾ì¹ç¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·Ñ¾µ¤Î¸Ä¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤Ë»ÈÍѤǤ­¤ë¥¹¥í¥Ã¥È¤Ï 1 ¤Ä¤À¤±¤Ç¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬ÀêÍ­¤µ¤ì¤Þ¤¹¡£Tie ¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬»ÈÍѤµ¤ì¤º¡¢¥æ¡¼¥¶¡¼¤¬ÆÈ¼«¤ÎÌÜŪ¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ë¤Ï¡¢´ÖÀÜÀ­¤Î¥ì¥Ù¥ë¤¬ 1 ¤ÄƳÆþ¤µ¤ì¤ë¤È¤¤¤¦·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¡¢Í¾Ê¬¤Ê¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤¬ 1 ²óȯÀ¸¤·¤Þ¤¹¡£ -.LP -.LP -IDL ¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é J2SE 1.4 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Java ¸À¸ì¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤È¸ß´¹À­¤Î¤¢¤ë¡¢¥µ¡¼¥Ð¡¼Â¦¤Î Tie ¥â¥Ç¥ë¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-oldImplBase\fP \f3\-fall\fP My.idl -.fl -idlj \f3\-oldImplBase\fP \f3\-fallTIE\fP My.idl -.fl -.fi - -.LP -.LP -\f2My\fP ¤È¤¤¤¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¤³¤ì¤Ë¤è¤ê \f2My_Tie.java\fP ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2My_Tie\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢\f2impl\fP ¤ò¼è¤ê¤Þ¤¹¡£\f2impl\fP ¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤½¤Î¼ÂÁõ¤Ï \f2HelloOperations\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤À¤±¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\f2My_Tie\fP Æâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - ORB orb = ORB.init(args, System.getProperties()); -.fl - -.fl - // create servant and register it with the ORB -.fl - MyServant myDelegate = new MyServant(); -.fl - myDelegate.setORB(orb); -.fl - -.fl - // create a tie, with servant being the delegate. -.fl - MyPOATie tie = new MyPOATie(myDelegate); -.fl - -.fl - // obtain the objectRef for the tie -.fl - My ref = tie._this(orb); -.fl -\fP -.fi - -.LP -.SS -ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê -.LP -.LP -ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-td /altdir\fP My.idl -.fl -.fi - -.LP -.LP -\f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\f2./My.java\fP ¤Ç¤Ï¤Ê¤¯¡¢\f2/altdir/My.java\fP ¤Ê¤É¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¡£ -.LP -.SS -¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê -.LP -.LP -\f2My.idl\fP ¤Ë¤â¤¦ 1 ¤Ä¤Î IDL ¥Õ¥¡¥¤¥ë \f2MyOther.idl\fP ¤¬¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë \f2MyOther.idl\fP ¤¬¤¢¤ë¤â¤Î¤ÈÁÛÄꤷ¤Þ¤¹¡£¤â¤·¤½¤Î¥Õ¥¡¥¤¥ë¤¬¡¢¤¿¤È¤¨¤Ð \f2/includes\fP ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-i /includes\fP My.idl -.fl -.fi - -.LP -.LP -¤Þ¤¿¡¢¤â¤· \f2My.idl\fP ¤Ë¡¢¤¿¤È¤¨¤Ð \f2/moreIncludes\fP ¤Ë¤¢¤ë \f2Another.idl\fP ¤â¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-i /includes \-i /moreIncludes\fP My.idl -.fl -.fi - -.LP -.LP -¤³¤Î¤è¤¦¤Ê·Á¼°¤Ç¥¤¥ó¥¯¥ë¡¼¥É¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤¬Ä¹¤¯¤ÆÊ£»¨¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤³¤Ç¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤¹¤ë¤¿¤á¤ÎÊ̤ÎÊýË¡¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢´Ä¶­ÊÑ¿ô¤Î¹Í¤¨Êý¤È»÷¤Æ¤¤¤Þ¤¹¡£CLASSPATH ¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2idl.config\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î \f2idl.config\fP ¤ÎÃæ¤Ë¡¢¼¡¤Î¤è¤¦¤Ê·Á¼°¤Î¹Ô¤òÆþ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -includes=/includes;/moreIncludes -.fl -\fP -.fi - -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥¤¥ó¥¯¥ë¡¼¥É¥ê¥¹¥È¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¶èÀÚ¤êʸ»ú¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥»¥ß¥³¥í¥ó¤Ç¤¹¤¬¡¢Unix ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥³¥í¥ó¤Ç¤¹¡£ \f2¥¤¥ó¥¯¥ë¡¼¥É\fP¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2CLASSPATH ¤ÎÀßÄê\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#general ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤷ¤¿ IDL ¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ä¹½Â¤ÂΤʤɤˤĤ¤¤Æ¤Î¤ß¡¢Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î 2 ¤Ä¤Î IDL ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£ -.LP - -.LP -.LP -\f4My.idl\fP -.LP -.nf -\f3 -.fl -#include <MyOther.idl> -.fl -interface My -.fl -{ -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -\f4MyOther.idl\fP -.LP -.nf -\f3 -.fl -interface MyOther -.fl -{ -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\f2My\fP ¤ËÂФ¹¤ë Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj My.idl -.fl -\fP -.fi - -.LP -.LP -\f2My.idl\fP ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤È¡¢\f2My.idl\fP ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë (¤³¤ÎÎã¤Ç¤Ï \f2MyOther.idl\fP) ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-emitAll\fP My.idl -.fl -.fi - -.LP -.LP -¤³¤Î¥Ç¥Õ¥©¥ë¥È¤Îµ¬Â§¤Ë´Ø¤·¤ÆÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×¤Ë»ØÄꤷ¤¿ \f2#include\fP ʸ¤Ï¡¢Á°½Ò¤Î¤È¤ª¤ê¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î \f2#include\fP ʸ¤Ï¡¢¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤ì¤ËÂФ·¤Æ¡¢Â¾¤ÎÄêµÁ¤Ë°Ï¤Þ¤ì¤¿¥¹¥³¡¼¥×Æâ¤Ë»ØÄꤷ¤¿ \f2#include\fP ʸ¤Ï¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î \f2#include\fP ʸ¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¥³¡¼¥É¤¬¡¢¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¤½¤Î¤Þ¤Þ»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë½èÍý¤µ¤ì¡¢¤½¤ì¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¼¡¤Ï¤½¤ÎÎã¤Ç¤¹¡£ -.LP - -.LP -.LP -\f4My.idl\fP -.LP -.nf -\f3 -.fl -#include <MyOther.idl> -.fl -interface My -.fl -{ -.fl - #include <Embedded.idl> -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -\f4MyOther.idl\fP -.LP -.nf -\f3 -.fl -interface MyOther -.fl -{ -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -\f4Embedded.idl\fP -.LP -.nf -\f3 -.fl -enum E {one, two, three}; -.fl -\fP -.fi - -.LP - -.LP -.LP -¤³¤Î¤È¤­¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢ -.LP -.nf -\f3 -.fl -idlj My.idl -.fl -\fP -.fi - -.LP -.LP -¼¡¤Î¤è¤¦¤Ê°ìÏ¢¤Î Java ¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -./MyHolder.java -.fl -./MyHelper.java -.fl -./_MyStub.java -.fl -./MyPackage -.fl -./MyPackage/EHolder.java -.fl -./MyPackage/EHelper.java -.fl -./MyPackage/E.java -.fl -./My.java -.fl -\fP -.fi - -.LP -.LP -¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤µ¤ì¤ë \f2#include\fP ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢\f2MyOther.java\fP ¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î \f2#include\fP ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢\f2E.java\fP ¤ÏÀ¸À®¤µ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f2Embedded.idl\fP ¤¬ \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥¹¥³¡¼¥×Æâ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤¿¤¿¤á¡¢\f2My\fP ¤Î¥¹¥³¡¼¥×Æâ (¤Ä¤Þ¤ê¡¢\f2MyPackage\fP Æâ) ¤ËÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¾åµ­¤ÎÎã¤Ç \f2\-emitAll\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î·¿¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£ -.LP -.SS -¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÜÆ¬¼­¤ÎÁÞÆþ -.LP -.LP -ABC ¤È¤¤¤¦Ì¾Á°¤Î²ñ¼Ò¤Î¤¿¤á¤Ëºî¶È¤·¤Æ¤¤¤Æ¡¢¼¡¤Î¤è¤¦¤Ê IDL ¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤¿¤È¤·¤Þ¤·¤ç¤¦¡£ -.LP - -.LP -.LP -\f4Widgets.idl\fP -.LP -.nf -\f3 -.fl -module Widgets -.fl -{ -.fl - interface W1 {...}; -.fl - interface W2 {...}; -.fl -}; -.fl -\fP -.fi - -.LP - -.LP -.LP -¤³¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤È¡¢\f2W1\fP ¤ª¤è¤Ó \f2W2\fP ¤ËÂФ¹¤ë Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬ \f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¶È³¦¤Î´·Îã¤Ë¤è¤ë¤È¡¢²ñ¼Ò¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢\f2com.<²ñ¼Ò̾>\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÃÖ¤¯¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢\f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤ÏÉÔ½½Ê¬¤Ç¤¹¡£´·Îã¤Ë½¾¤¦¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò \f2com.abc.Widgets\fP ¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸ÀÜÆ¬¼­¤ò \f2Widgets\fP ¥â¥¸¥å¡¼¥ë¤ËÉղ乤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-pkgPrefix Widgets com.abc\fP Widgets.idl -.fl -.fi - -.LP -.LP -\f2Widgets.idl\fP ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ë IDL ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ë¤â \f2\-pkgPrefix\fP ¥Õ¥é¥°¤¬É¬ÍפǤ¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¤½¤Î IDL ¥Õ¥¡¥¤¥ë¤Ï¡¢\f2com.abc.Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯¡¢\f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -ÀÜÆ¬¼­¤¬É¬Íפʥѥ屡¼¥¸¤¬¤¤¤¯¤Ä¤â¤¢¤ë¾ì¹ç¤Ï¡¢Á°½Ò¤Î \f2idl.config\fP ¥Õ¥¡¥¤¥ë¤ÇÀÜÆ¬¼­¤ò»ØÄꤹ¤ë¤Î¤¬´Êñ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÜÆ¬¼­¤ò»ØÄꤹ¤ë¹Ô¤Ï¡¢¤½¤ì¤¾¤ì¼¡¤Î·Á¼°¤Çµ­½Ò¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -PkgPrefix.<type>=<prefix> -.fl -\fP -.fi - -.LP -¤·¤¿¤¬¤Ã¤Æ¡¢¾åµ­¤ÎÎã¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -PkgPrefix.Widgets=com.abc -.fl -\fP -.fi - -.LP -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¥ê¥Ý¥¸¥È¥ê ID ¤Ï±Æ¶Á¤ò¼õ¤±¤Þ¤»¤ó¡£ -.LP -.SS -¥³¥ó¥Ñ¥¤¥ëÁ°¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ -.LP -.LP -¥³¥ó¥Ñ¥¤¥ëÍѤΥ·¥ó¥Ü¥ë¤¬ IDL ¥Õ¥¡¥¤¥ëÆâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥·¥ó¥Ü¥ë¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¿¤È¤¨¤Ð¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¥Ç¥Ð¥Ã¥°¥³¡¼¥É¤òÁÈ¤ßÆþ¤ì¤ë¤È¤­¤Ë»ÈÍѤ·¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-d\fP MYDEF My.idl -.fl -.fi - -.LP -.LP -\f2My.idl\fP Æâ¤Ë \f2#define MYDEF\fP ¤È¤¤¤¦¹Ô¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈÅù²Á¤Ç¤¹¡£ -.LP -.SS -´û¸¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÊÝ»ý -.LP -.LP -Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢\f2\-keep\fP ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¾å½ñ¤­¤ò²óÈò¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¾ì¹ç (¤¿¤À¤·¡¢¤½¤ì¤é¤ÎÆâÍÆ¤¬Àµ³Î¤Ç¤¢¤ë¤È¤­°Ê³°¤Ï¥«¥¹¥¿¥Þ¥¤¥º¤ÏÈò¤±¤ë)¡¢\-keep ¥ª¥×¥·¥ç¥ó¤ÏÍ­ÍѤǤ¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-keep\fP My.idl -.fl -.fi - -.LP -.LP -¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¡¢¤Þ¤À¸ºß¤·¤Ê¤¤¤â¤Î¤ò¤¹¤Ù¤ÆÈ¯¹Ô¤·¤Þ¤¹¡£ -.LP -.SS -¥³¥ó¥Ñ¥¤¥ë¤Î¿ÊĽ¾õ¶·¤Îɽ¼¨ -.LP -.LP -IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¼Â¹Ô¤Î³ÆÃʳ¬¤Ç¾õÂÖ¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¡Ö¾éĹ¡×¥â¡¼¥É (¥á¥Ã¥»¡¼¥¸¤¬Â¿¤¤¥â¡¼¥É) ¤Ë¤¹¤ë¤Ë¤Ï¡¢\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \fP\f3\-v\fP My.idl -.fl -.fi - -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¾éĹ¥â¡¼¥É¤Ç¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£ -.LP -.SS -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨ -.LP -.LP -IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Î¥Ó¥ë¥É¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-version\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -idlj \-version -.fl -\fP -.fi - -.LP -.LP -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¤â½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤È¡¢¤½¤ì°Ê³°¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤â¡¢¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-d symbol -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢IDL ¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Ê¹Ô¤òÄɲä·¤¿¾ì¹ç¤ÈÅù²Á¤Ç¤¹¡£ -.nf -\f3 -.fl -#define \fP\f4symbol\fP\f3 -.fl -\fP -.fi -.TP 3 -\-emitAll -#include ¥Õ¥¡¥¤¥ë Æâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤â´Þ¤á¤Æ¡¢ \f2¤¹¤Ù¤Æ¤Î·¿¤ò\fP ȯ¹Ô¤·¤Þ¤¹¡£ -.TP 3 -\-fside -ȯ¹Ô¤¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤·¤Þ¤¹¡£\f2side\fP ¤Ï \f2client\fP¡¢\f2server\fP¡¢\f2serverTIE\fP¡¢\f2all\fP¡¢\f2allTIE\fP ¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£\f2\-fserverTIE\fP ¤Þ¤¿¤Ï \f2\-fallTIE\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°Ñ¾ù¥â¥Ç¥ë¥¹¥±¥ë¥È¥ó¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\f2\-fclient\fP ¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-i include\-path -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¤Û¤«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲäǤ­¤Þ¤¹¡£ -.TP 3 -\-keep -À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¾å½ñ¤­¤µ¤ì¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-noWarn -·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-oldImplBase -v1.4 ¤è¤êÁ°¤Î JDK ORB ¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥±¥ë¥È¥ó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢POA ·Ñ¾µ¥â¥Ç¥ë¤Î¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\f2ImplBase\fP ·Ñ¾µ¥â¥Ç¥ë¤Î¥¯¥é¥¹¤Ç¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤Î²¼°Ì¸ß´¹À­¤¬ÆÀ¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-pkgPrefix type prefix -\f2type\fP ¤¬¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¤Ç¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î·¿¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢À¸À®¤µ¤ì¤ë Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë \f2prefix\fP ¤È¤¤¤¦ÀÜÆ¬¼­¤¬Éղ䵤ì¤Þ¤¹¡£\f2type\fP ¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¤É¤Î¥â¥¸¥å¡¼¥ë¤è¤ê¤â³°Â¦¤ÇÄêµÁ¤µ¤ì¤¿ IDL ·¿¤Îñ½ã̾¤Î¤É¤Á¤é¤«¤Ç¤¹¡£ -.TP 3 -\-pkgTranslate type package -¼±Ê̻ҤÎÃæ¤Ë¥â¥¸¥å¡¼¥ë̾ type ¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢À¸À®¤µ¤ì¤ë Java ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¼±Ê̻ҤÎÃæ¤Î¤½¤Î̾Á°¤¬ package ¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£ºÇ½é¤Ë \f2pkgPrefix\fP ¤òÊѹ¹¤·¤Þ¤¹¡£\f2type\fP ¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥â¥¸¥å¡¼¥ë¡¢¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿ IDL ·¿¤Îñ½ã̾¤Ç¤¹¡£¤½¤·¤Æ¡¢´°Á´¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÀµ³Î¤Ë°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -1 ¤Ä¤Î¼±Ê̻ҤÎÃæ¤ÇÊ£¿ô¤ÎÊÑ´¹¤¬¥Þ¥Ã¥Á¤¹¤ë¾ì¹ç¤Ï¡¢¤â¤Ã¤È¤âŤ¤¥Þ¥Ã¥Á¤¬Áª¤Ð¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê°ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ -.nf -\f3 -.fl - \-pkgTranslate foo bar \-pkgTranslate foo.baz buzz.fizz -.fl -\fP -.fi -.LP -¼¡¤Î¤è¤¦¤ÊÊÑ´¹¤¬¼Â»Ü¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -foo => bar -.fl -foo.boo => bar.boo -.fl -foo.baz => buzz.fizz -.fl -foo.baz.bar => buzz.fizz.bar -.fl -\fP -.fi -.LP -¼¡¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÊÑ´¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.RS 3 -.TP 2 -o -\f2org\fP -.TP 2 -o -\f2org.omg\fP¡¢¤Þ¤¿¤Ï \f2org.omg\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ +.if n \{\ .RE -.LP -¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÊÑ´¹¤·¤è¤¦¤È¤¹¤ë¤È¡¢¸ß´¹À­¤Î¤Ê¤¤¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤½¤·¤Æ¡¢\f2\-pkgTranslate\fP ¤Î¤¢¤È¤ÎºÇ½é¤Î°ú¿ô¤È¤·¤Æ¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-skeletonName xxx%yyy -\f2xxx%yyy\fP ¤¬¡¢¥¹¥±¥ë¥È¥ó¤Ë̾Á°¤òÉÕ¤±¤ë¥Ñ¥¿¡¼¥ó¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f2POA\fP ´ðÄ쥯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%POA¡×(\f2\-fserver\fP ¤Þ¤¿¤Ï \f2\-fall\fP) -.TP 2 -o -\f2oldImplBase\fP ¥¯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö_%ImplBase¡×(\f2\-oldImplBase\fP ¤«¤Ä (\f2\-fserver\fP ¤Þ¤¿¤Ï \f2\-fall\fP)) +.\} +.PP +Á°¤Î¹½Ê¸¤Ï¼¡¤ÈƱÅù¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-fclient My\&.idl +.fi +.if n \{\ .RE -.TP 3 -\-td dir -½ÐÎϥǥ£¥ì¥¯¥È¥ê¤È¤·¤Æ¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯¡¢\f2dir\fP ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 3 -\-tieName xxx%yyy -¤³¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤Ã¤Æ Tie ¤Ë̾Á°¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f2POA\fP Tie ´ðÄ쥯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%POATie¡×(\f2\-fserverTie\fP ¤Þ¤¿¤Ï \f2\-fallTie\fP) -.TP 2 -o -\f2oldImplBase\fP Tie ¥¯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%_Tie¡×(\f2\-oldImplBase\fP ¤«¤Ä (\f2\-fserverTie\fP ¤Þ¤¿¤Ï \f2\-fallTie\fP)) +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¤ò´Þ¤á¤Æ¤ª¤ê¡¢¤³¤ì¤é¤Ï¤¹¤Ù¤Æ¡¢POA (·Ñ¾µ¥â¥Ç¥ë)¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlg \-fserver My\&.idl +.fi +.if n \{\ .RE -.TP 3 -\-nowarn, \-verbose -¾éĹ¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.\} +.PP +¥¯¥é¥¤¥¢¥ó¥È¦¤È¥µ¡¼¥Ð¡¼Â¦¤ÎξÊý¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É(¤É¤ì¤âÅù²Á)¤Î¤¦¤Á¤Î1¤Ä¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-fclient \-fserver My\&.idl +idlj \-fall My\&.idl +.fi +.if n \{\ .RE - -.LP -³Æ¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖÀâÌÀ¡×¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SH "À©Ìó" -.LP -.RS 3 -.TP 2 -o -¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×Æâ¤Î¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¼±Ê̻Ҥϡ¢IDL ¥×¥ê¥ß¥Æ¥£¥Ö·¿¤Î \f2Object\fP ¤Þ¤¿¤Ï \f2ValueBase\fP ¤ÈƱ¤¸ÄÖ¤ê¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¼±Ê̻ҤˤĤ¤¤Æ¤Ï¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤¬»öÁ°¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤é¤Î¼±Ê̻ҤκÆÄêµÁ¤òµö²Ä¤¹¤ë¤È¸µ¤ÎÄêµÁ¤¬¾å½ñ¤­¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤ª¤½¤é¤¯¹±µ×Ū¤ÊÀ©Ìó¤Ç¤¹¡£ -.TP 2 -o -\f2fixed\fP ¤È¤¤¤¦ IDL ·¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.\} +.PP +¥µ¡¼¥Ð¡¼Â¦¤Ç²Äǽ¤Ê¥â¥Ç¥ë¤Ï2¤Ä¤¢¤ê¤Þ¤¹¡£°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¤ÈTie¥â¥Ç¥ë¤Ç¤¹¡£Tie°Ñ¾ù¥â¥Ç¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fB°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë\fR +.ps -1 +.br +.PP +¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð¡¼Â¦¤Î¥â¥Ç¥ë¤Ï¡¢°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¤Ç¤¹¡£\fIMy\&.idl\fRÆâ¤Ç\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fIMyPOA\&.java\fR¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¡¢\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï\fIMyPOA\fR¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIMyPOA\&.java\fR¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/api/org/omg/PortableServer/Servant\&.html¤Ë¤¢¤ë +\fIorg\&.omg\&.PortableServer\&.Servant\fR¥¯¥é¥¹¤ò³ÈÄ¥¤¹¤ë¥¹¥È¥ê¡¼¥à¥Ù¡¼¥¹¤Î¥¹¥±¥ë¥È¥ó¤Ç¤¹¡£ +.PP +\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢¥¹¥±¥ë¥È¥ó¤¬¼ÂÁõ¤¹¤ëIDL¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë\fIcallHandler\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÈÁàºî¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£ +.PP +¥Ý¡¼¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥¢¥À¥×¥¿(POA)¤Î\fIPortableServer\fR¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î\fIServant\fR·¿¤òÄêµÁ¤·¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/POA\&.html¤Ë¤¢¤ë +¥Ý¡¼¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥¢¥À¥×¥¿(POA)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\fIServant\fR·¿¤ÏJava¤Î\fIorg\&.omg\&.PortableServer\&.Servant\fR¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤ÎPOA¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¡¢¤ª¤è¤ÓPOA¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤Îưºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£ +.PP +·Ñ¾µ¥â¥Ç¥ë¤Î¤â¤¦1¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-oldImplBase\fR¥Õ¥é¥°¤ò»ÈÍѤ·¤Æ¡¢Java SE 1\&.4¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤³¤È¤Ç¤¹¡£\-\fIoldImplBase\fR¥Õ¥é¥°¤ÏÈóɸ½à¤Ç¡¢¤³¤ì¤é¤ÎAPI¤ÏÈó¿ä¾©¤Ç¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢Java SE 1\&.3¤Çµ­½Ò¤µ¤ì¤¿´û¸¤Î¥µ¡¼¥Ð¡¼¤È¤Î¸ß´¹À­¤¬É¬Íפʾì¹ç¤Î¤ß¤Ç¤¹¡£¤½¤Î¾ì¹ç¡¢´û¸¤Îmake¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Æ¡¢\fI\-oldImplBase\fR¥Õ¥é¥°¤ò\fIidlj\fR¥³¥ó¥Ñ¥¤¥é¤ËÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢POA¥Ù¡¼¥¹¤Î¥µ¡¼¥Ð¡¼Â¦¥Þ¥Ã¥Ô¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£²¼°Ì¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp .5v .RE - -.LP -.SH "´ûÃΤÎÌäÂêÅÀ" -.LP -.RS 3 -.TP 2 -o -¥°¥í¡¼¥Ð¥ë¼±Ê̻ҤˤĤ¤¤Æ¥¤¥ó¥Ý¡¼¥È¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£Í½´ü¤µ¤ì¤Ê¤¤¥í¡¼¥«¥ë impl ¤ò¸Æ¤Ó½Ð¤¹¤È¡¢Îã³°¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢¤½¤Î¸¶°ø¤Ï¡¢\f2ServerDelegate\fP DSI ¥³¡¼¥ÉÆâ¤Î \f2NullPointerException\fP ¤Ë¤¢¤ë¤è¤¦¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-fclient \-fserver \-oldImplBase My\&.idl +idlj \-fall \-oldImplBase My\&.idl +.fi +.if n \{\ .RE - -.LP +.\} +.PP +\fIMy\&.idl\fRÆâ¤Ç\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fI_MyImplBase\&.java\fR¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¡¢\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï\fI_MyImplBase\fR¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBTie°Ñ¾ù¥â¥Ç¥ë\fR +.ps -1 +.br +.PP +¤â¤¦1¤Ä¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢Tie¥â¥Ç¥ë¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢°Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£Tie¤È¥¹¥±¥ë¥È¥ó¤òƱ»þ¤ËÀ¸À®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¿¤á¡¢¤½¤ì¤é¤ÏÊÌ¡¹¤ËÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢Tie¥â¥Ç¥ëÍѤΥХ¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp .5v +.RE +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-fall My\&.idl +idlj \-fallTIE My\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢2ÈÖÌܤΥ³¥Þ¥ó¥É¤Ë¤è¤ê¡¢\fIMyPOATie\&.java\fR¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fIMyPOATie\fR¥¯¥é¥¹¤Ø¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢delegate¤ò¼è¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ÎPOA¥â¥Ç¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Ë¤âPOA¤¬É¬ÍפǤ¹¡£delegate¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤Î¼ÂÁõ¤Ï\fIMyOperations\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤ß¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤òORB¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë\fIMyPOATie\fR¥¯¥é¥¹Æâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +ORB orb = ORB\&.init(args, System\&.getProperties()); +// Get reference to rootpoa & activate the POAManager +POA rootpoa = (POA)orb\&.resolve_initial_references("RootPOA"); +rootpoa\&.the_POAManager()\&.activate(); + +// create servant and register it with the ORB +MyServant myDelegate = new MyServant(); +myDelegate\&.setORB(orb); + +// create a tie, with servant being the delegate\&. +MyPOATie tie = new MyPOATie(myDelegate, rootpoa); + +// obtain the objectRef for the tie +My ref = tie\&._this(orb); +.fi +.if n \{\ +.RE +.\} +.PP +¾¤Î¼ÂÁõ¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢É¸½à¤Î·Ñ¾µ¥â¥Ç¥ë¤Ç¤Ï¤Ê¤¯Tie¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Java¤Î¾ì¹ç¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·Ñ¾µ¤Î¸Ä¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤Ë»ÈÍѤǤ­¤ë¥¹¥í¥Ã¥È¤Ï1¤Ä¤Î¤ß¤Ç¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬ÀêÍ­¤µ¤ì¤Þ¤¹¡£Tie¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬»ÈÍѤµ¤ì¤º¡¢¥æ¡¼¥¶¡¼¤¬ÆÈ¼«¤ÎÌÜŪ¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ë¤Ï¡¢´ÖÀÜÀ­¤Î¥ì¥Ù¥ë¤¬1¤ÄƳÆþ¤µ¤ì¤ë¤È¤¤¤¦Ã»½ê¤¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¡¢Í¾Ê¬¤Ê¥á¥½¥Ã¥É¸Æ½Ð¤·¤¬1²óȯÀ¸¤·¤Þ¤¹¡£ +.PP +¥µ¡¼¥Ð¡¼Â¦¤ÎÀ¸À®¤Î¾ì¹ç¡¢Java SE 1\&.4¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎJava¸À¸ì¤Ë¥Þ¥Ã¥Ô¥ó¥°¤¹¤ëIDL¤Î¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À­¤Î¤¢¤ë¡¢Tie¥â¥Ç¥ë¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-oldImplBase \-fall My\&.idl +idlj \-oldImplBase \-fallTIE My\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¤³¤ì¤Ë¤è¤ê¡¢\fIMy_Tie\&.java\fR¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fIMy_Tie\fR¥¯¥é¥¹¤Ø¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢\fIimpl\fR¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê¤Þ¤¹¡£\fIimpl\fR¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤Î¼ÂÁõ¤Ï\fIHelloOperations\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤ß¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤ì¤òORB¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë\fIMy_Tie\fRÆâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +ORB orb = ORB\&.init(args, System\&.getProperties()); + +// create servant and register it with the ORB +MyServant myDelegate = new MyServant(); +myDelegate\&.setORB(orb); + +// create a tie, with servant being the delegate\&. +MyPOATie tie = new MyPOATie(myDelegate); + +// obtain the objectRef for the tie +My ref = tie\&._this(orb); +.fi +.if n \{\ +.RE +.\} +.SS "ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê" +.PP +ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤Ë¤Ï¡¢\fIi\fR\fIdlj \-td /altdir My\&.idl\fR¤Î¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.PP + +\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\fI\&./My\&.java\fR¤Ç¤Ï¤Ê¤¯¡¢\fI/altdir/My\&.java\fR¤Ê¤É¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¡£ +.SS "¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê" +.PP +\fIMy\&.idl\fR¥Õ¥¡¥¤¥ë¤¬Ê̤Î\fIidl\fR¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë\fIMyOther\&.idl\fR¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¡¢\fIMyOther\&.idl\fR¥Õ¥¡¥¤¥ë¤¬¥í¡¼¥«¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤½¤ì¤¬\fI/includes\fR¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-i /includes My\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +¤¿¤È¤¨¤Ð¡¢\fI/moreIncludes\fR¤Ë¤¢¤ë\fIAnother\&.idl\fR¤â\fIMy\&.idl\fR¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-i /includes \-i /moreIncludes My\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤Î¤è¤¦¤Ê·Á¼°¤Î\fIinclude\fR¤ÏŤ¯¤Ê¤ë¤¿¤á¡¢¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤¹¤ë¤¿¤á¤ÎÊ̤ÎÊýË¡¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢´Ä¶­ÊÑ¿ô¤Î¹Í¤¨Êý¤È»÷¤Æ¤¤¤Þ¤¹¡£\fICLASSPATH\fRÊÑ¿ô¤Ë°ìÍ÷ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ëidl\&.config¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î\fIidl\&.config\fR¤ÎÃæ¤Ë¡¢¼¡¤Î¤è¤¦¤Ê·Á¼°¤Î¹Ô¤òÆþ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +includes=/includes;/moreIncludes +.fi +.if n \{\ +.RE +.\} +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥¤¥ó¥¯¥ë¡¼¥É¡¦¥ê¥¹¥È¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ï¥»¥ß¥³¥í¥ó(;)¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¶èÀÚ¤êʸ»ú¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£Windows¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥»¥ß¥³¥í¥ó¤ò»ÈÍѤ·¡¢UNIX¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥³¥í¥ó¤ò»ÈÍѤ¹¤ë¤Ê¤É¤Ç¤¹¡£ +.SS "¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô" +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤷ¤¿\fIidl\fR¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ä¹½Â¤ÂΤʤɤˤĤ¤¤Æ¤Î¤ß¡¢Java¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤Ë¤Ä¤¤¤Æ¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î2¤Ä¤Î\fIidl\fR¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +My\&.idl file: + +#include <MyOther\&.idl> +interface My +{ +}; + +MyOther\&.idl file: + +interface MyOther +{ +}; +.fi +.if n \{\ +.RE +.\} +.PP +¥Ç¥Õ¥©¥ë¥È¤Î¥ë¡¼¥ë¤Ë´Ø¤·¤Æ·Ù¹ð¤¬¤¢¤ê¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¡¦¥¹¥³¡¼¥×¤Ëɽ¼¨¤µ¤ì¤ë\fI#include\fRʸ¤Ï¡¢Á°½Ò¤Î¤È¤ª¤ê¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î\fI#include\fRʸ¤Ï¡¢¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°Ï¤Þ¤ì¤¿¥¹¥³¡¼¥×Æâ¤Ëɽ¼¨¤µ¤ì¤ë\fI#include\fRʸ¤Ï¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î\fI#include\fRʸ¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¥³¡¼¥É¤¬¡¢¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë½èÍý¤µ¤ì¡¢¤½¤ì¤ËÂФ·¤ÆJava¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¼¡¤Ï¤½¤ÎÎã¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +My\&.idl file: + +#include <MyOther\&.idl> +interface My +{ + #include <Embedded\&.idl> +}; + +MyOther\&.idl file: + +interface MyOther +{ +}; + +Embedded\&.idl + +enum E {one, two, three}; +.fi +.if n \{\ +.RE +.\} +.PP +\fI idlj My\&.idl \fR¤ò¼Â¹Ô¤·¤Æ¡¢Java¥Õ¥¡¥¤¥ë¤Î¼¡¤Î¥ê¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥Èʸ¤È¤ß¤Ê¤µ¤ì¤ë\fI#include\fR¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤¿¤¿¤á¡¢\fIMyOther\&.java\fR¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£¤¿¤À¤·¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î\fI#include\fR¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤¿¤¿¤á¡¢\fIE\&.java\fR¤ÏÀ¸À®¤µ¤ì¤Þ¤·¤¿¡£\fIEmbedded\&.idl\fR¥Õ¥¡¥¤¥ë¤¬\fIMy\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥¹¥³¡¼¥×Æâ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢\fIMy\fR¤Î¥¹¥³¡¼¥×Æâ(¤Ä¤Þ¤ê¡¢\fIMyPackage\fRÆâ)¤ËÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\fI\-emitAll\fR¥Õ¥é¥°¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î·¿¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\&./MyHolder\&.java +\&./MyHelper\&.java +\&./_MyStub\&.java +\&./MyPackage +\&./MyPackage/EHolder\&.java +\&./MyPackage/EHelper\&.java +\&./MyPackage/E\&.java +\&./My\&.java +.fi +.if n \{\ +.RE +.\} +.SS "¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÜÆ¬¼­¤ÎÁÞÆþ" +.PP +ABC¤È¤¤¤¦Ì¾Á°¤Î²ñ¼Ò¤Î¤¿¤á¤Ëºî¶È¤·¤Æ¤¤¤Æ¡¢¼¡¤Î¤è¤¦¤ÊIDL¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤¿¤È¤·¤Þ¤·¤ç¤¦¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Widgets\&.idl file: + +module Widgets +{ + interface W1 {\&.\&.\&.}; + interface W2 {\&.\&.\&.}; +}; +.fi +.if n \{\ +.RE +.\} +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤ò²ð¤·¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢W1¤ª¤è¤ÓW2¤ËÂФ¹¤ëJava¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\fIWidgets\fR¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¶È³¦¤Î´·Îã¤Ë¤è¤ë¤È¡¢²ñ¼Ò¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢\fIcom\&.<company name>\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÃÖ¤¯¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î´·Îã¤Ë½¾¤¦¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò\fIcom\&.abc\&.Widgets\fR¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸ÀÜÆ¬¼­¤òWidgets¥â¥¸¥å¡¼¥ë¤ËÉղ乤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +idlj \-pkgPrefix Widgets com\&.abc Widgets\&.idl +.fi +.if n \{\ +.RE +.\} +.PP +Widgets\&.idl¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ëIDL¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ë¤â\fI\-pkgPrefix\fR¥Õ¥é¥°¤¬É¬ÍפǤ¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¤½¤ÎIDL¥Õ¥¡¥¤¥ë¤Ï¡¢\fIcom\&.abc\&.Widgets\fR¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯¡¢\fIWidgets\fR¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +ÀÜÆ¬¼­¤¬É¬Íפʥѥ屡¼¥¸¤¬¤¤¤¯¤Ä¤â¤¢¤ë¾ì¹ç¤Ï¡¢Á°½Ò¤Îidl\&.config¥Õ¥¡¥¤¥ë¤ÇÀÜÆ¬¼­¤ò»ØÄꤹ¤ë¤Î¤¬´Êñ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸ÀÜÆ¬¼­¤Î³Æ¹Ô¤Ï¡¢\fIPkgPrefix\&.<type>=<prefix>\fR¤Î·Á¼°¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Á°½Ò¤ÎÎã¤Î¹Ô¤Ç¤Ï¡¢\fIPkgPrefix\&.Widgets=com\&.abc\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥ê¥Ý¥¸¥È¥êID¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¡£ +.SS "¥³¥ó¥Ñ¥¤¥ëÁ°¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ" +.PP +¥³¥ó¥Ñ¥¤¥ëÍѤΥ·¥ó¥Ü¥ë¤¬IDL¥Õ¥¡¥¤¥ëÆâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥·¥ó¥Ü¥ë¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¿¤È¤¨¤Ð¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¥Ç¥Ð¥Ã¥°¡¦¥³¡¼¥É¤òÁÈ¤ßÆþ¤ì¤ë¤È¤­¤Ë»ÈÍѤ·¤Þ¤¹¡£¥³¥Þ¥ó¥É\fIidlj \-d MYDEF My\&.idl \fR¤Ï¡¢My\&.idlÆâ¤Ë¹Ô\fI#define MYDEF\fR¤òÇÛÃÖ¤·¤¿¾ì¹ç¤ÈƱÅù¤Ë¤Ê¤ê¤Þ¤¹¡£ +.SS "´û¸¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÊÝ»ý" +.PP +Java¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢\fI\-keep\fR¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¾å½ñ¤­¤ò²óÈò¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¾ì¹ç(¤¿¤À¤·¡¢¤½¤ì¤é¤ÎÆâÍÆ¤¬Àµ³Î¤Ç¤¢¤ë¤È¤­°Ê³°¤Ï¥«¥¹¥¿¥Þ¥¤¥º¤ÏÈò¤±¤ë)¡¢\fI\-keep\fR¥ª¥×¥·¥ç¥ó¤ÏÍ­ÍѤǤ¹¡£¥³¥Þ¥ó¥É\fIidlj \-keep My\&.idl\fR¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤·¤Ê¤¤¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òȯ¹Ô¤·¤Þ¤¹¡£ +.SS "¥³¥ó¥Ñ¥¤¥ë¤Î¿ÊĽ¾õ¶·¤Îɽ¼¨" +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¼Â¹Ô¤Î³ÆÃʳ¬¤Ç¾õÂÖ¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£\fI\-v\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\fIidlj \-v My\&.idl\fR¤Î¤è¤¦¤Ê¾éĹ¥â¡¼¥É¤ò¥¢¥¯¥Æ¥£¥Ö²½¤·¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¾éĹ¥â¡¼¥É¤Ç¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£ +.SS "¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨" +.PP +IDL\-to\-Java¥³¥ó¥Ñ¥¤¥é¤Î¥Ó¥ë¥É¡¦¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó\fIidlj \-version\fR¤Ç\fI\-version\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ +.PP +¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¤â½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤹ¤ë¤È¡¢¤½¤ì°Ê³°¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤â¡¢¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-d \fIsymbol\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢IDL¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Ê¹Ô¤òÄɲä·¤¿¾ì¹ç¤ÈÅù²Á¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +#define \fIsymbol\fR +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-demitAll +.RS 4 +\fI#include\fR¥Õ¥¡¥¤¥ëÆâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤â´Þ¤á¤Æ¡¢¤¹¤Ù¤Æ¤Î·¿¤òȯ¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-fside +.RS 4 +ȯ¹Ô¤¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤·¤Þ¤¹¡£\fIside\fR¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï¡¢\fIclient\fR¡¢\fIserver\fR¡¢\fIserverTIE\fR¡¢\fIall\fR¤Þ¤¿¤Ï\fIallTIE\fR¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fI\-fserverTIE\fR¤Þ¤¿¤Ï\fI\-fallTIE\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°Ñ¾ù¥â¥Ç¥ë¡¦¥¹¥±¥ë¥È¥ó¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fI\-fclient\fR¤Ë¥Ç¥Õ¥©¥ë¥ÈÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.PP +\-i \fIinclude\-path\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢Â¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲäǤ­¤Þ¤¹¡£ +.RE +.PP +\-i \fIkeep\fR +.RS 4 +À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¾å½ñ¤­¤µ¤ì¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-noWarn +.RS 4 +·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-oldImplBase +.RS 4 +1\&.4¤è¤êÁ°¤ÎJDK ORB¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥±¥ë¥È¥ó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢POA·Ñ¾µ¥â¥Ç¥ë¤Î¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\fIImplBase\fR·Ñ¾µ¥â¥Ç¥ë¤Î¥¯¥é¥¹¤Ç¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤Î²¼°Ì¸ß´¹À­¤¬ÆÀ¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-pkgPrefix \fItype\fR \fIprefix\fR +.RS 4 +\fItype\fR¤¬¥Õ¥¡¥¤¥ë¡¦¥¹¥³¡¼¥×¤Ç¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î·¿¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢À¸À®¤µ¤ì¤ëJava¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë\fIprefix\fR¤È¤¤¤¦ÀÜÆ¬¼­¤¬Éղ䵤ì¤Þ¤¹¡£type¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¡¦¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¤É¤Î¥â¥¸¥å¡¼¥ë¤è¤ê¤â³°Â¦¤ÇÄêµÁ¤µ¤ì¤¿IDL·¿¤Îñ½ã̾¤Î¤É¤Á¤é¤«¤Ç¤¹¡£ +.RE +.PP +\-pkgTranslate \fItype\fR \fIpackage\fR +.RS 4 +¼±Ê̻ҤÎÃæ¤Ë¥â¥¸¥å¡¼¥ë̾type¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢À¸À®¤µ¤ì¤ëJava¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¼±Ê̻ҤÎÃæ¤Î¤½¤Î̾Á°¤¬package¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£ºÇ½é¤Ë\fIpkgPrefix\fR¤ÎÊѹ¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£type¤ÎÃͤϡ¢¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¡¢¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿IDL·¿¤Îñ½ã̾¤Ç¡¢´°Á´¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÀµ³Î¤Ë°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +Ê£¿ô¤ÎÊÑ´¹¤¬¼±Ê̻Ҥ˰ìÃפ¹¤ë¾ì¹ç¡¢¼¡¤ÎÎã¤Ë¼¨¤¹¤è¤¦¤Ë¡¢ºÇ¤âŤ¤°ìÃפ¬ÁªÂò¤µ¤ì¤Þ¤¹¡£ +.sp +\fB¥³¥Þ¥ó¥É\fR: +.sp +.if n \{\ +.RS 4 +.\} +.nf +pkgTranslate type pkg \-pkgTranslate type2\&.baz pkg2\&.fizz +.fi +.if n \{\ +.RE +.\} +\fB·ë²Ì¤ÎÊÑ´¹\fR: +.sp +.if n \{\ +.RS 4 +.\} +.nf +type => pkg +type\&.ext => pkg\&.ext +type\&.baz => pkg2\&.fizz +type2\&.baz\&.pkg => pkg2\&.fizz\&.pkg +.fi +.if n \{\ +.RE +.\} +¥Ñ¥Ã¥±¡¼¥¸Ì¾\fIorg\fR¡¢\fIorg\fR\&.o\fImg\fR¡¢¤Þ¤¿¤Ï\fIorg\&.omg\fR¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢ÊÑ´¹¤Ç¤­¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÊÑ´¹¤·¤è¤¦¤È¤¹¤ë¤È¡¢¸ß´¹À­¤Î¤Ê¤¤¥³¡¼¥É¤¬À¸À®¤µ¤ì¡¢\fI\-pkgTranslate\fR¤Î¸å¤ÎºÇ½é¤Î°ú¿ô¤È¤·¤Æ¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +\-skeletonName \fIxxx%yyy\fR +.RS 4 +\fIxxx%yyy\fR¤¬¡¢¥¹¥±¥ë¥È¥ó¤Ë̾Á°¤òÉÕ¤±¤ë¥Ñ¥¿¡¼¥ó¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£\fIPOA\fR¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤Î¾ì¹ç¤Ï\fI%POA\fR +(\fI\-fserver\fR¤Þ¤¿¤Ï\fI\-fall\fR)¡¢\fIoldImplBase\fR¥¯¥é¥¹¤Î¾ì¹ç¤Ï\fI_%ImplBase\fR +(\-\fIoldImplBase\fR)¤ª¤è¤Ó(\fI\-fserver\fR¤Þ¤¿¤Ï\fI\-fall\fR))¡£ +.RE +.PP +\-td \fIdir\fR +.RS 4 +½ÐÎϥǥ£¥ì¥¯¥È¥ê¤È¤·¤Æ¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯¡¢\fIdir\fR¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-tieName \fIxxx%yyy\fR +.RS 4 +¥Ñ¥¿¡¼¥ó¤Ë½¾¤Ã¤Æ¡¢\fIxxx%yyy\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£\fIPOA\fR¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤Î¾ì¹ç¤Ï\fI%POA\fR +(\fI\-fserverTie¤Þ¤¿¤Ï\-fallTie\fR)¡¢\fIoldImplBase\fR +tie¥¯¥é¥¹¤Î¾ì¹ç¤Ï\fI_%Tie\fR +(\-\fIoldImplBase\fR)¤ª¤è¤Ó(\fI\-fserverTie\fR¤Þ¤¿¤Ï\fI\-fallTie\fR))¡£ +.RE +.PP +\-nowarn¡¢\-verbose +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.SH "À©¸Â»ö¹à" +.PP +¥°¥í¡¼¥Ð¥ë¡¦¥¹¥³¡¼¥×Æâ¤Î¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¼±Ê̻Ҥϡ¢IDL¥×¥ê¥ß¥Æ¥£¥Ö·¿¤Î\fIObject\fR¤Þ¤¿¤Ï\fIValueBase\fR¤ÈƱ¤¸ÄÖ¤ê¤Ë¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢¥·¥ó¥Ü¥ëɽ¤¬¤³¤ì¤é¤Î¼±Ê̻Ҥǥץê¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£¤³¤ì¤é¤ÎºÆÄêµÁ¤òµö²Ä¤¹¤ë¤È¡¢¸µ¤ÎÄêµÁ¤¬¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤ª¤½¤é¤¯¹±µ×Ū¤ÊÀ©Ìó¤Ç¤¹¡£ +.PP +\fIfixed\fR¤È¤¤¤¦IDL·¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "´ûÃΤÎÌäÂê" +.PP +¥°¥í¡¼¥Ð¥ë¼±Ê̻ҤˤĤ¤¤Æ¥¤¥ó¥Ý¡¼¥È¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£Í½´ü¤µ¤ì¤Ê¤¤¥í¡¼¥«¥ë\fIimpl\fR¥ª¥Ö¥¸¥§¥¯¥È¤ò¸Æ¤Ó½Ð¤¹¤È¡¢Îã³°¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤½¤Î¸¶°ø¤Ï¡¢\fIServerDelegate\fR +DSI¥³¡¼¥ÉÆâ¤Î\fINullPointerException\fR¤Ë¤¢¤ë¤è¤¦¤Ç¤¹¡£ +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 index 0ce57f3ee56..dc1fc5869f7 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 @@ -1,601 +1,517 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jar 1 "07 May 2011" - -.LP -.SH "̾Á°" -jar \- Java ARchive ¥Ä¡¼¥ë -.LP -\f3jar\fP ¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î JAR ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jar +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jar" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jar \- Java Archive (JAR)¥Õ¥¡¥¤¥ë¤òÁàºî¤·¤Þ¤¹¡£ +.SH "³µÍ×" +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ® +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar c\fR[\fIefmMnv0\fR] [\fIentrypoint\fR] [\fIjarfile\fR] [\fImanifest\fR] [\fI\-C\fR \fIdir\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ .RE - -.LP -.SH "·Á¼°" -.LP -.RS 3 -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤ÎºîÀ® -\f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤Î¹¹¿· -\f4jar u\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤ÎÃê½Ð -\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Îɽ·Á¼°¤Ë¤è¤ë°ìÍ÷ɽ¼¨ -\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP -.TP 3 -JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÄɲà -\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP +.\} +JAR¥Õ¥¡¥¤¥ë¤Î¹¹¿· +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar u\fR[\fIefmMnv0\fR] [\fIentrypoint\fR] [\fIjarfile\fR] [\fImanifest\fR] [\fI\-C\fR \fIdir\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ .RE - -.LP -.LP -ÀâÌÀ -.LP -.RS 3 -.TP 3 -cuxtiv0Mmfe -\f2jar\fP ¥³¥Þ¥ó¥É¤òÀ©¸æ¤¹¤ë¥ª¥×¥·¥ç¥ó -.TP 3 -jarfile -ºîÀ® (\f2c\fP)¡¢¹¹¿· (\f2u\fP)¡¢Ãê½Ð (\f2x\fP)¡¢¤Þ¤¿¤ÏÌܼ¡É½¼¨ (\f2t\fP) ¤ÎÂоݤȤʤë JAR ¥Õ¥¡¥¤¥ë¡£\f2f\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2jarfile\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \f2f\fP ¤È \f2jarfile\fP ¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é¡ÖJAR ¥Õ¥¡¥¤¥ë¡×¤¬¼èÆÀ¤µ¤ì¤ë¤« (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎϤءÖJAR ¥Õ¥¡¥¤¥ë¡×¤¬Á÷¿®¤µ¤ì¤Þ¤¹(c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£ -.TP 3 -inputfiles -\f2jarfile\fP ¤Ë·ë¹ç¤µ¤ì¤ë¤« (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡¢\f2jarfile\fP ¤«¤éÃê½Ð (x ¤Î¾ì¹ç) ¤Þ¤¿¤Ï°ìÍ÷ɽ¼¨ (t ¤Î¾ì¹ç) ¤µ¤ì¤ë¡¢¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¡£¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÏºÆµ¢Åª¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥ª¥×¥·¥ç¥ó \f20\fP (¥¼¥í) ¤ò»ÈÍѤ·¤Ê¤¤¤«¤®¤ê°µ½Ì¤µ¤ì¤Þ¤¹¡£ -.TP 3 -manifest -JAR ¥Õ¥¡¥¤¥ë¤Î MANIFEST.MF Æâ¤Ë´Þ¤á¤ë¤Ù¤­ \f2name\fP\f2:\fP \f2value\fP ¥Ú¥¢¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¡£\f2m\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2manifest\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3m\fP¡¢\f3f\fP¡¢¤ª¤è¤Ó \f3e\fP ¤Î½Ð¸½½ç½ø¤Ï¡¢\f2manifest\fP¡¢\f2jarfile\fP¡¢\f2entrypoint\fP ¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -entrypoint -¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤ÆÀßÄꤹ¤ë¥¯¥é¥¹¤Î̾Á°¡£\f2\-e\fP ¥ª¥×¥·¥ç¥ó¤È entrypoint ¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£¤É¤Á¤é¤«¤ò»ØÄꤹ¤ë¾ì¹ç¤ÏξÊý¤È¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3m\fP¡¢\f3f\fP¡¢¤ª¤è¤Ó \f3e\fP ¤Î½Ð¸½½ç½ø¤Ï¡¢\f2manifest\fP¡¢\f2jarfile\fP¡¢\f2entrypoint\fP ¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-C\ dir -¤³¤ì¤Ë³¤¯ \f2inputfiles\fP °ú¿ô¤ò½èÍý¤¹¤ë´Ö¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ò \f2dir\fP ¤Ø°ì»þŪ¤ËÊѹ¹¤·¤Þ¤¹¡£ \f2\-C\ \fP\f2\-\ dir\fP \f2inputfiles\fP ¤Î¥»¥Ã¥È¤ÏÊ£¿ô»ÈÍѤǤ­¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ¼Â¹Ô´Ä¶­¤ØÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£\f2\-J\fP ¤È \f2option\fP ¤Î´Ö¤Ë¤Ï¶õÇò¤òÆþ¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.\} +JAR¥Õ¥¡¥¤¥ë¤ÎÃê½Ð +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar\fR \fIx\fR[\fIvf\fR] [\fIjarfile\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ .RE - -.LP +.\} +JAR¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Æ¥ó¥Ä¤Î¥ê¥¹¥È +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar\fR \fIt\fR[\fIvf\fR] [\fIjarfile\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ +.RE +.\} +JAR¥Õ¥¡¥¤¥ë¤Ø¤Îº÷°ú¤ÎÄɲà +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjar\fR \fIi\fR \fIjarfile\fR [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] +.fi +.if n \{\ +.RE +.\} .SH "ÀâÌÀ" -.LP -\f3jar\fP ¥Ä¡¼¥ë¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î JAR ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£\f3jar\fP ¤Ï¡¢ZIP ¤ª¤è¤Ó -.na -\f2ZLIB\fP @ -.fi -http://www.gzip.org/zlib/ °µ½Ì·Á¼°¤Ë´ð¤Å¤¯ÈÆÍѤΥ¢¡¼¥«¥¤¥Ö¤ª¤è¤Ó°µ½Ì¥Ä¡¼¥ë¤Ç¤¹¡£¤¿¤À¤· \f3jar\fP ¥Ä¡¼¥ë¤Î¼ç¤ÊÌÜŪ¤Ï¡¢¤¤¤¯¤Ä¤«¤Î Java ¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò 1 ¸Ä¤Î¥¢¡¼¥«¥¤¥Ö¤ËÅý¹ç¤¹¤ë¤³¤È¤Ç¤¹¡£¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È (¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥¦¥ó¥É) ¤¬ 1 ¤Ä¤Î¥¢¡¼¥«¥¤¥Ö¤Ë·ë¹ç¤µ¤ì¤Æ¤¤¤ë¤È¡¢Java ¥¨¡¼¥¸¥§¥ó¥È (¥Ö¥é¥¦¥¶¤Ê¤É) ¤Ï¡¢¤½¤ì¤é¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò 1 ²ó¤Î HTTP ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ç¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë¿·¤·¤¤Àܳ¤òɬÍפȤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬ÂçÉý¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢\f3jar\fP ¤Ï¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤â¹Ô¤¦¤Î¤Ç¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬¤µ¤é¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¸Ä¡¹¤Î¥¨¥ó¥È¥ê¤Ë¥¢¥×¥ì¥Ã¥ÈºîÀ®¼Ô¤Ë¤è¤ë½ð̾¤ò½ñ¤­¹þ¤á¤ë¤Î¤Ç¡¢ÇÛÉÛ¸µ¤Îǧ¾Ú¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤Î¹½Ê¸¤Ï¡¢\f2tar\fP ¥³¥Þ¥ó¥É¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£\f3JAR\fP ¥¢¡¼¥«¥¤¥Ö¤Ï¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥¯¥é¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤Ø·ë¹ç¤¹¤ë°ìÈÌŪ¤Ê»ÈÍÑË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -% jar cf myFile.jar *.class -.fl -\fP -.fi - -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥¯¥é¥¹ (.class) ¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¡¢\f2myFile.jar\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤Ï¼«Æ°Åª¤Ë¡¢ \f2META\-INF/MANIFEST.MF\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¾ï¤Ë¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Î¥¨¥ó¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¥¢¡¼¥«¥¤¥Ö¤Ë´Ø¤¹¤ë¥á¥¿¾ðÊó¤òÀë¸À¤·¡¢¤½¤Î¥Ç¡¼¥¿¤ò \f2name\ :\ value\fP ¥Ú¥¢¤È¤·¤Æ³ÊǼ¤·¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë¥á¥¿¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö -.na -\f2JAR file specification\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤¿ \f2name\ :\ value\fP ¥Ú¥¢¤ò JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¤è¤¦¤Ë \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jar cmf myManifestFile myFile.jar *.class -.fl -\fP -.fi - -.LP -´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤¬²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢\f3jar\fP ¤Ï¤½¤ÎºÇ½ª¹Ô¤ò²òÀϤ·¤Þ¤»¤ó¡£ -.br - -.LP -.br - -.LP -\f3Ãí:\ \fP¥³¥Þ¥ó¥É¹Ô¤Ë \f2cmf\fP ¤Ç¤Ï¤Ê¤¯ \f2cfm\fP ¤¬»ØÄꤵ¤ì¤¿ jar ¥³¥Þ¥ó¥É (m ¤È \-f ¥ª¥×¥·¥ç¥ó¤Î½çÈÖ¤òµÕ¤Ë¤¹¤ë) ¤Î¾ì¹ç¡¢\f3jar\fP ¥³¥Þ¥ó¥É¹Ô¤Ë¤Þ¤º JAR ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤ò»ØÄꤷ¡¢Â³¤¤¤Æ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -% jar cfm myFile.jar myManifestFile *.class -.fl -\fP -.fi - -.LP -¥Þ¥Ë¥Õ¥§¥¹¥È¤Ï¡¢RFC822 ASCII ·Á¼°¤Çµ¬Äꤵ¤ì¤¿¥Æ¥­¥¹¥È·Á¼°¤Ç¤¢¤ë¤¿¤á¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò´Êñ¤Ëɽ¼¨¤ª¤è¤ÓÊÔ½¸¤Ç¤­¤Þ¤¹¡£ -.LP -JAR ¥Õ¥¡¥¤¥ë¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢ \f2x\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jar xf myFile.jar -.fl -\fP -.fi - -.LP -.LP -jar ¥Õ¥¡¥¤¥ë¤«¤é¸ÄÊ̤Υե¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jar xf myFile.jar foo bar -.fl -\fP -.fi - -.LP -.LP -JDK ¤Î¥Ð¡¼¥¸¥ç¥ó 1.3 °Ê¹ß¤«¤é¡¢\f2jar\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ç -.na -\f2JarIndex\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ JarIndex ¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ç JAR ¥Õ¥¡¥¤¥ë¤«¤é¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Î¸úΨ¤¬¸þ¾å¤·¤Þ¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤¬Ê£¿ô¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Ë¡¢É¬Í×¤Ê JAR ¥Õ¥¡¥¤¥ë°Ê³°¤Î¥À¥¦¥ó¥í¡¼¥É¤ª¤è¤Ó¥ª¡¼¥×¥ó¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤³¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎºÇŬ²½¤Ï¡¢¿·¤·¤¤ \f2\-i\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ \f2jar\fP ¤ò¼Â¹Ô¤¹¤ë¤ÈÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢»ØÄꤷ¤¿ JAR ¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤È¡¢¤½¤Î¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸°ÌÃÖ¾ðÊó¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢JAR ¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î \f2Class\-Path\fP °À­¤Ë»ØÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jar i main.jar -.fl -\fP -.fi - -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢ \f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤¬ \f2main.jar\fP ¤Î \f2META\-INF\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£ -.br -.br -¤³¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤ò»ÈÍѤ·¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ï¡¢¸úΨŪ¤Ë¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ë°ÌÃÖ¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢¡ÖJarIndex »ÅÍ͡פò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.br -.br -¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º \f2dir1\fP Æâ¤Î¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¤Æ \f2stdout\fP ¤Ë½ÐÎϤ·¡¢Â³¤¤¤Æ \f2stdin\fP ¤«¤éÃê½Ð¤·¤Æ \f2dir2\fP ¤Ë½ÐÎϤ·¤Þ¤¹ (\f2\-f\fP ¥ª¥×¥·¥ç¥ó¤Ï¤É¤Á¤é¤Î \f2jar\fP ¥³¥Þ¥ó¥É¤Ç¤â¾Êά)¡£ -.LP -.nf -\f3 -.fl -% (cd dir1; jar c .)| (cd dir2; jar x) -.fl -\fP -.fi - -.LP -.LP -\f2jar\fP ¤ò»ÈÍѤ·¤Æ JAR ¥Õ¥¡¥¤¥ë¤ä JAR ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÁàºî¤¹¤ë¥µ¥ó¥×¥ë¥³¥Þ¥ó¥É¤ò³Îǧ¤·¤¿¤¤¾ì¹ç¤Ï¡¢¸å½Ò¤Î¡ÖÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¡Ö -.na -\f2Java Tutorial\fP @ -.fi -http://download.oracle.com/javase/tutorial/deployment/jar¡×¤Î JAR ¥³¡¼¥¹¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -c -f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP ¤È¤¤¤¦Ì¾Á°¤Î \f2¿·¤·¤¤\fP ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò \f2ºîÀ®¤·¡¢\fP f ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½à½ÐÎϤ˾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£\f2inputfiles\fP ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¢¤³¤Î¥¢¡¼¥«¥¤¥Ö¤ËÄɲä·¤Þ¤¹¡£ -.TP 3 -u -f ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢´û¸¥Õ¥¡¥¤¥ë \f2jarfile\fP ¤ò \f2¹¹¿·¤¹¤ëÌÜŪ¤Ç¡¢\fP \f2inputfiles\fP ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -jar uf foo.jar foo.class -.fl -\fP -.fi -¾å¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Õ¥¡¥¤¥ë \f2foo.class\fP ¤ò´û¸¤Î JAR ¥Õ¥¡¥¤¥ë \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£¼¡¤ÎÎã¤Ë¼¨¤¹¤è¤¦¤Ë¡¢\f2\-u\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥¨¥ó¥È¥ê¤â¹¹¿·¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -jar umf manifest foo.jar -.fl -\fP -.fi -\f2foo.jar\fP ¥Þ¥Ë¥Õ¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î \f2name:value\fP ¥Ú¥¢¤Ç¹¹¿·¤·¤Þ¤¹¡£ -.TP 3 -x -f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP \f2¤«¤é\fP ¡¢ \f2f\fP ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½àÆþÎϤ«¤é¡¢¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÃê½Ð¤·¤Þ¤¹¡£\f2inputfiles\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£Ãê½Ð¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÆü»þ¤Ï¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤ÇÀßÄꤵ¤ì¤¿¤â¤Î¤Ç¤¹¡£ -.TP 3 -t -f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP \f2¤«¤é\fP ¡¢ \f2f\fP ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½àÆþÎϤ«¤é¡¢Ìܼ¡¤òɽ¼¨¤·¤Þ¤¹¡£\f2inputfiles\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤¬°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.TP 3 -i -»ØÄꤵ¤ì¤¿ \f2jarfile\fP ¤È¡¢¤½¤ì¤Ë°Í¸¤¹¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl -jar i foo.jar -.fl -\fP -.fi -.LP -¾å¤Î¥³¥Þ¥ó¥É¤Ï¡¢\f2foo.jar\fP Æâ¤Ë \f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\f2foo.jar\fP ¤È¡¢\f2foo.jar\fP ¤Î \f2Class\-Path\fP °À­¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤ËÆþ¤Ã¤Æ¤¤¤ë³Æ¥Ñ¥Ã¥±¡¼¥¸¤Î°ÌÃÖ¾ðÊ󤬽ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -f -¼¡¤Î³Æ½èÍý¤ÎÂоݤȤʤë¥Õ¥¡¥¤¥ë \f2jarfile\fP ¤ò»ØÄꤷ¤Þ¤¹¡£ºîÀ® (\f2c\fP)¡¢¹¹¿· (\f2u\fP)¡¢Ãê½Ð (\f2x\fP)¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹Äɲà (\f2i\fP)¡¢¤Þ¤¿¤Ïɽ¼¨ (\f2t\fP)¡£\f2f\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2jarfile\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Omitting \f2f\fP ¤È \f2jarfile\fP ¤ò¾Êά¤¹¤ë¤È¡¢x ¤ä t ¤Î¾ì¹ç¤Ï \f2ɸ½àÆþÎÏ\fP¤«¤é JAR ¥Õ¥¡¥¤¥ë̾¤¬¼èÆÀ¤µ¤ì¡¢c ¤ä u ¤Î¾ì¹ç¤Ï \f2ɸ½à½ÐÎÏ\fP ¤Ë JAR ¥Õ¥¡¥¤¥ë¤¬Á÷¿®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -v -¾ÜºÙ¤Ê½ÐÎϤòɸ½à½ÐÎϤËÀ¸À®¤·¤Þ¤¹¡£¤¢¤È¤ÇÎã¤ò¼¨¤·¤Þ¤¹¡£ -.TP 3 -0 -(¥¼¥í) ZIP ¤Ë¤è¤ë°µ½Ì¤ò»ÈÍѤ»¤º¤Ë¡¢Êݸ¤·¤Þ¤¹¡£ -.TP 3 -M -¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£¤Þ¤¿¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤½¤ì¤òºï½ü¤·¤Þ¤¹ (u ¤Î¾ì¹ç)¡£ -.TP 3 -m -\f2META\-INF/MANIFEST.MF\fP ¤Î¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë \f2manifest\fP ¤Î \f2name : value\fP ¤Î°À­¥Ú¥¢¤òÁȤ߹þ¤ß¤Þ¤¹¡£ \f2jar\fP ¤Ï¡¢¤¹¤Ç¤ËƱ¤¸Ì¾Á°¤Ç¸ºß¤·¤Ê¤¤¤«¤®¤ê¡¢¤½¤Î \f2name:value\fP ¥Ú¥¢¤òÄɲä·¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Ç¸ºß¤¹¤ë¾ì¹ç¡¢ \f2jar\fP ¤Ï¤½¤ÎÃͤò¹¹¿·¤·¤Þ¤¹¡£ -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç¡¢\f3m\fP ¤È \f3f\fP ¤Îʸ»ú¤Ï¡¢\f2manifest\fP ¤È \f2jarfile\fP ¤ÎÆþÎÏ½ç½ø¤ÈƱ¤¸½ç½ø¤Çµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ»È¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl -jar cmf myManifestFile myFile.jar *.class -.fl -\fP -.fi -¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤Ï´Þ¤Þ¤ì¤Ê¤¤¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢ÆÃÊ̤ÊÌÜŪ¤Î \f2name\ :\ value\fP ¤Î°À­¥Ú¥¢¤òÄɲäǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ù¥ó¥À¡¼¾ðÊ󡢥С¼¥¸¥ç¥ó¾ðÊ󡢥ѥ屡¼¥¸¥·¡¼¥ê¥ó¥°¡¢¤Þ¤¿¤Ï JAR ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î°À­¤òÄɲäǤ­¤Þ¤¹¡£¡ÖJava Tutorial¡×¤Î¡Ö -.na -\f2JAR Files\fP @ -.fi -http://download.oracle.com/javase/tutorial/deployment/jar/¡×¥³¡¼¥¹¤ò»²¾È¤·¡¢ \f4\-m\fP ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -e -¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤Æ¡¢\f2entrypoint\fP ¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î \f2Main\-Class\fP °À­Ãͤ¬ºîÀ®¤Þ¤¿¤Ï¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºîÀ®Ãæ¤Þ¤¿¤Ï¹¹¿·Ãæ¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Þ¤¿¤ÏºîÀ®¤¹¤ë¤³¤È¤Ê¤·¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï \f2Main.jar\fP ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¡¢¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î \f2Main\-Class\fP °À­ÃÍ¤Ï \f2Main\fP ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -jar cfe Main.jar Main Main.class -.fl -\fP -.fi -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È java ¥é¥ó¥¿¥¤¥à¤«¤éľÀܤ³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -java \-jar Main.jar -.fl -\fP -.fi -¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¥¯¥é¥¹Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥É¥Ã¥È (¡Ö.¡×) ¡¢¥¹¥é¥Ã¥·¥å (¡Ö/¡×) ¤Î¤¤¤º¤ì¤«¤Îʸ»ú¤ò¤½¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Main.class\fP ¤¬ \f2foo\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -jar \-cfe Main.jar foo/Main foo/Main.class -.fl -\fP -.fi -¤Þ¤¿¤Ï -.nf -\f3 -.fl -jar \-cfe Main.jar foo.Main foo/Main.class -.fl -\fP -.fi -\f3Ãí:\ \fP \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤È \f2\-e\fP ¥ª¥×¥·¥ç¥ó¤ÎξÊý¤òƱ»þ¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤â \f2Main\-Class\fP °À­¤¬´Þ¤Þ¤ì¤Æ¤¤¤ì¤Ð¡¢ \f2Main.class\fP ¤Î»ØÄ꤬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤Ã¤Æ¥¨¥é¡¼¤äȯÀ¸¤·¡¢JAR ¤ÎºîÀ®½èÍý¤ä¹¹¿·½èÍý¤¬°Û¾ï½ªÎ»¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-C \ dir -\f2jar\fP ¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¸å³¤Î \f2inputfiles\fP °ú¿ô¤ò½èÍý¤¹¤ë¤È¤­¤Ë¡¢°ì»þŪ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Þ¤¹ (cd \f2dir\fP)¡£¤³¤Î½èÍý¤Ï¡¢UNIX ¤Î \f2tar\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Î \f2\-C\fP ¥ª¥×¥·¥ç¥ó¤Îµ¡Ç½¤ËÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é \f2bar.class\fP ¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£ -.nf -\f3 -.fl -jar uf foo.jar \-C classes bar.class -.fl -\fP -.fi -¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹ (jar ¥Õ¥¡¥¤¥ë¤Ë¤Ï classes ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó)¡£¼¡¤Ë¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ¤«¤é¡¢\f2bin\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢\f2xyz.class\fP ¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£ -.nf -\f3 -.fl -jar uf foo.jar \-C classes .\-C bin xyz.class -.fl -\fP -.fi -\f2classes\fP ¤Ë¥Õ¥¡¥¤¥ë \f2bar1\fP ¤È \f2bar2\fP ¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ \f2jar tf foo.jar\fP »ÈÍѤ·¤¿¤È¤­¤Î JAR ¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -META\-INF/ -.fl -META\-INF/MANIFEST.MF -.fl -bar1 -.fl -bar2 -.fl -xyz.class -.fl -\fP -.fi -.LP -.TP 3 -\-Joption -Java ¼Â¹Ô´Ä¶­¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£ \f2option\fP ¤Ë¤Ï¡¢¡ÖJava ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡×¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f4\-J\-Xmx48M\fP ¤È»ØÄꤹ¤ë¤È¡¢ºÇÂç¥á¥â¥ê¡¼¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIjar\fR¥³¥Þ¥ó¥É¤Ï¡¢ZIP¤ª¤è¤ÓZLIB°µ½Ì·Á¼°¤Ë´ð¤Å¤¯ÈÆÍѤΥ¢¡¼¥«¥¤¥Ö¤ª¤è¤Ó°µ½Ì¥Ä¡¼¥ë¤Ç¤¹¡£¤¿¤À¤·¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ï¡¢¼ç¤Ë¤¤¤¯¤Ä¤«¤ÎJava¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òñ°ì¤Î¥¢¡¼¥«¥¤¥Ö¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤¹¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Þ¤·¤¿¡£¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È(¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥¦¥ó¥É)¤¬1¤Ä¤Î¥¢¡¼¥«¥¤¥Ö¤Ë·ë¹ç¤µ¤ì¤Æ¤¤¤ë¤È¡¢Java¥¨¡¼¥¸¥§¥ó¥È(¥Ö¥é¥¦¥¶¤Ê¤É)¤Ï¡¢¤½¤ì¤é¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò1²ó¤ÎHTTP¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ç¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë¿·¤·¤¤Àܳ¤¬ÉÔÍפˤʤê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬ÂçÉý¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ï¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤â¹Ô¤¦¤¿¤á¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬¤µ¤é¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¸Ä¡¹¤Î¥¨¥ó¥È¥ê¤Ë¥¢¥×¥ì¥Ã¥ÈºîÀ®¼Ô¤Ë¤è¤ë½ð̾¤ò½ñ¤­¹þ¤á¤ë¤¿¤á¡¢ÇÛÉÛ¸µ¤Îǧ¾Ú¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Ï¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +\fIjar\fR¥³¥Þ¥ó¥É¤Î¹½Ê¸¤Ï¡¢\fItar\fR¥³¥Þ¥ó¥É¤Î¹½Ê¸¤Ë»÷¤Æ¤¤¤Þ¤¹¡£É¬¿Ü¤Î\fIÁàºî¤Î°ú¿ô\fR¤Î1¤Ä¤ÇÄêµÁ¤µ¤ì¤¿Ê£¿ô¤ÎÁàºî¥â¡¼¥É¤¬¤¢¤ê¤Þ¤¹¡£Â¾¤Î°ú¿ô¤Ï¡¢Áàºî¤Îưºî¤òÊѹ¹¤¹¤ë\fI¥ª¥×¥·¥ç¥ó\fR¡¢¤Þ¤¿¤ÏÁàºî¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËɬÍפÊ\fI¥ª¥Ú¥é¥ó¥É\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.SH "Áàºî¤Î°ú¿ô" +.PP +\fIjar\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤ÎÁàºî¤Î°ú¿ô¤Î¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Æ¼Â¹Ô¤µ¤ì¤ëÁàºî¤òÁªÂò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¾¤Î1ʸ»ú¤Î¥ª¥×¥·¥ç¥ó¤Èº®ºß¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢Ä̾Áàºî¤Î°ú¿ô¤Ï»ØÄꤵ¤ì¤ëºÇ½é¤Î°ú¿ô¤Ç¤¹¡£ +.PP +c +.RS 4 +¿·¤·¤¤JAR¥¢¡¼¥«¥¤¥Ö¤òºîÀ®¤·¤Þ¤¹¡£ .RE - -.LP -.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë" -.LP -jar ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢jar ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô (\-J ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à 1 ¤Ä°Ê¾å¤Î \f2¥Õ¥¡¥¤¥ë¤ò\fP »ØÄꤹ¤ë¤³¤È¤¬ \f2¤Ç¤­¤Þ¤¹\fP ¡£¤³¤ì¤Ë¤è¤ê¡¢Ç¤°Õ¤ÎŤµ¤Î jar ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ë¥³¥Þ¥ó¥É¹Ô¤ÎÀ©¸Â¤«¤é²òÊü¤µ¤ì¤Þ¤¹¡£ -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï¡¢Ä̾ï¤Ê¤é¤Ð¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥·¥§¥ë¤Ë¤è¤Ã¤Æ¤¢¤é¤æ¤ëʸ»ú¤Ë²ò¼á¤µ¤ì¤Þ¤¹¤¬¡¢¤³¤Î¾ì¹ç¤Ï¤½¤Î¤è¤¦¤Ë¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ -.LP -.LP -\f2jar\fP ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£ \f2jar\fP ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.PP +i +.RS 4 +JAR¥¢¡¼¥«¥¤¥Ö¤Îº÷°ú¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +t +.RS 4 +JAR¥¢¡¼¥«¥¤¥Ö¤Î¥³¥ó¥Æ¥ó¥Ä¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£ +.RE +.PP +u +.RS 4 +JAR¥¢¡¼¥«¥¤¥Ö¤ò¹¹¿·¤·¤Þ¤¹¡£ +.RE +.PP +x +.RS 4 +JAR¥¢¡¼¥«¥¤¥Ö¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð¤·¤Þ¤¹¡£ +.RE +.SH "¥ª¥×¥·¥ç¥ó" +.PP +¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢JAR¥Õ¥¡¥¤¥ë¤òºîÀ®¡¢¹¹¿·¡¢Ãê½Ð¤Þ¤¿¤Ïɽ¼¨¤¹¤ëÊýË¡¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤Þ¤¹¡£ +.PP +e +.RS 4 +\fIentrypoint\fR¥ª¥Ú¥é¥ó¥É¤Ç»ØÄꤵ¤ì¤ë¥¯¥é¥¹¤ò¡¢¼Â¹Ô²ÄǽJAR¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤ë¥¹¥¿¥ó¥É¥¢¥í¥óJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¡¦¥Ý¥¤¥ó¥È¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤Î\fIMain\-Class\fR°À­Ãͤ¬ºîÀ®¤Þ¤¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£\fIe\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®»þ(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·»þ(\fIu\fR)¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIMain\&.jar\fR¥¢¡¼¥«¥¤¥Ö¤¬\fIMain\&.class\fR¥Õ¥¡¥¤¥ë¤È¤È¤â¤ËºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¡¢¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î\fIMain\-Class\fR°À­ÃͤÏ\fIMain\fR¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jar cfe Main\&.jar Main Main\&.class +.fi +.if n \{\ +.RE +.\} +Java Runtime Environment (JRE)¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òľÀܸƤӽФ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-jar Main\&.jar +.fi +.if n \{\ +.RE +.\} +¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¥¨¥ó¥È¥ê¡¦¥Ý¥¤¥ó¥È¤Î¥¯¥é¥¹Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥É¥Ã¥È(\&.)¤Þ¤¿¤Ï¥¹¥é¥Ã¥·¥å(/)¤Î¤¤¤º¤ì¤«¤ò¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIMain\&.class\fR¤¬\fImydir\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¨¥ó¥È¥ê¡¦¥Ý¥¤¥ó¥È¤Ï¼¡¤Î¤¤¤º¤ì¤«¤ÎÊýË¡¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jar \-cfe Main\&.jar mydir/Main mydir/Main\&.class +jar \-cfe Main\&.jar mydir\&.Main mydir/Main\&.class +.fi +.if n \{\ +.RE +.\} +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 .br +.ps +1 +\fBNote\fR +.ps -1 .br -¼¡¤ÎÎã¤Ç¡¢ \f2classes.list\fP ¤Ë¤Ï¡¢ \f2find\fP ¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ½ÐÎϤµ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.LP +.TS +allbox tab(:); +l. +T{ +Ãí°Õ +ÆÃÄê¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤â\fIMain\-Class\fR°À­¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë\fIm\fR¥ª¥×¥·¥ç¥ó¤È\fIe\fR¥ª¥×¥·¥ç¥ó¤ÎξÊý¤òƱ»þ¤Ë»ØÄꤹ¤ë¤È¡¢\fIMain\-Class\fR¤Î»ØÄ꤬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¤¢¤¤¤Þ¤¤¤µ¤Ë¤è¤Ã¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¡¢\fIjar\fR¥³¥Þ¥ó¥É¤ÎºîÀ®¤ä¹¹¿·¤ÎÁàºî¤¬½ªÎ»¤·¤Þ¤¹¡£ +T} +.TE +.sp 1 +.sp .5v +.RE +.RE +.PP +f +.RS 4 +\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢ºîÀ®(\fIc\fR)¡¢¹¹¿·(\fIu\fR)¡¢Ãê½Ð(\fIx\fR)¤Þ¤¿¤Ïɽ¼¨(\fIt\fR)¤µ¤ì¤ëJAR¥Õ¥¡¥¤¥ë¤Î̾Á°¤ËÀßÄꤷ¤Þ¤¹¡£\fIf\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤ò¾Êά¤¹¤ë¤È¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ë¡¢\fIstdin\fR¤«¤é¤ÎJAR¥Õ¥¡¥¤¥ë̾¤ò¼õ¤±Æþ¤ì¤ë¤«(\fIx\fR¤ª¤è¤Ó\fIt\fR¤Î¾ì¹ç)¡¢JAR¥Õ¥¡¥¤¥ë¤ò\fIstdout\fR¤ËÁ÷¿®¤¹¤ë¤³¤È(\fIc\fR¤ª¤è¤Ó\fIu\fR¤Î¾ì¹ç)¤¬»Ø¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +m +.RS 4 +(\fIMETA\-INF/MANIFEST\&.MF\fR¤Î¥¢¡¼¥«¥¤¥Ö¤Ë¤¢¤ë) +\fIjar\fR¥³¥Þ¥ó¥É¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤«¤é¡¢Â°À­¤Î̾Á°¤ÈÃͤΥڥ¢¤ò´Þ¤á¤Þ¤¹¡£\fIjar\fR¥³¥Þ¥ó¥É¤Ï¡¢Æ±¤¸Ì¾Á°¤Î¥¨¥ó¥È¥ê¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤ò½ü¤­¡¢Â°À­¤Î̾Á°¤ÈÃͤòJAR¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Î¥¨¥ó¥È¥ê¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ï°À­¤ÎÃͤò¹¹¿·¤·¤Þ¤¹¡£\fIm\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®»þ(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·»þ(\fIu\fR)¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ï´Þ¤Þ¤ì¤Ê¤¤¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢ÆÃÊ̤ÊÌÜŪ¤Î̾Á°\-ÃͤΰÀ­¥Ú¥¢¤òÄɲäǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ù¥ó¥À¡¼¾ðÊó¡¢¥ê¥ê¡¼¥¹¾ðÊ󡢥ѥ屡¼¥¸¡¦¥·¡¼¥ê¥ó¥°¤ò»ØÄꤹ¤ë°À­¡¢¤Þ¤¿¤ÏJAR¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô²Äǽ¤Ë¤¹¤ë¤¿¤á¤Î°À­¤òÄɲäǤ­¤Þ¤¹¡£\fIm\fR¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤Ï¡¢http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.html¤Ë¤¢¤ë +¥×¥í¥°¥é¥à¤Î¥Ñ¥Ã¥±¡¼¥¸²½¤Ë´Ø¤¹¤ë¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +M +.RS 4 +¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¡¦¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Ê¤¤(\fIc\fR¤ª¤è¤Ó\fIu\fR¤Î¾ì¹ç)¤«¡¢¤Þ¤¿¤Ï¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¡¦¥¨¥ó¥È¥ê¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ïºï½ü¤·¤Þ¤¹(\fIu\fR¤Î¾ì¹ç)¡£\fIM\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®»þ(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·»þ(\fIu\fR)¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +n +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)»þ¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¥ó¥Æ¥ó¥Ä¤¬pack200(1)¥³¥Þ¥ó¥É¤Î¥Ñ¥Ã¥¯¤ª¤è¤Ó¥¢¥ó¥Ñ¥Ã¥¯Áàºî¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤¤è¤¦¤Ë¥¢¡¼¥«¥¤¥Ö¤òÀµµ¬²½¤·¤Þ¤¹¡£¤³¤ÎÀµµ¬²½¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢½ð̾ÉÕ¤­JAR¤Î½ð̾¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +v +.RS 4 +¾ÜºÙ¤Ê½ÐÎϤòɸ½à½ÐÎϤËÀ¸À®¤·¤Þ¤¹¡£Îã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +0 +.RS 4 +(¥¼¥í) ZIP°µ½Ì¤ò»ÈÍѤ·¤Ê¤¤¤ÇJAR¥Õ¥¡¥¤¥ë¤òºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)¤·¤Þ¤¹¡£ +.RE +.PP +\-C \fIdir\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)»þ¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fIfile\fR¥ª¥Ú¥é¥ó¥É¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î½èÍýÃæ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤ò°ì»þŪ¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤ÎÁàºî¤Ï¡¢UNIX +\fItar\fR¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î\fI\-C\fR¥ª¥×¥·¥ç¥ó¤ÈƱÍͤˤʤ뤳¤È¤òÌÜŪ¤È¤·¤Æ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\fIclasses\fR¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹¤µ¤ì¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é\fImy\&.jar\fR¤Ë\fIBar\&.class\fR¥Õ¥¡¥¤¥ë¤¬Äɲ䵤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% find \fP\f3.\fP \-name '*.class' \-print > classes.list -.fl +jar uf my\&.jar \-C classes Bar\&.class .fi - -.LP -.LP -¼¡¤Ë¡¢°ú¿ô¥Õ¥¡¥¤¥ë¹½Ê¸¤ò»ÈÍѤ·¤Æ \f2classes.list\fP ¤ò jar ¤ËÅϤ¹¤³¤È¤Ç¡¢ \f2¤½¤Î¥ê¥¹¥È\fP ¤ËÂФ·¤Æ \f2jar\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIclasses\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢classes¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò\fImy\&.jar\fR¤ËÄɲä·¤Þ¤¹(JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï\fIclasses\fR¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó)¡£¼¡¤Ë¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ¤«¤é¡¢\fIbin\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢\fIXyz\&.class\fR¤ò\fImy\&.jar\fR¤ËÄɲä·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% jar cf my.jar @classes.list -.fl -\fP +jar uf my\&.jar \-C classes \&. \-C bin Xyz\&.class .fi - -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢ÁêÂХѥ¹¤¬µ­½Ò¤µ¤ì¤¿°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÅϤµ¤ì¤¿¥Ñ¥¹¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤Ï¤Ê¤¯¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¼¡¤Ï¤½¤ÎÎã¤Ç¤¹¡£ +.if n \{\ +.RE +.\} +\fIclasses\fR¤Ë\fIbar1\fR¥Õ¥¡¥¤¥ë¤È\fIbar2\fR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Á°½Ò¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¡¢JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¼¡¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% jar @path1/classes.list -.fl -\fP -.fi - -.LP -.LP - -.LP -.SH "Îã" -.LP -ÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲ乤ë (¤½¤Î¥¢¡¼¥«¥¤¥Ö¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¤½¤ÎÆâÍÆ¤ò¾å½ñ¤­¤¹¤ë) ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¾ðÊó¤ò¾ÜºÙ¤ËÎóµó¤¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢¥µ¥¤¥º¤äºÇ¿·¤Î¹¹¿·Æü¤Ê¤É¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -% ls -.fl -1.au Animator.class monkey.jpg -.fl -2.au Wave.class spacemusic.au -.fl -3.au at_work.gif -.fl - -.fl -% jar cvf bundle.jar * -.fl -added manifest -.fl -adding: 1.au(in = 2324) (out= 67)(deflated 97%) -.fl -adding: 2.au(in = 6970) (out= 90)(deflated 98%) -.fl -adding: 3.au(in = 11616) (out= 108)(deflated 99%) -.fl -adding: Animator.class(in = 2266) (out= 66)(deflated 97%) -.fl -adding: Wave.class(in = 3778) (out= 81)(deflated 97%) -.fl -adding: at_work.gif(in = 6621) (out= 89)(deflated 98%) -.fl -adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%) -.fl -adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%) -.fl -\fP -.fi - -.LP -¤¹¤Ç¤Ë²èÁü¡¢¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥¯¥é¥¹ÍѤΥµ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ëʬ¤±¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤ì¤é¤òñ°ì¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -% ls \-F -.fl -audio/ classes/ images/ -.fl - -.fl -% jar cvf bundle.jar audio classes images -.fl -added manifest -.fl -adding: audio/(in = 0) (out= 0)(stored 0%) -.fl -adding: audio/1.au(in = 2324) (out= 67)(deflated 97%) -.fl -adding: audio/2.au(in = 6970) (out= 90)(deflated 98%) -.fl -adding: audio/3.au(in = 11616) (out= 108)(deflated 99%) -.fl -adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%) -.fl -adding: classes/(in = 0) (out= 0)(stored 0%) -.fl -adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%) -.fl -adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%) -.fl -adding: images/(in = 0) (out= 0)(stored 0%) -.fl -adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%) -.fl -adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%) -.fl - -.fl -% ls \-F -.fl -audio/ bundle.jar classes/ images/ -.fl -\fP -.fi - -.LP -JAR ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê̾¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¡Ö\f2t\fP¡×¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl -% jar tf bundle.jar -.fl +% \fIjar tf my\&.jar\fR META\-INF/ -.fl -META\-INF/MANIFEST.MF -.fl -audio/1.au -.fl -audio/2.au -.fl -audio/3.au -.fl -audio/spacemusic.au -.fl -classes/Animator.class -.fl -classes/Wave.class -.fl -images/monkey.jpg -.fl -images/at_work.gif -.fl -\fP +META\-INF/MANIFEST\&.MF +bar1 +bar2 +Xyz\&.class .fi - -.LP -.LP -¥¯¥é¥¹¥í¡¼¥É¤ò¹â®¤Ë¤¹¤ë¤¿¤á¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤ËÄɲ乤ë¤Ë¤Ï¡¢¡Ö\f2i\fP¡×¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.br -.br -Îã: -.br - -.LP -¤¿¤È¤¨¤Ð¡¢³ô¼è°ú¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆâÉô°Í¸¤·¤Æ¤¤¤ë¥¯¥é¥¹¤ò¡¢\f2main.jar\fP¡¢\f2buy.jar\fP¡¢¤ª¤è¤Ó \f2sell.jar\fP ¤È¤¤¤¦ 3 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤È¤·¤Þ¤¹¡£ -.br - -.LP -.br - -.LP -\f2main.jar\fP ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î \f2Class\-path\fP °À­¤Ë¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢ +.if n \{\ +.RE +.\} +.RE +.PP +\-J\fIoption\fR +.RS 4 +»ØÄꤷ¤¿JVM¥ª¥×¥·¥ç¥ó¤ò¡¢JRE¤¬JAR¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£JVM¥ª¥×¥·¥ç¥ó¤Ï¡¢java(1)¥³¥Þ¥ó¥É¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.SH "¥ª¥Ú¥é¥ó¥É" +.PP +¼¡¤Î¥ª¥Ú¥é¥ó¥É¤Ï¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Çǧ¼±¤µ¤ì¤Þ¤¹¡£ +.PP +\fIfile\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)»þ¤Ë¡¢\fIfile\fR¥ª¥Ú¥é¥ó¥É¤Ï¡¢¥¢¡¼¥«¥¤¥Ö¤ËÄɲ乤ëɬÍפΤ¢¤ë¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹¤È̾Á°¤òÄêµÁ¤·¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤ÎÃê½Ð(\fIx\fR)¤Þ¤¿¤Ï¥³¥ó¥Æ¥ó¥Ä¤Î¥ê¥¹¥È(\fIt\fR)»þ¤Ë¡¢\fIfile\fR¥ª¥Ú¥é¥ó¥É¤ÏÃê½Ð¤Þ¤¿¤Ï¥ê¥¹¥È¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È̾Á°¤òÄêµÁ¤·¤Þ¤¹¡£¾¯¤Ê¤¯¤È¤â1¤Ä¤ÎÍ­¸ú¤Ê¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ê£¿ô¤Î\fIfile\fR¥ª¥Ú¥é¥ó¥É¤ò¶õÇò¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\fIentrypoint\fR¡¢\fIjarfile\fR¤Þ¤¿¤Ï\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¤Ï¡¢¤½¤Î¸å¤Ë\fIfile\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fIentrypoint\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)»þ¤Ë¡¢\fIentrypoint\fR¥ª¥Ú¥é¥ó¥É¤Ï¡¢¼Â¹Ô²ÄǽJAR¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¥¹¥¿¥ó¥É¥¢¥í¥óJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¡¦¥Ý¥¤¥ó¥È¤È¤Ê¤ë¥¯¥é¥¹¤Î̾Á°¤òÄêµÁ¤·¤Þ¤¹¡£\fIe\fR¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï\fIentrypoint\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fIjarfile\fR +.RS 4 +ºîÀ®(\fIc\fR)¡¢¹¹¿·(\fIu\fR)¡¢Ãê½Ð(\fIx\fR)¤Þ¤¿¤Ïɽ¼¨(\fIt\fR)¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÄêµÁ¤·¤Þ¤¹¡£\fIf\fR¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIf\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤ò¾Êά¤¹¤ë¤È¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ë¡¢\fIstdin\fR¤«¤é¤ÎJAR¥Õ¥¡¥¤¥ë̾¤ò¼õ¤±Æþ¤ì¤ë¤«(\fIx\fR¤ª¤è¤Ó\fIt\fR¤Î¾ì¹ç)¡¢JAR¥Õ¥¡¥¤¥ë¤ò\fIstdout\fR¤ËÁ÷¿®¤¹¤ë¤³¤È(\fIc\fR¤ª¤è¤Ó\fIu\fR¤Î¾ì¹ç)¤¬»Ø¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +JAR¥Õ¥¡¥¤¥ë¤òº÷°úÉÕ¤±(\fIi\fR)¤¹¤ë¾ì¹ç¤Ï¡¢\fIf\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç\fIjarfile\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\fImanifest\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ÎºîÀ®(\fIc\fR)¤Þ¤¿¤Ï¹¹¿·(\fIu\fR)»þ¤Ë¡¢\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤ÏJAR¥Õ¥¡¥¤¥ë¤Î\fIMANIFEST\&.MF\fR¤Ë´Þ¤á¤ë°À­¤Î̾Á°¤ÈÃͤò»ý¤Ä´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤òÄêµÁ¤·¤Þ¤¹¡£\fIf\fR¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fI@arg\-file\fR +.RS 4 +\fIjar\fR¥³¥Þ¥ó¥É¤òû½Ì¤Þ¤¿¤Ï´ÊÁDz½¤¹¤ë¤Ë¤Ï¡¢Ê̤Υƥ­¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤ò»ØÄꤷ¡¢ÀÜÆ¬¼­¤È¤·¤Æ¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤òÉÕ¤±¤Æ\fIjar\fR¥³¥Þ¥ó¥É¤ËÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIjar\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¢¥Ã¥È¥Þ¡¼¥¯Ê¸»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.sp +°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤È°ú¿ô(°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤µ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤ë\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò½ü¤¯)¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ï¡¢¶õÇò¤Þ¤¿¤Ï²þ¹Ôʸ»ú¤Ç¶èÀڤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢\fIjar\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤¢¤ê¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤ËÂФ·¤Æ¤ÏÁêÂÐŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä̾ï¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡¦¥·¥§¥ë¤Ë¤è¤Ã¤ÆÅ¸³«¤µ¤ì¤ë¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ê¤É¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ÏŸ³«¤µ¤ì¤Þ¤»¤ó¡£ +.sp +¼¡¤ÎÎã¤Ï¡¢\fIfind\fR¥³¥Þ¥ó¥É¤Ë¤è¤ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê½ÐÎϤ«¤é¤Î¥Õ¥¡¥¤¥ë̾¤Ç\fIclasses\&.list\fR¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -Class\-Path: buy.jar sell.jar -.fl -\fP +find \&. \-name \*(Aq*\&.class\*(Aq \-print > classes\&.list .fi - -.LP -\f2\-i\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤Î ÆÉ¤ß¹þ¤ß¤ò¹â®²½¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +\fIjar\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢\fI@arg\-file\fR¹½Ê¸¤ò»ÈÍѤ·¤Æ\fIclasses\&.list\fR¥Õ¥¡¥¤¥ë¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% jar i main.jar -.fl -\fP +jar cf my\&.jar @classes\&.list .fi +.if n \{\ +.RE +.\} +°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢ÁêÂХѥ¹¤¬µ­½Ò¤µ¤ì¤¿°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÅϤµ¤ì¤¿¥Ñ¥¹¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤Ï¤Ê¤¯¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Î¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jar @dir/classes\&.list +.fi +.if n \{\ +.RE +.\} +.RE +.SH "Ãí°Õ" +.PP +\fIe\fR¡¢\fIf\fR¤ª¤è¤Ó\fIm\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIentrypoint\fR¡¢\fIjarfile\fR¤ª¤è¤Ó\fImanifest\fR¥ª¥Ú¥é¥ó¥É¤ÈƱ¤¸½ç½ø¤Ç¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë½Ð¸½¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jar cmef myManifestFile MyMainClass myFile\&.jar *\&.class +.fi +.if n \{\ +.RE +.\} +.SH "Îã" +.PP +\fBExample 1\fR, ¾éĹ¤Ê½ÐÎϤˤè¤ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ÎÄɲà +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +% ls +1\&.au Animator\&.class monkey\&.jpg +2\&.au Wave\&.class spacemusic\&.au +3\&.au at_work\&.gif -.LP -\f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤¬ \f2META\-INF\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£¤³¤Î·ë²Ì¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ë¤è¤Ã¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥ê¥½¡¼¥¹¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤È¤­¤Ë¡¢Å¬ÀÚ¤Ê jar ¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£ +% jar cvf bundle\&.jar * +added manifest +adding: 1\&.au(in = 2324) (out= 67)(deflated 97%) +adding: 2\&.au(in = 6970) (out= 90)(deflated 98%) +adding: 3\&.au(in = 11616) (out= 108)(deflated 99%) +adding: Animator\&.class(in = 2266) (out= 66)(deflated 97%) +adding: Wave\&.class(in = 3778) (out= 81)(deflated 97%) +adding: at_work\&.gif(in = 6621) (out= 89)(deflated 98%) +adding: monkey\&.jpg(in = 7667) (out= 91)(deflated 98%) +adding: spacemusic\&.au(in = 3079) (out= 73)(deflated 97%) +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¥Õ¥¡¥¤¥ë¤ÎÄɲà +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +% ls \-F +audio/ classes/ images/ +% jar cvf bundle\&.jar audio classes images +added manifest +adding: audio/(in = 0) (out= 0)(stored 0%) +adding: audio/1\&.au(in = 2324) (out= 67)(deflated 97%) +adding: audio/2\&.au(in = 6970) (out= 90)(deflated 98%) +adding: audio/3\&.au(in = 11616) (out= 108)(deflated 99%) +adding: audio/spacemusic\&.au(in = 3079) (out= 73)(deflated 97%) +adding: classes/(in = 0) (out= 0)(stored 0%) +adding: classes/Animator\&.class(in = 2266) (out= 66)(deflated 97%) +adding: classes/Wave\&.class(in = 3778) (out= 81)(deflated 97%) +adding: images/(in = 0) (out= 0)(stored 0%) +adding: images/monkey\&.jpg(in = 7667) (out= 91)(deflated 98%) +adding: images/at_work\&.gif(in = 6621) (out= 89)(deflated 98%) + +% ls \-F +audio/ bundle\&.jar classes/ images/ +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, JAR¤Î¥³¥ó¥Æ¥ó¥Ä¤Î¥ê¥¹¥È +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +% jar tf bundle\&.jar +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +META\-INF/ +META\-INF/MANIFEST\&.MF +audio/1\&.au +audio/2\&.au +audio/3\&.au +audio/spacemusic\&.au +classes/Animator\&.class +classes/Wave\&.class +images/monkey\&.jpg +images/at_work\&.gif +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 4\fR, º÷°ú¤ÎÄɲà +.RS 4 +³ô¼°¼è°ú¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÁê¸ß°Í¸¥¯¥é¥¹¤ò¡¢\fImain\&.jar\fR¡¢\fIbuy\&.jar\fR¤ª¤è¤Ó\fIsell\&.jar\fR¤Î3¤Ä¤ÎJAR¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤¹¤ë¾ì¹ç¡¢\fIi\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£\fImain\&.jar\fR¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î\fIClass\-Path\fR°À­¤ò»ØÄꤹ¤ë¾ì¹ç¡¢\fIi\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥í¡¼¥É¤Î®ÅÙ¤ò¸þ¾å¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Class\-Path: buy\&.jar sell\&.jar +jar i main\&.jar +.fi +.if n \{\ +.RE +.\} +\fIINDEX\&.LIST\fR¥Õ¥¡¥¤¥ë¤¬\fIMETA\-INF\fR¥Ç¥£¥ì¥¯¥È¥ê¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Ë¤è¤Ã¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥ê¥½¡¼¥¹¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤È¤­¤Ë¡¢»ØÄꤷ¤¿JAR¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤ò»ÈÍѤ·¤Æ¡¢¸úΨŪ¤Ë¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï¡¢ºÇ½é¤Ë\fIdir1\fRÆâ¤Î¥Õ¥¡¥¤¥ë¤ò\fIstdout\fR¤Ë°µ½Ì¤·¤Æ¤«¤é¡¢\fIstdin\fR¤«¤é\fIdir2\fR¤Ë¥Ñ¥¤¥×¥é¥¤¥ó¤òºîÀ®¤·¤ÆÃê½Ð¤·¤Þ¤¹(\fI\-f\fR¥ª¥×¥·¥ç¥ó¤ÏξÊý¤Î\fIjar\fR¥³¥Þ¥ó¥É¤Ç¾Êά¤·¤Þ¤¹)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +(cd dir1; jar c \&.) | (cd dir2; jar x) +.fi +.if n \{\ +.RE +.\} +.RE .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -.na -\f2JAR ¥Õ¥¡¥¤¥ë¤Î³µÍ×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html -.LP -.LP -.na -\f2JAR ¥Õ¥¡¥¤¥ë¤Î»ÅÍÍ\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html -.LP -.LP -.na -\f2JarIndex ¤Î»ÅÍÍ\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index -.LP -.LP -.na -\f2JAR ¥Á¥å¡¼¥È¥ê¥¢¥ë\fP @ -.fi -http://download.oracle.com/javase/tutorial/deployment/jar/index.html -.LP -.LP -pack200(1) -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +pack200(1)\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.html¤Ë¤¢¤ë +Java¥Á¥å¡¼¥È¥ê¥¢¥ë¤ÎJAR¤Ë´Ø¤¹¤ë¹à +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 index 739d051356e..fa0799a8c60 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 @@ -1,1660 +1,1071 @@ -." Copyright (c) 1998, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jarsigner 1 "07 May 2011" - -.LP -.SH "̾Á°" -jarsigner \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë -.LP -.LP -Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Î½ð̾¤òÀ¸À®¤·¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jarsigner +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jarsigner" "1" "2013ǯ11·î21Æü" "JDK 8" "¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jarsigner \- Java¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ½ð̾¤ª¤è¤Ó¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jarsigner\fP [ options ] jar\-file alias -.fl -\f3jarsigner\fP \-verify [ options ] jar\-file [alias...] -.fl +\fIjarsigner\fR [ \fIoptions\fR ] \fIjar\-file\fR \fIalias\fR .fi - -.LP -.LP -jarsigner ¤Î \-verify ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë̾¤Î¤¢¤È¤Ë 0 ¸Ä°Ê¾å¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢ÊÌ̾¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢jarsigner ¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ½ð̾ÉÕ¤­¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸¡¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢ÊÌ̾¤Î¤¤¤º¤ì¤«¤Ë°ìÃפ¹¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ÊÌ̾¤Ï¡¢\-keystore ¤Ç»ØÄꤵ¤ì¤¿¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢Æâ¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjarsigner\fR \fI\-verify\fR [ \fIoptions\fR ] \fIjar\-file\fR [\fIalias \&.\&.\&.\fR] +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verify +.RS 4 +\fI\-verify\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢JAR¥Õ¥¡¥¤¥ë̾¤Î¸å¤Ë0¸Ä°Ê¾å¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fI\-verify\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢JAR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ½ð̾ÉÕ¤­¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸¡¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬¡¢¤¤¤º¤ì¤«¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤Ë°ìÃפ¹¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ÊÌ̾¤Ï¡¢\fI\-keystore\fR¤Ç»ØÄꤵ¤ì¤¿¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢Æâ¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤¿¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤ê½ÅÂç¤Ê·Ù¹ð¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢¥á¥Ã¥»¡¼¥¸¡Öjar¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿¡£½ð̾¼Ô¥¨¥é¡¼¡×¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIjar\-file\fR +.RS 4 +½ð̾¤µ¤ì¤ëJAR¥Õ¥¡¥¤¥ë¡£ +.sp +\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤¿¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤ê½ÅÂç¤Ê·Ù¹ð¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢¥á¥Ã¥»¡¼¥¸¡Öjar¤Ï½ð̾¤µ¤ì¤Þ¤·¤¿ \- ½ð̾¼Ô¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIalias\fR +.RS 4 +ÊÌ̾¤Ï¡¢\fI\-keystore\fR¤Ç»ØÄꤵ¤ì¤¿¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢Æâ¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3jarsigner\fP ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤Ç»ÈÍѤ·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -1. -Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë -.TP 3 -2. -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤ÈÀ°¹çÀ­¤ò¸¡¾Ú¤¹¤ë +.PP +\fIjarsigner\fR¥Ä¡¼¥ë¤Ë¤Ï¡¢¼¡¤Î2¤Ä¤ÎÌÜŪ¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ëÌÜŪ¡£ .RE - -.LP -.LP -JAR µ¡Ç½¤ò»È¤¦¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¡¢¤ª¤è¤Ó¤½¤Î¾¤Î¥Ç¥¸¥¿¥ë¥Ç¡¼¥¿¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤Ç¤­¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò¿×®¤«¤ÄÍÆ°×¤ËÇÛÉۤǤ­¤Þ¤¹¡£³«È¯¼Ô¤Ï¡¢jar(1) ¤È¤¤¤¦Ì¾Á°¤Î¥Ä¡¼¥ë¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£µ»½ÑŪ¤Ê´ÑÅÀ¤«¤é¸À¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î ZIP ¥Õ¥¡¥¤¥ë¤â JAR ¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢\f3jar\fP ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï \f3jarsigner\fP ¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢META\-INF/MANIFEST.MF ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿ (¡Ö½ð̾¡×¤ÎÂоݤȤʤë¥Ç¡¼¥¿) ¤È¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (¿Í¡¢²ñ¼Ò¤Ê¤É) ¤ÎÈó¸ø³«¸°¤È¤Ë´ð¤Å¤¤¤Æ·×»»¤µ¤ì¤ë¥Ó¥Ã¥ÈÎó¤Ç¤¹¡£¼ê½ñ¤­¤Î½ð̾ƱÍÍ¡¢¥Ç¥¸¥¿¥ë½ð̾¤Ë¤Ï¿¤¯¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -½ð̾¤ÎÀ¸À®¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ÈÂÐ¤Ë¤Ê¤ë¸ø³«¸°¤ò»È¤Ã¤Æ·×»»¤ò¹Ô¤¦¤³¤È¤Ç¡¢¥Ç¥¸¥¿¥ë½ð̾¤¬ËÜʪ¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤­¤ë -.TP 2 -o -Èó¸ø³«¸°¤¬Â¾¿Í¤ËÃΤé¤ì¤Ê¤¤¸Â¤ê¡¢¥Ç¥¸¥¿¥ë½ð̾¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ç¤¢¤ë -.TP 2 -o -¥Ç¥¸¥¿¥ë½ð̾¤Ï¡¢¤½¤Î½ð̾¤¬ÉÕ¤¤¤¿¥Ç¡¼¥¿¤À¤±¤òÂоݤȤ¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤Û¤«¤Î¥Ç¡¼¥¿¤Î½ð̾¤È¤·¤Æµ¡Ç½¤¹¤ë¤³¤È¤Ï¤Ê¤¤ -.TP 2 -o -½ð̾ÉÕ¤­¤Î¥Ç¡¼¥¿¤ÏÊѹ¹¤Ç¤­¤Ê¤¤¡£ ¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î½ð̾¤Ë¤è¤Ã¤Æ¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤Ï¤Ê¤¤¤³¤È¤¬¸¡¾Ú¤µ¤ì¤ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤ÈÀ°¹çÀ­¤ò¸¡¾Ú¤¹¤ëÌÜŪ¡£ .RE - -.LP -.LP -¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î½ð̾¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ë´ØÏ¢¤¹¤ë¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¸ø³«¸°¤òǧ¾Ú¤¹¤ë 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¾ÚÌÀ½ñ¤âɬÍפǤ¹¡£¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤¬È¯¹Ô¤·¤¿¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Ç¡¢Ê̤ʥ¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸ø³«¸°¤¬ÆÃÄê¤ÎÃͤǤ¢¤ë¤³¤È¤ò¾ÚÌÀ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤Ï¡¢¡Ö¥­¡¼¥¹¥È¥¢¡×¤Ë´Þ¤Þ¤ì¤ë¸°¤È¾ÚÌÀ½ñ¾ðÊó¤ò»È¤Ã¤Æ¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Ï¡¢Èó¸ø³«¸°¤È¡¢Èó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ X.509 ¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬¼ý¤á¤é¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£¥­¡¼¥¹¥È¥¢¤ÎºîÀ®¤È´ÉÍý¤Ë¤Ï¡¢keytool(1) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò»È¤¤¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Ë¤ÏÆÃ¤Ë¡¢¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤµ¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤ËÂФ¹¤ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\f3jarsigner\fP ¤Ï¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ëÆâ (½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ëÆâ) ¤Ë¤¢¤ë¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤Ï¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à½ð̾¤òÀ¸À®¤¹¤ë¤Î¤Ç¡¢¥·¥¹¥Æ¥à¤ä¥Ç¥×¥í¥¤¥ä (Java Plug\-in ¤ò´Þ¤à) ¤ÏJAR ¥Õ¥¡¥¤¥ë¤¬½ð̾¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü´ÖÃæ¤Ë½ð̾¤µ¤ì¤¿¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢API ¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¥¿¥¤¥à¥¹¥¿¥ó¥×¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¸½»þÅÀ¤Ç¤Ï¡¢\f3jarsigner\fP ¤Ç½ð̾¤Ç¤­¤ë¤Î¤Ï¡¢JDK ¤Î jar(1) ¥Ä¡¼¥ë¤ÇºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï ZIP ¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Ï ZIP ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï META\-INF/MANIFEST.MF ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£META\-INF/MANIFEST.MF ¥Õ¥¡¥¤¥ë¤Ï¡¢\f3jarsigner\fP ¤¬ ZIP ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\f3jarsigner\fP ¤Ï JAR (¤Þ¤¿¤Ï ZIP) ¥Õ¥¡¥¤¥ë¤Ë¡Ö½ð̾¡×¤òÉÕ¤±¤Þ¤¹¡£½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤ò¡Ö¸¡¾Ú¡×¤¹¤ë¾ì¹ç¤Ï¡¢ \f2\-verify\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.SS -¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾ -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ï¡¢½ð̾¤ÎÀ¸À®¤ËɬÍפÊÈó¸ø³«¸°¤ò´Þ¤à¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤ÎÎã¤Ï¡¢working ¥Ç¥£¥ì¥¯¥È¥ê¤Î mystore ¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤Ë´Þ¤Þ¤ì¤ëÊÌ̾ duke ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢MyJARFile.jar ¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢MyJARFile.jar ¤Ï½ð̾ÉÕ¤­¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-storepass \fP\f4<¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl - \-keypass \fP\f4<Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 MyJARFile.jar duke -.fl -\fP -.fi - -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢Èó¸ø³«¸°¤â¥­¡¼¥¹¥È¥¢Æâ¤Ç¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤¿¤á¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¡¢¤Þ¤¿¡¢»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥È¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¹¥ï¡¼¥É¤È°ã¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -.SS -¥­¡¼¥¹¥È¥¢¤Î¾ì½ê -.LP -.LP -\f3jarsigner\fP ¤Ë¤Ï¡¢ \f2»ÈÍѤ¹¤ë¥­¡¼¥¹¥È¥¢¤Î URL ¤ò»ØÄꤹ¤ë \-keystore\fP ¤¬¤¢¤ê¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢ \f2¤Ï\fP ¥Ç¥Õ¥©¥ë¥È¤Ç¡¢ \f2user.home\fP ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤Ç·è¤Þ¤ë¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£Solaris ¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢ \f2user.home\fP ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¥æ¡¼¥¶¡¼¤Î home ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\-keystore ¥ª¥×¥·¥ç¥ó \f2¤Ë»ØÄꤷ¤¿\fP ÆþÎÏ¥¹¥È¥ê¡¼¥à¤¬ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£URL ¤È¤·¤Æ \f2NONE\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢null ¤Î¥¹¥È¥ê¡¼¥à¤¬ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£ \f2NONE\fP ¤Ï¡¢ \f2KeyStore\fP ¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤¿¤È¤¨¤Ð¤½¤ì¤¬¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¥Ç¥Ð¥¤¥¹¾å¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ê¤É¤Ë»ØÄꤹ¤Ù¤­¤Ç¤¹¡£ -.LP -.SS -¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ -.LP -.LP -java.security ¥Ñ¥Ã¥±¡¼¥¸ \f2¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë\fP KeyStore ¥¯¥é¥¹ \f2¤Ï¡¢\fP ¥­¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤Ø¤Î¥¢¥¯¥»¥¹¤ª¤è¤Ó¾ðÊó¤ÎÊѹ¹¤ò¹Ô¤¦¤¿¤á¤Î¡¢ÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¸ÇÄê¼ÂÁõ¤È¤·¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¡Ö¥¿¥¤¥×¡×¤Î¥­¡¼¥¹¥È¥¢¤òÂоݤȤ¹¤ëÊ£¿ô¤Î°Û¤Ê¤ë¼ÂÁõ¤¬Â¸ºß²Äǽ¤Ç¤¹¡£ -.LP -.LP -¸½ºß¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤â¤Î¤È¤·¤Æ¡¢\f3keytool\fP ¤È \f3jarsigner\fP ¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢\f3Policy Tool\fP ¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£KeyStore \f2¤Ï\fP public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢Java 2 SDK ¥æ¡¼¥¶¡¼¤Ï KeyStore ¤ò»È¤Ã¤¿¤Û¤«¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Sun ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆÈ¼«¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥­¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥­¡¼¥¹¥È¥¢Á´ÂΤÎÀ°¹çÀ­¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢ \f2KeyStore\fP ¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¡Ö¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡× (SPI) ¤Ë´ð¤Å¤¤¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ëÃê¾Ý¥¯¥é¥¹ \f2KeystoreSpi\fP ¤¬Æ±¤¸ \f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¸ºß¤·¤Æ¤ª¤ê¡¢¤³¤Î¥¯¥é¥¹¤Ë¤è¤Ã¤Æ¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤¹¤ëɬÍפΤ¢¤ë¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢ -.na -\f2¡ÖJava °Å¹æ²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡Ö¥×¥í¥Ð¥¤¥À¡×¤ò¼ÂÁõ¤·¡¢KeystoreSpi ¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢KeyStore ¥¯¥é¥¹¤¬Ä󶡤¹¤ë getInstance ¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥­¡¼¥¹¥È¥¢¤Î \f2¼ÂÁõ¤ò\fP ÁªÂò¤Ç¤­¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥­¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤È¥­¡¼¥¹¥È¥¢¼«ÂΤÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.LP -\f3keytool\fP ¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¼ÂÁõ¤Çưºî¤·¤Þ¤¹¡£keytool ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤«¤éÅϤµ¤ì¤¿¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢¤³¤ì¤ò FileInputStream ¤ËÊÑ´¹¤·¤Æ¡¢FileInputStream ¤«¤é¥­¡¼¥¹¥È¥¢¤Î¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤È \f3policytool\fP ¥Ä¡¼¥ë¤Ï¡¢URL ¤Ç»ØÄê²Äǽ¤ÊǤ°Õ¤Î¾ì½ê¤«¤é¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3jarsigner\fP ¤È \f3keytool\fP ¤Î¾ì¹ç¡¢\f2\-storetype\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\f3Policy Tool\fP ¤Î¾ì¹ç¤Ï¡¢[Edit] ¥á¥Ë¥å¡¼¤Î [Change Keystore] ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¥æ¡¼¥¶¡¼¤¬¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ä¡¼¥ë¤Ï¡¢Ã±½ã¤Ë¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿ \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤ˴ð¤Å¤¤¤Æ¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¤³¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Ï \f2java.security\fP ¤È¸Æ¤Ð¤ì¡¢SDK ¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security Æâ¤Ë¸ºß¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢\f2java.home\fP ¤Ï¼Â¹Ô»þ´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£ -.LP -.LP -³Æ¥Ä¡¼¥ë¤Ï¡¢ \f2keystore.type\fP ¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£ -.LP -.LP -\f2KeyStore\fP ¥¯¥é¥¹¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë static ¥á¥½¥Ã¥É \f2getDefaultType\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥¢¥×¥ì¥Ã¥È¤«¤é \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥× \f2(keystore.type ¥×¥í¥Ñ¥Æ¥£¡¼¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×)\fP ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -.fl -\fP -.fi - -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï JKS (Sun ¤¬Ä󶡤¹¤ëÆÈ¼«¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keystore.type=jks -.fl -\fP -.fi - -.LP -.LP -Ãí: ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢JKS ¤È jks ¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keystore.type=pkcs12 -.fl -\fP -.fi - -.LP -.LP -PKCS#11 ¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤½¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava PKCS#11 Reference Guide¡×¤Ë¤¢¤ë -.na -\f2¡ÖKeyTool and JarSigner¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSignerÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à -.LP -.LP -\f3jarsigner\fP ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¼¡¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤ·¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -SHA1 ¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤¿ DSA (¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à) -.TP 2 -o -SHA256 ¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤¿ RSA ¥¢¥ë¥´¥ê¥º¥à -.TP 2 -o -SHA256 ¤È ECDSA (Âʱ߶ÊÀþ¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à) ¤ò»ÈÍѤ·¤¿ EC (Âʱ߶ÊÀþ) °Å¹æÊý¼°¥¢¥ë¥´¥ê¥º¥à +.PP +JARµ¡Ç½¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¤ª¤è¤Ó¤½¤Î¾¤Î¥Ç¥¸¥¿¥ë¡¦¥Ç¡¼¥¿¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤Ç¤­¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò¿×®¤«¤ÄÍÆ°×¤ËÇÛÉۤǤ­¤Þ¤¹¡£\fIjar\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¡¢³«È¯¼Ô¤ÏJAR¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£(µ»½ÑŪ¤Ê´ÑÅÀ¤«¤é¸À¤¨¤Ð¡¢¤¹¤Ù¤Æ¤ÎZIP¥Õ¥¡¥¤¥ë¤âJAR¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIMETA\-INF/MANIFEST\&.MF\fR¥Õ¥¡¥¤¥ë¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£) +.PP +¥Ç¥¸¥¿¥ë½ð̾¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿(½ð̾¤ÎÂоݤȤʤë¥Ç¡¼¥¿)¡¢¤ª¤è¤Ó¥¨¥ó¥Æ¥£¥Æ¥£(¿Í¡¢²ñ¼Ò¤Ê¤É)¤ÎÈëÌ©¸°¤«¤é·×»»¤µ¤ì¤ë¥Ó¥Ã¥È¤Îʸ»úÎó¤Ç¤¹¡£¼ê½ñ¤­¤Î½ð̾ƱÍÍ¡¢¥Ç¥¸¥¿¥ë½ð̾¤Ë¤Ï¿¤¯¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½ð̾¤ÎÀ¸À®¤Ë»ÈÍѤµ¤ì¤¿ÈëÌ©¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤ò»ÈÍѤ¹¤ë·×»»¤Ë¤è¤Ã¤Æ¡¢¤½¤ì¤¬ËÜʪ¤Ç¤¢¤ë¤³¤È¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£ .RE - -.LP -.LP -¶ñÂÎŪ¤Ë¤Ï¡¢½ð̾¼Ô¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤¬ DSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢\f3jarsigner\fP ¤Ï SHA1withDSA ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ð̾¼Ô¤Î¸°¤¬ RSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢\f3jarsigner\fP ¤Ï SHA256withRSA ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ð̾¼Ô¤Î¸°¤¬ EC ¸°¤Ç¤¢¤ë¾ì¹ç¡¢\f3jarsigner\fP ¤Ï SHA256withECDSA ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£ -.LP -.LP -¤³¤ì¤é¤Î¥Ç¥Õ¥©¥ë¥È¤Î½ð̾¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£ -.LP -.SS -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë -.LP -.LP -\f3jarsigner\fP ¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¾ì¹ç¡¢½ÐÎϤµ¤ì¤ë½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤ÏÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¼¡¤Î 2 ¤Ä¤ÎÄɲåե¡¥¤¥ë¤¬ META\-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -.SF ³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Õ¥¡¥¤¥ë -.TP 2 -o -.DSA¡¢.RSA¡¢¤Þ¤¿¤Ï .EC ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ÈëÌ©¸°¤¬Â¾¿Í¤ËÃΤé¤ì¤Ê¤¤¸Â¤ê¡¢¥Ç¥¸¥¿¥ë½ð̾¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ç¤¹¡£ .RE - -.LP -.LP -¤³¤ì¤é 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢ \f2\-sigFile\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤ«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¤È¤·¤Þ¤¹¡£ -.LP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤³¤ì¤Ï¡¢½ð̾¤¬ÉÕ¤¤¤¿¥Ç¡¼¥¿¤Îµ¡Ç½¤Ç¤¢¤ê¡¢Â¾¤Î¥Ç¡¼¥¿¤Î½ð̾¤È¤Ê¤ë¤è¤¦¤ËÍ×µá¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½ð̾ÉÕ¤­¥Ç¡¼¥¿¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¡£¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¡¢½ð̾¤Ë¤è¤Ã¤ÆËÜʪ¤Ç¤¢¤ë¤È¸¡¾Ú¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¤Î½ð̾¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´ØÏ¢¤¹¤ë¸ø³«¸°/ÈëÌ©¸°¤Î¥Ú¥¢¤È¡¢¸ø³«¸°¤òǧ¾Ú¤¹¤ë1¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Ç¡¢Ê̤Υ¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤¬ÆÃÄê¤ÎÃͤò»ý¤Ä¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢¤«¤é¤Î¸°¤È¾ÚÌÀ½ñ¾ðÊó¤ò»ÈÍѤ·¤Æ¡¢JAR¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Ï¡¢ÈëÌ©¸°¡¢¤ª¤è¤ÓÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤¹¤ë¡¢ÈëÌ©¸°¤Ë´ØÏ¢¤·¤¿X\&.509¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥­¡¼¥¹¥È¥¢¤òºîÀ®¤ª¤è¤Ó´ÉÍý¤·¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈëÌ©¸°¤ò»ÈÍѤ·¤Æ½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ÆÃ¤Ë¡¢¥Õ¥¡¥¤¥ë¤Ø¤Î½ð̾¤Ë»ÈÍѤ¹¤ëÈëÌ©¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Î¥­¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢ÆâÉô(½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ëÆâ)¤Î¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢½ð̾¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü´ÖÃæ¤ËJAR¥Õ¥¡¥¤¥ë¤¬½ð̾¤µ¤ì¤¿¤µ¤ì¤¿¤«¤É¤¦¤«¤ò¥·¥¹¥Æ¥à¤ä¥Ç¥×¥í¥¤¥ä(Java Plug\-in¤ò´Þ¤à)¤¬¥Á¥§¥Ã¥¯¤Ç¤­¤ë¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à½ð̾¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢API¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£ +.PP +¸½»þÅÀ¤Ç¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIjar\fR¥³¥Þ¥ó¥É¤Þ¤¿¤ÏZIP¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¤Î¤ß¤Ë½ð̾¤Ç¤­¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤ÏZIP¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢JAR¥Õ¥¡¥¤¥ë¤Ë¤Ï\fIMETA\-INF/MANIFEST\&.MF\fR¥Õ¥¡¥¤¥ë¤â´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£\fIMETA\-INF/MANIFEST\&.MF\fR¥Õ¥¡¥¤¥ë¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆZIP¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ëºÝ¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Î\fIjarsigner\fR¥³¥Þ¥ó¥É¤Îưºî¤Ç¤Ï¡¢JAR¤Þ¤¿¤ÏZIP¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£\fI\-verify\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¡¢½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤Î¸å¤Ë½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤Î¸¡¾Ú¤â»î¹Ô¤·¤Þ¤¹¡£¸¡¾Ú¥¨¥é¡¼¤Þ¤¿¤Ï¤½¤Î¾¤ÎÌäÂ꤬ȯÀ¸¤¹¤ë¤È¡¢¥³¥Þ¥ó¥É¤Ë¤è¤ê·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ë¤è¤ê½ÅÂç¤Ê·Ù¹ð¤¬¥¨¥é¡¼¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£¥¨¥é¡¼¤È·Ù¹ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾" +.PP +¥­¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢°ì°Õ¤ÎÊÌ̾¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¤È¤­¤Ï¡¢½ð̾¤ÎÀ¸À®¤ËɬÍפÊÈëÌ©¸°¤ò´Þ¤à¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ÎÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIworking\fR¥Ç¥£¥ì¥¯¥È¥ê¤Î\fImystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤Ë´Þ¤Þ¤ì¤ëÊÌ̾\fIduke\fR¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÈëÌ©¸°¤ò»ÈÍѤ·¤Æ¡¢\fIMyJARFile\&.jar\fR¤È¤¤¤¦Ì¾Á°¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢\fIMyJARFile\&.jar\fR¤Ï½ð̾ÉÕ¤­¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\-sigFile MKSIGN -.fl -\fP +jarsigner \-keystore /working/mystore \-storepass <keystore password> + \-keypass <private key password> MyJARFile\&.jar duke .fi - -.LP -.LP -¤³¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤Ï¤½¤ì¤¾¤ì MKSIGN.SF ¤È MKSIGN.DSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-sigfile\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèÆ¬¤Î 8 ʸ»ú¤ò¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤­´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£»ÈÍѤǤ­¤ëʸ»ú¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ (_)¡¢¥Ï¥¤¥Õ¥ó¤Ç¤¹¡£ -.LP -\f3½ð̾ (.SF) ¥Õ¥¡¥¤¥ë\fP -.LP -.LP -½ð̾¥Õ¥¡¥¤¥ë (.SF ¥Õ¥¡¥¤¥ë) ¤Ï¡¢\f3jarsigner\fP ¤Ç½ð̾¤òÉÕ¤±¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë¾ï¤Ë´Þ¤Þ¤ì¤ë¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤È»÷¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëƱÍÍ¡¢.SF ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë¡¢¼¡¤Î 3 ¤Ä¤Î¹Ô¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¥Õ¥¡¥¤¥ë̾ -.TP 2 -o -»È¤ï¤ì¤Æ¤¤¤ë¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à (SHA) ¤Î̾Á° -.TP 2 -o -SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃÍ +.if n \{\ .RE - -.LP -.LP -¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤Î¥À¥¤¥¸¥§¥¹¥È (¥Ï¥Ã¥·¥å) ¤Ç¤¹¡£°ìÊý¡¢.SF ¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÃæ¤Î³ºÅö¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë 3 ¹Ô¤Î¥Ï¥Ã¥·¥å¤Ç¤¹¡£ -.LP -.LP -½ð̾¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¸å½Ò¤Î¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë¡¢¤³¤Î¥Ø¥Ã¥À¡¼¤Î¸ºß¤Ë¤è¤Ã¤Æ¸¡¾Ú¤ÎºÇŬ²½¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.LP -\f3½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë\fP -.LP -.SF ¥Õ¥¡¥¤¥ë¤Ë¤Ï½ð̾¤¬ÉÕ¤±¤é¤ì¡¢½ð̾¤Ï½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥­¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤âÉ乿²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ï¡¢½ð̾¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤Ï¡¢»ÈÍѤµ¤ì¤ë¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤Ë±þ¤¸¤Æ .DSA¡¢.RSA¡¢.EC ¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£ -.SS -½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥× -.LP -.LP -\f2jarsigner\fP ¥Ä¡¼¥ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤·¤ÆÊݸ¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢ \f2jarsigner\fP ¤ÏÂåÂØ½ð̾µ¡¹½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤Îưºî¤Ï¾Êά²Äǽ¤Ç¡¢½ð̾»þ¤Ë¼¡¤Î³Æ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f2\-tsa url\fP -.TP 2 -o -\f2\-tsacert alias\fP -.TP 2 -o -\f2\-altsigner class\fP -.TP 2 -o -\f2\-altsignerpath classpathlist\fP -.RE - -.LP -.LP -¤³¤ì¤é¤Î³Æ¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú -.LP -.LP -JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤¬À®¸ù¤¹¤ë¤Î¤Ï¡¢½ð̾¤¬Í­¸ú¤Ç¤¢¤ê¡¢¤«¤Ä½ð̾¤ÎÀ¸À®°Ê¸å¤Ë JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ï¡¢¼¡¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -1. -.SF ¥Õ¥¡¥¤¥ë¤½¤ì¼«ÂΤνð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£ -.LP -¤³¤Î¼ê½ç¤Ç¤Ï¡¢³Æ½ð̾¥Ö¥í¥Ã¥¯ (.DSA) ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë½ð̾¤¬¡¢¼ÂºÝ¤Ë¡¢¸ø³«¸°¤ËÂбþ¤¹¤ëÈó¸ø³«¸°¤ò»È¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£ .DSA ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¸ø³«¸°¤Î¾ÚÌÀ½ñ (¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó) ¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¼ê½ç¤Ç¤Ï¡¢ÌÜŪ¤Î½ð̾¤¬¡¢Âбþ¤¹¤ë½ð̾ (.SF) ¥Õ¥¡¥¤¥ëÆâ¤ÎÍ­¸ú¤Ê½ð̾¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¡¢.SF ¥Õ¥¡¥¤¥ë¤¬²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â³Îǧ¤·¤Þ¤¹¡£ -.TP 3 -2. -.SF ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥¨¥ó¥È¥ê¤Î¥À¥¤¥¸¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤ÎÂбþ¤¹¤ë³Æ¥»¥¯¥·¥ç¥ó¤ÈÆÍ¤­¹ç¤ï¤»¤Æ¸¡¾Ú¤·¤Þ¤¹¡£ -.LP -.SF ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥ工夬³ÊǼ¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¥Ø¥Ã¥À¡¼Æâ¤Î¥Ï¥Ã¥·¥å¤¬¼ÂºÝ¤Ë¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£ -.LP -¥Ï¥Ã¥·¥å¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢¸úΨŪ¤Ë¤ÏÎô¤ëÊýË¡¤ò»È¤Ã¤Æ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢.SF ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹ (¡Ö½ð̾ (.SF) ¥Õ¥¡¥¤¥ë¡×¤ò»²¾È)¡£ -.LP -.SF ¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¡¼¤Ë³ÊǼ¤µ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È¡¢¼ÂºÝ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢½ð̾ (¤ª¤è¤Ó .SF ¥Õ¥¡¥¤¥ë) ¤ÎÀ¸À®¸å¤Ë¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤¬Äɲà \f2(jar ¥Ä¡¼¥ë¤ò»ÈÍÑ)\fP ¤µ¤ì¤¿²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£jar \f2¥Ä¡¼¥ë\fP ¤ò»È¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿¾ì¹ç¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤¹¤¬ (¿·¤·¤¤¥Õ¥¡¥¤¥ëÍѤΥ»¥¯¥·¥ç¥ó¤¬Äɲ䵤ì¤ë)¡¢.SF ¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¡¼°Ê³°¤Î¥»¥¯¥·¥ç¥ó¤Ë³ÊǼ¤µ¤ì¤¿¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤È¤­¤Ï¡¢½ð̾¤ÎÀ¸À®»þ¤Ë JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤¿¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¡¢¸¡¾Ú¤ÏÀ®¸ù¤·¤¿¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.TP 3 -3. -JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¡¢.SF ¥Õ¥¡¥¤¥ëÆâ¤Ë¥¨¥ó¥È¥ê¤ò»ý¤Ä³Æ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ÆÉ¤ß¹þ¤ßÃæ¤Ë¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ò·×»»¤·¡¢·ë²Ì¤ò¥Þ¥Ë¥Õ¥§¥¹¥È¥»¥¯¥·¥ç¥óÆâ¤Î³ºÅö¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÈÈæ³Ó¤·¤Þ¤¹¡£2 ¤Ä¤Î¥À¥¤¥¸¥§¥¹¥È¤ÏƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¸¡¾Ú¤¬¼ºÇÔ¤·¤Þ¤¹¡£ -.RE - -.LP -.LP -¸¡¾Ú¥×¥í¥»¥¹¤ÎÅÓÃæ¤Ç¤Ê¤ó¤é¤«¤Î½ÅÂç¤Ê¸¡¾Ú¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¸¡¾Ú¥×¥í¥»¥¹¤ÏÃæ»ß¤µ¤ì¡¢¥»¥­¥å¥ê¥Æ¥£¡¼Îã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£¥¹¥í¡¼¤µ¤ì¤¿¥»¥­¥å¥ê¥Æ¥£¡¼Îã³°¤Ï¡¢\f3jarsigner\fP ¤¬¥­¥ã¥Ã¥Á¤·¤ÆÉ½¼¨¤·¤Þ¤¹¡£ -.LP -.SS -1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤òÂоݤȤ¹¤ëÊ£¿ô¤Î½ð̾ -.LP -.LP -1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ \f3jarsigner\fP ¥Ä¡¼¥ë¤òÊ£¿ô²ó¼Â¹Ô¤·¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë¡¢°Û¤Ê¤ë¥æ¡¼¥¶¡¼¤ÎÊÌ̾¤ò»ØÄꤹ¤ì¤Ð¡¢JAR ¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î¥æ¡¼¥¶¡¼¤Î½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP +.\} +.PP +¥­¡¼¥¹¥È¥¢¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤¤¤È¡¢ÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢ÈëÌ©¸°¤â¥­¡¼¥¹¥È¥¢Æâ¤Ç¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤¿¤á¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥È¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.SS "¥­¡¼¥¹¥È¥¢¤Î¾ì½ê" +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥­¡¼¥¹¥È¥¢¤ÎURL¤ò»ØÄꤹ¤ë\fI\-keystore\fR¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¢\fIuser\&.home\fR¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ç·è¤Þ¤ë¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î\fI\&.keystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.PP +Oracle Solaris¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢\fIuser\&.home\fR¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ç¥Õ¥©¥ë¥ÈÀßÄꤵ¤ì¤Þ¤¹¡£ +.PP +\fI\-keystore\fR¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¡¢\fIKeyStore\&.load\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£URL¤È¤·¤Æ\fINONE\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢null¤Î¥¹¥È¥ê¡¼¥à¤¬\fIKeyStore\&.load\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£\fINONE\fR¤Ï¡¢\fIKeyStore\fR¥¯¥é¥¹¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤¿¤È¤¨¤Ð¡¢¥Ï¡¼¥É¥¦¥§¥¢¡¦¥È¡¼¥¯¥ó¡¦¥Ç¥Ð¥¤¥¹¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë»ØÄꤷ¤Þ¤¹¡£ +.SS "¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ" +.PP +\fIjava\&.security package\fR¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë\fIKeyStore\fR¥¯¥é¥¹¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤Ø¤Î¥¢¥¯¥»¥¹¤ª¤è¤Ó¾ðÊó¤ÎÊѹ¹¤ò¹Ô¤¦¤¿¤á¤Î¡¢ÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿Â¿¤¯¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£Ê£¿ô¤Î°Û¤Ê¤ë¸ÇÄê¼ÂÁõ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¡¢³Æ¼ÂÁõ¤ÏÆÃÄê¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤òÂоݤȤ·¤Þ¤¹¡£ +.PP +¸½ºß¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë2¤Ä¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ä¡¼¥ë(\fIkeytool\fR¤È\fIjarsigner\fR)¡¢¤ª¤è¤Ó¥Ý¥ê¥·¡¼¡¦¥Ä¡¼¥ë¤È¤¤¤¦Ì¾Á°¤Î1¤Ä¤ÎGUI¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£\fIKeyStore\fR¥¯¥é¥¹¤Ï¸ø³«¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢JDK¥æ¡¼¥¶¡¼¤Ï¡¢¤½¤ì¤ò»ÈÍѤ¹¤ë¾¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.PP +Oracle¤¬Ä󶡤¹¤ëÁȹþ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS¤È¤¤¤¦Ì¾Á°¤ÎÆÈ¼«¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×(·Á¼°)¤ò»ÈÍѤ¹¤ë¤â¤Î¤Ç¡¢¥­¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£Áȹþ¤ß¤Î¼ÂÁõ¤Ç¤Ï¡¢³ÆÈëÌ©¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥­¡¼¥¹¥È¥¢Á´ÂΤÎÀ°¹çÀ­¤Ï(ÈëÌ©¸°¤È¤ÏÊ̤Î)¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ +.PP +¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¡¢¤Ä¤Þ¤ê¡¢\fIKeyStore\fR¥¯¥é¥¹¤Ë¤è¤êÄ󶡤µ¤ì¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹(SPI)¤Ë´Ø¤·¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£Âбþ¤¹¤ë\fIKeystoreSpi\fRÃê¾Ý¥¯¥é¥¹¤¬¤¢¤ê¡¢¤³¤ì¤â\fIjava\&.security package\fR¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤¬¡¢¥×¥í¥Ð¥¤¥À¤¬¼ÂÁõ¤¹¤ëɬÍפΤ¢¤ë¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢¥×¥í¥Ð¥¤¥À¤È¤Ï¡¢Java Security API¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider\&.html¤Ë¤¢¤ë +Java°Å¹æ²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥×¥í¥Ð¥¤¥À¤ò¼ÂÁõ¤·¡¢\fIKeystoreSpi\fR¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢\fIKeyStore\fR¥¯¥é¥¹¤Î\fIgetInstance\fR¥Õ¥¡¥¯¥È¥ê¡¦¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¡¢ÍÍ¡¹¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤Ç¤­¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥­¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÈëÌ©¸°¤È¥­¡¼¥¹¥È¥¢¼«ÂΤÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.PP +\fIjarsigner\fR¤ª¤è¤Ó\fIpolicytool\fR¥³¥Þ¥ó¥É¤Ï¡¢URL¤ò»ÈÍѤ·¤Æ»ØÄê¤Ç¤­¤ëǤ°Õ¤Î¾ì½ê¤«¤é¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ï¡¢Windows¾å¤ÎMSCAPI¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤ÎPKCS11¤ÇÄ󶡤µ¤ì¤ë¤è¤¦¤ÊÈó¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤ª¤è¤Ó\fIkeytool\fR¥³¥Þ¥ó¥É¤Î¾ì¹ç¡¢\fI\-storetype\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ý¥ê¥·¡¼¡¦¥Ä¡¼¥ë¤Î¾ì¹ç¡¢\fB¡Ö¥­¡¼¥¹¥È¥¢¡×\fR¥á¥Ë¥å¡¼¤Î\fB¡ÖÊÔ½¸¡×\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +¥æ¡¼¥¶¡¼¤¬¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¡¢¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤¬ÁªÂò¤µ¤ì¤Þ¤¹¡£¤³¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ï\fIjava\&.security\fR¤È¸Æ¤Ð¤ì¡¢JDK¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Ç¥£¥ì¥¯¥È¥ê\fIjava\&.home/lib/security\fRÆâ¤Ë¸ºß¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢\fIjava\&.home\fR¤Ï¼Â¹Ô»þ´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£\fIjre\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢JDK¤Þ¤¿¤ÏJava Runtime Environment (JRE)¤ÎºÇ¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£ +.PP +³Æ¥Ä¡¼¥ë¤Ï¡¢\fIkeystore\&.type\fR¤ÎÃͤò¼èÆÀ¤·¡¢¤½¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +\fIKeyStore\fR¥¯¥é¥¹¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ëstatic¥á¥½¥Ã¥É\fIgetDefaultType\fR¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥¢¥×¥ì¥Ã¥È¤«¤é\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Î¹Ô¤Ç¤Ï¡¢\fIkeystore\&.type property\fR¤Ç»ØÄꤵ¤ì¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - jarsigner myBundle.jar susan -.fl - jarsigner myBundle.jar kevin -.fl -\fP +KeyStore keyStore = KeyStore\&.getInstance(KeyStore\&.getDefaultType()); .fi - -.LP -.LP -JAR ¥Õ¥¡¥¤¥ë¤¬Ê£¿ô²ó½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÂФ¬Ê£¿ô´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÂФϡ¢1 ²ó¤Î½ð̾¤ËÂФ·¤Æ 1 ¤ÄºîÀ®¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¾å¤ÎÎã¤Ç½ÐÎϤµ¤ì¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î̾Á°¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Ï¡¢\fIjks\fR +(Oracle¤¬Ä󶡤¹¤ëÆÈ¼«¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ)¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - SUSAN.SF -.fl - SUSAN.DSA -.fl - KEVIN.SF -.fl - KEVIN.DSA -.fl -\fP +keystore\&.type=jks .fi - -.LP -.LP -Ãí: JAR ¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢JDK 1.1 ¤Î \f3javakey\fP ¥Ä¡¼¥ë¤ÇÀ¸À®¤µ¤ì¤¿½ð̾¤È \f3jarsigner\fP ¤ÇÀ¸À®¤µ¤ì¤¿½ð̾¤¬º®ºß¤Ç¤­¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤¹¤Ç¤Ë \f3javakey\fP ¤ò»È¤Ã¤Æ½ð̾¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¡¢\f3jarsigner\fP ¤ò»È¤Ã¤Æ½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\fIJKS\fR¤Ï\fIjks\fR¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤½¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIpkcs12\fR¤È¸Æ¤Ð¤ì¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¡¦¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¾ì¹ç¡¢¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keystore\&.type=pkcs12 +.fi +.if n \{\ +.RE +.\} +.PP +\fBÃí°Õ:\fR +PKCS 11¥×¥í¥Ð¥¤¥À¡¦¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/p11guide\&.html¤Ë¤¢¤ë +Java PKCS #11¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥¬¥¤¥É¤Î¡ÖKeyTool¡×¤ª¤è¤Ó¡ÖJarSigner¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à" +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¼¡¤Î¤¤¤º¤ì¤«¤Î¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +SHA1¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤¿¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à(DSA) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +SHA256¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤¿RSA¥¢¥ë¥´¥ê¥º¥à¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +SHA256¤ÈÂʱ߶ÊÀþ¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à(ECDSA)¤ò»ÈÍѤ·¤¿Âʱ߶ÊÀþ(EC)°Å¹æÊý¼°¥¢¥ë¥´¥ê¥º¥à +.RE +.PP +½ð̾¼Ô¤Î¸ø³«¸°¤ÈÈëÌ©¸°¤¬DSA¸°¤Ç¤¢¤ë¾ì¹ç¡¢\fIjarsigner\fR¤Ï\fISHA1withDSA\fR¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£½ð̾¼Ô¤Î¸°¤¬RSA¸°¤Ç¤¢¤ë¾ì¹ç¡¢\fIjarsigner\fR¤Ï\fISHA256withRSA\fR¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤è¤¦¤È¤·¤Þ¤¹¡£½ð̾¼Ô¤Î¸°¤¬EC¸°¤Ç¤¢¤ë¾ì¹ç¡¢\fIjarsigner\fR¤Ï\fISHA256withECDSA\fR¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£ +.PP +¤³¤ì¤é¤Î¥Ç¥Õ¥©¥ë¥È¤Î½ð̾¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£ +.SS "½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë" +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¾ì¹ç¡¢½ÐÎϤµ¤ì¤ë½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤ÏÆþÎÏJAR¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¼¡¤Î2¤Ä¤ÎÄɲåե¡¥¤¥ë¤¬META\-INF¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\&.SF\fR³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Õ¥¡¥¤¥ë +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\&.DSA\fR¡¢\fI\&.RSA\fR¤Þ¤¿¤Ï\fI\&.EC\fR³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë +.RE +.PP +¤³¤ì¤é2¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ï¡¢\fI\-sigFile\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤ«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥ª¥×¥·¥ç¥ó¤¬\fI\-sigFile MKSIGN\fR¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ï\fIMKSIGN\&.SF\fR¤ª¤è¤Ó\fIMKSIGN\&.DSA\fR¤È¤¤¤¦Ì¾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-sigfile\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤È\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèÆ¬¤Î8ʸ»ú¤ò¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬8ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬¤½¤Î¤Þ¤Þ»ÈÍѤµ¤ì¤Þ¤¹¡£ÊÌ̾¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ç»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤ÎºîÀ®»þ¤Ë¡¢³ºÅö¤¹¤ëʸ»ú¤¬²¼Àþ(_)ʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£Í­¸ú¤Êʸ»ú¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ¤ª¤è¤Ó¥Ï¥¤¥Õ¥ó¤Ç¤¹¡£ +½ð̾¥Õ¥¡¥¤¥ë.PP +½ð̾¥Õ¥¡¥¤¥ë(\fI\&.SF\fR¥Õ¥¡¥¤¥ë)¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ëºÝ¤ËJAR¥Õ¥¡¥¤¥ë¤Ë¾ï¤Ë´Þ¤Þ¤ì¤ë¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤È»÷¤Æ¤¤¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤´¤È¤Ë¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤è¤¦¤Ê¡¢¼¡¤Ë¼¨¤¹3¤Ä¤Î¹Ô¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Õ¥¡¥¤¥ë̾ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à(SHA)¤Î̾Á° +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +SHA¥À¥¤¥¸¥§¥¹¥È¤ÎÃÍ +.RE +.PP +¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎSHA¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¡¦¥Ç¡¼¥¿¤Î¥À¥¤¥¸¥§¥¹¥È(¥Ï¥Ã¥·¥å)¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢»ØÄꤵ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¤½¤Î3¹Ô¤Î¥Ï¥Ã¥·¥å¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +½ð̾¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥ工夬³ÊǼ¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Ë¤Ï¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Ø¥Ã¥À¡¼¤Î¥Ï¥Ã¥·¥å¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¤È¡¢¸¡¾Ú¤ÎºÇŬ²½¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë.PP +\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï½ð̾¤¬ÉÕ¤±¤é¤ì¡¢½ð̾¤Ï½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢½ð̾¤Ë»ÈÍѤµ¤ì¤¿ÈëÌ©¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤¹¤ë¥­¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤â¡¢ÆâÉô¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤Ï¡¢»ÈÍѤµ¤ì¤ë¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à¤Ë±þ¤¸¤Æ¡¢\fI\&.DSA\fR¡¢\fI\&.RSA\fR¤Þ¤¿¤Ï\fI\&.EC\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.SS "½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×" +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤ª¤è¤ÓÊݸ¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fIjarsigner\fR¤ÏÂåÂØ½ð̾µ¡¹½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤Îưºî¤Ï¾Êά²Äǽ¤Ç¡¢½ð̾»þ¤Ë¼¡¤Î³Æ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-tsa \fIurl\fR +\-tsacert \fIalias\fR +\-altsigner \fIclass\fR +\-altsignerpath \fIclasspathlist\fR +\-tsapolicyid \fIpolicyid\fR +.fi +.if n \{\ +.RE +.\} +.SS "JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú" +.PP +JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤¬À®¸ù¤¹¤ë¤Î¤Ï¡¢½ð̾¤¬Í­¸ú¤Ç¤¢¤ê¡¢¤«¤Ä½ð̾¤ÎÀ¸À®°Ê¹ß¤ËJAR¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ï¡¢¼¡¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Î½ð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£ +.sp +¸¡¾Ú¤Ç¤Ï¡¢³Æ½ð̾¥Ö¥í¥Ã¥¯(\fI\&.DSA\fR)¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿½ð̾¤¬¡¢¾ÚÌÀ½ñ(¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó)¤â\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ë¼¨¤µ¤ì¤ë¸ø³«¸°¤ËÂбþ¤¹¤ëÈëÌ©¸°¤ò»ÈÍѤ·¤ÆÀ¸À®¤µ¤ì¤¿¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¤Þ¤¿¡¢½ð̾¤¬Âбþ¤¹¤ë½ð̾(\fI\&.SF\fR)¥Õ¥¡¥¤¥ë¤ÎÍ­¸ú¤Ê½ð̾¤Ç¤¢¤ë¤³¤È¤¬³Îǧ¤µ¤ì¡¢¤½¤ì¤Ë¤è¤ê¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤¬²þ¤¶¤ó¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â³Îǧ¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +\fI\&.SF\fR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥¨¥ó¥È¥ê¤Ë¼¨¤µ¤ì¤ë¥À¥¤¥¸¥§¥¹¥È¤ò¡¢¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤ÎÂбþ¤¹¤ë³Æ¥»¥¯¥·¥ç¥ó¤ÈÆÍ¤­¤¢¤ï¤»¤Æ¸¡¾Ú¤·¤Þ¤¹¡£ +.sp +\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥ工夬³ÊǼ¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ç¤Ï¡¢¥Ø¥Ã¥À¡¼Æâ¤Î¥Ï¥Ã¥·¥å¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£°ìÃפ¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ï¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£ +.sp +°ìÃפ·¤Ê¤¤¾ì¹ç¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢¤¢¤Þ¤êºÇŬ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¸¡¾Ú¤¬É¬Íפˤʤê¤Þ¤¹¡£½ð̾¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¡¼¤Ë³ÊǼ¤µ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤¬¡¢¸½ºß¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤Ë°ìÃפ·¤Ê¤¤Íýͳ¤Î1¤Ä¤Ï¡¢½ð̾¤ª¤è¤Ó\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¸å¤Ë¡¢(\fIjar\fR¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ)1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤¬JAR¥Õ¥¡¥¤¥ë¤ËÄɲ䵤줿¤³¤È¤Ç¤¹¡£\fIjar\fR¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ëÍѤΥ»¥¯¥·¥ç¥ó¤¬Äɲ䵤ì¤ë¤³¤È¤Ë¤è¤ê¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤¹¤¬¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£¸¡¾Ú¤¬¤Þ¤ÀÀ®¸ù¤·¤Æ¤¤¤ë¤È¤ß¤Ê¤µ¤ì¤ë¤Î¤Ï¡¢½ð̾¤ÎÀ¸À®°Ê¹ß¤ËJAR¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£¤³¤ì¤¬È¯À¸¤¹¤ë¤Î¤Ï¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¡¼°Ê³°¤Î¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¾ì¹ç¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +\fI\&.SF\fR¥Õ¥¡¥¤¥ëÆâ¤Ë¥¨¥ó¥È¥ê¤ò»ý¤ÄJAR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£ÆÉ¼è¤êÃæ¤Ë¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ò·×»»¤·¡¢·ë²Ì¤ò¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥»¥¯¥·¥ç¥óÆâ¤Î¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÈÈæ³Ó¤·¤Þ¤¹¡£¥À¥¤¥¸¥§¥¹¥È¤ÏƱ¤¸¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¸¡¾Ú¤¬¼ºÇÔ¤·¤Þ¤¹¡£ +.sp +¸¡¾Ú¥×¥í¥»¥¹Ãæ¤Ë¤Ê¤ó¤é¤«¤Î½ÅÂç¤Ê¸¡¾Ú¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥¹¤ÏÄä»ß¤µ¤ì¡¢¥»¥­¥å¥ê¥Æ¥£Îã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Îã³°¤òÊ᪤ª¤è¤Óɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\fBÃí°Õ:\fR +Äɲäηٹð(¤Þ¤¿¤Ï¡¢\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¥¨¥é¡¼)¤Ï¤¹¤Ù¤ÆÆÉ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£Æ±Íͤˡ¢¾ÚÌÀ¤¬¿®Íê¤Ç¤­¤ë¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢(\fI\-verbose\fR¤ª¤è¤Ó\fI\-certs\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ)¾ÚÌÀ½ñ¤ÎÆâÍÆ¤âÆÉ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.SS "1¤Ä¤ÎJAR¥Õ¥¡¥¤¥ë¤òÂоݤȤ¹¤ëÊ£¿ô¤Î½ð̾" +.PP +¼¡¤Î¤è¤¦¤Ë¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò¥Õ¥¡¥¤¥ë¤ÇÊ£¿ô²ó¼Â¹Ô¤·¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë°Û¤Ê¤ë¥æ¡¼¥¶¡¼¤ÎÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢1¤Ä¤ÎJAR¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î¥æ¡¼¥¶¡¼¤Î½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner myBundle\&.jar susan +jarsigner myBundle\&.jar kevin +.fi +.if n \{\ +.RE +.\} +.PP +JAR¥Õ¥¡¥¤¥ë¤¬Ê£¿ô²ó½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢Ê£¿ô¤Î\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤È\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢1²ó¤Î½ð̾¤ËÂФ·¤Æ1¤Ä¤Î¥Ú¥¢¤È¤Ê¤ê¤Þ¤¹¡£Á°½Ò¤ÎÎã¤Ç¤Ï¡¢½ÐÎÏJAR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î̾Á°¤Î¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +SUSAN\&.SF +SUSAN\&.DSA +KEVIN\&.SF +KEVIN\&.DSA +.fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -°Ê²¼¤Ç¤Ï¡¢\f3jarsigner\fP ¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£Ãí: -.LP -.RS 3 -.TP 2 -o -¤É¤Î¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèÆ¬¤Ë¥Þ¥¤¥Ê¥¹µ­¹æ (\-) ¤¬ÉÕ¤¯ -.TP 2 -o -¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤ë -.TP 2 -o -¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ (¥ª¥×¥·¥ç¥ó¤ÎÃÍ) ¤Ï¡¢¥æ¡¼¥¶¡¼¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ë -.TP 2 -o -\f2\-keystore\fP¡¢ \f2\-storepass\fP¡¢ \f2\-keypass\fP¡¢ \f2\-sigfile\fP¡¢ \f2\-sigalg\fP¡¢ \f2\-digestalg\fP¡¢¤ª¤è¤Ó \f2\-signedjar\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¾ì¹ç¤Ç¤Ï¤Ê¤¯¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¾ì¹ç¤À¤±¤Ç¤¹¡£Æ±Íͤˡ¢ÊÌ̾¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¾ì¹ç¤À¤±¤Ç¤¢¤ë +.PP +¼¡¤Î³Æ¹à¤Ç¤Ï¡¢ÍÍ¡¹¤Ê\fIjarsigner\fR¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¼¡¤Îɸ½à¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤É¤Î¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèÆ¬¤Ë¥Þ¥¤¥Ê¥¹µ­¹æ(\-)¤¬ÉÕ¤­¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-keystore url -¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¼¨¤¹ URL ¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë \f2.keystore\fP ¤Ç¤¹¡£ ¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢user.home ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£ -.LP -½ð̾¤¹¤ë¤È¤­¤Ï¥­¡¼¥¹¥È¥¢¤¬É¬ÍפǤ¹¡£ ¤³¤Î¤¿¤á¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¤Û¤«¤Î¥­¡¼¥¹¥È¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¸¡¾Ú¤¹¤ë¤È¤­¤Ï¥­¡¼¥¹¥È¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥­¡¼¥¹¥È¥¢¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë \f2\-verbose\fP ¥ª¥×¥·¥ç¥ó¤â»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬¤½¤Î¥­¡¼¥¹¥È¥¢¤Ë 1 ¤Ä¤Ç¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë´Ø¤¹¤ëÄɲþðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -Ãí: \f2\-keystore\fP ¤Î°ú¿ô¤Ë¤Ï¡¢URL ¤ÎÂå¤ï¤ê¤Ë¥Õ¥¡¥¤¥ë̾ (¤È¥Ñ¥¹) ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë̾ (¤È¥Ñ¥¹) ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¡Öfile:¡×URL ¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥¿¥ê¥Ã¥¯ÂΤޤ¿¤Ï²¼ÀþÉÕ¤­¤Î¹àÌÜ(¥ª¥×¥·¥ç¥ó¤ÎÃÍ)¤Î¼ÂºÝ¤ÎÃͤϡ¢»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-storepass\fR¡¢\fI\-keypass\fR¡¢\fI\-sigfile\fR¡¢\fI\-sigalg\fR¡¢\fI\-digestalg\fR¡¢\fI\-signedjar\fR¤ª¤è¤ÓTSA´ØÏ¢¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¾ì¹ç¤Î¤ß¤Ç¤¹¡£½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¾ì¹ç¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\fI\-keystore \fR¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤ª¤è¤Ó¸¡¾Ú¤Ë´ØÏ¢¤·¤Þ¤¹¡£¤Þ¤¿¡¢ÊÌ̾¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤ª¤è¤Ó¸¡¾Ú»þ¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-keystore \fIurl\fR +.RS 4 +¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¼¨¤¹URL¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢\fIuser\&.home\fR¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ç·èÄꤵ¤ì¤¿¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë\fI\&.keystore\fR¤Ë¥Ç¥Õ¥©¥ë¥ÈÀßÄꤵ¤ì¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤Ï½ð̾»þ¤Ë¤ÏɬÍפǤ¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¸¡¾Ú¤¹¤ë¤È¤­¤Ï¥­¡¼¥¹¥È¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥­¡¼¥¹¥È¥¢¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤â»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬¤½¤Î¥­¡¼¥¹¥È¥¢¤Ë1¤Ä¤Ç¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë´Ø¤¹¤ëÄɲþðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +\fI\-keystore\fR°ú¿ô¤Ë¤Ï¡¢URL¤Ç¤Ï¤Ê¤¯¥Õ¥¡¥¤¥ë̾¤È¥Ñ¥¹¤ò»ØÄê¤Ç¤­¡¢¤³¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë: URL¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Ë¤è¤¦¤Ë»ØÄꤹ¤ë¤ÈƱÅù¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \-keystore \fP\f4filePathAndName\fP\f3 -.fl -\fP +\-keystore \fIfilePathAndName\fR +\-keystore file:\fIfilePathAndName\fR .fi -.LP -¤³¤ì¤Ï¡¢¼¡¤Î»ØÄê¤ÈƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +(JRE¤Î\fI$JAVA_HOME/lib/security directory\fR¤Ë¤¢¤ë) +\fIjava\&.security\fR¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤ÇSun PKCS #11¥×¥í¥Ð¥¤¥À¤¬¹½À®¤µ¤ì¤¿¾ì¹ç¡¢\fIkeytool\fR¤ª¤è¤Ó\fIjarsigner\fR¥Ä¡¼¥ë¤ÏPKCS#11¥È¡¼¥¯¥ó¤Ë´ð¤Å¤¤¤ÆÆ°ºî¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \-keystore file:\fP\f4filePathAndName\fP\f3 -.fl -\fP +\-keystore NONE +\-storetype PKCS11 .fi -.LP -JRE ¤Î \f2$JAVA_HOME/lib/security\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤¿ \f2java.security\fP ¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ç Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢keytool ¤È jarsigner ¤Ï PKCS#11 ¥È¡¼¥¯¥ó¤Ë´ð¤Å¤¤¤ÆÆ°ºî¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2\-keystore NONE\fP -.TP 2 -o -\f2\-storetype PKCS11\fP +.if n \{\ .RE -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÀßÄꤵ¤ì¤¿ PKCS#11 ¥È¡¼¥¯¥ó¤ÎÆâÍÆ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.\} +¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¹½À®¤µ¤ì¤¿PKCS#11¥È¡¼¥¯¥ó¤ÎÆâÍÆ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - jarsigner \-keystore NONE \-storetype PKCS11 \-list -.fl - -.fl -\fP +keytool \-keystore NONE \-storetype PKCS11 \-list .fi -.TP 3 -\-storetype storetype -¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Î keystore.type ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Ç¤¹¡£¤³¤ÎÃͤϡ¢ \f2java.security.KeyStore\fP ¤Î static getDefaultType ¥á¥½¥Ã¥É \f2¤Ç¼èÆÀ¤Ç¤­¤Þ¤¹¡£\fP. -.LP -\-storepass ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ PCKS#11 ¥È¡¼¥¯¥ó¤Î PIN ¤ò \f2»ØÄꤹ¤ë¤³¤È¤â\fP ¤Ç¤­¤Þ¤¹¡£²¿¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢keytool ¤È jarsigner ¤Ï¥æ¡¼¥¶¡¼¤Ë¥È¡¼¥¯¥ó PIN ¤Î ÆþÎϤòµá¤á¤Þ¤¹¡£¥È¡¼¥¯¥ó¤ËÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹ (ÀìÍѤΠPIN ¥Ñ¥Ã¥É¤äÀ¸ÂÎÆÉ¤ß¼è¤êµ¡¤Ê¤É) ¤¬¤¢¤ë¾ì¹ç¡¢\f2\-protected\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¥Ñ¥¹¥ï¡¼¥É¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.TP 3 -\-storepass[:env | :file] argument -.LP -¥­¡¼¥¹¥È¥¢¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ËɬÍפʥѥ¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬ÍפʤΤϡ¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤À¤±¤Ç¤¹ (JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¤È¤­¤ÏÉÔÍ×)¡£¤½¤Î¾ì¹ç¡¢ \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -½¤¾þ»Ò \f2env\fP ¤Þ¤¿¤Ï \f2file\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃÍ¤Ï \f2argument\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2env\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë -.TP 2 -o -\f2file\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë +.if n \{\ .RE -.LP -Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼Êݸ¤ì¤¿¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.TP 3 -\-keypass[:env | :file] argument -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ËÂбþ¤¹¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤òÊݸ¤ë¤Î¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£\f3jarsigner\fP ¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Æ¤ª¤é¤º¡¢É¬Íפʥѥ¹¥ï¡¼¥É¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -½¤¾þ»Ò \f2env\fP ¤Þ¤¿¤Ï \f2file\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃÍ¤Ï \f2argument\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2env\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë -.TP 2 -o -\f2file\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë +.\} .RE -.LP -Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼Êݸ¤ì¤¿¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.TP 3 -\-sigfile file -.SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤Ë»È¤¦¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f2file\fP ¤Ë DUKESIGN ¤ò»ØÄꤹ¤ë¤È¡¢À¸À®¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢¤½¤ì¤¾¤ì DUKESIGN.SF ¤È DUKESIGN.DSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î META\-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤Þ¤¹¡£ -.LP -\f2file\fP ¤Ë»ÈÍѤǤ­¤ëʸ»ú¤Ï¡Öa\-zA\-Z0\-9_\-¡×¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢Ê¸»ú¡¢¿ô»ú¡¢²¼Àþ¡¢¤ª¤è¤Ó¥Ï¥¤¥Õ¥ó¤À¤±¤ò»ÈÍѤǤ­¤Þ¤¹¡£Ãí: .SF ¤ª¤è¤Ó .DSA ¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¾®Ê¸»ú¤Ï¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ -.LP -\-sigfile \f2\-sigfile\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèÆ¬¤Î 8 ʸ»ú¤ò¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤­´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-sigalg algorithm -JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ë½ð̾¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -ɸ½à½ð̾¥¢¥ë¥´¥ê¥º¥à̾¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Cryptography Architecture¡×¤Ë¤¢¤ë -.na -\f2¡ÖAppendix A ¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ëÈëÌ©¸°¤È¸ß´¹À­¤Î¤¢¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ÈëÌ©¸°¤Î¥¿¥¤¥×¤Ë±þ¤¸¤Æ SHA1withDSA¡¢SHA256withRSA¡¢SHA256withECDSA ¤Î¤¤¤º¤ì¤«¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¡¼¤¬¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò \f2\-providerClass\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¼ºÇÔ¤·¤Þ¤¹¡£ -.TP 3 -\-digestalg algorithm -JAR ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤ò¥À¥¤¥¸¥§¥¹¥È¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -ɸ½à¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à̾¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Cryptography Architecture¡×¤Ë¤¢¤ë -.na -\f2¡ÖAppendix A ¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢SHA256 ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¡¼¤¬¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò \f2\-providerClass\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¼ºÇÔ¤·¤Þ¤¹¡£ -.TP 3 -\-signedjar file -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç̾Á°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (½ð̾¤ÎÂоݤȤʤë JAR ¥Õ¥¡¥¤¥ë) ¤Î̾Á°¤ÈƱ¤¸Ì¾Á°¤¬»È¤ï¤ì¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤Ï½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-verify -¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ØÄꤵ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¸¡¾Ú¤µ¤ì¤Þ¤¹¡£ JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î½ð̾¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢¡Öjar verified¡× ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥¢¥ë¥´¥ê¥º¥à (RSA ¥×¥í¥Ð¥¤¥À¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò½ªÎ»¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Î RSA ¤Ê¤É) ¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¤è¤¦¤È¤¹¤ë¤È¡¢¡Öjar is unsigned. (signatures missing or not parsable)¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢\f3jarsigner\fP ¤Þ¤¿¤Ï JDK 1.1 ¤Î \f3javakey\fP ¥Ä¡¼¥ë¡¢¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤ò»È¤Ã¤Æ¸¡¾Ú¤Ç¤­¤Þ¤¹¡£ -.LP -¸¡¾Ú¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-certs -¥³¥Þ¥ó¥É¹Ô¤Ç¡¢ \f2\-verify\fP ¤ª¤è¤Ó \f2\-verbose\fP ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢JAR ¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊ󤬽ÐÎϤ˴ޤޤì¤Þ¤¹¡£¾ÚÌÀ½ñ¾ðÊó¤Ë¤Ï¼¡¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -½ð̾¼Ô¤Î¸ø³«¸°¤ò¾ÚÌÀ¤¹¤ë (.DSA ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿) ¾ÚÌÀ½ñ¤Î¼ïÎà¤Î̾Á° -.TP 2 -o -¾ÚÌÀ½ñ¤¬ X. ¾ÚÌÀ½ñ (¤Ä¤Þ¤ê¡¢ \f2java.security.cert.X509Certificate\fP ¤Î¥¤¥ó¥¹¥¿¥ó¥¹) ¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢½ð̾¼Ô¤Î¼±ÊÌ̾ +.PP +\-storetype \fIstoretype\fR +.RS 4 +¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Î\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Ç¤¹¡£¤³¤ÎÃͤϡ¢\fIjava\&.security\&.KeyStore\fR¤Îstatic +\fIgetDefaultType\fR¥á¥½¥Ã¥É¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-storepass\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢PCKS #11¥È¡¼¥¯¥ó¤ÎPIN¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£²¿¤â»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fIkeytool\fR¤ª¤è¤Ó\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢¥È¡¼¥¯¥óPIN¤Î»ØÄê¤òµá¤á¤é¤ì¤Þ¤¹¡£¥È¡¼¥¯¥ó¤ËÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹(ÀìÍѤÎPIN¥Ñ¥Ã¥É¤äÀ¸ÂÎÆÉ¼è¤êµ¡¤Ê¤É)¤¬¤¢¤ë¾ì¹ç¡¢\fI\-protected\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¥Ñ¥¹¥ï¡¼¥É¡¦¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ .RE -.LP -¥­¡¼¥¹¥È¥¢¤Î³Îǧ¤â¹Ô¤ï¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥­¡¼¥¹¥È¥¢¤ÎÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¤¢¤ì¤Ð¡¢¸¡ºº¤µ¤ì¤Þ¤¹¡£½ð̾¼Ô¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢Æâ¤Î¥¨¥ó¥È¥ê¤È°ìÃפ·¤¿¾ì¹ç¤Ï¡¢¼¡¤Î¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -½ð̾¼Ô¤Ë³ºÅö¤¹¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¡£¤³¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢¥­¡¼¥¹¥È¥¢¤Ç¤Ï¤Ê¤¯ JDK 1.1 ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËͳÍ褹¤ë½ð̾¼Ô¤Î¾ì¹ç¤Ï¡¢³ç¸Ì¤Ç¤Ï¤Ê¤¯Âç³ç¸Ì¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£ +.PP +\-storepass[:env | :file] \fIargument\fR +.RS 4 +¥­¡¼¥¹¥È¥¢¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ËɬÍפʥѥ¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤¬É¬ÍפʤΤϡ¢JAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Î¤ß¤Ç¤¹(¸¡¾Ú¤¹¤ë¤È¤­¤Ë¤ÏÉÔÍפǤ¹)¡£¤½¤Î¾ì¹ç¡¢\fI\-storepass\fR¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤¤¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +½¤¾þ»Ò\fIenv\fR¤Þ¤¿¤Ï\fIfile\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃͤÏ\fIargument\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIenv\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ .RE -.TP 3 -\-certchain file -¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿ÊÌ̾¤Ç·è¤Þ¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬´°Á´¤Ç¤Ê¤¤¾ì¹ç¤Ë¡¢»ÈÍѤ¹¤Ù¤­¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤Î¤è¤¦¤Ê¾õÂ֤ˤʤë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ï¡¢¥­¡¼¥¹¥È¥¢¤¬¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¾å¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¤½¤³¤Ë¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÎÁ´ÂΤòÊÝ»ý¤Ç¤­¤ë¤À¤±¤ÎÎΰ褬¸ºß¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¾ì¹ç¤Ç¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°ìÏ¢¤Î X.509 ¾ÚÌÀ½ñ¤¬½ç¤ËÏ¢·ë¤µ¤ì¤¿¤â¤Î¡¢PKCS#7 ·Á¼°¤Îñ°ì¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤Î¤¤¤º¤ì¤«¤È¤Ê¤ê¡¢¤½¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°¤Ï¥Ð¥¤¥Ê¥ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°¡¢Internet RFC 1421 ɸ½à¤Çµ¬Äꤵ¤ì¤ë°õºþ²Äǽ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼° (BASE64 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤È¤â¸Æ¤Ð¤ì¤ë) ¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-verbose -¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f3jarsigner\fP ¤Ï¡Ö¾éĹ¡×¥â¡¼¥É¤Çưºî¤·¡¢JAR ¤Î½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤Î¿Ê¹Ô¾õ¶·¤Ë´Ø¤¹¤ëÄɲþðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-internalsf -°ÊÁ°¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤¿ .DSA (½ð̾¥Ö¥í¥Ã¥¯) ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢À¸À®¤µ¤ì¤¿ .SF ¥Õ¥¡¥¤¥ë (½ð̾¥Õ¥¡¥¤¥ë) ¤Î´°Á´¤Ê¥³¥Ô¡¼¤¬É乿²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¡£¤³¤Îưºî¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£¤³¤Îưºî¤ÏÊѹ¹¤Ë¤Ê¤ê¡¢¸½ºß¤Ç¤Ï¡¢½ÐÎÏ JAR ¥Õ¥¡¥¤¥ëÁ´ÂΤΥµ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï .SF ¥Õ¥¡¥¤¥ë¤¬ .DSA ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢ \f2\-internalsf\fP ¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ë¤È¡¢°ÊÁ°¤ÈƱ¤¸¤è¤¦¤Ëưºî¤·¤Þ¤¹¡£\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦¾ì¹ç¤Ë¤ÏÊØÍø¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ë¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Í­±×¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£\fP -.TP 3 -\-sectionsonly -¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë (½ð̾¥Õ¥¡¥¤¥ë) ¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤ò´Þ¤à¥Ø¥Ã¥À¡¼¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ë¾ðÊ󤪤è¤Ó¥Ï¥Ã¥·¥å¤À¤±¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö½ð̾ (.SF) ¥Õ¥¡¥¤¥ë¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ºÇŬ²½¤ò¹Ô¤¦¤¿¤á¤Ë¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤ò´Þ¤à¥Ø¥Ã¥À¡¼¤¬Äɲ䵤ì¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú»þ¤Ë¡¢¤Þ¤º¥Ø¥Ã¥À¡¼Æâ¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤È¼ÂºÝ¤Ë°ìÃפ¹¤ë¤«¤É¤¦¤«¤¬³Îǧ¤µ¤ì¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ï¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢¸úΨŪ¤Ë¤ÏÎô¤ëÊýË¡¤ò»È¤Ã¤Æ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£ ¶ñÂÎŪ¤Ë¤Ï¡¢.SF ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£ -.LP -¾ÜºÙ¤Ï¡¢¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦¾ì¹ç¤Ë¤ÏÊØÍø¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ë¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Í­±×¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£\fP -.TP 3 -\-protected -\f2true\fP ¤Þ¤¿¤Ï \f2false\fP¡£ÀìÍÑ PIN ¥ê¡¼¥À¡¼¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤ò²ð¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃͤò \f2true\fP ¤Ë»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-providerClass provider\-class\-name -¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤¬¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë (\f2java.security\fP) ¤Î¥ê¥¹¥È¤ËÆþ¤Ã¤Æ¤¤¤Ê¤¤¤È¤­¤Ë¡¢°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤Î¥Þ¥¹¥¿¡¼¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -\f2\-providerArg\fP \f2ConfigFilePath\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£keytool ¤È jarsigner ¤Ï¥×¥í¥Ð¥¤¥À¤òưŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹ (¤³¤³¤Ç¡¢\f2ConfigFilePath\fP ¤Ï¥È¡¼¥¯¥óÀßÄê¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ç¤¹)¡£¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ç Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë PKCS#11 ¥­¡¼¥¹¥È¥¢¤ò°ìÍ÷ɽ¼¨¤¹¤ë¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIfile\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +\fBÃí°Õ:\fR +¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¤Þ¤¿¤Ï¥»¥­¥å¥ê¥Æ¥£Êݸ¤ì¤¿¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-keypass [:env | :file] \fIargument\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ËÂбþ¤¹¤ë¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ÎÈëÌ©¸°¤òÊݸ¤ë¤Î¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£\fIjarsigner\fR¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Æ¤ª¤é¤º¡¢É¬Íפʥѥ¹¥ï¡¼¥É¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +½¤¾þ»Ò\fIenv\fR¤Þ¤¿¤Ï\fIfile\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃͤÏ\fIargument\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIenv\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIfile\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +\fBÃí°Õ:\fR +¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¤Þ¤¿¤Ï¥»¥­¥å¥ê¥Æ¥£Êݸ¤ì¤¿¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-sigfile \fIfile\fR +.RS 4 +À¸À®¤µ¤ì¤¿\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤ª¤è¤Ó\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ë»ÈÍѤ¹¤ë¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Õ¥¡¥¤¥ë¤¬\fIDUKESIGN\fR¤Î¾ì¹ç¡¢À¸À®¤µ¤ì¤ë\fI\&.SF\fR¤ª¤è¤Ó\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ï¡¢\fIDUKESIGN\&.SF\fR¤ª¤è¤Ó\fIDUKESIGN\&.DSA\fR¤È¤¤¤¦Ì¾Á°¤Ç¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î\fIMETA\-INF\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.sp +¥Õ¥¡¥¤¥ëÆâ¤Îʸ»ú¤Ï¡¢¥»¥Ã¥È\fIa\-zA\-Z0\-9_\-\fR¤«¤é»ØÄꤵ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ¤ª¤è¤Ó¥Ï¥¤¥Õ¥óʸ»ú¤Î¤ß¤ò»ÈÍѤǤ­¤Þ¤¹¡£\fI\&.SF\fR¤ª¤è¤Ó\fI\&.DSA\fR¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¾®Ê¸»ú¤Ï¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ +.sp +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-sigfile\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤È\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèÆ¬¤Î8ʸ»ú¤ò¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬8ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬¤½¤Î¤Þ¤Þ»ÈÍѤµ¤ì¤Þ¤¹¡£ÊÌ̾¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ç̵¸ú¤Êʸ»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢³ºÅö¤¹¤ëʸ»ú¤¬²¼Àþ(_)ʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-sigalg \fIalgorithm\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ë½ð̾¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +ɸ½àŪ¤Ê½ð̾¥¢¥ë¥´¥ê¥º¥à̾¤Î¥ê¥¹¥È¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html#AppA¤Ë¤¢¤ë +Java Cryptography Architecture (JCA)¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥¬¥¤¥É¤Î¡ÖÉÕÏ¿A: ɸ½à̾¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ëÈëÌ©¸°¤È¤Î¸ß´¹À­¤¬É¬ÍפǤ¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢ÈëÌ©¸°¤Î¥¿¥¤¥×¤Ë±þ¤¸¤Æ¡¢\fISHA1withDSA\fR¡¢\fISHA256withRSA\fR¤Þ¤¿¤Ï\fISHA256withECDSA\fR¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢\fI\-providerClass\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò¥æ¡¼¥¶¡¼¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¼ºÇÔ¤·¤Þ¤¹¡£ +.RE +.PP +\-digestalg \fIalgorithm\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤ò¥À¥¤¥¸¥§¥¹¥È¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +ɸ½àŪ¤Ê¥á¥Ã¥»¡¼¥¸¡¦¥À¥¤¥¸¥§¥¹¥È¡¦¥¢¥ë¥´¥ê¥º¥à̾¤Î¥ê¥¹¥È¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html#AppA¤Ë¤¢¤ë +Java Cryptography Architecture (JCA)¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥¬¥¤¥É¤Î¡ÖÉÕÏ¿A: ɸ½à̾¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fISHA256\fR¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢\fI\-providerClass\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò¥æ¡¼¥¶¡¼¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¼ºÇÔ¤·¤Þ¤¹¡£ +.RE +.PP +\-certs +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¡¢\fI\-certs\fR¥ª¥×¥·¥ç¥ó¤ò\fI\-verify\fR¤ª¤è¤Ó\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊ󤬽ÐÎϤ˴ޤޤì¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ë¤Ï¡¢½ð̾¼Ô¤Î¸ø³«¸°¤ò¾ÚÌÀ¤¹¤ë¾ÚÌÀ½ñ(\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ë³ÊǼ)¤Î¥¿¥¤¥×¤Î̾Á°¤¬´Þ¤Þ¤ì¡¢¾ÚÌÀ½ñ¤¬X\&.509¾ÚÌÀ½ñ(\fIjava\&.security\&.cert\&.X509Certificate\fR¤Î¥¤¥ó¥¹¥¿¥ó¥¹)¤Î¾ì¹ç¡¢½ð̾¼Ô¤Î¼±ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤Î³Îǧ¤â¹Ô¤ï¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥­¡¼¥¹¥È¥¢¤ÎÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë(¤¢¤ë¾ì¹ç)¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£½ð̾¼Ô¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢Æâ¤Î¥¨¥ó¥È¥ê¤È°ìÃפ¹¤ë¾ì¹ç¡¢¤½¤Î½ð̾¼Ô¤Î¥­¡¼¥¹¥È¥¢¤Î¥¨¥ó¥È¥ê¤ÎÊÌ̾¤¬´Ý¥«¥Ã¥³Æâ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-certchain \fIfile\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿ÊÌ̾¤Ë¤è¤Ã¤ÆÉ½¤µ¤ì¤ë¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ÎÈëÌ©¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬´°Á´¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¡¢»ÈÍѤ¹¤ë¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥óÁ´ÂΤòÊÝ»ý¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÎΰ褬¤Ê¤¤¥Ï¡¼¥É¥¦¥§¥¢¡¦¥È¡¼¥¯¥ó¾å¤Ë¥­¡¼¥¹¥È¥¢¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°ìÏ¢¤ÎÏ¢·ë¤µ¤ì¤¿X\&.509¾ÚÌÀ½ñ¡¢PKCS#7·Á¼°¤Îñ°ì¥Ç¡¼¥¿¡¦¥Ö¥í¥Ã¥¯¤Î¤¤¤º¤ì¤«¤È¤Ê¤ê¡¢¤½¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°¤Ï¥Ð¥¤¥Ê¥ê¡¦¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°¡¢Internet RFC 1421ɸ½à¤Çµ¬Äꤵ¤ì¤ë°õºþ²Äǽ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°·Á¼°(Base64¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤È¤â¸Æ¤Ð¤ì¤ë)¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ª¤è¤Óhttp://tools\&.ietf\&.org/html/rfc1421¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verbose +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¾éĹ¥â¡¼¥É¤Çưºî¤·¡¢¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢\fIjarsigner\fR¤Ï¡¢JAR¤Î½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤Î¿Ê¹Ô¾õ¶·¤Ë´Ø¤¹¤ëÄɲþðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-internalsf +.RS 4 +°ÊÁ°¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤¿\fI\&.DSA\fR +(½ð̾¥Ö¥í¥Ã¥¯)¥Õ¥¡¥¤¥ë¤Ë¡¢À¸À®¤µ¤ì¤¿\fI\&.SF\fR¥Õ¥¡¥¤¥ë(½ð̾¥Õ¥¡¥¤¥ë)¤Î¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿´°Á´¤Ê¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¡£ ¤³¤Îưºî¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£½ÐÎÏJAR¥Õ¥¡¥¤¥ëÁ´ÂΤΥµ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-internalsf\fR¤ò»ØÄꤷ¤¿¾ì¹ç¡¢°ÊÁ°¤ÈƱ¤¸¤è¤¦¤Ëưºî¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¼ÂºÝ¤Ë¤Ï¡¢\fI\-internalsf\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬Â礭¤¯¤Ê¤ë¤¿¤á¡¢»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-sectionsonly +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-sectionsonly\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤ë\fI\&.SF\fR¥Õ¥¡¥¤¥ë(½ð̾¥Õ¥¡¥¤¥ë)¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤ò´Þ¤à¥Ø¥Ã¥À¡¼¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë´Þ¤Þ¤ì¤ë¤Î¤Ï¡¢JAR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë´ØÏ¢¤¹¤ë¾ðÊ󤪤è¤Ó¥Ï¥Ã¥·¥å¤Î¤ß¤Ç¤¹¡£½ð̾¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ºÇŬ²½¤Î¤¿¤á¤Ë¡¢¤³¤Î¥Ø¥Ã¥À¡¼¤¬Äɲ䵤ì¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¤¿¤Ó¤Ë¡¢¸¡¾Ú¤Ç¤Ï¡¢¤Þ¤º¥Ø¥Ã¥À¡¼Æâ¤Î¥Ï¥Ã¥·¥å¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£°ìÃפ¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ï¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£°ìÃפ·¤Ê¤¤¾ì¹ç¡¢\fI\&.SF\fR¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤È¤¤¤¦¡¢¤¢¤Þ¤êºÇŬ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¸¡¾Ú¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-sectionsonly\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¼ç¤Ë¥Æ¥¹¥ÈÍѤ˻ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤ò»ÈÍѤ¹¤ë¤È¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬Â礭¤¯¤Ê¤ë¤¿¤á¡¢¥Æ¥¹¥ÈÍѰʳ°¤Ç¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-protected +.RS 4 +\fItrue\fR¤Þ¤¿¤Ï\fIfalse\fR¤Î¤¤¤º¤ì¤«¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ÀìÍÑPIN¥ê¡¼¥À¡¼¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤Ë¤è¤Ã¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢\fItrue\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-providerClass \fIprovider\-class\-name\fR +.RS 4 +°Å¹æ²½¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¤¬\fIjava\&.security\fR¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ï¡¢¤½¤Î¥Þ¥¹¥¿¡¼¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fI\-providerArg ConfigFilePath\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¡¢\fIkeytool\fR¤ª¤è¤Ó\fIjarsigner\fR¥Ä¡¼¥ë¤Ï¡¢¥×¥í¥Ð¥¤¥À¤òưŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¥È¡¼¥¯¥ó¹½À®¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ë\fIConfigFilePath\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤ÎÎã¤Ï¡¢Oracle PKCS #11¥×¥í¥Ð¥¤¥À¤¬¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ë¹½À®¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë\fIPKCS #11\fR¥­¡¼¥¹¥È¥¢¤ò°ìÍ÷ɽ¼¨¤¹¤ë¥³¥Þ¥ó¥É¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ -.fl - \-providerClass sun.security.pkcs11.SunPKCS11 \\ -.fl - \-providerArg /foo/bar/token.config \\ -.fl +jarsigner \-keystore NONE \-storetype PKCS11 \e + \-providerClass sun\&.security\&.pkcs11\&.SunPKCS11 \e + \-providerArg /mydir1/mydir2/token\&.config \e \-list -.fl -\fP .fi -.TP 3 -\-providerName providerName -\f2java.security\fP ¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ç 2 ¤Ä°Ê¾å¤Î¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-providerName\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÆÃÄê¤Î¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤òÁªÂò¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï¡¢¥×¥í¥Ð¥¤¥À¤Î̾Á°¤Ç¤¹¡£ -.LP -Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤Î¾ì¹ç¡¢\f2providerName\fP ¤Ï \f2SunPKCS11\-\fP\f2TokenName\fP ¤È¤¤¤¦·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤³¤Ç¡Ö\f2TokenName\fP¡×¤Ï¡¢¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤¬¹½À®¤µ¤ì¤¿Ì¾Á°¤ÎÀÜÈø¼­¤Ç¤¹¡£ ¾ÜºÙ¤Ï -.na -\f2¹½À®Â°À­¤Îɽ\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRS¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Ì¾Á°ÀÜÈø¼­ \f2SmartCard\fP ¤Î PKCS#11 ¥­¡¼¥¹¥È¥¢¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÆâÍÆ¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-providerName \fIproviderName\fR +.RS 4 +\fIjava\&.security\fR¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Ç2¤Ä°Ê¾å¤Î¥×¥í¥Ð¥¤¥À¤¬¹½À®¤µ¤ì¤¿¾ì¹ç¡¢\fI\-providerName\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢ÆÃÄê¤Î¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¹¥¿¥ó¥¹¤òÂоݤˤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï¡¢¥×¥í¥Ð¥¤¥À¤Î̾Á°¤Ç¤¹¡£ +.sp +Oracle PKCS #11¥×¥í¥Ð¥¤¥À¤Î¾ì¹ç¡¢\fIproviderName\fR¤Ï\fISunPKCS11\-\fR\fITokenName\fR¤È¤¤¤¦·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤³¤Ç¡¢¹½À®Â°À­¤Îɽ¤Ç¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢\fITokenName\fR¤Ï¡¢¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¹¥¿¥ó¥¹¤¬¹½À®¤µ¤ì¤¿Ì¾Á°¤ÎÀÜÈø¼­¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ì¾Á°ÀÜÈø¼­\fISmartCard\fR¤Î\fIPKCS #11\fR¥­¡¼¥¹¥È¥¢¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÆâÍÆ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ -.fl - \-providerName SunPKCS11\-SmartCard \\ -.fl +jarsigner \-keystore NONE \-storetype PKCS11 \e + \-providerName SunPKCS11\-SmartCard \e \-list -.fl -\fP .fi -.TP 3 -¤Ç¤­¤Þ¤¹javaoption -»ØÄꤵ¤ì¤¿ \f2javaoption\fP ʸ»úÎó¤ò Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤ·¤Þ¤¹¡£\f3jarsigner\fP ¤Ï¡¢¼ÂºÝ¤Ë¤Ï Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËÂФ¹¤ë¡Ö¥é¥Ã¥Ñ¡¼¡×¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ÈÍѲÄǽ¤Ê¥¤¥ó¥¿¥×¥ê¥¿¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢ \f2java \-h\fP ¤Þ¤¿¤Ï \f2java \-X\fP ¤È¥³¥Þ¥ó¥É¹Ô¤«¤éÆþÎϤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-tsa url -\f2¡Ö\-tsa http://example.tsa.url¡×\fP ¤¬ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤Ëɽ¼¨¤µ¤ì¤ë¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£URL \f2http://example.tsa.url\fP ¤Ï¡¢TSA (Time Stamping Authority) ¤Î¾ì½ê¤òÆÃÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢ \f2\-tsacert\fP ¥ª¥×¥·¥ç¥ó¤Ç¸¡½Ð¤µ¤ì¤¿ URL ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ \f2\-tsa\fP ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÇÛÃÖ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.LP -¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢ \f2jarsigner\fP ¤Ï¡¢ -.na -\f2RFC 3161\fP @ -.fi -http://www.ietf.org/rfc/rfc3161.txt ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë ¥¿¥¤¥à¥¹¥¿¥ó¥×¥×¥í¥È¥³¥ë (TSP) ¤ò»ÈÍѤ·¤Æ TSA ¤ÈÄÌ¿®¤·¤Þ¤¹¡£À®¸ù¤¹¤ë¤È¡¢TSA ¤«¤éÊÖ¤µ¤ì¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¥È¡¼¥¯¥ó¤Ï½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Î½ð̾¤È¤È¤â¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-tsacert alias -\f2¡Ö\-tsacert alias¡×\fP ¤¬ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤Ëɽ¼¨¤µ¤ì¤ë¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ \f2alias\fP ¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¸½ºßÍ­¸ú¤Ê TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤òÆÃÄꤷ¤Þ¤¹¡£¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñ¤Ç¡¢TSA ¤Î¾ì½ê¤òÆÃÄꤹ¤ë URL ¤ò´Þ¤à Subject Information Access ³ÈÄ¥µ¡Ç½¤¬³Îǧ¤µ¤ì¤Þ¤¹¡£ -.LP -TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤Ï¡¢ \f2\-tsacert ¤ò»È¤Ã¤¿¾ì¹ç¡¢¥­¡¼¥¹¥È¥¢¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fP. -.LP -.TP 3 -\-altsigner class -ÂåÂØ½ð̾µ¡¹½¤ò»ÈÍѤ¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤Ï¡¢com.sun.jarsigner.ContentSigner Ãê¾Ý¥¯¥é¥¹¤ò³ÈÄ¥¤¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò \f2ÆÃÄꤷ¤Þ¤¹¡£\fP. ¤³¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ï¡¢ \f2\-altsignerpath\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£ \f2\-altsigner\fP ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¤È¡¢ \f2jarsigner\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬Ä󶡤¹¤ë½ð̾µ¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢ \f2jarsigner\fP ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î½ð̾µ¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢ \f2com.sun.sun.jarsigner.AuthSigner\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤¬Ä󶡤¹¤ë½ð̾µ¡¹½¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢ \f2jarsigner\fP ¥ª¥×¥·¥ç¥ó \f2¡Ö\-altsigner com.sun.jarsigner.AuthSigner¡×¤ò»ÈÍѤ·¤Þ¤¹¡£\fP -.LP -.TP 3 -\-altsignerpath classpathlist -¥¯¥é¥¹¥Õ¥¡¥¤¥ë (¤½¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë̾¤ÏÁ°½Ò¤Î \f2\-altsigner\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤ë) ¤ª¤è¤Ó¤½¤Î¥¯¥é¥¹¤¬°Í¸¤¹¤ë¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢°Ê²¼¤ÎÎã¤Î¤è¤¦¤Ë JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤¬»ØÄꤵ¤ì¤Þ¤¹¡£ -.LP -ÀäÂХѥ¹¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ \f2classpathlist\fP ¤ËÊ£¿ô¤Î¥Ñ¥¹¤ä JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤é¤ò Solaris ¤Î¾ì¹ç¤Ï¥³¥í¥ó (\f2:\fP) ¤Ç¡¢Windows ¤Î¾ì¹ç¤Ï¥»¥ß¥³¥í¥ó (\f2;\fP) ¤Ç¤½¤ì¤¾¤ì¶èÀÚ¤ê¤Þ¤¹¡£ÌÜŪ¤Î¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£ -.LP -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à¡¢JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-J\fIjavaoption\fR +.RS 4 +»ØÄꤵ¤ì¤¿\fIjavaoption\fRʸ»úÎó¤òJava¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤ·¤Þ¤¹¡£\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¤¥ó¥¿¥×¥ê¥¿¤ËÂФ¹¤ë¥é¥Ã¥Ñ¡¼¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤­¤ë¥¤¥ó¥¿¥×¥ê¥¿¡¦¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjava \-h\fR¤Þ¤¿¤Ï\fIjava \-X\fR¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-tsa \fIurl\fR +.RS 4 +\fI\-tsa http://example\&.tsa\&.url\fR¤¬JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤¢¤ë¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£URL +\fIhttp://example\&.tsa\&.url\fR¤Ï¡¢Time Stamping Authority (TSA)¤Î¾ì½ê¤òÆÃÄꤷ¡¢\fI\-tsacert\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¸¡½Ð¤µ¤ì¤¿URL¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\fI\-tsa\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢TSA¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÇÛÃÖ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.sp +¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢\fIjarsigner\fR¤Ï¡¢RFC 3161¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¿¥¤¥à¥¹¥¿¥ó¥×¡¦¥×¥í¥È¥³¥ë(TSP)¤ò»ÈÍѤ·¤ÆTSA¤ÈÄÌ¿®¤·¤Þ¤¹¡£À®¸ù¤¹¤ë¤È¡¢TSA¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¡¦¥È¡¼¥¯¥ó¤Ï¡¢½ð̾¥Ö¥í¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤Î½ð̾¤È¤È¤â¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-tsacert \fIalias\fR +.RS 4 +\fI\-tsacert alias\fR¤¬JAR¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤¢¤ë¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ÊÌ̾¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÍ­¸ú¤ÊTSA¤Î¸ø³«¸°¾ÚÌÀ½ñ¤òÆÃÄꤷ¤Þ¤¹¡£¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñ¤Ç¡¢TSA¤Î¾ì½ê¤òÆÃÄꤹ¤ëURL¤ò´Þ¤àSubject Information Access³ÈÄ¥µ¡Ç½¤¬³Îǧ¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-tsacert\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢TSA¤Î¸ø³«¸°¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-tsapolicyid \fIpolicyid\fR +.RS 4 +TSA¥µ¡¼¥Ð¡¼¤ËÁ÷¿®¤¹¤ë¥Ý¥ê¥·¡¼ID¤ò¼±Ê̤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¼±ÊÌ»Ò(OID)¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ý¥ê¥·¡¼ID¤ÏÁ÷¿®¤µ¤ì¤º¡¢TSA¥µ¡¼¥Ð¡¼¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¥ê¥·¡¼ID¤òÁªÂò¤·¤Þ¤¹¡£ +.sp +¥ª¥Ö¥¸¥§¥¯¥È¼±Ê̻Ҥϡ¢ITU Telecommunication Standardization Sector (ITU\-T)ɸ½à¤Ç¤¢¤ëX\&.696¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¼±Ê̻Ҥϡ¢Ä̾\fI1\&.2\&.3\&.4\fR¤Ê¤É¤Î¡¢Éé¤Ç¤Ï¤Ê¤¤¿ô»ú¤Î¥Ô¥ê¥ª¥É¶èÀÚ¤ê¤Î¥»¥Ã¥È¤Ç¤¹¡£ +.RE +.PP +\-altsigner \fIclass\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ÂåÂØ½ð̾¥á¥«¥Ë¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤Ï¡¢\fIcom\&.sun\&.jarsigner\&.ContentSigner\fRÃê¾Ý¥¯¥é¥¹¤ò³ÈÄ¥¤¹¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¼±Ê̤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ï¡¢\fI\-altsignerpath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£\fI\-altsigner\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë½ð̾¥á¥«¥Ë¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤Î½ð̾¥á¥«¥Ë¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIcom\&.sun\&.sun\&.jarsigner\&.AuthSigner\fR¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤¬Ä󶡤¹¤ë½ð̾¥á¥«¥Ë¥º¥à¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢jarsigner¤Î¥ª¥×¥·¥ç¥ó\fI\-altsigner com\&.sun\&.jarsigner\&.AuthSigner\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-altsignerpath \fIclasspathlist\fR +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¤½¤ì¤¬°Í¸¤¹¤ëJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-altsigner\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬JAR¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¤½¤ÎJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +ÀäÂХѥ¹¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIclasspathlist\fR¤ËÊ£¿ô¤Î¥Ñ¥¹¤äJAR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢¤½¤ì¤é¤ò¡¢Oracle Solaris¤Î¾ì¹ç¤Ï¥³¥í¥ó(:)¤Ç¡¢Windows¤Î¾ì¹ç¤Ï¥»¥ß¥³¥í¥ó(;)¤Ç¡¢¤½¤ì¤¾¤ì¶èÀÚ¤ê¤Þ¤¹¡£ÌÜŪ¤Î¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤àJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\-altsignerpath /home/user/lib/authsigner.jar -.fl -\fP +\-altsignerpath /home/user/lib/authsigner\&.jar .fi -.LP -JAR ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤àJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£JAR¥Õ¥¡¥¤¥ë̾¤ò¾Êά¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl \-altsignerpath /home/user/classes/com/sun/tools/jarsigner/ -.fl -\fP .fi -.LP -JAR ¥Õ¥¡¥¤¥ë̾¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤Ëα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-strict -½ð̾¤Þ¤¿¤Ï¸¡¾Ú½èÍýÃæ¤Ë¡¢²¿¤é¤«¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¸«¤Ä¤«¤Ã¤¿·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬¥Ä¡¼¥ë¤Î½ªÎ»¥³¡¼¥É¤ËÈ¿±Ç¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡Ö·Ù¹ð¡×¤Î¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-verbose:sub\-options -¸¡¾Ú½èÍý¤Ç¡¢ \f2\-verbose\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢É½¼¨¤¹¤ë¾ðÊó¤ÎÎ̤ò·èÄꤹ¤ë¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò¼è¤ê¤Þ¤¹¡£ \f2\-certs\fP ¤â»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¥â¡¼¥É (¤Þ¤¿¤Ï¥µ¥Ö¥ª¥×¥·¥ç¥ó all) ¤Ç¤Ï¡¢¥¨¥ó¥È¥ê¤¬½èÍý¤µ¤ì¤ë¤¿¤Ó¤Ë¤½¤ì¤é¤Î³Æ¥¨¥ó¥È¥ê¤¬É½¼¨¤µ¤ì¡¢¤½¤Î¤¢¤È¤Ë JAR ¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£ \f2\-certs\fP ¤È \f2\-verbose:grouped\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸½ð̾¼Ô¾ðÊó¤ò»ý¤Ä¥¨¥ó¥È¥ê¤È¤½¤Î¾ÚÌÀ½ñ¾ðÊ󤬡¢¤¤¤Ã¤·¤ç¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ \f2\-certs\fP ¤È \f2\-verbose:summary\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸½ð̾¼Ô¾ðÊó¤ò»ý¤Ä¥¨¥ó¥È¥ê¤È¤½¤Î¾ÚÌÀ½ñ¾ðÊ󤬤¤¤Ã¤·¤ç¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢³Æ¥¨¥ó¥È¥ê¤Î¾ÜºÙ¤¬¡Ö1 ¤Ä¤Î¥¨¥ó¥È¥ê (¤ª¤è¤Ó¤½¤ì°Ê¾å)¡×¤È¤·¤ÆÍ×Ìó¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤ÏÎã¤Î¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-strict +.RS 4 +½ð̾¤Þ¤¿¤Ï¸¡¾Ú½èÍýÃæ¤Ë¡¢¥³¥Þ¥ó¥É¤Ë¤è¤ê·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬È¯¹Ô¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤Ë¤è¤ê¸¡½Ð¤µ¤ì¤¿½ÅÂç¤Ê·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬¥Ä¡¼¥ë¤Î½ªÎ»¥³¡¼¥É¤ËÈ¿±Ç¤µ¤ì¤Þ¤¹¡£¥¨¥é¡¼¤È·Ù¹ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verbose \fIsuboptions\fR +.RS 4 +¸¡¾Ú½èÍý¤Î¾ì¹ç¡¢\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢É½¼¨¤¹¤ë¾ðÊó¤ÎÎ̤ò·èÄꤹ¤ë¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-certs\fR¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥â¡¼¥É(¤Þ¤¿¤Ï¥µ¥Ö¥ª¥×¥·¥ç¥ó\fIall\fR)¤Ç¤Ï¡¢¥¨¥ó¥È¥ê¤¬½èÍý¤µ¤ì¤ë¤¿¤Ó¤Ë³Æ¥¨¥ó¥È¥ê¤¬É½¼¨¤µ¤ì¡¢¤½¤Î¸å¤ËJAR¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£\fI\-certs\fR¤ª¤è¤Ó\fI\-verbose:grouped\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸½ð̾¼Ô¾ðÊó¤ò»ý¤Ä¥¨¥ó¥È¥ê¤¬¡¢¤½¤Î¾ÚÌÀ½ñ¾ðÊó¤È¤È¤â¤Ë¡¢¥°¥ë¡¼¥×²½¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£\fI\-certs\fR¤ª¤è¤Ó\fI\-verbose:summary\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸½ð̾¼Ô¾ðÊó¤ò»ý¤Ä¥¨¥ó¥È¥ê¤¬¡¢¤½¤Î¾ÚÌÀ½ñ¾ðÊó¤È¤È¤â¤Ë¡¢¥°¥ë¡¼¥×²½¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£³Æ¥¨¥ó¥È¥ê¤Î¾ÜºÙ¤Ï¡¢\fI1¤Ä¤Î¥¨¥ó¥È¥ê(°Ê¾å)\fR¤Ë¤Þ¤È¤á¤é¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£Îã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥¨¥é¡¼¤È·Ù¹ð" +.PP +½ð̾¤Þ¤¿¤Ï¸¡¾Ú¥×¥í¥»¥¹Ãæ¤Ë¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ç¡¢ÍÍ¡¹¤Ê¥¨¥é¡¼¤Þ¤¿¤Ï·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¾ã³²¤¬¤¢¤ë¾ì¹ç¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¥³¡¼¥É1¤Ç½ªÎ»¤·¤Þ¤¹¡£¾ã³²¤Ï¤Ê¤¤¤¬¡¢1¤Ä°Ê¾å¤Î½ÅÂç¤Ê·Ù¹ð¤¬¤¢¤ë¾ì¹ç¡¢\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ\fB¤¤¤Ê¤¤\fR¾ì¹ç¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¥³¡¼¥É0¤Ç½ªÎ»¤·¡¢\fI\-strict\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï·Ù¹ð¥³¡¼¥É¤ÎORÃͤǽªÎ»¤·¤Þ¤¹¡£¾ðÊó·Ù¹ð¤Î¤ß¤¬¤¢¤ë¡¢¤Þ¤¿¤Ï·Ù¹ð¤¬¤Þ¤Ã¤¿¤¯¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¾ï¤Ë¥³¡¼¥É0¤Ç½ªÎ»¤·¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¥¨¥ó¥È¥ê¤Î½ð̾¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬´ü¸ÂÀÚ¤ì¤Ç¡¢¥Õ¥¡¥¤¥ë¤Î½ð̾¤òµö²Ä¤·¤Ê¤¤KeyUsage³ÈÄ¥µ¡Ç½¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ï¥³¡¼¥É12 (=4+8)¤Ç½ªÎ»¤·¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +UNIX¥Ù¡¼¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ç¤Ï0¤«¤é255¤Þ¤Ç¤ÎÃͤΤߤ¬Í­¸ú¤Î¤¿¤á¡¢½ªÎ»¥³¡¼¥É¤ÏºÆÍøÍѤµ¤ì¤Þ¤¹¡£ +.PP +¼¡¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Ë¤è¤êȯ¹Ô¤Ç¤­¤ë¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð¤Î̾Á°¡¢¥³¡¼¥É¡¢ÀâÌÀ¤òµ­½Ò¤·¤Þ¤¹¡£ +.SS "¾ã³²" +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó²òÀÏ¥¨¥é¡¼¡¢JAR¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¸°¥Ú¥¢¤ò¸¡º÷¤Ç¤­¤Ê¤¤¡¢¤Þ¤¿¤Ï½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¼ºÇԤʤÉ(¸ÂÄꤵ¤ì¤Þ¤»¤ó)¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤Î¼ºÇÔÍýͳ¡£ +.PP +failure +.RS 4 +¥³¡¼¥É1¡£½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤¬¼ºÇÔ¤·¤Þ¤¹¡£ +.RE +.SS "½ÅÂç¤Ê·Ù¹ð" +.PP +\fBÃí°Õ:\fR +\fI\-strict\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢½ÅÂç¤Ê·Ù¹ð¤Ï¥¨¥é¡¼¤È¤·¤ÆÊó¹ð¤µ¤ì¤Þ¤¹¡£ +.PP +JAR¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ë¾ÚÌÀ½ñ¤Ë¥¨¥é¡¼¤¬¤¢¤ë¡¢¤Þ¤¿¤Ï½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ë¾¤ÎÌäÂ꤬¤¢¤ë¤Ê¤É¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤¬½ÅÂç¤Ê·Ù¹ð¤òȯ¹Ô¤¹¤ëÍýͳ¡£ +.PP +hasExpiredCert +.RS 4 +¥³¡¼¥É4¡£¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤¬´ü¸ÂÀÚ¤ì¤Î¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +notYetValidCert +.RS 4 +¥³¡¼¥É4¡£¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤¬¤Þ¤ÀÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +chainNotValidated +.RS 4 +¥³¡¼¥É4¡£¤³¤Îjar¤Ë¤Ï¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬Àµ¤·¤¯¸¡¾Ú¤Ç¤­¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +badKeyUsage +.RS 4 +¥³¡¼¥É8¡£¤³¤ÎJAR¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤ÎKeyUsage³ÈÄ¥µ¡Ç½¤¬¥³¡¼¥É½ð̾¤òµö²Ä¤·¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +badExtendedKeyUsage +.RS 4 +¥³¡¼¥É8¡£¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤ÎExtendedKeyUsage³ÈÄ¥µ¡Ç½¤¬¥³¡¼¥É½ð̾¤òµö²Ä¤·¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +badNetscapeCertType +.RS 4 +¥³¡¼¥É8¡£¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤ÎNetscapeCertType³ÈÄ¥µ¡Ç½¤¬¥³¡¼¥É½ð̾¤òµö²Ä¤·¤Ê¤¤¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +hasUnsignedEntry +.RS 4 +¥³¡¼¥É16¡£¤³¤Îjar¤Ë¤Ï¡¢À°¹çÀ­¥Á¥§¥Ã¥¯¤ò¤·¤Æ¤¤¤Ê¤¤Ì¤½ð̾¤Î¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +notSignedByAlias +.RS 4 +¥³¡¼¥É32¡£¤³¤Îjar¤Ë¤Ï¡¢»ØÄꤵ¤ì¤¿ÊÌ̾¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤½ð̾ºÑ¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +aliasNotInStore +.RS 4 +¥³¡¼¥É32¡£¤³¤Îjar¤Ë¤Ï¡¢¤³¤Î¥­¡¼¥¹¥È¥¢Æâ¤ÎÊÌ̾¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤½ð̾ºÑ¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.RE +.SS "¾ðÊó·Ù¹ð" +.PP +¾ðÊó·Ù¹ð¤Ë¤Ï¡¢¥¨¥é¡¼¤Ç¤Ï¤Ê¤¤¤¬ÉÔŬÀڤȤߤʤµ¤ì¤ë¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥³¡¼¥É¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.PP +hasExpiringCert +.RS 4 +¤³¤Îjar¤Ë¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤¬6¤«·î°ÊÆâ¤Ë´ü¸ÂÀÚ¤ì¤È¤Ê¤ë¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +noTimestamp +.RS 4 +¤³¤Îjar¤Ë¤Ï¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤Þ¤Ê¤¤½ð̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ê¤·¤Ç¤Ï¡¢½ð̾¼Ô¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü¸Â(\fIYYYY\-MM\-DD\fR)¸å¤Þ¤¿¤Ï¾­Íè¤Î¼è¾ÃÆü¸å¡¢¥æ¡¼¥¶¡¼¤Ï¤³¤ÎJAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤Ç¤­¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP .SH "Îã" -.LP -.SS -JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾ -.LP -.LP -bundle.jar ¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¡¢¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤¬ jane ¤Ç¤¢¤ë¥æ¡¼¥¶¡¼¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢½ð̾¤òÉÕ¤±¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Æ sbundle.jar ¤È¤¤¤¦½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP +.SS "JAR¥Õ¥¡¥¤¥ë¤Î½ð̾" +.PP +¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥­¡¼¥¹¥È¥¢ÊÌ̾¤¬\fIworking\fR¥Ç¥£¥ì¥¯¥È¥ê¤Î\fImystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤Ë¤¢¤ë\fIjane\fR¤Ç¤¢¤ë¥æ¡¼¥¶¡¼¤ÎÈëÌ©¸°¤Çbundle\&.jar¤Ë½ð̾¤·¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ë\fIsbundle\&.jar\fR¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-storepass \fP\f4<¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl - \-keypass \fP\f4<Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-signedjar sbundle.jar bundle.jar jane -.fl -\fP +jarsigner \-keystore /working/mystore + \-storepass <keystore password> + \-keypass <private key password> + \-signedjar sbundle\&.jar bundle\&.jar jane .fi - -.LP -.LP -¾å¤Î¥³¥Þ¥ó¥É¤Ç¤Ï \f2\-sigfile\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ÊÌ̾¤«¤é¥Ç¥Õ¥©¥ë¥È̾¤¬¤Ä¤±¤é¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤½¤ì¤é¤Î̾Á°¤Ï \f2JANE.SF\fP ¤ª¤è¤Ó \f2JANE.DSA\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤ÇÆþÎϤ¹¤ë¾ì¹ç¤Ï¡¢¾å¤Î¥³¥Þ¥ó¥É¤òû½Ì¤·¤Æ¼¡¤Î¤è¤¦¤ËÆþÎϤǤ­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore -.fl - \-signedjar sbundle.jar bundle.jar jane -.fl -\fP -.fi - -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢ (¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢) ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥­¡¼¥¹¥È¥¢¤Î»ØÄê¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-signedjar sbundle.jar bundle.jar jane -.fl -\fP -.fi - -.LP -.LP -ºÇ¸å¤Ë¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (\f2bundle.jar\fP) ¤ò½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Çñ½ã¤Ë¾å½ñ¤­¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f2\-signedjar\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.LP -.nf -\f3 -.fl - jarsigner bundle.jar jane -.fl -\fP -.fi - -.LP -.SS -½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú -.LP -.LP -¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¡¢½ð̾¤¬Í­¸ú¤Ç JAR ¥Õ¥¡¥¤¥ë¤¬²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥ÉÎã¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-verify sbundle.jar -.fl -\fP -.fi - -.LP -.LP -¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jar verified. -.fl -\fP -.fi - -.LP -.LP -¤È¤¤¤¦¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¸¡¾Ú¤¬À®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\-verbose ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢ \f2¤è¤ê¿¤¯¤Î¾ðÊó¤¬\fP ɽ¼¨¤µ¤ì¤Þ¤¹¡£\-verbose ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç \f3jarsigner\fP \f2¤ò»ÈÍѤ¹¤ëÎã¤È¤½¤Î½ÐÎÏÎã¤ò¡¢\fP ¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-verify \-verbose sbundle.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class -.fl - smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class -.fl - -.fl - s = ½ð̾¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿ -.fl - m = ¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¥¨¥ó¥È¥ê¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹ -.fl - k = ¥­¡¼¥¹¥È¥¢¤Ç 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ -.fl - -.fl - JAR ¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿¡£ -.fl -\fP -.fi - -.LP -.SS -¾ÚÌÀ½ñ¾ðÊó¤ò»È¤Ã¤¿¸¡¾Ú -.LP -.LP -¸¡¾Ú»þ¤Ë \-verify ¤È \-verbose ¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤Æ \f2\-certs\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢ ¤ª¤è¤Ó JAR ¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤â½ÐÎϤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¾ÚÌÀ½ñ¥¿¥¤¥×¡¢½ð̾¼Ô¼±ÊÌ̾¾ðÊó (X.509 ¾ÚÌÀ½ñ¤Î¾ì¹ç¤Î¤ß)¡¢¤ª¤è¤Ó JAR ¥Õ¥¡¥¤¥ë¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñ¤Ë°ìÃפ·¤¿¾ì¹ç¤Ë¤Ï¡¢³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿½ð̾¼Ô¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF -.fl - 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class -.fl - -.fl - X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - -.fl - s = ½ð̾¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿ -.fl - m = ¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¥¨¥ó¥È¥ê¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹ -.fl - k = ¥­¡¼¥¹¥È¥¢¤Ç 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ -.fl - -.fl - JAR ¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿¡£ -.fl -\fP -.fi - -.LP -.LP -½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬ X.509 ¾ÚÌÀ½ñ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¼±ÊÌ̾¾ðÊó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¿¥¤¥×¤ÈÊÌ̾¤À¤±¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬ PGP ¾ÚÌÀ½ñ¤Ç¡¢ÊÌ̾¤¬ bob ¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - PGP, (bob) -.fl -\fP -.fi - -.LP -.SS -¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î½ð̾¼Ô¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú -.LP -.LP -JAR ¥Õ¥¡¥¤¥ë¤¬¡¢JDK 1.1 ¤Î \f3javakey\fP ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢½ð̾¼Ô¤Ï¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¸¡¾Ú¤Î½ÐÎÏ¤Ë¤Ï i ¤È¤¤¤¦µ­¹æ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤¬¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤È¥­¡¼¥¹¥È¥¢Æâ¤ÎÊÌ̾¤ÎξÊý¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢k ¤È i ¤ÎξÊý¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2\-certs\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤ë¤Î¤ËÂФ·¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF -.fl - 1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA -.fl - smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html -.fl - -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] -.fl - -.fl - s = ½ð̾¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿ -.fl - m = ¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¥¨¥ó¥È¥ê¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹ -.fl - k = ¥­¡¼¥¹¥È¥¢¤Ç 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ -.fl - i = ¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥¹¥³¡¼¥×¤Ç 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ -.fl - -.fl - JAR ¤¬¸¡¾Ú¤µ¤ì¤Þ¤·¤¿¡£ -.fl -\fP -.fi - -.LP -.LP -ÊÌ̾ duke ¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÊÌ̾¤Ï¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ç¤Ï¤Ê¤¯¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊÌ̾¤Ç¤¹¡£ -.LP -.SH "·Ù¹ð" -.LP -½ð̾/¸¡¾Ú½èÍýÃæ¤Ë¤Ï¡¢jarsigner ¤«¤é¤µ¤Þ¤¶¤Þ¤Ê·Ù¹ð¤¬É½¼¨¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î·Ù¹ð¥³¡¼¥É¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - hasExpiringCert 2 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬ 6 ¤«·î°ÊÆâ¤Ë´ü¸ÂÀÚ¤ì¤Ë¤Ê¤ê¤Þ¤¹ -.fl - -.fl - hasExpiredCert 4 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬´ü¸ÂÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.fl - -.fl - notYetValidCert 4 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬¤Þ¤ÀÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ -.fl - -.fl - chainNotValidated 4 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¸¡¾Ú¤òÀµ¤·¤¯¹Ô¤¨¤Þ¤»¤ó¡£ -.fl - -.fl - badKeyUsa ge 8 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤Î KeyUsage ³ÈÄ¥¤¬¥³¡¼¥É¤Î½ð̾¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.fl - -.fl - badExtendedKeyUsage 8 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤Î ExtendedKeyUsage ³ÈÄ¥¤¬ -.fl - ¥³¡¼¥É¤Î½ð̾¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.fl - -.fl - badNetscapeCertType 8 -.fl - ¤³¤Î JAR ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤Î NetscapeCertType ³ÈÄ¥¤¬ -.fl - ¥³¡¼¥É¤Î½ð̾¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.fl - -.fl - hasUnsignedEntry 16 -.fl - ¤³¤Î JAR ¤Ë¤Ï¡¢´°Á´À­¥Á¥§¥Ã¥¯¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤½ð̾¤Ê¤·¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.fl - -.fl - notSignedByAlias 32 -.fl - ¤³¤Î JAR ¤Ë¤Ï¡¢»ØÄꤵ¤ì¤¿ÊÌ̾¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤½ð̾ÉÕ¤­¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹ -.fl - -.fl - aliasNotInStore 32 -.fl - ¤³¤Î JAR ¤Ë¤Ï¡¢¤³¤Î¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤½ð̾ÉÕ¤­¥¨¥ó¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹ -.fl - -.fl -\fP -.fi - -.LP -.LP -\f2\-strict\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¸¡½Ð¤µ¤ì¤¿·Ù¹ð¤Î OR ¤ò¼è¤Ã¤¿Ãͤ¬¥Ä¡¼¥ë¤Î½ªÎ»¥³¡¼¥É¤È¤·¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¨¥ó¥È¥ê¤Î½ð̾¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤¬´ü¸ÂÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢¤«¤Ä¤½¤Î¾ÚÌÀ½ñ¤Î keyUsage ³ÈÄ¥¤Ç¥Õ¥¡¥¤¥ë¤Î½ð̾¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢½ªÎ»¥³¡¼¥É 12 (=4+8) ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3Ãí\fP: UNIX ¤Ç»ÈÍѲÄǽ¤ÊÃÍ¤Ï 0 ¤«¤é 255 ¤À¤±¤Ç¤¢¤ë¤¿¤á¡¢½ªÎ»¥³¡¼¥É¤ÏºÆÍøÍѤµ¤ì¤Þ¤¹¡£¤¤¤º¤ì¤Ë¤·¤Æ¤â¡¢½ð̾/¸¡¾Ú½èÍý¤¬¼ºÇÔ¤¹¤ë¤È¡¢¼¡¤Î½ªÎ»¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -failure 1 -.fl -\fP -.fi - -.LP -.SS -JDK 1.1 ¤È¤Î¸ß´¹À­ -.LP -.LP -\f3keytool\fP ¥Ä¡¼¥ë¤È \f3jarsigner\fP ¥Ä¡¼¥ë¤Ï¡¢JDK 1.1 ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤¿ \f3javakey\fP ¥Ä¡¼¥ë¤ò´°Á´¤ËÃÖ¤­´¹¤¨¤ë¤â¤Î¤Ç¤¹¡£¤³¤ì¤é¤Î¿·¤·¤¤¥Ä¡¼¥ë¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ÈÈó¸ø³«¸°¤ò¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ëµ¡Ç½¤ä¡¢½ð̾¤ÎÀ¸À®¤Ë²Ã¤¨¤Æ½ð̾¤ò¸¡¾Ú¤¹¤ëµ¡Ç½¤Ê¤É¡¢\f3javakey\fP ¤è¤ê¿¤¯¤Î¤òµ¡Ç½¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¿·¤·¤¤¥­¡¼¥¹¥È¥¢¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼¤Ï¡¢\f3javakey\fP ¤¬ºîÀ®¤·¤Æ´ÉÍý¤·¤Æ¤¤¤¿¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂå¤ï¤ë¤â¤Î¤Ç¤¹¡£¥­¡¼¥¹¥È¥¢·Á¼°¤È¡¢JDK 1.1 ¤Î \f3javakey\fP ¤¬»È¤Ã¤Æ¤¤¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹·Á¼°¤È¤Î´Ö¤Ë¤Ï²¼°Ì¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¼¡¤Î¤³¤È¤Ï²Äǽ¤Ç¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f3keytool\fP ¤Î \f2\-identitydb\fP ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¾ðÊó¤ò¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3jarsigner\fP ¤Ï¡¢°ÊÁ°¤Ë \f3javakey\fP ¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3jarsigner\fP ¤Ï¡¢\f3javakey\fP¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢jarsigner ¤Ï¡¢Java 2 SDK ¤Î¥­¡¼¥¹¥È¥¢¤Ç¤Ï¤Ê¤¯ JDK 1.1 ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î½ð̾¼ÔÊÌ̾¤òǧ¼±¤·¡¢¤³¤ì¤é¤òÂоݤ˽èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.LP -¼¡¤Îɽ¤Ï¡¢JDK 1.1.x ¤Ç½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¡¢Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤É¤Î¤è¤¦¤Ë°·¤ï¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.\} +.PP +Á°½Ò¤Î¥³¥Þ¥ó¥É¤Ç¤Ï\fI\-sigfile\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤ëÀ¸À®¤µ¤ì¤¿\fI\&.SF\fR¥Õ¥¡¥¤¥ë¤ª¤è¤Ó\fI\&.DSA\fR¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ÊÌ̾¤Ë´ð¤Å¤¤¤¿¥Ç¥Õ¥©¥ë¥È¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢Ì¾Á°ÉÕ¤­¤Î\fIJANE\&.SF\fR¤ª¤è¤Ó\fIJANE\&.DSA\fR¤Ç¤¹¡£ +.PP +¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ª¤è¤ÓÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤òµá¤á¤é¤ì¤ë¾ì¹ç¡¢Á°½Ò¤Î¥³¥Þ¥ó¥É¤òû½Ì¤·¤Æ¡¢¼¡¤Î¤³¤È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 83 84 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3JAR ¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥×\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f31.1 ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼\fP -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f31.1 ¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é Java 2 Platform ¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¿®Íê¤Ç¤­¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼ (4)\fP -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 83 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(83 .ll \n(83u -.in 0 -\f3¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤¬¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼/ÊÌ̾¤ËÆÃ¸¢¤òÍ¿¤¨¤ë\fP -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢ -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢ -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¤¢¤ê/¿®Íê¤Ç¤­¤Ê¤¤ -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢(3) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¤¢¤ê/¿®Íê¤Ç¤­¤Ê¤¤ -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢(1,3) -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢¤È¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤ÇÍ¿¤¨¤é¤ì¤ëÆÃ¸¢ -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤ËÍ¿¤¨¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÆÃ¸¢¤È¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤ÇÍ¿¤¨¤é¤ì¤ëÆÃ¸¢(2) -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾¤Î¤Ê¤¤ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w½ð̾ÉÕ¤­ JAR -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(a- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w¤Ê¤· -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤Ê¤· -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤Ê¤· -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤Ê¤· -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤¢¤ê/¿®Íê¤Ç¤­¤ë -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤¢¤ê/¿®Íê¤Ç¤­¤ë -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤¢¤ê/¿®Íê¤Ç¤­¤ë -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¤¢¤ê/¿®Íê¤Ç¤­¤ë -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤¢¤ê -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤¢¤ê -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤¢¤ê -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤¢¤ê -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w¤Ê¤· -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(c- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 83 0 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤¢¤ê -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤¢¤ê -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤¢¤ê -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤Ê¤· -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w¤¢¤ê -.if \n(83<\n(38 .nr 83 \n(38 -.83 -.rm 83 -.nr 38 \n(d- -.if \n(83<\n(38 .nr 83 \n(38 -.nr 84 0 -.nr 38 \w\f3Í¿¤¨¤é¤ì¤ëÆÃ¸¢\fP -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w¤¹¤Ù¤Æ¤ÎÆÃ¸¢ -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w¤¹¤Ù¤Æ¤ÎÆÃ¸¢ (1) -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w¤¹¤Ù¤Æ¤ÎÆÃ¸¢ (1) -.if \n(84<\n(38 .nr 84 \n(38 -.84 -.rm 84 -.nr 38 \n(e- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(f- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(g- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(i- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(k- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(l- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(m- -.if \n(84<\n(38 .nr 84 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr 43 \n(82+(3*\n(38) -.nr 83 +\n(43 -.nr 44 \n(83+(3*\n(38) -.nr 84 +\n(44 -.nr TW \n(84 -.if t .if \n(TW>\n(.li .tm Table at line 1078 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.ne \n(b|u+\n(.Vu -.ne \n(c|u+\n(.Vu -.ne \n(d|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'\f3Í¿¤¨¤é¤ì¤ëÆÃ¸¢\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(43u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤Ê¤·\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤Ê¤·\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾¤Î¤Ê¤¤ JAR\h'|\n(41u'¤Ê¤·\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤Ê¤·\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤Ê¤·\h'|\n(42u'¤¢¤ê\h'|\n(43u'¤Ê¤·\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤Ê¤·\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.ne \n(k|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤¢¤ê\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤Ê¤·\h'|\n(42u'¤¢¤ê\h'|\n(43u'¤¢¤ê\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤¢¤ê/¿®Íê¤Ç¤­¤ë\h'|\n(42u'¤¢¤ê\h'|\n(43u'¤¢¤ê\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤¢¤ê/¿®Íê¤Ç¤­¤ë\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤Ê¤·\h'|\n(44u'¤¹¤Ù¤Æ¤ÎÆÃ¸¢ -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤¢¤ê/¿®Íê¤Ç¤­¤ë\h'|\n(42u'¤¢¤ê\h'|\n(43u'¤Ê¤·\h'|\n(44u'¤¹¤Ù¤Æ¤ÎÆÃ¸¢ (1) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'½ð̾ÉÕ¤­ JAR\h'|\n(41u'¤¢¤ê/¿®Íê¤Ç¤­¤ë\h'|\n(42u'¤Ê¤·\h'|\n(43u'¤¢¤ê\h'|\n(44u'¤¹¤Ù¤Æ¤ÎÆÃ¸¢ (1) -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-50 - -.LP -.LP -Ãí \- -.LP -.RS 3 -.TP 3 -1. -¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤Ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼/ÊÌ̾¤Ë¤Ä¤¤¤Æ¤Î¸ÀµÚ¤¬¤¢¤ë¾ì¹ç¡¢¤½¤ì¤ò¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Æ¡¢¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÀßÄ꤬Ϳ¤¨¤é¤ì¤¿ÆÃ¸¢¤ËÈ¿±Ç¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -2. -¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë/¥­¡¼¥¹¥È¥¢¤ÎÁȤ߹ç¤ï¤»¤Ï¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¿®Íê¤Ç¤­¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£ -.TP 3 -3. -Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢¿®Íê¤Ç¤­¤Ê¤¤¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ -.TP 3 -4. -Java 2 SDK ¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤ë¤Î¤Ï¡¢¿®Íê¤Ç¤­¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤À¤±¤Ç¤¹¡£ -.RE - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jar(1) ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È -.TP 2 -o -keytool(1) ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È -.TP 2 -o -.na -\f4jarsigner\fP\f2 ¥Ä¡¼¥ë¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢\fP @ +jarsigner \-keystore /working/mystore + \-signedjar sbundle\&.jar bundle\&.jar jane .fi -http://download.oracle.com/javase/tutorial/security/index.html -.na -\f2¡ÖJava ¥Á¥å¡¼¥È¥ê¥¢¥ë¡×\fP\f4¤Î\fP @ -.fi -http://download.oracle.com/javase/tutorial/index.html¡ÖSecurity¡×\f3¤ò»²¾È\fP +.if n \{\ .RE - -.LP +.\} +.PP +¥­¡¼¥¹¥È¥¢¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢(¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î\&.keystore)¤Ç¤¢¤ë¾ì¹ç¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥­¡¼¥¹¥È¥¢¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner \-signedjar sbundle\&.jar bundle\&.jar jane +.fi +.if n \{\ +.RE +.\} +.PP +ÆþÎÏJAR¥Õ¥¡¥¤¥ë(bundle\&.jar)¤ò½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Ç¾å½ñ¤­¤¹¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë\fI\-signedjar\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner bundle\&.jar jane +.fi +.if n \{\ +.RE +.\} +.SS "½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú" +.PP +½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¤Æ¡¢½ð̾¤¬Í­¸ú¤ÇJAR¥Õ¥¡¥¤¥ë¤¬²þ¤¶¤ó¤µ¤ì¤Ê¤«¤Ã¤¿¤³¤È¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner \-verify sbundle\&.jar +.fi +.if n \{\ +.RE +.\} +.PP +¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢\fIjar verified\fR¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¾ÜºÙ¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£\fIjarsigner\fR¤ò\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¥µ¥ó¥×¥ë¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner \-verify \-verbose sbundle\&.jar + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST\&.MF + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.SF + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.DSA + smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx\&.class + smk 849 Fri Sep 26 16:12:46 PDT 1997 test\&.class + + s = signature was verified + m = entry is listed in manifest + k = at least one certificate was found in keystore + + jar verified\&. +.fi +.if n \{\ +.RE +.\} +.SS "¾ÚÌÀ½ñ¾ðÊó¤ò»ÈÍѤ·¤¿¸¡¾Ú" +.PP +\fI\-certs\fR¥ª¥×¥·¥ç¥ó¤ò\fI\-verify\fR¤ª¤è¤Ó\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢JAR¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊ󤬽ÐÎϤ˴ޤޤì¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ë¤Ï¡¢¾ÚÌÀ½ñ¥¿¥¤¥×¡¢½ð̾¼Ô¤Î¼±ÊÌ̾¾ðÊó(X\&.509¾ÚÌÀ½ñ¤Î¾ì¹ç)¤¬´Þ¤Þ¤ì¡¢´Ý¥«¥Ã¥³Æâ¤Ë¤Ï¡¢JAR¥Õ¥¡¥¤¥ë¤Î¸ø³«¸°¾ÚÌÀ½ñ¤¬¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤Î¸ø³«¸°¾ÚÌÀ½ñ¤Ë°ìÃפ¹¤ë¾ì¹ç¤Î½ð̾¼Ô¤Î¥­¡¼¥¹¥È¥¢ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest\&.jar + + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST\&.MF + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.SF + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.DSA + 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST\&.SF + 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST\&.DSA + smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst\&.class + + X\&.509, CN=Test Group, OU=Java Software, O=Oracle, L=CUP, S=CA, C=US (javatest) + X\&.509, CN=Jane Smith, OU=Java Software, O=Oracle, L=cup, S=ca, C=us (jane) + + s = signature was verified + m = entry is listed in manifest + k = at least one certificate was found in keystore + + jar verified\&. +.fi +.if n \{\ +.RE +.\} +.PP +½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬X\&.509¾ÚÌÀ½ñ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¼±ÊÌ̾¾ðÊó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¿¥¤¥×¤ÈÊÌ̾¤Î¤ß¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬PGP¾ÚÌÀ½ñ¤Ç¡¢ÊÌ̾¤¬\fIbob\fR¤Ç¤¢¤ë¾ì¹ç¡¢\fIPGP, (bob)\fR¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +keytool(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/tutorial/security/index\&.html¤Ë¤¢¤ë +¡Ö¥³¡¼¥¹: Java SE¤Î¥»¥­¥å¥ê¥Æ¥£µ¡Ç½¡× +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/java.1 b/jdk/src/solaris/doc/sun/man/man1/ja/java.1 index 062d3209af8..f134a028e6c 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/java.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/java.1 @@ -1,509 +1,2553 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH java 1 "07 May 2011" - -.LP -.SH "̾Á°" -java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: java +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "java" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +java \- Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \fP\f3java\fP [ options ] class [ argument ... ] -.fl - \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ] -.fl +\fIjava\fR [\fIoptions\fR] \fIclassname\fR [\fIargs\fR] .fi - -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -class -¸Æ¤Ó½Ð¤µ¤ì¤ë¥¯¥é¥¹¤Î̾Á° -.TP 3 -file.jar -¸Æ¤Ó½Ð¤µ¤ì¤ë JAR ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£É¬¤º \f2\-jar\fP ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë -.TP 3 -argument -\f3main\fP ´Ø¿ô¤ËÅϤµ¤ì¤ë°ú¿ô +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjava\fR [\fIoptions\fR] \fI\-jar\fR \fIfilename\fR [\fIargs\fR] +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclassname\fR +.RS 4 +µ¯Æ°¤¹¤ë¥¯¥é¥¹¤Î̾Á°¡£ +.RE +.PP +\fIfilename\fR +.RS 4 +¸Æ¤Ó½Ð¤µ¤ì¤ëJava¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤Î̾Á°¡£\fI\-jar\fR¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë¤Î¤ß»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\fIargs\fR +.RS 4 +¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿\fImain()\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3java\fP ¥Ä¡¼¥ë¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£java ¥Ä¡¼¥ë¤Ï¡¢Java Runtime Environment ¤òµ¯Æ°¤·¤¿¤¢¤È¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¡¢¤½¤Î¥¯¥é¥¹¤Î \f3main\fP ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢public ¤ª¤è¤Ó static ¤È¤·¤ÆÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢ÃͤòÊÖ¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤µ¤é¤Ë¡¢ \f2String\fP ÇÛÎó¤ò¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄê¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥á¥½¥Ã¥É¤ÎÀë¸À¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP +.PP +\fIjava\fR¥³¥Þ¥ó¥É¤ÏJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò³«»Ï¤·¤Þ¤¹¡£Java Runtime Environment (JRE)¤òµ¯Æ°¤·¤¿¸å¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¡¢¤½¤Î¥¯¥é¥¹¤Î\fImain()\fR¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¡¢¤³¤ì¤ò¹Ô¤¤¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢\fIpublic\fR¤ª¤è¤Ó\fIstatic\fR¤È¤·¤ÆÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢ÃͤÏÊÖ¤»¤Þ¤»¤ó¡£¤µ¤é¤Ë¡¢\fIString\fRÇÛÎó¤ò¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄê¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥ÉÀë¸À¤Ï¼¡¤Î·Á¼°¤ò´Þ¤ß¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -public static void main(String args[]) -.fl -\fP +public static void main(String[] args) .fi - -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó°Ê³°¤ÎºÇ½é¤Î°ú¿ô¤¬¡¢¸Æ¤Ó½Ð¤µ¤ì¤ë¥¯¥é¥¹¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î̾Á°¤Ë¤Ï¡¢´°Á´»ØÄê¤Î¥¯¥é¥¹Ì¾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3\-jar\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó°Ê³°¤ÎºÇ½é¤Î°ú¿ô¤¬¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤È¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à \f3JAR\fP ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¤Î \f3Main\-Class\fP ¥Ø¥Ã¥À¡¼¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬µ¯Æ°¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -Java Runtime ¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¡¢¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¡¢¤ª¤è¤Ó¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Î 3 ²Õ½ê¤«¤éµ¯Æ°¥¯¥é¥¹¤È¾¤Î»ÈÍѤµ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -.LP -¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤Î¤¢¤È¤Ë¤¢¤ë¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó°Ê³°¤Î°ú¿ô¤Ï¡¢\f3main\fP ´Ø¿ô¤ËÅϤµ¤ì¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +\fIjava\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\fImain()\fR¥á¥½¥Ã¥É¤¬¤¢¤ë¤«\fIjavafx\&.application\&.Application\fR¤ò³ÈÄ¥¤¹¤ë¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¤³¤È¤Ç¡¢JavaFX¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¡¢µ¯Æ°¥Ä¡¼¥ë¤Ï\fIApplication\fR¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¹½À®¤·¡¢¤½¤Î\fIinit()\fR¥á¥½¥Ã¥É¤ò¥³¡¼¥ë¤·¡¢\fIstart(javafx\&.stage\&.Stage)\fR¥á¥½¥Ã¥É¤ò¥³¡¼¥ë¤·¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjava\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤ºÇ½é¤Î°ú¿ô¤Ï¡¢¸Æ¤Ó½Ð¤µ¤ì¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤Ç¤¹¡£\fI\-jar\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î°ú¿ô¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤àJAR¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£µ¯Æ°¥¯¥é¥¹¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Î\fIMain\-Class\fR¥Þ¥Ë¥Õ¥§¥¹¥È¡¦¥Ø¥Ã¥À¡¼¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +JRE¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¡¢¥¤¥ó¥¹¥È¡¼¥ëºÑ³ÈÄ¥µ¡Ç½¤ª¤è¤Ó¥æ¡¼¥¶¡¼¤Î¥¯¥é¥¹¡¦¥Ñ¥¹¤Î3²Õ½ê¤«¤é¡¢µ¯Æ°¥¯¥é¥¹(¤ª¤è¤Ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾¤Î¥¯¥é¥¹)¤ò¸¡º÷¤·¤Þ¤¹¡£ +.PP +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤Î¸å¤Î°ú¿ô¤Ï¡¢\fImain()\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -µ¯Æ°¥Ä¡¼¥ë¤Ë¤Ï¡¢¸½ºß¤Î¼Â¹Ô´Ä¶­¤ª¤è¤Ó¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëɸ½à¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢²¾ÁÛ¥Þ¥·¥ó¤Î¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¡¢Èóɸ½à¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SH "ɸ½à¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-client -.LP -Java HotSpot Client VM ¤òÁªÂò¤·¤Þ¤¹¡£64 ¥Ó¥Ã¥ÈÂбþ JDK ¤Ï¸½»þÅÀ¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò̵»ë¤·¡¢Âå¤ï¤ê¤Ë Java Hotspot Server VM ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¥Ç¥Õ¥©¥ë¥È¤Î VM ¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥µ¡¼¥Ð¡¼ \- ¥¯¥é¥¹¥Þ¥·¥ó¤Î¸¡½Ð¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-server -.LP -Java HotSpot Server VM ¤òÁªÂò¤·¤Þ¤¹¡£64 ¥Ó¥Ã¥ÈÂбþ JDK ¾å¤Ç¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï Java Hotspot Server VM ¤À¤±¤Ç¤¢¤ë¤¿¤á¡¢\-server ¥ª¥×¥·¥ç¥ó¤¬°ÅÌÛŪ¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£ -.LP -¥Ç¥Õ¥©¥ë¥È¤Î VM ¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥µ¡¼¥Ð¡¼ \- ¥¯¥é¥¹¥Þ¥·¥ó¤Î¸¡½Ð¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-agentlib:libname[=options] -¥Í¥¤¥Æ¥£¥Ö¥¨¡¼¥¸¥§¥ó¥È¥é¥¤¥Ö¥é¥ê \f2libname\fP ¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.LP -\-agentlib:hprof -.LP -\-agentlib:jdwp=help -.LP -\-agentlib:hprof=help -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJVMTI ¥¨¡¼¥¸¥§¥ó¥È¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-agentpath:pathname[=options] -¥Õ¥ë¥Ñ¥¹Ì¾¤ò»ÈÍѤ·¤Æ¡¢¥Í¡¼¥Æ¥£¥Ö¥¨¡¼¥¸¥§¥ó¥È¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJVMTI ¥¨¡¼¥¸¥§¥ó¥È¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-classpath classpath -.TP 3 -\-cp classpath -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î³Æ¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\f3\-classpath\fP ¤Þ¤¿¤Ï \f3\-cp\fP ¤ò»ØÄꤹ¤ë¤È¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ \f3CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤ÎÀßÄ꤬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£ -.LP -\f3\-classpath\fP ¤â \f3\-cp\fP ¤â»ÈÍѤµ¤ì¤º¡¢\f3CLASSPATH\fP ¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê (\f4.\fP) ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -ÊØµ¹¾å¡¢ \f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢ \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ­¤Ê¤¤)¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2foo\fP ¤Ë \f2a.jar\fP ¤È \f2b.JAR\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ \f2foo/*\fP ¤Ï \f2A.jar:b.JAR\fP ¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤»ØÄê¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£* ¤À¤±¤«¤éÀ®¤ë \f2¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢\fP ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£ \f2CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥ÉŸ³«¤Ïɬ¤º¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Îµ¯Æ°Á°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2System.getenv("CLASSPATH")\fP ¸Æ¤Ó½Ð¤·¤Î¤è¤¦¤Ë´Ä¶­¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤ï¤Ê¤¤¸Â¤ê¡¢Java ¥×¥í¥°¥é¥à¤¬Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -¥¯¥é¥¹¥Ñ¥¹¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2¡Ö¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-Dproperty=value -¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤòÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-d32 -.TP 3 -\-d64 -¤½¤ì¤¾¤ì 32 ¥Ó¥Ã¥È´Ä¶­¡¢64 ¥Ó¥Ã¥È´Ä¶­¤Ç¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£Í׵ᤵ¤ì¤¿´Ä¶­¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£ -.LP -¸½ºß¤Î¤È¤³¤í¡¢Java HotSpot Server VM ¤À¤±¤¬ 64 ¥Ó¥Ã¥È¤ÎÁàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤ê¡¢\-server ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢\-d64 ¤â°ì½ï¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\-d64 »ÈÍÑ»þ¤Ë¤Ï¡Ö\-client¡×¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤³¤Î»ÅÍͤϡ¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÊѹ¹¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f3\-d32\fP ¤È \f3\-d64\fP ¤¬¤É¤Á¤é¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ¡¢32 ¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î»ÅÍͤϡ¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÊѹ¹¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-enableassertions[:<package name>"..." | :<class name> ] -.TP 3 -\-ea[:<package name>"..." | :<class name> ] -¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥¢¥µ¡¼¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.LP -°ú¿ô¤Ê¤·¤Î \f3enableassertions\fP ¤Þ¤¿¤Ï \f3\-ea\fP ¤ò»ØÄꤹ¤ë¤È¡¢¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö\f2...\fP¡×¤Ç½ª¤ï¤ë°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¤È¤·¤Æ¡Ö\f2...\fP¡×¤À¤±¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö\f2...\fP¡×¤Ç½ª¤ï¤é¤Ê¤¤°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -ñ°ì¥³¥Þ¥ó¥É¹Ô¤Ë¤³¤ì¤é¤Î¥¹¥¤¥Ã¥Á¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÊ£¿ô»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿¥¹¥¤¥Ã¥Á¤¬½çÈ֤˽èÍý¤µ¤ì¤Æ¤«¤é¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤¿¤È¤¨¤Ð¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2com.wombat.fruitbat\fP (¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à) Æâ¤Ç¤Î¤ß¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Æ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl -java \-ea:com.wombat.fruitbat... <Main Class> -.fl -\fP -.fi -.LP -\f3\-enableassertions\fP ¤ª¤è¤Ó \f3\-ea\fP ¥¹¥¤¥Ã¥Á¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥í¡¼¥À¤ª¤è¤Ó¥·¥¹¥Æ¥à¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤¹¡£¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ë¤Ï¥¯¥é¥¹¥í¡¼¥À¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤³¤Îµ¬Â§¤Ë¤Ï 1 ¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢°ú¿ô¤Ê¤·¤Î·Á¼°¤Ç¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ë¤È¡¢¤½¤Î»ØÄ꤬¥·¥¹¥Æ¥à¤ËŬÍѤµ¤ì¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤ÎÎã³°¤òÍøÍѤ¹¤ì¤Ð¡¢¥·¥¹¥Æ¥à¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò´Êñ¤ËÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Ê̤Υ¹¥¤¥Ã¥Á¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤¢¤È¤Î \f3\-enablesystemassertions\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-disableassertions[:<package name>"..." | :<class name> ] -.TP 3 -\-da[:<package name>"..." | :<class name> ] -¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ -.LP -°ú¿ô¤Ê¤·¤Î \f3disableassertions\fP ¤Þ¤¿¤Ï \f3\-da\fP ¤ò»ØÄꤹ¤ë¤È¡¢¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö\f2...\fP¡×¤Ç½ª¤ï¤ë°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¤È¤·¤Æ¡Ö\f2...\fP¡×¤À¤±¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö\f2...\fP¡×¤Ç½ª¤ï¤é¤Ê¤¤°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -¥Ñ¥Ã¥±¡¼¥¸ \f2com.wombat.fruitbat\fP Æâ¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¡¢¥¯¥é¥¹ \f2com.wombat.fruitbat.Brickbat\fP Æâ¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤¿¤¦¤¨¤Ç¡¢¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl -java \-ea:com.wombat.fruitbat... \-da:com.wombat.fruitbat.Brickbat \fP\f4<Main Class>\fP\f3 -.fl -\fP -.fi -.LP -\f3\-disableassertions\fP ¤ª¤è¤Ó \f3\-da\fP ¥¹¥¤¥Ã¥Á¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥í¡¼¥À¤ª¤è¤Ó¥·¥¹¥Æ¥à¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤¹¡£¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ë¤Ï¥¯¥é¥¹¥í¡¼¥À¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤³¤Îµ¬Â§¤Ë¤Ï 1 ¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢°ú¿ô¤Ê¤·¤Î·Á¼°¤Ç¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ë¤È¡¢¤½¤Î»ØÄ꤬¥·¥¹¥Æ¥à¤ËŬÍѤµ¤ì¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤ÎÎã³°¤òÍøÍѤ¹¤ì¤Ð¡¢¥·¥¹¥Æ¥à¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò´Êñ¤ËÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Ê̤Υ¹¥¤¥Ã¥Á¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤¢¤È¤Î \f3\-disablesystemassertions\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-enablesystemassertions -.TP 3 -\-esa -¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥·¥¹¥Æ¥à¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¥¢¥µ¡¼¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥È¥¹¥Æ¡¼¥¿¥¹¤ò \f2true\fP ¤ËÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-disablesystemassertions -.TP 3 -\-dsa -¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-jar -JAR ¥Õ¥¡¥¤¥ë¤Ë¥«¥×¥»¥ë²½¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£ºÇ½é¤Î°ú¿ô¤Ï¡¢µ¯Æ°¥¯¥é¥¹¤Î̾Á°¤Ç¤Ï¤Ê¤¯¡¢JAR ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬µ¡Ç½¤¹¤ë¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë\f3¡ÖMain\-Class:\fP\f4classname\fP\f3¡×\fP¤È¤¤¤¦·Á¼°¤Î¹Ô¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f2classname\fP ¤Ë¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«»Ï°ÌÃ֤Ȥ·¤Æµ¡Ç½¤¹¤ë \f2public\ static\ void\ main(String[]\ args)\fP ¥á¥½¥Ã¥É¤ò´Þ¤à¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤È¤½¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢jar(1)¤È¡¢ -.na -\f2Java ¥Á¥å¡¼¥È¥ê¥¢¥ë\fP @ -.fi -http://download.oracle.com/javase/tutorial/deployment/jar¤Î¡ÖTrail: Jar Files¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢»ØÄꤷ¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¤Î¥½¡¼¥¹¤Ë¤Ê¤ê¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Î¤Û¤«¤ÎÀßÄê¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ -.LP -Solaris 8 ¤Ç¤Ï¡¢¡Öjava \-jar¡×¥ª¥×¥·¥ç¥ó¤Ç¼Â¹Ô¤Ç¤­¤ë JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢¼Â¹Ô¸¢¸Â¤Î¥»¥Ã¥È¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¡Öjava \-jar¡×¤ò»ÈÍѤ·¤Ê¤¤¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£Java Archive (JAR) ¥Õ¥¡¥¤¥ë -.na - @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html -.TP 3 -\-javaagent:jarpath[=options] -Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¨¡¼¥¸¥§¥ó¥È¤ò¥í¡¼¥É¤·¤Þ¤¹¡£ java.lang.instrument ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.na - @ -.fi -http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html -.TP 3 -\-jre\-restrict\-search -¥æ¡¼¥¶¡¼¥×¥é¥¤¥Ù¡¼¥È¤Ê JRE ¤ò¥Ð¡¼¥¸¥ç¥ó¸¡º÷¤Ë´Þ¤á¤Þ¤¹¡£ -.TP 3 -\-no\-jre\-restrict\-search -¥æ¡¼¥¶¡¼¥×¥é¥¤¥Ù¡¼¥È¤Ê JRE ¤ò¥Ð¡¼¥¸¥ç¥ó¸¡º÷¤«¤é½ü³°¤·¤Þ¤¹¡£ -.TP 3 -\-verbose -.TP 3 -\-verbose:class -¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤¿¤Ó¤Ë¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-verbose:gc -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¤¿¤Ó¤ËÊó¹ð¤·¤Þ¤¹¡£ -.TP 3 -\-verbose:jni -¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤Î»ÈÍѤª¤è¤Ó¤½¤Î¾¤Î Java Native Interface (JNI) ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤òÊó¹ð¤·¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-version:release -¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤¬¡¢\f2release\fP ¤Ç»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤òɬÍפȤ·¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£µ¯Æ°¤µ¤ì¤¿ java ¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤³¤Î»ØÄêÆâÍÆ¤òËþ¤¿¤µ¤º¡¢¤«¤ÄŬÀڤʼÂÁõ¤¬¥·¥¹¥Æ¥à¾å¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎŬÀڤʼÂÁõ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -\f2release\fP ¤Ç¤Ï¡¢ÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄê¤Ç¤­¤ë¤À¤±¤Ç¤Ê¤¯¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤È¸Æ¤Ð¤ì¤ë¥Ð¡¼¥¸¥ç¥ó¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤò¶õÇò¤Ç¶èÀڤä¿·Á¼°¤Î½ç½øÉÕ¤­¥ê¥¹¥È¤Ç¤¹¡£¥Ð¡¼¥¸¥ç¥óÈϰϤϡ¢¥Ð¡¼¥¸¥ç¥ó ID¡¢¥Ð¡¼¥¸¥ç¥ó ID ¤Î¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤òÉղä·¤¿¤â¤Î¡¢¥Ð¡¼¥¸¥ç¥ó ID ¤Î¸å¤Ë¥×¥é¥¹µ­¹æ (+) ¤òÉղä·¤¿¤â¤Î¡¢2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤò¥¢¥ó¥Ñ¥µ¥ó¥É (&) ¤Ç·ë¹ç¤·¤¿¤â¤Î¡¢¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¥×¥ì¥Õ¥£¥Ã¥¯¥¹°ìÃפò¡¢¥×¥é¥¹µ­¹æ¤Ï»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó°Ê¾å¤ò¡¢¥¢¥ó¥Ñ¥µ¥ó¥É¤Ï 2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤÎÏÀÍýÀѤò¡¢¤½¤ì¤¾¤ì°ÕÌ£¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -\-version:"1.6.0_13 1.6*&1.6.0_10+" -.fl -\fP -.fi -¾åµ­¤Î°ÕÌ£¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 1.6.0_13¡¢1.6 ¤ò¥Ð¡¼¥¸¥ç¥ó ID ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤Ë»ý¤Ä 1.6.0_10 °Ê¾å¤Î¥Ð¡¼¥¸¥ç¥ó¡¢¤Î¤¤¤º¤ì¤«¤ò¥¯¥é¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤¬É¬ÍפȤ·¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Î¸·Ì©¤Ê¹½Ê¸¤äÄêµÁ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Network Launching Protocol & API Specification (JSR\-56)¡×¤Î¡ÖAppendix A¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -JAR ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤ÏÄ̾¥Ð¡¼¥¸¥ç¥óÍ×·ï¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤è¤ê¤â¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Ë»ØÄꤹ¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤ˴ؤ¹¤ë½ÅÍפʥݥꥷ¡¼¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡ÖÃí¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-showversion -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤ÆÂ³¹Ô¤·¤Þ¤¹¡£ -.TP 3 -\-? -.TP 3 -\-help -»ÈÍÑË¡¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-splash:imagepath -\f2imagepath\fP ¤Ë»ØÄꤵ¤ì¤¿²èÁü¤ò´Þ¤à¥¹¥×¥é¥Ã¥·¥å²èÌ̤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-X -Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.PP +\fIjava\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥«¥Æ¥´¥ê¤ËʬÎà¤Ç¤­¤ë¹­ÈϤʥª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ɸ½à¥ª¥×¥·¥ç¥ó .RE - -.LP -.SS +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} Èóɸ½à¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-Xint -¥¤¥ó¥¿¥×¥ê¥¿ÀìÍѥ⡼¥É¤Çưºî¤·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï̵¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥Ð¥¤¥È¥³¡¼¥É¤¬¥¤¥ó¥¿¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Java HotSpot VM ¤ËÂбþ¤¹¤ë¥³¥ó¥Ñ¥¤¥é¤¬Ä󶡤¹¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¤ÎÍøÅÀ¤Ï¡¢¤³¤Î¥â¡¼¥É¤Ç¤Ï¼Â¸½¤µ¤ì¤Þ¤»¤ó¡£ -.TP 3 -\-Xbatch -¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£Ä̾VM ¤Ç¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥á¥½¥Ã¥É¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¿¥¹¥¯¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¡¢¥¤¥ó¥¿¥×¥ê¥¿¥â¡¼¥É¤Ç¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£\f2\-Xbatch\fP ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤¬´°Î»¤¹¤ë¤Þ¤Ç¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¥¿¥¹¥¯¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-Xbootclasspath:bootclasspath -¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤ò¥³¥í¥ó¤Ç¶èÀڤ俥ꥹ¥È¤Ç»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ñ¥¹¤Ë¸ºß¤¹¤ë¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à JDK ¤Ë´Þ¤Þ¤ì¤ë¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÂå¤ï¤ê¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£\f2Ãí: rt.jar Æâ¤Î¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥à¤ËÇÛÃÖ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Java Runtime Environment ¥Ð¥¤¥Ê¥ê¥³¡¼¥É¥é¥¤¥»¥ó¥¹°ãÈ¿¤Ë¤Ê¤ê¤Þ¤¹¡£\fP -.TP 3 -\-Xbootclasspath/a:path -¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤Î¥Ñ¥¹¤ò¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤Î¤¢¤È¤ËÄɲ䵤ì¤Þ¤¹¡£ -.TP 3 -\-Xbootclasspath/p:path -¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤Î¥Ñ¥¹¤ò¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ÎÁ°¤ËÄɲ䵤ì¤Þ¤¹¡£\f2Ãí: rt.jar Æâ¤Î¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥à¤ËÇÛÃÖ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Java Runtime Environment ¥Ð¥¤¥Ê¥ê¥³¡¼¥É¥é¥¤¥»¥ó¥¹°ãÈ¿¤Ë¤Ê¤ê¤Þ¤¹¡£\fP -.TP 3 -\-Xcheck:jni -Java Native Interface (JNI) µ¡Ç½¤ËÂФ·¤ÆÄɲåÁ¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Ï JNI Í×µá¤ò½èÍý¤¹¤ëÁ°¤Ë¡¢JNI ´Ø¿ô¤ËÅϤµ¤ì¤ë¥Ñ¥é¥á¡¼¥¿¤È¡¢¼Â¹Ô´Ä¶­¤Î¥Ç¡¼¥¿¤ò¸¡¾Ú¤·¤Þ¤¹¡£Ìµ¸ú¤Ê¥Ç¡¼¥¿¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤ËÌäÂ꤬¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¤¿¤á¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤ÏÃ×̿Ū¥¨¥é¡¼¤òȯÀ¸¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Äã²¼¤¬Í½ÁÛ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-Xfuture -¥¯¥é¥¹¤È¥Õ¥¡¥¤¥ë¤Î·Á¼°¤ò¸·Ì©¤Ë¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£²¼°Ì¸ß´¹À­¤òÊݤĤ¿¤á¡¢JDK ¤Î²¾ÁÛ¥Þ¥·¥ó¤¬¼Â¹Ô¤¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î·Á¼°¥Á¥§¥Ã¥¯¤Ï¡¢JDK ¥½¥Õ¥È¥¦¥§¥¢¤Î¥Ð¡¼¥¸¥ç¥ó 1.1.x ¤¬¼Â¹Ô¤¹¤ë¥Á¥§¥Ã¥¯¤ÈÆ±ÄøÅ٤θ·Ì©¤µ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£\f3\-Xfuture\fP ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë·Á¼°¤Î»ÅÍͤؤνàµò¤ò¶¯²½¤¹¤ë¤¿¤á¤Î¤è¤ê¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢¤è¤ê¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ë¤¿¤á¡¢¿·¤·¤¤¥³¡¼¥É¤ò³«È¯¤¹¤ë¤È¤­¤Ë¤Ï¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.TP 3 -\-Xnoclassgc -¥¯¥é¥¹¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥í¡¼¥ÉºÑ¤ß¥¯¥é¥¹¤«¤é¥á¥â¥ê¡¼¤¬²óÉü¤µ¤ì¤ë¤³¤È¤¬¤Ê¤¯¤Ê¤ë¤¿¤á¡¢Á´ÂÎŪ¤Ê¥á¥â¥ê¡¼»ÈÍÑÎ̤¬ÁýÂ礷¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï OutOfMemoryError ¤¬¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-Xincgc -¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¡¼¥Ù¥¸¥³¥ì¥¯¥¿¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ Í­¸ú¤Ë¤¹¤ë¤È¡¢¥×¥í¥°¥é¥à¤Î¼Â¹ÔÃæ¤Ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Ë¤è¤ë°ì»þÄä»ß¤¬È¯À¸¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ï¡¢¥×¥í¥°¥é¥à¤ÈƱ»þ¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤¬¤¢¤ê¡¢¤³¤Î¾ì¹ç¡¢¥×¥í¥°¥é¥à¤ÎÍøÍѤǤ­¤ë¥×¥í¥»¥Ã¥µÇ½ÎϤ¬Äã²¼¤·¤Þ¤¹¡£ -.TP 3 -\-Xloggc:file -\-verbose:gc ¤ÈƱÍͤ˥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¤¿¤Ó¤ËÊó¹ð¤·¤Þ¤¹¤¬¡¢¤½¤Î¥Ç¡¼¥¿¤ò \f2file\fP ¤Ëµ­Ï¿¤·¤Þ¤¹¡£\f2\-verbose:gc\fP ¤ò»ØÄꤷ¤¿¤È¤­¤ËÊó¹ð¤µ¤ì¤ë¾ðÊó¤Î¤Û¤«¤Ë¡¢Êó¹ð¤µ¤ì¤ë³Æ¥¤¥Ù¥ó¥È¤ÎÀèÆ¬¤Ë¡¢ºÇ½é¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤«¤é¤Î·Ð²á»þ´Ö (ÉÃñ°Ì) ¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡£ -.LP -¥Í¥Ã¥È¥ï¡¼¥¯¤Î±þÅú»þ´Ö¤Ë¤è¤Ã¤Æ JVM ¤Î¼Â¹Ô®ÅÙ¤¬Äã²¼¤¹¤ë¤Î¤òÈò¤±¤ë¤¿¤á¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î³ÊǼÀè¤Ï¡¢¾ï¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ËþÇդˤʤë¤È¡¢¥Õ¥¡¥¤¥ë¤ÏÀÚ¤êµÍ¤á¤é¤ì¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ç¡¼¥¿¤¬°ú¤­Â³¤­µ­Ï¿¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤È \f2\-verbose:gc\fP ¤ÎξÊý¤¬¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Í¥À褵¤ì¤Þ¤¹¡£ -.TP 3 -\-Xmsn -¥á¥â¥ê¡¼³ä¤êÅö¤Æ¥×¡¼¥ë¤Î½é´ü¥µ¥¤¥º¤ò¥Ð¥¤¥È¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢1M ¥Ð¥¤¥È¤è¤êÂ礭¤¤ 1024 ¤ÎÇÜ¿ô¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥­¥í¥Ð¥¤¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ê¸»ú \f2k\fP ¤Þ¤¿¤Ï \f2K\fP ¤òÉÕ¤±¤Þ¤¹¡£¥á¥¬¥Ð¥¤¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ê¸»ú \f2m\fP ¤Þ¤¿¤Ï \f2M\fP ¤òÉÕ¤±¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö -.na -\f2HotSpot Ergonomics\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/gc\-ergonomics.html¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -Îã: -.nf -\f3 -.fl - \-Xms6291456 -.fl - \-Xms6144k -.fl - \-Xms6m -.fl - -.fl -\fP -.fi -.TP 3 -\-Xmxn -¥á¥â¥ê¡¼³ä¤êÅö¤Æ¥×¡¼¥ë¤ÎºÇÂ祵¥¤¥º¤ò¥Ð¥¤¥È¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢2M ¥Ð¥¤¥È¤è¤êÂ礭¤¤ 1024 ¤ÎÇÜ¿ô¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥­¥í¥Ð¥¤¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ê¸»ú \f2k\fP ¤Þ¤¿¤Ï \f2K\fP ¤òÉÕ¤±¤Þ¤¹¡£¥á¥¬¥Ð¥¤¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ê¸»ú \f2m\fP ¤Þ¤¿¤Ï \f2M\fP ¤òÉÕ¤±¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö -.na -\f2HotSpot Ergonomics\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/gc\-ergonomics.html¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.br -Îã: -.nf -\f3 -.fl - \-Xmx83886080 -.fl - \-Xmx81920k -.fl - \-Xmx80m -.fl - -.fl -\fP -.fi -Solaris 7 ¤ª¤è¤Ó Solaris 8 SPARC ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¤³¤ÎÃͤξå¸Â¤Ï¡¢¤ª¤è¤½ 4000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£Solaris 2.6 ¤ª¤è¤Ó x86 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½ 2000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£Linux ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½ 2000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£ -.TP 3 -\-Xprof -¼Â¹ÔÃæ¤Î¥×¥í¥°¥é¥à¤Î¥×¥í¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¡¢¥×¥í¥Õ¥¡¥¤¥ë¥Ç¡¼¥¿¤òɸ½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥×¥í¥°¥é¥à³«È¯ÍѤΥ桼¥Æ¥£¥ê¥Æ¥£¡¼¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ËÜÈÖ²ÔÆ°¥·¥¹¥Æ¥à¤Ç¤Î»ÈÍѤòÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.TP 3 -\-Xrs -Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤Ë¤è¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥·¥°¥Ê¥ë¤Î»ÈÍѤò¸º¤é¤·¤Þ¤¹¡£ -.LP -°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÃá½øÀµ¤·¤¯¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤¿¤á¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯µ¡Ç½¤¬Äɲ䵤ì¤Þ¤·¤¿¡£¤³¤Îµ¡Ç½¤Ë¤è¤ê¡¢JVM ¤¬ÆÍÁ³½ªÎ»¤·¤¿¾ì¹ç¤Ç¤â¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó»þ¤Ë¥æ¡¼¥¶¡¼¥¯¥ê¡¼¥ó¥¢¥Ã¥×¥³¡¼¥É (¥Ç¡¼¥¿¥Ù¡¼¥¹Àܳ¤Î¥¯¥í¡¼¥º¤Ê¤É) ¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ -.LP -Sun ¤Î JVM ¤Ï¡¢¥·¥°¥Ê¥ë¤ò¥­¥ã¥Ã¥Á¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢JVM ¤Î°Û¾ï½ªÎ»¤Î¤¿¤á¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯¤ò¼ÂÁõ¤·¤Þ¤¹¡£JVM ¤Ï¡¢SIGHUP¡¢SIGINT¡¢¤ª¤è¤Ó SIGTERM ¤ò»ÈÍѤ·¤Æ¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯¤Î¼Â¹Ô¤ò³«»Ï¤·¤Þ¤¹¡£ -.LP -JVM ¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ÎÌÜŪ¤Ç¥¹¥ì¥Ã¥É¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤¹¤ë¤È¤¤¤¦¡¢1.2 ¤è¤êÁ°¤«¤é¤¢¤ëµ¡Ç½¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¤â¡¢Æ±Íͤε¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£Sun ¤Î JVM ¤Ï¡¢¥¹¥ì¥Ã¥É¥À¥ó¥×¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë SIGQUIT ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -JVM ¤òËä¤á¹þ¤ó¤Ç¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ SIGINT ¤ä SIGTERM ¤Ê¤É¤Î¥·¥°¥Ê¥ë¤òÉÑÈˤ˥ȥé¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ë¤È¡¢JVM ¤½¤Î¤â¤Î¤Î¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Î½èÍý¤Ë»Ù¾ã¤¬½Ð¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\f3\-Xrs\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤ÎÌäÂê¤ËÂнè¤Ç¤­¤Þ¤¹¡£Sun ¤Î JVM ¤ËÂФ·¤Æ \f3\-Xrs\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢SIGINT¡¢SIGTERM¡¢SIGHUP¡¢¤ª¤è¤Ó SIGQUIT ¤ËÂФ¹¤ë¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤Ï JVM ¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤º¡¢¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤ËÂФ¹¤ë¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤»¤ó¡£ -.LP -\f3\-Xrs\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¼¡¤Î 2 ¤Ä¤Î±Æ¶Á¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -SIGQUIT ¤Ë¤è¤ë¥¹¥ì¥Ã¥É¥À¥ó¥×¤òÍøÍѤǤ­¤Ê¤¤ -.TP 2 -o -¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯½èÍý¤Î¼Â¹Ô¤Ï¡¢JVM ¤¬½ªÎ»¤·¤è¤¦¤È¤·¤Æ¤¤¤ë»þÅÀ¤Ç System.exit() ¤ò¸Æ¤Ó½Ð¤¹¤Ê¤É¤·¤Æ¡¢¥æ¡¼¥¶¡¼¥³¡¼¥É¦¤Ç¹Ô¤¦É¬Íפ¬¤¢¤ë .RE -.TP 3 -\-Xssn -¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-XX:+UseAltSigs -VM ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç \f2SIGUSR1\fP ¤ª¤è¤Ó \f2SIGUSR2\fP ¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢\f2SIGUSR1\fP ¤ª¤è¤Ó \f2SIGUSR2\fP ¤ò¥·¥°¥Ê¥ëÏ¢º¿¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È ¶¥¹ç¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£\f2\-XX:+UseAltSigs\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢VM ¤Ë¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ \f2SIGUSR1\fP ¤È \f2SIGUSR2\fP °Ê³°¤Î¥·¥°¥Ê¥ë¤ò»ÈÍѤµ¤»¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¹âÅ٤ʥé¥ó¥¿¥¤¥à¡¦¥ª¥×¥·¥ç¥ó .RE - -.LP -.SH "Ãí" -.LP -.LP -\f3\-version:\fP\f2release\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¤É¤ó¤Ê¤ËÊ£»¨¤Ë¥ê¥ê¡¼¥¹¤ò»ØÄꤷ¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¸½¼ÂŪ¤Ê¥ê¥ê¡¼¥¹»ØÄê¤Î¸Â¤é¤ì¤¿¥µ¥Ö¥»¥Ã¥È¤ò»ÈÍѤ¹¤ë¤À¤±¤Ç¤âŬÀڤʥݥꥷ¡¼¤òɽ¸½¤Ç¤­¤ë¤¿¤á¡¢¤½¤ì¤é¤Î¥µ¥Ö¥»¥Ã¥È¤Î¤ß¤¬´°Á´¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¤½¤ì¤é¤Î¥Ý¥ê¥·¡¼¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -1. -Ǥ°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¡£¤³¤ì¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤Çɽ¸½¤Ç¤­¤Þ¤¹¡£ -.TP 3 -2. -¤¢¤ëÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó ID ¤è¤ê¤âÂ礭¤¤Ç¤°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -"1.6.0_10+" -.fl -\fP -.fi -¤³¤Î¾ì¹ç¡¢ \f21.6.0_10\fP ¤è¤ê¤âÂ礭¤¤Ç¤°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤ÇÆÃÄê¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Æ³Æþ¤µ¤ì¤¿ (¤¢¤ë¤¤¤Ï¤½¤Î¥Ð¥°¤¬½¤Àµ¤µ¤ì¤¿) ¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.TP 3 -3. -¤¢¤ëÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó ID ¤è¤ê¤âÂ礭¤¤¥Ð¡¼¥¸¥ç¥ó¡£¤¿¤À¤·¡¢¤½¤Î¥ê¥ê¡¼¥¹¥Õ¥¡¥ß¥ê¤Î¾å¸Â¤Ë¤è¤Ã¤ÆÀ©¸Â¤¹¤ë¤â¤Î¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -"1.6.0_10+&1.6*" -.fl -\fP -.fi -.TP 3 -4. -¾å¤Î¹àÌÜ 2 ¤È¹àÌÜ 3 ¤Î¡ÖOR¡×¼°¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -"1.6.0_10+&1.6* 1.7+" -.fl -\fP -.fi -¤³¤ì¤Ï¹àÌÜ 2 ¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¤¢¤ëÊѹ¹¤¬ÆÃÄê¤Î¥ê¥ê¡¼¥¹ (1.7) ¤ÇƳÆþ¤µ¤ì¤¿¤¬¡¢¤½¤ÎƱ¤¸Êѹ¹¤¬°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤âÍøÍѲÄǽ¤Ë¤Ê¤Ã¤¿¡¢¤È¤¤¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¹âÅÙ¤ÊJIT¥³¥ó¥Ñ¥¤¥é¡¦¥ª¥×¥·¥ç¥ó +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¹âÅ٤ʥµ¡¼¥Ó¥¹¥¢¥Ó¥ê¥Æ¥£¡¦¥ª¥×¥·¥ç¥ó +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¹âÅ٤ʥ¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥ª¥×¥·¥ç¥ó +.RE +.PP +ɸ½à¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java Virtual Machine (JVM)¤Î¤¹¤Ù¤Æ¤Î¼ÂÁõ¤Ç¥µ¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢JRE¤Î¥Ð¡¼¥¸¥ç¥ó¤Î³Îǧ¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎÀßÄê¡¢¾éĹ¤Ê½ÐÎϤÎÍ­¸ú²½¤Ê¤É¤Î°ìÈÌŪ¤Ê¥¢¥¯¥·¥ç¥ó¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.PP +ɸ½à°Ê³°¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot²¾ÁÛ¥Þ¥·¥ó¤Ë¸ÇÍ­¤ÎÈÆÍÑ¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë¤¿¤á¡¢¤¹¤Ù¤Æ¤ÎJVM¼ÂÁõ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ÏÊݾڤµ¤ì¤º¡¢Êѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-X\fR¤Ç³«»Ï¤·¤Þ¤¹¡£ +.PP +³ÈÄ¥¥ª¥×¥·¥ç¥ó¤Ï¡¢ÉÔÍѰդ˻ÈÍѤ·¤Ê¤¤¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢ÆÃÄê¤Î¥·¥¹¥Æ¥àÍ×·ï¤ò»ý¤Ä¤³¤È¤¬Â¿¤¯¡¢¥·¥¹¥Æ¥à¹½À®¥Ñ¥é¥á¡¼¥¿¤Ø¤ÎÆÃ¸¢¥¢¥¯¥»¥¹¤¬É¬Íפʾì¹ç¤¬¤¢¤ëJava HotSpot²¾ÁÛ¥Þ¥·¥óÁàºî¤ÎÆÃÄê¤ÎÎΰè¤òÄ´À°¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë³«È¯¼Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£¤³¤ì¤é¤Ï¡¢¤¹¤Ù¤Æ¤ÎJVM¼ÂÁõ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ÏÊݾڤµ¤ì¤º¡¢Êѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£³ÈÄ¥¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX\fR¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ +.PP +ºÇ¿·¥ê¥ê¡¼¥¹¤ÇÈó¿ä¾©¤Þ¤¿¤Ïºï½ü¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¤òÄÉÀפ¹¤ë¤¿¤á¤Ë¡¢¥É¥­¥å¥á¥ó¥È¤ÎºÇ¸å¤ËÈó¿ä¾©¤Çºï½ü¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤È¤¤¤¦Ì¾Á°¤Î¥»¥¯¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¥Ö¡¼¥ë¡¦¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëµ¡Ç½¤òÍ­¸ú¤Ë¤·¤¿¤ê¡¢¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëµ¡Ç½¤ò̵¸ú¤Ë¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¤òɬÍפȤ·¤Þ¤»¤ó¡£¥Ö¡¼¥ëÃÍ\fI\-XX\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥×¥é¥¹µ­¹æ(\fI\-XX:+\fR\fIOptionName\fR)¤ò»ÈÍѤ·¤ÆÍ­¸ú¤Ë¤·¡¢¥Þ¥¤¥Ê¥¹µ­¹æ(\fI\-XX:\-\fR\fIOptionName\fR)¤ò»ÈÍѤ·¤ÆÌµ¸ú¤Ë¤·¤Þ¤¹¡£ +.PP +°ú¿ô¤¬É¬Íפʥª¥×¥·¥ç¥ó¤Î¾ì¹ç¡¢°ú¿ô¤Ï¡¢¥ª¥×¥·¥ç¥ó̾¤ò¶õÇò¡¢¥³¥í¥ó(:)¤Þ¤¿¤ÏÅù¹æ(=)¤Ç¶èÀڤ俤â¤Î¤Ë¤Ê¤ë¤«¡¢¤¢¤ë¤¤¤Ï°ú¿ô¤¬¥ª¥×¥·¥ç¥ó¤Î¸å¤ËľÀܳ¤¯¾ì¹ç¤â¤¢¤ê¤Þ¤¹(Àµ³Î¤Ê¹½Ê¸¤Ï³Æ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹)¡£¥µ¥¤¥º¤ò¥Ð¥¤¥Èñ°Ì¤Ç»ØÄꤹ¤ë¤è¤¦µá¤á¤é¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ÀÜÈø¼­¤ò»ÈÍѤ·¤Ê¤¤¤«¡¢¤¢¤ë¤¤¤Ï¥­¥í¥Ð¥¤¥È(KB)¤Ë¤ÏÀÜÈø¼­\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È(MB)¤Ë¤ÏÀÜÈø¼­\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È(GB)¤Ë¤ÏÀÜÈø¼­\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥µ¥¤¥º¤ò8GB¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢\fI8g\fR¡¢\fI8192m\fR¡¢\fI8388608k\fR¤Þ¤¿¤Ï\fI8589934592\fR¤Î¤¤¤º¤ì¤«¤ò°ú¿ô¤È¤·¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ñ¡¼¥»¥ó¥È¤Î»ØÄ꤬ɬÍפʾì¹ç¤Ï¡¢0¤«¤é1¤Î¿ôÃͤò»ÈÍѤ·¤Þ¤¹(¤¿¤È¤¨¤Ð¡¢25%¤Î¾ì¹ç¤Ï\fI0\&.25\fR¤ò»ØÄꤷ¤Þ¤¹)¡£ +.SS "ɸ½à¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Ï¡¢JVM¤Î¤¹¤Ù¤Æ¤Î¼ÂÁõ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëºÇ¤â°ìÈÌŪ¤Ë»ÈÍѤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.PP +\-agentlib:\fIlibname\fR[=\fIoptions\fR] +.RS 4 +»ØÄꤷ¤¿¥Í¥¤¥Æ¥£¥Ö¡¦¥¨¡¼¥¸¥§¥ó¥È¡¦¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¥é¥¤¥Ö¥é¥ê̾¤Î¸å¤Ë¡¢¥é¥¤¥Ö¥é¥ê¤Ë¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó¤Î¥«¥ó¥Þ¶èÀÚ¤ê¥ê¥¹¥È¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +¥ª¥×¥·¥ç¥ó\fI\-agentlib:foo\fR¤ò»ØÄꤷ¤¿¾ì¹ç¡¢JVM¤Ï¡¢\fILD_LIBRARY_PATH\fR¥·¥¹¥Æ¥àÊÑ¿ô(OS X¤Ç¤Ï¡¢¤³¤ÎÊÑ¿ô¤Ï\fIDYLD_LIBRARY_PATH\fR¤Ë¤Ê¤ê¤Þ¤¹)¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤Ë\fIlibfoo\&.so\fR¤È¤¤¤¦Ì¾Á°¤Î¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤è¤¦¤È¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥¿¥Ã¥¯¤Î¿¼¤µ3¤Ç¡¢20¥ß¥êÉ䴤Ȥ˥ҡ¼¥×¡¦¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¦¥Ä¡¼¥ë(HPROF)¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Æ¡¢¥µ¥ó¥×¥ë¤ÎCPU¾ðÊó¤ò¼èÆÀ¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-agentlib:hprof=cpu=samples,interval=20,depth=3 +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢¥á¥¤¥ó¡¦¥¯¥é¥¹¤Î¥í¡¼¥ÉÁ°¤ËJVM¤ò°ì»þÄä»ß¤·¤Æ¡¢Java¥Ç¥Ð¥Ã¥°¡¦¥ï¥¤¥ä¡¦¥×¥í¥È¥³¥ë(JDWP)¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Æ¡¢¥Ý¡¼¥È8000¤Ç¤Î¥½¥±¥Ã¥ÈÀܳÍѤ˥ꥹ¥Ë¥ó¥°¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-agentlib:jdwp=transport=dt_socket,server=y,address=8000 +.fi +.if n \{\ +.RE +.\} +¥Í¥¤¥Æ¥£¥Ö¡¦¥¨¡¼¥¸¥§¥ó¥È¡¦¥é¥¤¥Ö¥é¥ê¤Î¾ÜºÙ¤Ï¡¢¼¡¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/api/java/lang/instrument/package\-summary\&.html¤Ë¤¢¤ë\fIjava\&.lang\&.instrument\fR¥Ñ¥Ã¥±¡¼¥¸¤ÎÀâÌÀ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/platform/jvmti/jvmti\&.html#starting¤Ë¤¢¤ëJVM¥Ä¡¼¥ë¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥¬¥¤¥É¤Î¥¨¡¼¥¸¥§¥ó¥È¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¹à +.RE +.RE +.PP +\-agentpath:\fIpathname\fR[=\fIoptions\fR] +.RS 4 +ÀäÂХѥ¹Ì¾¤Ç»ØÄꤵ¤ì¤¿¥Í¥¤¥Æ¥£¥Ö¡¦¥¨¡¼¥¸¥§¥ó¥È¡¦¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-agentlib\fR¤ÈƱÅù¤Ç¤¹¤¬¡¢¥é¥¤¥Ö¥é¥ê¤Î¥Õ¥ë¡¦¥Ñ¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë̾¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-client +.RS 4 +Java HotSpot Client VM¤òÁªÂò¤·¤Þ¤¹¡£64¥Ó¥Ã¥È¡¦¥Ð¡¼¥¸¥ç¥ó¤ÎJava SE Development Kit (JDK)¤Ç¤Ï¡¢¸½ºß¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¡¢¤«¤ï¤ê¤ËServer JVM¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤ÎJVMÁªÂò¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/server\-class\&.html¤Ë¤¢¤ë +¥µ¡¼¥Ð¡¼¥¯¥é¥¹¡¦¥Þ¥·¥ó¤Î¸¡½Ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-D\fIproperty\fR=\fIvalue\fR +.RS 4 +¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòÀßÄꤷ¤Þ¤¹¡£\fIproperty\fRÊÑ¿ô¤Ï¡¢¥×¥í¥Ñ¥Æ¥£¤Î̾Á°¤òɽ¤¹¡¢¶õÇò¤Î¤Ê¤¤Ê¸»úÎó¤Ç¤¹¡£\fIvalue\fRÊÑ¿ô¤Ï¡¢¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòɽ¤¹Ê¸»úÎó¤Ç¤¹¡£\fIvalue\fR¤¬¶õÇò¤ò´Þ¤àʸ»úÎó¤Î¾ì¹ç¡¢¤½¤ì¤ò°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹(Îã: +\fI\-Dfoo="foo bar"\fR)¡£ +.RE +.PP +\-d32 +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò32¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤·¤Þ¤¹¡£32¥Ó¥Ã¥È´Ä¶­¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢64¥Ó¥Ã¥È¡¦¥·¥¹¥Æ¥à¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤­¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï32¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-d64 +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò64¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤·¤Þ¤¹¡£64¥Ó¥Ã¥È´Ä¶­¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢64¥Ó¥Ã¥È¡¦¥·¥¹¥Æ¥à¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤­¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï32¥Ó¥Ã¥È´Ä¶­¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.sp +¸½ºß¤Î¤È¤³¤í¡¢Java HotSpot Server VM¤Î¤ß¤¬64¥Ó¥Ã¥È¤ÎÁàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢\fI\-d64\fR»ÈÍÑ»þ¤Ë¤Ï\fI\-server\fR¥ª¥×¥·¥ç¥ó¤¬°ÅÌÛŪ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£\fI\-d64\fR»ÈÍÑ»þ¤Ë¤Ï¡¢\fI\-client\fR¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤³¤Î»ÅÍͤϡ¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÊѹ¹¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-disableassertions[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR], \-da[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR] +.RS 4 +¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¢¥µ¡¼¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +°ú¿ô¤Ê¤·¤Î\fI\-disableassertions\fR +(\fI\-da\fR)¤ò»ØÄꤹ¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\&.\&.\&.\fR¤Ç½ª¤ï¤ë\fIpackagename\fR°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¤È¤·¤Æ\fI\&.\&.\&.\fR¤Î¤ß¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fIclassname\fR°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢ÀÚÂØ¤¨¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fI\-disableassertions\fR +(\fI\-da\fR)¥ª¥×¥·¥ç¥ó¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤ª¤è¤Ó¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤¹(¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤Ë¤Ï¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Ï¤¢¤ê¤Þ¤»¤ó)¡£¤³¤Î¥ë¡¼¥ë¤Ë¤Ï1¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò´Êñ¤Ë̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fI\-disablesystemassertions\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¤ä¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÌÀ¼¨Åª¤ËÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-enableassertions\fR +(\fI\-ea\fR)¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Î¾Êý¤Î¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ñ¥Ã¥±¡¼¥¸\fIcom\&.wombat\&.fruitbat\fR +(¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸)¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Æ¡¢¥¯¥é¥¹\fIcom\&.wombat\&.fruitbat\&.Brickbat\fR¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Æ¡¢\fIMyClass\fR¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-ea:com\&.wombat\&.fruitbat\&.\&.\&. \-da:com\&.wombat\&.fruitbat\&.Brickbat MyClass +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-disablesystemassertions, \-dsa +.RS 4 +¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-enableassertions[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR], \-ea[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR] +.RS 4 +¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¢¥µ¡¼¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +°ú¿ô¤Ê¤·¤Î\fI\-enableassertions\fR +(\fI\-ea\fR)¤ò»ØÄꤹ¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\&.\&.\&.\fR¤Ç½ª¤ï¤ë\fIpackagename\fR°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¤È¤·¤Æ\fI\&.\&.\&.\fR¤Î¤ß¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fIclassname\fR°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢ÀÚÂØ¤¨¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fI\-enableassertions\fR +(\fI\-ea\fR)¥ª¥×¥·¥ç¥ó¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤ª¤è¤Ó¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤¹(¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤Ë¤Ï¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Ï¤¢¤ê¤Þ¤»¤ó)¡£¤³¤Î¥ë¡¼¥ë¤Ë¤Ï1¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ËŬÍѤµ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤ò´Êñ¤ËÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fI\-enablesystemassertions\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ëÊ̤Υ¹¥¤¥Ã¥Á¤òÄ󶡤·¤Þ¤¹¡£ +.sp +ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¤ä¥¯¥é¥¹¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÌÀ¼¨Åª¤Ë̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-disableassertions\fR +(\fI\-da\fR)¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Ã±°ì¥³¥Þ¥ó¥É¤Ë¤³¤ì¤é¤Î¥¹¥¤¥Ã¥Á¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÊ£¿ô»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿¥¹¥¤¥Ã¥Á¤¬½çÈ֤˽èÍý¤µ¤ì¤Æ¤«¤é¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ñ¥Ã¥±¡¼¥¸\fIcom\&.wombat\&.fruitbat\fR +(¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸)¤Ç¤Î¤ß¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Æ¡¢¥¯¥é¥¹\fIcom\&.wombat\&.fruitbat\&.Brickbat\fR¤Ç¤Ï¥¢¥µ¡¼¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Æ¡¢\fIMyClass\fR¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-ea:com\&.wombat\&.fruitbat\&.\&.\&. \-da:com\&.wombat\&.fruitbat\&.Brickbat MyClass +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-enablesystemassertions, \-esa +.RS 4 +¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥¯¥é¥¹Æâ¤Ç¥¢¥µ¡¼¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-help, \-? +.RS 4 +¼ÂºÝ¤ËJVM¤ò¼Â¹Ô¤»¤º¤Ë¡¢\fIjava\fR¥³¥Þ¥ó¥É¤Î»ÈÍѾõ¶·¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-jar \fIfilename\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤Ë¥«¥×¥»¥ë²½¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£\fIfilename\fR°ú¿ô¤Ï¡¢»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«»ÏÅÀ¤È¤·¤Æµ¡Ç½¤¹¤ë\fIpublic static void main(String[] args)\fR¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¢\fIMain\-Class:\fR\fIclassname\fR¤È¤¤¤¦·Á¼°¤Î1¹Ô¤ò´Þ¤à¥Þ¥Ë¥Õ¥§¥¹¥È¤ò»ý¤ÄJAR¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£ +.sp +\fI\-jar\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢»ØÄꤷ¤¿JAR¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¤Î¥½¡¼¥¹¤Ë¤Ê¤ê¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¾¤ÎÀßÄê¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ +.sp +JAR¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢¼¡¤Î¥ê¥½¡¼¥¹¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jar/index\&.html¤Ë¤¢¤ëJava¥¢¡¼¥«¥¤¥Ö(JAR)¥Õ¥¡¥¤¥ë¤Î¥¬¥¤¥É +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.html¤Ë¤¢¤ë +¡Ö¥ì¥Ã¥¹¥ó: JAR¥Õ¥¡¥¤¥ë¤Î¥×¥í¥°¥é¥à¤Î¥Ñ¥Ã¥±¡¼¥¸²½¡× +.RE +.RE +.PP +\-javaagent:\fIjarpath\fR[=\fIoptions\fR] +.RS 4 +»ØÄꤷ¤¿Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¨¡¼¥¸¥§¥ó¥È¤ò¥í¡¼¥É¤·¤Þ¤¹¡£Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥È¤Î¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/api/java/lang/instrument/package\-summary\&.html¤Ë¤¢¤ëJava API¥É¥­¥å¥á¥ó¥È¤Î\fIjava\&.lang\&.instrument\fR¥Ñ¥Ã¥±¡¼¥¸¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-jre\-restrict\-search +.RS 4 +¥æ¡¼¥¶¡¼¡¦¥×¥é¥¤¥Ù¡¼¥È¤ÊJRE¤ò¥Ð¡¼¥¸¥ç¥ó¸¡º÷¤Ë´Þ¤á¤Þ¤¹¡£ +.RE +.PP +\-no\-jre\-restrict\-search +.RS 4 +¥æ¡¼¥¶¡¼¡¦¥×¥é¥¤¥Ù¡¼¥È¤ÊJRE¤ò¥Ð¡¼¥¸¥ç¥ó¸¡º÷¤«¤é½ü³°¤·¤Þ¤¹¡£ +.RE +.PP +\-server +.RS 4 +Java HotSpot Server VM¤òÁªÂò¤·¤Þ¤¹¡£64¥Ó¥Ã¥È¡¦¥Ð¡¼¥¸¥ç¥ó¤ÎJDK¤Ç¤Ï¡¢Server VM¤Î¤ß¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢¤½¤Î¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ÅÌÛŪ¤Ç¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤ÎJVMÁªÂò¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/server\-class\&.html¤Ë¤¢¤ë +¥µ¡¼¥Ð¡¼¥¯¥é¥¹¡¦¥Þ¥·¥ó¤Î¸¡½Ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-showversion +.RS 4 +¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò³¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-version\fR¥ª¥×¥·¥ç¥ó¤ÈƱÅù¤Ç¤¹¤¬¡¢\-version¤Ï¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨¸å¤ËJVM¤Ë½ªÎ»¤ò»Ø¼¨¤¹¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-splash:\fIimgname\fR +.RS 4 +\fIimgname\fR¤Ç»ØÄꤵ¤ì¤¿¥¤¥á¡¼¥¸¤ò´Þ¤à¥¹¥×¥é¥Ã¥·¥å²èÌ̤òɽ¼¨¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Îµ¯Æ°»þ¤Ë\fIimages\fR¥Ç¥£¥ì¥¯¥È¥ê¤Î\fIsplash\&.gif\fR¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-splash:images/splash\&.gif +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-verbose:class +.RS 4 +¥í¡¼¥É¤µ¤ì¤¿³Æ¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose:gc +.RS 4 +³Æ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(GC)¥¤¥Ù¥ó¥È¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose:jni +.RS 4 +¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥É¤Î»ÈÍѤª¤è¤Ó¤½¤Î¾¤ÎJava Native Interface (JNI)¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ¤«¤é½ªÎ»¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-showversion\fR¥ª¥×¥·¥ç¥ó¤ÈƱÅù¤Ç¤¹¤¬¡¢\-showversion¤Ï¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨¸å¤ËJVM¤Ë½ªÎ»¤ò»Ø¼¨¤·¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-version:\fIrelease\fR +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤Ë»ÈÍѤ¹¤ë¥ê¥ê¡¼¥¹¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¥³¡¼¥ë¤µ¤ì¤¿\fIjava\fR¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤³¤Î»ØÄêÆâÍÆ¤òËþ¤¿¤µ¤º¡¢¤«¤ÄŬÀڤʼÂÁõ¤¬¥·¥¹¥Æ¥à¾å¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎŬÀڤʼÂÁõ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fIrelease\fR°ú¿ô¤Ï¡¢Àµ³Î¤Ê¥Ð¡¼¥¸¥ç¥óʸ»úÎ󡢤ޤ¿¤Ï¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤È¥Ð¡¼¥¸¥ç¥óÈϰϤΥꥹ¥È¤ò»ØÄꤷ¤Þ¤¹¡£\fI¥Ð¡¼¥¸¥ç¥óʸ»úÎó\fR¤Ï¡¢¼¡¤Î·Á¼°¤Ç¡¢³«È¯¼Ô¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹: +\fI1\&.\fR\fIx\fR\fI\&.0_\fR\fIu\fR +(\fIx\fR¤Ï¥á¥¸¥ã¡¼¡¦¥Ð¡¼¥¸¥ç¥óÈֹ桢\fIu\fR¤Ï¹¹¿·¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ç¤¹)¡£\fI¥Ð¡¼¥¸¥ç¥óÈϰÏ\fR¤Ï¡¢¤³¤Î¥Ð¡¼¥¸¥ç¥ó°Ê¹ß¤ò»ØÄꤹ¤ë¤Ë¤Ï¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Î¸å¤Ë¥×¥é¥¹µ­¹æ(\fI+\fR)¤ò³¤±¤¿¤â¤Î¡¢¤Þ¤¿¤Ï°ìÃפ¹¤ëÀÜÆ¬¼­¤ò´Þ¤àǤ°Õ¤Î¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤ò»ØÄꤹ¤ë¤Ë¤Ï°ìÉô¤Î¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Î¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯(\fI*\fR)¤ò³¤±¤¿¤â¤Î¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£ÏÀÍý\fIOR\fR¤ÎÁȹ礻¤Ë¤Ï¶õÇò¡¢2¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤Îʸ»úÎó/ÈϰϤÎÏÀÍý\fIAND\fR¤ÎÁȹ礻¤Ë¤Ï¥¢¥ó¥Ñ¥µ¥ó¥É(\fI&\fR)¤ò»ÈÍѤ·¤Æ¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤È¥Ð¡¼¥¸¥ç¥óÈϰϤòÁȤ߹礻¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô¤ËJRE 6u13 (1\&.6\&.0_13)¤Þ¤¿¤Ï6u10 (1\&.6\&.0_10)°Ê¹ß¤ÎǤ°Õ¤ÎJRE 6¤Î¤¤¤º¤ì¤«¤òɬÍפȤ¹¤ë¾ì¹ç¡¢¼¡¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-version:"1\&.6\&.0_13 1\&.6* & 1\&.6\&.0_10+" +.fi +.if n \{\ +.RE +.\} +°úÍÑÉ䤬ɬÍפʤΤϡ¢\fIrelease\fR¥Ñ¥é¥á¡¼¥¿¤Ë¶õÇò¤¬¤¢¤ë¾ì¹ç¤Î¤ß¤Ç¤¹¡£ +.sp +JAR¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤Ï¡¢¥Ð¡¼¥¸¥ç¥óÍ×·ï¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤹ¤ë¤è¤ê¤â¡¢JAR¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Ë»ØÄꤹ¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.SS "Èóɸ½à¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot²¾ÁÛ¥Þ¥·¥ó¤Ë¸ÇÍ­¤ÎÈÆÍÑ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.PP +\-X +.RS 4 +»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î\fI\-X\fR¥ª¥×¥·¥ç¥ó¤Î¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-Xbatch +.RS 4 +¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢JVM¤Ç¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥á¥½¥Ã¥É¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥¿¥¹¥¯¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¡¢¥¤¥ó¥¿¥×¥ê¥¿¡¦¥â¡¼¥É¤Ç¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£\fI\-Xbatch\fR¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤¬´°Î»¤¹¤ë¤Þ¤Ç¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¡¦¥¿¥¹¥¯¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:\-BackgroundCompilation\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xbootclasspath:\fIpath\fR +.RS 4 +¥Ö¡¼¥È¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥Õ¥¡¥¤¥ë¤ª¤è¤ÓZIP¥¢¡¼¥«¥¤¥Ö¤Î¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤é¤ì¤¿¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢JDK¤Ë´Þ¤Þ¤ì¤ë¥Ö¡¼¥È¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤«¤ï¤ê¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +JRE¥Ð¥¤¥Ê¥ê¡¦¥³¡¼¥É¡¦¥é¥¤¥»¥ó¥¹¤Ë°ãÈ¿¤¹¤ë¤¿¤á¡¢\fIrt\&.jar\fR¤Ç¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥Ç¥×¥í¥¤¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xbootclasspath/a:\fIpath\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎºÇ¸å¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥Õ¥¡¥¤¥ë¤ª¤è¤ÓZIP¥¢¡¼¥«¥¤¥Ö¤Î¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤é¤ì¤¿¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +JRE¥Ð¥¤¥Ê¥ê¡¦¥³¡¼¥É¡¦¥é¥¤¥»¥ó¥¹¤Ë°ãÈ¿¤¹¤ë¤¿¤á¡¢\fIrt\&.jar\fR¤Ç¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥Ç¥×¥í¥¤¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xbootclasspath/p:\fIpath\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎÀèÆ¬¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥Õ¥¡¥¤¥ë¤ª¤è¤ÓZIP¥¢¡¼¥«¥¤¥Ö¤Î¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤é¤ì¤¿¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +JRE¥Ð¥¤¥Ê¥ê¡¦¥³¡¼¥É¡¦¥é¥¤¥»¥ó¥¹¤Ë°ãÈ¿¤¹¤ë¤¿¤á¡¢\fIrt\&.jar\fR¤Ç¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÌÜŪ¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥Ç¥×¥í¥¤¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xboundthreads +.RS 4 +¥æ¡¼¥¶¡¼¡¦¥ì¥Ù¥ë¤Î¥¹¥ì¥Ã¥É¤ò¥«¡¼¥Í¥ë¡¦¥¹¥ì¥Ã¥É¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-Xcheck:jni +.RS 4 +Java Native Interface (JNI)µ¡Ç½¤ËÂФ·¤ÆÄɲåÁ¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¤³¤ì¤Ï¡¢JNI¥ê¥¯¥¨¥¹¥È¤ò½èÍý¤¹¤ëÁ°¤Ë¡¢JNI´Ø¿ô¤ËÅϤµ¤ì¤ë¥Ñ¥é¥á¡¼¥¿¤È¼Â¹Ô´Ä¶­¤Î¥Ç¡¼¥¿¤ò¸¡¾Ú¤·¤Þ¤¹¡£Ìµ¸ú¤Ê¥Ç¡¼¥¿¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¡¦¥³¡¼¥É¤ËÌäÂ꤬¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¤¿¤á¡¢JVM¤Ï¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤òȯÀ¸¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Äã²¼¤¬Í½ÁÛ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xcomp +.RS 4 +ºÇ½é¤Î¸Æ½Ð¤·¤ÇJava¥³¡¼¥É¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¡¦¥á¥½¥Ã¥É¤Î²ò¼á¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢JIT¥³¥ó¥Ñ¥¤¥é¤Ï¡¢10,000¤Î²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò¼Â¹Ô¤·¤Æ¡¢¸úΨŪ¤Ê¥³¥ó¥Ñ¥¤¥ë¤Î¤¿¤á¤Î¾ðÊó¤ò¼ý½¸¤·¤Þ¤¹¡£¸úΨ¤òµ¾À·¤Ë¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¤Ë¤Ï¡¢\fI\-Xcomp\fR¥Õ¥é¥°¤ò»ÈÍѤ·¤Æ¡¢²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +\fI\-XX:CompileThreshold\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë¤ÎÁ°¤Ë¡¢²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤Î¿ô¤òÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-Xdebug +.RS 4 +²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£²¼°Ì¸ß´¹À­¤Î¤¿¤á¤ËÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-Xdiag +.RS 4 +ÄɲäοÇÃÇ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-Xfuture +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë·Á¼°¤Î»ÅÍͤؤνàµò¤ò¶¯²½¤¹¤ë¡¢¸·Ì©¤Ê¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë·Á¼°¤Î¥Á¥§¥Ã¥¯¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢¤è¤ê¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ë¤¿¤á¡¢¿·¤·¤¤¥³¡¼¥É¤ò³«È¯¤¹¤ë¤È¤­¤Ë¤Ï¡¢³«È¯¼Ô¤Ï¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.RE +.PP +\-Xincgc +.RS 4 +ÁýʬGC¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xint +.RS 4 +¥¤¥ó¥¿¥×¥ê¥¿ÀìÍѥ⡼¥É¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¡¦¥³¡¼¥É¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï̵¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥Ð¥¤¥È¥³¡¼¥É¤¬¥¤¥ó¥¿¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥¸¥ã¥¹¥È¡¦¥¤¥ó¡¦¥¿¥¤¥à(JIT)¥³¥ó¥Ñ¥¤¥é¤¬Ä󶡤¹¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¤ÎÍøÅÀ¤Ï¡¢¤³¤Î¥â¡¼¥É¤Ç¤Ï¼Â¸½¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-Xinternalversion +.RS 4 +\fI\-version\fR¥ª¥×¥·¥ç¥ó¤è¤ê¾ÜºÙ¤ÊJVM¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ¤«¤é½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-Xloggc:\fIfilename\fR +.RS 4 +¾ÜºÙ¤ÊGC¥¤¥Ù¥ó¥È¾ðÊó¤ò¥í¥®¥ó¥°ÍѤ˥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¥Õ¥¡¥¤¥ë¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¾ðÊó¤Ï¡¢µ­Ï¿¤µ¤ì¤¿³Æ¥¤¥Ù¥ó¥È¤ÎÁ°¤Ë¹Ô¤ï¤ì¤ëºÇ½é¤ÎGC¥¤¥Ù¥ó¥È°Ê¹ß¤Ë·Ð²á¤·¤¿»þ´Ö¤ò»ØÄꤷ¤¿\fI\-verbose:gc\fR¤Î½ÐÎϤÈÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£\fI\-Xloggc\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-verbose:gc\fR¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹(¤³¤ì¤é¤ÎξÊý¤¬Æ±¤¸\fIjava\fR¥³¥Þ¥ó¥É¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç)¡£ +.sp +Îã: +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xloggc:garbage\-collection\&.log +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-Xmaxjitcodesize=\fIsize\fR +.RS 4 +JIT¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥³¡¼¥É¤ÎºÇÂ祳¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤ò»ØÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ÎÃͤÏ48MB¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xmaxjitcodesize=48m +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:ReservedCodeCacheSize\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xmixed +.RS 4 +¥Í¥¤¥Æ¥£¥Ö¡¦¥³¡¼¥É¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥Û¥Ã¥È¡¦¥á¥½¥Ã¥É¤ò½ü¤­¡¢¥¤¥ó¥¿¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¤¹¤Ù¤Æ¤Î¥Ð¥¤¥È¥³¡¼¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-Xmn\fIsize\fR +.RS 4 +¼ã¤¤À¤Âå(¥Ê¡¼¥µ¥ê)¤Î¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º¤ª¤è¤ÓºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£ +.sp +¥Ò¡¼¥×¤Î¼ã¤¤À¤Âå¥ê¡¼¥¸¥ç¥ó¤Ï¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£GC¤Ï¡¢Â¾¤Î¥ê¡¼¥¸¥ç¥ó¤è¤ê¤³¤Î¥ê¡¼¥¸¥ç¥ó¤Ç¡¢¤è¤êÉÑÈˤ˼¹Ԥµ¤ì¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤¬¾®¤µ¤¹¤®¤ë¾ì¹ç¡¢Â¿¿ô¤Î¥Þ¥¤¥Ê¡¼¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥µ¥¤¥º¤¬Â礭¤¹¤®¤ë¾ì¹ç¡¢¥Õ¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¤ß¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¤¬¡¢´°Î»¤Þ¤Ç¤Ë»þ´Ö¤¬¤«¤«¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤Ï¡¢Á´ÂΤΥҡ¼¥×¡¦¥µ¥¤¥º¤ÎȾʬ¤«¤é4ʬ¤Î1¤Î´Ö¤Ë¤·¤Æ¤ª¤¯¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¼ã¤¤À¤Âå¤Î½é´ü¥µ¥¤¥º¤ª¤è¤ÓºÇÂ祵¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ256MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xmn256m +\-Xmn262144k +\-Xmn268435456 +.fi +.if n \{\ +.RE +.\} +¼ã¤¤À¤Âå¤Î¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º¤ÈºÇÂ祵¥¤¥º¤ÎξÊý¤òÀßÄꤹ¤ë\fI\-Xmn\fR¥ª¥×¥·¥ç¥ó¤Î¤«¤ï¤ê¤Ë¡¢½é´ü¥µ¥¤¥º¤ÎÀßÄê¤Ë¤Ï\fI\-XX:NewSize\fR¤ò¡¢ºÇÂ祵¥¤¥º¤ÎÀßÄê¤Ë¤Ï\fI\-XX:MaxNewSize\fR¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-Xms\fIsize\fR +.RS 4 +¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢1MB¤è¤êÂ礭¤¤1024¤ÎÇÜ¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¡¼¤Î¥µ¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ6MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xms6291456 +\-Xms6144k +\-Xms6m +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¤Ê¤¤¾ì¹ç¡¢½é´ü¥µ¥¤¥º¤Ï¡¢¸Å¤¤À¤Âå¤È¼ã¤¤À¤Âå¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥µ¥¤¥º¤Î¹ç·×¤È¤·¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º¤Ï¡¢\fI\-Xmn\fR¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï\fI\-XX:NewSize\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÀßÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-Xmx\fIsize\fR +.RS 4 +¥á¥â¥ê¡¼³äÅö¤Æ¥×¡¼¥ë¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢2MB¤è¤êÂ礭¤¤1024¤ÎÇÜ¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¹½À®¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¡¦¥Ç¥×¥í¥¤¥á¥ó¥È¤Ç¤Ï¡¢\fI\-Xms\fR¤ª¤è¤Ó\fI\-Xmx\fR¤ÏÄÌ¾ïÆ±¤¸ÃͤËÀßÄꤵ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.html¤Ë¤¢¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¡¦¥¨¥ë¥´¥Î¥ß¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¡¼¤Îµö²Ä¤µ¤ì¤ëºÇÂ祵¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ80MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xmx83886080 +\-Xmx81920k +\-Xmx80m +.fi +.if n \{\ +.RE +.\} +\fI\-Xmx\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:MaxHeapSize\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xnoclassgc +.RS 4 +¥¯¥é¥¹¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(GC)¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢GC»þ´Ö¤òÀáÌó¤Ç¤­¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¼Â¹ÔÃæ¤ÎÃæÃǤ¬Ã»½Ì¤µ¤ì¤Þ¤¹¡£ +.sp +µ¯Æ°»þ¤Ë\fI\-Xnoclassgc\fR¤ò»ØÄꤹ¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤Î¥¯¥é¥¹¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢GC¤Î´Ö¤Ï¤½¤Î¤Þ¤Þ»Ä¤ê¡¢¾ï¤Ë¥é¥¤¥Ö¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤è¤ê¿¤¯¤Î¥á¥â¥ê¡¼¤¬±Êµ×¤ËÀêÍ­¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¡¢Ãí°Õ¤·¤Æ»ÈÍѤ·¤Ê¤¤¤È¡¢¥á¥â¥ê¡¼ÉÔ­¤ÎÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xprof +.RS 4 +¼Â¹ÔÃæ¤Î¥×¥í¥°¥é¥à¤Î¥×¥í¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¡¢¥×¥í¥Õ¥¡¥¤¥ë¡¦¥Ç¡¼¥¿¤òɸ½à½ÐÎϤËÁ÷¿®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥×¥í¥°¥é¥à³«È¯ÍѤΥ桼¥Æ¥£¥ê¥Æ¥£¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ËÜÈÖ²ÔÆ¯¥·¥¹¥Æ¥à¤Ç¤Î»ÈÍѤòÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-Xrs +.RS 4 +JVM¤Ë¤è¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡¦¥·¥°¥Ê¥ë¤Î»ÈÍѤò¸º¤é¤·¤Þ¤¹¡£ +.sp +¥·¥ã¥Ã¥È¥À¥¦¥ó¡¦¥Õ¥Ã¥¯¤Ï¡¢JVM¤¬ÆÍÁ³½ªÎ»¤·¤¿¾ì¹ç¤Ç¤â¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó»þ¤Ë¥æ¡¼¥¶¡¼¡¦¥¯¥ê¡¼¥ó¥¢¥Ã¥×¡¦¥³¡¼¥É(¥Ç¡¼¥¿¥Ù¡¼¥¹Àܳ¤Î¥¯¥í¡¼¥º¤Ê¤É)¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¤ò½çÈÖ¤ËÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +JVM¤Ï¡¢Í½´ü¤·¤Ê¤¤½ªÎ»¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¡¦¥Õ¥Ã¥¯¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë¥·¥°¥Ê¥ë¤ò¥­¥ã¥Ã¥Á¤·¤Þ¤¹¡£JVM¤Ï¡¢\fISIGHUP\fR¡¢\fISIGINT\fR¤ª¤è¤Ó\fISIGTERM\fR¤ò»ÈÍѤ·¤Æ¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó¡¦¥Õ¥Ã¥¯¤Î¼Â¹Ô¤ò³«»Ï¤·¤Þ¤¹¡£ +.sp +JVM¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ÎÌÜŪ¤Ç¥¹¥ì¥Ã¥É¡¦¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤¹¤ë¤È¤¤¤¦µ¡Ç½¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¡¢Æ±ÍͤΥᥫ¥Ë¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£JVM¤Ï¡¢¥¹¥ì¥Ã¥É¡¦¥À¥ó¥×¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë\fISIGQUIT\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +JVM¤òËä¤á¹þ¤ó¤Ç¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢\fISIGINT\fR¤ä\fISIGTERM\fR¤Ê¤É¤Î¥·¥°¥Ê¥ë¤òÉÑÈˤ˥ȥé¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¡¢¤½¤Î·ë²Ì¡¢JVM¤Î¥·¥°¥Ê¥ë¡¦¥Ï¥ó¥É¥é¤È¾×ÆÍ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\fI\-Xrs\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤ÎÌäÂê¤ËÂн褹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£\fI\-Xrs\fR¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fISIGINT\fR¡¢\fISIGTERM\fR¡¢\fISIGHUP\fR¤ª¤è¤Ó\fISIGQUIT\fR¤Î¥·¥°¥Ê¥ë¡¦¥Þ¥¹¥¯¤ÏJVM¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤º¡¢¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤Î¥·¥°¥Ê¥ë¡¦¥Ï¥ó¥É¥é¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤»¤ó¡£ +.sp +\fI\-Xrs\fR¤ò»ØÄꤹ¤ë¤È¡¢¼¡¤Î2¤Ä¤Î·ë²Ì¤¬À¸¤¸¤Þ¤¹: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fISIGQUIT\fR¤Ë¤è¤ë¥¹¥ì¥Ã¥É¡¦¥À¥ó¥×¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥·¥ã¥Ã¥È¥À¥¦¥ó¡¦¥Õ¥Ã¥¯½èÍý¤Î¼Â¹Ô¤Ï¡¢JVM¤¬½ªÎ»¤·¤è¤¦¤È¤·¤Æ¤¤¤ë»þÅÀ¤Ç\fISystem\&.exit()\fR¤ò¸Æ¤Ó½Ð¤¹¤Ê¤É¤·¤Æ¡¢¥æ¡¼¥¶¡¼¡¦¥³¡¼¥É¦¤Ç¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.RE +.PP +\-Xshare:\fImode\fR +.RS 4 +¥¯¥é¥¹¡¦¥Ç¡¼¥¿¶¦Í­¥â¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê\fImode\fR°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +auto +.RS 4 +²Äǽ¤Ê¾ì¹ç¡¢¶¦Í­¥¯¥é¥¹¤Î¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢Java HotSpot 32\-Bit Client VM¤Î¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ +.RE +.PP +on +.RS 4 +¥¯¥é¥¹¡¦¥Ç¡¼¥¿¶¦Í­¤Î»ÈÍѤ¬É¬ÍפǤ¹¡£¥¯¥é¥¹¡¦¥Ç¡¼¥¿¶¦Í­¤ò»ÈÍѤǤ­¤Ê¤¤¾ì¹ç¡¢¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +off +.RS 4 +¶¦Í­¥¯¥é¥¹¡¦¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢Java HotSpot 32\-Bit Server VM¡¢Java HotSpot 64\-Bit Client VM¤ª¤è¤ÓJava HotSpot 64\-Bit Server VM¤Î¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ +.RE +.PP +dump +.RS 4 +¥¯¥é¥¹¡¦¥Ç¡¼¥¿¶¦Í­¥¢¡¼¥«¥¤¥Ö¤ò¼êư¤ÇÀ¸À®¤·¤Þ¤¹¡£ +.RE +.RE +.PP +\-XshowSettings:\fIcategory\fR +.RS 4 +ÀßÄê¤òɽ¼¨¤·¤ÆÂ³¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê\fIcategory\fR°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +all +.RS 4 +ÀßÄê¤Î¤¹¤Ù¤Æ¤Î¥«¥Æ¥´¥ê¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ +.RE +.PP +locale +.RS 4 +¥í¥±¡¼¥ë¤Ë´ØÏ¢¤¹¤ëÀßÄê¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +properties +.RS 4 +¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ë´ØÏ¢¤¹¤ëÀßÄê¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +vm +.RS 4 +JVM¤ÎÀßÄê¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.RE +.PP +\-Xss\fIsize\fR +.RS 4 +¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£KB¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢MB¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢GB¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϥץé¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/ARM (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/i386 (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/x64 (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +OS X (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Oracle Solaris/i386 (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Oracle Solaris/x64 (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Windows: ²¾ÁÛ¥á¥â¥ê¡¼¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¡¦¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º¤ò°Û¤Ê¤ëñ°Ì¤Ç1024KB¤ËÀßÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-Xss1m +\-Xss1024k +\-Xss1048576 +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:ThreadStackSize\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xusealtsigs +.RS 4 +JVMÆâÉô¥·¥°¥Ê¥ë¤Î\fISIGUSR1\fR¤ª¤è¤Ó\fISIGUSR2\fR¤Î¤«¤ï¤ê¤Ë¡¢ÂåÂØ¥·¥°¥Ê¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-XX:+UseAltSigs\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-Xverify:\fImode\fR +.RS 4 +¥Ð¥¤¥È¥³¡¼¥É¡¦¥Ù¥ê¥Õ¥¡¥¤¥¢¤Î¥â¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£¥Ð¥¤¥È¥³¡¼¥É¤Î¸¡¾Ú¤Ï°ìÉô¤ÎÌäÂê¤Î¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ËÌòΩ¤Á¤Þ¤¹¤¬¡¢¼Â¹ÔÃæ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ø¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤òÁýÂ礵¤»¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê\fImode\fR°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +none +.RS 4 +¥Ð¥¤¥È¥³¡¼¥É¤ò¸¡¾Ú¤·¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢µ¯Æ°»þ´Ö¤¬Ã»½Ì¤µ¤ì¡¢Java¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ëÊݸî¤â·Ú¸º¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +remote +.RS 4 +¥Í¥Ã¥È¥ï¡¼¥¯¤ò²ð¤·¤Æ¥ê¥â¡¼¥È¤Ç¥í¡¼¥É¤µ¤ì¤ë¥¯¥é¥¹¤Î¤ß¤ò¸¡¾Ú¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢\fI\-Xverify\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ +.RE +.PP +all +.RS 4 +¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ò¸¡¾Ú¤·¤Þ¤¹¡£ +.RE +.RE +.SS "¹âÅ٤ʥé¥ó¥¿¥¤¥à¡¦¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot VM¤Î¼Â¹Ô»þ¤Îưºî¤òÀ©¸æ¤·¤Þ¤¹¡£ +.PP +\-XX:+DisableAttachMechanism +.RS 4 +JVM¤Ë¥Ä¡¼¥ë¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¥á¥«¥Ë¥º¥à¤ò̵¸ú¤Ë¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¤³¤ì¤Ï¡¢¥¢¥¿¥Ã¥Á¡¦¥á¥«¥Ë¥º¥à¤òÍ­¸ú¤Ë¤¹¤ë¤È¡¢\fIjcmd\fR¡¢\fIjstack\fR¡¢\fIjmap\fR¡¢\fIjinfo\fR¤Ê¤É¤Î¥Ä¡¼¥ë¤ò»ÈÍѤǤ­¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.RE +.PP +\-XX:ErrorFile=\fIfilename\fR +.RS 4 +¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¥¨¥é¡¼¡¦¥Ç¡¼¥¿¤¬½ñ¤­¹þ¤Þ¤ì¤ë¥Ñ¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢Ì¾Á°¤Ï\fIhs_err_pid\fR\fIpid\fR\fI\&.log\fR +(\fIpid\fR¤Ï¥¨¥é¡¼¤Î¸¶°ø¤È¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Î¼±ÊÌ»Ò)¤Ë¤Ê¤ê¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°¡¦¥Õ¥¡¥¤¥ë¤òÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹(¥×¥í¥»¥¹¤Î¼±Ê̻ҤÏ\fI%p\fR¤È¤·¤Æ»ØÄꤵ¤ì¤Þ¤¹)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ErrorFile=\&./hs_err_pid%p\&.log +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¨¥é¡¼¡¦¥í¥°¤ò\fI/var/log/java/java_error\&.log\fR¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ErrorFile=/var/log/java/java_error\&.log +.fi +.if n \{\ +.RE +.\} +(ÎΰèÉÔ­¡¢¸¢¸Â¤ÎÌäÂê¤Þ¤¿¤ÏÊ̤ÎÌäÂê¤Ë¤è¤ê)»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î°ì»þ¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£°ì»þ¥Ç¥£¥ì¥¯¥È¥ê¤Ï\fI/tmp\fR¤Ç¤¹¡£ +.RE +.PP +\-XX:LargePageSizeInBytes=\fIsize\fR +.RS 4 +Java¥Ò¡¼¥×¤Ë»ÈÍѤµ¤ì¤ëÂ礭¤¤¥Ú¡¼¥¸¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£\fIsize\fR°ú¿ô¤Ï¡¢2¤ÎÎß¾è(2¡¢4¡¢8¡¢16¡¢\&.\&.\&.)¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¥¤¥º¤Ï0¤ËÀßÄꤵ¤ì¡¢¤³¤ì¤Ï¡¢JVM¤Ç¤ÏÂ礭¤¤¥Ú¡¼¥¸¤Î¥µ¥¤¥º¤¬¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢Â礭¤¤¥Ú¡¼¥¸¤Î¥µ¥¤¥º¤ò4¥á¥¬¥Ð¥¤¥È(MB)¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:LargePageSizeInBytes=4m +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxDirectMemorySize=\fIsize\fR +.RS 4 +¿·µ¬I/O (\fIjava\&.nio\fR¥Ñ¥Ã¥±¡¼¥¸)¤ÎľÀܥХåե¡³äÅö¤Æ¤ÎºÇÂç¹ç·×¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¥¤¥º¤Ï0¤ËÀßÄꤵ¤ì¡¢¤³¤ì¤Ï¡¢JVM¤Ç¤ÏNIO¤ÎľÀܥХåե¡³äÅö¤Æ¤Î¥µ¥¤¥º¤¬¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢NIO¥µ¥¤¥º¤ò°Û¤Ê¤ëñ°Ì¤Ç1024KB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxDirectMemorySize=1m +\-XX:MaxDirectMemorySize=1024k +\-XX:MaxDirectMemorySize=1048576 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:NativeMemoryTracking=\fImode\fR +.RS 4 +JVM¤Î¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼»ÈÍѾõ¶·¤Î¥È¥é¥Ã¥­¥ó¥°¤Î¥â¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê\fImode\fR°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +off +.RS 4 +JVM¤Î¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼»ÈÍѾõ¶·¤òÄÉÀפ·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢\fI\-XX:NativeMemoryTracking\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ +.RE +.PP +summary +.RS 4 +JVM¥µ¥Ö¥·¥¹¥Æ¥à(Java¥Ò¡¼¥×¡¢¥¯¥é¥¹¡¢¥³¡¼¥É¡¢¥¹¥ì¥Ã¥É¤Ê¤É)¤Ë¤è¤ë¥á¥â¥ê¡¼»ÈÍѾõ¶·¤Î¤ßÄÉÀפ·¤Þ¤¹¡£ +.RE +.PP +detail +.RS 4 +JVM¥µ¥Ö¥·¥¹¥Æ¥à¤Ë¤è¤ë¥á¥â¥ê¡¼»ÈÍѾõ¶·¤Î¥È¥é¥Ã¥­¥ó¥°¤Ë²Ã¤¨¤Æ¡¢¸Ä¡¹¤Î\fICallSite\fR +(¸Ä¡¹¤Î²¾ÁÛ¥á¥â¥ê¡¼¡¦¥ê¡¼¥¸¥ç¥ó¤ª¤è¤Ó¤½¤Î¥³¥ß¥Ã¥ÈºÑ¥ê¡¼¥¸¥ç¥ó)¤Ë¤è¤ë¥á¥â¥ê¡¼»ÈÍѾõ¶·¤òÄÉÀפ·¤Þ¤¹¡£ +.RE +.RE +.PP +\-XX:OnError=\fIstring\fR +.RS 4 +¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤È¤­¤Ë¼Â¹Ô¤¹¤ë¡¢¥«¥¹¥¿¥à¡¦¥³¥Þ¥ó¥É¤Þ¤¿¤Ï°ìÏ¢¤Î¥»¥ß¥³¥í¥ó¶èÀÚ¤ê¤Î¥³¥Þ¥ó¥É¤òÀßÄꤷ¤Þ¤¹¡£Ê¸»úÎó¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢\fI\-XX:OnError\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥³¥¢¡¦¥¤¥á¡¼¥¸¤òºîÀ®¤¹¤ë¤¿¤á¤Ë\fIgcore\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëÊýË¡¡¢¤ª¤è¤Ó¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤Î¾ì¹ç¤Ë¥Ç¥Ð¥Ã¥¬¤òµ¯Æ°¤·¤Æ¥×¥í¥»¥¹¤ËÀܳ¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹(\fI%p\fR¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤ò»ØÄꤷ¤Þ¤¹)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:OnError="gcore %p;dbx \- %p" +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:OnOutOfMemoryError=\fIstring\fR +.RS 4 +\fIOutOfMemoryError\fRÎã³°¤¬ºÇ½é¤Ë¥¹¥í¡¼¤µ¤ì¤¿¤È¤­¤Ë¼Â¹Ô¤¹¤ë¡¢¥«¥¹¥¿¥à¡¦¥³¥Þ¥ó¥É¤Þ¤¿¤Ï°ìÏ¢¤Î¥»¥ß¥³¥í¥ó¶èÀÚ¤ê¤Î¥³¥Þ¥ó¥É¤òÀßÄꤷ¤Þ¤¹¡£Ê¸»úÎó¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥Éʸ»úÎó¤ÎÎã¤Ï¡¢\fI\-XX:OnError\fR¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-XX:+PrintCommandLineFlags +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ëɽ¼¨¤µ¤ì¤¿¡¢¿Í´Ö¹©³ØÅª¤ËÁªÂò¤·¤¿JVM¥Õ¥é¥°¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ò¡¼¥×Îΰ襵¥¤¥º¤äÁªÂò¤µ¤ì¤¿¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ê¤É¡¢JVM¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤¿¥¨¥ë¥´¥Î¥ß¥Ã¥¯Ãͤò³Îǧ¤¹¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥Õ¥é¥°¤Ï°õºþ¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+PrintNMTStatistics +.RS 4 +¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼¤Î¥È¥é¥Ã¥­¥ó¥°¤¬Í­¸ú¤Ê¾ì¹ç¤Ë¡¢JVM¤Î½ªÎ»»þ¤Ë¼ý½¸¤µ¤ì¤¿¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼¤Î¥È¥é¥Ã¥­¥ó¥°¡¦¥Ç¡¼¥¿¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹(\fI\-XX:NativeMemoryTracking\fR¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼¤Î¥È¥é¥Ã¥­¥ó¥°¡¦¥Ç¡¼¥¿¤Ï°õºþ¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+ShowMessageBoxOnError +.RS 4 +JVM¤Ç¥ê¥«¥Ð¥êÉÔǽ¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥À¥¤¥¢¥í¥°¡¦¥Ü¥Ã¥¯¥¹¤Îɽ¼¨¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢JVM¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ¤·¤Æ¥¨¥é¡¼¤Î¸¶°ø¤òÄ´ºº¤Ç¤­¤ë¤è¤¦¤Ë¡¢JVM¤ò½ªÎ»¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¡¢¥×¥í¥»¥¹¤ò¥¢¥¯¥Æ¥£¥Ö¤Ê¤Þ¤Þ¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:ThreadStackSize=\fIsize\fR +.RS 4 +¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϥץé¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/ARM (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/i386 (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Linux/x64 (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +OS X (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Oracle Solaris/i386 (32¥Ó¥Ã¥È): 320KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Oracle Solaris/x64 (64¥Ó¥Ã¥È): 1024KB +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Windows: ²¾ÁÛ¥á¥â¥ê¡¼¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¡¦¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º¤ò°Û¤Ê¤ëñ°Ì¤Ç1024KB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ThreadStackSize=1m +\-XX:ThreadStackSize=1024k +\-XX:ThreadStackSize=1048576 +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xss\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:+TraceClassLoading +.RS 4 +¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Î¥¯¥é¥¹¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¯¥é¥¹¤Ï¥È¥ì¡¼¥¹¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+TraceClassLoadingPreorder +.RS 4 +¥¯¥é¥¹¤¬»²¾È¤µ¤ì¤ë½ç½ø¤Ç¡¢¥í¡¼¥É¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¯¥é¥¹¤Ï¥È¥ì¡¼¥¹¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+TraceClassResolution +.RS 4 +Äê¿ô¥×¡¼¥ë¤Î²ò·è¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢Äê¿ô¥×¡¼¥ë¤Î²ò·è¤Ï¥È¥ì¡¼¥¹¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+TraceClassUnloading +.RS 4 +¥¯¥é¥¹¤¬¥¢¥ó¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Î¥¯¥é¥¹¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¯¥é¥¹¤Ï¥È¥ì¡¼¥¹¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+TraceLoaderConstraints +.RS 4 +¥í¡¼¥À¡¼À©Ìó¤Îµ­Ï¿¤Î¥È¥ì¡¼¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥í¡¼¥À¡¼À©Ìó¤Îµ­Ï¿¤ÏÄÉÀפµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseAltSigs +.RS 4 +JVMÆâÉô¥·¥°¥Ê¥ë¤Î\fISIGUSR1\fR¤ª¤è¤Ó\fISIGUSR2\fR¤Î¤«¤ï¤ê¤Ë¡¢ÂåÂØ¥·¥°¥Ê¥ë¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢ÂåÂØ¥·¥°¥Ê¥ë¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xusealtsigs\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:+UseBiasedLocking +.RS 4 +¥Ð¥¤¥¢¥¹¡¦¥í¥Ã¥¯¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤«¤Ê¤ê¤ÎÎ̤ÎÈó¶¥¹ç¤ÎƱ´ü²½¤¬¤¢¤ë°ìÉô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¤³¤Î¥Õ¥é¥°¤òÍ­¸ú¤Ë¤¹¤ë¤ÈÂçÉý¤Ê¹â®²½¤¬¼Â¸½¤·¤Þ¤¹¤¬¡¢ÆÃÄê¤Î¥Ñ¥¿¡¼¥ó¤Î¥í¥Ã¥¯¤¬¤¢¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Â®ÅÙ¤¬Äã²¼¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥Ð¥¤¥¢¥¹¡¦¥í¥Ã¥¯¤ÎÊýË¡¤Î¾ÜºÙ¤Ï¡¢http://www\&.oracle\&.com/technetwork/java/tuning\-139912\&.html#section4\&.2\&.5¤Ë¤¢¤ëJava¥Á¥å¡¼¥Ë¥ó¥°¤Î¥Û¥ï¥¤¥È¡¦¥Ú¡¼¥Ñ¡¼¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥Ð¥¤¥¢¥¹¡¦¥í¥Ã¥¯¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseCompressedOops +.RS 4 +°µ½Ì¤µ¤ì¤¿¥Ý¥¤¥ó¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¡¢64¥Ó¥Ã¥È¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ï¤Ê¤¯32¥Ó¥Ã¥È¤Î¥ª¥Õ¥»¥Ã¥È¤È¤·¤ÆÉ½¤µ¤ì¡¢¤³¤ì¤Ë¤è¤ê¡¢32GB¤è¤ê¾®¤µ¤¤Java¥Ò¡¼¥×¡¦¥µ¥¤¥º¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô»þ¤Ë¡¢Ä̾¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢64¥Ó¥Ã¥È¤ÎJVM¤Ç¤Î¤ßµ¡Ç½¤·¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢°µ½Ì¥Ý¥¤¥ó¥¿¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseLargePages +.RS 4 +Â礭¤¤¥Ú¡¼¥¸¤Î¥á¥â¥ê¡¼¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Â礭¤¤¥Ú¡¼¥¸¤Î¥á¥â¥ê¡¼¤Î»ÈÍѤò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseLargePages\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +¾ÜºÙ¤Ï¡¢http://www\&.oracle\&.com/technetwork/java/javase/tech/largememory\-jsp\-137182\&.html¤Ë¤¢¤ëÂ礭¤¤¥á¥â¥ê¡¼¡¦¥Ú¡¼¥¸ÍѤÎJava¥µ¥Ý¡¼¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-XX:+UseMembar +.RS 4 +¥¹¥ì¥Ã¥É¤Î¾õÂÖ¤ÎÁ«°Ü¤Ç¥á¥ó¥Ð¡¼¤Îȯ¹Ô¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëPower PC¤ª¤è¤ÓARM¥µ¡¼¥Ð¡¼¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Power PC¤ÈARM¤Î¥¹¥ì¥Ã¥É¾õÂÖÁ«°Ü¤ËÂФ¹¤ë¥á¥ó¥Ð¡¼¤Îȯ¹Ô¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseMembar\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+UsePerfData +.RS 4 +\fIperfdata\fRµ¡Ç½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢JVM¤Î¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡¦¥Æ¥¹¥È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤ò̵¸ú¤Ë¤¹¤ë¤È¡¢\fIhsperfdata_userid\fR¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ®¤òÍÞÀ©¤·¤Þ¤¹¡£\fIperfdata\fRµ¡Ç½¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UsePerfData\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+AllowUserSignalHandlers +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤ë¥·¥°¥Ê¥ë¡¦¥Ï¥ó¥É¥é¤Î¥¤¥ó¥¹¥È¡¼¥ë¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥·¥°¥Ê¥ë¡¦¥Ï¥ó¥É¥é¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.RE +.SS "¹âÅÙ¤ÊJIT¥³¥ó¥Ñ¥¤¥é¡¦¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot VM¤Ç¼Â¹Ô¤µ¤ì¤ëưŪ¤Êjust\-in\-time (JIT)¥³¥ó¥Ñ¥¤¥é¤òÀ©¸æ¤·¤Þ¤¹¡£ +.PP +\-XX:+AggressiveOpts +.RS 4 +ÀѶËŪ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ºÇŬ²½µ¡Ç½¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ïº£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ëͽÄê¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢»î¸³Åª¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹µ¡Ç½¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:AllocateInstancePrefetchLines=\fIlines\fR +.RS 4 +¥¤¥ó¥¹¥¿¥ó¥¹³äÅö¤Æ¥Ý¥¤¥ó¥¿¤ÎÁ°¤Ë¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¹Ô¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¹Ô¿ô¤Ï1¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocateInstancePrefetchLines=1 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:AllocatePrefetchInstr=\fIinstruction\fR +.RS 4 +³äÅö¤Æ¥Ý¥¤¥ó¥¿¤ÎÁ°¤Ë¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤òÀßÄꤷ¤Þ¤¹¡£»ÈÍѲÄǽ¤ÊÃͤÏ0¤«¤é3¤Þ¤Ç¤Ç¤¹¡£ÃͤÎÇØ¸å¤Ë¤¢¤ë¼ÂºÝ¤ÎÌ¿Îá¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤Ï0¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocatePrefetchInstr=0 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:AllocatePrefetchStepSize=\fIsize\fR +.RS 4 +½ç¼¡¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤Î¥¹¥Æ¥Ã¥×¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¹¥Æ¥Ã¥×¡¦¥µ¥¤¥º¤Ï16¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocatePrefetchStepSize=16 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+BackgroundCompilation +.RS 4 +¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¡¦¥³¥ó¥Ñ¥¤¥ë¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-BackgroundCompilation\fR¤ò»ØÄꤷ¤Þ¤¹(¤³¤ì¤Ï\fI\-Xbatch\fR¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤Ç¤¹)¡£ +.RE +.PP +\-XX:CICompilerCount=\fIthreads\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤Ë»ÈÍѤ¹¤ë¥³¥ó¥Ñ¥¤¥é¡¦¥¹¥ì¥Ã¥É¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¿ô¤Ï¡¢¥µ¡¼¥Ð¡¼JVM¤Î¾ì¹ç¤Ï2¡¢¥¯¥é¥¤¥¢¥ó¥ÈJVM¤Î¾ì¹ç¤Ï1¤ËÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢ÁØ¥³¥ó¥Ñ¥¤¥ë¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥¢¿ô¤Ë¹ç¤»¤ÆÁý¸º¤·¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¤Î¿ô¤ò2¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CICompilerCount=2 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CodeCacheMinimumFreeSpace=\fIsize\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤ËɬÍפʺǾ®¶õ¤­Îΰè(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£ºÇ¾®¶õ¤­Îΰè¤è¤ê¾¯¤Ê¤¤Îΰ褷¤«»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥ë¤ÏÄä»ß¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï500KB¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢ºÇ¾®¶õ¤­Îΰè¤ò1024MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CodeCacheMinimumFreeSpace=1024m +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CompileCommand=\fIcommand\fR,\fImethod\fR[,\fIoption\fR] +.RS 4 +¥á¥½¥Ã¥É¤Ç¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥³¥ó¥Ñ¥¤¥ë¸µ¤«¤é\fIString\fR¥¯¥é¥¹¤Î\fIindexOf()\fR¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=exclude,java/lang/String\&.indexOf +.fi +.if n \{\ +.RE +.\} +¥¹¥é¥Ã¥·¥å(\fI/\fR)¤Ç¶èÀÚ¤é¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¡¢´°Á´¥¯¥é¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ÀÚ¼è¤ê¤ÈŽÉÕ¤±¤ÎÁàºî¤òÍÆ°×¤Ë¤¹¤ë¤¿¤á¤Ë¡¢\fI\-XX:+PrintCompilation\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥á¥½¥Ã¥É̾¤Î·Á¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=exclude,java\&.lang\&.String::indexOf +.fi +.if n \{\ +.RE +.\} +½ð̾¤Ê¤·¤Ç¥á¥½¥Ã¥É¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤Ï»ØÄꤷ¤¿Ì¾Á°¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤ËŬÍѤµ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë·Á¼°¤Ç¥á¥½¥Ã¥É¤Î½ð̾¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥³¥ó¥Ñ¥¤¥ë¸µ¤«¤é\fIString\fR¥¯¥é¥¹¤Î\fIindexOf(String)\fR¥á¥½¥Ã¥É¤Î¤ß½ü³°¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=exclude,java/lang/String\&.indexOf(Ljava/lang/String;)I +.fi +.if n \{\ +.RE +.\} +¤Þ¤¿¡¢¥¯¥é¥¹Ì¾¤ª¤è¤Ó¥á¥½¥Ã¥É̾¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤·¤Æ¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥³¥ó¥Ñ¥¤¥ë¸µ¤«¤é¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î¤¹¤Ù¤Æ¤Î\fIindexOf()\fR¥á¥½¥Ã¥É¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=exclude,*\&.indexOf +.fi +.if n \{\ +.RE +.\} +¥«¥ó¥Þ¤È¥Ô¥ê¥ª¥É¤Ï¶õÇò¤ÎÊÌ̾¤Ç¡¢¤³¤ì¤Ë¤è¤ê¡¢¥·¥§¥ë¤ò²ð¤·¤Æ¥³¥ó¥Ñ¥¤¥é¡¦¥³¥Þ¥ó¥É¤òÅϤ¹¤³¤È¤¬Íưפˤʤê¤Þ¤¹¡£°ú¿ô¤ò°úÍÑÉä¤Ç°Ï¤à¤³¤È¤Ç¡¢¶õÇò¤ò¥»¥Ñ¥ì¡¼¥¿¤È¤·¤Æ»ÈÍѤ·¤Æ\fI\-XX:CompileCommand\fR¤Ë°ú¿ô¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand="exclude java/lang/String indexOf" +.fi +.if n \{\ +.RE +.\} +\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÇÅϤµ¤ì¤¿¥³¥Þ¥ó¥É¤ò²òÀϤ·¤¿¸å¤Ë¡¢JIT¥³¥ó¥Ñ¥¤¥é¤Ï\fI\&.hotspot_compiler\fR¥Õ¥¡¥¤¥ë¤«¤é¥³¥Þ¥ó¥É¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥Þ¥ó¥É¤òÄɲ乤뤫¡¢¤Þ¤¿¤Ï\fI\-XX:CompileCommandFile\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÊ̤Υե¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +Ê£¿ô¤Î¥³¥Þ¥ó¥É¤òÄɲ乤ë¤Ë¤Ï¡¢\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤òÊ£¿ô²ó»ØÄꤹ¤ë¤«¡¢¤Þ¤¿¤Ï²þ¹Ô¥»¥Ñ¥ì¡¼¥¿(\fI\en\fR)¤ò»ÈÍѤ·¤Æ³Æ°ú¿ô¤ò¶èÀÚ¤ê¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +break +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤ÎºÇ½é¤ËÄä»ß¤¹¤ë¤¿¤á¤Ë¡¢JVM¤Î¥Ç¥Ð¥Ã¥°»þ¤Î¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +compileonly +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò½ü¤¤¤¿¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤ò¡¢¥³¥ó¥Ñ¥¤¥ë¤«¤é½ü³°¤·¤Þ¤¹¡£Ê̤ÎÊýË¡¤È¤·¤Æ¡¢\fI\-XX:CompileOnly\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÊ£¿ô¤Î¥á¥½¥Ã¥É¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +dontinline +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò¥¤¥ó¥é¥¤¥ó²½¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +exclude +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤«¤é½ü³°¤·¤Þ¤¹¡£ +.RE +.PP +help +.RS 4 +\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤Î¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤ò°õºþ¤·¤Þ¤¹¡£ +.RE +.PP +inline +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò¥¤¥ó¥é¥¤¥ó²½¤·¤è¤¦¤È¤·¤Þ¤¹¡£ +.RE +.PP +log +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤ËÂФ·¤Æ¡¢(\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ)¥³¥ó¥Ñ¥¤¥ë¡¦¥í¥®¥ó¥°¤ò½ü³°¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤Ë¥í¥®¥ó¥°¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +option +.RS 4 +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ºÇ¸å¤Î°ú¿ô(\fIoption\fR)¤Î¤«¤ï¤ê¤Ë¡¢»ØÄꤷ¤¿¥á¥½¥Ã¥É¤ËJIT¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤Ï¡¢¥á¥½¥Ã¥É̾¤Î¸å¤ÎËöÈø¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIStringBuffer\fR¥¯¥é¥¹¤Î\fIappend()\fR¥á¥½¥Ã¥É¤ËÂФ·¤Æ\fIBlockLayoutByFrequency\fR¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileCommand=option,java/lang/StringBuffer\&.append,BlockLayoutByFrequency +.fi +.if n \{\ +.RE +.\} +¥«¥ó¥Þ¤Þ¤¿¤Ï¶õÇò¤Ç¶èÀڤäơ¢Ê£¿ô¤Î¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +print +.RS 4 +»ØÄꤷ¤¿¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¸å¤ËÀ¸À®¤µ¤ì¤¿¥¢¥»¥ó¥Ö¥é¡¦¥³¡¼¥É¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +quiet +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¡¦¥³¥Þ¥ó¥É¤ò½ÐÎϤ·¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIString\fR¥¯¥é¥¹¤Î\fIindexOf()\fR¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤«¤é½ü³°¤¹¤ë¾ì¹ç¡¢¼¡¤¬É¸½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CompilerOracle: exclude java/lang/String\&.indexOf +.fi +.if n \{\ +.RE +.\} +¾¤Î\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤ÎÁ°¤Ë\fI\-XX:CompileCommand=quiet\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤³¤ì¤òÍÞÀ©¤Ç¤­¤Þ¤¹¡£ +.RE +.RE +.PP +\-XX:CompileCommandFile=\fIfilename\fR +.RS 4 +JIT¥³¥ó¥Ñ¥¤¥é¡¦¥³¥Þ¥ó¥É¤ÎÆÉ¼è¤ê¸µ¤Î¥Õ¥¡¥¤¥ë¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢JIT¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë¥³¥Þ¥ó¥É¤ò³ÊǼ¤¹¤ë¤¿¤á¤Ë¡¢\fI\&.hotspot_compiler\fR¥Õ¥¡¥¤¥ë¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +¥³¥Þ¥ó¥É¡¦¥Õ¥¡¥¤¥ë¤Î³Æ¹Ô¤Ï¡¢¥³¥Þ¥ó¥É¤¬»ÈÍѤµ¤ì¤ë¥³¥Þ¥ó¥É¡¢¥¯¥é¥¹Ì¾¤ª¤è¤Ó¥á¥½¥Ã¥É̾¤òɽ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¹Ô¤Ï¡¢\fIString\fR¥¯¥é¥¹¤Î\fItoString()\fR¥á¥½¥Ã¥É¤ËÂФ·¤Æ¥¢¥»¥ó¥Ö¥ê¡¦¥³¡¼¥É¤ò½ÐÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +print java/lang/String toString +.fi +.if n \{\ +.RE +.\} +¥á¥½¥Ã¥É¤Ç¼Â¹Ô¤¹¤ëJIT¥³¥ó¥Ñ¥¤¥é¤Î¥³¥Þ¥ó¥É¤Î»ØÄê¤Î¾ÜºÙ¤Ï¡¢\fI\-XX:CompileCommand\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-XX:CompileOnly=\fImethods\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤òÀ©¸Â¤¹¤ë(¥«¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿)¥á¥½¥Ã¥É¤Î¥ê¥¹¥È¤òÀßÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥á¥½¥Ã¥É¤Î¤ß¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£´°Á´¥¯¥é¥¹Ì¾(¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à)¤Ç³Æ¥á¥½¥Ã¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIString\fR¥¯¥é¥¹¤Î\fIlength()\fR¥á¥½¥Ã¥É¤ª¤è¤Ó\fIList\fR¥¯¥é¥¹¤Î\fIsize()\fR¥á¥½¥Ã¥É¤Î¤ß¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileOnly=java/lang/String\&.length,java/util/List\&.size +.fi +.if n \{\ +.RE +.\} +¥¹¥é¥Ã¥·¥å(\fI/\fR)¤Ç¶èÀÚ¤é¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¡¢´°Á´¥¯¥é¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ÀÚ¼è¤ê¤ÈŽÉÕ¤±¤ÎÁàºî¤òÍÆ°×¤Ë¤¹¤ë¤¿¤á¤Ë¡¢\fI\-XX:+PrintCompilation\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥á¥½¥Ã¥É̾¤Î·Á¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileOnly=java\&.lang\&.String::length,java\&.util\&.List::size +.fi +.if n \{\ +.RE +.\} +¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤À¤±¤ò»ØÄꤷ¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤â¡¢¥á¥½¥Ã¥É¤À¤±¤ò»ØÄꤷ¤ÆÇ¤°Õ¤Î¥¯¥é¥¹¤Î¤³¤Î̾Á°¤ò»ý¤Ä¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileOnly=java/lang/String +\-XX:CompileOnly=java/lang +\-XX:CompileOnly=\&.length +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CompileThreshold=\fIinvocations\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ëÁ°¤Ë²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¡¼¥Ð¡¼JVM¤Ç¤Ï¡¢JIT¥³¥ó¥Ñ¥¤¥é¤Ï¡¢10,000¤Î²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò¼Â¹Ô¤·¤Æ¡¢¸úΨŪ¤Ê¥³¥ó¥Ñ¥¤¥ë¤Î¤¿¤á¤Î¾ðÊó¤ò¼ý½¸¤·¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥ÈJVM¤Î¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤Ï1,500¸Æ½Ð¤·¤Ç¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢²ò¼á¤µ¤ì¤¿¥á¥½¥Ã¥É¸Æ½Ð¤·¤Î¿ô¤ò5,000¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CompileThreshold=5000 +.fi +.if n \{\ +.RE +.\} +\fI\-Xcomp\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë¤ÎÁ°¤Ë¡¢Java¥á¥½¥Ã¥É¤Î²ò¼á¤ò´°Á´¤Ë̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:+DoEscapeAnalysis +.RS 4 +¥¨¥¹¥±¡¼¥×ʬÀϤλÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥¨¥¹¥±¡¼¥×ʬÀϤλÈÍѤò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-DoEscapeAnalysis\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+FailOverToOldVerifier +.RS 4 +¿·¤·¤¤¥¿¥¤¥×¡¦¥Á¥§¥Ã¥«¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Î¡¢¸Å¤¤¥Ù¥ê¥Õ¥¡¥¤¥¢¤Ø¤Î¼«Æ°¥Õ¥§¥¤¥ë¥ª¡¼¥Ð¡¼¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢ºÇ¶á¤Î¥Ð¥¤¥È¥³¡¼¥É¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤¿¥¯¥é¥¹¤Ë¤Ï¡¢¤³¤ì¤Ï̵»ë¤µ¤ì¤Þ¤¹(¤Ä¤Þ¤ê¡¢Ìµ¸ú¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹)¡£¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥Ð¥¤¥È¥³¡¼¥É¤ò»ÈÍѤ·¤¿¥¯¥é¥¹¤Ë¤Ï¡¢¤³¤ì¤òÍ­¸ú²½¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:InitialCodeCacheSize=\fIsize\fR +.RS 4 +½é´ü¥³¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ500KB¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢½é´ü¥³¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º¤ò32KB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InitialCodeCacheSize=32k +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+Inline +.RS 4 +¥á¥½¥Ã¥É¤Î¥¤¥ó¥é¥¤¥ó²½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¤Ë¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥á¥½¥Ã¥É¤Î¥¤¥ó¥é¥¤¥ó²½¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-Inline\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:InlineSmallCode=\fIsize\fR +.RS 4 +¥¤¥ó¥é¥¤¥ó²½¤¬É¬Íפʥ³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤ÎºÇÂ祳¡¼¥É¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£»ØÄꤷ¤¿¥µ¥¤¥º¤è¤ê¾®¤µ¤¤¥µ¥¤¥º¤Î¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤Î¤ß¤¬¡¢¥¤¥ó¥é¥¤¥ó²½¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ºÇÂ祳¡¼¥É¡¦¥µ¥¤¥º¤Ï1000¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InlineSmallCode=1000 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+LogCompilation +.RS 4 +¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë\fIhotspot\&.log\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¡¦¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î¥í¥®¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£\fI\-XX:LogFile\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢°Û¤Ê¤ë¥í¥°¡¦¥Õ¥¡¥¤¥ë¡¦¥Ñ¥¹¤È̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥³¥ó¥Ñ¥¤¥ë¡¦¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ïµ­Ï¿¤µ¤ì¤Þ¤»¤ó¡£\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ÇÃÇJVM¥ª¥×¥·¥ç¥ó¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë\fI\-XX:UnlockDiagnosticVMOptions\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fI\-XX:+PrintCompilation\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤Ó¤Ë¡¢¥³¥ó¥½¡¼¥ë¤Ë½ÐÎϤµ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤ò´Þ¤à¾ÜºÙ¤Ê¿ÇÃǽÐÎϤòÍ­¸ú²½¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:MaxInlineSize=\fIsize\fR +.RS 4 +¥¤¥ó¥é¥¤¥ó²½¤¹¤ë¥á¥½¥Ã¥É¤ÎºÇÂç¥Ð¥¤¥È¥³¡¼¥É¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ºÇÂç¥Ð¥¤¥È¥³¡¼¥É¡¦¥µ¥¤¥º¤Ï35¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxInlineSize=35 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxNodeLimit=\fInodes\fR +.RS 4 +ñ°ì¤Î¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë»ÈÍѤµ¤ì¤ë¥Î¡¼¥É¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Î¡¼¥É¤ÎºÇÂç¿ô¤Ï65,000¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxNodeLimit=65000 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxTrivialSize=\fIsize\fR +.RS 4 +¥¤¥ó¥é¥¤¥ó²½¤¹¤ëñ½ã¥á¥½¥Ã¥É¤ÎºÇÂç¥Ð¥¤¥È¥³¡¼¥É¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ã±½ã¥á¥½¥Ã¥É¤ÎºÇÂç¥Ð¥¤¥È¥³¡¼¥É¡¦¥µ¥¤¥º¤Ï6¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxTrivialSize=6 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+OptimizeStringConcat +.RS 4 +\fIString\fRÏ¢·ëÁàºî¤ÎºÇŬ²½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£\fIString\fRÏ¢·ëÁàºî¤ÎºÇŬ²½¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-OptimizeStringConcat\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+PrintAssembly +.RS 4 +³°Éô¤Î\fIdisassembler\&.so\fR¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ·¤Æ¡¢¥Ð¥¤¥È¥³¡¼¥É²½¤µ¤ì¤¿¥Í¥¤¥Æ¥£¥Ö¤Î¥á¥½¥Ã¥É¤Î¥¢¥»¥ó¥Ö¥ê¡¦¥³¡¼¥É¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÌäÂê¤Î¿ÇÃǤËÌòΩ¤Á¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¢¥»¥ó¥Ö¥ê¡¦¥³¡¼¥É¤Ï°õºþ¤µ¤ì¤Þ¤»¤ó¡£\fI\-XX:+PrintAssembly\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ÇÃÇJVM¥ª¥×¥·¥ç¥ó¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë\fI\-XX:UnlockDiagnosticVMOptions\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+PrintCompilation +.RS 4 +¥á¥½¥Ã¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤Ó¤Ë¡¢¥³¥ó¥½¡¼¥ë¤Ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢JVM¤«¤é¤Î¾ÜºÙ¤Ê¿ÇÃǽÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¼ÂºÝ¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥á¥½¥Ã¥É¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¿ÇÃǽÐÎϤϰõºþ¤µ¤ì¤Þ¤»¤ó¡£ +.sp +\fI\-XX:+LogCompilation\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë¡¦¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤ò¥Õ¥¡¥¤¥ë¤Ëµ­Ï¿¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:+PrintInlining +.RS 4 +¥¤¥ó¥é¥¤¥ó²½¤Î·èÄêÆâÍÆ¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥¤¥ó¥é¥¤¥ó²½¤µ¤ì¤ë¥á¥½¥Ã¥É¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥¤¥ó¥é¥¤¥ó²½¾ðÊó¤Ï½ÐÎϤµ¤ì¤Þ¤»¤ó¡£\fI\-XX:+PrintInlining\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ÇÃÇJVM¥ª¥×¥·¥ç¥ó¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë\fI\-XX:+UnlockDiagnosticVMOptions\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+RelaxAccessControlCheck +.RS 4 +¥Ù¥ê¥Õ¥¡¥¤¥¢Æâ¤Î¥¢¥¯¥»¥¹À©¸æ¥Á¥§¥Ã¥¯¤ÎÎ̤ò¸º¤é¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢ºÇ¶á¤Î¥Ð¥¤¥È¥³¡¼¥É¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤¿¥¯¥é¥¹¤Ë¤Ï¡¢¤³¤ì¤Ï̵»ë¤µ¤ì¤Þ¤¹(¤Ä¤Þ¤ê¡¢Ìµ¸ú¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹)¡£¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥Ð¥¤¥È¥³¡¼¥É¤ò»ÈÍѤ·¤¿¥¯¥é¥¹¤Ë¤Ï¡¢¤³¤ì¤òÍ­¸ú²½¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:ReservedCodeCacheSize=\fIsize\fR +.RS 4 +JIT¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥³¡¼¥É¤ÎºÇÂ祳¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xmaxjitcodesize\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:+TieredCompilation +.RS 4 +ÁØ¥³¥ó¥Ñ¥¤¥ë¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢ÁØ¥³¥ó¥Ñ¥¤¥ë¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseCodeCacheFlushing +.RS 4 +¥³¥ó¥Ñ¥¤¥é¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ëÁ°¤Ë¡¢¥³¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¤Î¥Õ¥é¥Ã¥·¥å¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ëÁ°¤Ë¥³¡¼¥É¡¦¥­¥ã¥Ã¥·¥å¤Î¥Õ¥é¥Ã¥·¥å¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï\fI\-XX:\-UseCodeCacheFlushing\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseCondCardMark +.RS 4 +¥«¡¼¥Éɽ¤Î¹¹¿·Á°¤Ë¡¢¥«¡¼¥É¤¬¤¹¤Ç¤Ë¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢Ê£¿ô¤Î¥½¥±¥Ã¥È¤ò»ý¤Ä¥Þ¥·¥ó¾å¤Ç¤Î¤ß»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Æ±»þÁàºî¤Ë¤«¤Ê¤ê°Í¸¤·¤Æ¤¤¤ëJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseSuperWord +.RS 4 +¥¹¥«¥é¡¼±é»»¤Î¥¹¡¼¥Ñ¡¼¥ï¡¼¥É±é»»¤Ø¤ÎÊÑ´¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥¹¥«¥é¡¼±é»»¤Î¥¹¡¼¥Ñ¡¼¥ï¡¼¥É±é»»¤Ø¤ÎÊÑ´¹¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseSuperWord\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.SS "¹âÅ٤ʥµ¡¼¥Ó¥¹¥¢¥Ó¥ê¥Æ¥£¡¦¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥à¾ðÊó¤ò¼ý½¸¤·¡¢¾ÜºÙ¤Ê¥Ç¥Ð¥Ã¥°¤ò¼Â¹Ô¤¹¤ëµ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£ +.PP +\-XX:+ExtendedDTraceProbes +.RS 4 +¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë±Æ¶Á¤òÍ¿¤¨¤ëÄɲäÎ\fIdtrace\fR¥Ä¡¼¥ë¡¦¥×¥í¡¼¥Ö¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢\fIdtrace\fR¤Ïɸ½à¥×¥í¡¼¥Ö¤Î¤ß¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-XX:+HeapDumpOnOutOfMemory +.RS 4 +\fIjava\&.lang\&.OutOfMemoryError\fRÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì¹ç¤Ë¡¢¥Ò¡¼¥×¡¦¥×¥í¥Õ¥¡¥¤¥é(HPROF)¤ò»ÈÍѤ·¤Æ¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤Ø¤ÎJava¥Ò¡¼¥×¤Î¥À¥ó¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£\fI\-XX:HeapDumpPath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥Ò¡¼¥×¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ª¤è¤Ó̾Á°¤òÌÀ¼¨Åª¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢\fIOutOfMemoryError\fRÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì¹ç¤Ë¥Ò¡¼¥×¤Ï¥À¥ó¥×¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:HeapDumpPath=\fIpath\fR +.RS 4 +\fI\-XX:+HeapDumpOnOutOfMemoryError\fR¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ò¡¼¥×¡¦¥×¥í¥Õ¥¡¥¤¥é(HPROF)¤¬Ä󶡤¹¤ë¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò½ñ¤­¹þ¤à¥Ñ¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë̾¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢Ì¾Á°¤Ï\fIjava_pid\fR\fIpid\fR\fI\&.hprof\fR +(\fIpid\fR¤Ï¥¨¥é¡¼¤Î¸¶°ø¤È¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Î¼±ÊÌ»Ò)¤Ë¤Ê¤ê¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥¡¥¤¥ë¤òÌÀ¼¨Åª¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹(\fI%p\fR¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤Î¼±Ê̻Ҥòɽ¤·¤Þ¤¹)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:HeapDumpPath=\&./java_pid%p\&.hprof +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ò¡¼¥×¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤ò\fI/var/log/java/java_heapdump\&.hprof\fR¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:HeapDumpPath=/var/log/java/java_heapdump\&.hprof +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:LogFile=\fIpath\fR +.RS 4 +¥í¥°¡¦¥Ç¡¼¥¿¤¬½ñ¤­¹þ¤Þ¤ì¤ë¥Ñ¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë̾¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢Ì¾Á°¤Ï\fIhotspot\&.log\fR¤Ç¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò\fI/var/log/java/hotspot\&.log\fR¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:LogFile=/var/log/java/hotspot\&.log +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+PrintClassHistogram +.RS 4 +\fI[Control]+[C]\fR¥¤¥Ù¥ó¥È(\fISIGTERM\fR)¸å¤Ë¥¯¥é¥¹¡¦¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥Ò¥¹¥È¥°¥é¥à¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤È¡¢\fIjmap \-histo\fR¥³¥Þ¥ó¥É¡¢¤Þ¤¿¤Ï\fIjcmd \fR\fIpid\fR\fI GC\&.class_histogram\fR¥³¥Þ¥ó¥É(\fIpid\fR¤Ï¸½ºß¤ÎJava¥×¥í¥»¥¹¤Î¼±ÊÌ»Ò)¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+PrintConcurrentLocks +.RS 4 +.sp +\fI[Control]+[C]\fR¥¤¥Ù¥ó¥È(\fISIGTERM\fR)¸å¤Ë\fIjava\&.util\&.concurrent\fR¥í¥Ã¥¯¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤È¡¢\fIjstack \-l\fR¥³¥Þ¥ó¥É¡¢¤Þ¤¿¤Ï\fIjcmd \fR\fIpid\fR\fI Thread\&.print \-l\fR¥³¥Þ¥ó¥É(\fIpid\fR¤Ï¸½ºß¤ÎJava¥×¥í¥»¥¹¤Î¼±ÊÌ»Ò)¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+UnlockDiagnosticVMOptions +.RS 4 +JVM¤Î¿ÇÃǤòÌÜŪ¤È¤·¤¿¥ª¥×¥·¥ç¥ó¤ò¥¢¥ó¥í¥Ã¥¯¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¿ÇÃÇ¥ª¥×¥·¥ç¥ó¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.RE +.SS "¹âÅ٤ʥ¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(GC)¤¬Java HotSpot VM¤Ë¤è¤Ã¤Æ¤É¤Î¤è¤¦¤Ë¼Â¹Ô¤µ¤ì¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£ +.PP +\-XX:+AggressiveHeap +.RS 4 +Java¥Ò¡¼¥×¤ÎºÇŬ²½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Î¹½À®(RAM¤ª¤è¤ÓCPU)¤Ë´ð¤Å¤¤¤Æ¡¢ÍÍ¡¹¤Ê¥Ñ¥é¥á¡¼¥¿¤¬¡¢¥á¥â¥ê¡¼³äÅö¤Æ¤¬½¸Ã椷¤¿Ä¹»þ´Ö¼Â¹Ô¥¸¥ç¥Ö¤ËºÇŬ¤Ë¤Ê¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢¥Ò¡¼¥×¤ÏºÇŬ²½¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:AllocatePrefetchDistance=\fIsize\fR +.RS 4 +¥ª¥Ö¥¸¥§¥¯¥È³äÅö¤Æ¤Î¥×¥ê¥Õ¥§¥Ã¥Áµ÷Î¥¤Î¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¿·µ¬¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃͤǽñ¤­¹þ¤â¤¦¤È¤¹¤ë¥á¥â¥ê¡¼¤Ï¡¢ºÇ¸å¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤«¤é¡¢¤³¤Îµ÷Î¥¤Þ¤Ç¥×¥ê¥Õ¥§¥Ã¥Á¤µ¤ì¤Þ¤¹¡£³ÆJava¥¹¥ì¥Ã¥É¤Ë¤ÏÆÈ¼«¤Î³äÅö¤Æ¥Ý¥¤¥ó¥È¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +Éé¤ÎÃͤϡ¢¥×¥ê¥Õ¥§¥Ã¥Áµ÷Î¥¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£Àµ¤ÎÃͤϡ¢¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¥Ð¥¤¥È¿ô¤Ç¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ\-1¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥×¥ê¥Õ¥§¥Ã¥Áµ÷Î¥¤ò1024¥Ð¥¤¥È¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocatePrefetchDistance=1024 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:AllocatePrefetchLines=\fIlines\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥³¡¼¥É¤ÇÀ¸À®¤µ¤ì¤ë¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤ò»ÈÍѤ·¤Æ¡¢ºÇ¸å¤Î¥ª¥Ö¥¸¥§¥¯¥È³äÅö¤Æ¸å¤Ë¥í¡¼¥É¤¹¤ë¥­¥ã¥Ã¥·¥å¹Ô¿ô¤òÀßÄꤷ¤Þ¤¹¡£ºÇ¸å¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¤¥ó¥¹¥¿¥ó¥¹¤Î¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤÏ1¤Ë¤Ê¤ê¡¢ÇÛÎó¤Î¾ì¹ç¤Ï3¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥í¡¼¥É¤µ¤ì¤ë¥­¥ã¥Ã¥·¥å¹Ô¿ô¤ò5¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:AllocatePrefetchLines=5 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:AllocatePrefetchStyle=\fIstyle\fR +.RS 4 +¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤ËÀ¸À®¤µ¤ì¤ë¥³¡¼¥É¡¦¥¹¥¿¥¤¥ë¤òÀßÄꤷ¤Þ¤¹¡£\fIstyle\fR°ú¿ô¤Ï¡¢0¤«¤é3¤Þ¤Ç¤ÎÀ°¿ô¤Ç¤¹¡£ +.PP +0 +.RS 4 +¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤òÀ¸À®¤·¤Þ¤»¤ó¡£ +.RE +.PP +1 +.RS 4 +³Æ³äÅö¤Æ¤Î¸å¤Ç¡¢¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥é¥á¡¼¥¿¤Ç¤¹¡£ +.RE +.PP +2 +.RS 4 +¥¹¥ì¥Ã¥É¡¦¥í¡¼¥«¥ë¤Ê³äÅö¤Æ¥Ö¥í¥Ã¥¯(TLAB)¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯¡¦¥Ý¥¤¥ó¥¿¤ò»ÈÍѤ·¤Æ¡¢¥×¥ê¥Õ¥§¥Ã¥ÁÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¥¿¥¤¥ß¥ó¥°¤ò·èÄꤷ¤Þ¤¹¡£ +.RE +.PP +3 +.RS 4 +³äÅö¤Æ¥×¥ê¥Õ¥§¥Ã¥ÁÍѤÎSPARC¤ÇBISÌ¿Îá¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.RE +.PP +\-XX:+AlwaysPreTouch +.RS 4 +JVM¤Î½é´ü²½Ãæ¤ËJava¥Ò¡¼¥×¾å¤Î¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤Î¥¿¥Ã¥Á¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢\fImain()\fR¥á¥½¥Ã¥É¤ÎÆþÎÏÁ°¤Ë¡¢¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤¬¥á¥â¥ê¡¼¤Ë¼èÆÀ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ÊªÍý¥á¥â¥ê¡¼¤Ë¥Þ¥Ã¥×¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î²¾ÁÛ¥á¥â¥ê¡¼¤ò´Þ¤àĹ»þ´Ö¼Â¹Ô¤Î¥·¥¹¥Æ¥à¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë¥Æ¥¹¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢JVM¥Ò¡¼¥×Îΰ褬¤¤¤Ã¤Ñ¤¤¤Ë¤Ê¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤¬¥³¥ß¥Ã¥È¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+CMSClassUnloadingEnabled +.RS 4 +ʹԥޡ¼¥¯¥¹¥¤¡¼¥×(CMS)¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¡¢¥¢¥ó¥í¡¼¥É¤¹¤ë¥¯¥é¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£CMS¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î¥¯¥é¥¹¡¦¥¢¥ó¥í¡¼¥É¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-CMSClassUnloadingEnabled\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:CMSExpAvgFactor=\fIpercent\fR +.RS 4 +ʹԥ³¥ì¥¯¥·¥ç¥óÅý·×¤Î»Ø¿ôÊ¿¶Ñ¤ò·×»»¤¹¤ëºÝ¤Ë¡¢¸½ºß¤Î¥µ¥ó¥×¥ë¤ò½Å¤ßÉÕ¤±¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢»Ø¿ôÊ¿¶Ñ·¸¿ô¤Ï25%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢·¸¿ô¤ò15%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSExpAvgFactor=15 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CMSIncrementalDutyCycle=\fIpercent\fR +.RS 4 +ʹԥ³¥ì¥¯¥¿¤Î¼Â¹Ô¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ë¥Þ¥¤¥Ê¡¼¡¦¥³¥ì¥¯¥·¥ç¥ó´Ö¤Î»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£\fI\-XX:+CMSIncrementalPacing\fR¤¬Í­¸ú¤Ê¾ì¹ç¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï½é´üÃͤΤߤòÀßÄꤷ¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Ï10%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤ò20%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSIncrementalDutyCycle=20 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CMSIncrementalDutyCycleMin=\fIpercent\fR +.RS 4 +\fI\-XX:+CMSIncrementalPacing\fR¤¬Í­¸ú¤Ê¾ì¹ç¤Ë¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î²¼¸Â¤Ç¤¢¤ë¥Þ¥¤¥Ê¡¼¡¦¥³¥ì¥¯¥·¥ç¥ó´Ö¤Î»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î²¼¸Â¤Ï0%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢²¼¸Â¤ò10%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSIncrementalDutyCycleMin=10 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+CMSIncrementalMode +.RS 4 +CMS¥³¥ì¥¯¥¿¤ÎÁýʬ¥â¡¼¥É¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢2¤Ä°Ê²¼¤ÎGC¥¹¥ì¥Ã¥É¤ò»ý¤Ä¹½À®¤Ë¤Î¤ßÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fICMSIncremental\fR¤Ç»Ï¤Þ¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Í­¸ú¤Ê¾ì¹ç¤Î¤ß¡¢Å¬ÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:CMSIncrementalOffset=\fIpercent\fR +.RS 4 +Áýʬ¥â¡¼¥É¤Î¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤ò¥Þ¥¤¥Ê¡¼¡¦¥³¥ì¥¯¥·¥ç¥ó´Ö¤Ç´ü´ÖÆâ¤Ë±¦¤Ë°Üư¤¹¤ë»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥ª¥Õ¥»¥Ã¥È¤Ï0%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î¥ª¥Õ¥»¥Ã¥È¤ò25%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSIncrementalOffset=25 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+CMSIncrementalPacing +.RS 4 +JVM¤Î¼Â¹ÔÃæ¤Ë¼ý½¸¤µ¤ì¤¿Åý·×¤Ë´ð¤Å¤¤¤Æ¡¢Áýʬ¥â¡¼¥É¤Î¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î¼«Æ°Ä´À°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Áýʬ¥â¡¼¥É¡¦¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤Î¼«Æ°Ä´À°¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-CMSIncrementalPacing\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:CMSIncrementalSafetyFactor=\fIpercent\fR +.RS 4 +¥Ç¥å¡¼¥Æ¥£¡¦¥µ¥¤¥¯¥ë¤ò·×»»¤¹¤ëºÝ¤Ë¡¢Êݼé¤òÄɲ乤뤿¤á¤Ë»ÈÍѤµ¤ì¤ë»þ´Ö¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢°ÂÁ´·¸¿ô¤Ï10%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢°ÂÁ´·¸¿ô¤ò5%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSIncrementalSafetyFactor=5 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:CMSInitiatingOccupancyFraction=\fIpercent\fR +.RS 4 +CMS¼ý½¸¥µ¥¤¥¯¥ë¤ò³«»Ï¤¹¤ë¸Å¤¤À¤Âå¤ÎÀêͭΨ(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ\-1¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£Éé¤ÎÃÍ(¥Ç¥Õ¥©¥ë¥È¤ò´Þ¤à)¤Ï¡¢\fI\-XX:CMSTriggerRatio\fR¤¬³«»ÏÀêͭΨ¤ÎÃͤòÄêµÁ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ÀêͭΨ¤ò20%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSInitiatingOccupancyFraction=20 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+CMSScavengeBeforeRemark +.RS 4 +CMS¥³¥á¥ó¥È¡¦¥¹¥Æ¥Ã¥×¤ÎÁ°¤Ë¥¹¥«¥Ù¥ó¥¸¤Î»î¹Ô¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:CMSTriggerRatio=\fIpercent\fR +.RS 4 +CMS¼ý½¸¥µ¥¤¥¯¥ë¤¬³«»Ï¤¹¤ëÁ°¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë\fI\-XX:MinHeapFreeRatio\fR¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ëÃͤγä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ80%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ÀêͭΨ¤ò75%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:CMSTriggerRatio=75 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:ConcGCThreads=\fIthreads\fR +.RS 4 +ʹÔGC¤Ë»ÈÍѤµ¤ì¤ë¥¹¥ì¥Ã¥É¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢JVM¤Ë»ÈÍѤǤ­¤ëCPU¤Î¿ô¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢Ê¹ÔGC¤Î¥¹¥ì¥Ã¥É¿ô¤ò2¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ConcGCThreads=2 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+DisableExplicitGC +.RS 4 +\fISystem\&.gc()\fR¤Î¸Æ½Ð¤·¤Î½èÍý¤ò̵¸ú¤Ë¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¤³¤ì¤Ï\fISystem\&.gc()\fR¤Ø¤Î¸Æ½Ð¤·¤¬½èÍý¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\fISystem\&.gc()\fR¤Î¸Æ½Ð¤·¤Î½èÍý¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢JVM¤ÏɬÍפ˱þ¤¸¤ÆGC¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-XX:+ExplicitGCInvokesConcurrent +.RS 4 +\fISystem\&.gc()\fR¥ê¥¯¥¨¥¹¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Ê¹ÔGC¤Î¸Æ½Ð¤·¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢\fI\-XX:+UseConcMarkSweepGC\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Î¤ß¡¢Í­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses +.RS 4 +\fISystem\&.gc()\fR¥ê¥¯¥¨¥¹¥È¤ò»ÈÍѤ·¡¢Ê¹ÔGC¥µ¥¤¥¯¥ëÃæ¤Ë¥¯¥é¥¹¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Ê¹ÔGC¤Î¸Æ½Ð¤·¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢\fI\-XX:+UseConcMarkSweepGC\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Î¤ß¡¢Í­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:G1HeapRegionSize=\fIsize\fR +.RS 4 +¥¬¥Ù¡¼¥¸¥Õ¥¡¡¼¥¹¥È(G1)¥³¥ì¥¯¥¿¤ò»ÈÍѤ¹¤ëºÝ¤ËJava¥Ò¡¼¥×¤òºÙʬ²½¤¹¤ë¥ê¡¼¥¸¥ç¥ó¤Î¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£Ãͤˤϡ¢1MB¤«¤é32MB¤Þ¤Ç¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥ê¡¼¥¸¥ç¥ó¡¦¥µ¥¤¥º¤Ï¡¢¥Ò¡¼¥×¡¦¥µ¥¤¥º¤Ë´ð¤Å¤¤¤Æ¿Í´Ö¹©³ØÅª¤Ë·èÄꤵ¤ì¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ºÙʬ²½¤µ¤ì¤¿¥µ¥¤¥º¤ò16MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:G1HeapRegionSize=16m +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+G1PrintHeapRegions +.RS 4 +³ä¤êÅö¤Æ¤é¤ì¤¿¥ê¡¼¥¸¥ç¥ó¤ª¤è¤ÓG1¥³¥ì¥¯¥¿¤Ë¤è¤Ã¤ÆºÆÍ׵ᤵ¤ì¤¿¤â¤Î¤Ë´Ø¤¹¤ë¾ðÊó¤Î°õºþ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:G1ReservePercent=\fIpercent\fR +.RS 4 +G1¥³¥ì¥¯¥¿¤Î¾º³Ê¤¬¼ºÇÔ¤¹¤ë²ÄǽÀ­¤ò¸º¤é¤¹¤¿¤á¤Îfalse¤Î¾å¸Â¤È¤·¤ÆÍ½Ì󤵤줿¥Ò¡¼¥×¤Î³ä¹ç(0¤«¤é50¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï10%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢Í½Ì󤵤줿¥Ò¡¼¥×¤ò20%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:G1ReservePercent=20 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:InitialHeapSize=\fIsize\fR +.RS 4 +¥á¥â¥ê¡¼³äÅö¤Æ¥×¡¼¥ë¤Î½é´ü¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢0¡¢¤Þ¤¿¤Ï1MB¤è¤êÂ礭¤¤1024¤ÎÇÜ¿ô¤Î¤¤¤º¤ì¤«¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¹½À®¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.html¤Ë¤¢¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¡¦¥¨¥ë¥´¥Î¥ß¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¡¼¤Î¥µ¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ6MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InitialHeapSize=6291456 +\-XX:InitialHeapSize=6144k +\-XX:InitialHeapSize=6m +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò0¤ËÀßÄꤷ¤¿¾ì¹ç¡¢½é´ü¥µ¥¤¥º¤Ï¡¢¸Å¤¤À¤Âå¤È¼ã¤¤À¤Âå¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥µ¥¤¥º¤Î¹ç·×¤È¤·¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥Ò¡¼¥×¤Î¥µ¥¤¥º¤Ï¡¢\fI\-XX:NewSize\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÀßÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-XX:InitialSurvivorRatio=\fIratio\fR +.RS 4 +¥¹¥ë¡¼¥×¥Ã¥È¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤¬»ÈÍѤ¹¤ë¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ¤òÀßÄꤷ¤Þ¤¹(\fI\-XX:+UseParallelGC\fR¤ª¤è¤Ó/¤Þ¤¿¤Ï\fI\-XX:+UseParallelOldGC\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹)¡£\fI\-XX:+UseParallelGC\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-XX:+UseParallelOldGC\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¹¥ë¡¼¥×¥Ã¥È¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤ÇŬ±þ¥µ¥¤¥º»ØÄê¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤·¤Þ¤¹¡£½é´üÃͤ«¤é»Ï¤á¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Îưºî¤Ë½¾¤Ã¤Æ¡¢¥µ¥Ð¥¤¥ÐÎΰ褬¥µ¥¤¥ºÊѹ¹¤µ¤ì¤Þ¤¹¡£(\fI\-XX:\-UseAdaptiveSizePolicy\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ)Ŭ±þ¥µ¥¤¥º»ØÄê¤ò̵¸ú¤Ë¤·¤¿¾ì¹ç¡¢\fI\-XX:SurvivorRatio\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹ÔÁ´ÂΤΥµ¥Ð¥¤¥ÐÎΰè¤Î¥µ¥¤¥º¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¼¡¤Î¼°¤ò»ÈÍѤ·¤Æ¡¢¼ã¤¤À¤Âå¤Î¥µ¥¤¥º(Y)¤ª¤è¤Ó¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ(R)¤Ë´ð¤Å¤¤¤Æ¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´ü¥µ¥¤¥º(S)¤ò·×»»¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +S=Y/(R+2) +.fi +.if n \{\ +.RE +.\} +Åù¼°Æâ¤Î2¤Ï¡¢2¤Ä¤Î¥µ¥Ð¥¤¥ÐÎΰè¤ò¼¨¤·¤Þ¤¹¡£¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ¤Ë»ØÄꤹ¤ëÃͤòÂ礭¤¯¤¹¤ë¤È¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´ü¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ¤Ï8¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼ã¤¤À¤Âå¤ÎÎΰ襵¥¤¥º¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ(2MB)¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´ü¥µ¥¤¥º¤Ï0\&.2MB¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥µ¥Ð¥¤¥ÐÎΰè¤Î½é´üÈæ¤ò4¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InitialSurvivorRatio=4 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:InitiatingHeapOccupancyPercent=\fIpercent\fR +.RS 4 +ʹÔGC¥µ¥¤¥¯¥ë¤ò³«»Ï¤¹¤ë¥Ò¡¼¥×ÀêͭΨ(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢1¤Ä¤ÎÀ¤Âå¤Î¤ß(¤¿¤È¤¨¤ÐG1¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ê¤É)¤Ç¤Ï¤Ê¤¯¡¢¥Ò¡¼¥×Á´ÂΤÎÀêÍ­¤Ë´ð¤Å¤¤¤ÆÊ¹ÔGC¥µ¥¤¥¯¥ë¤ò¥È¥ê¥¬¡¼¤¹¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³«»ÏÃͤÏ45%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ÃÍ0¤Ï¡¢GC¥µ¥¤¥¯¥ë¤¬Ää»ß¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢³«»Ï¥Ò¡¼¥×ÀêͭΨ¤ò75%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:InitiatingHeapOccupancyPercent=75 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxGCPauseMillis=\fItime\fR +.RS 4 +ºÇÂçGCµÙ»ß»þ´Ö(¥ß¥êÉÃñ°Ì)¤Î¥¿¡¼¥²¥Ã¥È¤òÀßÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¥½¥Õ¥È¡¦¥´¡¼¥ë¤Î¤¿¤á¡¢JVM¤Ï¼Â¸½¤Î¤¿¤á¤ËºÇÁ±¤ÎÅØÎϤò¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢µÙ»ß»þ´Ö¤ÎºÇÂçÃͤϤ¢¤ê¤Þ¤»¤ó¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ºÇÂ祿¡¼¥²¥Ã¥ÈµÙ»ß»þ´Ö¤ò500¥ß¥êÉäËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxGCPauseMillis=500 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxHeapSize=\fIsize\fR +.RS 4 +¥á¥â¥ê¡¼³äÅö¤Æ¥×¡¼¥ë¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£»ØÄꤹ¤ëÃͤϡ¢2MB¤è¤êÂ礭¤¤1024¤ÎÇÜ¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¹½À®¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¡¦¥Ç¥×¥í¥¤¥á¥ó¥È¤Ç¤Ï¡¢\fI\-XX:InitialHeapSize\fR¤ª¤è¤Ó\fI\-XX:MaxHeapSize\fR¤ÏÄÌ¾ïÆ±¤¸ÃͤËÀßÄꤵ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.html¤Ë¤¢¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¡¦¥¨¥ë¥´¥Î¥ß¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¡¼¤Îµö²Ä¤µ¤ì¤ëºÇÂ祵¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ80MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxHeapSize=83886080 +\-XX:MaxHeapSize=81920k +\-XX:MaxHeapSize=80m +.fi +.if n \{\ +.RE +.\} +Oracle Solaris 7¤ª¤è¤ÓOracle Solaris 8 SPARC¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¤³¤ÎÃͤξå¸Â¤Ï¡¢¤ª¤è¤½4,000MB¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£Oracle Solaris 2\&.6¤ª¤è¤Óx86¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½2,000MB¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£Linux¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½2,000MB¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£ +.sp +\fI\-XX:MaxHeapSize\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xmx\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:MaxHeapFreeRatio=\fIpercent\fR +.RS 4 +GC¥¤¥Ù¥ó¥È¸å¤Î¶õ¤­¥Ò¡¼¥×Îΰè¤Îµö²Ä¤µ¤ì¤Æ¤¤¤ëºÇÂç¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¶õ¤­¥Ò¡¼¥×Îΰ褬¤³¤ÎÃͤòͤ¨¤Æ³ÈÂ礷¤¿¾ì¹ç¡¢¤½¤Î¥Ò¡¼¥×¤Ï½Ì¾®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ÎÃͤÏ70%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¶õ¤­¥Ò¡¼¥×¤ÎºÇÂçÈæÎ¨¤ò75%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxHeapFreeRatio=75 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxMetaspaceSize=\fIsize\fR +.RS 4 +¥¯¥é¥¹¡¦¥á¥¿¥Ç¡¼¥¿¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤ë¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥â¥ê¡¼¤ÎºÇÂçÎ̤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥µ¥¤¥º¤ÏÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¿¥Ç¡¼¥¿¤ÎÎ̤ϡ¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¼«ÂΡ¢Â¾¤Î¼Â¹ÔÃæ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¢¤ª¤è¤Ó¥·¥¹¥Æ¥à¤Ç»ÈÍѲÄǽ¤Ê¥á¥â¥ê¡¼¤ÎÎ̤ˤè¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥á¥¿¥Ç¡¼¥¿¤ÎºÇÂ祵¥¤¥º¤ò256MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxMetaspaceSize=256m +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MaxNewSize=\fIsize\fR +.RS 4 +¼ã¤¤À¤Âå(¥Ê¡¼¥µ¥ê)¤Î¥Ò¡¼¥×¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϿʹֹ©³ØÅª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:MaxTenuringThreshold=\fIthreshold\fR +.RS 4 +Ŭ±þGC¥µ¥¤¥º»ØÄê¤Ç»ÈÍѤ¹¤ëºÇÂçÅÂÆ²Æþ¤ê¤·¤­¤¤ÃͤòÀßÄꤷ¤Þ¤¹¡£ºÇÂçÃͤÏ15¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¥Ñ¥é¥ì¥ë(¥¹¥ë¡¼¥×¥Ã¥È)¥³¥ì¥¯¥¿¤Î¾ì¹ç¤Ï15¡¢CMS¥³¥ì¥¯¥¿¤Î¾ì¹ç¤Ï6¤Ç¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢ºÇÂçÅÂÆ²Æþ¤ê¤·¤­¤¤Ãͤò10¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MaxTenuringThreshold=10 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:MetaspaceSize=\fIsize\fR +.RS 4 +ºÇ½é¤Ëͤ¨¤¿¤È¤­¤Ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤ò¥È¥ê¥¬¡¼¤¹¤ë¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥¯¥é¥¹¡¦¥á¥¿¥Ç¡¼¥¿Îΰè¤Î¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¤·¤­¤¤Ãͤϡ¢»ÈÍѤµ¤ì¤ë¥á¥¿¥Ç¡¼¥¿¤ÎÎ̤ˤè¤Ã¤ÆÁý²Ã¤Þ¤¿¤Ï¸º¾¯¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:MinHeapFreeRatio=\fIpercent\fR +.RS 4 +GC¥¤¥Ù¥ó¥È¸å¤Î¶õ¤­¥Ò¡¼¥×Îΰè¤Îµö²Ä¤µ¤ì¤Æ¤¤¤ëºÇ¾®¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¶õ¤­¥Ò¡¼¥×Îΰ褬¤³¤ÎÃͤò²¼²ó¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Ò¡¼¥×¤Ï³ÈÂ礷¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ÎÃͤÏ40%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¶õ¤­¥Ò¡¼¥×¤ÎºÇ¾®ÈæÎ¨¤ò25%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:MinHeapFreeRatio=25 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:NewRatio=\fIratio\fR +.RS 4 +¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤È¸Å¤¤À¤Âå¤Î¥µ¥¤¥º¤È¤ÎÈæÎ¨¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï2¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¼ã¤¤/¸Å¤¤¤ÎÈæÎ¨¤ò1¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:NewRatio=1 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:NewSize=\fIsize\fR +.RS 4 +¼ã¤¤À¤Âå(¥Ê¡¼¥µ¥ê)¤Î¥Ò¡¼¥×¤Î½é´ü¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£ +.sp +¥Ò¡¼¥×¤Î¼ã¤¤À¤Âå¥ê¡¼¥¸¥ç¥ó¤Ï¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£GC¤Ï¡¢Â¾¤Î¥ê¡¼¥¸¥ç¥ó¤è¤ê¤³¤Î¥ê¡¼¥¸¥ç¥ó¤Ç¡¢¤è¤êÉÑÈˤ˼¹Ԥµ¤ì¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤¬¾®¤µ¤¹¤®¤ë¾ì¹ç¡¢Â¿¿ô¤Î¥Þ¥¤¥Ê¡¼GC¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥µ¥¤¥º¤¬Â礭¤¹¤®¤ë¾ì¹ç¡¢¥Õ¥ëGC¤Î¤ß¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¤¬¡¢´°Î»¤Þ¤Ç¤Ë»þ´Ö¤¬¤«¤«¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¼ã¤¤À¤Âå¤Î¥µ¥¤¥º¤Ï¡¢Á´ÂΤΥҡ¼¥×¡¦¥µ¥¤¥º¤ÎȾʬ¤«¤é4ʬ¤Î1¤Î´Ö¤Ë¤·¤Æ¤ª¤¯¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¼ã¤¤À¤Âå¤Î½é´ü¥µ¥¤¥º¤òÍÍ¡¹¤Êñ°Ì¤ò»ÈÍѤ·¤Æ256MB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:NewSize=256m +\-XX:NewSize=262144k +\-XX:NewSize=268435456 +.fi +.if n \{\ +.RE +.\} +\fI\-XX:NewSize\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-Xmn\fR¤ÈƱÅù¤Ç¤¹¡£ +.RE +.PP +\-XX:ParallelGCThreads=\fIthreads\fR +.RS 4 +¼ã¤¤À¤Âå¤È¸Å¤¤À¤Âå¤Ç¥Ñ¥é¥ì¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Ë»ÈÍѤ¹¤ë¥¹¥ì¥Ã¥É¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢JVM¤Ë»ÈÍѤǤ­¤ëCPU¤Î¿ô¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¥Ñ¥é¥ì¥ëGC¤Î¥¹¥ì¥Ã¥É¿ô¤ò2¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:ParallelGCThreads=2 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+ParallelRefProcEnabled +.RS 4 +¥Ñ¥é¥ì¥ë»²¾È½èÍý¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintAdaptiveSizePolicy +.RS 4 +Ŭ±þÀ¤Â奵¥¤¥º»ØÄê¤Ë´Ø¤¹¤ë¾ðÊó¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGC +.RS 4 +GC¤´¤È¤Î¥á¥Ã¥»¡¼¥¸¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCApplicationConcurrentTime +.RS 4 +ºÇ¸å¤ÎµÙ»ß(¤¿¤È¤¨¤ÐGCµÙ»ß¤Ê¤É)°Ê¹ß¤Ë·Ð²á¤·¤¿»þ´Ö¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCApplicationStoppedTime +.RS 4 +µÙ»ß(¤¿¤È¤¨¤ÐGCµÙ»ß¤Ê¤É)¤¬·Ñ³¤·¤¿»þ´Ö¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX+PrintGCDateStamp +.RS 4 +GC¤´¤È¤ÎÆüÉÕ¥¹¥¿¥ó¥×¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCDetails +.RS 4 +GC¤´¤È¤Î¾ÜºÙ¥á¥Ã¥»¡¼¥¸¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCTaskTimeStamps +.RS 4 +¸Ä¡¹¤ÎGC¥ï¡¼¥«¡¼¡¦¥¹¥ì¥Ã¥É¡¦¥¿¥¹¥¯¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintGCTimeStamp +.RS 4 +GC¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+PrintTenuringDistribution +.RS 4 +ÅÂÆ²Æþ¤ê´ü´Ö¾ðÊó¤Î½ÐÎϤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¼¡¤Ë¡¢½ÐÎϤÎÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Desired survivor size 48286924 bytes, new threshold 10 (max 10) +\- age 1: 28992024 bytes, 28992024 total +\- age 2: 1366864 bytes, 30358888 total +\- age 3: 1425912 bytes, 31784800 total +\&.\&.\&. +.fi +.if n \{\ +.RE +.\} +´ü´Ö1¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢ºÇ¤â¼ã¤¤¥µ¥Ð¥¤¥Ð¤Ç¤¹(Á°¤Î¥¹¥«¥Ù¥ó¥¸¤Î¸å¤ËºîÀ®¤µ¤ì¡¢ºÇ¿·¤Î¥¹¥«¥Ù¥ó¥¸¤Ç¸³¤·¡¢EdenÎΰ褫¤é¥µ¥Ð¥¤¥ÐÎΰè¤Ë°Üư¤·¤Þ¤·¤¿)¡£´ü´Ö2¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢2¤Ä¤Î¥¹¥«¥Ù¥ó¥¸¤Ç¸³¤·¤Þ¤¹(2ÈÖÌܤΥ¹¥«¥Ù¥ó¥¸Ãæ¤Ë¡¢¤¢¤ë¥µ¥Ð¥¤¥ÐÎΰ褫¤é¼¡¤ÎÎΰè¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤·¤¿)¡£¤³¤Î¤è¤¦¤Ë³¤­¤Þ¤¹¡£ +.sp +Á°½Ò¤ÎÎã¤Ç¤Ï¡¢28,992,024¥Ð¥¤¥È¤¬1¤Ä¤Î¥¹¥«¥Ù¥ó¥¸¤Ç¸³¤·¡¢EdenÎΰ褫¤é¥µ¥Ð¥¤¥ÐÎΰè¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤·¤¿¡£1,366,864¥Ð¥¤¥È¤Ï´ü´Ö2¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤É¤Ë¤è¤êÀêÍ­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£³Æ¹Ô¤Î3ÈÖÌܤÎÃͤϡ¢´ü´Ön°Ê²¼¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÎßÀÑ¥µ¥¤¥º¤Ç¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£ +.RE +.PP +\-XX:+ScavengeBeforeFullGC +.RS 4 +¤½¤ì¤¾¤ì¤Î¥Õ¥ëGC¤ÎÁ°¤Ë¼ã¤¤À¤Âå¤ÎGC¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥Õ¥ëGC¤ÎÁ°¤Ë¼ã¤¤À¤Âå¤Î¥¹¥«¥Ù¥ó¥¸¤ò¹Ô¤¦¤È¡¢¸Å¤¤À¤ÂåÎΰ褫¤é¼ã¤¤À¤ÂåÎÎ°è¤Ø¤Î¥¢¥¯¥»¥¹¤¬²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¿ô¤ò¸º¤é¤¹¤³¤È¤¬¤Ç¤­¤ë¤¿¤á¡¢¤³¤ì¤ò̵¸ú¤Ë\fI¤·¤Ê¤¤\fR¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£³Æ¥Õ¥ëGC¤ÎÁ°¤Ë¼ã¤¤À¤Âå¤ÎGC¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-ScavengeBeforeFullGC\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:SoftRefLRUPolicyMSPerMB=\fItime\fR +.RS 4 +¥½¥Õ¥È¡¦¥¢¥¯¥»¥¹¤¬²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤¬ºÇ¸å¤Ë»²¾È¤µ¤ì¤Æ¤«¤é¥Ò¡¼¥×¾å¤Ç¥¢¥¯¥Æ¥£¥Ö¤Ê¤Þ¤Þ¤Ë¤Ê¤Ã¤Æ¤¤¤ë»þ´Ö(¥ß¥êÉÃñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¥Ò¡¼¥×Æâ¤Î¶õ¤­¥á¥¬¥Ð¥¤¥ÈÅö¤¿¤ê¤Ç1Éäθ³´ü´Ö¤Ç¤¹¡£\fI\-XX:SoftRefLRUPolicyMSPerMB\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Î¥Ò¡¼¥×¡¦¥µ¥¤¥º(Java HotSpot Client VMÍÑ)¤Þ¤¿¤ÏºÇÂç²Äǽ¥Ò¡¼¥×¡¦¥µ¥¤¥º(Java HotSpot Server VMÍÑ)¤Î1¥á¥¬¥Ð¥¤¥ÈÅö¤¿¤ê¤Î¥ß¥êÉäòɽ¤¹À°¿ôÃͤò¼õ¤±Æþ¤ì¤Þ¤¹¡£¤³¤Î°ã¤¤¤Ï¡¢Client VM¤Ï¡¢¥Ò¡¼¥×¤òÂ礭¤¯¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥½¥Õ¥È»²¾È¤ò¥Õ¥é¥Ã¥·¥å¤¹¤ë·¹¸þ¤¬¤¢¤ë¤Î¤ËÂФ·¡¢Server VM¤Ï¡¢¥½¥Õ¥È»²¾È¤ò¥Õ¥é¥Ã¥·¥å¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥Ò¡¼¥×¤òÂ礭¤¯¤¹¤ë·¹¸þ¤¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¡¢\fI\-Xmx\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¥½¥Õ¥È»²¾È¤¬¤É¤Î¤¯¤é¤¤¿×®¤Ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤µ¤ì¤ë¤«¤Ë½ÅÍפʱƶÁ¤òµÚ¤Ü¤·¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢Ãͤò2\&.5ÉäËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:SoftRefLRUPolicyMSPerMB=2500 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:SurvivorRatio=\fIratio\fR +.RS 4 +EdenÎΰè¤Î¥µ¥¤¥º¤È¥µ¥Ð¥¤¥ÐÎΰè¤Î¥µ¥¤¥º¤È¤ÎÈæÎ¨¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï8¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢Eden/¥µ¥Ð¥¤¥ÐÎΰè¤ÎÈæÎ¨¤ò4¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:SurvivorRatio=4 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:TargetSurvivorRatio=\fIpercent\fR +.RS 4 +¼ã¤¤¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¸å¤Ë»ÈÍѤµ¤ì¤ë¥µ¥Ð¥¤¥ÐÎΰè¤ÎÌÜŪ¤Î³ä¹ç(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï50%¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤Î¥µ¥Ð¥¤¥ÐÎΰè¤ÎÈæÎ¨¤ò30%¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:TargetSurvivorRatio=30 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:TLABSize=\fIsize\fR +.RS 4 +¥¹¥ì¥Ã¥É¡¦¥í¡¼¥«¥ë¤Ê³äÅö¤Æ¥Ð¥Ã¥Õ¥¡(TLAB)¤Î½é´ü¥µ¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIk\fR¤Þ¤¿¤Ï\fIK\fR¡¢¥á¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIm\fR¤Þ¤¿¤Ï\fIM\fR¡¢¥®¥¬¥Ð¥¤¥È¤ò¼¨¤¹¾ì¹ç¤Ïʸ»ú\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬0¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢JVM¤Ç¤Ï½é´ü¥µ¥¤¥º¤¬¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢TLAB¤Î½é´ü¥µ¥¤¥º¤ò512KB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-XX:TLABSize=512k +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-XX:+UseAdaptiveSizePolicy +.RS 4 +Ŭ±þÀ¤Â奵¥¤¥º»ØÄê¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Å¬±þÀ¤Â奵¥¤¥º»ØÄê¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseAdaptiveSizePolicy\fR¤ò»ØÄꤷ¡¢¥á¥â¥ê¡¼³äÅö¤Æ¥×¡¼¥ë¤Î¥µ¥¤¥º¤òÌÀ¼¨Åª¤ËÀßÄꤷ¤Þ¤¹(\fI\-XX:SurvivorRatio\fR¥ª¥×¥·¥ç¥ó¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤)¡£ +.RE +.PP +\-XX:+UseCMSInitiatingOccupancyOnly +.RS 4 +CMS¥³¥ì¥¯¥¿¤Î³«»Ï¤Î¤¿¤á¤ÎÍ£°ì¤Î´ð½à¤È¤·¤Æ¤ÎÀêÍ­ÃͤλÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢Â¾¤Î´ð½à¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseConcMarkSweepGC +.RS 4 +¸Å¤¤À¤Â夨¤ÎCMS¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÂÔµ¡»þ´Ö¤ÎÍ×·ï¤ò¡¢¥¹¥ë¡¼¥×¥Ã¥È(\fI\-XX:+UseParallelGC\fR)¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ë¤è¤Ã¤ÆËþ¤¿¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¡¢CMS¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£G1¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿(\fI\-XX:+UseG1GC\fR)¤ÏÊ̤ÎÂåÂØ¤È¤Ê¤ê¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥³¥ì¥¯¥¿¤Ï¡¢¥Þ¥·¥ó¤Î¹½À®¤ª¤è¤ÓJVM¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤Æ¡¢¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë¤È¡¢\fI\-XX:+UseParNewGC\fR¥ª¥×¥·¥ç¥ó¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseG1GC +.RS 4 +G1¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¥µ¡¼¥Ð¡¼·Á¼°¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ç¡¢ÂçÎ̤ÎRAM¤ò»ý¤Ä¥Þ¥ë¥Á¥×¥í¥»¥Ã¥µ¡¦¥Þ¥·¥ó¤òÂоݤȤ·¤Æ¤¤¤Þ¤¹¡£¹â¤¤³ÎΨ¤ÇGCµÙ»ß»þ´Ö¤ÎÌÜɸ¤òãÀ®¤·¡¢Æ±»þ¤ËŬÀڤʥ¹¥ë¡¼¥×¥Ã¥È¤â°Ý»ý¤·¤Þ¤¹¡£G1¥³¥ì¥¯¥¿¤Ï¡¢GCÂÔµ¡»þ´Ö¤Î¸ÂÄꤵ¤ì¤¿Í×·ï(°ÂÄꤷ¤¿Í½Â¬²Äǽ¤Ê0\&.5ÉÃ̤Ëþ¤ÎµÙ»ß»þ´Ö)¤ò»ý¤Ä¡¢Â礭¤¤¥Ò¡¼¥×(Ìó6GB°Ê¾å¤Î¥µ¥¤¥º)¤¬É¬Íפʥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¿ä¾©¤µ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥³¥ì¥¯¥¿¤Ï¡¢¥Þ¥·¥ó¤Î¹½À®¤ª¤è¤ÓJVM¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤Æ¡¢¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseGCOverheadLimit +.RS 4 +\fIOutOfMemoryError\fRÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤ë¤Þ¤Ç¤Ë¡¢GC¤ÇJVM¤Ë¤è¤Ã¤ÆÍפ·¤¿»þ´Ö¤Î³ä¹ç¤òÀ©¸Â¤¹¤ë¥Ý¥ê¥·¡¼¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Ë¹ç·×»þ´Ö¤Î98%¤è¤ê¿¤¯Èñ¤ä¤µ¤ì¡¢¥Ò¡¼¥×¤Î¥ê¥«¥Ð¥ê¤¬2%̤Ëþ¤Ç¤¢¤ë¾ì¹ç¡¢¥Ñ¥é¥ì¥ëGC¤Ë¤è¤Ã¤Æ\fIOutOfMemoryError\fR¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£¥Ò¡¼¥×¤¬¾®¤µ¤¤¾ì¹ç¡¢¤³¤Îµ¡Ç½¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Ä¹´ü´Ö¤Û¤È¤ó¤É¤Þ¤¿¤Ï¤Þ¤Ã¤¿¤¯¿ÊĽ¤Ê¤¯¼Â¹Ô¤·¤Æ¤¤¤ë¾õÂÖ¤ò²óÈò¤¹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseGCOverheadLimit\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseNUMA +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Çû¤¤ÂÔµ¡»þ´Ö¤Î¥á¥â¥ê¡¼¤Î»ÈÍѤòÁý²Ã¤µ¤»¤ë¤³¤È¤Ç¡¢ÉԶѰì¤Ê¥á¥â¥ê¡¼¡¦¥¢¡¼¥­¥Æ¥¯¥Á¥ã(NUMA)¤ò»ÈÍѤ·¤¿¥Þ¥·¥ó¾å¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ºÇŬ²½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢NUMA¤ËÂФ¹¤ëºÇŬ²½¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥é¥ì¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿(\fI\-XX:+UseParallelGC\fR)¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤ß»ÈÍѲÄǽ¤Ç¤¹¡£ +.RE +.PP +\-XX:+UseParallelGC +.RS 4 +Ê£¿ô¤Î¥×¥í¥»¥Ã¥µ¤òÍøÍѤ·¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤ë¡¢¥Ñ¥é¥ì¥ë¡¦¥¹¥«¥Ù¥ó¥¸¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿(¥¹¥ë¡¼¥×¥Ã¥È¡¦¥³¥ì¥¯¥¿¤È¤â¸Æ¤Ð¤ì¤ë)¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥³¥ì¥¯¥¿¤Ï¡¢¥Þ¥·¥ó¤Î¹½À®¤ª¤è¤ÓJVM¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤Æ¡¢¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£¤³¤ì¤òÍ­¸ú¤Ë¤·¤¿¾ì¹ç¡¢ÌÀ¼¨Åª¤Ë̵¸ú¤Ë¤·¤Ê¤¤¤«¤®¤ê¡¢\fI\-XX:+UseParallelOldGC\fR¥ª¥×¥·¥ç¥ó¤¬¼«Æ°Åª¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseParallelOldGC +.RS 4 +¥Õ¥ëGC¤Ø¤Î¥Ñ¥é¥ì¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£¤³¤ì¤òÍ­¸ú¤Ë¤¹¤ë¤È¡¢\fI\-XX:+UseParallelGC\fR¥ª¥×¥·¥ç¥ó¤¬¼«Æ°Åª¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseParNewGC +.RS 4 +¼ã¤¤À¤Âå¤Ç¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ø¤Î¥Ñ¥é¥ì¥ë¡¦¥¹¥ì¥Ã¥É¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¹¡£\fI\-XX:+UseConcMarkSweepGC\fR¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤È¡¢¤³¤ì¤Ï¼«Æ°Åª¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseSerialGC +.RS 4 +¥·¥ê¥¢¥ë¡¦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤«¤éÆÃÊ̤ʵ¡Ç½¤òɬÍפȤ·¤Ê¤¤¡¢¾®µ¬ÌϤÇñ½ã¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤Ï°ìÈ̤˺ÇŬ¤ÊÁªÂò¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥³¥ì¥¯¥¿¤Ï¡¢¥Þ¥·¥ó¤Î¹½À®¤ª¤è¤ÓJVM¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤Æ¡¢¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-XX:+UseTLAB +.RS 4 +¼ã¤¤À¤Âå¤ÎÎΰè¤Ç¤Î¥¹¥ì¥Ã¥É¡¦¥í¡¼¥«¥ë¤Ê³äÅö¤Æ¥Ö¥í¥Ã¥¯(TLAB)¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£TLAB¤Î»ÈÍѤò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢\fI\-XX:\-UseTLAB\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.SS "Èó¿ä¾©¤Çºï½ü¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢°Ê¹ß¤ÏÉÔÍפȤߤʤµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\-Xrun\fIlibname\fR +.RS 4 +»ØÄꤷ¤¿¥Ç¥Ð¥Ã¥°/¥×¥í¥Õ¥¡¥¤¥ë¤Î¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-agentlib\fR¥ª¥×¥·¥ç¥ó¤Ë¼è¤Ã¤ÆÂå¤ï¤é¤ì¤Þ¤·¤¿¡£ +.RE +.PP +\-XX:CMSInitiatingPermOccupancyFraction=\fIpercent\fR +.RS 4 +GC¤ò³«»Ï¤¹¤ë±Êµ×À¤ÂåÀêͭΨ(0¤«¤é100¤Þ¤Ç)¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏJDK 8¤Ç¤ÏÈó¿ä¾©¤Ç¡¢¤½¤ì¤ËÂå¤ï¤ë¤â¤Î¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:MaxPermSize=\fIsize\fR +.RS 4 +±Êµ×À¤ÂåÎΰè¤ÎºÇÂ祵¥¤¥º(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JDK 8¤ÇÈó¿ä¾©¤Ë¤Ê¤ê¡¢\fI\-XX:MaxMetaspaceSize\fR¥ª¥×¥·¥ç¥ó¤Ë¼è¤Ã¤ÆÂå¤ï¤é¤ì¤Þ¤·¤¿¡£ +.RE +.PP +\-XX:PermSize=\fIsize\fR +.RS 4 +ͤ¨¤¿¾ì¹ç¤Ë¤Ï¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤ò¥È¥ê¥¬¡¼¤¹¤ë¡¢±Êµ×À¤Âå¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿Îΰè(¥Ð¥¤¥Èñ°Ì)¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JDK 8¤ÇÈó¿ä¾©¤Ë¤Ê¤ê¡¢\fI\-XX:MetaspaceSize\fR¥ª¥×¥·¥ç¥ó¤Ë¼è¤Ã¤ÆÂå¤ï¤é¤ì¤Þ¤·¤¿¡£ +.RE +.PP +\-XX:+UseSplitVerifier +.RS 4 +¸¡¾Ú¥×¥í¥»¥¹¤Îʬ³ä¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¸¡¾Ú¤Ï¡¢¥¿¥¤¥×»²¾È(¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼Â¹Ô)¤È¡¢¥¿¥¤¥×¡¦¥Á¥§¥Ã¥¯(JVM¥é¥ó¥¿¥¤¥à¤Ë¤è¤Ã¤Æ¼Â¹Ô)¤Î2¤Ä¤Î¥Õ¥§¡¼¥º¤Ëʬ³ä¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏJDK 8¤ÇÈó¿ä¾©¤È¤Ê¤ê¡¢¸¡¾Ú¤Ï¥Ç¥Õ¥©¥ë¥È¤Çʬ³ä¤µ¤ì¡¢Ìµ¸ú¤Ë¤¹¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-XX:+UseStringCache +.RS 4 +°ìÈ̤˳ä¤êÅö¤Æ¤é¤ì¤¿Ê¸»úÎó¤Î¥­¥ã¥Ã¥·¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏJDK 8¤«¤éºï½ü¤µ¤ì¡¢¤½¤ì¤ËÂå¤ï¤ë¤â¤Î¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.SH "¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡¦¥Á¥å¡¼¥Ë¥ó¥°¤ÎÎã" +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥¹¥ë¡¼¥×¥Ã¥È¤ÎºÇŬ²½¤Þ¤¿¤Ï¥ì¥¹¥Ý¥ó¥¹»þ´Ö¤Îû½Ì²½¤Î¤¤¤º¤ì¤«¤ò¹Ô¤¦¤¿¤á¤Î¡¢»î¸³Åª¤Ê¥Á¥å¡¼¥Ë¥ó¥°¡¦¥Õ¥é¥°¤Î»ÈÍÑÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ¥¹¥ë¡¼¥×¥Ã¥È¤ò¸þ¾å¤¹¤ë¤¿¤á¤Î¥Á¥å¡¼¥Ë¥ó¥° +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g \-Xms26g \-Xmx26g +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ¥ì¥¹¥Ý¥ó¥¹»þ´Ö¤ò®¤¯¤¹¤ë¤¿¤á¤Î¥Á¥å¡¼¥Ë¥ó¥° +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-d64 \-XX:+UseG1GC \-Xms26g Xmx26g \-XX:MaxGCPauseMillis=500 \-XX:+PrintGCTimeStamp +.fi +.if n \{\ +.RE +.\} .RE - -.LP .SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" -.LP -.LP -°ìÈ̤ˡ¢¼¡¤Î½ªÎ»Ãͤ¬µ¯Æ°¥Ä¡¼¥ë¤«¤éÊÖ¤µ¤ì¤ë¤Î¤ÏÄ̾µ¯Æ°¸µ¤¬ÉÔÀµ¤Ê°ú¿ô¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¤«¡¢¿¼¹ï¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤«¡¢¤¢¤ë¤¤¤Ï Java ²¾ÁÛ¥Þ¥·¥ó¤«¤éÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì¹ç¤Ç¤¹¡£¤¿¤À¤· Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢API ¸Æ¤Ó½Ð¤· \f2System.exit(exitValue)\fP ¤ò»ÈÍѤ·¤ÆÇ¤°Õ¤ÎÃͤòÊÖ¤¹¤³¤È¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f20\fP: Àµ¾ï½ªÎ» -.TP 2 -o -\f2>0\fP: ¥¨¥é¡¼¤¬È¯À¸¤·¤¿ +.PP +Ä̾¼¡¤Î½ªÎ»Ãͤ¬µ¯Æ°¥Ä¡¼¥ë¤«¤éÊÖ¤µ¤ì¤ë¤Î¤Ï¡¢µ¯Æ°¸µ¤¬ÉÔÀµ¤Ê°ú¿ô¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¤«¡¢¿¼¹ï¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤«¡¢¤¢¤ë¤¤¤ÏJVM¤Ë¤è¤êÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì¹ç¤Ç¤¹¡£¤¿¤À¤·¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢API¸Æ½Ð¤·\fISystem\&.exit(exitValue)\fR¤ò»ÈÍѤ·¤ÆÇ¤°Õ¤ÎÃͤòÊÖ¤¹¤³¤È¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Ãͤϼ¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI0\fR: Àµ¾ï½ªÎ» +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI>0\fR: ¥¨¥é¡¼È¯À¸ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -javac(1) -.TP 2 -o -jdb(1) -.TP 2 -o -javah(1) -.TP 2 -o -jar(1) -.TP 2 -o -.na -\f2¡ÖJava ³ÈÄ¥µ¡Ç½¥Õ¥ì¡¼¥à¥ï¡¼¥¯¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html -.TP 2 -o -.na -\f2¡Ö¥»¥­¥å¥ê¥Æ¥£¡¼¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/index.html -.TP 2 -o -.na -\f2¡ÖHotSpot VM Specific Options¡×\fP @ -.fi -http://java.sun.com/docs/hotspot/VMOptions.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 index cb107bfb9a1..5d829a38a81 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 @@ -1,1250 +1,1489 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javac 1 "07 May 2011" - -.LP -.SH "̾Á°" -javac \- Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥³¥ó¥Ñ¥¤¥é -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë -.TP 2 -o -Ãí¼á½èÍý -.TP 2 -o -·¿¤Î¸¡º÷ -.TP 2 -o -¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javac +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javac" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javac \- Java¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤òÆÉ¤ß¼è¤ê¡¢¥Ð¥¤¥È¥³¡¼¥É¤ª¤è¤Ó¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ] -.fl - -.fl +\fIjavac\fR [ \fIoptions\fR ] [ \fIsourcefiles\fR ] [ \fIclasses\fR] [ \fI@argfiles\fR ] .fi - -.LP -.LP -°ú¿ô¤Ï½çÉÔÆ±¤Ç¤¹¡£ -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -sourcefiles -¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë 1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (MyClass.java ¤Ê¤É) -.TP 3 -classes -Ãí¼á¤Î½èÍýÂоݤȤʤë 1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹ (MyPackage.MyClass ¤Ê¤É) -.TP 3 -@argfiles -¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÎóµó¤·¤¿ 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ +.if n \{\ +.RE +.\} +.PP +°ú¿ô¤ò»ØÄꤹ¤ë½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£ +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIsourcefiles\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë1¤Ä°Ê¾å¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë(\fIMyClass\&.java\fR¤Ê¤É)¡£ +.RE +.PP +\fIclasses\fR +.RS 4 +Ãí¼á¤Î½èÍýÂоݤȤʤë1¤Ä°Ê¾å¤Î¥¯¥é¥¹(\fIMyPackage\&.MyClass\fR¤Ê¤É)¡£ +.RE +.PP +\fI@argfiles\fR +.RS 4 +¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò°ìÍ÷ɽ¼¨¤¹¤ë1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï\fI\-J\fR¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3javac\fP ¥Ä¡¼¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Çµ­½Ò¤µ¤ì¤¿¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤òÆÉ¤ß¼è¤ê¡¢¥Ð¥¤¥È¥³¡¼¥É¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£¤Þ¤¿¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹Æâ¤ÎÃí¼á¤Î½èÍý¤â¹Ô¤¤¤Þ¤¹¡£ -.LP -.LP -¥½¡¼¥¹¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤ò \f3javac\fP ¤ËÅϤ¹¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¿ô¤¬¾¯¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¥³¥Þ¥ó¥É¹Ô¤ÇľÀÜ»ØÄꤷ¤Þ¤¹¡£ -.TP 2 -o -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¶õÇò¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀڤäơ¢1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ËÎóµó¤·¤Þ¤¹¡£¼¡¤Ë¡¢¤³¤Î¥ê¥¹¥È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë \f3@\fP ¤òÉÕ¤±¤Æ¡¢\f3javac\fP ¤Î¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Þ¤¹¡£ +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Çµ­½Ò¤µ¤ì¤¿¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤òÆÉ¤ß¼è¤ê¡¢¥Ð¥¤¥È¥³¡¼¥É¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹Æâ¤ÎÃí¼á¤Î½èÍý¤â¤Ç¤­¤Þ¤¹¡£ +.PP +¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤ò\fIjavac\fR¤ËÅϤ¹¤Ë¤Ï¡¢2¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¿ô¤¬¾¯¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£ .RE - -.LP -.LP -¥½¡¼¥¹¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤Ï \f2.java\fP ³ÈÄ¥»Ò¤ò¡¢¥¯¥é¥¹¤Î¥Õ¥¡¥¤¥ë̾¤Ï \f2.class\fP ³ÈÄ¥»Ò¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¤É¤Á¤é¤â¡¢³ºÅö¤¹¤ë¥¯¥é¥¹¤ËÂбþ¤¹¤ë¥ë¡¼¥È̾¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2MyClass\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤Ï¡¢ \f2MyClass.java\fP ¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤·¤Þ¤¹¡£¤³¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢ \f2MyClass.class\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ð¥¤¥È¥³¡¼¥É¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -ÆâÉô¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢ÄɲäΥ¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ \f2MyClass$MyInnerClass.class\fP ¤Î¤è¤¦¤Ë¡¢³°Éô¥¯¥é¥¹Ì¾¤ÈÆâÉô¥¯¥é¥¹Ì¾¤òÁȤ߹ç¤ï¤»¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤òÈ¿±Ç¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò \f3/workspace\fP ¤ËÃÖ¤¤¤Æ¤¤¤ë¾ì¹ç¡¢ \f2com.mysoft.mypack.MyClass\fP ¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï \f3/workspace/com/mysoft/mypack/MyClass.java\fP ¤Ë¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢³Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÂбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤­¤Þ¤¹¡£Ê̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\f3\-d\fP ¤ò»ÈÍѤ·¤Þ¤¹ (¤³¤Î¤¢¤È¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È)¡£ -.LP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤ò¶õÇò¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¡¢¥ê¥¹¥È¡¦¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤Ï\&.java³ÈÄ¥»Ò¤ò¡¢¥¯¥é¥¹¤Î¥Õ¥¡¥¤¥ë̾¤Ï\&.class³ÈÄ¥»Ò¤ò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤É¤Á¤é¤â¡¢³ºÅö¤¹¤ë¥¯¥é¥¹¤ËÂбþ¤¹¤ë¥ë¡¼¥È̾¤ò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIMyClass\fR¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤Ï¡¢\fIMyClass\&.java\fR¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤µ¤ì¤Þ¤¹¡£¤³¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢\fIMyClass\&.class\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ð¥¤¥È¥³¡¼¥É¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£ +.PP +ÆâÉô¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢ÄɲäΥ¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢\fIMyClass$MyInnerClass\&.class\fR¤Î¤è¤¦¤Ë¡¢ÆâÉô¥¯¥é¥¹Ì¾¤È³°Éô¥¯¥é¥¹Ì¾¤òÁȤ߹礻¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ä¥ê¡¼¤òÈ¿±Ç¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¡¦¥Ä¥ê¡¼¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬\fI/workspace\fR¤Ë¤¢¤ë¾ì¹ç¡¢\fIcom\&.mysoft\&.mypack\&.MyClass\fR¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤ò¡¢\fI/workspace/com/mysoft/mypack/MyClass\&.java\fR¤Ë³ÊǼ¤·¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢³Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÂбþ¤¹¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£\fI\-d\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Ê̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ë¤Ï¡¢¸½ºß¤Î³«È¯´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëɸ½à¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì°Ê³°¤ÎÈóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Î²¾ÁÛ¥Þ¥·¥ó¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢¾­Íè¤ËÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3\-X\fP ¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ -.LP -.SS -ɸ½à¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-Akey[=value] -Ãí¼á¥×¥í¥»¥Ã¥µ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£¤³¤ì¤é¤Ï¡¢javac ¤Ë¤è¤Ã¤ÆÄ¾Àܲò¼á¤µ¤ì¤º¡¢¸Ä¡¹¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£\f2key\fP ¤Ë¤Ï¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¼±Ê̻Ҥò¡Ö.¡×¤Ç¶èÀڤ俤â¤Î¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-cp path ¤Þ¤¿¤Ï \-classpath path -¥æ¡¼¥¶¡¼¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó (¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï) Ãí¼á¥×¥í¥»¥Ã¥µ¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Ñ¥¹¤Ï \f3CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\f3CLASSPATH\fP¡¢\f3\-cp\fP¡¢\f3\-classpath\fP ¤Î¤¤¤º¤ì¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£ -.LP -\f3\-processorpath\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-Djava.ext.dirs=directories -¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-Djava.endorsed.dirs=directories -¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-d directory -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3javac\fP ¤ÏºîÀ®¤·¤Þ¤»¤ó¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¡¢\f3javac\fP ¤Ï¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÃÖ¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-d /home/myclasses\fP ¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬ \f2com.mypackage.MyClass\fP ¤Ç¤¢¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/myclasses/com/mypackage/MyClass.class\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3\-d\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f3javac\fP ¤Ï³Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤ÎÀ¸À®¸µ¤È¤Ê¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£ -.LP -\f3Ãí:\fP \f3\-d\fP ¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¼«Æ°Åª¤Ë¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£ -.TP 3 -\-deprecation -¿ä¾©¤µ¤ì¤Ê¤¤¥á¥ó¥Ð¡¼¤ä¥¯¥é¥¹¤¬¡¢»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¤¿¤Ó¤ËÀâÌÀ¤òɽ¼¨¤·¤Þ¤¹¡£\f3\-deprecation\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3javac\fP ¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤¥á¥ó¥Ð¡¼¤ä¥¯¥é¥¹¤ò»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÍ×Ìó¤òɽ¼¨¤·¤Þ¤¹¡£\f3\-deprecation\fP ¤Ï \f3\-Xlint:deprecation\fP ¤Î¾Êάɽµ­¤Ç¤¹¡£ -.TP 3 -\-encoding encoding -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾ ( \f2EUC\-JP ¤ä UTF\-8\fP ¤Ê¤É) ¤ò»ØÄꤷ¤Þ¤¹¡£\f3\-encoding\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Ð¡¼¥¿¤¬»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-endorseddirs directories -¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-extdirs directories -\f2ext\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\f2directories\fP ÊÑ¿ô¤Ë¤Ï¡¢¥³¥í¥ó¤Ç¶èÀڤ俥ǥ£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³Æ JAR ¥¢¡¼¥«¥¤¥Ö¤«¤é¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£¸«¤Ä¤«¤Ã¤¿¤¹¤Ù¤Æ¤Î JAR ¥¢¡¼¥«¥¤¥Ö¤Ï¼«Æ°Åª¤Ë¥¯¥é¥¹¥Ñ¥¹¤Î°ìÉô¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë (°Û¤Ê¤ë Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦) ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-g -¶É½êÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈֹ椪¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊó¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-g:none -¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤»¤ó¡£ -.TP 3 -\-g:{keyword list} -¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥­¡¼¥ï¡¼¥É¥ê¥¹¥È¤Ë¤è¤ê»ØÄꤵ¤ì¤¿¡¢ÆÃÄê¤Î¼ïÎà¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤Î¥­¡¼¥ï¡¼¥É¤¬Í­¸ú¤Ç¤¹¡£ -.RS 3 -.TP 3 -source -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ç¥Ð¥Ã¥°¾ðÊó -.TP 3 -lines -¹ÔÈÖ¹æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó -.TP 3 -vars -¶É½êÊÑ¿ô¤Î¥Ç¥Ð¥Ã¥°¾ðÊó +.PP +¥³¥ó¥Ñ¥¤¥é¤Ë¤Ï¡¢¸½ºß¤Î³«È¯´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëɸ½à¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì°Ê³°¤ÎÈóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Î²¾ÁÛ¥Þ¥·¥ó¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢¾­Íè¡¢Êѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-X\fR¥ª¥×¥·¥ç¥ó¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE -.TP 3 -\-help -ɸ½à¥ª¥×¥·¥ç¥ó¤Î·Á¼°¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-implicit:{class,none} -°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÀ©¸æ¤·¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¼«Æ°À¸À®¤¹¤ë¤Ë¤Ï¡¢\f3\-implicit:class\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÍÞÀ©¤¹¤ë¤Ë¤Ï¡¢\f3\-implicit:none\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¼«Æ°À¸À®¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤Î¤è¤¦¤Ê¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿»þ¤ËÃí¼á½èÍý¤â¼Â¹Ô¤µ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤«¤é·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬ÌÀ¼¨Åª¤ËÀßÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢·Ù¹ð¤Ïȯ¹Ô¤µ¤ì¤Þ¤»¤ó¡£¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-Joption -\f3javac\fP ¤¬¸Æ¤Ó½Ð¤¹ \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¡¢\f2option\fP ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ­½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇØ¸å¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -\f3Ãí:\fP \f3CLASSPATH\fP¡¢\f3\-classpath\fP¡¢\f3\-bootclasspath\fP¡¢¤ª¤è¤Ó \f3\-extdirs\fP ¤Ï¡¢\f3javac\fP ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»È¤¦¥¯¥é¥¹¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¤è¤¦¤ÊÊýË¡¤Ç¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤òÁàºî¤¹¤ë¤³¤È¤Ï¡¢Ä̾ï¤Ï̵°ÕÌ£¤Ç¤¢¤ê¡¢¾ï¤Ë´í¸±¤òȼ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÊýË¡¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢\f3\-J\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢É¬Íפʥª¥×¥·¥ç¥ó¤òÇØ¸å¤Î \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-nowarn -·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï \f3\-Xlint:none\fP ¤ÈƱ¤¸°ÕÌ£¤Ç¤¹¡£ -.TP 3 -\-proc: {none,only} -Ãí¼á½èÍý¡¢¥³¥ó¥Ñ¥¤¥ë¡¢¤½¤ÎξÊý¡¢¤Î¤¤¤º¤ì¤ò¼Â¹Ô¤¹¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£\f3\-proc:none\fP ¤Ï¡¢Ãí¼á½èÍý¤Ê¤·¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\f3\-proc:only\fP ¤Ï¡¢Ãí¼á½èÍý¤À¤±¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¤Þ¤Ã¤¿¤¯¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ -.TP 3 -\-processor class1[,class2,class3...] -¼Â¹Ô¤¹¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¡£¤³¤ì¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸¡º÷½èÍý¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-processorpath path -Ãí¼á¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Æâ¤Ç¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-s dir -À¸À®¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼÀè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3javac\fP ¤ÏºîÀ®¤·¤Þ¤»¤ó¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£¤½¤ÎºÝ¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥æ¡¼¥¶¡¼¤¬ \f3\-s /home/mysrc\fP ¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬ \f2com.mypackage.MyClass\fP ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/mysrc/com/mypackage/MyClass.java\fP Æâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-source release -¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\f2release\fP ¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 3 -1.3 -¤³¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¡¢JDK 1.3 °Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Î¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ -.TP 3 -1.4 -JDK 1.4 ¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ -.TP 3 -1.5 -JDK 5 ¤ÇƳÆþ¤µ¤ì¤¿Áí¾Î¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤ó¤À¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ -.TP 3 -5 -1.5 ¤ÈƱµÁ¤Ç¤¹¡£ -.TP 3 -1.6 -¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£Java SE 6 ¤Ç¤Ï¸À¸ì¤ËÂФ¹¤ëÊѹ¹¤ÏƳÆþ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¥¨¥é¡¼¤¬¡¢°ÊÁ°¤Î¤è¤¦¤Ê¡Ö·Ù¹ð¡×¤Ç¤Ï¤Ê¤¯¡¢¡Ö¥¨¥é¡¼¡×¤È¤·¤ÆÊó¹ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ -.TP 3 -6 -1.6 ¤ÈƱµÁ¤Ç¤¹¡£ -.TP 3 -1.7 -JDK 7 ¤ÇƳÆþ¤µ¤ì¤¿µ¡Ç½¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ -.TP 3 -7 -1.7 ¤ÈƱµÁ¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Èóɸ½à¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE -.TP 3 -\-sourcepath sourcepath -¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤ò¸¡º÷¤¹¤ë¥½¡¼¥¹¥³¡¼¥É¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ÈƱÍͤˡ¢¥½¡¼¥¹¥Ñ¥¹¤ÎÊ£¿ô¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥½¡¼¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤Þ¤¿¤Ï ZIP ¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥í¡¼¥«¥ë¥Ñ¥¹Ì¾¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -\f3Ãí:\fP\ ¥¯¥é¥¹¥Ñ¥¹¤«¤é¥¯¥é¥¹¤À¤±¤Ç¤Ê¤¯¤½¤Î¥½¡¼¥¹¤â¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥¯¥é¥¹¤Ï¼«Æ°ºÆ¥³¥ó¥Ñ¥¤¥ë¤ÎÂоݤˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-verbose -¾ÜºÙ¤Ê½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¥í¡¼¥É¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Î¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-Werror -·Ù¹ð¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤ò½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-X -Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.SS "ɸ½à¥ª¥×¥·¥ç¥ó" +.PP +\-A\fIkey\fR[\fI=value\fR] +.RS 4 +Ãí¼á¥×¥í¥»¥Ã¥µ¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavac\fR¤¬Ä¾Àܲò¼á¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¤½¤ì¤¾¤ì¤Î¥×¥í¥»¥Ã¥µ¤Ç»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£\fIkey\fR¤ÎÃͤϡ¢1¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¼±Ê̻Ҥò¥É¥Ã¥È(\&.)¤Ç¶èÀÚ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.SS -¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢\f3javac\fP ¤¬ÅºÉÕ¤µ¤ì¤Æ¤¤¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\f3javac\fP ¤Ï¡¢°Û¤Ê¤ë Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡×¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢\f3\-bootclasspath\fP ¤ª¤è¤Ó \f3\-extdirs\fP ¤ò»È¤¦¤³¤È¤¬½ÅÍפǤ¹¡£¤³¤Î¤¢¤È¤Î¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -\-target version -»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤Î VM ¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤·¤¿¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ïưºî¤·¤Þ¤¹¤¬¡¢¤½¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î VM ¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡£Í­¸ú¤Ê¥¿¡¼¥²¥Ã¥È¤Ï¡¢\f31.1\fP¡¢\f31.2\fP¡¢\f31.3\fP¡¢\f31.4\fP¡¢\f31.5\fP (\f35\fP ¤â²Ä)¡¢\f31.6\fP (\f36\fP ¤â²Ä)¡¢¤ª¤è¤Ó \f31.7\fP (\f37\fP ¤â²Ä) ¤Ç¤¹¡£ -.LP -\f3\-target\fP ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f3\-source\fP ¤ÎÃͤˤè¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\-source ¤¬\f3»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿\fP¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.7\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\-source ¤¬\f31.2\fP ¤Î¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.4\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\-source ¤¬\f31.3\fP ¤Î¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.4\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\-source ¤¬\f3¤½¤ì°Ê³°¤ÎÃͤξì¹ç¤Ï¤¹¤Ù¤Æ\fP¡¢\f3\\\-target\fP ¤ÎÃÍ¤Ï \f3\-source\fP ¤ÎÃͤˤʤê¤Þ¤¹¡£ +.PP +\-cp \fIpath\fR or \-classpath \fIpath\fR +.RS 4 +¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó(¥ª¥×¥·¥ç¥ó¤Ç)Ãí¼á¥×¥í¥»¥Ã¥µ¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¡¦¥Ñ¥¹¤Ï\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤Î¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\fICLASSPATH\fR¡¢\fI\-cp\fR¡¢\fI\-classpath\fR¤Î¤¤¤º¤ì¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Î\fI¥¯¥é¥¹¡¦¥Ñ¥¹\fR¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£Setting the Class Path ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤â¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-processorpath\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤â¥¯¥é¥¹¡¦¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£ .RE -.TP 3 -\-bootclasspath bootclasspath -»ØÄꤵ¤ì¤¿°ìÏ¢¤Î¥Ö¡¼¥È¥¯¥é¥¹¤ËÂФ·¤Æ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ÈƱÍͤˡ¢¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤ÎÊ£¿ô¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤Þ¤¿¤Ï ZIP ¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +\-Djava\&.ext\&.dirs=\fIdirectories\fR +.RS 4 +¥¤¥ó¥¹¥È¡¼¥ëºÑ³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ .RE - -.LP -.SS -Èóɸ½à¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-Xbootclasspath/p:path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ÎÁ°¤ËÄɲä·¤Þ¤¹¡£ -.TP 3 -\-Xbootclasspath/a:path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤Î¸å¤í¤ËÄɲä·¤Þ¤¹¡£ -.TP 3 -\-Xbootclasspath/:path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-Xlint -¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-Xlint:all -¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-Xlint:none -¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-Xlint:name -·Ù¹ð \f2name\fP ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÇÍ­¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö\-Xlint ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-Xlint:\-name -·Ù¹ð \f2name\fP ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö\-Xlint ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-Xmaxerrs number -°õºþ¤¹¤ë¥¨¥é¡¼¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Xmaxwarns number -°õºþ¤¹¤ë·Ù¹ð¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Xstdout filename -¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤ò¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÁ÷¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤Ï \f2System.err\fP ¤ËÁ÷¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-Xprefer:{newer,source} -¤¢¤ë·¿¤ËÂФ·¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ë¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹ (¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È)¡£\f2\-Xprefer:newer\fP ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¤¢¤ë·¿¤ËÂФ¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Êý¤¬ÆÉ¤ß¼è¤é¤ì¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È)¡£\f2\-Xprefer:source\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ÆÉ¤ß¼è¤é¤ì¤Þ¤¹¡£SOURCE ¤ÎÊݸ¥Ý¥ê¥·¡¼¤ò»È¤Ã¤ÆÀë¸À¤µ¤ì¤¿Ãí¼á¤ËǤ°Õ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤¬¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¾ì¹ç¤Ï¡¢\f2\-Xprefer:source\fP \f2¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤\fP¡£ -.TP 3 -\-Xpkginfo:{always,legacy,nonempty} -¥Ñ¥Ã¥±¡¼¥¸¾ðÊó¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Xprint -»ØÄꤵ¤ì¤¿·¿¤Î¥Æ¥­¥¹¥Èɽ¸½¤ò¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç½ÐÎϤ·¤Þ¤¹¡£Ãí¼á½èÍý¡¢¥³¥ó¥Ñ¥¤¥ë¤Î¤É¤Á¤é¤â¼Â¹Ô¤·¤Þ¤»¤ó¡£½ÐÎÏ·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-XprintProcessorInfo -¤¢¤ëÆÃÄê¤Î¥×¥í¥»¥Ã¥µ¤¬½èÍý¤ò°ÍÍꤵ¤ì¤Æ¤¤¤ëÃí¼á¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-XprintRounds -½é²ó¤ª¤è¤Ó¸å³¤ÎÃí¼á½èÍý¥é¥¦¥ó¥É¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.PP +\-Djava\&.endorsed\&.dirs=\fIdirectories\fR +.RS 4 +¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ .RE - -.LP -.SS -\-Xlint ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð -.LP -.LP -\f3\-Xlint:\fP\f2name\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ·Ù¹ð \f2name\fP ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\f2name\fP ¤Ï¼¡¤Î·Ù¹ð̾¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£Æ±Íͤˡ¢\f3\-Xlint:\-\fP\f2name\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ·Ù¹ð \f2name\fP ¤ò̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -cast -ÉÔÍפǾéĹ¤Ê¥­¥ã¥¹¥È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +\-d \fIdirectory\fR +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï\fIjavac\fR¤Ç¤ÏºîÀ®¤µ¤ì¤Ê¤¤¤¿¤á¡¢¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¡¢\fIjavac\fR¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +\fI\-d\fR +\fI/home/myclasses\fR¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬\fIcom\&.mypackage\&.MyClass\fR¤Ç¤¢¤ë¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï\fI/home/myclasses/com/mypackage/MyClass\&.class\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fI\-d\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fIjavac\fR¤Ï¡¢³Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤ÎÀ¸À®¸µ¤È¤Ê¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +\fI\-d\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Ë¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-deprecation +.RS 4 +Èó¿ä¾©¤Î¥á¥ó¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¹¤¬»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢ÀâÌÀ¤òɽ¼¨¤·¤Þ¤¹¡£\fI\-deprecation\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavac\fR¤Ï¡¢Èó¿ä¾©¤Î¥á¥ó¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¹¤ò»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥µ¥Þ¥ê¡¼¤òɽ¼¨¤·¤Þ¤¹¡£\fI\-deprecation\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-Xlint:deprecation\fR¤Î¾Êάɽµ­¤Ç¤¹¡£ +.RE +.PP +\-encoding \fIencoding\fR +.RS 4 +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾(EUC\-JP¤äUTF\-8¤Ê¤É)¤òÀßÄꤷ¤Þ¤¹¡£\fI\-encoding\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥³¥ó¥Ð¡¼¥¿¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-endorseddirs \fIdirectories\fR +.RS 4 +¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-extdirs \fIdirectories\fR +.RS 4 +\fIext\fR¥Ç¥£¥ì¥¯¥È¥ê¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£directoriesÊÑ¿ô¤Ë¤Ï¡¢¥³¥í¥ó¤Ç¶èÀڤ俥ǥ£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÆJAR¥Õ¥¡¥¤¥ë¤«¤é¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£¸¡½Ð¤µ¤ì¤¿¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î°ìÉô¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë(°Û¤Ê¤ëJava¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦)¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-g +.RS 4 +¥í¡¼¥«¥ëÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈֹ椪¤è¤Ó¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¾ðÊó¤Î¤ß¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-g:none +.RS 4 +¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤»¤ó¡£ +.RE +.PP +\-g:[\fIkeyword list\fR] +.RS 4 +¥«¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥­¡¼¥ï¡¼¥É¡¦¥ê¥¹¥È¤Ë¤è¤ê»ØÄꤵ¤ì¤¿¡¢ÆÃÄê¤Î¼ïÎà¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤Î¥­¡¼¥ï¡¼¥É¤¬Í­¸ú¤Ç¤¹¡£ +.PP +source +.RS 4 +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¡£ +.RE +.PP +lines +.RS 4 +¹ÔÈÖ¹æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¡£ +.RE +.PP +vars +.RS 4 +¥í¡¼¥«¥ëÊÑ¿ô¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¡£ +.RE +.RE +.PP +\-help +.RS 4 +ɸ½à¥ª¥×¥·¥ç¥ó¤Î³µÍפò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-implicit:[\fIclass, none\fR] +.RS 4 +°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÀ©¸æ¤·¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¼«Æ°À¸À®¤¹¤ë¤Ë¤Ï¡¢\fI\-implicit:class\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÍÞÀ©¤¹¤ë¤Ë¤Ï¡¢\fI\-implicit:none\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¼«Æ°À¸À®¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤Î¤è¤¦¤Ê¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿»þ¤ËÃí¼á½èÍý¤â¼Â¹Ô¤µ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤«¤é·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤¬ÌÀ¼¨Åª¤ËÀßÄꤵ¤ì¤¿¾ì¹ç¡¢·Ù¹ð¤Ïȯ¹Ô¤µ¤ì¤Þ¤»¤ó¡£·¿¤Î¸¡º÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Javaµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fBÃí°Õ:\fR +\fICLASSPATH\fR¡¢\fI\-classpath\fR¡¢\fI\-bootclasspath\fR¤ª¤è¤Ó\fI\-extdirs\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavac\fR¤Î¼Â¹Ô¤Ë»ÈÍѤµ¤ì¤ë¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ª¤è¤ÓÊÑ¿ô¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤è¤¦¤È¤¹¤ë¤È¡¢¥ê¥¹¥¯¤¬¹â¤¯¡¢Â¿¤¯¤Î¾ì¹ç¡¢É¬ÍפʽèÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢´ðÁäȤʤëJavaµ¯Æ°¥Ä¡¼¥ë¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Þ¤¹¡£ +.RE +.PP +\-nowarn +.RS 4 +·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-Xlint:none\fR¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤è¤¦¤Ëưºî¤·¤Þ¤¹¡£ +.RE +.PP +\-parameters +.RS 4 +¥ê¥Õ¥ì¥¯¥·¥ç¥óAPI¤Î¥á¥½¥Ã¥É\fIjava\&.lang\&.reflect\&.Executable\&.getParameters\fR¤¬¼èÆÀ¤Ç¤­¤ë¤è¤¦¤Ë¡¢À¸À®¤µ¤ì¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤È¥á¥½¥Ã¥É¤Î²¾¥Ñ¥é¥á¡¼¥¿Ì¾¤ò³ÊǼ¤·¤Þ¤¹¡£ +.RE +.PP +\-proc: [\fInone\fR, \fIonly\fR] +.RS 4 +Ãí¼á½èÍý¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£\fI\-proc:none\fR¤Ï¡¢Ãí¼á½èÍý¤Ê¤·¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\fI\-proc:only\fR¤Ï¡¢Ãí¼á½èÍý¤Î¤ß¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¤Þ¤Ã¤¿¤¯¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.RE +.PP +\-processor \fIclass1\fR [,\fIclass2\fR,\fIclass3\fR\&.\&.\&.] +.RS 4 +¼Â¹Ô¤¹¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¡£¤³¤ì¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸¡º÷½èÍý¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-processorpath \fIpath\fR +.RS 4 +Ãí¼á¥×¥í¥»¥Ã¥µ¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤¤¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥×¥í¥»¥Ã¥µ¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-s \fIdir\fR +.RS 4 +À¸À®¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î³ÊǼÀè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï\fIjavac\fR¤Ç¤ÏºîÀ®¤µ¤ì¤Ê¤¤¤¿¤á¡¢¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +\fI\-s /home/mysrc\fR¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬\fIcom\&.mypackage\&.MyClass\fR¤Ç¤¢¤ë¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï\fI/home/mysrc/com/mypackage/MyClass\&.java\fR¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-source \fIrelease\fR +.RS 4 +¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\fIrelease\fR¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +1\&.3 +.RS 4 +¤³¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¡¢Java SE 1\&.3°Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Î¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ +.RE +.PP +1\&.4 +.RS 4 +Java SE 1\&.4¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ +.RE +.PP +1\&.5 +.RS 4 +Java SE 5¤ÇƳÆþ¤µ¤ì¤¿Áí¾Î¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤ó¤À¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ +.RE +.PP +5 +.RS 4 +1\&.5¤ÈƱµÁ¤Ç¤¹¡£ +.RE +.PP +1\&.6 +.RS 4 +Java SE 6¤Ç¤Ï¸À¸ì¤ËÂФ¹¤ëÊѹ¹¤ÏƳÆþ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£¤·¤«¤·¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¡¦¥¨¥é¡¼¤¬¡¢Java Platform, Standard Edition¤Î°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤è¤¦¤Ê·Ù¹ð¤Ç¤Ï¤Ê¤¯¡¢¥¨¥é¡¼¤È¤·¤ÆÊó¹ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +.RE +.PP +6 +.RS 4 +1\&.6¤ÈƱµÁ¤Ç¤¹¡£ +.RE +.PP +1\&.7 +.RS 4 +¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£Java SE 7¤ÇƳÆþ¤µ¤ì¤¿µ¡Ç½¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ +.RE +.PP +7 +.RS 4 +1\&.7¤ÈƱµÁ¤Ç¤¹¡£ +.RE +.RE +.PP +\-sourcepath \fIsourcepath\fR +.RS 4 +¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤ò¸¡º÷¤¹¤ë¥½¡¼¥¹¡¦¥³¡¼¥É¡¦¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ÈƱÍͤˡ¢¥½¡¼¥¹¡¦¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ï¡¢Oracle Solaris¤Ç¤Ï¥³¥í¥ó(:)¤Ç¡¢Windows¤Ç¤Ï¥»¥ß¥³¥í¥ó¤Ç¶èÀڤꡢ¤³¤³¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥¢¡¼¥«¥¤¥Ö¤Þ¤¿¤ÏZIP¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥í¡¼¥«¥ë¡¦¥Ñ¥¹Ì¾¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤â¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Ë¤è¤ê¸«¤Ä¤«¤Ã¤¿¥¯¥é¥¹¤ÏºÆ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£·¿¤Î¸¡º÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verbose +.RS 4 +¥í¡¼¥É¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤´¤È¤Î¾ðÊ󤬽ÐÎϤµ¤ì¤ë¡¢¾ÜºÙ½ÐÎϤò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-werror +.RS 4 +·Ù¹ð¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤ò½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-X +.RS 4 +Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.SS "¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó" +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢\fIjavac\fR¤¬ÅºÉÕ¤µ¤ì¤Æ¤¤¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\fIjavac\fR¤Ï¡¢°Û¤Ê¤ëJava¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢\fI\-bootclasspath\fR¤ª¤è¤Ó\fI\-extdirs\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£ +.PP +\-target \fIversion\fR +.RS 4 +²¾ÁÛ¥Þ¥·¥ó¤Î»ØÄꤵ¤ì¤¿¥ê¥ê¡¼¥¹¤òÂоݤȤ¹¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È°Ê¹ß¤Î¥ê¥ê¡¼¥¹¤Ç¤Ïưºî¤·¤Þ¤¹¤¬¡¢¤½¤ì¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤ÎJVM¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡£Í­¸ú¤Ê¥¿¡¼¥²¥Ã¥È¤Ï¡¢1\&.1¡¢1\&.2¡¢1\&.3¡¢1\&.4¡¢1\&.5 (5¤â²Ä)¡¢1\&.6 (6¤â²Ä)¤ª¤è¤Ó1\&.7 (7¤â²Ä)¤Ç¤¹¡£ +.sp +\fI\-target\fR¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¡¢\fI\-source\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.7¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬1\&.2¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.4¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬1\&.3¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.4¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬1\&.5¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.7¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬1\&.6¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ1\&.7¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-source\fR¥ª¥×¥·¥ç¥ó¤Î¾¤Î¤¹¤Ù¤Æ¤ÎÃͤξì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢\fI\-source\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤˤʤê¤Þ¤¹¡£ +.RE +.RE +.PP +\-bootclasspath \fIbootclasspath\fR +.RS 4 +»ØÄꤵ¤ì¤¿°ìÏ¢¤Î¥Ö¡¼¥È¡¦¥¯¥é¥¹¤ËÂФ·¤Æ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ÈƱÍͤˡ¢¥Ö¡¼¥È¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó(:)¤Ç¶èÀڤꡢ¤³¤³¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥¢¡¼¥«¥¤¥Ö¤Þ¤¿¤ÏZIP¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.SS "¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó" +.PP +JDK 8°Ê¹ß¤«¤é¡¢\fIjavac\fR¥³¥ó¥Ñ¥¤¥é¤Ï¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥àÁ´ÂΤòɬÍפȤ·¤Ê¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥Ç¥×¥í¥¤²Äǽ¤Ç¡¢¾®¤µ¤¤¥Õ¥Ã¥È¥×¥ê¥ó¥È¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ëµ¡Ç½¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¹¥È¥¢¤«¤é¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤òû½Ì¤¹¤ë¤Î¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ï¡¢JRE¤ò¥Ð¥ó¥É¥ë¤¹¤ëJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¡¢¤è¤ê¥³¥ó¥Ñ¥¯¥È¤Ê¥Ç¥×¥í¥¤¥á¥ó¥È¤ËÌòΩ¤Á¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ï¡¢¾®¤µ¤¤¥Ç¥Ð¥¤¥¹¤Ç¤âÌòΩ¤Á¤Þ¤¹¡£ +.PP +¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥×¥í¥Õ¥¡¥¤¥ëÃͤϡ¢\fIcompact1\fR¡¢\fIcompact2\fR¤ª¤è¤Ó\fIcompact3\fR¤Ç¤¹¡£¤³¤ì¤é¤Ï¡¢ÄɲäΥ쥤¥ä¡¼¤Ç¤¹¡£Â礭¤¤ÈÖ¹æ¤Î³Æ¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¾®¤µ¤¤ÈÖ¹æ¤Î̾Á°¤Î¥×¥í¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤ÎAPI¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +\-profile +.RS 4 +¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥×¥í¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -String s = (String)"Hello!" -.fl -\fP +javac \-profile compact1 Hello\&.java .fi -.TP 3 -classfile -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ë´ØÏ¢¤·¤¿ÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£ -.TP 3 -deprecation -Èó¿ä¾©¹àÌܤλÈÍѤˤĤ¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +javac¤Ï¡¢»ØÄꤵ¤ì¤¿¥×¥í¥Õ¥¡¥¤¥ë¤Ë¤Ê¤¤Ç¤°Õ¤ÎJava SE API¤ò»ÈÍѤ¹¤ë¥½¡¼¥¹¡¦¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¡¦¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀ¸¤¸¤ë¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤ÎÎã¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - java.util.Date myDate = new java.util.Date(); -.fl - int currentDay = myDate.getDay(); -.fl -\fP +cd jdk1\&.8\&.0/bin +\&./javac \-profile compact1 Paint\&.java +Paint\&.java:5: error: Applet is not available in profile \*(Aqcompact1\*(Aq +import java\&.applet\&.Applet; .fi -.LP -¥á¥½¥Ã¥É \f2java.util.Date.getDay\fP ¤Ï JDK 1.1 °Ê¹ß¤Ï¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ -.TP 3 -dep\-ann -\f2@deprecated\fP Javadoc ¥³¥á¥ó¥È¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¤¬¡¢ \f2@Deprecated\fP Ãí¼á¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤¤¹àÌܤˤĤ¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¤³¤ÎÎã¤Ç¤Ï¡¢\fIApplet\fR¥¯¥é¥¹¤ò»ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë¥½¡¼¥¹¤òÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¨¥é¡¼¤ò½¤Àµ¤Ç¤­¤Þ¤¹¡£\-profile¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¨¥é¡¼¤ò½¤Àµ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢Java SE API¤Î´°Á´¤Ê¥»¥Ã¥È¤ËÂФ·¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£(¤É¤Î¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤Ë¤â¡¢\fIApplet\fR¥¯¥é¥¹¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£) +.sp +¥³¥ó¥Ñ¥¯¥È¡¦¥×¥í¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤ÎÊ̤ÎÊýË¡¤È¤·¤Æ¡¢\fI\-bootclasspath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥×¥í¥Õ¥¡¥¤¥ë¤Î¥¤¥á¡¼¥¸¤ò»ØÄꤹ¤ë\fIrt\&.jar\fR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤«¤ï¤ê¤Ë\fI\-profile\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥×¥í¥Õ¥¡¥¤¥ë¡¦¥¤¥á¡¼¥¸¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥·¥¹¥Æ¥à¾å¤Ë¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë»þ¤ËÌòΩ¤Á¤Þ¤¹¡£ +.RE +.SS "Èóɸ½à¥ª¥×¥·¥ç¥ó" +.PP +\-Xbootclasspath/p:\fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ËÀÜÈø¼­¤òÄɲä·¤Þ¤¹¡£ +.RE +.PP +\-Xbootclasspath/a:\fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ËÀÜÆ¬¼­¤òÄɲä·¤Þ¤¹¡£ +.RE +.PP +\-Xbootclasspath/:\fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-Xdoclint:[\-]\fIgroup\fR [\fI/access\fR] +.RS 4 +\fIgroup\fR¤ÎÃͤ¬\fIaccessibility\fR¡¢\fIsyntax\fR¡¢\fIreference\fR¡¢\fIhtml\fR¤Þ¤¿¤Ï\fImissing\fR¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ëÆÃÄê¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤òÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤Î¾ÜºÙ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +ÊÑ¿ô\fIaccess\fR¤Ï¡¢\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤¬¥Á¥§¥Ã¥¯¤¹¤ë¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤ÎºÇ¾®¤Î²Ä»ëÀ­¥ì¥Ù¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fIpublic\fR¡¢\fIprotected\fR¡¢\fIpackage\fR¤ª¤è¤Ó\fIprivate\fR¤ÎÃÍ(²Ä»ëÀ­¤Î¹â¤¤½ç)¤Î1¤Ä¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢(protected¡¢package¡¢public¤ò´Þ¤à) protected°Ê¾å¤Î¥¢¥¯¥»¥¹¡¦¥ì¥Ù¥ë¤ò»ý¤Ä¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤ò(¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤Ç)¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * @deprecated As of Java SE 7, replaced by {@link #newMethod()} -.fl - */ -.fl - -.fl - public static void deprecatedMethood() { } -.fl - -.fl - public static void newMethod() { } -.fl -\fP +\-Xdoclint:all/protected .fi -.TP 3 -divzero -°ìÄê¤ÎÀ°¿ô 0 ¤Ç½ü»»¤µ¤ì¤ë¤³¤È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢package°Ê¾å¤Î¥¢¥¯¥»¥¹¸¢(package¤ª¤è¤Ópublic¤ò´Þ¤à)¤ò»ý¤Ä¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤ËÂФ¹¤ëHTML¥¨¥é¡¼¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤¤³¤È¤ò½ü¤­¡¢¤¹¤Ù¤Æ¤Î¥¢¥¯¥»¥¹¡¦¥ì¥Ù¥ë¤ËÂФ·¤Æ¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - int divideByZero = 42 / 0; -.fl -\fP +\-Xdoclint:all,\-html/package .fi -.TP 3 -empty -\f2if\fP ʸ°Ê¹ß¤¬¶õ¤Îʸ¤Ç¤¢¤ë¤³¤È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-Xdoclint:none +.RS 4 +¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xdoclint:all[\fI/access\fR] +.RS 4 +¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xlint +.RS 4 +¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.RE +.PP +\-Xlint:all +.RS 4 +¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.RE +.PP +\-Xlint:none +.RS 4 +¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xlint:\fIname\fR +.RS 4 +·Ù¹ð̾¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¤Î¥ê¥¹¥È¤Ï¡¢\-Xlint¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿·Ù¹ð¤ÎÍ­¸ú²½¤Þ¤¿¤Ï̵¸ú²½¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xlint:\fI\-name\fR +.RS 4 +·Ù¹ð̾¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç̵¸ú¤Ë¤Ç¤­¤ë·Ù¹ð¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢\-Xlint¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿·Ù¹ð¤ÎÍ­¸ú²½¤Þ¤¿¤Ï̵¸ú²½\-Xlint\fI¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿\fR¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xmaxerrs \fInumber\fR +.RS 4 +°õºþ¤¹¤ë¥¨¥é¡¼¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-Xmaxwarns \fInumber\fR +.RS 4 +°õºþ¤¹¤ë·Ù¹ð¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-Xstdout \fIfilename\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤ò¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÁ÷¿®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤Ï\fISystem\&.err\fR¤ËÁ÷¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xprefer:[\fInewer,source\fR] +.RS 4 +¤¢¤ë·¿¤ËÂФ·¤Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ë¤«¤ò»ØÄꤷ¤Þ¤¹¡£(·¿¤Î¸¡º÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£\fI\-Xprefer:newer\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¤¢¤ë·¿¤ËÂФ¹¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¿·¤·¤¤Êý¤¬ÆÉ¤ß¼è¤é¤ì¤Þ¤¹(¥Ç¥Õ¥©¥ë¥È)¡£\fI\-Xprefer:source\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬ÆÉ¤ß¼è¤é¤ì¤Þ¤¹¡£\fISOURCE\fR¤ÎÊݸ¥Ý¥ê¥·¡¼¤ò»ÈÍѤ·¤ÆÀë¸À¤µ¤ì¤¿Ãí¼á¤ËǤ°Õ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤¬¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¾ì¹ç¤Ï¡¢\fI\-Xprefer:source\fR¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-Xpkginfo:[\fIalways\fR,\fIlegacy\fR,\fInonempty\fR] +.RS 4 +javac¤¬package\-info\&.java¥Õ¥¡¥¤¥ë¤«¤é\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Êmode°ú¿ô¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +always +.RS 4 +¤¹¤Ù¤Æ¤Î\fIpackage\-info\&.java\fR¥Õ¥¡¥¤¥ë¤Î\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤ò¾ï¤ËÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢³Æ\fI\&.java\fR¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë\fI\&.class\fR¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ëAnt¤Ê¤É¤Î¥Ó¥ë¥É¡¦¥·¥¹¥Æ¥à¤ò»ÈÍѤ¹¤ë¾ì¹ç¤ËÌòΩ¤Ä¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +legacy +.RS 4 +package\-info\&.java¤ËÃí¼á¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤Î¤ß\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£package\-info\&.java¤Ë¥³¥á¥ó¥È¤Î¤ß´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤»¤ó¡£ +.sp +\fBÃí°Õ:\fR +\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤Ç¤­¤Þ¤¹¤¬¡¢package\-info\&.java¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤ÎÃí¼á¤Ë\fIRetentionPolicy\&.SOURCE\fR¤¬¤¢¤ë¾ì¹ç¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +nonempty +.RS 4 +package\-info\&.java¤Ë\fIRetentionPolicy\&.CLASS\fR¤Þ¤¿¤Ï\fIRetentionPolicy\&.RUNTIME\fR¤È¤È¤â¤ËÃí¼á¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤Î¤ß\fIpackage\-info\&.class\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.RE +.PP +\-Xprint +.RS 4 +¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç»ØÄꤷ¤¿·¿¤Î¥Æ¥­¥¹¥Èɽ¼¨¤ò½ÐÎϤ·¤Þ¤¹¡£Ãí¼á½èÍý¤â¥³¥ó¥Ñ¥¤¥ë¤â¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£½ÐÎÏ·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-XprintProcessorInfo +.RS 4 +¤¢¤ëÆÃÄê¤Î¥×¥í¥»¥Ã¥µ¤¬½èÍý¤ò°ÍÍꤵ¤ì¤Æ¤¤¤ëÃí¼á¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-XprintRounds +.RS 4 +½é²ó¤ª¤è¤Ó¸å³¤ÎÃí¼á½èÍý¥é¥¦¥ó¥É¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.SH "-XLINT¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿·Ù¹ð¤ÎÍ­¸ú²½¤Þ¤¿¤Ï̵¸ú²½" +.PP +\fI\-Xlint:name\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ·Ù¹ð\fIname\fR¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢\fIname\fR¤Ï¼¡¤Î·Ù¹ð̾¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\-Xlint:\-name:\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢·Ù¹ð¤ò̵¸ú²½¤Ç¤­¤Þ¤¹¡£ +.PP +cast +.RS 4 +ÉÔÍפǾéĹ¤Ê¥­¥ã¥¹¥È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +String s = (String) "Hello!" +.fi +.if n \{\ +.RE +.\} +.RE +.PP +classfile +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ë´ØÏ¢¤·¤¿ÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£ +.RE +.PP +deprecation +.RS 4 +Èó¿ä¾©¤Î¹àÌܤλÈÍѤˤĤ¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java\&.util\&.Date myDate = new java\&.util\&.Date(); +int currentDay = myDate\&.getDay(); +.fi +.if n \{\ +.RE +.\} +¥á¥½¥Ã¥É\fIjava\&.util\&.Date\&.getDay\fR¤ÏJDK 1\&.1°Ê¹ß¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ +.RE +.PP +dep\-ann +.RS 4 +\fI@deprecated\fR +Javadoc¥³¥á¥ó¥È¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¤¬¡¢\fI@Deprecated\fRÃí¼á¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤¤¹àÌܤˤĤ¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * @deprecated As of Java SE 7, replaced by {@link #newMethod()} + */ +public static void deprecatedMethood() { } +public static void newMethod() { } +.fi +.if n \{\ +.RE +.\} +.RE +.PP +divzero +.RS 4 +ÄêÀ°¿ô0¤Ç½ü»»¤µ¤ì¤ë¤³¤È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +int divideByZero = 42 / 0; +.fi +.if n \{\ +.RE +.\} +.RE +.PP +empty +.RS 4 +\fIif \fRʸ°Ê¹ß¤¬¶õ¤Îʸ¤Ç¤¢¤ë¤³¤È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl class E { -.fl void m() { -.fl - if (true) ; -.fl + if (true) ; } -.fl } -.fl -\fP .fi -.TP 3 -fallthrough -fall\-through ¥±¡¼¥¹¤Î \f2switch\fP ¥Ö¥í¥Ã¥¯¤ò¥Á¥§¥Ã¥¯¤·¡¢¸¡½Ð¤µ¤ì¤¿¤â¤Î¤ËÂФ·¤Æ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£Fall\-through ¥±¡¼¥¹¤Ï¡¢\f2switch\fP ¥Ö¥í¥Ã¥¯Æâ¤ÎºÇ¸å¤Î¥±¡¼¥¹¤ò½ü¤¯¥±¡¼¥¹¤Ç¤¹¡£¤³¤Î¥³¡¼¥É¤Ë¤Ï \f2break\fP ʸ¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¥³¡¼¥É¤Î¼Â¹Ô¤ò¤½¤Î¥±¡¼¥¹¤«¤é¼¡¤Î¥±¡¼¥¹¤Ø°Üư¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î \f2switch\fP ¥Ö¥í¥Ã¥¯Æâ¤Î \f2case 1\fP ¥é¥Ù¥ë¤Ë³¤¯¥³¡¼¥É¤Ï¡¢\f2break\fP ʸ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ +.if n \{\ +.RE +.\} +.RE +.PP +fallthrough +.RS 4 +fall\-through¥±¡¼¥¹¤Îswitch¥Ö¥í¥Ã¥¯¤ò¥Á¥§¥Ã¥¯¤·¡¢¸¡½Ð¤µ¤ì¤¿¤â¤Î¤ËÂФ·¤Æ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£Fall\-through¥±¡¼¥¹¤Ï¡¢switch¥Ö¥í¥Ã¥¯Æâ¤ÎºÇ¸å¤Î¥±¡¼¥¹¤ò½ü¤¯¥±¡¼¥¹¤Ç¤¹¡£¤³¤Î¥³¡¼¥É¤Ë¤Ïbreakʸ¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¥³¡¼¥É¤Î¼Â¹Ô¤ò¤½¤Î¥±¡¼¥¹¤«¤é¼¡¤Î¥±¡¼¥¹¤Ø°Üư¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Îswitch¥Ö¥í¥Ã¥¯Æâ¤Îcase 1¥é¥Ù¥ë¤Ë³¤¯¥³¡¼¥É¤Ï¡¢breakʸ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl switch (x) { -.fl case 1: -.fl - System.out.println("1"); -.fl - // No break statement here. -.fl + System\&.out\&.println("1"); + // No break statement here\&. case 2: -.fl - System.out.println("2"); -.fl + System\&.out\&.println("2"); } -.fl -\fP .fi -.LP -¤³¤Î¥³¡¼¥É¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë \f2\-Xlint:fallthrough\fP ¥Õ¥é¥°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï Åö³º¥±¡¼¥¹¤Î¹ÔÈÖ¹æ¤È¤È¤â¤Ë¡¢fall\-through ¥±¡¼¥¹¤Î²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤ò¼¨¤¹·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£ -.TP 3 -finally -Àµ¾ï¤Ë´°Î»¤Ç¤­¤Ê¤¤ \f2finally\fP Àá¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¤³¤Î¥³¡¼¥É¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë\fI\-Xlint:fallthrough\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢ÌäÂê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥±¡¼¥¹¤Î¹ÔÈÖ¹æ¤È¤È¤â¤Ë¡¢case¤Ëfall\-through¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤ò¼¨¤¹·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +finally +.RS 4 +Àµ¾ï¤Ë´°Î»¤Ç¤­¤Ê¤¤\fIfinally\fR¶ç¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - public static int m() { -.fl - try { -.fl - throw new NullPointerException(); -.fl - } catch (NullPointerException e) { -.fl - System.err.println("Caught NullPointerException."); -.fl - return 1; -.fl - } finally { -.fl - return 0; -.fl - } -.fl +public static int m() { + try { + throw new NullPointerException(); + } catch (NullPointerException(); { + System\&.err\&.println("Caught NullPointerException\&."); + return 1; + } finally { + return 0; + } } -.fl -\fP .fi -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï \f2finally\fP ¥Ö¥í¥Ã¥¯¤Ë´Ø¤¹¤ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¡¢ÃÍ 1 ¤Ç¤Ï¤Ê¤¯ \f20\fP ¤¬ \f2ÊÖ¤µ¤ì¤Þ¤¹\fP¡£ \f2finally\fP ¥Ö¥í¥Ã¥¯¤Ï¡¢ \f2try\fP ¥Ö¥í¥Ã¥¯¤¬½ªÎ»¤¹¤ë¤Èɬ¤º¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢À©¸æ¤¬ \f2catch\fP ¤Ë°Ü¤µ¤ì¤¿¾ì¹ç¡¢¥á¥½¥Ã¥É¤Ï½ªÎ»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢ \f2finally\fP ¥Ö¥í¥Ã¥¯¤Ï¼Â¹Ô¤µ¤ì¤ëɬÍפ¬¤¢¤ë¤¿¤á¡¢À©¸æ¤¬¤¹¤Ç¤Ë¤³¤Î¥á¥½¥Ã¥É¤Î³°Éô¤Ë°Ü¤µ¤ì¤Æ¤¤¤Æ¤â¡¢¤³¤Î¥Ö¥í¥Ã¥¯¤Ï¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤³¤Î¼ï¤Î·Ù¹ð¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -overrides -¥á¥½¥Ã¥É¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ë´Ø¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î 2 ¤Ä¤Î¥¯¥é¥¹¤¬¤¢¤ë¤È¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¤³¤ÎÎã¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï\fIfinally\fR¥Ö¥í¥Ã¥¯¤Ë´Ø¤¹¤ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£\fIint\fR¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¡¢ÃÍ0¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£\fIfinally\fR¥Ö¥í¥Ã¥¯¤Ï¡¢\fItry\fR¥Ö¥í¥Ã¥¯¤¬½ªÎ»¤¹¤ë¤È¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢À©¸æ¤¬\fIcatch\fR¥Ö¥í¥Ã¥¯¤Ë°Ü¤µ¤ì¤¿¾ì¹ç¡¢\fIint\fR¥á¥½¥Ã¥É¤Ï½ªÎ»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\fIfinally\fR¥Ö¥í¥Ã¥¯¤Ï¼Â¹Ô¤µ¤ì¤ëɬÍפ¬¤¢¤ë¤¿¤á¡¢À©¸æ¤¬¥á¥½¥Ã¥É¤Î³°Éô¤Ë°Ü¤µ¤ì¤Æ¤¤¤Æ¤â¡¢¤³¤Î¥Ö¥í¥Ã¥¯¤Ï¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +options +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +overrides +.RS 4 +¥á¥½¥Ã¥É¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ë´Ø¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î2¤Ä¤Î¥¯¥é¥¹¤¬¤¢¤ë¤È¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl public class ClassWithVarargsMethod { -.fl - void varargsMethod(String... s) { } -.fl + void varargsMethod(String\&.\&.\&. s) { } } -.fl -\fP -.fi -.nf -\f3 -.fl + public class ClassWithOverridingMethod extends ClassWithVarargsMethod { -.fl - @Override -.fl - void varargsMethod(String[] s) { } -.fl + @Override + void varargsMethod(String[] s) { } } -.fl -\fP .fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î¤è¤¦¤Ê·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¼¡¤Î¤è¤¦¤Ê·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -warning: [override] varargsMethod(String[]) in ClassWithOverridingMethod overrides varargsMethod(String...) in ClassWithVarargsMethod; overriding method is missing '...' -.fl -\fP +warning: [override] varargsMethod(String[]) in ClassWithOverridingMethod +overrides varargsMethod(String\&.\&.\&.) in ClassWithVarargsMethod; overriding +method is missing \*(Aq\&.\&.\&.\*(Aq .fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢varargs ¥á¥½¥Ã¥É¤ò¸¡½Ð¤¹¤ë¤È¡¢varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿¤òÇÛÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£¥á¥½¥Ã¥É \f2ClassWithVarargsMethod.varargsMethod\fP ¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿ \f2String... s\fP ¤ò²¾¥Ñ¥é¥á¡¼¥¿ \f2String[] s\fP ¤ËÊÑ´¹¤·¤Þ¤¹¡£String[] s ¤Ï¡¢¥á¥½¥Ã¥É \f2ClassWithOverridingMethod.varargsMethod\fP ¤Î²¾¥Ñ¥é¥á¡¼¥¿¤ËÂбþ¤¹¤ëÇÛÎó¤Ç¤¹¡£¤½¤Î·ë²Ì¡¢¤³¤ÎÎã¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.TP 3 -path -¥³¥Þ¥ó¥É¹Ô¤Ç¤Î̵¸ú¤Ê¥Ñ¥¹Í×ÁǤȸºß¤·¤Ê¤¤¥Ñ¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹ (¥¯¥é¥¹¥Ñ¥¹¡¢¥½¡¼¥¹¥Ñ¥¹¤Ê¤É¤Î¥Ñ¥¹´ØÏ¢)¡£¤³¤Î¤è¤¦¤Ê·Ù¹ð¤ò \f2@SuppressWarnings\fP Ãí¼á¤ÇÍÞÀ©¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢\fIvarargs\fR¥á¥½¥Ã¥É¤ò¸¡½Ð¤¹¤ë¤È¡¢\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿¤òÇÛÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£¥á¥½¥Ã¥É\fIClassWithVarargsMethod\&.varargsMethod\fR¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿\fIString\&.\&.\&. s\fR¤ò²¾¥Ñ¥é¥á¡¼¥¿\fIString[] s\fR¤ËÊÑ´¹¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥á¥½¥Ã¥É\fIClassWithOverridingMethod\&.varargsMethod\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿¤ËÂбþ¤¹¤ëÇÛÎó¤Ç¤¹¡£¤½¤Î·ë²Ì¡¢¤³¤ÎÎã¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +path +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Î̵¸ú¤Ê¥Ñ¥¹Í×ÁǤȸºß¤·¤Ê¤¤¥Ñ¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹(¥¯¥é¥¹¡¦¥Ñ¥¹¡¢¥½¡¼¥¹¡¦¥Ñ¥¹¤Ê¤É¤Î¥Ñ¥¹´ØÏ¢)¡£¤³¤Î¤è¤¦¤Ê·Ù¹ð¤ò\fI@SuppressWarnings\fRÃí¼á¤ÇÍÞÀ©¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -javac \-Xlint:path \-classpath /nonexistentpath Example.java -.fl -\fP +javac \-Xlint:path \-classpath /nonexistentpath Example\&.java .fi -.TP 3 -processing -Ãí¼á½èÍý¤Ë´Ø¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤¬¤³¤Î·Ù¹ð¤òÀ¸À®¤¹¤ë¤Î¤Ï¡¢Ãí¼á¤ò´Þ¤à¥¯¥é¥¹¤¬¤¢¤ë¤È¤­¤Ë¡¢»ÈÍѤ·¤Æ¤¤¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Ç¤½¤Î·¿¤ÎÎã³°¤ò½èÍý¤Ç¤­¤Ê¤¤¾ì¹ç¤Ç¤¹¡£Ã±½ã¤ÊÃí¼á¥×¥í¥»¥Ã¥µ¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -\f3¥½¡¼¥¹¥Õ¥¡¥¤¥ë \fP\f4AnnoProc.java\fP: +.if n \{\ +.RE +.\} +.RE +.PP +processing +.RS 4 +Ãí¼á½èÍý¤Ë´Ø¤¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤¬¤³¤Î·Ù¹ð¤òÀ¸À®¤¹¤ë¤Î¤Ï¡¢Ãí¼á¤ò´Þ¤à¥¯¥é¥¹¤¬¤¢¤ë¤È¤­¤Ë¡¢»ÈÍѤ·¤Æ¤¤¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Ç¤½¤Î¥¿¥¤¥×¤ÎÎã³°¤ò½èÍý¤Ç¤­¤Ê¤¤¾ì¹ç¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢Ã±½ã¤ÊÃí¼á¥×¥í¥»¥Ã¥µ¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +\fB¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëAnnocProc\&.java\fR: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -import java.util.*; -.fl -import javax.annotation.processing.*; -.fl -import javax.lang.model.*; -.fl -import javax.lang.model.element.*; -.fl +import java\&.util\&.*; +import javax\&.annotation\&.processing\&.*; +import javax\&.lang\&.model\&.*; +import\&.javaz\&.lang\&.model\&.element\&.*; -.fl @SupportedAnnotationTypes("NotAnno") -.fl public class AnnoProc extends AbstractProcessor { -.fl - public boolean process(Set<? extends TypeElement> elems, RoundEnvironment renv) { -.fl - return true; -.fl - } -.fl - -.fl - public SourceVersion getSupportedSourceVersion() { -.fl - return SourceVersion.latest(); -.fl - } -.fl -} -.fl -\fP -.fi -.LP -\f3¥½¡¼¥¹¥Õ¥¡¥¤¥ë \fP\f4AnnosWithoutProcessors.java\fP\f3:\fP -.nf -\f3 -.fl -@interface Anno { } -.fl - -.fl -@Anno -.fl -class AnnosWithoutProcessors { } -.fl -\fP -.fi -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ãí¼á¥×¥í¥»¥Ã¥µ \f2AnnoProc\fP ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢¤³¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë \f2AnnosWithoutProcessors.java\fP ¤ËÂФ·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -% javac AnnoProc.java -.fl -% javac \-cp . \-Xlint:processing \-processor AnnoProc \-proc:only AnnosWithoutProcessors.java -.fl -\fP -.fi -.LP -¥³¥ó¥Ñ¥¤¥é¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë \f2AnnosWithoutProcessors.java\fP ¤ËÂФ·¤ÆÃí¼á¥×¥í¥»¥Ã¥µ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -warning: [processing] No processor claimed any of these annotations: Anno -.fl -\fP -.fi -.LP -¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤Ë¤Ï¡¢¥¯¥é¥¹ \f2AnnosWithoutProcessors\fP ¤ÇÄêµÁ¤ª¤è¤Ó»ÈÍѤµ¤ì¤ëÃí¼á¤Î̾Á°¤ò \f2Anno\fP ¤«¤é \f2NotAnno\fP ¤ËÊѹ¹¤·¤Þ¤¹¡£ -.TP 3 -rawtypes -raw ·¿¤ËÂФ¹¤ë̤¸¡ººÁàºî¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤Îʸ¤Ç¤Ï¡¢ \f2rawtypes\fP ·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -void countElements(List l) { ... } -.fl -\fP -.fi -.LP -¼¡¤Îʸ¤Ç¤Ï¡¢ \f2rawtypes\fP ·Ù¹ð¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£ -.nf -\f3 -.fl -void countElements(List<?> l) { ... } -.fl -\fP -.fi -.LP -\f2List\fP ¤Ï raw ·¿¤Ç¤¹¡£¤¿¤À¤·¡¢ \f2List<?>\fP ¤Ï¥¢¥ó¥Ð¥¦¥ó¥É·Á¼°¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Î¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿¤Ç¤¹¡£ \f2List\fP ¤Ï¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ê¤Î¤Ç¡¢É¬¤º¤½¤Î·¿°ú¿ô¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢ \f2List\fP ¤Î²¾°ú¿ô¤Ï¥¢¥ó¥Ð¥¦¥ó¥É·Á¼°¤Î¥ï¥¤¥ë¥É¥«¡¼¥É (\f2?\fP) ¤ò»È¤Ã¤Æ¤½¤Î²¾·¿¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄꤵ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ \f2countElements\fP ¥á¥½¥Ã¥É¤Ï \f2List\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤É¤Î¥¤¥ó¥¹¥¿¥ó¥¹²½¤â¼õ¤±ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 3 -serial -ľÎó²½²Äǽ¥¯¥é¥¹¤Ë \f2serialVersionUID\fP ÄêµÁ¤¬¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -public class PersistentTime implements Serializable -.fl -{ -.fl - private Date time; -.fl - -.fl - public PersistentTime() { -.fl - time = Calendar.getInstance().getTime(); -.fl - } -.fl - -.fl - public Date getTime() { -.fl - return time; -.fl - } -.fl -} -.fl -\fP -.fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -warning: [serial] serializable class PersistentTime has no definition of serialVersionUID -.fl -\fP -.fi -.LP -ľÎó²½²Äǽ¥¯¥é¥¹¤¬ \f2serialVersionUID\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤òÌÀ¼¨Åª¤ËÀë¸À¤·¤Ê¤¤¾ì¹ç¡¢Ä¾Îó²½¥é¥ó¥¿¥¤¥à¤Ï¡ÖJava ¥ª¥Ö¥¸¥§¥¯¥ÈľÎó²½»ÅÍ͡פÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¹¤Î¤µ¤Þ¤¶¤Þ¤Ê¦Ì̤˴ð¤Å¤¤¤Æ¡¢¥¯¥é¥¹¤Î \f2serialVersionUID\fP ¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò·×»»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢¤¹¤Ù¤Æ¤ÎľÎó²½²Äǽ¥¯¥é¥¹¤¬ \f2serialVersionUID\fP ÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ë¤³¤È¤ò¶¯¤¯¤ª´«¤á¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢ \f2serialVersionUID\fP Ãͤò·×»»¤¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥»¥¹¤¬¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë²ÄǽÀ­¤Î¤¢¤ë¥¯¥é¥¹¤Î¾ÜºÙ¤Ë¤­¤ï¤á¤Æ±Æ¶Á¤ò¼õ¤±¤ä¤¹¤¯¡¢Ä¾Îó²½Éü¸µÃæ¤Ëͽ´ü¤·¤Ê¤¤ \f2InvalidClassExceptions\fP ¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Java ¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤¬°Û¤Ê¤Ã¤Æ¤â \f2serialVersionUID\fP Ãͤΰì´ÓÀ­¤ò³ÎÊݤˤ¹¤ë¤Ë¤Ï¡¢Ä¾Îó²½²Äǽ¥¯¥é¥¹¤¬ \f2serialVersionUID\fP ÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -static -static ¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -class XLintStatic { -.fl - static void m1() { } -.fl - void m2() { this.m1(); } -.fl -} -.fl -\fP -.fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -warning: [static] static method should be qualified by type name, XLintStatic, instead of by an expression -.fl -\fP -.fi -.LP -¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢¼¡¤Î¤è¤¦¤Ë static ¥á¥½¥Ã¥É \f2m1\fP ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl -XLintStatic.m1(); -.fl -\fP -.fi -.LP -¤¢¤ë¤¤¤Ï¡¢ \f2static\fP ¥­¡¼¥ï¡¼¥É¤ò¥á¥½¥Ã¥É \f2m1\fP ¤ÎÀë¸À¤«¤éºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.TP 3 -try -try\-with\-resources ʸ¤ò´Þ¤à¡¢ \f2try\fP ¥Ö¥í¥Ã¥¯¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢try ʸ¤ÇÀë¸À¤µ¤ì¤¿¥ê¥½¡¼¥¹ \f2ac\fP ¤¬»ÈÍѤµ¤ì¤Ê¤¤¤¿¤á¤Ë¡¢ \f2¼¡¤Îʸ¤ËÂФ·¤Æ·Ù¹ð¤¬\fP À¸À®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -try ( AutoCloseable ac = getResource() ) { -.fl - // do nothing -.fl -} -.fl -\fP -.fi -.TP 3 -unchecked -Java ¸À¸ì»ÅÍͤǻØÄꤵ¤ì¤Æ¤¤¤ë̤¸¡ººÊÑ´¹·Ù¹ð¤Î¾ÜºÙ¤ò¼¨¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - List l = new ArrayList<Number>(); -.fl - List<String> ls = l; // unchecked warning -.fl -\fP -.fi -.LP -·¿¤Î¾ÃµîÃæ¤Ë¡¢·¿ \f2ArrayList<Number>\fP ¤ª¤è¤Ó \f2List<String>\fP ¤Ï¤½¤ì¤¾¤ì \f2ArrayList\fP ¤ª¤è¤Ó \f2List\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -ÊÑ¿ô \f2ls\fP ¤Ë¤Ï¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿ \f2List<String>\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£l ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë \f2List\fP \f2¤¬\fP \f2ls\fP ¤ËÂåÆþ¤µ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï̤¸¡ºº·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï \f2l\fP ¤¬ \f2List<String>\fP ·¿¤ò»²¾È¤¹¤ë¤«¤É¤¦¤«¤ò¥³¥ó¥Ñ¥¤¥ë»þ¤ËȽÃǤǤ­¤Þ¤»¤ó¡£¤Þ¤¿¡¢JVM ¤¬¼Â¹Ô»þ¤Ë¤½¤ì¤òȽÃǤǤ­¤Ê¤¤¤³¤È¤âǧ¼±¤·¤Æ¤¤¤Þ¤¹¡£l ¤Ï List<String> ·¿¤ò»²¾È¤·¤Þ¤»¤ó¡£¤½¤Î·ë²Ì¡¢¥Ò¡¼¥×±øÀ÷¤¬È¯À¸¤·¤Þ¤¹¡£ -.LP -¾Ü¤·¤¯ÀâÌÀ¤¹¤ë¤È¡¢¥Ò¡¼¥×±øÀ÷¾õÂÖ¤¬È¯À¸¤¹¤ë¤Î¤Ï¡¢ \f2List\fP ¥ª¥Ö¥¸¥§¥¯¥È \f2l\fP (¤½¤Î static ·¿¤Ï \f2List<Number>\fP) ¤¬Ê̤Π\f2List\fP ¥ª¥Ö¥¸¥§¥¯¥È \f2ls\fP (°Û¤Ê¤ë static ·¿ \f2List<String>\fP ¤ò»ý¤Ä) ¤ËÂåÆþ¤µ¤ì¤ë¾ì¹ç¤Ç¤¹¡£¤·¤«¤·¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¤³¤ÎÂåÆþ¤ò̤¤À¤Ëµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£Áí¾Î¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤ Java SE ¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤Î²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ë¤¿¤á¤Ë¡¢¤³¤ÎÂåÆþ¤òµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£·¿¾Ãµî¤Î¤¿¤á¤Ë¡¢ \f2List<Number>\fP ¤È \f2List<String>\fP ¤Ï \f2List\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥ª¥Ö¥¸¥§¥¯¥È \f2l\fP ( \f2List\fP ¤È¤¤¤¦ raw ·¿¤ò»ý¤Ä) ¤ò¥ª¥Ö¥¸¥§¥¯¥È \f2ls\fP¤ËÂåÆþ¤¹¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¡£ -.TP 3 -varargs -²ÄÊѰú¿ô (varargs) ¥á¥½¥Ã¥É¡¢ÆÃ¤ËÈó¶ñ¾Ý²½²Äǽ°ú¿ô¤ò´Þ¤à¤â¤Î¤Î»ÈÍѤ¬°ÂÁ´¤Ç¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -public class ArrayBuilder { -.fl - public static <T> void addToList (List<T> listArg, T... elements) { -.fl - for (T x : elements) { -.fl - listArg.add(x); -.fl - } -.fl + public boolean process(Set<? extends TypeElement> elems, RoundEnvironment renv){ + return true; } -.fl + + public SourceVersion getSupportedSourceVersion() { + return SourceVersion\&.latest(); + } } -.fl -\fP .fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥á¥½¥Ã¥É \f2ArrayBuilder.addToList\fP ¤ÎÄêµÁ¤Ë´Ø¤¹¤ë¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -warning: [varargs] Possible heap pollution from parameterized vararg type T -.fl -\fP -.fi -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢varargs ¥á¥½¥Ã¥É¤ò¸¡½Ð¤¹¤ë¤È¡¢varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿¤òÇÛÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£¤·¤«¤·¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿¤ÎÇÛÎó¤ÎºîÀ®¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£¥á¥½¥Ã¥É \f2ArrayBuilder.addToList\fP ¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿ \f2T... elements\fP ¤ò²¾¥Ñ¥é¥á¡¼¥¿ \f2T[] elements\fP(ÇÛÎó) ¤ËÊÑ´¹¤·¤Þ¤¹¡£¤·¤«¤·¡¢·¿¾Ãµî¤Î¤¿¤á¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤Ï varargs ¤Î²¾¥Ñ¥é¥á¡¼¥¿¤ò \f2Object[] elements\fP ¤ËÊÑ´¹¤·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¥Ò¡¼¥×±øÀ÷¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë" -.LP -.LP -javac ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢ \f2javac\fP ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô ( \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ÎÊýË¡¤ò»È¤¦¤È¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î javac ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢javac ¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹ç¤ï¤»¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ -.LP -.LP -°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2*.java\fP ¤È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ -.LP -.LP -javac ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£javac ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ -.LP -.SS -°ú¿ô¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä»ØÄꤹ¤ëÎã -.LP -.LP -\f2¡Öargfile¡×¤È¤¤¤¦Ì¾Á°¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë\fP¤¹¤Ù¤Æ¤Î javac °ú¿ô¤ò³ÊǼ¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.LP +.\} +\fB¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëAnnosWithoutProcessors\&.java\fR: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% \fP\f3javac @argfile\fP -.fl -.fi - -.LP -.LP -¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òξÊý¤È¤âÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.SS -°ú¿ô¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä»ØÄꤹ¤ëÎã -.LP -.LP -¤¿¤È¤¨¤Ð¡¢javac ¥ª¥×¥·¥ç¥óÍÑ¤Ë 1 ¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ÍÑ¤Ë 1 ¥Õ¥¡¥¤¥ë¤È¤¤¤¦¤è¤¦¤Ë¡¢2 ¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤Î¤¢¤È¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¹Ô¤Î·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -.LP -°Ê²¼¤ÎÆâÍÆ¤ò´Þ¤à \f2options\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - \-d classes -.fl - \-g -.fl - \-sourcepath /java/pubs/ws/1.3/src/share/classes -.fl - -.fl -\fP -.fi - -.LP -.LP -°Ê²¼¤ÎÆâÍÆ¤ò´Þ¤à \f2classes\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - MyClass1.java -.fl - MyClass2.java -.fl - MyClass3.java -.fl - -.fl -\fP -.fi - -.LP -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ \f3javac\fP ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - % \fP\f3javac @options @classes\fP -.fl - -.fl -.fi - -.LP -.SS -¥Ñ¥¹ÉÕ¤­¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÎã -.LP -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢²¼¤ÎÎã¤Î¾ì¹ç¤Ï¡¢ \f2path1\fP ¤ä \f2path2\fP ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac @path1/options @path2/classes\fP -.fl -.fi - -.LP -.SH "Ãí¼á½èÍý" -.LP -.LP -\f3javac\fP ¤¬Ãí¼á½èÍý¤òľÀÜ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢ÆÈΩ¤·¤¿Ãí¼á½èÍý¥Ä¡¼¥ë¤Ç¤¢¤ë \f3apt\fP ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ -.LP -.LP -Ãí¼á½èÍý¤Î API ¤Ï¡¢ \f2javax.annotation.processing\fP ¤ª¤è¤Ó \f2javax.lang.model\fP ¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SS -Ãí¼á½èÍý¤Î³µÍ× -.LP -.LP -\f3\-proc:none\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÃí¼á½èÍý¤¬Ìµ¸ú²½¤µ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¸¡º÷¤·¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤Ï \f3\-processorpath\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤Ï¡¢¸¡º÷¥Ñ¥¹¾å¤Î \f2META\-INF/services/javax.annotation.processing.Processor\fP ¤È¤¤¤¦Ì¾Á°¤Î¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¤¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¤ò¡¢1 ¹Ô¤Ë 1 ¤Ä¤º¤Ä´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Ê̤ÎÊýË¡¤È¤·¤Æ¡¢\f3\-processor\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥×¥í¥»¥Ã¥µ¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ä¥¯¥é¥¹¤òÁöºº¤¹¤ë¤³¤È¤Ç¡¢¤É¤Î¤è¤¦¤ÊÃí¼á¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¤ò³Îǧ¤·½ª¤ï¤ë¤È¡¢¥×¥í¥»¥Ã¥µ¤ËÂФ·¤ÆÌ䤤¹ç¤ï¤»¤ò¹Ô¤¤¡¢¤½¤ì¤é¤Î¥×¥í¥»¥Ã¥µ¤¬¤É¤ÎÃí¼á¤ò½èÍý¤Ç¤­¤ë¤Î¤«¤ò³Îǧ¤·¤Þ¤¹¡£°ìÃפ¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥Ã¥µ¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£³Æ¥×¥í¥»¥Ã¥µ¤Ï¡¢¼«¿È¤¬½èÍý¤¹¤ëÃí¼á¤ò¡ÖÍ×µá¡×¤Ç¤­¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤ì¤é¤ÎÃí¼á¤ËÂФ¹¤ëÊÌ¤Î¥×¥í¥»¥Ã¥µ¤ò¸«¤Ä¤±¤ë»î¤ß¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤¹¤Ù¤Æ¤ÎÃí¼á¤¬Í׵ᤵ¤ì¤Æ¤·¤Þ¤¦¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤ì°Ê¾å¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤ò¹Ô¤¤¤Þ¤»¤ó¡£ -.LP -.LP -¤¤¤º¤ì¤«¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¤È¡¢Ãí¼á½èÍý¤Î 2 ²óÌܤΥ饦¥ó¥É¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¿·¤·¤¯À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬Áöºº¤µ¤ì¡¢Á°²ó¤ÈƱÍͤËÃí¼á¤¬½èÍý¤µ¤ì¤Þ¤¹¡£°ÊÁ°¤Î¥é¥¦¥ó¥É¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¥×¥í¥»¥Ã¥µ¤Ï¤¹¤Ù¤Æ¡¢¸å³¤Î¤É¤Î¥é¥¦¥ó¥É¤Ç¤â¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬¡¢¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¯¤Ê¤ë¤Þ¤Ç³¤­¤Þ¤¹¡£ -.LP -.LP -¤¢¤ë¥é¥¦¥ó¥É¤Ç¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤¬¤¢¤È 1 ²ó¤À¤±¸Æ¤Ó½Ð¤µ¤ì¡¢É¬ÍפʽèÍý¤ò¼Â¹Ô¤¹¤ëµ¡²ñ¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢\f3\-proc:only\fP ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¸µ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈÀ¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ -.LP -.SS -°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Ë¡¢Ê̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò°ÅÌÛŪ¤Ë¥í¡¼¥É¤¹¤ë¤³¤È¤¬É¬Íפʾì¹ç¤¬¤¢¤ê¤Þ¤¹ (¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È)¡£¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢¸½»þÅÀ¤Ç¤ÏÃí¼á½èÍý¤ÎÂоݤˤʤê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ãí¼á½èÍý¤¬¼Â¹Ô¤µ¤ì¡¢¤«¤Ä°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ 1 ¤Ä¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£¤³¤Î·Ù¹ð¤òÍÞÀ©¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-implicit ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "·¿¤Î¸¡º÷" -.LP -.LP -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë·¿¤ÎÄêµÁ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤­¡¢¥³¥ó¥Ñ¥¤¥é¤ÏÄ̾¤½¤Î·¿¤Ë´Ø¤¹¤ë¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤¢¤ë¤¤¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ¡¢·¿¤Î¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ë¤Ï¸ÀµÚ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢·Ñ¾µ¤òÄ̤¸¤Æ¾ðÊó¤òÄ󶡤¹¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â´Þ¤Þ¤ì¤Þ¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢\f3java.applet.Applet\fP ¤ò¥µ¥Ö¥¯¥é¥¹¤Ë¤·¤¿¾ì¹ç¡¢\f3¥¢¥×¥ì¥Ã¥È¤Î\fPÁÄÀè¤Î¥¯¥é¥¹¡Ê\f3java.awt.Panel\fP¡¢\f3java.awt.Container\fP¡¢\f3java.awt.Component\fP¡¢\f3java.lang.Object\fP¡Ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢·¿¤Î¾ðÊó¤¬É¬Íפˤʤë¤È¡¢¤½¤Î·¿¤òÄêµÁ¤·¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£¤Þ¤º¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤È³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò¸¡º÷¤·¡¢Â³¤¤¤Æ¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹ (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê) ¤ò¸¡º÷¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢\f3CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤òÀßÄꤷ¤ÆÄêµÁ¤¹¤ë¤«¡¢¤Þ¤¿¤Ï \f3\-classpath\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÀßÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\-sourcepath ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -.LP -\f3\-bootclasspath\fP ¥ª¥×¥·¥ç¥ó¤È \f3\-extdirs\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢Ê̤Υ֡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤Î¤¢¤È¤Î¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -·¿¤Î¸¡º÷¤ËÀ®¸ù¤·¤¿¤È¤­¤ËÆÀ¤é¤ì¤ë·ë²Ì¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤Ç¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Î¾Êý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤Ù¤­¤«¤ò \-Xprefer ¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤Ç¤­¤Þ¤¹¡£\f3newer\fP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Êý¤ò»ÈÍѤ·¤Þ¤¹¡£\f3source\fP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï \f3newer\fP ¤Ç¤¹¡£ -.LP -.LP -·¿¤Î¸¡º÷¼«ÂΤˤè¤Ã¤Æ¡¢¤Þ¤¿¤Ï \f3\-Xprefer\fP ¤¬ÀßÄꤵ¤ì¤¿·ë²Ì¤È¤·¤ÆÉ¬Íפʷ¿¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¡¢É¬ÍפʾðÊó¤ò¼èÆÀ¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤â¹Ô¤¤¤Þ¤¹¡£\-implicit ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤½¤Îưºî¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\f3none\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£\f3class\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Ãí¼á½èÍý¤Î´°Î»¸å¤Ë¡¢¤¢¤ë·¿¾ðÊó¤ÎɬÍ×À­¤òǧ¼±¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î·¿¾ðÊ󤬤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¸«¤Ä¤«¤ê¡¢¤«¤Ä \f3\-implicit\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤ餺¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤³¤È¤ò¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥æ¡¼¥¶¡¼¤Ë·Ù¹ð¤·¤Þ¤¹¡£¤³¤Î·Ù¹ð¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢(¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤë¤è¤¦¤Ë) ¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤«¡¢¤¢¤ë¤¤¤Ï¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤Ù¤­¤«¤É¤¦¤«¤ò \f3\-implicit\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ -.LP -.SH "¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹" -.LP -.LP -\f3javac\fP ¤Ï¡¢ \f2javax.tools\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë¿·¤·¤¤ Java Compiler API ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ -.LP -.SS -Îã -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¤«¤é»ØÄꤵ¤ì¤¿°ú¿ô¤ò»È¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -JavaCompiler javac = ToolProvider.getSystemJavaCompiler(); -.fl -int rc = javac.run(null, null, null, args); -.fl -\fP -.fi - -.LP -.LP -¤³¤Î¾ì¹ç¡¢É¸½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤¹¤Ù¤Æ¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤¬½ñ¤­½Ð¤µ¤ì¡¢¥³¥Þ¥ó¥É¹Ô¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿ \f3javac\fP ¤¬ÊÖ¤¹¤Î¤ÈƱ¤¸½ªÎ»¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2javax.tools.JavaCompiler\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Î¤Û¤«¤Î¥á¥½¥Ã¥É¤ò»È¤¨¤Ð¡¢¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î½èÍý¤ä¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¼è¤ê¸µ/½ñ¤­¹þ¤ßÀè¤ÎÀ©¸æ¤Ê¤É¤ò¹Ô¤¨¤Þ¤¹¡£ -.LP -.SS -µì¼°¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -.LP -.LP -\f3Ãí:\fP ¤³¤Î API ¤Ï¡¢²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ë¤¿¤á¤À¤±¤Ë»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¿·¤·¤¤¥³¡¼¥É¤Ç¤Ï¡¢É¬¤ºÁ°½Ò¤Î Java Compiler API ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2com.sun.tools.javac.Main\fP ¥¯¥é¥¹¤Ë¤Ï¡¢¥×¥í¥°¥é¥àÆâ¤«¤é¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î static ¥á¥½¥Ã¥É¤¬ 2 ¤ÄÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤é¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -public static int compile(String[] args); -.fl -public static int compile(String[] args, PrintWriter out); -.fl -\fP -.fi - -.LP -.LP -\f2args\fP ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢javac ¥×¥í¥°¥é¥à¤ËÄ̾ïÅϤµ¤ì¤ëǤ°Õ¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î³µÍפˤĤ¤¤Æ¤Ï¡¢Á°½Ð¤Î¡Ö·Á¼°¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2out\fP ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î½ÐÎÏÀè¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.LP -Ìá¤êÃͤϡ¢\f3javac\fP ¤Î½ªÎ»ÃÍ¤ÈÆ±¤¸¤Ç¤¹¡£ -.LP -.LP -̾Á°¤¬ \f2com.sun.tools.javac\fP ¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸ (Èó¸ø¼°¤Ë¤Ï \f2com.sun.tools.javac\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤È¤·¤ÆÃΤé¤ì¤ë) ¤Ë´Þ¤Þ¤ì¤ë¤½¤Î¾¤Î¥¯¥é¥¹¤ä¥á¥½¥Ã¥É¤Ï¡¢¤É¤ì¤â´°Á´¤ËÆâÉôÍѤǤ¢¤ê¡¢¤¤¤Ä¤Ç¤âÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SH "Îã" -.LP -.SS -´Êñ¤Ê¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë -.LP -.LP -\f2Hello.java\fP ¤È¤¤¤¦¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¡¢\f3greetings.Hello\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤òÄêµÁ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ \f2greetings\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤°²¼¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤Þ¤¿¡¢\f3\-d\fP ¤ò»È¤Ã¤ÆÊ̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ëɬÍפ⤢¤ê¤Þ¤»¤ó¡£ -.LP -.nf -\f3 -.fl -% \fP\f3ls\fP -.fl -greetings/ -.fl -% \f3ls greetings\fP -.fl -Hello.java -.fl -% \f3cat greetings/Hello.java\fP -.fl -package greetings; -.fl - -.fl -public class Hello { -.fl - public static void main(String[] args) { -.fl - for (int i=0; i < args.length; i++) { -.fl - System.out.println("Hello " + args[i]); -.fl - } -.fl - } -.fl -} -.fl -% \f3javac greetings/Hello.java\fP -.fl -% \f3ls greetings\fP -.fl -Hello.class Hello.java -.fl -% \f3java greetings.Hello World Universe Everyone\fP -.fl -Hello World -.fl -Hello Universe -.fl -Hello Everyone -.fl -.fi - -.LP -.SS -Ê£¿ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë -.LP -.LP -¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2greetings\fP Æâ¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3ls\fP -.fl -greetings/ -.fl -% \f3ls greetings\fP -.fl -Aloha.java GutenTag.java Hello.java Hi.java -.fl -% \f3javac greetings/*.java\fP -.fl -% \f3ls greetings\fP -.fl -Aloha.class GutenTag.class Hello.class Hi.class -.fl -Aloha.java GutenTag.java Hello.java Hi.java -.fl -.fi - -.LP -.SS -¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Î»ØÄê -.LP -.LP -¾å¤ÎÎã¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¤¦¤Á 1 ¤Ä¤òÊѹ¹¤·¡¢Êѹ¹¸å¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3pwd\fP -.fl -/examples -.fl -% \f3javac greetings/Hi.java\fP -.fl -.fi - -.LP -.LP -\f2greetings.Hi\fP ¤Ï¡¢ \f2greetings\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤Û¤«¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤ì¤é¤Î¥¯¥é¥¹¤òõ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¾å¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥ë¤ÏÀµ¾ï¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¸½ºß¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¤¤ë¤«¤Ë´Ø·¸¤Ê¤¯¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë \f2/examples\fP ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¥¨¥ó¥È¥ê¤òÄɲ乤ë¤Ë¤Ï¡¢\f3CLASSPATH\fP ¤òÀßÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤³¤Ç¤Ï \f3\-classpath\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP -.fl -.fi - -.LP -.LP -ºÆÅÙ \f2greetings.Hi\fP ¤òÊѹ¹¤·¤Æ¥Ð¥Ê¡¼¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò»È¤¦¤è¤¦¤Ë¤·¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥Ð¥Ê¡¼¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\ -.fl - /examples/greetings/Hi.java\fP -.fl -.fi - -.LP -.LP -\f2greetings\fP Æâ¤Î¥¯¥é¥¹¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢ \f2greetings\fP ¤È¡¢¤½¤ì¤¬»È¤¦¥¯¥é¥¹¤ÎξÊý¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP -.fl -.fi - -.LP -.SS -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎʬΥ -.LP -.LP -ÆÃ¤ËÂ絬ÌÏ¥×¥í¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÊÌ¡¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤ÈÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¤òÊ̤˻ØÄꤹ¤ë¤Ë¤Ï¡¢\f3\-d\fP ¤ò»È¤¤¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¤Ï¤Ê¤¤¤Î¤Ç¡¢\f3\-sourcepath\fP ¤ò»È¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3ls\fP -.fl -classes/ lib/ src/ -.fl -% \f3ls src\fP -.fl -farewells/ -.fl -% \f3ls src/farewells\fP -.fl -Base.java GoodBye.java -.fl -% \f3ls lib\fP -.fl -Banners.jar -.fl -% \f3ls classes\fP -.fl -% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\ -.fl - src/farewells/GoodBye.java \-d classes\fP -.fl -% \f3ls classes\fP -.fl -farewells/ -.fl -% \f3ls classes/farewells\fP -.fl -Base.class GoodBye.class -.fl -.fi - -.LP -.LP -\f3Ãí:\fP ¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï \f2src/farewells/Base.java\fP ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤â¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼«Æ°¥³¥ó¥Ñ¥¤¥ë¤ò´Æ»ë¤¹¤ë¤Ë¤Ï¡¢\f3\-verbose\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£ -.LP -.SS -¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã -.LP -.LP -¤³¤³¤Ç¤Ï¡¢\f3javac\fP ¤ò»È¤Ã¤Æ¡¢1.6 VM ¾å¤Ç¼Â¹Ô¤¹¤ë¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac \-source 1.6 \-target 1.6 \-bootclasspath jdk1.6.0/lib/rt.jar \\ -.fl - \-extdirs "" OldCode.java\fP -.fl -.fi - -.LP -.LP -\f2\-source 1.6\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢ \f2OldCode.java\fP ¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï¥Ð¡¼¥¸¥ç¥ó 1.6 (¤Þ¤¿¤Ï 6) ¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£\f3\-target 1.6\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢1.6 VM ¤È¸ß´¹À­¤Î¤¢¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢\f3\-target\fP ¥ª¥×¥·¥ç¥ó¤ÎÃÍ¤Ï \f3\-source\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤˤʤê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\f3\-target\fP ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3\-bootclasspath\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Å¬ÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹ ( \f2rt.jar\fP ¥é¥¤¥Ö¥é¥ê) ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% \fP\f3javac \-source 1.6 OldCode.java\fP -.fl -warning: [options] bootstrap class path not set in conjunction with \-source 1.6 -.fl -.fi - -.LP -.LP -ŬÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¸Å¤¤¸À¸ì»ÅÍÍ (¤³¤ÎÎã¤Ç¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 1.6 ¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì) ¤ò¿·¤·¤¤¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢Â¸ºß¤·¤Ê¤¤¥á¥½¥Ã¥É¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬¸Å¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à (¤³¤Î¾ì¹ç¤Ï Java SE 6) ¤Çưºî¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -.na -\f2¡ÖThe javac Guide¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html -.TP 2 -o -¡Öjava(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjdb(1) \- Java ¥Ç¥Ð¥Ã¥¬¡× -.TP 2 -o -¡Öjavah(1) \- C ¥Ø¥Ã¥À¡¼¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¥¸¥§¥Í¥ì¡¼¥¿¡× -.TP 2 -o -¡Öjavap(1) \- ¥¯¥é¥¹¥Õ¥¡¥¤¥ëµÕ¥¢¥»¥ó¥Ö¥é¡× -.TP 2 -o -¡Öjavadoc(1) \- Java API ¥É¥­¥å¥á¥ó¥È¥¸¥§¥Í¥ì¡¼¥¿¡× -.TP 2 -o -¡Öjar(1) \- JAR ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë¡× -.TP 2 -o -.na -\f2¡ÖJava ³ÈÄ¥µ¡Ç½¥Õ¥ì¡¼¥à¥ï¡¼¥¯¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html -.RE - -.LP +@interface Anno { } +@Anno +class AnnosWithoutProcessors { } +.fi +.if n \{\ +.RE +.\} +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ãí¼á¥×¥í¥»¥Ã¥µ\fIAnnoProc\fR¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢¤³¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë\fIAnnosWithoutProcessors\&.java\fR¤ËÂФ·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac AnnoProc\&.java +javac \-cp \&. \-Xlint:processing \-processor AnnoProc \-proc:only AnnosWithoutProcessors\&.java +.fi +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë\fIAnnosWithoutProcessors\&.java\fR¤ËÂФ·¤ÆÃí¼á¥×¥í¥»¥Ã¥µ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +warning: [processing] No processor claimed any of these annotations: Anno + +.fi +.if n \{\ +.RE +.\} +¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢¥¯¥é¥¹\fIAnnosWithoutProcessors\fR¤ÇÄêµÁ¤ª¤è¤Ó»ÈÍѤµ¤ì¤ëÃí¼á¤Î̾Á°¤ò¡¢\fIAnno\fR¤«¤é\fINotAnno\fR¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +rawtypes +.RS 4 +raw·¿¤ËÂФ¹¤ë̤¸¡ººÁàºî¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¼¡¤Îʸ¤Ç¤Ï¡¢\fIrawtypes\fR·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +void countElements(List l) { \&.\&.\&. } +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIrawtypes\fR·Ù¹ð¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +void countElements(List<?> l) { \&.\&.\&. } +.fi +.if n \{\ +.RE +.\} +\fIList\fR¤Ïraw·¿¤Ç¤¹¡£¤¿¤À¤·¡¢\fIList<?>\fR¤Ï¡¢¥¢¥ó¥Ð¥¦¥ó¥É·Á¼°¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Î¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿¤Ç¤¹¡£\fIList\fR¤Ï¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¤¿¤á¡¢¾ï¤Ë¤½¤Î·¿°ú¿ô¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fIList\fR¤Î²¾°ú¿ô¤Ï¥¢¥ó¥Ð¥¦¥ó¥É·Á¼°¤Î¥ï¥¤¥ë¥É¥«¡¼¥É(\fI?\fR)¤ò»ÈÍѤ·¤Æ¤½¤Î²¾·¿¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄꤵ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢\fIcountElements\fR¥á¥½¥Ã¥É¤Ï\fIList\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤É¤Î¥¤¥ó¥¹¥¿¥ó¥¹²½¤â¼õ¤±ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +Serial +.RS 4 +ľÎó²½²Äǽ¥¯¥é¥¹¤Ë\fIserialVersionUID\fRÄêµÁ¤¬¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +public class PersistentTime implements Serializable +{ + private Date time; + + public PersistentTime() { + time = Calendar\&.getInstance()\&.getTime(); + } + + public Date getTime() { + return time; + } +} +.fi +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +warning: [serial] serializable class PersistentTime has no definition of +serialVersionUID +.fi +.if n \{\ +.RE +.\} +ľÎó²½²Äǽ¥¯¥é¥¹¤¬\fIserialVersionUID\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤òÌÀ¼¨Åª¤ËÀë¸À¤·¤Ê¤¤¾ì¹ç¡¢Ä¾Îó²½¥é¥ó¥¿¥¤¥à´Ä¶­¤Ç¤Ï¡¢¡ÖJava¥ª¥Ö¥¸¥§¥¯¥ÈľÎó²½»ÅÍ͡פÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¹¤ÎÍÍ¡¹¤Ê¦Ì̤˴ð¤Å¤¤¤Æ¡¢¥¯¥é¥¹¤Î\fIserialVersionUID\fR¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò·×»»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢¤¹¤Ù¤Æ¤ÎľÎó²½²Äǽ¥¯¥é¥¹¤¬\fIserialVersionUID\fRÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ë¤³¤È¤ò¶¯¤¯¤ªÁ¦¤á¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢\fIserialVersionUID\fRÃͤò·×»»¤¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥»¥¹¤¬¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë²ÄǽÀ­¤Î¤¢¤ë¥¯¥é¥¹¤Î¾ÜºÙ¤Ë¤­¤ï¤á¤Æ±Æ¶Á¤ò¼õ¤±¤ä¤¹¤¯¡¢¤½¤Î·ë²Ì¡¢Ä¾Îó²½Éü¸µÃæ¤Ëͽ´ü¤·¤Ê¤¤\fIInvalidClassExceptions\fR¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£Java¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤¬°Û¤Ê¤Ã¤Æ¤â\fIserialVersionUID\fRÃͤΰì´ÓÀ­¤ò³ÎÊݤˤ¹¤ë¤Ë¤Ï¡¢Ä¾Îó²½²Äǽ¥¯¥é¥¹¤¬\fIserialVersionUID\fRÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +static +.RS 4 +static¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +class XLintStatic { + static void m1() { } + void m2() { this\&.m1(); } +} +.fi +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +warning: [static] static method should be qualified by type name, +XLintStatic, instead of by an expression +.fi +.if n \{\ +.RE +.\} +¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢¼¡¤Î¤è¤¦¤Ë\fIstatic\fR¥á¥½¥Ã¥É\fIm1\fR¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +XLintStatic\&.m1(); +.fi +.if n \{\ +.RE +.\} +¤¢¤ë¤¤¤Ï¡¢\fIstatic\fR¥­¡¼¥ï¡¼¥É¤ò¥á¥½¥Ã¥É\fIm1\fR¤ÎÀë¸À¤«¤éºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +try +.RS 4 +try\-with\-resourcesʸ¤ò´Þ¤à¡¢\fItry\fR¥Ö¥í¥Ã¥¯¤Î»ÈÍѤ˴ؤ¹¤ëÌäÂê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fItry\fR¥Ö¥í¥Ã¥¯¤ÇÀë¸À¤µ¤ì¤¿¥ê¥½¡¼¥¹\fIac\fR¤¬»ÈÍѤµ¤ì¤Ê¤¤¤¿¤á¤Ë¡¢¼¡¤Îʸ¤ËÂФ·¤Æ·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +try ( AutoCloseable ac = getResource() ) { // do nothing} +.fi +.if n \{\ +.RE +.\} +.RE +.PP +unchecked +.RS 4 +Java¸À¸ì»ÅÍͤǻØÄꤵ¤ì¤Æ¤¤¤ë̤¸¡ººÊÑ´¹·Ù¹ð¤Î¾ÜºÙ¤ò¼¨¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +List l = new ArrayList<Number>(); +List<String> ls = l; // unchecked warning +.fi +.if n \{\ +.RE +.\} +·¿¤Î¾ÃµîÃæ¤Ë¡¢·¿\fIArrayList<Number>\fR¤ª¤è¤Ó\fIList<String>\fR¤Ï¡¢¤½¤ì¤¾¤ì\fIArrayList\fR¤ª¤è¤Ó\fIList\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fIls\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿\fIList<String>\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£\fIl\fR¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë\fIList\fR¤¬\fIls\fR¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï̤¸¡ºº·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤ª¤è¤ÓJVM¤Ï¡¢\fIl\fR¤¬\fIList<String>\fR·¿¤ò»²¾È¤¹¤ë¤«¤É¤¦¤«¤òȽÊ̤Ǥ­¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\fIl\fR¤Ï¡¢\fIList<String>\fR·¿¤ò»²¾È¤·¤Þ¤»¤ó¡£¤½¤Î·ë²Ì¡¢¥Ò¡¼¥×±øÀ÷¤¬È¯À¸¤·¤Þ¤¹¡£ +.sp +¥Ò¡¼¥×±øÀ÷¾õÂÖ¤¬È¯À¸¤¹¤ë¤Î¤Ï¡¢\fIList\fR¥ª¥Ö¥¸¥§¥¯¥È\fIl\fR +(¤½¤Îstatic·¿¤Ï\fIList<Number>\fR)¤¬Ê̤Î\fIList\fR¥ª¥Ö¥¸¥§¥¯¥È\fIls\fR +(°Û¤Ê¤ëstatic·¿\fIList<String>\fR¤ò»ý¤Ä)¤ËÂåÆþ¤µ¤ì¤ë¾ì¹ç¤Ç¤¹¡£¤·¤«¤·¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¤³¤ÎÂåÆþ¤ò¤¤¤Þ¤À¤Ëµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£Áí¾Î¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤Java SE¤Î¥ê¥ê¡¼¥¹¤È¤Î²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ë¤¿¤á¤Ë¡¢¤³¤ÎÂåÆþ¤òµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£·¿¾Ãµî¤Ë¤è¤ê¡¢\fIList<Number>\fR¤ª¤è¤Ó\fIList<String>\fR¤Ï¡¢Î¾Êý¤È¤â\fIList\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥ª¥Ö¥¸¥§¥¯¥È\fIl\fR +(\fIList\fR¤È¤¤¤¦raw·¿¤ò»ý¤Ä)¤ò¥ª¥Ö¥¸¥§¥¯¥È\fIls\fR¤ËÂåÆþ¤¹¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¡£ +.RE +.PP +varargs +.RS 4 +²ÄÊѰú¿ô(\fIvarargs\fR)¥á¥½¥Ã¥É¡¢ÆÃ¤ËÈó¶ñ¾Ý²½²Äǽ°ú¿ô¤ò´Þ¤à¤â¤Î¤Î»ÈÍѤ¬°ÂÁ´¤Ç¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +public class ArrayBuilder { + public static <T> void addToList (List<T> listArg, T\&.\&.\&. elements) { + for (T x : elements) { + listArg\&.add(x); + } + } +} +.fi +.if n \{\ +.RE +.\} +\fBÃí°Õ:\fR +Èó¶ñ¾Ý²½²Äǽ·¿¤Ï¡¢·¿¾ðÊ󤬼¹Իþ¤Ë´°Á´¤Ë»ÈÍÑÉÔ²Äǽ¤Ê·¿¤Ç¤¹¡£ +.sp +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥á¥½¥Ã¥É\fIArrayBuilder\&.addToList\fR¤ÎÄêµÁ¤Ë´Ø¤¹¤ë¼¡¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +warning: [varargs] Possible heap pollution from parameterized vararg type T +.fi +.if n \{\ +.RE +.\} +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢varargs¥á¥½¥Ã¥É¤ò¸¡½Ð¤¹¤ë¤È¡¢\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿¤òÇÛÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£¤·¤«¤·¡¢Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢¥Ñ¥é¥á¡¼¥¿²½¤µ¤ì¤¿·¿¤ÎÇÛÎó¤ÎºîÀ®¤òµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó¡£¥á¥½¥Ã¥É\fIArrayBuilder\&.addToList\fR¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿\fIT\&.\&.\&.\fRÍ×ÁǤò²¾¥Ñ¥é¥á¡¼¥¿\fIT[]\fRÍ×ÁÇ(ÇÛÎó)¤ËÊÑ´¹¤·¤Þ¤¹¡£¤·¤«¤·¡¢·¿¾Ãµî¤Ë¤è¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï\fIvarargs\fR¤Î²¾¥Ñ¥é¥á¡¼¥¿¤ò\fIObject[]\fRÍ×ÁǤËÊÑ´¹¤·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¥Ò¡¼¥×±øÀ÷¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.SH "¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¥Õ¥¡¥¤¥ë" +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢\fIjavac\fR¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô(\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò½ü¤¯)¤ò´Þ¤à1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î\fIjavac\fR¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.PP +°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIjavac\fR¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹礻¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ï¡¢¶õÇò¤Þ¤¿¤Ï²þ¹Ôʸ»ú¤Ç¶èÀڤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤ËËä¤á¹þ¤Þ¤ì¤¿¶õÇò¤¬¤¢¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ +.PP +°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃ֤ǤϤʤ¯¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É(*)¤Ï»ÈÍѤǤ­¤Þ¤»¤ó(¤¿¤È¤¨¤Ð¡¢\fI*\&.java\fR¤È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó)¡£¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤ò»ÈÍѤ·¤¿¥Õ¥¡¥¤¥ë¤ÎºÆµ¢Åª¤Ê²ò¼á¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢\fI\-J\fR¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È̾Á°¤ÎÀèÆ¬¤Ë¥¢¥Ã¥È¥Þ¡¼¥¯(@)ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£\fIjavac\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ñ°ì¤Î°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +\fIargfile\fR¤È¤¤¤¦Ì¾Á°¤Îñ°ì¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ù¤Æ¤Î\fIjavac\fR°ú¿ô¤ò³ÊǼ¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac @argfile +.fi +.if n \{\ +.RE +.\} +¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢Îã2¤Ç¼¨¤µ¤ì¤Æ¤¤¤ëξÊý¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\fBExample 2\fR, 2¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +\fIjavac\fR¥ª¥×¥·¥ç¥óÍѤȥ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾ÍѤˡ¢2¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥ê¥¹¥È¤Ë¤Ï¡¢¹Ô¤Î·Ñ³ʸ»ú¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.sp +¼¡¤ò´Þ¤àoptions¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-d classes +\-g +\-sourcepath /java/pubs/ws/1\&.3/src/share/classes +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +.fi +.if n \{\ +.RE +.\} +¼¡¤ò´Þ¤àclasses¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +MyClass1\&.java +MyClass2\&.java +MyClass3\&.java +.fi +.if n \{\ +.RE +.\} +¤½¤ì¤«¤é¡¢¼¡¤Î¤è¤¦¤Ë\fIjavac\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac @options @classes +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, ¥Ñ¥¹¤ò»ÈÍѤ·¤¿°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢(\fIpath1\fR¤ä\fIpath2\fR¤Ç¤Ï¤Ê¤¯)¼¡¤Î¤è¤¦¤Ë¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac @path1/options @path2/classes +.fi +.if n \{\ +.RE +.\} +.RE +.SH "Ãí¼á½èÍý" +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤¬Ãí¼á½èÍý¤òľÀÜ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢ÆÈΩ¤·¤¿Ãí¼á½èÍý¥³¥Þ¥ó¥É¤Ç¤¢¤ë\fIapt\fR¤ò»ÈÍѤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ +.PP +Ãí¼á¥×¥í¥»¥Ã¥µ¤ÎAPI¤Ï¡¢\fIjavax\&.annotation\&.processing\fR¤ª¤è¤Ó\fIjavax\&.lang\&.model\fR¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.SS "Ãí¼á½èÍý¤ò¹Ô¤¦ÊýË¡" +.PP +\fI\-proc:none\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÃí¼á½èÍý¤¬Ìµ¸ú²½¤µ¤ì¤Ê¤¤¸Â¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¸¡º÷¤·¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤Ï¡¢\fI\-processorpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤Ï¡¢¸¡º÷¥Ñ¥¹¾å¤Î\fIMETA\-INF/services/javax\&.annotation\&.processing\fR\&.Processor¤È¤¤¤¦Ì¾Á°¤Î¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¤¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¤ò¡¢1¹Ô¤Ë1¤Ä¤º¤Ä´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Ê̤ÎÊýË¡¤È¤·¤Æ¡¢\fI\-processor\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥×¥í¥»¥Ã¥µ¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ä¥¯¥é¥¹¤òÁöºº¤¹¤ë¤³¤È¤Ç¡¢¤É¤Î¤è¤¦¤ÊÃí¼á¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¤ò³Îǧ¤·½ª¤ï¤ë¤È¡¢¥×¥í¥»¥Ã¥µ¤ËÂФ·¤ÆÌä¹ç¤»¤ò¹Ô¤¤¡¢¤½¤ì¤é¤Î¥×¥í¥»¥Ã¥µ¤¬¤É¤ÎÃí¼á¤ò½èÍý¤Ç¤­¤ë¤Î¤«¤ò³Îǧ¤·¤Þ¤¹¡£°ìÃפ¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥Ã¥µ¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£³Æ¥×¥í¥»¥Ã¥µ¤Ï¡¢¼«¿È¤¬½èÍý¤¹¤ëÃí¼á¤òÍ×µá¤Ç¤­¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤ì¤é¤ÎÃí¼á¤ËÂФ¹¤ëÊÌ¤Î¥×¥í¥»¥Ã¥µ¤ò¸«¤Ä¤±¤ë»î¤ß¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤¹¤Ù¤Æ¤ÎÃí¼á¤¬Í׵ᤵ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤ì°Ê¾å¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤ò¹Ô¤¤¤Þ¤»¤ó¡£ +.PP +¤¤¤º¤ì¤«¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¿·¤·¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¤È¡¢Ãí¼á½èÍý¤Î2²óÌܤΥ饦¥ó¥É¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¿·¤·¤¯À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¥¹¥­¥ã¥ó¤µ¤ì¡¢Á°²ó¤ÈƱÍͤËÃí¼á¤¬½èÍý¤µ¤ì¤Þ¤¹¡£°ÊÁ°¤Î¥é¥¦¥ó¥É¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¥×¥í¥»¥Ã¥µ¤Ï¤¹¤Ù¤Æ¡¢¸å³¤Î¤É¤Î¥é¥¦¥ó¥É¤Ç¤â¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬¡¢¿·¤·¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¯¤Ê¤ë¤Þ¤Ç³¤­¤Þ¤¹¡£ +.PP +¤¢¤ë¥é¥¦¥ó¥É¤Ç¿·¤·¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤¬¤¢¤È1²ó¤Î¤ß¸Æ¤Ó½Ð¤µ¤ì¡¢»Ä¤ê¤Î½èÍý¤ò¼Â¹Ô¤¹¤ëµ¡²ñ¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢\fI\-proc:only\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¸µ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÈÀ¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.SS "°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë" +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢°ìÏ¢¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Ë¡¢Ê̤Υ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò°ÅÌÛŪ¤Ë¥í¡¼¥É¤¹¤ë¤³¤È¤¬É¬Íפʾì¹ç¤¬¤¢¤ê¤Þ¤¹¡£·¿¤Î¸¡º÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢¸½»þÅÀ¤Ç¤ÏÃí¼á½èÍý¤ÎÂоݤˤʤê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ãí¼á½èÍý¤¬¼Â¹Ô¤µ¤ì¡¢¤«¤Ä°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿Ç¤°Õ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢·Ù¹ð¤òÍÞÀ©¤¹¤ëÊýË¡¤¬Ä󶡤µ¤ì¤Þ¤¹¡£ +.SH "·¿¤Î¸¡º÷" +.PP +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤ÏÄ̾·¿¤Ë´Ø¤¹¤ë¾ðÊó¤òɬÍפȤ·¤Þ¤¹¤¬¡¢¤½¤Î·¿¤ÎÄêµÁ¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤¢¤ê¤Þ¤»¤ó¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤¢¤ë¤¤¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ¡¢·¿¤Î¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ë¤Ï¸ÀµÚ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢·Ñ¾µ¤òÄ̤¸¤Æ¾ðÊó¤òÄ󶡤¹¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¥µ¥Ö¥¯¥é¥¹\fIjava\&.applet\&.Applet\fR¤òºîÀ®¤¹¤ë¤È¡¢\fI¥¢¥×¥ì¥Ã¥È\fR¤ÎÁÄÀè¤Î¥¯¥é¥¹(\fIjava\&.awt\&.Panel\fR¡¢\fIjava\&.awt\&.Container\fR¡¢\fIjava\&.awt\&.Component\fR¤ª¤è¤Ó\fIjava\&.lang\&.Object\fR)¤ò»ÈÍѤ·¤Æ¤¤¤ë¤³¤È¤Ë¤â¤Ê¤ê¤Þ¤¹¡£ +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢·¿¤Î¾ðÊó¤¬É¬Íפˤʤë¤È¡¢¤½¤Î·¿¤òÄêµÁ¤·¤Æ¤¤¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤Þ¤º¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤È³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò¸¡º÷¤·¡¢Â³¤¤¤Æ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê)¤ò¸¡º÷¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Ï¡¢\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤òÀßÄꤷ¤ÆÄêµÁ¤¹¤ë¤«¡¢¤Þ¤¿¤Ï\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÄêµÁ¤·¤Þ¤¹¡£ +.PP +\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹¤«¤é¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤«¤é¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎξÊý¤ò¸¡º÷¤·¤Þ¤¹¡£ +.PP +\fI\-bootclasspath\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-extdirs\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Ê̤Υ֡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¦¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +·¿¤Î¸¡º÷¤ËÀ®¸ù¤·¤¿¤È¤­¤ËÆÀ¤é¤ì¤ë·ë²Ì¤Ï¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤Ç¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Î¾Êý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤ë¤«¤ò\fI\-Xprefer\fR¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤Ç¤­¤Þ¤¹¡£\fInewer\fR¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï2¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¿·¤·¤¤Êý¤ò»ÈÍѤ·¤Þ¤¹¡£\fIsource\fR¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï\fInewer\fR¤Ç¤¹¡£ +.PP +·¿¤Î¸¡º÷¼«ÂΤˤè¤Ã¤Æ¡¢¤Þ¤¿¤Ï\fI\-Xprefer\fR¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤¿·ë²Ì¤È¤·¤ÆÉ¬Íפʷ¿¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¡¢É¬ÍפʾðÊó¤ò¼èÆÀ¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤â¹Ô¤¤¤Þ¤¹¡£\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤½¤Îưºî¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fInone\fR¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£\fIclass\fR¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.PP +¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Ãí¼á½èÍý¤¬´°Î»¤¹¤ë¤Þ¤Ç¡¢¤¢¤ë·¿¾ðÊó¤ÎɬÍ×À­¤òǧ¼±¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£·¿¾ðÊ󤬥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë¸«¤Ä¤«¤ê¡¢¤«¤Ä\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤ餺¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤³¤È¤¬·Ù¹ð¤µ¤ì¤Þ¤¹¡£¤³¤Î·Ù¹ð¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢(¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤë¤è¤¦¤Ë)¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤹ¤ë¤«¡¢¤¢¤ë¤¤¤Ï¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¤«¤É¤¦¤«¤ò\fI\-implicit\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ»ØÄꤷ¤Þ¤¹¡£ +.SH "¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹" +.PP +\fIjavac\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjavax\&.tools\fR¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë¿·¤·¤¤Java Compiler API¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.SS "Îã" +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ò»ØÄꤹ¤ë¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¹½Ê¸¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +JavaCompiler javac = ToolProvider\&.getSystemJavaCompiler(); +JavaCompiler javac = ToolProvider\&.getSystemJavaCompiler(); +.fi +.if n \{\ +.RE +.\} +.PP +Îã¤Ç¤Ï¡¢¿ÇÃǤòɸ½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë½ñ¤­¹þ¤ß¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¤Î¸Æ½Ð¤·»þ¤Ë\fIjavac\fR¤¬»ØÄꤹ¤ë½ªÎ»¥³¡¼¥É¤òÊÖ¤·¤Þ¤¹¡£ +.PP +\fIjavax\&.tools\&.JavaCompiler\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾¤Î¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¿ÇÃǤνèÍý¤ä¥Õ¥¡¥¤¥ë¤ÎÆÉ¼è¤ê¸µ/½ñ¹þ¤ßÀè¤ÎÀ©¸æ¤Ê¤É¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.SS "µì¼°¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹" +.PP +\fBÃí°Õ:\fR +¤³¤ÎAPI¤Ï¡¢²¼°Ì¸ß´¹À­¤Î¤¿¤á¤Ë¤Î¤ßÊÝ»ý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¿·¤·¤¤¥³¡¼¥É¤Ï¡¢¿·¤·¤¤Java Compiler API¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +¼¡¤Î¤è¤¦¤Ë¡¢\fIcom\&.sun\&.tools\&.javac\&.Main\fR¥¯¥é¥¹¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤«¤é¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Îstatic¥á¥½¥Ã¥É¤¬2¤ÄÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +public static int compile(String[] args); +public static int compile(String[] args, PrintWriter out); +.fi +.if n \{\ +.RE +.\} +.PP +\fIargs\fR¥Ñ¥é¥á¡¼¥¿¤Ï¡¢Ä̾拾¥ó¥Ñ¥¤¥é¤ËÅϤµ¤ì¤ëǤ°Õ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIout\fR¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¿ÇÃǽÐÎϤΰ¸Àè¤ò¼¨¤·¤Þ¤¹¡£ +.PP +\fIreturn\fRÃͤϡ¢\fIjavac\fR¤Î\fIexit\fRÃÍ¤ÈÆ±¤¸¤Ç¤¹¡£ +.PP +\fBÃí°Õ:\fR +̾Á°¤¬\fIcom\&.sun\&.tools\&.javac\fR¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸(\fIcom\&.sun\&.tools\&.javac\fR¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸)¤Ç¸¡½Ð¤µ¤ì¤ë¾¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ï¡¢´°Á´¤ËÆâÉôÍѤǤ¢¤ê¡¢¤¤¤Ä¤Ç¤âÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.SH "Îã" +.PP +\fBExample 1\fR, ´Êñ¤Ê¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë +.RS 4 +¤³¤ÎÎã¤Ç¤Ï¡¢greetings¥Ç¥£¥ì¥¯¥È¥ê¤Ç\fIHello\&.java\fR¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÊýË¡¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£\fIHello\&.java\fR¤ÇÄêµÁ¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢\fIgreetings\&.Hello\fR¤È¸Æ¤Ð¤ì¤Þ¤¹¡£greetings¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤°²¼¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ò»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢\fI\-d\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÊ̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ëɬÍפ⤢¤ê¤Þ¤»¤ó¡£ +.sp +\fIHello\&.java\fRÆâ¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +package greetings; + +public class Hello { + public static void main(String[] args) { + for (int i=0; i < args\&.length; i++) { + System\&.out\&.println("Hello " + args[i]); + } + } +} +.fi +.if n \{\ +.RE +.\} +greetings\&.Hello¤Î¥³¥ó¥Ñ¥¤¥ë: +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac greetings/Hello\&.java +.fi +.if n \{\ +.RE +.\} +\fIgreetings\&.Hello\fR¤Î¼Â¹Ô: +.sp +.if n \{\ +.RS 4 +.\} +.nf +java greetings\&.Hello World Universe Everyone +Hello World +Hello Universe +Hello Everyone +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, Ê£¿ô¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë +.RS 4 +¤³¤ÎÎã¤Ç¤Ï¡¢\fIgreetings\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë\fIAloha\&.java\fR¡¢\fIGutenTag\&.java\fR¡¢\fIHello\&.java\fR¤ª¤è¤Ó\fIHi\&.java\fR¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +% javac greetings/*\&.java +% ls greetings +Aloha\&.class GutenTag\&.class Hello\&.class Hi\&.class +Aloha\&.java GutenTag\&.java Hello\&.java Hi\&.java +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Î»ØÄê +.RS 4 +Á°½Ò¤ÎÎã¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤¦¤Á1¤Ä¤òÊѹ¹¤·¤¿¸å¤Ë¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pwd +/examples +javac greetings/Hi\&.java +.fi +.if n \{\ +.RE +.\} +\fIgreetings\&.Hi\fR¤Ï\fIgreetings\fR¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¾¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤ì¤é¤Î¾¤Î¥¯¥é¥¹¤òõ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤Ï¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¤¿¤á¡¢Á°½Ò¤ÎÎã¤Ïưºî¤·¤Þ¤¹¡£¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òµ¤¤Ë¤»¤º¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¡¢\fICLASSPATH\fR¤òÀßÄꤷ¤Æ¡¢¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤ËÎã¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-classpath /examples /examples/greetings/Hi\&.java +.fi +.if n \{\ +.RE +.\} +\fIgreetings\&.Hi\fR¤òÊѹ¹¤·¤Æ¥Ð¥Ê¡¼¡¦¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤¿¾ì¹ç¡¢ ¤½¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤â¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Ñ¥¹¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-classpath /examples:/lib/Banners\&.jar \e + /examples/greetings/Hi\&.java +.fi +.if n \{\ +.RE +.\} +\fIgreetings\fR¥Ñ¥Ã¥±¡¼¥¸¤Ç¥¯¥é¥¹¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤Ï\fIgreetings\fR¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó\fIgreetings\fR¥¯¥é¥¹¤¬»ÈÍѤ¹¤ë¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java \-classpath /examples:/lib/Banners\&.jar greetings\&.Hi +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 4\fR, ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎʬΥ +.RS 4 +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIjavac\fR¤ò»ÈÍѤ·¤Æ¡¢JVM 1\&.6¾å¤Ç¼Â¹Ô¤¹¤ë¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-source 1\&.6 \-target 1\&.6 \-bootclasspath jdk1\&.6\&.0/lib/rt\&.jar \e +\-extdirs "" OldCode\&.java +.fi +.if n \{\ +.RE +.\} +\fI\-source 1\&.6\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢\fIOldCode\&.java\fR¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï¥ê¥ê¡¼¥¹1\&.6(¤Þ¤¿¤Ï6)¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£\fI\-target 1\&.6\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢JVM 1\&.6¤È¸ß´¹À­¤Î¤¢¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤÏ\fI\-source\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤˤʤê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ +.sp +\fI\-bootclasspath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Å¬ÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹(\fIrt\&.jar\fR¥é¥¤¥Ö¥é¥ê)¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-source 1\&.6 OldCode\&.java +warning: [options] bootstrap class path not set in conjunction with +\-source 1\&.6 +.fi +.if n \{\ +.RE +.\} +ŬÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¸Å¤¤¸À¸ì»ÅÍÍ(¤³¤ÎÎã¤Ç¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó1\&.6¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì)¤ò¿·¤·¤¤¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ÈÁȤ߹礻¤Æ»ÈÍѤ·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢Â¸ºß¤·¤Ê¤¤¥á¥½¥Ã¥É¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¸Å¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à(¤³¤Î¾ì¹ç¤ÏJava SE 6)¤Çưºî¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\fBExample 5\fR, ¥¯¥í¥¹¡¦¥³¥ó¥Ñ¥¤¥ë +.RS 4 +¤³¤ÎÎã¤Ç¤Ï¡¢\fIjavac\fR¤ò»ÈÍѤ·¤Æ¡¢JVM 1\&.6¾å¤Ç¼Â¹Ô¤¹¤ë¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-source 1\&.6 \-target 1\&.6 \-bootclasspath jdk1\&.6\&.0/lib/rt\&.jar \e + \-extdirs "" OldCode\&.java +.fi +.if n \{\ +.RE +.\} +The\fI \-source 1\&.6\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢OldCode\&.java¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï¥ê¥ê¡¼¥¹1\&.6(¤Þ¤¿¤Ï6)¤ÎJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£\fI\-target 1\&.6\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢JVM 1\&.6¤È¸ß´¹À­¤Î¤¢¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢\fI\-target\fR¤ÎÃͤÏ\fI\-source\fR¤ÎÃͤˤʤê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fI\-target\fR¥ª¥×¥·¥ç¥ó¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£ +.sp +\fI\-bootclasspath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Å¬ÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹(\fIrt\&.jar\fR¥é¥¤¥Ö¥é¥ê)¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼¡¤Î·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javac \-source 1\&.6 OldCode\&.java +warning: [options] bootstrap class path not set in conjunction with \-source 1\&.6 +.fi +.if n \{\ +.RE +.\} +ŬÀڤʥС¼¥¸¥ç¥ó¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¸Å¤¤¸À¸ì»ÅÍͤò¿·¤·¤¤¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ÈÁȤ߹礻¤Æ»ÈÍѤ·¤Þ¤¹¡£¤³¤ÎÁȹ礻¤Ï¡¢Â¸ºß¤·¤Ê¤¤¥á¥½¥Ã¥É¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¸Å¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à(¤³¤Î¾ì¹ç¤ÏJava SE 6)¤Çưºî¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤ÏJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î¥ê¥ê¡¼¥¹1\&.6¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javadoc(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 index e6374a63c67..74cdf8f655b 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 @@ -1,4236 +1,3839 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javadoc 1 "07 May 2011" -.SH "̾Á°" -javadoc \- Java API ¥É¥­¥å¥á¥ó¥È¥¸¥§¥Í¥ì¡¼¥¿ -.LP -Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¡¢API ¥É¥­¥å¥á¥ó¥È¤Î HTML ¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥È¤Ç¾Ò²ð¤µ¤ì¤Æ¤¤¤ë Javadoc ¤ÎÎã¤Ï¡¢ Solaris ¤ò»ÈÍѤ·¤¿¾ì¹ç¤Î¤â¤Î¤Ç¤¹¡£ -.SH "·Á¼°" -.LP -\f4javadoc\fP\f2\ [\ \fP\f2options\fP\f2\ ]\ [\ packagenames\ ]\ [\ sourcefilenames\ ]\ [\ \-subpackages\fP\ \f2pkg1:pkg2:...\fP\f2\ ]\ [\ \fP\f2@argfiles\fP\f2\ ]\fP -.LP -°ú¿ô¤ò»ØÄꤹ¤ë½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ç¤Î¡¢½èÍýÂоݤΠ.java ¥Õ¥¡¥¤¥ë¤ò·èÄꤹ¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¡×\f2¤ò»²¾È\fP¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 3 -options -¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£Javadoc ¥ª¥×¥·¥ç¥ó¤Îɸ½àŪ¤Ê»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö»ÈÍÑÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -packagenames -¥¹¥Ú¡¼¥¹¤Ç¶èÀÚ¤é¤ì¤¿°ìÏ¢¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2java.lang\ java.lang.reflect\ java.awt ¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹\fP¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò¸ÄÊ̤˻ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï»ÈÍÑÉԲĤǤ¹¡£ºÆµ¢Åª½èÍý¤Î¤¿¤á¤Ë¤Ï¡¢\-subpackages ¤ò»ÈÍѤ·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢\f2\-sourcepath\fP ¤ò»ÈÍѤ·¤Æ¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¸¡º÷¤·¤Þ¤¹¡£¡Ö1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -sourcefilenames -¥¹¥Ú¡¼¥¹¤Ç¶èÀÚ¤é¤ì¤¿°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ç¤¹¡£ ³Æ¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥¹¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤Ê¤É¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤¬½èÍý¤¹¤ë¤Î¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤¬¡Ö.java¡×¤È¤¤¤¦³ÈÄ¥»Ò¤Ç½ª¤ï¤ê¡¢¤½¤Î³ÈÄ¥»Ò¤ò½ü¤¤¤¿Ì¾Á°¤¬¼ÂºÝ¤ËÍ­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¤¢¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹ (Java ¸À¸ì»ÅÍͤò»²¾È)¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Ï¥¤¥Õ¥ó¤ò´Þ¤à̾Á° ( \f2X\-Buffer\fP ¤Ê¤É) ¤ä¡¢¤½¤Î¾¤Î̵¸ú¤Êʸ»ú¤ò´Þ¤à̾Á°¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥É¥­¥å¥á¥ó¥È²½¤ÎÂоݤ«¤é½ü³°¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Æ¥¹¥ÈÍѤΥե¡¥¤¥ë¤ä¡¢¥Æ¥ó¥×¥ì¡¼¥È¤«¤éÀ¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÎÁ°¤Ë»ØÄꤷ¤¿¥Ñ¥¹¤Ë¤è¤Ã¤Æ¡¢javadoc ¤¬¤½¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤¬·è¤Þ¤ê¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤³¤ì¤é¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¸¡º÷¤¹¤ë¤È¤­¤Ë¤Ï \f2\-sourcepath\fP ¤ò»ÈÍѤ·¤Þ¤»¤ó¡£ÁêÂХѥ¹¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òµ¯ÅÀ¤È¤¹¤ë¤¿¤á¡¢ \f2Button.java\fP ¤òÅϤ¹¤³¤È¤Ï¡¢ \f2./Button.java\fP ¤òÅϤ¹¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤹ¤ë¤È¡¢ \f2/home/src/java/awt/Graphics*.java ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹\fP¡£ ¡Ö1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¡Ö¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤ÎÎã¤Î¤è¤¦¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òº®ºß¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-subpackages pkg1:pkg2:... -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËºÆµ¢Åª¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.TP 3 -@argfiles -Javadoc ¥ª¥×¥·¥ç¥ó¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤ª¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òǤ°Õ¤Î½ç½ø¤Çʤ٤¿¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤ë 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤ä \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ -.RE -.SH " ÀâÌÀ" -.LP -\f3Javadoc\fP ¥Ä¡¼¥ë¤Ï¡¢°ìÏ¢¤Î Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë¤¢¤ëÀë¸À¤ª¤è¤Ó¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò²òÀϤ·¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï public ¥¯¥é¥¹¡¢protected ¥¯¥é¥¹¡¢Æþ¤ì»Ò¤Ë¤µ¤ì¤¿¥¯¥é¥¹ (ƿ̾¤ÎÆâÉô¥¯¥é¥¹¤Ï½ü¤¯)¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤¿°ìÏ¢¤Î HTML ¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤Þ¤¿¡¢API (¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥ß¥ó¥°¥¤¥ó¥¿¥Õ¥§¡¼¥¹) ¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤ä¡¢°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¼ÂÁõ¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΡ¢¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤ËÂФ·¤Æ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤΥɥ­¥å¥á¥ó¥È²½¤ò¹Ô¤¦¤Ë¤Ï¡¢\f2\-subpackages\fP ¤ò»ÈÍѤ·¤ÆºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¤«¤é²¼Êý¤ËºÆµ¢Åª¤Ë¤¿¤É¤ë¤«¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÌÀ¼¨Åª¤Ê¥ê¥¹¥È¤òÅϤ·¤Þ¤¹¡£¸Ä¡¹¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢°ìÏ¢¤Î¥½¡¼¥¹ (.\f2.java\fP) ¥Õ¥¡¥¤¥ë̾¤òÅϤ·¤Þ¤¹¡£¶ñÂÎŪ¤ÊÎã¤Ï¡¢¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÎºÇ¸å¤Ë¾Ò²ð¤·¤Þ¤¹¡£¼¡¤Ë¡¢Javadoc ¤Ë¤è¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ -.SS -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢ËöÈø¤¬¡Ö\f2.java\fP¡×¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡×¤ÇÀâÌÀ¤¹¤ë¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤â½èÍý¤·¤Þ¤¹¡£¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤ËÅϤ¹¤³¤È¤Ë¤è¤Ã¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤É¤Î \f2.java\fP ¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤«¤òÀµ³Î¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢Â¿¤¯¤Î³«È¯¼Ô¤Ï¤³¤ÎÊýË¡¤Ç¤Ïºî¶È¤·¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¤Û¤¦¤¬´Êñ¤À¤«¤é¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢Javadoc ¥Ä¡¼¥ë¤Ï 3 ¤Ä¤ÎÊýË¡¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¤½¤ÎÊýË¡¤È¤Ï¡¢(1) ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¡¢(2) \f2\-subpackages\fP ¤ò»ÈÍѤ¹¤ë¡¢(3) ¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ç¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë (\f2*.java\fP)¡¢¤Î 3 ¤Ä¤Ç¤¹¡£¤³¤ì¤é¤Î¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤¬¡Ö\f2.java\fP¡×¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò¹Ô¤¦¤Î¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¤¹¤Ù¤Æ¤ÎÍ×·ï¤òËþ¤¿¤¹¾ì¹ç¤À¤±¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -̾Á°¤«¤éÀÜÈø¼­¡Ö\f2.java\fP¡×¤ò¼è¤ê½ü¤¯¤È¡¢¼ÂºÝ¤ËÍ­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ë¤Ê¤Ã¤Æ¤¤¤ë (Java ¸À¸ì»ÅÍͤÎÍ­¸ú¤Êʸ»ú¤ò»²¾È) -.TP 2 -o -¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤«¤éÁêÂÐŪ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹¤¬¡¢¶èÀÚ¤êʸ»ú¤ò¥É¥Ã¥È¤ËÊÑ´¹¤¹¤ë¤È¡¢¼ÂºÝ¤ËÍ­¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¤Ê¤Ã¤Æ¤¤¤ë -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸Ê¸¤Ë¤ÏÍ­¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬´Þ¤Þ¤ì¤ë (Á°¹àÌܤǻØÄê) -.RE -.LP -\f3¥ê¥ó¥¯¤Î½èÍý\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢½èÍý¤Î¼Â¹ÔÃæ¤Ë¡¢¤½¤Î¼Â¹Ô¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤Î̾Á°¤ËÂФ·¤Æ¡¢¼«Æ°Åª¤ËÁê¸ß»²¾È¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥ê¥ó¥¯¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¾ì½ê¤ËÄɲ䵤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -Àë¸À (Ìá¤êÃͤη¿¡¢°ú¿ô¤Î·¿¡¢¥Õ¥£¡¼¥ë¥É¤Î·¿) -.TP 2 -o -\f2@see\fP ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿ [´ØÏ¢¹àÌÜ] ¥»¥¯¥·¥ç¥ó -.TP 2 -o -\f2{@link}\fP ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿¥¤¥ó¥é¥¤¥ó¥Æ¥­¥¹¥È -.TP 2 -o -\f2@throws\fP ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿Îã³°¤Î̾Á° -.TP 2 -o -¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¡ÖÄêµÁ¡×¥ê¥ó¥¯¤È¡¢¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¡Ö¥ª¡¼¥Ð¡¼¥é¥¤¥É¡×¥ê¥ó¥¯ -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤òÎóµó¤·¤Æ¤¤¤ë³µÍץơ¼¥Ö¥ë -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Î·Ñ¾µ¥Ä¥ê¡¼ -.TP 2 -o -º÷°ú -.RE -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¤Î´û¸¤Î¥Æ¥­¥¹¥È (Ê̤ËÀ¸À®¤·¤¿¥Æ¥­¥¹¥È) ¤ËÂФ·¤Æ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤òÄɲ乤ë¤Ë¤Ï¡¢\f2\-link\fP ¤ª¤è¤Ó \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤òÍøÍѤǤ­¤Þ¤¹¡£ -.LP -\f3¤½¤Î¾¤Î½èÍý¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë 1 ¤Ä¤Î´°Á´¤Ê¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È¤òÄɲÃÀ¸À®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Î°ÊÁ°¤Î¼Â¹Ô·ë²Ì¤ò½¤Àµ¤·¤¿¤ê¡¢¤½¤ÎÆâÍÆ¤òľÀÜÁÈ¤ßÆþ¤ì¤¿¤ê¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤¿¤À¤·¡¢Á°½Ò¤Î¤è¤¦¤Ë¡¢°ÊÁ°¤Î¼Â¹Ô·ë²Ì¤ËÂФ·¤Æ¥ê¥ó¥¯¤òÄɲ乤뤳¤È¤Ï¤Ç¤­¤Þ¤¹¡£ -.LP -¼ÂÁõ¾å¤ÎÍýͳ¤«¤é¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢½èÍý¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë java ¥³¥ó¥Ñ¥¤¥é¤òɬÍפȤ·¡¢java ¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2javac\fP ¤Î°ìÉô¤ò¸Æ¤Ó½Ð¤·¤ÆÀë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¤¬¡¢¥á¥ó¥Ð¡¼¤Î¼ÂÁõ¤Ï̵»ë¤·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹³¬Áؤò´Þ¤à¥¯¥é¥¹¤ÎË­ÉÙ¤ÊÆâÉôɽ¸½¤È¥¯¥é¥¹¤Î¡Ö»ÈÍѡ״ط¸¤ò¹½ÃÛ¤·¡¢¤½¤Î¾ðÊ󤫤é HTML ¤òÀ¸À®¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤«¤é¡¢¥æ¡¼¥¶¡¼¤ÎÄ󶡤·¤¿¥É¥­¥å¥á¥ó¥È¤â¼èÆÀ¤·¤Þ¤¹¡£ -.LP -¼ÂºÝ¤Ë¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥á¥½¥Ã¥ÉËÜÂΤò»ý¤¿¤Ê¤¤½ã¿è¤Ê¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤è¤¦¤Ê \f2.java\fP ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤âưºî¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢API ¤ÎºîÀ®»þ¤Ë¤Ï¡¢¼ÂÁõ¤òµ­½Ò¤¹¤ëÁ°¤ÎÀ߷פÎÁᤤÃʳ¬¤Ç¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ­½Ò¤·¤Æ javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.LP -¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢HTML ½ÐÎϤϡ¢¼ÂºÝ¤Î¼ÂÁõ¤ËÀµ³Î¤ËÂбþ¤·¤Þ¤¹¡£¼ÂºÝ¤Î¼ÂÁõ¤Ï¡¢ÌÀ¼¨Åª¤Ê¥½¡¼¥¹¥³¡¼¥É¤Ë¤Ç¤Ï¤Ê¤¯¡¢°ÅÌۤΥ½¡¼¥¹¥³¡¼¥É¤Ë°Í¸¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢.class ¥Õ¥¡¥¤¥ë¤Ë¤Ï¸ºß¤¹¤ë¤¬¥½¡¼¥¹¥³¡¼¥É¤Ë¤Ï¸ºß¤·¤Ê¤¤¥Ç¥Õ¥©¥ë¥È¥³¥ó¥¹¥È¥é¥¯¥¿ (Java ¸À¸ì»ÅÍͤò»²¾È) \f2¤ò¥É¥­¥å¥á¥ó¥È²½\fP ¤·¤Þ¤¹¡£ -.LP -Ä̾Javadoc ¥Ä¡¼¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¡¼¥É¤¬ÉÔ´°Á´¤Þ¤¿¤Ï¥¨¥é¡¼¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ç¤â¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥Ç¥Ð¥Ã¥°¤ä¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ò´°Î»¤¹¤ëÁ°¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Java ¸À¸ì»ÅÍͤˤè¤ë¤È¡¢Ãê¾Ý¥á¥½¥Ã¥É¤ò´Þ¤à¥¯¥é¥¹¤Ï¡¢¤½¤ì¼«ÂÎÃê¾Ý¤È¤·¤ÆÀë¸À¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¨¥é¡¼¤ò¸¡½Ð¤¹¤ë¤È¡¢javac ¥³¥ó¥Ñ¥¤¥é¤ÏÄä»ß¤·¤Þ¤¹¤¬¡¢Javadoc ¥Ä¡¼¥ë¤Ï·Ù¹ð¤ò½Ð¤µ¤º¤Ë½èÍý¤ò³¹Ô¤·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î´ðËÜŪ¤Ê¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¤è¤ê¾Ü¤·¤¯¥Á¥§¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢DocCheck ¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥É¥­¥å¥á¥ó¥È¤ÎÆâÉô¹½Â¤¤ò¹½ÃÛ¤¹¤ëºÝ¡¢»²¾È¥¯¥é¥¹¤ò¤¹¤Ù¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¡¢³ÈÄ¥µ¡Ç½¡¢¤Þ¤¿¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î»²¾È¥¯¥é¥¹¤ò¸¡º÷¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¾ÜºÙ¤Ï¡¢ -.na -\f2¡Ö¥¯¥é¥¹¤Î¸¡º÷ÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ä̾ºîÀ®¤¹¤ë¥¯¥é¥¹¤Ï¡¢³ÈÄ¥µ¡Ç½¤È¤·¤Æ¥í¡¼¥É¤¹¤ë¤«¡¢Javadoc ¥Ä¡¼¥ë¤Î¥¯¥é¥¹¥Ñ¥¹Æâ¤ËÃÖ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.SS -Javadoc ¤Î¥É¥Ã¥¯¥ì¥Ã¥È -.LP -Javadoc ¥Ä¡¼¥ë¤Î½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¡ÖÁȤ߹þ¤ß¡×¥É¥Ã¥¯¥ì¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢HTML ·Á¼°¤Î API ¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò½¤Àµ¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹²½¤¹¤ë¤³¤È¤ä¡¢HTML¡¢XML¡¢MIF¡¢RTF ¤Ê¤É¤Î¹¥¤ß¤Î½ÐÎÏ·Á¼°¤òÀ¸À®¤¹¤ëÆÈ¼«¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤òµ­½Ò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£¥É¥Ã¥¯¥ì¥Ã¥È¤È¤½¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤Î¹àÌܤò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 2 -o -.na -\f2Javadoc ¤Î¥É¥Ã¥¯¥ì¥Ã¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html -.TP 2 -o -\f2\-doclet\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.RE -.LP -\f2\-doclet\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢»ÈÍѤµ¤ì¤Æ¤¤¤ë¥É¥Ã¥¯¥ì¥Ã¥È¤Ë´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¤Û¤«¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬Äɲ䵤ì¤Þ¤¹¡£¤É¤Á¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤â¡¢¤³¤Î¤¢¤È¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£ -.SS -´ØÏ¢¥É¥­¥å¥á¥ó¥È¤ª¤è¤Ó¥É¥Ã¥¯¥ì¥Ã¥È -.RS 3 -.TP 2 -o -.na -\f2Javadoc ¤Ë»Ü¤µ¤ì¤¿³ÈÄ¥µ¡Ç½\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html \- Javadoc 1.4 ¤ÇÄɲ䵤줿²þÎÉÅÀ¤Î¾ÜºÙ -.TP 2 -o -.na -\f2Javadoc FAQ\fP @ -.fi -http://java.sun.com/j2se/javadoc/faq/index.html \- ÉÑÈˤ˴󤻤é¤ì¤ë¼ÁÌä¤ËÂФ¹¤ë²óÅú¡¢Javadoc ´ØÏ¢¤Î¥Ä¡¼¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󡢤ª¤è¤Ó¥Ð¥°¤Î²óÈòÊýË¡ -.TP 2 -o -.na -\f2How to Write Doc Comments for Javadoc\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html \- ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Ë´Ø¤¹¤ë Sun ¤Îµ¬Ìó -.TP 2 -o -.na -\f2Requirements for Writing API Specifications\fP @ -.fi -http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à»ÅÍͤòµ­½Ò¤¹¤ëºÝ¤Ë»ÈÍѤµ¤ì¤¿É¸½àÍ׷盧¤Î¾ðÊó¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È·Á¼°¤Ç API »ÅÍͤòµ­½Ò¤¹¤ë¾ì¹ç¤Ë¤â¡¢¤½¤Î¾¤Î·Á¼°¤Çµ­½Ò¤¹¤ë¾ì¹ç¤Ë¤âÌòΩ¤Á¤Þ¤¹¡£¸¡¾Ú²Äǽ¤Ê¥¢¥µ¡¼¥·¥ç¥ó¤òËþ¤¿¤¹¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤ÎÍ×·ï¤òÄê¤á¤Æ¤¤¤Þ¤¹¡£ -.TP 2 -o -.na -\f2¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î»ÅÍÍ\fP @ -.fi -http://java.sun.com/docs/books/jls/first_edition/html/18.doc.html \- ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¥ª¥ê¥¸¥Ê¥ë»ÅÍͤˤĤ¤¤Æ¤Ï¡¢¡ØJava Language Specification¡Ù (James Gosling¡¢Bill Joy¡¢Guy Steele ¶¦Ãø) ¤Î½éÈǤÎÂè 18 ¾Ï¡ÖDocumentation Comments¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¾Ï¤Ï¡¢Âè 2 ÈǤǤϺï½ü¤µ¤ì¤Þ¤·¤¿¡£ -.TP 2 -o -.na -\f2DocCheck ¥É¥Ã¥¯¥ì¥Ã¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-141437.html \- ¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¥Á¥§¥Ã¥¯¤·¡¢¸¡½Ð¤µ¤ì¤¿¥¨¥é¡¼¤äÉÔÀµ¤Î¥ì¥Ý¡¼¥È¤òÀ¸À®¤·¤Þ¤¹¡£Doc Check ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Î°ìÉô¤Ç¤¹¡£ -.TP 2 -o -.na -\f2MIF ¥É¥Ã¥¯¥ì¥Ã¥È\fP @ -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/ \- MIF¡¢FrameMaker¡¢PDF ¤Î½ñ¼°¤Ç API ¥É¥­¥å¥á¥ó¥È¤ò¼«Æ°À¸À®¤·¤Þ¤¹¡£MIF ¤Ï Adobe FrameMaker ¤Î¸ò´¹½ñ¼°¤Ç¤¹¡£ -.RE -.SS -ÍѸì -.LP -\f2¡Ö¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×\fP¡¢\f2¡Ödoc ¥³¥á¥ó¥È¡×\fP¡¢\f2¡Ö¼çÀâÌÀ¡×\fP¡¢\f2¡Ö¥¿¥°¡×\fP¡¢\f2¡Ö¥Ö¥í¥Ã¥¯¥¿¥°¡×\fP¡¢¤ª¤è¤Ó\f2¡Ö¥¤¥ó¥é¥¤¥ó¥¿¥°¡×\fP¤ÎÍѸì¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×¤ÇÀâÌÀ¤·¤Þ¤¹°Ê²¼¤Î¤½¤Î¾¤ÎÍѸì¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Î¥³¥ó¥Æ¥­¥¹¥È¤ÇÆÃÄê¤Î°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£ -.RS 3 -.TP 3 -À¸À®¥É¥­¥å¥á¥ó¥È (generated document) -javadoc ¥Ä¡¼¥ë¤¬ Java ¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤«¤éÀ¸À®¤·¤¿¥É¥­¥å¥á¥ó¥È¤Î¤³¤È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀ¸À®¥É¥­¥å¥á¥ó¥È¤Ï HTML ·Á¼°¤Ç¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -̾Á° (name) -Java ¸À¸ì¤Ç½ñ¤«¤ì¤¿¥×¥í¥°¥é¥àÍ×ÁǤÎ̾Á°¡¢¤Ä¤Þ¤ê¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î̾Á°¤Î¤³¤È¤Ç¤¹¡£Ì¾Á°¤Ï¡¢ \f2java.lang.String.equals(java.lang.Object)\fP ¤Î¤è¤¦¤Ê´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¡¢ \f2equals(Object)\fP ¤Î¤è¤¦¤ÊÉôʬ½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.TP 3 -¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹ (documented classes) -javadoc ¥Ä¡¼¥ë¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ¾ÜºÙ¤Ê¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬»ÈÍѲÄǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò javadoc ¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¡¢¥¢¥¯¥»¥¹½¤¾þ»Ò (public¡¢protected¡¢package\-private ¤Þ¤¿¤Ï private) ¤Ë¤è¤Ã¤Æ¥Õ¥£¥ë¥¿½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ï¡¢javadoc ¥Ä¡¼¥ë¤Î½ÐÎϤËÁȤ߹þ¤Þ¤ì¤ë¥¯¥é¥¹¡¢¤Ä¤Þ¤ê¡ÖÊñ´Þ¥¯¥é¥¹¡×¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£ -.LP -.TP 3 -Êñ´Þ¥¯¥é¥¹ (included classes) -¥Ä¡¼¥ë¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ¾ÜºÙ¤Ê¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£¡Ö¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¡×¤ÈƱ¤¸¡£ -.LP -.TP 3 -½ü³°¥¯¥é¥¹ (excluded classes) -¥Ä¡¼¥ë¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ¾ÜºÙ¤Ê¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£ -.LP -.TP 3 -»²¾È¥¯¥é¥¹ (referenced classes) -¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ (¼ÂÁõ) ¤Þ¤¿¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÃæ¤ÇÌÀ¼¨Åª¤Ë»²¾È¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£»²¾È¤ÎÎã¤È¤·¤Æ¤Ï¡¢Ìá¤êÃͤη¿¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿¡¢¥­¥ã¥¹¥È¤Î·¿¡¢³ÈÄ¥¤µ¤ì¤¿¥¯¥é¥¹¡¢¼ÂÁõ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¯¥é¥¹¡¢¥á¥½¥Ã¥ÉËÜÂΤǻÈÍѤµ¤ì¤ë¥¯¥é¥¹¡¢@see¡¢{@link}¡¢{@linkplain}¡¢{@inheritDoc} ¥¿¥°¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÄêµÁ¤Ï -.na -\f21.3\fP @ -.fi -http://download.oracle.com/javase/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses ¤«¤éÊѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢Javadoc ¤Î¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤ª¤è¤Ó¥¯¥é¥¹¥Ñ¥¹Æâ¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î»²¾È¥¯¥é¥¹¤ò¥á¥â¥ê¡¼¤Ë¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»²¾È¥¯¥é¥¹¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢¡Ö¥¯¥é¥¹¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡×¤È¤¤¤¦·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹¤Î¸ºß¤È¤½¤Î¥á¥ó¥Ð¡¼¤Î´°Á´»ØÄê¤Î̾Á°¤òȽÊ̤¹¤ë¤Î¤ËɬÍפʤ¹¤Ù¤Æ¤Î¾ðÊó¤ò¡¢.class ¥Õ¥¡¥¤¥ë¤«¤é°ú¤­½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.TP 3 -³°Éô»²¾È¥¯¥é¥¹ (external referenced classes) -»²¾È¥¯¥é¥¹¤Î¤¦¤Á¡¢javadoc ¥Ä¡¼¥ë¤Î¼Â¹ÔÃæ¤Ë¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥¯¥é¥¹¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç Javadoc ¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£À¸À®¥É¥­¥å¥á¥ó¥ÈÆâ¤Ç¤³¤ì¤é¤Î¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë²Õ½ê¤Ï¡¢¡Ö³°Éô»²¾È¡×¤Þ¤¿¤Ï¡Ö³°Éô¥ê¥ó¥¯¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Javadoc ¥Ä¡¼¥ë¤Î¼Â¹ÔÂоݤ¬ \f2java.awt\fP ¥Ñ¥Ã¥±¡¼¥¸¤Î¤ß¤Ç¤¢¤ë¾ì¹ç¡¢ \f2java.lang\fP Æâ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹ ( \f2Object\fP¤Ê¤É) ¤¬³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï¡¢ \f2\-link\fP ¤ª¤è¤Ó \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ï¡¢Ä̾綠¤Î¥½¡¼¥¹¥³¥á¥ó¥È¤ò javadoc ¥Ä¡¼¥ë¤Î¼Â¹Ô¤ÇÍøÍѤǤ­¤Ê¤¤¤È¤¤¤¦½ÅÍ×¤ÊÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤½¤ì¤é¤Î¥³¥á¥ó¥È¤ò·Ñ¾µ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.RE -.SH "¥½¡¼¥¹¥Õ¥¡¥¤¥ë" -.LP -Javadoc ¥Ä¡¼¥ë¤Ï 4 ¼ïÎà¤Î°Û¤Ê¤ë¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤«¤é½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¤½¤Î 4 ¼ïÎà¤È¤Ï¡¢¥¯¥é¥¹¤Î Java ¸À¸ì¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f2.java\fP)¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡¢³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¤½¤Î¾¤Î½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤Þ¤¿¡¢¥É¥­¥å¥á¥ó¥È²½¤·¤Ê¤¤¤¬¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ë¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ä¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÀâÌÀ¤·¤Þ¤¹¡£ -.SS -¥¯¥é¥¹¥½¡¼¥¹¥³¡¼¥É¥Õ¥¡¥¤¥ë -.LP -¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤ª¤è¤Ó¤½¤Î¥á¥ó¥Ð¡¼¤Ï¡¢ÆÈ¼«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ò \f2.java\fP ¥Õ¥¡¥¤¥ëÆâ¤ËÊÝ»ý¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¾ÜºÙ¤Ï¡¢¡Ö¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SS -¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë -.LP -¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢ÆÈ¼«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤òÀìÍѤΡ֥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤·¤Þ¤¹¡£¤½¤ÎÆâÍÆ¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³µÍ×¥Ú¡¼¥¸¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢Ä̾¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÅö¤Æ¤Ï¤Þ¤ë¥É¥­¥å¥á¥ó¥È¤òµ­½Ò¤·¤Þ¤¹¡£ -.LP -¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¡¢¥³¥á¥ó¥È¤Î³ÊǼÀè¤È¤·¤Æ¡¢¼¡¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤òÁªÂò¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2package\-info.java\fP \- ¥Ñ¥Ã¥±¡¼¥¸Àë¸À¡¢¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¡¢¤ª¤è¤Ó Javadoc ¥¿¥°¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°ìÈ̤ˡ¢package.html ¤è¤ê¤â¿ä¾©¤µ¤ì¤Þ¤¹¡£ -.TP 2 -o -\f2package.html\fP \- ³ÊǼ¤Ç¤­¤ë¤Î¤Ï¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤È Javadoc ¥¿¥°¤À¤±¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¤Ï³ÊǼ¤Ç¤­¤Þ¤»¤ó¡£ -.RE -.LP -³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¡¢Ã±°ì¤Î \f2package.html\fP ¥Õ¥¡¥¤¥ë¡¢Ã±°ì¤Î \f2package\-info.java\fP ¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤òÁªÂò¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ÎξÊý¤òÁªÂò¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò \f2.java\fP ¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤Î¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f4package\-info.java\fP \- ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£ ¥³¥á¥ó¥È¤Ï¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ÎÁ°¤ËÇÛÃÖ¤·¤Þ¤¹¡£ -.LP -File: \f2java/applet/package\-info.java\fP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javadoc +.\" Language: English +.\" Date: 2011ǯ5·î10Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javadoc" "1" "2011ǯ5·î10Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javadoc \- Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é¡¢API¥É¥­¥å¥á¥ó¥È¤ÎHTML¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjavadoc\fR {\fIpackages\fR|\fIsource\-files\fR} [\fIoptions\fR] [\fI@argfiles\fR] +.fi +.if n \{\ +.RE +.\} +.PP +\fIpackages\fR +.RS 4 +\fIjava\&.lang java\&.lang\&.reflect java\&.awt\fR¤Ê¤É¡¢¶õÇò¤Ç¶èÀڤäƥɥ­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¡£¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤â¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ï¡¢\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjavadoc\fR¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤òõ¤·¤Þ¤¹¡£\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸¤òõ¤¹¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\fIsource\-files\fR +.RS 4 +\fIClass\&.java Object\&.java Button\&.java\fR¤Î¤è¤¦¤Ë¶õÇò¤Ç¶èÀڤä¿¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ëJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjavadoc\fR¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\fI/home/src/java/awt/Graphics*\&.java\fR¤Î¤è¤¦¤Ë¡¢¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤ò»ØÄꤷ¡¢¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤ò»ÈÍѤǤ­¤Þ¤¹¡£¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\fIoptions\fR +.RS 4 +¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fI@argfiles\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¡¦¥ª¥×¥·¥ç¥ó¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ª¤è¤Ó¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È¤òǤ°Õ¤Î½ç½ø¤Ç´Þ¤à¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢°ìÏ¢¤ÎJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤¢¤ëÀë¸À¤ª¤è¤Ó¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò²òÀϤ·¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢public¥¯¥é¥¹¡¢protected¥¯¥é¥¹¡¢¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹(ƿ̾¤ÎÆâÉô¥¯¥é¥¹¤Ï½ü¤¯)¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤¿°ìÏ¢¤ÎHTML¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢API¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤ä¡¢°ìÏ¢¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¼ÂÁõ¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΡ¢¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤ËÂФ·¤Æ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤΥɥ­¥å¥á¥ó¥È²½¤ò¹Ô¤¦¤Ë¤Ï¡¢\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ë¤¿¤É¤ë¤«¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÌÀ¼¨Åª¤Ê¥ê¥¹¥È¤òÅϤ·¤Þ¤¹¡£¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È¤òÅϤ·¤Þ¤¹¡£´Êñ¤ÊÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥½¡¼¥¹¤Ç½ª¤ï¤ë¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Þ¤¹¡£¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤òÅϤ·¤Æ\fIjavadoc\fR¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤É¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤«¤òÀµ³Î¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢Â¿¤¯¤Î³«È¯¼Ô¤Ï¤³¤ÎÊýË¡¤Ç¤Ïºî¶È¤·¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¤Û¤¦¤¬´Êñ¤À¤«¤é¤Ç¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï3¤Ä¤ÎÊýË¡¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¡¢\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò¹Ô¤¦¤Î¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¤¹¤Ù¤Æ¤ÎÍ×·ï¤òËþ¤¿¤¹¾ì¹ç¤Î¤ß¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Õ¥¡¥¤¥ë̾¤ÎÀÜÆ¬¼­(\fI\&.java\fR¤òºï½ü)¤¬Í­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¤¢¤ë¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤«¤é¤ÎÁêÂÐŪ¤Ê¥Ñ¥¹Ì¾¤¬¡¢¶èÀÚ¤êʸ»ú¤ò¥É¥Ã¥È¤ËÊÑ´¹¤¹¤ë¤È¡¢Í­¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¤Ê¤ë¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸Ê¸¤ËÍ­¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£ +.RE +¥ê¥ó¥¯¤Î½èÍý.PP +½èÍý¤Î¼Â¹ÔÃæ¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î¼Â¹Ô¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤Î̾Á°¤ËÂФ·¤Æ¡¢Áê¸ß»²¾È¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¼¡¤Î¾ì½ê¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£@¥¿¥°¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢javadoc¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Àë¸À(Ìá¤êÃͤη¿¡¢°ú¿ô¤Î·¿¡¢¥Õ¥£¡¼¥ë¥É¤Î·¿)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI@see\fR¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿¡Ö\fI´ØÏ¢¹àÌÜ\fR¡×¥»¥¯¥·¥ç¥ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI{@link}\fR¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿¥¤¥ó¥é¥¤¥ó¡¦¥Æ¥­¥¹¥È¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI@throws\fR¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤¿Îã³°¤Î̾Á°¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¡Ö\fIÄêµÁ\fR¡×¥ê¥ó¥¯¤È¡¢¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¡Ö\fI¥ª¡¼¥Ð¡¼¥é¥¤¥É\fR¡×¥ê¥ó¥¯¡£¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î·Ñ¾µ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤ò¥ê¥¹¥È¤·¤Æ¤¤¤ë¥µ¥Þ¥ê¡¼É½¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Î·Ñ¾µ¥Ä¥ê¡¼¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +º÷°ú¡£ +.RE +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¤Î´û¸¤Î¥Æ¥­¥¹¥È(Ê̤ËÀ¸À®¤·¤¿¥Æ¥­¥¹¥È)¤ËÂФ·¤Æ¥ê¥ó¥¯¤òÄɲ乤ë¤Ë¤Ï¡¢\fI\-link\fR¤ª¤è¤Ó\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤òÍøÍѤǤ­¤Þ¤¹¡£ +½èÍý¤Î¾ÜºÙ.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë1¤Ä¤Î´°Á´¤Ê¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£Á°¤Î¼Â¹Ô¤Î·ë²Ì¤òÊѹ¹¤Þ¤¿¤ÏľÀܼè¤ê¹þ¤à¡¢Áýʬ¥Ó¥ë¥É¤ò¹Ô¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Â¾¤Î¼Â¹Ô¤Î·ë²Ì¤Ë¥ê¥ó¥¯¤Ç¤­¤Þ¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼ÂÁõ¤Ë¤ÏJava¥³¥ó¥Ñ¥¤¥é¤¬É¬Íפǡ¢Java¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï\fIjavac\fR¥³¥Þ¥ó¥É¤Î°ìÉô¤ò¸Æ¤Ó½Ð¤·¡¢Àë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¡¢¥á¥ó¥Ð¡¼¤Î¼ÂÁõ¤ò̵»ë¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¯¥é¥¹³¬Áؤò´Þ¤à¥¯¥é¥¹¤ÎË­ÉÙ¤ÊÆâÉôɽ¸½¤È¥¯¥é¥¹¤Î¡Ö»ÈÍѡ״ط¸¤ò¹½ÃÛ¤·¡¢HTML¤òÀ¸À®¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢J\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤«¤é¡¢¥æ¡¼¥¶¡¼¤ÎÄ󶡤·¤¿¥É¥­¥å¥á¥ó¥È¤â¼èÆÀ¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥á¥½¥Ã¥ÉËÜÂΤò»ý¤¿¤Ê¤¤½ã¿è¤Ê¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢API¤Î¼ÂÁõÁ°¤ÎÀ߷פÎÁᤤÃʳ¬¤Ç¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤·¤Æ\fIjavadoc\fR¥³¥á¥ó¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.PP +¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢HTML½ÐÎϤϡ¢¼ÂºÝ¤Î¼ÂÁõ¤ËÀµ³Î¤ËÂбþ¤·¤Þ¤¹¡£¼ÂºÝ¤Î¼ÂÁõ¤Ï¡¢ÌÀ¼¨Åª¤Ê¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë¤Ç¤Ï¤Ê¤¯¡¢°ÅÌۤΥ½¡¼¥¹¡¦¥³¡¼¥É¤Ë°Í¸¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥ó¥Ñ¥¤¥ëºÑ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ï¸ºß¤¹¤ë¤¬¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë¤Ï¸ºß¤·¤Ê¤¤¥Ç¥Õ¥©¥ë¥È¡¦¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¥É¥­¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£ +.PP +¿¤¯¤Î¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥³¡¼¥É¤¬ÉÔ´°Á´¤Þ¤¿¤Ï¥¨¥é¡¼¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ç¤â¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¤ä¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ò´°Î»¤¹¤ëÁ°¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î´ðËÜŪ¤Ê¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥É¥­¥å¥á¥ó¥È¤ÎÆâÉô¹½Â¤¤ò¹½ÃÛ¤¹¤ëºÝ¡¢»²¾È¥¯¥é¥¹¤ò¤¹¤Ù¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¢³ÈÄ¥µ¡Ç½¡¢¤Þ¤¿¤Ï¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î»²¾È¥¯¥é¥¹¤ò¸¡º÷¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¤Î¸¡½ÐÊýË¡ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +Ä̾ºîÀ®¤¹¤ë¥¯¥é¥¹¤Ï¡¢³ÈÄ¥¥¯¥é¥¹¤È¤·¤Æ¡¢¤Þ¤¿¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥¯¥é¥¹¡¦¥Ñ¥¹¤Ç¥í¡¼¥É¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.SS "Javadoc¤Î¥É¥Ã¥¯¥ì¥Ã¥È" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÁȹþ¤ß¥É¥Ã¥¯¥ì¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢HTML·Á¼°¤ÎAPI¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò½¤Àµ¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹¤òºîÀ®¤¹¤ë¤³¤È¤ä¡¢HTML¡¢XML¡¢MIF¡¢RTF¤Ê¤É¤Î¹¥¤ß¤Î½ÐÎÏ·Á¼°¤òÀ¸À®¤¹¤ëÆÈ¼«¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤òµ­½Ò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ +.PP +\fI\-doclet\fR¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¡¦¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢»ÈÍѤµ¤ì¤Æ¤¤¤ë¥É¥Ã¥¯¥ì¥Ã¥È¤Ë´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤ë¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¾¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬Äɲ䵤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥¿¥¤¥×¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¤½¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥¯¥é¥¹¤ÎJava¸À¸ì¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë(\fI\&.java\fR)¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¡¢³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¤½¤Î¾¤Î̤½èÍý¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤³¤³¤Ç¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤·¤Ê¤¤¤¬¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Ë¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ë¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ä¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÀâÌÀ¤·¤Þ¤¹¡£ +.SS "¥¯¥é¥¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë" +.PP +¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤ª¤è¤Ó¤½¤Î¥á¥ó¥Ð¡¼¤Ï¡¢ÆÈ¼«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ò¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤ËÊÝ»ý¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë" +.PP +¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢ÆÈ¼«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤òÀìÍѤΥ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤·¤Þ¤¹¡£¤½¤ÎÆâÍÆ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥µ¥Þ¥ê¡¼¡¦¥Ú¡¼¥¸¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢Ä̾¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÅö¤Æ¤Ï¤Þ¤ë¥É¥­¥å¥á¥ó¥È¤òµ­½Ò¤·¤Þ¤¹¡£ +.PP +¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤¤¤º¤ì¤«¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackage\-info\&.java\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¡¢¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¢¤ª¤è¤ÓJavadoc¥¿¥°¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackage\&.html\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ÈJavadoc¥¿¥°¤Î¤ß¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¤Ï³ÊǼ¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢\fIpackage\&.html\fR¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï\fIpackage\-info\&.java\fR¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤ò1¤Ä»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ÎξÊý¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼Æâ¤Î¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Æ¤¯¤À¤µ¤¤¡£ +package\-info\&.java¥Õ¥¡¥¤¥ë.PP +\fIpackage\-info\&.java\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ÎÁ°¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë\fI/**\fR¤ª¤è¤Ó\fI*/\fR¤¬Â¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢Ãæ´Ö¤Î¹Ô¤ÎÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¾Êά²Äǽ¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl * Provides the classes necessary to create an -.fl * applet and the classes an applet uses -.fl - * to communicate with its applet context. -.fl + * to communicate with its applet context\&. * <p> -.fl * The applet framework involves two entities: -.fl - * the applet and the applet context. -.fl + * the applet and the applet context\&. * An applet is an embeddable window (see the -.fl - * {@link java.awt.Panel} class) with a few extra -.fl + * {@link java\&.awt\&.Panel} class) with a few extra * methods that the applet context can use to -.fl - * initialize, start, and stop the applet. -.fl + * initialize, start, and stop the applet\&. * -.fl - * @since 1.0 -.fl - * @see java.awt -.fl + * @since 1\&.0 + * @see java\&.awt */ -.fl -package java.lang.applet; -.fl -\fP +package java\&.lang\&.applet; .fi -.LP -¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Î \f2/**\fP ¤È \f2/*\fP ¤Ï¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢Ãæ´Ö¹Ô¤Î¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¾Êά¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ -.LP -\f4package.html\fP \- ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï \f2<body>\fP Í×ÁÇÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£ -.LP -File: \f2java/applet/package.html\fP +.if n \{\ +.RE +.\} +package\&.html¥Õ¥¡¥¤¥ë.PP +\fIpackage\&.html\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï¡¢\fI<body>\fRÍ×ÁǤËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ +.PP +¥Õ¥¡¥¤¥ë: +\fIjava/applet/package\&.html\fR +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -<HTML> <BODY> Provides the classes necessary to create an applet and the classes an applet uses to communicate with its applet context.<p> -.fl +<HTML> +<BODY> +Provides the classes necessary to create an applet and the +classes an applet uses to communicate with its applet context\&. +<p> The applet framework involves two entities: the applet -.fl -and the applet context. An applet is an embeddable window (see the {@link java.awt.Panel} class) with a few extra methods that the applet context can use to initialize, start, and stop the applet.@since 1.0 @see java.awt </BODY> </HTML> -.fl -\fP +and the applet context\&. An applet is an embeddable +window (see the {@link java\&.awt\&.Panel} class) with a +few extra methods that the applet context can use to +initialize, start, and stop the applet\&. + +@since 1\&.0 +@see java\&.awt +</BODY> +</HTML> .fi -.LP -¤³¤ì¤Ïñ¤Ê¤ëÄ̾ï¤Î HTML ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤ÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¡¢¤Û¤«¤Î¤¹¤Ù¤Æ¤Î¥³¥á¥ó¥È¤ÈƱÍÍ¤Ë HTML ¤Çµ­½Ò¤·¤Þ¤¹¤¬¡¢1 ¤Ä¤À¤±Îã³°¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¤Ï¡¢¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú ¤Ç¤¢¤ë \f2/**\fP ¤È \f2*/\fP ¡¢¤ª¤è¤Ó¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò´Þ¤á¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¥³¥á¥ó¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍפȤ·¡¢ \f2<body>\fP ¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤ä¤½¤Î¾¤Î¥Æ¥­¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤¬¡¢¤Û¤«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÈƱÍÍ¡¢¤¹¤Ù¤Æ¤Î¥Ö¥í¥Ã¥¯¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¤¢¤È¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ \f2@see\fP ¥¿¥°¤ò¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ËÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢´°Á´½¤¾þ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2package.html\fP¤ÎÎã @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#packagecomments¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Î½èÍý\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢¼Â¹Ô»þ¤Ë¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ò¼«Æ°Åª¤Ë¸¡º÷¤·¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤È¼¡¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -½èÍý¤Ç¤­¤ë¤è¤¦¤Ë¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤¹¤ë( \f2package.html\fP ¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢ \f2<body>\fP ¤È \f2</body>\fP HTML ¥¿¥°¤Î´Ö¤Ë¤¢¤ëÆâÍÆ¤ò¤¹¤Ù¤Æ¥³¥Ô¡¼¤¹¤ë¡£ \f2<head>\fP ¥»¥¯¥·¥ç¥ó¤ò´Þ¤á¡¢¤½¤³¤Ë \f2<title>\fP ¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÃøºî¸¢µ­½Ò¤Ê¤É¤Î¾ðÊó¤òÇÛÃÖ¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤¬¡¢À¸À®¸å¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¤Ï¤½¤ì¤é¤Ï°ìÀÚɽ¼¨¤µ¤ì¤Ê¤¤) -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤¬¤¢¤ì¤Ð¡¢¤¹¤Ù¤Æ½èÍý¤¹¤ë -.TP 2 -o -À¸À®¤·¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×¥Ú¡¼¥¸¤ÎºÇ¸å¤Ë¡¢½èÍý¤·¤¿¥Æ¥­¥¹¥È¤òÁÞÆþ¤¹¤ë (Îã: -.na -\f2¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html) -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤¹¤ë¡£¤µ¤é¤Ë¡¢³µÍ×¥Ú¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤òÄɲ乤ë (Îã: -.na -\f2³µÍפÎÍ×Ìó\fP @ -.fi -http://java.sun.com/javase/6/docs/api/overview\-summary.html)¡£Ê¸¤ÎËöÈø¤Ï¡¢¥¯¥é¥¹¤ä¥á¥ó¥Ð¡¼¤Î¼çÀâÌÀ¤ÎºÇ½é¤Îʸ¤ÎËöÈø¤ÈƱ¤¸µ¬Â§¤Ë¤è¤Ã¤ÆÈ½ÃǤµ¤ì¤ë +.if n \{\ .RE -.SS -³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë -.LP -¥É¥­¥å¥á¥ó¥È²½¤¹¤ë³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È¤Ï¡¢ÆÈ¼«¤Î³µÍץɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ÏÀìÍѤΡ֥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£¤½¤ÎÆâÍÆ¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³µÍ×¥Ú¡¼¥¸¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢Ä̾¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥ÈÁ´ÂΤËÅö¤Æ¤Ï¤Þ¤ë¥É¥­¥å¥á¥ó¥È¤òµ­½Ò¤·¤Þ¤¹¡£ -.LP -³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤ËǤ°Õ¤Î̾Á° (Ä̾ï¤Ï \f4overview.html\fP) ¤òÉÕ¤±¡¢¤½¤ì¤òǤ°Õ¤Î¾ì½ê (Ä̾ï¤Ï¥½¡¼¥¹¥Ä¥ê¡¼¤ÎºÇ¾å°Ì) ¤ËÇÛÃ֤Ǥ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2java.applet\fP ¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ \f2/home/user/src/java/applet\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Ï \f2/home/user/src/overview.html ¤ËºîÀ®¤Ç¤­¤Þ¤¹\fP¡£ -.LP -°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤ËÂФ·¤Æ javadoc ¤òÊ£¿ô²ó¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢Æ±¤¸ 1 ¤Ä¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ËÂФ·¤ÆÊ£¿ô¤Î³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÆâÉô¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÍÑ¤Ë \-private ¤ò»ØÄꤷ¤Æ javadoc ¤ò 1 ²ó¼Â¹Ô¤·¤¿¤¢¤È¡¢¸ø³«¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÍѤˤ½¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤ÇºÆÅټ¹Ԥ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢³Æ³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Î 1 ʸÌܤǡ¢¤½¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò¸ø³«ÍѤޤ¿¤ÏÆâÉôÍѤȤ·¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£ -.LP -³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¡¢Á°½Ò¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÈƱÍÍ¡¢HTML ¤Çµ­½Ò¤µ¤ì¤¿ 1 ¤Ä¤ÎÂ礭¤Ê¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢Á°½Ò¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Í×ÅÀ¤ò·«¤êÊÖ¤¹¤È¡¢¤³¤Î¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È¤ÎÍ×Ìó¤È¤·¡¢ \f2<body>\fP ¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤½¤Î¾¤Î¥Æ¥­¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£³µÍ×¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Û¤«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÈƱ¤¸¤¯¡¢ \f2{@link}\fP ¤Ê¤É¤Î¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¤¢¤È¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \f2@see\fP ¥¿¥°¤òÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢´°Á´½¤¾þ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Î¼Â¹Ô»þ¤Ë¡¢\-overview ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2<body>\fP ¤È \f2</body>\fP ¥¿¥°¤Î´Ö¤Ë¤¢¤ë¤¹¤Ù¤Æ¤ÎÆâÍÆ¤ò½èÍýÂоݤȤ·¤Æ¥³¥Ô¡¼¤¹¤ë -.TP 2 -o -³µÍ×¥¿¥°¤¬¤¢¤ì¤Ð¡¢¤¹¤Ù¤Æ½èÍý¤¹¤ë -.TP 2 -o -À¸À®¤·¤¿³µÍ×¥Ú¡¼¥¸¤ÎºÇ¸å¤Ë¡¢½èÍý¤·¤¿¥Æ¥­¥¹¥È¤òÁÞÆþ¤¹¤ë (Îã: -.na -\f2³µÍפÎÍ×Ìó\fP @ -.fi -http://java.sun.com/javase/6/docs/api/overview\-summary.html) -.TP 2 -o -³µÍ×¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢³µÍ×¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤¹¤ë +.\} +.PP +\fIpackage\&.html\fR¥Õ¥¡¥¤¥ë¤ÏÄ̾ï¤ÎHTML¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ÏHTML¤Çµ­½Ò¤·¤Þ¤¹¤¬¡¢Îã³°¤¬1¤Ä¤¢¤ê¤Þ¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤Ï¡¢¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë\fI/**\fR¤È\fI*/\fR¡¢¤Þ¤¿¤Ï¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò´Þ¤á¤Ê¤¤¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¥³¥á¥ó¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥Ñ¥Ã¥±¡¼¥¸¤Î¥µ¥Þ¥ê¡¼¤È¤·¡¢\fI<body>\fR¥¿¥°¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤ä¤½¤Î¾¤Î¥Æ¥­¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¸å¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI@see\fR¥¿¥°¤ò¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ËÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢´°Á´½¤¾þ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý.PP +\fIjavadoc\fR¥³¥á¥ó¥È¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¼¡¤Î¼ê½ç¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½èÍý¤Ç¤­¤ë¤è¤¦¤Ë¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£package\&.html¤Î¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI<body>\fR¤È\fI</body>\fR +HTML¥¿¥°´Ö¤Î¤¹¤Ù¤Æ¤ÎÆâÍÆ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£\fI<head>\fR¥»¥¯¥·¥ç¥ó¤ò´Þ¤á¡¢¤½¤³¤Ë\fI<title>\fR¥¿¥°¤ä¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ÎÃøºî¸¢µ­½Ò¤Ê¤É¤Î¾ðÊó¤òÇÛÃÖ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢À¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¤½¤ì¤é¤Ï°ìÀÚɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£ .RE -.SS -¤½¤Î¾¤Î̤½èÍý¤Î¥Õ¥¡¥¤¥ë -.LP -¥½¡¼¥¹¤Ë¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡¢¤½¤Î¾¤ÎǤ°Õ¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥°¥é¥Õ¥£¥Ã¥¯¥Õ¥¡¥¤¥ë¡¢¥µ¥ó¥×¥ë¤Î Java ¥½¡¼¥¹ (.java) ¤ª¤è¤Ó¥¯¥é¥¹ (.class) ¥Õ¥¡¥¤¥ë¡¢ÆâÍÆ¤¬Ä̾ï¤Î Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤ÆÈΩ¤·¤¿ HTML ¥Õ¥¡¥¤¥ë¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤Ë¤Ï¡¢\f4doc\-files\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤·¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤¿Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤ÄÍѰդǤ­¤Þ¤¹¡£¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢.class ¥Õ¥¡¥¤¥ë¡¢¥¢¥×¥ì¥Ã¥È¡¢¤ª¤è¤Ó HTML ¥Õ¥¡¥¤¥ë¤ò¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ü¥¿¥ó¤Î²èÁü \f2button.gif\fP ¤ò \f2java.awt.Button\fP ¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò \f2/home/user/src/java/awt/doc\-files/\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤Ê¤ª¡¢ \f2doc\-files\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ò \f2/home/user/src/java/doc\-files\fP ¤ËÇÛÃÖ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é¡¢ \f2java\fP ¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢java ¤ËľÀÜ´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï 1 ¤Ä¤â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -¤³¤ì¤é¤Î̤½èÍý¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¤¹¤Ù¤ÆÌÀ¼¨Åª¤Ëµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤¬¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤º¤Ë¡¢Ã±¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤ÎÆâÍÆ¤òÀ¸À®Àè¤Ë¥³¥Ô¡¼¤¹¤ë¤À¤±¤À¤«¤é¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Button.java\fP ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Î¥ê¥ó¥¯¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤ò½èÍý¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½èÍý¤·¤¿¥Æ¥­¥¹¥È¤òÀ¸À®¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î¥µ¥Þ¥ê¡¼¡¦¥Ú¡¼¥¸¤Î²¼Éô¤ËÁÞÆþ¤·¤Þ¤¹¡£Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¢Standard Edition API»ÅÍͤγµÍ× +(http://docs\&.oracle\&.com/javase/8/docs/api/overview\-summary\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤Î¥µ¥Þ¥ê¡¼¡¦¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢³µÍ×¥Ú¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤òÄɲä·¤Þ¤¹¡£Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¢Standard Edition API»ÅÍͤγµÍ× +(http://docs\&.oracle\&.com/javase/8/docs/api/overview\-summary\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +ʸ¤Î½ª¤ï¤ê¤Ï¡¢¥¯¥é¥¹¤ä¥á¥ó¥Ð¡¼¤Î¼çÀâÌÀ¤ÎºÇ½é¤Îʸ¤Î½ª¤ï¤ê¤ÈƱ¤¸¥ë¡¼¥ë¤Ë¤è¤Ã¤ÆÈ½ÃǤµ¤ì¤Þ¤¹¡£ +.RE +.SS "³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë" +.PP +¥É¥­¥å¥á¥ó¥È²½¤¹¤ë³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥È¤Ï¡¢ÆÈ¼«¤Î³µÍץɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ÏÀìÍѤΥ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£¤½¤ÎÆâÍÆ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³µÍ×¥Ú¡¼¥¸¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢Ä̾¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥ÈÁ´ÂΤËÅö¤Æ¤Ï¤Þ¤ë¥É¥­¥å¥á¥ó¥È¤òµ­½Ò¤·¤Þ¤¹¡£ +.PP +¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ïoverview\&.html¤Ê¤É¤Î̾Á°¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¡¢¤É¤³¤ËÇÛÃÖ¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£°ìÈÌŪ¤Ê¾ì½ê¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤ÎºÇ¾åÉô¤Ç¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢\fIjava\&.applet\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬/home/user/src/java/applet¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤Ï/home/user/src/overview\&.html¤ËºîÀ®¤Ç¤­¤Þ¤¹¡£ +.PP +°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤ËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤òÊ£¿ô²ó¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢Æ±¤¸1¤Ä¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ËÂФ·¤ÆÊ£¿ô¤Î³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÆâÉô¥É¥­¥å¥á¥ó¥ÈÍѤË\fI\-private\fR¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò1²ó¼Â¹Ô¤·¤¿¸å¡¢¸ø³«¥É¥­¥å¥á¥ó¥ÈÍѤˤ½¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤ÇºÆÅټ¹Ԥ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢³Æ³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤Î1ʸÌܤǡ¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤ò¸ø³«ÍѤޤ¿¤ÏÆâÉôÍѤȤ·¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£ +.PP +³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¡¢HTML¤Çµ­½Ò¤µ¤ì¤¿1¤Ä¤ÎÂ礭¤Ê¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤¹¡£ºÇ½é¤Îʸ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤Î¥µ¥Þ¥ê¡¼¤È¤·¤Þ¤¹¡£\fI<body>\fR¥¿¥°¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤ä¤½¤Î¾¤Î¥Æ¥­¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£{\fI@link}\fR¤Ê¤É¤Î¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¸å¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI@see\fR¥¿¥°¤òÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢´°Á´½¤¾þ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë¡¢\fI\-overview\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¼¡¤Î¼ê½ç¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI<body>\fR¤È\fI</body>\fR¥¿¥°¤Î´Ö¤Ë¤¢¤ëÆâÍÆ¤ò¤¹¤Ù¤Æ½èÍýÂоݤȤ·¤Æ¥³¥Ô¡¼¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³µÍ×¥¿¥°¤¬¤¢¤ì¤Ð½èÍý¤·¤Þ¤¹¡£³µÍ×¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +½èÍý¤·¤¿¥Æ¥­¥¹¥È¤òÀ¸À®¤µ¤ì¤¿³µÍ×¥Ú¡¼¥¸¤Î²¼Éô¤ËÁÞÆþ¤·¤Þ¤¹¡£Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥àStandard Edition API»ÅÍͤγµÍ× +(http://docs\&.oracle\&.com/javase/8/docs/api/overview\-summary\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³µÍ×¥µ¥Þ¥ê¡¼¡¦¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢³µÍ×¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ +.RE +.SS "̤½èÍý¤Î¥Õ¥¡¥¤¥ë" +.PP +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ°¸Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢Ä̾¥°¥é¥Õ¥£¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¡¢¥µ¥ó¥×¥ë¤ÎJava¥½¡¼¥¹¤ª¤è¤Ó¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢°ìÈÌŪ¤ÊJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤Â¿¤¯¤ÎÆâÍÆ¤ò´Þ¤àÆÈΩ¤·¤¿HTML¥Õ¥¡¥¤¥ë¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +̤½èÍý¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤Ë¤Ï¡¢doc\-files¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤·¤Þ¤¹¡£doc\-files¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤àǤ°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£doc\-files¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤ÄÍѰդǤ­¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¥Ü¥¿¥ó¤Î¥¤¥á¡¼¥¸¤ò\fIjava\&.awt\&.Button\fR¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤Ë´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¤¥á¡¼¥¸¡¦¥Õ¥¡¥¤¥ë¤ò/home/user/src/java/awt/doc\-files/¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤­¤Þ¤¹¡£doc\-files¥Ç¥£¥ì¥¯¥È¥ê¤ò/home/user/src/java/doc\-files¤ËÃÖ¤«¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£java¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤³¤È¤â¤Ç¤­¤Þ¤»¤ó¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Ê¤¤¤Î¤Ç¡¢Ì¤½èÍý¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¤¹¤Ù¤Æ¤Î¥ê¥ó¥¯¤Ï¡¢¥³¡¼¥É¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤Î¤¹¤Ù¤Æ¤ÎÆâÍÆ¤ò°¸Àè¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢Button\&.java¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¥ê¥ó¥¯¤¬¤É¤Î¤è¤¦¤Ë¸«¤¨¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * This button looks like this: -.fl - * <img src="doc\-files/Button.gif"> -.fl - */ -.fl -\fP +/** + * This button looks like this: + * <img src="doc\-files/Button\&.gif"> + */ .fi -.SS -¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë -.LP -°ìÉô¤Î³«È¯¼Ô¤«¤é¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤òÂбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¶á¤¯¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤ËÊݸ¤·¤¿¤¤¤È¤¤¤¦Í×˾¤¬¤¢¤ê¤Þ¤·¤¿¡£¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤¿¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ -.LP -¸ÄÊ̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÇÌÀ¼¨Åª¤ËÅϤ·¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò°Õ¿ÞŪ¤Ë½ü³°¤·¤Æ¡¢½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥ï¥¤¥ë¥É¥«¡¼¥É¤ÇÅϤ¹¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥ë¡¼¥ë¤Ë½¾¤Ã¤Æ¡¢¤³¤ì¤é¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤¬½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤È¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤Ï¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢ÀµÅö¤Ç¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤Î¤ËÂФ·¤Æ¡¢¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤¦¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¤¿¤À¤·¡¢¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤â¡Ö.java¡×¤Ç½ª¤ï¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -\f3¥Æ¥¹¥È¥Õ¥¡¥¤¥ë\fP \- ³«È¯¼Ô¤Î¿¤¯¤Ï¡¢¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ç¼Â¹Ô²Äǽ¤Ê¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ò¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢Ì¾Á°¤Ê¤·¥Ñ¥Ã¥±¡¼¥¸¤Ê¤É¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¥Ñ¥Ã¥±¡¼¥¸¤È¤ÏÊ̤Υѥ屡¼¥¸¤Ë°¤µ¤»¤¿¤¤¤È¤â¹Í¤¨¤Æ¤¤¤Þ¤¹ (¤½¤Î¤¿¤á¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¤Ï package ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¤Ê¤¤¤«¡¢¤Þ¤¿¤Ï¥½¡¼¥¹¤È¤ÏÊ̤Πpackage ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¤¢¤ë)¡£¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ¤½¤Î¥½¡¼¥¹¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï·Ù¹ð¤Þ¤¿¤Ï¥¨¥é¡¼¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£¤½¤Î¤è¤¦¤Ê¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2com.package1\fP Æâ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤òÄɲ乤ë¾ì¹ç¤Ï¼¡¤Î¤è¤¦¤Ë¡¢¥Ï¥¤¥Õ¥ó¤ò´Þ¤ó¤Ç¤¤¤ë¤¿¤á¤Ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¤·¤Æ¤Ï̵¸ú¤Ç¤¢¤ë¤è¤¦¤Ê¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¡¢¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.SS "¥Æ¥¹¥È¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë" +.PP +¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î¥Æ¥¹¥È¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤ò¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤Ç¤­¤Þ¤¹¡£¥Æ¥¹¥È¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤¬½èÍý¤µ¤ì¤ë¤Î¤òËɤ°¤Ë¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢ÌÀ¼¨Åª¤Ë¸ÄÊ̤Υ½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤òÅϤ·¤Þ¤¹¡£ +.PP +¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢Í­¸ú¤Ê¡¢¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢Í­¸ú¤Ê¡¢¸ß´¹À­¤Î¤¢¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Â¿¤¯¤Î¾ì¹ç¡¢\fI\&.java\fRÀÜÈø¼­¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ +¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë.PP +¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ò¡¢Ì¾Á°¤Ê¤·¥Ñ¥Ã¥±¡¼¥¸¤ä¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤È¤ÏÊ̤Υѥ屡¼¥¸¤Ë°¤¹¤ë¤è¤¦¤Ë¤¹¤ë¾ì¹ç¡¢¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ò¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î²¼¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë̵¸ú¤Ê̾Á°¤òÉÕ¤±¤Þ¤¹¡£¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤ò¥½¡¼¥¹¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¼¨¤¹¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ï·Ù¹ð¤Þ¤¿¤Ï¥¨¥é¡¼¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬Ìµ¸ú¤Ê̾Á°¤ò»ý¤Ä¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥¹¥­¥Ã¥×¤µ¤ì¡¢¥¨¥é¡¼¤Þ¤¿¤Ï·Ù¹ð¤Ïȯ¹Ô¤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤òcom\&.package1¤ËÄɲ乤ë¤Ë¤Ï¡¢Ìµ¸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£¼¡¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤Ë¤Ï¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤¿¤á̵¸ú¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - com/package1/test\-files/ -.fl -\fP +com/package1/test\-files/ .fi -.LP -¤³¤¦¤¹¤ë¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ç¤Ï·Ù¹ð¤Ê¤·¤Ç test ¥Ç¥£¥ì¥¯¥È¥ê¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹¡£ -.LP -¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ë doc ¥³¥á¥ó¥È¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤ó¤À¥Æ¥¹¥È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÇÅϤ·¤Æ¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¡¢Javadoc ¥Ä¡¼¥ë¤òÊ̸Ĥ˼¹ԤǤ­¤ë¤è¤¦¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2com/package1/test\-files/*.java ¤Ê¤É¤Ç¤¹\fP¡£ -.LP -\f3¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Æ¥ó¥×¥ì¡¼¥È\fP \- ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡Ö.java¡×¤Ç½ª¤ï¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¤¬¡¢¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó¡£¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÊÝ»ý¤·¤¿¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Æ¥ó¥×¥ì¡¼¥È¤¬¤¢¤ë¾ì¹ç¤Ï¡¢ \f2Buffer\-Template.java\fP ¤Î¤è¤¦¤Ë¥Ï¥¤¥Õ¥ó¤ä¤½¤Î¾¤Î̵¸ú¤Ê Java ʸ»ú¤ò̾Á°¤Ë´Þ¤á¤ë¤³¤È¤Ç¡¢¥Æ¥ó¥×¥ì¡¼¥È¤¬½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤¬½èÍý¤¹¤ë¤Î¤Ï¡¢¡Ö.java¡×ÀÜÈø¼­¤ò½ü¤¤¤¿Ì¾Á°¤¬ Àµµ¬¤Î¥¯¥é¥¹Ì¾¤Ç¤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¢¤ë¤¿¤á¤Ç¤¹ (Java ¸À¸ì»ÅÍͤΡÖIdentifiers¡×¤Ë´Ø¤¹¤ë¾ðÊó¤ò»²¾È)¡£ +.if n \{\ +.RE +.\} +.PP +¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¸ÄÊ̤μ¹Ԥǡ¢¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤ó¤À¥Æ¥¹¥È¡¦¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾(\fIcom/package1/test\-files/*\&.java\fR¤Ê¤É)¤òÅϤ·¤Æ¡¢¥Æ¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤è¤¦¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£ +¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë.PP +¥Æ¥ó¥×¥ì¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤ò¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤¹¤ë¤¬¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¥¨¥é¡¼¤òÀ¸À®¤·¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ë\fIBuffer\-Template\&.java\fR¤Ê¤É¤Î̵¸ú¤Ê̾Á°¤òÉÕ¤±¤Æ¡¢½èÍý¤µ¤»¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢ÀÜÈø¼­¤Î\fI\&.java\fR¤¬ºï½ü¤µ¤ì¤ë¤ÈÍ­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ë¤Ê¤ë̾Á°¤ò»ý¤Ä¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤ß¤ò½èÍý¤·¤Þ¤¹¡£ .SH "À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë" -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢javadoc ¥Ä¡¼¥ë¤Ï¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤¤¤Þ¤¹¡£¤³¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢°Ê²¼¤Î¼ïÎà¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î HTML ¥Ú¡¼¥¸¤Ï¡¢¸Ä¡¹¤Î¥Õ¥¡¥¤¥ë¤ËÁêÅö¤·¤Þ¤¹¡£javadoc ¤¬À¸À®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤Ï¡¢¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î̾Á°¤Ë¤Á¤Ê¤ó¤À¤â¤Î¤È¡¢¤½¤¦¤Ç¤Ê¤¤¤â¤Î ( \f2package\-summary.html ¤Ê¤É\fP) ¤Î 2 ¼ïÎब¤¢¤ê¤Þ¤¹¡£¸å¼Ô¤Î¥°¥ë¡¼¥×¤Î¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¡¢Á°¼Ô¤Î¥°¥ë¡¼¥×¤È¥Õ¥¡¥¤¥ë̾¤¬¶¥¹ç¤·¤Ê¤¤¤è¤¦¤Ë¡¢¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -\f3´ðËÜÆâÍÆ¥Ú¡¼¥¸\fP -.RS 3 -.TP 2 -o -¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤´¤È¤Ë 1 ¤Ä¤Î\f3¥¯¥é¥¹¥Ú¡¼¥¸¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Ú¡¼¥¸\fP (\f2¥¯¥é¥¹Ì¾\fP\f2.html\fP) -.TP 2 -o -¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î\f3¥Ñ¥Ã¥±¡¼¥¸¥Ú¡¼¥¸\fP (\f2package\-summary.html\fP)¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2package.html\fP ¤Þ¤¿¤Ï \f2package\-info.java\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ëÆâ¤Î HTML ¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤ÆÁÈ¤ßÆþ¤ì¤Þ¤¹¡£ -.TP 2 -o -¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ 1 ¤Ä¤Î\f3³µÍ×¥Ú¡¼¥¸\fP (\f2overview\-summary.html\fP)¡£¤³¤ì¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤ÎÀèÆ¬¥Ú¡¼¥¸¤Ë¤Ê¤ê¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢\f2\-overview\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤Î HTML ¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤ÆÁÈ¤ßÆþ¤ì¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢javadoc ¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Ë¤À¤±ºîÀ®¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡ÖHTML ¥Õ¥ì¡¼¥à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢HTML·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¤³¤³¤ÇÀâÌÀ¤¹¤ë¡¢´ðËÜÆâÍÆ¥Ú¡¼¥¸¡¢Áê¸ß»²¾È¥Ú¡¼¥¸¡¢¥µ¥Ý¡¼¥È¡¦¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£³ÆHTML¥Ú¡¼¥¸¤Ï¸ÄÊ̤Υե¡¥¤¥ë¤ËÂбþ¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢2¤Ä¤Î¥¿¥¤¥×¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ºÇ½é¤Î¥¿¥¤¥×¤Ë¤Ï¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë±þ¤¸¤¿Ì¾Á°¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£2ÈÖÌܤΥ¿¥¤¥×¤Ë¤Ï¡¢ºÇ½é¤Î¥¿¥¤¥×¤Î¥Õ¥¡¥¤¥ë¤È¤Î¶¥¹ç¤òËɤ°¤¿¤á¤Ë¡¢¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤Þ¤¹(package\-summary\&.html¤Ê¤É)¡£ +.SS "´ðËÜÆâÍÆ¥Ú¡¼¥¸" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +µ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤´¤È¤Ë1¤Ä¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥Ú¡¼¥¸(classname\&.html)¡£ .RE -.LP -\f3Áê¸ß»²¾È¥Ú¡¼¥¸\fP -.RS 3 -.TP 2 -o -\f3¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ 1 ¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸\fP (\f2overview\-tree.html\fP)¡£¤³¤Î¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [³µÍ×] ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤«¤é¡¢[³¬Áإĥ꡼] ¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸\fP (\f2package\-tree.html\fP)¡£¤³¤ì¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸¤Ë°Üư¤·¡¢[³¬Áإĥ꡼] ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î³¬Áؤòɽ¼¨¤µ¤»¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î [»ÈÍÑ] ¥Ú¡¼¥¸\fP (\f2package\-use.html\fP) ¤È¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤´¤È¤Ë 1 ¤Ä¤º¤Ä¤Î [»ÈÍÑ] ¥Ú¡¼¥¸ (\f2class\-use/\fP\f2¥¯¥é¥¹Ì¾\fP\f2.html\fP)¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢ÆÃÄê¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤ò»È¤Ã¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æµ­½Ò¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹ A ¤òÎã¤Ë¤·¤Æ¹Í¤¨¤ë¤È¡¢¤½¤Î [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë¤Ï¡¢A ¤Î¥µ¥Ö¥¯¥é¥¹¡¢A ¤È¤·¤ÆÀë¸À¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¡¢A ¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢A ·¿¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ¤³¤Î¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸¤Ë°Üư¤·¤Æ¤«¤é¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [»ÈÍÑ] ¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ -.TP 2 -o -\f3Èó¿ä¾© API ¥Ú¡¼¥¸\fP (\f2deprecated\-list.html\fP)¡£¿ä¾©¤µ¤ì¤Ê¤¤Ì¾Á°¤¬¤¹¤Ù¤Æ°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£Èó¿ä¾©Ì¾¤Ï¡¢°ìÈ̤˲þÎɤµ¤ì¤¿ API ¤¬Â¸ºß¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¬¿ä¾©¤µ¤ì¤Æ¤¤¤Ê¤¤ API ¤Î̾Á°¤Ç¤¢¤ê¡¢Ä̾¤½¤ì¤ËÃÖ¤­´¹¤ï¤ë̾Á°¤¬Ä󼨤µ¤ì¤Æ¤¤¤Þ¤¹¡£Èó¿ä¾© API ¤Ï¡¢¾­Íè¤Î¼ÂÁõ¤Ç¤Ïºï½ü¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 2 -o -\f3Äê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ¥Ú¡¼¥¸\fP (\f2constant\-values.html\fP)¡£static ¥Õ¥£¡¼¥ë¥É¤ÎÃÍÍѤǤ¹¡£ -.TP 2 -o -\f3ľÎ󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸\fP (\f2serialized\-form.html\fP)¡£Ä¾Îó²½²Äǽ¤«¤Ä³°Éô²½²Äǽ¤Ê¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊóÍѤǤ¹¡£¤³¤ì¤é¤Î³Æ¥¯¥é¥¹¤Ë¤Ï¡¢Ä¾Îó²½¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ë´Ø¤¹¤ëÀâÌÀ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¾ðÊó¤Ï¡¢API ¤ò»È¤¦³«È¯¼Ô¤Ç¤Ï¤Ê¤¯¡¢ºÆ¼ÂÁõ¤ò¹Ô¤¦³«È¯¼Ô¤ËɬÍפʾðÊó¤Ç¤¹¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Ë¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Ä¾Î󲽤µ¤ì¤¿¥¯¥é¥¹¤Ë°Üư¤·¤Æ¡¢¤½¤Î¥¯¥é¥¹¤ÎÀâÌÀ¤Ë¤¢¤ë¡Ö´ØÏ¢¹àÌܡץ»¥¯¥·¥ç¥ó¤Ç¡ÖľÎ󲽤µ¤ì¤¿·Á¼°¡×¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢¤³¤Î¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ÏľÎ󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤ò¼«Æ°À¸À®¤·¤Þ¤¹¡£Serializable ¤ò¼ÂÁõ¤¹¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹ (public ¤Þ¤¿¤Ï Èó public) ¤¬´Þ¤Þ¤ì¤ë¤Û¤«¡¢ \f2readObject\fP ¥á¥½¥Ã¥É¤ä \f2writeObject\fP ¥á¥½¥Ã¥É¡¢Ä¾Î󲽤µ¤ì¤ë¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó \f2@serial\fP¡¢\f2@serialField\fP¡¢\f2@serialData\fP ¥¿¥°¤«¤é¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤â´Þ¤Þ¤ì¤Þ¤¹¡£public ľÎó²½²Äǽ¥¯¥é¥¹¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤ò \f2@serial exclude\fP ¤Ç¥Þ¡¼¥¯¤·¤Þ¤¹¡£package\-private ľÎó²½²Äǽ¥¯¥é¥¹¤ò´Þ¤á¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤ò \f2@serial include\fP ¤Ç¥Þ¡¼¥¯¤·¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 1.4 ¤Ç¤Ï \f2\-private\fP ¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ê¤·¤Ç javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢public ¥¯¥é¥¹¤ª¤è¤Ó private ¥¯¥é¥¹¤Î´°Á´¤ËľÎ󲽤µ¤ì¤¿¥¯¥é¥¹¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3º÷°ú\fP (\f2index\-*.html\fP)¡£¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤Î̾Á°¤¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤó¤Ç¤¤¤Þ¤¹¡£º÷°ú¤Ï¡¢Unicode ¤ò°·¤¨¤ë¤è¤¦¤Ë¹ñºÝ²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤â¡¢ÀèÆ¬Ê¸»ú (±Ñ¸ì¤Î¾ì¹ç A ¢· Z) ¤´¤È¤ËÊÌ¡¹¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +µ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ú¡¼¥¸(package\-summary\&.html)¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ëpackage\&.html¤Þ¤¿¤Ïpackage\-info\&.java¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ëÆâ¤ÎHTML¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤ÆÁÈ¤ßÆþ¤ì¤Þ¤¹¡£ .RE -.LP -\f3¥µ¥Ý¡¼¥È¥Õ¥¡¥¤¥ë\fP -.RS 3 -.TP 2 -o -\f3¥Ø¥ë¥×¥Ú¡¼¥¸\fP (\f2help\-doc.html\fP)¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤äÁ°½Ò¤Î³Æ¥Ú¡¼¥¸¤Ë´Ø¤¹¤ëÀâÌÀ¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ËÂå¤ï¤ëÆÈ¼«¤Î¥«¥¹¥¿¥à¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢\f2\-helpfile\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.TP 2 -o -ɽ¼¨ÍѤΠHTML ¥Õ¥ì¡¼¥à¤òºîÀ®¤¹¤ë 1 ¤Ä¤Î \f3index.html ¥Õ¥¡¥¤¥ë\fP¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Õ¥ì¡¼¥àÉÕ¤­¤ÎÀèÆ¬¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¾ì¹ç¤Ë¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¼«ÂΤˤϡ¢¥Æ¥­¥¹¥ÈÆâÍÆ¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ -.TP 2 -o -Ê£¿ô¤Î\f3¥Õ¥ì¡¼¥à¥Õ¥¡¥¤¥ë\fP (\f2*\-frame.html\fP)¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£HTML ¥Õ¥ì¡¼¥à¤òɽ¼¨¤¹¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È\fP¥Õ¥¡¥¤¥ë (\f2package\-list\fP)¡£ \f2\-link\fP ¤ª¤è¤Ó \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢HTML ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¤É¤Î¥ê¥ó¥¯¤«¤é¤â¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¡£ -.TP 2 -o -\f3¥¹¥¿¥¤¥ë¥·¡¼¥È\fP¥Õ¥¡¥¤¥ë (\f2stylesheet.css\fP)¡£À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¾å¤Î¤¤¤¯¤Ä¤«¤ÎÍ×ÁǤˤĤ¤¤Æ¡¢¿§¡¢¥Õ¥©¥ó¥È¥Õ¥¡¥ß¥ê¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¡¢¥Õ¥©¥ó¥È¤Î¥¹¥¿¥¤¥ë¡¢¤ª¤è¤ÓÇÛÃÖ¤òÀ©¸æ¤·¤Þ¤¹¡£ -.TP 2 -o -\f3doc\-files\fP ¥Ç¥£¥ì¥¯¥È¥ê¡£À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤¹¤ë¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¡¢¥½¡¼¥¹¥³¡¼¥É¤Ê¤É¤Î¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤Ê¤¤¤¿¤á¡¢¥Õ¥¡¥¤¥ëÆâ¤Ë £êavadoc ¥¿¥°¤¬¤¢¤Ã¤Æ¤â̵»ë¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤ÎÃæ¤Ë¤¢¤ë¾ì¹ç¤Ë¤Î¤ßÀ¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ1¤Ä¤Î³µÍ×¥Ú¡¼¥¸(overview\-summary\&.html)¡£³µÍ×¥Ú¡¼¥¸¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤ÎÀèÆ¬¥Ú¡¼¥¸¤Ë¤Ê¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI\-overview\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤ÎHTML¥Æ¥­¥¹¥È¤ò¤¹¤Ù¤ÆÁÈ¤ßÆþ¤ì¤Þ¤¹¡£³µÍ×¥Ú¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Î¤ß¤Ç¤¹¡£HTML¥Õ¥ì¡¼¥à¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE -.LP -\f3HTML ¥Õ¥ì¡¼¥à\fP -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢²¼¤Î¿Þ¤Ë¼¨¤¹¤è¤¦¤Ë¡¢2 ¢· 3 ¤Ä¤Î HTML ¥Õ¥ì¡¼¥à¤òÀ¸À®¤·¤Þ¤¹¡£1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤·¤«¤Ê¤¤¾ì¹ç (¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤¬¤Ê¤¤¾ì¹ç) ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÍ÷¤ò¾Êά¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆºÇÄã¸ÂɬÍפʿô¤Î¥Õ¥ì¡¼¥à¤òºîÀ®¤·¤Þ¤¹¡£Ã±°ì¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë°¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë (*.java) ¤Þ¤¿¤Ïñ°ì¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò°ú¿ô¤È¤·¤Æ javadoc ¥³¥Þ¥ó¥É¤ËÅϤ¹¾ì¹ç¤Ï¡¢º¸Â¦¤ÎÎó¤Ë¥¯¥é¥¹¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¥Õ¥ì¡¼¥à (C) 1 ¤Ä¤À¤±¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£Javadoc ¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Ï¡¢³µÍ×¥Ú¡¼¥¸ (Detail) ¤Ë²Ã¤¨¤Æ¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò°ìÍ÷ɽ¼¨¤¹¤ëÂè 3 ¤Î¥Õ¥ì¡¼¥à (P) ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤Î³µÍ×¥Ú¡¼¥¸¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ \f2overview\-summary.html ¤Ç¤¹\fP¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Ë¤À¤±ºîÀ®¤µ¤ì¤Þ¤¹¡£¡Ö¥Õ¥ì¡¼¥à¤Ê¤·¡×¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤«¡¢overview\-summary.html ¤òºÇ½é¤Ëɽ¼¨¤¹¤ë¤È¡¢¥Õ¥ì¡¼¥à¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ -.LP -HTML ¥Õ¥ì¡¼¥à¤Ë´·¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ÆÃÄê¤Î¥Õ¥ì¡¼¥à¤ò°õºþ¤ª¤è¤Ó¥¹¥¯¥í¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥ì¡¼¥à¤Ë¡Ö¥Õ¥©¡¼¥«¥¹¡×¤¬¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Õ¥ì¡¼¥à¤Ë¥Õ¥©¡¼¥«¥¹¤òÍ¿¤¨¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥ì¡¼¥à¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢Â¿¤¯¤Î¥Ö¥é¥¦¥¶¤Ç¤Ï¡¢Ìð°õ¥­¡¼¤ä¥Ú¡¼¥¸¥­¡¼¤ò»È¤Ã¤Æ¤½¤Î¥Õ¥ì¡¼¥à¤ò¥¹¥¯¥í¡¼¥ë¤·¤¿¤ê¡¢¡Ö°õºþ¡×¥á¥Ë¥å¡¼¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤½¤Î¥Õ¥ì¡¼¥à¤ò°õºþ¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£ -.LP -HTML ¥Õ¥ì¡¼¥à¤¬É¬Íפ«¤É¤¦¤«¤Ë¤è¤Ã¤Æ¡¢¼¡¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò³«»Ï¥Ú¡¼¥¸¤È¤·¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2index.html\fP (¥Õ¥ì¡¼¥à¤¢¤ê) -.TP 2 -o -\f2overview\-summary.html\fP (¥Õ¥ì¡¼¥à¤Ê¤·) +.SS "Áê¸ß»²¾È¥Ú¡¼¥¸" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ1¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸(overview\-tree\&.html)¡£³¬ÁØ¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¡Ö³µÍספò¥¯¥ê¥Ã¥¯¤·¤Æ¤«¤é¡¢¡Ö³¬Áإĥ꡼¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ .RE -.LP -\f3À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¹½Â¤\fP -.LP -À¸À®¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê³¬ÁؤËÊÔÀ®¤µ¤ì¤Þ¤¹¡£1 ¤Ä¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤­ 1 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¢¤È¤¤¤¦¹½Â¤¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢ \f2java.applet.Applet\fP ¥¯¥é¥¹ÍѤËÀ¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ï¡¢ \f2java/applet/Applet.html\fP ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£À¸À®Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤¬ \f2apidocs\fP ¤À¤È¤¹¤ë¤È¡¢java.applet ¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥¡¥¤¥ë¹½Â¤¤Ï¡¢¤½¤Î²¼¤Ë¹½ÃÛ¤µ¤ì¤Þ¤¹¡£Á°½Ò¤Î¤è¤¦¤Ë¡¢¡Öframe¡×¤È¤¤¤¦¸ì¤ò̾Á°¤Ë´Þ¤à¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æº¸¾å¤Þ¤¿¤Ïº¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î HTML ¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æ±¦Â¦¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -Ãí \- ²¼¤Î³¬Áؿޤǡ¢¥Ç¥£¥ì¥¯¥È¥ê¤Ï\f3ÂÀ»ú\fP (bold) ¤Ç¼¨¤·¤Æ¤¢¤ê¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯ (\f2*\fP) ¤Ï¡¢javadoc ¤Ø¤Î°ú¿ô¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ (*.java) ¤Ç¤¢¤ë¾ì¹ç¤Ë¾Êά¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢°ú¿ô¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¡¢ \f2package\-list\fP ¤ÏºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤ÎÃæ¿È¤Ï¶õ¤Ç¤¹¡£doc\-files ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Î¤ß¡¢À¸À®Àè¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸(package\-tree\&.html)¡£³¬ÁØ¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸¤Ë°Üư¤·¡¢¡Ö³¬Áإĥ꡼¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î³¬Áؤòɽ¼¨¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤Ä¤Î»ÈÍÑ¥Ú¡¼¥¸(package\-use\&.html)¤È¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤´¤È¤Ë1¤Ä¤º¤Ä¤Î»ÈÍÑ¥Ú¡¼¥¸(class\-use/classname\&.html)¡£»ÈÍÑ¥Ú¡¼¥¸¤Ç¤Ï¡¢»ØÄꤷ¤¿¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤ò»ÈÍѤ·¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æµ­½Ò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹A¤òÎã¤Ë¤¹¤ë¤È¡¢¤½¤Î»ÈÍÑ¥Ú¡¼¥¸¤Ë¤Ï¡¢A¤Î¥µ¥Ö¥¯¥é¥¹¡¢A¤È¤·¤ÆÀë¸À¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¡¢A¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢A·¿¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¤¬ÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£»ÈÍÑ¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë°Üư¤·¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¡Ö»ÈÍѡץê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤¹¤Ù¤Æ¤ÎÈó¿ä¾©API¤È¤½¤Î¿ä¾©¤¹¤ëÂåÂØ¤ò¥ê¥¹¥È¤¹¤ëÈó¿ä¾©API¥Ú¡¼¥¸(deprecated\-list\&.html)¡£Èó¿ä¾©API¤Ï¾­Íè¤Î¼ÂÁõ¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Äê¿ô¥Õ¥£¡¼¥ë¥É¤ÎÃÍÍѤÎÄê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ¥Ú¡¼¥¸(constant\-values\&.html)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ľÎ󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸(serialized\-form\&.html)¡£¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤ÎÀâÌÀ¤ò´Þ¤à¡¢Ä¾Îó²½²Äǽ¤«¤Ä³°Éô²½²Äǽ¤Ê¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊóÍѤΥڡ¼¥¸¤Ç¤¹¡£¤³¤Î¥Ú¡¼¥¸Æâ¤Î¾ðÊó¤Ï¡¢API¤ò»ÈÍѤ¹¤ë³«È¯¼Ô¤Ç¤Ï¤Ê¤¯¡¢ºÆ¼ÂÁõ¼Ô¤ËɬÍפʾðÊó¤Ç¤¹¡£Ä¾Î󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿¥¯¥é¥¹¤Ë°Üư¤·¤Æ¡¢¤½¤Î¥¯¥é¥¹¡¦¥³¥á¥ó¥È¤Ë¤¢¤ë¡Ö´ØÏ¢¹àÌܡץ»¥¯¥·¥ç¥ó¤Ç¡ÖľÎ󲽤µ¤ì¤¿·Á¼°¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ÏľÎ󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢Serializable¤ò¼ÂÁõ¤¹¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹(public¤Þ¤¿¤ÏÈópublic)¤¬¡¢¤½¤Î\fIreadObject\fR¤ä\fIwriteObject\fR¥á¥½¥Ã¥É¡¢Ä¾Î󲽤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó\fI@serial\fR¡¢\fI@serialField\fR¡¢\fI@serialData\fR¥¿¥°¤«¤é¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤È¤È¤â¤Ë¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£Ä¾Îó²½²Äǽ¤Êpublic¥¯¥é¥¹¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹(¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸)¤ò\fI@serial\fR +exclude¤Ç¥Þ¡¼¥¯¤·¤Þ¤¹¡£Ä¾Îó²½²Äǽ¤Êpackage\-private¥¯¥é¥¹¤ò´Þ¤á¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹(¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸)¤ò\fI@serial\fR +include¤Ç¥Þ¡¼¥¯¤·¤Þ¤¹¡£¥ê¥ê¡¼¥¹1\&.4¤Ç¤Ï¡¢\fI\-private\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢public¥¯¥é¥¹¤ª¤è¤Óprivate¥¯¥é¥¹¤Î´°Á´¤ËľÎ󲽤µ¤ì¤¿·Á¼°¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +º÷°ú¥Ú¡¼¥¸(\fIindex\-*\&.html\fR)¡£¤¹¤Ù¤Æ¤Î¥¯¥é¥¹Ì¾¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¡¢¥³¥ó¥¹¥È¥é¥¯¥¿Ì¾¡¢¥Õ¥£¡¼¥ë¥É̾¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É̾¤¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤó¤Ç¤¤¤Þ¤¹¡£º÷°ú¥Ú¡¼¥¸¤Ï¡¢Unicode¤ò°·¤¨¤ë¤è¤¦¤Ë¹ñºÝ²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£1¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤â¡¢ÀèÆ¬Ê¸»ú(±Ñ¸ì¤Î¾ì¹çA\(enZ)¤´¤È¤ËÊÌ¡¹¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.RE +.SS "¥µ¥Ý¡¼¥È¡¦¥Ú¡¼¥¸" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ø¥ë¥×¡¦¥Ú¡¼¥¸(help\-doc\&.html)¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤äÁ°½Ò¤Î³Æ¥Ú¡¼¥¸¤Ë´Ø¤¹¤ëÀâÌÀ¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ë¤òÆÈ¼«¤Î¥«¥¹¥¿¥à¡¦¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ë¤Ç¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ë¤Ë¤Ï¡¢\fI\-helpfile\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ɽ¼¨ÍѤÎHTML¥Õ¥ì¡¼¥à¤òºîÀ®¤¹¤ë1¤Ä¤Îindex\&.html¥Õ¥¡¥¤¥ë¡£¥Õ¥ì¡¼¥àÉÕ¤­¤ÎÀèÆ¬¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¤Ë¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹¡£index\&.html¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Æ¥­¥¹¥È¡¦¥³¥ó¥Æ¥ó¥Ä¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Ê£¿ô¤Î¥Õ¥ì¡¼¥à¡¦¥Õ¥¡¥¤¥ë(\fI*\-frame\&.html\fR)¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Õ¥ì¡¼¥à¡¦¥Õ¥¡¥¤¥ë¤ÏHTML¥Õ¥ì¡¼¥à¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¡¦¥Õ¥¡¥¤¥ë(package\-list)¡£\fI\-link\fR¤ª¤è¤Ó\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ï¥Æ¥­¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¤É¤Î¥ê¥ó¥¯¤«¤é¤â¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¹¥¿¥¤¥ë¥·¡¼¥È¡¦¥Õ¥¡¥¤¥ë(stylesheet\&.css)¡£À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤Î°ìÉô¤ÎÍ×ÁǤˤĤ¤¤Æ¿§¡¢¥Õ¥©¥ó¥È¡¦¥Õ¥¡¥ß¥ê¡¢¥Õ¥©¥ó¥È¡¦¥µ¥¤¥º¡¢¥Õ¥©¥ó¥È¡¦¥¹¥¿¥¤¥ë¡¢¤ª¤è¤ÓÇÛÃÖ¤òÀ©¸æ¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +doc\-files¥Ç¥£¥ì¥¯¥È¥ê¡£°¸Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤¹¤ë¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¡¦¥³¡¼¥É¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Ê¤É¤Î¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤ÎÃæ¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Î¤ß½èÍý¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "HTML¥Õ¥ì¡¼¥à" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤¿Ãͤ˴ð¤Å¤­¡¢ºÇ¾®¸ÂɬÍפʿô(2¤Þ¤¿¤Ï3)¤Î¥Õ¥ì¡¼¥à¤òÀ¸À®¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë°ú¿ô¤È¤·¤Æ1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÅϤ¹¾ì¹ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¤¬¾Êά¤µ¤ì¤Þ¤¹¡£¤½¤Î¤«¤ï¤ê¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ïº¸Â¦¤ÎÎó¤Ë1¤Ä¤Î¥Õ¥ì¡¼¥à¤òºîÀ®¤·¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£Ê£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥ê¥¹¥È¤¹¤ëÂè3¤Î¥Õ¥ì¡¼¥à¤È³µÍ×¥Ú¡¼¥¸(overview\-summary\&.html)¤òºîÀ®¤·¤Þ¤¹¡£¥Õ¥ì¡¼¥à¤ò¾Êά¤¹¤ë¤Ë¤Ï¡¢¡Ö¥Õ¥ì¡¼¥à¤Ê¤·¡×¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤«¡¢overview\-summary\&.html¥Ú¡¼¥¸¤«¤é¥Ú¡¼¥¸¡¦¥»¥Ã¥È¤òɽ¼¨¤·¤Þ¤¹¡£ +.SS "À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¹½Â¤" +.PP +À¸À®¤µ¤ì¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê³¬ÁؤËÊÔÀ®¤µ¤ì¤Þ¤¹¡£1¤Ä¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤­1¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¢¤È¤¤¤¦¹½Â¤¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢\fIjava\&.applet\&.Applet\fR¥¯¥é¥¹ÍѤËÀ¸À®¤µ¤ì¤ë¥É¥­¥å¥á¥ó¥È¤Ï¡¢java/applet/Applet\&.html¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.PP +À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤¬\fIapidocs\fR¤À¤È¤¹¤ë¤È¡¢\fIjava\&.applet\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥¡¥¤¥ë¤Î¹½Â¤¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£Á°½Ò¤Î¤è¤¦¤Ë¡¢\fIframe\fR¤È¤¤¤¦¸ì¤ò̾Á°¤Ë´Þ¤à¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æº¸¾å¤Þ¤¿¤Ïº¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤ÎHTML¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æ±¦Â¦¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.PP +¥Ç¥£¥ì¥¯¥È¥ê¤ÏÂÀ»ú¤Ç¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ø¤Î°ú¿ô¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë¾ì¹ç¤Ë¾Êά¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£°ú¿ô¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¡¢¶õ¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£doc\-files¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼Æâ¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Î¤ß¡¢À¸À®Àè¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBapidocs\fR: ºÇ¾å°Ì¥ì¥Ù¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +index\&.html: HTML¥Õ¥ì¡¼¥à¤òÀßÄꤹ¤ë½é´ü¥Ú¡¼¥¸ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +*overview\-summary\&.html: ¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤È¥µ¥Þ¥ê¡¼ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +overview\-tree\&.html: ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁØ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +deprecated\-list\&.html: ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÈó¿ä¾©API +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +constant\-values\&.html: ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÅŪ¥Õ¥£¡¼¥ë¥ÉÃÍ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +serialized\-form\&.html: ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎľÎ󲽤µ¤ì¤¿¥Õ¥©¡¼¥à +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +*overview\-frame\&.html: º¸¾å¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤¹¤ë¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +allclasses\-frame\&.html: º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤¹¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +help\-doc\&.html: Javadoc¥Ú¡¼¥¸¤ÎÊÔÀ®¤Ë´Ø¤¹¤ë¥Ø¥ë¥× +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +index\-all\&.html: +\fI\-splitindex\fR¥ª¥×¥·¥ç¥ó¤Ê¤·¤ÇºîÀ®¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥È¤Îº÷°ú +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBindex\-files\fR: +\fI\-splitindex\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +index\-<number>\&.html: +\fI\-splitindex\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿º÷°ú¥Õ¥¡¥¤¥ë +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-list: ³°Éô»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +stylesheet\&.css: ¥Õ¥©¥ó¥È¡¢¿§¡¢°ÌÃ֤ʤɤòÄêµÁ¤·¤Þ¤¹ +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBjava\fR: ¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBapplet\fR: ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Applet\&.html: +\fIApplet\fR¥¯¥é¥¹¡¦¥Ú¡¼¥¸ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +AppletContext\&.html: +\fIAppletContext\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +AppletStub\&.html: +\fIAppletStub\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +AudioClip\&.html: +\fIAudioClip\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-summary\&.html: ¥¯¥é¥¹¤È¥µ¥Þ¥ê¡¼ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-frame\&.html: º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¡¦¥¯¥é¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-tree\&.html: ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁØ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +package\-use\&.html: ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬»ÈÍѤµ¤ì¤ë¾ì½ê +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBdoc\-files\fR: ¥¤¥á¡¼¥¸¤ª¤è¤Ó¥µ¥ó¥×¥ë¡¦¥Õ¥¡¥¤¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBclass\-use\fR: ¥¤¥á¡¼¥¸¤ª¤è¤Ó¥µ¥ó¥×¥ë¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê +.sp +\- Applet\&.html: Applet¥¯¥é¥¹¤Î»ÈÍÑ +.sp +\- AppletContext\&.html: +\fIAppletContext\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍÑ +.sp +\- AppletStub\&.html: +\fIAppletStub\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍÑ +.sp +\- AudioClip\&.html: +\fIAudioClip\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍÑ +.RE +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBsrc\-html\fR: ¥½¡¼¥¹¡¦¥³¡¼¥É¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBjava\fR: ¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBapplet\fR: ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê +.sp +\- Applet\&.html: Applet¥½¡¼¥¹¡¦¥³¡¼¥É +.sp +\- AppletContext\&.html: +\fIAppletContext\fR¥½¡¼¥¹¡¦¥³¡¼¥É +.sp +\- AppletStub\&.html: +\fIAppletStub\fR¥½¡¼¥¹¡¦¥³¡¼¥É +.sp +\- AudioClip\&.html: +\fIAudioClip\fR¥½¡¼¥¹¡¦¥³¡¼¥É +.RE +.RE +.RE +.SS "À¸À®¤µ¤ì¤ëAPIÀë¸À" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤Îµ­½Ò¤ÎºÇ½é¤Ë¡¢¤½¤ÎAPIÍѤÎÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIBoolean\fR¥¯¥é¥¹¤ÎÀë¸À¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - -.fl -\fP\f3apidocs\fP ºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê -.fl - index.html HTML ¥Õ¥ì¡¼¥à¤òÀßÄꤹ¤ë½é´ü¥Ú¡¼¥¸ -.fl - * overview\-summary.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡£ÀèÆ¬Ê¸¤Ë¤è¤ëÍ×ÌóÉÕ¤­ -.fl - overview\-tree.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁؤΥꥹ¥È -.fl - deprecated\-list.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎÈó¿ä¾© API ¤Î¥ê¥¹¥È -.fl - constant\-values.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î static ¥Õ¥£¡¼¥ë¥É¤ÎÃͤΥꥹ¥È -.fl - serialized\-form.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎľÎ󲽤µ¤ì¤¿·Á¼°¤Î¥ê¥¹¥È -.fl - * overview\-frame.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡£º¸¾å¤Î¥Õ¥ì¡¼¥à¤Ç»ÈÍѤµ¤ì¤ë -.fl - allclasses\-frame.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎÁ´¥¯¥é¥¹¤Î¥ê¥¹¥È¡£º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ç»ÈÍѤµ¤ì¤ë -.fl - help\-doc.html ¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Î¹½À®¤ò¼¨¤¹¥æ¡¼¥¶¡¼¥Ø¥ë¥×¤Î¥ê¥¹¥È -.fl - index\-all.html \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤ËºîÀ®¤µ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Îº÷°ú -.fl - \f3index\-files\fP \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ËºîÀ®¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê -.fl - index\-<number>.html \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ËºîÀ®¤µ¤ì¤ëº÷°ú¥Õ¥¡¥¤¥ë -.fl - package\-list ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥ê¥¹¥È¡£³°Éô»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤµ¤ì¤ë -.fl - stylesheet.css ¥Õ¥©¥ó¥È¡¢¿§¡¢ÇÛÃÖ¤òÄêµÁ¤¹¤ë HTML ¥¹¥¿¥¤¥ë¥·¡¼¥È -.fl - \f3java\fP ¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê -.fl - \f3applet\fP ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê -.fl - Applet.html Applet ¥¯¥é¥¹¤Î¥Ú¡¼¥¸ -.fl - AppletContext.html AppletContext ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸ -.fl - AppletStub.html AppletStub ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸ -.fl - AudioClip.html AudioClip ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸ -.fl - * package\-summary.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤Î¥ê¥¹¥È¡£ÀèÆ¬Ê¸¤Ë¤è¤ëÍ×ÌóÉÕ¤­ -.fl - * package\-frame.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤Î¥ê¥¹¥È¡£º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ç»ÈÍѤµ¤ì¤ë -.fl - * package\-tree.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁؤΥꥹ¥È -.fl - package\-use ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¥ê¥¹¥È -.fl - \f3doc\-files\fP ²èÁü¤ä¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê -.fl - \f3class\-use\fP API ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¥Ú¡¼¥¸¤òÊÝ»ý¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê -.fl - Applet.html Applet ¥¯¥é¥¹¤Î»ÈÍѤ˴ؤ¹¤ë¥Ú¡¼¥¸ -.fl - AppletContext.html AppletContext ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍѤ˴ؤ¹¤ë¥Ú¡¼¥¸ -.fl - AppletStub.html AppletStub ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍѤ˴ؤ¹¤ë¥Ú¡¼¥¸ -.fl - AudioClip.html AudioClip ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î»ÈÍѤ˴ؤ¹¤ë¥Ú¡¼¥¸ -.fl - \f3src\-html\fP ¥½¡¼¥¹¥³¡¼¥É¥Ç¥£¥ì¥¯¥È¥ê -.fl - \f3java\fP ¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê -.fl - \f3applet\fP ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê -.fl - Applet.html Applet ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸ -.fl - AppletContext.html AppletContext ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸ -.fl - AppletStub.html AppletStub ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸ -.fl - AudioClip.html AudioClip ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸ -.fl +public final class Boolean +extends Object +implements Serializable .fi -.SS -À¸À®¤µ¤ì¤ë API Àë¸À -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤ÎÀâÌÀ¤ÎºÇ½é¤Ë¡¢¤½¤Î API ÍѤÎÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Boolean\fP ¥¯¥é¥¹¤ÎÀë¸À¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f2public final class Boolean\fP -.br -\f2extends Object\fP -.br -\f2implements Serializable\fP -.LP -¤Þ¤¿¡¢ \f2Boolean.valueOf\fP ¥á¥½¥Ã¥É¤ÎÀë¸À¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f2public static Boolean valueOf(String s)\fP -.LP -Javadoc ¥Ä¡¼¥ë¤Ç¤Ï¡¢½¤¾þ»Ò \f2public\fP¡¢ \f2protected\fP¡¢ \f2private\fP¡¢ \f2abstract\fP¡¢ \f2final\fP¡¢ \f2static\fP¡¢ \f2transient\fP¡¢¤ª¤è¤Ó \f2volatile\fP ¤ÏÁȤ߹þ¤á¤Þ¤¹¤¬¡¢ \f2synchronized\fP ¤È \f2native\fP ¤ÏÁȤ߹þ¤á¤Þ¤»¤ó¡£¤³¤ì¤é¸å¼Ô¤Î 2 ¤Ä¤Î½¤¾þ»Ò¤Ï¡¢¼ÂÁõ¤Î¾ÜºÙ¤È¸«¤Ê¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢API »ÅÍͤˤϴޤޤì¤Þ¤»¤ó¡£ -.LP -API ¤Ç¤Ï¡¢Ê¹ÔÀ­¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë¤Ä¤¤¤Æ¡¢¥­¡¼¥ï¡¼¥É \f2synchronized\fP ¤Ë°Í¸¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥³¥á¥ó¥È¤Î¼çÀâÌÀ¤È¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤¹¤Ù¤­¤Ç¤¹¡£ \f2¤¿¤È¤¨¤Ð¡¢¡Ö1 ¤Ä¤Î Enumeration ¤ò\fP Ê£¿ô¤Î¥¹¥ì¥Ã¥É¤«¤éʹԤ·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡×¤Ê¤É¤Èµ­½Ò¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤³¤ì¤é¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤ò¼Â¸½¤¹¤ëÊýË¡¤òµ­½Ò¤¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2Hashtable\fP ¤Ï¥¹¥ì¥Ã¥É¤ËÂФ·¤Æ°ÂÁ´¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¡Ö¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤òƱ´ü²½¤¹¤ì¤Ð¤½¤ì¤ò¼Â¸½¤Ç¤­¤ë¡×¤Î¤è¤¦¤Ë¤Ï»ØÄꤹ¤ëº¬µò¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Ð¥±¥Ã¥È¥ì¥Ù¥ë¤ÇÆâÉôŪ¤ËƱ´ü²½¤¹¤ë¸¢Íø¤ò»Ä¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤¹¤ì¤Ð¡¢¤è¤ê¹âÅÙ¤ÊʹÔÀ­¤¬Ä󶡤µ¤ì¤Þ¤¹¡£ -.SH "¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È" -.LP -¥ª¥ê¥¸¥Ê¥ë¤Î¡Ö¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î»ÅÍ͡פϡ¢¡Ö´ØÏ¢¹àÌܡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SS -¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥³¥á¥ó¥È¤ÎÁÞÆþ -.LP -¥½¡¼¥¹¥³¡¼¥É¤ÎǤ°Õ¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À¤ÎÁ°¤Ë¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È ("doc comments") ¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¹½Ê¸¤Ï¼ã´³°Û¤Ê¤ê¤Þ¤¹¤¬¡¢³µÍפˤâ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢Èó¸ø¼°¤Ë¡ÖJavadoc ¥³¥á¥ó¥È¡×¤È¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹ (¤³¤ÎÍѸì¤Ï¾¦É¸´ØÏ¢¤Î»ÈÍÑË¡¤Ë°ãÈ¿)¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢¥³¥á¥ó¥È¤ò»Ï¤Þ¤ê¤ò¼¨¤¹Ê¸»úÎó \f2/**\fP ¤È¡¢¥³¥á¥ó¥È¤ò½ª¤ï¤ê¤ò¼¨¤¹Ê¸»úÎó \f2*/\fP ¤Î´Ö¤Ë¤¢¤ëʸ»ú¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£¹Ô¤ÎÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢³Æ¹Ô¤Ëµ­½Ò¤Ç¤­¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢°Ê²¼¤ÇÀâÌÀ¤·¤Þ¤¹¡£¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIBoolean\&.valueOf\fR¥á¥½¥Ã¥É¤ÎÀë¸À¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +public static Boolean valueOf(String s) +.fi +.if n \{\ +.RE +.\} +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢½¤¾þ»Ò\fIpublic\fR¡¢\fIprotected\fR¡¢\fIprivate\fR¡¢\fIabstract\fR¡¢\fIfinal\fR¡¢\fIstatic\fR¡¢\fItransient\fR¡¢¤ª¤è¤Ó\fIvolatile\fR¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢\fIsynchronized\fR¤ª¤è¤Ó\fInative\fR¤Ï¤Ç¤­¤Þ¤»¤ó¡£\fIsynchronized\fR¤ª¤è¤Ó\fInative\fR½¤¾þ»Ò¤Ï¡¢¼ÂÁõ¤Î¾ÜºÙ¤È¤ß¤Ê¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢API»ÅÍͤˤϴޤޤì¤Þ¤»¤ó¡£ +.PP +API¤Ç¤Ï¡¢Ê¹ÔÀ­¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë¤Ä¤¤¤Æ¡¢¥­¡¼¥ï¡¼¥É\fIsynchronized\fR¤Ë°Í¸¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥³¥á¥ó¥È¤Î¼çÀâÌÀ¤È¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¡Ö1¤Ä¤Îenumeration¤òÊ£¿ô¤Î¥¹¥ì¥Ã¥É¤«¤éʹԤ·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡×¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤³¤ì¤é¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤ò¼Â¸½¤¹¤ëÊýË¡¤òµ­½Ò¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢\fIHashtable\fR¥ª¥×¥·¥ç¥ó¤Ï¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¡Ö¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤òƱ´ü²½¤·¤Æ¤½¤ì¤ò¼Â¸½¤¹¤ë¡×¤Î¤è¤¦¤Ë»ØÄꤹ¤ëº¬µò¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤ê¹âÅÙ¤ÊʹÔÀ­¤Î¤¿¤á¤Ë¡¢¥Ð¥±¥Ã¥È¡¦¥ì¥Ù¥ë¤ÇÆâÉôŪ¤ËƱ´ü²½¤¹¤ë¸¢¸Â¤òÊÝÍ­¤·¤Æ¤ª¤¯¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.SH "¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È" +.PP +¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥³¥á¥ó¥È¤È¥³¥á¥ó¥È¤Î·Ñ¾µ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ +.SS "¥½¡¼¥¹¡¦¥³¡¼¥É¡¦¥³¥á¥ó¥È" +.PP +¥½¡¼¥¹¡¦¥³¡¼¥É¤ÎǤ°Õ¤Î¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À¤ÎÁ°¤Ë¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ë¤â¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¹½Ê¸¤Ï¼ã´³°Û¤Ê¤ê¤Þ¤¹¤¬¡¢³µÍפˤâ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï¡¢\fI/**\fR¤È¡¢½ª¤ï¤ê¤òɽ¤¹\fI*/\fR¤Î´Ö¤Ë¤¢¤ëʸ»ú¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£ÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï³Æ¹Ô¤Ç»ÈÍѤǤ­¡¢¼¡¤Î¹à¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl * This is the typical format of a simple documentation comment -.fl - * that spans two lines. -.fl + * that spans two lines\&. */ -.fl -\fP .fi -.LP -¼¡¤Î¤è¤¦¤Ë¤·¤Æ 1 ¹Ô¤Ëµ­½Ò¤¹¤ë¤È¡¢¥¹¥Ú¡¼¥¹¤òÀáÌó¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¥¹¥Ú¡¼¥¹¤òÀáÌ󤹤ë¤Ë¤Ï¡¢¥³¥á¥ó¥È¤ò1¹Ô¤ËÆþ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -/** This comment takes up only one line.*/ -.fl -\fP +/** This comment takes up only one line\&. */ .fi -.LP -\f3¥³¥á¥ó¥È¤ÎÇÛÃÖ\fP \- ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À¤ÎľÁ°¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤À¤±Ç§¼±¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¤ÎÎã¡¢¥á¥½¥Ã¥É¤ÎÎã¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥á¥½¥Ã¥É¤ÎËÜÂΤËÃÖ¤«¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£javadoc ¥Ä¡¼¥ë¤Ç¤Ï¡¢1 ¤Ä¤ÎÀë¸Àʸ¤Ë¤Ä¤­ 1 ¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤À¤±¤¬Ç§¼±¤µ¤ì¤Þ¤¹¡£ -.LP -¤è¤¯¤¢¤ë´Ö°ã¤¤¤Ï¡¢¥¯¥é¥¹¥³¥á¥ó¥È¤È¥¯¥é¥¹Àë¸À¤Î´Ö¤Ë \f2import\fP ʸ¤òÃÖ¤¤¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤¹¡£¤³¤Î¤è¤¦¤Êµ­½Ò¤Ï¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤Î¤è¤¦¤Ê¥¯¥é¥¹¥³¥á¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥á¥ó¥È¤ÎÇÛÃÖ.PP +¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥ÉÀë¸À¤ÎľÁ°¤ËÇÛÃÖ¤µ¤ì¤ë¾ì¹ç¤Ë¤Î¤ßǧ¼±¤µ¤ì¤Þ¤¹¡£¥á¥½¥Ã¥É¤ÎËÜÂΤËÃÖ¤«¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Àë¸Àʸ¤´¤È¤Ë1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤·¤«Ç§¼±¤·¤Þ¤»¤ó¡£¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¤è¤¯¤¢¤ë´Ö°ã¤¤¤Ï¡¢¥¯¥é¥¹¡¦¥³¥á¥ó¥È¤È¥¯¥é¥¹Àë¸À¤Î´Ö¤Ë\fIimport\fRʸ¤òÃÖ¤¤¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥¯¥é¥¹¡¦¥³¥á¥ó¥È¤ò̵»ë¤¹¤ë¤Î¤Ç¡¢\fIimport\fRʸ¤ò¤³¤Î¾ì½ê¤ËÇÛÃÖ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * This is the class comment for the class Whatever. -.fl - */ -.fl - -.fl - import com.sun; // MISTAKE \- Important not to put import statement here -.fl - -.fl - public class Whatever { -.fl - } -.fl -\fP -.fi -.LP -\f3¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¼çÀâÌÀ¤Î¤¢¤È¤Ë¥¿¥°¥»¥¯¥·¥ç¥ó¤¬Â³¤¯ \- ¥³¥á¥ó¥È¤Î³«»Ï¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë\fP \f2/**\fP ¤Î¤¢¤È¤«¤é¥¿¥°¥»¥¯¥·¥ç¥ó¤Þ¤Ç¤¬¼çÀâÌÀ¤Ë¤Ê¤ê¤Þ¤¹¡£¥¿¥°¥»¥¯¥·¥ç¥ó¤Ï¡¢¹Ô¤ÎÀèÆ¬¤Ë¤¢¤ëºÇ½é¤Î \f2@\fP ¤ÇÄêµÁ¤µ¤ì¤ëºÇ½é¤Î¥Ö¥í¥Ã¥¯¥¿¥°¤«¤é»Ï¤Þ¤ê¤Þ¤¹ (ÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇò¡¢ÀèÆ¬¤Î¶èÀÚ¤êʸ»ú \f2/**\fP ¤Ï½ü¤¯)¡£¼çÀâÌÀ¤òµ­½Ò¤»¤º¡¢¥¿¥°¥»¥¯¥·¥ç¥ó¤À¤±¤Î¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¼çÀâÌÀ¤Ï¡¢¥¿¥°¥»¥¯¥·¥ç¥ó°Ê¹ß¤Ë³¤±¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¥¿¥°¤Î°ú¿ô¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£²¿²ó¤âµ­½Ò¤Ç¤­¤ë¥¿¥°¤È¡¢1 ²ó¤·¤«µ­½Ò¤Ç¤­¤Ê¤¤¥¿¥°¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î \f2@see\fP ¤Ï¡¢¥¿¥°¥»¥¯¥·¥ç¥ó¤ò³«»Ï¤·¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl /** -.fl - * This sentence would hold the main description for this doc comment. -.fl - * @see java.lang.Object -.fl + * This is the class comment for the class Whatever\&. */ -.fl -\fP + +import com\&.example; // MISTAKE \- Important not to put import statement here + +public class Whatever{ } .fi -.LP -\f3¥Ö¥í¥Ã¥¯¥¿¥°¤È¥¤¥ó¥é¥¤¥ó¥¿¥°\fP \- \f2¡Ö¥¿¥°¡×\fP¤Ï¡¢Javadoc ¤¬½èÍý¤Ç¤­¤ë¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÎÆÃÊ̤ʥ­¡¼¥ï¡¼¥É¤Ç¤¹¡£¥¿¥°¤Ë¤Ï 2 ¼ïÎढ¤ê¤Þ¤¹¡£1 ¤Ä¤Ï @tag ¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¥Ö¥í¥Ã¥¯¥¿¥° \f2(¡Öɸ½à¥¿¥°¡×¤È¤â¸Æ¤Ð¤ì¤ë)¡¢\fP ¤â¤¦ 1 ¤Ä¤Ï {@tag} ¤Î¤è¤¦¤ËÃæ³ç¸Ì¤Ç°Ï¤Þ¤ì¤ë¥¤¥ó¥é¥¤¥ó¥¿¥° \f2¤Ç¤¹\fP¡£¥Ö¥í¥Ã¥¯¥¿¥°¤¬Àµ¤·¤¯²ò¼á¤µ¤ì¤ë¤¿¤á¤Ë¤Ï¡¢¹Ô¤ÎÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇò¡¢¶èÀÚ¤êʸ»ú (\f2/**\fP) ¤ò½ü¤¤¤Æ¡¢¹Ô¤ÎÀèÆ¬¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢ \f2@\fP ʸ»ú¤ò¥Æ¥­¥¹¥ÈÆâ¤ÎÊ̤ξì½ê¤Ç»ÈÍѤ·¤¿¾ì¹ç¤Ë¤Ï¥¿¥°¤Î³«»Ï¤È¤·¤Æ²ò¼á¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£¹Ô¤ÎÀèÆ¬¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¤â¤½¤ì¤¬²ò¼á¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£¡¼ \f2@\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Ö¥í¥Ã¥¯¥¿¥°¤Ë¤Ï¡¢ÂбþÉÕ¤±¤é¤ì¤¿¥Æ¥­¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢¥¿¥°¤Î¤¢¤È¤«¤é¡¢¼¡¤Î¥¿¥°¤ÎÁ°¡¢¤Þ¤¿¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎºÇ¸å¤Þ¤Ç¤Î´Ö¤Ëµ­½Ò¤µ¤ì¤¿¥Æ¥­¥¹¥È (¥¿¥°¤ä¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤ò½ü¤¯) ¤Ç¤¹¡£¤³¤Î´ØÏ¢¥Æ¥­¥¹¥È¤ÏÊ£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ï¡¢¥Æ¥­¥¹¥È¤òµ­½Ò¤Ç¤­¤ë¾ì½ê¤Ç¤¢¤ì¤Ð¤É¤³¤Ë¤Ç¤âÃÖ¤¯¤³¤È¤¬¤Ç¤­¡¢Àµ¤·¤¯²ò¼á¤µ¤ì¤Þ¤¹¡£¼¡¤ÎÎã¤Ë¤Ï¥Ö¥í¥Ã¥¯¥¿¥° \f2@deprecated\fP ¤È¥¤¥ó¥é¥¤¥ó¥¿¥° \f2{@link}\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥á¥ó¥È¤Î¥Ñ¡¼¥Ä.PP +¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤Ï¡¢¼çÀâÌÀ¤È¤½¤Î¸å¤Ë³¤¯¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¼çÀâÌÀ¤Ï¡¢³«»Ï¶èÀÚ¤êʸ»ú\fI/**\fR¤Ç»Ï¤Þ¤ê¡¢¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤Þ¤Ç³¤­¤Þ¤¹¡£¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤Ï¡¢ÀèÆ¬Ê¸»ú¤¬\fI@\fR¤Î¹Ô¤ÇÄêµÁ¤µ¤ì¤ëºÇ½é¤Î¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤«¤é»Ï¤Þ¤ê¤Þ¤¹(ÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇòʸ»ú¡¢ÀèÆ¬¤Î¶èÀÚ¤êʸ»ú\fI/**\fR¤Ï½ü¤¯)¡£¼çÀâÌÀ¤òµ­½Ò¤»¤º¡¢¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤Î¤ß¤Î¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¼çÀâÌÀ¤Ï¡¢¥¿¥°¡¦¥»¥¯¥·¥ç¥ó°Ê¹ß¤Ë³¤±¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¥¿¥°¤Î°ú¿ô¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£²¿²ó¤âµ­½Ò¤Ç¤­¤ë¥¿¥°¤È¡¢1²ó¤·¤«µ­½Ò¤Ç¤­¤Ê¤¤¥¿¥°¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î\fI@see\fR¥¿¥°¤«¤é¥¿¥°¡¦¥»¥¯¥·¥ç¥ó¤Ï»Ï¤Þ¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl - * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)} -.fl + * This sentence holds the main description for this documentation comment\&. + * @see java\&.lang\&.Object */ -.fl -\fP .fi -.LP -\f3¥³¥á¥ó¥È¤Ï HTML ¤Çµ­½Ò¤¹¤ë\fP \- ¥Æ¥­¥¹¥È¤Ï HTML ·Á¼°¤Çµ­½Ò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢HTML ¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ò»È¤¦É¬Íפ¬¤¢¤ë¤³¤È¡¢¤ª¤è¤Ó HTML ¥¿¥°¤ò»ÈÍѤǤ­¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£µ­½Ò¤¹¤ë HTML ¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤·¤Æ¤Ï¡¢»ÈÍѤ¹¤ë¥Ö¥é¥¦¥¶¤¬¥µ¥Ý¡¼¥È¤¹¤ëǤ°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥±¡¼¥Ç¥£¥ó¥°¥¹¥¿¥¤¥ë¥·¡¼¥È (CSS) ¤È¥Õ¥ì¡¼¥à¤ò´Þ¤á¡¢¤¹¤Ù¤Æ¤ÎÉôʬ (¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È°Ê³°¤ÎÉôʬ) ¤Ç HTML 3.2 ¤Ë½àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤¹¤ë¤è¤¦¤ËºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥Õ¥ì¡¼¥à¥»¥Ã¥ÈÂбþ¤Î¤¿¤á¡¢À¸À®¤µ¤ì¤ë³Æ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡ÖHTML 4.0¡×¤Èµ­½Ò¤µ¤ì¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢¤è¤ê¾®¤µ¤¤ (\f2<\fP) µ­¹æ¤ª¤è¤Ó¤è¤êÂ礭¤¤ (\f2>\fP) µ­¹æ¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ï¡¢ \f2<\fP ¤ª¤è¤Ó \f2>\fP ¤Èµ­½Ò¤¹¤Ù¤­¤Ç¤¹¡£Æ±Íͤˡ¢¥¢¥ó¥Ñ¥µ¥ó¥É (\f2&\fP) ¤Ï \f2&\fP ¤Èµ­½Ò¤¹¤Ù¤­¤Ç¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¥Ü¡¼¥ë¥É¤Î HTML ¥¿¥° \f2<b>\fP ¤¬¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥Ö¥í¥Ã¥¯¤ª¤è¤Ó¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°.PP +¥¿¥°¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬½èÍý¤¹¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤ÎÆÃ¼ì¤Ê¥­¡¼¥ï¡¼¥É¤Ç¤¹¡£¥¿¥°¤Ë¤Ï2¤Ä¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡£1¤Ä¤Ï\fI@tag\fR¥¿¥°¤Î¤è¤¦¤Ëɽµ­¤µ¤ì¤ë¥Ö¥í¥Ã¥¯¡¦¥¿¥°(¥¹¥¿¥ó¥É¥¢¥í¥ó¡¦¥¿¥°¤È¤â¸Æ¤Ð¤ì¤ë)¡¢¤â¤¦1¤Ä¤Ï\fI{@tag}\fR¥¿¥°¤Î¤è¤¦¤ËÃæ¥«¥Ã¥³¤Ç°Ï¤ó¤Çɽµ­¤µ¤ì¤ë¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤Ç¤¹¡£¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤¬²ò¼á¤µ¤ì¤ë¤Ë¤Ï¡¢¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇòʸ»ú¡¢¶èÀÚ¤êʸ»ú(\fI/**\fR)¤ò½ü¤¤¤Æ¡¢¹Ô¤ÎÀèÆ¬¤ËÃÖ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢\fI@\fRʸ»ú¤ò¥Æ¥­¥¹¥ÈÆâ¤ÎÊ̤ξì½ê¤Ç»ÈÍѤ·¤Æ¤â¡¢¥¿¥°¤Î³«»Ï¤È¤·¤Æ²ò¼á¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£\fI@\fRʸ»ú¤ò»ÈÍѤ·¤Æ¹Ô¤ò³«»Ï¤·¤Æ¤â¡¢¤½¤ì¤¬²ò¼á¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢HTML¥¨¥ó¥Æ¥£¥Æ¥£\fI@\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Ë¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Æ¥­¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢¥¿¥°¤Î¸å¤«¤é¡¢¼¡¤Î¥¿¥°¤ÎÁ°¡¢¤Þ¤¿¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ÎºÇ¸å¤Þ¤Ç¤Î´Ö¤Ëµ­½Ò¤µ¤ì¤¿¥Æ¥­¥¹¥È¤Ç¤¹(¥¿¥°¤Þ¤¿¤Ï¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤ò½ü¤¯)¡£¤³¤Î´ØÏ¢¥Æ¥­¥¹¥È¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤Ï¡¢¥Æ¥­¥¹¥È¤òµ­½Ò¤Ç¤­¤ë¾ì½ê¤Ç¤¢¤ì¤Ð¤É¤³¤Ë¤Ç¤âÃÖ¤¯¤³¤È¤¬¤Ç¤­¡¢²ò¼á¤µ¤ì¤Þ¤¹¡£¼¡¤ÎÎã¤Ë¤Ï¥Ö¥í¥Ã¥¯¡¦¥¿¥°\fI@deprecated\fR¤È¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°\fI{@link}\fR¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£javadoc¥¿¥°¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl - * This is a <b>doc</b> comment. -.fl - * @see java.lang.Object -.fl + * @deprecated As of JDK 1\&.1, replaced by {@link #setBounds(int,int,int,int)} */ -.fl -\fP .fi -.LP -\f3¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯\fP \- javadoc ¤Ë¤è¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î²òÀÏ»þ¤Ë¡¢³Æ¹Ô¤ÎÀèÆ¬¤Ë¤¢¤ë¥¢¥¹¥¿¥ê¥¹¥¯ (\f2*\fP) ʸ»ú¤ÏÇË´þ¤µ¤ì¤Þ¤¹¡£ºÇ½é¤Î¥¢¥¹¥¿¥ê¥¹¥¯ (\f2*\fP) ʸ»ú¤è¤êÁ°¤Ë¤¢¤ë¶õÇò¤ä¥¿¥Ö¤âÇË´þ¤µ¤ì¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 1.4 ¤«¤é¤Ï¡¢¹Ô¤ÎÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò¾Êά¤·¤Æ¤â¡¢ÀèÆ¬¤Î¶õÇòʸ»ú¤Ïºï½ü¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¥³¡¼¥ÉÎã¤òľÀܥɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î \f2<PRE>\fP ¥¿¥°Æâ¤Ë¥Ú¡¼¥¹¥È¤·¤Æ¤â¡¢¥¤¥ó¥Ç¥ó¥È¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£Ä̾¥Ö¥é¥¦¥¶¤Ï¡¢¶õÇòʸ»ú¤ò¥¿¥Ö¤è¤ê¤â°ìΧ¤Ë²ò¼á¤·¤Þ¤¹¡£¥¤¥ó¥Ç¥ó¥È¤Îµ¯ÅÀ¤Ïº¸¥Þ¡¼¥¸¥ó¤Ë¤Ê¤ê¤Þ¤¹ (¶èÀÚ¤êʸ»ú \f2/**\fP ¤Þ¤¿¤Ï \f2<PRE>\fP ¥¿¥°¤Ç¤Ï¤Ê¤¯)¡£ -.LP -\f3ºÇ½é¤Îʸ\fP \- ³Æ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤Ï¡¢Àë¸À¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ë´Ø¤¹¤ë´Ê·é¤«¤Ä´°Á´¤ÊÍ×Ìóʸ¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¡ÖºÇ½é¤Îʸ¡×¤Ï¡¢Ä¾¸å¤Ë¥¹¥Ú¡¼¥¹¡¢¥¿¥Ö¡¢¤Þ¤¿¤Ï²þ¹Ô¤¬Â³¤¯ºÇ½é¤Î¥Ô¥ê¥ª¥É (¥í¥±¡¼¥ë¤¬±Ñ¸ì¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç)¡¢¤Þ¤¿¤ÏºÇ½é¤Î¥¿¥°¤¬¤¢¤ë°ÌÃ֤ǽª¤ï¤ê¤Þ¤¹¡£ºÇ½é¤Îʸ¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ HTML ¥Ú¡¼¥¸¤ÎºÇ½é¤Ë¤¢¤ë¥á¥ó¥Ð¡¼¤Î³µÍפÎÉôʬ¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.LP -\f3Ê£¿ô¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À\fP \- Java ¤Ç¤Ï¡¢1 ¤Ä¤Îʸ¤ÇÊ£¿ô¤Î¥Õ¥£¡¼¥ë¥É¤òÀë¸À¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Îʸ¤Ë¤Ï¡¢1 ¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤·¤«µ­½Ò¤Ç¤­¤Þ¤»¤ó¡£¤½¤Î¥³¥á¥ó¥È¤¬¡¢¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Õ¥£¡¼¥ë¥É¤´¤È¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢³Æ¥Õ¥£¡¼¥ë¥É¤òÊÌ¡¹¤Îʸ¤ÇÀë¸À¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢1 ¤Ä¤ÎÀë¸À¤È¤·¤Æµ­½Ò¤¹¤ë¤ÈÉÔŬÀڤǤ¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Àë¸À¤ò 2 ¤Ä¤Ëʬ¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +HTML¤Ç¤Î¥³¥á¥ó¥È¤Îµ­½Ò.PP +¥Æ¥­¥¹¥È¤ÏHTML¥¨¥ó¥Æ¥£¥Æ¥£¤ÈHTML¥¿¥°¤ò»ÈÍѤ·¤ÆHTML¤Çµ­½Ò¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ÈÍѤ¹¤ë¥Ö¥é¥¦¥¶¤¬¥µ¥Ý¡¼¥È¤¹¤ëǤ°Õ¤ÎHTML¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥±¡¼¥Ç¥£¥ó¥°¡¦¥¹¥¿¥¤¥ë¡¦¥·¡¼¥È¤ª¤è¤Ó¥Õ¥ì¡¼¥à¤ò´Þ¤á¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È°Ê³°¤ÎÉôʬ¤ÇHTML 3\&.2¤Ë½àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£¥Õ¥ì¡¼¥à¡¦¥»¥Ã¥È¤Î¤¿¤á¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤ÏHTML 4\&.0¤¬¿ä¾©¤µ¤ì¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¤è¤ê¾®¤µ¤¤µ­¹æ(<)¤ª¤è¤Ó¤è¤êÂ礭¤¤µ­¹æ(>)¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢\fI<\fR¤ª¤è¤Ó\fI>\fR¤Èµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Æ±Íͤˡ¢¥¢¥ó¥Ñ¥µ¥ó¥É(&)¤Ï\fI&\fR¤Èµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢ÂÀ»ú¤ÎHTML¥¿¥°\fI<b>\fR¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * This is a <b>doc</b> comment\&. + * @see java\&.lang\&.Object + */ +.fi +.if n \{\ +.RE +.\} +ÀèÆ¬¤Î¥¢¥¹¥¿¥ê¥¹¥¯.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î²òÀÏ»þ¤Ë¡¢³Æ¹Ô¤ÎÀèÆ¬¤Ë¤¢¤ë¥¢¥¹¥¿¥ê¥¹¥¯(*)ʸ»ú¤ÏÇË´þ¤µ¤ì¤Þ¤¹¡£ºÇ½é¤Î¥¢¥¹¥¿¥ê¥¹¥¯(*)ʸ»ú¤è¤êÁ°¤Ë¤¢¤ë¶õÇò¤ä¥¿¥Ö¤âÇË´þ¤µ¤ì¤Þ¤¹¡£¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò¾Êά¤·¤¿¾ì¹ç¡¢¥¤¥ó¥Ç¥ó¥È¤òÊÝ»ý¤·¤¿¤Þ¤Þ¤Ç¥µ¥ó¥×¥ë¡¦¥³¡¼¥É¤ò\fI<PRE>\fR¥¿¥°Æâ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ËľÀÜŽ¤êÉÕ¤±¤é¤ì¤ë¤è¤¦¤Ë¡¢ÀèÆ¬¤Î¶õÇòʸ»ú¤Ïºï½ü¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥Ö¥é¥¦¥¶¤Ï¡¢¶õÇòʸ»ú¤ò¥¿¥Ö¤è¤ê¤â°ìΧ¤Ë²ò¼á¤·¤Þ¤¹¡£¥¤¥ó¥Ç¥ó¥È¤Îµ¯ÅÀ¤Ï(¶èÀÚ¤êʸ»ú\fI/**\fR¤Þ¤¿¤Ï\fI<PRE>\fR¥¿¥°¤Ç¤Ï¤Ê¤¯)º¸¥Þ¡¼¥¸¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£ +ºÇ½é¤Îʸ.PP +³Æ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤Ï¡¢Àë¸À¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´Ø¤¹¤ë´Ê·é¤«¤Ä´°Á´¤Ê¥µ¥Þ¥ê¡¼Ê¸¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Îʸ¤Ï¡¢¶õÇò¡¢¥¿¥Ö¡¢¤Þ¤¿¤Ï¹Ô½ªÎ»Ê¸»ú¤¬Â³¤¯ºÇ½é¤Î¥Ô¥ê¥ª¥É¡¢¤Þ¤¿¤ÏºÇ½é¤Î¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤¬¤¢¤ë°ÌÃ֤ǽª¤ï¤ê¤Þ¤¹¡£ºÇ½é¤Îʸ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆHTML¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¤¢¤ë¥á¥ó¥Ð¡¼¤Î¥µ¥Þ¥ê¡¼¤ÎÉôʬ¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +Ê£¿ô¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À.PP +Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢1¤Ä¤Îʸ¤ÇÊ£¿ô¤Î¥Õ¥£¡¼¥ë¥É¤òÀë¸À¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Îʸ¤Ë¤Ï¡¢1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤·¤«µ­½Ò¤Ç¤­¤Þ¤»¤ó¡£¤½¤Î¥³¥á¥ó¥È¤¬¡¢¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¥Õ¥£¡¼¥ë¥É¤´¤È¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢³Æ¥Õ¥£¡¼¥ë¥É¤òÊÌ¡¹¤Îʸ¤ÇÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï¡¢1¤Ä¤ÎÀë¸À¤È¤·¤Æµ­½Ò¤¹¤ë¤ÈÉÔŬÀڤǤ¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Àë¸À¤ò2¤Ä¤Ëʬ¤±¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl * The horizontal and vertical distances of point (x,y) -.fl */ -.fl -public int x, y; // Avoid this -.fl -\fP +public int x, y; // Avoid this + .fi -.LP -¾åµ­¤Î¥³¡¼¥É¤«¤é¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¾å¤Î¥³¡¼¥É¤«¤é¼¡¤Î¤è¤¦¤Ê¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -public int \fP\f3x\fP -.fl +public int x .fi -.RS 3 -The horizontal and vertical distances of point (x,y) +.if n \{\ .RE +.\} +.PP +The horizontal and vertical distances of point (x, y)\&. +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -public int \fP\f3y\fP -.fl +public int y .fi -.RS 3 -The horizontal and vertical distances of point (x,y) +.if n \{\ .RE -.LP -\f3¸«½Ð¤·¥¿¥°¤Ï¤Ê¤ë¤Ù¤¯»ÈÍѤ·¤Ê¤¤\fP \- ¥á¥ó¥Ð¡¼¤ËÂФ·¤Æ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢<H1> ¤ä <H2> ¤Ê¤É¤Î HTML ¸«½Ð¤·¥¿¥°¤Ï¡¢¤Ê¤ë¤Ù¤¯»È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ Javadoc ¥Ä¡¼¥ë¤Ï¡¢´°Á´¤Ë¹½Â¤²½¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ê¹½Â¤²½¥¿¥°¤¬»È¤ï¤ì¤Æ¤¤¤ë¤È¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î·Á¼°¤¬°­±Æ¶Á¤ò¼õ¤±¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥¯¥é¥¹¤ä¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥á¥ó¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¸«½Ð¤·¥¿¥°¤ò»È¤Ã¤ÆÆÈ¼«¤Î¹½Â¤¤òÁȤßΩ¤Æ¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£ -.SS -¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Î¼«Æ°¥³¥Ô¡¼ -.LP -Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤Î¾ì¹ç¤Ë¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤Þ¤¿¤Ï¡Ö·Ñ¾µ¡×¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤ÓÆþ¤ì»Ò¤Î¥¯¥é¥¹¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Þ¤»¤ó¡£ -.RS 3 -.TP 2 -o -\f3¼«Æ°Åª¤Ë¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Æ¸«¤Ä¤«¤é¤Ê¤¤¥Æ¥­¥¹¥È¤òËä¤á¤ë\fP \- ¼çÀâÌÀ¡¢ \f2@return\fP ¥¿¥°¡¢ \f2@param\fP ¥¿¥°¡¢¤Þ¤¿¤Ï \f2@throws\fP ¥¿¥°¤¬¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Ë¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Þ¤¿¤Ï¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¤½¤ÎÂоݤȤʤë¥á¥½¥Ã¥É¤«¤é¡¢Âбþ¤¹¤ë¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¥³¥á¥ó¥È¤ò¡¢¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë½¾¤Ã¤Æ¥³¥Ô¡¼¤·¤Þ¤¹¡£ -.LP -¸·Ì©¤Ë¤Ï¡¢ÆÃÄê¤Î¥Ñ¥é¥á¡¼¥¿¤Î \f2@param\fP ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥Ñ¥é¥á¡¼¥¿¤Î¥³¥á¥ó¥È¤¬¡¢¾å°Ì¤Î·Ñ¾µ³¬ÁؤΥ᥽¥Ã¥É¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ÆÃÄê¤ÎÎã³°¤Î \f2@throws\fP ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤ÎÎã³°¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤«¤®¤ê¡¢ \f2@throws\fP ¥¿¥°¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.LP -¤³¤Îưºî¤Ï¥Ð¡¼¥¸¥ç¥ó 1.3 °ÊÁ°¤Îưºî¤È¤ÏÂоÈŪ¤Ç¤¹¡£¤³¤ì¤Þ¤Ç¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¤¬Â¸ºß¤¹¤ì¤Ð¡¢¥³¥á¥ó¥È¤Ï°ìÀڷѾµ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ -.TP 2 -o -\f3{@inheritDoc} ¥¿¥°¤ò´Þ¤à¥³¥á¥ó¥È¤òÌÀ¼¨Åª¤Ë·Ñ¾µ¤¹¤ë\fP \- ¥¤¥ó¥é¥¤¥ó¥¿¥° \f2{@inheritDoc}\fP ¤ò¡¢¥á¥½¥Ã¥É¤Î¼çÀâÌÀÆâ¤Þ¤¿¤Ï \f2@return\fP ¥¿¥°¡¢ \f2@param\fP ¥¿¥°¡¢¤Þ¤¿¤Ï \f2@throws\fP ¤Î¤¤¤º¤ì¤«¤Î¥¿¥°¥³¥á¥ó¥ÈÆâ¤ËÁÞÆþ¤·¤Þ¤¹¡£Âбþ¤¹¤ë·Ñ¾µ¤µ¤ì¤¿¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¥³¥á¥ó¥È¤¬¤½¤Î°ÌÃ֤˥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +.\} +.PP +The horizontal and vertical distances of point (x, y)\&. +¥Ø¥Ã¥À¡¼¡¦¥¿¥°¤Î»ÈÍÑ.PP +¥á¥ó¥Ð¡¼¤ËÂФ·¤Æ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢\fI<H1>\fR¤ä\fI<H2>\fR¤Ê¤É¤ÎHTML¸«½Ð¤·¥¿¥°¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢´°Á´¤Ê¹½Â¤²½¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ê¹½Â¤²½¥¿¥°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤È¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î·Á¼°¤¬°­±Æ¶Á¤ò¼õ¤±¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥¯¥é¥¹¤ä¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥á¥ó¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¸«½Ð¤·¤ò»ÈÍѤ·¤ÆÆÈ¼«¤Î¹½Â¤¤ò»ØÄꤷ¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£ +.SS "¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î·Ñ¾µ" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Æ¡¢·çÍ¤¿¥Æ¥­¥¹¥È¤òÆþÎϤ·¤¿¤ê¡¢ÌÀ¼¨Åª¤Ë¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤ò·Ñ¾µ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Þ¤»¤ó¡£ +.PP +\fBÃí°Õ:\fR +¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤ËÍøÍѤ¹¤ë¤Ë¤Ï¡¢·Ñ¾µ¤·¤¿¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¥Ñ¥¹¤Î¤ß¤ËÃÖ¤«¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¡¢¥¯¥é¥¹¤â¥Ñ¥Ã¥±¡¼¥¸¤âÅϤ¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÅÀ¤Ï¥ê¥ê¡¼¥¹1\&.3\&.\fIn\fR°ÊÁ°¤È¤ÏÂоÈŪ¤Ç¤¹¡£¤³¤ì¤Þ¤Ç¤Ï¡¢¥¯¥é¥¹¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ç¤¢¤ë¤³¤È¤¬É¬ÍפǤ·¤¿¡£ +·çÍî¥Æ¥­¥¹¥È¤ÎÆþÎÏ.PP +¼çÀâÌÀ¡¢¤Þ¤¿¤Ï\fI@return\fR¡¢\fI@param\fR¡¢\fI@throws\fR¥¿¥°¤¬¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤«¤é·çÍ¤Æ¤¤¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Âбþ¤¹¤ë¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¡¦¥³¥á¥ó¥È¤ò¡¢¤½¤ì¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Þ¤¿¤Ï¼ÂÁõ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É(¤¢¤ë¾ì¹ç)¤«¤é¥³¥Ô¡¼¤·¤Þ¤¹¡£¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î·Ñ¾µ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +ÆÃÄê¤Î¥Ñ¥é¥á¡¼¥¿¤Î\fI@param\fR¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥Ñ¥é¥á¡¼¥¿¤Î¥³¥á¥ó¥È¤¬¡¢¾å°Ì¤Î·Ñ¾µ³¬ÁؤΥ᥽¥Ã¥É¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ÆÃÄê¤ÎÎã³°¤Î\fI@throws\fR¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤ÎÎã³°¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤«¤®¤ê¡¢\fI@throws\fR¥¿¥°¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +.PP +¤³¤Îưºî¤Ï¥ê¥ê¡¼¥¹1\&.3°ÊÁ°¤Îưºî¤È¤ÏÂоÈŪ¤Ç¤¹¡£¤³¤ì¤Þ¤Ç¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¤¬Â¸ºß¤¹¤ì¤Ð¡¢¥³¥á¥ó¥È¤Ï°ìÀڷѾµ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ +.PP +javadoc¥¿¥°¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +ÌÀ¼¨Åª¤Ê·Ñ¾µ.PP +\fI{@inheritDoc}\fR¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤ò¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¤Þ¤¿¤Ï\fI@return\fR¡¢\fI@param\fR¡¢\fI@throws\fR¥¿¥°¡¦¥³¥á¥ó¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£Âбþ¤¹¤ë·Ñ¾µ¤µ¤ì¤¿¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¡¦¥³¥á¥ó¥È¤Ï¡¢¤½¤Î¾ì½ê¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +.SS "¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·Ñ¾µ" +.PP +¥³¥á¥ó¥È¤Î·Ñ¾µ¤Ï¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¤Î·Ñ¾µ¤Î¡¢¹Í¤¨¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¾ì¹ç .RE -.LP -¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¼ÂºÝ¤Ë¥³¥Ô¡¼¤ËÍøÍѤ¹¤ë¤Ë¤Ï¡¢·Ñ¾µ¤·¤¿¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ \-sourcepath ¤Ç»ØÄꤷ¤¿¥Ñ¥¹¤À¤±¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¡¢¥¯¥é¥¹¤â¥Ñ¥Ã¥±¡¼¥¸¤âÅϤ¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÅÀ¤Ï¡¢¥¯¥é¥¹¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ 1.3.x °ÊÁ°¤Î¥ê¥ê¡¼¥¹¤È°Û¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¤Î·Ñ¾µ\fP \- ¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ë¼¡¤Î 3 ¤Ä¤Î¾ì¹ç¤Ë¡¢¥³¥á¥ó¥È¤Î·Ñ¾µ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë -.TP 2 -o -¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë -.TP 2 -o -¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¾ì¹ç .RE -.LP -ºÇ½é¤Î 2 ¤Ä¤Î¥±¡¼¥¹ (¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¾ì¹ç) ¤Ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤½¤Î¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥ÈÆâ¤Ë¡Ö¥ª¡¼¥Ð¡¼¥é¥¤¥É¡×¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£ -.LP -3 ¤ÄÌܤΥ±¡¼¥¹ (ÆÃÄê¤Î¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç) ¤Ç¤Ï¡¢javadoc ¥Ä¡¼¥ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥ÈÆâ¤Ë¡ÖÄêµÁ¡×¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¡¢¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤ê¤Þ¤»¤ó¡£ -.LP -\f3¥á¥½¥Ã¥É¤ÎÀâÌÀ¤¬·Ñ¾µ¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à\fP \- ¤¢¤ë¥á¥½¥Ã¥É¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï {@inheritDoc} ¥¿¥°¤¬¤¢¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆÅ¬Àڤʥ³¥á¥ó¥È¤ò¸¡º÷¤·¤Þ¤¹¡£ ¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢¤â¤Ã¤È¤âŬÀڤʥɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¸¡º÷¤Ç¤­¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤ª¤ê¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤è¤ê¤â¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Í¥À褵¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -ľÀܤ˼ÂÁõ¤µ¤ì¤Æ¤¤¤ë (¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë) ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢¥á¥½¥Ã¥É¤ÎÀë¸À¤Ç implements (¤Þ¤¿¤Ï extends) ¥­¡¼¥ï¡¼¥É¤Î¤¢¤È¤ËÅо줹¤ë½ç½ø¤Ç¡¢1 ¤Ä¤º¤ÄÄ´¤Ù¤ë¡£¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤ÆºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òºÎÍѤ¹¤ë -.TP 3 -2. -¼ê½ç 1 ¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢Ä¾ÀܼÂÁõ¤µ¤ì¤Æ¤¤¤ë (¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë) ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤½¤ì¤¾¤ì¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòºÆµ¢Åª¤ËŬÍѤ¹¤ë (¤½¤ÎºÝ¤Î½ç½ø¤Ï¡¢¼ê½ç 1 ¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ´¤Ù¤¿¤È¤­¤Î½ç½ø¤ÈƱ¤¸) -.TP 3 -3. -¼ê½ç 2 ¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¡¢¤³¤Î¥¯¥é¥¹¤¬ Object °Ê³°¤Î¥¯¥é¥¹¤Ç¤¢¤ë (¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤Ê¤¤) ¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë½èÍý¤¹¤ë -.RS 3 -.TP 3 -a. -¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Ë¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤Î¥³¥á¥ó¥È¤òºÎÍѤ¹¤ë -.TP 3 -b. -¼ê½ç 3a ¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòŬÍѤ¹¤ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç +.RE +.PP +ºÇ½é¤Î2¤Ä¤Î¥±¡¼¥¹¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥ÈÆâ¤Ë\fI¡Ö¥ª¡¼¥Ð¡¼¥é¥¤¥É¡×\fR¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¤Þ¤¹¡£¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +3¤ÄÌܤΥ±¡¼¥¹(ÆÃÄê¤Î¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç)¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥ÈÆâ¤Ë\fI¡ÖÄêµÁ¡×\fR¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¤Þ¤¹¡£¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.SS "¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î¥¢¥ë¥´¥ê¥º¥à" +.PP +¥á¥½¥Ã¥É¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬¤Ê¤¤¡¢¤Þ¤¿¤Ï\fI{@inheritDoc}\fR¥¿¥°¤¬¤¢¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆÅ¬ÍѤǤ­¤ë¥³¥á¥ó¥È¤ò¸¡º÷¤·¤Þ¤¹¡£¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢ºÇ¤âÆÃÄꤵ¤ì¤ëŬÍѲÄǽ¤Ê¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òõ¤·¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤è¤ê¤â¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÍ¥À褹¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +ľÀܤ˼ÂÁõ¤µ¤ì¤Æ¤¤¤ë(¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë)¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢¥á¥½¥Ã¥É¤ÎÀë¸À¤Ç\fIimplements\fR(¤Þ¤¿¤Ï\fIextends\fR)¤È¤¤¤¦¸ì¤Î¸å¤Ë½Ð¸½¤¹¤ë½ç½ø¤Ç¡¢1¤Ä¤º¤ÄÄ´¤Ù¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤ÆºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òºÎÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +¼ê½ç1¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢Ä¾ÀܼÂÁõ¤µ¤ì¤Æ¤¤¤ë(¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë)¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤½¤ì¤¾¤ì¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòºÆµ¢Åª¤ËŬÍѤ·¤Þ¤¹(¤½¤ÎºÝ¤Î½ç½ø¤Ï¡¢¼ê½ç1¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ´¤Ù¤¿¤È¤­¤Î½ç½ø¤ÈƱ¤¸)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +¼ê½ç2¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¡¢¤³¤Î¥¯¥é¥¹¤¬\fIObject\fR°Ê³°¤Î¥¯¥é¥¹¤Ç¤¢¤ë¤¬¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë½èÍý¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Ë¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥á¥ó¥È¤òºÎÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +¼ê½ç3a¤Ç¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòºÆµ¢Åª¤ËŬÍѤ·¤Þ¤¹¡£ .RE .RE -.SH "javadoc ¥¿¥°" -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢Java ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ËËä¤á¹þ¤Þ¤ì¤¿ÆÃÊ̤ʥ¿¥°¤ò²òÀϤ·¤Þ¤¹¡£¤³¤ì¤é¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥°¤ò»È¤¦¤È¡¢½ñ¼°¤ÎÀ°¤Ã¤¿´°Á´¤Ê API ¥É¥­¥å¥á¥ó¥È¤ò¥½¡¼¥¹¥³¡¼¥É¤«¤é¼«Æ°Åª¤ËÀ¸À®¤Ç¤­¤Þ¤¹¡£¥¿¥°¤Ï¡Ö¥¢¥Ã¥È¥Þ¡¼¥¯¡×µ­¹æ (\f2@\fP) ¤Ç»Ï¤Þ¤ê¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Î¶èÊ̤¬¤¢¤ê¤Þ¤¹¡£¥¿¥°¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤ò»ÈÍѤ·¤Æ¡¢É½¼¨¤µ¤ì¤Æ¤¤¤ë¤È¤ª¤ê¤ËÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¿¥°¤Ï¡¢¹Ô¤ÎÀèÆ¬ (Àè¹Ô¤¹¤ë¶õÇò¤È¾Êά²Äǽ¤Ê¥¢¥¹¥¿¥ê¥¹¥¯¤Ï½ü¤¯) ¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£´·Îã¤È¤·¤Æ¡¢Æ±¤¸Ì¾Á°¤Î¥¿¥°¤Ï 1 ¤«½ê¤Ë¤Þ¤È¤á¤Æµ­½Ò¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2@see\fP ¥¿¥°¤Ï¤¹¤Ù¤ÆÆ±¤¸¾ì½ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£ -.LP -¥¿¥°¤Ë¤Ï 2 ¤Ä¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f3¥Ö¥í¥Ã¥¯¥¿¥°\fP \- ¼çÀâÌÀ¤Ë³¤¯¥¿¥°¥»¥¯¥·¥ç¥óÆâ¤Ë¤Î¤ßµ­½Ò²Äǽ¡£¥Ö¥í¥Ã¥¯¥¿¥°¤Ï¡¢ \f2@tag\fP ¤Î·Á¼°¤ò¤È¤ê¤Þ¤¹¡£ -.TP 2 -o -\f3¥¤¥ó¥é¥¤¥ó¥¿¥°\fP \- ¼çÀâÌÀÆâ¡¢¤Þ¤¿¤Ï¥Ö¥í¥Ã¥¯¥¿¥°¤Î¥³¥á¥ó¥ÈÆâ¤Ëµ­½Ò²Äǽ¡£¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ï¡¢ \f2{@tag}\fP.¤Î¤è¤¦¤ËÃæ³ç¸Ì¤Ç°Ï¤ß¤Þ¤¹¡£ +.SH "JAVADOC¥¿¥°" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤ËËä¤á¹þ¤Þ¤ì¤¿ÆÃÊ̤ʥ¿¥°¤ò²òÀϤ·¤Þ¤¹¡£\fIjavadoc\fR¥¿¥°¤ò»ÈÍѤ¹¤ë¤È¡¢´°Á´¤ÊÀ°·Á¼°¤ÎAPI¤ò¥½¡¼¥¹¡¦¥³¡¼¥É¤«¤é¼«Æ°Åª¤ËÀ¸À®¤Ç¤­¤Þ¤¹¡£¥¿¥°¤Ï¥¢¥Ã¥È¥Þ¡¼¥¯µ­¹æ(\fI@\fR)¤Ç»Ï¤Þ¤ê¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢É½¼¨¤µ¤ì¤Æ¤¤¤ë¤È¤ª¤ê¤ËÂçʸ»ú¤È¾®Ê¸»ú¤ò»ÈÍѤ·¤ÆÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¿¥°¤Ï¡¢¹Ô¤ÎÀèÆ¬(ÀèÆ¬¤Î¶õÇòʸ»ú¤È¾Êά²Äǽ¤Ê¥¢¥¹¥¿¥ê¥¹¥¯¤Î¸å)¤ËÃÖ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥Æ¥­¥¹¥È¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£´·Îã¤È¤·¤Æ¡¢Æ±¤¸Ì¾Á°¤Î¥¿¥°¤Ï1²Õ½ê¤Ë¤Þ¤È¤á¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@see\fR¥¿¥°¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢¤¹¤Ù¤ÆÆ±¤¸¾ì½ê¤Ë¤Þ¤È¤á¤ÆÇÛÃÖ¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¥¿¥°¤Ë¤Ï¡¢¼¡¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ö¥í¥Ã¥¯¡¦¥¿¥°: ¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Ï¼çÀâÌÀ¤Ë³¤¯¥¿¥°¡¦¥»¥¯¥·¥ç¥óÆâ¤Ë¤Î¤ßÇÛÃÖ¤·¤Þ¤¹¡£¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Ï¡¢\fI@tag\fR¤Î·Á¼°¤ò¤È¤ê¤Þ¤¹¡£ .RE -.LP -º£¸å¤Î¥ê¥ê¡¼¥¹¤ÇƳÆþ¤µ¤ì¤ë¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖProposed Javadoc Tags¡×\fP @ -.fi -http://java.sun.com/j2se/javadoc/proposed\-tags.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¸½»þÅÀ¤ÇÍ­¸ú¤Ê¥¿¥°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°: ¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤Ï¼çÀâÌÀÆâ¤Þ¤¿¤Ï¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤Î¥³¥á¥ó¥ÈÆâ¤ÎǤ°Õ¤Î¾ì½ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤Ï\fI{@tag}\fR¤Î¤è¤¦¤ËÃæ¥«¥Ã¥³¤Ç°Ï¤ß¤Þ¤¹¡£ +.RE +.PP +¥«¥¹¥¿¥à¡¦¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-tag tagname:Xaoptcmf:"taghead"¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "¥¿¥°¤ÎÀâÌÀ" +.PP +@author \fIname\-text\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +\fI\-author\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢»ØÄꤷ¤¿Ì¾Á°¤Î¥Æ¥­¥¹¥È¤ÎºîÀ®¼Ô¥¨¥ó¥È¥ê¤òÀ¸À®¤µ¤ì¤ë¥É¥­¥å¥á¥ó¥È¤ËÄɲä·¤Þ¤¹¡£1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ËÊ£¿ô¤Î\fI@author\fR¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£1¤Ä¤Î\fI@author\fR¥¿¥°¤Ë1¤Ä¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ê£¿ô¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÌ¾Á°¤È̾Á°¤Î´Ö¤Ë¥«¥ó¥Þ(,)¤È¶õÇòʸ»ú¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥ÈÁ´ÂΤ¬²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥«¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¡¢1¹Ô¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@author¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@author)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +{@code \fItext\fR} +.RS 4 +JDK 1\&.5¤ÇƳÆþ +.sp +\fI<code>{@literal}</code>\fR¤ÈƱÅù¤Ç¤¹¡£ +.sp +¥Æ¥­¥¹¥È¤òHTML¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤Ï¥Í¥¹¥È¤µ¤ì¤¿Javadoc¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢text¤ò¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Çɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿(\fI<Object>\fR)¡¢ÉÔÅù¹æ(\fI3 < 4\fR)¡¢Ìð°õ(\fI<\-\fR)¤Ê¤É¤Ç¡¢Ä̾ï¤Î»³¥«¥Ã¥³(<¤ª¤è¤Ó>)¤òHTML¥¨¥ó¥Æ¥£¥Æ¥£(\fI<\fR¤ª¤è¤Ó\fI>\fR)¤Î¤«¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È\fI{@code A<B>C}\fR¤Ï\fIA<B>C\fR¤È¤·¤ÆÊѹ¹¤µ¤ì¤º¤ËÀ¸À®¤µ¤ì¤¿HTML¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢\fI<B>\fR¤¬ÂÀ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤º¡¢¤½¤Î¥Õ¥©¥ó¥È¤Ï¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Ë¤Ê¤ê¤Þ¤¹¡£¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Ê¤·¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢\fI{@literal}\fR¥¿¥°¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +@deprecated \fIdeprecated\-text\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +¤³¤ÎAPI¤Ïưºî¤·Â³¤±¤Þ¤¹¤¬¡¢¤³¤ÎAPI¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤òÁ¦¤á¤ë¥³¥á¥ó¥È¤òÄɲä·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIdeprecated\-text\fR¤ò¼çÀâÌÀ¤ÎÁ°¤Ë°Üư¤·¤Æ¥¤¥¿¥ê¥Ã¥¯¤Ë¤·¡¢¤½¤ÎÁ°¤ËÂÀ»ú¤Î·Ù¹ð¡Ö¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¡×¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ +.sp +Èó¿ä¾©¥Æ¥­¥¹¥È¤ÎºÇ½é¤Îʸ¤Ç¤Ï¡¢¤½¤ÎAPI¤¬¿ä¾©¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿»þ´ü¤È¡¢ÂåÂØ¤È¤·¤Æ»ÈÍѤ¹¤ëAPI¤ò¥æ¡¼¥¶¡¼¤ËÄ󼨤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤³¤ÎºÇ½é¤Îʸ¤ò¡¢¥µ¥Þ¥ê¡¼¡¦¥»¥¯¥·¥ç¥ó¤Èº÷°ú¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤½¤Î¸å¤Îʸ¤ÇÈó¿ä¾©¤Ë¤Ê¤Ã¤¿Íýͳ¤òÀâÌÀ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ÂåÂØAPI¤ò»Ø¤·¼¨¤¹\fI{@link}\fR¥¿¥°(Javadoc 1\&.2°Ê¹ß¤Î¾ì¹ç)¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fI@deprecated annotation\fR¥¿¥°¤ò»ÈÍѤ·¤Æ¥×¥í¥°¥é¥àÍ×ÁǤòÈó¿ä¾©¤Ë¤·¤Þ¤¹¡£API¤òÈó¿ä¾©¤Ë¤¹¤ëÊýË¡¤È»þ´ü +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/deprecation/deprecation\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@deprecated¤Ë´Ø¤¹¤ë¹à + +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@deprecated)¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +{@docRoot} +.RS 4 +JDK 1\&.3¤ÇƳÆþ +.sp +À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤«¤é¤Î¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î(À¸À®Àè)¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎÁêÂХѥ¹¤òɽ¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢Ãøºî¸¢¤Î¥Ú¡¼¥¸¤ä²ñ¼Ò¤Î¥í¥´¤Ê¤É¡¢À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤«¤é»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤òÁȤ߹þ¤à¤È¤­¤ËÊØÍø¤Ç¤¹¡£Ä̾ï¤Ï¡¢³Æ¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤«¤éÃøºî¸¢¤Î¥Ú¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ +.sp +¤³¤Î\fI{@docRoot}\fR¥¿¥°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤â¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Ç¤â»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢Ç¤°Õ¤Î¥¿¥°(\fI@return\fR¡¢\fI@param\fR¤ª¤è¤Ó\fI@deprecated\fR¥¿¥°¤Ê¤É)¤Î¥Æ¥­¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¡¢¥Ø¥Ã¥À¡¼¡¢¥Õ¥Ã¥¿¡¼¤Þ¤¿¤ÏºÇ²¼Éô¤¬¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£\fIjavadoc \-bottom \*(Aq<a href="{@docRoot}/copyright\&.html">Copyright</a>\*(Aq\fR +.sp +\fI{@docRoot}\fR¥¿¥°¤òmakefileÆâ¤Ç¤³¤Î¤è¤¦¤ËÍøÍѤ¹¤ë¾ì¹ç¡¢°ìÉô¤Î\fImakefile\fR¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ã楫¥Ã¥³\fI{}\fRʸ»ú¤òÆÃÊ̤˥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Inprise MAKE¥Ð¡¼¥¸¥ç¥ó5\&.2¤òWindows¾å¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢\fI{{@docRoot}}\fR¤Î¤è¤¦¤Ë¡¢Ã楫¥Ã¥³¤òÆó½Å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤Ê¤É¤Î¥ª¥×¥·¥ç¥ó¤Ø¤Î°ú¿ô¤ò°Ï¤à¤Î¤Ë¡¢Æó½Å(°ì½Å¤Ç¤Ï¤Ê¤¯)°úÍÑÉä¤âɬÍפǤ¹(\fIhref\fR°ú¿ô¤ò°Ï¤à°úÍÑÉä¤Ï¾Êά)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Ï +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f3ƳÆþ¤µ¤ì¤¿ JDK/SDK ¤Î¥Ð¡¼¥¸¥ç¥ó\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥¿¥°\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@author\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@code}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@docRoot}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@deprecated\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@exception\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@inheritDoc}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@link}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@linkplain}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@literal}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@param\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@return\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@see\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@serial\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@serialData\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@serialField\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@since\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@throws\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2{@value}\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2@version\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.5 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.3 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.4 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.4 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.5 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.1 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.2 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.4 -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w1.0 -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 851 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥¿¥°\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 (\n(41u+\n(81u-\n(a-u)/2u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@author\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@code}\fP\h'|\n(41u'1.5 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@docRoot}\fP\h'|\n(41u'1.3 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@deprecated\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@exception\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@inheritDoc}\fP\h'|\n(41u'1.4 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@link}\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@linkplain}\fP\h'|\n(41u'1.4 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@literal}\fP\h'|\n(41u'1.5 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@param\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@return\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@see\fP\h'|\n(41u'1.0 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@serial\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@serialData\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@serialField\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@since\fP\h'|\n(41u'1.1 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@throws\fP\h'|\n(41u'1.2 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2{@value}\fP\h'|\n(41u'1.4 -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2@version\fP\h'|\n(41u'1.0 -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-44 -.LP -¥«¥¹¥¿¥à¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-tag ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 3 -@author\ name\-text -\-author ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢»ØÄꤵ¤ì¤¿ \f2name\-text\fP ¤ò´Þ¤à [ºîÀ®¼Ô] ¥¨¥ó¥È¥ê¤òÀ¸À®¥É¥­¥å¥á¥ó¥È¤ËÄɲä·¤Þ¤¹¡£1 ¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÊ£¿ô¤Î \f2@author\fP ¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£1 ¤Ä¤Î \f2@author\fP ¥¿¥°¤Ë 1 ¤Ä¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ê£¿ô¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÌ¾Á°¤È̾Á°¤Î´Ö¤Ë¥³¥ó¥Þ (\f2,\fP) ¤È¶õÇò¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥ÈÁ´ÂΤ¬¡¢²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»È¤¦É¬Íפ¬¤¢¤ë¤È¤­¤Ï¡¢1 ¤Ä¤Î¥¿¥°¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.RE -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¡×¤ª¤è¤Ó -.na -\f2@author ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@author¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -@deprecated\ deprecated\-text Ãí: @Deprecated Ãí¼á¤ò»È¤Ã¤ÆÆÃÄê¤Î¥×¥í¥°¥é¥àÍ×ÁǤòÈó¿ä¾©¤Ë¤Ç¤­¤Þ¤¹¡£ -.RE -.LP -¤³¤Î API ¤Ïưºî¤·Â³¤±¤Þ¤¹¤¬¡¢¤³¤Î API ¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¤³¤È¤ò¼¨¤¹¥³¥á¥ó¥È¤òÄɲä·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2deprecated\-text\fP ¤ò¼çÀâÌÀ¤ÎÁ°¤Ë°Üư¤·¤Æ¥¤¥¿¥ê¥Ã¥¯¤Ë¤·¡¢¤½¤ÎÁ°¤Ë¥Ü¡¼¥ë¥É¤Î·Ù¹ð¡Ö¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£¡×¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ -.LP -\f2deprecated\-text\fP ¤ÎºÇ½é¤Îʸ¤Ç¤Ï¡¢¾¯¤Ê¤¯¤È¤â¡¢¤½¤Î API ¤¬¿ä¾©¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿»þ´ü¤È¡¢ÂåÂØ»ÈÍѤ¹¤ë¤Ù¤­ API ¤òÆÉ¼Ô¤ËÄ󼨤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤³¤ÎºÇ½é¤Îʸ¤À¤±¤ò¡¢³µÍ×¥»¥¯¥·¥ç¥ó¤Èº÷°ú¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤½¤Î¤¢¤È¤Îʸ¤Ç¤Ï¡¢¤½¤Î API ¤¬¿ä¾©¤µ¤ì¤Ê¤¤Íýͳ¤òÀâÌÀ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Âå¤ï¤ê¤ÎAPI ¤ò»Ø¤·¼¨¤¹ \f2{@link}\fP ¥¿¥° ( Javadoc 1.2 °Ê¹ß¤Î¾ì¹ç) ¤ò´Þ¤á¤ë¤Ù¤­¤Ç¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@deprecated ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@deprecated¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 2 -o -Javadoc 1.2 °Ê¹ß¤Ç¤Ï \f2{@link}\fP ¥¿¥°¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢É¬Íפʾì½ê¤Ë¥¤¥ó¥é¥¤¥ó¤Ç¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl /** -.fl - * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)} -.fl + * See the <a href="{@docRoot}/copyright\&.html">Copyright</a>\&. */ -.fl - -.fl -\fP .fi -.TP 2 -o -Javadoc 1.1 ¤Î¾ì¹ç¤Îɸ½à·Á¼°¤Ï¡¢ \f2@see\fP ¥¿¥° (¥¤¥ó¥é¥¤¥ó¤ÏÉÔ²Ä) ¤ò \f2@deprecated\fP ¥¿¥°¤´¤È¤ËºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£ +.if n \{\ .RE -.LP -¿ä¾©¤µ¤ì¤Ê¤¤¥¿¥°¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2@deprecated ¥¿¥°\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.html¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -{@code\ text} -\f2<code>{@literal}</code>\fP ¤ÈƱÅù¤Ç¤¹¡£ -.LP -¥Æ¥­¥¹¥È¤ò \f2HTML ¥Þ¡¼¥¯¥¢¥Ã¥×\fP ¤Þ¤¿¤Ï \f2Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ javadoc ¥¿¥°\fP ¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢text ¤ò¥³¡¼¥É¥Õ¥©¥ó¥È¤Çɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÇÄ̾ï¤Î»³³ç¸Ì (\f2<\fP ¤ª¤è¤Ó \f2>\fP) ¤ò HTML ¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (\f2<\fP ¤ª¤è¤Ó \f2>\fP) ¤ÎÂå¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿ (\f2<Object>\fP)¡¢ÉÔÅù¹æ (\f23 < 4\fP)¡¢Ìð°õ (\f2<\-\fP) ¤Ê¤É¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È -.nf -\f3 -.fl - \fP\f4{@code A<B>C}\fP\f3 -.fl - -.fl -\fP -.fi -.LP -¤Ï¡¢À¸À®¤µ¤ì¤¿ HTML ¥Ú¡¼¥¸¤Ç¡¢¼¡¤Î¤è¤¦¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - \fP\f4A<B>C\fP\f3 -.fl - -.fl -\fP -.fi -.LP -¤³¤³¤ÇÃíÌܤ¹¤Ù¤­ÅÀ¤Ï¡¢ \f2<B>\fP ¤¬ÂÀ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤º¡¢¤½¤Î¥Õ¥©¥ó¥È¤Ï¥³¡¼¥É¥Õ¥©¥ó¥È¤Ë¤Ê¤ë¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£ -.LP -¥³¡¼¥É¥Õ¥©¥ó¥È¤Ê¤·¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢\f2{@literal}\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -{@docRoot} -À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤«¤é¸«¤¿¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î (À¸À®Àè¤Î) ¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎÁêÂХѥ¹¤òɽ¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢Ãøºî¸¢¤Î¥Ú¡¼¥¸¤ä²ñ¼Ò¤Î¥í¥´¤Ê¤É¡¢À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤«¤é»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤òÁȤ߹þ¤à¤È¤­¤ËÊØÍø¤Ç¤¹¡£Ä̾ï¤Ï¡¢³Æ¥Ú¡¼¥¸¤Î²¼Éô¤«¤éÃøºî¸¢¤Î¥Ú¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ -.LP -¤³¤Î \f2{@docRoot}\fP ¥¿¥°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç¤â¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Ç¤â»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢@return¡¢@param¡¢@deprecated ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ -.RS 3 -.TP 3 -1. -¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï¡¢¥Ø¥Ã¥À¡¼¡¢¥Õ¥Ã¥¿¡¼¡¢¤Þ¤¿¤Ï¥Ü¥È¥à¥Î¡¼¥È¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>' -.fl - -.fl -\fP -.fi -.LP -Ãí \- \f2{@docRoot}\fP ¤ò Makefile Æâ¤Ç¤³¤Î¤è¤¦¤ËÍøÍѤ¹¤ë¾ì¹ç¡¢°ìÉô¤Î Makefile ¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ãæ³ç¸Ì { } ʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Inprise MAKE ¥Ð¡¼¥¸¥ç¥ó 5.2 ¤ò Windows ¾å¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢ \f2{{@docRoot}} ¤Î¤è¤¦¤Ë¡¢Ãæ³ç¸Ì¤òÆó½Å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹\fP¡£¤µ¤é¤Ë¡¢ \f2\-bottom\fP ¤Ê¤É¤Î¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤ò¡¢Ã±°ì°úÍÑÉä¤Ç¤Ï¤Ê¤¯Æó½Å°úÍÑÉä¤Ç°Ï¤àɬÍפ⤢¤ê¤Þ¤¹ ( \f2href\fP ¤Î°ú¿ô¤ò°Ï¤à°úÍÑÉä¤Ï¾Êά)¡£ -.TP 3 -2. -¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÃæ¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - /** -.fl - * See the <a href="{@docRoot}/copyright.html">Copyright</a>. -.fl - */ -.fl - -.fl -\fP -.fi -.RE -.LP -¤³¤Î¥¿¥°¤¬É¬ÍפÊÍýͳ¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤¬¡¢¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸¿¼¤µ¤ò»ý¤Ä³¬Áع½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - <a href="{@docRoot}/copyright.html"> -.fl - -.fl -\fP -.fi -.LP -¼¡¤Î¤è¤¦¤Ë²ò·è¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - <a href="../../copyright.html"> java/lang/Object.java ¤Î¾ì¹ç -.fl - -.fl -\fP -.fi -.LP -¤«¤Ä -.nf -\f3 -.fl - <a href="../../../copyright.html"> java/lang/ref/Reference.java ¤Î¾ì¹ç -.fl - -.fl -\fP -.fi -.LP -.TP 3 -@exception\ class\-name\ description -\f2@exception\fP ¥¿¥°¤Ï \f2@throws\fP ¤ÈƱµÁ¤Ç¤¹¡£ -.LP -.TP 3 -{@inheritDoc}\ -¤â¤Ã¤È¤â¶á¤¤·Ñ¾µ²Äǽ¤Ê¥¯¥é¥¹¤Þ¤¿¤Ï¼ÂÁõ²Äǽ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¡¢¤³¤Î¥¿¥°¤Î¸½ºß¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¡¢¥É¥­¥å¥á¥ó¥È¤ò·Ñ¾µ (¥³¥Ô¡¼) ¤·¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ë¤è¤ê¡¢¤è¤êÈÆÍÑŪ¤Ê¥³¥á¥ó¥È¤ò·Ñ¾µ¥Ä¥ê¡¼¤Î¾å°Ì¤Ëµ­½Ò¤·¡¢¥³¥Ô¡¼¤·¤¿¥Æ¥­¥¹¥È¤ò»È¤Ã¤Æµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -¤³¤Î¥¿¥°¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¼¡¤Î°ÌÃ֤ǤΤßÍ­¸ú¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¥Ö¥í¥Ã¥¯Æâ¡£¤³¤Î¾ì¹ç¡¢¼çÀâÌÀ¤Ï¡¢¾å°Ì³¬ÁؤΥ¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë -.TP 2 -o -¥á¥½¥Ã¥É¤Î @return¡¢@param¡¢@throws ¥¿¥°¤Î¥Æ¥­¥¹¥È°ú¿ôÆâ¡£¤³¤Î¾ì¹ç¡¢¥¿¥°¥Æ¥­¥¹¥È¤Ï¡¢¾å°Ì³¬ÁؤÎÂбþ¤¹¤ë¥¿¥°¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë -.RE -.LP -·Ñ¾µ³¬Áؤǥ³¥á¥ó¥È¤ò¸«¤Ä¤±¤ëÊýË¡¤Ë´Ø¤¹¤ëÀµ³Î¤ÊÀâÌÀ¤Ë¤Ä¤¤¤Æ¡¢¡Ö¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Î¼«Æ°¥³¥Ô¡¼¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¥³¥á¥ó¥È¤Ï¡¢¤³¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¥ë¡¼¥ë¤Ë±þ¤¸¤Æ¡¢¼«Æ°Åª¤Ë·Ñ¾µ¤µ¤ì¤ë¤«¤É¤¦¤«¤¬·è¤Þ¤ê¤Þ¤¹¡£ -.LP -.TP 3 -{@link\ package.class#member\ label} -ɽ¼¨¥Æ¥­¥¹¥È \f2label\fP ¤È¤Î¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òÁÞÆþ¤·¤Þ¤¹¡£label ¤Ï¡¢»²¾È¥¯¥é¥¹¤Î»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î̾Á°¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢@return¡¢@param¡¢@deprecated ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£ -.LP -¤³¤Î¥¿¥°¤Ï \f2@see\fP ¤ÈÈó¾ï¤Ë¤è¤¯»÷¤Æ¤¤¤Þ¤¹¡£¤É¤Á¤é¤â¡¢\f2package.class\fP\f2#\fP\f2member\fP ¤È \f2label\fP ¤Î»²¾È¤Î»ÅÊý¤¬Æ±¤¸¤Ç¡¢Í­¸ú¤Ê¹½Ê¸¤â¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¹¡£Â礭¤Ê°ã¤¤¤Ï¡¢ \f2{@link}\fP ¤Ç¤Ï¡¢[´ØÏ¢¹àÌÜ] ¥»¥¯¥·¥ç¥ó¤Ë¥ê¥ó¥¯¤¬ÇÛÃÖ¤µ¤ì¤ëÂå¤ï¤ê¤Ë¡¢¥¤¥ó¥é¥¤¥ó¤Î¥ê¥ó¥¯¤¬À¸À®¤µ¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¤Þ¤¿¡¢¥¤¥ó¥é¥¤¥ó¥Æ¥­¥¹¥È¤Î¤Û¤«¤ÎÉôʬ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢ \f2{@link}\fP ¥¿¥°¤ÎºÇ½é¤ÈºÇ¸å¤ËÃæ³ç¸Ì¤òµ­½Ò¤·¤Þ¤¹¡£¥é¥Ù¥ë¤ÎÃæ¤Ç¡Ö}¡×¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¡Ö}¡×¤ò»È¤¤¤Þ¤¹¡£ -.LP -1 ʸÆâ¤Ç»ÈÍѲÄǽ¤Ê \f2{@link}\fP ¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¼çÀâÌÀÉôʬ¡¢¤Þ¤¿¤Ï @deprecated¡¢@return¡¢@param ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤Ç»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥á¥ó¥È¤Ç¤Ï \f2getComponentAt(int, int)\fP ¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl -{@link #getComponentAt(int, int) getComponentAt} ¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.fl - -.fl -\fP -.fi -.LP -ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¾åµ­¤Î¥³¥á¥ó¥È¤«¤é¼¡¤Î HTML ¤¬À¸À®¤µ¤ì¤Þ¤¹ (¤³¤Î¥³¥á¥ó¥È¤¬Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç)¡£ -.nf -\f3 -.fl -<a href="Component.html#getComponentAt(int, int)">getComponentAt</a> ¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.fl - -.fl -\fP -.fi -.LP -¤³¤Î HTML ¤Ï¡¢Web ¥Ú¡¼¥¸¾å¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl -getComponentAt ¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.fl - -.fl -\fP -.fi -.LP -\f2{@link}\fP ¤ò³ÈÄ¥¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤â²Äǽ¤Ë¤¹¤ë¤Ë¤Ï¡¢\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2{@link} ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#{@link}¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -{@linkplain\ package.class#member\ label} -¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤¬¥³¡¼¥É¥Õ¥©¥ó¥È¤Ç¤Ï¤Ê¤¯¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Çɽ¼¨¤µ¤ì¤ëÅÀ°Ê³°¤Ï \f2{@link}\fP ¤ÈƱ¤¸¤Ç¤¹¡£¥é¥Ù¥ë¤¬¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤ÈÊØÍø¤Ç¤¹¡£¼¡¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Îã: -.nf -\f3 -.fl - {@linkplain add() the overridden method} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.fl - -.fl -\fP -.fi -.LP -¤³¤ì¤Ï°Ê²¼¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -the overridden method ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -{@literal\ text} -¥Æ¥­¥¹¥È¤ò HTML ¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤ÏÆþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ javadoc ¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢ \f2text\fP ¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÇÄ̾ï¤Î»³³ç¸Ì (\f2<\fP ¤ª¤è¤Ó \f2>\fP) ¤ò HTML ¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (\f2<\fP ¤ª¤è¤Ó \f2>\fP) ¤ÎÂå¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿ (\f2<Object>\fP)¡¢ÉÔÅù¹æ (\f23 < 4\fP)¡¢Ìð°õ (\f2<\-\fP) ¤Ê¤É¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È -.nf -\f3 -.fl - \fP\f4{@literal A<B>C}\fP\f3 -.fl - -.fl -\fP -.fi -.LP -¤Ï¡¢À¸À®¤µ¤ì¤¿ HTML ¥Ú¡¼¥¸¤Ï¥Ö¥é¥¦¥¶¤Ç¼¡¤Î¤è¤¦¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -\f2\ \ \ \ \ \fPA<B>C -.LP -¤³¤³¤ÇÃíÌܤ¹¤Ù¤­ÅÀ¤Ï¡¢ \f2<B>\fP ¤¬ÂÀ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤º¡¢¤½¤Î¥Õ¥©¥ó¥È¤Ï¥³¡¼¥É¥Õ¥©¥ó¥È¤Ë¤Ê¤ë¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£ -.LP -¥³¡¼¥É¥Õ¥©¥ó¥È¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢\f2{@code}\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -@param\ parameter\-name description -»ØÄꤵ¤ì¤¿ \f2parameter\-name\fP ¤Î¤¢¤È¤Ë»ØÄꤵ¤ì¤¿ \f2description\fP ¤¬Â³¤¯¥Ñ¥é¥á¡¼¥¿¤ò¡¢[¥Ñ¥é¥á¡¼¥¿] ¥»¥¯¥·¥ç¥ó¤ËÄɲä·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢ \f2description\fP ¤òÊ£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥¯¥é¥¹¤Î doc ¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£ -.LP -\f2parameter\-name\fP ¤Ï¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Î¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤«¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¥¿¥¤¥×¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£»³³ç¸Ì¤Ç¥Ñ¥é¥á¡¼¥¿Ì¾¤ò°Ï¤à¤È¡¢·¿¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤ò »ØÄꤷ¤Þ¤¹¡£ -.LP -¥¯¥é¥¹¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã: -.nf -\f3 -.fl - /** -.fl - * @param <E> Type of element stored in a list -.fl - */ -.fl - public interface List<E> extends Collection<E> { -.fl - } -.fl - -.fl -\fP -.fi -.LP -¥á¥½¥Ã¥É¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã: -.nf -\f3 -.fl - /** -.fl - * @param string the string to be converted -.fl - * @param type the type to convert the string to -.fl - * @param <T> the type of the element -.fl - * @param <V> the value of the element -.fl - */ -.fl - <T, V extends T> V convert(String string, Class<T> type) { -.fl - } -.fl - -.fl -\fP -.fi -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@param ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@param¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -@return\ description -[Ìá¤êÃÍ] ¥»¥¯¥·¥ç¥ó¤òÄɲ䷤ơ¢ \f2description\fP ¤Î¥Æ¥­¥¹¥È¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ç¤Ï¡¢Ìá¤êÃͤη¿¤È¡¢¼è¤êÆÀ¤ëÃͤÎÈϰϤˤĤ¤¤Æµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@return ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@return¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -@see\ reference -¡Ö´ØÏ¢¹àÌܡ׸«½Ð¤·¤òÄɲä·¡¢ \f2reference ¤ò»Ø¤¹¥ê¥ó¥¯¤«¡¢¤Þ¤¿¤Ï¥Æ¥­¥¹¥È¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤ß¤Þ¤¹\fP¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¤ÏǤ°Õ¤Î¿ô¤Î \f2@see\fP ¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ì¤é¤Ï¤¹¤Ù¤ÆÆ±¤¸¸«½Ð¤·¤Î²¼¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤Þ¤¹¡£ \f2@see\fP ¥¿¥°¤Ë¤Ï¡¢¼¡¤Î 3 ¼ïÎà¤Î·Á¼°¤¬¤¢¤ê¤Þ¤¹¡£¤â¤Ã¤È¤â¤è¤¯»È¤ï¤ì¤ë¤Î¤Ï¡¢3 ÈÖÌܤηÁ¼°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òÊ¸Ãæ¤ËÁÞÆþ¤¹¤ëÊýË¡¤Ï¡¢\f2{@link}\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 3 -@see "string" -\f2string ¤Î¥Æ¥­¥¹¥È¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹\fP¡£¥ê¥ó¥¯¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£ \f2string\fP ¤Ï¡¢½ñÀÒ¤Þ¤¿¤Ï URL ¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ðÊó¤Î»²¾ÈÀè¤Ç¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ºÇ½é¤Îʸ»ú¤¬Æó½Å°úÍÑÉä (\f2"\fP) ¤«¤É¤¦¤«¤òÄ´¤Ù¤Æ¡¢¤³¤Î·Á¼°¤ò¤Û¤«¤Î 2 ¤Ä¤Î·Á¼°¤È¶èÊ̤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - @see "The Java Programming Language" -.fl - -.fl -\fP -.fi -.LP -¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¥Æ¥­¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +.\} +¤³¤Î¥¿¥°¤¬É¬ÍפÊÍýͳ¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤¬¡¢¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸¿¼¤µ¤ò»ý¤Ä³¬Áع½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£¼°\fI<a href="{@docRoot}/copyright\&.html">\fR¤Ï¡¢\fIjava/lang/Object\&.java\fR¤ËÂФ·¤Æ¤Ï\fI<a href="\&.\&./\&.\&./copyright\&.html">\fR¤Ë²ò·è¤µ¤ì¡¢\fIjava/lang/ref/Reference\&.java\fR¤ËÂФ·¤Æ¤Ï\fI<a href="\&.\&./\&.\&./\&.\&./copyright\&.html">\fR¤Ë²ò·è¤µ¤ì¤Þ¤¹¡£ .RE .RE -.RS 3 -.RS 3 -.RS 3 -.RS 3 -.TP 3 -´ØÏ¢¹àÌÜ: -The Java Programming Language +.PP +@exception \fIclass\-name description\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +\fI@throws\fR¥¿¥°¤ÈƱ¤¸¤Ç¤¹¡£@throws class\-name description¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE +.PP +{@inheritDoc} +.RS 4 +JDK 1\&.4¤ÇƳÆþ +.sp +ºÇ¤â¶á¤¤·Ñ¾µ²Äǽ¤Ê¥¯¥é¥¹¤Þ¤¿¤Ï¼ÂÁõ²Äǽ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¡¢¤³¤Î¥¿¥°¤Î°ÌÃ֤ˤ¢¤ë¸½ºß¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¡¢¥É¥­¥å¥á¥ó¥È¤ò·Ñ¾µ(¥³¥Ô¡¼)¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤è¤êÈÆÍÑŪ¤Ê¥³¥á¥ó¥È¤ò·Ñ¾µ¥Ä¥ê¡¼¤Î¾å°Ì¤Ëµ­½Ò¤·¡¢¥³¥Ô¡¼¤·¤¿¥Æ¥­¥¹¥È¤ò»ÈÍѤ·¤Æµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +¤³¤Î¥¿¥°¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¼¡¤Î°ÌÃ֤ǤΤßÍ­¸ú¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¥Ö¥í¥Ã¥¯Æâ¡£¤³¤Î¾ì¹ç¡¢¼çÀâÌÀ¤Ï¡¢¾å°Ì³¬ÁؤΥ¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ .RE -.TP 3 -@see <a href="URL#value">label</a> -\f2URL\fP#\f2value\fP ¤ÇÄêµÁ¤µ¤ì¤¿¤È¤ª¤ê¤Ë¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£ \f2URL\fP#\f2value\fP ¤ÏÁêÂÐ URL ¤Þ¤¿¤ÏÀäÂÐ URL ¤Ç¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ºÇ½é¤Îʸ»ú¤¬¡Ö¤è¤ê¾®¤µ¤¤¡×µ­¹æ (\f2<\fP) ¤«¤É¤¦¤«¤òÄ´¤Ù¤Æ¡¢¤³¤Î·Á¼°¤ò¤Û¤«¤Î 2 ¤Ä¤Î·Á¼°¤È¶èÊ̤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - @see <a href="spec.html#section">Java Spec</a> -.fl -\fP -.fi -¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£ -.RS 3 -.TP 3 -´ØÏ¢¹àÌÜ: -Java Spec +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥á¥½¥Ã¥É¤Î\fI@return\fR¡¢\fI@param\fR¡¢\fI@throws\fR¥¿¥°¤Î¥Æ¥­¥¹¥È°ú¿ôÆâ¡£¤³¤Î¾ì¹ç¡¢¥¿¥°¡¦¥Æ¥­¥¹¥È¤Ï¡¢¾å°Ì³¬ÁؤÎÂбþ¤¹¤ë¥¿¥°¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ .RE -.TP 3 -@see\ package.class#member\ label -²Ä»ë¤Î¥Æ¥­¥¹¥È \f2label\fP ¤ò»ý¤Ä¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥ê¥ó¥¯¤Ï¡¢»²¾ÈÀè¤È¤Ê¤ë¡¢»ØÄꤵ¤ì¤¿ Java ¸À¸ì¤Î̾Á°¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò»Ø¤·¤Þ¤¹¡£ \f2label\fP ¤Ï¾Êά²Äǽ¤Ç¤¹¡£label ¤ò¾Êά¤¹¤ë¤È¡¢¥ê¥ó¥¯Àè¤Î¥á¥ó¥Ð¡¼¤Î̾Á°¤¬Å¬ÀÚ¤Ëû½Ì¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ ¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\-noqualifier ¤ò»ÈÍѤ¹¤ë¤È¡¢É½¼¨¥Æ¥­¥¹¥È¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬Á´ÂÎŪ¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£¥é¥Ù¥ë¤Ï¡¢¼«Æ°À¸À®¤µ¤ì¤ëɽ¼¨¥Æ¥­¥¹¥È¤È¤Ï°Û¤Ê¤ëɽ¼¨¥Æ¥­¥¹¥È¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë»È¤¤¤Þ¤¹¡£ -.LP -¥Ð¡¼¥¸¥ç¥ó 1.2 ¤À¤±¤Ï¡¢¥é¥Ù¥ë¤Ç¤Ï¤Ê¤¯¡¢Ì¾Á°¤¬ <code> HTML ¥¿¥°Æâ¤Ë¼«Æ°Åª¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ 1.2.2 ¤«¤é¤Ï¡¢¥é¥Ù¥ë¤ò»ÈÍѤ¹¤ë¤«¡¢¤·¤Ê¤¤¤«¤Ë¤«¤«¤ï¤é¤º¡¢<code> ¤Ï¾ï¤Ëɽ¼¨¥Æ¥­¥¹¥È¤ò°Ï¤à¤«¤¿¤Á¤Ç¡¢´Þ¤Þ¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f4package.class\fP\f4#\fP\f4member\fP ¤Ë¤Ï¡¢»²¾È¤µ¤ì¤Æ¤¤¤ëǤ°Õ¤ÎÍ­¸ú¤Ê¥×¥í¥°¥é¥àÍ×ÁǤÎ̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤Ç¤¹¡£¤¿¤À¤·¡¢¥á¥ó¥Ð¡¼Ì¾¡¼¤ÎÁ°¤Î¥É¥Ã¥È¤Ï¡¢¥·¥ã¡¼¥×µ­¹æ (\f2#\fP) ¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£ \f2class\fP ¤Ï¡¢Ç¤°Õ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Þ¤¿¤ÏÆþ¤ì»Ò¤Ë¤µ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¤·¤Þ¤¹¡£ \f2member\fP ¤Ï¡¢Ç¤°Õ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É (Æþ¤ì»Ò¤Ë¤µ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤Ê¤¤) ¤òɽ¤·¤Þ¤¹¡£»ØÄꤷ¤¿Ì¾Á°¤¬¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤½¤Î̾Á°¤Ø¤Î¥ê¥ó¥¯¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£»²¾ÈÀè¤Î¥¯¥é¥¹¤Ë°¤·¤Æ¤¤¤Ê¤¤Ì¾Á°¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢»Ä¤ê 2 ¤Ä¤Î \f2@see\fP ·Á¼°¤Î¤¦¤Á¤Î¤É¤Á¤é¤«¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î°ú¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¤¢¤È¤Î¡Ö̾Á°¤Î»ØÄê¡×¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£ -.TP 2 -o -\f4label\fP ¤Ï¡¢¾Êά²Äǽ¤Ê¥Æ¥­¥¹¥È¤Ç¡¢¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ \f2label\fP ¤Ë¤Ï¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \f2label\fP ¤ò¾Êά¤¹¤ë¤È¡¢\f2package.class.member\fP ¤¬¡¢¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤ÆÅ¬ÀÚ¤Ëû½Ì¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -¶õÇò¤¬¡¢ \f2package.class\fP\f2#\fP\f2member\fP ¤È \f2label\fP ¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¡£³ç¸Ì¤ÎÆâ¦¤Î¶õÇòʸ»ú¤Ï¥é¥Ù¥ë¤ÎÀèÆ¬¤È¤Ï²ò¼á¤µ¤ì¤Ê¤¤¤¿¤á¡¢¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿´Ö¤Ë¶õÇòʸ»ú¤òÆþ¤ì¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ +.sp +·Ñ¾µ³¬Áؤǥ³¥á¥ó¥È¤ò¸«¤Ä¤±¤ëÊýË¡¤Ë´Ø¤¹¤ëÀâÌÀ¤Ï¡¢¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤Î·Ñ¾µ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¥³¥á¥ó¥È¤Ï¡¢¤³¤Î¹à¤ÇÀâÌÀ¤¹¤ë¥ë¡¼¥ë¤Ë±þ¤¸¤Æ¡¢¼«Æ°Åª¤Ë·Ñ¾µ¤µ¤ì¤ë¤«¤É¤¦¤«¤¬·è¤Þ¤ê¤Þ¤¹¡£ .RE -.LP -\f3Îã\fP \- ¤³¤ÎÎã¤Ç¤Ï¡¢ \f2@see\fP ¥¿¥° ( \f2Character\fP ¥¯¥é¥¹Æâ) ¤¬ String ¥¯¥é¥¹¤Î \f2equals\fP ¥á¥½¥Ã¥É \f2¤ò»²¾È\fP ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ë¤Ï̾Á°¡Ö\f2String#equals(Object)\fP¡×¤È¥é¥Ù¥ë¡Ö\f2equals\fP¡×¤ÎξÊý¤Î°ú¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +{@link \fIpackage\&.class#member label\fR} +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +ɽ¼¨¥Æ¥­¥¹¥Èlabel¤È¤È¤â¤Ë¥¤¥ó¥é¥¤¥ó¡¦¥ê¥ó¥¯¤òÁÞÆþ¤·¤Þ¤¹¡£label¤Ï¡¢»²¾È¥¯¥é¥¹¤Î»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î̾Á°¤Î¥É¥­¥å¥á¥ó¥È¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢\fI@return\fR¡¢\fI@param\fR¤ª¤è¤Ó\fI@deprecated\fR¥¿¥°¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@link¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#{@link)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤³¤Î¥¿¥°¤Ï\fI@see\fR¥¿¥°¤Ë»÷¤Æ¤¤¤Þ¤¹¡£¤É¤Á¤é¤Î¥¿¥°¤â¡¢\fIpackage\&.class#member\fR¤È\fIlabel\fR¤Î»²¾ÈÊýË¡¤È¡¢Í­¸ú¤Ê¹½Ê¸¤¬Æ±¤¸¤Ç¤¹¡£¼ç¤Ê°ã¤¤¤Ï¡¢\fI{@link}\fR¥¿¥°¤Ç¤Ï¡¢¡Ö´ØÏ¢¹àÌܡץ»¥¯¥·¥ç¥ó¤Ë¥ê¥ó¥¯¤¬ÇÛÃÖ¤µ¤ì¤ë¤«¤ï¤ê¤Ë¡¢¥¤¥ó¥é¥¤¥ó¡¦¥ê¥ó¥¯¤¬À¸À®¤µ¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¥¤¥ó¥é¥¤¥ó¡¦¥Æ¥­¥¹¥È¤Î¾¤ÎÉôʬ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢\fI{@link}\fR¥¿¥°¤ÎºÇ½é¤ÈºÇ¸å¤ËÃæ¥«¥Ã¥³¤òµ­½Ò¤·¤Þ¤¹¡£¥é¥Ù¥ëÆâ¤Ç±¦Ã楫¥Ã¥³(\fI}\fR)¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢HTML¥¨¥ó¥Æ¥£¥Æ¥£µ­Ë¡\fI}\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +1¤Äʸ¤ÎÃæ¤Ç»ÈÍѤǤ­¤ë\fI{@link}\fR¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¼çÀâÌÀÉôʬ¡¢¤Þ¤¿¤Ï\fI@deprecated\fR¡¢\fI@return\fR¡¢\fI@param\fR¥¿¥°¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥­¥¹¥ÈÉôʬ¤Ç»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥á¥ó¥È¤Ç¤Ï\fIgetComponentAt(int,int)\fR¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * @see String#equals(Object) equals -.fl - */ -.fl -\fP +Use the {@link #getComponentAt(int, int) getComponentAt} method\&. .fi -ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¼¡¤Î¤è¤¦¤Ê HTML ¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -<dl> -.fl -<dt><b>See Also:</b> -.fl -<dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals<code></a> -.fl -</dl> -.fl -\fP -.fi -¤³¤ì¤Ï¡¢¥Ö¥é¥¦¥¶¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¡¢¥é¥Ù¥ë¤¬¥ê¥ó¥¯¥Æ¥­¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.RS 3 -.TP 3 -´ØÏ¢¹àÌÜ: -equals +.if n \{\ .RE -.LP -\f3̾Á°¤Î»ØÄê\fP \- ¤³¤Î \f2package.class\fP\f2#\fP\f2member\fP ¤È¤¤¤¦Ì¾Á°¤Ï¡¢ \f2java.lang.String#toUpperCase()\fP ¤Î¤è¤¦¤Ê´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¡¢ \f2String#toUpperCase()\fP ¤ä \f2#toUpperCase()\fP ¤Î¤è¤¦¤ÊÈó´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Ì¾Á°¤¬´°Á´»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢Java ¥³¥ó¥Ñ¥¤¥é¤ÎÄ̾ï¤Î¸¡º÷½ç½ø¤Ç¤½¤Î̾Á°¤ò¸¡º÷¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¤³¤Î¤¢¤È¤Î¡Ö@see ¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ì¾Á°¤Ë¤Ï¡¢¥á¥½¥Ã¥É¤ÎÊ£¿ô¤Î°ú¿ô¤Î´Ö¤Ê¤É¡¢³ç¸Ì¤ÎÆâ¦¤Ç¤¢¤ì¤Ð¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -¡ÖÉôʬŪ¤Ë»ØÄê¡×¤·¤¿Ã»¤¤Ì¾Á°¤ò»ØÄꤹ¤ë¤³¤È¤ÎÍøÅÀ¤Ï¡¢ÆþÎϤ¹¤ëʸ»ú¿ô¤¬¸º¤ë¤³¤È¤ä¡¢¥½¡¼¥¹¥³¡¼¥É¤¬ÆÉ¤ß¤ä¤¹¤¯¤Ê¤ë¤³¤È¤Ç¤¹¡£¼¡¤Îɽ¤Ë¡¢¤µ¤Þ¤¶¤Þ¤Ê·Á¼°¤Î̾Á°¤ò¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢ \f2Class\fP ¤Ë¤Ï¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢ \f2Type\fP ¤Ë¤Ï¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢ÇÛÎ󡢤ޤ¿¤Ï´ðËܥǡ¼¥¿·¿¤ò¡¢ \f2method\fP ¤Ë¤Ï¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¡¢¤½¤ì¤¾¤ì»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.\} +ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤Î¥³¡¼¥É¤«¤é¼¡¤ÎHTML¤¬À¸À®¤µ¤ì¤Þ¤¹(¤³¤Î¥³¥á¥ó¥È¤¬Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç)¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f4@see\fP\f3\ \fP\f4package.class#member\fP\f3 ¤Î°ìÈÌŪ¤Ê·Á¼°\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3¸½ºß¤Î¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤¹¤ë\fP -.br -\f2@see\fP\ \f2#\fP\f2¥Õ¥£¡¼¥ë¥É\fP -.br -\f2@see\fP\ \f2#\fP\f2method(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2#\fP\f2constructor(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3¸½ºß¤Î¡¢¤Þ¤¿¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤¹¤ë\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2¥Õ¥£¡¼¥ë¥É\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2method(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2Class.NestedClass\fP -.br -\f2@see\fP\ \f2¥¯¥é¥¹\fP -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3Ê̤Υѥ屡¼¥¸¤ÎÍ×ÁǤò»²¾È¤¹¤ë\fP\ (´°Á´½¤¾þ) -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2¥Õ¥£¡¼¥ë¥É\fP -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP -.br -\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP -.br -\f2@see\fP\ \f2package.Class.NestedClass\fP -.br -\f2@see\fP\ \f2package.Class\fP -.br -\f2@see\fP\ \f2¥Ñ¥Ã¥±¡¼¥¸\fP -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.80 -.rm 80 -.nr 38 \n(a- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(b- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(c- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(d- -.if \n(80<\n(38 .nr 80 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1342 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-58 -.LP -¾å¤Îɽ¤ËÂФ¹¤ëÊä­»ö¹à¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -ºÇ½é¤Î¼ïÎà¤Î·Á¼° (¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤ò¾Êά) ¤Î¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¸½ºß¤Î¥¯¥é¥¹¤Î³¬ÁؤÀ¤±¤ò¸¡º÷¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¸½ºß¤Î¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤½¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤«¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¸½ºß¤Î¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥á¥ó¥Ð¡¼¤ò¸¡º÷¤·¤Þ¤¹ (¤³¤Î¤¢¤È¤Î¸¡º÷¼ê½ç 1 ¢· 3)¡£¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤Û¤«¤ÎÉôʬ¤ä¡¢¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¸¡º÷¤·¤Þ¤»¤ó (¸¡º÷¼ê½ç 4 ¢· 5)¡£ -.TP 2 -o -¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î»ØÄê»þ¤Ë¡¢ \f2getValue\fP ¤Î¤è¤¦¤Ë³ç¸Ì¤Ê¤·¤Î̾Á°¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢Æ±¤¸Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¤½¤Î̾Á°¤Ø¤Î¥ê¥ó¥¯¤¬Àµ¤·¤¯ºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢³ç¸Ì¤ä°ú¿ô¤ÎÄɲäò¥æ¡¼¥¶¡¼¤ËÂ¥¤¹¤¿¤á¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¸¡º÷¤ÇºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥á¥½¥Ã¥É¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£·ë²Ì¤ÏÁ°¤â¤Ã¤ÆÆÃÄê¤Ç¤­¤Þ¤»¤ó¡£ -.TP 2 -o -Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î·Á¼°¤Ë¤Ä¤¤¤Æ¡¢ \f2outer\fP\f2.\fP\f2inner\fP ¤È¤·¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ã±½ã¤Ë \f2inner\fP ¤È¤Ï¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.TP 2 -o -¤¹¤Ç¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¡¢\f2¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤È¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¤Ï¡¢\fP¥É¥Ã¥È (\f2.\fP) ¤Ç¤Ï¤Ê¤¯¥·¥ã¡¼¥×ʸ»ú (#) ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤ò²ò·è¤Ç¤­¤Þ¤¹¡£¥É¥Ã¥È¤Ï¡¢¥¯¥é¥¹¡¢Æþ¤ì»Ò¤Ë¤µ¤ì¤¿¥¯¥é¥¹¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¶èÀڤ뤿¤á¤Ë¤â»ÈÍѤµ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢Javadoc ¥Ä¡¼¥ë¤Ç¤Ï°ìÈ̤˵öÍÆÈϰϤ¬¹­¤¯¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¡¢¥É¥Ã¥È¤Ç¤âÀµ¤·¤¯²òÀϤµ¤ì¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤Ïɽ¼¨¤µ¤ì¤Þ¤¹¡£ +Use the <a href="Component\&.html#getComponentAt(int, int)">getComponentAt</a> method\&. +.fi +.if n \{\ .RE -.LP -\f3@see ¤Î¸¡º÷½ç½ø\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë (.java)¡¢¥Ñ¥Ã¥±¡¼¥¸¥Õ¥¡¥¤¥ë (package.html ¤Þ¤¿¤Ï package\-info.java) ¤Þ¤¿¤Ï³µÍ×¥Õ¥¡¥¤¥ë (overview.html) ¤Ë´Þ¤Þ¤ì¤ë \f2@see\fP ¥¿¥°¤ò½èÍý¤·¤Þ¤¹¡£¸å¼Ô¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´»ØÄê¤Î̾Á°¤ò \f2@see\fP ¥¿¥°¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´»ØÄê¤Î̾Á°¡¢¤Þ¤¿¤ÏÉôʬ»ØÄê¤Î̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢´°Á´»ØÄê¤Ç¤Ê¤¤Ì¾Á°¤¬µ­½Ò¤µ¤ì¤¿ \f2@see\fP ¥¿¥°¤ò \f2.java ¥Õ¥¡¥¤¥ëÆâ¤Ç¸«¤Ä¤±¤ë¤È¡¢\fP Java ¥³¥ó¥Ñ¥¤¥é¤ÈƱ¤¸½ç½ø¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤ò¸¡º÷¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢ÆÃÄê¤Î̾Á°¶õ´Ö¤Î¤¢¤¤¤Þ¤¤¤µ¤ò¸¡½Ð¤·¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë¤³¤ì¤é¤Î¥¨¥é¡¼¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£¤³¤Î¸¡º÷½ç½ø¤Ï¡¢\f2Java ¸À¸ì»ÅÍÍ\fP¤ÇÀµ¼°¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢´ØÏ¢¤¹¤ë¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤«¤é̾Á°¤ò¸¡º÷¤·¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¼¡¤Î½ç½ø¤Ç¸¡º÷¤·¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -¸½ºß¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -.TP 3 -2. -³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (¤â¤Ã¤È¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷) -.TP 3 -3. -¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤È¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (¤â¤Ã¤È¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷) -.TP 3 -4. -¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸ -.TP 3 -5. -¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (import ʸ¤Î½ç½ø¤Ë½¾¤Ã¤Æ¸¡º÷) -.RE -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢³Æ¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¼ê½ç 1 ¢· 3 ¤òºÆµ¢Åª¤ËŬÍѤ·¤Ê¤¬¤é¡¢°ìÃפ¹¤ë̾Á°¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¸¡º÷¤ò³¤±¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤Þ¤º¸½ºß¤Î¥¯¥é¥¹¤ò¸¡º÷¤·¡¢¼¡¤Ë¤½¤Î¥¯¥é¥¹¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹ E ¤ò¸¡º÷¤·¡¢¤½¤Î¼¡¤Ë E ¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ò¸¡º÷¤·¡¢¤µ¤é¤Ë¤½¤Î¼¡¤Ë E ¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£ ¼ê½ç 4 ¤È 5 ¤Ç¤Ï¡¢1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¸¡º÷¤¹¤ë½ç½ø¤Ï·è¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó¡£¤½¤Î½ç½ø¤Ï¡¢¸Ä¡¹¤Î¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¼ê½ç 5 ¤Ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢java.lang ¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤Ë¼«Æ°Åª¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤Ï¡¢É¬¤º¤·¤â¥µ¥Ö¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢javadoc ¤Î¼Â¹ÔÃæ¤Ë¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ç¤â¡¢¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2@see\fP ¥¿¥°¤¬ \f2java.awt.event.KeyEvent\fP ¥¯¥é¥¹Æâ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Æ¡¢ \f2java.awt\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¢¤ë̾Á°¤ò»²¾È¤·¤Æ¤¤¤Æ¤â¡¢¤½¤Î¥¯¥é¥¹Æâ¤Ç¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¤«¤®¤ê¡¢javadoc ¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¸¡º÷¤ò¹Ô¤¤¤Þ¤»¤ó¡£ -.LP -\f3̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡\fP \- \f2label\fP ¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢\f2package.class.member\fP ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£°ìÈ̤ˡ¢package.class.member ¤Ï¡¢¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤ÆÅ¬ÀÚ¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¡Öû½Ì¤µ¤ì¤ë¡×¤È¤Ï¡¢É¬Í׺Ǿ®¸Â¤Î̾Á°¤À¤±¤¬É½¼¨¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2String.toUpperCase()\fP ¥á¥½¥Ã¥É¤Ë¡¢Æ±¤¸¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ø¤Î»²¾È¤È¤Û¤«¤Î¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹Ì¾¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¸å¼Ô¤Î¥±¡¼¥¹¤À¤±¤Ç¤¹ (¼¡¤Îɽ¤ò»²¾È)¡£ -.LP -¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¹­°èŪ¤Ëºï½ü¤¹¤ë¤Ë¤Ï¡¢\-noqualifier ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.br -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.\} +Á°¤Î¹Ô¤Ï¡¢¼¡¤Î¤è¤¦¤ËWeb¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f4String.toUpperCase() ¤Ç¤ÎÎã\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2@see\fP ¥¿¥°¤¬Æ±¤¸¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Æ¤¤¤ë -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2toLowerCase()\fP (¥¯¥é¥¹Ì¾¤Ï¾Êά) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2@see\fP ¥¿¥°¤¬°Û¤Ê¤ë¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Æ¤¤¤ë -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f2@see Character#toLowerCase(char)\fP -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2Character.toLowerCase(char)\fP (¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¾Êά¤·¡¢¥¯¥é¥¹Ì¾¤ò´Þ¤à) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2@see\fP ¥¿¥°¤¬°Û¤Ê¤ë¥¯¥é¥¹¡¢°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Æ¤¤¤ë -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f2@see java.io.File#exists()\fP -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2java.io.File.exists()\fP (¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥¯¥é¥¹Ì¾¤ò´Þ¤à) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3»²¾È¤Î¼ïÎà\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(b- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(d- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(g- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f2@see String#toLowerCase()\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.nr 38 \w\f3ɽ¼¨¤µ¤ì¤ë̾Á°\fP -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(c- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \n(f- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \n(i- -.if \n(82<\n(38 .nr 82 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 1418 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3»²¾È¤Î¼ïÎà\fP\h'|\n(41u'\h'|\n(42u'\f3ɽ¼¨¤µ¤ì¤ë̾Á°\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.ne \n(c|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\f2@see String#toLowerCase()\fP\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.ne \n(e|u+\n(.Vu -.ne \n(f|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-28 -.LP -\f3@see ¤ÎÎã\fP -.br -±¦Â¦¤Î¥³¥á¥ó¥È¤Ï¡¢ \f2@see\fP ¥¿¥°¤¬ \f2java.applet.Applet\fP ¤Ê¤É¤ÎÊ̤Υѥ屡¼¥¸¤Î¥¯¥é¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ë¡¢Ì¾Á°¤¬¤É¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - ´ØÏ¢¹àÌÜ: -.fl -@see java.lang.String // String \fP\f3 -.fl -@see java.lang.String The String class // The String class \fP\f3 -.fl -@see String // String \fP\f3 -.fl -@see String#equals(Object) // String.equals(Object) \fP\f3 -.fl -@see String#equals // String.equals(java.lang.Object) \fP\f3 -.fl -@see java.lang.Object#wait(long) // java.lang.Object.wait(long) \fP\f3 -.fl -@see Character#MAX_RADIX // Character.MAX_RADIX \fP\f3 -.fl -@see <a href="spec.html">Java Spec</a> // Java Spec \fP\f3 -.fl -@see "The Java Programming Language" // "The Java Programming Language" \fP\f3 -.fl -\fP +Use the getComponentAt method\&. .fi -\f2@see\fP ¤ò³ÈÄ¥¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤â²Äǽ¤Ë¤¹¤ë¤Ë¤Ï¡¢\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@see ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@see¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ .RE +.\} .RE -.LP -.RS 3 -.TP 3 -@serial\ field\-description | include | exclude -¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤ·¤Þ¤¹¡£ -.LP -\f2field\-description\fP (¾Êά²Äǽ) ¤Ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î°ÕÌ£¤òÀâÌÀ¤·¡¢¼è¤êÆÀ¤ëÃͤΥꥹ¥È¤ò¼¨¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£É¬Íפ˱þ¤¸¤Æ¡¢Ê£¿ô¤Î¹Ô¤ËÅϤäÆÀâÌÀ¤òµ­½Ò¤Ç¤­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¤³¤Î¾ðÊó¤ò¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤ËÄɲä·¤Þ¤¹¡£ -.LP -¥¯¥é¥¹¤òľÎ󲽤·¤¿¤¢¤È¤·¤Ð¤é¤¯¤·¤Æ¤«¤éľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤ò¥¯¥é¥¹¤ËÄɲä·¤¿¾ì¹ç¡¢¼çÀâÌÀ¤Ë¡¢Äɲä·¤¿¥Ð¡¼¥¸¥ç¥ó¤ò¼±Ê̤¹¤ëʸ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f2include\fP ¤ª¤è¤Ó \f2exclude\fP °ú¿ô¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤Ë¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤á¤ë¤«½ü³°¤¹¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Î°ú¿ô¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¸ú²Ì¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2Serializable\fP ¤ò¼ÂÁõ¤·¤Æ¤¤¤ë public ¤Þ¤¿¤Ï protected ¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤¬ \f2@serial exclude\fP ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤®¤ê¡¢´Þ¤á¤é¤ì¤Þ¤¹¡£ -.TP 2 -o -\f2Serializable\fP ¤ò¼ÂÁõ¤·¤Æ¤¤¤ë private ¤Þ¤¿¤Ï package\-private ¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤¬ \f2@serial include\fP ¤È¤·¤Æ ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤®¤ê¡¢½ü³°¤µ¤ì¤Þ¤¹¡£ +.PP +{@linkplain \fIpackage\&.class#member label\fR} +.RS 4 +JDK 1\&.4¤ÇƳÆþ +.sp +\fI{@link}\fR¥¿¥°¤ÈƱ¤¸Æ°ºî¤ò¤·¤Þ¤¹¤¬¡¢¥ê¥ó¥¯¡¦¥é¥Ù¥ë¤¬¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Ç¤Ï¤Ê¤¯¥×¥ì¡¼¥ó¡¦¥Æ¥­¥¹¥È¤Çɽ¼¨¤µ¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£¥é¥Ù¥ë¤¬¥×¥ì¡¼¥ó¡¦¥Æ¥­¥¹¥È¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤ÈÊØÍø¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¡Ö\fIRefer to {@linkplain add() the overridden method}\fR\&.¡×¤Ï¡ÖRefer to the overridden method¡×¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ .RE -.LP -Îã: \f2javax.swing\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ï \f2@serial exclude\fP ( \f2package.html\fP ¤Þ¤¿¤Ï \f2package\-info.java\fPÆâ) ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£public ¥¯¥é¥¹ \f2java.security.BasicPermission\fP ¤Ï \f2@serial exclude\fP ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£package\-private ¥¯¥é¥¹ \f2java.util.PropertyPermissionCollection\fP ¤Ï \f2@serial include\fP ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¥¯¥é¥¹¥ì¥Ù¥ë¤Ç»ØÄꤵ¤ì¤¿ @serial ¥¿¥°¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤Ç»ØÄꤵ¤ì¤¿ @serial ¥¿¥°¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.LP -¤³¤ì¤é¤Î¥¿¥°¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤È»ÈÍÑÎã¤Ï¡¢¡ÖJava ¥ª¥Ö¥¸¥§¥¯¥ÈľÎó²½»ÅÍ͡פÎÂè 1.6 Àá -.na -\f2¡Ö¥¯¥é¥¹¤ÎľÎó²½²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Îʸ½ñ²½¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢ -.na -\f2¡ÖľÎ󲽤ΠFAQ¡×\fP @ -.fi -http://java.sun.com/javase/technologies/core/basic/serializationFAQ.jsp#javadoc_warn_missing¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î FAQ ¤Ë¤Ï¡¢¡Ö\-private ¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¤¤Ç javadoc ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤Î¤Ë private ¥Õ¥£¡¼¥ë¥É¤Î @serial ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤¤¦ javadoc ¤Î·Ù¹ð¤¬É½¼¨¤µ¤ì¤ë¡×¤Ê¤É¤Î°ìÈÌŪ¤Ê¼ÁÌ䤨¤Î²óÅú¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Ä¾Îó²½·Á¼°»ÅÍͤ˥¯¥é¥¹¤ò´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢ -.na -\f2¡ÖSun ¤Î»ÅÍÍ¡×\fP @ -.fi -http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.html¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -@serialField\ field\-name\ field\-type\ field\-description -Serializable \f2¥¯¥é¥¹¤Î\fP serialPersistentFields \f2¥á¥ó¥Ð¡¼¤Î\fP ObjectStreamField ¥³¥ó¥Ý¡¼¥Í¥ó¥È \f2¤ò¥É¥­¥å¥á¥ó¥È²½\fP ¤·¤Þ¤¹¡£1 ¤Ä¤Î \f2@serialField\fP ¥¿¥°¤ò³Æ \f2ObjectStreamField\fP ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£ -.LP -.TP 3 -@serialData\ data\-description -\f2data\-description\fP ¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Ç¤Î¥Ç¡¼¥¿¤Î·¿¤È½ç½ø¤òÀâÌÀ¤¹¤ë¥Æ¥­¥¹¥È¤Ç¤¹¡£¶ñÂÎŪ¤Ë¸À¤¦¤È¡¢¤³¤Î¥Ç¡¼¥¿¤Ë¤Ï¡¢ \f2writeObject\fP ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤ë¾Êά²Äǽ¤Ê¥Ç¡¼¥¿¡¢¤ª¤è¤Ó \f2Externalizable.writeExternal\fP ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿ (´ðÄ쥯¥é¥¹¤â´Þ¤à) ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ -.LP -\f2@serialData\fP ¥¿¥°¤Ï¡¢ \f2writeObject\fP¡¢ \f2readObject\fP¡¢ \f2writeExternal\fP¡¢ \f2readExternal\fP¡¢ \f2writeReplace\fP¡¢¤ª¤è¤Ó \f2readResolve\fP ¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Ç»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -.TP 3 -@since\ since\-text -À¸À®¥É¥­¥å¥á¥ó¥È¤Ë [ƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó] ¸«½Ð¤·¤òÄɲä·¡¢»ØÄꤵ¤ì¤¿ \f2since\-text\fP ¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ë¤Ï¡¢ÆÃÊÌ¤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢ÆÃÄê¤ÎÊѹ¹¤Þ¤¿¤Ïµ¡Ç½¤¬¡¢ \f2since\-text ¤Ë¼¨¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¥ê¥ê¡¼¥¹°Ê¹ß¡¢Â¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹\fP¡£¤¿¤È¤¨¤Ð¡¢ +.PP +{@literal \fItext\fR} +.RS 4 +JDK 1\&.5¤ÇƳÆþ +.sp +¥Æ¥­¥¹¥È¤òHTML¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤Ï¥Í¥¹¥È¤µ¤ì¤¿Javadoc¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢text¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿(\fI<Object>\fR)¡¢ÉÔÅù¹æ(\fI3 < 4\fR)¡¢Ìð°õ(<\-)¤Ê¤É¤Ç¡¢»³¥«¥Ã¥³(\fI<¤ª¤è¤Ó>\fR)¤òHTML¥¨¥ó¥Æ¥£¥Æ¥£(\fI<\fR¤ª¤è¤Ó\fI>\fR)¤Î¤«¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È\fI{@literal A<B>C}\fR¤Ï\fIA<B>C\fR¤È¤·¤Æ¡¢¥Ö¥é¥¦¥¶¤ÎÀ¸À®¤µ¤ì¤¿HTML¥Ú¡¼¥¸¤ËÊѹ¹¤µ¤ì¤º¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£\fI<B>\fR¤ÏÂÀ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤Þ¤»¤ó(¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤Ë¤Ê¤ê¤Þ¤»¤ó)¡£¥³¡¼¥É¡¦¥Õ¥©¥ó¥È¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢\fI{@code}\fR¥¿¥°¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +@param \fIparameter\-name description\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +¡Ö¥Ñ¥é¥á¡¼¥¿¡×¥»¥¯¥·¥ç¥ó¤Ë¡¢»ØÄꤵ¤ì¤¿\fIparameter\-name\fR¤Î¸å¤Ë»ØÄꤵ¤ì¤¿description¤ò³¤±¤Æ¥Ñ¥é¥á¡¼¥¿¤òÄɲä·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢description¤òÊ£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ­½Ò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@param¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@param)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fIparameter\-name\fR¤Ï¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Î¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤«¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î·¿¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£»³¥«¥Ã¥³¤Ç¤³¤Î¥Ñ¥é¥á¡¼¥¿Ì¾¤ò°Ï¤ß¡¢·¿¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +¥¯¥é¥¹¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - @since 1.5 -.fl - -.fl -\fP -.fi -.LP -Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥½¡¼¥¹¥³¡¼¥É¤Î¾ì¹ç¡¢¤³¤Î¥¿¥°¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à API »ÅÍͤΥС¼¥¸¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¤½¤ÎÊѹ¹¤äµ¡Ç½¤¬¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤ËÄɲ䵤줿»þ´ü¤ò¼¨¤¹¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£Ê£¿ô¤Î @since ¥¿¥°¤ò»ÈÍѤǤ­¡¢Ê£¿ô¤Î @author ¥¿¥°¤Î¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡£¥×¥í¥°¥é¥àÍ×ÁǤ¬Ê£¿ô¤Î API ¤Ç»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢Ê£¿ô¤Î¥¿¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -.TP 3 -@throws\ class\-name\ description -\f2@throws\fP ¥¿¥°¤È \f2@exception\fP ¥¿¥°¤ÏƱµÁ¤Ç¤¹¡£À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡ÖÎã³°¡×¾®¸«½Ð¤·¤òÄɲ䷤ơ¢ \f2class\-name\fP ¤ª¤è¤Ó \f2description\fP ¤Î¥Æ¥­¥¹¥È¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£ \f2class\-name\fP ¤Ï¡¢¤½¤Î¥á¥½¥Ã¥É¤«¤é¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëÎã³°¤Î̾Á°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Î doc ¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£¤³¤Î¥¯¥é¥¹¤¬´°Á´»ØÄê¤Î̾Á°¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¸¡º÷½ç½ø¤Ë½¾¤Ã¤Æ¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£Æ±¤¸¤Þ¤¿¤Ï°Û¤Ê¤ëÎã³°¤Î doc ¥³¥á¥ó¥È¤Ç¡¢Ê£¿ô¤Î \f2@throws\fP ¥¿¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯ºÑ¤ßÎã³°¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢ \f2@throws\fP ¥¿¥°¤¬ throws ÀáÆâ¤ÎÎã³°ÍѤ˸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢@throws ¥¿¥°¤Î¤¢¤ë¥É¥­¥å¥á¥ó¥È¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÎã³°¤¬ HTML ½ÐÎϤËÀâÌÀ¤Ê¤·¤Ç¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤¹¡£ -.LP -¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¥á¥½¥Ã¥ÉÆâ¤ÇÎã³°¤¬ÌÀ¼¨Åª¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤ß¡¢ \f2@throws\fP ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬¤½¤Î¥á¥½¥Ã¥É¤«¤é¥µ¥Ö¥¯¥é¥¹¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥á¥½¥Ã¥É¤«¤é¼ÂÁõ¥á¥½¥Ã¥É¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¾ì¹ç¤âƱÍͤǤ¹¡£@throws ¤Ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò·Ñ¾µ¤µ¤»¤ë¤Ë¤Ï¡¢{@inheritDoc} ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@throws ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@exception¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -{@value\ package.class#field} -\f2{@value}\fP ¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Î doc ¥³¥á¥ó¥È¤Ç °ú¿ô¤Ê¤·¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÄê¿ô¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - /** -.fl - * The value of this constant is {@value}. -.fl - */ -.fl - public static final String SCRIPT_START = "<script>" -.fl - -.fl -\fP -.fi -.LP -Ǥ°Õ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Ç°ú¿ô \f2package.class#field\fP ¤¢¤ê¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î»ØÄꤵ¤ì¤¿Äê¿ô¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - /** -.fl - * Evaluates the script starting with {@value #SCRIPT_START}. -.fl - */ -.fl - public String evalScript(String script) { -.fl - } -.fl - -.fl -\fP -.fi -.LP -°ú¿ô \f2package.class#field\fP ¤Ï¡¢@see °ú¿ô¤ÈƱ°ì¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥á¥ó¥Ð¡¼¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Ë¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ -.LP -¤³¤ì¤é¤ÎÄê¿ô¤Ç¤ÎÃͤϡ¢ -.na -\f2Äê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ\fP @ -.fi -http://java.sun.com/javase/6/docs/api/constant\-values.html¥Ú¡¼¥¸¤Ë¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -@version\ version\-text -\-version ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¤È¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë [¥Ð¡¼¥¸¥ç¥ó] ¾®¸«½Ð¤·¤òÄɲä·¡¢»ØÄꤵ¤ì¤¿ \f2version\-text\fP ¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬´Þ¤Þ¤ì¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÝ»ý¤¹¤ë¤è¤¦¤Ë°Õ¿Þ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤ËÂФ·¡¢@since ¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬Æ³Æþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÝ»ý¤·¤Þ¤¹¡£ \f2version\-text\fP ¤Ë¤Ï¡¢ÆÃÊÌ¤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Ð¡¼¥¸¥ç¥ó¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤òÄ´¤Ù¤ë¤Ë¤Ï¡¢¡Ö¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -1 ¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÊ£¿ô¤Î \f2@version\fP ¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°ÕÌ£¤¬¼º¤ï¤ì¤Ê¤¤ÈÏ°ÏÆâ¤Ç¡¢1 ¤Ä¤Î \f2@version\fP ¥¿¥°¤Ë 1 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ê£¿ô¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÌ¾Á°¤È̾Á°¤Î´Ö¤Ë¥³¥ó¥Þ (\f2,\fP) ¤È¶õÇò¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥ÈÁ´ÂΤ¬¡¢²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»È¤¦É¬Íפ¬¤¢¤ë¤È¤­¤Ï¡¢1 ¤Ä¤Î¥¿¥°¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2@version ¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#@version¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RE -.SS -¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê -.LP -¤³¤³¤Ç¤Ï¡¢¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѲÄǽ¤Ê¥¿¥°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ \f2@see\fP¡¢ \f2@since\fP¡¢ \f2@deprecated\fP¡¢ \f2{@link}\fP¡¢ \f2{@linkplain}\fP¡¢¤ª¤è¤Ó \f2{@docroot}\fP¡£ -.SS -³µÍפΥɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -³µÍ×¥¿¥°¤Ï¡¢³µÍ×¥Ú¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤Ç¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢Ä̾ï \f2overview.html\fP ¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤Û¤«¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¾ì¹ç¤ÈƱÍͤˡ¢¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¤¢¤È¤Ç»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f3Ãí\fP \- ¥Ð¡¼¥¸¥ç¥ó 1.2 ¤Ç¤Ï¡¢³µÍץɥ­¥å¥á¥ó¥ÈÆâ¤Î \f2{@link}\fP ¥¿¥°¤Ë¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥È¤ÏÀµ¤·¤¯É½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢¥ê¥ó¥¯¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¡£¸½ºß¤Î¤È¤³¤í¡¢ \f2{@docRoot}\fP ¥¿¥°¤Ï¡¢³µÍץɥ­¥å¥á¥ó¥ÈÆâ¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡£ -.LP -\f3³µÍ×¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@author\fP -.TP 2 -o -\f2@version\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@docRoot}\fP -.RE -.SS -¥Ñ¥Ã¥±¡¼¥¸¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤Ç¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï \f2package.html\fP ¤Þ¤¿¤Ï \f2package\-info.java\fP ¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç»ÈÍѤǤ­¤ë \f2@serial\fP ¥¿¥°¤Ï¡¢ \f2include\fP ¤Þ¤¿¤Ï \f2exclude\fP °ú¿ô¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤À¤±¤Ç¤¹¡£ -.LP -\f3¥Ñ¥Ã¥±¡¼¥¸¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@serial\fP -.TP 2 -o -\f2@author\fP -.TP 2 -o -\f2@version\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@docRoot}\fP -.RE -.SS -¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -¼¡¤Ë¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç»ÈÍѤǤ­¤ë \f2@serial\fP ¥¿¥°¤Ï¡¢ \f2include\fP ¤Þ¤¿¤Ï \f2exclude\fP °ú¿ô¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤À¤±¤Ç¤¹¡£ -.LP -\f3¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@deprecated\fP -.TP 2 -o -\f2@serial\fP -.TP 2 -o -\f2@author\fP -.TP 2 -o -\f2@version\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@docRoot}\fP -.RE -\f3¼¡¤Ë¥¯¥é¥¹¥³¥á¥ó¥È¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fP -.nf -\f3 -.fl /** -.fl - * A class representing a window on the screen. -.fl - * For example: -.fl - * <pre> -.fl - * Window win = new Window(parent); -.fl - * win.show(); -.fl - * </pre> -.fl - * -.fl - * @author Sami Shaio -.fl - * @version 1.13, 06/08/06 -.fl - * @see java.awt.BaseWindow -.fl - * @see java.awt.Button -.fl + * @param <E> Type of element stored in a list */ -.fl -class Window extends BaseWindow { -.fl - ... -.fl +public interface List<E> extends Collection<E> { } -.fl -\fP .fi -.SS -¥Õ¥£¡¼¥ë¥É¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -¼¡¤Ë¡¢¥Õ¥£¡¼¥ë¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£ -.LP -\f3¥Õ¥£¡¼¥ë¥É¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@deprecated\fP -.TP 2 -o -\f2@serial\fP -.TP 2 -o -\f2@serialField\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@docRoot}\fP -.TP 2 -o -\f2{@value}\fP +.if n \{\ .RE -\f3¼¡¤Ë¥Õ¥£¡¼¥ë¥É¥³¥á¥ó¥È¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fP +.\} +¥á¥½¥Ã¥É¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * @param string the string to be converted + * @param type the type to convert the string to + * @param <T> the type of the element + * @param <V> the value of the element + */ +<T, V extends T> V convert(String string, Class<T> type) { +} +.fi +.if n \{\ +.RE +.\} +.RE +.PP +@return \fIdescription\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +¡ÖÌá¤êÃ͡ץ»¥¯¥·¥ç¥ó¤òÄɲ䷤ơ¢description¤Î¥Æ¥­¥¹¥È¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ç¤Ï¡¢Ìá¤êÃͤη¿¤È¡¢¼è¤êÆÀ¤ëÃͤÎÈϰϤˤĤ¤¤Æµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@return¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@return)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +@see \fIreference\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +\fI¡Ö´ØÏ¢¹àÌÜ¡×\fR¸«½Ð¤·¤òÄɲ䷤ơ¢reference¤ò»Ø¤¹¥ê¥ó¥¯¡¢¤Þ¤¿¤Ï¥Æ¥­¥¹¥È¡¦¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤ÏǤ°Õ¤Î¿ô¤Î\fI@see\fR¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ì¤é¤Ï¤¹¤Ù¤ÆÆ±¤¸¸«½Ð¤·¤Î²¼¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤Þ¤¹¡£\fI@see\fR¥¿¥°¤Ë¤Ï¡¢3¤Ä¤Î¥¿¥¤¥×¤Î·Á¼°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î·Á¼°¤¬ºÇ¤â°ìÈÌŪ¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤ËÂФ¹¤ë¥¤¥ó¥é¥¤¥ó¡¦¥ê¥ó¥¯¤òÊ¸Ãæ¤ËÁÞÆþ¤¹¤ëÊýË¡¤Ï¡¢\fI{@link}\fR¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fB·Á¼°1\fR¡£@see +\fIstring\fR¥¿¥°·Á¼°¤Ï¡¢\fIstring\fR¤Î¥Æ¥­¥¹¥È¡¦¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£string¤Ï¡¢½ñÀÒ¤Þ¤¿¤ÏURL¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ðÊó¤Î»²¾ÈÀè¤Ç¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢ºÇ½é¤Îʸ»ú¤È¤·¤ÆÆó½Å°úÍÑÉä(")¤ò¸¡º÷¤·¤Æ¡¢¤³¤Î·Á¼°¤òÁ°½Ò¤Î·Á¼°¤È¶èÊ̤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@see "The Java Programming Language"\fR¤Ï¼¡¤Î¥Æ¥­¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +\fB´ØÏ¢¹àÌÜ\fR: +.sp +"The Java Programming Language" +.sp +\fB·Á¼°2\fR¡£\fI@see <a href="URL#value">label</a>\fR·Á¼°¤Ï¡¢\fIURL#value\fR¤Ë¤è¤êÄêµÁ¤µ¤ì¤¿¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£\fIURL#value\fR¥Ñ¥é¥á¡¼¥¿¤Ï¡¢ÁêÂÐURL¤Þ¤¿¤ÏÀäÂÐURL¤Ç¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢ºÇ½é¤Îʸ»ú¤È¤·¤Æ¡Ö¤è¤ê¾®¤µ¤¤¡×µ­¹æ(\fI<\fR)¤ò¸¡º÷¤·¤Æ¡¢¤³¤Î·Á¼°¤ò¾¤Î·Á¼°¤È¶èÊ̤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@see <a href="spec\&.html#section">Java Spec</a>\fR¤Ï¼¡¤Î¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +\fB´ØÏ¢¹àÌÜ\fR: +.sp +Java Spec +.sp +\fB·Á¼°3\fR¡£\fI@see package\&.class#member label\fR·Á¼°¤Ï¡¢É½¼¨¥Æ¥­¥¹¥È¡¦¥é¥Ù¥ë¤È¤È¤â¤Ë¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥é¥Ù¥ë¤Ï»²¾È¤µ¤ì¤Æ¤¤¤ëJava¸À¸ì¤Î»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥É¥­¥å¥á¥ó¥È¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£¥é¥Ù¥ë¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£¥é¥Ù¥ë¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É½¼¨¥Æ¥­¥¹¥È¤Î¤«¤ï¤ê¤Ë¡¢Ì¾Á°¤¬Å¬ÀÚ¤Ëû½Ì¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£\fI\-noqualifier\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Îɽ¼¨¥Æ¥­¥¹¥È¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬Á´ÂÎŪ¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£¥é¥Ù¥ë¤Ï¡¢¼«Æ°À¸À®¤µ¤ì¤ëɽ¼¨¥Æ¥­¥¹¥È¤È¤Ï°Û¤Ê¤ëɽ¼¨¥Æ¥­¥¹¥È¤Ë¤¹¤ë¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +Java SE 1\&.2¤À¤±¤Ï¡¢¥é¥Ù¥ë¤Ç¤Ï¤Ê¤¯Ì¾Á°¤¬\fI<code>\fR +HTML¥¿¥°Æâ¤Ë¼«Æ°Åª¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£Java SE 1\&.2\&.2¤«¤é¤Ï¡¢¥é¥Ù¥ë¤ò»ÈÍѤ¹¤ë¤«¤·¤Ê¤¤¤«¤Ë¤«¤«¤ï¤é¤º¡¢\fI<code>\fR¥¿¥°¤Ï¾ï¤Ëɽ¼¨¥Æ¥­¥¹¥È¤ò°Ï¤à¤«¤¿¤Á¤Ç´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackage\&.class#member\fR¤Ë¤Ï¡¢»²¾È¤µ¤ì¤Æ¤¤¤ëǤ°Õ¤ÎÍ­¸ú¤Ê¥×¥í¥°¥é¥àÍ×ÁǤÎ̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤Ç¤¹¡£¤¿¤À¤·¡¢¥á¥ó¥Ð¡¼Ì¾¤ÎÁ°¤Îʸ»ú¤Ï¡¢¥·¥ã¡¼¥×µ­¹æ(\fI#\fR)¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£class¤Ï¡¢Ç¤°Õ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Þ¤¿¤Ï¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤«¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¤·¤Þ¤¹¡£member¤Ï¡¢Ç¤°Õ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤òɽ¤·¤Þ¤¹(¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¡£¤³¤Î̾Á°¤¬¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î̾Á°¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£»²¾È¥¯¥é¥¹¤Ë°¤·¤Æ¤¤¤Ê¤¤Ì¾Á°¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢Â¾¤Î2¤Ä¤Î\fI@see\fR¥¿¥°·Á¼°¤Î¤É¤Á¤é¤«¤ò»ÈÍѤ·¤Þ¤¹¡£¡Ö̾Á°¤Î»ØÄê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fBÃí°Õ:\fR +³°Éô»²¾È¥¯¥é¥¹¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤Ê¤¤¥¯¥é¥¹¤Ç¤¹¡£À¸À®¥É¥­¥å¥á¥ó¥ÈÆâ¤Ç³°Éô»²¾È¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë²Õ½ê¤Ï¡¢³°Éô»²¾È¤Þ¤¿¤Ï³°Éô¥ê¥ó¥¯¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjava\&.awt package\fR¤ËÂФ·¤Æ¤Î¤ß\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢\fIObject\fR¤Ê¤É¤Î\fIjava\&.lang\fRÆâ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤¬³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£\fI\-link\fR¤ª¤è¤Ó\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢³°Éô»²¾È¥¯¥é¥¹¤Ø¥ê¥ó¥¯¤·¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Î¥½¡¼¥¹¡¦¥³¥á¥ó¥È¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIlabel\fR¤Ï¡¢¾Êά²Äǽ¤Ê¥Æ¥­¥¹¥È¤Ç¡¢¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¥é¥Ù¥ë¤Ë¤Ï¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIlabel\fR¤ò¾Êά¤¹¤ë¤È¡¢\fIpackage\&.class\&.member\fR¤¬¡¢¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤ÆÅ¬ÀÚ¤Ëû½Ì¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¶õÇòʸ»ú¤¬¡¢\fIpackage\&.class#member\fR¤È\fIlabel\fR¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¡£¥«¥Ã¥³¤ÎÆâ¦¤Î¶õÇòʸ»ú¤Ï¥é¥Ù¥ë¤ÎÀèÆ¬¤È¤Ï²ò¼á¤µ¤ì¤Ê¤¤¤¿¤á¡¢¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿´Ö¤Ë¶õÇòʸ»ú¤òÆþ¤ì¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ +.RE +.sp +¤³¤ÎÎã¤Ç¤Ï¡¢\fI@see\fR¥¿¥°(\fICharacter\fR¥¯¥é¥¹Æâ)¤¬¡¢\fIString\fR¥¯¥é¥¹¤Îequals¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£¥¿¥°¤Ë¤Ï¡¢Ì¾Á°\fIString#equals(Object)\fR¤È¥é¥Ù¥ë\fIequals\fR¤ÎξÊý¤Î°ú¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * @see String#equals(Object) equals + */ +.fi +.if n \{\ +.RE +.\} +ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¼¡¤Î¤è¤¦¤ÊHTML¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +<dl> +<dt><b>See Also:</b> +<dd><a href="\&.\&./\&.\&./java/lang/String#equals(java\&.lang\&.Object)"><code>equals<code></a> +</dl> +.fi +.if n \{\ +.RE +.\} +Á°½Ò¤Î¥³¡¼¥É¤Ï¡¢¥Ö¥é¥¦¥¶¤Ë¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¡¢¥é¥Ù¥ë¤Ïɽ¼¨¥ê¥ó¥¯¡¦¥Æ¥­¥¹¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +\fB´ØÏ¢¹àÌÜ\fR: +.sp +equals +.RE +̾Á°¤Î»ØÄê.PP +¤³¤Î\fIpackage\&.class#member\fR¤È¤¤¤¦Ì¾Á°¤Ï¡¢\fIjava\&.lang\&.String#toUpperCase()\fR¤Î¤è¤¦¤Ê´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¡¢\fIString#toUpperCase()\fR¤ä\fI#toUpperCase()\fR¤Î¤è¤¦¤ÊÈó´°Á´½¤¾þ̾¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Ì¾Á°¤¬´°Á´½¤¾þ¤è¤êû¤¤¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢É¸½à¤ÎJava¥³¥ó¥Ñ¥¤¥é¤Î¸¡º÷½ç½ø¤ò»ÈÍѤ·¤ÆÃµ¤·¤Þ¤¹¡£¡Ö@see¥¿¥°¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ì¾Á°¤Ï¡¢¥á¥½¥Ã¥É°ú¿ô¤Î´Ö¤Ê¤É¡¢¥«¥Ã¥³Æâ¤Î¥¹¥Ú¡¼¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ÉôʬŪ¤Ë½¤¾þ¤·¤¿Ã»¤¤Ì¾Á°¤ò»ØÄꤹ¤ë¤³¤È¤ÎÍøÅÀ¤Ï¡¢ÆþÎϤ¹¤ëʸ»ú¿ô¤¬¸º¤ë¤³¤È¤ä¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤¬ÆÉ¤ß¤ä¤¹¤¯¤Ê¤ë¤³¤È¤Ç¤¹¡£¼¡¤Î¥ê¥¹¥È¤ËÍÍ¡¹¤Ê·Á¼°¤Î̾Á°¤ò¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢\fIClass\fR¤Ë¤Ï¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢Type¤Ë¤Ï¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢ÇÛÎ󡢤ޤ¿¤Ï¥×¥ê¥ß¥Æ¥£¥Ö¤ò¡¢method¤Ë¤Ï¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¡¢¤½¤ì¤¾¤ì»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fBTypical forms for\fR\fB @see package\&.class#member\fR +\fBReferencing a member of the current class\fR +@see #field +@see #method(Type, Type,\&.\&.\&.) +@see #method(Type argname, Type argname,\&.\&.\&.) +@see #constructor(Type, Type,\&.\&.\&.) +@see #constructor(Type argname, Type argname,\&.\&.\&.) + +\fBReferencing another class in the current or imported packages\fR +@see Class#field +@see Class#method(Type, Type,\&.\&.\&.) +@see Class#method(Type argname, Type argname,\&.\&.\&.) +@see Class#constructor(Type, Type,\&.\&.\&.) +@see Class#constructor(Type argname, Type argname,\&.\&.\&.) +@see Class\&.NestedClass +@see Class + +\fBReferencing an element in another package (fully qualified)\fR +@see package\&.Class#field +@see package\&.Class#method(Type, Type,\&.\&.\&.) +@see package\&.Class#method(Type argname, Type argname,\&.\&.\&.) +@see package\&.Class#constructor(Type, Type,\&.\&.\&.) +@see package\&.Class#constructor(Type argname, Type argname,\&.\&.\&.) +@see package\&.Class\&.NestedClass +@see package\&.Class +@see package +.fi +.if n \{\ +.RE +.\} +.PP +Á°¤Î¥ê¥¹¥È¤Ë´Ø¤¹¤ë¥á¥â: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ºÇ½é¤Î¥¿¥¤¥×¤Î·Á¼°(¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤ò¾Êά)¤Î¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¯¥é¥¹¤Î³¬ÁؤΤߤò¸¡º÷¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¸½ºß¤Î¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤½¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤«¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¤½¤Î³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥á¥ó¥Ð¡¼¤ò¸¡º÷¤·¤Þ¤¹(¸¡º÷¹àÌÜ1\(en3)¡£¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¾¤ÎÉôʬ¤ä¡¢Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¸¡º÷¤·¤Þ¤»¤ó(¸¡º÷¹àÌÜ4\(en5)¡£¡Ö@see¥¿¥°¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤ÎÆþÎÏ»þ¤Ë¡¢\fIgetValue\fR¤Î¤è¤¦¤Ë¥«¥Ã¥³¤Ê¤·¤Î̾Á°¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢Æ±¤¸Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¤½¤Î¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¸¡º÷¤ÇºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥á¥½¥Ã¥É¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£·ë²Ì¤ÏÁ°¤â¤Ã¤ÆÆÃÄê¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î·Á¼°¤Ë¤Ä¤¤¤Æ¡¢\fIouter\&.inner\fR¤È¤·¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ã±½ã¤Ë\fIinner\fR¤È¤Ï¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤¹¤Ç¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¡¢¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤È¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¤Ï¡¢¥É¥Ã¥È(\fI\&.\fR)¤Ç¤Ï¤Ê¤¯¥·¥ã¡¼¥×µ­¹æ(\fI#\fR)¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤ò²ò·è¤Ç¤­¤Þ¤¹¡£¥É¥Ã¥È¤Ï¡¢¥¯¥é¥¹¡¢¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¶èÀڤ뤿¤á¤Ë¤â»ÈÍѤµ¤ì¤ë¤«¤é¤Ç¤¹¡£¤¿¤À¤·¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¥É¥Ã¥È¤ÏÀµ¤·¤¯²òÀϤµ¤ì¤Þ¤¹¤¬¡¢·Ù¹ð¤Ïɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +@see¥¿¥°¤Î¸¡º÷½ç½ø.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥Õ¥¡¥¤¥ë¡¢³µÍ×¥Õ¥¡¥¤¥ë¤Ëɽ¼¨¤µ¤ì¤ë\fI@see\fR¥¿¥°¤ò½èÍý¤·¤Þ¤¹¡£¸å¼Ô¤Î2¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´½¤¾þ¤Î̾Á°¤ò\fI@see\fR¥¿¥°¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´½¤¾þ¤Î̾Á°¡¢¤Þ¤¿¤ÏÉôʬ½¤¾þ¤Î̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +¼¡¤Ë¡¢\fI@see\fR¥¿¥°¤Î¸¡º÷½ç½ø¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +¸½ºß¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹(ºÇ¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤È¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹(ºÇ¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 5.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 5." 4.2 +.\} +¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹(\fIimport\fRʸ¤Î½ç½ø¤Ë½¾¤Ã¤Æ¸¡º÷)¡£ +.RE +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢³Æ¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¹àÌÜ1\-3¤òºÆµ¢Åª¤ËŬÍѤ·¤Ê¤¬¤é¡¢°ìÃפ¹¤ë̾Á°¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¸¡º÷¤ò³¤±¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤Þ¤º¸½ºß¤Î¥¯¥é¥¹¤ò¸¡º÷¤·¡¢¼¡¤Ë¤½¤Î³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹E¤ò¸¡º÷¤·¤¿¸å¡¢E¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ò¸¡º÷¤·¤Æ¤«¤é¡¢E¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£¹àÌÜ4¤È5¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¸¡º÷¤¹¤ë½ç½ø¤Ï·è¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó(¤½¤Î½ç½ø¤Ï¡¢¸Ä¡¹¤Î¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹)¡£¹àÌÜ5¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjava\&.lang\fR¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤Ë¼«Æ°Åª¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£ +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢´°Á´½¤¾þ¤Ç¤Ê¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ç\fI@see\fR¥¿¥°¤ò¸«¤Ä¤±¤ë¤È¡¢Java¥³¥ó¥Ñ¥¤¥é¤ÈƱ¤¸½ç½ø¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤ò¸¡º÷¤·¤Þ¤¹(¤¿¤À¤·¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢ÆÃÄê¤Î̾Á°¶õ´Ö¤Î¤¢¤¤¤Þ¤¤¤µ¤ò¸¡½Ð¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë¤³¤ì¤é¤Î¥¨¥é¡¼¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤¿¤á¤Ç¤¹)¡£¤³¤Î¸¡º÷½ç½ø¤Ï¡¢Java¸À¸ì»ÅÍͤÇÀµ¼°¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢´ØÏ¢¤¹¤ë¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤«¤é¤½¤Î̾Á°¤ò¸¡º÷¤·¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¼¡¤Î½ç½ø¤Ç¸¡º÷¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +¸½ºß¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +³°Â¦¤ò°Ï¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹(ºÇ¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤È¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹(ºÇ¤â¶á¤¤¤â¤Î¤«¤é¸¡º÷)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 5.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 5." 4.2 +.\} +¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹(\fIimport\fRʸ¤Î½ç½ø¤Ë½¾¤Ã¤Æ¸¡º÷)¡£ +.RE +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢É¬¤º¤·¤â¥µ¥Ö¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢¼Â¹ÔÃæ¤Ë¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ç¤â¡¢Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\fI@see\fR¥¿¥°¤¬\fIjava\&.awt\&.event\&.KeyEvent\fR¥¯¥é¥¹Æâ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Æ¡¢\fIjava\&.awt package\fRÆâ¤Î¤¢¤ë̾Á°¤ò»²¾È¤·¤Æ¤¤¤Æ¤â¡¢¤½¤Î¥¯¥é¥¹¤¬¥¤¥ó¥Ý¡¼¥È¤·¤Ê¤¤¤«¤®¤ê\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤»¤ó¡£ +̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡.PP +\fIlabel\fR¤ò¾Êά¤¹¤ë¤È¡¢\fIpackage\&.class\&.member\fR¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤ì¤Ï¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤ÆÅ¬ÀÚ¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£Ã»½Ì¤µ¤ì¤ë¤È¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤êɬÍ׺Ǿ®¸Â¤Î̾Á°¤Î¤ß¤¬É½¼¨¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIString\&.toUpperCase()\fR¥á¥½¥Ã¥É¤Ë¡¢Æ±¤¸¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ø¤Î»²¾È¤È¾¤Î¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ø¤Î»²¾È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹Ì¾¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¸å¼Ô¤Î¥±¡¼¥¹¤Î¤ß¤Ç¤¹(¼¡¤Î¥ê¥¹¥È¤ò»²¾È)¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÁ´ÂÎŪ¤Ëºï½ü¤¹¤ë¤Ë¤Ï¡¢\fI\-noqualifier\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RS 4 +\fB»²¾È¤Î¥¿¥¤¥×\fR: \fI@see\fR¥¿¥°¤ÏƱ¤¸¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Þ¤¹ +.RE +.RS 4 +\fBÎã\fR: \fI@see String#toLowerCase()\fR +.RE +.RS 4 +\fBɽ¼¨\fR: \fItoLowerCase()\fR \- ¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹Ì¾¤ò¾Êά¤·¤Þ¤¹ +.RE +.RS 4 +.RE +.RS 4 +\fB»²¾È¤Î¥¿¥¤¥×\fR: \fI@see\fR¥¿¥°¤ÏÊ̤Υ¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Þ¤¹ +.RE +.RS 4 +\fBÎã\fR: \fI@see Character#toLowerCase(char)\fR +.RE +.RS 4 +\fBɽ¼¨\fR: \fICharacter\&.toLowerCase(char)\fR \- ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¾Êά¤·¡¢¥¯¥é¥¹Ì¾¤ò´Þ¤ß¤Þ¤¹ +.RE +.RS 4 +.RE +.RS 4 +\fB»²¾È¤Î¥¿¥¤¥×\fR: \fI@see\fR¥¿¥°¤Ï°Û¤Ê¤ë¥¯¥é¥¹¡¢°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¡¼¤ò»²¾È¤·¤Þ¤¹ +.RE +.RS 4 +\fBÎã\fR: \fI@see java\&.io\&.File#exists()\fR +.RE +.RS 4 +\fBɽ¼¨\fR: \fIjava\&.io\&.File\&.exists()\fR \- ¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹Ì¾¤ò´Þ¤ß¤Þ¤¹ +.RE +.RS 4 +.RE +@see¥¿¥°¤ÎÎã.PP +±¦Â¦¤Î¥³¥á¥ó¥È¤Ï¡¢\fI@see\fR¥¿¥°¤¬\fIjava\&.applet\&.Applet\fR¤Ê¤É¤ÎÊ̤Υѥ屡¼¥¸¤Î¥¯¥é¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ë¡¢Ì¾Á°¤¬¤É¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@see¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@see)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + See also: +@see java\&.lang\&.String // String +@see java\&.lang\&.String The String class // The String class +@see String // String +@see String#equals(Object) // String\&.equals(Object) +@see String#equals // String\&.equals(java\&.lang\&.Object) +@see java\&.lang\&.Object#wait(long) // java\&.lang\&.Object\&.wait(long) +@see Character#MAX_RADIX // Character\&.MAX_RADIX +@see <a href="spec\&.html">Java Spec</a> // Java Spec +@see "The Java Programming Language" // "The Java Programming Language" +.fi +.if n \{\ +.RE +.\} +.PP +\fBÃí°Õ:\fR +\fI@se\fR\fIe\fR¥¿¥°¤ò³ÈÄ¥¤·¤Æ¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +@serial \fIfield\-description\fR | include | exclude +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤ·¤Þ¤¹¡£¥¯¥é¥¹¤ÎľÎó²½²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Îʸ½ñ²½ +(http://docs\&.oracle\&.com/javase/8/docs/platform/serialization/spec/serial\-arch\&.html#5251)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +Oracle¤ÎľÎ󲽤µ¤ì¤¿·Á¼°¤Î»ÅÍͤ˥¯¥é¥¹¤ò´Þ¤á¤ë´ð½à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/serialized\-criteria\-137781\&.html)¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fIfield\-description\fR(¾Êά²Äǽ)¤Ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î°ÕÌ£¤òÀâÌÀ¤·¡¢¼è¤êÆÀ¤ëÃͤΥꥹ¥È¤ò¼¨¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£É¬Íפʾì¹ç¤Ï¡¢Ê£¿ô¤Î¹Ô¤ËÅϤäÆÀâÌÀ¤òµ­½Ò¤Ç¤­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¤³¤Î¾ðÊó¤ò¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤ËÄɲä·¤Þ¤¹¡£Áê¸ß»²¾È¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥¯¥é¥¹¤òľÎ󲽤·¤¿¸å¤ËľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤ò¥¯¥é¥¹¤ËÄɲä·¤¿¾ì¹ç¡¢¼çÀâÌÀ¤Ë¡¢Äɲä·¤¿¥Ð¡¼¥¸¥ç¥ó¤ò¼±Ê̤¹¤ëʸ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fIinclude\fR¤ª¤è¤Ó\fIexclude\fR°ú¿ô¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¥Ú¡¼¥¸¤Ë¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤á¤ë¤«½ü³°¤¹¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£¼¡¤Î¤è¤¦¤Ëµ¡Ç½¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fISerializable\fR¤ò¼ÂÁõ¤·¤Æ¤¤¤ëpublic¤Þ¤¿¤Ïprotected¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹(¤Þ¤¿¤Ï¤½¤Î¥¯¥é¥¹¤¬Â°¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸)¤¬\fI@serial exclude\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤®¤ê¡¢´Þ¤á¤é¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fISerializable\fR¤ò¼ÂÁõ¤·¤Æ¤¤¤ëprivate¤Þ¤¿¤Ïpackage\-private¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹(¤Þ¤¿¤Ï¤½¤Î¥¯¥é¥¹¤¬Â°¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸)¤¬\fI@serial include\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤®¤ê¡¢½ü³°¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +¤¿¤È¤¨¤Ð¡¢\fIjavax\&.swing\fR¥Ñ¥Ã¥±¡¼¥¸¤Ïpackage\&.html¤Þ¤¿¤Ïpackage\-info\&.javaÆâ¤Ç\fI@serial\fR +\fIexclude\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£public¥¯¥é¥¹\fIjava\&.security\&.BasicPermission\fR¤Ï\fI@serial exclude\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£package\-private¥¯¥é¥¹\fIjava\&.util\&.PropertyPermissionCollection\fR¤Ï\fI@serial include\fR¥¿¥°¤Ç¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¥¯¥é¥¹¡¦¥ì¥Ù¥ë¤Î\fI@serial\fR¥¿¥°¤Ï¥Ñ¥Ã¥±¡¼¥¸¡¦¥ì¥Ù¥ë¤Î\fI@serial\fR¥¿¥°¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +@serialData \fIdata\-description\fR +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +¥Ç¡¼¥¿¤ÎÀâÌÀÃͤò»ÈÍѤ·¤Æ¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Ç¤Î¥Ç¡¼¥¿¤Î·¿¤È½ç½ø¤ò¥É¥­¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£¤³¤Î¥Ç¡¼¥¿¤Ë¤Ï¡¢\fIwriteObject\fR¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤ë¾Êά²Äǽ¤Ê¥Ç¡¼¥¿¡¢¤ª¤è¤Ó\fIExternalizable\&.writeExternal\fR¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿(¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤ò´Þ¤à)¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +\fI@serialData\fR¥¿¥°¤Ï¡¢\fIwriteObject\fR¡¢\fIreadObject\fR¡¢\fIwriteExternal\fR¡¢\fIreadExternal\fR¡¢\fIwriteReplace\fR¤ª¤è¤Ó\fIreadResolve\fR¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +@serialField \fIfield\-name\fR \fIfield\-type\fR \fIfield\-description\fR +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +\fISerializable\fR¥¯¥é¥¹¤Î\fIserialPersistentFields\fR¥á¥ó¥Ð¡¼¤Î\fIObjectStreamField\fR¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥É¥­¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£\fIObjectStreamField\fR¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë1¤Ä¤Î\fI@serialField\fR¥¿¥°¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +@since \fIsince\-text\fR +.RS 4 +JDK 1\&.1¤ÇƳÆþ +.sp +À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢»ØÄꤵ¤ì¤¿\fIsince\-text\fR¤ÎÃͤÎ\fI¡ÖƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¡×\fR¸«½Ð¤·¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ë¤Ï¡¢ÆÃÊÌ¤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤ÇÍ­¸ú¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢ÆÃÄê¤ÎÊѹ¹¤Þ¤¿¤Ïµ¡Ç½¤¬¡¢\fIsince\-text\fR¤ÎÃͤˤè¤Ã¤Æ»ØÄꤵ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¡¦¥ê¥ê¡¼¥¹°Ê¹ß¡¢Â¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@since 1\&.5\fR¤Ç¤¹¡£ +.sp +Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¾ì¹ç¡¢\fI@since\fR¥¿¥°¤Ï¡¢Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥àAPI»ÅÍͤΥС¼¥¸¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¥½¡¼¥¹¡¦¥³¡¼¥É¤¬¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤ËÄɲ䵤줿»þ´ü¤ò¼¨¤¹¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£Ê£¿ô¤Î\fI@since\fR¥¿¥°¤ò»ÈÍѤǤ­¡¢Ê£¿ô¤Î\fI@author\fR¥¿¥°¤Î¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡£¥×¥í¥°¥é¥àÍ×ÁǤ¬Ê£¿ô¤ÎAPI¤Ç»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢Ê£¿ô¤Î¥¿¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +@throws \fIclass\-name\fR \fIdescription\fR +.RS 4 +JDK 1\&.2¤ÇƳÆþ +.sp +\fI@exception\fR¥¿¥°¤ÈƱ¤¸Æ°ºî¤ò¤·¤Þ¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@throws¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@exception)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fI@throws\fR¥¿¥°¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë\fIThrows\fR¾®¸«½Ð¤·¤òÄɲ䷤ơ¢\fIclass\-name\fR¤ª¤è¤Ó\fIdescription\fR¥Æ¥­¥¹¥È¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£\fIclass\-name\fR¤Ï¡¢¤½¤Î¥á¥½¥Ã¥É¤«¤é¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëÎã³°¤Î̾Á°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£¤³¤Î¥¯¥é¥¹¤¬´°Á´»ØÄê¤Î̾Á°¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¸¡º÷½ç½ø¤Ë½¾¤Ã¤Æ¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£Ê£¿ô¤Î\fI@throws\fR¥¿¥°¤ò¡¢Æ±¤¸Îã³°¤Þ¤¿¤Ï°ã¤¦Îã³°¤Î»ØÄꤷ¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¡Ö@see¥¿¥°¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯ºÑÎã³°¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢\fI@throws\fR¥¿¥°¤¬throwsÀáÆâ¤ÎÎã³°ÍѤ˸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\fI@throws\fR¥¿¥°¤Ç¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¤«¤Î¤è¤¦¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÎã³°¤¬HTML½ÐÎϤËÀâÌÀ¤Ê¤·¤ÇÄɲ䵤ì¤Þ¤¹¡£ +.sp +¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¥á¥½¥Ã¥ÉÆâ¤ÇÎã³°¤¬ÌÀ¼¨Åª¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤ß¡¢\fI@throws\fR¤Î¥É¥­¥å¥á¥ó¥È¤¬¤½¤Î¥á¥½¥Ã¥É¤«¤é¥µ¥Ö¥¯¥é¥¹¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥á¥½¥Ã¥É¤«¤é¼ÂÁõ¥á¥½¥Ã¥É¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¾ì¹ç¤âƱÍͤǤ¹¡£\fI{@inheritDoc}\fR¥¿¥°¤ò»ÈÍѤ·¤Æ¡¢\fI@throws\fR¥¿¥°¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò·Ñ¾µ¤¹¤ë¤è¤¦¤Ë¶¯À©¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +{@value \fIpackage\&.class#field\fR} +.RS 4 +JDK 1\&.4¤ÇƳÆþ +.sp +Äê¿ô¤ÎÃͤòɽ¼¨¤·¤Þ¤¹¡£\fI{@value}\fR¥¿¥°¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç°ú¿ô¤Ê¤·¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÄê¿ô¤ÎÃͤòɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * The value of this constant is {@value}\&. + */ +public static final String SCRIPT_START = "<script>" +.fi +.if n \{\ +.RE +.\} +Ǥ°Õ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Ç°ú¿ô\fIpackage\&.class#field\fR¤¢¤ê¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢\fI{@value}\fR¥¿¥°¤Ï»ØÄꤵ¤ì¤¿Äê¿ô¤ÎÃͤòɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * Evaluates the script starting with {@value #SCRIPT_START}\&. + */ +public String evalScript(String script) {} +.fi +.if n \{\ +.RE +.\} +°ú¿ô\fIpackage\&.class#field\fR¤Ï¡¢\fI@see\fR¥¿¥°°ú¿ô¤ÈƱ°ì¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥á¥ó¥Ð¡¼¤ÏÀÅŪ¥Õ¥£¡¼¥ë¥É¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¤³¤ì¤é¤ÎÄê¿ô¤ÎÃͤϡÖÄê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ¡× +(http://docs\&.oracle\&.com/javase/8/docs/api/constant\-values\&.html)¤Ë¤âɽ¼¨¤µ¤ì¤Þ¤¹ +.RE +.PP +@version \fIversion\-text\fR +.RS 4 +JDK 1\&.0¤ÇƳÆþ +.sp +\fI\-version\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë\fI¡Ö¥Ð¡¼¥¸¥ç¥ó¡×\fR¾®¸«½Ð¤·¤òÄɲ䷤ơ¢»ØÄꤵ¤ì¤¿\fIversion\-text\fR¤ÎÃͤò½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¤³¤Î¥³¡¼¥É¤¬´Þ¤Þ¤ì¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¸½ºß¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤òÊÝ»ý¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¤Î¤ËÂФ·¡¢\fI@since\fR¥¿¥°¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬Æ³Æþ¤µ¤ì¤¿¥ê¥ê¡¼¥¹ÈÖ¹æ¤òÊÝ»ý¤·¤Þ¤¹¡£\fIversion\-text\fR¤ÎÃͤˤϡ¢ÆÃÊÌ¤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î@version¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#@version)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +1¤Ä¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ËÊ£¿ô¤Î\fI@version\fR¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£É¬Íפ˱þ¤¸¤Æ¡¢1¤Ä¤Î\fI@version\fR¥¿¥°¤Ë1¤Ä¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ê£¿ô¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÌ¾Á°¤È̾Á°¤Î´Ö¤Ë¥«¥ó¥Þ(,)¤È¶õÇòʸ»ú¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥ÈÁ´ÂΤ¬²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥«¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¡¢1¹Ô¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.SH "¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê" +.PP +¤³¤³¤Ç¤Ï¡¢¥¿¥°¤ò»ÈÍѤǤ­¤ë¾ì½ê¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¼¡¤Î¥¿¥°¤¬¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£\fI@see\fR¡¢\fI@since\fR¡¢\fI@deprecated\fR¡¢\fI{@link}\fR¡¢\fI{@linkplain}\fR¤ª¤è¤Ó\fI{@docroot}\fR¡£ +.SS "³µÍ×¥¿¥°" +.PP +³µÍ×¥¿¥°¤Ï¡¢³µÍ×¥Ú¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤Ç¤¹(¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ï¡¢Ä̾ïoverview\&.html¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ê¤Þ¤¹)¡£Â¾¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¾ì¹ç¤ÈƱÍͤˡ¢¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¼çÀâÌÀ¤Î¸å¤Ç»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +Java SE 1\&.2¤Ç¤Ï¡¢³µÍץɥ­¥å¥á¥ó¥ÈÆâ¤Î\fI{@link}\fR¥¿¥°¤ËÉÔ¶ñ¹ç¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥È¤ÏÀµ¤·¤¯É½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢¥ê¥ó¥¯¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¡£¸½ºß¤Î¤È¤³¤í¡¢\fI{@docRoot}\fR¥¿¥°¤Ï¡¢³µÍץɥ­¥å¥á¥ó¥ÈÆâ¤Ç¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£ +.PP +³µÍ×¥¿¥°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +@see reference || @since since\-text || @serialField field\-name field\-type field\-description || @author name\-text || @version version\-text || {@link package\&.class#member label} || {@linkplain package\&.class#member label} || {@docRoot} || +.SS "¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°" +.PP +¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤Ç¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ïpackage\&.html¤Þ¤¿¤Ïpackage\-info\&.java¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç»ÈÍѤǤ­¤ë\fI@serial\fR¥¿¥°¤Ï¡¢\fIinclude\fR¤Þ¤¿¤Ï\fIexclude\fR°ú¿ô¤ò»ØÄꤷ¤¿¤â¤Î¤Î¤ß¤Ç¤¹¡£ +.PP +¥Ñ¥Ã¥±¡¼¥¸¡¦¥¿¥°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +@see reference || @since since\-text || @serial field\-description | include | exclude || @author name\-text || @version version\-text || {@linkplain package\&.class#member label} || {@linkplain package\&.class#member label} || {@docRoot} || +.SS "¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¦¥¿¥°" +.PP +¼¡¤Ë¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£\fI@serial\fR¥¿¥°¤Ï¡¢\fIinclude\fR¤Þ¤¿¤Ï\fIexclude\fR°ú¿ô¤ò»ØÄꤷ¤Æ¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÆâ¤Ç¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +@see reference || @since since\-text || @deprecated deprecated\-text || @serial field\-description | include | exclude || @author name\-text || @version version\-text || {@link package\&.class#member label} || {@linkplain package\&.class#member label} || {@docRoot} || +.PP +¥¯¥é¥¹¡¦¥³¥á¥ó¥È¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * A class representing a window on the screen\&. + * For example: + * <pre> + * Window win = new Window(parent); + * win\&.show(); + * </pre> + * + * @author Sami Shaio + * @version 1\&.13, 06/08/06 + * @see java\&.awt\&.BaseWindow + * @see java\&.awt\&.Button + */ +class Window extends BaseWindow { + \&.\&.\&. +} +.fi +.if n \{\ +.RE +.\} +.SS "¥Õ¥£¡¼¥ë¥É¡¦¥¿¥°" +.PP +¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Ëɽ¼¨¤Ç¤­¤Þ¤¹¡£ +.PP +@see reference || @since since\-text || @deprecated deprecated\-text || @serial field\-description | include | exclude || @serialField field\-name field\-type field\-description || {@link package\&.class#member label} || {@linkplain package\&.class#member label} || {@docRoot} || {@value package\&.class#field} +.PP +¥Õ¥£¡¼¥ë¥É¡¦¥³¥á¥ó¥È¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl /** -.fl - * The X\-coordinate of the component. -.fl + * The X\-coordinate of the component\&. * -.fl * @see #getLocation() -.fl */ -.fl int x = 1263732; -.fl -\fP .fi -.SS -¥³¥ó¥¹¥È¥é¥¯¥¿¤ª¤è¤Ó¥á¥½¥Ã¥É¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥¿¥° -.LP -¼¡¤Ë¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£¤¿¤À¤·¡¢ \f2@return\fP ¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Ï»ÈÍѤǤ­¤º¡¢ \f2{@inheritDoc}\fP ¤Ë¤ÏÆÃÄê¤ÎÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£ \f2@serialData\fP ¥¿¥°¤ÏÆÃÄê¤ÎľÎ󲽥᥽¥Ã¥É¤Î doc ¥³¥á¥ó¥È¤Ç¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -\f3¥á¥½¥Ã¥É¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¥¿¥°\fP -.RS 3 -.TP 2 -o -\f2@see\fP -.TP 2 -o -\f2@since\fP -.TP 2 -o -\f2@deprecated\fP -.TP 2 -o -\f2@param\fP -.TP 2 -o -\f2@return\fP -.TP 2 -o -\f2@throws\fP ¤È \f2@exception\fP -.TP 2 -o -\f2@serialData\fP -.TP 2 -o -\f2{@link}\fP -.TP 2 -o -\f2{@linkplain}\fP -.TP 2 -o -\f2{@inheritDoc}\fP -.TP 2 -o -\f2{@docRoot}\fP +.if n \{\ .RE -\f3¼¡¤Ë¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fP +.\} +.SS "¥³¥ó¥¹¥È¥é¥¯¥¿¤È¥á¥½¥Ã¥É¡¦¥¿¥°" +.PP +¼¡¤Ë¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç»ÈÍѤǤ­¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\fI@return\fR¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Ï»ÈÍѤǤ­¤º¡¢ +\fI{@inheritDoc}\fR¤Ë¤ÏÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +@see reference || @since since\-text || @deprecated deprecated\-text || @param parameter\-name description || @return description || @throws class\-name description || @exception class\-name description || @serialData data\-description || {@link package\&.class#member label} || {@linkplain package\&.class#member label} || {@inheritDoc} || {@docRoot} +.PP +\fBÃí°Õ:\fR +\fI@serialData\fR¥¿¥°¤Ï¡¢\fIwriteObject\fR¡¢\fIreadObject\fR¡¢\fIwriteExternal\fR¡¢\fIreadExternal\fR¡¢\fIwriteReplace\fR¤ª¤è¤Ó\fIreadResolve\fR¥á¥½¥Ã¥É¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ç¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +¥á¥½¥Ã¥É¡¦¥³¥á¥ó¥È¤ÎÎã: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - /** -.fl - * Returns the character at the specified index. An index -.fl - * ranges from <code>0</code> to <code>length() \- 1</code>. -.fl +/** + * Returns the character at the specified index\&. An index + * ranges from <code>0</code> to <code>length() \- 1</code> * -.fl - * @param index the index of the desired character. -.fl - * @return the desired character. -.fl + * @param index the index of the desired character\&. + * @return the desired character\&. * @exception StringIndexOutOfRangeException -.fl * if the index is not in the range <code>0</code> -.fl - * to <code>length()\-1</code>. -.fl - * @see java.lang.Character#charValue() -.fl + * to <code>length()\-1</code> + * @see java\&.lang\&.Character#charValue() */ -.fl public char charAt(int index) { -.fl - ... -.fl + \&.\&.\&. } -.fl -\fP .fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -javadoc ¥Ä¡¼¥ë¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ½ÐÎϤò·èÄꤷ¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢\-doclet ¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤¤¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢Ç¤°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤È¤È¤â¤Ë»ÈÍѤǤ­¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¤¢¤È¤Î¡ÖJavadoc ¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤Î¤Û¤«¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÄɲäΥ³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬Ä󶡤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤Î¤¢¤È¤Î¡Öɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£¤É¤Î¥ª¥×¥·¥ç¥ó̾¤â¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£ -.LP +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ½ÐÎϤò·èÄꤷ¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI\-doclet\fR¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¡¦¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢Ç¤°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤È¤È¤â¤Ë»ÈÍѤǤ­¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢Javadoc¥ª¥×¥·¥ç¥ó¤ÇÀâÌÀ¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤Î¾¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÄɲäΥ³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬Ä󶡤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó¤ÇÀâÌÀ¤·¤Þ¤¹¡£¤É¤Î¥ª¥×¥·¥ç¥ó̾¤â¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Javadoc¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP ¥ª¥×¥·¥ç¥ó¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.PP +\-1\&.1 || \-author || \-bootclasspath classpathlist || \-bottom text || \-breakiterator || \-charset name || \-classpath classpathlist || \-d directory || \-docencoding name || \-docfilesubdirs || \-doclet class || \-docletpath classpathlist || \-doctitle title || \-encoding || \-exclude packagename1:packagename2:\&.\&.\&. || \-excludedocfilessubdir name1:name2 || \-extdirs dirist || \-footer footer || \-group groupheading packagepattern:packagepattern || \-header header || \-help || \-helpfile path\efilename || \-Jflag || \-keywords || \-link extdocURL || \-linkoffline extdocURL packagelistLoc || \-linksource || \-locale language_country_variant || \-nocomment || \-nodeprecated || \-nodeprecatedlist || \-nohelp || \-noindex || \-nonavbar || \-noqualifier all | packagename1:packagename2\&.\&.\&. || \-nosince || \-notimestamp || \-notree || +\fI\-overview path/filename || \fR\-package || \-private || \-protected || \-public || \-quiet || \-serialwarn || \-source release || \-sourcepath sourcepathlist || \-sourcetab tablength || \-splitindex || +\fI\-stylesheet path/filename || \fR\-subpackages package1:package2:\&.\&.\&. || \-tag tagname:Xaoptcmf:"taghead" || \-taglet class || \-tagletpath tagletpathlist || \-title title || \-top || \-use || \-verbose || \-version || \-windowtitle title +.PP +¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ë»ÈÍѲÄǽ¤Ê¥³¥¢¤ÎJavadoc¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Î¾¤ÎÉôʬ¤òÄ󶡤·¤Þ¤¹¡£\fI\-bootclasspath\fR¡¢\fI\-breakiterator\fR¡¢\fI\-classpath\fR¡¢\fI\-doclet\fR¡¢\fI\-docletpath\fR¡¢\fI\-encoding\fR¡¢\-\fIexclude\fR¡¢\fI\-extdirs\fR¡¢\fI\-help\fR¡¢\fI\-locale\fR¡¢\fI\-\fR\fIoverview\fR¡¢\fI\-package\fR¡¢\fI\-private\fR¡¢\fI\-protected\fR¡¢\fI\-public\fR¡¢\fI\-quiet\fR¡¢\fI\-source\fR¡¢\fI\-sourcepath\fR¡¢\fI\-subpackages\fR¤ª¤è¤Ó\fI\-verbose\fR¡£ +.SS "Javadoc¥ª¥×¥·¥ç¥ó" +.PP +\-overview \fIpath/filename \fR +.RS 4 + +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¡¢\fIpath/filename \fR¤Ç»ØÄꤵ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é³µÍץɥ­¥å¥á¥ó¥ÈÍѤΥƥ­¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤Î¥Æ¥­¥¹¥È¤ò³µÍ×¥Ú¡¼¥¸(overview\-summary\&.html)¤ËÇÛÃÖ¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£\fIpath/filename\fR¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£ +.sp +\fIfilename\fR¤ÎÃͤÇǤ°Õ¤Î̾Á°¤ò»ÈÍѤ·¡¢path¤ÇǤ°Õ¤ÎÇÛÃÖÀè¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢Ä̾ï¤Ïoverview\&.html¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼Æâ¤ÎºÇ¾å°Ì¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤³¤Î¾ì½ê¤ËÇÛÃÖ¤¹¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤È¤­¤Ëpath¤ò»ØÄꤹ¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤¬»Ø¤·¼¨¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIjava\&.lang\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤¬/src/classes/java/lang/¤Î¾ì¹ç¡¢³µÍ×¥Õ¥¡¥¤¥ë¤ò/src/classes/overview\&.html¤ËÇÛÃ֤Ǥ­¤Þ¤¹ +.sp +¼ÂºÝ¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fIpath/filename\fR¤Ç»ØÄꤹ¤ë¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢³µÍ×¥³¥á¥ó¥È¡¦¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +³µÍ×¥Ú¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤Î¤ß¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢HTML¥Õ¥ì¡¼¥à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£³µÍ×¥Ú¡¼¥¸¤Î¥¿¥¤¥È¥ë¤Ï¡¢\fI\-doctitle\fR¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xdoclint:(all|none|[\-]\fI<group>\fR) +.RS 4 +ÉÔÀµ¤Ê»²¾È¡¢¥¢¥¯¥»¥·¥Ó¥ê¥Æ¥£¤Î·çÍ¤è¤ÓJavadoc¥³¥á¥ó¥È¤ÎÉÔ­¤Î·Ù¹ð¤ò¥ì¥Ý¡¼¥È¤·¡¢Ìµ¸ú¤ÊJavadoc¹½Ê¸¤ª¤è¤ÓÉÔ­¤·¤Æ¤¤¤ëHTML¥¿¥°¤Î¥¨¥é¡¼¤ò¥ì¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ÏÀ¸À®¤µ¤ì¤¿½ÐÎϤ˴ޤޤì¤ë¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È¡¦¥³¥á¥ó¥È¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£Ä̾ï¤É¤ª¤ê¡¢É¸½à¥ª¥×¥·¥ç¥ó\fI\-public\fR¡¢\fI\-protected\fR¡¢\fI\-package\fR¤ª¤è¤Ó\fI\-private\fR¤ÇÀ¸À®¤µ¤ì¤¿½ÐÎϤ˴ޤà¹àÌܤòÁªÂò¤Ç¤­¤Þ¤¹¡£ +.sp +\fI\-Xdoclint\fR¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fIjavac\fR¥³¥Þ¥ó¥É¤ÈƱÍͤ˥á¥Ã¥»¡¼¥¸¤ÇÌäÂ꤬¥ì¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥á¥Ã¥»¡¼¥¸¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤ª¤è¤Ó¥¨¥é¡¼¤¬¸¡½Ð¤µ¤ì¤¿Àµ³Î¤Ê°ÌÃÖ¤ò»Ø¤¹¥­¥ã¥ì¥Ã¥È¤ò½ÐÎϤ·¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸¤Ï¡¢½ÅÂçÅÙ¡¢¤ª¤è¤ÓÀ¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤¬¥Ð¥ê¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¥¨¥é¡¼¤¬È¯À¸¤¹¤ë²ÄǽÀ­¤Ë±þ¤¸¤Æ¡¢·Ù¹ð¤Þ¤¿¤Ï¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÉÔÀµ¤Ê»²¾È¤Þ¤¿¤ÏJavadoc¥³¥á¥ó¥È¤Î·çÍî¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬Ìµ¸ú¤ÊHTML¤òÀ¸À®¤¹¤ë¸¶°ø¤Ë¤Ê¤é¤Ê¤¤¤¿¤á¡¢¤³¤ì¤é¤ÎÌäÂê¤Ï·Ù¹ð¤È¤·¤Æ¥ì¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¹½Ê¸¥¨¥é¡¼¤Þ¤¿¤ÏHTML½ªÎ»¥¿¥°¤Î·çÍî¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬Ìµ¸ú¤ÊHTML¤òÀ¸À®¤¹¤ë¸¶°ø¤Ë¤Ê¤ë¤¿¤á¡¢¤³¤ì¤é¤ÎÌäÂê¤Ï¥¨¥é¡¼¤È¤·¤Æ¥ì¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó\fI\-Xdoclint:none\fR¤Ç̵¸ú¤Ë¤·¤Þ¤¹¡£ +.sp +\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤Ç¥ì¥Ý¡¼¥È¤µ¤ì¤ëÆâÍÆ¤Ï¼¡¤Î¥ª¥×¥·¥ç¥ó¤ÇÊѹ¹¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-Xdoclint\fR\fI\fR\fI none\fR: +\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-Xdoclint\fR\fI\fR\fI \fR\fIgroup\fR: +\fIgroup\fR¥Á¥§¥Ã¥¯¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-Xdoclint\fR\fI\fR\fI all\fR: ¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯¡¦¥°¥ë¡¼¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-Xdoclint\fR\fI\fR\fI all,\fR\fI\-group\fR: +\fIgroup\fR¥Á¥§¥Ã¥¯°Ê³°¤Î¤¹¤Ù¤Æ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.sp +ÊÑ¿ô\fIgroup\fR¤Ï¼¡¤Î¤¤¤º¤ì¤«¤ÎÃͤò»ý¤Á¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIaccessibility\fR: ¥¢¥¯¥»¥·¥Ó¥ê¥Æ¥£¡¦¥Á¥§¥Ã¥«¤Ç¸¡½Ð¤¹¤ëÌäÂê¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹(¤¿¤È¤¨¤Ð¡¢\fI<table>\fR¥¿¥°¤Ç»ØÄꤵ¤ì¤ëno caption¤Þ¤¿¤Ïsummary°À­)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIhtml\fR: ¥¤¥ó¥é¥¤¥óÍ×ÁǤؤΥ֥í¥Ã¥¯Í×ÁǤÎÁÞÆþ¤ä½ªÎ»¥¿¥°¤òɬÍפȤ¹¤ëÍ×ÁǤò½ªÎ»¤·¤Ê¤¤¤Ê¤É¡¢¾å°Ì¥ì¥Ù¥ëHTML¤ÎÌäÂê¤ò¸¡½Ð¤·¤Þ¤¹¡£¥ë¡¼¥ë¤Ï¡¢HTML 4\&.01»ÅÍͤ«¤éƳ½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¿¥¤¥×¤Î¥Á¥§¥Ã¥¯¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤òÍ­¸ú¤Ë¤·¤Æ¡¢¥Ö¥é¥¦¥¶¤¬¼õ¤±Æþ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëHTML¤ÎÌäÂê¤ò¸¡½Ð¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fImissing\fR: ·çÍ¤Æ¤¤¤ëJavadoc¥³¥á¥ó¥È¤Þ¤¿¤Ï¥¿¥°¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹(¤¿¤È¤¨¤Ð¡¢·çÍ¤Æ¤¤¤ë¥³¥á¥ó¥È¤ä¥¯¥é¥¹¡¢¤Þ¤¿¤Ï·çÍ¤Æ¤¤¤ë\fI@return\fR¥¿¥°¤ä¥á¥½¥Ã¥É¾å¤ÎƱÍͤΥ¿¥°)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIreference\fR: Javadoc¥¿¥°¤ÎJava APIÍ×ÁǤλ²¾È¤Ë´ØÏ¢¤¹¤ëÌäÂê¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹(¤¿¤È¤¨¤Ð¡¢\fI@see\fR¤Ç¸«¤Ä¤«¤é¤Ê¤¤¹àÌÜ¡¢¤Þ¤¿¤Ï\fI@param\fR¤Î¸å¤ÎÉÔÀµ¤Ê̾Á°)¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIsyntax\fR: ¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤¤»³¥«¥Ã¥³(\fI<\fR¤ª¤è¤Ó\fI>\fR)¤ä¥¢¥ó¥Ñ¥µ¥ó¥É(\fI&\fR)¡¢Ìµ¸ú¤ÊJavadoc¥¿¥°¤Ê¤É¤Î²¼°Ì¥ì¥Ù¥ë¤ÎÌäÂê¤ò³Îǧ¤·¤Þ¤¹¡£ +.RE +.sp +\fI\-Xdoclint\fR¥ª¥×¥·¥ç¥ó¤òÊ£¿ô²ó»ØÄꤷ¤Æ¡¢Ê£¿ô¤Î¥«¥Æ¥´¥ê¤Î¥¨¥é¡¼¤È·Ù¹ð¤ò¥Á¥§¥Ã¥¯¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢Á°¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð¥«¥Æ¥´¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤ·¤Æ¡¢\fIfilename\fR¥Õ¥¡¥¤¥ëÆâ¤ÎHTML¡¢¹½Ê¸¤ª¤è¤Ó¥¢¥¯¥»¥·¥Ó¥ê¥Æ¥£¤ÎÌäÂê¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\-\f21.1\fP -.br -\-author -.br -\-\f2bootclasspath\fP -.br -\-bottom -.br -\-\f2breakiterator\fP -.br -\-charset -.br -\-\f2classpath\fP -.br -\-d -.br -\-docencoding -.br -\-docfilessubdirs -.br -\-\f2doclet\fP -.br -\-\f2docletpath\fP -.br -\-doctitle -.br -\-\f2encoding\fP -.br -\-\f2exclude\fP -.br -\-excludedocfilessubdir -.br -\-\f2extdirs\fP -.br -\-footer -.br -\-group -.br -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\-header -.br -\-\f2help\fP -.br -\-helpfile -.br -\-\f2J\fP -.br -\-keywords -.br -\-link -.br -\-linkoffline -.br -\-linksource -.br -\-\f2locale\fP -.br -\-nocomment -.br -\-nodeprecated -.br -\-nodeprecatedlist -.br -\-nohelp -.br -\-noindex -.br -\-nonavbar -.br -\-noqualifier -.br -\-nosince -.br -\-notimestamp -.br -\-notree -.br -\-\f2overview\fP -.br -\-\f2package\fP -.br -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\-\f2private\fP -.br -\-\f2protected\fP -.br -\-\f2public\fP -.br -\-\f2quiet\fP -.br -\-serialwarn -.br -\-\f2source\fP -.br -\-\f2sourcepath\fP -.br -\-sourcetab -.br -\-splitindex -.br -\-stylesheetfile -.br -\-\f2subpackages\fP -.br -\-tag -.br -\-taglet -.br -\-tagletpath -.br -\-top -.br -\-title -.br +javadoc \-Xdoclint:html \-Xdoclint:syntax \-Xdoclint:accessibility \fIfilename\fR +javadoc \-Xdoclint:html,syntax,accessibility \fIfilename\fR +.fi +.if n \{\ +.RE +.\} +\fBÃí°Õ:\fR +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥Á¥§¥Ã¥¯¤Î´°Á´À­¤ÏÊݾڤµ¤ì¤Þ¤»¤ó¡£¶ñÂÎŪ¤Ë¤Ï¡¢´°Á´¤ÊHTML¥³¥ó¥×¥é¥¤¥¢¥ó¥¹¡¦¥Á¥§¥Ã¥«¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\-\fIXdoclint\fR¥ª¥×¥·¥ç¥ó¤ÎÌÜŪ¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤òÍ­¸ú¤Ë¤·¤Æ°ìÈÌŪ¤Ê¥¨¥é¡¼¤ÎÂçȾ¤ò¥ì¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ç¤¹¡£ +.sp +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢Ìµ¸ú¤ÊÆþÎϤν¤Àµ¤ò»î¹Ô¤»¤º¡¢¥ì¥Ý¡¼¥È¤Î¤ß¹Ô¤¤¤Þ¤¹¡£ +.RE +.PP +\-public +.RS 4 +public¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤Î¤ßɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-protected +.RS 4 +protected¤ª¤è¤Ópublic¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤Î¤ß¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ +.RE +.PP +\-package +.RS 4 +package¡¢protected¡¢¤ª¤è¤Ópublic¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤Î¤ßɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-private +.RS 4 +¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥ª¥ó¥é¥¤¥ó¡¦¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹¡£\fIjavadoc\fR¤È\fI¥É¥Ã¥¯¥ì¥Ã¥È\fR¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-doclet \fIclass\fR +.RS 4 +¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£´°Á´½¤¾þ̾¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤ê¡¢½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤¬ÄêµÁ¤µ¤ì¤Þ¤¹¡£\fI\-doclet\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¥Ç¥Õ¥©¥ë¥È¤ÎHTML·Á¼°¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ë¤Ï\fIstart(Root)\fR¥á¥½¥Ã¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Îµ¯Æ°¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤Ï\fI\-docletpath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£¥É¥Ã¥¯¥ì¥Ã¥È¤Î³µÍ× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/doclet/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-docletpath \fIclasspathlist\fR +.RS 4 +\fI\-doclet\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¤½¤Î¥¯¥é¥¹¤¬°Í¸¤¹¤ë¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£³«»Ï¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬JAR¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÇJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ÀäÂХѥ¹¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIclasspathlist\fR¤ËÊ£¿ô¤Î¥Ñ¥¹¤äJAR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤é¤òSolaris¤Î¾ì¹ç¤Ï¥³¥í¥ó(:)¤Ç¡¢Windows¤Î¾ì¹ç¤Ï¥»¥ß¥³¥í¥ó(;)¤Ç¤½¤ì¤¾¤ì¶èÀÚ¤ê¤Þ¤¹¡£ÌÜŪ¤Î¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£¥É¥Ã¥¯¥ì¥Ã¥È¤Î³µÍ× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/doclet/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-1\&.1 +.RS 4 +Javadoc 1\&.4¤«¤éºï½ü¤µ¤ì¡¢ÂåÂØ¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Javadoc 1\&.1¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¤Î¤ÈƱ¤¸³°¸«¤Èµ¡Ç½¤ò»ý¤Ä¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤·¤¿(¥Í¥¹¥È¤µ¤ì¤¿¥¯¥é¥¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó)¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬Íפʾì¹ç¤Ï¡¢Javadoc 1\&.2¤Þ¤¿¤Ï1\&.3¤ò¤«¤ï¤ê¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-source \fIrelease\fR +.RS 4 +¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¡¦¥³¡¼¥É¤Î¥ê¥ê¡¼¥¹¤ò»ØÄꤷ¤Þ¤¹¡£\fIrelease\fR¥Ñ¥é¥á¡¼¥¿¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ëÃͤËÂбþ¤¹¤ë\fI¥ê¥ê¡¼¥¹\fR¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fB¥ê¥ê¡¼¥¹ÃÍ: 1\&.5\fR¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢JDK 1\&.5¤ÇƳÆþ¤µ¤ì¤¿Áí¾Î¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£\fI\-source\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥³¥ó¥Ñ¥¤¥é¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢1\&.5¤Î¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fB¥ê¥ê¡¼¥¹ÃÍ: 1\&.4\fR¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢JDK 1\&.4¤ÇƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fB¥ê¥ê¡¼¥¹ÃÍ: 1\&.3\fR¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢JDK 1\&.3°Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Î¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ +.RE +.RE +.PP +\-sourcepath \fIsourcepathlist\fR +.RS 4 +¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤ò\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÅϤ¹¤È¤­¤Ë¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ +\fIÊ£¿ô¤Î¥Ñ¥¹¤Ï¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\fR\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î°ÌÃ֤ΤߤǤʤ¯¡¢¤½¤ì¼«ÂΤϥɥ­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é·Ñ¾µ¤µ¤ì¤¿¥³¥á¥ó¥È¤ò»ý¤Ä¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤â³Îǧ¤Ç¤­¤Þ¤¹¡£ +.sp +\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¾ì¹ç¤Î¤ß¤Ç¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¸¡º÷¤µ¤ì¤Þ¤»¤ó¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÆÃÄꤹ¤ë¤Ë¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤¹¤ë¤«¡¢¡Ö1¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤Ë¼¨¤¹¤è¤¦¤Ë³Æ¥Õ¥¡¥¤¥ë¤ÎÁ°¤Ë¥Ñ¥¹¤ò´Þ¤á¤Þ¤¹¡£\fI\-sourcepath\fR¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹(\fI\-classpath\fR¤ò»²¾È)¡£¥Ç¥Õ¥©¥ë¥È¤Î\fI\-sourcepath\fR¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤ÎÃͤǤ¹¡£\fI\-classpath\fR¤ò¾Êά¤·¤Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÅϤ¹¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê(¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê)¤«¤é¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£ +.sp +\fIsourcepathlist\fR¤Ë¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIcom\&.mypackage\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ë¡¢¤½¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬/home/user/src/com/mypackage/*\&.java¤Ë¤¢¤ë¤È¤·¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Ñ¥¹¤òcom\emypackage¤¬´Þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê/home/user/src¤Ë»ØÄꤷ¤Æ¤«¤é¡¢¼¡¤Î¤è¤¦¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /home/user/src/ com\&.mypackage +.fi +.if n \{\ +.RE +.\} +¥½¡¼¥¹¡¦¥Ñ¥¹¤ÎÃͤȥѥ屡¼¥¸Ì¾¤òÏ¢·ë¤·¤Æ¡¢¥É¥Ã¥È¤ò¥¹¥é¥Ã¥·¥å(/)¤ËÊѹ¹¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥ë¥Ñ¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +/home/user/src/com/mypackage +.sp +2¤Ä¤Î¥½¡¼¥¹¡¦¥Ñ¥¹¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /home/user1/src:/home/user2/src com\&.mypackage +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-classpath \fIclasspathlist\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬»²¾È¥¯¥é¥¹¤Î¸¡º÷¤ò¹Ô¤¦¤È¤­¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£»²¾È¥¯¥é¥¹¤È¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¡¢¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£ +\fIÊ£¿ô¤Î¥Ñ¥¹¤Ï¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\fR\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£\fIclasspathlist\fR¤ÎÃͤò»ØÄꤹ¤ë¤È¤­¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥É¥­¥å¥á¥ó¥È¤Ë¤¢¤ë»Ø¼¨¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-sourcepath\fR¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï\fI\-classpath\fR¤ò»ÈÍѤ·¤Æ¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹(²¼°Ì¸ß´¹À­¤Î¤¿¤á)¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊÌ¡¹¤Î¥Ñ¥¹¤«¤é¸¡º÷¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-sourcepath\fR¤È\fI\-classpath\fR¤ÎξÊý¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIcom\&.mypackage\fR¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ë¡¢¤½¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¥Ç¥£¥ì¥¯¥È¥ê/home/user/src/com/mypackage¤Ë¤¢¤ê¡¢¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬/home/user/libthenÆâ¤Î¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¤È¤­¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /home/user/lib \-classpath /home/user/src com\&.mypackage +.fi +.if n \{\ +.RE +.\} +¾¤Î¥Ä¡¼¥ë¤ÈƱÍͤˡ¢\fI\-classpath\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¤½¤Î´Ä¶­ÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£¤É¤Á¤é¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£ +.sp +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬\fI\-classpath\fR¤ò»ÈÍѤ·¤Æ¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¡¢³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ä¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤Ë´ØÏ¢¤·¤¿¾ÜºÙ¤Ï¡¢¥¯¥é¥¹¤Î¸¡º÷ÊýË¡ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +*¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¡¦¥Ñ¥¹Í×ÁǤϡ¢\fI\&.jar\fR¤Þ¤¿¤Ï\fI\&.JAR\fR¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê\fImydir\fR¤Ë\fIa\&.jar\fR¤È\fIb\&.JA\fRR¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Ñ¥¹Í×ÁÇ\fIfoo/*\fR¤Ï\fIA\&.jar:b\&.JAR\fR¤ËŸ³«¤µ¤ì¤Þ¤¹¤¬¡¢JAR¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤»ØÄê¤È¤Ê¤ê¤Þ¤¹¡£Èóɽ¼¨¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤à¡¢»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤¬¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤Þ¤¹¡£*¤«¤é¤Ê¤ë¥¯¥é¥¹¡¦¥Ñ¥¹¡¦¥¨¥ó¥È¥ê¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤âƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ÎŸ³«¤Ï¡¢Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î³«»ÏÁ°¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£Java¥×¥í¥°¥é¥à¤Ï¡¢System\&.getenv(\fI"CLASSPATH"\fR)¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¤Ê¤É¡¢´Ä¶­¤òÌ䤤¹ç¤»¤ë¾ì¹ç¤ò½ü¤­¡¢Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»²¾È¤·¤Þ¤»¤ó¡£ +.RE +.PP +\-subpackages \fIpackage1:package2:\&.\&.\&.\fR +.RS 4 +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËºÆµ¢Åª¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤òÄɲ乤ëºÝ¤ËÊØÍø¤Ç¤¹¡£¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤¬¼«Æ°Åª¤ËÁȤ߹þ¤Þ¤ì¤ë¤«¤é¤Ç¤¹¡£³Æpackage°ú¿ô¤Ï¡¢Ç¤°Õ¤ÎºÇ¾å°Ì¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸(\fIjava\fR¤Ê¤É)¤Þ¤¿¤Ï´°Á´½¤¾þ¥Ñ¥Ã¥±¡¼¥¸(\fIjavax\&.swing\fR¤Ê¤É)¤Ë¤Ê¤ê¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£°ú¿ô¤Ï¡¢¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ç¡¢¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¸¡º÷¾ì½ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\fI\-sourcepath\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼Æâ¤Ë¸ºß¤¹¤ë¤¬¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Ê¤¤¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Þ¤»¤ó¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢\fIjava\fR¤ª¤è¤Ó\fIjavax\&.swing\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤È¤³¤ì¤é¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Á´Éô¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax\&.swing +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-exclude \fIpackagename1:packagename2:\&.\&.\&.\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò\fI\-subpackages\fR¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥ê¥¹¥È¤«¤é̵¾ò·ï¤Ë½ü³°¤·¤Þ¤¹¡£²áµî¤Þ¤¿¤Ï¾­Íè¤Î\fI\-subpackages\fR¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ë¤è¤Ã¤ÆÁȤ߹þ¤Þ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤â½ü³°¤ÎÂоݤȤʤê¤Þ¤¹¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIjava\&.io\fR¡¢\fIjava\&.util\fR¡¢\fIjava\&.math\fR¤Ê¤É¤ÏÁȤ߹þ¤Þ¤ì¤Þ¤¹¤¬¡¢\fIjava\&.net\fR¤È\fIjava\&.lang\fR¤ò¥ë¡¼¥È¤Ë»ý¤Ä¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£\fIjava\&.lang\fR¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë\fIjava\&.lang\&.ref\fR¤¬½ü³°¤µ¤ì¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /home/user/src \-subpackages java \-exclude + java\&.net:java\&.lang +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-bootclasspath \fIclasspathlist\fR +.RS 4 +¥Ö¡¼¥È¡¦¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¡¦¥¯¥é¥¹¤È¤Ï¡¢Ä̾Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£\fIbootclasspath\fR¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»ÈÍѤ¹¤ë¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢¥¯¥é¥¹¤Î¸¡½ÐÊýË¡ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fIclasspathlist\fR¥Ñ¥é¥á¡¼¥¿Æâ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥»¥ß¥³¥í¥ó(;)¤Ç¶èÀÚ¤ë(Windows¤Î¾ì¹ç)¤«¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹(Oracle Solaris¤Î¾ì¹ç)¡£ +.RE +.PP +\-extdirs \fIdirist\fR +.RS 4 +³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤È¤Ï¡¢Java³ÈÄ¥µ¡Ç½µ¡¹½¤ò»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¤¹¡£\fIextdirs\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»ÈÍѤ¹¤ë¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\fIdirlist\fRÆâ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥»¥ß¥³¥í¥ó(;)¤Ç¶èÀÚ¤ë(Windows¤Î¾ì¹ç)¤«¡¢¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹(Oracle Solaris¤Î¾ì¹ç)¡£ +.RE +.PP +\-verbose +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£\fIverbose\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥í¡¼¥É»þ¡¢¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®»þ(¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤´¤È¤Ë1¤Ä¤Î¥á¥Ã¥»¡¼¥¸)¡¢¤ª¤è¤Ó¥½¡¼¥È»þ¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£verbose¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢³ÆJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î²òÀϤËÍפ·¤¿»þ´Ö(¥ß¥êÉÃñ°Ì)¤ò¼¨¤¹ÄɲäΥá¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-quiet +.RS 4 +¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤·¡¢·Ù¹ð¤È¥¨¥é¡¼¤Î¤ß¤¬É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¡¢¤³¤ì¤é¤ò³Îǧ¤·¤ä¤¹¤¯¤·¤Þ¤¹¡£\fIversion\fRʸ»úÎó¤âÍ޻ߤ·¤Þ¤¹¡£ +.RE +.PP +\-breakiterator +.RS 4 +±Ñ¸ì¤Î¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î¼çÀâÌÀ¤ÎºÇ½é¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ëºÝ¤Ë¡¢\fIjava\&.text\&.BreakIterator\fR¤Î¹ñºÝ²½¤µ¤ì¤¿Ê¸¶­³¦¤ò»ÈÍѤ·¤Þ¤¹¡£Â¾¤Î¤¹¤Ù¤Æ¤Î¥í¥±¡¼¥ë¤Ï¡¢±Ñ¸ì¸À¸ì¤È¤¤¤¦¥í¥±¡¼¥ë¸ÇÍ­¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¤Ê¤¯¡¢¤¹¤Ç¤Ë\fIBreakIterator\fR¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ºÇ½é¤Îʸ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î¥µ¥Þ¥ê¡¼¤Ë¥³¥Ô¡¼¤µ¤ì¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Îº÷°ú¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£JDK 1\&.2°Ê¹ß¡¢\fIBreakIterator\fR¥¯¥é¥¹¤Ï¡¢±Ñ¸ì¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¸À¸ì¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ë¤¿¤á¤Ë¡¢¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\fI\-breakiterator\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢1\&.2°Ê¹ß¤Ç¤Ï±Ñʸ°Ê³°¤Ë¤Ï¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£±Ñʸ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÆÈ¼«¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +±Ñʸ¤Î¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¡£¶õÇòʸ»ú¤Þ¤¿¤ÏHTML¥Ö¥í¥Ã¥¯¡¦¥¿¥°(\fI<P>\fR¤Ê¤É)¤¬Â³¤¯¥Ô¥ê¥ª¥É¤ÇÄä»ß¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +breakiteratorʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¡£¼¡¤Î¸ì¤¬Âçʸ»ú¤Ç»Ï¤Þ¤ë¾ì¹ç¡¢¶õÇòʸ»ú¤¬Â³¤¯¥Ô¥ê¥ª¥É¡¢µ¿ÌäÉä¡¢¤Þ¤¿¤Ï´¶Ã²Éä¤ÇÄä»ß¤·¤Þ¤¹¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¡ÖThe serial no\&. is valid¡×¤Ê¤É¡¢¤Û¤È¤ó¤É¤Î¾Êάɽµ­¤¬½èÍý¤µ¤ì¤Þ¤¹¤¬¡¢¡ÖMr\&. Smith¡×¤Ï½èÍý¤µ¤ì¤Þ¤»¤ó¡£\fI\-breakiterator\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢HTML¥¿¥°¤ä¡¢¿ô»ú¤Þ¤¿¤Ïµ­¹æ¤Ç»Ï¤Þ¤ëʸ¤Ç¤ÏÄä»ß¤·¤Þ¤»¤ó¡£HTML¥¿¥°¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¡Ö\&.\&./filename¡×¤ÎºÇ¸å¤Î¥Ô¥ê¥ª¥É¤ÇÄä»ß¤·¤Þ¤¹¡£ +.RE +.sp +Java SE 1\&.5¤Ç¤Ï\fI\-breakiterator\fR·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬ºï½ü¤µ¤ì¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¤ÏÊѹ¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥½¡¼¥¹¡¦¥³¡¼¥É¤òÊѹ¹¤»¤º¡¢SE 1\&.4\&.x¤Ç¤Î\fI\-breakiterator\fR¥ª¥×¥·¥ç¥ó¤Î·Ù¹ð¤ò½üµî¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢²¿¤â¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£Java SE 1\&.5\&.0¤«¤é¤Ï·Ù¹ð¤Ï¾ÃÌǤ·¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-locale \fIlanguage_country_variant\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¥í¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î°ú¿ô¤Ï¡¢\fIj\fR\fIava\&.util\&.Locale\fR¥É¥­¥å¥á¥ó¥È¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢\fIen_US\fR +(±Ñ¸ì¡¢Êƹñ)¤Þ¤¿¤Ï\fIen_US_WIN\fR +(Windows¥Ð¥ê¥¢¥ó¥È)¤Ê¤É¤Î¥í¥±¡¼¥ë¤Î̾Á°¤Ç¤¹¡£ +.sp +\fBÃí°Õ:\fR +\fI\-locale\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¡¢¤Þ¤¿¤Ï¤½¤Î¾¤ÎǤ°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÁ°(º¸Â¦)¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤¬±Ñ¸ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Î¤ß¡¢»ØÄꤹ¤ë½ç½ø¤Ë°Í¸¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥í¥±¡¼¥ë¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Î¥ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÁªÂò¤µ¤ì¤Æ¡¢¥á¥Ã¥»¡¼¥¸(¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¡¢¥ê¥¹¥È¤Èɽ¤Î¸«½Ð¤·¡¢¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ë¤ÎÌܼ¡¡¢stylesheet\&.css¤Î¥³¥á¥ó¥È¤Ê¤É¤Îʸ»úÎó)¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤µ¤ì¤ë¥ê¥¹¥È¤Î¥½¡¼¥È½ç¡¢¤ª¤è¤ÓºÇ½é¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ë¤¿¤á¤Îʸ¤Î¶èÀÚ¤êʸ»ú¤â¡¢»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£\fI\-locale\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È¤Î¥í¥±¡¼¥ë¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +.PP +\-encoding +.RS 4 +¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°(\fIEUCJIS/SJIS\fR¤Ê¤É)¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥³¥ó¥Ð¡¼¥¿¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëJava Runtime Environment (JRE)¤Ë¡¢\fIflag\fR¤òľÀÜÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¥·¥¹¥Æ¥à¤Ç32MB¤Î¥á¥â¥ê¡¼¤ò³ÎÊݤ·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-Xmx\fR¥ª¥×¥·¥ç¥ó¤ò¼¡¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£\fIjavadoc \-J\-Xmx32m \-J\-Xms32m com\&.mypackage\fR¡£\fI\-Xms\fR¤Ï¾Êά²Äǽ¤Ç¡¢¤³¤ì¤Ï½é´ü¥á¥â¥ê¡¼¤Î¥µ¥¤¥º¤òÀßÄꤹ¤ë¤Î¤ß¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢É¬Íפʥá¥â¥ê¡¼¤ÎºÇ¾®Î̤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.sp +\fIJ\fR¤È\fIflag\fR¤Î´Ö¤Ë¶õÇòʸ»ú¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.sp +»ÈÍѤ·¤Æ¤¤¤ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï\fI\-version\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£Javadoc¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-J\-version +java version "1\&.7\&.0_09" +Java(TM) SE Runtime Environment (build 1\&.7\&.0_09\-b05) +Java HotSpot(TM) 64\-Bit Server VM (build 23\&.5\-b02, mixed mode) +.fi +.if n \{\ +.RE +.\} +.RE +.SS "ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó" +.PP +\-d \fIdirectory\fR +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬À¸À®¤µ¤ì¤¿HTML¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ëÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-d\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£\fIdirectory\fR¤ÎÃͤˤϡ¢ÀäÂХǥ£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤Ï¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Java SE 1\&.4¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤ÈÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤¬¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤ÎÎã¤Ç¤Ï¡¢\fIcom\&.mypackage\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢¤½¤Î·ë²Ì¤¬\fI/user/doc/ \fR¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£\fIjavadoc \-d \fR\fI/user/doc/ \fR\fIcom\&.mypackage\fR +.RE +.PP \-use -.br -\-\f2verbose\fP -.br +.RS 4 +¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë1¤Ä¤Î»ÈÍÑ¥Ú¡¼¥¸¤òÁȤ߹þ¤ß¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¤½¤ÎÆÃÄê¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ÎAPI¤ò»ÈÍѤ·¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤¬µ­½Ò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹C¤òÎã¤Ë¤È¤ë¤È¡¢¥¯¥é¥¹C¤ò»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤È¤·¤Æ¤Ï¡¢C¤Î¥µ¥Ö¥¯¥é¥¹¡¢C¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¡¢C¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó·¿C¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤È¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIString\fR·¿ÍѤλÈÍÑ¥Ú¡¼¥¸¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£\fIjava\&.awt\&.Font\fR¥¯¥é¥¹¤Î\fIgetName\fR¥á¥½¥Ã¥É¤Ï\fIString\fR·¿¤òÌ᤹¤Î¤Ç¡¢\fIgetName\fR¥á¥½¥Ã¥É¤Ï\fIString\fR¤ò»ÈÍѤ·¡¢\fIgetName\fR¥á¥½¥Ã¥É¤¬\fIString\fRÍѤλÈÍÑ¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¼ÂÁõ¤Ç¤Ï¤Ê¤¯API¤Î»ÈÍѤΤߤò¥É¥­¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£¥á¥½¥Ã¥É¤¬¤½¤Î¼ÂÁõ¤Ç\fIString\fR¤ò»ÈÍѤ¹¤ë¤¬¡¢°ú¿ô¤È¤·¤ÆÊ¸»úÎó¤ò¼è¤é¤Ê¤¤¡¢¤Þ¤¿¤Ïʸ»úÎó¤òÊÖ¤µ¤Ê¤¤¾ì¹ç¡¢¤½¤ì¤Ï\fIString\fR¤Î»ÈÍѤȤϤߤʤµ¤ì¤Þ¤»¤ó¡£À¸À®¤µ¤ì¤¿»ÈÍÑ¥Ú¡¼¥¸¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ë°Üư¤·¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î\fB¥ê¥ó¥¯¤Î»ÈÍÑ\fR¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ +.RE +.PP \-version -.br -\-windowtitle -.br -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.80 -.rm 80 -.nr 38 \n(a- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.81 -.rm 81 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.82 -.rm 82 -.nr 38 \n(c- -.if \n(82<\n(38 .nr 82 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 1993 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.ne \n(b|u+\n(.Vu -.ne \n(c|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-127 -.LP -\f2¥¤¥¿¥ê¥Ã¥¯\fP ¤Ç¼¨¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤Ï¡¢Javadoc ¤Î´ðËÜ¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¡¢¤¹¤Ù¤Æ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ç»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¼«ÂΤϡ¢¥¤¥¿¥ê¥Ã¥¯¤Ç¤Ê¤¤¥ª¥×¥·¥ç¥ó¤òÄ󶡤·¤Þ¤¹¡£ -.SS -Javadoc ¥ª¥×¥·¥ç¥ó -.RS 3 -.TP 3 -\-overview \ path/filename -Javadoc ¤ËÂФ·¤Æ¡¢\f2path/filename\fP ¤Ç»ØÄꤵ¤ì¤¿¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤«¤é³µÍץɥ­¥å¥á¥ó¥ÈÍѤΥƥ­¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤Î¥Æ¥­¥¹¥È¤ò³µÍ×¥Ú¡¼¥¸ (\f2overview\-summary.html\fP) ¤ËÇÛÃÖ¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ \f2path/filename\fP ¤Ï¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£ -.LP -\f2filename\fP¤ÇǤ°Õ¤Î̾Á°¤ò»ÈÍѤ·¡¢\f2path\fP ¤ÇǤ°Õ¤ÎÇÛÃÖÀè¤òÁªÂò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¤¬¡¢Ä̾ï¤Ï \f2overview.html\fP ¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤ÎºÇ¾å°Ì¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤³¤Î¾ì½ê¤ËÇÛÃÖ¤¹¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤È¤­¤Ë \f2path\fP ¤ò»ØÄꤹ¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤Ê¤¼¤Ê¤é¡¢ \f2\-sourcepath\fP ¤Ë¤è¤Ã¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤¬»Ø¤·¼¨¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2java.lang\fP ¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤¬ \f2/src/classes/java/lang/\fP ¤Î¾ì¹ç¡¢³µÍ×¥Õ¥¡¥¤¥ë¤ò \f2/src/classes/overview.html\fP ¤ËÇÛÃ֤Ǥ­¤Þ¤¹¡£¡Ö»ÈÍÑÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2path/filename\fP ¤Ç»ØÄꤹ¤ë¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -³µÍ×¥Ú¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢Javadoc ¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢¡ÖHTML ¥Õ¥ì¡¼¥à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -³µÍ×¥Ú¡¼¥¸¤Î¥¿¥¤¥È¥ë¤Ï¡¢\f2\-doctitle\fP ¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-public -public ¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-protected -protected ¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ -.LP -.TP 3 -\-package -package¡¢protected¡¢¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-private -¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-help -¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹¡£Javadoc ¤È¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-doclet\ class -¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»È¤¦¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£´°Á´»ØÄê¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤ê¡¢½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤¬ÄêµÁ¤µ¤ì¤Þ¤¹¡£\f4\-doclet\fP ¥ª¥×¥·¥ç¥ó¤¬»È¤ï¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ¥Ç¥Õ¥©¥ë¥È¤Î HTML ·Á¼°¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ë¤Ï \f2start(Root)\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Îµ¯Æ°¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤Ï \f2\-docletpath\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢MIF ¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - \-doclet com.sun.tools.doclets.mif.MIFDoclet -.fl -\fP -.fi -.LP -ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2MIF Doclet ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-docletpath\ classpathlist -\f2\-doclet\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢ ¤ª¤è¤Ó¤½¤Î¥¯¥é¥¹¤¬°Í¸¤¹¤ë¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬ jar ¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢°Ê²¼¤ÎÎã¤Î¤è¤¦¤Ë jar ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤¬»ØÄꤵ¤ì¤Þ¤¹¡£ÀäÂХѥ¹¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ \f2classpathlist\fP ¤Ë¤Ï¡¢Ê£¿ô¤Î¥Ñ¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¡¢³Æ¥Ñ¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤ò¡¢Solaris ¤Î¾ì¹ç¤Ë¤Ï¥³¥í¥ó (:)¡¢Windows ¤Î¾ì¹ç¤Ë¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ÌÜŪ¤Î¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£ -.LP -jar ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ÎÎã¤Ë¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£jar ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£ -.nf -\f3 -.fl - \-docletpath /home/user/mifdoclet/lib/mifdoclet.jar -.fl -\fP -.fi -¥É¥Ã¥¯¥ì¥Ã¥È³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ÎÎã¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë̾¤¬¾Êά¤µ¤ì¤Æ¤¤¤ëÅÀ¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£ -.nf -\f3 -.fl - \-docletpath /home/user/mifdoclet/classes/com/sun/tools/doclets/mif/ -.fl -\fP -.fi -ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2MIF Doclet ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-1.1 -\f2¤³¤Îµ¡Ç½¤Ï Javadoc 1.4 ¤«¤éºï½ü¤µ¤ì¤Þ¤·¤¿¡£ÂåÂØµ¡Ç½¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Javadoc 1.1 ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¤Î¤ÈƱ¤¸³°¸«¤Èµ¡Ç½¤ò»ý¤Ä¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤·¤¿¡£Æþ¤ì»Ò¤Î¥¯¥é¥¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬Íפʾì¹ç¤Ï¡¢Javadoc 1.2 ¤Þ¤¿¤Ï 1.3 ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£\fP -.LP -.TP 3 -\-source release -¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\f2release\fP ¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f31.5\fP \- javadoc ¤Ï¡¢JDK 1.5 ¤ÇƳÆþ¤µ¤ì¤¿Áí¾Î¤Ê¤É¤Î¸À¸ìµ¡Ç½¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£\f3\-source\fP ¥Õ¥é¥°¤¬»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥³¥ó¥Ñ¥¤¥é¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢1.5 ¤Î¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\f31.4\fP Javadoc ¤Ï¡¢JDK 1.4 ¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ -.TP 2 -o -\f31.3\fP Javadoc ¤Ï¡¢JDK 1.3 °Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Î¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢@version¤Î¥Æ¥­¥¹¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£»ÈÍѤ·¤Æ¤¤¤ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï\fI\-J\-version\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ .RE -.LP -javac ¤Ç¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë»ÈÍѤ·¤¿ÃͤËÂбþ¤¹¤ë \f2release\fP ¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-sourcepath\ sourcepathlist -¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï \-subpackages ¤ò javadoc ¥³¥Þ¥ó¥É¤ËÅϤ¹¤È¤­¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë (.\f2.java\fP) ¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î \f2¸¡º÷¥Ñ¥¹\fP ¤ò»ØÄê \f2¤·¤Þ¤¹\fP ¡£\f2sourcepathlist\fP ¤Ë¤Ï¡¢¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤À¤±¤Ç¤Ê¤¯¡¢¤½¤ì¼«ÂΤϥɥ­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¤¬¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é·Ñ¾µ¤µ¤ì¤¿¥³¥á¥ó¥È¤ò»ý¤Ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤â³Îǧ¤Ç¤­¤Þ¤¹¡£ -.LP -\f2\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢javadoc ¥³¥Þ¥ó¥É¤Ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¾ì¹ç¤À¤±¤Ç¤¹¡£¤³¤Î¥Ñ¥¹¤«¤é¤Ï¡¢javadoc ¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤¿ \f2.java\fP ¥Õ¥¡¥¤¥ë¤Ï \f2¸¡º÷\fP ¤µ¤ì¤Þ¤»¤ó¡£ \f2.java\fP ¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë cd ¤Ë¤è¤Ã¤Æ°Üư¤¹¤ë¤«¡¢¤Þ¤¿¤Ï³Æ¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Ë¥Ñ¥¹¤ò´Þ¤á¤Þ¤¹ (¡Ö1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½¡×¤ò»²¾È)¡£ \f2\-sourcepath\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¡¢Javadoc ¤Ï¡¢¥¯¥é¥¹¥Ñ¥¹¤ò»È¤Ã¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹ (\-classpath ¤ò»²¾È)¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Î \-sourcepath ¤Ï¡¢¥¯¥é¥¹¥Ñ¥¹¤ÎÃͤǤ¹¡£\-classpath ¤â¾Êά¤·¤Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò Javadoc ¤ËÅϤ¹¤È¡¢Javadoc ¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -\f2sourcepathlist\fP ¤Ë¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2com.mypackage\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ë¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¾ì½ê¤Ë¤¢¤ë¤È¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - /home/user/src/com/mypackage/*.java -.fl -\fP -.fi -¤³¤Î¤È¤­¼¡¤Î¤è¤¦¤Ë¡¢ \f2sourcepath\fP ¤ò¡¢com/mypackage ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë \f2/home/user/src\fP ¤Ë»ØÄꤷ¤¿¤¢¤È¡¢ ¥Ñ¥Ã¥±¡¼¥¸Ì¾ \f2com.mypackage\fP ¤ò»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-sourcepath /home/user/src/ com.mypackage\fP -.fl -.fi -¤³¤ÎÊýË¡¤Ï¡¢¥½¡¼¥¹¥Ñ¥¹¤ÎÃͤȥѥ屡¼¥¸Ì¾¤òÏ¢·ë¤·¤Æ¡¢¥É¥Ã¥È¤ò (±ßµ­¹æ) ¡Ö\\¡×¤ËÊѤ¨¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥ë¥Ñ¥¹ \f2/home/user/src/com/mypackage ¤Ë¤Ê¤ë¤³¤È¤òÍý²ò¤¹¤ë¤È´Êñ¤Ç¤¹\fP¡£ -.LP -2 ¤Ä¤Î¥½¡¼¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-sourcepath /home/user1/src:/home/user2/src com.mypackage\fP -.fl -.fi -.LP -.TP 3 -\-classpath\ classpathlist -javadoc ¤¬»²¾È¥¯¥é¥¹ (\f2.class\fP ¥Õ¥¡¥¤¥ë) ¤Î¸¡º÷¤ò¹Ô¤¦¤È¤­¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£»²¾È¥¯¥é¥¹¤È¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¡¢¤½¤ì¤é¤Î¥¯¥é¥¹¤«¤é»²¾È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ò»Ø¤·¤Þ¤¹¡£\f2classpathlist\fP ¤Ë¤Ï¡¢¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£classpathlist ¤ò»ØÄꤹ¤ë¤È¤­¤Ï¡¢ -.na -\f2¥¯¥é¥¹¥Ñ¥¹\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#general¤Î¥É¥­¥å¥á¥ó¥È¤Ë¤¢¤ë»Ø¼¨ \f2¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤\fP¡£ -.LP -\f2\-sourcepath\fP ¤¬¾Êά¤µ¤ì¤ë¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤È¤­¤À¤±¤Ç¤Ê¤¯¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤È¤­¤Ë¤â \f2\-classpath\fP ¤ò»ÈÍѤ·¤Þ¤¹ (²¼°Ì¸ß´¹À­¤Î¤¿¤á)¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÊÌ¡¹¤Î¥Ñ¥¹¤«¤é¸¡º÷¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢ \f2\-sourcepath\fP ¤È \f2\-classpath ¤ÎξÊý¤ò»È¤¤¤Þ¤¹\fP.¡£ -.LP -¤¿¤È¤¨¤Ð¡¢ \f2com.mypackage\fP ¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤Ë¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¥Ç¥£¥ì¥¯¥È¥ê \f2/home/user/src/com/mypackage\fP Æâ¤Ë³ÊǼ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬ \f2/home/user/lib\fP Æâ¤Î¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¤È¤­¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage\fP -.fl -.fi -\f2\-classpath\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¤Û¤«¤Î¥Ä¡¼¥ë¤ÈƱ¤¸¤¯¡¢CLASSPATH ´Ä¶­ÊÑ¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¤½¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£¤É¤Á¤é¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -Javadoc ¥Ä¡¼¥ë¤¬ \f2\-classpath\fP ¤ò»ÈÍѤ·¤Æ¥æ¡¼¥¶¡¼¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¡¢³ÈÄ¥¥¯¥é¥¹¤ä¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤È´ØÏ¢ÉÕ¤±¤ÆÀâÌÀ¤·¤Æ¤¤¤ë¾ðÊó¤òÆþ¼ê¤¹¤ë¤Ë¤Ï¡¢ -.na -\f2¡Ö¥¯¥é¥¹¤Î¸¡º÷ÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -ÊØµ¹¾å¡¢ \f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢ \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ­¤Ê¤¤)¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2foo\fP ¤Ë \f2a.jar\fP ¤È \f2b.JAR\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ \f2foo/*\fP ¤Ï \f2A.jar:b.JAR\fP ¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤»ØÄê¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£* ¤À¤±¤«¤éÀ®¤ë \f2¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢\fP ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£ \f2CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥ÉŸ³«¤Ïɬ¤º¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Îµ¯Æ°Á°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2System.getenv("CLASSPATH")\fP ¸Æ¤Ó½Ð¤·¤Î¤è¤¦¤Ë´Ä¶­¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤ï¤Ê¤¤¸Â¤ê¡¢Java ¥×¥í¥°¥é¥à¤¬Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.TP 3 -\-subpackages\ \ package1:package2:... -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËºÆµ¢Åª¤Ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤òÄɲ乤ëºÝ¤ËÊØÍø¤Ç¤¹¡£¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ï¼«Æ°Åª¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£³Æ \f2package\fP °ú¿ô¤Ï¡¢Ç¤°Õ¤ÎºÇ¾å°Ì¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ ( \f2java\fP ¤Ê¤É) ¤Þ¤¿¤Ï´°Á´½¤¾þ¥Ñ¥Ã¥±¡¼¥¸ ( \f2javax.swing\fP ¤Ê¤É) ¤Ë¤Ê¤ê¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£°ú¿ô¤Ï¡¢¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹ (¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à)¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤ÏÉÔÍפǤ¹ (»ÈÍÑÉÔ²Ä)¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¸¡º÷¾ì½ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\f2\-sourcepath\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¡×¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¤¢¤ë¤¬¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï°¤·¤Æ¤¤¤Ê¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Ê¤¤¤Î¤ÇÌòΩ¤Á¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - % \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP -.fl -.fi -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¡Öjava¡×¤ª¤è¤Ó¡Öjavax.swing¡×¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤È¤³¤ì¤é¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Á´Éô¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£ -.LP -\f2\-subpackages\fP ¤È \f2\-exclude\fP ¤òÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ¹¤ë¤È¡¢ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò½ü³°¤Ç¤­¤Þ¤¹¡£ -.LP -.TP 3 -\-exclude\ \ packagename1:packagename2:... -»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò \f2\-subpackages\fP ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥ê¥¹¥È¤«¤é̵¾ò·ï¤Ë½ü³°¤·¤Þ¤¹¡£ ²áµî¤Î \f2\-subpackages\fP ¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ë¤è¤Ã¤ÆÁȤ߹þ¤Þ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¤Þ¤¿¤Ï¾­ÍèÁȤ߹þ¤Þ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤â½ü³°¤ÎÂоݤȤʤê¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP -.fl -.fi -¤³¤Î¾ì¹ç¡¢ \f2java.io\fP¡¢ \f2java.util\fP¡¢ \f2java.math\fP ¤Ê¤É¤¬´Þ¤á¤é¤ì¡¢ \f2java.net\fP ¤È \f2java.lang\fP ¤ò¥ë¡¼¥È¤Ë»ý¤Ä¥Ñ¥Ã¥±¡¼¥¸¤¬½ü³°¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ \f2java.lang\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë \f2java.lang.ref\fP ¤â½ü³°¤µ¤ì¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-bootclasspath\ classpathlist -¥Ö¡¼¥È¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¯¥é¥¹¤È¤Ï¡¢Ä̾Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥³¥¢¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»È¤¦¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2¡Ö¥¯¥é¥¹¤Î¸¡º÷ÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥í¥ó (:) ¤ò¡¢ \f2classpathlist\fP Æâ¤Î¥Ç¥£¥ì¥¯¥È¥ê´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-extdirs\ dirlist -³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤È¤Ï¡¢Java ³ÈÄ¥µ¡Ç½µ¡¹½¤ò»È¤¦¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¤¹¡£extdirs ¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»È¤¦¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢Á°½Ò¤Î \f2\-classpath\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥í¥ó (:) ¤ò¡¢ \f2dirlist\fP Æâ¤Î¥Ç¥£¥ì¥¯¥È¥ê´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-verbose -javadoc ¤Î¼Â¹ÔÃæ¤Ë¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£verbose ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥í¡¼¥É»þ¡¢¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®»þ (¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë 1 ¤Ä¤Î¥á¥Ã¥»¡¼¥¸)¡¢¤ª¤è¤Ó¥½¡¼¥È»þ¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£verbose ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢³Æ Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î²òÀϤËÍפ·¤¿»þ´Ö (¥ß¥êÉÃñ°Ì) ¤Ê¤É¡¢ÄɲäΥá¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-quiet -¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Þ¤¿¤Ï·Ù¹ð¥á¥Ã¥»¡¼¥¸°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤·¡¢·Ù¹ð¤È¥¨¥é¡¼¤À¤±¤¬É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¡¢¤³¤ì¤é¤òÆÃÄꤷ¤ä¤¹¤¯¤·¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤âÍÞÀ©¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-breakiterator\ -±Ñ¸ì¤ÎºÇ½é¤Îʸ¤ÎËöÈø¤ò·èÄꤹ¤ëºÝ¤Ë¡¢±Ñ¸ìÍÑ¤Î¥í¥±¡¼¥ë¸ÇÍ­¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¤Ê¤¯¡¢ -.na -\f2java.text.BreakIterator\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html ¤Î¹ñºÝ²½¤µ¤ì¤¿Ê¸¶­³¦¤ò»ÈÍѤ·¤Þ¤¹ (¤Û¤«¤Î¤¹¤Ù¤Æ¤Î¥í¥±¡¼¥ë¤Ç¤Ï¤¹¤Ç¤Ë \f2BreakIterator\fP ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë)¡£\f2¡ÖºÇ½é¤Îʸ¡×\fP¤È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤Î¼çÀâÌÀ¤Ç¤ÎºÇ½é¤Îʸ¤Î¤³¤È¤Ç¤¹¡£¤³¤Îʸ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¡¼¤ÎÍ×Ìó¤Ë¥³¥Ô¡¼¤µ¤ì¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.LP -JDK 1.2 °Ê¹ß¡¢BreakIterator ¥¯¥é¥¹¤Ï¡¢±Ñ¸ì¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¸À¸ì¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ë¤¿¤á¤Ë¡¢¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ \f2\-breakiterator\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢1.2 °Ê¹ß¤Ç¤Ï±Ñʸ°Ê³°¤Ë¤Ï¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£±Ñʸ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÆÈ¼«¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -±Ñʸ¤Î¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à \- ¶õÇò¤Þ¤¿¤Ï HTML ¥Ö¥í¥Ã¥¯¥¿¥° ( \f2<P>\fP ¤Ê¤É) ¤¬Â³¤¯¥Ô¥ê¥ª¥É¤ÇÄä»ß¤¹¤ë -.TP 2 -o -breakiterator ʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à \- °ìÈ̤ˡ¢¼¡¤Î¸ì¤¬Âçʸ»ú¤Ç»Ï¤Þ¤ë¾ì¹ç¡¢¶õÇòʸ»ú¤¬Â³¤¯¥Ô¥ê¥ª¥É¡¢µ¿ÌäÉä¡¢¤Þ¤¿¤Ï´¶Ã²Éä¤ÇÄä»ß¤¹¤ë¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¡ÖThe serial no. is valid¡×¤Ê¤É¡¢¤Û¤È¤ó¤É¤Î¾Êάɽµ­¤¬½èÍý¤µ¤ì¤Þ¤¹¤¬¡¢¡ÖMr. Smith¡×¤Ê¤É¤Ï½èÍý¤µ¤ì¤Þ¤»¤ó¡£HTML ¥¿¥°¤ä¡¢¿ô»ú¤Þ¤¿¤Ïµ­¹æ¤Ç»Ï¤Þ¤ëʸ¤Ç¤ÏÄä»ß¤·¤Ê¤¤¡£HTML ¥¿¥°¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¡Ö../filename¡×¤ÎºÇ¸å¤Î¥Ô¥ê¥ª¥É¤ÇÄä»ß¤¹¤ë +.PP +\-author +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢\fI@author\fR¤Î¥Æ¥­¥¹¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£ .RE -.LP -Ãí: 1.5.0 ¤«¤é¤Ï¡¢1.4.x ¤ËÀߤ±¤é¤ì¤Æ¤¤¤¿ breakiterator ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òºï½ü¤·¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¤òÊѹ¹¤·¤Æ¤¤¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢\\\-breakiterator ¥ª¥×¥·¥ç¥ó¤Ï¡¢1.5.0 ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¯¤Ê¤ê¡¢¤Þ¤¿¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¤Ä¤â¤ê¤â¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¡Ö¼¡¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¡×(1.5.0) ¤Ç¥Ç¥Õ¥©¥ë¥È¤òÊѹ¹¤¹¤ë¤È¤¤¤¦¡¢°ÊÁ°¤ÎÌÜŪ¤È¤ÏµÕ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥½¡¼¥¹¥³¡¼¥É¤òÊѹ¹¤»¤º¡¢1.4.x ¤Ç¤Î breakiterator ·Ù¹ð¤ò½üµî¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢1.5.0 ¤«¤é¤Ï²¿¤â¤¹¤ëɬÍפ¬¤Ê¤¯¡¢·Ù¹ð¤Ï¾ÃÌǤ·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎµÕÌá¤ê¤ÎÍýͳ¤Ï¡¢breakiterator ¤ò¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¥á¥ê¥Ã¥È¤è¤ê¤â¡¢¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¤¿¤á¤ËɬÍפȤʤ롢¸ß´¹À­¤Î¤Ê¤¤¥½¡¼¥¹¤ÎÊѹ¹¤ÎÊý¤¬Ééô¤¬Â礭¤«¤Ã¤¿¤¿¤á¤Ç¤¹¡£¤³¤Î·ï¤Ç³§ÍͤË;ʬ¤Î¼ê´Ö¤ò¤ª¤«¤±¤·¡¢º®Íð¤ò¾·¤¤¤¿¤³¤È¤ò¤ªÏͤӤ¤¤¿¤·¤Þ¤¹¡£ -.TP 3 -\-locale\ language_country_variant -.LP -\f3½ÅÍ×\fP \- \f2\-locale\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó\fP¡¢¤Þ¤¿¤Ï¤½¤Î¾¤ÎǤ°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ÎÄ󶡤¹¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÁ° (º¸Â¦) ¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤¬±Ñ¸ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤À¤±¤Ï¡¢»ØÄꤹ¤ë½ç½ø¤Ë°Í¸¤·¤Þ¤¹¡£ -.LP -Javadoc ¤¬¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤È¤­¤Ë»È¤¦¥í¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î°ú¿ô¤Ï¼¡¤Î¤è¤¦¤Ê¡¢java.util.Locale ¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥í¥±¡¼¥ë¤Î̾Á°¤Ç¤¹¡£ \f2en_US\fP (±Ñ¸ì¡¢Êƹñ) ¤Þ¤¿¤Ï \f2en_US_WIN\fP (Windows ¤Ç»ÈÍѤµ¤ì¤ë±Ñ¸ì)¡£ -.LP -¥í¥±¡¼¥ë¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Î¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ Javadoc ¤Ë¤è¤Ã¤ÆÁªÂò¤µ¤ì¤Æ¡¢¥á¥Ã¥»¡¼¥¸ (¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¡¢¥ê¥¹¥È¤Èɽ¤Î¸«½Ð¤·¡¢¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ÎÌܼ¡¡¢stylesheet.css ¤Î¥³¥á¥ó¥È¤Ê¤É¤Îʸ»úÎó) ¤Î¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤µ¤ì¤ë¥ê¥¹¥È¤Î¥½¡¼¥È½ç¡¢¤ª¤è¤ÓºÇ½é¤Îʸ¤ÎËöÈø¤òȽÊ̤¹¤ë¤¿¤á¤Îʸ¤Î¶èÀÚ¤êʸ»ú¤â¡¢»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¥Æ¥­¥¹¥È¤Î¥í¥±¡¼¥ë¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -.TP 3 -\-encoding\ name -¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á° ( \f2EUCJIS/SJIS\fP ¤Ê¤É) ¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Ð¡¼¥¿¤¬»È¤ï¤ì¤Þ¤¹¡£ -.LP -\-docencoding ¤ª¤è¤Ó \-charset ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-Jflag -javadoc ¤ò¼Â¹Ô¤¹¤ë¼Â¹Ô»þ¥·¥¹¥Æ¥à java ¤Ë¡¢\f2flag\fP ¤òľÀÜÅϤ·¤Þ¤¹¡£ \f2J\fP ¤È \f2flag\fP ¤Î´Ö¤Ë¶õÇò¤òÆþ¤ì¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢À¸À®¥É¥­¥å¥á¥ó¥È¤Î½èÍýÍѤȤ·¤Æ32M ¥Ð¥¤¥È¤Î¥á¥â¥ê¡¼¤ò¥·¥¹¥Æ¥à¤Ç³ÎÊݤ·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢java ¤Î \f2\-Xmx\fP ¥ª¥×¥·¥ç¥ó¤ò¼¡¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£\f2\-Xms\fP ¤Ï¾Êά²Äǽ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥á¥â¥ê¡¼¤Î½é´ü¥µ¥¤¥º¤òÀßÄꤹ¤ë¤À¤±¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢¥á¥â¥ê¡¼¤ÎºÇÄãɬÍ×Î̤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-J\-Xmx32m \-J\-Xms32m\fP \f3com.mypackage\fP -.fl -.fi -»ÈÍѤ·¤Æ¤¤¤ë javadoc ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë Java ¤Î\f2¡Ö\-version¡×\fP¥ª¥×¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-J\-version\fP -.fl - java version "1.2" -.fl - Classic VM (build JDK\-1.2\-V, green threads, sunwjit) -.fl -.fi -½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +\-splitindex +.RS 4 +º÷°ú¥Õ¥¡¥¤¥ë¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤´¤È¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¡¢Ê¸»ú¤´¤È¤Ë1¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê³°¤Îµ­¹æ¤Ç»Ï¤Þ¤ëº÷°ú¥¨¥ó¥È¥êÍѤË1¤Ä¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ .RE -.SS -ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç¥ó -.RS 3 -.TP 3 -\-d\ directory -À¸À®¤µ¤ì¤¿ HTML ¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ëÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹(¡Öd¡×¤Ï¡ÖÀ¸À®Àè (destination)¡×¤Î°ÕÌ£)¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ÃÍ \f2directory\fP ¤Ë¤Ï¡¢ÀäÂХǥ£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤Ï¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 1.4 ¤Ç¤Ï¡¢javadoc ¤ò¼Â¹Ô¤¹¤ë¤ÈÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤¬¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¼¡¤Î¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2com.mypackage\fP ¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢¤½¤Î·ë²Ì¤¬ \f2/home/user/doc/\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d /home/user/doc com.mypackage\fP -.fl -.fi -.LP -.TP 3 -\-use -¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î¡Ö»ÈÍѡץڡ¼¥¸¤òÁȤ߹þ¤ß¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¤½¤ÎÆÃÄê¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î API ¤ò»È¤Ã¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤¬µ­½Ò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹ C ¤òÎã¤Ë¤È¤ë¤È¡¢¥¯¥é¥¹ C ¤ò»È¤Ã¤Æ¤¤¤ë¤â¤Î¤È¤·¤Æ¤Ï¡¢C ¤Î¥µ¥Ö¥¯¥é¥¹¡¢C ¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¡¢C ¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¡¢·¿ C ¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤È¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢String ¤Î [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë²¿¤¬É½¼¨¤µ¤ì¤ë¤«¤ò¸«¤Æ¤ß¤Þ¤·¤ç¤¦¡£java.awt.Font ¥¯¥é¥¹¤Î \f2getName()\fP ¥á¥½¥Ã¥É¤Ï¡¢ \f2String\fP ·¿¤ÎÃͤò \f2ÊÖ¤·¤Þ¤¹\fP¡£¤·¤¿¤¬¤Ã¤Æ¡¢ \f2getName()\fP ¤Ï \f2String\fP ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢String ¤Î [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë \f2¤³¤Î¥á¥½¥Ã¥É¤¬É½¼¨¤µ¤ì¤Þ¤¹\fP¡£ -.LP -¤¿¤À¤·¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¤Î¤Ï API ¤Î»ÈÍѤÀ¤±¤Ç¤¢¤Ã¤Æ¡¢¼ÂÁõ¤Ï¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Þ¤»¤ó¡£¤¢¤ë¥á¥½¥Ã¥É¤¬¡¢¤½¤Î¼ÂÁõ¤ÎÃæ¤Ç \f2String\fP ¤ò»È¤Ã¤Æ¤¤¤Æ¤â¡¢°ú¿ô¤È¤·¤ÆÊ¸»úÎó¤ò¤È¤Ã¤¿¤ê¡¢Ê¸»úÎó¤òÊÖ¤·¤¿¤ê¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ \f2String\fP ¤Î¡Ö»ÈÍѡפȤϤߤʤµ¤ì¤Þ¤»¤ó¡£ -.LP -À¸À®¤µ¤ì¤¿ [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢ÌÜŪ¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ë°Üư¤·¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [»ÈÍÑ] ¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ -.TP 3 -\-version -À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢@version ¤Î¥Æ¥­¥¹¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£»ÈÍѤ·¤Æ¤¤¤ë Javadoc ¥Ä¡¼¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï \f2\-J\-version\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.TP 3 -\-author -À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¡¢@author ¤Î¥Æ¥­¥¹¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£ -.LP -.TP 3 -\-splitindex -º÷°ú¥Õ¥¡¥¤¥ë¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤´¤È¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¡¢Ê¸»ú¤´¤È¤Ë 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê³°¤Îʸ»ú¤Ç»Ï¤Þ¤ëº÷°ú¥¨¥ó¥È¥êÍÑ¤Ë 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-windowtitle\ title -HTML ¤Î <title> ¥¿¥°¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥¿¥¤¥È¥ë¤Ï¡¢¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤ä¡¢¤³¤Î¥Ú¡¼¥¸¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤¿¥Ö¥é¥¦¥¶¤Î¥Ö¥Ã¥¯¥Þ¡¼¥¯ (¤ªµ¤¤ËÆþ¤ê) ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¿¥¤¥È¥ë¤Ë¤Ï HTML ¥¿¥°¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¥¿¥¤¥È¥ë¤Ë HTML ¥¿¥°¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢¥Ö¥é¥¦¥¶¤¬¥¿¥°¤òÀµ¤·¤¯²ò¼á¤Ç¤­¤Þ¤»¤ó¡£\f2title\fP ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\-windowtitle ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë \-doctitle ¤ÎÃͤò»È¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-windowtitle "Java SE Platform" com.mypackage\fP -.fl -.fi -.TP 3 -\-doctitle\ title -³µÍ×¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¤Î¶á¤¯¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥¿¥¤¥È¥ë¤ÏÃæ±û·¤¨¤Ë¤Ê¤ê¡¢¥ì¥Ù¥ë 1 ¤Î¸«½Ð¤·¤È¤·¤Æ¡¢¾åÉô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¤¹¤°²¼¤ËÃÖ¤«¤ì¤Þ¤¹¡£\f2title\fP ¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤Ï¡¢Á´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\f2title\fP ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-doctitle "Java(TM)" com.mypackage\fP -.fl -.fi -.TP 3 -\-title\ title -\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¤â¤¦Â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£\fP¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï Javadoc 1.2 ¤Î¥Ù¡¼¥¿ÈǤˤ·¤«Â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î̾Á°¤Ï \f2\-doctitle\fP ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£Ì¾Á°¤òÊѹ¹¤·¤¿Íýͳ¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤Ç¤Ï¤Ê¤¯¥É¥­¥å¥á¥ó¥È¤Î¥¿¥¤¥È¥ë¤òÄêµÁ¤¹¤ë¤³¤È¤òÌÀ³Î¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£ -.LP -.TP 3 -\-header\ header -³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾åü¤ËÇÛÃÖ¤¹¤ë¥Ø¥Ã¥À¡¼¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Ï¡¢¾åÉô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î±¦Â¦¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£\f2header\fP ¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤Ï¡¢Á´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\f2header\fP ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-header "<b>Java 2 Platform </b><br>v1.4" com.mypackage\fP -.fl -.fi -.LP -.TP 3 -\-footer\ footer -³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î²¼Ã¼¤ËÇÛÃÖ¤¹¤ë¥Õ¥Ã¥¿¡¼¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Õ¥Ã¥¿¡¼¤Ï¡¢²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î±¦Â¦¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£\f2footer\fP ¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤Ï¡¢Á´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\f2footer\fP ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.TP 3 -\-top -³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾åü¤ËÇÛÃÖ¤¹¤ë¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.TP 3 -\-bottom\ text -³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤è¤ê²¼¤Î¡¢¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ \f2text\fP ¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤Ï¡¢Á´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£°úÍÑÉä¤ò \f2text\fP Æâ¤Ç»ÈÍѤ¹¤ë¾ì¹ç¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.TP 3 -\-link\ extdocURL -javadoc ¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿´û¸¤Î³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£°ú¿ô¤ò 1 ¤Ä¤È¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f4extdocURL\fP ¤Ï¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë¡¢javadoc ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿³°Éô¥É¥­¥å¥á¥ó¥È¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐ URL ¤Þ¤¿¤ÏÁêÂÐ URL ¤Ç¤¹¡£¤¢¤È¤ÇÎã¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\f2\-linkoffline\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆÉ¤ß¼è¤Ã¤¿¤¢¤È¡¢¤½¤Î URL ¤Ç¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Î¼Â¹Ô»þ¤Ë¡¢\f2extdocURL\fP ¤ÎÃͤ¬¤½¤Î¤Þ¤Þ¡¢ºîÀ®¤µ¤ì¤¿ \f2<A HREF>\fP ¥ê¥ó¥¯Æâ¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2extdocURL\fP ¤Ï¥Õ¥¡¥¤¥ë¤Ø¤Î URL ¤Ç¤Ï¤Ê¤¯¡Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î URL¡×¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -\f2extdocURL\fP ¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Î¥É¥­¥å¥á¥ó¥È¤òǤ°Õ¤Î Web ¥µ¥¤¥È¾å¤Î¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤Ç¤­¤Þ¤¹¡£ÁêÂаÌÃ֤إê¥ó¥¯¤¹¤ë¤À¤±¤Ç¤è¤¤¾ì¹ç¤ÏÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤǤ­¤Þ¤¹¡£ÁêÂÐ¥ê¥ó¥¯¤Î¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤¬ÅϤ¹Ãͤϡ¢( \f2\-d\fP ¤Ç»ØÄꤵ¤ì¤¿) À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¡¢¥ê¥ó¥¯Àè¤È¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎÁêÂХѥ¹¤Ë¤¹¤Ù¤­¤Ç¤¹¡£ -.LP -Ä̾ÀäÂÐ¥ê¥ó¥¯¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢ \f2http:\fP ¥ê¥ó¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£Web ¥µ¡¼¥Ð¡¼¤ò»ý¤¿¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢ \f2file: ¥ê¥ó¥¯¤ò»ÈÍѤǤ­¤Þ¤¹¡£\fP ¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ï¡¢¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¤¬À¸À®¤µ¤ì¤¿Æ±¤¸¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¶¦Í­¤¹¤ë¥É¥­¥å¥á¥ó¥È¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç°Ê³°¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.LP -¤¹¤Ù¤Æ¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢ÀäÂÐ URL ¤ÈÁêÂÐ URL¡¢¡Öhttp:¡×¥Ù¡¼¥¹¤È¡Öfile:¡×¥Ù¡¼¥¹¤Ë¤«¤«¤ï¤é¤º¡¢¥¹¥é¥Ã¥·¥å¤ò¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹ ( -.na -\f2URL Memo\fP @ -.fi -http://www.ietf.org/rfc/rfc1738.txt ¤Ç»ØÄê)¡£ -.RS 3 -.TP 3 -http: ¥Ù¡¼¥¹¤ÎÀäÂÐ¥ê¥ó¥¯: -\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP -.TP 3 -file: ¥Ù¡¼¥¹¤ÎÀäÂÐ¥ê¥ó¥¯: -\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP -.TP 3 -ÁêÂÐ¥ê¥ó¥¯: -\f2\-link <directory>/<directory>/.../<name>\fP +.PP +\-windowtitle \fItitle\fR +.RS 4 +HTML¤Î\fI<title>\fR¥¿¥°¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fItitle\fR¥¿¥°¤Ë»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤Ï¡¢¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤ä¡¢¤³¤Î¥Ú¡¼¥¸¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤¿¥Ö¥é¥¦¥¶¤Î¥Ö¥Ã¥¯¥Þ¡¼¥¯(¤ªµ¤¤ËÆþ¤ê)¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¿¥¤¥È¥ë¤Ë¤ÏHTML¥¿¥°¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¥¿¥¤¥È¥ë¤ËHTML¥¿¥°¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢¥Ö¥é¥¦¥¶¤¬¥¿¥°¤òÀµ¤·¤¯²ò¼á¤Ç¤­¤Þ¤»¤ó¡£\fItitle\fR¥¿¥°Æâ¤ÎÆâÉô¤ÎÆó½Å°úÍÑÉä¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Æ¥Þ¡¼¥¯¤·¤Þ¤¹¡£\fI\-windowtitle\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI\-windowtitle\fR¥ª¥×¥·¥ç¥ó¤Î¤«¤ï¤ê¤Ë¡¢\fI\-doctitle\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjavadoc \-windowtitle "Java SE Platform" com\&.mypackage\fR¤Ç¤¹¡£ .RE +.PP +\-doctitle \fItitle\fR +.RS 4 +³µÍ×¥µ¥Þ¥ê¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¤Î¶á¤¯¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fItitle\fR¥¿¥°¤Ë»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤ÏÃæ±û·¤¨¤Ë¤Ê¤ê¡¢¥ì¥Ù¥ë1¤Î¸«½Ð¤·¤È¤·¤Æ¡¢¾åÉô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¤¹¤°²¼¤ËÃÖ¤«¤ì¤Þ¤¹¡£\fItitle\fR¥¿¥°¤Ë¤ÏHTML¥¿¥°¤ª¤è¤Ó¶õÇòʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢¥¿¥¤¥È¥ë¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fItitle\fR¥¿¥°¤ÎÆâÉô¤Ç°úÍÑÉä¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjavadoc \-header "<b>Java Platform </b><br>v1\&.4" com\&.mypackage\fR¤Ç¤¹¡£ .RE -.LP -javadoc ¤Î 1 ²ó¤Î¼Â¹Ô¤ÇÊ£¿ô¤Î \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ì¤Ð¡¢Ê£¿ô¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ \f3\-linkoffline ¤Þ¤¿¤Ï \-link ¤ÎÁªÂò\fP -.br -\f2\-link\fP¤ò»ÈÍѤ¹¤ë¾ì¹ç: -.RS 3 -.TP 2 -o -³°Éô API ¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂХѥ¹¤ò»ÈÍѤ¹¤ë¾ì¹ç -.TP 2 -o -³°Éô API ¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ URL ¤ò»ÈÍѤ¹¤ë¾ì¹ç (¥×¥í¥°¥é¥à¤¬¤½¤Î URL ¤ËÀܳ¤·¡¢ÆÉ¤ß¼è¤ê¤ò¹Ô¤¦¤³¤È¤¬¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç) +.PP +\-title \fItitle\fR +.RS 4 +¤¹¤Ç¤Ë¸ºß¤·¤Þ¤»¤ó¡£Javadoc 1\&.2¤Î¥Ù¡¼¥¿ÈǤˤ·¤«Â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-doctitle\fR¤È¤¤¤¦Ì¾Á°¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£Ì¾Á°¤òÊѹ¹¤·¤¿Íýͳ¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤Ç¤Ï¤Ê¤¯¥É¥­¥å¥á¥ó¥È¤Î¥¿¥¤¥È¥ë¤òÄêµÁ¤¹¤ë¤³¤È¤òÌÀ³Î¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£ .RE -\f2\-linkoffline\fP ¤ò»ÈÍѤ¹¤ë¾ì¹ç: -.RS 3 -.TP 2 -o -³°Éô API ¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ URL ¤ò»ÈÍѤ¹¤ë¾ì¹ç (¥×¥í¥°¥é¥à¤¬¤½¤Î URL ¤ËÀܳ¤·¡¢ÆÉ¤ß¼è¤ê¤ò¹Ô¤¦¤³¤È¤¬¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç)¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ï¡¢¥ê¥ó¥¯Àè¤Î¥É¥­¥å¥á¥ó¥È¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Î¸þ¤³¤¦Â¦¤Ë¤¢¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£ +.PP +\-header \fIheader\fR +.RS 4 +³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¤ËÇÛÃÖ¤¹¤ë¥Ø¥Ã¥À¡¼¡¦¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î±¦¾å¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£\fIheader\fR¤Ë¤ÏHTML¥¿¥°¤ª¤è¤Ó¶õÇòʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢\fIheader\fR¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ø¥Ã¥À¡¼ÆâÉô¤Î°úÍÑÉä¤Ë¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjavadoc \-header "<b>Java Platform </b><br>v1\&.4" com\&.mypackage\fR¤Ç¤¹¡£ .RE -.LP -\f3³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã\fP \- \f2java.lang\fP¡¢ \f2java.io\fP ¡¢¤½¤Î¾¤Î Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸ ( -.na -\f2http://download.oracle.com/javase/7/docs/api/\fP @ -.fi -http://download.oracle.com/javase/7/docs/api/ Æâ) ¤Ë¥ê¥ó¥¯¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò´Þ¤ó¤À¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2com.mypackage\fP ¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹¥Ä¥ê¡¼Æâ¤Î \f2Object\fP ¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ê¤ª¡¢ \f2\-sourcepath\fP ¤ä \f2\-d\fP ¤Ê¤É¡¢¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï¼¨¤·¤Æ¤¤¤Þ¤»¤ó¡£ +.PP +\-footer \fIfooter\fR +.RS 4 +³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Õ¥Ã¥¿¡¼¡¦¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£\fIfooter\fR¤ÎÃͤϡ¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î±¦²¼¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£\fIfooter\fR¤Ë¤ÏHTML¥¿¥°¤ª¤è¤Ó¶õÇòʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢\fIfooter\fR¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Õ¥Ã¥¿¡¼ÆâÉô¤Î°úÍÑÉä¤Ë¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-top +.RS 4 +³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¤ËÇÛÃÖ¤¹¤ë¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-bottom \fItext\fR +.RS 4 +³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Æ¥­¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Æ¥­¥¹¥È¤Ï¡¢²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤è¤ê²¼¤Î¡¢¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£¥Æ¥­¥¹¥È¤Ë¤ÏHTML¥¿¥°¤ª¤è¤Ó¶õÇòʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢¥Æ¥­¥¹¥È¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥ÈÆâÉô¤Î°úÍÑÉä¤Ë¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-link \fIextdocURL\fR +.RS 4 +´û¸¤ÎJavadoc¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£\fIextdocURL\fR°ú¿ô¤Ï¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë¡¢Javadoc¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿³°Éô¥É¥­¥å¥á¥ó¥È¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐURL¤Þ¤¿¤ÏÁêÂÐURL¤Ç¤¹¡£»ØÄꤷ¤¿\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤Ç¡¢Ê£¿ô¤Î\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆÊ£¿ô¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.sp +¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ëpackage\-list¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹)¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢package\-list¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆÉ¤ß¼è¤Ã¤¿¸å¡¢¤½¤ÎURL¤Ç¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë¡¢\fIextdocURL\fR¤ÎÃͤ¬¡¢ºîÀ®¤µ¤ì¤¿\fI<A HREF>\fR¥ê¥ó¥¯Æâ¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\fIextdocURL\fR¤Ï¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤ÎURL¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIextdocURL\fR¤ËÀäÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Î¥É¥­¥å¥á¥ó¥È¤òǤ°Õ¤ÎWeb¥µ¥¤¥È¾å¤Î¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤Ç¤­¤Þ¤¹¡£ÁêÂаÌÃ֤إê¥ó¥¯¤¹¤ë¤Î¤ß¤Î¾ì¹ç¤ÏÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤǤ­¤Þ¤¹¡£ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢ÅϤ¹Ãͤϰ¸Àè¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¡¢¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(\fI\-d\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄê)¡£ÀäÂÐ¥ê¥ó¥¯¤ò»ØÄꤹ¤ë¾ì¹ç¡¢Ä̾HTTP¥ê¥ó¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤À¤·¡¢Web¥µ¡¼¥Ð¡¼¤ò»ý¤¿¤Ê¤¤¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¡¦¥ê¥ó¥¯¤ò»ÈÍѤǤ­¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¥¢¥¯¥»¥¹¤¹¤ëÁ´°÷¤¬Æ±¤¸¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò¶¦Í­¤¹¤ë¾ì¹ç¤Ë¤Î¤ß¥Õ¥¡¥¤¥ë¡¦¥ê¥ó¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£¤É¤Î¾ì¹ç¤â¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ç¤â¡¢URL¤¬ÀäÂФޤ¿¤ÏÁêÂФΤ¤¤º¤ì¤Ç¤â¡¢¤Þ¤¿\fIh\fR\fIttp:\fR¤Þ¤¿¤Ï\fIf\fR\fIile:\fR¤Î¤¤¤º¤ì¤Ç¤â¡¢URL¥á¥â: Uniform Resource Locators +(http://www\&.ietf\&.org/rfc/rfc1738\&.txt)¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¤ª¤ê¡¢¶èÀÚ¤êʸ»ú¤È¤·¤Æ¥¹¥é¥Ã¥·¥å¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc \-link http://download.oracle.com/javase/7/docs/api/ com.mypackage\fP -.fl +\-link http://<host>/<directory>/<directory>/\&.\&.\&./<name> +\-link file://<host>/<directory>/<directory>/\&.\&.\&./<name> +\-link <directory>/<directory>/\&.\&.\&./<name> .fi -\f3³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã\fP \- 2 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ê¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤¬ Javadoc ¥Ä¡¼¥ë¤òÊ£¿ô²ó¼Â¹Ô¤·¤¿·ë²ÌÀ¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¤È¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¤³¤ì¤é¤Î¥É¥­¥å¥á¥ó¥È¤¬ÁêÂХѥ¹¤Çʬ³ä¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤ÎÎã¤Î¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢API ¤Ç¤¢¤ë \f2com.apipackage\fP ¤È¡¢SPI (¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¥¤¥ó¥¿¥Õ¥§¡¼¥¹) ¤Ç¤¢¤ë \f2com.spipackage\fP ¤Ç¤¹¡£¥É¥­¥å¥á¥ó¥È¤Î³ÊǼÀè¤Ï¡¢ \f2docs/api/com/apipackage\fP ¤È \f2docs/spi/com/spipackage\fP ¤Ç¤¹¡£API ¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤Ï¤¹¤Ç¤ËÀ¸À®ºÑ¤ß¤Ç¡¢ \f2docs\fP ¤¬¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È²¾Äꤹ¤ë¤È¡¢API ¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤ò´Þ¤à SPI ¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +\-linkoffline¤ª¤è¤Ó\-link¥ª¥×¥·¥ç¥ó¤Î°ã¤¤.PP +¼¡¤Î¾ì¹ç¤Ë¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³°ÉôAPI¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂХѥ¹¤ò»ÈÍѤ¹¤ë¾ì¹ç¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³°ÉôAPI¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐURL¤ò»ÈÍѤ¹¤ë¾ì¹ç(¤½¤ÎURL¤ËÀܳ¤·¡¢ÆÉ¼è¤ê¤ò¹Ô¤¦¤³¤È¤¬¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç)¡£ +.RE +.PP +³°ÉôAPI¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐURL¤ò»ÈÍѤ¹¤ë¾ì¹ç(¤½¤ÎURL¤ËÀܳ¤·¡¢ÆÉ¼è¤ê¤ò¹Ô¤¦¤³¤È¤¬¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç)¤Ï\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ï¡¢¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÆâ¦¤«¤é¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Î³°Â¦¤Ë¤¢¤ë¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯ +.RS 4 +http://docs\&.oracle\&.com/javase/8/docs/api/index\&.html¤Ë¼¨¤¹¤è¤¦¤Ê¡¢\fIjava\&.lang\fR¡¢\fIjava\&.io\fR¤ª¤è¤Ó¤½¤Î¾¤ÎJava¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤¹¤ë¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc \-d ./spi \-link ../api com.spipackage\fP -.fl +javadoc \-link http://docs\&.oracle\&.com/javase/8/docs/api/ com\&.mypackage .fi -.LP -\f2\-link\fP ¤Î°ú¿ô¤Ï¡¢À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\f2docs/spi\fP) ¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£ -.LP -\f3¾ÜºÙ\fP \- \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¡Ö¥³¡¼¥É¤«¤é¤Ï»²¾È¤µ¤ì¤Æ¤¤¤Æ¤â¡¢Javadoc ¤Îº£²ó¤Î¼Â¹Ô¤Ç¤Ï¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¡×¤È¤¤¤¦¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥ê¥ó¥¯¤«¤éÍ­¸ú¤Ê¥Ú¡¼¥¸¤Ë°Üư¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤Î HTML ¥Ú¡¼¥¸¤¬¤¢¤ë¾ì½ê¤òÄ´¤Ù¡¢¤½¤Î¾ì½ê¤ò \f2extdocURL\fP ¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤¿¤È¤¨¤Ð¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¡¼¤Î¥É¥­¥å¥á¥ó¥È¤«¤é \f2http://java.sun.com ¾å¤Î java.*\fP ¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤¬ \f2²Äǽ¤È¤Ê¤ê¤Þ¤¹\fP¡£ -.LP -º£²ó¤Î¼Â¹Ô¤Ç Javadoc ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥É¥­¥å¥á¥ó¥ÈÆâ¤Î API ¤À¤±¤òÂÐ¾Ý¤Ë \f2¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢\fP \-link ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£ \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢³°Éô»²¾È¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¡¢¤ª¤è¤Ó¸ºß¤¹¤ë¾ì¹ç¤Ï¤½¤Î¾ì½ê¤òȽÊ̤Ǥ­¤Ê¤¤¤«¤é¤Ç¤¹¡£ -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥ÈÆâ¤ÎÊ£¿ô¤Î¾ì½ê¤Ë¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -¤â¤¦ 1 ¤Ä¤ÎÍÑÅӤϡ¢¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È´Ö¤Ç¤Î¥¯¥í¥¹¥ê¥ó¥¯¤Ç¤¹¡£°ìÊý¤Î¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤¿¤¢¤È¡¢Â¾Êý¤Î¥Ñ¥Ã¥±¡¼¥¸¥»¥Ã¥È¤ËÂФ·¤Æ javadoc ¤òºÆÅټ¹Ԥ¹¤ë¤³¤È¤Ë¤è¤ê¡¢Î¾¥»¥Ã¥È´Ö¤ÇÁÐÊý¸þ¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -\f3¥¯¥é¥¹¤Î»²¾ÈÊýË¡\fP \- ³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤ò¡¢¥Æ¥­¥¹¥È¥é¥Ù¥ë¤À¤±¤Ç¤Ï¤Ê¤¯¼ÂºÝ¤Ëɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤ÎÊýË¡¤Ç¥¯¥é¥¹¤ò»²¾È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ÎËÜÂΤǥ¯¥é¥¹¤ò»²¾È¤¹¤ë¤À¤±¤Ç¤Ï½½Ê¬¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤½¤ì¤é¤Î¥¯¥é¥¹¤Ï¡¢ \f2import\fP ʸ¡¢Àë¸À¤Î¤¤¤º¤ì¤Î¾ì½ê¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Here are examples of how the class \f2java.io.File\fP can be referenced: -.RS 3 -.TP 2 -o -¤¹¤Ù¤Æ¤Î¼ïÎà¤Î \f2import\fP ʸ¤Î¾ì¹ç: ¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥È¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï \f2java.lang.* ¤ËÂФ¹¤ë¼«Æ°Åª¤Ê¥¤¥ó¥Ý¡¼¥È\fP¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ì¤Ð½½Ê¬¤Ç¤¹¡£ -.br -\f2import java.io.*;\fP -.br -1.3.x ¤ª¤è¤Ó 1.2.x ¤Ç¤Ï¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¤À¤±¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥Èʸ¤â¡¢ \f2java.lang.* ¤Î¼«Æ°¥¤¥ó¥Ý¡¼¥È¤â»ÈÍѤǤ­¤Þ¤»¤ó\fP¡£ -.TP 2 -o +.if n \{\ +.RE +.\} +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Java SE¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯»ý¤Ä\fIcom\&.mypackage\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹\fItrees\fRÆâ¤Î\fIObject\fR¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\fI\-sourcepath\fR¤ä\fI\-d\fR¤Ê¤É¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\fBExample 2\fR, ³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯ +.RS 4 +¤³¤ÎÎã¤Ç¤Ï¡¢2¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ê¡¢¤½¤Î¥É¥­¥å¥á¥ó¥È¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤òÊ£¿ô²ó¼Â¹Ô¤·¤¿·ë²ÌÀ¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤¹¡£¤µ¤é¤Ë¡¢¤³¤ì¤é¤Î¥É¥­¥å¥á¥ó¥È¤ÏÁêÂХѥ¹¤Çʬ³ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢API¤Ç¤¢¤ë\fIcom\&.apipackage\fR¤È¡¢SPI(¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹)¤Ç¤¢¤ëc\fIom\&.spipackage\fR¤Ç¤¹¡£¥É¥­¥å¥á¥ó¥È¤Î³ÊǼÀè¤Ï¡¢docs/api/com/apipackage¤Èdocs/spi/com/spipackage¤Ç¤¹¡£API¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤Ï¤¹¤Ç¤ËÀ¸À®¤µ¤ì¤Æ¤¤¤Æ¡¢docs¤¬¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¾ì¹ç¡¢API¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤ò»ý¤ÄSPI¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£\fIjavadoc \-d \&./spi \-link \&.\&./api com\&.spipackage\fR +.sp +\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢°¸Àè¥Ç¥£¥ì¥¯¥È¥ê(docs/spi)¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£ +.RE +Ãí°Õ.PP +\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥³¡¼¥É¤«¤é¤Ï»²¾È¤µ¤ì¤Æ¤¤¤Æ¤â¡¢º£²ó¤Î\fIjavadoc\fR¤Î¼Â¹Ô¤Ç¤Ï¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥ê¥ó¥¯¤«¤éÍ­¸ú¤Ê¥Ú¡¼¥¸¤Ë°Üư¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤ÎHTML¥Ú¡¼¥¸¤¬¤¢¤ë¾ì½ê¤òÄ´¤Ù¡¢¤½¤Î¾ì½ê¤ò\fIextdocURL\fR¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬java\&.*¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó(http://docs\&.oracle\&.com)¤Ø¥ê¥ó¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¡¢¸½ºß¤Î¼Â¹Ô¤ÇÀ¸À®¤·¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÆâ¤ÎAPI¤Ø¤Î¥ê¥ó¥¯¤Î¤ß¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï³°Éô»²¾È¤Î¤¿¤á¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤»¤ó¡£¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¤Î¤«¤É¤¦¤«¡¢¤Þ¤¿¤Ï¤É¤³¤Ë¸ºß¤¹¤ë¤Î¤«¤¬¤ï¤«¤é¤Ê¤¤¤«¤é¤Ç¤¹¡£\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢À¸À®¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÆâ¤ÎÊ£¿ô¤Î¾ì½ê¤Ë¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤¦1¤Ä¤ÎÍÑÅӤϡ¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥È¤Î´Ö¤Ë¥¯¥í¥¹¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£°ìÊý¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥È¤ËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¡¢Â¾Êý¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥»¥Ã¥È¤ËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤òºÆÅټ¹Ԥ¹¤ë¤È¡¢Î¾¥»¥Ã¥È´Ö¤ËÁÐÊý¸þ¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +¥¯¥é¥¹¤Î»²¾ÈÊýË¡.PP +ɽ¼¨¤µ¤ì¤ë³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤Î¾ì¹ç(¤ª¤è¤Ó¤½¤Î¥Æ¥­¥¹¥È¡¦¥é¥Ù¥ë¤À¤±¤Ç¤Ï¤Ê¤¯)¡¢¥¯¥é¥¹¤Ï¼¡¤ÎÊýË¡¤Ç»²¾È¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ÎËÜÂΤǥ¯¥é¥¹¤ò»²¾È¤¹¤ë¤Î¤ß¤Ç¤Ï½½Ê¬¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\fIimport\fRʸ¡¢Àë¸À¤Î¤¤¤º¤ì¤«¤Ç»²¾È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Ë¡¢¥¯¥é¥¹\fIjava\&.io\&.File\fR¤ò»²¾È¤¹¤ëÊýË¡¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤Îimportʸ¤Î¾ì¹ç¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥È¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï\fIjava\&.lang\&.*\fR¤ËÂФ¹¤ë¼«Æ°¥¤¥ó¥Ý¡¼¥È¡£ +.PP +Java SE 1\&.3\&.\fIn\fR¤ª¤è¤Ó1\&.2\&.\fIn\fR¤Ç¤Ï¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¤Î¤ßµ¡Ç½¤·¤Þ¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë\fIimport\fRʸ¤â¡¢\fIimport java\&.lang\&.*\fR¤Î¼«Æ°¥¤¥ó¥Ý¡¼¥È¤âµ¡Ç½¤·¤Þ¤»¤ó¡£ +.PP Àë¸À¤Î¾ì¹ç: -.br -\f2void foo(File f) {}\fP -.br -¤³¤Î»²¾È¤ò»ÈÍѤ·¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÌá¤êÃͤη¿¤Þ¤¿¤Ï¥Ñ¥é¥á¡¼¥¿¤Î·¿¤ËÃÖ¤¯¤«¡¢ \f2implements\fP¡¢ \f2extends\fP ¡¢¤Þ¤¿¤Ï \f2throws\fP ʸ¤ËÃÖ¤­¤Þ¤¹¡£ +\fIvoid mymethod(File f) {}\fR +.PP +»²¾È¤Ï¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÌá¤ê·¿¤Þ¤¿¤Ï¥Ñ¥é¥á¡¼¥¿¡¦¥¿¥¤¥×¡¢¤¢¤ë¤¤¤Ï¼ÂÁõ¡¢³ÈÄ¥¤Þ¤¿¤Ï¥¹¥í¡¼Ê¸¤Ë¤¢¤ê¤Þ¤¹¡£ +.PP +½ÅÍפʷë²Ì¤È¤·¤Æ¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¤³¤ÎÀ©¸Â¤Î¤¿¤á¤Ë¸í¤Ã¤ÆÉ½¼¨¤µ¤ì¤Ê¤¤¥ê¥ó¥¯¤¬Â¿¿ôȯÀ¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥È¤Ï¥Ï¥¤¥Ñ¡¼¥Æ¥­¥¹¥È¡¦¥ê¥ó¥¯¤¬ÉÕ¤±¤é¤ì¤º¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¥ê¥ó¥¯¤¬É½¼¨¤¹¤ë·Ù¹ð¤«¤é¡¢¤³¤ì¤é¤Î¥ê¥ó¥¯¤òǧ¼±¤Ç¤­¤Þ¤¹¡£¥¯¥é¥¹¤òÀµ¤·¤¯»²¾È¤·¡¢¤½¤ì¤Ë¤è¤Ã¤Æ¥ê¥ó¥¯¤òÄɲ乤뤿¤á¤ÎºÇ¤â´Êñ¤ÊÊýË¡¤Ï¤½¤Î¥¯¥é¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ç¤¹¡£ +¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È.PP +\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ëpackage\-list¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Ë»ØÄꤷ¤¿URL¤Ë¸ºß¤·¤Æ¤¤¤ë¤³¤È¤¬É¬ÍפǤ¹¡£package\-list¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤Î¾ì½ê¤Ë¤¢¤ë¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤Î¥ê¥¹¥È¤¬Æþ¤Ã¤¿Ã±½ã¤Ê¥Æ¥­¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Á°½Ò¤ÎÎã¤Ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤷ¤¿URL¤Çpackage\-list¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆÉ¤ß¼è¤Ã¤Æ¡¢¤½¤ÎURL¤Ç¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢Java SE API¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤Ï +http://docs\&.oracle\&.com/javase/8/docs/api/package\-list¤Ë¤¢¤ê¤Þ¤¹¡£ +.PP +¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤Ï¼¡¤Î¤è¤¦¤ÊÆâÍÆ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java\&.applet +java\&.awt +java\&.awt\&.color +java\&.awt\&.datatransfer +java\&.awt\&.dnd +java\&.awt\&.event +java\&.awt\&.font +and so on \&.\&.\&.\&. +.fi +.if n \{\ .RE -.LP -½ÅÍפʷë²Ì¤È¤·¤Æ¡¢ \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑ»þ¤Ë¡¢¤³¤ÎÀ©¸Â¤Î¤¿¤á¤Ë¸í¤Ã¤ÆÉ½¼¨¤µ¤ì¤Ê¤¤¥ê¥ó¥¯¤¬Â¿¿ôȯÀ¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥­¥¹¥È¤Ï¥Ï¥¤¥Ñ¡¼¥Æ¥­¥¹¥È¥ê¥ó¥¯¤¬ÉÕ¤±¤é¤ì¤º¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥ê¥ó¥¯¤¬É½¼¨¤¹¤ë·Ù¹ð¤«¤é¡¢¤³¤Î¥ê¥ó¥¯¤òǧ¼±¤Ç¤­¤Þ¤¹¡£¥¯¥é¥¹¤òÀµ¤·¤¯»²¾È¤·¡¢¤½¤ì¤Ë¤è¤Ã¤Æ¥ê¥ó¥¯¤òÄɲ乤뤿¤á¤Î¤â¤Ã¤È¤â°ÂÁ´¤ÊÊýË¡¤Ï¾å¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢Åö³º¤Î¥¯¥é¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ç¤¹¡£ -.LP -\f3¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È\fP \- \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤Ë¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë \f2package\-list\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¡¢¥æ¡¼¥¶¡¼¤¬ \f2\-link\fP ¤Ë»ØÄꤷ¤¿ URL ¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤Î¾ì½ê¤Ë¤¢¤ë¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤Î¥ê¥¹¥È¤¬Æþ¤Ã¤¿Ã±½ã¤Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Á°¤ÎÎã¤Ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿ URL ¤Ç \f2package\-list\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆÉ¤ß¹þ¤ó¤À¤¢¤È¡¢¤½¤Î URL ¤Ë¤¢¤ë¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤·¤¿¡£ -.LP -¤¿¤È¤¨¤Ð¡¢Java SE 6 API ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Ï -.na -\f2http://download.oracle.com/javase/7/docs/api/package\-list\fP @ -.fi -http://download.oracle.com/javase/7/docs/api/package\-list ¤Ë¤¢¤ê¡¢¼¡¤Î¤è¤¦¤ÊÆâÍÆ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - java.applet -.fl - java.awt -.fl - java.awt.color -.fl - java.awt.datatransfer -.fl - java.awt.dnd -.fl - java.awt.event -.fl - java.awt.font -.fl - ¤½¤Î¾ -.fl -\fP -.fi -.LP -\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë javadoc ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢³°Éô»²¾È¥¯¥é¥¹¤Ë°¤¹¤ë̾Á°¤ò¸«¤Ä¤±¤ë¤È¡¢javadoc ¤Ï¤½¤Î̾Á°¤ò¥ê¥ó¥¯¤ò»ý¤¿¤Ê¤¤·Á¤Ç½ÐÎϤ·¤Þ¤¹¡£°ìÊý¡¢ \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2»ØÄꤵ¤ì¤¿\fP \f2extdocURL\fP ¤Î¾ì½ê¤Ë¤¢¤ë package\-list ¥Õ¥¡¥¤¥ëÆâ¤Ç¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¸¡º÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¸«¤Ä¤«¤ë¤È¡¢\f2extdocURL\fP ¤¬Ì¾Á°¤ÎÁ°¤ËÉղ䵤ì¤Þ¤¹¡£ -.LP -¤¹¤Ù¤Æ¤Î¥ê¥ó¥¯¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢³°Éô»²¾È¤Î¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È¤¬¡¢»ØÄꤷ¤¿ URL ¤Ë¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿ package\-list ¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤À¤±¤Ç¡¢»ØÄꤵ¤ì¤¿ URL ¤ËÌÜŪ¤Î¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ï¥Á¥§¥Ã¥¯¤·¤Þ¤»¤ó¡£ -.LP -\f3Ê£¿ô¤Î¥ê¥ó¥¯\fP \- Ê£¿ô¤Î \f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢Ç¤°Õ¤Î¿ô¤Î³°ÉôÀ¸À®¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£Javadoc 1.2 ¤Ë¤Ï¡¢Ê£¿ô¤Î \f2\-link\fP ¥³¥Þ¥ó¥É¤ò»ØÄê¤Ç¤­¤Ê¤¤¤È¤¤¤¦¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï 1.2.2 ¤Ç½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£ -.LP -¥ê¥ó¥¯¤¹¤ë³°Éô¥É¥­¥å¥á¥ó¥È¤´¤È¤Ë¡¢¼¡¤Î¤è¤¦¤ËÊÌ¡¹¤Î¥ê¥ó¥¯¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -\ \ \f2% \fP\f4javadoc \-link\fP \f2extdocURL1\fP \f4\-link\fP \f2extdocURL2\fP \f2... \fP\f4\-link\fP \f2extdocURLn\fP \f4com.mypackage\fP -.LP -\f2extdocURL1\fP¡¢\f2extdocURL2\fP¡¢... \f2extdocURLn\fP ¤Ï¡¢¤½¤ì¤¾¤ì³°Éô¥É¥­¥å¥á¥ó¥È¤Î¥ë¡¼¥È¤ò»Ø¤·¡¢³Æ¥ë¡¼¥È¤Ë¤Ï¡¢ \f2package\-list\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£ -.LP -\f3¥¯¥í¥¹¥ê¥ó¥¯\fP \- ¤Þ¤ÀÀ¸À®¤µ¤ì¤Æ¤¤¤Ê¤¤ 2 ¤Ä°Ê¾å¤Î¥É¥­¥å¥á¥ó¥È¤ò¥¯¥í¥¹¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢¡Ö¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡×¤¬É¬Íפˤʤê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤É¤Î¥É¥­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤â \f2package\-list\fP ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥È¤ËÂФ·¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë»þÅÀ¤Ç¡¢2 ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤Î \f2package\-list\fP ¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢³°Éô¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢2 ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤òÀ¸À®¤·¤¿¤¢¤È¤Ç¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·Ä¾¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¤³¤Î¾ì¹ç¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥ÈÀ¸À®¤ÎÌÜŪ¤Ï¡¢ \f2package\-list\fP ¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¤¹¤Ù¤ÆÇİ®¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢package\-list ¤ò¼êư¤ÇºîÀ®¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¼¡¤Ë¡¢2 ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤È¤½¤Î³°Éô¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£É¬Íפʳ°Éô¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤«¤é·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-linkoffline\ extdocURL\ packagelistLoc -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï \f2\-link\fP ¤Î¥Ð¥ê¥¨¡¼¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤É¤Á¤é¤â¡¢³°Éô»²¾È¥¯¥é¥¹¤Î javadoc À¸À®¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£Javadoc \f2¥Ä¡¼¥ë¼«ÂΤ¬\fP ¥ª¥Õ¥é¥¤¥ó¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤­ (Web Àܳ¤ò»È¤Ã¤Æ¥É¥­¥å¥á¥ó¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤È¤­)¡¢Web ¾å¤Î¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï¡¢\-linkoffline ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -¸·Ì©¤Ë¤Ï¡¢ \f2³°Éô\fP ¥É¥­¥å¥á¥ó¥È¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤È¤­¡¢¤Þ¤¿¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤¬ \f2extdocURL\fP ¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤È¤Ï°Û¤Ê¤ë¾ì½ê (Ä̾\f2packageListLoc\fP ¤Ç»ØÄê²Äǽ¤Ê¥í¡¼¥«¥ë¤Ê¾ì½ê) ¤Ë¸ºß¤¹¤ë¤È¤­¡¢\-linkoffline ¤ò»ÈÍѤ·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢WWW ·Ðͳ¤Ç¤·¤« \f2extdocURL\fP ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¡¢ \f2\-linkoffline\fP ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®»þ¤Ë Javadoc ¥Ä¡¼¥ë¤¬ Web ¤ËÀܳ¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦À©Ì󤬤ʤ¯¤Ê¤ê¤Þ¤¹¡£ -.LP -¤µ¤é¤Ë¡¢¥É¥­¥å¥á¥ó¥È¤ò¹¹¿·¤¹¤ë¤¿¤á¤Î¡Ö¥Ï¥Ã¥­¥ó¥°¡×¤È¤·¤Æ¤Î»ÈÍѤâ²Äǽ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤¿¤¢¤È¡¢Êѹ¹¤·¤¿°ìÉô¤Î¥Ñ¥Ã¥±¡¼¥¸¤À¤±¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤¦¤·¤Æ¡¢¹¹¿·¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥¡¥¤¥ë¥»¥Ã¥È¤ËÁÞÆþ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£Îã¤ò¤¢¤È¤Ç¼¨¤·¤Þ¤¹¡£ -.LP -\f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤ò 2 ¤Ä¼è¤ê¤Þ¤¹¡£1 ¤Ä¤Ï¡¢ \f2<a href>\fP ¥ê¥ó¥¯¤ËÁȤ߹þ¤Þ¤ì¤ëʸ»úÎó¤òɽ¤¹°ú¿ô¡¢¤â¤¦ 1 ¤Ä¤Ï \f2package\-list\fP ¤Î¸¡º÷¾ì½ê¤ò¼¨¤¹°ú¿ô¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f4extdocURL\fP ¤Ï¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë¡¢javadoc ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿³°Éô¥É¥­¥å¥á¥ó¥È¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐ URL ¤Þ¤¿¤ÏÁêÂÐ URL ¤Ç¤¹¡£ÁêÂÐ¥ê¥ó¥¯¤Î¾ì¹ç¡¢¤½¤ÎÃͤϡ¢( \f2\-d\fP ¤Ç»ØÄꤵ¤ì¤¿) À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥ê¥ó¥¯Àè¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¤Ø¤ÎÁêÂХѥ¹¤Ë¤¹¤Ù¤­¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢\-link ¥ª¥×¥·¥ç¥ó¤Î \f2extdocURL\fP \f2¤ò»²¾È\fP ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f4packagelistLoc\fP ¤Ï¡¢³°Éô¥É¥­¥å¥á¥ó¥È¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤Þ¤¿¤Ï URL ¤Ç¤¹¡£¤³¤ì¤Ï¡¢URL (http: ¤Þ¤¿¤Ï file:) ¤Ç¤â¥Õ¥¡¥¤¥ë¥Ñ¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¤·¡¢ÀäÂХѥ¹¤Ç¤âÁêÂХѥ¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ÁêÂХѥ¹¤Î¾ì¹ç¤Ï¡¢javadoc ¤¬¼Â¹Ô¤µ¤ì¤ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾ \f2package\-list\fP ¤Ï´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.\} +.PP +\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fIjavadoc\fR¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢³°Éô»²¾È¥¯¥é¥¹¤Ë°¤¹¤ë̾Á°¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î̾Á°¤ò¥ê¥ó¥¯¤Ê¤·¤Ç½ÐÎϤ·¤Þ¤¹¡£°ìÊý¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿\fIextdocURL\fR¤Î¾ì½ê¤Ë¤¢¤ëpackage\-list¥Õ¥¡¥¤¥ë¤Ç¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¸¡º÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¸«¤Ä¤«¤ë¤È¡¢\fIextdocURL\fR¤¬Ì¾Á°¤ÎÁ°¤ËÉղ䵤ì¤Þ¤¹¡£ +.PP +¤¹¤Ù¤Æ¤Î¥ê¥ó¥¯¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢³°Éô»²¾È¤Î¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È¤¬¡¢»ØÄꤷ¤¿URL¤Ë¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿package\-list¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤Î¤ß¤ò¥Á¥§¥Ã¥¯¤·¡¢¤³¤ì¤é¤Î¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ï¥Á¥§¥Ã¥¯¤·¤Þ¤»¤ó¡£ +Ê£¿ô¤Î¥ê¥ó¥¯.PP +Ê£¿ô¤Î\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢Ç¤°Õ¤Î¿ô¤Î³°ÉôÀ¸À®¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤¹¡£Javadoc 1\&.2¤Ë¤Ï¡¢Ê£¿ô¤Î\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Ê¤¤¤È¤¤¤¦´ûÃΤÎÉÔ¶ñ¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ÏJavadoc 1\&.2\&.2¤Ç½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£¥ê¥ó¥¯¤¹¤ë³°Éô¥É¥­¥å¥á¥ó¥È¤´¤È¤Ë¡¢¼¡¤Î¤è¤¦¤ËÊÌ¡¹¤Î¥ê¥ó¥¯¡¦¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\fIjavadoc \-link extdocURL1 \-link extdocURL2 \&.\&.\&. \-link extdocURLn com\&.mypackage\fR +\fIextdocURL1\fR¡¢\fIextdocURL2\fR¡¢\&.\fI\&.\&. extdocURLn\fR¤Ï¡¢¤½¤ì¤¾¤ì³°Éô¥É¥­¥å¥á¥ó¥È¤Î¥ë¡¼¥È¤ò»Ø¤·¡¢³Æ¥ë¡¼¥È¤Ë¤Ï¡¢package\-list¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£ +¥¯¥í¥¹¥ê¥ó¥¯.PP +°ÊÁ°¤ËºîÀ®¤µ¤ì¤¿Ê£¿ô¤Î¥É¥­¥å¥á¥ó¥È¤ò¥¯¥í¥¹¥ê¥ó¥¯¤¹¤ë¾ì¹ç¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¤É¤Î¥É¥­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤âpackage\-list¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥È¤ËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë»þÅÀ¤Ç¡¢2ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤Îpackage\-list¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢³°Éô¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢2ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤òÀ¸À®¤·¤¿¸å¤Ç¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Ê¤ª¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +¤³¤Î¾ì¹ç¡¢ºÇ½é¤Î¥É¥­¥å¥á¥ó¥ÈÀ¸À®¤ÎÌÜŪ¤Ï¡¢package\-list¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹(¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÇİ®¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¼êư¤ÇºîÀ®¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó)¡£¼¡¤Ë¡¢2ÈÖÌܤΥɥ­¥å¥á¥ó¥È¤È¤½¤Î³°Éô¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£É¬Íפʳ°Éô¤Îpackage\-list¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤«¤é·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.PP +\-linkoffline \fIextdocURL packagelistLoc\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Î¥Ð¥ê¥¨¡¼¥·¥ç¥ó¤Ç¤¹¡£Î¾Êý¤È¤â¡¢Javadoc¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬WebÀܳ¤ò»ÈÍѤ·¤Æ¥É¥­¥å¥á¥ó¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤È¤­¡¢Web¾å¤Î¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï¡¢\fI\-link\fRo\fIffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£³°Éô¥É¥­¥å¥á¥ó¥È¤Îpackage\-list¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤È¤­¡¢¤Þ¤¿¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤¬\fIextdocURL\fR¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤Ë¤Ï¸ºß¤»¤º¡¢\fIpackageListLoc\fR¤Ç»ØÄê¤Ç¤­¤ëÊ̤ξì½ê(Ä̾ï¥í¡¼¥«¥ë)¤Ë¸ºß¤¹¤ë¤È¤­¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£\fIextdocURL\fR¤ËWorld Wide Web¾å¤Ç¤·¤«¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®»þ¤Ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬Web¤ËÀܳ¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¤¤¦À©Ì󤬤ʤ¯¤Ê¤ê¤Þ¤¹¡£¤â¤¦1¤Ä¤ÎÍÑÅӤϡ¢¥É¥­¥å¥á¥ó¥È¤ò¹¹¿·¤¹¤ë¤¿¤á¤Î²óÈòºö¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¡¢Êѹ¹¤·¤¿°ìÉô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¤Î¤ß\fIjavadoc\fR¥³¥Þ¥ó¥É¤òºÆÅټ¹Ԥ·¤Æ¡¢¹¹¿·¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥»¥Ã¥È¤ËÁÞÆþ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤ò2¤Ä¼è¤ê¤Þ¤¹¡£Âè1°ú¿ô¤Ï\fI<a href>\fR¥ê¥ó¥¯¤ËÁȤ߹þ¤Þ¤ì¤ëʸ»úÎó¤ò»ØÄꤷ¡¢Âè2°ú¿ô¤Ïpackage\-list¤Î¸¡º÷¾ì½ê¤ò\fI\-linkoffline\fR¤ËÅÁ¤¨¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIextdocURL\fR¤ÎÃͤϡ¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë¡¢Javadoc¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿³°Éô¥É¥­¥å¥á¥ó¥È¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐURL¤Þ¤¿¤ÏÁêÂÐURL¤Ç¤¹¡£ÁêÂÐURL¤Î¾ì¹ç¡¢Ãͤϡ¢À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê(\fI\-d\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄê)¤«¤é¥ê¥ó¥¯Àè¤È¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¤Ø¤ÎÁêÂХѥ¹¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤Î\fIextdocURL\fR¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE -.LP -1 ²ó¤Î javadoc ¼Â¹Ô¤ÇÊ£¿ô¤Î \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£1.2.2 ¤è¤êÁ°¤Ï¡¢Ê£¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ -.LP -\f3³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã\fP \- http://download.oracle.com/javase/7/docs/api/ Æâ¤Î \f2java.lang\fP¡¢ \f2java.io\fP ¡¢¤ª¤è¤Ó¤½¤Î¾¤Î Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸ \f2¤Ë¥ê¥ó¥¯¤·¤¿¤¯¤Æ¤â¡¢\fPWeb ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¤ò¹Í¤¨¤Þ¤¹¡£¥Ö¥é¥¦¥¶¤Ç \f2¡¢\fP -.na -\f2http://download.oracle.com/javase/7/docs/api/package\-list\fP @ -.fi -http://download.oracle.com/javase/7/docs/api/package\-list ¤Ë¤¢¤ë package\-list ¥Õ¥¡¥¤¥ë¤ò³«¤­¡¢¤½¤ì¤ò¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¡¢Âè 2 °ú¿ô \f2packagelistLoc\fP ¤Ç¤³¤Î¥í¡¼¥«¥ë¥³¥Ô¡¼¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê "\f2.\fP" ¤ËÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò´Þ¤ó¤À¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2com.mypackage\fP ¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹¥Ä¥ê¡¼Æâ¤Î \f2Object\fP ¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ê¤ª¡¢ \f2\-sourcepath\fP ¤Ê¤É¡¢¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï¼¨¤·¤Æ¤¤¤Þ¤»¤ó¡£ -.nf -\f3 -.fl -% \fP\f3javadoc \-linkoffline http://download.oracle.com/javase/7/docs/api/ . com.mypackage\fP -.fl -.fi -.LP -\f3³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã\fP \- \f2\-linkoffline\fP ¤ÇÁêÂХѥ¹¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¡¢¤¢¤Þ¤ê¤¢¤ê¤Þ¤»¤ó¡£Íýͳ¤Ïñ½ã¤Ç¡¢Ä̾ï¤Ï \f2\-link\fP ¤Ç½½Ê¬¤À¤«¤é¤Ç¤¹¡£ \f2\-linkoffline\fP ¤ò»ÈÍѤ¹¤ëºÝ¡¢ \f2package\-list\fP ¤Ë¤ÏÄ̾ï¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ëºÝ¤â¡¢¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤Ë¤ÏÄ̾ï¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ \f2\-linkoffline ¤Î 2 ¤Ä¤Î°ú¿ô¤ËÊÌ¡¹¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó\fP¡£2 ¤Ä¤Î°ú¿ô¤¬Æ±°ì¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ \f2\-link\fP ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ \f2\-link\fP ¤ÎÁêÂÐ¥ê¥ó¥¯¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f4package\-list\fP\f3 ¥Õ¥¡¥¤¥ë¤ò¼êư¤ÇºîÀ®\fP \- \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Ê¤¯¤Æ¤â¡¢¥É¥­¥å¥á¥ó¥È¤Î¥ê¥ó¥¯Àè¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¼«Ê¬¤ÇºîÀ®¤·¡¢packagelistLoc \f2¤Ç¤½¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fPcom.apipackage ¤¬ºÇ½é¤ËÀ¸À®¤µ¤ì¤ë»þÅÀ¤Ç \f2com.spipackage\fP ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤È¤¤¤¦¡¢ \f2Á°½Ð¤Î¥±¡¼¥¹¤¬\fP °ìÎã¤È¤·¤Æµó¤²¤é¤ì¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¤ï¤«¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¡¢¤Þ¤À¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¿·¤·¤¤³°Éô¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤Þ¤¿¡¢Javadoc 1.0 ¤Þ¤¿¤Ï 1.1 ¤ÇÀ¸À®¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤â¡¢¤³¤ÎÊýË¡¤¬»È¤¨¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£Æ±Íͤˡ¢2 ¤Ä¤Î´ë¶È¤¬Ì¤¸ø³«¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤ò¶¦Í­¤¹¤ì¤Ð¡¢¥¯¥í¥¹¥ê¥ó¥¯¤ò´Þ¤à¥É¥­¥å¥á¥ó¥È¤òƱ»þ¤Ë¥ê¥ê¡¼¥¹¤¹¤ë¤³¤È¤â²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3Ê£¿ô¤Î¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯\fP \- »²¾ÈÀè¤È¤Ê¤ëÀ¸À®¥É¥­¥å¥á¥ó¥È¤´¤È¤Ë \f2\-linkoffline\fP ¤ò 1 ²ó¤º¤Ä´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¡¢¥ª¥×¥·¥ç¥ó¤´¤È¤Ë²þ¹Ô¤·¤Æ¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -\f2% \fP\f4javadoc \-linkoffline\fP \f2extdocURL1\fP \f2packagelistLoc1\fP \f2\\\fP -.br -\f2\ \ \ \ \ \ \ \ \ \ \fP\f4\-linkoffline\fP \f2extdocURL2\fP \f2packagelistLoc2\fP \f2\\\fP -.br -\f2\ \ \ \ \ \ \ \ \ \ ...\fP -.LP -\f3¥É¥­¥å¥á¥ó¥È¤Î¹¹¿·\fP \- Á°½Ò¤Î \f2\-linkoffline\fP ¥ª¥×¥·¥ç¥ó¤Î¤â¤¦¤Ò¤È¤Ä¤ÎÍÑÅӤϡ¢¥×¥í¥¸¥§¥¯¥È¤ËÂçÎ̤Υѥ屡¼¥¸¤¬´Þ¤Þ¤ì¤Æ¤¤¤Æ¡¢¤¹¤Ç¤Ë¥Ä¥ê¡¼Á´ÂΤËÂФ·¤Æ javadoc ¤Î¼Â¹Ô¤¬´°Î»¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢¼¡¤Î¼Â¹Ô¤Ç¤Ï¡¢¾¯Î̤ÎÊѹ¹¤ò¼êÁ᤯²Ã¤¨¤¿¤¢¤È¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Î¤´¤¯°ìÉô¤ËÂФ·¤Æ¤À¤± javadoc ¤òºÆ¼Â¹Ô¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÂФ·¤Æ¤À¤±Êѹ¹¤ò²Ã¤¨¡¢Àë¸À¤ÏÊѹ¹¤·¤Ê¤¤¾ì¹ç¤Ë¤Î¤ßÀµ¤·¤¯½èÍý¤µ¤ì¤ë¤Î¤Ç¡¢¥Ï¥Ã¥­¥ó¥°¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£¥½¡¼¥¹¥³¡¼¥É¤ÎÀë¸À¤òÄɲᢺï½ü¡¢¤Þ¤¿¤ÏÊѹ¹¤·¤¿¾ì¹ç¤Ï¡¢º÷°ú¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¡¢·Ñ¾µ¤µ¤ì¤ë¥á¥ó¥Ð¡¼¤Î¥ê¥¹¥È¡¢¡Ö»ÈÍѡץڡ¼¥¸¤Ê¤É¤Î¾ì½ê¤Ç¡¢¥ê¥ó¥¯¤¬²õ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -¤Þ¤º¡¢¤³¤Î¿·¤·¤¤¾®¤µ¤Ê¼Â¹ÔÍѤȤ·¤Æ¡¢¿·¤·¤¤À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê ( \f2update\fP ¤È̿̾) ¤òºîÀ®¤·¤Þ¤¹¡£¸µ¤ÎÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤¬ \f2html\fP ¤À¤Ã¤¿¤È¤·¤Þ¤¹¡£¤â¤Ã¤È¤âñ½ã¤ÊÎã¤Ç¤Ï¡¢ \f2html ¥Ç¥£¥ì¥¯¥È¥ê¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư (cd) ¤·¤Þ¤¹\fP¡£ \f2\-linkoffline\fP ¤ÎÂè 1 °ú¿ô¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¡Ö.¡×¤ËÀßÄꤷ¡¢Âè 2 °ú¿ô¤ò¡¢package\-list ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë \f2html\fP ¤Ø¤ÎÁêÂХѥ¹¤ËÀßÄꤷ¡¢ \f2¹¹¿·¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¤ß¤ò\fPÅϤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d update \-linkoffline . html com.mypackage\fP -.fl -.fi -Javadoc ¥Ä¥ê¡¼¤Î½ªÎ»¸å¡¢ \f2update/com/package\fP Æâ¤ÎÀ¸À®¤µ¤ì¤¿¥¯¥é¥¹¤Î¥Ú¡¼¥¸¤ò¥³¥Ô¡¼¤· (³µÍפäº÷°ú¤Ï½ü¤¯)¡¢ \f2html/com/package Æâ¤Î¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¾å½ñ¤­¤·¤Þ¤¹\fP¡£ -.LP -.TP 3 -\-linksource\ -³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë (¹ÔÈÖ¹æÉÕ¤­) ¤Î HTML ¥Ð¡¼¥¸¥ç¥ó¤òºîÀ®¤·¡¢É¸½à HTML ¥É¥­¥å¥á¥ó¥È¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥³¥ó¥¹¥È¥é¥¯¥¿¡¢À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ËÂФ·¤Æ¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£ -.LP -\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fP\f4\-public\fP\f3¡¢ \fP\f4\-package\fP\f3¡¢ \fP\f4\-protected\fP\f3 ¡¢ \fP\f4\-private\fP\f3 ¤Î³Æ¥ª¥×¥·¥ç¥ó¤È¤Ï´Ø·¸¤Ê¤¯¡¢Èó¸ø³«¤Î¥¯¥é¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢Èó¸ø³«¤Î¥á¥½¥Ã¥É¤ÎËÜÂΤò¤Ï¤¸¤á¤È¤¹¤ëÁȤ߹þ¤Þ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤ÎÈó¸ø³«¼ÂÁõ¤Î¾ÜºÙ¤ò¸ø³«¤·¤Þ¤¹¡£\fP\f2\-private\fP ¥ª¥×¥·¥ç¥ó¤âÊ»¤»¤Æ»ØÄꤷ¤Ê¤¤¤«¤®¤ê¡¢Èó¸ø³«¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¥ê¥ó¥¯·Ðͳ¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ë¤È¤Ï¤«¤®¤ê¤Þ¤»¤ó¡£ -.LP -³Æ¥ê¥ó¥¯¤Ï¡¢¤½¤ÎÀë¸ÀÆâ¤Î¼±ÊÌ»Ò̾¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Button\fP ¥¯¥é¥¹¤Î¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¡ÖButton¡×¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - public class Button -.fl - extends Component -.fl - implements Accessible -.fl -\fP -.fi -¤Þ¤¿¡¢Button ¥¯¥é¥¹¤Î \f2getLabel()\fP ¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¡ÖgetLabel¡×¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - public String getLabel() -.fl -\fP -.fi -.LP -.TP 3 -\-group\ groupheading\ packagepattern:packagepattern:... -³µÍ×¥Ú¡¼¥¸¤ÎÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Ëʬ¤±¤Æ¡¢¥°¥ë¡¼¥×¤´¤È¤Ëɽ¤òºîÀ®¤·¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×¤Ï¡¢¤½¤ì¤¾¤ìÊ̤Π\f2\-group\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤é¤Î¥°¥ë¡¼¥×¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿½ç½ø¤Ç¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×Æâ¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤ٤é¤ì¤Þ¤¹¡£¤¢¤ëÆÃÄê¤Î \f2\-group\fP ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢ \f2packagepattern\fP ¼°¤Î¥ê¥¹¥È¤Ë°ìÃפ¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢ \f2groupheading\fP ¤È¤¤¤¦¸«½Ð¤·¤Îɽ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f4groupheading\fP ¤Ë¤Ï¡¢Ç¤°Õ¤Î¥Æ¥­¥¹¥È¤ò»ØÄê¤Ç¤­¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤Ï¡¢¥°¥ë¡¼¥×¤Îɽ¸«½Ð¤·¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\f4packagepattern\fP ¤Ë¤Ï¡¢Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤ÏǤ°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÀèÆ¬Éôʬ¤È¤½¤ì¤Ë³¤¯ 1 ¤Ä¤Î¥¢¥¹¥¿¥ê¥¹¥¯ (\f2*\fP) ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ ¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¡ÖǤ°Õ¤Îʸ»ú¤Ë°ìÃפ¹¤ë¡×¤È¤¤¤¦°ÕÌ£¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤·¤Æ»ØÄê¤Ç¤­¤ë¤Î¤Ï¡¢¥¢¥¹¥¿¥ê¥¹¥¯¤À¤±¤Ç¤¹¡£1 ¤Ä¤Î¥°¥ë¡¼¥×¤Ë¤Ï¡¢¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¿¡¼¥ó¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackagelistLoc\fR¤ÎÃͤϡ¢³°Éô¥É¥­¥å¥á¥ó¥È¤Îpackage\-list¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤Þ¤¿¤ÏURL¤Ç¤¹¡£¤³¤ì¤Ï¡¢URL (http:¤Þ¤¿¤Ïfile:)¤Ç¤â¥Õ¥¡¥¤¥ë¡¦¥Ñ¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢ÀäÂХѥ¹¤ÈÁêÂХѥ¹¤Î¤É¤Á¤é¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ÁêÂХѥ¹¤Î¾ì¹ç¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£package\-list¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ +.sp +»ØÄꤷ¤¿\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤Ç¡¢Ê£¿ô¤Î\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Javadoc 1\&.2\&.2¤è¤êÁ°¤Ç¤Ï¡¢\fI\-linkfile\fR¥ª¥×¥·¥ç¥ó¤Ï1²ó¤·¤«»ØÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ .RE -.LP -\f3Ãí: ¥Ñ¥¿¡¼¥ó¤ä¥Ñ¥¿¡¼¥ó¥ê¥¹¥ÈÆâ¤Ç¥¢¥¹¥¿¥ê¥¹¥¯¤ò»È¤¦¾ì¹ç¤Ï¡¢ \fP\f4"java.lang*:java.util" ¤Î¤è¤¦¤Ë¡¢¥Ñ¥¿¡¼¥ó¥ê¥¹¥È¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fP -.LP -¥æ¡¼¥¶¡¼¤¬ \f2\-group\fP ¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¡Ö¥Ñ¥Ã¥±¡¼¥¸¡×¤È¤¤¤¦¸«½Ð¤·¤Î 1 ¤Ä¤Î¥°¥ë¡¼¥×Æâ¤Ë¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬ÇÛÃÖ¤µ¤ì¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Ë¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¤É¤Î¥°¥ë¡¼¥×¤Ë¤âÆþ¤é¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¾ì¹ç¡¢¤³¤Î¤è¤¦¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Ï¡Ö¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡×¤È¤¤¤¦¸«½Ð¤·¤ò»ý¤ÄÆÈΩ¤·¤¿¥°¥ë¡¼¥×¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë 5 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¥³¥¢¥Ñ¥Ã¥±¡¼¥¸¡¢³ÈÄ¥µ¡Ç½¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ëʬ¤±¤é¤ì¤Þ¤¹¡£¡Öjava.lang*¡×¤Ç¤Ï¡¢ºÇ¸å¤Î¥É¥Ã¥È¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¤³¤È¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£¡Öjava.lang.*¡×¤Î¤è¤¦¤Ë¥É¥Ã¥È¤òÆþ¤ì¤ë¤È¡¢java.lang ¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-group "Core Packages" "java.lang*:java.util" -.fl - \-group "Extension Packages" "javax.*" -.fl - java.lang java.lang.reflect java.util javax.servlet java.new\fP -.fl -.fi -¤³¤Î·ë²Ì¡¢¼¡¤Î¤è¤¦¤Ê¥°¥ë¡¼¥×²½¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.RS 3 -.TP 3 -¥³¥¢¥Ñ¥Ã¥±¡¼¥¸ -\f2java.lang\fP -\f2java.lang.reflect\fP -\f2java.util\fP -.TP 3 -³ÈÄ¥µ¡Ç½¥Ñ¥Ã¥±¡¼¥¸ -\f2javax.servlet\fP -.TP 3 -¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸ -\f2java.new\fP .RE -.LP -.TP 3 -\-nodeprecated -¿ä¾©¤µ¤ì¤Ê¤¤ API ¤ò¥É¥­¥å¥á¥ó¥È¤ËÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\-nodeprecatedlist ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¸ú²Ì¤¬¤¢¤ë¤³¤È¤Ë²Ã¤¨¤Æ¡¢¥É¥­¥å¥á¥ó¥È¤Î¤Û¤«¤ÎÉôʬÁ´ÂΤǤ⡢¿ä¾©¤µ¤ì¤Ê¤¤ API ¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¡¼¥É¤òµ­½Ò¤·¤Æ¤¤¤ë¤È¤­¡¢¿ä¾©¤µ¤ì¤Ê¤¤¥³¡¼¥É¤Ë¤è¤Ã¤Æµ¤¤ò»¶¤é¤µ¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.LP -.TP 3 -\-nodeprecatedlist -¿ä¾©¤µ¤ì¤Ê¤¤ API ¤Î¥ê¥¹¥È¤ò´Þ¤à¥Õ¥¡¥¤¥ë (deprecated\-list.html)¡¢¤ª¤è¤Ó¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¤½¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤¬À¸À®¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤¿¤À¤·¡¢¥É¥­¥å¥á¥ó¥È¤Î¤Û¤«¤ÎÉôʬ¤Ç¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤ API ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤ API ¤¬¥½¡¼¥¹¥³¡¼¥É¤Ë´Þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤ò¤¹¤Ã¤­¤ê¤È¸«¤»¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.LP -.TP 3 -\-nosince -À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢@since ¥¿¥°¤ËÂбþ¤¹¤ë¡ÖƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¡× ¥»¥¯¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-notree -À¸À®¤µ¤ì¤ë¥É¥­¥å¥á¥ó¥È¤«¤é¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î³¬ÁØ¥Ú¡¼¥¸¤ò¾Êά¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¡Ö¥Ä¥ê¡¼¡×¥Ü¥¿¥ó¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³¬Áؤ¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-noindex -À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢º÷°ú¤ò¾Êά¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢º÷°ú¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-nohelp -½ÐÎϤγƥڡ¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ë¤¢¤ë¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤«¤é¡Ö¥Ø¥ë¥×¡×¥ê¥ó¥¯¤ò¾Êά¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-nonavbar -À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ëɽ¼¨¤µ¤ì¤ë¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¡¢¥Ø¥Ã¥À¡¼¡¢¤ª¤è¤Ó¥Õ¥Ã¥¿¡¼¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢bottom ¥ª¥×¥·¥ç¥ó¤Ë¤Ï±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£ \f2\-nonavbar\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢°õºþ¤¹¤ë¤¿¤á¤À¤±¤Ë¥Õ¥¡¥¤¥ë¤ò PostScript ¤Þ¤¿¤Ï PDF ¤ËÊÑ´¹¤¹¤ë¾ì¹ç¤Ê¤É¡¢ÆâÍÆ¤À¤±¤¬½ÅÍפǡ¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¤ÎɬÍפ¬¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ -.LP -.TP 3 -\-helpfile\ path/filename -¾åÉô¤È²¼Éô¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¡Ö¥Ø¥ë¥×¡×¥ê¥ó¥¯¤Î¥ê¥ó¥¯Àè¤È¤Ê¤ëÂåÂØ¥Ø¥ë¥×¥Õ¥¡¥¤¥ë \f2path/filename\fP ¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ä¡¼¥ëÆâ¤Ç¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Ø¥ë¥×¥Õ¥¡¥¤¥ë \f2help\-doc.html\fP ¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤½¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£\f2filename\fP ¤Ë¤Ï¤É¤ó¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤â»ØÄê¤Ç¤­¡¢ \f2help\-doc.html ¤Ë¤Ï¸ÂÄꤵ¤ì¤Þ¤»¤ó¡£\fP Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼Æâ¤Î¥ê¥ó¥¯¤òɬÍפ˱þ¤¸¤ÆÄ´À°¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-helpfile /home/user/myhelp.html java.awt\fP -.fl -.fi -.TP 3 -\-stylesheetfile\ path/filename -ÂåÂØ HTML ¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥Ä¡¼¥ëÆâ¤Ç¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë \f2stylesheet.css\fP ¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤½¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£\f2filename\fP ¤Ë¤Ï¤É¤ó¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤â»ØÄê¤Ç¤­¡¢ \f2stylesheet.css ¤Ë¤Ï¸ÂÄꤵ¤ì¤Þ¤»¤ó\fP¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - % \fP\f3javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage\fP -.fl -.fi -.TP 3 -\-serialwarn -@serial ¥¿¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Javadoc 1.2.2 °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Ä¾Î󲽤ηٹð¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó1.2.2 ¤è¤êÁ°¤Î½é´ü¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢·Ù¹ð¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Ä¾Î󲽤ηٹð¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤È \f2writeExternal\fP ¥á¥½¥Ã¥É¤òŬÀڤ˥ɥ­¥å¥á¥ó¥È²½¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£ -.LP -.TP 3 -\-charset\ name -¤³¤Î¥É¥­¥å¥á¥ó¥ÈÍѤΠHTML ʸ»ú¥»¥Ã¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢ -.na -\f2IANA Registry\fP @ -.fi -http://www.iana.org/assignments/character\-sets ¤ÇÍ¿¤¨¤é¤ì¤¿¡¢¿ä¾©¤µ¤ì¤ë MIME ̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ -.nf -\f3 -.fl - % \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP -.fl -.fi -À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤ÎÀèÆ¬¤Ë¡¢¼¡¤Î¹Ô¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - <META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1"> -.fl -\fP -.fi -¤³¤Î META ¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2HTML ¤Îɸ½à\fP @ -.fi -http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2 (4197265 ¤ª¤è¤Ó 4137321) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\-encoding ¤ª¤è¤Ó \-docencoding ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-docencoding\ name -À¸À®¤µ¤ì¤ë HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢ -.na -\f2IANA Registry\fP @ -.fi -http://www.iana.org/assignments/character\-sets ¤ÇÍ¿¤¨¤é¤ì¤¿¡¢¿ä¾©¤µ¤ì¤ë MIME ̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Ê¤¬¤é \-encoding ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤ë HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥É¤Ï¡¢\-encoding ¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤Þ¤¹¡£Îã: -.nf -\f3 -.fl - % \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP -.fl -.fi -\-encoding ¤ª¤è¤Ó \-charset ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.TP 3 -\-keywords -HTML ¥á¥¿¥­¡¼¥ï¡¼¥É¥¿¥°¤ò¡¢¥¯¥é¥¹¤´¤È¤ËÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¥á¥¿¥¿¥°¤ò¸¡º÷¤¹¤ë¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤¬¥Ú¡¼¥¸¤ò¸«¤Ä¤±¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤò¸¡º÷¤¹¤ë¿¤¯¤Î¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤Ï¡¢¥Ú¡¼¥¸¤¬¥á¥¿¥¿¥°¤ò¸íÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥á¥¿¥¿¥°¤òÄ´¤Ù¤Þ¤»¤ó¡£°ìÊý¡¢¸¡º÷¤ò¼«¿È¤Î Web ¥µ¥¤¥È¤Ë¸ÂÄꤷ¤Æ¤¤¤ë´ë¶È¤Ç¤Ï¡¢¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤¬¥á¥¿¥¿¥°¤òÄ´¤Ù¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥á¥ê¥Ã¥È¤òÆÀ¤é¤ì¤Þ¤¹¡£ -.LP -¥á¥¿¥¿¥°¤Ë¤Ï¡¢¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤È¡¢¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Î½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤Ì¾Á°¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢¥¯¥é¥¹Ì¾¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹ String ¤Ï¼¡¤Î¥­¡¼¥ï¡¼¥É¤Ç³«»Ï¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - <META NAME="keywords" CONTENT="java.lang.String class"> -.fl - <META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER"> -.fl - <META NAME="keywords" CONTENT="length()"> -.fl - <META NAME="keywords" CONTENT="charAt()"> -.fl -\fP -.fi -.LP -.TP 3 -\-tag\ \ tagname:Xaoptcmf:"taghead" -Javadoc ¥Ä¡¼¥ë¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Î°ú¿ô¤ò 1 ¤Ä¼è¤ëñ½ã¤Ê¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¥¿¥° \f2@\fP\f2tagname\fP ¤ò²ò¼á¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¥¿¥°Ì¾¤Î¡Ö¥¹¥Ú¥ë¥Á¥§¥Ã¥¯¡×¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Ë¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¥«¥¹¥¿¥à¥¿¥°¤Ë¤Ä¤¤¤Æ¡¢ \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤ò´Þ¤á¤ë¤³¤È¤¬½ÅÍפǤ¹¡£º£²ó¤Î¼Â¹Ô¤Ç¤Ï½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ï¡¢X ¤òÉÕ¤±¤ÆÌµ¸ú \f2¤Ë¤·¤Þ¤¹\fP¡£ -.LP -¥³¥í¥ó (\f4:\fP) ¤¬¾ï¤Ë¶èÀÚ¤êʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¡£tagname \f2¤Ç¥³¥í¥ó¤ò»ÈÍѤ¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\fP ¡Ö¥¿¥°Ì¾¤Ç¤Î¥³¥í¥ó¤Î»ÈÍѡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¿¥°¤Î¸«½Ð¤·¡Ötaghead¡×¤òÂÀ»ú¤Ç½ÐÎϤ·¤Þ¤¹¡£ ¤½¤Î¼¡¤Î¹Ô¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤¬Â³¤­¤Þ¤¹¡£ °Ê²¼¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ö¥í¥Ã¥¯¥¿¥°¤ÈƱÍÍ¡¢¤³¤Î°ú¿ô¤Î¥Æ¥­¥¹¥È¤Ë¤Ï¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥¤¥ó¥é¥¤¥ó¥¿¥°¤â²ò¼á¤µ¤ì¤Þ¤¹¡£½ÐÎϤϡ¢°ú¿ô¤ò 1 ¤Ä¼è¤ëɸ½à¤Î¥¿¥° ( \f2@return\fP ¤ä \f2@author\fP ¤Ê¤É) ¤Î½ÐÎϤȤ褯»÷¤Æ¤¤¤Þ¤¹¡£\f2taghead\fP ¤ò¾Êά¤¹¤ë¤È¡¢\f2tagname\fP ¤¬¸«½Ð¤·¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -\f3¥¿¥°¤ÎÇÛÃÖ\fP \- °ú¿ô¤Î \f4Xaoptcmf\fP Éôʬ¤Ï¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î¥¿¥°¤òÇÛÃ֤Ǥ­¤ë°ÌÃ֤ȡ¢ ¤ò»È¤Ã¤Æ¤³¤Î¥¿¥°¤ò̵¸ú¤Ë¤Ç¤­¤ë¤«¤É¤¦¤«¤òÆÃÄꤷ¤Þ¤¹¡£ \f2X\fP). ¥¿¥°¤ÎÇÛÃÖ°ÌÃÖ¤òÀ©¸Â¤·¤Ê¤¤¾ì¹ç¤Ï \f4a\fP ¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤ì°Ê³°¤Îʸ»ú¤ÎÁȤ߹ç¤ï¤»¤â²Äǽ¤Ç¤¹¡£ \f4X\fP (¥¿¥°¤Î̵¸ú²½) -.br -\f4a\fP (¤¹¤Ù¤Æ) -.br -\f4o\fP (³µÍ×) -.br -\f4p\fP (¥Ñ¥Ã¥±¡¼¥¸) -.br -\f4t\fP (·¿¡¢¤Ä¤Þ¤ê¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹) -.br -\f4c\fP (¥³¥ó¥¹¥È¥é¥¯¥¿) -.br -\f4m\fP (¥á¥½¥Ã¥É) -.br -\f4f\fP (¥Õ¥£¡¼¥ë¥É) -.LP -\f3¥·¥ó¥°¥ë¥¿¥°¤ÎÎã\fP \- ¥½¡¼¥¹¥³¡¼¥ÉÆâ¤ÎǤ°Õ¤Î°ÌÃ֤ǻÈÍѤǤ­¤ë¥¿¥°¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-tag todo:a:"To Do:" -.fl -\fP -.fi -@todo ¤ò¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É¤Î¤ß¤Ç»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-tag todo:cmf:"To Do:" -.fl -\fP -.fi -¾å¤ÎÎã¤ÎºÇ¸å¤Î¥³¥í¥ó (\f2:\fP) ¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¶èÀÚ¤ê»Ò¤Ç¤¹¤¬¡¢¸«½Ð¤·¥Æ¥­¥¹¥È¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹ (°Ê²¼¤ÎÎã¤ò»²¾È)¡£¼¡¤ÎÎã¤Î¤è¤¦¤Ë¡¢ \f2@todo\fP ¥¿¥°¤ò´Þ¤à¥½¡¼¥¹¥³¡¼¥É¤Ç¤Ï¡¢¤¤¤º¤ì¤«¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - @todo The documentation for this method needs work. -.fl -\fP -.fi -\f3¥¿¥°Ì¾¤Ë¥³¥í¥ó¤ò»ÈÍѤ¹¤ë\fP \- ¥³¥í¥ó (:) ¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ë¤È¡¢¥³¥í¥ó¤ò¥¿¥°Ì¾¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÃæ¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - /** -.fl - * @ejb:bean -.fl - */ -.fl -\fP -.fi -¤Ç¤³¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ -.nf -\f3 -.fl - \-tag ejb\\\\:bean:a:"EJB Bean:" -.fl -\fP -.fi -\f3¥¿¥°Ì¾¤Î¥¹¥Ú¥ë¥Á¥§¥Ã¥¯ (¥¿¥°¤Î̵¸ú²½)\fP \- ¥½¡¼¥¹¥³¡¼¥ÉÆâ¤ËÇÛÃÖ¤·¤¿°ìÉô¤Î¥«¥¹¥¿¥à¥¿¥°¤Î½ÐÎϤòÍÞÀ©¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¤â¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Ë¤¹¤Ù¤Æ¤Î¥¿¥°¤òÇÛÃÖ¤·¡¢½ÐÎϤòÍÞÀ©¤·¤Ê¤¤¥¿¥°¤òÍ­¸ú¤Ë¤·¡¢½ÐÎϤòÍÞÀ©¤¹¤ë¥¿¥°¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ \f2X\fP ¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¿¥°¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¥¿¥°¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¸¡½Ð¤·¤¿¥¿¥°¤¬ÆþÎϥߥ¹¤Ê¤É¤Ë¤è¤ë̤ÃΤΥ¿¥°¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÆÃÄê¤Ç¤­¤Þ¤¹¡£Ì¤ÃΤΥ¿¥°¤ò¸¡½Ð¤·¤¿¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï·Ù¹ð¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -¤¹¤Ç¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ëÃÍ¤Ë \f2X\fP ¤òÄɲäǤ­¤Þ¤¹¡£¤³¤¦¤·¤Æ¤ª¤±¤Ð¡¢ \f2X ¤òºï½ü¤¹¤ë¤À¤±¤Ç¥¿¥°¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹\fP¡£¤¿¤È¤¨¤Ð¡¢@todo ¥¿¥°¤Î½ÐÎϤòÍÞÀ©¤·¤¿¤¤¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - \-tag todo:Xcmf:"To Do:" -.fl -\fP -.fi -¤µ¤é¤Ëñ½ã¤Ê»ØÄêÊýË¡¤â¤¢¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - \-tag todo:X -.fl -\fP -.fi -.LP -¹½Ê¸ \f2\-tag todo:X\fP ¤Ï¡¢ \f2@todo\fP ¤¬¥¿¥°¥ì¥Ã¥È¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¤âÍ­¸ú¤Ç¤¹¡£ -.LP -\f3¥¿¥°¤Î½ç½ø\fP \- \f2\-tag\fP (¤ª¤è¤Ó \f2\-taglet\fP) ¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤Ë¤è¤Ã¤Æ¡¢¥¿¥°¤Î½ÐÎϽ礬·è¤Þ¤ê¤Þ¤¹¡£¥«¥¹¥¿¥à¥¿¥°¤Èɸ½à¥¿¥°¤òÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£É¸½à¥¿¥°¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤Ï¡¢½ç½ø¤ò·èÄꤹ¤ë¤¿¤á¤À¤±¤Î¥×¥ì¡¼¥¹¥Û¥ë¥À¤Ç¤¹¡£¤³¤ì¤é¤Ïɸ½à¥¿¥°Ì¾¤Î¤ß¤ò»ÈÍѤ·¤Þ¤¹¡£(ɸ½à¥¿¥°¤Î¾®¸«½Ð¤·¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¡£)¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê²¼¤ÎÎã¤ÇÀâÌÀ¤·¤Þ¤¹¡£ -.LP -\f2\-tag\fP ¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ \f2\-taglet\fP ¤Î°ÌÃ֤ˤè¤Ã¤Æ¤½¤Î½ç½ø¤¬·è¤Þ¤ê¤Þ¤¹¡£¥¿¥°¤¬Î¾Êý¤È¤â¸ºß¤¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤ÎºÇ¸å¤Ë¤¢¤ë¤Û¤¦¤¬¤½¤Î½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¿¥°¤ä¥¿¥°¥ì¥Ã¥È¤¬¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿½çÈ֤˽èÍý¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2\-taglet\fP ¤È \f2\-tag\fP ¤ÎξÊý¤¬ todo ¤È¤¤¤¦Ì¾Á°¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤ÎºÇ¸å¤Ë¤¢¤ë¤Û¤¦¤¬½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£ -.LP -\f3¥¿¥°¤Î´°Á´¥»¥Ã¥È¤ÎÎã\fP \- ¤³¤ÎÎã¤Ç¤Ï¡¢½ÐÎϤΡÖParameters¡×¤È¡ÖThrows¡×¤Î´Ö¤Ë¡ÖTo Do¡×¤òÁÞÆþ¤·¤Þ¤¹¡£X ¤ò»ÈÍѤ·¤Æ¡¢@example ¤¬¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Îº£²ó¤Î¼Â¹Ô¤Ç¤Ï½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ç¤¢¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£@argfile ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¡¢°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤ÎÊÌ¡¹¤Î¹Ô¤Ë¥¿¥°¤òÇÛÃ֤Ǥ­¤Þ¤¹¡£¹Ô¤Î·Ñ³¤ò¼¨¤¹Ê¸»ú¤ÏÉÔÍפǤ¹¡£ -.nf -\f3 -.fl - \-tag param -.fl - \-tag return -.fl - \-tag todo:a:"To Do:" -.fl - \-tag throws -.fl - \-tag see -.fl - \-tag example:X -.fl -\fP -.fi -.LP -javadoc ¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò²òÀϤ¹¤ëºÝ¤Ë¸¡º÷¤µ¤ì¤¿¥¿¥°¤Î¤¦¤Á¡¢É¸½à¥¿¥°¤Ç¤â¡¢ \f2\-tag\fP ¤ä \f2\-taglet\fP ¤ÇÅϤµ¤ì¤¿¥¿¥°¤Ç¤â¤Ê¤¤¤â¤Î¤Ï¤¹¤Ù¤ÆÌ¤ÃΤΥ¿¥°¤È¤ß¤Ê¤µ¤ì¡¢·Ù¹ð¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ -.LP -ɸ½à¥¿¥°¤Ï¡¢ºÇ½é¡¢¥Ç¥Õ¥©¥ë¥È¤Î½ç½ø¤Ç¥ê¥¹¥ÈÆâ¤ËÆâÉôŪ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Î¥ê¥¹¥È¤ËÄɲ䵤ì¤ë¥¿¥°¡¢¤¹¤Ê¤ï¤Áɸ½à¥¿¥°¤Î°ÌÃÖ¤¬¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤«¤é°Üư¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢É¸½à¥¿¥°¤Ë \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Ê¤±¤ì¤Ð¡¢¤³¤ì¤é¤Ï¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤ËÇÛÃÖ¤µ¤ì¤¿¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3¶¥¹ç¤Î²óÈò\fP \- ¸ÇÍ­¤Î̾Á°¶õ´Ö¤òºÙ¤«¤¯Ê¬¤±¤ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë \f2com.mycompany.todo ¤È¤¤¤¦Ì¾Á°¤Î¤è¤¦¤Ë¡¢¥É¥Ã¥È (.) ¤ò¶èÀڤ국¹æ¤È¤¹¤ë̾Á°¤ò»È¤¤¤Þ¤¹\fP¡£Oracle ¤Ï¡¢º£¸å¤â̾Á°¤Ë¥É¥Ã¥È¤ò´Þ¤Þ¤Ê¤¤É¸½à¥¿¥°¤òºîÀ®¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¥¿¥°¤Ï¡¢Oracle ¤¬Ä󶡤¹¤ëƱ¤¸Ì¾Á°¤Î¥¿¥°¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ \f2@todo\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¿¥°¤Þ¤¿¤Ï¥¿¥°¥ì¥Ã¥È¤ò¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¾ì¹ç¡¢Oracle ¤¬¤½¤Î¸åƱ¤¸Ì¾Á°¤Îɸ½à¥¿¥°¤òºîÀ®¤·¤¿¤È¤·¤Æ¤â¡¢¤½¤Îưºî¤Ï¾ï¤Ë¥æ¡¼¥¶¡¼¤¬ÄêµÁ¤·¤¿Æ°ºî¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f3Ãí¼á vs. Javadoc ¥¿¥°\fP \- °ìÈ̤ˡ¢Äɲ乤ëɬÍפΤ¢¤ë¥Þ¡¼¥¯¥¢¥Ã¥×¤¬¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë±Æ¶Á¤òÍ¿¤¨¤¿¤ê¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤òÀ¸À®¤·¤¿¤ê¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¾ì¹ç¡¢¤½¤Î¥Þ¡¼¥¯¥¢¥Ã¥×¤Ï javadoc ¥¿¥°¤Ë¤¹¤Ù¤­¤Ç¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏÃí¼á¤Ë¤¹¤Ù¤­¤Ç¤¹¡£ -.na -\f2¡ÖComparing Annotations and Javadoc Tags¡×\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html#annotations¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\-taglet ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¤è¤êÊ£»¨¤Ê¥Ö¥í¥Ã¥¯¥¿¥°¤ä¥«¥¹¥¿¥à¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò ºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.TP 3 -\-taglet\ \ class -¤½¤Î¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»È¤¦¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¤Î´°Á´»ØÄê̾¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥¿¥à¥¿¥°¤Î¥Æ¥­¥¹¥È°ú¿ô¤Î¿ô¤âÄêµÁ¤·¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤Ï¡¢¤³¤ì¤é¤Î°ú¿ô¤ò¼õ¤±ÉÕ¤±¡¢½èÍý¤·¡¢½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£³°Éô¥É¥­¥å¥á¥ó¥È¤È¥µ¥ó¥×¥ë¥¿¥°¥ì¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 2 -o -.na -\f2¡Ö¥¿¥°¥ì¥Ã¥È¤Î³µÍס×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html +³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯.PP +http://docs\&.oracle\&.com/javase/8/docs/api/index\&.html¤Ë¼¨¤¹¤è¤¦¤Ê¡¢\fIjava\&.lang\fR¡¢ +\fIjava\&.io\fR¤ª¤è¤Ó¤½¤Î¾¤ÎJava SE¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¤¿¤À¤·¡¢¥·¥§¥ë¤Ë¤ÏWeb¥¢¥¯¥»¥¹¸¢¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢¼¡¤ò¹Ô¤¤¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +¥Ö¥é¥¦¥¶¤Çpackage\-list¥Õ¥¡¥¤¥ë¤ò³«¤­¤Þ¤¹(http://docs\&.oracle\&.com/javase/8/docs/api/package\-list) .RE -.LP -¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥Ö¥í¥Ã¥¯¥¿¥°¤Þ¤¿¤Ï¥¤¥ó¥é¥¤¥ó¥¿¥°¤ÇÊØÍø¤Ç¤¹¡£¥¿¥°¥ì¥Ã¥È¤ÏǤ°Õ¤Î¿ô¤Î°ú¿ô¤ò¤È¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¥Æ¥­¥¹¥È¤òÂÀ»ú¤Ë¤¹¤ë¡¢²Õ¾ò½ñ¤­¤òºîÀ®¤¹¤ë¡¢¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤¹¡¢¤½¤Î¾¤Î¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ê¤É¤Î¥«¥¹¥¿¥àưºî¤ò¼ÂÁõ¤Ç¤­¤Þ¤¹¡£ -.LP -¥¿¥°¥ì¥Ã¥È¤Ç»ØÄê¤Ç¤­¤ë¤Î¤Ï¡¢¥¿¥°¤ÎÇÛÃÖ¾ì½ê¤ÈÇÛÃÖ·Á¼°¤Î¤ß¤Ç¤¹¡£¤½¤Î¾¤Î¤¹¤Ù¤Æ¤Î·èÄê¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤â¡¢Êñ´Þ¥¯¥é¥¹¤Î¥ê¥¹¥È¤«¤é¥¯¥é¥¹Ì¾¤òºï½ü¤¹¤ë¤Ê¤É¤Î½èÍý¤Ï¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¿¥°¤Î¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤¿¤ê¡¢ÊÌ¤Î¥×¥í¥»¥¹¤ò¥È¥ê¥¬¡¼¤¹¤ë¤Ê¤É¤ÎÉûºîÍÑ¤ÏÆÀ¤é¤ì¤Þ¤¹¡£ -.LP -¥¿¥°¥ì¥Ã¥È¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\f2\-tagletpath\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£°Ê²¼¤Ï¡¢À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤Î¡ÖParameter¡×¤È¡ÖThrows¡×¤Î´Ö¤Ë¡ÖTo Do¡×¥¿¥°¥ì¥Ã¥È¤òÁÞÆþ¤¹¤ëÎã¤Ç¤¹¡£ -.nf -\f3 -.fl - \-taglet com.sun.tools.doclets.ToDoTaglet -.fl - \-tagletpath /home/taglets -.fl - \-tag return -.fl - \-tag param -.fl - \-tag todo -.fl - \-tag throws -.fl - \-tag see -.fl -\fP -.fi -.LP -¤Þ¤¿¡¢ \f2\-taglet\fP ¥ª¥×¥·¥ç¥ó¤ò \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤¦¤¹¤ë¤È²ÄÆÉÀ­¤¬Äã²¼¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.TP 3 -\-tagletpath\ \ tagletpathlist -taglet ¥¯¥é¥¹¥Õ¥¡¥¤¥ë (.class) ¤Î¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£\f2tagletpathlist\fP ¤Ë¤Ï¡¢¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£ -.LP -.TP 3 -\-docfilessubdirs\ -¡Ö\f2doc\-files\fP¡×¥Ç¥£¥ì¥¯¥È¥ê¤Î¿¼¤¤¥³¥Ô¡¼¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥³¥Ô¡¼Àè¤Ë¤Ï¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤È¤¹¤Ù¤Æ¤Î¥³¥ó¥Æ¥ó¥Ä¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2doc\-files/example/images\fP ¤È¤½¤Î¤¹¤Ù¤Æ¤ÎÆâÍÆ¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤³¤³¤Ç¤â¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°¤¹¤ë»ØÄ꤬²Äǽ¤Ç¤¹¡£ -.LP -.TP 3 -\-excludedocfilessubdir\ \ name1:name2... -¡Ö\f2doc\-files\fP¡×¤Î¡¢»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¹¤Ù¤Æ½ü³°¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢SCCS ¤È¤½¤Î¾¤Î¥½¡¼¥¹¥³¡¼¥ÉÀ©¸æ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î¥³¥Ô¡¼¤òËɤ®¤Þ¤¹¡£ -.LP -.TP 3 -\-noqualifier\ \ all\ | \ packagename1:packagename2:... -½ÐÎϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤ÎÀèÆ¬¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾ (¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò) ¤ò¾Êά¤·¤Þ¤¹¡£ \f2\-noqualifier\fP ¤Î°ú¿ô¤Ï¡¢¡Ö\f2all\fP¡×(¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤¬¾Êά¤µ¤ì¤ë)¡¢½¤¾þ»Ò¤È¤·¤Æºï½ü¤¹¤Ù¤­¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥í¥ó¶èÀÚ¤ê¥ê¥¹¥È (¥ï¥¤¥ë¥É¥«¡¼¥É¤â²Ä)¡¢¤Î¤¤¤º¤ì¤«¤È¤Ê¤ê¤Þ¤¹¡£¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤¬É½¼¨¤µ¤ì¤ë°ÌÃÖ¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£ -.LP -¼¡¤ÎÎã¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-noqualifier all -.fl -\fP -.fi -¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò java.lang ¤ª¤è¤Ó java.io ¤ò¾Êά¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-noqualifier java.lang:java.io -.fl -\fP -.fi -¼¡¤ÎÎã¤Ç¤Ï¡¢java ¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤È com.sun ¤È¤¤¤¦¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ (javax ¤Ç¤Ï¤Ê¤¤) ¤ò¾Êά¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - \-noqualifier java.*:com.sun.* -.fl -\fP -.fi -¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤¬¾åµ­¤Îưºî¤Ë½¾¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë¾ì¹ç¡¢Ì¾Á°¤ÏŬÀÚ¤Ëû¤¯¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡Ö̾Á°¤Îɽ¼¨ÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Îµ¬Â§¤Ï¡¢ \f2\-noqualifier\fP ¤ò»ÈÍѤ¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤ºÍ­¸ú¤Ç¤¹¡£ -.LP -.TP 3 -\-notimestamp\ -¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬ÍÞÀ©¤µ¤ì¤Þ¤¹¡£³Æ¥Ú¡¼¥¸ÀèÆ¬¶á¤¯¤Ë¤¢¤ë¡¢À¸À®¤µ¤ì¤¿ HTML Æâ¤Î HTML ¥³¥á¥ó¥È¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬±£¤µ¤ì¤Þ¤¹¡£Javadoc ¤ò 2 ¤Ä¤Î¥½¡¼¥¹¥Ù¡¼¥¹¤Ç¼Â¹Ô¤·¡¢¤½¤ì¤é¤ËÂФ·¤Æ diff ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤è¤Ã¤Æ diff ¤¬È¯À¸¤·¤Ê¤¯¤Ê¤ë¤Î¤ÇÊØÍø¤Ç¤¹ (¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¤È¡¢³Æ¥Ú¡¼¥¸¤Ç diff ¤Ë¤Ê¤ê¤Þ¤¹)¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤Ï Javadoc ¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - <!\-\- Generated by javadoc (build 1.5.0_01) on Thu Apr 02 14:04:52 IST 2009 \-\-> -.fl -\fP -.fi -.LP -.TP 3 -\-nocomment\ -¼çÀâÌÀ¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥¿¥°¤ò´Þ¤à¥³¥á¥ó¥ÈËÜʸÁ´ÂΤòÍÞÀ©¤·¡¢Àë¸À¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢¸µ¤Ï°Û¤Ê¤ëÌÜŪ¤Î¤¿¤á¤À¤Ã¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºÆÍøÍѤ·¡¢¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤ÎÁᤤÃʳ¬¤Ç¥¹¥±¥ë¥È¥ó HTML ¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ -.LP -.TP 3 -\-sourcetab tabLength -¥½¡¼¥¹Æâ¤Ç³Æ¥¿¥Ö¤¬³ÍÆÀ¤¹¤ë¶õÇò¤Î¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥«¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¡¢¤³¤Î¥í¡¼¥«¥ë¡¦¥³¥Ô¡¼¤òÂè2°ú¿ô\fIpackagelistLoc\fR¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ï¥«¥ì¥ó¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê(\&.)¤ËÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .RE -.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë" -.LP -javadoc ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢ \f2javadoc\fP ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô ( \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤¬Æþ¤Ã¤¿ 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤³¤È¤òÍøÍѤ¹¤ì¤Ð¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î javadoc ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢javac ¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹ç¤ï¤»¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ -.LP -°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ \f2*.java\fP ¤È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ -.LP -javadoc ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£javadoc ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ -.SS -°ú¿ô¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä»ØÄꤹ¤ëÎã -.LP -¼¡¤Î¤è¤¦¤Ë¡¢¡Ö\f2argfile\fP¡×¤È¤¤¤¦Ì¾Á°¤Îñ°ì¤Î°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Ë¡¢Javadoc ¤Î¤¹¤Ù¤Æ¤Î°ú¿ô¤ò³ÊǼ¤·¤Þ¤¹¡£ +.PP +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Java SE¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò»ý¤Äc\fIom\&.mypackage\fR¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹\fItrees\fRÆâ¤Î\fIObject\fR¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\fI\-sourcepath\fR¤Ê¤É¡¢Â¾¤ÎɬÍפʥª¥×¥·¥ç¥ó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc @argfile\fP -.fl +javadoc \-linkoffline http://docs\&.oracle\&.com/javase/8/docs/api/ \&. com\&.mypackage .fi -.LP -¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òξÊý¤È¤âÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.SS -°ú¿ô¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä»ØÄꤹ¤ëÎã -.LP -2 ¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£1 ¤Ä¤Ï Javadoc ¥ª¥×¥·¥ç¥óÍÑ¡¢¤â¤¦ 1 ¤Ä¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ÍѤǤ¹¡£¤Ê¤ª¡¢¼¡¤Î¥ê¥¹¥È¤Ç¤Ï¹Ô·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -¼¡¤ÎÆâÍÆ¤ò´Þ¤à¡¢¡Ö\f2options\fP¡×¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +³°Éô¥É¥­¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯.PP +\fI\-linkoffline\fR¤òÁêÂХѥ¹¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤³¤È¤Ï¤¢¤Þ¤ê¤¢¤ê¤Þ¤»¤ó¡£Íýͳ¤Ïñ½ã¤Ç¡¢Ä̾ï¤Ï\fI\-link\fR¤Ç´Ö¤Ë¹ç¤¦¤«¤é¤Ç¤¹¡£\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢Ä̾package\-list¥Õ¥¡¥¤¥ë¤Ï¥í¡¼¥«¥ë¤Ç¡¢ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤â¥í¡¼¥«¥ë¤Ê¤Î¤Ç¡¢Ä̾ï¤Ï\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤Î2¤Ä¤Î°ú¿ô¤Ë¡¢°Û¤Ê¤ë¥Ñ¥¹¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£2¤Ä¤Î°ú¿ô¤¬Æ±°ì¤Î¾ì¹ç¡¢\fI\-link\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +package\-list¥Õ¥¡¥¤¥ë¤Î¼êư¤Ç¤ÎºîÀ®.PP +package\-list¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Ê¤¯¤Æ¤â¡¢¥É¥­¥å¥á¥ó¥È¤Î¥ê¥ó¥¯Àè¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤ò¼êư¤ÇºîÀ®¤·¡¢\fIpackagelistLoc\fR¤Ç¤½¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIcom\&.apipackage\fR¤¬ºÇ½é¤ËÀ¸À®¤µ¤ì¤¿»þÅÀ¤Ç\fIcom\&.spipackage\fR¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ê¥¹¥È¤¬Â¸ºß¤·¤Ê¤¤¤È¤¤¤¦Á°½Ð¤Î¥±¡¼¥¹¤¬°ìÎã¤È¤·¤Æµó¤²¤é¤ì¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¤ï¤«¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¡¢¤Þ¤À¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¿·¤·¤¤³°Éô¥É¥­¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤Þ¤¿¡¢package\-list¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¤Javadoc 1\&.0¤Þ¤¿¤Ï1\&.1¤ÇÀ¸À®¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸ÍѤËpackage\-list¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤â¡¢¤³¤ÎÊýË¡¤¬»ÈÍѤǤ­¤Þ¤¹¡£Æ±Íͤˡ¢2¤Ä¤Î´ë¶È¤¬Ì¤¸ø³«¤Îpackage\-list¥Õ¥¡¥¤¥ë¤ò¶¦Í­¤Ç¤­¤ë¤¿¤á¡¢¥¯¥í¥¹¥ê¥ó¥¯¤òÀßÄꤷ¤¿¥É¥­¥å¥á¥ó¥È¤òƱ»þ¤Ë¥ê¥ê¡¼¥¹¤¹¤ë¤³¤È¤â²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ +Ê£¿ô¥É¥­¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯.PP +»²¾ÈÀè¤ÎÀ¸À®¥É¥­¥å¥á¥ó¥È¤´¤È¤Ë1²ó¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \-d docs\-filelist -.fl - \-use -.fl - \-splitindex -.fl - \-windowtitle 'Java SE 7 API Specification' -.fl - \-doctitle 'Java SE 7 API Specification' -.fl - \-header '<b>Java(TM) SE 7</b>' -.fl - \-bottom 'Copyright © 1993\-2011 Oracle and/or its affiliates. All rights reserved.' -.fl - \-group "Core Packages" "java.*" -.fl - \-overview /java/pubs/ws/1.7.0/src/share/classes/overview\-core.html -.fl - \-sourcepath /java/pubs/ws/1.7.0/src/share/classes -.fl -\fP +javadoc \-linkoffline extdocURL1 packagelistLoc1 \-linkoffline extdocURL2 +packagelistLoc2 \&.\&.\&. .fi -.LP -¼¡¤ÎÆâÍÆ¤ò´Þ¤à¡¢¡Ö\f2packages\fP¡×¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥É¥­¥å¥á¥ó¥È¤Î¹¹¿·.PP +¥×¥í¥¸¥§¥¯¥È¤Ë²¿½½¤Þ¤¿¤Ï²¿É´¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¤â¡¢\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Ä¥ê¡¼Á´ÂΤǤ¹¤Ç¤Ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤³¤È¤¬¤¢¤ë¾ì¹ç¡¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤ï¤º¤«¤ÊÊѹ¹¤ò¿×®¤Ë²Ã¤¨¡¢¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î°ìÉô¤Ç\fIjavadoc\fR¥³¥Þ¥ó¥É¤òºÆ¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£2²óÌܤμ¹Ԥϡ¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤òÊѹ¹¤·¡¢Àë¸À¤ÏÊѹ¹¤·¤Ê¤¤¾ì¹ç¤Ë¤Î¤ßÀµ¤·¤¯½èÍý¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥½¡¼¥¹¡¦¥³¡¼¥É¤ËÂФ·¤ÆÀë¸À¤òÄɲᢺï½ü¡¢¤Þ¤¿¤ÏÊѹ¹¤·¤¿¾ì¹ç¤Ï¡¢º÷°ú¡¢¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ä¥ê¡¼¡¢·Ñ¾µ¤µ¤ì¤ë¥á¥ó¥Ð¡¼¤Î¥ê¥¹¥È¡¢»ÈÍÑ¥Ú¡¼¥¸¤Ê¤É¤Î¾ì½ê¤Ç¡¢¥ê¥ó¥¯¤¬²õ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¤Þ¤º¡¢¤³¤Î¿·¤·¤¤¾®µ¬ÌϤʼ¹ԤǻÈÍѤ¹¤ë¡¢¿·¤·¤¤À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê(update¤Ê¤É)¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¸µ¤ÎÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤Ïhtml¤Ç¤¹¡£ºÇ¤âñ½ã¤ÊÎã¤Ç¤Ï¡¢html¥Ç¥£¥ì¥¯¥È¥ê¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¤Þ¤¹¡£\fI\-linkoffline\fR¥ª¥×¥·¥ç¥ó¤ÎÂè1°ú¿ô¤Ë¥«¥ì¥ó¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê(\&.)¤òÀßÄꤷ¡¢Âè2°ú¿ô¤Ëpackage\-list¤¬¸¡º÷¤µ¤ì¤ëhtml¤Ø¤ÎÁêÂХѥ¹¤òÀßÄꤷ¡¢¹¹¿·¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¤ß¤òÅϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - com.mypackage1 -.fl - com.mypackage2 -.fl - com.mypackage3 -.fl -\fP +javadoc \-d update \-linkoffline \&. html com\&.mypackage .fi -.LP -¤½¤Î¤¢¤È¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î½ªÎ»¸å¡¢update/com/packageÆâ¤ÎÀ¸À®¤µ¤ì¤¿¥¯¥é¥¹¤Î¥Ú¡¼¥¸¤ò¥³¥Ô¡¼¤·(³µÍפäº÷°ú¤Ï½ü¤¯)¡¢html/com/packageÆâ¤Î¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¾å½ñ¤­¤·¤Þ¤¹¡£ +.PP +\-linksource +.RS 4 +³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë(¹ÔÈÖ¹æÉÕ¤­)¤ÎHTML¥Ð¡¼¥¸¥ç¥ó¤òºîÀ®¤·¡¢É¸½àHTML¥É¥­¥å¥á¥ó¥È¤«¤é¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¤¿¤È¤¨¤Ð¥Ç¥Õ¥©¥ë¥È¡¦¥³¥ó¥¹¥È¥é¥¯¥¿¤äÀ¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ËÂФ·¤Æ¤Ï¡¢¥ê¥ó¥¯¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£ +.sp +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-public\fR¡¢\fI\-package\fR¡¢\fI\-protected\fR¤ª¤è¤Ó\fI\-private\fR¤Î³Æ¥ª¥×¥·¥ç¥ó¤È¤Ï´Ø·¸¤Ê¤¯¡¢Èó¸ø³«¤Î¥¯¥é¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢Èó¸ø³«¤Î¥á¥½¥Ã¥É¤ÎËÜÂΤò¤Ï¤¸¤á¤È¤¹¤ëÁȤ߹þ¤Þ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤ÎÈó¸ø³«¼ÂÁõ¤Î¾ÜºÙ¤ò¸ø³«¤·¤Þ¤¹¡£\fI\-private\fR¥ª¥×¥·¥ç¥ó¤â¤¢¤ï¤»¤Æ»ØÄꤷ¤Ê¤¤¤«¤®¤ê¡¢Èó¸ø³«¤Î¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î°ìÉô¤Ë¤Ï¡¢¥ê¥ó¥¯¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +³Æ¥ê¥ó¥¯¤Ï¡¢¤½¤ÎÀë¸ÀÆâ¤Î¼±ÊÌ»Ò̾¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIButton\fR¥¯¥é¥¹¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢\fIButton\fR¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc @options @packages\fP -.fl +public class Button extends Component implements Accessible .fi -.SS -¥Ñ¥¹ÉÕ¤­¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÎã -.LP -°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢²¼¤ÎÎã¤Î¾ì¹ç¤Ï¡¢ \f2path1\fP ¤ä \f2path2\fP ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.if n \{\ +.RE +.\} +\fIButton\fR¥¯¥é¥¹¤Î\fIgetLabel\fR¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢\fIgetLabel\fR¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc @path1/options @path2/packages\fP -.fl +public String getLabel() .fi -.SS -¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ÎÎã -.LP -¼¡¤Ë¡¢Javadoc ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤À¤±¤ò°ú¿ô¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç¤Ï \f2\-bottom\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¤È¤¤¤¦¤Î¤â¡¢°ú¿ô¤¬Ä¹¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£¼¡¤Î¤è¤¦¤Ê¥Æ¥­¥¹¥È°ú¿ô¤ò´Þ¤à¡¢¡Ö\f2bottom\fP¡×¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-group groupheading \fIpackagepattern:packagepattern\fR +.RS 4 +³µÍ×¥Ú¡¼¥¸¤ÎÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Ëʬ¤±¤Æ¡¢¥°¥ë¡¼¥×¤´¤È¤Ëɽ¤òºîÀ®¤·¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×¤Ï¡¢¤½¤ì¤¾¤ìÊ̤Î\fI\-group\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£¥°¥ë¡¼¥×¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿½ç½ø¤Ç¥Ú¡¼¥¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¥°¥ë¡¼¥×Æâ¤Ç¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£»ØÄꤷ¤¿\fI\-group\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢\fIpackagepattern\fR¼°¤Î¥ê¥¹¥È¤Ë°ìÃפ¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢¸«½Ð¤·¤È¤·¤Æ\fIgroupheading\fR¤ò»ý¤Ä1¤Ä¤Îɽ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIgroupheading\fR¤Ë¤Ï¡¢Ç¤°Õ¤Î¥Æ¥­¥¹¥È¤ò»ØÄê¤Ç¤­¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤Ï¡¢¥°¥ë¡¼¥×¤Îɽ¸«½Ð¤·¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIpackagepattern\fR¤ÎÃͤˤϡ¢Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÀèÆ¬Éôʬ¤È¤½¤ì¤Ë³¤¯1¤Ä¤Î¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ÇǤ°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï»ÈÍѤǤ­¤ëÍ£°ì¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ç¡¢Ç¤°Õ¤Îʸ»ú¤Ë°ìÃפ¹¤ë¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£1¤Ä¤Î¥°¥ë¡¼¥×¤Ë¤Ï¡¢¥³¥í¥ó(:)¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¿¡¼¥ó¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ñ¥¿¡¼¥ó¤Þ¤¿¤Ï¥Ñ¥¿¡¼¥ó¡¦¥ê¥¹¥È¤Ç¥¢¥¹¥¿¥ê¥¹¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥Ñ¥¿¡¼¥ó¡¦¥ê¥¹¥È¤Ï\fI"java\&.lang*:java\&.util"\fR¤Î¤è¤¦¤Ë°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.sp +\fI\-group\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¸«½Ð¤·\fIPackages\fR¤ª¤è¤ÓŬÀڤʾ®¸«½Ð¤·¤ò»ý¤Ä1¤Ä¤Î¥°¥ë¡¼¥×¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£¾®¸«½Ð¤·¤Ë¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸(¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×)¤¬´Þ¤Þ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢»Ä¤ê¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡Ö¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡×¤È¤¤¤¦¥µ¥Ö¸«½Ð¤·¤ò»ý¤ÄÆÈΩ¤·¤¿¥°¥ë¡¼¥×¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¼¡¤Î\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢3¤Ä¤Î¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤¬\fI¡Ö¥³¥¢¡×\fR¡¢\fI¡Ö³ÈÄ¥¡×\fR¤ª¤è¤Ó\fI¡Ö¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡×\fR¤Ëʬ¤±¤é¤ì¤Þ¤¹¡£\fIjava\&.lang*\fR¤Ç¤Ï¡¢ºÇ¸å¤Î¥É¥Ã¥È(\&.)¤ò»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¡£\fIjava\&.lang\&.*\fR¤Î¤è¤¦¤Ë¥É¥Ã¥È¤òÆþ¤ì¤ë¤È¡¢\fI java\&.lang\fR¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-group "Core Packages" "java\&.lang*:java\&.util" + \-group "Extension Packages" "javax\&.*" + java\&.lang java\&.lang\&.reflect java\&.util javax\&.servlet java\&.new +.fi +.if n \{\ +.RE +.\} +\fB¥³¥¢¡¦¥Ñ¥Ã¥±¡¼¥¸\fR +.sp +\fIjava\&.lang\fR +.sp +\fIjava\&.lang\&.reflect\fR +.sp +\fIjava\&.util\fR +.sp +\fB³ÈÄ¥µ¡Ç½¥Ñ¥Ã¥±¡¼¥¸\fR +.sp +\fIjavax\&.servlet\fR +.sp +\fBOther Packages\fR +.sp +\fIjava\&.new\fR +.RE +.PP +\-nodeprecated +.RS 4 +Èó¿ä¾©¤ÎAPI¤ò¥É¥­¥å¥á¥ó¥È¤ËÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\fI\-nodeprecatedlist\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¸ú²Ì¤¬¤¢¤ê¡¢¥É¥­¥å¥á¥ó¥È¤Î¾¤ÎÉôʬÁ´ÂΤǤ⡢Èó¿ä¾©¤ÎAPI¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¡¼¥É¤òµ­½Ò¤·¤Æ¤¤¤ë¤È¤­¡¢Èó¿ä¾©¤Î¥³¡¼¥É¤Ë¤è¤Ã¤Æµ¤¤ò»¶¤é¤µ¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.RE +.PP +\-nodeprecatedlist +.RS 4 +Èó¿ä¾©¤ÎAPI¤Î¥ê¥¹¥È¤ò´Þ¤à¥Õ¥¡¥¤¥ë(deprecated\-list\&.html)¡¢¤ª¤è¤Ó¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¤½¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤¬À¸À®¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢°ú¤­Â³¤­¡¢¥É¥­¥å¥á¥ó¥È¤Î¾¤ÎÉôʬ¤Ç¤Ï¡¢Èó¿ä¾©¤ÎAPI¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Èó¿ä¾©¤ÎAPI¤¬¥½¡¼¥¹¡¦¥³¡¼¥É¤Ë´Þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤ò¤¹¤Ã¤­¤ê¤È¸«¤»¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.RE +.PP +\-nosince +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢\fI@since\fR¥¿¥°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿\fI¡ÖƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¡×\fR¥»¥¯¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£ +.RE +.PP +\-notree +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î³¬ÁØ¥Ú¡¼¥¸¤ò¾Êά¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¡Ö³¬Áإĥ꡼¡×¥Ü¥¿¥ó¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³¬Áؤ¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-noindex +.RS 4 +À¸À®¥É¥­¥å¥á¥ó¥È¤«¤é¡¢º÷°ú¤ò¾Êά¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢º÷°ú¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-nohelp +.RS 4 +½ÐÎϤγƥڡ¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ë¤¢¤ë¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤«¤é¡Ö¥Ø¥ë¥×¡×¥ê¥ó¥¯¤ò¾Êά¤·¤Þ¤¹¡£ +.RE +.PP +\-nonavbar +.RS 4 +Ä̾À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ëɽ¼¨¤µ¤ì¤ë¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¡¢¥Ø¥Ã¥À¡¼¡¢¤ª¤è¤Ó¥Õ¥Ã¥¿¡¼¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£\fI\-nonavbar\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤Ë±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£\fI\-nonavbar\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢°õºþ¤¹¤ë¤¿¤á¤Ë¤Î¤ß¥Õ¥¡¥¤¥ë¤òPostScript¤äPDF¤ËÊÑ´¹¤¹¤ë¾ì¹ç¤Ê¤É¡¢ÆâÍÆ¤Î¤ß¤¬½ÅÍפǡ¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¤ÎɬÍפ¬¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£ +.RE +.PP +\-helpfile \fIpath\efilename\fR +.RS 4 +ºÇ¾åÉô¤ª¤è¤ÓºÇ²¼Éô¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼¤Î¡Ö¥Ø¥ë¥×¡×¥ê¥ó¥¯¤Î¥ê¥ó¥¯Àè¤È¤Ê¤ëÂåÂØ¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ëpath\efilename¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥ÉÆâ¤Ç¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Ø¥ë¥×¡¦¥Õ¥¡¥¤¥ëhelp\-doc\&.html¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¤É¤ó¤Ê̾Á°¤Ç¤â»ØÄê¤Ç¤­¡¢help\-doc\&.html¤Ë¸ÂÄꤵ¤ì¤Þ¤»¤ó¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤ÎÎã¤Î¤è¤¦¤Ë¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¡¦¥Ð¡¼Æâ¤Î¥ê¥ó¥¯¤òɬÍפ˱þ¤¸¤ÆÄ´À°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-helpfile /home/user/myhelp\&.html java\&.awt\&. +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-stylesheet \fIpath/filename \fR +.RS 4 +ÂåÂØHTML¥¹¥¿¥¤¥ë¥·¡¼¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥ÉÆâ¤Ç¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¹¥¿¥¤¥ë¥·¡¼¥È¡¦¥Õ¥¡¥¤¥ëstylesheet\&.css¤ò¼«Æ°ºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¤É¤ó¤Ê̾Á°¤Ç¤â»ØÄê¤Ç¤­¡¢stylesheet\&.css¤Ë¸ÂÄꤵ¤ì¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-stylesheet file /home/user/mystylesheet\&.css com\&.mypackage +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-serialwarn +.RS 4 +\fI@serial\fR¥¿¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Javadoc 1\&.2\&.2°Ê¹ß¤Ç¤Ï¡¢Ä¾Î󲽤ηٹð¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤È¤ÏµÕ¤Îưºî¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Ä¾Î󲽤ηٹð¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤È\fIwriteExternal\fR¥á¥½¥Ã¥É¤òŬÀڤ˥ɥ­¥å¥á¥ó¥È²½¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£ +.RE +.PP +\-charset \fIname\fR +.RS 4 +¤³¤Î¥É¥­¥å¥á¥ó¥ÈÍѤÎHTMLʸ»ú¥»¥Ã¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢IANA Registry¤ÎCharacter Sets +(http://www\&.iana\&.org/assignments/character\-sets)¤Ë¼¨¤µ¤ì¤¿¡¢Í¥ÀèMIME̾¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIjavadoc \-charset "iso\-8859\-1" mypackage\fR¤Ï¼¡¤Î¹Ô¤òÀ¸À®¤µ¤ì¤¿³Æ¥Ú¡¼¥¸¤Î¥Ø¥Ã¥À¡¼¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +<META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1"> +.fi +.if n \{\ +.RE +.\} +¤³¤Î\fIMETA\fR¥¿¥°¤Ï¡¢HTMLɸ½à(4197265¤ª¤è¤Ó4137321)¤ÎHTML Document Representation +(http://www\&.w3\&.org/TR/REC\-html40/charset\&.html#h\-5\&.2\&.2)¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-docencoding \fIname\fR +.RS 4 +À¸À®¤µ¤ì¤ëHTML¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢IANA Registry¤ÎCharacter Sets +(http://www\&.iana\&.org/assignments/character\-sets)¤Ë¼¨¤µ¤ì¤¿¡¢Í¥ÀèMIME̾¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fI\-docencoding\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¡¢\fI\-encoding\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿HTML¥Õ¥¡¥¤¥ë¤Î°Å¹æ²½¤Ï\fI\-encoding\fR¥ª¥×¥·¥ç¥ó¤ÇÆÃÄꤵ¤ì¤Þ¤¹¡£Îã: +\fIjavadoc \-docencoding"iso\-8859\-1" mypackage\fR¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-keywords +.RS 4 +HTML¥­¡¼¥ï¡¼¥É<META>¥¿¥°¤ò¡¢¥¯¥é¥¹¤´¤È¤ËÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢<META>¥¿¥°¤ò¸¡º÷¤¹¤ë¥µ¡¼¥Á¡¦¥¨¥ó¥¸¥ó¤¬¥Ú¡¼¥¸¤ò¸«¤Ä¤±¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤò¸¡º÷¤¹¤ë¸¡º÷¥¨¥ó¥¸¥ó¤Î¤Û¤È¤ó¤É¤Ï<META>¥¿¥°¤ò»²¾È¤·¤Þ¤»¤ó¡£¥Ú¡¼¥¸¤¬¸íÍѤ·¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£¼«¿È¤ÎWeb¥µ¥¤¥È¤Ø¤Î¸¡º÷¤òÀ©¸Â¤¹¤ë¡¢´ë¶È¤Ë¤è¤êÄ󶡤µ¤ì¤ë¸¡º÷¥¨¥ó¥¸¥ó¤Ï¡¢<META>¥¿¥°¤ò»²¾È¤¹¤ë¤³¤È¤Ç²¸·Ã¤ò¼õ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£<META>¥¿¥°¤Ë¤Ï¡¢¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤È¡¢¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Î½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤Ì¾Á°¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢¥¯¥é¥¹Ì¾¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹\fIString\fR¤Ï¼¡¤Î¥­¡¼¥ï¡¼¥É¤Ç³«»Ï¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +<META NAME="keywords" CONTENT="java\&.lang\&.String class"> +<META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER"> +<META NAME="keywords" CONTENT="length()"> +<META NAME="keywords" CONTENT="charAt()"> +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-tag \fItagname\fR:Xaoptcmf:"\fItaghead\fR" +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤Î°ú¿ô¤ò1¤Ä¼è¤ëñ½ã¤Ê¥«¥¹¥¿¥à¡¦¥Ö¥í¥Ã¥¯¡¦¥¿¥°\fI@tagname\fR¤ò²ò¼á¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¥¿¥°Ì¾¤Î¥¹¥Ú¥ë¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤Ë¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¥«¥¹¥¿¥à¡¦¥¿¥°¤Ë¤Ä¤¤¤Æ¡¢\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤òÁȤ߹þ¤à¤³¤È¤¬½ÅÍפǤ¹¡£º£²ó¤Î¼Â¹Ô¤Ç¤Ï½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ï¡¢\fIX\fR¤òÉÕ¤±¤ÆÌµ¸ú¤Ë¤·¤Þ¤¹¡£\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¿¥°¤Î¸«½Ð¤·\fItaghead\fR¤òÂÀ»ú¤Ç½ÐÎϤ·¤Þ¤¹¡£¤½¤Î¼¡¤Î¹Ô¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î1¤Ä¤Î°ú¿ô¤Ç»ØÄꤷ¤¿¥Æ¥­¥¹¥È¤¬Â³¤­¤Þ¤¹¡£¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤ÈƱÍÍ¡¢¤³¤Î°ú¿ô¤Î¥Æ¥­¥¹¥È¤Ë¤Ï¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤â²ò¼á¤µ¤ì¤Þ¤¹¡£½ÐÎϤϡ¢°ú¿ô¤ò1¤Ä¼è¤ëɸ½à¤Î¥¿¥°(\fI@return\fR¤ä\fI@author\fR¤Ê¤É)¤Î½ÐÎϤȤ褯»÷¤Æ¤¤¤Þ¤¹¡£\fItaghead\fR¤ÎÃͤò¾Êά¤¹¤ë¤È¡¢\fItagname\fR¤¬¸«½Ð¤·¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +\fB¥¿¥°¤ÎÇÛÃÖ\fR: +\fIXaoptcmf\fR°ú¿ô¤Ë¤è¤ê¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤Ç¥¿¥°¤òÇÛÃ֤Ǥ­¤ë¾ì½ê¤¬·è¤Þ¤ê¡¢¥¿¥°¤ò̵¸ú¤Ë¤Ç¤­¤ë¤«¤É¤¦¤«(\fIX\fR¤ò»ÈÍѤ·¤Æ)¤¬·è¤Þ¤ê¤Þ¤¹¡£¥¿¥°¤ÎÇÛÃÖ°ÌÃÖ¤òÀ©¸Â¤·¤Ê¤¤¾ì¹ç¤Ï\fIa\fR¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤ì°Ê³°¤Îʸ»ú¤ÎÁȹ礻¤â²Äǽ¤Ç¤¹¡£ +.sp +\fIX\fR +(¥¿¥°¤Î̵¸ú²½) +.sp +\fIa\fR +(¤¹¤Ù¤Æ) +.sp +\fIo\fR +(³µÍ×) +.sp +\fIp\fR +(¥Ñ¥Ã¥±¡¼¥¸) +.sp +\fIt\fR +(¥¿¥¤¥×¡¢¤Ä¤Þ¤ê¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹) +.sp +\fIc\fR +(¥³¥ó¥¹¥È¥é¥¯¥¿) +.sp +\fIm\fR +(¥á¥½¥Ã¥É) +.sp +\fIf\fR +(¥Õ¥£¡¼¥ë¥É) +.sp +\fB¥·¥ó¥°¥ë¡¦¥¿¥°¤ÎÎã\fR: ¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤ÎǤ°Õ¤Î°ÌÃ֤ǻÈÍѤǤ­¤ë¥¿¥°¤Î¥¿¥°¡¦¥ª¥×¥·¥ç¥ó¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fI\-tag todo:a:"To Do:"\fR +.sp +\fI@todo\fR¥¿¥°¤ò¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤È¤Î¤ß»ÈÍѤ¹¤ë¾ì¹ç¡¢\fI\-tag todo:cmf:"To Do:"\fR¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +ºÇ¸å¤Î¥³¥í¥ó(:)¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¶èÀÚ¤êʸ»ú¤Ç¤Ï¤Ê¤¯¡¢¸«½Ð¤·¥Æ¥­¥¹¥È¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£\fI@todo\fR¥¿¥°¤ò´Þ¤à¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÍѤΤ¤¤º¤ì¤«¤Î¥¿¥°¡¦¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@todo The documentation for this method needs work\fR¤Ç¤¹¡£ +.sp +\fB¥¿¥°Ì¾Æâ¤Î¥³¥í¥ó\fR: ¥¿¥°Ì¾Æâ¤Ç¥³¥í¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ò»ÈÍѤ·¤Æ¥¨¥¹¥±¡¼¥×¤·¤Þ¤¹¡£¼¡¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤Ë¤Ï¡¢\fI\-tag ejb\e\e:bean:a:"EJB Bean:"\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +/** + * @ejb:bean + */ +.fi +.if n \{\ +.RE +.\} +\fB¥¿¥°Ì¾¤Î¥¹¥Ú¥ë¥Á¥§¥Ã¥¯\fR: °ìÉô¤Î³«È¯¼Ô¤¬É¬¤º¤·¤â½ÐÎϤ·¤Ê¤¤¥«¥¹¥¿¥à¡¦¥¿¥°¤ò¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤ËÇÛÃÖ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤Î¤¹¤Ù¤Æ¤Î¥¿¥°¤ò¥ê¥¹¥È¤·¡¢½ÐÎϤ¹¤ë¥¿¥°¤òÍ­¸ú¤Ë¤·¡¢½ÐÎϤ·¤Ê¤¤¥¿¥°¤ò̵¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIX\fR¤ò»ØÄꤹ¤ë¤È¥¿¥°¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¤È¡¢¥¿¥°¤ÏÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¸¡½Ð¤·¤¿¥¿¥°¤¬ÆþÎϥߥ¹¤Ê¤É¤Ë¤è¤ëÉÔÌÀ¥¿¥°¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÆÃÄê¤Ç¤­¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤«¤é·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤¹¤Ç¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ëÃͤË\fIX\fR¤òÄɲäǤ­¤Þ¤¹¡£¤³¤¦¤·¤Æ¤ª¤±¤Ð¡¢\fIX\fR¤òºï½ü¤¹¤ë¤Î¤ß¤Ç¥¿¥°¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI@todo\fR¥¿¥°¤ò½ÐÎϤÇÍÞÀ©¤¹¤ë¾ì¹ç¡¢\fI\-tag todo:Xcmf:"To Do:"\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤µ¤é¤Ë´Êñ¤Ë¤¹¤ë¾ì¹ç¡¢\fI\-tag todo:X\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¹½Ê¸\fI\-tag todo:X\fR¤Ï¡¢\fI@todo\fR¥¿¥°¤¬¥¿¥°¥ì¥Ã¥È¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¤âµ¡Ç½¤·¤Þ¤¹¡£ +.sp +\fB¥¿¥°¤Î½ç½ø\fR: +\fI\-ta\fR\fIg\fR¤ª¤è¤Ó\fI\-taglet\fR¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤Ë¤è¤Ã¤Æ¡¢¥¿¥°¤Î½ÐÎϽ礬·è¤Þ¤ê¤Þ¤¹¡£¥«¥¹¥¿¥à¡¦¥¿¥°¤Èɸ½à¥¿¥°¤òÁȤ߹礻¤Æ»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£É¸½à¥¿¥°¤Î¥¿¥°¡¦¥ª¥×¥·¥ç¥ó¤Ï¡¢½ç½ø¤ò·èÄꤹ¤ë¤¿¤á¤À¤±¤Î¥×¥ì¡¼¥¹¥Û¥ë¥À¤Ç¤¹¡£É¸½à¥¿¥°¤Î̾Á°¤Î¤ß¤ò¼è¤ê¤Þ¤¹¡£É¸½à¥¿¥°¤Î¾®¸«½Ð¤·¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¡£¤³¤ì¤ò¼¡¤ÎÎã¤Ë¼¨¤·¤Þ¤¹¡£\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢\fI\-tagle\fR\fIt\fR¥ª¥×¥·¥ç¥ó¤Î°ÌÃ֤ˤè¤ê¡¢½ç½ø¤¬·è¤Þ¤ê¤Þ¤¹¡£¥¿¥°¤¬Î¾Êý¤È¤â¸ºß¤¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎºÇ¸å¤Ë¤¢¤ëÊý¤¬¤½¤Î½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¿¥°¤ä¥¿¥°¥ì¥Ã¥È¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë»ØÄꤵ¤ì¤¿½çÈ֤˽èÍý¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-taglet\fR¤ª¤è¤Ó\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤¬Ì¾Á°\fItodo\fRÃͤò»ý¤Ä¾ì¹ç¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ËºÇ¸å¤Ë»ØÄꤵ¤ì¤¿¤â¤Î¤¬½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£ +.sp +\fB¥¿¥°¤Î´°Á´¥»¥Ã¥È¤ÎÎã\fR: ¤³¤ÎÎã¤Ç¤Ï¡¢½ÐÎϤÎParameters¤ÈThrows¤Î´Ö¤ËTo Do¤òÁÞÆþ¤·¤Þ¤¹¡£\fIX\fR¤ò»ÈÍѤ·¤Æ¡¢\fI@example\fR¥¿¥°¤¬¡¢¥½¡¼¥¹¡¦¥³¡¼¥ÉÆâ¤Îº£²ó¤Î¼Â¹Ô¤Ç¤Ï½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ç¤¢¤ë¤³¤È¤â»ØÄꤷ¤Þ¤¹¡£\fI@argfile\fR¥¿¥°¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¡¢°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤ÎÊÌ¡¹¤Î¹Ô¤Ë¥¿¥°¤òÇÛÃ֤Ǥ­¤Þ¤¹(¹Ô¤Î·Ñ³¤ò¼¨¤¹Ê¸»ú¤ÏÉÔÍ×)¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-tag param +\-tag return +\-tag todo:a:"To Do:" +\-tag throws +\-tag see +\-tag example:X +.fi +.if n \{\ +.RE +.\} +\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥È¤ò²òÀϤ¹¤ëºÝ¤Ë¸¡º÷¤µ¤ì¤¿¥¿¥°¤Î¤¦¤Á¡¢É¸½à¥¿¥°¤Ç¤â¡¢\fI\-tag\fR¤ä\fI\-taglet\fR¥ª¥×¥·¥ç¥ó¤ÇÅϤµ¤ì¤¿¥¿¥°¤Ç¤â¤Ê¤¤¤â¤Î¤Ï¤¹¤Ù¤ÆÉÔÌÀ¥¿¥°¤È¤ß¤Ê¤µ¤ì¡¢·Ù¹ð¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ +.sp +ɸ½à¥¿¥°¤Ï¡¢ºÇ½é¡¢¥Ç¥Õ¥©¥ë¥È¤Î½ç½ø¤Ç¥ê¥¹¥ÈÆâ¤ËÆâÉôŪ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤½¤ì¤é¤Î¥¿¥°¤Ï¤³¤Î¥ê¥¹¥È¤ËÄɲ䵤ì¤Þ¤¹¡£É¸½à¥¿¥°¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤«¤é°Üư¤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢É¸½à¥¿¥°¤Î\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢¤½¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤ËÇÛÃÖ¤µ¤ì¤¿¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fB¶¥¹ç¤Î²óÈò\fR: ¸ÇÍ­¤Î̾Á°¶õ´Ö¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë\fIcom\&.mycompany\&.todo\fR¤È¤¤¤¦Ì¾Á°¤Î¤è¤¦¤Ë¡¢¥É¥Ã¥È¤Ç¶èÀÚ¤é¤ì¤¿Ì¾Á°¤ò»ÈÍѤ·¤Þ¤¹¡£Oracle¤Ï¡¢º£¸å¤â̾Á°¤Ë¥É¥Ã¥È¤ò´Þ¤Þ¤Ê¤¤É¸½à¥¿¥°¤òºîÀ®¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¥¿¥°¤Ï¡¢Oracle¤¬ÄêµÁ¤¹¤ëƱ¤¸Ì¾Á°¤Î¥¿¥°¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\fI@todo\fR¤È¤¤¤¦Ì¾Á°¤Î¥¿¥°¤Þ¤¿¤Ï¥¿¥°¥ì¥Ã¥È¤ò¥æ¡¼¥¶¡¼¤¬ºîÀ®¤·¤¿¾ì¹ç¡¢¤½¤Î¸å¤ËOracle¤¬Æ±¤¸Ì¾Á°¤Îɸ½à¥¿¥°¤òºîÀ®¤·¤Æ¤â¡¢¤½¤Î¥¿¥°¤Þ¤¿¤Ï¥¿¥°¥ì¥Ã¥È¤Ï¾ï¤Ë¥æ¡¼¥¶¡¼¤¬ÄêµÁ¤·¤¿¤Î¤ÈƱ¤¸Æ°ºî¤òÊÝ»ý¤·¤Þ¤¹¡£ +.sp +\fBÃí¼ávs\&. Javadoc¥¿¥°\fR: °ìÈ̤ˡ¢Äɲ乤ëɬÍפΤ¢¤ë¥Þ¡¼¥¯¥¢¥Ã¥×¤¬¡¢¥É¥­¥å¥á¥ó¥È¤Ë±Æ¶Á¤òÍ¿¤¨¤¿¤ê¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤·¤¿¤ê¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¾ì¹ç¡¢¤½¤Î¥Þ¡¼¥¯¥¢¥Ã¥×¤ÏJavadoc¥¿¥°¤Ë¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏÃí¼á¤Ë¤·¤Þ¤¹¡£Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡¤Î¥«¥¹¥¿¥à¡¦¥¿¥°¤ÈÃí¼á¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html#annotations)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-taglet\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¤è¤êÊ£»¨¤Ê¥Ö¥í¥Ã¥¯¡¦¥¿¥°¤ä¥«¥¹¥¿¥à¡¦¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-taglet \fIclass\fR +.RS 4 +¤½¤Î¥¿¥°¤Î¥É¥­¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fIclass\fRÃͤδ°Á´½¤¾þ̾¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥¿¥à¡¦¥¿¥°¤Î¥Æ¥­¥¹¥È°ú¿ô¤Î¿ô¤âÄêµÁ¤·¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤Ï¡¢¤³¤ì¤é¤Î°ú¿ô¤ò¼õ¤±ÉÕ¤±¡¢½èÍý¤·¡¢½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤ÎÎã¤ò»ÈÍѤ·¤¿Ë­É٤ʥɥ­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¿¥°¥ì¥Ã¥È¤Î³µÍ× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/taglet/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥Ö¥í¥Ã¥¯¥¿¥°¤Þ¤¿¤Ï¥¤¥ó¥é¥¤¥ó¡¦¥¿¥°¤ÇÊØÍø¤Ç¤¹¡£¥¿¥°¥ì¥Ã¥È¤ÏǤ°Õ¤Î¿ô¤Î°ú¿ô¤ò¤È¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¥Æ¥­¥¹¥È¤òÂÀ»ú¤Ë¤¹¤ë¡¢²Õ¾ò½ñ¤­¤òºîÀ®¤¹¤ë¡¢¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤¹¡¢¤½¤Î¾¤Î¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ê¤É¤Î¥«¥¹¥¿¥àưºî¤ò¼ÂÁõ¤Ç¤­¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤Ç»ØÄê¤Ç¤­¤ë¤Î¤Ï¡¢¥¿¥°¤ÎÇÛÃÖ¾ì½ê¤ÈÇÛÃÖ·Á¼°¤Î¤ß¤Ç¤¹¡£¤½¤Î¾¤Î¤¹¤Ù¤Æ¤Î·èÄê¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤â¡¢Êñ´Þ¥¯¥é¥¹¤Î¥ê¥¹¥È¤«¤é¥¯¥é¥¹Ì¾¤òºï½ü¤¹¤ë¤Ê¤É¤Î½èÍý¤Ï¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¿¥°¤Î¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤¿¤ê¡¢ÊÌ¤Î¥×¥í¥»¥¹¤ò¥È¥ê¥¬¡¼¤¹¤ë¤Ê¤É¤ÎÉûºîÍÑ¤ÏÆÀ¤é¤ì¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\fI\-tagletpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤Ë¡¢À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤ÎParameters¤ÈThrows¤Î´Ö¤ËTo Do¥¿¥°¥ì¥Ã¥È¤òÁÞÆþ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢\fI\-taglet\fR¥ª¥×¥·¥ç¥ó¤ò¤½¤Î\fI\-tag\fR¥ª¥×¥·¥ç¥ó¤Î¤«¤ï¤ê¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢ÆÉ¤ß¼è¤ê¤¬º¤Æñ¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-taglet com\&.sun\&.tools\&.doclets\&.ToDoTaglet +\-tagletpath /home/taglets +\-tag return +\-tag param +\-tag todo +\-tag throws +\-tag see +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-tagletpath \fItagletpathlist\fR +.RS 4 +taglet¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤¿¤á¤Î¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£\fItagletpathlist\fR¤Ë¤Ï¡¢¥³¥í¥ó(:)¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£ +.RE +.PP +\-docfilesubdirs +.RS 4 +doc\-files¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ç¥£¡¼¥×¡¦¥³¥Ô¡¼¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£°¸Àè¤Ë¤Ï¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤Î¤¹¤Ù¤ÆÆâÍÆ¤¬ºÆµ¢Åª¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥êoc\-files/example/images¤È¤½¤ÎÆâÍÆ¤¬¤¹¤Ù¤Æ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤³¤³¤Ç¤â¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°¤¹¤ë»ØÄ꤬²Äǽ¤Ç¤¹¡£ +.RE +.PP +\-excludedocfilessubdir \fIname1:name2\fR +.RS 4 +»ØÄꤵ¤ì¤¿Ì¾Á°¤Îdoc\-files¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¹¤Ù¤Æ½ü³°¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢SCCS¤È¤½¤Î¾¤Î¥½¡¼¥¹¡¦¥³¡¼¥ÉÀ©¸æ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î¥³¥Ô¡¼¤òËɤ®¤Þ¤¹¡£ +.RE +.PP +\-noqualifier all | \fIpackagename1\fR:\fIpackagename2\&.\&.\&.\fR +.RS 4 +½ÐÎϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤«¤é½¤¾þ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¾Êά¤·¤Þ¤¹¡£\fI\-noqualifier\fR¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï¡¢\fIall\fR(¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά)¡¢¤Þ¤¿¤Ï½¤¾þ»Ò¤È¤·¤Æºï½ü¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥í¥ó¶èÀÚ¤ê¥ê¥¹¥È(¥ï¥¤¥ë¥É¥«¡¼¥É¤â²Ä)¡¢¤Î¤¤¤º¤ì¤«¤È¤Ê¤ê¤Þ¤¹¡£¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤¬É½¼¨¤µ¤ì¤ë°ÌÃÖ¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹¡£\fI\-noqualifier all\fR +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIjava\&.lang\fR¤ª¤è¤Ó\fIjava\&.io\fR¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹: +\fI\-noqualifier java\&.lang:java\&.io\fR¡£ +.sp +¼¡¤ÎÎã¤Ç¤Ï¡¢\fIjava\fR¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ª¤è¤Ó\fIcom\&.sun\fR¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¾Êά¤·¤Þ¤¹¤¬¡¢\fIjavax\fR¤Ï¾Êά¤·¤Þ¤»¤ó¡£\fI\-noqualifier java\&.*:com\&.sun\&.*\fR +.sp +¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤¬Á°½Ò¤Îưºî¤Ë½¾¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë¾ì¹ç¡¢Ì¾Á°¤ÏŬÀÚ¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¡Ö̾Á°¤¬É½¼¨¤µ¤ì¤ëÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ë¡¼¥ë¤Ï¡¢\fI\-noqualifier\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤ºÍ­¸ú¤Ç¤¹¡£ +.RE +.PP +\-notimestamp +.RS 4 +¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬ÍÞÀ©¤µ¤ì¤Þ¤¹¡£³Æ¥Ú¡¼¥¸¤ÎÀèÆ¬¶á¤¯¤Ë¤¢¤ë¡¢À¸À®¤µ¤ì¤¿HTMLÆâ¤ÎHTML¥³¥á¥ó¥È¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬±£¤µ¤ì¤Þ¤¹¡£\fI\-notimestamp\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò2¤Ä¤Î¥½¡¼¥¹¡¦¥Ù¡¼¥¹¤Ç¼Â¹Ô¤·¡¢¤½¤ì¤é¤Î´Ö¤Îº¹Ê¬\fIdiff\fR¤ò¼èÆÀ¤¹¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤è¤ë\fIdiff\fR¤ÎȯÀ¸¤òËɤ°¤«¤é¤Ç¤¹(¤½¤¦¤Ç¤Ê¤¤¤È¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤Ç\fIdiff\fR¤Ë¤Ê¤ê¤Þ¤¹)¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥ê¥ê¡¼¥¹Èֹ椬´Þ¤Þ¤ì¡¢¸½ºß¤Ç¤Ï¡¢\fI<!\-\- Generated by javadoc (build 1\&.5\&.0_01) on Thu Apr 02 14:04:52 IST 2009 \-\->\fR¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-nocomment +.RS 4 +¼çÀâÌÀ¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥¿¥°¤ò´Þ¤à¥³¥á¥ó¥ÈËÜʸÁ´ÂΤòÍÞÀ©¤·¡¢Àë¸À¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢¸µ¤Ï°Û¤Ê¤ëÌÜŪ¤Î¤¿¤á¤À¤Ã¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òºÆÍøÍѤ·¡¢¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤ÎÁᤤÃʳ¬¤Ç¥¹¥±¥ë¥È¥óHTML¥É¥­¥å¥á¥ó¥È¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-sourcetab \fItablength\fR +.RS 4 +¥½¡¼¥¹Æâ¤Ç³Æ¥¿¥Ö¤¬»ÈÍѤ¹¤ë¶õÇòʸ»ú¤Î¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.SH "¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¥Õ¥¡¥¤¥ë" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô(\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò½ü¤¯)¤¬Æþ¤Ã¤¿1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤³¤È¤òÍøÍѤ¹¤ì¤Ð¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î\fIjavadoc\fR¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.PP +°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIjavac\fR¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹礻¤Æµ­½Ò¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤ËËä¤á¹þ¤Þ¤ì¤¿¶õÇò¤¬¤¢¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ +.PP +°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃ֤ǤϤʤ¯¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É(\fI*\fR)¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢*\&.java¤È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£¥¢¥Ã¥È¥Þ¡¼¥¯(@)¤ò»ÈÍѤ·¤Æ¡¢¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤Þ¤¿¡¢\fI\-J\fR¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ +.PP +\fIjavadoc\fR¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë@ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¢¥Ã¥È¥Þ¡¼¥¯(@)ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ñ°ì¤Î°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +\fIargfile\fR¤È¤¤¤¦Ì¾Á°¤Î1¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ù¤Æ¤Î\fIjavadoc\fR¥³¥Þ¥ó¥É°ú¿ô¤òÊÝ»ý¤Ç¤­¤Þ¤¹¡£\fIjavadoc @argfile\fR¼¡¤ÎÎã¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤ÏξÊý¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\fBExample 2\fR, 2¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +¼¡¤Î¤è¤¦¤Ë¡¢2¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥óÍѤË1¤Ä¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë̾ÍѤË1¤Ä¤Ç¤¹¡£¼¡¤Î¥ê¥¹¥È¤Ç¤Ï¹Ô·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£ +.sp +¼¡¤ÎÆâÍÆ¤ò´Þ¤à¡¢options¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-d docs\-filelist +\-use +\-splitindex +\-windowtitle \*(AqJava SE 7 API Specification\*(Aq +\-doctitle \*(AqJava SE 7 API Specification\*(Aq +\-header \*(Aq<b>Java(TM) SE 7</b>\*(Aq +\-bottom \*(AqCopyright © 1993\-2011 Oracle and/or its affiliates\&. All rights reserved\&.\*(Aq +\-group "Core Packages" "java\&.*" +\-overview /java/pubs/ws/1\&.7\&.0/src/share/classes/overview\-core\&.html +\-sourcepath /java/pubs/ws/1\&.7\&.0/src/share/classes +.fi +.if n \{\ +.RE +.\} +¼¡¤ÎÆâÍÆ¤ò´Þ¤à¡¢packages¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +com\&.mypackage1 +com\&.mypackage2 +com\&.mypackage3 +.fi +.if n \{\ +.RE +.\} +¼¡¤Î¤è¤¦¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc @options @packages +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, ¥Ñ¥¹¤ò»ÈÍѤ·¤¿°ú¿ô¥Õ¥¡¥¤¥ë +.RS 4 +°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢(\fIpath1\fR¤ä\fIpath2\fR¤Ç¤Ï¤Ê¤¯)¼¡¤Î¤è¤¦¤Ë¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc @path1/options @path2/packages +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 4\fR, ¥ª¥×¥·¥ç¥ó°ú¿ô +.RS 4 +¼¡¤Ë¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤ò°ú¿ô¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£Ä¹¤¤°ú¿ô¤ò»ØÄê¤Ç¤­¤ë¤Î¤Ç¡¢\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤Î¤è¤¦¤Ê¥Æ¥­¥¹¥È°ú¿ô¤ò´Þ¤à¡¢bottom¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl <font size="\-1"> -.fl - <a href="http://bugreport.sun.com/bugreport/">Submit a bug or feature</a><br/> -.fl - Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.<br/> -.fl - Oracle is a registered trademark of Oracle Corporation and/or its affiliates. -.fl - ¤½¤Î¾¤Î̾¾Î¤Ï¡¢¤½¤ì¤¾¤ì¤Î½êÍ­¼Ô¤Î¾¦É¸¤Þ¤¿¤ÏÅÐÏ¿¾¦É¸¤Ç¤¹¡£</font> -.fl -\fP -.fi -.LP -¤½¤Î¤¢¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-bottom @bottom @packages\fP -.fl -.fi -.LP -¤¢¤ë¤¤¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Ë \f2\-bottom\fP ¥ª¥×¥·¥ç¥ó¤âÁȤ߹þ¤ó¤À¤¢¤È¡¢¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ -.nf -\f3 -.fl - % \fP\f3javadoc @bottom @packages\fP -.fl -.fi -.SH "̾Á°" -¼Â¹Ô -.SH "Javadoc ¤Î¼Â¹Ô" -.LP -\f3¥Ð¡¼¥¸¥ç¥óÈÖ¹æ\fP \- javadoc ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òȽÊ̤¹¤ë¤Ë¤Ï¡¢\f3javadoc \-J\-version\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£¤½¤Î½ÐÎϤò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢ \f2\-quiet\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -\f3¸ø³«¥×¥í¥°¥é¥à¥¤¥ó¥¿¥Õ¥§¡¼¥¹\fP \- Java ¸À¸ì¤Çµ­½Ò¤µ¤ì¤¿¥×¥í¥°¥é¥à¤«¤é Javadoc ¥Ä¡¼¥ë¤òµ¯Æ°¤¹¤ë¤È¤­»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï \f2com.sun.tools.javadoc.Main ¤Ë¤¢¤ê¤Þ¤¹\fP (javadoc ¤ÏºÆÆþ²Äǽ)¡£¾ÜºÙ¤Ï¡¢ -.na -\f2¡Öɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammatically¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3¥É¥Ã¥¯¥ì¥Ã¥È¤Î¼Â¹Ô\fP \- ²¼µ­¤ÎÀâÌÀ¤Ï¡¢É¸½à HTML ¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢\-doclet ¤ª¤è¤Ó \-docletpath ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2MIF Doclet ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SH "´Êñ¤ÊÎã" -.LP -javadoc ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¡¢¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂбþ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ý¤Á¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/src/java/awt/*.java ¤Ë¤¢¤ê¤Þ¤¹\fP¡£À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ï \f2/home/html ¤Ç¤¹\fP¡£ -.SS -1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È²½ -.LP -¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f2*.java\fP) ¤ò¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ ( \f2java.awt.color\fP ¤Î¤è¤¦¤Ë¥É¥Ã¥È¤Ç¶èÀÚ¤é¤ì¤¿) ¤¤¤¯¤Ä¤«¤Î¼±Ê̻Ҥ«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢±¦Â¦¤Î¼±Ê̻Ҥ˿ʤि¤Ó¤Ë¡¢¤½¤Î¼±Ê̻Ҥ¬¤è¤ê¿¼¤¤¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÂбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ ( \f2java/awt/color\fP ¤Ê¤É)¡£ ñ°ì¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò 2 ¥°¥ë¡¼¥×¤Ëʬ¤±¡¢°Û¤Ê¤ë¾ì½ê¤Ë¤¢¤ë¤½¤Î¤è¤¦¤Ê 2 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤½¤ì¤¾¤ì³ÊǼ¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤½¤ÎξÊý¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤ò¡¢ \f2\-sourcepath\fP ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Îã: \f2src1/java/awt/color\fP ¤ª¤è¤Ó \f2src2/java/awt/color\fP¡£ -.LP -javadoc ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢ \f2cd\fP ¤ò»ÈÍѤ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ë¤«¡¢ \f2\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£°Ê²¼¤ÎÎã¤Ç¤Ï¡¢Î¾Êý¤ÎÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f3¥±¡¼¥¹ 1 \- 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤«¤é¤Îµ¯Æ°¤òºÆµ¢Åª¤Ë¼Â¹Ô\fP \- ¤³¤ÎÎã¤Ç¤Ï javadoc ¤¬Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¡¢\-sourcepath ¤ò»ÈÍѤ·¡¢ºÆµ¢Åª½èÍý¤Î¤¿¤á¤Ë \-subpackages (1.4 ¤Î¿·¥ª¥×¥·¥ç¥ó) ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢ \f2java\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¤¿¤É¤ê¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¤Ë¡¢ \f2java.net\fP ¤È \f2java.lang\fP ¤ò¥ë¡¼¥È¤Ë»ý¤Ä¥Ñ¥Ã¥±¡¼¥¸¤¬½ü³°¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ \f2java.lang\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë \f2java.lang.ref\fP¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \fP\f3\-d\fP\f3 /home/html \fP\f3\-sourcepath\fP\f3 /home/src \fP\f3\-subpackages\fP\f3 java \fP\f3\-exclude\fP\f3 java.net:java.lang\fP -.fl -.fi -.LP -¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤â²¼Êý¤Ë¤¿¤É¤ë¤Ë¤Ï¡¢ \f2java:javax:org.xml.sax ¤Î¤è¤¦¤Ë¡¢\fP ¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò \-subpackages \f2¤Î°ú¿ô¤ÎËöÈø¤ËÄɲä·¤Þ¤¹\fP¡£ -.TP 2 -o -\f3¥±¡¼¥¹ 2 \- ¥ë¡¼¥È¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤Ã¤Æ¤«¤éÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¼Â¹Ô\fP \- ´°Á´»ØÄê¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¤Þ¤¹¡£¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3cd /home/src/\fP -.fl - % \f3javadoc \-d /home/html java.awt java.awt.event\fP -.fl -.fi -.TP 2 -o -\f3¥±¡¼¥¹ 3 \- Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï 1 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤¢¤ë\fP \- ¤³¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ºÇ¾å°Ì¥Ñ¥Ã¥±¡¼¥¸¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò \f2\-sourcepath\fP ¤Ë»ØÄꤷ¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt java.awt.event\fP -.fl -.fi -.TP 2 -o -\f3¥±¡¼¥¹ 4 \- Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤¢¤ë\fP \- ¤³¤ì¤Ï¥±¡¼¥¹ 3 ¤È»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¤¬Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Ë¸ºß¤·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤Ø¤Î¥Ñ¥¹¤ò \f2\-sourcepath\fP ¤Ë»ØÄꤷ (¥³¥í¥ó¤Ç¶èÀÚ¤ë)¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¡¢1 ¤Ä¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥½¡¼¥¹¥Ñ¥¹¤È¤·¤Æ»ØÄꤵ¤ì¤¿¾ì½ê¤Î¤É¤³¤«¤Ç¸«¤Ä¤«¤ì¤Ð½½Ê¬¤Ç¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event\fP -.fl + <a href="http://bugreport\&.sun\&.com/bugreport/">Submit a bug or feature</a><br/> + Copyright © 1993, 2011, Oracle and/or its affiliates\&. All rights reserved\&. <br/> + Oracle is a registered trademark of Oracle Corporation and/or its affiliates\&. + Other names may be trademarks of their respective owners\&.</font> .fi +.if n \{\ .RE -.LP -·ë²Ì: ¤¹¤Ù¤Æ¤Î¥±¡¼¥¹¤Ç¥Ñ¥Ã¥±¡¼¥¸ \f2java.awt\fP ¤ª¤è¤Ó \f2java.awt.event\fP Æâ¤Î public ¤ª¤è¤Ó protected ¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢»ØÄꤵ¤ì¤¿À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\f2/home/html\fP) ¤Ë HTML ¥Õ¥¡¥¤¥ë¤¬Êݸ¤µ¤ì¤Þ¤¹¡£2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬À¸À®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¡¢¤ª¤è¤Ó¥á¥¤¥ó¤Î¥¯¥é¥¹¥Ú¡¼¥¸¤È¤¤¤¦ 3 ¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.SS -1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½ -.LP -¤Þ¤¿¡¢1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f2.java\fP) ¤òÅϤ·¤Æ¡¢Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£javadoc ¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÊýË¡¤Î¤¤¤º¤ì¤«¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£1 ¤Ä¤Ï \f2cd\fP ¤ò»ÈÍѤ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ëÊýË¡¡¢¤â¤¦ 1 ¤Ä¤Ï \f2.java\fP ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò´°Á´¤Ë»ØÄꤹ¤ëÊýË¡¤Ç¤¹¡£ÁêÂХѥ¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òµ¯ÅÀ¤È¤·¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÅϤ¹¤È¤­¤Ï¡¢ \f2\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¹Ô¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¹¤Î¥°¥ë¡¼¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f3¥±¡¼¥¹ 1 \- ¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ë\fP \- \f2.java\fP ¥Õ¥¡¥¤¥ë¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¤Þ¤¹¡£¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3cd /home/src/java/awt\fP -.fl - % \f3javadoc \-d /home/html Button.java Canvas.java Graphics*.java\fP -.fl -.fi -¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹ \f2Button\fP ¤È \f2Canvas\fP ¡¢¤ª¤è¤Ó̾Á°¤¬ \f2Graphics ¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹\fP¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ javadoc ¤Ë°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¤È¥á¥¤¥ó¥Ú¡¼¥¸¤È¤¤¤¦ 2 ¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 2 -o -\f3¥±¡¼¥¹ 2 \- ¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ë\fP \- ¤³¤ì¤Ï¡¢Æ±¤¸¥ë¡¼¥ÈÆâ¤Ë¤¢¤ëÊ£¿ô¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Î¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¡¢³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¥ë¡¼¥È¤«¤é¤Î¥Ñ¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3cd /home/src/\fP -.fl - % \f3javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java\fP -.fl -.fi -¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹ \f2Button\fP ¤ª¤è¤Ó \f2Applet ¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹\fP¡£ -.TP 2 -o -\f3¥±¡¼¥¹ 3 \- Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é\fP \- ¤³¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë .java ¥Õ¥¡¥¤¥ë¤Ø¤ÎÀäÂХѥ¹ (¤Þ¤¿¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹) ¤ò»ØÄꤷ¤Æ \f2javadoc\fP ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - % \fP\f3javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java\fP -.fl -.fi -¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹ \f2Button\fP ¤È¡¢Ì¾Á°¤¬ \f2Graphics ¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹\fP¡£ +.\} +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£\fI javadoc \-bottom @bottom @packages\fR +.sp +\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤ò°ú¿ô¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Ë´Þ¤á¤Æ¡¢¼¡¤Î¤è¤¦¤Ë\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£\fIjavadoc @bottom @packages\fR .RE -.SS -¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½ -.LP -¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤȸġ¹¤Î¥¯¥é¥¹¤òƱ»þ¤Ë»ØÄꤷ¤Æ¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¼¡¤ËÁ°½Ò¤Î 2 ¤Ä¤ÎÎã¤òÁȤ߹ç¤ï¤»¤¿Îã¤ò¼¨¤·¤Þ¤¹¡£ \f2\-sourcepath\fP ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ­¤Þ¤¹¤¬¡¢¸Ä¡¹¤Î¥¯¥é¥¹¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.SH "JAVADOC¥³¥Þ¥ó¥É¤Î¼Â¹Ô" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤Ï\fIjavadoc \-J\-version\fR¥ª¥×¥·¥ç¥ó¤ÇÆÃÄê¤Ç¤­¤Þ¤¹¡£½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥ê¥ê¡¼¥¹Èֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£\fI\-quiet\fR¥ª¥×¥·¥ç¥ó¤Ç̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£ +.PP +Java¸À¸ì¤Çµ­½Ò¤µ¤ì¤¿¥×¥í¥°¥é¥à¤«¤é\fIjavadoc\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¸ø³«¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï\fIcom\&.sun\&.tools\&.javadoc\&.Main\fR¤Ë¤¢¤ê¤Þ¤¹(¤Þ¤¿\fIjavadoc\fR¥³¥Þ¥ó¥É¤ÏºÆÆþ²Äǽ¤Ç¤¹)¡£¾ÜºÙ¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/standard\-doclet\&.html#runningprogrammatically)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¼¡¤Î¼ê½ç¤Ç¤Ï¡¢É¸½àHTML¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¥«¥¹¥¿¥à¡¦¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢\fI\-doclet\fR¤ª¤è¤Ó\fI\-docletpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¥É¥Ã¥¯¥ì¥Ã¥È¤Î³µÍ× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/doclet/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SS "´Êñ¤ÊÎã" +.PP +\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¡¢¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂбþ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ý¤Á¤Þ¤¹¡£ +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï/home/src/java/awt/*\&.java¤Ë¤¢¤ê¤Þ¤¹¡£À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ï/home/html¤Ç¤¹¡£ +1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥­¥å¥á¥ó¥È²½.PP +¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬(\fIjava\&.awt\&.color\fR¤Î¤è¤¦¤Ë¥É¥Ã¥È¤Ç¶èÀÚ¤é¤ì¤¿)Ê£¿ô¤Î¼±Ê̻Ҥ«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¸å³¤Î³Æ¼±Ê̻Ҥ¬²¼°Ì¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê(ava/awt/color¤Ê¤É)¤ËÂбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +1¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤¿¤á¤ÎÊ£¿ô¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¡¢°Û¤Ê¤ë¾ì½ê¤Ë¤¢¤ë¤½¤Î¤è¤¦¤Ê2¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¦¥Ä¥ê¡¼¤Ëʬ¤±¤Æ³ÊǼ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¾ì¹ç¤Ï\fI\-sourcepath\fR¤Ë¤è¤Ã¤Æ¤½¤ÎξÊý¤Î¾ì½ê¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢src1/java/awt/color¤Èsrc2/java/awt/color¡£ +.PP +¥Ç¥£¥ì¥¯¥È¥ê¤ÎÊѹ¹(\fIcd\fR¥³¥Þ¥ó¥É¤ò»ÈÍÑ)¤Þ¤¿¤Ï\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¼¡¤ÎÎã¤ÇξÊý¤ÎÁªÂò»è¤ò¼¨¤·¤Þ¤¹¡£ +.PP +\fBExample 1\fR, 1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤«¤éºÆµ¢Åª¤Ë¼Â¹Ô +.RS 4 +¤³¤ÎÎã¤Ç¤Ï\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¡¢\fI\-sourcepath\fR¤ò»ÈÍѤ·¡¢ºÆµ¢Åª½èÍý¤Î¤¿¤á¤Ë\fI\-subpackages\fR +(1\&.4¤Î¿·¥ª¥×¥·¥ç¥ó)¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢java¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¤¿¤É¤ê¤Þ¤¹¤¬¡¢\fIjava\&.net\fR¤È\fIjava\&.lang\fR¤ò¥ë¡¼¥È¤Ë»ý¤Ä¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£\fIjava\&.lang\fR¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë\fIjava\&.lang\&.ref\fR¤¬½ü³°¤µ¤ì¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ä¥ê¡¼¤ò²¼Êý¤Ë¤¿¤É¤ë¤Ë¤Ï¡¢\fIjava:javax:org\&.xml\&.sax\fR¤Î¤è¤¦¤Ë¡¢¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò\fI\-subpackages\fR¤Î°ú¿ô¤ËÄɲä·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java\fP -.fl +javadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude .fi -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2java.awt\fP ¤È¥¯¥é¥¹ \f2Applet ¤Ë¤Ä¤¤¤Æ¡¢HTML ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹\fP¡£Javadoc ¥Ä¡¼¥ë¤Ï¡¢ \f2Applet.java ¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤¬¤¢¤ì¤Ð¡¢\fP ¤½¤ÎÀë¸À¤Ë´ð¤Å¤¤¤Æ \f2Applet ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò\fP ȽÄꤷ¤Þ¤¹¡£ -.SH "»ÈÍÑÎã" -.LP -Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¿¤¯¤ÎÊØÍø¤Ê¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¡¢¤½¤ÎÃæ¤Ë¤Ï¤Û¤«¤Î¥ª¥×¥·¥ç¥ó¤è¤ê¤âÉÑÈˤ˻Ȥï¤ì¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç¾Ò²ð¤¹¤ë¤Î¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à API ¤ËÂФ·¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¼ÂºÝ¤Î¥³¥Þ¥ó¥É¤Ç¤¹¡£¤³¤³¤Ç¤Ï¡¢Java SE Platform, Standard Edition, v1.2 ¤Î (Ìó) 1500 ¸Ä¤Î public ¤ª¤è¤Ó protected ¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢180M ¥Ð¥¤¥È¤Î¥á¥â¥ê¡¼¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -Ʊ¤¸Îã¤ò 2 ²ó·ÇºÜ¤·¤Þ¤¹¡£ºÇ½é¤ÎÎã¤Ï¥³¥Þ¥ó¥É¹Ô¤«¤é¼Â¹Ô¤¹¤ë¤â¤Î¤Ç¡¢2 ÈÖÌܤÎÎã¤Ï Makefile ¤«¤é¼Â¹Ô¤¹¤ë¤â¤Î¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ÇÀäÂХѥ¹¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤¿¤á¡¢Æ±¤¸ \f2javadoc\fP ¥³¥Þ¥ó¥É¤ò¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Ç¤â¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.SS -¥³¥Þ¥ó¥É¹Ô¤ÎÎã -.LP -¼¡¤ÎÎã¤Ï¡¢DOS ¤Ê¤É¤Î°ìÉô¤Î¥·¥§¥ë¤Ç¤ÏŤ¹¤®¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ¥ë¡¼¥È¤Ø¤Î°Üư¤ª¤è¤ÓÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Î¼Â¹Ô +.RS 4 +´°Á´½¤¾þ¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¤Þ¤¹¡£¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% javadoc \-sourcepath /java/jdk/src/share/classes \\ -.fl - \-overview /java/jdk/src/share/classes/overview.html \\ -.fl - \-d /java/jdk/build/api \\ -.fl - \-use \\ -.fl - \-splitIndex \\ -.fl - \-windowtitle 'Java Platform, Standard Edition 7 API Specification' \\ -.fl - \-doctitle 'Java Platform, Standard Edition 7 API Specification' \\ -.fl - \-header '<b>Java(TM) SE 7</b>' \\ -.fl - \-bottom '<font size="\-1"> -.fl - <a href="http://bugreport.sun.com/bugreport/">Submit a bug or feature</a><br/> -.fl - Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.<br/> -.fl - Oracle is a registered trademark of Oracle Corporation and/or its affiliates. -.fl - ¤½¤Î¾¤Î̾¾Î¤Ï¡¢¤½¤ì¤¾¤ì¤Î½êÍ­¼Ô¤Î¾¦É¸¤Þ¤¿¤ÏÅÐÏ¿¾¦É¸¤Ç¤¹¡£</font>' \\ -.fl - \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ -.fl - \-group "Extension Packages" "javax.*" \\ -.fl - \-J\-Xmx180m \\ -.fl - @packages -.fl -\fP +cd /home/src/ +javadoc \-d /home/html java\&.awt java\&.awt\&.event .fi -.LP -¤³¤³¤Ç¡¢ \f2packages\fP ¤Ï¡¢½èÍýÂоݤΥѥ屡¼¥¸Ì¾ ( \f2java.applet java.lang\fP ¤Ê¤É) ¤¬Æþ¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£³Æ¥ª¥×¥·¥ç¥ó¤Î¡¢Ã±°ì°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿°ú¿ô¤ÎÆâ¦¤Ë¤Ï¡¢²þ¹Ôʸ»ú¤òÁÞÆþ¤Ç¤­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¤³¤ÎÎã¤ò¥³¥Ô¡¼¡õ¥Ú¡¼¥¹¥È¤¹¤ë¾ì¹ç¤Ï¡¢ \f2\-bottom\fP ¥ª¥×¥·¥ç¥ó¤«¤é²þ¹Ôʸ»ú¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£¤µ¤é¤Ë¡¢¤³¤Î¤¢¤È¤Î¡ÖÃí¡×¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SS -Makefile ¤ÎÎã -.LP -¤³¤³¤Ç¤Ï¡¢GNU Makefile ¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£Windows ¤Î Makefile ¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2Windows ¤Î Makefile ¤ÎºîÀ®ÊýË¡\fP @ -.fi -http://java.sun.com/j2se/javadoc/faq/index.html#makefiles¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ +.RE +.\} +¤Þ¤¿¡¢Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥Ä¥ê¡¼¤ò²¼Êý¤Ë¤¿¤É¤ë¤Ë¤Ï¡¢j\fIava:javax:org\&.xml\&.sax\fR¤Î¤è¤¦¤Ë¡¢¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò\fI\-subpackages\fR¤Î°ú¿ô¤ËÄɲä·¤Þ¤¹¡£ +.RE +.PP +\fBExample 3\fR, 1¤Ä¤Î¥Ä¥ê¡¼¤ÎÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ÎǤ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô +.RS 4 +¤³¤Î¾ì¹ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤«¤ÏÌäÂê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢ºÇ¾å°Ì¥Ñ¥Ã¥±¡¼¥¸¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Æ\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR) \\ /* Sets path for source files */ -.fl - \-\fP\f3overview\fP\f3 $(SRCDIR)/overview.html \\ /* Sets file for overview text */ -.fl - \-\fP\f3d\fP\f3 /java/jdk/build/api \\ /* Sets destination directory */ -.fl - \-\fP\f3use\fP\f3 \\ /* Adds "Use" files */ -.fl - \-\fP\f3splitIndex\fP\f3 \\ /* Splits index A\-Z */ -.fl - \-\fP\f3windowtitle\fP\f3 $(WINDOWTITLE) \\ /* Adds a window title */ -.fl - \-\fP\f3doctitle\fP\f3 $(DOCTITLE) \\ /* Adds a doc title */ -.fl - \-\fP\f3header\fP\f3 $(HEADER) \\ /* Adds running header text */ -.fl - \-\fP\f3bottom\fP\f3 $(BOTTOM) \\ /* Adds text at bottom */ -.fl - \-\fP\f3group\fP\f3 $(GROUPCORE) \\ /* 1st subhead on overview page */ -.fl - \-\fP\f3group\fP\f3 $(GROUPEXT) \\ /* 2nd subhead on overview page */ -.fl - \-\fP\f3J\fP\f3\-Xmx180m \\ /* Sets memory to 180MB */ -.fl - java.lang java.lang.reflect \\ /* Sets packages to document */ -.fl - java.util java.io java.net \\ -.fl - java.applet -.fl +javadoc \-d /home/html \-sourcepath /home/src java\&.awt java\&.awt\&.event +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 4\fR, Ê£¿ô¤Î¥Ä¥ê¡¼¤ÎÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ÎǤ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô +.RS 4 +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢³Æ¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤Ø¤Î¥Ñ¥¹¤Î¥³¥í¥ó¶èÀÚ¤ê¥ê¥¹¥È¤ò»ØÄꤷ¤Æ\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë1¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¡¢1¤Ä¤Î¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¸ºß¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤¬¡¢¥½¡¼¥¹¡¦¥Ñ¥¹¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤Î¤É¤³¤«¤Ç¸«¤Ä¤«¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java\&.awt java\&.awt\&.event +.fi +.if n \{\ +.RE +.\} +¤¹¤Ù¤Æ¤Î¥±¡¼¥¹¤Çj\fIava\&.awt\fR¤ª¤è¤Ó\fIjava\&.awt\&.even\fRt¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î\fIpublic\fR¤ª¤è¤Ó\fIprotected\fR¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢»ØÄꤵ¤ì¤¿À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ËHTML¥Õ¥¡¥¤¥ë¤¬Êݸ¤µ¤ì¤Þ¤¹¡£2¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬À¸À®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¡¢¤ª¤è¤Ó¥á¥¤¥ó¤Î¥¯¥é¥¹¡¦¥Ú¡¼¥¸¤È¤¤¤¦3¤Ä¤ÎHTML¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +1¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½.PP +¤Þ¤¿¡¢1¤Ä°Ê¾å¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÅϤ·¤Æ¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£\fIjavadoc\fR¤Ï¡¢¼¡¤Î2¤Ä¤ÎÊýË¡¤Î¤¤¤º¤ì¤«¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£1¤Ä¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ëÊýË¡(\fIcd\fR¤ò»ÈÍÑ)¡¢¤â¤¦1¤Ä¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò´°Á´¤Ë»ØÄꤹ¤ëÊýË¡¤Ç¤¹¡£ÁêÂХѥ¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òµ¯ÅÀ¤È¤·¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÅϤ¹¤È¤­¤Ï¡¢\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¹¤Î¥°¥ë¡¼¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +\fBExample 1\fR, ¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹ +.RS 4 +¥½¡¼¥¹¤òÊÝ»ý¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹¤·¤Þ¤¹¡£¼¡¤Ë¡¢¥É¥­¥å¥á¥ó¥È²½¤¹¤ë1¤Ä°Ê¾å¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +¤³¤ÎÎã¤Ç¤Ï¡¢\fIButton\fR¥¯¥é¥¹¤È\fICanvas\fR¥¯¥é¥¹¡¢¤ª¤è¤Ó̾Á°¤¬\fIGraphics\fR¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢HTML·Á¼°¤Î¥É¥­¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¤È¥á¥¤¥ó¡¦¥Ú¡¼¥¸¤È¤¤¤¦2¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +cd /home/src/java/awt +javadoc \-d /home/html Button\&.java Canvas\&.java Graphics*\&.java +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹ +.RS 4 +¤³¤ì¤Ï¡¢Æ±¤¸¥ë¡¼¥È¤«¤é¤ÎÊ̤Υµ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Î¸Ä¡¹¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤ê¡¢³Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¡¢¥ë¡¼¥È¤«¤é¤Î¥Ñ¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +cd /home/src/ +javadoc \-d /home/html java/awt/Button\&.java java/applet/Applet\&.java +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¥Õ¥¡¥¤¥ë¤Î¥É¥­¥å¥á¥ó¥È²½ +.RS 4 +¤³¤Î¾ì¹ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤«¤ÏÌäÂê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ø¤ÎÀäÂХѥ¹(¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹)¤ò»ØÄꤷ¤Æ\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-d /home/html /home/src/java/awt/Button\&.java +/home/src/java/awt/Graphics*\&.java +.fi +.if n \{\ +.RE +.\} +.RE +¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È²½.PP +¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤȸġ¹¤Î¥¯¥é¥¹¤òƱ»þ¤Ë»ØÄꤷ¤Æ¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¼¡¤Ë¡¢Á°½Ò¤Î2¤Ä¤ÎÎã¤òÁȤ߹礻¤¿Îã¤ò¼¨¤·¤Þ¤¹¡£\fI\-sourcepath\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ­¤Þ¤¹¤¬¡¢¸Ä¡¹¤Î¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-d /home/html \-sourcepath /home/src java\&.awt +/home/src/java/applet/Applet\&.java +.fi +.if n \{\ +.RE +.\} +.SS "¼ÂºÝ¤ÎÎã" +.PP +¼¡¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ª¤è¤Ó\fImakefile\fR¥Ð¡¼¥¸¥ç¥ó¤Î\fIjavadoc\fR¥³¥Þ¥ó¥É¤òJava¥×¥é¥Ã¥È¥Õ¥©¡¼¥àAPI¤Ç¼Â¹Ô¤·¤Þ¤¹¡£Java SE 1\&.2¤ÇÌó1500¸Ä¤Îpublic¤ª¤è¤Óprotected¥¯¥é¥¹¤Î¥É¥­¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢180MB¤Î¥á¥â¥ê¡¼¤ò»ÈÍѤ·¤Þ¤¹¡£¤É¤Á¤é¤ÎÎã¤â¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ÇÀäÂХѥ¹¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤¿¤á¡¢Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤éƱ¤¸\fIjavadoc\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎÎã.PP +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ìÉô¤Î¥·¥§¥ë¤ËÂФ·¤ÆÄ¹¤¹¤®¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤·¤Þ¤¹¡£ +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢\fIpackages\fR¤Ï½èÍý¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à̾Á°¤Ç¡¢\fIjava\&.applet\fR +\fIjava\&.lang\fR¤Ê¤É¤Ç¤¹¡£³Æ¥ª¥×¥·¥ç¥ó¤Î¡¢°ì½Å°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿°ú¿ô¤ÎÆâ¦¤Ë¤Ï¡¢²þ¹Ôʸ»ú¤òÁÞÆþ¤Ç¤­¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¤³¤ÎÎã¤ò¥³¥Ô¡¼¡¦¥¢¥ó¥É¡¦¥Ú¡¼¥¹¥È¤¹¤ë¾ì¹ç¤Ï¡¢\fI\-bottom\fR¥ª¥×¥·¥ç¥ó¤«¤é²þ¹Ôʸ»ú¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath /java/jdk/src/share/classes \e +\-overview /java/jdk/src/share/classes/overview\&.html \e +\-d /java/jdk/build/api \e +\-use \e +\-splitIndex \e +\-windowtitle \*(AqJava Platform, Standard Edition 7 API Specification\*(Aq \e +\-doctitle \*(AqJava Platform, Standard Edition 7 API Specification\*(Aq \e +\-header \*(Aq<b>Java(TM) SE 7</b>\*(Aq \e +\-bottom \*(Aq<font size="\-1"> +<a href="http://bugreport\&.sun\&.com/bugreport/">Submit a bug or feature</a><br/> +Copyright © 1993, 2011, Oracle and/or its affiliates\&. All rights reserved\&.<br/> +Oracle is a registered trademark of Oracle Corporation and/or its affiliates\&. +Other names may be trademarks of their respective owners\&.</font>\*(Aq \e +\-group "Core Packages" "java\&.*:com\&.sun\&.java\&.*:org\&.omg\&.*" \e +\-group "Extension Packages" "javax\&.*" \e +\-J\-Xmx180m \e +@packages +.fi +.if n \{\ +.RE +.\} +¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹.PP +Javadoc Access API¤Ç¤Ï¡¢¿·¤·¤¤¥×¥í¥»¥¹¤ò¼Â¹Ô¤·¤Ê¤¯¤Æ¤â¡¢Javadoc¥Ä¡¼¥ë¤òJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤éľÀܵ¯Æ°¤Ç¤­¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¼¡¤Îʸ¤Ï¥³¥Þ¥ó¥É\fIjavadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude java\&.net:java\&.lang com\&.example\fR¤ÈƱÅù¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +import javax\&.tools\&.DocumentationTool; +import javax\&.tools\&.ToolProvider; + +public class JavaAccessSample{ + public static void main(String[] args){ + DocumentationTool javadoc = ToolProvider\&.getSystemDocumentationTool(); + int rc = javadoc\&.run( null, null, null, + "\-d", "/home/html", + "\-sourcepath", "home/src", + "\-subpackages", "java", + "\-exclude", "java\&.net:java\&.lang", + "com\&.example"); + } + } +.fi +.if n \{\ +.RE +.\} +.PP +\fIrun\fR¥á¥½¥Ã¥É¤ÎºÇ½é¤Î3¤Ä¤Î°ú¿ô¤Ï¡¢ÆþÎÏ¡¢É¸½à½ÐÎÏ¡¢¤ª¤è¤Óɸ½à¥¨¥é¡¼¡¦¥¹¥È¥ê¡¼¥à¤ò»ØÄꤷ¤Þ¤¹¡£\fINull\fR¤Ï\fISystem\&.in\fR¡¢\fISystem\&.out\fR¤ª¤è¤Ó\fISystem\&.err\fR¤½¤ì¤¾¤ì¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ +.SS "makefile¤ÎÎã" +.PP +¤³¤³¤Ç¤Ï¡¢GNU +\fImakefile\fR¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fImakefile\fR¤Î°ú¿ô¤Ï¡¢°ì½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£Windows +\fImakefile\fR¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢Javadoc FAQ¤Î\fImakefiles\fR¤Ë´Ø¤¹¤ë¹à +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137483\&.html#makefiles)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javadoc \-sourcepath $(SRCDIR) \e /* Sets path for source files */ + \-overview $(SRCDIR)/overview\&.html \e /* Sets file for overview text */ + \-d /java/jdk/build/api \e /* Sets destination directory */ + \-use \e /* Adds "Use" files */ + \-splitIndex \e /* Splits index A\-Z */ + \-windowtitle $(WINDOWTITLE) \e /* Adds a window title */ + \-doctitle $(DOCTITLE) \e /* Adds a doc title */ + \-header $(HEADER) \e /* Adds running header text */ + \-bottom $(BOTTOM) \e /* Adds text at bottom */ + \-group $(GROUPCORE) \e /* 1st subhead on overview page */ + \-group $(GROUPEXT) \e /* 2nd subhead on overview page */ + \-J\-Xmx180m \e /* Sets memory to 180MB */ + java\&.lang java\&.lang\&.reflect \e /* Sets packages to document */ + java\&.util java\&.io java\&.net \e + java\&.applet -.fl -WINDOWTITLE = 'Java(TM) SE 7 API Specification' -.fl -DOCTITLE = 'Java(TM) Platform Standard Edition 7 API Specification' -.fl -HEADER = '<b>Java(TM) SE 7</font>' -.fl -BOTTOM = '<font size="\-1"> -.fl - <a href="http://bugreport.sun.com/bugreport/">Submit a bug or feature</a><br/> -.fl - Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.<br/> -.fl - Oracle is a registered trademark of Oracle Corporation and/or its affiliates. -.fl - ¤½¤Î¾¤Î̾¾Î¤Ï¡¢¤½¤ì¤¾¤ì¤Î½êÍ­¼Ô¤Î¾¦É¸¤Þ¤¿¤ÏÅÐÏ¿¾¦É¸¤Ç¤¹¡£</font>' -.fl -GROUPCORE = '"Core Packages" "java.*:com.sun.java.*:org.omg.*"' -.fl -GROUPEXT = '"Extension Packages" "javax.*"' -.fl -SRCDIR = '/java/jdk/1.7.0/src/share/classes' -.fl -\fP +WINDOWTITLE = \*(AqJava(TM) SE 7 API Specification\*(Aq +DOCTITLE = \*(AqJava(TM) Platform Standard Edition 7 API Specification\*(Aq +HEADER = \*(Aq<b>Java(TM) SE 7</font>\*(Aq +BOTTOM = \*(Aq<font size="\-1"> + <a href="http://bugreport\&.sun\&.com/bugreport/">Submit a bug or feature</a><br/> + Copyright © 1993, 2011, Oracle and/or its affiliates\&. All rights reserved\&.<br/> + Oracle is a registered trademark of Oracle Corporation and/or its affiliates\&. + Other names may be trademarks of their respective owners\&.</font>\*(Aq +GROUPCORE = \*(Aq"Core Packages" "java\&.*:com\&.sun\&.java\&.*:org\&.omg\&.*"\*(Aq +GROUPEXT = \*(Aq"Extension Packages" "javax\&.*"\*(Aq +SRCDIR = \*(Aq/java/jdk/1\&.7\&.0/src/share/classes\*(Aq .fi -.LP -Makefile ¤Î°ú¿ô¤Ï¡¢Ã±°ì°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£ -.LP -\f3Ãí\fP -.RS 3 -.TP 2 -o -\-windowtitle \f2¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢\fP Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥É¥­¥å¥á¥ó¥È¥¿¥¤¥È¥ë¤¬¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ \f2\-windowtitle\fP ¤Î¥Æ¥­¥¹¥È¤Ï´ðËÜŪ¤Ë \f2\-doctitle\fP ¤Î¤â¤Î¤ÈƱ¤¸¤Ç¤¹¤¬¡¢HTML ¥¿¥°¤ò´Þ¤Þ¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢HTML ¥¿¥°¤¬ raw ¥Æ¥­¥¹¥È¤È¤·¤Æ¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ëÆâ¤Ëɽ¼¨¤µ¤ì¤ë¤Î¤òËɤ°¤¿¤á¤Ç¤¹¡£ -.TP 2 -o -¤³¤³¤Ç¹Ô¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë \f2\-footer\fP ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥Ø¥Ã¥À¡¼¤Î¥Æ¥­¥¹¥È¤¬¥Õ¥Ã¥¿¡¼¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.TP 2 -o -¤³¤ÎÎã¤Ç¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¤¬¡¢\-\f2classpath\fP ¤È \-\f2link\fP ¤â½ÅÍפʥª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.if n \{\ .RE -.SH "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°" -.SS -°ìÈÌŪ¤Ê¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥° -.RS 3 -.TP 2 -o -\f3Javadoc FAQ\fP \- °ìÈÌŪ¤Ê¥Ð¥°¤ª¤è¤Ó¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Î¥Ò¥ó¥È¤Ï¡¢ -.na -\f2¡ÖJavadoc FAQ¡×\fP @ -.fi -http://java.sun.com/j2se/javadoc/faq/index.html#B ¤Ç»²¾È¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ð¥°¤ª¤è¤ÓÀ©¸Â»ö¹à\fP \- ¥Ð¥°¤Î°ìÉô¤Ï¡¢¡ÖImportant Bug Fixes and Changes¡× ¤Ç¤â»²¾È¤Ç¤­¤Þ¤¹¡£ -.TP 2 -o -\f3¥Ð¡¼¥¸¥ç¥óÈÖ¹æ\fP \- ¡Ö¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f3Í­¸ú¤Ê¥¯¥é¥¹¤À¤±¤ò¥É¥­¥å¥á¥ó¥È²½\fP \- ¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥­¥å¥á¥ó¥È²½¤¹¤ë¤È¤­¡¢Javadoc ¤Ï¡¢Í­¸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¤ß¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Õ¥¡¥¤¥ë̾¤Ë¥Ï¥¤¥Õ¥ó¡Ö\-¡×¤ò´Þ¤á¤ë¤³¤È¤Ç¡¢javadoc ¤Ë¤è¤ë¥Õ¥¡¥¤¥ë¤Î²òÀϤòËɤ°¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.\} +.SS "Ãí°Õ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-windowtitle\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¥É¥­¥å¥á¥ó¥È¡¦¥¿¥¤¥È¥ë¤¬¥¦¥£¥ó¥É¥¦¡¦¥¿¥¤¥È¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£\fI\-windowtitle\fR¥ª¥×¥·¥ç¥ó¤Î¥Æ¥­¥¹¥È¤Ï¡¢\fI\-doctitle\fR¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤Ç¤¹¤¬¡¢HTML¥¿¥°¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢HTML¥¿¥°¤¬¡¢¥¦¥£¥ó¥É¥¦¡¦¥¿¥¤¥È¥ëÆâ¤Ë¤½¤Î¤Þ¤Þ¤Î¥Æ¥­¥¹¥È¤È¤·¤ÆÉ½¼¨¤µ¤ì¤ë¤Î¤òËɤ°¤¿¤á¤Ç¤¹¡£ .RE -.SS -¥¨¥é¡¼¤È·Ù¹ð -.LP -¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ÈÀë¸À¹Ô (¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÎÆÃÄê¤Î¹Ô¤Ç¤Ï¤Ê¤¤) ¤Î¹ÔÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2"error: cannot read: Class1.java"\fP Javadoc ¥Ä¡¼¥ë¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë Class1.java ¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£ÀäÂХѥ¹¤Þ¤¿¤ÏÁêÂХѥ¹¤È¤È¤â¤Ëɽ¼¨¤µ¤ì¤ë¥¯¥é¥¹Ì¾¤Ï¡¢¤³¤ÎÎã¤Î¾ì¹ç \f2./Class1.java ¤ÈƱ¤¸¤Ç¤¹\fP¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-footer\fR¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¥Ø¥Ã¥À¡¼¡¦¥Æ¥­¥¹¥È¤¬¥Õ¥Ã¥¿¡¼¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ .RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤³¤ÎÎã¤Ç¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¤¬¡¢\fI\-classpath\fR¤È\fI\-link\fR¤â½ÅÍפʥª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.RE +.SH "°ìÈÌŪ¤Ê¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIjavadoc\fR¥³¥Þ¥ó¥É¤ÏÍ­¸ú¤Ê¥¯¥é¥¹Ì¾¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤Î¤ß¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òÀµ¤·¤¯ÆÉ¤ß¼è¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¯¥é¥¹Ì¾¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î½èÍý¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¶¦Ä̤ÎÉÔ¶ñ¹ç¤ª¤è¤Ó¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Î¥Ò¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢Javadoc FAQ +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137483\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥¨¥é¡¼¤È·Ù¹ð" +.PP +¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ÈÀë¸À¹Ô(¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¡¦¥³¥á¥ó¥ÈÆâ¤ÎÆÃÄê¤Î¹Ô¤Ç¤Ï¤Ê¤¤)¤Î¹ÔÈֹ椬´Þ¤Þ¤ì¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¥á¥Ã¥»¡¼¥¸\fI¡Ö¥¨¥é¡¼: Class1\&.java¤òÆÉ¤ß¹þ¤á¤Þ¤»¤ó¡×\fR¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬\fIClass1\&.jav\fR\fIa\fR¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥í¡¼¥É¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥¯¥é¥¹Ì¾¤Ï¤½¤Î¥Ñ¥¹(ÀäÂФޤ¿¤ÏÁêÂÐ)¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£ .SH "´Ä¶­" -.RS 3 -.TP 3 -CLASSPATH -Javadoc ¤¬¥æ¡¼¥¶¡¼¥¯¥é¥¹¤Î¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤­¤Ë»È¤¦¥Ñ¥¹¤ò»ØÄꤹ¤ë´Ä¶­ÊÑ¿ô¤Ç¤¹¡£¤³¤Î´Ä¶­ÊÑ¿ô¤Ï¡¢ \f2\-classpath\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ -.:/home/classes:/usr/local/java/classes +.PP +CLASSPATH +.RS 4 +\fICLASSPATH\fR¤Ï¡¢\fIjavadoc\fR¥³¥Þ¥ó¥É¤¬¥æ¡¼¥¶¡¼¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¸¡½Ð¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤òÄ󶡤¹¤ë´Ä¶­ÊÑ¿ô¤Ç¤¹¡£¤³¤Î´Ä¶­ÊÑ¿ô¤Ï¡¢\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥»¥ß¥³¥í¥ó(Windows¤Î¾ì¹ç)¤Þ¤¿¤Ï¥³¥í¥ó(Oracle Solaris¤Î¾ì¹ç)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ +.sp +\fBWindows¤ÎÎã\fR: +\fI\&.;C:\eclasses;C:\ehome\ejava\eclasses\fR +.sp +\fBOracle Solaris¤ÎÎã\fR: +\fI\&.:/home/classes:/usr/local/java/classes\fR .RE .SH "´ØÏ¢¹àÌÜ" -.RS 3 -.TP 2 -o -javac(1) -.TP 2 -o -java(1) -.TP 2 -o -jdb(1) -.TP 2 -o -javah(1) -.TP 2 -o -javap(1) -.TP 2 -o -.na -\f2Javadoc ¤Î¥Û¡¼¥à¥Ú¡¼¥¸\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-jsp\-135444.html -.TP 2 -o -.na -\f2How to Write Doc Comments for Javadoc\fP @ -.fi -http://www.oracle.com/technetwork/java/javase/documentation/index\-137868.html -.TP 2 -o -.na -\f2¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#general -.TP 2 -o -.na -\f2javac ¤È javadoc ¤¬¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) .RE - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javap(1) +.RE +.SH "´ØÏ¢¥É¥­¥å¥á¥ó¥È" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Javadoc¥Æ¥¯¥Î¥í¥¸ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/javadoc/index\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥é¥¹¤Î¸¡½ÐÊýË¡ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Javadoc¥Ä¡¼¥ë¤Ç¤ÎDoc¥³¥á¥ó¥È¤Îµ­½ÒÊýË¡ +(http://www\&.oracle\&.com/technetwork/java/javase/documentation/index\-137868\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +URL¥á¥â¡¢Uniform Resource Locators +(http://www\&.ietf\&.org/rfc/rfc1738\&.txt) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +HTMLɸ½à¡¢HTML Document Representation (4197265¤ª¤è¤Ó4137321) +(http://www\&.w3\&.org/TR/REC\-html40/charset\&.html#h\-5\&.2\&.2) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 index b9c445d6b80..e88dfbfaabd 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 @@ -1,139 +1,220 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javah 1 "07 May 2011" - -.LP -.SH "̾Á°" -javah \- C ¥Ø¥Ã¥À¡¼¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¥¸¥§¥Í¥ì¡¼¥¿ -.LP -.LP -\f3javah\fP ¤Ï¡¢Java ¥¯¥é¥¹¤«¤é C ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤È C ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤È¡¢C ¤Ê¤É¤Î¤½¤Î¾¤Î¸À¸ì¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤òÀܳ¤·¡¢¥³¡¼¥É¤¬Áê¸ß¤ËºîÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javah +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javah" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javah \- Java¥¯¥é¥¹¤«¤éC¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -javah [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . . -.fl -\fP +\fIjavah\fR [ \fIoptions\fR ] f\fIully\-qualified\-class\-name \&.\&.\&.\fR .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIfully\-qualified\-class\-name\fR +.RS 4 +C¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤µ¤ì¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ¤µ¤ì¤¿¾ì½ê¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3javah\fP ¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤ËɬÍ×¤Ê C ¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ºîÀ®¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥½¡¼¥¹¥³¡¼¥É¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ò»²¾È¤¹¤ë¤¿¤á¤Ë C ¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£.h ¥Õ¥¡¥¤¥ë¤Ï¡¢Âбþ¤¹¤ë¥¯¥é¥¹¤È°ìÃפ¹¤ëÇÛÃÖ¤ò»ý¤Ä¹½Â¤ÂÎÄêµÁ¤ò´Þ¤ß¤Þ¤¹¡£¹½Â¤ÂΤΥե£¡¼¥ë¥É¤Ï¡¢¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ËÂбþ¤·¤Þ¤¹¡£ -.LP -.LP -¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤È¤½¤ÎÃæ¤ÇÀë¸À¤µ¤ì¤ë¹½Â¤ÂΤÎ̾Á°¤Ï¥¯¥é¥¹¤Î̾Á°¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£\f3javah\fP ¤ËÅϤµ¤ì¤ë¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Ë¤¢¤ë¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë̾¤È¹½Â¤ÂÎ̾¤ÎξÊý¤ËÉղ䵤ì¤Þ¤¹¡£²¼Àþ (_) ¤¬Ì¾Á°¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f3javah\fP ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¥ê¥¹¥È¤µ¤ì¤ë³Æ¥¯¥é¥¹¤Î¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òÃÖ¤­¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢\f2\-stubs\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢¥ê¥¹¥È¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î·ë²Ì¤òÏ¢·ë¤¹¤ë¤Ë¤Ï¡¢\f2\-o\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¿·¤·¤¤¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë Java Native Interface (JNI) ¤Ï¡¢¥Ø¥Ã¥À¡¼¾ðÊó¤Þ¤¿¤Ï¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤òɬÍפȤ·¤Þ¤»¤ó¡£¸½ºß¤Ç¤Ï¡¢\f3javah\fP ¤Ï¡¢JNI ·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ËɬÍפʥͥ¤¥Æ¥£¥Ö¥á¥½¥Ã¥Éµ¡Ç½¥×¥í¥È¥¿¥¤¥×¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\f3javah\fP ¤Ï JNI ·Á¼°¤Ç½ÐÎϤµ¤ì¡¢¤½¤Î·ë²Ì¤Ï .h ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.LP +.PP +\fIjavah\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤ËɬÍפÊC¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ºîÀ®¤µ¤ì¤¿¥Ø¥Ã¥À¡¼¤È¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¡¦¥½¡¼¥¹¡¦¥³¡¼¥É¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ò»²¾È¤¹¤ë¤¿¤á¤ËC¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£\fI\&.h\fR¥Õ¥¡¥¤¥ë¤Ï¡¢Âбþ¤¹¤ë¥¯¥é¥¹¤È°ìÃפ¹¤ëÇÛÃÖ¤ò»ý¤Ä\fIstruct\fRÄêµÁ¤ò´Þ¤ß¤Þ¤¹¡£\fIstruct\fR¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ËÂбþ¤·¤Þ¤¹¡£ +.PP +¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë¤È¤½¤ÎÃæ¤ÇÀë¸À¤µ¤ì¤ë¹½Â¤ÂΤÎ̾Á°¤Ï¥¯¥é¥¹¤Î̾Á°¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£\fIjavah\fR¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Ë¤¢¤ë¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë̾¤È¹½Â¤ÂÎ̾¤ÎξÊý¤ÎÀèÆ¬¤ËÉղ䵤ì¤Þ¤¹¡£²¼Àþ(_)¤¬Ì¾Á°¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fIjavah\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥ê¥¹¥È¤µ¤ì¤ë³Æ¥¯¥é¥¹¤Î¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òÃÖ¤­¤Þ¤¹¡£¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢\fI\-stubs\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£1¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢¥ê¥¹¥È¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Î·ë²Ì¤òÏ¢·ë¤¹¤ë¤Ë¤Ï¡¢\fI\-o\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +Java Native Interface (JNI)¤Ï¥Ø¥Ã¥À¡¼¾ðÊó¤Þ¤¿¤Ï¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤òɬÍפȤ·¤Þ¤»¤ó¡£\fIjavah\fR¥³¥Þ¥ó¥É¤Ï°ú¤­Â³¤­JNI·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥É¤ËɬÍפʥͥ¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥É´Ø¿ô¥×¥í¥È¥¿¥¤¥×¤ÎÀ¸À®¤Ë»ÈÍѤǤ­¤Þ¤¹¡£\fIjavah\fR¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇJNI·Á¼°¤Î½ÐÎϤòÀ¸À®¤·¡¢¤½¤Î·ë²Ì¤ò\fI\&.h\fR¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-o outputfile -¥³¥Þ¥ó¥É¹Ô¤Ë¥ê¥¹¥È¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ËÂФ·¤Æ¡¢·ë²Ì¤Î¥Ø¥Ã¥À¡¼¤Þ¤¿¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÏ¢·ë¤·¤Æ \f2outputfile\fP ¤Ë³ÊǼ¤·¤Þ¤¹¡£\f3\-o\fP ¤Þ¤¿¤Ï \f3\-d\fP ¤Î¤É¤Á¤é¤«°ìÊý¤À¤±¤¬»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-d directory -\f3javah\fP ¤¬¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£\f3\-d\fP ¤Þ¤¿¤Ï \f3\-o\fP ¤Î¤É¤Á¤é¤«°ìÊý¤À¤±¤¬»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-stubs -\f3javah\fP ¤¬¡¢Java ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤«¤é C Àë¸À¤òÀ¸À®¤·¤Þ¤¹¡£ -.TP 3 -\-verbose -¾ÜºÙ½ÐÎϤò»ØÄꤷ¡¢ºîÀ®¥Õ¥¡¥¤¥ë¤Î¾õÂ֤˴ؤ¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¡¢\f3javah\fP ¤¬É¸½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-help -\f3javah\fP ¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Î¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-version -\f3javah\fP ¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-jni -JNI ·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¥Õ¥¡¥¤¥ëµ¡Ç½¥×¥í¥È¥¿¥¤¥×¤ò´Þ¤à½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò¡¢\f3javah\fP ¤¬ºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ïɸ½à½ÐÎϤǤ¢¤ë¤¿¤á¡¢\f3\-jni\fP ¤Î»ÈÍѤϥª¥×¥·¥ç¥ó¤Ç¤¹¡£ -.TP 3 -\-classpath path -¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë \f3javah\fP ¤¬»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï CLASSPATH ´Ä¶­ÊÑ¿ôÀßÄê¤ò¾å½ñ¤­¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2path\fP ¤Î°ìÈÌ·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - .:<your_path> -.fl -\fP -.fi -¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - .:/home/avh/classes:/usr/local/java/classes -.fl -\fP -.fi -.LP -ÊØµ¹¾å¡¢ \f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (Java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ­¤Ê¤¤)¡£ -.br -.br -¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2foo\fP ¤Ë \f2a.jar\fP ¤È \f2b.JAR\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ \f2foo/*\fP ¤Ï \f2A.jar:b.JAR\fP ¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈ֤ϻØÄꤵ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ \f2*\fP ¤À¤±¤«¤éÀ®¤ë¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£ \f2CLASSPATH\fP ´Ä¶­ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥ÉŸ³«¤Ïɬ¤º¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Îµ¯Æ°Á°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2System.getenv("CLASSPATH")\fP ¸Æ¤Ó½Ð¤·¤Î¤è¤¦¤Ë´Ä¶­¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤ï¤Ê¤¤¸Â¤ê¡¢Java ¥×¥í¥°¥é¥à¤¬Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.TP 3 -\-bootclasspath path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2jre/lib/rt.jar\fP ¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤Î JAR ¥Õ¥¡¥¤¥ë ¤Ë¤¢¤ë¡¢¥³¥¢ Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£ -.TP 3 -\-old -¸Å¤¤ JDK1.0 ·Á¼°¤Î¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-force -½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬¾ï¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.PP +\-o \fIoutputfile\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥ê¥¹¥È¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ËÂФ·¤Æ¡¢·ë²Ì¤Î¥Ø¥Ã¥À¡¼¤Þ¤¿¤Ï¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÏ¢·ë¤·¤Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Þ¤¹¡£\fI\-o\fR¤Þ¤¿¤Ï\fI\-d\fR¤Î¤É¤Á¤é¤«¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ .RE - -.LP -.SH "´Ä¶­ÊÑ¿ô" -.LP -.RS 3 -.TP 3 -CLASSPATH -¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl -.:/home/avh/classes:/usr/local/java/classes -.fl -\fP -.fi +.PP +\-d \fIdirectory\fR +.RS 4 +\fIjavah\fR¤¬¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£\fI\-d\fR¤Þ¤¿¤Ï\fI\-o\fR¤Î¤É¤Á¤é¤«¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-stubs +.RS 4 +\fIjavah\fR¥³¥Þ¥ó¥É¤¬¡¢Java¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Õ¥¡¥¤¥ë¤«¤éCÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose +.RS 4 +¾ÜºÙ½ÐÎϤò»ØÄꤷ¡¢ºîÀ®¥Õ¥¡¥¤¥ë¤Î¾õÂ֤˴ؤ¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¡¢\fIjavah\fR¥³¥Þ¥ó¥É¤¬\fIɸ½à½ÐÎÏ\fR¤Ë½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +\fIjavah\fR¤Î»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +\fIjavah\fR¥³¥Þ¥ó¥É¤Î¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-jni +.RS 4 +JNI·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¡¦¥á¥½¥Ã¥Éµ¡Ç½¥×¥í¥È¥¿¥¤¥×¤ò´Þ¤à½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò¡¢\fIjavah\fR¥³¥Þ¥ó¥É¤¬ºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ïɸ½à½ÐÎϤǤ¢¤ë¤¿¤á¡¢\fI\-jni\fR¤Î»ÈÍѤϥª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.RE +.PP +\-classpath \fIpath\fR +.RS 4 +¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë\fIjavah\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤ÏOracle Solaris¤Î¾ì¹ç¤Ï¥³¥í¥ó¤Ç¡¢Windows¤Î¾ì¹ç¤Ï¥»¥ß¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£¥Ñ¥¹¤Î°ìÈÌŪ¤Ê·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fBOracle Solaris\fR¤Î¾ì¹ç: +.sp +\&.:\fIyour\-path\fR +.sp +Îã: +\fI\&.:/home/avh/classes:/usr/local/java/classes\fR +.sp +\fBWindows\fR¤Î¾ì¹ç: +.sp +\&.;\fIyour\-path\fR +.sp +Îã: +\fI\&.;C:\eusers\edac\eclasses;C:\etools\ejava\eclasses\fR +.sp +ÊØµ¹¾å¡¢*¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¡¦¥Ñ¥¹Í×ÁǤϡ¢\fI\&.jar\fR¤Þ¤¿¤Ï\fI\&.JAR\fR¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱÅù¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê\fImydir\fR¤Ë\fIa\&.jar\fR¤È\fIb\&.JAR\fR¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¡¦¥Ñ¥¹Í×ÁÇ\fImydir/*\fR¤Ï\fIA\fR\fI\&.jar:b\&.JAR\fR¤ËŸ³«¤µ¤ì¤Þ¤¹¤¬¡¢JAR¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤»ØÄê¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£*¤«¤é¤Ê¤ë¥¯¥é¥¹¡¦¥Ñ¥¹¡¦¥¨¥ó¥È¥ê¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤ÎJAR¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¡¦¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ÎŸ³«¤Ï¡¢Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î³«»ÏÁ°¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£Java¥×¥í¥°¥é¥à¤Ï¡¢´Ä¶­¤òÌ䤤¹ç¤»¤ë¾ì¹ç¤ò½ü¤­¡¢Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»²¾È¤·¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\fISystem\&.getenv("CLASSPATH")\fR¤ò¥³¡¼¥ë¤·¤ÆÌ䤤¹ç¤»¤ë¾ì¹ç¤Ç¤¹¡£ +.RE +.PP +\-bootclasspath \fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fIjre\elib\ert\&.jar\fR¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¡¢¥³¥¢Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£ +.RE +.PP +\-old +.RS 4 +¸Å¤¤JDK 1\&.0·Á¼°¤Î¥Ø¥Ã¥À¡¼¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-force +.RS 4 +½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬¾ï¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -javac(1)¡¢java(1)¡¢jdb(1)¡¢javap(1)¡¢javadoc(1) -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javap(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javadoc(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 index 1854f9d552e..152821dfebe 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 @@ -1,317 +1,344 @@ -." Copyright (c) 1994, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH javap 1 "07 May 2011" - -.LP -.SH "̾Á°" -javap \- Java ¥¯¥é¥¹¥Õ¥¡¥¤¥ëµÕ¥¢¥»¥ó¥Ö¥é -.LP -.LP -¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: javap +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "javap" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +javap \- 1¤Ä°Ê¾å¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -javap [ \fP\f3options\fP\f3 ] classes -.fl -\fP +\fIjavap\fR [\fIoptions\fR] \fIclassfile\fR\&.\&.\&. .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclassfile\fR +.RS 4 +Ãí¼á¤Î½èÍýÂоݤȤʤ롢¶õÇò¤Ç¶èÀڤä¿1¤Ä°Ê¾å¤Î¥¯¥é¥¹(DocFooter\&.class¤Ê¤É)¡£¥¯¥é¥¹¡¦¥Ñ¥¹¤Ç¸¡½Ð¤Ç¤­¤ë¥¯¥é¥¹¤ò¡¢¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤ÏURL(\fIfile:///home/user/myproject/src/DocFooter\&.class\fR¤Ê¤É)¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3javap\fP ¥³¥Þ¥ó¥É¤Ï¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£¤½¤Î½ÐÎϤϻØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê°Û¤Ê¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\f3javap\fP ¤Ï¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¡¢ÅϤµ¤ì¤¿¥¯¥é¥¹¤Î protected ¤ª¤è¤Ó public ¤Î¥Õ¥£¡¼¥ë¥É¤È¥á¥½¥Ã¥É¤ò½ÐÎϤ·¤Þ¤¹¡£\f3javap\fP ¤Ï¤½¤Î½ÐÎϤòɸ½à½ÐÎϤËɽ¼¨¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -classes -Ãí¼á¤Î½èÍýÂоݤȤʤë 1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹ \f2DocFooter.class\fP ¤Ê¤É) ¤Î¥ê¥¹¥È (¶õÇò¶èÀÚ¤ê)¡£¥¯¥é¥¹¥Ñ¥¹¤Ç¸«¤Ä¤«¤ë¥¯¥é¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë̾ ( \f2/home/user/myproject/src/DocFooter.class\fP ¤Ê¤É) ¤Þ¤¿¤Ï URL ( \f2file:///home/user/myproject/src/DocFooter.class\fP ¤Ê¤É) ¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RE - -.LP -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥¯¥é¥¹Àë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -import java.awt.*; -.fl -import java.applet.*; -.fl - -.fl -public class DocFooter extends Applet { -.fl - String date; -.fl - String email; -.fl - -.fl - public void init() { -.fl - resize(500,100); -.fl - date = getParameter("LAST_UPDATED"); -.fl - email = getParameter("EMAIL"); -.fl - } -.fl - -.fl - public void paint(Graphics g) { -.fl - g.drawString(date + " by ",100, 15); -.fl - g.drawString(email,290,15); -.fl - } -.fl -} -.fl -\fP -.fi - -.LP -.LP -\f3javap DocFooter.class\fP ¤¬¤â¤¿¤é¤¹½ÐÎϤϼ¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -Compiled from "DocFooter.java" -.fl -public class DocFooter extends java.applet.Applet { -.fl - java.lang.String date; -.fl - java.lang.String email; -.fl - public DocFooter(); -.fl - public void init(); -.fl - public void paint(java.awt.Graphics); -.fl -} -.fl -\fP -.fi - -.LP -.LP -\f3javap \-c DocFooter.class\fP ¤¬¤â¤¿¤é¤¹½ÐÎϤϼ¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -Compiled from "DocFooter.java" -.fl -public class DocFooter extends java.applet.Applet { -.fl - java.lang.String date; -.fl - -.fl - java.lang.String email; -.fl - -.fl - public DocFooter(); -.fl - Code: -.fl - 0: aload_0 -.fl - 1: invokespecial #1 // Method java/applet/Applet."<init>":()V -.fl - 4: return -.fl - -.fl - public void init(); -.fl - Code: -.fl - 0: aload_0 -.fl - 1: sipush 500 -.fl - 4: bipush 100 -.fl - 6: invokevirtual #2 // Method resize:(II)V -.fl - 9: aload_0 -.fl - 10: aload_0 -.fl - 11: ldc #3 // String LAST_UPDATED -.fl - 13: invokevirtual #4 // Method getParameter:(Ljava/lang/String;)Ljava/lang/String; -.fl - 16: putfield #5 // Field date:Ljava/lang/String; -.fl - 19: aload_0 -.fl - 20: aload_0 -.fl - 21: ldc #6 // String EMAIL -.fl - 23: invokevirtual #4 // Method getParameter:(Ljava/lang/String;)Ljava/lang/String; -.fl - 26: putfield #7 // Field email:Ljava/lang/String; -.fl - 29: return -.fl - -.fl - public void paint(java.awt.Graphics); -.fl - Code: -.fl - 0: aload_1 -.fl - 1: new #8 // class java/lang/StringBuilder -.fl - 4: dup -.fl - 5: invokespecial #9 // Method java/lang/StringBuilder."<init>":()V -.fl - 8: aload_0 -.fl - 9: getfield #5 // Field date:Ljava/lang/String; -.fl - 12: invokevirtual #10 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; -.fl - 15: ldc #11 // String by -.fl - 17: invokevirtual #10 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; -.fl - 20: invokevirtual #12 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; -.fl - 23: bipush 100 -.fl - 25: bipush 15 -.fl - 27: invokevirtual #13 // Method java/awt/Graphics.drawString:(Ljava/lang/String;II)V -.fl - 30: aload_1 -.fl - 31: aload_0 -.fl - 32: getfield #7 // Field email:Ljava/lang/String; -.fl - 35: sipush 290 -.fl - 38: bipush 15 -.fl - 40: invokevirtual #13 // Method java/awt/Graphics.drawString:(Ljava/lang/String;II)V -.fl - 43: return -.fl -} -.fl -\fP -.fi - -.LP +.PP +\fIjavap\fR¥³¥Þ¥ó¥É¤Ï¡¢1¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£¤½¤Î½ÐÎϤϻØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê°Û¤Ê¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fIjavap\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¡¢ÅϤµ¤ì¤¿¥¯¥é¥¹¤Îprotected¤ª¤è¤Ópublic¤Î¥Õ¥£¡¼¥ë¥É¤È¥á¥½¥Ã¥É¤ò½ÐÎϤ·¤Þ¤¹¡£\fIjavap\fR¥³¥Þ¥ó¥É¤Ï¤½¤Î½ÐÎϤò\fIɸ½à½ÐÎÏ\fR¤Ëɽ¼¨¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-help \-\-help \-? -\f3javap\fP ¤Î¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-l -¹ÔÈÖ¹æ¤È¶É½êÊÑ¿ô¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-public -public ¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-protected -protected ¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-package -package¡¢protected¡¢¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤¹¡£ -.TP 3 -\-private \-p -¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-Jflag -¥é¥ó¥¿¥¤¥à¥·¥¹¥Æ¥à¤ËľÀÜ \f2flag\fP ¤òÅϤ·¤Þ¤¹¡£»ÈÍÑÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -javap \-J\-version -.fl -javap \-J\-Djava.security.manager \-J\-Djava.security.policy=MyPolicy MyClassName -.fl -\fP -.fi -.TP 3 -\-s -ÆâÉô¤Î·¿¥·¥°¥Ë¥Á¥ã¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-sysinfo -½èÍýÃæ¤Î¥¯¥é¥¹¤Î¥·¥¹¥Æ¥à¾ðÊó (¥Ñ¥¹¡¢¥µ¥¤¥º¡¢ÆüÉÕ¡¢MD5 ¥Ï¥Ã¥·¥å) ¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-constants -static final Äê¿ô¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-c -¥¯¥é¥¹¤Î³Æ¥á¥½¥Ã¥É¤Î¤¿¤á¤ËµÕ¥¢¥»¥ó¥Ö¥ë¤µ¤ì¤ë¥³¡¼¥É¡¢¤¹¤Ê¤ï¤Á Java ¥Ð¥¤¥È¥³¡¼¥É¤«¤éÀ®¤ëÌ¿Îá¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï -.na -\f2¡ÖJava Virtual Machine Specification¡×\fP @ -.fi -http://java.sun.com/docs/books/vmspec/¤Ë¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-verbose -¥á¥½¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¥µ¥¤¥º¡¢¤ª¤è¤Ó \f2locals\fP ¤È \f2args\fP ¤Î¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-classpath path -\f3javap\fP ¤¬¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï CLASSPATH ´Ä¶­ÊÑ¿ôÀßÄê¤ò¾å½ñ¤­¤·¤Þ¤¹¡£ -.TP 3 -\-bootclasspath path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2jre/lib/rt.jar\fP ¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤Î JAR ¥Õ¥¡¥¤¥ë ¤Ë¤¢¤ë¡¢¥³¥¢ Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£ -.TP 3 -\-extdirs dirs -¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿³ÈÄ¥µ¡Ç½¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2java.ext.dirs\fP ¤Ë¤¢¤ê¤Þ¤¹¡£ +.PP +\-help, \-\-help, \-? +.RS 4 +\fIjavap\fR¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Î¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ .RE - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.LP -javac(1)¡¢java(1)¡¢jdb(1)¡¢javah(1)¡¢javadoc(1) -.LP +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-l +.RS 4 +¹ÔÈÖ¹æ¤È¥í¡¼¥«¥ëÊÑ¿ôɽ¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-public +.RS 4 +public¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¡¼¤Î¤ßɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-protected +.RS 4 +protected¤ª¤è¤Ópublic¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤Î¤ß¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-private, \-p +.RS 4 +¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤òJVM¤ËÅϤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +javap \-J\-version +javap \-J\-Djava\&.security\&.manager \-J\-Djava\&.security\&.policy=MyPolicy MyClassName +.fi +.if n \{\ +.RE +.\} +JVM¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ï¡¢¥³¥Þ¥ó¥É¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-s +.RS 4 +ÆâÉô¤Î·¿¥·¥°¥Ë¥Á¥ã¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-sysinfo +.RS 4 +½èÍýÃæ¤Î¥¯¥é¥¹¤Î¥·¥¹¥Æ¥à¾ðÊó(¥Ñ¥¹¡¢¥µ¥¤¥º¡¢ÆüÉÕ¡¢MD5¥Ï¥Ã¥·¥å)¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-constants +.RS 4 +\fIstatic final\fRÄê¿ô¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-c +.RS 4 +¥¯¥é¥¹¤Î³Æ¥á¥½¥Ã¥É¤Î¤¿¤á¤ËµÕ¥¢¥»¥ó¥Ö¥ë¤µ¤ì¤ë¥³¡¼¥É¡¢¤¹¤Ê¤ï¤ÁJava¥Ð¥¤¥È¥³¡¼¥É¤«¤é¤Ê¤ëÌ¿Îá¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose +.RS 4 +¥á¥½¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥µ¥¤¥º¡¢locals¤Èarguments¤Î¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-classpath \fIpath\fR +.RS 4 +¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë\fIjavap\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-bootclasspath \fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fIjre/lib/rt\&.jar\fR¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤ÎJAR¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¡¢¥³¥¢Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£ +.RE +.PP +\-extdir \fIdirs\fR +.RS 4 +¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿³ÈÄ¥µ¡Ç½¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤Î¥Ç¥Õ¥©¥ë¥È°ÌÃÖ¤Ï\fIjava\&.ext\&.dirs\fR¤Ç¤¹¡£ +.RE +.SH "Îã" +.PP +¼¡¤Î\fIDocFooter\fR¥¯¥é¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +import java\&.awt\&.*; +import java\&.applet\&.*; +public class DocFooter extends Applet { + String date; + String email; + + public void init() { + resize(500,100); + date = getParameter("LAST_UPDATED"); + email = getParameter("EMAIL"); + } + + public void paint(Graphics g) { + g\&.drawString(date + " by ",100, 15); + g\&.drawString(email,290,15); + } +} +.fi +.if n \{\ +.RE +.\} +.PP +\fIjavap DocFooter\&.class\fR¥³¥Þ¥ó¥É¤«¤é¤Î½ÐÎϤϼ¡¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Compiled from "DocFooter\&.java" +public class DocFooter extends java\&.applet\&.Applet { + java\&.lang\&.String date; + java\&.lang\&.String email; + public DocFooter(); + public void init(); + public void paint(java\&.awt\&.Graphics); +} +.fi +.if n \{\ +.RE +.\} +.PP +\fIjavap \-c DocFooter\&.class\fR¥³¥Þ¥ó¥É¤«¤é¤Î½ÐÎϤϼ¡¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Compiled from "DocFooter\&.java" +public class DocFooter extends java\&.applet\&.Applet { + java\&.lang\&.String date; + java\&.lang\&.String email; + + public DocFooter(); + Code: + 0: aload_0 + 1: invokespecial #1 // Method +java/applet/Applet\&."<init>":()V + 4: return + + public void init(); + Code: + 0: aload_0 + 1: sipush 500 + 4: bipush 100 + 6: invokevirtual #2 // Method resize:(II)V + 9: aload_0 + 10: aload_0 + 11: ldc #3 // String LAST_UPDATED + 13: invokevirtual #4 // Method + getParameter:(Ljava/lang/String;)Ljava/lang/String; + 16: putfield #5 // Field date:Ljava/lang/String; + 19: aload_0 + 20: aload_0 + 21: ldc #6 // String EMAIL + 23: invokevirtual #4 // Method + getParameter:(Ljava/lang/String;)Ljava/lang/String; + 26: putfield #7 // Field email:Ljava/lang/String; + 29: return + + public void paint(java\&.awt\&.Graphics); + Code: + 0: aload_1 + 1: new #8 // class java/lang/StringBuilder + 4: dup + 5: invokespecial #9 // Method + java/lang/StringBuilder\&."<init>":()V + 8: aload_0 + 9: getfield #5 // Field date:Ljava/lang/String; + 12: invokevirtual #10 // Method + java/lang/StringBuilder\&.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; + 15: ldc #11 // String by + 17: invokevirtual #10 // Method + java/lang/StringBuilder\&.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; + 20: invokevirtual #12 // Method + java/lang/StringBuilder\&.toString:()Ljava/lang/String; + 23: bipush 100 + 25: bipush 15 + 27: invokevirtual #13 // Method + java/awt/Graphics\&.drawString:(Ljava/lang/String;II)V + 30: aload_1 + 31: aload_0 + 32: getfield #7 // Field email:Ljava/lang/String; + 35: sipush 290 + 38: bipush 15 + 40: invokevirtual #13 // Method +java/awt/Graphics\&.drawString:(Ljava/lang/String;II)V + 43: return +} +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jdb(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javadoc(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jcmd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jcmd.1 new file mode 100644 index 00000000000..d79de5a2d19 --- /dev/null +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jcmd.1 @@ -0,0 +1,154 @@ +'\" t +.\" Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jcmd +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jcmd" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jcmd \- ¼Â¹ÔÃæ¤ÎJava²¾ÁÛ¥Þ¥·¥ó(JVM)¤Ë¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjcmd\fR [\fI\-l\fR|\fI\-h\fR|\fI\-help\fR] +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjcmd\fR \fIpid\fR|\fImain\-class\fR \fIPerfCounter\&.print\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjcmd\fR \fIpid\fR|\fImain\-class\fR \fI\-f\fR \fIfilename\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjcmd\fR \fIpid\fR|\fImain\-class\fR \fIcommand\fR[ \fIarguments\fR] +.fi +.if n \{\ +.RE +.\} +.SH "ÀâÌÀ" +.PP +\fIjcmd\fR¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢JVM¤Ë¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤ÏJVM¤¬²ÔƯ¤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¥Þ¥·¥ó¤Ç»ÈÍѤ·¡¢JVM¤Îµ¯Æ°¤Ë»ÈÍѤ·¤¿¤â¤Î¤ÈƱ¤¸Í­¸ú¥æ¡¼¥¶¡¼¤ª¤è¤Ó¥°¥ë¡¼¥×¼±Ê̻Ҥò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¥ê¥â¡¼¥È¡¦¥Þ¥·¥ó¤«¤é¡¢¤Þ¤¿¤ÏÊ̤μ±Ê̻ҤǿÇÃÇ¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢\fIcom\&.sun\&.management\&.DiagnosticCommandMBean\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤǤ­¤Þ¤¹¡£\fIDiagnosticCommandMBean\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ÜºÙ¤Ï¡¢http://download\&.java\&.net/jdk8/docs/jre/api/management/extension/com/sun/management/DiagnosticCommandMBean\&.html¤Ë¤¢¤ëAPI¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIjcmd\fR¤ò°ú¿ô¤Ê¤·¤Þ¤¿¤Ï\fI\- l\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¼Â¹Ô¤·¤¿¾ì¹ç¤Ï¡¢¼Â¹ÔÃæ¤ÎJava¥×¥í¥»¥¹¼±Ê̻ҤΥꥹ¥È¤¬¡¢¥á¥¤¥ó¡¦¥¯¥é¥¹¤ª¤è¤Ó¥×¥í¥»¥¹¤Îµ¯Æ°¤Ë»ÈÍѤµ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤È¤È¤â¤Ë½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-h\fR¤Þ¤¿¤Ï\fI\-help\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ\fIjcmd\fR¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ä¡¼¥ë¤Î¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.PP +¥×¥í¥»¥¹¼±ÊÌ»Ò(\fIpid\fR)¤Þ¤¿¤Ï¥á¥¤¥ó¡¦¥¯¥é¥¹(\fImain\-class\fR)¤òºÇ½é¤Î°ú¿ô¤È¤·¤Æ»ØÄꤷ¤¿¾ì¹ç¡¢\fIjcmd\fR¤Ï¡¢¼±Ê̻Ҥò»ØÄꤷ¤¿¾ì¹ç¤ÏJava¥×¥í¥»¥¹¤Ë¡¢¥á¥¤¥ó¡¦¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¤¹¤Ù¤Æ¤ÎJava¥×¥í¥»¥¹¤Ë¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤·¤Þ¤¹¡£¥×¥í¥»¥¹¼±Ê̻ҤȤ·¤Æ\fI0\fR¤ò»ØÄꤷ¤Æ¡¢¤¹¤Ù¤Æ¤Î»ÈÍѲÄǽ¤ÊJava¥×¥í¥»¥¹¤Ë¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¿ÇÃÇ¥³¥Þ¥ó¥É¡¦¥ê¥¯¥¨¥¹¥È¤È¤·¤Æ¡¢¼¡¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +Perfcounter\&.print +.RS 4 +»ØÄꤷ¤¿Java¥×¥í¥»¥¹¤Ç»ÈÍѲÄǽ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡¦¥«¥¦¥ó¥¿¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡¦¥«¥¦¥ó¥¿¤Î¥ê¥¹¥È¤ÏJava¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-f \fIfilename\fR +.RS 4 +¿ÇÃÇ¥³¥Þ¥ó¥É¤òÆÉ¤ß¼è¤ê¡¢»ØÄꤷ¤¿Java¥×¥í¥»¥¹¤ËÁ÷¿®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡£\fI\-f\fR¥ª¥×¥·¥ç¥ó¤Ç¤Î¤ß»ÈÍѤ·¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥³¥Þ¥ó¥É¤Ï¡¢1¹Ô¤Çµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Èֹ浭¹æ(\fI#\fR)¤Ç»Ï¤Þ¤ë¹Ô¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¹Ô¤¬ÆÉ¤ß¼è¤é¤ì¤ë¤«¡¢\fIstop\fR¥­¡¼¥ï¡¼¥É¤ò´Þ¤à¹Ô¤¬ÆÉ¤ß¼è¤é¤ì¤ë¤È¡¢¥Õ¥¡¥¤¥ë¤Î½èÍý¤¬½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\fIcommand\fR [\fIarguments\fR] +.RS 4 +»ØÄꤵ¤ì¤¿Java¥×¥í¥»¥¹¤ËÁ÷¿®¤¹¤ë¥³¥Þ¥ó¥É¡£»ØÄꤷ¤¿¥×¥í¥»¥¹¤Ç»ÈÍѤǤ­¤ë¿ÇÃÇ¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤Ï¡¢¤³¤Î¥×¥í¥»¥¹¤ËÂФ·¤Æ\fIhelp\fR¥³¥Þ¥ó¥É¤òÁ÷¿®¤¹¤ì¤Ðɽ¼¨¤µ¤ì¤Þ¤¹¡£³Æ¿ÇÃÇ¥³¥Þ¥ó¥É¤ËÆÈ¼«¤Î°ú¿ô¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¤ÎÀâÌÀ¡¢¹½Ê¸¤ª¤è¤Ó»ÈÍѲÄǽ¤Ê°ú¿ô¤Î¥ê¥¹¥È¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢\fIhelp\fR¥³¥Þ¥ó¥É¤Î°ú¿ô¤È¤·¤Æ¥³¥Þ¥ó¥É̾¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +°ú¿ô¤Ë¥¹¥Ú¡¼¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°ì½Å°úÍÑÉä¤Þ¤¿¤ÏÆó½Å°úÍÑÉä(\fI\*(Aq\fR¤Þ¤¿¤Ï\fI"\fR)¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£²Ã¤¨¤Æ¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡¦¥·¥§¥ë¤¬°úÍÑÉä¤ò½èÍý¤·¤Ê¤¤¤è¤¦¤Ë¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å(\fI\e\fR)¤Ç°ì½Å°úÍÑÉä¤Þ¤¿¤ÏÆó½Å°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¤³¤ì¤é¤Î°ú¿ô¤ò°ì½Å°úÍÑÉä¤Ç°Ï¤ó¤Ç¤«¤é¡¢Æó½Å°úÍÑÉä¤Ç°Ï¤à¤³¤È¤â¤Ç¤­¤Þ¤¹(¤Þ¤¿¤ÏÆó½Å°úÍÑÉä¤Ç°Ï¤ó¤Ç¤«¤é¡¢°ì½Å°úÍÑÉä¤Ç°Ï¤à)¡£ +.RE +.SH "¥ª¥×¥·¥ç¥ó" +.PP +³Æ¥ª¥×¥·¥ç¥ó¤Ï¸ß¤¤¤ËÇÓ¾Ū¤Ç¤¹¡£ +.PP +\-f \fIfilename\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤«¤é¥³¥Þ¥ó¥É¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ºÇ½é¤Î°ú¿ô¤È¤·¤Æ¥×¥í¥»¥¹¼±Ê̻Ҥޤ¿¤Ï¥á¥¤¥ó¡¦¥¯¥é¥¹¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥³¥Þ¥ó¥É¤Ï¡¢1¹Ô¤Çµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Èֹ浭¹æ(\fI#\fR)¤Ç»Ï¤Þ¤ë¹Ô¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¹Ô¤¬ÆÉ¤ß¼è¤é¤ì¤ë¤«¡¢\fIstop\fR¥­¡¼¥ï¡¼¥É¤ò´Þ¤à¹Ô¤¬ÆÉ¤ß¼è¤é¤ì¤ë¤È¡¢¥Õ¥¡¥¤¥ë¤Î½èÍý¤¬½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-h, \-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-l +.RS 4 +¼Â¹ÔÃæ¤ÎJava¥×¥í¥»¥¹¼±Ê̻ҤΥꥹ¥È¤ò¥á¥¤¥ó¡¦¥¯¥é¥¹¤ª¤è¤Ó¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£ +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 index fc9c17c2a59..426fb365ba8 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 @@ -1,157 +1,156 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jconsole 1 "07 May 2011" - -.LP -.SH "̾Á°" -jconsole \- Java ´Æ»ë¤ª¤è¤Ó´ÉÍý¥³¥ó¥½¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jconsole +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¢¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó´ÉÍý¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jconsole" "1" "2013ǯ11·î21Æü" "JDK 8" "Java¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¢¥â¥Ë¥¿¥ê¥ó" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jconsole \- Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò´Æ»ë¤ª¤è¤Ó´ÉÍý¤¹¤ë¤¿¤á¤Î¥°¥é¥Õ¥£¥«¥ë¡¦¥³¥ó¥½¡¼¥ë¤ò³«»Ï¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jconsole\fP [ \f2options\fP ] [ connection ... ] -.fl - -.fl +\fIjconsole\fR [ \fIoptions\fR ] [ connection \&.\&.\&. ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -connection = pid | host:port | jmxUrl -.RS 3 -.TP 2 -o -\f2pid\fP¥í¡¼¥«¥ë¤Î Java VM ¤Î¥×¥í¥»¥¹ ID¡£Java VM ¤Ï¡¢jconsole ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼ ID ¤ÈƱ¤¸¥æ¡¼¥¶¡¼ ID ¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJMX ´Æ»ë¤ª¤è¤Ó´ÉÍý¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f2host\fP:\f2port\fP Java VM ¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¥Û¥¹¥È¥·¥¹¥Æ¥à¤Î̾Á°¤È¡¢JVM ¤òµ¯Æ°¤·¤¿¤È¤­¤Ë¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼ \f2com.sun.management.jmxremote.port\fP ¤Ç»ØÄꤷ¤¿¥Ý¡¼¥ÈÈֹ档¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJMX ´Æ»ë¤ª¤è¤Ó´ÉÍý¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f2jmxUrl\fP ÀܳÀè¤Î JMX ¥¨¡¼¥¸¥§¥ó¥È¤Î¥¢¥É¥ì¥¹¡£¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2JMXServiceURL\fP @ -.fi -http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ .RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jconsole\fP ¥³¥Þ¥ó¥É¤Ï¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Þ¥·¥ó¾å¤Î Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È²¾ÁÛ¥Þ¥·¥ó¤Î´Æ»ë¤È´ÉÍý¤ò¹Ô¤¦¥°¥é¥Õ¥£¥«¥ë¥³¥ó¥½¡¼¥ë¥Ä¡¼¥ë¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -Windows ¾å¤Ç¤Ï¡¢\f3jconsole\fP ¤Ï¥³¥ó¥½¡¼¥ë¥¦¥£¥ó¥É¥¦¤È´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤Ê¤ó¤é¤«¤ÎÍýͳ¤Ç \f3jconsole\fP ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥¨¥é¡¼¾ðÊó¤ò¼¨¤¹¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP +.PP +connection = \fIpid\fR | \fIhost\fR:\fIport\fR | \fIjmxURL\fR +.RS 4 +\fIpid\fRÃÍ¤Ï¥í¡¼¥«¥ë¤ÎJava²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î¥×¥í¥»¥¹ID¤Ç¤¹¡£JVM¤Ï\fIjconsole\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼ID¤ÈƱ¤¸¥æ¡¼¥¶¡¼ID¤Ç¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIhost:port\fRÃͤÏJVM¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¡¦¥·¥¹¥Æ¥à¤Î̾Á°¤È¡¢JVM¤¬³«»Ï¤·¤¿¤È¤­¤Ë¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£\fIcom\&.sun\&.management\&.jmxremote\&.port\fR¤Ç»ØÄꤷ¤¿¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£\fIjmxUrl\fRÃͤϡ¢JMXServiceURL¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡¢Àܳ¤µ¤ì¤ëJMX¥¨¡¼¥¸¥§¥ó¥È¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£ +.sp +\fIconnection\fR¥Ñ¥é¥á¡¼¥¿¤Î¾ÜºÙ¤Ï¡¢JMX¥Æ¥¯¥Î¥í¥¸¤ò»ÈÍѤ·¤¿¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó´ÉÍý +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/management/agent\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fIJMXServiceURL\fR¥¯¥é¥¹¤ÎÀâÌÀ( +http://docs\&.oracle\&.com/javase/8/docs/api/javax/management/remote/JMXServiceURL\&.html)¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.SH "ÀâÌÀ" +.PP +\fIjconsole\fR¥³¥Þ¥ó¥É¤Ï¡¢¥í¡¼¥«¥ë¡¦¥Þ¥·¥ó¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Þ¥·¥ó¾å¤ÎJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È²¾ÁÛ¥Þ¥·¥ó¤Î´Æ»ë¤È´ÉÍý¤ò¹Ô¤¦¥°¥é¥Õ¥£¥«¥ë¡¦¥³¥ó¥½¡¼¥ë¡¦¥Ä¡¼¥ë¤òµ¯Æ°¤·¤Þ¤¹¡£ +.PP +Windows¾å¤Ç¤Ï¡¢\fIjconsole\fR¥³¥Þ¥ó¥É¤Ï¥³¥ó¥½¡¼¥ë¡¦¥¦¥£¥ó¥É¥¦¤È´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢\fIjconsole\fR¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥¨¥é¡¼¾ðÊó¤ò¼¨¤¹¥À¥¤¥¢¥í¥°¡¦¥Ü¥Ã¥¯¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-interval=n -¹¹¿·´Ö³Ö¤ò \f2n\fP ÉäËÀßÄꤷ¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤Ï 4 ÉÃ)¡£ -.TP 3 -\-notile -ºÇ½é¤Ë¥¦¥£¥ó¥É¥¦¤ò¥¿¥¤¥ê¥ó¥°¤·¤Þ¤»¤ó (Ê£¿ô¤ÎÀܳ¤Î¤¿¤á)¡£ -.TP 3 -\-pluginpath plugins -JConsole ¥×¥é¥°¥¤¥ó¤Î¸¡º÷Àè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£\f2plugins\fP ¥Ñ¥¹¤Ë¤Ï¡¢¼¡¤Î̾Á°¤Î¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£ -.br -.nf -\f3 -.fl - META\-INF/services/com.sun.tools.jconsole.JConsolePlugin -.fl -\fP -.fi -.LP -¤³¤ì¤Ë¤Ï¡¢ -.na -\f2com.sun.tools.jconsole.JConsolePlugin\fP @ -.fi -http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html ¥¯¥é¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë¹Ô¤¬¡¢¥×¥é¥°¥¤¥ó¤´¤È¤Ë 1 ¹Ô¤º¤Ä´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-J<flag> -jconsole ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£ +.PP +\-interval\fI=n\fR +.RS 4 +¹¹¿·´Ö³Ö¤ò\fIn\fRÉäËÀßÄꤷ¤Þ¤¹(¥Ç¥Õ¥©¥ë¥È¤Ï4ÉÃ)¡£ +.RE +.PP +\-notile +.RS 4 +ºÇ½é¤Ë¥¦¥£¥ó¥É¥¦¤ò¥¿¥¤¥ê¥ó¥°¤·¤Þ¤»¤ó(Ê£¿ôÀܳ¤Î¾ì¹ç)¡£ +.RE +.PP +\-pluginpath \fIplugins\fR +.RS 4 +\fIJConsole\fR¥×¥é¥°¥¤¥ó¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£\fIplugins\fR¥Ñ¥¹¤Ë¤Ï\fIMETA\-INF/services/com\&.sun\&.tools\&.jconsole\&.JConsolePlugin\fR¤È¤¤¤¦Ì¾Á°¤Î¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤Ç¤¤¤ëɬÍפ¬¤¢¤ê¡¢¤³¤ì¤Ë¤Ï¥×¥é¥°¥¤¥ó¤´¤È¤Ë1¹Ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤Î¹Ô¤Ï\fIcom\&.sun\&.tools\&.jconsole\&.JConsolePlugin\fR¥¯¥é¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIjconsole\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿JVM¤Ë\fIflag\fR¤òÅϤ·¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -.na -\f2JConsole ¤Î»ÈÍÑ\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html -.TP 2 -o -.na -\f2¡ÖJava ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î´Æ»ë¤ª¤è¤Ó´ÉÍý¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/management/index.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +JConsole¤Î»ÈÍÑ +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/management/jconsole\&.html) .RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +JMX¥Æ¥¯¥Î¥í¥¸¤ò»ÈÍѤ·¤¿¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó´ÉÍý -.LP - +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/management/agent\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIJMXServiceURL\fR¥¯¥é¥¹¤ÎÀâÌÀ( +http://docs\&.oracle\&.com/javase/8/docs/api/javax/management/remote/JMXServiceURL\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 index 4904c9d8eab..f7bcabdec2f 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 @@ -1,326 +1,382 @@ -." Copyright (c) 1995, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jdb 1 "07 May 2011" - -.LP -.SH "̾Á°" -jdb \- Java ¥Ç¥Ð¥Ã¥¬ -.LP -.LP -\f3jdb\fP ¤Ï¡¢Java ¸À¸ì¥×¥í¥°¥é¥à¤Î¥Ð¥°¤ò¸«¤Ä¤±¤Æ½¤Àµ¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ä¡¼¥ë¤Ç¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jdb +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jdb" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jdb \- Java¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥×¥í¥°¥é¥à¤ÎÉÔ¶ñ¹ç¤ò¸¡½Ð¤ª¤è¤Ó½¤Àµ¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jdb\fP [ options ] [ class ] [ arguments ] -.fl +\fIjdb\fR [\fIoptions\fR] [\fIclassname\fR] [\fIarguments\fR] .fi - -.LP -.RS 3 -.TP 3 -options -¼¡¤Ë¼¨¤¹¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.TP 3 -class -¥Ç¥Ð¥Ã¥°¤ò³«»Ï¤¹¤ë¥¯¥é¥¹¤Î̾Á° -.TP 3 -arguments -class ¤Î \f2main()\fP ¥á¥½¥Ã¥É¤ËÅϤ¹ \f2°ú¿ô\fP +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -Java ¥Ç¥Ð¥Ã¥¬ \f3jdb\fP ¤Ï¡¢Java ¥¯¥é¥¹ÍѤδÊñ¤Ê¥³¥Þ¥ó¥É¹Ô¥Ç¥Ð¥Ã¥¬¤Ç¤¹¡£ -.na -\f2Java Platform Debugger Architecture\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html ¤ò»ë³ÐŪ¤Ë¼Â¹Ô¤·¡¢¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¤Î Java Virtual Machine ¤Î¸¡ºº¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.SS -jdb ¥»¥Ã¥·¥ç¥ó¤Î³«»Ï -.LP -.LP -jdb ¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤Ë¤Ï¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤â¤Ã¤È¤âÉÑÈˤ˻Ȥï¤ì¤ë¤Î¤Ï¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¡¢\f3jdb\fP ¤«¤é¿·¤·¤¤ Java ²¾ÁÛ¥Þ¥·¥ó (VM) ¤òµ¯Æ°¤¹¤ëÊýË¡¤Ç¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¡¢\f3java\fP ¤ÎÂå¤ï¤ê¤Ë \f3jdb\fP ¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¥¯¥é¥¹¤¬ MyClass ¤Î¾ì¹ç¤Ï¡¢JDB ´Ä¶­¤Ç¥Ç¥Ð¥Ã¥°¤¹¤ë¤È¤­¤Ë¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclass\fRname +.RS 4 +¥Ç¥Ð¥Ã¥°¤¹¤ë¥á¥¤¥ó¡¦¥¯¥é¥¹¤Î̾Á°¡£ +.RE +.PP +\fIarguments\fR +.RS 4 +class¤Î\fImain()\fR¥á¥½¥Ã¥É¤ËÅϤ¹°ú¿ô¡£ +.RE +.SH "ÀâÌÀ" +.PP +Java¥Ç¥Ð¥Ã¥¬(JDB)¤Ï¡¢Java¥¯¥é¥¹ÍѤδÊñ¤Ê¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ç¥Ð¥Ã¥¬¤Ç¤¹¡£\fIjdb\fR¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤ÏJDB¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢JDBA (Java Platform Debugger Architecture)¤ò»ë³ÐŪ¤Ë¼Â¹Ô¤·¡¢¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¤ÎJava²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î¸¡ºº¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Java Platform Debugger Architecture (JDBA) +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jpda/index\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "JDB¥»¥Ã¥·¥ç¥ó¤Î³«»Ï" +.PP +JDB¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤Ë¤ÏÍÍ¡¹¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ºÇ¤âÉÑÈˤ˻ÈÍѤµ¤ì¤ë¤Î¤Ï¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¡¦¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¡¢JDB¤«¤é¿·¤·¤¤JVM¤òµ¯Æ°¤¹¤ëÊýË¡¤Ç¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¡¢\fIjava\fR¥³¥Þ¥ó¥É¤Î¤«¤ï¤ê¤Ë\fIjdb\fR¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¡¦¥¯¥é¥¹¤¬\fIMyClass\fR¤Î¾ì¹ç¤Ï¡¢JDB´Ä¶­¤Ç¥Ç¥Ð¥Ã¥°¤¹¤ë¤È¤­¤Ë¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % jdb MyClass -.fl -\fP +jdb MyClass .fi - -.LP -.LP -¤³¤ÎÊýË¡¤Çµ¯Æ°¤¹¤ë¤È¡¢\f3jdb\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤ò»È¤Ã¤Æ 2 ¤ÄÌܤΠJava VM ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¼¡¤Ë¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Æ¡¢¥¯¥é¥¹¤ÎºÇ½é¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë VM ¤òÄä»ß¤µ¤»¤Þ¤¹¡£ -.LP -.LP -\f3jdb\fP ¤Î¤â¤¦ 1 ¤Ä¤Î»ÈÍÑÊýË¡¤Ï¡¢¤¹¤Ç¤Ëµ¯Æ°¤·¤Æ¤¤¤ë Java VM ¤Ë jdb ¤òÀܳ¤¹¤ë¤³¤È¤Ç¤¹¡£jdb ¤¬Àܳ¤¹¤ë VM ¤ò¡¢¤½¤Î¼Â¹ÔÃæ¤Ëµ¯Æ°¤¹¤ë¤¿¤á¤Î¹½Ê¸¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¤¥ó¥×¥í¥»¥¹¥Ç¥Ð¥Ã¥°Íѥ饤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¡¢Àܳ¤Î¼ïÎà¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÊýË¡¤Çµ¯Æ°¤¹¤ë¤È¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤Æ2¤ÄÌܤÎJVM¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¼¡¤Ë¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Æ¡¢¥¯¥é¥¹¤ÎºÇ½é¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëÁ°¤ËJVM¤òÄä»ß¤µ¤»¤Þ¤¹¡£ +.PP +\fIjdb\fR¥³¥Þ¥ó¥É¤Î¤â¤¦1¤Ä¤Î»ÈÍÑÊýË¡¤Ï¡¢¤¹¤Ç¤Ë¼Â¹ÔÃæ¤ÎJVM¤Ëjdb¤òÀܳ¤¹¤ë¤³¤È¤Ç¤¹¡£\fIjdb\fR¥³¥Þ¥ó¥É¤¬Àܳ¤¹¤ëVM¤ò¡¢¤½¤Î¼Â¹ÔÃæ¤Ëµ¯Æ°¤¹¤ë¤¿¤á¤Î¹½Ê¸¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¤¥ó¥×¥í¥»¥¹¡¦¥Ç¥Ð¥Ã¥°Íѥ饤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¡¢Àܳ¤Î¼ïÎà¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\-agentlib:jdwp=transport=dt_socket,server=y,suspend=n -.fl -\fP +java \-agentlib:jdwp=transport=dt_socket,server=y,suspend=n MyClass .fi - -.LP -.LP -¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢MyClass ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Æ¡¢\f3jdb\fP ¤¬¤¢¤È¤Ç¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÀܳ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤òJVM¤ËÀܳ¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % java \-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n MyClass -.fl -\fP +jdb \-attach 8000 .fi - -.LP -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\f3jdb\fP ¤ò VM ¤ËÀܳ¤Ç¤­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤Î¾ì¹ç¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¿·¤·¤¤JVM¤òµ¯Æ°¤¹¤ë¤«¤ï¤ê¤Ë´û¸¤ÎJVM¤ËÀܳ¤µ¤ì¤ë¤¿¤á¡¢\fIjdb\fR¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë\fIMyClass\fR°ú¿ô¤Ï»ØÄꤷ¤Þ¤»¤ó¡£ +.PP +¥Ç¥Ð¥Ã¥¬¤òJVM¤ËÀܳ¤¹¤ë¤Ë¤Ï¾¤Ë¤âÍÍ¡¹¤ÊÊýË¡¤¬¤¢¤ê¡¢¤¹¤Ù¤Æ\fIjdb\fR¥³¥Þ¥ó¥É¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Àܳ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java Platform Debugger Architecture¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SS "´ðËÜjdb¥³¥Þ¥ó¥É" +.PP +´ðËÜŪ¤Ê\fIjdb\fR¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£JDB¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥³¥Þ¥ó¥É¤Ï¤³¤ì°Ê³°¤Ë¤â¤¢¤ê¡¢¤½¤ì¤é¤Ï\fI\-help\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÉ½¼¨¤Ç¤­¤Þ¤¹¡£ +.PP +help¤Þ¤¿¤Ï? +.RS 4 +\fIhelp\fR¤Þ¤¿¤Ï\fI?\fR¥³¥Þ¥ó¥É¤Ï¡¢Ç§¼±¤µ¤ì¤¿¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤Ë´Ê·é¤ÊÀâÌÀ¤òÉÕ¤±¤ÆÉ½¼¨¤·¤Þ¤¹¡£ +.RE +.PP +run +.RS 4 +JDB¤òµ¯Æ°¤·¤Æ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤¿¤¢¤È¤Ë¡¢\fIrun\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò³«»Ï¤Ç¤­¤Þ¤¹¡£\fIrun\fR¥³¥Þ¥ó¥É¤Ï¡¢´û¸¤ÎVM¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤È¤Ï°Û¤Ê¤ê¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬\fIjdb\fR¤«¤éµ¯Æ°¤·¤¿¤È¤­¤Ë¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +cont +.RS 4 +¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¡¢Îã³°¡¢¤Þ¤¿¤Ï¥¹¥Æ¥Ã¥×¼Â¹Ô¤Î¸å¤Ç¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£ +.RE +.PP +print +.RS 4 +Java¥ª¥Ö¥¸¥§¥¯¥È¤ª¤è¤Ó¥×¥ê¥ß¥Æ¥£¥ÖÃͤòɽ¼¨¤·¤Þ¤¹¡£¥×¥ê¥ß¥Æ¥£¥Ö·¿¤ÎÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¤Ë¤Ï¡¢¼ÂºÝ¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¡¢Ã»¤¤ÀâÌÀ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ÜºÙ¤ò¼èÆÀ¤¹¤ëÊýË¡¤òõ¤¹¤Ë¤Ï¡¢dump¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fBÃí°Õ:\fR +¥í¡¼¥«¥ëÊÑ¿ô¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢´Þ¤ó¤Ç¤¤¤ë¥¯¥é¥¹¤¬\fIjavac \-g\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fIprint\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ê¡¢¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò»ÈÍѤ·¤¿¤â¤Î¤Ê¤É¡¢Â¿¤¯¤Î´Êñ¤ÊJava¼°¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - % jdb \-attach 8000 -.fl -\fP +print MyClass\&.myStaticField +print myObj\&.myInstanceField +print i + j + k (i, j, k are primities and either fields or local variables) +print myObj\&.myMethod() (if myMethod returns a non\-null) +print new java\&.lang\&.String("Hello")\&.length() .fi - -.LP -.LP -¤³¤Î¾ì¹ç¡¢\f3jdb\fP ¤Ï¿·¤·¤¤ VM ¤òµ¯Æ°¤¹¤ëÂå¤ï¤ê¤Ë´û¸¤Î VM ¤ËÀܳ¤µ¤ì¤ë¤¿¤á¡¢\f3jdb\fP ¥³¥Þ¥ó¥É¹Ô¤Ë¤Ï¡ÖMyClass¡×¤Ï»ØÄꤷ¤Þ¤»¤ó¡£ -.LP -.LP -¥Ç¥Ð¥Ã¥¬¤ò VM ¤ËÀܳ¤¹¤ë¤Ë¤Ï¤Û¤«¤Ë¤â¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤¬¤¢¤ê¡¢¤¹¤Ù¤Æ \f3jdb\fP ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Àܳ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java Platform Debugger Architecture ¤Î -.na -\f2¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\f3jdb\fP ¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Ë J2SE 1.4.2 °ÊÁ°¤Î VM ¤òµ¯Æ°¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f21.4.2 ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -´ðËÜ jdb ¥³¥Þ¥ó¥É -.LP -.LP -´ðËÜŪ¤Ê \f3jdb\fP ¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£Java ¥Ç¥Ð¥Ã¥¬¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥³¥Þ¥ó¥É¤Ï¤³¤ì°Ê³°¤Ë¤â¤¢¤ê¡¢¤½¤ì¤é¤Ï \f3jdb\fP ¤Î \f2help\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆÉ½¼¨¤Ç¤­¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -help ¤Þ¤¿¤Ï ? -¤â¤Ã¤È¤â½ÅÍ×¤Ê \f3jdb\fP ¥³¥Þ¥ó¥É \f2help\fP ¤Ï¡¢Ç§¼±¤µ¤ì¤¿¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤Ë´Ê·é¤ÊÀâÌÀ¤òÉÕ¤±¤ÆÉ½¼¨¤·¤Þ¤¹¡£ -.TP 3 -run -\f3jdb\fP ¤òµ¯Æ°¤·¤ÆÉ¬Íפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤¿¤¢¤È¤Ë¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò³«»Ï¤Ç¤­¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢´û¸¤Î VM ¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤È¤Ï°Û¤Ê¤ê¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ \f3jdb\fP ¤«¤éµ¯Æ°¤·¤¿¤È¤­¤Ë¤À¤±»ÈÍѤǤ­¤Þ¤¹¡£ -.TP 3 -cont -¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¡¢Îã³°¡¢¤Þ¤¿¤Ï¥¹¥Æ¥Ã¥×¼Â¹Ô¤Î¤¢¤È¤Ç¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£ -.TP 3 -print -Java ¥ª¥Ö¥¸¥§¥¯¥È¤ª¤è¤Ó¥×¥ê¥ß¥Æ¥£¥ÖÃͤòɽ¼¨¤·¤Þ¤¹¡£¥×¥ê¥ß¥Æ¥£¥Ö·¿¤ÎÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¤Ë¤Ï¡¢¼ÂºÝ¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¡¢Ã»¤¤ÀâÌÀ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê¹ß¤Î \f2dump\fP ¥³¥Þ¥ó¥É¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2Ãí: ¶É½êÊÑ¿ô¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¤½¤ÎÊÑ¿ô¤ò´Þ¤à¥¯¥é¥¹¤¬ \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP ¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f2print\fP ¤Ç¤Ï¡¢¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ò´Þ¤à¿¿ô¤Î´Êñ¤Ê Java ¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2print MyClass.myStaticField\fP -.TP 2 -o -\f2print myObj.myInstanceField\fP -.TP 2 -o -\f2print i + j + k\fP (i¡¢j¡¢¤ª¤è¤Ó k ¤Ï¥×¥ê¥ß¥Æ¥£¥Ö¤Ç¤¢¤ê¡¢¥Õ¥£¡¼¥ë¥É¤Þ¤¿¤Ï¶É½êÊÑ¿ô¤Î¤¤¤º¤ì¤«) -.TP 2 -o -\f2print myObj.myMethod()\fP (myMethod ¤¬ null °Ê³°¤òÊÖ¤¹¾ì¹ç) -.TP 2 -o -\f2print new java.lang.String("Hello").length()\fP +.if n \{\ .RE -.TP 3 -dump -¥×¥ê¥ß¥Æ¥£¥ÖÃͤξì¹ç¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï \f2print\fP ¤ÈƱ¤¸¤Ç¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë³Æ¥Õ¥£¡¼¥ë¥É¤Î¸½ºß¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£static ¥Õ¥£¡¼¥ë¥É¤È instance ¥Õ¥£¡¼¥ë¥É¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -\f2dump\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\f2print\fP ¥³¥Þ¥ó¥É¤ÈƱ¤¸¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£ -.TP 3 -threads -¸½ºß¼Â¹ÔÃæ¤Î¥¹¥ì¥Ã¥É¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤´¤È¤Ë¡¢Ì¾Á°¤È¸½ºß¤Î¾õÂÖ¡¢¤ª¤è¤Ó¤Û¤«¤Î¥³¥Þ¥ó¥É¤Ë»ÈÍѤǤ­¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.\} +.RE +.PP +dump +.RS 4 +¥×¥ê¥ß¥Æ¥£¥ÖÃͤξì¹ç¡¢\fIdump\fR¥³¥Þ¥ó¥É¤Ï\fIprint\fR¥³¥Þ¥ó¥É¤ÈƱ°ì¤Ç¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¡¢\fIdump\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë³Æ¥Õ¥£¡¼¥ë¥É¤Î¸½ºß¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£static¥Õ¥£¡¼¥ë¥É¤Èinstance¥Õ¥£¡¼¥ë¥É¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£\fIdump\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fIprint\fR¥³¥Þ¥ó¥É¤ÈƱ¤¸¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +threads +.RS 4 +¸½ºß¼Â¹ÔÃæ¤Î¥¹¥ì¥Ã¥É¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤´¤È¤Ë¡¢Ì¾Á°¤È¸½ºß¤Î¾õÂÖ¡¢¤ª¤è¤Ó¾¤Î¥³¥Þ¥ó¥É¤Ë»ÈÍѤǤ­¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¡¦¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï4¤Ç¤¢¤ê¡¢¥¹¥ì¥Ã¥É¤Ï\fIjava\&.lang\&.Thread\fR¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¡¢¥¹¥ì¥Ã¥É¤Î̾Á°¤Ï\fImain\fR¤Ç¤¢¤ê¡¢¸½ºß¼Â¹ÔÃæ¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -4. (java.lang.Thread)0x1 main running -.fl -\fP +4\&. (java\&.lang\&.Thread)0x1 main running .fi -¤³¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï 4 ¤Ç¤¢¤ê¡¢¥¹¥ì¥Ã¥É¤Ï java.lang.Thread ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¹¡£¥¹¥ì¥Ã¥É¤Î̾Á°¤Ï¡Ömain¡×¤Ç¤¢¤ê¡¢¸½ºß¼Â¹ÔÃæ¤Ç¤¹¡£ -.TP 3 -thread -¸½ºß¤Î¥¹¥ì¥Ã¥É¤Ë¤¹¤ë¥¹¥ì¥Ã¥É¤òÁªÂò¤·¤Þ¤¹¡£Â¿¤¯¤Î \f3jdb\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤ÎÀßÄê¤Ë´ð¤Å¤¤¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤Ï¡¢\f2threads\fP ¥³¥Þ¥ó¥É¤ÇÀâÌÀ¤·¤¿¥¹¥ì¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -where -\f2°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç\fP where ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£ \f2where all\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¥°¥ë¡¼¥×¤Ë¤¢¤ë¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ò¤¹¤Ù¤Æ¥À¥ó¥×¤·¤Þ¤¹¡£ \f2where\fP \f2threadindex\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤·¤Þ¤¹¡£ -.LP -¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬ (¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤« \f2suspend\fP ¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ) ÃæÃǤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¶É½êÊÑ¿ô¤È¥Õ¥£¡¼¥ë¥É¤Ï \f2print\fP ¥³¥Þ¥ó¥É¤È \f2dump\fP ¥³¥Þ¥ó¥É¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£\f2up\fP ¥³¥Þ¥ó¥É¤È \f2down\fP ¥³¥Þ¥ó¥É¤Ç¡¢¤É¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤ò¥«¥ì¥ó¥È¤Ë¤¹¤ë¤«¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.SS -¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È -.LP -.LP -¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Ï¡¢¹ÔÈÖ¹æ¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤ÎºÇ½é¤ÎÌ¿Îá¤Ç \f3jdb\fP ¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f2stop at MyClass:22\fP (MyClass ¤¬´Þ¤Þ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î 22 ¹ÔÌܤκǽé¤ÎÌ¿Îá¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄê) -.TP 2 -o -\f2stop in java.lang.String.length\fP (\f2java.lang.String.length\fP ¥á¥½¥Ã¥É¤ÎºÇ½é¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄê) -.TP 2 -o -\f2stop in MyClass.<init>\fP (<init> ¤Ï MyClass ¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¼±ÊÌ) -.TP 2 -o -\f2stop in MyClass.<clinit>\fP (<clinit> ¤Ï MyClass ¤ÎÀÅŪ½é´ü²½¥³¡¼¥É¤ò¼±ÊÌ) +.\} .RE - -.LP -.LP -¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥½¥Ã¥É¤Î°ú¿ô¤Î·¿¤â»ØÄꤷ¤Æ¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ËÂФ·¤ÆÅ¬Àڤʥ᥽¥Ã¥É¤¬ÁªÂò¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¡Ö\f2MyClass.myMethod(int,java.lang.String)\fP¡×¤Þ¤¿¤Ï¡Ö\f2MyClass.myMethod()\fP¡×¤È»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f2clear\fP ¥³¥Þ¥ó¥É¤Ï¡¢¡Ö\f2clear\ MyClass:45\fP¡×¤Î¤è¤¦¤Ê¹½Ê¸¤ò»ÈÍѤ·¤Æ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òºï½ü¤·¤Þ¤¹¡£\f2clear\fP ¤ò»ÈÍѤ¹¤ë¤«¡¢°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\f2cont\fP ¥³¥Þ¥ó¥É¤Ï¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£ -.LP -.SS -¥¹¥Æ¥Ã¥×¼Â¹Ô -.LP -.LP -\f2step\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Þ¤¿¤Ï¸Æ¤Ó½Ð¤µ¤ì¤¿¥á¥½¥Ã¥ÉÆâ¤Ç¡¢¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£\f2next\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Î¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.SS -Îã³° -.LP -.LP -¥¹¥í¡¼¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¾å¤Î¤É¤³¤Ë¤â catch ʸ¤¬¤Ê¤¤¾ì¹ç¤ËÎã³°¤¬È¯À¸¤¹¤ë¤È¡¢VM ¤ÏÄ̾Îã³°¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\f3jdb\fP ´Ä¶­¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Îã³°¤¬È¯À¸¤¹¤ë¤È \f3jdb\fP ¤ËÀ©¸æ¤¬Ìá¤ê¤Þ¤¹¡£¼¡¤Ë¡¢\f3jdb\fP ¤ò»ÈÍѤ·¤ÆÎã³°¤Î¸¶°ø¤ò¿ÇÃǤ·¤Þ¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢¡Ö\f2catch java.io.FileNotFoundException\fP¡×¤Þ¤¿¤Ï¡Ö\f2catch mypackage.BigTroubleException\fP¡×¤Î¤è¤¦¤Ë \f2catch\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¤Û¤«¤ÎÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¤È¤­¤ËÄä»ß¤·¤Þ¤¹¡£Îã³°¤¬ÆÃÄê¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Î¾ì¹ç¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì½ê¤ÇÄä»ß¤·¤Þ¤¹¡£ -.LP -.LP -\f2ignore\fP ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢°ÊÁ°¤Î \f2catch\fP ¥³¥Þ¥ó¥É¤Î¸ú²Ì¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\f2Ãí: \fP\f2ignore\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤ë VM ¤ÏÎã³°¤ò̵»ë¤»¤º¡¢¥Ç¥Ð¥Ã¥¬¤À¤±¤¬Îã³°¤ò̵»ë¤·¤Þ¤¹¡£ -.LP -.SH "¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó" -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ÎÂå¤ï¤ê¤Ë \f3jdb\fP ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢\f3jdb\fP ¤Ï¡¢\f2\-D\fP¡¢\f2\-classpath\fP¡¢\f2\-X<option>\fP ¤Ê¤É¡¢java ¥³¥Þ¥ó¥É¤ÈƱ¤¸¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3jdb\fP ¤Ï¡¢¤½¤Î¤Û¤«¤Ë¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-sourcepath <dir1:dir2:...> -»ØÄꤵ¤ì¤¿¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ñ¥¹¤Î¡Ö.¡×¤¬»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-attach <address> -¥Ç¥Õ¥©¥ë¥È¤ÎÀܳµ¡¹½¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ç¤Ë¼Â¹ÔÃæ¤Î VM ¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ¤·¤Þ¤¹¡£ -.TP 3 -\-listen <address> -¼Â¹ÔÃæ¤Î VM ¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤Æ»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£ -.TP 3 -\-listenany -¼Â¹ÔÃæ¤Î VM ¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤ÆÍøÍѲÄǽ¤ÊǤ°Õ¤Î¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£ -.TP 3 -\-launch -¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò jdb ¤Îµ¯Æ°¸å¤¿¤À¤Á¤Ëµ¯Æ°¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢\f2run\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢µ¯Æ°¸å¡¢½é´ü¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ëľÁ°¤ËÄä»ß¤·¤Þ¤¹¡£¤½¤Î»þÅÀ¤Ç¡¢É¬Íפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¡¢\f2cont\fP ¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤ò·Ñ³¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-listconnectors -¤³¤Î VM ¤ÇÍøÍѤǤ­¤ë¥³¥Í¥¯¥¿¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-connect <connector\-name>:<name1>=<value1>,... -°ìÍ÷ɽ¼¨¤µ¤ì¤¿°ú¿ô¤ÎÃͤȻØÄê¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤Æ¥¿¡¼¥²¥Ã¥È VM ¤ËÀܳ¤·¤Þ¤¹¡£ -.TP 3 -\-dbgtrace [flags] -jdb ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-tclient -Java HotSpot(tm) VM (¥¯¥é¥¤¥¢¥ó¥È) Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.TP 3 -\-tserver -Java HotSpot(tm) VM (¥µ¡¼¥Ð¡¼) Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.TP 3 -\-Joption -jdb ¤Î¼Â¹Ô¤Ë»ÈÍѤµ¤ì¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£(¥¢¥×¥ê¥±¡¼¥·¥ç¥ó Java ²¾ÁÛ¥Þ¥·¥ó¤ËÂФ¹¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3run\fP ¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë)¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.PP +thread +.RS 4 +¸½ºß¤Î¥¹¥ì¥Ã¥É¤Ë¤¹¤ë¥¹¥ì¥Ã¥É¤òÁªÂò¤·¤Þ¤¹¡£Â¿¤¯¤Î\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤ÎÀßÄê¤Ë´ð¤Å¤¤¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤Ï¡¢threads¥³¥Þ¥ó¥É¤ÇÀâÌÀ¤·¤¿¥¹¥ì¥Ã¥É¡¦¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£ .RE - -.LP -.LP -¥Ç¥Ð¥Ã¥¬¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦ VM ¤òÀܳ¤¹¤ë¤¿¤á¤ÎÂåÂØµ¡¹½¤ËÂФ·¤Æ¡¢¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤Î¾¤ÎÀܳ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java Platform Debugger Architecture ¤Î -.na -\f2¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -¥Ç¥Ð¥Ã¥°ÂÐ¾Ý¤Î¥×¥í¥»¥¹¤ËžÁ÷¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-v \-verbose[:class|gc|jni] -¾éĹ¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-D<name>=<value> -¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-classpath <directories separated by ":"> -¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-X<option> -Èóɸ½à¥¿¡¼¥²¥Ã¥È VM ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.PP +where +.RS 4 +°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç\fIwhere\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£\fIwhere\fR +\fIall\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¡¦¥°¥ë¡¼¥×¤Ë¤¢¤ë¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ò¤¹¤Ù¤Æ¥À¥ó¥×¤·¤Þ¤¹¡£\fIwhere\fR +\fIthreadindex\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤·¤Þ¤¹¡£ +.sp +¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬(¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤«\fIsuspend\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ)ÃæÃǤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¥Õ¥£¡¼¥ë¥É¤Ï\fIprint\fR¥³¥Þ¥ó¥É¤È\fIdump\fR¥³¥Þ¥ó¥É¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£\fIup\fR¥³¥Þ¥ó¥É¤È\fIdown\fR¥³¥Þ¥ó¥É¤Ç¡¢¤É¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤ò¸½ºß¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Ë¤¹¤ë¤«¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.SS "¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È" +.PP +¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Ï¡¢¹ÔÈÖ¹æ¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤ÎºÇ½é¤ÎÌ¿Îá¤ÇJDB¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥³¥Þ¥ó¥É\fIstop at MyClass:22\fR¤Ï¡¢\fIMyClass\fR¤¬´Þ¤Þ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î22¹ÔÌܤκǽé¤ÎÌ¿Îá¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥³¥Þ¥ó¥É\fIstop in java\&.lang\&.String\&.length\fR¤Ï¡¢¥á¥½¥Ã¥É\fIjava\&.lang\&.String\&.length\fR¤ÎÀèÆ¬¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥³¥Þ¥ó¥É\fIstop in MyClass\&.<clinit>\fR¤Ï¡¢\fI<clinit>\fR¤ò»ÈÍѤ·¤Æ\fIMyClass\fR¤ÎÀÅŪ½é´ü²½¥³¡¼¥É¤òÆÃÄꤷ¤Þ¤¹¡£ +.RE +.PP +¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥½¥Ã¥É¤Î°ú¿ô¤Î·¿¤â»ØÄꤷ¤Æ¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ËÂФ·¤ÆÅ¬Àڤʥ᥽¥Ã¥É¤¬ÁªÂò¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIMyClass\&.myMethod(int,java\&.lang\&.String)\fR¤Þ¤¿¤Ï\fIMyClass\&.myMethod()\fR¤È»ØÄꤷ¤Þ¤¹¡£ +.PP +\fIclear\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIclear MyClass:45\fR¤Î¤è¤¦¤Ê¹½Ê¸¤ò»ÈÍѤ·¤Æ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òºï½ü¤·¤Þ¤¹¡£\fIclear\fR¤ò»ÈÍѤ¹¤ë¤«¡¢°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç\fIstop\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\fIcont\fR¥³¥Þ¥ó¥É¤Ï¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£ +.SS "¥¹¥Æ¥Ã¥×¼Â¹Ô" +.PP +\fIstep\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Þ¤¿¤Ï¸Æ¤Ó½Ð¤µ¤ì¤¿¥á¥½¥Ã¥ÉÆâ¤Ç¡¢¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£\fInext\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Î¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.SS "Îã³°" +.PP +¥¹¥í¡¼¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Î¸Æ½Ð¤·¥¹¥¿¥Ã¥¯¾å¤Î¤É¤³¤Ë¤â\fIcatch\fRʸ¤¬¤Ê¤¤¾ì¹ç¤ËÎã³°¤¬È¯À¸¤¹¤ë¤È¡¢JVM¤ÏÄ̾Îã³°¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£¤¿¤À¤·¡¢JDB´Ä¶­¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°ãÈ¿¤Î¥¹¥í¡¼»þ¤ËJDB¤ËÀ©¸æ¤¬Ìá¤ê¤Þ¤¹¡£¼¡¤Ë¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆÎã³°¤Î¸¶°ø¤ò¿ÇÃǤ·¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢\fIcatch java\&.io\&.FileNotFoundException\fR¤Þ¤¿¤Ï\fIcatch\fR +\fImypackage\&.BigTroubleException\fR¤Î¤è¤¦¤Ë\fIcatch\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Â¾¤ÎÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¤È¤­¤ËÄä»ß¤·¤Þ¤¹¡£Îã³°¤¬ÆÃÄê¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Î¾ì¹ç¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¾ì½ê¤ÇÄä»ß¤·¤Þ¤¹¡£ +.PP +\fIignore\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢°ÊÁ°¤Î\fIcatch\fR¥³¥Þ¥ó¥É¤Î¸ú²Ì¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£\fIignore\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤ëJVM¤ÏÆÃÄê¤ÎÎã³°¤ò̵»ë¤»¤º¡¢¥Ç¥Ð¥Ã¥¬¤Î¤ß¤ò̵»ë¤·¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjava\fR¥³¥Þ¥ó¥É¤Î¤«¤ï¤ê¤Ë\fIjdb\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢\fI\-D\fR¡¢\fI\-classpath\fR¡¢\fI\-X\fR¤Ê¤É¡¢\fIjava\fR¥³¥Þ¥ó¥É¤ÈƱ¤¸¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£\fIjdb\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î¾¤Ë¼¡¤Î¥ê¥¹¥È¤Ë¤¢¤ë¥ª¥×¥·¥ç¥ó¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£ +.PP +¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦JVM¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ¤¹¤ë¤¿¤á¤ÎÂåÂØµ¡¹½¤òÄ󶡤¹¤ë¤¿¤á¤Ë¡¢¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÀܳ¤ÎÂåÂØ¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¥É¥­¥å¥á¥ó¥È¤Ï¡¢Java Platform Debugger Architecture (JPDA) +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jpda/index\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-sourcepath \fIdir1:dir2: \&. \&. \&.\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¡¢¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥Ñ¥¹¤Î¥É¥Ã¥È(\&.)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-attach \fIaddress\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤ÎÀܳµ¡¹½¤ò»ÈÍѤ·¤Æ¡¢¼Â¹ÔÃæ¤ÎJVM¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ¤·¤Þ¤¹¡£ +.RE +.PP +\-listen \fIaddress\fR +.RS 4 +¼Â¹ÔÃæ¤ÎJVM¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»ÈÍѤ·¤Æ»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£ +.RE +.PP +\-launch +.RS 4 +¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òJDB¤Îµ¯Æ°¸å¤¿¤À¤Á¤Ëµ¯Æ°¤·¤Þ¤¹¡£\fI\-launch\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢\fIrun\fR¥³¥Þ¥ó¥É¤¬É¬Íפʤ¯¤Ê¤ê¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢µ¯Æ°¸å¡¢½é´ü¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ëľÁ°¤ËÄä»ß¤·¤Þ¤¹¡£¤½¤Î»þÅÀ¤Ç¡¢É¬Íפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¡¢\fIcont\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤ò·Ñ³¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-listconnectors +.RS 4 +¤³¤ÎJVM¤ÇÍøÍѤǤ­¤ë¥³¥Í¥¯¥¿¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-connect connector\-name:\fIname1=value1\fR +.RS 4 +°ìÍ÷ɽ¼¨¤µ¤ì¤¿°ú¿ô¤ÎÃͤȻØÄê¤Î¥³¥Í¥¯¥¿¤ò»ÈÍѤ·¤Æ¥¿¡¼¥²¥Ã¥ÈJVM¤ËÀܳ¤·¤Þ¤¹¡£ +.RE +.PP +\-dbgtrace [\fIflags\fR] +.RS 4 +\fIjdb\fR¥³¥Þ¥ó¥É¤Î¥Ç¥Ð¥Ã¥°¤Î¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-tclient +.RS 4 +Java HotSpot VM¥¯¥é¥¤¥¢¥ó¥ÈÆâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-tserver +.RS 4 +Java HotSpot VM¥µ¡¼¥Ð¡¼Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +JVM¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥Ç¥Ð¥Ã¥°ÂÐ¾Ý¤Î¥×¥í¥»¥¹¤ËžÁ÷¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó" +.PP +\-v \-verbose[:\fIclass\fR|gc|jni] +.RS 4 +¾éĹ¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-D\fIname\fR=\fIvalue\fR +.RS 4 +¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-classpath \fIdir\fR +.RS 4 +¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤¿¤á¤Î¡¢¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¡£ +.RE +.PP +\-X\fIoption\fR +.RS 4 +Èóɸ½à¥¿¡¼¥²¥Ã¥ÈJVM¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -javac(1)¡¢java(1)¡¢javah(1)¡¢javap(1)¡¢javadoc(1) -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javah(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javap(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jdeps.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jdeps.1 new file mode 100644 index 00000000000..9ab6f666e0c --- /dev/null +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jdeps.1 @@ -0,0 +1,367 @@ +'\" t +.\" Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jdeps +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jdeps" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jdeps \- Java¥¯¥é¥¹°Í¸À­¥¢¥Ê¥é¥¤¥¶¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjdeps\fR [\fIoptions\fR] \fIclasses\fR \&.\&.\&. +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclasses\fR +.RS 4 +ʬÀϤ¹¤ë¥¯¥é¥¹¤Î̾Á°¡£¥¯¥é¥¹¡¦¥Ñ¥¹¤Ç¸¡½Ð¤Ç¤­¤ë¥¯¥é¥¹¤ò¡¢¥Õ¥¡¥¤¥ë̾¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjdeps\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤Þ¤¿¤Ï¥¯¥é¥¹¥ì¥Ù¥ë¤Î°Í¸À­¤ò¼¨¤·¤Þ¤¹¡£ÆþÎÏ¥¯¥é¥¹¤Ë¤Ï¡¢\fI\&.class\fR¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹Ì¾¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òʬÀϤ¹¤ë¤¿¤á¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê½ÐÎϤ¬·èÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjdeps\fR¤Ï¥·¥¹¥Æ¥à½ÐÎϤ˰͸´Ø·¸¤ò½ÐÎϤ·¤Þ¤¹¡£DOT¸À¸ì¤Ç°Í¸´Ø·¸¤òÀ¸À®¤Ç¤­¤Þ¤¹(\fI\-dotoutput\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È)¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-dotoutput <\fIdir\fR> +.RS 4 +DOT¥Õ¥¡¥¤¥ë½ÐÎϤΰ¸Àè¥Ç¥£¥ì¥¯¥È¥ê¡£»ØÄꤷ¤¿¾ì¹ç¤Ï\fIjdeps\fR¤Ï<\fIarchive\-file\-name\fR>\&.dot¤È¤¤¤¦Ì¾Á°¤ÎʬÀϺѤߥ¢¡¼¥«¥¤¥Ö¤´¤È¤Ë°Í¸´Ø·¸¤ò¥ê¥¹¥È¤¹¤ë1¤Ä¤Îdot¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¡¢¥¢¡¼¥«¥¤¥Ö´Ö¤Î°Í¸´Ø·¸¤ò¥ê¥¹¥È¤¹¤ësummary\&.dot¤È¤¤¤¦Ì¾Á°¤Î¥µ¥Þ¥ê¡¼¡¦¥Õ¥¡¥¤¥ë¤âÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-s, \-summary +.RS 4 +°Í¸´Ø·¸¤Î¥µ¥Þ¥ê¡¼¤Î¤ß¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-v, \-verbose +.RS 4 +¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥ì¥Ù¥ë¤Î°Í¸´Ø·¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-verbose:package +.RS 4 +Ʊ¤¸¥¢¡¼¥«¥¤¥ÖÆâ¤Î°Í¸´Ø·¸¤ò½ü¤­¡¢¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤Î°Í¸´Ø·¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-verbose:class +.RS 4 +Ʊ¤¸¥¢¡¼¥«¥¤¥ÖÆâ¤Î°Í¸´Ø·¸¤ò½ü¤­¡¢¥¯¥é¥¹¥ì¥Ù¥ë¤Î°Í¸´Ø·¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-cp <\fIpath\fR>, \-classpath <\fIpath\fR> +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +Setting the Class Path ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-p <\fIpkg name\fR>, \-package <\fIpkg name\fR> +.RS 4 +»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î°Í¸´Ø·¸¤ò¸¡½Ð¤·¤Þ¤¹¡£°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô²ó»ØÄê¤Ç¤­¤Þ¤¹¡£\fI\-p\fR¥ª¥×¥·¥ç¥ó¤È\fI\-e\fR¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +\-e <\fIregex\fR>, \-regex <\fIregex\fR> +.RS 4 +»ØÄꤷ¤¿Àµµ¬É½¸½¥Ñ¥¿¡¼¥ó¤È°ìÃפ¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î°Í¸´Ø·¸¤ò¸¡½Ð¤·¤Þ¤¹¡£\fI\-p\fR¥ª¥×¥·¥ç¥ó¤È\fI\-e\fR¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +\-include <\fIregex\fR> +.RS 4 +ʬÀϤò¥Ñ¥¿¡¼¥ó¤Ë°ìÃפ¹¤ë¥¯¥é¥¹¤ËÀ©¸Â¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Ê¬ÀϤ¹¤ë¥¯¥é¥¹¤Î¥ê¥¹¥È¤ò¥Õ¥£¥ë¥¿¤·¤Þ¤¹¡£°Í¸´Ø·¸¤Ë¥Ñ¥¿¡¼¥ó¤òŬÍѤ¹¤ë\fI\-p\fR¤ª¤è¤Ó\fI\-e\fR¤È¤È¤â¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-jdkinternals +.RS 4 +JDK¤ÎÆâÉôAPI¤Î¥¯¥é¥¹¥ì¥Ù¥ë¤Î°Í¸´Ø·¸¤ò¸¡½Ð¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fI\-include\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤«¤®¤ê¡¢\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤ÓÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤òʬÀϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-p\fR¥ª¥×¥·¥ç¥ó¡¢\fI\-e\fR¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó\fI\-s\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤǤ­¤Þ¤»¤ó¡£ +.sp +\fB·Ù¹ð\fR: JDK¤ÎÆâÉôAPI¤Ï¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-P, \-profile +.RS 4 +¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¥×¥í¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-apionly +.RS 4 +¥Õ¥£¡¼¥ë¥É¡¦¥¿¥¤¥×¡¢¥á¥½¥Ã¥É¡¦¥Ñ¥é¥á¡¼¥¿¡¦¥¿¥¤¥×¡¢Ìá¤ê¥¿¥¤¥×¡¢¥Á¥§¥Ã¥¯¤µ¤ì¤¿Îã³°¥¿¥¤¥×¤ò´Þ¤à¥Ñ¥Ö¥ê¥Ã¥¯¡¦¥¯¥é¥¹¤Î\fIpublic\fR¤ª¤è¤Ó\fIprotected\fR¥á¥ó¥Ð¡¼¤Î½ð̾¤«¤é¤Î°Í¸´Ø·¸¤Ê¤É¡¢Ê¬ÀϤòAPI¤ËÀ©¸Â¤·¤Þ¤¹¡£ +.RE +.PP +\-R, \-recursive +.RS 4 +¤¹¤Ù¤Æ¤Î°Í¸´Ø·¸¤òºÆµ¢Åª¤ËÁöºº¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-h, \-?, \-help +.RS 4 +\fIjdeps\fR¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.SH "Îã" +.PP +Notepad\&.jar¤Î°Í¸´Ø·¸¤ÎʬÀÏ¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps demo/jfc/Notepad/Notepad\&.jar + +demo/jfc/Notepad/Notepad\&.jar \-> /usr/java/jre/lib/rt\&.jar + <unnamed> (Notepad\&.jar) + \-> java\&.awt + \-> java\&.awt\&.event + \-> java\&.beans + \-> java\&.io + \-> java\&.lang + \-> java\&.net + \-> java\&.util + \-> java\&.util\&.logging + \-> javax\&.swing + \-> javax\&.swing\&.border + \-> javax\&.swing\&.event + \-> javax\&.swing\&.text + \-> javax\&.swing\&.tree + \-> javax\&.swing\&.undo +.fi +.if n \{\ +.RE +.\} +.PP +\-P¤Þ¤¿¤Ï\-profile¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥á¥âÄ¢¤¬°Í¸¤¹¤ë¥×¥í¥Õ¥¡¥¤¥ë¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-profile demo/jfc/Notepad/Notepad\&.jar +demo/jfc/Notepad/Notepad\&.jar \-> /usr/java/jre/lib/rt\&.jar (Full JRE) + <unnamed> (Notepad\&.jar) + \-> java\&.awt Full JRE + \-> java\&.awt\&.event Full JRE + \-> java\&.beans Full JRE + \-> java\&.io compact1 + \-> java\&.lang compact1 + \-> java\&.net compact1 + \-> java\&.util compact1 + \-> java\&.util\&.logging compact1 + \-> javax\&.swing Full JRE + \-> javax\&.swing\&.border Full JRE + \-> javax\&.swing\&.event Full JRE + \-> javax\&.swing\&.text Full JRE + \-> javax\&.swing\&.tree Full JRE + \-> javax\&.swing\&.undo Full JRE +.fi +.if n \{\ +.RE +.\} +.PP +tools\&.jar¥Õ¥¡¥¤¥ëÆâ¤Î\fIcom\&.sun\&.tools\&.jdeps\&.Main\fR¥¯¥é¥¹¤Ê¤É¡¢ÆÃÄê¤Î¥¯¥é¥¹¥Ñ¥¹Æâ¤ÎÆÃÄê¤Î¥¯¥é¥¹¤ÎľÀܰ͸´Ø·¸¤ÎʬÀÏ¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main +lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar + com\&.sun\&.tools\&.jdeps (tools\&.jar) + \-> java\&.io + \-> java\&.lang +.fi +.if n \{\ +.RE +.\} +.PP +\fI\-verbose:class\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹¥ì¥Ù¥ë°Í¸´Ø·¸¤ò¸¡º÷¤¹¤ë¤«\fI\-v\fR¤Þ¤¿¤Ï\fI\-verbose\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÆ±¤¸JAR¥Õ¥¡¥¤¥ë¤«¤é¤Î°Í¸´Ø·¸¤ò´Þ¤á¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-verbose:class \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main + +lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar + com\&.sun\&.tools\&.jdeps\&.Main (tools\&.jar) + \-> java\&.io\&.PrintWriter + \-> java\&.lang\&.Exception + \-> java\&.lang\&.Object + \-> java\&.lang\&.String + \-> java\&.lang\&.System +.fi +.if n \{\ +.RE +.\} +.PP +\fI\-R\fR¤Þ¤¿¤Ï\fI\-recursive\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\fIcom\&.sun\&.tools\&.jdeps\&.Main\fR¥¯¥é¥¹¤Î¿ä°ÜŪ¤Ê°Í¸´Ø·¸¤òʬÀϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-R \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main +lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar + com\&.sun\&.tools\&.classfile (tools\&.jar) + \-> java\&.io + \-> java\&.lang + \-> java\&.lang\&.reflect + \-> java\&.nio\&.charset + \-> java\&.nio\&.file + \-> java\&.util + \-> java\&.util\&.regex + com\&.sun\&.tools\&.jdeps (tools\&.jar) + \-> java\&.io + \-> java\&.lang + \-> java\&.nio\&.file + \-> java\&.nio\&.file\&.attribute + \-> java\&.text + \-> java\&.util + \-> java\&.util\&.jar + \-> java\&.util\&.regex + \-> java\&.util\&.zip +/usr/java/jre/lib/jce\&.jar \-> /usr/java/jre/lib/rt\&.jar + javax\&.crypto (jce\&.jar) + \-> java\&.io + \-> java\&.lang + \-> java\&.lang\&.reflect + \-> java\&.net + \-> java\&.nio + \-> java\&.security + \-> java\&.security\&.cert + \-> java\&.security\&.spec + \-> java\&.util + \-> java\&.util\&.concurrent + \-> java\&.util\&.jar + \-> java\&.util\&.regex + \-> java\&.util\&.zip + \-> javax\&.security\&.auth + \-> sun\&.security\&.jca JDK internal API (rt\&.jar) + \-> sun\&.security\&.util JDK internal API (rt\&.jar) + javax\&.crypto\&.spec (jce\&.jar) + \-> java\&.lang + \-> java\&.security\&.spec + \-> java\&.util +/usr/java/jre/lib/rt\&.jar \-> /usr/java/jre/lib/jce\&.jar + java\&.security (rt\&.jar) + \-> javax\&.crypto +.fi +.if n \{\ +.RE +.\} +.PP +¥á¥âÄ¢¥Ç¥â¤Î°Í¸´Ø·¸¤Îdot¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ jdeps \-dotoutput dot demo/jfc/Notepad/Notepad\&.jar +.fi +.if n \{\ +.RE +.\} +.PP +\fIjdeps\fR¤Ï¡¢\fI\-dotoutput\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿dot¥Ç¥£¥ì¥¯¥È¥ê¤Ë<\fIfilename\fR>\&.dot¤È¤¤¤¦Ì¾Á°¤Îdot¥Õ¥¡¥¤¥ë¤òÆÃÄê¤ÎJAR¥Õ¥¡¥¤¥ë¤´¤È¤ËºîÀ®¤·¡¢JAR¥Õ¥¡¥¤¥ë´Ö¤Î°Í¸´Ø·¸¤ò¥ê¥¹¥È¤¹¤ësummary\&.dot¤È¤¤¤¦Ì¾Á°¤Î¥µ¥Þ¥ê¡¼¡¦¥Õ¥¡¥¤¥ë¤âºîÀ®¤·¤Þ¤¹ +.sp +.if n \{\ +.RS 4 +.\} +.nf +$ cat dot/Notepad\&.jar\&.dot +digraph "Notepad\&.jar" { + // Path: demo/jfc/Notepad/Notepad\&.jar + "<unnamed>" \-> "java\&.awt"; + "<unnamed>" \-> "java\&.awt\&.event"; + "<unnamed>" \-> "java\&.beans"; + "<unnamed>" \-> "java\&.io"; + "<unnamed>" \-> "java\&.lang"; + "<unnamed>" \-> "java\&.net"; + "<unnamed>" \-> "java\&.util"; + "<unnamed>" \-> "java\&.util\&.logging"; + "<unnamed>" \-> "javax\&.swing"; + "<unnamed>" \-> "javax\&.swing\&.border"; + "<unnamed>" \-> "javax\&.swing\&.event"; + "<unnamed>" \-> "javax\&.swing\&.text"; + "<unnamed>" \-> "javax\&.swing\&.tree"; + "<unnamed>" \-> "javax\&.swing\&.undo"; +} + +$ cat dot/summary\&.dot +digraph "summary" { + "Notepad\&.jar" \-> "rt\&.jar"; +} +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javap(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 index 666b25229d2..63415d9a6da 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 @@ -1,159 +1,214 @@ -." Copyright (c) 2006, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jhat 1 "07 May 2011" - -.LP -.SH "̾Á°" -jhat \- Java ¥Ò¡¼¥×²òÀϥġ¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jhat +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jhat" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jhat \- Java¥Ò¡¼¥×¤òʬÀϤ·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jhat\fP [ \f2options\fP ] <heap\-dump\-file> -.fl - -.fl +\fIjhat\fR [ \fIoptions\fR ] \fIheap\-dump\-file\fR .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -heap\-dump\-file -¥Ö¥é¥¦¥ºÂоݤȤʤë Java ¥Ð¥¤¥Ê¥ê¥Ò¡¼¥×¥À¥ó¥×¥Õ¥¡¥¤¥ë¡£Ê£¿ô¤Î¥Ò¡¼¥×¥À¥ó¥×¤ò´Þ¤à¥À¥ó¥×¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢¡Öfoo.hprof#3¡×¤Î¤è¤¦¤Ë¥Õ¥¡¥¤¥ë̾¤Î¸å¤Ë¡Ö#<number>¡×¤òÉղ乤뤳¤È¤Ç¡¢¥Õ¥¡¥¤¥ëÆâ¤ÎÆÃÄê¤Î¥À¥ó¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIheap\-dump\-file\fR +.RS 4 +¥Ö¥é¥¦¥ºÂоݤȤʤëJava¥Ð¥¤¥Ê¥ê¡¦¥Ò¡¼¥×¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¡£Ê£¿ô¤Î¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò´Þ¤à¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢\fImyfile\&.hprof#3\fR¤Î¤è¤¦¤Ë¥Õ¥¡¥¤¥ë̾¤Î¸å¤Ë\fI#<number>\fR¤òÉղ乤뤳¤È¤Ç¡¢¥Õ¥¡¥¤¥ëÆâ¤ÎÆÃÄê¤Î¥À¥ó¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jhat\fP ¥³¥Þ¥ó¥É¤Ï¡¢java ¥Ò¡¼¥×¥À¥ó¥×¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¡¢Web ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£jhat ¤ò»È¤¨¤Ð¡¢¤ª¹¥¤ß¤Î Web ¥Ö¥é¥¦¥¶¤ò»È¤Ã¤Æ¥Ò¡¼¥×¥À¥ó¥×¤ò¥Ö¥é¥¦¥º¤Ç¤­¤Þ¤¹¡£jhat ¤Ï¡¢¡Ö¤¢¤ë´ûÃΤΥ¯¥é¥¹¡ÖFoo¡×¤Î¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òɽ¼¨¤¹¤ë¡×¤È¤¤¤Ã¤¿¡¢»öÁ°¤ËÀ߷פµ¤ì¤¿¥¯¥¨¥ê¤Î¤Û¤«¡¢\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) ¤â¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£OQL ¤Î¥Ø¥ë¥×¤Ë¤Ï¡¢jhat ¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë OQL ¥Ø¥ë¥×¥Ú¡¼¥¸¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢OQL ¤Î¥Ø¥ë¥×¤Ï http://localhost:7000/oqlhelp/ ¤ÇÍøÍѲÄǽ¤Ç¤¹¡£ -.LP -.LP -Java ¤Î¥Ò¡¼¥×¥À¥ó¥×¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -jmap(1) ¤Î \-dump ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤ò¼èÆÀ¤¹¤ë¡£ -.TP 2 -o -jconsole(1) ¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ -.na -\f2HotSpotDiagnosticMXBean\fP @ -.fi -http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html ·Ðͳ¤Ç¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤ò¼èÆÀ¤¹¤ë¡£ -.TP 2 -o -\-XX:+HeapDumpOnOutOfMemoryError VM ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢OutOfMemoryError ¤Î¥¹¥í¡¼»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤¬À¸À®¤µ¤ì¤ë¡£ -.TP 2 -o -.na -\f2hprof\fP @ -.fi -http://java.sun.com/developer/technicalArticles/Programming/HPROF.html ¤ò»ÈÍѤ¹¤ë¡£ +.PP +\fIjhat\fR¥³¥Þ¥ó¥É¤ÏJava¥Ò¡¼¥×¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¡¢Web¥µ¡¼¥Ð¡¼¤ò³«»Ï¤·¤Þ¤¹¡£\fIjhat\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¤ªµ¤¤ËÆþ¤ê¤Î¥Ö¥é¥¦¥¶¤Ç¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò»²¾È¤Ç¤­¤Þ¤¹¡£\fIjhat\fR¥³¥Þ¥ó¥É¤Ï¡¢´ûÃΤΥ¯¥é¥¹\fIMyClass\fR¤Î¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òɽ¼¨¤¹¤ë¤Ê¤É¤Î»öÁ°À߷׺ѤÎÌä¹ç¤»¤äObject Query Language (OQL)¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¥Ò¡¼¥×¡¦¥À¥ó¥×¤ÎÌä¹ç¤»¤ò½ü¤­¡¢OQL¤ÏSQL¤Ë»÷¤Æ¤¤¤Þ¤¹¡£OQL¤Î¥Ø¥ë¥×¤Ë¤Ï¡¢\fIjhat\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ëOQL¥Ø¥ë¥×¡¦¥Ú¡¼¥¸¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢OQL¤Î¥Ø¥ë¥×¤Ïhttp://localhost:7000/oqlhelp/¤ÇÍøÍѲÄǽ¤Ç¤¹¡£ +.PP +Java¤Î¥Ò¡¼¥×¡¦¥À¥ó¥×¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIjmap \-dump\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò¼èÆÀ¤·¤Þ¤¹¡£jmap(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIjconsole\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ\fIHotSpotDiagnosticMXBean\fR·Ðͳ¤Ç¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò¼èÆÀ¤·¤Þ¤¹¡£jconsole(1)¤ª¤è¤Ó\fIHotSpotDiagnosticMXBean\fR¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÀâÌÀ( +http://docs\&.oracle\&.com/javase/8/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ò¡¼¥×¡¦¥À¥ó¥×¤Ï¡¢\fI\-XX:+HeapDumpOnOutOfMemoryError\fR +Java²¾ÁÛ¥Þ¥·¥ó(JVM)¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢\fIOutOfMemoryError\fR¤¬¥¹¥í¡¼¤µ¤ì¤¿¤È¤­¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIhprof\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£HPROF: Heap/CPU¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¦¥Ä¡¼¥ë +(http://docs\&.oracle\&.com/javase/8/docs/technotes/samples/hprof\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ .RE - -.LP -.LP -\f3Ãí:\fP ¤³¤Î¥Ä¡¼¥ë¤Ï\f3»î¸³Åª¤Ê¤â¤Î\fP¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï\f3ÍøÍѤǤ­¤Ê¤¯¤Ê¤ë\fP²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-stack false/true -¥ª¥Ö¥¸¥§¥¯¥È³ä¤êÅö¤Æ¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ò¡¼¥×¥À¥ó¥×Æâ¤Ç³ä¤êÅö¤Æ¥µ¥¤¥È¾ðÊ󤬻ÈÍѤǤ­¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥Õ¥é¥°¤ò false ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï true ¤Ç¤¹¡£ -.TP 3 -\-refs false/true -¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï true ¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ò¡¼¥×Æâ¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢¥Ð¥Ã¥¯¥Ý¥¤¥ó¥¿ (»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ý¥¤¥ó¥È¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¡£»²¾È¼Ô¤Þ¤¿¤Ï¼õ¿®»²¾È¤È¤â¸Æ¤Ð¤ì¤ë) ¤¬·×»»¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-port port\-number -jhat ¤Î HTTP ¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥È¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï 7000 ¤Ç¤¹¡£ -.TP 3 -\-exclude exclude\-file -¡ÖÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¡×¤Î¥¯¥¨¥ê¤«¤é½ü³°¤¹¤Ù¤­¥Ç¡¼¥¿¥á¥ó¥Ð¡¼¤Î°ìÍ÷¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë \f2java.lang.String.value\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢ÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯¥È¡Öo¡×¤«¤éÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤ò·×»»¤¹¤ëºÝ¤Ë¡¢\f2java.lang.String.value\fP ¥Õ¥£¡¼¥ë¥É¤Ë´ØÏ¢¤¹¤ë»²¾È¥Ñ¥¹¤¬¹Í褵¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-baseline baseline\-dump\-file -¥Ù¡¼¥¹¥é¥¤¥ó¤È¤Ê¤ë¥Ò¡¼¥×¥À¥ó¥×¤ò»ØÄꤷ¤Þ¤¹¡£Î¾Êý¤Î¥Ò¡¼¥×¥À¥ó¥×Æâ¤ÇƱ¤¸¥ª¥Ö¥¸¥§¥¯¥È ID ¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡Ö¿·µ¬¤Ç¤Ï¤Ê¤¤¡×¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤½¤Î¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡Ö¿·µ¬¡×¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢°Û¤Ê¤ë 2 ¤Ä¤Î¥Ò¡¼¥×¥À¥ó¥×¤òÈæ³Ó¤¹¤ëºÝ¤ËÌòΩ¤Á¤Þ¤¹¡£ -.TP 3 -\-debug int -¤³¤Î¥Ä¡¼¥ë¤Î¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤òÀßÄꤷ¤Þ¤¹¡£0 ¤Ï¡Ö¥Ç¥Ð¥Ã¥°½ÐÎϤʤ·¡×¤ò°ÕÌ£¤·¤Þ¤¹¡£¤è¤êÂ礭¤ÊÃͤòÀßÄꤹ¤ë¤È¡¢¤è¤ê¾éĹ¤Ê¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊó¹ð¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-h -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-J<flag> -jhat ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢512M ¥Ð¥¤¥È¤ÎºÇÂç¥Ò¡¼¥×¥µ¥¤¥º¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\-J\-Xmx512m ¤È¤·¤Þ¤¹¡£ +.PP +\-stack false|true +.RS 4 +¥ª¥Ö¥¸¥§¥¯¥È³äÅö¸Æ½Ð¤·¥¹¥¿¥Ã¥¯¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ò¡¼¥×¡¦¥À¥ó¥×Æâ¤Ç³äÅö¥µ¥¤¥È¾ðÊ󤬻ÈÍѤǤ­¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥Õ¥é¥°¤ò\fIfalse\fR¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï\fItrue\fR¤Ç¤¹¡£ +.RE +.PP +\-refs false|true +.RS 4 +¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï\fItrue\fR¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ò¡¼¥×Æâ¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢¥Ð¥Ã¥¯¥Ý¥¤¥ó¥¿(»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ý¥¤¥ó¥È¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¡£»²¾È¼Ô¤Þ¤¿¤Ï¼õ¿®»²¾È¤È¤â¸Æ¤Ð¤ì¤ë)¤¬·×»»¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-port \fIport\-number\fR +.RS 4 +\fIjhat\fR¤ÎHTTP¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥È¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï7000¤Ç¤¹¡£ +.RE +.PP +\-exclude \fIexclude\-file\fR +.RS 4 +Åþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ÎÌä¹ç¤»¤«¤é½ü³°¤¹¤ëɬÍפ¬¤¢¤ë¥Ç¡¼¥¿¡¦¥á¥ó¥Ð¡¼¤Î°ìÍ÷¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë\fIjava\&.lang\&.String\&.value\fR¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢ÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯¥È\fIo\fR¤«¤éÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤ò·×»»¤¹¤ëºÝ¤Ë¡¢\fIjava\&.lang\&.String\&.value\fR¥Õ¥£¡¼¥ë¥É¤Ë´ØÏ¢¤¹¤ë»²¾È¥Ñ¥¹¤¬¹Í褵¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-baseline \fIexclude\-file\fR +.RS 4 +¥Ù¡¼¥¹¥é¥¤¥ó¤È¤Ê¤ë¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò»ØÄꤷ¤Þ¤¹¡£Î¾Êý¤Î¥Ò¡¼¥×¡¦¥À¥ó¥×Æâ¤ÇƱ¤¸¥ª¥Ö¥¸¥§¥¯¥ÈID¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤Ï¿·µ¬¤Ç¤Ï¤Ê¤¤¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¿·µ¬¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢°Û¤Ê¤ë2¤Ä¤Î¥Ò¡¼¥×¡¦¥À¥ó¥×¤òÈæ³Ó¤¹¤ëºÝ¤ËÌòΩ¤Á¤Þ¤¹¡£ +.RE +.PP +\-debug \fIint\fR +.RS 4 +¤³¤Î¥Ä¡¼¥ë¤Î¥Ç¥Ð¥Ã¥°¡¦¥ì¥Ù¥ë¤òÀßÄꤷ¤Þ¤¹¡£¥ì¥Ù¥ë0¤Ï¥Ç¥Ð¥Ã¥°½ÐÎϤ¬¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤è¤êÂ礭¤ÊÃͤòÀßÄꤹ¤ë¤È¡¢¤è¤ê¾éĹ¤Ê¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹ÈÖ¹æ¤ò¥ì¥Ý¡¼¥È¤·¤Æ½ªÎ»¤·¤Þ¤¹ +.RE +.PP +\-h +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIjhat\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ëJava²¾ÁÛ¥Þ¥·¥ó¤Ë\fIflag\fR¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢512M¥Ð¥¤¥È¤ÎºÇÂç¥Ò¡¼¥×¡¦¥µ¥¤¥º¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\fI\-J\-Xmx512m\fR¤È¤·¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jmap(1) -.TP 2 -o -jconsole(1) -.TP 2 -o -.na -\f2hprof \- ¥Ò¡¼¥×¤ª¤è¤Ó CPU ¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥Ä¡¼¥ë\fP @ -.fi -http://java.sun.com/developer/technicalArticles/Programming/HPROF.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jmap(1) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jconsole(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +HPROF: Heap/CPU¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¦¥Ä¡¼¥ë +(http://docs\&.oracle\&.com/javase/8/docs/technotes/samples/hprof\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 index a1f639cfda9..f4e7ae9c4ec 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 @@ -1,166 +1,186 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jinfo 1 "07 May 2011" - -.LP -.SH "̾Á°" -jinfo \- ¹½À®¾ðÊó -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jinfo +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jinfo" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jinfo \- ¹½À®¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jinfo\fP [ option ] pid -.fl -\f3jinfo\fP [ option ] executable core -.fl -\f3jinfo\fP [ option ] [server\-id@]remote\-hostname\-or\-IP -.fl +\fIjinfo\fR [ \fIoption\fR ] \fIpid\fR .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -option -³Æ¥ª¥×¥·¥ç¥ó¤Ï¸ß¤¤¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -pid -½ÐÎϤ¹¤ë¹½À®¾ðÊó¤Î¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1) ¤ò»ÈÍѤ·¤Þ¤¹¡£ +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjinfo\fR [ \fIoption \fR] \fIexecutable core\fR +.fi +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -executable -¥³¥¢¥À¥ó¥×¤ÎºîÀ®¸µ¤Î Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjinfo\fR [ \fIoption \fR] \fI[ servier\-id ] remote\-hostname\-or\-IP\fR +.fi +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -core -½ÐÎϤ¹¤ë¹½À®¾ðÊó¤Î¥³¥¢¥Õ¥¡¥¤¥ë¡£ +.\} +.PP +\fI¥ª¥×¥·¥ç¥ó\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.RS 3 -.TP 3 -remote\-hostname\-or\-IP -¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼ (jsadebugd(1) ¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£ +.PP +\fIpid\fR +.RS 4 +¹½À®¾ðÊ󤬽ÐÎϤµ¤ì¤ë¥×¥í¥»¥¹ID¡£¥×¥í¥»¥¹¤ÏJava¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëJava¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -server\-id -Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤Î ID ¤Ç¤¹¡£ +.PP +\fI¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë\fR +.RS 4 +¥³¥¢¡¦¥À¥ó¥×¤ÎºîÀ®¸µ¤ÎJava¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fI¥³¥¢\fR +.RS 4 +¹½À®¾ðÊ󤬽ÐÎϤµ¤ì¤ë¥³¥¢¡¦¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fIremote\-hostname\-or\-IP\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î\fI¥Û¥¹¥È̾\fR¤Þ¤¿¤Ï\fIIP\fR¥¢¥É¥ì¥¹¡£jsadebugd(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIserver\-id\fR +.RS 4 +Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤ÎID¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jinfo\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ¥×¥í¥»¥¹¤ä¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Î Java ¹½À®¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¹½À®¾ðÊó¤Ï¡¢Java ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤È Java ²¾ÁÛ¥Þ¥·¥ó¤Î¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.br -jinfo \-J\-d64 \-sysprops pid -.LP -.LP -\f3Ãí \- ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng.dll ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ Windows ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖDebugging Tools For Windows¡×¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \fP\f4PATH\fP\f3 ´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë \fP\f4jvm.dll\fP\f3 ¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¥À¥ó¥×¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£\fP -.LP -.LP -\f3¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP -.LP +.PP +\fIjinfo\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿Java¥×¥í¥»¥¹¤ä¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤ÎJava¹½À®¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¹½À®¾ðÊó¤Ë¤Ï¡¢Java¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤ÈJava²¾ÁÛ¥Þ¥·¥ó(JVM)¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬64¥Ó¥Ã¥ÈJVM¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fI\-J\-d64\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fIjinfo\fR +\fI\-J\-d64 \-sysprops pid\fR¡£ +.PP +¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤ÎJDK¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\fIdbgeng\&.dll\fR¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Debugging Tools For Windows¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£\fIPATH\fR´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëjvm\&.dll¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢\fIset PATH=%JDK_HOME%\ejre\ebin\eclient;%PATH%\fR¤Ç¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -<¥ª¥×¥·¥ç¥ó¤Ê¤·> -¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò¡¢¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼Ì¾¤ÈÃͤΥڥ¢¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-flag name -»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤Î̾Á°¤ÈÃͤò½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-flag [+|\-]name -»ØÄꤵ¤ì¤¿¥Ö¡¼¥ë·¿¤Î¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤òÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£ -.br -.TP 3 -\-flag name=value -»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£ -.br -.TP 3 -\-flags -JVM ¤ËÅϤµ¤ì¤ë¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò¥Ú¥¢¤Ç½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-sysprops -Java ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤ò̾Á°¤ÈÃͤΥڥ¢¤È¤·¤Æ½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-h -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ +.PP +no\-option +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤ò¡¢¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£Ì¾¤ÈÃͤΥڥ¢¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-flag \fIname\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤Î̾Á°¤ÈÃͤò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-flag \fI[+|\-]name\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥Ö¡¼¥ë·¿¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤òÍ­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-flag \fIname=value\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-flags +.RS 4 +JVM¤ËÅϤµ¤ì¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Õ¥é¥°¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-sysprops +.RS 4 +Java¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤ò̾Á°¤ÈÃͤΥڥ¢¤È¤·¤Æ½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-h +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jps(1) -.TP 2 -o -jsadebugd(1) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jsadebugd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jjs.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jjs.1 new file mode 100644 index 00000000000..bcf28254fe2 --- /dev/null +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jjs.1 @@ -0,0 +1,394 @@ +'\" t +.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jjs +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ´ðËܥġ¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jjs" "1" "2013ǯ11·î21Æü" "JDK 8" "´ðËܥġ¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jjs \- Nashorn¥¨¥ó¥¸¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjjs\fR [\fIoptions\fR] [\fIscript\-files\fR] [\-\- \fIarguments\fR] +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¶õÇòʸ»ú¤Ç¶èÀÚ¤é¤ì¤¿¡¢\fIjjs\fR¥³¥Þ¥ó¥É¤Î1¤Ä°Ê¾å¤Î¥ª¥×¥·¥ç¥ó¡£¾ÜºÙ¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIscript\-files\fR +.RS 4 +¶õÇòʸ»ú¤Ç¶èÀÚ¤é¤ì¤¿¡¢Nashorn¤ò»ÈÍѤ·¤Æ²ò¼á¤¹¤ë1¤Ä°Ê¾å¤Î¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢ÂÐÏ÷¿¥·¥§¥ë¤¬µ¯Æ°¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIarguments\fR +.RS 4 +Æó½Å¥Ï¥¤¥Õ¥ó¡¦¥Þ¡¼¥«¡¼(\fI\-\-\fR)¤Î¸å¤Î¤¹¤Ù¤Æ¤ÎÃͤ¬¡¢°ú¿ô¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¤Þ¤¿¤ÏÂÐÏ÷¿¥·¥§¥ë¤ËÅϤµ¤ì¤Þ¤¹¡£¤³¤ì¤é¤ÎÃͤˤÏ\fIarguments\fR¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹(Example 3¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjjs\fR¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ä¡¼¥ë¤ò»ÈÍѤ·¤ÆNashorn¥¨¥ó¥¸¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤ì¤ò»ÈÍѤ·¤Æ¡¢1¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤ò²ò¼á¤·¤¿¤ê¡¢ÂÐÏ÷¿¥·¥§¥ë¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\fIjjs\fR¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤Ï¥¹¥¯¥ê¥×¥È¤¬Nashorn¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë¾ò·ï¤òÀ©¸æ¤·¤Þ¤¹¡£ +.PP +\-ccs=\fIsize\fR, \-\-class\-cache\-size=\fIsize\fR +.RS 4 +¥¯¥é¥¹¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º¤ò¥Ð¥¤¥Èñ°Ì¤ÇÀßÄꤷ¤Þ¤¹¡£¥­¥í¥Ð¥¤¥È(KB)¤ò¼¨¤¹¤¿¤á¤Ë\fIk\fR¤Þ¤¿¤Ï\fIK\fR¤Îʸ»ú¤òÄɲä·¡¢¥á¥¬¥Ð¥¤¥È(MB)¤ò¼¨¤¹¤¿¤á¤Ë\fIm\fR¤Þ¤¿¤Ï\fIM\fR¤Îʸ»ú¤òÄɲä·¡¢¥®¥¬¥Ð¥¤¥È(GB)¤ò¼¨¤¹¤¿¤á¤Ë\fIg\fR¤Þ¤¿¤Ï\fIG\fR¤òÄɲä·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥­¥ã¥Ã¥·¥å¡¦¥µ¥¤¥º¤Ï50¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¼¡¤ÎÎã¤Ï¡¢1024¥Ð¥¤¥È(1 KB)¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-css=100 +\-css=1k +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-co, \-\-compile\-only +.RS 4 +¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤»¤º¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.RE +.PP +\-cp \fIpath\fR, \-\-classpath \fIpath\fR +.RS 4 +¥µ¥Ý¡¼¥È¤¹¤ë¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£Ê£¿ô¤Î¥Ñ¥¹¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤¹¤«¡¢¤Þ¤¿¤Ï³Æ¥Ñ¥¹¤ò¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ +.RE +.PP +\-D\fIname\fR=\fIvalue\fR +.RS 4 +¥×¥í¥Ñ¥Æ¥£Ì¾¤ËÃͤò³ä¤êÅö¤Æ¤ë¤³¤È¤Ç¡¢¥¹¥¯¥ê¥×¥È¤ËÅϤ¹¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¡¢ÂÐÏ÷¿¥â¡¼¥É¤ÇNashorn¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢\fImyValue\fR¤ò\fImyKey\fR¤È¤¤¤¦Ì¾Á°¤Î¥×¥í¥Ñ¥Æ¥£¤Ë³ä¤êÅö¤Æ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +>> \fBjjs \-DmyKey=myValue\fR +jjs> \fBjava\&.lang\&.System\&.getProperty("myKey")\fR +myValue +jjs> +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤·»ÈÍѤ¹¤ë¤È¡¢Ê£¿ô¤Î¥×¥í¥Ñ¥Æ¥£¤òÀßÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-d=\fIpath\fR, \-\-dump\-debug\-dir=\fIpath\fR +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¥À¥ó¥×¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-\-debug\-lines +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¹ÔÈÖ¹æÉ½¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Ìµ¸ú¤Ë¤¹¤ë¤Ë¤Ï\fI\-\-debug\-lines=false\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-\-debug\-locals +.RS 4 +¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¥í¡¼¥«¥ëÊÑ¿ô¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-doe, \-\-dump\-on\-error +.RS 4 +¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤È¤­¤Ë¡¢¥Õ¥ë¡¦¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢´Êñ¤Ê¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤Î¤ß¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-\-early\-lvalue\-error +.RS 4 +̵¸ú¤Êº¸ÊÕÃͼ°¤¬Áá´ü¥¨¥é¡¼¤È¤·¤Æ(¤Ä¤Þ¤ê¡¢¥³¡¼¥É¤¬²òÀϤµ¤ì¤ë¤È¤­¤Ë)Êó¹ð¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Ìµ¸ú¤Ë¤¹¤ë¤Ë¤Ï\fI\-\-early\-lvalue\-error=false\fR¤ò»ØÄꤷ¤Þ¤¹¡£Ìµ¸ú¤Ê¾ì¹ç¡¢Ìµ¸ú¤Êº¸ÊÕÃͼ°¤Ï¥³¡¼¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤Þ¤ÇÊó¹ð¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-\-empty\-statements +.RS 4 +¶õ¤Îʸ¤òJava¤ÎÃê¾Ý¹½Ê¸¥Ä¥ê¡¼¤ËÊݸ¤·¤Þ¤¹¡£ +.RE +.PP +\-fv, \-\-fullversion +.RS 4 +´°Á´¤ÊNashorn¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-function\-statement\-error +.RS 4 +´Ø¿ô¤ÎÀë¸À¤¬Ê¸¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¤È¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-\-function\-statement\-warning +.RS 4 +´Ø¿ô¤ÎÀë¸À¤¬Ê¸¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¤È·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-fx +.RS 4 +¥¹¥¯¥ê¥×¥È¤òJavaFX¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£ +.RE +.PP +\-h, \-help +.RS 4 +¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤È¤½¤ÎÀâÌÀ¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +»ØÄꤷ¤¿\fIjava\fRµ¯Æ°¥ª¥×¥·¥ç¥ó¤òJVM¤ËÅϤ·¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¡¢ÂÐÏ÷¿¥â¡¼¥É¤ÇNashorn¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢JVM¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëºÇÂç¥á¥â¥ê¡¼¤ò4 GB¤ËÀßÄꤹ¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +>> \fBjjs \-J\-Xmx4g\fR +jjs> \fBjava\&.lang\&.Runtime\&.getRuntime()\&.maxMemory()\fR +3817799680 +jjs> +.fi +.if n \{\ +.RE +.\} +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤·»ÈÍѤ¹¤ë¤È¡¢Ê£¿ô¤Î\fIjava\fR¥³¥Þ¥ó¥É¡¦¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-\-lazy\-compilation +.RS 4 +¥ì¥¤¥¸¡¼¡¦¥³¡¼¥ÉÀ¸À®Àïά(¤Ä¤Þ¤ê¡¢¥¹¥¯¥ê¥×¥ÈÁ´ÂΤ¬°ìÅ٤˥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Ê¤¤)¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¤¹¡£ +.RE +.PP +\-\-loader\-per\-compile +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤´¤È¤Ë¿·¤·¤¤¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤òºîÀ®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Ìµ¸ú¤Ë¤¹¤ë¤Ë¤Ï\fI\-\-loader\-per\-compile=false\fR¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-\-log=\fIsubsystem\fR:\fIlevel\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥µ¥Ö¥·¥¹¥Æ¥à¤ËÂФ·¤Æ¡¢ÆÃÄê¤Î¥ì¥Ù¥ë¤Ç¥í¥®¥ó¥°¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥«¥ó¥Þ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥µ¥Ö¥·¥¹¥Æ¥à¤Î¥í¥®¥ó¥°¡¦¥ì¥Ù¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-\-log=fields:finest,codegen:info +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-\-package=\fIname\fR +.RS 4 +À¸À®¤µ¤ì¤¿¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÄɲ乤ë¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-\-parse\-only +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤»¤º¤Ë¥³¡¼¥É¤ò²òÀϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-ast +.RS 4 +Ãê¾Ý¹½Ê¸¥Ä¥ê¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-code +.RS 4 +¥Ð¥¤¥È¥³¡¼¥É¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-lower\-ast +.RS 4 +·¡¤ê²¼¤²¤¿Ãê¾Ý¹½Ê¸¥Ä¥ê¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-lower\-parse +.RS 4 +·¡¤ê²¼¤²¤¿²òÀϥĥ꡼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-no\-newline +.RS 4 +¤½¤Î¾¤Î\fI\-\-print*\fR¥ª¥×¥·¥ç¥ó¤Ç¶¯À©Åª¤Ë1¹Ô¤Ç½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-parse +.RS 4 +²òÀϥĥ꡼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-\-print\-symbols +.RS 4 +µ­¹æÉ½¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-pcs, \-\-profile\-callsites +.RS 4 +¸Æ¤Ó½Ð¤·¥µ¥¤¥È¤Î¥×¥í¥Õ¥¡¥¤¥ë¡¦¥Ç¡¼¥¿¤ò¥À¥ó¥×¤·¤Þ¤¹¡£ +.RE +.PP +\-scripting +.RS 4 +¥·¥§¥ë¤Î¥¹¥¯¥ê¥×¥Èµ¡Ç½¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-\-stderr=\fIfilename\fR|\fIstream\fR|\fItty\fR +.RS 4 +ɸ½à¥¨¥é¡¼¡¦¥¹¥È¥ê¡¼¥à¤ò»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¡¢¥¹¥È¥ê¡¼¥à(¤¿¤È¤¨¤Ð\fIstdout\fR)¤Ë¡¢¤Þ¤¿¤Ï¥Æ¥­¥¹¥ÈüËö¤Ë¥ê¥À¥¤¥ì¥¯¥È¤·¤Þ¤¹¡£ +.RE +.PP +\-\-stdout=\fIfilename\fR|\fIstream\fR|\fItty\fR +.RS 4 +ɸ½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤ò»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¡¢¥¹¥È¥ê¡¼¥à(¤¿¤È¤¨¤Ð\fIstderr\fR)¤Ë¡¢¤Þ¤¿¤Ï¥Æ¥­¥¹¥ÈüËö¤Ë¥ê¥À¥¤¥ì¥¯¥È¤·¤Þ¤¹¡£ +.RE +.PP +\-strict +.RS 4 +ɸ½à(ECMAScript Edition 5\&.1)¤Ø¤Î½àµò¤ò¶¯²½¤¹¤ëstrict¥â¡¼¥É¤òÍ­¸ú¤Ë¤·¡¢¤³¤ì¤Ë¤è¤ê¶¦Ä̤Υ³¡¼¥Ç¥£¥ó¥°¡¦¥¨¥é¡¼¤ò´Êñ¤Ë¸¡½Ð¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-t=\fIzone\fR, \-timezone=\fIzone\fR +.RS 4 +¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô¤ËÂФ·»ØÄꤷ¤¿¥¿¥¤¥à¥¾¡¼¥ó¤òÀßÄꤷ¤Þ¤¹¡£OS¤ÇÀßÄꤵ¤ì¤¿¥¿¥¤¥à¥¾¡¼¥ó¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¡¢\fIDate\fR¥ª¥Ö¥¸¥§¥¯¥È¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-tcs=\fIparameter\fR, \-\-trace\-callsites=\fIparameter\fR +.RS 4 +¸Æ½Ð¤·¥µ¥¤¥È¤Î¥È¥ì¡¼¥¹¤Î¥â¡¼¥É¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£»ÈÍѲÄǽ¤Ê¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.PP +miss +.RS 4 +¸Æ½Ð¤·¥µ¥¤¥È¤Î¥ß¥¹¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£ +.RE +.PP +enterexit +.RS 4 +¸Æ½Ð¤·¥µ¥¤¥È¤Ø¤Î½ÐÆþ¤ê¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£ +.RE +.PP +objects +.RS 4 +¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥í¥Ñ¥Æ¥£¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.RE +.PP +\-\-verify\-code +.RS 4 +¥Ð¥¤¥È¥³¡¼¥É¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¸¡¾Ú¤·¤Þ¤¹¡£ +.RE +.PP +\-v, \-version +.RS 4 +Nashorn¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-xhelp +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Î³ÈÄ¥¥Ø¥ë¥×¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.SH "Îã" +.PP +\fBExample 1\fR, Nashorn¤ò»ÈÍѤ·¤¿¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +jjs script\&.js +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 2\fR, ÂÐÏ÷¿¥â¡¼¥É¤Ç¤ÎNashorn¤Î¼Â¹Ô +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +>> \fBjjs\fR +jjs> \fBprintln("Hello, World!")\fR +Hello, World! +jjs> \fBquit()\fR +>> +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\fBExample 3\fR, Nashorn¤Ø¤Î°ú¿ô¤ÎÅϤ· +.RS 4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +>> \fBjjs \-\- a b c\fR +jjs> \fBarguments\&.join(", ")\fR +a, b, c +jjs> +.fi +.if n \{\ +.RE +.\} +.RE +.SH "´ØÏ¢¹àÌÜ" +.PP +\fIjrunscript\fR +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 index 15ea13f6f2e..cc465a08b4e 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 @@ -1,179 +1,209 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jmap 1 "07 May 2011" - -.LP -.SH "̾Á°" -jmap \- ¥á¥â¥ê¡¼¥Þ¥Ã¥× -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jmap +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jmap" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jmap \- ¥×¥í¥»¥¹¤ä¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î¡¢¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥á¥â¥ê¡¼¡¦¥Þ¥Ã¥×¤Þ¤¿¤Ï¥Ò¡¼¥×¡¦¥á¥â¥ê¡¼¤Î¾ÜºÙ¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jmap\fP [ option ] pid -.fl -\f3jmap\fP [ option ] executable core -.fl -\f3jmap\fP [ option ] [server\-id@]remote\-hostname\-or\-IP -.fl +\fIjmap\fR [ \fIoptions\fR ] \fIpid\fR .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -option -³Æ¥ª¥×¥·¥ç¥ó¤Ï¸ß¤¤¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Þ¤¹¡£ -.TP 3 -pid -°õºþ¤¹¤ë¥á¥â¥ê¡¼¥Þ¥Ã¥×¤Î¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1) ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.br -.TP 3 -executable -¥³¥¢¥À¥ó¥×¤ÎºîÀ®¸µ¤Î Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ -.br -.TP 3 -core -°õºþ¤¹¤ë¥á¥â¥ê¡¼¥Þ¥Ã¥×¤Î¥³¥¢¥Õ¥¡¥¤¥ë¡£ -.br -.TP 3 -remote\-hostname\-or\-IP -¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼ (jsadebugd(1) ¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£ -.br -.TP 3 -server\-id -Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤Î ID ¤Ç¤¹¡£ -.br +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjmap\fR [ \fIoptions\fR ] \fIexecutable\fR \fIcore\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjmap\fR [ \fIoptions\fR ] [ \fIpid\fR ] \fIserver\-id\fR@ ] \fIremote\-hostname\-or\-IP\fR +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIpid\fR +.RS 4 +½ÐÎϤ¹¤ë¥á¥â¥ê¡¼¡¦¥Þ¥Ã¥×¤Î¥×¥í¥»¥¹ID¡£¥×¥í¥»¥¹¤ÏJava¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëJava¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\fI¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë\fR +.RS 4 +¥³¥¢¡¦¥À¥ó¥×¤ÎºîÀ®¸µ¤ÎJava¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fI¥³¥¢\fR +.RS 4 +½ÐÎϤ¹¤ë¥á¥â¥ê¡¼¡¦¥Þ¥Ã¥×¤Î¥³¥¢¡¦¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fIremote\-hostname\-or\-IP\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î\fI¥Û¥¹¥È̾\fR¤Þ¤¿¤Ï\fIIP\fR¥¢¥É¥ì¥¹¡£jsadebugd(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIserver\-id\fR +.RS 4 +Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤ÎID¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jmap\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤ä¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Î¡¢¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¥á¥â¥ê¡¼¥Þ¥Ã¥×¤Þ¤¿¤Ï¥Ò¡¼¥×¥á¥â¥ê¡¼¤Î¾ÜºÙ¤ò°õºþ¤·¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -jmap \-J\-d64 \-heap pid -.fl -\fP -.fi - -.LP -.LP -\f3Ãí: ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng.dll ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ Windows ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖDebugging Tools For Windows¡×¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \fP\f4PATH\fP\f3 ´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë \fP\f4jvm.dll\fP\f3 ¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¥À¥ó¥×¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£\fP -.LP -.LP -\f3¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP -.LP -.br - -.LP +.PP +\fIjmap\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤ä¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î¡¢¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥á¥â¥ê¡¼¡¦¥Þ¥Ã¥×¤Þ¤¿¤Ï¥Ò¡¼¥×¡¦¥á¥â¥ê¡¼¤Î¾ÜºÙ¤ò½ÐÎϤ·¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬64¥Ó¥Ã¥ÈJava²¾ÁÛ¥Þ¥·¥ó(JVM)¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fI\-J\-d64\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fIjmap\fR +\fI\-J\-d64 \-heap pid\fR¡£ +.PP +\fBÃí°Õ:\fR +¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤ÎJDK¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\fIdbgeng\&.dll\fR¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Debugging Tools For Windows¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£\fIPATH\fR´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë\fIjvm\&.dll\fR¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fIset PATH=%JDK_HOME%\ejre\ebin\eclient;%PATH%\fR¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -<¥ª¥×¥·¥ç¥ó¤Ê¤·> -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢jmap ¤Ï¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¥Þ¥Ã¥Ô¥ó¥°¤ò°õºþ¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È VM ¤Ë¥í¡¼¥É¤µ¤ì¤¿¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¤´¤È¤Ë¡¢³«»Ï¥¢¥É¥ì¥¹¡¢¥Þ¥Ã¥Ô¥ó¥°¤Î¥µ¥¤¥º¡¢¤ª¤è¤Ó¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤¬°õºþ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢Solaris \f3pmap\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ÈÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£ -.br -.TP 3 -\-dump:[live,]format=b,file=<filename> -Java ¥Ò¡¼¥×¤ò hprof ¥Ð¥¤¥Ê¥ê·Á¼°¤Ç filename ¤Ë¥À¥ó¥×¤·¤Þ¤¹¡£\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¾Êά²Äǽ¤Ç¤¹¡£¤³¤ì¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ò¡¼¥×Æâ¤ÇÀ¸Â¸Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£¥Ò¡¼¥×¥À¥ó¥×¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò jhat(1) (Java Heap Analysis Tool) ¤ò»È¤Ã¤ÆÆÉ¤ß¼è¤ê¤Þ¤¹¡£ -.br -.TP 3 -\-finalizerinfo -¥Õ¥¡¥¤¥Ê¥é¥¤¥º¤òÂԤäƤ¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.br -.TP 3 -\-heap -¥Ò¡¼¥×¥µ¥Þ¥ê¡¼¤ò°õºþ¤·¤Þ¤¹¡£»ÈÍѤµ¤ì¤ë GC ¥¢¥ë¥´¥ê¥º¥à¡¢¥Ò¡¼¥×¹½À®¡¢¤ª¤è¤ÓÀ¤Â头¤È¤Î¥Ò¡¼¥×»ÈÍÑΨ¤¬°õºþ¤µ¤ì¤Þ¤¹¡£ -.br -.TP 3 -\-histo[:live] -¥Ò¡¼¥×¤Î¥Ò¥¹¥È¥°¥é¥à¤ò°õºþ¤·¤Þ¤¹¡£Java ¥¯¥é¥¹¤´¤È¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¿ô¡¢¥Ð¥¤¥Èñ°Ì¤Ç¤Î¥á¥â¥ê¡¼¥µ¥¤¥º¡¢¤ª¤è¤Ó´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤¬°õºþ¤µ¤ì¤Þ¤¹¡£VM ÆâÉô¥¯¥é¥¹Ì¾¤Ï¡¢¡Ö*¡×¤ÎÀÜÆ¬¼­¤òÉÕ¤±¤Æ°õºþ¤µ¤ì¤Þ¤¹¡£\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢À¸Â¸Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥«¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£ -.br -.TP 3 -\-permstat -Permanent À¤Âå¤Î Java ¥Ò¡¼¥×¤Î¡¢¥¯¥é¥¹¥í¡¼¥À¡¼´ØÏ¢¤ÎÅý·×¥Ç¡¼¥¿¤ò°õºþ¤·¤Þ¤¹¡£¥¯¥é¥¹¥í¡¼¥À¡¼¤´¤È¤Ë¡¢¤½¤Î̾Á°¡¢¾õÂÖ¡¢¥¢¥É¥ì¥¹¡¢¿Æ¥¯¥é¥¹¥í¡¼¥À¡¼¡¢¤ª¤è¤Ó¥¯¥é¥¹¥í¡¼¥À¡¼¤¬¥í¡¼¥É¤·¤¿¥¯¥é¥¹¤Î¿ô¤È¥µ¥¤¥º¤¬°õºþ¤µ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢intern ¤µ¤ì¤¿Ê¸»úÎó¤Î¿ô¤È¥µ¥¤¥º¤â½ÐÎϤµ¤ì¤Þ¤¹¡£ -.br -.TP 3 -\-F -¶¯À© (Force)¡£pid ¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¡¢jmap \-dump ¤Þ¤¿¤Ï jmap \-histo ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£ -.br -.TP 3 -\-h -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò°õºþ¤·¤Þ¤¹¡£ -.br -.br -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò°õºþ¤·¤Þ¤¹¡£ -.br -.br -.TP 3 -\-J<flag> -jmap ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£ -.br +.PP +<¥ª¥×¥·¥ç¥ó¤Ê¤·> +.RS 4 +¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢\fIjmap\fR¥³¥Þ¥ó¥É¤Ï¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Þ¥Ã¥Ô¥ó¥°¤ò½ÐÎϤ·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈJVM¤Ë¥í¡¼¥É¤µ¤ì¤¿¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¤´¤È¤Ë¡¢³«»Ï¥¢¥É¥ì¥¹¡¢¥Þ¥Ã¥Ô¥ó¥°¤Î¥µ¥¤¥º¤ª¤è¤Ó¶¦ÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¦¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤³¤Îưºî¤Ï¡¢Oracle Solaris +\fIpmap\fR¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÈÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-dump:[live,] format=b, file=\fIfilename\fR +.RS 4 +Java¥Ò¡¼¥×¤ò\fIhprof\fR¥Ð¥¤¥Ê¥ê·Á¼°¤Ç\fIfilename\fR¤Ë¥À¥ó¥×¤·¤Þ¤¹¡£\fIlive\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¤¬¡¢»ØÄꤷ¤¿¾ì¹ç¡¢¥Ò¡¼¥×Æâ¤Î¥¢¥¯¥Æ¥£¥Ö¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£¥Ò¡¼¥×¡¦¥À¥ó¥×¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢jhat(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆÀ¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£ +.RE +.PP +\-finalizerinfo +.RS 4 +¥Õ¥¡¥¤¥Ê¥é¥¤¥º¤òÂԤäƤ¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-heap +.RS 4 +»ÈÍѤµ¤ì¤Æ¤¤¤ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¥Ò¡¼¥×¡¦¥µ¥Þ¥ê¡¼¡¢¥Ø¥Ã¥À¡¼¹½À®¡¢¤ª¤è¤ÓÀ¤Âå´ØÏ¢¤Î¥Ò¡¼¥×»ÈÍѾõ¶·¤ò½ÐÎϤ·¤Þ¤¹¡£¤µ¤é¤Ë¡¢intern¤µ¤ì¤¿Ê¸»úÎó¤Î¿ô¤È¥µ¥¤¥º¤â½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-histo[:live] +.RS 4 +¥Ò¡¼¥×¤Î¥Ò¥¹¥È¥°¥é¥à¤ò½ÐÎϤ·¤Þ¤¹¡£Java¥¯¥é¥¹¤´¤È¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¿ô¡¢¥Ð¥¤¥Èñ°Ì¤Ç¤Î¥á¥â¥ê¡¼¡¦¥µ¥¤¥º¡¢¤ª¤è¤Ó´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£JVM¤ÎÆâÉô¥¯¥é¥¹Ì¾¤Ï¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ÎÀÜÆ¬¼­¤òÉÕ¤±¤Æ½ÐÎϤµ¤ì¤Þ¤¹¡£\fIlive\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥¢¥¯¥Æ¥£¥Ö¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥«¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-clstats +.RS 4 +Java¥Ò¡¼¥×¤Î¡¢¥¯¥é¥¹¡¦¥í¡¼¥À¡¼´ØÏ¢¤ÎÅý·×¥Ç¡¼¥¿¤ò½ÐÎϤ·¤Þ¤¹¡£¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤´¤È¤Ë¡¢¤½¤Î̾Á°¡¢¾õÂÖ¡¢¥¢¥É¥ì¥¹¡¢¿Æ¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¡¢¤ª¤è¤Ó¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤¬¥í¡¼¥É¤·¤¿¥¯¥é¥¹¤Î¿ô¤È¥µ¥¤¥º¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-F +.RS 4 +¶¯À©¤·¤Þ¤¹¡£PID¤¬±þÅú¤·¤Ê¤¤¤È¤­¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò\fIjmap \-dump\fR¤Þ¤¿¤Ï\fIjmap \-histo\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢\fIlive\fR¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-h +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIjmap\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ëJava²¾ÁÛ¥Þ¥·¥ó¤Ë\fIflag\fR¤òÅϤ·¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -pmap (1) -.TP 2 -o -jhat(1) -.TP 2 -o -jps(1) -.TP 2 -o -jsadebugd(1) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jhat(1) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jsadebugd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 index bcfb9bed82e..d6a7ae886f9 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 @@ -1,278 +1,263 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jps 1 "07 May 2011" - -.LP -.SH "̾Á°" -jps \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -¥Û¥¹¥È¼±ÊÌ»Ò -.TP 2 -o -½ÐÎÏ·Á¼° -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jps +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jps" "1" "2013ǯ11·î21Æü" "JDK 8" "¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jps \- ¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¾å¤Ç·×¬¤µ¤ì¤¿Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jps\fP [ \f2options\fP ] [ \f2hostid\fP ] -.br - -.fl +\fIjps\fR [ \fIoptions\fR ] [ \fIhostid\fR ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -hostid -¥×¥í¥»¥¹¥ì¥Ý¡¼¥È¤òÀ¸À®¤¹¤ë¥Û¥¹¥È¤Î¥Û¥¹¥È¼±Ê̻ҡ£\f2hostid\fP ¤Ë¤Ï¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¼ÂÁõ¤Ë¸ÇÍ­¤Ê¾¤Î¥Ç¡¼¥¿¤ò»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jps\fP ¥Ä¡¼¥ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¾å¤Ç·×¬¤µ¤ì¤¿ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Çɽ¼¨¤Ç¤­¤ë¥ì¥Ý¡¼¥È¾ðÊó¤Ï¡¢¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤¿ JVM ¤Ë´Ø¤¹¤ë¤â¤Î¤Ë¸ÂÄꤵ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2hostid\fP ¤ò»ØÄꤻ¤º¤Ë \f3jps\fP ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç·×¬¤µ¤ì¤¿ JVM ¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£\f2hostid\fP ¤ò»ØÄꤷ¤Æµ¯Æ°¤·¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤È¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¡¢»ØÄꤵ¤ì¤¿¥Û¥¹¥È¾å¤Î JVM ¤ò¸¡º÷¤·¤Þ¤¹¡£\f3jstatd\fP ¥×¥í¥»¥¹¤¬¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤Ç·×¬¤µ¤ì¤¿³Æ JVM ¤Ë¤Ä¤¤¤Æ¡¢¥í¡¼¥«¥ë VM ¼±Ê̻ҡ¢¤Ä¤Þ¤ê \f2lvmid\fP ¤ò¥ì¥Ý¡¼¥È¤·¤Þ¤¹¡£\f3lvmid\fP ¤Ï¡¢É¬¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢°ìÈÌŪ¤Ë¤Ï JVM ¥×¥í¥»¥¹¤ËÂФ¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\f3jps\fP ¤Ë¤è¤Ã¤Æ¡¢³Æ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î \f2lvmid\fP ¤¬°ìÍ÷ɽ¼¨¤µ¤ì¡¢¤½¤ì¤¾¤ì¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤¬´Êñ¤Ê·Á¼°¤Ç¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î´Êñ¤Ê·Á¼°¤Î¥¯¥é¥¹Ì¾¤È JAR ¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¾ðÊó¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¥Ñ¥¹¾ðÊ󤬾Êά¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤Ï¡¢\f3Java\fP µ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ \f2main\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤È°ú¿ô¤ò¸¡º÷¤·¤Þ¤¹¡£ÆÈ¼«¤Îµ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¥¿¡¼¥²¥Ã¥È JVM ¤òµ¯Æ°¤·¤¿¾ì¹ç¤Ï¡¢ \f2main\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾ (¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾) ¤È°ú¿ô¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\f3jps\fP ¥³¥Þ¥ó¥É¤Ï¡¢main ¥á¥½¥Ã¥É¤ØÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾ (¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾) ¤È°ú¿ô¤ËÂФ·¤Æ¡¢Ê¸»úÎó \f2Unknown\fP ¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¤ë JVM ¤Î¥ê¥¹¥È¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¼çÂΤËÍ¿¤¨¤é¤ì¤¿¥¢¥¯¥»¥¹¸¢¤Ë´ð¤Å¤­¡¢À©¸Â¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥àÆÈ¼«¤Î¥¢¥¯¥»¥¹À©¸æµ¡¹½¤Ë¤è¤ë·èÄê¤Ë´ð¤Å¤¤¤Æ¡¢¼çÂΤ˥¢¥¯¥»¥¹¸¢¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë JVM ¤À¤±¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.LP -.LP -\f3Ãí:\fP ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¸½ºß¡¢Windows 98 ¤ª¤è¤Ó Windows Me ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ -.LP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIhostid\fR +.RS 4 +¥×¥í¥»¥¹¡¦¥ì¥Ý¡¼¥È¤òÀ¸À®¤¹¤ë¥Û¥¹¥È¤Î¼±Ê̻ҡ£\fIhostid\fR¤Ë¤Ï¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¼ÂÁõ¤Ë¸ÇÍ­¤Ê¾¤Î¥Ç¡¼¥¿¤ò»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¡¦¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Û¥¹¥È¼±Ê̻Ҥò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¾å¤Ç·×¬¤µ¤ì¤¿Java HotSpot VM¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤Ç¤­¤ë¥ì¥Ý¡¼¥È¾ðÊó¤Ï¡¢¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤¿JVM¤Ë´Ø¤¹¤ë¤â¤Î¤Ë¸ÂÄꤵ¤ì¤Þ¤¹¡£ +.PP +\fIhostid\fR¤ò»ØÄꤻ¤º¤Ë\fIjps\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤Ç·×¬¤µ¤ì¤¿JVM¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£\fIhostid\fR¤ò»ØÄꤷ¤Æµ¯Æ°¤·¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤È¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¡¢»ØÄꤵ¤ì¤¿¥Û¥¹¥È¾å¤ÎJVM¤ò¸¡º÷¤·¤Þ¤¹¡£\fIjstatd\fR¥×¥í¥»¥¹¤¬¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£ +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¤Ç·×¬¤µ¤ì¤¿³ÆJVM¤Ë¤Ä¤¤¤Æ¡¢¥í¡¼¥«¥ëVM¼±Ê̻ҡ¢¤Ä¤Þ¤ê\fIlvmid\fR¤ò¥ì¥Ý¡¼¥È¤·¤Þ¤¹¡£\fIlvmid\fR¤Ï¡¢°ìÈÌŪ¤Ë¤ÏJVM¥×¥í¥»¥¹¤ËÂФ¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¤¬¡¢É¬¤º¤·¤â¤½¤¦¤Ç¤¢¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\fIjps\fR¤Ë¤è¤Ã¤Æ¡¢³ÆJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î\fIlvmid\fR¤¬°ìÍ÷ɽ¼¨¤µ¤ì¡¢¤½¤ì¤¾¤ì¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤¬´Êñ¤Ê·Á¼°¤Ç¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î´Êñ¤Ê·Á¼°¤Î¥¯¥é¥¹Ì¾¤ÈJAR¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¾ðÊó¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë¡¦¥Ñ¥¹¾ðÊ󤬾Êά¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Ï¡¢Javaµ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æmain¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤È°ú¿ô¤ò¸¡º÷¤·¤Þ¤¹¡£ÆÈ¼«¤Îµ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¥¿¡¼¥²¥Ã¥ÈJVM¤òµ¯Æ°¤·¤¿¾ì¹ç¤Ï¡¢\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤È°ú¿ô¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\fIjps\fR¥³¥Þ¥ó¥É¤Ï¡¢\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë¥¯¥é¥¹Ì¾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤È°ú¿ô¤ËÂФ·¤Æ¡¢Ê¸»úÎó\fIUnknown\fR¤ò½ÐÎϤ·¤Þ¤¹¡£ +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¤ëJVM¤Î¥ê¥¹¥È¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¥×¥ê¥ó¥·¥Ñ¥ë¤ËÍ¿¤¨¤é¤ì¤¿¥¢¥¯¥»¥¹¸¢¤Ë´ð¤Å¤­¡¢À©¸Â¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥àÆÈ¼«¤Î¥¢¥¯¥»¥¹À©¸æµ¡¹½¤Ë¤è¤ë·èÄê¤Ë´ð¤Å¤¤¤Æ¡¢¥×¥ê¥ó¥·¥Ñ¥ë¤Ë¥¢¥¯¥»¥¹¸¢¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ëJVM¤Î¤ß¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤Î½ÐÎϤòÊѹ¹¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬Â¿¿ô¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾­Íè¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Êѹ¹¤Þ¤¿¤ÏÇѻߤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-q -¥¯¥é¥¹Ì¾¡¢JAR ¥Õ¥¡¥¤¥ë̾¡¢¤ª¤è¤Ó \f2main\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤Î½ÐÎϤòÍÞÀ©¤·¡¢¥í¡¼¥«¥ë VM ¼±Ê̻ҤΰìÍ÷¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£ -.TP 3 -\-m -main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î½ÐÎϤϡ¢ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë JVM ¤ËÂФ·¤Æ null ¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-l -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼çÍפʥ¯¥é¥¹¤Î¥Õ¥ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Õ¥ë¥Ñ¥¹Ì¾¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-v -JVM ¤ËÅϤµ¤ì¤ë°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-V -¥Õ¥é¥°¥Õ¥¡¥¤¥ë (.hotspotrc ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï \-XX:Flags=<\f2filename\fP> ¤Î°ú¿ô¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë) ¤òÄ̤¸¤Æ JVM ¤ËÅϤµ¤ì¤ë°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£ -.TP 3 -\-Joption -\f3jps\fP ¤¬¸Æ¤Ó½Ð¤¹ \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¡¢\f2option\fP ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ­½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇØ¸å¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤Î½ÐÎϤòÊѹ¹¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬Â¿¿ô¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾­Íè¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Êѹ¹¤Þ¤¿¤ÏÇѻߤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +\-q +.RS 4 +¥¯¥é¥¹Ì¾¡¢JAR¥Õ¥¡¥¤¥ë̾¡¢¤ª¤è¤Ó\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤Î½ÐÎϤòÍÞÀ©¤·¡¢¥í¡¼¥«¥ëVM¼±Ê̻ҤΰìÍ÷¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£ .RE - -.LP -.SS -¥Û¥¹¥È¼±ÊÌ»Ò -.LP -.LP -¥Û¥¹¥È¼±Ê̻ҡ¢¤Ä¤Þ¤ê \f2hostid\fP ¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¹¡£\f2hostid\fP ʸ»úÎó¤Î¹½Ê¸¤ÎÂçÉôʬ¤Ï¡¢URI ¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -[\fP\f4protocol\fP\f3:][[//]\fP\f4hostname\fP\f3][:\fP\f4port\fP\f3][/\fP\f4servername\fP\f3]\fP -.br -\f3 -.fl -\fP -.fi - -.LP -.RS 3 -.TP 3 -protocol -ÄÌ¿®¥×¥í¥È¥³¥ë¤Ç¤¹¡£\f2protocol\fP ¤¬¾Êά¤µ¤ì¡¢\f2hostname\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£\f2protocol\fP ¤¬¾Êά¤µ¤ì¡¢\f2hostname\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥×¥í¥È¥³¥ë¤Ï \f3rmi\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -hostname -¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£\f2hostname\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -port -¥ê¥â¡¼¥È¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Ç¤¹¡£\f2hostname\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢\f2protocol\fP ¤ÇºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2port\fP ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢\f2port\fP ¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î \f3rmi\fP ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢\f2port\fP ¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î rmiregistry ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£\f2port\fP ¤¬¾Êά¤µ¤ì¡¢\f2protocol\fP ¤Ç \f3rmi\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î rmiregistry ¥Ý¡¼¥È (1099) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 3 -servername -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\f3rmi\fP ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î RMI ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò¼¨¤¹Ê¸»úÎó¤Ë¤Ê¤ê¤Þ¤¹¡£jstatd(1) ¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢\f3\-n\fP ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-m +.RS 4 +\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î½ÐÎϤϡ¢ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ëJVM¤ËÂФ·¤Æ\fInull\fR¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.SH "½ÐÎÏ·Á¼°" -.LP -.LP -\f3jps\fP ¥³¥Þ¥ó¥É¤Î½ÐÎϤϡ¢¼¡¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤¤¤Þ¤¹¡£ -.LP +.PP +\-l +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î\fImain\fR¥¯¥é¥¹¤Î¥Õ¥ë¡¦¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎJAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Õ¥ë¥Ñ¥¹Ì¾¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-v +.RS 4 +JVM¤ËÅϤµ¤ì¤ë°ú¿ô¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-V +.RS 4 +¥¯¥é¥¹Ì¾¡¢JAR¥Õ¥¡¥¤¥ë̾¡¢¤ª¤è¤Ómai¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤Î½ÐÎϤòÍÞÀ©¤·¡¢¥í¡¼¥«¥ëVM¼±Ê̻ҤΰìÍ÷¤Î¤ß¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +JVM¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë\fI¥ª¥×¥·¥ç¥ó\fR¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥Û¥¹¥È¼±ÊÌ»Ò" +.PP +¥Û¥¹¥È¼±Ê̻ҡ¢¤Ä¤Þ¤ê\fIhostid\fR¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¹¡£\fIhostid\fRʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f4lvmid\fP\f3 [ [ \fP\f4classname\fP\f3 | \fP\f4JARfilename\fP\f3 | "Unknown"] [ \fP\f4arg\fP\f3* ] [ \fP\f4jvmarg\fP\f3* ] ]\fP -.br -\f3 -.fl -\fP +[protocol:][[//]hostname][:port][/servername] .fi - -.LP -.LP -¤¹¤Ù¤Æ¤Î½ÐÎϥȡ¼¥¯¥ó¤Ï¶õÇò¤Ç¶èÀÚ¤ê¤Þ¤¹¡£\f2arg\fP ¤ÎÃæ¤Ç¶õÇò¤ò»ÈÍѤ¹¤ë¤È¡¢¼ÂºÝ¤ÎÄê°ÌÃ֥ѥé¥á¡¼¥¿¤Ë°ú¿ô¤ò¥Þ¥Ã¥Ô¥ó¥°¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë¡¢¤¢¤¤¤Þ¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£ -.br -.br -\f3Ãí\fP: ¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤³¤Î·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢\f3jps\fP ¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ÏºîÀ®¤·¤Ê¤¤¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£\f3jps\fP ½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¤È¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¡¢ºîÀ®¤·¤¿¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤¹¤ëɬÍפ¬Í½Â¬¤µ¤ì¤Þ¤¹¡£ -.br - -.LP +.if n \{\ +.RE +.\} +.PP +\fIprotocol\fR +.RS 4 +ÄÌ¿®¥×¥í¥È¥³¥ë¤Ç¤¹¡£\fIprotocol\fR¤¬¾Êά¤µ¤ì¡¢\fIhostname\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£¥×¥í¥È¥³¥ë¤¬¾Êά¤µ¤ì¡¢¥Û¥¹¥È̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥×¥í¥È¥³¥ë¤Ï\fIrmi\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +hostname +.RS 4 +¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤ÏIP¥¢¥É¥ì¥¹¤Ç¤¹¡£\fIhostname\fR¥Ñ¥é¥á¡¼¥¿¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +port +.RS 4 +¥ê¥â¡¼¥È¡¦¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È¤Ç¤¹¡£\fIhostname\fR¥Ñ¥é¥á¡¼¥¿¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢\fIprotocol\fR¥Ñ¥é¥á¡¼¥¿¤¬¡¢ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤ò»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç¡¢\fIport\fR¥Ñ¥é¥á¡¼¥¿¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\fIport\fR¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î +\fIrmi\fR¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢\fIport\fR¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Îrmiregistry¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£\fIport\fR¥Ñ¥é¥á¡¼¥¿¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢\fIprotocol\fR¥Ñ¥é¥á¡¼¥¿¤¬\fIrmi\fR¤ò¼¨¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Îrmiregistry¥Ý¡¼¥È(1099)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +servername +.RS 4 +¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\fIrmi\fR¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤ÎRMI¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò¼¨¤¹Ê¸»úÎó¤Ë¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢\fIjstatd\fR¥³¥Þ¥ó¥É¤Î\fI\-n\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È" +.PP +\fIjps\fR¥³¥Þ¥ó¥É¤Î½ÐÎϤϡ¢¼¡¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ] +.fi +.if n \{\ +.RE +.\} +.PP +¤¹¤Ù¤Æ¤Î½ÐÎϥȡ¼¥¯¥ó¤Ï¶õÇòʸ»ú¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£\fIarg\fRÃͤÎÃæ¤Ç¶õÇò¤ò»ÈÍѤ¹¤ë¤È¡¢¼ÂºÝ¤ÎÄê°ÌÃ֥ѥé¥á¡¼¥¿¤Ë°ú¿ô¤ò¥Þ¥Ã¥Ô¥ó¥°¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë¡¢¤¢¤¤¤Þ¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤³¤Î·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢\fIjps\fR¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ÏºîÀ®¤·¤Ê¤¤¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£\fIjps\fR½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¤È¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¡¢ºîÀ®¤·¤¿¥¹¥¯¥ê¥×¥È¤ÎÊѹ¹¤¬É¬Íפˤʤë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ .SH "Îã" -.LP -.LP -¤³¤ÎÀá¤Ç¤Ï¡¢\f3jps\fP ¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.LP -¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿ JVM ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¾ì¹ç: -.LP +.PP +¤³¤Î¹à¤Ç¤Ï¡¢\fIjps\fR¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿JVM¤ò°ìÍ÷ɽ¼¨¤¹¤ë¾ì¹ç: +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jps\fP -.br - -.fl -18027 Java2Demo.JAR -.br - -.fl +jps +18027 Java2Demo\&.JAR 18032 jps -.br - -.fl 18005 jstat -.br - -.fl .fi - -.LP -.LP -¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿ JVM ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¾ì¹ç: -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢\f3jstat\fP ¥µ¡¼¥Ð¡¼¤È¡¢¤½¤ÎÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤Þ¤¿¤ÏÊ̤γ°Éô \f3rmiregistry\fP ¥×¥í¥»¥¹¤Î¤¤¤º¤ì¤«¤È¤¬¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤¬¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¤ÎÍ­¸ú¤Ê¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤âÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ë¤Ï¡¢\f2\-l\fP ¥ª¥×¥·¥ç¥ó¤â´Þ¤Þ¤ì¡¢¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤ò¾ÜºÙ¤Ê·Á¼°¤Ç½ÐÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jps \-l remote.domain\fP -.br - -.fl -3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR -.br - -.fl -2857 sun.tools.jstatd.jstatd -.br - -.fl -.fi - -.LP -.LP -RMI ¥ì¥¸¥¹¥È¥ê¤Ë¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¤¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿ JVM ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¾ì¹ç: -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤¬¥Ý¡¼¥È 2002 ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ \f3jstatd\fP ¥µ¡¼¥Ð¡¼¤¬¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢\f2\-m\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢°ìÍ÷ɽ¼¨¤µ¤ì¤¿¤½¤ì¤¾¤ì¤Î Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î \f2main\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¤òÁȤ߹þ¤ó¤Ç¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jps \-m remote.domain:2002\fP -.br - -.fl -3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR -.br - -.fl -3102 sun.tools.jstatd.jstatd \-p 2002 -.fl -.fi - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -¡Öjava(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjstat(1) \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×¥Ç¡¼¥¿´Æ»ë¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjstatd(1) \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó¡× -.TP 2 -o -¡Örmiregistry(1) \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¡× +.if n \{\ .RE - -.LP - +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿JVM¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢\fIjstat\fR¥µ¡¼¥Ð¡¼¤È¡¢¤½¤ÎÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤Þ¤¿¤ÏÊ̤γ°Éôrmiregistry¥×¥í¥»¥¹¤Î¤¤¤º¤ì¤«¤¬¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È(¥Ý¡¼¥È1099)¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤¬¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Ø¤ÎÍ­¸ú¤Ê¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤âÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ë¤Ï¡¢\fI\-l\fR¥ª¥×¥·¥ç¥ó¤â´Þ¤Þ¤ì¡¢¥¯¥é¥¹Ì¾¤Þ¤¿¤ÏJAR¥Õ¥¡¥¤¥ë̾¤ò¾ÜºÙ¤Ê·Á¼°¤Ç½ÐÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jps \-l remote\&.domain +3002 /opt/jdk1\&.7\&.0/demo/jfc/Java2D/Java2Demo\&.JAR +2857 sun\&.tools\&.jstatd\&.jstatd +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢RMI¥ì¥¸¥¹¥È¥ê¤Ë¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¤¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Ç·×¬¤µ¤ì¤¿JVM¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢ÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤¬¥Ý¡¼¥È2002¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿\fIjstatd\fR¥µ¡¼¥Ð¡¼¤¬¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢\fI\-m\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢°ìÍ÷ɽ¼¨¤µ¤ì¤¿¤½¤ì¤¾¤ì¤ÎJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î\fImain\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô¤òÁȤ߹þ¤ó¤Ç¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jps \-m remote\&.domain:2002 +3002 /opt/jdk1\&.7\&.0/demo/jfc/Java2D/Java2Demo\&.JAR +3102 sun\&.tools\&.jstatd\&.jstatd \-p 2002 +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstat(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstatd(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +rmiregistry(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 index 3f83aa5c428..f53c29f59c7 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 @@ -1,208 +1,206 @@ -." Copyright (c) 2006, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jrunscript 1 "07 May 2011" - -.LP -.SH "̾Á°" -jrunscript \- ¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È¥·¥§¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -°ú¿ô -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jrunscript +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥¹¥¯¥ê¥×¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jrunscript" "1" "2013ǯ11·î21Æü" "JDK 8" "¥¹¥¯¥ê¥×¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jrunscript \- ÂÐÏ÷¿¥â¡¼¥É¤È¥Ð¥Ã¥Á¡¦¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¹¥¯¥ê¥×¥È¡¦¥·¥§¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jrunscript\fP [ \f2options\fP ] [ arguments... ] -.fl +\fIjrunscript\fR [\fIoptions\fR] [\fIarguments\fR] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -arguments -°ú¿ô¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jrunscript\fP ¤Ï¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È¥·¥§¥ë¤Ç¤¹¡£jrunscript ¤Ï¡¢ÂÐÏ÷¿ (ÆÉ¤ß¼è¤ê \- ɾ²Á \- ½ÐÎÏ) ¥â¡¼¥É¤È¥Ð¥Ã¥Á (\-f ¥ª¥×¥·¥ç¥ó) ¥â¡¼¥É¤ÎξÊý¤Î¥¹¥¯¥ê¥×¥È¼Â¹Ô¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ì¤Ï¥¹¥¯¥ê¥×¥È¸À¸ì¤Ë°Í¸¤·¤Ê¤¤¥·¥§¥ë¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î»ÈÍѸÀ¸ì¤Ï JavaScript ¤Ç¤¹¤¬¡¢\-l ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤Û¤«¤Î¸À¸ì¤â»ØÄê¤Ç¤­¤Þ¤¹¡£jrunscript ¤Ï¡¢Java ¤È¥¹¥¯¥ê¥×¥È¸À¸ì¤È¤ÎÄÌ¿®¤Ë¤è¤Ã¤Æ¡ÖõµáŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¡×¥¹¥¿¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ -.LP -.LP -\f3Ãí:\fP ¤³¤Î¥Ä¡¼¥ë¤Ï\f3»î¸³Åª¤Ê¤â¤Î\fP¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï\f3ÍøÍѤǤ­¤Ê¤¯¤Ê¤ë\fP²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIarguments\fR +.RS 4 +°ú¿ô¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£°ú¿ô¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjrunscript\fR¥³¥Þ¥ó¥É¤Ï¡¢¸À¸ì¤Ë°Í¸¤·¤Ê¤¤¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¹¥¯¥ê¥×¥È¡¦¥·¥§¥ë¤Ç¤¹¡£\fIjrunscript\fR¤Ï¡¢ÂÐÏ÷¿(read\-eval\-print)¥â¡¼¥É¤È¥Ð¥Ã¥Á(\fI\-f\fR¥ª¥×¥·¥ç¥ó)¡¦¥â¡¼¥É¤ÎξÊý¤Î¥¹¥¯¥ê¥×¥È¼Â¹Ô¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î»ÈÍѸÀ¸ì¤ÏJavaScript¤Ç¤¹¤¬¡¢\fI\-l\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¾¤Î¸À¸ì¤â»ØÄê¤Ç¤­¤Þ¤¹¡£\fIjrunscript\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¤È¥¹¥¯¥ê¥×¥È¸À¸ì¤È¤ÎÄÌ¿®¤ò»ÈÍѤ·¤ÆÃµµáŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¡¦¥¹¥¿¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-classpath path -¥¹¥¯¥ê¥×¥È¤«¤é¤Î¥¢¥¯¥»¥¹ÂÐ¾Ý¤È¤Ê¤ë¥æ¡¼¥¶¡¼¤Î .class ¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-cp path -\-classpath \f2path\fP ¤ÈƱµÁ¤Ç¤¹¡£ -.TP 3 -\-Dname=value -Java ¤Î¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤òÀßÄꤷ¤Þ¤¹¡£ -.TP 3 -\-J<flag> -jrunscript ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£ -.TP 3 -\-l language -»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï JavaScript ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤Û¤«¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢Âбþ¤¹¤ë¥¹¥¯¥ê¥×¥È¥¨¥ó¥¸¥ó¤Î JAR ¥Õ¥¡¥¤¥ë¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ë¤Ï¡¢\-cp¡¢\-classpath ¤Î¤¤¤º¤ì¤«¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.TP 3 -\-e script -»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¤òɾ²Á¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¤¹¤Ù¤Æ¤¬»ØÄꤵ¤ì¤¿¡Ö1 ¹Ô¡×¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-encoding encoding -¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¼è¤ê»þ¤Ë»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-f script\-file -»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òɾ²Á¤·¤Þ¤¹ (¥Ð¥Ã¥Á¥â¡¼¥É)¡£ -.TP 3 -\-f \- -ɸ½àÆþÎϤ«¤é¥¹¥¯¥ê¥×¥È¤òÆÉ¤ß¼è¤ê¡¢¤½¤ì¤òɾ²Á¤·¤Þ¤¹ (ÂÐÏ÷¿¥â¡¼¥É)¡£ -.TP 3 -\-help\ -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-?\ -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.TP 3 -\-q\ -ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¥¨¥ó¥¸¥ó¤ò°ìÍ÷ɽ¼¨¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£ +.PP +\-classpath \fIpath\fR +.RS 4 +¥¹¥¯¥ê¥×¥È¤¬¥¢¥¯¥»¥¹¤¹¤ëɬÍפΤ¢¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤ò¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-cp \fIpath\fR +.RS 4 +\fI\-classpath\fR +\fIpath\fR¤ÈƱ¤¸¤Ç¤¹¡£ +.RE +.PP +\-D\fIname\fR=\fIvalue\fR +.RS 4 +Java¤Î¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-J\fIflag\fR +.RS 4 +\fIflag\fR¤ò¡¢\fIjrunscript\fR¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ëJava²¾ÁÛ¥Þ¥·¥ó¤ËľÀÜÅϤ·¤Þ¤¹¡£ +.RE +.PP +\-I \fIlanguage\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏJavaScript¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Â¾¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\fI\-cp\fR¤Þ¤¿¤Ï\fI\-classpath\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Âбþ¤¹¤ë¥¹¥¯¥ê¥×¥È¡¦¥¨¥ó¥¸¥ó¤ÎJAR¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-e \fIscript\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¤òɾ²Á¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤¹¤Ù¤Æ¤¬»ØÄꤵ¤ì¤¿1¹Ô¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\-encoding \fIencoding\fR +.RS 4 +¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤ÎÆÉ¼è¤ê»þ¤Ë»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-f \fIscript\-file\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë(¥Ð¥Ã¥Á¡¦¥â¡¼¥É)¤òɾ²Á¤·¤Þ¤¹¡£ +.RE +.PP +\-f \- +.RS 4 +ɸ½àÆþÎϤ«¤é¥¹¥¯¥ê¥×¥È¤òÆÉ¤ß¼è¤ê¡¢¤½¤ì¤òɾ²Á¤·¤Þ¤¹(ÂÐÏ÷¿¥â¡¼¥É)¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-? +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +\-q +.RS 4 +ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¡¦¥¨¥ó¥¸¥ó¤ò°ìÍ÷ɽ¼¨¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£ .RE - -.LP .SH "°ú¿ô" -.LP -.LP -[arguments...] ¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤«¤Ä \f3\-e\fP¡¢\f3\-f\fP ¤Î¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ºÇ½é¤Î°ú¿ô¤¬¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤È¤Ê¤ê¡¢Â¾¤Î°ú¿ô¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£[arguments..] ¤È¡¢\f3\-e\fP ¤Þ¤¿¤Ï \f3\-f\fP ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î [arguments..] ¤¬¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£[arguments..]¡¢\f3\-e\fP¡¢\f3\-f\fP ¤¬¤É¤ì¤â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÂÐÏ÷¿¥â¡¼¥É¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤«¤é¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¡Öarguments¡×¤È¤¤¤¦Ì¾Á°¤Î String ÇÛÎ󷿤Υ¨¥ó¥¸¥óÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP +.PP +arguments¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤«¤Ä\fI\-e\fR¡¢\fI\-f\fR¤Î¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ºÇ½é¤Î°ú¿ô¤¬¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤È¤Ê¤ê¡¢Â¾¤Î°ú¿ô¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£arguments¤È¡¢\fI\-e\fR¤Þ¤¿¤Ï\fI\-f\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤¹¤Ù¤Æ¤Îarguments¤¬¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£arguments¡¢\fI\-e\fR¡¢\fI\-f\fR¤¬¤É¤ì¤â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÂÐÏ÷¿¥â¡¼¥É¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤«¤é¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\fIarguments\fR¤È¤¤¤¦Ì¾Á°¤Î\fIString\fRÇÛÎ󷿤Υ¨¥ó¥¸¥óÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£ .SH "Îã" -.LP -.SS -¥¤¥ó¥é¥¤¥ó¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô -.LP +.SS "¥¤¥ó¥é¥¤¥ó¡¦¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jrunscript \-e "print('hello world')" -.fl -jrunscript \-e "cat('http://java.sun.com')" -.fl -\fP +jrunscript \-e "print(\*(Aqhello world\*(Aq)" +jrunscript \-e "cat(\*(Aqhttp://www\&.example\&.com\*(Aq)" .fi - -.LP -.SS -»ØÄꤵ¤ì¤¿¸À¸ì¤ò»ÈÍѤ·¡¢»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òɾ²Á¤¹¤ë -.LP +.if n \{\ +.RE +.\} +.SS "»ØÄꤵ¤ì¤¿¸À¸ì¤Î»ÈÍѤª¤è¤Ó¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤Îɾ²Á" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jrunscript \-l js \-f test.js -.fl -\fP +jrunscript \-l js \-f test\&.js .fi - -.LP -.SS -ÂÐÏ÷¿¥â¡¼¥É -.LP +.if n \{\ +.RE +.\} +.SS "ÂÐÏ÷¿¥â¡¼¥É" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl jrunscript -.fl -js> print('Hello World\\n'); -.fl +js> print(\*(AqHello World\en\*(Aq); Hello World -.fl js> 34 + 55 -.fl -89.0 -.fl -js> t = new java.lang.Thread(function() { print('Hello World\\n'); }) -.fl +89\&.0 +js> t = new java\&.lang\&.Thread(function() { print(\*(AqHello World\en\*(Aq); }) Thread[Thread\-0,5,main] -.fl -js> t.start() -.fl +js> t\&.start() js> Hello World -.fl - -.fl -js> -.fl -\fP -.fi - -.LP -.SS -¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ØÄꤷ¤Æ¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë -.LP -.nf -\f3 -.fl -jrunscript test.js arg1 arg2 arg3 -.fl -\fP -.fi - -.LP -test.js ¤¬¼Â¹ÔÂоݤȤʤ륹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢arg1¡¢arg2¡¢¤ª¤è¤Ó arg3 ¤Ï¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤Ï¡Öarguments¡×ÇÛÎó¤ò»È¤Ã¤Æ¤³¤ì¤é¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£ -.SH "´ØÏ¢¹àÌÜ" -.LP -.LP -JavaScript ¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢jrunscript ¤Ï¡¢ºÇ½é¤Î¥æ¡¼¥¶¡¼ÄêµÁ¥¹¥¯¥ê¥×¥È¤òɾ²Á¤¹¤ëÁ°¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤äÁȤ߹þ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤·¤Þ¤¹¡£¤³¤ì¤é¤Î JavaScript ÁȤ߹þ¤ßµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Ï¡¢jsdocs ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +js> +.fi +.if n \{\ +.RE +.\} +.SS "¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ØÄꤷ¤¿¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô" +.PP +test\&.js¥Õ¥¡¥¤¥ë¤Ï¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£\fIarg1\fR¡¢\fIarg2\fR¤ª¤è¤Ó\fIarg3\fR¤Î³Æ°ú¿ô¤¬¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤ÏargumentsÇÛÎó¤ò»ÈÍѤ·¤Æ¤³¤ì¤é¤Î°ú¿ô¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jrunscript test\&.js arg1 arg2 arg3 +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.PP +JavaScript¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼ÄêµÁ¥¹¥¯¥ê¥×¥È¤òɾ²Á¤¹¤ëÁ°¤Ë¡¢\fIjrunscript\fR¥³¥Þ¥ó¥É¤Ï¤¤¤¯¤Ä¤«¤ÎÁȹþ¤ß´Ø¿ô¤äÁȹþ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤·¤Þ¤¹¡£¤³¤ì¤é¤ÎJavaScript¤ÎÁȹþ¤ß¤Ë¤Ä¤¤¤Æ¤Ï¡¢http://code\&.google\&.com/p/jsdoc\-toolkit/¤Ë¤¢¤ë +JsDoc\-Toolkit¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 index 077543a2367..0425f1af70a 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 @@ -1,142 +1,171 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jsadebugd 1 "07 May 2011" - -.LP -.SH "̾Á°" -jsadebugd \- ¥µ¡¼¥Ó¥¹¥¢¥Ó¥ê¥Æ¥£¡¼¥¨¡¼¥¸¥§¥ó¥È¥Ç¥Ð¥Ã¥°¥Ç¡¼¥â¥ó -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jsadebugd +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jsadebugd" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jsadebugd \- Java¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤ËÀܳ¤·¡¢¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jsadebugd\fP pid [ server\-id ] -.fl -\f3jsadebugd\fP executable core [ server\-id ] -.fl +\fIjsadebugd\fR \fIpid\fR [ \fIserver\-id\fR ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -pid -¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Àܳ¤¹¤ë¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID ¤Ç¤¹¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1) ¤ò»ÈÍѤ·¤Þ¤¹¡£Ã±°ì¤Î¥×¥í¥»¥¹¤ËÀܳ¤Ç¤­¤ë¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢1 ¤Ä¤ËÀ©¸Â¤µ¤ì¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -executable +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjsadebugd\fR \fIexecutable\fR \fIcore\fR [ \fIserver\-id\fR ] +.fi +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -¥³¥¢¥À¥ó¥×¤ÎºîÀ®¸µ¤Ë¤Ê¤ë Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.\} +.PP +\fIpid\fR +.RS 4 +¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Àܳ¤¹¤ë¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ID¤Ç¤¹¡£¥×¥í¥»¥¹¤ÏJava¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëJava¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£Ã±°ì¤Î¥×¥í¥»¥¹¤ËÀܳ¤Ç¤­¤ë¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢1¤Ä¤ËÀ©¸Â¤µ¤ì¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -core -¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤òÀܳ¤¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.PP +\fI¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë\fR +.RS 4 +¥³¥¢¡¦¥À¥ó¥×¤ÎºîÀ®¸µ¤ÎJava¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£ .RE - -.LP -.RS 3 -.TP 3 -server\-id -Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤ËɬÍפˤʤ롢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤Î ID ¤Ç¤¹¡£¤³¤Î ID ¤Ï¡¢¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢ÀܳÀè¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î ID ¤Ï¡¢Ã±°ì¤Î¥Þ¥·¥óÆâ¤Ç°ì°Õ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +.PP +\fI¥³¥¢\fR +.RS 4 +¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤òÀܳ¤¹¤ë¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.RE +.PP +\fIserver\-id\fR +.RS 4 +Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËɬÍפˤʤ롢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ¤ÎID¤Ç¤¹¡£¤³¤ÎID¤Ï¡¢¥ê¥â¡¼¥È¡¦¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢ÀܳÀè¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎID¤Ï¡¢Ã±°ì¤Î¥Þ¥·¥óÆâ¤Ç°ì°Õ¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jsadebugd\fP ¤Ï¡¢Java ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤ËÀܳ¤·¡¢¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£jstack(1)¡¢jmap(1)¡¢¤ª¤è¤Ó jinfo(1) ¤Ê¤É¤Î¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Java Remote Method Invocation (RMI) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤Þ¤¹¡£ \f2jsadebugd\fP ¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ -.na -\f2rmiregistry\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi ¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP +.PP +\fIjsadebugd\fR¥³¥Þ¥ó¥É¤Ï¡¢Java¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤ËÀܳ¤·¡¢¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£\fIjstack\fR¡¢\fIjmap\fR¤ª¤è¤Ó\fIjinfo\fR¤Ê¤É¤Î¥ê¥â¡¼¥È¡¦¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Java Remote Method Invocation (RMI)¤ò»ÈÍѤ·¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤Þ¤¹¡£\fIjsadebugd\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢\fIrmiregistry\fR¥³¥Þ¥ó¥É¤ÇRMI¥ì¥¸¥¹¥È¥ê¤ò¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£\fI$JAVA_HOME\fR¤ÏJDK¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f4rmiregistry \-J\-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar\fP\f3 -.fl -\fP +rmiregistry \-J\-Xbootclasspath/p:$JAVA_HOME/lib/sajdi\&.jar .fi - -.LP -.LP -¤³¤³¤Ç¡¢ \f2$JAVA_HOME\fP ¤Ï JDK ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£rmiregistry ¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢jsadebugd ¤Ïɸ½à (1099) ¥Ý¡¼¥È¤Î rmiregistry ¤òÆâÉô¤Çµ¯Æ°¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Ï¡¢SIGINT ¤òÁ÷¿®¤¹¤ë (Ctrl+C ¤ò²¡¤¹) ¤³¤È¤Ë¤è¤êÄä»ß¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3Ãí\fP \- ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng.dll ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ Windows ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖDebugging Tools For Windows¡×¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \f2PATH\fP ´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë \f2jvm.dll\fP ¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¥À¥ó¥×¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \f2set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jinfo(1) -.TP 2 -o -jmap(1) -.TP 2 -o -jps(1) -.TP 2 -o -jstack(1) -.TP 2 -o -.na -\f2rmiregistry\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi +.if n \{\ .RE - -.LP - +.\} +.PP +RMI¥ì¥¸¥¹¥È¥ê¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIjsadebugd\fR¥³¥Þ¥ó¥É¤ÏRMI¥ì¥¸¥¹¥È¥ê¤òɸ½à(1099)¥Ý¡¼¥È¤ÇÆâÉô¤Çµ¯Æ°¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Ï¡¢\fISIGINT\fR¤òÁ÷¿®¤¹¤ë¤³¤È¤Ë¤è¤êÄä»ß¤Ç¤­¤Þ¤¹¡£SIGINT¤òÁ÷¿®¤¹¤ë¤Ë¤Ï¡¢\fB[Ctrl] + [C]\fR¤ò²¡¤·¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤ÎJDK¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£\fIdbgeng\&.dll\fR¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Debugging Tools For Windows¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£\fIPATH\fR´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëjvm\&.dll¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£Îã: +\fIs\fR\fIet PATH=%JDK_HOME%\ejre\ebin\eclient;%PATH%\fR +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jinfo(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jmap(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstack(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +rmiregistry(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 index 043a6fb72a3..0afbad29b1d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 @@ -1,172 +1,210 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jstack 1 "07 May 2011" - -.LP -.SH "̾Á°" -jstack \- ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹ -.br - -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.br -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ -.TP 2 -o -´ûÃΤΥХ° -.br -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jstack +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jstack" "1" "2013ǯ11·î21Æü" "JDK 8" "¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jstack \- Java¥×¥í¥»¥¹¡¢¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤ËÂФ¹¤ëJava¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jstack\fP [ option ] pid -.fl -\f3jstack\fP [ option ] executable core -.fl -\f3jstack\fP [ option ] [server\-id@]remote\-hostname\-or\-IP -.fl +\fIjstack\fR [ \fIoptions\fR ] \fIpid\fR .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.LP -³Æ¥ª¥×¥·¥ç¥ó¤Ï¸ß¤¤¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -pid -°õºþ¤¹¤ë¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤Î¥×¥í¥»¥¹ ID ¤Ç¤¹¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1) ¤ò»ÈÍѤ·¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -executable -¥³¥¢¥À¥ó¥×¤ÎºîÀ®¸µ¤Î Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ -.br -.TP 3 -core -°õºþ¤¹¤ë¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤Î¥³¥¢¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ -.br -.TP 3 -remote\-hostname\-or\-IP -¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼ (jsadebugd(1) ¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£ -.br -.TP 3 -server\-id -Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤Î ID ¤Ç¤¹¡£ +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjstack\fR [ \fIoptions\fR ] \fIexecutable\fR \fIcore\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIjstack\fR [ \fIoptions\fR ] [ \fIserver\-id\fR@ ] \fIremote\-hostname\-or\-IP\fR +.fi +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIpid\fR +.RS 4 +½ÐÎϤ¹¤ë¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤Î¥×¥í¥»¥¹ID¤Ç¤¹¡£¥×¥í¥»¥¹¤ÏJava¥×¥í¥»¥¹¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëJava¥×¥í¥»¥¹¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢jps(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\fI¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë\fR +.RS 4 +¥³¥¢¡¦¥À¥ó¥×¤ÎºîÀ®¸µ¤ÎJava¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fI¥³¥¢\fR +.RS 4 +½ÐÎϤ¹¤ë¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤Î¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.RE +.PP +\fIremote\-hostname\-or\-IP\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Î\fI¥Û¥¹¥È̾\fR¤Þ¤¿¤Ï\fIIP\fR¥¢¥É¥ì¥¹¡£jsadebugd(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIserver\-id\fR +.RS 4 +Ê£¿ô¤Î¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤¬Æ±°ì¤Î¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¸ÇÍ­¤ÎID¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3jstack\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ¥×¥í¥»¥¹¤ä¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤ËÂФ¹¤ë Java ¥¹¥ì¥Ã¥É¤Î Java ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò°õºþ¤·¤Þ¤¹¡£Java ¥Õ¥ì¡¼¥à¤´¤È¤Ë¡¢¥Õ¥ë¥¯¥é¥¹Ì¾¡¢¥á¥½¥Ã¥É̾¡¢¡Öbci¡×(¥Ð¥¤¥È¥³¡¼¥É¥¤¥ó¥Ç¥Ã¥¯¥¹)¡¢¤ª¤è¤Ó¹ÔÈÖ¹æ (ÍøÍѲÄǽ¤Ê¾ì¹ç) ¤¬°õºþ¤µ¤ì¤Þ¤¹¡£\-m ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢jstack ¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¹¥ì¥Ã¥É¤Î Java ¥Õ¥ì¡¼¥à¤È¥Í¥¤¥Æ¥£¥Ö¥Õ¥ì¡¼¥à¤ÎξÊý¤ò¡¢¡Öpc¡×(¥×¥í¥°¥é¥à¥«¥¦¥ó¥¿) ¤È¤È¤â¤Ë°õºþ¤·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¥Õ¥ì¡¼¥à¤´¤È¤Ë¡¢¡Öpc¡×¤Ë¤â¤Ã¤È¤â¶á¤¤¥Í¥¤¥Æ¥£¥Ö¥·¥ó¥Ü¥ë (ÍøÍѲÄǽ¤Ê¾ì¹ç) ¤¬°õºþ¤µ¤ì¤Þ¤¹¡£C++ ʬ²ò̾¤Ïʬ²ò²ò½ü¤µ¤ì¤Þ¤»¤ó¡£C++ ̾¤òʬ²ò²ò½ü¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Î½ÐÎϤò \f3c++filt\fP ¤Ë¥Ñ¥¤¥×¤·¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.br - -.LP +.PP +\fIjstack\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿Java¥×¥í¥»¥¹¡¢¥³¥¢¡¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤ËÂФ¹¤ëJava¥¹¥ì¥Ã¥É¤ÎJava¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£Java¥Õ¥ì¡¼¥à¤´¤È¤Ë¡¢¥Õ¥ë¥¯¥é¥¹Ì¾¡¢¥á¥½¥Ã¥É̾¡¢¥Ð¥¤¥È¥³¡¼¥É¡¦¥¤¥ó¥Ç¥Ã¥¯¥¹(bci)¡¢¤ª¤è¤Ó¹ÔÈÖ¹æ(ÍøÍѲÄǽ¤Ê¾ì¹ç)¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-m\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢\fIjstack\fR¥³¥Þ¥ó¥É¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¹¥ì¥Ã¥É¤ÎJava¥Õ¥ì¡¼¥à¤È¥Í¥¤¥Æ¥£¥Ö¡¦¥Õ¥ì¡¼¥à¤ÎξÊý¤ò¡¢¥×¥í¥°¥é¥à¡¦¥«¥¦¥ó¥¿(PC)¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¡¦¥Õ¥ì¡¼¥à¤´¤È¤Ë¡¢PC¤ËºÇ¤â¶á¤¤¥Í¥¤¥Æ¥£¥Ö¡¦¥·¥ó¥Ü¥ë(ÍøÍѲÄǽ¤Ê¾ì¹ç)¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£C++ʬ²ò̾¤Ïʬ²ò²ò½ü¤µ¤ì¤Þ¤»¤ó¡£C++̾¤òʬ²ò²ò½ü¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Î½ÐÎϤò\fIc++filt\fR¤Ë¥Ñ¥¤¥×¤·¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬64¥Ó¥Ã¥ÈJava²¾ÁÛ¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fI\-J\-d64\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(Îã: +\fIjstack \-J\-d64 \-m pid\fR)¡£ +.PP +\fBÃí°Õ\fR +¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤ÎJDK¤Î¥ê¥ê¡¼¥¹¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng\&.dll¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤Windows¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Debugging Tools For Windows¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢\fIPATH\fR´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëjvm\&.dll¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¡¦¥À¥ó¥×¡¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jstack \-J\-d64 \-m pid -.fl -\fP +set PATH=<jdk>\ejre\ebin\eclient;%PATH% .fi - -.LP -.LP -\f3Ãí\fP \- ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£dbgeng.dll ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ Windows ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖDebugging Tools For Windows¡×¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£¤Þ¤¿¡¢ \f2PATH\fP ´Ä¶­ÊÑ¿ô¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë \f2jvm.dll\fP ¤Î¾ì½ê¡¢¤Þ¤¿¤Ï¥¯¥é¥Ã¥·¥å¥À¥ó¥×¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿¾ì½ê¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \f2set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP -.LP +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-F -¡Öjstack [\-l] pid¡×¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¥¹¥¿¥Ã¥¯¥À¥ó¥×¤ò¶¯À©¤·¤Þ¤¹¡£ -.TP 3 -\-l -Ĺ·Á¼°¤Î¥ê¥¹¥È¡£½êÍ­ java.util.concurrent ¤Î -.na -\f2½êÍ­¤Ç¤­¤ë¥·¥ó¥¯¥í¥Ê¥¤¥¶\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html¤Î°ìÍ÷¤Ê¤É¡¢¥í¥Ã¥¯¤Ë¤Ä¤¤¤Æ¤ÎÄɲþðÊó¤ò°õºþ¤·¤Þ¤¹¡£ -.TP 3 -\-m -º®¹ç¥â¡¼¥É (Java ¤ª¤è¤Ó¥Í¥¤¥Æ¥£¥Ö C/C++ ¥Õ¥ì¡¼¥à¤ÎξÊý) ¤Î¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò°õºþ¤·¤Þ¤¹¡£ -.TP 3 -\-h -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò°õºþ¤·¤Þ¤¹¡£ -.br -.br -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ -.br +.PP +\-F +.RS 4 +\fIjstack\fR +[\fI\-l\fR] +\fIpid\fR¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¥¹¥¿¥Ã¥¯¡¦¥À¥ó¥×¤ò¶¯À©¤·¤Þ¤¹¡£ .RE - -.LP +.PP +\-l +.RS 4 +Ĺ·Á¼°¤Î¥ê¥¹¥È¡£½êÍ­\fIjava\&.util\&.concurrent\fR¤Î½êÍ­¤Ç¤­¤ë¥·¥ó¥¯¥í¥Ê¥¤¥¶¤Î°ìÍ÷¤Ê¤É¡¢¥í¥Ã¥¯¤Ë¤Ä¤¤¤Æ¤ÎÄɲþðÊó¤ò°õºþ¤·¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer\&.html¤Ë¤¢¤ë +\fIAbstractOwnableSynchronizer\fR¥¯¥é¥¹µ­½Ò¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-m +.RS 4 +Java¤ª¤è¤Ó¥Í¥¤¥Æ¥£¥ÖC/C++¥Õ¥ì¡¼¥à¤ÎξÊý¤ò»ý¤Äº®¹ç¥â¡¼¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-h +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.SH "´ûÃΤÎÉÔ¶ñ¹ç" +.PP +º®¹ç¥â¡¼¥É¤Î¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤Ç¤Ï¡¢\fI\-m\fR¥ª¥×¥·¥ç¥ó¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥µ¡¼¥Ð¡¼¤Ç¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£ .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -pstack(1) -.TP 2 -o -c++filt(1) -.TP 2 -o -jps(1) -.TP 2 -o -jsadebugd(1) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +pstack(1) .RE - -.LP -.SH "´ûÃΤΥХ°" -.LP -.LP -º®¹ç¥â¡¼¥É¤Î¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹ (\-m ¥ª¥×¥·¥ç¥ó»ÈÍÑ) ¤Ï¡¢¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Ç¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£ -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +C++filt(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jsadebugd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 index 07e724add93..046a2f37b7f 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 @@ -1,5446 +1,619 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jstat 1 "07 May 2011" - -.LP -.SH "̾Á°" -jstat \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×¥Ç¡¼¥¿´Æ»ë¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -²¾ÁÛ¥Þ¥·¥ó¼±ÊÌ»Ò -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.RS 3 -.TP 2 -* -°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó -.TP 2 -* -½ÐÎÏ¥ª¥×¥·¥ç¥ó -.RE -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jstat +.\" Language: English +.\" Date: 2011ǯ5·î10Æü +.\" SectDesc: ¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jstat" "1" "2011ǯ5·î10Æü" "JDK 8" "¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jstat \- Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤ÎÅý·×¤ò´Æ»ë¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] -.fl +\fIjstat\fR [ \fIgeneralOption\fR | \fIoutputOptions vmid\fR [ \fIinterval\fR[s|ms] [ \fIcount \fR] ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -generalOption -ñÆÈ¤Ç»ÈÍѤ¹¤ë°ìÈÌŪ¤Ê¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹ (\-help¡¢\-options¡¢¤Þ¤¿¤Ï \-version)¡£ -.TP 3 -outputOptions -ñ°ì¤Î \f2statOption\fP ¤È¡¢\-t¡¢\-h¡¢¤ª¤è¤Ó \-J ¥ª¥×¥·¥ç¥ó¤Î¤¤¤º¤ì¤«¤òÁȤ߹ç¤ï¤»¤¿¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ -.TP 3 -vmid -¥¿¡¼¥²¥Ã¥È¤Î Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¢¤ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤǤ¹¡£°ìÈÌŪ¤Ê¹½Ê¸¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP] -.fl -.fi -vmid ʸ»úÎó¤Î¹½Ê¸¤ÎÂçÉôʬ¤Ï¡¢URI ¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£\f2vmid\fP ¤Ï¡¢¥í¡¼¥«¥ë JVM ¤òɽ¤¹Ã±½ã¤ÊÀ°¿ô¤«¤é¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¤ª¤è¤Ó¾¤Î¼ÂÁõ¸ÇÍ­¤ÎÃͤò¼¨¤¹Ê£»¨¤Ê¹½Â¤¤Þ¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ë°Û¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -interval[s|ms] -Éà (s) ¤Þ¤¿¤Ï¥ß¥êÉà (ms) ¤Î¤¦¤Á»ØÄꤷ¤¿Ã±°Ì¤Ç¤Î¥µ¥ó¥×¥ê¥ó¥°´Ö³Ö¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Îñ°Ì¤Ï¥ß¥êÉäǤ¹¡£Àµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢\f3jstat\fP ¤Ï interval ¤´¤È¤Ë½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£ -.TP 3 -count -ɽ¼¨¤¹¤ë¥µ¥ó¥×¥ë¿ô¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ̵¸Â¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢\f3jstat\fP ¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤Þ¤¿¤Ï \f3jstat\fP ¥³¥Þ¥ó¥É¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢Åý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£Àµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jstat\fP ¥Ä¡¼¥ë¤Ï¡¢ÀßÃÖ¤µ¤ì¤Æ¤¤¤ë HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Åý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È JVM ¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡ¢¤Ä¤Þ¤ê²¼µ­¤Î \f2vmid\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3Ãí\fP: ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¸½ºß¡¢Windows 98 ¤ª¤è¤Ó Windows Me ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ -.br - -.LP -.SS -²¾ÁÛ¥Þ¥·¥ó¼±ÊÌ»Ò -.LP -.LP -\f2vmid\fP ʸ»úÎó¤Î¹½Ê¸¤ÎÂçÉôʬ¤Ï¡¢URI ¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP] -.fl -.fi - -.LP -.RS 3 -.TP 3 -protocol -ÄÌ¿®¥×¥í¥È¥³¥ë¤Ç¤¹¡£\f2protocol\fP ¤¬¾Êά¤µ¤ì¡¢\f2hostname\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£\f2protocol\fP ¤¬¾Êά¤µ¤ì¡¢\f2hostname\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥×¥í¥È¥³¥ë¤Ï \f3rmi\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -lvmid -¥¿¡¼¥²¥Ã¥È JVM ¤Î¥í¡¼¥«¥ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤǤ¹¡£\f2lvmid\fP ¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î JVM ¤ò°ì°Õ¤Ë¼±Ê̤¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎÃͤǤ¹¡£\f2lvmid\fP ¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤÎÍ£°ì¤Îɬ¿ÜÍ×ÁǤǤ¹¡£\f2lvmid\fP ¤Ï¡¢ÀäÂФȤ¤¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢°ìÈÌŪ¤Ë¤Ï¥¿¡¼¥²¥Ã¥È JVM ¥×¥í¥»¥¹¤ËÂФ¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¡£jps(1) ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\f2lvmid\fP ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢Unix ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï\f3ps\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢Windows ¤Ç¤Ï Windows ¥¿¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¡¼¤ò»ÈÍѤ·¤Æ¡¢\f2lvmid\fP ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.TP 3 -hostname -¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£\f2hostname\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -port -¥ê¥â¡¼¥È¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Ç¤¹¡£\f2hostname\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢\f2protocol\fP ¤ÇºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2port\fP ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢\f2port\fP ¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î \f3rmi\fP ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢\f2port\fP ¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î rmiregistry ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£\f2port\fP ¤¬¾Êά¤µ¤ì¡¢\f2protocol\fP ¤Ç \f3rmi\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î rmiregistry ¥Ý¡¼¥È (1099) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 3 -servername -¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\f3rmi\fP ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¤Ï¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î RMI ¥ê¥½¡¼¥¹¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò¼¨¤·¤Þ¤¹¡£ +.\} +.PP +\fIgeneralOption\fR +.RS 4 +ñÆÈ¤Ç»ÈÍѤ¹¤ë°ìÈÌŪ¤Ê¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Ç¤¹(\fI\-help\fR¤Þ¤¿¤Ï\fI\-options\fR)¡£°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIoutputOptions\fR +.RS 4 +ñ°ì¤Î\fIstatOption\fR¤È\fI\-t\fR¡¢\fI\-h\fR¤ª¤è¤Ó\fI\-J\fR¤Î¤¤¤º¤ì¤«¤Î¥ª¥×¥·¥ç¥ó¤Ç¹½À®¤µ¤ì¤ë1¤Ä°Ê¾å¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIvmid\fR +.RS 4 +¥¿¡¼¥²¥Ã¥ÈJVM¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¢¤ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤǤ¹¡£°ìÈÌŪ¤Ê¹½Ê¸¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +[protocol:][//]lvmid[@hostname[:port]/servername] +.fi +.if n \{\ +.RE +.\} +\fIvmid\fRʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£\fIvmid\fRʸ»úÎó¤Ï¡¢¥í¡¼¥«¥ëJVM¤òɽ¤¹Ã±½ã¤ÊÀ°¿ô¤«¤é¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¤ª¤è¤Ó¾¤Î¼ÂÁõ¸ÇÍ­¤ÎÃͤò¼¨¤¹Ê£»¨¤Ê¹½Â¤¤Þ¤Ç¡¢ÍÍ¡¹¤Ë°Û¤Ê¤ê¤Þ¤¹¡£²¾ÁÛ¥Þ¥·¥ó¼±Ê̻Ҥò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIinterval\fR [s|ms] +.RS 4 +ÉÃ(s)¤Þ¤¿¤Ï¥ß¥êÉÃ(ms)¤Î¤¦¤Á»ØÄꤷ¤¿Ã±°Ì¤Ç¤Î¥µ¥ó¥×¥ê¥ó¥°´Ö³Ö¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Îñ°Ì¤Ï¥ß¥êÉäǤ¹¡£Àµ¤ÎÀ°¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ØÄꤷ¤¿¾ì¹ç¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤Ï³Æ´Ö³Ö¤Ç½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\fIcount\fR +.RS 4 +ɽ¼¨¤¹¤ë¥µ¥ó¥×¥ë¿ô¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ̵¸Â¤Ç¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤Þ¤¿¤Ï\fIjstat\fR¥³¥Þ¥ó¥É¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤ÏÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ÎÃͤϡ¢Àµ¤ÎÀ°¿ô¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjstat\fR¥³¥Þ¥ó¥É¤Ï¡¢ÀßÃÖ¤µ¤ì¤Æ¤¤¤ëJava HotSpot VM¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Åý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈJVM¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻Ҥޤ¿¤Ï\fIvmid\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¤Þ¤¹¡£ +.SH "²¾ÁÛ¥Þ¥·¥ó¼±ÊÌ»Ò" +.PP +\fIvmid\fRʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI¤Î¹½Ê¸¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +[protocol:][//]lvmid[@hostname[:port]/servername] +.fi +.if n \{\ +.RE +.\} +.PP +\fIprotocol\fR +.RS 4 +ÄÌ¿®¥×¥í¥È¥³¥ë¤Ç¤¹¡£\fIprotocol\fRÃͤ¬¾Êά¤µ¤ì¡¢¥Û¥¹¥È̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£\fIprotocol\fRÃͤ¬¾Êά¤µ¤ì¡¢¥Û¥¹¥È̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥×¥í¥È¥³¥ë¤Ï\fIrmi\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\fIlvmid\fR +.RS 4 +¥¿¡¼¥²¥Ã¥ÈJVM¤Î¥í¡¼¥«¥ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤǤ¹¡£\fIlvmid\fR¤Ï¡¢¥·¥¹¥Æ¥à¾å¤ÎJVM¤ò°ì°Õ¤Ë¼±Ê̤¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤ÎÃͤǤ¹¡£\fIlvmid\fR¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤÎÍ£°ì¤Îɬ¿ÜÍ×ÁǤǤ¹¡£\fIlvmid\fR¤Ï¡¢°ìÈÌŪ¤Ë¤Ï¥¿¡¼¥²¥Ã¥ÈJVM¥×¥í¥»¥¹¤ËÂФ¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¤¬¡¢É¬¤º¤·¤â¤½¤¦¤Ç¤¢¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£\fIjps\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢\fIlvmid\fR¤òÆÃÄê¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢UNIX¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï\fIps\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢Windows¤Ç¤ÏWindows¥¿¥¹¥¯¡¦¥Þ¥Í¡¼¥¸¥ã¤ò»ÈÍѤ·¤Æ¡¢\fIlvmid\fR¤òÆÃÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\fIhostname\fR +.RS 4 +¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤ÏIP¥¢¥É¥ì¥¹¤Ç¤¹¡£\fIhostname\fRÃͤ¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\fIport\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È¤Ç¤¹¡£\fIhostname\fRÃͤ¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤«¡¢ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤¬\fIprotocol\fRÃͤ˻ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIport\fRÃͤÏ̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\fIport\fR¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î\fIrmi\fR¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¥Ý¡¼¥ÈÃͤϡ¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Îrmiregistry¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£\fIport\fRÃͤ¬¾Êά¤µ¤ì¡¢\fIprotocol\fRÃͤÇ\fIrmi\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Îrmiregistry¥Ý¡¼¥È(1099)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIservername\fR +.RS 4 +\fIservername\fR¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¡¦¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£\fIrmi\fR¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤ì¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤ÎRMI¥ê¥½¡¼¥¹¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤òɽ¤·¤Þ¤¹¡£ .RE - -.LP .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f3jstat\fP ¥³¥Þ¥ó¥É¤Ï¡¢°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤È½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Î 2 ¤Ä¤Î¥¿¥¤¥×¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢\f3jstat\fP ¤Ï´Êñ¤Ê»ÈÍÑΨ¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢Åý·×¥Ç¡¼¥¿½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤ò»ØÄꤷ¤Þ¤¹¡£ -.br - -.LP -.LP -\f3Ãí\fP: ¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤È¤½¤Îµ¡Ç½¤Ï¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤Þ¤¿¤ÏÇѻߤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.SS -°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó -.LP -.LP +.PP +\fIjstat\fR¥³¥Þ¥ó¥É¤Ï¡¢°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤È½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Î2¤Ä¤Î¥¿¥¤¥×¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤Ï´Êñ¤Ê»ÈÍÑΨ¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢Åý·×¥Ç¡¼¥¿½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤¬·è¤Þ¤ê¤Þ¤¹¡£ +.PP +¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤È¤½¤Îµ¡Ç½¤Ï¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤Þ¤¿¤ÏÇѻߤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.SS "°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó" +.PP ¤¤¤º¤ì¤«¤Î°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥é¥á¡¼¥¿¤Ï°ìÀÚ»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ -.LP -.RS 3 -.TP 3 -\-help -¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-version -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-options -Åý·×¥Ç¡¼¥¿¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£²¼µ­¤Î¡Ö½ÐÎÏ¥ª¥×¥·¥ç¥ó¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ .RE - -.LP -.SS -½ÐÎÏ¥ª¥×¥·¥ç¥ó -.LP -.LP -°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ë¡¢½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3jstat\fP ¤Î½ÐÎÏ¤ÎÆâÍÆ¤ª¤è¤Ó·Á¼°¤ò»ØÄꤷ¡¢Ã±°ì¤Î \f2statOption\fP ¤È¡¢Â¾¤Î¤¤¤º¤ì¤«¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó (\-h¡¢\-t¡¢¤ª¤è¤Ó \-J) ¤È¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£\f2statOption\fP ¤ÏºÇ½é¤Ëµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -½ÐÎϤϡ¢³ÆÎ󤬶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥Æ¡¼¥Ö¥ë¤Î·Á¼°¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥È¥ë¤ò´Þ¤à¥Ø¥Ã¥À¡¼¹Ô¤Ë¤è¤Ã¤Æ¡¢³ÆÎó¤Î°ÕÌ£¤¬¤ï¤«¤ê¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Îɽ¼¨ÉÑÅÙ¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢\f3\-h\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Îó¤Î¥Ø¥Ã¥À¡¼Ì¾¤Ï°ìÈ̤ˡ¢¥ª¥×¥·¥ç¥ó´Ö¤Ç°ì´ÓÀ­¤¬Êݤ¿¤ì¤Æ¤¤¤Þ¤¹¡£°ìÈ̤ˡ¢2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ÇƱ¤¸Ì¾Á°¤ÎÎ󤬻ÈÍѤµ¤ì¤Æ¤¤¤ì¤Ð¡¢2 ¤Ä¤ÎÎó¤Î¥Ç¡¼¥¿¥½¡¼¥¹¤ÏƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\f3\-t\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ \f2Timestamp ¤È¤¤¤¦¥é¥Ù¥ë¤ÎÉÕ¤¤¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÎ󤬡¢\fP ½ÐÎϤκǽé¤ÎÎó¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ \f2Timestamp\fP Îó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÀºÅ٤ϡ¢¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¡¢ÂçÎ̤ÎÉé²Ù¤Î¤«¤«¤Ã¤¿¥·¥¹¥Æ¥à¤Ç¤Î¥¹¥ì¥Ã¥É¥¹¥±¥¸¥å¡¼¥ë¤ÎÃÙ±ä¤Ë¤è¤êÊÑÆ°¤·¤Þ¤¹¡£ -.LP -.LP -\f2interval\fP ¤ª¤è¤Ó \f2count\fP ¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤Æ¡¢\f3jstat\fP ¤¬¤½¤Î½ÐÎϤòɽ¼¨¤¹¤ëÉÑÅ٤Ȳó¿ô¤ò¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f3Ãí\fP: ¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤³¤Î·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢\f3jstat\fP ¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ÏºîÀ®¤·¤Ê¤¤¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£\f3jstat\fP ½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ëα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 3 -\-statOption -\f3jstat\fP ¤¬É½¼¨¤¹¤ëÅý·×¥Ç¡¼¥¿¾ðÊó¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤Îɽ¤Ë¡¢ÍøÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£¤¢¤ëÆÃÄê¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥¤¥ó¥¹¥È¡¼¥ë¤Î¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤Î \f3\-options\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£ -.br -.br -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¯¥é¥¹¥í¡¼¥À¡¼¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -HotSpot Just\-in\-Time ¥³¥ó¥Ñ¥¤¥é¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¤Â头¤È¤ÎÍÆÎ̤ÈÂбþ¤¹¤ëÎΰè¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍ× (\f3\-gcutil\fP ¤ÈƱ¤¸) ¤È¡¢Ä¾Á°¤ª¤è¤Ó¸½ºß (ŬÍѲÄǽ¤Ê¾ì¹ç) ¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Î¸¶°ø -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤Î¥µ¥¤¥º¤ÈÂбþ¤¹¤ëÎΰè¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Â太¤è¤Ó Permanent À¤Âå¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤Î¥µ¥¤¥º¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤Î¥µ¥¤¥º¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿ -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍ× -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -HotSpot ¥³¥ó¥Ñ¥¤¥ëÊýË¡¤ÎÅý·×¥Ç¡¼¥¿ -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥ª¥×¥·¥ç¥ó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wclass -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wcompiler -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgc -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgccapacity -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgccause -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcnew -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcnewcapacity -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcold -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcoldcapacity -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcpermcapacity -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wgcutil -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wprintcompilation -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ɽ¼¨ÆâÍÆ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 248 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥ª¥×¥·¥ç¥ó\fP\h'|\n(41u'\f3ɽ¼¨ÆâÍÆ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'class\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'compiler\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gc\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gccapacity\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gccause\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcnew\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcnewcapacity\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcold\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcoldcapacity\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcpermcapacity\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'gcutil\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'printcompilation\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-52 -.TP 3 -\-h n -\f2n\fP ¥µ¥ó¥×¥ë (½ÐÎϹÔ) ¤´¤È¤ËÎó¥Ø¥Ã¥À¡¼¤òɽ¼¨¡£ ¤¿¤À¤·¡¢\f2n\fP ¤ÏÀµ¤ÎÀ°¿ôÃÍ¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 0¡£ ¤³¤Î¤È¤­¡¢¥Ç¡¼¥¿¤ÎºÇ½é¤Î¹Ô¤Î¾å¤ËÎó¥Ø¥Ã¥À¡¼¤¬É½¼¨¤µ¤ì¤ë -.TP 3 -\-t n -¥¿¥¤¥à¥¹¥¿¥ó¥×Îó¤ò½ÐÎϤκǽé¤ÎÎó¤È¤·¤ÆÉ½¼¨¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö -.TP 3 -\-JjavaOption -\f2javaOption\fP ¤ò \f3java\fP ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ØÅϤ¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Öjava(1)¡×¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-options +.RS 4 +Static¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SS "½ÐÎÏ¥ª¥×¥·¥ç¥ó" +.PP +°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ë¡¢½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤Î½ÐÎÏ¤ÎÆâÍÆ¤È·Á¼°¤ò·èÄꤷ¡¢Ã±°ì¤Î\fIstatOption\fR¤È¤¤¤º¤ì¤«¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó(\fI\-h\fR¡¢\fI\-t\fR¤ª¤è¤Ó\fI\-J\fR)¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£\fIstatOption\fR¤ÏºÇ½é¤Ëµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +½ÐÎϤϡ¢³ÆÎ󤬶õÇò¤Ç¶èÀÚ¤é¤ì¤¿É½¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¥¿¥¤¥È¥ë¤ò´Þ¤à¥Ø¥Ã¥À¡¼¹Ô¤Ë¤è¤Ã¤Æ¡¢³ÆÎó¤Î°ÕÌ£¤¬¤ï¤«¤ê¤Þ¤¹¡£¥Ø¥Ã¥À¡¼¤Îɽ¼¨ÉÑÅÙ¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢\fI\-h\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Îó¤Î¥Ø¥Ã¥À¡¼Ì¾¤Ï¡¢ÍÍ¡¹¤Ê¥ª¥×¥·¥ç¥ó´Ö¤Ç°ì´ÓÀ­¤¬Êݤ¿¤ì¤Æ¤¤¤Þ¤¹¡£°ìÈ̤ˡ¢2¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ÇƱ¤¸Ì¾Á°¤ÎÎ󤬻ÈÍѤµ¤ì¤Æ¤¤¤ì¤Ð¡¢2¤Ä¤ÎÎó¤Î¥Ç¡¼¥¿¡¦¥½¡¼¥¹¤ÏƱ¤¸¤Ç¤¹¡£ +.PP +\fI\-t\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Timestamp¤È¤¤¤¦¥é¥Ù¥ë¤ÎÉÕ¤¤¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÎ󤬡¢½ÐÎϤκǽé¤ÎÎó¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£TimestampÎó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤Îµ¯Æ°¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÀºÅ٤ϡ¢ÍÍ¡¹¤ÊÍ×°ø¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¡¢ÂçÎ̤ÎÉé²Ù¤Î¤«¤«¤Ã¤¿¥·¥¹¥Æ¥à¤Ç¤Î¥¹¥ì¥Ã¥É¡¦¥¹¥±¥¸¥å¡¼¥ë¤ÎÃÙ±ä¤Ë¤è¤êÊÑÆ°¤·¤Þ¤¹¡£ +.PP +interval¤ª¤è¤Ócount¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤Æ¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤¬¤½¤Î½ÐÎϤòɽ¼¨¤¹¤ëÉÑÅ٤Ȳó¿ô¤ò¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤³¤Î·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ÏºîÀ®¤·¤Ê¤Ç¤¯¤À¤µ¤¤¡£\fIjstat\fR¥³¥Þ¥ó¥É¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤Ëα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-\fIstatOption\fR +.RS 4 +\fIjstat\fR¥³¥Þ¥ó¥É¤¬É½¼¨¤¹¤ëÅý·×¥Ç¡¼¥¿¾ðÊó¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤Ë¡¢ÍøÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£ÆÃÄê¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡¦¥¤¥ó¥¹¥È¡¼¥ë¤Î¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢°ìÈÌŪ¤Ê¥ª¥×¥·¥ç¥ó¤Î\fI\-options\fR¤ò»ÈÍѤ·¤Þ¤¹¡£Stat¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó½ÐÎϤò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fIclass\fR: ¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIcompiler\fR: Java HotSpot VM Just\-in\-Time¥³¥ó¥Ñ¥¤¥é¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgc\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgccapacity\fR: À¤Â头¤È¤ÎÍÆÎ̤ÈÂбþ¤¹¤ëÎΰè¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgccause\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î¥µ¥Þ¥ê¡¼(\fI\-gcutil\fR¤ÈƱ¤¸)¤È¡¢Ä¾Á°¤ª¤è¤Ó¸½ºß(ŬÍѲÄǽ¤Ê¾ì¹ç)¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤Î¸¶°ø¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcnew\fR: NewÀ¤Âå¤Îưºî¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcnewcapacity\fR: NewÀ¤Âå¤Î¥µ¥¤¥º¤ÈÂбþ¤¹¤ëÎΰè¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcold\fR: OldÀ¤Âå¤Îưºî¤È¥á¥¿¥¹¥Ú¡¼¥¹¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcoldcapacity\fR: OldÀ¤Âå¤Î¥µ¥¤¥º¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcmetacapacity\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤Î¥µ¥¤¥º¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIgcutil\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¥µ¥Þ¥ê¡¼¤Ë´Ø¤¹¤ëÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +\fIprintcompilation\fR: Java HotSpot VM¥³¥ó¥Ñ¥¤¥ë¡¦¥á¥½¥Ã¥É¤ÎÅý·×¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-h \fIn\fR +.RS 4 +\fIn\fR¥µ¥ó¥×¥ë(½ÐÎϹÔ)¤´¤È¤ËÎó¥Ø¥Ã¥À¡¼¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢\fIn\fR¤ÏÀµ¤ÎÀ°¿ôÃͤǤ¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ0¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¥Ç¡¼¥¿¤ÎºÇ½é¤Î¹Ô¤Î¾å¤ËÎó¥Ø¥Ã¥À¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-t +.RS 4 +¥¿¥¤¥à¥¹¥¿¥ó¥×Îó¤ò½ÐÎϤκǽé¤ÎÎó¤È¤·¤ÆÉ½¼¨¤·¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤Ç¤¹¡£ +.RE +.PP +\-J\fIjavaOption\fR +.RS 4 +\fIjavaOption\fR¤òJava¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SS "Stat¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó½ÐÎÏ" +.PP +¼¡¤Î¾ðÊó¤Ï¡¢\fIjstat\fR¥³¥Þ¥ó¥É¤¬³Æ\fIstatOption\fR¤Ë¤Ä¤¤¤Æ½ÐÎϤ¹¤ëÎó¤ò¤Þ¤È¤á¤¿¤â¤Î¤Ç¤¹¡£ +.PP +\-class \fIoption\fR +.RS 4 +¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fILoaded\fR: ¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô¡£ +.sp +\fIBytes\fR: ¥í¡¼¥É¤µ¤ì¤¿KB¤Î¿ô¡£ +.sp +\fIUnloaded\fR: ¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô¡£ +.sp +\fIBytes\fR: ¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿KB¤Î¿ô¡£ +.sp +\fITime\fR: ¥¯¥é¥¹¤Î¥í¡¼¥É¤ä¥¢¥ó¥í¡¼¥É½èÍý¤ËÍפ·¤¿»þ´Ö¡£ +.RE +.PP +\-compiler \fIoption\fR +.RS 4 +Java HotSpot VM Just\-in\-Time¥³¥ó¥Ñ¥¤¥é¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fICompiled\fR: ¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¿ô¡£ +.sp +\fIFailed\fR: ¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¿ô¡£ +.sp +\fIInvalid\fR: ̵¸ú¤Ë¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¿ô¡£ +.sp +\fITime\fR: ¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¼Â¹Ô¤ËÍפ·¤¿»þ´Ö¡£ +.sp +\fIFailedType\fR: ºÇ¸å¤Ë¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¤¥×¡£ +.sp +\fIFailedMethod\fR: ºÇ¸å¤Ë¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É¡£ +.RE +.PP +\-gc \fIoption\fR +.RS 4 +¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIS0C\fR: SurvivorÎΰè0¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS1C\fR: SurvivorÎΰè1¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS0U\fR: SurvivorÎΰè0¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIS1U\fR: SurvivorÎΰè1¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIEC\fR: EdenÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIEU\fR: EdenÎΰè¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIOC\fR: OldÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOU\fR: OldÎΰè¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIMC\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIMU\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤Î¿ô¡£ +.sp +\fIYGCT\fR: ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-gccapacity \fIoption\fR +.RS 4 +¥á¥â¥ê¡¼¡¦¥×¡¼¥ëÀ¤Â太¤è¤ÓÎΰèÍÆÎÌ¡£ +.sp +\fINGCMN\fR: NewÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fINGCMX\fR: NewÀ¤Âå¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fINGC\fR: NewÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS0C\fR: SurvivorÎΰè0¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS1C\fR: SurvivorÎΰè1¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIEC\fR: EdenÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOGCMN\fR: OldÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fIOGCMX\fR: OldÀ¤Âå¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIOGC\fR: OldÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOC\fR: OldÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIMCMN\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fIMCMX\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIMC\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.RE +.PP +\-gccause \fIoption\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-gcutil\fR¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î¥µ¥Þ¥ê¡¼¤òɽ¼¨¤·¤Þ¤¹¤¬¡¢ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤È(ŬÍѲÄǽ¤Ê¾ì¹ç¤Ï)¸½ºß¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤Î¸¶°ø¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\fI\-gcutil\fR¤Ç°ìÍ÷ɽ¼¨¤µ¤ì¤ëÎó¤Î¤Û¤«¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¼¡¤ÎÎó¤¬Äɲ䵤ì¤Þ¤¹¡£ +.sp +¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¡¦¥¤¥Ù¥ó¥È¤ò´Þ¤à¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¡£ +.sp +\fILGCC\fR: ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø¡£ +.sp +\fIGCC\fR: ¸½ºß¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø¡£ +.RE +.PP +\-gcnew \fIoption\fR +.RS 4 +NewÀ¤Âå¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIS0C\fR: SurvivorÎΰè0¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS1C\fR: SurvivorÎΰè1¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS0U\fR: SurvivorÎΰè0¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIS1U\fR: SurvivorÎΰè1¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fITT\fR: ÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ¡£ +.sp +\fIMTT\fR: ºÇÂçÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ¡£ +.sp +\fIDSS\fR: ŬÀÚ¤ÊSurvivor¥µ¥¤¥º(KB)¡£ +.sp +\fIEC\fR: EdenÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIEU\fR: EdenÎΰè¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIYGCT\fR: ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.RE +.PP +\-gcnewcapacity \fIoption\fR +.RS 4 +NewÀ¤ÂåÎΰ襵¥¤¥º¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +NGCMN: NewÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fINGCMX\fR: NewÀ¤Âå¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fINGC\fR: NewÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS0CMX\fR: SurvivorÎΰè0¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIS0C\fR: SurvivorÎΰè0¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIS1CMX\fR: SurvivorÎΰè1¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIS1C\fR: SurvivorÎΰè1¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIECMX\fR: EdenÎΰè¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIEC\fR: EdenÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.RE +.PP +\-gcold \fIoption\fR +.RS 4 +Old¤ª¤è¤ÓPermanentÀ¤Âå¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIMC\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIMU\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIOC\fR: OldÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOU\fR: OldÎΰè¤Î»ÈÍÑΨ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-gcoldcapacity \fIoption\fR +.RS 4 +OldÀ¤Âå¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIOGCMN\fR: OldÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fIOGCMX\fR: OldÀ¤Âå¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIOGC\fR: OldÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIOC\fR: OldÎΰè¤Î¸½ºß¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-gcmetacapacity \fIoption\fR +.RS 4 +PermanentÀ¤Âå¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fIMCMN\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎºÇ¾®ÍÆÎÌ(KB)¡£ +.sp +\fIMCMX\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎºÇÂçÍÆÎÌ(KB)¡£ +.sp +\fIMC\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ(KB)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-gcutil \fIoption\fR +.RS 4 +¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î¥µ¥Þ¥ê¡¼ +.sp +\fIS0\fR: SurvivorÎΰè0¤Î»ÈÍÑΨ(¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIS1\fR: SurvivorÎΰè1¤Î»ÈÍÑΨ(¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIE\fR: EdenÎΰè¤Î»ÈÍÑΨ(¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIO\fR: OldÎΰè¤Î»ÈÍÑΨ(¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIM\fR: ¥á¥¿¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ(Îΰè¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)¡£ +.sp +\fIYGC\fR: ¼ã¤¤À¤Âå¤ÎGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIYGCT\fR: ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIFGC\fR: ¥Õ¥ëGC¥¤¥Ù¥ó¥È¿ô¡£ +.sp +\fIFGCT\fR: ¥Õ¥ë¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£ +.sp +\fIGCT\fR: ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö¡£ +.RE +.PP +\-printcompilation \fIoption\fR +.RS 4 +Java HotSpot VM¥³¥ó¥Ñ¥¤¥ë¡¦¥á¥½¥Ã¥É¤ÎÅý·×¥Ç¡¼¥¿¡£ +.sp +\fICompiled\fR: ºÇ¶á¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤Ç¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¹¥¯¤Î¿ô¡£ +.sp +\fISize\fR: ºÇ¶á¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤Î¥Ð¥¤¥È¡¦¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¡£ +.sp +\fIType\fR: ºÇ¶á¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¡¦¥¿¥¤¥×¡£ +.sp +\fIMethod\fR: ºÇ¶á¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤òÆÃÄꤹ¤ë¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É̾¡£¥¯¥é¥¹Ì¾¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¡¢¥É¥Ã¥È(\&.)¤Î¤«¤ï¤ê¤Ë¥¹¥é¥Ã¥·¥å(/)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥á¥½¥Ã¥É̾¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤Î¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤ì¤é¤Î2¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤Î·Á¼°¤Ï¡¢HotSpot +\fI\-XX:+PrintComplation\fR¥ª¥×¥·¥ç¥ó¤ÈÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ .RE - -.LP -.SS -statOption ¤È½ÐÎÏ -.LP -.LP -°Ê¹ß¤Îɽ¤Ç¤Ï¡¢\f3jstat\fP ¤¬ \f2statOption\fP ¤´¤È¤Ë½ÐÎϤ¹¤ëÎó¤Ë¤Ä¤¤¤Æ³µÍפò¼¨¤·¤Þ¤¹¡£ -.br - -.LP -.SS -\-class ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥í¡¼¥É¤µ¤ì¤¿ K ¥Ð¥¤¥È¿ô -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿ K ¥Ð¥¤¥È¿ô -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¯¥é¥¹¤Î¥í¡¼¥É¤ä¥¢¥ó¥í¡¼¥É½èÍý¤ËÍפ·¤¿»þ´Ö -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w¥¯¥é¥¹¥í¡¼¥À¡¼¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wLoaded -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wBytes -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wUnloaded -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wBytes -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wTime -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 298 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥¯¥é¥¹¥í¡¼¥À¡¼¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Loaded\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Bytes\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Unloaded\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Bytes\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Time\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-25 - -.LP -.SS -\-compiler ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -̵¸ú¤Ë¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¼Â¹Ô¤ËÍפ·¤¿»þ´Ö -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ºÇ¸å¤Ë¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥× -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ºÇ¸å¤Ë¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wHotSpot Just\-In\-Time ¥³¥ó¥Ñ¥¤¥é¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wCompiled -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFailed -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wInvalid -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wTime -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFailedType -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFailedMethod -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 334 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'HotSpot Just\-In\-Time ¥³¥ó¥Ñ¥¤¥é¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Compiled\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Failed\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Invalid\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Time\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FailedType\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FailedMethod\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-29 - -.LP -.SS -\-gc ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î»ÈÍÑΨ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î»ÈÍÑΨ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di n+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr n| \n(dn -.nr n- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0U -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1U -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(n- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 404 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0U\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1U\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(n|u+\n(.Vu -.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.n+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.rm n+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 - -.LP -.SS -\-gccapacity ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di n+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr n| \n(dn -.nr n- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di o+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr o| \n(dn -.nr o- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w¥á¥â¥ê¡¼¥×¡¼¥ëÀ¤Â太¤è¤ÓÎΰèÍÆÎÌ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(n- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(o- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 478 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥á¥â¥ê¡¼¥×¡¼¥ëÀ¤Â太¤è¤ÓÎΰèÍÆÎÌ\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(n|u+\n(.Vu -.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.n+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(o|u+\n(.Vu -.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.o+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.rm n+ -.rm o+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-67 - -.LP -.SS -\-gccause ¥ª¥×¥·¥ç¥ó -.LP -.LP -¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¤¬¡¢ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤È (ŬÍѲÄǽ¤Ê¾ì¹ç¤Ï) ¸½ºß¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Î¸¶°ø¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\f3\-gcutil\fP ¤Ç°ìÍ÷ɽ¼¨¤µ¤ì¤ëÎó¤Î¾¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¼¡¤ÎÎó¤¬Äɲ䵤ì¤Þ¤¹¡£ -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¸½ºß¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wGC ¥¤¥Ù¥ó¥È¤ò´Þ¤à¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wLGCC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCC -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 501 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GC ¥¤¥Ù¥ó¥È¤ò´Þ¤à¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'LGCC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-13 - -.LP -.SS -\-gcnew ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î»ÈÍÑΨ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î»ÈÍÑΨ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ºÇÂçÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ŬÀÚ¤Ê Survivor ¥µ¥¤¥º (KB) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wNew À¤Âå¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0U -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1U -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wTT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wMTT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wDSS -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 555 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'New À¤Âå¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0U\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1U\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'TT\h'|\n(41u'ÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'MTT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'DSS\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-47 - -.LP -.SS -\-gcnewcapacity ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -New À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wNew À¤ÂåÎΰ襵¥¤¥º¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wNGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0CMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1CMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1C -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wECMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wEC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 609 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'New À¤ÂåÎΰ襵¥¤¥º¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'NGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0CMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1CMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1C\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'ECMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'EC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-47 - -.LP -.SS -\-gcold ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î»ÈÍÑΨ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wOld ¤ª¤è¤Ó Permanent À¤Âå¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOU -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 651 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Old ¤ª¤è¤Ó Permanent À¤Âå¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OU\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-35 - -.LP -.SS -\-gcoldcapacity ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wOld À¤Âå¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wOC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 693 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Old À¤Âå¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'OC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-35 - -.LP -.SS -\-gcpermcapacity ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤ÎºÇ¾®ÍÆÎÌ (KB) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤ÎºÇÂçÍÆÎÌ (KB) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î¸½ºß¤ÎÍÆÎÌ (KB) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wPermanent À¤Âå¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGCMN -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGCMX -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wPC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 735 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Permanent À¤Âå¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGCMN\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGCMX\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'PC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-35 - -.LP -.SS -\-gcutil ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 0 ¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Survivor Îΰè 1 ¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Eden Îΰè¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Old Îΰè¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Permanent Îΰè¤Î»ÈÍÑΨ (¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸) -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¿ô -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÁí»þ´Ö -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍ× -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS0 -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wS1 -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wE -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wO -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wYGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGC -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wFGCT -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wGCT -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 785 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍ×\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S0\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'S1\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'E\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'O\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'P\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGC\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'YGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGC\h'|\n(41u'¥Õ¥ë GC ¥¤¥Ù¥ó¥È¿ô -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'FGCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'GCT\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-43 - -.LP -.SS -\-printcompilation ¥ª¥×¥·¥ç¥ó -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥á¥½¥Ã¥É¤Î¥Ð¥¤¥È¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥³¥ó¥Ñ¥¤¥ëÊýË¡¤òÆÃÄꤹ¤ë¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É̾¡£¥¯¥é¥¹Ì¾¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¡¢¡Ö.¡×¤ÎÂå¤ï¤ê¤Ë¡Ö/¡×¤¬»ÈÍѤµ¤ì¤ë¡£¥á¥½¥Ã¥É̾¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤Î¥á¥½¥Ã¥É¤Ç¤¢¤ë¡£¤³¤ì¤é¤Î 2 ¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤Î·Á¼°¤Ï¡¢HotSpot \- \f3XX:+PrintComplation\fP ¥ª¥×¥·¥ç¥ó¤ÈÂбþ¤·¤Æ¤¤¤ë -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \wHotSpot ¥³¥ó¥Ñ¥¤¥ëÊýË¡¤ÎÅý·×¥Ç¡¼¥¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3Îó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wCompiled -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w¥µ¥¤¥º -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w·¿ -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w¥á¥½¥Ã¥É -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥× -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 811 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'HotSpot ¥³¥ó¥Ñ¥¤¥ëÊýË¡¤ÎÅý·×¥Ç¡¼¥¿\h'|\n(41u' -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Îó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Compiled\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥µ¥¤¥º\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'·¿\h'|\n(41u'¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥× -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'¥á¥½¥Ã¥É\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-19 - -.LP .SH "Îã" -.LP -.LP -¤³¤Î¹à¤Ç¤Ï¡¢21891 ¤Î \f2lvmid\fP ¤ò»ý¤Ä¥í¡¼¥«¥ë JVM ¤ò´Æ»ë¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.SS -gcutil ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢\f2lvmid\fP 21891 ¤ËÀܳ¤·¤Æ¡¢250 ¥ß¥êÉÃ´Ö³Ö¤Ç 7 ¤Ä¤Î¥µ¥ó¥×¥ë¤ò¼èÆÀ¤·¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£ -.LP +.PP +¤³¤Î¹à¤Ç¤Ï¡¢21891¤Î\fIlvmid\fR¤ò»ý¤Ä¥í¡¼¥«¥ëJVM¤ò¥â¥Ë¥¿¥ê¥ó¥°¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ +.SS "gcutil¥ª¥×¥·¥ç¥ó" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891¤ËÀܳ¤·¤Æ¡¢250¥ß¥êÉôֳ֤Ç7¤Ä¤Î¥µ¥ó¥×¥ë¤ò¼èÆÀ¤·¡¢\-\fIgcutil\fR¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£ +.PP +¤³¤ÎÎã¤Î½ÐÎϤϡ¢¼ã¤¤À¤Âå¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬3ÈÖÌܤÈ4ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç¹Ô¤ï¤ì¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ì¥¯¥·¥ç¥ó¤Ë¤Ï0\&.001É䫤«¤Ã¤Æ¤ª¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬EdenÎΰè(E)¤«¤éOldÎΰè(O)¤Ë¾º³Ê¤·¤¿¤¿¤á¡¢OldÎΰè¤Î»ÈÍÑΨ¤Ï9\&.49%¤«¤é9\&.51%¤ËÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£SurvivorÎΰè¤Ï¡¢¥³¥ì¥¯¥·¥ç¥óÁ°¤Ï12\&.44%¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¥³¥ì¥¯¥·¥ç¥ó¸å¤Î»ÈÍѤÏ7\&.74%¤Î¤ß¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3jstat \-gcutil 21891 250 7\fP -.br - -.fl - S0 S1 E O P YGC YGCT FGC FGCT GCT -.br - -.fl - 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672 -.br - -.fl - 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672 -.br - -.fl - 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672 -.br - -.fl - 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673 -.br - -.fl - 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673 -.br - -.fl - 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673 -.br - -.fl - 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673 -.br - -.fl +jstat \-gcutil 21891 250 7 + S0 S1 E O M YGC YGCT FGC FGCT GCT +0\&.00 99\&.74 13\&.49 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.49 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.49 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.49 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.80 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.80 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 +0\&.00 99\&.74 13\&.80 7\&.86 95\&.82 3 0\&.124 0 0\&.000 0\&.124 .fi - -.LP -.LP -¤³¤ÎÎã¤Î½ÐÎϤϡ¢¼ã¤¤À¤Âå¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬ 3 ÈÖÌÜ¤È 4 ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç¹Ô¤ï¤ì¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ì¥¯¥·¥ç¥ó¤Ë¤Ï 0.001 É䫤«¤Ã¤Æ¤ª¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬ Eden Îΰè (E) ¤«¤é Old Îΰè (O) ¤Ë¾º³Ê¤·¤¿¤¿¤á¡¢Old Îΰè¤Î»ÈÍÑΨ¤Ï 9.49% ¤«¤é 9.51% ¤ËÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£Survivor Îΰè¤Ï¡¢¥³¥ì¥¯¥·¥ç¥óÁ°¤Ï 12.44% ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¥³¥ì¥¯¥·¥ç¥ó¸å¤Ï 7.74% ¤·¤«»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -.SS -Îó¥Ø¥Ã¥À¡¼Ê¸»úÎó¤Î·«¤êÊÖ¤· -.LP -.LP -¤³¤ÎÎã¤Ï¡¢\f2lvmid\fP 21891 ¤ËÀܳ¤·¤Æ¡¢250 ¥ß¥êÉôֳ֤ǥµ¥ó¥×¥ë¤ò¼èÆÀ¤·¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f3\-h3\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥Ç¡¼¥¿¤¬ 3 ¹Ôɽ¼¨¤µ¤ì¤ë¤´¤È¤ËÎó¥Ø¥Ã¥À¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jstat \-gcnew \-h3 21891 250\fP -.br - -.fl - S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT -.br - -.fl - 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203 -.br - -.fl - 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203 -.br - -.fl - 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204 -.br - -.fl - S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT -.br - -.fl - 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204 -.br - -.fl - 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204 -.br - -.fl - 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204 -.br - -.fl - S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT -.br - -.fl - 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204 -.br - -.fl -.fi - -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¥Ø¥Ã¥À¡¼Ê¸»úÎó¤Î·«¤êÊÖ¤·¤¬¸«¤é¤ì¤ë¤Û¤«¤Ë¤â¡¢2 ÈÖÌÜ¤È 3 ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç Young GC ¤¬¹Ô¤ï¤ì¤¿¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£¤³¤Î·Ñ³»þ´Ö¤Ï 0.001 ÉäǤ·¤¿¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢Survivor Îΰè 0 ¤Î»ÈÍÑΨ (S0U) ¤¬Å¬ÀÚ¤Ê Survivor ¥µ¥¤¥º (DSS) ¤òĶ²á¤¹¤ë¤³¤È¤Ë¤Ê¤ë¥é¥¤¥Ö¥Ç¡¼¥¿¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î·ë²Ì¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢Old À¤Âå (¤³¤Î½ÐÎϤˤÏÈóɽ¼¨) ¤Ø¾º³Ê¤µ¤ì¡¢ÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ (TT) ¤¬¡¢31 ¤«¤é 2 ¤Ø¹ß³Ê¤µ¤ì¤Þ¤·¤¿¡£ -.LP -.LP -Ê̤Υ³¥ì¥¯¥·¥ç¥ó¤¬¡¢5 ÈÖÌÜ¤È 6 ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢Survivor ¤¬¤Û¤È¤ó¤É¸«¤é¤ì¤º¡¢ÅÂÆ²Æþ¤ê¤·¤­¤¤Ãͤò 31 ¤ËÌᤷ¤Þ¤·¤¿¡£ -.LP -.SS -¥µ¥ó¥×¥ë¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÁÞÆþ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢\f2lvmid\fP 21891 ¤ØÀܳ¤·¡¢250 ¥ß¥êÉÃ´Ö³Ö¤Ç 3 ¤Ä¤Î¥µ¥ó¥×¥ë¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£\f3\-t\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢ºÇ½é¤ÎÎó¤Ë¥µ¥ó¥×¥ë¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP -.br - -.fl -Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT -.br - -.fl - 150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799 -.br - -.fl - 150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 -.br - -.fl - 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 -.br - -.fl -.fi - -.LP -.LP -\f2Timestamp\fP Îó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Ç¥ì¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f3\-gcoldcapacity\fP ½ÐÎϤǤϡ¢³ä¤êÅö¤ÆÍ×µá¤Þ¤¿¤Ï¾º³ÊÍ׵ᤢ¤ë¤¤¤Ï¤½¤ÎξÊý¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ò¡¼¥×¤¬³ÈÄ¥¤¹¤ë¤´¤È¤Ë¡¢Old À¤Âå¤ÎÍÆÎÌ (OGC) ¤È Old Îΰè¤ÎÍÆÎÌ (OC) ¤È¤¬Áý²Ã¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£Old À¤Âå¤ÎÍÆÎÌ (OGC) ¤Ï¡¢81 ÈÖÌܤΥեë GC (FGC) ¸å¤Ë¡¢11696 KB ¤«¤é 13820 KB ¤ØÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£Old À¤Âå (¤ª¤è¤ÓÎΰè) ¤ÎºÇÂçÍÆÎ̤ϡ¢60544 KB (OGCMX) ¤Ê¤Î¤Ç¡¢¤Þ¤À³ÈÄ¥¤Ç¤­¤ë;͵¤¬»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SS -¥ê¥â¡¼¥È JVM ¤Î¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î´Æ»ë -.LP -.LP -¤³¤ÎÎã¤Ï¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\f2remote.domain\fP ¤È¤¤¤¦¥·¥¹¥Æ¥à¾å¤Î \f2lvmid\fP 40496 ¤ËÀܳ¤·¡¢¥µ¥ó¥×¥ë¤òÉÃñ°Ì¤Ç̵´ü¸Â¤Ë¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP -.br - -.fl -... \f2output omitted\fP -.br - -.fl -.fi - -.LP -.LP -\f2lvmid\fP ¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤È·ë¹ç¤µ¤ì¤Æ¡¢\f240496@remote.domain\fP ¤Î \f2vmid\fP ¤ò¹½À®¤·¤Æ¤¤¤Þ¤¹¡£·ë²Ì¤È¤·¤Æ¡¢¤³¤Î \f2vmid\fP ¤Ï¡¢\f3rmi\fP ¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î¥Ç¥Õ¥©¥ë¥È¤Î \f3jstatd\fP ¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤·¤Þ¤¹¡£\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢\f3rmiregistry\fP ¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Î \f3rmiregistry\fP ¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ \f2remote.domain\fP ¤ËÇÛÃÖ¤µ¤ì¤ì¤Þ¤¹¡£ -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -¡Öjava(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjps(1) \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjstatd(1) \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó¡× -.TP 2 -o -¡Örmiregistry(1) \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¡× +.if n \{\ .RE - -.LP - +.\} +.SS "Îó¥Ø¥Ã¥À¡¼Ê¸»úÎó¤Î·«ÊÖ¤·" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891¤ËÀܳ¤·¤Æ¡¢250¥ß¥êÉôֳ֤ǥµ¥ó¥×¥ë¤ò¼èÆÀ¤·¡¢\fI\-gcutil\fR¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fI\-h3\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥Ç¡¼¥¿¤¬3¹Ôɽ¼¨¤µ¤ì¤ë¤´¤È¤ËÎó¥Ø¥Ã¥À¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£ +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Ø¥Ã¥À¡¼Ê¸»úÎó¤Î·«ÊÖ¤·¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤Û¤«¡¢2ÈÖÌܤÈ3ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤ÇYoung GC¤¬¹Ô¤ï¤ì¤¿¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£¤³¤Î·Ñ³»þ´Ö¤Ï0\&.001ÉäǤ·¤¿¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢SurvivorÎΰè0¤Î»ÈÍÑΨ(S0U)¤¬Å¬ÀÚ¤ÊSurvivor¥µ¥¤¥º(DSS)¤òĶ²á¤¹¤ë¤³¤È¤Ë¤Ê¤ë¥¢¥¯¥Æ¥£¥Ö¡¦¥Ç¡¼¥¿¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î·ë²Ì¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢OldÀ¤Âå(¤³¤Î½ÐÎϤˤÏÈóɽ¼¨)¤Ø¾º³Ê¤µ¤ì¡¢ÅÂÆ²Æþ¤ê¤·¤­¤¤ÃÍ(TT)¤¬¡¢31¤«¤é2¤Ø¹ß³Ê¤µ¤ì¤Þ¤·¤¿¡£ +.PP +Ê̤Υ³¥ì¥¯¥·¥ç¥ó¤¬¡¢5ÈÖÌܤÈ6ÈÖÌܤΥµ¥ó¥×¥ë´Ö¤Ç¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢Survivor¤¬¤Û¤È¤ó¤É¸«¤é¤ì¤º¡¢ÅÂÆ²Æþ¤ê¤·¤­¤¤Ãͤò31¤ËÌᤷ¤Þ¤·¤¿¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jstat \-gcnew \-h3 21891 250 + S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT + 64\&.0 64\&.0 0\&.0 31\&.7 31 31 32\&.0 512\&.0 178\&.6 249 0\&.203 + 64\&.0 64\&.0 0\&.0 31\&.7 31 31 32\&.0 512\&.0 355\&.5 249 0\&.203 + 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 21\&.9 250 0\&.204 + S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT + 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 245\&.9 250 0\&.204 + 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 421\&.1 250 0\&.204 + 64\&.0 64\&.0 0\&.0 19\&.0 31 31 32\&.0 512\&.0 84\&.4 251 0\&.204 + S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT + 64\&.0 64\&.0 0\&.0 19\&.0 31 31 32\&.0 512\&.0 306\&.7 251 0\&.204 +.fi +.if n \{\ +.RE +.\} +.SS "¥µ¥ó¥×¥ë¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤ÎÁÞÆþ" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢lvmid21891¤ØÀܳ¤·¡¢250¥ß¥êÉôֳ֤Ç3¤Ä¤Î¥µ¥ó¥×¥ë¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£\fI\-t\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢ºÇ½é¤ÎÎó¤Ë¥µ¥ó¥×¥ë¤´¤È¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +.PP +TimestampÎó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Ç¥ì¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fI\-gcoldcapacity\fR½ÐÎϤǤϡ¢³äÅö¥ê¥¯¥¨¥¹¥È¤Þ¤¿¤Ï¾º³Ê¥ê¥¯¥¨¥¹¥È¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ò¡¼¥×¤¬³ÈÄ¥¤¹¤ë¤¿¤Ó¤Ë¡¢OldÀ¤Âå¤ÎÍÆÎÌ(OGC)¤ÈOldÎΰè¤ÎÍÆÎÌ(OC)¤È¤¬Áý²Ã¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£81ÈÖÌܤΥե롦¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(FGC)¤Î¸å¡¢OldÀ¤Âå¤ÎÍÆÎÌ(OGC)¤Ï11,696 KB¤«¤é13820 KB¤ËÁý²Ã¤·¤Þ¤·¤¿¡£¤³¤ÎÀ¤Âå(¤ª¤è¤ÓÎΰè)¤ÎºÇÂçÍÆÎ̤ϡ¢60,544 KB (OGCMX)¤Ê¤Î¤Ç¡¢¤Þ¤À³ÈÄ¥¤Ç¤­¤ë;͵¤¬»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT + 150\&.1 1408\&.0 60544\&.0 11696\&.0 11696\&.0 194 80 2\&.874 3\&.799 + 150\&.4 1408\&.0 60544\&.0 13820\&.0 13820\&.0 194 81 2\&.938 3\&.863 + 150\&.7 1408\&.0 60544\&.0 13820\&.0 13820\&.0 194 81 2\&.938 3\&.863 +.fi +.if n \{\ +.RE +.\} +.SS "¥ê¥â¡¼¥ÈJVM¤Î¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î´Æ»ë" +.PP +¤³¤ÎÎã¤Ï¡¢\fI\-gcutil\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢remote\&.domain¤È¤¤¤¦¥·¥¹¥Æ¥à¾å¤Îlvmid 40496¤ËÀܳ¤·¡¢¥µ¥ó¥×¥ë¤òÉÃñ°Ì¤Ç̵´ü¸Â¤Ë¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£ +.PP +lvmid¤Ï¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Î̾Á°¤È·ë¹ç¤µ¤ì¤Æ¡¢\fI40496@remote\&.domain\fR¤Î\fIvmid\fR¤ò¹½À®¤·¤Æ¤¤¤Þ¤¹¡£·ë²Ì¤È¤·¤Æ¡¢¤³¤Îvmid¤Ï¡¢\fIrmi\fR¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¾å¤Î¥Ç¥Õ¥©¥ë¥È¤Î\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤·¤Þ¤¹¡£\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ï¡¢rmiregistry¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Îrmiregistry¥Ý¡¼¥È(¥Ý¡¼¥È1099)¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿\fIremote\&.domain\fR¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jstat \-gcutil 40496@remote\&.domain 1000 +\fI\&.\&.\&. output omitted\fR +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstatd(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +rmiregistry(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 index 9eeffc439d9..cfd8e4e4b82 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 @@ -1,286 +1,268 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jstatd 1 "07 May 2011" - -.LP -.SH "̾Á°" -jstatd \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -¥»¥­¥å¥ê¥Æ¥£¡¼ -.TP 2 -o -¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -.TP 2 -o -Îã -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jstatd +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jstatd" "1" "2013ǯ11·î21Æü" "JDK 8" "¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jstatd \- Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤ò¥â¥Ë¥¿¡¼¤·¡¢¥ê¥â¡¼¥È¡¦¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë¤¬JVM¤ËÀܳ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jstatd [ \fP\f4options\fP\f3 ]\fP -.br -\f3 -.fl -\fP +\fIjstatd\fR [ \fIoptions\fR ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£½ÅÊ£¤Þ¤¿¤ÏÌ·½â¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¾ì¹ç¡¢ºÇ¸å¤Ë»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.if n \{\ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f3jstatd\fP ¥Ä¡¼¥ë¤Ï¡¢·×¬¤µ¤ì¤¿ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ÎºîÀ®¤È½ªÎ»¤ò´Æ»ë¤·¡¢¥í¡¼¥«¥ë¥·¥¹¥Æ¥à¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë¡¢¥ê¥â¡¼¥È´Æ»ë¥Ä¡¼¥ë¤¬Àܳ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤¹¤ë RMI ¥µ¡¼¥Ð¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£ -.LP -.LP -\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ç¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ë RMI ¥ì¥¸¥¹¥È¥ê¤¬Â¸ºß¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Þ¤¿¤Ï \f2\-p port\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¾å¤Î RMI ¥ì¥¸¥¹¥È¥ê¤ËÀܳ¤·¤è¤¦¤È¤·¤Þ¤¹¡£RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\f2\-p port\fP ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï \f2\-p port\fP ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È RMI ¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ \f3jstatd\fP ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤Ë¡¢1 ¤Ä¤Î RMI ¥ì¥¸¥¹¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Ï¡¢\f2\-nr\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¶Ø»ß¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3Ãí:\fP ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°¤Ç¤¢¤ê¡¢¾­Íè¤Î JDK ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÍøÍѤǤ­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¸½ºß¡¢Windows 98 ¤ª¤è¤Ó Windows Me ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ -.LP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIjstatd\fR¥³¥Þ¥ó¥É¤Ï¡¢·×¬¤µ¤ì¤¿Java HotSpot VM¤ÎºîÀ®¤È½ªÎ»¤ò¥â¥Ë¥¿¡¼¤·¡¢¥í¡¼¥«¥ë¡¦¥·¥¹¥Æ¥à¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ëJVM¤Ë¡¢¥ê¥â¡¼¥È¡¦¥â¥Ë¥¿¥ê¥ó¥°¡¦¥Ä¡¼¥ë¤¬Àܳ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤¹¤ëRMI¥µ¡¼¥Ð¡¼¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£ +.PP +\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ç¤Ï¡¢¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤ËRMI¥ì¥¸¥¹¥È¥ê¤¬É¬Íפˤʤê¤Þ¤¹¡£\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ï¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È¤Ç¡¢¤Þ¤¿¤Ï\fI\-p\fR +\fIport\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¥Ý¡¼¥È¤Ç¡¢RMI¥ì¥¸¥¹¥È¥ê¤ËÀܳ¤·¤è¤¦¤È¤·¤Þ¤¹¡£RMI¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\fI\-p\fR +\fIport\fR¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï\fI\-p\fR +\fIport\fR¥ª¥×¥·¥ç¥ó¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈRMI¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿\fIjstatd\fR¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤Ë¡¢1¤Ä¤ÎRMI¥ì¥¸¥¹¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Ï¡¢\fI\-nr\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤ÆÃæ»ß¤Ç¤­¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f3jstatd\fP ¥³¥Þ¥ó¥É¤Ï¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-nr -´û¸¤Î RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\f2jstatd\fP ¥×¥í¥»¥¹Æâ¤ËÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-p\ port -RMI ¥ì¥¸¥¹¥È¥ê¤¬¤¢¤ë¤ÈͽÁÛ¤µ¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£ ¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢\f2\-nr\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-n\ rminame -RMI ¥ì¥¸¥¹¥È¥ê¤Ë¤ª¤¤¤Æ¡¢¥ê¥â¡¼¥È RMI ¥ª¥Ö¥¸¥§¥¯¥È¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤ë̾Á°¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È̾¤Ï \f2JStatRemoteHost\fP ¤Ç¤¹¡£Ê£¿ô¤Î \f3jstatd\fP ¥µ¡¼¥Ð¡¼¤¬Æ±¤¸¥Û¥¹¥È¾å¤Çµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢³Æ¥µ¡¼¥Ð¡¼¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤·¤¿ RMI ¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢°ì°Õ¤Î̾Á°¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢´Æ»ë¥¯¥é¥¤¥¢¥ó¥È¤Î \f2hostid\fP ¤ª¤è¤Ó \f2vmid\fP ʸ»úÎó¤Ë¡¢¤½¤Î°ì°Õ¤Î¥µ¡¼¥Ð¡¼Ì¾¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-Joption -\f3javac\fP ¤¬¸Æ¤Ó½Ð¤¹ \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¡¢\f2option\fP ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ­½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇØ¸å¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\-nr +.RS 4 +´û¸¤ÎRMI¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\fIjstatd\fR¥×¥í¥»¥¹Æâ¤ËÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ .RE - -.LP -.SH "¥»¥­¥å¥ê¥Æ¥£¡¼" -.LP -.LP -\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢Í­¸ú¤Ê¥Í¥¤¥Æ¥£¥Ö¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä JVM ¤À¤±¤ò´Æ»ë¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f3jstatd\fP ¥×¥í¥»¥¹¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤ÈƱ¤¸¥æ¡¼¥¶¡¼»ñ³Ê¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£°ìÉô¤Î¥æ¡¼¥¶¡¼»ñ³Ê¤Ï¡¢UNIX(TM) ¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë \f2root\fP ¥æ¡¼¥¶¡¼¤Î¤è¤¦¤Ë¡¢¥·¥¹¥Æ¥à¾å¤ÎǤ°Õ¤Î JVM ¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê»ñ³Ê¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë \f3jstatd\fP ¥×¥í¥»¥¹¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î¤¹¤Ù¤Æ¤Î JVM ¤ò´Æ»ë¤Ç¤­¤Þ¤¹¤¬¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¾å¤ÎÊ̤ÎÌäÂ꤬µ¯¤³¤ê¤Þ¤¹¡£ -.LP -.LP -\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Ú¤ò°ìÀÚÍ¿¤¨¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢\f3jstatd\fP ¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤ò¼Â¹Ô¤¹¤ë¤È¡¢\f3jstatd\fP ¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î JVM ¤Ë¤è¤ë¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤ò¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¤Ë¸ø³«¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î̵ËÉÈ÷¤Ê¾õÂ֤ϡ¢´Ä¶­Åª¤Ë˾¤Þ¤·¤¯¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ ÆÃ¤Ë¼Â²ÔƯ´Ä¶­¤Þ¤¿¤Ï°ÂÁ´¤Ç¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¡¢\f3jstatd\fP ¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢¥í¡¼¥«¥ë¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¤ò¸¡Æ¤¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï¡¢Â¾¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢RMISecurityPolicy ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¥ê¥·¡¼¼ÂÁõ¤Î -.na -\f2¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Î¹½Ê¸\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html¤Ë½àµò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -¼¡¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤Ï°ìÀڤΥ»¥­¥å¥ê¥Æ¥£¡¼Îã³°¤ò»ÈÍѤ»¤º¤Ë¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Ý¥ê¥·¡¼¤Ï¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥Ù¡¼¥¹¤Ø¤Î¤¢¤é¤æ¤ë¥¢¥¯¥»¥¹¸¢¤òǧ¤á¤ë¥Ý¥ê¥·¡¼¤è¤ê¤â¼«Í³ÅÙ¤ÏÄ㤤¤Ç¤¹¤¬¡¢\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËºÇÄã¸ÂɬÍפʥ¢¥¯¥»¥¹¸¢¤·¤«Ç§¤á¤Ê¤¤¥Ý¥ê¥·¡¼¤è¤ê¤â¼«Í³Å٤Ϲ⤯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -.LP +.PP +\-p \fIport\fR +.RS 4 +RMI¥ì¥¸¥¹¥È¥ê¤¬¤¢¤ë¤ÈͽÁÛ¤µ¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢\fI\-nr\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-n \fIrminame\fR +.RS 4 +RMI¥ì¥¸¥¹¥È¥ê¤Ë¤ª¤¤¤Æ¡¢¥ê¥â¡¼¥ÈRMI¥ª¥Ö¥¸¥§¥¯¥È¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤ë̾Á°¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È̾¤Ï\fIJStatRemoteHost\fR¤Ç¤¹¡£Ê£¿ô¤Î\fIjstatd\fR¥µ¡¼¥Ð¡¼¤¬Æ±¤¸¥Û¥¹¥È¾å¤Çµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢³Æ¥µ¡¼¥Ð¡¼¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤·¤¿RMI¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢°ì°Õ¤Î̾Á°¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥â¥Ë¥¿¥ê¥ó¥°¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î\fIhostid\fR¤ª¤è¤Ó\fIvmid\fRʸ»úÎó¤Ë¡¢¤½¤Î°ì°Õ¤Î¥µ¡¼¥Ð¡¼Ì¾¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +JVM¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë\fI¥ª¥×¥·¥ç¥ó\fR¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥»¥­¥å¥ê¥Æ¥£" +.PP +\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ï¡¢Å¬Àڤʥͥ¤¥Æ¥£¥Ö¡¦¥¢¥¯¥»¥¹¸¢¤ò»ý¤ÄJVM¤Î¤ß¤ò´Æ»ë¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\fIjstatd\fR¥×¥í¥»¥¹¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈJVM¤ÈƱ¤¸¥æ¡¼¥¶¡¼»ñ³Ê¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£UNIX¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ëroot¥æ¡¼¥¶¡¼¤Ê¤É¤Î°ìÉô¤Î¥æ¡¼¥¶¡¼»ñ³Ê¤Ï¡¢¥·¥¹¥Æ¥à¾å¤ÎǤ°Õ¤ÎJVM¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê»ñ³Ê¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë\fIjstatd\fR¥×¥í¥»¥¹¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î¤¹¤Ù¤Æ¤ÎJVM¤ò´Æ»ë¤Ç¤­¤Þ¤¹¤¬¡¢¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÊ̤ÎÌäÂ꤬µ¯¤³¤ê¤Þ¤¹¡£ +.PP +\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ë¤Ï¡¢¥ê¥â¡¼¥È¡¦¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Úµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢\fIjstatd\fR¥µ¡¼¥Ð¡¼¡¦¥×¥í¥»¥¹¤ò¼Â¹Ô¤¹¤ë¤È¡¢\fIjstatd\fR¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä¤¹¤Ù¤Æ¤ÎJVM¤Ë¤è¤ë¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤ò¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¤Ë¸ø³«¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î̵ËÉÈ÷¤Ê¾õÂ֤ϡ¢´Ä¶­¤Ë¤è¤Ã¤Æ¤Ï˾¤Þ¤·¤¯¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤Î¤Ç¡¢ÆÃ¤Ë¼Â²ÔƯ´Ä¶­¤Þ¤¿¤Ï°ÂÁ´¤Ç¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¡¢\fIjstatd\fR¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢¥í¡¼¥«¥ë¡¦¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¤ò¸¡Æ¤¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fIjstatd\fR¥µ¡¼¥Ð¡¼¤Ï¡¢Â¾¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥Þ¥Í¡¼¥¸¥ã¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢\fIRMISecurityPolicy\fR¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/PolicyFiles\&.html¤Ë¤¢¤ë +¡Ö¥Ç¥Õ¥©¥ë¥È¤ÎPolicy¤Î¼ÂÁõ¤È¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Î¹½Ê¸¡×¤Ë½àµò¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ +.PP +¼¡¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£Îã³°¤òȯÀ¸¤»¤º¤Ë\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Ý¥ê¥·¡¼¤Ï¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¡¦¥Ù¡¼¥¹¤Ø¤Î¤¢¤é¤æ¤ë¥¢¥¯¥»¥¹¸¢¤òǧ¤á¤ë¥Ý¥ê¥·¡¼¤è¤ê¤â¼«Í³ÅÙ¤¬Ä㤤¤Ç¤¹¤¬¡¢\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËºÇÄã¸ÂɬÍפʥ¢¥¯¥»¥¹¸¢¤Î¤ß¤òǧ¤á¤ë¥Ý¥ê¥·¡¼¤è¤ê¤â¼«Í³ÅÙ¤¬¹â¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -grant codebase "file:${java.home}/../lib/tools.jar" {\fP -.br -\f3 -.fl - permission java.security.AllPermission;\fP -.br -\f3 -.fl -};\fP -.br -\f3 -.fl -\fP +grant codebase "file:${java\&.home}/\&.\&./lib/tools\&.jar" { + permission java\&.security\&.AllPermission; +}; .fi - -.LP -.LP -¤³¤Î¥Ý¥ê¥·¡¼¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Æ¥­¥¹¥È¤ò \f2jstatd.all.policy\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¡¢¼¡¤Î¤è¤¦¤Ë \f3jstatd\fP ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤Î¥Ý¥ê¥·¡¼ÀßÄê¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Æ¥­¥¹¥È¤ò\fIjstatd\&.all\&.policy\fR¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¡¢¼¡¤Î¤è¤¦¤Ë\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP -.br -\f3 -.fl -\fP +jstatd \-J\-Djava\&.security\&.policy=jstatd\&.all\&.policy .fi - -.LP -.LP -¤è¤ê¸·¤·¤¤¥»¥­¥å¥ê¥Æ¥£¡¼¤ò¼Â»Ü¤¹¤ë¥µ¥¤¥È¤Î¾ì¹ç¡¢¥«¥¹¥¿¥à¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢ÆÃÄê¤Î¿®Íê¤Ç¤­¤ë¥Û¥¹¥È¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢¤³¤Î¤è¤¦¤ÊÊýË¡¤Ï¡¢IP ¥¢¥É¥ì¥¹¤ÎÅðݹ¶·â¤ò¼õ¤±¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£¥»¥­¥å¥ê¥Æ¥£¡¼¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¡¢¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ç¤âÂнè¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢\f3jstatd\fP ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤»¤º¤Ë¡¢\f3jstat\fP ¤È \f3jps\fP ¥Ä¡¼¥ë¤ò¥í¡¼¥«¥ë¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤â¤Ã¤È¤â°ÂÁ´¤ÊÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.SH "¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹" -.LP -.LP -\f3jstatd\fP ¥×¥í¥»¥¹¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢ÆÈ¼«¤Ë³«È¯¤·¤¿¤â¤Î¤Ç¤¢¤êÊѹ¹¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤ª¤è¤Ó³«È¯¼Ô¤Ï¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ø¤Î½ñ¤­¹þ¤ß¤ò¹Ô¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤è¤ê¸·¤·¤¤¥»¥­¥å¥ê¥Æ¥£¤ò¼Â»Ü¤¹¤ë¥µ¥¤¥È¤Î¾ì¹ç¡¢¥«¥¹¥¿¥à¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢ÆÃÄê¤Î¿®Íê¤Ç¤­¤ë¥Û¥¹¥È¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¤è¤¦¤ÊÊýË¡¤Ï¡¢IP¥¢¥É¥ì¥¹¤ÎÅðݹ¶·â¤ò¼õ¤±¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£¥»¥­¥å¥ê¥Æ¥£¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¡¢¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ç¤âÂнè¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢\fIjstatd\fR¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤»¤º¤Ë¡¢\fIjstat\fR¤È\fIjps\fR¥Ä¡¼¥ë¤ò¥í¡¼¥«¥ë¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬ºÇ¤â°ÂÁ´¤ÊÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£ +.SH "¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹" +.PP +\fIjstatd\fR¥×¥í¥»¥¹¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢ÆÈ¼«¤Ë³«È¯¤·¤¿¤â¤Î¤Ç¤¢¤êÊѹ¹¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤ª¤è¤Ó³«È¯¼Ô¤Ï¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ø¤Î½ñ¹þ¤ß¤ò¹Ô¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ .SH "Îã" -.LP -.LP -¼¡¤Ë \f3jstatd\fP ¤òµ¯Æ°¤¹¤ëÎã¤ò¾Ò²ð¤·¤Þ¤¹¡£\f3jstatd\fP ¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¡¢¥µ¡¼¥Ð¡¼¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼«Æ°Åª¤Ëµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.SS -ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤Î»ÈÍÑ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î RMI ¥ì¥¸¥¹¥È¥ê¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ë¤Ï¡¢Â¾¤Î¥µ¡¼¥Ð¡¼¤Ï¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£ -.LP +.PP +¼¡¤Ë¡¢\fIjstatd\fR¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£\fIjstatd\fR¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¡¢¥µ¡¼¥Ð¡¼¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼«Æ°Åª¤Ëµ¯Æ°¤·¤Þ¤¹¡£ +.SS "ÆâÉôRMI¥ì¥¸¥¹¥È¥ê" +.PP +¤³¤ÎÎã¤Ï¡¢ÆâÉôRMI¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿¥Û¥¹¥È¤Ë¤è¤ë\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ÎRMI¥ì¥¸¥¹¥È¥ê¡¦¥Ý¡¼¥È(¥Ý¡¼¥È1099)¤Ë¤Ï¡¢Â¾¤Î¥µ¡¼¥Ð¡¼¤Ï¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -jstatd \-J\-Djava.security.policy=all.policy -.fl -\fP +jstatd \-J\-Djava\&.security\&.policy=all\&.policy .fi - -.LP -.SS -³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤Î»ÈÍÑ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -rmiregistry& -.fl -jstatd \-J\-Djava.security.policy=all.policy -.fl -\fP -.fi - -.LP -.LP -¤³¤ÎÎã¤Ï¡¢¥Ý¡¼¥È 2020 ¤Î³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -rmiregistry 2020& -.fl -jstatd \-J\-Djava.security.policy=all.policy \-p 2020 -.fl -\fP -.fi - -.LP -.LP -¤³¤ÎÎã¤Ï¡¢AlternateJstatdServerName ¤Î̾Á°¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿¡¢¥Ý¡¼¥È 2020 ¤Î³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -rmiregistry 2020& -.fl -jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerName -.fl -\fP -.fi - -.LP -.SS -¥¤¥ó¥×¥í¥»¥¹ RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Î¶Ø»ß -.LP -.LP -¤³¤ÎÎã¤Ï¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ë RMI ¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¤Ê¤¤ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬¤¹¤Ç¤Ë¼Â¹Ô¤·¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¼Â¹Ô¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -jstatd \-J\-Djava.security.policy=all.policy \-nr -.fl -\fP -.fi - -.LP -.SS -RMI ¥í¥°µ¡Ç½¤ÎÍ­¸ú²½ -.LP -.LP -¤³¤ÎÎã¤Ï¡¢RMI ¥í¥°µ¡Ç½¤òÍ­¸ú¤Ë¤·¤¿ \f3jstatd\fP ¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼³èư¤Î´Æ»ë¤ËÌòΩ¤Á¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true -.fl -\fP -.fi - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -¡Öjava(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjps(1) \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë¡× -.TP 2 -o -¡Öjstat(1) \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×¥Ç¡¼¥¿´Æ»ë¥Ä¡¼¥ë¡× -.TP 2 -o -¡Ö -.na -\f2rmiregistry\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¡× +.if n \{\ .RE - -.LP - +.\} +.SS "³°ÉôRMI¥ì¥¸¥¹¥È¥ê" +.PP +¤³¤ÎÎã¤Ï¡¢³°ÉôRMI¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤Îµ¯Æ°¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +rmiregistry& +jstatd \-J\-Djava\&.security\&.policy=all\&.policy +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Ý¡¼¥È2020¤Î³°ÉôRMI¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤Æ\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jrmiregistry 2020& +jstatd \-J\-Djava\&.security\&.policy=all\&.policy \-p 2020 +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Ý¡¼¥È2020¤Î³°ÉôRMI¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤Æ¡¢\fIAlternateJstatdServerName\fR¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +rmiregistry 2020& +jstatd \-J\-Djava\&.security\&.policy=all\&.policy \-p 2020 + \-n AlternateJstatdServerName +.fi +.if n \{\ +.RE +.\} +.SS "¥¤¥ó¥×¥í¥»¥¹RMI¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤ÎÄä»ß" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢³°ÉôRMI¥ì¥¸¥¹¥È¥ê¤¬¤Ê¤¤¾ì¹ç¤ËºîÀ®¤·¤Ê¤¤\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢RMI¥ì¥¸¥¹¥È¥ê¤¬¤¹¤Ç¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£RMI¥ì¥¸¥¹¥È¥ê¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jstatd \-J\-Djava\&.security\&.policy=all\&.policy \-nr +.fi +.if n \{\ +.RE +.\} +.SS "RMI¥í¥®¥ó¥°¤ÎÍ­¸ú²½" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢RMI¥í¥®¥ó¥°µ¡Ç½¤òÍ­¸ú²½¤·¤Æ\fIjstatd\fR¥»¥Ã¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼³èư¤Î¥â¥Ë¥¿¥ê¥ó¥°¤ËÌòΩ¤Á¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +jstatd \-J\-Djava\&.security\&.policy=all\&.policy + \-J\-Djava\&.rmi\&.server\&.logCalls=true +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jps(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jstat(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +rmiregistry(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jvisualvm.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jvisualvm.1 index 25a29ca9610..d4d0d519bf6 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jvisualvm.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jvisualvm.1 @@ -1,126 +1,123 @@ -." Copyright (c) 2008, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH jvisualvm 1 "07 May 2011" - -.LP -.SH "̾Á°" -\f2jvisualvm\fP \- Java ²¾ÁÛ¥Þ¥·¥ó¤Î´Æ»ë¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¤ª¤è¤Ó¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -¥Ñ¥é¥á¡¼¥¿ -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -»ÈÍÑÊýË¡ -.TP 2 -o -´ØÏ¢¹àÌÜ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: jvisualvm +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¢¥â¥Ë¥¿¥ê¥ó¥°¤ª¤è¤Ó´ÉÍý¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "jvisualvm" "1" "2013ǯ11·î21Æü" "JDK 8" "Java¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¢¥â¥Ë¥¿¥ê¥ó" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +jvisualvm \- Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»ë³ÐŪ¤Ë´Æ»ë¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥È¤ª¤è¤Ó¥×¥í¥Õ¥¡¥¤¥ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \fP\f3jvisualvm\fP [ \f2options\fP ] -.fl +\fIjvisualvm\fR [ \fIoptions\fR ] .fi - -.LP -.SH "¥Ñ¥é¥á¡¼¥¿" -.LP -.LP -¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£ÆÃÄê¤Î¥ª¥×¥·¥ç¥ó¤ËŬÍѤµ¤ì¤ë¥Ñ¥é¥á¡¼¥¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¤¢¤È¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH " ÀâÌÀ" -.LP -.LP -Java VisualVM ¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ²¾ÁÛ¥Þ¥·¥ó (JVM(*)) ¤Ç Java ¥Æ¥¯¥Î¥í¥¸¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó (Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó) ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¡¢¤½¤Î Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¾ðÊó¤òÄ󶡤¹¤ëľ´¶Åª¤Ê¥°¥é¥Õ¥£¥«¥ë¥æ¡¼¥¶¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£Java VisualVM ¤È¤¤¤¦Ì¾Á°¤Ï¡¢Java VisualVM ¤¬ JVM ¥½¥Õ¥È¥¦¥§¥¢¤Ë´Ø¤¹¤ë¾ðÊó¤ò¡Ö»ë³ÐŪ¤Ë¡×Ä󶡤¹¤ë¤È¤¤¤¦»ö¼Â¤ËͳÍ褷¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -Java VisualVM ¤Ï¡¢¤¤¤¯¤Ä¤«¤Î´Æ»ë¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¡¢¤ª¤è¤Ó¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò 1 ¤Ä¤Î¥Ä¡¼¥ë¤ËÅý¹ç¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¹¥¿¥ó¥É¥¢¥í¥ó¥Ä¡¼¥ë \f2jmap\fP¡¢ \f2jinfo\fP¡¢ \f2jstat\fP ¡¢¤ª¤è¤Ó \f2jstack\fP ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ëµ¡Ç½¤Î¤Û¤È¤ó¤É¤¬¡¢Java VisualVM ¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£JConsole ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë°ìÉô¤Îµ¡Ç½¤Ê¤É¡¢¤Û¤«¤Îµ¡Ç½¤Ï¥ª¥×¥·¥ç¥ó¤Î¥×¥é¥°¥¤¥ó¤È¤·¤ÆÄɲäǤ­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "ÀâÌÀ" +.PP +Java VisualVM¤Ï¡¢»ØÄꤵ¤ì¤¿Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤ÇJava¥Æ¥¯¥Î¥í¥¸¡¦¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó)¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¡¢¤½¤ÎJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¾ðÊó¤òÄ󶡤¹¤ëľ´¶Åª¤Ê¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¡¼¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£Java VisualVM¤È¤¤¤¦Ì¾Á°¤Ï¡¢Java VisualVM¤¬JVM¥½¥Õ¥È¥¦¥§¥¢¤Ë´Ø¤¹¤ë¾ðÊó¤ò»ë³ÐŪ¤ËÄ󶡤¹¤ë¤È¤¤¤¦»ö¼Â¤ËͳÍ褷¤Æ¤¤¤Þ¤¹¡£ +.PP +Java VisualVM¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥â¥Ë¥¿¥ê¥ó¥°¡¢¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ª¤è¤Ó¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¡¦¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò1¤Ä¤Î¥Ä¡¼¥ë¤ËÅý¹ç¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¹¥¿¥ó¥É¥¢¥í¥ó¡¦¥Ä¡¼¥ë\fIjmap\fR¡¢\fIjinfo\fR¡¢\fIjstat\fR¤ª¤è¤Ó\fIjstack\fR¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ëµ¡Ç½¤Î¤Û¤È¤ó¤É¤¬¡¢Java VisualVM¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\fIjconsole\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë°ìÉô¤Îµ¡Ç½¤Ê¤É¡¢Â¾¤Îµ¡Ç½¤Ï¥ª¥×¥·¥ç¥ó¤Î¥×¥é¥°¥¤¥ó¤È¤·¤ÆÄɲäǤ­¤Þ¤¹¡£ +.PP +Java VisualVM¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¼Ô¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ò¹Ô¤Ã¤¿¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò´Æ»ë¤ª¤è¤Ó²þÁ±¤·¤¿¤ê¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£Java VisualVM¤ò»ÈÍѤ¹¤ë¤È¡¢³«È¯¼Ô¤Ï¥Ò¡¼¥×¡¦¥À¥ó¥×¤ÎÀ¸À®¤ª¤è¤Ó²òÀÏ¡¢¥á¥â¥ê¡¼¡¦¥ê¡¼¥¯¤ÎÆÃÄê¡¢¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó¤Î¼Â¹Ô¤ª¤è¤Ó´Æ»ë¡¢¤ª¤è¤Ó¥á¥â¥ê¡¼¤ÈCPU¤Î´Ê°×¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Î¼Â¹Ô¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¥×¥é¥°¥¤¥ó¤ÇJava VisualVM¤Îµ¡Ç½¤ò³ÈÄ¥¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIjconsole\fR¥³¥Þ¥ó¥É¤Î¤Û¤È¤ó¤É¤Îµ¡Ç½¤Ï¡¢¡ÖMBean¡×¥¿¥Ö¤ª¤è¤ÓJConsole Plug\-in Wrapper¥×¥é¥°¥¤¥ó¤ò²ð¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¤ÎJava VisualVM¥×¥é¥°¥¤¥ó¤Î¥«¥¿¥í¥°¤«¤éÁªÂò¤¹¤ë¤Ë¤Ï¡¢Java VisualVM¥á¥Ë¥å¡¼¤Î\fB¡Ö¥Ä¡¼¥ë¡×\fR¡¢\fB¡Ö¥×¥é¥°¥¤¥ó¡×\fR¤òÁªÂò¤·¤Þ¤¹¡£ +.PP +Java VisualVM¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +% jvisualvm <options> +.fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java VisualVM ¤òµ¯Æ°¤·¤¿¤È¤­¤Ë¼Â¹Ô²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-J<jvm_option>\ -¤³¤Î \f2<jvm_option>\fP ¤ò JVM ¥½¥Õ¥È¥¦¥§¥¢¤ËÅϤ·¤Þ¤¹¡£ +.PP +¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java VisualVM¤òµ¯Æ°¤·¤¿¤È¤­¤Ë¼Â¹Ô²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +\-J\fIjvm_option\fR +.RS 4 +¤³¤Î\fIjvm_option\fR¤òJVM¥½¥Õ¥È¥¦¥§¥¢¤ËÅϤ·¤Þ¤¹¡£ .RE - -.LP -.SH "»ÈÍÑÊýË¡" -.LP -.LP -Java VisualVM ¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¼Ô¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò´Æ»ë¤ª¤è¤Ó²þÁ±¤·¤¿¤ê¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£Java VisualVM ¤ò»ÈÍѤ¹¤ë¤È¡¢³«È¯¼Ô¤Ï¥Ò¡¼¥×¥À¥ó¥×¤ÎÀ¸À®¤ª¤è¤Ó²òÀÏ¡¢¥á¥â¥ê¡¼¥ê¡¼¥¯¤ÎÆÃÄê¡¢¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¼Â¹Ô¤ª¤è¤Ó´Æ»ë¡¢¤ª¤è¤Ó¥á¥â¥ê¡¼¤È CPU ¤Î´Ê°×¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¤Î¼Â¹Ô¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£Java VisualVM ¤Îµ¡Ç½¤ò³ÈÄ¥¤¹¤ë¥×¥é¥°¥¤¥ó¤â¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢JConsole ¥Ä¡¼¥ë¤Î¤Û¤È¤ó¤É¤Îµ¡Ç½¤Ï¡¢MBeans ¥¿¥Ö¤ª¤è¤Ó JConsole Plug\-in Wrapper ¥×¥é¥°¥¤¥ó¤ò²ð¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£É¸½à¤Î Java VisualVM ¥×¥é¥°¥¤¥ó¤Î¥«¥¿¥í¥°¤«¤éÁªÂò¤¹¤ë¤Ë¤Ï¡¢Java VisualVM ¥á¥Ë¥å¡¼¤Î¡Ö¥Ä¡¼¥ë¡×>¡Ö¥×¥é¥°¥¤¥ó¡×¤òÁªÂò¤·¤Þ¤¹¡£ -.LP -.LP -Java VisualVM ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -% jvisualvm \fP\f4<options>\fP\f3 -.fl -\fP -.fi - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -Java VisualVM ¤Î¾ÜºÙ¤Ï¡¢¼¡¤Î¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.RS 3 -.TP 2 -o -.na -\f2Java VisualVM ³«È¯¼Ô¤Î¥µ¥¤¥È\fP @ -.fi -http://visualvm.java.net -.TP 2 -o -.na -\f2Java SE ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Î Java VisualVM ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/visualvm/index.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java VisualVM³«È¯¼Ô¤Î¥µ¥¤¥È +http://visualvm\&.java\&.net/ .RE - -.LP -.LP -\f2(* ¡ÖJava ²¾ÁÛ¥Þ¥·¥ó¡×¤È¡ÖJVM¡×¤È¤¤¤¦ÍѸì¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î²¾ÁÛ¥Þ¥·¥ó¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£)\fP -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java SE¥É¥­¥å¥á¥ó¥È¤ÎJava VisualVM +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/visualvm/index\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 index aac06f6ba57..c19d4cf4e45 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 @@ -1,1845 +1,1579 @@ -." Copyright (c) 1998, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH keytool 1 "07 May 2011" - -.LP -.SH "̾Á°" -keytool \- ¸°¤È¾ÚÌÀ½ñ¤Î´ÉÍý¥Ä¡¼¥ë -.LP -.LP -°Å¹æ²½¸°¡¢X.509 ¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¡¢¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò´Þ¤à¥­¡¼¥¹¥È¥¢ (¥Ç¡¼¥¿¥Ù¡¼¥¹) ¤ò´ÉÍý¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: keytool +.\" Language: English +.\" Date: 2013ǯ8·î6Æü +.\" SectDesc: ¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "keytool" "1" "2013ǯ8·î6Æü" "JDK 8" "¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +keytool \- °Å¹æ²½¸°¡¢X\&.509¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò´Þ¤à¥­¡¼¥¹¥È¥¢(¥Ç¡¼¥¿¥Ù¡¼¥¹)¤ò´ÉÍý¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3keytool\fP [ commands ] -.fl -.fi - -.LP -.LP -Java SE 6 ¤Ç keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡ÖÊѹ¹ÅÀ¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£°ÊÁ°¤ËÄêµÁ¤µ¤ì¤¿¥³¥Þ¥ó¥É¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SH "ÀâÌÀ" -.LP -\f3keytool\fP ¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ç¤¹¡£keytool ¤ò»È¤¦¤È¡¢¼«Ê¬¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¤ò´ÉÍý¤·¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò»È¤Ã¤¿¼«¸Êǧ¾Ú (¤Û¤«¤Î¥æ¡¼¥¶¡¼¤Þ¤¿¤Ï¥µ¡¼¥Ó¥¹¤ËÂФ·¤Æ¼«Ê¬¼«¿È¤òǧ¾Ú¤¹¤ë¤³¤È) ¤ä¡¢¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤È¾ÚÌÀ½ñ¤Ë´Ø¤¹¤ë¥µ¡¼¥Ó¥¹¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£keytool ¤Ç¤Ï¡¢ÄÌ¿®Áê¼ê¤Î¸ø³«¸°¤ò (¾ÚÌÀ½ñ¤Î·Á¤Ç) ¥­¥ã¥Ã¥·¥å¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (¿Íʪ¡¢²ñ¼Ò¤Ê¤É) ¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸ø³«¸° (¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó) ¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹(¡Ö¾ÚÌÀ½ñ¡×¤ò»²¾È)¡£¥Ç¡¼¥¿¤Ë¥Ç¥¸¥¿¥ë½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤¹¤ë¤³¤È¤Ç¡¢¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤ª¤è¤Ó¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤¢¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£¥Ç¡¼¥¿¤Î¡ÖÀ°¹çÀ­¡×¤È¤Ï¡¢¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¤ê¡¢²þÊѤµ¤ì¤¿¤ê¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢¥Ç¡¼¥¿¤¬¡ÖËÜʪ¤Ç¤¢¤ë¡×¤È¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¤¬¡¢¥Ç¡¼¥¿¤òºîÀ®¤·¤Æ½ð̾¤·¤¿¤È¾Î¤¹¤ë¿Íʪ¤«¤é¼ÂºÝ¤ËÅϤµ¤ì¤¿¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ -.LP -.LP -¤Þ¤¿¡¢\f3keytool\fP ¤ò»È¤¨¤Ð¡¢DES ¤Ê¤É¤ÎÂоΰŹ沽/Éü¹æ²½¤Ç»ÈÍѤµ¤ì¤ëÈëÌ©¸°¤ò´ÉÍý¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f3keytool\fP ¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò\f2¡Ö¥­¡¼¥¹¥È¥¢¡×\fP¤Ë³ÊǼ¤·¤Þ¤¹¡£ -.LP -.SH "¥³¥Þ¥ó¥É¤È¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëÃí" -.LP -.LP -°Ê²¼¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£Ãí: -.LP -.RS 3 -.TP 2 -o -¤É¤Î¥³¥Þ¥ó¥É̾¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèÆ¬¤Ë¥Þ¥¤¥Ê¥¹µ­¹æ (\-) ¤¬ÉÕ¤¯ -.TP 2 -o -³Æ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤ë -.TP 2 -o -¥¤¥¿¥ê¥Ã¥¯ÂΤˤʤäƤ¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¹àÌÜ¡¢¤Þ¤¿¤ÏÃæ³ç¸Ì¤«³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¹àÌܤϡ¢¤½¤Î¤È¤ª¤ê¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ë -.TP 2 -o -¥ª¥×¥·¥ç¥ó¤ò°Ï¤àÃæ³ç¸Ì¤Ï¡¢°ìÈ̤ˡ¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»È¤ï¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£Ãæ³ç¸Ì¤Ï¡¢ \f2\-v\fP¡¢ \f2\-rfc\fP¡¢¤ª¤è¤Ó \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò°Ï¤à¤Î¤Ë¤â»È¤ï¤ì¤ë¤¬¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤ò»ý¤Ä (¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¼«ÂΤò»ØÄꤷ¤Ê¤¤¤³¤È°Ê³°¤Ë¡Ö¥Ç¥Õ¥©¥ë¥ÈÃ͡פϸºß¤·¤Ê¤¤) -.TP 2 -o -¥ª¥×¥·¥ç¥ó¤ò°Ï¤à³Ñ³ç¸Ì¤Ï¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢ÃÍ¤ÎÆþÎϤòµá¤á¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£( \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤Î¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\f3keytool\fP ¤¬¤Þ¤º¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤«¤éÈó¸ø³«/ÈëÌ©¸°¤ÎÉü¸µ¤ò»î¤ß¤ë¡£ ¥æ¡¼¥¶¡¼¤Ï¡¢¤³¤Î»î¤ß¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤ËÈó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤ë -.TP 2 -o -¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ (¥ª¥×¥·¥ç¥ó¤ÎÃÍ) ¤Ï¡¢¥æ¡¼¥¶¡¼¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¤¿¤È¤¨¤Ð¡¢ \f2\-printcert\fP ¥³¥Þ¥ó¥É¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¢¤ë -.nf -\f3 -.fl - keytool \-printcert {\-file \fP\f4cert_file\fP\f3} {\-v} -.fl -\fP -.fi -.LP -\f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¤È¤­¤Ï¡¢\f2cert_file\fP ¤ÎÂå¤ï¤ê¤Ë¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¡£¼¡¤ËÎã¤ò¼¨¤¹ -.nf -\f3 -.fl - keytool \-printcert \-file VScert.cer -.fl -\fP -.fi -.TP 2 -o -¥ª¥×¥·¥ç¥ó¤ÎÃͤ˶õÇò (¥¹¥Ú¡¼¥¹) ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Ãͤò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ë -.TP 2 -o -\f2\-help\fP ¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¹Ô¤ò»ØÄꤷ¤¿¤È¤¹¤ë -.nf -\f3 -.fl - keytool -.fl -\fP -.fi -.LP -¤³¤ì¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£ -.nf -\f3 -.fl - keytool \-help -.fl -\fP +\fIkeytool\fR [\fIcommands\fR] .fi +.if n \{\ .RE - -.LP -.SS -¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ -.LP -.LP -¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -\-alias "mykey" -.fl - -.fl -\-keyalg -.fl - "DSA" (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç) -.fl - "DES" (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç) -.fl - -.fl -\-keysize -.fl - 2048 (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "RSA" ¤Î¾ì¹ç) -.fl - 1024 (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DSA" ¤Î¾ì¹ç) -.fl - 256 (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "EC" ¤Î¾ì¹ç) -.fl - 56 (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DES" ¤Î¾ì¹ç) -.fl - 168 (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DESede" ¤Î¾ì¹ç) -.fl - -.fl - -.fl -\-validity 90 -.fl - -.fl -\-keystore ¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î \fP\f4.keystore\fP\f3 ¤È¤¤¤¦¥Õ¥¡¥¤¥ë -.fl - -.fl -\-storetype ¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Î¡Ökeystore.type¡×¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤǡ¢ -.fl - java.security.KeyStore ¤ÎÀÅŪ¤Ê getDefaultType ¥á¥½¥Ã¥É¤«¤éÊÖ¤µ¤ì¤ë \fP\f4 \fP\f3 -.fl - \fP\f4 \fP\f3 -.fl - -.fl -\-file ÆÉ¤ß¹þ¤ß¤Î¾ì¹ç¤Ïɸ½àÆþÎÏ¡¢½ñ¤­¹þ¤ß¤Î¾ì¹ç¤Ïɸ½à½ÐÎÏ -.fl - -.fl -\-protected false -.fl -\fP -.fi - -.LP -.LP -¸ø³«/Èó¸ø³«¸°¥Ú¥¢¤ÎÀ¸À®¤Ë¤ª¤¤¤Æ¡¢½ð̾¥¢¥ë¥´¥ê¥º¥à (\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó) ¤Ï¡¢´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ DSA ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï SHA1withDSA ¤Ë¤Ê¤ê¡¢ -.TP 2 -o -´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ RSA ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï SHA256withRSA ¤Ë¤Ê¤ê¡¢ -.TP 2 -o -´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ EC ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï SHA256withECDSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.RE - -.LP -.LP -ÁªÂò²Äǽ¤Ê \f2\-keyalg\fP ¤ª¤è¤Ó \f2\-sigalg\fP ¤Î´°Á´¤Ê°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡ÖJava Cryptography Architecture API Specification & Reference¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SS -°ìÈÌ¥ª¥×¥·¥ç¥ó -.LP -.LP -\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢ \f2\-help\fP ¥³¥Þ¥ó¥É¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¡Ö¾éĹ¡×¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¡¢¾ÜºÙ¤Ê¾ÚÌÀ½ñ¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -.LP -¤Þ¤¿¡¢ \f2\-J\fP\f2javaoption\fP ¥ª¥×¥·¥ç¥ó¤â¡¢Ç¤°Õ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿ \f2javaoption\fP ʸ»úÎó¤¬ Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤµ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤­¤ë¥¤¥ó¥¿¥×¥ê¥¿¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2java \-h\fP ¤Þ¤¿¤Ï \f2java \-X\fP ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -\-storetype storetype -.LP -¤³¤Î½¤¾þ»Ò¤Ï¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-keystore keystore -.LP -¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -ÆÃÄê¤Î \f3keytool\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢JKS ¥¹¥È¥¢¥¿¥¤¥×¤¬»ÈÍѤµ¤ì¡¢¤«¤Ä¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¿·¤·¤¤¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2keytool \-genkeypair\fP ¤Î¼Â¹Ô»þ¤Ë \f2\-keystore\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ \f2.keystore\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥Õ¥©¥ë¥È¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤½¤³¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£Æ±Íͤˡ¢ \f2\-keystore \fP\f2ks_file\fP ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤â¤½¤Î \f2ks_file\fP ¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -\f2\-keystore\fP ¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¡¢ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£URL ¤È¤·¤Æ \f2NONE\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢null ¤Î¥¹¥È¥ê¡¼¥à¤¬ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£ \f2NONE\fP ¤Ï¡¢ \f2KeyStore\fP ¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¯¡¢¤¿¤È¤¨¤Ð¡¢¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¥Ç¥Ð¥¤¥¹¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë»ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-storepass[:env|:file] argument -.LP -¥­¡¼¥¹¥È¥¢¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -½¤¾þ»Ò \f2env\fP ¤Þ¤¿¤Ï \f2file\fP ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃÍ¤Ï \f2argument\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÃͤϡ¢6 ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¼èÆÀ¤µ¤ì¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f2env\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë -.TP 2 -o -\f2file\fP: \f2argument\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë -.RE -.LP -\f3Ãí\fP: \f2\-keypass\fP¡¢ \f2\-srckeypass\fP¡¢ \f2\-destkeypass\fP \f2\-srcstorepass\fP¡¢ \f2\-deststorepass\fP ¤Ê¤É¤Î¥Ñ¥¹¥ï¡¼¥É¤òɬÍפȤ¹¤ë¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¡¢ \f2env\fP ¤È \f2file\fP ½¤¾þ»Ò¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¥ª¥×¥·¥ç¥ó¤È½¤¾þ»Ò¤Ï¡¢É¬¤º¥³¥í¥ó (\f2:\fP) ¤Ç¶èÀڤäƤ¯¤À¤µ¤¤¡£ -.LP -¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»È¤ï¤ì¤Þ¤¹¡£¤³¤Î¼ï¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -¥­¡¼¥¹¥È¥¢¤«¤é¾ðÊó¤ò¼è¤ê½Ð¤¹¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ò¾Êά¤Ç¤­¤Þ¤¹¡£ ¥Ñ¥¹¥ï¡¼¥É¤ò¾Êά¤¹¤ë¤È¡¢¼è¤ê½Ð¤¹¾ðÊó¤ÎÀ°¹çÀ­¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-providerName provider_name -.LP -¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ë´Þ¤Þ¤ì¤ë°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À̾¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ -.TP 3 -\-providerClass provider_class_name -.LP -°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤¬¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ï¡¢¤½¤Î¥Þ¥¹¥¿¡¼¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¤­¤Ë»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -\-providerArg provider_arg -.LP -\f2\-providerClass\fP ¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£\f2provider_class_name\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ë¾Êά²Äǽ¤Êʸ»úÎóÆþÎϰú¿ô¤òɽ¤·¤Þ¤¹¡£ -.TP 3 -\-protected -.LP -\f2true\fP ¤Þ¤¿¤Ï \f2false\fP ¤Î¤¤¤º¤ì¤«¡£ÀìÍÑ PIN ¥ê¡¼¥À¡¼¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤ò²ð¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃÍ¤Ë \f2true\fP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.LP -Ãí: \f2\-importkeystore\fP ¥³¥Þ¥ó¥É¤Ë¤Ï 2 ¤Ä¤Î¥­¡¼¥¹¥È¥¢¤¬´Ø·¸¤·¤Æ¤¤¤ë¤¿¤á¡¢2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¡¢¤Ä¤Þ¤ê \f2\-srcprotected\fP ¤È \f2\-destprotected\fP ¤¬¥½¡¼¥¹¥­¡¼¥¹¥È¥¢¤È¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ë¤½¤ì¤¾¤ì»ØÄꤵ¤ì¤Þ¤¹¡£ -.TP 3 -\-ext {name{:critical}{=value}} -.LP -X.509 ¾ÚÌÀ½ñ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò \-genkeypair ¤ª¤è¤Ó \-gencert ¤Ç»ÈÍѤ·¤Æ¡¢À¸À®¤µ¤ì¤ë¾ÚÌÀ½ñ¤Þ¤¿¤Ï \f2\-certreq\fP ¤Ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤òËä¤á¹þ¤ß¡¢¾ÚÌÀ½ñÍ×µá¤ÇÍ׵ᤵ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Ê£¿ô²ó»ÈÍѤǤ­¤Þ¤¹¡£name ¤Ë¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó̾ (²¼µ­¤ò»²¾È) ¤Þ¤¿¤ÏǤ°Õ¤Î OID ÈÖ¹æ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£value ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Ñ¥é¥á¡¼¥¿¤ò¼¨¤·¤Þ¤¹¡£¾Êά¤·¤¿¾ì¹ç¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ (ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç) ¤ò¼¨¤¹¤«¡¢¤Þ¤¿¤Ï¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¥Ñ¥é¥á¡¼¥¿¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ \f2:critical\fP ½¤¾þ»Ò¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î isCritical °À­¤¬ true ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï false ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£:critical ¤ÎÂå¤ï¤ê¤Ë : \f2:c\fP ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ . -.RE - -.LP -.LP -¸½ºß¡¢keytool ¤Ï¼¡¤Î̾Á°¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹ (Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Ê¤¤)¡£ -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -BC ¤Þ¤¿¤Ï BasicConstraints -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -´°Á´¤Ê·Á¤Ï¡Öca:{true|false}[,pathlen:<len>]¡×¤Ç¡¢<len> ¤Ï¡Öca:true,pathlen:<len>¡×¤Î¾Êάɽµ­¤Ç¤¹¡£ ¾Êά¤¹¤ë¤È¡¢¡Öca:true¡×¤Î°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹ -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -usage(,usage)*¡£usage ¤Ë¤Ï¡¢digitalSignature¡¢ nonRepudiation (contentCommitment)¡¢keyEncipherment¡¢dataEncipherment¡¢keyAgreement¡¢keyCertSign¡¢cRLSign¡¢encipherOnly¡¢decipherOnly ¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Usage ¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¡¢ºÇ½é¤Î¿ôʸ»ú (¤¿¤È¤¨¤Ð¡¢digitalSignature ¤ò dig ¤Ë) ¤Þ¤¿¤Ï¥­¥ã¥á¥ë¥±¡¼¥¹¥¹¥¿¥¤¥ë (¤¿¤È¤¨¤Ð¡¢ digitalSignature ¤ò dS ¤Ë¡¢cRLSign ¤ò cRLS ¤Ë) ¤Ë û½Ì¤Ç¤­¤Þ¤¹¡£Usage ¤ÎÂçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -EKU ¤Þ¤¿¤Ï ExtendedkeyUsage -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -usage(,usage)*¡£usage ¤Ë¤Ï¡¢anyExtendedKeyUsage¡¢ serverAuth¡¢clientAuth¡¢codeSigning¡¢emailProtection¡¢ timeStamping¡¢OCSPSigning¡¢¤Þ¤¿¤ÏǤ°Õ¤Î OID ʸ»úÎó¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ ̾Á°ÉÕ¤­¤Î usage ¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¡¢ ºÇ½é¤Î¿ôʸ»ú¤Þ¤¿¤Ï¥­¥ã¥á¥ë¥±¡¼¥¹¥¹¥¿¥¤¥ë¤Ë û½Ì¤Ç¤­¤Þ¤¹¡£Usage ¤ÎÂçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -SAN ¤Þ¤¿¤Ï SubjectAlternativeName -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -type:value(,type:value)*¡£type ¤Ë¤Ï¡¢EMAIL¡¢URI¡¢DNS¡¢IP¡¢¤Þ¤¿¤Ï OID ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£value ¤Ï¡¢type ¤Îʸ»úÎó·Á¼°¤ÎÃͤǤ¹¡£ -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -IAN ¤Þ¤¿¤Ï IssuerAlternativeName -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -SubjectAlternativeName ¤ÈƱ¤¸¤Ç¤¹ -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -SIA ¤Þ¤¿¤Ï SubjectInfoAccess -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -method:location\-type:location\-value (,method:location\-type:location\-value)*¡£ method ¤Ë¤Ï¡¢¡ÖtimeStamping¡×¡¢¡ÖcaRepository¡×¡¢¤Þ¤¿¤ÏǤ°Õ¤Î OID ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£location\-type ¤ª¤è¤Ó location\-value ¤Ë¤Ï¡¢SubjectAlternativeName ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëǤ°Õ¤Î type:value ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -AIA ¤Þ¤¿¤Ï AuthorityInfoAccess -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -SubjectInfoAccess ¤ÈƱ¤¸¤Ç¤¹¡£method ¤Ë¤Ï¡¢¡Öocsp¡×¡¢¡ÖcaIssuers¡×¡¢¤Þ¤¿¤ÏǤ°Õ¤Î OID ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3̾Á°\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wKU ¤Þ¤¿¤Ï KeyUsage -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(a- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(d- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(f- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(h- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(j- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(l- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f3ÃÍ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 325 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3̾Á°\fP\h'|\n(41u'\f3ÃÍ\fP -.ne \n(a|u+\n(.Vu -.ne \n(b|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'KU ¤Þ¤¿¤Ï KeyUsage\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.ne \n(e|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.ne \n(g|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.ne \n(k|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.ne \n(m|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-44 - -.LP -.LP -OID ̾¤Î¾ì¹ç¡¢OCTET STRING ¥¿¥¤¥×¤ÈŤµ¤Î¥Ð¥¤¥È¤ò½ü³°¤·¤¿¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÃÍ¤Ï extnValue ¤Î HEX ¥À¥ó¥×¤Î DER ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤¹¡£HEX ʸ»úÎó¤Ç¤Ï¡¢É¸½à¤Î HEX ¿ô (0\-9¡¢a\-f¡¢A\-F) °Ê³°¤Îʸ»ú¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ \f2¡Ö01:02:03:04¡×\fP ¤È \f2¡Ö01020304¡×¤ÎξÊý¤È¤â\fP Ʊ°ì¤ÎÃͤȤ·¤Æ¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤¹¡£Ãͤ¬¤Ê¤¤¾ì¹ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÎÃÍ¥Õ¥£¡¼¥ë¥É¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\f2\-gencert\fP ¤Ç¤Î¤ß»ÈÍѤ¹¤ë¡Öhonored¡×¤È¤¤¤¦ÆÃÊ̤Ê̾Á°¤Ï¡¢¾ÚÌÀ½ñÍ×µá¤Ë´Þ¤Þ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤òÍ¥À褹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î̾Á°¤ÎÃͤϡ¢ \f2¡Öall¡×\fP (Í׵ᤵ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬Í¥À褵¤ì¤ë)¡¢ \f2¡Öname{:[critical|non\-critical]}¡×\fP (̾Á°ÉÕ¤­¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬Í¥À褵¤ì¤ë¤¬¡¢Ê̤ΠisCritical °À­¤ò»ÈÍѤ¹¤ë)¡¢¤ª¤è¤Ó \f2¡Ö\-name¡×\fP (¡Öall¡×¤È¤È¤â¤Ë»ÈÍѤ·¡¢Îã³°¤ò¼¨¤¹) ¤Î¥³¥ó¥Þ¶èÀÚ¤ê¥ê¥¹¥È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Í׵ᤵ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÏÍ¥À褵¤ì¤Þ¤»¤ó¡£ -.LP -.LP -\-ext Í¥Àè¤Î¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¡¢Ê̤Î̾Á°¤Î¡¢¤Þ¤¿¤Ï OID \-ext ¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¡¢¤¹¤Ç¤ËÍ¥À褵¤ì¤Æ¤¤¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ËÄɲ䵤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î̾Á° (¤Þ¤¿¤Ï OID) ¤òÍ¥À褵¤ì¤ëÃͤǤâ»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤ÎÃͤȽÅÍ×À­¤¬Í×µá¤Ë´Þ¤Þ¤ì¤ë¤â¤Î¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.LP -.LP -subjectKeyIdentifier ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ï¾ï¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¼«¸Ê½ð̾¤Ç¤Ê¤¤¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢authorityKeyIdentifier ¤¬¾ï¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f3Ãí:\fP ¥æ¡¼¥¶¡¼¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó (¤ª¤è¤Ó¾ÚÌÀ½ñ¤Î¤Û¤«¤Î¥Õ¥£¡¼¥ë¥É) ¤ÎÁȤ߹ç¤ï¤»¤Ë¤è¤Ã¤Æ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Îɸ½à¤Ë½àµò¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "¥³¥Þ¥ó¥É" -.LP -.SS +.\} +.PP +\fIcommands\fR +.RS 4 +¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥¿¥¹¥¯Ê̤ËʬÎव¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥­¡¼¥¹¥È¥¢¤Ø¤Î¥Ç¡¼¥¿¤ÎºîÀ®¤Þ¤¿¤ÏÄɲà -.LP -.RS 3 -.TP 3 -\-gencert {\-rfc} {\-infile infile} {\-outfile outfile} {\-alias alias} {\-sigalg sigalg} {\-dname dname} {\-startdate startdate {\-ext ext}* {\-validity valDays} [\-keypass keypass] {\-keystore keystore} [\-storepass storepass] {\-storetype storetype} {\-providername provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -¾ÚÌÀ½ñÍ×µá¥Õ¥¡¥¤¥ë ( \f2keytool \-certreq\fP ¥³¥Þ¥ó¥É¤ÇºîÀ®¤Ç¤­¤ë) ¤Ë±þÅú¤·¤Æ¾ÚÌÀ½ñ¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢\f2infile\fP ¤«¤é (¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é) Í×µá¤òÆÉ¤ß¹þ¤ß¡¢ÊÌ̾¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¤½¤ÎÍ×µá¤Ë½ð̾¤·¤Æ¡¢X.509 ¾ÚÌÀ½ñ¤ò \f2outfile\fP ¤Ë (¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É¸½à½ÐÎϤË) ½ÐÎϤ·¤Þ¤¹¡£ \f2\-rfc\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢½ÐÎÏ·Á¼°¤Ï BASE64 É乿²½¤Î PEM ¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥Ð¥¤¥Ê¥ê DER ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -\f2sigalg\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£\f2startdate\fP ¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ë¤Ê¤ë³«»Ï»þ¹ï/ÆüÉդǤ¹¡£\f2valDays\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ÎÍ­¸úÆü¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -\f2dname\fP ¤ò»ØÄꤹ¤ë¤È¡¢À¸À®¤µ¤ì¤ë¾ÚÌÀ½ñ¤Î¼çÂΤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñÍ׵ᤫ¤é¤Î̾Á°¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -\f2ext\fP ¤Ï¡¢¾ÚÌÀ½ñ¤ËËä¤á¹þ¤Þ¤ì¤ë X.509 ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£\-ext ¤Îʸˡ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö°ìÈÌ¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2\-gencert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢ \f2e1\fP ¤È¤¤¤¦¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤Ï¡¢3 ¤Ä¤Î¾ÚÌÀ½ñ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ca¡¢ca1¡¢ca2¡¢¤ª¤è¤Ó e1 ¤Î 4 ¤Ä¤Î¸°¥Ú¥¢¤òºîÀ®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -keytool \-alias ca \-dname CN=CA \-genkeypair -.fl -keytool \-alias ca1 \-dname CN=CA \-genkeypair -.fl -keytool \-alias ca2 \-dname CN=CA \-genkeypair -.fl -keytool \-alias e1 \-dname CN=E1 \-genkeypair -.fl -\fP -.fi -.LP -¼¡¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¤Ï¡¢½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òºîÀ®¤·¤Þ¤¹¡£ \f2ca\fP ¤Ï ca1 ¤Ë½ð̾¤·¡¢ \f2ca1 signs ca2\fP ¤Ë½ð̾¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¼«¸Êȯ¹Ô¤Ç¤¹¡£ -.nf -\f3 -.fl -keytool \-alias ca1 \-certreq | keytool \-alias ca \-gencert \-ext san=dns:ca1 | keytool \-alias ca1 \-importcert -.fl -keytool \-alias ca2 \-certreq | $KT \-alias ca1 \-gencert \-ext san=dns:ca2 | $KT \-alias ca2 \-importcert -.fl -\fP -.fi -.LP -¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¾ÚÌÀ½ñ e1 ¤òºîÀ®¤·¤Æ¥Õ¥¡¥¤¥ë e1.cert ¤Ë³ÊǼ¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï ca2 ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢e1 ¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤Ï ca¡¢ca1¡¢¤ª¤è¤Ó ca2 ¤¬´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -keytool \-alias e1 \-certreq | keytool \-alias ca2 \-gencert > e1.cert -.fl -\fP -.fi -.TP 3 -\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-ext ext}* {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -¸°¤Î¥Ú¥¢ (¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ëÈó¸ø³«¸°) ¤òÀ¸À®¤·¤Þ¤¹¡£¸ø³«¸°¤Ï X.509 v3 ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ï¡¢Ã±°ì¤ÎÍ×ÁǤò»ý¤Ä¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤È¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÈÈó¸ø³«¸°¤Ï¡¢\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¿·¤·¤¤¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.LP -\f2keyalg\fP ¤Ï¸°¤Î¥Ú¥¢¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\f2keysize\fP ¤ÏÀ¸À®¤¹¤ë³Æ¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\f2sigalg\fP ¤Ë¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\f2keyalg\fP ¤È¸ß´¹À­¤Î¤¢¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -\f2dname\fP ¤Ë¤Ï¡¢\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Î issuer ¥Õ¥£¡¼¥ë¥É¤È subject ¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ»È¤¦ X.500 ¼±ÊÌ̾¤ò»ØÄꤷ¤Þ¤¹¡£ ¥³¥Þ¥ó¥É¹Ô¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¼±ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -\f2keypass\fP ¤Ë¤Ï¡¢À¸À®¤µ¤ì¤ë¸°¤Î¥Ú¥¢¤Î¤¦¤Á¡¢Èó¸ø³«¸°¤òÊݸ¤ë¤Î¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢Return ¥­¡¼¤ò²¡¤¹¤È¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2keypass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f2startdate\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Îȯ¹Ô»þ¹ï¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢X.509 ¾ÚÌÀ½ñ¤Î¡ÖValidity¡×¥Õ¥£¡¼¥ë¥É¤Î¡ÖNot Before¡×ÃÍ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£ -.LP -¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¼¡¤Î 2 ¤Ä¤Î·Á¼°¤Î¤¤¤º¤ì¤«¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -([+\-]\f2nnn\fP[ymdHMS])+ -.TP 3 -2. -[yyyy/mm/dd] [HH:MM:SS] +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-gencert .RE -.LP -ºÇ½é¤Î·Á¼°¤Ç¤Ï¡¢È¯¹Ô»þ¹ï¤Ï¡¢»ØÄꤵ¤ì¤ëÃͤÀ¤±¸½ºß¤Î»þ¹ï¤«¤é°Ü¤ê¤Þ¤¹¡£»ØÄꤵ¤ì¤ëÃͤϡ¢°ìÏ¢¤Î²¼°Ì¤ÎÃͤòÏ¢·ë¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£²¼°Ì¤Î³ÆÃͤǡ¢¥×¥é¥¹µ­¹æ (¡Ö+¡×) ¤Ï»þ´Ö¤¬¿Ê¤à¤³¤È¤ò¡¢¥Þ¥¤¥Ê¥¹µ­¹æ (¡Ö\-¡×) ¤Ï»þ´Ö¤¬Ìá¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£°Ü¤ë»þ´Ö¤Ï \f2nnn\fP ¤Ç¡¢Ã±°Ì¤Ïǯ¡¢·î¡¢Æü¡¢»þ´Ö¡¢Ê¬¡¢¤Þ¤¿¤ÏÉäǤ¹ (¤½¤ì¤¾¤ì¡¢1 ʸ»ú¤Î¡Öy¡×¡¢¡Öm¡×¡¢¡Öd¡×¡¢¡ÖH¡×¡¢¡ÖM¡×¡¢¤Þ¤¿¤Ï¡ÖS¡×¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë)¡£²¼°Ì¤Î³ÆÃÍ¤Ç \f2java.util.GregorianCalendar.add(int field, int amount)\fP ¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢È¯¹Ô»þ¹ï¤ÎÄɲäÎÃͤ¬º¸¤«¤é±¦¤Ø·×»»¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2¡Ö\-startdate \-1y+1m\-1d¡×\fP¤È»ØÄꤹ¤ë¤È¡¢³«»Ï»þ¹ï¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl - Calendar c = new GregorianCalendar(); -.fl - c.add(Calendar.YEAR, \-1); -.fl - c.add(Calendar.MONTH, 1); -.fl - c.add(Calendar.DATE, \-1); -.fl - return c.getTime() -.fl -\fP -.fi -.LP -2 ÈÖÌܤηÁ¼°¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Ï¡¢Ç¯/·î/Æü¤È»þ´Ö:ʬ:ÉäΠ2 ¤Ä¤ÎÉôʬ¤Ç¸·Ì©¤Ê³«»Ï»þ¹ï¤òÀßÄꤷ¤Þ¤¹ (Ãϸµ¤Î»þ´ÖÂÓ¤ò»ÈÍÑ)¡£¥æ¡¼¥¶¡¼¤Ï¡¢1 ¤Ä¤ÎÉôʬ¤À¤±¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤â¤¦ 1 ¤Ä¤ÎÉôʬ¤Ï¸½ºß¤ÎÆüÉÕ (¤Þ¤¿¤Ï»þ¹ï) ¤ÈƱ¤¸¤Ë¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢·Á¼°¤ÎÄêµÁ¤Ë¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢·å¿ô¤ò¸·Ì©¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (û¤¤¾ì¹ç¤Ï 0 ¤ÇËä¤á¤ë)¡£ÆüÉդȻþ¹ï¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾õÂ֤ǡ¢2 ¤Ä¤ÎÉôʬ¤Î´Ö¤Ë¶õÇòʸ»ú¤¬ 1 ¤Ä (1 ¤Ä¤À¤±) ¤¢¤ê¤Þ¤¹¡£»þ´Ö¤Ï¾ï¤Ë 24 »þ´Ö·Á¼°¤Ç»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢³«»ÏÆüÉդϸ½ºß¤Î»þ¹ï¤Ë¤Ê¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Ï¡¢ºÇÂç¤Ç 1 ²ó»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -\f2valDays\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ÎÍ­¸úÆü¿ô¤ò»ØÄꤷ¤Þ¤¹ ( \f2\-startdate\fP ¤Ç»ØÄꤵ¤ì¤¿ÆüÉÕ¡¢¤Þ¤¿¤Ï \f2\-startdate\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¸½ºß¤ÎÆüÉÕ¤«¤é»Ï¤Þ¤ë)¡£ -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-genkey\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-genkeypair\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.TP 3 -\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -ÈëÌ©¸°¤òÀ¸À®¤·¡¢¤½¤ì¤ò¿·¤·¤¤ \f2KeyStore.SecretKeyEntry\fP (\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë) Æâ¤Ë³ÊǼ¤·¤Þ¤¹¡£ -.LP -\f2keyalg\fP ¤ÏÈëÌ©¸°¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\f2keysize\fP ¤ÏÀ¸À®¤¹¤ë¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\f2keypass\fP ¤ÏÈëÌ©¸°¤ÎÊݸî¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢Return ¥­¡¼¤ò²¡¤¹¤È¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2keypass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -¥Õ¥¡¥¤¥ë \f2cert_file\fP ¤«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó (¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ï¡¢PKCS#7 ·Á¼°¤Î±þÅú¤Þ¤¿¤Ï°ìÏ¢¤Î X.509 ¾ÚÌÀ½ñ¤ÇÄ󶡤µ¤ì¤ë¤â¤Î) ¤òÆÉ¤ß¹þ¤ß¡¢\f2alias\fP ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ -.LP -\f3keytool\fP ¤Ç¤Ï¡¢X.509 v1¡¢v2¡¢v3 ¤Î¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó¡¢PKCS#7 ·Á¼°¤Î¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë PKCS#7 ·Á¼°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¡¢¤Þ¤¿¤Ï½ÐÎϲÄǽÉ乿²½Êý¼° (Base64 É乿²½¤È¤â¸Æ¤Ð¤ì¤ë) ¤Î¤É¤Á¤é¤«¤ÇÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÉ乿²½Êý¼°¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡Ö\-\-\-\-\-BEGIN¡×¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç³«»Ï¤µ¤ì¡¢¡Ö\-\-\-\-\-END¡×¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç½ªÎ»¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤¬¤¢¤ê¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ë -.TP 3 -2. -CA ¤Ë¾ÚÌÀ½ñ½ð̾Í×µá (\-certreq ¥³¥Þ¥ó¥É¤ò»²¾È) ¤òÁ÷¿®¤·¤¿·ë²Ì¤È¤·¤Æ¡¢CA ¤«¤é¼õ¤±¼è¤Ã¤¿¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-genkeypair .RE -.LP -¤É¤Á¤é¤Î¼ïÎà¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¦¤«¤Ï¡¢ \f2\-alias\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ -.RS 3 -.TP 3 -1. -\f3ÊÌ̾¤¬¥­¡¼¥¨¥ó¥È¥ê¤ò¥Ý¥¤¥ó¥È¤·¤Ê¤¤¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¥æ¡¼¥¶¡¼¤¬¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¥¨¥ó¥È¥ê¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤â¤Î¤È¸«¤Ê¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÊÌ̾¤¬¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ÊÌ̾¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÊÌ̾¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢\f3keytool\fP ¤Ï¥¨¥é¡¼¤ò½ÐÎϤ·¡¢¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¤¤Þ¤»¤ó¡£ -.TP 3 -2. -.LP -\f3ÊÌ̾¤¬¥­¡¼¥¨¥ó¥È¥ê¤ò¥Ý¥¤¥ó¥È¤·¤Ê¤¤¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¥æ¡¼¥¶¡¼¤¬¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¥¨¥ó¥È¥ê¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤â¤Î¤È¸«¤Ê¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-genseckey .RE -\f3¿·¤·¤¤¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È\fP -.LP -\f3keytool\fP ¤Ï¡¢¥­¡¼¥¹¥È¥¢¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é (¥ë¡¼¥È CA ¤Î) ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Á¥§¡¼¥ó¤Î¹½ÃÛ¤ò»î¤ß¤Þ¤¹¡£ -.LP -\f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ÄɲäξÚÌÀ½ñ¤Ï¿®Íê¤Ç¤­¤ë¤¹¤Ê¤ï¤Á cacerts ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£ -.LP -\f3keytool\fP ¤¬¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¾ÚÌÀ½ñ (¥­¡¼¥¹¥È¥¢¤Þ¤¿¤Ï cacerts ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ) ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Ñ¥¹¤Î¹½Ãۤ˼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤Î¾ðÊó¤òɽ¼¨¤·¡¢¥æ¡¼¥¶¡¼¤Ë³Îǧ¤òµá¤á¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¤Û¤«¤Î¤Ê¤ó¤é¤«¤Î (¿®Íê¤Ç¤­¤ë) ¾ðÊó¸» (¾ÚÌÀ½ñ¤Î½êÍ­¼ÔËܿͤʤÉ) ¤«¤éÆþ¼ê¤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¾ÚÌÀ½ñ¤ò³Îǧ¤¹¤ë»þÅÀ¤ÇÃæ»ß¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢ \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£ -\f3¾ÚÌÀ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È\fP -.LP -¡Ö¾ÚÌÀ±þÅú¡×¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó (\-trustcacerts ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï) cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ç¹½À®¤µ¤ì¤¿¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¾ÚÌÀ±þÅú¤¬¸¡ºº¤µ¤ì¤Þ¤¹¡£ -.LP -¾ÚÌÀ±þÅú¤¬¿®Íê¤Ç¤­¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ëÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f3¾ÚÌÀ±þÅú¤¬Ã±°ì¤Î X.509 ¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¾ÚÌÀ±þÅú¤«¤é (¥ë¡¼¥È CA ¤Î) ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¥Á¥§¡¼¥ó¤Î³ÎΩ¤ò»î¤ß¤Þ¤¹¡£¾ÚÌÀ±þÅú¤È¡¢¾ÚÌÀ±þÅú¤Îǧ¾Ú¤Ë»È¤ï¤ì¤ë¾ÚÌÀ½ñ¤Î³¬Áع½Â¤¤Ï¡¢\f2alias\fP ¤Î¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò·ÁÀ®¤·¤Þ¤¹¡£¿®Íê¥Á¥§¡¼¥ó¤¬³ÎΩ¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¾ÚÌÀ±þÅú¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\f3keytool\fP ¤Ï¾ÚÌÀ½ñ¤ò½ÐÎϤ»¤º¡¢¥æ¡¼¥¶¡¼¤Ë¸¡¾Ú¤òµá¤á¤ë¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¾ÚÌÀ±þÅú¤Î¿®ÍêÀ­¤òȽÃǤ¹¤ë¤Î¤Ï¡¢ÉÔ²Äǽ¤Ç¤Ï¤Ê¤¯¤Æ¤âÈó¾ï¤Ëº¤Æñ¤À¤«¤é¤Ç¤¹¡£ -.TP 2 -o -\f3¾ÚÌÀ±þÅú¤¬ PKCS#7 ·Á¼°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Þ¤¿¤Ï°ìÏ¢¤Î X.509 ¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç\fP¡¢¥Á¥§¡¼¥ó¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¾ÚÌÀ½ñ¤¬ºÇ½é¤Ë¡¢0 °Ê¾å¤Î CA ¾ÚÌÀ½ñ¤¬¤½¤Î¼¡¤Ë¤¯¤ë¤è¤¦¤Ëʤ٤é¤ì¤Þ¤¹¡£¥Á¥§¡¼¥ó¤¬¼«¸Ê½ð̾¤Î¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤Ç½ª¤ï¤ê¡¢ \f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f3keytool\fP ¤Ï¡¢¤½¤Î¾ÚÌÀ½ñ¤È¡¢¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¡Öcacerts¡×¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤­¤ë¤¹¤Ù¤Æ¤Î¾ÚÌÀ½ñ¤ò¾È¹ç¤·¤è¤¦¤È¤·¤Þ¤¹¡£¥Á¥§¡¼¥ó¤¬¼«¸Ê½ð̾¤Î¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤Ç½ª¤ï¤Ã¤Æ¤ª¤é¤º¡¢ \f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f3keytool\fP ¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï¡Öcacerts¡×¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¤Î¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò¸«¤Ä¤±¤Æ¤½¤ì¤ò¥Á¥§¡¼¥ó¤ÎËöÈø¤ËÄɲ䷤褦¤È¤·¤Þ¤¹¡£¤½¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤é¤º¡¢ \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ¤Î¾ðÊ󤬽ÐÎϤµ¤ì¡¢¥æ¡¼¥¶¡¼¤Ï³Îǧ¤òµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-importcert .RE -.LP -¾ÚÌÀ½ñ±þÅúÆâ¤Î¸ø³«¸°¤¬ \f2alias\fP ¤Î²¼¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Î¸ø³«¸°¤Ë°ìÃפ·¤¿¾ì¹ç¡¢¸Å¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬±þÅúÆâ¤Î¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£°ÊÁ°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ï¡¢Í­¸ú¤Ê \f2keypass\fP¡¢¤Ä¤Þ¤ê³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-import\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-importcert\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.TP 3 -\-importkeystore \-srckeystore srckeystore \-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -¥½¡¼¥¹¥­¡¼¥¹¥È¥¢¤«¤é¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ø¡¢Ã±°ì¤Î¥¨¥ó¥È¥ê¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ -.LP -\f2srcalias\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¤½¤ÎÊÌ̾¤ÇÆÃÄꤵ¤ì¤ëñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£\f2destalias\fP ·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2srcalias\fP ¤¬¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\f2srckeypass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\f2srckeypass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f3keytool\fP ¤Ï \f2srcstorepass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤ò²óÉü¤·¤è¤¦¤È¤·¤Þ¤¹¡£\f2srcstorepass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï \f2destkeypass\fP ¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£\f2destkeypass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ -.LP -\f2srcalias\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£³Æ¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤ÏÂбþ¤¹¤ë¥½¡¼¥¹¥¨¥ó¥È¥ê¤ÎÊÌ̾¤Î²¼¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\f2srcstorepass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\f2srcstorepass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Î¤¢¤ë¥¨¥ó¥È¥ê¥¿¥¤¥×¤¬¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ä¡¢¤¢¤ë¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¤½¤Î¥¨¥ó¥È¥ê¤ò¥¹¥­¥Ã¥×¤·¤Æ½èÍý¤ò³¹Ô¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï½èÍý¤òÃæÃǤ¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ -.LP -¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¡¢¤½¤Î¥¨¥ó¥È¥ê¤ò¾å½ñ¤­¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï°Û¤Ê¤ëÊÌ̾¤Î²¼¤Ç¿·¤·¤¤¥¨¥ó¥È¥ê¤òºîÀ®¤¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -\f2\-noprompt\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¿·¤·¤¤¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤»¤ó¡£´û¸¤Î¥¨¥ó¥È¥ê¤Ï¤½¤Î¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤Ç¼«Æ°Åª¤Ë¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Ê¤¤¥¨¥ó¥È¥ê¤Ï¼«Æ°Åª¤Ë¥¹¥­¥Ã¥×¤µ¤ì¡¢·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.TP 3 -\-printcertreq {\-file file} -.LP -PKCS #10 ·Á¼°¤Î¾ÚÌÀ½ñÍ×µá¤ÎÆâÍÆ¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤ÎÍ×µá¤Ï¡¢keytool \-certreq ¥³¥Þ¥ó¥É¤ÇÀ¸À®¤Ç¤­¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢file ¤«¤éÍ×µá¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£file ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤éÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-importpassword .RE - -.LP -.SS +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Ê̤Υ­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤Î¥¤¥ó¥Ý¡¼¥È +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-importkeystore +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤ÎÀ¸À® +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-certreq +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥Ç¡¼¥¿¤Î¥¨¥¯¥¹¥Ý¡¼¥È -.LP -.RS 3 -.TP 3 -\-certreq {\-alias alias} {\-dname dname} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -PKCS#10 ·Á¼°¤ò»È¤Ã¤Æ¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤òÀ¸À®¤·¤Þ¤¹¡£ -.LP -CSR ¤Ï¡¢¾ÚÌÀ½ñȯ¹Ô¶É (CA) ¤ËÁ÷¿®¤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤¹¡£CA ¤Ï¡¢¾ÚÌÀ½ñÍ×µá¼Ô¤ò (Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç) ǧ¾Ú¤·¡¢¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£ ¤³¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î´û¸¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó (ºÇ½é¤Ï 1 ¤Ä¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤ë) ¤ËÃÖ¤­´¹¤¨¤Æ»È¤¤¤Þ¤¹¡£ -.LP -\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤Ï¡¢PKCS#10 ¾ÚÌÀ½ñÍ×µá¤òºîÀ®¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¥­¡¼¥¹¥È¥¢Æâ¤Ç¤Ï¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Èó¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢Å¬Àڤʥѥ¹¥ï¡¼¥É¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç \f2keypass\fP ¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£dname ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤¬ CSR ¤Ç¼çÂΤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ X.500 ¼±ÊÌ̾¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -\f2sigalg\fP ¤Ë¤Ï¡¢CSR ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -CSR ¤Ï¡¢¥Õ¥¡¥¤¥ë \f2certreq_file\fP ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à½ÐÎÏ¤Ë CSR ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -CA ¤«¤é¤Î±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢\f2importcert\fP ¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¡£ -.TP 3 -\-exportcert {\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption} -.LP -\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¤ò (¥­¡¼¥¹¥È¥¢¤«¤é) ÆÉ¤ß¹þ¤ß¡¢¥Õ¥¡¥¤¥ë \f2cert_file\fP ¤Ë³ÊǼ¤·¤Þ¤¹¡£ -.LP -¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à½ÐÎϤ˾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢\-rfc ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -\f2alias\fP ¤¬¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\f2alias\fP ¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»ý¤Ä¸°¥¨¥ó¥È¥ê¤ò»²¾È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢\f2alias\fP ¤Ë¤è¤Ã¤ÆÉ½¤µ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£ -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-export\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-exportcert\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-exportcert .RE - -.LP -.SS +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥Ç¡¼¥¿¤Îɽ¼¨ -.LP -.RS 3 -.TP 3 -\-list {\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption} -.LP -\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÆâÍÆ¤ò (ɸ½à½ÐÎϤË) ½ÐÎϤ·¤Þ¤¹¡£ÊÌ̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢Á´ÂÎ¤ÎÆâÍÆ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾ÚÌÀ½ñ¤Î SHA1 ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤·¤Þ¤¹¡£ \f2\-v\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½êÍ­¼Ô¡¢È¯¹Ô¼Ô¡¢¥·¥ê¥¢¥ëÈֹ桢³ÈÄ¥µ¡Ç½¤Ê¤É¤ÎÉÕ²ÃŪ¤Ê¾ðÊó¤È¤È¤â¤Ë¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍÆ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤È \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.TP 3 -\-printcert {\-file cert_file | \-sslserver host[:port]} {\-jarfile JAR_file {\-rfc} {\-v} {\-Jjavaoption} -.LP -¥Õ¥¡¥¤¥ë \f2cert_file\fP¡¢\f2host:port\fP ¤Ë¤¢¤ë SSL ¥µ¡¼¥Ð¡¼¡¢¤Þ¤¿¤Ï½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë \f2JAR_file\fP ( \f2\-jarfile\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄê) ¤«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤ß¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤·¤Þ¤¹¡£¥Ý¡¼¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à¤Î HTTPS ¥Ý¡¼¥È 443 ¤¬ÁÛÄꤵ¤ì¤Þ¤¹¡£ \f2\-sslserver\fP ¤ª¤è¤Ó \f2\-file\fP ¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£Æ±»þ¤Ë»ØÄꤹ¤ë¤È¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ -.LP -\f2\-rfc\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢keytool ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ɸ½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢PEM ¥â¡¼¥É¤Ç¾ÚÌÀ½ñ¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ïɸ½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤à¾ì¹ç¡¢¤½¤Î¾ÚÌÀ½ñ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ɸ½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¤Þ¤¿¤Ï½ÐÎϲÄǽÉ乿²½Êý¼°¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£ -.LP -SSL ¥µ¡¼¥Ð¡¼¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÇØ¸å¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢ \f2\-J\-Dhttps.proxyHost=proxyhost\fP ¤È \f2\-J\-Dhttps.proxyPort=proxyport\fP ¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Æ¡¢¥×¥í¥­¥·¥È¥ó¥Í¥ê¥ó¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2¡ÖJSSE ¥ê¥Õ¥¡¥ì¥ó¥¹¥¬¥¤¥É¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f3Ãí\fP: ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥­¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤Þ¤¹¡£ -.TP 3 -\-printcrl \-file crl_ {\-v} -.LP -¥Õ¥¡¥¤¥ë \f2crl_file\fP ¤«¤é¾ÚÌÀ½ñ¤Î¼è¤ê¾Ã¤·¥ê¥¹¥È (CRL) ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ -.LP -¾ÚÌÀ½ñ¤Î¼è¤ê¾Ã¤·¥ê¥¹¥È (CRL) ¤Ï¡¢¥Ç¥¸¥¿¥ë¾ÚÌÀ½ñ¤òȯ¹Ô¤·¤¿¾ÚÌÀ½ñȯ¹Ô¶É (CA) ¤Ë¤è¤Ã¤Æ¼è¤ê¾Ã¤µ¤ì¤¿¥Ç¥¸¥¿¥ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ç¤¹¡£CA ¤Ï¡¢\f2crl_file\fP ¤òÀ¸À®¤·¤Þ¤¹¡£ -.LP -\f3Ãí\fP: ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥­¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-list .RE - -.LP -.SS +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-printcert +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-printcertreq +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-printcrl +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥­¡¼¥¹¥È¥¢¤Î´ÉÍý -.LP -.RS 3 -.TP 3 -\-storepasswd [\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} -.LP -¥­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Þ¤¹¡£\f2new_storepass\fP ¤Ë¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£new_storepass ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.TP 3 -\-keypasswd {\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} -.LP -\f2alias\fP ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ëÈó¸ø³«/ÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¡¢\f2old_keypass\fP ¤«¤é \f2new_keypass\fP ¤ËÊѹ¹¤·¤Þ¤¹¡£new_keypass ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-new\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-delete [\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -\f2alias\fP ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥­¡¼¥¹¥È¥¢¤«¤éºï½ü¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-changealias {\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} -.LP -»ØÄꤵ¤ì¤¿ \f2alias\fP ¤«¤é¿·¤·¤¤ÊÌ̾ \f2destalias\fP ¤Ø¡¢´û¸¤Î¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ò°Üư¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¤½¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¸µ¤Î¥¨¥ó¥È¥ê¤¬¥¨¥ó¥È¥ê¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¡Ö\-keypass¡×¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¸°¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2storepass\fP (»ØÄꤵ¤ì¤¿¾ì¹ç) ¤¬¤Þ¤º»î¤ß¤é¤ì¤Þ¤¹¡£¤½¤Î»î¤ß¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-storepasswd .RE - -.LP -.SS +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-keypasswd +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-delete +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-changealias +.RE +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} ¥Ø¥ë¥×¤Îɽ¼¨ -.LP -.RS 3 -.TP 3 -\-help -.LP -´ðËÜŪ¤Ê¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ -.LP -ÆÃÄê¤Î¥³¥Þ¥ó¥É¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ \f2command_name\fP ¤Ï¥³¥Þ¥ó¥É¤Î̾Á°¤Ç¤¹¡£ -.nf -\f3 -.fl - keytool \-\fP\f4command_name\fP\f3 \-help -.fl -\fP -.fi +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\-help .RE - -.LP -.SH "Îã" -.LP -.LP -¤³¤³¤Ç¤Ï¡¢¼«Ê¬¤Î¸°¤Î¥Ú¥¢¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤«¤é¤Î¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥­¡¼¥¹¥È¥¢¤òºîÀ®¤¹¤ë¾ì¹ç¤òÎã¤È¤·¤Æ¼¨¤·¤Þ¤¹¡£ -.LP -.SS -¸°¤Î¥Ú¥¢¤ÎÀ¸À® -.LP -.LP -¤Þ¤º¡¢¥­¡¼¥¹¥È¥¢¤òºîÀ®¤·¤Æ¸°¤Î¥Ú¥¢¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-genkeypair \-dname "cn=Mark Jones, ou=Java, o=Oracle, c=US" -.fl - \-alias business \-keypass \fP\f4<Èó¸ø³«¸°¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-keystore /working/mykeystore -.fl - \-storepass \fP\f4<¥­¡¼¥¹¥È¥¢¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-validity 180 -.fl -\fP -.fi - -.LP -.LP -Ãí: ¤³¤Î¥³¥Þ¥ó¥É¤Ï 1 ¹Ô¤ËÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Îã¤ÇÊ£¿ô¹Ô¤ËÆþÎϤ·¤Æ¤¤¤ë¤Î¤ÏÆÉ¤ß¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ç¤¹¡£ -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢working ¥Ç¥£¥ì¥¯¥È¥ê¤Ë mykeystore ¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤òºîÀ®¤· (¥­¡¼¥¹¥È¥¢¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤È²¾Äꤹ¤ë)¡¢ºîÀ®¤·¤¿¥­¡¼¥¹¥È¥¢¤Ë¡¢\f2<¥­¡¼¥¹¥È¥¢¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É>\fP ¤Ç»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£À¸À®¤¹¤ë¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤ËÂбþ¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¡Ö¼±ÊÌ̾¡×¤Ï¡¢Ä̾Τ¬¡ÖMark Jones¡×¡¢ÁÈ¿¥Ã±°Ì¤¬¡ÖJava¡×¡¢ÁÈ¿¥¤¬¡ÖOracle¡×¡¢2 ʸ»ú¤Î¹ñÈֹ椬¡ÖUS¡×¤Ç¤¹¡£¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥µ¥¤¥º¤Ï¤É¤Á¤é¤â 1024 ¥Ó¥Ã¥È¤Ç¡¢¸°¤ÎºîÀ®¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Î DSA ¸°À¸À®¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¸ø³«¸°¤È¼±ÊÌ̾¾ðÊó¤ò´Þ¤à¼«¸Ê½ð̾¾ÚÌÀ½ñ (¥Ç¥Õ¥©¥ë¥È¤Î SHA1withDSA ½ð̾¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍÑ) ¤òºîÀ®¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü´Ö¤Ï 180 Æü¤Ç¤¹¡£ ¾ÚÌÀ½ñ¤Ï¡¢ÊÌ̾¡Öbusiness¡×¤ÇÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥êÆâ¤ÎÈó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Þ¤¹¡£Èó¸ø³«¸°¤Ë¤Ï¡¢\f2<Èó¸ø³«¸°¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É>\fP ¤Ç»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ -.LP -.LP -¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»È¤¦¾ì¹ç¤Ï¡¢¾å¤Ë¼¨¤·¤¿¥³¥Þ¥ó¥É¤òÂçÉý¤Ëû¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¼ÂºÝ¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä¤â»ØÄꤻ¤º¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ ¥Ç¥Õ¥©¥ë¥ÈÃͤò»ý¤Ä¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»È¤ï¤ì¡¢É¬ÍפÊÃͤˤĤ¤¤Æ¤ÏÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Ã±¤Ë¼¡¤Î¤è¤¦¤ËÆþÎϤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-genkeypair -.fl -\fP -.fi - -.LP -.LP -¤³¤Î¾ì¹ç¤Ï¡¢mykey ¤È¤¤¤¦ÊÌ̾¤Ç¥­¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¿·¤·¤¯À¸À®¤µ¤ì¤¿¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó 90 Æü´ÖÍ­¸ú¤Ê¾ÚÌÀ½ñ¤¬¤³¤Î¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥­¡¼¥¹¥È¥¢¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ºîÀ®¤µ¤ì¤Þ¤¹¡£¼±ÊÌ̾¾ðÊó¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¡¢¤ª¤è¤ÓÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -.LP -°Ê²¼¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤â¤Î¤È¤·¤ÆÎã¤ò¼¨¤·¤Þ¤¹¡£¾ðÊó¤ÎÆþÎϤòµá¤á¤é¤ì¤¿¾ì¹ç¤Ï¡¢ºÇ½é¤Ë¼¨¤·¤¿ \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ÎÃͤòÆþÎϤ·¤¿¤â¤Î¤È¤·¤Þ¤¹ (¤¿¤È¤¨¤Ð¡¢¼±ÊÌ̾¤Ë¤Ï cn=Mark Jones, ou=Java, o=Oracle, c=US ¤È»ØÄê)¡£ -.LP -.SS -¾ÚÌÀ½ñȯ¹Ô¶É¤ËÂФ¹¤ë½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤ÎÍ×µá -.LP -.LP -¸½»þÅÀ¤Ç¼ê¸µ¤Ë¤¢¤ë¤Î¤Ï¡¢1 Ä̤μ«¸Ê½ð̾¾ÚÌÀ½ñ¤À¤±¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¾ÚÌÀ½ñȯ¹Ô¶É (CA) ¤Î½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ì¤Ð¡¢¤Û¤«¤Î¥æ¡¼¥¶¡¼¤«¤é¾ÚÌÀ½ñ¤¬¿®Íê¤Ç¤­¤ë²ÄǽÀ­¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£CA ¤Î½ð̾¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤òÀ¸À®¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-certreq \-file MarkJ.csr -.fl -\fP -.fi - -.LP -.LP -CSR (¥Ç¥Õ¥©¥ë¥ÈÊÌ̾¡Ömykey¡×¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î CSR) ¤¬ºîÀ®¤µ¤ì¡¢MarkJ.csr ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢VeriSign ¤Ê¤É¤Î CA ¤ËÄó½Ð¤·¤Þ¤¹¡£ CA ¤ÏÍ×µá¼Ô¤ò (Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç) ǧ¾Ú¤·¡¢Í×µá¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿½ð̾ÉÕ¤­¤Î¾ÚÌÀ½ñ¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA ¤¬¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ -.LP -.SS -CA ¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È -.LP -.LP -ºîÀ®¤·¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¡¢¡Ö¥ë¡¼¥È¡×CA ¤òµ¯ÅÀ¤È¤¹¤ë¥Á¥§¡¼¥óÆâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ -.LP -.LP -CA ¤«¤é¤Î¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¥­¡¼¥¹¥È¥¢¤«¡¢ \f2cacerts\fP ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë (importcert ¥³¥Þ¥ó¥É¤ÇÀâÌÀ) Æâ¤Ë 1 ¤Ä°Ê¾å¤Î¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¾ÚÌÀ±þÅú¤¬¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥ó¤Î¥È¥Ã¥×¤Î¾ÚÌÀ½ñ (¤½¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¡Ö¥ë¡¼¥È¡×CA ¤Î¾ÚÌÀ½ñ) ¤À¤±¤òɬÍפȤ¹¤ë -.TP 2 -o -¾ÚÌÀ±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤·¤¿ CA ¤Îȯ¹ÔÍѤξÚÌÀ½ñ¤¬É¬Íפǡ¢¤½¤Î¾ÚÌÀ½ñ¤¬¼«¸Ê½ð̾¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¤µ¤é¤Ë¤½¤Î¾ÚÌÀ½ñ¤Î½ð̾¼ÔÍѤξÚÌÀ½ñ¤òɬÍפȤ¹¤ë¡£ ¤³¤Î¤è¤¦¤Ë¤·¤Æ¼«¸Ê½ð̾¤µ¤ì¤ë¡Ö¥ë¡¼¥È¡×CA ¤Î¾ÚÌÀ½ñ¤Þ¤Ç¤½¤ì¤¾¤ì¾ÚÌÀ½ñ¤òɬÍפȤ¹¤ë .RE - -.LP -.LP -cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ï¡¢¤¤¤¯¤Ä¤«¤Î VeriSign ¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢VeriSign ¤Î¾ÚÌÀ½ñ¤ò¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפϤʤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤Û¤«¤Î CA ¤ËÂФ·¤Æ½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤òÍ׵ᤷ¤Æ¤¤¤Æ¡¢¤³¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤¬¡¢cacerts ¤Ë¤Þ¤ÀÄɲäµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë CA ¤«¤é¤Î¾ÚÌÀ½ñ¤ò¡¢¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -Ä̾CA ¤«¤é¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¡¢¤Þ¤¿¤Ï¤Û¤«¤Î CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ç¤¹ (¸å¼Ô¤Î¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¤Û¤«¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤âɬÍ×)¡£¤¿¤È¤¨¤Ð¡¢ABC ¤È¤¤¤¦´ë¶È¤¬ CA ¤À¤È¤·¤Þ¤¹¡£¤³¤Î¤È¤­¡¢¤³¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤È¹Í¤¨¤é¤ì¤ë ABCCA.cer ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¡¢ABC ¤«¤éÆþ¼ê¤·¤¿¤È¤·¤Þ¤¹¡£ -.LP -.LP -¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤º¡¢¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤· (\f3keytool\fP \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \-noprompt ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f3keytool\fP \f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¡¢ ɽ¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿ (¤Þ¤¿¤Ï°ÂÁ´¤Ê¸ø³«¸°¤Î¥ê¥Ý¥¸¥È¥ê¤Ë¤è¤Ã¤ÆÄ󼨤µ¤ì¤ë) ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¤Û¤«¤Î²¿¼Ô¤« (¹¶·â¼Ô¤Ê¤É) ¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂØ¤¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -ABCCA.cer ¤òÍ­¸ú¤Ê¾ÚÌÀ½ñ¤È¤·¤Æ¿®Íꤹ¤ë¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲäǤ­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-importcert \-alias abc \-file ABCCA.cer -.fl -\fP -.fi - -.LP -.LP -ABCCA.cer ¥Õ¥¡¥¤¥ë¤Î¥Ç¡¼¥¿¤ò´Þ¤à¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤Î¥¨¥ó¥È¥ê¤¬¥­¡¼¥¹¥È¥¢Æâ¤ËºîÀ®¤µ¤ì¡¢³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤Ë abc ¤È¤¤¤¦ÊÌ̾¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ -.LP -.SS -CA ¤«¤é¤Î¾ÚÌÀ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È -.LP -.LP -¾ÚÌÀ½ñ½ð̾Í×µá¤ÎÄó½ÐÀè¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤¿¤¢¤È¤Ï (¤Þ¤¿¤ÏƱ¼ï¤Î¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë cacerts ¥Õ¥¡¥¤¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï)¡¢¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤ò¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ï¡¢CA ¤Î±þÅú¤¬¥Á¥§¡¼¥ó¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ½ð̾Í×µá¤ËÂФ¹¤ë±þÅú¤È¤·¤Æ CA ¤«¤éÁ÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤¹¡£ ¤Þ¤¿¡¢CA ¤Î±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¤³¤Î¾ÚÌÀ±þÅú¤È¡¢¥¤¥ó¥Ý¡¼¥ÈÀè¤Î¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤ò»È¤Ã¤Æ¹½ÃÛ¤·¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ½ð̾Í×µá¤ò VeriSign ¤ËÁ÷¿®¤·¤¿¤È¤·¤Þ¤¹¡£Á÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î̾Á°¤¬ VSMarkJ.cer ¤À¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-importcert \-trustcacerts \-file VSMarkJ.cer -.fl -\fP -.fi - -.LP -.SS -¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Ý¡¼¥È -.LP -.LP -¤¿¤È¤¨¤Ð¡¢jarsigner(1) ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¤È¤·¤Þ¤¹¡£¤³¤Î JAR ¥Õ¥¡¥¤¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤Þ¤¹¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ï½ð̾¤òǧ¾Ú¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¥¯¥é¥¤¥¢¥ó¥È¤¬½ð̾¤òǧ¾Ú¤¹¤ëÊýË¡¤Î 1 ¤Ä¤Ë¡¢¤Þ¤º¼«Ê¬¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤ò¡Ö¿®Íê¤Ç¤­¤ë¡×¥¨¥ó¥È¥ê¤È¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤ËÄ󶡤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢¾ÚÌÀ½ñ¤ò \f2MJ.cer\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡Ömykey¡×¤È¤¤¤¦ÊÌ̾¤¬»È¤ï¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-exportcert \-alias mykey \-file MJ.cer -.fl -\fP -.fi - -.LP -.LP -¾ÚÌÀ½ñ¤È½ð̾ÉÕ¤­ JAR ¥Õ¥¡¥¤¥ë¤òÆþ¼ê¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤òǧ¾Ú¤Ç¤­¤Þ¤¹¡£ -.LP -.SS -¥­¡¼¥¹¥È¥¢¤Î¥¤¥ó¥Ý¡¼¥È -.LP -.LP -¥³¥Þ¥ó¥É¡Öimportkeystore¡×¤ò»È¤¨¤Ð¡¢¤¢¤ë¥­¡¼¥¹¥È¥¢¤ÎÁ´ÂΤòÊ̤Υ­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¸°¤ä¾ÚÌÀ½ñ¤È¤¤¤Ã¤¿¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¡¢Ã±°ì¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢Æâ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È»þ¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Î¿·¤·¤¤¥¨¥ó¥È¥ê¤Ï¤¹¤Ù¤Æ¡¢¸µ¤ÈƱ¤¸ÊÌ̾¤ª¤è¤Ó (ÈëÌ©¸°¤äÈó¸ø³«¸°¤Î¾ì¹ç¤Ï) ÊݸîÍѥѥ¹¥ï¡¼¥É¤ò»ý¤Á¤Þ¤¹¡£¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤äÈëÌ©¸°¤Î²óÉü»þ¤ËÌäÂ꤬ȯÀ¸¤·¤¿¾ì¹ç¡¢\f3keytool\fP ¤Ï¥æ¡¼¥¶¡¼¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÊÌ̾¤Î½ÅÊ£¤ò¸¡½Ð¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ë¿·¤·¤¤ÊÌ̾¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢¿·¤·¤¤ÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ã±½ã¤Ë´û¸¤ÎÊÌ̾¤Î¾å½ñ¤­¤ò \f3keytool\fP ¤Ëµö²Ä¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢Ä̾ï¤Î JKS ¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢ key.jks Æâ¤Î¥¨¥ó¥È¥ê¤ò PKCS #11 ¥¿¥¤¥×¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-importkeystore -.fl - \-srckeystore key.jks \-destkeystore NONE -.fl - \-srcstoretype JKS \-deststoretype PKCS11 -.fl - \-srcstorepass \fP\f4<¥½¡¼¥¹¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-deststorepass \fP\f4<¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl -\fP -.fi - -.LP -.LP -¤Þ¤¿¡¢importkeystore ¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢¤¢¤ë¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Îñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¾åµ­¤ÎÎã¤Ç¼¨¤·¤¿¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¡¢¥¤¥ó¥Ý¡¼¥ÈÂоݤȤʤëÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£srcalias ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤â¥³¥Þ¥ó¥É¹Ô¤«¤é»ØÄê¤Ç¤­¤ë¤Û¤«¡¢ÈëÌ©/Èó¸ø³«¸°¤ÎÊݸîÍѥѥ¹¥ï¡¼¥É¤ä¥¿¡¼¥²¥Ã¥ÈÊݸîÍѥѥ¹¥ï¡¼¥É¤â»ØÄê¤Ç¤­¤Þ¤¹¡£¤½¤ÎÊýË¡¤ò¼¨¤¹¥³¥Þ¥ó¥É¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-importkeystore -.fl - \-srckeystore key.jks \-destkeystore NONE -.fl - \-srcstoretype JKS \-deststoretype PKCS11 -.fl - \-srcstorepass \fP\f4<¥½¡¼¥¹¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-deststorepass \fP\f4<¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl - \-srcalias myprivatekey \-destalias myoldprivatekey -.fl - \-srckeypass \fP\f4<¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 \-destkeypass \fP\f4<¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É>\fP\f3 -.fl - \-noprompt -.fl -\fP -.fi - -.LP -.SS -°ìÈÌŪ¤Ê SSL ¥µ¡¼¥Ð¡¼ÍѤξÚÌÀ½ñ¤ÎÀ¸À® -.LP -.LP -¼¡¤Ë¡¢3 ¤Ä¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¡¢¤Ä¤Þ¤ê¥ë¡¼¥È CA (root)¡¢Ãæ´Ö CA (ca)¡¢¤ª¤è¤Ó SSL ¥µ¡¼¥Ð¡¼ (server) ÍѤθ°¥Ú¥¢¤È¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë keytool ¥³¥Þ¥ó¥É¤ò¼¨¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¾ÚÌÀ½ñ¤òƱ¤¸¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÎÎã¤Ç¤Ï¡¢¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤È¤·¤Æ RSA ¤ò»ØÄꤹ¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -keytool \-genkeypair \-keystore root.jks \-alias root \-ext bc:c -.fl -keytool \-genkeypair \-keystore ca.jks \-alias ca \-ext bc:c -.fl -keytool \-genkeypair \-keystore server.jks \-alias server -.fl - -.fl -keytool \-keystore root.jks \-alias root \-exportcert \-rfc > root.pem -.fl - -.fl -keytool \-storepass \fP\f4<storepass>\fP\f3 \-keystore ca.jks \-certreq \-alias ca | keytool \-storepass \fP\f4<storepass>\fP\f3 \-keystore root.jks \-gencert \-alias root \-ext BC=0 \-rfc > ca.pem -.fl -keytool \-keystore ca.jks \-importcert \-alias ca \-file ca.pem -.fl - -.fl -keytool \-storepass \fP\f4<storepass>\fP\f3 \-keystore server.jks \-certreq \-alias server | keytool \-storepass \fP\f4<storepass>\fP\f3 \-keystore ca.jks \-gencert \-alias ca \-ext ku:c=dig,kE \-rfc > server.pem -.fl -cat root.pem ca.pem server.pem | keytool \-keystore server.jks \-importcert \-alias server -.fl -\fP -.fi - -.LP -.SH "ÍѸì¤È·Ù¹ð" -.LP -.SS -KeyStore -.LP -.LP -¥­¡¼¥¹¥È¥¢¤Ï¡¢°Å¹æ²½¤Î¸°¤È¾ÚÌÀ½ñ¤ò³ÊǼ¤¹¤ë¤¿¤á¤Îµ¡Ç½¤Ç¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f3¥­¡¼¥¹¥È¥¢¤Î¥¨¥ó¥È¥ê\fP -.LP -¥­¡¼¥¹¥È¥¢¤Ë¤Ï°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\f3keytool\fP ¤Ç¤â¤Ã¤È¤âŬÍÑÈϰϤι­¤¤¥¨¥ó¥È¥ê¥¿¥¤¥×¤Ï¡¢¼¡¤Î 2 ¤Ä¤Ç¤¹¡£ -.RS 3 -.TP 3 -1. -\f3¸°¤Î¥¨¥ó¥È¥ê\fP \- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Èó¾ï¤Ë½ÅÍפʰŹ沽¤Î¸°¤Î¾ðÊó¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢µö²Ä¤·¤Æ¤¤¤Ê¤¤¥¢¥¯¥»¥¹¤òËɤ°¤¿¤á¤Ë¡¢Êݸ¤ì¤¿·Á¤Ç³ÊǼ¤µ¤ì¤Þ¤¹¡£ °ìÈ̤ˡ¢¤³¤Î¼ï¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ³ÊǼ¤µ¤ì¤ë¸°¤Ï¡¢ÈëÌ©¸°¤«¡¢Âбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òȼ¤¦Èó¸ø³«¸°¤Ç¤¹¡£\f3keytool\fP ¤¬¤³¤ÎξÊý¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò½èÍý¤Ç¤­¤ë¤Î¤ËÂФ·¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤Ï¸å¼Ô¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¡¢¤Ä¤Þ¤êÈó¸ø³«¸°¤È¤½¤ì¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¤ß¤ò½èÍý¤·¤Þ¤¹¡£ -.TP 3 -2. -\f3¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê\fP \- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Âè»°¼Ô¤«¤é¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò 1 ¤Ä´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ¤½¤ì¤Ï¡¢¾ÚÌÀ½ñÆâ¤Î¸ø³«¸°¤¬¡¢¾ÚÌÀ½ñ¤Î¡ÖSubject¡×(½êÍ­¼Ô) ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤ËͳÍ褹¤ë¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò¡¢¥­¡¼¥¹¥È¥¢¤Î½êÍ­¼Ô¤¬¿®Íꤹ¤ë¤«¤é¤Ç¤¹¡£¾ÚÌÀ½ñ¤Îȯ¹Ô¼Ô¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ÎÆâÍÆ¤òÊݾڤ·¤Þ¤¹¡£ .RE -.TP 2 -o -\f3¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾\fP -.LP -¥­¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê (¸°¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ) ¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ -.LP -ÊÌ̾¤ò»ØÄꤹ¤ë¤Î¤Ï¡¢\-genseckey ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÈëÌ©¸°¤òÀ¸À®¤·¤¿¤ê¡¢\-genkeypair ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¸°¥Ú¥¢ (¸ø³«¸°¤ÈÈó¸ø³«¸°) ¤òÀ¸À®¤·¤¿¤ê¡¢\-importcert ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤ËÄɲä·¤¿¤ê¤¹¤ë¤Ê¤É¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲ乤ë¾ì¹ç¤Ç¤¹¡£¤³¤ì°Ê¸å¡¢\f3keytool\fP ¥³¥Þ¥ó¥É¤Ç¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ò»²¾È¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤È¤­¤Ë»ØÄꤷ¤¿ÊÌ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢\f2duke\fP ¤È¤¤¤¦ÊÌ̾¤ò»È¤Ã¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤òÀ¸À®¤·¡¢¸ø³«¸°¤ò¼«¸Ê½ð̾¾ÚÌÀ½ñ (¡Ö¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¡×¤ò»²¾È) ¤Ç¥é¥Ã¥×¤¹¤ë¤È¤·¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - keytool \-genkeypair \-alias duke \-keypass dukekeypasswd -.fl -\fP -.fi -.LP -¤³¤³¤Ç¤Ï¡¢½é´ü¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ dukekeypasswd ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ °Ê¸å¡¢ÊÌ̾ duke Ï¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤê¤Þ¤¹¡£ duke ¤ÎÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤«¤éÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - keytool \-keypasswd \-alias duke \-keypass dukekeypasswd \-new newpass -.fl -\fP -.fi -.LP -¥Ñ¥¹¥ï¡¼¥É¤¬¡¢dukekeypasswd ¤«¤é newpass ¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£ -.LP -Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£É¬Íפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.TP 2 -o -\f3¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ\fP -.LP -\f2KeyStore\fP ¥¯¥é¥¹ ( \f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸¤ÇÄ󶡤µ¤ì¤ë) ¤Ë¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤ËÂФ¹¤ë¥¢¥¯¥»¥¹¤ÈÊѹ¹¤ò¹Ô¤¦¤¿¤á¤ÎÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¸ÇÄê¼ÂÁõ¤È¤·¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¡Ö¥¿¥¤¥×¡×¤Î¥­¡¼¥¹¥È¥¢¤òÂоݤȤ¹¤ëÊ£¿ô¤Î°Û¤Ê¤ë¼ÂÁõ¤¬Â¸ºß²Äǽ¤Ç¤¹¡£ -.LP -¸½ºß¡¢\f3keytool\fP ¤È \f3jarsigner\fP ¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢\f3Policy Tool\fP ¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ \f2KeyStore\fP ¤Ï public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢JDK ¥æ¡¼¥¶¡¼¤Ï KeyStore ¤ò»È¤Ã¤¿¤Û¤«¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ -.LP -¥­¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Oracle ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆÈ¼«¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥­¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥­¡¼¥¹¥È¥¢Á´ÂΤÎÀ°¹çÀ­¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ -.LP -¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢ \f2KeyStore\fP ¤¬Ä󶡤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢Service Provider Interface (SPI) ¤È¤¤¤¦·Á¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë \f2KeystoreSpi\fP Ãê¾Ý¥¯¥é¥¹ (¤³¤ì¤â \f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë) ¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤¹¤ëɬÍפΤ¢¤ë Service Provider Interface ¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢ -.na -\f2¡ÖJava(TM) °Å¹æ²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡Ö¥×¥í¥Ð¥¤¥À¡×¤ò¼ÂÁõ¤·¡¢KeystoreSpi ¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢KeyStore ¥¯¥é¥¹¤¬Ä󶡤¹¤ë getInstance ¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤Ç¤­¤Þ¤¹¡£ ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥­¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«/ÈëÌ©¸°¤È¥­¡¼¥¹¥È¥¢¼«ÂΤÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -.LP -\f3keytool\fP ¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¼ÂÁõ¤Çưºî¤·¤Þ¤¹¡£keytool ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤«¤éÅϤµ¤ì¤¿¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢¤³¤ì¤ò FileInputStream ¤ËÊÑ´¹¤·¤Æ¡¢FileInputStream ¤«¤é¥­¡¼¥¹¥È¥¢¤Î¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤È \f3policytool\fP ¥Ä¡¼¥ë¤Ï¡¢URL ¤Ç»ØÄê²Äǽ¤ÊǤ°Õ¤Î¾ì½ê¤«¤é¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -\f3keytool\fP ¤È \f3jarsigner\fP ¤Î¾ì¹ç¡¢\f2\-storetype\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\f3Policy Tool\fP¤Î¾ì¹ç¤Ï¡¢¡Ö¥­¡¼¥¹¥È¥¢¡×¥á¥Ë¥å¡¼¤Ë¤è¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢keytool¡¢jarsigner¡¢¤ª¤è¤Ó policytool ¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄꤵ¤ì¤¿ \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤ˴ð¤Å¤¤¤Æ¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤Ï¡¢\f2java.security\fP ¤È¤¤¤¦Ì¾Á°¤Ç¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£\f2java.home\fP ¤Ï¡¢¼Â¹Ô´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£ -.LP -³Æ¥Ä¡¼¥ë¤Ï¡¢ \f2keystore.type\fP ¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£ -.LP -\f2KeyStore\fP ¥¯¥é¥¹¤Ç¤Ï \f2getDefaultType\fP ¤È¤¤¤¦Ì¾Á°¤Î static ¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥¢¥×¥ì¥Ã¥È¤Ï¤³¤Î¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥× ( \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -.fl -\fP -.fi -.LP -¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï JKS (Oracle ¤¬Ä󶡤¹¤ëÆÈ¼«¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - keystore.type=jks -.fl -\fP -.fi -.LP -³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - keystore.type=pkcs12 -.fl -\fP -.fi -.LP -Ãí: ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢JKS ¤È jks ¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.SH "ÀâÌÀ" +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥æ¡¼¥¶¡¼¤Ï¼«Ê¬¤Î¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥Ú¥¢¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¤ò´ÉÍý¤·¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò»ÈÍѤ·¤¿¼«¸Êǧ¾Ú(¾¤Î¥æ¡¼¥¶¡¼¤Þ¤¿¤Ï¥µ¡¼¥Ó¥¹¤ËÂФ·¤Æ¼«Ê¬¼«¿È¤òǧ¾Ú¤¹¤ë¤³¤È)¤ä¡¢¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤È¾ÚÌÀ½ñ¤Ë´Ø¤¹¤ë¥µ¡¼¥Ó¥¹¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢ÄÌ¿®¤·¤Æ¤¤¤ë¥Ô¥¢¤Î¸ø³«¸°¤ò¥­¥ã¥Ã¥·¥å¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹(¾ÚÌÀ½ñ¤Î¥Õ¥©¡¼¥à¤Ç)¡£ +.PP +¾ÚÌÀ½ñ¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£(¿Íʪ¡¢²ñ¼Ò¤Ê¤É)¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¤Ï¡¢Â¾¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°(¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó)¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£(¾ÚÌÀ½ñ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£)¥Ç¡¼¥¿¤Ë¥Ç¥¸¥¿¥ë½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤¹¤ë¤³¤È¤Ç¡¢¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤ª¤è¤Ó¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤¢¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£¥Ç¡¼¥¿¤ÎÀ°¹çÀ­¤È¤Ï¡¢¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¤ê¡¢²þÊѤµ¤ì¤¿¤ê¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤¢¤ë¤È¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¤¬¡¢¥Ç¡¼¥¿¤òºîÀ®¤·¤Æ½ð̾¤·¤¿¤È¾Î¤¹¤ë¿Íʪ¤«¤éÅϤµ¤ì¤¿¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ +.PP +¤Þ¤¿¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢ÂоΰŹ沽/Éü¹æ²½(DES)¤Ç»ÈÍѤµ¤ì¤ëÈëÌ©¸°¤ª¤è¤Ó¥Ñ¥¹¥Õ¥ì¡¼¥º¤ò´ÉÍý¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "¥³¥Þ¥ó¥É¤È¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëÃí°Õ" +.PP +ÍÍ¡¹¤Ê¥³¥Þ¥ó¥É¤È¤½¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¤É¤Î¥³¥Þ¥ó¥É̾¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèÆ¬¤Ë¥Þ¥¤¥Ê¥¹µ­¹æ(\-)¤¬ÉÕ¤­¤Þ¤¹¡£ .RE - -.LP -.SS -¾ÚÌÀ½ñ -.LP -\f3¾ÚÌÀ½ñ\fP (\f3¸ø³«¸°¾ÚÌÀ½ñ\fP¤È¤â¸Æ¤Ö) ¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (¡Öȯ¹Ô¼Ô¡×) ¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£ ¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (¡Ö½ð̾¼Ô¡×) ¤Î¸ø³«¸° (¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó) ¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -\f3¾ÚÌÀ½ñ¤ÎÍѸì\fP -.RS 3 -.TP 3 -¸ø³«¸° -.LP -¸ø³«¸°¤Ï¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¿ô¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢³ºÅö¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤È¤Î´Ö¤Ë¿®Íê¤Ç¤­¤ë´Ø·¸¤ò»ý¤ÄɬÍפ¬¤¢¤ë¤¹¤Ù¤Æ¤Î¿Í¤ËÂФ·¤Æ¸ø³«¤¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢½ð̾¤ò¸¡¾Ú¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -¥Ç¥¸¥¿¥ë½ð̾ -.LP -¥Ç¡¼¥¿¤¬¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤µ¤ì¤ë¤È¡¢¤½¤Î¥Ç¡¼¥¿¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¡Ö¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¡×¤È¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤¬¥Ç¡¼¥¿¤ÎÆâÍÆ¤Ë¤Ä¤¤¤ÆÃΤäƤ¤¤ë¤³¤È¤ò¾ÚÌÀ¤¹¤ë½ð̾¤È¤È¤â¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¥Ç¡¼¥¿¤Ë½ð̾¤òÉÕ¤±¤ë¤È¡¢¥Ç¡¼¥¿¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼ -.LP -¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤òÆÃÄꤹ¤ë¤¿¤á¤Î´ûÃΤÎÊýË¡¤Ç¤¹¡£¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¸ø³«¸°¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤Ë¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¸ø³«¸°¤Î¤Û¤«¤Ë¤â¡¢Unix UID ¤äÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡¢X.509 ¼±ÊÌ̾¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê¤â¤Î¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 3 -½ð̾ -.LP -½ð̾¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿¤ò´ð¤Ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (½ð̾¼Ô¡£ ¾ÚÌÀ½ñ¤Ë´Ø¤·¤Æ¤Ïȯ¹Ô¼Ô¤È¤â¸Æ¤Ð¤ì¤ë) ¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ·×»»¤µ¤ì¤Þ¤¹¡£ -.TP 3 -Èó¸ø³«¸° -.LP -Èó¸ø³«¸°¤ÏÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤À¤±¤¬ÃΤäƤ¤¤ë¿ô¤Î¤³¤È¤Ç¡¢¤³¤Î¿ô¤Î¤³¤È¤ò¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ÎÈó¸ø³«¸°¤È¤¤¤¤¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¡¢¤Û¤«¤ËÃΤé¤ì¤Ê¤¤¤è¤¦¤ËÈëÌ©¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬Á°Äó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Èó¸ø³«¸°¤È¸ø³«¸°¤Ï¡¢¤¹¤Ù¤Æ¤Î¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ÇÂФˤʤäÆÂ¸ºß¤·¤Æ¤¤¤Þ¤¹¡£DSA ¤Ê¤É¤Îŵ·¿Åª¤Ê¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢1 ¤Ä¤ÎÈó¸ø³«¸°¤ÏÀµ³Î¤Ë 1 ¤Ä¤Î¸ø³«¸°¤ËÂбþ¤·¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¡¢½ð̾¤ò·×»»¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£ -.TP 3 -¥¨¥ó¥Æ¥£¥Æ¥£¡¼ -.LP -¥¨¥ó¥Æ¥ó¥Æ¥£¡¼¤Ï¡¢¿Í¡¢ÁÈ¿¥¡¢¥×¥í¥°¥é¥à¡¢¥³¥ó¥Ô¥å¡¼¥¿¡¢´ë¶È¡¢¶ä¹Ô¤Ê¤É¡¢°ìÄê¤ÎÅٹ礤¤Ç¿®Íê¤ÎÂоݤȤʤ뤵¤Þ¤¶¤Þ¤Ê¤â¤Î¤ò»Ø¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +³Æ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ .RE -.LP -¸ø³«¸°°Å¹æ²½¤Ç¤Ï¡¢¤½¤ÎÀ­¼Á¾å¡¢¥æ¡¼¥¶¡¼¤Î¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Â絬ÌϤʥͥåȥ¥¯´Ä¶­¤Ç¤Ï¡¢¸ß¤¤¤ËÄÌ¿®¤·¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼´Ö¤Ç°ÊÁ°¤Î´Ø·¸¤¬°ú¤­Â³¤­³ÎΩ¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤¿¤ê¡¢»È¤ï¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¸ø³«¸°¤ò¼ý¤á¤¿¿®Íê¤Ç¤­¤ë¥ê¥Ý¥¸¥È¥ê¤¬Â¸ºß¤¹¤ë¤È²¾Äꤷ¤¿¤ê¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¸ø³«¸°¤ÎÇÛÉۤ˴ؤ¹¤ëÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¾ÚÌÀ½ñ¤¬¹Í°Æ¤µ¤ì¤Þ¤·¤¿¡£¸½ºß¤Ç¤Ï¡¢¡Ö¾ÚÌÀ½ñȯ¹Ô¶É (CA)¡×¤¬¿®Íê¤Ç¤­¤ëÂè»°¼Ô¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£CA ¤Ï¡¢¤Û¤«¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤¹¤ë (ȯ¹Ô¤¹¤ë) ¹Ô°Ù¤ò¡¢¿®Íꤷ¤ÆÇ¤¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼ (´ë¶È¤Ê¤É) ¤Ç¤¹¡£CA ¤ÏˡΧ¾å¤Î·ÀÌó¤Ë¹´Â«¤µ¤ì¤ë¤Î¤Ç¡¢Í­¸ú¤«¤Ä¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤À¤±¤òºîÀ®¤¹¤ë¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.na -\f2VeriSign\fP @ -.fi -http://www.verisign.com/¡¢ -.na -\f2Thawte\fP @ -.fi -http://www.thawte.com/¡¢ -.na -\f2Entrust\fP @ -.fi -http://www.entrust.com/ ¤ò¤Ï¤¸¤á¡¢Â¿¤¯¤Î CA ¤¬Â¸ºß¤·¤Þ¤¹¡£Microsoft ¤Îǧ¾Ú¥µ¡¼¥Ð¡¼¡¢Entrust ¤Î CA À½Éʤʤɤò½ê°ÁÈ¿¥Æâ¤ÇÍøÍѤ¹¤ì¤Ð¡¢ÆÈ¼«¤Î¾ÚÌÀ½ñȯ¹Ô¶É¤ò±¿±Ä¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ -.LP -\f3keytool\fP ¤ò»È¤¦¤È¡¢¾ÚÌÀ½ñ¤Îɽ¼¨¡¢¥¤¥ó¥Ý¡¼¥È¡¢¤ª¤è¤Ó¥¨¥¯¥¹¥Ý¡¼¥È¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -¸½ºß¡¢\f3keytool\fP ¤Ï X.509 ¾ÚÌÀ½ñ¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£ -.TP 2 -o -\f3X.509 ¾ÚÌÀ½ñ\fP -.LP -X.509 µ¬³Ê¤Ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¾ðÊó¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¾ðÊó¤ò¾ÚÌÀ½ñ¤Ë½ñ¤­¹þ¤àÊýË¡ (¥Ç¡¼¥¿·Á¼°) ¤Ë¤Ä¤¤¤Æ¤âµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ï¡¢ASN.1/DER ¤È¸Æ¤Ð¤ì¤ë 2 ¤Ä¤Î´ØÏ¢µ¬³Ê¤ò»È¤Ã¤ÆÉ乿²½¤µ¤ì¤Þ¤¹¡£\f2Abstract Syntax Notation 1\fP ¤Ï¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£\f2Definite Encoding Rules\fP ¤Ï¡¢¥Ç¡¼¥¿¤ÎÊݸ¤ª¤è¤ÓžÁ÷¤ÎÊýË¡¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -¤¹¤Ù¤Æ¤Î X.509 ¾ÚÌÀ½ñ¤Ï¡¢½ð̾¤Î¤Û¤«¤Ë¼¡¤Î¥Ç¡¼¥¿¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ -.RS 3 -.TP 3 -¥Ð¡¼¥¸¥ç¥ó -.LP -¾ÚÌÀ½ñ¤ËŬÍѤµ¤ì¤ë X.509 µ¬³Ê¤Î¥Ð¡¼¥¸¥ç¥ó¤òÆÃÄꤷ¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ë»ØÄê¤Ç¤­¤ë¾ðÊó¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Þ¤Ç¤Ë¡¢3 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢v1¡¢v2¡¢¤ª¤è¤Ó v3 ¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤È¥¨¥¯¥¹¥Ý¡¼¥È¤¬²Äǽ¤Ç¤¹¡£keytool ¤¬À¸À®¤¹¤ë¤Î¤Ï¡¢v3 ¤Î¾ÚÌÀ½ñ¤Ç¤¹¡£ -.LP -¡ÖX.509 Version 1¡×¤Ï¡¢1988 ǯ¤«¤éÍøÍѤµ¤ì¤Æ¹­¤¯ÉáµÚ¤·¤Æ¤ª¤ê¡¢¤â¤Ã¤È¤â°ìÈÌŪ¤Ç¤¹¡£ -.LP -¡ÖX.509 Version 2¡×¤Ç¤Ï¡¢Subject ¤äȯ¹Ô¼Ô¤Î̾Á°¤ò¤¢¤È¤ÇºÆÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Subject ¤Èȯ¹Ô¼Ô¤Î°ì°Õ¼±Ê̻ҤγµÇ°¤¬Æ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤Û¤È¤ó¤É¤Î¾ÚÌÀ½ñ¥×¥í¥Õ¥¡¥¤¥ëʸ½ñ¤Ç¤Ï¡¢Ì¾Á°¤òºÆ»ÈÍѤ·¤Ê¤¤¤³¤È¤È¡¢¾ÚÌÀ½ñ¤Ç°ì°Õ¤Ê¼±Ê̻Ҥò»È¤ï¤Ê¤¤¤³¤È¤¬¡¢¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Version 2 ¤Î¾ÚÌÀ½ñ¤Ï¡¢¹­¤¯¤Ï»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£ -.LP -¡ÖX.509 Version 3¡×¤Ï¤â¤Ã¤È¤â¿·¤·¤¤ (1996 ǯ) µ¬³Ê¤Ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î³µÇ°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ïï¤Ç¤âÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¸½ºß»È¤ï¤ì¤Æ¤¤¤ë°ìÈÌŪ¤Ê¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤È¤·¤Æ¤Ï¡¢KeyUsage (¡Ö½ð̾ÀìÍѡפʤɡ¢¸°¤Î»ÈÍѤòÆÃÄê¤ÎÌÜŪ¤ËÀ©¸Â¤¹¤ë)¡¢AlternativeNames (DNS ̾¡¢ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡¢IP ¥¢¥É¥ì¥¹¤Ê¤É¡¢¤Û¤«¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¤ò¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë) ¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ï¡¢critical ¤È¤¤¤¦¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¡¢¤½¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯¤È»ÈÍѤòµÁ̳¤Å¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢critical ¤È¥Þ¡¼¥¯¤µ¤ì¡¢KeyCertSign ¤¬ÀßÄꤵ¤ì¤¿ KeyUsage ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¾ÚÌÀ½ñ¤ò SSL ÄÌ¿®Ãæ¤ËÄ󼨤¹¤ë¤È¡¢¾ÚÌÀ½ñ¤¬µñÈݤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢´ØÏ¢¤¹¤ëÈó¸ø³«¸°¤¬¾ÚÌÀ½ñ¤Î½ð̾ÀìÍѤȤ·¤Æ»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢SSL ¤Ç¤Ï»ÈÍѤǤ­¤Ê¤¤¤¿¤á¤Ç¤¹¡£ -.TP 3 -¥·¥ê¥¢¥ëÈÖ¹æ -.LP -¾ÚÌÀ½ñ¤òºîÀ®¤·¤¿¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤¬È¯¹Ô¤¹¤ë¤Û¤«¤Î¾ÚÌÀ½ñ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢¾ÚÌÀ½ñ¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤Ç»È¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬¼è¤ê¾Ã¤µ¤ì¤ë¤È¡¢¥·¥ê¥¢¥ëÈֹ椬¾ÚÌÀ½ñ¤Î¼è¤ê¾Ã¤·¥ê¥¹¥È (CRL) ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -½ð̾¥¢¥ë¥´¥ê¥º¥à¼±ÊÌ»Ò -.LP -¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë CA ¤¬»È¤Ã¤¿¥¢¥ë¥´¥ê¥º¥à¤òÆÃÄꤷ¤Þ¤¹¡£ -.TP 3 -ȯ¹Ô¼Ô̾ -.LP -¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î X.500 ¼±ÊÌ̾¤Ç¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ï¡¢Ä̾ï¤Ï CA ¤Ç¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤ò»È¤¦¤³¤È¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤ò¿®Íꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¡Ö¥ë¡¼¥È¡×¤Ä¤Þ¤ê¡Ö¥È¥Ã¥×¥ì¥Ù¥ë¡×¤Î CA ¤Î¾ÚÌÀ½ñ¤Ê¤É¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ïȯ¹Ô¼Ô¤¬¼«¿È¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤¢¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -Í­¸ú´ü´Ö -.LP -³Æ¾ÚÌÀ½ñ¤Ï¡¢¸Â¤é¤ì¤¿´ü´Ö¤À¤±Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î´ü´Ö¤Ï³«»Ï¤ÎÆü»þ¤È½ªÎ»¤ÎÆü»þ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¡¢¿ôÉäÎû¤¤´ü´Ö¤«¤é 100 ǯ¤È¤¤¤¦Ä¹´ü¤Ë¤ï¤¿¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ÁªÂò¤µ¤ì¤ëÍ­¸ú´ü´Ö¤Ï¡¢¾ÚÌÀ½ñ¤Ø¤Î½ð̾¤Ë»È¤ï¤ì¤ëÈó¸ø³«¸°¤Î¶¯ÅÙ¤ä¾ÚÌÀ½ñ¤Ë»Ùʧ¤¦¶â³Û¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ç°Û¤Ê¤ê¤Þ¤¹¡£Í­¸ú´ü´Ö¤Ï¡¢»ÈÍѤ¹¤ëÈó¸ø³«¸°¤¬Â»¤Ê¤ï¤ì¤Ê¤¤¾ì¹ç¤Ë¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤¬¸ø³«¸°¤ò¿®Íê¤Ç¤­¤ë¤È´üÂÔ¤µ¤ì¤ë´ü´Ö¤Ç¤¹¡£ -.TP 3 -Subject ̾ -.LP -¾ÚÌÀ½ñ¤Ç¸ø³«¸°¤¬¼±Ê̤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î̾Á°¤Ç¤¹¡£¤³¤Î̾Á°¤Ï X.500 ɸ½à¤ò»È¤¦¤Î¤Ç¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤǰì°Õ¤Ê¤â¤Î¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î X.500 ¼±ÊÌ̾ (DN) ¤Ç¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - CN=Java Duke, OU=Java Software Division, O=Oracle Corporation, C=US -.fl -\fP -.fi -.LP -¤³¤ì¤é¤Ï¤½¤ì¤¾¤ì¼çÂΤÎÄ̾Ρ¢ÁÈ¿¥Ã±°Ì¡¢ÁÈ¿¥¡¢¹ñ¤òɽ¤·¤Þ¤¹¡£ -.TP 3 -Subject ¤Î¸ø³«¸°¾ðÊó -.LP -̾Á°¤òÉÕ¤±¤é¤ì¤¿¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Î¸ø³«¸°¤È¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤ¹¡£¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤϡ¢¸ø³«¸°¤ËÂФ·¤Æ»È¤ï¤ì¤Æ¤¤¤ë¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ª¤è¤Ó´ØÏ¢¤¹¤ë¸°¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥¿¥ê¥Ã¥¯ÂΤˤʤäƤ¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¹àÌÜ¡¢¤Þ¤¿¤ÏÃæ¥«¥Ã¥³¤«³Ñ¥«¥Ã¥³¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¹àÌܤϡ¢¤½¤Î¤È¤ª¤ê¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE -.TP 2 -o -\f3¾ÚÌÀ½ñ¥Á¥§¡¼¥ó\fP -.LP -\f3keytool\fP ¤Ç¤Ï¡¢Èó¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¡Ö¥Á¥§¡¼¥ó¡×¤ò´Þ¤à¥­¡¼¥¹¥È¥¢¤Î¡Ö¸°¡×¥¨¥ó¥È¥ê¤òºîÀ®¤·¡¢´ÉÍý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤Ç¤Ï¡¢Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Ï¡¢¥Á¥§¡¼¥ó¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -¸°¤ò½é¤á¤ÆºîÀ®¤¹¤ë¤È (\-genkeypair ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢¡Ö¼«¸Ê½ð̾¾ÚÌÀ½ñ¡×¤È¤¤¤¦ 1 ¤Ä¤ÎÍ×ÁǤÀ¤±¤ò´Þ¤à¥Á¥§¡¼¥ó¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢È¯¹Ô¼Ô (½ð̾¼Ô) ¤¬¼çÂÎ (¾ÚÌÀ½ñ¤Çǧ¾Ú¤µ¤ì¤Æ¤¤¤ë¸ø³«¸°¤Î»ý¤Á¼ç) ¤ÈƱ¤¸¤Ç¤¢¤ë¾ÚÌÀ½ñ¤Î¤³¤È¤Ç¤¹¡£ \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤òºîÀ®¤¹¤ë¤È¡¢¸ø³«¸°¤Ï¾ï¤Ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£ -.LP -¤³¤Î¤¢¤È¡¢¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤¬À¸À®¤µ¤ì¤Æ (\-certreq ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢CSR ¤¬¾ÚÌÀ½ñȯ¹Ô¶É (CA) ¤ËÁ÷¿®¤µ¤ì¤ë¤È¡¢CA ¤«¤é¤Î±þÅú¤¬¥¤¥ó¥Ý¡¼¥È¤µ¤ì (\-importcert ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢¸µ¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£¥Á¥§¡¼¥ó¤ÎºÇ¸å¤Ë¤¢¤ë¤Î¤Ï¡¢Subject ¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿ CA ¤¬È¯¹Ô¤·¤¿¾ÚÌÀ½ñ (±þÅú) ¤Ç¤¹¡£¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¡ÖCA¡×¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£ -.LP -CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ï¡¢Â¿¤¯¤Î¾ì¹ç¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ (¤Ä¤Þ¤ê CA ¤¬¼«¿È¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿¾ÚÌÀ½ñ) ¤Ç¤¢¤ê¡¢¤³¤ì¤Ï¥Á¥§¡¼¥ó¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA ¤¬¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ (CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢¸°¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ) ¤ËÊѤï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢CSR ¤ÎÁ÷¿®Àè¤Î CA ¤È¤Ï¡ÖÊ̤Ρ×CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢CSR ¤ÎÁ÷¿®Àè¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î CA ¤Î¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£ °Ê²¼Æ±Íͤˡ¢¼«¸Ê½ð̾¤µ¤ì¤¿¡Ö¥ë¡¼¥È¡×¾ÚÌÀ½ñ¤Ë㤹¤ë¤Þ¤Ç¥Á¥§¡¼¥ó¤¬Â³¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Á¥§¡¼¥óÆâ¤Î (ºÇ½é¤Î¾ÚÌÀ½ñ°Ê¸å¤Î) ³Æ¾ÚÌÀ½ñ¤Ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤¬Ç§¾Ú¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -¿¤¯¤Î CA ¤Ï¡¢¥Á¥§¡¼¥ó¤ò¥µ¥Ý¡¼¥È¤»¤º¤Ëȯ¹ÔºÑ¤ß¤Î¾ÚÌÀ½ñ¤À¤±¤òÊÖ¤·¤Þ¤¹¡£ÆÃ¤Ë¡¢Ãæ´Ö¤Î CA ¤¬Â¸ºß¤·¤Ê¤¤¥Õ¥é¥Ã¥È¤Ê³¬Áع½Â¤¤Î¾ì¹ç¤Ï¡¢¤½¤Î·¹¸þ¤¬¸²Ãø¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¾ðÊ󤫤顢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò³ÎΩ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -Ê̤αþÅú·Á¼° (PKCS#7 ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·Á¼°) ¤Ç¤â¡¢È¯¹ÔºÑ¤ß¾ÚÌÀ½ñ¤Ë²Ã¤¨¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¥µ¥Ý¡¼¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢¤É¤Á¤é¤Î±þÅú·Á¼°¤â°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -¥È¥Ã¥×¥ì¥Ù¥ë (¥ë¡¼¥È) CA ¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¹¡£¤¿¤À¤·¡¢¥ë¡¼¥È¤Î¸ø³«¸°¤ËÂФ¹¤ë¿®Íê¤Ï¡¢¥ë¡¼¥È¤Î¾ÚÌÀ½ñ¼«ÂΤ«¤éƳ¤­½Ð¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯ (¤¿¤È¤¨¤Ð¡¢VeriSign ¥ë¡¼¥È CA ¤Î¤è¤¦¤Êͭ̾¤Ê¼±ÊÌ̾¤ò»È¤Ã¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òºîÀ®¤¹¤ë¤³¤È¼«ÂΤÏï¤Ç¤â²Äǽ)¡¢¿·Ê¹¤Ê¤É¤Î¤Û¤«¤Î¾ðÊ󸻤ËͳÍ褹¤ë¤â¤Î¤Ç¤¹¡£¥ë¡¼¥È CA ¤Î¸ø³«¸°¤Ï¹­¤¯ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£¥ë¡¼¥È CA ¤Î¸ø³«¸°¤ò¾ÚÌÀ½ñ¤Ë³ÊǼ¤¹¤ëÍýͳ¤Ï¡¢¾ÚÌÀ½ñ¤È¤¤¤¦·Á¼°¤Ë¤¹¤ë¤³¤È¤Ç¿¤¯¤Î¥Ä¡¼¥ë¤«¤éÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤é¤Ë¤¹¤®¤Þ¤»¤ó¡£ ¤Ä¤Þ¤ê¡¢¾ÚÌÀ½ñ¤Ï¡¢¥ë¡¼¥È CA ¤Î¸ø³«¸°¤ò±¿¤Ö¡ÖÇÞÂΡפȤ·¤ÆÍøÍѤµ¤ì¤ë¤À¤±¤Ç¤¹¡£¥ë¡¼¥È CA ¤Î¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲ乤ë¤È¤­¤Ï¡¢¤½¤ÎÁ°¤Ë¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤· ( \f2\-printcert\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡¢É½¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¿·Ê¹¤ä¥ë¡¼¥È CA ¤Î Web ¥Ú¡¼¥¸¤Ê¤É¤«¤éÆþ¼ê¤·¤¿´ûÃΤΥե£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 2 -o -\f3cacerts ¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë\fP -.LP -\f3cacerts\fP ¤È¤¤¤¦Ì¾Á°¤Î¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥×¥í¥Ñ¥Æ¥£¡¼¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£\f2java.home\fP ¤Ï¡¢¼Â¹Ô´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£ -.LP -cacerts ¥Õ¥¡¥¤¥ë¤Ï¡¢CA ¤Î¾ÚÌÀ½ñ¤ò´Þ¤à¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥ­¡¼¥¹¥È¥¢¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢¥­¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ë jks ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢\f3keytool\fP ¤ò»È¤Ã¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹½À®¤È´ÉÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ï¡¢¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤Î¥Ç¥Õ¥©¥ë¥È¥»¥Ã¥È¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤é¤Î¾ÚÌÀ½ñ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ -.nf -\f3 -.fl -keytool \-list \-keystore \fP\f4java.home\fP\f3/lib/security/cacerts -.fl -\fP -.fi -.LP -cacerts ¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Î½é´ü¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢changeit ¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢SDK ¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤È¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¸¢¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -\f3½ÅÍ×: \fP\f4cacerts\fP\f3 ¥Õ¥¡¥¤¥ë¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤\fP: \f2cacerts\fP ¥Õ¥¡¥¤¥ëÆâ¤Î CA ¤Ï¡¢½ð̾¤ª¤è¤Ó¾¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ø¤Î¾ÚÌÀ½ñȯ¹Ô¤Î¤¿¤á¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤È¤·¤Æ¿®Íꤵ¤ì¤ë¤¿¤á¡¢ \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Î´ÉÍý¤Ï¿µ½Å¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¿®Íꤹ¤ë CA ¤Î¾ÚÌÀ½ñ¤À¤±¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥æ¡¼¥¶¡¼¤Ï¡¢¼«¿È¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¡¢ \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤­¤ë¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò¸¡¾Ú¤·¡¢¿®ÍêÀ­¤Ë´Ø¤¹¤ëÆÈ¼«¤Î·èÄê¤ò¹Ô¤¤¤Þ¤¹¡£¿®Íê¤Ç¤­¤Ê¤¤ CA ¾ÚÌÀ½ñ¤ò \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤¹¤ë¤Ë¤Ï¡¢ \f2keytool\fP ¥³¥Þ¥ó¥É¤Îºï½ü¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ï JRE ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¥¢¥¯¥»¥¹¸¢¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 2 -o -\f3¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉ乿²½µ¬³Ê\fP -.LP -¿¤¯¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½¤Ç¤Ï¤Ê¤¯¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë½ÐÎϲÄǽÉ乿²½Êý¼°¤ò»È¤Ã¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¡ÖBase 64 É乿²½¡×¤È¤â¸Æ¤Ð¤ì¤ë¤³¤Î¾ÚÌÀ½ñ·Á¼°¤Ç¤Ï¡¢ÅŻҥ᡼¥ë¤ä¤½¤Î¾¤Îµ¡¹½¤òÄ̤¸¤Æ¡¢¤Û¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¾ÚÌÀ½ñ¤òÍÆ°×¤Ë¥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ -.LP -\f2\-importcert\fP ¤È \f2\-printcert\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤Î·Á¼°¤Î¾ÚÌÀ½ñ¤È¥Ð¥¤¥Ê¥êÉ乿²½¤Î¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -\f2\-exportcert\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ð¥¤¥Ê¥êÉ乿²½¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢ \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -\f2\-list\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¾ÚÌÀ½ñ¤Î SHA1 ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ \f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£°ìÊý¡¢ \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Ç¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -½ÐÎϲÄǽÉ乿²½Êý¼°¤ÇÉ乿²½¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î¹Ô¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- -.fl -\fP -.fi -.LP -ºÇ¸å¤Ï¡¢¼¡¤Î¹Ô¤Ç½ª¤ï¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -\-\-\-\-\-END CERTIFICATE\-\-\-\-\- -.fl -\fP -.fi +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥ª¥×¥·¥ç¥ó¤ò°Ï¤àÃæ¥«¥Ã¥³¤Ï¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»ÈÍѤµ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ã楫¥Ã¥³¤Ï¡¢\fI\-v\fR¡¢\fI\-rfc\fR¤ª¤è¤Ó\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò°Ï¤à¤¿¤á¤Ë¤â»ÈÍѤµ¤ì¤Þ¤¹¤¬¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç°Ê³°¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϤ¢¤ê¤Þ¤»¤ó¡£ .RE - -.LP -.SS -X.500 ¼±ÊÌ̾ -.LP -.LP -X.500 ¼±ÊÌ̾¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢X.509 ¾ÚÌÀ½ñ¤Î \f2subject\fP ¥Õ¥£¡¼¥ë¥É¤È \f2issuer\fP (½ð̾¼Ô) ¥Õ¥£¡¼¥ë¥É¤Ç»ØÄꤵ¤ì¤ë̾Á°¤Ï¡¢X.500 ¼±ÊÌ̾¤Ç¤¹¡£\f3keytool\fP ¤Ï¡¢¼¡¤Î¥µ¥Ö¥Ñ¡¼¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f2commonName\fP \- ¿Í¤ÎÄ̾Ρ£ ¡ÖSusan Jones¡×¤Ê¤É -.TP 2 -o -\f2organizationUnit\fP \- ¾®¤µ¤ÊÁÈ¿¥ (Éô¡¢²Ý¤Ê¤É) ¤Î̾¾Î¡£ ¡Ö»ÅÆþÉô¡×¤Ê¤É -.TP 2 -o -\f2organizationName\fP \- Â礭¤ÊÁÈ¿¥¤Î̾¾Î¡£ ¡ÖABCSystems, Inc.¡×¤Ê¤É -.TP 2 -o -\f2localityName\fP \- Ãϰè (ÅÔ»Ô) ̾¡£ ¡ÖPalo Alto¡×¤Ê¤É -.TP 2 -o -\f2stateName\fP \- ½£Ì¾¤Þ¤¿¤ÏÃÏÊý̾¡£ ¡ÖCalifornia¡×¤Ê¤É -.TP 2 -o -\f2country\fP \- 2 ʸ»ú¤Î¹ñÈֹ档 ¡ÖCH¡×¤Ê¤É +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥ª¥×¥·¥ç¥ó¤ò°Ï¤à³Ñ¥«¥Ã¥³¤Ï¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢ÃÍ¤ÎÆþÎϤòµá¤á¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\fI\-keypass\fR¥ª¥×¥·¥ç¥ó¤Î¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤¬¤Þ¤º¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍѤ·¤ÆÈó¸ø³«/ÈëÌ©¸°¤ÎÉü¸µ¤ò»î¤ß¤Þ¤¹¡£¤³¤Î»î¤ß¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ë¤è¤ê¡¢Èó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ .RE - -.LP -.LP -\-genkeypair ¥³¥Þ¥ó¥É¤Î \f2\-dname\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤȤ·¤Æ¼±ÊÌ̾ʸ»úÎó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢ ¼¡¤Î·Á¼°¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -CN=\fP\f4cName\fP\f3, OU=\fP\f4orgUnit\fP\f3, O=\fP\f4org\fP\f3, L=\fP\f4city\fP\f3, S=\fP\f4state\fP\f3, C=\fP\f4countryCode\fP\f3 -.fl -\fP -.fi - -.LP -.LP -¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤϡ¢¼ÂºÝ¤Ë»ØÄꤹ¤ëÃͤòɽ¤·¤Þ¤¹¡£ û½Ì·Á¤Î¥­¡¼¥ï¡¼¥É¤Î°ÕÌ£¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl - CN=commonName -.fl - OU=organizationUnit -.fl - O=organizationName -.fl - L=localityName -.fl - S=stateName -.fl - C=country -.fl -\fP -.fi - -.LP -.LP -¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼±ÊÌ̾ʸ»úÎó¤ÎÎã¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, S=California, C=US -.fl -\fP -.fi - -.LP -.LP -¼¡¤Ï¡¢¤³¤Îʸ»úÎó¤ò»È¤Ã¤¿¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£ -.LP -.nf -\f3 -.fl -keytool \-genkeypair \-dname "CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, -.fl -S=California, C=US" \-alias mark -.fl -\fP -.fi - -.LP -.LP -¥­¡¼¥ï¡¼¥É¤Îû½Ì·Á¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢CN¡¢cn¡¢¤ª¤è¤Ó Cn ¤Ï¡¢¤É¤ì¤âƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -°ìÊý¡¢¥­¡¼¥ï¡¼¥É¤Î»ØÄê½ç½ø¤Ë¤Ï°ÕÌ£¤¬¤¢¤ê¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¾å¤Ë¼¨¤·¤¿½ç½ø¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¤¹¤Ù¤Æ»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë°ìÉô¤Î¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤À¤±¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -CN=Steve Meier, OU=Java, O=Oracle, C=US -.fl -\fP -.fi - -.LP -.LP -¼±ÊÌ̾ʸ»úÎó¤ÎÃͤ˥³¥ó¥Þ¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Çʸ»úÎó¤ò»ØÄꤹ¤ë¤È¤­¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Þ¤òʸ»ú \\ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - cn=Peter Schuster, ou=Java\\, Product Development, o=Oracle, c=US -.fl -\fP -.fi - -.LP -.LP -¼±ÊÌ̾ʸ»úÎó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¼±ÊÌ̾¤òɬÍפȤ¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥³¥ó¥Þ¤òʸ»ú \\ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ -.LP -.SS -¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à -.LP -.LP -½ÅÍ×: ¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ë¡¢¾ÚÌÀ½ñ¤ÎÆâÍÆ¤ò¿µ½Å¤ËÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¤Þ¤º¡¢¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤· (\-printcert ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \-noprompt ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \-importcert ¥³¥Þ¥ó¥É¤ò»ÈÍÑ)¡¢ ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¡¢ ɽ¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥æ¡¼¥¶¡¼¤«¤é¾ÚÌÀ½ñ¤¬Á÷¤é¤ì¤Æ¤­¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò /tmp/cert ¤È¤¤¤¦Ì¾Á°¤Ç¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¤³¤Î¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢ \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - keytool \-printcert \-file /tmp/cert -.fl - Owner: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll -.fl - Issuer: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll -.fl - Serial Number: 59092b34 -.fl - Valid from: Thu Sep 25 18:01:13 PDT 1997 until: Wed Dec 24 17:01:13 PST 1997 -.fl - Certificate Fingerprints: -.fl - MD5: 11:81:AD:92:C8:E5:0E:A2:01:2E:D4:7A:D7:5F:07:6F -.fl - SHA1: 20:B6:17:FA:EF:E5:55:8A:D0:71:1F:E8:D6:9D:C0:37:13:0E:5E:FE -.fl - SHA256: 90:7B:70:0A:EA:DC:16:79:92:99:41:FF:8A:FE:EB:90: -.fl - 17:75:E0:90:B2:24:4D:3A:2A:16:A6:E4:11:0F:67:A4 -.fl -\fP -.fi - -.LP -.LP -¼¡¤Ë¡¢¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¤Û¤«¤Î²¿¼Ô¤« (¹¶·â¼Ô¤Ê¤É) ¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂØ¤¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î (¹¶·âŪ°Õ¿Þ¤ò»ý¤Ä¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤À JAR ¥Õ¥¡¥¤¥ë¤Ê¤É) ¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -Ãí: ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ëɬ¤º \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥­¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë \f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¾ÚÌÀ½ñ¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¡¢³Îǧ¤òµá¤á¤ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¤³¤Î»þÅÀ¤ÇÃæ»ß¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢³Îǧ¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¡¢\-importcert ¥³¥Þ¥ó¥É¤ò \-noprompt ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë¼Â¹Ô¤·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£ ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¡¢ \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£ -.LP -.SS -¥Ñ¥¹¥ï¡¼¥É¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à -.LP -.LP -¥­¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤Û¤È¤ó¤É¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢°ìÉô¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Èó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -¥Ñ¥¹¥ï¡¼¥É¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄê¤Ç¤­¤Þ¤¹ (¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡£¤¿¤À¤·¡¢¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -.LP -.LP -ɬÍפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -.SS -¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à -.LP -.LP -¥¤¥ó¥¿¡¼¥Í¥Ã¥Èɸ½à¤Î -.na -\f2RFC 5280\fP @ -.fi -http://tools.ietf.org/rfc/rfc5280.txt ¤Ç¤Ï¡¢X.509 ¾ÚÌÀ½ñ¤¬½àµò¤¹¤ë¥×¥í¥Õ¥¡¥¤¥ë¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥Õ¥£¡¼¥ë¥É¤ä¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÇÍ­¸ú¤ÊÃͤäÃͤÎÁȤ߹ç¤ï¤»¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢¤³¤ì¤é¤Î¤¹¤Ù¤Æ¤Îµ¬Â§¤¬Å¬ÍѤµ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢É¸½à¤Ë½àµò¤·¤Ê¤¤¾ÚÌÀ½ñ¤¬À¸À®¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¡¢¤½¤Î¤è¤¦¤Ê¾ÚÌÀ½ñ¤Ï JRE ¤ä¤Û¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇµñÈݤµ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢ \f2\-dname\fP ¤ä \f2\-ext\fP ¤Ê¤É¤ÇŬÀµ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -jar(1) ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È -.TP 2 -o -jarsigner(1) ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È -.TP 2 -o -.na -\f4keytool\fP\f2 ¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢\fP @ -.fi -http://download.oracle.com/javase/tutorial/security/index.html -.na -\f2¡ÖJava Tutorial¡×\fP\f4¤Î\fP @ -.fi -http://download.oracle.com/javase/tutorial/¡ÖSecurity¡×\f3¤ò»²¾È\fP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ(¥ª¥×¥·¥ç¥ó¤ÎÃÍ)¤Ï¡¢»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-printcert\fR¥³¥Þ¥ó¥É¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +\fIkeytool \-printcert {\-file cert_file} {\-v}\fR +.sp +\fI\-printcert\fR¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢\fIcert_file\fR¤ò¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë̾¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£Îã: +\fIkeytool \-printcert \-file VScert\&.cer\fR .RE - -.LP -.SH "Êѹ¹ÅÀ" -.LP -.LP -Java SE 6 ¤Ç keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£ -.LP -.LP -\f3keytool\fP ¤Ï¡¢¥æ¡¼¥¶¡¼¤¬¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ëºÝ¤Ë¤½¤ÎÆþÎÏÆâÍÆ¤òɽ¼¨¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥ÉÆþÎÏ»þ¤Ë¤½¤ÎÆþÎÏÆâÍÆ¤ò³Îǧ¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¤¿¤á¡¢½é´ü¥­¡¼¥¹¥È¥¢¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤¿¤ê¸°¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê¤äÊѹ¹¤ò¹Ô¤¦¤¿¤Ó¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎºÆÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ -.LP -.LP -Êѹ¹¤µ¤ì¤¿¥³¥Þ¥ó¥É¤ÎÃæ¤Ë¤Ï¡¢Ì¾Á°¤¬Êѹ¹¤µ¤ì¤¿¤À¤±¤Î¤â¤Î¤â¤¢¤ì¤Ð¡¢Çѻߤµ¤ì¤Æ¤³¤Î¥É¥­¥å¥á¥ó¥È¤Ëµ­ºÜ¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£°ÊÁ°¤Î¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É (̾Á°¤¬Êѹ¹¤µ¤ì¤¿¤â¤Î¤ÈÇѻߤµ¤ì¤¿¤â¤Î¤ÎξÊý) ¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë²Ã¤¨¤é¤ì¤¿¤¹¤Ù¤Æ¤ÎÊѹ¹ÅÀ¤Î³µÍפò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.LP -.LP -̾Á°¤¬Êѹ¹¤µ¤ì¤¿¥³¥Þ¥ó¥É: -.LP -.RS 3 -.TP 2 -o -\f2\-export\fP ¤Î̾Á°¤¬ \f2\-exportcert ¤ËÊѹ¹\fP -.TP 2 -o -\f2\-genkey\fP ¤Î̾Á°¤¬ \f2\-genkeypair ¤ËÊѹ¹\fP -.TP 2 -o -\f2\-import\fP ¤Î̾Á°¤¬ \f2\-importcert ¤ËÊѹ¹\fP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥ª¥×¥·¥ç¥ó¤ÎÃͤ˶õÇò(¥¹¥Ú¡¼¥¹)¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Ãͤò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.LP -Çѻߤµ¤ì¤Æ¥É¥­¥å¥á¥ó¥È¤Ëµ­ºÜ¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¥³¥Þ¥ó¥É: -.LP -.RS 3 -.TP 2 -o -.na -\f2\-keyclone\fP @ -.fi -http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html#keycloneCmd -.TP 2 -o -.na -\f2\-identitydb\fP @ -.fi -http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html#identitydbCmd -.TP 2 -o -.na -\f2\-selfcert\fP @ -.fi -http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html#selfcertCmd +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-help\fR¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIkeytool \-help\fR¤ÈƱ¤¸¤Ç¤¹¡£ .RE - -.LP +.SH "¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ" +.PP +¼¡¤ÎÎã¤Ç¡¢ÍÍ¡¹¤Ê¥ª¥×¥·¥ç¥óÃͤΥǥե©¥ë¥ÈÃͤò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-alias "mykey" +\-keyalg + "DSA" (when using \-genkeypair) + "DES" (when using \-genseckey) + +\-keysize + 2048 (when using \-genkeypair and \-keyalg is "RSA") + 1024 (when using \-genkeypair and \-keyalg is "DSA") + 256 (when using \-genkeypair and \-keyalg is "EC") + 56 (when using \-genseckey and \-keyalg is "DES") + 168 (when using \-genseckey and \-keyalg is "DESede") + +\-validity 90 + +\-keystore <the file named \&.keystore in the user\*(Aqs home directory> + +\-storetype <the value of the "keystore\&.type" property in the + security properties file, which is returned by the static + getDefaultType method in java\&.security\&.KeyStore> + +\-file + stdin (if reading) + stdout (if writing) + +\-protected false +.fi +.if n \{\ +.RE +.\} +.PP +¸ø³«/ÈëÌ©¸°¥Ú¥¢¤ÎÀ¸À®¤Ë¤ª¤¤¤Æ¡¢½ð̾¥¢¥ë¥´¥ê¥º¥à(\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó)¤Ï¡¢´ð¤Ë¤Ê¤ëÈëÌ©¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´ð¤Ë¤Ê¤ëÈëÌ©¸°¤¬DSA¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏSHA1withDSA¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´ð¤Ë¤Ê¤ëÈëÌ©¸°¤¬RSA¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏSHA256withRSA¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´ð¤Ë¤Ê¤ëÈëÌ©¸°¤¬EC¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-sigalg\fR¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏSHA256withECDSA¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\fI\-keyalg\fR¤ª¤è¤Ó\fI\-sigalg\fR°ú¿ô¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢ +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html#AppA¤Î¡ÖJava Cryptography Architecture (JCA) Reference Guide¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "°ìÈÌ¥ª¥×¥·¥ç¥ó" +.PP +\fI\-v\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢\fI\-help\fR¥³¥Þ¥ó¥É¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ­¤Þ¤¹¡£\fI\-v\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¾éĹ¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¡¢¾ÜºÙ¤Ê¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£ +.PP +Ǥ°Õ¤Î¥³¥Þ¥ó¥É¤Ç»ØÄê¤Ç¤­¤ë\fI\-Jjavaoption\fR°ú¿ô¤â¤¢¤ê¤Þ¤¹¡£\fI\-Jjavaoption\fR¤ò»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿\fIjavaoption\fRʸ»úÎó¤¬Java¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤµ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶­¤Þ¤¿¤Ï¥á¥â¥ê¡¼»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤­¤ë¥¤¥ó¥¿¥×¥ê¥¿¡¦¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjava \-h\fR¤Þ¤¿¤Ï\fIjava \-X\fR¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ +.PP +\-storetype \fIstoretype\fR +.RS 4 +¤³¤Î½¤¾þ»Ò¤Ï¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-keystore \fIkeystore\fR +.RS 4 +¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +ÆÃÄê¤Î\fIkeytool\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢JKS +\fIstoretype\fR¤¬»ÈÍѤµ¤ì¡¢¤«¤Ä¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¿·¤·¤¤¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIkeytool \-genkeypair\fR¤Î¸Æ½Ð¤·»þ¤Ë\fI\-keystore\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fI\&.keystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤¬¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤½¤³¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£Æ±Íͤˡ¢\fI\-keystore ks_file\fR¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤â¤½¤Îks_file¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£JKS +\fIstoretype\fR¤Î¾ÜºÙ¤Ï¡¢\fI¤Î\fRKeyStore¤Î¼ÂÁõ¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ë´Ø¤¹¤ë¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-keystore\fR¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¡¢\fIKeyStore\&.load\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£URL¤È¤·¤Æ\fINONE\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢null¤Î¥¹¥È¥ê¡¼¥à¤¬\fIKeyStore\&.load\fR¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£\fINONE\fR¤Ï¡¢KeyStore¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢¥Ï¡¼¥É¥¦¥§¥¢¡¦¥È¡¼¥¯¥ó¡¦¥Ç¥Ð¥¤¥¹¾å¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ê¤É¤Ç¤¹¡£ +.RE +.PP +\-storepass[:\fIenv\fR| :\fIfile\fR] argument +.RS 4 +¥­¡¼¥¹¥È¥¢¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +½¤¾þ»Ò\fIenv\fR¤Þ¤¿¤Ï\fIfile\fR¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÃͤÏ\fIargument\fR¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÃͤϡ¢6ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIenv\fR: +\fIargument\fR¤È¤¤¤¦Ì¾Á°¤Î´Ä¶­ÊÑ¿ô¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIfile\fR: argument¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤·¤Þ¤¹¡£ +.RE +.sp +\fBÃí°Õ:\fR +\fI\-keypass\fR¡¢\fI\-srckeypass\fR¡¢\-\fIdestkeypass\fR¡¢\fI\-srcstorepass\fR¡¢\fI\-deststorepass\fR¤Ê¤É¤Î¥Ñ¥¹¥ï¡¼¥É¤òɬÍפȤ¹¤ë¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¡¢\fIenv\fR¤ª¤è¤Ó\fIfile\fR½¤¾þ»Ò¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¡¦¥ª¥×¥·¥ç¥ó¤È½¤¾þ»Ò¤Ï¡¢É¬¤º¥³¥í¥ó(:)¤Ç¶èÀڤäƤ¯¤À¤µ¤¤¡£ +.sp +¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¼ï¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-storepass\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤«¤é¾ðÊó¤ò¼èÆÀ¤¹¤ë¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¾Êά²Äǽ¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¼èÆÀ¤·¤¿¾ðÊó¤ÎÀ°¹çÀ­¤ò¸¡¾Ú¤Ç¤­¤º¡¢·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-providerName \fIprovider_name\fR +.RS 4 +¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë´Þ¤Þ¤ì¤ë°Å¹æ²½¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À̾¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-providerClass \fIprovider_class_name\fR +.RS 4 +°Å¹æ²½¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¤¬¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ï¡¢¤½¤Î¥Þ¥¹¥¿¡¼¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-providerArg \fIprovider_arg\fR +.RS 4 +\fI\-providerClass\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤµ¤ì¡¢\fIprovider_class_name\fR¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¥ª¥×¥·¥ç¥ó¤Îʸ»úÎóÆþÎϰú¿ô¤òɽ¤·¤Þ¤¹¡£ +.RE +.PP +\-protected +.RS 4 +\fItrue\fR¤Þ¤¿¤Ï\fIfalse\fR¤Î¤¤¤º¤ì¤«¡£¥Ñ¥¹¥ï¡¼¥É¤òÀìÍÑPIN¥ê¡¼¥À¡¼¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹·Ðͳ¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤ÎÃͤò\fItrue\fR¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI\-importkeystore\fR¥³¥Þ¥ó¥É¤Ë¤Ï2¤Ä¤Î¥­¡¼¥¹¥È¥¢¤¬´ØÏ¢¤·¤Æ¤¤¤ë¤¿¤á¡¢¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢¤È°¸À襭¡¼¥¹¥È¥¢¤Ë¤½¤ì¤¾¤ì¼¡¤Î2¤Ä¤Î¥ª¥×¥·¥ç¥ó¡¢\fI\-srcprotected\fR¤È\-\fIdestprotected\fR¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-ext \fI{name{:critical} {=value}}\fR +.RS 4 +X\&.509¾ÚÌÀ½ñ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò\fI\-genkeypair\fR¤ª¤è¤Ó\fI\-gencert\fR¤Ç»ÈÍѤ·¤Æ¡¢À¸À®¤µ¤ì¤ë¾ÚÌÀ½ñ¤Þ¤¿¤Ï\fI\-certreq\fR¤Ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤òËä¤á¹þ¤ß¡¢¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤Ç¥ê¥¯¥¨¥¹¥È¤µ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÊ£¿ô²ó»ØÄê¤Ç¤­¤Þ¤¹¡£\fIname\fR°ú¿ô¤Ë¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó̾(̾Á°ÉÕ¤­¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò»²¾È)¤Þ¤¿¤ÏǤ°Õ¤ÎOIDÈÖ¹æ¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIvalue\fR°ú¿ô¤Ï¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î°ú¿ô¤ò»Ø¤·¤Þ¤¹¡£\fIvalue\fR¤ò¾Êά¤·¤¿¾ì¹ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤޤ¿¤Ï¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬°ú¿ô¤òɬÍפȤ·¤Ê¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡£\fI:critical\fR½¤¾þ»Ò¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î\fIisCritical\fR°À­¤Ï\fItrue\fR¤Ç¡¢»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï\fIfalse\fR¤Ç¤¹¡£\fI:critical\fR¤Î¤«¤ï¤ê¤Ë\fI:c\fR¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.SH "̾Á°ÉÕ¤­¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó" +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î̾Á°¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£Ì¾Á°¤ÎÂç/¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£ +.PP +BC¤Þ¤¿¤ÏBasicContraints +.RS 4 +\fBÃÍ\fR: ´°Á´¤Ê·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹: +\fIca:{true|false}[,pathlen:<len>]\fR¤Þ¤¿¤Ï\fI<len>\fR(¤³¤ì¤Ï¡¢\fIca:true,pathlen:<len>\fR¤Îû½Ì·Á¤Ç¤¹)¡£<\fIlen\fR>¤ò¾Êά¤¹¤ë¤È¡¢\fIca:true\fR¤Î°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +KU¤Þ¤¿¤ÏKeyUsage +.RS 4 +\fBÃÍ\fR: +\fIusage\fR(\fIusage\fR)*¡¢\fIusage\fR¤Ë¤Ï\fIdigitalSignature\fR¡¢\fInonRepudiation\fR +(contentCommitment)¡¢\fIkeyEncipherment\fR¡¢\fIdataEncipherment\fR¡¢\fIkeyAgreement\fR¡¢\fIkeyCertSign\fR¡¢\fIcRLSign\fR¡¢\fIencipherOnly\fR¡¢\fIdecipherOnly\fR¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIusage\fR°ú¿ô¤Ï¡¢ÉÔÌÀ³Î¤Ë¤Ê¤é¤Ê¤¤¤«¤®¤ê¡¢ºÇ½é¤Î¿ôʸ»ú(\fIdigitalSignature\fR¤Î¾ì¹ç¤Ï\fIdig\fR)¤Þ¤¿¤Ï¥­¥ã¥á¥ë¥±¡¼¥¹¡¦¥¹¥¿¥¤¥ë(\fIdigitalSignature\fR¤Î¾ì¹ç¤Ï\fIdS\fR¡¢\fIcRLSign\fR¤Î¾ì¹ç¤Ï\fIcRLS\fR)¤Ç¾Êάɽµ­¤Ç¤­¤Þ¤¹¡£\fIusage\fRÃͤϡ¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£ +.RE +.PP +EKU¤Þ¤¿¤ÏExtendedKeyUsage +.RS 4 +\fBÃÍ\fR: +\fIusage\fR(\fIusage\fR)*¡¢\fIusage\fR¤Ë¤Ï\fIanyExtendedKeyUsage\fR¡¢\fIserverAuth\fR¡¢\fIclientAuth\fR¡¢\fIcodeSigning\fR¡¢\fIemailProtection\fR¡¢\fItimeStamping\fR¡¢\fIOCSPSigning\fR¤Þ¤¿¤ÏǤ°Õ¤Î\fIOIDʸ»úÎó\fR¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIusage\fR°ú¿ô¤Ï¡¢ÉÔÌÀ³Î¤Ë¤Ê¤é¤Ê¤¤¤«¤®¤ê¡¢ºÇ½é¤Î¿ôʸ»ú¤Þ¤¿¤Ï¥­¥ã¥á¥ë¥±¡¼¥¹¡¦¥¹¥¿¥¤¥ë¤Ç¾Êάɽµ­¤Ç¤­¤Þ¤¹¡£\fIusage\fRÃͤϡ¢Âçʸ»ú¤È¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£ +.RE +.PP +SAN¤Þ¤¿¤ÏSubjectAlternativeName +.RS 4 +\fBÃÍ\fR: +\fItype\fR:\fIvalue\fR +(t\fIype:value\fR)*¡¢\fItype\fR¤Ë¤Ï\fIEMAIL\fR¡¢\fIURI\fR¡¢\fIDNS\fR¡¢\fIIP\fR¤Þ¤¿¤Ï\fIOID\fR¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIvalue\fR°ú¿ô¤Ï¡¢\fItype\fR¤Îʸ»úÎó·Á¼°¤ÎÃͤǤ¹¡£ +.RE +.PP +IAN¤Þ¤¿¤ÏIssuerAlternativeName +.RS 4 +\fBÃÍ\fR: +\fISubjectAlternativeName\fR¤ÈƱ¤¸¤Ç¤¹¡£ +.RE +.PP +SIA¤Þ¤¿¤ÏSubjectInfoAccess +.RS 4 +\fBÃÍ\fR: +\fImethod\fR:\fIlocation\-type\fR:\fIlocation\-value\fR +(\fImethod:location\-type\fR:\fIlocation\-value\fR)*¡¢\fImethod\fR¤Ë¤Ï\fItimeStamping\fR¡¢\fIcaRepository\fR¤Þ¤¿¤ÏǤ°Õ¤ÎOID¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIlocation\-type\fR¤ª¤è¤Ó\fIlocation\-value\fR°ú¿ô¤Ë¤Ï¡¢\fISubjectAlternativeName\fR¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëǤ°Õ¤Î\fItype\fR:\fIvalue\fR¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +AIA¤Þ¤¿¤ÏAuthorityInfoAccess +.RS 4 +\fBÃÍ\fR: +\fISubjectInfoAccess\fR¤ÈƱ¤¸¤Ç¤¹¡£\fImethod\fR°ú¿ô¤Ë¤Ï¡¢\fIocsp\fR¡¢\fIcaIssuers\fR¤Þ¤¿¤ÏǤ°Õ¤ÎOID¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +\fIname\fR¤¬OID¤Î¾ì¹ç¡¢OCTET STRING¥¿¥¤¥×¤ÈŤµ¤Î¥Ð¥¤¥È¤ò½ü³°¤·¤¿¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÃͤÏ\fIextnValue\fR¤Î16¿Ê¥À¥ó¥×¤ÎDER¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤¹¡£HEXʸ»úÎó¤Ç¤Ï¡¢É¸½à¤Î16¿Ê¿ô(0\-9¡¢a\-f¡¢A\-F)°Ê³°¤Îʸ»ú¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢01:02:03:04¤È01020304¤ÎξÊý¤È¤âƱ°ì¤ÎÃͤȤ·¤Æ¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤¹¡£Ãͤ¬¤Ê¤¤¾ì¹ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÎÃÍ¥Õ¥£¡¼¥ë¥É¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +\fI\-gencert\fR¤Ç¤Î¤ß»ÈÍѤ¹¤ë\fIhonored\fR¤È¤¤¤¦ÆÃÊ̤Ê̾Á°¤Ï¡¢¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤Ë´Þ¤Þ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤òÍ¥À褹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î̾Á°¤ÎÃͤϡ¢\fIall\fR(¥ê¥¯¥¨¥¹¥È¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬Í¥À褵¤ì¤ë)¡¢\fIname{:[critical|non\-critical]}\fR(̾Á°ÉÕ¤­¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬Í¥À褵¤ì¤ë¤¬¡¢Ê̤Î\fIisCritical\fR°À­¤ò»ÈÍѤ¹¤ë)¡¢¤ª¤è¤Ó\fI\-name\fR(\fIall\fR¤È¤È¤â¤Ë»ÈÍѤ·¡¢Îã³°¤ò¼¨¤¹)¤Î¥«¥ó¥Þ¶èÀÚ¤ê¥ê¥¹¥È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥ê¥¯¥¨¥¹¥È¤µ¤ì¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ÏÍ¥À褵¤ì¤Þ¤»¤ó¡£ +.PP +\fI\-ext honored\fR¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¡¢Ê̤Î̾Á°¤Î¡¢¤Þ¤¿¤ÏOID +\fI\-ext\fR¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¡¢¤¹¤Ç¤ËÍ¥À褵¤ì¤Æ¤¤¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ËÄɲ䵤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î̾Á°(¤Þ¤¿¤ÏOID)¤òÍ¥À褵¤ì¤ëÃͤǤâ»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤ÎÃͤȽÅÍ×À­¤¬¥ê¥¯¥¨¥¹¥È¤Ë´Þ¤Þ¤ì¤ë¤â¤Î¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.PP +\fIsubjectKeyIdentifier\fR¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ï¾ï¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¼«¸Ê½ð̾¤Ç¤Ê¤¤¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢\fIauthorityKeyIdentifier\fR¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¥æ¡¼¥¶¡¼¤Ï¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó(¤ª¤è¤Ó¾ÚÌÀ½ñ¤Î¾¤Î¥Õ¥£¡¼¥ë¥É)¤ÎÁȹ礻¤Ë¤è¤Ã¤Æ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Îɸ½à¤Ë½àµò¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ë·Ù¹ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "¥³¥Þ¥ó¥É" +.PP +\-gencert +.RS 4 +\fI{\-rfc} {\-infile infile} {\-outfile outfile} {\-alias alias} {\-sigalg sigalg} {\-dname dname} {\-startdate startdate {\-ext ext}* {\-validity valDays} [\-keypass keypass] {\-keystore keystore} [\-storepass storepass] {\-storetype storetype} {\-providername provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¡¦¥Õ¥¡¥¤¥ë(\fIkeytool\fR +\fI\-certreq\fR¥³¥Þ¥ó¥É¤ÇºîÀ®²Äǽ)¤ËÂФ¹¤ë¥ì¥¹¥Ý¥ó¥¹¤È¤·¤Æ¾ÚÌÀ½ñ¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢\fIinfile\fR¤«¤é(¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é)¥ê¥¯¥¨¥¹¥È¤òÆÉ¤ß¹þ¤ß¡¢ÊÌ̾¤ÎÈëÌ©¸°¤ò»ÈÍѤ·¤Æ¤½¤Î¥ê¥¯¥¨¥¹¥È¤Ë½ð̾¤·¤Æ¡¢X\&.509¾ÚÌÀ½ñ¤ò\fIoutfile\fR¤Ë(¾Êά¤·¤¿¾ì¹ç¤Ï¡¢É¸½à½ÐÎϤË)½ÐÎϤ·¤Þ¤¹¡£\fI\-rfc\fR¤ò»ØÄꤷ¤¿¾ì¹ç¡¢½ÐÎÏ·Á¼°¤ÏBASE64É乿²½¤ÎPEM¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥Ð¥¤¥Ê¥êDER¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +\fIsigalg\fRÃͤˤϡ¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£\fIstartdate\fR°ú¿ô¤Ï¡¢¾ÚÌÀ½ñ¤ÎÍ­¸ú³«»ÏÆü»þ¤Ç¤¹¡£\fIvalDays\fR°ú¿ô¤Ï¡¢¾ÚÌÀ½ñ¤ÎÍ­¸úÆü¿ô¤ò¼¨¤·¤Þ¤¹¡£ +.sp +\fIdname\fR¤ò»ØÄꤹ¤ë¤È¡¢À¸À®¤µ¤ì¤ë¾ÚÌÀ½ñ¤Î¼çÂΤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤«¤é¤Î̾Á°¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fIext\fRÃͤϡ¢¾ÚÌÀ½ñ¤ËËä¤á¹þ¤Þ¤ì¤ëX\&.509¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£\fI\-ext\fR¤Î¹½Ê¸¤Ë¤Ä¤¤¤Æ¤Ï¡¢°ìÈÌ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +\fI\-gencert\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢\fIe1\fR¤È¤¤¤¦¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤Ï¡¢3¤Ä¤Î¾ÚÌÀ½ñ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢\fIca\fR¡¢\fIca1\fR¡¢\fIca2\fR¤ª¤è¤Ó\fIe1\fR¤Î4¤Ä¤Î¸°¥Ú¥¢¤òºîÀ®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +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 +.fi +.if n \{\ +.RE +.\} +¼¡¤Î2¤Ä¤Î¥³¥Þ¥ó¥É¤Ï¡¢½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òºîÀ®¤·¤Þ¤¹¡£\fIca\fR¤Ï\fIca1\fR¤Ë½ð̾¤·¡¢\fIca1\fR¤Ï\fIca2\fR¤Ë½ð̾¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¼«¸Êȯ¹Ô¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-alias ca1 \-certreq | + keytool \-alias ca \-gencert \-ext san=dns:ca1 | + keytool \-alias ca1 \-importcert + +keytool \-alias ca2 \-certreq | + $KT \-alias ca1 \-gencert \-ext san=dns:ca2 | + $KT \-alias ca2 \-importcert +.fi +.if n \{\ +.RE +.\} +¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¾ÚÌÀ½ñ\fIe1\fR¤òºîÀ®¤·¤Æ¥Õ¥¡¥¤¥ë\fIe1\&.cert\fR¤Ë³ÊǼ¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï\fIca2\fR¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢\fIe1\fR¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤Ï\fIca\fR¡¢\fIca1\fR¤ª¤è¤Ó\fIca2\fR¤¬´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-alias e1 \-certreq | keytool \-alias ca2 \-gencert > e1\&.cert +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-genkeypair +.RS 4 +\fI{\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-ext ext}* {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¸°¤Î¥Ú¥¢(¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ëÈëÌ©¸°)¤òÀ¸À®¤·¤Þ¤¹¡£¸ø³«¸°¤ÏX\&.509 v3¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ï¡¢Ã±°ì¤ÎÍ×ÁǤò»ý¤Ä¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤È¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÈÈëÌ©¸°¤Ï¡¢alias¤ÇÆÃÄꤵ¤ì¤ë¿·¤·¤¤¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.sp +\fIkeyalg\fRÃͤϸ°¥Ú¥¢¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\fIkeysize\fRÃͤÏÀ¸À®¤¹¤ë³Æ¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\fIsigalg\fRÃͤϡ¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï\fIkeyalg\fRÃͤȸߴ¹À­¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fIdname\fRÃͤˤϡ¢\fIalias\fRÃͤ˴ØÏ¢ÉÕ¤±¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Îissuer¥Õ¥£¡¼¥ë¥É¤Èsubject¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ»ÈÍѤ¹¤ëX\&.500¼±ÊÌ̾¤ò»ØÄꤷ¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¼±ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +\fIkeypass\fRÃͤˤϡ¢À¸À®¤µ¤ì¤ë¸°¤Î¥Ú¥¢¤Î¤¦¤Á¡¢ÈëÌ©¸°¤òÊݸ¤ë¤Î¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢\fI[Return]¥­¡¼\fR¤ò²¡¤¹¤È¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\fIkeypass\fRÃͤϡ¢6ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fIstartdate\fRÃͤˤϡ¢¾ÚÌÀ½ñ¤Îȯ¹Ô»þ¹ï¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢X\&.509¾ÚÌÀ½ñ¤Î¡ÖValidity¡×¥Õ¥£¡¼¥ë¥É¤Î¡ÖNot Before¡×ÃÍ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£ +.sp +¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¼¡¤Î2¤Ä¤Î·Á¼°¤Î¤¤¤º¤ì¤«¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£ +.sp +\fI([+\-]nnn[ymdHMS])+\fR +.sp +\fI[yyyy/mm/dd] [HH:MM:SS]\fR +.sp +ºÇ½é¤Î·Á¼°¤Ç¤Ï¡¢È¯¹Ô»þ¹ï¤Ï¡¢»ØÄꤵ¤ì¤ëÃͤÎʬ¡¢¸½ºß¤Î»þ¹ï¤«¤é°Ü¤ê¤Þ¤¹¡£»ØÄꤵ¤ì¤ëÃͤϡ¢°ìÏ¢¤Î²¼°Ì¤ÎÃͤòÏ¢·ë¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£²¼°Ì¤Î³ÆÃͤǡ¢¥×¥é¥¹µ­¹æ(¡Ö+¡×)¤Ï»þ´Ö¤¬¿Ê¤à¤³¤È¤ò¡¢¥Þ¥¤¥Ê¥¹µ­¹æ(¡Ö\-¡×)¤Ï»þ´Ö¤¬Ìá¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£°Ü¤ë»þ´Ö¤Ï\fInnn\fR¤Ç¡¢Ã±°Ì¤Ïǯ¡¢·î¡¢Æü¡¢»þ´Ö¡¢Ê¬¤Þ¤¿¤ÏÉäǤ¹(¤½¤ì¤¾¤ì¡¢1ʸ»ú¤Î\fIy\fR¡¢\fIm\fR¡¢\fId\fR¡¢\fIH\fR¡¢\fIM\fR¤Þ¤¿¤Ï\fIS\fR¡×¤Ç¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹)¡£²¼°Ì¤Î³ÆÃͤÇ\fIjava\&.util\&.GregorianCalendar\&.add(int field, int amount)\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢È¯¹Ô»þ¹ï¤ÎÄɲäÎÃͤ¬º¸¤«¤é±¦¤Ø·×»»¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢»ØÄꤹ¤ë¤È¡¢È¯¹Ô»þ¹ï¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +Calendar c = new GregorianCalendar(); +c\&.add(Calendar\&.YEAR, \-1); +c\&.add(Calendar\&.MONTH, 1); +c\&.add(Calendar\&.DATE, \-1); +return c\&.getTime() +.fi +.if n \{\ +.RE +.\} +2ÈÖÌܤηÁ¼°¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Ï¡¢Ç¯/·î/Æü¤È»þ´Ö:ʬ:ÉäÎ2¤Ä¤ÎÉôʬ¤Ç¸·Ì©¤Ê³«»Ï»þ¹ï¤òÀßÄꤷ¤Þ¤¹(Ãϸµ¤Î»þ´ÖÂÓ¤ò»ÈÍÑ)¡£¥æ¡¼¥¶¡¼¤Ï¡¢1¤Ä¤ÎÉôʬ¤Î¤ß¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤â¤¦1¤Ä¤ÎÉôʬ¤Ï¸½ºß¤ÎÆüÉÕ(¤Þ¤¿¤Ï»þ¹ï)¤ÈƱ¤¸¤Ë¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢·Á¼°¤ÎÄêµÁ¤Ë¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢·å¿ô¤ò¸·Ì©¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(û¤¤¾ì¹ç¤Ï0¤ÇËä¤á¤Þ¤¹)¡£ÆüÉդȻþ¹ï¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾õÂ֤ǡ¢2¤Ä¤ÎÉôʬ¤Î´Ö¤Ë¶õÇòʸ»ú¤¬1¤Ä(1¤Ä¤Î¤ß)¤¢¤ê¤Þ¤¹¡£»þ´Ö¤Ï¾ï¤Ë24»þ´Ö·Á¼°¤Ç»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢³«»ÏÆüÉդϸ½ºß¤Î»þ¹ï¤Ë¤Ê¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Ï¡¢ºÇÂç¤Ç1²ó»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +\fIvalDays\fR¤ÎÃͤˤϡ¢¾ÚÌÀ½ñ¤ÎÍ­¸úÆü¿ô¤ò»ØÄꤷ¤Þ¤¹(\fI\-startdate\fR¤Ç»ØÄꤵ¤ì¤¿ÆüÉÕ¡¢¤Þ¤¿¤Ï\fI\-startdate\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¸½ºß¤ÎÆüÉÕ¤«¤é»Ï¤Þ¤ê¤Þ¤¹)¡£ +.sp +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï\fI\-genkey\fR¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢°ú¤­Â³¤­¸Å¤¤Ì¾Á°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£º£¸å¤Ï¡¢¿·¤·¤¤Ì¾Á°\fI\-genkeypair\fR¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.RE +.PP +\-genseckey +.RS 4 +\fI\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +ÈëÌ©¸°¤òÀ¸À®¤·¡¢¤½¤ì¤ò¿·¤·¤¤\fIKeyStore\&.SecretKeyEntry\fR(\fIalias\fR¤ÇÆÃÄꤵ¤ì¤ë)Æâ¤Ë³ÊǼ¤·¤Þ¤¹¡£ +.sp +\fIkeyalg\fRÃͤϸ°¥Ú¥¢¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\fIkeysize\fRÃͤÏÀ¸À®¤¹¤ë³Æ¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\fIkeypass\fRÃͤϡ¢ÈëÌ©¸°¤òÊݸ¤ë¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢[Return]¥­¡¼¤ò²¡¤¹¤È¡¢\fIkeystore\fR¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\fIkeypass\fRÃͤϡ¢6ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-importcert +.RS 4 +\fI\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¥Õ¥¡¥¤¥ë\fIcert_file\fR¤«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó(¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ï¡¢PKCS#7·Á¼°¤Î±þÅú¤Þ¤¿¤Ï°ìÏ¢¤ÎX\&.509¾ÚÌÀ½ñ¤ÇÄ󶡤µ¤ì¤ë¤â¤Î)¤òÆÉ¤ß¹þ¤ß¡¢\fIalias\fR¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë\fIkeystore\fR¥¨¥ó¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIstdin\fR¤«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ +.sp +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢X\&.509 v1¡¢v2¡¢v3¤Î¾ÚÌÀ½ñ¡¢¤ª¤è¤ÓPKCS#7·Á¼°¤Î¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ëPKCS#7·Á¼°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¡¢¤Þ¤¿¤Ï½ÐÎϲÄǽÉ乿²½Êý¼°(Base64É乿²½¤È¤â¸Æ¤Ð¤ì¤ë)¤Î¤É¤Á¤é¤«¤ÇÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÉ乿²½Êý¼°¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï\fI\-\fR\fI\-\-\-\-BEGIN\fR¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç³«»Ï¤µ¤ì¡¢\fI\-\-\-\-\-END\fR¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç½ªÎ»¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¾ÚÌÀ½ñ¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤ËÄɲ乤뤿¤á¡¢¤ª¤è¤Óǧ¾Ú¶É(CA)¤Ë¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤·¤¿·ë²Ì¤È¤·¤ÆCA¤«¤é¼õ¿®¤·¤¿¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤¿¤á(¥³¥Þ¥ó¥É¤Î\fI\-certreq\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È)¤È¤¤¤¦2¤Ä¤ÎÍýͳ¤Ç¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.sp +¤É¤Á¤é¤Î¥¿¥¤¥×¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¦¤«¤Ï¡¢\fI\-alias\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ÊÌ̾¤¬¥­¡¼¡¦¥¨¥ó¥È¥ê¤ò¥Ý¥¤¥ó¥È¤·¤Ê¤¤¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¥æ¡¼¥¶¡¼¤¬¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¥¨¥ó¥È¥ê¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤â¤Î¤È¤ß¤Ê¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÊÌ̾¤¬¥­¡¼¥¹¥È¥¢Æâ¤Ë¸ºß¤·¤Æ¤¤¤Ê¤¤¤³¤È¤¬É¬ÍפǤ¹¡£ÊÌ̾¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÊÌ̾¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¥¨¥é¡¼¤ò½ÐÎϤ·¡¢¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¤¤Þ¤»¤ó¡£ÊÌ̾¤¬¥­¡¼¡¦¥¨¥ó¥È¥ê¤ò¥Ý¥¤¥ó¥È¤¹¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¥æ¡¼¥¶¡¼¤¬¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤â¤Î¤È¤ß¤Ê¤·¤Þ¤¹¡£ +.RE +.PP +\-importpassword +.RS 4 +\fI{\-alias alias} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¥Ñ¥¹¥Õ¥ì¡¼¥º¤ò¥¤¥ó¥Ý¡¼¥È¤·¡¢\fIalias\fR¤Ç¼±Ê̤µ¤ì¤ë¿·µ¬\fIKeyStore\&.SecretKeyEntry\fR¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Ñ¥¹¥Õ¥ì¡¼¥º¤Ï¡¢É¸½àÆþÎÏ¥¹¥È¥ê¡¼¥à¤ò²ð¤·¤ÆÄ󶡤Ǥ­¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¥æ¡¼¥¶¡¼¤Ë¤½¤Î¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\fIkeypass\fR¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÊݸî¤Ë»ÈÍѤµ¤ì¤ë¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢[Return]¥­¡¼¤ò²¡¤¹¤È¡¢\fIkeystore\fR¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\fIkeypass\fR¤Ï¡¢6ʸ»ú°Ê¾å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-importkeystore +.RS 4 +\fI{\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] } [\-destkeypass destkeypass] {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢¤«¤é¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ø¡¢Ã±°ì¤Î¥¨¥ó¥È¥ê¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£ +.sp +\fI\-srcalias\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¤½¤ÎÊÌ̾¤ÇÆÃÄꤵ¤ì¤ëñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£\fIdestalias\fR·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fIsrcalias\fR¤¬¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\fIsrckeypass\fR¤ò»ÈÍѤ·¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\fIsrckeypass\fR¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï\fIsrcstorepass\fR¤ò»ÈÍѤ·¤Æ¤½¤Î¥¨¥ó¥È¥ê¤ò²óÉü¤·¤è¤¦¤È¤·¤Þ¤¹¡£\fIsrcstorepass\fR¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¤Î¥¨¥ó¥È¥ê¤Ï\fIdestkeypass\fR¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£\fIdestkeypass\fR¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¡¦¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¡¦¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤Û¤È¤ó¤É¤Î¥µ¡¼¥É¡¦¥Ñ¡¼¥Æ¥£¡¦¥Ä¡¼¥ë¤Ç¤Ï¡¢PKCS #12¥­¡¼¥¹¥È¥¢¤Ç\fIstorepass\fR¤È\fIkeypass\fR¤¬Æ±¤¸¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ä¡¼¥ë¤ÎPKCS #12¥­¡¼¥¹¥È¥¢¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢¾ï¤Ë\fI\-destkeypass\fR¤È\fI\-deststorepass\fR¤¬Æ±¤¸¤Ë¤Ê¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.sp +\fI\-srcalias\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£³Æ¥¿¡¼¥²¥Ã¥È¡¦¥¨¥ó¥È¥ê¤ÏÂбþ¤¹¤ë¥½¡¼¥¹¡¦¥¨¥ó¥È¥ê¤ÎÊÌ̾¤Î²¼¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\fIsrcstorepass\fR¤ò»ÈÍѤ·¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\fIsrcstorepass\fR¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢Æâ¤Î¤¢¤ë¥¨¥ó¥È¥ê¡¦¥¿¥¤¥×¤¬¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ä¡¢¤¢¤ë¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¤½¤Î¥¨¥ó¥È¥ê¤ò¥¹¥­¥Ã¥×¤·¤Æ½èÍý¤ò³¹Ô¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï½èÍý¤òÃæÃǤ¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¡¦¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¡¦¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ +.sp +¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¡¢¤½¤Î¥¨¥ó¥È¥ê¤ò¾å½ñ¤­¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï°Û¤Ê¤ëÊÌ̾¤Î²¼¤Ç¿·¤·¤¤¥¨¥ó¥È¥ê¤òºîÀ®¤¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£ +.sp + +\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¿·¤·¤¤¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤»¤ó¡£´û¸¤Î¥¨¥ó¥È¥ê¤¬¤½¤Î¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤Ç¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Ê¤¤¥¨¥ó¥È¥ê¤Ï¥¹¥­¥Ã¥×¤µ¤ì¡¢·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.RE +.PP +\-printcertreq +.RS 4 +\fI{\-file file}\fR +.sp +PKCS#10·Á¼°¤Î¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤ÎÆâÍÆ¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ê¥¯¥¨¥¹¥È¤Ï¡¢\fIkeytool\fR +\fI\-certreq\fR¥³¥Þ¥ó¥É¤ÇÀ¸À®¤Ç¤­¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Õ¥¡¥¤¥ë¤«¤é¥ê¥¯¥¨¥¹¥È¤òÆÉ¤ß¼è¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¥ê¥¯¥¨¥¹¥È¤Ïɸ½àÆþÎϤ«¤éÆÉ¤ß¼è¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-certreq +.RS 4 +\fI{\-alias alias} {\-dname dname} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +PKCS#10·Á¼°¤ò»ÈÍѤ·¤Æ¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È(CSR)¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +CSR¤Ï¡¢¾ÚÌÀ½ñȯ¹Ô¶É(CA)¤ËÁ÷¿®¤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤¹¡£CA¤Ï¡¢¾ÚÌÀ½ñÍ×µá¼Ô¤ò(Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç)ǧ¾Ú¤·¡¢¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î´û¸¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó(ºÇ½é¤Ï1¤Ä¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤ë)¤ËÃÖ¤­´¹¤¨¤Æ»ÈÍѤ·¤Þ¤¹¡£ +.sp +alias¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÈëÌ©¸°¤Ï¡¢PKCS#10¾ÚÌÀ½ñ¥ê¥¯¥¨¥¹¥È¤òºîÀ®¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ÈëÌ©¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢Àµ¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIkeypass\fR¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£\fIdname\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤¬CSR¤Ç¼çÂΤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿X\&.500¼±ÊÌ̾¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fIsigalg\fRÃͤˤϡ¢CSR¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +CSR¤Ï¡¢¥Õ¥¡¥¤¥ëcertreq_file¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIstdout\fR¤ËCSR¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +CA¤«¤é¤Î¥ì¥¹¥Ý¥ó¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢\fIimportcert\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +\-exportcert +.RS 4 +\fI{\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +\fIalias\fR¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤«¤éÆÉ¤ß¹þ¤ß¡¢¥Õ¥¡¥¤¥ëcert_file¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIstdout\fR¤Ë¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¾ÚÌÀ½ñ¤Ï¥Ð¥¤¥Ê¥êÉ乿²½¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Î½ÐÎϤϥ¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£ +.sp +\fIalias\fR¤¬¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\fIalias\fR¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»ý¤Ä¸°¥¨¥ó¥È¥ê¤ò»²¾È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢\fIalias\fR¤Ë¤è¤Ã¤ÆÉ½¤µ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£ +.sp +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï\fI\-export\fR¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢°ú¤­Â³¤­¸Å¤¤Ì¾Á°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£º£¸å¤Ï¡¢¿·¤·¤¤Ì¾Á°\fI\-exportcert\fR¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.RE +.PP +\-list +.RS 4 +\fI{\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption}\fR +.sp +\fIalias\fR¤ÇÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ÎÆâÍÆ¤ò\fIstdout\fR¤Ë½ÐÎϤ·¤Þ¤¹¡£\fIalias\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢Á´ÂÎ¤ÎÆâÍÆ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾ÚÌÀ½ñ¤ÎSHA1¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤·¤Þ¤¹¡£ +\fI\-v\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½êÍ­¼Ô¡¢È¯¹Ô¼Ô¡¢¥·¥ê¥¢¥ëÈֹ桢³ÈÄ¥µ¡Ç½¤Ê¤É¤ÎÉÕ²ÃŪ¤Ê¾ðÊó¤È¤È¤â¤Ë¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍÆ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£½ÐÎϲÄǽÉ乿²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +\fI\-v\fR¥ª¥×¥·¥ç¥ó¤È\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +\-printcert +.RS 4 +\fI{\-file cert_file | \-sslserver host[:port]} {\-jarfile JAR_file {\-rfc} {\-v} {\-Jjavaoption}\fR +.sp +¥Õ¥¡¥¤¥ëcert_file¡¢host:port¤Ë¤¢¤ëSSL¥µ¡¼¥Ð¡¼¡¢¤Þ¤¿¤Ï½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë\fIJAR_file\fR(\fI\-jarfile\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄê)¤«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤ß¡¢¿Í´Ö¤¬ÆÉ¤à¤³¤È¤Î¤Ç¤­¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤·¤Þ¤¹¡£¥Ý¡¼¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à¤ÎHTTPS¥Ý¡¼¥È443¤¬ÁÛÄꤵ¤ì¤Þ¤¹¡£\fI\-sslserver\fR¤ª¤è¤Ó\-file¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤ì¤ËÈ¿¤¹¤ë¾ì¹ç¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIstdin\fR¤«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ +.sp +\fI\-rfc\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½É¸½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢PEM¥â¡¼¥É¤Ç¾ÚÌÀ½ñ¤ò½ÐÎϤ·¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï\fIstdin\fR¤«¤é¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤à¾ì¹ç¡¢¤½¤Î¾ÚÌÀ½ñ¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½É¸½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥Ð¥¤¥Ê¥êÉ乿²½Êý¼°¤Þ¤¿¤Ï½ÐÎϲÄǽÉ乿²½Êý¼°¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£ +.sp +SSL¥µ¡¼¥Ð¡¼¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÇØ¸å¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢\fI\-J\-Dhttps\&.proxyHost=proxyhost\fR¤ª¤è¤Ó\fI\-J\-Dhttps\&.proxyPort=proxyport\fR¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Æ¡¢¥×¥í¥­¥·¡¦¥È¥ó¥Í¥ê¥ó¥°¤ò»ÈÍѤǤ­¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide\&.html¤Î +¡ÖJava Secure Socket Extension (JSSE) Reference Guide¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fBÃí°Õ:\fR +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥­¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-printcrl +.RS 4 +\fI\-file crl_ {\-v}\fR +.sp +¥Õ¥¡¥¤¥ë\fIcrl_\fR¤«¤é¾ÚÌÀ½ñ¼º¸ú¥ê¥¹¥È(CRL)¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£CRL¤Ï¡¢È¯¹Ô¤·¤¿CA¤Ë¤è¤Ã¤Æ¼º¸ú¤µ¤ì¤¿¥Ç¥¸¥¿¥ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ç¤¹¡£CA¤Ï¡¢\fIcrl_\fR¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥­¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ­¤Þ¤¹¡£ +.RE +.PP +\-storepasswd +.RS 4 +\fI[\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}\fR +.sp +¥­¡¼¥¹¥È¥¢¤ÎÆâÍÆ¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Þ¤¹¡£\fInew_storepass\fR¤Ë¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£new_storepass¤Ï¡¢6ʸ»ú°Ê¾å¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-keypasswd +.RS 4 +\fI{\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}\fR +.sp +\fIalias\fR¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ëÈó¸ø³«/ÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¡¢\fIold_keypass\fR¤«¤é\fInew_keypass\fR¤ËÊѹ¹¤·¤Þ¤¹¡£new_keypass¤Ï¡¢6ʸ»ú°Ê¾å¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-keypass\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.sp +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-new\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-delete +.RS 4 +\fI[\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +\fIalias\fR¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥­¡¼¥¹¥È¥¢¤«¤éºï½ü¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÇÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-changealias +.RS 4 +\fI{\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}\fR +.sp +»ØÄꤵ¤ì¤¿\fIalias\fR¤«¤é¿·¤·¤¤ÊÌ̾\fIdestalias\fR¤Ø¡¢´û¸¤Î¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤ò°Üư¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¸µ¤Î¥¨¥ó¥È¥ê¤¬¥¨¥ó¥È¥ê¡¦¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\fI\-keypass\fR¥ª¥×¥·¥ç¥ó¤Ç¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¸°¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\fIstorepass\fR(»ØÄꤵ¤ì¤¿¾ì¹ç)¤¬¤Þ¤º»î¤ß¤é¤ì¤Þ¤¹¡£¤½¤Î»î¤ß¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +´ðËÜŪ¤Ê¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ +.sp +ÆÃÄê¤Î¥³¥Þ¥ó¥É¤Î¾ÜºÙ¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: +\fIkeytool \-command_name \-help\fR¡£\fIcommand_name\fR¤Ï¥³¥Þ¥ó¥É¤Î̾Á°¤Ç¤¹¡£ +.RE +.SH "Îã" +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¸ø³«/ÈëÌ©¸°¤Î¥Ú¥¢¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥­¡¼¥¹¥È¥¢¤òºîÀ®¤¹¤ë¼ê½ç¤ò¼¨¤·¤Þ¤¹¡£ +.SS "¸°¤Î¥Ú¥¢¤ÎÀ¸À®" +.PP +¤Þ¤º¡¢¥­¡¼¥¹¥È¥¢¤òºîÀ®¤·¤Æ¸°¤Î¥Ú¥¢¤òÀ¸À®¤·¤Þ¤¹¡£Ã±°ì¹Ô¤ËÆþÎϤ¹¤ë¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-genkeypair \-dname "cn=Mark Jones, ou=Java, o=Oracle, c=US" + \-alias business \-keypass <new password for private key> + \-keystore /working/mykeystore + \-storepass <new password for keystore> \-validity 180 +.fi +.if n \{\ +.RE +.\} +.PP +¥³¥Þ¥ó¥É¤Ï¡¢working¥Ç¥£¥ì¥¯¥È¥ê¤Ë\fImykeystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤òºîÀ®¤·(¥­¡¼¥¹¥È¥¢¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤È²¾Äê)¡¢ºîÀ®¤·¤¿¥­¡¼¥¹¥È¥¢¤Ë¡¢\fI<new password for keystore>\fR¤Ç»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£À¸À®¤¹¤ë¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥Ú¥¢¤ËÂбþ¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¡Ö¼±ÊÌ̾¡×¤Ï¡¢Ä̾Τ¬Mark Jones¡¢ÁÈ¿¥Ã±°Ì¤¬Java¡¢ÁÈ¿¥¤¬Oracle¡¢2ʸ»ú¤Î¹ñÈֹ椬US¤Ç¤¹¡£¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥µ¥¤¥º¤Ï¤É¤Á¤é¤â1024¥Ó¥Ã¥È¤Ç¡¢¸°¤ÎºîÀ®¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎDSA¸°À¸À®¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ÎSHA1withDSA½ð̾¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Æ¡¢¸ø³«¸°¤È¼±ÊÌ̾¾ðÊó¤ò´Þ¤à¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òºîÀ®¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤ÎÍ­¸ú´ü´Ö¤Ï180Æü¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ï¡¢ÊÌ̾\fIbusiness\fR¤ÇÆÃÄꤵ¤ì¤ë¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥êÆâ¤ÎÈëÌ©¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Þ¤¹¡£ÈëÌ©¸°¤Ë¤Ï¡¢\fI<new password for private key>\fR¤Ç»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ +.PP +¥ª¥×¥·¥ç¥ó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¤ÏÂçÉý¤Ëû¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤò»ý¤Ä¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£É¬¿ÜÃÍ¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£»ÈÍѲÄǽ¤ÊÃͤϼ¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-genkeypair +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤Î¾ì¹ç¤Ï¡¢\fImykey\fR¤È¤¤¤¦ÊÌ̾¤Ç¥­¡¼¥¹¥È¥¢¡¦¥¨¥ó¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¿·¤·¤¯À¸À®¤µ¤ì¤¿¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó90Æü´ÖÍ­¸ú¤Ê¾ÚÌÀ½ñ¤¬¤³¤Î¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î\fI\&.keystore\fR¤È¤¤¤¦Ì¾Á°¤Î¥­¡¼¥¹¥È¥¢¤ËÃÖ¤«¤ì¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Ï¡¢¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¼±ÊÌ̾¾ðÊó¡¢¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ª¤è¤ÓÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.PP +°Ê¹ß¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤â¤Î¤È¤·¤ÆÎã¤ò¼¨¤·¤Þ¤¹¡£¾ðÊó¤ÎÆþÎϤòµá¤á¤é¤ì¤¿¾ì¹ç¤Ï¡¢ºÇ½é¤Ë¼¨¤·¤¿\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤ÎÃͤòÆþÎϤ·¤¿¤â¤Î¤È¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¼±ÊÌ̾¤Ë¤Ï\fIcn=Mark Jones\fR¡¢\fIou=Java\fR¡¢\fIo=Oracle\fR¡¢\fIc=US\fR¤È»ØÄꤷ¤Þ¤¹¡£ +.SS "CA¤«¤é¤Î½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤Î¥ê¥¯¥¨¥¹¥È" +.PP +¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òºîÀ®¤¹¤ë¸°¤Î¥Ú¥¢¤ÎÀ¸À®¡£¾ÚÌÀ½ñ¤Ë¾ÚÌÀ½ñȯ¹Ô¶É(CA)¤Î½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ì¤Ð¡¢Â¾¤Î¥æ¡¼¥¶¡¼¤«¤é¾ÚÌÀ½ñ¤¬¿®Íꤵ¤ì¤ë²ÄǽÀ­¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£CA¤Î½ð̾¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È(CSR)¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-certreq \-file MarkJ\&.csr +.fi +.if n \{\ +.RE +.\} +.PP +CSR(¥Ç¥Õ¥©¥ë¥ÈÊÌ̾\fImykey\fR¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤ÎCSR)¤¬ºîÀ®¤µ¤ì¡¢MarkJ\&.csr¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤òCA (VeriSign¤Ê¤É)¤ËÄó½Ð¤·¤Þ¤¹¡£CA¤ÏÍ×µá¼Ô¤ò(Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç)ǧ¾Ú¤·¡¢Í×µá¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿½ð̾ÉÕ¤­¤Î¾ÚÌÀ½ñ¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA¤¬¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ +.SS "CA¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +ºîÀ®¤·¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¡¢¡Ö¥ë¡¼¥È¡×CA¤òµ¯ÅÀ¤È¤¹¤ë¥Á¥§¡¼¥óÆâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ +.PP +CA¤«¤é¤Î¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¥­¡¼¥¹¥È¥¢¤«¡¢\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ëÆâ¤Ë1¤Ä°Ê¾å¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI¤Î\fR\-importcert¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ±þÅú¤¬¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥ó¤ÎºÇ¾å°Ì¾ÚÌÀ½ñ¤¬É¬ÍפǤ¹¡£CA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ½ñ±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢È¯¹ÔCA(½ð̾¤·¤¿)¤Î¾ÚÌÀ½ñ¤¬É¬ÍפǤ¹¡£¤½¤Î¾ÚÌÀ½ñ¤¬¼«¸Ê½ð̾¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬É¬ÍפǤ¢¤ê¡¢¤³¤Î¤è¤¦¤Ë¤·¤Æ¼«¸Ê½ð̾¥ë¡¼¥È¾ÚÌÀ½ñ¤¬É¬Íפˤʤê¤Þ¤¹¡£ +.RE +.PP +\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎVeriSign¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢VeriSign¤Î¾ÚÌÀ½ñ¤ò¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢Â¾¤ÎCA¤ËÂФ·¤Æ½ð̾ÉÕ¤­¾ÚÌÀ½ñ¤ò¥ê¥¯¥¨¥¹¥È¤·¤Æ¤¤¤Æ¡¢¤³¤ÎCA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤¬¡¢\fIcacerts\fR¤Ë¤Þ¤ÀÄɲäµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëCA¤«¤é¤Î¾ÚÌÀ½ñ¤ò¡¢¡Ö¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +Ä̾CA¤«¤é¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¡¢¤Þ¤¿¤Ï¾¤ÎCA¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ç¤¹(¸å¼Ô¤Î¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¾¤ÎCA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤¬É¬Í×)¡£ABC, Inc\&.,¤¬CA¤Ç¡¢ABC¤«¤é¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¢¤ëA\fIBCCA\&.cer\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤·¤¿¤È¤·¤Þ¤¹(¤³¤Î¾ÚÌÀ½ñ¤ÏCA¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹)¡£¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤º¡¢\fIkeytool \-printcert\fR¥³¥Þ¥ó¥É¤Þ¤¿¤Ï\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤Ê¤·¤Î\fIkeytool \-importcert\fR¥³¥Þ¥ó¥É¤Ç¤½¤ì¤òɽ¼¨¤·¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬´üÂÔ¤µ¤ì¤ë¤â¤Î¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿(¤Þ¤¿¤Ï°ÂÁ´¤Ê¸ø³«¸°¤Î¥ê¥Ý¥¸¥È¥ê¤Ë¤è¤Ã¤ÆÄ󼨤µ¤ì¤ë)¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¾¤Î²¿¼Ô¤«(¹¶·â¼Ô¤Ê¤É)¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂØ¤¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤È¿®Íꤹ¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¥­¡¼¥¹¥È¥¢¤ËÄɲäǤ­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-importcert \-alias abc \-file ABCCA\&.cer +.fi +.if n \{\ +.RE +.\} +.PP +ABCCA\&.cer¥Õ¥¡¥¤¥ë¤Î¥Ç¡¼¥¿¤ò´Þ¤à¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê¤¬¥­¡¼¥¹¥È¥¢Æâ¤ËºîÀ®¤µ¤ì¡¢³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤Ë\fIabc\fR¤È¤¤¤¦ÊÌ̾¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ +.SS "CA¤«¤é¤Î¾ÚÌÀ½ñ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È¤ÎÄó½ÐÀè¤ÎCA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤¿¸å¤Ï(¤Þ¤¿¤ÏƱ¼ï¤Î¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ëcacerts¥Õ¥¡¥¤¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï)¡¢¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤ò¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Á¥§¡¼¥ó¤Ï¡¢CA¤Î±þÅú¤¬¥Á¥§¡¼¥ó¤Î¾ì¹ç¤Ë¡¢¥ê¥¯¥¨¥¹¥È¤ËÂФ¹¤ë¥ì¥¹¥Ý¥ó¥¹¤È¤·¤ÆCA¤«¤éÁ÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤¹¡£¤Þ¤¿¡¢CA¤Î±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¤³¤Î¾ÚÌÀ±þÅú¤È¡¢¥¤¥ó¥Ý¡¼¥ÈÀè¤Î¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï\fIcacerts\fR¥­¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤ò»ÈÍѤ·¤Æ¹½ÃÛ¤·¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ç¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È¤òVeriSign¤ËÁ÷¿®¤¹¤ë¾ì¹ç¡¢Á÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î̾Á°¤¬VSMarkJ\&.cer¤À¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-importcert \-trustcacerts \-file VSMarkJ\&.cer +.fi +.if n \{\ +.RE +.\} +.SS "¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Ý¡¼¥È" +.PP +\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆJava Archive (JAR)¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¾ì¹ç¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ï½ð̾¤òǧ¾Ú¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤¬½ð̾¤òǧ¾Ú¤¹¤ëÊýË¡¤Î1¤Ä¤Ë¡¢¤Þ¤º¼«Ê¬¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤ò¿®Íê¤Ç¤­¤ë¥¨¥ó¥È¥ê¤È¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +¤½¤Î¤¿¤á¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤ËÄ󶡤·¤Þ¤¹¡£Îã¤È¤·¤Æ¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢MJ\&.cer¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¾ÚÌÀ½ñ¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¨¥ó¥È¥ê¤ËÊÌ̾\fImykey\fR¤¬¤¢¤ë¤È²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-exportcert \-alias mykey \-file MJ\&.cer +.fi +.if n \{\ +.RE +.\} +.PP +¾ÚÌÀ½ñ¤È½ð̾ÉÕ¤­JAR¥Õ¥¡¥¤¥ë¤òÆþ¼ê¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢\fIjarsigner\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ½ð̾¤òǧ¾Ú¤Ç¤­¤Þ¤¹¡£ +.SS "¥­¡¼¥¹¥È¥¢¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +¥³¥Þ¥ó¥É\fIimportkeystore\fR¤ò»ÈÍѤ¹¤ì¤Ð¡¢¤¢¤ë¥­¡¼¥¹¥È¥¢¤ÎÁ´ÂΤòÊ̤Υ­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¸°¤ä¾ÚÌÀ½ñ¤È¤¤¤Ã¤¿¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¡¢Ã±°ì¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥¿¡¼¥²¥Ã¥È¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢Æâ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È»þ¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢Æâ¤Î¿·¤·¤¤¥¨¥ó¥È¥ê¤Ï¤¹¤Ù¤Æ¡¢¸µ¤ÈƱ¤¸ÊÌ̾¤ª¤è¤Ó(ÈëÌ©¸°¤äÈëÌ©¸°¤Î¾ì¹ç¤Ï)ÊݸîÍѥѥ¹¥ï¡¼¥É¤ò»ý¤Á¤Þ¤¹¡£¥½¡¼¥¹¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«/ÈëÌ©¸°¤ò¥ê¥«¥Ð¥ê¤Ç¤­¤Ê¤¤¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¥æ¡¼¥¶¡¼¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÊÌ̾¤Î½ÅÊ£¤ò¸¡½Ð¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ë¿·¤·¤¤ÊÌ̾¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢¿·¤·¤¤ÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ã±½ã¤Ë´û¸¤ÎÊÌ̾¤Î¾å½ñ¤­¤ò\fIkeytool\fR¥³¥Þ¥ó¥É¤Ëµö²Ä¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.PP +¤¿¤È¤¨¤Ð¡¢Ä̾ï¤ÎJKS¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢key\&.jksÆâ¤Î¥¨¥ó¥È¥ê¤òPKCS#11¥¿¥¤¥×¤Î¥Ï¡¼¥É¥¦¥§¥¢¡¦¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-importkeystore + \-srckeystore key\&.jks \-destkeystore NONE + \-srcstoretype JKS \-deststoretype PKCS11 + \-srcstorepass <src keystore password> + \-deststorepass <destination keystore pwd> +.fi +.if n \{\ +.RE +.\} +.PP +¤Þ¤¿¡¢\fIimportkeystore\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢¤¢¤ë¥½¡¼¥¹¡¦¥­¡¼¥¹¥È¥¢Æâ¤Îñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¡¦¥­¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Á°Îã¤Î¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤Æ¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ëÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI\-srcalias\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤â¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é»ØÄê¤Ç¤­¤ë¤Û¤«¡¢ÈëÌ©/ÈëÌ©¸°¤ÎÊݸîÍѥѥ¹¥ï¡¼¥É¤ä¥¿¡¼¥²¥Ã¥ÈÊݸîÍѥѥ¹¥ï¡¼¥É¤â»ØÄê¤Ç¤­¤Þ¤¹¡£¤½¤ÎÊýË¡¤ò¼¨¤¹¥³¥Þ¥ó¥É¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-importkeystore + \-srckeystore key\&.jks \-destkeystore NONE + \-srcstoretype JKS \-deststoretype PKCS11 + \-srcstorepass <src keystore password> + \-deststorepass <destination keystore pwd> + \-srcalias myprivatekey \-destalias myoldprivatekey + \-srckeypass <source entry password> + \-destkeypass <destination entry password> + \-noprompt +.fi +.if n \{\ +.RE +.\} +.SS "SSL¥µ¡¼¥Ð¡¼¤Î¾ÚÌÀ½ñ¤ÎÀ¸À®" +.PP +¼¡¤Ë¡¢3¤Ä¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¢¤Ä¤Þ¤ê¥ë¡¼¥ÈCA(\fIroot\fR)¡¢Ãæ´ÖCA(\fIca\fR)¤ª¤è¤ÓSSL¥µ¡¼¥Ð¡¼(\fIserver\fR)ÍѤθ°¥Ú¥¢¤È¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë\fIkeytool\fR¥³¥Þ¥ó¥É¤ò¼¨¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¾ÚÌÀ½ñ¤òƱ¤¸¥­¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÎÎã¤Ç¤Ï¡¢RSA¤¬¿ä¾©¤µ¤ì¤ë¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +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 \-keystore root\&.jks \-alias root \-exportcert \-rfc > root\&.pem + +keytool \-storepass <storepass> \-keystore ca\&.jks \-certreq \-alias ca | + keytool \-storepass <storepass> \-keystore root\&.jks + \-gencert \-alias root \-ext BC=0 \-rfc > ca\&.pem +keytool \-keystore ca\&.jks \-importcert \-alias ca \-file ca\&.pem + +keytool \-storepass <storepass> \-keystore server\&.jks \-certreq \-alias server | + keytool \-storepass <storepass> \-keystore ca\&.jks \-gencert \-alias ca + \-ext ku:c=dig,kE \-rfc > server\&.pem +cat root\&.pem ca\&.pem server\&.pem | + keytool \-keystore server\&.jks \-importcert \-alias server +.fi +.if n \{\ +.RE +.\} +.SH "ÍѸì" +.PP +¥­¡¼¥¹¥È¥¢ +.RS 4 +¥­¡¼¥¹¥È¥¢¤Ï¡¢°Å¹æ²½¤Î¸°¤È¾ÚÌÀ½ñ¤ò³ÊǼ¤¹¤ë¤¿¤á¤Îµ¡Ç½¤Ç¤¹¡£ +.RE +.PP +¥­¡¼¥¹¥È¥¢¤Î¥¨¥ó¥È¥ê +.RS 4 +¥­¡¼¥¹¥È¥¢¤Ë¤Ï°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤ÇºÇ¤âŬÍÑÈϰϤι­¤¤¥¨¥ó¥È¥ê¡¦¥¿¥¤¥×¤Ï¡¢¼¡¤Î2¤Ä¤Ç¤¹¡£ +.sp +\fB¸°¤Î¥¨¥ó¥È¥ê\fR +\- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Èó¾ï¤Ë½ÅÍפʰŹ沽¤Î¸°¤Î¾ðÊó¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢µö²Ä¤·¤Æ¤¤¤Ê¤¤¥¢¥¯¥»¥¹¤òËɤ°¤¿¤á¤Ë¡¢Êݸ¤ì¤¿·Á¤Ç³ÊǼ¤µ¤ì¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤Î¼ï¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ³ÊǼ¤µ¤ì¤ë¸°¤Ï¡¢ÈëÌ©¸°¤«¡¢Âбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òȼ¤¦ÈëÌ©¸°¤Ç¤¹¡£¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤¬¤³¤ÎξÊý¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò½èÍý¤Ç¤­¤ë¤Î¤ËÂФ·¡¢\fIjarsigner\fR¥Ä¡¼¥ë¤Ï¸å¼Ô¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¡¢¤Ä¤Þ¤êÈëÌ©¸°¤È¤½¤ì¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¤ß¤ò½èÍý¤·¤Þ¤¹¡£ +.sp +\fB¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê\fR: ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Âè»°¼Ô¤«¤é¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò1¤Ä´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¤½¤ì¤Ï¡¢¾ÚÌÀ½ñÆâ¤Î¸ø³«¸°¤¬¡¢¾ÚÌÀ½ñ¤ÎSubject(½êÍ­¼Ô)¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤ËͳÍ褹¤ë¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò¡¢¥­¡¼¥¹¥È¥¢¤Î½êÍ­¼Ô¤¬¿®Íꤹ¤ë¤«¤é¤Ç¤¹¡£¾ÚÌÀ½ñ¤Îȯ¹Ô¼Ô¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ÎÆâÍÆ¤òÊݾڤ·¤Þ¤¹¡£ +.RE +.PP +¥­¡¼¥¹¥È¥¢¤ÎÊÌ̾ +.RS 4 +¥­¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê(¸°¤ª¤è¤Ó¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¥¨¥ó¥È¥ê)¤Ï¡¢°ì°Õ¤ÎÊÌ̾¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ +.sp +ÊÌ̾¤ò»ØÄꤹ¤ë¤Î¤Ï¡¢\fI\-genseckey\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆÈëÌ©¸°¤òÀ¸À®¤·¤¿¤ê¡¢\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¸°¥Ú¥¢(¸ø³«¸°¤ÈÈëÌ©¸°)¤òÀ¸À®¤·¤¿¤ê¡¢\fI\-importcert\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤ËÄɲ乤ë¤Ê¤É¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲ乤ë¾ì¹ç¤Ç¤¹¡£¤³¤ì°Ê¸å¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¥¨¥ó¥Æ¥£¥Æ¥£¤ò»²¾È¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤È¤­¤Ë»ØÄꤷ¤¿ÊÌ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¤¿¤È¤¨¤Ð¡¢\fIduke\fR¤È¤¤¤¦ÊÌ̾¤ò»ÈÍѤ·¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥Ú¥¢¤òÀ¸À®¤·¡¢¸ø³«¸°¤ò¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤¹¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-genkeypair \-alias duke \-keypass dukekeypasswd +.fi +.if n \{\ +.RE +.\} +¤³¤ÎÎã¤Ç¤Ï¡¢½é´ü¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ\fIdukekeypasswd\fR¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£°Ê¸å¡¢ÊÌ̾\fIduke\fR¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÈëÌ©¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤê¤Þ¤¹¡£Duke¤ÎÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤«¤éÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-keypasswd \-alias duke \-keypass dukekeypasswd \-new newpass +.fi +.if n \{\ +.RE +.\} +¥Ñ¥¹¥ï¡¼¥É¤¬¡¢\fIdukekeypasswd\fR¤«¤é\fInewpass\fR¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£É¬Íפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ +.RS 4 +\fIjava\&.security\fR¥Ñ¥Ã¥±¡¼¥¸¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë\fIKeyStore\fR¥¯¥é¥¹¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤Ø¤Î¥¢¥¯¥»¥¹¤ª¤è¤Ó¾ðÊó¤ÎÊѹ¹¤ò¹Ô¤¦¤¿¤á¤Î¡¢ÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¸ÇÄê¼ÂÁõ¤È¤·¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤òÂоݤȤ¹¤ëÊ£¿ô¤Î°Û¤Ê¤ë¼ÂÁõ¤¬Â¸ºß²Äǽ¤Ç¤¹¡£ +.sp +¸½ºß¡¢\fIkeytool\fR¤È\fIjarsigner\fR¤Î2¤Ä¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ä¡¼¥ë¤È¡¢Policy Tool¤È¤¤¤¦Ì¾Á°¤ÎGUI¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¡¢¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£\fIKeyStore\fR¥¯¥é¥¹¤Ï\fIpublic\fR¤Ç¤¢¤ë¤¿¤á¡¢¥æ¡¼¥¶¡¼¤ÏKeyStore¤ò»ÈÍѤ·¤¿Â¾¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Oracle¤¬Ä󶡤¹¤ëÁȹþ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS¤È¤¤¤¦Ì¾Á°¤ÎÆÈ¼«¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×(·Á¼°)¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥­¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈëÌ©¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥­¡¼¥¹¥È¥¢Á´ÂΤÎÀ°¹çÀ­¤â(ÈëÌ©¸°¤È¤ÏÊ̤Î)¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£ +.sp +¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢\fIKeyStore\fR¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¥µ¡¼¥Ó¥¹¡¦¥×¥í¥Ð¥¤¥À¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹(SPI)¤Ë´ð¤Å¤¤¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë\fIKeystoreSpi\fRÃê¾Ý¥¯¥é¥¹(¤³¤ì¤â\fIjava\&.security\fR¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹)¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬¡¢¥×¥í¥Ð¥¤¥À¤¬¼ÂÁõ¤¹¤ëɬÍפΤ¢¤ëService Provider Interface¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¡¢\fI¥×¥í¥Ð¥¤¥À\fR¤È¤Ï¡¢Java Security API¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider\&.html¤Ë¤¢¤ë +Java°Å¹æ²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥×¥í¥Ð¥¤¥À¤ò¼ÂÁõ¤·¡¢\fIKeystoreSpi\fR¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢\fIKeyStore\fR¥¯¥é¥¹¤¬Ä󶡤¹¤ë\fIgetInstance\fR¥Õ¥¡¥¯¥È¥ê¡¦¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢ÍÍ¡¹¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤Ç¤­¤Þ¤¹¡£¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥­¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«/ÈëÌ©¸°¤È¥­¡¼¥¹¥È¥¢¤ÎÀ°¹çÀ­¤òÊݸ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.sp +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥­¡¼¥¹¥È¥¢¼ÂÁõ¤Çưºî¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¤ÇÅϤµ¤ì¤¿¥­¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤Ã¤Æ¡¢\fIFileInputStream\fR¤ËÊÑ´¹¤·¡¢¤³¤³¤«¤é¥­¡¼¥¹¥È¥¢¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£\fIjarsigner\fR¤ª¤è¤Ó\fIpolicytool\fR¥³¥Þ¥ó¥É¤Ï¡¢URL¤Ç»ØÄê¤Ç¤­¤ëǤ°Õ¤Î¾ì½ê¤«¤é¥­¡¼¥¹¥È¥¢¤òÆÉ¤ß¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +\fIkeytool\fR¤È\fIjarsigner\fR¤Î¾ì¹ç¡¢\fI\-storetype\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£Policy Tool¤Î¾ì¹ç¤Ï¡¢¡Ö¥­¡¼¥¹¥È¥¢¡×¥á¥Ë¥å¡¼¤Ë¤è¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +¥æ¡¼¥¶¡¼¤¬¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¡¢¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤¬ÁªÂò¤µ¤ì¤Þ¤¹¡£¤³¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤Ï\fIjava\&.security\fR¤È¸Æ¤Ð¤ì¡¢Windows¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Ç¥£¥ì¥¯¥È¥ê\fIjava\&.home\elib\esecurity\fR¡¢Oracle Solaris¤Ç¤Ï\fIjava\&.home/lib/security\fR¤Ë¤¢¤ê¤Þ¤¹¡£\fIjava\&.home\fR¤Ï¡¢¼Â¹Ô»þ´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£\fIjre\fR¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢SDK¤Þ¤¿¤ÏJava Runtime Environment (JRE)¤ÎºÇ¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£ +.sp +³Æ¥Ä¡¼¥ë¤Ï¡¢\fIkeystore\&.type\fR¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Þ¤¹¡£\fIKeyStore\fR¥¯¥é¥¹¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ëstatic¥á¥½¥Ã¥É\fIgetDefaultType\fR¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥¢¥×¥ì¥Ã¥È¤«¤é\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×(\fIkeystore\&.type\fR¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×)¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +KeyStore keyStore = KeyStore\&.getInstance(KeyStore\&.getDefaultType()); +.fi +.if n \{\ +.RE +.\} +¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Ï\fIjks\fR¤Ç¡¢¤³¤ì¤ÏOracle¤¬Ä󶡤¹¤ëÆÈ¼«¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keystore\&.type=jks +.fi +.if n \{\ +.RE +.\} +³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIpkcs12\fR¤È¸Æ¤Ð¤ì¤ë¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î¥­¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¡¦¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¾ì¹ç¡¢¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keystore\&.type=pkcs12 +.fi +.if n \{\ +.RE +.\} +\fBÃí°Õ:\fR +¥­¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢JKS¤Èjks¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +¾ÚÌÀ½ñ +.RS 4 +¾ÚÌÀ½ñ(¸ø³«¸°¾ÚÌÀ½ñ)¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£(ȯ¹Ô¼Ô)¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤­¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¤Ï¡¢Â¾¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£(½ð̾¼Ô)¤Î¸ø³«¸°(¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó)¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£¼¡¤ÎÍѸì¤Ï¡¢¾ÚÌÀ½ñ¤Ë´ØÏ¢¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +\fB¸ø³«¸°\fR: ¸ø³«¸°¤Ï¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¿ô¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢³ºÅö¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤È¤Î´Ö¤Ë¿®Íê¤Ç¤­¤ë´Ø·¸¤ò»ý¤ÄɬÍפ¬¤¢¤ë¤¹¤Ù¤Æ¤Î¿Í¤ËÂФ·¤Æ¸ø³«¤¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢½ð̾¤ò¸¡¾Ú¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fB¥Ç¥¸¥¿¥ë½ð̾\fR: ¥Ç¡¼¥¿¤¬¥Ç¥¸¥¿¥ë½ð̾¤µ¤ì¤ë¤È¡¢¤½¤Î¥Ç¡¼¥¿¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤È¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬¥Ç¡¼¥¿¤ÎÆâÍÆ¤Ë¤Ä¤¤¤ÆÃΤäƤ¤¤ë¤³¤È¤ò¾ÚÌÀ½ñ¤¹¤ë½ð̾¤È¤È¤â¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈëÌ©¸°¤ò»ÈÍѤ·¤Æ¥Ç¡¼¥¿¤Ë½ð̾¤òÉÕ¤±¤ë¤È¡¢¥Ç¡¼¥¿¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +\fB¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£\fR: ¥¨¥ó¥Æ¥£¥Æ¥£¤ò¥¢¥É¥ì¥¹»ØÄꤹ¤ë´ûÃΤÎÊýË¡¡£¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¸ø³«¸°¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Ë¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¸ø³«¸°¤Î¾¤Ë¤â¡¢Oracle Solaris UID¤äÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¡¢X\&.509¼±ÊÌ̾¤Ê¤É¡¢ÍÍ¡¹¤Ê¤â¤Î¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +\fB½ð̾\fR: ½ð̾¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿¤ò´ð¤Ë¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈëÌ©¸°¤ò»ÈÍѤ·¤Æ·×»»¤µ¤ì¤Þ¤¹¡£½ð̾¼Ô¡¢¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ïȯ¹Ô¼Ô¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£ +.sp +\fBÈëÌ©¸°\fR: ÈëÌ©¸°¤ÏÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Î¤ß¤¬ÃΤäƤ¤¤ë¿ô¤Î¤³¤È¤Ç¡¢¤³¤Î¿ô¤Î¤³¤È¤ò¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈëÌ©¸°¤È¤¤¤¤¤Þ¤¹¡£ÈëÌ©¸°¤Ï¡¢Â¾¤ËÃΤé¤ì¤Ê¤¤¤è¤¦¤ËÈëÌ©¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬Á°Äó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ÈëÌ©¸°¤È¸ø³«¸°¤Ï¡¢¤¹¤Ù¤Æ¤Î¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ÇÂФˤʤäÆÂ¸ºß¤·¤Æ¤¤¤Þ¤¹¡£DSA¤Ê¤É¤Îŵ·¿Åª¤Ê¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢1¤Ä¤ÎÈëÌ©¸°¤ÏÀµ³Î¤Ë1¤Ä¤Î¸ø³«¸°¤ËÂбþ¤·¤Þ¤¹¡£ÈëÌ©¸°¤Ï¡¢½ð̾¤ò·×»»¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.sp +\fB¥¨¥ó¥Æ¥£¥Æ¥£\fR: ¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢¿Í¡¢ÁÈ¿¥¡¢¥×¥í¥°¥é¥à¡¢¥³¥ó¥Ô¥å¡¼¥¿¡¢´ë¶È¡¢¶ä¹Ô¤Ê¤É¡¢°ìÄê¤ÎÅٹ礤¤Ç¿®Íê¤ÎÂоݤȤʤëÍÍ¡¹¤Ê¤â¤Î¤ò»Ø¤·¤Þ¤¹¡£ +.sp +¸ø³«¸°°Å¹æ²½¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Â絬ÌϤʥͥåȥ¥¯´Ä¶­¤Ç¤Ï¡¢¸ß¤¤¤ËÄÌ¿®¤·¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£´Ö¤Ç°ÊÁ°¤Î´Ø·¸¤¬°ú³¤­³ÎΩ¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤¿¤ê¡¢»ÈÍѤµ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¸ø³«¸°¤ò¼ý¤á¤¿¿®Íê¤Ç¤­¤ë¥ê¥Ý¥¸¥È¥ê¤¬Â¸ºß¤¹¤ë¤È²¾Äꤷ¤¿¤ê¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¸ø³«¸°¤ÎÇÛÉۤ˴ؤ¹¤ëÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¾ÚÌÀ½ñ¤¬¹Í°Æ¤µ¤ì¤Þ¤·¤¿¡£¸½ºß¤Ç¤Ï¡¢¾ÚÌÀ½ñȯ¹Ô¶É(CA)¤¬¿®Íê¤Ç¤­¤ëÂè»°¼Ô¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£CA¤Ï¡¢Â¾¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤¹¤ë(ȯ¹Ô¤¹¤ë)¹Ô°Ù¤ò¡¢¿®Íꤷ¤ÆÇ¤¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£(´ë¶È¤Ê¤É)¤Ç¤¹¡£CA¤ÏˡΧ¾å¤Î·ÀÌó¤Ë¹´Â«¤µ¤ì¤ë¤Î¤Ç¡¢Í­¸ú¤«¤Ä¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¤ß¤òºîÀ®¤¹¤ë¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£VeriSign¡¢Thawte¡¢Entrust¤ò¤Ï¤¸¤á¡¢Â¿¤¯¤Î¸øÅª¤Ê¾ÚÌÀ½ñȯ¹Ô¶É¤¬Â¸ºß¤·¤Þ¤¹¡£ +.sp +Microsoft¤Îǧ¾Ú¥µ¡¼¥Ð¡¼¡¢Entrust¤ÎCAÀ½Éʤʤɤò½ê°ÁÈ¿¥Æâ¤ÇÍøÍѤ¹¤ì¤Ð¡¢ÆÈ¼«¤Î¾ÚÌÀ½ñȯ¹Ô¶É¤ò±¿±Ä¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¾ÚÌÀ½ñ¤Îɽ¼¨¡¢¥¤¥ó¥Ý¡¼¥È¤ª¤è¤Ó¥¨¥¯¥¹¥Ý¡¼¥È¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.sp +¸½ºß¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤ÏX\&.509¾ÚÌÀ½ñ¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +X\&.509¾ÚÌÀ½ñ +.RS 4 +X\&.509µ¬³Ê¤Ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¾ðÊó¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¾ðÊó¤ò¾ÚÌÀ½ñ¤Ë½ñ¤­¹þ¤àÊýË¡(¥Ç¡¼¥¿·Á¼°)¤Ë¤Ä¤¤¤Æ¤âµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ï¡¢ASN\&.1/DER¤È¸Æ¤Ð¤ì¤ë2¤Ä¤Î´ØÏ¢µ¬³Ê¤ò»ÈÍѤ·¤ÆÉ乿²½¤µ¤ì¤Þ¤¹¡£Abstract Syntax Notation 1¤Ï¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£Definite Encoding Rules¤Ï¡¢¥Ç¡¼¥¿¤ÎÊݸ¤ª¤è¤ÓžÁ÷¤ÎÊýË¡¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +¤¹¤Ù¤Æ¤ÎX\&.509¾ÚÌÀ½ñ¤Ï¡¢½ð̾¤Î¾¤Ë¼¡¤Î¥Ç¡¼¥¿¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ +.sp +\fB¥Ð¡¼¥¸¥ç¥ó\fR: ¾ÚÌÀ½ñ¤ËŬÍѤµ¤ì¤ëX\&.509µ¬³Ê¤Î¥Ð¡¼¥¸¥ç¥ó¤òÆÃÄꤷ¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ë»ØÄê¤Ç¤­¤ë¾ðÊó¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£º£¤Î¤È¤³¤í¡¢3¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢v1¡¢v2¡¢v3¤Î¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤ª¤è¤Ó¥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£v3¤Î¾ÚÌÀ½ñ¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +X\&.509 Version 1¤Ï¡¢1988ǯ¤«¤éÍøÍѤµ¤ì¤Æ¹­¤¯ÉáµÚ¤·¤Æ¤ª¤ê¡¢ºÇ¤â°ìÈÌŪ¤Ç¤¹¡£ +.sp +X\&.509 Version 2¤Ç¤Ï¡¢Subject¤äȯ¹Ô¼Ô¤Î̾Á°¤ò¤¢¤È¤ÇºÆÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Subject¤Èȯ¹Ô¼Ô¤Î°ì°Õ¼±Ê̻ҤγµÇ°¤¬Æ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤Û¤È¤ó¤É¤Î¾ÚÌÀ½ñ¥×¥í¥Õ¥¡¥¤¥ëʸ½ñ¤Ç¤Ï¡¢Ì¾Á°¤òºÆ»ÈÍѤ·¤Ê¤¤¤³¤È¤È¡¢¾ÚÌÀ½ñ¤Ç°ì°Õ¤Î¼±Ê̻Ҥò»ÈÍѤ·¤Ê¤¤¤³¤È¤¬¡¢¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Version 2¤Î¾ÚÌÀ½ñ¤Ï¡¢¹­¤¯¤Ï»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +.sp +X\&.509 Version 3¤ÏºÇ¤â¿·¤·¤¤(1996ǯ)µ¬³Ê¤Ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î³µÇ°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ïï¤Ç¤âÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°ìÈÌŪ¤Ê¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤È¤·¤Æ¤Ï¡¢KeyUsage(\fI½ð̾ÀìÍÑ\fR¤Ê¤É¡¢¸°¤Î»ÈÍѤòÆÃÄê¤ÎÌÜŪ¤ËÀ©¸Â¤¹¤ë)¡¢AlternativeNames(DNS̾¡¢ÅŻҥ᡼¥ë¡¦¥¢¥É¥ì¥¹¡¢IP¥¢¥É¥ì¥¹¤Ê¤É¡¢Â¾¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤ò¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë)¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ï¡¢critical¤È¤¤¤¦¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¡¢¤½¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯¤È»ÈÍѤòµÁ̳¤Å¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢critical¤È¥Þ¡¼¥¯¤µ¤ì¡¢\fIkeyCertSign\fR¤¬ÀßÄꤵ¤ì¤¿KeyUsage¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¾ÚÌÀ½ñ¤òSSLÄÌ¿®Ãæ¤ËÄ󼨤¹¤ë¤È¡¢¾ÚÌÀ½ñ¤¬µñÈݤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢´ØÏ¢¤¹¤ëÈëÌ©¸°¤¬¾ÚÌÀ½ñ¤Î½ð̾ÀìÍѤȤ·¤Æ»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢SSL¤Ç¤Ï»ÈÍѤǤ­¤Ê¤¤¤¿¤á¤Ç¤¹¡£ +.sp +\fB¥·¥ê¥¢¥ëÈÖ¹æ\fR: ¾ÚÌÀ½ñ¤òºîÀ®¤·¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬È¯¹Ô¤¹¤ë¾¤Î¾ÚÌÀ½ñ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢¾ÚÌÀ½ñ¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢ÍÍ¡¹¤ÊÊýË¡¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬¼è¤ê¾Ã¤µ¤ì¤ë¤È¡¢¥·¥ê¥¢¥ëÈֹ椬¾ÚÌÀ½ñ¼º¸ú¥ê¥¹¥È(CRL)¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ +.sp +\fB¾ÚÌÀ½ñ¥¢¥ë¥´¥ê¥º¥à¼±ÊÌ»Ò\fR: ¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤­¤ËCA¤¬»ÈÍѤ·¤¿¥¢¥ë¥´¥ê¥º¥à¤òÆÃÄꤷ¤Þ¤¹¡£ +.sp +\fBȯ¹Ô¼Ô̾\fR: ¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤ÎX\&.500¼±ÊÌ̾¤Ç¤¹¡£X\&.500¼±ÊÌ̾¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£Ä̾ï¤ÏCA¤Ç¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤ò¿®Íꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥ë¡¼¥È¤Ä¤Þ¤ê¥È¥Ã¥×¥ì¥Ù¥ë¤ÎCA¤Î¾ÚÌÀ½ñ¤Ê¤É¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ïȯ¹Ô¼Ô¤¬¼«¿È¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBÍ­¸ú´ü´Ö\fR: ³Æ¾ÚÌÀ½ñ¤Ï¸Â¤é¤ì¤¿´ü´Ö¤Î¤ßÍ­¸ú¤Ç¤¹¡£¤³¤Î´ü´Ö¤Ï³«»Ï¤ÎÆü»þ¤È½ªÎ»¤ÎÆü»þ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¡¢¿ôÉäÎû¤¤´ü´Ö¤«¤é100ǯ¤È¤¤¤¦Ä¹´ü¤Ë¤ï¤¿¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ÁªÂò¤µ¤ì¤ëÍ­¸ú´ü´Ö¤Ï¡¢¾ÚÌÀ½ñ¤Ø¤Î½ð̾¤Ë»ÈÍѤµ¤ì¤ëÈëÌ©¸°¤Î¶¯ÅÙ¤ä¾ÚÌÀ½ñ¤Ë»Ùʧ¤¦¶â³Û¤Ê¤É¡¢ÍÍ¡¹¤ÊÍ×°ø¤Ç°Û¤Ê¤ê¤Þ¤¹¡£Í­¸ú´ü´Ö¤Ï¡¢´ØÏ¢¤¹¤ëÈëÌ©¸°¤¬Â»¤ï¤ì¤Ê¤¤¾ì¹ç¤Ë¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤¬¸ø³«¸°¤ò¿®Íê¤Ç¤­¤ë¤È´üÂÔ¤µ¤ì¤ë´ü´Ö¤Ç¤¹¡£ +.sp +\fB¼çÂÎ̾\fR: ¾ÚÌÀ½ñ¤Ç¸ø³«¸°¤òǧ¾Ú¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î̾Á°¡£¤³¤Î̾Á°¤ÏX\&.500ɸ½à¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤǰì°Õ¤Ê¤â¤Î¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤ÎX\&.500¼±ÊÌ̾(DN)¤Ç¤¹¡£X\&.500¼±ÊÌ̾¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=Java Duke, OU=Java Software Division, O=Oracle Corporation, C=US +.fi +.if n \{\ +.RE +.\} +¤³¤ì¤é¤Ï¤½¤ì¤¾¤ì¼çÂΤÎÄ̾Î(CN)¡¢ÁÈ¿¥Ã±°Ì(OU)¡¢ÁÈ¿¥(O)¡¢¹ñ(C)¤òɽ¤·¤Þ¤¹¡£ +.sp +\fB¼çÂΤθø³«¸°¾ðÊó\fR: ̾Á°¤òÉÕ¤±¤é¤ì¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤È¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤ¹¡£¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤϡ¢¸ø³«¸°¤ËÂФ·¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ª¤è¤Ó´ØÏ¢¤¹¤ë¸°¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +¾ÚÌÀ½ñ¥Á¥§¡¼¥ó +.RS 4 +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢ÈëÌ©¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò´Þ¤à¥­¡¼¥¹¥È¥¢¤Î¸°¥¨¥ó¥È¥ê¤òºîÀ®¤·¡¢´ÉÍý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤Ç¤Ï¡¢ÈëÌ©¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Ï¡¢¥Á¥§¡¼¥ó¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ +.sp +¸°¤ò½é¤á¤ÆºîÀ®¤¹¤ë¤È¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤È¤¤¤¦1¤Ä¤ÎÍ×ÁǤΤߤò´Þ¤à¥Á¥§¡¼¥ó¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£\fI¤Î\fR\-genkeypair¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ïȯ¹Ô¼Ô(½ð̾¼Ô)¤¬¼çÂÎ¤ÈÆ±¤¸¤Ç¤¹¡£¼çÂΤϡ¢¤½¤Î¸ø³«¸°¤¬¾ÚÌÀ½ñ¤Ë¤è¤Ã¤ÆÇ§¾Ú¤µ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¤¹¡£\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈëÌ©¸°¤Î¥Ú¥¢¤òºîÀ®¤¹¤ë¤È¡¢¸ø³«¸°¤Ï¾ï¤Ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£ +.sp +¤³¤Î¸å¡¢¾ÚÌÀ½ñ½ð̾¥ê¥¯¥¨¥¹¥È(CSR)¤¬\fI\-certreq\fR¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¤Æ¡¢CSR¤¬¾ÚÌÀ½ñȯ¹Ô¶É(CA)¤ËÁ÷¿®¤µ¤ì¤ë¤È¡¢CA¤«¤é¤Î¥ì¥¹¥Ý¥ó¥¹¤¬\fI\-importcert\fR¤Ç¥¤¥ó¥Ý¡¼¥È¤µ¤ì¡¢¸µ¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É¤Î\fI\-certreq\fR¤ª¤è¤Ó\fI\-importcert\fR¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥Á¥§¡¼¥ó¤ÎºÇ¸å¤Ë¤¢¤ë¤Î¤Ï¡¢Subject¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿CA¤¬È¯¹Ô¤·¤¿¾ÚÌÀ½ñ(±þÅú)¤Ç¤¹¡£¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢CA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£ +.sp +CA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ï¡¢Â¿¤¯¤Î¾ì¹ç¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ(¤Ä¤Þ¤êCA¤¬¼«¿È¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿¾ÚÌÀ½ñ)¤Ç¤¢¤ê¡¢¤³¤ì¤Ï¥Á¥§¡¼¥ó¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA¤¬¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ(CA¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢¸°¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ)¤ËÊѤï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢CSR¤ÎÁ÷¿®Àè¤ÎCA¤È¤ÏÊ̤ÎCA¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢CSR¤ÎÁ÷¿®Àè¤ÎCA¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¥Á¥§¡¼¥óÆâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¼¡¤ÎCA¤Î¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£°Ê²¼Æ±Íͤˡ¢¼«¸Ê½ð̾¤µ¤ì¤¿¡Ö¥ë¡¼¥È¡×¾ÚÌÀ½ñ¤Ë㤹¤ë¤Þ¤Ç¥Á¥§¡¼¥ó¤¬Â³¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Á¥§¡¼¥óÆâ¤Î(ºÇ½é¤Î¾ÚÌÀ½ñ°Ê¸å¤Î)³Æ¾ÚÌÀ½ñ¤Ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤¬Ç§¾Ú¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.sp +¿¤¯¤ÎCA¤Ï¡¢¥Á¥§¡¼¥ó¤ò¥µ¥Ý¡¼¥È¤»¤º¤Ëȯ¹ÔºÑ¤Î¾ÚÌÀ½ñ¤Î¤ß¤òÊÖ¤·¤Þ¤¹¡£ÆÃ¤Ë¡¢Ãæ´Ö¤ÎCA¤¬Â¸ºß¤·¤Ê¤¤¥Õ¥é¥Ã¥È¤Ê³¬Áع½Â¤¤Î¾ì¹ç¤Ï¡¢¤½¤Î·¹¸þ¤¬¸²Ãø¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¥­¡¼¥¹¥È¥¢¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¾ðÊ󤫤顢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò³ÎΩ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +Ê̤αþÅú·Á¼°(PKCS#7¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·Á¼°)¤Ç¤Ï¡¢È¯¹ÔºÑ¾ÚÌÀ½ñ¤Ë²Ã¤¨¡¢¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Î¥µ¥Ý¡¼¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤É¤Á¤é¤Î±þÅú·Á¼°¤â°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +¥È¥Ã¥×¥ì¥Ù¥ë(¥ë¡¼¥È)CA¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¹¡£¤¿¤À¤·¡¢¥ë¡¼¥È¤Î¸ø³«¸°¤Ø¤Î¿®Íê¤Ï¡¢¥ë¡¼¥È¾ÚÌÀ½ñ¼«ÂΤ«¤é¤Ç¤Ï¤Ê¤¯¡¢¿·Ê¹¤Ê¤É¾¤Î¥½¡¼¥¹¤«¤é¼èÆÀ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢VeriSign¥ë¡¼¥ÈCA¤Ê¤É¤Î¼±ÊÌ̾¤ò»ÈÍѤ·¤Æ¡¢Ã¯¤Ç¤â¼«¸Ê½ð̾·¿¾ÚÌÀ½ñ¤òÀ¸À®¤Ç¤­¤ë¤¿¤á¤Ç¤¹¡£¥ë¡¼¥ÈCA¤Î¸ø³«¸°¤Ï¹­¤¯ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£¥ë¡¼¥ÈCA¤Î¸ø³«¸°¤ò¾ÚÌÀ½ñ¤Ë³ÊǼ¤¹¤ëÍýͳ¤Ï¡¢¾ÚÌÀ½ñ¤È¤¤¤¦·Á¼°¤Ë¤¹¤ë¤³¤È¤Ç¿¤¯¤Î¥Ä¡¼¥ë¤«¤éÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤é¤Ë¤¹¤®¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢¾ÚÌÀ½ñ¤Ï¡¢¥ë¡¼¥ÈCA¤Î¸ø³«¸°¤ò±¿¤Ö¡ÖÇÞÂΡפȤ·¤ÆÍøÍѤµ¤ì¤ë¤Î¤ß¤Ç¤¹¡£¥ë¡¼¥ÈCA¤Î¾ÚÌÀ½ñ¤ò¥­¡¼¥¹¥È¥¢¤ËÄɲ乤ë¤È¤­¤Ï¡¢\fI\-printcert\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¤½¤ÎÁ°¤Ë¾ÚÌÀ½ñ¤ÎÆâÍÆ¤òɽ¼¨¤·¡¢É½¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¿·Ê¹¤ä¥ë¡¼¥ÈCA¤ÎWeb¥Ú¡¼¥¸¤Ê¤É¤«¤éÆþ¼ê¤·¤¿´ûÃΤΥե£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +cacerts¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë +.RS 4 +\fIcacerts\fR¤È¤¤¤¦Ì¾Á°¤Î¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë¤Ï¡¢Windows¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¡¦¥×¥í¥Ñ¥Æ¥£¡¦¥Ç¥£¥ì¥¯¥È¥ê\fIjava\&.home\elib\esecurity\fR¡¢Oracle Solaris¤Ç¤Ï\fIjava\&.home/lib/security\fR¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£\fIjava\&.home\fR¤Ï¡¢¼Â¹Ô´Ä¶­¤Î¥Ç¥£¥ì¥¯¥È¥ê(SDK¤Î\fIjre\fR¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤ÏJRE¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê)¤Ç¤¹¡£ +.sp +\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Ï¡¢CA¤Î¾ÚÌÀ½ñ¤ò´Þ¤à¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥ­¡¼¥¹¥È¥¢¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢¥­¡¼¥¹¥È¥¢¡¦¥¿¥¤¥×¤Ë\fIjks\fR¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹½À®¤È´ÉÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥»¥Ã¥È¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¾ÚÌÀ½ñ¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-list \-keystore java\&.home/lib/security/cacerts +.fi +.if n \{\ +.RE +.\} +\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤Î½é´ü¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢\fIchangeit\fR¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢SDK¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤È¥Ç¥Õ¥©¥ë¥È¡¦¥¢¥¯¥»¥¹¸¢¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +\fIcacerts\fR¥Õ¥¡¥¤¥ë¤ò³Îǧ¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£\fIcacerts\fR¥Õ¥¡¥¤¥ëÆâ¤ÎCA¤Ï¡¢½ð̾¤ª¤è¤Ó¾¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ø¤Î¾ÚÌÀ½ñȯ¹Ô¤Î¤¿¤á¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤È¤·¤Æ¿®Íꤵ¤ì¤ë¤¿¤á¡¢\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Î´ÉÍý¤Ï¿µ½Å¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¿®Íꤹ¤ëCA¤Î¾ÚÌÀ½ñ¤Î¤ß¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢¼«¿È¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¡¢\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤­¤ë¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤ò¸¡¾Ú¤·¡¢¿®ÍêÀ­¤Ë´Ø¤¹¤ëÆÈ¼«¤Î·èÄê¤ò¹Ô¤¤¤Þ¤¹¡£ +.sp +¿®Íê¤Ç¤­¤Ê¤¤CA¾ÚÌÀ½ñ¤ò\fIcacerts\fR¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤¹¤ë¤Ë¤Ï¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Î\fIdelete\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£\fIcacerts\fR¥Õ¥¡¥¤¥ë¤ÏJRE¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¥¢¥¯¥»¥¹¸¢¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421¾ÚÌÀ½ñÉ乿²½µ¬³Ê +.RS 4 +¿¤¯¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡¢¥Ð¥¤¥Ê¥êÉ乿²½¤Ç¤Ï¤Ê¤¯¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈRFC 1421µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë½ÐÎϲÄǽÉ乿²½Êý¼°¤ò»ÈÍѤ·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£Base 64É乿²½¤È¤â¸Æ¤Ð¤ì¤ë¤³¤Î¾ÚÌÀ½ñ·Á¼°¤Ç¤Ï¡¢ÅŻҥ᡼¥ë¤ä¤½¤Î¾¤Îµ¡¹½¤òÄ̤¸¤Æ¡¢Â¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¾ÚÌÀ½ñ¤òÍÆ°×¤Ë¥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤­¤Þ¤¹¡£ +.sp +\fI\-importcert\fR¤È\fI\-printcert\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤Î·Á¼°¤Î¾ÚÌÀ½ñ¤È¥Ð¥¤¥Ê¥êÉ乿²½¤Î¾ÚÌÀ½ñ¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\fI\-exportcert\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ð¥¤¥Ê¥êÉ乿²½¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉ乿²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +\fI\-list\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¾ÚÌÀ½ñ¤ÎSHA1¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-v\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¿Í¤¬Íý²ò¤Ç¤­¤ë·Á¼°¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£\fI\-rfc\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï½ÐÎϲÄǽÉ乿²½Êý¼°¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£ +.sp +½ÐÎϲÄǽÉ乿²½Êý¼°¤ÇÉ乿²½¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î¥Æ¥­¥¹¥È¤Ç»Ï¤Þ¤ê¡¢¼¡¤Î¥Æ¥­¥¹¥È¤Ç½ªÎ»¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- + +encoded certificate goes here\&. + +\-\-\-\-\-END CERTIFICATE\-\-\-\-\- +.fi +.if n \{\ +.RE +.\} +.RE +.PP +X\&.500¼±ÊÌ̾ +.RS 4 +X\&.500¼±ÊÌ̾¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢X\&.509¾ÚÌÀ½ñ¤Î\fIsubject\fR¥Õ¥£¡¼¥ë¥É¤È\fIissuer\fR(½ð̾¼Ô)¥Õ¥£¡¼¥ë¥É¤Ç»ØÄꤵ¤ì¤ë̾Á°¤Ï¡¢X\&.500¼±ÊÌ̾¤Ç¤¹¡£\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥µ¥Ö¥Ñ¡¼¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +\fBcommonName\fR: Susan Jones¤Ê¤É¡¢¿Í¤ÎÄ̾Ρ£ +.sp +\fBorganizationUnit\fR: ¾®¤µ¤ÊÁÈ¿¥(Éô¡¢²Ý¤Ê¤É)¤Î̾¾Î¡£Purchasing¤Ê¤É¤Ç¤¹¡£ +.sp +\fBlocalityName\fR: Ãϰè(ÅÔ»Ô)̾¡£Palo Alto¤Ê¤É¡£ +.sp +\fBstateName\fR: ½£Ì¾¤Þ¤¿¤ÏÃÏÊý̾¡£California¤Ê¤É¡£ +.sp +\fBcountry\fR: 2ʸ»ú¤Î¹ñ¥³¡¼¥É¡£CH¤Ê¤É¡£ +.sp +¼±ÊÌ̾ʸ»úÎó¤ò\fI\-dname\fR¥ª¥×¥·¥ç¥ó¤ÎÃͤȤ·¤Æ»ØÄꤹ¤ë¾ì¹ç(¤¿¤È¤¨¤Ð\fI\-genkeypair\fR¥³¥Þ¥ó¥É¤Ë)¡¢Ê¸»úÎó¤Ï¼¡¤Î·Á¼°¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=cName, OU=orgUnit, O=org, L=city, S=state, C=countryCode +.fi +.if n \{\ +.RE +.\} +¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤϡ¢¼ÂºÝ¤Ë»ØÄꤹ¤ëÃͤòɽ¤·¤Þ¤¹¡£Ã»½Ì·Á¤Î¥­¡¼¥ï¡¼¥É¤Î°ÕÌ£¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=commonName +OU=organizationUnit +O=organizationName +L=localityName +S=stateName +C=country +.fi +.if n \{\ +.RE +.\} +¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼±ÊÌ̾ʸ»úÎó¤ÎÎã¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, S=California, C=US +.fi +.if n \{\ +.RE +.\} +¤³¤Îʸ»úÎó¤ò»ÈÍѤ·¤¿¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +keytool \-genkeypair \-dname "CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, +S=California, C=US" \-alias mark +.fi +.if n \{\ +.RE +.\} +¥­¡¼¥ï¡¼¥É¤Îû½Ì·Á¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢CN¡¢cn¤ª¤è¤ÓCn¤Ï¡¢¤É¤ì¤âƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ +.sp +°ìÊý¡¢¥­¡¼¥ï¡¼¥É¤Î»ØÄê½ç½ø¤Ë¤Ï°ÕÌ£¤¬¤¢¤ê¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¾å¤Ë¼¨¤·¤¿½ç½ø¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¤¹¤Ù¤Æ»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë°ìÉô¤Î¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¤ß¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +CN=Steve Meier, OU=Java, O=Oracle, C=US +.fi +.if n \{\ +.RE +.\} +¼±ÊÌ̾ʸ»úÎó¤ÎÃͤ˥«¥ó¥Þ¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Çʸ»úÎó¤ò»ØÄꤹ¤ë¤È¤­¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥«¥ó¥Þ¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥åʸ»ú(\e)¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +cn=Peter Schuster, ou=Java\e, Product Development, o=Oracle, c=US +.fi +.if n \{\ +.RE +.\} +¼±ÊÌ̾ʸ»úÎó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¼±ÊÌ̾¤òɬÍפȤ¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥«¥ó¥Þ¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å(\e)¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.RE +.SH "·Ù¹ð" +.SS "¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È·Ù¹ð" +.PP +\fB½ÅÍ×\fR: ¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ë¡¢¾ÚÌÀ½ñ¤ÎÆâÍÆ¤ò¿µ½Å¤ËÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ +Windows¤ÎÎã:.PP +¤Þ¤º¡¢\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fI\-printcert\fR¥³¥Þ¥ó¥É¤Þ¤¿¤Ï\fI\-importcert\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¾ÚÌÀ½ñ¤òɽ¼¨¤·¤Þ¤¹¡£É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬Á÷¤é¤ì¤Æ¤­¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò\fI\etmp\ecert\fR¤È¤¤¤¦Ì¾Á°¤Ç¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¤³¤Î¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢\fI\-printcert\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + keytool \-printcert \-file \etmp\ecert + Owner: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll + Issuer: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll + Serial Number: 59092b34 + Valid from: Thu Sep 25 18:01:13 PDT 1997 until: Wed Dec 24 17:01:13 PST 1997 + Certificate Fingerprints: + MD5: 11:81:AD:92:C8:E5:0E:A2:01:2E:D4:7A:D7:5F:07:6F + SHA1: 20:B6:17:FA:EF:E5:55:8A:D0:71:1F:E8:D6:9D:C0:37:13:0E:5E:FE + SHA256: 90:7B:70:0A:EA:DC:16:79:92:99:41:FF:8A:FE:EB:90: + 17:75:E0:90:B2:24:4D:3A:2A:16:A6:E4:11:0F:67:A4 +.fi +.if n \{\ +.RE +.\} +Oracle Solaris¤ÎÎã:.PP +¤Þ¤º¡¢\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fI\-printcert\fR¥³¥Þ¥ó¥É¤Þ¤¿¤Ï\fI\-importcert\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¾ÚÌÀ½ñ¤òɽ¼¨¤·¤Þ¤¹¡£É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥æ¡¼¥¶¡¼¤«¤é¾ÚÌÀ½ñ¤¬Á÷¤é¤ì¤Æ¤­¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò\fI/tmp/cert\fR¤È¤¤¤¦Ì¾Á°¤Ç¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¤³¤Î¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢\fI\-printcert\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + keytool \-printcert \-file /tmp/cert + Owner: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll + Issuer: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll + Serial Number: 59092b34 + Valid from: Thu Sep 25 18:01:13 PDT 1997 until: Wed Dec 24 17:01:13 PST 1997 + Certificate Fingerprints: + MD5: 11:81:AD:92:C8:E5:0E:A2:01:2E:D4:7A:D7:5F:07:6F + SHA1: 20:B6:17:FA:EF:E5:55:8A:D0:71:1F:E8:D6:9D:C0:37:13:0E:5E:FE + SHA256: 90:7B:70:0A:EA:DC:16:79:92:99:41:FF:8A:FE:EB:90: + 17:75:E0:90:B2:24:4D:3A:2A:16:A6:E4:11:0F:67:A4 +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Ë¡¢¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¾¤Î²¿¼Ô¤«(¹¶·â¼Ô¤Ê¤É)¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂØ¤¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤­¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î(¹¶·âŪ°Õ¿Þ¤ò»ý¤Ä¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤ÀJAR¥Õ¥¡¥¤¥ë¤Ê¤É)¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +\fBÃí°Õ:\fR +¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ë\fI\-printcert\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¥­¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢\fI\-importcert\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¾ÚÌÀ½ñ¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¡¢³Îǧ¤òµá¤á¤ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£¥æ¡¼¥¶¡¼¤Ï¥¤¥ó¥Ý¡¼¥ÈÁàºî¤òÄä»ß¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ì¤ò¼Â¹Ô¤Ç¤­¤ë¤Î¤Ï¡¢\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë\fI\-importcert\fR¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤¹¾ì¹ç¤Î¤ß¤Ç¤¹¡£\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£ +.SS "¥Ñ¥¹¥ï¡¼¥É·Ù¹ð" +.PP +¥­¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤Û¤È¤ó¤É¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢°ìÉô¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Èó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄê¤Ç¤­¤Þ¤¹(\fI\-storepass\fR¥ª¥×¥·¥ç¥ó¤È\fI\-keypass\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡£¤¿¤À¤·¡¢¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£É¬Íפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.SS "¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ë·Ù¹ð" +.PP +¥¤¥ó¥¿¡¼¥Í¥Ã¥Èɸ½àRFC 5280¤Ç¤Ï¡¢X\&.509¾ÚÌÀ½ñ¤Î½àµò¤Ë´Ø¤¹¤ë¥×¥í¥Õ¥¡¥¤¥ë¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¾ÚÌÀ½ñ¤Î¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤ËÍ­¸ú¤ÊÃͤª¤è¤ÓÃͤÎÁȹ礻¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£É¸½à¤Ë¤Ä¤¤¤Æ¤Ï¡¢ +http://tools\&.ietf\&.org/rfc/rfc5280\&.txt¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥ë¡¼¥ë¤¹¤Ù¤Æ¤¬Å¬ÍѤµ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢É¸½à¤Ë½àµò¤·¤Ê¤¤¾ÚÌÀ½ñ¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£É¸½à¤Ë½àµò¤·¤Ê¤¤¾ÚÌÀ½ñ¤Ï¡¢JRE¤ä¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇµñÈݤµ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤Ï¡¢\fI\-dname\fR¤ä\fI\-ext\fR¤Ê¤É¤ÇŬÀµ¤Ê¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ +.SH "Ãí°Õ" +.SS "¿·¤·¤¤¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢¥­¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é(¥ë¡¼¥ÈCA¤Î)¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Á¥§¡¼¥ó¤Î¹½ÃÛ¤ò»î¤ß¤Þ¤¹¡£ +.PP +\fI\-trustcacerts\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ÄɲäξÚÌÀ½ñ¤Ï¿®Íê¤Ç¤­¤ë¤¹¤Ê¤ï¤Á\fIcacerts\fR¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¾ÚÌÀ½ñ¤Î¥Á¥§¡¼¥ó¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ +.PP +\fIkeytool\fR¥³¥Þ¥ó¥É¤¬¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¾ÚÌÀ½ñ(¥­¡¼¥¹¥È¥¢¤Þ¤¿¤Ï\fIcacerts\fR¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ)¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Ñ¥¹¤Î¹½Ãۤ˼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤Î¾ðÊó¤òɽ¼¨¤·¡¢¥æ¡¼¥¶¡¼¤Ë³Îǧ¤òµá¤á¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢Â¾¤Î¤Ê¤ó¤é¤«¤Î(¿®Íê¤Ç¤­¤ë)¾ðÊó¸»(¾ÚÌÀ½ñ¤Î½êÍ­¼Ô¤Ê¤É)¤«¤éÆþ¼ê¤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¾ÚÌÀ½ñ¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È·Ù¹ð¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¾ÚÌÀ½ñ¤ò³Îǧ¤¹¤ë»þÅÀ¤ÇÃæ»ß¤Ç¤­¤Þ¤¹¡£\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£ +.SS "¾ÚÌÀ½ñ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È" +.PP +¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤­¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó(\fI\-trustcacert\fR\fIs\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï)\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ë¤Ç¹½À®¤µ¤ì¤¿¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ¾ÚÌÀ½ñ±þÅú¤¬¸¡ºº¤µ¤ì¤Þ¤¹¡£cacerts¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¾ÚÌÀ½ñ±þÅú¤¬¿®Íê¤Ç¤­¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ëÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ½ñ±þÅú¤¬Ã±°ì¤ÎX\&.509¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¾ÚÌÀ½ñ±þÅú¤«¤é(¥ë¡¼¥ÈCA¤Î)¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¥Á¥§¡¼¥ó¤Î³ÎΩ¤ò»î¤ß¤Þ¤¹¡£¾ÚÌÀ½ñ±þÅú¤È¡¢¾ÚÌÀ½ñ±þÅú¤Îǧ¾Ú¤Ë»ÈÍѤµ¤ì¤ë¾ÚÌÀ½ñ¤Î³¬Áع½Â¤¤Ï¡¢alias¤Î¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ò·ÁÀ®¤·¤Þ¤¹¡£¿®Íê¥Á¥§¡¼¥ó¤¬³ÎΩ¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¾ÚÌÀ½ñ±þÅú¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¾ÚÌÀ½ñ¤ò½ÐÎϤ»¤º¡¢¥æ¡¼¥¶¡¼¤Ë¸¡¾Ú¤òµá¤á¤ë¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¾ÚÌÀ½ñ±þÅú¤Î¿®ÍêÀ­¤òȽÃǤ¹¤ë¤Î¤ÏÈó¾ï¤ËÆñ¤·¤¤¤¿¤á¤Ç¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¾ÚÌÀ½ñ±þÅú¤¬PKCS#7·Á¼°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤Þ¤¿¤Ï°ìÏ¢¤ÎX\&.509¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç¡¢¥Á¥§¡¼¥ó¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¾ÚÌÀ½ñ¤¬ºÇ½é¤Ë¡¢0°Ê¾å¤ÎCA¾ÚÌÀ½ñ¤¬¤½¤Î¼¡¤Ë¤¯¤ë¤è¤¦¤Ëʤ٤é¤ì¤Þ¤¹¡£¥Á¥§¡¼¥ó¤¬¼«¸Ê½ð̾¤Î¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤Ç½ª¤ï¤ê¡¢\fI \-trustcacerts\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¤½¤Î¾ÚÌÀ½ñ¤È¡¢¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤­¤ë¤¹¤Ù¤Æ¤Î¾ÚÌÀ½ñ¤ò¾È¹ç¤·¤è¤¦¤È¤·¤Þ¤¹¡£¥Á¥§¡¼¥ó¤¬¼«¸Ê½ð̾¤Î¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤Ç½ª¤ï¤Ã¤Æ¤ª¤é¤º¡¢\fI\-trustcacerts\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\fIkeytool\fR¥³¥Þ¥ó¥É¤Ï¡¢¥­¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï\fIcacerts\fR¥­¡¼¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤­¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¤Î¥ë¡¼¥ÈCA¾ÚÌÀ½ñ¤ò¸«¤Ä¤±¤Æ¤½¤ì¤ò¥Á¥§¡¼¥ó¤ÎËöÈø¤ËÄɲ䷤褦¤È¤·¤Þ¤¹¡£¤½¤Î¾ÚÌÀ½ñ¤¬¸«¤Ä¤«¤é¤º¡¢\fI\-noprompt\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Á¥§¡¼¥óÆâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ¤Î¾ðÊ󤬽ÐÎϤµ¤ì¡¢¥æ¡¼¥¶¡¼¤Ï³Îǧ¤òµá¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +¾ÚÌÀ½ñ±þÅúÆâ¤Î¸ø³«¸°¤¬\fIalias\fR¤Ç¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Î¸ø³«¸°¤Ë°ìÃפ·¤¿¾ì¹ç¡¢¸Å¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤¬±þÅúÆâ¤Î¿·¤·¤¤¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£°ÊÁ°¤Î¾ÚÌÀ½ñ¥Á¥§¡¼¥ó¤òÍ­¸ú¤Ê\fIkeypass\fR¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ï¡¢¥¨¥ó¥È¥ê¤ÎÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤Î¤ß¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥­¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ +.PP +¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï\fI\-import\fR¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢°ú¤­Â³¤­¸Å¤¤Ì¾Á°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£º£¸å¤Ï¡¢¿·¤·¤¤Ì¾Á°\fI\-importcert\fR¤¬Í¥À褵¤ì¤Þ¤¹¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jarsigner(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/tutorial/security/index\&.html¤Ë¤¢¤ë +¡Ö¥³¡¼¥¹: Java SE¤Î¥»¥­¥å¥ê¥Æ¥£µ¡Ç½¡× +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 b/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 index 89b6f6c3be4..f8bdb8ebd49 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 @@ -1,72 +1,98 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH native2ascii 1 "07 May 2011" - -.LP -.SH "̾Á°" -native2ascii \- ¥Í¥¤¥Æ¥£¥Ö \- ASCII ¥³¥ó¥Ð¡¼¥¿ -.LP -.LP -¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Îʸ»ú¤Î¥Õ¥¡¥¤¥ë¤ò ASCII ¤Þ¤¿¤Ï Unicode ¥¨¥¹¥±¡¼¥×¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£¤½¤ÎµÕ¤ÎÊÑ´¹¤â¹Ô¤¤¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: native2ascii +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¹ñºÝ²½¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "native2ascii" "1" "2013ǯ11·î21Æü" "JDK 8" "¹ñºÝ²½¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +native2ascii \- ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëǤ°Õ¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Îʸ»ú¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò¡¢ASCII¤ª¤è¤ÓUnicode¤Ç¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Æ(¤Þ¤¿¤Ï¤½¤ÎµÕ)¡¢¥í¡¼¥«¥é¥¤¥º²Äǽ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f4native2ascii\fP\f2 [options] [inputfile [outputfile]]\fP -.fl +\fInative2ascii\fR [ \fIinputfile\fR ] [ \fIoutputfile\fR ] .fi - -.LP -.SH "ÀâÌÀ" -.LP -.LP -\f2native2ascii\fP Java ¼Â¹Ô´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢ASCII ¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£ASCII ʸ»ú¥»¥Ã¥È¤Î°ìÉô¤Ç¤Ê¤¤¤¹¤Ù¤Æ¤Îʸ»ú¤Ç Unicode ¥¨¥¹¥±¡¼¥× (¡Ö\\uxxxx¡×¤Îɽµ­) ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥×¥í¥»¥¹¤Ï¡¢ISO\-8859\-1 ʸ»ú¥»¥Ã¥È¤Ë´Þ¤Þ¤ì¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¥×¥í¥Ñ¥Æ¥£¡¼¥Õ¥¡¥¤¥ë¤ÇɬÍפǤ¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢¤½¤ÎµÕ¤ÎÊÑ´¹¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2outputfile\fP ¤ò¾Êά¤·¤¿¾ì¹ç¡¢É¸½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢ \f2inputfile\fP ¤ò¾Êά¤·¤¿¾ì¹ç¡¢É¸½àÆþÎϤ«¤éÆþÎϤµ¤ì¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-reverse -µÕ¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ISO\-8859\-1 ¤Ç Unicode ¥¨¥¹¥±¡¼¥×¤ò»È¤Ã¤Æ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢Java ¼Â¹Ô´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£ -.br -.br -.TP 3 -\-encoding encoding_name -ÊÑ´¹½èÍý¤Ç»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° ( \f2java.nio.charset.Charset.defaultCharset\fP ¥á¥½¥Ã¥É¤ÇÄêµÁ¤µ¤ì¤ë) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ \f2encoding_name\fP ʸ»úÎó¤Ï¡¢ -.na -\f4¡Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëʸ»úÎ󥨥󥳡¼¥Ç¥£¥ó¥°¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html¥É¥­¥å¥á¥ó¥È¤Ë¼¨¤µ¤ì¤Æ¤¤¤ë¡¢Java ¼Â¹Ô´Ä¶­¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.br -.br -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.if n \{\ .RE - -.LP - +.\} +.PP +\fIinputfile\fR +.RS 4 +ASCII¤ËÊÑ´¹¤¹¤ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡£ +.RE +.PP +\fIoutputfile\fR +.RS 4 +ÊÑ´¹¤µ¤ì¤¿ASCII¥Õ¥¡¥¤¥ë¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fInative2ascii\fR¥³¥Þ¥ó¥É¤Ï¡¢ASCII¥­¥ã¥é¥¯¥¿¡¦¥»¥Ã¥È¤Ë´Þ¤Þ¤ì¤Ê¤¤¤¹¤Ù¤Æ¤Îʸ»ú¤ËUnicode¥¨¥¹¥±¡¼¥×(\fI\eu\fR\fIxxxx\fR)ɽµ­Ë¡¤ò»ÈÍѤ·¤Æ¡¢Java Runtime Environment (JRE)¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢ASCII¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£¤³¤Î¥×¥í¥»¥¹¤Ï¡¢ISO\-8859\-1ʸ»ú¥»¥Ã¥È¤Ë´Þ¤Þ¤ì¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¥×¥í¥Ñ¥Æ¥£¡¦¥Õ¥¡¥¤¥ë¤ÇɬÍפǤ¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢¤½¤ÎµÕ¤ÎÊÑ´¹¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ +.PP +\fIoutputfile\fRÃͤò¾Êά¤·¤¿¾ì¹ç¡¢É¸½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢\fIinputfile\fRÃͤò¾Êά¤·¤¿¾ì¹ç¡¢É¸½àÆþÎϤ«¤éÆþÎϤµ¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-reverse +.RS 4 +µÕ¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ISO\-8859\-1¤ÇUnicode¥¨¥¹¥±¡¼¥×¤ò»ÈÍѤ·¤Æ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢JRE¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£ +.RE +.PP +\-encoding \fIencoding_name\fR +.RS 4 +ÊÑ´¹½èÍý¤Ç»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°(\fIjava\&.nio\&.charset\&.Charset\&.defaultCharset\fR¥á¥½¥Ã¥É¤ÇÄêµÁ¤µ¤ì¤¿)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£\fIencoding_name\fRʸ»úÎó¤Ï¡¢JRE¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î̾Á°¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/intl/encoding\&.doc\&.html¤Ë¤¢¤ë +¡Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó(JVM)¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 index b78927f5655..849257b14e2 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 @@ -1,368 +1,277 @@ -." Copyright (c) 2001, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH orbd 1 "07 May 2011" - -.LP -.SH "̾Á°" -orbd \- The Object Request Broker Daemon -.LP -.LP -\f3orbd\fP ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é CORBA ´Ä¶­¤Î¥µ¡¼¥Ð¡¼¤Ë¤¢¤ë»ý³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤Ë¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤¹¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£ -.LP -.LP -\f3´ØÏ¢¹àÌÜ:\fP -.na -\f2¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: orbd +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "orbd" "1" "2013ǯ11·î21Æü" "JDK 8" "Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +orbd \- CORBA´Ä¶­¤Î¥µ¡¼¥Ð¡¼¤Ë¤¢¤ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¯¥é¥¤¥¢¥ó¥È¤«¤é¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -orbd <\fP\f3options\fP\f3> -.fl -\fP +\fIorbd\fR [ \fIoptions\fR ] .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3orbd\fP ¥Ä¡¼¥ë¤Ë´Þ¤Þ¤ì¤ë¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ò»È¤¦¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï CORBA ´Ä¶­¤Ç¥µ¡¼¥Ð¡¼¾å¤Ë¤¢¤ë»ý³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤Ë¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ý³¥µ¡¼¥Ð¡¼¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ë»ý³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òȯ¹Ô¤¹¤ëºÝ¡¢¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ÎÂå¤ï¤ê¤Ë OBRD ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë´Þ¤á¤Þ¤¹¡£»ý³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë ORBD ¥Ý¡¼¥ÈÈÖ¹æ¤ò´Þ¤á¤ë¤³¤È¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ë¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤¬¡¢¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¥¿¥¤¥à¤È̵´Ø·¸¤Ë¤Ê¤ë¡£¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¡¢»Ï¤á¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤È¤­¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¥µ¡¼¥Ð¡¼¤Ë¤è¤ê¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤Î¸å¤Ï¡¢¥µ¡¼¥Ð¡¼¤Î³«»Ï¤Þ¤¿¤Ï¥·¥ã¥Ã¥È¥À¥¦¥ó¤Î²ó¿ô¤Ë¤«¤«¤ï¤é¤º¡¢ORBD ¤¬¤¤¤Ä¤Ç¤â¸Æ¤Ó½Ð¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤ËÀµ¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òÊÖ¤·¤Þ¤¹¡£ -.TP 2 -o -¥¯¥é¥¤¥¢¥ó¥È¤Ï°ìÅÙ¤À¤±¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¥ë¥Ã¥¯¥¢¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ë¤¬¡¢¤½¤Î¸å¤Ï¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¥¿¥¤¥à¤Ë¤è¤ëÊѹ¹¤È¤Ï̵´Ø·¸¤Ë¤³¤Î»²¾È¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë +.PP +\fIorbd\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢CORBA´Ä¶­¤Î¥µ¡¼¥Ð¡¼¤Ë¤¢¤ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¯¥é¥¤¥¢¥ó¥È¤«¤éÆ©²áŪ¤Ë¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£orbd¥Ä¡¼¥ë¤Ë´Þ¤Þ¤ì¤ë¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤ÏCORBA´Ä¶­¤Ç¥µ¡¼¥Ð¡¼¾å¤Ë¤¢¤ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤Ë¸¡º÷¤·¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£±Ê³¥µ¡¼¥Ð¡¼¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ë±Ê³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òȯ¹Ô¤¹¤ëºÝ¡¢¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î¤«¤ï¤ê¤ËORBD¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë´Þ¤á¤Þ¤¹¡£±Ê³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ËORBD¥Ý¡¼¥ÈÈÖ¹æ¤ò´Þ¤á¤ë¤³¤È¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ë¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤¬¡¢¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¡¦¥µ¥¤¥¯¥ë¤È̵´Ø·¸¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¡¢½é¤á¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤È¤­¤Ï¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¥µ¡¼¥Ð¡¼¤Ë¤è¤Ã¤Æ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤Î¸å¤Ï¡¢¥µ¡¼¥Ð¡¼¤Î³«»Ï¤Þ¤¿¤Ï¥·¥ã¥Ã¥È¥À¥¦¥ó¤Î²ó¿ô¤Ë¤«¤«¤ï¤é¤º¡¢¸Æ¤Ó½Ð¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤ËORBD¤¬Àµ¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òÊÖ¤·¤Þ¤¹¡£ .RE - -.LP -.LP -ORBD ¤Î¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢servertool(1) ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£servertool ¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢¤ª¤è¤Ó¥·¥ã¥Ã¥È¥À¥¦¥ó¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¥É¥­¥å¥á¥ó¥È¤Î¡Ö¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2orbd\fP ¤òµ¯Æ°¤¹¤ë¤È¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤âµ¯Æ°¤µ¤ì¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥¯¥é¥¤¥¢¥ó¥È¤Ï°ìÅ٤Τߥ͡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¥ë¥Ã¥¯¥¢¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤Î¸å¤Ï¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¡¦¥µ¥¤¥¯¥ë¤Ë¤è¤ëÊѹ¹¤È¤Ï̵´Ø·¸¤Ë¤³¤Î»²¾È¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +ORBD¤Î¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢\fIservertool\fR¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£servertool¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥Þ¤¬¡¢±Ê³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¤ª¤è¤ÓÄä»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤Î¾ÜºÙ¤Ï¡¢¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIorbd\fR¤òµ¯Æ°¤¹¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤âµ¯Æ°¤µ¤ì¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¡£¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.SS -ɬ¿Ü¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-ORBInitialPort nameserverport -¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹¡£\f2orbd\fP ¤Ï¡¢µ¯Æ°¤µ¤ì¤ë¤È¡¢¤³¤Î¥Ý¡¼¥È¾å¤ÇÃå¿®Í×µá¤òÂÔµ¡¤·¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£(ɬ¿Ü) +.PP +\-ORBInitialPort \fInameserverport\fR +.RS 4 +ɬ¿Ü¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹¡£\fIorbd\fR¤Ï¡¢µ¯Æ°¤µ¤ì¤ë¤È¡¢¤³¤Î¥Ý¡¼¥È¾å¤ÇÃå¿®¥ê¥¯¥¨¥¹¥È¤ò¥ê¥¹¥Ë¥ó¥°¤·¤Þ¤¹¡£Oracle Solaris¥½¥Õ¥È¥¦¥§¥¢¤Ç¤Ï¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¾ì¹ç¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ .RE - -.LP -.LP - -.LP -.SS -¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-port port -ORBD ¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£ORBD ¤Ï¡¢¤³¤Î¥Ý¡¼¥È¤Ç¡¢»ý³¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ëÍ×µá¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£¤³¤Î¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1049 ¤Ç¤¹¡£¤³¤Î¥Ý¡¼¥ÈÈֹ椬¡¢»ý³ Interoperable Object References (IOR). ¤Î¥Ý¡¼¥È¥Õ¥£¡¼¥ë¥É¤ËÄɲ䵤ì¤Þ¤¹¡£(¾Êά²Ä) +.SS "ɬ¿Ü¤Ç¤Ê¤¤¥ª¥×¥·¥ç¥ó" +.PP +\-port \fIport\fR +.RS 4 +ORBD¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥Ý¡¼¥È¤Ç¡¢±Ê³¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë¥ê¥¯¥¨¥¹¥È¤òORBD¤¬¼õ¤±¼è¤ê¤Þ¤¹¡£¤³¤Î¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏ1049¤Ç¤¹¡£¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ï¡¢±Ê³Interoperable Object References (IOR)¤Î¥Ý¡¼¥È¡¦¥Õ¥£¡¼¥ë¥É¤ËÄɲ䵤ì¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-defaultdb directory -ORBD »ý³³ÊǼ¥Ç¥£¥ì¥¯¥È¥ê \f2orb.db\fP ¤¬ºîÀ®¤µ¤ì¤ë¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϡÖ./orb.db¡×¤È¤Ê¤ê¤Þ¤¹¡£(¾Êά²Ä) +.PP +\-defaultdb \fIdirectory\fR +.RS 4 +ORBD±Ê³³ÊǼ¥Ç¥£¥ì¥¯¥È¥ê\fIorb\&.db\fR¤¬ºîÀ®¤µ¤ì¤ë¥Ù¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤÏ\fI\&./orb\&.db\fR¤Ë¤Ê¤ê¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-serverPollingTime milliseconds -\f2servertool\fP ¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿»ý³¥µ¡¼¥Ð¡¼¤¬Àµ¾ï¤Ëưºî¤·¤Æ¤¤¤ë¤³¤È¤ò ORBD ¤¬³Îǧ¤¹¤ë²ó¿ô¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1,000 ¥ß¥êÉäǤ¹¡£\f2milliseconds\fP ¤Ë»ØÄꤹ¤ëÃͤϡ¢Í­¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£(¾Êά²Ä) +.PP +\-serverPollingTime \fImilliseconds\fR +.RS 4 +\fIservertool\fR¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿±Ê³¥µ¡¼¥Ð¡¼¤Î¥Ø¥ë¥¹¾õÂÖ¤òORBD¤¬¥Á¥§¥Ã¥¯¤¹¤ë´Ö³Ö¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ1000¥ß¥êÉäǤ¹¡£\fImilliseconds\fR¤Ë»ØÄꤹ¤ëÃͤϡ¢Í­¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-serverStartupDelay milliseconds -\f2servertool\fP ¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿»ý³¥µ¡¼¥Ð¡¼¤òºÆµ¯Æ°¤·¤Æ¤«¤é¡¢°ÌÃÖžÁ÷¤ÎÎã³°¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤Î ORBD ¤ÎÂÔµ¡»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1,000 ¥ß¥êÉäǤ¹¡£\f2milliseconds\fP ¤Ë»ØÄꤹ¤ëÃͤϡ¢Í­¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£(¾Êά²Ä) +.PP +\-serverStartupDelay milliseconds +.RS 4 +\fIservertool\fR¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿±Ê³¥µ¡¼¥Ð¡¼¤òºÆµ¯Æ°¤·¤Æ¤«¤é¡¢°ÌÃÖžÁ÷¤ÎÎã³°¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤ÎORBD¤ÎÂÔµ¡»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤÏ1000¥ß¥êÉäǤ¹¡£\fImilliseconds\fR¤Ë»ØÄꤹ¤ëÃͤϡ¢Í­¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 - +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.SH "¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß" -.LP -.LP -¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢ -.na -\f2CORBA ¥ª¥Ö¥¸¥§¥¯¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object¤Ë¥Í¡¼¥ß¥ó¥°¤ò²Äǽ¤Ë¤¹¤ë CORBA ¥µ¡¼¥Ó¥¹¤Ç¤¹¡£¥Í¡¼¥ß¥ó¥°¤Ï̾Á°¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤³¤È¤Ë¤è¤ê²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.na -\f2¡Ö¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ë³ÊǼ¤µ¤ì¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï̾Á°¤òÍ¿¤¨¤ÆÌÜŪ¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -ORBD ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ëÁ°¤Ëµ¯Æ°¤·¤Þ¤¹¡£ORBD ¤Ë¤Ï¡¢»ý³¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ª¤è¤Ó°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤É¤Á¤é¤â COS ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ç¤¹¡£ -.LP -.LP -\f3¡Ö»ý³¡×¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ËÂФ·¤Æ»ý³À­¤òÄ󶡤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤³¤Î¾ðÊó¤Ï¡¢¥µ¡¼¥Ó¥¹¤ÎÄä»ß¤äµ¯Æ°¸å¤Ë¤â°Ý»ý¤µ¤ì¡¢¥µ¡¼¥Ó¥¹¤Ë¾ã³²¤¬È¯À¸¤·¤¿¾ì¹ç¤Ç¤â²óÉü¤Ç¤­¤Þ¤¹¡£ORBD ¤òºÆµ¯Æ°¤¹¤ë¤È¡¢»ý³¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Î¥°¥é¥Õ¤òÉü¸µ¤·¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î̾Á°¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\ -.LP -.LP -²¼°Ì¸ß´¹À­¤Î¤¿¤á¡¢µì¥Ð¡¼¥¸¥ç¥ó¤Î JDK ¤ËƱº­¤µ¤ì¤Æ¤¤¤¿\f2°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP¤¬¡¢º£²ó¤Î¥ê¥ê¡¼¥¹¤Î J2SE ¤Ë¤âƱº­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¼Â¹ÔÃæ¤Ë¤Î¤ß¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ó¥¹¤¬ÃæÃǤµ¤ì¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ï¼º¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -\f2\-ORBInitialPort\fP °ú¿ô¤Ï¡¢\f2orbd\fP ¤Îɬ¿Ü¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤Ç¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤òÀßÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£°Ê²¼¤ÎÀâÌÀ¤Ç¤Ï¡¢JavaIDL Object Request Broker Daemon ÍѤ˥ݡ¼¥È 1050 ¤ò»ÈÍѤǤ­¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£É¬ÍפǤ¢¤ì¤ÐÊ̤Υݡ¼¥È¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤Ç \f2orbd\fP ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP +.SS "¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß" +.PP +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢CORBA¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Í¡¼¥ß¥ó¥°¤ò²Äǽ¤Ë¤¹¤ëCORBA¥µ¡¼¥Ó¥¹¤Ç¤¹¡£¥Í¡¼¥ß¥ó¥°¤Ï̾Á°¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤³¤È¤Ë¤è¤ê²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¥Í¡¼¥à¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ë³ÊǼ¤¹¤ì¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Ì¾Á°¤ò»ØÄꤷ¤ÆÌÜŪ¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.PP +¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢ORBD¤òµ¯Æ°¤·¤Þ¤¹¡£ORBD¤Ë¤Ï¡¢±Ê³¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ª¤è¤Ó°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤É¤Á¤é¤âCOS¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ç¤¹¡£ +.PP +±Ê³¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ËÂФ·¤Æ±Ê³À­¤òÄ󶡤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤³¤Î¾ðÊó¤Ï¡¢¥µ¡¼¥Ó¥¹¤ÎÄä»ß¤äµ¯Æ°¸å¤Ë¤â°Ý»ý¤µ¤ì¡¢¥µ¡¼¥Ó¥¹¤Ë¾ã³²¤¬È¯À¸¤·¤¿¾ì¹ç¤Ç¤â²óÉü¤Ç¤­¤Þ¤¹¡£ORBD¤òºÆµ¯Æ°¤¹¤ë¤È¡¢±Ê³¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î¥°¥é¥Õ¤òÉü¸µ¤·¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î̾Á°¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤½¤Î¤Þ¤Þ(±Ê³Ū¤Ë)ÊÝ»ý¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.PP +²¼°Ì¸ß´¹À­¤Î¤¿¤á¡¢µì¥ê¥ê¡¼¥¹¤ÎJDK¤ËƱº­¤µ¤ì¤Æ¤¤¤¿°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹\fItnameserv\fR¤¬¡¢º£²ó¤Î¥ê¥ê¡¼¥¹¤ÎJava SE¤Ë¤âƱº­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£°ì»þ¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤Ï¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Î¼Â¹ÔÃæ¤Ë¤Î¤ß¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ó¥¹¤¬ÃæÃǤµ¤ì¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¡¦¥°¥é¥Õ¤Ï¼º¤ï¤ì¤Þ¤¹¡£ +.PP +\fI\-ORBInitialPort\fR°ú¿ô¤Ï¡¢\fIorbd\fR¤Îɬ¿Ü¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Ç¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤òÀßÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¼¡¤Î¼ê½ç¤Ç¤Ï¡¢Java IDL Object Request Broker DaemonÍѤ˥ݡ¼¥È1050¤ò»ÈÍѤǤ­¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£Oracle Solaris¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£É¬ÍפǤ¢¤ì¤ÐÊ̤Υݡ¼¥È¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +UNIX¥³¥Þ¥ó¥É¡¦¥·¥§¥ë¤Ç\fIorbd\fR¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - orbd \-ORBInitialPort 1050& -.fl -\fP +orbd \-ORBInitialPort 1050& .fi - -.LP -.LP -Windows ¤Î MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +Windows¤ÎMS\-DOS¥·¥¹¥Æ¥à¡¦¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - start orbd \-ORBInitialPort 1050 -.fl -\fP +start orbd \-ORBInitialPort 1050 .fi - -.LP -.LP -¤³¤ì¤Ç ORBD ¤¬¼Â¹Ô¤µ¤ì¡¢¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¼Â¹Ô»þ¤Ë¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ (ɬÍפʾì¹ç¤Ï¤µ¤é¤Ë¥Þ¥·¥ó̾) ¤òǧ¼±¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¼Â¸½¤¹¤ë 1 ¤Ä¤ÎÊýË¡¤Ï¡¢¼¡¤Î¥³¡¼¥É¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÄɲ乤뤳¤È¤Ç¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤ì¤ÇORBD¤¬¼Â¹Ô¤µ¤ì¡¢¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¼Â¹Ô»þ¤Ë¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ(ɬÍפʾì¹ç¤Ï¤µ¤é¤Ë¥Þ¥·¥ó̾)¤òǧ¼±¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¼Â¸½¤¹¤ë1¤Ä¤ÎÊýË¡¤Ï¡¢¼¡¤Î¥³¡¼¥É¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÄɲ乤뤳¤È¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - Properties props = new Properties(); -.fl - props.put("org.omg.CORBA.ORBInitialPort", "1050"); -.fl - props.put("org.omg.CORBA.ORBInitialHost", "MyHost"); -.fl - ORB orb = ORB.init(args, props); -.fl -\fP +Properties props = new Properties(); +props\&.put("org\&.omg\&.CORBA\&.ORBInitialPort", "1050"); +props\&.put("org\&.omg\&.CORBA\&.ORBInitialHost", "MyHost"); +ORB orb = ORB\&.init(args, props); .fi - -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Û¥¹¥È MyHost ¤Î¥Ý¡¼¥È 1050 ¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Ê̤ÎÊýË¡¤È¤·¤Æ¡¢¥³¥Þ¥ó¥É¹Ô¤«¤é¥µ¡¼¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥Ý¡¼¥ÈÈÖ¹æ¤Þ¤¿¤Ï¥Þ¥·¥ó̾¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤ò»ØÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¡ÖHelloApplication¡×¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢¥Û¥¹¥È\fIMyHost\fR¤Î¥Ý¡¼¥È1050¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Ê̤ÎÊýË¡¤È¤·¤Æ¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¥µ¡¼¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢¥Ý¡¼¥ÈÈÖ¹æ¤Þ¤¿¤Ï¥Þ¥·¥ó̾¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤ò»ØÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\fIHelloApplication\fR¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - java HelloApplication \-ORBInitialPort 1050 \-ORBInitialHost MyHost -.fl -\fP +java HelloApplication \-ORBInitialPort 1050 \-ORBInitialHost MyHost .fi - -.LP -.LP -¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Å¬Àڤʥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Solaris ¾å¤Ç \f2pkill orbd\fP \f2¤ò¼Â¹Ô¤·¤¿¤ê¡¢\fP \f2orbd\fP ¤¬Æ°ºîÃæ¤Î DOS ¥¦¥£¥ó¥É¥¦¤Ç Ctrl+C ¥­¡¼¤ò²¡¤·¤¿¤ê¤·¤Þ¤¹¡£°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¾ì¹ç¤Ï¡¢¥µ¡¼¥Ó¥¹¤¬½ªÎ»¤µ¤ì¤ë¤È¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤¿Ì¾Á°¤¬¾Ãµî¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢ÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -ORDB ¤Ë´Þ¤Þ¤ì¤ë¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼" -.LP -.LP -ORBD ¤Î¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤Ë¥¢¥¯¥»¥¹¤·¤Æ»ý³¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢servertool(1) ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£servertool ¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢¤ª¤è¤Ó¥·¥ã¥Ã¥È¥À¥¦¥ó¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£\f2servertool\fP ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¾ì¹ç¤Ï¡¢\f2orbd\fP ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤ÈƱ¤¸¥Ý¡¼¥È¤È¥Û¥¹¥È¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤ò°Û¤Ê¤ë¥Ý¡¼¥È¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¥í¡¼¥«¥ë¥³¥ó¥Æ¥­¥¹¥ÈÍѤ˥ǡ¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢¥µ¡¼¥Ó¥¹¤¬Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£ -.LP -.SS -¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼: Îã -.LP -.LP -¥Ç¥âÍѤΠ-.na -\f2¥µ¥ó¥×¥ë¥Á¥å¡¼¥È¥ê¥¢¥ë\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html¤ò»ÈÍѤ·¡¢¥Á¥å¡¼¥È¥ê¥¢¥ë¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¡¢\f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤È \f2javac\fP ¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.LP -\f2orbd\fP ¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤Ç \f2orbd\fP ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.LP -\ -.LP +.if n \{\ +.RE +.\} +.PP +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Å¬Àڤʥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡¦¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Oracle Solaris¾å¤Ç\fIpkill\fR +\fIorbd\fR¤ò¼Â¹Ô¤·¤¿¤ê¡¢\fIorbd\fR¤¬Æ°ºîÃæ¤ÎDOS¥¦¥£¥ó¥É¥¦¤Ç\fB[Ctrl]+[C]\fR¥­¡¼¤ò²¡¤·¤Þ¤¹¡£°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¾ì¹ç¤Ï¡¢¥µ¡¼¥Ó¥¹¤¬½ªÎ»¤µ¤ì¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤¿Ì¾Á°¤¬¾Ãµî¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Java IDL¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢ÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +.PP +ORBD¤ËÉÕ°¤¹¤ë¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¤Ï¡¢ +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/jidlNaming\&.html¤Î¡ÖNaming Service¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SH "¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã" +.PP +ORBD¤Î¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤Ë¥¢¥¯¥»¥¹¤·¤Æ¡¢±Ê³¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢\fIservertool\fR¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£servertool¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥Þ¤¬¡¢±Ê³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¤ª¤è¤ÓÄä»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£\fIservertool\fR¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¾ì¹ç¤Ï¡¢\fIorbd\fR¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤ÈƱ¤¸¥Ý¡¼¥È¤È¥Û¥¹¥È¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤ò°Û¤Ê¤ë¥Ý¡¼¥È¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¥í¡¼¥«¥ë¡¦¥³¥ó¥Æ¥­¥¹¥ÈÍѤ˥ǡ¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢¥µ¡¼¥Ó¥¹¤¬Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£ +.PP +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/jidlExample\&.html¤Î +¡ÖJava IDL: The "Hello World" Example¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +¤³¤ÎÎã¤Ç¤Ï¡¢¥Á¥å¡¼¥È¥ê¥¢¥ë¤Î¼ê½ç¤Ë½¾¤Ã¤Æ\fIidlj\fR¥³¥ó¥Ñ¥¤¥é¤È\fIjavac\fR¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤·¤Þ¤¹¡£ORBD¤Î¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.PP +\fIorbd\fR¤òµ¯Æ°¤·¤Þ¤¹¡£ +.PP +UNIX¥³¥Þ¥ó¥É¡¦¥·¥§¥ë¤Ç¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹: +\fIorbd \-ORBInitialPort 1050\fR¡£ +.PP +MS\-DOS¥·¥¹¥Æ¥à¡¦¥×¥í¥ó¥×¥È(Windows)¤Ç¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹: +\fIs\fR\fItart orbd \-ORBInitialPort 105\fR\fI0\fR +.PP +¥Ý¡¼¥È1050¤Ï¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¥Ý¡¼¥È¤Ç¤¹¡£\fI\-ORBInitialPort\fR¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Ç¤¹¡£Oracle Solaris¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.PP +\fIservertool\fR¤òµ¯Æ°¤·¤Þ¤¹: +\fIservertool \-ORBInitialPort 1050\fR¡£ +.PP +Á°²ó¤Î¼ê½ç¤È¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼(\fIorbd\fR)¤Î¥Ý¡¼¥È¤¬Æ±¤¸¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð\fI\-ORBInitialPort 1050\&.\fR¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£\fIservertool\fR¤Ï¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤ÈƱ¤¸¥Ý¡¼¥È¾å¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\fIservertool\fR¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¡¢\fIservertool\fR¥×¥í¥ó¥×¥È¤«¤é\fIHello\fR¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - orbd \-ORBInitialPort 1050 -.fl -\fP -.fi - -.LP -.LP -Windows ¤Î MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - start orbd \-ORBInitialPort 1050 -.fl -\fP -.fi - -.LP -.LP -\f21050\fP ¤Ï¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¥Ý¡¼¥È¤Ç¤¹¡£\f2\-ORBInitialPort\fP ¤ÏɬÍפʥ³¥Þ¥ó¥É¹Ô¤Î°ú¿ô¤Ç¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.LP -.LP -\f2servertool\fP ¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -Hello ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - servertool \-ORBInitialPort 1050 -.fl -\fP -.fi - -.LP -.LP -Á°²ó¤Î¼ê½ç¤ÈƱÍͤ˥͡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤Î¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð \f2\-ORBInitialPort 1050\fP ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£\f2servertool\fP ¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ÈƱ¤¸¥Ý¡¼¥È¾å¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f2servertool\fP ¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.LP - -.LP -.LP -\f2servertool\fP ¥×¥í¥ó¥×¥È¤«¤é Hello ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - servertool > register \-server HelloServer \-classpath .\-applicationName -.fl +servertool > register \-server HelloServer \-classpath \&. \-applicationName HelloServerApName -.fl -\fP .fi - -.LP -.LP -\f2servertool\fP ¤Ë¤è¤Ã¤Æ¥µ¡¼¥Ð¡¼¤¬ÅÐÏ¿¤µ¤ì¤Æ¡¢¡ÖHelloServerApName¡×¤È¤¤¤¦Ì¾Á°¤¬¥µ¡¼¥Ð¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¡¢¥µ¡¼¥Ð¡¼ ID ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP -.LP - -.LP -.LP -Ê̤ÎüËö¥¦¥£¥ó¥É¥¦¤Þ¤¿¤Ï¥×¥í¥ó¥×¥È¤«¤é¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP -.LP -\ -.LP -.nf -\f3 -.fl - java HelloClient \-ORBInitialPort 1050 \-ORBInitialHost localhost -.fl -\fP -.fi - -.LP -.LP -¤³¤ÎÎã¤Î \f2\-ORBInitialHost localhost\fP ¤Ï¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬ Hello ¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ±°ì¥Û¥¹¥È¾å¤Çưºî¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬Ê̤Υۥ¹¥È¤Çưºî¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢IDL ¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤ò \f2\-ORBInitialHost\fP \f2nameserverhost\fP ¤Ç»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -Á°²ó¤Î¼ê½ç¤ÈƱÍͤ˥͡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤Î¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð \f2\-ORBInitialPort 1050\fP ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -\ -.LP -.LP -\ -.LP -.LP -¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ÎÁàºî¤¬½ªÎ»¤·¤¿¤é¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤È \f2servertool\fP ¤òÄä»ß¤¹¤ë¤«½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -DOS ¥×¥í¥ó¥×¥È¤Ç \f2orbd\fP ¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤òÁªÂò¤·¤Æ \f2Ctrl+C\fP ¤ÈÆþÎϤ·¤Þ¤¹¡£UNIX ¥·¥§¥ë¤Ç \f2orbd\fP ¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥»¥¹¤ò¸¡½Ð¤·¤Æ½ªÎ» (kill) ¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤òÌÀ¼¨Åª¤ËÄä»ß¤¹¤ë¤Þ¤Ç¤Ï¡¢¸Æ¤Ó½Ð¤·ÂÔµ¡¾õÂÖ¤¬Â³¤­¤Þ¤¹¡£ -.LP -.LP -\f2servertool\fP ¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢ \f2quit\fP ¤ÈÆþÎϤ·¤Æ¥­¡¼¥Ü¡¼¥É¤Î \f2Enter\fP ¥­¡¼¤ò²¡¤·¤Þ¤¹¡£ -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -.na -\f2¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html -.br -.TP 2 -o -servertool(1) +.if n \{\ +.RE +.\} +.PP +\fIservertool\fR¤Ë¤è¤Ã¤Æ¥µ¡¼¥Ð¡¼¤¬ÅÐÏ¿¤µ¤ì¤Æ¡¢\fIHelloServerApName\fR¤È¤¤¤¦Ì¾Á°¤¬¥µ¡¼¥Ð¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¡¢ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¡¼°ìÍ÷¤È¤È¤â¤Ë¥µ¡¼¥Ð¡¼ID¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£Â¾¤ÎüËö¥¦¥£¥ó¥É¥¦¤Þ¤¿¤Ï¥×¥í¥ó¥×¥È¤«¤é¥¯¥é¥¤¥¢¥ó¥È¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +java HelloClient \-ORBInitialPort 1050 \-ORBInitialHost localhost +.fi +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Î\fI\-ORBInitialHost localhost\fR¤Ï¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤¬\fIHello\fR¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ±°ì¥Û¥¹¥È¾å¤Çưºî¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤¬Ê̤Υۥ¹¥È¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\-\fIORBInitialHost nameserverhost\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆIDL¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£Á°¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤¿¤È¤ª¤ê¤Ë¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼(\fIorbd\fR)¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹(Îã: +\fI\-ORBInitialPort 1050\fR)¡£ORBD¤Î¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ÎÁàºî¤¬½ªÎ»¤·¤¿¤é¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼(\fIorbd\fR)¤È\fIservertool\fR¤òÄä»ß¤¹¤ë¤«½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£MS\-DOS¥×¥í¥ó¥×¥È¤Ç\fIorbd\fR¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤òÁªÂò¤·¤Æ\fB[Ctrl]+[C]\fR¥­¡¼¤ò²¡¤·¤Þ¤¹¡£ +.PP +Oracle Solaris¤«¤é\fIorbd\fR¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥»¥¹¤ò¸¡º÷¤·¤Æ¡¢\fIkill\fR¥³¥Þ¥ó¥É¤Ç½ªÎ»¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤òÌÀ¼¨Åª¤ËÄä»ß¤¹¤ë¤Þ¤Ç¤Ï¡¢¸Æ½Ð¤·ÂÔµ¡¾õÂÖ¤¬Â³¤­¤Þ¤¹¡£\fIservertool\fR¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢\fBquit\fR¤ÈÆþÎϤ·¤Æ¥­¡¼¥Ü¡¼¥É¤Î\fB[Enter]\fR¥­¡¼¤ò²¡¤·¤Þ¤¹¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +servertool(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/jidlNaming\&.html¤Î +¡ÖNaming Service¡× .RE - -.LP .br - -.LP - +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 b/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 index b1bb4f0fe03..e4150ab54dd 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 @@ -1,362 +1,325 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH pack200 1 "07 May 2011" - -.LP -.SH "̾Á°" -pack200 \- JAR ¥Ñ¥Ã¥¯¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -½ªÎ»¥¹¥Æ¡¼¥¿¥¹ -.TP 2 -o -´ØÏ¢¹àÌÜ -.TP 2 -o -Ãí°Õ»ö¹à +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: pack200 +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "pack200" "1" "2013ǯ11·î21Æü" "JDK 8" "Java¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +pack200 \- Web¥Ç¥×¥í¥¤¥á¥ó¥È¤Î¤¿¤á¤ËJAR¥Õ¥¡¥¤¥ë¤òpack200°µ½Ì¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIpack200\fR [\fIoptions\fR] \fIoutput\-file\fR \fIJAR\-file\fR +.fi +.if n \{\ .RE - -.LP -.SH "·Á¼°" -.LP -.LP -\f4pack200\fP\f2 [ \fP\f2options\fP ] \f2output\-file\fP \f2JAR\-file\fP -.LP -.LP -¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¹Ô¤Þ¤¿¤Ï properties ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -options -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£ -.TP 3 -output\-file -½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ -.TP 3 -JAR\-file -ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.\} +.PP +¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Þ¤¿¤Ïproperties¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£ +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f2pack200\fP ¥Ä¡¼¥ë¤Ï¡¢Java gzip °µ½Ì¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ JAR ¥Õ¥¡¥¤¥ë¤ò \f2pack200\fP °µ½Ì¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë \f2Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó\fP ¤Ç¤¹¡£ \f2pack200\fP ¥Õ¥¡¥¤¥ë¤Ï¹â°µ½Ì¤Î¥Õ¥¡¥¤¥ë¤Ç¡¢ÂÓ°èÉý¤ÎÀáÌó¤ä¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤Îû½Ì¤äľÀÜÇÛÈ÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2pack200\fP ¥Ä¡¼¥ë¤Ë¤Ï¡¢°µ½Ì¥¨¥ó¥¸¥ó¤ÎÀßÄê¤äÈùÄ´À°¤ò¹Ô¤¦¥ª¥×¥·¥ç¥ó¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SS -°ìÈÌŪ¤Ê»ÈÍÑÊýË¡: -.LP -.LP -\f2% pack200 myarchive.pack.gz myarchive.jar\fP -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢ \f2¥Ç¥Õ¥©¥ë¥È¤Î pack200 ÀßÄê¤ò»ÈÍѤ·¤Æ\fP myarchive.pack.gz \f2¤¬À¸À®¤µ¤ì¤Þ¤¹\fP ¡£ -.LP +.PP +\fIoutput\-file\fR +.RS 4 +½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.RE +.PP +\fIJAR\-file\fR +.RS 4 +ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIpack200\fR¥³¥Þ¥ó¥É¤Ï¡¢Java gzip¥³¥ó¥×¥ì¥Ã¥µ¤ò»ÈÍѤ·¤ÆJAR¥Õ¥¡¥¤¥ë¤òpack200°µ½Ì¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ëJava¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£pack200¥Õ¥¡¥¤¥ë¤Ï¹â°µ½Ì¤Î¥Õ¥¡¥¤¥ë¤Ç¡¢Ä¾ÀÜ¥Ç¥×¥í¥¤¤Ç¤­¡¢ÂÓ°èÉý¤ÎÀáÌó¤ä¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤Îû½Ì¤¬²Äǽ¤Ç¤¹¡£ +.PP +\fIpack200\fR¥³¥Þ¥ó¥É¤Ë¤Ï¡¢°µ½Ì¥¨¥ó¥¸¥ó¤ÎÀßÄê¤äÈùÄ´À°¤ò¹Ô¤¦¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£°ìÈÌŪ¤Ê»ÈÍÑÊýË¡¤ò¼¡¤ÎÎã¤Ë¼¨¤·¤Þ¤¹¡£\fImyarchive\&.pack\&.gz\fR¤¬¥Ç¥Õ¥©¥ë¥È¤Î\fIpack200\fR¥³¥Þ¥ó¥ÉÀßÄê¤ÇºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pack200 myarchive\&.pack\&.gz myarchive\&.jar +.fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f4\-r \-\-repack\fP -.LP -.LP -¥Õ¥¡¥¤¥ë \f2myarchive.jar\fP ¤ò¥Ñ¥Ã¥¯¤·¤¿¤¢¤È¥¢¥ó¥Ñ¥Ã¥¯¤¹¤ë¤³¤È¤Ç¡¢JAR ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï \f2jarsigner(1)\fP ¥Ä¡¼¥ë¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ -.LP -.LP -\f2% pack200 \-\-repack myarchive\-packer.jar myarchive.jar\fP -.LP -.LP -\f2% pack200 \-\-repack myarchive.jar\fP -.LP -.LP -\f4\-g \-\-no\-gzip\fP -.LP -.LP -\f2pack200\fP ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤­¤Ï¡¢Å¬Àڤʰµ½Ì¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Âбþ¤¹¤ë°µ½Ì²ò½ü¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f2% pack200 \-\-no\-gzip myarchive.pack myarchive.jar\fP -.LP -.LP -\f4\-G \-\-strip\-debug\fP -.LP -.LP -½ÐÎϤ«¤é¥Ç¥Ð¥Ã¥°ÍѤΰÀ­¤òºï½ü¤·¤Þ¤¹¡£¤½¤¦¤·¤¿Â°À­¤È¤·¤Æ¤Ï¡¢ \f2SourceFile\fP¡¢ \f2LineNumberTable\fP¡¢ \f2LocalVariableTable\fP ¡¢ \f2LocalVariableTypeTable\fP ¤Ê¤É¤¬µó¤²¤é¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î°À­¤òºï½ü¤¹¤ì¤Ð¡¢¥À¥¦¥ó¥í¡¼¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥Ç¥Ð¥Ã¥¬¤Îµ¡Ç½¤ÏÀ©¸Â¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-\-keep\-file\-order\fP -.LP -.LP -ÆþÎÏ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î½ç½ø¤ò°Ý»ý¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ -.LP -.LP -\f4\-O \-\-no\-keep\-file\-order\fP -.LP -.LP -¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¤¹¤Ù¤Æ¤ÎÍ×ÁǤòʤÙÂØ¤¨¤ÆÅ¾Á÷¤·¤Þ¤¹¡£¤Þ¤¿¡¢JAR ¥Ç¥£¥ì¥¯¥È¥ê̾¤òºï½ü¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥À¥¦¥ó¥í¡¼¥É¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤Ï¤¸¤á¤È¤¹¤ë JAR ¥Õ¥¡¥¤¥ë¤ÎºÇŬ²½µ¡Ç½¤ÏÀµ¾ï¤Ëưºî¤·¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f4\-Svalue \-\-segment\-limit=\fP\f2value\fP -.LP -.LP -¤³¤ÎÃͤϡ¢³Æ¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤ÎͽÁÛ¥¿¡¼¥²¥Ã¥È¥µ¥¤¥º N (¥Ð¥¤¥Èñ°Ì) ¤Ç¤¹¡£Ã±°ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎɬÍ×¥µ¥¤¥º¤¬ -.br -N ¥Ð¥¤¥È¤òͤ¨¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ë¤ÏÆÈΩ¤·¤¿¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ÆÃ¼ì¤Ê¥±¡¼¥¹¤È¤·¤Æ¡¢Ãͤ¬ \f2\-1\fP ¤Î¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ò´Þ¤àÂ礭¤Êñ°ì¤Î¥»¥°¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢Ãͤ¬ \f20\fP ¤Î¾ì¹ç¤Ï¡¢¥¯¥é¥¹¤´¤È¤Ë¥»¥°¥á¥ó¥È¤¬ 1 ¤Ä¤º¤ÄÀ¸À®¤µ¤ì¤Þ¤¹¡£¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤¬Â礭¤¯¤Ê¤ë¤È¡¢ÃÇÊÒ²½¤¬¾¯¤Ê¤¯¤Ê¤ê°µ½ÌΨ¤¬¹â¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤Î½èÍý¤Ë¤Ï¿¤¯¤Î¥á¥â¥ê¡¼¤¬É¬ÍפǤ¹¡£ -.LP -.LP -³Æ¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤Ï¡¢¥»¥°¥á¥ó¥È¤ËÊÑ´¹¤µ¤ì¤ë¤½¤ì¤¾¤ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤Î¤Û¤«¡¢¤½¤Î̾Á°¤È¤Û¤«¤ÎÁ÷¿®¤µ¤ì¤ë¥×¥í¥Ñ¥Æ¥£¡¼¤Î¥µ¥¤¥º¤ò·×»»¤·¤Æ¿ä¬¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ï \-1 ¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¾ï¤Ëñ°ì¤Î¥»¥°¥á¥ó¥È½ÐÎÏ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¶Ëü¤ËÂ礭¤Ê½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò¥»¥°¥á¥ó¥È²½ (ʬ³ä) ¤·¤Æ¤è¤ê¾®¤µ¤Ê JAR ¤Ë¤¹¤ë¤³¤È¤ò¶¯¤¯¤ª´«¤á¤·¤Þ¤¹¡£ -.LP -.LP -¤³¤ÎÀ©¸Â¤¬²Ý¤µ¤ì¤Æ¤¤¤Ê¤¤ 10M ¥Ð¥¤¥È¤Î JAR ¥Ñ¥Ã¥¯¥Õ¥¡¥¤¥ë¤ÏÄ̾¸µ¤Î 10% ÄøÅ٤Υµ¥¤¥º¤Ë¥Ñ¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ç¤è¤êÂ礭¤Ê Java ¥Ò¡¼¥× (¥»¥°¥á¥ó¥È¤ÎÀ©¸Â¤ÎÌó 10 ÇÜ) ¤òɬÍפȤ¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f4\-Evalue \-\-effort=\fP\f2value\fP -.LP -.LP -ñ°ì¤Î 10 ¿Ê¿ôÃͤò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿°µ½ÌΨ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò°µ½Ì¤·¤Þ¤¹¡£¥ì¥Ù¥ë \f21\fP ¤Î¾ì¹ç¤Ï¡¢Èæ³ÓŪû¤¤°µ½Ì»þ´Ö¤Ç¤ä¤äÂ礭¤á¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¤¬¡¢¥ì¥Ù¥ë \f29\fP ¤Î¾ì¹ç¤Ï¡¢Èó¾ï¤ËŤ¤»þ´Ö¤¬¤«¤«¤ë¤â¤Î¤Î¡¢¤è¤ê°µ½ÌΨ¤Î¹â¤¤¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ÆÃ¼ì¤ÊÃÍ \f20\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸µ¤Î JAR ¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤Ê¤·¤ÇľÀÜ¥³¥Ô¡¼¤·¤Þ¤¹¡£JSR 200 ɸ½à¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î²òÅà¥×¥í¥°¥é¥à¤¬¡¢¤³¤ÎÆÃÊ̤ʾì¹ç¤ò¥¢¡¼¥«¥¤¥ÖÁ´ÂΤΥѥ¹¥¹¥ë¡¼¤È²ò¼á¤¹¤ë¤è¤¦¤Ëµ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ï \f25\fP¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢É¸½àŪ¤Ê»þ´Ö¤ÇŬÀڤʰµ½Ì¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP -.LP -.LP -¥Ç¥Õ¥©¥ë¥ÈÃͤò¾å½ñ¤­¤·¡¢ÆþÎϾðÊó¤òÊݸ¤·¤Þ¤¹¡£Å¾Á÷¤µ¤ì¤ë¥¢¡¼¥«¥¤¥Ö¤Î¥µ¥¤¥º¤ÏÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£ÊÖ¤µ¤ì¤ëÃͤϼ¡¤Î¤É¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -true -.TP 3 -false -¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ò½ÐÎÏ¥¢¡¼¥«¥¤¥Ö¤ËÀßÄꤷ¤Þ¤¹¡£¥¢¡¼¥«¥¤¥ÖÍ×ÁǤθġ¹¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ÏžÁ÷¤·¤Þ¤»¤ó¡£ +.PP +\-r, \-\-repack +.RS 4 +JAR¥Õ¥¡¥¤¥ë¤ò¥Ñ¥Ã¥¯¤·¤¿¸å¥¢¥ó¥Ñ¥Ã¥¯¤·¤Æ¡¢JAR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï\fIjarsigner\fR(1)¥Ä¡¼¥ë¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢myarchive\&.jar¥Õ¥¡¥¤¥ë¤ò¥Ñ¥Ã¥¯¤·¤¿¸å¡¢¥¢¥ó¥Ñ¥Ã¥¯¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pack200 \-\-repack myarchive\-packer\&.jar myarchive\&.jar +pack200 \-\-repack myarchive\&.jar +.fi +.if n \{\ .RE - -.LP -.RS 3 -.TP 3 -keep -ÆþÎÏ JAR.Æâ¤Ç¸«¤Ä¤«¤Ã¤¿¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ò°Ý»ý¤·¤Þ¤¹¡£(¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£) +.\} +¼¡¤ÎÎã¤Ç¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î½ç½ø¤òÊÝ»ý¤·¤Þ¤¹¡£ .RE - -.LP -.LP -\f4\-mvalue \-\-modification\-time=\fP\f2value\fP -.LP -.LP -ÊÖ¤µ¤ì¤ëÃͤϼ¡¤Î¤É¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -latest -¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¸µ¤Î¥¢¡¼¥«¥¤¥Ö¤ÎÁ´¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤«¡¢¤½¤Î¥»¥°¥á¥ó¥È¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤òÆÃÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡£¤³¤Îñ°ì¤ÎÃͤϥ»¥°¥á¥ó¥È¤Î°ìÉô¤È¤·¤ÆÅ¾Á÷¤µ¤ì¡¢³Æ¥»¥°¥á¥ó¥È¤ÎÁ´¥¨¥ó¥È¥ê¤ËŬÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤Ëñ°ì¤ÎÆüÉÕ¤¬ÀßÄꤵ¤ì¤ë¤È¤¤¤¦ÌäÂê¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¥¢¡¼¥«¥¤¥Ö¤ÎžÁ÷¥µ¥¤¥º¤ò¾¯¤·¾®¤µ¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.TP 3 -keep -ÆþÎÏ JAR. Æâ¤Ç¸«¤Ä¤«¤Ã¤¿Êѹ¹»þ¹ï¤ò°Ý»ý¤·¤Þ¤¹¡£(¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£) +.PP +\-g, \-\-no\-gzip +.RS 4 +\fIpack200\fR¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤­¤Ï¡¢Å¬Àڤʰµ½Ì¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Âбþ¤¹¤ë°µ½Ì²ò½ü¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pack200 \-\-no\-gzip myarchive\&.pack myarchive\&.jar +.fi +.if n \{\ .RE - -.LP -.LP -\f4\-Pfile \-\-pass\-file=\fP\f2file\fP -.LP -.LP -¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤»¤º¡¢¥Ð¥¤¥Èñ°Ì¤ÇžÁ÷¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤·»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¥»¥Ñ¥ì¡¼¥¿¤¬ JAR ¥Õ¥¡¥¤¥ë¥»¥Ñ¥ì¡¼¥¿¡Ö\f2/\fP¡×¤ËÃÖ¤­´¹¤¨¤é¤ì¤ëÅÀ¤ò½ü¤­¡¢¥Ñ¥¹Ì¾¤ÎÊÑ´¹¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£ ·ë²Ì¤È¤·¤ÆÆÀ¤é¤ì¤ë¥Õ¥¡¥¤¥ë̾¤Ï¡¢Ê¸»úÎó¤È¤·¤ÆÀµ³Î¤Ë JAR ¥Õ¥¡¥¤¥ë¤Ç¤Î½Ð¸½¤È°ìÃפ·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£file ¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬Å¾Á÷¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-Uaction \-\-unknown\-attribute=\fP\f2action\fP -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÉÔÌÀ¤Ê°À­¤ò´Þ¤à¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¥¢¥¯¥·¥ç¥ó¤ÇžÁ÷¤·¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃÍ: -.LP -.RS 3 -.TP 3 -error -\f2pack200\fP ¤ÎÁàºî¤Ë¼ºÇÔ¤·¡¢Å¬ÀڤʲòÀ⤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.TP 3 -strip -°À­¤Ï¥É¥í¥Ã¥×¤µ¤ì¤Þ¤¹¡£Ãí: VM ɬ¿Ü°À­¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¥í¡¼¥À¡¼¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -pass -¤³¤Î°À­¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤ¬ 1 ¤Ä¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆÅ¾Á÷¤µ¤ì¤Þ¤¹¡£ +.\} .RE - -.LP -.LP -\f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP -.br -\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP -.br -\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP -.br -\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP -.LP -.LP -¤³¤ì¤é 4 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥¯¥é¥¹¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ë Class °À­¡¢Field °À­¡¢Method °À­¡¢Code °À­¤Ê¤É¤Î°À­¤Î¥ì¥¤¥¢¥¦¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£attribute\-name ¤Ë¤Ï¡¢¤³¤ì¤«¤é¥ì¥¤¥¢¥¦¥È¤Þ¤¿¤Ï¥¢¥¯¥·¥ç¥ó¤òÄêµÁ¤¹¤ë°À­¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃÍ: -.LP -.RS 3 -.TP 3 -some\-layout\-string -¥ì¥¤¥¢¥¦¥È¸À¸ì¤Ï¡¢JSR 200 »ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -Îã: \f2\-\-class\-attribute=SourceFile=RUH\fP -.TP 3 -error -¤³¤Î°À­¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢pack200 ¤ÎÁàºî¤Ë¼ºÇÔ¤·¡¢Å¬ÀڤʲòÀ⤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£ -.TP 3 -strip -¤³¤Î°À­¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢Â°À­¤Ï½ÐÎϤ«¤éºï½ü¤µ¤ì¤Þ¤¹¡£Ãí: VM ɬ¿Ü°À­¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¥í¡¼¥À¡¼¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +\-G, \-\-strip\-debug +.RS 4 +½ÐÎϤ«¤é¥Ç¥Ð¥Ã¥°Â°À­¤òºï½ü¤·¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢\fISourceFile\fR¡¢\fILineNumberTable\fR¡¢\fILocalVariableTable\fR¡¢\fILocalVariableTypeTable\fR¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î°À­¤òºï½ü¤¹¤ì¤Ð¡¢¥À¥¦¥ó¥í¡¼¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥Ç¥Ð¥Ã¥¬¤Îµ¡Ç½¤ÏÀ©¸Â¤µ¤ì¤Þ¤¹¡£ .RE - -.LP -.LP -Îã: \f2\-\-class\-attribute=CompilationID=pass\fP ¤È¤¤¤¦¤³¤Î°À­¤ò´Þ¤à¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òžÁ÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¤½¤Î¾¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¤¤Þ¤»¤ó¡£ -.LP -.LP -\f4\-f\fP\f2 \fP\f2pack.properties\fP \f3\-\-config\-file=\fP\f2pack.properties\fP -.LP -.LP -¥³¥Þ¥ó¥É¹Ô¤Ë¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤ò½é´ü²½¤¹¤ë¤¿¤á¤Î Java ¥×¥í¥Ñ¥Æ¥£¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2% pack200 \-f pack.properties myarchive.pack.gz myarchive.jar\fP -.br -\f2% more pack.properties\fP -.br -\f2# Generic properties for the packer.\fP -.br -\f2modification.time=latest\fP -.br -\f2deflate.hint=false\fP -.br -\f2keep.file.order=false\fP -.br -\f2# This option will cause the files bearing new attributes to\fP -.br -\f2# be reported as an error rather than passed uncompressed.\fP -.br -\f2unknown.attribute=error\fP -.br -\f2# Change the segment limit to be unlimited.\fP -.br -\f2segment.limit=\-1\fP -.LP -.LP -\f4\-v \-\-verbose\fP -.LP -.LP -ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-q \-\-quiet\fP -.LP -.LP -¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ëưºî¤·¤Þ¤¹¡£ -.LP -.LP -\f4\-lfilename \-\-log\-file=\fP\f2filename\fP -.LP -.LP -½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f4\-? \-h \-\-help\fP -.LP -.LP +.PP +\-\-keep\-file\-order +.RS 4 +ÆþÎÏ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î½ç½ø¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£ +.RE +.PP +\-O, \-\-no\-keep\-file\-order +.RS 4 +¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢¤¹¤Ù¤Æ¤ÎÍ×ÁǤòʤÙÂØ¤¨¤ÆÁ÷¿®¤·¤Þ¤¹¡£¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢JAR¥Ç¥£¥ì¥¯¥È¥ê̾¤òºï½ü¤·¤Æ¥À¥¦¥ó¥í¡¼¥É¡¦¥µ¥¤¥º¤òºï¸º¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ê¤É¡¢ÆÃÄê¤ÎJAR¥Õ¥¡¥¤¥ë¤ÎºÇŬ²½µ¡Ç½¤¬Àµ¾ï¤Ëưºî¤·¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-S\fIvalue\fR, \-\-segment\-limit=\fIvalue\fR +.RS 4 +¤³¤ÎÃͤϡ¢³Æ¥¢¡¼¥«¥¤¥Ö¡¦¥»¥°¥á¥ó¥È¤ÎͽÁÛ¥¿¡¼¥²¥Ã¥È¡¦¥µ¥¤¥º\fIN\fR +(¥Ð¥¤¥Èñ°Ì)¤Ç¤¹¡£Ã±°ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎɬÍ×¥µ¥¤¥º¤¬\fIN\fR¥Ð¥¤¥È¤òͤ¨¤ë¤È¡¢ÆÈΩ¤·¤¿¥»¥°¥á¥ó¥È¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ÆÃ¼ì¤Ê¥±¡¼¥¹¤È¤·¤Æ¡¢Ãͤ¬\fI\-1\fR¤Î¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ò´Þ¤àÂ礭¤Êñ°ì¤Î¥»¥°¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢Ãͤ¬0¤Î¾ì¹ç¤Ï¡¢¥¯¥é¥¹¤´¤È¤Ë¥»¥°¥á¥ó¥È¤¬1¤Ä¤º¤ÄÀ¸À®¤µ¤ì¤Þ¤¹¡£¥¢¡¼¥«¥¤¥Ö¡¦¥»¥°¥á¥ó¥È¤¬Â礭¤¯¤Ê¤ë¤È¡¢ÃÇÊÒ²½¤¬¾¯¤Ê¤¯¤Ê¤ê°µ½ÌΨ¤¬¹â¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤Î½èÍý¤Ë¤Ï¿¤¯¤Î¥á¥â¥ê¡¼¤¬É¬ÍפǤ¹¡£ +.sp +³Æ¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤Ï¡¢¥»¥°¥á¥ó¥È¤ËÊÑ´¹¤µ¤ì¤ë¤½¤ì¤¾¤ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤Î¤Û¤«¡¢¤½¤Î̾Á°¤È¾¤ÎÁ÷¿®¤µ¤ì¤ë¥×¥í¥Ñ¥Æ¥£¤Î¥µ¥¤¥º¤ò·×»»¤·¤Æ¿ä¬¤µ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ï\-1¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ïñ°ì¤Î¥»¥°¥á¥ó¥È½ÐÎÏ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¶Ëü¤ËÂ礭¤Ê½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò¥»¥°¥á¥ó¥È²½(ʬ³ä)¤·¤Æ¤è¤ê¾®¤µ¤ÊJAR¤Ë¤¹¤ë¤³¤È¤ò¶¯¤¯¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.sp +¤³¤ÎÀ©¸Â¤¬²Ý¤µ¤ì¤Æ¤¤¤Ê¤¤10 MB¤ÎJAR¥Ñ¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤ÏÄ̾Ìó10%¾®¤µ¤¯¥Ñ¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ç¤è¤êÂ礭¤ÊJava¥Ò¡¼¥×(¥»¥°¥á¥ó¥È¤ÎÀ©¸Â¤ÎÌó10ÇÜ)¤òɬÍפȤ¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-E\fIvalue\fR, \-\-effort=\fIvalue\fR +.RS 4 +ñ°ì¤Î10¿Ê¿ôÃͤò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿°µ½ÌΨ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò°µ½Ì¤·¤Þ¤¹¡£¥ì¥Ù¥ë1¤Î¾ì¹ç¤Ï¡¢Èæ³ÓŪû¤¤°µ½Ì»þ´Ö¤Ç¿¾¯Â礭¤á¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¤¬¡¢¥ì¥Ù¥ë9¤Î¾ì¹ç¤Ï¡¢Èó¾ï¤ËŤ¤»þ´Ö¤¬¤«¤«¤ë¤â¤Î¤Î¡¢¤è¤ê°µ½ÌΨ¤Î¹â¤¤¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ÆÃ¼ì¤ÊÃÍ0¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢\fIpack200\fR¥³¥Þ¥ó¥É¤Ï¸µ¤ÎJAR¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤Ê¤·¤ÇľÀÜ¥³¥Ô¡¼¤·¤Þ¤¹¡£JSR 200ɸ½à¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î²òÅà¥×¥í¥°¥é¥à¤¬¡¢¤³¤ÎÆÃÊ̤ʾì¹ç¤ò¥¢¡¼¥«¥¤¥ÖÁ´ÂΤΥѥ¹¥¹¥ë¡¼¤È²ò¼á¤¹¤ë¤è¤¦¤Ëµ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ï5¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢É¸½àŪ¤Ê»þ´Ö¤ÇŬÀڤʰµ½Ì¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +\-H\fIvalue\fR, \-\-deflate\-hint=\fIvalue\fR +.RS 4 +ÆþÎϾðÊó¤òÊݸ¤¹¤ë¤È¤¤¤¦¥Ç¥Õ¥©¥ë¥ÈÃͤò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£Å¾Á÷¤µ¤ì¤ë¥¢¡¼¥«¥¤¥Ö¤Î¥µ¥¤¥º¤ÏÂ礭¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£»ØÄê²Äǽ¤ÊÃͤϡ¢\fItrue\fR¡¢\fIfalse\fR¤Þ¤¿¤Ï\fIkeep\fR¤Ç¤¹¡£ +.sp +\fIvalue\fR¤¬\fItrue\fR¤Þ¤¿¤Ïfalse¤Î¾ì¹ç¡¢\fIpacker200\fR¥³¥Þ¥ó¥É¤Ï»ØÄê¤Ë½¾¤Ã¤Æ¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¡¦¥Ò¥ó¥È¤ò½ÐÎÏ¥¢¡¼¥«¥¤¥Ö¤ËÀßÄꤷ¤Þ¤¹¡£¥¢¡¼¥«¥¤¥ÖÍ×ÁǤθġ¹¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¡¦¥Ò¥ó¥È¤ÏžÁ÷¤µ¤ì¤Þ¤»¤ó¡£ +.sp +\fIkeep\fRÃͤϡ¢ÆþÎÏJAR¤Ç³Îǧ¤µ¤ì¤¿¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¡¦¥Ò¥ó¥È¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ +.RE +.PP +\-m\fIvalue\fR, \-\-modification\-time=\fIvalue\fR +.RS 4 +»ØÄê²Äǽ¤ÊÃͤÏ\fIlatest\fR¤È\fIkeep\fR¤Ç¤¹¡£ +.sp +Ãͤ¬ºÇ¿·¤Î¾ì¹ç¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢¸µ¤Î¥¢¡¼¥«¥¤¥Ö¤Î»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Î¤¦¤Á¤ÎºÇ½ª¹¹¿·»þ¹ï¤«¡¢¤½¤Î¥»¥°¥á¥ó¥È¤Î»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤òÆÃÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡£¤³¤Îñ°ì¤ÎÃͤϥ»¥°¥á¥ó¥È¤Î°ìÉô¤È¤·¤ÆÅ¾Á÷¤µ¤ì¡¢³Æ¥»¥°¥á¥ó¥È¤ÎÁ´¥¨¥ó¥È¥ê¤ËŬÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¦¥Õ¥¡¥¤¥ë¤Ëñ°ì¤ÎÆüÉÕ¤¬ÀßÄꤵ¤ì¤ë¤È¤¤¤¦ÌäÂê¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¥¢¡¼¥«¥¤¥Ö¤ÎžÁ÷¥µ¥¤¥º¤ò¾¯¤·¾®¤µ¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +Ãͤ¬\fIkeep\fR¤Î¾ì¹ç¡¢ÆþÎÏJAR¤Ç³Îǧ¤µ¤ì¤¿Êѹ¹»þ´Ö¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ +.RE +.PP +\-P\fIfile\fR, \-\-pass\-file=\fIfile\fR +.RS 4 +¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤»¤º¡¢¥Ð¥¤¥Èñ°Ì¤ÇžÁ÷¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«ÊÖ¤·»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥·¥¹¥Æ¥à¡¦¥Õ¥¡¥¤¥ë¡¦¥»¥Ñ¥ì¡¼¥¿¤¬JAR¥Õ¥¡¥¤¥ë¡¦¥»¥Ñ¥ì¡¼¥¿¤Î¥¹¥é¥Ã¥·¥å(/)¤ËÃÖ¤­´¹¤¨¤é¤ì¤ëÅÀ¤ò½ü¤­¡¢¥Ñ¥¹Ì¾¤ÎÊÑ´¹¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£·ë²Ì¤È¤·¤ÆÆÀ¤é¤ì¤ë¥Õ¥¡¥¤¥ë̾¤Ï¡¢Ê¸»úÎó¤È¤·¤ÆÀµ³Î¤ËJAR¥Õ¥¡¥¤¥ë¤Ç¤Î½Ð¸½¤È°ìÃפ·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIfile\fR¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬Å¾Á÷¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-U\fIaction\fR, \-\-unknown\-attribute=\fIaction\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ÉÔÌÀ¤Ê°À­¤ò´Þ¤à¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤¬¡¢»ØÄꤷ¤¿\fIaction\fR¤Ë¤è¤Ã¤ÆÅϤµ¤ì¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃͤϡ¢\fIerror\fR¡¢\fIstrip\fR¤Þ¤¿¤Ï\fIpass\fR¤Ç¤¹¡£ +.sp +Ãͤ¬\fIerror\fR¤Î¾ì¹ç¡¢\fIpack200\fR¥³¥Þ¥ó¥ÉÁàºîÁ´ÂΤ¬¼ºÇÔ¤·¤ÆÅ¬ÀÚ¤ÊÀâÌÀ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +Ãͤ¬\fIstrip\fR¤Î¾ì¹ç¡¢Â°À­¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£Java²¾ÁÛ¥Þ¥·¥ó(JVM)ɬ¿Ü°À­¤òºï½ü¤¹¤ë¤È¡¢¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.sp +Ãͤ¬\fIpass\fR¤Î¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤ¬1¤Ä¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆÅ¾Á÷¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-C\fIattribute\-name\fR=\fIlayout\fR, \-\-class\-attribute=\fIattribute\-name\fR=\fIaction\fR +.RS 4 +¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-F\fIattribute\-name\fR=\fIlayout\fR, \-\-field\-attribute=\fIattribute\-name\fR=\fIaction\fR +.RS 4 +¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-M\fIattribute\-name\fR=\fIlayout\fR, \-\-method\-attribute=\fIattribute\-name\fR=\fIaction\fR +.RS 4 +¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-D\fIattribute\-name\fR=\fIlayout\fR, \-\-code\-attribute=\fIattribute\-name\fR=\fIaction\fR +.RS 4 +Á°½Ò¤Î4¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥¯¥é¥¹¡¦¥¨¥ó¥Æ¥£¥Æ¥£¤Ë\fIclass\-attribute\fR¡¢\fIfield\-attribute\fR¡¢\fImethod\-attribute\fR¤ª¤è¤Ó\fIcode\-attribute\fR¤Ê¤É¤Î°À­¤Î¥ì¥¤¥¢¥¦¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fIattribute\-name\fR¤Ë¤Ï¡¢¤³¤ì¤«¤é¥ì¥¤¥¢¥¦¥È¤Þ¤¿¤Ï¥¢¥¯¥·¥ç¥ó¤òÄêµÁ¤¹¤ë°À­¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£\fIaction\fR¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃͤϡ¢\fIsome\-layout\-string\fR¡¢\fIerror\fR¡¢\fIstrip\fR¡¢\fIpass\fR¤Ç¤¹¡£ +.sp +\fIsome\-layout\-string\fR: ¥ì¥¤¥¢¥¦¥È¸À¸ì¤ÏJSR 200»ÅÍͤÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Îã: +\fI\-\-class\-attribute=SourceFile=RUH\fR¡£ +.sp +Ãͤ¬\fIerror\fR¤Î¾ì¹ç¡¢\fIpack200\fRÁàºî¤¬¼ºÇÔ¤·¤ÆÀâÌÀ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.sp +Ãͤ¬\fIstrip\fR¤Î¾ì¹ç¡¢Â°À­¤¬½ÐÎϤ«¤éºï½ü¤µ¤ì¤Þ¤¹¡£VMɬ¿Ü°À­¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¡¦¥í¡¼¥À¡¼¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-\-class\-attribute=CompilationID=pass\fR¤È¤¤¤¦¤³¤Î°À­¤ò´Þ¤à¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òžÁ÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤Ï¡¢¤½¤Î¾¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¤¤Þ¤»¤ó¡£ +.sp +Ãͤ¬\fIpass\fR¤Î¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤ¬1¤Ä¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆÅ¾Á÷¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-f \fIpack\&.properties\fR, \-\-config\-file=\fIpack\&.properties\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¡¢¥Ñ¥Ã¥¯¡¦¥Ä¡¼¥ë¤ò½é´ü²½¤¹¤ë¤¿¤á¤ÎJava¥×¥í¥Ñ¥Æ¥£¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¹½À®¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +pack200 \-f pack\&.properties myarchive\&.pack\&.gz myarchive\&.jar +more pack\&.properties +# Generic properties for the packer\&. +modification\&.time=latest +deflate\&.hint=false +keep\&.file\&.order=false +# This option will cause the files bearing new attributes to +# be reported as an error rather than passed uncompressed\&. +unknown\&.attribute=error +# Change the segment limit to be unlimited\&. +segment\&.limit=\-1 +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-v, \-\-verbose +.RS 4 +ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-q, \-\-quiet +.RS 4 +¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ëưºî¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-l\fIfilename\fR, \-\-log\-file=\fIfilename\fR +.RS 4 +½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-?, \-h, \-\-help +.RS 4 ¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f4\-V \-\-version\fP -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f4\-J\fP\f2option\fP -.LP -.LP -\f2option\fP ¤ò¡¢ \f2pack200\fP ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿ Java µ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï \f2\-X\fP ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢ \f2pack200\fP ¤Îɸ½à¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ \f2\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ­½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇØ¸å¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" -.LP -.LP -¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2\ 0\fP Àµ¾ï½ªÎ»¤·¤¿¾ì¹ç -.LP -.LP -\f2>0\fP ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -unpack200(1) -.TP 2 -o -.na -\f2Java SE ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/index.html -.TP 2 -o -.na -\f2¡ÖJava ÇÛÈ÷¥¬¥¤¥É \- Pack200¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html -.TP 2 -o -jar(1) \- Java Archive ¥Ä¡¼¥ë¡× -.TP 2 -o -jarsigner(1) \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë¡× -.TP 2 -o -\f2attributes(5) ¤Î\fP ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸ .RE - -.LP -.SH "Ãí°Õ»ö¹à" -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤È \f2pack(1)\fP ¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£ -.LP -.LP -SDK ¤ËÉÕ°¤¹¤ë Java SE API »ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£ -.LP - +.PP +\-V, \-\-version +.RS 4 +¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤òJava²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢java(1)¥³¥Þ¥ó¥É¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.RE +.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" +.PP +¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹: Àµ¾ï½ªÎ»¤Î¾ì¹ç¤Ï0¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï0¤è¤êÂ礭¤¤ÃÍ¡£ +.SH "Ãí°Õ" +.PP +¤³¤Î¥³¥Þ¥ó¥É¤È\fIpack\fR(1)¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£\fIpack\fR¤ª¤è¤Ó\fIpack200\fR¥³¥Þ¥ó¥É¤Ï¡¢ÊÌ¡¹¤ÎÀ½ÉʤǤ¹¡£ +.PP +JDK¤ËÉÕ°¤¹¤ëJava SE API»ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +unpack200(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jarsigner(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 index b3de7eca294..c724f7893be 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 @@ -1,105 +1,173 @@ -." Copyright (c) 2001, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH policytool 1 "07 May 2011" - -.LP -.SH "̾Á°" -policytool \- PolicyTool ´ÉÍý GUI ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼ -.LP -\f3policytool\fP ¤Ï¡¢¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼ GUI ·Ðͳ¤Ç¼èÆÀ¤·¤¿¥æ¡¼¥¶¡¼ÆþÎϤ˴ð¤Å¤¤¤Æ¡¢¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½ñ¤­¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -´ØÏ¢¹àÌÜ +'\" t +.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: policytool +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: ¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "policytool" "1" "2013ǯ11·î21Æü" "JDK 8" "¥»¥­¥å¥ê¥Æ¥£¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +policytool \- ¥æ¡¼¥Æ¥£¥ê¥Æ¥£GUI·Ðͳ¤Ç¼èÆÀ¤·¤¿¥æ¡¼¥¶¡¼ÆþÎϤ˴ð¤Å¤¤¤Æ¡¢¥×¥ì¡¼¥ó¡¦¥Æ¥­¥¹¥È¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½ñ¤­¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIpolicytool\fR [ \fI\-file\fR ] [ \fIfilename\fR ] +.fi +.if n \{\ .RE - -.LP -.SH "·Á¼°" -.LP -.RS 3 -.TP 3 -\ -.TP 3 -policytool ´ÉÍý¼Ô¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤ò¼Â¹Ô¤·¤Þ¤¹ -\f4policytool\fP -.TP 3 -policytool ¤ò¼Â¹Ô¤·¡¢»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¤Þ¤¹ -\f4policytool\fP\f2[\-file\ \fP\f2filename\fP\f2]\fP -.TP 3 -\ -.TP 3 -°Ê²¼¤Ë¤½¤ì¤¾¤ì¤Î°ÕÌ£¤ò¼¨¤·¤Þ¤¹¡£ -.RS 3 -.TP 3 -file -¥í¡¼¥«¥ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë \f2policytool\fP ¤Ë»Ø¼¨¤·¤Þ¤¹ -.TP 3 -filename -¥Õ¥¡¥¤¥ë̾ +.\} +.PP +\-file +.RS 4 +¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë\fIpolicytool\fR¤Ë»Ø¼¨¤·¤Þ¤¹¡£ .RE -.SH "ÀâÌÀ" -.LP -\f3policytool\fP ¤Ï¡¢¥æ¡¼¥¶¡¼¤¬¥í¡¼¥«¥ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò´ÉÍý¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë GUI ¤Ç¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.na -\f2¡Ö¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëºîÀ®¤ª¤è¤Ó´ÉÍý¥Ä¡¼¥ë¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.SH "¥ª¥×¥·¥ç¥ó" -.RS 3 -.TP 3 -file -\f2filename\fP ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ -.SH "´ØÏ¢¹àÌÜ" -.na -\f2¡ÖDefault Policy Implementation and Syntax¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html -.br -.na -\f2¡ÖPolicy Tool Users' Guide¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html -.br -.na -\f2¡ÖSecurity Permissions¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/permissions.html -.br -.na -\f2¡ÖSecurity Overview¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html -.br +.PP +\fIfilename\fR +.RS 4 +¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ .RE +.PP +\fBÎã\fR: +.PP +¥Ý¥ê¥·¡¼¡¦¥Ä¡¼¥ë´ÉÍý¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò¼Â¹Ô¤·¤Þ¤¹: +.sp +.if n \{\ +.RS 4 +.\} +.nf +policytool +.fi +.if n \{\ .RE - -.LP - +.\} +.PP +\fIpolicytool\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹: +.sp +.if n \{\ +.RS 4 +.\} +.nf +policytool\-file mypolicyfile +.fi +.if n \{\ +.RE +.\} +.SH "ÀâÌÀ" +.PP +\fIpolicytool\fR¥³¥Þ¥ó¥É¤Ï¡¢´ÉÍý¼Ô¤ÎGUI¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¥í¡¼¥«¥ë¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò´ÉÍý¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ï\fI\&.policy\fR³ÈÄ¥»Ò¤ò»ý¤Ä¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¡¦¥Õ¥¡¥¤¥ë¤Ç¡¢¥É¥á¥¤¥óÊ̤˥ê¥â¡¼¥È¡¦¥ê¥¯¥¨¥¹¥¿¤ò¸¢¸Â¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Þ¥Ã¥×¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/PolicyFiles\&.html¤Ë¤¢¤ë +¡ÖDefault Policy Implementation and Policy File Syntax¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-file +.RS 4 +¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë\fIpolicytool\fR¤Ë»Ø¼¨¤·¤Þ¤¹¡£ +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖDefault Policy Implementation and Policy File Syntax¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/PolicyFiles\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖPolicy File Creation and Management¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/PolicyGuide\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖPermissions in Java SE Development Kit (JDK)¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/permissions\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖJava Security Overview¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/overview/jsoverview\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖJava Cryptography Architecture (JCA) Reference Guide¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 index 621cde4c028..bca3b844f7b 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 @@ -1,231 +1,360 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH rmic 1 "07 May 2011" - -.LP -.SH "̾Á°" -rmic \- Java RMI ¥³¥ó¥Ñ¥¤¥é -.LP -.LP -\f3rmic\fP ¤Ë¤è¤Ã¤Æ¡¢JRMP ¤Þ¤¿¤Ï IIOP ¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤ª¤è¤Ó Tie ¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢OMG IDL ¤âÀ¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: rmic +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Remote Method Invocation (RMI)¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "rmic" "1" "2013ǯ11·î21Æü" "JDK 8" "Remote Method Invocation (RMI)" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +rmic \- Java Remote Method Protocol (JRMP)¤Þ¤¿¤ÏInternet Inter\-Orb protocol (IIOP)¤ò»ÈÍѤ¹¤ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¤ª¤è¤ÓTie¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£Object Management Group (OMG)¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì(IDL)¤âÀ¸À®¤·¤Þ¤¹ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -rmic [ \fP\f3options\fP\f3 ] \fP\f4package\-qualified\-class\-name(s)\fP\f3 -.fl -\fP +\fIrmic\fR [ \fIoptions\fR ] \fIpackage\-qualified\-class\-names\fR .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦\fI¥ª¥×¥·¥ç¥ó\fR¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIpackage\-qualified\-class\-names\fR +.RS 4 +¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤à¥¯¥é¥¹Ì¾¡£Îã: +\fIjava\&.awt\&.Color\fR¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3rmic\fP ¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¡¢¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë (JRMP ¥×¥í¥È¥³¥ë)¡¢¤ª¤è¤Ó¥¹¥¿¥Ö¤È Tie ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÁȤ߹ç¤ï¤» (IIOP ¥×¥í¥È¥³¥ë) ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ÂÁõ¥¯¥é¥¹¤Ç¤¢¤ë¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î¥¯¥é¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤È¤­¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¼ÂÁõ¥¯¥é¥¹¤Ï¡¢\f2java.rmi.Remote\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£\f3rmic\fP ¥³¥Þ¥ó¥É¤Ç¤Î¥¯¥é¥¹Ì¾¤Ï¡¢¤½¤Î¥¯¥é¥¹¤¬ \f3javac\fP ¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬À®¸ù¤·¤Æ¤¤¤Æ¡¢¤«¤Ä´°Á´¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬»ØÄꤵ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë̾ \f2HelloImpl\fP ¤Ç \f3rmic\fP ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.LP +.PP +\fBÈó¿ä¾©¤Ë´Ø¤¹¤ëÃí°Õ:\fR +Java Remote Method Protocol (JRMP)¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¤ÎÀÅŪ¤ÊÀ¸À®¤Î¥µ¥Ý¡¼¥È¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£Æ°Åª¤ËÀ¸À®¤µ¤ì¤ëJRMP¥¹¥¿¥Ö¤ò¤«¤ï¤ê¤Ë»ÈÍѤ·¤Æ¡¢JRMP¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤³¤Î¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍ×À­¤ò¤Ê¤¯¤¹¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢\fIjava\&.rmi\&.server\&.UnicastRemoteObject\fR»ÅÍÍ(http://docs\&.oracle\&.com/javase/8/docs/api/java/rmi/server/UnicastRemoteObject\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIrmic\fR¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Java Remote Method Protocol (JRMP)¤È¥¹¥¿¥Ö¤ª¤è¤ÓTie¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë(IIOP¥×¥í¥È¥³¥ë)¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ÂÁõ¥¯¥é¥¹¤Ç¤¢¤ë¤³¤ì¤é¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î¥¯¥é¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤È¤­¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¼ÂÁõ¥¯¥é¥¹¤Ï¡¢\fIjava\&.rmi\&.Remote\fR¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£\fIrmic\fR¥³¥Þ¥ó¥É¤Ç¤Î¥¯¥é¥¹Ì¾¤Ï¡¢¤½¤Î¥¯¥é¥¹¤¬\fIjavac\fR¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬À®¸ù¤·¤Æ¤¤¤Æ¡¢¤«¤Ä´°Á´½¤¾þ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Ë¼¨¤¹¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë̾\fIHelloImpl\fR¤Ç\fIrmic\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢hello¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê(¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î̾Á°¤ÎÉÕ¤¤¤¿)¤Ë\fIHelloImpl_Stub\&.class \fR¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -rmic hello.HelloImpl -.fl -\fP +rmic hello\&.HelloImpl .fi - -.LP -.LP -\f2HelloImpl_Stub.class\fP ¥Õ¥¡¥¤¥ë¤¬¡¢¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ÉÕ¤¤¤¿ \f2hello\fP ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¡Ö¥¹¥±¥ë¥È¥ó¡×¤Ï JRMP ¥×¥í¥È¥³¥ë¥µ¡¼¥Ð¡¼Â¦¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ç¡¢¼ÂºÝ¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¼ÂÁõ¤ò¸Æ¤Ó½Ð¤¹¥á¥½¥Ã¥É¤ò´Þ¤ß¤Þ¤¹¡£ -.LP -.LP -¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¡ÖTie¡×¤Ï¡¢¥¹¥±¥ë¥È¥ó¤ÈƱÍͤ˥µ¡¼¥Ð¡¼Â¦¤Î¥¨¥ó¥Æ¥£¥Æ¥£¡¼¤Ç¤¹¤¬¡¢IIOP ¥×¥í¥È¥³¥ë¤ò»È¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¤ÈÄÌ¿®¤·¤Þ¤¹¡£ -.LP -.LP -¡Ö¥¹¥¿¥Ö¡×¤È¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤ÎÂåÍý¤Ç¤¹¡£¥¹¥¿¥Ö¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤ò¡¢¼Âʪ¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤¬¾ïÃ󤹤륵¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ëÌò³ä¤ò»ý¤Á¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤Ï¡¢¼ÂºÝ¤Ï¥í¡¼¥«¥ë¥¹¥¿¥Ö¤Ø¤Î»²¾È¤È¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥Ç¥Õ¥©¥ë¥È¤Ç \f3rmic\fP ¤Ç¤Ï¡¢1.2 JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤À¤±¤ò»ÈÍѤ¹¤ë¥¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢\f2\-v1.2\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸Æ°ºî¤Ç¤¹¡£(5.0 °ÊÁ°¤Ç¤Ï \f2\-vcompat\fP ¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¢¤Ã¤¿¤³¤È¤ËÃí°Õ¡£IIOP ¥×¥í¥È¥³¥ëÍѤΥ¹¥¿¥Ö¤ª¤è¤Ó Tie ¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¤Ë¤Ï \f2\-iiop\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ -.LP -.LP -¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤À¤±¤ò¼ÂÁõ¤·¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤¬¼ÂÁõ¤¹¤ë¶É½ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó¡£JRMP ¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¼«ÂΤ¬¼ÂÁõ¤¹¤ë¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÈƱ¤¸¤â¤Î¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥­¥ã¥¹¥È¤ä·¿¥Á¥§¥Ã¥¯¤Ë Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ËÁȤ߹þ¤Þ¤ì¤¿±é»»»Ò¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£IIOP ¤Î¾ì¹ç¤Ï¡¢\f2PortableRemoteObject.narrow\fP ¥á¥½¥Ã¥É¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ -.LP +.if n \{\ +.RE +.\} +.PP +¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥±¥ë¥È¥ó¤ÏJRMP¥×¥í¥È¥³¥ë¡¦¥µ¡¼¥Ð¡¼Â¦¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¼ÂÁõ¤ò¸Æ¤Ó½Ð¤¹¥á¥½¥Ã¥É¤ò´Þ¤ß¤Þ¤¹¡£ +.PP +¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎTie¤Ï¡¢¥¹¥±¥ë¥È¥ó¤ÈƱÍͤ˥µ¡¼¥Ð¡¼Â¦¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¤¹¤¬¡¢IIOP¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤ÈÄÌ¿®¤·¤Þ¤¹¡£ +.PP +¥¹¥¿¥Ö¤È¤Ï¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤ÎÂåÍý¤Ç¤¹¡£¥¹¥¿¥Ö¤Ï¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥á¥½¥Ã¥É¸Æ½Ð¤·¤ò¡¢¼Âʪ¤Î¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬¾ïÃ󤹤륵¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ëÌò³ä¤ò»ý¤Á¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤Ï¡¢¼ÂºÝ¤Ï¥í¡¼¥«¥ë¡¦¥¹¥¿¥Ö¤Ø¤Î»²¾È¤È¤Ê¤ê¤Þ¤¹¡£ +.PP +¥Ç¥Õ¥©¥ë¥È¤Ç\fIrmic\fR¥³¥Þ¥ó¥É¤Ï¡¢1\&.2 JRMP¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤ò»ÈÍѤ¹¤ë¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢\fI\-v1\&.2\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸Æ°ºî¤Ç¤¹¡£¥ê¥ê¡¼¥¹5\&.0°ÊÁ°¤Ç¤Ï\fI\-vcompat\fR¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤·¤¿¡£IIOP¥×¥í¥È¥³¥ëÍѤΥ¹¥¿¥Ö¤ª¤è¤ÓTie¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¤Ë¤Ï\fI\-iiop\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤ß¤ò¼ÂÁõ¤·¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬¼ÂÁõ¤¹¤ë¥í¡¼¥«¥ë¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó¡£JRMP¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬¼ÂÁõ¤¹¤ë¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÈƱ¤¸¤â¤Î¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥­¥ã¥¹¥È¤ä·¿¥Á¥§¥Ã¥¯¤ËJava¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ËÁȤ߹þ¤Þ¤ì¤¿±é»»»Ò¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£IIOP¤Î¾ì¹ç¤Ï¡¢\fIPortableRemoteObject\&.narrow\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-bootclasspath path -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-classpath path -\f3rmic\fP ¤¬¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ä CLASSPATH ´Ä¶­ÊÑ¿ôÀßÄê¤ò¾å½ñ¤­¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2path\fP ¤Î°ìÈÌ·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.nf -\f3 -.fl -.:<your_path> -.fl -\fP -.fi -Îã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -.:/usr/local/java/classes -.fl -\fP -.fi -.TP 3 -\-d directory -À¸À®¤µ¤ì¤¿¥¯¥é¥¹³¬ÁؤνÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ë¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤ª¤è¤Ó Tie ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ»È¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl -% rmic \-d /java/classes foo.MyClass -.fl -\fP -.fi -MyClass ¤«¤é¼èÆÀ¤·¤¿ \f2¥¹¥¿¥Ö¤È¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ò\fP \f2/java/classes/foo\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤­¤Þ¤¹¡£\f2\-d\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\f2¡Ö\-d\ .¡×\fP¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸³¬Áؤ¬¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¥Õ¥¡¥¤¥ë¤¬¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£(°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î \f3rmic\fP ¤Ç¤Ï¡¢\f2\-d\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸³¬ÁؤϺîÀ®¤µ¤ì¤º¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï¤¹¤Ù¤Æ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËľÀܳÊǼ¤µ¤ì¤Æ¤¤¤¿¡£) -.br -\ -.TP 3 -\-extdirs path -¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ -.TP 3 -\-g -¶É½êÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈÖ¹æ¾ðÊó¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-idl -\f2rmic\fP ¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤ª¤è¤Ó»²¾È¤µ¤ì¤¿¥¯¥é¥¹¤Î OMG IDL ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£IDL ¤Ç¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë°Í¸¤»¤º¤Ë¡¢Àë¸À¤¹¤ë¤À¤±¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤Î API ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£IDL ¤Ï¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Î»ÅÍͤȤ·¤Æ»ÈÍѤ·¤Þ¤¹¡£CORBA ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄ󶡤¹¤ëǤ°Õ¤Î¸À¸ì¤Ç¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤ÎºîÀ®¤ª¤è¤Ó¸Æ¤Ó½Ð¤·¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¸À¸ì¤Ë¤Ï¡¢Java ¤ª¤è¤Ó C++ ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2Java Language to IDL Mapping\fP @ -.fi -http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -\f2\-idl\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤­¤Ï¡¢¤Û¤«¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 3 -\-always ¤Þ¤¿¤Ï \-alwaysgenerate -´û¸¤Î¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó IDL ¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¿·¤·¤¤¤È¤­¤Ç¤â¡¢¶¯À©Åª¤ËÀ¸À®¤·Ä¾¤·¤Þ¤¹¡£ -.TP 3 -\-factory -À¸À®¤µ¤ì¤¿ IDL ¤Ç factory ¥­¡¼¥ï¡¼¥É¤ò»È¤¤¤Þ¤¹¡£ -.TP 3 -\-idlModule\ fromJavaPackage[.class]\ toIDLModule -IDLEntity ¥Ñ¥Ã¥±¡¼¥¸¤Î¥Þ¥Ã¥×¤ò»ØÄꤷ¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£ \f2\-idlModule foo.bar my::real::idlmod\fP -.TP 3 -\-idlFile\ fromJavaPackage[.class]\ toIDLFile -IDLEntity ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ã¥×¤ò»ØÄꤷ¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£ \f2\-idlFile test.pkg.X TEST16.idl\fP\ +.PP +\-bootclasspath \fIpath\fR +.RS 4 +¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ .RE -.TP 3 -\-iiop -\f2rmic\fP ¤Ë¤è¤Ã¤Æ¡¢JRMP ¤Î¥¹¥¿¥Ö¤È¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ÎÂå¤ï¤ê¤Ë¡¢IIOP ¤Î¥¹¥¿¥Ö¤È Tie ¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥í¡¼¥«¥ë¥×¥í¥­¥·¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¡¼¤Ë¸Æ¤Ó½Ð¤·¤òÁ÷¿®¤¹¤ë¤È¤­¤Ë»È¤ï¤ì¤Þ¤¹¡£³Æ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ï¥¹¥¿¥Ö¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£¥¹¥¿¥Ö¥¯¥é¥¹¤Ë¤è¤Ã¤Æ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ç¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤¹¤ë¤È¤­¤Ï¡¢¼ÂºÝ¤Ë¤Ï¥¹¥¿¥Ö¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¥¿¥¤¥¯¥é¥¹¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¤ÇÃ可¤ò½èÍý¤·¡¢¤½¤Î¸Æ¤Ó½Ð¤·¤òŬÀڤʼÂÁõ¥¯¥é¥¹¤Ë¥Ç¥£¥¹¥Ñ¥Ã¥Á¤¹¤ë¤È¤­¤Ë»È¤ï¤ì¤Þ¤¹¡£³Æ¼ÂÁõ¥¯¥é¥¹¤Ë¤Ï¡¢¥¿¥¤¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£ -.LP -\f2\-iiop\fP ¤ò»È¤Ã¤Æ \f2rmic\fP ¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¼¡¤Î̿̾µ¬Ìó¤Ë½àµò¤·¤¿¥¹¥¿¥Ö¤È Tie ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.PP +\-classpath path +.RS 4 +\fIrmic\fR¥³¥Þ¥ó¥É¤¬¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ä\fICLASSPATH\fR´Ä¶­ÊÑ¿ôÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¥Ñ¥¹¤Î°ìÈÌŪ¤Ê·Á¼°¤Ï\fI\&.;<your_path>\fR¤Ç¤¹¡£Îã: +\fI\&.;/usr/local/java/classes\fR +.RE +.PP +\-d \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤¿¥¯¥é¥¹³¬ÁؤνÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ë¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤ª¤è¤ÓTie¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ÏMyClass¤«¤éƳ½Ð¤µ¤ì¤¿¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤ò¥Ç¥£¥ì¥¯¥È¥ê/java/classes/exampleclass¤Ë³ÊǼ¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -_<implementationName>_stub.class -.fl -\fP -.br -\f3 -.fl -_<interfaceName>_tie.class -.fl -\fP +rmic \-d /java/classes exampleclass\&.MyClass .fi -.LP -\f2\-iiop\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤­¤Ï¡¢¤Û¤«¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ -.RS 3 -.TP 3 -\-always ¤Þ¤¿¤Ï \-alwaysgenerate -´û¸¤Î¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó IDL ¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¿·¤·¤¤¤È¤­¤Ç¤â¡¢¶¯À©Åª¤ËÀ¸À®¤·Ä¾¤·¤Þ¤¹¡£ -.TP 3 -\-nolocalstubs -Ʊ¤¸¥×¥í¥»¥¹¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËÂФ·¤ÆºÇŬ²½¤µ¤ì¤¿¥¹¥¿¥Ö¤òºîÀ®¤·¤Þ¤»¤ó¡£ -.TP 3 -\-noValueMethods -¤³¤ì¤Ï \f2\-idl\fP ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»È¤ï¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£È¯¹Ô¤µ¤ì¤¿ IDL ¤Ë¡¢\f2valuetype\fP ¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤òÄɲä·¤Þ¤»¤ó¡£¤³¤Î¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤Ï¡¢\f2valuetype\fP ¤Î¾ì¹ç¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ \f2\-idl\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤­¤Ï¡¢ \f2\-noValueMethods\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¸Â¤êÀ¸À®¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-poa -·Ñ¾µ¤¬ \f2org.omg.CORBA_2_3.portable.ObjectImpl\fP ¤«¤é \f2org.omg.PortableServer.Servant\fP ¤ËÊѤï¤ê¤Þ¤¹¡£ -.LP -.na -\f2Portable Object Adapter\fP @ +.if n \{\ +.RE +.\} +\fI\-d\fR¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ï\fI\-d\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£¥¿¡¼¥²¥Ã¥È¡¦¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸³¬Áؤ¬¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢stub/tie/skeleton¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Î\fIrmic\fR¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\fI\-d\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸³¬ÁؤϺîÀ®¤µ¤ì¤º¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï¤¹¤Ù¤Æ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËľÀܳÊǼ¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£ +.RE +.PP +\-extdirs \fIpath\fR +.RS 4 +¥¤¥ó¥¹¥È¡¼¥ëºÑ³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-g +.RS 4 +¥í¡¼¥«¥ëÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈÖ¹æ¾ðÊó¤Î¤ßÀ¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-idl +.RS 4 +\fIrmic\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤ª¤è¤Ó»²¾È¤µ¤ì¤¿¥¯¥é¥¹¤ÎOMG IDL¤¬À¸À®¤µ¤ì¤Þ¤¹¡£IDL¤Ç¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë°Í¸¤»¤º¤Ë¡¢Àë¸À¤¹¤ë¤À¤±¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ÎAPI¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£IDL¤Ï¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Î»ÅÍͤȤ·¤Æ»ÈÍѤ·¤Þ¤¹¡£CORBA¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄ󶡤¹¤ëǤ°Õ¤Î¸À¸ì¤Ç¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤ÎºîÀ®¤ª¤è¤Ó¸Æ½Ð¤·¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¸À¸ì¤Ë¤Ï¡¢Java¤ª¤è¤ÓC++¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping\&.html¤Î +¡ÖJava IDL: IDL to Java Language Mapping¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.sp +\fI\-idl\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¤­¤Ë¤Ï¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´û¸¤Î¥¹¥¿¥Ö/Tie/IDL¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¤â¿·¤·¤¤¾ì¹ç¤Ç¤â¡¢\fI\-always\fR¤Þ¤¿¤Ï\fI\-alwaysgenerate\fR¥ª¥×¥·¥ç¥ó¤ÏºÆÀ¸À®¤ò¶¯À©¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-factory\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢À¸À®¤µ¤ì¤¿IDL¤Ç\fIfactory\fR¥­¡¼¥ï¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +The +\fI\-idlModule\fR +from J\fIavaPackage[\&.class]\fR +\fItoIDLModule\fR +specifies +\fIIDLEntity\fR +package mapping, for example: +\fI\-idlModule\fR +\fImy\&.module my::real::idlmod\fR\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-idlFile\fR +\fIfromJavaPackage[\&.class] toIDLFile\fR +specifies +\fIIDLEntity\fR +file mapping, for example: +\fI\-idlFile test\&.pkg\&.X TEST16\&.idl\fR\&. +.RE +.RE +.PP +\-iiop +.RS 4 +\fIrmic\fR¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢JRMP¤Î¥¹¥¿¥Ö¤È¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤Î¤«¤ï¤ê¤Ë¡¢IIOP¤Î¥¹¥¿¥Ö¤ÈTie¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤Ï¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥í¡¼¥«¥ë¡¦¥×¥í¥­¥·¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¡¼¤Ë¸Æ½Ð¤·¤òÁ÷¿®¤¹¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£³Æ¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ï¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤Ë¤è¤Ã¤Æ¥ê¥â¡¼¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ç¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤¹¤ë¤È¤­¤Ï¡¢¥¹¥¿¥Ö¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¥¿¥¤¡¦¥¯¥é¥¹¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¤ÇÃ可¤ò½èÍý¤·¡¢¤½¤Î¸Æ½Ð¤·¤òŬÀڤʼÂÁõ¥¯¥é¥¹¤Ë¥Ç¥£¥¹¥Ñ¥Ã¥Á¤¹¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£³Æ¼ÂÁõ¥¯¥é¥¹¤Ë¤Ï¡¢¥¿¥¤¡¦¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£ +.sp +\fI\-iiop\fR¤ò»ÈÍѤ·¤Æ\fIrmic\fR¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¼¡¤Î̿̾µ¬Â§¤Ë½àµò¤·¤¿¥¹¥¿¥Ö¤ÈTie¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +_<implementationName>_stub\&.class +_<interfaceName>_tie\&.class .fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) ¤Î \f2PortableServer\fP ¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î \f2Servant\fP ·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\f2Servant\fP ·¿¤Ï Java ¤Î \f2org.omg.PortableServer.Servant\fP ¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î POA ¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¤Î¤Û¤«¤Ë¡¢POA ¤½¤Î¤â¤Î¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤Îưºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£OMG IDL to Java Language Mapping Specification¡¢CORBA V 2.3.1 ptc/00\-01\-08.pdf ¤Ë½àµò¤·¤Æ¤¤¤Þ¤¹¡£ +.if n \{\ .RE -.TP 3 -\-J -\f2\-J\fP ¤Î¸å¤í¤Ë³¤¯¥ª¥×¥·¥ç¥ó¤ò \f2java\fP ¥¤¥ó¥¿¥×¥ê¥¿¤Ë°ú¤­ÅϤ·¤Þ¤¹¡£ \f2java\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¤¤Þ¤¹ (\-J ¤È java ¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏÆþ¤ì¤Ê¤¤)¡£ -.TP 3 -\-keep ¤Þ¤¿¤Ï \-keepgenerated -¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤Þ¤¿¤Ï Tie ¥¯¥é¥¹¤Î¤¿¤á¤Î \f2.java\fP ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò \f2.class\fP ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë»Ä¤·¤Þ¤¹¡£ -.TP 3 -\-nowarn -·Ù¹ð¤ò¥ª¥Õ¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òɽ¼¨¤·¤Þ¤»¤ó¡£ -.TP 3 -\-nowrite -¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥¯¥é¥¹¤ò¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë½ñ¤­¹þ¤ß¤Þ¤»¤ó¡£ -.TP 3 -\-vcompat -1.1 ¤È 1.2 ¤ÎξÊý¤Î JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£(5.0 °ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¡£)À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢JDK 1.1 ²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤ë¤È 1.1 ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¡¢JDK 1.2 °Ê¹ß¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤ë¤È 1.2 ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤Ç¤Ï¡¢1.1 ¤È 1.2 ¤ÎξÊý¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ÏξÊý¤ÎÁàºî¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¡¢¥µ¥¤¥º¤¬Â礭¤¯¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-verbose -¥³¥ó¥Ñ¥¤¥é¤ä¥ê¥ó¥«¡¼¤¬¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ä¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ -.TP 3 -\-v1.1 -1.1 JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤Î¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤǤ­¤ë¤Î¤Ï¡¢JDK 1.1 ¤«¤é \f3rmic\fP ¥Ä¡¼¥ë¤ÇÀ¸À®¤µ¤ì¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Ê¤¤ (¤µ¤é¤Ë¥À¥¤¥Ê¥ß¥Ã¥¯¥¯¥é¥¹¥í¡¼¥Ç¥£¥ó¥°¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤) ¡¢´û¸¤ÎÀÅŪÇÛÈ÷¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤ËÂФ·¡¢Ä¾Î󲽸ߴ¹À­¤Î¤¢¤ë¥¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¾ì¹ç¤À¤±¤Ç¤¹¡£ -.TP 3 -\-v1.2 -(¥Ç¥Õ¥©¥ë¥È) 1.2 JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤Î¥¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤Ï 1.2 ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤Ç»ÈÍѤǤ­¤Ê¤¤¤¿¤á¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢JDK 1.1 ²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤âưºî¤·¤Þ¤»¤ó¡£ +.\} +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-iiop\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¤­¤Ë¤Ï¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +´û¸¤Î¥¹¥¿¥Ö/Tie/IDL¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¤â¿·¤·¤¤¾ì¹ç¤Ç¤â¡¢\fI\-always\fR¤Þ¤¿¤Ï\fI\-alwaysgenerate\fR¥ª¥×¥·¥ç¥ó¤ÏºÆÀ¸À®¤ò¶¯À©¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-nolocalstubs\fR¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢Æ±¤¸¥×¥í¥»¥¹¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËºÇŬ²½¤µ¤ì¤¿¥¹¥¿¥Ö¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-noValueMethods\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-idl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fI\-noValueMethods\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢Á÷¿®¤µ¤ì¤ëIDL¤Ë\fIvaluetype\fR¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤òÄɲäǤ­¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤Ï¡¢valuetype¤Î¾ì¹ç¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£\fI\-idl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë\fI\-noValueMethods\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤«¤®¤êÀ¸À®¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-poa\fR¥ª¥×¥·¥ç¥ó¤Ï·Ñ¾µ¤ò\fIorg\&.omg\&.CORBA_2_3\&.portable\&.ObjectImpl\fR¤«¤é\fIorg\&.omg\&.PortableServer\&.Servant\fR¤ËÊѹ¹¤·¤Þ¤¹¡£¥Ý¡¼¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥¢¥À¥×¥¿(POA)¤Î\fIPortableServer\fR¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î\fIServant\fR·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\fIServant\fR·¿¤ÏJava¤Î\fIorg\&.omg\&.PortableServer\&.Servant\fR¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤ÎPOA¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î¥Ù¡¼¥¹¡¦¥¯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¡¢¤ª¤è¤ÓPOA¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤Îưºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£OMG IDL to Java Language Mapping Specification¡¢CORBA V 2\&.3\&.1 ptc/00\-01\-08\&.pdf¤Ë½àµò¤·¤Æ¤¤¤Þ¤¹¡£ +.RE +.RE +.PP +\-J +.RS 4 +Java¥³¥Þ¥ó¥É¤È¤È¤â¤Ë»ÈÍѤ·¤Æ¡¢\fI\-J\fR¥ª¥×¥·¥ç¥ó¤Ï\fI\-J\fR¤Î¸å¤í¤Ë³¤¯°ú¿ô¤òJava¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ·¤Þ¤¹(\fI\-J\fR¤È°ú¿ô¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏÆþ¤ì¤Þ¤»¤ó)¡£ +.RE +.PP +\-keep or \-keepgenerated +.RS 4 +¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤Þ¤¿¤ÏTie¥¯¥é¥¹¤Î¤¿¤á¤ËÀ¸À®¤µ¤ì¤¿\fI\&.java\fR¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¡¢\fI\&.class\fR¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ +.RE +.PP +\-nowarn +.RS 4 +·Ù¹ð¤ò¥ª¥Õ¤Ë¤·¤Þ¤¹¡£\fI\-nowarn\fR¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡£¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òɽ¼¨¤·¤Þ¤»¤ó¡£ +.RE +.PP +\-nowrite +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥¯¥é¥¹¤ò¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë½ñ¤­¹þ¤ß¤Þ¤»¤ó¡£ +.RE +.PP +\-vcompat (Èó¿ä¾©) +.RS 4 +1\&.1¤È1\&.2¤ÎξÊý¤ÎJRMP¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£5\&.0°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤·¤¿¡£À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤Ï¡¢JDK 1\&.1²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤ë¤È1\&.1¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¡¢JDK 1\&.2°Ê¹ß¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤ë¤È1\&.2¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤Ç¤Ï¡¢1\&.1¤È1\&.2¤ÎξÊý¤Î¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ÏξÊý¤ÎÁàºî¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¡¢¥µ¥¤¥º¤¬Â礭¤¯¤Ê¤ê¤Þ¤¹¡£Ãí°Õ:¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-verbose +.RS 4 +¥³¥ó¥Ñ¥¤¥é¤ä¥ê¥ó¥«¡¼¤¬¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ä¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-v1\&.1 (Èó¿ä¾©) +.RS 4 +1\&.1 JRMP¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤Î¥¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£\fI\-v1\&.1\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¤Î¤Ï¡¢JDK 1\&.1¤«¤é\fIrmic\fR¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Ê¤¤(¤µ¤é¤Ë¥À¥¤¥Ê¥ß¥Ã¥¯¡¦¥¯¥é¥¹¡¦¥í¡¼¥Ç¥£¥ó¥°¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤)¡¢´û¸¤ÎÀÅŪ¥Ç¥×¥í¥¤¤µ¤ì¤¿¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤ËÂФ·¡¢Ä¾Î󲽸ߴ¹À­¤Î¤¢¤ë¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¾ì¹ç¤Î¤ß¤Ç¤¹¡£Ãí°Õ:¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-v1\&.2 (Èó¿ä¾©) +.RS 4 +(¥Ç¥Õ¥©¥ë¥È)1\&.2 JRMP¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤Î¤ß¤Î¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤Ï1\&.2¥¹¥¿¥Ö¡¦¥×¥í¥È¥³¥ë¡¦¥Ð¡¼¥¸¥ç¥ó¤Ç»ÈÍѤǤ­¤Ê¤¤¤¿¤á¡¢¥¹¥±¥ë¥È¥ó¡¦¥¯¥é¥¹¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¡¦¥¯¥é¥¹¤Ï¡¢JDK 1\&.1²¾ÁÛ¥Þ¥·¥ó¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤âưºî¤·¤Þ¤»¤ó¡£Ãí°Õ:¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "´Ä¶­ÊÑ¿ô" -.LP -.RS 3 -.TP 3 -CLASSPATH -¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl -.:/usr/local/java/classes -.fl -\fP -.fi +.PP +CLASSPATH +.RS 4 +¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£Îã: +\fI\&.:/usr/local/java/classes\fR .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -.LP -java(1)¡¢javac(1)¡¢ -.na -\f2CLASSPATH\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +javac(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Setting the Class Path +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 index e229fbf1cdc..1ee27efb1a9 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 @@ -1,328 +1,365 @@ -." Copyright (c) 1998, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH rmid 1 "07 May 2011" - -.LP -.SH "̾Á°" -rmid \- Java RMI µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó -.LP -.LP -\f3rmid\fP ¤Çµ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ò²¾ÁÛ¥Þ¥·¥ó (VM) ¤ËÅÐÏ¿¤·¤Æµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: rmid +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Remote Method Invocation (RMI)¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "rmid" "1" "2013ǯ11·î21Æü" "JDK 8" "Remote Method Invocation (RMI)" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +rmid \- µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤òJava²¾ÁÛ¥Þ¥·¥ó(VM)¤ËÅÐÏ¿¤·¤Æ¥¢¥¯¥Æ¥£¥Ö²½¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -rmid [options] -.fl -\fP +\fIrmid\fR [\fIoptions\fR] .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE .SH "ÀâÌÀ" -.LP -.LP -\f3rmid\fP ¥Ä¡¼¥ë¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Æ¤«¤é¤Ç¤Ê¤¤¤È¡¢µ¯Æ°²Äǽ¥ª¥Ö¥¸¥§¥¯¥È¤òµ¯Æ°¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤·¤¿¤ê¡¢VM Æâ¤Çµ¯Æ°¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£µ¯Æ°²Äǽ¤Ê¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤ÎºîÀ®ÊýË¡¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2¡ÖJava RMI »ÅÍÍ¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.html¤ª¤è¤Ó -.na -\f2¡Öµ¯Æ°¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¥Ç¡¼¥â¥ó¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ \f2rmid\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -.LP +.PP +\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Æ¤«¤é¤Ç¤Ê¤¤¤È¡¢¥¢¥¯¥Æ¥£¥Ö²½²Äǽ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥¯¥Æ¥£¥Ö²½¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤·¤¿¤ê¡¢JVMÆâ¤Ç¥¢¥¯¥Æ¥£¥Ö²½¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£¥¢¥¯¥Æ¥£¥Ö²½²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤ÎºîÀ®ÊýË¡¤Î¾ÜºÙ¤Ï¡¢\fI¥¢¥¯¥Æ¥£¥Ö²½¤Î»ÈÍÑ\fR¤Ë´Ø¤¹¤ë¥Á¥å¡¼¥È¥ê¥¢¥ë(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/rmi/activation/overview\&.html)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +\fIrmid\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢¼¡¤Î¤è¤¦¤Ë¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¡¢¥Ç¡¼¥â¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-J\-Djava.security.policy=rmid.policy -.fl -\fP +rmid \-J\-Djava\&.security\&.policy=rmid\&.policy .fi - -.LP -.LP -\f3Ãí:\fP \f2rmid\fP ¤Î Sun ¤Î ¼ÂÁõ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢ \f2rmid\fP ¤¬µ¯Æ°¥°¥ë¡¼¥×ÍÑ¤Ë VM ¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë³Æ \f2ActivationGroupDesc\fP Æâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£ÆÃ¤Ë¡¢ActivationGroupDesc ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÅϤµ¤ì¤ë \f2CommandEnvironment\fP ¤äǤ°Õ¤Î \f2Properties\fP ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ë \f2¥³¥Þ¥ó¥É¤ª¤è¤Ó\fP¥ª¥×¥·¥ç¥ó¤Ï¡¢ \f2rmid\fP ¤Î¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£\f2sun.rmi.activation.execPolicy\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤϡ¢ \f2µ¯Æ°¥°¥ë¡¼¥×ÍÑ¤Ë VM ¤ò\fP µ¯Æ°¤¹¤ë¤¿¤á¤Ë \f2ActivationGroupDesc\fP Æâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¤È¤­¤Ë rmid ¤¬»ÈÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò·èÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f2rmid\fP ¤ò¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¥¢¥¯¥Æ¥£¥Ù¡¼¥¿¤òµ¯Æ°¤·¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È 1098 ¤ÇÆâÉô¥ì¥¸¥¹¥È¥ê¤òµ¯Æ°¤¹¤ë -.TP 2 -o -¤³¤ÎÆâÉô¥ì¥¸¥¹¥È¥ê¤ÎÃæ¤Ç¡¢ \f2ActivationSystem\fP ¤ò \f2java.rmi.activation.ActivationSystem ¤È¤¤¤¦Ì¾Á°¤Ë\fP ¥Ð¥¤¥ó¥É¤¹¤ë +.if n \{\ .RE - -.LP -.LP -¥ì¥¸¥¹¥È¥ê¤Ë¤Û¤«¤Î¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢rmid ¤Îµ¯Æ°»þ¤Ë \f2\-port\fP ¥ª¥×¥·¥ç¥ó¤ò \f2»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\fP¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP +.\} +.PP +\fIrmid\fR¥³¥Þ¥ó¥É¤ÎOracle¤Î¼ÂÁõ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬µ¯Æ°¥°¥ë¡¼¥×ÍѤËJVM¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë³Æ\fIActivationGroupDesc\fRÆâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹ÆÃ¤Ë¡¢\fIActivationGroupDesc\fR¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÅϤµ¤ì¤ë\fICommandEnvironment\fR¤äǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Î¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£\fIsun\&.rmi\&.activation\&.execPolicy\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤϡ¢µ¯Æ°¥°¥ë¡¼¥×ÍѤËJVM¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë\fIActivationGroupDesc\fRÆâ¤Î¾ðÊó¤ò»ÈÍѤǤ­¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¤È¤­¤Ë\fIrmid\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò·èÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢\-J\-Dsun\&.rmi\&.activation\&.execPolicy=policy¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIrmid\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È1098¤Ç¥¢¥¯¥Æ¥£¥Ù¡¼¥¿¤ÈÆâÉô¥ì¥¸¥¹¥È¥ê¤¬µ¯Æ°¤µ¤ì¡¢\fIActivationSystem\fR¤¬¤³¤ÎÆâÉô¥ì¥¸¥¹¥È¥êÆâ¤Î̾Á°\fIjava\&.rmi\&.activation\&.ActivationSystem\fR¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Þ¤¹¡£ +.PP +¥ì¥¸¥¹¥È¥ê¤Ë¾¤Î¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë\fI\-port\fR¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ì¥¸¥¹¥È¥ê¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥Ý¡¼¥È1099¤Ç¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤È¥ì¥¸¥¹¥È¥ê¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-J\-Djava.security.policy=rmid.policy \-port 1099 -.fl -\fP +rmid \-J\-Djava\&.security\&.policy=rmid\&.policy \-port 1099 .fi - -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¡¢¥ì¥¸¥¹¥È¥ê¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È 1099 ¤Ç¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤·¤Þ¤¹¡£ -.LP -.SS -rmid ¤ò inetd/xinetd ¤«¤é³«»Ï¤¹¤ë -.LP -.LP -\f2rmid\fP ¤ò¥³¥Þ¥ó¥É¹Ô¤«¤é³«»Ï¤¹¤ë¤Ë¤Ï¡¢ \f2inetd\fP (Solaris ¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï \f2xinetd\fP (Linux ¤Î¾ì¹ç) ¤ò¹½À®¤·¤Æ \f2rmid\fP ¤òɬÍפ˱þ¤¸¤Æ³«»Ï¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£ -.LP -.LP -\f2rmid\fP ¤ò³«»Ï¤¹¤ë¤È¡¢System.inheritedChannel ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë ( \f2inetd\fP/\f2xinetd\fP ¤«¤é·Ñ¾µ) ¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Þ¤¹¡£ ·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬ \f2null\fP ¤Ç¤¢¤ë¤«¡¢ \f2java.nio.channels.ServerSocketChannel\fP ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ \f2rmid\fP rmid ¤Ï¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ï \f2inetd\fP/\f2xinetd\fP ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¤ÈȽÃǤ·¡¢Á°½Ò¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£ -.LP -.LP -·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬ \f2ServerSocketChannel\fP ¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ \f2rmid\fP ¤Ï¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ä¤Þ¤ê java.rmi.activation.ActivationSystem ¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¥ì¥¸¥¹¥È¥ê¤È java.rmi.activation.Activator ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ëÍ×µá¤ò¼õ¿®¤¹¤ë¥µ¡¼¥Ð¡¼¥½¥±¥Ã¥È¤È¤·¤Æ¡¢ServerSocketChannel ¤«¤é¼èÆÀ¤·¤¿ java.net.ServerSocket ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢ \f2rmid\fP ¤Îưºî¤Ï¡¢¼¡¤Î¤³¤È¤ò½ü¤¤¤Æ¡¢ ¥³¥Þ¥ó¥É¹Ô¤«¤éµ¯Æ°¤·¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£ -.LP -.RS 3 -.TP 2 -o -\f2System.err\fP ¤ËÂФ¹¤ë½ÐÎϤϡ¢¥Õ¥¡¥¤¥ë¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï \f2java.io.tmpdir\fP ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¡¼¤Ç»ØÄꤵ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê (Ä̾ï¤Ï \f2/var/tmp\fP ¤Þ¤¿¤Ï \f2/tmp\fP) ¤Ë¤¢¤ë¡£¥Õ¥¡¥¤¥ë̾¤ÎÀÜÆ¬¼­¤Ï \f2"rmid\-err"\fP ¤Ç¡¢ÀÜÈø¼­¤Ï \f2"tmp"\fP ¤Ç¤¢¤ë -.TP 2 -o -\f2\-port\fP ¥ª¥×¥·¥ç¥ó¤ÏµñÈݤµ¤ì¤ë¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ \f2rmid\fP ¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤Æ½ªÎ»¤¹¤ë -.TP 2 -o -\f2\-log\fP ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¡¢ \f2rmid\fP ¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤Æ½ªÎ»¤¹¤ë +.if n \{\ .RE - -.LP -.LP -ɬÍפ˱þ¤¸¤Æ¥µ¡¼¥Ó¥¹¤ò³«»Ï¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ \f2inetd\fP (Solaris ¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï \f2xinetd\fP (Linux) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +.\} +.SH "ɬÍפ˱þ¤¸¤ÆRMID¤ò³«»Ï" +.PP +\fIrmid\fR¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é³«»Ï¤¹¤ë¤Ë¤Ï¡¢\fIinetd\fR +(Oracle Solaris¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï\fIxinetd\fR +(Linux¤Î¾ì¹ç)¤ò¹½À®¤·¤Æ\fIrmid\fR¤òɬÍפ˱þ¤¸¤Æ³«»Ï¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£ +.PP +RMID¤ò³«»Ï¤¹¤ë¤È¡¢\fISystem\&.inheritedChannel\fR¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë(\fIinetd\fR/\fIxinetd\fR¤«¤é·Ñ¾µ)¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Þ¤¹¡£·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬null¤Ç¤¢¤ë¤«¡¢\fIjava\&.nio\&.channels\&.ServerSocketChannel\fR¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¢RMID¤Ï¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ï\fIinetd\fR/\fIxinetd\fR¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¤ÈȽÃǤ·¡¢Á°½Ò¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£ +.PP +·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬\fIServerSocketChannel\fR¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢RMID¤Ï¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ä¤Þ¤ê\fIjava\&.rmi\&.activation\&.ActivationSystem\fR¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¥ì¥¸¥¹¥È¥ê¤È\fIjava\&.rmi\&.activation\&.Activator\fR¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë¥ê¥¯¥¨¥¹¥È¤ò¼õ¿®¤¹¤ë¥µ¡¼¥Ð¡¼¡¦¥½¥±¥Ã¥È¤È¤·¤Æ¡¢\fIServerSocketChannel\fR¤«¤é¼èÆÀ¤·¤¿\fIjava\&.net\&.ServerSocket\fR¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢RMID¤Îưºî¤Ï¡¢¼¡¤Î¤³¤È¤ò½ü¤¤¤Æ¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤éµ¯Æ°¤·¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fISystem\&.err\fR¤ËÂФ¹¤ë½ÐÎϤϡ¢¥Õ¥¡¥¤¥ë¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï\fIjava\&.io\&.tmpdir\fR¥·¥¹¥Æ¥à¡¦¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê(Ä̾ï¤Ï\fI/var/tmp\fR¤Þ¤¿¤Ï\fI/tmp\fR)¤Ë¤¢¤ë¡£¥Õ¥¡¥¤¥ë̾¤ÎÀÜÆ¬¼­¤Ï\fIrmid\-err\fR¤Ç¡¢ÀÜÈø¼­¤Ï\fItmp\fR¤Ç¤¢¤ë¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-port\fR¥ª¥×¥·¥ç¥ó¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢RMID¤Ï¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI\-log\fR¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢RMID¤Ï¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Æ½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +ɬÍפ˱þ¤¸¤Æ¥µ¡¼¥Ó¥¹¤ò³«»Ï¤¹¤ë¤è¤¦¤Ë¹½À®¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢\fIinetd\fR +(Oracle Solaris¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï\fIxinetd\fR +(Linux)¤Î¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-C<someCommandLineOption> -\f2rmid\fP ¤Î»Ò¥×¥í¥»¥¹ (µ¯Æ°¥°¥ë¡¼¥×) ¤¬ºîÀ®¤µ¤ì¤¿¤È¤­¤Ë¡¢¤½¤ì¤¾¤ì¤Î»Ò¥×¥í¥»¥¹¤Ë¥³¥Þ¥ó¥É¹Ô°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³Æ²¾ÁÛ¥Þ¥·¥ó¤Ë¥×¥í¥Ñ¥Æ¥£¡¼¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.PP +\-C\fI¥ª¥×¥·¥ç¥ó\fR +.RS 4 +\fIrmid\fR¥³¥Þ¥ó¥É¤Î»Ò¥×¥í¥»¥¹(µ¯Æ°¥°¥ë¡¼¥×)¤¬ºîÀ®¤µ¤ì¤¿¤È¤­¤Ë¡¢¤½¤ì¤¾¤ì¤Î»Ò¥×¥í¥»¥¹¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³Æ²¾ÁÛ¥Þ¥·¥ó¤Ë¥×¥í¥Ñ¥Æ¥£¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-C\-Dsome.property=value -.fl -\fP +rmid \-C\-Dsome\&.property=value .fi -¥³¥Þ¥ó¥É¹Ô°ú¿ô¤ò»Ò¥×¥í¥»¥¹¤ËÅϤ¹µ¡Ç½¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ò»Ò¥×¥í¥»¥¹¤ËÅϤ¹µ¡Ç½¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î»ÒJVM¤Çserver\-call¥í¥®¥ó¥°¤¬²Äǽ¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-C\-Djava.rmi.server.logCalls=true -.fl -\fP +rmid \-C\-Djava\&.rmi\&.server\&.logCalls=true .fi -¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤ê¡¢¤¹¤Ù¤Æ¤Î»Ò VM ¤Ç¥µ¡¼¥Ð¡¼¸Æ¤Ó½Ð¤·¤Î¥í¥°¤¬ºîÀ®¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -.TP 3 -\-J<someCommandLineOption> -rmid ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë \f2java\fP ¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢ \f2rmid\fP ¤¬ \f2rmid.policy\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤Ë¤Ï¡¢rmid ¤Î¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢ \f2java.security.policy\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤òÄêµÁ¤·¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-J\fIoption\fR +.RS 4 +RMID¤ò¼Â¹Ô¤·¤Æ¤¤¤ëJava¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬\fIrmid\&.policy\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤Ë¤Ï¡¢\fIrmid\fR¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fI\-J\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\fIjava\&.security\&.policy\fR¥×¥í¥Ñ¥Æ¥£¤òÄêµÁ¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - rmid \-J\-Djava.security.policy=rmid.policy -.fl -\fP +rmid \-J\-Djava\&.security\&.policy\-rmid\&.policy .fi -.TP 3 -\-J\-Dsun.rmi.activation.execPolicy=<policy> -µ¯Æ°¥°¥ë¡¼¥×¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë VM ¤Îµ¯Æ°¤Ë»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Ë¡¢ \f2rmid\fP ¤¬ºÎÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java RMI µ¯Æ°¥Ç¡¼¥â¥ó¤Î Sun ¤Î¼ÂÁõ¤À¤±¤Ë¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥É¹Ô¤Ë¤³¤Î¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£\f2<policy>\fP ¤Ë»ØÄê²Äǽ¤ÊÃͤϡ¢\f2default\fP¡¢\f2<policyClassName>\fP¡¢¤Þ¤¿¤Ï \f2none\fP ¤Ç¤¹¡£ -.RS 3 -.TP 2 -o -\f3default (¤Þ¤¿¤Ï¡¢¤³¤Î¥×¥í¥Ñ¥Æ¥£¡¼¤¬¡Ö»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡×¾ì¹ç)\fP -.LP -¥Ç¥Õ¥©¥ë¥È¤Î \f2execPolicy\fP ¤Î¾ì¹ç¡¢ \f2rmid\fP ¤¬¼Â¹Ô¤Ç¤­¤ë¤Î¤Ï¡¢ \f2rmid\fP ¤¬»ÈÍѤ¹¤ë¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¡¢¼Â¹Ô¤¹¤ë¸¢¸Â¤¬ \f2rmid\fP ¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤À¤±¤Ç¤¹¡£¡Ö¥Ç¥Õ¥©¥ë¥È¡×¤Î¼Â¹Ô¥Ý¥ê¥·¡¼¤Ç»ÈÍѤǤ­¤ë¤Î¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îµ¯Æ°¥°¥ë¡¼¥×¼ÂÁõ¤À¤±¤Ç¤¹¡£ -.LP -\f2rmid ¤Ï¡¢\fP µ¯Æ°¥°¥ë¡¼¥×ÍѤΠVM ¤òµ¯Æ°¤¹¤ë¤È¤­¤Ë¡¢¤½¤Î¥°¥ë¡¼¥×¤Ë¤Ä¤¤¤ÆÅÐÏ¿¤µ¤ì¤¿µ¯Æ°¥°¥ë¡¼¥×µ­½Ò»Ò¤Ç¤¢¤ë \f2ActivationGroupDesc\fP Æâ¤Î¾ðÊó¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ­½Ò»Ò¤Ï¡¢ \f2ActivationGroupDesc.CommandEnvironment\fP ¤ò»ØÄꤷ¤Þ¤¹ (¾Êά²Äǽ)¡£¤³¤ì¤Ë¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¡Ö¥³¥Þ¥ó¥É¡×¤È¡¢¤½¤Î¥³¥Þ¥ó¥É¹Ô¤ËÄɲäǤ­¤ë¥³¥Þ¥ó¥É¹Ô¡Ö¥ª¥×¥·¥ç¥ó¡×¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ \f2rmid ¤Ï\fP java.home ¤Ë¤¢¤ë \f2java\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ ¥°¥ë¡¼¥×µ­½Ò»Ò¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¥³¥Þ¥ó¥É¹Ô¤ËÄɲ䵤ì¤ë¡Ö¥×¥í¥Ñ¥Æ¥£¡¼¡×¥ª¡¼¥Ð¡¼¥é¥¤¥É¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥×¥í¥Ñ¥Æ¥£¡¼¤Ï¡¢¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.RE +.PP +\-J\-Dsun\&.rmi\&.activation\&.execPolicy=\fIpolicy\fR +.RS 4 +µ¯Æ°¥°¥ë¡¼¥×¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ëJVM¤Îµ¯Æ°¤Ë»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Ë¡¢RMID¤¬ºÎÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java RMIµ¯Æ°¥Ç¡¼¥â¥ó¤ÎOracle¤Î¼ÂÁõ¤Î¤ß¤Ë¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤³¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï\fI\-J\-Dsun\&.rmi\&.activation\&.execPolicy=default\fR¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£\fIpolicy\fR¤Ë»ØÄê²Äǽ¤ÊÃͤϡ¢\fIdefault\fR¡¢\fIpolicyClassName\fR¤Þ¤¿¤Ï\fInone\fR¤Ç¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥Ç¥Õ¥©¥ë¥È +.sp +\fIdefault\fR¤Þ¤¿¤Ï̤»ØÄêÃͤÎ\fIexecPolicy\fR¤Î¾ì¹ç¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤Ç¤­¤ë¤Î¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¡¢¼Â¹Ô¤¹¤ë¸¢¸Â¤¬\fIrmid\fR¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Î¤ß¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¼Â¹Ô¥Ý¥ê¥·¡¼¤Ç»ÈÍѤǤ­¤ë¤Î¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îµ¯Æ°¥°¥ë¡¼¥×¼ÂÁõ¤Î¤ß¤Ç¤¹¡£ +.sp +\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×ÍѤÎJVM¤òµ¯Æ°¤¹¤ë¤È¤­¤Ë¡¢¤½¤Î¥°¥ë¡¼¥×¤Ë¤Ä¤¤¤ÆÅÐÏ¿¤µ¤ì¤¿µ¯Æ°¥°¥ë¡¼¥×µ­½Ò»Ò¤Ç¤¢¤ë\fIActivationGroupDesc\fRÆâ¤Î¾ðÊó¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ­½Ò»Ò¤Ï¡¢\fIActivationGroupDesc\&.CommandEnvironment\fR¤ò»ØÄꤷ¤Þ¤¹(¾Êά²Äǽ)¡£¤³¤ì¤Ë¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¥³¥Þ¥ó¥É¤È¡¢¤½¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ËÄɲäǤ­¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ï\fIjava\&.home\fR¤Ë¤¢¤ë\fIjava\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ­½Ò»Ò¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥ª¥×¥·¥ç¥ó¤È¤·¤ÆÄɲ䵤ì¤ë¥×¥í¥Ñ¥Æ¥£¡¦¥ª¡¼¥Ð¡¼¥é¥¤¥É¤â´Þ¤Þ¤ì¤Þ¤¹(\fI\-D<property>=<value>\fR¤È¤·¤ÆÄêµÁ¤µ¤ì¤Þ¤¹)¡£\fIcom\&.sun\&.rmi\&.rmid\&.ExecPermission\fR¸¢¸Â¤Ï\fIrmid\fR¥³¥Þ¥ó¥É¤Ë¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë¥°¥ë¡¼¥×µ­½Ò»Ò¤Î\fICommandEnvironment\fR¤Ç»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÉÕÍ¿¤·¤Þ¤¹¡£\fIcom\&.sun\&.rmi\&.rmid\&.ExecOptionPermission\fR¸¢¸Â¤Ïµ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï»þ¤Ë¡¢¥°¥ë¡¼¥×µ­½Ò»Ò¤Ç¥×¥í¥Ñ¥Æ¥£¡¦¥ª¡¼¥Ð¡¼¥é¥¤¥É¤È¤·¤Æ¡¢¤Þ¤¿¤Ï\fICommandEnvironment\fR¤Ç¥ª¥×¥·¥ç¥ó¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¡£\fIrmid\fR¥³¥Þ¥ó¥É¤ËÍÍ¡¹¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÉÕÍ¿¤¹¤ë¾ì¹ç¡¢¸¢¸Â\fIExecPermission\fR¤ª¤è¤Ó\fIExecOptionPermission\fR¤ò¤¹¤Ù¤Æ¤Î¥³¡¼¥É¡¦¥½¡¼¥¹¤ËÉÕÍ¿¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBExecPermission\fR +.sp +\fIExecPermission\fR¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë\fIrmid\fR¥³¥Þ¥ó¥É¤¬ÆÃÄê¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£ +.sp +\fB¹½Ê¸\fR: +\fIExecPermission\fR¤Î̾Á°¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ë¼Â¹Ô¤òµö²Ä¤¹¤ë¥³¥Þ¥ó¥É¤Î¥Ñ¥¹Ì¾¤Ç¤¹¡£¥¹¥é¥Ã¥·¥å(/)¤ª¤è¤Ó¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£¥¹¥é¥Ã¥·¥å¤Ï¥Õ¥¡¥¤¥ë¶èÀÚ¤êʸ»ú\fIFile\&.separatorChar\fR¤Ç¤¹¡£¥¹¥é¥Ã¥·¥å(/)¤ª¤è¤Ó¥Þ¥¤¥Ê¥¹É乿(\-)¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê(ºÆµ¢Åª¤Ë)¤ò¼¨¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤ËÆÃÊ̤ʥȡ¼¥¯¥ó\fI<<ALL FILES>>\fR¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£ +.sp +¥Ñ¥¹Ì¾¤Ë¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤Ë¥Þ¥¤¥Ê¥¹É乿(\-)¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó(ºÆµ¢Åª¤Ë)¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Þ¤¹¡£ +.sp +\fBExecOptionPermission\fR +.sp +\fIExecOptionPermission\fR¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤­¤Ë\fIrmid\fR¥³¥Þ¥ó¥É¤ÇÆÃÄê¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ­¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£\fIExecOptionPermission\fR¤Î̾Á°¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ÎÃͤǤ¹¡£ +.sp +\fB¹½Ê¸\fR: ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤¬¸ÂÄêŪ¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¡¦¥Þ¥Ã¥Á¤òɽ¤·¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯(*)¤Ï¡¢¥ª¥×¥·¥ç¥ó̾¤½¤Î¤â¤Î¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Ç¤°Õ¤Î¥ª¥×¥·¥ç¥ó¤òɽ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¥ª¥×¥·¥ç¥ó̾¤ÎËöÈø¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¥É¥Ã¥È(\&.)¤«Åù¹æ(=)¤Îľ¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯(*)¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +Îã: +\fI*\fR¤ä\fI\-Dmydir\&.*\fR¤ä\fI\-Da\&.b\&.c=*\fR¤ÏÍ­¸ú¤Ç¤¹¤¬¡¢\fI*mydir\fR¤ä\fI\-Da*b\fR¤ä\fIab*\fR¤Ï̵¸ú¤Ç¤¹¡£ +.sp +\fBrmid¤Î¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë\fR +.sp +\fIrmid\fR¥³¥Þ¥ó¥É¤ËÍÍ¡¹¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¾ì¹ç¤Ï¡¢¸¢¸Â\fIExecPermission\fR¤ª¤è¤Ó\fIExecOptionPermission\fR¤ò¤¹¤Ù¤Æ¤Î¥³¡¼¥É¡¦¥½¡¼¥¹¤ËÉÕÍ¿¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹(ÈÆÍÑŪ¤Ë)¡£¤³¤ì¤é¤Î¸¢¸Â¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Î¤Ï\fIrmid\fR¥³¥Þ¥ó¥É¤Î¤ß¤Ê¤Î¤Ç¡¢¤³¤ì¤é¤Î¸¢¸Â¤òÈÆÍÑŪ¤ËÉÕÍ¿¤·¤Æ¤â°ÂÁ´¤Ç¤¹¡£ +.sp +\fIrmid\fR¥³¥Þ¥ó¥É¤Ë³Æ¼ï¤Î¼Â¹Ô¸¢¸Â¤òÉÕÍ¿¤¹¤ë¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ÎÎã¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - \-D\fP\f4<property>\fP\f3=\fP\f4<value>\fP\f3 -.fl -\fP -.fi -.LP -¥¢¥¯¥»¥¹¸¢ \f2com.sun.rmi.rmid.ExecPermission\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢ \f2rmid\fP ¤ËÂФ·¤Æ¡¢¥°¥ë¡¼¥×µ­½Ò»Ò¤Î \f2CommandEnvironment\fP ¤Ç»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥¢¥¯¥»¥¹¸¢ \f2com.sun.rmi.rmid.ExecOptionPermission\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢¥°¥ë¡¼¥×µ­½Ò»Ò¤Ç¥×¥í¥Ñ¥Æ¥£¡¼¥ª¡¼¥Ð¡¼¥é¥¤¥É¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡¢¤Þ¤¿¤Ï \f2CommandEnvironment\fP ¤Ç¥ª¥×¥·¥ç¥ó¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤­¤Ë rmid ¤¬»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -.LP -\f2rmid ¤Ë\fP ¤µ¤Þ¤¶¤Þ¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹¸¢ \f2ExecPermission\fP ¤ª¤è¤Ó \f2ExecOptionPermission\fP ¤òÈÆÍÑŪ¤Ëµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥½¡¼¥¹¤ËÂФ·¤Æµö²Ä¤·¤Þ¤¹¡£ -.RS 3 -.TP 3 -ExecPermission -\f2ExecPermission\fP ¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë \f2rmid ¤¬\fP ÆÃÄê¤Î¡Ö¥³¥Þ¥ó¥É¡×¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£ -.LP -\f3¹½Ê¸\fP -.br -\f2ExecPermission\fP ¤Î¡Ö̾Á°¡×¤Ï¡¢ \f2rmid\fP ¤Ë¼Â¹Ô¤òµö²Ä¤¹¤ë¥³¥Þ¥ó¥É¤Î¥Ñ¥¹Ì¾¤Ç¤¹¡£¡Ö/*¡× (¡Ö/¡×¤Ï¥Õ¥¡¥¤¥ë¶èÀÚ¤êʸ»ú File.separatorChar) ¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£ ¡Ö/\-¡×¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê (ºÆµ¢Åª¤Ë) ¤ò¼¨¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤ËÆÃÊ̤ʥȡ¼¥¯¥ó¡Ö<<ALL FILES>>¡×¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢\f3Ǥ°Õ¤Î\fP¥Õ¥¡¥¤¥ë¤ò¼¨¤·¤Þ¤¹¡£ -.LP -\f3Ãí:\fP ¡Ö*¡×¤ò 1 ¤Ä»ØÄꤷ¤¿¤À¤±¤Î¥Ñ¥¹Ì¾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òɽ¤·¤Þ¤¹¡£¤Þ¤¿¡¢¡Ö\-¡×¤ò 1 ¤Ä»ØÄꤷ¤¿¤À¤±¤Î¥Ñ¥¹Ì¾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê (ºÆµ¢Åª¤Ë) ¤òɽ¤·¤Þ¤¹¡£ -.TP 3 -ExecOptionPermission -\f2ExecOptionPermission\fP ¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤­¤Ë \f2rmid ¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¥³¥Þ¥ó¥É¤ò¤Þ¤Ã¤¿¤¯¸¡¾Ú¤·¤Þ¤»¤ó¡£\fP ÆÃÄê¤Î¥³¥Þ¥ó¥É¹Ô¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»ÈÍѤǤ­¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£ \f2ExecOptionPermission\fP ¤Î¡Ö̾Á°¡×¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ÎÃͤǤ¹¡£ -.LP -\f3¹½Ê¸\fP -.br -¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤¬¸ÂÄêŪ¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¥Þ¥Ã¥Á¤òɽ¤·¤Þ¤¹¡£ ¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ª¥×¥·¥ç¥ó̾¤½¤Î¤â¤Î¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢Ç¤°Õ¤Î¥ª¥×¥·¥ç¥ó¤òɽ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢¥ª¥×¥·¥ç¥ó̾¤ÎËöÈø¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢¡Ö.¡×¤«¡Ö=¡×¤Îľ¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.LP -Îã¤ò¼¨¤·¤Þ¤¹¡£¡Ö*¡×¡¢¡Ö\-Dfoo.*¡×¡¢¡Ö\-Da.b.c=*¡×¤ÏÍ­¸ú¤Ç¤¹¤¬¡¢¡Ö*foo¡×¡¢¡Ö\-Da*b¡×¡¢¡Öab*¡×¤Ï̵¸ú¤Ç¤¹¡£ -.TP 3 -rmid ¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë -\f2rmid ¤Ë\fP ¤µ¤Þ¤¶¤Þ¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òµö²Ä¤¹¤ë¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹¸¢ \f2ExecPermission\fP ¤ª¤è¤Ó \f2ExecOptionPermission\fP ¤òÈÆÍÑŪ¤Ëµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥½¡¼¥¹¤ËÂФ·¤Æµö²Ä¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¢¥¯¥»¥¹¸¢¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Î¤Ï \f2rmid\fP ¤À¤±¤Ê¤Î¤Ç¡¢¤³¤ì¤é¤Î¥¢¥¯¥»¥¹¸¢¤òÈÆÍÑŪ¤Ëµö²Ä¤·¤Æ¤â°ÂÁ´¤Ç¤¹¡£ -.LP -rmid ¤Ë³Æ¼ï¤Î¼Â¹Ô¸¢¸Â¤òµö²Ä¤¹¤ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÎã¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl grant { -.fl - permission com.sun.rmi.rmid.ExecPermission -.fl - "/files/apps/java/jdk1.7.0/solaris/bin/java"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecPermission -.fl - "/files/apps/rmidcmds/*"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecOptionPermission -.fl - "\-Djava.security.policy=/files/policies/group.policy"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecOptionPermission -.fl - "\-Djava.security.debug=*"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecOptionPermission -.fl - "\-Dsun.rmi.*"; -.fl -}; -.fl -\fP -.fi -ºÇ½é¤ËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥»¥¹¸¢¤Ï¡¢ \f2rmid\fP ¤ËÂФ·¡¢¥Ñ¥¹Ì¾¤Ë¤è¤êÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤ë \f2java\fP ¥³¥Þ¥ó¥É¤Î 1.7.0 ¥Ð¡¼¥¸¥ç¥ó¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢java.home ¤Ë¤¢¤ë¥Ð¡¼¥¸¥ç¥ó¤Î \f2java\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ \f2rmid\fP ¤¬»ÈÍѤ¹¤ë¤Î¤ÈƱ¤¸¥Ð¡¼¥¸¥ç¥ó) ¤¬»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£2 ÈÖÌܤΥ¢¥¯¥»¥¹¸¢¤Ï¡¢ \f2rmid\fP ¤ËÂФ·¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2/files/apps/rmidcmds\fP Æâ¤ÎǤ°Õ¤Î¥³¥Þ¥ó¥É¤Î¼Â¹Ô¸¢¸Â¤òµö²Ä¤·¤Þ¤¹¡£ -.LP -3 ÈÖÌܤËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥»¥¹¸¢ \f2ExecOptionPermission\fP ¤Ï¡¢ \f2rmid\fP ¤ËÂФ·¤Æ¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò \f2/files/policies/group.policy\fP ¤È¤·¤ÆÄêµÁ¤·¤Æ¤¤¤ëµ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï¤òµö²Ä¤·¤Þ¤¹¡£¼¡¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬ \f2java.security.debug\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ºÇ¸å¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬ \f2sun.rmi\fP ¤È¤¤¤¦¥×¥í¥Ñ¥Æ¥£¡¼Ì¾¤Î³¬ÁØÆâ¤ÎǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ -.LP -¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ \f2rmid\fP ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢rmid ¤Î¥³¥Þ¥ó¥É¹Ô¤Ç \f2java.security.policy\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -\f2rmid \-J\-Djava.security.policy=rmid.policy\fP -.RE -.TP 2 -o -\f4<policyClassName>\fP -.LP -¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤Ï½½Ê¬¤Ê½ÀÆðÀ­¤¬ÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¡¢´ÉÍý¼Ô¤Ï¡¢ \f2rmid\fP ¤Îµ¯Æ°»þ¤Ë¡¢ \f2checkExecCommand\fP ¥á¥½¥Ã¥É¤¬½ê°¤¹¤ë¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤷ¤Æ¡¢rmid ¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -.LP -\f2policyClassName\fP ¤Ë¤Ï¡¢°ú¿ô¤Ê¤·¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»ý¤Á¡¢¼¡¤Î¤è¤¦¤Ê \f2checkExecCommand\fP ¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë public ¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ -.nf -\f3 -.fl - public void checkExecCommand(ActivationGroupDesc desc, -.fl - String[] command) -.fl - throws SecurityException; -.fl -\fP -.fi -µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ëÁ°¤Ë¡¢ \f2rmid\fP ¤Ï¡¢¥Ý¥ê¥·¡¼¤Î \f2checkExecCommand\fP ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤Î¤È¤­¡¢µ¯Æ°¥°¥ë¡¼¥×¤Îµ­½Ò»Ò¤È¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Î´°Á´¤Ê¥³¥Þ¥ó¥É¤ò´Þ¤àÇÛÎó¤ò¤½¤Î¥á¥½¥Ã¥É¤ËÅϤ·¤Þ¤¹¡£ \f2checkExecCommand\fP ¤¬ \f2SecurityException\fP ¤ò¥¹¥í¡¼¤¹¤ë¤È¡¢ \f2rmid\fP ¤Ï¤½¤Îµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤»¤º¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Îµ¯Æ°¤ò»î¹Ô¤·¤Æ¤¤¤ë¸Æ¤Ó½Ð¤·Â¦¤Ë¤Ï \f2ActivationException\fP ¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ -.TP 2 -o -\f3none\fP -.LP -\f2sun.rmi.activation.execPolicy\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ÎÃͤ¬¡Önone¡×¤Î¾ì¹ç¡¢ \f2rmid\fP ¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¥³¥Þ¥ó¥É¤ò¤Þ¤Ã¤¿¤¯¸¡¾Ú¤·¤Þ¤»¤ó¡£ -.RE -.LP -.TP 3 -\-log dir -µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ª¤è¤Ó´ØÏ¢¾ðÊó¤ò½ñ¤­¹þ¤à¤Î¤Ë»È¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢rmid ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢ \f2log\fP ¤È¤¤¤¦¥í¥°¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ -.LP -.TP 3 -\-port port -\f2rmid\fP ¤Î¥ì¥¸¥¹¥È¥ê¤¬»È¤¦¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤Ï¡¢¤³¤Î¥ì¥¸¥¹¥È¥ê¤ÎÃæ¤Ç¡¢ \f2java.rmi.activation.ActivationSystem\fP ¤È¤¤¤¦Ì¾Á°¤ÇActivationSystem ¤ò¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¾å¤Î \f2ActivationSystem\fP ¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f2Naming.lookup\fP ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¼èÆÀ¤Ç¤­¤Þ¤¹¡£ -.nf -\f3 -.fl - import java.rmi.*; -.fl - import java.rmi.activation.*; -.fl - -.fl - ActivationSystem system; system = (ActivationSystem) -.fl - Naming.lookup("//:\fP\f4port\fP/java.rmi.activation.ActivationSystem"); -.fl -.fi -.TP 3 -\-stop -\-port ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¤Î¡¢¸½ºß¤Î \f2rmid\fP ¸Æ¤Ó½Ð¤·¤òÄä»ß¤·¤Þ¤¹¡£ ¥Ý¡¼¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ý¡¼¥È 1098 ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë \f2rmid\fP ¤òÄä»ß¤·¤Þ¤¹¡£ -.RE - -.LP -.SH "´Ä¶­ÊÑ¿ô" -.LP -.RS 3 -.TP 3 -CLASSPATH -¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - .:/usr/local/java/classes -.fl -\fP -.fi -.RE - -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.LP -rmic(1)¡¢ -.na -\f2CLASSPATH\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath¡¢java(1) -.LP + permission com\&.sun\&.rmi\&.rmid\&.ExecPermission + "/files/apps/java/jdk1\&.7\&.0/solaris/bin/java"; + permission com\&.sun\&.rmi\&.rmid\&.ExecPermission + "/files/apps/rmidcmds/*"; + + permission com\&.sun\&.rmi\&.rmid\&.ExecOptionPermission + "\-Djava\&.security\&.policy=/files/policies/group\&.policy"; + + permission com\&.sun\&.rmi\&.rmid\&.ExecOptionPermission + "\-Djava\&.security\&.debug=*"; + + permission com\&.sun\&.rmi\&.rmid\&.ExecOptionPermission + "\-Dsun\&.rmi\&.*"; +}; +.fi +.if n \{\ +.RE +.\} +ºÇ½é¤ËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¸¢¸Â¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤ËÂФ·¡¢¥Ñ¥¹Ì¾¤Ë¤è¤êÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤ë\fIjava\fR¥³¥Þ¥ó¥É¤Î1\&.7\&.0¥ê¥ê¡¼¥¹¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIjava\&.home\fR¤Ë¤¢¤ë¥Ð¡¼¥¸¥ç¥ó¤Î\fIjava\fR¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£\fIrmid\fR¥³¥Þ¥ó¥É¤¬»ÈÍѤ¹¤ë¤Î¤ÈƱ¤¸¥Ð¡¼¥¸¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£2ÈÖÌܤθ¢¸Â¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê\fI/files/apps/rmidcmds\fRÆâ¤ÎǤ°Õ¤Î¥³¥Þ¥ó¥É¤Î¼Â¹Ô¸¢¸Â¤òµö²Ä¤·¤Þ¤¹¡£ +.sp +3ÈÖÌܤËÉÕÍ¿¤µ¤ì¤Æ¤¤¤ë¸¢¸Â\fIExecOptionPermission\fR¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤ËÂФ·¤Æ¡¢¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò\fI/files/policies/group\&.policy\fR¤È¤·¤ÆÄêµÁ¤·¤Æ¤¤¤ëµ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï¤òµö²Ä¤·¤Þ¤¹¡£¼¡¤Î¸¢¸Â¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬\fIjava\&.security\&.debug property\fR¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ºÇ¸å¤Î¸¢¸Â¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬\fIsun\&.rmi property\fR̾¤Î³¬ÁØÆâ¤ÎǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +¥Ý¥ê¥·¡¼¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ\fIrmid\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢\fIrmid\fR¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç\fIjava\&.security\&.policy\fR¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +\fIrmid \-J\-Djava\&.security\&.policy=rmid\&.policy\fR\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +<policyClassName> +.sp +¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤Ï½½Ê¬¤Ê½ÀÆðÀ­¤¬ÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¡¢´ÉÍý¼Ô¤Ï¡¢\fIrmid\fR¤Îµ¯Æ°»þ¤Ë¡¢\fIcheckExecCommand\fR¥á¥½¥Ã¥É¤¬½ê°¤¹¤ë¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤷ¤Æ¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.sp +\fIpolicyClassName\fR¤Ë¤Ï¡¢°ú¿ô¤Ê¤·¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»ý¤Á¡¢¼¡¤Î¤è¤¦¤Ê\fIcheckExecCommand\fR¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ëpublic¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + public void checkExecCommand(ActivationGroupDesc desc, String[] command) + throws SecurityException; +.fi +.if n \{\ +.RE +.\} +µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ëÁ°¤Ë¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥ê¥·¡¼¤Î\fIcheckExecCommand\fR¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤Î¤È¤­¡¢µ¯Æ°¥°¥ë¡¼¥×¤Îµ­½Ò»Ò¤È¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Î´°Á´¤Ê¥³¥Þ¥ó¥É¤ò´Þ¤àÇÛÎó¤ò¤½¤Î¥á¥½¥Ã¥É¤ËÅϤ·¤Þ¤¹¡£\fIcheckExecCommand\fR¤¬\fISecurityException\fR¤ò¥¹¥í¡¼¤¹¤ë¤È¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¤½¤Îµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤»¤º¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Îµ¯Æ°¤ò»î¹Ô¤·¤Æ¤¤¤ë¸Æ½Ð¤·Â¦¤Ë¤Ï\fIActivationException\fR¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +none +.sp +\fIsun\&.rmi\&.activation\&.execPolicy\fR¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ¬\fInone\fR¤Î¾ì¹ç¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¥³¥Þ¥ó¥É¤ò¤Þ¤Ã¤¿¤¯¸¡¾Ú¤·¤Þ¤»¤ó¡£ +.RE +.RE +.PP +\-log \fIdir\fR +.RS 4 +µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ª¤è¤Ó´ØÏ¢¾ðÊó¤ò½ñ¤­¹þ¤à¤Î¤Ë»ÈÍѤ¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\fIrmid\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢log¤È¤¤¤¦¥í¥°¡¦¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-port \fIport\fR +.RS 4 +¥ì¥¸¥¹¥È¥ê¤¬»ÈÍѤ¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¡¦¥Ç¡¼¥â¥ó¤Ï¡¢¤³¤Î¥ì¥¸¥¹¥È¥ê¤ÎÃæ¤Ç¡¢\fIjava\&.rmi\&.activation\&.ActivationSystem\fR¤È¤¤¤¦Ì¾Á°¤Ç\fIActivationSystem\fR¤ò¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¥í¡¼¥«¥ë¡¦¥Þ¥·¥ó¾å¤Î\fIActivationSystem\fR¤Ï¡¢¼¡¤Î¤è¤¦¤Ë\fINaming\&.lookup\fR¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¼èÆÀ¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +import java\&.rmi\&.*; + import java\&.rmi\&.activation\&.*; + + ActivationSystem system; system = (ActivationSystem) + Naming\&.lookup("//:port/java\&.rmi\&.activation\&.ActivationSystem"); +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-stop +.RS 4 +\fI\-port\fR¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¤Î¡¢¸½ºß¤Î\fIrmid\fR¥³¥Þ¥ó¥É¤Î¸Æ½Ð¤·¤òÄä»ß¤·¤Þ¤¹¡£¥Ý¡¼¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ý¡¼¥È1098¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë\fIrmid\fR¤Î¸Æ½Ð¤·¤òÄä»ß¤·¤Þ¤¹¡£ +.RE +.SH "´Ä¶­ÊÑ¿ô" +.PP +CLASSPATH +.RS 4 +¥æ¡¼¥¶¡¼ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤Ë»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£Îã: +\fI\&.:/usr/local/java/classes\fR +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Setting the Class Path +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 index 264c3c1cfa6..2786a5b1a3c 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 @@ -1,83 +1,132 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH rmiregistry 1 "07 May 2011" - -.LP -.SH "̾Á°" -rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê -.LP -.RS 3 -\f3rmiregistry\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥Û¥¹¥È¤Î»ØÄꤷ¤¿¥Ý¡¼¥È¾å¤Ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤·¤Þ¤¹¡£ -.RE - -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: rmiregistry +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Remote Method Invocation (RMI)¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "rmiregistry" "1" "2013ǯ11·î21Æü" "JDK 8" "Remote Method Invocation (RMI)" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +rmiregistry \- ¸½ºß¤Î¥Û¥¹¥È¤Î»ØÄꤷ¤¿¥Ý¡¼¥È¾å¤Ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -rmiregistry [\fP\f4port\fP\f3] -.fl -\fP +\fIrmiregistry\fR [ \fIport\fR ] .fi - -.LP -.SH "ÀâÌÀ" -.LP -.LP -\f3rmiregistry\fP ¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥Û¥¹¥È¤Î»ØÄê \f2port\fP ¾å¤Ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¡¢³«»Ï¤·¤Þ¤¹¡£\f2port\fP ¤Î»ØÄê¤ò¾Êά¤·¤¿¾ì¹ç¡¢¥ì¥¸¥¹¥È¥ê¤Ï¥Ý¡¼¥È 1099 ¤Ç³«»Ï¤·¤Þ¤¹¡£\f3rmiregistry\fP ¥³¥Þ¥ó¥É¤Ë¡¢½ÐÎϵ¡Ç½¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä̾¤³¤ì¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.LP -\f2rmiregistry&\fP -.LP -.LP -¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤¹¡£Æ±°ì¥Û¥¹¥È¤Î RMI ¥µ¡¼¥Ð¡¼¤¬¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò̾Á°¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¼¡¤Ë¡¢¥í¡¼¥«¥ë¤ª¤è¤Ó¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤·¡¢¥ê¥â¡¼¥È¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ò¹Ô¤¤¤Þ¤¹¡£ -.LP -.LP -¥ì¥¸¥¹¥È¥ê¤Ï¡¢°ìÈÌŪ¤Ë¡¢ºÇ½é¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÌÃÖ¤ò»ØÄꤷ¤Þ¤¹¡£ ¤½¤³¤Ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£Âå¤ï¤Ã¤Æ¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó»ØÄê¤Î¥µ¥Ý¡¼¥È¤òÄ󶡤·¡¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤·¤Þ¤¹¡£ -.LP -.LP -\f2java.rmi.registry.LocateRegistry\fP ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¡¢¤Þ¤¿¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤È¥Ý¡¼¥È¤Çưºî¤¹¤ë¥ì¥¸¥¹¥È¥ê¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2java.rmi.Naming\fP ¥¯¥é¥¹¤Î URL ¥Ù¡¼¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢¥ì¥¸¥¹¥È¥ê¤Çưºî¤·¡¢Ç¤°Õ¤Î¥Û¥¹¥È¤ª¤è¤Ó¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¸¡º÷¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ëñ½ã¤Ê (ʸ»úÎó) ̾Á°¤ò¥Ð¥¤¥ó¥É¤·¤¿¤ê¡¢¿·¤·¤¤Ì¾Á°¤ò¥ê¥Ð¥¤¥ó¥É (¸Å¤¤¥Ð¥¤¥ó¥É¤Ë¥ª¡¼¥Ð¡¼¥é¥¤¥É) ¤·¤Þ¤¹¡£¤Þ¤¿¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥ó¥Ð¥¤¥ó¥É¤·¤¿¤ê¡¢¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ URL ¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-J -\f2\-J\fP ¤Î¸å¤í¤Ë³¤¯¥ª¥×¥·¥ç¥ó¤ò \f2java\fP ¥¤¥ó¥¿¥×¥ê¥¿¤Ë°ú¤­ÅϤ·¤Þ¤¹¡£ \f2java\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¤¤Þ¤¹ (\-J ¤È java ¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏÆþ¤ì¤Ê¤¤)¡£ +.if n \{\ +.RE +.\} +.PP +\fIport\fR +.RS 4 +¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤¹¤ë¸½ºß¤Î¥Û¥¹¥È¾å¤Î\fIport\fR¤Î¿ô¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIrmiregistry\fR¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥Û¥¹¥È¤Î»ØÄꤷ¤¿¥Ý¡¼¥È¾å¤Ë¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¡¢³«»Ï¤·¤Þ¤¹¡£port¤Î»ØÄê¤ò¾Êά¤·¤¿¾ì¹ç¡¢¥ì¥¸¥¹¥È¥ê¤Ï¥Ý¡¼¥È1099¤Ç³«»Ï¤·¤Þ¤¹¡£\fIrmiregistry\fR¥³¥Þ¥ó¥É¤Ë¡¢½ÐÎϵ¡Ç½¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä̾¤³¤ì¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +rmiregistry & +.fi +.if n \{\ +.RE +.\} +.PP +¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¦¥ì¥¸¥¹¥È¥ê¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤Î¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤¹¡£Æ±°ì¥Û¥¹¥È¤ÎRMI¥µ¡¼¥Ð¡¼¤¬¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò̾Á°¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¼¡¤Ë¡¢¥í¡¼¥«¥ë¤ª¤è¤Ó¥ê¥â¡¼¥È¡¦¥Û¥¹¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤·¡¢¥ê¥â¡¼¥È¡¦¥á¥½¥Ã¥É¤Î¸Æ½Ð¤·¤ò¹Ô¤¤¤Þ¤¹¡£ +.PP +¥ì¥¸¥¹¥È¥ê¤Ï¡¢°ìÈÌŪ¤Ë¡¢ºÇ½é¤Î¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÌÃÖ¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤³¤Ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¸å¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó»ØÄê¤Î¥µ¥Ý¡¼¥È¤òÄ󶡤·¡¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤·¤Þ¤¹¡£ +.PP +\fIjava\&.rmi\&.registry\&.LocateRegistry\fR¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¡¢¤Þ¤¿¤Ï¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤È¥Ý¡¼¥È¤Çưºî¤¹¤ë¥ì¥¸¥¹¥È¥ê¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.PP +\fIjava\&.rmi\&.Naming\fR¥¯¥é¥¹¤ÎURL¥Ù¡¼¥¹¡¦¥á¥½¥Ã¥É¤Ï¥ì¥¸¥¹¥È¥ê¤ËÂФ·¤ÆÁàºî¤ò¼Â¹Ô¤·¡¢Ç¤°Õ¤Î¥Û¥¹¥È¤ª¤è¤Ó¥í¡¼¥«¥ë¡¦¥Û¥¹¥È¤Ç¤Î¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¸¡º÷¤Ë»ÈÍѤǤ­¤Þ¤¹¡£Ã±½ã̾(ʸ»úÎó)¤ò¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Ð¥¤¥ó¥É¤·¡¢¿·¤·¤¤Ì¾Á°¤ò¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËºÆ¥Ð¥¤¥ó¥É¤·(¸Å¤¤¥Ð¥¤¥ó¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É)¡¢¥ê¥â¡¼¥È¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥ó¥Ð¥¤¥ó¥É¤·¡¢¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ëURL¤ò¥ê¥¹¥Èɽ¼¨¤·¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-J +.RS 4 +Java¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Æ¡¢\fI\-J\fR¤Î¸å¤í¤Ë³¤¯¥ª¥×¥·¥ç¥ó¤òJava¥¤¥ó¥¿¥×¥ê¥¿¤Ë°ú¤­ÅϤ·¤Þ¤¹(\fI\-J\fR¤È¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏÆþ¤ì¤Þ¤»¤ó)¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -java(1)¡¢ -.na -\f2java.rmi.registry.LocateRegistry\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html¡¢¤ª¤è¤Ó -.na -\f2java.rmi.Naming\fP @ -.fi -http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +java(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI¡Öjava\&.rmi\&.registry\&.LocateRegistry¡×\fR(http://docs\&.oracle\&.com/javase/8/docs/api/java/rmi/registry/LocateRegistry\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fI¡Öjava\&.rmi\&.Naming class description¡×\fR(http://docs\&.oracle\&.com/javase/8/docs/api/java/rmi/Naming\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 b/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 index cb86632a14a..60deab8308d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 @@ -1,127 +1,158 @@ -." Copyright (c) 2005, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH schemagen 1 "07 May 2011" - -.LP -.SH "̾Á°" -schemagen \- XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java(TM) ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿ -.LP -.LP -\f3»ÅÍͥС¼¥¸¥ç¥ó:\fP 2.1 -.br -\f3¼ÂÁõ¥Ð¡¼¥¸¥ç¥ó:\fP 2.1.3 -.LP -.SH "schemagen ¤Îµ¯Æ°" -.LP -.LP -¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î bin ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë \f2ŬÀÚ¤Ê schemagen ¥·¥§¥ë¥¹¥¯¥ê¥×¥È\fP ¤ò»ÈÍÑ \f2¤·¤Þ¤¹\fP ¡£ -.LP -.LP -¸½ºß¤Î¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤â½èÍý¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -¤Þ¤¿¡¢¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ -.na -\f2schemagen ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html¤¿¤á¤Î¼ê½ç¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP +'\" t +.\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: schemagen +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "schemagen" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +schemagen \- Java¥¯¥é¥¹Æâ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤´¤È¤Ë¥¹¥­¡¼¥Þ¤òÀ¸À®¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -% schemagen.sh Foo.java Bar.java ... -.fl -Note: Writing schema1.xsd -.fl -\fP +\fIschemagen\fR [ \fIoptions\fR ] \fIjava\-files\fR .fi - -.LP -.LP -¥æ¡¼¥¶¡¼¤Î Java ¥½¡¼¥¹/¥¯¥é¥¹¤¬¤Û¤«¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥·¥¹¥Æ¥à¤Î ´Ä¶­ÊÑ¿ô·Ðͳ¤Ç¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï \f2\-classpath\fP/\f2\-cp\fP ¤ò»È¤Ã¤Æ¤½¤ì¤é¤Î¥¯¥é¥¹¤ò¥Ä¡¼¥ë¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥¹¥­¡¼¥Þ¤ÎÀ¸À®»þ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£ -.LP -.SS -¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.LP -.nf -\f3 -.fl -»ÈÍÑÊýË¡: schemagen [\-options ...] <java files> -.fl - -.fl -¥ª¥×¥·¥ç¥ó: -.fl - \-d <path> : ¥×¥í¥»¥Ã¥µ¤ª¤è¤Ó javac ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.fl - \-cp <path> : ¥æ¡¼¥¶¡¼»ØÄê¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.fl - \-classpath <path> : ¥æ¡¼¥¶¡¼»ØÄê¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ -.fl - \-encoding <encoding> : apt/javac ¸Æ¤Ó½Ð¤·¤Ë»ÈÍѤµ¤ì¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£ -.fl - -.fl - \-episode <file> : ¸ÄÊÌ¥³¥ó¥Ñ¥¤¥ëÍѤΥ¨¥Ô¥½¡¼¥É¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ -.fl - \-version : ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.fl - \-help : ¤³¤Î»ÈÍÑÊýË¡¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ -.fl -\fP -.fi - -.LP -.SH "À¸À®¤µ¤ì¤ë¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë" -.LP -.LP -¸½ºß¤Î¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ïñ½ã¤Ë¡¢Java ¥¯¥é¥¹Æâ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë̾Á°¶õ´Ö¤´¤È¤Ë 1 ¤Ä¤Î¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤ë¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÀ©¸æ¤¹¤ëÊýË¡¤Ï¡¢¸½»þÅÀ¤Ç¤Ï¸ºß¤·¤Þ¤»¤ó¡£¤½¤¦¤·¤¿ÌÜŪ¤Ë¤Ï¡¢ -.na -\f2¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Î ant ¥¿¥¹¥¯\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "̾Á°" -´ØÏ¢¹àÌÜ -.LP -.RS 3 -.TP 2 -o -¥¹¥­¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Î¼Â¹Ô (schemagen): [ -.na -\f2¥³¥Þ¥ó¥É¹Ô¤ÎÌ¿Îá\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html¡¢ -.na -\f2SchemaGen ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html] -.TP 2 -o -.na -\f2XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î JavaTM ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ (JAXB)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html +.if n \{\ .RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIjava\-files\fR +.RS 4 +½èÍý¤¹¤ëJava¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¡£ +.RE +.SH "ÀâÌÀ" +.PP +¥¹¥­¡¼¥Þ¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢Java¥¯¥é¥¹Æâ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤´¤È¤Ë1¤Ä¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¸½ºß¡¢À¸À®¤µ¤ì¤ë¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤Î̾Á°¤ÏÀ©¸æ¤Ç¤­¤Þ¤»¤ó¡£¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë̾¤òÀ©¸æ¤¹¤ë¾ì¹ç¤Ï¡¢http://jaxb\&.java\&.net/nonav/2\&.2\&.3u1/docs/schemagenTask\&.html¤Ë¤¢¤ë +¡ÖUsing SchemaGen with Ant¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Îbin¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ëŬÀÚ¤Ê\fIschemagen\fR¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¡¢¥¹¥­¡¼¥Þ¡¦¥¸¥§¥Í¥ì¡¼¥¿¤òµ¯Æ°¤·¤Þ¤¹¡£¸½ºß¤Î¥¹¥­¡¼¥Þ¡¦¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢Java¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤â½èÍý¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +schemagen\&.sh Foo\&.java Bar\&.java \&.\&.\&. +Note: Writing schema1\&.xsd +.fi +.if n \{\ +.RE +.\} +.PP +java¥Õ¥¡¥¤¥ë¤¬Â¾¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¥·¥¹¥Æ¥à\fICLASSPATH\fR´Ä¶­ÊÑ¿ô¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¤Ï¡¢¥¯¥é¥¹¡¦¥Ñ¥¹¡¦¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ\fIschemagen\fR¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡¢¤Þ¤¿¤Ï»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¹¥­¡¼¥Þ¤ÎÀ¸À®»þ¤Ë¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-d \fIpath\fR +.RS 4 +\fIschemagen\fR¥³¥Þ¥ó¥É¤¬¥×¥í¥»¥Ã¥µÀ¸À®¤ª¤è¤Ó\fIjavac\fRÀ¸À®¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-cp \fIpath\fR +.RS 4 +\fIschemagen\fR¥³¥Þ¥ó¥É¤¬¥æ¡¼¥¶¡¼»ØÄê¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-classpath \fIpath\fR +.RS 4 +\fIschemagen\fR¥³¥Þ¥ó¥É¤¬¥æ¡¼¥¶¡¼»ØÄê¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-encoding \fIencoding\fR +.RS 4 +\fIapt\fR¤Þ¤¿¤Ï\fIjavac\fR¥³¥Þ¥ó¥É¤Î¸Æ½Ð¤·¤Ë»ÈÍѤ¹¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-episode \fIfile\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤´¤È¤Ë¥¨¥Ô¥½¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Using SchemaGen with Ant -.LP - +(http://jaxb\&.java\&.net/nonav/2\&.2\&.3u1/docs/schemagenTask\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Java Architecture for XML Binding (JAXB) + +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/xml/jaxb/index\&.html) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 b/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 index e06b12e9de1..e527c1694f4 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 @@ -1,97 +1,144 @@ -." Copyright (c) 1997, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH serialver 1 "07 May 2011" - -.LP -.SH "̾Á°" -serialver \- ¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó¥³¥Þ¥ó¥É -.LP -.LP -\f3serialver\fP ¥³¥Þ¥ó¥É¤Ï \f2serialVersionUID\fP ¤òÊÖ¤·¤Þ¤¹¡£ -.LP -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: serialver +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Remote Method Invocation (RMI)¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "serialver" "1" "2013ǯ11·î21Æü" "JDK 8" "Remote Method Invocation (RMI)" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +serialver \- »ØÄꤷ¤¿¥¯¥é¥¹¤Î¥·¥ê¥¢¥ë¡¦¥Ð¡¼¥¸¥ç¥óUID¤òÌᤷ¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3serialver\fP [ options ] [ classnames ] -.fl +\fIserialver\fR [ \fIoptions\fR ] [ \fIclassnames\fR ] .fi - -.LP -.RS 3 -.TP 3 -options -¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ -.TP 3 -classnames -1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹Ì¾¤Ç¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIclassnames\fR +.RS 4 +\fIserialVersionUID\fR¤òÌ᤹¥¯¥é¥¹¤Ç¤¹¡£ .RE - -.LP .SH "ÀâÌÀ" -.LP -.LP -\f3serialver\fP ¤Ï¡¢1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î \f2serialVersionUID\fP ¤ò¡¢Å¸³«¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ø¥³¥Ô¡¼¤¹¤ë¤Î¤ËŬ¤·¤¿·Á¼°¤ÇÊÖ¤·¤Þ¤¹¡£°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç¸Æ¤Ó½Ð¤¹¤È¡¢»ÈÍÑÊýË¡¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -.LP +.PP +\fIserialver\fR¥³¥Þ¥ó¥É¤Ï¡¢1¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î\fIserialVersionUID\fR¤ò¡¢Å¸³«¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ø¥³¥Ô¡¼¤¹¤ë¤Î¤ËŬ¤·¤¿·Á¼°¤ÇÊÖ¤·¤Þ¤¹¡£°ú¿ô¤Ê¤·¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¡¢\fIserialver\fR¥³¥Þ¥ó¥É¤Ï»ÈÍÑΨ¹Ô¤ò½ÐÎϤ·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-classpath <: ¤Ç¶èÀÚ¤é¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤È zip ¤ä jar ¥Õ¥¡¥¤¥ë> -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤ª¤è¤Ó¥ê¥½¡¼¥¹¤Î¸¡º÷¥Ñ¥¹¤òÀßÄꤷ¤Þ¤¹¡£ +.PP +\-classpath \fIpath\-files\fR +.RS 4 +¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤ª¤è¤Ó¥ê¥½¡¼¥¹¤Î¸¡º÷¥Ñ¥¹¤òÀßÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¤È¥ê¥½¡¼¥¹¤ò¥³¥í¥ó(:)¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ .RE - -.LP -.RS 3 -.TP 3 -\-show -´Êñ¤Ê¥æ¡¼¥¶¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¼¨¤·¤Þ¤¹¡£´°Á´»ØÄê¤Î¥¯¥é¥¹Ì¾¤òÆþÎϤ·¤Æ¡¢Enter ¥­¡¼¤«¡ÖShow¡×¥Ü¥¿¥ó¤ò²¡¤·¡¢¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó UID ¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.PP +\-show +.RS 4 +´Êñ¤Ê¥æ¡¼¥¶¡¼¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¼¨¤·¤Þ¤¹¡£´°Á´»ØÄê¤Î¥¯¥é¥¹Ì¾¤òÆþÎϤ·¤Æ¡¢Enter¥­¡¼¤«¡Öɽ¼¨¡×¥Ü¥¿¥ó¤ò²¡¤·¡¢\fIserialVersionUID\fR¤òɽ¼¨¤·¤Þ¤¹¡£ .RE - -.LP -.SH "Ãí" -.LP -.LP -\f3serialver\fP ¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¤½¤Î²¾ÁÛ¥Þ¥·¥óÆâ¤ËÆÉ¤ß¹þ¤ó¤Ç½é´ü²½¤·¤Þ¤¹¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ÎÀßÄê¤Ï¹Ô¤¤¤Þ¤»¤ó¡£¿®Íê¤Ç¤­¤Ê¤¤¥¯¥é¥¹¤È¤È¤â¤Ë \f3serialver\fP ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥»¥­¥å¥ê¥Æ¥£¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤òÀßÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2\-J\-Djava.security.manager\fP -.LP -.LP -¤Þ¤¿¡¢É¬ÍפǤ¢¤ì¤Ð¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥»¥­¥å¥ê¥Æ¥£¡¼¥Ý¥ê¥·¡¼¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ -.LP -.LP -\f2\-J\-Djava.security.policy=<policy file>\fP -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.LP -.na -\f2java.io.ObjectStreamClass\fP @ +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£option¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "Ãí°Õ" +.PP +\fIserialver\fR¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¤½¤Î²¾ÁÛ¥Þ¥·¥óÆâ¤ËÆÉ¤ß¹þ¤ó¤Ç½é´ü²½¤·¤Þ¤¹¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¡¦¥Þ¥Í¡¼¥¸¥ã¤ÎÀßÄê¤Ï¹Ô¤¤¤Þ¤»¤ó¡£¿®Íê¤Ç¤­¤Ê¤¤¥¯¥é¥¹¤È¤È¤â¤Ë\fIserialver\fR¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥»¥­¥å¥ê¥Æ¥£¡¦¥Þ¥Í¡¼¥¸¥ã¤òÀßÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-J\-Djava\&.security\&.manager .fi -http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html -.LP - +.if n \{\ +.RE +.\} +.PP +ɬÍפǤ¢¤ì¤Ð¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥»¥­¥å¥ê¥Æ¥£¡¦¥Ý¥ê¥·¡¼¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\-J\-Djava\&.security\&.policy=<policy file> +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +policytool(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://docs\&.oracle\&.com/javase/8/docs/api/java/io/ObjectStreamClass\&.html¤Ë¤¢¤ë +\fIjava\&.io\&.ObjectStream\fR¥¯¥é¥¹µ­½Ò +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 index 2e8fc6d97e3..71ab6b65ed1 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 @@ -1,113 +1,199 @@ -." Copyright (c) 2001, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH servertool 1 "07 May 2011" - -.LP -.SH "̾Á°" -servertool \- Java(TM) IDL ¥µ¡¼¥Ð¡¼¥Ä¡¼¥ë -.LP -\f3servertool\fP ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢¤ª¤è¤ÓÄä»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ -.SH "·Á¼°" -.LP +'\" t +.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: servertool +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "servertool" "1" "2013ǯ11·î21Æü" "JDK 8" "Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +servertool \- ³«È¯¼Ô¤¬±Ê³¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤¹¤ë¤¿¤á¤Î»È¤¤¤ä¤¹¤¤¥æ¡¼¥¶¡¼¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -servertool \-ORBInitialPort \fP\f4nameserverport\fP\f3 \fP\f3options\fP\f3 [ \fP\f3commands\fP\f3 ] -.fl -\fP +\fIservertool\fR \-ORBInitialPort \fInameserverport\fR [ \fIoptions\fR ] [ \fIcommands \fR] .fi - -.LP -.LP -¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Ê¤¤¤Ç \f2servertool\fP ¤òµ¯Æ°¤¹¤ë¤È¡¢¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¤·¤Æ \f2servertool >\fP ¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\f2servertool >\fP ¥×¥í¥ó¥×¥È¤Ë¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£ -.LP -.LP -¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ \f2servertool\fP ¤òµ¯Æ°¤¹¤ë¤È¡¢Java IDL ¥µ¡¼¥Ð¡¼¥Ä¡¼¥ë¤¬µ¯Æ°¤·¡¢¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ -.LP -.LP -\f2\-ORBInitialPort\fP \f2nameserverport\fP ¥ª¥×¥·¥ç¥ó¤Ï\f3ɬ¿Ü\fP¤Ç¤¹¡£ \f2nameserverport\fP ¤ÎÃͤˤϡ¢\f2orbd\fP ¤¬¼Â¹Ô¤µ¤ì¡¢Ãå¿®Í×µá¤òÂÔµ¡¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢\f2nameserverport\fP¤È¤·¤Æ 1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +commands +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥³¥Þ¥ó¥É¡£¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIservertool\fR\fIservertool >\fR\fIservertool >\fR .SH "ÀâÌÀ" -.LP -.LP -\f2servertool\fP ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢¤ª¤è¤ÓÄä»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¤½¤Î¤Û¤«¤Ë¡¢¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¤µ¤Þ¤¶¤Þ¤ÊÅý·×¾ðÊó¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤âÄ󶡤·¤Þ¤¹¡£ -.LP +.PP +\fIservertool\fR¥³¥Þ¥ó¥É¤Ï¡¢³«È¯¼Ô¤¬±Ê³¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ëÍÍ¡¹¤ÊÅý·×¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¡£¥³¥Þ¥ó¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-ORBInitialHost nameserverhost -¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬¡¢¼Â¹Ô¤µ¤ì¡¢Ãå¿®Í×µá¤òÂÔµ¡¤·¤Æ¤¤¤ë¥Û¥¹¥È¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢\f2nameserverhost\fP ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç \f2localhost\fP ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2orbd\fP ¤È \f2servertool\fP ¤¬°Û¤Ê¤ë¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2orbd\fP ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤È IP ¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.PP +\-ORBInitialHost \fInameserverhost\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¤Ç¤¹¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¡¢Ãå¿®¥ê¥¯¥¨¥¹¥È¤ò¥ê¥¹¥Ë¥ó¥°¤¹¤ë¥Û¥¹¥È¡¦¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\fInameserverhost\fRÃͤϡ¢\fIorb\fR¤¬¼Â¹Ô¤µ¤ì¡¢¥ê¥¯¥¨¥¹¥È¤ò¥ê¥¹¥Ë¥ó¥°¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢Ãͤϥǥե©¥ë¥È¤Ç\fIlocalhost\fR¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\fIorbd\fR¤È\fIservertool\fR¤¬°Û¤Ê¤ë¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fIorbd\fR¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤Þ¤¿¤ÏIP¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.sp +\fBÃí°Õ:\fR +Oracle Solaris¤Ç¤Ï¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¾å¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fInameserverport\fRÃͤˤϡ¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP .SH "¥³¥Þ¥ó¥É" -.LP -.RS 3 -.TP 3 -register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ] -Object Request Broker Daemon (ORBD) ¤Ë¿·µ¬»ý³¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬Ì¤ÅÐÏ¿¤Î¾ì¹ç¡¢ÅÐÏ¿¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\f2\-server\fP ¥ª¥×¥·¥ç¥ó¤Ç¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¡¼¤Î¥á¥¤¥ó¥¯¥é¥¹Æâ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢\f2public static void install(org.omg.CORBA.ORB)\fP ¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥¹¥­¡¼¥Þ¤ÎºîÀ®¤Ê¤É¤ÎÆÈ¼«¤Î¥µ¡¼¥Ð¡¼¥¤¥ó¥¹¥È¡¼¥ëưºî¤ò³«È¯¼Ô¤¬»ØÄê¤Ç¤­¤Þ¤¹¡£ -.TP 3 -unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> -¥µ¡¼¥Ð¡¼ ID ¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò»ÈÍѤ·¤Æ¡¢ORBD ¤Î¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¤ò²ò½ü¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\f2\-server\fP ¥ª¥×¥·¥ç¥ó¤Ç¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¡¼¤Î¥á¥¤¥ó¥¯¥é¥¹Æâ¤Ç¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢\f2public static void uninstall(org.omg.CORBA.ORB)\fP ¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Îưºî¤Î¼è¤ê¾Ã¤·¤Ê¤É¤ÎÆÈ¼«¤Î¥µ¡¼¥Ð¡¼¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ëưºî¤ò³«È¯¼Ô¤¬»ØÄê¤Ç¤­¤Þ¤¹¡£ -.TP 3 -getserverid \-applicationName\ <application\ name> -¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼ ID ¤òÊÖ¤·¤Þ¤¹¡£ -.TP 3 -list -ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î»ý³¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -listappnames -¸½ºß ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -listactive -ORDB ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¡¢¸½ºß¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î»ý³¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ] -ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤ÇºîÀ®¤·¤¿¤¹¤Ù¤Æ¤Î ORB ¤ÎÆÃÄê¤Î·¿¤Ë¤Ä¤¤¤ÆÃ¼ÅÀ (¥Ý¡¼¥È) ¤ò¸¡½Ð¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢µ¯Æ°¤µ¤ì¤Þ¤¹¡£Ã¼ÅÀ¤Î·¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤Î ORB ¤´¤È¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë plain ·¿ ¤Þ¤¿¤Ï non\-protected ·¿¤ÎüÅÀ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ] -ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤ÎÆÃÄê¤Î ORB ¤ÇÅÐÏ¿¤µ¤ì¤¿Ã¼ÅÀ (¥Ý¡¼¥È) ¤ò¸¡½Ð¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢µ¯Æ°¤µ¤ì¤Þ¤¹¡£\f2orbid\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤΡÖ""¡×¤¬\f2orbid\fP¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ORB ¤¬¶õʸ»úÎó¤Î \f2orbid\fP ¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ÅÐÏ¿¤·¤¿¥Ý¡¼¥È¤¬¤¹¤Ù¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> -¥µ¡¼¥Ð¡¼¾å¤ËÄêµÁ¤µ¤ì¤¿ ORB ¤Î ORBId ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ORBId ¤Ï¥µ¡¼¥Ð¡¼¤ÇºîÀ®¤µ¤ì¤¿ ORB ¤Îʸ»úÎó̾¤Ç¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢µ¯Æ°¤µ¤ì¤Þ¤¹¡£ -.TP 3 -shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> -ORBD ¤ËÅÐÏ¿¤µ¤ì¤¿¥¢¥¯¥Æ¥£¥Ö¤Ê¥µ¡¼¥Ð¡¼¤òÄä»ß¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¡¢\f2\-serverid\fP ¥Ñ¥é¥á¡¼¥¿¤Þ¤¿¤Ï \f2\-applicationName\fP ¥Ñ¥é¥á¡¼¥¿¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿ \f2shutdown()\fP ¥á¥½¥Ã¥É¤â¸Æ¤Ó½Ð¤µ¤ì¤Æ¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤òÀµ¤·¤¯Ää»ß¤·¤Þ¤¹¡£ -.TP 3 -startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> -ORBD ¤ËÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ç¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¤¹¤Ç¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.TP 3 -help -¥µ¡¼¥Ð¡¼¤¬¥µ¡¼¥Ð¡¼¥Ä¡¼¥ë¤Ç»ÈÍѤǤ­¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -quit -¥µ¡¼¥Ð¡¼¥Ä¡¼¥ë¤ò½ªÎ»¤·¤Þ¤¹¡£ +.PP +\fIservertool\fR¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¤Þ¤¿¤Ï»ÈÍѤ»¤º¤Ëµ¯Æ°¤Ç¤­¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIservertool\fR¤Îµ¯Æ°»þ¤Ë¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥Ä¡¼¥ë¤Ë¥³¥Þ¥ó¥ÉÆþÎϤòµá¤á¤ë\fIservertool\fR¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹: +\fIservertool >\fR¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fIservertool\fR¤Îµ¯Æ°»þ¤Ë¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Java IDL Server Tool¤¬µ¯Æ°¤·¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢½ªÎ»¤·¤Þ¤¹¡£ +.RE +.PP +register \-server \fIserver\-class\-name\fR \-classpath \fIclasspath\-to\-server\fR [ \-applicationName \fIapplication\-name\fR \-args \fIargs\-to\-server\fR \-vmargs \fIflags\-for\-JVM\fR ] +.RS 4 +Object Request Broker Daemon (ORBD)¤Ë¿·µ¬±Ê³¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬Ì¤ÅÐÏ¿¤Î¾ì¹ç¡¢ÅÐÏ¿¤·¤Æ¥¢¥¯¥Æ¥£¥Ö²½¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\fI\-server\fR¥ª¥×¥·¥ç¥ó¤Ç¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¡¼¤Î\fI¥á¥¤¥ó\fR¡¦¥¯¥é¥¹Æâ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¡¦¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¦¥á¥½¥Ã¥É¤Ï¡¢\fIpublic static void install(org\&.omg\&.CORBA\&.ORB)\fR¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¤¥ó¥¹¥È¡¼¥ë¡¦¥á¥½¥Ã¥É¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢³«È¯¼Ô¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¹¥­¡¼¥Þ¤ÎºîÀ®¤Ê¤ÉÆÈ¼«¤Î¥µ¡¼¥Ð¡¼¡¦¥¤¥ó¥¹¥È¡¼¥ëưºî¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +unregister \-serverid \fIserver\-id\fR | \-applicationName \fIapplication\-name\fR +.RS 4 +¥µ¡¼¥Ð¡¼ID¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤Ç¡¢¥µ¡¼¥Ð¡¼¤òORBD¤«¤éÅÐÏ¿²ò½ü¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢\fI\-server\fR¥ª¥×¥·¥ç¥ó¤Ç¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¡¼¤Î\fI¥á¥¤¥ó\fR¡¦¥¯¥é¥¹Æâ¤Ç¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¡¦¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ +\fIuninstall\fR¥á¥½¥Ã¥É¤Ï¡¢\fIpublic static void uninstall(org\&.omg\&.CORBA\&.ORB)\fR¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\fIuninstall\fR¥á¥½¥Ã¥É¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢³«È¯¼Ô¤Ï\fIinstall\fR¥á¥½¥Ã¥É¤Îưºî¤Î¼è¾Ã¤Ê¤É¡¢ÆÈ¼«¤Î¥µ¡¼¥Ð¡¼¡¦¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ëưºî¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ +.RE +.PP +getserverid \-applicationName \fIapplication\-name\fR +.RS 4 +\fIapplication\-name\fRÃͤËÂбþ¤¹¤ë¥µ¡¼¥Ð¡¼ID¤òÊÖ¤·¤Þ¤¹¡£ +.RE +.PP +list +.RS 4 +ORBD¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î±Ê³¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +listappnames +.RS 4 +¸½ºßORBD¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +listactive +.RS 4 +ORBD¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¡¢¸½ºß¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î±Ê³¥µ¡¼¥Ð¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +locate \-serverid \fIserver\-id\fR | \-applicationName \fIapplication\-name\fR [ \-endpointType \fIendpointType\fR ] +.RS 4 +ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤ÇºîÀ®¤·¤¿¤¹¤Ù¤Æ¤ÎORB¤ÎÆÃÄê¤Î¥¿¥¤¥×¤Ë¤Ä¤¤¤Æ¥¨¥ó¥É¥Ý¥¤¥ó¥È(¥Ý¡¼¥È)¤ò¸¡½Ð¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¢¥¯¥Æ¥£¥Ö²½¤µ¤ì¤Þ¤¹¡£\fIendpointType\fRÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤ÎORB¤´¤È¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ëplain¥¿¥¤¥×¤Þ¤¿¤Ïnon\-protected¥¿¥¤¥×¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +locateperorb \-serverid \fIserver\-id\fR | \-applicationName \fIapplication\-name\fR [ \-orbid \fIORB\-name\fR ] +.RS 4 +ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤ÎÆÃÄê¤ÎObject Request Broker (ORB)¤ÇÅÐÏ¿¤µ¤ì¤¿¥¨¥ó¥É¥Ý¥¤¥ó¥È(¥Ý¡¼¥È)¤ò¸¡½Ð¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¢¥¯¥Æ¥£¥Ö²½¤µ¤ì¤Þ¤¹¡£\fIorbid\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤÎ\fI""\fR¤¬\fIorbid\fR¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ORB¤¬¶õʸ»úÎó¤Î\fIorbid\fR¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ÅÐÏ¿¤·¤¿¥Ý¡¼¥È¤¬¤¹¤Ù¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +orblist \-serverid \fIserver\-id\fR | \-applicationName \fIapplication\-name\fR +.RS 4 +¥µ¡¼¥Ð¡¼¾å¤ËÄêµÁ¤µ¤ì¤¿ORB¤Î\fIORBId\fR¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£\fIORBId\fR¤Ï¥µ¡¼¥Ð¡¼¤ÇºîÀ®¤µ¤ì¤¿ORB¤Îʸ»úÎó̾¤Ç¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¢¥¯¥Æ¥£¥Ö²½¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +shutdown \-serverid \fIserver\-id\fR | \-applicationName application\-name +.RS 4 +ORBD¤ËÅÐÏ¿¤µ¤ì¤¿¥¢¥¯¥Æ¥£¥Ö¤Ê¥µ¡¼¥Ð¡¼¤òÄä»ß¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¡¢\fI\-serverid\fR¥Ñ¥é¥á¡¼¥¿¤Þ¤¿¤Ï\fI\-applicationName\fR¥Ñ¥é¥á¡¼¥¿¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤ËÄêµÁ¤µ¤ì¤¿\fIshutdown\fR¥á¥½¥Ã¥É¤â¸Æ¤Ó½Ð¤µ¤ì¤Æ¥µ¡¼¥Ð¡¼¡¦¥×¥í¥»¥¹¤òÄä»ß¤·¤Þ¤¹¡£ +.RE +.PP +startup \-serverid \fIserver\-id\fR | \-applicationName application\-name +.RS 4 +ORBD¤ËÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤Þ¤¿¤Ï¥¢¥¯¥Æ¥£¥Ö²½¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤¬¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤¬¤¹¤Ç¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +help +.RS 4 +\fIservertool\fR¥³¥Þ¥ó¥É¤ò²ð¤·¤Æ¥µ¡¼¥Ð¡¼¤¬ÍøÍѤǤ­¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£ +.RE +.PP +quit +.RS 4 +\fIservertool\fR¥³¥Þ¥ó¥É¤ò½ªÎ»¤·¤Þ¤¹¡£ .RE - -.LP .SH "´ØÏ¢¹àÌÜ" -.LP -orbd(1) +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +orbd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 b/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 index 229c3af8300..7a924315f3b 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 @@ -1,495 +1,425 @@ -." Copyright (c) 1999, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH tnameserv 1 "07 May 2011" - -.LP -.SH "̾Á°" -Java IDL: °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \- \f2tnameserv\fP -.LP -.LP -¤³¤Î¥É¥­¥å¥á¥ó¥È¤Ç¤Ï¡¢Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \f2tnameserv\fP ¤Î»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£Java IDL ¤Ë¤Ï¡¢Object Request Broker Daemon (ORBD) ¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ORBD ¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥µ¡¼¥Ó¥¹¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢\f3»ý³\fP¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡¼¤ò´Þ¤à¥Ç¡¼¥â¥ó¥×¥í¥»¥¹¤Ç¤¹¡£Java IDL ¤Î¤¹¤Ù¤Æ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï ORBD ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ëÎã¤Ç¤Ï¡¢\f2orbd\fP ¤ÎÂå¤ï¤ê¤Ë \f2tnameserv\fP ¤ò»ÈÍѤǤ­¤Þ¤¹¡£\f2orbd\fP ¥Ä¡¼¥ë¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢orbd ¤Î orbd(1)¤Þ¤¿¤Ï -.na -\f2ORBD ¤Ë´Þ¤Þ¤ì¤ë Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹\fP @ +'\" t +.\" Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: tnameserv +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "tnameserv" "1" "2013ǯ11·î21Æü" "JDK 8" "Java IDL¤ª¤è¤ÓRMI-IIOP¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +tnameserv \- ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì(IDL)¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fItnameserve\fR \fI\-ORBInitialPort\fR [ \fInameserverport\fR ] .fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html¤Ë´Ø¤¹¤ë¥È¥Ô¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -¤³¤³¤Ç¤Ï¡¢°Ê²¼¤Î¹àÌܤˤĤ¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ -.TP 2 -o -Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ° -.TP 2 -o -Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÎÄä»ß -.TP 2 -o -¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲà -.TP 2 -o -¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Î¥Ö¥é¥¦¥º +.if n \{\ .RE - -.LP -.SH "Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹" -.LP -.LP -CORBA ¤Î COS (Common Object Services) ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ËÂФ·¤Æ¥Ä¥ê¡¼¹½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄ󶡤·¤Þ¤¹¡£Java IDL ¤Î°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤¢¤ë \f2tnameserv\fP ¤Ï¡¢COS ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î»ÅÍͤòñ½ã¤Ê·Á¤Ç¼ÂÁõ¤·¤¿¤â¤Î¤Ç¤¹¡£ -.LP -.LP -¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï̾Á°¶õ´Ö¤Ë̾Á°¤Ç³ÊǼ¤µ¤ì¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤È̾Á°¤Î¥Ú¥¢¤Ï¡¢¤½¤ì¤¾¤ì¡Ö¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡Ö¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¡×¤ËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ï¤½¤ì¼«ÂΤ¬¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¢¤ê¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸ÊÔÀ®µ¡Ç½¤ò»ý¤Á¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡Ö½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¡×¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£Ì¾Á°¶õ´Ö¤Ë¤ª¤¤¤Æ¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ÏÍ£°ì¤Î»ý³Ū¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¹¡£¤½¤ì°Ê³°¤Î¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ï¡¢Java IDL ¤Î¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¥×¥í¥»¥¹¤¬Ää»ß¤·¡¢ºÆµ¯Æ°¤µ¤ì¤ë¤È¼º¤ï¤ì¤Þ¤¹¡£ -.LP -.LP -¥¢¥×¥ì¥Ã¥È¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é COS ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤Î ORB ¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥Ý¡¼¥È¤òÃΤäƤ¤¤ë¤«¡¢¤½¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îʸ»úÎ󲽤µ¤ì¤¿½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢Java IDL ¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤â¤½¤Î¾¤Î COS ½àµò¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ -.LP -.SH "Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°" -.LP -.LP -Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤è¤êÁ°¤Ëµ¯Æ°¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£Java\ IDL À½Éʤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢Java\ IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤¹¤ë¥¹¥¯¥ê¥×¥È (Solaris: \f2tnameserv\fP) ¤Þ¤¿¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë (Windows NT: \f2tnameserv.exe\fP) ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çưºî¤¹¤ë¤è¤¦¤Ë¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -ÆÃ¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢ORB ¤Î \f2resolve_initial_references()\fP ¥á¥½¥Ã¥É¤È \f2list_initial_references()\fP ¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë»ÈÍѤ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥×¥í¥È¥³¥ë¤ËÂФ·¤Æ¥Ý¡¼¥È 900 ¤ÇÂÔµ¡¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - tnameserv \-ORBInitialPort \fP\f4nameserverport\fP\f3& -.fl -\fP -.fi - -.LP -.LP -¥Í¡¼¥à¥µ¡¼¥Ð¡¼¥Ý¡¼¥È¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ý¡¼¥È 900 ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤Î¼Â¹Ô»þ¤Ï¡¢1024 ¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¾ì¹ç¡¢root ¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 ¤Þ¤¿¤Ï 1024 ¤è¤ê¤âÂ礭¤¤¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£1050 ¤Î¤è¤¦¤ËÊ̤Υݡ¼¥È¤ò»ØÄꤷ¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤Ç¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - tnameserv \-ORBInitialPort 1050& -.fl -\fP -.fi - -.LP -.LP -Windows ¤Î MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl - start tnameserv \-ORBInitialPort 1050 -.fl -\fP -.fi - -.LP -.LP -¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¡¢¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÃΤ餻¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ORB ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë \f2org.omg.CORBA.ORBInitialPort\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤Ë¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÀßÄꤷ¤Þ¤¹¡£ -.LP -.SS -°Û¤Ê¤ë¥Þ¥·¥ó¾å¤Ç¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¼Â¹Ô -.LP -.LP -Java IDL ¤È RMI\-IIOP ¤Î¤Û¤È¤ó¤É¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢¥µ¡¼¥Ð¡¼¡¢¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤Ï¤¹¤Ù¤Æ³«È¯ÍѤΥޥ·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¼ÂºÝ¤ËÇÛÈ÷¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ò¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤È¤Ï°Û¤Ê¤ë¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬Â¿¤¯¤Ê¤ê¤Þ¤¹¡£ -.LP -.LP -¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤È¥Û¥¹¥È¤òǧ¼±¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥Õ¥¡¥¤¥ëÆâ¤Î \f2org.omg.CORBA.ORBInitialPort\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤È \f2org.omg.CORBA.ORBInitialHost\fP ¥×¥í¥Ñ¥Æ¥£¡¼¤ò¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤È¥Þ¥·¥ó¤Î̾Á°¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ï¡¢ -.na -\f2¡ÖRMI\-IIOP ¤ò»È¤Ã¤¿ Hello World ¤ÎÎã¡×¤Ë¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.html¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó \f2\-ORBInitialPort\fP \f2nameserverport#\fP ¤È \f2\-ORBInitialHost\fP \f2nameserverhostname\fP ¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËÂФ·¤Æ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òõ¤¹¾ì½ê¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ -.na -\f2¡ÖJava IDL: 2 Âæ¤Î¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤¹¤ë Hello World ¥×¥í¥°¥é¥à¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html ¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ»ØÄꤹ¤ëÊýË¡¤¬¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.LP -.LP -¤¿¤È¤¨¤Ð¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \f2tnameserv\fP ¤¬¡¢¥Û¥¹¥È \f2nameserverhost\fP ¤Î¥Ý¡¼¥È 1050 ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Û¥¹¥È \f2clienthost\fP ¾å¤Ç¼Â¹Ô¤µ¤ì¡¢¥µ¡¼¥Ð¡¼¤Ï¥Û¥¹¥È \f2serverhost\fP ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -¼¡¤Î¤è¤¦¤Ë¡¢¥Û¥¹¥È \f2nameserverhost\fP ¾å¤Ç \f2tnameserv\fP ¤òµ¯Æ°¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - tnameserv \-ORBInitialPort 1050 -.fl - -.fl -\fP -.fi -.TP 2 -o -\f2serverhost\fP ¾å¤Ç¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - java Server \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost -.fl -\fP -.fi -.TP 2 -o -\f2clienthost\fP ¾å¤Ç¥¯¥é¥¤¥¢¥ó¥È¤òµ¯Æ°¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - java Client \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost -.fl -\fP -.fi +.\} +.PP +\-ORBInitialPort \fInameserverport\fR +.RS 4 +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬ORB¤Î\fIresolve_initial_references\fR¥á¥½¥Ã¥É¤È\fIlist_initial_references\fR¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë»ÈÍѤ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥×¥í¥È¥³¥ë¤ò¥ê¥¹¥Ë¥ó¥°¤¹¤ë½é´ü¥Ý¡¼¥È¤Ç¤¹¡£ .RE - -.LP -.SS -\-J ¥ª¥×¥·¥ç¥ó -.LP -¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2tnameserve\fP ¤È¤È¤â¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ -.RS 3 -.TP 3 -\-Joption -Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£\f2option\fP ¤Ë¤Ï¡¢java(1)¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¡¼¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ +.SH "ÀâÌÀ" +.PP +Java IDL¤Ë¤Ï¡¢Object Request Broker Daemon (ORBD)¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ORBD¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥µ¡¼¥Ó¥¹¡¢°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¡¢±Ê³¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¡¦¥Þ¥Í¡¼¥¸¥ã¤ò´Þ¤à¥Ç¡¼¥â¥ó¡¦¥×¥í¥»¥¹¤Ç¤¹¡£Java IDL¤Î¤¹¤Ù¤Æ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤ÏORBD¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢°ì»þ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ëÎã¤Ç¤Ï¡¢\fIorbd\fR¤Î¤«¤ï¤ê¤Ë\fItnameserv\fR¤ò»ÈÍѤǤ­¤Þ¤¹¡£ +.PP +http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/jidlNaming\&.html¤Ë¤¢¤ë +orbd(1)¤Þ¤¿¤Ï¡ÖNaming Service¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +CORBA¤ÎCOS (Common Object Services)¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ËÂФ·¤Æ¥Ä¥ê¡¼¹½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄ󶡤·¤Þ¤¹¡£Java IDL¤Î°ì»þ¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤¢¤ë\fItnameserv\fR¤Ï¡¢COS¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Î»ÅÍͤòñ½ã¤Ê·Á¤Ç¼ÂÁõ¤·¤¿¤â¤Î¤Ç¤¹¡£ +.PP +¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ë̾Á°¤Ç³ÊǼ¤µ¤ì¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤È̾Á°¤Î¥Ú¥¢¤Ï¡¢¤½¤ì¤¾¤ì¥Í¡¼¥à¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¥Í¡¼¥à¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Ï¥Í¡¼¥à¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¢¤ê¡¢¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸ÊÔÀ®µ¡Ç½¤ò»ý¤Á¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î²¼¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Ï¡¢¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤ÎÍ£°ì¤Î±Ê³¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¹¡£Java IDL¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¡¦¥×¥í¥»¥¹¤òÄä»ß¤·¤ÆºÆµ¯Æ°¤¹¤ë¤È¡¢»Ä¤ê¤Î¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ï¼º¤ï¤ì¤Þ¤¹¡£ +.PP +¥¢¥×¥ì¥Ã¥È¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤éCOS¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤ÎORB¤¬¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥Ý¡¼¥È¤òÃΤäƤ¤¤ë¤«¡¢¤½¤Î¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Î½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥Èʸ»úÎó¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢Java IDL¤Î¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤â¤½¤Î¾¤ÎCOS½àµò¤Î¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ +.SS "¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°" +.PP +Java IDL¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤è¤êÁ°¤Ëµ¯Æ°¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£Java IDLÀ½Éʤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢Java IDL¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤¹¤ë¥¹¥¯¥ê¥×¥È(Oracle Solaris: +\fItnameserv\fR)¤Þ¤¿¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë(Windows: +\fItnameserv\&.exe\fR)¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çưºî¤¹¤ë¤è¤¦¤Ë¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +ÆÃ¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢Java IDL¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Ï¡¢ORB¤Î\fIresolve_initial_references\fR¥á¥½¥Ã¥É¤È\fIlist_initial_references methods\fR¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë»ÈÍѤ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¡¦¥×¥í¥È¥³¥ë¤ËÂФ·¤Æ¥Ý¡¼¥È900¤Ç¥ê¥¹¥Ë¥ó¥°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +tnameserv \-ORBInitialPort nameserverport& +.fi +.if n \{\ .RE - -.LP -.SH "Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÎÄä»ß" -.LP -.LP -Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Unix ¤Î¾ì¹ç¤Ï¡¢\f2kill\fP ¤Ê¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥³¥Þ¥ó¥É¤ò»È¤¤¡¢Windows ¤Î¾ì¹ç¤Ï¡¢\f2Ctrl\-C\fP ¤ò»È¤¤¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òÌÀ¼¨Åª¤ËÄä»ß¤¹¤ë¤Þ¤Ç¤Ï¡¢¸Æ¤Ó½Ð¤·ÂÔµ¡¾õÂÖ¤¬Â³¤­¤Þ¤¹¡£¤Ê¤ª¡¢¥µ¡¼¥Ó¥¹¤ò½ªÎ»¤µ¤»¤ë¤È¡¢Java IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë̾Á°¤Ï¼º¤ï¤ì¤Þ¤¹¡£ -.LP -.SH "¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲÃ" -.LP -.LP -¼¡¤Ë¼¨¤¹¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢Ì¾Á°¤ò̾Á°¶õ´Ö¤ËÄɲ乤ëÊýË¡¤ò¼¨¤¹¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢¤³¤Î¤Þ¤Þ¤Î¾õÂ֤Ǵ°Á´¤Ëưºî¤¹¤ë°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢¼¡¤Î¤è¤¦¤Êñ½ã¤Ê¥Ä¥ê¡¼¤òºîÀ®¤¹¤ë¤â¤Î¤Ç¤¹¡£ -.LP +.\} +.PP +¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¡¦¥Ý¡¼¥È¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ý¡¼¥È900¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Oracle Solaris¥½¥Õ¥È¥¦¥§¥¢¤Î¼Â¹Ô»þ¡¢1024¤è¤ê¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¾ì¹ç¤Ï¡¢root¥æ¡¼¥¶¡¼¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024°Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£1050¤Î¤è¤¦¤ËÊ̤Υݡ¼¥È¤ò»ØÄꤷ¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢UNIX¥³¥Þ¥ó¥É¡¦¥·¥§¥ë¤Ç¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3 -.fl - \fP\f4½é´ü\fP\f3 -.fl - \fP\f4¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È\fP\f3 -.fl - / \\ -.fl - / \\ -.fl - plans \fP\f4Personal\fP\f3 -.fl - / \\ -.fl - / \\ -.fl - calendar schedule\fP -.fl +tnameserv \-ORBInitialPort 1050& .fi - -.LP -.LP -¤³¤ÎÎã¤Ç¡¢\f3plans\fP ¤Ï¥ª¥Ö¥¸¥§¥¯¥È»²¾È¡¢\f3Personal\fP ¤Ï \f3calendar\fP ¤È \f3schedule\fP ¤Î 2 ¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò´Þ¤à¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Ç¤¹¡£ -.LP +.if n \{\ +.RE +.\} +.PP +Windows¤ÎMS\-DOS¥·¥¹¥Æ¥à¡¦¥×¥í¥ó¥×¥È¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -import java.util.Properties; -.fl -import org.omg.CORBA.*; -.fl -import org.omg.CosNaming.*; -.fl - -.fl -public class NameClient -.fl -{ -.fl - public static void main(String args[]) -.fl - { -.fl - try { -.fl -\fP +start tnameserv \-ORBInitialPort 1050 .fi - -.LP -Á°½Ò¤Î¡ÖJava IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¡×¤Ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï¥Ý¡¼¥È 1050 ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¥·¥¹¥Æ¥à¤ËÃΤ餻¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¥Í¡¼¥à¡¦¥µ¡¼¥Ð¡¼¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¡¢¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÃΤ餻¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¡¢ORB¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë\fIorg\&.omg\&.CORBA\&.ORBInitialPort\fR¥×¥í¥Ñ¥Æ¥£¤Ë¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÀßÄꤷ¤Þ¤¹¡£ +.SS "°Û¤Ê¤ë¥Û¥¹¥È¾å¤Ç¤Î¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¼Â¹Ô" +.PP +Java IDL¤ÈRMI\-IIOP¤Î¤Û¤È¤ó¤É¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¡¢¥µ¡¼¥Ð¡¼¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤Ï¤¹¤Ù¤Æ³«È¯ÍѤΥޥ·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¼ÂºÝ¤Ë¥Ç¥×¥í¥¤¥á¥ó¥È¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ò¡¢¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤È¤Ï°Û¤Ê¤ë¥Û¥¹¥È¡¦¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬Â¿¤¯¤Ê¤ê¤Þ¤¹¡£ +.PP +¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¡¢¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤È¥Û¥¹¥È¤òǧ¼±¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥Õ¥¡¥¤¥ëÆâ¤Î\fIorg\&.omg\&.CORBA\&.ORBInitialPort\fR¥×¥í¥Ñ¥Æ¥£¤È\fIorg\&.omg\&.CORBA\&.ORBInitialHost\fR¥×¥í¥Ñ¥Æ¥£¤ò¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥È¤ÎÈÖ¹æ¤È¥Þ¥·¥ó¤Î̾Á°¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ï¡¢¡ÖGetting Started Using RMI\-IIOP¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/rmi\-iiop/rmiiiopexample\&.html)¤Ë¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹ +.PP +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó\fI\-ORBInitialPort nameserverport#\fR¤È\fI\-ORBInitialHost nameserverhostname\fR¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËÂФ·¤Æ¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òõ¤¹¾ì½ê¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤³¤ì¤ò¹Ô¤¦ÊýË¡¤Î1¤Ä¤ÎÎã¤Ï¡¢http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/tutorial/jidl2machines\&.html¤Î¡ÖJava IDL: The Hello World Example on Two Machines¡× +¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.PP +¤¿¤È¤¨¤Ð¡¢°ì»þ¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹\fItnameserv\fR¤¬¡¢¥Û¥¹¥È\fInameserverhost\fR¤Î¥Ý¡¼¥È1050¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Û¥¹¥È\fIclienthost\fR¾å¤Ç¼Â¹Ô¤µ¤ì¡¢¥µ¡¼¥Ð¡¼¤Ï¥Û¥¹¥È\fIserverhost\fR¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ +.PP +¥Û¥¹¥È\fInameserverhost\fR¾å¤Ç\fItnameserv\fR¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - Properties props = new Properties(); -.fl - props.put("org.omg.CORBA.ORBInitialPort", "1050"); -.fl - ORB orb = ORB.init(args, props); -.fl - -.fl -\fP +tnameserv \-ORBInitialPort 1050 .fi - -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤ì¤ò \f3ctx\fP ¤ËÂåÆþ¤·¤Þ¤¹¡£2 ¹ÔÌܤǤϡ¢\f3ctx\fP ¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È \f3objref\fP ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤Î objref ¤Ë¤Ï¡¢¤¢¤È¤Ç¤µ¤Þ¤¶¤Þ¤Ê̾Á°¤ò³ä¤êÅö¤Æ¤ÆÌ¾Á°¶õ´Ö¤ËÄɲä·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +\fIserverhost\fR¾å¤Ç¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - NamingContext ctx = -.fl -NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); -.fl - NamingContext objref = ctx; -.fl - -.fl -\fP +java Server \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost .fi +.if n \{\ +.RE +.\} +.PP -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢text ·¿¤Î̾Á° plans ¤òºîÀ®¤·¡¢¤½¤ì¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤½¤Î¸å¡¢rebind ¤ò»ÈÍѤ·¤Æ½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤Î²¼¤Ë \f2plans ¤òÄɲ䷤Ƥ¤¤Þ¤¹\fP¡£ \f2rebind\fP ¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢bind ¤ò»ÈÍѤ·¤¿¾ì¹ç¤ËȯÀ¸¤¹¤ëÎã³°¤òȯÀ¸¤µ¤»¤º¤Ë¡¢ \f2¤³¤Î¥×¥í¥°¥é¥à¤ò²¿Å٤ⷫ¤êÊÖ¤·¼Â¹Ô¤Ç¤­¤Þ¤¹\fP¡£ +\fIclienthost\fR¾å¤Ç¥¯¥é¥¤¥¢¥ó¥È¤òµ¯Æ°¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - NameComponent nc1 = new NameComponent("plans", "text"); -.fl - NameComponent[] name1 = {nc1}; -.fl - ctx.rebind(name1, objref); -.fl - System.out.println("plans rebind sucessful!"); -.fl - -.fl -\fP +java Client \-ORBInitialPort 1050 \-ORBInitialHost nameserverhost .fi - -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢directory ·¿¤Î Personal ¤È¤¤¤¦¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î·ë²ÌÆÀ¤é¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È \f3ctx2\fP ¤ò¤³¤Î̾Á°¤Ë¥Ð¥¤¥ó¥É¤·¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ËÄɲä·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.SS "¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤ÎÄä»ß" +.PP +Java IDL¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Unix¤Î¾ì¹ç¤Ï¡¢\fIkill\fR¤Ê¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¡¢Windows¤Î¾ì¹ç¤Ï¡¢\fI[Ctrl]+[C]\fR¥­¡¼¤ò»ÈÍѤ·¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤òÌÀ¼¨Åª¤ËÄä»ß¤¹¤ë¤Þ¤Ç¤Ï¡¢¸Æ½Ð¤·ÂÔµ¡¾õÂÖ¤¬Â³¤­¤Þ¤¹¡£¥µ¡¼¥Ó¥¹¤ò½ªÎ»¤µ¤»¤ë¤È¡¢Java IDL¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë̾Á°¤Ï¼º¤ï¤ì¤Þ¤¹¡£ +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ë\fIoption\fR¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "Îã" +.SS "¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲÃ" +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ë̾Á°¤òÄɲ乤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥µ¥ó¥×¥ë¡¦¥×¥í¥°¥é¥à¤Ï¡¢¤³¤Î¤Þ¤Þ¤Î¾õÂ֤Ǵ°Á´¤Ëưºî¤¹¤ë°ì»þ¥Í¡¼¥à¡¦¥µ¡¼¥Ó¥¹¡¦¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢¼¡¤Î¤è¤¦¤Êñ½ã¤Ê¥Ä¥ê¡¼¤òºîÀ®¤¹¤ë¤â¤Î¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - NameComponent nc2 = new NameComponent("Personal", "directory"); -.fl - NameComponent[] name2 = {nc2}; -.fl - NamingContext ctx2 = ctx.bind_new_context(name2); -.fl - System.out.println("new naming context added.."); -.fl - -.fl -\fP +Initial Naming Context + plans + Personal + calendar + schedule .fi - -.LP -»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò schedule ¤È calendar ¤È¤¤¤¦Ì¾Á°¤Ç¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È "Personal" (\f3ctx2\fP) ¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¤³¤ÎÎã¤Ç¡¢\fIplans\fR¤Ï¥ª¥Ö¥¸¥§¥¯¥È»²¾È¡¢\fIPersonal\fR¤Ï\fIcalendar\fR¤È\fIschedule\fR¤Î2¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò´Þ¤à¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Ç¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl - NameComponent nc3 = new NameComponent("schedule", "text"); -.fl - NameComponent[] name3 = {nc3}; -.fl - ctx2.rebind(name3, objref); -.fl - System.out.println("schedule rebind sucessful!"); -.fl - -.fl - NameComponent nc4 = new NameComponent("calender", "text"); -.fl - NameComponent[] name4 = {nc4}; -.fl - ctx2.rebind(name4, objref); -.fl - System.out.println("calender rebind sucessful!"); -.fl - -.fl - -.fl - } catch (Exception e) { -.fl - e.printStackTrace(System.err); -.fl - } -.fl - } -.fl -} -.fl -\fP -.fi - -.LP -.SH "¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Î¥Ö¥é¥¦¥º" -.LP -.LP -¼¡¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¤ò¥Ö¥é¥¦¥º¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.nf -\f3 -.fl -import java.util.Properties; -.fl -import org.omg.CORBA.*; -.fl -import org.omg.CosNaming.*; -.fl - -.fl -public class NameClientList -.fl -{ -.fl - public static void main(String args[]) -.fl - { -.fl - try { -.fl -\fP -.fi - -.LP -Á°½Ò¤Î¡ÖJava IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¡×¤Ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï¥Ý¡¼¥È 1050 ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¥·¥¹¥Æ¥à¤ËÃΤ餻¤Þ¤¹¡£ -.nf -\f3 -.fl - -.fl - Properties props = new Properties(); -.fl - props.put("org.omg.CORBA.ORBInitialPort", "1050"); -.fl - ORB orb = ORB.init(args, props); -.fl - -.fl - -.fl -\fP -.fi - -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£ -.nf -\f3 -.fl - NamingContext nc = -.fl -NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); -.fl - -.fl -\fP -.fi - -.LP -\f2list\fP ¥á¥½¥Ã¥É¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤ËÄɲäµ¤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ºÇÂç 1000 ¸Ä¤Þ¤Ç¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥­¥¹¥È¤«¤é BindingListHolder ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£»Ä¤ê¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢BindingIteratorHolder ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£ -.nf -\f3 -.fl - BindingListHolder bl = new BindingListHolder(); -.fl - BindingIteratorHolder blIt= new BindingIteratorHolder(); -.fl - nc.list(1000, bl, blIt); -.fl - -.fl -\fP -.fi - -.LP -¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤¿ BindingListHolder ¤«¤é¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÇÛÎó¤ò¼èÆÀ¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥í¥°¥é¥à¤Ï½ªÎ»¤·¤Þ¤¹¡£ -.nf -\f3 -.fl - Binding bindings[] = bl.value; -.fl - if (bindings.length == 0) return; -.fl - -.fl -\fP -.fi - -.LP -»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ËÂФ·¤Æ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¡¢Ì¾Á°¤ò½ÐÎϤ·¤Þ¤¹¡£ -.nf -\f3 -.fl - for (int i=0; i < bindings.length; i++) { -.fl - -.fl - // get the object reference for each binding -.fl - org.omg.CORBA.Object obj = nc.resolve(bindings[i].binding_name); -.fl - String objStr = orb.object_to_string(obj); -.fl - int lastIx = bindings[i].binding_name.length\-1; -.fl - -.fl - // check to see if this is a naming context -.fl - if (bindings[i].binding_type == BindingType.ncontext) { -.fl - System.out.println( "Context: " + -.fl -bindings[i].binding_name[lastIx].id); -.fl - } else { -.fl - System.out.println("Object: " + -.fl -bindings[i].binding_name[lastIx].id); -.fl - } -.fl - } -.fl - -.fl - } catch (Exception e) { -.fl - e.printStackTrace(System.err); -.fl - } -.fl - } -.fl -} -.fl -\fP -.fi - -.LP +import java\&.util\&.Properties; +import org\&.omg\&.CORBA\&.*; +import org\&.omg\&.CosNaming\&.*; +public class NameClient { + + public static void main(String args[]) { + + try { +.fi +.if n \{\ +.RE +.\} +.PP +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤Ç¡¢\fInameserver\fR¤Ï¥Ý¡¼¥È1050¤Çµ¯Æ°¤µ¤ì¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¡¦¥·¥¹¥Æ¥à¤ËÃΤ餻¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + Properties props = new Properties(); + props\&.put("org\&.omg\&.CORBA\&.ORBInitialPort", "1050"); + ORB orb = ORB\&.init(args, props); +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤ì¤ò\fIctx\fR¤ËÂåÆþ¤·¤Þ¤¹¡£2¹ÔÌܤǤϡ¢\fIctx\fR¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È\fIobjref\fR¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤Îobjref¤Ë¤Ï¡¢¤¢¤È¤ÇÍÍ¡¹¤Ê̾Á°¤ò³ä¤êÅö¤Æ¤Æ¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤ËÄɲä·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NamingContext ctx = + NamingContextHelper\&.narrow( + orb\&.resolve_initial_references("NameService")); + NamingContext objref = ctx; +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢\fItext\fR¥¿¥¤¥×¤Î̾Á°\fIplans\fR¤òºîÀ®¤·¡¢¤½¤ì¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤½¤Î¸å¡¢\fIrebind\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î²¼¤Ë\fIplans\fR¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£\fIrebind\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢\fIbind\fR¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤¿¾ì¹ç¤ËȯÀ¸¤¹¤ëÎã³°¤òȯÀ¸¤µ¤»¤º¤Ë¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò²¿Å٤ⷫÊÖ¤·¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NameComponent nc1 = new NameComponent("plans", "text"); + NameComponent[] name1 = {nc1}; + ctx\&.rebind(name1, objref); + System\&.out\&.println("plans rebind successful!"); +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢\fIdirectory\fR¥¿¥¤¥×¤Î\fIPersonal\fR¤È¤¤¤¦¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î·ë²ÌÆÀ¤é¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È\fIctx2\fR¤ò\fIname\fR¤Ë¥Ð¥¤¥ó¥É¤·¡¢½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ËÄɲä·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NameComponent nc2 = new NameComponent("Personal", "directory"); + NameComponent[] name2 = {nc2}; + NamingContext ctx2 = ctx\&.bind_new_context(name2); + System\&.out\&.println("new naming context added\&.\&."); +.fi +.if n \{\ +.RE +.\} +.PP +»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò\fIschedule\fR¤È\fIcalendar\fR¤È¤¤¤¦Ì¾Á°¤Ç¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È\fIPersonal\fR(\fIctx2\fR)¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NameComponent nc3 = new NameComponent("schedule", "text"); + NameComponent[] name3 = {nc3}; + ctx2\&.rebind(name3, objref); + System\&.out\&.println("schedule rebind successful!"); + + NameComponent nc4 = new NameComponent("calender", "text"); + NameComponent[] name4 = {nc4}; + ctx2\&.rebind(name4, objref); + System\&.out\&.println("calender rebind successful!"); + } catch (Exception e) { + e\&.printStackTrace(System\&.err); + } + } +} +.fi +.if n \{\ +.RE +.\} +.SS "¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Î»²¾È" +.PP +¼¡¤Î¥µ¥ó¥×¥ë¡¦¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤ò¥Ö¥é¥¦¥º¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +import java\&.util\&.Properties; +import org\&.omg\&.CORBA\&.*; +import org\&.omg\&.CosNaming\&.*; + +public class NameClientList { + + public static void main(String args[]) { + + try { +.fi +.if n \{\ +.RE +.\} +.PP +¥Í¡¼¥ß¥ó¥°¡¦¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤Ç¡¢\fInameserver\fR¤Ï¥Ý¡¼¥È1050¤Çµ¯Æ°¤µ¤ì¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¡¦¥·¥¹¥Æ¥à¤ËÃΤ餻¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + Properties props = new Properties(); + props\&.put("org\&.omg\&.CORBA\&.ORBInitialPort", "1050"); + ORB orb = ORB\&.init(args, props); +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + NamingContext nc = + NamingContextHelper\&.narrow( + orb\&.resolve_initial_references("NameService")); +.fi +.if n \{\ +.RE +.\} +.PP +\fIlist\fR¥á¥½¥Ã¥É¤Ï¡¢¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ºÇÂç1000¸Ä¤Þ¤Ç¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬½é´ü¥Í¡¼¥ß¥ó¥°¡¦¥³¥ó¥Æ¥­¥¹¥È¤«¤é\fIBindingListHolder\fR¤ËÊÖ¤µ¤ì¤Þ¤¹¡£»Ä¤ê¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\fIBindingIteratorHolder\fR¤ËÊÖ¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + BindingListHolder bl = new BindingListHolder(); + BindingIteratorHolder blIt= new BindingIteratorHolder(); + nc\&.list(1000, bl, blIt); +.fi +.if n \{\ +.RE +.\} +.PP +¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤¿\fIBindingListHolder\fR¤«¤é¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÇÛÎó¤ò¼èÆÀ¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥í¥°¥é¥à¤¬½ªÎ»¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + Binding bindings[] = bl\&.value; + if (bindings\&.length == 0) return; +.fi +.if n \{\ +.RE +.\} +.PP +»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ËÂФ·¤Æ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¡¢Ì¾Á°¤ò½ÐÎϤ·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf + for (int i=0; i < bindings\&.length; i++) { + + // get the object reference for each binding + org\&.omg\&.CORBA\&.Object obj = nc\&.resolve(bindings[i]\&.binding_name); + String objStr = orb\&.object_to_string(obj); + int lastIx = bindings[i]\&.binding_name\&.length\-1; + + // check to see if this is a naming context + if (bindings[i]\&.binding_type == BindingType\&.ncontext) { + System\&.out\&.println("Context: " + + bindings[i]\&.binding_name[lastIx]\&.id); + } else { + System\&.out\&.println("Object: " + + bindings[i]\&.binding_name[lastIx]\&.id); + } + } + } catch (Exception e) { + e\&.printStackTrace(System\&.err) + } + } +} +.fi +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +orbd(1) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 b/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 index 96a85d8105e..0b940d494d2 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 @@ -1,178 +1,201 @@ -." Copyright (c) 2004, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH unpack200 1 "07 May 2011" - -.LP -.SH "̾Á°" -unpack200 \- JAR ¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë -.LP -.RS 3 -.TP 2 -o -·Á¼° -.TP 2 -o -ÀâÌÀ -.TP 2 -o -¥ª¥×¥·¥ç¥ó -.TP 2 -o -½ªÎ»¥¹¥Æ¡¼¥¿¥¹ -.TP 2 -o -´ØÏ¢¹àÌÜ -.TP 2 -o -Ãí°Õ»ö¹à +'\" t +.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: unpack200 +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "unpack200" "1" "2013ǯ11·î21Æü" "JDK 8" "Java¥Ç¥×¥í¥¤¥á¥ó¥È¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +unpack200 \- pack200(1)¤ÇºîÀ®¤µ¤ì¤¿¥Ñ¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤ò¡¢Web¥Ç¥×¥í¥¤¥á¥ó¥È¤Î¤¿¤á¤ËJAR¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIunpack200\fR [ \fIoptions\fR ] input\-file \fIJAR\-file\fR +.fi +.if n \{\ .RE - -.LP -.SH "·Á¼°" -.LP -.LP -\f4unpack200\fP\f2 [ \fP\f2options\fP ] \f2input\-file\fP \f2JAR\-file\fP -.LP -.LP -¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 3 -input\-file -ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÏÄ̾pack200 gzip ¥Õ¥¡¥¤¥ë¤« pack200 ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤³¤Î¤Û¤«¤Ë¡¢0 ¤òÀßÄꤹ¤ì¤Ð pack200(1) ¤«¤éºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤âÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤¬ Pack200 ¥Þ¡¼¥«¡¼¤È¤È¤â¤Ë½ÐÎÏ JAR ¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ -.TP 3 -JAR\-file -½ÐÎÏ JAR ¥Õ¥¡¥¤¥ë̾¡£ +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE - -.LP -.SH " ÀâÌÀ" -.LP -.LP -\f2unpack200\fP ¤Ï¡¢pack200(1) ¤ÇºîÀ®¤µ¤ì¤¿¥Ñ¥Ã¥¯¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë \f2¥Í¥¤¥Æ¥£¥Ö¼ÂÁõ\fP¤Ç¤¹¡£°ìÈÌŪ¤Ê»ÈÍÑÊýË¡: -.LP -.LP -\f2% unpack200 myarchive.pack.gz myarchive.jar\fP -.LP -.LP -¤³¤ÎÎã¤Ç¤Ï¡¢ \f2¥Ç¥Õ¥©¥ë¥È¤Î unpack200 ÀßÄê¤Ç¡¢myarchive.pack.gz\fP ¤«¤é \f2myarchive.jar\fP ¤¬ \f2ºîÀ®¤µ¤ì¤Þ¤¹\fP ¡£ -.LP +.PP +\fIinput\-file\fR +.RS 4 +ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£pack200 gzip¥Õ¥¡¥¤¥ë¤«pack200¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\fIpack200\fR(1)¤ÇºîÀ®¤µ¤ì¤¿JAR¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹(¼ê´Ö¤Ï\fI0\fR¤Ç¤¹)¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ÏPack2000¥Þ¡¼¥«¡¼¤Ç½ÐÎÏJAR¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\fIJAR\-file\fR +.RS 4 +½ÐÎÏJAR¥Õ¥¡¥¤¥ë̾¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIunpack200\fR¥³¥Þ¥ó¥É¤Ï¡¢\fIpack200\fR\fI(1)\fR¤ÇºîÀ®¤µ¤ì¤¿¥Ñ¥Ã¥¯¡¦¥Õ¥¡¥¤¥ë¤òJAR¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¥Í¥¤¥Æ¥£¥Ö¼ÂÁõ¤Ç¤¹¡£°ìÈÌŪ¤Ê»ÈÍÑÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î\fIunpack200\fR¥³¥Þ¥ó¥ÉÀßÄê¤Ç¡¢\fImyarchive\&.jar\fR¥Õ¥¡¥¤¥ë¤¬\fImyarchive\&.pack\&.gz\fR¤«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} +.nf +unpack200 myarchive\&.pack\&.gz myarchive\&.jar +.fi +.if n \{\ +.RE +.\} .SH "¥ª¥×¥·¥ç¥ó" -.LP -.LP -\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP -.LP -.LP -JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ë \f2true\fP ¡¢ \f2false\fP¡¢ \f2keep\fP ¤È¤·¤Æ¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥â¡¼¥É¤Ï \f2keep\fP ¤Ç¤¹¡£ \f2true\fP ¤Þ¤¿¤Ï \f2false ¾ì¹ç¡¢\fP¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¡¢½ÐÎÏ JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f4\-r \-\-remove\-pack\-file\fP -.LP -.LP -ÆþÎϥѥ寥ե¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£ -.LP -.LP -\f4\-v \-\-verbose\fP -.LP -.LP -ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ -.LP -.LP -\f4\-q \-\-quiet\fP -.LP -.LP -¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ëưºî¤·¤Þ¤¹¡£ -.LP -.LP -\f4\-lfilename \-\-log\-file=\fP\f2filename\fP -.LP -.LP -½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ -.LP -.LP -\f4\-? \-h \-\-help\fP -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f4\-V \-\-version\fP -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ -.LP -.LP -\f4\-J\fP\f2option\fP -.LP -.LP -unpack200 ¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë Java µ¯Æ°¥Ä¡¼¥ë¤Ë \f2¥ª¥×¥·¥ç¥ó\fP ¤ò \f2ÅϤ·¤Þ¤¹\fP¡£ -.LP -.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" -.LP -.LP -¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£ -.LP -.LP -\f2\ 0\fP " À®¸ù" -.LP -.LP -\f2>0\fP " ¥¨¥é¡¼" -.LP -.SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -pack200(1) -.TP 2 -o -.na -\f2Java SE ¤Î¥É¥­¥å¥á¥ó¥È\fP @ -.fi -http://java.sun.com/javase/6/docs/index.html -.TP 2 -o -.na -\f2¡ÖJava ÇÛÈ÷¥¬¥¤¥É \- Pack200¡×\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html -.TP 2 -o -jar(1) \- Java Archive ¥Ä¡¼¥ë¡× -.TP 2 -o -jarsigner(1) \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë¡× -.TP 2 -o -\f2attributes(5)\fP ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸ +.PP +\-Hvalue \-\-deflate\-hint=\fIvalue\fR +.RS 4 +JAR¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ë\fItrue\fR¡¢\fIfalse\fR¤Þ¤¿¤Ï\fIkeep\fR¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¡¦¥â¡¼¥É¤Ï\fIkeep\fR¤Ç¤¹¡£Ãͤ¬\fItrue\fR¤Þ¤¿¤Ï\fIfalse\fR¾ì¹ç¡¢\fI\-\-deflate=hint\fR¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¡¢½ÐÎÏJAR¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¡¦¥â¡¼¥É¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£ .RE - -.LP -.SH "Ãí°Õ»ö¹à" -.LP -.LP -¤³¤Î¥³¥Þ¥ó¥É¤È \f2unpack(1) ¤ò\fPº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£ -.LP -.LP -SDK ¤ËÉÕ°¤¹¤ë Java SE API »ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£ -.LP - +.PP +\-r \-\-remove\-pack\-file +.RS 4 +ÆþÎϥѥ寡¦¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£ +.RE +.PP +\-v \-\-verbose +.RS 4 +ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÊ£¿ô¤Î»ÅÍͤˤϡ¢¤è¤ê¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-q \-\-quiet +.RS 4 +¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ëưºî¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-lfilename \-\-log\-file=\fIfilename\fR +.RS 4 +½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤¬µ­Ï¿¤µ¤ì¤ë¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-? \-h \-\-help +.RS 4 +\fIunpack200\fR¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-V \-\-version +.RS 4 +\fIunpack200\fR¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-J\fIoption\fR +.RS 4 +Java²¾ÁÛ¥Þ¥·¥ó¤Ëoption¤òÅϤ·¤Þ¤¹¡£\fIoption\fR¤Ë¤Ï¡¢Java¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò1¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\fI\-J\-Xms48m\fR¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¡¦¥á¥â¥ê¡¼¤Ï48MB¤ËÀßÄꤵ¤ì¤Þ¤¹¡£java(1)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "Ãí°Õ" +.PP +¤³¤Î¥³¥Þ¥ó¥É¤È\fIunpack\fR¥³¥Þ¥ó¥É¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£ +.PP +JDK¤ËÉÕ°¤¹¤ëJava SE API»ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£ +.SH "½ªÎ»¥¹¥Æ¡¼¥¿¥¹" +.PP +¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹: Àµ¾ï½ªÎ»¤Î¾ì¹ç¤Ï0¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï0¤è¤êÂ礭¤¤ÃÍ¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +pack200(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jar(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +jarsigner(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖPack200 and Compression¡× +(http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/deployment/deployment\-guide/pack200\&.html) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¡ÖJava SE Technical Documentation¡× +(http://docs\&.oracle\&.com/javase/) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 b/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 index c85556ee16f..0f50de81de0 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 @@ -1,656 +1,228 @@ -." Copyright (c) 2005, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH wsgen 1 "07 May 2011" -.SH "̾Á°" -wsgen \- XML Web Services (JAX\-WS) 2.0 ¤Î¤¿¤á¤Î Java(TM) API -.LP -\f3»ÅÍͥС¼¥¸¥ç¥ó:\fP 2.1 -.br -\f3¼ÂÁõ¥Ð¡¼¥¸¥ç¥ó:\fP 2.1.1 -.LP -\f2wsgen\fP ¥Ä¡¼¥ë¤Ï¡¢JAX\-WS Web ¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ë JAX\-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢Web ¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¥¯¥é¥¹ (SEI) ¤òÆÉ¤ß¼è¤ê¡¢Web ¥µ¡¼¥Ó¥¹¤ÎÇÛÈ÷¤È¸Æ¤Ó½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£ +'\" t +.\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: wsgen +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "wsgen" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +wsgen \- Web¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ(SEI)¥¯¥é¥¹¤òÆÉ¼è¤ê¡¢Web¥µ¡¼¥Ó¥¹¤Î¥Ç¥×¥í¥¤¥á¥ó¥È¤È¸Æ½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£ .SH "³µÍ×" -.LP -\f2wsgen\fP ¥Ä¡¼¥ë¤Ï¡¢JAX\-WS Web ¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ë JAX\-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢Web ¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¥¯¥é¥¹¤òÆÉ¤ß¼è¤ê¡¢Web ¥µ¡¼¥Ó¥¹¤ÎÇÛÈ÷¤È¸Æ¤Ó½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£JAXWS 2.1.1 RI ¤Ë¤Ï wsgen Ant ¥¿¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢ -.na -\f2Wsgen Ant ¥¿¥¹¥¯\fP @ +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fIwsgen\fR [ \fIoptions\fR ] \fISEI\fR .fi -https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.SH "wsgen ¤Îµ¯Æ°" -.RS 3 -.TP 2 -o -\f3Solaris/Linux\fP -.RS 3 -.TP 2 -* -\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP -.TP 2 -* -\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP +.if n \{\ .RE -.TP 2 -o -\f3Windows\fP -.RS 3 -.TP 2 -* -\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP -.TP 2 -* -\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .RE +.PP +\fISEI\fR +.RS 4 +ÆÉ¤ß¼è¤ëWeb¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¥¯¥é¥¹(SEI)¤Ç¤¹¡£ .RE - -.LP -.SH "¹½Ê¸" +.SH "ÀâÌÀ" +.PP +\fIwsgen\fR¥³¥Þ¥ó¥É¤Ï¡¢JAX\-WS Web¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ëJAX\-WS¥Ý¡¼¥¿¥Ö¥ë¡¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢Web¥µ¡¼¥Ó¥¹¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¡¦¥¯¥é¥¹¤òÆÉ¼è¤ê¡¢Web¥µ¡¼¥Ó¥¹¤Î¥Ç¥×¥í¥¤¥á¥ó¥È¤È¸Æ½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£JAXWS 2\&.1\&.1 RI¤Ç¤Ï\fIwsgen\fR +Ant¥¿¥¹¥¯¤âÄ󶡤µ¤ì¤Þ¤¹¡£ +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsgenant\&.html¤ÎJAX\-WS (wsgen)¥Ú¡¼¥¸¤ÎTools¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\fIwsgen\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò¹Ô¤¤¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -wsgen [options] <SEI>\fP -.br -\f3 -.fl -\fP +export JAXWS_HOME=/pathto/jaxws\-ri +$JAXWS_HOME/bin/wsgen\&.sh \-help .fi -.LP -¼¡¤Îɽ¤Ë¡¢ \f2wsgen\fP ¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£ -.br -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ÆþÎÏ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\-classpath <path> \f2¤ÈƱ¤¸¤Ç¤¹\fP -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À­¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄÀ­¤¬¤¢¤ê¤Þ¤¹ -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹ -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¾ï¤Ë \-wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL ¤Ê¤É¤ÎÀ¸À®¤µ¤ì¤¿¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤹ¤ë -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹ -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊ󤬽ÐÎϤµ¤ì¤ë¤À¤±¤Ç¤¹¡£Ä̾ï¤Î½èÍý¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£ -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2wsgen\fP ¤Ï WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤»¤ó¡£¤³¤Î¥Õ¥é¥°¤Ï¾Êά²Äǽ¤Ç¤¹¤¬¡¢»ØÄꤷ¤¿¾ì¹ç¤Ï \f2wsgen\fP ¤¬ WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ÏÄ̾¥¨¥ó¥É¥Ý¥¤¥ó¥È¤ÎÇÛÈ÷Á°¤Ë³«È¯¼Ô¤¬ WSDL ¤ò»²¾È¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ \f2protocol\fP ¤Ï¾Êά²Äǽ¤Ç¤¢¤ê¡¢wsdl:binding ¤Ç»ÈÍѤ¹¤Ù¤­¥×¥í¥È¥³¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë \f2»ÈÍѤµ¤ì¤Þ¤¹\fP¡£Í­¸ú¤Ê¥×¥í¥È¥³¥ë¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ \f2soap1.1\fP ¤È \f2Xsoap1.2\fP¡£¥Ç¥Õ¥©¥ë¥È¤Ï \f2soap1.1\fP ¤Ç¤¹¡£ \f2Xsoap1.2\fP ¤Ïɸ½à¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢ \f2\-extension\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Ê¤¤¤È»ÈÍѤǤ­¤Þ¤»¤ó¡£ -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¾ï¤Ë \f2\-wsdl\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL Æâ¤ÇÀ¸À®¤µ¤ì¤ë¤Ù¤­ \f2wsdl:service\fP ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã: \f2\-servicename "{http://mynamespace/}MyService"\fP -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¾ï¤Ë \f2\-wsdl\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL Æâ¤ÇÀ¸À®¤µ¤ì¤ë¤Ù¤­ \f2wsdl:port\fP ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã: \f2\-portname "{http://mynamespace/}MyPort"\fP -.br -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥ª¥×¥·¥ç¥ó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-classpath <path>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-cp <path>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-d <directory>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-extension\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-help\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-keep\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-r <directory>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-s <directory>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-verbose\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-version\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-wsdl[:protocol]\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-servicename <name>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f4\-portname <name>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 137 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥ª¥×¥·¥ç¥ó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(h|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-57 - -.LP +.if n \{\ +.RE +.\} +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-classpath \fIpath\fR +.RS 4 +ÆþÎÏ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¡£ +.RE +.PP +\-cp \fIpath\fR +.RS 4 +ÆþÎÏ¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¡£ +.RE +.PP +\-d \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤¿½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-extension +.RS 4 +¥Ù¥ó¥À¡¼³ÈÄ¥¤ò»ÈÍѲÄǽ¤Ë¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À­¤¬¼º¤ï¤ì¤¿¤ê¡¢Â¾¤Î¼ÂÁõ¤ÈÏ¢·È¤Ç¤­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +\fIwsgen\fR¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-keep +.RS 4 +À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤Þ¤¹¡£ +.RE +.PP +\-r \fIdirectory\fR +.RS 4 +¤³¤Î¥ª¥×¥·¥ç¥ó¤ò\fI\-wsdl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Æ¡¢WSDL¤Ê¤ÉÀ¸À®¤µ¤ì¤¿¥ê¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-s \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¡£ +.RE +.PP +\-verbose +.RS 4 +¥³¥ó¥Ñ¥¤¥é¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-wsdl [ :protocol ] +.RS 4 +¥¨¥ó¥É¥Ý¥¤¥ó¥È¤ò¥Ç¥×¥í¥¤¤¹¤ëÁ°¤Ë³Îǧ¤¹¤ëWSDL¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¥ª¥×¥·¥ç¥ó¡¦¥³¥Þ¥ó¥É¡£WSDL¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥µ¡¼¥Ó¥¹¤ò¸Æ¤Ó½Ð¤¹ÊýË¡¡¢¥Ñ¥é¥á¡¼¥¿¤ËɬÍפÊÃÍ¡¢ÊÖ¤µ¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤Æ¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ÇÆÉ¼è¤ê²Äǽ¤Êµ­½Ò¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ +.sp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï\fIwsgen\fR¥³¥Þ¥ó¥É¤ÏWSDL¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤»¤ó¡£\fIprotocol\fRÃͤϾÊά²Äǽ¤Ç¤¢¤ê¡¢WSDL¥Ð¥¤¥ó¥Ç¥£¥ó¥°(\fIwsdl:binding\fR)¤Ç»ÈÍѤ¹¤ë¥×¥í¥È¥³¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Í­¸ú¤Ê¥×¥í¥È¥³¥ë¤Ï¡¢\fIsoap1\&.1\fR¤È\fIXsoap1\&.2\fR¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï\fIsoap1\&.1\fR¤Ç¤¹¡£\fIXsoap1\&.2\fR¥×¥í¥È¥³¥ë¤Ïɸ½à¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢\fI\-extension\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤Î¤ß»ÈÍѲÄǽ¤Ç¤¹¡£ +.RE +.PP +\-servicename \fIname\fR +.RS 4 +\fI\-wsdl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤Î¤ß»ÈÍѤ·¤Æ¡¢WSDL¤ÇÀ¸À®¤µ¤ì¤ëÆÃÄê¤ÎWSDL¥µ¡¼¥Ó¥¹(\fIwsdl:service\fR)̾¤ò»ØÄꤷ¤Þ¤¹¡£Îã: +\fI\-servicename "{http://mynamespace/}MyService"\fR¡£ +.RE +.PP +\-portname \fIname\fR +.RS 4 +\fI\-wsdl\fR¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤Î¤ß»ÈÍѤ·¤Æ¡¢WSDL¤ÇÀ¸À®¤µ¤ì¤ëÆÃÄê¤ÎWSDL¥Ý¡¼¥È(\fIwsdl:port\fR)̾¤ò»ØÄꤷ¤Þ¤¹¡£Îã: +\fI\-portname "{http://mynamespace/}MyPort"\fR¡£ +.RE .SH "Îã" +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢Stock¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë\fI@WebService\fRÃí¼á¤ò»ý¤Ä\fIStockService\fR¤Î¥é¥Ã¥Ñ¡¼¡¦¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP -.fl +wsgen \-d stock \-cp myclasspath stock\&.StockService .fi -.LP -\f3stock\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë @WebService Ãí¼á¤¬ÉÕ¤±¤é¤ì¤¿¡¢StockService ¤ËɬÍפʥé¥Ã¥Ñ¡¼¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢SOAP 1\&.1 WSDL¤ª¤è¤Ó\fI@WebService\fRÃí¼á¤ò»ý¤Ä\fIstock\&.StockService\fR¥¯¥é¥¹¤Î¥¹¥­¡¼¥Þ¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP -.fl +wsgen \-wsdl \-d stock \-cp myclasspath stock\&.StockService .fi -.LP -SOAP 1.1 WSDL ¤È¡¢@WebService Ãí¼á¤¬ÉÕ¤±¤é¤ì¤¿ Java ¥¯¥é¥¹ stock.StockService ¤Î¥¹¥­¡¼¥Þ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ +.if n \{\ +.RE +.\} +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢SOAP 1\&.2 WSDL¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP -.fl +wsgen \-wsdl:Xsoap1\&.2 \-d stock \-cp myclasspath stock\&.StockService .fi -.LP -SOAP 1.2 WSDL ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£ -.LP -¥µ¡¼¥Ó¥¹¤òÇÛÈ÷¤¹¤ë¤È¤­¤Ë JAXWS ¥é¥ó¥¿¥¤¥à¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë WSDL ¤¬À¸À®¤µ¤ì¤ë¤¿¤á¡¢³«È¯»þ¤Ë WSDL ¤òÀ¸À®¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.if n \{\ +.RE +.\} +.PP +\fBÃí°Õ:\fR +¥µ¡¼¥Ó¥¹¤Î¥Ç¥×¥í¥¤»þ¤ËJAXWS¼Â¹Ô»þ´Ä¶­¤ÇWSDL¤¬À¸À®¤µ¤ì¤ë¤¿¤á¡¢³«È¯»þ¤ËWSDL¤òÀ¸À®¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +wsimport(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsgenant\&.html¤Î +JAX\-WS (wsgen)¥Ú¡¼¥¸¤ÎTools¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 b/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 index a09204e86ba..feff3f3acca 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 @@ -1,1066 +1,332 @@ -." Copyright (c) 2005, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH wsimport 1 "07 May 2011" -.SH "̾Á°" -wsimport \- XML Web Services (JAX\-WS) 2.0 ¤Î¤¿¤á¤Î Java(TM) API -.LP -\f3»ÅÍͥС¼¥¸¥ç¥ó:\fP 2.1 -.br -\f3¼ÂÁõ¥Ð¡¼¥¸¥ç¥ó:\fP 2.1.1 -.br +'\" t +.\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: wsimport +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "wsimport" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +wsimport \- Web¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥¢¡¼¥«¥¤¥Ö(WAR)¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸¤Ç¤­¤ëJAX\-WS¥Ý¡¼¥¿¥Ö¥ë¡¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Æ¡¢Ant¥¿¥¹¥¯¤ò»ØÄꤷ¤Þ¤¹¡£ .SH "³µÍ×" -.LP -\f2wsimport\fP ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê JAX\-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£ -.RS 3 -.TP 2 -o -¥µ¡¼¥Ó¥¹¥¨¥ó¥É¥Ý¥¤¥ó¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (SEI) -.TP 2 -o -¥µ¡¼¥Ó¥¹ -.TP 2 -o -wsdl:fault ¤«¤é¥Þ¥Ã¥×¤µ¤ì¤ëÎã³°¥¯¥é¥¹ (¸ºß¤¹¤ë¾ì¹ç) -.TP 2 -o -±þÅú wsdl:message ¤«¤éÇÉÀ¸¤¹¤ëÈ󯱴ü±þÅú Bean (¸ºß¤¹¤ë¾ì¹ç) -.TP 2 -o -JAX\-B ¤¬À¸À®¤¹¤ëÃÍ¥¿¥¤¥× (¥¹¥­¡¼¥Þ¤Î·¿¤«¤é¥Þ¥Ã¥×¤µ¤ì¤¿ Java ¥¯¥é¥¹) -.RE -.LP -¤³¤ì¤é¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤Ï¡¢WSDL ¥É¥­¥å¥á¥ó¥È¡¢¥¹¥­¡¼¥Þ¥É¥­¥å¥á¥ó¥È¡¢¤ª¤è¤Ó¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¤È¤È¤â¤Ë WAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤·¤ÆÇÛÈ÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢wsimport Ant ¥¿¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ -.na -\f2wsimport Ant ¥¿¥¹¥¯\fP @ -.fi -https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.br - -.LP -.SH "wsimport ¤Îµ¯Æ°" -.RS 3 -.TP 2 -o -\f3Solaris/Linux\fP -.RS 3 -.TP 2 -* -\f2/bin/wsimport.sh \-help\fP -.RE -.TP 2 -o -\f3Windows\fP -.RS 3 -.TP 2 -* -\f2\\bin\\wsimport.bat \-help\fP -.RE -.RE - -.LP -.SH "¹½Ê¸" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -wsimport [options] <wsdl> -.fl -\fP +\fIwsimport\fR [ \fIoptions\fR ] \fIwsdl\fR .fi -.LP -¼¡¤Îɽ¤Ë¡¢ \f2wsimport\fP ¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\fIwsdl\fR +.RS 4 +Web¥µ¡¼¥Ó¥¹¤ò¸Æ¤Ó½Ð¤¹ÊýË¡¡¢¥Ñ¥é¥á¡¼¥¿¤ËɬÍפÊÃÍ¡¢ÊÖ¤µ¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤Æ¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ÇÆÉ¼è¤ê²Äǽ¤Êµ­½Ò¤¬´Þ¤Þ¤ì¤Þ¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +.RE +.SH "ÀâÌÀ" +.PP +\fIwsimport\fR¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤ÎJAX\-WS¥Ý¡¼¥¿¥Ö¥ë¡¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤Ï¡¢¥Ç¥×¥í¥¤¤¹¤ëWSDL¤ª¤è¤Ó¥¹¥­¡¼¥Þ¡¦¥É¥­¥å¥á¥ó¥È¤ª¤è¤Ó¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¤È¤È¤â¤Ë¡¢WAR¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸¤Ç¤­¤Þ¤¹¡£\fIwsimport\fR¥³¥Þ¥ó¥É¤Ç¤Ï\fIwsimport\fR +Ant¥¿¥¹¥¯¤âÄ󶡤µ¤ì¤Þ¤¹¡£ +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsimportant\&.html¤ÎWsimport Ant Task¥Ú¡¼¥¸¤ÎTools¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥µ¡¼¥Ó¥¹¡¦¥¨¥ó¥É¥Ý¥¤¥ó¥È¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹(SEI) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +¥µ¡¼¥Ó¥¹ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Îã³°¥¯¥é¥¹¤Ï\fIwsdl:fault\fR¤«¤é¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹(¸ºß¤¹¤ë¾ì¹ç) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +È󯱴ü¥ì¥¹¥Ý¥ó¥¹Bean¤Ï¥ì¥¹¥Ý¥ó¥¹\fIwsdl:message\fR¤«¤éÇÉÀ¸¤·¤Þ¤¹(¸ºß¤¹¤ë¾ì¹ç) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +JAXB¤¬À¸À®¤¹¤ëÃÍ¥¿¥¤¥×(¥¹¥­¡¼¥Þ¤Î¥¿¥¤¥×¤«¤é¥Þ¥Ã¥×¤µ¤ì¤¿Java¥¯¥é¥¹) +.RE +.PP +\fIwsgen\fR¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò¹Ô¤¤¤Þ¤¹¡£ +.PP +\fBOracle Solaris/Linux\fR: +.sp +.if n \{\ +.RS 4 +.\} .nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -³°Éô¤Î JAX\-WS ¤Þ¤¿¤Ï JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹ ( \f2<file>\fP ¤´¤È¤Ë \f2\-b\fP ¤¬É¬ÍפȤʤë) -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¤³¤Î¥ª¥×¥·¥ç¥ó¤ò JAXB ¥¹¥­¡¼¥Þ¥³¥ó¥Ñ¥¤¥é¤ËÅϤ·¤Þ¤¹ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -³°Éô¥¨¥ó¥Æ¥£¥Æ¥£¡¼»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤Î¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¡¢OASIS XML Catalog ¤Î³Æ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.na -\f2¥«¥¿¥í¥°\fP @ +/bin/wsimport\&.sh \-help .fi -https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.html¤Î¥É¥­¥å¥á¥ó¥È¤ò¤ªÆÉ¤ß¤Ë¤Ê¤ê¡¢\f3¥«¥¿¥í¥°\fP¤Î¥µ¥ó¥×¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À­¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹ -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3\-httpproxy:<host>:<port> \fP -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -HTTP ¥×¥í¥­¥·¥µ¡¼¥Ð¡¼¤ò»ØÄꤷ¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¡¼¥È¤Ï 8080) -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 +.if n \{\ +.RE +.\} +.PP +\fBWindows\fR¤Î¾ì¹ç: +.sp +.if n \{\ +.RS 4 +.\} +.nf +\ebin\ewsimport\&.bat \-help +.fi +.if n \{\ +.RE +.\} +.SH "¥ª¥×¥·¥ç¥ó" +.PP +\-d \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-b \fIpath\fR +.RS 4 +³°ÉôJAX\-WS¤Þ¤¿¤ÏJAXB¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-b\fR¥ª¥×¥·¥ç¥ó¤ÇÊ£¿ô¤ÎJAX\-WS¤ª¤è¤ÓJAXB¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢Bean̾¤Ê¤É¤ò¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£JAX\-WS¤ª¤è¤ÓJAXB¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢ +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsimportant\&.html¤ÎWSDL Customization¤ÎUsers Guide¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-B \fIjaxbOption\fR +.RS 4 +JAXB¥¹¥­¡¼¥Þ¡¦¥³¥ó¥Ñ¥¤¥é¤Ë\fIjaxbOption\fR¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Þ¤¹¡£ +.RE +.PP +\-catalog +.RS 4 +³°Éô¥¨¥ó¥Æ¥£¥Æ¥£»²¾È¤ò²ò·è¤¹¤ë¥«¥¿¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£\fI\-catalog\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢TR9401¡¢XCatalog¡¢OASIS XML Catalog¤Î³Æ·Á¼°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/catalog\-support\&.html¤Î +Catalog Support¥Ú¡¼¥¸¤ÎUsers Guide¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-extension +.RS 4 +¥Ù¥ó¥À¡¼³ÈÄ¥¤ò»ÈÍѲÄǽ¤Ë¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À­¤¬¼º¤ï¤ì¤¿¤ê¡¢Â¾¤Î¼ÂÁõ¤ÈÏ¢·È¤Ç¤­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +\fIwsimport\fR¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-httpproxy: \fIhost\fR:\fIport\fR +.RS 4 +HTTP¥×¥í¥­¥·¡¦¥µ¡¼¥Ð¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï8080¤Ç¤¹¡£ +.RE +.PP +\-keep +.RS 4 À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹ -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍÆ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î WSDL/¥¹¥­¡¼¥Þ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢ »ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹ -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤹ¤ë -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹ -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹ -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di n+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3\-wsdllocation <location>\fP -.br -.di -.nr n| \n(dn -.nr n- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di o+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -\f2@WebServiceClient.wsdlLocation\fP ÃÍ -.br -.di -.nr o| \n(dn -.nr o- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di p+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -»ØÄꤵ¤ì¤¿ JAX\-WS »ÅÍͥС¼¥¸¥ç¥ó¤Ë½¾¤Ã¤Æ¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 2.0 ¤Ç¤Ï¡¢JAX\-WS 2.0 »ÅÍͤ˽àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£ -.br -.di -.nr p| \n(dn -.nr p- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di q+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -wsimport ½ÐÎϤòÍÞÀ©¤·¤Þ¤¹ -.br -.di -.nr q| \n(dn -.nr q- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥ª¥×¥·¥ç¥ó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-d <directory> \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-b <path> \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-B <jaxbOption>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-catalog\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-extension \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-help \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-keep \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-p \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-s <directory> \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-verbose \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-version \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-target \fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-quiet \fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(g- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(n- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(i- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(m- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(o- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(p- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(q- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 163 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥ª¥×¥·¥ç¥ó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.ne \n(h|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.m+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(n|u+\n(.Vu -.ne \n(o|u+\n(.Vu -.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) -.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.n+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.o+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(p|u+\n(.Vu -.if (\n(p|+\n(#^-1v)>\n(#- .nr #- +(\n(p|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.p+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(q|u+\n(.Vu -.if (\n(q|+\n(#^-1v)>\n(#- .nr #- +(\n(q|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.q+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.rm n+ -.rm o+ -.rm p+ -.rm q+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-72 -.LP -\-b ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢Ê£¿ô¤Î JAX\-WS ¤ª¤è¤Ó JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë \f2¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£\fP ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ä Bean ̾¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê¥«¥¹¥¿¥Þ¥¤¥º¤¬²Äǽ¤Ç¤¹¡£JAX\-WS ¤ª¤è¤Ó JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢ -.na -\f2¥«¥¹¥¿¥Þ¥¤¥º¥Þ¥Ë¥å¥¢¥ë\fP @ -.fi -https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.html¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -¼¡¤Îɽ¤Ë¡¢ \f2wsimport\fP ¤ÎÈóɸ½à¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£ -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Í×µá¤Þ¤¿¤Ï±þÅú¥á¥Ã¥»¡¼¥¸¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Ê¤¤¥Ø¥Ã¥À¡¼¤ò Java ¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¥Þ¥Ã¥×¤·¤Þ¤¹ -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -ǧ¾Ú¾ðÊó¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë WSDL URI ¤Ç¤¹¡£¤³¤Î URI ¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹ http://\f2<¥æ¡¼¥¶¡¼Ì¾>\fP:\f2<¥Ñ¥¹¥ï¡¼¥É>\fP@\f2<¥Û¥¹¥È̾>\fP/\f2<Web ¥µ¡¼¥Ó¥¹Ì¾>\fP?wsdl -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 +.RE +.PP +\-p \fIname\fR +.RS 4 +¥¿¡¼¥²¥Ã¥È¡¦¥Ñ¥Ã¥±¡¼¥¸\fIname\fR¤ò»ØÄꤷ¤Æ¡¢WSDL¤ª¤è¤Ó¥¹¥­¡¼¥Þ¡¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¥«¥¹¥¿¥Þ¥¤¥º¡¢¤ª¤è¤Ó»ÅÍÍÉô¤ÇÄêµÁ¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£ +.RE +.PP +\-s \fIdirectory\fR +.RS 4 +À¸À®¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ +.RE +.PP +\-verbose +.RS 4 +¥³¥ó¥Ñ¥¤¥é¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥ê¥ê¡¼¥¹¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£ +.RE +.PP +\-wsdllocation \fIlocation\fR +.RS 4 +\fI@WebServiceClient\&.wsdlLocation\fR¤ÎÃͤò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-target +.RS 4 +»ØÄꤵ¤ì¤¿JAX\-WS»ÅÍͥС¼¥¸¥ç¥ó¤Ë½¾¤Ã¤Æ¡¢¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó2\&.0¤Ç¤Ï¡¢JAX\-WS 2\&.0»ÅÍͤ˽àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.PP +\-quiet +.RS 4 +\fIwsimport\fR¥³¥Þ¥ó¥É½ÐÎϤòÍÞÀ©¤·¤Þ¤¹¡£ +.RE +.PP +\fI\-b\fR¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î\fIJAX\-WS\fR¤ª¤è¤Ó\fIJAXB\fR¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤äBean̾¤Ê¤É¡¢ÍÍ¡¹¤Ê¤â¤Î¤ò¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£\fIJAX\-WS\fR¤ª¤è¤Ó\fIJAXB\fR¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢ +https://jax\-ws\&.dev\&.java\&.net/nonav/2\&.1\&.1/docs/customizations\&.html¤ÎJAXB¥¿¥Ö¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.SH "Èóɸ½à¥ª¥×¥·¥ç¥ó" +.PP +\-XadditionalHeaders +.RS 4 +¥ê¥¯¥¨¥¹¥È¤Þ¤¿¤Ï¥ì¥¹¥Ý¥ó¥¹¡¦¥á¥Ã¥»¡¼¥¸¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Ê¤¤¥Ø¥Ã¥À¡¼¤òJava¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¥Þ¥Ã¥×¤·¤Þ¤¹ +.RE +.PP +\-Xauthfile \fIfile\fR +.RS 4 +ǧ¾Ú¾ðÊó¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëWSDL URI¤Ç¤¹¡£¤³¤ÎURI¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.sp +http://\fIuser\-name\fR:\fIpassword\fR@\fIhost\-name\fR/\fIweb\-service\-name\fR>?wsdl +.RE +.PP +\-Xdebug +.RS 4 ¥Ç¥Ð¥Ã¥°¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹ -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f3\-Xno\-addressing\-databinding\fP -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -W3C \f2EndpointReferenceType\fP ¤È Java ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹ -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -À¸À®¤µ¤ì¤¿ Java ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤»¤ó -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3¥ª¥×¥·¥ç¥ó\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-XadditionalHeaders\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-Xauthfile <file>\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-Xdebug\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f3\-Xnocompile\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(d- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f3ÀâÌÀ\fP -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 199 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3¥ª¥×¥·¥ç¥ó\fP\h'|\n(41u'\f3ÀâÌÀ\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-XadditionalHeaders\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-Xauthfile <file>\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-Xdebug\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.ne \n(e|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3\-Xnocompile\fP\h'|\n(41u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-26 - -.LP +.RE +.PP +\-Xno\-addressing\-databinding +.RS 4 +W3C EndpointReferenceType¤ÈJava¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ +.RE +.PP +\-Xnocompile +.RS 4 +À¸À®¤µ¤ì¤¿Java¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤»¤ó +.RE .SH "Îã" +.PP +¼¡¤ÎÎã¤Ç¤Ï¡¢Java¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¡¢\fIhttp://stockquote\&.example\&.com/quote?wsdl\fR¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Æ¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -\fP\f3wsimport \-p stockquote http://stockquote.example.com/quote?wsdl\fP -.fl +wsimport \-p stockquote http://stockquote\&.example\&.com/quote?wsdl .fi -.LP -Java ¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¡¢ \f2http://stockquote.example.com/quote?wsdl\fP ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Æ¤½¤Î Java ¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹ +.if n \{\ +.RE +.\} +.SH "´ØÏ¢¹àÌÜ" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +wsgen(1) +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsimportant\&.html¤Î +Wsimport Ant Task¥Ú¡¼¥¸¤ÎTools¥¿¥Ö +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/catalog\-support\&.html¤Î +Catalog Support¥Ú¡¼¥¸¤ÎUsers Guide¥¿¥Ö +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jax\-ws\&.java\&.net/nonav/2\&.1\&.1/docs/wsimportant\&.html¤Î +WSDL Customization¥Ú¡¼¥¸¤ÎUsers Guide¥¿¥Ö +.RE .br - +'pl 8.5i +'bp diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 b/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 index 0b3baf84f0a..17a0efdd9ed 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 @@ -1,298 +1,342 @@ -." Copyright (c) 2005, 2011, 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 -." under the terms of the GNU General Public License version 2 only, as -." published by the Free Software Foundation. -." -." 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 -." version 2 for more details (a copy is included in the LICENSE file that -." accompanied this code). -." -." You should have received a copy of the GNU General Public License version -." 2 along with this work; if not, write to the Free Software Foundation, -." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -." -." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -." or visit www.oracle.com if you need additional information or have any -." questions. -." -.TH xjc 1 "07 May 2011" - -.LP -.ad c -.SH "̾Á°" -xjc \- XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java(TM) ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ -.br -¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é -.LP -\f3»ÅÍͥС¼¥¸¥ç¥ó:\fP 2.1 -.br -\f3¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ (RI) ¥Ð¡¼¥¸¥ç¥ó:\fP 2.1.3 .ad l - -.LP -.SH "xjc ¤Îµ¯Æ°" -.LP -.LP -¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë±þ¤¸¤¿ bin ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î \f2xjc\fP ¥·¥§¥ë¥¹¥¯¥ê¥×¥È \f2¤ò\fP »ÈÍѤ·¤Þ¤¹¡£¤Þ¤¿¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ -.na -\f2xjc ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html¤¿¤á¤Î¼ê½ç¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ -.LP -.LP -\f2% xjc \-help\fP -.LP -.SS -½ÐÎÏ -.LP +'\" t +.\" Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +.\" Title: xjc +.\" Language: English +.\" Date: 2013ǯ11·î21Æü +.\" SectDesc: Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë +.\" Software: JDK 8 +.\" Arch: ÈÆÍÑ +.\" +.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +.\" +.\" This code is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License version 2 only, as +.\" published by the Free Software Foundation. +.\" +.\" 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 +.\" version 2 for more details (a copy is included in the LICENSE file that +.\" accompanied this code). +.\" +.\" You should have received a copy of the GNU General Public License version +.\" 2 along with this work; if not, write to the Free Software Foundation, +.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +.\" or visit www.oracle.com if you need additional information or have any +.\" questions. +.\" +.pl 99999 +.TH "xjc" "1" "2013ǯ11·î21Æü" "JDK 8" "Java Web¥µ¡¼¥Ó¥¹¡¦¥Ä¡¼¥ë" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +xjc \- XML¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤ò´°Á´Ãí¼áÉÕ¤­¤ÎJava¥¯¥é¥¹¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.SH "³µÍ×" +.sp +.if n \{\ +.RS 4 +.\} .nf -\f3 -.fl -Usage: xjc [\-options ...] <schema file/URL/dir/jar> ... [\-b <bindinfo>] ... -.fl -If dir is specified, all schema files in it will be compiled. -.fl -If jar is specified, /META\-INF/sun\-jaxb.episode binding file will be compiled. -.fl -Options: -.fl - \-nv : do not perform strict validation of the input schema(s) -.fl - \-extension : allow vendor extensions \- do not strictly follow the Compatibility Rules and App E.2 from the JAXB Spec -.fl - \-b <file/dir> : specify external bindings files (each <file> must have its own \-b); if a directory is given, **/*.xjb is searched -.fl - \-d <dir> : generated files will go into this directory -.fl - \-p <pkg> : specifies the target package -.fl - \-httpproxy <proxy> : set HTTP/HTTPS proxy; format is [user[:password]@]proxyHost:proxyPort -.fl - \-httpproxyfile <f> : works like \-httpproxy but takes the argument in a file to protect password -.fl - \-classpath <arg> : specify where to find user class files -.fl - \-catalog <file> : specify catalog files to resolve external entity references; support TR9401, XCatalog, and OASIS XML Catalog format -.fl - \-readOnly : generated files will be in read\-only mode -.fl - \-npa : suppress generation of package level annotations (**/package\-info.java) -.fl - \-no\-header : suppress generation of a file header with timestamp -.fl - \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features -.fl - \-xmlschema : treat input as W3C XML Schema (default) -.fl - \-relaxng : treat input as RELAX NG (experimental,unsupported) -.fl - \-relaxng\-compact : treat input as RELAX NG compact syntax (experimental,unsupported) -.fl - \-dtd : treat input as XML DTD (experimental,unsupported) -.fl - \-wsdl : treat input as WSDL and compile schemas inside it (experimental,unsupported) -.fl - \-verbose : be extra verbose -.fl - \-quiet : suppress compiler output -.fl - \-help : display this help message -.fl - \-version : display version information -.fl - -.fl - -.fl -Extensions: -.fl - \-Xlocator : enable source location support for generated code -.fl - \-Xsync\-methods : generate accessor methods with the 'synchronized' keyword -.fl - \-mark\-generated : mark the generated code as @javax.annotation.Generated -.fl - \-episode <FILE> : generate the episode file for separate compilation -.fl -\fP +\fIxjc\fR [ \fIoptions\fR ] \fIschema\fR \fIfile/URL/dir/jar\fR \&.\&.\&. [\fI\-b\fR \fIbindinfo\fR ] \&.\&.\&. .fi - -.LP +.if n \{\ +.RE +.\} +.PP +\fIoptions\fR +.RS 4 +¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +schema \fIfile/URL/dir/jar \&.\&.\&.\fR +.RS 4 +XML¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¡£\fIdir\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£\fIjar\fR¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fI/META\-INF/sun\-jaxb\&.episode\fR¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-b \fIbindinfo\fR +.RS 4 +¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Î¾ì½ê¡£ +.RE +.SH "ÀâÌÀ" +.PP +¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Îbin¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ëŬÀÚ¤Ê\fIxjc\fR¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤òµ¯Æ°¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ëAnt¥¿¥¹¥¯¤â¤¢¤ê¤Þ¤¹¡£http://jaxb\&.java\&.net/nonav/2\&.1\&.3/docs/xjcTask\&.html¤Î +Using the XJC with Ant¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ .SH "¥ª¥×¥·¥ç¥ó" -.LP -.RS 3 -.TP 3 -\-nv -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¥¹¥­¡¼¥Þ¤ò½èÍý¤¹¤ëÁ°¤Ë¸·Ì©¤Ê¸¡¾Ú¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¸·Ì©¤Ê¥¹¥­¡¼¥Þ¸¡¾Ú¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤¬¸¡¾Ú¤ò°ìÀڼ¹Ԥ·¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤ê¸·Ì©¤Ç¤Ê¤¤¸¡¾Ú¤ò¼Â¹Ô¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ -.TP 3 -\-extension -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢JAXB »ÅÍͤΡÖCompatibility¡×¤Î¾Ï¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ëµ¬Â§¤ò¸·Ì©¤Ë¶¯À©¤·¤Þ¤¹¡£ÉÕÏ¿ E.2 ¤Ë¤Ï¡¢JAXB v1.0 ¤Ç´°Á´¤Ë¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤°ìÏ¢¤Î W3C XML ¥¹¥­¡¼¥Þµ¡Ç½¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÇÍ­¸ú¤Ë¤Ê¤ë¡Ö\-extension¡×¥â¡¼¥É¤Ç¤½¤ì¤é¤Îµ¡Ç½¤¬»ÈÍѤǤ­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸·Ì©¤Ê¥â¡¼¥É¤Ç¤Ï¡¢»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤Î¤ß¤¬»ÈÍѤǤ­¤Þ¤¹¡£¡Ö\-extension¡×¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ì¤Ð¡¢JAXB Vendor Extension ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ -.TP 3 -\-b <file> -½èÍý¤¹¤ë³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô»ØÄꤷ¤Þ¤¹¡£(¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤´¤È¤Ë \f2¡Ö\-b¡×\fP ¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£) ³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Î¹½Ê¸¤ÏÈó¾ï¤Ë½ÀÆð¤Ç¤¹¡£Ê£¿ô¤Î¥¹¥­¡¼¥Þ¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬´Þ¤Þ¤ì¤ë 1 ¤Ä¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤¿¤ê¡¢¤½¤ì¤é¤Î¥«¥¹¥¿¥Þ¥¤¥º¤òÊ£¿ô¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ \f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings123.xjb\fP -.br -\f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings1.xjb \-b bindings2.xjb \-b bindings3.xjb\fP ¤Þ¤¿¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë½çÈÖ¤ÏǤ°Õ¤Ç¤¹¡£ -.TP 3 -\-d <dir> -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Java ¥³¥ó¥Æ¥ó¥Ä¥¯¥é¥¹¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ÂåÂØ½ÐÎϥǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£½ÐÎϥǥ£¥ì¥¯¥È¥ê¤Ï¤¢¤é¤«¤¸¤á¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤»¤ó¡£ -.TP 3 -\-p <pkg> -¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍÆ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£ -.TP 3 -\-httpproxy <proxy> -HTTP/HTTPS ¥×¥í¥­¥·¤ò»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï [user[:password]@]proxyHost[:proxyPort] ¤Ç¤¹¡£½¾Íè¤Î \f2\-host\fP ¤ª¤è¤Ó \f2\-port\fP ¤Ï¡¢²¼°Ì¸ß´¹À­¤Î¤¿¤á¤Ë¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¿ä¾©¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢ \f2top\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¥æ¡¼¥¶¡¼¤Ê¤É¡¢¤Û¤«¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤Ç¤­¤ë°ú¿ô¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥»¥­¥å¥ê¥Æ¥£¡¼¤ò¹â¤á¤ë¤Ë¤Ï¡¢¼¡¤Î \f2\-httpproxyfile\fP ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-httpproxyfile <file> -HTTP/HTTPS ¥×¥í¥­¥·¤ò¥Õ¥¡¥¤¥ë·Ðͳ¤Ç»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï¾åµ­¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¤Û¤«¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.TP 3 -\-classpath <arg> -<jxb:javaType> ¤ª¤è¤Ó <xjc:superClass> \f2¥«¥¹¥¿¥Þ¥¤¥º¤¬»ÈÍѤ¹¤ë\fP ¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î \f2¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò\fP »ØÄꤷ¤Þ¤¹¡£ -.TP 3 -\-catalog <file> -³°Éô¥¨¥ó¥Æ¥£¥Æ¥£¡¼»²¾È¤ò²ò·è¤¹¤ë¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¡¢¤ª¤è¤Ó OASIS XML Catalog ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡ØXML Entity and URI Resolvers¡Ù¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤¹¤ë¤«¡¢ \f2¥«¥¿¥í¥°¥ê¥¾¥ë¥Ð¤Î\fP ¥µ¥ó¥×¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ -.TP 3 -\-readOnly -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢À¸À®¤¹¤ë Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½ñ¤­¹þ¤ß¤«¤éÊݸ¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ÏÀ¸À®¤µ¤ì¤ë Java ¥½¡¼¥¹¤ò¶¯À©Åª¤ËÆÉ¤ß¼è¤êÀìÍѤˤ·¤Þ¤¹¡£ -.TP 3 -\-npa -¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤ÎÃí¼á¤ò **/package\-info.java ¤ËÀ¸À®¤¹¤ë¤³¤È¤òÍÞÀ©¤·¤Þ¤¹¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤ÆÀ¸À®¤¹¤ë¥³¡¼¥É¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÃí¼á¤¬¤Û¤«¤ÎÀ¸À®ºÑ¤ß¥¯¥é¥¹¤ËÆâÉô²½¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-no\-header -¿¾¯¤Î¥á¥â¤È¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À¡¼¥³¥á¥ó¥È¤ÎÀ¸À®¤òÍÞÀ©¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤¬¤ï¤«¤ê¤Ë¤¯¤¯¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-target 2.0 -¤Ê¤ó¤é¤«¤Î JAXB 2.1 µ¡Ç½¤Ë°Í¸¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤ò JAXB 2.0 ¥é¥ó¥¿¥¤¥à (JavaSE 6 ¤Ê¤É) ¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ -.TP 3 -\-xmlschema -ÆþÎÏ¥¹¥­¡¼¥Þ¤ò W3C XML ¥¹¥­¡¼¥Þ (¥Ç¥Õ¥©¥ë¥È) ¤È¸«¤Ê¤·¤Þ¤¹¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢ÆþÎÏ¥¹¥­¡¼¥Þ¤Ï W3C XML ¥¹¥­¡¼¥Þ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-relaxng -ÆþÎÏ¥¹¥­¡¼¥Þ¤ò RELAX NG ¤È¤·¤Æ°·¤¤¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-relaxng\-compact -ÆþÎÏ¥¹¥­¡¼¥Þ¤ò RELAX NG °µ½Ì¹½Ê¸¤È¤·¤Æ½èÍý¤·¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-dtd -ÆþÎÏ¥¹¥­¡¼¥Þ¤ò XML DTD ¤È¤·¤Æ°·¤¤¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.TP 3 -\-wsdl -ÆþÎϤò WSDL ¤È¤·¤Æ°·¤¤¡¢¤½¤ÎÆâÉô¤Î¥¹¥­¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£ -.TP 3 -\-quiet -¿ÊĽ¾ðÊó¤ä·Ù¹ð¤Ê¤É¡¢¥³¥ó¥Ñ¥¤¥é¤Î½ÐÎϤòÍÞÀ©¤·¤Þ¤¹¡£ -.TP 3 -\-verbose -¾ðÊó¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤êÆÃÄê¤Î¥¨¥é¡¼È¯À¸»þ¤Ë¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤òɽ¼¨¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¶Ë¤á¤Æ¾éĹ¤Ë¤Ê¤ê¤Þ¤¹¡£ -.TP 3 -\-help -¥³¥ó¥Ñ¥¤¥é¥¹¥¤¥Ã¥Á¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -\-version -¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -.TP 3 -<schema file/URL/dir> -¥³¥ó¥Ñ¥¤¥ëÂоݤȤʤë 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤¿¾ì¹ç¡¢xjc ¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÁöºº¤·¡¢¤½¤³¤Ç¸«¤Ä¤«¤Ã¤¿¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Èóɸ½à¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ .RE - -.LP -.SS -Èóɸ½à¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-Xlocator -À¸À®¤µ¤ì¤¿¥³¡¼¥É¤Ç¤Ï¡¢ÈóÀ°Î󲽤Τ¢¤È¤Ë Java Bean ¥¤¥ó¥¹¥¿¥ó¥¹¤Ë´Þ¤Þ¤ì¤ë¥½¡¼¥¹ XML ¤Ë´Ø¤¹¤ë SAX Locator ¾ðÊ󤬸ø³«¤µ¤ì¤Þ¤¹¡£ -.TP 3 -\-Xsync\-methods -À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¥·¥°¥Ë¥Á¥ã¡¼¤Ë \f2Ʊ´ü¤µ¤ì¤¿\fP ¥­¡¼¥ï¡¼¥É¤¬´Þ¤á¤é¤ì¤Þ¤¹¡£ -.TP 3 -\-mark\-generated -À¸À®¤µ¤ì¤¿¥³¡¼¥É¤ËÃí¼á \f2@javax.annotation.Generated\fP ¤òÉÕ¤±¤Þ¤¹¡£ -.TP 3 -\-episode <file> -¥³¥ó¥Ñ¥¤¥ë¤´¤È¤Ë»ØÄꤵ¤ì¤¿¥¨¥Ô¥½¡¼¥É¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Èó¿ä¾©¤Çºï½ü¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤ .RE - -.LP -.SS -Èó¿ä¾©¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ª¤è¤Óºï½ü¤µ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -.LP -.RS 3 -.TP 3 -\-host & \-port -¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤È¤Ê¤ê¡¢\f3\-httpproxy\fP ¥ª¥×¥·¥ç¥ó¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ëÌÜŪ¤Ç°ú¤­Â³¤­¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤¬¡¢¥É¥­¥å¥á¥ó¥È¤Ë¤Ïµ­ºÜ¤µ¤ì¤º¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹¡£ -.TP 3 -\-use\-runtime -JAXB 2.0 »ÅÍͤǰܿ¢À­¤Î¤¢¤ë¥é¥ó¥¿¥¤¥à¤¬µ¬Äꤵ¤ì¤¿¤¿¤á¡¢JAXB RI ¤¬ **/impl/runtime ¥Ñ¥Ã¥±¡¼¥¸¤òÀ¸À®¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÏÉÔÍפȤʤꡢºï½ü¤µ¤ì¤Þ¤·¤¿¡£ -.TP 3 -\-source -\-source ¸ß´¹À­¥¹¥¤¥Ã¥Á¤Ï¡¢JAXB 2.0 ¤ÎºÇ½é¤Î Early Access ÈÇ¤ÇÆ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î¥¹¥¤¥Ã¥Á¤Ï¡¢JAXB 2.0 ¤Îº£¸å¤Î¥ê¥ê¡¼¥¹¤«¤éºï½ü¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£1.0.x ¥³¡¼¥É¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢1.0.x ¥³¡¼¥É¥Ù¡¼¥¹¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.PP +\-nv +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¡¦¥¹¥­¡¼¥Þ¤ò½èÍý¤¹¤ëÁ°¤Ë¸·Ì©¤Ê¸¡¾Ú¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¸·Ì©¤Ê¥¹¥­¡¼¥Þ¸¡¾Ú¤«Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤¬¸¡¾Ú¤ò°ìÀڼ¹Ԥ·¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤ê¸·Ì©¤Ç¤Ê¤¤¸¡¾Ú¤ò¼Â¹Ô¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ .RE - -.LP -.SS -¥³¥ó¥Ñ¥¤¥é¤ÎÀ©¸Â -.LP -.LP -Ä̾ï¤Ï¡¢´ØÏ¢¤¹¤ë¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¤ò¡¢Æ±¤¸¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Æ 1 ¤Ä¤Îñ°Ì¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤¬¤â¤Ã¤È¤â°ÂÁ´¤Ç¤¹¡£ -.LP -.LP -xjc ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ï¡¢¼¡¤Ë¼¨¤¹À©¸Â¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÎÀ©¸Â¤Î¤Û¤È¤ó¤É¤Ï¡¢xjc ¤ò²¿ÅÙ¤«¸Æ¤Ó½Ð¤·¤ÆÊ£¿ô¤Î¥¹¥­¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£ -.LP -.RS 3 -.TP 2 -o -Ê£¿ô¤Î¥¹¥­¡¼¥Þ¤òƱ»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤Î Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¼¡¤ÎÍ¥Àè½ç°Ì¤Îµ¬Â§¤¬Å¬ÍѤµ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -.RS 3 -.TP 3 -1. -¡Ö\f2\-p\fP¡×¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤â¤Ã¤È¤âÍ¥À褵¤ì¤Þ¤¹¡£ -.TP 3 -2. -<\f2jaxb:package\fP> ¤Î¥«¥¹¥¿¥Þ¥¤¥º -.TP 3 -3. -\f2targetNamespace\fP ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ \f2»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë targetNamespace\fP \-> Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥¢¥ë¥´¥ê¥º¥à¤òŬÍѤ·¤Þ¤¹¡£ -.TP 3 -4. -\f2targetNamespace\fP ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¡Ögenerated¡×¤È¤¤¤¦Ì¾Á°¤Î¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Þ¤¹¡£ +.PP +\-extension +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ï¡¢JAXB»ÅÍͤÎCompatibility¤Î¾Ï¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ë¡¼¥ë¤ò¸·Ì©¤Ë¶¯À©¤·¤Þ¤¹¡£ÉÕÏ¿E\&.2¤Ë¤Ï¡¢JAXB v1\&.0¤Ç´°Á´¤Ë¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤°ìÏ¢¤ÎW3C XML¥¹¥­¡¼¥Þµ¡Ç½¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÇÍ­¸ú¤Ë¤Ê¤ë\fI\-extension\fR¥â¡¼¥É¤Ç¤½¤ì¤é¤Îµ¡Ç½¤¬»ÈÍѤǤ­¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸·Ì©¤Ê¥â¡¼¥É¤Ç¤Ï¡¢»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥«¥¹¥¿¥Þ¥¤¥º¤Î¤ß¤¬»ÈÍѤǤ­¤Þ¤¹¡£\fI\-extension\fR¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ì¤Ð¡¢JAXB Vendor Extension¤ò»ÈÍѤǤ­¤Þ¤¹¡£ .RE -.TP 2 -o -̾Á°¶õ´Ö¤´¤È¤ËÊ£¿ô¤Î <\f2jaxb:schemaBindings\fP> ¤ò»ý¤Ä¤³¤È¤ÏÉÔÀµ¤Ç¤¹¡£¤³¤Î¤¿¤á¡¢1 ¤Ä¤Î¥¿¡¼¥²¥Ã¥È̾Á°¶õ´ÖÆâ¤Î 2 ¤Ä¤Î¥¹¥­¡¼¥Þ¤ò°Û¤Ê¤ë Java ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ -.TP 2 -o -1 ¤Ä¤Î Java ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ËƱ»þ¤ËÁ÷¿®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¸ÄÊ̤˥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤º¡¢Í½´ü¤·¤¿¤È¤ª¤ê¤Ëưºî¤·¤Þ¤»¤ó¡£ -.TP 2 -o -Ê£¿ô¤Î¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤¬¤ëÍ×ÁÇÃÖ´¹¥°¥ë¡¼¥×¤Ï¡¢Æ±»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +.PP +\-b \fIfile\fR +.RS 4 +½èÍý¤¹¤ë³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò1¤Ä¤Þ¤¿¤ÏÊ£¿ô»ØÄꤷ¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤´¤È¤Ë\fI\-b\fR¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Î¹½Ê¸¤Ï½ÀÆð¤Ç¤¹¡£Ê£¿ô¤Î¥¹¥­¡¼¥Þ¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬´Þ¤Þ¤ì¤ë1¤Ä¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤¿¤ê¡¢¤½¤ì¤é¤Î¥«¥¹¥¿¥Þ¥¤¥º¤òÊ£¿ô¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£\fIxjc schema1\&.xsd schema2\&.xsd schema3\&.xsd \-b bindings123\&.xjb\fR +\fIxjc schema1\&.xsd schema2\&.xsd schema3\&.xsd \-b bindings1\&.xjb \-b bindings2\&.xjb \-b bindings3\&.xjb\fR¤Þ¤¿¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë½çÈÖ¤ÏǤ°Õ¤Ç¤¹¡£ .RE - -.LP +.PP +\-d \fIdir\fR +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Java¥³¥ó¥Æ¥ó¥Ä¡¦¥¯¥é¥¹¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ÂåÂØ½ÐÎϥǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£½ÐÎϥǥ£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ç¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£ +.RE +.PP +\-p \fIpkg\fR +.RS 4 +¤³¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Ç¥¿¡¼¥²¥Ã¥È¡¦¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍÆ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£ +.RE +.PP +\-httpproxy \fIproxy\fR +.RS 4 +\fI[user[:password]@]proxyHost[:proxyPort]\fR·Á¼°¤ÇHTTP¤Þ¤¿¤ÏHTTPS¥×¥í¥­¥·¤ò»ØÄꤷ¤Þ¤¹¡£¸Å¤¤\fI\-host\fR¤ª¤è¤Ó\fI\-port\fR¥ª¥×¥·¥ç¥ó¤Ï¡¢²¼°Ì¸ß´¹À­¤Î¤¿¤á¤Ë°ú¤­Â³¤­RI¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤¬¡¢Èó¿ä¾©¤È¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢top¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¾¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤Ç¤­¤ë°ú¿ô¤Ç¤¹¡£¥»¥­¥å¥ê¥Æ¥£¤ò¹â¤á¤ë¤Ë¤Ï¡¢\fI\-httpproxyfile\fR¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.PP +\-httpproxyfile file +.RS 4 +¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢HTTP¤Þ¤¿¤ÏHTTPS¥×¥í¥­¥·¤ò»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï\fI\-httpproxy\fR¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¾¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.RE +.PP +\-classpath arg +.RS 4 +\fIjxb:javaType\fR¤ª¤è¤Óxjc:\fIsuperClass\fR¥«¥¹¥¿¥Þ¥¤¥º¤¬»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£ +.RE +.PP +\-catalog file +.RS 4 +³°Éô¥¨¥ó¥Æ¥£¥Æ¥£»²¾È¤ò²ò·è¤¹¤ë¥«¥¿¥í¥°¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¤ª¤è¤ÓOASIS XML Catalog¤Î³Æ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£http://xerces\&.apache\&.org/xml\-commons/components/resolver/resolver\-article\&.html¤Î +XML Entity and URI Resolvers¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ +.RE +.PP +\-readOnly +.RS 4 +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤Ï¡¢À¸À®¤¹¤ëJava¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò½ñ¹þ¤ß¤«¤éÊݸ¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢XJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤ÏÀ¸À®¤µ¤ì¤ëJava¥½¡¼¥¹¤ò¶¯À©Åª¤ËÆÉ¼è¤êÀìÍѤˤ·¤Þ¤¹¡£ +.RE +.PP +\-npa +.RS 4 +\fI**/package\-info\&.java\fR¤Ø¤Î¥Ñ¥Ã¥±¡¼¥¸¡¦¥ì¥Ù¥ë¤ÎÃí¼á¤ÎÀ¸À®¤òÍÞÀ©¤·¤Þ¤¹¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤ÆÀ¸À®¤¹¤ë¥³¡¼¥É¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÃí¼á¤¬Â¾¤ÎÀ¸À®ºÑ¥¯¥é¥¹¤ËÆâÉô²½¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-no\-header +.RS 4 +¿¾¯¤Î¥á¥â¤È¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à¥Õ¥¡¥¤¥ë¡¦¥Ø¥Ã¥À¡¼¡¦¥³¥á¥ó¥È¤ÎÀ¸À®¤òÍÞÀ©¤·¤Þ¤¹¡£¤³¤ì¤ò»ÈÍѤ¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤È\fIdiff\fR¥³¥Þ¥ó¥É¤È¤Î¸ß´¹À­¤¬¤è¤ê¶¯¤¯¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-target 2\&.0 +.RS 4 +JAXB 2\&.1µ¡Ç½¤Ë°Í¸¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤òJAXB 2\&.0¥é¥ó¥¿¥¤¥à´Ä¶­(Java SE 6¤Ê¤É)¤Ç¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-xmlschema +.RS 4 +ÆþÎÏ¥¹¥­¡¼¥Þ¤òW3C XML¥¹¥­¡¼¥Þ¤È¤·¤Æ°·¤¤¤Þ¤¹(¥Ç¥Õ¥©¥ë¥È)¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢ÆþÎÏ¥¹¥­¡¼¥Þ¤ÏW3C XML¥¹¥­¡¼¥Þ¤ÈƱ¤¸¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡£ +.RE +.PP +\-relaxing +.RS 4 +ÆþÎÏ¥¹¥­¡¼¥Þ¤òRELAX NG¤È¤·¤Æ°·¤¤¤Þ¤¹(»î¸³Åª¤ª¤è¤Ó̤¥µ¥Ý¡¼¥È)¡£RELAX NG¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤ÏJAXB Vendor Extension¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-relaxing\-compact +.RS 4 +ÆþÎÏ¥¹¥­¡¼¥Þ¤òRELAX NG°µ½Ì¹½Ê¸¤È¤·¤Æ½èÍý¤·¤Þ¤¹(»î¸³Åª¤ª¤è¤Ó̤¥µ¥Ý¡¼¥È)¡£RELAX NG¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤ÏJAXB Vendor Extension¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-dtd +.RS 4 +ÆþÎÏ¥¹¥­¡¼¥Þ¤òXML DTD¤È¤·¤Æ°·¤¤¤Þ¤¹(»î¸³Åª¤ª¤è¤Ó̤¥µ¥Ý¡¼¥È)¡£RELAX NG¥¹¥­¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤ÏJAXB Vendor Extension¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +.PP +\-wsdl +.RS 4 +ÆþÎϤòWSDL¤È¤·¤Æ°·¤¤¡¢¤½¤ÎÆâÉô¤Î¥¹¥­¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹(»î¸³Åª¤ª¤è¤Ó̤¥µ¥Ý¡¼¥È)¡£ +.RE +.PP +\-quiet +.RS 4 +¿ÊĽ¾ðÊó¤ä·Ù¹ð¤Ê¤É¡¢¥³¥ó¥Ñ¥¤¥é¤Î½ÐÎϤòÍÞÀ©¤·¤Þ¤¹¡£ +.RE +.PP +\-verbose +.RS 4 +¾ðÊó¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤êÆÃÄê¤Î¥¨¥é¡¼È¯À¸»þ¤Ë¥¹¥¿¥Ã¥¯¡¦¥È¥ì¡¼¥¹¤òɽ¼¨¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¤­¤ï¤á¤Æ¾éĹ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.RE +.PP +\-help +.RS 4 +¥³¥ó¥Ñ¥¤¥é¡¦¥¹¥¤¥Ã¥Á¤Î¥µ¥Þ¥ê¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\-version +.RS 4 +¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ +.RE +.PP +\fIschema file/URL/dir\fR +.RS 4 +¥³¥ó¥Ñ¥¤¥ëÂоݤȤʤë1¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¡¢\fIxjc\fR¥³¥Þ¥ó¥É¤Ï¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤ò¥¹¥­¥ã¥ó¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ +.RE +.SS "Èóɸ½à¥ª¥×¥·¥ç¥ó" +.PP +\-XLocator +.RS 4 +À¸À®¤µ¤ì¤¿¥³¡¼¥É¤Ç¤Ï¡¢ÈóÀ°Î󲽤θå¤ËJava Bean¥¤¥ó¥¹¥¿¥ó¥¹¤Ë´Þ¤Þ¤ì¤ë¥½¡¼¥¹XML¤Ë´Ø¤¹¤ëSAX Locator¾ðÊ󤬸ø³«¤µ¤ì¤Þ¤¹¡£ +.RE +.PP +\-Xsync\-methods +.RS 4 +À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¡¦¥·¥°¥Ë¥Á¥ã¤Ë\fIsynchronized\fR¥­¡¼¥ï¡¼¥É¤¬´Þ¤á¤é¤ì¤Þ¤¹¡£ +.RE +.PP +\-mark\-generated +.RS 4 +À¸À®¤µ¤ì¤¿¥³¡¼¥É¤ËÃí¼á\fI@javax\&.annotation\&.Generated\fR¤òÉÕ¤±¤Þ¤¹¡£ +.RE +.PP +\-episode file +.RS 4 +¥³¥ó¥Ñ¥¤¥ë¤´¤È¤Ë»ØÄꤵ¤ì¤¿¥¨¥Ô¥½¡¼¥É¡¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ +.RE +.SS "Èó¿ä¾©¤Çºï½ü¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó" +.PP +\-host & \-port +.RS 4 +¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï\fI\-httpproxy\fR¥ª¥×¥·¥ç¥ó¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢²¼°Ì¸ß´¹À­¤ò³ÎÊݤ¹¤ë¤¿¤á¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤¬¡¢¥É¥­¥å¥á¥ó¥È¤Ë¤Ïµ­ºÜ¤µ¤ì¤º¡¢¾­Íè¤Î¥ê¥ê¡¼¥¹¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹¡£ +.RE +.PP +\-use\-runtime +.RS 4 +JAXB 2\&.0»ÅÍͤǤϡ¢°Ü¿¢À­¤Î¤¢¤ë¥é¥ó¥¿¥¤¥à´Ä¶­¤¬ÄêµÁ¤µ¤ì¤¿¤¿¤á¡¢JAXB RI¤¬\fI**/impl/runtime \fR¥Ñ¥Ã¥±¡¼¥¸¤òÀ¸À®¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÏÉÔÍפȤʤꡢºï½ü¤µ¤ì¤Þ¤·¤¿¡£ +.RE +.PP +\-source +.RS 4 +\fI\-source\fR¸ß´¹À­¥¹¥¤¥Ã¥Á¤Ï¡¢JAXB 2\&.0¤ÎºÇ½é¤ÎEarly AccessÈÇ¤ÇÆ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î¥¹¥¤¥Ã¥Á¤ÏJAXB 2\&.0¤Îº£¸å¤Î¥ê¥ê¡¼¥¹¤«¤éºï½ü¤µ¤ì¤Þ¤¹¡£1\&.0\&.x¥³¡¼¥É¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢1\&.0\&.x¥³¡¼¥É¡¦¥Ù¡¼¥¹¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +.SH "¥³¥ó¥Ñ¥¤¥é¤ÎÀ©¸Â" +.PP +Ä̾ï¤Ï¡¢´ØÏ¢¤¹¤ë¤¹¤Ù¤Æ¤Î¥¹¥­¡¼¥Þ¤ò¡¢Æ±¤¸¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¡¦¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Æ1¤Ä¤Îñ°Ì¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤¬ºÇ¤â°ÂÁ´¤Ç¤¹¡£\fIxjc\fR¥³¥Þ¥ó¥É¤Î¼Â¹Ô»þ¤Ë¤Ï¡¢¼¡¤ÎÀ©¸Â¥ê¥¹¥È¤Ëα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÎÌäÂê¤Î¤Û¤È¤ó¤É¤Ï¡¢\fIxjc\fR¥³¥Þ¥ó¥É¤ò²¿ÅÙ¤«¸Æ¤Ó½Ð¤·¤ÆÊ£¿ô¤Î¥¹¥­¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ë¤Î¤ßÅö¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£ +.PP +Ê£¿ô¤Î¥¹¥­¡¼¥Þ¤òƱ»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤ÎJava¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¼¡¤ÎÍ¥Àè½ç°Ì¤Î¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +\fI\-p\fR¥ª¥×¥·¥ç¥ó¤¬ºÇ¤âÍ¥À褵¤ì¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +\fIjaxb:package\fR¤Î¥«¥¹¥¿¥Þ¥¤¥º¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +\fItargetNamespace\fR¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\fIt\fR\fIargetNamespace\fR¤ò»ÅÍͤÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëJava¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥¢¥ë¥´¥ê¥º¥à¤ËŬÍѤ·¤Þ¤¹¡£ +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +\fItargetNamespace\fR¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢\fIgenerated\fR¤È¤¤¤¦Ì¾Á°¤Î¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Þ¤¹¡£ +.RE +.PP +1¤Ä¤Î¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤¬Ê£¿ô¤Î\fIjaxb:schemaBindings\fR¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¿¤á¡¢°Û¤Ê¤ëJava¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥é¤µ¤ì¤ëƱ°ì¥¿¡¼¥²¥Ã¥È¡¦¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤¬2¤Ä¤Î¥¹¥­¡¼¥Þ¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ +.PP +Ʊ¤¸Java¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥é¤µ¤ì¤ë¥¹¥­¡¼¥Þ¤Ï¤¹¤Ù¤Æ¡¢Æ±»þ¤ËXJC¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¦¥³¥ó¥Ñ¥¤¥é¤ËÁ÷¿®¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ÊÌ¡¹¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢Í½Áۤɤª¤ê¤Ëµ¡Ç½¤·¤Þ¤»¤ó¡£ +.PP +Ê£¿ô¤Î¥¹¥­¡¼¥Þ¡¦¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤¬¤ëÍ×ÁÇÃÖ´¹¥°¥ë¡¼¥×¤Ï¡¢Æ±»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .SH "´ØÏ¢¹àÌÜ" -.LP -.RS 3 -.TP 2 -o -¥³¥Þ¥ó¥É¹Ô¤Ç¤Î¥³¥ó¥Ð¡¼¥¿¤Î¼Â¹Ô (XJC): [ -.na -\f2¥³¥Þ¥ó¥É¹Ô¤ÎÌ¿Îá\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html¡¢ -.na -\f2xjc ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë\fP @ -.fi -https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html] -.TP 2 -o -.na -\f2XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ (JAXB)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://jaxb\&.java\&.net/nonav/2\&.2\&.3u1/docs/xjc\&.html¤Î +Binding Compiler (xjc) .RE - -.LP - +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +http://www\&.oracle\&.com/technetwork/articles/javase/index\-140168\&.html¤Î +Java Architecture for XML Binding (JAXB) +.RE +.br +'pl 8.5i +'bp diff --git a/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c b/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c index 54e16af7f6b..c74af9607f1 100644 --- a/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c +++ b/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c @@ -38,8 +38,7 @@ #include "sun_nio_ch_sctp_ResultContainer.h" #include "sun_nio_ch_sctp_PeerAddrChange.h" -/* sizeof(union sctp_notification */ -#define NOTIFICATION_BUFFER_SIZE 280 +static int SCTP_NOTIFICATION_SIZE = sizeof(union sctp_notification); #define MESSAGE_IMPL_CLASS "sun/nio/ch/sctp/MessageInfoImpl" #define RESULT_CONTAINER_CLASS "sun/nio/ch/sctp/ResultContainer" @@ -463,20 +462,47 @@ JNIEXPORT jint JNICALL Java_sun_nio_ch_sctp_SctpChannelImpl_receive0 if (msg->msg_flags & MSG_NOTIFICATION) { char *bufp = (char*)addr; union sctp_notification *snp; + jboolean allocated = JNI_FALSE; - if (!(msg->msg_flags & MSG_EOR) && length < NOTIFICATION_BUFFER_SIZE) { - char buf[NOTIFICATION_BUFFER_SIZE]; + if (rv > SCTP_NOTIFICATION_SIZE) { + JNU_ThrowInternalError(env, "should not reach here"); + return -1; + } + + if (!(msg->msg_flags & MSG_EOR) && length < SCTP_NOTIFICATION_SIZE) { + char* newBuf; int rvSAVE = rv; - memcpy(buf, addr, rv); - iov->iov_base = buf + rv; - iov->iov_len = NOTIFICATION_BUFFER_SIZE - rv; + + if ((newBuf = malloc(SCTP_NOTIFICATION_SIZE)) == NULL) { + JNU_ThrowOutOfMemoryError(env, "Out of native heap space."); + return -1; + } + allocated = JNI_TRUE; + + memcpy(newBuf, addr, rv); + iov->iov_base = newBuf + rv; + iov->iov_len = SCTP_NOTIFICATION_SIZE - rv; if ((rv = recvmsg(fd, msg, flags)) < 0) { handleSocketError(env, errno); return 0; } - bufp = buf; + bufp = newBuf; rv += rvSAVE; } +#ifdef __sparc + else if ((intptr_t)addr & 0x3) { + /* the given buffer is not 4 byte aligned */ + char* newBuf; + if ((newBuf = malloc(SCTP_NOTIFICATION_SIZE)) == NULL) { + JNU_ThrowOutOfMemoryError(env, "Out of native heap space."); + return -1; + } + allocated = JNI_TRUE; + + memcpy(newBuf, addr, rv); + bufp = newBuf; + } +#endif snp = (union sctp_notification *) bufp; if (handleNotification(env, fd, resultContainerObj, snp, rv, (msg->msg_flags & MSG_EOR), @@ -484,9 +510,16 @@ JNIEXPORT jint JNICALL Java_sun_nio_ch_sctp_SctpChannelImpl_receive0 /* We have received a notification that is of interest to to the Java API. The appropriate notification will be set in the result container. */ + if (allocated == JNI_TRUE) { + free(bufp); + } return 0; } + if (allocated == JNI_TRUE) { + free(bufp); + } + // set iov back to addr, and reset msg_controllen iov->iov_base = addr; iov->iov_len = length; diff --git a/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c b/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c index cf3ff20300f..dbc751fa366 100644 --- a/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c +++ b/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c @@ -78,8 +78,10 @@ JNIEXPORT void JNICALL Java_sun_tools_attach_BsdVirtualMachine_connect struct sockaddr_un addr; int err = 0; + memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - strcpy(addr.sun_path, p); + /* strncpy is safe because addr.sun_path was zero-initialized before. */ + strncpy(addr.sun_path, p, sizeof(addr.sun_path) - 1); if (connect(fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) { err = errno; diff --git a/jdk/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c b/jdk/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c index 8c8c4eb1d69..5646a326542 100644 --- a/jdk/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c +++ b/jdk/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -156,8 +156,10 @@ JNIEXPORT void JNICALL Java_sun_tools_attach_LinuxVirtualMachine_connect struct sockaddr_un addr; int err = 0; + memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - strcpy(addr.sun_path, p); + /* strncpy is safe because addr.sun_path was zero-initialized before. */ + strncpy(addr.sun_path, p, sizeof(addr.sun_path) - 1); if (connect(fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) { err = errno; diff --git a/jdk/src/windows/classes/sun/security/mscapi/KeyStore.java b/jdk/src/windows/classes/sun/security/mscapi/KeyStore.java index 05db5dbd7a6..b055c900b69 100644 --- a/jdk/src/windows/classes/sun/security/mscapi/KeyStore.java +++ b/jdk/src/windows/classes/sun/security/mscapi/KeyStore.java @@ -33,6 +33,7 @@ import java.security.AccessController; import java.security.InvalidKeyException; import java.security.KeyStoreSpi; import java.security.KeyStoreException; +import java.security.PrivilegedAction; import java.security.UnrecoverableKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecurityPermission; @@ -48,8 +49,6 @@ import java.util.Enumeration; import java.util.Iterator; import java.util.UUID; -import sun.security.action.GetPropertyAction; - /** * Implementation of key store for Windows using the Microsoft Crypto API. * @@ -205,9 +204,8 @@ abstract class KeyStore extends KeyStoreSpi { KeyStore(String storeName) { // Get the compatibility mode - String prop = - AccessController.doPrivileged( - new GetPropertyAction(KEYSTORE_COMPATIBILITY_MODE_PROP)); + String prop = AccessController.doPrivileged( + (PrivilegedAction<String>) () -> System.getProperty(KEYSTORE_COMPATIBILITY_MODE_PROP)); if ("false".equalsIgnoreCase(prop)) { keyStoreCompatibilityMode = false; diff --git a/jdk/src/windows/classes/sun/security/mscapi/SunMSCAPI.java b/jdk/src/windows/classes/sun/security/mscapi/SunMSCAPI.java index fb1ce9194a3..37a5d2350ad 100644 --- a/jdk/src/windows/classes/sun/security/mscapi/SunMSCAPI.java +++ b/jdk/src/windows/classes/sun/security/mscapi/SunMSCAPI.java @@ -31,9 +31,6 @@ import java.security.Provider; import java.util.HashMap; import java.util.Map; -import sun.security.action.PutAllAction; - - /** * A Cryptographic Service Provider for the Microsoft Crypto API. * @@ -140,7 +137,12 @@ public final class SunMSCAPI extends Provider { map.put("Cipher.RSA SupportedKeyClasses", "sun.security.mscapi.Key"); if (map != this) { - AccessController.doPrivileged(new PutAllAction(this, map)); + final Provider provider = this; + PrivilegedAction<Void> putAllAction = () -> { + provider.putAll(map); + return null; + }; + AccessController.doPrivileged(putAllAction); } } } diff --git a/jdk/test/com/sun/jdi/ShellScaffold.sh b/jdk/test/com/sun/jdi/ShellScaffold.sh index eb3b65bf30b..16c41eae056 100644 --- a/jdk/test/com/sun/jdi/ShellScaffold.sh +++ b/jdk/test/com/sun/jdi/ShellScaffold.sh @@ -908,7 +908,7 @@ startDebuggee() debuggeepid= waitForJdbMsg Listening 4 - beOption="-agentlib:jdwp=transport=$transport,address=$address,server=n,suspend=y" + beOption="-agentlib:jdwp=transport=$transport,address=$address,server=n,suspend=y" # beOption="-Xdebug -Xrunjdwp:transport=$transport,address=$address,server=n,suspend=y" thecmd="$jdk/bin/$java $mode -classpath $tmpFileDir $baseArgs $args \ @@ -976,14 +976,20 @@ waitForFinish() if [ $? != 0 ] ; then break fi + if [ ! -z "$isWin98" ] ; then $psCmd | $grep -i 'JDB\.EXE' >$devnull 2>&1 if [ $? != 0 ] ; then break fi fi - # Something went wrong - jdbFailIfPresent "Input stream closed" + + # (Don't use jdbFailIfPresent here since it is not safe + # to call from different processes) + $grep -s 'Input stream closed' $jdbOutFile > $devnull 2>&1 + if [ $? = 0 ] ; then + dofail "jdb input stream closed prematurely" + fi # If a failure has occured, quit if [ -r "$failFile" ] ; then @@ -994,7 +1000,12 @@ waitForFinish() done # jdb exited because its input stream closed prematurely - jdbFailIfPresent "Input stream closed" + # (Don't use jdbFailIfPresent here since it is not safe + # to call from different processes) + $grep -s 'Input stream closed' $jdbOutFile > $devnull 2>&1 + if [ $? = 0 ] ; then + dofail "jdb input stream closed prematurely" + fi # It is necessary here to avoid the situation when JDB exited but # mydojdbCmds() didn't finish because it waits for JDB message @@ -1085,6 +1096,7 @@ grepForString() fi unset theFile esac + return $stat } diff --git a/jdk/test/com/sun/nio/sctp/SctpChannel/ReceiveIntoDirect.java b/jdk/test/com/sun/nio/sctp/SctpChannel/ReceiveIntoDirect.java new file mode 100644 index 00000000000..e7b23d0aaed --- /dev/null +++ b/jdk/test/com/sun/nio/sctp/SctpChannel/ReceiveIntoDirect.java @@ -0,0 +1,276 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + * @bug 8034181 + * @summary SIGBUS in SctpChannelImpl receive + * @author chegar + */ + +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.io.IOException; +import java.nio.ByteBuffer; +import com.sun.nio.sctp.AbstractNotificationHandler; +import com.sun.nio.sctp.AssociationChangeNotification; +import com.sun.nio.sctp.AssociationChangeNotification.AssocChangeEvent; +import com.sun.nio.sctp.HandlerResult; +import com.sun.nio.sctp.MessageInfo; +import com.sun.nio.sctp.Notification; +import com.sun.nio.sctp.PeerAddressChangeNotification; +import com.sun.nio.sctp.SctpChannel; +import com.sun.nio.sctp.SctpServerChannel; +import com.sun.nio.sctp.ShutdownNotification; +import static java.lang.System.out; +import static java.lang.System.err; +import static java.nio.charset.StandardCharsets.US_ASCII; + +public class ReceiveIntoDirect { + /* suitably small message to NOT overrun small buffers */ + final byte[] msgBytes = "Hello".getBytes(US_ASCII); + + /* number of client connections/combinations (accepted by the server) */ + final int NUM_CONNECTIONS = 75; + + void test(String[] args) throws IOException { + SocketAddress address = null; + Server server; + + if (!Util.isSCTPSupported()) { + out.println("SCTP protocol is not supported"); + out.println("Test cannot be run"); + return; + } + + if (args.length == 2) { + /* requested to connecct to a specific address */ + try { + int port = Integer.valueOf(args[1]); + address = new InetSocketAddress(args[0], port); + } catch (NumberFormatException nfe) { + err.println(nfe); + } + } else { + /* start server on local machine, default */ + server = new Server(); + server.start(); + address = server.address(); + debug("Server started and listening on " + address); + } + + /* many combinations with varing buffer sizes, and offsets */ + runWithManyOffsets(address, 20); + runWithManyOffsets(address, 49); + runWithManyOffsets(address, 50); + runWithManyOffsets(address, 51); + runWithManyOffsets(address, 1024); + } + + void runWithManyOffsets(SocketAddress addr, int bufferSize) + throws IOException + { + doTest(addr, bufferSize, 1); + doTest(addr, bufferSize, 2); + doTest(addr, bufferSize, 3); + doTest(addr, bufferSize, 4); + doTest(addr, bufferSize, 5); + doTest(addr, bufferSize, 6); + doTest(addr, bufferSize, 7); + doTest(addr, bufferSize, 8); + doTest(addr, bufferSize, 9); + doTest(addr, bufferSize, 10); + doTest(addr, bufferSize, 11); + doTest(addr, bufferSize, 12); + doTest(addr, bufferSize, 13); + doTest(addr, bufferSize, 14); + doTest(addr, bufferSize, 15); + } + + void doTest(SocketAddress peerAddress, int bufferSize, int bufferOffset) + throws IOException + { + debug("\n\nTesting with bufferSize " + bufferSize + " and offset " + bufferOffset); + assert bufferOffset + msgBytes.length <= bufferSize : + "buffer offset + message length greater than buffer size "; + + ByteBuffer buffer = ByteBuffer.allocateDirect(bufferSize); + MessageInfo info; + + try (SctpChannel channel = SctpChannel.open()) { + channel.connect(peerAddress); + + ReceiveNotificationHandler handler = + new ReceiveNotificationHandler(); + + /* TEST 1: Assoc/peer change notif into direct buffer with offest */ + do { + debug("Test 1: Assoc/peer change with offset " + bufferOffset); + buffer.position(bufferOffset); + info = channel.receive(buffer, null, handler); + if (info == null) { + fail("unexpected null from receive"); + return; + } + } while (!info.isComplete()); + + buffer.flip().position(bufferOffset); + check(handler.receivedCommUp(), "SCTP_COMM_UP not received"); + check(info != null, "info is null"); + check(info.address() != null, "address is null"); + check(info.association() != null, "association is null"); + check(info.isComplete(), "message is not complete"); + check(info.isUnordered() != true, + "message should not be unordered"); + check(info.streamNumber() >= 0, "invalid stream number"); + check(info.bytes() == msgBytes.length, + "bytes received not equal to message length"); + check(info.bytes() == buffer.remaining(), "bytes != remaining"); + check(Util.compare(buffer, msgBytes), + "received message not the same as sent message"); + + /* TEST 2: shutdown notification with offset */ + debug("Test 2: shutdown notif with offset " + bufferOffset); + buffer.clear().position(bufferOffset); + while ((info = channel.receive(buffer, null, handler )) != null && + info.bytes() != -1 ); + } + } + + class Server implements Runnable + { + private final InetSocketAddress serverAddr; + private final SctpServerChannel ssc; + + public Server() throws IOException { + ssc = SctpServerChannel.open().bind(null); + java.util.Set<SocketAddress> addrs = ssc.getAllLocalAddresses(); + if (addrs.isEmpty()) + debug("addrs should not be empty"); + + serverAddr = (InetSocketAddress) addrs.iterator().next(); + } + + public void start() { + (new Thread(this, "Server-" + serverAddr.getPort())).start(); + } + + public InetSocketAddress address() { + return serverAddr; + } + + @Override + public void run() { + try { + for (int i=0; i<NUM_CONNECTIONS; i++) { + SctpChannel sc = ssc.accept(); + + /* send a small message */ + MessageInfo info = MessageInfo.createOutgoing(null, 0); + ByteBuffer buf = ByteBuffer.allocateDirect(Util.SMALL_BUFFER); + buf.put(msgBytes); + buf.flip(); + + debug("sending small message: " + buf); + sc.send(buf, info); + + sc.shutdown(); + sc.close(); + } + } catch (IOException x) { + unexpected(x); + } finally { + try { ssc.close(); } + catch (IOException x) { unexpected(x); } + } + } + } + + class ReceiveNotificationHandler extends AbstractNotificationHandler<Object> + { + boolean receivedCommUp; // false + + public ReceiveNotificationHandler() { } + + public boolean receivedCommUp() { + return receivedCommUp; + } + + @Override + public HandlerResult handleNotification( + Notification notification, Object attachment) { + fail("Unknown notification type"); + return HandlerResult.CONTINUE; + } + + @Override + public HandlerResult handleNotification( + AssociationChangeNotification notification, Object attachment) { + AssocChangeEvent event = notification.event(); + debug("AssociationChangeNotification"); + debug(" Association: " + notification.association()); + debug(" Event: " + event); + + if (event.equals(AssocChangeEvent.COMM_UP)) + receivedCommUp = true; + + return HandlerResult.CONTINUE; + } + + @Override + public HandlerResult handleNotification( + PeerAddressChangeNotification pacn, Object unused) + { + debug("PeerAddressChangeNotification: " + pacn); + return HandlerResult.CONTINUE; + } + + @Override + public HandlerResult handleNotification( + ShutdownNotification notification, Object attachment) { + debug("ShutdownNotification"); + debug(" Association: " + notification.association()); + return HandlerResult.CONTINUE; + } + } + //--------------------- Infrastructure --------------------------- + boolean debug = true; + volatile int passed = 0, failed = 0; + void pass() {passed++;} + void fail() {failed++; Thread.dumpStack();} + void fail(String msg) {System.err.println(msg); fail();} + void unexpected(Throwable t) {failed++; t.printStackTrace();} + void check(boolean cond) {if (cond) pass(); else fail();} + void check(boolean cond, String failMessage) {if (cond) pass(); else fail(failMessage);} + void debug(String message) {if(debug) { + System.out.println(Thread.currentThread() + " " + message); } } + public static void main(String[] args) throws Throwable { + Class<?> k = new Object(){}.getClass().getEnclosingClass(); + try {k.getMethod("instanceMain",String[].class) + .invoke( k.newInstance(), (Object) args);} + catch (Throwable e) {throw e.getCause();}} + public void instanceMain(String[] args) throws Throwable { + try {test(args);} catch (Throwable t) {unexpected(t);} + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); + if (failed > 0) throw new AssertionError("Some tests failed");} + +} diff --git a/jdk/test/java/lang/invoke/MethodHandles/CatchExceptionTest.java b/jdk/test/java/lang/invoke/MethodHandles/CatchExceptionTest.java new file mode 100644 index 00000000000..739ca6dc255 --- /dev/null +++ b/jdk/test/java/lang/invoke/MethodHandles/CatchExceptionTest.java @@ -0,0 +1,542 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package test.java.lang.invoke.MethodHandles; + +import com.oracle.testlibrary.jsr292.Helper; +import jdk.testlibrary.Asserts; + +import java.lang.invoke.MethodHandle; +import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; +import java.lang.reflect.Array; +import java.util.*; +import java.util.function.BiFunction; +import java.util.function.Function; +import java.util.function.Supplier; + +/* @test + * @library /lib/testlibrary/jsr292 /lib/testlibrary/ + * @compile CatchExceptionTest.java + * @run main/othervm -esa test.java.lang.invoke.MethodHandles.CatchExceptionTest + */ +public class CatchExceptionTest { + private static final List<Class<?>> ARGS_CLASSES; + protected static final int MAX_ARITY = Helper.MAX_ARITY - 1; + static { + Class<?> classes[] = { + Object.class, + long.class, + int.class, + byte.class, + Integer[].class, + double[].class, + String.class, + }; + List<Class<?>> list = new ArrayList<>(MAX_ARITY); + for (int i = 0; i < MAX_ARITY; ++i) { + list.add(classes[Helper.RNG.nextInt(classes.length)]); + } + ARGS_CLASSES = Collections.unmodifiableList(list); + } + + private final TestCase testCase; + private final int nargs; + private final int argsCount; + private final MethodHandle catcher; + private int dropped; + private MethodHandle thrower; + + + public CatchExceptionTest(TestCase testCase, final boolean isVararg, final int argsCount, + final int catchDrops) { + this.testCase = testCase; + this.dropped = catchDrops; + if (Helper.IS_VERBOSE) { + System.out.printf("CatchException::CatchException(%s, isVararg=%b " + + "argsCount=%d catchDrops=%d)%n", + testCase, isVararg, argsCount, catchDrops + ); + } + MethodHandle thrower = testCase.thrower; + int throwerLen = thrower.type().parameterCount(); + List<Class<?>> classes; + int extra = Math.max(0, argsCount - throwerLen); + classes = getThrowerParams(isVararg, extra); + this.argsCount = throwerLen + classes.size(); + thrower = Helper.addTrailingArgs(thrower, this.argsCount, classes); + if (isVararg && argsCount > throwerLen) { + MethodType mt = thrower.type(); + Class<?> lastParam = mt.parameterType(mt.parameterCount() - 1); + thrower = thrower.asVarargsCollector(lastParam); + } + this.thrower = thrower; + this.dropped = Math.min(this.argsCount, catchDrops); + catcher = testCase.getCatcher(getCatcherParams()); + nargs = Math.max(2, this.argsCount); + } + + public static void main(String[] args) throws Throwable { + for (CatchExceptionTest test : TestFactory.MANDATORY_TEST_CASES) { + test.runTest(); + } + TestFactory factory = new TestFactory(); + CatchExceptionTest test; + while ((test = factory.nextTest()) != null ) { + test.runTest(); + } + } + + private List<Class<?>> getThrowerParams(boolean isVararg, int argsCount) { + boolean unmodifiable = true; + List<Class<?>> classes; + classes = ARGS_CLASSES.subList(0, + Math.min(argsCount, (MAX_ARITY / 2) - 1)); + int extra = 0; + if (argsCount >= MAX_ARITY / 2) { + classes = new ArrayList<>(classes); + unmodifiable = false; + extra = (int) classes.stream().filter(Helper::isDoubleCost).count(); + int i = classes.size(); + while (classes.size() + extra < argsCount) { + Class<?> aClass = ARGS_CLASSES.get(i); + if (Helper.isDoubleCost(aClass)) { + ++extra; + if (classes.size() + extra >= argsCount) { + break; + } + } + classes.add(aClass); + } + } + if (isVararg && classes.size() > 0) { + if (unmodifiable) { + classes = new ArrayList<>(classes); + } + int last = classes.size() - 1; + Class<?> aClass = classes.get(classes.size() - 1); + aClass = Array.newInstance(aClass, 2).getClass(); + classes.set(last, aClass); + } + return classes; + } + + + private List<Class<?>> getCatcherParams() { + int catchArgc = 1 + this.argsCount - dropped; + List<Class<?>> result = new ArrayList<>( + thrower.type().parameterList().subList(0, catchArgc - 1)); + // prepend throwable + result.add(0, testCase.throwableClass); + return result; + } + + private void runTest() { + Helper.clear(); + + Object[] args = Helper.randomArgs( + argsCount, thrower.type().parameterArray()); + Object arg0 = Helper.MISSING_ARG; + Object arg1 = testCase.thrown; + if (argsCount > 0) { + arg0 = args[0]; + } + if (argsCount > 1) { + args[1] = arg1; + } + Asserts.assertEQ(nargs, thrower.type().parameterCount()); + if (argsCount < nargs) { + Object[] appendArgs = {arg0, arg1}; + appendArgs = Arrays.copyOfRange(appendArgs, argsCount, nargs); + thrower = MethodHandles.insertArguments( + thrower, argsCount, appendArgs); + } + Asserts.assertEQ(argsCount, thrower.type().parameterCount()); + + MethodHandle target = MethodHandles.catchException( + testCase.filter(thrower), testCase.throwableClass, + testCase.filter(catcher)); + + Asserts.assertEQ(thrower.type(), target.type()); + Asserts.assertEQ(argsCount, target.type().parameterCount()); + + Object returned; + try { + returned = target.invokeWithArguments(args); + } catch (Throwable ex) { + testCase.assertCatch(ex); + returned = ex; + } + + testCase.assertReturn(returned, arg0, arg1, dropped, args); + } +} + +class TestFactory { + public static final List<CatchExceptionTest> MANDATORY_TEST_CASES = new ArrayList<>(); + + private static final int MIN_TESTED_ARITY = 10; + + static { + for (int[] args : new int[][]{ + {0, 0}, + {MIN_TESTED_ARITY, 0}, + {MIN_TESTED_ARITY, MIN_TESTED_ARITY}, + {CatchExceptionTest.MAX_ARITY, 0}, + {CatchExceptionTest.MAX_ARITY, CatchExceptionTest.MAX_ARITY}, + }) { + MANDATORY_TEST_CASES.addAll(createTests(args[0], args[1])); + } + } + + private int count; + private int args; + private int dropArgs; + private int currentMaxDrops; + private int maxArgs; + private int maxDrops; + private int constructor; + private int constructorSize; + private boolean isVararg; + + public TestFactory() { + if (Helper.IS_THOROUGH) { + maxArgs = maxDrops = CatchExceptionTest.MAX_ARITY; + } else { + maxArgs = MIN_TESTED_ARITY + + Helper.RNG.nextInt(CatchExceptionTest.MAX_ARITY + - MIN_TESTED_ARITY) + + 1; + maxDrops = MIN_TESTED_ARITY + + Helper.RNG.nextInt(maxArgs - MIN_TESTED_ARITY) + + 1; + args = 1; + } + + if (Helper.IS_VERBOSE) { + System.out.printf("maxArgs = %d%nmaxDrops = %d%n", + maxArgs, maxDrops); + } + constructorSize = TestCase.CONSTRUCTORS.size(); + } + + private static List<CatchExceptionTest> createTests(int argsCount, + int catchDrops) { + if (catchDrops > argsCount || argsCount < 0 || catchDrops < 0) { + throw new IllegalArgumentException("argsCount = " + argsCount + + ", catchDrops = " + catchDrops + ); + } + List<CatchExceptionTest> result = new ArrayList<>( + TestCase.CONSTRUCTORS.size()); + for (Supplier<TestCase> constructor : TestCase.CONSTRUCTORS) { + result.add(new CatchExceptionTest(constructor.get(), + /* isVararg = */ true, + argsCount, + catchDrops)); + result.add(new CatchExceptionTest(constructor.get(), + /* isVararg = */ false, + argsCount, + catchDrops)); + } + return result; + } + + /** + * @return next test from test matrix: + * {varArgs, noVarArgs} x TestCase.rtypes x TestCase.THROWABLES x {1, .., maxArgs } x {1, .., maxDrops} + */ + public CatchExceptionTest nextTest() { + if (constructor < constructorSize) { + return createTest(); + } + constructor = 0; + count++; + if (!Helper.IS_THOROUGH && count > Helper.TEST_LIMIT) { + System.out.println("test limit is exceeded"); + return null; + } + if (dropArgs <= currentMaxDrops) { + if (dropArgs == 1) { + if (Helper.IS_THOROUGH || Helper.RNG.nextBoolean()) { + ++dropArgs; + return createTest(); + } else if (Helper.IS_VERBOSE) { + System.out.printf( + "argsCount=%d : \"drop\" scenarios are skipped%n", + args); + } + } else { + ++dropArgs; + return createTest(); + } + } + + if (args <= maxArgs) { + dropArgs = 1; + currentMaxDrops = Math.min(args, maxDrops); + ++args; + return createTest(); + } + return null; + } + + private CatchExceptionTest createTest() { + if (!Helper.IS_THOROUGH) { + return new CatchExceptionTest( + TestCase.CONSTRUCTORS.get(constructor++).get(), + Helper.RNG.nextBoolean(), args, dropArgs); + } else { + if (isVararg) { + isVararg = false; + return new CatchExceptionTest( + TestCase.CONSTRUCTORS.get(constructor++).get(), + isVararg, args, dropArgs); + } else { + isVararg = true; + return new CatchExceptionTest( + TestCase.CONSTRUCTORS.get(constructor).get(), + isVararg, args, dropArgs); + } + } + } +} + +class TestCase<T> { + private static enum ThrowMode { + NOTHING, + CAUGHT, + UNCAUGHT, + ADAPTER + } + + @SuppressWarnings("unchecked") + public static final List<Supplier<TestCase>> CONSTRUCTORS; + private static final MethodHandle FAKE_IDENTITY; + private static final MethodHandle THROW_OR_RETURN; + private static final MethodHandle CATCHER; + + static { + try { + MethodHandles.Lookup lookup = MethodHandles.lookup(); + THROW_OR_RETURN = lookup.findStatic( + TestCase.class, + "throwOrReturn", + MethodType.methodType(Object.class, Object.class, + Throwable.class) + ); + CATCHER = lookup.findStatic( + TestCase.class, + "catcher", + MethodType.methodType(Object.class, Object.class)); + FAKE_IDENTITY = lookup.findVirtual( + TestCase.class, "fakeIdentity", + MethodType.methodType(Object.class, Object.class)); + + } catch (NoSuchMethodException | IllegalAccessException e) { + throw new Error(e); + } + PartialConstructor[] constructors = { + create(Object.class, Object.class::cast), + create(String.class, Objects::toString), + create(int[].class, x -> new int[]{Objects.hashCode(x)}), + create(long.class, + x -> Objects.hashCode(x) & (-1L >>> 32)), + create(void.class, TestCase::noop)}; + Throwable[] throwables = { + new ClassCastException("testing"), + new java.io.IOException("testing"), + new LinkageError("testing")}; + List<Supplier<TestCase>> list = new ArrayList<>(constructors.length * + throwables.length * ThrowMode.values().length); + //noinspection unchecked + for (PartialConstructor f : constructors) { + for (ThrowMode mode : ThrowMode.values()) { + for (Throwable t : throwables) { + list.add(f.apply(mode, t)); + } + } + } + CONSTRUCTORS = Collections.unmodifiableList(list); + } + + public final Class<T> rtype; + public final ThrowMode throwMode; + public final Throwable thrown; + public final Class<? extends Throwable> throwableClass; + /** + * MH which takes 2 args (Object,Throwable), 1st is the return value, + * 2nd is the exception which will be thrown, if it's supposed in current + * {@link #throwMode}. + */ + public final MethodHandle thrower; + private final Function<Object, T> cast; + protected MethodHandle filter; + private int fakeIdentityCount; + + private TestCase(Class<T> rtype, Function<Object, T> cast, + ThrowMode throwMode, Throwable thrown) + throws NoSuchMethodException, IllegalAccessException { + this.cast = cast; + filter = MethodHandles.lookup().findVirtual( + Function.class, + "apply", + MethodType.methodType(Object.class, Object.class)) + .bindTo(cast); + this.rtype = rtype; + this.throwMode = throwMode; + this.throwableClass = thrown.getClass(); + switch (throwMode) { + case NOTHING: + this.thrown = null; + break; + case ADAPTER: + case UNCAUGHT: + this.thrown = new Error("do not catch this"); + break; + default: + this.thrown = thrown; + } + + MethodHandle throwOrReturn = THROW_OR_RETURN; + if (throwMode == ThrowMode.ADAPTER) { + MethodHandle fakeIdentity = FAKE_IDENTITY.bindTo(this); + for (int i = 0; i < 10; ++i) { + throwOrReturn = MethodHandles.filterReturnValue( + throwOrReturn, fakeIdentity); + } + } + thrower = throwOrReturn.asType(MethodType.genericMethodType(2)); + } + + private static Void noop(Object x) { + return null; + } + + private static <T2> PartialConstructor create( + Class<T2> rtype, Function<Object, T2> cast) { + return (t, u) -> () -> { + try { + return new TestCase<>(rtype, cast, t, u); + } catch (NoSuchMethodException | IllegalAccessException e) { + throw new Error(e); + } + }; + } + + private static <T extends Throwable> + Object throwOrReturn(Object normal, T exception) throws T { + if (exception != null) { + Helper.called("throwOrReturn/throw", normal, exception); + throw exception; + } + Helper.called("throwOrReturn/normal", normal, exception); + return normal; + } + + private static <T extends Throwable> + Object catcher(Object o) { + Helper.called("catcher", o); + return o; + } + + public MethodHandle filter(MethodHandle target) { + return MethodHandles.filterReturnValue(target, filter); + } + + public MethodHandle getCatcher(List<Class<?>> classes) { + return MethodHandles.filterReturnValue(Helper.AS_LIST.asType( + MethodType.methodType(Object.class, classes)), + CATCHER + ); + } + + @Override + public String toString() { + return "TestCase{" + + "rtype=" + rtype + + ", throwMode=" + throwMode + + ", throwableClass=" + throwableClass + + '}'; + } + + public String callName() { + return "throwOrReturn/" + + (throwMode == ThrowMode.NOTHING + ? "normal" + : "throw"); + } + + public void assertReturn(Object returned, Object arg0, Object arg1, + int catchDrops, Object... args) { + int lag = 0; + if (throwMode == ThrowMode.CAUGHT) { + lag = 1; + } + Helper.assertCalled(lag, callName(), arg0, arg1); + + if (throwMode == ThrowMode.NOTHING) { + assertEQ(cast.apply(arg0), returned); + } else if (throwMode == ThrowMode.CAUGHT) { + List<Object> catchArgs = new ArrayList<>(Arrays.asList(args)); + // catcher receives an initial subsequence of target arguments: + catchArgs.subList(args.length - catchDrops, args.length).clear(); + // catcher also receives the exception, prepended: + catchArgs.add(0, thrown); + Helper.assertCalled("catcher", catchArgs); + assertEQ(cast.apply(catchArgs), returned); + } + Asserts.assertEQ(0, fakeIdentityCount); + } + + private void assertEQ(T t, Object returned) { + if (rtype.isArray()) { + Asserts.assertEQ(t.getClass(), returned.getClass()); + int n = Array.getLength(t); + Asserts.assertEQ(n, Array.getLength(returned)); + for (int i = 0; i < n; ++i) { + Asserts.assertEQ(Array.get(t, i), Array.get(returned, i)); + } + } else { + Asserts.assertEQ(t, returned); + } + } + + private Object fakeIdentity(Object x) { + System.out.println("should throw through this!"); + ++fakeIdentityCount; + return x; + } + + public void assertCatch(Throwable ex) { + try { + Asserts.assertSame(thrown, ex, + "must get the out-of-band exception"); + } catch (Throwable t) { + ex.printStackTrace(); + } + } + + public interface PartialConstructor + extends BiFunction<ThrowMode, Throwable, Supplier<TestCase>> { + } +} diff --git a/jdk/test/java/lang/invoke/MethodHandlesTest.java b/jdk/test/java/lang/invoke/MethodHandlesTest.java index a16adc236d9..d607e06aad2 100644 --- a/jdk/test/java/lang/invoke/MethodHandlesTest.java +++ b/jdk/test/java/lang/invoke/MethodHandlesTest.java @@ -2405,108 +2405,6 @@ public class MethodHandlesTest { } } - @Test - public void testCatchException() throws Throwable { - if (CAN_SKIP_WORKING) return; - startTest("catchException"); - for (int nargs = 0; nargs < 40; nargs++) { - if (CAN_TEST_LIGHTLY && nargs > 11) break; - for (int throwMode = 0; throwMode < THROW_MODE_LIMIT; throwMode++) { - testCatchException(int.class, new ClassCastException("testing"), throwMode, nargs); - if (CAN_TEST_LIGHTLY && nargs > 3) continue; - testCatchException(void.class, new java.io.IOException("testing"), throwMode, nargs); - testCatchException(String.class, new LinkageError("testing"), throwMode, nargs); - } - } - } - - static final int THROW_NOTHING = 0, THROW_CAUGHT = 1, THROW_UNCAUGHT = 2, THROW_THROUGH_ADAPTER = 3, THROW_MODE_LIMIT = 4; - - void testCatchException(Class<?> returnType, Throwable thrown, int throwMode, int nargs) throws Throwable { - testCatchException(returnType, thrown, throwMode, nargs, 0); - if (nargs <= 5 || nargs % 10 == 3) { - for (int catchDrops = 1; catchDrops <= nargs; catchDrops++) - testCatchException(returnType, thrown, throwMode, nargs, catchDrops); - } - } - - private static <T extends Throwable> - Object throwOrReturn(Object normal, T exception) throws T { - if (exception != null) { - called("throwOrReturn/throw", normal, exception); - throw exception; - } - called("throwOrReturn/normal", normal, exception); - return normal; - } - private int fakeIdentityCount; - private Object fakeIdentity(Object x) { - System.out.println("should throw through this!"); - fakeIdentityCount++; - return x; - } - - void testCatchException(Class<?> returnType, Throwable thrown, int throwMode, int nargs, int catchDrops) throws Throwable { - countTest(); - if (verbosity >= 3) - System.out.println("catchException rt="+returnType+" throw="+throwMode+" nargs="+nargs+" drops="+catchDrops); - Class<? extends Throwable> exType = thrown.getClass(); - if (throwMode > THROW_CAUGHT) thrown = new UnsupportedOperationException("do not catch this"); - MethodHandle throwOrReturn - = PRIVATE.findStatic(MethodHandlesTest.class, "throwOrReturn", - MethodType.methodType(Object.class, Object.class, Throwable.class)); - if (throwMode == THROW_THROUGH_ADAPTER) { - MethodHandle fakeIdentity - = PRIVATE.findVirtual(MethodHandlesTest.class, "fakeIdentity", - MethodType.methodType(Object.class, Object.class)).bindTo(this); - for (int i = 0; i < 10; i++) - throwOrReturn = MethodHandles.filterReturnValue(throwOrReturn, fakeIdentity); - } - int nargs1 = Math.max(2, nargs); - MethodHandle thrower = throwOrReturn.asType(MethodType.genericMethodType(2)); - thrower = addTrailingArgs(thrower, nargs, Object.class); - int catchArgc = 1 + nargs - catchDrops; - MethodHandle catcher = varargsList(catchArgc).asType(MethodType.genericMethodType(catchArgc)); - Object[] args = randomArgs(nargs, Object.class); - Object arg0 = MISSING_ARG; - Object arg1 = (throwMode == THROW_NOTHING) ? (Throwable) null : thrown; - if (nargs > 0) arg0 = args[0]; - if (nargs > 1) args[1] = arg1; - assertEquals(nargs1, thrower.type().parameterCount()); - if (nargs < nargs1) { - Object[] appendArgs = { arg0, arg1 }; - appendArgs = Arrays.copyOfRange(appendArgs, nargs, nargs1); - thrower = MethodHandles.insertArguments(thrower, nargs, appendArgs); - } - assertEquals(nargs, thrower.type().parameterCount()); - MethodHandle target = MethodHandles.catchException(thrower, exType, catcher); - assertEquals(thrower.type(), target.type()); - assertEquals(nargs, target.type().parameterCount()); - //System.out.println("catching with "+target+" : "+throwOrReturn); - Object returned; - try { - returned = target.invokeWithArguments(args); - } catch (Throwable ex) { - assertSame("must get the out-of-band exception", thrown, ex); - if (throwMode <= THROW_CAUGHT) - assertEquals(THROW_UNCAUGHT, throwMode); - returned = ex; - } - assertCalled("throwOrReturn/"+(throwMode == THROW_NOTHING ? "normal" : "throw"), arg0, arg1); - //System.out.println("return from "+target+" : "+returned); - if (throwMode == THROW_NOTHING) { - assertSame(arg0, returned); - } else if (throwMode == THROW_CAUGHT) { - List<Object> catchArgs = new ArrayList<>(Arrays.asList(args)); - // catcher receives an initial subsequence of target arguments: - catchArgs.subList(nargs - catchDrops, nargs).clear(); - // catcher also receives the exception, prepended: - catchArgs.add(0, thrown); - assertEquals(catchArgs, returned); - } - assertEquals(0, fakeIdentityCount); - } - @Test public void testThrowException() throws Throwable { if (CAN_SKIP_WORKING) return; diff --git a/jdk/test/java/net/NetworkInterface/Test.java b/jdk/test/java/net/NetworkInterface/Test.java index 66ecbed5631..6db3079992d 100644 --- a/jdk/test/java/net/NetworkInterface/Test.java +++ b/jdk/test/java/net/NetworkInterface/Test.java @@ -30,6 +30,7 @@ import java.net.InetAddress; import java.util.Enumeration; public class Test { + static final boolean isWindows = System.getProperty("os.name").startsWith("Windows"); public static void main(String args[]) throws Exception { @@ -38,6 +39,11 @@ public class Test { while (nifs.hasMoreElements()) { NetworkInterface ni = (NetworkInterface)nifs.nextElement(); + //JDK-8038276: Should not test on Windows with Teredo Tunneling Pseudo-Interface + String dName = ni.getDisplayName(); + if (isWindows && dName != null && dName.contains("Teredo")) + continue; + String name = ni.getName(); System.out.println("\n" + name); diff --git a/jdk/test/java/net/ProxySelector/B8035158.java b/jdk/test/java/net/ProxySelector/B8035158.java new file mode 100644 index 00000000000..bc498923d0f --- /dev/null +++ b/jdk/test/java/net/ProxySelector/B8035158.java @@ -0,0 +1,260 @@ +/* + * Copyright (c) 2014 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +/* + * @test + * @bug 8035158 + * @run main/othervm B8035158 + */ + +import java.net.Proxy; +import java.net.ProxySelector; +import java.net.URI; +import java.util.*; +import java.util.concurrent.Callable; + +public class B8035158 { + + public static void main(String[] args) { + for (TestCase t : emptyNonProxiesHosts()) t.run(); + for (TestCase t : nonEmptyNonProxiesHosts()) t.run(); + for (TestCase t : misc()) t.run(); + } + + // Setting http.nonProxyHosts to an empty string has an effect of + // not including default hosts to the list of exceptions + // (i.e. if you want everything to be connected directly rather than + // through proxy, you should set this property to an empty string) + private static Collection<TestCase> emptyNonProxiesHosts() { + List<TestCase> tests = new LinkedList<>(); + String[] loopbacks = {"localhost", "[::1]", "[::0]", "0.0.0.0", + "127.0.0.0", "127.0.0.1", "127.0.1.0", "127.0.1.1", + "127.1.0.0", "127.1.0.1", "127.1.1.0", "127.1.1.1"}; + Map<String, String> properties = new HashMap<>(); + properties.put("http.proxyHost", "http://proxy.example.com"); + properties.put("http.nonProxyHosts", ""); + for (String s : loopbacks) { + tests.add(new TestCase(properties, "http://" + s, true)); + } + return tests; + } + + // No matter what is set into the http.nonProxyHosts (as far as it is not + // an empty string) loopback address aliases must be always connected + // directly + private static Collection<TestCase> nonEmptyNonProxiesHosts() { + List<TestCase> tests = new LinkedList<>(); + String[] nonProxyHosts = { + "google.com", + "localhost", "[::1]", "[::0]", "0.0.0.0", + "127.0.0.0", "127.0.0.1", "127.0.1.0", "127.0.1.1", + "127.1.0.0", "127.1.0.1", "127.1.1.0", "127.1.1.1"}; + String[] loopbacks = {"localhost", "[::1]", "[::0]", "0.0.0.0", + "127.0.0.0", "127.0.0.1", "127.0.1.0", "127.0.1.1", + "127.1.0.0", "127.1.0.1", "127.1.1.0", "127.1.1.1"}; + for (String h : nonProxyHosts) { + for (String s : loopbacks) { + Map<String, String> properties = new HashMap<>(); + properties.put("http.proxyHost", "http://proxy.example.com"); + properties.put("http.nonProxyHosts", h); + tests.add(new TestCase(properties, "http://" + s, false)); + } + } + return tests; + } + + // unsorted tests + private static Collection<TestCase> misc() { + List<TestCase> t = new LinkedList<>(); + t.add(new TestCase("oracle.com", "http://137.254.16.101", true)); + t.add(new TestCase("google.com", "http://74.125.200.101", true)); + + t.add(new TestCase("google.com|google.ie", "http://google.co.uk", + true)); + t.add(new TestCase("google.com|google.ie", "http://google.com", + false)); + t.add(new TestCase("google.com|google.ie", "http://google.ie", + false)); + + t.add(new TestCase("google.com|bing.com|yahoo.com", + "http://127.0.0.1", false)); + t.add(new TestCase("google.com|bing.com|yahoo.com", + "http://google.com", false)); + t.add(new TestCase("google.com|bing.com|yahoo.com", + "http://bing.com", false)); + t.add(new TestCase("google.com|bing.com|yahoo.com", + "http://yahoo.com", false)); + + t.add(new TestCase("google.com|bing.com", "http://google.com", false)); + t.add(new TestCase("google.com|bing.com", "http://bing.com", false)); + t.add(new TestCase("google.com|bing.com", "http://yahoo.com", + true)); + t.add(new TestCase("google.com|bing.co*", "http://google.com", false)); + t.add(new TestCase("google.com|bing.co*", "http://bing.com", false)); + t.add(new TestCase("google.com|bing.co*", "http://yahoo.com", + true)); + t.add(new TestCase("google.com|*ing.com", "http://google.com", false)); + t.add(new TestCase("google.com|*ing.com", "http://bing.com", false)); + t.add(new TestCase("google.com|*ing.com", "http://yahoo.com", + true)); + t.add(new TestCase("google.co*|bing.com", "http://google.com", false)); + t.add(new TestCase("google.co*|bing.com", "http://bing.com", false)); + t.add(new TestCase("google.co*|bing.com", "http://yahoo.com", + true)); + t.add(new TestCase("google.co*|bing.co*", "http://google.com", false)); + t.add(new TestCase("google.co*|bing.co*", "http://bing.com", false)); + t.add(new TestCase("google.co*|bing.co*", "http://yahoo.com", + true)); + t.add(new TestCase("google.co*|*ing.com", "http://google.com", false)); + t.add(new TestCase("google.co*|*ing.com", "http://bing.com", false)); + t.add(new TestCase("google.co*|*ing.com", "http://yahoo.com", + true)); + t.add(new TestCase("*oogle.com|bing.com", "http://google.com", false)); + t.add(new TestCase("*oogle.com|bing.com", "http://bing.com", false)); + t.add(new TestCase("*oogle.com|bing.com", "http://yahoo.com", + true)); + t.add(new TestCase("*oogle.com|bing.co*", "http://google.com", false)); + t.add(new TestCase("*oogle.com|bing.co*", "http://bing.com", false)); + t.add(new TestCase("*oogle.com|bing.co*", "http://yahoo.com", + true)); + t.add(new TestCase("*oogle.com|*ing.com", "http://google.com", false)); + t.add(new TestCase("*oogle.com|*ing.com", "http://bing.com", false)); + t.add(new TestCase("*oogle.com|*ing.com", "http://yahoo.com", + true)); + + t.add(new TestCase("google.com|bing.com|yahoo.com", "http://google.com", false)); + t.add(new TestCase("google.com|bing.com|yahoo.com", "http://bing.com", false)); + t.add(new TestCase("google.com|bing.com|yahoo.com", "http://yahoo.com", false)); + t.add(new TestCase("google.com|bing.com|yahoo.com", + "http://duckduckgo.com", true)); + + t.add(new TestCase("p-proxy.com", "http://p-proxy.com", false)); + t.add(new TestCase("google.co*|google.ie", "http://google.co.uk", + false)); + + t.add(new TestCase("*oracle.com", "http://my.oracle.com", false)); + t.add(new TestCase("google.com|bing.com|yahoo.com", "http://127.0.0.1", false)); + t.add(new TestCase("google.com|bing.com|yahoo.com", "http://yahoo.com", false)); + + // example from + // http://docs.oracle.com/javase/7/docs/technotes/guides/net/proxies.html + t.add(new TestCase("localhost|host.example.com", "http://localhost", + false)); + t.add(new TestCase("localhost|host.example.com", + "http://host.example.com", false)); + t.add(new TestCase("localhost|host.example.com", + "http://google.com", true)); + return t; + } + + + private static <T> T withSystemPropertiesSet( + Map<String, String> localProperties, + Callable<? extends T> code) { + Map<String, String> backup = new HashMap<>(); + try { + backupAndSetProperties(localProperties, backup); + return code.call(); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + restoreProperties(backup); + } + } + + private static void backupAndSetProperties( + Map<String, String> localProperties, + Map<String, String> oldProperties) { + for (Map.Entry<String, String> e : localProperties.entrySet()) { + String oldValue = System.setProperty(e.getKey(), e.getValue()); + oldProperties.put(e.getKey(), oldValue); + } + } + + private static void restoreProperties(Map<String, String> oldProperties) { + for (Map.Entry<String, String> e : oldProperties.entrySet()) { + String oldValue = e.getValue(); + String key = e.getKey(); + if (oldValue == null) + System.getProperties().remove(key); + else + System.setProperty(key, oldValue); + } + } + + private static class TestCase { + + final Map<String, String> localProperties; + final String urlhost; + final boolean expectedProxying; + + TestCase(String nonProxyHosts, String urlhost, + boolean expectedProxying) { + this(nonProxyHosts, "proxy.example.com", urlhost, + expectedProxying); + } + + TestCase(String nonProxyHosts, String proxyHost, String urlhost, + boolean expectedProxying) { + this(new HashMap<String, String>() { + { + put("http.nonProxyHosts", nonProxyHosts); + put("http.proxyHost", proxyHost); + } + }, urlhost, expectedProxying); + } + + TestCase(Map<String, String> localProperties, String urlhost, + boolean expectedProxying) { + this.localProperties = localProperties; + this.urlhost = urlhost; + this.expectedProxying = expectedProxying; + } + + void run() { + System.out.printf("urlhost=%s properties=%s: proxied? %s%n", + urlhost, localProperties, expectedProxying); + + List<Proxy> proxies = withSystemPropertiesSet(localProperties, + () -> ProxySelector.getDefault().select( + URI.create(urlhost)) + ); + + verify(proxies); + } + + void verify(List<? extends Proxy> proxies) { + + boolean actualProxying = !(proxies.size() == 1 && + proxies.get(0).type() == Proxy.Type.DIRECT); + + if (actualProxying != expectedProxying) + throw new AssertionError(String.format( + "Expected %s connection for %s (given " + + "properties=%s). Here's the list of proxies " + + "returned: %s", + expectedProxying ? "proxied" : "direct", urlhost, + localProperties, proxies + )); + } + } +} diff --git a/jdk/test/java/net/Socket/asyncClose/AsyncClose.java b/jdk/test/java/net/Socket/asyncClose/AsyncClose.java index db9dddf791d..4de5d4851d6 100644 --- a/jdk/test/java/net/Socket/asyncClose/AsyncClose.java +++ b/jdk/test/java/net/Socket/asyncClose/AsyncClose.java @@ -21,15 +21,17 @@ * questions. */ +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; +import static java.util.concurrent.CompletableFuture.*; + /* * @test * @bug 4344135 * @summary Check that {Socket,ServerSocket,DatagramSocket}.close will * cause any thread blocked on the socket to throw a SocketException. - * @run main/timeout=60 AsyncClose */ -import java.net.*; -import java.io.*; public class AsyncClose { @@ -37,34 +39,35 @@ public class AsyncClose { AsyncCloseTest tests[] = { new Socket_getInputStream_read(), - new Socket_getInputStream_read(5000), + new Socket_getInputStream_read(20000), new Socket_getOutputStream_write(), new DatagramSocket_receive(), - new DatagramSocket_receive(5000), + new DatagramSocket_receive(20000), new ServerSocket_accept(), - new ServerSocket_accept(5000), + new ServerSocket_accept(20000), }; int failures = 0; - for (int i=0; i<tests.length; i++) { - AsyncCloseTest tst = tests[i]; + List<CompletableFuture<AsyncCloseTest>> cfs = new ArrayList<>(); + for (AsyncCloseTest test : tests) + cfs.add( supplyAsync(() -> test.go())); + + for (CompletableFuture<AsyncCloseTest> cf : cfs) { + AsyncCloseTest test = cf.get(); System.out.println("******************************"); - System.out.println("Test: " + tst.description()); - - if (tst.go()) { + System.out.println("Test: " + test.description()); + if (test.hasPassed()) { System.out.println("Passed."); } else { - System.out.println("Failed: " + tst.failureReason()); + System.out.println("Failed: " + test.failureReason()); failures++; } System.out.println(""); - } - if (failures > 0) { + if (failures > 0) throw new Exception(failures + " sub-tests failed - see log."); - } } } diff --git a/jdk/test/java/net/Socket/asyncClose/AsyncCloseTest.java b/jdk/test/java/net/Socket/asyncClose/AsyncCloseTest.java index ef6fc43dd99..e7fd6fc5979 100644 --- a/jdk/test/java/net/Socket/asyncClose/AsyncCloseTest.java +++ b/jdk/test/java/net/Socket/asyncClose/AsyncCloseTest.java @@ -29,11 +29,22 @@ public abstract class AsyncCloseTest { public abstract String description(); - public abstract boolean go() throws Exception; + public abstract AsyncCloseTest go(); + public synchronized boolean hasPassed() { + return passed; + } - protected synchronized void failed(String reason) { - this.reason = reason; + protected synchronized AsyncCloseTest passed() { + if (reason == null) + passed = true; + return this; + } + + protected synchronized AsyncCloseTest failed(String r) { + passed = false; + reason = r; + return this; } public synchronized String failureReason() { @@ -48,7 +59,7 @@ public abstract class AsyncCloseTest { return closed; } + private boolean passed; private String reason; private boolean closed; - } diff --git a/jdk/test/java/net/Socket/asyncClose/DatagramSocket_receive.java b/jdk/test/java/net/Socket/asyncClose/DatagramSocket_receive.java index b35ebdff8ed..48a842e30d2 100644 --- a/jdk/test/java/net/Socket/asyncClose/DatagramSocket_receive.java +++ b/jdk/test/java/net/Socket/asyncClose/DatagramSocket_receive.java @@ -26,20 +26,25 @@ * throws a SocketException if the socket is asynchronously closed. */ import java.net.*; +import java.util.concurrent.CountDownLatch; public class DatagramSocket_receive extends AsyncCloseTest implements Runnable { - DatagramSocket s; - int timeout = 0; + private final DatagramSocket s; + private final int timeout; + private final CountDownLatch latch; - public DatagramSocket_receive() { + public DatagramSocket_receive() throws SocketException { + this(0); } - public DatagramSocket_receive(int timeout) { + public DatagramSocket_receive(int timeout) throws SocketException { this.timeout = timeout; + latch = new CountDownLatch(1); + s = new DatagramSocket(); } public String description() { - String s = "DatagramSocket.receive"; + String s = "DatagramSocket.receive(DatagramPacket)"; if (timeout > 0) { s += " (timeout specified)"; } @@ -47,46 +52,45 @@ public class DatagramSocket_receive extends AsyncCloseTest implements Runnable { } public void run() { - DatagramPacket p; try { - byte b[] = new byte[1024]; - p = new DatagramPacket(b, b.length); - + DatagramPacket p = new DatagramPacket(b, b.length); if (timeout > 0) { s.setSoTimeout(timeout); } - } catch (Exception e) { - failed(e.getMessage()); - return; - } - - try { + latch.countDown(); s.receive(p); + failed("DatagramSocket.receive(DatagramPacket) returned unexpectly!!"); } catch (SocketException se) { - closed(); + if (latch.getCount() != 1) { + closed(); + } } catch (Exception e) { failed(e.getMessage()); + } finally { + if (latch.getCount() == 1) { + latch.countDown(); + } } } - public boolean go() throws Exception { - s = new DatagramSocket(); + public AsyncCloseTest go() { + try { + Thread thr = new Thread(this); + thr.start(); + latch.await(); + Thread.sleep(5000); //sleep, so receive(DatagramPacket) can block + s.close(); + thr.join(); - Thread thr = new Thread(this); - thr.start(); - - Thread.currentThread().sleep(1000); - - s.close(); - - Thread.currentThread().sleep(1000); - - if (isClosed()) { - return true; - } else { - failed("DatagramSocket.receive wasn't preempted"); - return false; + if (isClosed()) { + return passed(); + } else { + return failed("DatagramSocket.receive(DatagramPacket) wasn't preempted"); + } + } catch (Exception x) { + failed(x.getMessage()); + throw new RuntimeException(x); } } } diff --git a/jdk/test/java/net/Socket/asyncClose/ServerSocket_accept.java b/jdk/test/java/net/Socket/asyncClose/ServerSocket_accept.java index 07fbcc95ae5..0461ba58f8a 100644 --- a/jdk/test/java/net/Socket/asyncClose/ServerSocket_accept.java +++ b/jdk/test/java/net/Socket/asyncClose/ServerSocket_accept.java @@ -25,17 +25,23 @@ * Tests that a thread blocked in ServerSocket.accept * throws a SocketException if the socket is asynchronously closed. */ +import java.io.IOException; import java.net.*; +import java.util.concurrent.CountDownLatch; public class ServerSocket_accept extends AsyncCloseTest implements Runnable { - ServerSocket ss; - int timeout = 0; + private final ServerSocket ss; + private final int timeout; + private final CountDownLatch latch; - public ServerSocket_accept() { + public ServerSocket_accept() throws IOException { + this(0); } - public ServerSocket_accept(int timeout) { + public ServerSocket_accept(int timeout) throws IOException { this.timeout = timeout; + latch = new CountDownLatch(1); + ss = new ServerSocket(0); } public String description() { @@ -48,7 +54,9 @@ public class ServerSocket_accept extends AsyncCloseTest implements Runnable { public void run() { try { + latch.countDown(); Socket s = ss.accept(); + failed("ServerSocket.accept() returned unexpectly!!"); } catch (SocketException se) { closed(); } catch (Exception e) { @@ -56,23 +64,23 @@ public class ServerSocket_accept extends AsyncCloseTest implements Runnable { } } - public boolean go() throws Exception { - ss = new ServerSocket(0); + public AsyncCloseTest go(){ + try { + Thread thr = new Thread(this); + thr.start(); + latch.await(); + Thread.sleep(5000); //sleep, so ServerSocket.accept() can block + ss.close(); + thr.join(); - Thread thr = new Thread(this); - thr.start(); - - Thread.currentThread().sleep(1000); - - ss.close(); - - Thread.currentThread().sleep(1000); - - if (isClosed()) { - return true; - } else { - failed("ServerSocket.accept() wasn't preempted"); - return false; + if (isClosed()) { + return passed(); + } else { + return failed("ServerSocket.accept() wasn't preempted"); + } + } catch (Exception x) { + failed(x.getMessage()); + throw new RuntimeException(x); } } } diff --git a/jdk/test/java/net/Socket/asyncClose/Socket_getInputStream_read.java b/jdk/test/java/net/Socket/asyncClose/Socket_getInputStream_read.java index a4d76020cd2..25f85898583 100644 --- a/jdk/test/java/net/Socket/asyncClose/Socket_getInputStream_read.java +++ b/jdk/test/java/net/Socket/asyncClose/Socket_getInputStream_read.java @@ -27,16 +27,21 @@ */ import java.net.*; import java.io.*; +import java.util.concurrent.CountDownLatch; public class Socket_getInputStream_read extends AsyncCloseTest implements Runnable { - Socket s; - int timeout = 0; + private final Socket s; + private final int timeout; + private final CountDownLatch latch; public Socket_getInputStream_read() { + this(0); } public Socket_getInputStream_read(int timeout) { this.timeout = timeout; + latch = new CountDownLatch(1); + s = new Socket(); } public String description() { @@ -48,53 +53,48 @@ public class Socket_getInputStream_read extends AsyncCloseTest implements Runnab } public void run() { - InputStream in; - try { - in = s.getInputStream(); + InputStream in = s.getInputStream(); if (timeout > 0) { s.setSoTimeout(timeout); } - } catch (Exception e) { - failed(e.getMessage()); - return; - } - - try { + latch.countDown(); int n = in.read(); - failed("getInptuStream().read() returned unexpectly!!"); + failed("Socket.getInputStream().read() returned unexpectly!!"); } catch (SocketException se) { - closed(); + if (latch.getCount() != 1) { + closed(); + } } catch (Exception e) { failed(e.getMessage()); + } finally { + if (latch.getCount() == 1) { + latch.countDown(); + } } } - public boolean go() throws Exception { + public AsyncCloseTest go() { + try { + ServerSocket ss = new ServerSocket(0); + InetAddress lh = InetAddress.getLocalHost(); + s.connect( new InetSocketAddress(lh, ss.getLocalPort()) ); + Socket s2 = ss.accept(); + Thread thr = new Thread(this); + thr.start(); + latch.await(); + Thread.sleep(5000); //sleep, so Socket.getInputStream().read() can block + s.close(); + thr.join(); - ServerSocket ss = new ServerSocket(0); - - InetAddress lh = InetAddress.getLocalHost(); - s = new Socket(); - s.connect( new InetSocketAddress(lh, ss.getLocalPort()) ); - - Socket s2 = ss.accept(); - - Thread thr = new Thread(this); - thr.start(); - - Thread.currentThread().sleep(1000); - - s.close(); - - Thread.currentThread().sleep(1000); - - if (isClosed()) { - return true; - } else { - failed("getInputStream().read() wasn't preempted"); - return false; + if (isClosed()) { + return passed(); + } else { + return failed("Socket.getInputStream().read() wasn't preempted"); + } + } catch (Exception x) { + failed(x.getMessage()); + throw new RuntimeException(x); } - } } diff --git a/jdk/test/java/net/Socket/asyncClose/Socket_getOutputStream_write.java b/jdk/test/java/net/Socket/asyncClose/Socket_getOutputStream_write.java index 841861d919c..78cbf45014a 100644 --- a/jdk/test/java/net/Socket/asyncClose/Socket_getOutputStream_write.java +++ b/jdk/test/java/net/Socket/asyncClose/Socket_getOutputStream_write.java @@ -27,9 +27,16 @@ */ import java.net.*; import java.io.*; +import java.util.concurrent.CountDownLatch; public class Socket_getOutputStream_write extends AsyncCloseTest implements Runnable { - Socket s; + private final Socket s; + private final CountDownLatch latch; + + public Socket_getOutputStream_write() { + latch = new CountDownLatch(1); + s = new Socket(); + } public String description() { return "Socket.getOutputStream().write()"; @@ -38,40 +45,45 @@ public class Socket_getOutputStream_write extends AsyncCloseTest implements Runn public void run() { try { OutputStream out = s.getOutputStream(); + byte b[] = new byte[8192]; + latch.countDown(); for (;;) { - byte b[] = new byte[8192]; out.write(b); } } catch (SocketException se) { - closed(); + if (latch.getCount() != 1) { + closed(); + } } catch (Exception e) { failed(e.getMessage()); + } finally { + if (latch.getCount() == 1) { + latch.countDown(); + } } } - public boolean go() throws Exception { - ServerSocket ss = new ServerSocket(0); + public AsyncCloseTest go() { + try { + ServerSocket ss = new ServerSocket(0); + InetAddress lh = InetAddress.getLocalHost(); + s.connect( new InetSocketAddress(lh, ss.getLocalPort()) ); + Socket s2 = ss.accept(); + Thread thr = new Thread(this); + thr.start(); + latch.await(); + Thread.sleep(1000); + s.close(); + thr.join(); - InetAddress lh = InetAddress.getLocalHost(); - s = new Socket(); - s.connect( new InetSocketAddress(lh, ss.getLocalPort()) ); - - Socket s2 = ss.accept(); - - Thread thr = new Thread(this); - thr.start(); - - Thread.currentThread().sleep(2000); - - s.close(); - - Thread.currentThread().sleep(2000); - - if (isClosed()) { - return true; - } else { - failed("getOutputStream().write() wasn't preempted"); - return false; + if (isClosed()) { + return passed(); + } else { + return failed("Socket.getOutputStream().write() wasn't preempted"); + } + } catch (Exception x) { + failed(x.getMessage()); + throw new RuntimeException(x); } } } diff --git a/jdk/test/java/nio/channels/Selector/ChangingInterests.java b/jdk/test/java/nio/channels/Selector/ChangingInterests.java index 59f62100676..c3e1dbd0964 100644 --- a/jdk/test/java/nio/channels/Selector/ChangingInterests.java +++ b/jdk/test/java/nio/channels/Selector/ChangingInterests.java @@ -138,8 +138,10 @@ public class ChangingInterests { ServerSocketChannel.open().bind(new InetSocketAddress(0)); final SocketChannel sc = SocketChannel.open(); + sc.setOption(StandardSocketOptions.TCP_NODELAY, true); sc.connect(new InetSocketAddress(lh, ssc.socket().getLocalPort())); SocketChannel peer = ssc.accept(); + peer.setOption(StandardSocketOptions.TCP_NODELAY, true); sc.configureBlocking(false); diff --git a/jdk/test/java/time/tck/java/time/TCKLocalTime.java b/jdk/test/java/time/tck/java/time/TCKLocalTime.java index 704533afca0..f79e8fc41f6 100644 --- a/jdk/test/java/time/tck/java/time/TCKLocalTime.java +++ b/jdk/test/java/time/tck/java/time/TCKLocalTime.java @@ -88,11 +88,10 @@ import static java.time.temporal.ChronoUnit.WEEKS; import static java.time.temporal.ChronoUnit.YEARS; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertSame; import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; import java.time.Clock; import java.time.DateTimeException; import java.time.Duration; @@ -120,6 +119,7 @@ import java.time.temporal.TemporalQueries; import java.time.temporal.TemporalQuery; import java.time.temporal.TemporalUnit; import java.time.temporal.UnsupportedTemporalTypeException; +import java.time.temporal.ValueRange; import java.util.ArrayList; import java.util.Arrays; import java.util.EnumSet; @@ -760,7 +760,7 @@ public class TCKLocalTime extends AbstractDateTimeTest { } //----------------------------------------------------------------------- - // with() + // with(TemporalAdjuster) //----------------------------------------------------------------------- @Test public void test_with_adjustment() { @@ -779,6 +779,331 @@ public class TCKLocalTime extends AbstractDateTimeTest { TEST_12_30_40_987654321.with((TemporalAdjuster) null); } + //----------------------------------------------------------------------- + // with(TemporalField, long) + //----------------------------------------------------------------------- + private long[] testPoints(long max) { + long[] points = new long[9]; + points[0] = 0; + points[1] = 1; + points[2] = 2; + points[3] = max / 7; + points[4] = (max / 7) * 2; + points[5] = (max / 2); + points[6] = (max / 7) * 6;; + points[7] = max - 2; + points[8] = max - 1; + return points; + } + + // Returns a {@code LocalTime} with the specified nano-of-second. + // The hour, minute and second will be unchanged. + @Test + public void test_with_longTemporalField_nanoOfSecond() { + for (long i : testPoints(1_000_000_000L)) { + LocalTime test = TEST_12_30_40_987654321.with(NANO_OF_SECOND, i); + assertEquals(test.get(NANO_OF_SECOND), i); + assertEquals(test.get(HOUR_OF_DAY), TEST_12_30_40_987654321.get(HOUR_OF_DAY)); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + } + } + + // Returns a {@code LocalTime} with the specified nano-of-day. + // This completely replaces the time and is equivalent to {@link #ofNanoOfDay(long)}. + @Test + public void test_with_longTemporalField_nanoOfDay() { + for (long i : testPoints(86_400_000_000_000L)) { + LocalTime test = TEST_12_30_40_987654321.with(NANO_OF_DAY, i); + assertEquals(test, LocalTime.ofNanoOfDay(i)); + } + } + + // Returns a {@code LocalTime} with the nano-of-second replaced by the specified + // micro-of-second multiplied by 1,000. + // The hour, minute and second will be unchanged. + @Test + public void test_with_longTemporalField_microOfSecond() { + for (long i : testPoints(1_000_000L)) { + LocalTime test = TEST_12_30_40_987654321.with(MICRO_OF_SECOND, i); + assertEquals(test.get(NANO_OF_SECOND), i * 1_000); + assertEquals(test.get(HOUR_OF_DAY), TEST_12_30_40_987654321.get(HOUR_OF_DAY)); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + } + } + + // Returns a {@code LocalTime} with the specified micro-of-day. + // This completely replaces the time and is equivalent to using {@link #ofNanoOfDay(long)} + // with the micro-of-day multiplied by 1,000. + @Test + public void test_with_longTemporalField_microOfDay() { + for (long i : testPoints(86_400_000_000L)) { + LocalTime test = TEST_12_30_40_987654321.with(MICRO_OF_DAY, i); + assertEquals(test, LocalTime.ofNanoOfDay(i * 1000)); + } + } + + // Returns a {@code LocalTime} with the nano-of-second replaced by the specified + // milli-of-second multiplied by 1,000,000. + // The hour, minute and second will be unchanged. + @Test + public void test_with_longTemporalField_milliOfSecond() { + for (long i : testPoints(1_000L)) { + LocalTime test = TEST_12_30_40_987654321.with(MILLI_OF_SECOND, i); + assertEquals(test.get(NANO_OF_SECOND), i * 1_000_000); + assertEquals(test.get(HOUR_OF_DAY), TEST_12_30_40_987654321.get(HOUR_OF_DAY)); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + } + } + + // Returns a {@code LocalTime} with the specified milli-of-day. + // This completely replaces the time and is equivalent to using {@link #ofNanoOfDay(long)} + // with the milli-of-day multiplied by 1,000,000. + @Test + public void test_with_longTemporalField_milliOfDay() { + for (long i : testPoints(86_400_000L)) { + LocalTime test = TEST_12_30_40_987654321.with(MILLI_OF_DAY, i); + assertEquals(test, LocalTime.ofNanoOfDay(i * 1_000_000)); + } + } + + // Returns a {@code LocalTime} with the specified second-of-minute. + // The hour, minute and nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_secondOfMinute() { + for (long i : testPoints(60L)) { + LocalTime test = TEST_12_30_40_987654321.with(SECOND_OF_MINUTE, i); + assertEquals(test.get(SECOND_OF_MINUTE), i); + assertEquals(test.get(HOUR_OF_DAY), TEST_12_30_40_987654321.get(HOUR_OF_DAY)); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // Returns a {@code LocalTime} with the specified second-of-day. + // The nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_secondOfDay() { + for (long i : testPoints(24 * 60 * 60)) { + LocalTime test = TEST_12_30_40_987654321.with(SECOND_OF_DAY, i); + assertEquals(test.get(SECOND_OF_DAY), i); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // Returns a {@code LocalTime} with the specified minute-of-hour. + // The hour, second-of-minute and nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_minuteOfHour() { + for (long i : testPoints(60)) { + LocalTime test = TEST_12_30_40_987654321.with(MINUTE_OF_HOUR, i); + assertEquals(test.get(MINUTE_OF_HOUR), i); + assertEquals(test.get(HOUR_OF_DAY), TEST_12_30_40_987654321.get(HOUR_OF_DAY)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // Returns a {@code LocalTime} with the specified minute-of-day. + // The second-of-minute and nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_minuteOfDay() { + for (long i : testPoints(24 * 60)) { + LocalTime test = TEST_12_30_40_987654321.with(MINUTE_OF_DAY, i); + assertEquals(test.get(MINUTE_OF_DAY), i); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // Returns a {@code LocalTime} with the specified hour-of-am-pm. + // The AM/PM, minute-of-hour, second-of-minute and nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_hourOfAmPm() { + for (int i = 0; i < 12; i++) { + LocalTime test = TEST_12_30_40_987654321.with(HOUR_OF_AMPM, i); + assertEquals(test.get(HOUR_OF_AMPM), i); + assertEquals(test.get(AMPM_OF_DAY), TEST_12_30_40_987654321.get(AMPM_OF_DAY)); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // Returns a {@code LocalTime} with the specified clock-hour-of-am-pm. + // The AM/PM, minute-of-hour, second-of-minute and nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_clockHourOfAmPm() { + for (int i = 1; i <= 12; i++) { + LocalTime test = TEST_12_30_40_987654321.with(CLOCK_HOUR_OF_AMPM, i); + assertEquals(test.get(CLOCK_HOUR_OF_AMPM), i); + assertEquals(test.get(AMPM_OF_DAY), TEST_12_30_40_987654321.get(AMPM_OF_DAY)); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // Returns a {@code LocalTime} with the specified hour-of-day. + // The minute-of-hour, second-of-minute and nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_hourOfDay() { + for (int i = 0; i < 24; i++) { + LocalTime test = TEST_12_30_40_987654321.with(HOUR_OF_DAY, i); + assertEquals(test.get(HOUR_OF_DAY), i); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // Returns a {@code LocalTime} with the specified clock-hour-of-day. + // The minute-of-hour, second-of-minute and nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_clockHourOfDay() { + for (int i = 1; i <= 24; i++) { + LocalTime test = TEST_12_30_40_987654321.with(CLOCK_HOUR_OF_DAY, i); + assertEquals(test.get(CLOCK_HOUR_OF_DAY), i); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // Returns a {@code LocalTime} with the specified AM/PM. + // The hour-of-am-pm, minute-of-hour, second-of-minute and nano-of-second will be unchanged. + @Test + public void test_with_longTemporalField_amPmOfDay() { + for (int i = 0; i <= 1; i++) { + LocalTime test = TEST_12_30_40_987654321.with(AMPM_OF_DAY, i); + assertEquals(test.get(AMPM_OF_DAY), i); + assertEquals(test.get(HOUR_OF_AMPM), TEST_12_30_40_987654321.get(HOUR_OF_AMPM)); + assertEquals(test.get(MINUTE_OF_HOUR), TEST_12_30_40_987654321.get(MINUTE_OF_HOUR)); + assertEquals(test.get(SECOND_OF_MINUTE), TEST_12_30_40_987654321.get(SECOND_OF_MINUTE)); + assertEquals(test.get(NANO_OF_SECOND), TEST_12_30_40_987654321.get(NANO_OF_SECOND)); + } + } + + // The supported fields behave as follows... + // In all cases, if the new value is outside the valid range of values for the field + // then a {@code DateTimeException} will be thrown. + @DataProvider(name = "withTemporalField_outOfRange") + Object[][] data_withTemporalField_outOfRange() { + return new Object[][] { + {NANO_OF_SECOND, time(0, 0, 0, 0), NANO_OF_SECOND.range().getMinimum() - 1}, + {NANO_OF_SECOND, time(0, 0, 0, 0), NANO_OF_SECOND.range().getMaximum() + 1}, + + {NANO_OF_DAY, time(0, 0, 0, 0), NANO_OF_DAY.range().getMinimum() - 1}, + {NANO_OF_DAY, time(0, 0, 0, 0), NANO_OF_DAY.range().getMaximum() + 1}, + + {MICRO_OF_SECOND, time(0, 0, 0, 0), MICRO_OF_SECOND.range().getMinimum() - 1}, + {MICRO_OF_SECOND, time(0, 0, 0, 0), MICRO_OF_SECOND.range().getMaximum() + 1}, + + {MICRO_OF_DAY, time(0, 0, 0, 0), MICRO_OF_DAY.range().getMinimum() - 1}, + {MICRO_OF_DAY, time(0, 0, 0, 0), MICRO_OF_DAY.range().getMaximum() + 1}, + + {MILLI_OF_SECOND, time(0, 0, 0, 0), MILLI_OF_SECOND.range().getMinimum() - 1}, + {MILLI_OF_SECOND, time(0, 0, 0, 0), MILLI_OF_SECOND.range().getMaximum() + 1}, + + {MILLI_OF_DAY, time(0, 0, 0, 0), MILLI_OF_DAY.range().getMinimum() - 1}, + {MILLI_OF_DAY, time(0, 0, 0, 0), MILLI_OF_DAY.range().getMaximum() + 1}, + + {SECOND_OF_MINUTE, time(0, 0, 0, 0), SECOND_OF_MINUTE.range().getMinimum() - 1}, + {SECOND_OF_MINUTE, time(0, 0, 0, 0), SECOND_OF_MINUTE.range().getMaximum() + 1}, + + {SECOND_OF_DAY, time(0, 0, 0, 0), SECOND_OF_DAY.range().getMinimum() - 1}, + {SECOND_OF_DAY, time(0, 0, 0, 0), SECOND_OF_DAY.range().getMaximum() + 1}, + + {MINUTE_OF_HOUR, time(0, 0, 0, 0), MINUTE_OF_HOUR.range().getMinimum() - 1}, + {MINUTE_OF_HOUR, time(0, 0, 0, 0), MINUTE_OF_HOUR.range().getMaximum() + 1}, + + {MINUTE_OF_DAY, time(0, 0, 0, 0), MINUTE_OF_DAY.range().getMinimum() - 1}, + {MINUTE_OF_DAY, time(0, 0, 0, 0), MINUTE_OF_DAY.range().getMaximum() + 1}, + + {HOUR_OF_AMPM, time(0, 0, 0, 0), HOUR_OF_AMPM.range().getMinimum() - 1}, + {HOUR_OF_AMPM, time(0, 0, 0, 0), HOUR_OF_AMPM.range().getMaximum() + 1}, + + {CLOCK_HOUR_OF_AMPM, time(0, 0, 0, 0), CLOCK_HOUR_OF_AMPM.range().getMinimum() - 1}, + {CLOCK_HOUR_OF_AMPM, time(0, 0, 0, 0), CLOCK_HOUR_OF_AMPM.range().getMaximum() + 1}, + + {HOUR_OF_DAY, time(0, 0, 0, 0), HOUR_OF_DAY.range().getMinimum() - 1}, + {HOUR_OF_DAY, time(0, 0, 0, 0), HOUR_OF_DAY.range().getMaximum() + 1}, + + {CLOCK_HOUR_OF_DAY, time(0, 0, 0, 0), CLOCK_HOUR_OF_DAY.range().getMinimum() - 1}, + {CLOCK_HOUR_OF_DAY, time(0, 0, 0, 0), CLOCK_HOUR_OF_DAY.range().getMaximum() + 1}, + + {AMPM_OF_DAY, time(0, 0, 0, 0), AMPM_OF_DAY.range().getMinimum() - 1}, + {AMPM_OF_DAY, time(0, 0, 0, 0), AMPM_OF_DAY.range().getMaximum() + 1}, + }; + } + + @Test(dataProvider = "withTemporalField_outOfRange") + public void test_with_longTemporalField_invalid(TemporalField field, LocalTime base, long newValue) { + try { + base.with(field, newValue); + fail("Field should not be allowed " + field); + } catch (DateTimeException ex) { + // expected + } + } + + // All other {@code ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}. + @Test(expectedExceptions=UnsupportedTemporalTypeException.class) + public void test_with_longTemporalField_otherChronoField() { + TEST_12_30_40_987654321.with(ChronoField.DAY_OF_MONTH, 1); + } + + // If the field is not a {@code ChronoField}, then the result of this method + // is obtained by invoking {@code TemporalField.adjustInto(Temporal, long)} + // passing {@code this} as the argument. + @Test + public void test_with_longTemporalField_notChronoField() { + final LocalTime result = LocalTime.of(12, 30); + final LocalTime base = LocalTime.of(15, 45); + TemporalField field = new TemporalField() { + public ValueRange rangeRefinedBy(TemporalAccessor temporal) { + throw new UnsupportedOperationException(); + } + public ValueRange range() { + return null; + } + public boolean isTimeBased() { + throw new UnsupportedOperationException(); + } + public boolean isSupportedBy(TemporalAccessor temporal) { + throw new UnsupportedOperationException(); + } + public boolean isDateBased() { + throw new UnsupportedOperationException(); + } + public TemporalUnit getRangeUnit() { + throw new UnsupportedOperationException(); + } + public long getFrom(TemporalAccessor temporal) { + throw new UnsupportedOperationException(); + } + public TemporalUnit getBaseUnit() { + throw new UnsupportedOperationException(); + } + public <R extends Temporal> R adjustInto(R temporal, long newValue) { + assertEquals(temporal, base); + assertEquals(newValue, 12L); + @SuppressWarnings("unchecked") + R r = (R) result; + return r; + } + }; + LocalTime test = base.with(field, 12L); + assertSame(test, result); + } + + @Test(expectedExceptions=NullPointerException.class) + public void test_with_longTemporalField_null() { + TEST_12_30_40_987654321.with((TemporalField) null, 1); + } + //----------------------------------------------------------------------- // withHour() //----------------------------------------------------------------------- diff --git a/jdk/test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java b/jdk/test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java index 59d2ca15b98..c5a017c911e 100644 --- a/jdk/test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java +++ b/jdk/test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java @@ -60,11 +60,14 @@ package tck.java.time.format; import static java.time.temporal.ChronoField.DAY_OF_MONTH; +import static java.time.temporal.ChronoField.HOUR_OF_DAY; import static java.time.temporal.ChronoField.MINUTE_OF_HOUR; import static java.time.temporal.ChronoField.MONTH_OF_YEAR; +import static java.time.temporal.ChronoField.NANO_OF_SECOND; import static java.time.temporal.ChronoField.YEAR; import static org.testng.Assert.assertEquals; +import java.text.ParsePosition; import java.time.LocalDate; import java.time.YearMonth; import java.time.ZoneOffset; @@ -73,6 +76,7 @@ import java.time.format.DateTimeFormatterBuilder; import java.time.format.SignStyle; import java.time.format.TextStyle; import java.time.temporal.Temporal; +import java.time.temporal.TemporalAccessor; import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -728,4 +732,150 @@ public class TCKDateTimeFormatterBuilder { return LocalDate.of(y, m, d); } + //----------------------------------------------------------------------- + @Test + public void test_adjacent_strict_firstFixedWidth() throws Exception { + // succeeds because both number elements are fixed width + DateTimeFormatter f = builder.appendValue(HOUR_OF_DAY, 2).appendValue(MINUTE_OF_HOUR, 2).appendLiteral('9').toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("12309", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 5); + assertEquals(parsed.getLong(HOUR_OF_DAY), 12L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 30L); + } + + @Test + public void test_adjacent_strict_firstVariableWidth_success() throws Exception { + // succeeds greedily parsing variable width, then fixed width, to non-numeric Z + DateTimeFormatter f = builder.appendValue(HOUR_OF_DAY).appendValue(MINUTE_OF_HOUR, 2).appendLiteral('Z').toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("12309Z", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 6); + assertEquals(parsed.getLong(HOUR_OF_DAY), 123L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 9L); + } + + @Test + public void test_adjacent_strict_firstVariableWidth_fails() throws Exception { + // fails because literal is a number and variable width parse greedily absorbs it + DateTimeFormatter f = builder.appendValue(HOUR_OF_DAY).appendValue(MINUTE_OF_HOUR, 2).appendLiteral('9').toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("12309", pp); + assertEquals(pp.getErrorIndex(), 5); + assertEquals(parsed, null); + } + + @Test + public void test_adjacent_lenient() throws Exception { + // succeeds because both number elements are fixed width even in lenient mode + DateTimeFormatter f = builder.parseLenient().appendValue(HOUR_OF_DAY, 2).appendValue(MINUTE_OF_HOUR, 2).appendLiteral('9').toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("12309", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 5); + assertEquals(parsed.getLong(HOUR_OF_DAY), 12L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 30L); + } + + @Test + public void test_adjacent_lenient_firstVariableWidth_success() throws Exception { + // succeeds greedily parsing variable width, then fixed width, to non-numeric Z + DateTimeFormatter f = builder.parseLenient().appendValue(HOUR_OF_DAY).appendValue(MINUTE_OF_HOUR, 2).appendLiteral('Z').toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("12309Z", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 6); + assertEquals(parsed.getLong(HOUR_OF_DAY), 123L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 9L); + } + + @Test + public void test_adjacent_lenient_firstVariableWidth_fails() throws Exception { + // fails because literal is a number and variable width parse greedily absorbs it + DateTimeFormatter f = builder.parseLenient().appendValue(HOUR_OF_DAY).appendValue(MINUTE_OF_HOUR, 2).appendLiteral('9').toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("12309", pp); + assertEquals(pp.getErrorIndex(), 5); + assertEquals(parsed, null); + } + + //----------------------------------------------------------------------- + @Test + public void test_adjacent_strict_fractionFollows() throws Exception { + // succeeds because hour/min are fixed width + DateTimeFormatter f = builder.appendValue(HOUR_OF_DAY, 2).appendValue(MINUTE_OF_HOUR, 2).appendFraction(NANO_OF_SECOND, 0, 3, false).toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("1230567", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 7); + assertEquals(parsed.getLong(HOUR_OF_DAY), 12L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 30L); + assertEquals(parsed.getLong(NANO_OF_SECOND), 567_000_000L); + } + + @Test + public void test_adjacent_strict_fractionFollows_2digit() throws Exception { + // succeeds because hour/min are fixed width + DateTimeFormatter f = builder.appendValue(HOUR_OF_DAY, 2).appendValue(MINUTE_OF_HOUR, 2).appendFraction(NANO_OF_SECOND, 0, 3, false).toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("123056", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 6); + assertEquals(parsed.getLong(HOUR_OF_DAY), 12L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 30L); + assertEquals(parsed.getLong(NANO_OF_SECOND), 560_000_000L); + } + + @Test + public void test_adjacent_strict_fractionFollows_0digit() throws Exception { + // succeeds because hour/min are fixed width + DateTimeFormatter f = builder.appendValue(HOUR_OF_DAY, 2).appendValue(MINUTE_OF_HOUR, 2).appendFraction(NANO_OF_SECOND, 0, 3, false).toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("1230", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 4); + assertEquals(parsed.getLong(HOUR_OF_DAY), 12L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 30L); + } + + @Test + public void test_adjacent_lenient_fractionFollows() throws Exception { + // succeeds because hour/min are fixed width + DateTimeFormatter f = builder.parseLenient().appendValue(HOUR_OF_DAY, 2).appendValue(MINUTE_OF_HOUR, 2).appendFraction(NANO_OF_SECOND, 3, 3, false).toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("1230567", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 7); + assertEquals(parsed.getLong(HOUR_OF_DAY), 12L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 30L); + assertEquals(parsed.getLong(NANO_OF_SECOND), 567_000_000L); + } + + @Test + public void test_adjacent_lenient_fractionFollows_2digit() throws Exception { + // succeeds because hour/min are fixed width + DateTimeFormatter f = builder.parseLenient().appendValue(HOUR_OF_DAY, 2).appendValue(MINUTE_OF_HOUR, 2).appendFraction(NANO_OF_SECOND, 3, 3, false).toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("123056", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 6); + assertEquals(parsed.getLong(HOUR_OF_DAY), 12L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 30L); + assertEquals(parsed.getLong(NANO_OF_SECOND), 560_000_000L); + } + + @Test + public void test_adjacent_lenient_fractionFollows_0digit() throws Exception { + // succeeds because hour/min are fixed width + DateTimeFormatter f = builder.parseLenient().appendValue(HOUR_OF_DAY, 2).appendValue(MINUTE_OF_HOUR, 2).appendFraction(NANO_OF_SECOND, 3, 3, false).toFormatter(Locale.UK); + ParsePosition pp = new ParsePosition(0); + TemporalAccessor parsed = f.parseUnresolved("1230", pp); + assertEquals(pp.getErrorIndex(), -1); + assertEquals(pp.getIndex(), 4); + assertEquals(parsed.getLong(HOUR_OF_DAY), 12L); + assertEquals(parsed.getLong(MINUTE_OF_HOUR), 30L); + } + } diff --git a/jdk/test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java b/jdk/test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java index 2efd8cd4641..75b51a3802f 100644 --- a/jdk/test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java +++ b/jdk/test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java @@ -90,9 +90,6 @@ import static java.time.temporal.ChronoField.SECOND_OF_DAY; import static java.time.temporal.ChronoField.SECOND_OF_MINUTE; import static java.time.temporal.ChronoField.YEAR; import static java.time.temporal.ChronoField.YEAR_OF_ERA; -import static java.time.temporal.ChronoUnit.DAYS; -import static java.time.temporal.ChronoUnit.FOREVER; -import static java.time.temporal.ChronoUnit.NANOS; import static org.testng.Assert.assertEquals; import static org.testng.Assert.fail; @@ -102,13 +99,17 @@ import java.time.LocalTime; import java.time.Period; import java.time.ZoneId; import java.time.ZonedDateTime; -import java.time.chrono.Chronology; +import java.time.chrono.ChronoLocalDate; +import java.time.chrono.ChronoLocalDateTime; +import java.time.chrono.ChronoZonedDateTime; +import java.time.chrono.IsoChronology; +import java.time.chrono.MinguoChronology; +import java.time.chrono.MinguoDate; import java.time.chrono.ThaiBuddhistChronology; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; import java.time.format.DateTimeParseException; import java.time.format.ResolverStyle; -import java.time.temporal.ChronoUnit; import java.time.temporal.IsoFields; import java.time.temporal.Temporal; import java.time.temporal.TemporalAccessor; @@ -129,6 +130,9 @@ public class TCKDateTimeParseResolver { // TODO: tests with weird TenporalField implementations // TODO: tests with non-ISO chronologies + private static final ZoneId EUROPE_ATHENS = ZoneId.of("Europe/Athens"); + private static final ZoneId EUROPE_PARIS = ZoneId.of("Europe/Paris"); + //----------------------------------------------------------------------- @DataProvider(name="resolveOneNoChange") Object[][] data_resolveOneNoChange() { @@ -886,205 +890,273 @@ public class TCKDateTimeParseResolver { } //----------------------------------------------------------------------- + // SPEC: DateTimeFormatter.withChronology() @Test - public void test_fieldResolvesToLocalTime() { - TemporalField field = new TemporalField() { - @Override - public TemporalUnit getBaseUnit() { - throw new UnsupportedOperationException(); - } - @Override - public TemporalUnit getRangeUnit() { - throw new UnsupportedOperationException(); - } - @Override - public ValueRange range() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isDateBased() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isTimeBased() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isSupportedBy(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public ValueRange rangeRefinedBy(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public long getFrom(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public <R extends Temporal> R adjustInto(R temporal, long newValue) { - throw new UnsupportedOperationException(); - } - @Override - public TemporalAccessor resolve( - Map<TemporalField, Long> fieldValues, TemporalAccessor partialTemporal, ResolverStyle resolverStyle) { - return LocalTime.MIDNIGHT.plusNanos(fieldValues.remove(this)); - } - }; - DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(field).toFormatter(); - TemporalAccessor accessor = f.parse("1234567890"); - assertEquals(accessor.query(TemporalQueries.localDate()), null); - assertEquals(accessor.query(TemporalQueries.localTime()), LocalTime.of(0, 0, 1, 234_567_890)); + public void test_withChronology_noOverride() { + DateTimeFormatter f = new DateTimeFormatterBuilder().parseDefaulting(EPOCH_DAY, 2).toFormatter(); + TemporalAccessor accessor = f.parse(""); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(1970, 1, 3)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.chronology()), IsoChronology.INSTANCE); } @Test - public void test_fieldResolvesToChronoLocalDateTime() { - TemporalField field = new TemporalField() { - @Override - public TemporalUnit getBaseUnit() { - throw new UnsupportedOperationException(); - } - @Override - public TemporalUnit getRangeUnit() { - throw new UnsupportedOperationException(); - } - @Override - public ValueRange range() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isDateBased() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isTimeBased() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isSupportedBy(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public ValueRange rangeRefinedBy(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public long getFrom(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public <R extends Temporal> R adjustInto(R temporal, long newValue) { - throw new UnsupportedOperationException(); - } - @Override - public TemporalAccessor resolve( - Map<TemporalField, Long> fieldValues, TemporalAccessor partialTemporal, ResolverStyle resolverStyle) { - fieldValues.remove(this); - return LocalDateTime.of(2010, 6, 30, 12, 30); - } - }; - DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(field).toFormatter(); + public void test_withChronology_override() { + DateTimeFormatter f = new DateTimeFormatterBuilder().parseDefaulting(EPOCH_DAY, 2).toFormatter(); + f = f.withChronology(MinguoChronology.INSTANCE); + TemporalAccessor accessor = f.parse(""); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(1970, 1, 3)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.chronology()), MinguoChronology.INSTANCE); + } + + @Test + public void test_withChronology_parsedChronology_noOverride() { + DateTimeFormatter f = new DateTimeFormatterBuilder().parseDefaulting(EPOCH_DAY, 2).appendChronologyId().toFormatter(); + TemporalAccessor accessor = f.parse("ThaiBuddhist"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(1970, 1, 3)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.chronology()), ThaiBuddhistChronology.INSTANCE); + } + + @Test + public void test_withChronology_parsedChronology_override() { + DateTimeFormatter f = new DateTimeFormatterBuilder().parseDefaulting(EPOCH_DAY, 2).appendChronologyId().toFormatter(); + f = f.withChronology(MinguoChronology.INSTANCE); + TemporalAccessor accessor = f.parse("ThaiBuddhist"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(1970, 1, 3)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.chronology()), ThaiBuddhistChronology.INSTANCE); + } + + //----------------------------------------------------------------------- + // SPEC: DateTimeFormatter.withZone() + @Test + public void test_withZone_noOverride() { + DateTimeFormatter f = new DateTimeFormatterBuilder().parseDefaulting(EPOCH_DAY, 2).toFormatter(); + TemporalAccessor accessor = f.parse(""); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(1970, 1, 3)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.zoneId()), null); + } + + @Test + public void test_withZone_override() { + DateTimeFormatter f = new DateTimeFormatterBuilder().parseDefaulting(EPOCH_DAY, 2).toFormatter(); + f = f.withZone(EUROPE_ATHENS); + TemporalAccessor accessor = f.parse(""); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(1970, 1, 3)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.zoneId()), EUROPE_ATHENS); + } + + @Test + public void test_withZone_parsedZone_noOverride() { + DateTimeFormatter f = new DateTimeFormatterBuilder().parseDefaulting(EPOCH_DAY, 2).appendZoneId().toFormatter(); + TemporalAccessor accessor = f.parse("Europe/Paris"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(1970, 1, 3)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.zoneId()), EUROPE_PARIS); + } + + @Test + public void test_withZone_parsedZone_override() { + DateTimeFormatter f = new DateTimeFormatterBuilder().parseDefaulting(EPOCH_DAY, 2).appendZoneId().toFormatter(); + f = f.withZone(EUROPE_ATHENS); + TemporalAccessor accessor = f.parse("Europe/Paris"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(1970, 1, 3)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.zoneId()), EUROPE_PARIS); + } + + //----------------------------------------------------------------------- + @Test + public void test_fieldResolvesToLocalTime() { + LocalTime lt = LocalTime.of(12, 30, 40); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(lt)).toFormatter(); + TemporalAccessor accessor = f.parse("1234567890"); + assertEquals(accessor.query(TemporalQueries.localDate()), null); + assertEquals(accessor.query(TemporalQueries.localTime()), lt); + } + + //------------------------------------------------------------------------- + @Test + public void test_fieldResolvesToChronoLocalDate_noOverrideChrono_matches() { + LocalDate ldt = LocalDate.of(2010, 6, 30); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(ldt)).toFormatter(); + TemporalAccessor accessor = f.parse("1234567890"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(2010, 6, 30)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.chronology()), IsoChronology.INSTANCE); + } + + @Test + public void test_fieldResolvesToChronoLocalDate_overrideChrono_matches() { + MinguoDate mdt = MinguoDate.of(100, 6, 30); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(mdt)).toFormatter(); + f = f.withChronology(MinguoChronology.INSTANCE); + TemporalAccessor accessor = f.parse("1234567890"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.from(mdt)); + assertEquals(accessor.query(TemporalQueries.localTime()), null); + assertEquals(accessor.query(TemporalQueries.chronology()), MinguoChronology.INSTANCE); + } + + @Test(expectedExceptions = DateTimeParseException.class) + public void test_fieldResolvesToChronoLocalDate_noOverrideChrono_wrongChrono() { + ChronoLocalDate cld = ThaiBuddhistChronology.INSTANCE.dateNow(); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(cld)).toFormatter(); + f.parse("1234567890"); + } + + @Test(expectedExceptions = DateTimeParseException.class) + public void test_fieldResolvesToChronoLocalDate_overrideChrono_wrongChrono() { + ChronoLocalDate cld = ThaiBuddhistChronology.INSTANCE.dateNow(); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(cld)).toFormatter(); + f = f.withChronology(MinguoChronology.INSTANCE); + f.parse("1234567890"); + } + + //------------------------------------------------------------------------- + @Test + public void test_fieldResolvesToChronoLocalDateTime_noOverrideChrono_matches() { + LocalDateTime ldt = LocalDateTime.of(2010, 6, 30, 12, 30); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(ldt)).toFormatter(); TemporalAccessor accessor = f.parse("1234567890"); assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(2010, 6, 30)); assertEquals(accessor.query(TemporalQueries.localTime()), LocalTime.of(12, 30)); + assertEquals(accessor.query(TemporalQueries.chronology()), IsoChronology.INSTANCE); + } + + @Test + public void test_fieldResolvesToChronoLocalDateTime_overrideChrono_matches() { + MinguoDate mdt = MinguoDate.of(100, 6, 30); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(mdt.atTime(LocalTime.NOON))).toFormatter(); + f = f.withChronology(MinguoChronology.INSTANCE); + TemporalAccessor accessor = f.parse("1234567890"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.from(mdt)); + assertEquals(accessor.query(TemporalQueries.localTime()), LocalTime.NOON); + assertEquals(accessor.query(TemporalQueries.chronology()), MinguoChronology.INSTANCE); } @Test(expectedExceptions = DateTimeParseException.class) - public void test_fieldResolvesWrongChrono() { - TemporalField field = new TemporalField() { - @Override - public TemporalUnit getBaseUnit() { - throw new UnsupportedOperationException(); - } - @Override - public TemporalUnit getRangeUnit() { - throw new UnsupportedOperationException(); - } - @Override - public ValueRange range() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isDateBased() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isTimeBased() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isSupportedBy(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public ValueRange rangeRefinedBy(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public long getFrom(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public <R extends Temporal> R adjustInto(R temporal, long newValue) { - throw new UnsupportedOperationException(); - } - @Override - public TemporalAccessor resolve( - Map<TemporalField, Long> fieldValues, TemporalAccessor partialTemporal, ResolverStyle resolverStyle) { - return ThaiBuddhistChronology.INSTANCE.dateNow(); - } - }; - DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(field).toFormatter(); + public void test_fieldResolvesToChronoLocalDateTime_noOverrideChrono_wrongChrono() { + ChronoLocalDateTime<?> cldt = ThaiBuddhistChronology.INSTANCE.dateNow().atTime(LocalTime.NOON); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(cldt)).toFormatter(); f.parse("1234567890"); } @Test(expectedExceptions = DateTimeParseException.class) - public void test_fieldResolvesWrongZone() { - TemporalField field = new TemporalField() { - @Override - public TemporalUnit getBaseUnit() { - throw new UnsupportedOperationException(); - } - @Override - public TemporalUnit getRangeUnit() { - throw new UnsupportedOperationException(); - } - @Override - public ValueRange range() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isDateBased() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isTimeBased() { - throw new UnsupportedOperationException(); - } - @Override - public boolean isSupportedBy(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public ValueRange rangeRefinedBy(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public long getFrom(TemporalAccessor temporal) { - throw new UnsupportedOperationException(); - } - @Override - public <R extends Temporal> R adjustInto(R temporal, long newValue) { - throw new UnsupportedOperationException(); - } - @Override - public TemporalAccessor resolve( - Map<TemporalField, Long> fieldValues, TemporalAccessor partialTemporal, ResolverStyle resolverStyle) { - return ZonedDateTime.of(2010, 6, 30, 12, 30, 0, 0, ZoneId.of("Europe/Paris")); - } - }; - DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(field).toFormatter().withZone(ZoneId.of("Europe/London")); + public void test_fieldResolvesToChronoLocalDateTime_overrideChrono_wrongChrono() { + ChronoLocalDateTime<?> cldt = ThaiBuddhistChronology.INSTANCE.dateNow().atTime(LocalTime.NOON); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(cldt)).toFormatter(); + f = f.withChronology(MinguoChronology.INSTANCE); f.parse("1234567890"); } + //------------------------------------------------------------------------- + @Test + public void test_fieldResolvesToChronoZonedDateTime_noOverrideChrono_matches() { + ZonedDateTime zdt = ZonedDateTime.of(2010, 6, 30, 12, 30, 0, 0, EUROPE_PARIS); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(zdt)).toFormatter(); + TemporalAccessor accessor = f.parse("1234567890"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.of(2010, 6, 30)); + assertEquals(accessor.query(TemporalQueries.localTime()), LocalTime.of(12, 30)); + assertEquals(accessor.query(TemporalQueries.chronology()), IsoChronology.INSTANCE); + assertEquals(accessor.query(TemporalQueries.zoneId()), EUROPE_PARIS); + } + + @Test + public void test_fieldResolvesToChronoZonedDateTime_overrideChrono_matches() { + MinguoDate mdt = MinguoDate.of(100, 6, 30); + ChronoZonedDateTime<MinguoDate> mzdt = mdt.atTime(LocalTime.NOON).atZone(EUROPE_PARIS); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(mzdt)).toFormatter(); + f = f.withChronology(MinguoChronology.INSTANCE); + TemporalAccessor accessor = f.parse("1234567890"); + assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.from(mdt)); + assertEquals(accessor.query(TemporalQueries.localTime()), LocalTime.NOON); + assertEquals(accessor.query(TemporalQueries.chronology()), MinguoChronology.INSTANCE); + assertEquals(accessor.query(TemporalQueries.zoneId()), EUROPE_PARIS); + } + + @Test(expectedExceptions = DateTimeParseException.class) + public void test_fieldResolvesToChronoZonedDateTime_noOverrideChrono_wrongChrono() { + ChronoZonedDateTime<?> cldt = ThaiBuddhistChronology.INSTANCE.dateNow().atTime(LocalTime.NOON).atZone(EUROPE_PARIS); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(cldt)).toFormatter(); + f.parse("1234567890"); + } + + @Test(expectedExceptions = DateTimeParseException.class) + public void test_fieldResolvesToChronoZonedDateTime_overrideChrono_wrongChrono() { + ChronoZonedDateTime<?> cldt = ThaiBuddhistChronology.INSTANCE.dateNow().atTime(LocalTime.NOON).atZone(EUROPE_PARIS); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(cldt)).toFormatter(); + f = f.withChronology(MinguoChronology.INSTANCE); + f.parse("1234567890"); + } + + @Test + public void test_fieldResolvesToChronoZonedDateTime_overrideZone_matches() { + ZonedDateTime zdt = ZonedDateTime.of(2010, 6, 30, 12, 30, 0, 0, EUROPE_PARIS); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(zdt)).toFormatter(); + f = f.withZone(EUROPE_PARIS); + assertEquals(f.parse("1234567890", ZonedDateTime::from), zdt); + } + + @Test(expectedExceptions = DateTimeParseException.class) + public void test_fieldResolvesToChronoZonedDateTime_overrideZone_wrongZone() { + ZonedDateTime zdt = ZonedDateTime.of(2010, 6, 30, 12, 30, 0, 0, EUROPE_PARIS); + DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(zdt)).toFormatter(); + f = f.withZone(ZoneId.of("Europe/London")); + f.parse("1234567890"); + } + + //------------------------------------------------------------------------- + private static class ResolvingField implements TemporalField { + private final TemporalAccessor resolvedValue; + ResolvingField(TemporalAccessor resolvedValue) { + this.resolvedValue = resolvedValue; + } + @Override + public TemporalUnit getBaseUnit() { + throw new UnsupportedOperationException(); + } + @Override + public TemporalUnit getRangeUnit() { + throw new UnsupportedOperationException(); + } + @Override + public ValueRange range() { + throw new UnsupportedOperationException(); + } + @Override + public boolean isDateBased() { + throw new UnsupportedOperationException(); + } + @Override + public boolean isTimeBased() { + throw new UnsupportedOperationException(); + } + @Override + public boolean isSupportedBy(TemporalAccessor temporal) { + throw new UnsupportedOperationException(); + } + @Override + public ValueRange rangeRefinedBy(TemporalAccessor temporal) { + throw new UnsupportedOperationException(); + } + @Override + public long getFrom(TemporalAccessor temporal) { + throw new UnsupportedOperationException(); + } + @Override + public <R extends Temporal> R adjustInto(R temporal, long newValue) { + throw new UnsupportedOperationException(); + } + @Override + public TemporalAccessor resolve( + Map<TemporalField, Long> fieldValues, TemporalAccessor partialTemporal, ResolverStyle resolverStyle) { + fieldValues.remove(this); + return resolvedValue; + } + }; + } diff --git a/jdk/test/java/time/test/java/time/format/TestReducedParser.java b/jdk/test/java/time/test/java/time/format/TestReducedParser.java index e9df91fdc8e..3bf806563e8 100644 --- a/jdk/test/java/time/test/java/time/format/TestReducedParser.java +++ b/jdk/test/java/time/test/java/time/format/TestReducedParser.java @@ -356,7 +356,7 @@ public class TestReducedParser extends AbstractTestPrinterParser { {"yyMMdd", "200703", STRICT, 0, 6, 2020, 7, 3}, {"ddMMyy", "230714", LENIENT, 0, 6, 2014, 7, 23}, {"ddMMyy", "230714", STRICT, 0, 6, 2014, 7, 23}, - {"ddMMyy", "25062001", LENIENT, 0, 8, 2001, 20, 2506}, + {"ddMMyy", "25062001", LENIENT, 0, 8, 2001, 6, 25}, {"ddMMyy", "25062001", STRICT, 0, 6, 2020, 6, 25}, {"ddMMy", "27052002", LENIENT, 0, 8, 2002, 5, 27}, {"ddMMy", "27052002", STRICT, 0, 8, 2002, 5, 27}, diff --git a/jdk/test/java/util/Collection/MOAT.java b/jdk/test/java/util/Collection/MOAT.java index 88914952799..f50682fea24 100644 --- a/jdk/test/java/util/Collection/MOAT.java +++ b/jdk/test/java/util/Collection/MOAT.java @@ -54,6 +54,7 @@ import java.io.*; import java.util.*; import java.util.concurrent.*; import static java.util.Collections.*; +import java.lang.reflect.*; public class MOAT { public static void realMain(String[] args) { @@ -721,6 +722,28 @@ public class MOAT { equal(l instanceof RandomAccess, l.subList(0,0) instanceof RandomAccess); + + l.iterator(); + l.listIterator(); + l.listIterator(0); + l.listIterator(l.size()); + THROWS(IndexOutOfBoundsException.class, + new Fun(){void f(){l.listIterator(-1);}}, + new Fun(){void f(){l.listIterator(l.size() + 1);}}); + + if (l instanceof AbstractList) { + try { + int size = l.size(); + AbstractList<Integer> abList = (AbstractList<Integer>) l; + Method m = AbstractList.class.getDeclaredMethod("removeRange", new Class[] { int.class, int.class }); + m.setAccessible(true); + m.invoke(abList, new Object[] { 0, 0 }); + m.invoke(abList, new Object[] { size, size }); + equal(size, l.size()); + } + catch (UnsupportedOperationException ignored) {/* OK */} + catch (Throwable t) { unexpected(t); } + } } private static void testCollection(Collection<Integer> c) { diff --git a/jdk/test/javax/xml/jaxp/common/8035437/AbstractMethodErrorTest.java b/jdk/test/javax/xml/jaxp/common/8035437/AbstractMethodErrorTest.java new file mode 100644 index 00000000000..142c468c164 --- /dev/null +++ b/jdk/test/javax/xml/jaxp/common/8035437/AbstractMethodErrorTest.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import org.w3c.dom.DOMImplementation; +import org.w3c.dom.Document; +import org.w3c.dom.ls.DOMImplementationLS; +import org.w3c.dom.ls.LSSerializer; + +class AbstractMethodErrorTest { + + public static void main(String[] args) throws Exception { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document document = builder.newDocument(); + + DOMImplementation impl = document.getImplementation(); + DOMImplementationLS implLS = (DOMImplementationLS) impl.getFeature("LS", "3.0"); + LSSerializer dsi = implLS.createLSSerializer(); + + /* We should have here incorrect document without getXmlVersion() method: + * Such Document is generated by replacing the JDK bootclasses with it's + * own Node,Document and DocumentImpl classes (see run.sh). According to + * XERCESJ-1007 the AbstractMethodError should be thrown in such case. + */ + String result = dsi.writeToString(document); + System.out.println("Result:" + result); + } + +} diff --git a/langtools/test/tools/javac/generics/compat/OverrideBridge3.java b/jdk/test/javax/xml/jaxp/common/8035437/Document.java similarity index 85% rename from langtools/test/tools/javac/generics/compat/OverrideBridge3.java rename to jdk/test/javax/xml/jaxp/common/8035437/Document.java index 87a9e2cb251..3f81896fa20 100644 --- a/langtools/test/tools/javac/generics/compat/OverrideBridge3.java +++ b/jdk/test/javax/xml/jaxp/common/8035437/Document.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -20,8 +20,9 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ +package org.w3c.dom; -class OverrideBridge3 { - static class C extends OverrideBridge2.B { - } +public interface Document { + + public org.w3c.dom.DocumentType getDoctype(); } diff --git a/langtools/test/tools/javac/generics/compat/CovariantCompat1.java b/jdk/test/javax/xml/jaxp/common/8035437/DocumentImpl.java similarity index 50% rename from langtools/test/tools/javac/generics/compat/CovariantCompat1.java rename to jdk/test/javax/xml/jaxp/common/8035437/DocumentImpl.java index ce79d005fc4..b0ce6310d98 100644 --- a/langtools/test/tools/javac/generics/compat/CovariantCompat1.java +++ b/jdk/test/javax/xml/jaxp/common/8035437/DocumentImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -20,22 +20,48 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ +package com.sun.org.apache.xerces.internal.dom; -/* - * @test - * @bug 4836051 - * @summary generics: non-generic code should be able to call covariant method - * @author gafter - * - * @compile CovariantCompat1.java - * @compile -source 1.4 CovariantCompat2.java - */ +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.DOMImplementation; -class CovariantCompat1 { - static class A { - public A foo() { return this; } +public class DocumentImpl implements Document, Node { + + public short getNodeType() { + return 9; //DOCUMENT_NODE = 9 } - static class B extends A { - public B foo() { return this; } + + public org.w3c.dom.Document getOwnerDocument() { + return null; } + + public Node getFirstChild() { + return null; + } + + public String getPrefix() { + return "TestPrefix"; + } + + public String getLocalName() { + return "LocalName"; + } + + public boolean hasAttributes() { + return false; + } + + public Node renameNode(Node n, String namespaceURI, String name) { + return n; + } + + public org.w3c.dom.DocumentType getDoctype() { + return null; + } + + public DOMImplementation getImplementation() { + return DOMImplementationImpl.getDOMImplementation(); + } + } diff --git a/langtools/test/tools/javac/enum/FauxEnum2.java b/jdk/test/javax/xml/jaxp/common/8035437/Node.java similarity index 74% rename from langtools/test/tools/javac/enum/FauxEnum2.java rename to jdk/test/javax/xml/jaxp/common/8035437/Node.java index dea62615a83..cb7a9881ade 100644 --- a/langtools/test/tools/javac/enum/FauxEnum2.java +++ b/jdk/test/javax/xml/jaxp/common/8035437/Node.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -20,18 +20,19 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ +package org.w3c.dom; -/* - * @test - * @bug 5009574 - * @summary verify java.lang.Enum can't be directly subclassed - * @author Joseph D. Darcy - * - * @compile/fail -source 1.4 FauxEnum2.java - */ +public interface Node { -public class FauxEnum2 extends java.lang.Enum { - FauxEnum2() { - super("", 0); - } + public short getNodeType(); + + public org.w3c.dom.Document getOwnerDocument(); + + public Node getFirstChild(); + + public String getPrefix(); + + public String getLocalName(); + + public boolean hasAttributes(); } diff --git a/jdk/test/javax/xml/jaxp/common/8035437/run.sh b/jdk/test/javax/xml/jaxp/common/8035437/run.sh new file mode 100644 index 00000000000..413edebcd27 --- /dev/null +++ b/jdk/test/javax/xml/jaxp/common/8035437/run.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +## +# Copyright (c) 2014, 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 +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# 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 +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +## + +# @test +# @bug 8035437 +# @summary Tests that java.lang.AbstractMethodError is not thrown when +# serializing improper version of DocumentImpl class. + +mkdir -p exec compile + +$COMPILEJAVA/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} \ + -d compile $TESTSRC/Document.java $TESTSRC/Node.java || exit 1 + +$COMPILEJAVA/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} \ + -Xbootclasspath/p:compile -d exec $TESTSRC/DocumentImpl.java || exit 1 + +$COMPILEJAVA/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} \ + $TESTSRC/AbstractMethodErrorTest.java -d exec || exit 1 + +$TESTJAVA/bin/java ${TESTVMOPTS} -Xbootclasspath/p:exec -cp exec AbstractMethodErrorTest || exit 1 + +exit 0 diff --git a/jdk/test/javax/xml/ws/ebcdic/WsImportTest.java b/jdk/test/javax/xml/ws/ebcdic/WsImportTest.java new file mode 100644 index 00000000000..7977cf98730 --- /dev/null +++ b/jdk/test/javax/xml/ws/ebcdic/WsImportTest.java @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8038307 + * @summary JAX-WS conformance tests fail when running JCK-devtools-8 suite against RI in EBCDIC emulation mode + * @run main/othervm WsImportTest + */ + +import java.io.InputStreamReader; +import java.io.IOException; +import java.io.BufferedReader; +import java.io.File; +import java.nio.file.Files; +import java.nio.file.FileVisitResult; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.SimpleFileVisitor; +import java.nio.file.attribute.BasicFileAttributes; +import static java.nio.file.FileVisitResult.*; + +public class WsImportTest { + + public static void main(String[] args) throws IOException { + + String wsimport = getWsImport(); + String wsdl = getWSDLFilePath("test-service.wsdl"); + + try { + log("Importing wsdl: " + wsdl); + String[] wsargs = { + wsimport, + "-p", + "generated", + "-J-Dfile.encoding=Cp037", + wsdl + }; + + ProcessBuilder pb = new ProcessBuilder(wsargs); + pb.redirectErrorStream(true); + Process p = pb.start(); + logOutput(p); + int result = p.waitFor(); + p.destroy(); + + if (result != 0) { + fail("WsImport failed. TEST FAILED."); + } else { + log("Test PASSED."); + } + + } catch (Exception e) { + e.printStackTrace(); + fail(e.getMessage()); + } finally { + deleteGeneratedFiles(); + } + } + + private static void fail(String message) { + throw new RuntimeException(message); + } + + private static void log(String msg) { + System.out.println(msg); + } + + private static void logOutput(Process p) throws IOException { + BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream())); + String s = r.readLine(); + while (s != null) { + log(s.trim()); + s = r.readLine(); + } + } + + private static void deleteGeneratedFiles() { + Path p = Paths.get("generated"); + if (Files.exists(p)) { + try { + Files.walkFileTree(p, new SimpleFileVisitor<Path>() { + @Override + public FileVisitResult visitFile(Path file, + BasicFileAttributes attrs) throws IOException { + + Files.delete(file); + return CONTINUE; + } + @Override + public FileVisitResult postVisitDirectory(Path dir, + IOException exc) throws IOException { + + if (exc == null) { + Files.delete(dir); + return CONTINUE; + } else { + throw exc; + } + } + }); + } catch (IOException ioe) { + ioe.printStackTrace(); + } + } + } + + private static String getWSDLFilePath(String filename) { + String testSrc = System.getProperty("test.src"); + if (testSrc == null) testSrc = "."; + return Paths.get(testSrc).resolve(filename).toString(); + } + + private static String getWsImport() { + String javaHome = System.getProperty("java.home"); + if (javaHome.endsWith("jre")) { + javaHome = new File(javaHome).getParent(); + } + String wsimport = javaHome + File.separator + "bin" + File.separator + "wsimport"; + if (System.getProperty("os.name").startsWith("Windows")) { + wsimport = wsimport.concat(".exe"); + } + return wsimport; + } +} diff --git a/jdk/test/javax/xml/ws/ebcdic/test-service.wsdl b/jdk/test/javax/xml/ws/ebcdic/test-service.wsdl new file mode 100644 index 00000000000..10b2bdbd235 --- /dev/null +++ b/jdk/test/javax/xml/ws/ebcdic/test-service.wsdl @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2014, 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 + under the terms of the GNU General Public License version 2 only, as + published by the Free Software Foundation. + + 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 + version 2 for more details (a copy is included in the LICENSE file that + accompanied this code). + + You should have received a copy of the GNU General Public License version + 2 along with this work; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + + Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + or visit www.oracle.com if you need additional information or have any + questions. +--> +<definitions name="W2JDLAnnotations" + targetNamespace="http://w2jdlannotations.org/wsdl" + xmlns:tns="http://w2jdlannotations.org/wsdl" + xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:types="http://w2jdlannotations.org/types" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> + + <types> + <xsd:schema targetNamespace="http://w2jdlannotations.org/types" attributeFormDefault="qualified" + elementFormDefault="qualified"> + <xsd:element name="OneWayStringElement"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="argument" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:schema> + </types> + + <message name="oneway"> + <part name="varString" element="types:OneWayStringElement"/> + </message> + <portType name="W2JDLAnnotationsEndpoint"> + <operation name="onewayOperation"> + <input message="tns:oneway"/> + </operation> + </portType> + <binding name="W2JDLAnnotationsEndpointBinding" type="tns:W2JDLAnnotationsEndpoint"> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> + <operation name="onewayOperation"> + <soap:operation soapAction=""/> + <input> + <soap:body use="literal"/> + </input> + </operation> + </binding> + <service name="W2JDLAnnotations"> + <port name="W2JDLAnnotationsEndpointPort" binding="tns:W2JDLAnnotationsEndpointBinding"> + <soap:address location="http://foo:9999/bar"/> + </port> + </service> +</definitions> diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java b/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java index 573fde935f9..52b8fb0103c 100644 --- a/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java +++ b/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java @@ -206,6 +206,34 @@ public class Asserts { } } + /** + * Calls {@link #assertSame(java.lang.Object, java.lang.Object, java.lang.String)} with a default message. + * + * @param lhs The left hand side of the comparison. + * @param rhs The right hand side of the comparison. + * @see #assertSame(Object, Object, String) + */ + public static void assertSame(Object lhs, Object rhs) { + assertSame(lhs, rhs, null); + } + + /** + * Asserts that {@code lhs} is the same as {@code rhs}. + * + * @param lhs The left hand side of the comparison. + * @param rhs The right hand side of the comparison. + * @param msg A description of the assumption; {@code null} for a default message. + * @throws RuntimeException if the assertion is not true. + */ + public static void assertSame(Object lhs, Object rhs, String msg) { + if (lhs != rhs) { + msg = Objects.toString(msg, "assertSame") + + ": expected " + Objects.toString(lhs) + + " to equal " + Objects.toString(rhs); + fail(msg); + } + } + /** * Shorthand for {@link #assertGreaterThanOrEqual(Comparable, Comparable)}. * diff --git a/jdk/test/lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java b/jdk/test/lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java new file mode 100644 index 00000000000..bbed7f42185 --- /dev/null +++ b/jdk/test/lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java @@ -0,0 +1,276 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package com.oracle.testlibrary.jsr292; + +import jdk.testlibrary.Asserts; + +import java.lang.invoke.MethodHandle; +import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; +import java.lang.reflect.Array; +import java.util.*; + +public class Helper { + /** Flag for verbose output, true if {@code -Dverbose} specified */ + public static final boolean IS_VERBOSE + = System.getProperty("verbose") != null; + /** + * Flag for thorough testing -- all test will be executed, + * true if {@code -Dthorough} specified. */ + public static final boolean IS_THOROUGH + = System.getProperty("thorough") != null; + /** Random number generator w/ initial seed equal to {@code -Dseed} */ + public static final Random RNG; + + static { + String str = System.getProperty("seed"); + long seed = str != null ? Long.parseLong(str) : new Random().nextLong(); + RNG = new Random(seed); + System.out.printf("-Dseed=%d%n", seed); + } + + public static final long TEST_LIMIT; + static { + String str = System.getProperty("testLimit"); + TEST_LIMIT = str != null ? Long.parseUnsignedLong(str) : 2_000L; + System.out.printf("-DtestLimit=%d%n", TEST_LIMIT); + } + + public static final int MAX_ARITY = 254; + public static final String MISSING_ARG = "missingArg"; + public static final String MISSING_ARG_2 = "missingArg#2"; + + private static final int + // first int value + ONE_MILLION = (1000 * 1000), + // scale factor to reach upper 32 bits + TEN_BILLION = (10 * 1000 * 1000 * 1000), + // <<1 makes space for sign bit; + INITIAL_ARG_VAL = ONE_MILLION << 1; + + public static final MethodHandle AS_LIST; + + static { + try { + AS_LIST = MethodHandles.lookup().findStatic( + Arrays.class, "asList", + MethodType.methodType(List.class, Object[].class)); + } catch (NoSuchMethodException | IllegalAccessException ex) { + throw new Error(ex); + } + } + + public static boolean isDoubleCost(Class<?> aClass) { + return aClass == double.class || aClass == long.class; + } + + private static List<List<Object>> calledLog = new ArrayList<>(); + private static long nextArgVal; + + public static void assertCalled(String name, Object... args) { + assertCalled(0, name, args); + } + + public static void assertCalled(int lag, String name, Object... args) { + Object expected = logEntry(name, args); + Object actual = getCalled(lag); + Asserts.assertEQ(expected, actual, "method call w/ lag = " + lag); + } + + public static Object called(String name, Object... args) { + List<Object> entry = logEntry(name, args); + calledLog.add(entry); + return entry; + } + + private static List<Object> logEntry(String name, Object... args) { + return Arrays.asList(name, Arrays.asList(args)); + } + + public static void clear() { + calledLog.clear(); + } + + public static List<Object> getCalled(int lag) { + int size = calledLog.size(); + return size <= lag ? null : calledLog.get(size - lag - 1); + } + + public static MethodHandle addTrailingArgs(MethodHandle target, int nargs, + List<Class<?>> classes) { + int targetLen = target.type().parameterCount(); + int extra = (nargs - targetLen); + if (extra <= 0) { + return target; + } + List<Class<?>> fakeArgs = new ArrayList<>(extra); + for (int i = 0; i < extra; ++i) { + fakeArgs.add(classes.get(i % classes.size())); + } + return MethodHandles.dropArguments(target, targetLen, fakeArgs); + } + + public static MethodHandle varargsList(int arity) { + return AS_LIST.asCollector(Object[].class, arity); + } + + private static long nextArg(boolean moreBits) { + long val = nextArgVal++; + long sign = -(val & 1); // alternate signs + val >>= 1; + if (moreBits) + // Guarantee some bits in the high word. + // In any case keep the decimal representation simple-looking, + // with lots of zeroes, so as not to make the printed decimal + // strings unnecessarily noisy. + { + val += (val % ONE_MILLION) * TEN_BILLION; + } + return val ^ sign; + } + + private static int nextArg() { + // Produce a 32-bit result something like ONE_MILLION+(smallint). + // Example: 1_000_042. + return (int) nextArg(false); + } + + private static long nextArg(Class<?> kind) { + if (kind == long.class || kind == Long.class || + kind == double.class || kind == Double.class) + // produce a 64-bit result something like + // ((TEN_BILLION+1) * (ONE_MILLION+(smallint))) + // Example: 10_000_420_001_000_042. + { + return nextArg(true); + } + return (long) nextArg(); + } + + private static Object randomArg(Class<?> param) { + Object wrap = castToWrapperOrNull(nextArg(param), param); + if (wrap != null) { + return wrap; + } + + if (param.isInterface()) { + for (Class<?> c : param.getClasses()) { + if (param.isAssignableFrom(c) && !c.isInterface()) { + param = c; + break; + } + } + } + if (param.isArray()) { + Class<?> ctype = param.getComponentType(); + Object arg = Array.newInstance(ctype, 2); + Array.set(arg, 0, randomArg(ctype)); + return arg; + } + if (param.isInterface() && param.isAssignableFrom(List.class)) { + return Arrays.asList("#" + nextArg()); + } + if (param.isInterface() || param.isAssignableFrom(String.class)) { + return "#" + nextArg(); + } + + try { + return param.newInstance(); + } catch (InstantiationException | IllegalAccessException ex) { + } + return null; // random class not Object, String, Integer, etc. + } + + public static Object[] randomArgs(Class<?>... params) { + Object[] args = new Object[params.length]; + for (int i = 0; i < args.length; i++) { + args[i] = randomArg(params[i]); + } + return args; + } + + public static Object[] randomArgs(int nargs, Class<?> param) { + Object[] args = new Object[nargs]; + for (int i = 0; i < args.length; i++) { + args[i] = randomArg(param); + } + return args; + } + + public static Object[] randomArgs(int nargs, Class<?>... params) { + Object[] args = new Object[nargs]; + for (int i = 0; i < args.length; i++) { + Class<?> param = params[i % params.length]; + args[i] = randomArg(param); + } + return args; + } + + public static Object[] randomArgs(List<Class<?>> params) { + return randomArgs(params.toArray(new Class<?>[params.size()])); + } + + private static Object castToWrapper(Object value, Class<?> dst) { + Object wrap = null; + if (value instanceof Number) { + wrap = castToWrapperOrNull(((Number) value).longValue(), dst); + } + if (value instanceof Character) { + wrap = castToWrapperOrNull((char) (Character) value, dst); + } + if (wrap != null) { + return wrap; + } + return dst.cast(value); + } + + @SuppressWarnings("cast") + // primitive cast to (long) is part of the pattern + private static Object castToWrapperOrNull(long value, Class<?> dst) { + if (dst == int.class || dst == Integer.class) { + return (int) (value); + } + if (dst == long.class || dst == Long.class) { + return (long) (value); + } + if (dst == char.class || dst == Character.class) { + return (char) (value); + } + if (dst == short.class || dst == Short.class) { + return (short) (value); + } + if (dst == float.class || dst == Float.class) { + return (float) (value); + } + if (dst == double.class || dst == Double.class) { + return (double) (value); + } + if (dst == byte.class || dst == Byte.class) { + return (byte) (value); + } + if (dst == boolean.class || dst == boolean.class) { + return ((value % 29) & 1) == 0; + } + return null; + } +} diff --git a/langtools/.hgtags b/langtools/.hgtags index ab6c1e2e32a..6488f7e10e4 100644 --- a/langtools/.hgtags +++ b/langtools/.hgtags @@ -246,3 +246,5 @@ afe63d41c699e0e2ee910ef20c41b60603c852a1 jdk9-b00 077c12d527fb5531c59666c1f84000fc1245a260 jdk9-b01 f2c58a337c8aaa1ce84dfa8a8e8c5d4c8c1e12fa jdk9-b02 151222468d1d04ce6613d33efa3d45bfaf53e3e5 jdk9-b03 +fa2ec6b6b1697ae4a78b03b609664dc6b47dee86 jdk9-b04 +1d5e6fc88a4cca287090c16b0530a0d5849a5603 jdk9-b05 diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java b/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java index a5195caa8ee..1af2b332cc0 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2014, 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 @@ -467,11 +467,24 @@ public abstract class Symbol extends AnnoConstruct implements Element { private boolean hiddenIn(ClassSymbol clazz, Types types) { Symbol sym = hiddenInInternal(clazz, types); - return sym != null && sym != this; + Assert.check(sym != null, "the result of hiddenInInternal() can't be null"); + /* If we find the current symbol then there is no symbol hiding it + */ + return sym != this; } - private Symbol hiddenInInternal(ClassSymbol c, Types types) { - Scope.Entry e = c.members().lookup(name); + /** This method looks in the supertypes graph that has the current class as the + * initial node, till it finds the current symbol or another symbol that hides it. + * If the current class has more than one supertype (extends one class and + * implements one or more interfaces) then null can be returned, meaning that + * a wrong path in the supertypes graph was selected. Null can only be returned + * as a temporary value, as a result of the recursive call. + */ + private Symbol hiddenInInternal(ClassSymbol currentClass, Types types) { + if (currentClass == owner) { + return this; + } + Scope.Entry e = currentClass.members().lookup(name); while (e.scope != null) { if (e.sym.kind == kind && (kind != MTH || @@ -481,18 +494,19 @@ public abstract class Symbol extends AnnoConstruct implements Element { } e = e.next(); } - List<Symbol> hiddenSyms = List.nil(); - for (Type st : types.interfaces(c.type).prepend(types.supertype(c.type))) { + Symbol hiddenSym = null; + for (Type st : types.interfaces(currentClass.type) + .prepend(types.supertype(currentClass.type))) { if (st != null && (st.hasTag(CLASS))) { Symbol sym = hiddenInInternal((ClassSymbol)st.tsym, types); - if (sym != null) { - hiddenSyms = hiddenSyms.prepend(hiddenInInternal((ClassSymbol)st.tsym, types)); + if (sym == this) { + return this; + } else if (sym != null) { + hiddenSym = sym; } } } - return hiddenSyms.contains(this) ? - this : - (hiddenSyms.isEmpty() ? null : hiddenSyms.head); + return hiddenSym; } /** Is this symbol inherited into a given class? diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Type.java b/langtools/src/share/classes/com/sun/tools/javac/code/Type.java index da87eee67e0..0b57e21cbae 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/code/Type.java +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Type.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2014, 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 @@ -1481,8 +1481,21 @@ public abstract class Type extends AnnoConstruct implements TypeMirror { } public String toString() { - if (inst != null) return inst.toString(); - else return qtype + "?"; + return (inst == null) ? qtype + "?" : inst.toString(); + } + + public String debugString() { + String result = "inference var = " + qtype + "\n"; + if (inst != null) { + result += "inst = " + inst + '\n'; + } + for (InferenceBound bound: InferenceBound.values()) { + List<Type> aboundList = bounds.get(bound); + if (aboundList.size() > 0) { + result += bound + " = " + aboundList + '\n'; + } + } + return result; } @Override @@ -1492,8 +1505,7 @@ public abstract class Type extends AnnoConstruct implements TypeMirror { @Override public Type baseType() { - if (inst != null) return inst.baseType(); - else return this; + return (inst == null) ? this : inst.baseType(); } /** get all bounds of a given kind */ diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java index acc3ccbff29..4e011f04368 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java @@ -3208,6 +3208,7 @@ public class Types { return tvar.rank_field; } case ERROR: + case NONE: return 0; default: throw new AssertionError(); diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java index cd1383b3b0a..1a9e0626b1c 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java @@ -808,9 +808,7 @@ public class Annotate { Attribute.TypeCompound tc = enterTypeAnnotation(a, syms.annotationType, env); - if (tc == null) { - continue; - } + Assert.checkNonNull(tc, "Failed to create type annotation"); if (annotated.containsKey(a.type.tsym)) { if (!allowRepeatedAnnos) { @@ -827,10 +825,9 @@ public class Annotate { } } - if (s != null) { - s.appendTypeAttributesWithCompletion( - new AnnotateRepeatedContext<>(env, annotated, pos, log, true)); - } + Assert.checkNonNull(s, "Symbol argument to actualEnterTypeAnnotations is null"); + s.appendTypeAttributesWithCompletion( + new AnnotateRepeatedContext<>(env, annotated, pos, log, true)); } finally { if (prevLintPos != null) deferredLintHandler.setPos(prevLintPos); diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java index 7fa54fc374c..1fe49587172 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java @@ -2173,6 +2173,12 @@ public class Infer { //back-door to infer return Infer.this; } + + @Override + public String toString() { + return "Inference vars: " + inferencevars + '\n' + + "Undet vars: " + undetvars; + } } final InferenceContext emptyContext = new InferenceContext(List.<Type>nil()); diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java index 5e7293d74d3..13e910ce559 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java @@ -1037,7 +1037,7 @@ public class ClassWriter extends ClassFile { } databuf.appendChar(pool.get(inner)); databuf.appendChar( - inner.owner.kind == TYP ? pool.get(inner.owner) : 0); + inner.owner.kind == TYP && !inner.name.isEmpty() ? pool.get(inner.owner) : 0); databuf.appendChar( !inner.name.isEmpty() ? pool.get(inner.name) : 0); databuf.appendChar(flags); diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java index 0f2cbcf1ed7..e1bda1c736d 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java @@ -1910,6 +1910,7 @@ public class Gen extends JCTree.Visitor { if (!c.isFalse()) { code.resolve(c.trueJumps); int startpc = genCrt ? code.curCP() : 0; + code.statBegin(tree.truepart.pos); genExpr(tree.truepart, pt).load(); code.state.forceStackTop(tree.type); if (genCrt) code.crt.put(tree.truepart, CRT_FLOW_TARGET, @@ -1919,6 +1920,7 @@ public class Gen extends JCTree.Visitor { if (elseChain != null) { code.resolve(elseChain); int startpc = genCrt ? code.curCP() : 0; + code.statBegin(tree.falsepart.pos); genExpr(tree.falsepart, pt).load(); code.state.forceStackTop(tree.type); if (genCrt) code.crt.put(tree.falsepart, CRT_FLOW_TARGET, diff --git a/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java b/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java index fd79f04e62d..21af5070a76 100644 --- a/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java +++ b/langtools/src/share/classes/javax/lang/model/type/MirroredTypeException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -70,6 +70,10 @@ public class MirroredTypeException extends MirroredTypesException { /** * Explicitly set all transient fields. + * @param s the serial stream + * @throws ClassNotFoundException for a missing class during + * deserialization + * @throws IOException for an IO problem during deserialization */ private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { diff --git a/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java b/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java index e385241a378..2cff3ffdaf6 100644 --- a/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java +++ b/langtools/src/share/classes/javax/lang/model/type/MirroredTypesException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -85,6 +85,10 @@ public class MirroredTypesException extends RuntimeException { /** * Explicitly set all transient fields. + * @param s the serial stream + * @throws ClassNotFoundException for a missing class during + * deserialization + * @throws IOException for an IO problem during deserialization */ private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { diff --git a/langtools/test/tools/javac/6464451/BigFinally.java b/langtools/test/tools/javac/6464451/BigFinally.java deleted file mode 100644 index 8f89e7d870f..00000000000 --- a/langtools/test/tools/javac/6464451/BigFinally.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Copyright (c) 2007, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/** - * @test - * @bug 6464451 - * @summary javac in 5.0ux can not compile try-finally block which has a lot of "return" - * @author Wei Tao - * @compile -source 5 -target 5 BigFinally.java - * @clean BigFinally - * @compile/fail BigFinally.java - */ - -public class BigFinally { - static public int func(int i) { - try { - if(i == 1) return 1; - } finally { - try { - if(i == 2) return 2; - if(i == 3 ) return 3; - if(i == 4 ) return 4; - if(i == 5 ) return 5; - if(i == 6 ) return 6; - if(i == 7 ) return 7; - if(i == 8 ) return 8; - if(i == 9 ) return 9; - if(i == 10 ) return 10; - if(i == 11 ) return 11; - if(i == 12 ) return 12; - if(i == 13 ) return 13; - if(i == 14 ) return 14; - if(i == 15 ) return 15; - if(i == 16 ) return 16; - if(i == 17 ) return 17; - if(i == 18 ) return 18; - if(i == 19 ) return 19; - if(i == 20 ) return 20; - if(i == 21 ) return 21; - if(i == 22 ) return 22; - if(i == 23 ) return 23; - if(i == 24 ) return 24; - if(i == 25 ) return 25; - if(i == 26 ) return 26; - if(i == 27 ) return 27; - if(i == 28 ) return 28; - if(i == 29 ) return 29; - if(i == 30 ) return 30; - if(i == 31 ) return 31; - if(i == 32 ) return 32; - if(i == 33 ) return 33; - if(i == 34 ) return 34; - if(i == 35 ) return 35; - if(i == 36 ) return 36; - if(i == 37 ) return 37; - if(i == 38 ) return 38; - if(i == 39 ) return 39; - if(i == 40 ) return 40; - if(i == 41 ) return 41; - if(i == 42 ) return 42; - if(i == 43 ) return 43; - if(i == 44 ) return 44; - if(i == 45 ) return 45; - if(i == 46 ) return 46; - if(i == 47 ) return 47; - if(i == 48 ) return 48; - if(i == 49 ) return 49; - if(i == 50 ) return 50; - if(i == 51 ) return 51; - if(i == 52 ) return 52; - if(i == 53 ) return 53; - if(i == 54 ) return 54; - if(i == 55 ) return 55; - if(i == 56 ) return 56; - if(i == 57 ) return 57; - if(i == 58 ) return 58; - if(i == 59 ) return 59; - if(i == 60 ) return 60; - if(i == 61 ) return 61; - if(i == 62 ) return 62; - if(i == 63 ) return 63; - if(i == 64 ) return 64; - if(i == 65 ) return 65; - if(i == 66 ) return 66; - if(i == 67 ) return 67; - if(i == 68 ) return 68; - if(i == 69 ) return 69; - if(i == 70 ) return 70; - if(i == 71 ) return 71; - if(i == 72 ) return 72; - if(i == 73 ) return 73; - if(i == 74 ) return 74; - if(i == 75 ) return 75; - if(i == 76 ) return 76; - if(i == 77 ) return 77; - if(i == 78 ) return 78; - if(i == 79 ) return 79; - if(i == 80 ) return 80; - if(i == 81 ) return 81; - if(i == 82 ) return 82; - if(i == 83 ) return 83; - if(i == 84 ) return 84; - if(i == 85 ) return 85; - if(i == 86 ) return 86; - if(i == 87 ) return 87; - if(i == 88 ) return 88; - if(i == 89 ) return 89; - if(i == 90 ) return 90; - if(i == 91 ) return 91; - if(i == 92 ) return 92; - if(i == 93 ) return 93; - if(i == 94 ) return 94; - if(i == 95 ) return 95; - if(i == 96 ) return 96; - if(i == 97 ) return 97; - if(i == 98 ) return 98; - if(i == 99 ) return 99; - if(i == 100 ) return 100; - } finally { - int x = 0; - x += 1; - x += 2; - x += 3; - x += 4; - x += 5; - x += 6; - x += 7; - x += 8; - x += 9; - x += 10; - x += 11; - x += 12; - x += 13; - x += 14; - x += 15; - x += 16; - x += 17; - x += 18; - x += 19; - x += 20; - x += 21; - x += 22; - x += 23; - x += 24; - x += 25; - x += 26; - x += 27; - x += 28; - x += 29; - x += 30; - x += 31; - x += 32; - x += 33; - x += 34; - x += 35; - x += 36; - x += 37; - x += 38; - x += 39; - x += 40; - x += 41; - x += 42; - x += 43; - x += 44; - x += 45; - x += 46; - x += 47; - x += 48; - x += 49; - x += 50; - x += 51; - x += 52; - x += 53; - x += 54; - x += 55; - x += 56; - x += 57; - x += 58; - x += 59; - x += 60; - x += 61; - x += 62; - x += 63; - x += 64; - x += 65; - x += 66; - x += 67; - x += 68; - x += 69; - x += 70; - x += 71; - x += 72; - x += 73; - x += 74; - x += 75; - x += 76; - x += 77; - x += 78; - x += 79; - x += 80; - x += 81; - x += 82; - x += 83; - x += 84; - x += 85; - x += 86; - x += 87; - x += 88; - x += 89; - x += 90; - x += 91; - x += 92; - x += 93; - x += 94; - x += 95; - x += 96; - x += 97; - x += 98; - x += 99; - x += 100; - } - } - return 0; - } -} diff --git a/langtools/test/tools/javac/6464451/DeepNestedFinally.java b/langtools/test/tools/javac/6464451/DeepNestedFinally.java deleted file mode 100644 index fc6253cd975..00000000000 --- a/langtools/test/tools/javac/6464451/DeepNestedFinally.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2007, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/** - * @test - * @bug 6464451 - * @summary javac in 5.0ux can not compile try-finally block which has a lot of "return" - * @author Wei Tao - * @compile -source 5 -target 5 DeepNestedFinally.java - * @clean DeepNestedFinally - * @compile/fail DeepNestedFinally.java - */ - -public class DeepNestedFinally { - static public int func(int i) { - try { - if(i == 1) return 1; - } finally { - try { - if(i == 2) return 2; - } finally { - try { - if(i == 3) return 3; - } finally { - try { - if(i == 4) return 4; - } finally { - try { - if(i == 5) return 5; - } finally { - try { - if(i == 6) return 6; - } finally { - try { - if (i == 7) return 7; - } finally { - int x = 0; - x += 1; - x += 2; - x += 3; - x += 4; - x += 5; - x += 6; - x += 7; - x += 8; - x += 9; - } - } - } - } - } - } - } - return 0; - } -} diff --git a/langtools/test/tools/javac/6464451/ManyExitsInTry.java b/langtools/test/tools/javac/6464451/ManyExitsInTry.java deleted file mode 100644 index 95eb2ffadef..00000000000 --- a/langtools/test/tools/javac/6464451/ManyExitsInTry.java +++ /dev/null @@ -1,2051 +0,0 @@ -/* - * Copyright (c) 2007, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/** - * @test - * @bug 6464451 - * @summary javac in 5.0ux can not compile try-finally block which has a lot of "return" - * @author Wei Tao - * @compile -source 5 -target 5 ManyExitsInTry.java - * @clean ManyExitsInTry - * @compile/fail ManyExitsInTry.java - */ - -public class ManyExitsInTry { - static public int func(int i) { - try { - if(i == 0 ) return 0; - if(i == 1 ) return 1; - if(i == 2 ) return 2; - if(i == 3 ) return 3; - if(i == 4 ) return 4; - if(i == 5 ) return 5; - if(i == 6 ) return 6; - if(i == 7 ) return 7; - if(i == 8 ) return 8; - if(i == 9 ) return 9; - if(i == 10 ) return 10; - if(i == 11 ) return 11; - if(i == 12 ) return 12; - if(i == 13 ) return 13; - if(i == 14 ) return 14; - if(i == 15 ) return 15; - if(i == 16 ) return 16; - if(i == 17 ) return 17; - if(i == 18 ) return 18; - if(i == 19 ) return 19; - if(i == 20 ) return 20; - if(i == 21 ) return 21; - if(i == 22 ) return 22; - if(i == 23 ) return 23; - if(i == 24 ) return 24; - if(i == 25 ) return 25; - if(i == 26 ) return 26; - if(i == 27 ) return 27; - if(i == 28 ) return 28; - if(i == 29 ) return 29; - if(i == 30 ) return 30; - if(i == 31 ) return 31; - if(i == 32 ) return 32; - if(i == 33 ) return 33; - if(i == 34 ) return 34; - if(i == 35 ) return 35; - if(i == 36 ) return 36; - if(i == 37 ) return 37; - if(i == 38 ) return 38; - if(i == 39 ) return 39; - if(i == 40 ) return 40; - if(i == 41 ) return 41; - if(i == 42 ) return 42; - if(i == 43 ) return 43; - if(i == 44 ) return 44; - if(i == 45 ) return 45; - if(i == 46 ) return 46; - if(i == 47 ) return 47; - if(i == 48 ) return 48; - if(i == 49 ) return 49; - if(i == 50 ) return 50; - if(i == 51 ) return 51; - if(i == 52 ) return 52; - if(i == 53 ) return 53; - if(i == 54 ) return 54; - if(i == 55 ) return 55; - if(i == 56 ) return 56; - if(i == 57 ) return 57; - if(i == 58 ) return 58; - if(i == 59 ) return 59; - if(i == 60 ) return 60; - if(i == 61 ) return 61; - if(i == 62 ) return 62; - if(i == 63 ) return 63; - if(i == 64 ) return 64; - if(i == 65 ) return 65; - if(i == 66 ) return 66; - if(i == 67 ) return 67; - if(i == 68 ) return 68; - if(i == 69 ) return 69; - if(i == 70 ) return 70; - if(i == 71 ) return 71; - if(i == 72 ) return 72; - if(i == 73 ) return 73; - if(i == 74 ) return 74; - if(i == 75 ) return 75; - if(i == 76 ) return 76; - if(i == 77 ) return 77; - if(i == 78 ) return 78; - if(i == 79 ) return 79; - if(i == 80 ) return 80; - if(i == 81 ) return 81; - if(i == 82 ) return 82; - if(i == 83 ) return 83; - if(i == 84 ) return 84; - if(i == 85 ) return 85; - if(i == 86 ) return 86; - if(i == 87 ) return 87; - if(i == 88 ) return 88; - if(i == 89 ) return 89; - if(i == 90 ) return 90; - if(i == 91 ) return 91; - if(i == 92 ) return 92; - if(i == 93 ) return 93; - if(i == 94 ) return 94; - if(i == 95 ) return 95; - if(i == 96 ) return 96; - if(i == 97 ) return 97; - if(i == 98 ) return 98; - if(i == 99 ) return 99; - if(i == 100 ) return 100; - if(i == 101 ) return 101; - if(i == 102 ) return 102; - if(i == 103 ) return 103; - if(i == 104 ) return 104; - if(i == 105 ) return 105; - if(i == 106 ) return 106; - if(i == 107 ) return 107; - if(i == 108 ) return 108; - if(i == 109 ) return 109; - if(i == 110 ) return 110; - if(i == 111 ) return 111; - if(i == 112 ) return 112; - if(i == 113 ) return 113; - if(i == 114 ) return 114; - if(i == 115 ) return 115; - if(i == 116 ) return 116; - if(i == 117 ) return 117; - if(i == 118 ) return 118; - if(i == 119 ) return 119; - if(i == 120 ) return 120; - if(i == 121 ) return 121; - if(i == 122 ) return 122; - if(i == 123 ) return 123; - if(i == 124 ) return 124; - if(i == 125 ) return 125; - if(i == 126 ) return 126; - if(i == 127 ) return 127; - if(i == 128 ) return 128; - if(i == 129 ) return 129; - if(i == 130 ) return 130; - if(i == 131 ) return 131; - if(i == 132 ) return 132; - if(i == 133 ) return 133; - if(i == 134 ) return 134; - if(i == 135 ) return 135; - if(i == 136 ) return 136; - if(i == 137 ) return 137; - if(i == 138 ) return 138; - if(i == 139 ) return 139; - if(i == 140 ) return 140; - if(i == 141 ) return 141; - if(i == 142 ) return 142; - if(i == 143 ) return 143; - if(i == 144 ) return 144; - if(i == 145 ) return 145; - if(i == 146 ) return 146; - if(i == 147 ) return 147; - if(i == 148 ) return 148; - if(i == 149 ) return 149; - if(i == 150 ) return 150; - if(i == 151 ) return 151; - if(i == 152 ) return 152; - if(i == 153 ) return 153; - if(i == 154 ) return 154; - if(i == 155 ) return 155; - if(i == 156 ) return 156; - if(i == 157 ) return 157; - if(i == 158 ) return 158; - if(i == 159 ) return 159; - if(i == 160 ) return 160; - if(i == 161 ) return 161; - if(i == 162 ) return 162; - if(i == 163 ) return 163; - if(i == 164 ) return 164; - if(i == 165 ) return 165; - if(i == 166 ) return 166; - if(i == 167 ) return 167; - if(i == 168 ) return 168; - if(i == 169 ) return 169; - if(i == 170 ) return 170; - if(i == 171 ) return 171; - if(i == 172 ) return 172; - if(i == 173 ) return 173; - if(i == 174 ) return 174; - if(i == 175 ) return 175; - if(i == 176 ) return 176; - if(i == 177 ) return 177; - if(i == 178 ) return 178; - if(i == 179 ) return 179; - if(i == 180 ) return 180; - if(i == 181 ) return 181; - if(i == 182 ) return 182; - if(i == 183 ) return 183; - if(i == 184 ) return 184; - if(i == 185 ) return 185; - if(i == 186 ) return 186; - if(i == 187 ) return 187; - if(i == 188 ) return 188; - if(i == 189 ) return 189; - if(i == 190 ) return 190; - if(i == 191 ) return 191; - if(i == 192 ) return 192; - if(i == 193 ) return 193; - if(i == 194 ) return 194; - if(i == 195 ) return 195; - if(i == 196 ) return 196; - if(i == 197 ) return 197; - if(i == 198 ) return 198; - if(i == 199 ) return 199; - if(i == 200 ) return 200; - if(i == 201 ) return 201; - if(i == 202 ) return 202; - if(i == 203 ) return 203; - if(i == 204 ) return 204; - if(i == 205 ) return 205; - if(i == 206 ) return 206; - if(i == 207 ) return 207; - if(i == 208 ) return 208; - if(i == 209 ) return 209; - if(i == 210 ) return 210; - if(i == 211 ) return 211; - if(i == 212 ) return 212; - if(i == 213 ) return 213; - if(i == 214 ) return 214; - if(i == 215 ) return 215; - if(i == 216 ) return 216; - if(i == 217 ) return 217; - if(i == 218 ) return 218; - if(i == 219 ) return 219; - if(i == 220 ) return 220; - if(i == 221 ) return 221; - if(i == 222 ) return 222; - if(i == 223 ) return 223; - if(i == 224 ) return 224; - if(i == 225 ) return 225; - if(i == 226 ) return 226; - if(i == 227 ) return 227; - if(i == 228 ) return 228; - if(i == 229 ) return 229; - if(i == 230 ) return 230; - if(i == 231 ) return 231; - if(i == 232 ) return 232; - if(i == 233 ) return 233; - if(i == 234 ) return 234; - if(i == 235 ) return 235; - if(i == 236 ) return 236; - if(i == 237 ) return 237; - if(i == 238 ) return 238; - if(i == 239 ) return 239; - if(i == 240 ) return 240; - if(i == 241 ) return 241; - if(i == 242 ) return 242; - if(i == 243 ) return 243; - if(i == 244 ) return 244; - if(i == 245 ) return 245; - if(i == 246 ) return 246; - if(i == 247 ) return 247; - if(i == 248 ) return 248; - if(i == 249 ) return 249; - if(i == 250 ) return 250; - if(i == 251 ) return 251; - if(i == 252 ) return 252; - if(i == 253 ) return 253; - if(i == 254 ) return 254; - if(i == 255 ) return 255; - if(i == 256 ) return 256; - if(i == 257 ) return 257; - if(i == 258 ) return 258; - if(i == 259 ) return 259; - if(i == 260 ) return 260; - if(i == 261 ) return 261; - if(i == 262 ) return 262; - if(i == 263 ) return 263; - if(i == 264 ) return 264; - if(i == 265 ) return 265; - if(i == 266 ) return 266; - if(i == 267 ) return 267; - if(i == 268 ) return 268; - if(i == 269 ) return 269; - if(i == 270 ) return 270; - if(i == 271 ) return 271; - if(i == 272 ) return 272; - if(i == 273 ) return 273; - if(i == 274 ) return 274; - if(i == 275 ) return 275; - if(i == 276 ) return 276; - if(i == 277 ) return 277; - if(i == 278 ) return 278; - if(i == 279 ) return 279; - if(i == 280 ) return 280; - if(i == 281 ) return 281; - if(i == 282 ) return 282; - if(i == 283 ) return 283; - if(i == 284 ) return 284; - if(i == 285 ) return 285; - if(i == 286 ) return 286; - if(i == 287 ) return 287; - if(i == 288 ) return 288; - if(i == 289 ) return 289; - if(i == 290 ) return 290; - if(i == 291 ) return 291; - if(i == 292 ) return 292; - if(i == 293 ) return 293; - if(i == 294 ) return 294; - if(i == 295 ) return 295; - if(i == 296 ) return 296; - if(i == 297 ) return 297; - if(i == 298 ) return 298; - if(i == 299 ) return 299; - if(i == 300 ) return 300; - if(i == 301 ) return 301; - if(i == 302 ) return 302; - if(i == 303 ) return 303; - if(i == 304 ) return 304; - if(i == 305 ) return 305; - if(i == 306 ) return 306; - if(i == 307 ) return 307; - if(i == 308 ) return 308; - if(i == 309 ) return 309; - if(i == 310 ) return 310; - if(i == 311 ) return 311; - if(i == 312 ) return 312; - if(i == 313 ) return 313; - if(i == 314 ) return 314; - if(i == 315 ) return 315; - if(i == 316 ) return 316; - if(i == 317 ) return 317; - if(i == 318 ) return 318; - if(i == 319 ) return 319; - if(i == 320 ) return 320; - if(i == 321 ) return 321; - if(i == 322 ) return 322; - if(i == 323 ) return 323; - if(i == 324 ) return 324; - if(i == 325 ) return 325; - if(i == 326 ) return 326; - if(i == 327 ) return 327; - if(i == 328 ) return 328; - if(i == 329 ) return 329; - if(i == 330 ) return 330; - if(i == 331 ) return 331; - if(i == 332 ) return 332; - if(i == 333 ) return 333; - if(i == 334 ) return 334; - if(i == 335 ) return 335; - if(i == 336 ) return 336; - if(i == 337 ) return 337; - if(i == 338 ) return 338; - if(i == 339 ) return 339; - if(i == 340 ) return 340; - if(i == 341 ) return 341; - if(i == 342 ) return 342; - if(i == 343 ) return 343; - if(i == 344 ) return 344; - if(i == 345 ) return 345; - if(i == 346 ) return 346; - if(i == 347 ) return 347; - if(i == 348 ) return 348; - if(i == 349 ) return 349; - if(i == 350 ) return 350; - if(i == 351 ) return 351; - if(i == 352 ) return 352; - if(i == 353 ) return 353; - if(i == 354 ) return 354; - if(i == 355 ) return 355; - if(i == 356 ) return 356; - if(i == 357 ) return 357; - if(i == 358 ) return 358; - if(i == 359 ) return 359; - if(i == 360 ) return 360; - if(i == 361 ) return 361; - if(i == 362 ) return 362; - if(i == 363 ) return 363; - if(i == 364 ) return 364; - if(i == 365 ) return 365; - if(i == 366 ) return 366; - if(i == 367 ) return 367; - if(i == 368 ) return 368; - if(i == 369 ) return 369; - if(i == 370 ) return 370; - if(i == 371 ) return 371; - if(i == 372 ) return 372; - if(i == 373 ) return 373; - if(i == 374 ) return 374; - if(i == 375 ) return 375; - if(i == 376 ) return 376; - if(i == 377 ) return 377; - if(i == 378 ) return 378; - if(i == 379 ) return 379; - if(i == 380 ) return 380; - if(i == 381 ) return 381; - if(i == 382 ) return 382; - if(i == 383 ) return 383; - if(i == 384 ) return 384; - if(i == 385 ) return 385; - if(i == 386 ) return 386; - if(i == 387 ) return 387; - if(i == 388 ) return 388; - if(i == 389 ) return 389; - if(i == 390 ) return 390; - if(i == 391 ) return 391; - if(i == 392 ) return 392; - if(i == 393 ) return 393; - if(i == 394 ) return 394; - if(i == 395 ) return 395; - if(i == 396 ) return 396; - if(i == 397 ) return 397; - if(i == 398 ) return 398; - if(i == 399 ) return 399; - if(i == 400 ) return 400; - if(i == 401 ) return 401; - if(i == 402 ) return 402; - if(i == 403 ) return 403; - if(i == 404 ) return 404; - if(i == 405 ) return 405; - if(i == 406 ) return 406; - if(i == 407 ) return 407; - if(i == 408 ) return 408; - if(i == 409 ) return 409; - if(i == 410 ) return 410; - if(i == 411 ) return 411; - if(i == 412 ) return 412; - if(i == 413 ) return 413; - if(i == 414 ) return 414; - if(i == 415 ) return 415; - if(i == 416 ) return 416; - if(i == 417 ) return 417; - if(i == 418 ) return 418; - if(i == 419 ) return 419; - if(i == 420 ) return 420; - if(i == 421 ) return 421; - if(i == 422 ) return 422; - if(i == 423 ) return 423; - if(i == 424 ) return 424; - if(i == 425 ) return 425; - if(i == 426 ) return 426; - if(i == 427 ) return 427; - if(i == 428 ) return 428; - if(i == 429 ) return 429; - if(i == 430 ) return 430; - if(i == 431 ) return 431; - if(i == 432 ) return 432; - if(i == 433 ) return 433; - if(i == 434 ) return 434; - if(i == 435 ) return 435; - if(i == 436 ) return 436; - if(i == 437 ) return 437; - if(i == 438 ) return 438; - if(i == 439 ) return 439; - if(i == 440 ) return 440; - if(i == 441 ) return 441; - if(i == 442 ) return 442; - if(i == 443 ) return 443; - if(i == 444 ) return 444; - if(i == 445 ) return 445; - if(i == 446 ) return 446; - if(i == 447 ) return 447; - if(i == 448 ) return 448; - if(i == 449 ) return 449; - if(i == 450 ) return 450; - if(i == 451 ) return 451; - if(i == 452 ) return 452; - if(i == 453 ) return 453; - if(i == 454 ) return 454; - if(i == 455 ) return 455; - if(i == 456 ) return 456; - if(i == 457 ) return 457; - if(i == 458 ) return 458; - if(i == 459 ) return 459; - if(i == 460 ) return 460; - if(i == 461 ) return 461; - if(i == 462 ) return 462; - if(i == 463 ) return 463; - if(i == 464 ) return 464; - if(i == 465 ) return 465; - if(i == 466 ) return 466; - if(i == 467 ) return 467; - if(i == 468 ) return 468; - if(i == 469 ) return 469; - if(i == 470 ) return 470; - if(i == 471 ) return 471; - if(i == 472 ) return 472; - if(i == 473 ) return 473; - if(i == 474 ) return 474; - if(i == 475 ) return 475; - if(i == 476 ) return 476; - if(i == 477 ) return 477; - if(i == 478 ) return 478; - if(i == 479 ) return 479; - if(i == 480 ) return 480; - if(i == 481 ) return 481; - if(i == 482 ) return 482; - if(i == 483 ) return 483; - if(i == 484 ) return 484; - if(i == 485 ) return 485; - if(i == 486 ) return 486; - if(i == 487 ) return 487; - if(i == 488 ) return 488; - if(i == 489 ) return 489; - if(i == 490 ) return 490; - if(i == 491 ) return 491; - if(i == 492 ) return 492; - if(i == 493 ) return 493; - if(i == 494 ) return 494; - if(i == 495 ) return 495; - if(i == 496 ) return 496; - if(i == 497 ) return 497; - if(i == 498 ) return 498; - if(i == 499 ) return 499; - if(i == 500 ) return 500; - if(i == 501 ) return 501; - if(i == 502 ) return 502; - if(i == 503 ) return 503; - if(i == 504 ) return 504; - if(i == 505 ) return 505; - if(i == 506 ) return 506; - if(i == 507 ) return 507; - if(i == 508 ) return 508; - if(i == 509 ) return 509; - if(i == 510 ) return 510; - if(i == 511 ) return 511; - if(i == 512 ) return 512; - if(i == 513 ) return 513; - if(i == 514 ) return 514; - if(i == 515 ) return 515; - if(i == 516 ) return 516; - if(i == 517 ) return 517; - if(i == 518 ) return 518; - if(i == 519 ) return 519; - if(i == 520 ) return 520; - if(i == 521 ) return 521; - if(i == 522 ) return 522; - if(i == 523 ) return 523; - if(i == 524 ) return 524; - if(i == 525 ) return 525; - if(i == 526 ) return 526; - if(i == 527 ) return 527; - if(i == 528 ) return 528; - if(i == 529 ) return 529; - if(i == 530 ) return 530; - if(i == 531 ) return 531; - if(i == 532 ) return 532; - if(i == 533 ) return 533; - if(i == 534 ) return 534; - if(i == 535 ) return 535; - if(i == 536 ) return 536; - if(i == 537 ) return 537; - if(i == 538 ) return 538; - if(i == 539 ) return 539; - if(i == 540 ) return 540; - if(i == 541 ) return 541; - if(i == 542 ) return 542; - if(i == 543 ) return 543; - if(i == 544 ) return 544; - if(i == 545 ) return 545; - if(i == 546 ) return 546; - if(i == 547 ) return 547; - if(i == 548 ) return 548; - if(i == 549 ) return 549; - if(i == 550 ) return 550; - if(i == 551 ) return 551; - if(i == 552 ) return 552; - if(i == 553 ) return 553; - if(i == 554 ) return 554; - if(i == 555 ) return 555; - if(i == 556 ) return 556; - if(i == 557 ) return 557; - if(i == 558 ) return 558; - if(i == 559 ) return 559; - if(i == 560 ) return 560; - if(i == 561 ) return 561; - if(i == 562 ) return 562; - if(i == 563 ) return 563; - if(i == 564 ) return 564; - if(i == 565 ) return 565; - if(i == 566 ) return 566; - if(i == 567 ) return 567; - if(i == 568 ) return 568; - if(i == 569 ) return 569; - if(i == 570 ) return 570; - if(i == 571 ) return 571; - if(i == 572 ) return 572; - if(i == 573 ) return 573; - if(i == 574 ) return 574; - if(i == 575 ) return 575; - if(i == 576 ) return 576; - if(i == 577 ) return 577; - if(i == 578 ) return 578; - if(i == 579 ) return 579; - if(i == 580 ) return 580; - if(i == 581 ) return 581; - if(i == 582 ) return 582; - if(i == 583 ) return 583; - if(i == 584 ) return 584; - if(i == 585 ) return 585; - if(i == 586 ) return 586; - if(i == 587 ) return 587; - if(i == 588 ) return 588; - if(i == 589 ) return 589; - if(i == 590 ) return 590; - if(i == 591 ) return 591; - if(i == 592 ) return 592; - if(i == 593 ) return 593; - if(i == 594 ) return 594; - if(i == 595 ) return 595; - if(i == 596 ) return 596; - if(i == 597 ) return 597; - if(i == 598 ) return 598; - if(i == 599 ) return 599; - if(i == 600 ) return 600; - if(i == 601 ) return 601; - if(i == 602 ) return 602; - if(i == 603 ) return 603; - if(i == 604 ) return 604; - if(i == 605 ) return 605; - if(i == 606 ) return 606; - if(i == 607 ) return 607; - if(i == 608 ) return 608; - if(i == 609 ) return 609; - if(i == 610 ) return 610; - if(i == 611 ) return 611; - if(i == 612 ) return 612; - if(i == 613 ) return 613; - if(i == 614 ) return 614; - if(i == 615 ) return 615; - if(i == 616 ) return 616; - if(i == 617 ) return 617; - if(i == 618 ) return 618; - if(i == 619 ) return 619; - if(i == 620 ) return 620; - if(i == 621 ) return 621; - if(i == 622 ) return 622; - if(i == 623 ) return 623; - if(i == 624 ) return 624; - if(i == 625 ) return 625; - if(i == 626 ) return 626; - if(i == 627 ) return 627; - if(i == 628 ) return 628; - if(i == 629 ) return 629; - if(i == 630 ) return 630; - if(i == 631 ) return 631; - if(i == 632 ) return 632; - if(i == 633 ) return 633; - if(i == 634 ) return 634; - if(i == 635 ) return 635; - if(i == 636 ) return 636; - if(i == 637 ) return 637; - if(i == 638 ) return 638; - if(i == 639 ) return 639; - if(i == 640 ) return 640; - if(i == 641 ) return 641; - if(i == 642 ) return 642; - if(i == 643 ) return 643; - if(i == 644 ) return 644; - if(i == 645 ) return 645; - if(i == 646 ) return 646; - if(i == 647 ) return 647; - if(i == 648 ) return 648; - if(i == 649 ) return 649; - if(i == 650 ) return 650; - if(i == 651 ) return 651; - if(i == 652 ) return 652; - if(i == 653 ) return 653; - if(i == 654 ) return 654; - if(i == 655 ) return 655; - if(i == 656 ) return 656; - if(i == 657 ) return 657; - if(i == 658 ) return 658; - if(i == 659 ) return 659; - if(i == 660 ) return 660; - if(i == 661 ) return 661; - if(i == 662 ) return 662; - if(i == 663 ) return 663; - if(i == 664 ) return 664; - if(i == 665 ) return 665; - if(i == 666 ) return 666; - if(i == 667 ) return 667; - if(i == 668 ) return 668; - if(i == 669 ) return 669; - if(i == 670 ) return 670; - if(i == 671 ) return 671; - if(i == 672 ) return 672; - if(i == 673 ) return 673; - if(i == 674 ) return 674; - if(i == 675 ) return 675; - if(i == 676 ) return 676; - if(i == 677 ) return 677; - if(i == 678 ) return 678; - if(i == 679 ) return 679; - if(i == 680 ) return 680; - if(i == 681 ) return 681; - if(i == 682 ) return 682; - if(i == 683 ) return 683; - if(i == 684 ) return 684; - if(i == 685 ) return 685; - if(i == 686 ) return 686; - if(i == 687 ) return 687; - if(i == 688 ) return 688; - if(i == 689 ) return 689; - if(i == 690 ) return 690; - if(i == 691 ) return 691; - if(i == 692 ) return 692; - if(i == 693 ) return 693; - if(i == 694 ) return 694; - if(i == 695 ) return 695; - if(i == 696 ) return 696; - if(i == 697 ) return 697; - if(i == 698 ) return 698; - if(i == 699 ) return 699; - if(i == 700 ) return 700; - if(i == 701 ) return 701; - if(i == 702 ) return 702; - if(i == 703 ) return 703; - if(i == 704 ) return 704; - if(i == 705 ) return 705; - if(i == 706 ) return 706; - if(i == 707 ) return 707; - if(i == 708 ) return 708; - if(i == 709 ) return 709; - if(i == 710 ) return 710; - if(i == 711 ) return 711; - if(i == 712 ) return 712; - if(i == 713 ) return 713; - if(i == 714 ) return 714; - if(i == 715 ) return 715; - if(i == 716 ) return 716; - if(i == 717 ) return 717; - if(i == 718 ) return 718; - if(i == 719 ) return 719; - if(i == 720 ) return 720; - if(i == 721 ) return 721; - if(i == 722 ) return 722; - if(i == 723 ) return 723; - if(i == 724 ) return 724; - if(i == 725 ) return 725; - if(i == 726 ) return 726; - if(i == 727 ) return 727; - if(i == 728 ) return 728; - if(i == 729 ) return 729; - if(i == 730 ) return 730; - if(i == 731 ) return 731; - if(i == 732 ) return 732; - if(i == 733 ) return 733; - if(i == 734 ) return 734; - if(i == 735 ) return 735; - if(i == 736 ) return 736; - if(i == 737 ) return 737; - if(i == 738 ) return 738; - if(i == 739 ) return 739; - if(i == 740 ) return 740; - if(i == 741 ) return 741; - if(i == 742 ) return 742; - if(i == 743 ) return 743; - if(i == 744 ) return 744; - if(i == 745 ) return 745; - if(i == 746 ) return 746; - if(i == 747 ) return 747; - if(i == 748 ) return 748; - if(i == 749 ) return 749; - if(i == 750 ) return 750; - if(i == 751 ) return 751; - if(i == 752 ) return 752; - if(i == 753 ) return 753; - if(i == 754 ) return 754; - if(i == 755 ) return 755; - if(i == 756 ) return 756; - if(i == 757 ) return 757; - if(i == 758 ) return 758; - if(i == 759 ) return 759; - if(i == 760 ) return 760; - if(i == 761 ) return 761; - if(i == 762 ) return 762; - if(i == 763 ) return 763; - if(i == 764 ) return 764; - if(i == 765 ) return 765; - if(i == 766 ) return 766; - if(i == 767 ) return 767; - if(i == 768 ) return 768; - if(i == 769 ) return 769; - if(i == 770 ) return 770; - if(i == 771 ) return 771; - if(i == 772 ) return 772; - if(i == 773 ) return 773; - if(i == 774 ) return 774; - if(i == 775 ) return 775; - if(i == 776 ) return 776; - if(i == 777 ) return 777; - if(i == 778 ) return 778; - if(i == 779 ) return 779; - if(i == 780 ) return 780; - if(i == 781 ) return 781; - if(i == 782 ) return 782; - if(i == 783 ) return 783; - if(i == 784 ) return 784; - if(i == 785 ) return 785; - if(i == 786 ) return 786; - if(i == 787 ) return 787; - if(i == 788 ) return 788; - if(i == 789 ) return 789; - if(i == 790 ) return 790; - if(i == 791 ) return 791; - if(i == 792 ) return 792; - if(i == 793 ) return 793; - if(i == 794 ) return 794; - if(i == 795 ) return 795; - if(i == 796 ) return 796; - if(i == 797 ) return 797; - if(i == 798 ) return 798; - if(i == 799 ) return 799; - if(i == 800 ) return 800; - if(i == 801 ) return 801; - if(i == 802 ) return 802; - if(i == 803 ) return 803; - if(i == 804 ) return 804; - if(i == 805 ) return 805; - if(i == 806 ) return 806; - if(i == 807 ) return 807; - if(i == 808 ) return 808; - if(i == 809 ) return 809; - if(i == 810 ) return 810; - if(i == 811 ) return 811; - if(i == 812 ) return 812; - if(i == 813 ) return 813; - if(i == 814 ) return 814; - if(i == 815 ) return 815; - if(i == 816 ) return 816; - if(i == 817 ) return 817; - if(i == 818 ) return 818; - if(i == 819 ) return 819; - if(i == 820 ) return 820; - if(i == 821 ) return 821; - if(i == 822 ) return 822; - if(i == 823 ) return 823; - if(i == 824 ) return 824; - if(i == 825 ) return 825; - if(i == 826 ) return 826; - if(i == 827 ) return 827; - if(i == 828 ) return 828; - if(i == 829 ) return 829; - if(i == 830 ) return 830; - if(i == 831 ) return 831; - if(i == 832 ) return 832; - if(i == 833 ) return 833; - if(i == 834 ) return 834; - if(i == 835 ) return 835; - if(i == 836 ) return 836; - if(i == 837 ) return 837; - if(i == 838 ) return 838; - if(i == 839 ) return 839; - if(i == 840 ) return 840; - if(i == 841 ) return 841; - if(i == 842 ) return 842; - if(i == 843 ) return 843; - if(i == 844 ) return 844; - if(i == 845 ) return 845; - if(i == 846 ) return 846; - if(i == 847 ) return 847; - if(i == 848 ) return 848; - if(i == 849 ) return 849; - if(i == 850 ) return 850; - if(i == 851 ) return 851; - if(i == 852 ) return 852; - if(i == 853 ) return 853; - if(i == 854 ) return 854; - if(i == 855 ) return 855; - if(i == 856 ) return 856; - if(i == 857 ) return 857; - if(i == 858 ) return 858; - if(i == 859 ) return 859; - if(i == 860 ) return 860; - if(i == 861 ) return 861; - if(i == 862 ) return 862; - if(i == 863 ) return 863; - if(i == 864 ) return 864; - if(i == 865 ) return 865; - if(i == 866 ) return 866; - if(i == 867 ) return 867; - if(i == 868 ) return 868; - if(i == 869 ) return 869; - if(i == 870 ) return 870; - if(i == 871 ) return 871; - if(i == 872 ) return 872; - if(i == 873 ) return 873; - if(i == 874 ) return 874; - if(i == 875 ) return 875; - if(i == 876 ) return 876; - if(i == 877 ) return 877; - if(i == 878 ) return 878; - if(i == 879 ) return 879; - if(i == 880 ) return 880; - if(i == 881 ) return 881; - if(i == 882 ) return 882; - if(i == 883 ) return 883; - if(i == 884 ) return 884; - if(i == 885 ) return 885; - if(i == 886 ) return 886; - if(i == 887 ) return 887; - if(i == 888 ) return 888; - if(i == 889 ) return 889; - if(i == 890 ) return 890; - if(i == 891 ) return 891; - if(i == 892 ) return 892; - if(i == 893 ) return 893; - if(i == 894 ) return 894; - if(i == 895 ) return 895; - if(i == 896 ) return 896; - if(i == 897 ) return 897; - if(i == 898 ) return 898; - if(i == 899 ) return 899; - if(i == 900 ) return 900; - if(i == 901 ) return 901; - if(i == 902 ) return 902; - if(i == 903 ) return 903; - if(i == 904 ) return 904; - if(i == 905 ) return 905; - if(i == 906 ) return 906; - if(i == 907 ) return 907; - if(i == 908 ) return 908; - if(i == 909 ) return 909; - if(i == 910 ) return 910; - if(i == 911 ) return 911; - if(i == 912 ) return 912; - if(i == 913 ) return 913; - if(i == 914 ) return 914; - if(i == 915 ) return 915; - if(i == 916 ) return 916; - if(i == 917 ) return 917; - if(i == 918 ) return 918; - if(i == 919 ) return 919; - if(i == 920 ) return 920; - if(i == 921 ) return 921; - if(i == 922 ) return 922; - if(i == 923 ) return 923; - if(i == 924 ) return 924; - if(i == 925 ) return 925; - if(i == 926 ) return 926; - if(i == 927 ) return 927; - if(i == 928 ) return 928; - if(i == 929 ) return 929; - if(i == 930 ) return 930; - if(i == 931 ) return 931; - if(i == 932 ) return 932; - if(i == 933 ) return 933; - if(i == 934 ) return 934; - if(i == 935 ) return 935; - if(i == 936 ) return 936; - if(i == 937 ) return 937; - if(i == 938 ) return 938; - if(i == 939 ) return 939; - if(i == 940 ) return 940; - if(i == 941 ) return 941; - if(i == 942 ) return 942; - if(i == 943 ) return 943; - if(i == 944 ) return 944; - if(i == 945 ) return 945; - if(i == 946 ) return 946; - if(i == 947 ) return 947; - if(i == 948 ) return 948; - if(i == 949 ) return 949; - if(i == 950 ) return 950; - if(i == 951 ) return 951; - if(i == 952 ) return 952; - if(i == 953 ) return 953; - if(i == 954 ) return 954; - if(i == 955 ) return 955; - if(i == 956 ) return 956; - if(i == 957 ) return 957; - if(i == 958 ) return 958; - if(i == 959 ) return 959; - if(i == 960 ) return 960; - if(i == 961 ) return 961; - if(i == 962 ) return 962; - if(i == 963 ) return 963; - if(i == 964 ) return 964; - if(i == 965 ) return 965; - if(i == 966 ) return 966; - if(i == 967 ) return 967; - if(i == 968 ) return 968; - if(i == 969 ) return 969; - if(i == 970 ) return 970; - if(i == 971 ) return 971; - if(i == 972 ) return 972; - if(i == 973 ) return 973; - if(i == 974 ) return 974; - if(i == 975 ) return 975; - if(i == 976 ) return 976; - if(i == 977 ) return 977; - if(i == 978 ) return 978; - if(i == 979 ) return 979; - if(i == 980 ) return 980; - if(i == 981 ) return 981; - if(i == 982 ) return 982; - if(i == 983 ) return 983; - if(i == 984 ) return 984; - if(i == 985 ) return 985; - if(i == 986 ) return 986; - if(i == 987 ) return 987; - if(i == 988 ) return 988; - if(i == 989 ) return 989; - if(i == 990 ) return 990; - if(i == 991 ) return 991; - if(i == 992 ) return 992; - if(i == 993 ) return 993; - if(i == 994 ) return 994; - if(i == 995 ) return 995; - if(i == 996 ) return 996; - if(i == 997 ) return 997; - if(i == 998 ) return 998; - if(i == 999 ) return 999; - if(i == 1000 ) return 1000; - if(i == 1001 ) return 1001; - if(i == 1002 ) return 1002; - if(i == 1003 ) return 1003; - if(i == 1004 ) return 1004; - if(i == 1005 ) return 1005; - if(i == 1006 ) return 1006; - if(i == 1007 ) return 1007; - if(i == 1008 ) return 1008; - if(i == 1009 ) return 1009; - if(i == 1010 ) return 1010; - if(i == 1011 ) return 1011; - if(i == 1012 ) return 1012; - if(i == 1013 ) return 1013; - if(i == 1014 ) return 1014; - if(i == 1015 ) return 1015; - if(i == 1016 ) return 1016; - if(i == 1017 ) return 1017; - if(i == 1018 ) return 1018; - if(i == 1019 ) return 1019; - if(i == 1020 ) return 1020; - if(i == 1021 ) return 1021; - if(i == 1022 ) return 1022; - if(i == 1023 ) return 1023; - if(i == 1024 ) return 1024; - if(i == 1025 ) return 1025; - if(i == 1026 ) return 1026; - if(i == 1027 ) return 1027; - if(i == 1028 ) return 1028; - if(i == 1029 ) return 1029; - if(i == 1030 ) return 1030; - if(i == 1031 ) return 1031; - if(i == 1032 ) return 1032; - if(i == 1033 ) return 1033; - if(i == 1034 ) return 1034; - if(i == 1035 ) return 1035; - if(i == 1036 ) return 1036; - if(i == 1037 ) return 1037; - if(i == 1038 ) return 1038; - if(i == 1039 ) return 1039; - if(i == 1040 ) return 1040; - if(i == 1041 ) return 1041; - if(i == 1042 ) return 1042; - if(i == 1043 ) return 1043; - if(i == 1044 ) return 1044; - if(i == 1045 ) return 1045; - if(i == 1046 ) return 1046; - if(i == 1047 ) return 1047; - if(i == 1048 ) return 1048; - if(i == 1049 ) return 1049; - if(i == 1050 ) return 1050; - if(i == 1051 ) return 1051; - if(i == 1052 ) return 1052; - if(i == 1053 ) return 1053; - if(i == 1054 ) return 1054; - if(i == 1055 ) return 1055; - if(i == 1056 ) return 1056; - if(i == 1057 ) return 1057; - if(i == 1058 ) return 1058; - if(i == 1059 ) return 1059; - if(i == 1060 ) return 1060; - if(i == 1061 ) return 1061; - if(i == 1062 ) return 1062; - if(i == 1063 ) return 1063; - if(i == 1064 ) return 1064; - if(i == 1065 ) return 1065; - if(i == 1066 ) return 1066; - if(i == 1067 ) return 1067; - if(i == 1068 ) return 1068; - if(i == 1069 ) return 1069; - if(i == 1070 ) return 1070; - if(i == 1071 ) return 1071; - if(i == 1072 ) return 1072; - if(i == 1073 ) return 1073; - if(i == 1074 ) return 1074; - if(i == 1075 ) return 1075; - if(i == 1076 ) return 1076; - if(i == 1077 ) return 1077; - if(i == 1078 ) return 1078; - if(i == 1079 ) return 1079; - if(i == 1080 ) return 1080; - if(i == 1081 ) return 1081; - if(i == 1082 ) return 1082; - if(i == 1083 ) return 1083; - if(i == 1084 ) return 1084; - if(i == 1085 ) return 1085; - if(i == 1086 ) return 1086; - if(i == 1087 ) return 1087; - if(i == 1088 ) return 1088; - if(i == 1089 ) return 1089; - if(i == 1090 ) return 1090; - if(i == 1091 ) return 1091; - if(i == 1092 ) return 1092; - if(i == 1093 ) return 1093; - if(i == 1094 ) return 1094; - if(i == 1095 ) return 1095; - if(i == 1096 ) return 1096; - if(i == 1097 ) return 1097; - if(i == 1098 ) return 1098; - if(i == 1099 ) return 1099; - if(i == 1100 ) return 1100; - if(i == 1101 ) return 1101; - if(i == 1102 ) return 1102; - if(i == 1103 ) return 1103; - if(i == 1104 ) return 1104; - if(i == 1105 ) return 1105; - if(i == 1106 ) return 1106; - if(i == 1107 ) return 1107; - if(i == 1108 ) return 1108; - if(i == 1109 ) return 1109; - if(i == 1110 ) return 1110; - if(i == 1111 ) return 1111; - if(i == 1112 ) return 1112; - if(i == 1113 ) return 1113; - if(i == 1114 ) return 1114; - if(i == 1115 ) return 1115; - if(i == 1116 ) return 1116; - if(i == 1117 ) return 1117; - if(i == 1118 ) return 1118; - if(i == 1119 ) return 1119; - if(i == 1120 ) return 1120; - if(i == 1121 ) return 1121; - if(i == 1122 ) return 1122; - if(i == 1123 ) return 1123; - if(i == 1124 ) return 1124; - if(i == 1125 ) return 1125; - if(i == 1126 ) return 1126; - if(i == 1127 ) return 1127; - if(i == 1128 ) return 1128; - if(i == 1129 ) return 1129; - if(i == 1130 ) return 1130; - if(i == 1131 ) return 1131; - if(i == 1132 ) return 1132; - if(i == 1133 ) return 1133; - if(i == 1134 ) return 1134; - if(i == 1135 ) return 1135; - if(i == 1136 ) return 1136; - if(i == 1137 ) return 1137; - if(i == 1138 ) return 1138; - if(i == 1139 ) return 1139; - if(i == 1140 ) return 1140; - if(i == 1141 ) return 1141; - if(i == 1142 ) return 1142; - if(i == 1143 ) return 1143; - if(i == 1144 ) return 1144; - if(i == 1145 ) return 1145; - if(i == 1146 ) return 1146; - if(i == 1147 ) return 1147; - if(i == 1148 ) return 1148; - if(i == 1149 ) return 1149; - if(i == 1150 ) return 1150; - if(i == 1151 ) return 1151; - if(i == 1152 ) return 1152; - if(i == 1153 ) return 1153; - if(i == 1154 ) return 1154; - if(i == 1155 ) return 1155; - if(i == 1156 ) return 1156; - if(i == 1157 ) return 1157; - if(i == 1158 ) return 1158; - if(i == 1159 ) return 1159; - if(i == 1160 ) return 1160; - if(i == 1161 ) return 1161; - if(i == 1162 ) return 1162; - if(i == 1163 ) return 1163; - if(i == 1164 ) return 1164; - if(i == 1165 ) return 1165; - if(i == 1166 ) return 1166; - if(i == 1167 ) return 1167; - if(i == 1168 ) return 1168; - if(i == 1169 ) return 1169; - if(i == 1170 ) return 1170; - if(i == 1171 ) return 1171; - if(i == 1172 ) return 1172; - if(i == 1173 ) return 1173; - if(i == 1174 ) return 1174; - if(i == 1175 ) return 1175; - if(i == 1176 ) return 1176; - if(i == 1177 ) return 1177; - if(i == 1178 ) return 1178; - if(i == 1179 ) return 1179; - if(i == 1180 ) return 1180; - if(i == 1181 ) return 1181; - if(i == 1182 ) return 1182; - if(i == 1183 ) return 1183; - if(i == 1184 ) return 1184; - if(i == 1185 ) return 1185; - if(i == 1186 ) return 1186; - if(i == 1187 ) return 1187; - if(i == 1188 ) return 1188; - if(i == 1189 ) return 1189; - if(i == 1190 ) return 1190; - if(i == 1191 ) return 1191; - if(i == 1192 ) return 1192; - if(i == 1193 ) return 1193; - if(i == 1194 ) return 1194; - if(i == 1195 ) return 1195; - if(i == 1196 ) return 1196; - if(i == 1197 ) return 1197; - if(i == 1198 ) return 1198; - if(i == 1199 ) return 1199; - if(i == 1200 ) return 1200; - if(i == 1201 ) return 1201; - if(i == 1202 ) return 1202; - if(i == 1203 ) return 1203; - if(i == 1204 ) return 1204; - if(i == 1205 ) return 1205; - if(i == 1206 ) return 1206; - if(i == 1207 ) return 1207; - if(i == 1208 ) return 1208; - if(i == 1209 ) return 1209; - if(i == 1210 ) return 1210; - if(i == 1211 ) return 1211; - if(i == 1212 ) return 1212; - if(i == 1213 ) return 1213; - if(i == 1214 ) return 1214; - if(i == 1215 ) return 1215; - if(i == 1216 ) return 1216; - if(i == 1217 ) return 1217; - if(i == 1218 ) return 1218; - if(i == 1219 ) return 1219; - if(i == 1220 ) return 1220; - if(i == 1221 ) return 1221; - if(i == 1222 ) return 1222; - if(i == 1223 ) return 1223; - if(i == 1224 ) return 1224; - if(i == 1225 ) return 1225; - if(i == 1226 ) return 1226; - if(i == 1227 ) return 1227; - if(i == 1228 ) return 1228; - if(i == 1229 ) return 1229; - if(i == 1230 ) return 1230; - if(i == 1231 ) return 1231; - if(i == 1232 ) return 1232; - if(i == 1233 ) return 1233; - if(i == 1234 ) return 1234; - if(i == 1235 ) return 1235; - if(i == 1236 ) return 1236; - if(i == 1237 ) return 1237; - if(i == 1238 ) return 1238; - if(i == 1239 ) return 1239; - if(i == 1240 ) return 1240; - if(i == 1241 ) return 1241; - if(i == 1242 ) return 1242; - if(i == 1243 ) return 1243; - if(i == 1244 ) return 1244; - if(i == 1245 ) return 1245; - if(i == 1246 ) return 1246; - if(i == 1247 ) return 1247; - if(i == 1248 ) return 1248; - if(i == 1249 ) return 1249; - if(i == 1250 ) return 1250; - if(i == 1251 ) return 1251; - if(i == 1252 ) return 1252; - if(i == 1253 ) return 1253; - if(i == 1254 ) return 1254; - if(i == 1255 ) return 1255; - if(i == 1256 ) return 1256; - if(i == 1257 ) return 1257; - if(i == 1258 ) return 1258; - if(i == 1259 ) return 1259; - if(i == 1260 ) return 1260; - if(i == 1261 ) return 1261; - if(i == 1262 ) return 1262; - if(i == 1263 ) return 1263; - if(i == 1264 ) return 1264; - if(i == 1265 ) return 1265; - if(i == 1266 ) return 1266; - if(i == 1267 ) return 1267; - if(i == 1268 ) return 1268; - if(i == 1269 ) return 1269; - if(i == 1270 ) return 1270; - if(i == 1271 ) return 1271; - if(i == 1272 ) return 1272; - if(i == 1273 ) return 1273; - if(i == 1274 ) return 1274; - if(i == 1275 ) return 1275; - if(i == 1276 ) return 1276; - if(i == 1277 ) return 1277; - if(i == 1278 ) return 1278; - if(i == 1279 ) return 1279; - if(i == 1280 ) return 1280; - if(i == 1281 ) return 1281; - if(i == 1282 ) return 1282; - if(i == 1283 ) return 1283; - if(i == 1284 ) return 1284; - if(i == 1285 ) return 1285; - if(i == 1286 ) return 1286; - if(i == 1287 ) return 1287; - if(i == 1288 ) return 1288; - if(i == 1289 ) return 1289; - if(i == 1290 ) return 1290; - if(i == 1291 ) return 1291; - if(i == 1292 ) return 1292; - if(i == 1293 ) return 1293; - if(i == 1294 ) return 1294; - if(i == 1295 ) return 1295; - if(i == 1296 ) return 1296; - if(i == 1297 ) return 1297; - if(i == 1298 ) return 1298; - if(i == 1299 ) return 1299; - if(i == 1300 ) return 1300; - if(i == 1301 ) return 1301; - if(i == 1302 ) return 1302; - if(i == 1303 ) return 1303; - if(i == 1304 ) return 1304; - if(i == 1305 ) return 1305; - if(i == 1306 ) return 1306; - if(i == 1307 ) return 1307; - if(i == 1308 ) return 1308; - if(i == 1309 ) return 1309; - if(i == 1310 ) return 1310; - if(i == 1311 ) return 1311; - if(i == 1312 ) return 1312; - if(i == 1313 ) return 1313; - if(i == 1314 ) return 1314; - if(i == 1315 ) return 1315; - if(i == 1316 ) return 1316; - if(i == 1317 ) return 1317; - if(i == 1318 ) return 1318; - if(i == 1319 ) return 1319; - if(i == 1320 ) return 1320; - if(i == 1321 ) return 1321; - if(i == 1322 ) return 1322; - if(i == 1323 ) return 1323; - if(i == 1324 ) return 1324; - if(i == 1325 ) return 1325; - if(i == 1326 ) return 1326; - if(i == 1327 ) return 1327; - if(i == 1328 ) return 1328; - if(i == 1329 ) return 1329; - if(i == 1330 ) return 1330; - if(i == 1331 ) return 1331; - if(i == 1332 ) return 1332; - if(i == 1333 ) return 1333; - if(i == 1334 ) return 1334; - if(i == 1335 ) return 1335; - if(i == 1336 ) return 1336; - if(i == 1337 ) return 1337; - if(i == 1338 ) return 1338; - if(i == 1339 ) return 1339; - if(i == 1340 ) return 1340; - if(i == 1341 ) return 1341; - if(i == 1342 ) return 1342; - if(i == 1343 ) return 1343; - if(i == 1344 ) return 1344; - if(i == 1345 ) return 1345; - if(i == 1346 ) return 1346; - if(i == 1347 ) return 1347; - if(i == 1348 ) return 1348; - if(i == 1349 ) return 1349; - if(i == 1350 ) return 1350; - if(i == 1351 ) return 1351; - if(i == 1352 ) return 1352; - if(i == 1353 ) return 1353; - if(i == 1354 ) return 1354; - if(i == 1355 ) return 1355; - if(i == 1356 ) return 1356; - if(i == 1357 ) return 1357; - if(i == 1358 ) return 1358; - if(i == 1359 ) return 1359; - if(i == 1360 ) return 1360; - if(i == 1361 ) return 1361; - if(i == 1362 ) return 1362; - if(i == 1363 ) return 1363; - if(i == 1364 ) return 1364; - if(i == 1365 ) return 1365; - if(i == 1366 ) return 1366; - if(i == 1367 ) return 1367; - if(i == 1368 ) return 1368; - if(i == 1369 ) return 1369; - if(i == 1370 ) return 1370; - if(i == 1371 ) return 1371; - if(i == 1372 ) return 1372; - if(i == 1373 ) return 1373; - if(i == 1374 ) return 1374; - if(i == 1375 ) return 1375; - if(i == 1376 ) return 1376; - if(i == 1377 ) return 1377; - if(i == 1378 ) return 1378; - if(i == 1379 ) return 1379; - if(i == 1380 ) return 1380; - if(i == 1381 ) return 1381; - if(i == 1382 ) return 1382; - if(i == 1383 ) return 1383; - if(i == 1384 ) return 1384; - if(i == 1385 ) return 1385; - if(i == 1386 ) return 1386; - if(i == 1387 ) return 1387; - if(i == 1388 ) return 1388; - if(i == 1389 ) return 1389; - if(i == 1390 ) return 1390; - if(i == 1391 ) return 1391; - if(i == 1392 ) return 1392; - if(i == 1393 ) return 1393; - if(i == 1394 ) return 1394; - if(i == 1395 ) return 1395; - if(i == 1396 ) return 1396; - if(i == 1397 ) return 1397; - if(i == 1398 ) return 1398; - if(i == 1399 ) return 1399; - if(i == 1400 ) return 1400; - if(i == 1401 ) return 1401; - if(i == 1402 ) return 1402; - if(i == 1403 ) return 1403; - if(i == 1404 ) return 1404; - if(i == 1405 ) return 1405; - if(i == 1406 ) return 1406; - if(i == 1407 ) return 1407; - if(i == 1408 ) return 1408; - if(i == 1409 ) return 1409; - if(i == 1410 ) return 1410; - if(i == 1411 ) return 1411; - if(i == 1412 ) return 1412; - if(i == 1413 ) return 1413; - if(i == 1414 ) return 1414; - if(i == 1415 ) return 1415; - if(i == 1416 ) return 1416; - if(i == 1417 ) return 1417; - if(i == 1418 ) return 1418; - if(i == 1419 ) return 1419; - if(i == 1420 ) return 1420; - if(i == 1421 ) return 1421; - if(i == 1422 ) return 1422; - if(i == 1423 ) return 1423; - if(i == 1424 ) return 1424; - if(i == 1425 ) return 1425; - if(i == 1426 ) return 1426; - if(i == 1427 ) return 1427; - if(i == 1428 ) return 1428; - if(i == 1429 ) return 1429; - if(i == 1430 ) return 1430; - if(i == 1431 ) return 1431; - if(i == 1432 ) return 1432; - if(i == 1433 ) return 1433; - if(i == 1434 ) return 1434; - if(i == 1435 ) return 1435; - if(i == 1436 ) return 1436; - if(i == 1437 ) return 1437; - if(i == 1438 ) return 1438; - if(i == 1439 ) return 1439; - if(i == 1440 ) return 1440; - if(i == 1441 ) return 1441; - if(i == 1442 ) return 1442; - if(i == 1443 ) return 1443; - if(i == 1444 ) return 1444; - if(i == 1445 ) return 1445; - if(i == 1446 ) return 1446; - if(i == 1447 ) return 1447; - if(i == 1448 ) return 1448; - if(i == 1449 ) return 1449; - if(i == 1450 ) return 1450; - if(i == 1451 ) return 1451; - if(i == 1452 ) return 1452; - if(i == 1453 ) return 1453; - if(i == 1454 ) return 1454; - if(i == 1455 ) return 1455; - if(i == 1456 ) return 1456; - if(i == 1457 ) return 1457; - if(i == 1458 ) return 1458; - if(i == 1459 ) return 1459; - if(i == 1460 ) return 1460; - if(i == 1461 ) return 1461; - if(i == 1462 ) return 1462; - if(i == 1463 ) return 1463; - if(i == 1464 ) return 1464; - if(i == 1465 ) return 1465; - if(i == 1466 ) return 1466; - if(i == 1467 ) return 1467; - if(i == 1468 ) return 1468; - if(i == 1469 ) return 1469; - if(i == 1470 ) return 1470; - if(i == 1471 ) return 1471; - if(i == 1472 ) return 1472; - if(i == 1473 ) return 1473; - if(i == 1474 ) return 1474; - if(i == 1475 ) return 1475; - if(i == 1476 ) return 1476; - if(i == 1477 ) return 1477; - if(i == 1478 ) return 1478; - if(i == 1479 ) return 1479; - if(i == 1480 ) return 1480; - if(i == 1481 ) return 1481; - if(i == 1482 ) return 1482; - if(i == 1483 ) return 1483; - if(i == 1484 ) return 1484; - if(i == 1485 ) return 1485; - if(i == 1486 ) return 1486; - if(i == 1487 ) return 1487; - if(i == 1488 ) return 1488; - if(i == 1489 ) return 1489; - if(i == 1490 ) return 1490; - if(i == 1491 ) return 1491; - if(i == 1492 ) return 1492; - if(i == 1493 ) return 1493; - if(i == 1494 ) return 1494; - if(i == 1495 ) return 1495; - if(i == 1496 ) return 1496; - if(i == 1497 ) return 1497; - if(i == 1498 ) return 1498; - if(i == 1499 ) return 1499; - if(i == 1500 ) return 1500; - if(i == 1501 ) return 1501; - if(i == 1502 ) return 1502; - if(i == 1503 ) return 1503; - if(i == 1504 ) return 1504; - if(i == 1505 ) return 1505; - if(i == 1506 ) return 1506; - if(i == 1507 ) return 1507; - if(i == 1508 ) return 1508; - if(i == 1509 ) return 1509; - if(i == 1510 ) return 1510; - if(i == 1511 ) return 1511; - if(i == 1512 ) return 1512; - if(i == 1513 ) return 1513; - if(i == 1514 ) return 1514; - if(i == 1515 ) return 1515; - if(i == 1516 ) return 1516; - if(i == 1517 ) return 1517; - if(i == 1518 ) return 1518; - if(i == 1519 ) return 1519; - if(i == 1520 ) return 1520; - if(i == 1521 ) return 1521; - if(i == 1522 ) return 1522; - if(i == 1523 ) return 1523; - if(i == 1524 ) return 1524; - if(i == 1525 ) return 1525; - if(i == 1526 ) return 1526; - if(i == 1527 ) return 1527; - if(i == 1528 ) return 1528; - if(i == 1529 ) return 1529; - if(i == 1530 ) return 1530; - if(i == 1531 ) return 1531; - if(i == 1532 ) return 1532; - if(i == 1533 ) return 1533; - if(i == 1534 ) return 1534; - if(i == 1535 ) return 1535; - if(i == 1536 ) return 1536; - if(i == 1537 ) return 1537; - if(i == 1538 ) return 1538; - if(i == 1539 ) return 1539; - if(i == 1540 ) return 1540; - if(i == 1541 ) return 1541; - if(i == 1542 ) return 1542; - if(i == 1543 ) return 1543; - if(i == 1544 ) return 1544; - if(i == 1545 ) return 1545; - if(i == 1546 ) return 1546; - if(i == 1547 ) return 1547; - if(i == 1548 ) return 1548; - if(i == 1549 ) return 1549; - if(i == 1550 ) return 1550; - if(i == 1551 ) return 1551; - if(i == 1552 ) return 1552; - if(i == 1553 ) return 1553; - if(i == 1554 ) return 1554; - if(i == 1555 ) return 1555; - if(i == 1556 ) return 1556; - if(i == 1557 ) return 1557; - if(i == 1558 ) return 1558; - if(i == 1559 ) return 1559; - if(i == 1560 ) return 1560; - if(i == 1561 ) return 1561; - if(i == 1562 ) return 1562; - if(i == 1563 ) return 1563; - if(i == 1564 ) return 1564; - if(i == 1565 ) return 1565; - if(i == 1566 ) return 1566; - if(i == 1567 ) return 1567; - if(i == 1568 ) return 1568; - if(i == 1569 ) return 1569; - if(i == 1570 ) return 1570; - if(i == 1571 ) return 1571; - if(i == 1572 ) return 1572; - if(i == 1573 ) return 1573; - if(i == 1574 ) return 1574; - if(i == 1575 ) return 1575; - if(i == 1576 ) return 1576; - if(i == 1577 ) return 1577; - if(i == 1578 ) return 1578; - if(i == 1579 ) return 1579; - if(i == 1580 ) return 1580; - if(i == 1581 ) return 1581; - if(i == 1582 ) return 1582; - if(i == 1583 ) return 1583; - if(i == 1584 ) return 1584; - if(i == 1585 ) return 1585; - if(i == 1586 ) return 1586; - if(i == 1587 ) return 1587; - if(i == 1588 ) return 1588; - if(i == 1589 ) return 1589; - if(i == 1590 ) return 1590; - if(i == 1591 ) return 1591; - if(i == 1592 ) return 1592; - if(i == 1593 ) return 1593; - if(i == 1594 ) return 1594; - if(i == 1595 ) return 1595; - if(i == 1596 ) return 1596; - if(i == 1597 ) return 1597; - if(i == 1598 ) return 1598; - if(i == 1599 ) return 1599; - if(i == 1600 ) return 1600; - if(i == 1601 ) return 1601; - if(i == 1602 ) return 1602; - if(i == 1603 ) return 1603; - if(i == 1604 ) return 1604; - if(i == 1605 ) return 1605; - if(i == 1606 ) return 1606; - if(i == 1607 ) return 1607; - if(i == 1608 ) return 1608; - if(i == 1609 ) return 1609; - if(i == 1610 ) return 1610; - if(i == 1611 ) return 1611; - if(i == 1612 ) return 1612; - if(i == 1613 ) return 1613; - if(i == 1614 ) return 1614; - if(i == 1615 ) return 1615; - if(i == 1616 ) return 1616; - if(i == 1617 ) return 1617; - if(i == 1618 ) return 1618; - if(i == 1619 ) return 1619; - if(i == 1620 ) return 1620; - if(i == 1621 ) return 1621; - if(i == 1622 ) return 1622; - if(i == 1623 ) return 1623; - if(i == 1624 ) return 1624; - if(i == 1625 ) return 1625; - if(i == 1626 ) return 1626; - if(i == 1627 ) return 1627; - if(i == 1628 ) return 1628; - if(i == 1629 ) return 1629; - if(i == 1630 ) return 1630; - if(i == 1631 ) return 1631; - if(i == 1632 ) return 1632; - if(i == 1633 ) return 1633; - if(i == 1634 ) return 1634; - if(i == 1635 ) return 1635; - if(i == 1636 ) return 1636; - if(i == 1637 ) return 1637; - if(i == 1638 ) return 1638; - if(i == 1639 ) return 1639; - if(i == 1640 ) return 1640; - if(i == 1641 ) return 1641; - if(i == 1642 ) return 1642; - if(i == 1643 ) return 1643; - if(i == 1644 ) return 1644; - if(i == 1645 ) return 1645; - if(i == 1646 ) return 1646; - if(i == 1647 ) return 1647; - if(i == 1648 ) return 1648; - if(i == 1649 ) return 1649; - if(i == 1650 ) return 1650; - if(i == 1651 ) return 1651; - if(i == 1652 ) return 1652; - if(i == 1653 ) return 1653; - if(i == 1654 ) return 1654; - if(i == 1655 ) return 1655; - if(i == 1656 ) return 1656; - if(i == 1657 ) return 1657; - if(i == 1658 ) return 1658; - if(i == 1659 ) return 1659; - if(i == 1660 ) return 1660; - if(i == 1661 ) return 1661; - if(i == 1662 ) return 1662; - if(i == 1663 ) return 1663; - if(i == 1664 ) return 1664; - if(i == 1665 ) return 1665; - if(i == 1666 ) return 1666; - if(i == 1667 ) return 1667; - if(i == 1668 ) return 1668; - if(i == 1669 ) return 1669; - if(i == 1670 ) return 1670; - if(i == 1671 ) return 1671; - if(i == 1672 ) return 1672; - if(i == 1673 ) return 1673; - if(i == 1674 ) return 1674; - if(i == 1675 ) return 1675; - if(i == 1676 ) return 1676; - if(i == 1677 ) return 1677; - if(i == 1678 ) return 1678; - if(i == 1679 ) return 1679; - if(i == 1680 ) return 1680; - if(i == 1681 ) return 1681; - if(i == 1682 ) return 1682; - if(i == 1683 ) return 1683; - if(i == 1684 ) return 1684; - if(i == 1685 ) return 1685; - if(i == 1686 ) return 1686; - if(i == 1687 ) return 1687; - if(i == 1688 ) return 1688; - if(i == 1689 ) return 1689; - if(i == 1690 ) return 1690; - if(i == 1691 ) return 1691; - if(i == 1692 ) return 1692; - if(i == 1693 ) return 1693; - if(i == 1694 ) return 1694; - if(i == 1695 ) return 1695; - if(i == 1696 ) return 1696; - if(i == 1697 ) return 1697; - if(i == 1698 ) return 1698; - if(i == 1699 ) return 1699; - if(i == 1700 ) return 1700; - if(i == 1701 ) return 1701; - if(i == 1702 ) return 1702; - if(i == 1703 ) return 1703; - if(i == 1704 ) return 1704; - if(i == 1705 ) return 1705; - if(i == 1706 ) return 1706; - if(i == 1707 ) return 1707; - if(i == 1708 ) return 1708; - if(i == 1709 ) return 1709; - if(i == 1710 ) return 1710; - if(i == 1711 ) return 1711; - if(i == 1712 ) return 1712; - if(i == 1713 ) return 1713; - if(i == 1714 ) return 1714; - if(i == 1715 ) return 1715; - if(i == 1716 ) return 1716; - if(i == 1717 ) return 1717; - if(i == 1718 ) return 1718; - if(i == 1719 ) return 1719; - if(i == 1720 ) return 1720; - if(i == 1721 ) return 1721; - if(i == 1722 ) return 1722; - if(i == 1723 ) return 1723; - if(i == 1724 ) return 1724; - if(i == 1725 ) return 1725; - if(i == 1726 ) return 1726; - if(i == 1727 ) return 1727; - if(i == 1728 ) return 1728; - if(i == 1729 ) return 1729; - if(i == 1730 ) return 1730; - if(i == 1731 ) return 1731; - if(i == 1732 ) return 1732; - if(i == 1733 ) return 1733; - if(i == 1734 ) return 1734; - if(i == 1735 ) return 1735; - if(i == 1736 ) return 1736; - if(i == 1737 ) return 1737; - if(i == 1738 ) return 1738; - if(i == 1739 ) return 1739; - if(i == 1740 ) return 1740; - if(i == 1741 ) return 1741; - if(i == 1742 ) return 1742; - if(i == 1743 ) return 1743; - if(i == 1744 ) return 1744; - if(i == 1745 ) return 1745; - if(i == 1746 ) return 1746; - if(i == 1747 ) return 1747; - if(i == 1748 ) return 1748; - if(i == 1749 ) return 1749; - if(i == 1750 ) return 1750; - if(i == 1751 ) return 1751; - if(i == 1752 ) return 1752; - if(i == 1753 ) return 1753; - if(i == 1754 ) return 1754; - if(i == 1755 ) return 1755; - if(i == 1756 ) return 1756; - if(i == 1757 ) return 1757; - if(i == 1758 ) return 1758; - if(i == 1759 ) return 1759; - if(i == 1760 ) return 1760; - if(i == 1761 ) return 1761; - if(i == 1762 ) return 1762; - if(i == 1763 ) return 1763; - if(i == 1764 ) return 1764; - if(i == 1765 ) return 1765; - if(i == 1766 ) return 1766; - if(i == 1767 ) return 1767; - if(i == 1768 ) return 1768; - if(i == 1769 ) return 1769; - if(i == 1770 ) return 1770; - if(i == 1771 ) return 1771; - if(i == 1772 ) return 1772; - if(i == 1773 ) return 1773; - if(i == 1774 ) return 1774; - if(i == 1775 ) return 1775; - if(i == 1776 ) return 1776; - if(i == 1777 ) return 1777; - if(i == 1778 ) return 1778; - if(i == 1779 ) return 1779; - if(i == 1780 ) return 1780; - if(i == 1781 ) return 1781; - if(i == 1782 ) return 1782; - if(i == 1783 ) return 1783; - if(i == 1784 ) return 1784; - if(i == 1785 ) return 1785; - if(i == 1786 ) return 1786; - if(i == 1787 ) return 1787; - if(i == 1788 ) return 1788; - if(i == 1789 ) return 1789; - if(i == 1790 ) return 1790; - if(i == 1791 ) return 1791; - if(i == 1792 ) return 1792; - if(i == 1793 ) return 1793; - if(i == 1794 ) return 1794; - if(i == 1795 ) return 1795; - if(i == 1796 ) return 1796; - if(i == 1797 ) return 1797; - if(i == 1798 ) return 1798; - if(i == 1799 ) return 1799; - if(i == 1800 ) return 1800; - if(i == 1801 ) return 1801; - if(i == 1802 ) return 1802; - if(i == 1803 ) return 1803; - if(i == 1804 ) return 1804; - if(i == 1805 ) return 1805; - if(i == 1806 ) return 1806; - if(i == 1807 ) return 1807; - if(i == 1808 ) return 1808; - if(i == 1809 ) return 1809; - if(i == 1810 ) return 1810; - if(i == 1811 ) return 1811; - if(i == 1812 ) return 1812; - if(i == 1813 ) return 1813; - if(i == 1814 ) return 1814; - if(i == 1815 ) return 1815; - if(i == 1816 ) return 1816; - if(i == 1817 ) return 1817; - if(i == 1818 ) return 1818; - if(i == 1819 ) return 1819; - if(i == 1820 ) return 1820; - if(i == 1821 ) return 1821; - if(i == 1822 ) return 1822; - if(i == 1823 ) return 1823; - if(i == 1824 ) return 1824; - if(i == 1825 ) return 1825; - if(i == 1826 ) return 1826; - if(i == 1827 ) return 1827; - if(i == 1828 ) return 1828; - if(i == 1829 ) return 1829; - if(i == 1830 ) return 1830; - if(i == 1831 ) return 1831; - if(i == 1832 ) return 1832; - if(i == 1833 ) return 1833; - if(i == 1834 ) return 1834; - if(i == 1835 ) return 1835; - if(i == 1836 ) return 1836; - if(i == 1837 ) return 1837; - if(i == 1838 ) return 1838; - if(i == 1839 ) return 1839; - if(i == 1840 ) return 1840; - if(i == 1841 ) return 1841; - if(i == 1842 ) return 1842; - if(i == 1843 ) return 1843; - if(i == 1844 ) return 1844; - if(i == 1845 ) return 1845; - if(i == 1846 ) return 1846; - if(i == 1847 ) return 1847; - if(i == 1848 ) return 1848; - if(i == 1849 ) return 1849; - if(i == 1850 ) return 1850; - if(i == 1851 ) return 1851; - if(i == 1852 ) return 1852; - if(i == 1853 ) return 1853; - if(i == 1854 ) return 1854; - if(i == 1855 ) return 1855; - if(i == 1856 ) return 1856; - if(i == 1857 ) return 1857; - if(i == 1858 ) return 1858; - if(i == 1859 ) return 1859; - if(i == 1860 ) return 1860; - if(i == 1861 ) return 1861; - if(i == 1862 ) return 1862; - if(i == 1863 ) return 1863; - if(i == 1864 ) return 1864; - if(i == 1865 ) return 1865; - if(i == 1866 ) return 1866; - if(i == 1867 ) return 1867; - if(i == 1868 ) return 1868; - if(i == 1869 ) return 1869; - if(i == 1870 ) return 1870; - if(i == 1871 ) return 1871; - if(i == 1872 ) return 1872; - if(i == 1873 ) return 1873; - if(i == 1874 ) return 1874; - if(i == 1875 ) return 1875; - if(i == 1876 ) return 1876; - if(i == 1877 ) return 1877; - if(i == 1878 ) return 1878; - if(i == 1879 ) return 1879; - if(i == 1880 ) return 1880; - if(i == 1881 ) return 1881; - if(i == 1882 ) return 1882; - if(i == 1883 ) return 1883; - if(i == 1884 ) return 1884; - if(i == 1885 ) return 1885; - if(i == 1886 ) return 1886; - if(i == 1887 ) return 1887; - if(i == 1888 ) return 1888; - if(i == 1889 ) return 1889; - if(i == 1890 ) return 1890; - if(i == 1891 ) return 1891; - if(i == 1892 ) return 1892; - if(i == 1893 ) return 1893; - if(i == 1894 ) return 1894; - if(i == 1895 ) return 1895; - if(i == 1896 ) return 1896; - if(i == 1897 ) return 1897; - if(i == 1898 ) return 1898; - if(i == 1899 ) return 1899; - if(i == 1900 ) return 1900; - if(i == 1901 ) return 1901; - if(i == 1902 ) return 1902; - if(i == 1903 ) return 1903; - if(i == 1904 ) return 1904; - if(i == 1905 ) return 1905; - if(i == 1906 ) return 1906; - if(i == 1907 ) return 1907; - if(i == 1908 ) return 1908; - if(i == 1909 ) return 1909; - if(i == 1910 ) return 1910; - if(i == 1911 ) return 1911; - if(i == 1912 ) return 1912; - if(i == 1913 ) return 1913; - if(i == 1914 ) return 1914; - if(i == 1915 ) return 1915; - if(i == 1916 ) return 1916; - if(i == 1917 ) return 1917; - if(i == 1918 ) return 1918; - if(i == 1919 ) return 1919; - if(i == 1920 ) return 1920; - if(i == 1921 ) return 1921; - if(i == 1922 ) return 1922; - if(i == 1923 ) return 1923; - if(i == 1924 ) return 1924; - if(i == 1925 ) return 1925; - if(i == 1926 ) return 1926; - if(i == 1927 ) return 1927; - if(i == 1928 ) return 1928; - if(i == 1929 ) return 1929; - if(i == 1930 ) return 1930; - if(i == 1931 ) return 1931; - if(i == 1932 ) return 1932; - if(i == 1933 ) return 1933; - if(i == 1934 ) return 1934; - if(i == 1935 ) return 1935; - if(i == 1936 ) return 1936; - if(i == 1937 ) return 1937; - if(i == 1938 ) return 1938; - if(i == 1939 ) return 1939; - if(i == 1940 ) return 1940; - if(i == 1941 ) return 1941; - if(i == 1942 ) return 1942; - if(i == 1943 ) return 1943; - if(i == 1944 ) return 1944; - if(i == 1945 ) return 1945; - if(i == 1946 ) return 1946; - if(i == 1947 ) return 1947; - if(i == 1948 ) return 1948; - if(i == 1949 ) return 1949; - if(i == 1950 ) return 1950; - if(i == 1951 ) return 1951; - if(i == 1952 ) return 1952; - if(i == 1953 ) return 1953; - if(i == 1954 ) return 1954; - if(i == 1955 ) return 1955; - if(i == 1956 ) return 1956; - if(i == 1957 ) return 1957; - if(i == 1958 ) return 1958; - if(i == 1959 ) return 1959; - if(i == 1960 ) return 1960; - if(i == 1961 ) return 1961; - if(i == 1962 ) return 1962; - if(i == 1963 ) return 1963; - if(i == 1964 ) return 1964; - if(i == 1965 ) return 1965; - if(i == 1966 ) return 1966; - if(i == 1967 ) return 1967; - if(i == 1968 ) return 1968; - if(i == 1969 ) return 1969; - if(i == 1970 ) return 1970; - if(i == 1971 ) return 1971; - if(i == 1972 ) return 1972; - if(i == 1973 ) return 1973; - if(i == 1974 ) return 1974; - if(i == 1975 ) return 1975; - if(i == 1976 ) return 1976; - if(i == 1977 ) return 1977; - if(i == 1978 ) return 1978; - if(i == 1979 ) return 1979; - if(i == 1980 ) return 1980; - if(i == 1981 ) return 1981; - if(i == 1982 ) return 1982; - if(i == 1983 ) return 1983; - if(i == 1984 ) return 1984; - if(i == 1985 ) return 1985; - if(i == 1986 ) return 1986; - if(i == 1987 ) return 1987; - if(i == 1988 ) return 1988; - if(i == 1989 ) return 1989; - if(i == 1990 ) return 1990; - if(i == 1991 ) return 1991; - if(i == 1992 ) return 1992; - if(i == 1993 ) return 1993; - if(i == 1994 ) return 1994; - if(i == 1995 ) return 1995; - if(i == 1996 ) return 1996; - if(i == 1997 ) return 1997; - if(i == 1998 ) return 1998; - if(i == 1999 ) return 1999; - } finally { - int x = 0; - x += 1; - x += 2; - x += 3; - x += 4; - x += 5; - x += 6; - x += 7; - x += 8; - x += 9; - } - return 0; - } -} diff --git a/langtools/test/tools/javac/ClassLit.java b/langtools/test/tools/javac/ClassLit.java index 4e26c9c43eb..9145ae23c6e 100644 --- a/langtools/test/tools/javac/ClassLit.java +++ b/langtools/test/tools/javac/ClassLit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, 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 @@ -26,9 +26,6 @@ * @bug 4884387 * @summary Use ldc instruction for class literals * @author gafter - * - * @compile -source 1.5 -target 1.5 ClassLit.java - * @run main ClassLit */ public class ClassLit { diff --git a/langtools/test/tools/javac/ConditionalArgTypes_2.java b/langtools/test/tools/javac/ConditionalArgTypes_2.java index b0fc6759b01..e5f5b0b7d69 100644 --- a/langtools/test/tools/javac/ConditionalArgTypes_2.java +++ b/langtools/test/tools/javac/ConditionalArgTypes_2.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -27,7 +27,6 @@ * @summary Verify that both branches of a conditional expression must agree in type. * @author maddox * - * @compile/fail -source 1.4 ConditionalArgTypes_2.java * @compile ConditionalArgTypes_2.java */ diff --git a/langtools/test/tools/javac/IncorrectInheritance/IncorrectInheritanceTest.java b/langtools/test/tools/javac/IncorrectInheritance/IncorrectInheritanceTest.java new file mode 100644 index 00000000000..a447d22fe15 --- /dev/null +++ b/langtools/test/tools/javac/IncorrectInheritance/IncorrectInheritanceTest.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8034924 + * @summary Incorrect inheritance of inaccessible static method + * @library /tools/javac/lib + * @build ToolBox + * @run main IncorrectInheritanceTest + */ + +public class IncorrectInheritanceTest { + private static final String ASrc = + "package pkg;\n" + + "\n" + + "public class A {\n" + + " static void foo(Object o) {}\n" + + " private static void bar(Object o) {}\n" + + "}"; + + private static final String BSrc = + "import pkg.A;\n" + + "class B extends A {\n" + + " public void foo(Object o) {}\n" + + " public void bar(Object o) {}\n" + + "}"; + + private static final String CSrc = + "class C extends B {\n" + + " public void m(Object o) {\n" + + " foo(o);\n" + + " bar(o);\n" + + " }\n" + + "}"; + + public static void main(String[] args) throws Exception { + new IncorrectInheritanceTest().test(); + } + + public void test() throws Exception { + ToolBox.JavaToolArgs javacParams = + new ToolBox.JavaToolArgs() + .setSources(ASrc, BSrc, CSrc); + ToolBox.javac(javacParams); + } + +} diff --git a/langtools/test/tools/javac/JsrRet.java b/langtools/test/tools/javac/JsrRet.java index 5158b6ac49e..576f9b3b83a 100644 --- a/langtools/test/tools/javac/JsrRet.java +++ b/langtools/test/tools/javac/JsrRet.java @@ -27,7 +27,7 @@ * @summary StackOverflowError from javac * @author gafter * - * @compile -source 1.5 -target 1.5 JsrRet.java + * @compile JsrRet.java */ package jsr.ret; diff --git a/langtools/test/tools/javac/NoNoClassDefFoundErrorError.java b/langtools/test/tools/javac/NoNoClassDefFoundErrorError.java deleted file mode 100644 index 1ad32d142a2..00000000000 --- a/langtools/test/tools/javac/NoNoClassDefFoundErrorError.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2001, 2004, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 4313429 - * @summary Compiling <Classname>.class on CLDC crashed the compiler. - * - * @compile/fail -source 1.4 -target 1.4 -XDfailcomplete=java.lang.NoClassDefFoundError NoNoClassDefFoundErrorError.java - */ - -class NoNoClassDefFoundErrorError { - public static void main() { - Class self = NoNoClassDefFoundErrorError.class; - } -} diff --git a/langtools/test/tools/javac/T6266772.java b/langtools/test/tools/javac/T6266772.java index 76f2f39fd88..8a5e5133766 100644 --- a/langtools/test/tools/javac/T6266772.java +++ b/langtools/test/tools/javac/T6266772.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -26,9 +26,6 @@ * @bug 6266772 * @summary javac crashes, assertion failure in Lower.java * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 T6266772.java - * @compile T6266772.java - * @run main T6266772 */ public class T6266772 { diff --git a/langtools/test/tools/javac/T6557865.java b/langtools/test/tools/javac/T6557865.java deleted file mode 100644 index 3ac154b52b2..00000000000 --- a/langtools/test/tools/javac/T6557865.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2007, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6557865 - * @summary -source 5 -target 5 should not put ACC_SYNTHETIC on package-info - * @author Wei Tao - * @compile T6557865.java - * @compile -source 5 -target 5 T6232928/package-info.java - * @run main T6557865 - */ - -import java.io.*; -import java.lang.reflect.Modifier; - -public class T6557865 { - public static void main(String... args) throws Exception { - Class pkginfo_cls = Class.forName("T6232928.package-info"); - int mod = pkginfo_cls.getModifiers(); - if ((mod & 0x1000) != 0) { - throw new AssertionError("Test failed: interface package-info shouldn't be synthetic in -target 5."); - } - } -} diff --git a/langtools/test/tools/javac/UplevelFromAnonInSuperCall.java b/langtools/test/tools/javac/UplevelFromAnonInSuperCall.java index c17fd3eb6fd..bd40fc7426d 100644 --- a/langtools/test/tools/javac/UplevelFromAnonInSuperCall.java +++ b/langtools/test/tools/javac/UplevelFromAnonInSuperCall.java @@ -29,7 +29,6 @@ * @author maddox (cribbed from bracha/lillibridge) gafter * * @compile UplevelFromAnonInSuperCall.java - * @compile/fail -source 1.4 UplevelFromAnonInSuperCall.java */ class UplevelFromAnonInSuperCall { diff --git a/langtools/test/tools/javac/annotations/neg/Dep.java b/langtools/test/tools/javac/annotations/neg/Dep.java index 4493366af78..ff83dc761fd 100644 --- a/langtools/test/tools/javac/annotations/neg/Dep.java +++ b/langtools/test/tools/javac/annotations/neg/Dep.java @@ -27,7 +27,6 @@ * @summary Please add annotation <at>Deprecated to supplant the javadoc tag * @author gafter * - * @compile -source 1.4 -Xlint:-options -Xlint:dep-ann -Werror Dep.java * @compile/fail -Xlint:dep-ann -Werror Dep.java * @compile -Xlint:dep-ann Dep.java */ diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java b/langtools/test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java index 22280b44109..6beae3afd8f 100644 --- a/langtools/test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java +++ b/langtools/test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2014, 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,7 +49,7 @@ public class ClassfileTestHelper { File compile(File f) { int rc = com.sun.tools.javac.Main.compile(new String[] { - "-source", "1.8", "-g", f.getPath() }); + "-g", f.getPath() }); if (rc != 0) throw new Error("compilation failed. rc=" + rc); String path = f.getPath(); diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java b/langtools/test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java index ccc3a0db1a5..d33e3d9ebe0 100644 --- a/langtools/test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java +++ b/langtools/test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2014, 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 @@ -146,7 +146,7 @@ public class NoTargetAnnotations { } File compileTestFile(File f) { - int rc = com.sun.tools.javac.Main.compile(new String[] { "-XDTA:writer", "-source", "1.8", "-g", f.getPath() }); + int rc = com.sun.tools.javac.Main.compile(new String[] { "-XDTA:writer", "-g", f.getPath() }); if (rc != 0) throw new Error("compilation failed. rc=" + rc); String path = f.getPath(); diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java b/langtools/test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java index cb1ceafaa53..c1d226a3b78 100644 --- a/langtools/test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java +++ b/langtools/test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java @@ -180,7 +180,6 @@ public class Driver { protected File compileTestFile(File f, String testClass, String... extraParams) { List<String> options = new ArrayList<>(); - options.addAll(Arrays.asList("-source", "1.8")); options.addAll(Arrays.asList(extraParams)); options.add(f.getPath()); int rc = com.sun.tools.javac.Main.compile(options.toArray(new String[options.size()])); diff --git a/langtools/test/tools/javac/api/T6265137.java b/langtools/test/tools/javac/api/T6265137.java index 9eabaf6b605..1b86c565359 100644 --- a/langtools/test/tools/javac/api/T6265137.java +++ b/langtools/test/tools/javac/api/T6265137.java @@ -49,6 +49,6 @@ public class T6265137 { String srcdir = System.getProperty("test.src"); Iterable<? extends JavaFileObject> files = fm.getJavaFileObjectsFromFiles(Arrays.asList(new File(srcdir, "T6265137a.java"))); - javac.getTask(null, fm, dl, Arrays.asList("-target","1.5"), null, files).call(); + javac.getTask(null, fm, dl, Arrays.asList("-target","9"), null, files).call(); } } diff --git a/langtools/test/tools/javac/boxing/NoBoxingBool.java b/langtools/test/tools/javac/boxing/NoBoxingBool.java deleted file mode 100644 index 5fc1d6dfb1d..00000000000 --- a/langtools/test/tools/javac/boxing/NoBoxingBool.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, 2006, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6177400 - * @summary Boxing allowed with -source 1.4 - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 NoBoxingBool.java - */ - -public class NoBoxingBool { - Boolean b = false; -} diff --git a/langtools/test/tools/javac/boxing/NoBoxingByte.java b/langtools/test/tools/javac/boxing/NoBoxingByte.java deleted file mode 100644 index b4bbf41aa64..00000000000 --- a/langtools/test/tools/javac/boxing/NoBoxingByte.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, 2006, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6177400 - * @summary Boxing allowed with -source 1.4 - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 NoBoxingByte.java - */ - -public class NoBoxingByte { - Byte b = 0; -} diff --git a/langtools/test/tools/javac/boxing/NoBoxingChar.java b/langtools/test/tools/javac/boxing/NoBoxingChar.java deleted file mode 100644 index f8b757e4bb5..00000000000 --- a/langtools/test/tools/javac/boxing/NoBoxingChar.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, 2006, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6177400 - * @summary Boxing allowed with -source 1.4 - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 NoBoxingChar.java - */ - -public class NoBoxingChar { - Character c = '\u0000'; -} diff --git a/langtools/test/tools/javac/boxing/NoBoxingDouble.java b/langtools/test/tools/javac/boxing/NoBoxingDouble.java deleted file mode 100644 index faac03163e1..00000000000 --- a/langtools/test/tools/javac/boxing/NoBoxingDouble.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, 2006, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6177400 - * @summary Boxing allowed with -source 1.4 - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 NoBoxingDouble.java - */ - -public class NoBoxingDouble { - Double d = 0D; -} diff --git a/langtools/test/tools/javac/boxing/NoBoxingFloat.java b/langtools/test/tools/javac/boxing/NoBoxingFloat.java deleted file mode 100644 index 8c81b985aa9..00000000000 --- a/langtools/test/tools/javac/boxing/NoBoxingFloat.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, 2006, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6177400 - * @summary Boxing allowed with -source 1.4 - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 NoBoxingFloat.java - */ - -public class NoBoxingFloat { - Float f = 0F; -} diff --git a/langtools/test/tools/javac/boxing/NoBoxingInt.java b/langtools/test/tools/javac/boxing/NoBoxingInt.java deleted file mode 100644 index c66b6e33a11..00000000000 --- a/langtools/test/tools/javac/boxing/NoBoxingInt.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, 2006, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6177400 - * @summary Boxing allowed with -source 1.4 - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 NoBoxingInt.java - */ - -public class NoBoxingInt { - Integer i = 0; -} diff --git a/langtools/test/tools/javac/boxing/NoBoxingLong.java b/langtools/test/tools/javac/boxing/NoBoxingLong.java deleted file mode 100644 index afc51498105..00000000000 --- a/langtools/test/tools/javac/boxing/NoBoxingLong.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, 2006, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6177400 - * @summary Boxing allowed with -source 1.4 - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 NoBoxingLong.java - */ - -public class NoBoxingLong { - Long l = 0L; -} diff --git a/langtools/test/tools/javac/boxing/NoBoxingShort.java b/langtools/test/tools/javac/boxing/NoBoxingShort.java deleted file mode 100644 index 70c50f8defd..00000000000 --- a/langtools/test/tools/javac/boxing/NoBoxingShort.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, 2006, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6177400 - * @summary Boxing allowed with -source 1.4 - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 NoBoxingShort.java - */ - -public class NoBoxingShort { - Short s = 0; -} diff --git a/langtools/test/tools/javac/classfiles/ClassVersionChecker.java b/langtools/test/tools/javac/classfiles/ClassVersionChecker.java index f08d850d035..2fa5a7ed799 100644 --- a/langtools/test/tools/javac/classfiles/ClassVersionChecker.java +++ b/langtools/test/tools/javac/classfiles/ClassVersionChecker.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2014, 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 @@ -37,7 +37,7 @@ import java.util.regex.*; public class ClassVersionChecker { int errors; - String[] jdk = {"","1.2","1.3","1.4","1.5","1.6","1.7","1.8"}; + String[] jdk = {"","1.6","1.7","1.8"}; File javaFile = null; public static void main(String[] args) throws Throwable { @@ -47,7 +47,7 @@ public class ClassVersionChecker { void run() throws Exception { writeTestFile(); /* Rules applicable for -source and -target combinations - * 1. If both empty, version num is for 1.7 + * 1. If both empty, version num is for the current release * 2. If source is not empty and target is empty, version is based on source * 3. If both non-empty, version is based on target */ @@ -57,14 +57,10 @@ public class ClassVersionChecker { * -1 => invalid combinations */ int[][] ver = - {{52, -1, -1, -1, -1, -1, -1, -1}, - {48, 46, 47, 48, 49, 50, 51, 52}, - {48, 46, 47, 48, 49, 50, 51, 52}, - {48, -1, -1, 48, 49, 50, 51, 52}, - {52, -1, -1, -1, 49, 50, 51, 52}, - {52, -1, -1, -1, -1, 50, 51, 52}, - {52, -1, -1, -1, -1, -1, 51, 52}, - {52, -1, -1, -1, -1, -1, -1, 52}}; + {{52, -1, -1, -1}, + {52, 50, 51, 52}, + {52, -1, 51, 52}, + {52, -1, -1, 52}}; // Loop to run all possible combinations of source/target values for (int i = 0; i< ver.length; i++) { diff --git a/langtools/test/tools/javac/classfiles/InnerClasses/SyntheticClasses.java b/langtools/test/tools/javac/classfiles/InnerClasses/SyntheticClasses.java new file mode 100644 index 00000000000..58a8f9aa186 --- /dev/null +++ b/langtools/test/tools/javac/classfiles/InnerClasses/SyntheticClasses.java @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** @test + * @bug 8034854 + * @summary Verify that the InnerClasses attribute has outer_class_info_index zero if it has + * inner_name_index zero (for synthetic classes) + * @compile SyntheticClasses.java + * @run main SyntheticClasses + */ + +import java.io.*; +import java.util.*; +import com.sun.tools.classfile.*; + +public class SyntheticClasses { + + public static void main(String[] args) throws IOException, ConstantPoolException { + new SyntheticClasses().run(); + } + + private void run() throws IOException, ConstantPoolException { + File testClasses = new File(System.getProperty("test.classes")); + for (File classFile : testClasses.listFiles()) { + ClassFile cf = ClassFile.read(classFile); + if (cf.getName().matches(".*\\$[0-9]+")) { + EnclosingMethod_attribute encl = + (EnclosingMethod_attribute) cf.getAttribute(Attribute.EnclosingMethod); + if (encl != null) { + if (encl.method_index != 0) + throw new IllegalStateException("Invalid EnclosingMethod.method_index: " + + encl.method_index + "."); + } + } + InnerClasses_attribute attr = + (InnerClasses_attribute) cf.getAttribute(Attribute.InnerClasses); + if (attr != null) { + for (InnerClasses_attribute.Info info : attr.classes) { + if (cf.major_version < 51) + throw new IllegalStateException(); + if (info.inner_name_index == 0 && info.outer_class_info_index != 0) + throw new IllegalStateException("Invalid outer_class_info_index=" + + info.outer_class_info_index + + "; inner_name_index=" + + info.inner_name_index + "."); + } + } + } + } +} + +class SyntheticConstructorAccessTag { + + private static class A { + private A(){} + } + + public void test() { + new A(); + } +} + +class SyntheticEnumMapping { + private int convert(E e) { + switch (e) { + case A: return 0; + default: return -1; + } + } + enum E { A } +} + +interface SyntheticAssertionsDisabled { + public default void test() { + assert false; + } +} diff --git a/langtools/test/tools/javac/enum/6384542/T6384542.java b/langtools/test/tools/javac/enum/6384542/T6384542.java deleted file mode 100644 index 234ba485864..00000000000 --- a/langtools/test/tools/javac/enum/6384542/T6384542.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @test /nodynamiccopyright/ - * @bug 6384542 - * @summary crash: test/tools/javac/versions/check.sh - * @author Peter von der Ah\u00e9 - * @compile/fail -source 1.4 -Xlint:-options T6384542.java - * @compile/fail/ref=T6384542.out -source 1.4 -Xlint:-options -XDrawDiagnostics T6384542.java - */ - -import static java.lang.Math.sin; - -public enum A { } -class B { - int i = 0xCafe.BabeP1; - List<X> l; - public static void main(String... args) { - for (String arg : args) { - System.out.println(arg); - } - } - @Override - public String toString() { return null; } -} -public klass C { } diff --git a/langtools/test/tools/javac/enum/6384542/T6384542.out b/langtools/test/tools/javac/enum/6384542/T6384542.out deleted file mode 100644 index 98480841e69..00000000000 --- a/langtools/test/tools/javac/enum/6384542/T6384542.out +++ /dev/null @@ -1,9 +0,0 @@ -T6384542.java:10:8: compiler.err.static.import.not.supported.in.source: 1.4 -T6384542.java:12:8: compiler.err.enums.not.supported.in.source: 1.4 -T6384542.java:14:13: compiler.err.unsupported.fp.lit: 1.4 -T6384542.java:15:9: compiler.err.generics.not.supported.in.source: 1.4 -T6384542.java:16:35: compiler.err.varargs.not.supported.in.source: 1.4 -T6384542.java:17:25: compiler.err.foreach.not.supported.in.source: 1.4 -T6384542.java:21:6: compiler.err.annotations.not.supported.in.source: 1.4 -T6384542.java:24:8: compiler.err.expected3: class, interface, enum -8 errors diff --git a/langtools/test/tools/javac/enum/6384542/T6384542a.java b/langtools/test/tools/javac/enum/6384542/T6384542a.java deleted file mode 100644 index f313b73f167..00000000000 --- a/langtools/test/tools/javac/enum/6384542/T6384542a.java +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @test /nodynamiccopyright/ - * @bug 6384542 - * @summary crash: test/tools/javac/versions/check.sh - * @author Peter von der Ah\u00e9 - * @compile/fail -source 5 T6384542a.java - * @compile -source 1.4 T6384542a.java - * @compile/fail/ref=T6384542a_5.out -source 5 -Xlint:-options -XDrawDiagnostics T6384542a.java - * @compile/ref=T6384542a_1_4.out -source 1.4 -Xlint:-options -XDrawDiagnostics T6384542a.java - */ - -public class T6384542a { - T6384542a enum = null; -} diff --git a/langtools/test/tools/javac/enum/6384542/T6384542a_1_4.out b/langtools/test/tools/javac/enum/6384542/T6384542a_1_4.out deleted file mode 100644 index 85671926d23..00000000000 --- a/langtools/test/tools/javac/enum/6384542/T6384542a_1_4.out +++ /dev/null @@ -1,2 +0,0 @@ -T6384542a.java:13:15: compiler.warn.enum.as.identifier -1 warning diff --git a/langtools/test/tools/javac/enum/6384542/T6384542a_5.out b/langtools/test/tools/javac/enum/6384542/T6384542a_5.out deleted file mode 100644 index 0ed7fa6a530..00000000000 --- a/langtools/test/tools/javac/enum/6384542/T6384542a_5.out +++ /dev/null @@ -1,2 +0,0 @@ -T6384542a.java:13:15: compiler.err.enum.as.identifier -1 error diff --git a/langtools/test/tools/javac/enum/EnumAsIdentifier.java b/langtools/test/tools/javac/enum/EnumAsIdentifier.java index 30bc822e49b..65392ba1a95 100644 --- a/langtools/test/tools/javac/enum/EnumAsIdentifier.java +++ b/langtools/test/tools/javac/enum/EnumAsIdentifier.java @@ -3,8 +3,6 @@ * @bug 8025537 * @author sogoel * @summary enum keyword used as an identifier - * @compile/ref=EnumAsIdentifier4.out -XDrawDiagnostics -source 1.4 EnumAsIdentifier.java - * @compile/fail/ref=EnumAsIdentifier5.out -XDrawDiagnostics -source 1.5 EnumAsIdentifier.java * @compile/fail/ref=EnumAsIdentifier.out -XDrawDiagnostics EnumAsIdentifier.java */ diff --git a/langtools/test/tools/javac/enum/EnumAsIdentifier.out b/langtools/test/tools/javac/enum/EnumAsIdentifier.out index eeb9e842600..35051fd092c 100644 --- a/langtools/test/tools/javac/enum/EnumAsIdentifier.out +++ b/langtools/test/tools/javac/enum/EnumAsIdentifier.out @@ -1,2 +1,2 @@ -EnumAsIdentifier.java:13:9: compiler.err.enum.as.identifier +EnumAsIdentifier.java:11:9: compiler.err.enum.as.identifier 1 error diff --git a/langtools/test/tools/javac/enum/EnumAsIdentifier4.out b/langtools/test/tools/javac/enum/EnumAsIdentifier4.out deleted file mode 100644 index 40c72a84629..00000000000 --- a/langtools/test/tools/javac/enum/EnumAsIdentifier4.out +++ /dev/null @@ -1,6 +0,0 @@ -- compiler.warn.source.no.bootclasspath: 1.4 -- compiler.warn.option.obsolete.source: 1.4 -- compiler.warn.option.obsolete.target: 1.4 -- compiler.warn.option.obsolete.suppression -EnumAsIdentifier.java:13:9: compiler.warn.enum.as.identifier -5 warnings diff --git a/langtools/test/tools/javac/enum/EnumAsIdentifier5.out b/langtools/test/tools/javac/enum/EnumAsIdentifier5.out deleted file mode 100644 index dead5c41a2b..00000000000 --- a/langtools/test/tools/javac/enum/EnumAsIdentifier5.out +++ /dev/null @@ -1,6 +0,0 @@ -- compiler.warn.source.no.bootclasspath: 1.5 -- compiler.warn.option.obsolete.source: 1.5 -- compiler.warn.option.obsolete.suppression -EnumAsIdentifier.java:13:9: compiler.err.enum.as.identifier -1 error -3 warnings diff --git a/langtools/test/tools/javac/generics/RefEqual.java b/langtools/test/tools/javac/generics/RefEqual.java index ba696d3a673..c3ff88f76ae 100644 --- a/langtools/test/tools/javac/generics/RefEqual.java +++ b/langtools/test/tools/javac/generics/RefEqual.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, 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 @@ -27,7 +27,6 @@ * @summary casting conversion checks changed for covariant returns * @author gafter * - * @compile -source 1.4 RefEqual.java * @compile/fail RefEqual.java */ diff --git a/langtools/test/tools/javac/generics/T5094318.java b/langtools/test/tools/javac/generics/T5094318.java index 31d8fef2624..a9b3d792b6c 100644 --- a/langtools/test/tools/javac/generics/T5094318.java +++ b/langtools/test/tools/javac/generics/T5094318.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2014, 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 @@ -26,8 +26,6 @@ * @bug 5094318 * @summary REGRESSION: Array cloning is not backwards compatible * - * @compile -source 1.4 T5094318.java - * @run main T5094318 * @compile T5094318.java * @run main/fail T5094318 */ diff --git a/langtools/test/tools/javac/generics/compat/CovariantCompat2.java b/langtools/test/tools/javac/generics/compat/CovariantCompat2.java deleted file mode 100644 index 955fd83474a..00000000000 --- a/langtools/test/tools/javac/generics/compat/CovariantCompat2.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2003, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -class CovariantCompat2 { - static { - CovariantCompat1.B x = new CovariantCompat1.B(); - CovariantCompat1.B o = x.foo(); - } -} diff --git a/langtools/test/tools/javac/generics/compat/VisibleBridge.java b/langtools/test/tools/javac/generics/compat/VisibleBridge.java deleted file mode 100644 index 334eb251529..00000000000 --- a/langtools/test/tools/javac/generics/compat/VisibleBridge.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2003, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 4830291 - * @summary javac makes String non-backward compatible - * @author gafter - * - * @compile -source 1.4 VisibleBridge.java - */ - -// Ensure that bridge methods are visible for maximum -// backward compatibility. - -class VisibleBridge { - static { - Object o = "b"; - if ("a".compareTo(o) > 0) {} - } -} diff --git a/langtools/test/tools/javac/limits/FinallyNesting.java b/langtools/test/tools/javac/limits/FinallyNesting.java deleted file mode 100644 index baabd698fa5..00000000000 --- a/langtools/test/tools/javac/limits/FinallyNesting.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2002, 2004, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 4739388 - * @summary regression: javac generates too much bytecode for deply nested try-finally - * @author gafter - * - * @compile -source 1.4 -target 1.4 FinallyNesting.java - */ -// Source and target 1.4 are needed for the test to pass with default memory sizes. -class FinallyNesting { - public static void main(String[] args) { - int x; - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - try { x = 1; } finally { - x = 2; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } -} diff --git a/langtools/test/tools/javac/linenumbers/ConditionalLineNumberTest.java b/langtools/test/tools/javac/linenumbers/ConditionalLineNumberTest.java new file mode 100644 index 00000000000..a1af968e806 --- /dev/null +++ b/langtools/test/tools/javac/linenumbers/ConditionalLineNumberTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8034091 + * @summary Add LineNumberTable attributes for conditional operator (?:) split across several lines. + */ + +import com.sun.tools.classfile.ClassFile; +import com.sun.tools.classfile.ConstantPoolException; +import com.sun.tools.classfile.Method; +import com.sun.tools.classfile.Attribute; +import com.sun.tools.classfile.Code_attribute; +import com.sun.tools.classfile.LineNumberTable_attribute; +import com.sun.tools.classfile.LineNumberTable_attribute.Entry; + +import java.io.File; +import java.io.IOException; + +public class ConditionalLineNumberTest { + public static void main(String[] args) throws Exception { + // check that we have 5 consecutive entries for method() + Entry[] lines = findEntries(); + if (lines == null || lines.length != 5) + throw new Exception("conditional line number table incorrect"); + + int current = lines[0].line_number; + for (Entry e : lines) { + if (e.line_number != current) + throw new Exception("conditional line number table incorrect"); + current++; + } + } + + static Entry[] findEntries() throws IOException, ConstantPoolException { + ClassFile self = ClassFile.read(ConditionalLineNumberTest.class.getResourceAsStream("ConditionalLineNumberTest.class")); + for (Method m : self.methods) { + if ("method".equals(m.getName(self.constant_pool))) { + Code_attribute code_attribute = (Code_attribute)m.attributes.get(Attribute.Code); + for (Attribute at : code_attribute.attributes) { + if (Attribute.LineNumberTable.equals(at.getName(self.constant_pool))) { + return ((LineNumberTable_attribute)at).line_number_table; + } + } + } + } + return null; + } + + // This method should get one LineNumberTable entry per line + // in the method body. + public static String method(int field) { + String s = field % 2 == 0 ? + (field == 0 ? "false" + : "true" + field) : //Breakpoint + "false" + field; //Breakpoint + return s; + } +} diff --git a/langtools/test/tools/javac/meth/InvokeMH.java b/langtools/test/tools/javac/meth/InvokeMH.java index 4d72b71c992..d96532825c8 100644 --- a/langtools/test/tools/javac/meth/InvokeMH.java +++ b/langtools/test/tools/javac/meth/InvokeMH.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2014, 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 @@ -27,7 +27,7 @@ * @summary Generate call sites for method handle * @author jrose * - * @compile -source 7 -target 7 -XDallowTransitionalJSR292=no InvokeMH.java + * @compile InvokeMH.java */ /* diff --git a/langtools/test/tools/javac/miranda/T4711325.java b/langtools/test/tools/javac/miranda/T4711325.java index 4989debc58a..8889989563c 100644 --- a/langtools/test/tools/javac/miranda/T4711325.java +++ b/langtools/test/tools/javac/miranda/T4711325.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2014, 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,7 +28,6 @@ * @author gafter * * @compile T4711325.java - * @compile/fail -source 1.4 T4711325.java */ interface A { diff --git a/langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTest.java b/langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTest.java new file mode 100644 index 00000000000..d71df0664ea --- /dev/null +++ b/langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTest.java @@ -0,0 +1,15 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8036007 + * @summary javac crashes when encountering an unresolvable interface + * @build MissingInterfaceTestDep + * @clean Closeable + * @compile/fail/ref=MissingInterfaceTest.out -XDrawDiagnostics MissingInterfaceTest.java + */ + +public class MissingInterfaceTest { + void test(MissingInterfaceTestDep s) { + s.call(); + s.another(); + } +} diff --git a/langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTest.out b/langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTest.out new file mode 100644 index 00000000000..0956ba6fb05 --- /dev/null +++ b/langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTest.out @@ -0,0 +1,3 @@ +MissingInterfaceTest.java:12:10: compiler.err.cant.access: Closeable, (compiler.misc.class.file.not.found: Closeable) +MissingInterfaceTest.java:13:10: compiler.err.cant.resolve.location.args: kindname.method, another, , , (compiler.misc.location.1: kindname.variable, s, MissingInterfaceTestDep) +2 errors diff --git a/langtools/test/tools/javac/generics/compat/OverrideBridge2.java b/langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTestDep.java similarity index 83% rename from langtools/test/tools/javac/generics/compat/OverrideBridge2.java rename to langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTestDep.java index 57edb5348a7..b8379d9fbe1 100644 --- a/langtools/test/tools/javac/generics/compat/OverrideBridge2.java +++ b/langtools/test/tools/javac/missingSuperRecovery/MissingInterfaceTestDep.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -21,8 +21,6 @@ * questions. */ -class OverrideBridge2 { - static class B extends OverrideBridge1.B { - public void foo(Object o) { } - } -} +public class MissingInterfaceTestDep implements Intermediate {} +interface Intermediate extends Closeable { } +interface Closeable {} diff --git a/langtools/test/tools/javac/parser/T4910483.java b/langtools/test/tools/javac/parser/T4910483.java index 7d80e0ade5d..b29115518a9 100644 --- a/langtools/test/tools/javac/parser/T4910483.java +++ b/langtools/test/tools/javac/parser/T4910483.java @@ -21,10 +21,10 @@ * questions. */ -/** +/* * @test * @bug 4910483 - * @summary javac shouldn't throw NPE while compiling invalid RuntimeInvisibleParameterAnnotations + * @summary Javadoc renders the string ".*\\.pdf" as ".\*\.pdf" * @run main T4910483 */ diff --git a/langtools/test/tools/javac/proprietary/WarnClass.java b/langtools/test/tools/javac/proprietary/WarnClass.java index a3333c54104..ceeea45649e 100644 --- a/langtools/test/tools/javac/proprietary/WarnClass.java +++ b/langtools/test/tools/javac/proprietary/WarnClass.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2014, 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,7 +28,6 @@ * @author Peter von der Ah\u00e9 * @compile WarnClass.java * @compile/fail -Werror WarnClass.java - * @compile/fail -Werror -source 1.4 -nowarn WarnClass.java * @compile/fail -Werror -nowarn WarnClass.java * @compile/fail -Werror -Xlint:none WarnClass.java */ diff --git a/langtools/test/tools/javac/proprietary/WarnImport.java b/langtools/test/tools/javac/proprietary/WarnImport.java index 7d5d66a3906..7a0c25960eb 100644 --- a/langtools/test/tools/javac/proprietary/WarnImport.java +++ b/langtools/test/tools/javac/proprietary/WarnImport.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2014, 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,7 +28,6 @@ * @author Peter von der Ah\u00e9 * @compile WarnImport.java * @compile/fail -Werror WarnImport.java - * @compile/fail -Werror -source 1.4 -nowarn WarnImport.java * @compile/fail -Werror -nowarn WarnImport.java * @compile/fail -Werror -Xlint:none WarnImport.java */ diff --git a/langtools/test/tools/javac/proprietary/WarnMethod.java b/langtools/test/tools/javac/proprietary/WarnMethod.java index 76218abf3d6..4e06100676e 100644 --- a/langtools/test/tools/javac/proprietary/WarnMethod.java +++ b/langtools/test/tools/javac/proprietary/WarnMethod.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2014, 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,7 +28,6 @@ * @author Peter von der Ah\u00e9 * @compile WarnMethod.java * @compile/fail -Werror WarnMethod.java - * @compile/fail -Werror -source 1.4 -nowarn WarnMethod.java * @compile/fail -Werror -nowarn WarnMethod.java * @compile/fail -Werror -Xlint:none WarnMethod.java */ diff --git a/langtools/test/tools/javac/proprietary/WarnStaticImport.java b/langtools/test/tools/javac/proprietary/WarnStaticImport.java index a5ff4442bd4..43ce3afd8fc 100644 --- a/langtools/test/tools/javac/proprietary/WarnStaticImport.java +++ b/langtools/test/tools/javac/proprietary/WarnStaticImport.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2014, 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,7 +28,6 @@ * @author Peter von der Ah\u00e9 * @compile WarnStaticImport.java * @compile/fail -Werror WarnStaticImport.java - * @compile/fail -Werror -source 1.4 -nowarn WarnStaticImport.java * @compile/fail -Werror -nowarn WarnStaticImport.java * @compile/fail -Werror -Xlint:none WarnStaticImport.java */ diff --git a/langtools/test/tools/javac/proprietary/WarnVariable.java b/langtools/test/tools/javac/proprietary/WarnVariable.java index 0061b1c766f..8dda29aee39 100644 --- a/langtools/test/tools/javac/proprietary/WarnVariable.java +++ b/langtools/test/tools/javac/proprietary/WarnVariable.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2014, 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,7 +28,6 @@ * @author Peter von der Ah\u00e9 * @compile WarnVariable.java * @compile/fail -Werror WarnVariable.java - * @compile/fail -Werror -source 1.4 -nowarn WarnVariable.java * @compile/fail -Werror -nowarn WarnVariable.java * @compile/fail -Werror -Xlint:none WarnVariable.java */ diff --git a/langtools/test/tools/javac/proprietary/WarnWildcard.java b/langtools/test/tools/javac/proprietary/WarnWildcard.java index 509815eb5c5..1fee47632a2 100644 --- a/langtools/test/tools/javac/proprietary/WarnWildcard.java +++ b/langtools/test/tools/javac/proprietary/WarnWildcard.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2014, 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,7 +28,6 @@ * @author Peter von der Ah\u00e9 * @compile WarnWildcard.java * @compile/fail -Werror WarnWildcard.java - * @compile/fail -Werror -source 1.4 -nowarn WarnWildcard.java * @compile/fail -Werror -nowarn WarnWildcard.java * @compile/fail -Werror -Xlint:none WarnWildcard.java */ diff --git a/langtools/test/tools/javac/types/CastObjectToPrimitiveTest.java b/langtools/test/tools/javac/types/CastObjectToPrimitiveTest.java index f8e61e1afb4..ae6c15790c4 100644 --- a/langtools/test/tools/javac/types/CastObjectToPrimitiveTest.java +++ b/langtools/test/tools/javac/types/CastObjectToPrimitiveTest.java @@ -25,7 +25,6 @@ * @test * @bug 7038363 * @summary cast from object to primitive should be for source >= 1.7 - * @compile/fail/ref=CastObjectToPrimitiveTest.out -XDrawDiagnostics -Xlint:-options -source 5 CastObjectToPrimitiveTest.java * @compile/fail/ref=CastObjectToPrimitiveTest.out -XDrawDiagnostics -Xlint:-options -source 6 CastObjectToPrimitiveTest.java * @compile CastObjectToPrimitiveTest.java */ diff --git a/langtools/test/tools/javac/types/CastObjectToPrimitiveTest.out b/langtools/test/tools/javac/types/CastObjectToPrimitiveTest.out index f57047f99d9..80f12654b24 100644 --- a/langtools/test/tools/javac/types/CastObjectToPrimitiveTest.out +++ b/langtools/test/tools/javac/types/CastObjectToPrimitiveTest.out @@ -1,2 +1,2 @@ -CastObjectToPrimitiveTest.java:36:23: compiler.err.prob.found.req: (compiler.misc.inconvertible.types: java.lang.Object, int) +CastObjectToPrimitiveTest.java:35:23: compiler.err.prob.found.req: (compiler.misc.inconvertible.types: java.lang.Object, int) 1 error diff --git a/make/common/JavaCompilation.gmk b/make/common/JavaCompilation.gmk index c2dd54b2be5..5b3f23741dd 100644 --- a/make/common/JavaCompilation.gmk +++ b/make/common/JavaCompilation.gmk @@ -143,6 +143,9 @@ define SetupArchive ifneq (,$2) $1_DEPS:=$2 else + # Add all source roots to the find cache since we are likely going to run find + # on these more than once. The cache will only be updated if necessary. + $$(eval $$(call FillCacheFind, $$($1_FIND_LIST))) $1_DEPS:=$$(filter $$(addprefix %,$$($1_SUFFIXES)), \ $$(call CacheFind,$$($1_SRCS))) ifneq (,$$($1_GREP_INCLUDE_PATTERNS)) @@ -158,6 +161,10 @@ define SetupArchive $1_DEPS+=$$(call CacheFind,$$(wildcard $$(addsuffix /META-INF,$$($1_SRCS)))) endif endif + # The dependency list should never be empty + ifeq ($$(strip $$($1_DEPS)), ) + $$(warning No dependencies found for $1) + endif # Utility macros, to make the shell script receipt somewhat easier to decipher. @@ -336,7 +343,20 @@ endef # Previously this was inconsistently done in different repositories. # This is the new clean standard. Though it is to be superseded by # a standard annotation processor from with sjavac. -define add_file_to_copy_and_clean +# +# The sed expression does this: +# 1. Add a backslash before any :, = or ! that do not have a backslash already. +# 2. Apply the file unicode2x.sed which does a whole bunch of \u00XX to \xXX +# conversions. +# 3. Delete all lines starting with #. +# 4. Delete empty lines. +# 5. Append lines ending with \ with the next line. +# 6. Remove leading and trailing white space. +# 7. Replace the first \= with just =. +# 8. Finally it's all sorted to create a stable output. +# +# It is assumed that = is the character used for separating names and values. +define add_file_to_clean # param 1 = BUILD_MYPACKAGE # parma 2 = The source file to copy and clean. $2_TARGET:=$2 @@ -345,12 +365,13 @@ define add_file_to_copy_and_clean # Now we can setup the depency that will trigger the copying. $$($1_BIN)$$($2_TARGET) : $2 $(MKDIR) -p $$(@D) - $(CAT) $$< | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \ + $(CAT) $$< | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' \ + -e 's/\([^\\]\)!/\1\\!/g' -e 's/#.*/#/g' \ | $(SED) -f "$(SRC_ROOT)/make/common/support/unicode2x.sed" \ | $(SED) -e '/^#/d' -e '/^$$$$/d' \ -e :a -e '/\\$$$$/N; s/\\\n//; ta' \ -e 's/^[ \t]*//;s/[ \t]*$$$$//' \ - -e 's/\\=/=/' | LANG=C $(SORT) > $$@ + -e 's/\\=/=/' | LC_ALL=C $(SORT) > $$@ $(CHMOD) -f ug+w $$@ # And do not forget this target @@ -376,8 +397,9 @@ define SetupJavaCompilation # INCLUDES:=myapp.foo means will only compile java files in myapp.foo or any of its sub-packages. # EXCLUDES:=myapp.foo means will do not compile java files in myapp.foo or any of its sub-packages. # COPY:=.prp means copy all prp files to the corresponding package in BIN. - # CLEAN:=.properties means copy and clean all properties file to the corresponding package in BIN. # COPY_FILES:=myapp/foo/setting.txt means copy this file over to the package myapp/foo + # CLEAN:=.properties means copy and clean all properties file to the corresponding package in BIN. + # CLEAN_FILES:=myapp/foo/setting.txt means clean this file over to the package myapp/foo # SRCZIP:=Create a src.zip based on the found sources and copied files. # INCLUDE_FILES:="com/sun/SolarisFoobar.java" means only compile this file! # EXCLUDE_FILES:="com/sun/SolarisFoobar.java" means do not compile this particular file! @@ -405,6 +427,9 @@ define SetupJavaCompilation # Make sure the dirs exist. $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupJavaCompilation $1 contains missing directory $$d))) $$(eval $$(call MakeDir,$$($1_BIN))) + # Add all source roots to the find cache since we are likely going to run find + # on these more than once. The cache will only be updated if necessary. + $$(eval $$(call FillCacheFind,$$($1_SRC))) # Find all files in the source trees. $1_ALL_SRCS += $$(filter-out $(OVR_SRCS),$$(call CacheFind,$$($1_SRC))) # Extract the java files. @@ -437,7 +462,7 @@ define SetupJavaCompilation endif # Find all files to be copied from source to bin. - ifneq (,$$($1_COPY)) + ifneq (,$$($1_COPY)$$($1_COPY_FILES)) # Search for all files to be copied. $1_ALL_COPIES := $$(filter $$(addprefix %,$$($1_COPY)),$$($1_ALL_SRCS)) # Copy these explicitly @@ -452,20 +477,22 @@ define SetupJavaCompilation ifneq (,$$($1_EXCLUDE_FILES)) $1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES)) endif - # All files below META-INF are always copied. - $1_ALL_COPIES += $$(filter $$(addsuffix /META-INF%,$$($1_SRC)),$$($1_ALL_SRCS)) - ifneq (,$$($1_ALL_COPIES)) - # Yep, there are files to be copied! - $1_ALL_COPY_TARGETS:= - $$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i))) - # Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files! - endif + endif + # All files below META-INF are always copied. + $1_ALL_COPIES += $$(filter $$(addsuffix /META-INF%,$$($1_SRC)),$$($1_ALL_SRCS)) + ifneq (,$$($1_ALL_COPIES)) + # Yep, there are files to be copied! + $1_ALL_COPY_TARGETS:= + $$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i))) + # Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files! endif # Find all property files to be copied and cleaned from source to bin. - ifneq (,$$($1_CLEAN)) + ifneq (,$$($1_CLEAN)$$($1_CLEAN_FILES)) # Search for all files to be copied. $1_ALL_CLEANS := $$(filter $$(addprefix %,$$($1_CLEAN)),$$($1_ALL_SRCS)) + # Clean these explicitly + $1_ALL_CLEANS += $$($1_CLEAN_FILES) # Copy and clean must also respect filters. ifneq (,$$($1_INCLUDES)) $1_ALL_CLEANS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_CLEANS)) @@ -479,7 +506,7 @@ define SetupJavaCompilation ifneq (,$$($1_ALL_CLEANS)) # Yep, there are files to be copied and cleaned! $1_ALL_COPY_CLEAN_TARGETS:= - $$(foreach i,$$($1_ALL_CLEANS),$$(eval $$(call add_file_to_copy_and_clean,$1,$$i))) + $$(foreach i,$$($1_ALL_CLEANS),$$(eval $$(call add_file_to_clean,$1,$$i))) # Now we can depend on $$($1_ALL_COPY_CLEAN_TARGETS) to copy all files! endif endif diff --git a/make/common/MakeBase.gmk b/make/common/MakeBase.gmk index 2b276c6f1fb..ca183ad3b86 100644 --- a/make/common/MakeBase.gmk +++ b/make/common/MakeBase.gmk @@ -380,11 +380,23 @@ ifeq ($(OPENJDK_TARGET_OS),solaris) # On Solaris, if the target is a symlink and exists, cp won't overwrite. # Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the # name of the target file differs from the source file, rename after copy. + # If the source and target parent directories are the same, recursive copy doesn't work + # so we fall back on regular copy, which isn't preserving symlinks. define install-file $(MKDIR) -p $(@D) $(RM) '$@' - $(CP) -f -r -P '$<' '$(@D)' - if [ "$(@F)" != "$(<F)" ]; then $(MV) '$(@D)/$(<F)' '$@'; fi + if [ "$(@D)" != "$(<D)" ]; then \ + $(CP) -f -r -P '$<' '$(@D)'; \ + if [ "$(@F)" != "$(<F)" ]; then \ + $(MV) '$(@D)/$(<F)' '$@'; \ + fi; \ + else \ + if [ -L '$<' ]; then \ + $(ECHO) "Source file is a symlink and target is in the same directory: $< $@" ; \ + exit 1; \ + fi; \ + $(CP) -f '$<' '$@'; \ + fi endef else ifeq ($(OPENJDK_TARGET_OS),macosx) # On mac, extended attributes sometimes creep into the source files, which may later @@ -408,6 +420,7 @@ endif containing = $(foreach v,$2,$(if $(findstring $1,$v),$v)) not-containing = $(foreach v,$2,$(if $(findstring $1,$v),,$v)) +ifneq ($(DISABLE_CACHE_FIND), true) ################################################################################ # In Cygwin, finds are very costly, both because of expensive forks and because # of bad file system caching. Find is used extensively in $(shell) commands to @@ -421,16 +434,23 @@ not-containing = $(foreach v,$2,$(if $(findstring $1,$v),,$v)) # # Needs to be called with $(eval ) # + # Even if the performance benifit is negligible on other platforms, keep the + # functionality active unless explicitly disabled to exercise it more. + # + # Initialize FIND_CACHE_DIRS with := to make it a non recursively-expanded variable + FIND_CACHE_DIRS := # Param 1 - Dir to find in -ifeq ($(OPENJDK_BUILD_OS),windows) define FillCacheFind - FIND_CACHE_DIR += $1 - FIND_CACHE := $$(sort $$(FIND_CACHE) $$(shell $(FIND) $1 -type f -o -type l)) + # Filter out already cached dirs. The - is needed when FIND_CACHE_DIR is empty + # since filter out will then return empty. + FIND_CACHE_NEW_DIRS := $$(filter-out $$(addsuffix /%,\ + - $(FIND_CACHE_DIRS)) $(FIND_CACHE_DIRS), $1) + ifneq ($$(FIND_CACHE_NEW_DIRS), ) + # Remove any trailing slash from dirs in the cache dir list + FIND_CACHE_DIRS += $$(patsubst %/,%, $$(FIND_CACHE_NEW_DIRS)) + FIND_CACHE := $$(sort $$(FIND_CACHE) $$(shell $(FIND) $$(FIND_CACHE_NEW_DIRS) -type f -o -type l)) + endif endef -else - define FillCacheFind - endef -endif # Mimics find by looking in the cache if all of the directories have been cached. # Otherwise reverts to shell find. This is safe to call on all platforms, even if @@ -439,10 +459,16 @@ endif # The extra - is needed when FIND_CACHE_DIR is empty but should be harmless. # Param 1 - Dirs to find in define CacheFind - $(if $(filter-out $(addsuffix %,- $(FIND_CACHE_DIR)),$1), \ + $(if $(filter-out $(addsuffix /%,- $(FIND_CACHE_DIRS)) $(FIND_CACHE_DIRS),$1), \ $(shell $(FIND) $1 -type f -o -type l), \ $(filter $(addsuffix %,$1),$(FIND_CACHE))) endef +else + # If CacheFind is disabled, just run the find command. + define CacheFind + $(shell $(FIND) $1 -type f -o -type l) + endef +endif ################################################################################ diff --git a/nashorn/.hgtags b/nashorn/.hgtags index f2335745fca..70638d2436d 100644 --- a/nashorn/.hgtags +++ b/nashorn/.hgtags @@ -237,3 +237,5 @@ c3343930c73c58a22c1d58719bb988aeb25a871f jdk8-b119 65347535840f045f2cd4341d7466c51009b1b06f jdk9-b01 b3517e51f40477f10db8bc30a557aa0ea712c274 jdk9-b02 832f89ff25d903c45cfc994553f1ade8821a4398 jdk9-b03 +3f6ef92cd7823372c45e79125adba4cbf1c9f7b2 jdk9-b04 +2a1cac93c33317d828d4a5b81239204a9927cc4a jdk9-b05 diff --git a/nashorn/make/BuildNashorn.gmk b/nashorn/make/BuildNashorn.gmk index fc87044245b..a987874c7ea 100644 --- a/nashorn/make/BuildNashorn.gmk +++ b/nashorn/make/BuildNashorn.gmk @@ -77,7 +77,7 @@ $(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run: $(BUILD_NASGEN) $(RM) -rf $(@D)/jdk $(@D)/netscape $(CP) -R -p $(NASHORN_OUTPUTDIR)/nashorn_classes/* $(@D)/ $(FIXPATH) $(JAVA) \ - -cp "$(NASHORN_OUTPUTDIR)/nasgen_classes$(PATH_SEP)$(NASHORN_OUTPUTDIR)/nashorn_classes" \ + -Xbootclasspath/p:"$(NASHORN_OUTPUTDIR)/nasgen_classes$(PATH_SEP)$(NASHORN_OUTPUTDIR)/nashorn_classes" \ jdk.nashorn.internal.tools.nasgen.Main $(@D) jdk.nashorn.internal.objects $(@D) $(TOUCH) $@ diff --git a/nashorn/make/build.xml b/nashorn/make/build.xml index 78a713bfc46..74eae86a588 100644 --- a/nashorn/make/build.xml +++ b/nashorn/make/build.xml @@ -125,6 +125,7 @@ <compilerarg value="-Xlint:unchecked"/> <compilerarg value="-Xlint:deprecation"/> <compilerarg value="-XDignore.symbol.file"/> + <compilerarg value="-Xdiags:verbose"/> </javac> <copy todir="${build.classes.dir}/META-INF/services"> <fileset dir="${meta.inf.dir}/services/"/> @@ -243,6 +244,7 @@ <compilerarg value="-J-Djava.ext.dirs="/> <compilerarg value="-Xlint:unchecked"/> <compilerarg value="-Xlint:deprecation"/> + <compilerarg value="-Xdiags:verbose"/> </javac> <copy todir="${build.test.classes.dir}/META-INF/services"> @@ -253,6 +255,10 @@ <fileset dir="${test.src.dir}/jdk/nashorn/internal/runtime/resources"/> </copy> + <copy todir="${build.test.classes.dir}/jdk/nashorn/api/scripting/resources"> + <fileset dir="${test.src.dir}/jdk/nashorn/api/scripting/resources"/> + </copy> + <!-- tests that check nashorn internals and internal API --> <jar jarfile="${nashorn.internal.tests.jar}"> <fileset dir="${build.test.classes.dir}" excludes="**/api/**"/> diff --git a/nashorn/make/project.properties b/nashorn/make/project.properties index d51e72e4180..5af728794e2 100644 --- a/nashorn/make/project.properties +++ b/nashorn/make/project.properties @@ -206,7 +206,7 @@ test262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests # test262 test frameworks test262-test-sys-prop.test.js.framework=\ - --class-cache-size=0 \ + --class-cache-size=10 \ --no-java \ --no-typed-arrays \ -timezone=PST \ diff --git a/nashorn/src/jdk/nashorn/api/scripting/NashornScriptEngine.java b/nashorn/src/jdk/nashorn/api/scripting/NashornScriptEngine.java index 3c4d29fc025..9c14359ec4e 100644 --- a/nashorn/src/jdk/nashorn/api/scripting/NashornScriptEngine.java +++ b/nashorn/src/jdk/nashorn/api/scripting/NashornScriptEngine.java @@ -57,9 +57,9 @@ import javax.script.ScriptEngine; import javax.script.ScriptEngineFactory; import javax.script.ScriptException; import javax.script.SimpleBindings; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.ErrorManager; -import jdk.nashorn.internal.runtime.GlobalObject; import jdk.nashorn.internal.runtime.Property; import jdk.nashorn.internal.runtime.ScriptFunction; import jdk.nashorn.internal.runtime.ScriptObject; @@ -99,7 +99,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C private final boolean _global_per_engine; // This is the initial default Nashorn global object. // This is used as "shared" global if above option is true. - private final ScriptObject global; + private final Global global; // initialized bit late to be made 'final'. // Property object for "context" property of global object. private volatile Property contextProperty; @@ -264,7 +264,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C public Object __noSuchProperty__(final Object self, final ScriptContext ctxt, final String name) { if (ctxt != null) { final int scope = ctxt.getAttributesScope(name); - final ScriptObject ctxtGlobal = getNashornGlobalFrom(ctxt); + final Global ctxtGlobal = getNashornGlobalFrom(ctxt); if (scope != -1) { return ScriptObjectMirror.unwrap(ctxt.getAttribute(name, scope), ctxtGlobal); } @@ -317,7 +317,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C } ScriptObject realSelf = null; - ScriptObject realGlobal = null; + Global realGlobal = null; if(thiz == null) { // making interface out of global functions realSelf = realGlobal = getNashornGlobalFrom(context); @@ -346,7 +346,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C } try { - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != realGlobal); try { if (globalChanged) { @@ -371,7 +371,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C } // Retrieve nashorn Global object for a given ScriptContext object - private ScriptObject getNashornGlobalFrom(final ScriptContext ctxt) { + private Global getNashornGlobalFrom(final ScriptContext ctxt) { if (_global_per_engine) { // shared single global object for all ENGINE_SCOPE Bindings return global; @@ -380,18 +380,18 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C final Bindings bindings = ctxt.getBindings(ScriptContext.ENGINE_SCOPE); // is this Nashorn's own Bindings implementation? if (bindings instanceof ScriptObjectMirror) { - final ScriptObject sobj = globalFromMirror((ScriptObjectMirror)bindings); - if (sobj != null) { - return sobj; + final Global glob = globalFromMirror((ScriptObjectMirror)bindings); + if (glob != null) { + return glob; } } // Arbitrary user Bindings implementation. Look for NASHORN_GLOBAL in it! Object scope = bindings.get(NASHORN_GLOBAL); if (scope instanceof ScriptObjectMirror) { - final ScriptObject sobj = globalFromMirror((ScriptObjectMirror)scope); - if (sobj != null) { - return sobj; + final Global glob = globalFromMirror((ScriptObjectMirror)scope); + if (glob != null) { + return glob; } } @@ -399,14 +399,14 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C // Create new global instance mirror and associate with the Bindings. final ScriptObjectMirror mirror = createGlobalMirror(ctxt); bindings.put(NASHORN_GLOBAL, mirror); - return mirror.getScriptObject(); + return mirror.getHomeGlobal(); } // Retrieve nashorn Global object from a given ScriptObjectMirror - private ScriptObject globalFromMirror(final ScriptObjectMirror mirror) { + private Global globalFromMirror(final ScriptObjectMirror mirror) { ScriptObject sobj = mirror.getScriptObject(); - if (sobj instanceof GlobalObject && isOfContext(sobj, nashornContext)) { - return sobj; + if (sobj instanceof Global && isOfContext((Global)sobj, nashornContext)) { + return (Global)sobj; } return null; @@ -414,15 +414,15 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C // Create a new ScriptObjectMirror wrapping a newly created Nashorn Global object private ScriptObjectMirror createGlobalMirror(final ScriptContext ctxt) { - final ScriptObject newGlobal = createNashornGlobal(ctxt); + final Global newGlobal = createNashornGlobal(ctxt); return new ScriptObjectMirror(newGlobal, newGlobal); } // Create a new Nashorn Global object - private ScriptObject createNashornGlobal(final ScriptContext ctxt) { - final ScriptObject newGlobal = AccessController.doPrivileged(new PrivilegedAction<ScriptObject>() { + private Global createNashornGlobal(final ScriptContext ctxt) { + final Global newGlobal = AccessController.doPrivileged(new PrivilegedAction<Global>() { @Override - public ScriptObject run() { + public Global run() { try { return nashornContext.newGlobal(); } catch (final RuntimeException e) { @@ -460,7 +460,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C } // scripts should see "context" and "engine" as variables in the given global object - private void setContextVariables(final ScriptObject ctxtGlobal, final ScriptContext ctxt) { + private void setContextVariables(final Global ctxtGlobal, final ScriptContext ctxt) { // set "context" global variable via contextProperty - because this // property is non-writable contextProperty.setObjectValue(ctxtGlobal, ctxtGlobal, ctxt, false); @@ -470,7 +470,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C } // if no arguments passed, expose it if (! (args instanceof ScriptObject)) { - args = ((GlobalObject)ctxtGlobal).wrapAsObject(args); + args = ctxtGlobal.wrapAsObject(args); ctxtGlobal.set("arguments", args, false); } } @@ -478,7 +478,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C private Object invokeImpl(final Object selfObject, final String name, final Object... args) throws ScriptException, NoSuchMethodException { name.getClass(); // null check - ScriptObject invokeGlobal = null; + Global invokeGlobal = null; ScriptObjectMirror selfMirror = null; if (selfObject instanceof ScriptObjectMirror) { selfMirror = (ScriptObjectMirror)selfObject; @@ -489,7 +489,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C } else if (selfObject instanceof ScriptObject) { // invokeMethod called from script code - in which case we may get 'naked' ScriptObject // Wrap it with oldGlobal to make a ScriptObjectMirror for the same. - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); invokeGlobal = oldGlobal; if (oldGlobal == null) { throw new IllegalArgumentException(getMessage("no.current.nashorn.global")); @@ -502,7 +502,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C selfMirror = (ScriptObjectMirror)ScriptObjectMirror.wrap(selfObject, oldGlobal); } else if (selfObject == null) { // selfObject is null => global function call - final ScriptObject ctxtGlobal = getNashornGlobalFrom(context); + final Global ctxtGlobal = getNashornGlobalFrom(context); invokeGlobal = ctxtGlobal; selfMirror = (ScriptObjectMirror)ScriptObjectMirror.wrap(ctxtGlobal, ctxtGlobal); } @@ -532,11 +532,11 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C return evalImpl(script, ctxt, getNashornGlobalFrom(ctxt)); } - private Object evalImpl(final ScriptFunction script, final ScriptContext ctxt, final ScriptObject ctxtGlobal) throws ScriptException { + private Object evalImpl(final ScriptFunction script, final ScriptContext ctxt, final Global ctxtGlobal) throws ScriptException { if (script == null) { return null; } - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != ctxtGlobal); try { if (globalChanged) { @@ -558,7 +558,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C } } - private static void throwAsScriptException(final Exception e, final ScriptObject global) throws ScriptException { + private static void throwAsScriptException(final Exception e, final Global global) throws ScriptException { if (e instanceof ScriptException) { throw (ScriptException)e; } else if (e instanceof NashornException) { @@ -582,7 +582,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C return new CompiledScript() { @Override public Object eval(final ScriptContext ctxt) throws ScriptException { - final ScriptObject globalObject = getNashornGlobalFrom(ctxt); + final Global globalObject = getNashornGlobalFrom(ctxt); // Are we running the script in the correct global? if (func.getScope() == globalObject) { return evalImpl(func, ctxt, globalObject); @@ -602,8 +602,8 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C return compileImpl(source, getNashornGlobalFrom(ctxt)); } - private ScriptFunction compileImpl(final Source source, final ScriptObject newGlobal) throws ScriptException { - final ScriptObject oldGlobal = Context.getGlobal(); + private ScriptFunction compileImpl(final Source source, final Global newGlobal) throws ScriptException { + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != newGlobal); try { if (globalChanged) { @@ -641,8 +641,7 @@ public final class NashornScriptEngine extends AbstractScriptEngine implements C return true; } - private static boolean isOfContext(final ScriptObject global, final Context context) { - assert global instanceof GlobalObject: "Not a Global object"; - return ((GlobalObject)global).isOfContext(context); + private static boolean isOfContext(final Global global, final Context context) { + return global.isOfContext(context); } } diff --git a/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java b/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java index 7a9792df19c..b12553369d4 100644 --- a/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java +++ b/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java @@ -42,10 +42,10 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.Callable; import javax.script.Bindings; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.arrays.ArrayData; import jdk.nashorn.internal.runtime.ConsString; import jdk.nashorn.internal.runtime.Context; -import jdk.nashorn.internal.runtime.GlobalObject; import jdk.nashorn.internal.runtime.JSType; import jdk.nashorn.internal.runtime.ScriptFunction; import jdk.nashorn.internal.runtime.ScriptObject; @@ -64,7 +64,7 @@ public final class ScriptObjectMirror extends AbstractJSObject implements Bindin private static final AccessControlContext GET_CONTEXT_ACC_CTXT = getContextAccCtxt(); private final ScriptObject sobj; - private final ScriptObject global; + private final Global global; private final boolean strict; @Override @@ -95,7 +95,7 @@ public final class ScriptObjectMirror extends AbstractJSObject implements Bindin @Override public Object call(final Object thiz, final Object... args) { - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); try { @@ -125,7 +125,7 @@ public final class ScriptObjectMirror extends AbstractJSObject implements Bindin @Override public Object newObject(final Object... args) { - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); try { @@ -171,7 +171,7 @@ public final class ScriptObjectMirror extends AbstractJSObject implements Bindin public Object callMember(final String functionName, final Object... args) { functionName.getClass(); // null check - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); try { @@ -642,7 +642,7 @@ public final class ScriptObjectMirror extends AbstractJSObject implements Bindin */ public static Object wrap(final Object obj, final Object homeGlobal) { if(obj instanceof ScriptObject) { - return homeGlobal instanceof ScriptObject ? new ScriptObjectMirror((ScriptObject)obj, (ScriptObject)homeGlobal) : obj; + return homeGlobal instanceof Global ? new ScriptObjectMirror((ScriptObject)obj, (Global)homeGlobal) : obj; } if(obj instanceof ConsString) { return obj.toString(); @@ -710,13 +710,13 @@ public final class ScriptObjectMirror extends AbstractJSObject implements Bindin // package-privates below this. - ScriptObjectMirror(final ScriptObject sobj, final ScriptObject global) { + ScriptObjectMirror(final ScriptObject sobj, final Global global) { assert sobj != null : "ScriptObjectMirror on null!"; - assert global instanceof GlobalObject : "global is not a GlobalObject"; + assert global != null : "home Global is null"; this.sobj = sobj; this.global = global; - this.strict = ((GlobalObject)global).isStrictContext(); + this.strict = global.isStrictContext(); } // accessors for script engine @@ -724,7 +724,7 @@ public final class ScriptObjectMirror extends AbstractJSObject implements Bindin return sobj; } - ScriptObject getHomeGlobal() { + Global getHomeGlobal() { return global; } @@ -734,7 +734,7 @@ public final class ScriptObjectMirror extends AbstractJSObject implements Bindin // internals only below this. private <V> V inGlobal(final Callable<V> callable) { - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); if (globalChanged) { Context.setGlobal(global); diff --git a/nashorn/src/jdk/nashorn/internal/codegen/Attr.java b/nashorn/src/jdk/nashorn/internal/codegen/Attr.java index 177cfef4e4b..61ccb712772 100644 --- a/nashorn/src/jdk/nashorn/internal/codegen/Attr.java +++ b/nashorn/src/jdk/nashorn/internal/codegen/Attr.java @@ -375,10 +375,11 @@ final class Attr extends NodeOperatorVisitor<LexicalContext> { * @return Symbol for given name or null for redefinition. */ private Symbol defineSymbol(final Block block, final String name, final int symbolFlags) { - int flags = symbolFlags; - Symbol symbol = findSymbol(block, name); // Locate symbol. + int flags = symbolFlags; + Symbol symbol = findSymbol(block, name); // Locate symbol. + boolean isGlobal = (flags & KINDMASK) == IS_GLOBAL; - if ((flags & KINDMASK) == IS_GLOBAL) { + if (isGlobal) { flags |= IS_SCOPE; } @@ -414,6 +415,8 @@ final class Attr extends NodeOperatorVisitor<LexicalContext> { // Determine where to create it. if ((flags & Symbol.KINDMASK) == IS_VAR && ((flags & IS_INTERNAL) == IS_INTERNAL || (flags & IS_LET) == IS_LET)) { symbolBlock = block; //internal vars are always defined in the block closest to them + } else if (isGlobal) { + symbolBlock = lc.getOutermostFunction().getBody(); } else { symbolBlock = lc.getFunctionBody(function); } diff --git a/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java b/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java index 6ad92829bfe..e0ca67a4a92 100644 --- a/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java +++ b/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java @@ -685,7 +685,7 @@ final class CodeGenerator extends NodeOperatorVisitor<CodeGeneratorLexicalContex private void scopeCall(final IdentNode node, final int flags) { load(node, Type.OBJECT); // Type.OBJECT as foo() makes no sense if foo == 3 // ScriptFunction will see CALLSITE_SCOPE and will bind scope accordingly. - method.loadNull(); //the 'this' + method.loadUndefined(Type.OBJECT); //the 'this' object method.dynamicCall(callNodeType, 2 + loadArgs(args), flags); } @@ -818,7 +818,7 @@ final class CodeGenerator extends NodeOperatorVisitor<CodeGeneratorLexicalContex protected boolean enterDefault(final Node node) { // Load up function. load(function, Type.OBJECT); //TODO, e.g. booleans can be used as functions - method.loadNull(); // ScriptFunction will figure out the correct this when it sees CALLSITE_SCOPE + method.loadUndefined(Type.OBJECT); // ScriptFunction will figure out the correct this when it sees CALLSITE_SCOPE method.dynamicCall(callNodeType, 2 + loadArgs(args), getCallSiteFlags() | CALLSITE_SCOPE); return false; diff --git a/nashorn/src/jdk/nashorn/internal/codegen/SharedScopeCall.java b/nashorn/src/jdk/nashorn/internal/codegen/SharedScopeCall.java index c7dfb40a964..da29ac05b4b 100644 --- a/nashorn/src/jdk/nashorn/internal/codegen/SharedScopeCall.java +++ b/nashorn/src/jdk/nashorn/internal/codegen/SharedScopeCall.java @@ -156,7 +156,7 @@ class SharedScopeCall { if (isCall) { method.convert(Type.OBJECT); // ScriptFunction will see CALLSITE_SCOPE and will bind scope accordingly. - method.loadNull(); + method.loadUndefined(Type.OBJECT); int slot = 2; for (final Type type : paramTypes) { method.load(type, slot++); diff --git a/nashorn/src/jdk/nashorn/internal/ir/FunctionNode.java b/nashorn/src/jdk/nashorn/internal/ir/FunctionNode.java index 1437eb40384..a0f6a788b5e 100644 --- a/nashorn/src/jdk/nashorn/internal/ir/FunctionNode.java +++ b/nashorn/src/jdk/nashorn/internal/ir/FunctionNode.java @@ -164,11 +164,11 @@ public final class FunctionNode extends LexicalContextExpression implements Flag public static final int HAS_EVAL = 1 << 5; /** Does a nested function contain eval? If it does, then all variables in this function might be get/set by it. */ - public static final int HAS_NESTED_EVAL = 1 << 6; + public static final int HAS_NESTED_EVAL = 1 << 6; /** Does this function have any blocks that create a scope? This is used to determine if the function needs to * have a local variable slot for the scope symbol. */ - public static final int HAS_SCOPE_BLOCK = 1 << 7; + public static final int HAS_SCOPE_BLOCK = 1 << 7; /** * Flag this function as one that defines the identifier "arguments" as a function parameter or nested function @@ -197,6 +197,9 @@ public final class FunctionNode extends LexicalContextExpression implements Flag /** Can this function be specialized? */ public static final int CAN_SPECIALIZE = 1 << 14; + /** Does this function use the "this" keyword? */ + public static final int USES_THIS = 1 << 15; + /** Does this function or any nested functions contain an eval? */ private static final int HAS_DEEP_EVAL = HAS_EVAL | HAS_NESTED_EVAL; @@ -590,6 +593,15 @@ public final class FunctionNode extends LexicalContextExpression implements Flag return needsParentScope() || needsSelfSymbol() || isSplit() || (needsArguments() && !isStrict()); } + /** + * Return {@code true} if this function makes use of the {@code this} object. + * + * @return true if function uses {@code this} object + */ + public boolean usesThis() { + return getFlag(USES_THIS); + } + /** * Get the identifier for this function, this is its symbol. * @return the identifier as an IdentityNode diff --git a/nashorn/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java b/nashorn/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java index b3388eb0813..e39c521724c 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java +++ b/nashorn/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java @@ -67,12 +67,8 @@ public final class AccessorPropertyDescriptor extends ScriptObject implements Pr // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - AccessorPropertyDescriptor(final boolean configurable, final boolean enumerable, final Object get, final Object set, final Global global) { - super(global.getObjectPrototype(), getInitialMap()); + super(global.getObjectPrototype(), $nasgenmap$); this.configurable = configurable; this.enumerable = enumerable; this.get = get; diff --git a/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java b/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java index a7252fcc606..7bd1d2f91dd 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java +++ b/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java @@ -42,12 +42,8 @@ abstract class ArrayBufferView extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private ArrayBufferView(final NativeArrayBuffer buffer, final int byteOffset, final int elementLength, final Global global) { - super(getInitialMap()); + super($nasgenmap$); checkConstructorArgs(buffer, byteOffset, elementLength); this.setProto(getPrototype(global)); this.setArray(factory().createArrayData(buffer, byteOffset, elementLength)); diff --git a/nashorn/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java b/nashorn/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java index 9f7d2e4f8e8..e117c7ed2f2 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java +++ b/nashorn/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java @@ -64,12 +64,8 @@ public final class DataPropertyDescriptor extends ScriptObject implements Proper // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - DataPropertyDescriptor(final boolean configurable, final boolean enumerable, final boolean writable, final Object value, final Global global) { - super(global.getObjectPrototype(), getInitialMap()); + super(global.getObjectPrototype(), $nasgenmap$); this.configurable = configurable; this.enumerable = enumerable; this.writable = writable; diff --git a/nashorn/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java b/nashorn/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java index bfa06cb3b35..19cc8b6fd29 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java +++ b/nashorn/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java @@ -55,12 +55,8 @@ public final class GenericPropertyDescriptor extends ScriptObject implements Pro // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - GenericPropertyDescriptor(final boolean configurable, final boolean enumerable, final Global global) { - super(global.getObjectPrototype(), getInitialMap()); + super(global.getObjectPrototype(), $nasgenmap$); this.configurable = configurable; this.enumerable = enumerable; } diff --git a/nashorn/src/jdk/nashorn/internal/objects/Global.java b/nashorn/src/jdk/nashorn/internal/objects/Global.java index e8b12cb87cf..9e40dbeb1c2 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/Global.java +++ b/nashorn/src/jdk/nashorn/internal/objects/Global.java @@ -33,11 +33,8 @@ import java.io.IOException; import java.io.PrintWriter; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; -import java.lang.ref.ReferenceQueue; -import java.lang.ref.SoftReference; import java.lang.reflect.Field; import java.util.Arrays; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.concurrent.Callable; @@ -51,7 +48,6 @@ import jdk.nashorn.internal.objects.annotations.ScriptClass; import jdk.nashorn.internal.runtime.ConsString; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.GlobalFunctions; -import jdk.nashorn.internal.runtime.GlobalObject; import jdk.nashorn.internal.runtime.JSType; import jdk.nashorn.internal.runtime.NativeJavaPackage; import jdk.nashorn.internal.runtime.PropertyDescriptor; @@ -59,10 +55,10 @@ import jdk.nashorn.internal.runtime.PropertyMap; import jdk.nashorn.internal.runtime.Scope; import jdk.nashorn.internal.runtime.ScriptEnvironment; import jdk.nashorn.internal.runtime.ScriptFunction; +import jdk.nashorn.internal.runtime.ScriptFunctionData; import jdk.nashorn.internal.runtime.ScriptObject; import jdk.nashorn.internal.runtime.ScriptRuntime; import jdk.nashorn.internal.runtime.ScriptingFunctions; -import jdk.nashorn.internal.runtime.Source; import jdk.nashorn.internal.runtime.arrays.ArrayData; import jdk.nashorn.internal.runtime.linker.Bootstrap; import jdk.nashorn.internal.runtime.linker.InvokeByName; @@ -73,7 +69,7 @@ import jdk.nashorn.internal.scripts.JO; * Representation of global scope. */ @ScriptClass("Global") -public final class Global extends ScriptObject implements GlobalObject, Scope { +public final class Global extends ScriptObject implements Scope { private final InvokeByName TO_STRING = new InvokeByName("toString", ScriptObject.class); private final InvokeByName VALUE_OF = new InvokeByName("valueOf", ScriptObject.class); @@ -229,6 +225,10 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { @Property(name = "ArrayBuffer", attributes = Attribute.NOT_ENUMERABLE) public volatile Object arrayBuffer; + /** DataView object */ + @Property(name = "DataView", attributes = Attribute.NOT_ENUMERABLE) + public volatile Object dataView; + /** TypedArray (int8) */ @Property(name = "Int8Array", attributes = Attribute.NOT_ENUMERABLE) public volatile Object int8Array; @@ -355,6 +355,7 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { private ScriptObject builtinJavaImporter; private ScriptObject builtinJavaApi; private ScriptObject builtinArrayBuffer; + private ScriptObject builtinDataView; private ScriptObject builtinInt8Array; private ScriptObject builtinUint8Array; private ScriptObject builtinUint8ClampedArray; @@ -373,9 +374,6 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { // Flag to indicate that a split method issued a return statement private int splitState = -1; - // class cache - private ClassCache classCache; - // Used to store the last RegExp result to support deprecated RegExp constructor properties private RegExpResult lastRegExpResult; @@ -426,11 +424,6 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { super(checkAndGetMap(context)); this.context = context; this.setIsScope(); - - final int cacheSize = context.getEnv()._class_cache_size; - if (cacheSize > 0) { - classCache = new ClassCache(cacheSize); - } } /** @@ -439,11 +432,9 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { * @return the global singleton */ public static Global instance() { - ScriptObject global = Context.getGlobal(); - if (! (global instanceof Global)) { - throw new IllegalStateException("no current global instance"); - } - return (Global)global; + Global global = Context.getGlobal(); + global.getClass(); // null check + return global; } /** @@ -464,19 +455,30 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { return instance().getContext(); } - // GlobalObject interface implementation + // Runtime interface to Global - @Override + /** + * Is this global of the given Context? + * @param ctxt the context + * @return true if this global belongs to the given Context + */ public boolean isOfContext(final Context ctxt) { return this.context == ctxt; } - @Override + /** + * Does this global belong to a strict Context? + * @return true if this global belongs to a strict Context + */ public boolean isStrictContext() { return context.getEnv()._strict; } - @Override + /** + * Initialize standard builtin objects like "Object", "Array", "Function" etc. + * as well as our extension builtin objects like "Java", "JSAdapter" as properties + * of the global scope object. + */ public void initBuiltinObjects() { if (this.builtinObject != null) { // already initialized, just return @@ -486,12 +488,26 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { init(); } - @Override + /** + * Create a new ScriptFunction object + * + * @param name function name + * @param handle invocation handle for function + * @param scope the scope + * @param strict are we in strict mode + * + * @return new script function + */ public ScriptFunction newScriptFunction(final String name, final MethodHandle handle, final ScriptObject scope, final boolean strict) { - return new ScriptFunctionImpl(name, handle, scope, null, strict, false, true); + return new ScriptFunctionImpl(name, handle, scope, null, strict ? ScriptFunctionData.IS_STRICT_CONSTRUCTOR : ScriptFunctionData.IS_CONSTRUCTOR); } - @Override + /** + * Wrap a Java object as corresponding script object + * + * @param obj object to wrap + * @return wrapped object + */ public Object wrapAsObject(final Object obj) { if (obj instanceof Boolean) { return new NativeBoolean((Boolean)obj, this); @@ -513,7 +529,14 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { } } - @Override + /** + * Lookup helper for JS primitive types + * + * @param request the link request for the dynamic call site. + * @param self self reference + * + * @return guarded invocation + */ public GuardedInvocation primitiveLookup(final LinkRequest request, final Object self) { if (self instanceof String || self instanceof ConsString) { return NativeString.lookupPrimitive(request, self); @@ -525,12 +548,23 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { throw new IllegalArgumentException("Unsupported primitive: " + self); } - @Override + /** + * Create a new empty script object + * + * @return the new ScriptObject + */ public ScriptObject newObject() { return new JO(getObjectPrototype(), JO.getInitialMap()); } - @Override + /** + * Default value of given type + * + * @param sobj script object + * @param typeHint type hint + * + * @return default value + */ public Object getDefaultValue(final ScriptObject sobj, final Class<?> typeHint) { // When the [[DefaultValue]] internal method of O is called with no hint, // then it behaves as if the hint were Number, unless O is a Date object @@ -590,7 +624,12 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { return UNDEFINED; } - @Override + /** + * Is the given ScriptObject an ECMAScript Error object? + * + * @param sobj the object being checked + * @return true if sobj is an Error object + */ public boolean isError(final ScriptObject sobj) { final ScriptObject errorProto = getErrorPrototype(); ScriptObject proto = sobj.getProto(); @@ -603,52 +642,108 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { return false; } - @Override + /** + * Create a new ECMAScript Error object. + * + * @param msg error message + * @return newly created Error object + */ public ScriptObject newError(final String msg) { return new NativeError(msg, this); } - @Override + /** + * Create a new ECMAScript EvalError object. + * + * @param msg error message + * @return newly created EvalError object + */ public ScriptObject newEvalError(final String msg) { return new NativeEvalError(msg, this); } - @Override + /** + * Create a new ECMAScript RangeError object. + * + * @param msg error message + * @return newly created RangeError object + */ public ScriptObject newRangeError(final String msg) { return new NativeRangeError(msg, this); } - @Override + /** + * Create a new ECMAScript ReferenceError object. + * + * @param msg error message + * @return newly created ReferenceError object + */ public ScriptObject newReferenceError(final String msg) { return new NativeReferenceError(msg, this); } - @Override + /** + * Create a new ECMAScript SyntaxError object. + * + * @param msg error message + * @return newly created SyntaxError object + */ public ScriptObject newSyntaxError(final String msg) { return new NativeSyntaxError(msg, this); } - @Override + /** + * Create a new ECMAScript TypeError object. + * + * @param msg error message + * @return newly created TypeError object + */ public ScriptObject newTypeError(final String msg) { return new NativeTypeError(msg, this); } - @Override + /** + * Create a new ECMAScript URIError object. + * + * @param msg error message + * @return newly created URIError object + */ public ScriptObject newURIError(final String msg) { return new NativeURIError(msg, this); } - @Override + /** + * Create a new ECMAScript GenericDescriptor object. + * + * @param configurable is the property configurable? + * @param enumerable is the property enumerable? + * @return newly created GenericDescriptor object + */ public PropertyDescriptor newGenericDescriptor(final boolean configurable, final boolean enumerable) { return new GenericPropertyDescriptor(configurable, enumerable, this); } - @Override + /** + * Create a new ECMAScript DatePropertyDescriptor object. + * + * @param value of the data property + * @param configurable is the property configurable? + * @param enumerable is the property enumerable? + * @return newly created DataPropertyDescriptor object + */ public PropertyDescriptor newDataDescriptor(final Object value, final boolean configurable, final boolean enumerable, final boolean writable) { return new DataPropertyDescriptor(configurable, enumerable, writable, value, this); } - @Override + /** + * Create a new ECMAScript AccessorPropertyDescriptor object. + * + * @param get getter function of the user accessor property + * @param set setter function of the user accessor property + * @param configurable is the property configurable? + * @param enumerable is the property enumerable? + * @return newly created AccessorPropertyDescriptor object + */ public PropertyDescriptor newAccessorDescriptor(final Object get, final Object set, final boolean configurable, final boolean enumerable) { final AccessorPropertyDescriptor desc = new AccessorPropertyDescriptor(configurable, enumerable, get == null ? UNDEFINED : get, set == null ? UNDEFINED : set, this); @@ -664,62 +759,6 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { } - /** - * Cache for compiled script classes. - */ - @SuppressWarnings("serial") - private static class ClassCache extends LinkedHashMap<Source, ClassReference> { - private final int size; - private final ReferenceQueue<Class<?>> queue; - - ClassCache(int size) { - super(size, 0.75f, true); - this.size = size; - this.queue = new ReferenceQueue<>(); - } - - void cache(final Source source, final Class<?> clazz) { - put(source, new ClassReference(clazz, queue, source)); - } - - @Override - protected boolean removeEldestEntry(final Map.Entry<Source, ClassReference> eldest) { - return size() > size; - } - - @Override - public ClassReference get(Object key) { - for (ClassReference ref; (ref = (ClassReference)queue.poll()) != null; ) { - remove(ref.source); - } - return super.get(key); - } - - } - - private static class ClassReference extends SoftReference<Class<?>> { - private final Source source; - - ClassReference(final Class<?> clazz, final ReferenceQueue<Class<?>> queue, final Source source) { - super(clazz, queue); - this.source = source; - } - } - - // Class cache management - @Override - public Class<?> findCachedClass(final Source source) { - assert classCache != null : "Class cache used without being initialized"; - ClassReference ref = classCache.get(source); - return ref != null ? ref.get() : null; - } - - @Override - public void cacheClass(final Source source, final Class<?> clazz) { - assert classCache != null : "Class cache used without being initialized"; - classCache.cache(source, clazz); - } - private static <T> T getLazilyCreatedValue(final Object key, final Callable<T> creator, final Map<Object, T> map) { final T obj = map.get(key); if (obj != null) { @@ -737,14 +776,25 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { private final Map<Object, InvokeByName> namedInvokers = new ConcurrentHashMap<>(); - @Override + + /** + * Get cached InvokeByName object for the given key + * @param key key to be associated with InvokeByName object + * @param creator if InvokeByName is absent 'creator' is called to make one (lazy init) + * @return InvokeByName object associated with the key. + */ public InvokeByName getInvokeByName(final Object key, final Callable<InvokeByName> creator) { return getLazilyCreatedValue(key, creator, namedInvokers); } private final Map<Object, MethodHandle> dynamicInvokers = new ConcurrentHashMap<>(); - @Override + /** + * Get cached dynamic method handle for the given key + * @param key key to be associated with dynamic method handle + * @param creator if method handle is absent 'creator' is called to make one (lazy init) + * @return dynamic method handle associated with the key. + */ public MethodHandle getDynamicInvoker(final Object key, final Callable<MethodHandle> creator) { return getLazilyCreatedValue(key, creator, dynamicInvokers); } @@ -933,6 +983,10 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { return ScriptFunction.getPrototype(builtinArrayBuffer); } + ScriptObject getDataViewPrototype() { + return ScriptFunction.getPrototype(builtinDataView); + } + ScriptObject getInt8ArrayPrototype() { return ScriptFunction.getPrototype(builtinInt8Array); } @@ -1701,6 +1755,7 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { private void initTypedArray() { this.builtinArrayBuffer = initConstructor("ArrayBuffer"); + this.builtinDataView = initConstructor("DataView"); this.builtinInt8Array = initConstructor("Int8Array"); this.builtinUint8Array = initConstructor("Uint8Array"); this.builtinUint8ClampedArray = initConstructor("Uint8ClampedArray"); @@ -1741,6 +1796,7 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { this.typeError = this.builtinTypeError; this.uriError = this.builtinURIError; this.arrayBuffer = this.builtinArrayBuffer; + this.dataView = this.builtinDataView; this.int8Array = this.builtinInt8Array; this.uint8Array = this.builtinUint8Array; this.uint8ClampedArray = this.builtinUint8ClampedArray; @@ -1838,7 +1894,7 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { anon.deleteOwnProperty(anon.getMap().findProperty("prototype")); // use "getter" so that [[ThrowTypeError]] function's arity is 0 - as specified in step 10 of section 13.2.3 - this.typeErrorThrower = new ScriptFunctionImpl("TypeErrorThrower", Lookup.TYPE_ERROR_THROWER_GETTER, null, null, false, false, false); + this.typeErrorThrower = new ScriptFunctionImpl("TypeErrorThrower", Lookup.TYPE_ERROR_THROWER_GETTER, null, null, 0); typeErrorThrower.setPrototype(UNDEFINED); // Non-constructor built-in functions do not have "prototype" property typeErrorThrower.deleteOwnProperty(typeErrorThrower.getMap().findProperty("prototype")); diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java b/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java index cc62d23cc1f..168a2f8a9ec 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java @@ -156,10 +156,6 @@ public final class NativeArray extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - /* * Constructors. */ @@ -208,7 +204,7 @@ public final class NativeArray extends ScriptObject { } NativeArray(final ArrayData arrayData, final Global global) { - super(global.getArrayPrototype(), getInitialMap()); + super(global.getArrayPrototype(), $nasgenmap$); this.setArray(arrayData); this.setIsArray(); } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java b/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java index dbc1b24b2cb..49a61c96df3 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java @@ -25,6 +25,7 @@ package jdk.nashorn.internal.objects; +import java.nio.ByteBuffer; import java.util.Arrays; import jdk.nashorn.internal.objects.annotations.Attribute; import jdk.nashorn.internal.objects.annotations.Constructor; @@ -43,10 +44,6 @@ final class NativeArrayBuffer extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @Constructor(arity = 1) public static Object constructor(final boolean newObj, final Object self, final Object... args) { if (args.length == 0) { @@ -57,7 +54,7 @@ final class NativeArrayBuffer extends ScriptObject { } protected NativeArrayBuffer(final byte[] byteArray, final Global global) { - super(global.getArrayBufferPrototype(), getInitialMap()); + super(global.getArrayBufferPrototype(), $nasgenmap$); this.buffer = byteArray; } @@ -128,4 +125,16 @@ final class NativeArrayBuffer extends ScriptObject { public int getByteLength() { return buffer.length; } + + ByteBuffer getBuffer() { + return ByteBuffer.wrap(buffer); + } + + ByteBuffer getBuffer(final int offset) { + return ByteBuffer.wrap(buffer, offset, buffer.length - offset); + } + + ByteBuffer getBuffer(final int offset, final int length) { + return ByteBuffer.wrap(buffer, offset, length); + } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java b/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java index bd955079830..f737a6c898b 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java @@ -30,6 +30,7 @@ import static jdk.nashorn.internal.lookup.Lookup.MH; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; import jdk.internal.dynalink.linker.GuardedInvocation; import jdk.internal.dynalink.linker.LinkRequest; import jdk.nashorn.internal.objects.annotations.Attribute; @@ -50,22 +51,21 @@ import jdk.nashorn.internal.runtime.linker.PrimitiveLookup; public final class NativeBoolean extends ScriptObject { private final boolean value; - final static MethodHandle WRAPFILTER = findWrapFilter(); + // Method handle to create an object wrapper for a primitive boolean + private static final MethodHandle WRAPFILTER = findOwnMH("wrapFilter", MH.type(NativeBoolean.class, Object.class)); + // Method handle to retrieve the Boolean prototype object + private static final MethodHandle PROTOFILTER = findOwnMH("protoFilter", MH.type(Object.class, Object.class)); // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeBoolean(final boolean value, final ScriptObject proto, final PropertyMap map) { super(proto, map); this.value = value; } NativeBoolean(final boolean flag, final Global global) { - this(flag, global.getBooleanPrototype(), getInitialMap()); + this(flag, global.getBooleanPrototype(), $nasgenmap$); } NativeBoolean(final boolean flag) { @@ -164,7 +164,7 @@ public final class NativeBoolean extends ScriptObject { * @return Link to be invoked at call site. */ public static GuardedInvocation lookupPrimitive(final LinkRequest request, final Object receiver) { - return PrimitiveLookup.lookupPrimitive(request, Boolean.class, new NativeBoolean((Boolean)receiver), WRAPFILTER); + return PrimitiveLookup.lookupPrimitive(request, Boolean.class, new NativeBoolean((Boolean)receiver), WRAPFILTER, PROTOFILTER); } /** @@ -178,7 +178,12 @@ public final class NativeBoolean extends ScriptObject { return new NativeBoolean((Boolean)receiver); } - private static MethodHandle findWrapFilter() { - return MH.findStatic(MethodHandles.lookup(), NativeBoolean.class, "wrapFilter", MH.type(NativeBoolean.class, Object.class)); + @SuppressWarnings("unused") + private static Object protoFilter(final Object object) { + return Global.instance().getBooleanPrototype(); + } + + private static MethodHandle findOwnMH(final String name, final MethodType type) { + return MH.findStatic(MethodHandles.lookup(), NativeBoolean.class, name, type); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeDataView.java b/nashorn/src/jdk/nashorn/internal/objects/NativeDataView.java new file mode 100644 index 00000000000..93b5f09f90c --- /dev/null +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeDataView.java @@ -0,0 +1,1015 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package jdk.nashorn.internal.objects; + +import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; +import static jdk.nashorn.internal.runtime.ECMAErrors.rangeError; +import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import jdk.nashorn.internal.objects.annotations.Attribute; +import jdk.nashorn.internal.objects.annotations.Constructor; +import jdk.nashorn.internal.objects.annotations.Function; +import jdk.nashorn.internal.objects.annotations.Property; +import jdk.nashorn.internal.objects.annotations.ScriptClass; +import jdk.nashorn.internal.objects.annotations.SpecializedConstructor; +import jdk.nashorn.internal.objects.annotations.SpecializedFunction; +import jdk.nashorn.internal.runtime.JSType; +import jdk.nashorn.internal.runtime.PropertyMap; +import jdk.nashorn.internal.runtime.ScriptObject; +import jdk.nashorn.internal.runtime.ScriptRuntime; + +/** + * <p> + * DataView builtin constructor. Based on the specification here: + * http://www.khronos.org/registry/typedarray/specs/latest/#8 + * </p> + * <p> + * An ArrayBuffer is a useful object for representing an arbitrary chunk of data. + * In many cases, such data will be read from disk or from the network, and will + * not follow the alignment restrictions that are imposed on the typed array views + * described earlier. In addition, the data will often be heterogeneous in nature + * and have a defined byte order. The DataView view provides a low-level interface + * for reading such data from and writing it to an ArrayBuffer. + * </p> + * <p> + * Regardless of the host computer's endianness, DataView reads or writes values + * to or from main memory with a specified endianness: big or little. + * </p> + */ +@ScriptClass("DataView") +public class NativeDataView extends ScriptObject { + // initialized by nasgen + private static PropertyMap $nasgenmap$; + + // inherited ArrayBufferView properties + + /** + * Underlying ArrayBuffer storage object + */ + @Property(attributes = Attribute.NON_ENUMERABLE_CONSTANT) + public final Object buffer; + + /** + * The offset in bytes from the start of the ArrayBuffer + */ + @Property(attributes = Attribute.NON_ENUMERABLE_CONSTANT) + public final int byteOffset; + + /** + * The number of bytes from the offset that this DataView will reference + */ + @Property(attributes = Attribute.NON_ENUMERABLE_CONSTANT) + public final int byteLength; + + // underlying ByteBuffer + private final ByteBuffer buf; + + private NativeDataView(NativeArrayBuffer arrBuf) { + this(arrBuf, arrBuf.getBuffer(), 0); + } + + private NativeDataView(NativeArrayBuffer arrBuf, int offset) { + this(arrBuf, bufferFrom(arrBuf, offset), offset); + } + + private NativeDataView(NativeArrayBuffer arrBuf, int offset, int length) { + this(arrBuf, bufferFrom(arrBuf, offset, length), offset, length); + } + + private NativeDataView(final NativeArrayBuffer arrBuf, final ByteBuffer buf, final int offset) { + this(arrBuf, buf, offset, buf.capacity() - offset); + } + + private NativeDataView(final NativeArrayBuffer arrBuf, final ByteBuffer buf, final int offset, final int length) { + super(Global.instance().getDataViewPrototype(), $nasgenmap$); + this.buffer = arrBuf; + this.byteOffset = offset; + this.byteLength = length; + this.buf = buf; + } + + /** + * Create a new DataView object using the passed ArrayBuffer for its + * storage. Optional byteOffset and byteLength can be used to limit the + * section of the buffer referenced. The byteOffset indicates the offset in + * bytes from the start of the ArrayBuffer, and the byteLength is the number + * of bytes from the offset that this DataView will reference. If both + * byteOffset and byteLength are omitted, the DataView spans the entire + * ArrayBuffer range. If the byteLength is omitted, the DataView extends from + * the given byteOffset until the end of the ArrayBuffer. + * + * If the given byteOffset and byteLength references an area beyond the end + * of the ArrayBuffer an exception is raised. + + * @param newObj if this constructor was invoked with 'new' or not + * @param self constructor function object + * @param args arguments to the constructor + * @return newly constructed DataView object + */ + @Constructor(arity = 1) + public static Object constructor(final boolean newObj, final Object self, final Object... args) { + if (args.length == 0 || !(args[0] instanceof NativeArrayBuffer)) { + throw typeError("not.an.arraybuffer.in.dataview"); + } + + final NativeArrayBuffer arrBuf = (NativeArrayBuffer) args[0]; + switch (args.length) { + case 1: + return new NativeDataView(arrBuf); + case 2: + return new NativeDataView(arrBuf, JSType.toInt32(args[1])); + default: + return new NativeDataView(arrBuf, JSType.toInt32(args[1]), JSType.toInt32(args[2])); + } + } + + /** + * Specialized version of DataView constructor + * + * @param newObj if this constructor was invoked with 'new' or not + * @param self constructor function object + * @param arrBuf underlying ArrayBuffer storage object + * @param offset offset in bytes from the start of the ArrayBuffer + * @return newly constructed DataView object + */ + @SpecializedConstructor + public static Object constructor(final boolean newObj, final Object self, final Object arrBuf, final int offset) { + if (!(arrBuf instanceof NativeArrayBuffer)) { + throw typeError("not.an.arraybuffer.in.dataview"); + } + return new NativeDataView((NativeArrayBuffer) arrBuf, offset); + } + + /** + * Specialized version of DataView constructor + * + * @param newObj if this constructor was invoked with 'new' or not + * @param self constructor function object + * @param arrBuf underlying ArrayBuffer storage object + * @param offset in bytes from the start of the ArrayBuffer + * @param length is the number of bytes from the offset that this DataView will reference + * @return newly constructed DataView object + */ + @SpecializedConstructor + public static Object constructor(final boolean newObj, final Object self, final Object arrBuf, final int offset, final int length) { + if (!(arrBuf instanceof NativeArrayBuffer)) { + throw typeError("not.an.arraybuffer.in.dataview"); + } + return new NativeDataView((NativeArrayBuffer) arrBuf, offset, length); + } + + // Gets the value of the given type at the specified byte offset + // from the start of the view. There is no alignment constraint; + // multi-byte values may be fetched from any offset. + // + // For multi-byte values, the optional littleEndian argument + // indicates whether a big-endian or little-endian value should be + // read. If false or undefined, a big-endian value is read. + // + // These methods raise an exception if they would read + // beyond the end of the view. + + /** + * Get 8-bit signed int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 8-bit signed int value at the byteOffset + */ + @Function(attributes = Attribute.NOT_ENUMERABLE) + public static int getInt8(final Object self, final Object byteOffset) { + try { + return getBuffer(self).get(JSType.toInt32(byteOffset)); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 8-bit signed int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 8-bit signed int value at the byteOffset + */ + @SpecializedFunction + public static int getInt8(final Object self, final int byteOffset) { + try { + return getBuffer(self).get(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 8-bit unsigned int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 8-bit unsigned int value at the byteOffset + */ + @Function(attributes = Attribute.NOT_ENUMERABLE) + public static int getUint8(final Object self, final Object byteOffset) { + try { + return (0xFF & getBuffer(self).get(JSType.toInt32(byteOffset))); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 8-bit unsigned int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 8-bit unsigned int value at the byteOffset + */ + @SpecializedFunction + public static int getUint8(final Object self, final int byteOffset) { + try { + return (0xFF & getBuffer(self).get(byteOffset)); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 16-bit signed int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 16-bit signed int value at the byteOffset + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) + public static int getInt16(final Object self, final Object byteOffset, final Object littleEndian) { + try { + return getBuffer(self, littleEndian).getShort(JSType.toInt32(byteOffset)); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 16-bit signed int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 16-bit signed int value at the byteOffset + */ + @SpecializedFunction + public static int getInt16(final Object self, final int byteOffset) { + try { + return getBuffer(self, false).getShort(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 16-bit signed int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 16-bit signed int value at the byteOffset + */ + @SpecializedFunction + public static int getInt16(final Object self, final int byteOffset, final boolean littleEndian) { + try { + return getBuffer(self, littleEndian).getShort(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 16-bit unsigned int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 16-bit unsigned int value at the byteOffset + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) + public static int getUint16(final Object self, final Object byteOffset, final Object littleEndian) { + try { + return (int) (0xFFFF & getBuffer(self, littleEndian).getShort(JSType.toInt32(byteOffset))); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 16-bit unsigned int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 16-bit unsigned int value at the byteOffset + */ + @SpecializedFunction + public static int getUint16(final Object self, final int byteOffset) { + try { + return (int) (0xFFFF & getBuffer(self, false).getShort(byteOffset)); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 16-bit unsigned int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 16-bit unsigned int value at the byteOffset + */ + @SpecializedFunction + public static int getUint16(final Object self, final int byteOffset, final boolean littleEndian) { + try { + return (int) (0xFFFF & getBuffer(self, littleEndian).getShort(byteOffset)); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit signed int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 32-bit signed int value at the byteOffset + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) + public static int getInt32(final Object self, final Object byteOffset, final Object littleEndian) { + try { + return getBuffer(self, littleEndian).getInt(JSType.toInt32(byteOffset)); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit signed int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 32-bit signed int value at the byteOffset + */ + @SpecializedFunction + public static int getInt32(final Object self, final int byteOffset) { + try { + return getBuffer(self, false).getInt(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit signed int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 32-bit signed int value at the byteOffset + */ + @SpecializedFunction + public static int getInt32(final Object self, final int byteOffset, final boolean littleEndian) { + try { + return getBuffer(self, littleEndian).getInt(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit unsigned int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 32-bit unsigned int value at the byteOffset + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) + public static long getUint32(final Object self, final Object byteOffset, final Object littleEndian) { + try { + return (long) (0xFFFFFFFFL & getBuffer(self, littleEndian).getInt(JSType.toInt32(byteOffset))); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit unsigned int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 32-bit unsigned int value at the byteOffset + */ + @SpecializedFunction + public static long getUint32(final Object self, final int byteOffset) { + try { + return (long) (0xFFFFFFFFL & getBuffer(self, false).getInt(JSType.toInt32(byteOffset))); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit unsigned int from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 32-bit unsigned int value at the byteOffset + */ + @SpecializedFunction + public static long getUint32(final Object self, final int byteOffset, final boolean littleEndian) { + try { + return (long) (0xFFFFFFFFL & getBuffer(self, littleEndian).getInt(JSType.toInt32(byteOffset))); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit float value from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 32-bit float value at the byteOffset + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) + public static double getFloat32(final Object self, final Object byteOffset, final Object littleEndian) { + try { + return getBuffer(self, littleEndian).getFloat(JSType.toInt32(byteOffset)); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit float value from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 32-bit float value at the byteOffset + */ + @SpecializedFunction + public static double getFloat32(final Object self, final int byteOffset) { + try { + return getBuffer(self, false).getFloat(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 32-bit float value from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 32-bit float value at the byteOffset + */ + @SpecializedFunction + public static double getFloat32(final Object self, final int byteOffset, final boolean littleEndian) { + try { + return getBuffer(self, littleEndian).getFloat(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 64-bit float value from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 64-bit float value at the byteOffset + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) + public static double getFloat64(final Object self, final Object byteOffset, final Object littleEndian) { + try { + return getBuffer(self, littleEndian).getDouble(JSType.toInt32(byteOffset)); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 64-bit float value from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @return 64-bit float value at the byteOffset + */ + @SpecializedFunction + public static double getFloat64(final Object self, final int byteOffset) { + try { + return getBuffer(self, false).getDouble(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Get 64-bit float value from given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param littleEndian (optional) flag indicating whether to read in little endian order + * @return 64-bit float value at the byteOffset + */ + @SpecializedFunction + public static double getFloat64(final Object self, final int byteOffset, final boolean littleEndian) { + try { + return getBuffer(self, littleEndian).getDouble(byteOffset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + // Stores a value of the given type at the specified byte offset + // from the start of the view. There is no alignment constraint; + // multi-byte values may be stored at any offset. + // + // For multi-byte values, the optional littleEndian argument + // indicates whether the value should be stored in big-endian or + // little-endian byte order. If false or undefined, the value is + // stored in big-endian byte order. + // + // These methods raise an exception if they would write + // beyond the end of the view. + + /** + * Set 8-bit signed int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param value byte value to set + * @return undefined + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) + public static Object setInt8(final Object self, final Object byteOffset, final Object value) { + try { + getBuffer(self).put(JSType.toInt32(byteOffset), (byte)JSType.toInt32(value)); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 8-bit signed int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to read from + * @param value byte value to set + * @return undefined + */ + @SpecializedFunction + public static Object setInt8(final Object self, final int byteOffset, final int value) { + try { + getBuffer(self).put(byteOffset, (byte)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 8-bit unsigned int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value byte value to set + * @return undefined + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) + public static Object setUint8(final Object self, final Object byteOffset, final Object value) { + try { + getBuffer(self).put(JSType.toInt32(byteOffset), (byte)JSType.toInt32(value)); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 8-bit unsigned int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value byte value to set + * @return undefined + */ + @SpecializedFunction + public static Object setUint8(final Object self, final int byteOffset, final int value) { + try { + getBuffer(self).put(byteOffset, (byte)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 16-bit signed int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value short value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) + public static Object setInt16(final Object self, final Object byteOffset, final Object value, final Object littleEndian) { + try { + getBuffer(self, littleEndian).putShort(JSType.toInt32(byteOffset), (short)JSType.toInt32(value)); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 16-bit signed int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value short value to set + * @return undefined + */ + @SpecializedFunction + public static Object setInt16(final Object self, final int byteOffset, final int value) { + try { + getBuffer(self, false).putShort(byteOffset, (short)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 16-bit signed int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value short value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @SpecializedFunction + public static Object setInt16(final Object self, final int byteOffset, final int value, final boolean littleEndian) { + try { + getBuffer(self, littleEndian).putShort(byteOffset, (short)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 16-bit unsigned int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value short value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) + public static Object setUint16(final Object self, final Object byteOffset, final Object value, final Object littleEndian) { + try { + getBuffer(self, littleEndian).putShort(JSType.toInt32(byteOffset), (short)JSType.toInt32(value)); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 16-bit unsigned int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value short value to set + * @return undefined + */ + @SpecializedFunction + public static Object setUint16(final Object self, final int byteOffset, final int value) { + try { + getBuffer(self, false).putShort(byteOffset, (short)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 16-bit unsigned int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value short value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @SpecializedFunction + public static Object setUint16(final Object self, final int byteOffset, final int value, final boolean littleEndian) { + try { + getBuffer(self, littleEndian).putShort(byteOffset, (short)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit signed int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value int value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) + public static Object setInt32(final Object self, final Object byteOffset, final Object value, final Object littleEndian) { + try { + getBuffer(self, littleEndian).putInt(JSType.toInt32(byteOffset), (int)JSType.toInt32(value)); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit signed int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value int value to set + * @return undefined + */ + @SpecializedFunction + public static Object setInt32(final Object self, final int byteOffset, final int value) { + try { + getBuffer(self, false).putInt(byteOffset, value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit signed int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value int value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @SpecializedFunction + public static Object setInt32(final Object self, final int byteOffset, final int value, final boolean littleEndian) { + try { + getBuffer(self, littleEndian).putInt(byteOffset, value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit unsigned int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value int value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) + public static Object setUint32(final Object self, final Object byteOffset, final Object value, final Object littleEndian) { + try { + getBuffer(self, littleEndian).putInt(JSType.toInt32(byteOffset), (int)JSType.toUint32(value)); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit unsigned int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value int value to set + * @return undefined + */ + @SpecializedFunction + public static Object setUint32(final Object self, final int byteOffset, final long value) { + try { + getBuffer(self, false).putInt(byteOffset, (int)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit unsigned int at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value int value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @SpecializedFunction + public static Object setUint32(final Object self, final int byteOffset, final long value, final boolean littleEndian) { + try { + getBuffer(self, littleEndian).putInt(byteOffset, (int)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit float at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value float value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) + public static Object setFloat32(final Object self, final Object byteOffset, final Object value, final Object littleEndian) { + try { + getBuffer(self, littleEndian).putFloat((int)JSType.toUint32(byteOffset), (float)JSType.toNumber(value)); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit float at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value float value to set + * @return undefined + */ + @SpecializedFunction + public static Object setFloat32(final Object self, final int byteOffset, final double value) { + try { + getBuffer(self, false).putFloat(byteOffset, (float)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 32-bit float at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value float value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @SpecializedFunction + public static Object setFloat32(final Object self, final int byteOffset, final double value, final boolean littleEndian) { + try { + getBuffer(self, littleEndian).putFloat(byteOffset, (float)value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 64-bit float at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value double value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) + public static Object setFloat64(final Object self, final Object byteOffset, final Object value, final Object littleEndian) { + try { + getBuffer(self, littleEndian).putDouble((int)JSType.toUint32(byteOffset), JSType.toNumber(value)); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 64-bit float at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value double value to set + * @return undefined + */ + @SpecializedFunction + public static Object setFloat64(final Object self, final int byteOffset, final double value) { + try { + getBuffer(self, false).putDouble(byteOffset, value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + /** + * Set 64-bit float at the given byteOffset + * + * @param self DataView object + * @param byteOffset byte offset to write at + * @param value double value to set + * @param littleEndian (optional) flag indicating whether to write in little endian order + * @return undefined + */ + @SpecializedFunction + public static Object setFloat64(final Object self, final int byteOffset, final double value, final boolean littleEndian) { + try { + getBuffer(self, littleEndian).putDouble(byteOffset, value); + return UNDEFINED; + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.offset"); + } + } + + // internals only below this point + private static ByteBuffer bufferFrom(final NativeArrayBuffer nab, final int offset) { + try { + return nab.getBuffer(offset); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.constructor.offset"); + } + } + + private static ByteBuffer bufferFrom(final NativeArrayBuffer nab, final int offset, final int length) { + try { + return nab.getBuffer(offset, length); + } catch (final IndexOutOfBoundsException ioe) { + throw rangeError(ioe, "dataview.constructor.offset"); + } + } + + private static NativeDataView checkSelf(final Object self) { + if (!(self instanceof NativeDataView)) { + throw typeError("not.an.arraybuffer", ScriptRuntime.safeToString(self)); + } + return (NativeDataView)self; + } + + private static ByteBuffer getBuffer(final Object self) { + return checkSelf(self).buf; + } + + private static ByteBuffer getBuffer(final Object self, final Object littleEndian) { + return getBuffer(self, JSType.toBoolean(littleEndian)); + } + + private static ByteBuffer getBuffer(final Object self, final boolean littleEndian) { + return getBuffer(self).order(littleEndian? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN); + } +} diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java b/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java index b0d120222a9..34e27f173ac 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java @@ -114,10 +114,6 @@ public final class NativeDate extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeDate(final double time, final ScriptObject proto, final PropertyMap map) { super(proto, map); final ScriptEnvironment env = Global.getEnv(); @@ -127,7 +123,7 @@ public final class NativeDate extends ScriptObject { } NativeDate(final double time, final Global global) { - this(time, global.getDatePrototype(), getInitialMap()); + this(time, global.getDatePrototype(), $nasgenmap$); } private NativeDate (final double time) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeError.java index e1a4730d553..3dea27288b0 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeError.java @@ -92,10 +92,6 @@ public final class NativeError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") private NativeError(final Object msg, final ScriptObject proto, final PropertyMap map) { super(proto, map); @@ -108,7 +104,7 @@ public final class NativeError extends ScriptObject { } NativeError(final Object msg, final Global global) { - this(msg, global.getErrorPrototype(), getInitialMap()); + this(msg, global.getErrorPrototype(), $nasgenmap$); } private NativeError(final Object msg) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java index bb11ef6c354..2b343ede673 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java @@ -62,10 +62,6 @@ public final class NativeEvalError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") private NativeEvalError(final Object msg, final ScriptObject proto, final PropertyMap map) { super(proto, map); @@ -78,7 +74,7 @@ public final class NativeEvalError extends ScriptObject { } NativeEvalError(final Object msg, final Global global) { - this(msg, global.getEvalErrorPrototype(), getInitialMap()); + this(msg, global.getEvalErrorPrototype(), $nasgenmap$); } private NativeEvalError(final Object msg) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java b/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java index c77b2fe0fa9..b71b4276cd8 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java @@ -146,10 +146,6 @@ public final class NativeJSAdapter extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - NativeJSAdapter(final Object overrides, final ScriptObject adaptee, final ScriptObject proto, final PropertyMap map) { super(proto, map); this.adaptee = wrapAdaptee(adaptee); @@ -577,7 +573,7 @@ public final class NativeJSAdapter extends ScriptObject { proto = global.getJSAdapterPrototype(); } - return new NativeJSAdapter(overrides, (ScriptObject)adaptee, (ScriptObject)proto, getInitialMap()); + return new NativeJSAdapter(overrides, (ScriptObject)adaptee, (ScriptObject)proto, $nasgenmap$); } @Override @@ -622,7 +618,7 @@ public final class NativeJSAdapter extends ScriptObject { case "getMethod": final FindProperty find = adaptee.findProperty(__call__, true); if (find != null) { - final Object value = getObjectValue(find); + final Object value = find.getObjectValue(); if (value instanceof ScriptFunction) { final ScriptFunctionImpl func = (ScriptFunctionImpl)value; // TODO: It's a shame we need to produce a function bound to this and name, when we'd only need it bound @@ -691,7 +687,7 @@ public final class NativeJSAdapter extends ScriptObject { final MethodType type = desc.getMethodType(); if (findData != null) { final String name = desc.getNameTokenCount() > 2 ? desc.getNameToken(2) : null; - final Object value = getObjectValue(findData); + final Object value = findData.getObjectValue(); if (value instanceof ScriptFunction) { final ScriptFunction func = (ScriptFunction)value; diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java b/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java index c86f3053526..49be8a7c473 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java @@ -60,17 +60,13 @@ public final class NativeJavaImporter extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeJavaImporter(final Object[] args, final ScriptObject proto, final PropertyMap map) { super(proto, map); this.args = args; } private NativeJavaImporter(final Object[] args, final Global global) { - this(args, global.getJavaImporterPrototype(), getInitialMap()); + this(args, global.getJavaImporterPrototype(), $nasgenmap$); } private NativeJavaImporter(final Object[] args) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java b/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java index 09289a015d0..4181d205051 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java @@ -34,6 +34,7 @@ import static jdk.nashorn.internal.lookup.Lookup.MH; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; import java.text.NumberFormat; import java.util.Locale; import jdk.internal.dynalink.linker.GuardedInvocation; @@ -57,7 +58,10 @@ import jdk.nashorn.internal.runtime.linker.PrimitiveLookup; @ScriptClass("Number") public final class NativeNumber extends ScriptObject { - static final MethodHandle WRAPFILTER = findWrapFilter(); + // Method handle to create an object wrapper for a primitive number + private static final MethodHandle WRAPFILTER = findOwnMH("wrapFilter", MH.type(NativeNumber.class, Object.class)); + // Method handle to retrieve the Number prototype object + private static final MethodHandle PROTOFILTER = findOwnMH("protoFilter", MH.type(Object.class, Object.class)); /** ECMA 15.7.3.2 largest positive finite value */ @Property(attributes = Attribute.NON_ENUMERABLE_CONSTANT, where = Where.CONSTRUCTOR) @@ -86,10 +90,6 @@ public final class NativeNumber extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeNumber(final double value, final ScriptObject proto, final PropertyMap map) { super(proto, map); this.value = value; @@ -98,7 +98,7 @@ public final class NativeNumber extends ScriptObject { } NativeNumber(final double value, final Global global) { - this(value, global.getNumberPrototype(), getInitialMap()); + this(value, global.getNumberPrototype(), $nasgenmap$); } private NativeNumber(final double value) { @@ -322,7 +322,7 @@ public final class NativeNumber extends ScriptObject { * @return Link to be invoked at call site. */ public static GuardedInvocation lookupPrimitive(final LinkRequest request, final Object receiver) { - return PrimitiveLookup.lookupPrimitive(request, Number.class, new NativeNumber(((Number)receiver).doubleValue()), WRAPFILTER); + return PrimitiveLookup.lookupPrimitive(request, Number.class, new NativeNumber(((Number)receiver).doubleValue()), WRAPFILTER, PROTOFILTER); } @SuppressWarnings("unused") @@ -330,6 +330,11 @@ public final class NativeNumber extends ScriptObject { return new NativeNumber(((Number)receiver).doubleValue()); } + @SuppressWarnings("unused") + private static Object protoFilter(final Object object) { + return Global.instance().getNumberPrototype(); + } + private static double getNumberValue(final Object self) { if (self instanceof Number) { return ((Number)self).doubleValue(); @@ -378,7 +383,7 @@ public final class NativeNumber extends ScriptObject { return str; } - private static MethodHandle findWrapFilter() { - return MH.findStatic(MethodHandles.lookup(), NativeNumber.class, "wrapFilter", MH.type(NativeNumber.class, Object.class)); + private static MethodHandle findOwnMH(final String name, final MethodType type) { + return MH.findStatic(MethodHandles.lookup(), NativeNumber.class, name, type); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java index 6e0d954bc7c..4b2bebcfd2d 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java @@ -62,10 +62,6 @@ public final class NativeRangeError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") private NativeRangeError(final Object msg, final ScriptObject proto, final PropertyMap map) { super(proto, map); @@ -78,7 +74,7 @@ public final class NativeRangeError extends ScriptObject { } NativeRangeError(final Object msg, final Global global) { - this(msg, global.getRangeErrorPrototype(), getInitialMap()); + this(msg, global.getRangeErrorPrototype(), $nasgenmap$); } private NativeRangeError(final Object msg) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java index 052950c6d24..504f16ecd6c 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java @@ -62,10 +62,6 @@ public final class NativeReferenceError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") private NativeReferenceError(final Object msg, final ScriptObject proto, final PropertyMap map) { super(proto, map); @@ -78,7 +74,7 @@ public final class NativeReferenceError extends ScriptObject { } NativeReferenceError(final Object msg, final Global global) { - this(msg, global.getReferenceErrorPrototype(), getInitialMap()); + this(msg, global.getReferenceErrorPrototype(), $nasgenmap$); } private NativeReferenceError(final Object msg) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java index abc3366d353..04b828bfc21 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java @@ -70,12 +70,8 @@ public final class NativeRegExp extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeRegExp(final Global global) { - super(global.getRegExpPrototype(), getInitialMap()); + super(global.getRegExpPrototype(), $nasgenmap$); this.globalObject = global; } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java index 5d79699e2ae..f12cea12c13 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java @@ -53,12 +53,8 @@ public final class NativeRegExpExecResult extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - NativeRegExpExecResult(final RegExpResult result, final Global global) { - super(global.getArrayPrototype(), getInitialMap()); + super(global.getArrayPrototype(), $nasgenmap$); setIsArray(); this.setArray(ArrayData.allocate(result.getGroups().clone())); this.index = result.getIndex(); diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeString.java b/nashorn/src/jdk/nashorn/internal/objects/NativeString.java index 2370f514518..c75b2b00362 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeString.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeString.java @@ -32,6 +32,7 @@ import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; import java.text.Collator; import java.util.ArrayList; import java.util.Arrays; @@ -69,21 +70,20 @@ public final class NativeString extends ScriptObject { private final CharSequence value; - static final MethodHandle WRAPFILTER = findWrapFilter(); + // Method handle to create an object wrapper for a primitive string + private static final MethodHandle WRAPFILTER = findOwnMH("wrapFilter", MH.type(NativeString.class, Object.class)); + // Method handle to retrieve the String prototype object + private static final MethodHandle PROTOFILTER = findOwnMH("protoFilter", MH.type(Object.class, Object.class)); // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeString(final CharSequence value) { this(value, Global.instance()); } NativeString(final CharSequence value, final Global global) { - this(value, global.getStringPrototype(), getInitialMap()); + this(value, global.getStringPrototype(), $nasgenmap$); } private NativeString(final CharSequence value, final ScriptObject proto, final PropertyMap map) { @@ -1199,7 +1199,7 @@ public final class NativeString extends ScriptObject { */ public static GuardedInvocation lookupPrimitive(final LinkRequest request, final Object receiver) { final MethodHandle guard = NashornGuards.getInstanceOf2Guard(String.class, ConsString.class); - return PrimitiveLookup.lookupPrimitive(request, guard, new NativeString((CharSequence)receiver), WRAPFILTER); + return PrimitiveLookup.lookupPrimitive(request, guard, new NativeString((CharSequence)receiver), WRAPFILTER, PROTOFILTER); } @SuppressWarnings("unused") @@ -1207,6 +1207,11 @@ public final class NativeString extends ScriptObject { return new NativeString((CharSequence)receiver); } + @SuppressWarnings("unused") + private static Object protoFilter(final Object object) { + return Global.instance().getStringPrototype(); + } + private static CharSequence getCharSequence(final Object self) { if (self instanceof String || self instanceof ConsString) { return (CharSequence)self; @@ -1254,7 +1259,7 @@ public final class NativeString extends ScriptObject { return key >= 0 && key < value.length(); } - private static MethodHandle findWrapFilter() { - return MH.findStatic(MethodHandles.lookup(), NativeString.class, "wrapFilter", MH.type(NativeString.class, Object.class)); + private static MethodHandle findOwnMH(final String name, final MethodType type) { + return MH.findStatic(MethodHandles.lookup(), NativeString.class, name, type); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java index ffe1b0a7432..6515f3cc2e6 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java @@ -62,13 +62,9 @@ public final class NativeSyntaxError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") NativeSyntaxError(final Object msg, final Global global) { - super(global.getSyntaxErrorPrototype(), getInitialMap()); + super(global.getSyntaxErrorPrototype(), $nasgenmap$); if (msg != UNDEFINED) { this.instMessage = JSType.toString(msg); } else { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java index 067139cda3d..f799b1767d0 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java @@ -62,13 +62,9 @@ public final class NativeTypeError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") NativeTypeError(final Object msg, final Global global) { - super(global.getTypeErrorPrototype(), getInitialMap()); + super(global.getTypeErrorPrototype(), $nasgenmap$); if (msg != UNDEFINED) { this.instMessage = JSType.toString(msg); } else { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java index 382e23f4b65..fd59bc8a209 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java @@ -61,13 +61,9 @@ public final class NativeURIError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") NativeURIError(final Object msg, final Global global) { - super(global.getURIErrorPrototype(), getInitialMap()); + super(global.getURIErrorPrototype(), $nasgenmap$); if (msg != UNDEFINED) { this.instMessage = JSType.toString(msg); } else { diff --git a/nashorn/src/jdk/nashorn/internal/objects/PrototypeObject.java b/nashorn/src/jdk/nashorn/internal/objects/PrototypeObject.java index 1fd4f60d5a0..483f6174702 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/PrototypeObject.java +++ b/nashorn/src/jdk/nashorn/internal/objects/PrototypeObject.java @@ -57,10 +57,6 @@ public class PrototypeObject extends ScriptObject { map$ = PropertyMap.newMap(properties); } - static PropertyMap getInitialMap() { - return map$; - } - private PrototypeObject(final Global global, final PropertyMap map) { super(global.getObjectPrototype(), map != map$? map.addAll(map$) : map$); } diff --git a/nashorn/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java b/nashorn/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java index 9852c96273d..dcbc7da99c8 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java +++ b/nashorn/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java @@ -55,27 +55,11 @@ public class ScriptFunctionImpl extends ScriptFunction { // property map for non-strict, non-bound functions. private static final PropertyMap map$; - static PropertyMap getInitialMap() { - return map$; - } - - static PropertyMap getInitialAnonymousMap() { - return AnonymousFunction.getInitialMap(); - } - - static PropertyMap getInitialStrictMap() { - return strictmodemap$; - } - - static PropertyMap getInitialBoundMap() { - return boundfunctionmap$; - } - // Marker object for lazily initialized prototype object private static final Object LAZY_PROTOTYPE = new Object(); private ScriptFunctionImpl(final String name, final MethodHandle invokeHandle, final MethodHandle[] specs, final Global global) { - super(name, invokeHandle, getInitialMap(), null, specs, false, true, true); + super(name, invokeHandle, map$, null, specs, ScriptFunctionData.IS_BUILTIN_CONSTRUCTOR); init(global); } @@ -92,7 +76,7 @@ public class ScriptFunctionImpl extends ScriptFunction { } private ScriptFunctionImpl(final String name, final MethodHandle invokeHandle, final PropertyMap map, final MethodHandle[] specs, final Global global) { - super(name, invokeHandle, map.addAll(getInitialMap()), null, specs, false, true, true); + super(name, invokeHandle, map.addAll(map$), null, specs, ScriptFunctionData.IS_BUILTIN_CONSTRUCTOR); init(global); } @@ -109,8 +93,8 @@ public class ScriptFunctionImpl extends ScriptFunction { this(name, invokeHandle, map, specs, Global.instance()); } - private ScriptFunctionImpl(final String name, final MethodHandle methodHandle, final ScriptObject scope, final MethodHandle[] specs, final boolean isStrict, final boolean isBuiltin, final boolean isConstructor, final Global global) { - super(name, methodHandle, getMap(global, isStrict), scope, specs, isStrict, isBuiltin, isConstructor); + private ScriptFunctionImpl(final String name, final MethodHandle methodHandle, final ScriptObject scope, final MethodHandle[] specs, final int flags, final Global global) { + super(name, methodHandle, getMap(isStrict(flags)), scope, specs, flags); init(global); } @@ -121,16 +105,14 @@ public class ScriptFunctionImpl extends ScriptFunction { * @param methodHandle handle for invocation * @param scope scope object * @param specs specialized versions of this method, if available, null otherwise - * @param isStrict are we in strict mode - * @param isBuiltin is this a built-in function - * @param isConstructor can the function be used as a constructor (most can; some built-ins are restricted). + * @param flags {@link ScriptFunctionData} flags */ - ScriptFunctionImpl(final String name, final MethodHandle methodHandle, final ScriptObject scope, final MethodHandle[] specs, final boolean isStrict, final boolean isBuiltin, final boolean isConstructor) { - this(name, methodHandle, scope, specs, isStrict, isBuiltin, isConstructor, Global.instance()); + ScriptFunctionImpl(final String name, final MethodHandle methodHandle, final ScriptObject scope, final MethodHandle[] specs, final int flags) { + this(name, methodHandle, scope, specs, flags, Global.instance()); } private ScriptFunctionImpl(final RecompilableScriptFunctionData data, final ScriptObject scope, final Global global) { - super(data, getMap(global, data.isStrict()), scope); + super(data, getMap(data.isStrict()), scope); init(global); } @@ -150,7 +132,7 @@ public class ScriptFunctionImpl extends ScriptFunction { * @param global the global object */ ScriptFunctionImpl(final ScriptFunctionData data, final Global global) { - super(data, getInitialBoundMap(), null); + super(data, boundfunctionmap$, null); init(global); } @@ -173,9 +155,13 @@ public class ScriptFunctionImpl extends ScriptFunction { return newMap; } + private static boolean isStrict(final int flags) { + return (flags & ScriptFunctionData.IS_STRICT) != 0; + } + // Choose the map based on strict mode! - private static PropertyMap getMap(final Global global, final boolean strict) { - return strict ? getInitialStrictMap() : getInitialMap(); + private static PropertyMap getMap(final boolean strict) { + return strict ? strictmodemap$ : map$; } private static PropertyMap createBoundFunctionMap(final PropertyMap strictModeMap) { @@ -189,12 +175,8 @@ public class ScriptFunctionImpl extends ScriptFunction { private static class AnonymousFunction extends ScriptFunctionImpl { private static final PropertyMap anonmap$ = PropertyMap.newMap(); - static PropertyMap getInitialMap() { - return anonmap$; - } - AnonymousFunction(final Global global) { - super("", GlobalFunctions.ANONYMOUS, getInitialAnonymousMap(), null); + super("", GlobalFunctions.ANONYMOUS, anonmap$, null); } } @@ -211,7 +193,7 @@ public class ScriptFunctionImpl extends ScriptFunction { * @return new ScriptFunction */ static ScriptFunction makeFunction(final String name, final MethodHandle methodHandle, final MethodHandle[] specs) { - final ScriptFunctionImpl func = new ScriptFunctionImpl(name, methodHandle, null, specs, false, true, false); + final ScriptFunctionImpl func = new ScriptFunctionImpl(name, methodHandle, null, specs, ScriptFunctionData.IS_BUILTIN); func.setPrototype(UNDEFINED); // Non-constructor built-in functions do not have "prototype" property func.deleteOwnProperty(func.getMap().findProperty("prototype")); diff --git a/nashorn/src/jdk/nashorn/internal/parser/Parser.java b/nashorn/src/jdk/nashorn/internal/parser/Parser.java index 60cbaccb68e..f6b962a93e1 100644 --- a/nashorn/src/jdk/nashorn/internal/parser/Parser.java +++ b/nashorn/src/jdk/nashorn/internal/parser/Parser.java @@ -1799,6 +1799,7 @@ loop: case THIS: final String name = type.getName(); next(); + lc.setFlag(lc.getCurrentFunction(), FunctionNode.USES_THIS); return new IdentNode(primaryToken, finish, name); case IDENT: final IdentNode ident = getIdent(); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java b/nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java index 702ca76ba1f..d22a956760b 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java @@ -141,10 +141,12 @@ public final class AccessorProperty extends Property { private Class<?> currentType; /** - * Delegate constructor. This is used when adding properties to the Global scope, which - * is necessary for outermost levels in a script (the ScriptObject is represented by - * a JO-prefixed ScriptObject class, but the properties need to be in the Global scope - * and are thus rebound with that as receiver + * Delegate constructor for bound properties. This is used for properties created by + * {@link ScriptRuntime#mergeScope} and the Nashorn {@code Object.bindProperties} method. + * The former is used to add a script's defined globals to the current global scope while + * still storing them in a JO-prefixed ScriptObject class. + * + * <p>All properties created by this constructor have the {@link #IS_BOUND} flag set.</p> * * @param property accessor property to rebind * @param delegate delegate object to rebind receiver to @@ -157,6 +159,8 @@ public final class AccessorProperty extends Property { this.objectGetter = bindTo(property.ensureObjectGetter(), delegate); this.objectSetter = bindTo(property.ensureObjectSetter(), delegate); + // Properties created this way are bound to a delegate + this.flags |= IS_BOUND; setCurrentType(property.getCurrentType()); } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/Context.java b/nashorn/src/jdk/nashorn/internal/runtime/Context.java index 3e6a1488fa3..f3ec08757d1 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/Context.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/Context.java @@ -36,6 +36,8 @@ import java.io.IOException; import java.io.PrintWriter; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; +import java.lang.ref.ReferenceQueue; +import java.lang.ref.SoftReference; import java.lang.reflect.Modifier; import java.net.MalformedURLException; import java.net.URL; @@ -46,6 +48,7 @@ import java.security.CodeSource; import java.security.Permissions; import java.security.PrivilegedAction; import java.security.ProtectionDomain; +import java.util.LinkedHashMap; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; import jdk.internal.org.objectweb.asm.ClassReader; @@ -153,16 +156,19 @@ public final class Context { /** Is Context global debug mode enabled ? */ public static final boolean DEBUG = Options.getBooleanProperty("nashorn.debug"); - private static final ThreadLocal<ScriptObject> currentGlobal = new ThreadLocal<>(); + private static final ThreadLocal<Global> currentGlobal = new ThreadLocal<>(); + + // class cache + private ClassCache classCache; /** * Get the current global scope * @return the current global scope */ - public static ScriptObject getGlobal() { + public static Global getGlobal() { // This class in a package.access protected package. // Trusted code only can call this method. - return getGlobalTrusted(); + return currentGlobal.get(); } /** @@ -171,10 +177,19 @@ public final class Context { */ public static void setGlobal(final ScriptObject global) { if (global != null && !(global instanceof Global)) { - throw new IllegalArgumentException("global is not an instance of Global!"); + throw new IllegalArgumentException("not a global!"); } + setGlobal((Global)global); + } - setGlobalTrusted(global); + /** + * Set the current global scope + * @param global the global scope + */ + public static void setGlobal(final Global global) { + // This class in a package.access protected package. + // Trusted code only can call this method. + currentGlobal.set(global); } /** @@ -195,7 +210,7 @@ public final class Context { * @return error writer of the current context */ public static PrintWriter getCurrentErr() { - final ScriptObject global = getGlobalTrusted(); + final ScriptObject global = getGlobal(); return (global != null)? global.getContext().getErr() : new PrintWriter(System.err); } @@ -348,6 +363,11 @@ public final class Context { this.classPathLoader = null; } + final int cacheSize = env._class_cache_size; + if (cacheSize > 0) { + classCache = new ClassCache(cacheSize); + } + // print version info if asked. if (env._version) { getErr().println("nashorn " + Version.version()); @@ -395,7 +415,7 @@ public final class Context { * @return the property map of the current global scope */ public static PropertyMap getGlobalMap() { - return Context.getGlobalTrusted().getMap(); + return Context.getGlobal().getMap(); } /** @@ -425,7 +445,7 @@ public final class Context { final String file = (location == UNDEFINED || location == null) ? "<eval>" : location.toString(); final Source source = new Source(file, string); final boolean directEval = location != UNDEFINED; // is this direct 'eval' call or indirectly invoked eval? - final ScriptObject global = Context.getGlobalTrusted(); + final Global global = Context.getGlobal(); ScriptObject scope = initialScope; @@ -457,7 +477,7 @@ public final class Context { // in the caller's environment. A new environment is created! if (strictFlag) { // Create a new scope object - final ScriptObject strictEvalScope = ((GlobalObject)global).newObject(); + final ScriptObject strictEvalScope = global.newObject(); // bless it as a "scope" strictEvalScope.setIsScope(); @@ -582,10 +602,10 @@ public final class Context { * @throws IOException if source cannot be found or loaded */ public Object loadWithNewGlobal(final Object from, final Object...args) throws IOException { - final ScriptObject oldGlobal = getGlobalTrusted(); - final ScriptObject newGlobal = AccessController.doPrivileged(new PrivilegedAction<ScriptObject>() { + final Global oldGlobal = getGlobal(); + final Global newGlobal = AccessController.doPrivileged(new PrivilegedAction<Global>() { @Override - public ScriptObject run() { + public Global run() { try { return newGlobal(); } catch (final RuntimeException e) { @@ -598,17 +618,17 @@ public final class Context { }, CREATE_GLOBAL_ACC_CTXT); // initialize newly created Global instance initGlobal(newGlobal); - setGlobalTrusted(newGlobal); + setGlobal(newGlobal); final Object[] wrapped = args == null? ScriptRuntime.EMPTY_ARRAY : ScriptObjectMirror.wrapArray(args, oldGlobal); - newGlobal.put("arguments", ((GlobalObject)newGlobal).wrapAsObject(wrapped), env._strict); + newGlobal.put("arguments", newGlobal.wrapAsObject(wrapped), env._strict); try { // wrap objects from newGlobal's world as mirrors - but if result // is from oldGlobal's world, unwrap it! return ScriptObjectMirror.unwrap(ScriptObjectMirror.wrap(load(newGlobal, from), newGlobal), oldGlobal); } finally { - setGlobalTrusted(oldGlobal); + setGlobal(oldGlobal); } } @@ -637,7 +657,7 @@ public final class Context { * Checks that the given Class can be accessed from no permissions context. * * @param clazz Class object - * @throw SecurityException if not accessible + * @throws SecurityException if not accessible */ public static void checkPackageAccess(final Class<?> clazz) { final SecurityManager sm = System.getSecurityManager(); @@ -654,12 +674,12 @@ public final class Context { * Checks that the given package name can be accessed from no permissions context. * * @param pkgName package name - * @throw SecurityException if not accessible + * @throws SecurityException if not accessible */ public static void checkPackageAccess(final String pkgName) { final SecurityManager sm = System.getSecurityManager(); if (sm != null) { - checkPackageAccess(sm, pkgName.endsWith(".")? pkgName : pkgName + "."); + checkPackageAccess(sm, pkgName.endsWith(".") ? pkgName : pkgName + "."); } } @@ -783,7 +803,7 @@ public final class Context { * * @return the initialized global scope object. */ - public ScriptObject createGlobal() { + public Global createGlobal() { return initGlobal(newGlobal()); } @@ -791,7 +811,7 @@ public final class Context { * Create a new uninitialized global scope object * @return the global script object */ - public ScriptObject newGlobal() { + public Global newGlobal() { return new Global(this); } @@ -801,20 +821,16 @@ public final class Context { * @param global the global * @return the initialized global scope object. */ - public ScriptObject initGlobal(final ScriptObject global) { - if (! (global instanceof GlobalObject)) { - throw new IllegalArgumentException("not a global object!"); - } - + public Global initGlobal(final Global global) { // Need only minimal global object, if we are just compiling. if (!env._compile_only) { - final ScriptObject oldGlobal = Context.getGlobalTrusted(); + final Global oldGlobal = Context.getGlobal(); try { - Context.setGlobalTrusted(global); + Context.setGlobal(global); // initialize global scope with builtin global objects - ((GlobalObject)global).initBuiltinObjects(); + global.initBuiltinObjects(); } finally { - Context.setGlobalTrusted(oldGlobal); + Context.setGlobal(oldGlobal); } } @@ -822,30 +838,15 @@ public final class Context { } /** - * Trusted variants - package-private + * Trusted variant - package-private */ - /** - * Return the current global scope - * @return current global scope - */ - static ScriptObject getGlobalTrusted() { - return currentGlobal.get(); - } - - /** - * Set the current global scope - */ - static void setGlobalTrusted(ScriptObject global) { - currentGlobal.set(global); - } - /** * Return the current global's context * @return current global's context */ static Context getContextTrusted() { - return Context.getGlobalTrusted().getContext(); + return ((ScriptObject)Context.getGlobal()).getContext(); } /** @@ -914,7 +915,7 @@ public final class Context { } // Package as a JavaScript function and pass function back to shell. - return ((GlobalObject)Context.getGlobalTrusted()).newScriptFunction(RUN_SCRIPT.symbolName(), runMethodHandle, scope, strict); + return Context.getGlobal().newScriptFunction(RUN_SCRIPT.symbolName(), runMethodHandle, scope, strict); } private ScriptFunction compileScript(final Source source, final ScriptObject scope, final ErrorManager errMan) { @@ -925,16 +926,10 @@ public final class Context { // start with no errors, no warnings. errMan.reset(); - GlobalObject global = null; - Class<?> script; - - if (env._class_cache_size > 0) { - global = (GlobalObject)Context.getGlobalTrusted(); - script = global.findCachedClass(source); - if (script != null) { - Compiler.LOG.fine("Code cache hit for ", source, " avoiding recompile."); - return script; - } + Class<?> script = findCachedClass(source); + if (script != null) { + Compiler.LOG.fine("Code cache hit for ", source, " avoiding recompile."); + return script; } final FunctionNode functionNode = new Parser(env, source, errMan, strict).parse(); @@ -963,10 +958,7 @@ public final class Context { final FunctionNode newFunctionNode = compiler.compile(functionNode); script = compiler.install(newFunctionNode); - - if (global != null) { - global.cacheClass(source, script); - } + cacheClass(source, script); return script; } @@ -988,4 +980,60 @@ public final class Context { private long getUniqueScriptId() { return uniqueScriptId.getAndIncrement(); } + + /** + * Cache for compiled script classes. + */ + @SuppressWarnings("serial") + private static class ClassCache extends LinkedHashMap<Source, ClassReference> { + private final int size; + private final ReferenceQueue<Class<?>> queue; + + ClassCache(int size) { + super(size, 0.75f, true); + this.size = size; + this.queue = new ReferenceQueue<>(); + } + + void cache(final Source source, final Class<?> clazz) { + put(source, new ClassReference(clazz, queue, source)); + } + + @Override + protected boolean removeEldestEntry(final Map.Entry<Source, ClassReference> eldest) { + return size() > size; + } + + @Override + public ClassReference get(Object key) { + for (ClassReference ref; (ref = (ClassReference)queue.poll()) != null; ) { + remove(ref.source); + } + return super.get(key); + } + + } + + private static class ClassReference extends SoftReference<Class<?>> { + private final Source source; + + ClassReference(final Class<?> clazz, final ReferenceQueue<Class<?>> queue, final Source source) { + super(clazz, queue); + this.source = source; + } + } + + // Class cache management + private Class<?> findCachedClass(final Source source) { + ClassReference ref = classCache == null ? null : classCache.get(source); + return ref != null ? ref.get() : null; + } + + private void cacheClass(final Source source, final Class<?> clazz) { + if (classCache != null) { + classCache.cache(source, clazz); + } + } + + } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/DebuggerSupport.java b/nashorn/src/jdk/nashorn/internal/runtime/DebuggerSupport.java index c288a963321..261bc0200aa 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/DebuggerSupport.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/DebuggerSupport.java @@ -75,7 +75,7 @@ final class DebuggerSupport { * @return context global. */ static Object getGlobal() { - return Context.getGlobalTrusted(); + return Context.getGlobal(); } /** @@ -87,7 +87,7 @@ final class DebuggerSupport { * @return Result of eval as string, or, an exception or null depending on returnException. */ static Object eval(final ScriptObject scope, final Object self, final String string, final boolean returnException) { - final ScriptObject global = Context.getGlobalTrusted(); + final ScriptObject global = Context.getGlobal(); final ScriptObject initialScope = scope != null ? scope : global; final Object callThis = self != null ? self : global; final Context context = global.getContext(); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ECMAErrors.java b/nashorn/src/jdk/nashorn/internal/runtime/ECMAErrors.java index 754ebbf955f..affba497b18 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ECMAErrors.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ECMAErrors.java @@ -31,6 +31,7 @@ import java.util.ResourceBundle; import jdk.nashorn.api.scripting.NashornException; import jdk.nashorn.internal.scripts.JS; import jdk.nashorn.internal.codegen.CompilerConstants; +import jdk.nashorn.internal.objects.Global; /** * Helper class to throw various standard "ECMA error" exceptions such as Error, ReferenceError, TypeError etc. @@ -66,7 +67,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException asEcmaException(final ParserException e) { - return asEcmaException(Context.getGlobalTrusted(), e); + return asEcmaException(Context.getGlobal(), e); } /** @@ -78,11 +79,11 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException asEcmaException(final ScriptObject global, final ParserException e) { + public static ECMAException asEcmaException(final Global global, final ParserException e) { final JSErrorType errorType = e.getErrorType(); assert errorType != null : "error type for " + e + " was null"; - final GlobalObject globalObj = (GlobalObject)global; + final Global globalObj = global; final String msg = e.getMessage(); // translate to ECMAScript Error object using error type @@ -116,7 +117,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException syntaxError(final String msgId, final String... args) { - return syntaxError(Context.getGlobalTrusted(), msgId, args); + return syntaxError(Context.getGlobal(), msgId, args); } /** @@ -128,7 +129,7 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException syntaxError(final ScriptObject global, final String msgId, final String... args) { + public static ECMAException syntaxError(final Global global, final String msgId, final String... args) { return syntaxError(global, null, msgId, args); } @@ -142,7 +143,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException syntaxError(final Throwable cause, final String msgId, final String... args) { - return syntaxError(Context.getGlobalTrusted(), cause, msgId, args); + return syntaxError(Context.getGlobal(), cause, msgId, args); } /** @@ -155,9 +156,9 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException syntaxError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) { + public static ECMAException syntaxError(final Global global, final Throwable cause, final String msgId, final String... args) { final String msg = getMessage("syntax.error." + msgId, args); - return error(((GlobalObject)global).newSyntaxError(msg), cause); + return error(global.newSyntaxError(msg), cause); } /** @@ -169,7 +170,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException typeError(final String msgId, final String... args) { - return typeError(Context.getGlobalTrusted(), msgId, args); + return typeError(Context.getGlobal(), msgId, args); } /** @@ -181,7 +182,7 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException typeError(final ScriptObject global, final String msgId, final String... args) { + public static ECMAException typeError(final Global global, final String msgId, final String... args) { return typeError(global, null, msgId, args); } @@ -195,7 +196,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException typeError(final Throwable cause, final String msgId, final String... args) { - return typeError(Context.getGlobalTrusted(), cause, msgId, args); + return typeError(Context.getGlobal(), cause, msgId, args); } /** @@ -208,9 +209,9 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException typeError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) { + public static ECMAException typeError(final Global global, final Throwable cause, final String msgId, final String... args) { final String msg = getMessage("type.error." + msgId, args); - return error(((GlobalObject)global).newTypeError(msg), cause); + return error(global.newTypeError(msg), cause); } /** @@ -222,7 +223,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException rangeError(final String msgId, final String... args) { - return rangeError(Context.getGlobalTrusted(), msgId, args); + return rangeError(Context.getGlobal(), msgId, args); } /** @@ -234,7 +235,7 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException rangeError(final ScriptObject global, final String msgId, final String... args) { + public static ECMAException rangeError(final Global global, final String msgId, final String... args) { return rangeError(global, null, msgId, args); } @@ -248,7 +249,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException rangeError(final Throwable cause, final String msgId, final String... args) { - return rangeError(Context.getGlobalTrusted(), cause, msgId, args); + return rangeError(Context.getGlobal(), cause, msgId, args); } /** @@ -261,9 +262,9 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException rangeError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) { + public static ECMAException rangeError(final Global global, final Throwable cause, final String msgId, final String... args) { final String msg = getMessage("range.error." + msgId, args); - return error(((GlobalObject)global).newRangeError(msg), cause); + return error(global.newRangeError(msg), cause); } /** @@ -275,7 +276,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException referenceError(final String msgId, final String... args) { - return referenceError(Context.getGlobalTrusted(), msgId, args); + return referenceError(Context.getGlobal(), msgId, args); } /** @@ -287,7 +288,7 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException referenceError(final ScriptObject global, final String msgId, final String... args) { + public static ECMAException referenceError(final Global global, final String msgId, final String... args) { return referenceError(global, null, msgId, args); } @@ -301,7 +302,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException referenceError(final Throwable cause, final String msgId, final String... args) { - return referenceError(Context.getGlobalTrusted(), cause, msgId, args); + return referenceError(Context.getGlobal(), cause, msgId, args); } /** @@ -314,9 +315,9 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException referenceError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) { + public static ECMAException referenceError(final Global global, final Throwable cause, final String msgId, final String... args) { final String msg = getMessage("reference.error." + msgId, args); - return error(((GlobalObject)global).newReferenceError(msg), cause); + return error(global.newReferenceError(msg), cause); } /** @@ -328,7 +329,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException uriError(final String msgId, final String... args) { - return uriError(Context.getGlobalTrusted(), msgId, args); + return uriError(Context.getGlobal(), msgId, args); } /** @@ -340,7 +341,7 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException uriError(final ScriptObject global, final String msgId, final String... args) { + public static ECMAException uriError(final Global global, final String msgId, final String... args) { return uriError(global, null, msgId, args); } @@ -354,7 +355,7 @@ public final class ECMAErrors { * @return the resulting {@link ECMAException} */ public static ECMAException uriError(final Throwable cause, final String msgId, final String... args) { - return uriError(Context.getGlobalTrusted(), cause, msgId, args); + return uriError(Context.getGlobal(), cause, msgId, args); } /** @@ -367,9 +368,9 @@ public final class ECMAErrors { * * @return the resulting {@link ECMAException} */ - public static ECMAException uriError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) { + public static ECMAException uriError(final Global global, final Throwable cause, final String msgId, final String... args) { final String msg = getMessage("uri.error." + msgId, args); - return error(((GlobalObject)global).newURIError(msg), cause); + return error(global.newURIError(msg), cause); } /** diff --git a/nashorn/src/jdk/nashorn/internal/runtime/FinalScriptFunctionData.java b/nashorn/src/jdk/nashorn/internal/runtime/FinalScriptFunctionData.java index c7a410ea821..f16cf41c3ab 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/FinalScriptFunctionData.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/FinalScriptFunctionData.java @@ -38,31 +38,27 @@ final class FinalScriptFunctionData extends ScriptFunctionData { /** * Constructor - used for bind * - * @param name name - * @param arity arity - * @param functions precompiled code - * @param isStrict strict - * @param isBuiltin builtin - * @param isConstructor constructor + * @param name name + * @param arity arity + * @param functions precompiled code + * @param flags {@link ScriptFunctionData} flags */ - FinalScriptFunctionData(final String name, int arity, CompiledFunctions functions, final boolean isStrict, final boolean isBuiltin, final boolean isConstructor) { - super(name, arity, isStrict, isBuiltin, isConstructor); + FinalScriptFunctionData(final String name, final int arity, final CompiledFunctions functions, final int flags) { + super(name, arity, flags); code.addAll(functions); } /** - * Constructor - used from ScriptFunction. This assumes that we have code alraedy for the + * Constructor - used from ScriptFunction. This assumes that we have code already for the * method (typically a native method) and possibly specializations. * - * @param name name - * @param mh method handle for generic version of method - * @param specs specializations - * @param isStrict strict - * @param isBuiltin builtin - * @param isConstructor constructor + * @param name name + * @param mh method handle for generic version of method + * @param specs specializations + * @param flags {@link ScriptFunctionData} flags */ - FinalScriptFunctionData(final String name, final MethodHandle mh, final MethodHandle[] specs, final boolean isStrict, final boolean isBuiltin, final boolean isConstructor) { - super(name, arity(mh), isStrict, isBuiltin, isConstructor); + FinalScriptFunctionData(final String name, final MethodHandle mh, final MethodHandle[] specs, final int flags) { + super(name, arity(mh), flags); addInvoker(mh); if (specs != null) { diff --git a/nashorn/src/jdk/nashorn/internal/runtime/GlobalObject.java b/nashorn/src/jdk/nashorn/internal/runtime/GlobalObject.java deleted file mode 100644 index 3779f3bda9c..00000000000 --- a/nashorn/src/jdk/nashorn/internal/runtime/GlobalObject.java +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Copyright (c) 2010, 2013, 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 - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.nashorn.internal.runtime; - -import java.lang.invoke.MethodHandle; -import java.util.concurrent.Callable; -import jdk.internal.dynalink.linker.GuardedInvocation; -import jdk.internal.dynalink.linker.LinkRequest; -import jdk.nashorn.internal.runtime.linker.InvokeByName; - -/** - * Runtime interface to the global scope objects. - */ - -public interface GlobalObject { - /** - * Is this global of the given Context? - * @param ctxt the context - * @return true if this global belongs to the given Context - */ - public boolean isOfContext(final Context ctxt); - - /** - * Does this global belong to a strict Context? - * @return true if this global belongs to a strict Context - */ - public boolean isStrictContext(); - - /** - * Initialize standard builtin objects like "Object", "Array", "Function" etc. - * as well as our extension builtin objects like "Java", "JSAdapter" as properties - * of the global scope object. - */ - public void initBuiltinObjects(); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newScriptFunction(String, MethodHandle, ScriptObject, boolean)} - * - * @param name function name - * @param handle invocation handle for function - * @param scope the scope - * @param strict are we in strict mode - * - * @return new script function - */ - public ScriptFunction newScriptFunction(String name, MethodHandle handle, ScriptObject scope, boolean strict); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#wrapAsObject(Object)} - * - * @param obj object to wrap - * @return wrapped object - */ - public Object wrapAsObject(Object obj); - - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#primitiveLookup(LinkRequest, Object)} - * - * @param request the link request for the dynamic call site. - * @param self self reference - * - * @return guarded invocation - */ - public GuardedInvocation primitiveLookup(LinkRequest request, Object self); - - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newObject()} - * - * @return the new ScriptObject - */ - public ScriptObject newObject(); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#isError(ScriptObject)} - * - * @param sobj to check if it is an error object - * @return true if error object - */ - public boolean isError(ScriptObject sobj); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newError(String)} - * - * @param msg the error message - * - * @return the new ScriptObject representing the error - */ - public ScriptObject newError(String msg); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newEvalError(String)} - * - * @param msg the error message - * - * @return the new ScriptObject representing the eval error - */ - public ScriptObject newEvalError(String msg); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newRangeError(String)} - * - * @param msg the error message - * - * @return the new ScriptObject representing the range error - */ - public ScriptObject newRangeError(String msg); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newReferenceError(String)} - * - * @param msg the error message - * - * @return the new ScriptObject representing the reference error - */ - public ScriptObject newReferenceError(String msg); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newSyntaxError(String)} - * - * @param msg the error message - * - * @return the new ScriptObject representing the syntax error - */ - public ScriptObject newSyntaxError(String msg); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newTypeError(String)} - * - * @param msg the error message - * - * @return the new ScriptObject representing the type error - */ - public ScriptObject newTypeError(String msg); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newURIError(String)} - * - * @param msg the error message - * - * @return the new ScriptObject representing the URI error - */ - public ScriptObject newURIError(String msg); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newGenericDescriptor(boolean, boolean)} - * - * @param configurable is the described property configurable - * @param enumerable is the described property enumerable - * - * @return property descriptor - */ - public PropertyDescriptor newGenericDescriptor(boolean configurable, boolean enumerable); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newDataDescriptor(Object, boolean, boolean, boolean)} - * - * @param value data value - * @param configurable is the described property configurable - * @param enumerable is the described property enumerable - * @param writable is the described property writable - * - * @return property descriptor - */ - public PropertyDescriptor newDataDescriptor(Object value, boolean configurable, boolean enumerable, boolean writable); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#newAccessorDescriptor(Object, Object, boolean, boolean)} - * - * @param get property getter, or null if none - * @param set property setter, or null if none - * @param configurable is the described property configurable - * @param enumerable is the described property enumerable - * - * @return property descriptor - */ - public PropertyDescriptor newAccessorDescriptor(Object get, Object set, boolean configurable, boolean enumerable); - - /** - * Wrapper for {@link jdk.nashorn.internal.objects.Global#getDefaultValue(ScriptObject, Class)} - * - * @param sobj script object - * @param typeHint type hint - * - * @return default value - */ - public Object getDefaultValue(ScriptObject sobj, Class<?> typeHint); - - /** - * Find the compiled Class for the given script source, if available - * - * @param source Source object of the script - * @return compiled Class object or null - */ - public Class<?> findCachedClass(Source source); - - /** - * Put the Source associated Class object in the Source-to-Class cache - * - * @param source Source of the script - * @param clazz compiled Class object for the source - */ - public void cacheClass(Source source, Class<?> clazz); - - /** - * Get cached InvokeByName object for the given key - * @param key key to be associated with InvokeByName object - * @param creator if InvokeByName is absent 'creator' is called to make one (lazy init) - * @return InvokeByName object associated with the key. - */ - public InvokeByName getInvokeByName(final Object key, final Callable<InvokeByName> creator); - - /** - * Get cached dynamic method handle for the given key - * @param key key to be associated with dynamic method handle - * @param creator if method handle is absent 'creator' is called to make one (lazy init) - * @return dynamic method handle associated with the key. - */ - public MethodHandle getDynamicInvoker(final Object key, final Callable<MethodHandle> creator); -} diff --git a/nashorn/src/jdk/nashorn/internal/runtime/JSONFunctions.java b/nashorn/src/jdk/nashorn/internal/runtime/JSONFunctions.java index 73552cb10df..64863184759 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/JSONFunctions.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/JSONFunctions.java @@ -33,6 +33,7 @@ import jdk.nashorn.internal.ir.Node; import jdk.nashorn.internal.ir.ObjectNode; import jdk.nashorn.internal.ir.PropertyNode; import jdk.nashorn.internal.ir.UnaryNode; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.parser.JSONParser; import jdk.nashorn.internal.parser.TokenType; import jdk.nashorn.internal.runtime.arrays.ArrayIndex; @@ -47,7 +48,7 @@ public final class JSONFunctions { private static final Object REVIVER_INVOKER = new Object(); private static MethodHandle getREVIVER_INVOKER() { - return ((GlobalObject)Context.getGlobal()).getDynamicInvoker(REVIVER_INVOKER, + return Context.getGlobal().getDynamicInvoker(REVIVER_INVOKER, new Callable<MethodHandle>() { @Override public MethodHandle call() { @@ -88,7 +89,7 @@ public final class JSONFunctions { throw ECMAErrors.syntaxError(e, "invalid.json", e.getMessage()); } - final ScriptObject global = Context.getGlobalTrusted(); + final Global global = Context.getGlobal(); Object unfiltered = convertNode(global, node); return applyReviver(global, unfiltered, reviver); } @@ -98,10 +99,10 @@ public final class JSONFunctions { // parse helpers // apply 'reviver' function if available - private static Object applyReviver(final ScriptObject global, final Object unfiltered, final Object reviver) { + private static Object applyReviver(final Global global, final Object unfiltered, final Object reviver) { if (reviver instanceof ScriptFunction) { - assert global instanceof GlobalObject; - final ScriptObject root = ((GlobalObject)global).newObject(); + assert global instanceof Global; + final ScriptObject root = global.newObject(); root.addOwnProperty("", Property.WRITABLE_ENUMERABLE_CONFIGURABLE, unfiltered); return walk(root, "", (ScriptFunction)reviver); } @@ -138,8 +139,8 @@ public final class JSONFunctions { } // Converts IR node to runtime value - private static Object convertNode(final ScriptObject global, final Node node) { - assert global instanceof GlobalObject; + private static Object convertNode(final Global global, final Node node) { + assert global instanceof Global; if (node instanceof LiteralNode) { // check for array literal @@ -157,7 +158,7 @@ public final class JSONFunctions { for (final Node elem : elements) { values[index++] = JSType.toNumber(convertNode(global, elem)); } - return ((GlobalObject)global).wrapAsObject(values); + return global.wrapAsObject(values); } final Object[] values = new Object[elements.length]; @@ -167,14 +168,14 @@ public final class JSONFunctions { values[index++] = convertNode(global, elem); } - return ((GlobalObject)global).wrapAsObject(values); + return global.wrapAsObject(values); } return ((LiteralNode<?>)node).getValue(); } else if (node instanceof ObjectNode) { final ObjectNode objNode = (ObjectNode) node; - final ScriptObject object = ((GlobalObject)global).newObject(); + final ScriptObject object = global.newObject(); for (final PropertyNode pNode: objNode.getElements()) { final Node valueNode = pNode.getValue(); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/JSType.java b/nashorn/src/jdk/nashorn/internal/runtime/JSType.java index 541301960c9..c49de9cf4e6 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/JSType.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/JSType.java @@ -36,6 +36,7 @@ import java.util.List; import jdk.internal.dynalink.beans.StaticClass; import jdk.nashorn.api.scripting.JSObject; import jdk.nashorn.internal.codegen.CompilerConstants.Call; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.parser.Lexer; import jdk.nashorn.internal.runtime.arrays.ArrayLikeIterator; import jdk.nashorn.internal.runtime.linker.Bootstrap; @@ -852,7 +853,7 @@ public enum JSType { * @return the wrapped object */ public static Object toScriptObject(final Object obj) { - return toScriptObject(Context.getGlobalTrusted(), obj); + return toScriptObject(Context.getGlobal(), obj); } /** @@ -865,7 +866,7 @@ public enum JSType { * * @return the wrapped object */ - public static Object toScriptObject(final ScriptObject global, final Object obj) { + public static Object toScriptObject(final Global global, final Object obj) { if (nullOrUndefined(obj)) { throw typeError(global, "not.an.object", ScriptRuntime.safeToString(obj)); } @@ -874,7 +875,7 @@ public enum JSType { return obj; } - return ((GlobalObject)global).wrapAsObject(obj); + return global.wrapAsObject(obj); } /** @@ -984,7 +985,7 @@ public enum JSType { if (obj instanceof ScriptObject) { if (safe) { final ScriptObject sobj = (ScriptObject)obj; - final GlobalObject gobj = (GlobalObject)Context.getGlobalTrusted(); + final Global gobj = Context.getGlobal(); return gobj.isError(sobj) ? ECMAException.safeToString(sobj) : sobj.safeToString(); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ListAdapter.java b/nashorn/src/jdk/nashorn/internal/runtime/ListAdapter.java index 26c22c390b9..9a3408fbbd6 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ListAdapter.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ListAdapter.java @@ -34,6 +34,7 @@ import java.util.RandomAccess; import java.util.concurrent.Callable; import jdk.nashorn.api.scripting.JSObject; import jdk.nashorn.api.scripting.ScriptObjectMirror; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.linker.Bootstrap; import jdk.nashorn.internal.runtime.linker.InvokeByName; @@ -54,7 +55,7 @@ public abstract class ListAdapter extends AbstractList<Object> implements Random // These add to the back and front of the list private static final Object PUSH = new Object(); private static InvokeByName getPUSH() { - return ((GlobalObject)Context.getGlobal()).getInvokeByName(PUSH, + return Context.getGlobal().getInvokeByName(PUSH, new Callable<InvokeByName>() { @Override public InvokeByName call() { @@ -65,7 +66,7 @@ public abstract class ListAdapter extends AbstractList<Object> implements Random private static final Object UNSHIFT = new Object(); private static InvokeByName getUNSHIFT() { - return ((GlobalObject)Context.getGlobal()).getInvokeByName(UNSHIFT, + return Context.getGlobal().getInvokeByName(UNSHIFT, new Callable<InvokeByName>() { @Override public InvokeByName call() { @@ -77,7 +78,7 @@ public abstract class ListAdapter extends AbstractList<Object> implements Random // These remove from the back and front of the list private static final Object POP = new Object(); private static InvokeByName getPOP() { - return ((GlobalObject)Context.getGlobal()).getInvokeByName(POP, + return Context.getGlobal().getInvokeByName(POP, new Callable<InvokeByName>() { @Override public InvokeByName call() { @@ -88,7 +89,7 @@ public abstract class ListAdapter extends AbstractList<Object> implements Random private static final Object SHIFT = new Object(); private static InvokeByName getSHIFT() { - return ((GlobalObject)Context.getGlobal()).getInvokeByName(SHIFT, + return Context.getGlobal().getInvokeByName(SHIFT, new Callable<InvokeByName>() { @Override public InvokeByName call() { @@ -100,7 +101,7 @@ public abstract class ListAdapter extends AbstractList<Object> implements Random // These insert and remove in the middle of the list private static final Object SPLICE_ADD = new Object(); private static InvokeByName getSPLICE_ADD() { - return ((GlobalObject)Context.getGlobal()).getInvokeByName(SPLICE_ADD, + return Context.getGlobal().getInvokeByName(SPLICE_ADD, new Callable<InvokeByName>() { @Override public InvokeByName call() { @@ -111,7 +112,7 @@ public abstract class ListAdapter extends AbstractList<Object> implements Random private static final Object SPLICE_REMOVE = new Object(); private static InvokeByName getSPLICE_REMOVE() { - return ((GlobalObject)Context.getGlobal()).getInvokeByName(SPLICE_REMOVE, + return Context.getGlobal().getInvokeByName(SPLICE_REMOVE, new Callable<InvokeByName>() { @Override public InvokeByName call() { diff --git a/nashorn/src/jdk/nashorn/internal/runtime/NativeJavaPackage.java b/nashorn/src/jdk/nashorn/internal/runtime/NativeJavaPackage.java index 591fd327c64..fbca1c340bd 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/NativeJavaPackage.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/NativeJavaPackage.java @@ -35,7 +35,6 @@ import jdk.internal.dynalink.linker.LinkRequest; import jdk.internal.dynalink.support.Guards; import jdk.nashorn.internal.lookup.MethodHandleFactory; import jdk.nashorn.internal.lookup.MethodHandleFunctionality; -import jdk.nashorn.internal.objects.NativeJava; import jdk.nashorn.internal.objects.annotations.Attribute; import jdk.nashorn.internal.objects.annotations.Function; @@ -52,7 +51,7 @@ import jdk.nashorn.internal.objects.annotations.Function; * var ArrayList = java.util.ArrayList * var list = new ArrayList * </pre> - * You can also use {@link NativeJava#type(Object, Object)} to access Java classes. These two statements are mostly + * You can also use {@link jdk.nashorn.internal.objects.NativeJava#type(Object, Object)} to access Java classes. These two statements are mostly * equivalent: * <pre> * var listType1 = java.util.ArrayList diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ParserException.java b/nashorn/src/jdk/nashorn/internal/runtime/ParserException.java index 2424bc3f1be..5137d596ee7 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ParserException.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ParserException.java @@ -26,6 +26,7 @@ package jdk.nashorn.internal.runtime; import jdk.nashorn.api.scripting.NashornException; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.parser.Token; /** @@ -110,7 +111,7 @@ public final class ParserException extends NashornException { * Throw this {@code ParserException} as one of the 7 native JavaScript errors * @param global global scope object */ - public void throwAsEcmaException(final ScriptObject global) { + public void throwAsEcmaException(final Global global) { throw ECMAErrors.asEcmaException(global, this); } } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/Property.java b/nashorn/src/jdk/nashorn/internal/runtime/Property.java index d1dbe2adb4b..885fa712a13 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/Property.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/Property.java @@ -84,9 +84,13 @@ public abstract class Property { /** Can this property be undefined? */ public static final int CAN_BE_UNDEFINED = 1 << 8; - /* Is this a function declaration property ? */ + /** Is this a function declaration property ? */ public static final int IS_FUNCTION_DECLARATION = 1 << 9; + /** Is this property bound to a receiver? This means get/set operations will be delegated to + * a statically defined object instead of the object passed as callsite parameter. */ + public static final int IS_BOUND = 1 << 10; + /** Property key. */ private final String key; @@ -251,6 +255,16 @@ public abstract class Property { return (flags & IS_SPILL) == IS_SPILL; } + /** + * Is this property bound to a receiver? If this method returns {@code true} get and set operations + * will be delegated to a statically bound object instead of the object passed as parameter. + * + * @return true if this is a bound property + */ + public boolean isBound() { + return (flags & IS_BOUND) == IS_BOUND; + } + /** * Does this property use any slots in the spill array described in * {@link Property#isSpill}? In that case how many. Currently a property diff --git a/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java b/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java index 2b18cbc87b6..7e1a516aa6d 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java @@ -103,9 +103,7 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { public RecompilableScriptFunctionData(final FunctionNode functionNode, final CodeInstaller<ScriptEnvironment> installer, final String allocatorClassName, final PropertyMap allocatorMap) { super(functionName(functionNode), functionNode.getParameters().size(), - functionNode.isStrict(), - false, - true); + getFlags(functionNode)); this.functionNode = functionNode; this.source = functionNode.getSource(); @@ -129,10 +127,11 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { final StringBuilder sb = new StringBuilder(); if (source != null) { - sb.append(source.getName()) - .append(':') - .append(functionNode.getLineNumber()) - .append(' '); + sb.append(source.getName()); + if (functionNode != null) { + sb.append(':').append(functionNode.getLineNumber()); + } + sb.append(' '); } return sb.toString() + super.toString(); @@ -159,6 +158,20 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { return Token.toDesc(TokenType.FUNCTION, position, length); } + private static int getFlags(final FunctionNode functionNode) { + int flags = IS_CONSTRUCTOR; + if (functionNode.isStrict()) { + flags |= IS_STRICT; + } + if (functionNode.needsCallee()) { + flags |= NEEDS_CALLEE; + } + if (functionNode.usesThis() || functionNode.hasEval()) { + flags |= USES_THIS; + } + return flags; + } + @Override ScriptObject allocate(final PropertyMap map) { try { @@ -182,41 +195,42 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { return allocatorMap; } + + @Override + protected void ensureCompiled() { + if (functionNode != null && functionNode.isLazy()) { + Compiler.LOG.info("Trampoline hit: need to do lazy compilation of '", functionNode.getName(), "'"); + final Compiler compiler = new Compiler(installer); + functionNode = compiler.compile(functionNode); + assert !functionNode.isLazy(); + compiler.install(functionNode); + flags = getFlags(functionNode); + } + } + @Override protected synchronized void ensureCodeGenerated() { - if (!code.isEmpty()) { - return; // nothing to do, we have code, at least some. - } + if (!code.isEmpty()) { + return; // nothing to do, we have code, at least some. + } - if (functionNode.isLazy()) { - Compiler.LOG.info("Trampoline hit: need to do lazy compilation of '", functionNode.getName(), "'"); - final Compiler compiler = new Compiler(installer); - functionNode = compiler.compile(functionNode); - assert !functionNode.isLazy(); - compiler.install(functionNode); + ensureCompiled(); - /* - * We don't need to update any flags - varArgs and needsCallee are instrincic - * in the function world we need to get a destination node from the compile instead - * and replace it with our function node. TODO - */ - } + /* + * We can't get to this program point unless we have bytecode, either from + * eager compilation or from running a lazy compile on the lines above + */ - /* - * We can't get to this program point unless we have bytecode, either from - * eager compilation or from running a lazy compile on the lines above - */ + assert functionNode.hasState(CompilationState.EMITTED) : functionNode.getName() + " " + functionNode.getState() + " " + Debug.id(functionNode); - assert functionNode.hasState(CompilationState.EMITTED) : functionNode.getName() + " " + functionNode.getState() + " " + Debug.id(functionNode); + // code exists - look it up and add it into the automatically sorted invoker list + addCode(functionNode); - // code exists - look it up and add it into the automatically sorted invoker list - addCode(functionNode); - - if (! functionNode.canSpecialize()) { - // allow GC to claim IR stuff that is not needed anymore - functionNode = null; - installer = null; - } + if (! functionNode.canSpecialize()) { + // allow GC to claim IR stuff that is not needed anymore + functionNode = null; + installer = null; + } } private MethodHandle addCode(final FunctionNode fn) { diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunction.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunction.java index 0f5174ea15b..3d8b4ff288b 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunction.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunction.java @@ -38,6 +38,7 @@ import jdk.internal.dynalink.linker.GuardedInvocation; import jdk.internal.dynalink.linker.LinkRequest; import jdk.nashorn.internal.codegen.CompilerConstants.Call; import jdk.nashorn.internal.lookup.MethodHandleFactory; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor; import jdk.nashorn.internal.runtime.linker.NashornGuards; @@ -66,6 +67,8 @@ public abstract class ScriptFunction extends ScriptObject { private static final MethodHandle WRAPFILTER = findOwnMH("wrapFilter", Object.class, Object.class); + private static final MethodHandle GLOBALFILTER = findOwnMH("globalFilter", Object.class, Object.class); + /** method handle to scope getter for this ScriptFunction */ public static final Call GET_SCOPE = virtualCallNoLookup(ScriptFunction.class, "getScope", ScriptObject.class); @@ -91,9 +94,7 @@ public abstract class ScriptFunction extends ScriptObject { * @param map property map * @param scope scope * @param specs specialized version of this function - other method handles - * @param strict is this a strict mode function? - * @param builtin is this a built in function? - * @param isConstructor is this a constructor? + * @param flags {@link ScriptFunctionData} flags */ protected ScriptFunction( final String name, @@ -101,11 +102,9 @@ public abstract class ScriptFunction extends ScriptObject { final PropertyMap map, final ScriptObject scope, final MethodHandle[] specs, - final boolean strict, - final boolean builtin, - final boolean isConstructor) { + final int flags) { - this(new FinalScriptFunctionData(name, methodHandle, specs, strict, builtin, isConstructor), map, scope); + this(new FinalScriptFunctionData(name, methodHandle, specs, flags), map, scope); } /** @@ -477,7 +476,14 @@ public abstract class ScriptFunction extends ScriptObject { if (obj instanceof ScriptObject || !ScriptFunctionData.isPrimitiveThis(obj)) { return obj; } - return ((GlobalObject)Context.getGlobalTrusted()).wrapAsObject(obj); + return Context.getGlobal().wrapAsObject(obj); + } + + + @SuppressWarnings("unused") + private static Object globalFilter(final Object object) { + // replace whatever we get with the current global object + return Context.getGlobal(); } /** @@ -495,11 +501,11 @@ public abstract class ScriptFunction extends ScriptObject { @Override protected GuardedInvocation findCallMethod(final CallSiteDescriptor desc, final LinkRequest request) { final MethodType type = desc.getMethodType(); + final boolean scopeCall = NashornCallSiteDescriptor.isScope(desc); if (request.isCallSiteUnstable()) { - // (this, callee, args...) => (this, callee, args[]) - final MethodHandle collector = MH.asCollector(ScriptRuntime.APPLY.methodHandle(), Object[].class, - type.parameterCount() - 2); + // (callee, this, args...) => (callee, this, args[]) + final MethodHandle collector = MH.asCollector(ScriptRuntime.APPLY.methodHandle(), Object[].class, type.parameterCount() - 2); // If call site is statically typed to take a ScriptFunction, we don't need a guard, otherwise we need a // generic "is this a ScriptFunction?" guard. @@ -510,17 +516,12 @@ public abstract class ScriptFunction extends ScriptObject { MethodHandle boundHandle; MethodHandle guard = null; - final boolean scopeCall = NashornCallSiteDescriptor.isScope(desc); - if (data.needsCallee()) { final MethodHandle callHandle = getBestInvoker(type, request.getArguments()); - if (scopeCall) { + if (scopeCall && needsWrappedThis()) { // Make a handle that drops the passed "this" argument and substitutes either Global or Undefined - // (callee, this, args...) => (callee, args...) - boundHandle = MH.insertArguments(callHandle, 1, needsWrappedThis() ? Context.getGlobalTrusted() : ScriptRuntime.UNDEFINED); - // (callee, args...) => (callee, [this], args...) - boundHandle = MH.dropArguments(boundHandle, 1, Object.class); - + // (callee, this, args...) => (callee, [this], args...) + boundHandle = MH.filterArguments(callHandle, 1, GLOBALFILTER); } else { // It's already (callee, this, args...), just what we need boundHandle = callHandle; @@ -531,12 +532,12 @@ public abstract class ScriptFunction extends ScriptObject { // NOTE: the only built-in named "extend" is NativeJava.extend. As a special-case we're binding the // current lookup as its "this" so it can do security-sensitive creation of adapter classes. boundHandle = MH.dropArguments(MH.bindTo(callHandle, desc.getLookup()), 0, Object.class, Object.class); - } else if (scopeCall) { + } else if (scopeCall && needsWrappedThis()) { // Make a handle that drops the passed "this" argument and substitutes either Global or Undefined - // (this, args...) => (args...) - boundHandle = MH.bindTo(callHandle, needsWrappedThis() ? Context.getGlobalTrusted() : ScriptRuntime.UNDEFINED); - // (args...) => ([callee], [this], args...) - boundHandle = MH.dropArguments(boundHandle, 0, Object.class, Object.class); + // (this, args...) => ([this], args...) + boundHandle = MH.filterArguments(callHandle, 0, GLOBALFILTER); + // ([this], args...) => ([callee], [this], args...) + boundHandle = MH.dropArguments(boundHandle, 0, Object.class); } else { // (this, args...) => ([callee], this, args...) boundHandle = MH.dropArguments(callHandle, 0, Object.class); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java index f0569937dd0..aee367d65ba 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java @@ -32,6 +32,7 @@ import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.linker.JavaAdapterFactory; /** @@ -47,33 +48,44 @@ public abstract class ScriptFunctionData { /** All versions of this function that have been generated to code */ protected final CompiledFunctions code; + /** Function flags */ + protected int flags; + private int arity; - private final boolean isStrict; - - private final boolean isBuiltin; - - private final boolean isConstructor; - private static final MethodHandle NEWFILTER = findOwnMH("newFilter", Object.class, Object.class, Object.class); private static final MethodHandle BIND_VAR_ARGS = findOwnMH("bindVarArgs", Object[].class, Object[].class, Object[].class); + /** Is this a strict mode function? */ + public static final int IS_STRICT = 1 << 0; + /** Is this a built-in function? */ + public static final int IS_BUILTIN = 1 << 1; + /** Is this a constructor function? */ + public static final int IS_CONSTRUCTOR = 1 << 2; + /** Does this function expect a callee argument? */ + public static final int NEEDS_CALLEE = 1 << 3; + /** Does this function make use of the this-object argument? */ + public static final int USES_THIS = 1 << 4; + + /** Flag for strict or built-in functions */ + public static final int IS_STRICT_OR_BUILTIN = IS_STRICT | IS_BUILTIN; + /** Flag for built-in constructors */ + public static final int IS_BUILTIN_CONSTRUCTOR = IS_BUILTIN | IS_CONSTRUCTOR; + /** Flag for strict constructors */ + public static final int IS_STRICT_CONSTRUCTOR = IS_STRICT | IS_CONSTRUCTOR; + /** * Constructor * * @param name script function name * @param arity arity - * @param isStrict is the function strict - * @param isBuiltin is the function built in - * @param isConstructor is the function a constructor + * @param flags the function flags */ - ScriptFunctionData(final String name, final int arity, final boolean isStrict, final boolean isBuiltin, final boolean isConstructor) { - this.name = name; - this.arity = arity; - this.code = new CompiledFunctions(); - this.isStrict = isStrict; - this.isBuiltin = isBuiltin; - this.isConstructor = isConstructor; + ScriptFunctionData(final String name, final int arity, final int flags) { + this.name = name; + this.arity = arity; + this.code = new CompiledFunctions(); + this.flags = flags; } final int getArity() { @@ -105,21 +117,21 @@ public abstract class ScriptFunctionData { * @return true if strict, false otherwise */ public boolean isStrict() { - return isStrict; + return (flags & IS_STRICT) != 0; } boolean isBuiltin() { - return isBuiltin; + return (flags & IS_BUILTIN) != 0; } boolean isConstructor() { - return isConstructor; + return (flags & IS_CONSTRUCTOR) != 0; } boolean needsCallee() { - // we don't know if we need a callee or not unless we are generated - ensureCodeGenerated(); - return code.needsCallee(); + // we don't know if we need a callee or not unless code has been compiled + ensureCompiled(); + return (flags & NEEDS_CALLEE) != 0; } /** @@ -128,7 +140,7 @@ public abstract class ScriptFunctionData { * @return true if this argument must be an object */ boolean needsWrappedThis() { - return !isStrict && !isBuiltin; + return (flags & USES_THIS) != 0 && (flags & IS_STRICT_OR_BUILTIN) == 0; } String toSource() { @@ -201,6 +213,15 @@ public abstract class ScriptFunctionData { //empty } + /** + * If we can have lazy code generation, this is a hook to ensure that the code has been compiled. + * This does not guarantee the code been installed in this {@code ScriptFunctionData} instance; + * use {@link #ensureCodeGenerated()} to install the actual method handles. + */ + protected void ensureCompiled() { + //empty + } + /** * Return a generic Object/Object invoker for this method. It will ensure code * is generated, get the most generic of all versions of this function and adapt it @@ -259,6 +280,8 @@ public abstract class ScriptFunctionData { final Object[] allArgs = args == null ? ScriptRuntime.EMPTY_ARRAY : args; final int length = args == null ? 0 : args.length; + // Clear the callee and this flags + final int boundFlags = flags & ~NEEDS_CALLEE & ~USES_THIS; CompiledFunctions boundList = new CompiledFunctions(); if (code.size() == 1) { @@ -273,8 +296,7 @@ public abstract class ScriptFunctionData { boundList.add(bind(inv, fn, self, allArgs)); } - ScriptFunctionData boundData = new FinalScriptFunctionData(name, arity == -1 ? -1 : Math.max(0, arity - length), boundList, isStrict(), isBuiltin(), isConstructor()); - return boundData; + return new FinalScriptFunctionData(name, arity == -1 ? -1 : Math.max(0, arity - length), boundList, boundFlags); } /** @@ -351,11 +373,11 @@ public abstract class ScriptFunctionData { private Object convertThisObject(final Object thiz) { if (!(thiz instanceof ScriptObject) && needsWrappedThis()) { if (JSType.nullOrUndefined(thiz)) { - return Context.getGlobalTrusted(); + return Context.getGlobal(); } if (isPrimitiveThis(thiz)) { - return ((GlobalObject)Context.getGlobalTrusted()).wrapAsObject(thiz); + return Context.getGlobal().wrapAsObject(thiz); } } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java index b7f9c4c1ed0..05e236e3bd6 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java @@ -66,6 +66,7 @@ import jdk.nashorn.internal.lookup.Lookup; import jdk.nashorn.internal.lookup.MethodHandleFactory; import jdk.nashorn.internal.objects.AccessorPropertyDescriptor; import jdk.nashorn.internal.objects.DataPropertyDescriptor; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.arrays.ArrayData; import jdk.nashorn.internal.runtime.arrays.ArrayIndex; import jdk.nashorn.internal.runtime.linker.Bootstrap; @@ -131,7 +132,8 @@ public abstract class ScriptObject implements PropertyAccess { static final MethodHandle GETPROTO = findOwnMH("getProto", ScriptObject.class); static final MethodHandle SETPROTOCHECK = findOwnMH("setProtoCheck", void.class, Object.class); - static final MethodHandle MEGAMORPHIC_GET = findOwnMH("megamorphicGet", Object.class, String.class, boolean.class); + static final MethodHandle MEGAMORPHIC_GET = findOwnMH("megamorphicGet", Object.class, String.class, boolean.class, boolean.class); + static final MethodHandle GLOBALFILTER = findOwnMH("globalFilter", Object.class, Object.class); static final MethodHandle SETFIELD = findOwnMH("setField", void.class, CallSiteDescriptor.class, PropertyMap.class, PropertyMap.class, MethodHandle.class, Object.class, Object.class); static final MethodHandle SETSPILL = findOwnMH("setSpill", void.class, CallSiteDescriptor.class, PropertyMap.class, PropertyMap.class, int.class, Object.class, Object.class); @@ -225,6 +227,7 @@ public abstract class ScriptObject implements PropertyAccess { final Property oldProp = newMap.findProperty(key); if (oldProp == null) { if (property instanceof UserAccessorProperty) { + // Note: we copy accessor functions to this object which is semantically different from binding. final UserAccessorProperty prop = this.newUserAccessors(key, property.getFlags(), property.getGetterFunction(source), property.getSetterFunction(source)); newMap = newMap.addPropertyNoHistory(prop); } else { @@ -322,18 +325,18 @@ public abstract class ScriptObject implements PropertyAccess { * @return property descriptor */ public final PropertyDescriptor toPropertyDescriptor() { - final GlobalObject global = (GlobalObject) Context.getGlobalTrusted(); + final Global global = Context.getGlobal(); final PropertyDescriptor desc; if (isDataDescriptor()) { if (has(SET) || has(GET)) { - throw typeError((ScriptObject)global, "inconsistent.property.descriptor"); + throw typeError(global, "inconsistent.property.descriptor"); } desc = global.newDataDescriptor(UNDEFINED, false, false, false); } else if (isAccessorDescriptor()) { if (has(VALUE) || has(WRITABLE)) { - throw typeError((ScriptObject)global, "inconsistent.property.descriptor"); + throw typeError(global, "inconsistent.property.descriptor"); } desc = global.newAccessorDescriptor(UNDEFINED, UNDEFINED, false, false); @@ -352,7 +355,7 @@ public abstract class ScriptObject implements PropertyAccess { * * @return property descriptor */ - public static PropertyDescriptor toPropertyDescriptor(final ScriptObject global, final Object obj) { + public static PropertyDescriptor toPropertyDescriptor(final Global global, final Object obj) { if (obj instanceof ScriptObject) { return ((ScriptObject)obj).toPropertyDescriptor(); } @@ -371,7 +374,7 @@ public abstract class ScriptObject implements PropertyAccess { public Object getOwnPropertyDescriptor(final String key) { final Property property = getMap().findProperty(key); - final GlobalObject global = (GlobalObject)Context.getGlobalTrusted(); + final Global global = Context.getGlobal(); if (property != null) { final ScriptFunction get = property.getGetterFunction(this); @@ -436,7 +439,7 @@ public abstract class ScriptObject implements PropertyAccess { * @return true if property was successfully defined */ public boolean defineOwnProperty(final String key, final Object propertyDesc, final boolean reject) { - final ScriptObject global = Context.getGlobalTrusted(); + final Global global = Context.getGlobal(); final PropertyDescriptor desc = toPropertyDescriptor(global, propertyDesc); final Object current = getOwnPropertyDescriptor(key); final String name = JSType.toString(key); @@ -634,7 +637,7 @@ public abstract class ScriptObject implements PropertyAccess { final int propFlags = Property.toFlags(pdesc); if (pdesc.type() == PropertyDescriptor.GENERIC) { - final GlobalObject global = (GlobalObject) Context.getGlobalTrusted(); + final Global global = Context.getGlobal(); final PropertyDescriptor dDesc = global.newDataDescriptor(UNDEFINED, false, false, false); dDesc.fillFrom((ScriptObject)pdesc); @@ -974,17 +977,6 @@ public abstract class ScriptObject implements PropertyAccess { return ObjectClassGenerator.UNDEFINED_DOUBLE; } - /** - * Get the object value of a property - * - * @param find {@link FindProperty} lookup result - * - * @return the value of the property - */ - protected static Object getObjectValue(final FindProperty find) { - return find.getObjectValue(); - } - /** * Return methodHandle of value function for call. * @@ -995,7 +987,7 @@ public abstract class ScriptObject implements PropertyAccess { * @return value of property as a MethodHandle or null. */ protected MethodHandle getCallMethodHandle(final FindProperty find, final MethodType type, final String bindName) { - return getCallMethodHandle(getObjectValue(find), type, bindName); + return getCallMethodHandle(find.getObjectValue(), type, bindName); } /** @@ -1019,7 +1011,7 @@ public abstract class ScriptObject implements PropertyAccess { * @return Value of property. */ public final Object getWithProperty(final Property property) { - return getObjectValue(new FindProperty(this, this, property)); + return new FindProperty(this, this, property).getObjectValue(); } /** @@ -1158,7 +1150,7 @@ public abstract class ScriptObject implements PropertyAccess { } setProto((ScriptObject)newProto); } else { - final ScriptObject global = Context.getGlobalTrusted(); + final Global global = Context.getGlobal(); final Object newProtoObject = JSType.toScriptObject(global, newProto); if (newProtoObject instanceof ScriptObject) { @@ -1248,11 +1240,11 @@ public abstract class ScriptObject implements PropertyAccess { * @return the default value */ public Object getDefaultValue(final Class<?> typeHint) { - // We delegate to GlobalObject, as the implementation uses dynamic call sites to invoke object's "toString" and + // We delegate to Global, as the implementation uses dynamic call sites to invoke object's "toString" and // "valueOf" methods, and in order to avoid those call sites from becoming megamorphic when multiple contexts // are being executed in a long-running program, we move the code and their associated dynamic call sites // (Global.TO_STRING and Global.VALUE_OF) into per-context code. - return ((GlobalObject)Context.getGlobalTrusted()).getDefaultValue(this, typeHint); + return Context.getGlobal().getDefaultValue(this, typeHint); } /** @@ -1740,7 +1732,7 @@ public abstract class ScriptObject implements PropertyAccess { protected GuardedInvocation findGetMethod(final CallSiteDescriptor desc, final LinkRequest request, final String operator) { final String name = desc.getNameToken(CallSiteDescriptor.NAME_OPERAND); if (request.isCallSiteUnstable() || hasWithScope()) { - return findMegaMorphicGetMethod(desc, name, "getMethod".equals(operator)); + return findMegaMorphicGetMethod(desc, name, "getMethod".equals(operator), isScope() && NashornCallSiteDescriptor.isScope(desc)); } final FindProperty find = findProperty(name, true); @@ -1765,9 +1757,8 @@ public abstract class ScriptObject implements PropertyAccess { final Property property = find.getProperty(); methodHandle = find.getGetter(returnType); - final boolean noGuard = ObjectClassGenerator.OBJECT_FIELDS_ONLY && NashornCallSiteDescriptor.isFastScope(desc) && !property.canChangeType(); - // getMap() is fine as we have the prototype switchpoint depending on where the property was found - final MethodHandle guard = noGuard ? null : NashornGuards.getMapGuard(getMap()); + // Get the appropriate guard for this callsite and property. + final MethodHandle guard = NashornGuards.getGuard(this, property, desc); final ScriptObject owner = find.getOwner(); if (methodHandle != null) { @@ -1777,31 +1768,32 @@ public abstract class ScriptObject implements PropertyAccess { } if (!property.hasGetterFunction(owner)) { - // If not a scope bind to actual prototype as changing prototype will change the property map. - // For scopes we install a filter that replaces the self object with the prototype owning the property. - methodHandle = isScope() ? - addProtoFilter(methodHandle, find.getProtoChainLength()) : - bindTo(methodHandle, owner); + // Add a filter that replaces the self object with the prototype owning the property. + methodHandle = addProtoFilter(methodHandle, find.getProtoChainLength()); } - return new GuardedInvocation(methodHandle, noGuard ? null : getProtoSwitchPoint(name, owner), guard); + return new GuardedInvocation(methodHandle, guard == null ? null : getProtoSwitchPoint(name, owner), guard); } assert !NashornCallSiteDescriptor.isFastScope(desc); return new GuardedInvocation(Lookup.emptyGetter(returnType), getProtoSwitchPoint(name, owner), guard); } - private static GuardedInvocation findMegaMorphicGetMethod(final CallSiteDescriptor desc, final String name, final boolean isMethod) { - final MethodHandle invoker = MH.insertArguments(MEGAMORPHIC_GET, 1, name, isMethod); + private static GuardedInvocation findMegaMorphicGetMethod(final CallSiteDescriptor desc, final String name, + final boolean isMethod, final boolean isScope) { + final MethodHandle invoker = MH.insertArguments(MEGAMORPHIC_GET, 1, name, isMethod, isScope); final MethodHandle guard = getScriptObjectGuard(desc.getMethodType()); return new GuardedInvocation(invoker, guard); } @SuppressWarnings("unused") - private Object megamorphicGet(final String key, final boolean isMethod) { + private Object megamorphicGet(final String key, final boolean isMethod, final boolean isScope) { final FindProperty find = findProperty(key, true); if (find != null) { - return getObjectValue(find); + return find.getObjectValue(); + } + if (isScope) { + throw referenceError("not.defined", key); } return isMethod ? getNoSuchMethod(key) : invokeNoSuchProperty(key); @@ -1996,6 +1988,15 @@ public abstract class ScriptObject implements PropertyAccess { } } + @SuppressWarnings("unused") + private static Object globalFilter(final Object object) { + ScriptObject sobj = (ScriptObject) object; + while (sobj != null && !(sobj instanceof Global)) { + sobj = sobj.getProto(); + } + return sobj; + } + private static GuardedInvocation findMegaMorphicSetMethod(final CallSiteDescriptor desc, final String name) { final MethodType type = desc.getMethodType().insertParameterTypes(1, Object.class); final GuardedInvocation inv = findSetIndexMethod(type, NashornCallSiteDescriptor.isStrict(desc)); @@ -2041,7 +2042,7 @@ public abstract class ScriptObject implements PropertyAccess { return noSuchProperty(desc, request); } - final Object value = getObjectValue(find); + final Object value = find.getObjectValue(); if (! (value instanceof ScriptFunction)) { return createEmptyGetter(desc, name); } @@ -2067,7 +2068,7 @@ public abstract class ScriptObject implements PropertyAccess { final boolean scopeAccess = isScope() && NashornCallSiteDescriptor.isScope(desc); if (find != null) { - final Object value = getObjectValue(find); + final Object value = find.getObjectValue(); ScriptFunction func = null; MethodHandle methodHandle = null; @@ -2102,7 +2103,7 @@ public abstract class ScriptObject implements PropertyAccess { final FindProperty find = findProperty(NO_SUCH_PROPERTY_NAME, true); if (find != null) { - final Object func = getObjectValue(find); + final Object func = find.getObjectValue(); if (func instanceof ScriptFunction) { return ScriptRuntime.apply((ScriptFunction)func, this, name); @@ -2124,7 +2125,7 @@ public abstract class ScriptObject implements PropertyAccess { return invokeNoSuchProperty(name); } - final Object value = getObjectValue(find); + final Object value = find.getObjectValue(); if (! (value instanceof ScriptFunction)) { return UNDEFINED; } @@ -2664,7 +2665,7 @@ public abstract class ScriptObject implements PropertyAccess { final FindProperty find = object.findProperty(key, false, false, this); if (find != null) { - return getObjectValue(find); + return find.getObjectValue(); } } @@ -2682,7 +2683,7 @@ public abstract class ScriptObject implements PropertyAccess { final FindProperty find = findProperty(key, true); if (find != null) { - return getObjectValue(find); + return find.getObjectValue(); } } @@ -2823,7 +2824,15 @@ public abstract class ScriptObject implements PropertyAccess { throw typeError("object.non.extensible", key, ScriptRuntime.safeToString(this)); } } else { - spill(key, value); + ScriptObject sobj = this; + // undefined scope properties are set in the global object. + if (isScope()) { + while (sobj != null && !(sobj instanceof Global)) { + sobj = sobj.getProto(); + } + assert sobj != null : "no parent global object in scope"; + } + sobj.spill(key, value); } } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptRuntime.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptRuntime.java index d9705676111..6df047d85a5 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptRuntime.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptRuntime.java @@ -474,7 +474,7 @@ public final class ScriptRuntime { * @return {@link WithObject} that is the new scope */ public static ScriptObject openWith(final ScriptObject scope, final Object expression) { - final ScriptObject global = Context.getGlobalTrusted(); + final Global global = Context.getGlobal(); if (expression == UNDEFINED) { throw typeError(global, "cant.apply.with.to.undefined"); } else if (expression == null) { diff --git a/nashorn/src/jdk/nashorn/internal/runtime/SetMethodCreator.java b/nashorn/src/jdk/nashorn/internal/runtime/SetMethodCreator.java index bdbc8ec8b9a..edee3748b7a 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/SetMethodCreator.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/SetMethodCreator.java @@ -31,7 +31,6 @@ import static jdk.nashorn.internal.lookup.Lookup.MH; import java.lang.invoke.MethodHandle; import jdk.internal.dynalink.CallSiteDescriptor; import jdk.internal.dynalink.linker.GuardedInvocation; -import jdk.nashorn.internal.codegen.ObjectClassGenerator; import jdk.nashorn.internal.lookup.Lookup; import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor; import jdk.nashorn.internal.runtime.linker.NashornGuards; @@ -104,21 +103,9 @@ final class SetMethodCreator { * @return the composed guarded invocation that represents the dynamic setter method for the property. */ GuardedInvocation createGuardedInvocation() { - return new GuardedInvocation(methodHandle, getGuard()); + return new GuardedInvocation(methodHandle, NashornGuards.getGuard(sobj, property, desc)); } - private MethodHandle getGuard() { - return needsNoGuard() ? null : NashornGuards.getMapGuard(getMap()); - } - - private boolean needsNoGuard() { - return NashornCallSiteDescriptor.isFastScope(desc) && - (ObjectClassGenerator.OBJECT_FIELDS_ONLY || isPropertyTypeStable()); - } - - private boolean isPropertyTypeStable() { - return property == null || !property.canChangeType(); - } } private SetMethod createSetMethod() { @@ -153,10 +140,7 @@ final class SetMethodCreator { final MethodHandle boundHandle; if (!property.hasSetterFunction(find.getOwner()) && find.isInherited()) { - // Bind or add prototype filter depending on whether this is a scope object. - boundHandle = sobj.isScope() ? - ScriptObject.addProtoFilter(methodHandle, find.getProtoChainLength()): - ScriptObject.bindTo(methodHandle, find.getOwner()); + boundHandle = ScriptObject.addProtoFilter(methodHandle, find.getProtoChainLength()); } else { boundHandle = methodHandle; } @@ -164,8 +148,8 @@ final class SetMethodCreator { } private SetMethod createGlobalPropertySetter() { - final ScriptObject global = Context.getGlobalTrusted(); - return new SetMethod(ScriptObject.bindTo(global.addSpill(getName()), global), null); + final ScriptObject global = Context.getGlobal(); + return new SetMethod(MH.filterArguments(global.addSpill(getName()), 0, ScriptObject.GLOBALFILTER), null); } private SetMethod createNewPropertySetter() { diff --git a/nashorn/src/jdk/nashorn/internal/runtime/UserAccessorProperty.java b/nashorn/src/jdk/nashorn/internal/runtime/UserAccessorProperty.java index 931d712b9aa..a69de45ca3d 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/UserAccessorProperty.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/UserAccessorProperty.java @@ -34,6 +34,7 @@ import jdk.nashorn.internal.lookup.Lookup; import jdk.nashorn.internal.runtime.linker.Bootstrap; import static jdk.nashorn.internal.codegen.CompilerConstants.staticCall; +import jdk.nashorn.internal.objects.Global; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; @@ -73,7 +74,7 @@ public final class UserAccessorProperty extends Property { private static MethodHandle getINVOKE_UA_GETTER() { - return ((GlobalObject)Context.getGlobal()).getDynamicInvoker(INVOKE_UA_GETTER, + return Context.getGlobal().getDynamicInvoker(INVOKE_UA_GETTER, new Callable<MethodHandle>() { @Override public MethodHandle call() { @@ -86,7 +87,7 @@ public final class UserAccessorProperty extends Property { /** Dynamic invoker for setter */ private static Object INVOKE_UA_SETTER = new Object(); private static MethodHandle getINVOKE_UA_SETTER() { - return ((GlobalObject)Context.getGlobal()).getDynamicInvoker(INVOKE_UA_SETTER, + return Context.getGlobal().getDynamicInvoker(INVOKE_UA_SETTER, new Callable<MethodHandle>() { @Override public MethodHandle call() { diff --git a/nashorn/src/jdk/nashorn/internal/runtime/WithObject.java b/nashorn/src/jdk/nashorn/internal/runtime/WithObject.java index d4a28cd7fb4..dc48d727e48 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/WithObject.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/WithObject.java @@ -88,6 +88,11 @@ public final class WithObject extends ScriptObject implements Scope { @Override public GuardedInvocation lookup(final CallSiteDescriptor desc, final LinkRequest request) { + if (request.isCallSiteUnstable()) { + // Fall back to megamorphic invocation which performs a complete lookup each time without further relinking. + return super.lookup(desc, request); + } + // With scopes can never be observed outside of Nashorn code, so all call sites that can address it will of // necessity have a Nashorn descriptor - it is safe to cast. final NashornCallSiteDescriptor ndesc = (NashornCallSiteDescriptor)desc; @@ -265,7 +270,7 @@ public final class WithObject extends ScriptObject implements Scope { } private static MethodHandle filter(final MethodHandle mh, final MethodHandle filter) { - return MH.filterArguments(mh, 0, filter); + return MH.filterArguments(mh, 0, filter.asType(filter.type().changeReturnType(mh.type().parameterType(0)))); } /** diff --git a/nashorn/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java b/nashorn/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java index 0aa1d9ebfcc..58f329682e0 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java @@ -27,7 +27,7 @@ package jdk.nashorn.internal.runtime.arrays; import java.lang.invoke.MethodHandle; import java.nio.ByteBuffer; -import jdk.nashorn.internal.runtime.GlobalObject; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.JSType; import jdk.nashorn.internal.runtime.PropertyDescriptor; @@ -399,7 +399,7 @@ public abstract class ArrayData { * * @return property descriptor for element */ - public PropertyDescriptor getDescriptor(final GlobalObject global, final int index) { + public PropertyDescriptor getDescriptor(final Global global, final int index) { return global.newDataDescriptor(getObject(index), true, true, true); } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/arrays/ByteBufferArrayData.java b/nashorn/src/jdk/nashorn/internal/runtime/arrays/ByteBufferArrayData.java index 58ea1318f53..33c8679f7f7 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/arrays/ByteBufferArrayData.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/arrays/ByteBufferArrayData.java @@ -27,7 +27,7 @@ package jdk.nashorn.internal.runtime.arrays; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; import java.nio.ByteBuffer; -import jdk.nashorn.internal.runtime.GlobalObject; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.PropertyDescriptor; import jdk.nashorn.internal.runtime.ScriptRuntime; @@ -60,7 +60,8 @@ final class ByteBufferArrayData extends ArrayData { * * @return property descriptor for element */ - public PropertyDescriptor getDescriptor(final GlobalObject global, final int index) { + @Override + public PropertyDescriptor getDescriptor(final Global global, final int index) { // make the index properties not configurable return global.newDataDescriptor(getObject(index), false, true, true); } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java b/nashorn/src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java index a1f772b8bae..e15541db95f 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java @@ -25,9 +25,9 @@ package jdk.nashorn.internal.runtime.arrays; +import jdk.nashorn.internal.objects.Global; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; -import jdk.nashorn.internal.runtime.GlobalObject; import jdk.nashorn.internal.runtime.PropertyDescriptor; /** @@ -44,7 +44,7 @@ final class FrozenArrayFilter extends SealedArrayFilter { } @Override - public PropertyDescriptor getDescriptor(final GlobalObject global, final int index) { + public PropertyDescriptor getDescriptor(final Global global, final int index) { return global.newDataDescriptor(getObject(index), false, true, false); } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java b/nashorn/src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java index 6f77ddc02e6..bc6de9f04ac 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java @@ -25,9 +25,9 @@ package jdk.nashorn.internal.runtime.arrays; +import jdk.nashorn.internal.objects.Global; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; -import jdk.nashorn.internal.runtime.GlobalObject; import jdk.nashorn.internal.runtime.PropertyDescriptor; /** @@ -62,7 +62,7 @@ class SealedArrayFilter extends ArrayFilter { } @Override - public PropertyDescriptor getDescriptor(final GlobalObject global, final int index) { + public PropertyDescriptor getDescriptor(final Global global, final int index) { return global.newDataDescriptor(getObject(index), false, true, true); } } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java index 5aceb206331..4951dad6cf1 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java @@ -64,6 +64,7 @@ import jdk.internal.org.objectweb.asm.Label; import jdk.internal.org.objectweb.asm.Opcodes; import jdk.internal.org.objectweb.asm.Type; import jdk.internal.org.objectweb.asm.commons.InstructionAdapter; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.ScriptFunction; import jdk.nashorn.internal.runtime.ScriptObject; @@ -134,6 +135,7 @@ final class JavaAdapterBytecodeGenerator { static final Type CONTEXT_TYPE = Type.getType(Context.class); static final Type OBJECT_TYPE = Type.getType(Object.class); static final Type SCRIPT_OBJECT_TYPE = Type.getType(ScriptObject.class); + static final Type GLOBAL_TYPE = Type.getType(Global.class); static final String CONTEXT_TYPE_NAME = CONTEXT_TYPE.getInternalName(); static final String OBJECT_TYPE_NAME = OBJECT_TYPE.getInternalName(); @@ -143,8 +145,10 @@ final class JavaAdapterBytecodeGenerator { static final String GLOBAL_FIELD_NAME = "global"; static final String SCRIPT_OBJECT_TYPE_DESCRIPTOR = SCRIPT_OBJECT_TYPE.getDescriptor(); + static final String GLOBAL_TYPE_DESCRIPTOR = GLOBAL_TYPE.getDescriptor(); - static final String SET_GLOBAL_METHOD_DESCRIPTOR = Type.getMethodDescriptor(Type.VOID_TYPE, SCRIPT_OBJECT_TYPE); + + static final String SET_GLOBAL_METHOD_DESCRIPTOR = Type.getMethodDescriptor(Type.VOID_TYPE, GLOBAL_TYPE); static final String VOID_NOARG_METHOD_DESCRIPTOR = Type.getMethodDescriptor(Type.VOID_TYPE); private static final Type SCRIPT_FUNCTION_TYPE = Type.getType(ScriptFunction.class); @@ -167,7 +171,7 @@ final class JavaAdapterBytecodeGenerator { private static final String UNSUPPORTED_OPERATION_TYPE_NAME = UNSUPPORTED_OPERATION_TYPE.getInternalName(); private static final String METHOD_HANDLE_TYPE_DESCRIPTOR = METHOD_HANDLE_TYPE.getDescriptor(); - private static final String GET_GLOBAL_METHOD_DESCRIPTOR = Type.getMethodDescriptor(SCRIPT_OBJECT_TYPE); + private static final String GET_GLOBAL_METHOD_DESCRIPTOR = Type.getMethodDescriptor(GLOBAL_TYPE); private static final String GET_CLASS_METHOD_DESCRIPTOR = Type.getMethodDescriptor(Type.getType(Class.class)); // Package used when the adapter can't be defined in the adaptee's package (either because it's sealed, or because @@ -259,7 +263,7 @@ final class JavaAdapterBytecodeGenerator { } private void generateGlobalFields() { - cw.visitField(ACC_PRIVATE | ACC_FINAL | (classOverride ? ACC_STATIC : 0), GLOBAL_FIELD_NAME, SCRIPT_OBJECT_TYPE_DESCRIPTOR, null, null).visitEnd(); + cw.visitField(ACC_PRIVATE | ACC_FINAL | (classOverride ? ACC_STATIC : 0), GLOBAL_FIELD_NAME, GLOBAL_TYPE_DESCRIPTOR, null, null).visitEnd(); usedFieldNames.add(GLOBAL_FIELD_NAME); } @@ -363,7 +367,7 @@ final class JavaAdapterBytecodeGenerator { } // Assign "global = Context.getGlobal()" invokeGetGlobalWithNullCheck(mv); - mv.putstatic(generatedClassName, GLOBAL_FIELD_NAME, SCRIPT_OBJECT_TYPE_DESCRIPTOR); + mv.putstatic(generatedClassName, GLOBAL_FIELD_NAME, GLOBAL_TYPE_DESCRIPTOR); endInitMethod(mv); } @@ -508,7 +512,7 @@ final class JavaAdapterBytecodeGenerator { // Assign "this.global = Context.getGlobal()" mv.visitVarInsn(ALOAD, 0); invokeGetGlobalWithNullCheck(mv); - mv.putfield(generatedClassName, GLOBAL_FIELD_NAME, SCRIPT_OBJECT_TYPE_DESCRIPTOR); + mv.putfield(generatedClassName, GLOBAL_FIELD_NAME, GLOBAL_TYPE_DESCRIPTOR); endInitMethod(mv); } @@ -652,10 +656,10 @@ final class JavaAdapterBytecodeGenerator { // Load the creatingGlobal object if(classOverride) { // If class handle is defined, load the static defining global - mv.getstatic(generatedClassName, GLOBAL_FIELD_NAME, SCRIPT_OBJECT_TYPE_DESCRIPTOR); + mv.getstatic(generatedClassName, GLOBAL_FIELD_NAME, GLOBAL_TYPE_DESCRIPTOR); } else { mv.visitVarInsn(ALOAD, 0); - mv.getfield(generatedClassName, GLOBAL_FIELD_NAME, SCRIPT_OBJECT_TYPE_DESCRIPTOR); + mv.getfield(generatedClassName, GLOBAL_FIELD_NAME, GLOBAL_TYPE_DESCRIPTOR); } // stack: [creatingGlobal, handle] final Label setupGlobal = new Label(); @@ -674,7 +678,7 @@ final class JavaAdapterBytecodeGenerator { // stack: [creatingGlobal, creatingGlobal, handle] // Emit code for switching to the creating global - // ScriptObject currentGlobal = Context.getGlobal(); + // Global currentGlobal = Context.getGlobal(); invokeGetGlobal(mv); mv.dup(); @@ -744,7 +748,7 @@ final class JavaAdapterBytecodeGenerator { final Label methodEnd = new Label(); mv.visitLabel(methodEnd); - mv.visitLocalVariable("currentGlobal", SCRIPT_OBJECT_TYPE_DESCRIPTOR, null, setupGlobal, methodEnd, currentGlobalVar); + mv.visitLocalVariable("currentGlobal", GLOBAL_TYPE_DESCRIPTOR, null, setupGlobal, methodEnd, currentGlobalVar); mv.visitLocalVariable("globalsDiffer", Type.INT_TYPE.getDescriptor(), null, setupGlobal, methodEnd, globalsDifferVar); if(throwableDeclared) { diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java index 5e0b890a6d2..475ab08c369 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java @@ -48,7 +48,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import jdk.internal.dynalink.beans.StaticClass; import jdk.internal.dynalink.support.LinkRequestImpl; -import jdk.nashorn.internal.objects.NativeJava; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.ECMAException; import jdk.nashorn.internal.runtime.ScriptFunction; @@ -68,8 +67,8 @@ import jdk.nashorn.internal.runtime.ScriptObject; * generate the adapter class itself; see its documentation for details about the generated class. * </p><p> * You normally don't use this class directly, but rather either create adapters from script using - * {@link NativeJava#extend(Object, Object...)}, using the {@code new} operator on abstract classes and interfaces (see - * {@link NativeJava#type(Object, Object)}), or implicitly when passing script functions to Java methods expecting SAM + * {@link jdk.nashorn.internal.objects.NativeJava#extend(Object, Object...)}, using the {@code new} operator on abstract classes and interfaces (see + * {@link jdk.nashorn.internal.objects.NativeJava#type(Object, Object)}), or implicitly when passing script functions to Java methods expecting SAM * types. * </p> */ @@ -337,6 +336,7 @@ public final class JavaAdapterFactory { private static ProtectionDomain createMinimalPermissionDomain() { // Generated classes need to have at least the permission to access Nashorn runtime and runtime.linker packages. final Permissions permissions = new Permissions(); + permissions.add(new RuntimePermission("accessClassInPackage.jdk.nashorn.internal.objects")); permissions.add(new RuntimePermission("accessClassInPackage.jdk.nashorn.internal.runtime")); permissions.add(new RuntimePermission("accessClassInPackage.jdk.nashorn.internal.runtime.linker")); return new ProtectionDomain(new CodeSource(null, (CodeSigner[])null), permissions); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornGuards.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornGuards.java index 0b720be2740..ca3e10c48d4 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornGuards.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornGuards.java @@ -29,6 +29,11 @@ import static jdk.nashorn.internal.lookup.Lookup.MH; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; +import java.lang.ref.WeakReference; +import jdk.internal.dynalink.CallSiteDescriptor; +import jdk.nashorn.internal.codegen.ObjectClassGenerator; +import jdk.nashorn.internal.objects.Global; +import jdk.nashorn.internal.runtime.Property; import jdk.nashorn.internal.runtime.PropertyMap; import jdk.nashorn.internal.runtime.ScriptFunction; import jdk.nashorn.internal.runtime.ScriptObject; @@ -40,6 +45,7 @@ public final class NashornGuards { private static final MethodHandle IS_SCRIPTOBJECT = findOwnMH("isScriptObject", boolean.class, Object.class); private static final MethodHandle IS_SCRIPTFUNCTION = findOwnMH("isScriptFunction", boolean.class, Object.class); private static final MethodHandle IS_MAP = findOwnMH("isMap", boolean.class, Object.class, PropertyMap.class); + private static final MethodHandle SAME_OBJECT = findOwnMH("sameObject", boolean.class, Object.class, WeakReference.class); private static final MethodHandle IS_INSTANCEOF_2 = findOwnMH("isInstanceOf2", boolean.class, Object.class, Class.class, Class.class); // don't create me! @@ -74,6 +80,55 @@ public final class NashornGuards { return MH.insertArguments(IS_MAP, 1, map); } + /** + * Determine whether the given callsite needs a guard. + * @param property the property, or null + * @param desc the callsite descriptor + * @return true if a guard should be used for this callsite + */ + static boolean needsGuard(final Property property, final CallSiteDescriptor desc) { + return property == null || property.isConfigurable() + || property.isBound() || !ObjectClassGenerator.OBJECT_FIELDS_ONLY + || !NashornCallSiteDescriptor.isFastScope(desc) || property.canChangeType(); + } + + /** + * Get the guard for a property access. This returns an identity guard for non-configurable global properties + * and a map guard for everything else. + * + * @param sobj the first object in the prototype chain + * @param property the property + * @param desc the callsite descriptor + * @return method handle for guard + */ + public static MethodHandle getGuard(final ScriptObject sobj, final Property property, final CallSiteDescriptor desc) { + if (!needsGuard(property, desc)) { + return null; + } + if (NashornCallSiteDescriptor.isScope(desc)) { + if (property != null && property.isBound()) { + // This is a declared top level variables in main script or eval, use identity guard. + return getIdentityGuard(sobj); + } + if (!(sobj instanceof Global) && (property == null || property.isConfigurable())) { + // Undeclared variables in nested evals need stronger guards + return combineGuards(getIdentityGuard(sobj), getMapGuard(sobj.getMap())); + } + } + return getMapGuard(sobj.getMap()); + } + + + /** + * Get a guard that checks referential identity of the current object. + * + * @param sobj the self object + * @return true if same self object instance + */ + public static MethodHandle getIdentityGuard(final ScriptObject sobj) { + return MH.insertArguments(SAME_OBJECT, 1, new WeakReference<>(sobj)); + } + /** * Get a guard that checks if in item is an instance of either of two classes. * @@ -111,6 +166,11 @@ public final class NashornGuards { return self instanceof ScriptObject && ((ScriptObject)self).getMap() == map; } + @SuppressWarnings("unused") + private static boolean sameObject(final Object self, final WeakReference<ScriptObject> ref) { + return self == ref.get(); + } + @SuppressWarnings("unused") private static boolean isInstanceOf2(final Object self, final Class<?> class1, final Class<?> class2) { return class1.isInstance(self) || class2.isInstance(self); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java index 5cc1cd2c632..22135bc15bc 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java @@ -37,9 +37,9 @@ import jdk.internal.dynalink.linker.LinkRequest; import jdk.internal.dynalink.linker.LinkerServices; import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker; import jdk.internal.dynalink.support.TypeUtilities; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.ConsString; import jdk.nashorn.internal.runtime.Context; -import jdk.nashorn.internal.runtime.GlobalObject; /** * Internal linker for String, Boolean, and Number objects, only ever used by Nashorn engine and not exposed to other @@ -62,7 +62,7 @@ final class NashornPrimitiveLinker implements TypeBasedGuardingDynamicLinker, Gu final LinkRequest request = origRequest.withoutRuntimeContext(); // Nashorn has no runtime context final Object self = request.getReceiver(); - final GlobalObject global = (GlobalObject) Context.getGlobal(); + final Global global = Context.getGlobal(); final NashornCallSiteDescriptor desc = (NashornCallSiteDescriptor) request.getCallSiteDescriptor(); return Bootstrap.asType(global.primitiveLookup(request, self), linkerServices, desc); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java index c9b5eaa3fa9..7665be7fcb3 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java @@ -35,6 +35,7 @@ import jdk.internal.dynalink.linker.LinkRequest; import jdk.internal.dynalink.support.CallSiteDescriptorFactory; import jdk.internal.dynalink.support.Guards; import jdk.nashorn.internal.lookup.Lookup; +import jdk.nashorn.internal.runtime.FindProperty; import jdk.nashorn.internal.runtime.ScriptObject; /** @@ -61,8 +62,9 @@ public final class PrimitiveLookup { * type {@code receiverClass}. */ public static GuardedInvocation lookupPrimitive(final LinkRequest request, final Class<?> receiverClass, - final ScriptObject wrappedReceiver, final MethodHandle wrapFilter) { - return lookupPrimitive(request, Guards.getInstanceOfGuard(receiverClass), wrappedReceiver, wrapFilter); + final ScriptObject wrappedReceiver, final MethodHandle wrapFilter, + final MethodHandle protoFilter) { + return lookupPrimitive(request, Guards.getInstanceOfGuard(receiverClass), wrappedReceiver, wrapFilter, protoFilter); } /** @@ -79,7 +81,8 @@ public final class PrimitiveLookup { * type (that is implied by both {@code guard} and {@code wrappedReceiver}). */ public static GuardedInvocation lookupPrimitive(final LinkRequest request, final MethodHandle guard, - final ScriptObject wrappedReceiver, final MethodHandle wrapFilter) { + final ScriptObject wrappedReceiver, final MethodHandle wrapFilter, + final MethodHandle protoFilter) { final CallSiteDescriptor desc = request.getCallSiteDescriptor(); final String operator = CallSiteDescriptorFactory.tokenizeOperators(desc).get(0); if ("setProp".equals(operator) || "setElem".equals(operator)) { @@ -93,9 +96,23 @@ public final class PrimitiveLookup { if(desc.getNameTokenCount() > 2) { final String name = desc.getNameToken(CallSiteDescriptor.NAME_OPERAND); - if(wrappedReceiver.findProperty(name, true) == null) { + final FindProperty find = wrappedReceiver.findProperty(name, true); + if(find == null) { // Give up early, give chance to BeanLinker and NashornBottomLinker to deal with it. return null; + } else if (find.isInherited() && !find.getProperty().hasGetterFunction(find.getOwner())) { + // If property is found in the prototype object bind the method handle directly to + // the proto filter instead of going through wrapper instantiation below. + final ScriptObject proto = wrappedReceiver.getProto(); + final GuardedInvocation link = proto.lookup(desc, request); + + if (link != null) { + final MethodHandle invocation = link.getInvocation(); + final MethodHandle adaptedInvocation = MH.asType(invocation, invocation.type().changeParameterType(0, Object.class)); + final MethodHandle method = MH.filterArguments(adaptedInvocation, 0, protoFilter); + final MethodHandle protoGuard = MH.filterArguments(link.getGuard(), 0, protoFilter); + return new GuardedInvocation(method, NashornGuards.combineGuards(guard, protoGuard)); + } } } final GuardedInvocation link = wrappedReceiver.lookup(desc, request); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/resources/Messages.properties b/nashorn/src/jdk/nashorn/internal/runtime/resources/Messages.properties index e1c4d1f1f8a..47248fce715 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/resources/Messages.properties +++ b/nashorn/src/jdk/nashorn/internal/runtime/resources/Messages.properties @@ -79,6 +79,7 @@ type.error.not.a.function={0} is not a function type.error.not.a.constructor={0} is not a constructor function type.error.not.a.file={0} is not a File type.error.not.a.bytebuffer={0} is not a java.nio.ByteBuffer +type.error.not.an.arraybuffer.in.dataview=First arg to DataView constructor must be an ArrayBuffer # operations not permitted on undefined type.error.cant.call.undefined=Cannot call undefined @@ -137,6 +138,9 @@ type.error.no.method.matches.args=Can not invoke method {0} with the passed argu type.error.method.not.constructor=Java method {0} can't be used as a constructor. type.error.env.not.object=$ENV must be an Object. type.error.unsupported.java.to.type=Unsupported Java.to target type {0}. + +range.error.dataview.constructor.offset=Wrong offset or length in DataView constructor +range.error.dataview.offset=Offset is outside the bounds of the DataView range.error.inappropriate.array.length=inappropriate array length: {0} range.error.inappropriate.array.buffer.length=inappropriate array buffer length: {0} range.error.invalid.fraction.digits=fractionDigits argument to {0} must be in [0, 20] diff --git a/nashorn/src/jdk/nashorn/tools/Shell.java b/nashorn/src/jdk/nashorn/tools/Shell.java index ad19484ceb8..ad833d8171b 100644 --- a/nashorn/src/jdk/nashorn/tools/Shell.java +++ b/nashorn/src/jdk/nashorn/tools/Shell.java @@ -42,6 +42,7 @@ import jdk.nashorn.internal.codegen.Compiler; import jdk.nashorn.internal.ir.FunctionNode; import jdk.nashorn.internal.ir.debug.ASTWriter; import jdk.nashorn.internal.ir.debug.PrintVisitor; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.parser.Parser; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.ErrorManager; @@ -148,7 +149,7 @@ public class Shell { return COMMANDLINE_ERROR; } - final ScriptObject global = context.createGlobal(); + final Global global = context.createGlobal(); final ScriptEnvironment env = context.getEnv(); final List<String> files = env.getFiles(); if (files.isEmpty()) { @@ -231,8 +232,8 @@ public class Shell { * @return error code * @throws IOException when any script file read results in I/O error */ - private static int compileScripts(final Context context, final ScriptObject global, final List<String> files) throws IOException { - final ScriptObject oldGlobal = Context.getGlobal(); + private static int compileScripts(final Context context, final Global global, final List<String> files) throws IOException { + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); final ScriptEnvironment env = context.getEnv(); try { @@ -281,8 +282,8 @@ public class Shell { * @return error code * @throws IOException when any script file read results in I/O error */ - private int runScripts(final Context context, final ScriptObject global, final List<String> files) throws IOException { - final ScriptObject oldGlobal = Context.getGlobal(); + private int runScripts(final Context context, final Global global, final List<String> files) throws IOException { + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); try { if (globalChanged) { @@ -339,8 +340,8 @@ public class Shell { * @return error code * @throws IOException when any script file read results in I/O error */ - private static int runFXScripts(final Context context, final ScriptObject global, final List<String> files) throws IOException { - final ScriptObject oldGlobal = Context.getGlobal(); + private static int runFXScripts(final Context context, final Global global, final List<String> files) throws IOException { + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); try { if (globalChanged) { @@ -389,11 +390,11 @@ public class Shell { * @return return code */ @SuppressWarnings("resource") - private static int readEvalPrint(final Context context, final ScriptObject global) { + private static int readEvalPrint(final Context context, final Global global) { final String prompt = bundle.getString("shell.prompt"); final BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); final PrintWriter err = context.getErr(); - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); final ScriptEnvironment env = context.getEnv(); diff --git a/langtools/test/tools/javac/ArrayCloneCodeGen.java b/nashorn/test/script/basic/JDK-8034055.js similarity index 65% rename from langtools/test/tools/javac/ArrayCloneCodeGen.java rename to nashorn/test/script/basic/JDK-8034055.js index ae496ef706a..0a21d9f915a 100644 --- a/langtools/test/tools/javac/ArrayCloneCodeGen.java +++ b/nashorn/test/script/basic/JDK-8034055.js @@ -1,43 +1,55 @@ /* - * Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2014, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. - * + * * 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 * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). - * + * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * + * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ -/* - * @test - * @bug 4267335 - * @summary Verify that code generated for Array.clone() with -target 1.2 passes verifier. - * @author maddox +/** + * JDK-8034055: delete on global object not properly guarded * - * @run compile -source 1.3 -target 1.2 ArrayCloneCodeGen.java - * @run main/othervm -Xverify:all ArrayCloneCodeGen + * @test + * @run */ -public class ArrayCloneCodeGen { - public static void main(String[] args) {} +var global = this; +var x; - private String[] args = null; - - public String[] getArgs() { - return (String []) (args.clone()); +function test(defineGlobals) { + if (defineGlobals) { + global.x = 1; + global.y = 2; + } + try { + print(x); + print(y); + } catch (e) { + print(e); + } finally { + print(delete global.x); + print(delete global.y); } } + +// Repeatedly set and delete global variables +test(true); +test(false); +test(true); +test(false); diff --git a/nashorn/test/script/basic/JDK-8034055.js.EXPECTED b/nashorn/test/script/basic/JDK-8034055.js.EXPECTED new file mode 100644 index 00000000000..c947f4aeb23 --- /dev/null +++ b/nashorn/test/script/basic/JDK-8034055.js.EXPECTED @@ -0,0 +1,16 @@ +1 +2 +false +true +1 +ReferenceError: "y" is not defined +false +true +1 +2 +false +true +1 +ReferenceError: "y" is not defined +false +true diff --git a/nashorn/test/script/basic/dataview_endian.js b/nashorn/test/script/basic/dataview_endian.js new file mode 100644 index 00000000000..f7607c0ee05 --- /dev/null +++ b/nashorn/test/script/basic/dataview_endian.js @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * JDK-8015958: DataView constructor is not defined + * + * @test + * @run + */ + +// set/get endianess checks + +var buffer = new ArrayBuffer(4); +var dv = new DataView(buffer); + +// write (default) big endian, read big/little endian +dv.setUint16(0, 0xABCD); +Assert.assertEquals(dv.getUint16(0), 0xABCD); +Assert.assertEquals(dv.getUint16(0, false), 0xABCD); +Assert.assertEquals(dv.getUint16(0, true), 0xCDAB); + +// write little endian, read big/little endian +dv.setUint16(0, 0xABCD, true); +Assert.assertEquals(dv.getUint16(0), 0xCDAB); +Assert.assertEquals(dv.getUint16(0, false), 0xCDAB); +Assert.assertEquals(dv.getUint16(0, true), 0xABCD); + +// write explicit big endian, read big/little endian +dv.setUint16(0, 0xABCD, false); +Assert.assertEquals(dv.getUint16(0), 0xABCD); +Assert.assertEquals(dv.getUint16(0, false), 0xABCD); +Assert.assertEquals(dv.getUint16(0, true), 0xCDAB); + +// write (default) big endian, read big/little endian +dv.setUint32(0, 0xABCDEF89); +Assert.assertEquals(dv.getUint32(0), 0xABCDEF89); +Assert.assertEquals(dv.getUint32(0, false), 0xABCDEF89); +Assert.assertEquals(dv.getUint32(0, true), 0x89EFCDAB); + +// write little endian, read big/little endian +dv.setUint32(0, 0xABCDEF89, true); +Assert.assertEquals(dv.getUint32(0), 0x89EFCDAB); +Assert.assertEquals(dv.getUint32(0, false), 0x89EFCDAB); +Assert.assertEquals(dv.getUint32(0, true), 0xABCDEF89); + +// write explicit big endian, read big/little endian +dv.setUint32(0, 0xABCDEF89, false); +Assert.assertEquals(dv.getUint32(0), 0xABCDEF89); +Assert.assertEquals(dv.getUint32(0, false), 0xABCDEF89); +Assert.assertEquals(dv.getUint32(0, true), 0x89EFCDAB); diff --git a/nashorn/test/script/basic/dataview_getset.js b/nashorn/test/script/basic/dataview_getset.js new file mode 100644 index 00000000000..8c7a994c1d0 --- /dev/null +++ b/nashorn/test/script/basic/dataview_getset.js @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * JDK-8015958: DataView constructor is not defined + * + * @test + * @run + */ + +// checking get/set of values of various types +// Also basic endianess check. + +var Float = Java.type("java.lang.Float"); +var Double = Java.type("java.lang.Double"); + +var DOUBLE_MIN = Double.MIN_VALUE; +var DOUBLE_MIN_NORMAL = Double.MIN_NORMAL; +var FLOAT_MIN = Float.MIN_VALUE; +var FLOAT_MIN_NORMAL = Float.MIN_NORMAL; + +var buffer = new ArrayBuffer(12); +var dv = new DataView(buffer); + +dv.setInt8(1, 123); +Assert.assertEquals(dv.getInt8(1), 123); +dv.setInt8(1, 123, true); +Assert.assertEquals(dv.getInt8(1, true), 123); + +dv.setUint8(1, 255); +Assert.assertEquals(dv.getUint8(1), 255); +dv.setUint8(1, 255, true); +Assert.assertEquals(dv.getUint8(1, true), 255); + +dv.setInt16(1, 1234); +Assert.assertEquals(dv.getInt16(1), 1234); +dv.setInt16(1, 1234, true); +Assert.assertEquals(dv.getInt16(1, true), 1234); + +dv.setUint16(1, 65535); +Assert.assertEquals(dv.getUint16(1), 65535); +dv.setUint16(1, 65535, true); +Assert.assertEquals(dv.getUint16(1, true), 65535); + +dv.setInt32(1, 1234); +Assert.assertEquals(dv.getInt32(1), 1234); +dv.setInt32(1, 1234, true); +Assert.assertEquals(dv.getInt32(1, true), 1234); + +dv.setUint32(1, 4294967295); +Assert.assertEquals(dv.getUint32(1), 4294967295); +dv.setUint32(1, 4294967295, true); +Assert.assertEquals(dv.getUint32(1, true), 4294967295); + +dv.setFloat64(1, Math.PI); +Assert.assertEquals(dv.getFloat64(1), Math.PI, DOUBLE_MIN); +dv.setFloat64(1, Math.PI, true); +Assert.assertEquals(dv.getFloat64(1, true), Math.PI, DOUBLE_MIN); + +dv.setFloat64(1, DOUBLE_MIN_NORMAL); +Assert.assertEquals(dv.getFloat64(1), DOUBLE_MIN_NORMAL, DOUBLE_MIN); +dv.setFloat64(1, DOUBLE_MIN_NORMAL, true); +Assert.assertEquals(dv.getFloat64(1, true), DOUBLE_MIN_NORMAL, DOUBLE_MIN); + +dv.setFloat32(1, 1.414); +Assert["assertEquals(float, float, float)"](dv.getFloat32(1), 1.414, FLOAT_MIN); +dv.setFloat32(1, 1.414, true); +Assert["assertEquals(float, float, float)"](dv.getFloat32(1, true), 1.414, FLOAT_MIN); + +dv.setFloat32(1, FLOAT_MIN_NORMAL); +Assert["assertEquals(float, float, float)"](dv.getFloat32(1), FLOAT_MIN_NORMAL, FLOAT_MIN); +dv.setFloat32(1, FLOAT_MIN_NORMAL, true); +Assert["assertEquals(float, float, float)"](dv.getFloat32(1, true), FLOAT_MIN_NORMAL, FLOAT_MIN); diff --git a/nashorn/test/script/basic/dataview_new.js b/nashorn/test/script/basic/dataview_new.js new file mode 100644 index 00000000000..78f8183d52a --- /dev/null +++ b/nashorn/test/script/basic/dataview_new.js @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * JDK-8015958: DataView constructor is not defined + * + * @test + * @run + */ + +// basic DataView constructor checks. + +// check ArrayBufferView property values of DataView instance +function check(dv, buf, offset, length) { + if (dv.buffer !== buf) { + fail("DataView.buffer is wrong"); + } + + if (dv.byteOffset != offset) { + fail("DataView.byteOffset = " + dv.byteOffset + ", expected " + offset); + } + + if (dv.byteLength != length) { + fail("DataView.byteLength = " + dv.byteLength + ", expected " + length); + } +} + +var buffer = new ArrayBuffer(12); +check(new DataView(buffer), buffer, 0, 12); +check(new DataView(buffer, 2), buffer, 2, 10); +check(new DataView(buffer, 4, 8), buffer, 4, 8); + +// make sure expected error is thrown +function checkError(callback, ErrorType) { + try { + callback(); + fail("Should have thrown " + ErrorType.name); + } catch (e) { + if (! (e instanceof ErrorType)) { + fail("Expected " + ErrorType.name + " got " + e); + } + } +} + +// non ArrayBuffer as first arg +checkError(function() { new DataView(344) }, TypeError); + +// illegal offset/length values +checkError(function() { new DataView(buffer, -1) }, RangeError); +checkError(function() { new DataView(buffer, 15) }, RangeError); +checkError(function() { new DataView(buffer, 1, 32) }, RangeError); diff --git a/nashorn/test/src/jdk/nashorn/api/scripting/ScopeTest.java b/nashorn/test/src/jdk/nashorn/api/scripting/ScopeTest.java index a18055bb602..dc27d826402 100644 --- a/nashorn/test/src/jdk/nashorn/api/scripting/ScopeTest.java +++ b/nashorn/test/src/jdk/nashorn/api/scripting/ScopeTest.java @@ -245,4 +245,320 @@ public class ScopeTest { sb.put("x", "newX"); assertTrue(e.eval("x", ctx).equals("newX")); } + + /** + * Test multi-threaded access to defined global variables for shared script classes with multiple globals. + */ + @Test + public static void multiThreadedVarTest() throws ScriptException, InterruptedException { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + final Bindings b = e.createBindings(); + final ScriptContext origContext = e.getContext(); + final ScriptContext newCtxt = new SimpleScriptContext(); + newCtxt.setBindings(b, ScriptContext.ENGINE_SCOPE); + final String sharedScript = "foo"; + + assertEquals(e.eval("var foo = 'original context';", origContext), null); + assertEquals(e.eval("var foo = 'new context';", newCtxt), null); + + final Thread t1 = new Thread(new ScriptRunner(e, origContext, sharedScript, "original context", 1000)); + final Thread t2 = new Thread(new ScriptRunner(e, newCtxt, sharedScript, "new context", 1000)); + t1.start(); + t2.start(); + t1.join(); + t2.join(); + + assertEquals(e.eval("var foo = 'newer context';", newCtxt), null); + final Thread t3 = new Thread(new ScriptRunner(e, origContext, sharedScript, "original context", 1000)); + final Thread t4 = new Thread(new ScriptRunner(e, newCtxt, sharedScript, "newer context", 1000)); + + t3.start(); + t4.start(); + t3.join(); + t4.join(); + + assertEquals(e.eval(sharedScript), "original context"); + assertEquals(e.eval(sharedScript, newCtxt), "newer context"); + } + + /** + * Test multi-threaded access to undefined global variables for shared script classes with multiple globals. + */ + @Test + public static void multiThreadedGlobalTest() throws ScriptException, InterruptedException { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + final Bindings b = e.createBindings(); + final ScriptContext origContext = e.getContext(); + final ScriptContext newCtxt = new SimpleScriptContext(); + newCtxt.setBindings(b, ScriptContext.ENGINE_SCOPE); + + assertEquals(e.eval("foo = 'original context';", origContext), "original context"); + assertEquals(e.eval("foo = 'new context';", newCtxt), "new context"); + final String sharedScript = "foo"; + + final Thread t1 = new Thread(new ScriptRunner(e, origContext, sharedScript, "original context", 1000)); + final Thread t2 = new Thread(new ScriptRunner(e, newCtxt, sharedScript, "new context", 1000)); + t1.start(); + t2.start(); + t1.join(); + t2.join(); + + Object obj3 = e.eval("delete foo; foo = 'newer context';", newCtxt); + assertEquals(obj3, "newer context"); + final Thread t3 = new Thread(new ScriptRunner(e, origContext, sharedScript, "original context", 1000)); + final Thread t4 = new Thread(new ScriptRunner(e, newCtxt, sharedScript, "newer context", 1000)); + + t3.start(); + t4.start(); + t3.join(); + t4.join(); + + Assert.assertEquals(e.eval(sharedScript), "original context"); + Assert.assertEquals(e.eval(sharedScript, newCtxt), "newer context"); + } + + /** + * Test multi-threaded access using the postfix ++ operator for shared script classes with multiple globals. + */ + @Test + public static void multiThreadedIncTest() throws ScriptException, InterruptedException { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + final Bindings b = e.createBindings(); + final ScriptContext origContext = e.getContext(); + final ScriptContext newCtxt = new SimpleScriptContext(); + newCtxt.setBindings(b, ScriptContext.ENGINE_SCOPE); + + assertEquals(e.eval("var x = 0;", origContext), null); + assertEquals(e.eval("var x = 2;", newCtxt), null); + final String sharedScript = "x++;"; + + final Thread t1 = new Thread(new Runnable() { + @Override + public void run() { + try { + for (int i = 0; i < 1000; i++) { + assertEquals(e.eval(sharedScript, origContext), (double)i); + } + } catch (ScriptException se) { + fail(se.toString()); + } + } + }); + final Thread t2 = new Thread(new Runnable() { + @Override + public void run() { + try { + for (int i = 2; i < 1000; i++) { + assertEquals(e.eval(sharedScript, newCtxt), (double)i); + } + } catch (ScriptException se) { + fail(se.toString()); + } + } + }); + t1.start(); + t2.start(); + t1.join(); + t2.join(); + } + + /** + * Test multi-threaded access to primitive prototype properties for shared script classes with multiple globals. + */ + @Test + public static void multiThreadedPrimitiveTest() throws ScriptException, InterruptedException { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + final Bindings b = e.createBindings(); + final ScriptContext origContext = e.getContext(); + final ScriptContext newCtxt = new SimpleScriptContext(); + newCtxt.setBindings(b, ScriptContext.ENGINE_SCOPE); + + Object obj1 = e.eval("String.prototype.foo = 'original context';", origContext); + Object obj2 = e.eval("String.prototype.foo = 'new context';", newCtxt); + assertEquals(obj1, "original context"); + assertEquals(obj2, "new context"); + final String sharedScript = "''.foo"; + + final Thread t1 = new Thread(new ScriptRunner(e, origContext, sharedScript, "original context", 1000)); + final Thread t2 = new Thread(new ScriptRunner(e, newCtxt, sharedScript, "new context", 1000)); + t1.start(); + t2.start(); + t1.join(); + t2.join(); + + Object obj3 = e.eval("delete String.prototype.foo; Object.prototype.foo = 'newer context';", newCtxt); + assertEquals(obj3, "newer context"); + final Thread t3 = new Thread(new ScriptRunner(e, origContext, sharedScript, "original context", 1000)); + final Thread t4 = new Thread(new ScriptRunner(e, newCtxt, sharedScript, "newer context", 1000)); + + t3.start(); + t4.start(); + t3.join(); + t4.join(); + + Assert.assertEquals(e.eval(sharedScript), "original context"); + Assert.assertEquals(e.eval(sharedScript, newCtxt), "newer context"); + } + + /** + * Test multi-threaded scope function invocation for shared script classes with multiple globals. + */ + @Test + public static void multiThreadedFunctionTest() throws ScriptException, InterruptedException { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + final Bindings b = e.createBindings(); + final ScriptContext origContext = e.getContext(); + final ScriptContext newCtxt = new SimpleScriptContext(); + newCtxt.setBindings(b, ScriptContext.ENGINE_SCOPE); + + e.eval(new URLReader(ScopeTest.class.getResource("resources/func.js")), origContext); + assertEquals(origContext.getAttribute("scopeVar"), 1); + assertEquals(e.eval("scopeTest()"), 1); + + e.eval(new URLReader(ScopeTest.class.getResource("resources/func.js")), newCtxt); + assertEquals(newCtxt.getAttribute("scopeVar"), 1); + assertEquals(e.eval("scopeTest();", newCtxt), 1); + + assertEquals(e.eval("scopeVar = 3;", newCtxt), 3); + assertEquals(newCtxt.getAttribute("scopeVar"), 3); + + + final Thread t1 = new Thread(new ScriptRunner(e, origContext, "scopeTest()", 1, 1000)); + final Thread t2 = new Thread(new ScriptRunner(e, newCtxt, "scopeTest()", 3, 1000)); + + t1.start(); + t2.start(); + t1.join(); + t2.join(); + + } + + /** + * Test multi-threaded access to global getters and setters for shared script classes with multiple globals. + */ + @Test + public static void getterSetterTest() throws ScriptException, InterruptedException { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + final Bindings b = e.createBindings(); + final ScriptContext origContext = e.getContext(); + final ScriptContext newCtxt = new SimpleScriptContext(); + newCtxt.setBindings(b, ScriptContext.ENGINE_SCOPE); + final String sharedScript = "accessor1"; + + e.eval(new URLReader(ScopeTest.class.getResource("resources/gettersetter.js")), origContext); + assertEquals(e.eval("accessor1 = 1;"), 1); + assertEquals(e.eval(sharedScript), 1); + + e.eval(new URLReader(ScopeTest.class.getResource("resources/gettersetter.js")), newCtxt); + assertEquals(e.eval("accessor1 = 2;", newCtxt), 2); + assertEquals(e.eval(sharedScript, newCtxt), 2); + + + final Thread t1 = new Thread(new ScriptRunner(e, origContext, sharedScript, 1, 1000)); + final Thread t2 = new Thread(new ScriptRunner(e, newCtxt, sharedScript, 2, 1000)); + + t1.start(); + t2.start(); + t1.join(); + t2.join(); + + assertEquals(e.eval(sharedScript), 1); + assertEquals(e.eval(sharedScript, newCtxt), 2); + assertEquals(e.eval("v"), 1); + assertEquals(e.eval("v", newCtxt), 2); + } + + /** + * Test multi-threaded access to global getters and setters for shared script classes with multiple globals. + */ + @Test + public static void getterSetter2Test() throws ScriptException, InterruptedException { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + final Bindings b = e.createBindings(); + final ScriptContext origContext = e.getContext(); + final ScriptContext newCtxt = new SimpleScriptContext(); + newCtxt.setBindings(b, ScriptContext.ENGINE_SCOPE); + final String sharedScript = "accessor2"; + + e.eval(new URLReader(ScopeTest.class.getResource("resources/gettersetter.js")), origContext); + assertEquals(e.eval("accessor2 = 1;"), 1); + assertEquals(e.eval(sharedScript), 1); + + e.eval(new URLReader(ScopeTest.class.getResource("resources/gettersetter.js")), newCtxt); + assertEquals(e.eval("accessor2 = 2;", newCtxt), 2); + assertEquals(e.eval(sharedScript, newCtxt), 2); + + + final Thread t1 = new Thread(new ScriptRunner(e, origContext, sharedScript, 1, 1000)); + final Thread t2 = new Thread(new ScriptRunner(e, newCtxt, sharedScript, 2, 1000)); + + t1.start(); + t2.start(); + t1.join(); + t2.join(); + + assertEquals(e.eval(sharedScript), 1); + assertEquals(e.eval(sharedScript, newCtxt), 2); + assertEquals(e.eval("x"), 1); + assertEquals(e.eval("x", newCtxt), 2); + } + + /** + * Test "slow" scopes involving {@code with} and {@code eval} statements for shared script classes with multiple globals. + */ + @Test + public static void testSlowScope() throws ScriptException, InterruptedException { + final ScriptEngineManager m = new ScriptEngineManager(); + final ScriptEngine e = m.getEngineByName("nashorn"); + + for (int i = 0; i < 100; i++) { + final Bindings b = e.createBindings(); + final ScriptContext ctxt = new SimpleScriptContext(); + ctxt.setBindings(b, ScriptContext.ENGINE_SCOPE); + + e.eval(new URLReader(ScopeTest.class.getResource("resources/witheval.js")), ctxt); + assertEquals(e.eval("a", ctxt), 1); + assertEquals(b.get("a"), 1); + assertEquals(e.eval("b", ctxt), 3); + assertEquals(b.get("b"), 3); + assertEquals(e.eval("c", ctxt), 10); + assertEquals(b.get("c"), 10); + } + } + + private static class ScriptRunner implements Runnable { + + final ScriptEngine engine; + final ScriptContext context; + final String source; + final Object expected; + final int iterations; + + ScriptRunner(final ScriptEngine engine, final ScriptContext context, final String source, final Object expected, final int iterations) { + this.engine = engine; + this.context = context; + this.source = source; + this.expected = expected; + this.iterations = iterations; + } + + @Override + public void run() { + try { + for (int i = 0; i < iterations; i++) { + assertEquals(engine.eval(source, context), expected); + } + } catch (ScriptException se) { + throw new RuntimeException(se); + } + } + } + } diff --git a/jdk/src/share/classes/sun/misc/RegexpTarget.java b/nashorn/test/src/jdk/nashorn/api/scripting/resources/func.js similarity index 67% rename from jdk/src/share/classes/sun/misc/RegexpTarget.java rename to nashorn/test/src/jdk/nashorn/api/scripting/resources/func.js index a44028acf7f..477bd1a64be 100644 --- a/jdk/src/share/classes/sun/misc/RegexpTarget.java +++ b/nashorn/test/src/jdk/nashorn/api/scripting/resources/func.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2014, 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 @@ -23,19 +23,20 @@ * questions. */ -package sun.misc; +// This script is loaded from jdk.nashorn.api.scripting.ScopeTest to test script class sharing and reuse. -/** - * A class to define actions to be performed when a regular expression match - * occurs. - * @author James Gosling - */ +var scopeVar = 1; +var global = this; +undefGlobal = this; -public interface RegexpTarget { - /** Gets called when a pattern in a RegexpPool matches. - * This method is called by RegexpPool.match() who passes the return - * value from found() back to its caller. - * @param remainder the string that matched the * in the pattern. - */ - Object found(String remainder); +function scopeTest() { + if (this !== global) { + throw new Error("this !== global"); + } + if (this !== undefGlobal) { + throw new Error("this !== undefinedGlobal") + } + return scopeVar; } + +scopeTest(); diff --git a/langtools/test/tools/javac/generics/BridgeRestype.java b/nashorn/test/src/jdk/nashorn/api/scripting/resources/gettersetter.js similarity index 60% rename from langtools/test/tools/javac/generics/BridgeRestype.java rename to nashorn/test/src/jdk/nashorn/api/scripting/resources/gettersetter.js index 2107efa4260..51e24727466 100644 --- a/langtools/test/tools/javac/generics/BridgeRestype.java +++ b/nashorn/test/src/jdk/nashorn/api/scripting/resources/gettersetter.js @@ -1,10 +1,12 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2014, 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 * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -21,22 +23,16 @@ * questions. */ -/* - * @test - * @bug 4902704 - * @summary javac generates inappropriate bridge methods in -source 1.4 - * @author gafter - * - * @compile -source 1.4 -target 1.4 BridgeRestype.java - * @run main BridgeRestype - */ +// This script is loaded from jdk.nashorn.api.scripting.ScopeTest to test script class sharing and reuse. -import java.util.*; +var v; -public class BridgeRestype extends Vector { - public static void main(String[] args) { - BridgeRestype t = new BridgeRestype(); - for (int i=0; i<args.length; i++) t.add(args[i]); - Iterator i = t.iterator(); - } -} +Object.defineProperty(this, "accessor1", { + get: function() { return v; }, + set: function(n) { v = n; } +}); + +Object.defineProperty(this, "accessor2", { + get: function() { return x; }, + set: function(n) { x = n; } +}); diff --git a/langtools/test/tools/javac/generics/compat/OverrideBridge1.java b/nashorn/test/src/jdk/nashorn/api/scripting/resources/witheval.js similarity index 50% rename from langtools/test/tools/javac/generics/compat/OverrideBridge1.java rename to nashorn/test/src/jdk/nashorn/api/scripting/resources/witheval.js index 600db44d0a4..6041d5b4928 100644 --- a/langtools/test/tools/javac/generics/compat/OverrideBridge1.java +++ b/nashorn/test/src/jdk/nashorn/api/scripting/resources/witheval.js @@ -1,10 +1,12 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2014, 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 * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -21,30 +23,38 @@ * questions. */ -/* - * @test - * @bug 4836048 4868021 5030040 5052968 5056864 - * @summary generics: compiler allows 1.4 code to override a bridge method - * @author gafter - * - * @compile OverrideBridge1.java - * @compile/fail -Werror -source 1.4 OverrideBridge2.java - * @compile -source 1.4 OverrideBridge2.java - * @compile OverrideBridge3.java - */ +// This script is loaded from jdk.nashorn.api.scripting.ScopeTest to test script class sharing and reuse. -// ALLOW users to override bridge methods. +var a; -// Note the long list of bug numbers on this regression test. They -// indicate the number of times we've flip-flopped on this issue. -// 5030040 shows why we must give a diagnostic. 5052968 shows why it -// must be a warning. - -class OverrideBridge1 { - static class A<T> { - public void foo(T t) { } - } - static class B extends A<String> { - public void foo(String t) { } +function outer(p, e) { + eval(e); + with(p) { + function inner() { + a = 1; + c = 10; + if (a !== 1) { + throw new Error("a !== 1"); + } + if (b !== 3) { + throw new Error("b !== 3"); + } + if (c !== 10) { + throw new Error("c !== 10"); + } + } + inner(); } } + +outer({}, "b = 3;"); + +if (a !== 1) { + throw new Error("a !== 1"); +} +if (b !== 3) { + throw new Error("b !== 3"); +} +if (c !== 10) { + throw new Error("c !== 10"); +} diff --git a/nashorn/test/src/jdk/nashorn/internal/codegen/CompilerTest.java b/nashorn/test/src/jdk/nashorn/internal/codegen/CompilerTest.java index 00d79acbda9..ac438101e67 100644 --- a/nashorn/test/src/jdk/nashorn/internal/codegen/CompilerTest.java +++ b/nashorn/test/src/jdk/nashorn/internal/codegen/CompilerTest.java @@ -28,6 +28,7 @@ package jdk.nashorn.internal.codegen; import java.io.File; import java.io.PrintWriter; import java.io.StringWriter; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.ErrorManager; import jdk.nashorn.internal.runtime.ScriptFunction; @@ -58,7 +59,7 @@ public class CompilerTest { } private Context context; - private ScriptObject global; + private Global global; @BeforeClass public void setupTest() { @@ -146,7 +147,7 @@ public class CompilerTest { log("Begin compiling " + file.getAbsolutePath()); } - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); try { diff --git a/nashorn/test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java b/nashorn/test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java index 999f6fa4529..ce969210053 100644 --- a/nashorn/test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java +++ b/nashorn/test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java @@ -31,9 +31,9 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.ScriptFunction; -import jdk.nashorn.internal.runtime.ScriptObject; import jdk.nashorn.internal.runtime.ScriptRuntime; /** @@ -89,7 +89,7 @@ public class PerformanceWrapper extends jdk.nashorn.tools.Shell { @Override protected Object apply(final ScriptFunction target, final Object self) { if (_runsPerIteration == 0 && _numberOfIterations == 0) { - final ScriptObject global = jdk.nashorn.internal.runtime.Context.getGlobal(); + final Global global = jdk.nashorn.internal.runtime.Context.getGlobal(); final ScriptFunction _target = target; final Object _self = self; diff --git a/nashorn/test/src/jdk/nashorn/internal/runtime/ContextTest.java b/nashorn/test/src/jdk/nashorn/internal/runtime/ContextTest.java index 1b21c23f404..1ec416951a3 100644 --- a/nashorn/test/src/jdk/nashorn/internal/runtime/ContextTest.java +++ b/nashorn/test/src/jdk/nashorn/internal/runtime/ContextTest.java @@ -29,6 +29,7 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import java.util.Map; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.options.Options; import org.testng.annotations.Test; @@ -45,7 +46,7 @@ public class ContextTest { final Options options = new Options(""); final ErrorManager errors = new ErrorManager(); final Context cx = new Context(options, errors, Thread.currentThread().getContextClassLoader()); - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); Context.setGlobal(cx.createGlobal()); try { String code = "22 + 10"; @@ -65,7 +66,7 @@ public class ContextTest { final ErrorManager errors = new ErrorManager(); final Context cx = new Context(options, errors, Thread.currentThread().getContextClassLoader()); final boolean strict = cx.getEnv()._strict; - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); Context.setGlobal(cx.createGlobal()); try { diff --git a/nashorn/test/src/jdk/nashorn/internal/runtime/NoPersistenceCachingTest.java b/nashorn/test/src/jdk/nashorn/internal/runtime/NoPersistenceCachingTest.java new file mode 100644 index 00000000000..aefa828b470 --- /dev/null +++ b/nashorn/test/src/jdk/nashorn/internal/runtime/NoPersistenceCachingTest.java @@ -0,0 +1,133 @@ +/* + * Copyright (c) 2014, 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package jdk.nashorn.internal.runtime; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import static org.testng.Assert.fail; +import org.testng.annotations.Test; + +import javax.script.ScriptContext; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineFactory; +import javax.script.ScriptEngineManager; +import javax.script.SimpleScriptContext; +import jdk.nashorn.api.scripting.NashornScriptEngineFactory; + +/** + * @test + * @bug 8037378 + * @summary Sanity tests for no persistence caching + * @run testng/othervm jdk.nashorn.internal.runtime.NoPersistenceCachingTest + */ +public class NoPersistenceCachingTest { + + private ScriptEngine engine; + private ScriptContext context1, context2, context3; + private ByteArrayOutputStream stderr; + private PrintStream prevStderr; + private final String script = "print('Hello')"; + + public void setupTest() { + stderr = new ByteArrayOutputStream(); + prevStderr = System.err; + System.setErr(new PrintStream(stderr)); + NashornScriptEngineFactory nashornFactory = null; + ScriptEngineManager sm = new ScriptEngineManager(); + for (ScriptEngineFactory fac : sm.getEngineFactories()) { + if (fac instanceof NashornScriptEngineFactory) { + nashornFactory = (NashornScriptEngineFactory) fac; + break; + } + } + if (nashornFactory == null) { + fail("Cannot find nashorn factory!"); + } + String[] options = new String[]{"--log=compiler:finest"}; + engine = nashornFactory.getScriptEngine(options); + } + + public void setErrTest() { + System.setErr(prevStderr); + } + + public void runTest(int numberOfContext, String expectedOutputPattern, + int expectedPatternOccurrence) { + setupTest(); + try { + switch (numberOfContext) { + case 2: + context1 = engine.getContext(); + context2 = new SimpleScriptContext(); + context2.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE); + engine.eval(script, context1); + engine.eval(script, context2); + break; + case 3: + context1 = engine.getContext(); + context2 = new SimpleScriptContext(); + context2.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE); + context3 = new SimpleScriptContext(); + context3.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE); + engine.eval(script, context1); + engine.eval(script, context2); + engine.eval(script, context3); + break; + } + } catch (final Exception se) { + se.printStackTrace(); + fail(se.getMessage()); + } + Pattern deoptimizing = Pattern.compile(expectedOutputPattern); + Matcher matcher = deoptimizing.matcher(stderr.toString()); + int matches = 0; + while (matcher.find()) { + matches++; + } + if (matches != expectedPatternOccurrence) { + fail("Number of cache hit is not correct, expected: " + + expectedPatternOccurrence + " and found: " + matches + "\n" + + stderr); + } + setErrTest(); + } + + private static String getCodeCachePattern() { + return ("\\[compiler\\]\\sCode\\scache\\shit\\sfor\\s<eval>\\savoiding\\srecompile."); + } + + @Test + public void twoContextTest() { + runTest(2, getCodeCachePattern(), 1); + + } + + @Test + public void threeContextTest() { + runTest(3, getCodeCachePattern(), 2); + } +} diff --git a/nashorn/test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java b/nashorn/test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java index ac2dc17293c..83d057f327f 100644 --- a/nashorn/test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java +++ b/nashorn/test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java @@ -34,10 +34,10 @@ import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import jdk.nashorn.api.scripting.NashornException; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.ErrorManager; import jdk.nashorn.internal.runtime.ScriptFunction; -import jdk.nashorn.internal.runtime.ScriptObject; import jdk.nashorn.internal.runtime.ScriptRuntime; import jdk.nashorn.internal.runtime.Source; import jdk.nashorn.internal.runtime.options.Options; @@ -110,12 +110,12 @@ public final class SharedContextEvaluator implements ScriptEvaluator { @Override public int run(final OutputStream out, final OutputStream err, final String[] args) throws IOException { - final ScriptObject oldGlobal = Context.getGlobal(); + final Global oldGlobal = Context.getGlobal(); try { ctxOut.setDelegatee(out); ctxErr.setDelegatee(err); final ErrorManager errors = context.getErrorManager(); - final ScriptObject global = context.createGlobal(); + final Global global = context.createGlobal(); Context.setGlobal(global); // For each file on the command line.