diff --git a/.hgtags b/.hgtags index 99b55cd1110..31681df35e7 100644 --- a/.hgtags +++ b/.hgtags @@ -249,3 +249,4 @@ b32e2219736e42baaf45daf0ad67ed34f6033799 jdk9-b02 099891b1d86f3719e116ac717ffdafc90d037fb7 jdk9-b04 dd311791ad6895a3989020dd6c6c46db87972ab8 jdk9-b05 85dbdc227c5e11429b4fc4a8ba763f50107edd6e jdk9-b06 +c826d05f1fb0773f6a28caa763307dd30d90d36e jdk9-b07 diff --git a/.hgtags-top-repo b/.hgtags-top-repo index eccf997b9eb..b35a11c862e 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -249,3 +249,4 @@ fd8d51bdf9aadf7ae83e65e8655c53581017c363 jdk9-b03 cb4c3440bc2748101923e2488506e61009ab1bf5 jdk9-b04 8c63f0b6ada282f27e3a80125e53c3be603f9af7 jdk9-b05 d0b525cd31b87abeb6d5b7e3516953eeb13b323c jdk9-b06 +0ea015c298b201c07fa33990f2445b6d0ef3566d jdk9-b07 diff --git a/common/autoconf/basics.m4 b/common/autoconf/basics.m4 index 17ed7906f67..649f8ddfc29 100644 --- a/common/autoconf/basics.m4 +++ b/common/autoconf/basics.m4 @@ -46,10 +46,24 @@ AC_DEFUN([ADD_JVM_ARG_IF_OK], # Appends a string to a path variable, only adding the : when needed. AC_DEFUN([BASIC_APPEND_TO_PATH], [ - if test "x[$]$1" = x; then - $1="$2" - else - $1="[$]$1:$2" + if test "x$2" != x; then + if test "x[$]$1" = x; then + $1="$2" + else + $1="[$]$1:$2" + fi + fi +]) + +# Prepends a string to a path variable, only adding the : when needed. +AC_DEFUN([BASIC_PREPEND_TO_PATH], +[ + if test "x$2" != x; then + if test "x[$]$1" = x; then + $1="$2" + else + $1="$2:[$]$1" + fi fi ]) @@ -442,43 +456,95 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS], # Locate the directory of this script. AUTOCONF_DIR=$TOPDIR/common/autoconf +]) + +AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT], +[ + AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit], + [use this devkit for compilers, tools and resources])], + [ + BASIC_FIXUP_PATH([with_devkit]) + DEVKIT_ROOT="$with_devkit" + # Check for a meta data info file in the root of the devkit + if test -f "$DEVKIT_ROOT/devkit.info"; then + # This potentially sets the following: + # DEVKIT_NAME: A descriptive name of the devkit + # DEVKIT_TOOLCHAIN_PATH: Corresponds to --with-toolchain-path + # DEVKIT_EXTRA_PATH: Corresponds to --with-extra-path + # DEVKIT_SYSROOT: Corresponds to --with-sysroot + . $DEVKIT_ROOT/devkit.info + fi + + AC_MSG_CHECKING([for devkit]) + if test "x$DEVKIT_NAME" != x; then + AC_MSG_RESULT([$DEVKIT_NAME in $DEVKIT_ROOT]) + else + AC_MSG_RESULT([$DEVKIT_ROOT]) + fi + + if test "x$DEVKIT_EXTRA_PATH" != x; then + BASIC_PREPEND_TO_PATH([EXTRA_PATH],$DEVKIT_EXTRA_PATH) + fi + + # Fallback default of just /bin if DEVKIT_PATH is not defined + if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then + DEVKIT_TOOLCHAIN_PATH="$DEVKIT_ROOT/bin" + fi + BASIC_PREPEND_TO_PATH([TOOLCHAIN_PATH],$DEVKIT_TOOLCHAIN_PATH) + + # If DEVKIT_SYSROOT is set, use that, otherwise try a couple of known + # places for backwards compatiblity. + if test "x$DEVKIT_SYSROOT" != x; then + SYSROOT="$DEVKIT_SYSROOT" + elif test -d "$DEVKIT_ROOT/$host_alias/libc"; then + SYSROOT="$DEVKIT_ROOT/$host_alias/libc" + elif test -d "$DEVKIT_ROOT/$host/sys-root"; then + SYSROOT="$DEVKIT_ROOT/$host/sys-root" + fi + ] + ) + + # You can force the sysroot if the sysroot encoded into the compiler tools + # is not correct. + AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root], + [alias for --with-sysroot for backwards compatability])], + [SYSROOT=$with_sys_root] + ) + + AC_ARG_WITH(sysroot, [AS_HELP_STRING([--with-sysroot], + [use this directory as sysroot)])], + [SYSROOT=$with_sysroot] + ) + + AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir], + [alias for --with-toolchain-path for backwards compatibility])], + [BASIC_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_tools_dir)] + ) + + AC_ARG_WITH([toolchain-path], [AS_HELP_STRING([--with-toolchain-path], + [prepend these directories when searching for toolchain binaries (compilers etc)])], + [BASIC_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)] + ) + + AC_ARG_WITH([extra-path], [AS_HELP_STRING([--with-extra-path], + [prepend these directories to the default path])], + [BASIC_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)] + ) + + # Prepend the extra path to the global path + BASIC_PREPEND_TO_PATH([PATH],$EXTRA_PATH) if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then # Add extra search paths on solaris for utilities like ar and as etc... PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin" fi - # You can force the sys-root if the sys-root encoded into the cross compiler tools - # is not correct. - AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root], - [pass this sys-root to the compilers and tools (for cross-compiling)])]) - - if test "x$with_sys_root" != x; then - SYS_ROOT=$with_sys_root - else - SYS_ROOT=/ - fi - AC_SUBST(SYS_ROOT) - - AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir], - [search this directory for compilers and tools (for cross-compiling)])], - [TOOLS_DIR=$with_tools_dir] - ) - - AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit], - [use this directory as base for tools-dir and sys-root (for cross-compiling)])], - [ - if test "x$with_sys_root" != x; then - AC_MSG_ERROR([Cannot specify both --with-devkit and --with-sys-root at the same time]) - fi - BASIC_FIXUP_PATH([with_devkit]) - BASIC_APPEND_TO_PATH([TOOLS_DIR],$with_devkit/bin) - if test -d "$with_devkit/$host_alias/libc"; then - SYS_ROOT=$with_devkit/$host_alias/libc - elif test -d "$with_devkit/$host/sys-root"; then - SYS_ROOT=$with_devkit/$host/sys-root - fi - ]) + AC_MSG_CHECKING([for sysroot]) + AC_MSG_RESULT([$SYSROOT]) + AC_MSG_CHECKING([for toolchain path]) + AC_MSG_RESULT([$TOOLCHAIN_PATH]) + AC_MSG_CHECKING([for extra path]) + AC_MSG_RESULT([$EXTRA_PATH]) ]) AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR], @@ -648,10 +714,10 @@ AC_DEFUN([BASIC_CHECK_GNU_MAKE], fi if test "x$FOUND_MAKE" = x; then - if test "x$TOOLS_DIR" != x; then - # We have a tools-dir, check that as well before giving up. + if test "x$TOOLCHAIN_PATH" != x; then + # We have a toolchain path, check that as well before giving up. OLD_PATH=$PATH - PATH=$TOOLS_DIR:$PATH + PATH=$TOOLCHAIN_PATH:$PATH AC_PATH_PROGS(CHECK_TOOLSDIR_GMAKE, gmake) BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir]) if test "x$FOUND_MAKE" = x; then diff --git a/common/autoconf/build-aux/config.guess b/common/autoconf/build-aux/config.guess index b0c03a79629..355c91e4ebb 100644 --- a/common/autoconf/build-aux/config.guess +++ b/common/autoconf/build-aux/config.guess @@ -76,4 +76,14 @@ if test $? = 0; then OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'` fi +# Test and fix little endian PowerPC64. +# TODO: should be handled by autoconf-config.guess. +if [ "x$OUT" = x ]; then + if [ `uname -m` = ppc64le ]; then + if [ `uname -s` = Linux ]; then + OUT=powerpc64le-unknown-linux-gnu + fi + fi +fi + echo $OUT diff --git a/common/autoconf/build-performance.m4 b/common/autoconf/build-performance.m4 index 500c3adb702..22a62748a13 100644 --- a/common/autoconf/build-performance.m4 +++ b/common/autoconf/build-performance.m4 @@ -169,8 +169,8 @@ AC_DEFUN([BPERF_SETUP_CCACHE], if test "x$enable_ccache" = xyes; then AC_MSG_RESULT([yes]) OLD_PATH="$PATH" - if test "x$TOOLS_DIR" != x; then - PATH=$TOOLS_DIR:$PATH + if test "x$TOOLCHAIN_PATH" != x; then + PATH=$TOOLCHAIN_PATH:$PATH fi BASIC_REQUIRE_PROGS(CCACHE, ccache) CCACHE_STATUS="enabled" diff --git a/common/autoconf/configure.ac b/common/autoconf/configure.ac index a96a1d2bf0b..ec0d7490d59 100644 --- a/common/autoconf/configure.ac +++ b/common/autoconf/configure.ac @@ -100,6 +100,9 @@ JDKOPT_SETUP_DEBUG_LEVEL # With basic setup done, call the custom early hook. CUSTOM_EARLY_HOOK +# Check if we have devkits, extra paths or sysroot set. +BASIC_SETUP_DEVKIT + # To properly create a configuration name, we need to have the OpenJDK target # and options (variants and debug level) parsed. BASIC_SETUP_OUTPUT_DIR diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4 index bcfa1777bcf..a3f0803b0fe 100644 --- a/common/autoconf/flags.m4 +++ b/common/autoconf/flags.m4 @@ -119,6 +119,32 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS], # FIXME: likely bug, should be CCXXFLAGS_JDK? or one for C or CXX. CCXXFLAGS="$CCXXFLAGS -nologo" fi + + if test "x$SYSROOT" != "x"; then + if test "x$TOOLCHAIN_TYPE" = xsolstudio; then + if test "x$OPENJDK_TARGET_OS" = xsolaris; then + # Solaris Studio does not have a concept of sysroot. Instead we must + # make sure the default include and lib dirs are appended to each + # compile and link command line. + SYSROOT_CFLAGS="-I$SYSROOT/usr/include" + SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \ + -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \ + -L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR" + fi + elif test "x$TOOLCHAIN_TYPE" = xgcc; then + SYSROOT_CFLAGS="--sysroot=\"$SYSROOT\"" + SYSROOT_LDFLAGS="--sysroot=\"$SYSROOT\"" + elif test "x$TOOLCHAIN_TYPE" = xclang; then + SYSROOT_CFLAGS="-isysroot \"$SYSROOT\"" + SYSROOT_LDFLAGS="-isysroot \"$SYSROOT\"" + fi + # Propagate the sysroot args to hotspot + LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS" + LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS" + LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS" + fi + AC_SUBST(SYSROOT_CFLAGS) + AC_SUBST(SYSROOT_LDFLAGS) ]) AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS], @@ -421,9 +447,9 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK], LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags" # Hotspot needs these set in their legacy form - LEGACY_EXTRA_CFLAGS=$with_extra_cflags - LEGACY_EXTRA_CXXFLAGS=$with_extra_cxxflags - LEGACY_EXTRA_LDFLAGS=$with_extra_ldflags + LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $with_extra_cflags" + LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $with_extra_cxxflags" + LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $with_extra_ldflags" AC_SUBST(LEGACY_EXTRA_CFLAGS) AC_SUBST(LEGACY_EXTRA_CXXFLAGS) @@ -521,7 +547,13 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK], CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN" fi else - CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" + # Same goes for _BIG_ENDIAN. Do we really need to set *ENDIAN on Solaris if they + # are defined in the system? + if test "x$OPENJDK_TARGET_OS" = xsolaris; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN=" + else + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" + fi fi # Setup target OS define. Use OS target name but in upper case. @@ -735,4 +767,20 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_MISC], [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true], [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false]) AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG) + + case "${TOOLCHAIN_TYPE}" in + microsoft) + CFLAGS_WARNINGS_ARE_ERRORS="/WX" + ;; + solstudio) + CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all" + ;; + gcc) + CFLAGS_WARNINGS_ARE_ERRORS="-Werror" + ;; + clang) + CFLAGS_WARNINGS_ARE_ERRORS="-Werror" + ;; + esac + AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS) ]) diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index b3d823b29ed..fdf1c6dc829 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -664,7 +664,6 @@ FREETYPE_BUNDLE_LIB_PATH FREETYPE_LIBS FREETYPE_CFLAGS CUPS_CFLAGS -OPENWIN_HOME X_EXTRA_LIBS X_LIBS X_PRE_LIBS @@ -673,6 +672,7 @@ XMKMF FIXPATH ZIP_DEBUGINFO_FILES ENABLE_DEBUG_SYMBOLS +CFLAGS_WARNINGS_ARE_ERRORS COMPILER_SUPPORTS_TARGET_BITS_FLAG ZERO_ARCHFLAG LDFLAGS_CXX_JDK @@ -707,6 +707,8 @@ SET_EXECUTABLE_ORIGIN SHARED_LIBRARY_FLAGS CXX_FLAG_REORDER C_FLAG_REORDER +SYSROOT_LDFLAGS +SYSROOT_CFLAGS RC_FLAGS AR_OUT_OPTION LD_OUT_OPTION @@ -759,7 +761,7 @@ CXXFLAGS CXX ac_ct_PROPER_COMPILER_CXX PROPER_COMPILER_CXX -TOOLS_DIR_CXX +TOOLCHAIN_PATH_CXX POTENTIAL_CXX OBJEXT EXEEXT @@ -770,11 +772,11 @@ CFLAGS CC ac_ct_PROPER_COMPILER_CC PROPER_COMPILER_CC -TOOLS_DIR_CC +TOOLCHAIN_PATH_CC POTENTIAL_CC -VS_PATH VS_LIB VS_INCLUDE +VS_PATH CYGWIN_LINK EXE_SUFFIX OBJ_SUFFIX @@ -886,7 +888,6 @@ SET_OPENJDK BUILD_LOG_WRAPPER BUILD_LOG_PREVIOUS BUILD_LOG -SYS_ROOT TOPDIR PATH_SEP ZERO_ARCHDEF @@ -1019,9 +1020,6 @@ ac_subst_files='' ac_user_opts=' enable_option_checking with_target_bits -with_sys_root -with_tools_dir -with_devkit enable_openjdk_only with_custom_make_dir with_jdk_variant @@ -1029,6 +1027,12 @@ with_jvm_interpreter with_jvm_variants enable_debug with_debug_level +with_devkit +with_sys_root +with_sysroot +with_tools_dir +with_toolchain_path +with_extra_path with_conf_name with_builddeps_conf with_builddeps_server @@ -1847,12 +1851,6 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-target-bits build 32-bit or 64-bit binaries (for platforms that support it), e.g. --with-target-bits=32 [guessed] - --with-sys-root pass this sys-root to the compilers and tools (for - cross-compiling) - --with-tools-dir search this directory for compilers and tools (for - cross-compiling) - --with-devkit use this directory as base for tools-dir and - sys-root (for cross-compiling) --with-custom-make-dir Deprecated. Option is kept for backwards compatibility and is ignored --with-jdk-variant JDK variant to build (normal) [normal] @@ -1860,8 +1858,16 @@ Optional Packages: --with-jvm-variants JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark, core) [server] - --with-debug-level set the debug level (release, fastdebug, slowdebug) - [release] + --with-debug-level set the debug level (release, fastdebug, slowdebug, + optimized (HotSpot build only)) [release] + --with-devkit use this devkit for compilers, tools and resources + --with-sys-root alias for --with-sysroot for backwards compatability + --with-sysroot use this directory as sysroot) + --with-tools-dir alias for --with-toolchain-path for backwards + compatibility + --with-toolchain-path prepend these directories when searching for + toolchain binaries (compilers etc) + --with-extra-path prepend these directories to the default path --with-conf-name use this as the name of the configuration [generated from important configuration options] --with-builddeps-conf use this configuration file for the builddeps @@ -3324,6 +3330,9 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Appends a string to a path variable, only adding the : when needed. +# Prepends a string to a path variable, only adding the : when needed. + + # This will make sure the given variable points to a full and proper # path. This means: # 1) There will be no spaces in the path. On posix platforms, @@ -3406,6 +3415,8 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + #%%% Simple tools %%% # Check if we have found a usable version of make @@ -4232,7 +4243,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=1394794899 +DATE_WHEN_GENERATED=1396624161 ############################################################################### # @@ -13507,6 +13518,12 @@ test -n "$target_alias" && VAR_CPU_BITS=64 VAR_CPU_ENDIAN=big ;; + powerpc64le) + VAR_CPU=ppc64 + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; s390) VAR_CPU=s390 VAR_CPU_ARCH=s390 @@ -13632,6 +13649,12 @@ $as_echo "$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU" >&6; } VAR_CPU_BITS=64 VAR_CPU_ENDIAN=big ;; + powerpc64le) + VAR_CPU=ppc64 + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; s390) VAR_CPU=s390 VAR_CPU_ARCH=s390 @@ -14239,180 +14262,6 @@ $as_echo "$as_me: The path of TOPDIR, which resolves as \"$path\", is invalid." # Locate the directory of this script. AUTOCONF_DIR=$TOPDIR/common/autoconf - if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then - # Add extra search paths on solaris for utilities like ar and as etc... - PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin" - fi - - # You can force the sys-root if the sys-root encoded into the cross compiler tools - # is not correct. - -# Check whether --with-sys-root was given. -if test "${with_sys_root+set}" = set; then : - withval=$with_sys_root; -fi - - - if test "x$with_sys_root" != x; then - SYS_ROOT=$with_sys_root - else - SYS_ROOT=/ - fi - - - -# Check whether --with-tools-dir was given. -if test "${with_tools_dir+set}" = set; then : - withval=$with_tools_dir; TOOLS_DIR=$with_tools_dir - -fi - - - -# Check whether --with-devkit was given. -if test "${with_devkit+set}" = set; then : - withval=$with_devkit; - if test "x$with_sys_root" != x; then - as_fn_error $? "Cannot specify both --with-devkit and --with-sys-root at the same time" "$LINENO" 5 - fi - - if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then - - # Input might be given as Windows format, start by converting to - # unix format. - path="$with_devkit" - new_path=`$CYGPATH -u "$path"` - - # Cygwin tries to hide some aspects of the Windows file system, such that binaries are - # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered - # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then - # "foo.exe" is OK but "foo" is an error. - # - # This test is therefore slightly more accurate than "test -f" to check for file precense. - # It is also a way to make sure we got the proper file name for the real test later on. - test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` - if test "x$test_shortpath" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: The path of with_devkit, which resolves as \"$path\", is invalid." >&5 -$as_echo "$as_me: The path of with_devkit, which resolves as \"$path\", is invalid." >&6;} - as_fn_error $? "Cannot locate the the path of with_devkit" "$LINENO" 5 - fi - - # Call helper function which possibly converts this using DOS-style short mode. - # If so, the updated path is stored in $new_path. - - input_path="$new_path" - # Check if we need to convert this using DOS-style short mode. If the path - # contains just simple characters, use it. Otherwise (spaces, weird characters), - # take no chances and rewrite it. - # Note: m4 eats our [], so we need to use [ and ] instead. - has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` - if test "x$has_forbidden_chars" != x; then - # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) - shortmode_path=`$CYGPATH -s -m -a "$input_path"` - path_after_shortmode=`$CYGPATH -u "$shortmode_path"` - if test "x$path_after_shortmode" != "x$input_to_shortpath"; then - # Going to short mode and back again did indeed matter. Since short mode is - # case insensitive, let's make it lowercase to improve readability. - shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Now convert it back to Unix-stile (cygpath) - input_path=`$CYGPATH -u "$shortmode_path"` - new_path="$input_path" - fi - fi - - test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` - if test "x$test_cygdrive_prefix" = x; then - # As a simple fix, exclude /usr/bin since it's not a real path. - if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then - # The path is in a Cygwin special directory (e.g. /home). We need this converted to - # a path prefixed by /cygdrive for fixpath to work. - new_path="$CYGWIN_ROOT_PATH$input_path" - fi - fi - - - if test "x$path" != "x$new_path"; then - with_devkit="$new_path" - { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting with_devkit to \"$new_path\"" >&5 -$as_echo "$as_me: Rewriting with_devkit to \"$new_path\"" >&6;} - fi - - elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then - - path="$with_devkit" - has_colon=`$ECHO $path | $GREP ^.:` - new_path="$path" - if test "x$has_colon" = x; then - # Not in mixed or Windows style, start by that. - new_path=`cmd //c echo $path` - fi - - - input_path="$new_path" - # Check if we need to convert this using DOS-style short mode. If the path - # contains just simple characters, use it. Otherwise (spaces, weird characters), - # take no chances and rewrite it. - # Note: m4 eats our [], so we need to use [ and ] instead. - has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` - if test "x$has_forbidden_chars" != x; then - # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) - new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - fi - - - windows_path="$new_path" - if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then - unix_path=`$CYGPATH -u "$windows_path"` - new_path="$unix_path" - elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then - unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` - new_path="$unix_path" - fi - - if test "x$path" != "x$new_path"; then - with_devkit="$new_path" - { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting with_devkit to \"$new_path\"" >&5 -$as_echo "$as_me: Rewriting with_devkit to \"$new_path\"" >&6;} - fi - - # Save the first 10 bytes of this path to the storage, so fixpath can work. - all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") - - else - # We're on a posix platform. Hooray! :) - path="$with_devkit" - has_space=`$ECHO "$path" | $GREP " "` - if test "x$has_space" != x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: The path of with_devkit, which resolves as \"$path\", is invalid." >&5 -$as_echo "$as_me: The path of with_devkit, which resolves as \"$path\", is invalid." >&6;} - as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 - fi - - # Use eval to expand a potential ~ - eval path="$path" - if test ! -f "$path" && test ! -d "$path"; then - as_fn_error $? "The path of with_devkit, which resolves as \"$path\", is not found." "$LINENO" 5 - fi - - with_devkit="`cd "$path"; $THEPWDCMD -L`" - fi - - - if test "x$TOOLS_DIR" = x; then - TOOLS_DIR="$with_devkit/bin" - else - TOOLS_DIR="$TOOLS_DIR:$with_devkit/bin" - fi - - if test -d "$with_devkit/$host_alias/libc"; then - SYS_ROOT=$with_devkit/$host_alias/libc - elif test -d "$with_devkit/$host/sys-root"; then - SYS_ROOT=$with_devkit/$host/sys-root - fi - -fi - - # Setup default logging of stdout and stderr to build.log in the output root. BUILD_LOG='$(OUTPUT_ROOT)/build.log' @@ -14647,6 +14496,7 @@ $as_echo "$with_jvm_variants" >&6; } # # Set the debug level # release: no debug information, all optimizations, no asserts. + # optimized: no debug information, all optimizations, no asserts, HotSpot target is 'optimized'. # fastdebug: debug information (-g), all optimizations, all asserts # slowdebug: debug information (-g), no optimizations, all asserts # @@ -14679,6 +14529,7 @@ fi $as_echo "$DEBUG_LEVEL" >&6; } if test "x$DEBUG_LEVEL" != xrelease && \ + test "x$DEBUG_LEVEL" != xoptimized && \ test "x$DEBUG_LEVEL" != xfastdebug && \ test "x$DEBUG_LEVEL" != xslowdebug; then as_fn_error $? "Allowed debug levels are: release, fastdebug and slowdebug" "$LINENO" 5 @@ -14715,8 +14566,30 @@ $as_echo "$DEBUG_LEVEL" >&6; } HOTSPOT_DEBUG_LEVEL="jvmg" HOTSPOT_EXPORT="debug" ;; + optimized ) + VARIANT="OPT" + FASTDEBUG="false" + DEBUG_CLASSFILES="false" + BUILD_VARIANT_RELEASE="-optimized" + HOTSPOT_DEBUG_LEVEL="optimized" + HOTSPOT_EXPORT="optimized" + ;; esac + # The debug level 'optimized' is a little special because it is currently only + # applicable to the HotSpot build where it means to build a completely + # optimized version of the VM without any debugging code (like for the + # 'release' debug level which is called 'product' in the HotSpot build) but + # with the exception that it can contain additional code which is otherwise + # protected by '#ifndef PRODUCT' macros. These 'optimized' builds are used to + # test new and/or experimental features which are not intended for customer + # shipment. Because these new features need to be tested and benchmarked in + # real world scenarios, we want to build the containing JDK at the 'release' + # debug level. + if test "x$DEBUG_LEVEL" = xoptimized; then + DEBUG_LEVEL="release" + fi + ##### # Generate the legacy makefile targets for hotspot. # The hotspot api for selecting the build artifacts, really, needs to be improved. @@ -14775,6 +14648,291 @@ $as_echo "$DEBUG_LEVEL" >&6; } # With basic setup done, call the custom early hook. +# Check if we have devkits, extra paths or sysroot set. + + +# Check whether --with-devkit was given. +if test "${with_devkit+set}" = set; then : + withval=$with_devkit; + + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + + # Input might be given as Windows format, start by converting to + # unix format. + path="$with_devkit" + new_path=`$CYGPATH -u "$path"` + + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then + # "foo.exe" is OK but "foo" is an error. + # + # This test is therefore slightly more accurate than "test -f" to check for file precense. + # It is also a way to make sure we got the proper file name for the real test later on. + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` + if test "x$test_shortpath" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of with_devkit, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of with_devkit, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Cannot locate the the path of with_devkit" "$LINENO" 5 + fi + + # Call helper function which possibly converts this using DOS-style short mode. + # If so, the updated path is stored in $new_path. + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + shortmode_path=`$CYGPATH -s -m -a "$input_path"` + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then + # Going to short mode and back again did indeed matter. Since short mode is + # case insensitive, let's make it lowercase to improve readability. + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Now convert it back to Unix-stile (cygpath) + input_path=`$CYGPATH -u "$shortmode_path"` + new_path="$input_path" + fi + fi + + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` + if test "x$test_cygdrive_prefix" = x; then + # As a simple fix, exclude /usr/bin since it's not a real path. + if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then + # The path is in a Cygwin special directory (e.g. /home). We need this converted to + # a path prefixed by /cygdrive for fixpath to work. + new_path="$CYGWIN_ROOT_PATH$input_path" + fi + fi + + + if test "x$path" != "x$new_path"; then + with_devkit="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting with_devkit to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting with_devkit to \"$new_path\"" >&6;} + fi + + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + + path="$with_devkit" + has_colon=`$ECHO $path | $GREP ^.:` + new_path="$path" + if test "x$has_colon" = x; then + # Not in mixed or Windows style, start by that. + new_path=`cmd //c echo $path` + fi + + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + fi + + + windows_path="$new_path" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + unix_path=`$CYGPATH -u "$windows_path"` + new_path="$unix_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` + new_path="$unix_path" + fi + + if test "x$path" != "x$new_path"; then + with_devkit="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting with_devkit to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting with_devkit to \"$new_path\"" >&6;} + fi + + # Save the first 10 bytes of this path to the storage, so fixpath can work. + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") + + else + # We're on a posix platform. Hooray! :) + path="$with_devkit" + has_space=`$ECHO "$path" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of with_devkit, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of with_devkit, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 + fi + + # Use eval to expand a potential ~ + eval path="$path" + if test ! -f "$path" && test ! -d "$path"; then + as_fn_error $? "The path of with_devkit, which resolves as \"$path\", is not found." "$LINENO" 5 + fi + + with_devkit="`cd "$path"; $THEPWDCMD -L`" + fi + + DEVKIT_ROOT="$with_devkit" + # Check for a meta data info file in the root of the devkit + if test -f "$DEVKIT_ROOT/devkit.info"; then + # This potentially sets the following: + # DEVKIT_NAME: A descriptive name of the devkit + # DEVKIT_TOOLCHAIN_PATH: Corresponds to --with-toolchain-path + # DEVKIT_EXTRA_PATH: Corresponds to --with-extra-path + # DEVKIT_SYSROOT: Corresponds to --with-sysroot + . $DEVKIT_ROOT/devkit.info + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for devkit" >&5 +$as_echo_n "checking for devkit... " >&6; } + if test "x$DEVKIT_NAME" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEVKIT_NAME in $DEVKIT_ROOT" >&5 +$as_echo "$DEVKIT_NAME in $DEVKIT_ROOT" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEVKIT_ROOT" >&5 +$as_echo "$DEVKIT_ROOT" >&6; } + fi + + if test "x$DEVKIT_EXTRA_PATH" != x; then + + if test "x$DEVKIT_EXTRA_PATH" != x; then + if test "x$EXTRA_PATH" = x; then + EXTRA_PATH="$DEVKIT_EXTRA_PATH" + else + EXTRA_PATH="$DEVKIT_EXTRA_PATH:$EXTRA_PATH" + fi + fi + + fi + + # Fallback default of just /bin if DEVKIT_PATH is not defined + if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then + DEVKIT_TOOLCHAIN_PATH="$DEVKIT_ROOT/bin" + fi + + if test "x$DEVKIT_TOOLCHAIN_PATH" != x; then + if test "x$TOOLCHAIN_PATH" = x; then + TOOLCHAIN_PATH="$DEVKIT_TOOLCHAIN_PATH" + else + TOOLCHAIN_PATH="$DEVKIT_TOOLCHAIN_PATH:$TOOLCHAIN_PATH" + fi + fi + + + # If DEVKIT_SYSROOT is set, use that, otherwise try a couple of known + # places for backwards compatiblity. + if test "x$DEVKIT_SYSROOT" != x; then + SYSROOT="$DEVKIT_SYSROOT" + elif test -d "$DEVKIT_ROOT/$host_alias/libc"; then + SYSROOT="$DEVKIT_ROOT/$host_alias/libc" + elif test -d "$DEVKIT_ROOT/$host/sys-root"; then + SYSROOT="$DEVKIT_ROOT/$host/sys-root" + fi + + +fi + + + # You can force the sysroot if the sysroot encoded into the compiler tools + # is not correct. + +# Check whether --with-sys-root was given. +if test "${with_sys_root+set}" = set; then : + withval=$with_sys_root; SYSROOT=$with_sys_root + +fi + + + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; SYSROOT=$with_sysroot + +fi + + + +# Check whether --with-tools-dir was given. +if test "${with_tools_dir+set}" = set; then : + withval=$with_tools_dir; + if test "x$with_tools_dir" != x; then + if test "x$TOOLCHAIN_PATH" = x; then + TOOLCHAIN_PATH="$with_tools_dir" + else + TOOLCHAIN_PATH="$with_tools_dir:$TOOLCHAIN_PATH" + fi + fi + + +fi + + + +# Check whether --with-toolchain-path was given. +if test "${with_toolchain_path+set}" = set; then : + withval=$with_toolchain_path; + if test "x$with_toolchain_path" != x; then + if test "x$TOOLCHAIN_PATH" = x; then + TOOLCHAIN_PATH="$with_toolchain_path" + else + TOOLCHAIN_PATH="$with_toolchain_path:$TOOLCHAIN_PATH" + fi + fi + + +fi + + + +# Check whether --with-extra-path was given. +if test "${with_extra_path+set}" = set; then : + withval=$with_extra_path; + if test "x$with_extra_path" != x; then + if test "x$EXTRA_PATH" = x; then + EXTRA_PATH="$with_extra_path" + else + EXTRA_PATH="$with_extra_path:$EXTRA_PATH" + fi + fi + + +fi + + + # Prepend the extra path to the global path + + if test "x$EXTRA_PATH" != x; then + if test "x$PATH" = x; then + PATH="$EXTRA_PATH" + else + PATH="$EXTRA_PATH:$PATH" + fi + fi + + + if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then + # Add extra search paths on solaris for utilities like ar and as etc... + PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin" + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSROOT" >&5 +$as_echo "$SYSROOT" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for toolchain path" >&5 +$as_echo_n "checking for toolchain path... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOOLCHAIN_PATH" >&5 +$as_echo "$TOOLCHAIN_PATH" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra path" >&5 +$as_echo_n "checking for extra path... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXTRA_PATH" >&5 +$as_echo "$EXTRA_PATH" >&6; } + + # To properly create a configuration name, we need to have the OpenJDK target # and options (variants and debug level) parsed. @@ -16082,10 +16240,10 @@ $as_echo "$as_me: Rewriting FOUND_MAKE to \"$new_complete\"" >&6;} fi if test "x$FOUND_MAKE" = x; then - if test "x$TOOLS_DIR" != x; then - # We have a tools-dir, check that as well before giving up. + if test "x$TOOLCHAIN_PATH" != x; then + # We have a toolchain path, check that as well before giving up. OLD_PATH=$PATH - PATH=$TOOLS_DIR:$PATH + PATH=$TOOLCHAIN_PATH:$PATH for ac_prog in gmake do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -27207,47 +27365,62 @@ $as_echo "$as_me: Rewriting VS_ENV_CMD to \"$new_complete\"" >&6;} # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat { $as_echo "$as_me:${as_lineno-$LINENO}: Trying to extract Visual Studio environment variables" >&5 $as_echo "$as_me: Trying to extract Visual Studio environment variables" >&6;} - cd $OUTPUT_ROOT - # FIXME: The code betweeen ---- was inlined from a separate script and is not properly adapted - # to autoconf standards. - #---- + # We need to create a couple of temporary files. + VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env" + $MKDIR -p $VS_ENV_TMP_DIR - # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment) - # but calculate the difference in Cygwin environment before/after running it and then - # apply the diff. + # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment). + # Instead create a shell script which will set the relevant variables when run. + WINPATH_VS_ENV_CMD="$VS_ENV_CMD" - if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then - _vs10varsall=`cygpath -a -m -s "$VS_ENV_CMD"` - _dosvs10varsall=`cygpath -a -w -s $_vs10varsall` - _dosbash=`cygpath -a -w -s \`which bash\`.*` - else - _dosvs10varsall=`cmd //c echo $VS_ENV_CMD` - _dosbash=`cmd //c echo \`which bash\`` - fi + unix_path="$WINPATH_VS_ENV_CMD" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + windows_path=`$CYGPATH -m "$unix_path"` + WINPATH_VS_ENV_CMD="$windows_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + windows_path=`cmd //c echo $unix_path` + WINPATH_VS_ENV_CMD="$windows_path" + fi - # generate the set of exported vars before/after the vs10 setup - $ECHO "@echo off" > localdevenvtmp.bat - $ECHO "$_dosbash -c \"export -p\" > localdevenvtmp.export0" >> localdevenvtmp.bat - $ECHO "call $_dosvs10varsall $VS_ENV_ARGS" >> localdevenvtmp.bat - $ECHO "$_dosbash -c \"export -p\" > localdevenvtmp.export1" >> localdevenvtmp.bat + WINPATH_BASH="$BASH" + + unix_path="$WINPATH_BASH" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + windows_path=`$CYGPATH -m "$unix_path"` + WINPATH_BASH="$windows_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + windows_path=`cmd //c echo $unix_path` + WINPATH_BASH="$windows_path" + fi + + + # Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell + # script (executable by bash) that will setup the important variables. + EXTRACT_VC_ENV_BAT_FILE="$VS_ENV_TMP_DIR/extract-vs-env.bat" + $ECHO "@echo off" > $EXTRACT_VC_ENV_BAT_FILE + # This will end up something like: + # call C:/progra~2/micros~2.0/vc/bin/amd64/vcvars64.bat + $ECHO "call $WINPATH_VS_ENV_CMD $VS_ENV_ARGS" >> $EXTRACT_VC_ENV_BAT_FILE + # These will end up something like: + # C:/CygWin/bin/bash -c 'echo VS_PATH=\"$PATH\" > localdevenv.sh + # The trailing space for everyone except PATH is no typo, but is needed due + # to trailing \ in the Windows paths. These will be stripped later. + $ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE # Now execute the newly created bat file. - # The | cat is to stop SetEnv.Cmd to mess with system colors on msys - cmd /c localdevenvtmp.bat | cat - - # apply the diff (less some non-vs10 vars named by "!") - $SORT localdevenvtmp.export0 | $GREP -v "!" > localdevenvtmp.export0.sort - $SORT localdevenvtmp.export1 | $GREP -v "!" > localdevenvtmp.export1.sort - $COMM -1 -3 localdevenvtmp.export0.sort localdevenvtmp.export1.sort > localdevenv.sh - - # cleanup - $RM localdevenvtmp* - #---- + # The | cat is to stop SetEnv.Cmd to mess with system colors on msys. + # Change directory so we don't need to mess with Windows paths in redirects. + cd $VS_ENV_TMP_DIR + cmd /c extract-vs-env.bat | $CAT cd $CURDIR - if test ! -s $OUTPUT_ROOT/localdevenv.sh; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + + if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then { $as_echo "$as_me:${as_lineno-$LINENO}: Could not succesfully extract the envionment variables needed for the VS setup." >&5 $as_echo "$as_me: Could not succesfully extract the envionment variables needed for the VS setup." >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Try setting --with-tools-dir to the VC/bin directory within the VS installation" >&5 @@ -27261,31 +27434,37 @@ $as_echo "$as_me: or run \"bash.exe -l\" from a VS command prompt and then run c # the configure script to find and run the compiler in the proper way. { $as_echo "$as_me:${as_lineno-$LINENO}: Setting extracted environment variables" >&5 $as_echo "$as_me: Setting extracted environment variables" >&6;} - . $OUTPUT_ROOT/localdevenv.sh + . $VS_ENV_TMP_DIR/set-vs-env.sh + # Now we have VS_PATH, VS_INCLUDE, VS_LIB. For further checking, we + # also define VCINSTALLDIR, WindowsSdkDir and WINDOWSSDKDIR. else # We did not find a vsvars bat file, let's hope we are run from a VS command prompt. { $as_echo "$as_me:${as_lineno-$LINENO}: Cannot locate a valid Visual Studio installation, checking current environment" >&5 $as_echo "$as_me: Cannot locate a valid Visual Studio installation, checking current environment" >&6;} fi - # At this point, we should have corrent variables in the environment, or we can't continue. + # At this point, we should have correct variables in the environment, or we can't continue. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Visual Studio variables" >&5 $as_echo_n "checking for Visual Studio variables... " >&6; } if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x || test "x$WINDOWSSDKDIR" != x; then - if test "x$INCLUDE" = x || test "x$LIB" = x; then + if test "x$VS_INCLUDE" = x || test "x$VS_LIB" = x; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: present but broken" >&5 $as_echo "present but broken" >&6; } as_fn_error $? "Your VC command prompt seems broken, INCLUDE and/or LIB is missing." "$LINENO" 5 else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } - # Remove any trailing \ from INCLUDE and LIB to avoid trouble in spec.gmk. - VS_INCLUDE=`$ECHO "$INCLUDE" | $SED 's/\\\\$//'` - VS_LIB=`$ECHO "$LIB" | $SED 's/\\\\$//'` - # Remove any paths containing # (typically F#) as that messes up make - PATH=`$ECHO "$PATH" | $SED 's/[^:#]*#[^:]*://g'` - VS_PATH="$PATH" + # Remove any trailing "\" and " " from the variables. + VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'` + VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'` + VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'` + WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'` + WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'` + # Remove any paths containing # (typically F#) as that messes up make. This + # is needed if visual studio was installed with F# support. + VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[^:#]*#[^:]*://g'` + @@ -27310,6 +27489,12 @@ $as_echo "$as_me: or run \"bash.exe -l\" from a VS command prompt and then run c as_fn_error $? "Cannot continue" "$LINENO" 5 fi + # Reset path to VS_PATH. It will include everything that was on PATH at the time we + # ran TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV. + PATH="$VS_PATH" + # The microsoft toolchain also requires INCLUDE and LIB to be set. + export INCLUDE="$VS_INCLUDE" + export LIB="$VS_LIB" fi # autoconf magic only relies on PATH, so update it if tools dir is specified @@ -27323,170 +27508,12 @@ $as_echo "$as_me: or run \"bash.exe -l\" from a VS command prompt and then run c PATH="/usr/ccs/bin:$PATH" fi - # Finally add TOOLS_DIR at the beginning, to allow --with-tools-dir to + # Finally add TOOLCHAIN_PATH at the beginning, to allow --with-tools-dir to # override all other locations. - if test "x$TOOLS_DIR" != x; then - PATH=$TOOLS_DIR:$PATH + if test "x$TOOLCHAIN_PATH" != x; then + PATH=$TOOLCHAIN_PATH:$PATH fi - # If a devkit is found on the builddeps server, then prepend its path to the - # PATH variable. If there are cross compilers available in the devkit, these - # will be found by AC_PROG_CC et al. - DEVKIT= - - - if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then - # Source the builddeps file again, to make sure it uses the latest variables! - . $builddepsfile - # Look for a target and build machine specific resource! - eval resource=\${builddep_devkit_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}} - if test "x$resource" = x; then - # Ok, lets instead look for a target specific resource - eval resource=\${builddep_devkit_TARGET_${rewritten_target_var}} - fi - if test "x$resource" = x; then - # Ok, lets instead look for a build specific resource - eval resource=\${builddep_devkit_BUILD_${rewritten_build_var}} - fi - if test "x$resource" = x; then - # Ok, lets instead look for a generic resource - # (The devkit comes from M4 and not the shell, thus no need for eval here.) - resource=${builddep_devkit} - fi - if test "x$resource" != x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for devkit" >&5 -$as_echo "$as_me: Using builddeps $resource for devkit" >&6;} - # If the resource in the builddeps.conf file is an existing directory, - # for example /java/linux/cups - if test -d ${resource}; then - depdir=${resource} - else - - # devkit is for example mymodule - # $resource is for example libs/general/libmymod_1_2_3.zip - # $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps - # $with_builddeps_dir is for example /localhome/builddeps - # depdir is the name of the variable into which we store the depdir, eg MYMOD - # Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and - # unzip into the directory: /localhome/builddeps/libmymod_1_2_3 - filename=`basename $resource` - filebase=`echo $filename | sed 's/\.[^\.]*$//'` - filebase=${filename%%.*} - extension=${filename#*.} - installdir=$with_builddeps_dir/$filebase - if test ! -f $installdir/$filename.unpacked; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency devkit from $with_builddeps_server/$resource and installing into $installdir" >&5 -$as_echo "$as_me: Downloading build dependency devkit from $with_builddeps_server/$resource and installing into $installdir" >&6;} - if test ! -d $installdir; then - mkdir -p $installdir - fi - if test ! -d $installdir; then - as_fn_error $? "Could not create directory $installdir" "$LINENO" 5 - fi - tmpfile=`mktemp $installdir/devkit.XXXXXXXXX` - touch $tmpfile - if test ! -f $tmpfile; then - as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5 - fi - - # $with_builddeps_server/$resource is the ftp://abuilddeps.server.com/libs/cups.zip - # $tmpfile is the local file name for the downloaded file. - VALID_TOOL=no - if test "x$BDEPS_FTP" = xwget; then - VALID_TOOL=yes - wget -O $tmpfile $with_builddeps_server/$resource - fi - if test "x$BDEPS_FTP" = xlftp; then - VALID_TOOL=yes - lftp -c "get $with_builddeps_server/$resource -o $tmpfile" - fi - if test "x$BDEPS_FTP" = xftp; then - VALID_TOOL=yes - FTPSERVER=`echo $with_builddeps_server/$resource | cut -f 3 -d '/'` - FTPPATH=`echo $with_builddeps_server/$resource | cut -f 4- -d '/'` - FTPUSERPWD=${FTPSERVER%%@*} - if test "x$FTPSERVER" != "x$FTPUSERPWD"; then - FTPUSER=${userpwd%%:*} - FTPPWD=${userpwd#*@} - FTPSERVER=${FTPSERVER#*@} - else - FTPUSER=ftp - FTPPWD=ftp - fi - # the "pass" command does not work on some - # ftp clients (read ftp.exe) but if it works, - # passive mode is better! - ( \ - echo "user $FTPUSER $FTPPWD" ; \ - echo "pass" ; \ - echo "bin" ; \ - echo "get $FTPPATH $tmpfile" ; \ - ) | ftp -in $FTPSERVER - fi - if test "x$VALID_TOOL" != xyes; then - as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5 - fi - - mv $tmpfile $installdir/$filename - if test ! -s $installdir/$filename; then - as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5 - fi - case "$extension" in - zip) echo "Unzipping $installdir/$filename..." - (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked) - ;; - tar.gz) echo "Untaring $installdir/$filename..." - (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) - ;; - tgz) echo "Untaring $installdir/$filename..." - (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) - ;; - *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5 - ;; - esac - fi - if test -f $installdir/$filename.unpacked; then - depdir=$installdir - fi - - fi - # Source the builddeps file again, because in the previous command, the depdir - # was updated to point at the current build dependency install directory. - . $builddepsfile - # Now extract variables from the builddeps.conf files. - theroot=${builddep_devkit_ROOT} - thecflags=${builddep_devkit_CFLAGS} - thelibs=${builddep_devkit_LIBS} - if test "x$depdir" = x; then - as_fn_error $? "Could not download build dependency devkit" "$LINENO" 5 - fi - DEVKIT=$depdir - if test "x$theroot" != x; then - DEVKIT="$theroot" - fi - if test "x$thecflags" != x; then - DEVKIT_CFLAGS="$thecflags" - fi - if test "x$thelibs" != x; then - DEVKIT_LIBS="$thelibs" - fi - - # Found devkit - PATH="$DEVKIT/bin:$PATH" - SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root" - if test "x$x_includes" = "xNONE"; then - x_includes="$SYS_ROOT/usr/include/X11" - fi - if test "x$x_libraries" = "xNONE"; then - x_libraries="$SYS_ROOT/usr/lib" - fi - - - fi - - fi - - # # Setup the compilers (CC and CXX) @@ -27569,25 +27596,25 @@ done # used. CC= - # If TOOLS_DIR is set, check for all compiler names in there first + # If TOOLCHAIN_PATH is set, check for all compiler names in there first # before checking the rest of the PATH. # FIXME: Now that we prefix the TOOLS_DIR to the PATH in the PRE_DETECTION # step, this should not be necessary. - if test -n "$TOOLS_DIR"; then + if test -n "$TOOLCHAIN_PATH"; then PATH_save="$PATH" - PATH="$TOOLS_DIR" + PATH="$TOOLCHAIN_PATH" for ac_prog in $SEARCH_LIST do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TOOLS_DIR_CC+:} false; then : +if ${ac_cv_path_TOOLCHAIN_PATH_CC+:} false; then : $as_echo_n "(cached) " >&6 else - case $TOOLS_DIR_CC in + case $TOOLCHAIN_PATH_CC in [\\/]* | ?:[\\/]*) - ac_cv_path_TOOLS_DIR_CC="$TOOLS_DIR_CC" # Let the user override the test with a path. + ac_cv_path_TOOLCHAIN_PATH_CC="$TOOLCHAIN_PATH_CC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -27597,7 +27624,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_TOOLS_DIR_CC="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_TOOLCHAIN_PATH_CC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -27608,20 +27635,20 @@ IFS=$as_save_IFS ;; esac fi -TOOLS_DIR_CC=$ac_cv_path_TOOLS_DIR_CC -if test -n "$TOOLS_DIR_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOOLS_DIR_CC" >&5 -$as_echo "$TOOLS_DIR_CC" >&6; } +TOOLCHAIN_PATH_CC=$ac_cv_path_TOOLCHAIN_PATH_CC +if test -n "$TOOLCHAIN_PATH_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOOLCHAIN_PATH_CC" >&5 +$as_echo "$TOOLCHAIN_PATH_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$TOOLS_DIR_CC" && break + test -n "$TOOLCHAIN_PATH_CC" && break done - CC=$TOOLS_DIR_CC + CC=$TOOLCHAIN_PATH_CC PATH="$PATH_save" fi @@ -29275,25 +29302,25 @@ done # used. CXX= - # If TOOLS_DIR is set, check for all compiler names in there first + # If TOOLCHAIN_PATH is set, check for all compiler names in there first # before checking the rest of the PATH. # FIXME: Now that we prefix the TOOLS_DIR to the PATH in the PRE_DETECTION # step, this should not be necessary. - if test -n "$TOOLS_DIR"; then + if test -n "$TOOLCHAIN_PATH"; then PATH_save="$PATH" - PATH="$TOOLS_DIR" + PATH="$TOOLCHAIN_PATH" for ac_prog in $SEARCH_LIST do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TOOLS_DIR_CXX+:} false; then : +if ${ac_cv_path_TOOLCHAIN_PATH_CXX+:} false; then : $as_echo_n "(cached) " >&6 else - case $TOOLS_DIR_CXX in + case $TOOLCHAIN_PATH_CXX in [\\/]* | ?:[\\/]*) - ac_cv_path_TOOLS_DIR_CXX="$TOOLS_DIR_CXX" # Let the user override the test with a path. + ac_cv_path_TOOLCHAIN_PATH_CXX="$TOOLCHAIN_PATH_CXX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -29303,7 +29330,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_TOOLS_DIR_CXX="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_TOOLCHAIN_PATH_CXX="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -29314,20 +29341,20 @@ IFS=$as_save_IFS ;; esac fi -TOOLS_DIR_CXX=$ac_cv_path_TOOLS_DIR_CXX -if test -n "$TOOLS_DIR_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOOLS_DIR_CXX" >&5 -$as_echo "$TOOLS_DIR_CXX" >&6; } +TOOLCHAIN_PATH_CXX=$ac_cv_path_TOOLCHAIN_PATH_CXX +if test -n "$TOOLCHAIN_PATH_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOOLCHAIN_PATH_CXX" >&5 +$as_echo "$TOOLCHAIN_PATH_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$TOOLS_DIR_CXX" && break + test -n "$TOOLCHAIN_PATH_CXX" && break done - CXX=$TOOLS_DIR_CXX + CXX=$TOOLCHAIN_PATH_CXX PATH="$PATH_save" fi @@ -40735,6 +40762,32 @@ $as_echo "$tool_specified" >&6; } CCXXFLAGS="$CCXXFLAGS -nologo" fi + if test "x$SYSROOT" != "x"; then + if test "x$TOOLCHAIN_TYPE" = xsolstudio; then + if test "x$OPENJDK_TARGET_OS" = xsolaris; then + # Solaris Studio does not have a concept of sysroot. Instead we must + # make sure the default include and lib dirs are appended to each + # compile and link command line. + SYSROOT_CFLAGS="-I$SYSROOT/usr/include" + SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \ + -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \ + -L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR" + fi + elif test "x$TOOLCHAIN_TYPE" = xgcc; then + SYSROOT_CFLAGS="--sysroot=\"$SYSROOT\"" + SYSROOT_LDFLAGS="--sysroot=\"$SYSROOT\"" + elif test "x$TOOLCHAIN_TYPE" = xclang; then + SYSROOT_CFLAGS="-isysroot \"$SYSROOT\"" + SYSROOT_LDFLAGS="-isysroot \"$SYSROOT\"" + fi + # Propagate the sysroot args to hotspot + LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS" + LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS" + LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS" + fi + + + # FIXME: Currently we must test this after toolchain but before flags. Fix! @@ -41583,9 +41636,9 @@ fi LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags" # Hotspot needs these set in their legacy form - LEGACY_EXTRA_CFLAGS=$with_extra_cflags - LEGACY_EXTRA_CXXFLAGS=$with_extra_cxxflags - LEGACY_EXTRA_LDFLAGS=$with_extra_ldflags + LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $with_extra_cflags" + LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $with_extra_cxxflags" + LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $with_extra_ldflags" @@ -41683,7 +41736,13 @@ fi CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN" fi else - CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" + # Same goes for _BIG_ENDIAN. Do we really need to set *ENDIAN on Solaris if they + # are defined in the system? + if test "x$OPENJDK_TARGET_OS" = xsolaris; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN=" + else + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" + fi fi # Setup target OS define. Use OS target name but in upper case. @@ -41989,6 +42048,22 @@ $as_echo "$supports" >&6; } + case "${TOOLCHAIN_TYPE}" in + microsoft) + CFLAGS_WARNINGS_ARE_ERRORS="/WX" + ;; + solstudio) + CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all" + ;; + gcc) + CFLAGS_WARNINGS_ARE_ERRORS="-Werror" + ;; + clang) + CFLAGS_WARNINGS_ARE_ERRORS="-Werror" + ;; + esac + + # Setup debug symbols (need objcopy from the toolchain for that) @@ -42230,21 +42305,23 @@ $as_echo "no" >&6; } # Check if the user has specified sysroot, but not --x-includes or --x-libraries. # Make a simple check for the libraries at the sysroot, and setup --x-includes and # --x-libraries for the sysroot, if that seems to be correct. - if test "x$SYS_ROOT" != "x/"; then - if test "x$x_includes" = xNONE; then - if test -f "$SYS_ROOT/usr/X11R6/include/X11/Xlib.h"; then - x_includes="$SYS_ROOT/usr/X11R6/include" - elif test -f "$SYS_ROOT/usr/include/X11/Xlib.h"; then - x_includes="$SYS_ROOT/usr/include" + if test "x$OPENJDK_TARGET_OS" = "xlinux"; then + if test "x$SYSROOT" != "x"; then + if test "x$x_includes" = xNONE; then + if test -f "$SYSROOT/usr/X11R6/include/X11/Xlib.h"; then + x_includes="$SYSROOT/usr/X11R6/include" + elif test -f "$SYSROOT/usr/include/X11/Xlib.h"; then + x_includes="$SYSROOT/usr/include" + fi fi - fi - if test "x$x_libraries" = xNONE; then - if test -f "$SYS_ROOT/usr/X11R6/lib/libX11.so"; then - x_libraries="$SYS_ROOT/usr/X11R6/lib" - elif test "$SYS_ROOT/usr/lib64/libX11.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then - x_libraries="$SYS_ROOT/usr/lib64" - elif test -f "$SYS_ROOT/usr/lib/libX11.so"; then - x_libraries="$SYS_ROOT/usr/lib" + if test "x$x_libraries" = xNONE; then + if test -f "$SYSROOT/usr/X11R6/lib/libX11.so"; then + x_libraries="$SYSROOT/usr/X11R6/lib" + elif test "$SYSROOT/usr/lib64/libX11.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then + x_libraries="$SYSROOT/usr/lib64" + elif test -f "$SYSROOT/usr/lib/libX11.so"; then + x_libraries="$SYSROOT/usr/lib" + fi fi fi fi @@ -42976,10 +43053,13 @@ fi if test "x$OPENJDK_TARGET_OS" = xsolaris; then OPENWIN_HOME="/usr/openwin" + X_CFLAGS="-I$SYSROOT$OPENWIN_HOME/include -I$SYSROOT$OPENWIN_HOME/include/X11/extensions" + X_LIBS="-L$SYSROOT$OPENWIN_HOME/sfw/lib$OPENJDK_TARGET_CPU_ISADIR \ + -L$SYSROOT$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR \ + -R$OPENWIN_HOME/sfw/lib$OPENJDK_TARGET_CPU_ISADIR \ + -R$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR" fi - - # # Weird Sol10 something check...TODO change to try compile # @@ -43278,14 +43358,14 @@ done # package installation locations. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cups headers" >&5 $as_echo_n "checking for cups headers... " >&6; } - if test -s /opt/sfw/cups/include/cups/cups.h; then + if test -s $SYSROOT/opt/sfw/cups/include/cups/cups.h; then # An SFW package seems to be installed! CUPS_FOUND=yes - CUPS_CFLAGS="-I/opt/sfw/cups/include" - elif test -s /opt/csw/include/cups/cups.h; then + CUPS_CFLAGS="-I$SYSROOT/opt/sfw/cups/include" + elif test -s $SYSROOT/opt/csw/include/cups/cups.h; then # A CSW package seems to be installed! CUPS_FOUND=yes - CUPS_CFLAGS="-I/opt/csw/include" + CUPS_CFLAGS="-I$SYSROOT/opt/csw/include" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_FOUND" >&5 $as_echo "$CUPS_FOUND" >&6; } @@ -43878,9 +43958,11 @@ $as_echo "yes (using builddeps)" >&6; } fi fi - if test "x$FOUND_FREETYPE" != xyes; then - # Check modules using pkg-config, but only if we have it (ugly output results otherwise) - if test "x$PKG_CONFIG" != x; then + # If we have a sysroot, assume that's where we are supposed to look and skip pkg-config. + if test "x$SYSROOT" = x; then + if test "x$FOUND_FREETYPE" != xyes; then + # Check modules using pkg-config, but only if we have it (ugly output results otherwise) + if test "x$PKG_CONFIG" != x; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5 @@ -43948,23 +44030,24 @@ else $as_echo "yes" >&6; } FOUND_FREETYPE=yes fi - if test "x$FOUND_FREETYPE" = xyes; then - # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us. - FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's/-lz//g'` - # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64 - if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then - FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's?/lib?/lib/amd64?g'` - fi - # BDEPS_CHECK_MODULE will set FREETYPE_CFLAGS and _LIBS, but we don't get a lib path for bundling. - if test "x$BUNDLE_FREETYPE" = xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Found freetype using pkg-config, but ignoring since we can not bundle that" >&5 + if test "x$FOUND_FREETYPE" = xyes; then + # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us. + FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's/-lz//g'` + # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64 + if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then + FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's?/lib?/lib/amd64?g'` + fi + # BDEPS_CHECK_MODULE will set FREETYPE_CFLAGS and _LIBS, but we don't get a lib path for bundling. + if test "x$BUNDLE_FREETYPE" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Found freetype using pkg-config, but ignoring since we can not bundle that" >&5 $as_echo "$as_me: Found freetype using pkg-config, but ignoring since we can not bundle that" >&6;} - FOUND_FREETYPE=no - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype" >&5 + FOUND_FREETYPE=no + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype" >&5 $as_echo_n "checking for freetype... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (using pkg-config)" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (using pkg-config)" >&5 $as_echo "yes (using pkg-config)" >&6; } + fi fi fi fi @@ -44578,12 +44661,7 @@ $as_echo "$FREETYPE_LIB_PATH" >&6; } fi else - if test "x$SYS_ROOT" = "x/"; then - FREETYPE_ROOT= - else - FREETYPE_ROOT="$SYS_ROOT" - fi - FREETYPE_BASE_DIR="$FREETYPE_ROOT/usr" + FREETYPE_BASE_DIR="$SYSROOT/usr" POTENTIAL_FREETYPE_INCLUDE_PATH="$FREETYPE_BASE_DIR/include" POTENTIAL_FREETYPE_LIB_PATH="$FREETYPE_BASE_DIR/lib" @@ -44876,7 +44954,7 @@ $as_echo "$FREETYPE_LIB_PATH" >&6; } if test "x$FOUND_FREETYPE" != xyes; then - FREETYPE_BASE_DIR="$FREETYPE_ROOT/usr/X11" + FREETYPE_BASE_DIR="$SYSROOT/usr/X11" POTENTIAL_FREETYPE_INCLUDE_PATH="$FREETYPE_BASE_DIR/include" POTENTIAL_FREETYPE_LIB_PATH="$FREETYPE_BASE_DIR/lib" @@ -45170,7 +45248,301 @@ $as_echo "$FREETYPE_LIB_PATH" >&6; } fi if test "x$FOUND_FREETYPE" != xyes; then - FREETYPE_BASE_DIR="$FREETYPE_ROOT/usr" + FREETYPE_BASE_DIR="$SYSROOT/usr/sfw" + + POTENTIAL_FREETYPE_INCLUDE_PATH="$FREETYPE_BASE_DIR/include" + POTENTIAL_FREETYPE_LIB_PATH="$FREETYPE_BASE_DIR/lib" + METHOD="well-known location" + + # First check if the files exists. + if test -s "$POTENTIAL_FREETYPE_INCLUDE_PATH/ft2build.h"; then + # We found an arbitrary include file. That's a good sign. + { $as_echo "$as_me:${as_lineno-$LINENO}: Found freetype include files at $POTENTIAL_FREETYPE_INCLUDE_PATH using $METHOD" >&5 +$as_echo "$as_me: Found freetype include files at $POTENTIAL_FREETYPE_INCLUDE_PATH using $METHOD" >&6;} + FOUND_FREETYPE=yes + + FREETYPE_LIB_NAME="${LIBRARY_PREFIX}freetype${SHARED_LIBRARY_SUFFIX}" + if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location." >&5 +$as_echo "$as_me: Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location." >&6;} + FOUND_FREETYPE=no + else + if test "x$OPENJDK_TARGET_OS" = xwindows; then + # On Windows, we will need both .lib and .dll file. + if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/freetype.lib"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $POTENTIAL_FREETYPE_LIB_PATH/freetype.lib. Ignoring location." >&5 +$as_echo "$as_me: Could not find $POTENTIAL_FREETYPE_LIB_PATH/freetype.lib. Ignoring location." >&6;} + FOUND_FREETYPE=no + fi + elif test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64 && test -s "$POTENTIAL_FREETYPE_LIB_PATH/amd64/$FREETYPE_LIB_NAME"; then + # On solaris-x86_86, default is (normally) PATH/lib/amd64. Update our guess! + POTENTIAL_FREETYPE_LIB_PATH="$POTENTIAL_FREETYPE_LIB_PATH/amd64" + fi + fi + fi + + if test "x$FOUND_FREETYPE" = xyes; then + + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + + # Input might be given as Windows format, start by converting to + # unix format. + path="$POTENTIAL_FREETYPE_INCLUDE_PATH" + new_path=`$CYGPATH -u "$path"` + + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then + # "foo.exe" is OK but "foo" is an error. + # + # This test is therefore slightly more accurate than "test -f" to check for file precense. + # It is also a way to make sure we got the proper file name for the real test later on. + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` + if test "x$test_shortpath" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Cannot locate the the path of POTENTIAL_FREETYPE_INCLUDE_PATH" "$LINENO" 5 + fi + + # Call helper function which possibly converts this using DOS-style short mode. + # If so, the updated path is stored in $new_path. + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + shortmode_path=`$CYGPATH -s -m -a "$input_path"` + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then + # Going to short mode and back again did indeed matter. Since short mode is + # case insensitive, let's make it lowercase to improve readability. + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Now convert it back to Unix-stile (cygpath) + input_path=`$CYGPATH -u "$shortmode_path"` + new_path="$input_path" + fi + fi + + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` + if test "x$test_cygdrive_prefix" = x; then + # As a simple fix, exclude /usr/bin since it's not a real path. + if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then + # The path is in a Cygwin special directory (e.g. /home). We need this converted to + # a path prefixed by /cygdrive for fixpath to work. + new_path="$CYGWIN_ROOT_PATH$input_path" + fi + fi + + + if test "x$path" != "x$new_path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting POTENTIAL_FREETYPE_INCLUDE_PATH to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting POTENTIAL_FREETYPE_INCLUDE_PATH to \"$new_path\"" >&6;} + fi + + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + + path="$POTENTIAL_FREETYPE_INCLUDE_PATH" + has_colon=`$ECHO $path | $GREP ^.:` + new_path="$path" + if test "x$has_colon" = x; then + # Not in mixed or Windows style, start by that. + new_path=`cmd //c echo $path` + fi + + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + fi + + + windows_path="$new_path" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + unix_path=`$CYGPATH -u "$windows_path"` + new_path="$unix_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` + new_path="$unix_path" + fi + + if test "x$path" != "x$new_path"; then + POTENTIAL_FREETYPE_INCLUDE_PATH="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting POTENTIAL_FREETYPE_INCLUDE_PATH to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting POTENTIAL_FREETYPE_INCLUDE_PATH to \"$new_path\"" >&6;} + fi + + # Save the first 10 bytes of this path to the storage, so fixpath can work. + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") + + else + # We're on a posix platform. Hooray! :) + path="$POTENTIAL_FREETYPE_INCLUDE_PATH" + has_space=`$ECHO "$path" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 + fi + + # Use eval to expand a potential ~ + eval path="$path" + if test ! -f "$path" && test ! -d "$path"; then + as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 + fi + + POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`" + fi + + + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + + # Input might be given as Windows format, start by converting to + # unix format. + path="$POTENTIAL_FREETYPE_LIB_PATH" + new_path=`$CYGPATH -u "$path"` + + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then + # "foo.exe" is OK but "foo" is an error. + # + # This test is therefore slightly more accurate than "test -f" to check for file precense. + # It is also a way to make sure we got the proper file name for the real test later on. + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` + if test "x$test_shortpath" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Cannot locate the the path of POTENTIAL_FREETYPE_LIB_PATH" "$LINENO" 5 + fi + + # Call helper function which possibly converts this using DOS-style short mode. + # If so, the updated path is stored in $new_path. + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + shortmode_path=`$CYGPATH -s -m -a "$input_path"` + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then + # Going to short mode and back again did indeed matter. Since short mode is + # case insensitive, let's make it lowercase to improve readability. + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Now convert it back to Unix-stile (cygpath) + input_path=`$CYGPATH -u "$shortmode_path"` + new_path="$input_path" + fi + fi + + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` + if test "x$test_cygdrive_prefix" = x; then + # As a simple fix, exclude /usr/bin since it's not a real path. + if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then + # The path is in a Cygwin special directory (e.g. /home). We need this converted to + # a path prefixed by /cygdrive for fixpath to work. + new_path="$CYGWIN_ROOT_PATH$input_path" + fi + fi + + + if test "x$path" != "x$new_path"; then + POTENTIAL_FREETYPE_LIB_PATH="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting POTENTIAL_FREETYPE_LIB_PATH to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting POTENTIAL_FREETYPE_LIB_PATH to \"$new_path\"" >&6;} + fi + + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + + path="$POTENTIAL_FREETYPE_LIB_PATH" + has_colon=`$ECHO $path | $GREP ^.:` + new_path="$path" + if test "x$has_colon" = x; then + # Not in mixed or Windows style, start by that. + new_path=`cmd //c echo $path` + fi + + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + fi + + + windows_path="$new_path" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + unix_path=`$CYGPATH -u "$windows_path"` + new_path="$unix_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` + new_path="$unix_path" + fi + + if test "x$path" != "x$new_path"; then + POTENTIAL_FREETYPE_LIB_PATH="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting POTENTIAL_FREETYPE_LIB_PATH to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting POTENTIAL_FREETYPE_LIB_PATH to \"$new_path\"" >&6;} + fi + + # Save the first 10 bytes of this path to the storage, so fixpath can work. + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") + + else + # We're on a posix platform. Hooray! :) + path="$POTENTIAL_FREETYPE_LIB_PATH" + has_space=`$ECHO "$path" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 + fi + + # Use eval to expand a potential ~ + eval path="$path" + if test ! -f "$path" && test ! -d "$path"; then + as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5 + fi + + POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`" + fi + + + FREETYPE_INCLUDE_PATH="$POTENTIAL_FREETYPE_INCLUDE_PATH" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype includes" >&5 +$as_echo_n "checking for freetype includes... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_INCLUDE_PATH" >&5 +$as_echo "$FREETYPE_INCLUDE_PATH" >&6; } + FREETYPE_LIB_PATH="$POTENTIAL_FREETYPE_LIB_PATH" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype libraries" >&5 +$as_echo_n "checking for freetype libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_LIB_PATH" >&5 +$as_echo "$FREETYPE_LIB_PATH" >&6; } + fi + + fi + + if test "x$FOUND_FREETYPE" != xyes; then + FREETYPE_BASE_DIR="$SYSROOT/usr" if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then POTENTIAL_FREETYPE_INCLUDE_PATH="$FREETYPE_BASE_DIR/include" @@ -46646,7 +47018,9 @@ $as_echo "$as_me: Downloading build dependency alsa from $with_builddeps_server/ fi fi - if test "x$ALSA_FOUND" = xno; then + # Do not try pkg-config if we have a sysroot set. + if test "x$SYSROOT" = x; then + if test "x$ALSA_FOUND" = xno; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALSA" >&5 @@ -46714,6 +47088,7 @@ else $as_echo "yes" >&6; } ALSA_FOUND=yes fi + fi fi if test "x$ALSA_FOUND" = xno; then for ac_header in alsa/asoundlib.h @@ -47593,7 +47968,7 @@ fi # libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so) if test "x$TOOLCHAIN_TYPE" = xsolstudio && test "x$LIBCXX" = x; then - LIBCXX="/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1" + LIBCXX="${SYSROOT}/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1" fi # TODO better (platform agnostic) test @@ -48518,8 +48893,8 @@ $as_echo_n "checking is ccache enabled... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } OLD_PATH="$PATH" - if test "x$TOOLS_DIR" != x; then - PATH=$TOOLS_DIR:$PATH + if test "x$TOOLCHAIN_PATH" != x; then + PATH=$TOOLCHAIN_PATH:$PATH fi @@ -50203,6 +50578,7 @@ $CHMOD +x $OUTPUT_ROOT/compare.sh printf "\n" printf "Configuration summary:\n" printf "* Debug level: $DEBUG_LEVEL\n" + printf "* HS debug level: $HOTSPOT_DEBUG_LEVEL\n" printf "* JDK variant: $JDK_VARIANT\n" printf "* JVM variants: $with_jvm_variants\n" printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n" diff --git a/common/autoconf/help.m4 b/common/autoconf/help.m4 index 2cad8d6fb39..9ae7874fd6b 100644 --- a/common/autoconf/help.m4 +++ b/common/autoconf/help.m4 @@ -200,6 +200,7 @@ AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS], printf "\n" printf "Configuration summary:\n" printf "* Debug level: $DEBUG_LEVEL\n" + printf "* HS debug level: $HOTSPOT_DEBUG_LEVEL\n" printf "* JDK variant: $JDK_VARIANT\n" printf "* JVM variants: $with_jvm_variants\n" printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n" diff --git a/common/autoconf/jdk-options.m4 b/common/autoconf/jdk-options.m4 index 58d148fe421..b012aa756b4 100644 --- a/common/autoconf/jdk-options.m4 +++ b/common/autoconf/jdk-options.m4 @@ -176,6 +176,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL], # # Set the debug level # release: no debug information, all optimizations, no asserts. + # optimized: no debug information, all optimizations, no asserts, HotSpot target is 'optimized'. # fastdebug: debug information (-g), all optimizations, all asserts # slowdebug: debug information (-g), no optimizations, all asserts # @@ -189,7 +190,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL], ], [ENABLE_DEBUG="no"]) AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level], - [set the debug level (release, fastdebug, slowdebug) @<:@release@:>@])], + [set the debug level (release, fastdebug, slowdebug, optimized (HotSpot build only)) @<:@release@:>@])], [ DEBUG_LEVEL="${withval}" if test "x$ENABLE_DEBUG" = xyes; then @@ -199,6 +200,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL], AC_MSG_RESULT([$DEBUG_LEVEL]) if test "x$DEBUG_LEVEL" != xrelease && \ + test "x$DEBUG_LEVEL" != xoptimized && \ test "x$DEBUG_LEVEL" != xfastdebug && \ test "x$DEBUG_LEVEL" != xslowdebug; then AC_MSG_ERROR([Allowed debug levels are: release, fastdebug and slowdebug]) @@ -235,8 +237,30 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL], HOTSPOT_DEBUG_LEVEL="jvmg" HOTSPOT_EXPORT="debug" ;; + optimized ) + VARIANT="OPT" + FASTDEBUG="false" + DEBUG_CLASSFILES="false" + BUILD_VARIANT_RELEASE="-optimized" + HOTSPOT_DEBUG_LEVEL="optimized" + HOTSPOT_EXPORT="optimized" + ;; esac + # The debug level 'optimized' is a little special because it is currently only + # applicable to the HotSpot build where it means to build a completely + # optimized version of the VM without any debugging code (like for the + # 'release' debug level which is called 'product' in the HotSpot build) but + # with the exception that it can contain additional code which is otherwise + # protected by '#ifndef PRODUCT' macros. These 'optimized' builds are used to + # test new and/or experimental features which are not intended for customer + # shipment. Because these new features need to be tested and benchmarked in + # real world scenarios, we want to build the containing JDK at the 'release' + # debug level. + if test "x$DEBUG_LEVEL" = xoptimized; then + DEBUG_LEVEL="release" + fi + ##### # Generate the legacy makefile targets for hotspot. # The hotspot api for selecting the build artifacts, really, needs to be improved. diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4 index 6dca4aad3c6..1546529ce80 100644 --- a/common/autoconf/libraries.m4 +++ b/common/autoconf/libraries.m4 @@ -110,21 +110,23 @@ AC_DEFUN_ONCE([LIB_SETUP_X11], # Check if the user has specified sysroot, but not --x-includes or --x-libraries. # Make a simple check for the libraries at the sysroot, and setup --x-includes and # --x-libraries for the sysroot, if that seems to be correct. - if test "x$SYS_ROOT" != "x/"; then - if test "x$x_includes" = xNONE; then - if test -f "$SYS_ROOT/usr/X11R6/include/X11/Xlib.h"; then - x_includes="$SYS_ROOT/usr/X11R6/include" - elif test -f "$SYS_ROOT/usr/include/X11/Xlib.h"; then - x_includes="$SYS_ROOT/usr/include" + if test "x$OPENJDK_TARGET_OS" = "xlinux"; then + if test "x$SYSROOT" != "x"; then + if test "x$x_includes" = xNONE; then + if test -f "$SYSROOT/usr/X11R6/include/X11/Xlib.h"; then + x_includes="$SYSROOT/usr/X11R6/include" + elif test -f "$SYSROOT/usr/include/X11/Xlib.h"; then + x_includes="$SYSROOT/usr/include" + fi fi - fi - if test "x$x_libraries" = xNONE; then - if test -f "$SYS_ROOT/usr/X11R6/lib/libX11.so"; then - x_libraries="$SYS_ROOT/usr/X11R6/lib" - elif test "$SYS_ROOT/usr/lib64/libX11.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then - x_libraries="$SYS_ROOT/usr/lib64" - elif test -f "$SYS_ROOT/usr/lib/libX11.so"; then - x_libraries="$SYS_ROOT/usr/lib" + if test "x$x_libraries" = xNONE; then + if test -f "$SYSROOT/usr/X11R6/lib/libX11.so"; then + x_libraries="$SYSROOT/usr/X11R6/lib" + elif test "$SYSROOT/usr/lib64/libX11.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then + x_libraries="$SYSROOT/usr/lib64" + elif test -f "$SYSROOT/usr/lib/libX11.so"; then + x_libraries="$SYSROOT/usr/lib" + fi fi fi fi @@ -146,9 +148,12 @@ AC_DEFUN_ONCE([LIB_SETUP_X11], if test "x$OPENJDK_TARGET_OS" = xsolaris; then OPENWIN_HOME="/usr/openwin" + X_CFLAGS="-I$SYSROOT$OPENWIN_HOME/include -I$SYSROOT$OPENWIN_HOME/include/X11/extensions" + X_LIBS="-L$SYSROOT$OPENWIN_HOME/sfw/lib$OPENJDK_TARGET_CPU_ISADIR \ + -L$SYSROOT$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR \ + -R$OPENWIN_HOME/sfw/lib$OPENJDK_TARGET_CPU_ISADIR \ + -R$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR" fi - AC_SUBST(OPENWIN_HOME) - # # Weird Sol10 something check...TODO change to try compile @@ -237,14 +242,14 @@ AC_DEFUN_ONCE([LIB_SETUP_CUPS], # Getting nervous now? Lets poke around for standard Solaris third-party # package installation locations. AC_MSG_CHECKING([for cups headers]) - if test -s /opt/sfw/cups/include/cups/cups.h; then + if test -s $SYSROOT/opt/sfw/cups/include/cups/cups.h; then # An SFW package seems to be installed! CUPS_FOUND=yes - CUPS_CFLAGS="-I/opt/sfw/cups/include" - elif test -s /opt/csw/include/cups/cups.h; then + CUPS_CFLAGS="-I$SYSROOT/opt/sfw/cups/include" + elif test -s $SYSROOT/opt/csw/include/cups/cups.h; then # A CSW package seems to be installed! CUPS_FOUND=yes - CUPS_CFLAGS="-I/opt/csw/include" + CUPS_CFLAGS="-I$SYSROOT/opt/csw/include" fi AC_MSG_RESULT([$CUPS_FOUND]) fi @@ -398,24 +403,27 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE], fi fi - if test "x$FOUND_FREETYPE" != xyes; then - # Check modules using pkg-config, but only if we have it (ugly output results otherwise) - if test "x$PKG_CONFIG" != x; then - PKG_CHECK_MODULES(FREETYPE, freetype2, [FOUND_FREETYPE=yes], [FOUND_FREETYPE=no]) - if test "x$FOUND_FREETYPE" = xyes; then - # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us. - FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's/-lz//g'` - # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64 - if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then - FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's?/lib?/lib/amd64?g'` - fi - # BDEPS_CHECK_MODULE will set FREETYPE_CFLAGS and _LIBS, but we don't get a lib path for bundling. - if test "x$BUNDLE_FREETYPE" = xyes; then - AC_MSG_NOTICE([Found freetype using pkg-config, but ignoring since we can not bundle that]) - FOUND_FREETYPE=no - else - AC_MSG_CHECKING([for freetype]) - AC_MSG_RESULT([yes (using pkg-config)]) + # If we have a sysroot, assume that's where we are supposed to look and skip pkg-config. + if test "x$SYSROOT" = x; then + if test "x$FOUND_FREETYPE" != xyes; then + # Check modules using pkg-config, but only if we have it (ugly output results otherwise) + if test "x$PKG_CONFIG" != x; then + PKG_CHECK_MODULES(FREETYPE, freetype2, [FOUND_FREETYPE=yes], [FOUND_FREETYPE=no]) + if test "x$FOUND_FREETYPE" = xyes; then + # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us. + FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's/-lz//g'` + # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64 + if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then + FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's?/lib?/lib/amd64?g'` + fi + # BDEPS_CHECK_MODULE will set FREETYPE_CFLAGS and _LIBS, but we don't get a lib path for bundling. + if test "x$BUNDLE_FREETYPE" = xyes; then + AC_MSG_NOTICE([Found freetype using pkg-config, but ignoring since we can not bundle that]) + FOUND_FREETYPE=no + else + AC_MSG_CHECKING([for freetype]) + AC_MSG_RESULT([yes (using pkg-config)]) + fi fi fi fi @@ -433,21 +441,21 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE], LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location]) fi else - if test "x$SYS_ROOT" = "x/"; then - FREETYPE_ROOT= - else - FREETYPE_ROOT="$SYS_ROOT" - fi - FREETYPE_BASE_DIR="$FREETYPE_ROOT/usr" + FREETYPE_BASE_DIR="$SYSROOT/usr" LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location]) if test "x$FOUND_FREETYPE" != xyes; then - FREETYPE_BASE_DIR="$FREETYPE_ROOT/usr/X11" + FREETYPE_BASE_DIR="$SYSROOT/usr/X11" LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location]) fi if test "x$FOUND_FREETYPE" != xyes; then - FREETYPE_BASE_DIR="$FREETYPE_ROOT/usr" + FREETYPE_BASE_DIR="$SYSROOT/usr/sfw" + LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location]) + fi + + if test "x$FOUND_FREETYPE" != xyes; then + FREETYPE_BASE_DIR="$SYSROOT/usr" if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib/x86_64-linux-gnu], [well-known location]) else @@ -577,8 +585,11 @@ AC_DEFUN_ONCE([LIB_SETUP_ALSA], if test "x$ALSA_FOUND" = xno; then BDEPS_CHECK_MODULE(ALSA, alsa, xxx, [ALSA_FOUND=yes], [ALSA_FOUND=no]) fi - if test "x$ALSA_FOUND" = xno; then - PKG_CHECK_MODULES(ALSA, alsa, [ALSA_FOUND=yes], [ALSA_FOUND=no]) + # Do not try pkg-config if we have a sysroot set. + if test "x$SYSROOT" = x; then + if test "x$ALSA_FOUND" = xno; then + PKG_CHECK_MODULES(ALSA, alsa, [ALSA_FOUND=yes], [ALSA_FOUND=no]) + fi fi if test "x$ALSA_FOUND" = xno; then AC_CHECK_HEADERS([alsa/asoundlib.h], @@ -917,7 +928,7 @@ AC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP], # libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so) if test "x$TOOLCHAIN_TYPE" = xsolstudio && test "x$LIBCXX" = x; then - LIBCXX="/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1" + LIBCXX="${SYSROOT}/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1" fi # TODO better (platform agnostic) test diff --git a/common/autoconf/platform.m4 b/common/autoconf/platform.m4 index d1b1573b101..1f06f0ce7d5 100644 --- a/common/autoconf/platform.m4 +++ b/common/autoconf/platform.m4 @@ -60,6 +60,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU], VAR_CPU_BITS=64 VAR_CPU_ENDIAN=big ;; + powerpc64le) + VAR_CPU=ppc64 + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; s390) VAR_CPU=s390 VAR_CPU_ARCH=s390 diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in index fe5fb1be8d8..c793d0e5c63 100644 --- a/common/autoconf/spec.gmk.in +++ b/common/autoconf/spec.gmk.in @@ -130,10 +130,8 @@ ifeq ($(OPENJDK_TARGET_OS), windows) export LIB:=@VS_LIB@ endif -# The sys root where standard headers and libraries are found. -# Usually not needed since the configure script should have -# taken it into account already when setting CFLAGS et al. -SYS_ROOT:=@SYS_ROOT@ +SYSROOT_CFLAGS := @SYSROOT_CFLAGS@ +SYSROOT_LDFLAGS := @SYSROOT_LDFLAGS@ # Paths to the source code ADD_SRC_ROOT:=@ADD_SRC_ROOT@ @@ -294,7 +292,6 @@ RMICONNECTOR_IIOP=@RMICONNECTOR_IIOP@ # Necessary additional compiler flags to compile X11 X_CFLAGS:=@X_CFLAGS@ X_LIBS:=@X_LIBS@ -OPENWIN_HOME:=@OPENWIN_HOME@ # The lowest required version of macosx to enforce compatiblity for MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@ @@ -324,6 +321,8 @@ CXX_O_FLAG_NONE:=@CXX_O_FLAG_NONE@ C_FLAG_DEPS:=@C_FLAG_DEPS@ CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@ +CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@ + # Tools that potentially need to be cross compilation aware. CC:=@FIXPATH@ @CCACHE@ @CC@ diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4 index ba57a850219..b7c00d4f495 100644 --- a/common/autoconf/toolchain.m4 +++ b/common/autoconf/toolchain.m4 @@ -189,6 +189,12 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION], # it for DLL resolution in runtime. if test "x$OPENJDK_BUILD_OS" = "xwindows" && test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV + # Reset path to VS_PATH. It will include everything that was on PATH at the time we + # ran TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV. + PATH="$VS_PATH" + # The microsoft toolchain also requires INCLUDE and LIB to be set. + export INCLUDE="$VS_INCLUDE" + export LIB="$VS_LIB" fi # autoconf magic only relies on PATH, so update it if tools dir is specified @@ -202,29 +208,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION], PATH="/usr/ccs/bin:$PATH" fi - # Finally add TOOLS_DIR at the beginning, to allow --with-tools-dir to + # Finally add TOOLCHAIN_PATH at the beginning, to allow --with-tools-dir to # override all other locations. - if test "x$TOOLS_DIR" != x; then - PATH=$TOOLS_DIR:$PATH + if test "x$TOOLCHAIN_PATH" != x; then + PATH=$TOOLCHAIN_PATH:$PATH fi - - # If a devkit is found on the builddeps server, then prepend its path to the - # PATH variable. If there are cross compilers available in the devkit, these - # will be found by AC_PROG_CC et al. - DEVKIT= - BDEPS_CHECK_MODULE(DEVKIT, devkit, xxx, - [ - # Found devkit - PATH="$DEVKIT/bin:$PATH" - SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root" - if test "x$x_includes" = "xNONE"; then - x_includes="$SYS_ROOT/usr/include/X11" - fi - if test "x$x_libraries" = "xNONE"; then - x_libraries="$SYS_ROOT/usr/lib" - fi - ], - []) ]) # Restore path, etc @@ -396,15 +384,15 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER], # used. $1= - # If TOOLS_DIR is set, check for all compiler names in there first + # If TOOLCHAIN_PATH is set, check for all compiler names in there first # before checking the rest of the PATH. # FIXME: Now that we prefix the TOOLS_DIR to the PATH in the PRE_DETECTION # step, this should not be necessary. - if test -n "$TOOLS_DIR"; then + if test -n "$TOOLCHAIN_PATH"; then PATH_save="$PATH" - PATH="$TOOLS_DIR" - AC_PATH_PROGS(TOOLS_DIR_$1, $SEARCH_LIST) - $1=$TOOLS_DIR_$1 + PATH="$TOOLCHAIN_PATH" + AC_PATH_PROGS(TOOLCHAIN_PATH_$1, $SEARCH_LIST) + $1=$TOOLCHAIN_PATH_$1 PATH="$PATH_save" fi diff --git a/common/autoconf/toolchain_windows.m4 b/common/autoconf/toolchain_windows.m4 index 37da5554066..b4888a46ac5 100644 --- a/common/autoconf/toolchain_windows.m4 +++ b/common/autoconf/toolchain_windows.m4 @@ -141,46 +141,44 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV], # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat AC_MSG_NOTICE([Trying to extract Visual Studio environment variables]) - cd $OUTPUT_ROOT - # FIXME: The code betweeen ---- was inlined from a separate script and is not properly adapted - # to autoconf standards. - #---- + # We need to create a couple of temporary files. + VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env" + $MKDIR -p $VS_ENV_TMP_DIR - # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment) - # but calculate the difference in Cygwin environment before/after running it and then - # apply the diff. + # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment). + # Instead create a shell script which will set the relevant variables when run. + WINPATH_VS_ENV_CMD="$VS_ENV_CMD" + BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_VS_ENV_CMD]) + WINPATH_BASH="$BASH" + BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_BASH]) - if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then - _vs10varsall=`cygpath -a -m -s "$VS_ENV_CMD"` - _dosvs10varsall=`cygpath -a -w -s $_vs10varsall` - _dosbash=`cygpath -a -w -s \`which bash\`.*` - else - _dosvs10varsall=`cmd //c echo $VS_ENV_CMD` - _dosbash=`cmd //c echo \`which bash\`` - fi - - # generate the set of exported vars before/after the vs10 setup - $ECHO "@echo off" > localdevenvtmp.bat - $ECHO "$_dosbash -c \"export -p\" > localdevenvtmp.export0" >> localdevenvtmp.bat - $ECHO "call $_dosvs10varsall $VS_ENV_ARGS" >> localdevenvtmp.bat - $ECHO "$_dosbash -c \"export -p\" > localdevenvtmp.export1" >> localdevenvtmp.bat + # Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell + # script (executable by bash) that will setup the important variables. + EXTRACT_VC_ENV_BAT_FILE="$VS_ENV_TMP_DIR/extract-vs-env.bat" + $ECHO "@echo off" > $EXTRACT_VC_ENV_BAT_FILE + # This will end up something like: + # call C:/progra~2/micros~2.0/vc/bin/amd64/vcvars64.bat + $ECHO "call $WINPATH_VS_ENV_CMD $VS_ENV_ARGS" >> $EXTRACT_VC_ENV_BAT_FILE + # These will end up something like: + # C:/CygWin/bin/bash -c 'echo VS_PATH=\"$PATH\" > localdevenv.sh + # The trailing space for everyone except PATH is no typo, but is needed due + # to trailing \ in the Windows paths. These will be stripped later. + $ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE # Now execute the newly created bat file. - # The | cat is to stop SetEnv.Cmd to mess with system colors on msys - cmd /c localdevenvtmp.bat | cat - - # apply the diff (less some non-vs10 vars named by "!") - $SORT localdevenvtmp.export0 | $GREP -v "!" > localdevenvtmp.export0.sort - $SORT localdevenvtmp.export1 | $GREP -v "!" > localdevenvtmp.export1.sort - $COMM -1 -3 localdevenvtmp.export0.sort localdevenvtmp.export1.sort > localdevenv.sh - - # cleanup - $RM localdevenvtmp* - #---- + # The | cat is to stop SetEnv.Cmd to mess with system colors on msys. + # Change directory so we don't need to mess with Windows paths in redirects. + cd $VS_ENV_TMP_DIR + cmd /c extract-vs-env.bat | $CAT cd $CURDIR - if test ! -s $OUTPUT_ROOT/localdevenv.sh; then - AC_MSG_RESULT([no]) + + if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then AC_MSG_NOTICE([Could not succesfully extract the envionment variables needed for the VS setup.]) AC_MSG_NOTICE([Try setting --with-tools-dir to the VC/bin directory within the VS installation]) AC_MSG_NOTICE([or run "bash.exe -l" from a VS command prompt and then run configure from there.]) @@ -190,30 +188,36 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV], # Now set all paths and other env variables. This will allow the rest of # the configure script to find and run the compiler in the proper way. AC_MSG_NOTICE([Setting extracted environment variables]) - . $OUTPUT_ROOT/localdevenv.sh + . $VS_ENV_TMP_DIR/set-vs-env.sh + # Now we have VS_PATH, VS_INCLUDE, VS_LIB. For further checking, we + # also define VCINSTALLDIR, WindowsSdkDir and WINDOWSSDKDIR. else # We did not find a vsvars bat file, let's hope we are run from a VS command prompt. AC_MSG_NOTICE([Cannot locate a valid Visual Studio installation, checking current environment]) fi - # At this point, we should have corrent variables in the environment, or we can't continue. + # At this point, we should have correct variables in the environment, or we can't continue. AC_MSG_CHECKING([for Visual Studio variables]) if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x || test "x$WINDOWSSDKDIR" != x; then - if test "x$INCLUDE" = x || test "x$LIB" = x; then + if test "x$VS_INCLUDE" = x || test "x$VS_LIB" = x; then AC_MSG_RESULT([present but broken]) AC_MSG_ERROR([Your VC command prompt seems broken, INCLUDE and/or LIB is missing.]) else AC_MSG_RESULT([ok]) - # Remove any trailing \ from INCLUDE and LIB to avoid trouble in spec.gmk. - VS_INCLUDE=`$ECHO "$INCLUDE" | $SED 's/\\\\$//'` - VS_LIB=`$ECHO "$LIB" | $SED 's/\\\\$//'` - # Remove any paths containing # (typically F#) as that messes up make - PATH=`$ECHO "$PATH" | $SED 's/[[^:#]]*#[^:]*://g'` - VS_PATH="$PATH" + # Remove any trailing "\" and " " from the variables. + VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'` + VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'` + VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'` + WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'` + WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'` + # Remove any paths containing # (typically F#) as that messes up make. This + # is needed if visual studio was installed with F# support. + VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[[^:#]]*#[^:]*://g'` + + AC_SUBST(VS_PATH) AC_SUBST(VS_INCLUDE) AC_SUBST(VS_LIB) - AC_SUBST(VS_PATH) fi else AC_MSG_RESULT([not found]) diff --git a/common/bin/compare.sh b/common/bin/compare.sh index 08c0d6bb229..ff88bb1fbb9 100644 --- a/common/bin/compare.sh +++ b/common/bin/compare.sh @@ -114,7 +114,7 @@ diff_text() { fi if test "x$SUFFIX" = "xproperties"; then # Run through nawk to add possibly missing newline at end of file. - $CAT $OTHER_FILE | $NAWK '{ print }' > $OTHER_FILE.cleaned + $CAT $OTHER_FILE | $NAWK '{ print }' | LC_ALL=C $SORT > $OTHER_FILE.cleaned # Disable this exception since we aren't changing the properties cleaning method yet. # $CAT $OTHER_FILE | $SED -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \ # | $SED -f "$SRC_ROOT/common/makefiles/support/unicode2x.sed" \ diff --git a/common/bin/hgforest.sh b/common/bin/hgforest.sh index d8164d60316..3ada41ee0cd 100644 --- a/common/bin/hgforest.sh +++ b/common/bin/hgforest.sh @@ -24,12 +24,58 @@ # # Shell script for a fast parallel forest command -command="$1" -pull_extra_base="$2" -if [ "" = "$command" ] ; then - echo No command to hg supplied! - exit 1 +global_opts="" +status_output="/dev/stdout" +qflag="false" +vflag="false" +sflag="false" +while [ $# -gt 0 ] +do + case $1 in + -q | --quiet ) + qflag="true" + global_opts="${global_opts} -q" + status_output="/dev/null" + ;; + + -v | --verbose ) + vflag="true" + global_opts="${global_opts} -v" + ;; + + -s | --sequential ) + sflag="true" + ;; + + '--' ) # no more options + shift; break + ;; + + -*) # bad option + usage + ;; + + * ) # non option + break + ;; + esac + shift +done + + +command="$1"; shift +command_args="$@" + +usage() { + echo "usage: $0 [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] [commands...]" > ${status_output} + exit 1 +} + + +if [ "x" = "x$command" ] ; then + echo "ERROR: No command to hg supplied!" + usage fi # Clean out the temporary directory that stores the pid files. @@ -40,17 +86,17 @@ mkdir -p ${tmp} safe_interrupt () { if [ -d ${tmp} ]; then if [ "`ls ${tmp}/*.pid`" != "" ]; then - echo "Waiting for processes ( `cat ${tmp}/*.pid | tr '\n' ' '`) to terminate nicely!" + echo "Waiting for processes ( `cat ${tmp}/*.pid | tr '\n' ' '`) to terminate nicely!" > ${status_output} sleep 1 # Pipe stderr to dev/null to silence kill, that complains when trying to kill # a subprocess that has already exited. kill -TERM `cat ${tmp}/*.pid | tr '\n' ' '` 2> /dev/null wait - echo Interrupt complete! + echo "Interrupt complete!" > ${status_output} fi + rm -f -r ${tmp} fi - rm -f -r ${tmp} - exit 1 + exit 130 } nice_exit () { @@ -58,39 +104,44 @@ nice_exit () { if [ "`ls ${tmp}`" != "" ]; then wait fi + rm -f -r ${tmp} fi - rm -f -r ${tmp} } trap 'safe_interrupt' INT QUIT trap 'nice_exit' EXIT +subrepos="corba jaxp jaxws langtools jdk hotspot nashorn" +subrepos_extra="closed jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs" + # Only look in specific locations for possible forests (avoids long searches) pull_default="" repos="" repos_extra="" -if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then - subrepos="corba jaxp jaxws langtools jdk hotspot nashorn" - if [ -f .hg/hgrc ] ; then - pull_default=`hg paths default` - if [ "${pull_default}" = "" ] ; then - echo "ERROR: Need initial clone with 'hg paths default' defined" - exit 1 - fi - fi - if [ "${pull_default}" = "" ] ; then - echo "ERROR: Need initial repository to use this script" +if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then + if [ ! -f .hg/hgrc ] ; then + echo "ERROR: Need initial repository to use this script" > ${status_output} exit 1 fi + + pull_default=`hg paths default` + if [ "${pull_default}" = "" ] ; then + echo "ERROR: Need initial clone with 'hg paths default' defined" > ${status_output} + exit 1 + fi + for i in ${subrepos} ; do if [ ! -f ${i}/.hg/hgrc ] ; then repos="${repos} ${i}" fi done - if [ "${pull_extra_base}" != "" ] ; then - subrepos_extra="closed jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs" + if [ "${command_args}" != "" ] ; then pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'` - pull_extra="${pull_extra_base}/${pull_default_tail}" + if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then + echo "ERROR: Need initial clone from non-local source" > ${status_output} + exit 1 + fi + pull_extra="${command_args}/${pull_default_tail}" for i in ${subrepos_extra} ; do if [ ! -f ${i}/.hg/hgrc ] ; then repos_extra="${repos_extra} ${i}" @@ -100,78 +151,115 @@ if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then at_a_time=2 # Any repos to deal with? if [ "${repos}" = "" -a "${repos_extra}" = "" ] ; then + echo "No repositories to process." > ${status_output} exit fi else - hgdirs=`ls -d ./.hg ./*/.hg ./*/*/.hg ./*/*/*/.hg ./*/*/*/*/.hg 2>/dev/null` - # Derive repository names from the .hg directory locations - for i in ${hgdirs} ; do - repos="${repos} `echo ${i} | sed -e 's@/.hg$@@'`" + for i in . ${subrepos} ${subrepos_extra} ; do + if [ -d ${i}/.hg ] ; then + repos="${repos} ${i}" + fi done + + # Any repos to deal with? + if [ "${repos}" = "" ] ; then + echo "No repositories to process." > ${status_output} + exit + fi + + # any of the repos locked? for i in ${repos} ; do if [ -h ${i}/.hg/store/lock -o -f ${i}/.hg/store/lock ] ; then locked="${i} ${locked}" fi done - at_a_time=8 - # Any repos to deal with? - if [ "${repos}" = "" ] ; then - echo "No repositories to process." - exit - fi if [ "${locked}" != "" ] ; then - echo "These repositories are locked: ${locked}" - exit + echo "ERROR: These repositories are locked: ${locked}" > ${status_output} + exit 1 fi + at_a_time=8 fi # Echo out what repositories we do a command on. -echo "# Repositories: ${repos} ${repos_extra}" -echo +echo "# Repositories: ${repos} ${repos_extra}" > ${status_output} -# Run the supplied command on all repos in parallel. -n=0 -for i in ${repos} ${repos_extra} ; do - n=`expr ${n} '+' 1` - repopidfile=`echo ${i} | sed -e 's@./@@' -e 's@/@_@g'` - reponame=`echo ${i} | sed -e :a -e 's/^.\{1,20\}$/ &/;ta'` - pull_base="${pull_default}" - for j in $repos_extra ; do +if [ "${command}" = "serve" ] ; then + # "serve" is run for all the repos. + ( + ( + ( + echo "[web]" + echo "description = $(basename $(pwd))" + echo "allow_push = *" + echo "push_ssl = False" + + echo "[paths]" + for i in ${repos} ${repos_extra} ; do + if [ "${i}" != "." ] ; then + echo "/$(basename $(pwd))/${i} = ${i}" + else + echo "/$(basename $(pwd)) = $(pwd)" + fi + done + ) > ${tmp}/serve.web-conf + + echo "serving root repo $(basename $(pwd))" + + (PYTHONUNBUFFERED=true hg${global_opts} serve -A ${status_output} -E ${status_output} --pid-file ${tmp}/serve.pid --web-conf ${tmp}/serve.web-conf; echo "$?" > ${tmp}/serve.pid.rc ) 2>&1 & + ) 2>&1 | sed -e "s@^@serve: @" > ${status_output} + ) & +else + # Run the supplied command on all repos in parallel. + n=0 + for i in ${repos} ${repos_extra} ; do + n=`expr ${n} '+' 1` + repopidfile=`echo ${i} | sed -e 's@./@@' -e 's@/@_@g'` + reponame=`echo ${i} | sed -e :a -e 's/^.\{1,20\}$/ &/;ta'` + pull_base="${pull_default}" + for j in $repos_extra ; do if [ "$i" = "$j" ] ; then pull_base="${pull_extra}" fi - done - ( + done ( - if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then - pull_newrepo="`echo ${pull_base}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`" - echo hg clone ${pull_newrepo} ${i} - path="`dirname ${i}`" - if [ "${path}" != "." ] ; then - times=0 - while [ ! -d "${path}" ] ## nested repo, ensure containing dir exists - do - times=`expr ${times} '+' 1` - if [ `expr ${times} '%' 10` -eq 0 ] ; then - echo ${path} still not created, waiting... - fi - sleep 5 - done + ( + if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then + pull_newrepo="`echo ${pull_base}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`" + path="`dirname ${i}`" + if [ "${path}" != "." ] ; then + times=0 + while [ ! -d "${path}" ] ## nested repo, ensure containing dir exists + do + times=`expr ${times} '+' 1` + if [ `expr ${times} '%' 10` -eq 0 ] ; then + echo "${path} still not created, waiting..." > ${status_output} + fi + sleep 5 + done + fi + echo "hg clone ${pull_newrepo} ${i}" > ${status_output} + (PYTHONUNBUFFERED=true hg${global_opts} clone ${pull_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 & + else + echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output} + cd ${i} && (PYTHONUNBUFFERED=true hg${global_opts} ${command} ${command_args}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 & fi - (PYTHONUNBUFFERED=true hg clone ${pull_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc )& - else - echo "cd ${i} && hg $*" - cd ${i} && (PYTHONUNBUFFERED=true hg "$@"; echo "$?" > ${tmp}/${repopidfile}.pid.rc )& - fi - echo $! > ${tmp}/${repopidfile}.pid - ) 2>&1 | sed -e "s@^@${reponame}: @") & - if [ `expr ${n} '%' ${at_a_time}` -eq 0 ] ; then - sleep 2 - echo Waiting 5 secs before spawning next background command. - sleep 3 - fi -done + echo $! > ${tmp}/${repopidfile}.pid + ) 2>&1 | sed -e "s@^@${reponame}: @" > ${status_output} + ) & + + if [ `expr ${n} '%' ${at_a_time}` -eq 0 -a "${sflag}" = "false" ] ; then + sleep 2 + echo "Waiting 5 secs before spawning next background command." > ${status_output} + sleep 3 + fi + + if [ "${sflag}" = "true" ] ; then + wait + fi + done +fi + # Wait for all hg commands to complete wait @@ -181,7 +269,8 @@ if [ -d ${tmp} ]; then for rc in ${tmp}/*.pid.rc ; do exit_code=`cat ${rc} | tr -d ' \n\r'` if [ "${exit_code}" != "0" ] ; then - echo "WARNING: ${rc} exited abnormally." + repo="`echo ${rc} | sed -e s@^${tmp}@@ -e 's@/*\([^/]*\)\.pid\.rc$@\1@' -e 's@_@/@g'`" + echo "WARNING: ${repo} exited abnormally." > ${status_output} ec=1 fi done diff --git a/common/src/fixpath.c b/common/src/fixpath.c index a85bf4cc68e..b30f58d6b51 100644 --- a/common/src/fixpath.c +++ b/common/src/fixpath.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -29,7 +29,7 @@ #include #include -void report_error() +void report_error(char const * msg) { LPVOID lpMsgBuf; DWORD dw = GetLastError(); @@ -46,8 +46,8 @@ void report_error() NULL); fprintf(stderr, - "Could not start process! Failed with error %d: %s\n", - dw, lpMsgBuf); + "%s Failed with error %d: %s\n", + msg, dw, lpMsgBuf); LocalFree(lpMsgBuf); } @@ -56,7 +56,7 @@ void report_error() * Test if pos points to /cygdrive/_/ where _ can * be any character. */ -int is_cygdrive_here(int pos, char *in, int len) +int is_cygdrive_here(int pos, char const *in, int len) { // Length of /cygdrive/c/ is 12 if (pos+12 > len) return 0; @@ -81,16 +81,17 @@ int is_cygdrive_here(int pos, char *in, int len) * Works in place since drive letter is always * shorter than /cygdrive/ */ -char *replace_cygdrive_cygwin(char *in) +char *replace_cygdrive_cygwin(char const *in) { - int len = strlen(in); - char *out = malloc(len+1); + size_t len = strlen(in); + char *out = (char*) malloc(len+1); int i,j; if (len < 12) { - strcpy(out, in); + memmove(out, in, len + 1); return out; } + for (i = 0, j = 0; i *bl) { *bl *= 2; - *b = realloc(*b, *bl); + *b = (char*) realloc(*b, *bl); } memcpy(*b+*u, add, addlen); *u += addlen; @@ -125,7 +126,7 @@ char *replace_substring(char *in, char *sub, char *rep) int in_len = strlen(in); int sub_len = strlen(sub); int rep_len = strlen(rep); - char *out = malloc(in_len - sub_len + rep_len + 1); + char *out = (char *) malloc(in_len - sub_len + rep_len + 1); char *p; if (!(p = strstr(in, sub))) { @@ -145,7 +146,7 @@ char *replace_substring(char *in, char *sub, char *rep) char* msys_path_list; // @-separated list of paths prefix to look for char* msys_path_list_end; // Points to last \0 in msys_path_list. -void setup_msys_path_list(char* argument) +void setup_msys_path_list(char const * argument) { char* p; char* drive_letter_pos; @@ -173,7 +174,7 @@ void setup_msys_path_list(char* argument) } while (p != NULL); } -char *replace_cygdrive_msys(char *in) +char *replace_cygdrive_msys(char const *in) { char* str; char* prefix; @@ -195,12 +196,12 @@ char *replace_cygdrive_msys(char *in) return str; } -char*(*replace_cygdrive)(char *in) = NULL; +char*(*replace_cygdrive)(char const *in) = NULL; char *files_to_delete[1024]; int num_files_to_delete = 0; -char *fix_at_file(char *in) +char *fix_at_file(char const *in) { char *tmpdir; char name[2048]; @@ -222,9 +223,13 @@ char *fix_at_file(char *in) exit(-1); } - tmpdir = getenv("TMP"); + tmpdir = getenv("TEMP"); if (tmpdir == NULL) { +#if _WIN64 + tmpdir = "c:/cygwin64/tmp"; +#else tmpdir = "c:/cygwin/tmp"; +#endif } _snprintf(name, sizeof(name), "%s\\atfile_XXXXXX", tmpdir); @@ -240,7 +245,7 @@ char *fix_at_file(char *in) exit(-1); } - buffer = malloc(buflen); + buffer = (char*) malloc(buflen); while((blocklen = fread(block,1,sizeof(block),atin)) > 0) { append(&buffer, &buflen, &used, block, blocklen); } @@ -257,84 +262,229 @@ char *fix_at_file(char *in) fclose(atout); free(fixed); free(buffer); - files_to_delete[num_files_to_delete] = malloc(strlen(name)+1); + files_to_delete[num_files_to_delete] = (char*) malloc(strlen(name)+1); strcpy(files_to_delete[num_files_to_delete], name); num_files_to_delete++; - atname = malloc(strlen(name)+2); + atname = (char*) malloc(strlen(name)+2); atname[0] = '@'; strcpy(atname+1, name); return atname; } -int main(int argc, char **argv) +// given an argument, convert it to the windows command line safe quoted version +// using rules from: +// http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes-arguments-the-wrong-way.aspx +// caller is responsible for freeing both input and output. +char * quote_arg(char const * in_arg) { + char *quoted = NULL; + char *current = quoted; + int pass; + + if(strpbrk(in_arg, " \t\n\v\r\\\"") == NULL) { + return _strdup(in_arg); + } + + // process the arg twice. Once to calculate the size and then to copy it. + for(pass=1; pass<=2; pass++) { + char const *arg = in_arg; + + // initial " + if(pass == 2) { + *current = '\"'; + } + current++; + + // process string to be quoted until NUL + do { + int escapes = 0; + + while (*arg == '\\') { + // count escapes. + escapes++; + arg++; + } + + if (*arg == '\0') { + // escape the escapes before final " + escapes *= 2; + } else if (*arg == '"') { + // escape the escapes and the " + escapes = escapes * 2 + 1; + } else { + // escapes aren't special, just echo them. + } + + // emit some escapes + while (escapes > 0) { + if (pass == 2) { + *current = '\\'; + } + current++; + escapes--; + } + + // and the current char + if (pass == 2) { + *current = *arg; + } + current++; + } while( *arg++ != '\0'); + + // allocate the buffer + if (pass == 1) { + size_t alloc = (size_t) (current - quoted + (ptrdiff_t) 2); + current = quoted = (char*) calloc(alloc, sizeof(char)); + } + } + + // final " and \0 + *(current - 1) = '"'; + *current = '\0'; + + return quoted; +} + +int main(int argc, char const ** argv) { STARTUPINFO si; PROCESS_INFORMATION pi; unsigned short rc; - char *new_at_file; - char *old_at_file; char *line; - int i; + char *current; + int i, cmd; DWORD exitCode; - if (argc<3 || argv[1][0] != '-' || (argv[1][1] != 'c' && argv[1][1] != 'm')) { - fprintf(stderr, "Usage: fixpath -c|m /cygdrive/c/WINDOWS/notepad.exe /cygdrive/c/x/test.txt\n"); + if (argc<2 || argv[1][0] != '-' || (argv[1][1] != 'c' && argv[1][1] != 'm')) { + fprintf(stderr, "Usage: fixpath -c|m /cygdrive/c/WINDOWS/notepad.exe [/cygdrive/c/x/test.txt|@/cygdrive/c/x/atfile]\n"); exit(0); } if (getenv("DEBUG_FIXPATH") != NULL) { - fprintf(stderr, "fixpath input line >%s<\n", strstr(GetCommandLine(), argv[1])); + char const * cmdline = GetCommandLine(); + fprintf(stderr, "fixpath input line >%s<\n", strstr( cmdline , argv[1])); } if (argv[1][1] == 'c' && argv[1][2] == '\0') { if (getenv("DEBUG_FIXPATH") != NULL) { - fprintf(stderr, "using cygwin mode\n"); + fprintf(stderr, "fixpath using cygwin mode\n"); } replace_cygdrive = replace_cygdrive_cygwin; } else if (argv[1][1] == 'm') { if (getenv("DEBUG_FIXPATH") != NULL) { - fprintf(stderr, "using msys mode, with path list: %s\n", &argv[1][2]); + fprintf(stderr, "fixpath using msys mode, with path list: %s\n", &argv[1][2]); } setup_msys_path_list(argv[1]); replace_cygdrive = replace_cygdrive_msys; } else { - fprintf(stderr, "Unknown mode: %s\n", argv[1]); + fprintf(stderr, "fixpath Unknown mode: %s\n", argv[1]); exit(-1); } - line = replace_cygdrive(strstr(GetCommandLine(), argv[2])); - for (i=1; i%s< to >%s<\n", var, val); + } + + rc = SetEnvironmentVariable(var, val); + if(!rc) { + // Could not set var for some reason. Try to report why. + const int msg_len = 80 + var_len + strlen(val); + char * msg = (char *) alloca(msg_len); + _snprintf_s(msg, msg_len, _TRUNCATE, "Could not set environment variable [%s=%s]", var, val); + report_error(msg); + exit(1); + } + free(var); + free(val); + } else { + // no more assignments; + break; + } + i++; } + // remember index of the command + cmd = i; + + // handle command and it's args. + while (i < argc) { + char const *replaced = replace_cygdrive(argv[i]); + if(replaced[0] == '@') { + // Found at-file! Fix it! + replaced = fix_at_file(replaced); + } + argv[i] = quote_arg(replaced); + i++; + } + + // determine the length of the line + line = NULL; + // args + for(i = cmd; i < argc; i++) { + line += (ptrdiff_t) strlen(argv[i]); + } + // spaces and null + line += (ptrdiff_t) (argc - cmd + 1); + // allocate + line = (char*) calloc(line - (char*) NULL, sizeof(char)); + + // copy in args. + current = line; + for(i = cmd; i < argc; i++) { + ptrdiff_t len = strlen(argv[i]); + if (i != cmd) { + *current++ = ' '; + } + memmove(current, argv[i], len); + current += len; + } + *current = '\0'; + if (getenv("DEBUG_FIXPATH") != NULL) { fprintf(stderr, "fixpath converted line >%s<\n", line); } + if(cmd == argc) { + if (getenv("DEBUG_FIXPATH") != NULL) { + fprintf(stderr, "fixpath no command provided!\n"); + } + exit(0); + } + ZeroMemory(&si,sizeof(si)); si.cb=sizeof(si); ZeroMemory(&pi,sizeof(pi)); + fflush(stderr); + fflush(stdout); + rc = CreateProcess(NULL, line, 0, 0, TRUE, 0, - 0, - 0, + NULL, + NULL, &si, &pi); if(!rc) { // Could not start process for some reason. Try to report why: - report_error(); - exit(rc); + report_error("Could not start process!"); + exit(126); } WaitForSingleObject(pi.hProcess,INFINITE); @@ -342,15 +492,21 @@ int main(int argc, char **argv) if (getenv("DEBUG_FIXPATH") != NULL) { for (i=0; i pmContexts = new HashMap<>(); + private static Map staticWrapperMap = new ConcurrentHashMap(); protected MonitoringManager monitoringManager; @@ -201,8 +209,9 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB try { // First try the configured class name, if any - Class cls = SharedSecrets.getJavaCorbaAccess().loadClass( className ) ; - sff = (PresentationManager.StubFactoryFactory)cls.newInstance() ; + Class cls = + sun.corba.SharedSecrets.getJavaCorbaAccess().loadClass(className); + sff = (PresentationManager.StubFactoryFactory)cls.newInstance(); } catch (Exception exc) { // Use the default. Log the error as a warning. staticWrapper.errorInSettingDynamicStubFactoryFactory( @@ -235,13 +244,34 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB */ public static PresentationManager getPresentationManager() { - AppContext ac = AppContext.getAppContext(); - PresentationManager pm = (PresentationManager) ac.get(PresentationManager.class); - if (pm == null) { - pm = setupPresentationManager(); - ac.put(PresentationManager.class, pm); + SecurityManager sm = System.getSecurityManager(); + JavaAWTAccess javaAwtAccess = sun.misc.SharedSecrets.getJavaAWTAccess(); + if (sm != null && javaAwtAccess != null) { + Object appletContext; + try { + Class clazz = JavaAWTAccess.class; + Method method = clazz.getMethod("getAppletContext"); + appletContext = method.invoke(javaAwtAccess); + } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { + InternalError err = new InternalError(); + err.initCause(e); + throw err; + } + + if (appletContext != null) { + synchronized (pmContexts) { + PresentationManager pm = pmContexts.get(appletContext); + if (pm == null) { + pm = setupPresentationManager(); + pmContexts.put(appletContext, pm); + } + return pm; + } + } } - return pm; + + // No security manager or AppletAppContext + return Holder.defaultPresentationManager; } /** Get the appropriate StubFactoryFactory. This diff --git a/corba/src/share/classes/org/omg/CORBA/AnySeqHelper.java b/corba/src/share/classes/org/omg/CORBA/AnySeqHelper.java index 03164504ed9..e01c8110ef4 100644 --- a/corba/src/share/classes/org/omg/CORBA/AnySeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/AnySeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/BooleanSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/BooleanSeqHelper.java index 2ebf7327b64..661de0a1255 100644 --- a/corba/src/share/classes/org/omg/CORBA/BooleanSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/BooleanSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/CharSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/CharSeqHelper.java index b3bd4ae0869..15bdec03432 100644 --- a/corba/src/share/classes/org/omg/CORBA/CharSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/CharSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/DoubleSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/DoubleSeqHelper.java index 7a967349ec5..307f1254b5c 100644 --- a/corba/src/share/classes/org/omg/CORBA/DoubleSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/DoubleSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/LongLongSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/LongLongSeqHelper.java index f30c37f2d9f..cad08837d5c 100644 --- a/corba/src/share/classes/org/omg/CORBA/LongLongSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/LongLongSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/LongSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/LongSeqHelper.java index 5f7e678bac2..eae18b59c1a 100644 --- a/corba/src/share/classes/org/omg/CORBA/LongSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/LongSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/OctetSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/OctetSeqHelper.java index b056758a5d5..a937e471615 100644 --- a/corba/src/share/classes/org/omg/CORBA/OctetSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/OctetSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/ShortSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/ShortSeqHelper.java index 2055428deec..bc63630caff 100644 --- a/corba/src/share/classes/org/omg/CORBA/ShortSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/ShortSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/StringValueHelper.java b/corba/src/share/classes/org/omg/CORBA/StringValueHelper.java index 1e88c7f1f34..013c16a1290 100644 --- a/corba/src/share/classes/org/omg/CORBA/StringValueHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/StringValueHelper.java @@ -44,11 +44,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/ULongLongSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/ULongLongSeqHelper.java index fb945bf817f..4267d13108c 100644 --- a/corba/src/share/classes/org/omg/CORBA/ULongLongSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/ULongLongSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/ULongSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/ULongSeqHelper.java index 8681802119b..001fd4a3157 100644 --- a/corba/src/share/classes/org/omg/CORBA/ULongSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/ULongSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/UShortSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/UShortSeqHelper.java index 70b3c793f54..0c09a1fdb73 100644 --- a/corba/src/share/classes/org/omg/CORBA/UShortSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/UShortSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/WCharSeqHelper.java b/corba/src/share/classes/org/omg/CORBA/WCharSeqHelper.java index 7a055d08e20..ef26bf66373 100644 --- a/corba/src/share/classes/org/omg/CORBA/WCharSeqHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/WCharSeqHelper.java @@ -38,11 +38,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/WStringValueHelper.java b/corba/src/share/classes/org/omg/CORBA/WStringValueHelper.java index 94b7e94f412..a535caed09b 100644 --- a/corba/src/share/classes/org/omg/CORBA/WStringValueHelper.java +++ b/corba/src/share/classes/org/omg/CORBA/WStringValueHelper.java @@ -48,11 +48,11 @@ package org.omg.CORBA; * OMG specifications : * */ diff --git a/corba/src/share/classes/org/omg/CORBA/doc-files/compliance.html b/corba/src/share/classes/org/omg/CORBA/doc-files/compliance.html index 5201175d4d7..ff57fbd24be 100644 --- a/corba/src/share/classes/org/omg/CORBA/doc-files/compliance.html +++ b/corba/src/share/classes/org/omg/CORBA/doc-files/compliance.html @@ -18,26 +18,26 @@ href="http://www.omg.org/">www.omg.org to search for the correct specificati
  • CORBA 2.3.1 (formal/99-10-07)
  • +href="http://www.omg.org/cgi-bin/doc?formal/99-10-07">formal/99-10-07)
  • IDL to Java language mapping (ptc/00-01-08)
  • +href="http://www.omg.org/cgi-bin/doc?ptc/00-01-08">ptc/00-01-08)
  • Revised IDL to Java language mapping (ptc/00-11-03)
  • +href="http://www.omg.org/cgi-bin/doc?ptc/00-11-03">ptc/00-11-03)
  • Java to IDL language mapping (ptc/00-01-06)
  • +href="http://www.omg.org/cgi-bin/doc?ptc/00-01-06">ptc/00-01-06)
  • Interoperable Naming Service (ptc/00-08-07)
  • +href="http://www.omg.org/cgi-bin/doc?ptc/00-08-07">ptc/00-08-07)
  • Portable Interceptors (ptc/2001-03-04)
  • +href="http://www.omg.org/cgi-bin/doc?ptc/2001-03-04">ptc/2001-03-04)
These are the only specifications referenced by this document. diff --git a/corba/src/share/classes/org/omg/CORBA/doc-files/generatedfiles.html b/corba/src/share/classes/org/omg/CORBA/doc-files/generatedfiles.html index 53f28a1737f..d63460d0871 100644 --- a/corba/src/share/classes/org/omg/CORBA/doc-files/generatedfiles.html +++ b/corba/src/share/classes/org/omg/CORBA/doc-files/generatedfiles.html @@ -8,7 +8,7 @@

IDL-to-Java Generated Files

-

The files that are generated by the IDL-to-Java compiler, in accordance with the IDL-to-Java Language Mapping Specification, which is implemented in JavaTM SE 6 according the compliance document. +

The files that are generated by the IDL-to-Java compiler, in accordance with the IDL-to-Java Language Mapping Specification, which is implemented in JavaTM SE 6 according the compliance document.

In general IDL names and identifiers are mapped to Java names and identifiers with no change. Because of the nature of the Java language, a single IDL construct may be mapped to several (differently named) Java constructs. The additional names are constructed by appending a descriptive suffix. For example, the IDL interface foo is mapped to the Java interfaces foo and fooOperations, and additional Java classes fooHelper, fooHolder, fooPOA, and optionally fooPOATie. diff --git a/corba/src/share/classes/org/omg/CORBA/package.html b/corba/src/share/classes/org/omg/CORBA/package.html index 02c6d0b1876..437b84870a4 100644 --- a/corba/src/share/classes/org/omg/CORBA/package.html +++ b/corba/src/share/classes/org/omg/CORBA/package.html @@ -344,7 +344,7 @@ public final class AccountHolder implements

For more information on Holder classes, see Chapter 1.4, Mapping for -Basic Types in the +Basic Types in the OMG IDL to Java Language Mapping. The Holder classes defined in the package org.omg.CORBA are:

diff --git a/corba/src/share/classes/org/omg/CosNaming/package.html b/corba/src/share/classes/org/omg/CosNaming/package.html
index e64de1740d6..a7fca8f22aa 100644
--- a/corba/src/share/classes/org/omg/CosNaming/package.html
+++ b/corba/src/share/classes/org/omg/CosNaming/package.html
@@ -331,7 +331,7 @@ Context.
 
 
  • Interoperable Naming Service (ptc/00-08-07) +href="http://www.omg.org/cgi-bin/doc?ptc/00-08-07">ptc/00-08-07)

Related Documentation

diff --git a/corba/src/share/classes/org/omg/Dynamic/package.html b/corba/src/share/classes/org/omg/Dynamic/package.html index f7b27322eb3..0a9895fc871 100644 --- a/corba/src/share/classes/org/omg/Dynamic/package.html +++ b/corba/src/share/classes/org/omg/Dynamic/package.html @@ -33,8 +33,8 @@

This package contains the Dynamic module specified in the OMG Portable Interceptor specification, - -http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06, section 21.9. Please + +ptc/2000-08-06, section 21.9. Please refer to that OMG specification for further details. diff --git a/corba/src/share/classes/org/omg/DynamicAny/DynAnyFactoryPackage/package.html b/corba/src/share/classes/org/omg/DynamicAny/DynAnyFactoryPackage/package.html index 0cf2fe073f9..9f9e72f12ce 100644 --- a/corba/src/share/classes/org/omg/DynamicAny/DynAnyFactoryPackage/package.html +++ b/corba/src/share/classes/org/omg/DynamicAny/DynAnyFactoryPackage/package.html @@ -38,8 +38,8 @@ interface of the DynamicAny module specified in the OMG The Common Object Request Broker: Architecture and Specification, - -http://cgi.omg.org/cgi-bin/doc?formal/99-10-07, section 9.2.2. Please + +formal/99-10-07, section 9.2.2. Please refer to that OMG specification for further details.

Package Specification

diff --git a/corba/src/share/classes/org/omg/DynamicAny/DynAnyPackage/package.html b/corba/src/share/classes/org/omg/DynamicAny/DynAnyPackage/package.html index d0c2dc30829..480ed552c05 100644 --- a/corba/src/share/classes/org/omg/DynamicAny/DynAnyPackage/package.html +++ b/corba/src/share/classes/org/omg/DynamicAny/DynAnyPackage/package.html @@ -34,8 +34,8 @@ interface of the DynamicAny module specified in the OMG The Common Object Request Broker: Architecture and Specification, - -http://cgi.omg.org/cgi-bin/doc?formal/99-10-07, section 9.2. Please + +formal/99-10-07, section 9.2. Please refer to that OMG specification for further details. diff --git a/corba/src/share/classes/org/omg/IOP/package.html b/corba/src/share/classes/org/omg/IOP/package.html index 34f2aa2060e..f0016bfc271 100644 --- a/corba/src/share/classes/org/omg/IOP/package.html +++ b/corba/src/share/classes/org/omg/IOP/package.html @@ -33,8 +33,8 @@ questions.

This package contains the IOP module specified in the OMG document The Common Object Request Broker: Architecture and Specification, - -http://cgi.omg.org/cgi-bin/doc?formal/99-10-07, section 13.6. Please + +formal/99-10-07, section 13.6. Please refer to that OMG specification for further details.

Please note that we do not provide all parts of the IOP module from diff --git a/corba/src/share/classes/org/omg/Messaging/package.html b/corba/src/share/classes/org/omg/Messaging/package.html index f2fa37bdb4a..61e73d5b685 100644 --- a/corba/src/share/classes/org/omg/Messaging/package.html +++ b/corba/src/share/classes/org/omg/Messaging/package.html @@ -32,8 +32,8 @@ questions.

This package contains the Messaging module specified in the OMG CORBA Messaging specification, - -http://cgi.omg.org/cgi-bin/doc?formal/99-10-07. Please refer to that OMG + +formal/99-10-07. Please refer to that OMG specification for further details.

Please note that we do not provide all parts of the Messaging module from diff --git a/corba/src/share/classes/org/omg/PortableInterceptor/ORBInitInfoPackage/package.html b/corba/src/share/classes/org/omg/PortableInterceptor/ORBInitInfoPackage/package.html index 422069e6b71..d648d5af9e5 100644 --- a/corba/src/share/classes/org/omg/PortableInterceptor/ORBInitInfoPackage/package.html +++ b/corba/src/share/classes/org/omg/PortableInterceptor/ORBInitInfoPackage/package.html @@ -33,8 +33,8 @@ questions.

This package contains the exceptions and typedefs from the ORBInitInfo local interface of the PortableInterceptor module specified in the OMG Portable Interceptor specification, - -http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06, section 21.7.2. Please + +ptc/2000-08-06, section 21.7.2. Please refer to that OMG specification for further details. diff --git a/hotspot/.hgtags b/hotspot/.hgtags index 3e5fb22b551..856ce390fa1 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -409,3 +409,4 @@ b2fee789d23f3cdabb3db4e51af43038e5692d3a jdk9-b03 3812c088b9456ee22c933e88aee1ece71f4e783a jdk9-b04 bdc5311e1db7598589b77015119b821bf8c828bd jdk9-b05 52377a30a3f87b62d6135706997b8c7a47366e37 jdk9-b06 +52f7edf2589d9f9d35db3008bc5377f279de9c18 jdk9-b07 diff --git a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp index 1a53471e596..f0bda386f4a 100644 --- a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp @@ -958,7 +958,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // reset handle block __ ld_ptr(G2_thread, in_bytes(JavaThread::active_handles_offset()), G3_scratch); - __ st_ptr(G0, G3_scratch, JNIHandleBlock::top_offset_in_bytes()); + __ st(G0, G3_scratch, JNIHandleBlock::top_offset_in_bytes()); // handle exceptions (exception handling will handle unlocking!) diff --git a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp index deebde4a27e..9f802a1097f 100644 --- a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp @@ -2687,7 +2687,7 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm, if (!is_critical_native) { // reset handle block __ ld_ptr(G2_thread, in_bytes(JavaThread::active_handles_offset()), L5); - __ st_ptr(G0, L5, JNIHandleBlock::top_offset_in_bytes()); + __ st(G0, L5, JNIHandleBlock::top_offset_in_bytes()); __ ld_ptr(G2_thread, in_bytes(Thread::pending_exception_offset()), G3_scratch); check_forward_pending_exception(masm, G3_scratch); diff --git a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp index 5fd629a4f1e..f0e8fedd30a 100644 --- a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp @@ -1147,7 +1147,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // reset handle block __ ld_ptr(G2_thread, JavaThread::active_handles_offset(), G3_scratch); - __ st_ptr(G0, G3_scratch, JNIHandleBlock::top_offset_in_bytes()); + __ st(G0, G3_scratch, JNIHandleBlock::top_offset_in_bytes()); // If we have an oop result store it where it will be safe for any further gc // until we return now that we've released the handle it might be protected by diff --git a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp index 0ddf854f364..4af338fe8c8 100644 --- a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp +++ b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp @@ -1358,7 +1358,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // reset handle block __ movptr(t, Address(thread, JavaThread::active_handles_offset())); - __ movptr(Address(t, JNIHandleBlock::top_offset_in_bytes()), (int32_t)NULL_WORD); + __ movl(Address(t, JNIHandleBlock::top_offset_in_bytes()), (int32_t)NULL_WORD); // If result was an oop then unbox and save it in the frame { Label L; diff --git a/hotspot/src/cpu/x86/vm/globals_x86.hpp b/hotspot/src/cpu/x86/vm/globals_x86.hpp index fe5db1ce7fe..5b34293ea6a 100644 --- a/hotspot/src/cpu/x86/vm/globals_x86.hpp +++ b/hotspot/src/cpu/x86/vm/globals_x86.hpp @@ -162,7 +162,7 @@ define_pd_global(uintx, TypeProfileLevel, 111); "Number of milliseconds to wait before start calculating aborts " \ "for RTM locking") \ \ - experimental(bool, UseRTMXendForLockBusy, false, \ + experimental(bool, UseRTMXendForLockBusy, true, \ "Use RTM Xend instead of Xabort when lock busy") \ \ /* assembler */ \ diff --git a/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp b/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp index 3426d6d55cf..406c9902632 100644 --- a/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp +++ b/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp @@ -1488,11 +1488,10 @@ void MacroAssembler::rtm_stack_locking(Register objReg, Register tmpReg, Registe movl(retry_on_abort_count_Reg, RTMRetryCount); // Retry on abort bind(L_rtm_retry); } - if (!UseRTMXendForLockBusy) { - movptr(tmpReg, Address(objReg, 0)); - testptr(tmpReg, markOopDesc::monitor_value); // inflated vs stack-locked|neutral|biased - jcc(Assembler::notZero, IsInflated); - } + movptr(tmpReg, Address(objReg, 0)); + testptr(tmpReg, markOopDesc::monitor_value); // inflated vs stack-locked|neutral|biased + jcc(Assembler::notZero, IsInflated); + if (PrintPreciseRTMLockingStatistics || profile_rtm) { Label L_noincrement; if (RTMTotalCountIncrRate > 1) { @@ -1512,10 +1511,7 @@ void MacroAssembler::rtm_stack_locking(Register objReg, Register tmpReg, Registe Register abort_status_Reg = tmpReg; // status of abort is stored in RAX if (UseRTMXendForLockBusy) { xend(); - movptr(tmpReg, Address(objReg, 0)); - testptr(tmpReg, markOopDesc::monitor_value); // inflated vs stack-locked|neutral|biased - jcc(Assembler::notZero, IsInflated); - movptr(abort_status_Reg, 0x1); // Set the abort status to 1 (as xabort does) + movptr(abort_status_Reg, 0x2); // Set the abort status to 2 (so we can retry) jmp(L_decrement_retry); } else { diff --git a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp index 2f9ffd7feb7..f3dbdd9125d 100644 --- a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp @@ -2266,7 +2266,7 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm, if (!is_critical_native) { // reset handle block __ movptr(rcx, Address(thread, JavaThread::active_handles_offset())); - __ movptr(Address(rcx, JNIHandleBlock::top_offset_in_bytes()), NULL_WORD); + __ movl(Address(rcx, JNIHandleBlock::top_offset_in_bytes()), NULL_WORD); // Any exception pending? __ cmpptr(Address(thread, in_bytes(Thread::pending_exception_offset())), (int32_t)NULL_WORD); diff --git a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp index bdb77a66351..5482cf67549 100644 --- a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp +++ b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp @@ -2509,7 +2509,7 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm, if (!is_critical_native) { // reset handle block __ movptr(rcx, Address(r15_thread, JavaThread::active_handles_offset())); - __ movptr(Address(rcx, JNIHandleBlock::top_offset_in_bytes()), (int32_t)NULL_WORD); + __ movl(Address(rcx, JNIHandleBlock::top_offset_in_bytes()), (int32_t)NULL_WORD); } // pop our frame diff --git a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp index c7fc0472677..8051e15c98f 100644 --- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp +++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp @@ -1287,7 +1287,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // reset handle block __ movptr(t, Address(thread, JavaThread::active_handles_offset())); - __ movptr(Address(t, JNIHandleBlock::top_offset_in_bytes()), NULL_WORD); + __ movl(Address(t, JNIHandleBlock::top_offset_in_bytes()), NULL_WORD); // If result was an oop then unbox and save it in the frame { Label L; diff --git a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp index ef1aa8409b9..fb75ac9315a 100644 --- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp +++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp @@ -1259,7 +1259,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) { // reset handle block __ movptr(t, Address(r15_thread, JavaThread::active_handles_offset())); - __ movptr(Address(t, JNIHandleBlock::top_offset_in_bytes()), (int32_t)NULL_WORD); + __ movl(Address(t, JNIHandleBlock::top_offset_in_bytes()), (int32_t)NULL_WORD); // If result is an oop unbox and store it in frame where gc will see it // and result handler will pick it up diff --git a/hotspot/src/share/vm/classfile/symbolTable.cpp b/hotspot/src/share/vm/classfile/symbolTable.cpp index e7c1a73e067..40a06da9b34 100644 --- a/hotspot/src/share/vm/classfile/symbolTable.cpp +++ b/hotspot/src/share/vm/classfile/symbolTable.cpp @@ -810,11 +810,11 @@ void StringTable::buckets_oops_do(OopClosure* f, int start_idx, int end_idx) { const int limit = the_table()->table_size(); assert(0 <= start_idx && start_idx <= limit, - err_msg("start_idx (" INT32_FORMAT ") is out of bounds", start_idx)); + err_msg("start_idx (%d) is out of bounds", start_idx)); assert(0 <= end_idx && end_idx <= limit, - err_msg("end_idx (" INT32_FORMAT ") is out of bounds", end_idx)); + err_msg("end_idx (%d) is out of bounds", end_idx)); assert(start_idx <= end_idx, - err_msg("Index ordering: start_idx=" INT32_FORMAT", end_idx=" INT32_FORMAT, + err_msg("Index ordering: start_idx=%d, end_idx=%d", start_idx, end_idx)); for (int i = start_idx; i < end_idx; i += 1) { @@ -833,11 +833,11 @@ void StringTable::buckets_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClos const int limit = the_table()->table_size(); assert(0 <= start_idx && start_idx <= limit, - err_msg("start_idx (" INT32_FORMAT ") is out of bounds", start_idx)); + err_msg("start_idx (%d) is out of bounds", start_idx)); assert(0 <= end_idx && end_idx <= limit, - err_msg("end_idx (" INT32_FORMAT ") is out of bounds", end_idx)); + err_msg("end_idx (%d) is out of bounds", end_idx)); assert(start_idx <= end_idx, - err_msg("Index ordering: start_idx=" INT32_FORMAT", end_idx=" INT32_FORMAT, + err_msg("Index ordering: start_idx=%d, end_idx=%d", start_idx, end_idx)); for (int i = start_idx; i < end_idx; ++i) { diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp index 1934159f9bb..83847cd1bf5 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp @@ -57,10 +57,10 @@ ConcurrentG1Refine::ConcurrentG1Refine(G1CollectedHeap* g1h) : _threads = NEW_C_HEAP_ARRAY(ConcurrentG1RefineThread*, _n_threads, mtGC); - int worker_id_offset = (int)DirtyCardQueueSet::num_par_ids(); + uint worker_id_offset = DirtyCardQueueSet::num_par_ids(); ConcurrentG1RefineThread *next = NULL; - for (int i = _n_threads - 1; i >= 0; i--) { + for (uint i = _n_threads - 1; i != UINT_MAX; i--) { ConcurrentG1RefineThread* t = new ConcurrentG1RefineThread(this, next, worker_id_offset, i); assert(t != NULL, "Conc refine should have been created"); if (t->osthread() == NULL) { @@ -87,7 +87,7 @@ void ConcurrentG1Refine::init() { void ConcurrentG1Refine::stop() { if (_threads != NULL) { - for (int i = 0; i < _n_threads; i++) { + for (uint i = 0; i < _n_threads; i++) { _threads[i]->stop(); } } @@ -96,7 +96,7 @@ void ConcurrentG1Refine::stop() { void ConcurrentG1Refine::reinitialize_threads() { reset_threshold_step(); if (_threads != NULL) { - for (int i = 0; i < _n_threads; i++) { + for (uint i = 0; i < _n_threads; i++) { _threads[i]->initialize(); } } @@ -104,7 +104,7 @@ void ConcurrentG1Refine::reinitialize_threads() { ConcurrentG1Refine::~ConcurrentG1Refine() { if (_threads != NULL) { - for (int i = 0; i < _n_threads; i++) { + for (uint i = 0; i < _n_threads; i++) { delete _threads[i]; } FREE_C_HEAP_ARRAY(ConcurrentG1RefineThread*, _threads, mtGC); @@ -113,7 +113,7 @@ ConcurrentG1Refine::~ConcurrentG1Refine() { void ConcurrentG1Refine::threads_do(ThreadClosure *tc) { if (_threads != NULL) { - for (int i = 0; i < _n_threads; i++) { + for (uint i = 0; i < _n_threads; i++) { tc->do_thread(_threads[i]); } } @@ -121,20 +121,20 @@ void ConcurrentG1Refine::threads_do(ThreadClosure *tc) { void ConcurrentG1Refine::worker_threads_do(ThreadClosure * tc) { if (_threads != NULL) { - for (int i = 0; i < worker_thread_num(); i++) { + for (uint i = 0; i < worker_thread_num(); i++) { tc->do_thread(_threads[i]); } } } -int ConcurrentG1Refine::thread_num() { - int n_threads = (G1ConcRefinementThreads > 0) ? G1ConcRefinementThreads +uint ConcurrentG1Refine::thread_num() { + uint n_threads = (G1ConcRefinementThreads > 0) ? G1ConcRefinementThreads : ParallelGCThreads; - return MAX2(n_threads, 1); + return MAX2(n_threads, 1); } void ConcurrentG1Refine::print_worker_threads_on(outputStream* st) const { - for (int i = 0; i < _n_threads; ++i) { + for (uint i = 0; i < _n_threads; ++i) { _threads[i]->print_on(st); st->cr(); } diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp index 3dc7c62423b..1aea2345aea 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp @@ -39,8 +39,8 @@ class DirtyCardQueue; class ConcurrentG1Refine: public CHeapObj { ConcurrentG1RefineThread** _threads; - int _n_threads; - int _n_worker_threads; + uint _n_threads; + uint _n_worker_threads; /* * The value of the update buffer queue length falls into one of 3 zones: * green, yellow, red. If the value is in [0, green) nothing is @@ -88,7 +88,7 @@ class ConcurrentG1Refine: public CHeapObj { // The RS sampling thread ConcurrentG1RefineThread * sampling_thread() const; - static int thread_num(); + static uint thread_num(); void print_worker_threads_on(outputStream* st) const; @@ -100,8 +100,8 @@ class ConcurrentG1Refine: public CHeapObj { int yellow_zone() const { return _yellow_zone; } int red_zone() const { return _red_zone; } - int total_thread_num() const { return _n_threads; } - int worker_thread_num() const { return _n_worker_threads; } + uint total_thread_num() const { return _n_threads; } + uint worker_thread_num() const { return _n_worker_threads; } int thread_threshold_step() const { return _thread_threshold_step; } diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp index 72ce48ec580..4435d370519 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp @@ -33,7 +33,7 @@ ConcurrentG1RefineThread:: ConcurrentG1RefineThread(ConcurrentG1Refine* cg1r, ConcurrentG1RefineThread *next, - int worker_id_offset, int worker_id) : + uint worker_id_offset, uint worker_id) : ConcurrentGCThread(), _worker_id_offset(worker_id_offset), _worker_id(worker_id), diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp index 971fe2f91cc..6eb08642686 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp @@ -38,8 +38,8 @@ class ConcurrentG1RefineThread: public ConcurrentGCThread { double _vtime_start; // Initial virtual time. double _vtime_accum; // Initial virtual time. - int _worker_id; - int _worker_id_offset; + uint _worker_id; + uint _worker_id_offset; // The refinement threads collection is linked list. A predecessor can activate a successor // when the number of the rset update buffer crosses a certain threshold. A successor @@ -71,7 +71,7 @@ public: virtual void run(); // Constructor ConcurrentG1RefineThread(ConcurrentG1Refine* cg1r, ConcurrentG1RefineThread* next, - int worker_id_offset, int worker_id); + uint worker_id_offset, uint worker_id); void initialize(); diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp index 727be275ab4..bf69f4db0e2 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp @@ -567,8 +567,8 @@ ConcurrentMark::ConcurrentMark(G1CollectedHeap* g1h, ReservedSpace heap_rs) : _root_regions.init(_g1h, this); if (ConcGCThreads > ParallelGCThreads) { - warning("Can't have more ConcGCThreads (" UINT32_FORMAT ") " - "than ParallelGCThreads (" UINT32_FORMAT ").", + warning("Can't have more ConcGCThreads (" UINTX_FORMAT ") " + "than ParallelGCThreads (" UINTX_FORMAT ").", ConcGCThreads, ParallelGCThreads); return; } @@ -1804,7 +1804,6 @@ class G1ParNoteEndTask; class G1NoteEndOfConcMarkClosure : public HeapRegionClosure { G1CollectedHeap* _g1; - int _worker_num; size_t _max_live_bytes; uint _regions_claimed; size_t _freed_bytes; @@ -1817,10 +1816,9 @@ class G1NoteEndOfConcMarkClosure : public HeapRegionClosure { public: G1NoteEndOfConcMarkClosure(G1CollectedHeap* g1, - int worker_num, FreeRegionList* local_cleanup_list, HRRSCleanupTask* hrrs_cleanup_task) : - _g1(g1), _worker_num(worker_num), + _g1(g1), _max_live_bytes(0), _regions_claimed(0), _freed_bytes(0), _claimed_region_time(0.0), _max_region_time(0.0), @@ -1893,7 +1891,7 @@ public: double start = os::elapsedTime(); FreeRegionList local_cleanup_list("Local Cleanup List"); HRRSCleanupTask hrrs_cleanup_task; - G1NoteEndOfConcMarkClosure g1_note_end(_g1h, worker_id, &local_cleanup_list, + G1NoteEndOfConcMarkClosure g1_note_end(_g1h, &local_cleanup_list, &hrrs_cleanup_task); if (G1CollectedHeap::use_parallel_gc_threads()) { _g1h->heap_region_par_iterate_chunked(&g1_note_end, worker_id, @@ -2145,7 +2143,7 @@ void ConcurrentMark::completeCleanup() { G1CollectedHeap* g1h = G1CollectedHeap::heap(); - _cleanup_list.verify_list(); + _cleanup_list.verify_optional(); FreeRegionList tmp_free_list("Tmp Free List"); if (G1ConcRegionFreeingVerbose) { diff --git a/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp b/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp index ddebcf53088..1168343c097 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp @@ -34,12 +34,12 @@ bool DirtyCardQueue::apply_closure(CardTableEntryClosure* cl, bool consume, - size_t worker_i) { + uint worker_i) { bool res = true; if (_buf != NULL) { res = apply_closure_to_buffer(cl, _buf, _index, _sz, consume, - (int) worker_i); + worker_i); if (res && consume) _index = _sz; } return res; @@ -49,7 +49,7 @@ bool DirtyCardQueue::apply_closure_to_buffer(CardTableEntryClosure* cl, void** buf, size_t index, size_t sz, bool consume, - int worker_i) { + uint worker_i) { if (cl == NULL) return true; for (size_t i = index; i < sz; i += oopSize) { int ind = byte_index_to_index((int)i); @@ -79,8 +79,8 @@ DirtyCardQueueSet::DirtyCardQueueSet(bool notify_when_complete) : } // Determines how many mutator threads can process the buffers in parallel. -size_t DirtyCardQueueSet::num_par_ids() { - return os::processor_count(); +uint DirtyCardQueueSet::num_par_ids() { + return (uint)os::processor_count(); } void DirtyCardQueueSet::initialize(Monitor* cbl_mon, Mutex* fl_lock, @@ -103,7 +103,7 @@ void DirtyCardQueueSet::set_closure(CardTableEntryClosure* closure) { } void DirtyCardQueueSet::iterate_closure_all_threads(bool consume, - size_t worker_i) { + uint worker_i) { assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint."); for(JavaThread* t = Threads::first(); t; t = t->next()) { bool b = t->dirty_card_queue().apply_closure(_closure, consume); @@ -126,11 +126,11 @@ bool DirtyCardQueueSet::mut_process_buffer(void** buf) { // We get the the number of any par_id that this thread // might have already claimed. - int worker_i = thread->get_claimed_par_id(); + uint worker_i = thread->get_claimed_par_id(); - // If worker_i is not -1 then the thread has already claimed + // If worker_i is not UINT_MAX then the thread has already claimed // a par_id. We make note of it using the already_claimed value - if (worker_i != -1) { + if (worker_i != UINT_MAX) { already_claimed = true; } else { @@ -142,7 +142,7 @@ bool DirtyCardQueueSet::mut_process_buffer(void** buf) { } bool b = false; - if (worker_i != -1) { + if (worker_i != UINT_MAX) { b = DirtyCardQueue::apply_closure_to_buffer(_closure, buf, 0, _sz, true, worker_i); if (b) Atomic::inc(&_processed_buffers_mut); @@ -154,8 +154,8 @@ bool DirtyCardQueueSet::mut_process_buffer(void** buf) { // we release the id _free_ids->release_par_id(worker_i); - // and set the claimed_id in the thread to -1 - thread->set_claimed_par_id(-1); + // and set the claimed_id in the thread to UINT_MAX + thread->set_claimed_par_id(UINT_MAX); } } return b; @@ -186,7 +186,7 @@ DirtyCardQueueSet::get_completed_buffer(int stop_at) { bool DirtyCardQueueSet:: apply_closure_to_completed_buffer_helper(CardTableEntryClosure* cl, - int worker_i, + uint worker_i, BufferNode* nd) { if (nd != NULL) { void **buf = BufferNode::make_buffer_from_node(nd); @@ -208,7 +208,7 @@ apply_closure_to_completed_buffer_helper(CardTableEntryClosure* cl, } bool DirtyCardQueueSet::apply_closure_to_completed_buffer(CardTableEntryClosure* cl, - int worker_i, + uint worker_i, int stop_at, bool during_pause) { assert(!during_pause || stop_at == 0, "Should not leave any completed buffers during a pause"); @@ -218,7 +218,7 @@ bool DirtyCardQueueSet::apply_closure_to_completed_buffer(CardTableEntryClosure* return res; } -bool DirtyCardQueueSet::apply_closure_to_completed_buffer(int worker_i, +bool DirtyCardQueueSet::apply_closure_to_completed_buffer(uint worker_i, int stop_at, bool during_pause) { return apply_closure_to_completed_buffer(_closure, worker_i, diff --git a/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.hpp b/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.hpp index 134c8d0a36e..0412c8953a0 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.hpp @@ -36,7 +36,7 @@ class CardTableEntryClosure: public CHeapObj { public: // Process the card whose card table entry is "card_ptr". If returns // "false", terminate the iteration early. - virtual bool do_card_ptr(jbyte* card_ptr, int worker_i = 0) = 0; + virtual bool do_card_ptr(jbyte* card_ptr, uint worker_i = 0) = 0; }; // A ptrQueue whose elements are "oops", pointers to object heads. @@ -53,7 +53,7 @@ public: // deletes processed entries from logs. bool apply_closure(CardTableEntryClosure* cl, bool consume = true, - size_t worker_i = 0); + uint worker_i = 0); // Apply the closure to all elements of "buf", down to "index" // (inclusive.) If returns "false", then a closure application returned @@ -63,7 +63,7 @@ public: static bool apply_closure_to_buffer(CardTableEntryClosure* cl, void** buf, size_t index, size_t sz, bool consume = true, - int worker_i = 0); + uint worker_i = 0); void **get_buf() { return _buf;} void set_buf(void **buf) {_buf = buf;} size_t get_index() { return _index;} @@ -98,7 +98,7 @@ public: // The number of parallel ids that can be claimed to allow collector or // mutator threads to do card-processing work. - static size_t num_par_ids(); + static uint num_par_ids(); static void handle_zero_index_for_thread(JavaThread* t); @@ -115,7 +115,7 @@ public: // change in the future.) If "consume" is true, processed entries are // discarded. void iterate_closure_all_threads(bool consume = true, - size_t worker_i = 0); + uint worker_i = 0); // If there exists some completed buffer, pop it, then apply the // registered closure to all its elements, nulling out those elements @@ -124,7 +124,7 @@ public: // but is only partially completed before a "yield" happens, the // partially completed buffer (with its processed elements set to NULL) // is returned to the completed buffer set, and this call returns false. - bool apply_closure_to_completed_buffer(int worker_i = 0, + bool apply_closure_to_completed_buffer(uint worker_i = 0, int stop_at = 0, bool during_pause = false); @@ -136,13 +136,13 @@ public: // partially completed buffer (with its processed elements set to NULL) // is returned to the completed buffer set, and this call returns false. bool apply_closure_to_completed_buffer(CardTableEntryClosure* cl, - int worker_i = 0, + uint worker_i = 0, int stop_at = 0, bool during_pause = false); // Helper routine for the above. bool apply_closure_to_completed_buffer_helper(CardTableEntryClosure* cl, - int worker_i, + uint worker_i, BufferNode* nd); BufferNode* get_completed_buffer(int stop_at); diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp index d1188fe3c37..9777c17b5a8 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp @@ -304,26 +304,26 @@ void G1BlockOffsetArray::check_all_cards(size_t start_card, size_t end_card) con if (c - start_card > BlockOffsetArray::power_to_cards_back(1)) { guarantee(entry > N_words, err_msg("Should be in logarithmic region - " - "entry: " UINT32_FORMAT ", " - "_array->offset_array(c): " UINT32_FORMAT ", " - "N_words: " UINT32_FORMAT, - entry, _array->offset_array(c), N_words)); + "entry: %u, " + "_array->offset_array(c): %u, " + "N_words: %u", + (uint)entry, (uint)_array->offset_array(c), (uint)N_words)); } size_t backskip = BlockOffsetArray::entry_to_cards_back(entry); size_t landing_card = c - backskip; guarantee(landing_card >= (start_card - 1), "Inv"); if (landing_card >= start_card) { guarantee(_array->offset_array(landing_card) <= entry, - err_msg("Monotonicity - landing_card offset: " UINT32_FORMAT ", " - "entry: " UINT32_FORMAT, - _array->offset_array(landing_card), entry)); + err_msg("Monotonicity - landing_card offset: %u, " + "entry: %u", + (uint)_array->offset_array(landing_card), (uint)entry)); } else { guarantee(landing_card == start_card - 1, "Tautology"); // Note that N_words is the maximum offset value guarantee(_array->offset_array(landing_card) <= N_words, - err_msg("landing card offset: " UINT32_FORMAT ", " - "N_words: " UINT32_FORMAT, - _array->offset_array(landing_card), N_words)); + err_msg("landing card offset: %u, " + "N_words: %u", + (uint)_array->offset_array(landing_card), (uint)N_words)); } } } @@ -554,21 +554,20 @@ void G1BlockOffsetArray::alloc_block_work2(HeapWord** threshold_, size_t* index_ (_array->offset_array(orig_index) > 0 && _array->offset_array(orig_index) <= N_words), err_msg("offset array should have been set - " - "orig_index offset: " UINT32_FORMAT ", " + "orig_index offset: %u, " "blk_start: " PTR_FORMAT ", " "boundary: " PTR_FORMAT, - _array->offset_array(orig_index), + (uint)_array->offset_array(orig_index), blk_start, boundary)); for (size_t j = orig_index + 1; j <= end_index; j++) { assert(_array->offset_array(j) > 0 && _array->offset_array(j) <= (u_char) (N_words+BlockOffsetArray::N_powers-1), err_msg("offset array should have been set - " - UINT32_FORMAT " not > 0 OR " - UINT32_FORMAT " not <= " UINT32_FORMAT, - _array->offset_array(j), - _array->offset_array(j), - (u_char) (N_words+BlockOffsetArray::N_powers-1))); + "%u not > 0 OR %u not <= %u", + (uint) _array->offset_array(j), + (uint) _array->offset_array(j), + (uint) (N_words+BlockOffsetArray::N_powers-1))); } #endif } diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp index 655ab698d2b..ba664ee5275 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp @@ -146,8 +146,8 @@ private: void check_offset(size_t offset, const char* msg) const { assert(offset <= N_words, err_msg("%s - " - "offset: " UINT32_FORMAT", N_words: " UINT32_FORMAT, - msg, offset, N_words)); + "offset: " SIZE_FORMAT", N_words: %u", + msg, offset, (uint)N_words)); } // Bounds checking accessors: diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp index e9ef8ff5d6c..c501cbc987b 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @@ -102,7 +102,7 @@ public: ConcurrentG1Refine* cg1r) : _sts(sts), _g1rs(g1rs), _cg1r(cg1r), _concurrent(true) {} - bool do_card_ptr(jbyte* card_ptr, int worker_i) { + bool do_card_ptr(jbyte* card_ptr, uint worker_i) { bool oops_into_cset = _g1rs->refine_card(card_ptr, worker_i, false); // This path is executed by the concurrent refine or mutator threads, // concurrently, and so we do not care if card_ptr contains references @@ -131,7 +131,7 @@ public: { for (int i = 0; i < 256; i++) _histo[i] = 0; } - bool do_card_ptr(jbyte* card_ptr, int worker_i) { + bool do_card_ptr(jbyte* card_ptr, uint worker_i) { if (_g1h->is_in_reserved(_ctbs->addr_for(card_ptr))) { _calls++; unsigned char* ujb = (unsigned char*)card_ptr; @@ -160,7 +160,7 @@ public: RedirtyLoggedCardTableEntryClosure() : _calls(0), _g1h(G1CollectedHeap::heap()), _ctbs(_g1h->g1_barrier_set()) {} - bool do_card_ptr(jbyte* card_ptr, int worker_i) { + bool do_card_ptr(jbyte* card_ptr, uint worker_i) { if (_g1h->is_in_reserved(_ctbs->addr_for(card_ptr))) { _calls++; *card_ptr = 0; @@ -1288,7 +1288,7 @@ bool G1CollectedHeap::do_collection(bool explicit_gc, print_heap_before_gc(); trace_heap_before_gc(gc_tracer); - size_t metadata_prev_used = MetaspaceAux::allocated_used_bytes(); + size_t metadata_prev_used = MetaspaceAux::used_bytes(); verify_region_sets_optional(); @@ -2314,7 +2314,7 @@ void G1CollectedHeap::check_gc_time_stamps() { void G1CollectedHeap::iterate_dirty_card_closure(CardTableEntryClosure* cl, DirtyCardQueue* into_cset_dcq, bool concurrent, - int worker_i) { + uint worker_i) { // Clean cards in the hot card cache G1HotCardCache* hot_card_cache = _cg1r->hot_card_cache(); hot_card_cache->drain(worker_i, g1_rem_set(), into_cset_dcq); @@ -2843,7 +2843,7 @@ void G1CollectedHeap::clear_cset_start_regions() { // Given the id of a worker, obtain or calculate a suitable // starting region for iterating over the current collection set. -HeapRegion* G1CollectedHeap::start_cset_region_for_worker(int worker_i) { +HeapRegion* G1CollectedHeap::start_cset_region_for_worker(uint worker_i) { assert(get_gc_time_stamp() > 0, "should have been updated by now"); HeapRegion* result = NULL; @@ -5103,7 +5103,7 @@ g1_process_strong_roots(bool is_scavenging, OopClosure* scan_non_heap_roots, OopsInHeapRegionClosure* scan_rs, G1KlassScanClosure* scan_klasses, - int worker_i) { + uint worker_i) { // First scan the strong roots double ext_roots_start = os::elapsedTime(); @@ -5207,10 +5207,10 @@ public: ~G1StringSymbolTableUnlinkTask() { guarantee(!_process_strings || !_do_in_parallel || StringTable::parallel_claimed_index() >= _initial_string_table_size, - err_msg("claim value "INT32_FORMAT" after unlink less than initial string table size "INT32_FORMAT, + err_msg("claim value %d after unlink less than initial string table size %d", StringTable::parallel_claimed_index(), _initial_string_table_size)); guarantee(!_process_symbols || !_do_in_parallel || SymbolTable::parallel_claimed_index() >= _initial_symbol_table_size, - err_msg("claim value "INT32_FORMAT" after unlink less than initial symbol table size "INT32_FORMAT, + err_msg("claim value %d after unlink less than initial symbol table size %d", SymbolTable::parallel_claimed_index(), _initial_symbol_table_size)); } @@ -5275,7 +5275,7 @@ void G1CollectedHeap::unlink_string_and_symbol_table(BoolObjectClosure* is_alive class RedirtyLoggedCardTableEntryFastClosure : public CardTableEntryClosure { public: - bool do_card_ptr(jbyte* card_ptr, int worker_i) { + bool do_card_ptr(jbyte* card_ptr, uint worker_i) { *card_ptr = CardTableModRefBS::dirty_card_val(); return true; } diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp index 8716c60c592..4e8e30f4f2c 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @@ -845,7 +845,7 @@ protected: OopClosure* scan_non_heap_roots, OopsInHeapRegionClosure* scan_rs, G1KlassScanClosure* scan_klasses, - int worker_i); + uint worker_i); // Notifies all the necessary spaces that the committed space has // been updated (either expanded or shrunk). It should be called @@ -1139,7 +1139,7 @@ public: void iterate_dirty_card_closure(CardTableEntryClosure* cl, DirtyCardQueue* into_cset_dcq, - bool concurrent, int worker_i); + bool concurrent, uint worker_i); // The shared block offset table array. G1BlockOffsetSharedArray* bot_shared() const { return _bot_shared; } @@ -1370,7 +1370,7 @@ public: // Given the id of a worker, obtain or calculate a suitable // starting region for iterating over the current collection set. - HeapRegion* start_cset_region_for_worker(int worker_i); + HeapRegion* start_cset_region_for_worker(uint worker_i); // This is a convenience method that is used by the // HeapRegionIterator classes to calculate the starting region for diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp index 109b40debed..a0b40d4dbf1 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp @@ -1204,7 +1204,7 @@ void G1CollectorPolicy::record_heap_size_info_at_start(bool full) { (_young_list_target_length * HeapRegion::GrainBytes) - _survivor_used_bytes_before_gc; if (full) { - _metaspace_used_bytes_before_gc = MetaspaceAux::allocated_used_bytes(); + _metaspace_used_bytes_before_gc = MetaspaceAux::used_bytes(); } } diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp index 0f1a5e345ad..5fbf7101209 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp @@ -147,7 +147,7 @@ template void WorkerDataArray::verify() { for (uint i = 0; i < _length; i++) { assert(_data[i] != _uninitialized, - err_msg("Invalid data for worker " UINT32_FORMAT ", data: %lf, uninitialized: %lf", + err_msg("Invalid data for worker %u, data: %lf, uninitialized: %lf", i, (double)_data[i], (double)_uninitialized)); } } @@ -246,8 +246,8 @@ void G1GCPhaseTimes::print_stats(int level, const char* str, double value) { LineBuffer(level).append_and_print_cr("[%s: %.1lf ms]", str, value); } -void G1GCPhaseTimes::print_stats(int level, const char* str, double value, int workers) { - LineBuffer(level).append_and_print_cr("[%s: %.1lf ms, GC Workers: %d]", str, value, workers); +void G1GCPhaseTimes::print_stats(int level, const char* str, double value, uint workers) { + LineBuffer(level).append_and_print_cr("[%s: %.1lf ms, GC Workers: %u]", str, value, workers); } double G1GCPhaseTimes::accounted_time_ms() { diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp index d8517b9b46c..e47c389f97d 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp @@ -161,7 +161,7 @@ class G1GCPhaseTimes : public CHeapObj { // Helper methods for detailed logging void print_stats(int level, const char* str, double value); - void print_stats(int level, const char* str, double value, int workers); + void print_stats(int level, const char* str, double value, uint workers); public: G1GCPhaseTimes(uint max_gc_threads); diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.cpp index 5d224ce8fab..9020961df88 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.cpp @@ -44,9 +44,9 @@ void G1HotCardCache::initialize() { _hot_cache_idx = 0; // For refining the cards in the hot cache in parallel - int n_workers = (ParallelGCThreads > 0 ? + uint n_workers = (ParallelGCThreads > 0 ? _g1h->workers()->total_workers() : 1); - _hot_cache_par_chunk_size = MAX2(1, _hot_cache_size / n_workers); + _hot_cache_par_chunk_size = MAX2(1, _hot_cache_size / (int)n_workers); _hot_cache_par_claimed_idx = 0; _card_counts.initialize(); @@ -89,7 +89,7 @@ jbyte* G1HotCardCache::insert(jbyte* card_ptr) { return res; } -void G1HotCardCache::drain(int worker_i, +void G1HotCardCache::drain(uint worker_i, G1RemSet* g1rs, DirtyCardQueue* into_cset_dcq) { if (!default_use_cache()) { @@ -122,8 +122,8 @@ void G1HotCardCache::drain(int worker_i, // RSet updating while within an evacuation pause. // In this case worker_i should be the id of a GC worker thread assert(SafepointSynchronize::is_at_safepoint(), "Should be at a safepoint"); - assert(worker_i < (int) (ParallelGCThreads == 0 ? 1 : ParallelGCThreads), - err_msg("incorrect worker id: "INT32_FORMAT, worker_i)); + assert(worker_i < (ParallelGCThreads == 0 ? 1 : ParallelGCThreads), + err_msg("incorrect worker id: %u", worker_i)); into_cset_dcq->enqueue(card_ptr); } diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.hpp index 99d700d63a9..5dc929c25e2 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.hpp @@ -99,7 +99,7 @@ class G1HotCardCache: public CHeapObj { // Refine the cards that have delayed as a result of // being in the cache. - void drain(int worker_i, G1RemSet* g1rs, DirtyCardQueue* into_cset_dcq); + void drain(uint worker_i, G1RemSet* g1rs, DirtyCardQueue* into_cset_dcq); // Set up for parallel processing of the cards in the hot cache void reset_hot_cache_claimed_index() { diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp index fbcbd9b533e..fd22e81bdca 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp @@ -234,14 +234,14 @@ class G1UpdateRSOrPushRefOopClosure: public ExtendedOopClosure { HeapRegion* _from; OopsInHeapRegionClosure* _push_ref_cl; bool _record_refs_into_cset; - int _worker_i; + uint _worker_i; public: G1UpdateRSOrPushRefOopClosure(G1CollectedHeap* g1h, G1RemSet* rs, OopsInHeapRegionClosure* push_ref_cl, bool record_refs_into_cset, - int worker_i = 0); + uint worker_i = 0); void set_from(HeapRegion* from) { assert(from != NULL, "from region must be non-NULL"); diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp index 0267e4ea61f..15d4ab689a7 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp @@ -113,14 +113,14 @@ class ScanRSClosure : public HeapRegionClosure { G1SATBCardTableModRefBS *_ct_bs; double _strong_code_root_scan_time_sec; - int _worker_i; + uint _worker_i; int _block_size; bool _try_claimed; public: ScanRSClosure(OopsInHeapRegionClosure* oc, CodeBlobToOopClosure* code_root_cl, - int worker_i) : + uint worker_i) : _oc(oc), _code_root_cl(code_root_cl), _strong_code_root_scan_time_sec(0.0), @@ -162,7 +162,7 @@ public: void printCard(HeapRegion* card_region, size_t card_index, HeapWord* card_start) { - gclog_or_tty->print_cr("T %d Region [" PTR_FORMAT ", " PTR_FORMAT ") " + gclog_or_tty->print_cr("T %u Region [" PTR_FORMAT ", " PTR_FORMAT ") " "RS names card %p: " "[" PTR_FORMAT ", " PTR_FORMAT ")", _worker_i, @@ -241,7 +241,7 @@ public: void G1RemSet::scanRS(OopsInHeapRegionClosure* oc, CodeBlobToOopClosure* code_root_cl, - int worker_i) { + uint worker_i) { double rs_time_start = os::elapsedTime(); HeapRegion *startRegion = _g1->start_cset_region_for_worker(worker_i); @@ -274,13 +274,13 @@ public: DirtyCardQueue* into_cset_dcq) : _g1rs(g1h->g1_rem_set()), _into_cset_dcq(into_cset_dcq) {} - bool do_card_ptr(jbyte* card_ptr, int worker_i) { + bool do_card_ptr(jbyte* card_ptr, uint worker_i) { // The only time we care about recording cards that // contain references that point into the collection set // is during RSet updating within an evacuation pause. // In this case worker_i should be the id of a GC worker thread. assert(SafepointSynchronize::is_at_safepoint(), "not during an evacuation pause"); - assert(worker_i < (int) (ParallelGCThreads == 0 ? 1 : ParallelGCThreads), "should be a GC worker"); + assert(worker_i < (ParallelGCThreads == 0 ? 1 : ParallelGCThreads), "should be a GC worker"); if (_g1rs->refine_card(card_ptr, worker_i, true)) { // 'card_ptr' contains references that point into the collection @@ -295,7 +295,7 @@ public: } }; -void G1RemSet::updateRS(DirtyCardQueue* into_cset_dcq, int worker_i) { +void G1RemSet::updateRS(DirtyCardQueue* into_cset_dcq, uint worker_i) { double start = os::elapsedTime(); // Apply the given closure to all remaining log entries. RefineRecordRefsIntoCSCardTableEntryClosure into_cset_update_rs_cl(_g1, into_cset_dcq); @@ -320,14 +320,14 @@ void G1RemSet::cleanupHRRS() { void G1RemSet::oops_into_collection_set_do(OopsInHeapRegionClosure* oc, CodeBlobToOopClosure* code_root_cl, - int worker_i) { + uint worker_i) { #if CARD_REPEAT_HISTO ct_freq_update_histo_and_reset(); #endif // We cache the value of 'oc' closure into the appropriate slot in the // _cset_rs_update_cl for this worker - assert(worker_i < (int)n_workers(), "sanity"); + assert(worker_i < n_workers(), "sanity"); _cset_rs_update_cl[worker_i] = oc; // A DirtyCardQueue that is used to hold cards containing references @@ -399,7 +399,7 @@ public: _g1(g1), _ct_bs(bs) { } - bool do_card_ptr(jbyte* card_ptr, int worker_i) { + bool do_card_ptr(jbyte* card_ptr, uint worker_i) { // Construct the region representing the card. HeapWord* start = _ct_bs->addr_for(card_ptr); // And find the region containing it. @@ -543,7 +543,7 @@ G1UpdateRSOrPushRefOopClosure(G1CollectedHeap* g1h, G1RemSet* rs, OopsInHeapRegionClosure* push_ref_cl, bool record_refs_into_cset, - int worker_i) : + uint worker_i) : _g1(g1h), _g1_rem_set(rs), _from(NULL), _record_refs_into_cset(record_refs_into_cset), _push_ref_cl(push_ref_cl), _worker_i(worker_i) { } @@ -552,7 +552,7 @@ G1UpdateRSOrPushRefOopClosure(G1CollectedHeap* g1h, // into the collection set, if we're checking for such references; // false otherwise. -bool G1RemSet::refine_card(jbyte* card_ptr, int worker_i, +bool G1RemSet::refine_card(jbyte* card_ptr, uint worker_i, bool check_for_refs_into_cset) { // If the card is no longer dirty, nothing to do. diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp index edaeff6e229..81e85593509 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp @@ -97,7 +97,7 @@ public: // In the sequential case this param will be ignored. void oops_into_collection_set_do(OopsInHeapRegionClosure* blk, CodeBlobToOopClosure* code_root_cl, - int worker_i); + uint worker_i); // Prepare for and cleanup after an oops_into_collection_set_do // call. Must call each of these once before and after (in sequential @@ -109,9 +109,9 @@ public: void scanRS(OopsInHeapRegionClosure* oc, CodeBlobToOopClosure* code_root_cl, - int worker_i); + uint worker_i); - void updateRS(DirtyCardQueue* into_cset_dcq, int worker_i); + void updateRS(DirtyCardQueue* into_cset_dcq, uint worker_i); CardTableModRefBS* ct_bs() { return _ct_bs; } size_t cardsScanned() { return _total_cards_scanned; } @@ -138,7 +138,7 @@ public: // if the given card contains oops that have references into the // current collection set. virtual bool refine_card(jbyte* card_ptr, - int worker_i, + uint worker_i, bool check_for_refs_into_cset); // Print accumulated summary info from the start of the VM. @@ -171,12 +171,12 @@ public: class UpdateRSOopClosure: public ExtendedOopClosure { HeapRegion* _from; G1RemSet* _rs; - int _worker_i; + uint _worker_i; template void do_oop_work(T* p); public: - UpdateRSOopClosure(G1RemSet* rs, int worker_i = 0) : + UpdateRSOopClosure(G1RemSet* rs, uint worker_i = 0) : _from(NULL), _rs(rs), _worker_i(worker_i) {} diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp index 56d151d0eff..b810312ec9d 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp @@ -390,7 +390,7 @@ void FromCardCache::shrink(uint new_num_regions) { void FromCardCache::print(outputStream* out) { for (uint i = 0; i < HeapRegionRemSet::num_par_rem_sets(); i++) { for (uint j = 0; j < _max_regions; j++) { - out->print_cr("_from_card_cache["UINT32_FORMAT"]["UINT32_FORMAT"] = "INT32_FORMAT".", + out->print_cr("_from_card_cache[%u][%u] = %d.", i, j, at(i, j)); } } @@ -430,7 +430,7 @@ void OtherRegionsTable::add_reference(OopOrNarrowOopStar from, int tid) { int from_card = (int)(uintptr_t(from) >> CardTableModRefBS::card_shift); if (G1TraceHeapRegionRememberedSet) { - gclog_or_tty->print_cr("Table for [" PTR_FORMAT "...): card %d (cache = "INT32_FORMAT")", + gclog_or_tty->print_cr("Table for [" PTR_FORMAT "...): card %d (cache = %d)", hr()->bottom(), from_card, FromCardCache::at((uint)tid, cur_hrs_ind)); } @@ -853,13 +853,13 @@ OtherRegionsTable::do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task) { // This can be done by either mutator threads together with the // concurrent refinement threads or GC threads. uint HeapRegionRemSet::num_par_rem_sets() { - return (uint)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads); + return MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), (uint)ParallelGCThreads); } HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa, HeapRegion* hr) : _bosa(bosa), - _m(Mutex::leaf, FormatBuffer<128>("HeapRegionRemSet lock #"UINT32_FORMAT, hr->hrs_index()), true), + _m(Mutex::leaf, FormatBuffer<128>("HeapRegionRemSet lock #%u", hr->hrs_index()), true), _code_roots(), _other_regions(hr, &_m) { reset_for_par_iteration(); } diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp index 287f1bd96a7..08f74a776ac 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp @@ -30,7 +30,7 @@ inline void HeapRegionSetBase::add(HeapRegion* hr) { check_mt_safety(); assert(hr->containing_set() == NULL, hrs_ext_msg(this, "should not already have a containing set %u")); - assert(hr->next() == NULL, hrs_ext_msg(this, "should not already be linked")); + assert(hr->next() == NULL && hr->prev() == NULL, hrs_ext_msg(this, "should not already be linked")); _count.increment(1u, hr->capacity()); hr->set_containing_set(this); @@ -40,7 +40,7 @@ inline void HeapRegionSetBase::add(HeapRegion* hr) { inline void HeapRegionSetBase::remove(HeapRegion* hr) { check_mt_safety(); verify_region(hr); - assert(hr->next() == NULL, hrs_ext_msg(this, "should already be unlinked")); + assert(hr->next() == NULL && hr->prev() == NULL, hrs_ext_msg(this, "should already be unlinked")); hr->set_containing_set(NULL); assert(_count.length() > 0, hrs_ext_msg(this, "pre-condition")); diff --git a/hotspot/src/share/vm/gc_implementation/g1/satbQueue.cpp b/hotspot/src/share/vm/gc_implementation/g1/satbQueue.cpp index 3c34883a808..7930e581b98 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/satbQueue.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/satbQueue.cpp @@ -290,7 +290,7 @@ void SATBMarkQueueSet::iterate_closure_all_threads() { shared_satb_queue()->apply_closure_and_empty(_closure); } -void SATBMarkQueueSet::par_iterate_closure_all_threads(int worker) { +void SATBMarkQueueSet::par_iterate_closure_all_threads(uint worker) { SharedHeap* sh = SharedHeap::heap(); int parity = sh->strong_roots_parity(); @@ -315,7 +315,7 @@ void SATBMarkQueueSet::par_iterate_closure_all_threads(int worker) { } bool SATBMarkQueueSet::apply_closure_to_completed_buffer_work(bool par, - int worker) { + uint worker) { BufferNode* nd = NULL; { MutexLockerEx x(_cbl_mon, Mutex::_no_safepoint_check_flag); diff --git a/hotspot/src/share/vm/gc_implementation/g1/satbQueue.hpp b/hotspot/src/share/vm/gc_implementation/g1/satbQueue.hpp index 8cad181c804..dca73d0dbd4 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/satbQueue.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/satbQueue.hpp @@ -84,7 +84,7 @@ class SATBMarkQueueSet: public PtrQueueSet { // Utility function to support sequential and parallel versions. If // "par" is true, then "worker" is the par thread id; if "false", worker // is ignored. - bool apply_closure_to_completed_buffer_work(bool par, int worker); + bool apply_closure_to_completed_buffer_work(bool par, uint worker); #ifdef ASSERT void dump_active_states(bool expected_active); @@ -124,7 +124,7 @@ public: // be called serially and at a safepoint. void iterate_closure_all_threads(); // Parallel version of the above. - void par_iterate_closure_all_threads(int worker); + void par_iterate_closure_all_threads(uint worker); // If there exists some completed buffer, pop it, then apply the // registered closure to all its elements, and return true. If no @@ -133,7 +133,7 @@ public: return apply_closure_to_completed_buffer_work(false, 0); } // Parallel version of the above. - bool par_apply_closure_to_completed_buffer(int worker) { + bool par_apply_closure_to_completed_buffer(uint worker) { return apply_closure_to_completed_buffer_work(true, worker); } diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp index ca2037cb6f9..8bdea558dbf 100644 --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp @@ -184,7 +184,7 @@ bool PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) { size_t prev_used = heap->used(); // Capture metadata size before collection for sizing. - size_t metadata_prev_used = MetaspaceAux::allocated_used_bytes(); + size_t metadata_prev_used = MetaspaceAux::used_bytes(); // For PrintGCDetails size_t old_gen_prev_used = old_gen->used_in_bytes(); diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp index 31ee8bc5938..5acc96d61be 100644 --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp @@ -928,7 +928,7 @@ public: _heap_used = heap->used(); _young_gen_used = heap->young_gen()->used_in_bytes(); _old_gen_used = heap->old_gen()->used_in_bytes(); - _metadata_used = MetaspaceAux::allocated_used_bytes(); + _metadata_used = MetaspaceAux::used_bytes(); }; size_t heap_used() const { return _heap_used; } diff --git a/hotspot/src/share/vm/gc_implementation/shared/gcHeapSummary.hpp b/hotspot/src/share/vm/gc_implementation/shared/gcHeapSummary.hpp index 7f6dca0fb1f..23cb113c11b 100644 --- a/hotspot/src/share/vm/gc_implementation/shared/gcHeapSummary.hpp +++ b/hotspot/src/share/vm/gc_implementation/shared/gcHeapSummary.hpp @@ -62,16 +62,16 @@ public: }; class MetaspaceSizes : public StackObj { - size_t _capacity; + size_t _committed; size_t _used; size_t _reserved; public: - MetaspaceSizes() : _capacity(0), _used(0), _reserved(0) {} - MetaspaceSizes(size_t capacity, size_t used, size_t reserved) : - _capacity(capacity), _used(used), _reserved(reserved) {} + MetaspaceSizes() : _committed(0), _used(0), _reserved(0) {} + MetaspaceSizes(size_t committed, size_t used, size_t reserved) : + _committed(committed), _used(used), _reserved(reserved) {} - size_t capacity() const { return _capacity; } + size_t committed() const { return _committed; } size_t used() const { return _used; } size_t reserved() const { return _reserved; } }; diff --git a/hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp b/hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp index b7d6e8e6b59..95ca83a4a1d 100644 --- a/hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp +++ b/hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp @@ -258,7 +258,7 @@ void GCTracer::send_gc_heap_summary_event(GCWhen::Type when, const GCHeapSummary static TraceStructMetaspaceSizes to_trace_struct(const MetaspaceSizes& sizes) { TraceStructMetaspaceSizes meta_sizes; - meta_sizes.set_capacity(sizes.capacity()); + meta_sizes.set_committed(sizes.committed()); meta_sizes.set_used(sizes.used()); meta_sizes.set_reserved(sizes.reserved()); diff --git a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp index 599ac8b90ce..4b33afd66b7 100644 --- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp +++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp @@ -85,16 +85,16 @@ GCHeapSummary CollectedHeap::create_heap_summary() { MetaspaceSummary CollectedHeap::create_metaspace_summary() { const MetaspaceSizes meta_space( - MetaspaceAux::allocated_capacity_bytes(), - MetaspaceAux::allocated_used_bytes(), + MetaspaceAux::committed_bytes(), + MetaspaceAux::used_bytes(), MetaspaceAux::reserved_bytes()); const MetaspaceSizes data_space( - MetaspaceAux::allocated_capacity_bytes(Metaspace::NonClassType), - MetaspaceAux::allocated_used_bytes(Metaspace::NonClassType), + MetaspaceAux::committed_bytes(Metaspace::NonClassType), + MetaspaceAux::used_bytes(Metaspace::NonClassType), MetaspaceAux::reserved_bytes(Metaspace::NonClassType)); const MetaspaceSizes class_space( - MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType), - MetaspaceAux::allocated_used_bytes(Metaspace::ClassType), + MetaspaceAux::committed_bytes(Metaspace::ClassType), + MetaspaceAux::used_bytes(Metaspace::ClassType), MetaspaceAux::reserved_bytes(Metaspace::ClassType)); const MetaspaceChunkFreeListSummary& ms_chunk_free_list_summary = diff --git a/hotspot/src/share/vm/memory/collectorPolicy.cpp b/hotspot/src/share/vm/memory/collectorPolicy.cpp index 83ec563f153..772a6df4aff 100644 --- a/hotspot/src/share/vm/memory/collectorPolicy.cpp +++ b/hotspot/src/share/vm/memory/collectorPolicy.cpp @@ -257,6 +257,12 @@ void GenCollectorPolicy::assert_size_info() { assert(_min_gen0_size % _gen_alignment == 0, "_min_gen0_size alignment"); assert(_initial_gen0_size % _gen_alignment == 0, "_initial_gen0_size alignment"); assert(_max_gen0_size % _gen_alignment == 0, "_max_gen0_size alignment"); + assert(_min_gen0_size <= bound_minus_alignment(_min_gen0_size, _min_heap_byte_size), + "Ergonomics made minimum young generation larger than minimum heap"); + assert(_initial_gen0_size <= bound_minus_alignment(_initial_gen0_size, _initial_heap_byte_size), + "Ergonomics made initial young generation larger than initial heap"); + assert(_max_gen0_size <= bound_minus_alignment(_max_gen0_size, _max_heap_byte_size), + "Ergonomics made maximum young generation lager than maximum heap"); } void TwoGenerationCollectorPolicy::assert_size_info() { @@ -267,6 +273,9 @@ void TwoGenerationCollectorPolicy::assert_size_info() { assert(_max_gen1_size % _gen_alignment == 0, "_max_gen1_size alignment"); assert(_initial_gen1_size % _gen_alignment == 0, "_initial_gen1_size alignment"); assert(_max_heap_byte_size <= (_max_gen0_size + _max_gen1_size), "Total maximum heap sizes must be sum of generation maximum sizes"); + assert(_min_gen0_size + _min_gen1_size <= _min_heap_byte_size, "Minimum generation sizes exceed minimum heap size"); + assert(_initial_gen0_size + _initial_gen1_size == _initial_heap_byte_size, "Initial generation sizes should match initial heap size"); + assert(_max_gen0_size + _max_gen1_size == _max_heap_byte_size, "Maximum generation sizes should match maximum heap size"); } #endif // ASSERT @@ -303,20 +312,26 @@ void GenCollectorPolicy::initialize_flags() { } } + // Make sure NewSize allows an old generation to fit even if set on the command line + if (FLAG_IS_CMDLINE(NewSize) && NewSize >= _initial_heap_byte_size) { + warning("NewSize was set larger than initial heap size, will use initial heap size."); + NewSize = bound_minus_alignment(NewSize, _initial_heap_byte_size); + } + // Now take the actual NewSize into account. We will silently increase NewSize // 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) { + uintx bounded_new_size = bound_minus_alignment(NewSize, MaxHeapSize); + bounded_new_size = MAX2(smallest_new_size, (uintx)align_size_down(bounded_new_size, _gen_alignment)); + if (bounded_new_size != NewSize) { // 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; + NewSize = bounded_new_size; } + _min_gen0_size = smallest_new_size; _initial_gen0_size = NewSize; if (!FLAG_IS_DEFAULT(MaxNewSize)) { - uintx min_new_size = MAX2(_gen_alignment, _min_gen0_size); - if (MaxNewSize >= MaxHeapSize) { // Make sure there is room for an old generation uintx smaller_max_new_size = MaxHeapSize - _gen_alignment; @@ -330,8 +345,8 @@ void GenCollectorPolicy::initialize_flags() { FLAG_SET_ERGO(uintx, NewSize, MaxNewSize); _initial_gen0_size = NewSize; } - } else if (MaxNewSize < min_new_size) { - FLAG_SET_ERGO(uintx, MaxNewSize, min_new_size); + } else if (MaxNewSize < _initial_gen0_size) { + FLAG_SET_ERGO(uintx, MaxNewSize, _initial_gen0_size); } else if (!is_size_aligned(MaxNewSize, _gen_alignment)) { FLAG_SET_ERGO(uintx, MaxNewSize, align_size_down(MaxNewSize, _gen_alignment)); } @@ -361,7 +376,9 @@ void TwoGenerationCollectorPolicy::initialize_flags() { GenCollectorPolicy::initialize_flags(); if (!is_size_aligned(OldSize, _gen_alignment)) { - FLAG_SET_ERGO(uintx, OldSize, align_size_down(OldSize, _gen_alignment)); + // Setting OldSize directly to preserve information about the possible + // setting of OldSize on the command line. + OldSize = align_size_down(OldSize, _gen_alignment); } if (FLAG_IS_CMDLINE(OldSize) && FLAG_IS_DEFAULT(MaxHeapSize)) { @@ -400,6 +417,20 @@ void TwoGenerationCollectorPolicy::initialize_flags() { } } + // Update NewSize, if possible, to avoid sizing gen0 to small when only + // OldSize is set on the command line. + if (FLAG_IS_CMDLINE(OldSize) && !FLAG_IS_CMDLINE(NewSize)) { + if (OldSize < _initial_heap_byte_size) { + size_t new_size = _initial_heap_byte_size - OldSize; + // Need to compare against the flag value for max since _max_gen0_size + // might not have been set yet. + if (new_size >= _min_gen0_size && new_size <= MaxNewSize) { + FLAG_SET_ERGO(uintx, NewSize, new_size); + _initial_gen0_size = NewSize; + } + } + } + always_do_update_barrier = UseConcMarkSweepGC; DEBUG_ONLY(TwoGenerationCollectorPolicy::assert_flags();) @@ -441,57 +472,37 @@ void GenCollectorPolicy::initialize_size_info() { // Given the maximum gen0 size, determine the initial and // minimum gen0 sizes. - if (_max_heap_byte_size == _min_heap_byte_size) { - // The maximum and minimum heap sizes are the same so the generations - // minimum and initial must be the same as its maximum. - _min_gen0_size = max_new_size; - _initial_gen0_size = max_new_size; - _max_gen0_size = max_new_size; + if (_max_heap_byte_size == _initial_heap_byte_size) { + // The maxium and initial heap sizes are the same so the generation's + // initial size must be the same as it maximum size. Use NewSize as the + // size if set on command line. + size_t fixed_young_size = FLAG_IS_CMDLINE(NewSize) ? NewSize : max_new_size; + + _initial_gen0_size = fixed_young_size; + _max_gen0_size = fixed_young_size; + + // Also update the minimum size if min == initial == max. + if (_max_heap_byte_size == _min_heap_byte_size) { + _min_gen0_size = fixed_young_size; + } } else { size_t desired_new_size = 0; if (FLAG_IS_CMDLINE(NewSize)) { - // If NewSize is set on the command line, we must use it as - // the initial size and it also makes sense to use it as the - // lower limit. - _min_gen0_size = NewSize; - desired_new_size = NewSize; - max_new_size = MAX2(max_new_size, NewSize); - } else if (FLAG_IS_ERGO(NewSize)) { - // If NewSize is set ergonomically, we should use it as a lower - // limit, but use NewRatio to calculate the initial size. - _min_gen0_size = NewSize; + // If NewSize is set on the command line, we should use it as + // the initial size, but make sure it is within the heap bounds. desired_new_size = - MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize); - max_new_size = MAX2(max_new_size, NewSize); + MIN2(max_new_size, bound_minus_alignment(NewSize, _initial_heap_byte_size)); + _min_gen0_size = bound_minus_alignment(desired_new_size, _min_heap_byte_size); } else { - // For the case where NewSize is the default, use NewRatio - // to size the minimum and initial generation sizes. - // Use the default NewSize as the floor for these values. If - // NewRatio is overly large, the resulting sizes can be too small. - _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), NewSize); + // For the case where NewSize is not set on the command line, use + // NewRatio to size the initial generation size. Use the current + // NewSize as the floor, because if NewRatio is overly large, the resulting + // size can be too small. desired_new_size = - MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize); + MIN2(max_new_size, MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize)); } - - assert(_min_gen0_size > 0, "Sanity check"); _initial_gen0_size = desired_new_size; _max_gen0_size = max_new_size; - - // At this point the desirable initial and minimum sizes have been - // determined without regard to the maximum sizes. - - // Bound the sizes by the corresponding overall heap sizes. - _min_gen0_size = bound_minus_alignment(_min_gen0_size, _min_heap_byte_size); - _initial_gen0_size = bound_minus_alignment(_initial_gen0_size, _initial_heap_byte_size); - _max_gen0_size = bound_minus_alignment(_max_gen0_size, _max_heap_byte_size); - - // At this point all three sizes have been checked against the - // maximum sizes but have not been checked for consistency among the three. - - // Final check min <= initial <= max - _min_gen0_size = MIN2(_min_gen0_size, _max_gen0_size); - _initial_gen0_size = MAX2(MIN2(_initial_gen0_size, _max_gen0_size), _min_gen0_size); - _min_gen0_size = MIN2(_min_gen0_size, _initial_gen0_size); } // Write back to flags if necessary. @@ -512,33 +523,6 @@ void GenCollectorPolicy::initialize_size_info() { DEBUG_ONLY(GenCollectorPolicy::assert_size_info();) } -// Call this method during the sizing of the gen1 to make -// adjustments to gen0 because of gen1 sizing policy. gen0 initially has -// the most freedom in sizing because it is done before the -// policy for gen1 is applied. Once gen1 policies have been applied, -// there may be conflicts in the shape of the heap and this method -// is used to make the needed adjustments. The application of the -// policies could be more sophisticated (iterative for example) but -// keeping it simple also seems a worthwhile goal. -bool TwoGenerationCollectorPolicy::adjust_gen0_sizes(size_t* gen0_size_ptr, - size_t* gen1_size_ptr, - const size_t heap_size) { - bool result = false; - - if ((*gen0_size_ptr + *gen1_size_ptr) > heap_size) { - uintx smallest_new_size = young_gen_size_lower_bound(); - if ((heap_size < (*gen0_size_ptr + _min_gen1_size)) && - (heap_size >= _min_gen1_size + smallest_new_size)) { - // Adjust gen0 down to accommodate _min_gen1_size - *gen0_size_ptr = align_size_down_bounded(heap_size - _min_gen1_size, _gen_alignment); - result = true; - } else { - *gen1_size_ptr = align_size_down_bounded(heap_size - *gen0_size_ptr, _gen_alignment); - } - } - return result; -} - // Minimum sizes of the generations may be different than // the initial sizes. An inconsistency is permitted here // in the total size that can be specified explicitly by @@ -564,56 +548,63 @@ void TwoGenerationCollectorPolicy::initialize_size_info() { // with the overall heap size). In either case make // the minimum, maximum and initial sizes consistent // with the gen0 sizes and the overall heap sizes. - _min_gen1_size = MAX2(_min_heap_byte_size - _min_gen0_size, _gen_alignment); - _initial_gen1_size = MAX2(_initial_heap_byte_size - _initial_gen0_size, _gen_alignment); + _min_gen1_size = _gen_alignment; + _initial_gen1_size = MIN2(_max_gen1_size, MAX2(_initial_heap_byte_size - _initial_gen0_size, _min_gen1_size)); // _max_gen1_size has already been made consistent above FLAG_SET_ERGO(uintx, OldSize, _initial_gen1_size); } else { - // OldSize has been explicitly set on the command line. Use the - // OldSize and then determine the consequences. - _min_gen1_size = MIN2(OldSize, _min_heap_byte_size - _min_gen0_size); - _initial_gen1_size = OldSize; - + // OldSize has been explicitly set on the command line. Use it + // for the initial size but make sure the minimum allow a young + // generation to fit as well. // If the user has explicitly set an OldSize that is inconsistent // with other command line flags, issue a warning. // The generation minimums and the overall heap minimum should // be within one generation alignment. - if ((_min_gen1_size + _min_gen0_size + _gen_alignment) < _min_heap_byte_size) { - warning("Inconsistency between minimum heap size and minimum " - "generation sizes: using minimum heap = " SIZE_FORMAT, - _min_heap_byte_size); - } if (OldSize > _max_gen1_size) { warning("Inconsistency between maximum heap size and maximum " - "generation sizes: using maximum heap = " SIZE_FORMAT - " -XX:OldSize flag is being ignored", - _max_heap_byte_size); - } - // If there is an inconsistency between the OldSize and the minimum and/or - // initial size of gen0, since OldSize was explicitly set, OldSize wins. - if (adjust_gen0_sizes(&_min_gen0_size, &_min_gen1_size, _min_heap_byte_size)) { - if (PrintGCDetails && Verbose) { - gclog_or_tty->print_cr("2: Minimum gen0 " SIZE_FORMAT " Initial gen0 " - SIZE_FORMAT " Maximum gen0 " SIZE_FORMAT, - _min_gen0_size, _initial_gen0_size, _max_gen0_size); - } - } - // The same as above for the old gen initial size. - if (adjust_gen0_sizes(&_initial_gen0_size, &_initial_gen1_size, - _initial_heap_byte_size)) { - if (PrintGCDetails && Verbose) { - gclog_or_tty->print_cr("3: Minimum gen0 " SIZE_FORMAT " Initial gen0 " - SIZE_FORMAT " Maximum gen0 " SIZE_FORMAT, - _min_gen0_size, _initial_gen0_size, _max_gen0_size); - } + "generation sizes: using maximum heap = " SIZE_FORMAT + " -XX:OldSize flag is being ignored", + _max_heap_byte_size); + FLAG_SET_ERGO(uintx, OldSize, _max_gen1_size); } + + _min_gen1_size = MIN2(OldSize, _min_heap_byte_size - _min_gen0_size); + _initial_gen1_size = OldSize; } - _min_gen1_size = MIN2(_min_gen1_size, _max_gen1_size); + // The initial generation sizes should match the initial heap size, + // if not issue a warning and resize the generations. This behavior + // differs from JDK8 where the generation sizes have higher priority + // than the initial heap size. + if ((_initial_gen1_size + _initial_gen0_size) != _initial_heap_byte_size) { + warning("Inconsistency between generation sizes and heap size, resizing " + "the generations to fit the heap."); - // Make sure that min gen1 <= initial gen1 <= max gen1. - _initial_gen1_size = MAX2(_initial_gen1_size, _min_gen1_size); - _initial_gen1_size = MIN2(_initial_gen1_size, _max_gen1_size); + size_t desired_gen0_size = _initial_heap_byte_size - _initial_gen1_size; + if (_initial_heap_byte_size < _initial_gen1_size) { + // Old want all memory, use minimum for young and rest for old + _initial_gen0_size = _min_gen0_size; + _initial_gen1_size = _initial_heap_byte_size - _min_gen0_size; + } else if (desired_gen0_size > _max_gen0_size) { + // Need to increase both young and old generation + _initial_gen0_size = _max_gen0_size; + _initial_gen1_size = _initial_heap_byte_size - _max_gen0_size; + } else if (desired_gen0_size < _min_gen0_size) { + // Need to decrease both young and old generation + _initial_gen0_size = _min_gen0_size; + _initial_gen1_size = _initial_heap_byte_size - _min_gen0_size; + } else { + // The young generation boundaries allow us to only update the + // young generation. + _initial_gen0_size = desired_gen0_size; + } + + if (PrintGCDetails && Verbose) { + gclog_or_tty->print_cr("2: Minimum gen0 " SIZE_FORMAT " Initial gen0 " + SIZE_FORMAT " Maximum gen0 " SIZE_FORMAT, + _min_gen0_size, _initial_gen0_size, _max_gen0_size); + } + } // Write back to flags if necessary if (NewSize != _initial_gen0_size) { @@ -994,56 +985,88 @@ void MarkSweepPolicy::initialize_gc_policy_counters() { // verify that there are some basic rules for NewSize honored by the policies. class TestGenCollectorPolicy { public: - static void test() { + static void test_new_size() { size_t flag_value; save_flags(); - // Set some limits that makes the math simple. - FLAG_SET_ERGO(uintx, MaxHeapSize, 180 * M); - FLAG_SET_ERGO(uintx, InitialHeapSize, 120 * M); - Arguments::set_min_heap_size(40 * M); - // If NewSize is set on the command line, it should be used // for both min and initial young size if less than min heap. flag_value = 20 * M; + set_basic_flag_values(); FLAG_SET_CMDLINE(uintx, NewSize, flag_value); - verify_min(flag_value); - verify_initial(flag_value); + verify_gen0_min(flag_value); + + set_basic_flag_values(); + FLAG_SET_CMDLINE(uintx, NewSize, flag_value); + verify_gen0_initial(flag_value); // If NewSize is set on command line, but is larger than the min // heap size, it should only be used for initial young size. flag_value = 80 * M; + set_basic_flag_values(); FLAG_SET_CMDLINE(uintx, NewSize, flag_value); - verify_initial(flag_value); + verify_gen0_initial(flag_value); // If NewSize has been ergonomically set, the collector policy // should use it for min but calculate the initial young size // using NewRatio. flag_value = 20 * M; + set_basic_flag_values(); FLAG_SET_ERGO(uintx, NewSize, flag_value); - verify_min(flag_value); - verify_scaled_initial(InitialHeapSize); + verify_gen0_min(flag_value); + + set_basic_flag_values(); + FLAG_SET_ERGO(uintx, NewSize, flag_value); + verify_scaled_gen0_initial(InitialHeapSize); restore_flags(); + } + + static void test_old_size() { + size_t flag_value; + + save_flags(); + + // If OldSize is set on the command line, it should be used + // for both min and initial old size if less than min heap. + flag_value = 20 * M; + set_basic_flag_values(); + FLAG_SET_CMDLINE(uintx, OldSize, flag_value); + verify_gen1_min(flag_value); + + set_basic_flag_values(); + FLAG_SET_CMDLINE(uintx, OldSize, flag_value); + verify_gen1_initial(flag_value); + + // If MaxNewSize is large, the maximum OldSize will be less than + // what's requested on the command line and it should be reset + // ergonomically. + flag_value = 30 * M; + set_basic_flag_values(); + FLAG_SET_CMDLINE(uintx, OldSize, flag_value); + FLAG_SET_CMDLINE(uintx, MaxNewSize, 170*M); + // Calculate what we expect the flag to be. + flag_value = MaxHeapSize - MaxNewSize; + verify_gen1_initial(flag_value); } - static void verify_min(size_t expected) { + static void verify_gen0_min(size_t expected) { MarkSweepPolicy msp; msp.initialize_all(); assert(msp.min_gen0_size() <= expected, err_msg("%zu > %zu", msp.min_gen0_size(), expected)); } - static void verify_initial(size_t expected) { + static void verify_gen0_initial(size_t expected) { MarkSweepPolicy msp; msp.initialize_all(); assert(msp.initial_gen0_size() == expected, err_msg("%zu != %zu", msp.initial_gen0_size(), expected)); } - static void verify_scaled_initial(size_t initial_heap_size) { + static void verify_scaled_gen0_initial(size_t initial_heap_size) { MarkSweepPolicy msp; msp.initialize_all(); @@ -1053,6 +1076,21 @@ public: err_msg("NewSize should have been set ergonomically to %zu, but was %zu", expected, NewSize)); } + static void verify_gen1_min(size_t expected) { + MarkSweepPolicy msp; + msp.initialize_all(); + + assert(msp.min_gen1_size() <= expected, err_msg("%zu > %zu", msp.min_gen1_size(), expected)); + } + + static void verify_gen1_initial(size_t expected) { + MarkSweepPolicy msp; + msp.initialize_all(); + + assert(msp.initial_gen1_size() == expected, err_msg("%zu != %zu", msp.initial_gen1_size(), expected)); + } + + private: static size_t original_InitialHeapSize; static size_t original_MaxHeapSize; @@ -1061,6 +1099,15 @@ private: static size_t original_NewSize; static size_t original_OldSize; + static void set_basic_flag_values() { + FLAG_SET_ERGO(uintx, MaxHeapSize, 180 * M); + FLAG_SET_ERGO(uintx, InitialHeapSize, 100 * M); + FLAG_SET_ERGO(uintx, OldSize, 4 * M); + FLAG_SET_ERGO(uintx, NewSize, 1 * M); + FLAG_SET_ERGO(uintx, MaxNewSize, 80 * M); + Arguments::set_min_heap_size(40 * M); + } + static void save_flags() { original_InitialHeapSize = InitialHeapSize; original_MaxHeapSize = MaxHeapSize; @@ -1088,7 +1135,11 @@ size_t TestGenCollectorPolicy::original_NewSize = 0; size_t TestGenCollectorPolicy::original_OldSize = 0; void TestNewSize_test() { - TestGenCollectorPolicy::test(); + TestGenCollectorPolicy::test_new_size(); +} + +void TestOldSize_test() { + TestGenCollectorPolicy::test_old_size(); } #endif diff --git a/hotspot/src/share/vm/memory/collectorPolicy.hpp b/hotspot/src/share/vm/memory/collectorPolicy.hpp index 57869225d3d..36f74b5a016 100644 --- a/hotspot/src/share/vm/memory/collectorPolicy.hpp +++ b/hotspot/src/share/vm/memory/collectorPolicy.hpp @@ -248,13 +248,13 @@ friend class TestGenCollectorPolicy; // Compute max heap alignment. size_t compute_max_alignment(); - // Scale the base_size by NewRatio according to - // result = base_size / (NewRatio + 1) - // and align by min_alignment() - size_t scale_by_NewRatio_aligned(size_t base_size); + // Scale the base_size by NewRatio according to + // result = base_size / (NewRatio + 1) + // and align by min_alignment() + size_t scale_by_NewRatio_aligned(size_t base_size); - // Bound the value by the given maximum minus the min_alignment. - size_t bound_minus_alignment(size_t desired_size, size_t maximum_size); + // Bound the value by the given maximum minus the min_alignment. + size_t bound_minus_alignment(size_t desired_size, size_t maximum_size); public: GenCollectorPolicy(); @@ -335,10 +335,6 @@ class TwoGenerationCollectorPolicy : public GenCollectorPolicy { virtual CollectorPolicy::Name kind() { return CollectorPolicy::TwoGenerationCollectorPolicyKind; } - - // Returns true if gen0 sizes were adjusted - bool adjust_gen0_sizes(size_t* gen0_size_ptr, size_t* gen1_size_ptr, - const size_t heap_size); }; class MarkSweepPolicy : public TwoGenerationCollectorPolicy { diff --git a/hotspot/src/share/vm/memory/genCollectedHeap.cpp b/hotspot/src/share/vm/memory/genCollectedHeap.cpp index 75faabc648e..168ea371406 100644 --- a/hotspot/src/share/vm/memory/genCollectedHeap.cpp +++ b/hotspot/src/share/vm/memory/genCollectedHeap.cpp @@ -374,7 +374,7 @@ void GenCollectedHeap::do_collection(bool full, ClearedAllSoftRefs casr(do_clear_all_soft_refs, collector_policy()); - const size_t metadata_prev_used = MetaspaceAux::allocated_used_bytes(); + const size_t metadata_prev_used = MetaspaceAux::used_bytes(); print_heap_before_gc(); diff --git a/hotspot/src/share/vm/memory/metaspace.cpp b/hotspot/src/share/vm/memory/metaspace.cpp index 31318cb51d0..10b95973192 100644 --- a/hotspot/src/share/vm/memory/metaspace.cpp +++ b/hotspot/src/share/vm/memory/metaspace.cpp @@ -1447,7 +1447,7 @@ void MetaspaceGC::compute_new_size() { uint current_shrink_factor = _shrink_factor; _shrink_factor = 0; - const size_t used_after_gc = MetaspaceAux::allocated_capacity_bytes(); + const size_t used_after_gc = MetaspaceAux::capacity_bytes(); const size_t capacity_until_GC = MetaspaceGC::capacity_until_GC(); const double minimum_free_percentage = MinMetaspaceFreeRatio / 100.0; @@ -2538,8 +2538,8 @@ void SpaceManager::mangle_freed_chunks() { // MetaspaceAux -size_t MetaspaceAux::_allocated_capacity_words[] = {0, 0}; -size_t MetaspaceAux::_allocated_used_words[] = {0, 0}; +size_t MetaspaceAux::_capacity_words[] = {0, 0}; +size_t MetaspaceAux::_used_words[] = {0, 0}; size_t MetaspaceAux::free_bytes(Metaspace::MetadataType mdtype) { VirtualSpaceList* list = Metaspace::get_space_list(mdtype); @@ -2552,38 +2552,38 @@ size_t MetaspaceAux::free_bytes() { void MetaspaceAux::dec_capacity(Metaspace::MetadataType mdtype, size_t words) { assert_lock_strong(SpaceManager::expand_lock()); - assert(words <= allocated_capacity_words(mdtype), + assert(words <= capacity_words(mdtype), err_msg("About to decrement below 0: words " SIZE_FORMAT - " is greater than _allocated_capacity_words[%u] " SIZE_FORMAT, - words, mdtype, allocated_capacity_words(mdtype))); - _allocated_capacity_words[mdtype] -= words; + " is greater than _capacity_words[%u] " SIZE_FORMAT, + words, mdtype, capacity_words(mdtype))); + _capacity_words[mdtype] -= words; } void MetaspaceAux::inc_capacity(Metaspace::MetadataType mdtype, size_t words) { assert_lock_strong(SpaceManager::expand_lock()); // Needs to be atomic - _allocated_capacity_words[mdtype] += words; + _capacity_words[mdtype] += words; } void MetaspaceAux::dec_used(Metaspace::MetadataType mdtype, size_t words) { - assert(words <= allocated_used_words(mdtype), + assert(words <= used_words(mdtype), err_msg("About to decrement below 0: words " SIZE_FORMAT - " is greater than _allocated_used_words[%u] " SIZE_FORMAT, - words, mdtype, allocated_used_words(mdtype))); + " is greater than _used_words[%u] " SIZE_FORMAT, + words, mdtype, used_words(mdtype))); // For CMS deallocation of the Metaspaces occurs during the // sweep which is a concurrent phase. Protection by the expand_lock() // is not enough since allocation is on a per Metaspace basis // and protected by the Metaspace lock. jlong minus_words = (jlong) - (jlong) words; - Atomic::add_ptr(minus_words, &_allocated_used_words[mdtype]); + Atomic::add_ptr(minus_words, &_used_words[mdtype]); } void MetaspaceAux::inc_used(Metaspace::MetadataType mdtype, size_t words) { - // _allocated_used_words tracks allocations for + // _used_words tracks allocations for // each piece of metadata. Those allocations are // generally done concurrently by different application // threads so must be done atomically. - Atomic::add_ptr(words, &_allocated_used_words[mdtype]); + Atomic::add_ptr(words, &_used_words[mdtype]); } size_t MetaspaceAux::used_bytes_slow(Metaspace::MetadataType mdtype) { @@ -2630,16 +2630,16 @@ size_t MetaspaceAux::capacity_bytes_slow(Metaspace::MetadataType mdtype) { size_t MetaspaceAux::capacity_bytes_slow() { #ifdef PRODUCT - // Use allocated_capacity_bytes() in PRODUCT instead of this function. + // Use capacity_bytes() in PRODUCT instead of this function. guarantee(false, "Should not call capacity_bytes_slow() in the PRODUCT"); #endif size_t class_capacity = capacity_bytes_slow(Metaspace::ClassType); size_t non_class_capacity = capacity_bytes_slow(Metaspace::NonClassType); - assert(allocated_capacity_bytes() == class_capacity + non_class_capacity, - err_msg("bad accounting: allocated_capacity_bytes() " SIZE_FORMAT + assert(capacity_bytes() == class_capacity + non_class_capacity, + err_msg("bad accounting: capacity_bytes() " SIZE_FORMAT " class_capacity + non_class_capacity " SIZE_FORMAT " class_capacity " SIZE_FORMAT " non_class_capacity " SIZE_FORMAT, - allocated_capacity_bytes(), class_capacity + non_class_capacity, + capacity_bytes(), class_capacity + non_class_capacity, class_capacity, non_class_capacity)); return class_capacity + non_class_capacity; @@ -2699,14 +2699,14 @@ void MetaspaceAux::print_metaspace_change(size_t prev_metadata_used) { "->" SIZE_FORMAT "(" SIZE_FORMAT ")", prev_metadata_used, - allocated_used_bytes(), + used_bytes(), reserved_bytes()); } else { gclog_or_tty->print(" " SIZE_FORMAT "K" "->" SIZE_FORMAT "K" "(" SIZE_FORMAT "K)", prev_metadata_used/K, - allocated_used_bytes()/K, + used_bytes()/K, reserved_bytes()/K); } @@ -2722,8 +2722,8 @@ void MetaspaceAux::print_on(outputStream* out) { "capacity " SIZE_FORMAT "K, " "committed " SIZE_FORMAT "K, " "reserved " SIZE_FORMAT "K", - allocated_used_bytes()/K, - allocated_capacity_bytes()/K, + used_bytes()/K, + capacity_bytes()/K, committed_bytes()/K, reserved_bytes()/K); @@ -2734,8 +2734,8 @@ void MetaspaceAux::print_on(outputStream* out) { "capacity " SIZE_FORMAT "K, " "committed " SIZE_FORMAT "K, " "reserved " SIZE_FORMAT "K", - allocated_used_bytes(ct)/K, - allocated_capacity_bytes(ct)/K, + used_bytes(ct)/K, + capacity_bytes(ct)/K, committed_bytes(ct)/K, reserved_bytes(ct)/K); } @@ -2837,42 +2837,42 @@ void MetaspaceAux::verify_free_chunks() { void MetaspaceAux::verify_capacity() { #ifdef ASSERT - size_t running_sum_capacity_bytes = allocated_capacity_bytes(); + size_t running_sum_capacity_bytes = capacity_bytes(); // For purposes of the running sum of capacity, verify against capacity size_t capacity_in_use_bytes = capacity_bytes_slow(); assert(running_sum_capacity_bytes == capacity_in_use_bytes, - err_msg("allocated_capacity_words() * BytesPerWord " SIZE_FORMAT + err_msg("capacity_words() * BytesPerWord " SIZE_FORMAT " capacity_bytes_slow()" SIZE_FORMAT, running_sum_capacity_bytes, capacity_in_use_bytes)); for (Metaspace::MetadataType i = Metaspace::ClassType; i < Metaspace:: MetadataTypeCount; i = (Metaspace::MetadataType)(i + 1)) { size_t capacity_in_use_bytes = capacity_bytes_slow(i); - assert(allocated_capacity_bytes(i) == capacity_in_use_bytes, - err_msg("allocated_capacity_bytes(%u) " SIZE_FORMAT + assert(capacity_bytes(i) == capacity_in_use_bytes, + err_msg("capacity_bytes(%u) " SIZE_FORMAT " capacity_bytes_slow(%u)" SIZE_FORMAT, - i, allocated_capacity_bytes(i), i, capacity_in_use_bytes)); + i, capacity_bytes(i), i, capacity_in_use_bytes)); } #endif } void MetaspaceAux::verify_used() { #ifdef ASSERT - size_t running_sum_used_bytes = allocated_used_bytes(); + size_t running_sum_used_bytes = used_bytes(); // For purposes of the running sum of used, verify against used size_t used_in_use_bytes = used_bytes_slow(); - assert(allocated_used_bytes() == used_in_use_bytes, - err_msg("allocated_used_bytes() " SIZE_FORMAT + assert(used_bytes() == used_in_use_bytes, + err_msg("used_bytes() " SIZE_FORMAT " used_bytes_slow()" SIZE_FORMAT, - allocated_used_bytes(), used_in_use_bytes)); + used_bytes(), used_in_use_bytes)); for (Metaspace::MetadataType i = Metaspace::ClassType; i < Metaspace:: MetadataTypeCount; i = (Metaspace::MetadataType)(i + 1)) { size_t used_in_use_bytes = used_bytes_slow(i); - assert(allocated_used_bytes(i) == used_in_use_bytes, - err_msg("allocated_used_bytes(%u) " SIZE_FORMAT + assert(used_bytes(i) == used_in_use_bytes, + err_msg("used_bytes(%u) " SIZE_FORMAT " used_bytes_slow(%u)" SIZE_FORMAT, - i, allocated_used_bytes(i), i, used_in_use_bytes)); + i, used_bytes(i), i, used_in_use_bytes)); } #endif } diff --git a/hotspot/src/share/vm/memory/metaspace.hpp b/hotspot/src/share/vm/memory/metaspace.hpp index cd02b4a153e..1beddef8e6b 100644 --- a/hotspot/src/share/vm/memory/metaspace.hpp +++ b/hotspot/src/share/vm/memory/metaspace.hpp @@ -280,11 +280,11 @@ class MetaspaceAux : AllStatic { // allocated to a Metaspace. This is used instead of // iterating over all the classloaders. One for each // type of Metadata - static size_t _allocated_capacity_words[Metaspace:: MetadataTypeCount]; - // Running sum of space in all Metachunks that have + static size_t _capacity_words[Metaspace:: MetadataTypeCount]; + // Running sum of space in all Metachunks that // are being used for metadata. One for each // type of Metadata. - static size_t _allocated_used_words[Metaspace:: MetadataTypeCount]; + static size_t _used_words[Metaspace:: MetadataTypeCount]; public: // Decrement and increment _allocated_capacity_words @@ -308,32 +308,32 @@ class MetaspaceAux : AllStatic { static size_t free_chunks_total_bytes(); static size_t free_chunks_total_bytes(Metaspace::MetadataType mdtype); - static size_t allocated_capacity_words(Metaspace::MetadataType mdtype) { - return _allocated_capacity_words[mdtype]; + static size_t capacity_words(Metaspace::MetadataType mdtype) { + return _capacity_words[mdtype]; } - static size_t allocated_capacity_words() { - return allocated_capacity_words(Metaspace::NonClassType) + - allocated_capacity_words(Metaspace::ClassType); + static size_t capacity_words() { + return capacity_words(Metaspace::NonClassType) + + capacity_words(Metaspace::ClassType); } - static size_t allocated_capacity_bytes(Metaspace::MetadataType mdtype) { - return allocated_capacity_words(mdtype) * BytesPerWord; + static size_t capacity_bytes(Metaspace::MetadataType mdtype) { + return capacity_words(mdtype) * BytesPerWord; } - static size_t allocated_capacity_bytes() { - return allocated_capacity_words() * BytesPerWord; + static size_t capacity_bytes() { + return capacity_words() * BytesPerWord; } - static size_t allocated_used_words(Metaspace::MetadataType mdtype) { - return _allocated_used_words[mdtype]; + static size_t used_words(Metaspace::MetadataType mdtype) { + return _used_words[mdtype]; } - static size_t allocated_used_words() { - return allocated_used_words(Metaspace::NonClassType) + - allocated_used_words(Metaspace::ClassType); + static size_t used_words() { + return used_words(Metaspace::NonClassType) + + used_words(Metaspace::ClassType); } - static size_t allocated_used_bytes(Metaspace::MetadataType mdtype) { - return allocated_used_words(mdtype) * BytesPerWord; + static size_t used_bytes(Metaspace::MetadataType mdtype) { + return used_words(mdtype) * BytesPerWord; } - static size_t allocated_used_bytes() { - return allocated_used_words() * BytesPerWord; + static size_t used_bytes() { + return used_words() * BytesPerWord; } static size_t free_bytes(); diff --git a/hotspot/src/share/vm/memory/metaspaceCounters.cpp b/hotspot/src/share/vm/memory/metaspaceCounters.cpp index 3ad462d081d..44da7dbe500 100644 --- a/hotspot/src/share/vm/memory/metaspaceCounters.cpp +++ b/hotspot/src/share/vm/memory/metaspaceCounters.cpp @@ -66,7 +66,7 @@ class MetaspacePerfCounters: public CHeapObj { MetaspacePerfCounters* MetaspaceCounters::_perf_counters = NULL; size_t MetaspaceCounters::used() { - return MetaspaceAux::allocated_used_bytes(); + return MetaspaceAux::used_bytes(); } size_t MetaspaceCounters::capacity() { @@ -98,7 +98,7 @@ void MetaspaceCounters::update_performance_counters() { MetaspacePerfCounters* CompressedClassSpaceCounters::_perf_counters = NULL; size_t CompressedClassSpaceCounters::used() { - return MetaspaceAux::allocated_used_bytes(Metaspace::ClassType); + return MetaspaceAux::used_bytes(Metaspace::ClassType); } size_t CompressedClassSpaceCounters::capacity() { diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp index 534fdbbd1e4..43c37a4f7e9 100644 --- a/hotspot/src/share/vm/oops/instanceKlass.cpp +++ b/hotspot/src/share/vm/oops/instanceKlass.cpp @@ -3408,6 +3408,10 @@ static void purge_previous_versions_internal(InstanceKlass* ik, int emcp_method_ ("purge: %s(%s): prev method @%d in version @%d is alive", method->name()->as_C_string(), method->signature()->as_C_string(), j, i)); + if (method->method_data() != NULL) { + // Clean out any weak method links + method->method_data()->clean_weak_method_links(); + } } } } @@ -3417,6 +3421,14 @@ static void purge_previous_versions_internal(InstanceKlass* ik, int emcp_method_ ("purge: previous version stats: live=%d, deleted=%d", live_count, deleted_count)); } + + Array* methods = ik->methods(); + int num_methods = methods->length(); + for (int index2 = 0; index2 < num_methods; ++index2) { + if (methods->at(index2)->method_data() != NULL) { + methods->at(index2)->method_data()->clean_weak_method_links(); + } + } } // External interface for use during class unloading. diff --git a/hotspot/src/share/vm/oops/methodData.cpp b/hotspot/src/share/vm/oops/methodData.cpp index 17d80ca5a9f..bbde4c8f6eb 100644 --- a/hotspot/src/share/vm/oops/methodData.cpp +++ b/hotspot/src/share/vm/oops/methodData.cpp @@ -1531,9 +1531,35 @@ void MethodData::clean_extra_data_helper(DataLayout* dp, int shift, bool reset) } } -// Remove SpeculativeTrapData entries that reference an unloaded -// method -void MethodData::clean_extra_data(BoolObjectClosure* is_alive) { +class CleanExtraDataClosure : public StackObj { +public: + virtual bool is_live(Method* m) = 0; +}; + +// Check for entries that reference an unloaded method +class CleanExtraDataKlassClosure : public CleanExtraDataClosure { +private: + BoolObjectClosure* _is_alive; +public: + CleanExtraDataKlassClosure(BoolObjectClosure* is_alive) : _is_alive(is_alive) {} + bool is_live(Method* m) { + return m->method_holder()->is_loader_alive(_is_alive); + } +}; + +// Check for entries that reference a redefined method +class CleanExtraDataMethodClosure : public CleanExtraDataClosure { +public: + CleanExtraDataMethodClosure() {} + bool is_live(Method* m) { + return m->on_stack(); + } +}; + + +// Remove SpeculativeTrapData entries that reference an unloaded or +// redefined method +void MethodData::clean_extra_data(CleanExtraDataClosure* cl) { DataLayout* dp = extra_data_base(); DataLayout* end = extra_data_limit(); @@ -1544,7 +1570,7 @@ void MethodData::clean_extra_data(BoolObjectClosure* is_alive) { SpeculativeTrapData* data = new SpeculativeTrapData(dp); Method* m = data->method(); assert(m != NULL, "should have a method"); - if (!m->method_holder()->is_loader_alive(is_alive)) { + if (!cl->is_live(m)) { // "shift" accumulates the number of cells for dead // SpeculativeTrapData entries that have been seen so // far. Following entries must be shifted left by that many @@ -1575,9 +1601,9 @@ void MethodData::clean_extra_data(BoolObjectClosure* is_alive) { } } -// Verify there's no unloaded method referenced by a +// Verify there's no unloaded or redefined method referenced by a // SpeculativeTrapData entry -void MethodData::verify_extra_data_clean(BoolObjectClosure* is_alive) { +void MethodData::verify_extra_data_clean(CleanExtraDataClosure* cl) { #ifdef ASSERT DataLayout* dp = extra_data_base(); DataLayout* end = extra_data_limit(); @@ -1587,7 +1613,7 @@ void MethodData::verify_extra_data_clean(BoolObjectClosure* is_alive) { case DataLayout::speculative_trap_data_tag: { SpeculativeTrapData* data = new SpeculativeTrapData(dp); Method* m = data->method(); - assert(m != NULL && m->method_holder()->is_loader_alive(is_alive), "Method should exist"); + assert(m != NULL && cl->is_live(m), "Method should exist"); break; } case DataLayout::bit_data_tag: @@ -1613,6 +1639,19 @@ void MethodData::clean_method_data(BoolObjectClosure* is_alive) { parameters->clean_weak_klass_links(is_alive); } - clean_extra_data(is_alive); - verify_extra_data_clean(is_alive); + CleanExtraDataKlassClosure cl(is_alive); + clean_extra_data(&cl); + verify_extra_data_clean(&cl); +} + +void MethodData::clean_weak_method_links() { + for (ProfileData* data = first_data(); + is_valid(data); + data = next_data(data)) { + data->clean_weak_method_links(); + } + + CleanExtraDataMethodClosure cl; + clean_extra_data(&cl); + verify_extra_data_clean(&cl); } diff --git a/hotspot/src/share/vm/oops/methodData.hpp b/hotspot/src/share/vm/oops/methodData.hpp index 66a1d1fa719..b10f0052580 100644 --- a/hotspot/src/share/vm/oops/methodData.hpp +++ b/hotspot/src/share/vm/oops/methodData.hpp @@ -251,6 +251,9 @@ public: // GC support void clean_weak_klass_links(BoolObjectClosure* cl); + + // Redefinition support + void clean_weak_method_links(); }; @@ -506,6 +509,9 @@ public: // GC support virtual void clean_weak_klass_links(BoolObjectClosure* is_alive_closure) {} + // Redefinition support + virtual void clean_weak_method_links() {} + // CI translation: ProfileData can represent both MethodDataOop data // as well as CIMethodData data. This function is provided for translating // an oop in a ProfileData to the ci equivalent. Generally speaking, @@ -1989,6 +1995,7 @@ public: // CC_INTERP_ONLY(class BytecodeInterpreter;) +class CleanExtraDataClosure; class MethodData : public Metadata { friend class VMStructs; @@ -2146,9 +2153,9 @@ private: static bool profile_parameters_jsr292_only(); static bool profile_all_parameters(); - void clean_extra_data(BoolObjectClosure* is_alive); + void clean_extra_data(CleanExtraDataClosure* cl); void clean_extra_data_helper(DataLayout* dp, int shift, bool reset = false); - void verify_extra_data_clean(BoolObjectClosure* is_alive); + void verify_extra_data_clean(CleanExtraDataClosure* cl); public: static int header_size() { @@ -2440,6 +2447,8 @@ public: static bool profile_return_jsr292_only(); void clean_method_data(BoolObjectClosure* is_alive); + + void clean_weak_method_links(); }; #endif // SHARE_VM_OOPS_METHODDATAOOP_HPP diff --git a/hotspot/src/share/vm/opto/callGenerator.cpp b/hotspot/src/share/vm/opto/callGenerator.cpp index 2a263639948..7ecc1f7deaf 100644 --- a/hotspot/src/share/vm/opto/callGenerator.cpp +++ b/hotspot/src/share/vm/opto/callGenerator.cpp @@ -70,6 +70,7 @@ public: JVMState* ParseGenerator::generate(JVMState* jvms, Parse* parent_parser) { Compile* C = Compile::current(); + C->print_inlining_update(this); if (is_osr()) { // The JVMS for a OSR has a single argument (see its TypeFunc). @@ -126,6 +127,7 @@ class DirectCallGenerator : public CallGenerator { JVMState* DirectCallGenerator::generate(JVMState* jvms, Parse* parent_parser) { GraphKit kit(jvms); + kit.C->print_inlining_update(this); bool is_static = method()->is_static(); address target = is_static ? SharedRuntime::get_resolve_static_call_stub() : SharedRuntime::get_resolve_opt_virtual_call_stub(); @@ -178,6 +180,8 @@ JVMState* VirtualCallGenerator::generate(JVMState* jvms, Parse* parent_parser) { GraphKit kit(jvms); Node* receiver = kit.argument(0); + kit.C->print_inlining_update(this); + if (kit.C->log() != NULL) { kit.C->log()->elem("virtual_call bci='%d'", jvms->bci()); } @@ -271,14 +275,13 @@ class LateInlineCallGenerator : public DirectCallGenerator { LateInlineCallGenerator(ciMethod* method, CallGenerator* inline_cg) : DirectCallGenerator(method, true), _inline_cg(inline_cg) {} - virtual bool is_late_inline() const { return true; } + virtual bool is_late_inline() const { return true; } // Convert the CallStaticJava into an inline virtual void do_late_inline(); virtual JVMState* generate(JVMState* jvms, Parse* parent_parser) { Compile *C = Compile::current(); - C->print_inlining_skip(this); // Record that this call site should be revisited once the main // parse is finished. @@ -296,10 +299,11 @@ class LateInlineCallGenerator : public DirectCallGenerator { virtual void print_inlining_late(const char* msg) { CallNode* call = call_node(); Compile* C = Compile::current(); - C->print_inlining_insert(this); + C->print_inlining_assert_ready(); C->print_inlining(method(), call->jvms()->depth()-1, call->jvms()->bci(), msg); + C->print_inlining_move_to(this); + C->print_inlining_update_delayed(this); } - }; void LateInlineCallGenerator::do_late_inline() { @@ -360,6 +364,10 @@ void LateInlineCallGenerator::do_late_inline() { map->set_argument(jvms, i1, call->in(TypeFunc::Parms + i1)); } + C->print_inlining_assert_ready(); + + C->print_inlining_move_to(this); + // This check is done here because for_method_handle_inline() method // needs jvms for inlined state. if (!do_late_inline_check(jvms)) { @@ -367,8 +375,6 @@ void LateInlineCallGenerator::do_late_inline() { return; } - C->print_inlining_insert(this); - CompileLog* log = C->log(); if (log != NULL) { log->head("late_inline method='%d'", log->identify(method())); @@ -388,7 +394,7 @@ void LateInlineCallGenerator::do_late_inline() { C->set_default_node_notes(entry_nn); } - // Now perform the inling using the synthesized JVMState + // Now perform the inlining using the synthesized JVMState JVMState* new_jvms = _inline_cg->generate(jvms, NULL); if (new_jvms == NULL) return; // no change if (C->failing()) return; @@ -431,6 +437,7 @@ class LateInlineMHCallGenerator : public LateInlineCallGenerator { virtual JVMState* generate(JVMState* jvms, Parse* parent_parser) { JVMState* new_jvms = LateInlineCallGenerator::generate(jvms, parent_parser); + if (_input_not_const) { // inlining won't be possible so no need to enqueue right now. call_node()->set_generator(this); @@ -439,17 +446,14 @@ class LateInlineMHCallGenerator : public LateInlineCallGenerator { } return new_jvms; } - - virtual void print_inlining_late(const char* msg) { - if (!_input_not_const) return; - LateInlineCallGenerator::print_inlining_late(msg); - } }; bool LateInlineMHCallGenerator::do_late_inline_check(JVMState* jvms) { CallGenerator* cg = for_method_handle_inline(jvms, _caller, method(), _input_not_const); + Compile::current()->print_inlining_update_delayed(this); + if (!_input_not_const) { _attempt++; } @@ -479,8 +483,6 @@ class LateInlineStringCallGenerator : public LateInlineCallGenerator { virtual JVMState* generate(JVMState* jvms, Parse* parent_parser) { Compile *C = Compile::current(); - C->print_inlining_skip(this); - C->add_string_late_inline(this); JVMState* new_jvms = DirectCallGenerator::generate(jvms, parent_parser); @@ -502,7 +504,6 @@ class LateInlineBoxingCallGenerator : public LateInlineCallGenerator { virtual JVMState* generate(JVMState* jvms, Parse* parent_parser) { Compile *C = Compile::current(); - C->print_inlining_skip(this); C->add_boxing_late_inline(this); @@ -554,6 +555,8 @@ CallGenerator* CallGenerator::for_warm_call(WarmCallInfo* ci, JVMState* WarmCallGenerator::generate(JVMState* jvms, Parse* parent_parser) { Compile* C = Compile::current(); + C->print_inlining_update(this); + if (C->log() != NULL) { C->log()->elem("warm_call bci='%d'", jvms->bci()); } @@ -632,6 +635,7 @@ CallGenerator* CallGenerator::for_predicted_call(ciKlass* predicted_receiver, JVMState* PredictedCallGenerator::generate(JVMState* jvms, Parse* parent_parser) { GraphKit kit(jvms); + kit.C->print_inlining_update(this); PhaseGVN& gvn = kit.gvn(); // We need an explicit receiver null_check before checking its type. // We share a map with the caller, so his JVMS gets adjusted. @@ -779,6 +783,9 @@ CallGenerator* CallGenerator::for_method_handle_inline(JVMState* jvms, ciMethod* assert(cg == NULL || !cg->is_late_inline() || cg->is_mh_late_inline(), "no late inline here"); if (cg != NULL && cg->is_inline()) return cg; + } else { + const char* msg = "receiver not constant"; + if (PrintInlining) C->print_inlining(callee, jvms->depth() - 1, jvms->bci(), msg); } } break; @@ -844,11 +851,13 @@ CallGenerator* CallGenerator::for_method_handle_inline(JVMState* jvms, ciMethod* // provide us with a type speculative_receiver_type = receiver_type->speculative_type(); } - CallGenerator* cg = C->call_generator(target, vtable_index, call_does_dispatch, jvms, true, PROB_ALWAYS, speculative_receiver_type, true, true); assert(cg == NULL || !cg->is_late_inline() || cg->is_mh_late_inline(), "no late inline here"); if (cg != NULL && cg->is_inline()) return cg; + } else { + const char* msg = "member_name not constant"; + if (PrintInlining) C->print_inlining(callee, jvms->depth() - 1, jvms->bci(), msg); } } break; @@ -904,6 +913,7 @@ JVMState* PredictedIntrinsicGenerator::generate(JVMState* jvms, Parse* parent_pa if (kit.failing()) return NULL; // might happen because of NodeCountInliningCutoff + kit.C->print_inlining_update(this); SafePointNode* slow_map = NULL; JVMState* slow_jvms; if (slow_ctl != NULL) { @@ -1017,6 +1027,7 @@ CallGenerator::for_uncommon_trap(ciMethod* m, JVMState* UncommonTrapCallGenerator::generate(JVMState* jvms, Parse* parent_parser) { GraphKit kit(jvms); + kit.C->print_inlining_update(this); // Take the trap with arguments pushed on the stack. (Cf. null_check_receiver). int nargs = method()->arg_size(); kit.inc_sp(nargs); diff --git a/hotspot/src/share/vm/opto/compile.cpp b/hotspot/src/share/vm/opto/compile.cpp index 07c20ac4570..4830367b262 100644 --- a/hotspot/src/share/vm/opto/compile.cpp +++ b/hotspot/src/share/vm/opto/compile.cpp @@ -662,6 +662,7 @@ Compile::Compile( ciEnv* ci_env, C2Compiler* compiler, ciMethod* target, int osr _inlining_progress(false), _inlining_incrementally(false), _print_inlining_list(NULL), + _print_inlining_stream(NULL), _print_inlining_idx(0), _preserve_jvm_state(0) { C = this; @@ -723,9 +724,7 @@ Compile::Compile( ciEnv* ci_env, C2Compiler* compiler, ciMethod* target, int osr PhaseGVN gvn(node_arena(), estimated_size); set_initial_gvn(&gvn); - if (print_inlining() || print_intrinsics()) { - _print_inlining_list = new (comp_arena())GrowableArray(comp_arena(), 1, 1, PrintInliningBuffer()); - } + print_inlining_init(); { // Scope for timing the parser TracePhase t3("parse", &_t_parser, true); @@ -967,6 +966,7 @@ Compile::Compile( ciEnv* ci_env, _inlining_progress(false), _inlining_incrementally(false), _print_inlining_list(NULL), + _print_inlining_stream(NULL), _print_inlining_idx(0), _preserve_jvm_state(0), _allowed_reasons(0) { @@ -2023,6 +2023,8 @@ void Compile::Optimize() { ResourceMark rm; int loop_opts_cnt; + print_inlining_reinit(); + NOT_PRODUCT( verify_graph_edges(); ) print_method(PHASE_AFTER_PARSING); @@ -3755,30 +3757,114 @@ void Compile::ConstantTable::fill_jump_table(CodeBuffer& cb, MachConstantNode* n } } -void Compile::dump_inlining() { +// The message about the current inlining is accumulated in +// _print_inlining_stream and transfered into the _print_inlining_list +// once we know whether inlining succeeds or not. For regular +// inlining, messages are appended to the buffer pointed by +// _print_inlining_idx in the _print_inlining_list. For late inlining, +// a new buffer is added after _print_inlining_idx in the list. This +// way we can update the inlining message for late inlining call site +// when the inlining is attempted again. +void Compile::print_inlining_init() { if (print_inlining() || print_intrinsics()) { + _print_inlining_stream = new stringStream(); + _print_inlining_list = new (comp_arena())GrowableArray(comp_arena(), 1, 1, PrintInliningBuffer()); + } +} + +void Compile::print_inlining_reinit() { + if (print_inlining() || print_intrinsics()) { + // Re allocate buffer when we change ResourceMark + _print_inlining_stream = new stringStream(); + } +} + +void Compile::print_inlining_reset() { + _print_inlining_stream->reset(); +} + +void Compile::print_inlining_commit() { + assert(print_inlining() || print_intrinsics(), "PrintInlining off?"); + // Transfer the message from _print_inlining_stream to the current + // _print_inlining_list buffer and clear _print_inlining_stream. + _print_inlining_list->at(_print_inlining_idx).ss()->write(_print_inlining_stream->as_string(), _print_inlining_stream->size()); + print_inlining_reset(); +} + +void Compile::print_inlining_push() { + // Add new buffer to the _print_inlining_list at current position + _print_inlining_idx++; + _print_inlining_list->insert_before(_print_inlining_idx, PrintInliningBuffer()); +} + +Compile::PrintInliningBuffer& Compile::print_inlining_current() { + return _print_inlining_list->at(_print_inlining_idx); +} + +void Compile::print_inlining_update(CallGenerator* cg) { + if (print_inlining() || print_intrinsics()) { + if (!cg->is_late_inline()) { + if (print_inlining_current().cg() != NULL) { + print_inlining_push(); + } + print_inlining_commit(); + } else { + if (print_inlining_current().cg() != cg && + (print_inlining_current().cg() != NULL || + print_inlining_current().ss()->size() != 0)) { + print_inlining_push(); + } + print_inlining_commit(); + print_inlining_current().set_cg(cg); + } + } +} + +void Compile::print_inlining_move_to(CallGenerator* cg) { + // We resume inlining at a late inlining call site. Locate the + // corresponding inlining buffer so that we can update it. + if (print_inlining()) { + for (int i = 0; i < _print_inlining_list->length(); i++) { + if (_print_inlining_list->adr_at(i)->cg() == cg) { + _print_inlining_idx = i; + return; + } + } + ShouldNotReachHere(); + } +} + +void Compile::print_inlining_update_delayed(CallGenerator* cg) { + if (print_inlining()) { + assert(_print_inlining_stream->size() > 0, "missing inlining msg"); + assert(print_inlining_current().cg() == cg, "wrong entry"); + // replace message with new message + _print_inlining_list->at_put(_print_inlining_idx, PrintInliningBuffer()); + print_inlining_commit(); + print_inlining_current().set_cg(cg); + } +} + +void Compile::print_inlining_assert_ready() { + assert(!_print_inlining || _print_inlining_stream->size() == 0, "loosing data"); +} + +void Compile::dump_inlining() { + bool do_print_inlining = print_inlining() || print_intrinsics(); + if (do_print_inlining) { // Print inlining message for candidates that we couldn't inline - // for lack of space or non constant receiver + // for lack of space for (int i = 0; i < _late_inlines.length(); i++) { CallGenerator* cg = _late_inlines.at(i); - cg->print_inlining_late("live nodes > LiveNodeCountInliningCutoff"); - } - Unique_Node_List useful; - useful.push(root()); - for (uint next = 0; next < useful.size(); ++next) { - Node* n = useful.at(next); - if (n->is_Call() && n->as_Call()->generator() != NULL && n->as_Call()->generator()->call_node() == n) { - CallNode* call = n->as_Call(); - CallGenerator* cg = call->generator(); - cg->print_inlining_late("receiver not constant"); - } - uint max = n->len(); - for ( uint i = 0; i < max; ++i ) { - Node *m = n->in(i); - if ( m == NULL ) continue; - useful.push(m); + if (!cg->is_mh_late_inline()) { + const char* msg = "live nodes > LiveNodeCountInliningCutoff"; + if (do_print_inlining) { + cg->print_inlining_late(msg); + } } } + } + if (do_print_inlining) { for (int i = 0; i < _print_inlining_list->length(); i++) { tty->print(_print_inlining_list->adr_at(i)->ss()->as_string()); } diff --git a/hotspot/src/share/vm/opto/compile.hpp b/hotspot/src/share/vm/opto/compile.hpp index b9f48c494b9..43e691eb2a1 100644 --- a/hotspot/src/share/vm/opto/compile.hpp +++ b/hotspot/src/share/vm/opto/compile.hpp @@ -416,6 +416,7 @@ class Compile : public Phase { void set_cg(CallGenerator* cg) { _cg = cg; } }; + stringStream* _print_inlining_stream; GrowableArray* _print_inlining_list; int _print_inlining_idx; @@ -433,33 +434,24 @@ class Compile : public Phase { void* _replay_inline_data; // Pointer to data loaded from file + void print_inlining_init(); + void print_inlining_reinit(); + void print_inlining_commit(); + void print_inlining_push(); + PrintInliningBuffer& print_inlining_current(); + public: outputStream* print_inlining_stream() const { - return _print_inlining_list->adr_at(_print_inlining_idx)->ss(); + assert(print_inlining() || print_intrinsics(), "PrintInlining off?"); + return _print_inlining_stream; } - void print_inlining_skip(CallGenerator* cg) { - if (_print_inlining) { - _print_inlining_list->adr_at(_print_inlining_idx)->set_cg(cg); - _print_inlining_idx++; - _print_inlining_list->insert_before(_print_inlining_idx, PrintInliningBuffer()); - } - } - - void print_inlining_insert(CallGenerator* cg) { - if (_print_inlining) { - for (int i = 0; i < _print_inlining_list->length(); i++) { - if (_print_inlining_list->adr_at(i)->cg() == cg) { - _print_inlining_list->insert_before(i+1, PrintInliningBuffer()); - _print_inlining_idx = i+1; - _print_inlining_list->adr_at(i)->set_cg(NULL); - return; - } - } - ShouldNotReachHere(); - } - } + void print_inlining_update(CallGenerator* cg); + void print_inlining_update_delayed(CallGenerator* cg); + void print_inlining_move_to(CallGenerator* cg); + void print_inlining_assert_ready(); + void print_inlining_reset(); void print_inlining(ciMethod* method, int inline_level, int bci, const char* msg = NULL) { stringStream ss; diff --git a/hotspot/src/share/vm/opto/doCall.cpp b/hotspot/src/share/vm/opto/doCall.cpp index 4eb462d9c5e..c2cfe8a3a42 100644 --- a/hotspot/src/share/vm/opto/doCall.cpp +++ b/hotspot/src/share/vm/opto/doCall.cpp @@ -294,6 +294,8 @@ CallGenerator* Compile::call_generator(ciMethod* callee, int vtable_index, bool // There was no special inlining tactic, or it bailed out. // Use a more generic tactic, like a simple call. if (call_does_dispatch) { + const char* msg = "virtual call"; + if (PrintInlining) print_inlining(callee, jvms->depth() - 1, jvms->bci(), msg); return CallGenerator::for_virtual_call(callee, vtable_index); } else { // Class Hierarchy Analysis or Type Profile reveals a unique target, @@ -396,6 +398,8 @@ void Parse::do_call() { // our contribution to it is cleaned up right here. kill_dead_locals(); + C->print_inlining_assert_ready(); + // Set frequently used booleans const bool is_virtual = bc() == Bytecodes::_invokevirtual; const bool is_virtual_or_interface = is_virtual || bc() == Bytecodes::_invokeinterface; @@ -531,7 +535,8 @@ void Parse::do_call() { // intrinsic was expecting to optimize. Should always be possible to // get a normal java call that may inline in that case cg = C->call_generator(cg->method(), vtable_index, call_does_dispatch, jvms, try_inline, prof_factor(), speculative_receiver_type, /* allow_intrinsics= */ false); - if ((new_jvms = cg->generate(jvms, this)) == NULL) { + new_jvms = cg->generate(jvms, this); + if (new_jvms == NULL) { guarantee(failing(), "call failed to generate: calls should work"); return; } diff --git a/hotspot/src/share/vm/opto/library_call.cpp b/hotspot/src/share/vm/opto/library_call.cpp index f2bbfa97caf..ddc5355cf37 100644 --- a/hotspot/src/share/vm/opto/library_call.cpp +++ b/hotspot/src/share/vm/opto/library_call.cpp @@ -620,6 +620,7 @@ JVMState* LibraryIntrinsic::generate(JVMState* jvms, Parse* parent_parser) { } // Push the result from the inlined method onto the stack. kit.push_result(); + C->print_inlining_update(this); return kit.transfer_exceptions_into_jvms(); } @@ -637,6 +638,7 @@ JVMState* LibraryIntrinsic::generate(JVMState* jvms, Parse* parent_parser) { } } C->gather_intrinsic_statistics(intrinsic_id(), is_virtual(), Compile::_intrinsic_failed); + C->print_inlining_update(this); return NULL; } diff --git a/hotspot/src/share/vm/prims/jni.cpp b/hotspot/src/share/vm/prims/jni.cpp index 675ac43ab0f..c73b677131f 100644 --- a/hotspot/src/share/vm/prims/jni.cpp +++ b/hotspot/src/share/vm/prims/jni.cpp @@ -3877,6 +3877,7 @@ void TestMetaspaceAux_test(); void TestMetachunk_test(); void TestVirtualSpaceNode_test(); void TestNewSize_test(); +void TestOldSize_test(); void TestKlass_test(); void TestBitMap_test(); #if INCLUDE_ALL_GCS @@ -3903,6 +3904,7 @@ void execute_internal_vm_tests() { run_unit_test(AltHashing::test_alt_hash()); run_unit_test(test_loggc_filename()); run_unit_test(TestNewSize_test()); + run_unit_test(TestOldSize_test()); run_unit_test(TestKlass_test()); run_unit_test(TestBitMap_test()); #if INCLUDE_VM_STRUCTS diff --git a/hotspot/src/share/vm/prims/whitebox.cpp b/hotspot/src/share/vm/prims/whitebox.cpp index df8a0d2dc2f..2289618ff6d 100644 --- a/hotspot/src/share/vm/prims/whitebox.cpp +++ b/hotspot/src/share/vm/prims/whitebox.cpp @@ -438,6 +438,30 @@ WB_ENTRY(jboolean, WB_EnqueueMethodForCompilation(JNIEnv* env, jobject o, jobjec return (mh->queued_for_compilation() || nm != NULL); WB_END +class VM_WhiteBoxOperation : public VM_Operation { + public: + VM_WhiteBoxOperation() { } + VMOp_Type type() const { return VMOp_WhiteBoxOperation; } + bool allow_nested_vm_operations() const { return true; } +}; + +class AlwaysFalseClosure : public BoolObjectClosure { + public: + bool do_object_b(oop p) { return false; } +}; + +static AlwaysFalseClosure always_false; + +class VM_WhiteBoxCleanMethodData : public VM_WhiteBoxOperation { + public: + VM_WhiteBoxCleanMethodData(MethodData* mdo) : _mdo(mdo) { } + void doit() { + _mdo->clean_method_data(&always_false); + } + private: + MethodData* _mdo; +}; + WB_ENTRY(void, WB_ClearMethodState(JNIEnv* env, jobject o, jobject method)) jmethodID jmid = reflected_method_to_jmid(thread, env, method); CHECK_JNI_EXCEPTION(env); @@ -453,6 +477,8 @@ WB_ENTRY(void, WB_ClearMethodState(JNIEnv* env, jobject o, jobject method)) for (int i = 0; i < arg_count; i++) { mdo->set_arg_modified(i, 0); } + VM_WhiteBoxCleanMethodData op(mdo); + VMThread::execute(&op); } mh->clear_not_c1_compilable(); diff --git a/hotspot/src/share/vm/runtime/sharedRuntime.cpp b/hotspot/src/share/vm/runtime/sharedRuntime.cpp index ab42ca96170..9e92f7a435b 100644 --- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp +++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp @@ -1261,8 +1261,6 @@ methodHandle SharedRuntime::resolve_sub_helper(JavaThread *thread, } #endif if (is_virtual) { - nmethod* nm = callee_nm; - if (nm == NULL) CodeCache::find_blob(caller_frame.pc()); CompiledIC* inline_cache = CompiledIC_before(caller_nm, caller_frame.pc()); if (inline_cache->is_clean()) { inline_cache->set_to_monomorphic(virtual_call_info); diff --git a/hotspot/src/share/vm/runtime/thread.cpp b/hotspot/src/share/vm/runtime/thread.cpp index 8a78ebd7acc..53a19218040 100644 --- a/hotspot/src/share/vm/runtime/thread.cpp +++ b/hotspot/src/share/vm/runtime/thread.cpp @@ -1394,8 +1394,8 @@ void WatcherThread::print_on(outputStream* st) const { void JavaThread::initialize() { // Initialize fields - // Set the claimed par_id to -1 (ie not claiming any par_ids) - set_claimed_par_id(-1); + // Set the claimed par_id to UINT_MAX (ie not claiming any par_ids) + set_claimed_par_id(UINT_MAX); set_saved_exception_pc(NULL); set_threadObj(NULL); diff --git a/hotspot/src/share/vm/runtime/thread.hpp b/hotspot/src/share/vm/runtime/thread.hpp index f97f7952e01..6837578f74f 100644 --- a/hotspot/src/share/vm/runtime/thread.hpp +++ b/hotspot/src/share/vm/runtime/thread.hpp @@ -1778,12 +1778,12 @@ public: void set_done_attaching_via_jni() { _jni_attach_state = _attached_via_jni; OrderAccess::fence(); } private: // This field is used to determine if a thread has claimed - // a par_id: it is -1 if the thread has not claimed a par_id; + // a par_id: it is UINT_MAX if the thread has not claimed a par_id; // otherwise its value is the par_id that has been claimed. - int _claimed_par_id; + uint _claimed_par_id; public: - int get_claimed_par_id() { return _claimed_par_id; } - void set_claimed_par_id(int id) { _claimed_par_id = id;} + uint get_claimed_par_id() { return _claimed_par_id; } + void set_claimed_par_id(uint id) { _claimed_par_id = id;} }; // Inline implementation of JavaThread::current diff --git a/hotspot/src/share/vm/runtime/vm_operations.hpp b/hotspot/src/share/vm/runtime/vm_operations.hpp index d0014ef97f5..8f2f0ba06f7 100644 --- a/hotspot/src/share/vm/runtime/vm_operations.hpp +++ b/hotspot/src/share/vm/runtime/vm_operations.hpp @@ -97,6 +97,7 @@ template(Exit) \ template(LinuxDllLoad) \ template(RotateGCLog) \ + template(WhiteBoxOperation) \ class VM_Operation: public CHeapObj { public: diff --git a/hotspot/src/share/vm/services/memoryPool.cpp b/hotspot/src/share/vm/services/memoryPool.cpp index 655ee68e9e3..5d9c2538b91 100644 --- a/hotspot/src/share/vm/services/memoryPool.cpp +++ b/hotspot/src/share/vm/services/memoryPool.cpp @@ -268,7 +268,7 @@ MemoryUsage MetaspacePool::get_memory_usage() { } size_t MetaspacePool::used_in_bytes() { - return MetaspaceAux::allocated_used_bytes(); + return MetaspaceAux::used_bytes(); } size_t MetaspacePool::calculate_max_size() const { @@ -280,7 +280,7 @@ CompressedKlassSpacePool::CompressedKlassSpacePool() : MemoryPool("Compressed Class Space", NonHeap, 0, CompressedClassSpaceSize, true, false) { } size_t CompressedKlassSpacePool::used_in_bytes() { - return MetaspaceAux::allocated_used_bytes(Metaspace::ClassType); + return MetaspaceAux::used_bytes(Metaspace::ClassType); } MemoryUsage CompressedKlassSpacePool::get_memory_usage() { diff --git a/hotspot/src/share/vm/trace/trace.xml b/hotspot/src/share/vm/trace/trace.xml index cd71b64a2d8..fc3419836e0 100644 --- a/hotspot/src/share/vm/trace/trace.xml +++ b/hotspot/src/share/vm/trace/trace.xml @@ -185,7 +185,7 @@ Declares a structure type that can be used in other events. - + diff --git a/hotspot/src/share/vm/utilities/taskqueue.cpp b/hotspot/src/share/vm/utilities/taskqueue.cpp index 862c9b304fb..2811c84d75d 100644 --- a/hotspot/src/share/vm/utilities/taskqueue.cpp +++ b/hotspot/src/share/vm/utilities/taskqueue.cpp @@ -239,8 +239,8 @@ ParallelTaskTerminator::offer_termination(TerminatorTerminator* terminator) { #ifdef TRACESPINNING void ParallelTaskTerminator::print_termination_counts() { - gclog_or_tty->print_cr("ParallelTaskTerminator Total yields: " UINT32_FORMAT - " Total spins: " UINT32_FORMAT " Total peeks: " UINT32_FORMAT, + gclog_or_tty->print_cr("ParallelTaskTerminator Total yields: %u" + " Total spins: %u Total peeks: %u", total_yields(), total_spins(), total_peeks()); diff --git a/hotspot/test/compiler/profiling/spectrapredefineclass/Agent.java b/hotspot/test/compiler/profiling/spectrapredefineclass/Agent.java new file mode 100644 index 00000000000..42270469512 --- /dev/null +++ b/hotspot/test/compiler/profiling/spectrapredefineclass/Agent.java @@ -0,0 +1,142 @@ +/* + * 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.security.*; +import java.lang.instrument.*; +import java.lang.reflect.*; +import java.lang.management.ManagementFactory; +import com.sun.tools.attach.VirtualMachine; + +class A { + void m() { + } +} + +class B extends A { + void m() { + } +} + +class C extends A { + void m() { + } +} + +class Test { + + static public void m() throws Exception { + for (int i = 0; i < 20000; i++) { + m1(a); + } + for (int i = 0; i < 4; i++) { + m1(b); + } + } + + static boolean m1(A a) { + boolean res = Agent.m2(a); + return res; + } + + static public A a = new A(); + static public B b = new B(); + static public C c = new C(); +} + +public class Agent implements ClassFileTransformer { + + + static class MemoryChunk { + MemoryChunk other; + long[] array; + MemoryChunk(MemoryChunk other) { + other = other; + array = new long[1024 * 1024 * 1024]; + } + } + + static public boolean m2(A a) { + boolean res = false; + if (a.getClass() == B.class) { + a.m(); + } else { + res = true; + } + return res; + } + + static public void main(String[] args) throws Exception { + // Create speculative trap entries + Test.m(); + + String nameOfRunningVM = ManagementFactory.getRuntimeMXBean().getName(); + int p = nameOfRunningVM.indexOf('@'); + String pid = nameOfRunningVM.substring(0, p); + + // Make the nmethod go away + for (int i = 0; i < 10; i++) { + System.gc(); + } + + // Redefine class + try { + VirtualMachine vm = VirtualMachine.attach(pid); + vm.loadAgent(System.getProperty("test.classes",".") + "/agent.jar", ""); + vm.detach(); + } catch (Exception e) { + throw new RuntimeException(e); + } + + Test.m(); + // GC will hit dead method pointer + for (int i = 0; i < 10; i++) { + System.gc(); + } + } + + public synchronized byte[] transform(final ClassLoader classLoader, + final String className, + Class classBeingRedefined, + ProtectionDomain protectionDomain, + byte[] classfileBuffer) { + System.out.println("Transforming class " + className); + return classfileBuffer; + } + + public static void redefine(String agentArgs, Instrumentation instrumentation, Class to_redefine) { + + try { + instrumentation.retransformClasses(to_redefine); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + public static void agentmain(String agentArgs, Instrumentation instrumentation) throws Exception { + Agent transformer = new Agent(); + instrumentation.addTransformer(transformer, true); + + redefine(agentArgs, instrumentation, Test.class); + } +} diff --git a/hotspot/test/compiler/profiling/spectrapredefineclass/Launcher.java b/hotspot/test/compiler/profiling/spectrapredefineclass/Launcher.java new file mode 100644 index 00000000000..9142738d962 --- /dev/null +++ b/hotspot/test/compiler/profiling/spectrapredefineclass/Launcher.java @@ -0,0 +1,47 @@ +/* + * 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.PrintWriter; +import com.oracle.java.testlibrary.*; + +/* + * @test + * @bug 8038636 + * @library /testlibrary + * @build Agent + * @run main ClassFileInstaller Agent + * @run main Launcher + * @run main/othervm -XX:-TieredCompilation -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:TypeProfileLevel=222 -Xmx1M -XX:ReservedCodeCacheSize=3M Agent + */ +public class Launcher { + public static void main(String[] args) throws Exception { + + PrintWriter pw = new PrintWriter("MANIFEST.MF"); + pw.println("Agent-Class: Agent"); + pw.println("Can-Retransform-Classes: true"); + pw.close(); + + ProcessBuilder pb = new ProcessBuilder(); + pb.command(new String[] { JDKToolFinder.getJDKTool("jar"), "cmf", "MANIFEST.MF", System.getProperty("test.classes",".") + "/agent.jar", "Agent.class"}); + pb.start().waitFor(); + } +} diff --git a/hotspot/test/gc/g1/TestStringDeduplicationTools.java b/hotspot/test/gc/g1/TestStringDeduplicationTools.java index 1c1f480189a..5b27aa68590 100644 --- a/hotspot/test/gc/g1/TestStringDeduplicationTools.java +++ b/hotspot/test/gc/g1/TestStringDeduplicationTools.java @@ -310,7 +310,9 @@ class TestStringDeduplicationTools { } System.gc(); + System.out.println("Heap Memory Usage: " + ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed()); + System.out.println("Array Header Size: " + unsafe.ARRAY_CHAR_BASE_OFFSET); System.out.println("End: MemoryUsageTest"); } @@ -482,31 +484,40 @@ class TestStringDeduplicationTools { public static void testMemoryUsage() throws Exception { // Test that memory usage is reduced after deduplication OutputAnalyzer output; - final String usagePattern = "Heap Memory Usage: (\\d+)"; + final String heapMemoryUsagePattern = "Heap Memory Usage: (\\d+)"; + final String arrayHeaderSizePattern = "Array Header Size: (\\d+)"; // Run without deduplication output = MemoryUsageTest.run(false); output.shouldHaveExitValue(0); - final long memoryUsageWithoutDedup = Long.parseLong(output.firstMatch(usagePattern, 1)); + final long heapMemoryUsageWithoutDedup = Long.parseLong(output.firstMatch(heapMemoryUsagePattern, 1)); + final long arrayHeaderSizeWithoutDedup = Long.parseLong(output.firstMatch(arrayHeaderSizePattern, 1)); // Run with deduplication output = MemoryUsageTest.run(true); output.shouldHaveExitValue(0); - final long memoryUsageWithDedup = Long.parseLong(output.firstMatch(usagePattern, 1)); + final long heapMemoryUsageWithDedup = Long.parseLong(output.firstMatch(heapMemoryUsagePattern, 1)); + final long arrayHeaderSizeWithDedup = Long.parseLong(output.firstMatch(arrayHeaderSizePattern, 1)); + + // Sanity check to make sure one instance isn't using compressed class pointers and the other not + if (arrayHeaderSizeWithoutDedup != arrayHeaderSizeWithDedup) { + throw new Exception("Unexpected difference between array header sizes"); + } // Calculate expected memory usage with deduplication enabled. This calculation does // not take alignment and padding into account, so it's a conservative estimate. - final long sizeOfChar = 2; // bytes - final long bytesSaved = (LargeNumberOfStrings - 1) * (StringLength * sizeOfChar + unsafe.ARRAY_CHAR_BASE_OFFSET); - final long memoryUsageWithDedupExpected = memoryUsageWithoutDedup - bytesSaved; + final long sizeOfChar = unsafe.ARRAY_CHAR_INDEX_SCALE; + final long sizeOfCharArray = StringLength * sizeOfChar + arrayHeaderSizeWithoutDedup; + final long bytesSaved = (LargeNumberOfStrings - 1) * sizeOfCharArray; + final long heapMemoryUsageWithDedupExpected = heapMemoryUsageWithoutDedup - bytesSaved; System.out.println("Memory usage summary:"); - System.out.println(" memoryUsageWithoutDedup: " + memoryUsageWithoutDedup); - System.out.println(" memoryUsageWithDedup: " + memoryUsageWithDedup); - System.out.println(" memoryUsageWithDedupExpected: " + memoryUsageWithDedupExpected); + System.out.println(" heapMemoryUsageWithoutDedup: " + heapMemoryUsageWithoutDedup); + System.out.println(" heapMemoryUsageWithDedup: " + heapMemoryUsageWithDedup); + System.out.println(" heapMemoryUsageWithDedupExpected: " + heapMemoryUsageWithDedupExpected); - if (memoryUsageWithDedup > memoryUsageWithDedupExpected) { - throw new Exception("Unexpected memory usage, memoryUsageWithDedup should less or equal to memoryUsageWithDedupExpected"); + if (heapMemoryUsageWithDedup > heapMemoryUsageWithDedupExpected) { + throw new Exception("Unexpected memory usage, heapMemoryUsageWithDedup should be less or equal to heapMemoryUsageWithDedupExpected"); } } } diff --git a/jaxp/.hgtags b/jaxp/.hgtags index ee71c38a814..e7dc2ecc96a 100644 --- a/jaxp/.hgtags +++ b/jaxp/.hgtags @@ -249,3 +249,4 @@ fb92ed0399424193f444489ad49a16748816dc12 jdk9-b03 2846d8fc31490897817a122a668af4f44fc913d0 jdk9-b04 b92a20e303d24c74078888cd7084b14d7626d48f jdk9-b05 46e4951b2a267e98341613a3b796f2c7554eb831 jdk9-b06 +389f4094fd603c17e215997b0b40171179629007 jdk9-b07 diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/dom/DOMStringListImpl.java b/jaxp/src/com/sun/org/apache/xerces/internal/dom/DOMStringListImpl.java index c5ce5ec2615..835a66fe1c4 100644 --- a/jaxp/src/com/sun/org/apache/xerces/internal/dom/DOMStringListImpl.java +++ b/jaxp/src/com/sun/org/apache/xerces/internal/dom/DOMStringListImpl.java @@ -3,11 +3,12 @@ * DO NOT REMOVE OR ALTER! */ /* - * Copyright 2001, 2002,2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * @@ -20,6 +21,7 @@ package com.sun.org.apache.xerces.internal.dom; +import java.util.ArrayList; import java.util.Vector; import org.w3c.dom.DOMStringList; @@ -35,47 +37,54 @@ import org.w3c.dom.DOMStringList; */ public class DOMStringListImpl implements DOMStringList { - //A collection of DOMString values - private Vector fStrings; + // A collection of DOMString values + private final ArrayList fStrings; /** * Construct an empty list of DOMStringListImpl */ public DOMStringListImpl() { - fStrings = new Vector(); + fStrings = new ArrayList(); } /** - * Construct an empty list of DOMStringListImpl + * Construct a DOMStringListImpl from an ArrayList */ - public DOMStringListImpl(Vector params) { + public DOMStringListImpl(ArrayList params) { fStrings = params; } - /** - * @see org.w3c.dom.DOMStringList#item(int) - */ - public String item(int index) { - try { - return (String) fStrings.elementAt(index); - } catch (ArrayIndexOutOfBoundsException e) { - return null; - } - } + /** + * Construct a DOMStringListImpl from a Vector + */ + public DOMStringListImpl(Vector params) { + fStrings = new ArrayList(params); + } - /** - * @see org.w3c.dom.DOMStringList#getLength() - */ - public int getLength() { - return fStrings.size(); + /** + * @see org.w3c.dom.DOMStringList#item(int) + */ + public String item(int index) { + final int length = getLength(); + if (index >= 0 && index < length) { + return (String) fStrings.get(index); } + return null; + } - /** - * @see org.w3c.dom.DOMStringList#contains(String) - */ - public boolean contains(String param) { - return fStrings.contains(param) ; - } + /** + * @see org.w3c.dom.DOMStringList#getLength() + */ + public int getLength() { + return fStrings.size(); + } + + /** + * @see org.w3c.dom.DOMStringList#contains(String) + */ + public boolean contains(String param) { + return fStrings.contains(param); + } /** * DOM Internal: diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java index 09a82608c14..988fd6f9c60 100644 --- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java +++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java @@ -1,13 +1,14 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * reserved comment block + * DO NOT REMOVE OR ALTER! */ - /* - * Copyright 2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * @@ -52,7 +53,7 @@ import java.util.Iterator; import java.util.Locale; import java.util.Map; import java.util.Stack; -import javax.xml.XMLConstants; +import java.util.StringTokenizer; /** @@ -1810,7 +1811,7 @@ public class XMLEntityManager implements XMLComponent, XMLEntityResolver { userDir = userDir.replace(separator, '/'); int len = userDir.length(), ch; - StringBuffer buffer = new StringBuffer(len*3); + StringBuilder buffer = new StringBuilder(len*3); // change C:/blah to /C:/blah if (len >= 2 && userDir.charAt(1) == ':') { ch = Character.toUpperCase(userDir.charAt(0)); @@ -1880,6 +1881,61 @@ public class XMLEntityManager implements XMLComponent, XMLEntityResolver { return gUserDirURI; } + public static OutputStream createOutputStream(String uri) throws IOException { + // URI was specified. Handle relative URIs. + final String expanded = XMLEntityManager.expandSystemId(uri, null, true); + final URL url = new URL(expanded != null ? expanded : uri); + OutputStream out = null; + String protocol = url.getProtocol(); + String host = url.getHost(); + // Use FileOutputStream if this URI is for a local file. + if (protocol.equals("file") + && (host == null || host.length() == 0 || host.equals("localhost"))) { + File file = new File(getPathWithoutEscapes(url.getPath())); + if (!file.exists()) { + File parent = file.getParentFile(); + if (parent != null && !parent.exists()) { + parent.mkdirs(); + } + } + out = new FileOutputStream(file); + } + // Try to write to some other kind of URI. Some protocols + // won't support this, though HTTP should work. + else { + URLConnection urlCon = url.openConnection(); + urlCon.setDoInput(false); + urlCon.setDoOutput(true); + urlCon.setUseCaches(false); // Enable tunneling. + if (urlCon instanceof HttpURLConnection) { + // The DOM L3 REC says if we are writing to an HTTP URI + // it is to be done with an HTTP PUT. + HttpURLConnection httpCon = (HttpURLConnection) urlCon; + httpCon.setRequestMethod("PUT"); + } + out = urlCon.getOutputStream(); + } + return out; + } + + private static String getPathWithoutEscapes(String origPath) { + if (origPath != null && origPath.length() != 0 && origPath.indexOf('%') != -1) { + // Locate the escape characters + StringTokenizer tokenizer = new StringTokenizer(origPath, "%"); + StringBuilder result = new StringBuilder(origPath.length()); + int size = tokenizer.countTokens(); + result.append(tokenizer.nextToken()); + for(int i = 1; i < size; ++i) { + String token = tokenizer.nextToken(); + // Decode the 2 digit hexadecimal number following % in '%nn' + result.append((char)Integer.valueOf(token.substring(0, 2), 16).intValue()); + result.append(token.substring(2)); + } + return result.toString(); + } + return origPath; + } + /** * Absolutizes a URI using the current value * of the "user.dir" property as the base URI. If diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/RangeToken.java b/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/RangeToken.java index 3a7ac70385b..192be06a35c 100644 --- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/RangeToken.java +++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/RangeToken.java @@ -3,11 +3,12 @@ * DO NOT REMOVE OR ALTER! */ /* - * Copyright 1999-2002,2004,2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * @@ -351,7 +352,7 @@ final class RangeToken extends Token implements java.io.Serializable { // src2: o----o // src2: o----o // src2: o------------o - if (src2begin <= src2begin && src1end <= src2end) { + if (src2begin <= src1begin && src1end <= src2end) { // src1: o--------o // src2: o------------o // res: o--------o @@ -384,6 +385,7 @@ final class RangeToken extends Token implements java.io.Serializable { result[wp++] = src2begin; result[wp++] = src2end; this.ranges[src1] = src2end+1; + src2 += 2; } } else if (src2end < src1begin) { // Not overlapped @@ -399,10 +401,6 @@ final class RangeToken extends Token implements java.io.Serializable { +"]"); } } - while (src1 < this.ranges.length) { - result[wp++] = this.ranges[src1++]; - result[wp++] = this.ranges[src1++]; - } this.ranges = new int[wp]; System.arraycopy(result, 0, this.ranges, 0, wp); // this.ranges is sorted and compacted. @@ -464,8 +462,8 @@ final class RangeToken extends Token implements java.io.Serializable { if (ch > 0xffff) lowers.addRange(ch, ch); else { - char uch = Character.toUpperCase((char)ch); - lowers.addRange(uch, uch); + char lch = Character.toLowerCase((char)ch); + lowers.addRange(lch, lch); } } } @@ -479,8 +477,10 @@ final class RangeToken extends Token implements java.io.Serializable { void dumpRanges() { System.err.print("RANGE: "); - if (this.ranges == null) + if (this.ranges == null) { System.err.println(" NULL"); + return; + } for (int i = 0; i < this.ranges.length; i += 2) { System.err.print("["+this.ranges[i]+","+this.ranges[i+1]+"] "); } @@ -552,10 +552,10 @@ final class RangeToken extends Token implements java.io.Serializable { else if (this == Token.token_spaces) ret = "\\s"; else { - StringBuffer sb = new StringBuffer(); - sb.append("["); + StringBuilder sb = new StringBuilder(); + sb.append('['); for (int i = 0; i < this.ranges.length; i += 2) { - if ((options & RegularExpression.SPECIAL_COMMA) != 0 && i > 0) sb.append(","); + if ((options & RegularExpression.SPECIAL_COMMA) != 0 && i > 0) sb.append(','); if (this.ranges[i] == this.ranges[i+1]) { sb.append(escapeCharInCharClass(this.ranges[i])); } else { @@ -564,7 +564,7 @@ final class RangeToken extends Token implements java.io.Serializable { sb.append(escapeCharInCharClass(this.ranges[i+1])); } } - sb.append("]"); + sb.append(']'); ret = sb.toString(); } } else { @@ -578,7 +578,7 @@ final class RangeToken extends Token implements java.io.Serializable { StringBuffer sb = new StringBuffer(); sb.append("[^"); for (int i = 0; i < this.ranges.length; i += 2) { - if ((options & RegularExpression.SPECIAL_COMMA) != 0 && i > 0) sb.append(","); + if ((options & RegularExpression.SPECIAL_COMMA) != 0 && i > 0) sb.append(','); if (this.ranges[i] == this.ranges[i+1]) { sb.append(escapeCharInCharClass(this.ranges[i])); } else { @@ -587,7 +587,7 @@ final class RangeToken extends Token implements java.io.Serializable { sb.append(escapeCharInCharClass(this.ranges[i+1])); } } - sb.append("]"); + sb.append(']'); ret = sb.toString(); } } diff --git a/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java b/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java index 9bbdaec2fe9..3150b10d860 100644 --- a/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java +++ b/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java @@ -3,11 +3,12 @@ * DO NOT REMOVE OR ALTER! */ /* - * Copyright 1999-2002,2004,2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * @@ -18,7 +19,6 @@ * limitations under the License. */ - // Sep 14, 2000: // Fixed comments to preserve whitespaces and add a line break // when indenting. Reported by Gervase Markham @@ -57,17 +57,13 @@ import com.sun.org.apache.xerces.internal.dom.DOMErrorImpl; import com.sun.org.apache.xerces.internal.dom.DOMLocatorImpl; import com.sun.org.apache.xerces.internal.dom.DOMMessageFormatter; import com.sun.org.apache.xerces.internal.util.XMLChar; -import org.w3c.dom.DOMImplementation; +import org.w3c.dom.DOMError; +import org.w3c.dom.DOMErrorHandler; import org.w3c.dom.Document; import org.w3c.dom.DocumentFragment; import org.w3c.dom.DocumentType; -import org.w3c.dom.DOMError; -import org.w3c.dom.DOMErrorHandler; import org.w3c.dom.Element; -import org.w3c.dom.Entity; -import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; -import org.w3c.dom.Notation; import org.w3c.dom.ls.LSException; import org.w3c.dom.ls.LSSerializerFilter; import org.w3c.dom.traversal.NodeFilter; @@ -126,7 +122,7 @@ import org.xml.sax.ext.LexicalHandler; * @author Elena Litani, IBM * @author Sunitha Reddy, Sun Microsystems * @see Serializer - * @see LSSerializer + * @see org.w3c.dom.ls.LSSerializer */ public abstract class BaseMarkupSerializer implements ContentHandler, DocumentHandler, LexicalHandler, @@ -337,6 +333,9 @@ public abstract class BaseMarkupSerializer return true; } + protected void cleanup() { + fCurrentNode = null; + } protected void prepare() throws IOException @@ -409,6 +408,7 @@ public abstract class BaseMarkupSerializer reset(); prepare(); serializeNode( elem ); + cleanup(); _printer.flush(); if ( _printer.getException() != null ) throw _printer.getException(); @@ -438,7 +438,7 @@ public abstract class BaseMarkupSerializer * writer and output format. Throws an exception only if * an I/O exception occured while serializing. * - * @param elem The element to serialize + * @param frag The document fragment to serialize * @throws IOException An I/O exception occured while * serializing */ @@ -448,6 +448,7 @@ public abstract class BaseMarkupSerializer reset(); prepare(); serializeNode( frag ); + cleanup(); _printer.flush(); if ( _printer.getException() != null ) throw _printer.getException(); @@ -470,6 +471,7 @@ public abstract class BaseMarkupSerializer prepare(); serializeNode( doc ); serializePreRoot(); + cleanup(); _printer.flush(); if ( _printer.getException() != null ) throw _printer.getException(); @@ -530,22 +532,22 @@ public abstract class BaseMarkupSerializer if (!XMLChar.isValid(ch)) { // check if it is surrogate if (++index < end) { - surrogates(ch, chars[index]); + surrogates(ch, chars[index],true); } else { - fatalError("The character '"+(char)ch+"' is an invalid XML character"); + fatalError("The character '"+ch+"' is an invalid XML character"); } continue; - } else { - if ( ( ch >= ' ' && _encodingInfo.isPrintable((char)ch) && ch != 0xF7 ) || - ch == '\n' || ch == '\r' || ch == '\t' ) { - _printer.printText((char)ch); - } else { - // The character is not printable -- split CDATA section - _printer.printText("]]>&#x"); - _printer.printText(Integer.toHexString(ch)); - _printer.printText(";= ' ' && _encodingInfo.isPrintable(ch) && ch != 0x7F ) || + ch == '\n' || ch == '\r' || ch == '\t' ) { + _printer.printText(ch); + } + else { + // The character is not printable -- split CDATA section + _printer.printText("]]>&#x"); + _printer.printText(Integer.toHexString(ch)); + _printer.printText(";empty and afterElement set to false. * * @return The current element state - * @throws IOException An I/O exception occured while + * @throws IOException An I/O exception occurred while * serializing */ protected ElementState content() @@ -1415,7 +1411,6 @@ public abstract class BaseMarkupSerializer * whether the text is printed as CDATA or unescaped. * * @param text The text to print - * @param unescaped True is should print unescaped * @throws IOException An I/O exception occured while * serializing */ @@ -1430,9 +1425,6 @@ public abstract class BaseMarkupSerializer // state) or whether we are inside a CDATA section or entity. if ( state.inCData || state.doCData ) { - int index; - int saveIndent; - // Print a CDATA section. The text is not escaped, but ']]>' // appearing in the code must be identified and dealt with. // The contents of a text node is considered space preserving. @@ -1440,7 +1432,7 @@ public abstract class BaseMarkupSerializer _printer.printText("= ' ' && _encodingInfo.isPrintable((char)ch) && ch != 0xF7 ) || - ch == '\n' || ch == '\r' || ch == '\t' ) { - _printer.printText((char)ch); - } else { + } + if ( ( ch >= ' ' && _encodingInfo.isPrintable(ch) && ch != 0x7F ) || + ch == '\n' || ch == '\r' || ch == '\t' ) { + _printer.printText(ch); + } + else { - // The character is not printable -- split CDATA section - _printer.printText("]]>&#x"); - _printer.printText(Integer.toHexString(ch)); - _printer.printText(";&#x"); + _printer.printText(Integer.toHexString(ch)); + _printer.printText(";&#x"); _printer.printText(Integer.toHexString(supplemental)); _printer.printText("; 0 ) { - ch = chars[ start ]; + char ch = chars[ start ]; ++start; - if ( ch == '\n' || ch == '\r' || unescaped ) + if ( ch == '\n' || ch == '\r' || unescaped ) { _printer.printText( ch ); - else + } + else { printEscaped( ch ); + } } } else { // Not preserving spaces: print one part at a time, and @@ -1664,14 +1656,17 @@ public abstract class BaseMarkupSerializer // by printing mechanism. Line terminator is treated // no different than other text part. while ( length-- > 0 ) { - ch = chars[ start ]; + char ch = chars[ start ]; ++start; - if ( ch == ' ' || ch == '\f' || ch == '\t' || ch == '\n' || ch == '\r' ) + if ( ch == ' ' || ch == '\f' || ch == '\t' || ch == '\n' || ch == '\r' ) { _printer.printSpace(); - else if ( unescaped ) + } + else if ( unescaped ) { _printer.printText( ch ); - else + } + else { printEscaped( ch ); + } } } } @@ -1703,12 +1698,15 @@ public abstract class BaseMarkupSerializer // no different than other text part. for ( index = 0 ; index < text.length() ; ++index ) { ch = text.charAt( index ); - if ( ch == ' ' || ch == '\f' || ch == '\t' || ch == '\n' || ch == '\r' ) + if ( ch == ' ' || ch == '\f' || ch == '\t' || ch == '\n' || ch == '\r' ) { _printer.printSpace(); - else if ( unescaped ) + } + else if ( unescaped ) { _printer.printText( ch ); - else + } + else { printEscaped( ch ); + } } } } @@ -1751,7 +1749,7 @@ public abstract class BaseMarkupSerializer _printer.printText( '&' ); _printer.printText( charRef ); _printer.printText( ';' ); - } else if ( ( ch >= ' ' && _encodingInfo.isPrintable((char)ch) && ch != 0xF7 ) || + } else if ( ( ch >= ' ' && _encodingInfo.isPrintable((char)ch) && ch != 0x7F ) || ch == '\n' || ch == '\r' || ch == '\t' ) { // Non printables are below ASCII space but not tab or line // terminator, ASCII delete, or above a certain Unicode threshold. @@ -1872,14 +1870,13 @@ public abstract class BaseMarkupSerializer { if ( _elementStateCount > 0 ) { /*Corrected by David Blondeau (blondeau@intalio.com)*/ - _prefixes = null; - //_prefixes = _elementStates[ _elementStateCount ].prefixes; + _prefixes = null; + //_prefixes = _elementStates[ _elementStateCount ].prefixes; -- _elementStateCount; return _elementStates[ _elementStateCount ]; - } else { - String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "Internal", null); - throw new IllegalStateException(msg); } + String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.SERIALIZER_DOMAIN, "Internal", null); + throw new IllegalStateException(msg); } @@ -1890,11 +1887,14 @@ public abstract class BaseMarkupSerializer * * @return True if in the state of the document */ - protected boolean isDocumentState() - { + protected boolean isDocumentState() { return _elementStateCount == 0; } + /** Clears document state. **/ + final void clearDocumentState() { + _elementStateCount = 0; + } /** * Returns the namespace prefix for the specified URI. @@ -1913,15 +1913,14 @@ public abstract class BaseMarkupSerializer if ( prefix != null ) return prefix; } - if ( _elementStateCount == 0 ) + if ( _elementStateCount == 0 ) { return null; - else { - for ( int i = _elementStateCount ; i > 0 ; --i ) { - if ( _elementStates[ i ].prefixes != null ) { - prefix = (String) _elementStates[ i ].prefixes.get( namespaceURI ); - if ( prefix != null ) - return prefix; - } + } + for ( int i = _elementStateCount ; i > 0 ; --i ) { + if ( _elementStates[ i ].prefixes != null ) { + prefix = (String) _elementStates[ i ].prefixes.get( namespaceURI ); + if ( prefix != null ) + return prefix; } } return null; diff --git a/jaxp/src/com/sun/org/apache/xml/internal/serialize/DOMSerializerImpl.java b/jaxp/src/com/sun/org/apache/xml/internal/serialize/DOMSerializerImpl.java index fdced040897..c9b36c5b07a 100644 --- a/jaxp/src/com/sun/org/apache/xml/internal/serialize/DOMSerializerImpl.java +++ b/jaxp/src/com/sun/org/apache/xml/internal/serialize/DOMSerializerImpl.java @@ -3,11 +3,12 @@ * DO NOT REMOVE OR ALTER! */ /* - * Copyright 1999-2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * @@ -17,21 +18,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package com.sun.org.apache.xml.internal.serialize; -import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.StringWriter; import java.io.UnsupportedEncodingException; import java.io.Writer; import java.lang.reflect.Method; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLConnection; -import java.util.StringTokenizer; -import java.util.Vector; +import java.util.ArrayList; import com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl; import com.sun.org.apache.xerces.internal.dom.DOMErrorImpl; @@ -39,10 +34,6 @@ import com.sun.org.apache.xerces.internal.dom.DOMLocatorImpl; import com.sun.org.apache.xerces.internal.dom.DOMMessageFormatter; import com.sun.org.apache.xerces.internal.dom.DOMNormalizer; import com.sun.org.apache.xerces.internal.dom.DOMStringListImpl; -import org.w3c.dom.DOMConfiguration; -import org.w3c.dom.DOMError; -import org.w3c.dom.DOMErrorHandler; -import org.w3c.dom.DOMStringList; import com.sun.org.apache.xerces.internal.impl.Constants; import com.sun.org.apache.xerces.internal.impl.XMLEntityManager; import com.sun.org.apache.xerces.internal.util.DOMUtil; @@ -52,26 +43,30 @@ import com.sun.org.apache.xerces.internal.util.XML11Char; import com.sun.org.apache.xerces.internal.util.XMLChar; import org.w3c.dom.Attr; import org.w3c.dom.Comment; +import org.w3c.dom.DOMConfiguration; +import org.w3c.dom.DOMError; +import org.w3c.dom.DOMErrorHandler; import org.w3c.dom.DOMException; +import org.w3c.dom.DOMStringList; import org.w3c.dom.Document; import org.w3c.dom.DocumentFragment; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.ProcessingInstruction; +import org.w3c.dom.Text; import org.w3c.dom.ls.LSException; import org.w3c.dom.ls.LSOutput; import org.w3c.dom.ls.LSSerializer; import org.w3c.dom.ls.LSSerializerFilter; - /** - * EXPERIMENTAL: Implemenatation of DOM Level 3 org.w3c.ls.LSSerializer by delegating serialization - * calls to XMLSerializer. - * LSSerializer provides an API for serializing (writing) a DOM document out in an - * XML document. The XML data is written to an output stream. - * During serialization of XML data, namespace fixup is done when possible as - * defined in DOM Level 3 Core, Appendix B. + * EXPERIMENTAL: Implemenatation of DOM Level 3 org.w3c.ls.LSSerializer by + * delegating serialization calls to XMLSerializer. LSSerializer + * provides an API for serializing (writing) a DOM document out in an XML + * document. The XML data is written to an output stream. During serialization + * of XML data, namespace fixup is done when possible as defined in DOM Level 3 + * Core, Appendix B. * * @author Elena Litani, IBM * @author Gopal Sharma, Sun Microsystems @@ -84,7 +79,6 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { // TODO: When DOM Level 3 goes to REC replace method calls using // reflection for: getXmlEncoding, getInputEncoding and getXmlEncoding // with regular static calls on the Document object. - // data // serializer private XMLSerializer serializer; @@ -95,35 +89,36 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { //Recognized parameters private DOMStringList fRecognizedParameters; - /** REVISIT: Currently we handle 3 different configurations, would be nice just have one configuration - * that has different recognized parameters depending if it is used in Core/LS. + /** + * REVISIT: Currently we handle 3 different configurations, would be nice + * just have one configuration that has different recognized parameters + * depending if it is used in Core/LS. */ protected short features = 0; - protected final static short NAMESPACES = 0x1<<0; - protected final static short WELLFORMED = 0x1<<1; - protected final static short ENTITIES = 0x1<<2; - protected final static short CDATA = 0x1<<3; - protected final static short SPLITCDATA = 0x1<<4; - protected final static short COMMENTS = 0x1<<5; - protected final static short DISCARDDEFAULT = 0x1<<6; - protected final static short INFOSET = 0x1<<7; - protected final static short XMLDECL = 0x1<<8; - protected final static short NSDECL = 0x1<<9; - protected final static short DOM_ELEMENT_CONTENT_WHITESPACE = 0x1<<10; - protected final static short FORMAT_PRETTY_PRINT = 0x1<<11; + protected final static short NAMESPACES = 0x1 << 0; + protected final static short WELLFORMED = 0x1 << 1; + protected final static short ENTITIES = 0x1 << 2; + protected final static short CDATA = 0x1 << 3; + protected final static short SPLITCDATA = 0x1 << 4; + protected final static short COMMENTS = 0x1 << 5; + protected final static short DISCARDDEFAULT = 0x1 << 6; + protected final static short INFOSET = 0x1 << 7; + protected final static short XMLDECL = 0x1 << 8; + protected final static short NSDECL = 0x1 << 9; + protected final static short DOM_ELEMENT_CONTENT_WHITESPACE = 0x1 << 10; + protected final static short PRETTY_PRINT = 0x1 << 11; // well-formness checking private DOMErrorHandler fErrorHandler = null; private final DOMErrorImpl fError = new DOMErrorImpl(); private final DOMLocatorImpl fLocator = new DOMLocatorImpl(); - private static final RuntimeException abort = new RuntimeException(); /** - * Constructs a new LSSerializer. - * The constructor turns on the namespace support in XMLSerializer and - * initializes the following fields: fNSBinder, fLocalNSBinder, fSymbolTable, - * fEmptySymbol, fXmlSymbol, fXmlnsSymbol, fNamespaceCounter, fFeatures. + * Constructs a new LSSerializer. The constructor turns on the namespace + * support in XMLSerializer and initializes the following + * fields: fNSBinder, fLocalNSBinder, fSymbolTable, fEmptySymbol, + * fXmlSymbol, fXmlnsSymbol, fNamespaceCounter, fFeatures. */ public DOMSerializerImpl() { // set default features @@ -142,24 +137,21 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { initSerializer(serializer); } - - // // LSSerializer methods // - - public DOMConfiguration getDomConfig(){ + public DOMConfiguration getDomConfig() { return this; } - /** DOM L3-EXPERIMENTAL: - * Setter for boolean and object parameters + /** + * DOM L3-EXPERIMENTAL: Setter for boolean and object parameters */ public void setParameter(String name, Object value) throws DOMException { if (value instanceof Boolean) { boolean state = ((Boolean) value).booleanValue(); - if (name.equalsIgnoreCase(Constants.DOM_INFOSET)){ - if (state){ + if (name.equalsIgnoreCase(Constants.DOM_INFOSET)) { + if (state) { features &= ~ENTITIES; features &= ~CDATA; features |= NAMESPACES; @@ -169,54 +161,50 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { } // false does not have any effect } else if (name.equalsIgnoreCase(Constants.DOM_XMLDECL)) { - features = - (short) (state ? features | XMLDECL : features & ~XMLDECL); + features + = (short) (state ? features | XMLDECL : features & ~XMLDECL); } else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES)) { - features = - (short) (state + features + = (short) (state ? features | NAMESPACES : features & ~NAMESPACES); serializer.fNamespaces = state; } else if (name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA)) { - features = - (short) (state + features + = (short) (state ? features | SPLITCDATA : features & ~SPLITCDATA); } else if (name.equalsIgnoreCase(Constants.DOM_DISCARD_DEFAULT_CONTENT)) { - features = - (short) (state + features + = (short) (state ? features | DISCARDDEFAULT : features & ~DISCARDDEFAULT); } else if (name.equalsIgnoreCase(Constants.DOM_WELLFORMED)) { - features = - (short) (state + features + = (short) (state ? features | WELLFORMED : features & ~WELLFORMED); - } else if (name.equalsIgnoreCase(Constants.DOM_ENTITIES)){ - features = - (short) (state + } else if (name.equalsIgnoreCase(Constants.DOM_ENTITIES)) { + features + = (short) (state ? features | ENTITIES : features & ~ENTITIES); - } - else if (name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)){ - features = - (short) (state + } else if (name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS)) { + features + = (short) (state ? features | CDATA : features & ~CDATA); - } - else if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)){ - features = - (short) (state - ? features | COMMENTS - : features & ~COMMENTS); - } - else if (name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)){ - features = - (short) (state - ? features | FORMAT_PRETTY_PRINT - : features & ~FORMAT_PRETTY_PRINT); - } - else if (name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM) + } else if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)) { + features + = (short) (state + ? features | COMMENTS + : features & ~COMMENTS); + } else if (name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)) { + features + = (short) (state + ? features | PRETTY_PRINT + : features & ~PRETTY_PRINT); + } else if (name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM) || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA) || name.equalsIgnoreCase(Constants.DOM_VALIDATE) || name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION) @@ -224,85 +212,81 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { // || name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)) { // true is not supported if (state) { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "FEATURE_NOT_SUPPORTED", - new Object[] { name }); + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "FEATURE_NOT_SUPPORTED", + new Object[]{name}); throw new DOMException(DOMException.NOT_SUPPORTED_ERR, msg); } - }else if ( - name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)) { - //namespace-declaration has effect only if namespaces is true - features = - (short) (state - ? features | NSDECL - : features & ~NSDECL); - serializer.fNamespacePrefixes = state; + } else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)) { + //namespace-declaration has effect only if namespaces is true + features + = (short) (state + ? features | NSDECL + : features & ~NSDECL); + serializer.fNamespacePrefixes = state; } else if (name.equalsIgnoreCase(Constants.DOM_ELEMENT_CONTENT_WHITESPACE) || name.equalsIgnoreCase(Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) { // false is not supported if (!state) { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "FEATURE_NOT_SUPPORTED", - new Object[] { name }); + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "FEATURE_NOT_SUPPORTED", + new Object[]{name}); throw new DOMException(DOMException.NOT_SUPPORTED_ERR, msg); } } else { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "FEATURE_NOT_FOUND", - new Object[] { name }); + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "FEATURE_NOT_FOUND", + new Object[]{name}); throw new DOMException(DOMException.NOT_SUPPORTED_ERR, msg); } } else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) { if (value == null || value instanceof DOMErrorHandler) { - fErrorHandler = (DOMErrorHandler)value; + fErrorHandler = (DOMErrorHandler) value; } else { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "TYPE_MISMATCH_ERR", - new Object[] { name }); + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "TYPE_MISMATCH_ERR", + new Object[]{name}); throw new DOMException(DOMException.TYPE_MISMATCH_ERR, msg); } - } else if ( - name.equalsIgnoreCase(Constants.DOM_RESOURCE_RESOLVER) + } else if (name.equalsIgnoreCase(Constants.DOM_RESOURCE_RESOLVER) || name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION) || name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE) || name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS) && value != null) { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "FEATURE_NOT_SUPPORTED", - new Object[] { name }); + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "FEATURE_NOT_SUPPORTED", + new Object[]{name}); throw new DOMException(DOMException.NOT_SUPPORTED_ERR, msg); } else { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "FEATURE_NOT_FOUND", - new Object[] { name }); + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "FEATURE_NOT_FOUND", + new Object[]{name}); throw new DOMException(DOMException.NOT_FOUND_ERR, msg); } } - /** DOM L3-EXPERIMENTAL: - * Check if parameter can be set + /** + * DOM L3-EXPERIMENTAL: Check if parameter can be set */ public boolean canSetParameter(String name, Object state) { - if (state == null) { return true; } if (state instanceof Boolean) { boolean value = ((Boolean) state).booleanValue(); - if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES) || name.equalsIgnoreCase(Constants.DOM_SPLIT_CDATA) || name.equalsIgnoreCase(Constants.DOM_DISCARD_DEFAULT_CONTENT) @@ -312,8 +296,8 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { || name.equalsIgnoreCase(Constants.DOM_ENTITIES) || name.equalsIgnoreCase(Constants.DOM_CDATA_SECTIONS) || name.equalsIgnoreCase(Constants.DOM_COMMENTS) - || name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS) - || name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)) { + || name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT) + || name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)) { // both values supported return true; } else if (name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM) @@ -329,8 +313,8 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { // false is not supported return value; } - } else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER) && - state == null || state instanceof DOMErrorHandler) { + } else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER) + && state == null || state instanceof DOMErrorHandler) { return true; } @@ -338,60 +322,57 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { } /** - * DOM Level 3 Core CR - Experimental. + * DOM Level 3 Core CR - Experimental. * - * The list of the parameters supported by this - * DOMConfiguration object and for which at least one value - * can be set by the application. Note that this list can also contain - * parameter names defined outside this specification. + * The list of the parameters supported by this + * DOMConfiguration object and for which at least one value can + * be set by the application. Note that this list can also contain parameter + * names defined outside this specification. */ public DOMStringList getParameterNames() { - if (fRecognizedParameters == null){ - Vector parameters = new Vector(); + if (fRecognizedParameters == null) { + ArrayList parameters = new ArrayList(); - //Add DOM recognized parameters - //REVISIT: Would have been nice to have a list of - //recognized parameters. - parameters.add(Constants.DOM_NAMESPACES); - parameters.add(Constants.DOM_SPLIT_CDATA); - parameters.add(Constants.DOM_DISCARD_DEFAULT_CONTENT); - parameters.add(Constants.DOM_XMLDECL); - parameters.add(Constants.DOM_CANONICAL_FORM); - parameters.add(Constants.DOM_VALIDATE_IF_SCHEMA); - parameters.add(Constants.DOM_VALIDATE); - parameters.add(Constants.DOM_CHECK_CHAR_NORMALIZATION); - parameters.add(Constants.DOM_DATATYPE_NORMALIZATION); - parameters.add(Constants.DOM_FORMAT_PRETTY_PRINT); - //parameters.add(Constants.DOM_NORMALIZE_CHARACTERS); - parameters.add(Constants.DOM_WELLFORMED); - parameters.add(Constants.DOM_INFOSET); - parameters.add(Constants.DOM_NAMESPACE_DECLARATIONS); - parameters.add(Constants.DOM_ELEMENT_CONTENT_WHITESPACE); - parameters.add(Constants.DOM_ENTITIES); - parameters.add(Constants.DOM_CDATA_SECTIONS); - parameters.add(Constants.DOM_COMMENTS); - parameters.add(Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS); - parameters.add(Constants.DOM_ERROR_HANDLER); - //parameters.add(Constants.DOM_SCHEMA_LOCATION); - //parameters.add(Constants.DOM_SCHEMA_TYPE); - - //Add recognized xerces features and properties - - fRecognizedParameters = new DOMStringListImpl(parameters); + //Add DOM recognized parameters + //REVISIT: Would have been nice to have a list of + //recognized parameters. + parameters.add(Constants.DOM_NAMESPACES); + parameters.add(Constants.DOM_SPLIT_CDATA); + parameters.add(Constants.DOM_DISCARD_DEFAULT_CONTENT); + parameters.add(Constants.DOM_XMLDECL); + parameters.add(Constants.DOM_CANONICAL_FORM); + parameters.add(Constants.DOM_VALIDATE_IF_SCHEMA); + parameters.add(Constants.DOM_VALIDATE); + parameters.add(Constants.DOM_CHECK_CHAR_NORMALIZATION); + parameters.add(Constants.DOM_DATATYPE_NORMALIZATION); + parameters.add(Constants.DOM_FORMAT_PRETTY_PRINT); + //parameters.add(Constants.DOM_NORMALIZE_CHARACTERS); + parameters.add(Constants.DOM_WELLFORMED); + parameters.add(Constants.DOM_INFOSET); + parameters.add(Constants.DOM_NAMESPACE_DECLARATIONS); + parameters.add(Constants.DOM_ELEMENT_CONTENT_WHITESPACE); + parameters.add(Constants.DOM_ENTITIES); + parameters.add(Constants.DOM_CDATA_SECTIONS); + parameters.add(Constants.DOM_COMMENTS); + parameters.add(Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS); + parameters.add(Constants.DOM_ERROR_HANDLER); + //parameters.add(Constants.DOM_SCHEMA_LOCATION); + //parameters.add(Constants.DOM_SCHEMA_TYPE); + //Add recognized xerces features and properties + fRecognizedParameters = new DOMStringListImpl(parameters); } return fRecognizedParameters; } - /** DOM L3-EXPERIMENTAL: - * Getter for boolean and object parameters + /** + * DOM L3-EXPERIMENTAL: Getter for boolean and object parameters */ public Object getParameter(String name) throws DOMException { - - if(name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)){ - return null; + if (name.equalsIgnoreCase(Constants.DOM_NORMALIZE_CHARACTERS)) { + return null; } else if (name.equalsIgnoreCase(Constants.DOM_COMMENTS)) { return ((features & COMMENTS) != 0) ? Boolean.TRUE : Boolean.FALSE; } else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACES)) { @@ -408,23 +389,23 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { return (features & WELLFORMED) != 0 ? Boolean.TRUE : Boolean.FALSE; } else if (name.equalsIgnoreCase(Constants.DOM_NAMESPACE_DECLARATIONS)) { return (features & NSDECL) != 0 ? Boolean.TRUE : Boolean.FALSE; - } else if (name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)) { - return (features & FORMAT_PRETTY_PRINT) != 0 ? Boolean.TRUE : Boolean.FALSE; - } else if (name.equalsIgnoreCase(Constants.DOM_ELEMENT_CONTENT_WHITESPACE) || - name.equalsIgnoreCase(Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) { + } else if (name.equalsIgnoreCase(Constants.DOM_ELEMENT_CONTENT_WHITESPACE) + || name.equalsIgnoreCase(Constants.DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS)) { return Boolean.TRUE; - }else if (name.equalsIgnoreCase(Constants.DOM_DISCARD_DEFAULT_CONTENT)){ - return ((features & DISCARDDEFAULT)!=0)?Boolean.TRUE:Boolean.FALSE; - }else if (name.equalsIgnoreCase(Constants.DOM_INFOSET)){ - if ((features & ENTITIES) == 0 && - (features & CDATA) == 0 && - (features & NAMESPACES) != 0 && - (features & NSDECL) != 0 && - (features & WELLFORMED) != 0 && - (features & COMMENTS) != 0) { - return Boolean.TRUE; - } - return Boolean.FALSE; + } else if (name.equalsIgnoreCase(Constants.DOM_DISCARD_DEFAULT_CONTENT)) { + return ((features & DISCARDDEFAULT) != 0) ? Boolean.TRUE : Boolean.FALSE; + } else if (name.equalsIgnoreCase(Constants.DOM_FORMAT_PRETTY_PRINT)) { + return ((features & PRETTY_PRINT) != 0) ? Boolean.TRUE : Boolean.FALSE; + } else if (name.equalsIgnoreCase(Constants.DOM_INFOSET)) { + if ((features & ENTITIES) == 0 + && (features & CDATA) == 0 + && (features & NAMESPACES) != 0 + && (features & NSDECL) != 0 + && (features & WELLFORMED) != 0 + && (features & COMMENTS) != 0) { + return Boolean.TRUE; + } + return Boolean.FALSE; } else if (name.equalsIgnoreCase(Constants.DOM_CANONICAL_FORM) || name.equalsIgnoreCase(Constants.DOM_VALIDATE_IF_SCHEMA) || name.equalsIgnoreCase(Constants.DOM_CHECK_CHAR_NORMALIZATION) @@ -434,64 +415,48 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { return Boolean.FALSE; } else if (name.equalsIgnoreCase(Constants.DOM_ERROR_HANDLER)) { return fErrorHandler; - } else if ( - name.equalsIgnoreCase(Constants.DOM_RESOURCE_RESOLVER) + } else if (name.equalsIgnoreCase(Constants.DOM_RESOURCE_RESOLVER) || name.equalsIgnoreCase(Constants.DOM_SCHEMA_LOCATION) || name.equalsIgnoreCase(Constants.DOM_SCHEMA_TYPE)) { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "FEATURE_NOT_SUPPORTED", - new Object[] { name }); + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "FEATURE_NOT_SUPPORTED", + new Object[]{name}); throw new DOMException(DOMException.NOT_SUPPORTED_ERR, msg); } else { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "FEATURE_NOT_FOUND", - new Object[] { name }); + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "FEATURE_NOT_FOUND", + new Object[]{name}); throw new DOMException(DOMException.NOT_FOUND_ERR, msg); } } - /** - * DOM L3 EXPERIMENTAL: - * Serialize the specified node as described above in the description of - * LSSerializer. The result of serializing the node is - * returned as a string. Writing a Document or Entity node produces a - * serialized form that is well formed XML. Writing other node types - * produces a fragment of text in a form that is not fully defined by + * DOM L3 EXPERIMENTAL: Serialize the specified node as described above in + * the description of LSSerializer. The result of serializing + * the node is returned as a string. Writing a Document or Entity node + * produces a serialized form that is well formed XML. Writing other node + * types produces a fragment of text in a form that is not fully defined by * this document, but that should be useful to a human for debugging or * diagnostic purposes. - * @param wnode The node to be written. - * @return Returns the serialized data - * @exception DOMException - * DOMSTRING_SIZE_ERR: The resulting string is too long to fit in a - * DOMString. - * @exception LSException - * SERIALIZE_ERR: Unable to serialize the node. DOM applications should - * attach a DOMErrorHandler using the parameter - * "error-handler" to get details on error. + * + * @param wnode The node to be written. + * @return Returns the serialized data + * @exception DOMException DOMSTRING_SIZE_ERR: The resulting string is too + * long to fit in a DOMString. + * @exception LSException SERIALIZE_ERR: Unable to serialize the node. DOM + * applications should attach a DOMErrorHandler using the + * parameter "error-handler" to get details on error. */ public String writeToString(Node wnode) throws DOMException, LSException { // determine which serializer to use: - Document doc = (wnode.getNodeType() == Node.DOCUMENT_NODE)?(Document)wnode:wnode.getOwnerDocument(); - Method getVersion = null; XMLSerializer ser = null; - String ver = null; - // this should run under JDK 1.1.8... - try { - getVersion = doc.getClass().getMethod("getXmlVersion", new Class[]{}); - if(getVersion != null ) { - ver = (String)getVersion.invoke(doc, (Object[]) null); - } - } catch (Exception e) { - // no way to test the version... - // ignore the exception - } - if(ver != null && ver.equals("1.1")) { - if(xml11Serializer == null) { + String ver = _getXmlVersion(wnode); + if (ver != null && ver.equals("1.1")) { + if (xml11Serializer == null) { xml11Serializer = new XML11Serializer(); initSerializer(xml11Serializer); } @@ -508,25 +473,21 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { ser._format.setEncoding("UTF-16"); ser.setOutputCharStream(destination); if (wnode.getNodeType() == Node.DOCUMENT_NODE) { - ser.serialize((Document)wnode); - } - else if (wnode.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) { - ser.serialize((DocumentFragment)wnode); - } - else if (wnode.getNodeType() == Node.ELEMENT_NODE) { - ser.serialize((Element)wnode); - } - else if (wnode.getNodeType() == Node.TEXT_NODE || - wnode.getNodeType() == Node.COMMENT_NODE || - wnode.getNodeType() == Node.ENTITY_REFERENCE_NODE || - wnode.getNodeType() == Node.CDATA_SECTION_NODE || - wnode.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE ) { + ser.serialize((Document) wnode); + } else if (wnode.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) { + ser.serialize((DocumentFragment) wnode); + } else if (wnode.getNodeType() == Node.ELEMENT_NODE) { + ser.serialize((Element) wnode); + } else if (wnode.getNodeType() == Node.TEXT_NODE + || wnode.getNodeType() == Node.COMMENT_NODE + || wnode.getNodeType() == Node.ENTITY_REFERENCE_NODE + || wnode.getNodeType() == Node.CDATA_SECTION_NODE + || wnode.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { ser.serialize(wnode); - } - else { + } else { String msg = DOMMessageFormatter.formatMessage( - DOMMessageFormatter.SERIALIZER_DOMAIN, - "unable-to-serialize-node", null); + DOMMessageFormatter.SERIALIZER_DOMAIN, + "unable-to-serialize-node", null); if (ser.fDOMErrorHandler != null) { DOMErrorImpl error = new DOMErrorImpl(); error.fType = "unable-to-serialize-node"; @@ -540,45 +501,42 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { // Rethrow LSException. throw lse; } catch (RuntimeException e) { - if (e == DOMNormalizer.abort){ + if (e == DOMNormalizer.abort) { // stopped at user request return null; } - throw (LSException) new LSException(LSException.SERIALIZE_ERR, e.toString()).initCause(e); + throw (LSException) DOMUtil.createLSException(LSException.SERIALIZE_ERR, e).fillInStackTrace(); } catch (IOException ioe) { // REVISIT: A generic IOException doesn't provide enough information // to determine that the serialized document is too large to fit // into a string. This could have thrown for some other reason. -- mrglavas String msg = DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "STRING_TOO_LONG", - new Object[] { ioe.getMessage()}); - throw (DOMException) new DOMException(DOMException.DOMSTRING_SIZE_ERR, msg).initCause(ioe); + DOMMessageFormatter.DOM_DOMAIN, + "STRING_TOO_LONG", + new Object[]{ioe.getMessage()}); + throw new DOMException(DOMException.DOMSTRING_SIZE_ERR, msg); + } finally { + ser.clearDocumentState(); } - return destination.toString(); } /** - * DOM L3 EXPERIMENTAL: - * The end-of-line sequence of characters to be used in the XML being - * written out. The only permitted values are these: + * DOM L3 EXPERIMENTAL: The end-of-line sequence of characters to be used in + * the XML being written out. The only permitted values are these: *

*
null
*
- * Use a default end-of-line sequence. DOM implementations should choose - * the default to match the usual convention for text files in the - * environment being used. Implementations must choose a default - * sequence that matches one of those allowed by 2.11 "End-of-Line - * Handling".
+ * Use a default end-of-line sequence. DOM implementations should choose the + * default to match the usual convention for text files in the environment + * being used. Implementations must choose a default sequence that matches + * one of those allowed by 2.11 "End-of-Line Handling". *
CR
*
The carriage-return character (#xD).
*
CR-LF
- *
The - * carriage-return and line-feed characters (#xD #xA).
+ *
The carriage-return and line-feed characters (#xD #xA).
*
LF
- *
The line-feed - * character (#xA).
+ *
The line-feed character (#xA).
*
*
The default value for this attribute is null. */ @@ -586,27 +544,22 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { serializer._format.setLineSeparator(newLine); } - /** - * DOM L3 EXPERIMENTAL: - * The end-of-line sequence of characters to be used in the XML being - * written out. The only permitted values are these: + * DOM L3 EXPERIMENTAL: The end-of-line sequence of characters to be used in + * the XML being written out. The only permitted values are these: *
*
null
*
- * Use a default end-of-line sequence. DOM implementations should choose - * the default to match the usual convention for text files in the - * environment being used. Implementations must choose a default - * sequence that matches one of those allowed by 2.11 "End-of-Line - * Handling".
+ * Use a default end-of-line sequence. DOM implementations should choose the + * default to match the usual convention for text files in the environment + * being used. Implementations must choose a default sequence that matches + * one of those allowed by 2.11 "End-of-Line Handling". *
CR
*
The carriage-return character (#xD).
*
CR-LF
- *
The - * carriage-return and line-feed characters (#xD #xA).
+ *
The carriage-return and line-feed characters (#xD #xA).
*
LF
- *
The line-feed - * character (#xA).
+ *
The line-feed character (#xA).
*
*
The default value for this attribute is null. */ @@ -614,23 +567,23 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { return serializer._format.getLineSeparator(); } - /** - * When the application provides a filter, the serializer will call out - * to the filter before serializing each Node. Attribute nodes are never - * passed to the filter. The filter implementation can choose to remove - * the node from the stream or to terminate the serialization early. + * When the application provides a filter, the serializer will call out to + * the filter before serializing each Node. Attribute nodes are never passed + * to the filter. The filter implementation can choose to remove the node + * from the stream or to terminate the serialization early. */ - public LSSerializerFilter getFilter(){ + public LSSerializerFilter getFilter() { return serializer.fDOMFilter; } + /** - * When the application provides a filter, the serializer will call out - * to the filter before serializing each Node. Attribute nodes are never - * passed to the filter. The filter implementation can choose to remove - * the node from the stream or to terminate the serialization early. + * When the application provides a filter, the serializer will call out to + * the filter before serializing each Node. Attribute nodes are never passed + * to the filter. The filter implementation can choose to remove the node + * from the stream or to terminate the serialization early. */ - public void setFilter(LSSerializerFilter filter){ + public void setFilter(LSSerializerFilter filter) { serializer.fDOMFilter = filter; } @@ -654,56 +607,44 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { }//copysettings /** - * Serialize the specified node as described above in the general - * description of the LSSerializer interface. The output - * is written to the supplied LSOutput. - *
When writing to a LSOutput, the encoding is found by - * looking at the encoding information that is reachable through the - * LSOutput and the item to be written (or its owner - * document) in this order: - *
    - *
  1. LSOutput.encoding, - *
  2. - *
  3. - * Document.actualEncoding, - *
  4. - *
  5. - * Document.xmlEncoding. - *
  6. - *
- *
If no encoding is reachable through the above properties, a - * default encoding of "UTF-8" will be used. - *
If the specified encoding is not supported an - * "unsupported-encoding" error is raised. - *
If no output is specified in the LSOutput, a - * "no-output-specified" error is raised. - * @param node The node to serialize. - * @param destination The destination for the serialized DOM. - * @return Returns true if node was - * successfully serialized and false in case the node - * couldn't be serialized. - */ - public boolean write(Node node, LSOutput destination) throws LSException{ + * Serialize the specified node as described above in the general + * description of the LSSerializer interface. The output is + * written to the supplied LSOutput. + *
When writing to a LSOutput, the encoding is found by + * looking at the encoding information that is reachable through the + * LSOutput and the item to be written (or its owner document) + * in this order: + *
    + *
  1. LSOutput.encoding, + *
  2. + *
  3. + * Document.actualEncoding, + *
  4. + *
  5. + * Document.xmlEncoding. + *
  6. + *
+ *
If no encoding is reachable through the above properties, a default + * encoding of "UTF-8" will be used. + *
If the specified encoding is not supported an "unsupported-encoding" + * error is raised. + *
If no output is specified in the LSOutput, a + * "no-output-specified" error is raised. + * + * @param node The node to serialize. + * @param destination The destination for the serialized DOM. + * @return Returns true if node was successfully + * serialized and false in case the node couldn't be + * serialized. + */ + public boolean write(Node node, LSOutput destination) throws LSException { - if (node == null) + if (node == null) { return false; - - Method getVersion = null; - XMLSerializer ser = null; - String ver = null; - Document fDocument =(node.getNodeType() == Node.DOCUMENT_NODE) - ? (Document) node - : node.getOwnerDocument(); - // this should run under JDK 1.1.8... - try { - getVersion = fDocument.getClass().getMethod("getXmlVersion", new Class[] {}); - if (getVersion != null) { - ver = (String) getVersion.invoke(fDocument, (Object[]) null); - } - } catch (Exception e) { - //no way to test the version... - //ignore the exception } + + XMLSerializer ser = null; + String ver = _getXmlVersion(node); //determine which serializer to use: if (ver != null && ver.equals("1.1")) { if (xml11Serializer == null) { @@ -719,25 +660,9 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { String encoding = null; if ((encoding = destination.getEncoding()) == null) { - try { - Method getEncoding = - fDocument.getClass().getMethod("getInputEncoding", new Class[] {}); - if (getEncoding != null) { - encoding = (String) getEncoding.invoke(fDocument, (Object[]) null); - } - } catch (Exception e) { - // ignore the exception - } + encoding = _getInputEncoding(node); if (encoding == null) { - try { - Method getEncoding = - fDocument.getClass().getMethod("getXmlEncoding", new Class[] {}); - if (getEncoding != null) { - encoding = (String) getEncoding.invoke(fDocument, (Object[]) null); - } - } catch (Exception e) { - // ignore the exception - } + encoding = _getXmlEncoding(node); if (encoding == null) { encoding = "UTF-8"; } @@ -748,13 +673,13 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { ser._format.setEncoding(encoding); OutputStream outputStream = destination.getByteStream(); Writer writer = destination.getCharacterStream(); - String uri = destination.getSystemId(); + String uri = destination.getSystemId(); if (writer == null) { if (outputStream == null) { if (uri == null) { String msg = DOMMessageFormatter.formatMessage( - DOMMessageFormatter.SERIALIZER_DOMAIN, - "no-output-specified", null); + DOMMessageFormatter.SERIALIZER_DOMAIN, + "no-output-specified", null); if (ser.fDOMErrorHandler != null) { DOMErrorImpl error = new DOMErrorImpl(); error.fType = "no-output-specified"; @@ -763,81 +688,52 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { ser.fDOMErrorHandler.handleError(error); } throw new LSException(LSException.SERIALIZE_ERR, msg); + } else { + ser.setOutputByteStream(XMLEntityManager.createOutputStream(uri)); } - else { - // URI was specified. Handle relative URIs. - String expanded = XMLEntityManager.expandSystemId(uri, null, true); - URL url = new URL(expanded != null ? expanded : uri); - OutputStream out = null; - String protocol = url.getProtocol(); - String host = url.getHost(); - // Use FileOutputStream if this URI is for a local file. - if (protocol.equals("file") - && (host == null || host.length() == 0 || host.equals("localhost"))) { - out = new FileOutputStream(getPathWithoutEscapes(url.getFile())); - } - // Try to write to some other kind of URI. Some protocols - // won't support this, though HTTP should work. - else { - URLConnection urlCon = url.openConnection(); - urlCon.setDoInput(false); - urlCon.setDoOutput(true); - urlCon.setUseCaches(false); // Enable tunneling. - if (urlCon instanceof HttpURLConnection) { - // The DOM L3 LS CR says if we are writing to an HTTP URI - // it is to be done with an HTTP PUT. - HttpURLConnection httpCon = (HttpURLConnection) urlCon; - httpCon.setRequestMethod("PUT"); - } - out = urlCon.getOutputStream(); - } - ser.setOutputByteStream(out); - } - } - else { + } else { // byte stream was specified ser.setOutputByteStream(outputStream); } - } - else { + } else { // character stream is specified ser.setOutputCharStream(writer); } - if (node.getNodeType() == Node.DOCUMENT_NODE) + if (node.getNodeType() == Node.DOCUMENT_NODE) { ser.serialize((Document) node); - else if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) + } else if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) { ser.serialize((DocumentFragment) node); - else if (node.getNodeType() == Node.ELEMENT_NODE) + } else if (node.getNodeType() == Node.ELEMENT_NODE) { ser.serialize((Element) node); - else if (node.getNodeType() == Node.TEXT_NODE || - node.getNodeType() == Node.COMMENT_NODE || - node.getNodeType() == Node.ENTITY_REFERENCE_NODE || - node.getNodeType() == Node.CDATA_SECTION_NODE || - node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE ) { + } else if (node.getNodeType() == Node.TEXT_NODE + || node.getNodeType() == Node.COMMENT_NODE + || node.getNodeType() == Node.ENTITY_REFERENCE_NODE + || node.getNodeType() == Node.CDATA_SECTION_NODE + || node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { ser.serialize(node); - } - else + } else { return false; - } catch( UnsupportedEncodingException ue) { + } + } catch (UnsupportedEncodingException ue) { if (ser.fDOMErrorHandler != null) { DOMErrorImpl error = new DOMErrorImpl(); error.fException = ue; - error.fType = "unsupported-encoding"; + error.fType = "unsupported-encoding"; error.fMessage = ue.getMessage(); - error.fSeverity = DOMError.SEVERITY_FATAL_ERROR; + error.fSeverity = DOMError.SEVERITY_FATAL_ERROR; ser.fDOMErrorHandler.handleError(error); - } + } throw new LSException(LSException.SERIALIZE_ERR, - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.SERIALIZER_DOMAIN, - "unsupported-encoding", null)); - //return false; + DOMMessageFormatter.formatMessage( + DOMMessageFormatter.SERIALIZER_DOMAIN, + "unsupported-encoding", null)); + //return false; } catch (LSException lse) { // Rethrow LSException. throw lse; } catch (RuntimeException e) { - if (e == DOMNormalizer.abort){ + if (e == DOMNormalizer.abort) { // stopped at user request return false; } @@ -851,62 +747,48 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { ser.fDOMErrorHandler.handleError(error); } - e.printStackTrace(); throw (LSException) DOMUtil.createLSException(LSException.SERIALIZE_ERR, e).fillInStackTrace(); + } finally { + ser.clearDocumentState(); } return true; } //write /** - * Serialize the specified node as described above in the general - * description of the LSSerializer interface. The output - * is written to the supplied URI. - *
When writing to a URI, the encoding is found by looking at the - * encoding information that is reachable through the item to be written - * (or its owner document) in this order: - *
    - *
  1. - * Document.inputEncoding, - *
  2. - *
  3. - * Document.xmlEncoding. - *
  4. - *
- *
If no encoding is reachable through the above properties, a - * default encoding of "UTF-8" will be used. - *
If the specified encoding is not supported an - * "unsupported-encoding" error is raised. - * @param node The node to serialize. - * @param URI The URI to write to. - * @return Returns true if node was - * successfully serialized and false in case the node - * couldn't be serialized. - */ - public boolean writeToURI(Node node, String URI) throws LSException{ - if (node == null){ + * Serialize the specified node as described above in the general + * description of the LSSerializer interface. The output is + * written to the supplied URI. + *
When writing to a URI, the encoding is found by looking at the + * encoding information that is reachable through the item to be written (or + * its owner document) in this order: + *
    + *
  1. + * Document.inputEncoding, + *
  2. + *
  3. + * Document.xmlEncoding. + *
  4. + *
+ *
If no encoding is reachable through the above properties, a default + * encoding of "UTF-8" will be used. + *
If the specified encoding is not supported an "unsupported-encoding" + * error is raised. + * + * @param node The node to serialize. + * @param URI The URI to write to. + * @return Returns true if node was successfully + * serialized and false in case the node couldn't be + * serialized. + */ + public boolean writeToURI(Node node, String URI) throws LSException { + if (node == null) { return false; } - Method getXmlVersion = null; XMLSerializer ser = null; - String ver = null; - String encoding = null; + String ver = _getXmlVersion(node); - Document fDocument =(node.getNodeType() == Node.DOCUMENT_NODE) - ? (Document) node - : node.getOwnerDocument(); - // this should run under JDK 1.1.8... - try { - getXmlVersion = - fDocument.getClass().getMethod("getXmlVersion", new Class[] {}); - if (getXmlVersion != null) { - ver = (String) getXmlVersion.invoke(fDocument, (Object[]) null); - } - } catch (Exception e) { - // no way to test the version... - // ignore the exception - } if (ver != null && ver.equals("1.1")) { if (xml11Serializer == null) { xml11Serializer = new XML11Serializer(); @@ -919,25 +801,9 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { ser = serializer; } - try { - Method getEncoding = - fDocument.getClass().getMethod("getInputEncoding", new Class[] {}); - if (getEncoding != null) { - encoding = (String) getEncoding.invoke(fDocument, (Object[]) null); - } - } catch (Exception e) { - // ignore the exception - } + String encoding = _getInputEncoding(node); if (encoding == null) { - try { - Method getEncoding = - fDocument.getClass().getMethod("getXmlEncoding", new Class[] {}); - if (getEncoding != null) { - encoding = (String) getEncoding.invoke(fDocument, (Object[]) null); - } - } catch (Exception e) { - // ignore the exception - } + encoding = _getXmlEncoding(node); if (encoding == null) { encoding = "UTF-8"; } @@ -946,55 +812,28 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { try { prepareForSerialization(ser, node); ser._format.setEncoding(encoding); + ser.setOutputByteStream(XMLEntityManager.createOutputStream(URI)); - // URI was specified. Handle relative URIs. - String expanded = XMLEntityManager.expandSystemId(URI, null, true); - URL url = new URL(expanded != null ? expanded : URI); - OutputStream out = null; - String protocol = url.getProtocol(); - String host = url.getHost(); - // Use FileOutputStream if this URI is for a local file. - if (protocol.equals("file") - && (host == null || host.length() == 0 || host.equals("localhost"))) { - out = new FileOutputStream(getPathWithoutEscapes(url.getFile())); - } - // Try to write to some other kind of URI. Some protocols - // won't support this, though HTTP should work. - else { - URLConnection urlCon = url.openConnection(); - urlCon.setDoInput(false); - urlCon.setDoOutput(true); - urlCon.setUseCaches(false); // Enable tunneling. - if (urlCon instanceof HttpURLConnection) { - // The DOM L3 LS CR says if we are writing to an HTTP URI - // it is to be done with an HTTP PUT. - HttpURLConnection httpCon = (HttpURLConnection) urlCon; - httpCon.setRequestMethod("PUT"); - } - out = urlCon.getOutputStream(); - } - ser.setOutputByteStream(out); - - if (node.getNodeType() == Node.DOCUMENT_NODE) + if (node.getNodeType() == Node.DOCUMENT_NODE) { ser.serialize((Document) node); - else if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) + } else if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) { ser.serialize((DocumentFragment) node); - else if (node.getNodeType() == Node.ELEMENT_NODE) + } else if (node.getNodeType() == Node.ELEMENT_NODE) { ser.serialize((Element) node); - else if (node.getNodeType() == Node.TEXT_NODE || - node.getNodeType() == Node.COMMENT_NODE || - node.getNodeType() == Node.ENTITY_REFERENCE_NODE || - node.getNodeType() == Node.CDATA_SECTION_NODE || - node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE ) { + } else if (node.getNodeType() == Node.TEXT_NODE + || node.getNodeType() == Node.COMMENT_NODE + || node.getNodeType() == Node.ENTITY_REFERENCE_NODE + || node.getNodeType() == Node.CDATA_SECTION_NODE + || node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { ser.serialize(node); - } - else + } else { return false; + } } catch (LSException lse) { // Rethrow LSException. throw lse; } catch (RuntimeException e) { - if (e == DOMNormalizer.abort){ + if (e == DOMNormalizer.abort) { // stopped at user request return false; } @@ -1008,24 +847,24 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { ser.fDOMErrorHandler.handleError(error); } throw (LSException) DOMUtil.createLSException(LSException.SERIALIZE_ERR, e).fillInStackTrace(); + } finally { + ser.clearDocumentState(); } return true; } //writeURI - // // Private methods // - private void prepareForSerialization(XMLSerializer ser, Node node) { ser.reset(); ser.features = features; ser.fDOMErrorHandler = fErrorHandler; ser.fNamespaces = (features & NAMESPACES) != 0; ser.fNamespacePrefixes = (features & NSDECL) != 0; - ser._format.setOmitComments((features & COMMENTS)==0); + ser._format.setIndenting((features & PRETTY_PRINT) != 0); + ser._format.setOmitComments((features & COMMENTS) == 0); ser._format.setOmitXMLDeclaration((features & XMLDECL) == 0); - ser._format.setIndenting((features & FORMAT_PRETTY_PRINT) != 0); if ((features & WELLFORMED) != 0) { // REVISIT: this is inefficient implementation of well-formness. Instead, we should check @@ -1034,13 +873,13 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { root = node; Method versionChanged; boolean verifyNames = true; - Document document =(node.getNodeType() == Node.DOCUMENT_NODE) + Document document = (node.getNodeType() == Node.DOCUMENT_NODE) ? (Document) node : node.getOwnerDocument(); try { - versionChanged = document.getClass().getMethod("isXMLVersionChanged()", new Class[] {}); + versionChanged = document.getClass().getMethod("isXMLVersionChanged()", new Class[]{}); if (versionChanged != null) { - verifyNames = ((Boolean)versionChanged.invoke(document, (Object[]) null)).booleanValue(); + verifyNames = ((Boolean) versionChanged.invoke(document, (Object[]) null)).booleanValue(); } } catch (Exception e) { //no way to test the version... @@ -1053,59 +892,53 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { next = node.getFirstChild(); // No child nodes, so walk tree while (next == null) { - // Move to sibling if possible. - next = node.getNextSibling(); - if (next == null) { - node = node.getParentNode(); - if (root == node){ - next = null; - break; - } - next = node.getNextSibling(); - } + // Move to sibling if possible. + next = node.getNextSibling(); + if (next == null) { + node = node.getParentNode(); + if (root == node) { + next = null; + break; + } + next = node.getNextSibling(); + } } node = next; } - } - else { + } else { verify(node, verifyNames, false); } } } - - private void verify (Node node, boolean verifyNames, boolean xml11Version){ + private void verify(Node node, boolean verifyNames, boolean xml11Version) { int type = node.getNodeType(); fLocator.fRelatedNode = node; boolean wellformed; switch (type) { - case Node.DOCUMENT_NODE:{ + case Node.DOCUMENT_NODE: { break; } - case Node.DOCUMENT_TYPE_NODE:{ + case Node.DOCUMENT_TYPE_NODE: { break; } - case Node.ELEMENT_NODE:{ - if (verifyNames){ - if((features & NAMESPACES) != 0){ - wellformed = CoreDocumentImpl.isValidQName(node.getPrefix() , node.getLocalName(), xml11Version) ; + case Node.ELEMENT_NODE: { + if (verifyNames) { + if ((features & NAMESPACES) != 0) { + wellformed = CoreDocumentImpl.isValidQName(node.getPrefix(), node.getLocalName(), xml11Version); + } else { + wellformed = CoreDocumentImpl.isXMLName(node.getNodeName(), xml11Version); } - else{ - wellformed = CoreDocumentImpl.isXMLName(node.getNodeName() , xml11Version); - } - if (!wellformed){ - if (!wellformed){ - if (fErrorHandler != null) { - String msg = DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "wf-invalid-character-in-node-name", - new Object[]{"Element", node.getNodeName()}); - DOMNormalizer.reportDOMError(fErrorHandler, fError, fLocator, msg, DOMError.SEVERITY_FATAL_ERROR, - "wf-invalid-character-in-node-name"); - } - - } + if (!wellformed) { + if (fErrorHandler != null) { + String msg = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "wf-invalid-character-in-node-name", + new Object[]{"Element", node.getNodeName()}); + DOMNormalizer.reportDOMError(fErrorHandler, fError, fLocator, msg, DOMError.SEVERITY_FATAL_ERROR, + "wf-invalid-character-in-node-name"); + } } } @@ -1114,17 +947,17 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { for (int i = 0; i < attributes.getLength(); ++i) { Attr attr = (Attr) attributes.item(i); fLocator.fRelatedNode = attr; - DOMNormalizer.isAttrValueWF( fErrorHandler, fError, fLocator, - attributes, attr, attr.getValue(), xml11Version); + DOMNormalizer.isAttrValueWF(fErrorHandler, fError, fLocator, + attributes, attr, attr.getValue(), xml11Version); if (verifyNames) { - wellformed = CoreDocumentImpl.isXMLName( attr.getNodeName(), xml11Version); + wellformed = CoreDocumentImpl.isXMLName(attr.getNodeName(), xml11Version); if (!wellformed) { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "wf-invalid-character-in-node-name", - new Object[] { "Attr", node.getNodeName()}); - DOMNormalizer.reportDOMError( fErrorHandler, fError, fLocator, msg, DOMError.SEVERITY_FATAL_ERROR, + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "wf-invalid-character-in-node-name", + new Object[]{"Attr", node.getNodeName()}); + DOMNormalizer.reportDOMError(fErrorHandler, fError, fLocator, msg, DOMError.SEVERITY_FATAL_ERROR, "wf-invalid-character-in-node-name"); } } @@ -1135,78 +968,156 @@ public class DOMSerializerImpl implements LSSerializer, DOMConfiguration { break; } - case Node.COMMENT_NODE: { - // only verify well-formness if comments included in the tree - if ((features & COMMENTS) != 0) - DOMNormalizer.isCommentWF(fErrorHandler, fError, fLocator, ((Comment)node).getData(), xml11Version); - break; - } - case Node.ENTITY_REFERENCE_NODE: { - // only if entity is preserved in the tree - if (verifyNames && (features & ENTITIES) != 0){ - CoreDocumentImpl.isXMLName(node.getNodeName() , xml11Version); - } - break; - - } - case Node.CDATA_SECTION_NODE: { - // verify content - DOMNormalizer.isXMLCharWF(fErrorHandler, fError, fLocator, node.getNodeValue(), xml11Version); - // the ]]> string will be checked during serialization - break; - } - case Node.TEXT_NODE:{ - DOMNormalizer.isXMLCharWF(fErrorHandler, fError, fLocator, node.getNodeValue(), xml11Version); - break; - } - case Node.PROCESSING_INSTRUCTION_NODE:{ - ProcessingInstruction pinode = (ProcessingInstruction)node ; - String target = pinode.getTarget(); - if (verifyNames) { - if (xml11Version) { - wellformed = XML11Char.isXML11ValidName(target); - } else { - wellformed = XMLChar.isValidName(target); - } - - if (!wellformed) { - String msg = - DOMMessageFormatter.formatMessage( - DOMMessageFormatter.DOM_DOMAIN, - "wf-invalid-character-in-node-name", - new Object[] { "Element", node.getNodeName()}); - DOMNormalizer.reportDOMError( - fErrorHandler, - fError, - fLocator, - msg, - DOMError.SEVERITY_FATAL_ERROR, - "wf-invalid-character-in-node-name"); + case Node.COMMENT_NODE: { + // only verify well-formness if comments included in the tree + if ((features & COMMENTS) != 0) { + DOMNormalizer.isCommentWF(fErrorHandler, fError, fLocator, ((Comment) node).getData(), xml11Version); } + break; } - DOMNormalizer.isXMLCharWF(fErrorHandler, fError, fLocator, pinode.getData(), xml11Version); - break; - } - } + case Node.ENTITY_REFERENCE_NODE: { + // only if entity is preserved in the tree + if (verifyNames && (features & ENTITIES) != 0) { + CoreDocumentImpl.isXMLName(node.getNodeName(), xml11Version); + } + break; + } + case Node.CDATA_SECTION_NODE: { + // verify content + DOMNormalizer.isXMLCharWF(fErrorHandler, fError, fLocator, node.getNodeValue(), xml11Version); + // the ]]> string will be checked during serialization + break; + } + case Node.TEXT_NODE: { + DOMNormalizer.isXMLCharWF(fErrorHandler, fError, fLocator, node.getNodeValue(), xml11Version); + break; + } + case Node.PROCESSING_INSTRUCTION_NODE: { + ProcessingInstruction pinode = (ProcessingInstruction) node; + String target = pinode.getTarget(); + if (verifyNames) { + if (xml11Version) { + wellformed = XML11Char.isXML11ValidName(target); + } else { + wellformed = XMLChar.isValidName(target); + } + + if (!wellformed) { + String msg + = DOMMessageFormatter.formatMessage( + DOMMessageFormatter.DOM_DOMAIN, + "wf-invalid-character-in-node-name", + new Object[]{"Element", node.getNodeName()}); + DOMNormalizer.reportDOMError( + fErrorHandler, + fError, + fLocator, + msg, + DOMError.SEVERITY_FATAL_ERROR, + "wf-invalid-character-in-node-name"); + } + } + DOMNormalizer.isXMLCharWF(fErrorHandler, fError, fLocator, pinode.getData(), xml11Version); + break; + } + } + fLocator.fRelatedNode = null; } - private String getPathWithoutEscapes(String origPath) { - if (origPath != null && origPath.length() != 0 && origPath.indexOf('%') != -1) { - // Locate the escape characters - StringTokenizer tokenizer = new StringTokenizer(origPath, "%"); - StringBuffer result = new StringBuffer(origPath.length()); - int size = tokenizer.countTokens(); - result.append(tokenizer.nextToken()); - for(int i = 1; i < size; ++i) { - String token = tokenizer.nextToken(); - // Decode the 2 digit hexadecimal number following % in '%nn' - result.append((char)Integer.valueOf(token.substring(0, 2), 16).intValue()); - result.append(token.substring(2)); + private String _getXmlVersion(Node node) { + Document doc = (node.getNodeType() == Node.DOCUMENT_NODE) + ? (Document) node : node.getOwnerDocument(); + if (doc != null && DocumentMethods.fgDocumentMethodsAvailable) { + try { + return (String) DocumentMethods.fgDocumentGetXmlVersionMethod.invoke(doc, (Object[]) null); + } // The VM ran out of memory or there was some other serious problem. Re-throw. + catch (VirtualMachineError vme) { + throw vme; + } // ThreadDeath should always be re-thrown + catch (ThreadDeath td) { + throw td; + } // Ignore all other exceptions and errors + catch (Throwable t) { } - return result.toString(); } - return origPath; + return null; } -}//DOMSerializerImpl + private String _getInputEncoding(Node node) { + Document doc = (node.getNodeType() == Node.DOCUMENT_NODE) + ? (Document) node : node.getOwnerDocument(); + if (doc != null && DocumentMethods.fgDocumentMethodsAvailable) { + try { + return (String) DocumentMethods.fgDocumentGetInputEncodingMethod.invoke(doc, (Object[]) null); + } // The VM ran out of memory or there was some other serious problem. Re-throw. + catch (VirtualMachineError vme) { + throw vme; + } // ThreadDeath should always be re-thrown + catch (ThreadDeath td) { + throw td; + } // Ignore all other exceptions and errors + catch (Throwable t) { + } + } + return null; + } + + private String _getXmlEncoding(Node node) { + Document doc = (node.getNodeType() == Node.DOCUMENT_NODE) + ? (Document) node : node.getOwnerDocument(); + if (doc != null && DocumentMethods.fgDocumentMethodsAvailable) { + try { + return (String) DocumentMethods.fgDocumentGetXmlEncodingMethod.invoke(doc, (Object[]) null); + } // The VM ran out of memory or there was some other serious problem. Re-throw. + catch (VirtualMachineError vme) { + throw vme; + } // ThreadDeath should always be re-thrown + catch (ThreadDeath td) { + throw td; + } // Ignore all other exceptions and errors + catch (Throwable t) { + } + } + return null; + } + + /** + * Holder of DOM Level 3 methods from org.w3c.dom.Document. + */ + static class DocumentMethods { + + // Method: org.w3c.dom.Document.getXmlVersion() + private static java.lang.reflect.Method fgDocumentGetXmlVersionMethod = null; + + // Method: org.w3c.dom.Document.getInputEncoding() + private static java.lang.reflect.Method fgDocumentGetInputEncodingMethod = null; + + // Method: org.w3c.dom.Document.getXmlEncoding() + private static java.lang.reflect.Method fgDocumentGetXmlEncodingMethod = null; + + // Flag indicating whether or not Document methods are available. + private static boolean fgDocumentMethodsAvailable = false; + + private DocumentMethods() { + } + + // Attempt to get methods for org.w3c.dom.Document on class initialization. + static { + try { + fgDocumentGetXmlVersionMethod = Document.class.getMethod("getXmlVersion", new Class[]{}); + fgDocumentGetInputEncodingMethod = Document.class.getMethod("getInputEncoding", new Class[]{}); + fgDocumentGetXmlEncodingMethod = Document.class.getMethod("getXmlEncoding", new Class[]{}); + fgDocumentMethodsAvailable = true; + } // ClassNotFoundException, NoSuchMethodException or SecurityException + // Whatever the case, we cannot retrieve the methods. + catch (Exception exc) { + fgDocumentGetXmlVersionMethod = null; + fgDocumentGetInputEncodingMethod = null; + fgDocumentGetXmlEncodingMethod = null; + fgDocumentMethodsAvailable = false; + } + } + } + +} //DOMSerializerImpl diff --git a/jaxp/src/com/sun/org/apache/xml/internal/serialize/XML11Serializer.java b/jaxp/src/com/sun/org/apache/xml/internal/serialize/XML11Serializer.java index e1728cd7624..ced3ef5c4d5 100644 --- a/jaxp/src/com/sun/org/apache/xml/internal/serialize/XML11Serializer.java +++ b/jaxp/src/com/sun/org/apache/xml/internal/serialize/XML11Serializer.java @@ -3,11 +3,12 @@ * DO NOT REMOVE OR ALTER! */ /* - * Copyright 1999-2002,2004,2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * @@ -18,8 +19,6 @@ * limitations under the License. */ - - // Sep 14, 2000: // Fixed problem with namespace handling. Contributed by // David Blondeau @@ -33,22 +32,20 @@ // Aug 21, 2000: // Added ability to omit DOCTYPE declaration. - package com.sun.org.apache.xml.internal.serialize; - import java.io.IOException; import java.io.OutputStream; import java.io.Writer; import com.sun.org.apache.xerces.internal.dom.DOMMessageFormatter; -import com.sun.org.apache.xerces.internal.impl.Constants; import com.sun.org.apache.xerces.internal.util.NamespaceSupport; import com.sun.org.apache.xerces.internal.util.SymbolTable; import com.sun.org.apache.xerces.internal.util.XML11Char; import com.sun.org.apache.xerces.internal.util.XMLChar; -import org.xml.sax.SAXException; import org.w3c.dom.DOMError; +import org.w3c.dom.Document; +import org.xml.sax.SAXException; /** * Implements an XML serializer supporting both DOM and SAX pretty @@ -62,9 +59,9 @@ import org.w3c.dom.DOMError; * The serializer supports both DOM and SAX. SAX serializing is done by firing * SAX events and using the serializer as a document handler. DOM serializing is done * by calling {@link #serialize(Document)} or by using DOM Level 3 - * {@link org.w3c.dom.ls.DOMSerializer} and - * serializing with {@link org.w3c.dom.ls.DOMSerializer#write}, - * {@link org.w3c.dom.ls.DOMSerializer#writeToString}. + * {@link org.w3c.dom.ls.LSSerializer} and + * serializing with {@link org.w3c.dom.ls.LSSerializer#write}, + * {@link org.w3c.dom.ls.LSSerializer#writeToString}. *

* If an I/O exception occurs while serializing, the serializer * will not throw an exception directly, but only throw it @@ -122,10 +119,6 @@ extends XMLSerializer { */ protected boolean fNamespaces = false; - - private boolean fPreserveSpace; - - /** * Constructs a new serializer. The serializer cannot be used without * calling {@link #setOutputCharStream} or {@link #setOutputByteStream} @@ -217,26 +210,27 @@ extends XMLSerializer { if (!XML11Char.isXML11Valid(ch)) { // check if it is surrogate if (++index < end) { - surrogates(ch, chars[index]); + surrogates(ch, chars[index], true); } else { - fatalError("The character '"+(char)ch+"' is an invalid XML character"); + fatalError("The character '"+ch+"' is an invalid XML character"); } continue; - } else { - if ( _encodingInfo.isPrintable((char)ch) && XML11Char.isXML11ValidLiteral(ch)) { - _printer.printText((char)ch); - } else { - // The character is not printable -- split CDATA section - _printer.printText("]]>&#x"); - _printer.printText(Integer.toHexString(ch)); - _printer.printText(";&#x"); + _printer.printText(Integer.toHexString(ch)); + _printer.printText(";= ' ' && _encodingInfo.isPrintable((char) ch))) { - _printer.printText((char) ch); - } else { - printHex(ch); - } + if (ch == '\n' || ch == '\r' || ch == '\t' || ch == 0x0085 || ch == 0x2028) { + printHex(ch); + } + else if (ch == '<') { + _printer.printText("<"); + } + else if (ch == '&') { + _printer.printText("&"); + } + else if (ch == '"') { + _printer.printText("""); + } + else if ((ch >= ' ' && _encodingInfo.isPrintable((char) ch))) { + _printer.printText((char) ch); + } + else { + printHex(ch); + } } } @@ -344,54 +345,55 @@ extends XMLSerializer { if (!XML11Char.isXML11Valid(ch)) { // check if it is surrogate if (++index < length) { - surrogates(ch, text.charAt(index)); - } else { - fatalError( - "The character '" - + (char) ch - + "' is an invalid XML character"); + surrogates(ch, text.charAt(index), true); + } + else { + fatalError("The character '" + ch + "' is an invalid XML character"); } continue; - } else { - if (_encodingInfo.isPrintable((char) ch) - && XML11Char.isXML11ValidLiteral(ch)) { - _printer.printText((char) ch); - } else { - - // The character is not printable -- split CDATA section - _printer.printText("]]>&#x"); - _printer.printText(Integer.toHexString(ch)); - _printer.printText(";&#x"); + _printer.printText(Integer.toHexString(ch)); + _printer.printText(";'){ - // character sequence "]]>" can't appear in content, therefore - // we should escape '>' - _printer.printText(">"); - } else if ( _encodingInfo.isPrintable((char)ch) && XML11Char.isXML11ValidLiteral(ch)) { + } + else if (ch == '>'){ + // character sequence "]]>" can't appear in content, therefore + // we should escape '>' + _printer.printText(">"); + } + else if ( _encodingInfo.isPrintable((char)ch) && XML11Char.isXML11ValidLiteral(ch)) { _printer.printText((char)ch); - } else { - printHex(ch); + } + else { + printHex(ch); } } - protected final void surrogates(int high, int low) throws IOException{ + protected final void surrogates(int high, int low, boolean inContent) throws IOException{ if (XMLChar.isHighSurrogate(high)) { if (!XMLChar.isLowSurrogate(low)) { //Invalid XML @@ -404,7 +406,7 @@ extends XMLSerializer { fatalError("The character '"+(char)supplemental+"' is an invalid XML character"); } else { - if (content().inCData ) { + if (inContent && content().inCData) { _printer.printText("]]>&#x"); _printer.printText(Integer.toHexString(supplemental)); _printer.printText("; 0 ) { - ch = chars[start++]; + char ch = chars[start++]; if (!XML11Char.isXML11Valid(ch)) { // check if it is surrogate if ( length-- > 0) { - surrogates(ch, chars[start++]); + surrogates(ch, chars[start++], true); } else { - fatalError("The character '"+(char)ch+"' is an invalid XML character"); + fatalError("The character '"+ch+"' is an invalid XML character"); } continue; } - if ( unescaped && XML11Char.isXML11ValidLiteral(ch)) + if ( unescaped && XML11Char.isXML11ValidLiteral(ch)) { _printer.printText( ch ); - else + } + else { printXMLChar( ch ); + } } - } else { + } + else { // Not preserving spaces: print one part at a time, and // use spaces between parts to break them into different // lines. Spaces at beginning of line will be stripped // by printing mechanism. Line terminator is treated // no different than other text part. while ( length-- > 0 ) { - ch = chars[start++]; + char ch = chars[start++]; if (!XML11Char.isXML11Valid(ch)) { // check if it is surrogate if ( length-- > 0) { - surrogates(ch, chars[start++]); + surrogates(ch, chars[start++], true); } else { - fatalError("The character '"+(char)ch+"' is an invalid XML character"); + fatalError("The character '"+ch+"' is an invalid XML character"); } continue; } - if ( unescaped && XML11Char.isXML11ValidLiteral(ch)) + if ( unescaped && XML11Char.isXML11ValidLiteral(ch)) { _printer.printText( ch ); - else + } + else { printXMLChar( ch ); + } } } } - public boolean reset() { super.reset(); return true; - } } diff --git a/jaxp/src/com/sun/org/apache/xml/internal/serialize/XMLSerializer.java b/jaxp/src/com/sun/org/apache/xml/internal/serialize/XMLSerializer.java index e33fb5171b0..884fd4b5fe5 100644 --- a/jaxp/src/com/sun/org/apache/xml/internal/serialize/XMLSerializer.java +++ b/jaxp/src/com/sun/org/apache/xml/internal/serialize/XMLSerializer.java @@ -3,11 +3,12 @@ * DO NOT REMOVE OR ALTER! */ /* - * Copyright 1999-2002,2004,2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * @@ -18,8 +19,6 @@ * limitations under the License. */ - - // Sep 14, 2000: // Fixed problem with namespace handling. Contributed by // David Blondeau @@ -33,14 +32,13 @@ // Aug 21, 2000: // Added ability to omit DOCTYPE declaration. - package com.sun.org.apache.xml.internal.serialize; - import java.io.IOException; import java.io.OutputStream; import java.io.Writer; -import java.util.Enumeration; +import java.util.Iterator; +import java.util.Map; import com.sun.org.apache.xerces.internal.dom.DOMMessageFormatter; import com.sun.org.apache.xerces.internal.util.NamespaceSupport; @@ -50,6 +48,7 @@ import com.sun.org.apache.xerces.internal.util.XMLSymbols; import com.sun.org.apache.xerces.internal.xni.NamespaceContext; import org.w3c.dom.Attr; import org.w3c.dom.DOMError; +import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -71,9 +70,9 @@ import org.xml.sax.helpers.AttributesImpl; * The serializer supports both DOM and SAX. SAX serializing is done by firing * SAX events and using the serializer as a document handler. DOM serializing is done * by calling {@link #serialize(Document)} or by using DOM Level 3 - * {@link org.w3c.dom.ls.DOMSerializer} and - * serializing with {@link org.w3c.dom.ls.DOMSerializer#write}, - * {@link org.w3c.dom.ls.DOMSerializer#writeToString}. + * {@link org.w3c.dom.ls.LSSerializer} and + * serializing with {@link org.w3c.dom.ls.LSSerializer#write}, + * {@link org.w3c.dom.ls.LSSerializer#writeToString}. *

* If an I/O exception occurs while serializing, the serializer * will not throw an exception directly, but only throw it @@ -195,7 +194,7 @@ extends BaseMarkupSerializer { /** * This methods turns on namespace fixup algorithm during * DOM serialization. - * @see org.w3c.dom.ls.DOMSerializer + * @see org.w3c.dom.ls.LSSerializer * * @param namespaces */ @@ -222,7 +221,6 @@ extends BaseMarkupSerializer { ElementState state; String name; String value; - boolean addNSAttr = false; if (DEBUG) { System.out.println("==>startElement("+namespaceURI+","+localName+ @@ -277,13 +275,16 @@ extends BaseMarkupSerializer { if (namespaceURI != null && ! namespaceURI.equals( "" )) { String prefix; prefix = getPrefix( namespaceURI ); - if (prefix != null && prefix.length() > 0) + if (prefix != null && prefix.length() > 0) { rawName = prefix + ":" + localName; - else + } + else { rawName = localName; - } else + } + } + else { rawName = localName; - addNSAttr = true; + } } _printer.printText( '<' ); @@ -334,18 +335,18 @@ extends BaseMarkupSerializer { } if (_prefixes != null) { - Enumeration keys; - - keys = _prefixes.keys(); - while (keys.hasMoreElements()) { + Iterator entries = _prefixes.entrySet().iterator(); + while (entries.hasNext()) { _printer.printSpace(); - value = (String) keys.nextElement(); - name = (String) _prefixes.get( value ); + Map.Entry entry = (Map.Entry) entries.next(); + value = (String) entry.getKey(); + name = (String) entry.getValue(); if (name.length() == 0) { _printer.printText( "xmlns=\"" ); printEscaped( value ); _printer.printText( '"' ); - } else { + } + else { _printer.printText( "xmlns:" ); _printer.printText( name ); _printer.printText( "=\"" ); @@ -770,13 +771,11 @@ extends BaseMarkupSerializer { // xmlns:foo = "" } continue; - } else { // xmlns - // empty prefix is always bound ("" or some string) - - value = fSymbolTable.addSymbol(value); - fNSBinder.declarePrefix(XMLSymbols.EMPTY_STRING, value); - continue; } + // xmlns --- empty prefix is always bound ("" or some string) + value = fSymbolTable.addSymbol(value); + fNSBinder.declarePrefix(XMLSymbols.EMPTY_STRING, value); + continue; } // end-else: valid declaration } // end-if: namespace declaration } // end-for @@ -958,22 +957,20 @@ extends BaseMarkupSerializer { // xmlns:foo = "" } continue; - } else { // xmlns - // empty prefix is always bound ("" or some string) - - uri = fNSBinder.getURI(XMLSymbols.EMPTY_STRING); - localUri=fLocalNSBinder.getURI(XMLSymbols.EMPTY_STRING); - value = fSymbolTable.addSymbol(value); - if (localUri == null ){ - // declaration was not printed while fixing element namespace binding - if (fNamespacePrefixes) { - printNamespaceAttr(XMLSymbols.EMPTY_STRING, value); - } - // case 4 does not apply here since attributes can't use - // default namespace - } - continue; } + // xmlns --- empty prefix is always bound ("" or some string) + uri = fNSBinder.getURI(XMLSymbols.EMPTY_STRING); + localUri= fLocalNSBinder.getURI(XMLSymbols.EMPTY_STRING); + value = fSymbolTable.addSymbol(value); + if (localUri == null ) { + // declaration was not printed while fixing element namespace binding + if (fNamespacePrefixes) { + printNamespaceAttr(XMLSymbols.EMPTY_STRING, value); + } + // case 4 does not apply here since attributes can't use + // default namespace + } + continue; } uri = fSymbolTable.addSymbol(uri); @@ -1195,8 +1192,6 @@ extends BaseMarkupSerializer { AttributesImpl attrsOnly; String rawName; int i; - int indexColon; - String prefix; int length; if (attrs == null) { @@ -1233,7 +1228,7 @@ extends BaseMarkupSerializer { int ch = source.charAt(i); if (!XMLChar.isValid(ch)) { if (++i < length) { - surrogates(ch, source.charAt(i)); + surrogates(ch, source.charAt(i), false); } else { fatalError("The character '" + (char) ch + "' is an invalid XML character"); } @@ -1291,16 +1286,17 @@ extends BaseMarkupSerializer { if (!XMLChar.isValid(ch)) { // check if it is surrogate if (++index 0 ) { - ch = chars[start++]; + char ch = chars[start++]; if (!XMLChar.isValid(ch)) { // check if it is surrogate if ( length-- > 0 ) { - surrogates(ch, chars[start++]); + surrogates(ch, chars[start++], true); } else { - fatalError("The character '"+(char)ch+"' is an invalid XML character"); + fatalError("The character '"+ch+"' is an invalid XML character"); } continue; } @@ -1363,13 +1358,13 @@ extends BaseMarkupSerializer { // by printing mechanism. Line terminator is treated // no different than other text part. while ( length-- > 0 ) { - ch = chars[start++]; + char ch = chars[start++]; if (!XMLChar.isValid(ch)) { // check if it is surrogate if ( length-- > 0 ) { - surrogates(ch, chars[start++]); + surrogates(ch, chars[start++], true); } else { - fatalError("The character '"+(char)ch+"' is an invalid XML character"); + fatalError("The character '"+ch+"' is an invalid XML character"); } continue; } diff --git a/jaxws/.hgtags b/jaxws/.hgtags index 705ba65194d..a7525e9cd6a 100644 --- a/jaxws/.hgtags +++ b/jaxws/.hgtags @@ -252,3 +252,4 @@ efe2bc258c78af49de9517a4a5699d3a2e630c44 jdk9-b02 da44a8bdf1f3fdd518e7d785d60cc1b15983b176 jdk9-b04 eae966c8133fec0a8bf9e16d1274a4ede3c0fb52 jdk9-b05 cf0a6e41670f990414cd337000ad5f3bd1908073 jdk9-b06 +856a9132f506cafe2f251c1a16a0b14e4d16048d jdk9-b07 diff --git a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/JDefinedClass.java b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/JDefinedClass.java index faf99d0a4d4..d0b234864d1 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/JDefinedClass.java +++ b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/JDefinedClass.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, 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 @@ -71,6 +71,9 @@ public class JDefinedClass /** Static initializer, if this class has one */ private JBlock init = null; + /** Instance initializer, if this class has one */ + private JBlock instanceInit = null; + /** class javadoc */ private JDocComment jdoc = null; @@ -517,6 +520,18 @@ public class JDefinedClass return init; } + /** + * Creates, if necessary, and returns the instance initializer + * for this class. + * + * @return JBlock containing initialization statements for this class + */ + public JBlock instanceInit() { + if (instanceInit == null) + instanceInit = new JBlock(); + return instanceInit; + } + /** * Adds a constructor to this class. * @@ -793,6 +808,8 @@ public class JDefinedClass f.d(field); if (init != null) f.nl().p("static").s(init); + if (instanceInit != null) + f.nl().s(instanceInit); for (JMethod m : constructors) { f.nl().d(m); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/EncoderFactory.java b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/EncoderFactory.java index 15905039cc8..f11c4e376d6 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/EncoderFactory.java +++ b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/EncoderFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, 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 @@ -28,46 +28,20 @@ */ package com.sun.codemodel.internal.util; -import java.lang.reflect.Constructor; import java.nio.charset.Charset; import java.nio.charset.CharsetEncoder; /** * Creates {@link CharsetEncoder} from a charset name. * - * Fixes a MS1252 handling bug in JDK1.4.2. - * * @author * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) */ public class EncoderFactory { - public static CharsetEncoder createEncoder( String encodin ) { + public static CharsetEncoder createEncoder( String encodin ) { Charset cs = Charset.forName(System.getProperty("file.encoding")); CharsetEncoder encoder = cs.newEncoder(); - - if( cs.getClass().getName().equals("sun.nio.cs.MS1252") ) { - try { - // at least JDK1.4.2_01 has a bug in MS1252 encoder. - // specifically, it returns true for any character. - // return a correct encoder to workaround this problem - - // statically binding to MS1252Encoder will cause a Link error - // (at least in IBM JDK1.4.1) - @SuppressWarnings("unchecked") - Class ms1252encoder = (Class) Class.forName("com.sun.codemodel.internal.util.MS1252Encoder"); - Constructor c = ms1252encoder.getConstructor(new Class[]{ - Charset.class - }); - return c.newInstance(new Object[]{cs}); - } catch( Throwable t ) { - // if something funny happens, ignore it and fall back to - // a broken MS1252 encoder. It's probably still better - // than choking here. - return encoder; - } - } - return encoder; } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/MS1252Encoder.java b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/MS1252Encoder.java deleted file mode 100644 index 709dee31ac5..00000000000 --- a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/MS1252Encoder.java +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright (c) 1997, 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. - */ - -/* - * @(#)$Id: MS1252Encoder.java,v 1.2 2005/09/10 19:07:33 kohsuke Exp $ - */ -package com.sun.codemodel.internal.util; - -import java.nio.charset.Charset; - -/** - * MS1252 encoder that corrects a bug in JDK1.4.2_01. - * - *

- * See - * http://www.microsoft.com/globaldev/reference/sbcs/1252.htm - * for the normative definition. - * - * This code depends on Sun internal package, so we have to make sure - * it won't be executed on other JDKs. - */ -public final class MS1252Encoder extends SingleByteEncoder { - - public MS1252Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u008A\u009A\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u008E\u009E\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u0000" + - "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" + - "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" + - "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 461, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 698, 920, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - }; - - public boolean canEncode(char c) { - char test = index2.charAt( index1[(c&0xFF00)>>8] + (c&0xFF) ); - return test!=0; - } - -} diff --git a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/SingleByteEncoder.java b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/SingleByteEncoder.java deleted file mode 100644 index 3ae1afba7f8..00000000000 --- a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/SingleByteEncoder.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright (c) 1997, 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. - */ - -/* - * @(#)SingleByteEncoder.java 1.14 03/01/23 - */ - -package com.sun.codemodel.internal.util; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CoderResult; - -import sun.nio.cs.Surrogate; - - -abstract class SingleByteEncoder - extends CharsetEncoder -{ - - private final short index1[]; - private final String index2; - private final int mask1; - private final int mask2; - private final int shift; - - private final Surrogate.Parser sgp = new Surrogate.Parser(); - - protected SingleByteEncoder(Charset cs, - short[] index1, String index2, - int mask1, int mask2, int shift) - { - super(cs, 1.0f, 1.0f); - this.index1 = index1; - this.index2 = index2; - this.mask1 = mask1; - this.mask2 = mask2; - this.shift = shift; - } - - public boolean canEncode(char c) { - char testEncode; - testEncode = index2.charAt(index1[(c & mask1) >> shift] - + (c & mask2)); - if (testEncode == '\u0000') - return false; - else - return true; - } - - private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) { - char[] sa = src.array(); - int sp = src.arrayOffset() + src.position(); - int sl = src.arrayOffset() + src.limit(); - sp = (sp <= sl ? sp : sl); - byte[] da = dst.array(); - int dp = dst.arrayOffset() + dst.position(); - int dl = dst.arrayOffset() + dst.limit(); - dp = (dp <= dl ? dp : dl); - - try { - while (sp < sl) { - char c = sa[sp]; - if (Surrogate.is(c)) { - if (sgp.parse(c, sa, sp, sl) < 0) - return sgp.error(); - return sgp.unmappableResult(); - } - if (c >= '\uFFFE') - return CoderResult.unmappableForLength(1); - if (dl - dp < 1) - return CoderResult.OVERFLOW; - - char e = index2.charAt(index1[(c & mask1) >> shift] - + (c & mask2)); - - // If output byte is zero because input char is zero - // then character is mappable, o.w. fail - if (e == '\u0000' && c != '\u0000') - return CoderResult.unmappableForLength(1); - - sp++; - da[dp++] = (byte)e; - } - return CoderResult.UNDERFLOW; - } finally { - src.position(sp - src.arrayOffset()); - dst.position(dp - dst.arrayOffset()); - } - } - - private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) { - int mark = src.position(); - try { - while (src.hasRemaining()) { - char c = src.get(); - if (Surrogate.is(c)) { - if (sgp.parse(c, src) < 0) - return sgp.error(); - return sgp.unmappableResult(); - } - if (c >= '\uFFFE') - return CoderResult.unmappableForLength(1); - if (!dst.hasRemaining()) - return CoderResult.OVERFLOW; - - char e = index2.charAt(index1[(c & mask1) >> shift] - + (c & mask2)); - - // If output byte is zero because input char is zero - // then character is mappable, o.w. fail - if (e == '\u0000' && c != '\u0000') - return CoderResult.unmappableForLength(1); - - mark++; - dst.put((byte)e); - } - return CoderResult.UNDERFLOW; - } finally { - src.position(mark); - } - } - - protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) { - if (true && src.hasArray() && dst.hasArray()) - return encodeArrayLoop(src, dst); - else - return encodeBufferLoop(src, dst); - } - - public byte encode(char inputChar) { - return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] + - (inputChar & mask2)); - } -} diff --git a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/Surrogate.java b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/Surrogate.java deleted file mode 100644 index 51bb024c042..00000000000 --- a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/util/Surrogate.java +++ /dev/null @@ -1,355 +0,0 @@ -/* - * Copyright (c) 1997, 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 com.sun.codemodel.internal.util; - -import java.nio.CharBuffer; -import java.nio.charset.CoderResult; - - -/** - * Utility class for dealing with surrogates. - * - * @author Mark Reinhold - * @version 1.11, 03/01/23 - */ - -class Surrogate { - - private Surrogate() { } - - // UTF-16 surrogate-character ranges - // - public static final char MIN_HIGH = '\uD800'; - public static final char MAX_HIGH = '\uDBFF'; - public static final char MIN_LOW = '\uDC00'; - public static final char MAX_LOW = '\uDFFF'; - public static final char MIN = MIN_HIGH; - public static final char MAX = MAX_LOW; - - // Range of UCS-4 values that need surrogates in UTF-16 - // - public static final int UCS4_MIN = 0x10000; - public static final int UCS4_MAX = (1 << 20) + UCS4_MIN - 1; - - /** - * Tells whether or not the given UTF-16 value is a high surrogate. - */ - public static boolean isHigh(int c) { - return (MIN_HIGH <= c) && (c <= MAX_HIGH); - } - - /** - * Tells whether or not the given UTF-16 value is a low surrogate. - */ - public static boolean isLow(int c) { - return (MIN_LOW <= c) && (c <= MAX_LOW); - } - - /** - * Tells whether or not the given UTF-16 value is a surrogate character, - */ - public static boolean is(int c) { - return (MIN <= c) && (c <= MAX); - } - - /** - * Tells whether or not the given UCS-4 character must be represented as a - * surrogate pair in UTF-16. - */ - public static boolean neededFor(int uc) { - return (uc >= UCS4_MIN) && (uc <= UCS4_MAX); - } - - /** - * Returns the high UTF-16 surrogate for the given UCS-4 character. - */ - public static char high(int uc) { - return (char)(0xd800 | (((uc - UCS4_MIN) >> 10) & 0x3ff)); - } - - /** - * Returns the low UTF-16 surrogate for the given UCS-4 character. - */ - public static char low(int uc) { - return (char)(0xdc00 | ((uc - UCS4_MIN) & 0x3ff)); - } - - /** - * Converts the given surrogate pair into a 32-bit UCS-4 character. - */ - public static int toUCS4(char c, char d) { - return (((c & 0x3ff) << 10) | (d & 0x3ff)) + 0x10000; - } - - /** - * Surrogate parsing support. Charset implementations may use instances of - * this class to handle the details of parsing UTF-16 surrogate pairs. - */ - public static class Parser { - - public Parser() { } - - private int character; // UCS-4 - private CoderResult error = CoderResult.UNDERFLOW; - private boolean isPair; - - /** - * Returns the UCS-4 character previously parsed. - */ - public int character() { - return character; - } - - /** - * Tells whether or not the previously-parsed UCS-4 character was - * originally represented by a surrogate pair. - */ - public boolean isPair() { - return isPair; - } - - /** - * Returns the number of UTF-16 characters consumed by the previous - * parse. - */ - public int increment() { - return isPair ? 2 : 1; - } - - /** - * If the previous parse operation detected an error, return the object - * describing that error. - */ - public CoderResult error() { - return error; - } - - /** - * Returns an unmappable-input result object, with the appropriate - * input length, for the previously-parsed character. - */ - public CoderResult unmappableResult() { - return CoderResult.unmappableForLength(isPair ? 2 : 1); - } - - /** - * Parses a UCS-4 character from the given source buffer, handling - * surrogates. - * - * @param c The first character - * @param in The source buffer, from which one more character - * will be consumed if c is a high surrogate - * - * @return Either a parsed UCS-4 character, in which case the isPair() - * and increment() methods will return meaningful values, or - * -1, in which case error() will return a descriptive result - * object - */ - public int parse(char c, CharBuffer in) { - if (isHigh(c)) { - if (!in.hasRemaining()) { - error = CoderResult.UNDERFLOW; - return -1; - } - char d = in.get(); - if (isLow(d)) { - character = toUCS4(c, d); - isPair = true; - error = null; - return character; - } - error = CoderResult.malformedForLength(1); - return -1; - } - if (isLow(c)) { - error = CoderResult.malformedForLength(1); - return -1; - } - character = c; - isPair = false; - error = null; - return character; - } - - /** - * Parses a UCS-4 character from the given source buffer, handling - * surrogates. - * - * @param c The first character - * @param ia The input array, from which one more character - * will be consumed if c is a high surrogate - * @param ip The input index - * @param il The input limit - * - * @return Either a parsed UCS-4 character, in which case the isPair() - * and increment() methods will return meaningful values, or - * -1, in which case error() will return a descriptive result - * object - */ - public int parse(char c, char[] ia, int ip, int il) { - if (isHigh(c)) { - if (il - ip < 2) { - error = CoderResult.UNDERFLOW; - return -1; - } - char d = ia[ip + 1]; - if (isLow(d)) { - character = toUCS4(c, d); - isPair = true; - error = null; - return character; - } - error = CoderResult.malformedForLength(1); - return -1; - } - if (isLow(c)) { - error = CoderResult.malformedForLength(1); - return -1; - } - character = c; - isPair = false; - error = null; - return character; - } - - } - - /** - * Surrogate generation support. Charset implementations may use instances - * of this class to handle the details of generating UTF-16 surrogate - * pairs. - */ - public static class Generator { - - public Generator() { } - - private CoderResult error = CoderResult.OVERFLOW; - - /** - * If the previous generation operation detected an error, return the - * object describing that error. - */ - public CoderResult error() { - return error; - } - - /** - * Generates one or two UTF-16 characters to represent the given UCS-4 - * character. - * - * @param uc The UCS-4 character - * @param len The number of input bytes from which the UCS-4 value - * was constructed (used when creating result objects) - * @param dst The destination buffer, to which one or two UTF-16 - * characters will be written - * - * @return Either a positive count of the number of UTF-16 characters - * written to the destination buffer, or -1, in which case - * error() will return a descriptive result object - */ - public int generate(int uc, int len, CharBuffer dst) { - if (uc <= 0xffff) { - if (is(uc)) { - error = CoderResult.malformedForLength(len); - return -1; - } - if (dst.remaining() < 1) { - error = CoderResult.OVERFLOW; - return -1; - } - dst.put((char)uc); - error = null; - return 1; - } - if (uc < UCS4_MIN) { - error = CoderResult.malformedForLength(len); - return -1; - } - if (uc <= UCS4_MAX) { - if (dst.remaining() < 2) { - error = CoderResult.OVERFLOW; - return -1; - } - dst.put(high(uc)); - dst.put(low(uc)); - error = null; - return 2; - } - error = CoderResult.unmappableForLength(len); - return -1; - } - - /** - * Generates one or two UTF-16 characters to represent the given UCS-4 - * character. - * - * @param uc The UCS-4 character - * @param len The number of input bytes from which the UCS-4 value - * was constructed (used when creating result objects) - * @param da The destination array, to which one or two UTF-16 - * characters will be written - * @param dp The destination position - * @param dl The destination limit - * - * @return Either a positive count of the number of UTF-16 characters - * written to the destination buffer, or -1, in which case - * error() will return a descriptive result object - */ - public int generate(int uc, int len, char[] da, int dp, int dl) { - if (uc <= 0xffff) { - if (is(uc)) { - error = CoderResult.malformedForLength(len); - return -1; - } - if (dl - dp < 1) { - error = CoderResult.OVERFLOW; - return -1; - } - da[dp] = (char)uc; - error = null; - return 1; - } - if (uc < UCS4_MIN) { - error = CoderResult.malformedForLength(len); - return -1; - } - if (uc <= UCS4_MAX) { - if (dl - dp < 2) { - error = CoderResult.OVERFLOW; - return -1; - } - da[dp] = high(uc); - da[dp + 1] = low(uc); - error = null; - return 2; - } - error = CoderResult.unmappableForLength(len); - return -1; - } - - } - -} diff --git a/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/writer/OutputStreamCodeWriter.java b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/writer/OutputStreamCodeWriter.java new file mode 100644 index 00000000000..76a0c9aecbf --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/codemodel/internal/writer/OutputStreamCodeWriter.java @@ -0,0 +1,73 @@ +/* + * 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 + * 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. + */ + +/** + * Output all source files into a single stream. + * + * This is primarily for test purposes. + * + * @author + * Aleksei Valikov (valikov@gmx.net) + */ +package com.sun.codemodel.internal.writer; + +import java.io.FilterOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.PrintStream; +import java.io.UnsupportedEncodingException; + +import com.sun.codemodel.internal.CodeWriter; +import com.sun.codemodel.internal.JPackage; + +public class OutputStreamCodeWriter extends CodeWriter { + private final PrintStream out; + + /** + * @param os + * This stream will be closed at the end of the code generation. + */ + public OutputStreamCodeWriter(OutputStream os, String encoding) { + try { + this.out = new PrintStream(os, false, encoding); + } catch (UnsupportedEncodingException ueex) { + throw new IllegalArgumentException(ueex); + } + this.encoding = encoding; + } + + public OutputStream openBinary(JPackage pkg, String fileName) + throws IOException { + return new FilterOutputStream(out) { + public void close() { + // don't let this stream close + } + }; + } + + public void close() throws IOException { + out.close(); + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties index 527ef0f4edd..dccb9d28c58 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties @@ -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 @@ -30,10 +30,10 @@ BASEDIR_DOESNT_EXIST = \ Non-existent directory: {0} VERSION = \ - schemagen 2.2.8-b130911.1802 + schemagen 2.2.9-b140218.1920 FULLVERSION = \ - schemagen full version "2.2.8-b130911.1802" + schemagen full version "2.2.9-b140218.1920" USAGE = \ Usage: schemagen [-options ...] \n\ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties index 0bd53b420ed..5a4be779856 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Nicht erkanntes {0} in Zeile {1} Spalte {2} BASEDIR_DOESNT_EXIST = Nicht vorhandenes Verzeichnis: {0} -VERSION = schemagen 2.2.8-b130911.1802 +VERSION = schemagen 2.2.9-b140218.1920 -FULLVERSION = schemagen vollst\u00E4ndige Version "2.2.8-b130911.1802" +FULLVERSION = schemagen vollst\u00E4ndige Version "2.2.9-b140218.1920" USAGE = Verwendung: schemagen [-options ...] \nOptionen: \n\\ \\ \\ \\ -d : Gibt an, wo die von Prozessor und javac generierten Klassendateien gespeichert werden sollen\n\\ \\ \\ \\ -cp : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -classpath : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -encoding : Gibt die Codierung f\u00FCr die Annotationsverarbeitung/den javac-Aufruf an \n\\ \\ \\ \\ -episode : Generiert Episodendatei f\u00FCr separate Kompilierung\n\\ \\ \\ \\ -version : Zeigt Versionsinformation an\n\\ \\ \\ \\ -fullversion : Zeigt vollst\u00E4ndige Versionsinformationen an\n\\ \\ \\ \\ -help : Zeigt diese Verwendungsmeldung an diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties index 98e9702f276..938fbb767c6 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Aparece un {0} inesperado en la l\u00EDnea {1} y la colu BASEDIR_DOESNT_EXIST = Directorio no existente: {0} -VERSION = schemagen 2.2.8-b130911.1802 +VERSION = schemagen 2.2.9-b140218.1920 -FULLVERSION = versi\u00F3n completa de schemagen "2.2.8-b130911.1802" +FULLVERSION = versi\u00F3n completa de schemagen "2.2.9-b140218.1920" USAGE = Sintaxis: schemagen [-options ...] \nOpciones: \n\\ \\ \\ \\ -d : especifique d\u00F3nde se colocan los archivos de clase generados por javac y el procesador\n\\ \\ \\ \\ -cp : especifique d\u00F3nde se encuentran los archivos especificados por el usuario\n\\ \\ \\ \\ -encoding : especifique la codificaci\u00F3n que se va a utilizar para el procesamiento de anotaciones/llamada de javac\n\\ \\ \\ \\ -episode : genera un archivo de episodio para una compilaci\u00F3n diferente\n\\ \\ \\ \\ -version : muestra la informaci\u00F3n de la versi\u00F3n\n\\ \\ \\ \\ -fullversion : muestra la informaci\u00F3n completa de la versi\u00F3n\n\\ \\ \\ \\ -help : muestra este mensaje de sintaxis diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties index 10c3b15b701..183fdfdcb8d 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Un \u00E9l\u00E9ment {0} inattendu appara\u00EEt \u00E0 BASEDIR_DOESNT_EXIST = R\u00E9pertoire {0} inexistant -VERSION = schemagen 2.2.8-b130911.1802 +VERSION = schemagen 2.2.9-b140218.1920 -FULLVERSION = version compl\u00E8te de schemagen "2.2.8-b130911.1802" +FULLVERSION = version compl\u00E8te de schemagen "2.2.9-b140218.1920" USAGE = Syntaxe : schemagen [-options ...] \nOptions : \n\ \ \ \ -d : indiquez o\u00F9 placer les fichiers de classe g\u00E9n\u00E9r\u00E9s par le processeur et le compilateur javac\n\ \ \ \ -cp : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -classpath : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -encoding : indiquez l'encodage \u00E0 utiliser pour l'appel de javac/traitement de l'annotation \n\ \ \ \ -episode : g\u00E9n\u00E9rez un fichier d'\u00E9pisode pour la compilation s\u00E9par\u00E9e\n\ \ \ \ -version : affichez les informations de version\n\ \ \ \ -fullversion : affichez les informations compl\u00E8tes de version\n\ \ \ \ -help : affichez ce message de syntaxe diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties index 4cb120188fc..9275c115286 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = {0} imprevisto visualizzato sulla riga {1} colonna {2} BASEDIR_DOESNT_EXIST = Directory non esistente: {0} -VERSION = schemagen 2.2.8-b130911.1802 +VERSION = schemagen 2.2.9-b140218.1920 -FULLVERSION = versione completa schemagen "2.2.8-b130911.1802" +FULLVERSION = versione completa schemagen "2.2.9-b140218.1920" USAGE = Uso: schemagen [-options ...] \nOpzioni: \n\ \ \ \ -d : specifica dove posizionare il processore e i file della classe generata javac\n\ \ \ \ -cp : specifica dove trovare i file specificati dall'utente\n\ \ \ \ -classpath : specifica dove trovare i file specificati dall'utente\n\ \ \ \ -encoding : specifica la codifica da usare per l'elaborazione dell'annotazione/richiamo javac \n\ \ \ \ -episode : genera il file di episodio per la compilazione separata\n\ \ \ \ -version : visualizza le informazioni sulla versione\n\ \ \ \ -fullversion : visualizza le informazioni sulla versione completa\n\ \ \ \ -help : visualizza questo messaggio sull'uso diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties index 5e2fb5d1f46..f55d2632a9e 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = \u4E88\u671F\u3057\u306A\u3044{0}\u304C\u884C{1}\u3001\u BASEDIR_DOESNT_EXIST = \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u5B58\u5728\u3057\u307E\u305B\u3093: {0} -VERSION = schemagen 2.2.8-b130911.1802 +VERSION = schemagen 2.2.9-b140218.1920 -FULLVERSION = schemagen\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.8-b130911.1802" +FULLVERSION = schemagen\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.9-b140218.1920" USAGE = \u4F7F\u7528\u65B9\u6CD5: schemagen [-options ...] \n\u30AA\u30D7\u30B7\u30E7\u30F3: \n\ \ \ \ -d : \u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073javac\u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -cp : \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -classpath : \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -encoding : \u6CE8\u91C8\u51E6\u7406/javac\u547C\u51FA\u3057\u306B\u4F7F\u7528\u3059\u308B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -episode : \u30B3\u30F3\u30D1\u30A4\u30EB\u3054\u3068\u306B\u30A8\u30D4\u30BD\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3057\u307E\u3059\n\ \ \ \ -version : \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3057\u307E\u3059\n\ \ \ \ -fullversion : \u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3057\u307E\u3059\n\ \ \ \ -help : \u3053\u306E\u4F7F\u7528\u4F8B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3057\u307E\u3059 diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties index 2a2936f39fe..0070635d69d 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = \uC608\uC0C1\uCE58 \uC54A\uC740 {0}\uC774(\uAC00) {1}\uD BASEDIR_DOESNT_EXIST = \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uB514\uB809\uD1A0\uB9AC: {0} -VERSION = schemagen 2.2.8-b130911.1802 +VERSION = schemagen 2.2.9-b140218.1920 -FULLVERSION = schemagen \uC815\uC2DD \uBC84\uC804 "2.2.8-b130911.1802" +FULLVERSION = schemagen \uC815\uC2DD \uBC84\uC804 "2.2.9-b140218.1920" USAGE = \uC0AC\uC6A9\uBC95: schemagen [-options ...] \n\uC635\uC158: \n\ \ \ \ -d : \uD504\uB85C\uC138\uC11C \uBC0F javac\uC5D0\uC11C \uC0DD\uC131\uD55C \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uBC30\uCE58\uD560 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -cp : \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uD30C\uC77C\uC744 \uCC3E\uC744 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -classpath : \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uD30C\uC77C\uC744 \uCC3E\uC744 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -encoding : \uC8FC\uC11D \uCC98\uB9AC/javac \uD638\uCD9C\uC5D0 \uC0AC\uC6A9\uD560 \uC778\uCF54\uB529\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4. \n\ \ \ \ -episode : \uBCC4\uB3C4 \uCEF4\uD30C\uC77C\uC744 \uC704\uD574 episode \uD30C\uC77C\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4.\n\ \ \ \ -version : \uBC84\uC804 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\ \ \ \ -fullversion : \uC815\uC2DD \uBC84\uC804 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\ \ \ \ -help : \uC774 \uC0AC\uC6A9\uBC95 \uBA54\uC2DC\uC9C0\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4. diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties index 148448e1e1f..3ef7960b487 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = {0} inesperado aparece na linha {1} coluna {2} BASEDIR_DOESNT_EXIST = Diret\u00F3rio n\u00E3o existente: {0} -VERSION = gera\u00E7\u00E3o do esquema 2.2.8-b130911.1802 +VERSION = gera\u00E7\u00E3o do esquema 2.2.9-b140218.1920 -FULLVERSION = vers\u00E3o completa da gera\u00E7\u00E3o do esquema "2.2.8-b130911.1802" +FULLVERSION = vers\u00E3o completa da gera\u00E7\u00E3o do esquema "2.2.9-b140218.1920" USAGE = Uso: gera\u00E7\u00E3o do esquema [-options ...] \nOp\u00E7\u00F5es: \n\\ \\ \\ \\ -d : especificar onde colocar o processador e os arquivos da classe gerados por javac\n\\ \\ \\ \\ -cp : especificar onde localizar arquivos especificados pelo usu\u00E1rio\n\\ \\ \\ \\ -classpath : especificar onde localizar os arquivos especificados pelo usu\u00E1rio\n\\ \\ \\ \\ -encoding : especificar codifica\u00E7\u00E3o a ser usada para processamento de anota\u00E7\u00E3o/chamada javac \n\\ \\ \\ \\ -episode : gerar arquivo do epis\u00F3dio para compila\u00E7\u00E3o separada\n\\ \\ \\ \\ -version : exibir informa\u00E7\u00F5es da vers\u00E3o\n\\ \\ \\ \\ -fullversion : exibir informa\u00E7\u00F5es da vers\u00E3o completa\n\\ \\ \\ \\ -help : exibir esta mensagem de uso diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties index 09bac14c324..d800201019c 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = \u5728\u7B2C {1} \u884C, \u7B2C {2} \u5217\u51FA\u73B0\u BASEDIR_DOESNT_EXIST = \u4E0D\u5B58\u5728\u7684\u76EE\u5F55: {0} -VERSION = schemagen 2.2.8-b130911.1802 +VERSION = schemagen 2.2.9-b140218.1920 -FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.8-b130911.1802" +FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.9-b140218.1920" USAGE = \u7528\u6CD5: schemagen [-options ...] \n\u9009\u9879: \n\ \ \ \ -d : \u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -cp : \u6307\u5B9A\u67E5\u627E\u7528\u6237\u6307\u5B9A\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -classpath : \u6307\u5B9A\u67E5\u627E\u7528\u6237\u6307\u5B9A\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -encoding : \u6307\u5B9A\u7528\u4E8E\u6CE8\u91CA\u5904\u7406/javac \u8C03\u7528\u7684\u7F16\u7801\n\ \ \ \ -episode : \u751F\u6210\u7247\u6BB5\u6587\u4EF6\u4EE5\u4F9B\u5355\u72EC\u7F16\u8BD1\n\ \ \ \ -version : \u663E\u793A\u7248\u672C\u4FE1\u606F\n\ \ \ \ -fullversion : \u663E\u793A\u5B8C\u6574\u7684\u7248\u672C\u4FE1\u606F\n\ \ \ \ -help : \u663E\u793A\u6B64\u7528\u6CD5\u6D88\u606F diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties index 08fb9fe24e3..6976c6faf3c 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties @@ -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 @@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = \u672A\u9810\u671F\u7684 {0} \u986F\u793A\u65BC\u884C {1 BASEDIR_DOESNT_EXIST = \u4E0D\u5B58\u5728\u7684\u76EE\u9304: {0} -VERSION = schemagen 2.2.8-b130911.1802 +VERSION = schemagen 2.2.9-b140218.1920 -FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.8-b130911.1802" +FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.9-b140218.1920" USAGE = \u7528\u6CD5: schemagen [-options ...] \n\u9078\u9805: \n\\ \\ \\ \\ -d : \u6307\u5B9A\u8655\u7406\u5668\u4EE5\u53CA javac \u7522\u751F\u7684\u985E\u5225\u6A94\u6848\u653E\u7F6E\u4F4D\u7F6E\n\\ \\ \\ \\ -cp : \u6307\u5B9A\u8981\u5C0B\u627E\u4F7F\u7528\u8005\u6307\u5B9A\u6A94\u6848\u7684\u4F4D\u7F6E\n\\ \\ \\ \\ -classpath : \u6307\u5B9A\u8981\u5C0B\u627E\u4F7F\u7528\u8005\u6307\u5B9A\u6A94\u6848\u7684\u4F4D\u7F6E\n\\ \\ \\ \\ -encoding : \u6307\u5B9A\u8981\u7528\u65BC\u8A3B\u89E3\u8655\u7406/javac \u547C\u53EB\u7684\u7DE8\u78BC \n\\ \\ \\ \\ -episode : \u7522\u751F\u7368\u7ACB\u7DE8\u8B6F\u7684\u4E8B\u4EF6 (episode) \u6A94\u6848\n\\ \\ \\ \\ -version : \u986F\u793A\u7248\u672C\u8CC7\u8A0A\n\\ \\ \\ \\ -fullversion : \u986F\u793A\u5B8C\u6574\u7248\u672C\u8CC7\u8A0A\n\\ \\ \\ \\ -help : \u986F\u793A\u6B64\u7528\u6CD5\u8A0A\u606F diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/model/Message.java b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/model/Message.java index b3fff34c764..8d1386f5094 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/model/Message.java +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/model/Message.java @@ -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 @@ -177,7 +177,8 @@ public abstract class Message extends ModelObject { throw new AbortException(); } _parameters.add(p); - _parametersByName.put(p.getName(), p); + String name = p.getCustomName() != null ? p.getCustomName() : p.getName(); + _parametersByName.put(name, p); } public Parameter getParameterByName(String name) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java index 26c868d716e..ec8e5ec6abb 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java @@ -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 @@ -31,7 +31,6 @@ import com.sun.tools.internal.ws.util.ClassNameInfo; import com.sun.tools.internal.ws.wsdl.document.soap.SOAPStyle; import com.sun.xml.internal.ws.model.RuntimeModeler; -import javax.annotation.processing.ProcessingEnvironment; import javax.jws.Oneway; import javax.jws.WebMethod; import javax.jws.WebParam; @@ -609,12 +608,6 @@ public abstract class WebServiceVisitor extends SimpleElementVisitor6 +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn Driver.FilePrologComment = \ - This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 \n\ + This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.9-b140218.1920 \n\ See http://java.sun.com/xml/jaxb \n\ Any modifications to this file will be lost upon recompilation of the source schema. \n\ Generated on: {0} \n Driver.Version = \ - xjc 2.2.8-b130911.1802 + xjc 2.2.9-b140218.1920 Driver.FullVersion = \ - xjc full version "2.2.8-b130911.1802" + xjc full version "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties index 6c14d7cf277..51d70085075 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = Ein Schema wird kompiliert ... Driver.FailedToGenerateCode = Code konnte nicht erzeugt werden. -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 generiert \nSiehe http://java.sun.com/xml/jaxb \n\u00c4nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. \nGeneriert: {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.9-b140218.1920 generiert \nSiehe http://java.sun.com/xml/jaxb \n\u00c4nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. \nGeneriert: {0} \n -Driver.Version = xjc 2.2.8-b130911.1802 +Driver.Version = xjc 2.2.9-b140218.1920 -Driver.FullVersion = xjc vollst\u00E4ndige Version "2.2.8-b130911.1802" +Driver.FullVersion = xjc vollst\u00E4ndige Version "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties index e62bf41d574..acdbffd5ad1 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = Compilando un esquema... Driver.FailedToGenerateCode = Fallo al producir c\u00f3digo. -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = Este archivo ha sido generado por la arquitectura JavaTM para la implantaci\u00f3n de la referencia de enlace (JAXB) XML v2.2.8-b130911.1802 \nVisite http://java.sun.com/xml/jaxb \nTodas las modificaciones realizadas en este archivo se perder\u00e1n si se vuelve a compilar el esquema de origen. \nGenerado el: {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = Este archivo ha sido generado por la arquitectura JavaTM para la implantaci\u00f3n de la referencia de enlace (JAXB) XML v2.2.9-b140218.1920 \nVisite http://java.sun.com/xml/jaxb \nTodas las modificaciones realizadas en este archivo se perder\u00e1n si se vuelve a compilar el esquema de origen. \nGenerado el: {0} \n -Driver.Version = xjc 2.2.8-b130911.1802 +Driver.Version = xjc 2.2.9-b140218.1920 -Driver.FullVersion = versi\u00F3n completa de xjc "2.2.8-b130911.1802" +Driver.FullVersion = versi\u00F3n completa de xjc "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties index 36adafe095a..76aec21fd2d 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = compilation d'un sch\u00e9ma... Driver.FailedToGenerateCode = Echec de la production du code. -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = Ce fichier a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l''impl\u00e9mentation de r\u00e9f\u00e9rence JavaTM Architecture for XML Binding (JAXB), v2.2.8-b130911.1802 \nVoir http://java.sun.com/xml/jaxb \nToute modification apport\u00e9e \u00e0 ce fichier sera perdue lors de la recompilation du sch\u00e9ma source. \nG\u00e9n\u00e9r\u00e9 le : {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = Ce fichier a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l''impl\u00e9mentation de r\u00e9f\u00e9rence JavaTM Architecture for XML Binding (JAXB), v2.2.9-b140218.1920 \nVoir http://java.sun.com/xml/jaxb \nToute modification apport\u00e9e \u00e0 ce fichier sera perdue lors de la recompilation du sch\u00e9ma source. \nG\u00e9n\u00e9r\u00e9 le : {0} \n -Driver.Version = xjc 2.2.8-b130911.1802 +Driver.Version = xjc 2.2.9-b140218.1920 -Driver.FullVersion = version compl\u00E8te xjc "2.2.8-b130911.1802" +Driver.FullVersion = version compl\u00E8te xjc "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties index 93b1533ec2a..9a9a5332e5c 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = compilazione di uno schema in corso... Driver.FailedToGenerateCode = Produzione del codice non riuscita. -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = Questo file \u00e8 stato generato dall''architettura JavaTM per XML Binding (JAXB) Reference Implementation, v2.2.8-b130911.1802 \nVedere http://java.sun.com/xml/jaxb \nQualsiasi modifica a questo file andr\u00e0 persa durante la ricompilazione dello schema di origine. \nGenerato il: {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = Questo file \u00e8 stato generato dall''architettura JavaTM per XML Binding (JAXB) Reference Implementation, v2.2.9-b140218.1920 \nVedere http://java.sun.com/xml/jaxb \nQualsiasi modifica a questo file andr\u00e0 persa durante la ricompilazione dello schema di origine. \nGenerato il: {0} \n -Driver.Version = xjc 2.2.8-b130911.1802 +Driver.Version = xjc 2.2.9-b140218.1920 -Driver.FullVersion = versione completa xjc "2.2.8-b130911.1802" +Driver.FullVersion = versione completa xjc "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties index 088938a1b7f..8fc9f7b12fd 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = \u30b9\u30ad\u30fc\u30de\u306e\u30b3\u30f3\u30d1\u30a4\ Driver.FailedToGenerateCode = \u30b3\u30fc\u30c9\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = \u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3001JavaTM Architecture for XML Binding(JAXB) Reference Implementation\u3001v2.2.8-b130911.1802\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3057\u305f \nhttp://java.sun.com/xml/jaxb\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \n\u30bd\u30fc\u30b9\u30fb\u30b9\u30ad\u30fc\u30de\u306e\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306f\u5931\u308f\u308c\u307e\u3059\u3002 \n\u751f\u6210\u65e5: {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = \u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3001JavaTM Architecture for XML Binding(JAXB) Reference Implementation\u3001v2.2.9-b140218.1920\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3057\u305f \nhttp://java.sun.com/xml/jaxb\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \n\u30bd\u30fc\u30b9\u30fb\u30b9\u30ad\u30fc\u30de\u306e\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306f\u5931\u308f\u308c\u307e\u3059\u3002 \n\u751f\u6210\u65e5: {0} \n -Driver.Version = xjc 2.2.8-b130911.1802 +Driver.Version = xjc 2.2.9-b140218.1920 -Driver.FullVersion = xjc\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.8-b130911.1802" +Driver.FullVersion = xjc\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties index 5d2bc734884..7a34340441a 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = \uc2a4\ud0a4\ub9c8\ub97c \ucef4\ud30c\uc77c\ud558\ub294 Driver.FailedToGenerateCode = \ucf54\ub4dc \uc0dd\uc131\uc744 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = \uc774 \ud30c\uc77c\uc740 JAXB(JavaTM Architecture for XML Binding) \ucc38\uc870 \uad6c\ud604 2.2.8-b130911.1802 \ubc84\uc804\uc744 \ud1b5\ud574 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \nhttp://java.sun.com/xml/jaxb\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. \n\uc774 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uba74 \uc18c\uc2a4 \uc2a4\ud0a4\ub9c8\ub97c \uc7ac\ucef4\ud30c\uc77c\ud560 \ub54c \uc218\uc815 \uc0ac\ud56d\uc774 \uc190\uc2e4\ub429\ub2c8\ub2e4. \n\uc0dd\uc131 \ub0a0\uc9dc: {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = \uc774 \ud30c\uc77c\uc740 JAXB(JavaTM Architecture for XML Binding) \ucc38\uc870 \uad6c\ud604 2.2.9-b140218.1920 \ubc84\uc804\uc744 \ud1b5\ud574 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \nhttp://java.sun.com/xml/jaxb\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. \n\uc774 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uba74 \uc18c\uc2a4 \uc2a4\ud0a4\ub9c8\ub97c \uc7ac\ucef4\ud30c\uc77c\ud560 \ub54c \uc218\uc815 \uc0ac\ud56d\uc774 \uc190\uc2e4\ub429\ub2c8\ub2e4. \n\uc0dd\uc131 \ub0a0\uc9dc: {0} \n -Driver.Version = XJC 2.2.8-b130911.1802 +Driver.Version = XJC 2.2.9-b140218.1920 -Driver.FullVersion = XJC \uC815\uC2DD \uBC84\uC804 "2.2.8-b130911.1802" +Driver.FullVersion = XJC \uC815\uC2DD \uBC84\uC804 "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties index 04bad425657..3f422db793f 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = compilando um esquema... Driver.FailedToGenerateCode = Falha ao produzir o c\u00f3digo. -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = Este arquivo foi gerado pela Arquitetura JavaTM para Implementa\u00e7\u00e3o de Refer\u00eancia (JAXB) de Bind XML, v2.2.8-b130911.1802 \nConsulte http://java.sun.com/xml/jaxb \nTodas as modifica\u00e7\u00f5es neste arquivo ser\u00e3o perdidas ap\u00f3s a recompila\u00e7\u00e3o do esquema de origem. \nGerado em: {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = Este arquivo foi gerado pela Arquitetura JavaTM para Implementa\u00e7\u00e3o de Refer\u00eancia (JAXB) de Bind XML, v2.2.9-b140218.1920 \nConsulte http://java.sun.com/xml/jaxb \nTodas as modifica\u00e7\u00f5es neste arquivo ser\u00e3o perdidas ap\u00f3s a recompila\u00e7\u00e3o do esquema de origem. \nGerado em: {0} \n -Driver.Version = xjc 2.2.8-b130911.1802 +Driver.Version = xjc 2.2.9-b140218.1920 -Driver.FullVersion = vers\u00E3o completa de xjc "2.2.8-b130911.1802" +Driver.FullVersion = vers\u00E3o completa de xjc "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties index adf97c7caff..4a858e47f17 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = \u6b63\u5728\u7f16\u8bd1\u6a21\u5f0f... Driver.FailedToGenerateCode = \u65e0\u6cd5\u751f\u6210\u4ee3\u7801\u3002 -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = \u6b64\u6587\u4ef6\u662f\u7531 JavaTM Architecture for XML Binding (JAXB) \u5f15\u7528\u5b9e\u73b0 v2.2.8-b130911.1802 \u751f\u6210\u7684\n\u8bf7\u8bbf\u95ee http://java.sun.com/xml/jaxb \n\u5728\u91cd\u65b0\u7f16\u8bd1\u6e90\u6a21\u5f0f\u65f6, \u5bf9\u6b64\u6587\u4ef6\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u4e22\u5931\u3002\n\u751f\u6210\u65f6\u95f4: {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = \u6b64\u6587\u4ef6\u662f\u7531 JavaTM Architecture for XML Binding (JAXB) \u5f15\u7528\u5b9e\u73b0 v2.2.9-b140218.1920 \u751f\u6210\u7684\n\u8bf7\u8bbf\u95ee http://java.sun.com/xml/jaxb \n\u5728\u91cd\u65b0\u7f16\u8bd1\u6e90\u6a21\u5f0f\u65f6, \u5bf9\u6b64\u6587\u4ef6\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u4e22\u5931\u3002\n\u751f\u6210\u65f6\u95f4: {0} \n -Driver.Version = xjc 2.2.8-b130911.1802 +Driver.Version = xjc 2.2.9-b140218.1920 -Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.2.8-b130911.1802" +Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties index a8684e5ea84..add02eb0f7b 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties @@ -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 @@ -96,14 +96,14 @@ Driver.CompilingSchema = \u6b63\u5728\u7de8\u8b6f\u7db1\u8981... Driver.FailedToGenerateCode = \u7121\u6cd5\u7522\u751f\u7a0b\u5f0f\u78bc. -# DO NOT localize the 2.2.8-b130911.1802 string - it is a token for an mvn -Driver.FilePrologComment = \u6b64\u6a94\u6848\u662f\u7531 JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 \u6240\u7522\u751f \n\u8acb\u53c3\u95b1 http://java.sun.com/xml/jaxb \n\u4e00\u65e6\u91cd\u65b0\u7de8\u8b6f\u4f86\u6e90\u7db1\u8981, \u5c0d\u6b64\u6a94\u6848\u6240\u505a\u7684\u4efb\u4f55\u4fee\u6539\u90fd\u5c07\u6703\u907a\u5931. \n\u7522\u751f\u6642\u9593: {0} \n +# DO NOT localize the 2.2.9-b140218.1920 string - it is a token for an mvn +Driver.FilePrologComment = \u6b64\u6a94\u6848\u662f\u7531 JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.9-b140218.1920 \u6240\u7522\u751f \n\u8acb\u53c3\u95b1 http://java.sun.com/xml/jaxb \n\u4e00\u65e6\u91cd\u65b0\u7de8\u8b6f\u4f86\u6e90\u7db1\u8981, \u5c0d\u6b64\u6a94\u6848\u6240\u505a\u7684\u4efb\u4f55\u4fee\u6539\u90fd\u5c07\u6703\u907a\u5931. \n\u7522\u751f\u6642\u9593: {0} \n -Driver.Version = xjc 2.2.8-b130911.1802 +Driver.Version = xjc 2.2.9-b140218.1920 -Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.2.8-b130911.1802" +Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.2.9-b140218.1920" -Driver.BuildID = 2.2.8-b130911.1802 +Driver.BuildID = 2.2.9-b140218.1920 # for JDK integration - include version in source zip jaxb.jdk.version=@@JAXB_JDK_VERSION@@ diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java index c209cd7e688..ba8e6f4f50a 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java +++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, 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 @@ -468,25 +468,22 @@ public final class BIProperty extends AbstractDeclarationImpl { r = ct.get(getBuilder().model); } else { FieldRendererFactory frf = getBuilder().fieldRendererFactory; - - if(prop.isOptionalPrimitive()) { + // according to the spec we should bahave as in jaxb1. So we ignore possiblity that property could be nullable + switch(opm) { // the property type can be primitive type if we are to ignore absence - switch(opm) { case PRIMITIVE: r = frf.getRequiredUnboxed(); break; case WRAPPER: // force the wrapper type - r = frf.getSingle(); + r = prop.isOptionalPrimitive() ? frf.getSingle() : frf.getDefault(); break; case ISSET: - r = frf.getSinglePrimitiveAccess(); + r = prop.isOptionalPrimitive() ? frf.getSinglePrimitiveAccess() : frf.getDefault(); break; default: throw new Error(); - } - } else { - r = frf.getDefault(); + } } if(opm==OptionalPropertyMode.ISSET) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java index f1a28b6a729..e7ff4433460 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java @@ -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 @@ -91,6 +91,9 @@ import com.sun.xml.internal.bind.v2.runtime.unmarshaller.Base64Data; import com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext; import com.sun.xml.internal.bind.v2.util.ByteArrayOutputStreamEx; import com.sun.xml.internal.bind.v2.util.DataSourceSource; +import java.util.logging.Logger; +import com.sun.xml.internal.bind.Util; +import java.util.logging.Level; import org.xml.sax.SAXException; @@ -105,6 +108,8 @@ import org.xml.sax.SAXException; public abstract class RuntimeBuiltinLeafInfoImpl extends BuiltinLeafInfoImpl implements RuntimeBuiltinLeafInfo, Transducer { + private static final Logger logger = Util.getClassLogger(); + private RuntimeBuiltinLeafInfoImpl(Class type, QName... typeNames) { super(type, typeNames); LEAVES.put(type,this); @@ -196,6 +201,7 @@ public abstract class RuntimeBuiltinLeafInfoImpl extends BuiltinLeafInfoImpl< public static final List> builtinBeanInfos; public static final String MAP_ANYURI_TO_URI = "mapAnyUriToUri"; + public static final String USE_OLD_GMONTH_MAPPING = "jaxb.ri.useOldGmonthMapping"; static { @@ -960,7 +966,14 @@ public abstract class RuntimeBuiltinLeafInfoImpl extends BuiltinLeafInfoImpl< m.put(DatatypeConstants.DATETIME, "%Y-%M-%DT%h:%m:%s"+ "%z"); m.put(DatatypeConstants.DATE, "%Y-%M-%D" +"%z"); m.put(DatatypeConstants.TIME, "%h:%m:%s"+ "%z"); - m.put(DatatypeConstants.GMONTH, "--%M--%z"); + if (System.getProperty(USE_OLD_GMONTH_MAPPING) == null) { + m.put(DatatypeConstants.GMONTH, "--%M%z"); // E2-12 Error. http://www.w3.org/2001/05/xmlschema-errata#e2-12 + } else { // backw. compatibility + if (logger.isLoggable(Level.FINE)) { + logger.log(Level.FINE, "Old GMonth mapping used."); + } + m.put(DatatypeConstants.GMONTH, "--%M--%z"); + } m.put(DatatypeConstants.GDAY, "---%D" + "%z"); m.put(DatatypeConstants.GYEAR, "%Y" + "%z"); m.put(DatatypeConstants.GYEARMONTH, "%Y-%M" + "%z"); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java index 69cf28b7b5c..b5ee5e65e2f 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java @@ -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 @@ -25,10 +25,6 @@ package com.sun.xml.internal.bind.v2.model.nav; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.Proxy; -import java.lang.reflect.Type; import java.util.Collection; import com.sun.xml.internal.bind.v2.runtime.Location; diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java index 665001f88cf..7f25c89d688 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java @@ -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 @@ -550,7 +550,7 @@ import com.sun.xml.internal.bind.v2.runtime.Location; @Override public Class loadObjectFactory(Class referencePoint, String pkg) { - ClassLoader cl= SecureLoader.getClassClassLoader(referencePoint); + ClassLoader cl = SecureLoader.getClassClassLoader(referencePoint); if (cl == null) cl = SecureLoader.getSystemClassLoader(); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java index 1d1a34638a8..be203b6681b 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java @@ -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 @@ -140,22 +140,23 @@ final class SingleMapNodeProperty extends PropertyImpl */ private final Loader itemsLoader = new Loader(false) { - private ThreadLocal target = new ThreadLocal(); - private ThreadLocal map = new ThreadLocal(); - private int depthCounter = 0; // needed to clean ThreadLocals + private ThreadLocal> target = new ThreadLocal>(); + private ThreadLocal> map = new ThreadLocal>(); @Override public void startElement(UnmarshallingContext.State state, TagName ea) throws SAXException { // create or obtain the Map object try { - target.set((BeanT)state.prev.target); - map.set(acc.get(target.get())); - depthCounter++; - if(map.get() == null) { - map.set(ClassFactory.create(mapImplClass)); - } - map.get().clear(); - state.target = map.get(); + BeanT target = (BeanT) state.prev.target; + ValueT mapValue = acc.get(target); + if(mapValue == null) + mapValue = ClassFactory.create(mapImplClass); + else + mapValue.clear(); + + Stack.push(this.target, target); + Stack.push(map, mapValue); + state.target = mapValue; } catch (AccessorException e) { // recover from error by setting a dummy Map that receives and discards the values handleGenericException(e,true); @@ -167,11 +168,7 @@ final class SingleMapNodeProperty extends PropertyImpl public void leaveElement(State state, TagName ea) throws SAXException { super.leaveElement(state, ea); try { - acc.set(target.get(), map.get()); - if (--depthCounter == 0) { - target.remove(); - map.remove(); - } + acc.set(Stack.pop(target), Stack.pop(map)); } catch (AccessorException ex) { handleGenericException(ex,true); } @@ -289,4 +286,36 @@ final class SingleMapNodeProperty extends PropertyImpl return acc; return null; } + + private static final class Stack { + private Stack parent; + private T value; + + private Stack(Stack parent, T value) { + this.parent = parent; + this.value = value; + } + + private Stack(T value) { + this.value = value; + } + + private static void push(ThreadLocal> holder, T value) { + Stack parent = holder.get(); + if (parent == null) + holder.set(new Stack(value)); + else + holder.set(new Stack(parent, value)); + } + + private static T pop(ThreadLocal> holder) { + Stack current = holder.get(); + if (current.parent == null) + holder.remove(); + else + holder.set(current.parent); + return current.value; + } + + } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java index 30c80801592..7633e1ce017 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java @@ -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 @@ -1070,18 +1070,22 @@ public final class XmlSchemaGenerator { } Collection refs = propInfo.ref(); - TypeInfo ti; - if ((refs != null) && (!refs.isEmpty()) && (elemName != null) - && ((ti = refs.iterator().next()) == null || ti instanceof ClassInfoImpl)) { - ClassInfoImpl cImpl = (ClassInfoImpl)ti; - if ((cImpl != null) && (cImpl.getElementName() != null)) { - e.ref(new QName(cImpl.getElementName().getNamespaceURI(), tn.getLocalPart())); - } else { - e.ref(new QName("", tn.getLocalPart())); + if ((refs != null) && (!refs.isEmpty()) && (elemName != null)){ + ClassInfoImpl cImpl = null; + for (TypeInfo ref : refs) { + if (ref == null || ref instanceof ClassInfoImpl) { + if (elemName.equals(((ClassInfoImpl)ref).getElementName())) { + cImpl = (ClassInfoImpl) ref; + break; + } + } } - } else { + if (cImpl != null) + e.ref(new QName(cImpl.getElementName().getNamespaceURI(), tn.getLocalPart())); + else + e.ref(new QName("", tn.getLocalPart())); + } else e.ref(tn); - } } } else { e.name(tn.getLocalPart()); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/LazyEnvelopeSource.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/LazyEnvelopeSource.java new file mode 100644 index 00000000000..151ae98e1fe --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/LazyEnvelopeSource.java @@ -0,0 +1,50 @@ +/* + * 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 com.sun.xml.internal.messaging.saaj; + +import javax.xml.namespace.QName; +import javax.xml.soap.SOAPException; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; + +/** + * LazyEnvelopeSource provides the source to create lazy Envelope + * + * @author shih-chang.chen@oracle.com + */ +public interface LazyEnvelopeSource extends javax.xml.transform.Source { + /** + * Retrieve payload qname without materializing its contents + * @return + * @throws SOAPException + */ + public QName getPayloadQName(); + public XMLStreamReader readToBodyStarTag() throws XMLStreamException; + public XMLStreamReader readPayload(); + public void writePayloadTo(XMLStreamWriter writer)throws XMLStreamException; + public boolean isPayloadStreamReader(); +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java index eeccdf1db4f..46e21c05e03 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java @@ -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 @@ -621,7 +621,8 @@ class HttpSOAPConnection extends SOAPConnection { String plain = user + ":"; byte[] nameBytes = plain.getBytes(); - byte[] passwdBytes = password.getBytes(); + byte[] passwdBytes = (password == null ? new byte[0] : password + .getBytes()); // concatenate user name and password bytes and encode them byte[] concat = new byte[nameBytes.length + passwdBytes.length]; diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MessagingException.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MessagingException.java index e9b74eecd68..6a5ca2ccd23 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MessagingException.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MessagingException.java @@ -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 @@ -84,7 +84,7 @@ public class MessagingException extends Exception { * * @return next Exception, null if none. */ - public Exception getNextException() { + public synchronized Exception getNextException() { return next; } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java index eac9d5b465e..f2f053f148d 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java @@ -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 @@ -40,7 +40,6 @@ import com.sun.xml.internal.messaging.saaj.packaging.mime.*; import com.sun.xml.internal.messaging.saaj.packaging.mime.util.*; import com.sun.xml.internal.messaging.saaj.util.ByteOutputStream; -import com.sun.xml.internal.messaging.saaj.util.FinalArrayList; /** * The MimeMultipart class is an implementation of the abstract Multipart @@ -393,13 +392,12 @@ public class BMMimeMultipart extends MimeMultipart { int i; int l = pattern.length; int lx = l -1; - int bufferLength = 0; BitSet eof = new BitSet(1); long[] posVector = new long[1]; while (true) { is.mark(l); - bufferLength = readNext(is, buffer, l, eof, posVector, sin); + readNext(is, buffer, l, eof, posVector, sin); if (eof.get(0)) { // End of stream return false; @@ -561,7 +559,7 @@ public class BMMimeMultipart extends MimeMultipart { if (prevBuffer[s-1] == (byte)13) { // if buffer[0] == (byte)10 if (buffer[0] == (byte)10) { - int j=lx-1; + int j; for(j = lx-1; j > 0; j--) { if (buffer[j+1] != pattern[j]) { break; @@ -695,7 +693,6 @@ public class BMMimeMultipart extends MimeMultipart { * Iterates through all the parts and outputs each Mime part * separated by a boundary. */ - byte[] buf = new byte[1024]; public void writeTo(OutputStream os) throws IOException, MessagingException { @@ -715,19 +712,25 @@ public class BMMimeMultipart extends MimeMultipart { if (in != null) { OutputUtil.writeln(bnd, os); // put out boundary if ((os instanceof ByteOutputStream) && lazyAttachments) { - ((ByteOutputStream)os).write(in); + ((ByteOutputStream) os).write(in); } else { - ByteOutputStream baos = new ByteOutputStream(in.available()); - baos.write(in); - baos.writeTo(os); - // reset the inputstream so that we can support a - //getAttachment later - in = baos.newInputStream(); + ByteOutputStream baos = null; + try { + baos = new ByteOutputStream(in.available()); + baos.write(in); + baos.writeTo(os); + // reset the inputstream so that we can support a + // getAttachment later + in = baos.newInputStream(); + } finally { + if (baos != null) + baos.close(); + } } // this will endup writing the end boundary } else { - // put out last boundary + // put out last boundary OutputUtil.writeAsAscii(bnd, os); OutputUtil.writeAsAscii("--", os); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeBodyPart.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeBodyPart.java index 314f7d2873d..c19c1dc5c2d 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeBodyPart.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeBodyPart.java @@ -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 @@ -193,13 +193,17 @@ public final class MimeBodyPart { SharedInputStream sis = (SharedInputStream) is; contentStream = sis.newStream(sis.getPosition(), -1); } else { + ByteOutputStream bos = null; try { - ByteOutputStream bos = new ByteOutputStream(); + bos = new ByteOutputStream(); bos.write(is); content = bos.getBytes(); contentLength = bos.getCount(); } catch (IOException ioex) { throw new MessagingException("Error reading input stream", ioex); + } finally { + if (bos != null) + bos.close(); } } @@ -1075,8 +1079,12 @@ public final class MimeBodyPart { */ protected void updateHeaders() throws MessagingException { DataHandler dh = getDataHandler(); - if (dh == null) // Huh ? - return; + /* + * Code flow indicates null is never returned from + * getdataHandler() - findbugs + */ + //if (dh == null) // Huh ? + // return; try { String type = dh.getContentType(); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java index 8a367fa0f15..a0017194f65 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java @@ -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 @@ -318,6 +318,7 @@ public class MimeMultipart { byte[] bndbytes = ASCIIUtility.getBytes(boundary); int bl = bndbytes.length; + ByteOutputStream buf = null; try { // Skip the preamble LineInputStream lin = new LineInputStream(in); @@ -370,7 +371,7 @@ public class MimeMultipart { if (!in.markSupported()) throw new MessagingException("Stream doesn't support mark"); - ByteOutputStream buf = null; + buf = null; // if we don't have a shared input stream, we copy the data if (sin == null) buf = new ByteOutputStream(); @@ -471,6 +472,9 @@ public class MimeMultipart { } } catch (IOException ioex) { throw new MessagingException("IO Error", ioex); + } finally { + if (buf != null) + buf.close(); } if (!ignoreMissingEndBoundary && !foundClosingBoundary && sin== null) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePullMultipart.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePullMultipart.java index bdef4532e48..0044a5c31cc 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePullMultipart.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePullMultipart.java @@ -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 @@ -107,7 +107,7 @@ public class MimePullMultipart extends MimeMultipart { List prts = mm.getAttachments(); for(MIMEPart part : prts) { if (part != soapPart) { - AttachmentPart attach = new AttachmentPartImpl(part); + new AttachmentPartImpl(part); this.addBodyPart(new MimeBodyPart(part)); } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/ASCIIUtility.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/ASCIIUtility.java index 22fd2c488fc..48a56e8068c 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/ASCIIUtility.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/ASCIIUtility.java @@ -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 @@ -141,10 +141,13 @@ public class ASCIIUtility { * Use {@link ByteOutputStream} and {@link ByteOutputStream#write(InputStream)}. */ public static byte[] getBytes(InputStream is) throws IOException { - ByteOutputStream bos = new ByteOutputStream(); + ByteOutputStream bos = null; try { + bos = new ByteOutputStream(); bos.write(is); } finally { + if (bos != null) + bos.close(); is.close(); } return bos.toByteArray(); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java index 8d91b5ce769..76f6802b50d 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java @@ -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 @@ -138,7 +138,6 @@ public class AttachmentPartImpl extends AttachmentPart { } public int getSize() throws SOAPException { - byte[] bytes; if (mimePart != null) { try { return mimePart.read().available(); @@ -388,6 +387,7 @@ public class AttachmentPartImpl extends AttachmentPart { } dataHandler = null; InputStream decoded = null; + ByteOutputStream bos = null; try { decoded = MimeUtility.decode(content, "base64"); InternetHeaders hdrs = new InternetHeaders(); @@ -395,7 +395,7 @@ public class AttachmentPartImpl extends AttachmentPart { //TODO: reading the entire attachment here is ineffcient. Somehow the MimeBodyPart // Ctor with inputStream causes problems based on the InputStream // has markSupported()==true - ByteOutputStream bos = new ByteOutputStream(); + bos = new ByteOutputStream(); bos.write(decoded); rawContent = new MimeBodyPart(hdrs, bos.getBytes(), bos.getCount()); setMimeHeader("Content-Type", contentType); @@ -403,8 +403,11 @@ public class AttachmentPartImpl extends AttachmentPart { log.log(Level.SEVERE, "SAAJ0578.soap.attachment.setbase64content.exception", e); throw new SOAPExceptionImpl(e.getLocalizedMessage()); } finally { + if (bos != null) + bos.close(); try { - decoded.close(); + if (decoded != null) + decoded.close(); } catch (IOException ex) { throw new SOAPException(ex); } @@ -478,13 +481,14 @@ public class AttachmentPartImpl extends AttachmentPart { mimePart = null; } dataHandler = null; + ByteOutputStream bos = null; try { InternetHeaders hdrs = new InternetHeaders(); hdrs.setHeader("Content-Type", contentType); //TODO: reading the entire attachment here is ineffcient. Somehow the MimeBodyPart // Ctor with inputStream causes problems based on whether the InputStream has // markSupported()==true or false - ByteOutputStream bos = new ByteOutputStream(); + bos = new ByteOutputStream(); bos.write(content); rawContent = new MimeBodyPart(hdrs, bos.getBytes(), bos.getCount()); setMimeHeader("Content-Type", contentType); @@ -492,6 +496,8 @@ public class AttachmentPartImpl extends AttachmentPart { log.log(Level.SEVERE, "SAAJ0576.soap.attachment.setrawcontent.exception", e); throw new SOAPExceptionImpl(e.getLocalizedMessage()); } finally { + if (bos != null) + bos.close(); try { content.close(); } catch (IOException ex) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/Envelope.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/Envelope.java index 14dc496ba4c..607e8c36c68 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/Envelope.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/Envelope.java @@ -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 @@ -29,6 +29,7 @@ import java.io.IOException; import java.io.OutputStream; import javax.xml.soap.SOAPEnvelope; +import javax.xml.soap.SOAPException; import javax.xml.transform.Source; /** @@ -52,4 +53,8 @@ public interface Envelope extends SOAPEnvelope { * Output the content. */ void output(OutputStream out, boolean isFastInfoset) throws IOException; + + void setStaxBridge(StaxBridge bridge) throws SOAPException; + + StaxBridge getStaxBridge() throws SOAPException; } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java index 62fb9df4e6d..907c8ef9d91 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java @@ -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 @@ -29,18 +29,22 @@ import java.util.logging.Logger; import javax.xml.parsers.SAXParser; import javax.xml.soap.SOAPException; +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.sax.SAXSource; +import javax.xml.transform.stax.StAXSource; import javax.xml.transform.stream.StreamSource; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; +import com.sun.xml.internal.messaging.saaj.LazyEnvelopeSource; import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl; import com.sun.xml.internal.messaging.saaj.util.*; - import com.sun.xml.internal.messaging.saaj.util.transform.EfficientStreamingTransformer; /** @@ -58,20 +62,73 @@ public class EnvelopeFactory { public static Envelope createEnvelope(Source src, SOAPPartImpl soapPart) throws SOAPException { + if (src instanceof JAXMStreamSource) { + try { + if (!SOAPPartImpl.lazyContentLength) { + ((JAXMStreamSource) src).reset(); + } + } catch (java.io.IOException ioe) { + log.severe("SAAJ0515.source.reset.exception"); + throw new SOAPExceptionImpl(ioe); + } + } + if (src instanceof LazyEnvelopeSource) { + return lazy((LazyEnvelopeSource)src, soapPart); + } + if (soapPart.message.isLazySoapBodyParsing()) { + return parseEnvelopeStax(src, soapPart); + } else { + return parseEnvelopeSax(src, soapPart); + } + } + + private static Envelope lazy(LazyEnvelopeSource src, SOAPPartImpl soapPart) throws SOAPException { + try { + StaxBridge staxBridge = new StaxLazySourceBridge(src, soapPart); + staxBridge.bridgeEnvelopeAndHeaders(); + Envelope env = (Envelope) soapPart.getEnvelope(); + env.setStaxBridge(staxBridge); + return env; + } catch (XMLStreamException e) { + throw new SOAPException(e); + } + } + + static private XMLInputFactory xmlInputFactory = null; + + private static Envelope parseEnvelopeStax(Source src, SOAPPartImpl soapPart) + throws SOAPException { + XMLStreamReader streamReader = null; + if (src instanceof StAXSource) { + streamReader = ((StAXSource) src).getXMLStreamReader(); + } + try { + if (streamReader == null) { + if (xmlInputFactory == null) xmlInputFactory = XMLInputFactory.newInstance(); + streamReader = xmlInputFactory.createXMLStreamReader(src); + } +// SaajStaxWriter saajWriter = new SaajStaxWriter(soapPart.message, soapPart.document); +// XMLStreamReaderToXMLStreamWriter readerWriterBridge = new XMLStreamReaderToXMLStreamWriter( +// streamReader, saajWriter, soapPart.getSOAPNamespace()); + + StaxBridge readerWriterBridge = new StaxReaderBridge(streamReader, soapPart); + //bridge will stop reading at body element, and parse upon request, so save it + //on the envelope + readerWriterBridge.bridgeEnvelopeAndHeaders(); + + Envelope env = (Envelope) soapPart.getEnvelope(); + env.setStaxBridge(readerWriterBridge); + return env; + } catch (Exception e) { + throw new SOAPException(e); + } + } + private static Envelope parseEnvelopeSax(Source src, SOAPPartImpl soapPart) + throws SOAPException { // Insert SAX filter to disallow Document Type Declarations since // they are not legal in SOAP SAXParser saxParser = null; if (src instanceof StreamSource) { - if (src instanceof JAXMStreamSource) { - try { - if (!SOAPPartImpl.lazyContentLength) { - ((JAXMStreamSource) src).reset(); - } - } catch (java.io.IOException ioe) { - log.severe("SAAJ0515.source.reset.exception"); - throw new SOAPExceptionImpl(ioe); - } - } try { saxParser = parserPool.get(); } catch (Exception e) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/LazyEnvelope.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/LazyEnvelope.java new file mode 100644 index 00000000000..1f83ca5cfde --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/LazyEnvelope.java @@ -0,0 +1,61 @@ +/* + * 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 + * 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 com.sun.xml.internal.messaging.saaj.soap; + +import javax.xml.namespace.QName; +import javax.xml.soap.SOAPException; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; + +public interface LazyEnvelope extends Envelope { + public XMLStreamReader getPayloadReader() throws SOAPException; + public boolean isLazy(); + public void writeTo(XMLStreamWriter writer) throws XMLStreamException, SOAPException; + + /** + * Retrieve payload qname without materializing its contents + * @return + * @throws SOAPException + */ + public QName getPayloadQName() throws SOAPException; + + /** + * Retrieve payload attribute value without materializing its contents + * @param localName + * @return + * @throws SOAPException + */ + public String getPayloadAttributeValue(String localName) throws SOAPException; + + /** + * Retrieve payload attribute value without materializing its contents + * @param qName + * @return + * @throws SOAPException + */ + public String getPayloadAttributeValue(QName qName) throws SOAPException; +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java index 9caff62d096..d7a0226671b 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java @@ -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 @@ -29,6 +29,7 @@ import java.io.*; import java.util.logging.Logger; import javax.xml.soap.*; +import javax.xml.stream.XMLStreamReader; import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.ContentType; import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.ParseException; @@ -66,12 +67,44 @@ public class MessageFactoryImpl extends MessageFactory { throw new UnsupportedOperationException(); } + public SOAPMessage createMessage(String protocol) throws SOAPException { + if (SOAPConstants.SOAP_1_1_PROTOCOL.equals(protocol)) + return new com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl(); + else + return new com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl(); + } + public SOAPMessage createMessage(boolean isFastInfoset, boolean acceptFastInfoset) throws SOAPException { throw new UnsupportedOperationException(); } + public SOAPMessage createMessage(MimeHeaders headers, XMLStreamReader reader) throws SOAPException, IOException { + String contentTypeString = MessageImpl.getContentType(headers); + + if (listener != null) { + throw new SOAPException("Listener OutputStream is not supported with XMLStreamReader"); + } + + try { + ContentType contentType = new ContentType(contentTypeString); + int stat = MessageImpl.identifyContentType(contentType); + + if (MessageImpl.isSoap1_1Content(stat)) { + return new Message1_1Impl(headers,contentType,stat,reader); + } else if (MessageImpl.isSoap1_2Content(stat)) { + return new Message1_2Impl(headers,contentType,stat,reader); + } else { + log.severe("SAAJ0530.soap.unknown.Content-Type"); + throw new SOAPExceptionImpl("Unrecognized Content-Type"); + } + } catch (ParseException e) { + log.severe("SAAJ0531.soap.cannot.parse.Content-Type"); + throw new SOAPExceptionImpl( + "Unable to parse content type: " + e.getMessage()); + } + } public SOAPMessage createMessage(MimeHeaders headers, InputStream in) throws SOAPException, IOException { String contentTypeString = MessageImpl.getContentType(headers); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java index 5a5405ce91e..e9691568d5e 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java @@ -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 @@ -33,7 +33,9 @@ import java.util.logging.Logger; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.xml.soap.*; +import javax.xml.stream.XMLStreamReader; import javax.xml.transform.Source; +import javax.xml.transform.stax.StAXSource; import javax.xml.transform.stream.StreamSource; import com.sun.xml.internal.messaging.saaj.packaging.mime.Header; @@ -110,6 +112,8 @@ public abstract class MessageImpl private InputStream inputStreamAfterSaveChanges = null; + public static final String LAZY_SOAP_BODY_PARSING = "saaj.lazy.soap.body"; + // switch back to old MimeMultipart incase of problem private static boolean switchOffBM = false; private static boolean switchOffLazyAttachment = false; @@ -341,7 +345,12 @@ public abstract class MessageImpl } - private void init(MimeHeaders headers, int stat, final ContentType contentType, final InputStream in) throws SOAPExceptionImpl { + public MessageImpl(MimeHeaders headers, ContentType ct, int stat, + XMLStreamReader reader) throws SOAPExceptionImpl { + init(headers, stat, ct, reader); + } + + private void init(MimeHeaders headers, int stat, final ContentType contentType, final Object input) throws SOAPExceptionImpl { this.headers = headers; try { @@ -382,20 +391,42 @@ public abstract class MessageImpl + " Expected: " + getExpectedContentType()); } - + InputStream in = null; + XMLStreamReader rdr = null; + if (input instanceof InputStream) { + in = (InputStream) input; + } else { + //is a StAX reader + rdr = (XMLStreamReader) input; + } if ((stat & PLAIN_XML_FLAG) != 0) { - if (isFastInfoset) { - getSOAPPart().setContent( - FastInfosetReflection.FastInfosetSource_new(in)); + if (in != null) { + if (isFastInfoset) { + getSOAPPart().setContent( + FastInfosetReflection.FastInfosetSource_new(in)); + } else { + initCharsetProperty(contentType); + getSOAPPart().setContent(new StreamSource(in)); + } } else { - initCharsetProperty(contentType); - getSOAPPart().setContent(new StreamSource(in)); + //is a StAX reader + if (isFastInfoset) { + //need to get FI stax reader + } else { + initCharsetProperty(contentType); + getSOAPPart().setContent(new StAXSource(rdr)); + } } } - else if ((stat & MIME_MULTIPART_FLAG) != 0) { + else if ((stat & MIME_MULTIPART_FLAG) != 0 && in == null) { + //only parse multipart in the inputstream case + //in stax reader case, we would be given the attachments separately + getSOAPPart().setContent(new StAXSource(rdr)); + } else if ((stat & MIME_MULTIPART_FLAG) != 0) { + final InputStream finalIn = in; DataSource ds = new DataSource() { public InputStream getInputStream() { - return in; + return finalIn; } public OutputStream getOutputStream() { @@ -487,7 +518,17 @@ public abstract class MessageImpl } } - if (soapPartInputStream == null && soapMessagePart != null) { + // findbugs correctly points out that we'd NPE instantiating + // the ContentType (just below here) if soapMessagePart were + // null. Hence are better off throwing a controlled exception + // at this point if it is null. + if (soapMessagePart == null) { + log.severe("SAAJ0510.soap.cannot.create.envelope"); + throw new SOAPExceptionImpl( + "Unable to create envelope from given source: SOAP part not found"); + } + + if (soapPartInputStream == null) { soapPartInputStream = soapMessagePart.getInputStream(); } @@ -541,6 +582,15 @@ public abstract class MessageImpl } } + public boolean isLazySoapBodyParsing() { + Object lazyParsingProp = getProperty(LAZY_SOAP_BODY_PARSING); + if (lazyParsingProp == null) return false; + if (lazyParsingProp instanceof Boolean) { + return ((Boolean) lazyParsingProp).booleanValue(); + } else { + return Boolean.valueOf(lazyParsingProp.toString()); + } + } public Object getProperty(String property) { return (String) properties.get(property); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java index 891342ab257..7dac69841a9 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java @@ -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 @@ -107,11 +107,11 @@ public class SOAPDocumentImpl extends DocumentImpl implements SOAPDocument { } public org.w3c.dom.Text createTextNode(String data) { - return new TextImpl(this, data); + return new SOAPTextImpl(this, data); } public Comment createComment(String data) { - return new CommentImpl(this, data); + return new SOAPCommentImpl(this, data); } public CDATASection createCDATASection(String data) throws DOMException { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java index d30a316f06b..19cc1b4ec30 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java @@ -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 @@ -245,12 +245,18 @@ public abstract class SOAPPartImpl extends SOAPPart implements SOAPDocument { * getBytes() is called on a ByteInputStream. */ if (!(is instanceof ByteInputStream)) { - ByteOutputStream bout = new ByteOutputStream(); - bout.write(is); + ByteOutputStream bout = null; + try { + bout = new ByteOutputStream(); + bout.write(is); - // source.setInputStream(new ByteInputStream(...)) - FastInfosetReflection.FastInfosetSource_setInputStream( - source, bout.newInputStream()); + // source.setInputStream(new ByteInputStream(...)) + FastInfosetReflection.FastInfosetSource_setInputStream( + source, bout.newInputStream()); + } finally { + if (bout != null) + bout.close(); + } } this.source = source; } @@ -811,4 +817,6 @@ public abstract class SOAPPartImpl extends SOAPPart implements SOAPDocument { public String getSourceCharsetEncoding() { return sourceCharsetEncoding; } + + public abstract String getSOAPNamespace(); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxBridge.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxBridge.java new file mode 100644 index 00000000000..cf014b15623 --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxBridge.java @@ -0,0 +1,67 @@ +/* + * 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 com.sun.xml.internal.messaging.saaj.soap; + +import javax.xml.namespace.QName; +import javax.xml.soap.SOAPException; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import com.sun.xml.internal.org.jvnet.staxex.util.SaajStaxWriter; +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; + + +/** + * StaxBridge builds Envelope using a XMLStreamReaderToXMLStreamWriter + * + * @author shih-chang.chen@oracle.com + */ +public abstract class StaxBridge { + protected SaajStaxWriter saajWriter; + protected XMLStreamReaderToXMLStreamWriter readerToWriter; + protected XMLStreamReaderToXMLStreamWriter.Breakpoint breakpoint; + + + public StaxBridge(SOAPPartImpl soapPart) throws SOAPException { + readerToWriter = new XMLStreamReaderToXMLStreamWriter(); + saajWriter = new SaajStaxWriter(soapPart.message, soapPart.getSOAPNamespace()); + } + + public void bridgeEnvelopeAndHeaders() throws XMLStreamException { + readerToWriter.bridge(breakpoint); + } + + public void bridgePayload() throws XMLStreamException { + readerToWriter.bridge(breakpoint); + } + + abstract public XMLStreamReader getPayloadReader(); + + abstract public QName getPayloadQName(); + + abstract public String getPayloadAttributeValue(String attName) ; + + abstract public String getPayloadAttributeValue(QName attName) ; +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxLazySourceBridge.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxLazySourceBridge.java new file mode 100644 index 00000000000..07da44736bb --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxLazySourceBridge.java @@ -0,0 +1,105 @@ +/* + * 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 com.sun.xml.internal.messaging.saaj.soap; + +import javax.xml.namespace.QName; +import javax.xml.soap.SOAPException; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; + +import com.sun.xml.internal.messaging.saaj.LazyEnvelopeSource; +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; + + +/** + * StaxBridge builds Envelope from LazyEnvelopeSource + * + * @author shih-chang.chen@oracle.com + */ +public class StaxLazySourceBridge extends StaxBridge { + private LazyEnvelopeSource lazySource; + + public StaxLazySourceBridge(LazyEnvelopeSource src, SOAPPartImpl soapPart) throws SOAPException { + super(soapPart); + lazySource = src; + final String soapEnvNS = soapPart.getSOAPNamespace(); + try { + breakpoint = new XMLStreamReaderToXMLStreamWriter.Breakpoint(src.readToBodyStarTag(), saajWriter) { + public boolean proceedAfterStartElement() { + if ("Body".equals(reader.getLocalName()) && soapEnvNS.equals(reader.getNamespaceURI()) ){ + return false; + } else + return true; + } + }; + } catch (XMLStreamException e) { + throw new SOAPException(e); + } + } + + @Override + public XMLStreamReader getPayloadReader() { + return lazySource.readPayload(); +// throw new UnsupportedOperationException(); + } + + @Override + public QName getPayloadQName() { + return lazySource.getPayloadQName(); + } + + @Override + public String getPayloadAttributeValue(String attName) { + if (lazySource.isPayloadStreamReader()) { + XMLStreamReader reader = lazySource.readPayload(); + if (reader.getEventType() == reader.START_ELEMENT) { + return reader.getAttributeValue(null, attName); + } + } + return null; + } + + @Override + public String getPayloadAttributeValue(QName attName) { + if (lazySource.isPayloadStreamReader()) { + XMLStreamReader reader = lazySource.readPayload(); + if (reader.getEventType() == reader.START_ELEMENT) { + return reader.getAttributeValue(attName.getNamespaceURI(), attName.getLocalPart()); + } + } + return null; + } + + public void bridgePayload() throws XMLStreamException { + //Assuming out is at Body + writePayloadTo(saajWriter); + } + + public void writePayloadTo(XMLStreamWriter writer) throws XMLStreamException { + lazySource.writePayloadTo(writer); + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxReaderBridge.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxReaderBridge.java new file mode 100644 index 00000000000..9010a88368d --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/StaxReaderBridge.java @@ -0,0 +1,78 @@ +/* + * 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 com.sun.xml.internal.messaging.saaj.soap; + +import javax.xml.namespace.QName; +import javax.xml.soap.SOAPException; +import javax.xml.stream.XMLStreamReader; + +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; + +/** + * StaxBridge builds Envelope using a XMLStreamReaderToXMLStreamWriter + * + * @author shih-chang.chen@oracle.com + */ +public class StaxReaderBridge extends StaxBridge { + private XMLStreamReader in; + + public StaxReaderBridge(XMLStreamReader reader, SOAPPartImpl soapPart) throws SOAPException { + super(soapPart); + in = reader; + final String soapEnvNS = soapPart.getSOAPNamespace(); + breakpoint = new XMLStreamReaderToXMLStreamWriter.Breakpoint(reader, saajWriter) { + boolean seenBody = false; + boolean stopedAtBody = false; + public boolean proceedBeforeStartElement() { + if (stopedAtBody) return true; + if (seenBody) { + stopedAtBody = true; + return false; + } + if ("Body".equals(reader.getLocalName()) && soapEnvNS.equals(reader.getNamespaceURI()) ){ + seenBody = true; + } + return true; + } + }; + } + + public XMLStreamReader getPayloadReader() { + return in; + } + + public QName getPayloadQName() { + return (in.getEventType() == in.START_ELEMENT) ? in.getName() : null; + } + + public String getPayloadAttributeValue(String attName) { + return (in.getEventType() == in.START_ELEMENT) ? in.getAttributeValue(null, attName) : null; + } + + public String getPayloadAttributeValue(QName attName) { + return (in.getEventType() == in.START_ELEMENT) ? in.getAttributeValue(attName.getNamespaceURI(), attName.getLocalPart()) : null; + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java index 562386156f6..e761588902d 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java @@ -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 @@ -31,14 +31,18 @@ import java.util.logging.Level; import javax.xml.namespace.QName; import javax.xml.soap.*; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.*; +import org.w3c.dom.Node; import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl; import com.sun.xml.internal.messaging.saaj.soap.SOAPDocument; import com.sun.xml.internal.messaging.saaj.soap.SOAPDocumentImpl; +import com.sun.xml.internal.messaging.saaj.soap.StaxBridge; import com.sun.xml.internal.messaging.saaj.soap.name.NameImpl; /** @@ -48,6 +52,9 @@ import com.sun.xml.internal.messaging.saaj.soap.name.NameImpl; */ public abstract class BodyImpl extends ElementImpl implements SOAPBody { private SOAPFault fault; +// private XMLStreamReaderToXMLStreamWriter staxBridge; + private StaxBridge staxBridge; + private boolean payloadStreamRead = false; protected BodyImpl(SOAPDocumentImpl ownerDoc, NameImpl bodyName) { super(ownerDoc, bodyName); @@ -136,13 +143,22 @@ public abstract class BodyImpl extends ElementImpl implements SOAPBody { } public boolean hasFault() { - initializeFault(); - return fault != null; + QName payloadQName = getPayloadQName(); + return getFaultQName().equals(payloadQName); + } + + private Object getFaultQName() { + return new QName(getNamespaceURI(), "Fault"); } public SOAPFault getFault() { - if (hasFault()) + if (hasFault()) { + if (fault == null) { + //initialize fault member + fault = (SOAPFault) getFirstChildElement(); + } return fault; + } return null; } @@ -322,4 +338,130 @@ public abstract class BodyImpl extends ElementImpl implements SOAPBody { return document; } + private void materializePayloadWrapException() { + try { + materializePayload(); + } catch (SOAPException e) { + throw new RuntimeException(e); + } + } + private void materializePayload() throws SOAPException { + if (staxBridge != null) { + if (payloadStreamRead) { + //the payload has already been read via stream reader and the + //stream has been exhausted already. Throw an + //exception since we are now trying to materialize as DOM and + //there is no stream left to read + throw new SOAPException("SOAPBody payload stream has been fully read - cannot materialize as DOM!"); + } + try { + staxBridge.bridgePayload(); + staxBridge = null; + payloadStreamRead = true; + } catch (XMLStreamException e) { + throw new SOAPException(e); + } + } + } + + @Override + public boolean hasChildNodes() { + boolean hasChildren = super.hasChildNodes(); + //to answer this question we need to know _whether_ we have at least one child + //So no need to materialize body if we already know we have a header child + if (!hasChildren) { + materializePayloadWrapException(); + } + return super.hasChildNodes(); + } + + @Override + public NodeList getChildNodes() { + materializePayloadWrapException(); + return super.getChildNodes(); + } + + @Override + public Node getFirstChild() { + Node child = super.getFirstChild(); + if (child == null) { + materializePayloadWrapException(); + } + return super.getFirstChild(); + } + + public Node getFirstChildNoMaterialize() { + return super.getFirstChild(); + } + + @Override + public Node getLastChild() { + materializePayloadWrapException(); + return super.getLastChild(); + } + + XMLStreamReader getPayloadReader() { + return staxBridge.getPayloadReader(); + } + + void setStaxBridge(StaxBridge bridge) { + this.staxBridge = bridge; + } + + StaxBridge getStaxBridge() { + return staxBridge; + } + + void setPayloadStreamRead() { + this.payloadStreamRead = true; + } + + QName getPayloadQName() { + if (staxBridge != null) { + return staxBridge.getPayloadQName(); + } else { + //not lazy - Just get first child element and return its name + Element elem = getFirstChildElement(); + if (elem != null) { + String ns = elem.getNamespaceURI(); + String pref = elem.getPrefix(); + String local = elem.getLocalName(); + if (pref != null) return new QName(ns, local, pref); + if (ns != null) return new QName(ns, local); + return new QName(local); + } + } + return null; + } + + String getPayloadAttributeValue(String attName) { + if (staxBridge != null) { + return staxBridge.getPayloadAttributeValue(attName); + } else { + //not lazy -Just get first child element and return its attribute + Element elem = getFirstChildElement(); + if (elem != null) { + return elem.getAttribute(localName); + } + } + return null; + } + + String getPayloadAttributeValue(QName attNAme) { + if (staxBridge != null) { + return staxBridge.getPayloadAttributeValue(attNAme); + } else { + //not lazy -Just get first child element and return its attribute + Element elem = getFirstChildElement(); + if (elem != null) { + return elem.getAttributeNS(attNAme.getNamespaceURI(), attNAme.getLocalPart()); + } + } + return null; + } + + public boolean isLazy() { + return (staxBridge != null && !payloadStreamRead); + } + } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java index 475bdffd244..59288cd8388 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java @@ -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 @@ -51,7 +51,7 @@ public class ElementImpl public static final String XENC_NS = "http://www.w3.org/2001/04/xmlenc#".intern(); public static final String WSU_NS = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd".intern(); - private AttributeManager encodingStyleAttribute = new AttributeManager(); + private transient AttributeManager encodingStyleAttribute = new AttributeManager(); protected QName elementQName; @@ -424,7 +424,32 @@ public class ElementImpl } + Element getFirstChildElement() { + Node child = getFirstChild(); + while (child != null) { + if (child instanceof Element) { + return ((Element) child); + } + child = child.getNextSibling(); + } + return null; + } + protected SOAPElement findChild(NameImpl name) { + Node eachChild = getFirstChild(); + while (eachChild != null) { + if (eachChild instanceof SOAPElement) { + SOAPElement eachChildSoap = (SOAPElement) eachChild; + if (eachChildSoap.getElementName().equals(name)) { + return eachChildSoap; + } + } + eachChild = eachChild.getNextSibling(); + } + return null; + } + + protected SOAPElement findAndConvertChildElement(NameImpl name) { Iterator eachChild = getChildElementNodes(); while (eachChild.hasNext()) { SOAPElement child = (SOAPElement) eachChild.next(); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java index 68454737ec2..08412891f6a 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java @@ -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 @@ -29,30 +29,36 @@ import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; -import java.util.Iterator; import java.util.logging.Level; -import org.w3c.dom.Document; import javax.xml.namespace.QName; import javax.xml.soap.*; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.sax.*; import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl; -import com.sun.xml.internal.messaging.saaj.soap.Envelope; +import com.sun.xml.internal.messaging.saaj.soap.LazyEnvelope; import com.sun.xml.internal.messaging.saaj.soap.SOAPDocumentImpl; +import com.sun.xml.internal.messaging.saaj.soap.StaxBridge; +import com.sun.xml.internal.messaging.saaj.soap.StaxLazySourceBridge; import com.sun.xml.internal.messaging.saaj.soap.name.NameImpl; import com.sun.xml.internal.messaging.saaj.util.FastInfosetReflection; +import com.sun.xml.internal.messaging.saaj.util.stax.LazyEnvelopeStaxReader; import com.sun.xml.internal.messaging.saaj.util.transform.EfficientStreamingTransformer; +import com.sun.xml.internal.org.jvnet.staxex.util.DOMStreamReader; +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; + /** * Our implementation of the SOAP envelope. * * @author Anil Vijendran (anil@sun.com) */ -public abstract class EnvelopeImpl extends ElementImpl implements Envelope { +public abstract class EnvelopeImpl extends ElementImpl implements LazyEnvelope { protected HeaderImpl header; protected BodyImpl body; String omitXmlDecl = "yes"; @@ -103,11 +109,9 @@ public abstract class EnvelopeImpl extends ElementImpl implements Envelope { NameImpl bodyName = getBodyName(prefix); HeaderImpl header = null; - SOAPElement firstChild = null; + SOAPElement firstChild = (SOAPElement) getFirstChildElement(); - Iterator eachChild = getChildElementNodes(); - if (eachChild.hasNext()) { - firstChild = (SOAPElement) eachChild.next(); + if (firstChild != null) { if (firstChild.getElementName().equals(headerName)) { log.severe("SAAJ0120.impl.header.already.exists"); throw new SOAPExceptionImpl("Can't add a header when one is already present."); @@ -254,6 +258,7 @@ public abstract class EnvelopeImpl extends ElementImpl implements Envelope { public void output(OutputStream out) throws IOException { try { +// materializeBody(); Transformer transformer = EfficientStreamingTransformer.newTransformer(); @@ -357,4 +362,77 @@ public abstract class EnvelopeImpl extends ElementImpl implements Envelope { + elementQName.getLocalPart() + " to " + newName.getLocalPart()); } + + @Override + public void setStaxBridge(StaxBridge bridge) throws SOAPException { + //set it on the body + ((BodyImpl) getBody()).setStaxBridge(bridge); + } + + @Override + public StaxBridge getStaxBridge() throws SOAPException { + return ((BodyImpl) getBody()).getStaxBridge(); + } + + @Override + public XMLStreamReader getPayloadReader() throws SOAPException { + return ((BodyImpl) getBody()).getPayloadReader(); + } + + @Override + public void writeTo(final XMLStreamWriter writer) throws XMLStreamException, SOAPException { + StaxBridge readBridge = this.getStaxBridge(); + if (readBridge != null && readBridge instanceof StaxLazySourceBridge) { +// StaxSoapWriteBridge writingBridge = new StaxSoapWriteBridge(this); +// writingBridge.write(writer); + final String soapEnvNS = this.getNamespaceURI(); + final DOMStreamReader reader = new DOMStreamReader(this); + XMLStreamReaderToXMLStreamWriter writingBridge = new XMLStreamReaderToXMLStreamWriter(); + writingBridge.bridge( new XMLStreamReaderToXMLStreamWriter.Breakpoint(reader, writer) { + public boolean proceedAfterStartElement() { + if ("Body".equals(reader.getLocalName()) && soapEnvNS.equals(reader.getNamespaceURI()) ){ + return false; + } else + return true; + } + });//bridgeToBodyStartTag + ((StaxLazySourceBridge)readBridge).writePayloadTo(writer); + writer.writeEndElement();//body + writer.writeEndElement();//env + writer.writeEndDocument(); + writer.flush(); + } else { + LazyEnvelopeStaxReader lazyEnvReader = new LazyEnvelopeStaxReader(this); + XMLStreamReaderToXMLStreamWriter writingBridge = new XMLStreamReaderToXMLStreamWriter(); + writingBridge.bridge(lazyEnvReader, writer); +// writingBridge.bridge(new XMLStreamReaderToXMLStreamWriter.Breakpoint(lazyEnvReader, writer)); + } + //Assume the staxBridge is exhausted now since we would have read the body reader + ((BodyImpl) getBody()).setPayloadStreamRead(); + } + + @Override + public QName getPayloadQName() throws SOAPException { + return ((BodyImpl) getBody()).getPayloadQName(); + } + + @Override + public String getPayloadAttributeValue(String localName) throws SOAPException { + return ((BodyImpl) getBody()).getPayloadAttributeValue(localName); + } + + @Override + public String getPayloadAttributeValue(QName qName) throws SOAPException { + return ((BodyImpl) getBody()).getPayloadAttributeValue(qName); + } + + @Override + public boolean isLazy() { + try { + return ((BodyImpl) getBody()).isLazy(); + } catch (SOAPException e) { + return false; + } + } + } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java index c6f7bb8de52..218ce0a7f5c 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java @@ -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 @@ -70,17 +70,17 @@ public abstract class FaultImpl extends ElementImpl implements SOAPFault { protected void findFaultCodeElement() { this.faultCodeElement = - (SOAPFaultElement) findChild(getFaultCodeName()); + (SOAPFaultElement) findAndConvertChildElement(getFaultCodeName()); } protected void findFaultActorElement() { this.faultActorElement = - (SOAPFaultElement) findChild(getFaultActorName()); + (SOAPFaultElement) findAndConvertChildElement(getFaultActorName()); } protected void findFaultStringElement() { this.faultStringElement = - (SOAPFaultElement) findChild(getFaultStringName()); + (SOAPFaultElement) findAndConvertChildElement(getFaultStringName()); } public void setFaultCode(String faultCode) throws SOAPException { @@ -162,7 +162,7 @@ public abstract class FaultImpl extends ElementImpl implements SOAPFault { protected void initializeDetail() { NameImpl detailName = getDetailName(); - detail = (Detail) findChild(detailName); + detail = (Detail) findAndConvertChildElement(detailName); } public Detail getDetail() { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java index 26b3291e79e..74fb2045959 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java @@ -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 @@ -32,6 +32,7 @@ import javax.xml.namespace.QName; import javax.xml.soap.*; import org.w3c.dom.Element; +import org.w3c.dom.Node; import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl; import com.sun.xml.internal.messaging.saaj.soap.SOAPDocument; diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPCommentImpl.java similarity index 95% rename from jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java rename to jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPCommentImpl.java index 8711b29bf92..c306beb74f9 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPCommentImpl.java @@ -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 @@ -37,7 +37,7 @@ import org.w3c.dom.Text; import com.sun.xml.internal.messaging.saaj.soap.SOAPDocumentImpl; import com.sun.xml.internal.messaging.saaj.util.LogDomainConstants; -public class CommentImpl +public class SOAPCommentImpl extends com.sun.org.apache.xerces.internal.dom.CommentImpl implements javax.xml.soap.Text, org.w3c.dom.Comment { @@ -47,7 +47,7 @@ public class CommentImpl protected static ResourceBundle rb = log.getResourceBundle(); - public CommentImpl(SOAPDocumentImpl ownerDoc, String text) { + public SOAPCommentImpl(SOAPDocumentImpl ownerDoc, String text) { super(ownerDoc, text); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPTextImpl.java similarity index 94% rename from jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java rename to jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPTextImpl.java index ce30ebee5cf..c088928ba90 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPTextImpl.java @@ -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 @@ -33,7 +33,7 @@ import javax.xml.soap.SOAPException; import com.sun.xml.internal.messaging.saaj.soap.SOAPDocumentImpl; import com.sun.xml.internal.messaging.saaj.util.LogDomainConstants; -public class TextImpl +public class SOAPTextImpl extends com.sun.org.apache.xerces.internal.dom.TextImpl implements javax.xml.soap.Text, org.w3c.dom.Text { @@ -41,7 +41,7 @@ public class TextImpl Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN, "com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings"); - public TextImpl(SOAPDocumentImpl ownerDoc, String text) { + public SOAPTextImpl(SOAPDocumentImpl ownerDoc, String text) { super(ownerDoc, text); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java index 2f51b167c00..e52640fc399 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java @@ -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 @@ -35,6 +35,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.xml.soap.*; +import javax.xml.stream.XMLStreamReader; import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl; import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.ContentType; @@ -70,6 +71,11 @@ public class Message1_1Impl extends MessageImpl implements SOAPConstants { super(headers,ct,stat,in); } + public Message1_1Impl(MimeHeaders headers, ContentType ct, int stat, XMLStreamReader reader) + throws SOAPExceptionImpl { + super(headers,ct,stat,reader); + } + public SOAPPart getSOAPPart() { if (soapPartImpl == null) { soapPartImpl = new SOAPPart1_1Impl(this); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java index ebb038e042d..35a0d1025fd 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java @@ -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 @@ -90,4 +90,9 @@ public class SOAPPart1_1Impl extends SOAPPartImpl implements SOAPConstants { return new SOAPPart1_1Impl(); } + @Override + public String getSOAPNamespace() { + return SOAPConstants.URI_NS_SOAP_1_1_ENVELOPE; + } + } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java index 5c08f028d0b..0733ebb68c3 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java @@ -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 @@ -284,7 +284,7 @@ public class Fault1_2Impl extends FaultImpl { } public String getFaultNode() { - SOAPElement faultNode = findChild(getFaultNodeName()); + SOAPElement faultNode = findAndConvertChildElement(getFaultNodeName()); if (faultNode == null) { return null; } @@ -292,7 +292,7 @@ public class Fault1_2Impl extends FaultImpl { } public void setFaultNode(String uri) throws SOAPException { - SOAPElement faultNode = findChild(getFaultNodeName()); + SOAPElement faultNode = findAndConvertChildElement(getFaultNodeName()); if (faultNode != null) { faultNode.detachNode(); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java index 87401620028..b63c8ed4f55 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java @@ -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 @@ -33,6 +33,7 @@ import java.io.IOException; import java.io.InputStream; import javax.xml.soap.*; +import javax.xml.stream.XMLStreamReader; import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl; import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.ContentType; @@ -63,6 +64,11 @@ public class Message1_2Impl extends MessageImpl implements SOAPConstants{ super(headers,ct,stat,in); } + public Message1_2Impl(MimeHeaders headers, ContentType ct, int stat, XMLStreamReader reader) + throws SOAPExceptionImpl { + super(headers,ct,stat,reader); + } + public SOAPPart getSOAPPart() { if (soapPartImpl == null) soapPartImpl = new SOAPPart1_2Impl(this); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java index e9681792a85..396c21fb06b 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java @@ -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 @@ -87,4 +87,9 @@ public class SOAPPart1_2Impl extends SOAPPartImpl implements SOAPConstants{ return new SOAPPart1_2Impl(); } + @Override + public String getSOAPNamespace() { + return SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE; + } + } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java index b2a440880cd..02580c00e4c 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java @@ -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 @@ -47,9 +47,15 @@ public class JAXMStreamSource extends StreamSource { } else if (is instanceof ByteInputStream) { this.in = (ByteInputStream) is; } else { - ByteOutputStream bout = new ByteOutputStream(); - bout.write(is); - this.in = bout.newInputStream(); + ByteOutputStream bout = null; + try { + bout = new ByteOutputStream(); + bout.write(is); + this.in = bout.newInputStream(); + } finally { + if (bout != null) + bout.close(); + } } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java index 1f3be836648..b9c503c9f7f 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java @@ -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 @@ -40,17 +40,15 @@ import org.xml.sax.SAXNotSupportedException; * Pool of SAXParser objects */ public class ParserPool { - private final BlockingQueue queue; + private final BlockingQueue queue; private SAXParserFactory factory; - private int capacity; public ParserPool(int capacity) { - this.capacity = capacity; - queue = new ArrayBlockingQueue(capacity); + queue = new ArrayBlockingQueue(capacity); //factory = SAXParserFactory.newInstance(); factory = new com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl(); factory.setNamespaceAware(true); - for (int i=0; i < capacity; i++) { + for (int i = 0; i < capacity; i++) { try { queue.put(factory.newSAXParser()); } catch (InterruptedException ex) { @@ -75,8 +73,8 @@ public class ParserPool { } - public void put(SAXParser parser) { - queue.offer(parser); + public boolean put(SAXParser parser) { + return queue.offer(parser); } public void returnParser(SAXParser saxParser) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/stax/LazyEnvelopeStaxReader.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/stax/LazyEnvelopeStaxReader.java new file mode 100644 index 00000000000..c8765a4667c --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/messaging/saaj/util/stax/LazyEnvelopeStaxReader.java @@ -0,0 +1,359 @@ +/* + * 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 com.sun.xml.internal.messaging.saaj.util.stax; + +import javax.xml.namespace.NamespaceContext; +import javax.xml.namespace.QName; +import javax.xml.soap.SOAPException; +import javax.xml.stream.Location; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; + +import org.w3c.dom.Node; + +import com.sun.xml.internal.messaging.saaj.soap.impl.BodyImpl; +import com.sun.xml.internal.messaging.saaj.soap.impl.EnvelopeImpl; + +/** + * "Hybrid" reader which + * @author desagar + * + */ +public class LazyEnvelopeStaxReader extends com.sun.xml.internal.org.jvnet.staxex.util.DOMStreamReader { +// EnvelopeImpl env; + XMLStreamReader payloadReader = null; + boolean usePayloadReaderDelegate = false; + private QName bodyQName; + + public LazyEnvelopeStaxReader(EnvelopeImpl env) throws SOAPException, XMLStreamException { + super(env); +// this.env = env; + bodyQName = new QName(env.getNamespaceURI(), "Body"); + payloadReader = env.getStaxBridge().getPayloadReader(); + int eventType = getEventType(); + while (eventType != START_ELEMENT) { + eventType = nextTag(); + } + } + + public Object getProperty(String name) throws IllegalArgumentException { + if (usePayloadReaderDelegate) return payloadReader.getProperty(name); + return super.getProperty(name); + } + + public int next() throws XMLStreamException { +// boolean previouslyUsingPayloadReader = usePayloadReaderDelegate; + //call checkReaderStatus to advance to payloadReader if needed + checkReaderStatus(true); + + if (usePayloadReaderDelegate) return payloadReader.getEventType(); + + //if we just moved to payload reader, don't advance the pointer +// if (usePayloadReaderDelegate && !previouslyUsingPayloadReader) return payloadReader.getEventType(); + +// if (usePayloadReaderDelegate) return payloadReader.next(); + return getEventType(); + } + + public void require(int type, String namespaceURI, String localName) + throws XMLStreamException { + if (usePayloadReaderDelegate) payloadReader.require(type, namespaceURI, localName); + else super.require(type, namespaceURI, localName); + } + + public String getElementText() throws XMLStreamException { + if (usePayloadReaderDelegate) return payloadReader.getElementText(); + return super.getElementText(); + } + + public int nextTag() throws XMLStreamException { + if (usePayloadReaderDelegate) return payloadReader.nextTag(); + return super.nextTag(); + } + + public boolean hasNext() throws XMLStreamException { + checkReaderStatus(false); + boolean hasNext; + if (usePayloadReaderDelegate) { + hasNext = payloadReader.hasNext(); + } else { + hasNext = super.hasNext(); + } + + /*if (!hasNext && payloadReader != null) { + usePayloadReaderDelegate = true; + hasNext = payloadReader.hasNext(); + }*/ + return hasNext; + } + + private void checkReaderStatus(boolean advanceToNext) throws XMLStreamException { + //if we are using payloadReader, make sure it is not exhausted + //if it is, return to DOM based reader for remaining end elements (body and envelope) + if (usePayloadReaderDelegate) { + if (!payloadReader.hasNext()) { + usePayloadReaderDelegate = false; + } + } else if (START_ELEMENT == getEventType()) { + //if not on payload reader, check if we need to switch to payload reader + + //if the current event is the SOAP body element start, + //and the body is lazy, switch to the payload reader + if (bodyQName.equals(getName())) { + //if we are just switching to payload reader, don't advance...payload reader + //will already be on the first payload element + usePayloadReaderDelegate = true; + advanceToNext = false; + } + } + + if (advanceToNext) { + if (usePayloadReaderDelegate) { + payloadReader.next(); + } else { + super.next(); + } + } + } + + public void close() throws XMLStreamException { + if (usePayloadReaderDelegate) payloadReader.close(); + else super.close(); + } + + public String getNamespaceURI(String prefix) { + if (usePayloadReaderDelegate) return payloadReader.getNamespaceURI(prefix); + return super.getNamespaceURI(prefix); + } + + public boolean isStartElement() { + if (usePayloadReaderDelegate) return payloadReader.isStartElement(); + return super.isStartElement(); + } + + public boolean isEndElement() { + if (usePayloadReaderDelegate) return payloadReader.isEndElement(); + return super.isEndElement(); + } + + public boolean isCharacters() { + if (usePayloadReaderDelegate) return payloadReader.isCharacters(); + return super.isEndElement(); + } + + public boolean isWhiteSpace() { + if (usePayloadReaderDelegate) return payloadReader.isWhiteSpace(); + return super.isWhiteSpace(); + } + + public String getAttributeValue(String namespaceURI, String localName) { + if (usePayloadReaderDelegate) return payloadReader.getAttributeValue(namespaceURI, localName); + return super.getAttributeValue(namespaceURI, localName); + } + + public int getAttributeCount() { + if (usePayloadReaderDelegate) return payloadReader.getAttributeCount(); + return super.getAttributeCount(); + } + + public QName getAttributeName(int index) { + if (usePayloadReaderDelegate) return payloadReader.getAttributeName(index); + return super.getAttributeName(index); + } + + public String getAttributeNamespace(int index) { + if (usePayloadReaderDelegate) return payloadReader.getAttributeNamespace(index); + return super.getAttributeNamespace(index); + } + + public String getAttributeLocalName(int index) { + if (usePayloadReaderDelegate) return payloadReader.getAttributeLocalName(index); + return super.getAttributeLocalName(index); + } + + public String getAttributePrefix(int index) { + if (usePayloadReaderDelegate) return payloadReader.getAttributePrefix(index); + return super.getAttributePrefix(index); + } + + public String getAttributeType(int index) { + if (usePayloadReaderDelegate) return payloadReader.getAttributeType(index); + return super.getAttributeType(index); + } + + public String getAttributeValue(int index) { + if (usePayloadReaderDelegate) return payloadReader.getAttributeValue(index); + return super.getAttributeValue(index); + } + + public boolean isAttributeSpecified(int index) { + if (usePayloadReaderDelegate) return payloadReader.isAttributeSpecified(index); + return super.isAttributeSpecified(index); + } + + public int getNamespaceCount() { + if (usePayloadReaderDelegate) return payloadReader.getNamespaceCount(); + return super.getNamespaceCount(); + } + + public String getNamespacePrefix(int index) { + if (usePayloadReaderDelegate) return payloadReader.getNamespacePrefix(index); + return super.getNamespacePrefix(index); + } + + public String getNamespaceURI(int index) { + if (usePayloadReaderDelegate) return payloadReader.getNamespaceURI(index); + return super.getNamespaceURI(index); + } + + public NamespaceContext getNamespaceContext() { + if (usePayloadReaderDelegate) return payloadReader.getNamespaceContext(); + return super.getNamespaceContext(); + } + + public int getEventType() { + if (usePayloadReaderDelegate) return payloadReader.getEventType(); + return super.getEventType(); + } + + public String getText() { + if (usePayloadReaderDelegate) return payloadReader.getText(); + return super.getText(); + } + + public char[] getTextCharacters() { + if (usePayloadReaderDelegate) return payloadReader.getTextCharacters(); + return super.getTextCharacters(); + } + + public int getTextCharacters(int sourceStart, char[] target, + int targetStart, int length) throws XMLStreamException { + if (usePayloadReaderDelegate) return payloadReader.getTextCharacters(sourceStart, target, targetStart, + length); + return super.getTextCharacters(sourceStart, target, targetStart, length); + } + + public int getTextStart() { + if (usePayloadReaderDelegate) return payloadReader.getTextStart(); + return super.getTextStart(); + } + + public int getTextLength() { + if (usePayloadReaderDelegate) return payloadReader.getTextLength(); + return super.getTextLength(); + } + + public String getEncoding() { + if (usePayloadReaderDelegate) return payloadReader.getEncoding(); + return super.getEncoding(); + } + + public boolean hasText() { + if (usePayloadReaderDelegate) return payloadReader.hasText(); + return super.hasText(); + } + + public Location getLocation() { + if (usePayloadReaderDelegate) return payloadReader.getLocation(); + return super.getLocation(); + } + + public QName getName() { + if (usePayloadReaderDelegate) return payloadReader.getName(); + return super.getName(); + } + + public String getLocalName() { + if (usePayloadReaderDelegate) return payloadReader.getLocalName(); + return super.getLocalName(); + } + + public boolean hasName() { + if (usePayloadReaderDelegate) return payloadReader.hasName(); + return super.hasName(); + } + + public String getNamespaceURI() { + if (usePayloadReaderDelegate) return payloadReader.getNamespaceURI(); + return super.getNamespaceURI(); + } + + public String getPrefix() { + if (usePayloadReaderDelegate) return payloadReader.getPrefix(); + return super.getPrefix(); + } + + public String getVersion() { + if (usePayloadReaderDelegate) return payloadReader.getVersion(); + return super.getVersion(); + } + + public boolean isStandalone() { + if (usePayloadReaderDelegate) return payloadReader.isStandalone(); + return super.isStandalone(); + } + + public boolean standaloneSet() { + if (usePayloadReaderDelegate) return payloadReader.standaloneSet(); + return super.standaloneSet(); + } + + public String getCharacterEncodingScheme() { + if (usePayloadReaderDelegate) return payloadReader.getCharacterEncodingScheme(); + return super.getCharacterEncodingScheme(); + } + + public String getPITarget() { + if (usePayloadReaderDelegate) return payloadReader.getPITarget(); + return super.getPITarget(); + } + + public String getPIData() { + if (usePayloadReaderDelegate) return payloadReader.getPIData(); + return super.getPIData(); + } + + //make sure that message is not realized as a result of call + //to getFirstChild + protected Node getFirstChild(Node node) { + if (node instanceof BodyImpl) { + return ((BodyImpl) node).getFirstChildNoMaterialize(); + } else { + return node.getFirstChild(); + } + } + + protected Node getNextSibling(Node node) { + if (node instanceof BodyImpl) { + //body is not expected to have a next sibling - even if it does + //we would have to materialize the node to retrieve it. + //Since we don't want to materialize it right now, just return null + return null; + } + return node.getNextSibling(); + } + +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/CleanUpExecutorFactory.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/CleanUpExecutorFactory.java index 2621bc48818..e81a24319bd 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/CleanUpExecutorFactory.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/CleanUpExecutorFactory.java @@ -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 @@ -25,7 +25,7 @@ package com.sun.xml.internal.org.jvnet.mimepull; -import java.util.concurrent.Executor; +import java.util.concurrent.ScheduledExecutorService; public abstract class CleanUpExecutorFactory { private static final String DEFAULT_PROPERTY_NAME = CleanUpExecutorFactory.class @@ -42,5 +42,5 @@ public abstract class CleanUpExecutorFactory { } } - public abstract Executor getExecutor(); + public abstract ScheduledExecutorService getScheduledExecutorService(); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java index 23e54a0ac79..5eda7fe70a6 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java @@ -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 @@ -25,6 +25,8 @@ package com.sun.xml.internal.org.jvnet.mimepull; +import java.util.concurrent.TimeUnit; + import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; @@ -32,7 +34,7 @@ import java.lang.ref.ReferenceQueue; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.Executor; +import java.util.concurrent.ScheduledExecutorService; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,6 +47,7 @@ import java.util.logging.Logger; final class WeakDataFile extends WeakReference { private static final Logger LOGGER = Logger.getLogger(WeakDataFile.class.getName()); + private static int TIMEOUT = 10; //milliseconds //private static final int MAX_ITERATIONS = 2; private static ReferenceQueue refQueue = new ReferenceQueue(); private static List refList = new ArrayList(); @@ -52,28 +55,22 @@ final class WeakDataFile extends WeakReference { private final RandomAccessFile raf; private static boolean hasCleanUpExecutor = false; static { + int delay = 10; + try { + delay = Integer.getInteger("com.sun.xml.internal.org.jvnet.mimepull.delay", 10); + } catch (SecurityException se) { + if (LOGGER.isLoggable(Level.CONFIG)) { + LOGGER.log(Level.CONFIG, "Cannot read ''{0}'' property, using defaults.", + new Object[] {"com.sun.xml.internal.org.jvnet.mimepull.delay"}); + } + } CleanUpExecutorFactory executorFactory = CleanUpExecutorFactory.newInstance(); if (executorFactory!=null) { if (LOGGER.isLoggable(Level.FINE)) { LOGGER.log(Level.FINE, "Initializing clean up executor for MIMEPULL: {0}", executorFactory.getClass().getName()); } - Executor executor = executorFactory.getExecutor(); - executor.execute(new Runnable() { - @Override - public void run() { - WeakDataFile weak; - while (true) { - try { - weak = (WeakDataFile) refQueue.remove(); - if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.log(Level.FINE, "Cleaning file = {0} from reference queue.", weak.file); - } - weak.close(); - } catch (InterruptedException e) { - } - } - } - }); + ScheduledExecutorService scheduler = executorFactory.getScheduledExecutorService(); + scheduler.scheduleWithFixedDelay(new CleanupRunnable(), delay, delay, TimeUnit.SECONDS); hasCleanUpExecutor = true; } } @@ -157,4 +154,24 @@ final class WeakDataFile extends WeakReference { weak.close(); } } + +private static class CleanupRunnable implements Runnable { + @Override + public void run() { + try { + if (LOGGER.isLoggable(Level.FINE)) { + LOGGER.log(Level.FINE, "Running cleanup task"); + } + WeakDataFile weak = (WeakDataFile) refQueue.remove(TIMEOUT); + while (weak != null) { + if (LOGGER.isLoggable(Level.FINE)) { + LOGGER.log(Level.FINE, "Cleaning file = {0} from reference queue.", weak.file); + } + weak.close(); + weak = (WeakDataFile) refQueue.remove(TIMEOUT); + } + } catch (InterruptedException e) { + } + } +} } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java index 62d6dcaab95..4fc6afdfa83 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java @@ -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 @@ -62,6 +62,7 @@ public class Base64Data implements CharSequence, Cloneable { private DataHandler dataHandler; private byte[] data; + private String hrefCid; /** * Length of the valid data in {@link #data}. @@ -531,4 +532,16 @@ public class Base64Data implements CharSequence, Cloneable { // // } + public String getHrefCid() { + if (hrefCid == null && dataHandler != null && dataHandler instanceof StreamingDataHandler) { + hrefCid = ((StreamingDataHandler)dataHandler).getHrefCid(); + } + return hrefCid; + } + + public void setHrefCid(final String cid) { + this.hrefCid = cid; + if (dataHandler != null && dataHandler instanceof StreamingDataHandler) ((StreamingDataHandler)dataHandler).setHrefCid(cid); + } + } diff --git a/jdk/src/share/classes/sun/misc/RegexpTarget.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/BinaryText.java similarity index 68% rename from jdk/src/share/classes/sun/misc/RegexpTarget.java rename to jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/BinaryText.java index a44028acf7f..d3f5e887b34 100644 --- a/jdk/src/share/classes/sun/misc/RegexpTarget.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/BinaryText.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 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,19 +23,18 @@ * questions. */ -package sun.misc; +package com.sun.xml.internal.org.jvnet.staxex; + +import javax.activation.DataHandler; +import javax.xml.soap.SOAPException; +import javax.xml.soap.Text; /** - * A class to define actions to be performed when a regular expression match - * occurs. - * @author James Gosling + * BinaryText represents a MTOM attachment. + * + * @author shih-chang.chen@oracle.com */ - -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); +public interface BinaryText extends Text { + public String getHref(); + public DataHandler getDataHandler() throws SOAPException; } diff --git a/jdk/src/share/classes/java/net/SdpSocketImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/MtomEnabled.java similarity index 64% rename from jdk/src/share/classes/java/net/SdpSocketImpl.java rename to jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/MtomEnabled.java index b5b023e2433..d3ce3ef7bbd 100644 --- a/jdk/src/share/classes/java/net/SdpSocketImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/MtomEnabled.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 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,27 +23,17 @@ * questions. */ -package java.net; +package com.sun.xml.internal.org.jvnet.staxex; -import java.io.IOException; -import java.io.FileDescriptor; - -import sun.net.sdp.SdpSupport; +import javax.activation.DataHandler; /** - * SocketImpl that supports the SDP protocol + * A SOAPElement implementation may support this interface to allow MTOM attachments. + * + * @author shih-chang.chen@oracle.com */ -class SdpSocketImpl extends PlainSocketImpl { - SdpSocketImpl() { } - - @Override - protected void create(boolean stream) throws IOException { - if (!stream) - throw new UnsupportedOperationException("Must be a stream socket"); - fd = SdpSupport.createSocket(); - if (socket != null) - socket.setCreated(); - if (serverSocket != null) - serverSocket.setCreated(); - } +public interface MtomEnabled { + BinaryText addBinaryText(byte[] bytes); + BinaryText addBinaryText(String contentType, byte[] bytes); + BinaryText addBinaryText(String href, DataHandler dl); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/StAxSOAPBody.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/StAxSOAPBody.java new file mode 100644 index 00000000000..ff1b1f8713c --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/StAxSOAPBody.java @@ -0,0 +1,81 @@ +/* + * 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 com.sun.xml.internal.org.jvnet.staxex; + +import javax.xml.namespace.QName; +import javax.xml.soap.SOAPException; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; + +/** + * A StAxSOAPBody is a SOAPBody that allows to be loaded from a StAX style payload. + * + * @author shih-chang.chen@oracle.com + */ +public interface StAxSOAPBody { + + /** + * The StAxSOAPBody represents the StAX source of SOAPBody payload. + */ + public static interface Payload { + + /** + * Retrieve payload qname without materializing its contents + * @return + * @throws SOAPException + */ + public QName getPayloadQName(); + + public XMLStreamReader readPayload() throws XMLStreamException; + + public void writePayloadTo(XMLStreamWriter writer)throws XMLStreamException; + + /** + * Retrieve payload attribute value without materializing its contents + * @param localName + * @return + * @throws SOAPException + */ + public String getPayloadAttributeValue(String localName) throws XMLStreamException; + + /** + * Retrieve payload attribute value without materializing its contents + * @param qName + * @return + * @throws SOAPException + */ + public String getPayloadAttributeValue(QName qName) throws XMLStreamException; + + public void materialize() throws SOAPException; + } + + public void setPayload(Payload src) throws SOAPException; + + public Payload getPayload()throws SOAPException; + + public boolean hasStaxPayload(); + } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/StreamingDataHandler.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/StreamingDataHandler.java index 409cea5c67e..dda4a38f36a 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/StreamingDataHandler.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/StreamingDataHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2013, 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 @@ -52,6 +52,8 @@ import java.net.URL; */ public abstract class StreamingDataHandler extends DataHandler implements Closeable { + private String hrefCid; + public StreamingDataHandler(Object o, String s) { super(o, s); } @@ -142,4 +144,11 @@ public abstract class StreamingDataHandler extends DataHandler implements Closea */ public abstract void close() throws IOException; + public String getHrefCid() { + return hrefCid; + } + + public void setHrefCid(final String cid) { + this.hrefCid = cid; + } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/DOMStreamReader.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/DOMStreamReader.java new file mode 100644 index 00000000000..74b73f7f0ca --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/DOMStreamReader.java @@ -0,0 +1,895 @@ +/* + * 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 + * 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 com.sun.xml.internal.org.jvnet.staxex.util; + +import org.w3c.dom.Attr; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import static org.w3c.dom.Node.*; +import org.w3c.dom.ProcessingInstruction; +import org.w3c.dom.Text; + +import javax.xml.namespace.NamespaceContext; +import javax.xml.namespace.QName; +import javax.xml.stream.Location; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import java.util.Collections; +import java.util.Iterator; + +/** + * Create an {@link XMLStreamReader} on top of a DOM tree. + * + *

+ * Since various libraries as well as users often create "incorrect" DOM node, + * this class spends a lot of efforts making sure that broken DOM trees are + * nevertheless interpreted correctly. + * + *

+ * For example, if a DOM level + * 1 tree is passed, each method will attempt to return the correct value + * by using {@link Node#getNodeName()}. + * + *

+ * Similarly, if DOM is missing explicit namespace declarations, + * this class attempts to emulate necessary declarations. + * + * + * @author Santiago.PericasGeertsen@sun.com + * @author Kohsuke Kawaguchi + */ +public class DOMStreamReader implements XMLStreamReader, NamespaceContext { + + /** + * Current DOM node being traversed. + */ + protected Node _current; + + /** + * Starting node of the subtree being traversed. + */ + private Node _start; + + /** + * Named mapping for attributes and NS decls for the current node. + */ + private NamedNodeMap _namedNodeMap; + + /** + * If the reader points at {@link #CHARACTERS the text node}, + * its whole value. + * + *

+ * This is simply a cache of {@link Text#getWholeText()} of {@link #_current}, + * but when a large binary data sent as base64 text, this could get very much + * non-trivial. + */ + protected String wholeText; + + /** + * List of attributes extracted from _namedNodeMap. + */ + private final FinalArrayList _currentAttributes = new FinalArrayList(); + + /** + * {@link Scope} buffer. + */ + protected Scope[] scopes = new Scope[8]; + + /** + * Depth of the current element. The first element gets depth==0. + * Also used as the index to {@link #scopes}. + */ + protected int depth = 0; + + /** + * State of this reader. Any of the valid states defined in StAX' + * XMLStreamConstants class. + */ + protected int _state; + + /** + * Namespace declarations on one element. + * + * Instances are reused. + */ + protected static final class Scope { + /** + * Scope for the parent element. + */ + final Scope parent; + + /** + * List of namespace declarations extracted from _namedNodeMap + */ + final FinalArrayList currentNamespaces = new FinalArrayList(); + + /** + * Additional namespace declarations obtained as a result of "fixing" DOM tree, + * which were not part of the original DOM tree. + * + * One entry occupies two spaces (prefix followed by URI.) + */ + final FinalArrayList additionalNamespaces = new FinalArrayList(); + + Scope(Scope parent) { + this.parent = parent; + } + + void reset() { + currentNamespaces.clear(); + additionalNamespaces.clear(); + } + + int getNamespaceCount() { + return currentNamespaces.size()+additionalNamespaces.size()/2; + } + + String getNamespacePrefix(int index) { + int sz = currentNamespaces.size(); + if(index< sz) { + Attr attr = currentNamespaces.get(index); + String result = attr.getLocalName(); + if (result == null) { + result = QName.valueOf(attr.getNodeName()).getLocalPart(); + } + return result.equals("xmlns") ? null : result; + } else { + return additionalNamespaces.get((index-sz)*2); + } + } + + String getNamespaceURI(int index) { + int sz = currentNamespaces.size(); + if(index< sz) { + return currentNamespaces.get(index).getValue(); + } else { + return additionalNamespaces.get((index-sz)*2+1); + } + } + + /** + * Returns the prefix bound to the given URI, or null. + * This method recurses to the parent. + */ + String getPrefix(String nsUri) { + for( Scope sp=this; sp!=null; sp=sp.parent ) { + for( int i=sp.currentNamespaces.size()-1; i>=0; i--) { + String result = getPrefixForAttr(sp.currentNamespaces.get(i),nsUri); + if(result!=null) + return result; + } + for( int i=sp.additionalNamespaces.size()-2; i>=0; i-=2 ) + if(sp.additionalNamespaces.get(i+1).equals(nsUri)) + return sp.additionalNamespaces.get(i); + } + return null; + } + + /** + * Returns the namespace URI bound by the given prefix. + * + * @param prefix + * Prefix to look up. + */ + String getNamespaceURI(String prefix) { + String nsDeclName = prefix.length()==0 ? "xmlns" : "xmlns:"+prefix; + + for( Scope sp=this; sp!=null; sp=sp.parent ) { + for( int i=sp.currentNamespaces.size()-1; i>=0; i--) { + Attr a = sp.currentNamespaces.get(i); + if(a.getNodeName().equals(nsDeclName)) + return a.getValue(); + } + for( int i=sp.additionalNamespaces.size()-2; i>=0; i-=2 ) + if(sp.additionalNamespaces.get(i).equals(prefix)) + return sp.additionalNamespaces.get(i+1); + } + return null; + } + } + + + public DOMStreamReader() { + } + + public DOMStreamReader(Node node) { + setCurrentNode(node); + } + + public void setCurrentNode(Node node) { + scopes[0] = new Scope(null); + depth=0; + + _start = _current = node; + _state = START_DOCUMENT; + // verifyDOMIntegrity(node); + // displayDOM(node, System.out); + } + + public void close() throws XMLStreamException { + } + + /** + * Called when the current node is {@link Element} to look at attribute list + * (which contains both ns decl and attributes in DOM) and split them + * to attributes-proper and namespace decls. + */ + protected void splitAttributes() { + // Clear attribute and namespace lists + _currentAttributes.clear(); + + Scope scope = allocateScope(); + + _namedNodeMap = _current.getAttributes(); + if (_namedNodeMap != null) { + final int n = _namedNodeMap.getLength(); + for (int i = 0; i < n; i++) { + final Attr attr = (Attr) _namedNodeMap.item(i); + final String attrName = attr.getNodeName(); + if (attrName.startsWith("xmlns:") || attrName.equals("xmlns")) { // NS decl? + scope.currentNamespaces.add(attr); + } + else { + _currentAttributes.add(attr); + } + } + } + + // verify that all the namespaces used in element and attributes are indeed available + ensureNs(_current); + for( int i=_currentAttributes.size()-1; i>=0; i-- ) { + Attr a = _currentAttributes.get(i); + if(fixNull(a.getNamespaceURI()).length()>0) + ensureNs(a); // no need to declare "" for attributes in the default namespace + } + } + + /** + * Sub-routine of {@link #splitAttributes()}. + * + *

+ * Makes sure that the namespace URI/prefix used in the given node is available, + * and if not, declare it on the current scope to "fix" it. + * + * It's often common to create DOM trees without putting namespace declarations, + * and this makes sure that such DOM tree will be properly marshalled. + */ + private void ensureNs(Node n) { + String prefix = fixNull(n.getPrefix()); + String uri = fixNull(n.getNamespaceURI()); + + Scope scope = scopes[depth]; + + String currentUri = scope.getNamespaceURI(prefix); + + if(prefix.length()==0) { + currentUri = fixNull(currentUri); + if(currentUri.equals(uri)) + return; // declared correctly + } else { + if(currentUri!=null && currentUri.equals(uri)) + return; // declared correctly + } + + if(prefix.equals("xml") || prefix.equals("xmlns")) + return; // implicitly declared namespaces + + // needs to be declared + scope.additionalNamespaces.add(prefix); + scope.additionalNamespaces.add(uri); + } + + /** + * Allocate new {@link Scope} for {@link #splitAttributes()}. + */ + private Scope allocateScope() { + if(scopes.length==++depth) { + Scope[] newBuf = new Scope[scopes.length*2]; + System.arraycopy(scopes,0,newBuf,0,scopes.length); + scopes = newBuf; + } + Scope scope = scopes[depth]; + if(scope==null) { + scope = scopes[depth] = new Scope(scopes[depth-1]); + } else { + scope.reset(); + } + return scope; + } + + public int getAttributeCount() { + if (_state == START_ELEMENT) + return _currentAttributes.size(); + throw new IllegalStateException("DOMStreamReader: getAttributeCount() called in illegal state"); + } + + /** + * Return an attribute's local name. Handle the case of DOM level 1 nodes. + */ + public String getAttributeLocalName(int index) { + if (_state == START_ELEMENT) { + String localName = _currentAttributes.get(index).getLocalName(); + return (localName != null) ? localName : + QName.valueOf(_currentAttributes.get(index).getNodeName()).getLocalPart(); + } + throw new IllegalStateException("DOMStreamReader: getAttributeLocalName() called in illegal state"); + } + + /** + * Return an attribute's qname. Handle the case of DOM level 1 nodes. + */ + public QName getAttributeName(int index) { + if (_state == START_ELEMENT) { + Node attr = _currentAttributes.get(index); + String localName = attr.getLocalName(); + if (localName != null) { + String prefix = attr.getPrefix(); + String uri = attr.getNamespaceURI(); + return new QName(fixNull(uri), localName, fixNull(prefix)); + } + else { + return QName.valueOf(attr.getNodeName()); + } + } + throw new IllegalStateException("DOMStreamReader: getAttributeName() called in illegal state"); + } + + public String getAttributeNamespace(int index) { + if (_state == START_ELEMENT) { + String uri = _currentAttributes.get(index).getNamespaceURI(); + return fixNull(uri); + } + throw new IllegalStateException("DOMStreamReader: getAttributeNamespace() called in illegal state"); + } + + public String getAttributePrefix(int index) { + if (_state == START_ELEMENT) { + String prefix = _currentAttributes.get(index).getPrefix(); + return fixNull(prefix); + } + throw new IllegalStateException("DOMStreamReader: getAttributePrefix() called in illegal state"); + } + + public String getAttributeType(int index) { + if (_state == START_ELEMENT) { + return "CDATA"; + } + throw new IllegalStateException("DOMStreamReader: getAttributeType() called in illegal state"); + } + + public String getAttributeValue(int index) { + if (_state == START_ELEMENT) { + return _currentAttributes.get(index).getNodeValue(); + } + throw new IllegalStateException("DOMStreamReader: getAttributeValue() called in illegal state"); + } + + public String getAttributeValue(String namespaceURI, String localName) { + if (_state == START_ELEMENT) { + if (_namedNodeMap != null) { + Node attr = _namedNodeMap.getNamedItemNS(namespaceURI, localName); + return attr != null ? attr.getNodeValue() : null; + } + return null; + } + throw new IllegalStateException("DOMStreamReader: getAttributeValue() called in illegal state"); + } + + public String getCharacterEncodingScheme() { + return null; + } + + public String getElementText() throws javax.xml.stream.XMLStreamException { + throw new RuntimeException("DOMStreamReader: getElementText() not implemented"); + } + + public String getEncoding() { + return null; + } + + public int getEventType() { + return _state; + } + + /** + * Return an element's local name. Handle the case of DOM level 1 nodes. + */ + public String getLocalName() { + if (_state == START_ELEMENT || _state == END_ELEMENT) { + String localName = _current.getLocalName(); + return localName != null ? localName : + QName.valueOf(_current.getNodeName()).getLocalPart(); + } + else if (_state == ENTITY_REFERENCE) { + return _current.getNodeName(); + } + throw new IllegalStateException("DOMStreamReader: getAttributeValue() called in illegal state"); + } + + public Location getLocation() { + return DummyLocation.INSTANCE; + } + + /** + * Return an element's qname. Handle the case of DOM level 1 nodes. + */ + public javax.xml.namespace.QName getName() { + if (_state == START_ELEMENT || _state == END_ELEMENT) { + String localName = _current.getLocalName(); + if (localName != null) { + String prefix = _current.getPrefix(); + String uri = _current.getNamespaceURI(); + return new QName(fixNull(uri), localName, fixNull(prefix)); + } + else { + return QName.valueOf(_current.getNodeName()); + } + } + throw new IllegalStateException("DOMStreamReader: getName() called in illegal state"); + } + + public NamespaceContext getNamespaceContext() { + return this; + } + + /** + * Verifies the current state to see if we can return the scope, and do so + * if appropriate. + * + * Used to implement a bunch of StAX API methods that have the same usage restriction. + */ + private Scope getCheckedScope() { + if (_state == START_ELEMENT || _state == END_ELEMENT) { + return scopes[depth]; + } + throw new IllegalStateException("DOMStreamReader: neither on START_ELEMENT nor END_ELEMENT"); + } + + public int getNamespaceCount() { + return getCheckedScope().getNamespaceCount(); + } + + public String getNamespacePrefix(int index) { + return getCheckedScope().getNamespacePrefix(index); + } + + public String getNamespaceURI(int index) { + return getCheckedScope().getNamespaceURI(index); + } + + public String getNamespaceURI() { + if (_state == START_ELEMENT || _state == END_ELEMENT) { + String uri = _current.getNamespaceURI(); + return fixNull(uri); + } + return null; + } + + /** + * This method is not particularly fast, but shouldn't be called very + * often. If we start to use it more, we should keep track of the + * NS declarations using a NamespaceContext implementation instead. + */ + public String getNamespaceURI(String prefix) { + if (prefix == null) { + throw new IllegalArgumentException("DOMStreamReader: getNamespaceURI(String) call with a null prefix"); + } + else if (prefix.equals("xml")) { + return "http://www.w3.org/XML/1998/namespace"; + } + else if (prefix.equals("xmlns")) { + return "http://www.w3.org/2000/xmlns/"; + } + + // check scopes + String nsUri = scopes[depth].getNamespaceURI(prefix); + if(nsUri!=null) return nsUri; + + // then ancestors above start node + Node node = findRootElement(); + String nsDeclName = prefix.length()==0 ? "xmlns" : "xmlns:"+prefix; + while (node.getNodeType() != DOCUMENT_NODE) { + // Is ns declaration on this element? + NamedNodeMap namedNodeMap = node.getAttributes(); + Attr attr = (Attr) namedNodeMap.getNamedItem(nsDeclName); + if (attr != null) + return attr.getValue(); + node = node.getParentNode(); + } + return null; + } + + public String getPrefix(String nsUri) { + if (nsUri == null) { + throw new IllegalArgumentException("DOMStreamReader: getPrefix(String) call with a null namespace URI"); + } + else if (nsUri.equals("http://www.w3.org/XML/1998/namespace")) { + return "xml"; + } + else if (nsUri.equals("http://www.w3.org/2000/xmlns/")) { + return "xmlns"; + } + + // check scopes + String prefix = scopes[depth].getPrefix(nsUri); + if(prefix!=null) return prefix; + + // then ancestors above start node + Node node = findRootElement(); + + while (node.getNodeType() != DOCUMENT_NODE) { + // Is ns declaration on this element? + NamedNodeMap namedNodeMap = node.getAttributes(); + for( int i=namedNodeMap.getLength()-1; i>=0; i-- ) { + Attr attr = (Attr)namedNodeMap.item(i); + prefix = getPrefixForAttr(attr,nsUri); + if(prefix!=null) + return prefix; + } + node = node.getParentNode(); + } + return null; + } + + /** + * Finds the root element node of the traversal. + */ + private Node findRootElement() { + int type; + + Node node = _start; + while ((type = node.getNodeType()) != DOCUMENT_NODE + && type != ELEMENT_NODE) { + node = node.getParentNode(); + } + return node; + } + + /** + * If the given attribute is a namespace declaration for the given namespace URI, + * return its prefix. Otherwise null. + */ + private static String getPrefixForAttr(Attr attr, String nsUri) { + String attrName = attr.getNodeName(); + if (!attrName.startsWith("xmlns:") && !attrName.equals("xmlns")) + return null; // not nsdecl + + if(attr.getValue().equals(nsUri)) { + if(attrName.equals("xmlns")) + return ""; + String localName = attr.getLocalName(); + return (localName != null) ? localName : + QName.valueOf(attrName).getLocalPart(); + } + + return null; + } + + public Iterator getPrefixes(String nsUri) { + // This is an incorrect implementation, + // but AFAIK it's not used in the JAX-WS runtime + String prefix = getPrefix(nsUri); + if(prefix==null) return Collections.emptyList().iterator(); + else return Collections.singletonList(prefix).iterator(); + } + + public String getPIData() { + if (_state == PROCESSING_INSTRUCTION) { + return ((ProcessingInstruction) _current).getData(); + } + return null; + } + + public String getPITarget() { + if (_state == PROCESSING_INSTRUCTION) { + return ((ProcessingInstruction) _current).getTarget(); + } + return null; + } + + public String getPrefix() { + if (_state == START_ELEMENT || _state == END_ELEMENT) { + String prefix = _current.getPrefix(); + return fixNull(prefix); + } + return null; + } + + public Object getProperty(String str) throws IllegalArgumentException { + return null; + } + + public String getText() { + if (_state == CHARACTERS) + return wholeText; + if(_state == CDATA || _state == COMMENT || _state == ENTITY_REFERENCE) + return _current.getNodeValue(); + throw new IllegalStateException("DOMStreamReader: getTextLength() called in illegal state"); + } + + public char[] getTextCharacters() { + return getText().toCharArray(); + } + + public int getTextCharacters(int sourceStart, char[] target, int targetStart, + int targetLength) throws XMLStreamException { + String text = getText(); + int copiedSize = Math.min(targetLength, text.length() - sourceStart); + text.getChars(sourceStart, sourceStart + copiedSize, target, targetStart); + + return copiedSize; + } + + public int getTextLength() { + return getText().length(); + } + + public int getTextStart() { + if (_state == CHARACTERS || _state == CDATA || _state == COMMENT || _state == ENTITY_REFERENCE) { + return 0; + } + throw new IllegalStateException("DOMStreamReader: getTextStart() called in illegal state"); + } + + public String getVersion() { + return null; + } + + public boolean hasName() { + return (_state == START_ELEMENT || _state == END_ELEMENT); + } + + public boolean hasNext() throws javax.xml.stream.XMLStreamException { + return (_state != END_DOCUMENT); + } + + public boolean hasText() { + if (_state == CHARACTERS || _state == CDATA || _state == COMMENT || _state == ENTITY_REFERENCE) { + return getText().trim().length() > 0; + } + return false; + } + + public boolean isAttributeSpecified(int param) { + return false; + } + + public boolean isCharacters() { + return (_state == CHARACTERS); + } + + public boolean isEndElement() { + return (_state == END_ELEMENT); + } + + public boolean isStandalone() { + return true; + } + + public boolean isStartElement() { + return (_state == START_ELEMENT); + } + + public boolean isWhiteSpace() { + if (_state == CHARACTERS || _state == CDATA) + return getText().trim().length()==0; + return false; + } + + private static int mapNodeTypeToState(int nodetype) { + switch (nodetype) { + case CDATA_SECTION_NODE: + return CDATA; + case COMMENT_NODE: + return COMMENT; + case ELEMENT_NODE: + return START_ELEMENT; + case ENTITY_NODE: + return ENTITY_DECLARATION; + case ENTITY_REFERENCE_NODE: + return ENTITY_REFERENCE; + case NOTATION_NODE: + return NOTATION_DECLARATION; + case PROCESSING_INSTRUCTION_NODE: + return PROCESSING_INSTRUCTION; + case TEXT_NODE: + return CHARACTERS; + default: + throw new RuntimeException("DOMStreamReader: Unexpected node type"); + } + } + + public int next() throws XMLStreamException { + while(true) { + int r = _next(); + switch (r) { + case CHARACTERS: + // if we are currently at text node, make sure that this is a meaningful text node. + Node prev = _current.getPreviousSibling(); + if(prev!=null && prev.getNodeType()==Node.TEXT_NODE) + continue; // nope. this is just a continuation of previous text that should be invisible + + Text t = (Text)_current; + wholeText = t.getWholeText(); + if(wholeText.length()==0) + continue; // nope. this is empty text. + return CHARACTERS; + case START_ELEMENT: + splitAttributes(); + return START_ELEMENT; + default: + return r; + } + } + } + + protected int _next() throws XMLStreamException { + Node child; + + switch (_state) { + case END_DOCUMENT: + throw new IllegalStateException("DOMStreamReader: Calling next() at END_DOCUMENT"); + case START_DOCUMENT: + // Don't skip document element if this is a fragment + if (_current.getNodeType() == ELEMENT_NODE) { + return (_state = START_ELEMENT); + } + + child = _current.getFirstChild(); + if (child == null) { + return (_state = END_DOCUMENT); + } + else { + _current = child; + return (_state = mapNodeTypeToState(_current.getNodeType())); + } + case START_ELEMENT: + child = _current.getFirstChild(); + if (child == null) { + return (_state = END_ELEMENT); + } + else { + _current = child; + return (_state = mapNodeTypeToState(_current.getNodeType())); + } + case END_ELEMENT: + case CHARACTERS: + case COMMENT: + case CDATA: + case ENTITY_REFERENCE: + case PROCESSING_INSTRUCTION: + if (_state == END_ELEMENT) depth--; + // If at the end of this fragment, then terminate traversal + if (_current == _start) { + return (_state = END_DOCUMENT); + } + + Node sibling = _current.getNextSibling(); + if (sibling == null) { + _current = _current.getParentNode(); + // getParentNode() returns null for fragments + _state = (_current == null || _current.getNodeType() == DOCUMENT_NODE) ? + END_DOCUMENT : END_ELEMENT; + return _state; + } + else { + _current = sibling; + return (_state = mapNodeTypeToState(_current.getNodeType())); + } + case DTD: + case ATTRIBUTE: + case NAMESPACE: + default: + throw new RuntimeException("DOMStreamReader: Unexpected internal state"); + } + } + + public int nextTag() throws javax.xml.stream.XMLStreamException { + int eventType = next(); + while (eventType == CHARACTERS && isWhiteSpace() + || eventType == CDATA && isWhiteSpace() + || eventType == SPACE + || eventType == PROCESSING_INSTRUCTION + || eventType == COMMENT) + { + eventType = next(); + } + if (eventType != START_ELEMENT && eventType != END_ELEMENT) { + throw new XMLStreamException("DOMStreamReader: Expected start or end tag"); + } + return eventType; + } + + public void require(int type, String namespaceURI, String localName) + throws javax.xml.stream.XMLStreamException + { + if (type != _state) { + throw new XMLStreamException("DOMStreamReader: Required event type not found"); + } + if (namespaceURI != null && !namespaceURI.equals(getNamespaceURI())) { + throw new XMLStreamException("DOMStreamReader: Required namespaceURI not found"); + } + if (localName != null && !localName.equals(getLocalName())) { + throw new XMLStreamException("DOMStreamReader: Required localName not found"); + } + } + + public boolean standaloneSet() { + return true; + } + + + + // -- Debugging ------------------------------------------------------ +/* + private static void displayDOM(Node node, java.io.OutputStream ostream) { + try { + System.out.println("\n====\n"); + XmlUtil.newTransformer().transform( + new DOMSource(node), new StreamResult(ostream)); + System.out.println("\n====\n"); + } + catch (Exception e) { + e.printStackTrace(); + } + } + + private static void verifyDOMIntegrity(Node node) { + switch (node.getNodeType()) { + case ELEMENT_NODE: + case ATTRIBUTE_NODE: + + // DOM level 1? + if (node.getLocalName() == null) { + System.out.println("WARNING: DOM level 1 node found"); + System.out.println(" -> node.getNodeName() = " + node.getNodeName()); + System.out.println(" -> node.getNamespaceURI() = " + node.getNamespaceURI()); + System.out.println(" -> node.getLocalName() = " + node.getLocalName()); + System.out.println(" -> node.getPrefix() = " + node.getPrefix()); + } + + if (node.getNodeType() == ATTRIBUTE_NODE) return; + + NamedNodeMap attrs = node.getAttributes(); + for (int i = 0; i < attrs.getLength(); i++) { + verifyDOMIntegrity(attrs.item(i)); + } + case DOCUMENT_NODE: + NodeList children = node.getChildNodes(); + for (int i = 0; i < children.getLength(); i++) { + verifyDOMIntegrity(children.item(i)); + } + } + } +*/ + + private static String fixNull(String s) { + if(s==null) return ""; + else return s; + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/DummyLocation.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/DummyLocation.java new file mode 100644 index 00000000000..8bcd3b83584 --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/DummyLocation.java @@ -0,0 +1,55 @@ +/* + * 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 + * 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 com.sun.xml.internal.org.jvnet.staxex.util; + +import javax.xml.stream.Location; + +/** + * {@link Location} that returns no info. + * + * @author Santiago.PericasGeertsen@sun.com + */ +public final class DummyLocation implements Location { + private DummyLocation() {} + + public static final Location INSTANCE = new DummyLocation(); + + public int getCharacterOffset() { + return -1; + } + public int getColumnNumber() { + return -1; + } + public int getLineNumber() { + return -1; + } + public String getPublicId() { + return null; + } + public String getSystemId() { + return null; + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/FinalArrayList.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/FinalArrayList.java new file mode 100644 index 00000000000..1c1eedbaa86 --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/FinalArrayList.java @@ -0,0 +1,46 @@ +/* + * 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 + * 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 com.sun.xml.internal.org.jvnet.staxex.util; + +import java.util.ArrayList; +import java.util.Collection; + +/** + * {@link ArrayList} with a final marker to help JIT. + * @author Kohsuke Kawaguchi + */ +public final class FinalArrayList extends ArrayList { + public FinalArrayList(int initialCapacity) { + super(initialCapacity); + } + + public FinalArrayList() { + } + + public FinalArrayList(Collection collection) { + super(collection); + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/MtomStreamWriter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/MtomStreamWriter.java new file mode 100644 index 00000000000..a3435408de8 --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/MtomStreamWriter.java @@ -0,0 +1,42 @@ +/* + * 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 + * 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 com.sun.xml.internal.org.jvnet.staxex.util; + +import javax.xml.bind.attachment.AttachmentMarshaller; +import javax.xml.stream.XMLStreamWriter; + +/** + * A {@link XMLStreamWriter} that used for MTOM encoding may provide its own + * {@link AttachmentMarshaller}. The marshaller could do processing based on + * MTOM threshold, and make decisions about inlining the attachment data or not. + * + * @author Jitendra Kotamraju + * @see JAXBMessage + * @see MtomCodec + */ +public interface MtomStreamWriter { + AttachmentMarshaller getAttachmentMarshaller(); +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxReaderEx.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxReaderEx.java new file mode 100644 index 00000000000..75afe2b1351 --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxReaderEx.java @@ -0,0 +1,153 @@ +/* + * 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 + * 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 com.sun.xml.internal.org.jvnet.staxex.util; + +import java.util.Iterator; + +import javax.xml.soap.SOAPElement; +import javax.xml.soap.SOAPException; +import javax.xml.stream.XMLStreamException; + +import com.sun.xml.internal.org.jvnet.staxex.Base64Data; +import com.sun.xml.internal.org.jvnet.staxex.XMLStreamReaderEx; +import com.sun.xml.internal.org.jvnet.staxex.BinaryText; + +import org.w3c.dom.Node; +import org.w3c.dom.Text; + +/** + * SaajStaxReaderEx + * + * @author shih-chang.chen@oracle.com + */ +public class SaajStaxReaderEx extends DOMStreamReader implements XMLStreamReaderEx { + //TODO extends com.sun.xml.internal.ws.streaming.DOMStreamReader + private BinaryText binaryText = null; + private Base64Data base64AttData = null; + + public SaajStaxReaderEx(SOAPElement se) { + super(se); + } + + @Override + public int next() throws XMLStreamException { + binaryText = null; + base64AttData = null; + while(true) { + int r = _next(); + switch (r) { + case CHARACTERS: + if (_current instanceof BinaryText) { + binaryText = (BinaryText) _current; + base64AttData = new Base64Data(); + try { + base64AttData.set(binaryText.getDataHandler()); +//System.out.println("--------------- debug SaajStaxReaderEx binaryText " + binaryText); + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } else { + // if we are currently at text node, make sure that this is a meaningful text node. + Node prev = _current.getPreviousSibling(); + if(prev!=null && prev.getNodeType()==Node.TEXT_NODE) + continue; // nope. this is just a continuation of previous text that should be invisible + + Text t = (Text)_current; + wholeText = t.getWholeText(); + if(wholeText.length()==0) + continue; // nope. this is empty text. + } + return CHARACTERS; + case START_ELEMENT: + splitAttributes(); + return START_ELEMENT; + default: + return r; + } + } + } + + @Override + public String getElementTextTrim() throws XMLStreamException { + // TODO Auto-generated method stub + return null; + } + + @Override + public CharSequence getPCDATA() throws XMLStreamException { + return (binaryText != null) ? base64AttData : getText(); + } + + @Override + public com.sun.xml.internal.org.jvnet.staxex.NamespaceContextEx getNamespaceContext() { + return new com.sun.xml.internal.org.jvnet.staxex.NamespaceContextEx() { + + @Override + public String getNamespaceURI(String prefix) { + return _current.lookupNamespaceURI(prefix); + } + + @Override + public String getPrefix(String uri) { + return _current.lookupPrefix(uri); + } + + @Override + public Iterator getPrefixes(String arg0) { + // TODO Auto-generated method stub + return null; + } + + @Override + public Iterator iterator() { + // TODO Auto-generated method stub + return null; + } + + }; + } + + + @Override + public int getTextLength() { + return (binaryText != null) ? base64AttData.length() : super.getTextLength(); + } + + @Override + public int getTextStart() { + return (binaryText != null) ? 0: super.getTextStart(); + } + + @Override + public char[] getTextCharacters() { + if (binaryText != null) { + char[] chars = new char[base64AttData.length()]; + base64AttData.writeTo(chars, 0); + return chars; + } + return super.getTextCharacters(); + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxWriter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxWriter.java new file mode 100644 index 00000000000..8020bea1de4 --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxWriter.java @@ -0,0 +1,330 @@ +/* + * 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 com.sun.xml.internal.org.jvnet.staxex.util; + +import java.util.Arrays; +import java.util.Iterator; + +import javax.xml.namespace.NamespaceContext; +import javax.xml.namespace.QName; +import javax.xml.soap.SOAPElement; +import javax.xml.soap.SOAPException; +import javax.xml.soap.SOAPMessage; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamWriter; + +import org.w3c.dom.Comment; +import org.w3c.dom.Node; + +/** + * SaajStaxWriter builds a SAAJ SOAPMessage by using XMLStreamWriter interface. + * + * @author shih-chang.chen@oracle.com + */ +public class SaajStaxWriter implements XMLStreamWriter { + + protected SOAPMessage soap; + protected String envURI; + protected SOAPElement currentElement; + + static final protected String Envelope = "Envelope"; + static final protected String Header = "Header"; + static final protected String Body = "Body"; + static final protected String xmlns = "xmlns"; + + public SaajStaxWriter(final SOAPMessage msg, String uri) throws SOAPException { + soap = msg; + this.envURI = uri; + } + + public SOAPMessage getSOAPMessage() { + return soap; + } + + protected SOAPElement getEnvelope() throws SOAPException { + return soap.getSOAPPart().getEnvelope(); + } + + @Override + public void writeStartElement(final String localName) throws XMLStreamException { + try { + currentElement = currentElement.addChildElement(localName); + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } + + @Override + public void writeStartElement(final String ns, final String ln) throws XMLStreamException { + writeStartElement(null, ln, ns); + } + + @Override + public void writeStartElement(final String prefix, final String ln, final String ns) throws XMLStreamException { + try { + if (envURI.equals(ns)) { + if (Envelope.equals(ln)) { + currentElement = getEnvelope(); + fixPrefix(prefix); + return; + } else if (Header.equals(ln)) { + currentElement = soap.getSOAPHeader(); + fixPrefix(prefix); + return; + } else if (Body.equals(ln)) { + currentElement = soap.getSOAPBody(); + fixPrefix(prefix); + return; + } + } + currentElement = (prefix == null) ? + currentElement.addChildElement(new QName(ns, ln)) : + currentElement.addChildElement(ln, prefix, ns); + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } + + private void fixPrefix(final String prfx) throws XMLStreamException { + String oldPrfx = currentElement.getPrefix(); + if (prfx != null && !prfx.equals(oldPrfx)) { + currentElement.setPrefix(prfx); + } + } + + @Override + public void writeEmptyElement(final String uri, final String ln) throws XMLStreamException { + writeStartElement(null, ln, uri); + } + + @Override + public void writeEmptyElement(final String prefix, final String ln, final String uri) throws XMLStreamException { + writeStartElement(prefix, ln, uri); + } + + @Override + public void writeEmptyElement(final String ln) throws XMLStreamException { + writeStartElement(null, ln, null); + } + + @Override + public void writeEndElement() throws XMLStreamException { + if (currentElement != null) currentElement = currentElement.getParentElement(); + } + + @Override + public void writeEndDocument() throws XMLStreamException { + } + + @Override + public void close() throws XMLStreamException { + } + + @Override + public void flush() throws XMLStreamException { + } + + @Override + public void writeAttribute(final String ln, final String val) throws XMLStreamException { + writeAttribute(null, null, ln, val); + } + + @Override + public void writeAttribute(final String prefix, final String ns, final String ln, final String value) throws XMLStreamException { + try { + if (ns == null) { + if (prefix == null && xmlns.equals(ln)) { + currentElement.addNamespaceDeclaration("", value); + } else { + currentElement.setAttributeNS("", ln, value); + } + } else { + QName name = (prefix == null) ? new QName(ns, ln) : new QName(ns, ln, prefix); + currentElement.addAttribute(name, value); + } + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } + + @Override + public void writeAttribute(final String ns, final String ln, final String val) throws XMLStreamException { + writeAttribute(null, ns, ln, val); + } + + @Override + public void writeNamespace(String prefix, final String uri) throws XMLStreamException { + + // make prefix default if null or "xmlns" (according to javadoc) + if (prefix == null || "xmlns".equals(prefix)) { + prefix = ""; + } + + try { + currentElement.addNamespaceDeclaration(prefix, uri); + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } + + @Override + public void writeDefaultNamespace(final String uri) throws XMLStreamException { + writeNamespace("", uri); + } + + @Override + public void writeComment(final String data) throws XMLStreamException { + Comment c = soap.getSOAPPart().createComment(data); + currentElement.appendChild(c); + } + + @Override + public void writeProcessingInstruction(final String target) throws XMLStreamException { + Node n = soap.getSOAPPart().createProcessingInstruction(target, ""); + currentElement.appendChild(n); + } + + @Override + public void writeProcessingInstruction(final String target, final String data) throws XMLStreamException { + Node n = soap.getSOAPPart().createProcessingInstruction(target, data); + currentElement.appendChild(n); + } + + @Override + public void writeCData(final String data) throws XMLStreamException { + Node n = soap.getSOAPPart().createCDATASection(data); + currentElement.appendChild(n); + } + + @Override + public void writeDTD(final String dtd) throws XMLStreamException { + //TODO ... Don't do anything here + } + + @Override + public void writeEntityRef(final String name) throws XMLStreamException { + Node n = soap.getSOAPPart().createEntityReference(name); + currentElement.appendChild(n); + } + + @Override + public void writeStartDocument() throws XMLStreamException { + } + + @Override + public void writeStartDocument(final String version) throws XMLStreamException { + if (version != null) soap.getSOAPPart().setXmlVersion(version); + } + + @Override + public void writeStartDocument(final String encoding, final String version) throws XMLStreamException { + if (version != null) soap.getSOAPPart().setXmlVersion(version); + if (encoding != null) { + try { + soap.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, encoding); + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } + } + + @Override + public void writeCharacters(final String text) throws XMLStreamException { + try { + currentElement.addTextNode(text); + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } + + @Override + public void writeCharacters(final char[] text, final int start, final int len) throws XMLStreamException { + char[] chr = (start == 0 && len == text.length) ? text : Arrays.copyOfRange(text, start, start + len); + try { + currentElement.addTextNode(new String(chr)); + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } + + @Override + public String getPrefix(final String uri) throws XMLStreamException { + return currentElement.lookupPrefix(uri); + } + + @Override + public void setPrefix(final String prefix, final String uri) throws XMLStreamException { + try { + this.currentElement.addNamespaceDeclaration(prefix, uri); + } catch (SOAPException e) { + throw new XMLStreamException(e); + } + } + + @Override + public void setDefaultNamespace(final String uri) throws XMLStreamException { + setPrefix("", uri); + } + + @Override + public void setNamespaceContext(final NamespaceContext context)throws XMLStreamException { + throw new UnsupportedOperationException(); + } + + @Override + public Object getProperty(final String name) throws IllegalArgumentException { + //TODO the following line is to make eclipselink happy ... they are aware of this problem - + if (javax.xml.stream.XMLOutputFactory.IS_REPAIRING_NAMESPACES.equals(name)) return Boolean.FALSE; + return null; + } + + @Override + public NamespaceContext getNamespaceContext() { + return new NamespaceContext() { + public String getNamespaceURI(final String prefix) { + return currentElement.getNamespaceURI(prefix); + } + public String getPrefix(final String namespaceURI) { + return currentElement.lookupPrefix(namespaceURI); + } + public Iterator getPrefixes(final String namespaceURI) { + return new Iterator() { + String prefix = getPrefix(namespaceURI); + public boolean hasNext() { + return (prefix != null); + } + public Object next() { + if (!hasNext()) throw new java.util.NoSuchElementException(); + String next = prefix; + prefix = null; + return next; + } + public void remove() {} + }; + } + }; + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxWriterEx.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxWriterEx.java new file mode 100644 index 00000000000..e8b22cf46bd --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/SaajStaxWriterEx.java @@ -0,0 +1,244 @@ +/* + * 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 com.sun.xml.internal.org.jvnet.staxex.util; + +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Iterator; +import java.util.UUID; + +import javax.activation.DataHandler; +import javax.xml.bind.attachment.AttachmentMarshaller; +import javax.xml.soap.SOAPException; +import javax.xml.soap.SOAPMessage; +import javax.xml.stream.XMLStreamException; + +import com.sun.xml.internal.org.jvnet.staxex.Base64Data; +import com.sun.xml.internal.org.jvnet.staxex.BinaryText; +import com.sun.xml.internal.org.jvnet.staxex.MtomEnabled; +import com.sun.xml.internal.org.jvnet.staxex.NamespaceContextEx; +import com.sun.xml.internal.org.jvnet.staxex.StreamingDataHandler; +import com.sun.xml.internal.org.jvnet.staxex.XMLStreamWriterEx; +// +//import com.sun.xml.internal.ws.api.message.saaj.SaajStaxWriter; +//import com.sun.xml.internal.ws.developer.StreamingDataHandler; +//import com.sun.xml.internal.ws.streaming.MtomStreamWriter; + +/** + * SaajStaxWriterEx converts XMLStreamWriterEx calls to build an orasaaj SOAPMessage with BinaryTextImpl. + * + * @author shih-chang.chen@oracle.com + */ +public class SaajStaxWriterEx extends SaajStaxWriter implements XMLStreamWriterEx, MtomStreamWriter { + + static final protected String xopNS = "http://www.w3.org/2004/08/xop/include"; + static final protected String Include = "Include"; + static final protected String href = "href"; + + private enum State {xopInclude, others}; + private State state = State.others; + private BinaryText binaryText; + + public SaajStaxWriterEx(SOAPMessage msg, String uri) throws SOAPException { + super(msg, uri); + } + + public void writeStartElement(String prefix, String ln, String ns) throws XMLStreamException { + if (xopNS.equals(ns) && Include.equals(ln)) { + state = State.xopInclude; + return; + } else { + super.writeStartElement(prefix, ln, ns); + } + } + + @Override + public void writeEndElement() throws XMLStreamException { + if (state.equals(State.xopInclude)) { + state = State.others; + } else { + super.writeEndElement(); + } + } + + @Override + public void writeAttribute(String prefix, String ns, String ln, String value) throws XMLStreamException { + if (binaryText != null && href.equals(ln)) { + return; + } else { + super.writeAttribute(prefix, ns, ln, value); + } + } + +// @Override +// public void writeComment(String data) throws XMLStreamException { +// ((ElementImpl)currentElement).addCommentNode(data); +// } +// +// @Override +// public void writeCData(String data) throws XMLStreamException { +// CDataTextImpl cdt = new CDataTextImpl(soap.getSOAPPart(), data); +// currentElement.appendChild(cdt); +// } + + @Override + public NamespaceContextEx getNamespaceContext() { + return new NamespaceContextEx() { + public String getNamespaceURI(String prefix) { + return currentElement.getNamespaceURI(prefix); + } + public String getPrefix(String namespaceURI) { + return currentElement.lookupPrefix(namespaceURI); + } + public Iterator getPrefixes(final String namespaceURI) { + return new Iterator() { + String prefix = getPrefix(namespaceURI); + public boolean hasNext() { + return (prefix != null); + } + public Object next() { + if (prefix == null) throw new java.util.NoSuchElementException(); + String next = prefix; + prefix = null; + return next; + } + public void remove() {} + }; + } + public Iterator iterator() { + return new Iterator() { + public boolean hasNext() { return false; } + public Binding next() { return null; } + public void remove() {} + }; + } + }; + } + + @Override + public void writeBinary(DataHandler data) throws XMLStreamException { +// binaryText = BinaryTextImpl.createBinaryTextFromDataHandler((MessageImpl)soap, null, currentElement.getOwnerDocument(), data); +// currentElement.appendChild(binaryText); + addBinaryText(data); + } + + @Override + public OutputStream writeBinary(String arg0) throws XMLStreamException { + return null; + } + + @Override + public void writeBinary(byte[] data, int offset, int length, String contentType) throws XMLStreamException { +// if (mtomThreshold == -1 || mtomThreshold > length) return null; + byte[] bytes = (offset == 0 && length == data.length) ? data : Arrays.copyOfRange(data, offset, offset + length); + if (currentElement instanceof MtomEnabled) { + binaryText = ((MtomEnabled) currentElement).addBinaryText(bytes); + } else { + throw new IllegalStateException("The currentElement is not MtomEnabled " + currentElement); + } + } + + @Override + public void writePCDATA(CharSequence arg0) throws XMLStreamException { + if (arg0 instanceof Base64Data) { + // The fix of StreamReaderBufferCreator preserves this dataHandler + addBinaryText(((Base64Data) arg0).getDataHandler()); + } else { + // We should not normally get here as we expect a DataHandler, + // but this is the most general solution. If we do get + // something other than a Data Handler, create a Text node with + // the data. Another alternative would be to throw an exception, + // but in the most general case, we don't know whether this input + // is expected. + try { + currentElement.addTextNode(arg0.toString()); + } catch (SOAPException e) { + throw new XMLStreamException("Cannot add Text node", e); + } + } + } + + static private String encodeCid() { + String cid = "example.jaxws.sun.com"; + String name = UUID.randomUUID() + "@"; + return name + cid; + } + + private String addBinaryText(DataHandler data) { + String hrefOrCid = null; + if (data instanceof StreamingDataHandler) { + hrefOrCid = ((StreamingDataHandler) data).getHrefCid(); + } + if (hrefOrCid == null) hrefOrCid = encodeCid(); + + String prefixedCid = (hrefOrCid.startsWith("cid:")) ? hrefOrCid : "cid:" + hrefOrCid; + // Should we do the threshold processing on DataHandler ? But that would be + // expensive as DataHolder need to read the data again from its source + //binaryText = BinaryTextImpl.createBinaryTextFromDataHandler((MessageImpl) soap, prefixedCid, currentElement.getOwnerDocument(), data); + //currentElement.appendChild(binaryText); + if (currentElement instanceof MtomEnabled) { + binaryText = ((MtomEnabled) currentElement).addBinaryText(prefixedCid, data); + } else { + throw new IllegalStateException("The currentElement is not MtomEnabled " + currentElement); + } + return hrefOrCid; + } + + public AttachmentMarshaller getAttachmentMarshaller() { + return new AttachmentMarshaller() { + @Override + public String addMtomAttachment(DataHandler data, String ns, String ln) { +// if (mtomThreshold == -1) return null; + String hrefOrCid = addBinaryText(data); +// return binaryText.getHref(); + return hrefOrCid; + } + + @Override + public String addMtomAttachment(byte[] data, int offset, int length, String mimeType, String ns, String ln) { +// if (mtomThreshold == -1 || mtomThreshold > length) return null; + byte[] bytes = (offset == 0 && length == data.length) ? data : Arrays.copyOfRange(data, offset, offset + length); +// binaryText = (BinaryTextImpl) ((ElementImpl) currentElement).addAsBase64TextNode(bytes); + if (currentElement instanceof MtomEnabled) { + binaryText = ((MtomEnabled) currentElement).addBinaryText(bytes); + } else { + throw new IllegalStateException("The currentElement is not MtomEnabled " + currentElement); + } + return binaryText.getHref(); + } + + @Override + public String addSwaRefAttachment(DataHandler data) { + return "cid:"+encodeCid(); + } + + @Override + public boolean isXOPPackage() { + return true; + } + }; + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/XMLStreamReaderToXMLStreamWriter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/XMLStreamReaderToXMLStreamWriter.java new file mode 100644 index 00000000000..94643273907 --- /dev/null +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/staxex/util/XMLStreamReaderToXMLStreamWriter.java @@ -0,0 +1,297 @@ +/* + * 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 + * 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 com.sun.xml.internal.org.jvnet.staxex.util; + +import java.io.IOException; + +import javax.xml.bind.attachment.AttachmentMarshaller; +import javax.xml.stream.XMLStreamConstants; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; +import javax.xml.XMLConstants; + +import com.sun.xml.internal.org.jvnet.staxex.Base64Data; +import com.sun.xml.internal.org.jvnet.staxex.XMLStreamReaderEx; +import com.sun.xml.internal.org.jvnet.staxex.XMLStreamWriterEx; + +/** + * Reads a sub-tree from {@link XMLStreamReader} and writes to {@link XMLStreamWriter} + * as-is. + * + *

+ * This class can be sub-classed to implement a simple transformation logic. + * + * @author Kohsuke Kawaguchi + * @author Ryan Shoemaker + */ +public class XMLStreamReaderToXMLStreamWriter { + + static public class Breakpoint { + protected XMLStreamReader reader; + protected XMLStreamWriter writer; + + public Breakpoint(XMLStreamReader r, XMLStreamWriter w) { reader = r; writer = w; } + + public XMLStreamReader reader() { return reader; } + public XMLStreamWriter writer() { return writer; } + public boolean proceedBeforeStartElement() { return true; } + public boolean proceedAfterStartElement() { return true; } + } + + private static final int BUF_SIZE = 4096; + + protected XMLStreamReader in; + protected XMLStreamWriter out; + + private char[] buf; + + boolean optimizeBase64Data = false; + + AttachmentMarshaller mtomAttachmentMarshaller; + + /** + * Reads one subtree and writes it out. + * + *

+ * The {@link XMLStreamWriter} never receives a start/end document event. + * Those need to be written separately by the caller. + */ + public void bridge(XMLStreamReader in, XMLStreamWriter out) throws XMLStreamException { + bridge(in, out, null); + } + + public void bridge(Breakpoint breakPoint) throws XMLStreamException { + bridge(breakPoint.reader(), breakPoint.writer(), breakPoint); + } + + private void bridge(XMLStreamReader in, XMLStreamWriter out, Breakpoint breakPoint) throws XMLStreamException { + assert in!=null && out!=null; + this.in = in; + this.out = out; + + optimizeBase64Data = (in instanceof XMLStreamReaderEx); + + if (out instanceof XMLStreamWriterEx && out instanceof MtomStreamWriter) { + mtomAttachmentMarshaller = ((MtomStreamWriter) out).getAttachmentMarshaller(); + } + // remembers the nest level of elements to know when we are done. + int depth=0; + + buf = new char[BUF_SIZE]; + + // if the parser is at the start tag, proceed to the first element + int event = getEventType(); + + if( event!=XMLStreamConstants.START_ELEMENT) + throw new IllegalStateException("The current event is not START_ELEMENT\n but " + event); + + do { + // These are all of the events listed in the javadoc for + // XMLEvent. + // The spec only really describes 11 of them. + switch (event) { + case XMLStreamConstants.START_ELEMENT : + if (breakPoint != null && !breakPoint.proceedBeforeStartElement()) return; + depth++; + handleStartElement(); + if (breakPoint != null && !breakPoint.proceedAfterStartElement()) return; + break; + case XMLStreamConstants.END_ELEMENT : + handleEndElement(); + depth--; + if(depth==0) + return; + break; + case XMLStreamConstants.CHARACTERS : + handleCharacters(); + break; + case XMLStreamConstants.ENTITY_REFERENCE : + handleEntityReference(); + break; + case XMLStreamConstants.PROCESSING_INSTRUCTION : + handlePI(); + break; + case XMLStreamConstants.COMMENT : + handleComment(); + break; + case XMLStreamConstants.DTD : + handleDTD(); + break; + case XMLStreamConstants.CDATA : + handleCDATA(); + break; + case XMLStreamConstants.SPACE : + handleSpace(); + break; + case XMLStreamConstants.END_DOCUMENT: + throw new XMLStreamException("Malformed XML at depth="+depth+", Reached EOF. Event="+event); + default : + throw new XMLStreamException("Cannot process event: " + event); + } + + event=getNextEvent(); + } while (depth!=0); + } + + protected void handlePI() throws XMLStreamException { + out.writeProcessingInstruction( + in.getPITarget(), + in.getPIData()); + } + + + protected void handleCharacters() throws XMLStreamException { + + CharSequence c = null; + + if (optimizeBase64Data) { + c = ((XMLStreamReaderEx)in).getPCDATA(); + } + + if ((c != null) && (c instanceof Base64Data)) { + if (mtomAttachmentMarshaller != null) { + Base64Data b64d = (Base64Data) c; + ((XMLStreamWriterEx)out).writeBinary(b64d.getDataHandler()); + } else { + try { + ((Base64Data)c).writeTo(out); + } catch (IOException e) { + throw new XMLStreamException(e); + } + } + } else { + for (int start=0,read=buf.length; read == buf.length; start+=buf.length) { + read = in.getTextCharacters(start, buf, 0, buf.length); + out.writeCharacters(buf, 0, read); + } + } + } + + protected void handleEndElement() throws XMLStreamException { + out.writeEndElement(); + } + + protected void handleStartElement() throws XMLStreamException { + String nsUri = in.getNamespaceURI(); + if(nsUri==null) + out.writeStartElement(in.getLocalName()); + else + out.writeStartElement( + fixNull(in.getPrefix()), + in.getLocalName(), + nsUri + ); + + // start namespace bindings + int nsCount = in.getNamespaceCount(); + for (int i = 0; i < nsCount; i++) { + out.writeNamespace( + in.getNamespacePrefix(i), + fixNull(in.getNamespaceURI(i))); // zephyr doesn't like null, I don't know what is correct, so just fix null to "" for now + } + + // write attributes + int attCount = in.getAttributeCount(); + for (int i = 0; i < attCount; i++) { + handleAttribute(i); + } + } + + /** + * Writes out the {@code i}-th attribute of the current element. + * + *

+ * Used from {@link #handleStartElement()}. + */ + protected void handleAttribute(int i) throws XMLStreamException { + String nsUri = in.getAttributeNamespace(i); + String prefix = in.getAttributePrefix(i); + if (fixNull(nsUri).equals(XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) { + //Its a namespace decl, ignore as it is already written. + return; + } + + if(nsUri==null || prefix == null || prefix.equals("")) { + out.writeAttribute( + in.getAttributeLocalName(i), + in.getAttributeValue(i) + ); + } else { + out.writeAttribute( + prefix, + nsUri, + in.getAttributeLocalName(i), + in.getAttributeValue(i) + ); + } + } + + protected void handleDTD() throws XMLStreamException { + out.writeDTD(in.getText()); + } + + protected void handleComment() throws XMLStreamException { + out.writeComment(in.getText()); + } + + protected void handleEntityReference() throws XMLStreamException { + out.writeEntityRef(in.getText()); + } + + protected void handleSpace() throws XMLStreamException { + handleCharacters(); + } + + protected void handleCDATA() throws XMLStreamException { + out.writeCData(in.getText()); + } + + private static String fixNull(String s) { + if(s==null) return ""; + else return s; + } + + private int getEventType() throws XMLStreamException { + int event = in.getEventType(); + // if the parser is at the start tag, proceed to the first element + //Note - need to do this every time because we could be using a composite reader + if(event == XMLStreamConstants.START_DOCUMENT) { + // nextTag doesn't correctly handle DTDs + while( !in.isStartElement() ) { + event = in.next(); + if (event == XMLStreamConstants.COMMENT) + handleComment(); + } + } + return event; + } + + private int getNextEvent() throws XMLStreamException { + in.next(); + return getEventType(); + } +} diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/addressing/EPRSDDocumentFilter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/addressing/EPRSDDocumentFilter.java index b2d19ce7433..e1f39b91ea9 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/addressing/EPRSDDocumentFilter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/addressing/EPRSDDocumentFilter.java @@ -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 @@ -30,7 +30,7 @@ import com.sun.xml.internal.ws.api.addressing.WSEndpointReference; import com.sun.xml.internal.ws.api.addressing.AddressingVersion; import com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory; import com.sun.xml.internal.ws.util.xml.XMLStreamWriterFilter; -import com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter; +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; import com.sun.xml.internal.ws.server.WSEndpointImpl; import com.sun.xml.internal.ws.wsdl.parser.WSDLConstants; import com.sun.istack.internal.Nullable; diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java index b6b16abebe8..68ec6b5e1b4 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java @@ -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 @@ -52,7 +52,7 @@ import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil; import com.sun.xml.internal.ws.util.DOMUtil; import com.sun.xml.internal.ws.util.xml.XMLStreamWriterFilter; import com.sun.xml.internal.ws.util.xml.XmlUtil; -import com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter; +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; import com.sun.xml.internal.ws.wsdl.parser.WSDLConstants; import org.w3c.dom.Element; import org.xml.sax.*; diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/FilterMessageImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/FilterMessageImpl.java index 6cbc2f9153e..194ba0a5810 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/FilterMessageImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/FilterMessageImpl.java @@ -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 @@ -158,7 +158,7 @@ public class FilterMessageImpl extends Message { } public Message copy() { - return delegate.copy(); + return delegate.copy().copyFrom(delegate); } public @NotNull String getID(@NotNull WSBinding binding) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Message.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Message.java index cd473a7aec6..c118e6639d0 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Message.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Message.java @@ -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 @@ -196,6 +196,12 @@ import java.util.UUID; */ public abstract class Message { + // See Packet for doc. + private boolean isProtocolMessage = false; + // next two are package protected - should only be used from Packet + boolean isProtocolMessage() { return isProtocolMessage; } + void setIsProtocolMessage() { isProtocolMessage = true; } + /** * Returns true if headers are present in the message. * @@ -724,11 +730,33 @@ public abstract class Message { *

* The restrictions placed on the use of copied {@link Message} can be * relaxed if necessary, but it will make the copy method more expensive. + * + *

IMPORTANT

+ *

WHEN YOU IMPLEMENT OR CHANGE A {@link .copy()} METHOD, YOU MUST + * USE THE {@link copyFrom(Message)} METHOD IN THE IMPLEMENTATION. */ // TODO: update the class javadoc with 'lifescope' // and move the discussion about life scope there. public abstract Message copy(); + /** + * The {@link Message#copy()} method is used as a shorthand + * throughout the codecase in place of calling a copy constructor. + * However, that shorthand make it difficult to have a concrete + * method here in the base to do common work. + * + *

Rather than have each {@code copy} method duplicate code, the + * following method is used in each {@code copy} implementation. + * It MUST be called. + * + * @return The Message that calls {@code copyFrom} inside the + * {@code copy} method after the copy constructor + */ + public final Message copyFrom(Message m) { + isProtocolMessage = m.isProtocolMessage; + return this; + } + /** * Retuns a unique id for the message. The id can be used for various things, * like debug assistance, logging, and MIME encoding(say for boundary). diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/MessageWrapper.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/MessageWrapper.java index 708c09710b2..a27a6be98bc 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/MessageWrapper.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/MessageWrapper.java @@ -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 @@ -93,6 +93,11 @@ class MessageWrapper extends StreamMessage { return delegate.equals(obj); } + @Override + boolean isProtocolMessage() { return delegate.isProtocolMessage(); } + @Override + void setIsProtocolMessage() { delegate.setIsProtocolMessage(); } + @Override public boolean hasHeaders() { return delegate.hasHeaders(); @@ -105,7 +110,7 @@ class MessageWrapper extends StreamMessage { @Override public String toString() { - return delegate.toString(); + return "{MessageWrapper: " + delegate.toString() + "}"; } @Override @@ -214,7 +219,7 @@ class MessageWrapper extends StreamMessage { @Override public Message copy() { - return delegate.copy(); + return delegate.copy().copyFrom(delegate); } @Override diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Packet.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Packet.java index fc981a9e622..1bc4ca6b974 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Packet.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Packet.java @@ -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 @@ -248,6 +248,26 @@ public final class Packet if (message != null) this.message.setMessageMedadata(this); } + // ALL NEW PACKETS SHOULD HAVE THIS AS false. + // SETTING TO true MUST BE DONE EXPLICITLY, + // NOT VIA COPYING/RELATING PACKETS. + public boolean isProtocolMessage() { + return message != null && message.isProtocolMessage(); + } + public void setIsProtocolMessage() { + assert message != null; + message.setIsProtocolMessage(); + } + + private String userStateId; + public String getUserStateId() { + return userStateId; + } + public void setUserStateId(final String x) { + assert x != null && x.length() <= 256; + userStateId = x; + } + private WSDLOperationMapping wsdlOperationMapping = null; private QName wsdlOperation; @@ -894,6 +914,7 @@ public final class Packet response.component = request.component; response.mtomAcceptable = request.mtomAcceptable; response.mtomRequest = request.mtomRequest; + response.userStateId = request.userStateId; // copy other properties that need to be copied. is there any? } @@ -1255,6 +1276,12 @@ public final class Packet return getCodec().encode(this, buffer); } + /** + * This content type may be set by one of the following ways: + * (1) By the codec as a result of decoding an incoming message + * (2) Cached by a codec after encoding the message + * (3) By a caller of Codec.decode(InputStream, String contentType, Packet) + */ private ContentType contentType; /** @@ -1410,6 +1437,13 @@ public final class Packet //Use the getter to make sure all the logic is executed correctly MTOMFeature myMtomFeature = getMtomFeature(); if(myMtomFeature != null && myMtomFeature.isEnabled()) { + //If the content type is set already on this outbound Packet, + //(e.g.) through Codec.decode(InputStream, String contentType, Packet) + //and it is a non-mtom content type, then don't use mtom to encode it + ContentType curContentType = getInternalContentType(); + if (curContentType != null && !isMtomContentType(curContentType)) { + return false; + } //On client, always use XOP encoding if MTOM is enabled //On Server, mtomAcceptable and mtomRequest will be set - use XOP encoding //if either request is XOP encoded (mtomRequest) or @@ -1432,11 +1466,14 @@ public final class Packet } private boolean isMtomContentType() { - return (getInternalContentType() != null) && - (getInternalContentType().getContentType().contains("application/xop+xml")); + return (getInternalContentType() != null && isMtomContentType(getInternalContentType())); } - /** + private boolean isMtomContentType(ContentType cType) { + return cType.getContentType().contains("application/xop+xml"); + } + + /** * @deprecated */ public void addSatellite(@NotNull com.sun.xml.internal.ws.api.PropertySet satellite) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/StreamingSOAP.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/StreamingSOAP.java index e84ae576f10..ad8ab56b0ad 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/StreamingSOAP.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/StreamingSOAP.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 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,8 +25,17 @@ package com.sun.xml.internal.ws.api.message; +import javax.xml.namespace.QName; +import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; public interface StreamingSOAP { public XMLStreamReader readEnvelope(); + public QName getPayloadQName(); + public XMLStreamReader readToBodyStarTag() throws XMLStreamException; + public XMLStreamReader readPayload() throws XMLStreamException; + public void writeToBodyStart(XMLStreamWriter w) throws XMLStreamException; + public void writePayloadTo(XMLStreamWriter writer)throws XMLStreamException; + public boolean isPayloadStreamReader(); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java index a1bd1da3fc9..7bbbc064e61 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java @@ -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 @@ -36,6 +36,7 @@ import javax.xml.soap.SOAPMessage; import javax.xml.stream.XMLStreamException; import org.xml.sax.SAXException; +import com.sun.xml.internal.org.jvnet.staxex.util.SaajStaxWriter; import com.sun.xml.internal.bind.marshaller.SAX2DOMEx; import com.sun.xml.internal.ws.api.SOAPVersion; @@ -265,7 +266,7 @@ public class SAAJFactory { */ public SOAPMessage readAsSOAPMessage(final SOAPVersion soapVersion, final Message message) throws SOAPException { SOAPMessage msg = soapVersion.getMessageFactory().createMessage(); - SaajStaxWriter writer = new SaajStaxWriter(msg); + SaajStaxWriter writer = new SaajStaxWriter(msg, soapVersion.nsUri); try { message.writeTo(writer); } catch (XMLStreamException e) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SaajStaxWriter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SaajStaxWriter.java index 6414593fee7..5786a0a2831 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SaajStaxWriter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SaajStaxWriter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 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 @@ -42,6 +42,8 @@ import org.w3c.dom.Node; /** * SaajStaxWriter builds a SAAJ SOAPMessage by using XMLStreamWriter interface. * + * @deprecated use com.sun.xml.internal.org.jvnet.staxex.util.SaajStaxWriter + * * @author shih-chang.chen@oracle.com */ public class SaajStaxWriter implements XMLStreamWriter { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java index 9ad1f6edfba..fd331c9ff49 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java @@ -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 @@ -28,7 +28,6 @@ package com.sun.xml.internal.ws.client.sei; import com.sun.istack.internal.NotNull; import com.sun.istack.internal.Nullable; import com.sun.xml.internal.ws.api.SOAPVersion; -import com.sun.xml.internal.ws.api.addressing.WSEndpointReference; import com.sun.xml.internal.ws.api.client.WSPortInfo; import com.sun.xml.internal.ws.api.databinding.Databinding; import com.sun.xml.internal.ws.api.addressing.WSEndpointReference; @@ -167,8 +166,7 @@ public final class SEIStub extends Stub implements InvocationHandler { if (proxy == null || !Proxy.isProxyClass(proxy.getClass())) { throw new IllegalStateException("Passed object is not proxy!"); } - Class declaringClass = method.getDeclaringClass(); - if (method == null || declaringClass == null + if (method == null || method.getDeclaringClass() == null || Modifier.isStatic(method.getModifiers())) { throw new IllegalStateException("Invoking static method is not allowed!"); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/developer/StreamingDataHandler.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/developer/StreamingDataHandler.java index 9ba60a2c77d..5eaad4dbf23 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/developer/StreamingDataHandler.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/developer/StreamingDataHandler.java @@ -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 @@ -50,8 +50,6 @@ import javax.activation.DataSource; */ public abstract class StreamingDataHandler extends com.sun.xml.internal.org.jvnet.staxex.StreamingDataHandler { - private String hrefCid; - public StreamingDataHandler(Object o, String s) { super(o, s); } @@ -63,13 +61,4 @@ public abstract class StreamingDataHandler extends com.sun.xml.internal.org.jvne public StreamingDataHandler(DataSource dataSource) { super(dataSource); } - - public String getHrefCid() { - return hrefCid; - } - - public void setHrefCid(final String cid) { - this.hrefCid = cid; - } - } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java index f8b3da89f3b..f4d61f5d004 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java @@ -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 @@ -62,6 +62,7 @@ public final class ContentTypeImpl implements com.sun.xml.internal.ws.api.pipe.C try { internalContentType = new ContentType(contentType); tmpCharset = internalContentType.getParameter("charset"); + rootId = internalContentType.getParameter("start"); } catch(Exception e) { //Ignore the parsing exception. } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MimeCodec.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MimeCodec.java index f060a34fdb0..fb8e5f2a5a6 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MimeCodec.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MimeCodec.java @@ -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 @@ -118,12 +118,14 @@ abstract class MimeCodec implements Codec { } ContentTypeImpl ctImpl = (ContentTypeImpl)getStaticContentType(packet); String boundary = ctImpl.getBoundary(); + String rootId = ctImpl.getRootId(); boolean hasAttachments = (boundary != null); Codec rootCodec = getMimeRootCodec(packet); if (hasAttachments) { writeln("--"+boundary, out); ContentType ct = rootCodec.getStaticContentType(packet); String ctStr = (ct != null) ? ct.getContentType() : rootCodec.getMimeType(); + if (rootId != null) writeln("Content-ID: " + rootId, out); writeln("Content-Type: " + ctStr, out); writeln(out); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java index 0db9233e6be..4d8194371a7 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java @@ -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 @@ -112,9 +112,15 @@ public class MtomCodec extends MimeCodec { } public static ContentType getStaticContentTypeStatic(Packet packet, SOAPVersion version) { - ContentType ct = (ContentType) packet.getInternalContentType(); - if ( ct != null ) return ct; - + ContentTypeImpl ct = (ContentTypeImpl) packet.getInternalContentType(); + if ( ct != null ) { + //Note - this case of boundary = null or root content ID = null should never happen + //after a recent bug fix in Packet.shouldUseMtom logic, but just in + //case we get here with a Packet that has a non-null content type with + //a null boundary, the content type of the Packet will be reset + if (ct.getBoundary() != null && ct.getRootId() != null) + return ct; + } String uuid = UUID.randomUUID().toString(); String boundary = "uuid:" + uuid; String rootId = ""; @@ -327,7 +333,7 @@ public class MtomCodec extends MimeCodec { } public static class MtomStreamWriterImpl extends XMLStreamWriterFilter implements XMLStreamWriterEx, - MtomStreamWriter, HasEncoding { + com.sun.xml.internal.org.jvnet.staxex.util.MtomStreamWriter, HasEncoding { private final List mtomAttachments; private final String boundary; private final MTOMFeature myMtomFeature; diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java index f9f8e989c25..3680ef09c8e 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java @@ -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 @@ -326,7 +326,7 @@ public final class XMLMessage { } public Message copy() { - return getMessage().copy(); + return getMessage().copy().copyFrom(getMessage()); } protected void writePayloadTo(ContentHandler contentHandler, ErrorHandler errorHandler, boolean fragment) throws SAXException { @@ -449,7 +449,7 @@ public final class XMLMessage { } public Message copy() { - return getMessage().copy(); + return getMessage().copy().copyFrom(getMessage()); } protected void writePayloadTo(ContentHandler contentHandler, ErrorHandler errorHandler, boolean fragment) throws SAXException { @@ -507,6 +507,7 @@ public final class XMLMessage { super(that.soapVersion); this.ds = that.ds; this.headerList = HeaderList.copy(that.headerList); + this.copyFrom(that); } public boolean hasUnconsumedDataSource() { @@ -560,7 +561,7 @@ public final class XMLMessage { } public Message copy() { - return new UnknownContent(this); + return new UnknownContent(this).copyFrom(this); } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java index 056b31b9efd..81a23a28fa4 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java @@ -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 @@ -120,6 +120,7 @@ public abstract class AbstractMessageImpl extends Message { */ protected AbstractMessageImpl(AbstractMessageImpl that) { this.soapVersion = that.soapVersion; + this.copyFrom(that); } @Override @@ -150,11 +151,7 @@ public abstract class AbstractMessageImpl extends Message { hasAttachments()? new AttachmentUnmarshallerImpl(getAttachments()) : null ); } - /** - * Default implementation that relies on {@link #writePayloadTo(XMLStreamWriter)} - */ - @Override - public void writeTo(XMLStreamWriter w) throws XMLStreamException { + public void writeToBodyStart(XMLStreamWriter w) throws XMLStreamException { String soapNsUri = soapVersion.nsUri; w.writeStartDocument(); w.writeStartElement("S","Envelope",soapNsUri); @@ -169,7 +166,14 @@ public abstract class AbstractMessageImpl extends Message { } // write the body w.writeStartElement("S","Body",soapNsUri); + } + /** + * Default implementation that relies on {@link #writePayloadTo(XMLStreamWriter)} + */ + @Override + public void writeTo(XMLStreamWriter w) throws XMLStreamException { + writeToBodyStart(w); writePayloadTo(w); w.writeEndElement(); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/DOMMessage.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/DOMMessage.java index 4052989b4bf..24b5a22f1ee 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/DOMMessage.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/DOMMessage.java @@ -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 @@ -80,6 +80,7 @@ public final class DOMMessage extends AbstractMessageImpl { super(that); this.headers = HeaderList.copy(that.headers); this.payload = that.payload; + this.copyFrom(that); } public boolean hasHeaders() { @@ -150,7 +151,7 @@ public final class DOMMessage extends AbstractMessageImpl { } public Message copy() { - return new DOMMessage(this); + return new DOMMessage(this).copyFrom(this); } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/EmptyMessageImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/EmptyMessageImpl.java index 1ca4f0bab43..470ecf54bb8 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/EmptyMessageImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/EmptyMessageImpl.java @@ -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 @@ -76,6 +76,7 @@ public class EmptyMessageImpl extends AbstractMessageImpl { super(that); this.headers = new HeaderList(that.headers); this.attachmentSet = that.attachmentSet; + this.copyFrom(that); } public boolean hasHeaders() { @@ -115,7 +116,7 @@ public class EmptyMessageImpl extends AbstractMessageImpl { } public Message copy() { - return new EmptyMessageImpl(this); + return new EmptyMessageImpl(this).copyFrom(this); } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBDispatchMessage.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBDispatchMessage.java index 4d3c82f84a6..b1896ab93bd 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBDispatchMessage.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBDispatchMessage.java @@ -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 @@ -33,7 +33,7 @@ import com.sun.xml.internal.ws.message.AbstractMessageImpl; import com.sun.xml.internal.ws.message.PayloadElementSniffer; import com.sun.xml.internal.ws.spi.db.BindingContext; import com.sun.xml.internal.ws.spi.db.XMLBridge; -import com.sun.xml.internal.ws.streaming.MtomStreamWriter; +import com.sun.xml.internal.org.jvnet.staxex.util.MtomStreamWriter; import com.sun.xml.internal.ws.streaming.XMLStreamWriterUtil; import org.xml.sax.ContentHandler; import org.xml.sax.ErrorHandler; @@ -87,6 +87,7 @@ public class JAXBDispatchMessage extends AbstractMessageImpl { jaxbObject = that.jaxbObject; rawContext = that.rawContext; bridge = that.bridge; + copyFrom(that); } public JAXBDispatchMessage(JAXBContext rawContext, Object jaxbObject, SOAPVersion soapVersion) { @@ -178,7 +179,7 @@ public class JAXBDispatchMessage extends AbstractMessageImpl { @Override public Message copy() { - return new JAXBDispatchMessage(this); + return new JAXBDispatchMessage(this).copyFrom(this); } @Override diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java index 28047945b83..8d7891350b5 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java @@ -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 @@ -46,7 +46,7 @@ import com.sun.xml.internal.ws.spi.db.BindingContextFactory; import com.sun.xml.internal.ws.spi.db.XMLBridge; import com.sun.xml.internal.ws.streaming.XMLStreamWriterUtil; import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil; -import com.sun.xml.internal.ws.streaming.MtomStreamWriter; +import com.sun.xml.internal.org.jvnet.staxex.util.MtomStreamWriter; import com.sun.xml.internal.ws.util.xml.XMLReaderComposite; import com.sun.xml.internal.ws.util.xml.XMLReaderComposite.ElemInfo; @@ -240,6 +240,7 @@ public final class JAXBMessage extends AbstractMessageImpl implements StreamingS this.jaxbObject = that.jaxbObject; this.bridge = that.bridge; this.rawContext = that.rawContext; + this.copyFrom(that); } @Override @@ -411,7 +412,7 @@ public final class JAXBMessage extends AbstractMessageImpl implements StreamingS @Override public Message copy() { - return new JAXBMessage(this); + return new JAXBMessage(this).copyFrom(this); } public XMLStreamReader readEnvelope() { @@ -443,4 +444,35 @@ public final class JAXBMessage extends AbstractMessageImpl implements StreamingS throw new RuntimeException(e); } } + + public boolean isPayloadStreamReader() { return false; } + + public QName getPayloadQName() { + return new QName(getPayloadNamespaceURI(), getPayloadLocalPart()); + } + + public XMLStreamReader readToBodyStarTag() { + int base = soapVersion.ordinal()*3; + this.envelopeTag = DEFAULT_TAGS.get(base); + this.bodyTag = DEFAULT_TAGS.get(base+2); + List hReaders = new java.util.ArrayList(); + ElemInfo envElem = new ElemInfo(envelopeTag, null); + ElemInfo bdyElem = new ElemInfo(bodyTag, envElem); + for (Header h : getHeaders().asList()) { + try { + hReaders.add(h.readHeader()); + } catch (XMLStreamException e) { + throw new RuntimeException(e); + } + } + XMLStreamReader soapHeader = null; + if(hReaders.size()>0) { + headerTag = DEFAULT_TAGS.get(base+1); + ElemInfo hdrElem = new ElemInfo(headerTag, envElem); + soapHeader = new XMLReaderComposite(hdrElem, hReaders.toArray(new XMLStreamReader[hReaders.size()])); + } + XMLStreamReader soapBody = new XMLReaderComposite(bdyElem, new XMLStreamReader[]{}); + XMLStreamReader[] soapContent = (soapHeader != null) ? new XMLStreamReader[]{soapHeader, soapBody} : new XMLStreamReader[]{soapBody}; + return new XMLReaderComposite(envElem, soapContent); + } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java index 72c054c869a..76f5d65e192 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java @@ -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 @@ -492,9 +492,11 @@ public class SAAJMessage extends Message { * the {@link com.sun.xml.internal.ws.api.message.Message} implementation itself. */ public Message copy() { + Message result = null; try { + access(); if (!parsedMessage) { - return new SAAJMessage(readAsSOAPMessage()); + result = new SAAJMessage(readAsSOAPMessage()); } else { SOAPMessage msg = soapVersion.getMessageFactory().createMessage(); SOAPBody newBody = msg.getSOAPPart().getEnvelope().getBody(); @@ -503,8 +505,9 @@ public class SAAJMessage extends Message { newBody.appendChild(n); } addAttributes(newBody, bodyAttrs); - return new SAAJMessage(getHeaders(), getAttachments(), msg, soapVersion); + result = new SAAJMessage(getHeaders(), getAttachments(), msg, soapVersion); } + return result.copyFrom(this); } catch (SOAPException e) { throw new WebServiceException(e); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/source/ProtocolSourceMessage.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/source/ProtocolSourceMessage.java index ad2fa7bed90..afdf853d443 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/source/ProtocolSourceMessage.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/source/ProtocolSourceMessage.java @@ -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 @@ -98,7 +98,7 @@ public class ProtocolSourceMessage extends Message { } public Message copy() { - return sm.copy(); + return sm.copy().copyFrom(sm); } public Source readEnvelopeAsSource() { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/PayloadStreamReaderMessage.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/PayloadStreamReaderMessage.java index 7e025be7690..9b9ff8c8e6b 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/PayloadStreamReaderMessage.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/PayloadStreamReaderMessage.java @@ -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 @@ -107,7 +107,7 @@ public class PayloadStreamReaderMessage extends AbstractMessageImpl { } public Message copy() { - return message.copy(); + return message.copy().copyFrom(message); } @Override diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java index 244471d1ab8..93e12e256d6 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java @@ -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 @@ -50,7 +50,7 @@ import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil; import com.sun.xml.internal.ws.util.xml.DummyLocation; import com.sun.xml.internal.ws.util.xml.StAXSource; import com.sun.xml.internal.ws.util.xml.XMLReaderComposite; -import com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter; +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; import com.sun.xml.internal.ws.util.xml.XMLReaderComposite.ElemInfo; import org.xml.sax.ContentHandler; @@ -61,6 +61,7 @@ import org.xml.sax.helpers.NamespaceSupport; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; +import javax.xml.namespace.QName; import javax.xml.stream.*; import static javax.xml.stream.XMLStreamConstants.START_DOCUMENT; @@ -415,11 +416,7 @@ public class StreamMessage extends AbstractMessageImpl implements StreamingSOAP writeEnvelope(sw); } - /** - * This method should be called when the StreamMessage is created with a payload - * @param writer - */ - private void writeEnvelope(XMLStreamWriter writer) throws XMLStreamException { + public void writeToBodyStart(XMLStreamWriter writer) throws XMLStreamException { if ( envelopeReader != null ) readEnvelope(this); writer.writeStartDocument(); envelopeTag.writeStart(writer); @@ -437,6 +434,15 @@ public class StreamMessage extends AbstractMessageImpl implements StreamingSOAP writer.writeEndElement(); } bodyTag.writeStart(writer); + + } + + /** + * This method should be called when the StreamMessage is created with a payload + * @param writer + */ + private void writeEnvelope(XMLStreamWriter writer) throws XMLStreamException { + writeToBodyStart(writer); if(hasPayload()) writePayloadTo(writer); writer.writeEndElement(); @@ -550,7 +556,7 @@ public class StreamMessage extends AbstractMessageImpl implements StreamingSOAP proceedToRootElement(reader); proceedToRootElement(clone); - return new StreamMessage(envelopeTag, headerTag, attachmentSet, HeaderList.copy(headers), bodyPrologue, bodyTag, bodyEpilogue, clone, soapVersion); + return new StreamMessage(envelopeTag, headerTag, attachmentSet, HeaderList.copy(headers), bodyPrologue, bodyTag, bodyEpilogue, clone, soapVersion).copyFrom(this); } catch (XMLStreamException e) { throw new WebServiceException("Failed to copy a message",e); } @@ -763,4 +769,30 @@ public class StreamMessage extends AbstractMessageImpl implements StreamingSOAP // the pipe line. return new MutableXMLStreamBuffer(); } + + public boolean isPayloadStreamReader() { return true; } + + public QName getPayloadQName() { + return this.hasPayload() ? new QName(payloadNamespaceURI, payloadLocalName) : null; + } + + public XMLStreamReader readToBodyStarTag() { + if ( envelopeReader != null ) readEnvelope(this); + List hReaders = new java.util.ArrayList(); + ElemInfo envElem = new ElemInfo(envelopeTag, null); + ElemInfo hdrElem = (headerTag != null) ? new ElemInfo(headerTag, envElem) : null; + ElemInfo bdyElem = new ElemInfo(bodyTag, envElem); + for (Header h : getHeaders().asList()) { + try { + hReaders.add(h.readHeader()); + } catch (XMLStreamException e) { + throw new RuntimeException(e); + } + } + XMLStreamReader soapHeader = (hdrElem != null) ? new XMLReaderComposite(hdrElem, hReaders.toArray(new XMLStreamReader[hReaders.size()])) : null; + XMLStreamReader[] payload = {}; + XMLStreamReader soapBody = new XMLReaderComposite(bdyElem, payload); + XMLStreamReader[] soapContent = (soapHeader != null) ? new XMLStreamReader[]{soapHeader, soapBody} : new XMLStreamReader[]{soapBody}; + return new XMLReaderComposite(envElem, soapContent); + } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/PolicyMapUtil.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/PolicyMapUtil.java index 67433587cb6..7eed07d9470 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/PolicyMapUtil.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/PolicyMapUtil.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, 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,6 +34,7 @@ import com.sun.xml.internal.ws.policy.subject.WsdlBindingSubject; import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; +import java.util.Map.Entry; import javax.xml.namespace.QName; /** @@ -102,17 +103,17 @@ public class PolicyMapUtil { } final PolicyMapKeyConverter converter = new PolicyMapKeyConverter(serviceName, portName); - for (WsdlBindingSubject wsdlSubject : subjectToPolicies.keySet()) { - final PolicySubject newSubject = new PolicySubject(wsdlSubject, subjectToPolicies.get(wsdlSubject)); + for (Entry> entry : subjectToPolicies.entrySet()) { + WsdlBindingSubject wsdlSubject = entry.getKey(); + Collection policySet = entry.getValue(); + final PolicySubject newSubject = new PolicySubject(wsdlSubject, policySet); PolicyMapKey mapKey = converter.getPolicyMapKey(wsdlSubject); if (wsdlSubject.isBindingSubject()) { policyMap.putSubject(ScopeType.ENDPOINT, mapKey, newSubject); - } - else if (wsdlSubject.isBindingOperationSubject()) { + } else if (wsdlSubject.isBindingOperationSubject()) { policyMap.putSubject(ScopeType.OPERATION, mapKey, newSubject); - } - else if (wsdlSubject.isBindingMessageSubject()) { + } else if (wsdlSubject.isBindingMessageSubject()) { switch (wsdlSubject.getMessageType()) { case INPUT: policyMap.putSubject(ScopeType.INPUT_MESSAGE, mapKey, newSubject); @@ -123,6 +124,8 @@ public class PolicyMapUtil { case FAULT: policyMap.putSubject(ScopeType.FAULT_MESSAGE, mapKey, newSubject); break; + default: + break; } } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/Localization.properties b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/Localization.properties index d12659622ad..ed591119b2f 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/Localization.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/Localization.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1997, 2012, 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 @@ -118,3 +118,4 @@ WSP_0092_CHARACTER_DATA_UNEXPECTED=WSP0092: Character data in unexpected element WSP_0093_INVALID_URI=WSP0093: Invalid URI "{0}" at location {1} WSP_0094_INVALID_URN=WSP0094: Internal implementation error. Apparently failed to pass valid URN. WSP_0095_INVALID_BOOLEAN_VALUE=WSP0095: A value of boolean type may have one of the values "true", "false", "1", "0". This value was "{0}". +WSP_0096_ERROR_WHILE_COMBINE=WSP0096: Error while combining {0}. diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.java index 4f28cb2cb61..2283e8806a6 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.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 @@ -76,6 +76,18 @@ public final class LocalizationMessages { return localizer.localize(localizableWSP_0081_UNABLE_TO_INSERT_CHILD(arg0, arg1)); } + public static Localizable localizableWSP_0096_ERROR_WHILE_COMBINE(Object arg0) { + return messageFactory.getMessage("WSP_0096_ERROR_WHILE_COMBINE", arg0); + } + + /** + * WSP0096: Error while combining {0}. + * + */ + public static String WSP_0096_ERROR_WHILE_COMBINE(Object arg0) { + return localizer.localize(localizableWSP_0096_ERROR_WHILE_COMBINE(arg0)); + } + public static Localizable localizableWSP_0018_UNABLE_TO_ACCESS_POLICY_SOURCE_MODEL(Object arg0) { return messageFactory.getMessage("WSP_0018_UNABLE_TO_ACCESS_POLICY_SOURCE_MODEL", arg0); } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/PolicyUtils.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/PolicyUtils.java index ec537d88358..975464e6eb9 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/PolicyUtils.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/policy/privateutil/PolicyUtils.java @@ -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 @@ -39,6 +39,7 @@ import java.util.Comparator; import java.util.LinkedList; import java.util.List; import java.util.Queue; +import java.util.logging.Level; import javax.xml.namespace.QName; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; @@ -200,6 +201,7 @@ public final class PolicyUtils { } public static class Collections { + private static final PolicyLogger LOGGER = PolicyLogger.getLogger(PolicyUtils.Collections.class); /** * TODO javadocs * @@ -245,7 +247,10 @@ public final class PolicyUtils { } else if (optionSize == 1) { base.addAll(option); } else { - optionProcessingQueue.offer(option); + boolean entered = optionProcessingQueue.offer(option); + if (!entered) { + throw LOGGER.logException(new RuntimePolicyUtilsException(LocalizationMessages.WSP_0096_ERROR_WHILE_COMBINE(option)), false, Level.WARNING); + } finalCombinationsSize *= optionSize; } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java index c78aef5ffbf..ae5bf29bb1b 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java @@ -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 @@ -89,11 +89,16 @@ import javax.xml.ws.soap.SOAPBinding; import java.io.IOException; import java.net.URL; +import java.util.AbstractCollection; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.NoSuchElementException; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Logger; /** @@ -189,13 +194,24 @@ public class EndpointFactory { invoker = InstanceResolver.createDefault(implType).createInvoker(); } - List md = new ArrayList(); - if(metadata!=null) + // Performance analysis indicates that reading and parsing imported schemas is + // a major component of Endpoint creation time. Therefore, modify SDDocumentSource + // handling to delay iterating collection as long as possible. + Collection md = new CollectionCollection(); + if(primaryWsdl!=null) { + if(metadata!=null) { + Iterator it = metadata.iterator(); + if (it.hasNext() && primaryWsdl.equals(it.next())) + md.addAll(metadata); + else { + md.add(primaryWsdl); + md.addAll(metadata); + } + } else + md.add(primaryWsdl); + } else if(metadata!=null) md.addAll(metadata); - if(primaryWsdl!=null && !md.contains(primaryWsdl)) - md.add(primaryWsdl); - if(container==null) container = ContainerResolver.getInstance().getContainer(); @@ -227,7 +243,7 @@ public class EndpointFactory { } // Categorises the documents as WSDL, Schema etc - List docList = categoriseMetadata(md, serviceName, portTypeName); + Collection docList = categoriseMetadata(md.iterator(), serviceName, portTypeName); // Finds the primary WSDL and makes sure that metadata doesn't have // two concrete or abstract WSDLs SDDocumentImpl primaryDoc = primaryWsdl != null ? SDDocumentImpl.create(primaryWsdl,serviceName,portTypeName) : findPrimary(docList); @@ -326,50 +342,87 @@ public class EndpointFactory { * * @param primaryDoc primary WSDL doc * @param docList complete metadata - * @return new metadata that doesn't contain extraneous documnets. + * @return new metadata that doesn't contain extraneous documents. */ - private static List findMetadataClosure(SDDocumentImpl primaryDoc, List docList, EntityResolver resolver) { - // create a map for old metadata - Map oldMap = new HashMap(); - for(SDDocumentImpl doc : docList) { - oldMap.put(doc.getSystemId().toString(), doc); - } - // create a map for new metadata - Map newMap = new HashMap(); - newMap.put(primaryDoc.getSystemId().toString(), primaryDoc); + private static Collection findMetadataClosure( + final SDDocumentImpl primaryDoc, final Collection docList, final EntityResolver resolver) { + return new AbstractCollection() { + @Override + public Iterator iterator() { + // create a map for old metadata + Map oldMap = new HashMap(); + Iterator oldDocs = docList.iterator(); - List remaining = new ArrayList(); - remaining.addAll(primaryDoc.getImports()); - while(!remaining.isEmpty()) { - String url = remaining.remove(0); - SDDocumentImpl doc = oldMap.get(url); - if (doc == null) { - // old metadata doesn't have this imported doc, may be external - if (resolver != null) { - try { - InputSource source = resolver.resolveEntity(null, url); - if (source != null) { - MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer(); - XMLStreamReader reader = XmlUtil.newXMLInputFactory(true).createXMLStreamReader(source.getByteStream()); - xsb.createFromXMLStreamReader(reader); + // create a map for new metadata + Map newMap = new HashMap(); + newMap.put(primaryDoc.getSystemId().toString(), primaryDoc); - SDDocumentSource sdocSource = SDDocumentImpl.create(new URL(url), xsb); - doc = SDDocumentImpl.create(sdocSource, null, null); - } - } catch (Exception ex) { - ex.printStackTrace(); + List remaining = new ArrayList(); + remaining.addAll(primaryDoc.getImports()); + while(!remaining.isEmpty()) { + String url = remaining.remove(0); + SDDocumentImpl doc = oldMap.get(url); + if (doc == null) { + while (oldDocs.hasNext()) { + SDDocumentImpl old = oldDocs.next(); + String id = old.getSystemId().toString(); + oldMap.put(id, old); + if (id.equals(url)) { + doc = old; + break; + } } + + if (doc == null) { + // old metadata doesn't have this imported doc, may be external + if (resolver != null) { + try { + InputSource source = resolver.resolveEntity(null, url); + if (source != null) { + MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer(); + XMLStreamReader reader = XmlUtil.newXMLInputFactory(true).createXMLStreamReader(source.getByteStream()); + xsb.createFromXMLStreamReader(reader); + + SDDocumentSource sdocSource = SDDocumentImpl.create(new URL(url), xsb); + doc = SDDocumentImpl.create(sdocSource, null, null); + } + } catch (Exception ex) { + ex.printStackTrace(); + } + } + } + } + // Check if new metadata already contains this doc + if (doc != null && !newMap.containsKey(url)) { + newMap.put(url, doc); + remaining.addAll(doc.getImports()); + } } + + return newMap.values().iterator(); } - // Check if new metadata already contains this doc - if (doc != null && !newMap.containsKey(url)) { - newMap.put(url, doc); - remaining.addAll(doc.getImports()); + + @Override + public int size() { + int size = 0; + Iterator it = iterator(); + while (it.hasNext()) { + it.next(); + size++; + } + return size; } - } - List newMetadata = new ArrayList(); - newMetadata.addAll(newMap.values()); - return newMetadata; + + @Override + public void clear() { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isEmpty() { + return docList.isEmpty(); + } + }; } private static void processHandlerAnnotation(WSBinding binding, Class implType, QName serviceName, QName portName) { @@ -599,7 +652,7 @@ public class EndpointFactory { * Generates the WSDL and XML Schema for the endpoint if necessary * It generates WSDL only for SOAP1.1, and for XSOAP1.2 bindings */ - private static SDDocumentImpl generateWSDL(WSBinding binding, AbstractSEIModelImpl seiModel, List docs, + private static SDDocumentImpl generateWSDL(WSBinding binding, AbstractSEIModelImpl seiModel, Collection docs, Container container, Class implType) { BindingID bindingId = binding.getBindingId(); if (!bindingId.canGenerateWSDL()) { @@ -634,14 +687,59 @@ public class EndpointFactory { /** * Builds {@link SDDocumentImpl} from {@link SDDocumentSource}. */ - private static List categoriseMetadata( - List src, QName serviceName, QName portTypeName) { + private static Collection categoriseMetadata( + final Iterator src, final QName serviceName, final QName portTypeName) { - List r = new ArrayList(src.size()); - for (SDDocumentSource doc : src) { - r.add(SDDocumentImpl.create(doc,serviceName,portTypeName)); - } - return r; + return new AbstractCollection() { + private final Collection theConverted = new ArrayList(); + + @Override + public boolean add(SDDocumentImpl arg0) { + return theConverted.add(arg0); + } + + @Override + public Iterator iterator() { + return new Iterator() { + private Iterator convIt = theConverted.iterator(); + @Override + public boolean hasNext() { + if (convIt != null && convIt.hasNext()) + return true; + return src.hasNext(); + } + + @Override + public SDDocumentImpl next() { + if (convIt != null && convIt.hasNext()) + return convIt.next(); + convIt = null; + if (!src.hasNext()) + throw new NoSuchElementException(); + SDDocumentImpl next = SDDocumentImpl.create(src.next(),serviceName,portTypeName); + theConverted.add(next); + return next; + } + + @Override + public void remove() { + throw new UnsupportedOperationException(); + } + }; + } + + @Override + public int size() { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isEmpty() { + if (!theConverted.isEmpty()) + return false; + return !src.hasNext(); + } + }; } /** @@ -675,7 +773,7 @@ public class EndpointFactory { * @return primay wsdl document, null if is not there in the docList * */ - private static @Nullable SDDocumentImpl findPrimary(@NotNull List docList) { + private static @Nullable SDDocumentImpl findPrimary(@NotNull Collection docList) { SDDocumentImpl primaryDoc = null; boolean foundConcrete = false; boolean foundAbstract = false; @@ -710,7 +808,7 @@ public class EndpointFactory { * @param container container in which this service is running * @return non-null wsdl port object */ - private static @NotNull WSDLPort getWSDLPort(SDDocumentSource primaryWsdl, List metadata, + private static @NotNull WSDLPort getWSDLPort(SDDocumentSource primaryWsdl, Collection metadata, @NotNull QName serviceName, @NotNull QName portName, Container container, EntityResolver resolver) { URL wsdlUrl = primaryWsdl.getSystemId(); @@ -746,13 +844,12 @@ public class EndpointFactory { * {@link XMLEntityResolver} that can resolve to {@link SDDocumentSource}s. */ private static final class EntityResolverImpl implements XMLEntityResolver { - private Map metadata = new HashMap(); + private Iterator origMetadata; + private Map metadata = new ConcurrentHashMap(); private EntityResolver resolver; - public EntityResolverImpl(List metadata, EntityResolver resolver) { - for (SDDocumentSource doc : metadata) { - this.metadata.put(doc.getSystemId().toExternalForm(),doc); - } + public EntityResolverImpl(Collection metadata, EntityResolver resolver) { + this.origMetadata = metadata.iterator(); this.resolver = resolver; } @@ -761,6 +858,15 @@ public class EndpointFactory { SDDocumentSource doc = metadata.get(systemId); if (doc != null) return new Parser(doc); + synchronized(this) { + while(origMetadata.hasNext()) { + doc = origMetadata.next(); + String extForm = doc.getSystemId().toExternalForm(); + this.metadata.put(extForm,doc); + if (systemId.equals(extForm)) + return new Parser(doc); + } + } } if (resolver != null) { try { @@ -780,4 +886,72 @@ public class EndpointFactory { private static final Logger logger = Logger.getLogger( com.sun.xml.internal.ws.util.Constants.LoggingDomain + ".server.endpoint"); + + private static class CollectionCollection extends AbstractCollection { + + private final Collection> cols = new ArrayList>(); + + @Override + public Iterator iterator() { + final Iterator> colIt = cols.iterator(); + return new Iterator() { + private Iterator current = null; + + @Override + public boolean hasNext() { + if (current == null || !current.hasNext()) { + do { + if (!colIt.hasNext()) + return false; + current = colIt.next().iterator(); + } while (!current.hasNext()); + return true; + } + return true; + } + + @Override + public T next() { + if (!hasNext()) + throw new NoSuchElementException(); + return current.next(); + } + + @Override + public void remove() { + if (current == null) + throw new IllegalStateException(); + current.remove(); + } + }; + } + + @Override + public int size() { + int size = 0; + for (Collection c : cols) + size += c.size(); + return size; + } + + @Override + public boolean add(T arg0) { + return cols.add(Collections.singleton(arg0)); + } + + @Override + public boolean addAll(Collection arg0) { + return cols.add(arg0); + } + + @Override + public void clear() { + cols.clear(); + } + + @Override + public boolean isEmpty() { + return !iterator().hasNext(); + } + } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java index b7417af236b..5dd13151ece 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java @@ -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 @@ -31,7 +31,7 @@ import com.sun.xml.internal.ws.api.streaming.XMLStreamWriterFactory; import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil; import com.sun.xml.internal.ws.wsdl.SDDocumentResolver; import com.sun.xml.internal.ws.util.RuntimeVersion; -import com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter; +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; import com.sun.xml.internal.ws.wsdl.parser.ParserUtil; import com.sun.xml.internal.ws.wsdl.parser.WSDLConstants; import com.sun.xml.internal.ws.wsdl.writer.DocumentLocationResolver; diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/ServiceDefinitionImpl.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/ServiceDefinitionImpl.java index 07e09ab5cae..e31e77d872b 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/ServiceDefinitionImpl.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/ServiceDefinitionImpl.java @@ -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 @@ -32,6 +32,7 @@ import com.sun.xml.internal.ws.api.server.ServiceDefinition; import com.sun.xml.internal.ws.wsdl.SDDocumentResolver; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -47,7 +48,7 @@ import java.util.Map; * @author Kohsuke Kawaguchi */ public final class ServiceDefinitionImpl implements ServiceDefinition, SDDocumentResolver { - private final List docs; + private final Collection docs; private final Map bySystemId; private final @NotNull SDDocumentImpl primaryWsdl; @@ -65,12 +66,20 @@ public final class ServiceDefinitionImpl implements ServiceDefinition, SDDocumen * There must be at least one entry. * The first document is considered {@link #getPrimary() primary}. */ - public ServiceDefinitionImpl(List docs, @NotNull SDDocumentImpl primaryWsdl) { + public ServiceDefinitionImpl(Collection docs, @NotNull SDDocumentImpl primaryWsdl) { assert docs.contains(primaryWsdl); this.docs = docs; this.primaryWsdl = primaryWsdl; + this.bySystemId = new HashMap(); + } + + private boolean isInitialized = false; + + private synchronized void init() { + if (isInitialized) + return; + isInitialized = true; - this.bySystemId = new HashMap(docs.size()); for (SDDocumentImpl doc : docs) { bySystemId.put(doc.getURL().toExternalForm(),doc); doc.setFilters(filters); @@ -95,6 +104,7 @@ public final class ServiceDefinitionImpl implements ServiceDefinition, SDDocumen } public Iterator iterator() { + init(); return (Iterator)docs.iterator(); } @@ -106,6 +116,7 @@ public final class ServiceDefinitionImpl implements ServiceDefinition, SDDocumen * null if none is found. */ public SDDocument resolve(String systemId) { + init(); return bySystemId.get(systemId); } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/WSDLGenResolver.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/WSDLGenResolver.java index 0dbd8f0ab09..46fa601d429 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/WSDLGenResolver.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/server/WSDLGenResolver.java @@ -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 @@ -35,9 +35,11 @@ import javax.xml.namespace.QName; import javax.xml.transform.Result; import javax.xml.ws.Holder; import javax.xml.ws.WebServiceException; + import java.net.URL; import java.net.MalformedURLException; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -50,7 +52,7 @@ import java.util.Map; */ final class WSDLGenResolver implements com.oracle.webservices.internal.api.databinding.WSDLResolver { - private final List docs; + private final Collection docs; private final List newDocs = new ArrayList(); private SDDocumentSource concreteWsdlSource; @@ -65,7 +67,7 @@ final class WSDLGenResolver implements com.oracle.webservices.internal.api.datab private final QName serviceName; private final QName portTypeName; - public WSDLGenResolver(@NotNull List docs,QName serviceName,QName portTypeName) { + public WSDLGenResolver(@NotNull Collection docs,QName serviceName,QName portTypeName) { this.docs = docs; this.serviceName = serviceName; this.portTypeName = portTypeName; diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/FieldGetter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/FieldGetter.java index ab01d6be48b..145f5be3911 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/FieldGetter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/FieldGetter.java @@ -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 @@ -26,9 +26,7 @@ package com.sun.xml.internal.ws.spi.db; import java.lang.reflect.Field; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; +import javax.xml.ws.WebServiceException; /** @@ -42,6 +40,7 @@ public class FieldGetter extends PropertyGetterBase { protected Field field; public FieldGetter(Field f) { + verifyWrapperType(f.getDeclaringClass()); field = f; type = f.getType(); } @@ -50,43 +49,12 @@ public class FieldGetter extends PropertyGetterBase { return field; } - static class PrivilegedGetter implements PrivilegedExceptionAction { - private Object value; - private Field field; - private Object instance; - public PrivilegedGetter(Field field, Object instance) { - super(); - this.field = field; - this.instance = instance; - } - public Object run() throws IllegalAccessException { - if (!field.isAccessible()) { - field.setAccessible(true); - } - value = field.get(instance); - return null; - } - } - public Object get(final Object instance) { - if (field.isAccessible()) { - try { - return field.get(instance); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } else { - PrivilegedGetter privilegedGetter = new PrivilegedGetter(field, instance); - try { - AccessController.doPrivileged(privilegedGetter); - } catch (PrivilegedActionException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return privilegedGetter.value; + try { + return field.get(instance); + } catch (Exception e) { + throw new WebServiceException(e); } - return null; } public A getAnnotation(Class annotationType) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/FieldSetter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/FieldSetter.java index fb606389ab1..10ae6b8d131 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/FieldSetter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/FieldSetter.java @@ -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 @@ -26,10 +26,8 @@ package com.sun.xml.internal.ws.spi.db; import java.lang.reflect.Field; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; - +import javax.xml.ws.WebServiceException; +import static com.sun.xml.internal.ws.spi.db.PropertyGetterBase.verifyWrapperType; /** * FieldSetter @@ -41,6 +39,7 @@ public class FieldSetter extends PropertySetterBase { protected Field field; public FieldSetter(Field f) { + verifyWrapperType(f.getDeclaringClass()); field = f; type = f.getType(); } @@ -49,29 +48,12 @@ public class FieldSetter extends PropertySetterBase { return field; } - public void set(final Object instance, final Object resource) { - if (field.isAccessible()) { - try { - field.set(instance, resource); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } else { - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws IllegalAccessException { - if (!field.isAccessible()) { - field.setAccessible(true); - } - field.set(instance, resource); - return null; - } - }); - } catch (PrivilegedActionException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + public void set(final Object instance, final Object val) { + final Object resource = (type.isPrimitive() && val == null)? uninitializedValue(type): val; + try { + field.set(instance, resource); + } catch (Exception e) { + throw new WebServiceException(e); } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java index 248c61c8939..9c0800e995b 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java @@ -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 @@ -45,6 +45,8 @@ import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.namespace.QName; +import javax.xml.ws.WebServiceException; +import static com.sun.xml.internal.ws.spi.db.PropertyGetterBase.verifyWrapperType; /** * JAXBWrapperAccessor @@ -58,6 +60,7 @@ public class JAXBWrapperAccessor extends WrapperAccessor { protected HashMap elementDeclaredTypes; public JAXBWrapperAccessor(Class wrapperBean) { + verifyWrapperType(wrapperBean); contentClass = (Class) wrapperBean; HashMap setByQName = new HashMap(); @@ -142,18 +145,16 @@ public class JAXBWrapperAccessor extends WrapperAccessor { } } - // _return - if (fieldName.startsWith("_") && !localName.startsWith("_")) { - fieldName = fieldName.substring(1); + Method setMethod = accessor(publicSetters, fieldName, localName); + Method getMethod = accessor(publicGetters, fieldName, localName); + if ( isProperty(field, getMethod, setMethod) ) { + PropertySetter setter = createPropertySetter(field, setMethod); + PropertyGetter getter = createPropertyGetter(field, getMethod); + setByQName.put(qname, setter); + setByLocalpart.put(localName, setter); + getByQName.put(qname, getter); + getByLocalpart.put(localName, getter); } - Method setMethod = publicSetters.get(fieldName); - Method getMethod = publicGetters.get(fieldName); - PropertySetter setter = createPropertySetter(field, setMethod); - PropertyGetter getter = createPropertyGetter(field, getMethod); - setByQName.put(qname, setter); - setByLocalpart.put(localName, setter); - getByQName.put(qname, getter); - getByLocalpart.put(localName, getter); } if (this.elementLocalNameCollision) { this.propertySetters = setByQName; @@ -166,7 +167,25 @@ public class JAXBWrapperAccessor extends WrapperAccessor { } } - static protected List getAllFields(Class clz) { + static private Method accessor(HashMap map, String fieldName, String localName) { + Method a = map.get(fieldName); + if (a == null) a = map.get(localName); + if (a == null && fieldName.startsWith("_")) a = map.get(fieldName.substring(1)); + return a; + } + + static private boolean isProperty(Field field, Method getter, Method setter) { + if (java.lang.reflect.Modifier.isPublic(field.getModifiers())) return true; + if (getter == null) return false; + if (setter == null) { + return java.util.Collection.class.isAssignableFrom(field.getType()) || + java.util.Map.class.isAssignableFrom(field.getType()) ; + } else { + return true; + } + } + + static private List getAllFields(Class clz) { List list = new ArrayList(); while (!Object.class.equals(clz)) { list.addAll(Arrays.asList(getDeclaredFields(clz))); @@ -175,23 +194,20 @@ public class JAXBWrapperAccessor extends WrapperAccessor { return list; } - static protected Field[] getDeclaredFields(final Class clz) { + static private Field[] getDeclaredFields(final Class clz) { try { - return (System.getSecurityManager() == null) ? clz .getDeclaredFields() : - AccessController.doPrivileged(new PrivilegedExceptionAction() { + return AccessController.doPrivileged(new PrivilegedExceptionAction() { @Override public Field[] run() throws IllegalAccessException { return clz.getDeclaredFields(); } }); } catch (PrivilegedActionException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return null; + throw new WebServiceException(e); } } - static protected PropertyGetter createPropertyGetter(Field field, Method getMethod) { + static private PropertyGetter createPropertyGetter(Field field, Method getMethod) { if (!field.isAccessible()) { if (getMethod != null) { MethodGetter methodGetter = new MethodGetter(getMethod); @@ -200,10 +216,10 @@ public class JAXBWrapperAccessor extends WrapperAccessor { } } } - return new FieldGetter(field); + return new PrivFieldGetter(field); } - static protected PropertySetter createPropertySetter(Field field, + static private PropertySetter createPropertySetter(Field field, Method setter) { if (!field.isAccessible()) { if (setter != null) { @@ -213,7 +229,7 @@ public class JAXBWrapperAccessor extends WrapperAccessor { } } } - return new FieldSetter(field); + return new PrivFieldSetter(field); } private Class getElementDeclaredType(QName name) { @@ -238,10 +254,10 @@ public class JAXBWrapperAccessor extends WrapperAccessor { public Object get(Object bean) throws DatabindingException { Object val; if (isJAXBElement) { - JAXBElement jaxbElement = (JAXBElement) getter.get(bean); + JAXBElement jaxbElement = (JAXBElement) JAXBWrapperAccessor.get(getter, bean); val = (jaxbElement == null) ? null : jaxbElement.getValue(); } else { - val = getter.get(bean); + val = JAXBWrapperAccessor.get(getter, bean); } if (val == null && isListType) { val = new java.util.ArrayList(); @@ -255,11 +271,95 @@ public class JAXBWrapperAccessor extends WrapperAccessor { if (isJAXBElement) { JAXBElement jaxbElement = new JAXBElement( n, elementDeclaredType, contentClass, value); - setter.set(bean, jaxbElement); + JAXBWrapperAccessor.set(setter, bean, jaxbElement); } else { - setter.set(bean, value); + JAXBWrapperAccessor.set(setter, bean, value); } } }; } + + static private Object get(PropertyGetter getter, Object wrapperInstance) { + return (getter instanceof PrivFieldGetter)? + ((PrivFieldGetter)getter).getPriv(wrapperInstance): + getter.get(wrapperInstance); + } + + static private void set(PropertySetter setter, Object wrapperInstance, Object value) { + if (setter instanceof PrivFieldSetter) + ((PrivFieldSetter)setter).setPriv(wrapperInstance, value); + else + setter.set(wrapperInstance, value); + } + + + static private class PrivFieldSetter extends FieldSetter { + private PrivFieldSetter(Field f) { + super(f); + } + private void setPriv(final Object instance, final Object val) { + final Object resource = (type.isPrimitive() && val == null)? uninitializedValue(type): val; + if (field.isAccessible()) { + try { + field.set(instance, resource); + } catch (Exception e) { + throw new WebServiceException(e); + } + } else { + try { + AccessController.doPrivileged(new PrivilegedExceptionAction() { + public Object run() throws IllegalAccessException { + if (!field.isAccessible()) { + field.setAccessible(true); + } + field.set(instance, resource); + return null; + } + }); + } catch (PrivilegedActionException e) { + throw new WebServiceException(e); + } + } + } + } + + static private class PrivFieldGetter extends FieldGetter { + private PrivFieldGetter(Field f) { + super(f); + } + static private class PrivilegedGetter implements PrivilegedExceptionAction { + private Object value; + private Field field; + private Object instance; + public PrivilegedGetter(Field field, Object instance) { + super(); + this.field = field; + this.instance = instance; + } + public Object run() throws IllegalAccessException { + if (!field.isAccessible()) { + field.setAccessible(true); + } + value = field.get(instance); + return null; + } + } + private Object getPriv(final Object instance) { + if (field.isAccessible()) { + try { + return field.get(instance); + } catch (Exception e) { + throw new WebServiceException(e); + } + } else { + PrivilegedGetter privilegedGetter = new PrivilegedGetter(field, instance); + try { + AccessController.doPrivileged(privilegedGetter); + } catch (PrivilegedActionException e) { + throw new WebServiceException(e); + } + return privilegedGetter.value; + } + } + } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/MethodGetter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/MethodGetter.java index 67608951af0..99100dfdf2c 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/MethodGetter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/MethodGetter.java @@ -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 @@ -26,9 +26,7 @@ package com.sun.xml.internal.ws.spi.db; import java.lang.reflect.Method; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; +import javax.xml.ws.WebServiceException; /** @@ -41,6 +39,7 @@ public class MethodGetter extends PropertyGetterBase { private Method method; public MethodGetter(Method m) { + verifyWrapperType(m.getDeclaringClass()); method = m; type = m.getReturnType(); } @@ -54,49 +53,12 @@ public class MethodGetter extends PropertyGetterBase { return (A) method.getAnnotation(c); } - - static class PrivilegedGetter implements PrivilegedExceptionAction { - private Object value; - private Method method; - private Object instance; - public PrivilegedGetter(Method m, Object instance) { - super(); - this.method = m; - this.instance = instance; - } - public Object run() throws IllegalAccessException { - if (!method.isAccessible()) { - method.setAccessible(true); - } - try { - value = method.invoke(instance, new Object[0]); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return null; - } - } - public Object get(final Object instance) { final Object[] args = new Object[0]; try { - if (method.isAccessible()) { - return method.invoke(instance, args); - } else { - PrivilegedGetter privilegedGetter = new PrivilegedGetter(method, instance); - try { - AccessController.doPrivileged(privilegedGetter); - } catch (PrivilegedActionException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return privilegedGetter.value; - } + return method.invoke(instance, args); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + throw new WebServiceException(e); } - return null; } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/MethodSetter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/MethodSetter.java index 15b14b44294..b641d094b14 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/MethodSetter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/MethodSetter.java @@ -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 @@ -25,10 +25,9 @@ package com.sun.xml.internal.ws.spi.db; +import static com.sun.xml.internal.ws.spi.db.PropertyGetterBase.verifyWrapperType; import java.lang.reflect.Method; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; +import javax.xml.ws.WebServiceException; /** @@ -41,6 +40,7 @@ public class MethodSetter extends PropertySetterBase { private Method method; public MethodSetter(Method m) { + verifyWrapperType(m.getDeclaringClass()); method = m; type = m.getParameterTypes()[0]; } @@ -54,34 +54,13 @@ public class MethodSetter extends PropertySetterBase { return (A) method.getAnnotation(c); } - public void set(final Object instance, Object resource) { + public void set(final Object instance, Object val) { + final Object resource = (type.isPrimitive() && val == null)? uninitializedValue(type): val; final Object[] args = {resource}; - if (method.isAccessible()) { - try { - method.invoke(instance, args); - } catch (Exception e) { - e.printStackTrace(); - } - } else { - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws IllegalAccessException { - if (!method.isAccessible()) { - method.setAccessible(true); - } - try { - method.invoke(instance, args); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return null; - } - }); - } catch (PrivilegedActionException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + try { + method.invoke(instance, args); + } catch (Exception e) { + throw new WebServiceException(e); } } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/PropertyGetterBase.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/PropertyGetterBase.java index f87cad25886..e2d4fa87910 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/PropertyGetterBase.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/PropertyGetterBase.java @@ -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 @@ -25,6 +25,8 @@ package com.sun.xml.internal.ws.spi.db; +import javax.xml.ws.WebServiceException; + /** * This is the Gtter of a bean property. * @@ -46,7 +48,7 @@ public abstract class PropertyGetterBase implements PropertyGetter { method.getName().length() > 3) { return true; } else { - if (method.getReturnType().equals(boolean.class) && + if ((method.getReturnType().equals(boolean.class) || method.getReturnType().equals(Boolean.class)) && method.getName().startsWith("is") && method.getName().length() > 2) { return true; @@ -55,4 +57,11 @@ public abstract class PropertyGetterBase implements PropertyGetter { } return false; } + + static void verifyWrapperType(Class wrapperType) { + String className = wrapperType.getName(); + if (className.startsWith("java.") || className.startsWith("javax.")) { + throw new WebServiceException("Invalid wrapper type " + className); + } + } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/PropertySetterBase.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/PropertySetterBase.java index 834653f3782..585f83a4b41 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/PropertySetterBase.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/PropertySetterBase.java @@ -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 @@ -25,6 +25,9 @@ package com.sun.xml.internal.ws.spi.db; +import java.util.HashMap; +import java.util.Map; + /** * This is the Setter of a bean property. * @author shih-chang.chen@oracle.com @@ -44,4 +47,20 @@ public abstract class PropertySetterBase implements PropertySetter { method.getParameterTypes() != null && method.getParameterTypes().length == 1); } + + /** + * Uninitialized map keyed by their classes. + */ + private static final Map uninitializedValues = new HashMap(); + static { + uninitializedValues.put(byte.class, Byte.valueOf((byte) 0)); + uninitializedValues.put(boolean.class, false); + uninitializedValues.put(char.class, Character.valueOf((char) 0)); + uninitializedValues.put(float.class, Float.valueOf(0)); + uninitializedValues.put(double.class, Double.valueOf(0)); + uninitializedValues.put(int.class, Integer.valueOf(0)); + uninitializedValues.put(long.class, Long.valueOf(0)); + uninitializedValues.put(short.class, Short.valueOf((short) 0)); + } + static protected Object uninitializedValue(Class cls) { return uninitializedValues.get(cls); } } diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/streaming/MtomStreamWriter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/streaming/MtomStreamWriter.java index fccf3febc70..3605c48ce8f 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/streaming/MtomStreamWriter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/streaming/MtomStreamWriter.java @@ -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 @@ -36,9 +36,12 @@ import javax.xml.stream.XMLStreamWriter; * {@link AttachmentMarshaller}. The marshaller could do processing based on * MTOM threshold, and make decisions about inlining the attachment data or not. * + * * @author Jitendra Kotamraju * @see JAXBMessage * @see MtomCodec + * + * @deprecated use com.sun.xml.internal.org.jvnet.staxex.util.MtomStreamWriter */ public interface MtomStreamWriter { AttachmentMarshaller getAttachmentMarshaller(); diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java index 452eb985cec..d0f2e601da0 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java @@ -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 @@ -32,11 +32,14 @@ import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.HttpURLConnection; +import java.util.AbstractMap; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -172,43 +175,187 @@ public class HttpAdapter extends Adapter { * * @param sdef service definition */ - public final void initWSDLMap(ServiceDefinition sdef) { - this.serviceDefinition = sdef; - if(sdef==null) { + public final void initWSDLMap(final ServiceDefinition serviceDefinition) { + this.serviceDefinition = serviceDefinition; + if(serviceDefinition==null) { wsdls = Collections.emptyMap(); revWsdls = Collections.emptyMap(); } else { - wsdls = new HashMap(); // wsdl=1 --> Doc - // Sort WSDL, Schema documents based on SystemId so that the same - // document gets wsdl=x mapping - Map systemIds = new TreeMap(); - for (SDDocument sdd : sdef) { - if (sdd == sdef.getPrimary()) { // No sorting for Primary WSDL - wsdls.put("wsdl", sdd); - wsdls.put("WSDL", sdd); - } else { - systemIds.put(sdd.getURL().toString(), sdd); - } - } + wsdls = new AbstractMap() { + private Map delegate = null; - int wsdlnum = 1; - int xsdnum = 1; - for (Entry e : systemIds.entrySet()) { - SDDocument sdd = e.getValue(); - if (sdd.isWSDL()) { - wsdls.put("wsdl="+(wsdlnum++),sdd); - } - if (sdd.isSchema()) { - wsdls.put("xsd="+(xsdnum++),sdd); - } - } + private synchronized Map delegate() { + if (delegate != null) + return delegate; - revWsdls = new HashMap(); // Doc --> wsdl=1 - for (Entry e : wsdls.entrySet()) { - if (!e.getKey().equals("WSDL")) { // map Doc --> wsdl, not WSDL - revWsdls.put(e.getValue(),e.getKey()); + delegate = new HashMap(); // wsdl=1 --> Doc + // Sort WSDL, Schema documents based on SystemId so that the same + // document gets wsdl=x mapping + Map systemIds = new TreeMap(); + for (SDDocument sdd : serviceDefinition) { + if (sdd == serviceDefinition.getPrimary()) { // No sorting for Primary WSDL + delegate.put("wsdl", sdd); + delegate.put("WSDL", sdd); + } else { + systemIds.put(sdd.getURL().toString(), sdd); + } + } + + int wsdlnum = 1; + int xsdnum = 1; + for (Entry e : systemIds.entrySet()) { + SDDocument sdd = e.getValue(); + if (sdd.isWSDL()) { + delegate.put("wsdl="+(wsdlnum++),sdd); + } + if (sdd.isSchema()) { + delegate.put("xsd="+(xsdnum++),sdd); + } + } + + return delegate; } - } + + @Override + public void clear() { + delegate().clear(); + } + + @Override + public boolean containsKey(Object arg0) { + return delegate().containsKey(arg0); + } + + @Override + public boolean containsValue(Object arg0) { + return delegate.containsValue(arg0); + } + + @Override + public SDDocument get(Object arg0) { + return delegate().get(arg0); + } + + @Override + public boolean isEmpty() { + return delegate().isEmpty(); + } + + @Override + public Set keySet() { + return delegate().keySet(); + } + + @Override + public SDDocument put(String arg0, SDDocument arg1) { + return delegate().put(arg0, arg1); + } + + @Override + public void putAll( + Map arg0) { + delegate().putAll(arg0); + } + + @Override + public SDDocument remove(Object arg0) { + return delegate().remove(arg0); + } + + @Override + public int size() { + return delegate().size(); + } + + @Override + public Collection values() { + return delegate().values(); + } + + @Override + public Set> entrySet() { + return delegate().entrySet(); + } + }; + + revWsdls = new AbstractMap() { + private Map delegate = null; + + private synchronized Map delegate() { + if (delegate != null) + return delegate; + + delegate = new HashMap(); // Doc --> wsdl=1 + for (Entry e : wsdls.entrySet()) { + if (!e.getKey().equals("WSDL")) { // map Doc --> wsdl, not WSDL + delegate.put(e.getValue(),e.getKey()); + } + } + + return delegate; + } + + @Override + public void clear() { + delegate().clear(); + } + + @Override + public boolean containsKey(Object key) { + return delegate().containsKey(key); + } + + @Override + public boolean containsValue(Object value) { + return delegate().containsValue(value); + } + + @Override + public Set> entrySet() { + return delegate().entrySet(); + } + + @Override + public String get(Object key) { + return delegate().get(key); + } + + @Override + public boolean isEmpty() { + // TODO Auto-generated method stub + return super.isEmpty(); + } + + @Override + public Set keySet() { + return delegate().keySet(); + } + + @Override + public String put(SDDocument key, String value) { + return delegate().put(key, value); + } + + @Override + public void putAll(Map m) { + delegate().putAll(m); + } + + @Override + public String remove(Object key) { + return delegate().remove(key); + } + + @Override + public int size() { + return delegate().size(); + } + + @Override + public Collection values() { + return delegate().values(); + } + }; } } @@ -981,7 +1128,9 @@ public class HttpAdapter extends Adapter { } } try { - setPublishStatus(Boolean.getBoolean(HttpAdapter.class.getName() + ".publishStatusPage")); + if (System.getProperty(HttpAdapter.class.getName() + ".publishStatusPage") != null) { + setPublishStatus(Boolean.getBoolean(HttpAdapter.class.getName() + ".publishStatusPage")); + } } catch (SecurityException se) { if (LOGGER.isLoggable(Level.CONFIG)) { LOGGER.log(Level.CONFIG, "Cannot read ''{0}'' property, using defaults.", diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java index f8633d182dc..004a122adbf 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java @@ -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 @@ -257,7 +257,14 @@ public class HttpTransportPipe extends AbstractTubeImpl { // Allows only certain http status codes for a binding. For all // other status codes, throws exception checkStatusCode(responseStream, con); // throws ClientTransportException - + //To avoid zero-length chunk for One-Way + if (cl ==-1 && con.statusCode == 202 && "Accepted".equals(con.statusMessage) && responseStream != null) { + ByteArrayBuffer buf = new ByteArrayBuffer(); + buf.write(responseStream); //What is within the responseStream? + responseStream.close(); + responseStream = (buf.size()==0)? null : buf.newInputStream(); + buf.close(); + } Packet reply = request.createClientResponse(null); reply.wasTransportSecure = con.isSecure(); if (responseStream != null) { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties index c0aaf9f9fa7..188bd319f70 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties @@ -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 @@ -23,7 +23,7 @@ # questions. # -build-id=2.2.9-b130926.1035 -build-version=JAX-WS RI 2.2.9-b130926.1035 -major-version=2.2.9 -svn-revision=8c29a9a53251ff741fca1664a8221dc876b2eac8 +build-id=2.2.10-b140228.1436 +build-version=JAX-WS RI 2.2.10-b140228.1436 +major-version=2.2.10 +svn-revision=e1d4708e8a2aee1ae9d38313452e14ce4b67851a diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java index 7a2abce1811..14ad9743353 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java @@ -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 @@ -48,6 +48,8 @@ import com.sun.xml.internal.org.jvnet.staxex.XMLStreamWriterEx; * * @author Kohsuke Kawaguchi * @author Ryan Shoemaker + * + * @deprecated use com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter */ public class XMLStreamReaderToXMLStreamWriter { diff --git a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/writer/WSDLPatcher.java b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/writer/WSDLPatcher.java index 3b6bb7cf309..17f5fe7a3fd 100644 --- a/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/writer/WSDLPatcher.java +++ b/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/writer/WSDLPatcher.java @@ -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 @@ -27,7 +27,7 @@ package com.sun.xml.internal.ws.wsdl.writer; import com.sun.istack.internal.NotNull; import com.sun.xml.internal.ws.api.server.PortAddressResolver; -import com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter; +import com.sun.xml.internal.org.jvnet.staxex.util.XMLStreamReaderToXMLStreamWriter; import com.sun.xml.internal.ws.wsdl.parser.WSDLConstants; import com.sun.xml.internal.ws.addressing.W3CAddressingConstants; import com.sun.xml.internal.ws.addressing.v200408.MemberSubmissionAddressingConstants; diff --git a/jaxws/src/share/jaxws_classes/javax/xml/bind/JAXBException.java b/jaxws/src/share/jaxws_classes/javax/xml/bind/JAXBException.java index c6b94d64920..218dceb7ae3 100644 --- a/jaxws/src/share/jaxws_classes/javax/xml/bind/JAXBException.java +++ b/jaxws/src/share/jaxws_classes/javax/xml/bind/JAXBException.java @@ -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 @@ -48,7 +48,7 @@ public class JAXBException extends Exception { * Exception reference * */ - private volatile Throwable linkedException; + private Throwable linkedException; static final long serialVersionUID = -5621384651494307979L; @@ -133,7 +133,7 @@ public class JAXBException extends Exception { * indicates that the linked exception does not exist or * is unknown). */ - public void setLinkedException( Throwable exception ) { + public synchronized void setLinkedException( Throwable exception ) { this.linkedException = exception; } diff --git a/jaxws/src/share/jaxws_classes/javax/xml/bind/TypeConstraintException.java b/jaxws/src/share/jaxws_classes/javax/xml/bind/TypeConstraintException.java index 9189d21135c..24a295b8d02 100644 --- a/jaxws/src/share/jaxws_classes/javax/xml/bind/TypeConstraintException.java +++ b/jaxws/src/share/jaxws_classes/javax/xml/bind/TypeConstraintException.java @@ -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 @@ -57,9 +57,8 @@ public class TypeConstraintException extends java.lang.RuntimeException { * Exception reference * */ - private volatile Throwable linkedException; + private Throwable linkedException; - static final long serialVersionUID = -3059799699420143848L; /** * Construct a TypeConstraintException with the specified detail message. The @@ -142,7 +141,7 @@ public class TypeConstraintException extends java.lang.RuntimeException { * indicates that the linked exception does not exist or * is unknown). */ - public void setLinkedException( Throwable exception ) { + public synchronized void setLinkedException( Throwable exception ) { this.linkedException = exception; } diff --git a/jdk/.hgtags b/jdk/.hgtags index 11331a15a8e..118a09481e8 100644 --- a/jdk/.hgtags +++ b/jdk/.hgtags @@ -249,3 +249,4 @@ d31cd980e1da31fa496a359caaf1a165aeb5791a jdk8-b120 627deed79b595a4789fc9151455b663a47381257 jdk9-b04 263198a1d8f1f4cb97d35f40c61704b08ebd3686 jdk9-b05 cac7b28b8b1e0e11d7a8e1ac1fe75a03b3749eab jdk9-b06 +f4e624447514f12dd7c51f1e5b0cb97efcd15be2 jdk9-b07 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/CompileLaunchers.gmk b/jdk/make/CompileLaunchers.gmk index 4eb1af722cc..68786a0a5b3 100644 --- a/jdk/make/CompileLaunchers.gmk +++ b/jdk/make/CompileLaunchers.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 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 @@ -679,7 +679,10 @@ ifndef OPENJDK PROGRAM := jabswitch, \ DEBUG_SYMBOLS := true, \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/windows/native/sun/bridge/AccessBridgeStatusWindow.rc, \ - RC_FLAGS := $(RC_FLAGS), \ + RC_FLAGS := $(RC_FLAGS) \ + -D "JDK_FNAME=jabswitch.exe" \ + -D "JDK_INTERNAL_NAME=jabswitch" \ + -D "JDK_FTYPE=0x01L", \ MANIFEST := $(JDK_TOPDIR)/src/closed/windows/native/sun/bridge/jabswitch.manifest)) BUILD_LAUNCHERS += $(BUILD_JABSWITCH) 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/Setup.gmk b/jdk/make/Setup.gmk index 4fb3ad21b05..aab0adec464 100644 --- a/jdk/make/Setup.gmk +++ b/jdk/make/Setup.gmk @@ -27,7 +27,7 @@ DISABLE_WARNINGS := -Xlint:all,-deprecation,-unchecked,-rawtypes,-cast,-serial,- # To build with all warnings enabled, do the following: # make JAVAC_WARNINGS="-Xlint:all -Xmaxwarns 10000" -JAVAC_WARNINGS := -Xlint:-unchecked,-deprecation,-overrides,auxiliaryclass,cast,classfile,dep-ann,divzero,empty,overloads,static,try,varargs -Werror +JAVAC_WARNINGS := -Xlint:-unchecked,-deprecation,-overrides,auxiliaryclass,cast,classfile,dep-ann,divzero,empty,overloads,serial,static,try,varargs -Werror # Any java code executed during a JDK build to build other parts of the JDK must be # executed by the bootstrap JDK (probably with -Xbootclasspath/p: ) and for this diff --git a/jdk/make/Tools.gmk b/jdk/make/Tools.gmk index 0856b640bc0..d223f4afa62 100644 --- a/jdk/make/Tools.gmk +++ b/jdk/make/Tools.gmk @@ -71,6 +71,7 @@ TOOL_CHARACTERNAME = $(JAVA_SMALL) -cp $(JDK_OUTPUTDIR)/btclasses \ build.tools.generatecharacter.CharacterName TOOL_DTDBUILDER = $(JAVA_SMALL) -Ddtd_home=$(JDK_TOPDIR)/make/data/dtdbuilder \ + -Djava.awt.headless=true \ -cp $(JDK_OUTPUTDIR)/btclasses build.tools.dtdbuilder.DTDBuilder TOOL_GENERATEBREAKITERATORDATA = $(JAVA_SMALL) \ diff --git a/jdk/make/data/tzdata/VERSION b/jdk/make/data/tzdata/VERSION index 8ab96a77e71..1c96650f231 100644 --- a/jdk/make/data/tzdata/VERSION +++ b/jdk/make/data/tzdata/VERSION @@ -21,4 +21,4 @@ # or visit www.oracle.com if you need additional information or have any # questions. # -tzdata2014a +tzdata2014b diff --git a/jdk/make/data/tzdata/africa b/jdk/make/data/tzdata/africa index 82d14a4a14d..3198e1cc209 100644 --- a/jdk/make/data/tzdata/africa +++ b/jdk/make/data/tzdata/africa @@ -891,7 +891,10 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou # Another source (specifying the time for start and end in the decree): # http://www.lemag.ma/Heure-d-ete-au-Maroc-jusqu-au-27-octobre_a75620.html -# From Paul Eggert (2013-10-03): +# From Sebastien Willemijns (2014-03-18): +# http://www.afriquinfos.com/articles/2014/3/18/maroc-heure-dete-avancez-tous-horloges-247891.asp + +# From Paul Eggert (2014-03-19): # To estimate what the Moroccan government will do in future years, # transition dates for 2014 through 2038 were determined by running # the following program under GNU Emacs 24.3: diff --git a/jdk/make/data/tzdata/antarctica b/jdk/make/data/tzdata/antarctica index f30cf747f10..e31bada94fb 100644 --- a/jdk/make/data/tzdata/antarctica +++ b/jdk/make/data/tzdata/antarctica @@ -253,24 +253,41 @@ Zone Antarctica/Syowa 0 - zzz 1957 Jan 29 # year-round base # Scott Base, Ross Island, since 1957-01. # See Pacific/Auckland. -# -# These rules for New Zealand are stolen from the 'australasia' file. -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule NZAQ 1974 only - Nov 3 2:00s 1:00 D -Rule NZAQ 1975 1988 - Oct lastSun 2:00s 1:00 D -Rule NZAQ 1989 only - Oct 8 2:00s 1:00 D -Rule NZAQ 1990 2006 - Oct Sun>=1 2:00s 1:00 D -Rule NZAQ 1975 only - Feb 23 2:00s 0 S -Rule NZAQ 1976 1989 - Mar Sun>=1 2:00s 0 S -Rule NZAQ 1990 2007 - Mar Sun>=15 2:00s 0 S -Rule NZAQ 2007 max - Sep lastSun 2:00s 1:00 D -Rule NZAQ 2008 max - Apr Sun>=1 2:00s 0 S # Norway - territories # Bouvet (never inhabited) # # claims # Peter I Island (never inhabited) +# +# year-round base +# Troll, Queen Maud Land, -720041+0023206, since 2005-02-12 +# +# From Paul-Inge Flakstad (2014-03-10): +# I recently had a long dialog about this with the developer of timegenie.com. +# In the absence of specific dates, he decided to choose some likely ones: +# GMT +1 - From March 1 to the last Sunday in March +# GMT +2 - From the last Sunday in March until the last Sunday in October +# GMT +1 - From the last Sunday in October until November 7 +# GMT +0 - From November 7 until March 1 +# The dates for switching to and from UTC+0 will probably not be absolutely +# correct, but they should be quite close to the actual dates. +# +# From Paul Eggert (2014-03-21): +# The CET-switching Troll rules require zic from tzcode 2014b or later, so as +# suggested by Bengt-Inge Larsson comment them out for now, and approximate +# with only UTC and CEST. Uncomment them when 2014b is more prevalent. +# +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +#Rule Troll 2005 max - Mar 1 1:00u 1:00 CET +Rule Troll 2005 max - Mar lastSun 1:00u 2:00 CEST +#Rule Troll 2005 max - Oct lastSun 1:00u 1:00 CET +#Rule Troll 2004 max - Nov 7 1:00u 0:00 UTC +# Remove the following line when uncommenting the above '#Rule' lines. +Rule Troll 2004 max - Oct lastSun 1:00u 0:00 UTC +# Zone NAME GMTOFF RULES FORMAT [UNTIL] +Zone Antarctica/Troll 0 - zzz 2005 Feb 12 + 0:00 Troll %s # Poland - year-round base # Arctowski, King George Island, -620945-0582745, since 1977 diff --git a/jdk/make/data/tzdata/australasia b/jdk/make/data/tzdata/australasia index a0e8b5a2ce9..94c9adb912c 100644 --- a/jdk/make/data/tzdata/australasia +++ b/jdk/make/data/tzdata/australasia @@ -786,14 +786,29 @@ Zone Pacific/Funafuti 11:56:52 - LMT 1901 # Johnston # -# From Paul Eggert (2013-09-03): +# From Paul Eggert (2014-03-11): +# Sometimes Johnston kept Hawaii time, and sometimes it was an hour behind. +# Details are uncertain. We have no data for Johnston after 1970, so +# treat it like Hawaii for now. +# # In his memoirs of June 6th to October 4, 1945 # (2005), Herbert C. Bach writes, # "We started our letdown to Kwajalein Atoll and landed there at 5:00 AM # Johnston time, 1:30 AM Kwajalein time." This was in June 1945, and # confirms that Johnston kept the same time as Honolulu in summer 1945. -# We have no better information, so for now, assume this has been true -# indefinitely into the past. +# +# From Lyle McElhaney (2014-03-11): +# [W]hen JI was being used for that [atomic bomb] testing, the time being used +# was not Hawaiian time but rather the same time being used on the ships, +# which had a GMT offset of -11 hours. This apparently applied to at least the +# time from Operation Newsreel (Hardtack I/Teak shot, 1958-08-01) to the last +# Operation Fishbowl shot (Tightrope, 1962-11-04).... [See] Herman Hoerlin, +# "The United States High-Altitude Test Experience: A Review Emphasizing the +# Impact on the Environment", Los Alamos LA-6405, Oct 1976 +# . +# See the table on page 4 where he lists GMT and local times for the tests; a +# footnote for the JI tests reads that local time is "JI time = Hawaii Time +# Minus One Hour". # # See 'northamerica' for Pacific/Johnston. diff --git a/jdk/make/data/tzdata/europe b/jdk/make/data/tzdata/europe index 585e64d14fa..2b0c5613e60 100644 --- a/jdk/make/data/tzdata/europe +++ b/jdk/make/data/tzdata/europe @@ -2986,7 +2986,11 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880 # Assume it happened in March by not changing the clocks. 3:00 Russia MSK/MSD 1997 3:00 - MSK 1997 Mar lastSun 1:00u - 2:00 EU EE%sT +# From Alexander Krivenyshev (2014-03-17): +# time change at 2:00 (2am) on March 30, 2014 +# http://vz.ru/news/2014/3/17/677464.html + 2:00 EU EE%sT 2014 Mar 30 2:00 + 4:00 - MSK # Vatican City # See Europe/Rome. diff --git a/jdk/make/data/tzdata/leapseconds b/jdk/make/data/tzdata/leapseconds index faf5319d408..b423135b942 100644 --- a/jdk/make/data/tzdata/leapseconds +++ b/jdk/make/data/tzdata/leapseconds @@ -20,7 +20,7 @@ # 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. - +# # Allowance for leapseconds added to each timezone file. # This file is in the public domain. diff --git a/jdk/make/data/tzdata/zone.tab b/jdk/make/data/tzdata/zone.tab index b34cdb0dc7d..7cec627fd95 100644 --- a/jdk/make/data/tzdata/zone.tab +++ b/jdk/make/data/tzdata/zone.tab @@ -74,6 +74,7 @@ AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I +AQ -720041+0023206 Antarctica/Troll Troll Station, Queen Maud Land AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF) AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, MN, SE, SF) AR -2447-06525 America/Argentina/Salta (SA, LP, NQ, RN) @@ -366,6 +367,7 @@ RU +5443+02030 Europe/Kaliningrad Moscow-01 - Kaliningrad RU +5545+03735 Europe/Moscow Moscow+00 - west Russia RU +4844+04425 Europe/Volgograd Moscow+00 - Caspian Sea RU +5312+05009 Europe/Samara Moscow+00 - Samara, Udmurtia +RU +4457+03406 Europe/Simferopol Moscow+00 - Crimea RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk @@ -421,7 +423,6 @@ TZ -0648+03917 Africa/Dar_es_Salaam UA +5026+03031 Europe/Kiev most locations UA +4837+02218 Europe/Uzhgorod Ruthenia UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk -UA +4457+03406 Europe/Simferopol central Crimea UG +0019+03225 Africa/Kampala UM +1645-16931 Pacific/Johnston Johnston Atoll UM +2813-17722 Pacific/Midway Midway Islands 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/make/lib/CoreLibraries.gmk b/jdk/make/lib/CoreLibraries.gmk index 627dfceced2..2241d5d8d86 100644 --- a/jdk/make/lib/CoreLibraries.gmk +++ b/jdk/make/lib/CoreLibraries.gmk @@ -305,7 +305,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBPREFS, \ LDFLAGS_SUFFIX_linux := -ljvm -ljava, \ LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lc, \ LDFLAGS_SUFFIX_aix := -ljvm -ljava, \ - LDFLAGS_SUFFIX_windows := advapi32.lib, \ + LDFLAGS_SUFFIX_windows := advapi32.lib jvm.lib $(WIN_JAVA_LIB), \ LDFLAGS_SUFFIX_macosx := -ljvm -framework CoreFoundation, \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ RC_FLAGS := $(RC_FLAGS) \ diff --git a/jdk/make/lib/PlatformLibraries.gmk b/jdk/make/lib/PlatformLibraries.gmk index a70adf87027..336e4b1b3e4 100644 --- a/jdk/make/lib/PlatformLibraries.gmk +++ b/jdk/make/lib/PlatformLibraries.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 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 @@ -160,7 +160,10 @@ ifndef OPENJDK -subsystem:windows -machine:$2 \ -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF, \ VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \ - RC_FLAGS := $(RC_FLAGS), \ + RC_FLAGS := $(RC_FLAGS) \ + -D "JDK_FNAME=JAWTAccessBridge$1.dll" \ + -D "JDK_INTERNAL_NAME=JAWTAccessBridge$1" \ + -D "JDK_FTYPE=0x02L", \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1, \ DEBUG_SYMBOLS := true) @@ -183,7 +186,10 @@ ifndef OPENJDK -subsystem:windows -machine:$2 \ -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF, \ VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \ - RC_FLAGS := $(RC_FLAGS), \ + RC_FLAGS := $(RC_FLAGS) \ + -D "JDK_FNAME=JavaAccessBridge$1.dll" \ + -D "JDK_INTERNAL_NAME=JavaAccessBridge$1" \ + -D "JDK_FTYPE=0x02L", \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1, \ DEBUG_SYMBOLS := true) @@ -205,7 +211,10 @@ ifndef OPENJDK -subsystem:windows -machine:$2 \ -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF, \ VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \ - RC_FLAGS := $(RC_FLAGS), \ + RC_FLAGS := $(RC_FLAGS) \ + -D "JDK_FNAME=WindowsAccessBridge$1.dll" \ + -D "JDK_INTERNAL_NAME=WindowsAccessBridge$1" \ + -D "JDK_FTYPE=0x02L", \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1, \ DEBUG_SYMBOLS := true) diff --git a/jdk/make/lib/ServiceabilityLibraries.gmk b/jdk/make/lib/ServiceabilityLibraries.gmk index ef4234b0dd0..550a3e722da 100644 --- a/jdk/make/lib/ServiceabilityLibraries.gmk +++ b/jdk/make/lib/ServiceabilityLibraries.gmk @@ -49,7 +49,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH, \ EXCLUDE_FILES := $(LIBATTACH_EXCLUDE_FILES), \ LANG := C, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKLIB), \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS), \ CFLAGS_windows := /Gy, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ @@ -79,7 +79,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET, \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket, \ LANG := C, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_CFLAGS_WARNINGS_ARE_ERRORS) -DUSE_MMAP \ -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \ -I$(JDK_TOPDIR)/src/share/transport/socket \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \ @@ -115,7 +115,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows) $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem, \ LANG := C, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) -DUSE_MMAP \ -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \ -I$(JDK_TOPDIR)/src/share/transport/shmem \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \ @@ -144,7 +144,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP, \ SRC := $(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back, \ LANG := C, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) -DJDWP_LOGGING \ -I$(JDK_TOPDIR)/src/share/transport/export \ -I$(JDK_TOPDIR)/src/share/back/export \ -I$(JDK_TOPDIR)/src/share/npt \ @@ -179,7 +179,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJSDT, \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace, \ LANG := C, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKLIB) \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \ -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjsdt/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ @@ -248,7 +248,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT, \ INCLUDE_FILES := $(LIBINSTRUMENT_FILES), \ LANG := C, \ OPTIMIZATION := LOW, \ - CFLAGS := $(LIBINSTRUMENT_CFLAGS), \ + CFLAGS := $(LIBINSTRUMENT_CFLAGS) $(CFLAGS_WARNINGS_ARE_ERRORS), \ CFLAGS_debug := -DJPLIS_LOGGING, \ CFLAGS_release := -DNO_JPLIS_LOGGING, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libinstrument/mapfile-vers, \ @@ -316,7 +316,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT, \ EXCLUDE_FILES := $(BUILD_LIBMANAGEMENT_EXCLUDES), \ LANG := C, \ OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \ - CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS), \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) $(BUILD_LIBMANAGEMENT_CFLAGS), \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libmanagement/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ @@ -364,7 +364,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBHPROF, \ SRC := $(BUILD_LIBHPROF_SRC), \ LANG := C, \ OPTIMIZATION := $(LIBHPROF_OPTIMIZATION), \ - CFLAGS := $(CFLAGS_JDKLIB) \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \ $(BUILD_LIBHPROF_CFLAGS), \ CFLAGS_debug := -DHPROF_LOGGING, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libhprof/mapfile-vers, \ @@ -392,7 +392,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO, \ SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \ LANG := C, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKLIB) \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \ -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjava_crw_demo/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ @@ -419,7 +419,7 @@ ifndef OPENJDK SRC := $(JDK_TOPDIR)/src/closed/share/native/oracle/jfr, \ LANG := C, \ OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKLIB) \ + CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \ -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjfr/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ 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/macosx/classes/apple/laf/AquaLookAndFeel.java b/jdk/src/macosx/classes/apple/laf/AquaLookAndFeel.java index 805bb4e23d6..b51b08b84c5 100644 --- a/jdk/src/macosx/classes/apple/laf/AquaLookAndFeel.java +++ b/jdk/src/macosx/classes/apple/laf/AquaLookAndFeel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -30,4 +30,5 @@ package apple.laf; * "apple.laf.AquaLookAndFeel" is so widely used, documented, * and hard coded that it is impractical to remove it. */ +@SuppressWarnings("serial") // JDK implementation class public class AquaLookAndFeel extends com.apple.laf.AquaLookAndFeel { } diff --git a/jdk/src/macosx/classes/apple/security/AppleProvider.java b/jdk/src/macosx/classes/apple/security/AppleProvider.java index 5f05f968d1f..01accf67324 100644 --- a/jdk/src/macosx/classes/apple/security/AppleProvider.java +++ b/jdk/src/macosx/classes/apple/security/AppleProvider.java @@ -36,7 +36,7 @@ import java.security.*; * * This provider only exists to provide access to the Apple keychain-based KeyStore implementation */ - +@SuppressWarnings("serial") // JDK implementation class public final class AppleProvider extends Provider { private static final String info = "Apple Provider"; diff --git a/jdk/src/macosx/classes/com/apple/eawt/AppEvent.java b/jdk/src/macosx/classes/com/apple/eawt/AppEvent.java index d2d9575ec0b..643351748cd 100644 --- a/jdk/src/macosx/classes/com/apple/eawt/AppEvent.java +++ b/jdk/src/macosx/classes/com/apple/eawt/AppEvent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -36,6 +36,7 @@ import java.awt.Window; * @since Java for Mac OS X 10.6 Update 3 * @since Java for Mac OS X 10.5 Update 8 */ +@SuppressWarnings("serial") // JDK implementation class public abstract class AppEvent extends EventObject { AppEvent() { super(Application.getApplication()); @@ -44,6 +45,7 @@ public abstract class AppEvent extends EventObject { /** * Contains a list of files. */ + @SuppressWarnings("serial") // JDK implementation class public abstract static class FilesEvent extends AppEvent { final List<File> files; @@ -64,6 +66,7 @@ public abstract class AppEvent extends EventObject { * * @see OpenFilesHandler#openFiles(OpenFilesEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class OpenFilesEvent extends FilesEvent { final String searchTerm; @@ -87,6 +90,7 @@ public abstract class AppEvent extends EventObject { * * @see PrintFilesHandler#printFiles(PrintFilesEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class PrintFilesEvent extends FilesEvent { PrintFilesEvent(final List<File> files) { super(files); @@ -98,6 +102,7 @@ public abstract class AppEvent extends EventObject { * * @see OpenURIHandler#openURI(OpenURIEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class OpenURIEvent extends AppEvent { final URI uri; @@ -118,6 +123,7 @@ public abstract class AppEvent extends EventObject { * * @see AboutHandler#handleAbout() */ + @SuppressWarnings("serial") // JDK implementation class public static class AboutEvent extends AppEvent { AboutEvent() { } } /** @@ -125,6 +131,7 @@ public abstract class AppEvent extends EventObject { * * @see PreferencesHandler#handlePreferences() */ + @SuppressWarnings("serial") // JDK implementation class public static class PreferencesEvent extends AppEvent { PreferencesEvent() { } } /** @@ -132,6 +139,7 @@ public abstract class AppEvent extends EventObject { * * @see QuitHandler#handleQuitRequestWith(QuitEvent, QuitResponse) */ + @SuppressWarnings("serial") // JDK implementation class public static class QuitEvent extends AppEvent { QuitEvent() { } } /** @@ -139,6 +147,7 @@ public abstract class AppEvent extends EventObject { * * @see AppReOpenedListener#appReOpened(AppReOpenedEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class AppReOpenedEvent extends AppEvent { AppReOpenedEvent() { } } /** @@ -147,6 +156,7 @@ public abstract class AppEvent extends EventObject { * @see AppForegroundListener#appRaisedToForeground(AppForegroundEvent) * @see AppForegroundListener#appMovedToBackground(AppForegroundEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class AppForegroundEvent extends AppEvent { AppForegroundEvent() { } } /** @@ -155,6 +165,7 @@ public abstract class AppEvent extends EventObject { * @see AppHiddenListener#appHidden(AppHiddenEvent) * @see AppHiddenListener#appUnhidden(AppHiddenEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class AppHiddenEvent extends AppEvent { AppHiddenEvent() { } } /** @@ -163,6 +174,7 @@ public abstract class AppEvent extends EventObject { * @see UserSessionListener#userSessionActivated(UserSessionEvent) * @see UserSessionListener#userSessionDeactivated(UserSessionEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class UserSessionEvent extends AppEvent { UserSessionEvent() { } } /** @@ -171,6 +183,7 @@ public abstract class AppEvent extends EventObject { * @see ScreenSleepListener#screenAboutToSleep(ScreenSleepEvent) * @see ScreenSleepListener#screenAwoke(ScreenSleepEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class ScreenSleepEvent extends AppEvent { ScreenSleepEvent() { } } /** @@ -179,6 +192,7 @@ public abstract class AppEvent extends EventObject { * @see SystemSleepListener#systemAboutToSleep(SystemSleepEvent) * @see SystemSleepListener#systemAwoke(SystemSleepEvent) */ + @SuppressWarnings("serial") // JDK implementation class public static class SystemSleepEvent extends AppEvent { SystemSleepEvent() { } } /** @@ -188,6 +202,7 @@ public abstract class AppEvent extends EventObject { * * @since Java for Mac OS X 10.7 Update 1 */ + @SuppressWarnings("serial") // JDK implementation class public static class FullScreenEvent extends AppEvent { final Window window; diff --git a/jdk/src/macosx/classes/com/apple/eawt/ApplicationEvent.java b/jdk/src/macosx/classes/com/apple/eawt/ApplicationEvent.java index 482075dc163..908c8257b01 100644 --- a/jdk/src/macosx/classes/com/apple/eawt/ApplicationEvent.java +++ b/jdk/src/macosx/classes/com/apple/eawt/ApplicationEvent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +34,7 @@ import java.util.EventObject; * @since 1.4 */ @Deprecated +@SuppressWarnings("serial") // JDK implementation class public class ApplicationEvent extends EventObject { private String fFilename = null; private boolean fHandled = false; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaCaret.java b/jdk/src/macosx/classes/com/apple/laf/AquaCaret.java index edb2bea8b2b..15b9098ced2 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaCaret.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaCaret.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -35,6 +35,7 @@ import javax.swing.border.Border; import javax.swing.plaf.UIResource; import javax.swing.text.*; +@SuppressWarnings("serial") // Superclass is not serializable across versions public class AquaCaret extends DefaultCaret implements UIResource, PropertyChangeListener { final boolean isMultiLineEditor; final JTextComponent c; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxButton.java b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxButton.java index 1d902d0a1d5..2867245ee1e 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxButton.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxButton.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -33,6 +33,7 @@ import javax.swing.plaf.UIResource; import apple.laf.JRSUIState; import apple.laf.JRSUIConstants.*; +@SuppressWarnings("serial") // Superclass is not serializable across versions class AquaComboBoxButton extends JButton { final protected JComboBox comboBox; final protected JList list; @@ -43,6 +44,7 @@ class AquaComboBoxButton extends JButton { boolean isPopDown; boolean isSquare; + @SuppressWarnings("serial") // anonymous class protected AquaComboBoxButton(final AquaComboBoxUI ui, final JComboBox comboBox, final CellRendererPane rendererPane, final JList list) { super(""); putClientProperty("JButton.buttonType", "comboboxInternal"); diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java index 0607f9c36ac..dde9b1be337 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -33,6 +33,7 @@ import javax.swing.plaf.basic.BasicComboPopup; import sun.lwawt.macosx.CPlatformWindow; +@SuppressWarnings("serial") // Superclass is not serializable across versions class AquaComboBoxPopup extends BasicComboPopup { static final int FOCUS_RING_PAD_LEFT = 6; static final int FOCUS_RING_PAD_RIGHT = 6; @@ -147,6 +148,7 @@ class AquaComboBoxPopup extends BasicComboPopup { } @Override + @SuppressWarnings("serial") // anonymous class protected JList createList() { return new JList(comboBox.getModel()) { @Override diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java index 181ad9970dc..6161eb6447c 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +28,7 @@ package com.apple.laf; import javax.swing.*; import javax.swing.plaf.UIResource; +@SuppressWarnings("serial") // Superclass is not serializable across versions class AquaComboBoxRenderer extends AquaComboBoxRendererInternal implements UIResource { public AquaComboBoxRenderer(final JComboBox comboBox) { super(comboBox); diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRendererInternal.java b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRendererInternal.java index a93560a1f71..2ed6dcfcf70 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRendererInternal.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRendererInternal.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 @@ -30,6 +30,7 @@ import sun.swing.SwingUtilities2; import javax.swing.*; import java.awt.*; +@SuppressWarnings("serial") // Superclass is not serializable across versions class AquaComboBoxRendererInternal extends JLabel implements ListCellRenderer { final JComboBox fComboBox; boolean fSelected; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxUI.java index 4b9c78b3dcd..c38e108633b 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -202,7 +202,9 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions class AquaCustomComboTextField extends JTextField { + @SuppressWarnings("serial") // anonymous class public AquaCustomComboTextField() { final InputMap inputMap = getInputMap(); inputMap.put(KeyStroke.getKeyStroke("DOWN"), highlightNextAction); @@ -286,6 +288,7 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { SwingUtilities.replaceUIActionMap(comboBox, actionMap); } + @SuppressWarnings("serial") // Superclass is not serializable across versions private abstract class ComboBoxAction extends AbstractAction { public void actionPerformed(final ActionEvent e) { if (!comboBox.isEnabled() || !comboBox.isShowing()) { @@ -306,6 +309,7 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { /** * Hilight _but do not select_ the next item in the list. */ + @SuppressWarnings("serial") // anonymous class private Action highlightNextAction = new ComboBoxAction() { @Override public void performComboBoxAction(AquaComboBoxUI ui) { @@ -322,6 +326,7 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { /** * Hilight _but do not select_ the previous item in the list. */ + @SuppressWarnings("serial") // anonymous class private Action highlightPreviousAction = new ComboBoxAction() { @Override void performComboBoxAction(final AquaComboBoxUI ui) { @@ -334,6 +339,7 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { } }; + @SuppressWarnings("serial") // anonymous class private Action highlightFirstAction = new ComboBoxAction() { @Override void performComboBoxAction(final AquaComboBoxUI ui) { @@ -342,6 +348,7 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { } }; + @SuppressWarnings("serial") // anonymous class private Action highlightLastAction = new ComboBoxAction() { @Override void performComboBoxAction(final AquaComboBoxUI ui) { @@ -351,6 +358,7 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { } }; + @SuppressWarnings("serial") // anonymous class private Action highlightPageUpAction = new ComboBoxAction() { @Override void performComboBoxAction(final AquaComboBoxUI ui) { @@ -371,6 +379,7 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { } }; + @SuppressWarnings("serial") // anonymous class private Action highlightPageDownAction = new ComboBoxAction() { @Override void performComboBoxAction(final AquaComboBoxUI ui) { @@ -486,12 +495,14 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { // This is somewhat messy. The difference here from BasicComboBoxUI.EnterAction is that // arrow up or down does not automatically select the + @SuppressWarnings("serial") // anonymous class private static final Action triggerSelectionAction = new AbstractAction() { public void actionPerformed(final ActionEvent e) { triggerSelectionEvent((JComboBox)e.getSource(), e); } }; + @SuppressWarnings("serial") // anonymous class private static final Action toggleSelectionAction = new AbstractAction() { public void actionPerformed(final ActionEvent e) { final JComboBox comboBox = (JComboBox)e.getSource(); @@ -510,6 +521,7 @@ public class AquaComboBoxUI extends BasicComboBoxUI implements Sizeable { } }; + @SuppressWarnings("serial") // anonymous class private static Action hideAction = new AbstractAction() { @Override public void actionPerformed(final ActionEvent e) { diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java index cfa3b08d3be..3fae5e20310 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -857,6 +857,7 @@ public class AquaFileChooserUI extends FileChooserUI { // Action to attach to the file list so we can override the default action // of the table for the return key, which is to select the next line. + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DefaultButtonAction extends AbstractAction { public void actionPerformed(final ActionEvent e) { final JRootPane root = AquaFileChooserUI.this.getFileChooser().getRootPane(); @@ -883,6 +884,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Creates a new folder. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class NewFolderAction extends AbstractAction { protected NewFolderAction() { super(newFolderAccessibleName); @@ -944,6 +946,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Responds to an Open, Save, or Choose request */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class ApproveSelectionAction extends AbstractAction { public void actionPerformed(final ActionEvent e) { fSubPanel.approveSelection(getFileChooser()); @@ -953,6 +956,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Responds to an OpenDirectory request */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class OpenSelectionAction extends AbstractAction { public void actionPerformed(final ActionEvent e) { final int index = fFileList.getSelectedRow(); @@ -966,6 +970,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Responds to a cancel request. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class CancelSelectionAction extends AbstractAction { public void actionPerformed(final ActionEvent e) { getFileChooser().cancelSelection(); @@ -979,6 +984,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Rescans the files in the current directory */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class UpdateAction extends AbstractAction { public void actionPerformed(final ActionEvent e) { final JFileChooser fc = getFileChooser(); @@ -1004,6 +1010,7 @@ public class AquaFileChooserUI extends FileChooserUI { } // Penultimate superclass is JLabel + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class MacFCTableCellRenderer extends DefaultTableCellRenderer { boolean fIsSelected = false; @@ -1084,6 +1091,7 @@ public class AquaFileChooserUI extends FileChooserUI { } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FileRenderer extends MacFCTableCellRenderer { public FileRenderer(final Font f) { super(f); @@ -1100,6 +1108,7 @@ public class AquaFileChooserUI extends FileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DateRenderer extends MacFCTableCellRenderer { public DateRenderer(final Font f) { super(f); @@ -1134,6 +1143,7 @@ public class AquaFileChooserUI extends FileChooserUI { return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE); } + @SuppressWarnings("serial") // anonymous class protected ListCellRenderer createDirectoryComboBoxRenderer(final JFileChooser fc) { return new AquaComboBoxRendererInternal(directoryComboBox) { public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) { @@ -1162,6 +1172,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Data model for a type-face selection combo-box. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryComboBoxModel extends AbstractListModel implements ComboBoxModel { Vector<File> fDirectories = new Vector<File>(); int topIndex = -1; @@ -1245,6 +1256,7 @@ public class AquaFileChooserUI extends FileChooserUI { // // Renderer for Types ComboBox // + @SuppressWarnings("serial") // anonymous class protected ListCellRenderer createFilterComboBoxRenderer() { return new AquaComboBoxRendererInternal(filterComboBox) { public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) { @@ -1266,6 +1278,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Data model for a type-face selection combo-box. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FilterComboBoxModel extends AbstractListModel<FileFilter> implements ComboBoxModel<FileFilter>, PropertyChangeListener { protected FileFilter[] filters; @@ -1336,6 +1349,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Acts when FilterComboBox has changed the selected item. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FilterComboBoxAction extends AbstractAction { protected FilterComboBoxAction() { super("FilterComboBoxAction"); @@ -1349,6 +1363,7 @@ public class AquaFileChooserUI extends FileChooserUI { /** * Acts when DirectoryComboBox has changed the selected item. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryComboBoxAction extends AbstractAction { protected DirectoryComboBoxAction() { super("DirectoryComboBoxAction"); @@ -1360,6 +1375,7 @@ public class AquaFileChooserUI extends FileChooserUI { } // Sorting Table operations + @SuppressWarnings("serial") // Superclass is not serializable across versions class JSortingTableHeader extends JTableHeader { public JSortingTableHeader(final TableColumnModel cm) { super(cm); @@ -1396,6 +1412,7 @@ public class AquaFileChooserUI extends FileChooserUI { return label; } + @SuppressWarnings("serial") // Superclass is not serializable across versions class AquaTableCellRenderer extends DefaultTableCellRenderer implements UIResource { public Component getTableCellRendererComponent(final JTable localTable, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) { if (localTable != null) { @@ -1474,6 +1491,7 @@ public class AquaFileChooserUI extends FileChooserUI { tPanel.add(labelArea); // separator line + @SuppressWarnings("serial") // anonymous class final JSeparator sep = new JSeparator(){ public Dimension getPreferredSize() { return new Dimension(((JComponent)getParent()).getWidth(), 3); @@ -1761,6 +1779,7 @@ public class AquaFileChooserUI extends FileChooserUI { return p; } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class ScrollPaneCornerPanel extends JPanel { final Border border = UIManager.getBorder("TableHeader.cellBorder"); @@ -2225,6 +2244,7 @@ public class AquaFileChooserUI extends FileChooserUI { } // See FileRenderer - documents in Save dialogs draw disabled, so they shouldn't be selected + @SuppressWarnings("serial") // Superclass is not serializable across versions class MacListSelectionModel extends DefaultListSelectionModel { AquaFileSystemModel fModel; @@ -2315,6 +2335,7 @@ public class AquaFileChooserUI extends FileChooserUI { // Convenience, to translate from the JList directory view to the Mac-style JTable // & minimize diffs between this and BasicFileChooserUI + @SuppressWarnings("serial") // Superclass is not serializable across versions class JTableExtension extends JTable { public void setSelectedIndex(final int index) { getSelectionModel().setSelectionInterval(index, index); diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFileSystemModel.java b/jdk/src/macosx/classes/com/apple/laf/AquaFileSystemModel.java index 31c249349ea..37e627e8338 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaFileSystemModel.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaFileSystemModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -39,6 +39,7 @@ import javax.swing.table.AbstractTableModel; * * Some of it came from BasicDirectoryModel */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class AquaFileSystemModel extends AbstractTableModel implements PropertyChangeListener { private final JTable fFileList; private LoadFilesThread loadThread = null; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFileView.java b/jdk/src/macosx/classes/com/apple/laf/AquaFileView.java index dccd9bc93e7..b69d2d09e7c 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaFileView.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaFileView.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +34,7 @@ import javax.swing.filechooser.FileView; import com.apple.laf.AquaUtils.RecyclableSingleton; +@SuppressWarnings("serial") // JDK implementation class class AquaFileView extends FileView { private static final boolean DEBUG = false; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFonts.java b/jdk/src/macosx/classes/com/apple/laf/AquaFonts.java index 79f032ae94d..1e9c778695b 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaFonts.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaFonts.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +34,7 @@ import javax.swing.plaf.*; import com.apple.laf.AquaUtils.RecyclableSingleton; +@SuppressWarnings("serial") // JDK implementation class public class AquaFonts { private static final String MAC_DEFAULT_FONT_NAME = "Lucida Grande"; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java b/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java index 576661be417..e40d066ac22 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java @@ -295,14 +295,8 @@ public class AquaIcon { } Image createImage() { - int w = getIconWidth(); - int h = getIconHeight(); - return new AquaImageFactory.MultiResolutionIconImage( - AquaUtils.getCImageCreator().createSystemImageFromSelector( - selector, w, h), - AquaUtils.getCImageCreator().createSystemImageFromSelector( - selector, 2 * w, 2 * h) - ); + return AquaUtils.getCImageCreator().createSystemImageFromSelector( + selector, getIconWidth(), getIconHeight()); } } } diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java b/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java index 5451abd5dcd..be6a787a45b 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -125,16 +125,14 @@ public class AquaImageFactory { private static final int kAlertIconSize = 64; static IconUIResource getAppIconCompositedOn(final Image background) { - final BufferedImage iconImage = getAppIconImageCompositedOn(background, 1); - - if (background instanceof MultiResolutionIconImage) { - BufferedImage background2x - = ((MultiResolutionIconImage) background).resolutionVariant; - BufferedImage icon2xImage = getAppIconImageCompositedOn(background2x, 2); - - return new IconUIResource(new ImageIcon( - new MultiResolutionIconImage(iconImage, icon2xImage))); + if (background instanceof MultiResolutionBufferedImage) { + int width = background.getWidth(null); + Image mrIconImage = ((MultiResolutionBufferedImage) background).map( + rv -> getAppIconImageCompositedOn(rv, rv.getWidth(null) / width)); + return new IconUIResource(new ImageIcon(mrIconImage)); } + + BufferedImage iconImage = getAppIconImageCompositedOn(background, 1); return new IconUIResource(new ImageIcon(iconImage)); } @@ -248,6 +246,7 @@ public class AquaImageFactory { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions static class InvertableImageIcon extends ImageIcon implements InvertableIcon, UIResource { Icon invertedImage; public InvertableImageIcon(final Image image) { @@ -312,10 +311,16 @@ public class AquaImageFactory { return icon; } - Image icon2x = AquaUtils.getCImageCreator().createImageFromName( - imageName, 2 * icon.getWidth(null), 2 * icon.getHeight(null)); - return new MultiResolutionBufferedImage( - BufferedImage.TYPE_INT_ARGB_PRE, 0, icon, icon2x); + int w = icon.getWidth(null); + int h = icon.getHeight(null); + + Dimension[] sizes = new Dimension[]{ + new Dimension(w, h), new Dimension(2 * w, 2 * h) + }; + + return new MultiResolutionBufferedImage(icon, sizes, (width, height) -> + AquaUtils.getCImageCreator().createImageFromName( + imageName, width, height)); } public static class NineSliceMetrics { @@ -480,6 +485,7 @@ public class AquaImageFactory { // when we use SystemColors, we need to proxy the color with something that implements UIResource, // so that it will be uninstalled when the look and feel is changed. + @SuppressWarnings("serial") // JDK implementation class private static class SystemColorProxy extends Color implements UIResource { final Color color; public SystemColorProxy(final Color color) { @@ -524,29 +530,4 @@ public class AquaImageFactory { public static Color getSelectionInactiveForegroundColorUIResource() { return new SystemColorProxy(LWCToolkit.getAppleColor(LWCToolkit.INACTIVE_SELECTION_FOREGROUND_COLOR)); } - - static class MultiResolutionIconImage extends BufferedImage - implements MultiResolutionImage { - - BufferedImage resolutionVariant; - - public MultiResolutionIconImage(BufferedImage image, BufferedImage resolutionVariant) { - super(image.getWidth(), image.getHeight(), image.getType()); - this.resolutionVariant = resolutionVariant; - Graphics g = getGraphics(); - g.drawImage(image, 0, 0, null); - g.dispose(); - } - - @Override - public Image getResolutionVariant(int width, int height) { - return ((width <= getWidth() && height <= getHeight())) - ? this : resolutionVariant; - } - - @Override - public List<Image> getResolutionVariants() { - return Arrays.asList(this, resolutionVariant); - } - } -} +} \ No newline at end of file diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java index 80ba1bbf332..e144100ce0f 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -167,6 +167,7 @@ public class AquaInternalFrameDockIconUI extends DesktopIconUI implements MouseL fFrame.putClientProperty(CACHED_FRAME_ICON_KEY, null); } + @SuppressWarnings("serial") // Superclass is not serializable across versions class ScaledImageLabel extends JLabel { ScaledImageLabel() { super(null, null, CENTER); @@ -226,6 +227,7 @@ public class AquaInternalFrameDockIconUI extends DesktopIconUI implements MouseL } } + @SuppressWarnings("serial") // Superclass is not serializable across versions class DockLabel extends JLabel { final static int NUB_HEIGHT = 7; final static int ROUND_ADDITIONAL_HEIGHT = 8; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java index a229b19d0d2..49a9a19d201 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +53,7 @@ import javax.swing.*; * * @see com.sun.java.swing.plaf.windows.WindowsDesktopManager */ +@SuppressWarnings("serial") // JDK implementation class public class AquaInternalFrameManager extends DefaultDesktopManager { // Variables diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java index c21575db86a..1534d6d80c7 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -116,6 +116,7 @@ public class AquaInternalFramePaneUI extends BasicDesktopPaneUI implements Mouse } } + @SuppressWarnings("serial") // Superclass is not serializable across versions class Dock extends JComponent implements Border { static final int DOCK_EDGE_SLACK = 8; @@ -185,6 +186,7 @@ public class AquaInternalFramePaneUI extends BasicDesktopPaneUI implements Mouse } } + @SuppressWarnings("serial") // JDK implementation class class AquaDockingDesktopManager extends AquaInternalFrameManager { public void openFrame(final JInternalFrame f) { final JInternalFrame.JDesktopIcon desktopIcon = f.getDesktopIcon(); diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java index dd0267ce3fc..076b2dec952 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -753,6 +753,7 @@ public class AquaInternalFrameUI extends BasicInternalFrameUI implements SwingCo } }; + @SuppressWarnings("serial") // Superclass is not serializable across versions static class CompoundUIBorder extends CompoundBorder implements UIResource { public CompoundUIBorder(final Border inside, final Border outside) { super(inside, outside); } } @@ -796,6 +797,7 @@ public class AquaInternalFrameUI extends BasicInternalFrameUI implements SwingCo } }; + @SuppressWarnings("serial") // Superclass is not serializable across versions class ResizeBox extends JLabel implements MouseListener, MouseMotionListener, MouseWheelListener, ComponentListener, PropertyChangeListener, UIResource { final JLayeredPane layeredPane; Dimension originalSize; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaKeyBindings.java b/jdk/src/macosx/classes/com/apple/laf/AquaKeyBindings.java index 98048262b80..1b83b300027 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaKeyBindings.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaKeyBindings.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -528,6 +528,7 @@ public class AquaKeyBindings { } // extracted and adapted from DefaultEditorKit in 1.6 + @SuppressWarnings("serial") // Superclass is not serializable across versions static abstract class DeleteWordAction extends TextAction { public DeleteWordAction(final String name) { super(name); } @@ -565,6 +566,7 @@ public class AquaKeyBindings { final TextAction pageUpMultilineAction = new AquaMultilineAction(pageUpMultiline, DefaultEditorKit.pageUpAction, DefaultEditorKit.beginAction); final TextAction pageDownMultilineAction = new AquaMultilineAction(pageDownMultiline, DefaultEditorKit.pageDownAction, DefaultEditorKit.endAction); + @SuppressWarnings("serial") // Superclass is not serializable across versions static class AquaMultilineAction extends TextAction { final String targetActionName; final String proxyActionName; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaListUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaListUI.java index 91636ca190d..85d06468912 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaListUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaListUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -67,6 +67,7 @@ public class AquaListUI extends BasicListUI { list.getActionMap().put("aquaEnd", new AquaHomeEndAction(false)); } + @SuppressWarnings("serial") // Superclass is not serializable across versions static class AquaHomeEndAction extends AbstractAction { private boolean fHomeAction = false; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaLookAndFeel.java b/jdk/src/macosx/classes/com/apple/laf/AquaLookAndFeel.java index baa5c61c824..8c0d06cfa79 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaLookAndFeel.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaLookAndFeel.java @@ -32,19 +32,19 @@ import java.util.*; import javax.swing.*; import javax.swing.border.Border; import javax.swing.plaf.*; +import javax.swing.plaf.basic.BasicBorders; import javax.swing.plaf.basic.BasicLookAndFeel; - +import static javax.swing.UIDefaults.LazyValue; import sun.swing.*; import apple.laf.*; +@SuppressWarnings("serial") // Superclass is not serializable across versions public class AquaLookAndFeel extends BasicLookAndFeel { static final String sOldPropertyPrefix = "com.apple.macos."; // old prefix for things like 'useScreenMenuBar' static final String sPropertyPrefix = "apple.laf."; // new prefix for things like 'useScreenMenuBar' // for lazy initalizers. Following the pattern from metal. private static final String PKG_PREFIX = "com.apple.laf."; - private static final String kAquaImageFactoryName = PKG_PREFIX + "AquaImageFactory"; - private static final String kAquaFontsName = PKG_PREFIX + "AquaFonts"; /** * Return a short string that identifies this look and feel, e.g. @@ -320,17 +320,21 @@ public class AquaLookAndFeel extends BasicLookAndFeel { // our launch times of Swing apps. // *** Text value objects - final Object marginBorder = new SwingLazyValue("javax.swing.plaf.basic.BasicBorders$MarginBorder"); + final LazyValue marginBorder = t -> new BasicBorders.MarginBorder(); - final Object zero = new Integer(0); + final int zero = 0; final Object editorMargin = zeroInsets; // this is not correct - look at TextEdit to determine the right margin - final Object textCaretBlinkRate = new Integer(500); - final Object textFieldBorder = new SwingLazyValue(PKG_PREFIX + "AquaTextFieldBorder", "getTextFieldBorder"); + final int textCaretBlinkRate = 500; + final LazyValue textFieldBorder = t -> + AquaTextFieldBorder.getTextFieldBorder(); final Object textAreaBorder = marginBorder; // text areas have no real border - radar 311073 - final Object scollListBorder = new SwingLazyValue(PKG_PREFIX + "AquaScrollRegionBorder", "getScrollRegionBorder"); - final Object aquaTitledBorder = new SwingLazyValue(PKG_PREFIX + "AquaGroupBorder", "getBorderForTitledBorder"); - final Object aquaInsetBorder = new SwingLazyValue(PKG_PREFIX + "AquaGroupBorder", "getTitlelessBorder"); + final LazyValue scollListBorder = t -> + AquaScrollRegionBorder.getScrollRegionBorder(); + final LazyValue aquaTitledBorder = t -> + AquaGroupBorder.getBorderForTitledBorder(); + final LazyValue aquaInsetBorder = t -> + AquaGroupBorder.getTitlelessBorder(); final Border listHeaderBorder = AquaTableHeaderBorder.getListHeaderBorder(); final Border zeroBorder = new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0); @@ -352,7 +356,8 @@ public class AquaLookAndFeel extends BasicLookAndFeel { final Color textPasswordFieldCapsLockIconColor = mediumTranslucentBlack; - final Object internalFrameBorder = new SwingLazyValue("javax.swing.plaf.basic.BasicBorders", "getInternalFrameBorder"); + final LazyValue internalFrameBorder = t -> + BasicBorders.getInternalFrameBorder(); final Color desktopBackgroundColor = new ColorUIResource(new Color(65, 105, 170));//SystemColor.desktop final Color focusRingColor = AquaImageFactory.getFocusRingColorUIResource(); @@ -363,11 +368,12 @@ public class AquaLookAndFeel extends BasicLookAndFeel { final Color tabBackgroundColor = windowBackgroundColor; final Color controlBackgroundColor = windowBackgroundColor; - final Object controlFont = new SwingLazyValue(kAquaFontsName, "getControlTextFont"); - final Object controlSmallFont = new SwingLazyValue(kAquaFontsName, "getControlTextSmallFont"); - final Object alertHeaderFont = new SwingLazyValue(kAquaFontsName, "getAlertHeaderFont"); - final Object menuFont = new SwingLazyValue(kAquaFontsName, "getMenuFont"); - final Object viewFont = new SwingLazyValue(kAquaFontsName, "getViewFont"); + final LazyValue controlFont = t -> AquaFonts.getControlTextFont(); + final LazyValue controlSmallFont = t -> + AquaFonts.getControlTextSmallFont(); + final LazyValue alertHeaderFont = t -> AquaFonts.getAlertHeaderFont(); + final LazyValue menuFont = t -> AquaFonts.getMenuFont(); + final LazyValue viewFont = t -> AquaFonts.getViewFont(); final Color menuBackgroundColor = new ColorUIResource(Color.white); final Color menuForegroundColor = black; @@ -389,10 +395,14 @@ public class AquaLookAndFeel extends BasicLookAndFeel { }); // sja testing - final Object confirmIcon = new SwingLazyValue(kAquaImageFactoryName, "getConfirmImageIcon"); // AquaImageFactory.getConfirmImageIcon(); - final Object cautionIcon = new SwingLazyValue(kAquaImageFactoryName, "getCautionImageIcon"); // AquaImageFactory.getCautionImageIcon(); - final Object stopIcon = new SwingLazyValue(kAquaImageFactoryName, "getStopImageIcon"); // AquaImageFactory.getStopImageIcon(); - final Object securityIcon = new SwingLazyValue(kAquaImageFactoryName, "getLockImageIcon"); // AquaImageFactory.getLockImageIcon(); + final LazyValue confirmIcon = t -> + AquaImageFactory.getConfirmImageIcon(); + final LazyValue cautionIcon = t -> + AquaImageFactory.getCautionImageIcon(); + final LazyValue stopIcon = t -> + AquaImageFactory.getStopImageIcon(); + final LazyValue securityIcon = t -> + AquaImageFactory.getLockImageIcon(); final AquaKeyBindings aquaKeyBindings = AquaKeyBindings.instance(); @@ -404,7 +414,7 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "Button.foreground", black, "Button.disabledText", disabled, "Button.select", selected, - "Button.border", new SwingLazyValue(PKG_PREFIX + "AquaButtonBorder", "getDynamicButtonBorder"), + "Button.border",(LazyValue) t -> AquaButtonBorder.getDynamicButtonBorder(), "Button.font", controlFont, "Button.textIconGap", new Integer(4), "Button.textShiftOffset", zero, // radar 3308129 - aqua doesn't move images when pressed. @@ -416,7 +426,7 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "CheckBox.foreground", black, "CheckBox.disabledText", disabled, "CheckBox.select", selected, - "CheckBox.icon", new SwingLazyValue(PKG_PREFIX + "AquaButtonCheckBoxUI", "getSizingCheckBoxIcon"), + "CheckBox.icon",(LazyValue) t -> AquaButtonCheckBoxUI.getSizingCheckBoxIcon(), "CheckBox.font", controlFont, "CheckBox.border", AquaButtonBorder.getBevelButtonBorder(), "CheckBox.margin", new InsetsUIResource(1, 1, 0, 1), @@ -441,8 +451,8 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "CheckBoxMenuItem.border", menuBorder, // for inset calculation "CheckBoxMenuItem.margin", menuItemMargin, "CheckBoxMenuItem.borderPainted", Boolean.TRUE, - "CheckBoxMenuItem.checkIcon", new SwingLazyValue(kAquaImageFactoryName, "getMenuItemCheckIcon"), - "CheckBoxMenuItem.dashIcon", new SwingLazyValue(kAquaImageFactoryName, "getMenuItemDashIcon"), + "CheckBoxMenuItem.checkIcon",(LazyValue) t -> AquaImageFactory.getMenuItemCheckIcon(), + "CheckBoxMenuItem.dashIcon",(LazyValue) t -> AquaImageFactory.getMenuItemDashIcon(), //"CheckBoxMenuItem.arrowIcon", null, "ColorChooser.background", panelBackgroundColor, @@ -538,10 +548,10 @@ public class AquaLookAndFeel extends BasicLookAndFeel { /* Default frame icons are undefined for Basic. */ - "InternalFrame.closeIcon", new SwingLazyValue(PKG_PREFIX + "AquaInternalFrameUI", "exportCloseIcon"), - "InternalFrame.maximizeIcon", new SwingLazyValue(PKG_PREFIX + "AquaInternalFrameUI", "exportZoomIcon"), - "InternalFrame.iconifyIcon", new SwingLazyValue(PKG_PREFIX + "AquaInternalFrameUI", "exportMinimizeIcon"), - "InternalFrame.minimizeIcon", new SwingLazyValue(PKG_PREFIX + "AquaInternalFrameUI", "exportMinimizeIcon"), + "InternalFrame.closeIcon",(LazyValue) t -> AquaInternalFrameUI.exportCloseIcon(), + "InternalFrame.maximizeIcon",(LazyValue) t -> AquaInternalFrameUI.exportZoomIcon(), + "InternalFrame.iconifyIcon",(LazyValue) t -> AquaInternalFrameUI.exportMinimizeIcon(), + "InternalFrame.minimizeIcon",(LazyValue) t -> AquaInternalFrameUI.exportMinimizeIcon(), // this could be either grow or icon // we decided to make it icon so that anyone who uses // these for ui will have different icons for max and min @@ -595,11 +605,11 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "List.border", null, "List.cellRenderer", listCellRendererActiveValue, - "List.sourceListBackgroundPainter", new SwingLazyValue(PKG_PREFIX + "AquaListUI", "getSourceListBackgroundPainter"), - "List.sourceListSelectionBackgroundPainter", new SwingLazyValue(PKG_PREFIX + "AquaListUI", "getSourceListSelectionBackgroundPainter"), - "List.sourceListFocusedSelectionBackgroundPainter", new SwingLazyValue(PKG_PREFIX + "AquaListUI", "getSourceListFocusedSelectionBackgroundPainter"), - "List.evenRowBackgroundPainter", new SwingLazyValue(PKG_PREFIX + "AquaListUI", "getListEvenBackgroundPainter"), - "List.oddRowBackgroundPainter", new SwingLazyValue(PKG_PREFIX + "AquaListUI", "getListOddBackgroundPainter"), + "List.sourceListBackgroundPainter",(LazyValue) t -> AquaListUI.getSourceListBackgroundPainter(), + "List.sourceListSelectionBackgroundPainter",(LazyValue) t -> AquaListUI.getSourceListSelectionBackgroundPainter(), + "List.sourceListFocusedSelectionBackgroundPainter",(LazyValue) t -> AquaListUI.getSourceListFocusedSelectionBackgroundPainter(), + "List.evenRowBackgroundPainter",(LazyValue) t -> AquaListUI.getListEvenBackgroundPainter(), + "List.oddRowBackgroundPainter",(LazyValue) t -> AquaListUI.getListOddBackgroundPainter(), // <rdar://Problem/3743210> The modifier for the Mac is meta, not control. "List.focusInputMap", aquaKeyBindings.getListInputMap(), @@ -623,7 +633,7 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "Menu.borderPainted", Boolean.FALSE, "Menu.margin", menuItemMargin, //"Menu.checkIcon", emptyCheckIcon, // A non-drawing GlyphIcon to make the spacing consistent - "Menu.arrowIcon", new SwingLazyValue(kAquaImageFactoryName, "getMenuArrowIcon"), + "Menu.arrowIcon",(LazyValue) t -> AquaImageFactory.getMenuArrowIcon(), "Menu.consumesTabs", Boolean.TRUE, "Menu.menuPopupOffsetY", new Integer(1), "Menu.submenuPopupOffsetY", new Integer(-4), @@ -637,8 +647,8 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "MenuBar.selectionForeground", menuSelectedForegroundColor, "MenuBar.disabledBackground", menuDisabledBackgroundColor, //ThemeBrush.GetThemeBrushForMenu(false, false), // not a menu item, not selected "MenuBar.disabledForeground", menuDisabledForegroundColor, - "MenuBar.backgroundPainter", new SwingLazyValue(PKG_PREFIX + "AquaMenuPainter", "getMenuBarPainter"), - "MenuBar.selectedBackgroundPainter", new SwingLazyValue(PKG_PREFIX + "AquaMenuPainter", "getSelectedMenuBarItemPainter"), + "MenuBar.backgroundPainter",(LazyValue) t -> AquaMenuPainter.getMenuBarPainter(), + "MenuBar.selectedBackgroundPainter",(LazyValue) t -> AquaMenuPainter.getSelectedMenuBarItemPainter(), "MenuItem.font", menuFont, "MenuItem.acceleratorFont", menuFont, @@ -656,7 +666,7 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "MenuItem.borderPainted", Boolean.TRUE, //"MenuItem.checkIcon", emptyCheckIcon, // A non-drawing GlyphIcon to make the spacing consistent //"MenuItem.arrowIcon", null, - "MenuItem.selectedBackgroundPainter", new SwingLazyValue(PKG_PREFIX + "AquaMenuPainter", "getSelectedMenuItemPainter"), + "MenuItem.selectedBackgroundPainter",(LazyValue) t -> AquaMenuPainter.getSelectedMenuItemPainter(), // *** OptionPane // You can additionaly define OptionPane.messageFont which will @@ -732,7 +742,7 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "RadioButton.foreground", black, "RadioButton.disabledText", disabled, "RadioButton.select", selected, - "RadioButton.icon", new SwingLazyValue(PKG_PREFIX + "AquaButtonRadioUI", "getSizingRadioButtonIcon"), + "RadioButton.icon",(LazyValue) t -> AquaButtonRadioUI.getSizingRadioButtonIcon(), "RadioButton.font", controlFont, "RadioButton.border", AquaButtonBorder.getBevelButtonBorder(), "RadioButton.margin", new InsetsUIResource(1, 1, 0, 1), @@ -752,8 +762,8 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "RadioButtonMenuItem.border", menuBorder, // for inset calculation "RadioButtonMenuItem.margin", menuItemMargin, "RadioButtonMenuItem.borderPainted", Boolean.TRUE, - "RadioButtonMenuItem.checkIcon", new SwingLazyValue(kAquaImageFactoryName, "getMenuItemCheckIcon"), - "RadioButtonMenuItem.dashIcon", new SwingLazyValue(kAquaImageFactoryName, "getMenuItemDashIcon"), + "RadioButtonMenuItem.checkIcon",(LazyValue) t -> AquaImageFactory.getMenuItemCheckIcon(), + "RadioButtonMenuItem.dashIcon",(LazyValue) t -> AquaImageFactory.getMenuItemDashIcon(), //"RadioButtonMenuItem.arrowIcon", null, "Separator.background", null, @@ -808,7 +818,7 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "SplitPane.border", scollListBorder, "SplitPane.dividerSize", new Integer(9), //$ "SplitPaneDivider.border", null, // AquaSplitPaneDividerUI draws it - "SplitPaneDivider.horizontalGradientVariant", new SwingLazyValue(PKG_PREFIX + "AquaSplitPaneDividerUI", "getHorizontalSplitDividerGradientVariant"), + "SplitPaneDivider.horizontalGradientVariant",(LazyValue) t -> AquaSplitPaneDividerUI.getHorizontalSplitDividerGradientVariant(), // *** TabbedPane "TabbedPane.font", controlFont, @@ -918,7 +928,7 @@ public class AquaLookAndFeel extends BasicLookAndFeel { // "ToggleButton.disabledBackground", getControl(), // "ToggleButton.disabledSelectedBackground", getControlShadow(), //"ToggleButton.focus", getFocusColor(), - "ToggleButton.border", new SwingLazyValue(PKG_PREFIX + "AquaButtonBorder", "getDynamicButtonBorder"), // sja make this lazy! + "ToggleButton.border",(LazyValue) t -> AquaButtonBorder.getDynamicButtonBorder(), // sja make this lazy! "ToggleButton.font", controlFont, "ToggleButton.focusInputMap", controlFocusInputMap, "ToggleButton.margin", new InsetsUIResource(2, 2, 2, 2), @@ -931,7 +941,7 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "ToolBar.dockingForeground", selectionBackground, "ToolBar.floatingBackground", panelBackgroundColor, "ToolBar.floatingForeground", new ColorUIResource(Color.darkGray), - "ToolBar.border", new SwingLazyValue(PKG_PREFIX + "AquaToolBarUI", "getToolBarBorder"), + "ToolBar.border",(LazyValue) t -> AquaToolBarUI.getToolBarBorder(), "ToolBar.borderHandleColor", toolbarDragHandleColor, //"ToolBar.separatorSize", new DimensionUIResource( 10, 10 ), "ToolBar.separatorSize", null, @@ -967,12 +977,12 @@ public class AquaLookAndFeel extends BasicLookAndFeel { "Tree.rightChildIndent", new Integer(13),//$ "Tree.rowHeight", new Integer(19),// iconHeight + 3, to match finder - a zero would have the renderer decide, except that leaves the icons touching "Tree.scrollsOnExpand", Boolean.FALSE, - "Tree.openIcon", new SwingLazyValue(kAquaImageFactoryName, "getTreeOpenFolderIcon"), // Open folder icon - "Tree.closedIcon", new SwingLazyValue(kAquaImageFactoryName, "getTreeFolderIcon"), // Closed folder icon - "Tree.leafIcon", new SwingLazyValue(kAquaImageFactoryName, "getTreeDocumentIcon"), // Document icon - "Tree.expandedIcon", new SwingLazyValue(kAquaImageFactoryName, "getTreeExpandedIcon"), - "Tree.collapsedIcon", new SwingLazyValue(kAquaImageFactoryName, "getTreeCollapsedIcon"), - "Tree.rightToLeftCollapsedIcon", new SwingLazyValue(kAquaImageFactoryName, "getTreeRightToLeftCollapsedIcon"), + "Tree.openIcon",(LazyValue) t -> AquaImageFactory.getTreeOpenFolderIcon(), // Open folder icon + "Tree.closedIcon",(LazyValue) t -> AquaImageFactory.getTreeFolderIcon(), // Closed folder icon + "Tree.leafIcon",(LazyValue) t -> AquaImageFactory.getTreeDocumentIcon(), // Document icon + "Tree.expandedIcon",(LazyValue) t -> AquaImageFactory.getTreeExpandedIcon(), + "Tree.collapsedIcon",(LazyValue) t -> AquaImageFactory.getTreeCollapsedIcon(), + "Tree.rightToLeftCollapsedIcon",(LazyValue) t -> AquaImageFactory.getTreeRightToLeftCollapsedIcon(), "Tree.changeSelectionWithFocus", Boolean.TRUE, "Tree.drawsFocusBorderAroundIcon", Boolean.FALSE, @@ -1088,4 +1098,4 @@ public class AquaLookAndFeel extends BasicLookAndFeel { }; table.putDefaults(uiDefaults); } -} +} \ No newline at end of file diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaNativeResources.java b/jdk/src/macosx/classes/com/apple/laf/AquaNativeResources.java index e0e7c41db70..b43f8965cf2 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaNativeResources.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaNativeResources.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -44,6 +44,7 @@ public class AquaNativeResources { } // TODO: removing CColorPaint for now + @SuppressWarnings("serial") // JDK implementation class static class CColorPaintUIResource extends Color/*CColorPaint*/ implements UIResource { // The color passed to this MUST be a retained NSColor, and the CColorPaintUIResource // takes ownership of that retain. diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java b/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java index dc34b694ecd..38884ac7e8f 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java @@ -38,6 +38,7 @@ import sun.java2d.*; import sun.print.*; import apple.laf.*; import apple.laf.JRSUIUtils.NineSliceMetricsProvider; +import sun.awt.image.ImageCache; abstract class AquaPainter <T extends JRSUIState> { static <T extends JRSUIState> AquaPainter<T> create(final T state) { @@ -155,10 +156,15 @@ abstract class AquaPainter <T extends JRSUIState> { final ImageCache cache = ImageCache.getInstance(); final int imgW = bounds.width * scale; final int imgH = bounds.height * scale; - BufferedImage img = (BufferedImage) cache.getImage(config, imgW, imgH, scale, controlState); + AquaPixelsKey key = new AquaPixelsKey(config, + imgW, imgH, scale, controlState); + BufferedImage img = (BufferedImage) cache.getImage(key); if (img == null) { img = new BufferedImage(imgW, imgH, BufferedImage.TYPE_INT_ARGB_PRE); - cache.setImage(img, config, imgW, imgH, scale, controlState); + if (!controlState.is(JRSUIConstants.Animating.YES)) { + cache.setImage(key, img); + } + final WritableRaster raster = img.getRaster(); final DataBufferInt buffer = (DataBufferInt) raster.getDataBuffer(); @@ -172,6 +178,59 @@ abstract class AquaPainter <T extends JRSUIState> { } } + private static class AquaPixelsKey implements ImageCache.PixelsKey { + + private final int pixelCount; + private final int hash; + + // key parts + private final GraphicsConfiguration config; + private final int w; + private final int h; + private final int scale; + private final JRSUIState state; + + AquaPixelsKey(final GraphicsConfiguration config, + final int w, final int h, final int scale, + final JRSUIState state) { + this.pixelCount = w * h; + this.config = config; + this.w = w; + this.h = h; + this.scale = scale; + this.state = state; + this.hash = hash(); + } + + public int getPixelCount() { + return pixelCount; + } + + private int hash() { + int hash = config != null ? config.hashCode() : 0; + hash = 31 * hash + w; + hash = 31 * hash + h; + hash = 31 * hash + scale; + hash = 31 * hash + state.hashCode(); + return hash; + } + + @Override + public int hashCode() { + return hash; + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof AquaPixelsKey) { + AquaPixelsKey key = (AquaPixelsKey) obj; + return config == key.config && w == key.w && h == key.h + && scale == key.scale && state.equals(key.state); + } + return false; + } + } + private static class RecyclableJRSUISlicedImageControl extends RecyclableSlicedImageControl { diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaSpinnerUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaSpinnerUI.java index f7bfd926f9b..1f9cc03dadc 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaSpinnerUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaSpinnerUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -188,6 +188,7 @@ public class AquaSpinnerUI extends SpinnerUI { return spinner.getEditor().getBaselineResizeBehavior(); } + @SuppressWarnings("serial") // Superclass is not serializable across versions class TransparentButton extends JButton implements SwingConstants { boolean interceptRepaints = false; @@ -293,6 +294,7 @@ public class AquaSpinnerUI extends SpinnerUI { return map; } + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class ArrowButtonHandler extends AbstractAction implements MouseListener { final javax.swing.Timer autoRepeatTimer; final boolean isNext; @@ -461,6 +463,7 @@ public class AquaSpinnerUI extends SpinnerUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions class SpinPainter extends JComponent { final AquaPainter<JRSUIState> painter = AquaPainter.create(JRSUIStateFactory.getSpinnerArrows()); diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java index 81b4c5bbe48..6f7580496d2 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -39,6 +39,7 @@ import com.apple.laf.AquaUtils.LazyKeyedSingleton; import com.apple.laf.AquaUtils.RecyclableSingleton; import com.apple.laf.AquaUtils.RecyclableSingletonFromDefaultConstructor; +@SuppressWarnings("serial") // Superclass is not serializable across versions public class AquaSplitPaneDividerUI extends BasicSplitPaneDivider { final AquaPainter<JRSUIState> painter = AquaPainter.create(JRSUIStateFactory.getSplitPaneDivider()); diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java index 4bd2570e91f..dd65433283f 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -3237,6 +3237,7 @@ public class AquaTabbedPaneCopyFromBasicUI extends TabbedPaneUI implements Swing } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ScrollableTabViewport extends JViewport implements UIResource { public ScrollableTabViewport() { super(); @@ -3251,6 +3252,7 @@ public class AquaTabbedPaneCopyFromBasicUI extends TabbedPaneUI implements Swing } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ScrollableTabPanel extends JPanel implements UIResource { public ScrollableTabPanel() { super(null); @@ -3281,6 +3283,7 @@ public class AquaTabbedPaneCopyFromBasicUI extends TabbedPaneUI implements Swing } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ScrollableTabButton extends javax.swing.plaf.basic.BasicArrowButton implements UIResource, SwingConstants { public ScrollableTabButton(final int direction) { super(direction, UIManager.getColor("TabbedPane.selected"), UIManager.getColor("TabbedPane.shadow"), UIManager.getColor("TabbedPane.darkShadow"), UIManager.getColor("TabbedPane.highlight")); @@ -3585,6 +3588,7 @@ public class AquaTabbedPaneCopyFromBasicUI extends TabbedPaneUI implements Swing return htmlViews; } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class TabContainer extends JPanel implements UIResource { private boolean notifyTabbedPane = true; @@ -3629,6 +3633,7 @@ public class AquaTabbedPaneCopyFromBasicUI extends TabbedPaneUI implements Swing } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class CroppedEdge extends JPanel implements UIResource { private Shape shape; private int tabIndex; @@ -3708,6 +3713,7 @@ public class AquaTabbedPaneCopyFromBasicUI extends TabbedPaneUI implements Swing * @version 1.6, 11/17/05 * @author Scott Violet */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class LazyActionMap extends ActionMapUIResource { /** * Object to invoke <code>loadActionMap</code> on. This may be diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java index 5c3ce82378d..41b9dd906a6 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -987,7 +987,8 @@ public class AquaTabbedPaneUI extends AquaTabbedPaneCopyFromBasicUI { if (component == null) { menuItem = new JMenuItem(tabPane.getTitleAt(i), tabPane.getIconAt(i)); } else { - menuItem = new JMenuItem() { + @SuppressWarnings("serial") // anonymous class + JMenuItem tmp = new JMenuItem() { public void paintComponent(final Graphics g) { super.paintComponent(g); final Dimension size = component.getSize(); @@ -1001,6 +1002,7 @@ public class AquaTabbedPaneUI extends AquaTabbedPaneCopyFromBasicUI { return component.getPreferredSize(); } }; + menuItem = tmp; } final Color background = tabPane.getBackgroundAt(i); diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java index d103065cb54..17f412b8d42 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -36,6 +36,7 @@ import apple.laf.JRSUIConstants.*; import com.apple.laf.AquaUtils.RecyclableSingleton; +@SuppressWarnings("serial") // Superclass is not serializable across versions public class AquaTableHeaderBorder extends AbstractBorder { protected static final int SORT_NONE = 0; protected static final int SORT_ASCENDING = 1; diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java index 656a89cff1a..5d847e98ef2 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -111,6 +111,7 @@ public class AquaTableHeaderUI extends BasicTableHeaderUI { tableColumn.setHeaderRenderer(renderer); } + @SuppressWarnings("serial") // Superclass is not serializable across versions class AquaTableCellRenderer extends DefaultTableCellRenderer implements UIResource { public Component getTableCellRendererComponent(final JTable localTable, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) { if (localTable != null) { diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java index b6492a31fcc..4117d895f6e 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -249,6 +249,7 @@ public class AquaTextFieldSearch { label.setText(promptText); } + @SuppressWarnings("serial") // anonymous class inside protected static JButton getCancelButton(final JTextComponent c) { final JButton b = createButton(c, getCancelIcon()); b.setName("cancel"); @@ -325,6 +326,7 @@ public class AquaTextFieldSearch { } protected boolean doingLayout; + @SuppressWarnings("serial") // anonymous class inside protected LayoutManager getCustomLayout() { // unfortunately, the default behavior of BorderLayout, which accommodates for margins // is not what we want, so we "turn off margins" for layout for layout out our buttons diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaToolBarUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaToolBarUI.java index 21fd8ab8bca..05773dd6429 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaToolBarUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaToolBarUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -55,6 +55,7 @@ public class AquaToolBarUI extends BasicToolBarUI implements SwingConstants { } /* ToolBarBorder and drag-off handle, based loosly on MetalBumps */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class ToolBarBorder extends AbstractBorder implements UIResource, javax.swing.SwingConstants { protected void fillHandle(final Graphics g, final int x1, final int y1, final int x2, final int y2, final boolean horizontal) { g.setColor(UIManager.getColor("ToolBar.borderHandleColor")); diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTreeUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTreeUI.java index 4ebbbed819e..1b73f2a987a 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaTreeUI.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaTreeUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -493,6 +493,7 @@ public class AquaTreeUI extends BasicTreeUI { tree.getActionMap().put("aquaFullyCollapseNode", new KeyboardExpandCollapseAction(false, true)); } + @SuppressWarnings("serial") // Superclass is not serializable across versions class KeyboardExpandCollapseAction extends AbstractAction { /** * Determines direction to traverse, 1 means expand, -1 means collapse. diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java b/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java index 6a522839151..a20897f7b31 100644 --- a/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java +++ b/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java @@ -177,16 +177,7 @@ final class AquaUtils { abstract static class RecyclableSingleton<T> { final T get() { - final AppContext appContext = AppContext.getAppContext(); - SoftReference<T> ref = (SoftReference<T>) appContext.get(this); - if (ref != null) { - final T object = ref.get(); - if (object != null) return object; - } - final T object = getInstance(); - ref = new SoftReference<T>(object); - appContext.put(this, ref); - return object; + return AppContext.getSoftReferenceValue(this, () -> getInstance()); } void reset() { diff --git a/jdk/src/macosx/classes/com/apple/laf/ImageCache.java b/jdk/src/macosx/classes/com/apple/laf/ImageCache.java deleted file mode 100644 index 442b9742f01..00000000000 --- a/jdk/src/macosx/classes/com/apple/laf/ImageCache.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright (c) 2011, 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 com.apple.laf; - -import java.awt.*; -import java.lang.ref.*; -import java.util.*; -import java.util.concurrent.locks.*; - -import apple.laf.JRSUIConstants; -import apple.laf.JRSUIState; -import com.apple.laf.AquaUtils.RecyclableSingleton; - -/** - * ImageCache - A fixed pixel count sized cache of Images keyed by arbitrary set of arguments. All images are held with - * SoftReferences so they will be dropped by the GC if heap memory gets tight. When our size hits max pixel count least - * recently requested images are removed first. - */ -final class ImageCache { - // Ordered Map keyed by args hash, ordered by most recent accessed entry. - private final LinkedHashMap<Integer, PixelCountSoftReference> map = new LinkedHashMap<>(16, 0.75f, true); - - // Maximum number of pixels to cache, this is used if maxCount - private final int maxPixelCount; - // The current number of pixels stored in the cache - private int currentPixelCount = 0; - - // Lock for concurrent access to map - private final ReadWriteLock lock = new ReentrantReadWriteLock(); - // Reference queue for tracking lost softreferences to images in the cache - private final ReferenceQueue<Image> referenceQueue = new ReferenceQueue<>(); - - // Singleton Instance - private static final RecyclableSingleton<ImageCache> instance = new RecyclableSingleton<ImageCache>() { - @Override - protected ImageCache getInstance() { - return new ImageCache(); - } - }; - static ImageCache getInstance() { - return instance.get(); - } - - ImageCache(final int maxPixelCount) { - this.maxPixelCount = maxPixelCount; - } - - ImageCache() { - this((8 * 1024 * 1024) / 4); // 8Mb of pixels - } - - public void flush() { - lock.writeLock().lock(); - try { - map.clear(); - } finally { - lock.writeLock().unlock(); - } - } - - public Image getImage(final GraphicsConfiguration config, final int w, - final int h, final int scale, - final JRSUIState state) { - final int hash = hash(config, w, h, scale, state); - final PixelCountSoftReference ref; - lock.readLock().lock(); - try { - ref = map.get(hash); - } finally { - lock.readLock().unlock(); - } - // check reference has not been lost and the key truly matches, - // in case of false positive hash match - if (ref != null && ref.equals(config, w, h, scale, state)) { - return ref.get(); - } - return null; - } - - /** - * Sets the cached image for the specified constraints. - * - * @param image The image to store in cache - * @param config The graphics configuration, needed if cached image is a Volatile Image. Used as part of cache key - * @param w The image width, used as part of cache key - * @param h The image height, used as part of cache key - * @param scale The image scale factor, used as part of cache key - * @return true if the image could be cached, false otherwise. - */ - public boolean setImage(final Image image, - final GraphicsConfiguration config, final int w, final int h, - final int scale, final JRSUIState state) { - if (state.is(JRSUIConstants.Animating.YES)) { - return false; - } - - final int hash = hash(config, w, h, scale, state); - - lock.writeLock().lock(); - try { - PixelCountSoftReference ref = map.get(hash); - // check if currently in map - if (ref != null && ref.get() == image) return true; - - // clear out old - if (ref != null) { - currentPixelCount -= ref.pixelCount; - map.remove(hash); - } - - // add new image to pixel count - final int newPixelCount = image.getWidth(null) * image.getHeight(null); - currentPixelCount += newPixelCount; - // clean out lost references if not enough space - if (currentPixelCount > maxPixelCount) { - while ((ref = (PixelCountSoftReference)referenceQueue.poll()) != null) { - //reference lost - map.remove(ref.hash); - currentPixelCount -= ref.pixelCount; - } - } - - // remove old items till there is enough free space - if (currentPixelCount > maxPixelCount) { - final Iterator<Map.Entry<Integer, PixelCountSoftReference>> mapIter = map.entrySet().iterator(); - while ((currentPixelCount > maxPixelCount) && mapIter.hasNext()) { - final Map.Entry<Integer, PixelCountSoftReference> entry = mapIter.next(); - mapIter.remove(); - final Image img = entry.getValue().get(); - if (img != null) img.flush(); - currentPixelCount -= entry.getValue().pixelCount; - } - } - // finally put new in map - map.put(hash, new PixelCountSoftReference(image, referenceQueue, newPixelCount, hash, config, w, h, scale, state)); - return true; - } finally { - lock.writeLock().unlock(); - } - } - - private static int hash(final GraphicsConfiguration config, final int w, - final int h, final int scale, - final JRSUIState state) { - int hash = config != null ? config.hashCode() : 0; - hash = 31 * hash + w; - hash = 31 * hash + h; - hash = 31 * hash + scale; - hash = 31 * hash + state.hashCode(); - return hash; - } - - /** - * Extended SoftReference that stores the pixel count even after the image - * is lost. - */ - private static class PixelCountSoftReference extends SoftReference<Image> { - - // default access, because access to these fields shouldn't be emulated - // by a synthetic accessor. - final int pixelCount; - final int hash; - - // key parts - private final GraphicsConfiguration config; - private final int w; - private final int h; - private final int scale; - private final JRSUIState state; - - PixelCountSoftReference(final Image referent, - final ReferenceQueue<? super Image> q, final int pixelCount, - final int hash, final GraphicsConfiguration config, final int w, - final int h, final int scale, final JRSUIState state) { - super(referent, q); - this.pixelCount = pixelCount; - this.hash = hash; - this.config = config; - this.w = w; - this.h = h; - this.scale = scale; - this.state = state; - } - - boolean equals(final GraphicsConfiguration config, final int w, - final int h, final int scale, final JRSUIState state) { - return config == this.config && w == this.w && h == this.h - && scale == this.scale && state.equals(this.state); - } - } - -// /** Gets the rendered image for this painter at the requested size, either from cache or create a new one */ -// private VolatileImage getImage(GraphicsConfiguration config, JComponent c, int w, int h, Object[] extendedCacheKeys) { -// VolatileImage buffer = (VolatileImage)getImage(config, w, h, this, extendedCacheKeys); -// -// int renderCounter = 0; // to avoid any potential, though unlikely, infinite loop -// do { -// //validate the buffer so we can check for surface loss -// int bufferStatus = VolatileImage.IMAGE_INCOMPATIBLE; -// if (buffer != null) { -// bufferStatus = buffer.validate(config); -// } -// -// //If the buffer status is incompatible or restored, then we need to re-render to the volatile image -// if (bufferStatus == VolatileImage.IMAGE_INCOMPATIBLE || bufferStatus == VolatileImage.IMAGE_RESTORED) { -// // if the buffer isn't the right size, or has lost its contents, then recreate -// if (buffer != null) { -// if (buffer.getWidth() != w || buffer.getHeight() != h || bufferStatus == VolatileImage.IMAGE_INCOMPATIBLE) { -// // clear any resources related to the old back buffer -// buffer.flush(); -// buffer = null; -// } -// } -// -// if (buffer == null) { -// // recreate the buffer -// buffer = config.createCompatibleVolatileImage(w, h, Transparency.TRANSLUCENT); -// // put in cache for future -// setImage(buffer, config, w, h, this, extendedCacheKeys); -// } -// -// //create the graphics context with which to paint to the buffer -// Graphics2D bg = buffer.createGraphics(); -// -// //clear the background before configuring the graphics -// bg.setComposite(AlphaComposite.Clear); -// bg.fillRect(0, 0, w, h); -// bg.setComposite(AlphaComposite.SrcOver); -// bg.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); -// -// // paint the painter into buffer -// paint0(bg, c, w, h, extendedCacheKeys); -// //close buffer graphics -// bg.dispose(); -// } -// } while (buffer.contentsLost() && renderCounter++ < 3); -// -// // check if we failed -// if (renderCounter >= 3) return null; -// -// return buffer; -// } -} diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenu.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenu.java index 87393408487..a692ae1794b 100644 --- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenu.java +++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenu.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -36,6 +36,7 @@ import sun.awt.SunToolkit; import sun.lwawt.LWToolkit; import sun.lwawt.macosx.*; +@SuppressWarnings("serial") // JDK implementation class final class ScreenMenu extends Menu implements ContainerListener, ComponentListener, ScreenMenuPropertyHandler { diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBar.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBar.java index 94fea5f09a4..1735b444ea5 100644 --- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBar.java +++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBar.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -33,6 +33,7 @@ import java.util.*; import javax.swing.*; +@SuppressWarnings("serial") // JDK implementation class public class ScreenMenuBar extends MenuBar implements ContainerListener, ScreenMenuPropertyHandler, ComponentListener { static boolean sJMenuBarHasHelpMenus = false; //$ could check by calling getHelpMenu in a try block diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItem.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItem.java index c403b8b3c28..47be00d1504 100644 --- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItem.java +++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItem.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +34,7 @@ import javax.swing.plaf.ComponentUI; import sun.lwawt.macosx.CMenuItem; +@SuppressWarnings("serial") // JDK implementation class final class ScreenMenuItem extends MenuItem implements ActionListener, ComponentListener, ScreenMenuPropertyHandler { ScreenMenuPropertyListener fListener; JMenuItem fMenuItem; diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java index 92b6afe7245..a0483581ca2 100644 --- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java +++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -36,6 +36,7 @@ import com.apple.laf.AquaMenuItemUI.IndeterminateListener; import sun.lwawt.macosx.*; +@SuppressWarnings("serial") // JDK implementation class final class ScreenMenuItemCheckbox extends CheckboxMenuItem implements ActionListener, ComponentListener, ScreenMenuPropertyHandler, ItemListener { JMenuItem fMenuItem; MenuContainer fParent; diff --git a/jdk/src/macosx/classes/sun/lwawt/LWWindowPeer.java b/jdk/src/macosx/classes/sun/lwawt/LWWindowPeer.java index fe7596eb395..226d8c68699 100644 --- a/jdk/src/macosx/classes/sun/lwawt/LWWindowPeer.java +++ b/jdk/src/macosx/classes/sun/lwawt/LWWindowPeer.java @@ -685,7 +685,7 @@ public class LWWindowPeer public void notifyNCMouseDown() { // Ungrab except for a click on a Dialog with the grabbing owner if (grabbingWindow != null && - grabbingWindow != getOwnerFrameDialog(this)) + !grabbingWindow.isOneOfOwnersOf(this)) { grabbingWindow.ungrab(); } @@ -780,7 +780,7 @@ public class LWWindowPeer // Ungrab only if this window is not an owned window of the grabbing one. if (!isGrabbing() && grabbingWindow != null && - grabbingWindow != getOwnerFrameDialog(this)) + !grabbingWindow.isOneOfOwnersOf(this)) { grabbingWindow.ungrab(); } @@ -1235,6 +1235,17 @@ public class LWWindowPeer changeFocusedWindow(activate, null); } + private boolean isOneOfOwnersOf(LWWindowPeer peer) { + Window owner = (peer != null ? peer.getTarget().getOwner() : null); + while (owner != null) { + if ((LWWindowPeer)owner.getPeer() == this) { + return true; + } + owner = owner.getOwner(); + } + return false; + } + /* * Changes focused window on java level. */ @@ -1266,7 +1277,7 @@ public class LWWindowPeer // - when the opposite (gaining focus) window is an owned/owner window. // - for a simple window in any case. if (!becomesFocused && - (isGrabbing() || getOwnerFrameDialog(grabbingWindow) == this)) + (isGrabbing() || this.isOneOfOwnersOf(grabbingWindow))) { if (focusLog.isLoggable(PlatformLogger.Level.FINE)) { focusLog.fine("ungrabbing on " + grabbingWindow); @@ -1285,6 +1296,11 @@ public class LWWindowPeer postEvent(windowEvent); } + /* + * Retrieves the owner of the peer. + * Note: this method returns the owner which can be activated, (i.e. the instance + * of Frame or Dialog may be returned). + */ static LWWindowPeer getOwnerFrameDialog(LWWindowPeer peer) { Window owner = (peer != null ? peer.getTarget().getOwner() : null); while (owner != null && !(owner instanceof Frame || owner instanceof Dialog)) { diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java index 8e0ded6b3eb..3312f6e4213 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +28,7 @@ package sun.lwawt.macosx; import java.awt.*; import java.awt.image.BufferedImage; +@SuppressWarnings("serial") // JDK implementation class public class CCustomCursor extends Cursor { static Dimension sMaxCursorSize; static Dimension getMaxCursorSize() { diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java index 8b2eb3dfd78..26d2347ff15 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java @@ -52,7 +52,9 @@ public class CDataTransferer extends DataTransferer { "RICH_TEXT", "HTML", "PDF", - "URL" + "URL", + "PNG", + "JFIF" }; static { @@ -74,8 +76,8 @@ public class CDataTransferer extends DataTransferer { public static final int CF_HTML = 5; public static final int CF_PDF = 6; public static final int CF_URL = 7; - public static final int CF_PNG = 10; - public static final int CF_JPEG = 11; + public static final int CF_PNG = 8; + public static final int CF_JPEG = 9; private CDataTransferer() {} @@ -204,20 +206,9 @@ public class CDataTransferer extends DataTransferer { return handler; } - private native byte[] imageDataToPlatformImageBytes(int[] rData, int nW, int nH); @Override protected byte[] imageToPlatformBytes(Image image, long format) { - int w = image.getWidth(null); - int h = image.getHeight(null); - BufferedImage bimage = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB_PRE); - Graphics g = bimage.getGraphics(); - g.drawImage(image, 0, 0, w, h, null); - g.dispose(); - Raster raster = bimage.getRaster(); - DataBuffer buffer = raster.getDataBuffer(); - return imageDataToPlatformImageBytes(((DataBufferInt)buffer).getData(), - raster.getWidth(), - raster.getHeight()); + return CImage.getCreator().getPlatformImageBytes(image); } private static native String[] nativeDragQueryFile(final byte[] bytes); @@ -228,14 +219,9 @@ public class CDataTransferer extends DataTransferer { return nativeDragQueryFile(bytes); } - private native Image getImageForByteStream(byte[] bytes); - /** - * Translates a byte array which contains - * platform-specific image data in the given format into an Image. - */ @Override protected Image platformImageBytesToImage(byte[] bytes, long format) throws IOException { - return getImageForByteStream(bytes); + return CImage.getCreator().createImageFromPlatformImageBytes(bytes); } @Override diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java index 7aab0b58fa7..dd718c0ca0b 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java @@ -33,6 +33,7 @@ import java.awt.Toolkit; import sun.awt.EmbeddedFrame; import sun.lwawt.LWWindowPeer; +@SuppressWarnings("serial") // JDK implementation class public class CEmbeddedFrame extends EmbeddedFrame { private CPlatformResponder responder; diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java index 5ea172b3e23..17815d4882e 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java @@ -32,20 +32,24 @@ import java.awt.image.*; import java.util.Arrays; import java.util.List; import sun.awt.image.MultiResolutionImage; +import sun.awt.image.MultiResolutionBufferedImage; import sun.awt.image.SunWritableRaster; public class CImage extends CFRetainedResource { private static native long nativeCreateNSImageFromArray(int[] buffer, int w, int h); + private static native long nativeCreateNSImageFromBytes(byte[] buffer); private static native long nativeCreateNSImageFromArrays(int[][] buffers, int w[], int h[]); private static native long nativeCreateNSImageFromFileContents(String file); private static native long nativeCreateNSImageOfFileFromLaunchServices(String file); private static native long nativeCreateNSImageFromImageName(String name); private static native long nativeCreateNSImageFromIconSelector(int selector); - private static native void nativeCopyNSImageIntoArray(long image, int[] buffer, int w, int h); + private static native byte[] nativeGetPlatformImageBytes(int[] buffer, int w, int h); + private static native void nativeCopyNSImageIntoArray(long image, int[] buffer, int sw, int sh, int dw, int dh); private static native Dimension2D nativeGetNSImageSize(long image); private static native void nativeSetNSImageSize(long image, double w, double h); private static native void nativeResizeNSImageRepresentations(long image, double w, double h); + private static native Dimension2D[] nativeGetNSImageRepresentationSizes(long image, double w, double h); static Creator creator = new Creator(); static Creator getCreator() { @@ -145,6 +149,23 @@ public class CImage extends CFRetainedResource { image.getHeight(null))); } + public byte[] getPlatformImageBytes(final Image image) { + int[] buffer = imageToArray(image, false); + + if (buffer == null) { + return null; + } + + return nativeGetPlatformImageBytes(buffer, image.getWidth(null), image.getHeight(null)); + } + + /** + * Translates a byte array which contains platform-specific image data in the given format into an Image. + */ + public Image createImageFromPlatformImageBytes(final byte[] buffer) { + return createImageUsingNativeSize(nativeCreateNSImageFromBytes(buffer)); + } + // This is used to create a CImage from a Image public CImage createFromImage(final Image image) { if (image instanceof MultiResolutionImage) { @@ -210,18 +231,30 @@ public class CImage extends CFRetainedResource { super(nsImagePtr, true); } - /** @return A BufferedImage created from nsImagePtr, or null. */ - public BufferedImage toImage() { + /** @return A MultiResolution image created from nsImagePtr, or null. */ + private BufferedImage toImage() { if (ptr == 0) return null; final Dimension2D size = nativeGetNSImageSize(ptr); final int w = (int)size.getWidth(); final int h = (int)size.getHeight(); - final BufferedImage bimg = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB_PRE); + Dimension2D[] sizes + = nativeGetNSImageRepresentationSizes(ptr, + size.getWidth(), size.getHeight()); + + BufferedImage baseImage = toImage(w, h, w, h); + + return sizes == null || sizes.length < 2 ? baseImage + : new MultiResolutionBufferedImage(baseImage, sizes, + (width, height) -> toImage(w, h, width, height)); + } + + private BufferedImage toImage(int srcWidth, int srcHeight, int dstWidth, int dstHeight) { + final BufferedImage bimg = new BufferedImage(dstWidth, dstHeight, BufferedImage.TYPE_INT_ARGB_PRE); final DataBufferInt dbi = (DataBufferInt)bimg.getRaster().getDataBuffer(); final int[] buffer = SunWritableRaster.stealData(dbi, 0); - nativeCopyNSImageIntoArray(ptr, buffer, w, h); + nativeCopyNSImageIntoArray(ptr, buffer, srcWidth, srcHeight, dstWidth, dstHeight); SunWritableRaster.markDirty(dbi); return bimg; } diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuItem.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuItem.java index dbe6a8c8b9e..2fca524922b 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuItem.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuItem.java @@ -150,8 +150,6 @@ public class CMenuItem extends CMenuComponent implements MenuItemPeer { // native callbacks void handleAction(final long when, final int modifiers) { - assert CThreading.assertAppKit(); - SunToolkit.executeOnEventHandlerThread(getTarget(), new Runnable() { public void run() { final String cmd = ((MenuItem)getTarget()).getActionCommand(); diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java index 170e93d2ffe..b2d2015d191 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -32,7 +32,7 @@ import java.awt.event.*; import sun.awt.dnd.SunDragSourceContextPeer; - +@SuppressWarnings("serial") // JDK implementation class class CMouseDragGestureRecognizer extends MouseDragGestureRecognizer { // Number of pixels before drag is determined to have started: diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java index a9de01d0d98..edf25ddb313 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java @@ -468,7 +468,6 @@ public class CPlatformWindow extends CFRetainedResource implements PlatformWindo @Override // PlatformWindow public void setBounds(int x, int y, int w, int h) { -// assert CThreading.assertEventQueue(); nativeSetNSWindowBounds(getNSWindowPtr(), x, y, w, h); } @@ -1062,8 +1061,6 @@ public class CPlatformWindow extends CFRetainedResource implements PlatformWindo // ---------------------------------------------------------------------- private void windowDidBecomeMain() { - assert CThreading.assertAppKit(); - if (checkBlockingAndOrder()) return; // If it's not blocked, make sure it's above its siblings orderAboveSiblings(); diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java index f877e42925c..4a75ddae9c0 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +27,7 @@ package sun.lwawt.macosx; import java.awt.*; +@SuppressWarnings("serial") // JDK implementation class public abstract class CPrinterDialog extends Dialog { private final CPrinterJob fPrinterJob; // used from native diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java index a3102323e6f..ede3bec7b73 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java @@ -41,7 +41,7 @@ import javax.print.attribute.standard.PageRanges; import sun.java2d.*; import sun.print.*; -final class CPrinterJob extends RasterPrinterJob { +public final class CPrinterJob extends RasterPrinterJob { // NOTE: This uses RasterPrinterJob as a base, but it doesn't use // all of the RasterPrinterJob functions. RasterPrinterJob will // break down printing to pieces that aren't necessary under MacOSX diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java index 55da5684521..562f0524f91 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java @@ -29,6 +29,7 @@ package sun.lwawt.macosx; import java.awt.*; import java.awt.print.*; +@SuppressWarnings("serial") // JDK implementation class final class CPrinterJobDialog extends CPrinterDialog { private Pageable fPageable; private boolean fAllowPrintToFile; diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java index 95b8e58985a..3880e51e2bd 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java @@ -29,6 +29,7 @@ package sun.lwawt.macosx; import java.awt.*; import java.awt.print.*; +@SuppressWarnings("serial") // JDK implementation class final class CPrinterPageDialog extends CPrinterDialog { private PageFormat fPage; private Printable fPainter; diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CThreading.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CThreading.java deleted file mode 100644 index a8ef960eae0..00000000000 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CThreading.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2011, 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 sun.lwawt.macosx; - -import java.awt.EventQueue; - - -public class CThreading { - static String APPKIT_THREAD_NAME = "AppKit Thread"; - - static boolean isEventQueue() { - return EventQueue.isDispatchThread(); - } - - static boolean isAppKit() { - return APPKIT_THREAD_NAME.equals(Thread.currentThread().getName()); - } - - static boolean assertEventQueue() { - final boolean isEventQueue = isEventQueue(); - assert isEventQueue : "Threading violation: not EventQueue thread"; - return isEventQueue; - } - - static boolean assertNotEventQueue() { - final boolean isNotEventQueue = isEventQueue(); - assert isNotEventQueue : "Threading violation: EventQueue thread"; - return isNotEventQueue; - } - - static boolean assertAppKit() { - final boolean isAppKitThread = isAppKit(); - assert isAppKitThread : "Threading violation: not AppKit thread"; - return isAppKitThread; - } - - static boolean assertNotAppKit() { - final boolean isNotAppKitThread = !isAppKit(); - assert isNotAppKitThread : "Threading violation: AppKit thread"; - return isNotAppKitThread; - } -} diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CViewEmbeddedFrame.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CViewEmbeddedFrame.java index 0d12aa1ca67..f2dfa7d44be 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CViewEmbeddedFrame.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CViewEmbeddedFrame.java @@ -37,6 +37,7 @@ import sun.lwawt.LWWindowPeer; * The CViewEmbeddedFrame class is used in the SWT_AWT bridge. * This is a part of public API and should not be renamed or moved */ +@SuppressWarnings("serial") // JDK implementation class public class CViewEmbeddedFrame extends EmbeddedFrame { private final long nsViewPtr; diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CWarningWindow.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CWarningWindow.java index 800d76f478a..fc72ef79474 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/CWarningWindow.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CWarningWindow.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 @@ -27,7 +27,6 @@ package sun.lwawt.macosx; import sun.awt.AWTAccessor; import sun.awt.IconInfo; -import sun.awt.SunToolkit; import sun.java2d.SunGraphics2D; import sun.java2d.SurfaceData; import sun.java2d.opengl.CGLLayer; @@ -39,15 +38,11 @@ import java.awt.*; import java.awt.event.MouseEvent; import java.awt.geom.Point2D; import java.lang.ref.WeakReference; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; public final class CWarningWindow extends CPlatformWindow implements SecurityWarningWindow, PlatformEventNotifier { - private static class Lock {}; + private static class Lock {} private final Lock lock = new Lock(); private final static int SHOWING_DELAY = 300; @@ -95,7 +90,7 @@ public final class CWarningWindow extends CPlatformWindow public CWarningWindow(final Window _ownerWindow, final LWWindowPeer _ownerPeer) { super(); - this.ownerPeer = new WeakReference<LWWindowPeer>(_ownerPeer); + this.ownerPeer = new WeakReference<>(_ownerPeer); this.ownerWindow = _ownerWindow; initialize(null, null, _ownerPeer.getPlatformWindow()); @@ -120,16 +115,8 @@ public final class CWarningWindow extends CPlatformWindow } public void setVisible(boolean visible, boolean doSchedule) { - synchronized (scheduler) { - if (showingTaskHandle != null) { - showingTaskHandle.cancel(false); - showingTaskHandle = null; - } - - if (hidingTaskHandle != null) { - hidingTaskHandle.cancel(false); - hidingTaskHandle = null; - } + synchronized (taskLock) { + cancelTasks(); if (visible) { if (isVisible()) { @@ -138,20 +125,18 @@ public final class CWarningWindow extends CPlatformWindow currentIcon = 2; } - showingTaskHandle = scheduler.schedule(showingTask, 50, - TimeUnit.MILLISECONDS); - + showHideTask = new ShowingTask(); + LWCToolkit.performOnMainThreadAfterDelay(showHideTask, 50); } else { if (!isVisible()) { return; } + showHideTask = new HidingTask(); if (doSchedule) { - hidingTaskHandle = scheduler.schedule(hidingTask, HIDING_DELAY, - TimeUnit.MILLISECONDS); + LWCToolkit.performOnMainThreadAfterDelay(showHideTask, HIDING_DELAY); } else { - hidingTaskHandle = scheduler.schedule(hidingTask, 50, - TimeUnit.MILLISECONDS); + LWCToolkit.performOnMainThreadAfterDelay(showHideTask, 50); } } } @@ -321,6 +306,21 @@ public final class CWarningWindow extends CPlatformWindow }; } + @Override + public void dispose() { + cancelTasks(); + super.dispose(); + } + + private void cancelTasks() { + synchronized (taskLock) { + if (showHideTask != null) { + showHideTask.cancel(); + showHideTask = null; + } + } + } + private void updateIconSize() { int newSize = -1; @@ -353,7 +353,7 @@ public final class CWarningWindow extends CPlatformWindow } } - private final Graphics getGraphics() { + private Graphics getGraphics() { SurfaceData sd = contentView.getSurfaceData(); if (ownerWindow == null || sd == null) { return null; @@ -398,44 +398,59 @@ public final class CWarningWindow extends CPlatformWindow return getSecurityIconInfo(currentSize, currentIcon); } - private final Runnable hidingTask = new Runnable() { - public void run() { + private final Lock taskLock = new Lock(); + private CancelableRunnable showHideTask; + + private static abstract class CancelableRunnable implements Runnable { + private volatile boolean perform = true; + + public final void cancel() { + perform = false; + } + + @Override + public final void run() { + if (perform) { + perform(); + } + } + + public abstract void perform(); + } + + private class HidingTask extends CancelableRunnable { + @Override + public void perform() { synchronized (lock) { setVisible(false); } - synchronized (scheduler) { - hidingTaskHandle = null; + synchronized (taskLock) { + showHideTask = null; } } - }; + } - private final Runnable showingTask = new Runnable() { - public void run() { + private class ShowingTask extends CancelableRunnable { + @Override + public void perform() { synchronized (lock) { if (!isVisible()) { setVisible(true); } - repaint(); } - synchronized (scheduler) { + synchronized (taskLock) { if (currentIcon > 0) { currentIcon--; - showingTaskHandle = scheduler.schedule(showingTask, SHOWING_DELAY, - TimeUnit.MILLISECONDS); + showHideTask = new ShowingTask(); + LWCToolkit.performOnMainThreadAfterDelay(showHideTask, SHOWING_DELAY); } else { - showingTaskHandle = null; + showHideTask = null; } } } - }; - - private final ScheduledExecutorService scheduler = - Executors.newSingleThreadScheduledExecutor(); - - private ScheduledFuture hidingTaskHandle; - private ScheduledFuture showingTaskHandle; + } } diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java b/jdk/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java index fc587f298dc..e0c76ab2fc4 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java @@ -47,10 +47,10 @@ import sun.awt.datatransfer.DataTransferer; import sun.lwawt.*; import sun.lwawt.LWWindowPeer.PeerType; import sun.security.action.GetBooleanAction; -import sun.awt.image.MultiResolutionImage; import sun.util.CoreResourceBundleControl; +@SuppressWarnings("serial") // JDK implementation class final class NamedCursor extends Cursor { NamedCursor(String name) { super(name); @@ -141,6 +141,7 @@ public final class LWCToolkit extends LWToolkit { loadNativeColors(systemColors, appleColors); } + @SuppressWarnings("serial") // JDK implementation class private static class AppleSpecificColor extends Color { private final int index; AppleSpecificColor(int index) { @@ -474,9 +475,11 @@ public final class LWCToolkit extends LWToolkit { return true; } + private static final String APPKIT_THREAD_NAME = "AppKit Thread"; + // Intended to be called from the LWCToolkit.m only. private static void installToolkitThreadNameInJava() { - Thread.currentThread().setName(CThreading.APPKIT_THREAD_NAME); + Thread.currentThread().setName(APPKIT_THREAD_NAME); } @Override @@ -667,6 +670,13 @@ public final class LWCToolkit extends LWToolkit { throw new InvocationTargetException(eventException); } + /** + * Schedules a {@code Runnable} execution on the Appkit thread after a delay + * @param r a {@code Runnable} to execute + * @param delay a delay in milliseconds + */ + native static void performOnMainThreadAfterDelay(Runnable r, long delay); + // This exists purely to get around permissions issues with getSystemEventQueueImpl EventQueue getSystemEventQueueForInvokeAndWait() { return getSystemEventQueueImpl(); diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java b/jdk/src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java index 56988646c01..16bada2688c 100644 --- a/jdk/src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java +++ b/jdk/src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -29,6 +29,7 @@ package sun.lwawt.macosx; import java.io.*; import javax.print.attribute.*; +@SuppressWarnings("serial") // JDK implementation class public final class NSPrintInfo implements PrintJobAttribute, PrintRequestAttribute, Serializable, Cloneable { private long fNSPrintInfo; diff --git a/jdk/src/macosx/native/sun/awt/AWTEvent.m b/jdk/src/macosx/native/sun/awt/AWTEvent.m index 3a7aab4d94f..70624769dab 100644 --- a/jdk/src/macosx/native/sun/awt/AWTEvent.m +++ b/jdk/src/macosx/native/sun/awt/AWTEvent.m @@ -28,6 +28,7 @@ #import <sys/time.h> #include <Carbon/Carbon.h> +#import "jni_util.h" #import "LWCToolkit.h" #import "ThreadUtilities.h" @@ -687,6 +688,7 @@ JNF_COCOA_ENTER(env); jboolean copy = JNI_FALSE; jint *data = (*env)->GetIntArrayElements(env, inData, ©); + CHECK_NULL_RETURN(data, postsTyped); // in = [testChar, testDeadChar, modifierFlags, keyCode] jchar testChar = (jchar)data[0]; @@ -727,6 +729,7 @@ JNF_COCOA_ENTER(env); jboolean copy = JNI_FALSE; jint *data = (*env)->GetIntArrayElements(env, inData, ©); + CHECK_NULL(data); // in = [modifierFlags, keyCode] jint modifierFlags = data[0]; diff --git a/jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.m b/jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.m index d12908c83a3..39fc4c2b82a 100644 --- a/jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.m +++ b/jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.m @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -103,8 +103,6 @@ JNF_COCOA_ENTER(env); CALayer *windowLayer = jlong_to_ptr(windowLayerPtr); surfaceLayers = [[AWTSurfaceLayers alloc] initWithWindowLayer: windowLayer]; - CFRetain(surfaceLayers); - [surfaceLayers release]; }]; JNF_COCOA_EXIT(env); diff --git a/jdk/src/macosx/native/sun/awt/AWTView.m b/jdk/src/macosx/native/sun/awt/AWTView.m index 8b4d06ab313..bcc832190f4 100644 --- a/jdk/src/macosx/native/sun/awt/AWTView.m +++ b/jdk/src/macosx/native/sun/awt/AWTView.m @@ -112,9 +112,9 @@ AWT_ASSERT_APPKIT_THREAD; remoteLayer.parentLayer = parentLayer; remoteLayer.remoteLayer = NULL; remoteLayer.jrsRemoteLayer = [remoteLayer createRemoteLayerBoundTo:JRSRemotePort]; - CFRetain(remoteLayer); // REMIND + [remoteLayer retain]; // REMIND remoteLayer.frame = CGRectMake(0, 0, 720, 500); // REMIND - CFRetain(remoteLayer.jrsRemoteLayer); // REMIND + [remoteLayer.jrsRemoteLayer retain]; // REMIND int layerID = [remoteLayer.jrsRemoteLayer layerID]; NSLog(@"layer id to send = %d", layerID); sendLayerID(layerID); @@ -1081,21 +1081,22 @@ JNF_CLASS_CACHE(jc_CInputMethod, "sun/lwawt/macosx/CInputMethod"); jarray array; jboolean isCopy; jint *_array; - NSRange range; + NSRange range = NSMakeRange(NSNotFound, 0); array = JNFCallObjectMethod(env, fInputMethodLOCKABLE, jm_markedRange); // AWT_THREADING Safe (AWTRunLoopMode) if (array) { _array = (*env)->GetIntArrayElements(env, array, &isCopy); - range = NSMakeRange(_array[0], _array[1]); - + if (_array != NULL) { + range.location = _array[0]; + range.length = _array[1]; #ifdef IM_DEBUG - fprintf(stderr, "markedRange returning (%lu, %lu)\n", (unsigned long)range.location, (unsigned long)range.length); + fprintf(stderr, "markedRange returning (%lu, %lu)\n", + (unsigned long)range.location, (unsigned long)range.length); #endif // IM_DEBUG - (*env)->ReleaseIntArrayElements(env, array, _array, 0); + (*env)->ReleaseIntArrayElements(env, array, _array, 0); + } (*env)->DeleteLocalRef(env, array); - } else { - range = NSMakeRange(NSNotFound, 0); } return range; @@ -1115,7 +1116,7 @@ JNF_CLASS_CACHE(jc_CInputMethod, "sun/lwawt/macosx/CInputMethod"); jarray array; jboolean isCopy; jint *_array; - NSRange range; + NSRange range = NSMakeRange(NSNotFound, 0); #ifdef IM_DEBUG fprintf(stderr, "AWTView InputMethod Selector Called : [selectedRange]\n"); @@ -1124,15 +1125,15 @@ JNF_CLASS_CACHE(jc_CInputMethod, "sun/lwawt/macosx/CInputMethod"); array = JNFCallObjectMethod(env, fInputMethodLOCKABLE, jm_selectedRange); // AWT_THREADING Safe (AWTRunLoopMode) if (array) { _array = (*env)->GetIntArrayElements(env, array, &isCopy); - range = NSMakeRange(_array[0], _array[1]); - (*env)->ReleaseIntArrayElements(env, array, _array, 0); + if (_array != NULL) { + range.location = _array[0]; + range.length = _array[1]; + (*env)->ReleaseIntArrayElements(env, array, _array, 0); + } (*env)->DeleteLocalRef(env, array); - } else { - range = NSMakeRange(NSNotFound, 0); } return range; - } /* This method returns the first frame of rects for theRange in screen coordindate system. @@ -1140,7 +1141,7 @@ JNF_CLASS_CACHE(jc_CInputMethod, "sun/lwawt/macosx/CInputMethod"); - (NSRect) firstRectForCharacterRange:(NSRange)theRange actualRange:(NSRangePointer)actualRange { if (!fInputMethodLOCKABLE) { - return NSMakeRect(0, 0, 0, 0); + return NSZeroRect; } static JNF_MEMBER_CACHE(jm_firstRectForCharacterRange, jc_CInputMethod, @@ -1152,18 +1153,27 @@ JNF_CLASS_CACHE(jc_CInputMethod, "sun/lwawt/macosx/CInputMethod"); NSRect rect; #ifdef IM_DEBUG - fprintf(stderr, "AWTView InputMethod Selector Called : [firstRectForCharacterRange:] location=%lu, length=%lu\n", (unsigned long)theRange.location, (unsigned long)theRange.length); + fprintf(stderr, + "AWTView InputMethod Selector Called : [firstRectForCharacterRange:] location=%lu, length=%lu\n", + (unsigned long)theRange.location, (unsigned long)theRange.length); #endif // IM_DEBUG - array = JNFCallObjectMethod(env, fInputMethodLOCKABLE, jm_firstRectForCharacterRange, theRange.location); // AWT_THREADING Safe (AWTRunLoopMode) + array = JNFCallObjectMethod(env, fInputMethodLOCKABLE, jm_firstRectForCharacterRange, + theRange.location); // AWT_THREADING Safe (AWTRunLoopMode) _array = (*env)->GetIntArrayElements(env, array, &isCopy); - rect = ConvertNSScreenRect(env, NSMakeRect(_array[0], _array[1], _array[2], _array[3])); - (*env)->ReleaseIntArrayElements(env, array, _array, 0); + if (_array) { + rect = ConvertNSScreenRect(env, NSMakeRect(_array[0], _array[1], _array[2], _array[3])); + (*env)->ReleaseIntArrayElements(env, array, _array, 0); + } else { + rect = NSZeroRect; + } (*env)->DeleteLocalRef(env, array); #ifdef IM_DEBUG - fprintf(stderr, "firstRectForCharacterRange returning x=%f, y=%f, width=%f, height=%f\n", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); + fprintf(stderr, + "firstRectForCharacterRange returning x=%f, y=%f, width=%f, height=%f\n", + rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); #endif // IM_DEBUG return rect; } @@ -1265,12 +1275,9 @@ JNF_COCOA_ENTER(env); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ CALayer *windowLayer = jlong_to_ptr(windowLayerPtr); - AWTView *view = [[AWTView alloc] initWithRect:rect - platformView:cPlatformView - windowLayer:windowLayer]; - CFRetain(view); - [view release]; // GC - newView = view; + newView = [[AWTView alloc] initWithRect:rect + platformView:cPlatformView + windowLayer:windowLayer]; }]; JNF_COCOA_EXIT(env); diff --git a/jdk/src/macosx/native/sun/awt/AWTWindow.m b/jdk/src/macosx/native/sun/awt/AWTWindow.m index f9a7919b4ef..df7b126e5e7 100644 --- a/jdk/src/macosx/native/sun/awt/AWTWindow.m +++ b/jdk/src/macosx/native/sun/awt/AWTWindow.m @@ -791,7 +791,7 @@ JNF_COCOA_ENTER(env); contentView:contentView]; // the window is released is CPlatformWindow.nativeDispose() - if (window) CFRetain(window.nsWindow); + if (window) [window.nsWindow retain]; }]; JNF_COCOA_EXIT(env); diff --git a/jdk/src/macosx/native/sun/awt/ApplicationDelegate.m b/jdk/src/macosx/native/sun/awt/ApplicationDelegate.m index 81955757e4d..da48e7351dc 100644 --- a/jdk/src/macosx/native/sun/awt/ApplicationDelegate.m +++ b/jdk/src/macosx/native/sun/awt/ApplicationDelegate.m @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -255,8 +255,6 @@ AWT_ASSERT_APPKIT_THREAD; [super dealloc]; } -//- (void)finalize { [super finalize]; } // GC - #pragma mark Callbacks from AppKit @@ -623,8 +621,7 @@ JNIEXPORT jlong JNICALL Java_com_apple_eawt__1AppDockIconHandler_nativeGetDockIc JNF_COCOA_ENTER(env); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ - image = [ApplicationDelegate _dockIconImage]; - CFRetain(image); + image = [[ApplicationDelegate _dockIconImage] retain]; }]; JNF_COCOA_EXIT(env); diff --git a/jdk/src/macosx/native/sun/awt/CClipboard.m b/jdk/src/macosx/native/sun/awt/CClipboard.m index d2a7cf524ba..72e1cf4f0f8 100644 --- a/jdk/src/macosx/native/sun/awt/CClipboard.m +++ b/jdk/src/macosx/native/sun/awt/CClipboard.m @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,14 +23,13 @@ * questions. */ -#include "CClipboard.h" -#include "CDataTransferer.h" +#import "CClipboard.h" +#import "CDataTransferer.h" +#import "ThreadUtilities.h" +#import "jni_util.h" #import <Cocoa/Cocoa.h> #import <JavaNativeFoundation/JavaNativeFoundation.h> -#include "ThreadUtilities.h" - - static CClipboard *sClipboard = nil; // @@ -73,7 +72,6 @@ static CClipboard *sClipboard = nil; [super dealloc]; } -//- (void)finalize { [super finalize]; } - (NSData *)data { return fData; @@ -246,6 +244,7 @@ JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CClipboard_setData JNF_COCOA_ENTER(env); jint nBytes = (*env)->GetArrayLength(env, inBytes); jbyte *rawBytes = (*env)->GetPrimitiveArrayCritical(env, inBytes, NULL); + CHECK_NULL(rawBytes); NSData *bytesAsData = [NSData dataWithBytes:rawBytes length:nBytes]; (*env)->ReleasePrimitiveArrayCritical(env, inBytes, rawBytes, JNI_ABORT); NSString *format = formatForIndex(inFormat); diff --git a/jdk/src/macosx/native/sun/awt/CDataTransferer.m b/jdk/src/macosx/native/sun/awt/CDataTransferer.m index d648e924132..5fcb04bdb70 100644 --- a/jdk/src/macosx/native/sun/awt/CDataTransferer.m +++ b/jdk/src/macosx/native/sun/awt/CDataTransferer.m @@ -54,6 +54,10 @@ NSMutableDictionary *getMappingTable() { forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_PDF]]; [sStandardMappings setObject:NSURLPboardType forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_URL]]; + [sStandardMappings setObject:NSPasteboardTypePNG + forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_PNG]]; + [sStandardMappings setObject:(NSString*)kUTTypeJPEG + forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_JPEG]]; } return sStandardMappings; } @@ -126,108 +130,6 @@ JNF_COCOA_EXIT(env); return returnValue; } -/* - * Class: sun_lwawt_macosx_CDataTransferer - * Method: imageDataToPlatformImageBytes - * Signature: ([III)[B - */ -JNIEXPORT jbyteArray JNICALL Java_sun_lwawt_macosx_CDataTransferer_imageDataToPlatformImageBytes -(JNIEnv *env, jobject obj, jintArray inPixelData, jint inWidth, jint inHeight) -{ - jbyteArray returnValue = nil; -JNF_COCOA_ENTER(env); - UInt32 *rawImageData = (UInt32 *)(*env)->GetPrimitiveArrayCritical(env, inPixelData, 0); - - // The pixel data is in premultiplied ARGB format. That's exactly what - // we need for the bitmap image rep. - if (rawImageData != NULL) { - NSBitmapImageRep *imageRep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL - pixelsWide:inWidth - pixelsHigh:inHeight - bitsPerSample:8 - samplesPerPixel:4 - hasAlpha:YES - isPlanar:NO - colorSpaceName:NSCalibratedRGBColorSpace - bytesPerRow:(inWidth*4) - bitsPerPixel:32]; - - // Conver the ARGB data into RGBA data that the bitmap can draw. - unsigned char *destData = [imageRep bitmapData]; - unsigned char *currentRowBase; - jint x, y; - - for (y = 0; y < inHeight; y++) { - currentRowBase = destData + y * (inWidth * 4); - unsigned char *currElement = currentRowBase; - for (x = 0; x < inWidth; x++) { - UInt32 currPixel = rawImageData[y * inWidth + x]; - *currElement++ = ((currPixel & 0xFF0000) >> 16); - *currElement++ = ((currPixel & 0xFF00) >> 8); - *currElement++ = (currPixel & 0xFF); - *currElement++ = ((currPixel & 0xFF000000) >> 24); - } - } - - (*env)->ReleasePrimitiveArrayCritical(env, inPixelData, rawImageData, JNI_ABORT); - NSData *tiffImage = [imageRep TIFFRepresentation]; - jsize tiffSize = (jsize)[tiffImage length]; // #warning 64-bit: -length returns NSUInteger, but NewByteArray takes jsize - returnValue = (*env)->NewByteArray(env, tiffSize); - CHECK_NULL_RETURN(returnValue, nil); - jbyte *tiffData = (jbyte *)(*env)->GetPrimitiveArrayCritical(env, returnValue, 0); - CHECK_NULL_RETURN(tiffData, nil); - [tiffImage getBytes:tiffData]; - (*env)->ReleasePrimitiveArrayCritical(env, returnValue, tiffData, 0); // Do not use JNI_COMMIT, as that will not free the buffer copy when +ProtectJavaHeap is on. - [imageRep release]; - } -JNF_COCOA_EXIT(env); - return returnValue; - -} - -static jobject getImageForByteStream(JNIEnv *env, jbyteArray sourceData) -{ - CHECK_NULL_RETURN(sourceData, NULL); - - jsize sourceSize = (*env)->GetArrayLength(env, sourceData); - if (sourceSize == 0) return NULL; - - jbyte *sourceBytes = (*env)->GetPrimitiveArrayCritical(env, sourceData, NULL); - CHECK_NULL_RETURN(sourceBytes, NULL); - NSData *rawData = [NSData dataWithBytes:sourceBytes length:sourceSize]; - - NSImage *newImage = [[NSImage alloc] initWithData:rawData]; - if (newImage) CFRetain(newImage); // GC - [newImage release]; - - (*env)->ReleasePrimitiveArrayCritical(env, sourceData, sourceBytes, JNI_ABORT); - CHECK_NULL_RETURN(newImage, NULL); - - // The ownership of the NSImage is passed to the new CImage jobject. No need to release it. - static JNF_CLASS_CACHE(jc_CImage, "sun/lwawt/macosx/CImage"); - static JNF_STATIC_MEMBER_CACHE(jm_CImage_getCreator, jc_CImage, "getCreator", "()Lsun/lwawt/macosx/CImage$Creator;"); - jobject creator = JNFCallStaticObjectMethod(env, jm_CImage_getCreator); - - static JNF_CLASS_CACHE(jc_CImage_Generator, "sun/lwawt/macosx/CImage$Creator"); - static JNF_MEMBER_CACHE(jm_CImage_Generator_createImageUsingNativeSize, jc_CImage_Generator, "createImageUsingNativeSize", "(J)Ljava/awt/image/BufferedImage;"); - return JNFCallObjectMethod(env, creator, jm_CImage_Generator_createImageUsingNativeSize, ptr_to_jlong(newImage)); // AWT_THREADING Safe (known object) -} - -/* - * Class: sun_lwawt_macosx_CDataTransferer - * Method: getImageForByteStream - * Signature: ([B)Ljava/awt/Image; - */ -JNIEXPORT jobject JNICALL Java_sun_lwawt_macosx_CDataTransferer_getImageForByteStream - (JNIEnv *env, jobject obj, jbyteArray sourceData) -{ - jobject img = NULL; -JNF_COCOA_ENTER(env); - img = getImageForByteStream(env, sourceData); -JNF_COCOA_EXIT(env); - return img; -} - static jobjectArray CreateJavaFilenameArray(JNIEnv *env, NSArray *filenameArray) { NSUInteger filenameCount = [filenameArray count]; diff --git a/jdk/src/macosx/native/sun/awt/CDesktopPeer.m b/jdk/src/macosx/native/sun/awt/CDesktopPeer.m index ef9bdb6801b..9054da8ad65 100644 --- a/jdk/src/macosx/native/sun/awt/CDesktopPeer.m +++ b/jdk/src/macosx/native/sun/awt/CDesktopPeer.m @@ -79,7 +79,7 @@ JNF_COCOA_ENTER(env); LSApplicationParameters params = {0, flags, NULL, NULL, NULL, NULL, NULL}; status = LSOpenURLsWithRole((CFArrayRef)[NSArray arrayWithObject:url], kLSRolesAll, NULL, ¶ms, NULL, 0); - CFRelease(url); + [url release]; JNF_COCOA_EXIT(env); return status; diff --git a/jdk/src/macosx/native/sun/awt/CDragSource.m b/jdk/src/macosx/native/sun/awt/CDragSource.m index 992092a7a5d..5d4f4e65724 100644 --- a/jdk/src/macosx/native/sun/awt/CDragSource.m +++ b/jdk/src/macosx/native/sun/awt/CDragSource.m @@ -188,7 +188,7 @@ static BOOL sNeedsEnter; fFormatMap = NULL; } - CFRelease(self); // GC + [self release]; } - (void)dealloc @@ -204,8 +204,6 @@ static BOOL sNeedsEnter; [super dealloc]; } -//- (void)finalize { [super finalize]; } - // Appropriated from Windows' awt_DataTransferer.cpp: // @@ -313,8 +311,7 @@ static BOOL sNeedsEnter; // This is a good approximation if not perfect. A conclusive search would // have to be done matching all defined strings in AppKit's commonStrings.h. - if ([type hasPrefix:@"NS"] || [type hasPrefix:@"NeXT"]) - hasNSTypeData = true; + hasNSTypeData = [type hasPrefix:@"NS"] || [type hasPrefix:@"NeXT"] || [type hasPrefix:@"public."]; } } } diff --git a/jdk/src/macosx/native/sun/awt/CDragSourceContextPeer.m b/jdk/src/macosx/native/sun/awt/CDragSourceContextPeer.m index 2b9f6e035dc..de0a49b236e 100644 --- a/jdk/src/macosx/native/sun/awt/CDragSourceContextPeer.m +++ b/jdk/src/macosx/native/sun/awt/CDragSourceContextPeer.m @@ -76,10 +76,6 @@ JNF_COCOA_ENTER(env); }]; JNF_COCOA_EXIT(env); - if (dragSource) { - CFRetain(dragSource); // GC - [dragSource release]; - } return ptr_to_jlong(dragSource); } diff --git a/jdk/src/macosx/native/sun/awt/CDropTarget.m b/jdk/src/macosx/native/sun/awt/CDropTarget.m index bff775fd10d..41b0a192c61 100644 --- a/jdk/src/macosx/native/sun/awt/CDropTarget.m +++ b/jdk/src/macosx/native/sun/awt/CDropTarget.m @@ -106,6 +106,7 @@ extern JNFClassInfo jc_CDropTargetContextPeer; NSFilenamesPboardType, NSPostScriptPboardType, NSTIFFPboardType, + NSPasteboardTypePNG, NSRTFPboardType, NSTabularTextPboardType, NSFontPboardType, @@ -119,6 +120,7 @@ extern JNFClassInfo jc_CDropTargetContextPeer; NSVCardPboardType, NSFilesPromisePboardType, [DnDUtilities javaPboardType], + (NSString*)kUTTypeJPEG, nil]; // Enable dragging events over this object: @@ -169,7 +171,7 @@ extern JNFClassInfo jc_CDropTargetContextPeer; fDropTargetContextPeer = NULL; } - CFRelease(self); + [self release]; } - (void)dealloc @@ -185,7 +187,6 @@ extern JNFClassInfo jc_CDropTargetContextPeer; [super dealloc]; } -//- (void)finalize { [super finalize]; } - (NSInteger) getDraggingSequenceNumber { @@ -722,10 +723,6 @@ JNF_COCOA_ENTER(env); dropTarget = [[CDropTarget alloc] init:jdroptarget component:jcomponent peer:jpeer control:controlObj]; JNF_COCOA_EXIT(env); - if (dropTarget) { - CFRetain(dropTarget); // GC - [dropTarget release]; - } return ptr_to_jlong(dropTarget); } diff --git a/jdk/src/macosx/native/sun/awt/CFileDialog.m b/jdk/src/macosx/native/sun/awt/CFileDialog.m index 74ea1fb6883..0a9621e9313 100644 --- a/jdk/src/macosx/native/sun/awt/CFileDialog.m +++ b/jdk/src/macosx/native/sun/awt/CFileDialog.m @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -88,7 +88,6 @@ canChooseDirectories:(BOOL)inChooseDirectories [super dealloc]; } -//- (void)finalize { [super finalize]; } - (void)safeSaveOrLoad { NSSavePanel *thePanel = nil; @@ -168,9 +167,9 @@ canChooseDirectories:(BOOL)inChooseDirectories } // ask the file filter up in Java - CFStringRef filePath = CFURLCopyFileSystemPath((CFURLRef)url, kCFURLPOSIXPathStyle); - BOOL shouldEnableFile = [self askFilenameFilter:(NSString *)filePath]; - CFRelease(filePath); + NSString* filePath = (NSString*)CFURLCopyFileSystemPath((CFURLRef)url, kCFURLPOSIXPathStyle); + BOOL shouldEnableFile = [self askFilenameFilter:filePath]; + [filePath release]; return shouldEnableFile; } @@ -223,9 +222,8 @@ JNF_COCOA_ENTER(env); NSArray *urls = [dialogDelegate URLs]; jsize count = [urls count]; - jclass stringClass = (*env)->FindClass(env, "java/lang/String"); - returnValue = (*env)->NewObjectArray(env, count, stringClass, NULL); - (*env)->DeleteLocalRef(env, stringClass); + static JNF_CLASS_CACHE(jc_String, "java/lang/String"); + returnValue = JNFNewObjectArray(env, &jc_String, count); [urls enumerateObjectsUsingBlock:^(id url, NSUInteger index, BOOL *stop) { jstring filename = JNFNormalizedJavaStringForPath(env, [url path]); diff --git a/jdk/src/macosx/native/sun/awt/CGraphicsEnv.m b/jdk/src/macosx/native/sun/awt/CGraphicsEnv.m index dd36775ce31..6488b700b29 100644 --- a/jdk/src/macosx/native/sun/awt/CGraphicsEnv.m +++ b/jdk/src/macosx/native/sun/awt/CGraphicsEnv.m @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,6 +25,7 @@ #import <JavaNativeFoundation/JavaNativeFoundation.h> +#import "jni_util.h" #import "LWCToolkit.h" #import "AWT_debug.h" @@ -64,7 +65,7 @@ JNF_COCOA_ENTER(env); /* Get the count */ CGDisplayCount displayCount; - if (CGGetActiveDisplayList(MAX_DISPLAYS, NULL, &displayCount) != kCGErrorSuccess) { + if (CGGetOnlineDisplayList(MAX_DISPLAYS, NULL, &displayCount) != kCGErrorSuccess) { [JNFException raise:env as:kInternalError reason:"CGGetOnlineDisplayList() failed to get display count"]; @@ -73,23 +74,36 @@ JNF_COCOA_ENTER(env); /* Allocate an array and get the size list of display Ids */ CGDirectDisplayID displays[MAX_DISPLAYS]; - if (CGGetActiveDisplayList(displayCount, displays, &displayCount) != kCGErrorSuccess) { + if (CGGetOnlineDisplayList(displayCount, displays, &displayCount) != kCGErrorSuccess) { [JNFException raise:env as:kInternalError reason:"CGGetOnlineDisplayList() failed to get display list"]; return NULL; } + CGDisplayCount i; + CGDisplayCount displayActiveCount = 0; //Active and sleeping. + for (i = 0; i < displayCount; ++i) { + if (CGDisplayMirrorsDisplay(displays[i]) == kCGNullDirectDisplay) { + ++displayActiveCount; + } else { + displays[i] = kCGNullDirectDisplay; + } + } + /* Allocate a java array for display identifiers */ - ret = JNFNewIntArray(env, displayCount); + ret = JNFNewIntArray(env, displayActiveCount); /* Initialize and return the backing int array */ assert(sizeof(jint) >= sizeof(CGDirectDisplayID)); jint *elems = (*env)->GetIntArrayElements(env, ret, 0); + CHECK_NULL_RETURN(elems, NULL); - CGDisplayCount i; - for (i = 0; i < displayCount; i++) { - elems[i] = displays[i]; + /* Filter out the mirrored displays */ + for (i = 0; i < displayCount; ++i) { + if (displays[i] != kCGNullDirectDisplay) { + elems[--displayActiveCount] = displays[i]; + } } (*env)->ReleaseIntArrayElements(env, ret, elems, 0); @@ -145,8 +159,7 @@ Java_sun_awt_CGraphicsEnvironment_registerDisplayReconfiguration JNF_COCOA_ENTER(env); - JNFWeakJObjectWrapper *wrapper = [JNFWeakJObjectWrapper wrapperWithJObject:this withEnv:env]; - CFRetain(wrapper); // pin from ObjC-GC + JNFWeakJObjectWrapper *wrapper = [[JNFWeakJObjectWrapper wrapperWithJObject:this withEnv:env] retain]; /* Register the callback */ if (CGDisplayRegisterReconfigurationCallback(&displaycb_handle, wrapper) != kCGErrorSuccess) { @@ -186,8 +199,7 @@ JNF_COCOA_ENTER(env); } [wrapper setJObject:NULL withEnv:env]; // more efficiant to pre-clear - - CFRelease(wrapper); + [wrapper release]; JNF_COCOA_EXIT(env); } diff --git a/jdk/src/macosx/native/sun/awt/CImage.m b/jdk/src/macosx/native/sun/awt/CImage.m index db0956b3e8e..034c41c9e36 100644 --- a/jdk/src/macosx/native/sun/awt/CImage.m +++ b/jdk/src/macosx/native/sun/awt/CImage.m @@ -22,6 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ +#import "jni_util.h" #import <Cocoa/Cocoa.h> #import <JavaNativeFoundation/JavaNativeFoundation.h> @@ -52,18 +53,21 @@ static void CImage_CopyArrayIntoNSImageRep } static void CImage_CopyNSImageIntoArray -(NSImage *srcImage, jint *dstPixels, int width, int height) +(NSImage *srcImage, jint *dstPixels, NSRect fromRect, NSRect toRect) { + int width = toRect.size.width; + int height = toRect.size.height; CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); - CGContextRef cgRef = CGBitmapContextCreate(dstPixels, width, height, 8, width * 4, colorspace, kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host); + CGContextRef cgRef = CGBitmapContextCreate(dstPixels, width, height, + 8, width * 4, colorspace, + kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host); CGColorSpaceRelease(colorspace); NSGraphicsContext *context = [NSGraphicsContext graphicsContextWithGraphicsPort:cgRef flipped:NO]; CGContextRelease(cgRef); NSGraphicsContext *oldContext = [[NSGraphicsContext currentContext] retain]; [NSGraphicsContext setCurrentContext:context]; - NSRect rect = NSMakeRect(0, 0, width, height); - [srcImage drawInRect:rect - fromRect:rect + [srcImage drawInRect:toRect + fromRect:fromRect operation:NSCompositeSourceOver fraction:1.0]; [NSGraphicsContext setCurrentContext:oldContext]; @@ -108,17 +112,12 @@ JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CImage_nativeCreateNSImageFromArra jlong result = 0L; JNF_COCOA_ENTER(env); - + NSBitmapImageRep* imageRep = CImage_CreateImageRep(env, buffer, width, height); if (imageRep) { - NSImage *nsImage = [[NSImage alloc] initWithSize:NSMakeSize(width, height)]; + NSImage *nsImage = [[[NSImage alloc] initWithSize:NSMakeSize(width, height)] retain]; [nsImage addRepresentation:imageRep]; [imageRep release]; - - if (nsImage != nil) { - CFRetain(nsImage); // GC - } - result = ptr_to_jlong(nsImage); } @@ -161,13 +160,8 @@ JNF_COCOA_ENTER(env); (*env)->ReleaseIntArrayElements(env, widths, ws, JNI_ABORT); } if ([reps count]) { - NSImage *nsImage = [[NSImage alloc] initWithSize:NSMakeSize(0, 0)]; + NSImage *nsImage = [[[NSImage alloc] initWithSize:NSMakeSize(0, 0)] retain]; [nsImage addRepresentations: reps]; - - if (nsImage != nil) { - CFRetain(nsImage); // GC - } - result = ptr_to_jlong(nsImage); } @@ -190,8 +184,7 @@ JNF_COCOA_ENTER(env); IconRef iconRef; if (noErr == GetIconRef(kOnSystemDisk, kSystemIconsCreator, selector, &iconRef)) { - image = [[NSImage alloc] initWithIconRef:iconRef]; - if (image) CFRetain(image); // GC + image = [[[NSImage alloc] initWithIconRef:iconRef] retain]; ReleaseIconRef(iconRef); } @@ -213,8 +206,7 @@ JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CImage_nativeCreateNSImageFromFile JNF_COCOA_ENTER(env); NSString *path = JNFNormalizedNSStringForPath(env, file); - image = [[NSImage alloc] initByReferencingFile:path]; - if (image) CFRetain(image); // GC + image = [[[NSImage alloc] initByReferencingFile:path] retain]; JNF_COCOA_EXIT(env); @@ -235,9 +227,8 @@ JNF_COCOA_ENTER(env); NSString *path = JNFNormalizedNSStringForPath(env, file); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ - image = [[NSWorkspace sharedWorkspace] iconForFile:path]; + image = [[[NSWorkspace sharedWorkspace] iconForFile:path] retain]; [image setScalesWhenResized:TRUE]; - if (image) CFRetain(image); // GC }]; JNF_COCOA_EXIT(env); @@ -257,8 +248,7 @@ JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CImage_nativeCreateNSImageFromImag JNF_COCOA_ENTER(env); - image = [NSImage imageNamed:JNFJavaToNSString(env, name)]; - if (image) CFRetain(image); // GC + image = [[NSImage imageNamed:JNFJavaToNSString(env, name)] retain]; JNF_COCOA_EXIT(env); @@ -268,17 +258,20 @@ JNF_COCOA_EXIT(env); /* * Class: sun_lwawt_macosx_CImage * Method: nativeCopyNSImageIntoArray - * Signature: (J[III)V + * Signature: (J[IIIII)V */ JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CImage_nativeCopyNSImageIntoArray -(JNIEnv *env, jclass klass, jlong nsImgPtr, jintArray buffer, jint w, jint h) +(JNIEnv *env, jclass klass, jlong nsImgPtr, jintArray buffer, jint sw, jint sh, + jint dw, jint dh) { JNF_COCOA_ENTER(env); NSImage *img = (NSImage *)jlong_to_ptr(nsImgPtr); jint *dst = (*env)->GetPrimitiveArrayCritical(env, buffer, NULL); if (dst) { - CImage_CopyNSImageIntoArray(img, dst, w, h); + NSRect fromRect = NSMakeRect(0, 0, sw, sh); + NSRect toRect = NSMakeRect(0, 0, dw, dh); + CImage_CopyNSImageIntoArray(img, dst, fromRect, toRect); (*env)->ReleasePrimitiveArrayCritical(env, buffer, dst, JNI_ABORT); } @@ -345,3 +338,146 @@ JNF_COCOA_ENTER(env); JNF_COCOA_EXIT(env); } + +NSComparisonResult getOrder(BOOL order){ + return (NSComparisonResult) (order ? NSOrderedAscending : NSOrderedDescending); +} + +/* + * Class: sun_lwawt_macosx_CImage + * Method: nativeGetNSImageRepresentationsCount + * Signature: (JDD)[Ljava/awt/geom/Dimension2D; + */ +JNIEXPORT jobjectArray JNICALL + Java_sun_lwawt_macosx_CImage_nativeGetNSImageRepresentationSizes +(JNIEnv *env, jclass clazz, jlong image, jdouble w, jdouble h) +{ + if (!image) return NULL; + jobjectArray jreturnArray = NULL; + NSImage *img = (NSImage *)jlong_to_ptr(image); + +JNF_COCOA_ENTER(env); + + NSArray *imageRepresentations = [img representations]; + if([imageRepresentations count] == 0){ + return NULL; + } + + NSArray *sortedImageRepresentations = [imageRepresentations + sortedArrayUsingComparator: ^(id obj1, id obj2) { + + NSImageRep *imageRep1 = (NSImageRep *) obj1; + NSImageRep *imageRep2 = (NSImageRep *) obj2; + NSSize size1 = [imageRep1 size]; + NSSize size2 = [imageRep2 size]; + + if (NSEqualSizes(size1, size2)) { + return getOrder([imageRep1 pixelsWide] <= [imageRep2 pixelsWide] && + [imageRep1 pixelsHigh] <= [imageRep2 pixelsHigh]); + } + + return getOrder(size1.width <= size2.width && size1.height <= size2.height); + }]; + + NSMutableArray *sortedPixelSizes = [[NSMutableArray alloc] init]; + NSSize lastSize = [[sortedImageRepresentations lastObject] size]; + + NSUInteger i = [sortedImageRepresentations indexOfObjectPassingTest: + ^BOOL(id obj, NSUInteger idx, BOOL *stop) { + NSSize imageRepSize = [obj size]; + return (w <= imageRepSize.width && h <= imageRepSize.height) + || NSEqualSizes(imageRepSize, lastSize); + }]; + + NSUInteger count = [sortedImageRepresentations count]; + i = (i == NSNotFound) ? count - 1 : i; + NSSize bestFitSize = [[sortedImageRepresentations objectAtIndex: i] size]; + + for(; i < count; i++){ + NSImageRep *imageRep = [sortedImageRepresentations objectAtIndex: i]; + + if (!NSEqualSizes([imageRep size], bestFitSize)) { + break; + } + + NSSize pixelSize = NSMakeSize( + [imageRep pixelsWide], [imageRep pixelsHigh]); + [sortedPixelSizes addObject: [NSValue valueWithSize: pixelSize]]; + } + + count = [sortedPixelSizes count]; + static JNF_CLASS_CACHE(jc_Dimension, "java/awt/Dimension"); + jreturnArray = JNFNewObjectArray(env, &jc_Dimension, count); + CHECK_NULL_RETURN(jreturnArray, NULL); + + for(i = 0; i < count; i++){ + NSSize pixelSize = [[sortedPixelSizes objectAtIndex: i] sizeValue]; + + (*env)->SetObjectArrayElement(env, jreturnArray, i, + NSToJavaSize(env, pixelSize)); + JNU_CHECK_EXCEPTION_RETURN(env, NULL); + } + +JNF_COCOA_EXIT(env); + + return jreturnArray; +} + +/* + * Class: sun_lwawt_macosx_CImage + * Method: nativeGetPlatformImageBytes + * Signature: ([III)[B + */ +JNIEXPORT jbyteArray JNICALL Java_sun_lwawt_macosx_CImage_nativeGetPlatformImageBytes +(JNIEnv *env, jclass klass, jintArray buffer, jint width, jint height) +{ + jbyteArray result = 0L; + + JNF_COCOA_ENTER(env); + + NSBitmapImageRep* imageRep = [CImage_CreateImageRep(env, buffer, width, height) autorelease]; + if (imageRep) { + NSData *tiffImage = [imageRep TIFFRepresentation]; + jsize tiffSize = (jsize)[tiffImage length]; + result = (*env)->NewByteArray(env, tiffSize); + CHECK_NULL_RETURN(result, nil); + jbyte *tiffData = (jbyte *)(*env)->GetPrimitiveArrayCritical(env, result, 0); + CHECK_NULL_RETURN(tiffData, nil); + [tiffImage getBytes:tiffData]; + (*env)->ReleasePrimitiveArrayCritical(env, result, tiffData, 0); + } + + JNF_COCOA_EXIT(env); + + return result; +} + +/* + * Class: sun_lwawt_macosx_CImage + * Method: nativeCreateNSImageFromBytes + * Signature: ([B)J + */ +JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CImage_nativeCreateNSImageFromBytes +(JNIEnv *env, jclass klass, jbyteArray sourceData) +{ + jlong result = 0L; + CHECK_NULL_RETURN(sourceData, 0L); + + JNF_COCOA_ENTER(env); + + jsize sourceSize = (*env)->GetArrayLength(env, sourceData); + if (sourceSize == 0) return 0L; + + jbyte *sourceBytes = (*env)->GetPrimitiveArrayCritical(env, sourceData, NULL); + CHECK_NULL_RETURN(sourceBytes, 0L); + NSData *rawData = [NSData dataWithBytes:sourceBytes length:sourceSize]; + NSImage *newImage = [[NSImage alloc] initWithData:rawData]; + + (*env)->ReleasePrimitiveArrayCritical(env, sourceData, sourceBytes, JNI_ABORT); + CHECK_NULL_RETURN(newImage, 0L); + + result = ptr_to_jlong(newImage); + JNF_COCOA_EXIT(env); + + return result; +} diff --git a/jdk/src/macosx/native/sun/awt/CInputMethod.m b/jdk/src/macosx/native/sun/awt/CInputMethod.m index 512c814baff..f4c3e7f1854 100644 --- a/jdk/src/macosx/native/sun/awt/CInputMethod.m +++ b/jdk/src/macosx/native/sun/awt/CInputMethod.m @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,17 +70,23 @@ static jobject CreateLocaleObjectFromNSString(JNIEnv *env, NSString *name) } // Create the java.util.Locale object + jobject localeObj = NULL; jobject langObj = (*env)->NewStringUTF(env, language); - jobject ctryObj = (*env)->NewStringUTF(env, country); - jobject vrntObj = (*env)->NewStringUTF(env, variant); - jobject localeObj = JNFNewObject(env, jm_localeCons, langObj, ctryObj, vrntObj); // AWT_THREADING Safe (known object) - + if (langObj != NULL) { + jobject ctryObj = (*env)->NewStringUTF(env, country); + if(ctryObj != NULL) { + jobject vrntObj = (*env)->NewStringUTF(env, variant); + if (vrntObj != NULL) { + localeObj = JNFNewObject(env, jm_localeCons,langObj, ctryObj, + vrntObj); + (*env)->DeleteLocalRef(env, vrntObj); + } + (*env)->DeleteLocalRef(env, ctryObj); + } + (*env)->DeleteLocalRef(env, langObj); + } // Clean up and return. free(language); - (*env)->DeleteLocalRef(env, langObj); - (*env)->DeleteLocalRef(env, ctryObj); - (*env)->DeleteLocalRef(env, vrntObj); - return localeObj; } @@ -234,10 +240,12 @@ JNF_COCOA_ENTER(env); if (sLastKeyboardLocaleObj) { JNFDeleteGlobalRef(env, sLastKeyboardLocaleObj); + sLastKeyboardLocaleObj = NULL; + } + if (localObj != NULL) { + sLastKeyboardLocaleObj = JNFNewGlobalRef(env, localObj); + (*env)->DeleteLocalRef(env, localObj); } - - sLastKeyboardLocaleObj = JNFNewGlobalRef(env, localObj); - (*env)->DeleteLocalRef(env, localObj); } returnValue = sLastKeyboardLocaleObj; @@ -305,9 +313,12 @@ JNF_COCOA_ENTER(env); for(NSString *locale in selectableArray) { jobject localeObj = CreateLocaleObjectFromNSString(env, locale); + if (localeObj == NULL) { + break; + } - if (JNFCallBooleanMethod(env, returnValue, jm_listContains, localeObj) == JNI_FALSE) { // AWT_THREADING Safe (known object) - JNFCallBooleanMethod(env, returnValue, jm_listAdd, localeObj); // AWT_THREADING Safe (known object) + if (JNFCallBooleanMethod(env, returnValue, jm_listContains, localeObj) == JNI_FALSE) { + JNFCallBooleanMethod(env, returnValue, jm_listAdd, localeObj); } (*env)->DeleteLocalRef(env, localeObj); diff --git a/jdk/src/macosx/native/sun/awt/CMenu.m b/jdk/src/macosx/native/sun/awt/CMenu.m index e2db11c10fa..43b08f09d2c 100644 --- a/jdk/src/macosx/native/sun/awt/CMenu.m +++ b/jdk/src/macosx/native/sun/awt/CMenu.m @@ -52,7 +52,6 @@ AWT_ASSERT_APPKIT_THREAD; fMenu = nil; [super dealloc]; } -//- (void)finalize { [super finalize]; } - (void)addJavaSubmenu:(CMenu *)submenu { [ThreadUtilities performOnMainThread:@selector(addNativeItem_OnAppKitThread:) on:self withObject:submenu waitUntilDone:YES]; @@ -169,10 +168,6 @@ JNF_COCOA_ENTER(env); // Add it to the parent menu [((CMenu *)jlong_to_ptr(parentMenu)) addJavaSubmenu: aCMenu]; - if (aCMenu) { - CFRetain(aCMenu); // GC - [aCMenu release]; - } JNF_COCOA_EXIT(env); @@ -209,10 +204,6 @@ JNF_COCOA_ENTER(env); [parent javaSetHelpMenu: aCMenu]; } - if (aCMenu) { - CFRetain(aCMenu); // GC - [aCMenu release]; - } JNF_COCOA_EXIT(env); return ptr_to_jlong(aCMenu); } @@ -275,13 +266,9 @@ Java_sun_lwawt_macosx_CMenu_nativeGetNSMenu NSMenu* nsMenu = NULL; JNF_COCOA_ENTER(env); - nsMenu = [((CMenu *)jlong_to_ptr(menuObject)) menu]; -JNF_COCOA_EXIT(env); - // Strong retain this menu; it'll get released in Java_apple_laf_ScreenMenu_addMenuListeners - if (nsMenu) { - CFRetain(nsMenu); // GC - } + nsMenu = [[((CMenu *)jlong_to_ptr(menuObject)) menu] retain]; +JNF_COCOA_EXIT(env); return ptr_to_jlong(nsMenu); } diff --git a/jdk/src/macosx/native/sun/awt/CMenuBar.m b/jdk/src/macosx/native/sun/awt/CMenuBar.m index 3bf4f779fb5..34ba099331b 100644 --- a/jdk/src/macosx/native/sun/awt/CMenuBar.m +++ b/jdk/src/macosx/native/sun/awt/CMenuBar.m @@ -405,10 +405,6 @@ Java_sun_lwawt_macosx_CMenuBar_nativeCreateMenuBar JNF_COCOA_EXIT(env); - if (aCMenuBar) { - CFRetain(aCMenuBar); // GC - [aCMenuBar release]; - } return ptr_to_jlong(aCMenuBar); } diff --git a/jdk/src/macosx/native/sun/awt/CMenuComponent.m b/jdk/src/macosx/native/sun/awt/CMenuComponent.m index c8b3766ad23..c3bff14241c 100644 --- a/jdk/src/macosx/native/sun/awt/CMenuComponent.m +++ b/jdk/src/macosx/native/sun/awt/CMenuComponent.m @@ -51,8 +51,7 @@ fPeer = NULL; [self cleanup]; - - CFRelease(self); // GC + [self release]; } // The method is used by all subclasses, since the process of the creation @@ -64,9 +63,6 @@ [argValue addObject: aCMenuItem]; } -//-(void) dealloc { [super dealloc]; } -//- (void)finalize { [super finalize]; } - @end /* diff --git a/jdk/src/macosx/native/sun/awt/CMenuItem.m b/jdk/src/macosx/native/sun/awt/CMenuItem.m index 219cc5bb971..8e483468074 100644 --- a/jdk/src/macosx/native/sun/awt/CMenuItem.m +++ b/jdk/src/macosx/native/sun/awt/CMenuItem.m @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -259,7 +259,7 @@ static unichar AWTKeyToMacShortcut(jint awtKey, BOOL doShift) { case java_awt_event_KeyEvent_VK_QUOTE : macKey = '\''; break; case java_awt_event_KeyEvent_VK_ESCAPE : macKey = 0x1B; break; -// case java_awt_event_KeyEvent_VK_SPACE : macKey = kMenuSpaceGlyph; break; + case java_awt_event_KeyEvent_VK_SPACE : macKey = ' '; break; case java_awt_event_KeyEvent_VK_PAGE_UP : macKey = NSPageUpFunctionKey; break; case java_awt_event_KeyEvent_VK_PAGE_DOWN : macKey = NSPageDownFunctionKey; break; case java_awt_event_KeyEvent_VK_END : macKey = NSEndFunctionKey; break; @@ -420,11 +420,6 @@ JNF_COCOA_ENTER(env); // setLabel will be called after creation completes. - if (aCMenuItem) { - CFRetain(aCMenuItem); // GC - [aCMenuItem release]; - } - JNF_COCOA_EXIT(env); return ptr_to_jlong(aCMenuItem); } diff --git a/jdk/src/macosx/native/sun/awt/CPopupMenu.m b/jdk/src/macosx/native/sun/awt/CPopupMenu.m index 287e97a2acf..11869a52403 100644 --- a/jdk/src/macosx/native/sun/awt/CPopupMenu.m +++ b/jdk/src/macosx/native/sun/awt/CPopupMenu.m @@ -66,8 +66,6 @@ JNF_COCOA_ENTER(env); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ aCPopupMenu = [[CPopupMenu alloc] initWithPeer:cPeerObjGlobal]; - CFRetain(aCPopupMenu); - [aCPopupMenu release]; }]; JNF_COCOA_EXIT(env); diff --git a/jdk/src/macosx/native/sun/awt/CPrinterJob.m b/jdk/src/macosx/native/sun/awt/CPrinterJob.m index 219f65b49d9..4a85a916976 100644 --- a/jdk/src/macosx/native/sun/awt/CPrinterJob.m +++ b/jdk/src/macosx/native/sun/awt/CPrinterJob.m @@ -469,8 +469,6 @@ JNF_COCOA_ENTER(env); // safety is assured by the java side of this call. NSPrintInfo* printInfo = createDefaultNSPrintInfo(env, NULL); - if (printInfo) CFRetain(printInfo); // GC - [printInfo release]; result = ptr_to_jlong(printInfo); @@ -490,7 +488,7 @@ JNF_COCOA_ENTER(env); if (nsPrintInfo != -1) { NSPrintInfo* printInfo = (NSPrintInfo*)jlong_to_ptr(nsPrintInfo); - if (printInfo) CFRelease(printInfo); // GC + [printInfo release]; } JNF_COCOA_EXIT(env); } diff --git a/jdk/src/macosx/native/sun/awt/CSystemColors.m b/jdk/src/macosx/native/sun/awt/CSystemColors.m index 0f3fab5b444..f83c66036e0 100644 --- a/jdk/src/macosx/native/sun/awt/CSystemColors.m +++ b/jdk/src/macosx/native/sun/awt/CSystemColors.m @@ -75,7 +75,7 @@ static JNF_STATIC_MEMBER_CACHE(jm_systemColorsChanged, jc_LWCToolkit, "systemCol sColors = (NSColor**)malloc(sizeof(NSColor*) * java_awt_SystemColor_NUM_COLORS); } else { for (i = 0; i < java_awt_SystemColor_NUM_COLORS; i++) { - if (sColors[i] != NULL) CFRelease(sColors[i]); // GC + if (sColors[i] != NULL) [sColors[i] release]; } } @@ -108,14 +108,14 @@ static JNF_STATIC_MEMBER_CACHE(jm_systemColorsChanged, jc_LWCToolkit, "systemCol sColors[java_awt_SystemColor_INFO_TEXT] = [NSColor textColor]; for (i = 0; i < java_awt_SystemColor_NUM_COLORS; i++) { - if (sColors[i] != NULL) CFRetain(sColors[i]); // GC + [sColors[i] retain]; } if (appleColors == nil) { appleColors = (NSColor**)malloc(sizeof(NSColor*) * sun_lwawt_macosx_LWCToolkit_NUM_APPLE_COLORS); } else { for (i = 0; i < sun_lwawt_macosx_LWCToolkit_NUM_APPLE_COLORS; i++) { - if (appleColors[i] != NULL) CFRelease(appleColors[i]); // GC + if (appleColors[i] != NULL) [appleColors[i] release]; } } @@ -124,7 +124,7 @@ static JNF_STATIC_MEMBER_CACHE(jm_systemColorsChanged, jc_LWCToolkit, "systemCol appleColors[sun_lwawt_macosx_LWCToolkit_INACTIVE_SELECTION_FOREGROUND_COLOR] = [NSColor controlDarkShadowColor]; for (i = 0; i < sun_lwawt_macosx_LWCToolkit_NUM_APPLE_COLORS; i++) { - if (appleColors[i] != NULL) CFRetain(appleColors[i]); // GC + [appleColors[i] retain]; } } diff --git a/jdk/src/macosx/native/sun/awt/ImageSurfaceData.m b/jdk/src/macosx/native/sun/awt/ImageSurfaceData.m index 2d3669f2d90..82ee1f09488 100644 --- a/jdk/src/macosx/native/sun/awt/ImageSurfaceData.m +++ b/jdk/src/macosx/native/sun/awt/ImageSurfaceData.m @@ -849,7 +849,7 @@ PRINT(" copyARGB_PRE_bitToIndexed_8bit") indexOfBest = 0; distanceOfBest = DBL_MAX; - for (i=0; i<lutDataSize; i++) + for (i=0; (unsigned)i<lutDataSize; i++) { p2 = lutdata[i]; @@ -899,7 +899,7 @@ static void releaseDataFromProvider(void *info, const void *data, size_t size) { if (data != NULL) { - free(data); + free((void*)data); } } @@ -1497,7 +1497,7 @@ PRINT("ImageSD_dispose") } if (isdo->nsRef) { - CFRelease(isdo->nsRef); // GC + [isdo->nsRef release]; isdo->nsRef = nil; } @@ -1577,7 +1577,9 @@ JNIEXPORT jobject JNICALL Java_sun_awt_image_BufImgSurfaceData_getSurfaceData { static char *bimgName = "java/awt/image/BufferedImage"; jclass bimg = (*env)->FindClass(env, bimgName); + CHECK_NULL_RETURN(bimg, NULL); sDataID = (*env)->GetFieldID(env, bimg, "sData", "Lsun/java2d/SurfaceData;"); + CHECK_NULL_RETURN(sDataID, NULL); } return (*env)->GetObjectField(env, bufImg, sDataID); @@ -1591,7 +1593,9 @@ JNIEXPORT void JNICALL Java_sun_awt_image_BufImgSurfaceData_setSurfaceData { static char *bimgName = "java/awt/image/BufferedImage"; jclass bimg = (*env)->FindClass(env, bimgName); + CHECK_NULL(bimg); sDataID = (*env)->GetFieldID(env, bimg, "sData", "Lsun/java2d/SurfaceData;"); + CHECK_NULL(sDataID); } (*env)->SetObjectField(env, bufImg, sDataID, sData); @@ -1610,18 +1614,11 @@ JNIEXPORT void JNICALL Java_sun_java2d_OSXOffScreenSurfaceData_initIDs(JNIEnv *e return; } - icm = (*env)->FindClass(env, icmName); - if (icm == NULL) { - return; - } - - rgbID = (*env)->GetFieldID(env, icm, "rgb", "[I"); - allGrayID = (*env)->GetFieldID(env, icm, "allgrayopaque", "Z"); - mapSizeID = (*env)->GetFieldID(env, icm, "map_size", "I"); - CMpDataID = (*env)->GetFieldID(env, icm, "pData", "J"); - if (allGrayID == 0 || rgbID == 0 || mapSizeID == 0 || CMpDataID == 0) { - JNU_ThrowInternalError(env, "Could not get field IDs"); - } + CHECK_NULL(icm = (*env)->FindClass(env, icmName)); + CHECK_NULL(rgbID = (*env)->GetFieldID(env, icm, "rgb", "[I")); + CHECK_NULL(allGrayID = (*env)->GetFieldID(env, icm, "allgrayopaque", "Z")); + CHECK_NULL(mapSizeID = (*env)->GetFieldID(env, icm, "map_size", "I")); + CHECK_NULL(CMpDataID = (*env)->GetFieldID(env, icm, "pData", "J")); } gColorspaceRGB = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); @@ -1795,20 +1792,23 @@ PRINT("Java_sun_java2d_OSXOffScreenSurfaceData_initRaster") //bisdo->sdOps.Dispose = BufImg_Dispose; bisdo->array = (*env)->NewWeakGlobalRef(env, array); + if (array != NULL) CHECK_NULL(bisdo->array); bisdo->offset = offset; //bisdo->scanStr = scanStr; bisdo->scanStr = scanStride; //bisdo->pixStr = pixStr; bisdo->pixStr = pixelStride; if (!icm) { - bisdo->lutarray = NULL; - bisdo->lutsize = 0; - bisdo->icm = NULL; + bisdo->lutarray = NULL; + bisdo->lutsize = 0; + bisdo->icm = NULL; } else { - jobject lutarray = (*env)->GetObjectField(env, icm, rgbID); - bisdo->lutarray = (*env)->NewWeakGlobalRef(env, lutarray); - bisdo->lutsize = (*env)->GetIntField(env, icm, mapSizeID); - bisdo->icm = (*env)->NewWeakGlobalRef(env, icm); + jobject lutarray = (*env)->GetObjectField(env, icm, rgbID); + bisdo->lutarray = (*env)->NewWeakGlobalRef(env, lutarray); + if (lutarray != NULL) CHECK_NULL(bisdo->lutarray); + bisdo->lutsize = (*env)->GetIntField(env, icm, mapSizeID); + bisdo->icm = (*env)->NewWeakGlobalRef(env, icm); + if (icm != NULL) CHECK_NULL(bisdo->icm); } bisdo->rasbounds.x1 = 0; bisdo->rasbounds.y1 = 0; @@ -1887,7 +1887,7 @@ PRINT("Java_sun_java2d_OSXOffScreenSurfaceData_initRaster") Pixel32bit* src = lutdata; Pixel32bit* dst = isdo->lutData; jint i; - for (i=0; i<isdo->lutDataSize; i++) + for (i=0; (unsigned)i<isdo->lutDataSize; i++) { if (i != transparent_index) { @@ -1919,7 +1919,7 @@ PRINT("Java_sun_java2d_OSXOffScreenSurfaceData_initRaster") Pixel32bit* src = lutdata; Pixel32bit* dst = isdo->lutData; jint i; - for (i=0; i<isdo->lutDataSize; i++) + for (i=0; (unsigned)i<isdo->lutDataSize; i++) { *dst = *src | mask; dst++; src++; diff --git a/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.m b/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.m index 9afd1ff527e..d0f8b871004 100644 --- a/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.m +++ b/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.m @@ -55,20 +55,6 @@ [super dealloc]; } -- (void)finalize -{ - JNIEnv *env = [ThreadUtilities getJNIEnvUncached]; - - JNFDeleteGlobalRef(env, fAccessibleAction); - fAccessibleAction = NULL; - - JNFDeleteGlobalRef(env, fComponent); - fComponent = NULL; - - [super finalize]; -} - - - (NSString *)getDescription { static JNF_STATIC_MEMBER_CACHE(jm_getAccessibleActionDescription, sjc_CAccessibility, "getAccessibleActionDescription", "(Ljavax/accessibility/AccessibleAction;ILjava/awt/Component;)Ljava/lang/String;"); @@ -116,19 +102,6 @@ [super dealloc]; } -- (void)finalize -{ - JNIEnv *env = [ThreadUtilities getJNIEnvUncached]; - - JNFDeleteGlobalRef(env, fTabGroup); - fTabGroup = NULL; - - JNFDeleteGlobalRef(env, fComponent); - fComponent = NULL; - - [super finalize]; -} - - (NSString *)getDescription { return @"click"; diff --git a/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.m b/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.m index d20e70fe67b..e5260a2b6a6 100644 --- a/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.m +++ b/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.m @@ -192,20 +192,6 @@ static NSObject *sAttributeNamesLOCK = nil; [super dealloc]; } -- (void)finalize -{ - [self unregisterFromCocoaAXSystem]; - - JNIEnv *env = [ThreadUtilities getJNIEnvUncached]; - - JNFDeleteGlobalRef(env, fAccessible); - fAccessible = NULL; - - JNFDeleteGlobalRef(env, fComponent); - fComponent = NULL; - - [super finalize]; -} - (void)postValueChanged { @@ -355,8 +341,8 @@ static NSObject *sAttributeNamesLOCK = nil; // must init freshly -alloc'd object [newChild initWithParent:parent withEnv:env withAccessible:jCAX withIndex:index withView:view withJavaRole:javaRole]; // must init new instance - // must hard CFRetain() pointer poked into Java object - CFRetain(newChild); + // must hard retain pointer poked into Java object + [newChild retain]; JNFSetLongField(env, jCAX, jf_ptr, ptr_to_jlong(newChild)); // return autoreleased instance @@ -1397,18 +1383,6 @@ static BOOL ObjectEquals(JNIEnv *env, jobject a, jobject b, jobject component); [super dealloc]; } -- (void)finalize -{ - JNIEnv *env = [ThreadUtilities getJNIEnvUncached]; - - if (fTabGroupAxContext != NULL) { - JNFDeleteGlobalRef(env, fTabGroupAxContext); - fTabGroupAxContext = NULL; - } - - [super finalize]; -} - - (id)accessibilityValueAttribute { JNIEnv *env = [ThreadUtilities getJNIEnv]; diff --git a/jdk/src/macosx/native/sun/awt/LWCToolkit.m b/jdk/src/macosx/native/sun/awt/LWCToolkit.m index 5e2dd6cb43d..8018ef4efbf 100644 --- a/jdk/src/macosx/native/sun/awt/LWCToolkit.m +++ b/jdk/src/macosx/native/sun/awt/LWCToolkit.m @@ -82,6 +82,39 @@ static long eventCount; @end +@interface JavaRunnable : NSObject { } +@property jobject runnable; +- (id)initWithRunnable:(jobject)gRunnable; +- (void)perform; +@end + +@implementation JavaRunnable +@synthesize runnable = _runnable; + +- (id)initWithRunnable:(jobject)gRunnable { + if (self = [super init]) { + self.runnable = gRunnable; + } + return self; +} + +- (void)dealloc { + JNIEnv *env = [ThreadUtilities getJNIEnv]; + if (self.runnable) { + (*env)->DeleteGlobalRef(env, self.runnable); + } + [super dealloc]; +} + +- (void)perform { + JNIEnv* env = [ThreadUtilities getJNIEnv]; + static JNF_CLASS_CACHE(sjc_Runnable, "java/lang/Runnable"); + static JNF_MEMBER_CACHE(jm_Runnable_run, sjc_Runnable, "run", "()V"); + JNFCallVoidMethod(env, self.runnable, jm_Runnable_run); + [self release]; +} +@end + /* * Class: sun_lwawt_macosx_LWCToolkit * Method: nativeSyncQueue @@ -291,17 +324,15 @@ JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_LWCToolkit_createAWTRunLoopMediato { AWT_ASSERT_APPKIT_THREAD; - AWTRunLoopObject *o = nil; + jlong result; +JNF_COCOA_ENTER(env); // We double retain because this object is owned by both main thread and "other" thread // We release in both doAWTRunLoop and stopAWTRunLoop - o = [[AWTRunLoopObject alloc] init]; - if (o) { - CFRetain(o); // GC - CFRetain(o); // GC - [o release]; - } - return ptr_to_jlong(o); + result = ptr_to_jlong([[[AWTRunLoopObject alloc] init] retain]); +JNF_COCOA_EXIT(env); + + return result; } /* @@ -336,10 +367,7 @@ JNF_COCOA_ENTER(env); } } - - - CFRelease(mediatorObject); - + [mediatorObject release]; JNF_COCOA_EXIT(env); } @@ -357,11 +385,30 @@ JNF_COCOA_ENTER(env); [ThreadUtilities performOnMainThread:@selector(endRunLoop) on:mediatorObject withObject:nil waitUntilDone:NO]; - CFRelease(mediatorObject); + [mediatorObject release]; JNF_COCOA_EXIT(env); } +/* + * Class: sun_lwawt_macosx_LWCToolkit + * Method: performOnMainThreadAfterDelay + * Signature: (Ljava/lang/Runnable;J)V + */ +JNIEXPORT void JNICALL Java_sun_lwawt_macosx_LWCToolkit_performOnMainThreadAfterDelay +(JNIEnv *env, jclass clz, jobject runnable, jlong delay) +{ +JNF_COCOA_ENTER(env); + jobject gRunnable = (*env)->NewGlobalRef(env, runnable); + CHECK_NULL(gRunnable); + [ThreadUtilities performOnMainThreadWaiting:NO block:^() { + JavaRunnable* performer = [[JavaRunnable alloc] initWithRunnable:gRunnable]; + [performer performSelector:@selector(perform) withObject:nil afterDelay:(delay/1000.0)]; + }]; +JNF_COCOA_EXIT(env); +} + + /* * Class: sun_lwawt_macosx_LWCToolkit * Method: isCapsLockOn @@ -438,4 +485,3 @@ Java_sun_font_FontManager_populateFontFileNameMap { } - diff --git a/jdk/src/macosx/native/sun/awt/PrintModel.m b/jdk/src/macosx/native/sun/awt/PrintModel.m index 8a172d7e96e..e2e44cca625 100644 --- a/jdk/src/macosx/native/sun/awt/PrintModel.m +++ b/jdk/src/macosx/native/sun/awt/PrintModel.m @@ -48,7 +48,6 @@ [super dealloc]; } -//- (void)finalize { [super finalize]; } - (BOOL)runPageSetup { __block BOOL fResult = NO; @@ -86,8 +85,8 @@ AWT_ASSERT_NOT_APPKIT_THREAD; fResult = [self safePrintLoop:printerView withEnv:env]; } else { // Retain these so they don't go away while we're in Java - CFRetain(self); // GC - if (printerView) CFRetain(printerView); // GC + [self retain]; + [printerView retain]; static JNF_CLASS_CACHE(jc_CPrinterJob, "sun/lwawt/macosx/CPrinterJob"); static JNF_STATIC_MEMBER_CACHE(jm_detachPrintLoop, jc_CPrinterJob, "detachPrintLoop", "(JJ)V"); @@ -134,8 +133,8 @@ JNF_COCOA_ENTER(env); [model safePrintLoop:arg withEnv:env]; // These are to match the retains in runPrintLoopWithView: - if (model) CFRelease(model); // GC - if (arg) CFRelease(arg); // GC + [model release]; + [arg release]; JNF_COCOA_EXIT(env); } diff --git a/jdk/src/macosx/native/sun/awt/QuartzRenderer.m b/jdk/src/macosx/native/sun/awt/QuartzRenderer.m index d87582caf5b..27f31c206f3 100644 --- a/jdk/src/macosx/native/sun/awt/QuartzRenderer.m +++ b/jdk/src/macosx/native/sun/awt/QuartzRenderer.m @@ -438,6 +438,9 @@ QUARTZ_RENDERER_INLINE SDRenderType doPolyUsingCG(JNIEnv *env, CGContextRef cgRe { SDRenderType renderType = SD_Nothing; + if (xpointsarray == NULL || ypointsarray == NULL) { + return SD_Nothing; + } if (npoints > 1) { if (fill == YES) @@ -452,7 +455,14 @@ QUARTZ_RENDERER_INLINE SDRenderType doPolyUsingCG(JNIEnv *env, CGContextRef cgRe jint i; jint* xpoints = (jint*)(*env)->GetPrimitiveArrayCritical(env, xpointsarray, NULL); + if (xpoints == NULL) { + return SD_Nothing; + } jint* ypoints = (jint*)(*env)->GetPrimitiveArrayCritical(env, ypointsarray, NULL); + if (ypoints == NULL) { + (*env)->ReleasePrimitiveArrayCritical(env, xpointsarray, xpoints, 0); + return SD_Nothing; + } CGContextMoveToPoint(cgRef, xpoints[0]+offsetX, ypoints[0]+offsetY); diff --git a/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.m b/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.m index dd61d0a9fd6..131dc1e0d6f 100644 --- a/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.m +++ b/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.m @@ -778,6 +778,10 @@ PRINT(" SetUpCGContext") qsdo->graphicsStateInfo.simpleStroke = NO; jint length = (*env)->GetArrayLength(env, dasharray); jfloat* jdashes = (jfloat*)(*env)->GetPrimitiveArrayCritical(env, dasharray, NULL); + if (jdashes == NULL) { + CGContextSetLineDash(cgRef, 0, NULL, 0); + return; + } CGFloat* dashes = (CGFloat*)malloc(sizeof(CGFloat)*length); if (dashes != NULL) { diff --git a/jdk/src/macosx/native/sun/font/AWTStrike.m b/jdk/src/macosx/native/sun/font/AWTStrike.m index 6e4b4291cbb..2425ec67f88 100644 --- a/jdk/src/macosx/native/sun/font/AWTStrike.m +++ b/jdk/src/macosx/native/sun/font/AWTStrike.m @@ -127,6 +127,9 @@ GetTxFromDoubles(JNIEnv *env, jdoubleArray txArray) } jdouble *txPtr = (*env)->GetPrimitiveArrayCritical(env, txArray, NULL); + if (txPtr == NULL) { + return CGAffineTransformIdentity; + } CGAffineTransform tx = CGAffineTransformMake(txPtr[0], txPtr[1], txPtr[2], @@ -311,18 +314,22 @@ JNF_COCOA_ENTER(env); jlong *glyphInfos = (*env)->GetPrimitiveArrayCritical(env, glyphInfoLongArray, NULL); - jint *rawGlyphCodes = - (*env)->GetPrimitiveArrayCritical(env, glyphCodes, NULL); + if (glyphInfos != NULL) { + jint *rawGlyphCodes = + (*env)->GetPrimitiveArrayCritical(env, glyphCodes, NULL); - CGGlyphImages_GetGlyphImagePtrs(glyphInfos, awtStrike, - rawGlyphCodes, len); + if (rawGlyphCodes != NULL) { + CGGlyphImages_GetGlyphImagePtrs(glyphInfos, awtStrike, + rawGlyphCodes, len); - (*env)->ReleasePrimitiveArrayCritical(env, glyphCodes, - rawGlyphCodes, JNI_ABORT); - // Do not use JNI_COMMIT, as that will not free the buffer copy - // when +ProtectJavaHeap is on. - (*env)->ReleasePrimitiveArrayCritical(env, glyphInfoLongArray, - glyphInfos, 0); + (*env)->ReleasePrimitiveArrayCritical(env, glyphCodes, + rawGlyphCodes, JNI_ABORT); + } + // Do not use JNI_COMMIT, as that will not free the buffer copy + // when +ProtectJavaHeap is on. + (*env)->ReleasePrimitiveArrayCritical(env, glyphInfoLongArray, + glyphInfos, 0); + } JNF_COCOA_EXIT(env); } diff --git a/jdk/src/macosx/native/sun/font/CCharToGlyphMapper.m b/jdk/src/macosx/native/sun/font/CCharToGlyphMapper.m index cf081379120..d2e12cfc70c 100644 --- a/jdk/src/macosx/native/sun/font/CCharToGlyphMapper.m +++ b/jdk/src/macosx/native/sun/font/CCharToGlyphMapper.m @@ -101,10 +101,13 @@ JNF_COCOA_ENTER(env); jchar *unicodesAsChars = (*env)->GetPrimitiveArrayCritical(env, unicodes, NULL); - AllocateGlyphBuffer(env, awtFont, count, (UniChar *)unicodesAsChars, glyphs); + if (unicodesAsChars != NULL) { + AllocateGlyphBuffer(env, awtFont, count, + (UniChar *)unicodesAsChars, glyphs); - (*env)->ReleasePrimitiveArrayCritical(env, unicodes, - unicodesAsChars, JNI_ABORT); + (*env)->ReleasePrimitiveArrayCritical(env, unicodes, + unicodesAsChars, JNI_ABORT); + } JNF_COCOA_EXIT(env); } diff --git a/jdk/src/macosx/native/sun/osxapp/NSApplicationAWT.m b/jdk/src/macosx/native/sun/osxapp/NSApplicationAWT.m index b55f1b76c21..3e11e1dda7e 100644 --- a/jdk/src/macosx/native/sun/osxapp/NSApplicationAWT.m +++ b/jdk/src/macosx/native/sun/osxapp/NSApplicationAWT.m @@ -71,7 +71,6 @@ AWT_ASSERT_APPKIT_THREAD; [super dealloc]; } -//- (void)finalize { [super finalize]; } - (void)finishLaunching { diff --git a/jdk/src/share/back/SDE.c b/jdk/src/share/back/SDE.c index 5c0ac218703..6ff7025bbf6 100644 --- a/jdk/src/share/back/SDE.c +++ b/jdk/src/share/back/SDE.c @@ -48,8 +48,6 @@ #define BASE_STRATUM_NAME "Java" #define null NULL -#define true JNI_TRUE -#define false JNI_FALSE #define String char * #define private static @@ -147,7 +145,7 @@ private jboolean isValid(void); defaultStratumId = null; defaultStratumIndex = -1; baseStratumIndex = -2; /* so as not to match -1 above */ - sourceMapIsValid = false; + sourceMapIsValid = JNI_FALSE; if (getSourceDebugExtension(clazz, &sourceDebugExtension) == JVMTI_ERROR_NONE) { @@ -667,7 +665,7 @@ private jboolean isValid(void); jplsFilename = readLine(); defaultStratumId = readLine(); createJavaStratum(); - while (true) { + while (1) { if (sdeRead() != '*') { syntax("expected '*'"); } @@ -684,7 +682,7 @@ private jboolean isValid(void); case 'E': /* set end points */ storeStratum("*terminator*"); - sourceMapIsValid = true; + sourceMapIsValid = JNI_TRUE; return; default: ignoreSection(); 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/back/eventHandler.c b/jdk/src/share/back/eventHandler.c index 5f5bf24cf6c..82911fdb66b 100644 --- a/jdk/src/share/back/eventHandler.c +++ b/jdk/src/share/back/eventHandler.c @@ -1682,7 +1682,7 @@ HandlerNode * eventHandler_createPermanentInternal(EventIndex ei, HandlerFunction func) { return createInternal(ei, func, NULL, - NULL, NULL, (jlocation)NULL, JNI_TRUE); + NULL, NULL, 0, JNI_TRUE); } HandlerNode * @@ -1691,7 +1691,7 @@ eventHandler_createInternalThreadOnly(EventIndex ei, jthread thread) { return createInternal(ei, func, thread, - NULL, NULL, (jlocation)NULL, JNI_FALSE); + NULL, NULL, 0, JNI_FALSE); } HandlerNode * diff --git a/jdk/src/share/back/log_messages.c b/jdk/src/share/back/log_messages.c index de8b69db8c9..77b8876382d 100644 --- a/jdk/src/share/back/log_messages.c +++ b/jdk/src/share/back/log_messages.c @@ -56,17 +56,24 @@ static int open_count; static void get_time_stamp(char *tbuf, size_t ltbuf) { - char format[MAXLEN_TIMESTAMP+1]; + char timestamp_prefix[MAXLEN_TIMESTAMP+1]; + char timestamp_postfix[MAXLEN_TIMESTAMP+1]; unsigned millisecs = 0; time_t t = 0; GETMILLSECS(millisecs); - if ( time(&t) == (time_t)(-1) ) + if ( time(&t) == (time_t)(-1) ) { t = 0; - (void)strftime(format, sizeof(format), - /* Break this string up for SCCS's sake */ - "%" "d.%" "m.%" "Y %" "T.%%.3d %" "Z", localtime(&t)); - (void)snprintf(tbuf, ltbuf, format, (int)(millisecs)); + } + /* Break this up so that the format strings are string literals + and we avoid a compiler warning. */ + (void)strftime(timestamp_prefix, sizeof(timestamp_prefix), + "%d.%m.%Y %T", localtime(&t)); + (void)strftime(timestamp_postfix, sizeof(timestamp_postfix), + "%Z", localtime(&t)); + (void)snprintf(tbuf, ltbuf, + "%s.%.3d %s", timestamp_prefix, + (int)(millisecs), timestamp_postfix); } /* Get basename of filename */ @@ -175,7 +182,7 @@ log_message_end(const char *format, ...) "LOC=%s;PID=%d;THR=t@%d", location_stamp, (int)processPid, - (int)tid); + (int)(intptr_t)tid); /* Construct message string. */ va_start(ap, format); diff --git a/jdk/src/share/classes/com/oracle/net/Sdp.java b/jdk/src/share/classes/com/oracle/net/Sdp.java deleted file mode 100644 index d22a95ed120..00000000000 --- a/jdk/src/share/classes/com/oracle/net/Sdp.java +++ /dev/null @@ -1,201 +0,0 @@ -/* - * 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. 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 com.oracle.net; - -import java.net.Socket; -import java.net.ServerSocket; -import java.net.SocketImpl; -import java.net.SocketImplFactory; -import java.net.SocketException; -import java.nio.channels.SocketChannel; -import java.nio.channels.ServerSocketChannel; -import java.io.IOException; -import java.io.FileDescriptor; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.lang.reflect.Constructor; -import java.lang.reflect.AccessibleObject; -import java.lang.reflect.InvocationTargetException; - -import sun.net.sdp.SdpSupport; - -/** - * This class consists exclusively of static methods that Sockets or Channels to - * sockets that support the InfiniBand Sockets Direct Protocol (SDP). - */ - -public final class Sdp { - private Sdp() { } - - /** - * The package-privage ServerSocket(SocketImpl) constructor - */ - private static final Constructor<ServerSocket> serverSocketCtor; - static { - try { - serverSocketCtor = - ServerSocket.class.getDeclaredConstructor(SocketImpl.class); - setAccessible(serverSocketCtor); - } catch (NoSuchMethodException e) { - throw new AssertionError(e); - } - } - - /** - * The package-private SdpSocketImpl() constructor - */ - private static final Constructor<SocketImpl> socketImplCtor; - static { - try { - Class<?> cl = Class.forName("java.net.SdpSocketImpl", true, null); - socketImplCtor = (Constructor<SocketImpl>)cl.getDeclaredConstructor(); - setAccessible(socketImplCtor); - } catch (ClassNotFoundException e) { - throw new AssertionError(e); - } catch (NoSuchMethodException e) { - throw new AssertionError(e); - } - } - - private static void setAccessible(final AccessibleObject o) { - AccessController.doPrivileged(new PrivilegedAction<Void>() { - public Void run() { - o.setAccessible(true); - return null; - } - }); - } - - /** - * SDP enabled Socket. - */ - private static class SdpSocket extends Socket { - SdpSocket(SocketImpl impl) throws SocketException { - super(impl); - } - } - - /** - * Creates a SDP enabled SocketImpl - */ - private static SocketImpl createSocketImpl() { - try { - return socketImplCtor.newInstance(); - } catch (InstantiationException x) { - throw new AssertionError(x); - } catch (IllegalAccessException x) { - throw new AssertionError(x); - } catch (InvocationTargetException x) { - throw new AssertionError(x); - } - } - - /** - * Creates an unconnected and unbound SDP socket. The {@code Socket} is - * associated with a {@link java.net.SocketImpl} of the system-default type. - * - * @return a new Socket - * - * @throws UnsupportedOperationException - * If SDP is not supported - * @throws IOException - * If an I/O error occurs - */ - public static Socket openSocket() throws IOException { - SocketImpl impl = createSocketImpl(); - return new SdpSocket(impl); - } - - /** - * Creates an unbound SDP server socket. The {@code ServerSocket} is - * associated with a {@link java.net.SocketImpl} of the system-default type. - * - * @return a new ServerSocket - * - * @throws UnsupportedOperationException - * If SDP is not supported - * @throws IOException - * If an I/O error occurs - */ - public static ServerSocket openServerSocket() throws IOException { - // create ServerSocket via package-private constructor - SocketImpl impl = createSocketImpl(); - try { - return serverSocketCtor.newInstance(impl); - } catch (IllegalAccessException x) { - throw new AssertionError(x); - } catch (InstantiationException x) { - throw new AssertionError(x); - } catch (InvocationTargetException x) { - Throwable cause = x.getCause(); - if (cause instanceof IOException) - throw (IOException)cause; - if (cause instanceof RuntimeException) - throw (RuntimeException)cause; - throw new RuntimeException(x); - } - } - - /** - * Opens a socket channel to a SDP socket. - * - * <p> The channel will be associated with the system-wide default - * {@link java.nio.channels.spi.SelectorProvider SelectorProvider}. - * - * @return a new SocketChannel - * - * @throws UnsupportedOperationException - * If SDP is not supported or not supported by the default selector - * provider - * @throws IOException - * If an I/O error occurs. - */ - public static SocketChannel openSocketChannel() throws IOException { - FileDescriptor fd = SdpSupport.createSocket(); - return sun.nio.ch.Secrets.newSocketChannel(fd); - } - - /** - * Opens a socket channel to a SDP socket. - * - * <p> The channel will be associated with the system-wide default - * {@link java.nio.channels.spi.SelectorProvider SelectorProvider}. - * - * @return a new ServerSocketChannel - * - * @throws UnsupportedOperationException - * If SDP is not supported or not supported by the default selector - * provider - * @throws IOException - * If an I/O error occurs - */ - public static ServerSocketChannel openServerSocketChannel() - throws IOException - { - FileDescriptor fd = SdpSupport.createSocket(); - return sun.nio.ch.Secrets.newServerSocketChannel(fd); - } -} diff --git a/jdk/src/share/classes/com/sun/crypto/provider/RSACipher.java b/jdk/src/share/classes/com/sun/crypto/provider/RSACipher.java index 6902d4b8b31..d1d8cf3ef23 100644 --- a/jdk/src/share/classes/com/sun/crypto/provider/RSACipher.java +++ b/jdk/src/share/classes/com/sun/crypto/provider/RSACipher.java @@ -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 @@ -39,6 +39,8 @@ import javax.crypto.spec.OAEPParameterSpec; import sun.security.rsa.*; import sun.security.jca.Providers; +import sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec; +import sun.security.util.KeyUtil; /** * RSA cipher implementation. Supports RSA en/decryption and signing/verifying @@ -91,8 +93,8 @@ public final class RSACipher extends CipherSpi { // padding object private RSAPadding padding; - // cipher parameter for OAEP padding - private OAEPParameterSpec spec = null; + // cipher parameter for OAEP padding and TLS RSA premaster secret + private AlgorithmParameterSpec spec = null; // buffer for the data private byte[] buffer; @@ -110,6 +112,9 @@ public final class RSACipher extends CipherSpi { // hash algorithm for OAEP private String oaepHashAlgorithm = "SHA-1"; + // the source of randomness + private SecureRandom random; + public RSACipher() { paddingType = PAD_PKCS1; } @@ -175,7 +180,7 @@ public final class RSACipher extends CipherSpi { // see JCE spec protected AlgorithmParameters engineGetParameters() { - if (spec != null) { + if (spec != null && spec instanceof OAEPParameterSpec) { try { AlgorithmParameters params = AlgorithmParameters.getInstance("OAEP", @@ -276,8 +281,13 @@ public final class RSACipher extends CipherSpi { buffer = new byte[n]; } else if (paddingType == PAD_PKCS1) { if (params != null) { - throw new InvalidAlgorithmParameterException - ("Parameters not supported"); + if (!(params instanceof TlsRsaPremasterSecretParameterSpec)) { + throw new InvalidAlgorithmParameterException( + "Parameters not supported"); + } + + spec = params; + this.random = random; // for TLS RSA premaster secret } int blockType = (mode <= MODE_DECRYPT) ? RSAPadding.PAD_BLOCKTYPE_2 : RSAPadding.PAD_BLOCKTYPE_1; @@ -293,19 +303,18 @@ public final class RSACipher extends CipherSpi { throw new InvalidKeyException ("OAEP cannot be used to sign or verify signatures"); } - OAEPParameterSpec myParams; if (params != null) { if (!(params instanceof OAEPParameterSpec)) { throw new InvalidAlgorithmParameterException ("Wrong Parameters for OAEP Padding"); } - myParams = (OAEPParameterSpec) params; + spec = params; } else { - myParams = new OAEPParameterSpec(oaepHashAlgorithm, "MGF1", + spec = new OAEPParameterSpec(oaepHashAlgorithm, "MGF1", MGF1ParameterSpec.SHA1, PSource.PSpecified.DEFAULT); } padding = RSAPadding.getInstance(RSAPadding.PAD_OAEP_MGF1, n, - random, myParams); + random, (OAEPParameterSpec)spec); if (encrypt) { int k = padding.getMaxDataSize(); buffer = new byte[k]; @@ -420,17 +429,40 @@ public final class RSACipher extends CipherSpi { if (wrappedKey.length > buffer.length) { throw new InvalidKeyException("Key is too long for unwrapping"); } + + boolean isTlsRsaPremasterSecret = + algorithm.equals("TlsRsaPremasterSecret"); + Exception failover = null; + byte[] encoded = null; + update(wrappedKey, 0, wrappedKey.length); try { - byte[] encoded = doFinal(); - return ConstructKeys.constructKey(encoded, algorithm, type); + encoded = doFinal(); } catch (BadPaddingException e) { - // should not occur - throw new InvalidKeyException("Unwrapping failed", e); + if (isTlsRsaPremasterSecret) { + failover = e; + } else { + throw new InvalidKeyException("Unwrapping failed", e); + } } catch (IllegalBlockSizeException e) { // should not occur, handled with length check above throw new InvalidKeyException("Unwrapping failed", e); } + + if (isTlsRsaPremasterSecret) { + if (!(spec instanceof TlsRsaPremasterSecretParameterSpec)) { + throw new IllegalStateException( + "No TlsRsaPremasterSecretParameterSpec specified"); + } + + // polish the TLS premaster secret + encoded = KeyUtil.checkTlsPreMasterSecretKey( + ((TlsRsaPremasterSecretParameterSpec)spec).getClientVersion(), + ((TlsRsaPremasterSecretParameterSpec)spec).getServerVersion(), + random, encoded, (failover != null)); + } + + return ConstructKeys.constructKey(encoded, algorithm, type); } // see JCE spec @@ -438,5 +470,4 @@ public final class RSACipher extends CipherSpi { RSAKey rsaKey = RSAKeyFactory.toRSAKey(key); return rsaKey.getModulus().bitLength(); } - } diff --git a/jdk/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java b/jdk/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java index ef9098f24f7..2a25cb64d5c 100644 --- a/jdk/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java +++ b/jdk/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java @@ -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 @@ -56,7 +56,7 @@ public final class TlsRsaPremasterSecretGenerator extends KeyGeneratorSpi { protected void engineInit(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { - if (params instanceof TlsRsaPremasterSecretParameterSpec == false) { + if (!(params instanceof TlsRsaPremasterSecretParameterSpec)) { throw new InvalidAlgorithmParameterException(MSG); } this.spec = (TlsRsaPremasterSecretParameterSpec)params; @@ -67,21 +67,20 @@ public final class TlsRsaPremasterSecretGenerator extends KeyGeneratorSpi { throw new InvalidParameterException(MSG); } + // Only can be used in client side to generate TLS RSA premaster secret. protected SecretKey engineGenerateKey() { if (spec == null) { throw new IllegalStateException( "TlsRsaPremasterSecretGenerator must be initialized"); } - byte[] b = spec.getEncodedSecret(); - if (b == null) { - if (random == null) { - random = new SecureRandom(); - } - b = new byte[48]; - random.nextBytes(b); - b[0] = (byte)spec.getMajorVersion(); - b[1] = (byte)spec.getMinorVersion(); + + if (random == null) { + random = new SecureRandom(); } + byte[] b = new byte[48]; + random.nextBytes(b); + b[0] = (byte)spec.getMajorVersion(); + b[1] = (byte)spec.getMinorVersion(); return new SecretKeySpec(b, "TlsRsaPremasterSecret"); } 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/java/swing/plaf/gtk/GTKColorChooserPanel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java index 45ca3797cbb..348c0a64e9a 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -38,6 +38,7 @@ import javax.swing.plaf.*; * * @author Scott Violet */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class GTKColorChooserPanel extends AbstractColorChooserPanel implements ChangeListener { private static final float PI_3 = (float)(Math.PI / 3); @@ -535,6 +536,7 @@ class GTKColorChooserPanel extends AbstractColorChooserPanel implements /** * Class responsible for rendering a color wheel and color triangle. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ColorTriangle extends JPanel { /** * Cached image of the wheel. @@ -1229,6 +1231,7 @@ class GTKColorChooserPanel extends AbstractColorChooserPanel implements /** * Action class used for colors. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class ColorAction extends AbstractAction { private int type; @@ -1294,7 +1297,7 @@ class GTKColorChooserPanel extends AbstractColorChooserPanel implements } } - + @SuppressWarnings("serial") // Superclass is not serializable across versions private class OpaqueLabel extends JLabel { public boolean isOpaque() { return true; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java index f52e4bdb28f..ddbdcded4b6 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java @@ -549,6 +549,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { fc.add(interior, BorderLayout.CENTER); + @SuppressWarnings("serial") // anonymous class JPanel comboBoxPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0) { public void layoutContainer(Container target) { @@ -660,26 +661,30 @@ class GTKFileChooserUI extends SynthFileChooserUI { if (currentDirectory != null) { curDirName = currentDirectory.getPath(); } - pathField = new JLabel(curDirName) { + @SuppressWarnings("serial") // anonymous class + JLabel tmp = new JLabel(curDirName) { public Dimension getMaximumSize() { Dimension d = super.getMaximumSize(); d.height = getPreferredSize().height; return d; } }; + pathField = tmp; pathField.setName("GTKFileChooser.pathField"); align(pathField); pathFieldPanel.add(pathField); interior.add(pathFieldPanel); // add the fileName field - fileNameTextField = new JTextField() { + @SuppressWarnings("serial") // anonymous class + JTextField tmp2 = new JTextField() { public Dimension getMaximumSize() { Dimension d = super.getMaximumSize(); d.height = getPreferredSize().height; return d; } }; + fileNameTextField = tmp2; pathFieldLabel.setLabelFor(fileNameTextField); @@ -905,6 +910,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { return approveSelectionAction; } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class GTKDirectoryModel extends BasicDirectoryModel { FileSystemView fsv; private Comparator<File> fileComparator = new Comparator<File>() { @@ -923,6 +929,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class GTKDirectoryListModel extends AbstractListModel implements ListDataListener { File curDir; public GTKDirectoryListModel() { @@ -966,6 +973,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class GTKFileListModel extends AbstractListModel implements ListDataListener { public GTKFileListModel() { getModel().addListDataListener(this); @@ -1009,6 +1017,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FileCellRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -1022,6 +1031,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryCellRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -1084,6 +1094,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { /** * Data model for a type-face selection combo-box. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryComboBoxModel extends AbstractListModel implements ComboBoxModel { Vector<File> directories = new Vector<File>(); File selectedDirectory = null; @@ -1160,6 +1171,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { /** * Acts when DirectoryComboBox has changed the selected item. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryComboBoxAction extends AbstractAction { protected DirectoryComboBoxAction() { super("DirectoryComboBoxAction"); @@ -1174,6 +1186,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { /** * Creates a new folder. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class NewFolderAction extends AbstractAction { protected NewFolderAction() { super(FilePane.ACTION_NEW_FOLDER); @@ -1209,6 +1222,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class GTKApproveSelectionAction extends ApproveSelectionAction { public void actionPerformed(ActionEvent e) { if (isDirectorySelected()) { @@ -1240,6 +1254,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { /** * Renames file */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class RenameFileAction extends AbstractAction { protected RenameFileAction() { super(FilePane.ACTION_EDIT_FILE_NAME); @@ -1285,6 +1300,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { /** * Render different filters */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class FilterComboBoxRenderer extends DefaultListCellRenderer implements UIResource { public String getName() { // As SynthComboBoxRenderer's are asked for a size BEFORE they @@ -1328,6 +1344,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { /** * Data model for filter combo-box. */ + @SuppressWarnings("serial") // JDK implementation class protected class FilterComboBoxModel extends AbstractListModel implements ComboBoxModel, PropertyChangeListener { protected FileFilter[] filters; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java index feb9b4f4383..d86b4ec92ac 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -51,6 +51,7 @@ import sun.swing.SwingUtilities2; /** * @author Scott Violet */ +@SuppressWarnings("serial") // Superclass not serializable public class GTKLookAndFeel extends SynthLookAndFeel { private static final boolean IS_22; @@ -336,10 +337,9 @@ public class GTKLookAndFeel extends SynthLookAndFeel { // populate the table with the values from basic. super.initComponentDefaults(table); - Integer zero = Integer.valueOf(0); - Object zeroBorder = new sun.swing.SwingLazyValue( - "javax.swing.plaf.BorderUIResource$EmptyBorderUIResource", - new Object[] {zero, zero, zero, zero}); + UIDefaults.LazyValue zeroBorder = + t -> new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0); + Object focusBorder = new GTKStyle.GTKLazyValue( "com.sun.java.swing.plaf.gtk.GTKPainter$ListTableFocusBorder", "getUnselectedCellBorder"); diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java index c2b76264b2f..3e55c0837de 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2012, 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 @@ -1414,6 +1414,7 @@ class GTKPainter extends SynthPainter { } // Refer to GTKLookAndFeel for details on this. + @SuppressWarnings("serial") // Superclass is not serializable across versions static class ListTableFocusBorder extends AbstractBorder implements UIResource { @@ -1482,6 +1483,7 @@ class GTKPainter extends SynthPainter { } // TitledBorder implementation for GTK L&F + @SuppressWarnings("serial") // Superclass is not serializable across versions static class TitledBorder extends AbstractBorder implements UIResource { public void paintBorder(Component c, Graphics g, int x, int y, diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifBorders.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifBorders.java index 4b140f17f89..7a1b637850b 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifBorders.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifBorders.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, 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 @@ -54,6 +54,7 @@ import java.awt.Rectangle; */ public class MotifBorders { + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class BevelBorder extends AbstractBorder implements UIResource { private Color darkShadow = UIManager.getColor("controlShadow"); private Color lightShadow = UIManager.getColor("controlLtHighlight"); @@ -87,6 +88,7 @@ public class MotifBorders { } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class FocusBorder extends AbstractBorder implements UIResource { private Color focus; private Color control; @@ -113,6 +115,7 @@ public class MotifBorders { } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ButtonBorder extends AbstractBorder implements UIResource { protected Color focus = UIManager.getColor("activeCaptionBorder"); protected Color shadow = UIManager.getColor("Button.shadow"); @@ -191,6 +194,7 @@ public class MotifBorders { } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ToggleButtonBorder extends ButtonBorder { public ToggleButtonBorder(Color shadow, Color highlight, Color darkShadow, Color focus) { @@ -224,6 +228,7 @@ public class MotifBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class MenuBarBorder extends ButtonBorder { public MenuBarBorder(Color shadow, Color highlight, Color darkShadow, Color focus) { @@ -249,6 +254,7 @@ public class MotifBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class FrameBorder extends AbstractBorder implements UIResource { JComponent jcomp; @@ -434,6 +440,7 @@ public class MotifBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class InternalFrameBorder extends FrameBorder { JInternalFrame frame; @@ -618,6 +625,7 @@ public class MotifBorders { g.setColor(oldColor); } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class MotifPopupMenuBorder extends AbstractBorder implements UIResource { protected Font font; protected Color background; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifComboBoxUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifComboBoxUI.java index 953869f4072..91fa518769e 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifComboBoxUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifComboBoxUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, 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 @@ -44,6 +44,7 @@ import java.beans.*; * * @author Arnaud Weber */ +@SuppressWarnings("serial") // Same-version serialization only public class MotifComboBoxUI extends BasicComboBoxUI implements Serializable { Icon arrowIcon; static final int HORIZ_MARGIN = 3; @@ -93,6 +94,7 @@ public class MotifComboBoxUI extends BasicComboBoxUI implements Serializable { /** * Overriden to empty the MouseMotionListener. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class MotifComboPopup extends BasicComboPopup { public MotifComboPopup( JComboBox comboBox ) { @@ -279,6 +281,7 @@ public class MotifComboBoxUI extends BasicComboBoxUI implements Serializable { } } + @SuppressWarnings("serial") // Same-version serialization only static class MotifComboBoxArrowIcon implements Icon, Serializable { private Color lightShadow; private Color darkShadow; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopIconUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopIconUI.java index a3ce69054c0..b3ff4ad4965 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopIconUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopIconUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2005, 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 @@ -200,6 +200,7 @@ public class MotifDesktopIconUI extends BasicDesktopIconUI defaultIcon = newIcon; } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class IconLabel extends JPanel { JInternalFrame frame; @@ -291,6 +292,7 @@ public class MotifDesktopIconUI extends BasicDesktopIconUI } } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class IconButton extends JButton { Icon icon; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopPaneUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopPaneUI.java index 122e1c6e145..c3e1f85993b 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopPaneUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2003, 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 @@ -72,6 +72,7 @@ public class MotifDesktopPaneUI extends javax.swing.plaf.basic.BasicDesktopPaneU //////////////////////////////////////////////////////////////////////////////////// /// DragPane class //////////////////////////////////////////////////////////////////////////////////// + @SuppressWarnings("serial") // Superclass is not serializable across versions private class DragPane extends JComponent { public void paint(Graphics g) { g.setColor(Color.darkGray); @@ -82,6 +83,7 @@ public class MotifDesktopPaneUI extends javax.swing.plaf.basic.BasicDesktopPaneU //////////////////////////////////////////////////////////////////////////////////// /// MotifDesktopManager class //////////////////////////////////////////////////////////////////////////////////// + @SuppressWarnings("serial") // JDK-implementation class private class MotifDesktopManager extends DefaultDesktopManager implements Serializable, UIResource { JComponent dragPane; boolean usingDragPane = false; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java index ae7baa53bc2..f707ad84268 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java @@ -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 @@ -281,6 +281,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { fc.setLayout(new BorderLayout(10, 10)); fc.setAlignmentX(JComponent.CENTER_ALIGNMENT); + @SuppressWarnings("serial") // anonymous class JPanel interior = new JPanel() { public Insets getInsets() { return insets; @@ -303,13 +304,16 @@ public class MotifFileChooserUI extends BasicFileChooserUI { if(currentDirectory != null) { curDirName = currentDirectory.getPath(); } - pathField = new JTextField(curDirName) { + + @SuppressWarnings("serial") // anonymous class + JTextField tmp1 = new JTextField(curDirName) { public Dimension getMaximumSize() { Dimension d = super.getMaximumSize(); d.height = getPreferredSize().height; return d; } }; + pathField = tmp1; pathField.setInheritsPopupMenu(true); l.setLabelFor(pathField); align(pathField); @@ -337,13 +341,15 @@ public class MotifFileChooserUI extends BasicFileChooserUI { align(l); leftPanel.add(l); - filterComboBox = new JComboBox<FileFilter>() { + @SuppressWarnings("serial") // anonymous class + JComboBox tmp2 = new JComboBox<FileFilter>() { public Dimension getMaximumSize() { Dimension d = super.getMaximumSize(); d.height = getPreferredSize().height; return d; } }; + filterComboBox = tmp2; filterComboBox.setInheritsPopupMenu(true); l.setLabelFor(filterComboBox); filterComboBoxModel = createFilterComboBoxModel(); @@ -413,13 +419,15 @@ public class MotifFileChooserUI extends BasicFileChooserUI { align(fileNameLabel); interior.add(fileNameLabel); - filenameTextField = new JTextField() { + @SuppressWarnings("serial") // anonymous class + JTextField tmp3 = new JTextField() { public Dimension getMaximumSize() { Dimension d = super.getMaximumSize(); d.height = getPreferredSize().height; return d; } }; + filenameTextField = tmp3; filenameTextField.setInheritsPopupMenu(true); fileNameLabel.setLabelFor(filenameTextField); filenameTextField.addActionListener(getApproveSelectionAction()); @@ -436,11 +444,13 @@ public class MotifFileChooserUI extends BasicFileChooserUI { buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS)); buttonPanel.add(Box.createGlue()); - approveButton = new JButton(getApproveButtonText(fc)) { + @SuppressWarnings("serial") // anonymous class + JButton tmp4 = new JButton(getApproveButtonText(fc)) { public Dimension getMaximumSize() { return new Dimension(MAX_SIZE.width, this.getPreferredSize().height); } }; + approveButton = tmp4; approveButton.setMnemonic(getApproveButtonMnemonic(fc)); approveButton.setToolTipText(getApproveButtonToolTipText(fc)); approveButton.setInheritsPopupMenu(true); @@ -450,6 +460,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { buttonPanel.add(approveButton); buttonPanel.add(Box.createGlue()); + @SuppressWarnings("serial") // anonymous class JButton updateButton = new JButton(updateButtonText) { public Dimension getMaximumSize() { return new Dimension(MAX_SIZE.width, this.getPreferredSize().height); @@ -464,6 +475,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { buttonPanel.add(updateButton); buttonPanel.add(Box.createGlue()); + @SuppressWarnings("serial") // anonymous class JButton cancelButton = new JButton(cancelButtonText) { public Dimension getMaximumSize() { return new Dimension(MAX_SIZE.width, this.getPreferredSize().height); @@ -478,6 +490,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { buttonPanel.add(cancelButton); buttonPanel.add(Box.createGlue()); + @SuppressWarnings("serial") // anonymous class JButton helpButton = new JButton(helpButtonText) { public Dimension getMaximumSize() { return new Dimension(MAX_SIZE.width, this.getPreferredSize().height); @@ -640,6 +653,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { c.setAlignmentY(JComponent.TOP_ALIGNMENT); } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FileCellRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -651,6 +665,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryCellRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -662,6 +677,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class MotifDirectoryListModel extends AbstractListModel<File> implements ListDataListener { public MotifDirectoryListModel() { getModel().addListDataListener(this); @@ -698,6 +714,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class MotifFileListModel extends AbstractListModel<File> implements ListDataListener { public MotifFileListModel() { getModel().addListDataListener(this); @@ -759,6 +776,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { /** * Render different type sizes and styles. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class FilterComboBoxRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, @@ -777,6 +795,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI { /** * Data model for a type-face selection combo-box. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FilterComboBoxModel extends AbstractListModel<FileFilter> implements ComboBoxModel<FileFilter>, PropertyChangeListener { protected FileFilter[] filters; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifIconFactory.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifIconFactory.java index 7c732af6ea2..394bb892327 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifIconFactory.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifIconFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2004, 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 @@ -50,6 +50,7 @@ import java.io.Serializable; * 1.20 04/27/99 * @author Georges Saab */ +@SuppressWarnings("serial") // Same-version serialization only public class MotifIconFactory implements Serializable { private static Icon checkBoxIcon; @@ -90,6 +91,7 @@ public class MotifIconFactory implements Serializable return radioButtonIcon; } + @SuppressWarnings("serial") // Same-version serialization only private static class CheckBoxIcon implements Icon, UIResource, Serializable { final static int csize = 13; @@ -264,6 +266,7 @@ public class MotifIconFactory implements Serializable } } // end class CheckBoxIcon + @SuppressWarnings("serial") // Same-version serialization only private static class RadioButtonIcon implements Icon, UIResource, Serializable { private Color dot = UIManager.getColor("activeCaptionBorder"); private Color highlight = UIManager.getColor("controlHighlight"); @@ -355,6 +358,7 @@ public class MotifIconFactory implements Serializable } } // end class RadioButtonIcon + @SuppressWarnings("serial") // Same-version serialization only private static class MenuItemCheckIcon implements Icon, UIResource, Serializable { public void paintIcon(Component c,Graphics g, int x, int y) @@ -365,6 +369,7 @@ public class MotifIconFactory implements Serializable } // end class MenuItemCheckIcon + @SuppressWarnings("serial") // Same-version serialization only private static class MenuItemArrowIcon implements Icon, UIResource, Serializable { public void paintIcon(Component c,Graphics g, int x, int y) @@ -374,6 +379,7 @@ public class MotifIconFactory implements Serializable public int getIconHeight() { return 0; } } // end class MenuItemArrowIcon + @SuppressWarnings("serial") // Same-version serialization only private static class MenuArrowIcon implements Icon, UIResource, Serializable { private Color focus = UIManager.getColor("windowBorder"); diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java index 03c9f23a9c5..0ed3021b693 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java @@ -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 @@ -42,6 +42,7 @@ import java.beans.PropertyVetoException; * * @since 1.3 */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class MotifInternalFrameTitlePane extends BasicInternalFrameTitlePane implements LayoutManager, ActionListener, PropertyChangeListener { @@ -232,6 +233,7 @@ public class MotifInternalFrameTitlePane static Dimension buttonDimension = new Dimension(BUTTON_SIZE, BUTTON_SIZE); + @SuppressWarnings("serial") // Superclass is not serializable across versions private abstract class FrameButton extends JButton { FrameButton() { @@ -276,6 +278,7 @@ public class MotifInternalFrameTitlePane } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class MinimizeButton extends FrameButton { public void paintComponent(Graphics g) { super.paintComponent(g); @@ -288,7 +291,8 @@ public class MotifInternalFrameTitlePane } } - private class MaximizeButton extends FrameButton { + @SuppressWarnings("serial") // Superclass is not serializable across versions + private class MaximizeButton extends FrameButton { public void paintComponent(Graphics g) { super.paintComponent(g); int max = BUTTON_SIZE - 5; @@ -302,6 +306,7 @@ public class MotifInternalFrameTitlePane } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SystemButton extends FrameButton { public boolean isFocusTraversable() { return false; } public void requestFocus() {} @@ -317,6 +322,7 @@ public class MotifInternalFrameTitlePane } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class Title extends FrameButton { Title(String title) { super(); diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameUI.java index dbfda306038..bcd1cacfde9 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2004, 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 @@ -130,6 +130,7 @@ public class MotifInternalFrameUI extends BasicInternalFrameUI { } } + @SuppressWarnings("serial") // anonymous class protected void setupMenuOpenKey(){ super.setupMenuOpenKey(); ActionMap map = SwingUtilities.getUIActionMap(frame); @@ -149,6 +150,7 @@ public class MotifInternalFrameUI extends BasicInternalFrameUI { } } + @SuppressWarnings("serial") // anonymous class protected void setupMenuCloseKey(){ ActionMap map = SwingUtilities.getUIActionMap(frame); if (map != null) { diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java index 1438b57e670..116fe475be3 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java @@ -60,6 +60,7 @@ import sun.awt.OSInfo; * * @author unattributed */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class MotifLookAndFeel extends BasicLookAndFeel { public String getName() { diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifOptionPaneUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifOptionPaneUI.java index 8b111933542..ddba46c9cc9 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifOptionPaneUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifOptionPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1998, 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 @@ -77,6 +77,7 @@ public class MotifOptionPaneUI extends BasicOptionPaneUI return null; } + @SuppressWarnings("serial") // anonymous class protected Container createSeparator() { return new JPanel() { diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonMenuItemUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonMenuItemUI.java index 6822b04f3c9..5065b0309d8 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonMenuItemUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonMenuItemUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, 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 @@ -71,6 +71,7 @@ public class MotifRadioButtonMenuItemUI extends BasicRadioButtonMenuItemUI return new ChangeHandler(); } + @SuppressWarnings("serial") // Same-version serialization only protected class ChangeHandler implements ChangeListener, Serializable { public void stateChanged(ChangeEvent e) { JMenuItem c = (JMenuItem)e.getSource(); diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifScrollBarButton.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifScrollBarButton.java index 316d5210253..680a658a6c6 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifScrollBarButton.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifScrollBarButton.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1998, 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 @@ -43,6 +43,7 @@ import java.awt.event.*; * version of Swing. A future release of Swing will provide support for * long term persistence. */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class MotifScrollBarButton extends BasicArrowButton { private Color darkShadow = UIManager.getColor("controlShadow"); diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifSplitPaneDivider.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifSplitPaneDivider.java index 1ce751ac19e..6040eb31323 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifSplitPaneDivider.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifSplitPaneDivider.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1999, 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 @@ -45,6 +45,7 @@ import javax.swing.plaf.basic.BasicSplitPaneDivider; * * @author Jeff Dinkins */ +@SuppressWarnings("serial") // Same-version serialization only public class MotifSplitPaneDivider extends BasicSplitPaneDivider { /** diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTextUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTextUI.java index 3bfad49441b..d198a942825 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTextUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTextUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1998, 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 @@ -66,6 +66,7 @@ public class MotifTextUI { * version of Swing. A future release of Swing will provide support for * long term persistence. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class MotifCaret extends DefaultCaret implements UIResource { /** diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeCellRenderer.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeCellRenderer.java index 5db617c3184..fbddca81841 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeCellRenderer.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeCellRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1999, 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 @@ -46,6 +46,7 @@ import java.util.*; * * @author Jeff Dinkins */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class MotifTreeCellRenderer extends DefaultTreeCellRenderer { static final int LEAF_SIZE = 13; @@ -69,6 +70,7 @@ public class MotifTreeCellRenderer extends DefaultTreeCellRenderer * version of Swing. A future release of Swing will provide support for * long term persistence. */ + @SuppressWarnings("serial") // Same-version serialization only public static class TreeLeafIcon implements Icon, Serializable { Color bg; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeUI.java index d44886f5344..5977b807300 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, 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 @@ -91,6 +91,7 @@ public class MotifTreeUI extends BasicTreeUI * version of Swing. A future release of Swing will provide support for * long term persistence. */ + @SuppressWarnings("serial") // Same-version serialization only public static class MotifExpandedIcon implements Icon, Serializable { static Color bg; static Color fg; @@ -139,6 +140,7 @@ public class MotifTreeUI extends BasicTreeUI * version of Swing. A future release of Swing will provide support for * long term persistence. */ + @SuppressWarnings("serial") // Same-version serialization only public static class MotifCollapsedIcon extends MotifExpandedIcon { public static Icon createCollapsedIcon() { return new MotifCollapsedIcon(); diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java index 26a0268f21d..f102f457d09 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java @@ -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 @@ -30,5 +30,6 @@ package com.sun.java.swing.plaf.nimbus; * @deprecated Use {@link javax.swing.plaf.nimbus.NimbusLookAndFeel} instead. */ @Deprecated +@SuppressWarnings("serial") // Superclass not serializable public class NimbusLookAndFeel extends javax.swing.plaf.nimbus.NimbusLookAndFeel { } diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsBorders.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsBorders.java index 286c3a516bd..ca840ca0c42 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsBorders.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsBorders.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -114,6 +114,7 @@ public class WindowsBorders { return internalFrameBorder; } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ProgressBarBorder extends AbstractBorder implements UIResource { protected Color shadow; protected Color highlight; @@ -144,6 +145,7 @@ public class WindowsBorders { * <p> * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ToolBarBorder extends AbstractBorder implements UIResource, SwingConstants { protected Color shadow; protected Color highlight; @@ -247,6 +249,7 @@ public class WindowsBorders { * This class is an implementation of a dashed border. * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class DashedBorder extends LineBorder implements UIResource { public DashedBorder(Color color) { super(color); @@ -272,6 +275,7 @@ public class WindowsBorders { * A dashed border that paints itself in the complementary color * of the component's background color. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class ComplementDashedBorder extends LineBorder implements UIResource { private Color origColor; private Color paintColor; @@ -297,6 +301,7 @@ public class WindowsBorders { * This class is an implementation of the InternalFrameLine border. * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class InternalFrameLineBorder extends LineBorder implements UIResource { protected Color activeColor; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsClassicLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsClassicLookAndFeel.java index 672ea76b3f5..5141fa399da 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsClassicLookAndFeel.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsClassicLookAndFeel.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 @@ -37,6 +37,7 @@ package com.sun.java.swing.plaf.windows; * * @since 1.5 */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class WindowsClassicLookAndFeel extends WindowsLookAndFeel { public String getName() { return "Windows Classic"; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java index 2656d1de6a8..348b28a1a7b 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java @@ -407,6 +407,7 @@ public class WindowsComboBoxUI extends BasicComboBoxUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class XPComboBoxButton extends XPStyle.GlyphButton { public XPComboBoxButton() { super(null, @@ -459,6 +460,7 @@ public class WindowsComboBoxUI extends BasicComboBoxUI { * @deprecated As of Java 2 platform v1.4. */ @Deprecated + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class WindowsComboPopup extends BasicComboPopup { public WindowsComboPopup( JComboBox cBox ) { @@ -510,6 +512,7 @@ public class WindowsComboBoxUI extends BasicComboBoxUI { * Subclassed to set opacity {@code false} on the renderer * and to show border for focused cells. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class WindowsComboBoxRenderer extends BasicComboBoxRenderer.UIResource { private static final Object BORDER_KEY diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopManager.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopManager.java index a0c794559bc..16eef680706 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopManager.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopManager.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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,7 @@ import java.lang.ref.WeakReference; * @see javax.swing.DefaultDesktopManager * @author Thomas Ball */ +@SuppressWarnings("serial") // JDK-implementation class public class WindowsDesktopManager extends DefaultDesktopManager implements java.io.Serializable, javax.swing.plaf.UIResource { diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java index 48b5010946a..0def92eba15 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java @@ -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 @@ -225,7 +225,8 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { fc.add(topPanel, BorderLayout.NORTH); // ComboBox Label - lookInLabel = new JLabel(lookInLabelText, JLabel.TRAILING) { + @SuppressWarnings("serial") // anonymous class + JLabel tmp1 = new JLabel(lookInLabelText, JLabel.TRAILING) { public Dimension getPreferredSize() { return getMinimumSize(); } @@ -238,6 +239,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { return d; } }; + lookInLabel = tmp1; lookInLabel.setDisplayedMnemonic(lookInLabelMnemonic); lookInLabel.setAlignmentX(JComponent.LEFT_ALIGNMENT); lookInLabel.setAlignmentY(JComponent.CENTER_ALIGNMENT); @@ -245,7 +247,8 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { topPanel.add(Box.createRigidArea(new Dimension(8,0))); // CurrentDir ComboBox - directoryComboBox = new JComboBox<File>() { + @SuppressWarnings("serial") // anonymous class + JComboBox<File> tmp2 = new JComboBox<File>() { public Dimension getMinimumSize() { Dimension d = super.getMinimumSize(); d.width = 60; @@ -259,6 +262,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { return d; } }; + directoryComboBox = tmp2; directoryComboBox.putClientProperty( "JComboBox.lightweightKeyboardNavigation", "Lightweight" ); lookInLabel.setLabelFor(directoryComboBox); directoryComboBoxModel = createDirectoryComboBoxModel(fc); @@ -416,12 +420,13 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { fileAndFilterPanel.add(Box.createRigidArea(vstrut8)); fileAndFilterPanel.setLayout(new BoxLayout(fileAndFilterPanel, BoxLayout.Y_AXIS)); - - filenameTextField = new JTextField(35) { + @SuppressWarnings("serial") // anonymous class + JTextField tmp3 = new JTextField(35) { public Dimension getMaximumSize() { return new Dimension(Short.MAX_VALUE, super.getPreferredSize().height); } }; + filenameTextField = tmp3; fileNameLabel.setLabelFor(filenameTextField); filenameTextField.addFocusListener( @@ -456,12 +461,14 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { // buttons getButtonPanel().setLayout(new BoxLayout(getButtonPanel(), BoxLayout.Y_AXIS)); - approveButton = new JButton(getApproveButtonText(fc)) { + @SuppressWarnings("serial") // anonymous class + JButton tmp4 = new JButton(getApproveButtonText(fc)) { public Dimension getMaximumSize() { return approveButton.getPreferredSize().width > cancelButton.getPreferredSize().width ? approveButton.getPreferredSize() : cancelButton.getPreferredSize(); } }; + approveButton = tmp4; Insets buttonMargin = approveButton.getMargin(); buttonMargin = new InsetsUIResource(buttonMargin.top, buttonMargin.left + 5, buttonMargin.bottom, buttonMargin.right + 5); @@ -473,12 +480,14 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { getButtonPanel().add(approveButton); getButtonPanel().add(Box.createRigidArea(vstrut4)); - cancelButton = new JButton(cancelButtonText) { + @SuppressWarnings("serial") // anonymous class + JButton tmp5 = new JButton(cancelButtonText) { public Dimension getMaximumSize() { return approveButton.getPreferredSize().width > cancelButton.getPreferredSize().width ? approveButton.getPreferredSize() : cancelButton.getPreferredSize(); } }; + cancelButton = tmp5; cancelButton.setMargin(buttonMargin); cancelButton.setToolTipText(cancelButtonToolTipText); cancelButton.addActionListener(getCancelSelectionAction()); @@ -589,6 +598,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { } // Obsolete class, not used in this version. + @SuppressWarnings("serial") protected class WindowsNewFolderAction extends NewFolderAction { } @@ -597,6 +607,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { } // Obsolete class, not used in this version. + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FileRenderer extends DefaultListCellRenderer { } @@ -917,6 +928,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { return new DirectoryComboBoxRenderer(); } + @SuppressWarnings("serial") // anonymous class private static JButton createToolButton(Action a, Icon defaultIcon, String toolTipText, String accessibleName) { final JButton result = new JButton(a); @@ -979,6 +991,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { // // Renderer for DirectoryComboBox // + @SuppressWarnings("serial") // Superclass is not serializable across versions class DirectoryComboBoxRenderer extends DefaultListCellRenderer { IndentIcon ii = new IndentIcon(); public Component getListCellRendererComponent(JList list, Object value, @@ -1036,6 +1049,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { /** * Data model for a type-face selection combo-box. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryComboBoxModel extends AbstractListModel<File> implements ComboBoxModel<File> { Vector<File> directories = new Vector<File>(); int[] depths = null; @@ -1168,6 +1182,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { /** * Render different type sizes and styles. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class FilterComboBoxRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, @@ -1193,6 +1208,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI { /** * Data model for a type-face selection combo-box. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FilterComboBoxModel extends AbstractListModel<FileFilter> implements ComboBoxModel<FileFilter>, PropertyChangeListener { protected FileFilter[] filters; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsIconFactory.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsIconFactory.java index 3bc26eb46c3..0a4cfce44bf 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsIconFactory.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsIconFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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,7 @@ import sun.swing.MenuItemCheckIconFactory; * @author Georges Saab * @author Rich Schiavi */ +@SuppressWarnings("serial") // Same-version serialization only public class WindowsIconFactory implements Serializable { private static Icon frame_closeIcon; @@ -160,6 +161,7 @@ public class WindowsIconFactory implements Serializable } + @SuppressWarnings("serial") // Same-version serialization only private static class FrameButtonIcon implements Icon, Serializable { private Part part; @@ -296,6 +298,7 @@ public class WindowsIconFactory implements Serializable + @SuppressWarnings("serial") // Same-version serialization only private static class ResizeIcon implements Icon, Serializable { public void paintIcon(Component c, Graphics g, int x, int y) { g.setColor(UIManager.getColor("InternalFrame.resizeIconHighlight")); @@ -315,6 +318,7 @@ public class WindowsIconFactory implements Serializable public int getIconHeight() { return 13; } }; + @SuppressWarnings("serial") // Same-version serialization only private static class CheckBoxIcon implements Icon, Serializable { final static int csize = 13; @@ -428,6 +432,7 @@ public class WindowsIconFactory implements Serializable } } + @SuppressWarnings("serial") // Same-version serialization only private static class RadioButtonIcon implements Icon, UIResource, Serializable { public void paintIcon(Component c, Graphics g, int x, int y) { @@ -542,6 +547,7 @@ public class WindowsIconFactory implements Serializable } // end class RadioButtonIcon + @SuppressWarnings("serial") // Same-version serialization only private static class CheckBoxMenuItemIcon implements Icon, UIResource, Serializable { public void paintIcon(Component c, Graphics g, int x, int y) { @@ -567,6 +573,7 @@ public class WindowsIconFactory implements Serializable } // End class CheckBoxMenuItemIcon + @SuppressWarnings("serial") // Same-version serialization only private static class RadioButtonMenuItemIcon implements Icon, UIResource, Serializable { public void paintIcon(Component c, Graphics g, int x, int y) { @@ -583,6 +590,7 @@ public class WindowsIconFactory implements Serializable } // End class RadioButtonMenuItemIcon + @SuppressWarnings("serial") // Same-version serialization only private static class MenuItemCheckIcon implements Icon, UIResource, Serializable{ public void paintIcon(Component c, Graphics g, int x, int y) { /* For debugging: @@ -597,6 +605,7 @@ public class WindowsIconFactory implements Serializable } // End class MenuItemCheckIcon + @SuppressWarnings("serial") // Same-version serialization only private static class MenuItemArrowIcon implements Icon, UIResource, Serializable { public void paintIcon(Component c, Graphics g, int x, int y) { /* For debugging: @@ -611,6 +620,7 @@ public class WindowsIconFactory implements Serializable } // End class MenuItemArrowIcon + @SuppressWarnings("serial") // Same-version serialization only private static class MenuArrowIcon implements Icon, UIResource, Serializable { public void paintIcon(Component c, Graphics g, int x, int y) { if (WindowsMenuItemUI.isVistaPainting()) { @@ -722,6 +732,7 @@ public class WindowsIconFactory implements Serializable * JRadioButtonMenuItem. * Note: to be used on Vista only. */ + @SuppressWarnings("serial") // Same-version serialization only private static class VistaMenuItemCheckIcon implements Icon, UIResource, Serializable { diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java index d3ccff28323..c654c5a7046 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java @@ -41,6 +41,7 @@ import java.beans.PropertyVetoException; import static com.sun.java.swing.plaf.windows.TMSchema.*; import static com.sun.java.swing.plaf.windows.XPStyle.Skin; +@SuppressWarnings("serial") // Superclass is not serializable across versions public class WindowsInternalFrameTitlePane extends BasicInternalFrameTitlePane { private Color selectedTitleGradientColor; private Color notSelectedTitleGradientColor; @@ -267,7 +268,8 @@ public class WindowsInternalFrameTitlePane extends BasicInternalFrameTitlePane { systemPopupMenu = new JPopupMenu(); addSystemMenuItems(systemPopupMenu); enableActions(); - systemLabel = new JLabel(frame.getFrameIcon()) { + @SuppressWarnings("serial") // anonymous class + JLabel tmp = new JLabel(frame.getFrameIcon()) { protected void paintComponent(Graphics g) { int x = 0; int y = 0; @@ -303,6 +305,7 @@ public class WindowsInternalFrameTitlePane extends BasicInternalFrameTitlePane { g.dispose(); } }; + systemLabel = tmp; systemLabel.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2 && frame.isClosable() && diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameUI.java index a61270dc22c..66b038d2ec5 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2005, 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 @@ -88,6 +88,7 @@ public class WindowsInternalFrameUI extends BasicInternalFrameUI return titlePane; } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class XPBorder extends AbstractBorder { private Skin leftSkin = xp.getSkin(frame, Part.WP_FRAMELEFT); private Skin rightSkin = xp.getSkin(frame, Part.WP_FRAMERIGHT); diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java index d063e23a660..00530fa19ea 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java @@ -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 @@ -52,6 +52,7 @@ import javax.swing.*; import javax.swing.plaf.basic.*; import javax.swing.border.*; import javax.swing.text.DefaultEditorKit; +import static javax.swing.UIDefaults.LazyValue; import java.awt.Font; import java.awt.Color; @@ -67,9 +68,10 @@ import sun.security.action.GetPropertyAction; import sun.swing.DefaultLayoutStyle; import sun.swing.ImageIconUIResource; -import sun.swing.SwingLazyValue; +import sun.swing.icon.SortArrowIcon; import sun.swing.SwingUtilities2; import sun.swing.StringUIClientPropertyKey; +import sun.swing.plaf.windows.ClassicSortArrowIcon; import static com.sun.java.swing.plaf.windows.TMSchema.*; import static com.sun.java.swing.plaf.windows.XPStyle.Skin; @@ -90,6 +92,7 @@ import com.sun.java.swing.plaf.windows.WindowsIconFactory.VistaMenuItemCheckIcon * * @author unattributed */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class WindowsLookAndFeel extends BasicLookAndFeel { /** @@ -296,27 +299,11 @@ public class WindowsLookAndFeel extends BasicLookAndFeel initResourceBundle(table); // *** Shared Fonts - Integer twelve = Integer.valueOf(12); - Integer fontPlain = Integer.valueOf(Font.PLAIN); - Integer fontBold = Integer.valueOf(Font.BOLD); + LazyValue dialogPlain12 = t -> new FontUIResource(Font.DIALOG, Font.PLAIN, 12); - Object dialogPlain12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.DIALOG, fontPlain, twelve}); - - Object sansSerifPlain12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.SANS_SERIF, fontPlain, twelve}); - Object monospacedPlain12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.MONOSPACED, fontPlain, twelve}); - Object dialogBold12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.DIALOG, fontBold, twelve}); + LazyValue sansSerifPlain12 = t -> new FontUIResource(Font.SANS_SERIF, Font.PLAIN, 12); + LazyValue monospacedPlain12 = t -> new FontUIResource(Font.MONOSPACED, Font.PLAIN, 12); + LazyValue dialogBold12 = t -> new FontUIResource(Font.DIALOG, Font.BOLD, 12); // *** Colors // XXX - some of these doens't seem to be used @@ -757,9 +744,7 @@ public class WindowsLookAndFeel extends BasicLookAndFeel "FileChooser.listViewBackground", new XPColorValue(Part.LVP_LISTVIEW, null, Prop.FILLCOLOR, WindowBackgroundColor), "FileChooser.listViewBorder", new XPBorderValue(Part.LVP_LISTVIEW, - new SwingLazyValue( - "javax.swing.plaf.BorderUIResource", - "getLoweredBevelBorderUIResource")), + (LazyValue) t -> BorderUIResource.getLoweredBevelBorderUIResource()), "FileChooser.listViewIcon", new LazyWindowsIcon("fileChooserIcon ListView", "icons/ListView.gif"), "FileChooser.listViewWindowsStyle", Boolean.TRUE, @@ -849,15 +834,12 @@ public class WindowsLookAndFeel extends BasicLookAndFeel "InternalFrame.closeIcon", WindowsIconFactory.createFrameCloseIcon(), "InternalFrame.icon", - new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsInternalFrameTitlePane$ScalableIconUIResource", + (LazyValue) t -> new Object[]{ // The constructor takes one arg: an array of UIDefaults.LazyValue // representing the icons - new Object[][] { { SwingUtilities2.makeIcon(getClass(), BasicLookAndFeel.class, "icons/JavaCup16.png"), SwingUtilities2.makeIcon(getClass(), WindowsLookAndFeel.class, "icons/JavaCup32.png") - } }), - + }, // Internal Frame Auditory Cue Mappings "InternalFrame.closeSound", "win.sound.close", "InternalFrame.maximizeSound", "win.sound.maximize", @@ -1715,9 +1697,7 @@ public class WindowsLookAndFeel extends BasicLookAndFeel String POPUP_MENU_BORDER = "PopupMenu.border"; Object popupMenuBorder = new XPBorderValue(Part.MENU, - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getInternalFrameBorder"), + (LazyValue) t -> BasicBorders.getInternalFrameBorder(), BorderFactory.createEmptyBorder(2, 2, 2, 2)); table.put(POPUP_MENU_BORDER, popupMenuBorder); /* END handling menus for Vista */ @@ -1725,14 +1705,10 @@ public class WindowsLookAndFeel extends BasicLookAndFeel /* START table handling for Vista */ table.put("Table.ascendingSortIcon", new XPValue( new SkinIcon(Part.HP_HEADERSORTARROW, State.SORTEDDOWN), - new SwingLazyValue( - "sun.swing.plaf.windows.ClassicSortArrowIcon", - null, new Object[] { Boolean.TRUE }))); + (LazyValue) t -> new ClassicSortArrowIcon(true))); table.put("Table.descendingSortIcon", new XPValue( new SkinIcon(Part.HP_HEADERSORTARROW, State.SORTEDUP), - new SwingLazyValue( - "sun.swing.plaf.windows.ClassicSortArrowIcon", - null, new Object[] { Boolean.FALSE }))); + (LazyValue) t -> new ClassicSortArrowIcon(false))); /* END table handling for Vista */ } @@ -1757,15 +1733,11 @@ public class WindowsLookAndFeel extends BasicLookAndFeel Object buttonBorder = new XPBorderValue(Part.BP_PUSHBUTTON, - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getButtonBorder")); + (LazyValue) t -> BasicBorders.getButtonBorder()); Object textFieldBorder = new XPBorderValue(Part.EP_EDIT, - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getTextFieldBorder")); + (LazyValue) t -> BasicBorders.getTextFieldBorder()); Object textFieldMargin = new XPValue(new InsetsUIResource(2, 2, 2, 2), @@ -1782,44 +1754,27 @@ public class WindowsLookAndFeel extends BasicLookAndFeel Object comboBoxBorder = new XPBorderValue(Part.CP_COMBOBOX, textFieldBorder); // For focus rectangle for cells and trees. - Object focusCellHighlightBorder = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsBorders", - "getFocusCellHighlightBorder"); + LazyValue focusCellHighlightBorder = t -> WindowsBorders.getFocusCellHighlightBorder(); - Object etchedBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource", - "getEtchedBorderUIResource"); + LazyValue etchedBorder = t -> BorderUIResource.getEtchedBorderUIResource(); - Object internalFrameBorder = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsBorders", - "getInternalFrameBorder"); + LazyValue internalFrameBorder = t -> WindowsBorders.getInternalFrameBorder(); - Object loweredBevelBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource", - "getLoweredBevelBorderUIResource"); + LazyValue loweredBevelBorder = t -> BorderUIResource.getLoweredBevelBorderUIResource(); - Object marginBorder = new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders$MarginBorder"); + LazyValue marginBorder = t -> new BasicBorders.MarginBorder(); - Object menuBarBorder = new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getMenuBarBorder"); + LazyValue menuBarBorder = t -> BasicBorders.getMenuBarBorder(); Object popupMenuBorder = new XPBorderValue(Part.MENU, - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getInternalFrameBorder")); + (LazyValue) t -> BasicBorders.getInternalFrameBorder()); // *** ProgressBar - Object progressBarBorder = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsBorders", - "getProgressBarBorder"); + LazyValue progressBarBorder = t -> WindowsBorders.getProgressBarBorder(); - Object radioButtonBorder = new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getRadioButtonBorder"); + LazyValue radioButtonBorder = t -> BasicBorders.getRadioButtonBorder(); Object scrollPaneBorder = new XPBorderValue(Part.LBP_LISTBOX, textFieldBorder); @@ -1827,45 +1782,27 @@ public class WindowsLookAndFeel extends BasicLookAndFeel Object tableScrollPaneBorder = new XPBorderValue(Part.LBP_LISTBOX, loweredBevelBorder); - Object tableHeaderBorder = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsBorders", - "getTableHeaderBorder"); + LazyValue tableHeaderBorder = t -> WindowsBorders.getTableHeaderBorder(); // *** ToolBar - Object toolBarBorder = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsBorders", - "getToolBarBorder"); + LazyValue toolBarBorder = t -> WindowsBorders.getToolBarBorder(); // *** ToolTips - Object toolTipBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource", - "getBlackLineBorderUIResource"); + LazyValue toolTipBorder = t -> BorderUIResource.getBlackLineBorderUIResource(); - Object checkBoxIcon = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsIconFactory", - "getCheckBoxIcon"); + LazyValue checkBoxIcon = t -> WindowsIconFactory.getCheckBoxIcon(); - Object radioButtonIcon = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsIconFactory", - "getRadioButtonIcon"); + LazyValue radioButtonIcon = t -> WindowsIconFactory.getRadioButtonIcon(); - Object radioButtonMenuItemIcon = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsIconFactory", - "getRadioButtonMenuItemIcon"); + LazyValue radioButtonMenuItemIcon = t -> WindowsIconFactory.getRadioButtonMenuItemIcon(); - Object menuItemCheckIcon = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsIconFactory", - "getMenuItemCheckIcon"); + LazyValue menuItemCheckIcon = t -> WindowsIconFactory.getMenuItemCheckIcon(); - Object menuItemArrowIcon = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsIconFactory", - "getMenuItemArrowIcon"); + LazyValue menuItemArrowIcon = t -> WindowsIconFactory.getMenuItemArrowIcon(); - Object menuArrowIcon = new SwingLazyValue( - "com.sun.java.swing.plaf.windows.WindowsIconFactory", - "getMenuArrowIcon"); + LazyValue menuArrowIcon = t -> WindowsIconFactory.getMenuArrowIcon(); Object[] lazyDefaults = { @@ -1910,21 +1847,11 @@ public class WindowsLookAndFeel extends BasicLookAndFeel "InternalFrame.layoutTitlePaneAtOrigin", new XPValue(Boolean.TRUE, Boolean.FALSE), "Table.ascendingSortIcon", new XPValue( - new SwingLazyValue( - "sun.swing.icon.SortArrowIcon", - null, new Object[] { Boolean.TRUE, - "Table.sortIconColor" }), - new SwingLazyValue( - "sun.swing.plaf.windows.ClassicSortArrowIcon", - null, new Object[] { Boolean.TRUE })), + (LazyValue) t -> new SortArrowIcon(true,"Table.sortIconColor"), + (LazyValue) t -> new ClassicSortArrowIcon(true)), "Table.descendingSortIcon", new XPValue( - new SwingLazyValue( - "sun.swing.icon.SortArrowIcon", - null, new Object[] { Boolean.FALSE, - "Table.sortIconColor" }), - new SwingLazyValue( - "sun.swing.plaf.windows.ClassicSortArrowIcon", - null, new Object[] { Boolean.FALSE })), + (LazyValue) t -> new SortArrowIcon(false,"Table.sortIconColor"), + (LazyValue) t -> new ClassicSortArrowIcon(false)), }; return lazyDefaults; @@ -2092,6 +2019,7 @@ public class WindowsLookAndFeel extends BasicLookAndFeel * * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class AudioAction extends AbstractAction { private Runnable audioRunnable; private String audioResource; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsMenuBarUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsMenuBarUI.java index c56b83bef92..73dcf802e33 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsMenuBarUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsMenuBarUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, 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 @@ -134,6 +134,7 @@ public class WindowsMenuBarUI extends BasicMenuBarUI * Action that activates the menu (e.g. when F10 is pressed). * Unlike BasicMenuBarUI.TakeFocus, this Action will not show menu popup. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class TakeFocus extends AbstractAction { public void actionPerformed(ActionEvent e) { JMenuBar menuBar = (JMenuBar)e.getSource(); diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPopupWindow.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPopupWindow.java index 9534346ac8e..61330225c82 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPopupWindow.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPopupWindow.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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,6 +49,7 @@ import java.awt.Graphics; * * @author Amy Fowler */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class WindowsPopupWindow extends JWindow { static final int UNDEFINED_WINDOW_TYPE = 0; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsScrollBarUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsScrollBarUI.java index 2052617c7d6..279bdb72b79 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsScrollBarUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsScrollBarUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2008, 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,6 +273,7 @@ public class WindowsScrollBarUI extends BasicScrollBarUI { * document up/down. It differs from BasicArrowButton in that the * preferred size is always a square. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class WindowsArrowButton extends BasicArrowButton { public WindowsArrowButton(int direction, Color background, Color shadow, diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSplitPaneDivider.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSplitPaneDivider.java index 4f272a530d3..327162e62bf 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSplitPaneDivider.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSplitPaneDivider.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -44,6 +44,7 @@ import javax.swing.plaf.basic.BasicSplitPaneDivider; * * @author Jeff Dinkins */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class WindowsSplitPaneDivider extends BasicSplitPaneDivider { diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java index 391f019ae6f..c5101177f40 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, 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 @@ -71,6 +71,7 @@ public class WindowsTableHeaderUI extends BasicTableHeaderUI { } } + @SuppressWarnings("serial") // JDK-implementation class private class XPDefaultRenderer extends DefaultTableCellHeaderRenderer { Skin skin; boolean isSelected, hasFocus, hasRollover; diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java index 420b742cb1d..917f7a4ec27 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java @@ -100,6 +100,7 @@ public class WindowsTextFieldUI extends BasicTextFieldUI * WindowsFieldCaret has different scrolling behavior than * DefaultCaret. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class WindowsFieldCaret extends DefaultCaret implements UIResource { public WindowsFieldCaret() { diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java index a4e0b805597..04c773c4e6c 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java @@ -62,6 +62,7 @@ public abstract class WindowsTextUI extends BasicTextUI { static LayeredHighlighter.LayerPainter WindowsPainter = new WindowsHighlightPainter(null); /* public */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class WindowsCaret extends DefaultCaret implements UIResource { /** diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java index 63c817db28a..d532090669c 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java @@ -127,6 +127,7 @@ public class WindowsTreeUI extends BasicTreeUI { * version of Swing. A future release of Swing will provide support for * long term persistence. */ + @SuppressWarnings("serial") // Same-version serialization only public static class ExpandedIcon implements Icon, Serializable { static public Icon createExpandedIcon() { @@ -179,6 +180,7 @@ public class WindowsTreeUI extends BasicTreeUI { * version of Swing. A future release of Swing will provide support for * long term persistence. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class CollapsedIcon extends ExpandedIcon { static public Icon createCollapsedIcon() { return new CollapsedIcon(); @@ -195,6 +197,7 @@ public class WindowsTreeUI extends BasicTreeUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public class WindowsTreeCellRenderer extends DefaultTreeCellRenderer { /** diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/XPStyle.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/XPStyle.java index 7379533adef..bc1404e9227 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/XPStyle.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/XPStyle.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2007, 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 @@ -305,6 +305,7 @@ class XPStyle { return border; } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class XPFillBorder extends LineBorder implements UIResource { XPFillBorder(Color color, int thickness) { super(color, thickness); @@ -333,6 +334,7 @@ class XPStyle { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class XPStatefulFillBorder extends XPFillBorder { private final Part part; private final Prop prop; @@ -360,6 +362,7 @@ class XPStyle { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class XPImageBorder extends AbstractBorder implements UIResource { Skin skin; @@ -399,6 +402,7 @@ class XPStyle { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class XPEmptyBorder extends EmptyBorder implements UIResource { XPEmptyBorder(Insets m) { super(m.top+2, m.left+2, m.bottom+2, m.right+2); @@ -674,6 +678,7 @@ class XPStyle { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions static class GlyphButton extends JButton { private Skin skin; 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/com/sun/jmx/remote/internal/ClientNotifForwarder.java b/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java index 305672b99a0..68379a7ebbd 100644 --- a/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java +++ b/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java @@ -787,6 +787,14 @@ public abstract class ClientNotifForwarder { if (!reconnected) { try { NotificationResult nr = fetchNotifs(-1, 0, 0); + + if (state != STOPPED) { // JDK-8038940 + // reconnection must happen during + // fetchNotifs(-1, 0, 0), and a new + // thread takes over the fetching job + return; + } + clientSequenceNumber = nr.getNextSequenceNumber(); } catch (ClassNotFoundException e) { // can't happen diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/Enumerated.java b/jdk/src/share/classes/com/sun/jmx/snmp/Enumerated.java index bc39e6f2141..cc3d29bbb1a 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/Enumerated.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/Enumerated.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2012, 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 @@ -45,7 +45,7 @@ import java.util.*; * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ - +@SuppressWarnings("serial") // JDK implementation class abstract public class Enumerated implements Serializable { /** diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/Host.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/Host.java index 8a92692ac87..b502f79509a 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/Host.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/Host.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2007, 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 @@ -44,6 +44,7 @@ import static com.sun.jmx.defaults.JmxProperties.SNMP_LOGGER; * The class defines an abstract representation of a host. * */ +@SuppressWarnings("serial") // JDK implementation class abstract class Host extends SimpleNode implements Serializable { public Host(int id) { diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPdu.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPdu.java index 512fb4eeb68..77a4ed35a70 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPdu.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPdu.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -45,6 +45,7 @@ import java.net.InetAddress; * * @since 1.5 */ +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpPdu implements SnmpDefinitions, Serializable { /** diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpScopedPduPacket.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpScopedPduPacket.java index 8917745e225..934980ffce4 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpScopedPduPacket.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpScopedPduPacket.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -47,6 +47,7 @@ import com.sun.jmx.snmp.SnmpDefinitions; * * @since 1.5 */ +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpScopedPduPacket extends SnmpPdu implements Serializable { /** diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpUnsignedInt.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpUnsignedInt.java index f681742c6ad..58002102823 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpUnsignedInt.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpUnsignedInt.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2007, 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,7 +34,7 @@ package com.sun.jmx.snmp; * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ - +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpUnsignedInt extends SnmpInt { /** diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpValue.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpValue.java index 9afac04617e..93745190800 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpValue.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpValue.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2007, 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 @@ -38,7 +38,7 @@ import java.io.Serializable; * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ - +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpValue implements Cloneable, Serializable, SnmpDataTypeEnums { /** diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java index 4e54f68d381..bc993761297 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java @@ -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 @@ -59,6 +59,7 @@ import com.sun.jmx.snmp.SnmpStatusException; * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpMib extends SnmpMibAgent implements Serializable { /** diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java index 16b26785af8..74e4369f98c 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -59,7 +59,7 @@ import com.sun.jmx.snmp.SnmpEngine; * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ - +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpMibAgent implements SnmpMibAgentMBean, MBeanRegistration, Serializable { diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java index 018ce2f089f..1988cf0a149 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2007, 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 @@ -41,7 +41,7 @@ import com.sun.jmx.snmp.SnmpStatusException; * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ - +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpMibEntry extends SnmpMibNode implements Serializable { diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java index 896b612eb12..b689ef287e7 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.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 @@ -49,7 +49,7 @@ import com.sun.jmx.snmp.SnmpStatusException; * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ - +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpMibGroup extends SnmpMibOid implements Serializable { diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java index 3af24a9cd4f..f7cc326aa96 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2007, 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 @@ -53,7 +53,7 @@ import com.sun.jmx.snmp.SnmpStatusException; * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> */ - +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpMibNode implements Serializable { // --------------------------------------------------------------------- diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java index 9b8f43d9a5a..525500d26c8 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java @@ -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 @@ -84,7 +84,7 @@ import com.sun.jmx.snmp.SnmpVarBind; * @see com.sun.jmx.snmp.agent.SnmpTableSupport * */ - +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpMibTable extends SnmpMibNode implements NotificationBroadcaster, Serializable { diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java index bc0214c4eb3..9759f9b6d8f 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -80,6 +80,7 @@ import com.sun.jmx.snmp.SnmpStatusException; * @see com.sun.jmx.snmp.agent.SnmpMibTable * */ +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpTableSupport implements SnmpTableEntryFactory, // NPCTE fix for bugId 4499265, esc 0, MR 04 sept 2001 // SnmpTableCallbackHandler { diff --git a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java index a3359bdc675..137a5d4ae25 100644 --- a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java +++ b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java @@ -108,6 +108,7 @@ public class ResolverDirectHTTP extends ResourceResolverSpi { @Override public XMLSignatureInput engineResolveURI(ResourceResolverContext context) throws ResourceResolverException { + InputStream inputStream = null; try { // calculate new URI @@ -139,7 +140,7 @@ public class ResolverDirectHTTP extends ResourceResolverSpi { } String mimeType = urlConnection.getHeaderField("Content-Type"); - InputStream inputStream = urlConnection.getInputStream(); + inputStream = urlConnection.getInputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte buf[] = new byte[4096]; int read = 0; @@ -168,6 +169,16 @@ public class ResolverDirectHTTP extends ResourceResolverSpi { throw new ResourceResolverException("generic.EmptyMessage", ex, context.attr, context.baseUri); } catch (IllegalArgumentException e) { throw new ResourceResolverException("generic.EmptyMessage", e, context.attr, context.baseUri); + } finally { + if (inputStream != null) { + try { + inputStream.close(); + } catch (IOException e) { + if (log.isLoggable(java.util.logging.Level.FINE)) { + log.log(java.util.logging.Level.FINE, e.getMessage(), e); + } + } + } } } diff --git a/jdk/src/share/classes/java/awt/BorderLayout.java b/jdk/src/share/classes/java/awt/BorderLayout.java index 807531034fb..c86fd512134 100644 --- a/jdk/src/share/classes/java/awt/BorderLayout.java +++ b/jdk/src/share/classes/java/awt/BorderLayout.java @@ -115,7 +115,7 @@ import java.util.Hashtable; * } * } * </pre></blockquote><hr> - * <p> + * * @author Arthur van Hoff * @see java.awt.Container#add(String, Component) * @see java.awt.ComponentOrientation @@ -414,8 +414,7 @@ public class BorderLayout implements LayoutManager2, * the component is added to the layout. * @see java.awt.Container#add(java.awt.Component, java.lang.Object) * @exception IllegalArgumentException if the constraint object is not - * a string, or if it not one of the five specified - * constants. + * a string, or if it not one of the five specified constants. * @since JDK1.1 */ public void addLayoutComponent(Component comp, Object constraints) { diff --git a/jdk/src/share/classes/java/awt/CheckboxGroup.java b/jdk/src/share/classes/java/awt/CheckboxGroup.java index 7037e685337..53a8bb5fd7a 100644 --- a/jdk/src/share/classes/java/awt/CheckboxGroup.java +++ b/jdk/src/share/classes/java/awt/CheckboxGroup.java @@ -49,7 +49,7 @@ package java.awt; * <img src="doc-files/CheckboxGroup-1.gif" * alt="Shows three checkboxes, arranged vertically, labeled one, two, and three. Checkbox one is in the on state." * style="float:center; margin: 7px 10px;"> - * <p> + * * @author Sami Shaio * @see java.awt.Checkbox * @since JDK1.0 diff --git a/jdk/src/share/classes/java/awt/Choice.java b/jdk/src/share/classes/java/awt/Choice.java index 1a75f903c3d..8cd6bdbdc1d 100644 --- a/jdk/src/share/classes/java/awt/Choice.java +++ b/jdk/src/share/classes/java/awt/Choice.java @@ -65,7 +65,7 @@ import javax.accessibility.*; * Native GUI <code>Choice</code> components' size are often bound by such * attributes as font size and length of items contained within * the <code>Choice</code>. - * <p> + * * @author Sami Shaio * @author Arthur van Hoff * @since JDK1.0 diff --git a/jdk/src/share/classes/java/awt/EventQueue.java b/jdk/src/share/classes/java/awt/EventQueue.java index 0c009a17f67..ee553ecba3e 100644 --- a/jdk/src/share/classes/java/awt/EventQueue.java +++ b/jdk/src/share/classes/java/awt/EventQueue.java @@ -680,7 +680,7 @@ public class EventQueue { * <td>No action (ignored)</td> * </tr> * </table> - * <p> + * * @param event an instance of <code>java.awt.AWTEvent</code>, * or a subclass of it * @throws NullPointerException if <code>event</code> is <code>null</code> @@ -1015,7 +1015,6 @@ public class EventQueue { * methods to execute a task in * {@link Toolkit#getSystemEventQueue the current AWT EventQueue}'s * dispatch thread. - * <p> * * @return true if running in * {@link Toolkit#getSystemEventQueue the current AWT EventQueue}'s diff --git a/jdk/src/share/classes/java/awt/GridBagLayoutInfo.java b/jdk/src/share/classes/java/awt/GridBagLayoutInfo.java index a7d259c77ff..f92cc7098b0 100644 --- a/jdk/src/share/classes/java/awt/GridBagLayoutInfo.java +++ b/jdk/src/share/classes/java/awt/GridBagLayoutInfo.java @@ -29,7 +29,7 @@ package java.awt; * The {@code GridBagLayoutInfo} is an utility class for * {@code GridBagLayout} layout manager. * It stores align, size and baseline parameters for every component within a container. - * <p> + * * @see java.awt.GridBagLayout * @see java.awt.GridBagConstraints * @since 1.6 diff --git a/jdk/src/share/classes/java/awt/PointerInfo.java b/jdk/src/share/classes/java/awt/PointerInfo.java index 9418d3d134f..9b51d6ead36 100644 --- a/jdk/src/share/classes/java/awt/PointerInfo.java +++ b/jdk/src/share/classes/java/awt/PointerInfo.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 @@ -23,62 +23,59 @@ * questions. */ + package java.awt; /** * A class that describes the pointer position. - * It provides the <code>GraphicsDevice</code> where the - * pointer is and the <code>Point</code> that represents - * the coordinates of the pointer. + * It provides the {@code GraphicsDevice} where the pointer is and + * the {@code Point} that represents the coordinates of the pointer. * <p> * Instances of this class should be obtained via * {@link MouseInfo#getPointerInfo}. - * The <code>PointerInfo</code> instance is not updated dynamically - * as the mouse moves. To get the updated location, you must call + * The {@code PointerInfo} instance is not updated dynamically as the mouse + * moves. To get the updated location, you must call * {@link MouseInfo#getPointerInfo} again. * * @see MouseInfo#getPointerInfo - * @author Roman Poborchiy - * @since 1.5 + * @author Roman Poborchiy + * @since 1.5 */ - public class PointerInfo { - private GraphicsDevice device; - private Point location; + private final GraphicsDevice device; + private final Point location; /** * Package-private constructor to prevent instantiation. */ - PointerInfo(GraphicsDevice device, Point location) { + PointerInfo(final GraphicsDevice device, final Point location) { this.device = device; this.location = location; } /** - * Returns the <code>GraphicsDevice</code> where the mouse pointer - * was at the moment this <code>PointerInfo</code> was created. + * Returns the {@code GraphicsDevice} where the mouse pointer was at the + * moment this {@code PointerInfo} was created. * - * @return <code>GraphicsDevice</code> corresponding to the pointer - * @since 1.5 + * @return {@code GraphicsDevice} corresponding to the pointer + * @since 1.5 */ public GraphicsDevice getDevice() { return device; } /** - * Returns the <code>Point</code> that represents the coordinates - * of the pointer on the screen. See {@link MouseInfo#getPointerInfo} - * for more information about coordinate calculation for multiscreen - * systems. + * Returns the {@code Point} that represents the coordinates of the pointer + * on the screen. See {@link MouseInfo#getPointerInfo} for more information + * about coordinate calculation for multiscreen systems. * + * @return coordinates of mouse pointer * @see MouseInfo * @see MouseInfo#getPointerInfo - * @return coordinates of mouse pointer - * @since 1.5 + * @since 1.5 */ public Point getLocation() { return location; } - } diff --git a/jdk/src/share/classes/java/awt/Robot.java b/jdk/src/share/classes/java/awt/Robot.java index 39534898521..cc734dd45a2 100644 --- a/jdk/src/share/classes/java/awt/Robot.java +++ b/jdk/src/share/classes/java/awt/Robot.java @@ -76,7 +76,6 @@ public class Robot { /** * Constructs a Robot object in the coordinate system of the primary screen. - * <p> * * @throws AWTException if the platform configuration does not allow * low-level input control. This exception is always thrown when diff --git a/jdk/src/share/classes/java/awt/TextArea.java b/jdk/src/share/classes/java/awt/TextArea.java index 34b21379901..f86de9a9c49 100644 --- a/jdk/src/share/classes/java/awt/TextArea.java +++ b/jdk/src/share/classes/java/awt/TextArea.java @@ -49,7 +49,7 @@ import javax.accessibility.*; * <hr><blockquote><pre> * new TextArea("Hello", 5, 40); * </pre></blockquote><hr> - * <p> + * * @author Sami Shaio * @since JDK1.0 */ diff --git a/jdk/src/share/classes/java/awt/Toolkit.java b/jdk/src/share/classes/java/awt/Toolkit.java index f13005d97d4..90f9f24d147 100644 --- a/jdk/src/share/classes/java/awt/Toolkit.java +++ b/jdk/src/share/classes/java/awt/Toolkit.java @@ -2590,7 +2590,7 @@ public abstract class Toolkit { * If not set by the time of the {@code Toolkit} class initialization, this property will be * initialized with {@code true}. * Changing this value after the {@code Toolkit} class initialization will have no effect. - * <p> + * * @exception HeadlessException if GraphicsEnvironment.isHeadless() returns true * @return {@code true} if events from extra mouse buttons are allowed to be processed and posted; * {@code false} otherwise diff --git a/jdk/src/share/classes/java/awt/TrayIcon.java b/jdk/src/share/classes/java/awt/TrayIcon.java index 22f02cf6c87..5199b0cc064 100644 --- a/jdk/src/share/classes/java/awt/TrayIcon.java +++ b/jdk/src/share/classes/java/awt/TrayIcon.java @@ -231,7 +231,7 @@ public class TrayIcon { /** * Sets the image for this <code>TrayIcon</code>. The previous * tray icon image is discarded without calling the {@link - * java.awt.Image#flush} method — you will need to call it + * java.awt.Image#flush} method — you will need to call it * manually. * * <p> If the image represents an animated image, it will be @@ -368,7 +368,7 @@ public class TrayIcon { * * <p> If auto-size is <code>false</code>, and the image size * doesn't match the tray icon space, the image is painted as-is - * inside that space — if larger than the allocated space, it will + * inside that space — if larger than the allocated space, it will * be cropped. * * <p> If auto-size is <code>true</code>, the image is stretched or shrunk to diff --git a/jdk/src/share/classes/java/awt/Window.java b/jdk/src/share/classes/java/awt/Window.java index 6b8cb17233a..801b643a15e 100644 --- a/jdk/src/share/classes/java/awt/Window.java +++ b/jdk/src/share/classes/java/awt/Window.java @@ -2550,7 +2550,7 @@ public class Window extends Container implements Accessible { * a non-focusable Window. * * Setting the focusability state on a visible {@code Window} - * can have a delayed effect on some platforms — the actual + * can have a delayed effect on some platforms — the actual * change may happen only when the {@code Window} becomes * hidden and then visible again. To ensure consistent behavior * across platforms, set the {@code Window}'s focusable state 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/awt/im/spi/InputMethodContext.java b/jdk/src/share/classes/java/awt/im/spi/InputMethodContext.java index 45517c37b23..747b3d21deb 100644 --- a/jdk/src/share/classes/java/awt/im/spi/InputMethodContext.java +++ b/jdk/src/share/classes/java/awt/im/spi/InputMethodContext.java @@ -85,7 +85,7 @@ public interface InputMethodContext extends InputMethodRequests { * <p> * Input methods must call {@link java.awt.Window#dispose() Window.dispose} on the * returned input method window when it is no longer needed. - * <p> + * * @param title the title to be displayed in the window's title bar, * if there is such a title bar. * A <code>null</code> value is treated as an empty string, "". @@ -117,7 +117,7 @@ public interface InputMethodContext extends InputMethodRequests { * <p> * Input methods must call {@link java.awt.Window#dispose() Window.dispose} on the * returned input method window when it is no longer needed. - * <p> + * * @param title the title to be displayed in the window's title bar, * if there is such a title bar. * A <code>null</code> value is treated as an empty string, "". diff --git a/jdk/src/share/classes/java/awt/peer/CheckboxMenuItemPeer.java b/jdk/src/share/classes/java/awt/peer/CheckboxMenuItemPeer.java index 5741b21c8ce..f9535131b21 100644 --- a/jdk/src/share/classes/java/awt/peer/CheckboxMenuItemPeer.java +++ b/jdk/src/share/classes/java/awt/peer/CheckboxMenuItemPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 1998, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 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 @@ -38,12 +38,12 @@ import java.awt.CheckboxMenuItem; public interface CheckboxMenuItemPeer extends MenuItemPeer { /** - * Sets the state of the checkbox to be checked ({@code true}) or - * unchecked ({@code false}). + * Sets the state of the checkbox to be checked {@code true} or + * unchecked {@code false}. * - * @param t the state to set on the checkbox + * @param state the state to set on the checkbox * - * @see CheckboxMenuItemPeer#setState(boolean) + * @see CheckboxMenuItem#setState(boolean) */ - void setState(boolean t); + void setState(boolean state); } diff --git a/jdk/src/share/classes/java/awt/peer/CheckboxPeer.java b/jdk/src/share/classes/java/awt/peer/CheckboxPeer.java index 567d29e0e27..dc0b85f50c2 100644 --- a/jdk/src/share/classes/java/awt/peer/CheckboxPeer.java +++ b/jdk/src/share/classes/java/awt/peer/CheckboxPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 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,7 +24,8 @@ */ package java.awt.peer; -import java.awt.*; +import java.awt.Checkbox; +import java.awt.CheckboxGroup; /** * The peer interface for {@link Checkbox}. @@ -38,8 +39,8 @@ import java.awt.*; public interface CheckboxPeer extends ComponentPeer { /** - * Sets the state of the checkbox to be checked ({@code true}) or - * unchecked ({@code false}). + * Sets the state of the checkbox to be checked {@code true} or + * unchecked {@code false}. * * @param state the state to set on the checkbox * @@ -60,7 +61,7 @@ public interface CheckboxPeer extends ComponentPeer { void setCheckboxGroup(CheckboxGroup g); /** - * Sets the label that should be displayed on the ckeckbox. A value of + * Sets the label that should be displayed on the checkbox. A value of * {@code null} means that no label should be displayed. * * @param label the label to be displayed on the checkbox, or diff --git a/jdk/src/share/classes/java/awt/peer/ComponentPeer.java b/jdk/src/share/classes/java/awt/peer/ComponentPeer.java index 8f0366711e5..5fcc90f8d75 100644 --- a/jdk/src/share/classes/java/awt/peer/ComponentPeer.java +++ b/jdk/src/share/classes/java/awt/peer/ComponentPeer.java @@ -27,11 +27,11 @@ package java.awt.peer; import java.awt.*; import java.awt.event.PaintEvent; -import java.awt.image.ImageProducer; -import java.awt.image.ImageObserver; import java.awt.image.ColorModel; +import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; import java.awt.image.VolatileImage; -import java.awt.GraphicsConfiguration; + import sun.awt.CausedFocusEvent; import sun.java2d.pipe.Region; diff --git a/jdk/src/share/classes/java/awt/peer/TextAreaPeer.java b/jdk/src/share/classes/java/awt/peer/TextAreaPeer.java index 2aa68ed090e..e173cf58b18 100644 --- a/jdk/src/share/classes/java/awt/peer/TextAreaPeer.java +++ b/jdk/src/share/classes/java/awt/peer/TextAreaPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 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 interface TextAreaPeer extends TextComponentPeer { void insert(String text, int pos); /** - * Replaces a range of text by the specified string + * Replaces a range of text by the specified string. * * @param text the replacement string * @param start the begin of the range to replace 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/beans/SimpleBeanInfo.java b/jdk/src/share/classes/java/beans/SimpleBeanInfo.java index 2775b7eb8af..29fd9cc4b5a 100644 --- a/jdk/src/share/classes/java/beans/SimpleBeanInfo.java +++ b/jdk/src/share/classes/java/beans/SimpleBeanInfo.java @@ -108,7 +108,7 @@ public class SimpleBeanInfo implements BeanInfo { * It takes the name of a resource file associated with the * current object's class file and loads an image object * from that file. Typically images will be GIFs. - * <p> + * * @param resourceName A pathname relative to the directory * holding the class file of the current class. For example, * "wombat.gif". diff --git a/jdk/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java b/jdk/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java index 3b6edade049..af95e03e284 100644 --- a/jdk/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java +++ b/jdk/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java @@ -262,7 +262,7 @@ public class BeanContextChildSupport implements BeanContextChild, BeanContextSer * the PropertyVetoException. <P> * * No event is fired if old and new are equal and non-null. - * <P> + * * @param name The programmatic name of the property that is about to * change * diff --git a/jdk/src/share/classes/java/beans/package.html b/jdk/src/share/classes/java/beans/package.html index 9f8234673e7..2b68012cee5 100644 --- a/jdk/src/share/classes/java/beans/package.html +++ b/jdk/src/share/classes/java/beans/package.html @@ -150,7 +150,6 @@ For overview, architecture, and tutorial documentation, please see: <li><a href="http://java.sun.com/docs/books/tutorial/javabeans/">JavaBeans</a>, a trail in <em>The Java Tutorial</em>. <li><a href="http://java.sun.com/products/jfc/tsc/articles/persistence2/">Long-Term Persistence</a>, an article in <em>The Swing Connection</em>. </ul> -<p> </body> </html> diff --git a/jdk/src/share/classes/java/lang/Math.java b/jdk/src/share/classes/java/lang/Math.java index 98e901ac942..4114076ed2d 100644 --- a/jdk/src/share/classes/java/lang/Math.java +++ b/jdk/src/share/classes/java/lang/Math.java @@ -765,8 +765,19 @@ public final class Math { * pseudorandom numbers at a great rate, it may reduce contention * for each thread to have its own pseudorandom-number generator. * + * @apiNote + * As the largest {@code double} value less than {@code 1.0} + * is {@code Math.nextDown(1.0)}, a value {@code x} in the closed range + * {@code [x1,x2]} where {@code x1<=x2} may be defined by the statements + * + * <blockquote><pre>{@code + * double f = Math.random()/Math.nextDown(1.0); + * double x = x1*(1.0 - f) + x2*f; + * }</pre></blockquote> + * * @return a pseudorandom {@code double} greater than or equal * to {@code 0.0} and less than {@code 1.0}. + * @see #nextDown(double) * @see Random#nextDouble() */ public static double random() { diff --git a/jdk/src/share/classes/java/net/DatagramSocket.java b/jdk/src/share/classes/java/net/DatagramSocket.java index 1e095dec731..31344b4391c 100644 --- a/jdk/src/share/classes/java/net/DatagramSocket.java +++ b/jdk/src/share/classes/java/net/DatagramSocket.java @@ -104,7 +104,7 @@ class DatagramSocket implements java.io.Closeable { /** * Connects this socket to a remote socket address (IP address + port number). * Binds socket if not already bound. - * <p> + * * @param address The remote address. * @param port The remote port * @throws SocketException if binding the socket fails. @@ -338,7 +338,7 @@ class DatagramSocket implements java.io.Closeable { * <p> * If the address is {@code null}, then the system will pick up * an ephemeral port and a valid local address to bind the socket. - *<p> + * * @param addr The address and port to bind to. * @throws SocketException if any error happens during the bind, or if the * socket is already bound. @@ -1240,10 +1240,8 @@ class DatagramSocket implements java.io.Closeable { * datagram socket factory. * @exception SocketException if the factory is already defined. * @exception SecurityException if a security manager exists and its - * {@code checkSetFactory} method doesn't allow the - operation. - * @see - java.net.DatagramSocketImplFactory#createDatagramSocketImpl() + * {@code checkSetFactory} method doesn't allow the operation. + * @see java.net.DatagramSocketImplFactory#createDatagramSocketImpl() * @see SecurityManager#checkSetFactory * @since 1.3 */ diff --git a/jdk/src/share/classes/java/net/InetSocketAddress.java b/jdk/src/share/classes/java/net/InetSocketAddress.java index e8a804fa601..87fce160fb2 100644 --- a/jdk/src/share/classes/java/net/InetSocketAddress.java +++ b/jdk/src/share/classes/java/net/InetSocketAddress.java @@ -157,7 +157,7 @@ public class InetSocketAddress * A valid port value is between 0 and 65535. * A port number of {@code zero} will let the system pick up an * ephemeral port in a {@code bind} operation. - * <p> + * * @param port The port number * @throws IllegalArgumentException if the port parameter is outside the specified * range of valid port values. @@ -175,7 +175,7 @@ public class InetSocketAddress * ephemeral port in a {@code bind} operation. * <P> * A {@code null} address will assign the <i>wildcard</i> address. - * <p> + * * @param addr The IP address * @param port The port number * @throws IllegalArgumentException if the port parameter is outside the specified @@ -202,7 +202,7 @@ public class InetSocketAddress * A valid port value is between 0 and 65535. * A port number of {@code zero} will let the system pick up an * ephemeral port in a {@code bind} operation. - * <P> + * * @param hostname the Host name * @param port The port number * @throws IllegalArgumentException if the port parameter is outside the range @@ -239,7 +239,7 @@ public class InetSocketAddress * A valid port value is between 0 and 65535. * A port number of {@code zero} will let the system pick up an * ephemeral port in a {@code bind} operation. - * <P> + * * @param host the Host name * @param port The port number * @throws IllegalArgumentException if the port parameter is outside diff --git a/jdk/src/share/classes/java/net/ServerSocket.java b/jdk/src/share/classes/java/net/ServerSocket.java index 2ee3420d548..e94790dd620 100644 --- a/jdk/src/share/classes/java/net/ServerSocket.java +++ b/jdk/src/share/classes/java/net/ServerSocket.java @@ -157,7 +157,6 @@ class ServerSocket implements java.io.Closeable { * or may choose to ignore the parameter altogther. The value provided * should be greater than {@code 0}. If it is less than or equal to * {@code 0}, then an implementation specific default will be used. - * <P> * * @param port the port number, or {@code 0} to use a port * number that is automatically allocated. @@ -206,7 +205,7 @@ class ServerSocket implements java.io.Closeable { * or may choose to ignore the parameter altogther. The value provided * should be greater than {@code 0}. If it is less than or equal to * {@code 0}, then an implementation specific default will be used. - * <P> + * * @param port the port number, or {@code 0} to use a port * number that is automatically allocated. * @param backlog requested maximum length of the queue of incoming @@ -315,7 +314,7 @@ class ServerSocket implements java.io.Closeable { * <p> * If the address is {@code null}, then the system will pick up * an ephemeral port and a valid local address to bind the socket. - * <p> + * * @param endpoint The IP address and port number to bind to. * @throws IOException if the bind operation fails, or if the socket * is already bound. diff --git a/jdk/src/share/classes/java/net/Socket.java b/jdk/src/share/classes/java/net/Socket.java index dedc8ca1b85..b6df988d14b 100644 --- a/jdk/src/share/classes/java/net/Socket.java +++ b/jdk/src/share/classes/java/net/Socket.java @@ -153,7 +153,7 @@ class Socket implements java.io.Closeable { /** * Creates an unconnected Socket with a user-specified * SocketImpl. - * <P> + * * @param impl an instance of a <B>SocketImpl</B> * the subclass wishes to use on the Socket. * @@ -1245,7 +1245,7 @@ class Socket implements java.io.Closeable { * <ol> * <li>For sockets accepted from a ServerSocket, this must be done by calling * {@link ServerSocket#setReceiveBufferSize(int)} before the ServerSocket - * is bound to a local address.<p></li> + * is bound to a local address.</li> * <li>For client sockets, setReceiveBufferSize() must be called before * connecting the socket to its remote peer.</li></ol> * @param size the size to which to set the receive buffer diff --git a/jdk/src/share/classes/java/net/SocketOptions.java b/jdk/src/share/classes/java/net/SocketOptions.java index 7e1b0fc85b6..cd1539c3530 100644 --- a/jdk/src/share/classes/java/net/SocketOptions.java +++ b/jdk/src/share/classes/java/net/SocketOptions.java @@ -38,7 +38,7 @@ import java.lang.annotation.Native; * DatagramSocketImpl, <B>you won't use these directly.</B> There are * type-safe methods to get/set each of these options in Socket, ServerSocket, * DatagramSocket and MulticastSocket. - * <P> + * * @author David Brown */ diff --git a/jdk/src/share/classes/java/net/SocketPermission.java b/jdk/src/share/classes/java/net/SocketPermission.java index 0f720c52283..51777d90385 100644 --- a/jdk/src/share/classes/java/net/SocketPermission.java +++ b/jdk/src/share/classes/java/net/SocketPermission.java @@ -1001,7 +1001,7 @@ public final class SocketPermission extends Permission /** * Checks two SocketPermission objects for equality. - * <P> + * * @param obj the object to test for equality with this object. * * @return true if <i>obj</i> is a SocketPermission, and has the diff --git a/jdk/src/share/classes/java/net/URI.java b/jdk/src/share/classes/java/net/URI.java index 813de5cf453..0a05793b9a9 100644 --- a/jdk/src/share/classes/java/net/URI.java +++ b/jdk/src/share/classes/java/net/URI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -1337,7 +1337,7 @@ public final class URI */ public String getQuery() { if ((decodedQuery == null) && (query != null)) - decodedQuery = decode(query); + decodedQuery = decode(query, false); return decodedQuery; } @@ -1366,7 +1366,7 @@ public final class URI */ public String getFragment() { if ((decodedFragment == null) && (fragment != null)) - decodedFragment = decode(fragment); + decodedFragment = decode(fragment, false); return decodedFragment; } @@ -2764,6 +2764,12 @@ public final class URI // with a scope_id // private static String decode(String s) { + return decode(s, true); + } + + // This method was introduced as a generalization of URI.decode method + // to provide a fix for JDK-8037396 + private static String decode(String s, boolean ignorePercentInBrackets) { if (s == null) return s; int n = s.length(); @@ -2776,8 +2782,8 @@ public final class URI ByteBuffer bb = ByteBuffer.allocate(n); CharBuffer cb = CharBuffer.allocate(n); CharsetDecoder dec = ThreadLocalCoders.decoderFor("UTF-8") - .onMalformedInput(CodingErrorAction.REPLACE) - .onUnmappableCharacter(CodingErrorAction.REPLACE); + .onMalformedInput(CodingErrorAction.REPLACE) + .onUnmappableCharacter(CodingErrorAction.REPLACE); // This is not horribly efficient, but it will do for now char c = s.charAt(0); @@ -2790,7 +2796,7 @@ public final class URI } else if (betweenBrackets && c == ']') { betweenBrackets = false; } - if (c != '%' || betweenBrackets) { + if (c != '%' || (betweenBrackets && ignorePercentInBrackets)) { sb.append(c); if (++i >= n) break; diff --git a/jdk/src/share/classes/java/net/URL.java b/jdk/src/share/classes/java/net/URL.java index 86d0bf78794..d2042094bc6 100644 --- a/jdk/src/share/classes/java/net/URL.java +++ b/jdk/src/share/classes/java/net/URL.java @@ -867,7 +867,7 @@ public final class URL implements java.io.Serializable { * Creates an integer suitable for hash table indexing.<p> * * The hash code is based upon all the URL components relevant for URL - * comparison. As such, this operation is a blocking operation.<p> + * comparison. As such, this operation is a blocking operation. * * @return a hash code for this {@code URL}. */ diff --git a/jdk/src/share/classes/java/net/URLClassLoader.java b/jdk/src/share/classes/java/net/URLClassLoader.java index f272346ce2f..e448a120bdc 100644 --- a/jdk/src/share/classes/java/net/URLClassLoader.java +++ b/jdk/src/share/classes/java/net/URLClassLoader.java @@ -271,7 +271,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable { * by catching {@link IOException}s internally. Unchecked exceptions * and errors are not caught. Calling close on an already closed * loader has no effect. - * <p> + * * @exception IOException if closing any file opened by this class loader * resulted in an IOException. Any such exceptions are caught internally. * If only one is caught, then it is re-thrown. If more than one exception diff --git a/jdk/src/share/classes/java/net/doc-files/net-properties.html b/jdk/src/share/classes/java/net/doc-files/net-properties.html index 5aac0c8e3bd..d8e8949fc32 100644 --- a/jdk/src/share/classes/java/net/doc-files/net-properties.html +++ b/jdk/src/share/classes/java/net/doc-files/net-properties.html @@ -35,7 +35,8 @@ alter the mechanisms and behavior of the various classes of the java.net package. Some are checked only once at startup of the VM, and therefore are best set using the -D option of the java command, while others have a more dynamic nature and can also be changed using -the <a href="../../lang/System.html#setProperty(java.lang.String, java.lang.String)">System.setProperty()</a> API. The purpose of this document is to list +the <a href="../../lang/System.html#setProperty(java.lang.String,%20java.lang.String)">System.setProperty()</a> API. +The purpose of this document is to list and detail all of these properties.</P> <P>If there is no special note, a property value is checked every time it is used.</P> <a name="Ipv4IPv6"></a> diff --git a/jdk/src/share/classes/java/rmi/activation/ActivationGroup.java b/jdk/src/share/classes/java/rmi/activation/ActivationGroup.java index aa636a7724d..86736549153 100644 --- a/jdk/src/share/classes/java/rmi/activation/ActivationGroup.java +++ b/jdk/src/share/classes/java/rmi/activation/ActivationGroup.java @@ -172,7 +172,7 @@ public abstract class ActivationGroup * * <p>This method simply informs the group's monitor that the object * is inactive. It is up to the concrete subclass of ActivationGroup - * to fulfill the additional requirement of unexporting the object. <p> + * to fulfill the additional requirement of unexporting the object. * * @param id the object's activation identifier * @return true if the object was successfully deactivated; otherwise diff --git a/jdk/src/share/classes/java/rmi/activation/ActivationGroupDesc.java b/jdk/src/share/classes/java/rmi/activation/ActivationGroupDesc.java index ca088c63f77..af9df9ef7da 100644 --- a/jdk/src/share/classes/java/rmi/activation/ActivationGroupDesc.java +++ b/jdk/src/share/classes/java/rmi/activation/ActivationGroupDesc.java @@ -49,7 +49,7 @@ import java.util.Properties; * * <li> the group's <code>ActivationGroupID</code>, and * <li> the group's initialization data (in a - * <code>java.rmi.MarshalledObject</code>)</ul><p> + * <code>java.rmi.MarshalledObject</code>)</ul> * * @author Ann Wollrath * @since 1.2 diff --git a/jdk/src/share/classes/java/rmi/activation/ActivationMonitor.java b/jdk/src/share/classes/java/rmi/activation/ActivationMonitor.java index 116aaf4e559..81fdec02c5e 100644 --- a/jdk/src/share/classes/java/rmi/activation/ActivationMonitor.java +++ b/jdk/src/share/classes/java/rmi/activation/ActivationMonitor.java @@ -63,7 +63,7 @@ public interface ActivationMonitor extends Remote { * reference associated with <code>id</code> as a stale reference. * Since the reference is considered stale, a subsequent * <code>activate</code> call for the same activation identifier - * results in re-activating the remote object.<p> + * results in re-activating the remote object. * * @param id the object's activation identifier * @exception UnknownObjectException if object is unknown diff --git a/jdk/src/share/classes/java/rmi/activation/ActivationSystem.java b/jdk/src/share/classes/java/rmi/activation/ActivationSystem.java index 25b218804c5..ddcb4da1d5d 100644 --- a/jdk/src/share/classes/java/rmi/activation/ActivationSystem.java +++ b/jdk/src/share/classes/java/rmi/activation/ActivationSystem.java @@ -61,7 +61,7 @@ public interface ActivationSystem extends Remote { * receives an <code>activate</code> request for a specific identifier, it * looks up the activation descriptor (registered previously) for * the specified identifier and uses that information to activate - * the object. <p> + * the object. * * @param desc the object's activation descriptor * @return the activation id that can be used to activate the object diff --git a/jdk/src/share/classes/java/rmi/activation/Activator.java b/jdk/src/share/classes/java/rmi/activation/Activator.java index 9dae603a1bb..18fd82ca3a1 100644 --- a/jdk/src/share/classes/java/rmi/activation/Activator.java +++ b/jdk/src/share/classes/java/rmi/activation/Activator.java @@ -53,7 +53,7 @@ import java.rmi.activation.UnknownObjectException; * * The activator is responsible for monitoring and detecting when * activation groups fail so that it can remove stale remote references - * to groups and active object's within those groups.<p> + * to groups and active object's within those groups. * * @author Ann Wollrath * @see ActivationInstantiator @@ -95,7 +95,7 @@ public interface Activator extends Remote { * collection for that object. If the activator kept a strong * reference to the remote object, the activator would then * prevent the object from being garbage collected under the - * normal distributed garbage collection mechanism. <p> + * normal distributed garbage collection mechanism. * * @param id the activation identifier for the object being activated * @param force if true, the activator contacts the group to obtain diff --git a/jdk/src/share/classes/java/security/Provider.java b/jdk/src/share/classes/java/security/Provider.java index e8c7a081b5a..05f670c29bd 100644 --- a/jdk/src/share/classes/java/security/Provider.java +++ b/jdk/src/share/classes/java/security/Provider.java @@ -1332,7 +1332,7 @@ public abstract class Provider extends Properties { addEngine("SSLContext", false, null); addEngine("TrustManagerFactory", false, null); // JGSS - addEngine("GssApiMechanism", false, null); + addEngine("GssApiMechanism", true, "sun.security.jgss.GSSCaller"); // SASL addEngine("SaslClientFactory", false, null); addEngine("SaslServerFactory", false, null); 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/Time.java b/jdk/src/share/classes/java/sql/Time.java index a61ee1cfa8e..46a14b59a80 100644 --- a/jdk/src/share/classes/java/sql/Time.java +++ b/jdk/src/share/classes/java/sql/Time.java @@ -253,7 +253,8 @@ public class Time extends java.util.Date { /** * Obtains an instance of {@code Time} from a {@link LocalTime} object * with the same hour, minute and second time value as the given - * {@code LocalTime}. + * {@code LocalTime}. The nanosecond field from {@code LocalTime} is + * not part of the newly created {@code Time} object. * * @param time a {@code LocalTime} to convert * @return a {@code Time} object @@ -269,7 +270,8 @@ public class Time extends java.util.Date { * Converts this {@code Time} object to a {@code LocalTime}. * <p> * The conversion creates a {@code LocalTime} that represents the same - * hour, minute, and second time value as this {@code Time}. + * hour, minute, and second time value as this {@code Time}. The + * nanosecond {@code LocalTime} field will be set to zero. * * @return a {@code LocalTime} object representing the same time value * @since 1.8 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..2ed4641e343 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> @@ -317,24 +316,18 @@ object back to its SQL type to store it in the data source. <h2>Package Specification</h2> <ul> - <li><a href="http://java.sun.com/products/jdbc/download.html">Specification - of the JDBC 4.0 API</a> + <li><a href="https://jcp.org/en/jsr/detail?id=221">JDBC 4.2 Specification</a> </ul> <h2>Related Documentation</h2> <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 + <li><a href="http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html"> + Lesson:JDBC Basics(The Javaxx Tutorials > JDBC(™) Database Access)</a> + + <li><a href="http://www.oracle.com/technetwork/java/index-142838.html"> + <i>JDBC™API Tutorial and Reference, Third Edition</i></a> </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..3e1a2bdd2c9 100644 --- a/jdk/src/share/classes/java/time/format/DateTimeFormatter.java +++ b/jdk/src/share/classes/java/time/format/DateTimeFormatter.java @@ -1644,12 +1644,13 @@ public final class DateTimeFormatter { * @return a formatter based on this formatter with the requested resolver style, not null */ public DateTimeFormatter withResolverFields(TemporalField... resolverFields) { - Objects.requireNonNull(resolverFields, "resolverFields"); - Set<TemporalField> fields = new HashSet<>(Arrays.asList(resolverFields)); + Set<TemporalField> fields = null; + if (resolverFields != null) { + fields = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(resolverFields))); + } if (Objects.equals(this.resolverFields, fields)) { return this; } - fields = Collections.unmodifiableSet(fields); return new DateTimeFormatter(printerParser, locale, decimalStyle, resolverStyle, fields, chrono, zone); } @@ -1693,11 +1694,12 @@ public final class DateTimeFormatter { * @return a formatter based on this formatter with the requested resolver style, not null */ public DateTimeFormatter withResolverFields(Set<TemporalField> resolverFields) { - Objects.requireNonNull(resolverFields, "resolverFields"); if (Objects.equals(this.resolverFields, resolverFields)) { return this; } - resolverFields = Collections.unmodifiableSet(new HashSet<>(resolverFields)); + if (resolverFields != null) { + resolverFields = Collections.unmodifiableSet(new HashSet<>(resolverFields)); + } return new DateTimeFormatter(printerParser, locale, decimalStyle, resolverStyle, resolverFields, chrono, zone); } @@ -1932,8 +1934,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 +1950,7 @@ public final class DateTimeFormatter { pos.getIndex(), text, pos.getIndex()); } } - return unresolved.resolve(resolverStyle, resolverFields); + return context.toResolved(resolverStyle, resolverFields); } /** @@ -1991,10 +1993,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 +2011,7 @@ public final class DateTimeFormatter { return null; } position.setIndex(pos); // errorIndex not updated from input - return context.toParsed(); + return context; } //----------------------------------------------------------------------- @@ -2126,23 +2132,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..0a167e45c26 100644 --- a/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java +++ b/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java @@ -939,7 +939,7 @@ public final class DateTimeFormatterBuilder { * During parsing, the offset is parsed using the format defined above. * If the offset cannot be parsed then an exception is thrown unless the * section of the formatter is optional. - * <p> + * * @param style the format style to use, not null * @return this, for chaining, not null * @throws IllegalArgumentException if style is neither {@link TextStyle#FULL @@ -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/AbstractMap.java b/jdk/src/share/classes/java/util/AbstractMap.java index a68a77b9870..143f228f904 100644 --- a/jdk/src/share/classes/java/util/AbstractMap.java +++ b/jdk/src/share/classes/java/util/AbstractMap.java @@ -305,8 +305,8 @@ public abstract class AbstractMap<K,V> implements Map<K,V> { * appropriate view the first time this view is requested. The views are * stateless, so there's no reason to create more than one of each. */ - transient volatile Set<K> keySet = null; - transient volatile Collection<V> values = null; + transient volatile Set<K> keySet; + transient volatile Collection<V> values; /** * {@inheritDoc} 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/java/util/Collections.java b/jdk/src/share/classes/java/util/Collections.java index c172c95f49b..e229f5f5dd4 100644 --- a/jdk/src/share/classes/java/util/Collections.java +++ b/jdk/src/share/classes/java/util/Collections.java @@ -1466,9 +1466,9 @@ public class Collections { throw new UnsupportedOperationException(); } - private transient Set<K> keySet = null; - private transient Set<Map.Entry<K,V>> entrySet = null; - private transient Collection<V> values = null; + private transient Set<K> keySet; + private transient Set<Map.Entry<K,V>> entrySet; + private transient Collection<V> values; public Set<K> keySet() { if (keySet==null) @@ -2597,9 +2597,9 @@ public class Collections { synchronized (mutex) {m.clear();} } - private transient Set<K> keySet = null; - private transient Set<Map.Entry<K,V>> entrySet = null; - private transient Collection<V> values = null; + private transient Set<K> keySet; + private transient Set<Map.Entry<K,V>> entrySet; + private transient Collection<V> values; public Set<K> keySet() { synchronized (mutex) { @@ -3082,7 +3082,7 @@ public class Collections { return c.add(e); } - private E[] zeroLengthElementArray = null; // Lazily initialized + private E[] zeroLengthElementArray; // Lazily initialized private E[] zeroLengthElementArray() { return zeroLengthElementArray != null ? zeroLengthElementArray : @@ -3643,7 +3643,7 @@ public class Collections { m.put(e.getKey(), e.getValue()); } - private transient Set<Map.Entry<K,V>> entrySet = null; + private transient Set<Map.Entry<K,V>> entrySet; public Set<Map.Entry<K,V>> entrySet() { if (entrySet==null) @@ -4877,9 +4877,9 @@ public class Collections { public boolean containsValue(Object value) {return eq(value, v);} public V get(Object key) {return (eq(key, k) ? v : null);} - private transient Set<K> keySet = null; - private transient Set<Map.Entry<K,V>> entrySet = null; - private transient Collection<V> values = null; + private transient Set<K> keySet; + private transient Set<Map.Entry<K,V>> entrySet; + private transient Collection<V> values; public Set<K> keySet() { if (keySet==null) diff --git a/jdk/src/share/classes/java/util/EnumMap.java b/jdk/src/share/classes/java/util/EnumMap.java index 21be62d8d0b..7357ee381f3 100644 --- a/jdk/src/share/classes/java/util/EnumMap.java +++ b/jdk/src/share/classes/java/util/EnumMap.java @@ -367,7 +367,7 @@ public class EnumMap<K extends Enum<K>, V> extends AbstractMap<K, V> * view the first time this view is requested. The view is stateless, * so there's no reason to create more than one. */ - private transient Set<Map.Entry<K,V>> entrySet = null; + private transient Set<Map.Entry<K,V>> entrySet; /** * Returns a {@link Set} view of the keys contained in this map. @@ -562,7 +562,7 @@ public class EnumMap<K extends Enum<K>, V> extends AbstractMap<K, V> } private class EntryIterator extends EnumMapIterator<Map.Entry<K,V>> { - private Entry lastReturnedEntry = null; + private Entry lastReturnedEntry; public Map.Entry<K,V> next() { if (!hasNext()) diff --git a/jdk/src/share/classes/java/util/Hashtable.java b/jdk/src/share/classes/java/util/Hashtable.java index ce706130070..4a89bd5816d 100644 --- a/jdk/src/share/classes/java/util/Hashtable.java +++ b/jdk/src/share/classes/java/util/Hashtable.java @@ -617,9 +617,9 @@ public class Hashtable<K,V> * appropriate view the first time this view is requested. The views are * stateless, so there's no reason to create more than one of each. */ - private transient volatile Set<K> keySet = null; - private transient volatile Set<Map.Entry<K,V>> entrySet = null; - private transient volatile Collection<V> values = null; + private transient volatile Set<K> keySet; + private transient volatile Set<Map.Entry<K,V>> entrySet; + private transient volatile Collection<V> values; /** * Returns a {@link Set} view of the keys contained in this map. @@ -1300,8 +1300,8 @@ public class Hashtable<K,V> private class Enumerator<T> implements Enumeration<T>, Iterator<T> { Entry<?,?>[] table = Hashtable.this.table; int index = table.length; - Entry<?,?> entry = null; - Entry<?,?> lastReturned = null; + Entry<?,?> entry; + Entry<?,?> lastReturned; int type; /** diff --git a/jdk/src/share/classes/java/util/IdentityHashMap.java b/jdk/src/share/classes/java/util/IdentityHashMap.java index 2b4f19d09b2..f96055bc6c1 100644 --- a/jdk/src/share/classes/java/util/IdentityHashMap.java +++ b/jdk/src/share/classes/java/util/IdentityHashMap.java @@ -842,7 +842,7 @@ public class IdentityHashMap<K,V> private class EntryIterator extends IdentityHashMapIterator<Map.Entry<K,V>> { - private Entry lastReturnedEntry = null; + private Entry lastReturnedEntry; public Map.Entry<K,V> next() { lastReturnedEntry = new Entry(nextIndex()); @@ -928,7 +928,7 @@ public class IdentityHashMap<K,V> * view the first time this view is requested. The view is stateless, * so there's no reason to create more than one. */ - private transient Set<Map.Entry<K,V>> entrySet = null; + private transient Set<Map.Entry<K,V>> entrySet; /** * Returns an identity-based set view of the keys contained in this map. diff --git a/jdk/src/share/classes/java/util/LinkedList.java b/jdk/src/share/classes/java/util/LinkedList.java index 43ab9dfca2e..18a8b21ba80 100644 --- a/jdk/src/share/classes/java/util/LinkedList.java +++ b/jdk/src/share/classes/java/util/LinkedList.java @@ -869,7 +869,7 @@ public class LinkedList<E> } private class ListItr implements ListIterator<E> { - private Node<E> lastReturned = null; + private Node<E> lastReturned; private Node<E> next; private int nextIndex; private int expectedModCount = modCount; diff --git a/jdk/src/share/classes/java/util/Map.java b/jdk/src/share/classes/java/util/Map.java index de8bbce01a2..19840b268fe 100644 --- a/jdk/src/share/classes/java/util/Map.java +++ b/jdk/src/share/classes/java/util/Map.java @@ -157,10 +157,10 @@ public interface Map<K,V> { * key * @throws ClassCastException if the key is of an inappropriate type for * this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified key is null and this map * does not permit null keys - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) */ boolean containsKey(Object key); @@ -177,10 +177,10 @@ public interface Map<K,V> { * specified value * @throws ClassCastException if the value is of an inappropriate type for * this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified value is null and this * map does not permit null values - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) */ boolean containsValue(Object value); @@ -204,10 +204,10 @@ public interface Map<K,V> { * {@code null} if this map contains no mapping for the key * @throws ClassCastException if the key is of an inappropriate type for * this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified key is null and this map * does not permit null keys - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) */ V get(Object key); @@ -264,10 +264,10 @@ public interface Map<K,V> { * is not supported by this map * @throws ClassCastException if the key is of an inappropriate type for * this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified key is null and this * map does not permit null keys - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) */ V remove(Object key); @@ -577,10 +577,10 @@ public interface Map<K,V> { * {@code defaultValue} if this map contains no mapping for the key * @throws ClassCastException if the key is of an inappropriate type for * this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified key is null and this map * does not permit null keys - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @since 1.8 */ default V getOrDefault(Object key, V defaultValue) { @@ -659,13 +659,13 @@ public interface Map<K,V> { * values * @throws ClassCastException if a replacement value is of an inappropriate * type for this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if function or a replacement value is null, * and this map does not permit null keys or values - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws IllegalArgumentException if some property of a replacement value * prevents it from being stored in this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ConcurrentModificationException if an entry is found to be * removed during iteration * @since 1.8 @@ -726,16 +726,16 @@ public interface Map<K,V> { * if the implementation supports null values.) * @throws UnsupportedOperationException if the {@code put} operation * is not supported by this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ClassCastException if the key or value is of an inappropriate * type for this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified key or value is null, * and this map does not permit null keys or values - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws IllegalArgumentException if some property of the specified key * or value prevents it from being stored in this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @since 1.8 */ default V putIfAbsent(K key, V value) { @@ -772,13 +772,13 @@ public interface Map<K,V> { * @return {@code true} if the value was removed * @throws UnsupportedOperationException if the {@code remove} operation * is not supported by this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ClassCastException if the key or value is of an inappropriate * type for this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified key or value is null, * and this map does not permit null keys or values - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @since 1.8 */ default boolean remove(Object key, Object value) { @@ -821,14 +821,14 @@ public interface Map<K,V> { * @return {@code true} if the value was replaced * @throws UnsupportedOperationException if the {@code put} operation * is not supported by this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ClassCastException if the class of a specified key or value * prevents it from being stored in this map * @throws NullPointerException if a specified key or newValue is null, * and this map does not permit null keys or values * @throws NullPointerException if oldValue is null and this map does not * permit null values - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws IllegalArgumentException if some property of a specified key * or value prevents it from being stored in this map * @since 1.8 @@ -871,10 +871,10 @@ public interface Map<K,V> { * if the implementation supports null values.) * @throws UnsupportedOperationException if the {@code put} operation * is not supported by this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ClassCastException if the class of the specified key or value * prevents it from being stored in this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified key or value is null, * and this map does not permit null keys or values * @throws IllegalArgumentException if some property of the specified key @@ -942,10 +942,10 @@ public interface Map<K,V> { * is null * @throws UnsupportedOperationException if the {@code put} operation * is not supported by this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ClassCastException if the class of the specified key or value * prevents it from being stored in this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @since 1.8 */ default V computeIfAbsent(K key, @@ -1003,10 +1003,10 @@ public interface Map<K,V> { * remappingFunction is null * @throws UnsupportedOperationException if the {@code put} operation * is not supported by this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ClassCastException if the class of the specified key or value * prevents it from being stored in this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @since 1.8 */ default V computeIfPresent(K key, @@ -1079,10 +1079,10 @@ public interface Map<K,V> { * remappingFunction is null * @throws UnsupportedOperationException if the {@code put} operation * is not supported by this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ClassCastException if the class of the specified key or value * prevents it from being stored in this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @since 1.8 */ default V compute(K key, @@ -1157,10 +1157,10 @@ public interface Map<K,V> { * value is associated with the key * @throws UnsupportedOperationException if the {@code put} operation * is not supported by this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws ClassCastException if the class of the specified key or value * prevents it from being stored in this map - * (<a href="Collection.html#optional-restrictions">optional</a>) + * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>) * @throws NullPointerException if the specified key is null and this map * does not support null keys or the value or remappingFunction is * null diff --git a/jdk/src/share/classes/java/util/Spliterators.java b/jdk/src/share/classes/java/util/Spliterators.java index 3f97a833a68..79c0ef3efde 100644 --- a/jdk/src/share/classes/java/util/Spliterators.java +++ b/jdk/src/share/classes/java/util/Spliterators.java @@ -384,7 +384,7 @@ public final class Spliterators { */ private static void checkFromToBounds(int arrayLength, int origin, int fence) { if (origin > fence) { - throw new IllegalArgumentException( + throw new ArrayIndexOutOfBoundsException( "origin(" + origin + ") > fence(" + fence + ")"); } if (origin < 0) { diff --git a/jdk/src/share/classes/java/util/TreeMap.java b/jdk/src/share/classes/java/util/TreeMap.java index fda3e2a8e42..c04053656cf 100644 --- a/jdk/src/share/classes/java/util/TreeMap.java +++ b/jdk/src/share/classes/java/util/TreeMap.java @@ -120,7 +120,7 @@ public class TreeMap<K,V> */ private final Comparator<? super K> comparator; - private transient Entry<K,V> root = null; + private transient Entry<K,V> root; /** * The number of entries in the tree @@ -781,9 +781,9 @@ public class TreeMap<K,V> * the first time this view is requested. Views are stateless, so * there's no reason to create more than one. */ - private transient EntrySet entrySet = null; - private transient KeySet<K> navigableKeySet = null; - private transient NavigableMap<K,V> descendingMap = null; + private transient EntrySet entrySet; + private transient KeySet<K> navigableKeySet; + private transient NavigableMap<K,V> descendingMap; /** * Returns a {@link Set} view of the keys contained in this map. @@ -1583,9 +1583,9 @@ public class TreeMap<K,V> } // Views - transient NavigableMap<K,V> descendingMapView = null; - transient EntrySetView entrySetView = null; - transient KeySet<K> navigableKeySetView = null; + transient NavigableMap<K,V> descendingMapView; + transient EntrySetView entrySetView; + transient KeySet<K> navigableKeySetView; public final NavigableSet<K> navigableKeySet() { KeySet<K> nksv = navigableKeySetView; @@ -2046,8 +2046,8 @@ public class TreeMap<K,V> static final class Entry<K,V> implements Map.Entry<K,V> { K key; V value; - Entry<K,V> left = null; - Entry<K,V> right = null; + Entry<K,V> left; + Entry<K,V> right; Entry<K,V> parent; boolean color = BLACK; diff --git a/jdk/src/share/classes/java/util/WeakHashMap.java b/jdk/src/share/classes/java/util/WeakHashMap.java index 270c2d9c2bd..4dd8e99053d 100644 --- a/jdk/src/share/classes/java/util/WeakHashMap.java +++ b/jdk/src/share/classes/java/util/WeakHashMap.java @@ -759,21 +759,21 @@ public class WeakHashMap<K,V> private abstract class HashIterator<T> implements Iterator<T> { private int index; - private Entry<K,V> entry = null; - private Entry<K,V> lastReturned = null; + private Entry<K,V> entry; + private Entry<K,V> lastReturned; private int expectedModCount = modCount; /** * Strong reference needed to avoid disappearance of key * between hasNext and next */ - private Object nextKey = null; + private Object nextKey; /** * Strong reference needed to avoid disappearance of key * between nextEntry() and any use of the entry */ - private Object currentKey = null; + private Object currentKey; HashIterator() { index = isEmpty() ? 0 : table.length; @@ -848,7 +848,7 @@ public class WeakHashMap<K,V> // Views - private transient Set<Map.Entry<K,V>> entrySet = null; + private transient Set<Map.Entry<K,V>> entrySet; /** * Returns a {@link Set} view of the keys contained in this map. diff --git a/jdk/src/share/classes/java/util/regex/Matcher.java b/jdk/src/share/classes/java/util/regex/Matcher.java index ebab02e3b82..e841294ed8e 100644 --- a/jdk/src/share/classes/java/util/regex/Matcher.java +++ b/jdk/src/share/classes/java/util/regex/Matcher.java @@ -65,9 +65,10 @@ import java.util.Objects; * new strings whose contents can, if desired, be computed from the match * result. The {@link #appendReplacement appendReplacement} and {@link * #appendTail appendTail} methods can be used in tandem in order to collect - * the result into an existing string buffer, or the more convenient {@link - * #replaceAll replaceAll} method can be used to create a string in which every - * matching subsequence in the input sequence is replaced. + * the result into an existing string buffer or string builder. Alternatively, + * the more convenient {@link #replaceAll replaceAll} method can be used to + * create a string in which every matching subsequence in the input sequence + * is replaced. * * <p> The explicit state of a matcher includes the start and end indices of * the most recent successful match. It also includes the start and end @@ -792,15 +793,115 @@ public final class Matcher implements MatchResult { * that does not exist in the pattern */ public Matcher appendReplacement(StringBuffer sb, String replacement) { - // If no match, return error if (first < 0) throw new IllegalStateException("No match available"); - - // Process substitution string to replace group references with groups - int cursor = 0; StringBuilder result = new StringBuilder(); + appendExpandedReplacement(replacement, result); + // Append the intervening text + sb.append(text, lastAppendPosition, first); + // Append the match substitution + sb.append(result); + lastAppendPosition = last; + return this; + } + /** + * Implements a non-terminal append-and-replace step. + * + * <p> This method performs the following actions: </p> + * + * <ol> + * + * <li><p> It reads characters from the input sequence, starting at the + * append position, and appends them to the given string builder. It + * stops after reading the last character preceding the previous match, + * that is, the character at index {@link + * #start()} <tt>-</tt> <tt>1</tt>. </p></li> + * + * <li><p> It appends the given replacement string to the string builder. + * </p></li> + * + * <li><p> It sets the append position of this matcher to the index of + * the last character matched, plus one, that is, to {@link #end()}. + * </p></li> + * + * </ol> + * + * <p> The replacement string may contain references to subsequences + * captured during the previous match: Each occurrence of + * <tt>$</tt><i>g</i><tt></tt> will be replaced by the result of + * evaluating {@link #group(int) group}<tt>(</tt><i>g</i><tt>)</tt>. + * The first number after the <tt>$</tt> is always treated as part of + * the group reference. Subsequent numbers are incorporated into g if + * they would form a legal group reference. Only the numerals '0' + * through '9' are considered as potential components of the group + * reference. If the second group matched the string <tt>"foo"</tt>, for + * example, then passing the replacement string <tt>"$2bar"</tt> would + * cause <tt>"foobar"</tt> to be appended to the string builder. A dollar + * sign (<tt>$</tt>) may be included as a literal in the replacement + * string by preceding it with a backslash (<tt>\$</tt>). + * + * <p> Note that backslashes (<tt>\</tt>) and dollar signs (<tt>$</tt>) in + * the replacement string may cause the results to be different than if it + * were being treated as a literal replacement string. Dollar signs may be + * treated as references to captured subsequences as described above, and + * backslashes are used to escape literal characters in the replacement + * string. + * + * <p> This method is intended to be used in a loop together with the + * {@link #appendTail appendTail} and {@link #find find} methods. The + * following code, for example, writes <tt>one dog two dogs in the + * yard</tt> to the standard-output stream: </p> + * + * <blockquote><pre> + * Pattern p = Pattern.compile("cat"); + * Matcher m = p.matcher("one cat two cats in the yard"); + * StringBuilder sb = new StringBuilder(); + * while (m.find()) { + * m.appendReplacement(sb, "dog"); + * } + * m.appendTail(sb); + * System.out.println(sb.toString());</pre></blockquote> + * + * @param sb + * The target string builder + * @param replacement + * The replacement string + * @return This matcher + * + * @throws IllegalStateException + * If no match has yet been attempted, + * or if the previous match operation failed + * @throws IllegalArgumentException + * If the replacement string refers to a named-capturing + * group that does not exist in the pattern + * @throws IndexOutOfBoundsException + * If the replacement string refers to a capturing group + * that does not exist in the pattern + * @since 1.9 + */ + public Matcher appendReplacement(StringBuilder sb, String replacement) { + // If no match, return error + if (first < 0) + throw new IllegalStateException("No match available"); + StringBuilder result = new StringBuilder(); + appendExpandedReplacement(replacement, result); + // Append the intervening text + sb.append(text, lastAppendPosition, first); + // Append the match substitution + sb.append(result); + lastAppendPosition = last; + return this; + } + + /** + * Processes replacement string to replace group references with + * groups. + */ + private StringBuilder appendExpandedReplacement( + String replacement, StringBuilder result) { + int cursor = 0; while (cursor < replacement.length()) { char nextChar = replacement.charAt(cursor); if (nextChar == '\\') { @@ -852,8 +953,8 @@ public final class Matcher implements MatchResult { cursor++; } else { // The first number is always a group - refNum = (int)nextChar - '0'; - if ((refNum < 0)||(refNum > 9)) + refNum = nextChar - '0'; + if ((refNum < 0) || (refNum > 9)) throw new IllegalArgumentException( "Illegal group reference"); cursor++; @@ -864,7 +965,7 @@ public final class Matcher implements MatchResult { break; } int nextDigit = replacement.charAt(cursor) - '0'; - if ((nextDigit < 0)||(nextDigit > 9)) { // not a number + if ((nextDigit < 0) || (nextDigit > 9)) { // not a number break; } int newRefNum = (refNum * 10) + nextDigit; @@ -884,13 +985,7 @@ public final class Matcher implements MatchResult { cursor++; } } - // Append the intervening text - sb.append(text, lastAppendPosition, first); - // Append the match substitution - sb.append(result); - - lastAppendPosition = last; - return this; + return result; } /** @@ -912,6 +1007,27 @@ public final class Matcher implements MatchResult { return sb; } + /** + * Implements a terminal append-and-replace step. + * + * <p> This method reads characters from the input sequence, starting at + * the append position, and appends them to the given string builder. It is + * intended to be invoked after one or more invocations of the {@link + * #appendReplacement appendReplacement} method in order to copy the + * remainder of the input sequence. </p> + * + * @param sb + * The target string builder + * + * @return The target string builder + * + * @since 1.9 + */ + public StringBuilder appendTail(StringBuilder sb) { + sb.append(text, lastAppendPosition, getTextLength()); + return sb; + } + /** * Replaces every subsequence of the input sequence that matches the * pattern with the given replacement string. @@ -950,7 +1066,7 @@ public final class Matcher implements MatchResult { reset(); boolean result = find(); if (result) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); do { appendReplacement(sb, replacement); result = find(); @@ -1000,7 +1116,7 @@ public final class Matcher implements MatchResult { reset(); if (!find()) return text.toString(); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); appendReplacement(sb, replacement); appendTail(sb); return sb.toString(); diff --git a/jdk/src/share/classes/java/util/zip/ZipFile.java b/jdk/src/share/classes/java/util/zip/ZipFile.java index 12aa0dcfaba..b101c33b04c 100644 --- a/jdk/src/share/classes/java/util/zip/ZipFile.java +++ b/jdk/src/share/classes/java/util/zip/ZipFile.java @@ -700,24 +700,26 @@ class ZipFile implements ZipConstants, Closeable { } public int read(byte b[], int off, int len) throws IOException { - if (rem == 0) { - return -1; - } - if (len <= 0) { - return 0; - } - if (len > rem) { - len = (int) rem; - } synchronized (ZipFile.this) { - ensureOpenOrZipException(); + long rem = this.rem; + long pos = this.pos; + if (rem == 0) { + return -1; + } + if (len <= 0) { + return 0; + } + if (len > rem) { + len = (int) rem; + } + ensureOpenOrZipException(); len = ZipFile.read(ZipFile.this.jzfile, jzentry, pos, b, off, len); - } - if (len > 0) { - pos += len; - rem -= len; + if (len > 0) { + this.pos = (pos + len); + this.rem = (rem - len); + } } if (rem == 0) { close(); diff --git a/jdk/src/share/classes/javax/imageio/spi/DigraphNode.java b/jdk/src/share/classes/javax/imageio/spi/DigraphNode.java index 7fb4c625853..4554f09a14a 100644 --- a/jdk/src/share/classes/javax/imageio/spi/DigraphNode.java +++ b/jdk/src/share/classes/javax/imageio/spi/DigraphNode.java @@ -132,17 +132,17 @@ class DigraphNode<E> implements Cloneable, Serializable { * appropriately. */ public void dispose() { - @SuppressWarnings("unchecked") - DigraphNode<E>[] inNodesArray = (DigraphNode<E>[])inNodes.toArray(); + Object[] inNodesArray = inNodes.toArray(); for(int i=0; i<inNodesArray.length; i++) { - DigraphNode<E> node = inNodesArray[i]; + @SuppressWarnings("unchecked") + DigraphNode<E> node = (DigraphNode<E>)inNodesArray[i]; node.removeEdge(this); } - @SuppressWarnings("unchecked") - DigraphNode<E>[] outNodesArray = (DigraphNode<E>[])outNodes.toArray(); + Object[] outNodesArray = outNodes.toArray(); for(int i=0; i<outNodesArray.length; i++) { - DigraphNode<E> node = outNodesArray[i]; + @SuppressWarnings("unchecked") + DigraphNode<E> node = (DigraphNode<E>)outNodesArray[i]; removeEdge(node); } } diff --git a/jdk/src/share/classes/javax/naming/event/package.html b/jdk/src/share/classes/javax/naming/event/package.html index f23dbe887cd..3affa9cbdf9 100644 --- a/jdk/src/share/classes/javax/naming/event/package.html +++ b/jdk/src/share/classes/javax/naming/event/package.html @@ -112,7 +112,6 @@ fired to notify the listener. The listener's <tt>namingExceptionThrown()</tt> method is invoked, as shown in the sample code above, and the listener is automatically deregistered. -<p> <h2>Package Specification</h2> diff --git a/jdk/src/share/classes/javax/naming/ldap/ControlFactory.java b/jdk/src/share/classes/javax/naming/ldap/ControlFactory.java index 4ab5a347f66..8d754d02b85 100644 --- a/jdk/src/share/classes/javax/naming/ldap/ControlFactory.java +++ b/jdk/src/share/classes/javax/naming/ldap/ControlFactory.java @@ -114,7 +114,7 @@ public abstract class ControlFactory { * <p> * Note that a control factory * must be public and must have a public constructor that accepts no arguments. - * <p> + * * @param ctl The non-null control object containing the OID and BER data. * @param ctx The possibly null context in which the control is being created. * If null, no such information is available. diff --git a/jdk/src/share/classes/javax/naming/ldap/LdapContext.java b/jdk/src/share/classes/javax/naming/ldap/LdapContext.java index ef92b1c49ba..05db4a8648b 100644 --- a/jdk/src/share/classes/javax/naming/ldap/LdapContext.java +++ b/jdk/src/share/classes/javax/naming/ldap/LdapContext.java @@ -319,7 +319,7 @@ public interface LdapContext extends DirContext { * clear the response controls. You can call it many times (and get * back the same controls) until the next context method that may return * controls is invoked. - *<p> + * * @return A possibly null array of controls. If null, the previous * method invoked on this context did not produce any controls. * @exception NamingException If an error occurred while getting the response diff --git a/jdk/src/share/classes/javax/naming/ldap/Rdn.java b/jdk/src/share/classes/javax/naming/ldap/Rdn.java index a78fda3af4e..d688e11baf8 100644 --- a/jdk/src/share/classes/javax/naming/ldap/Rdn.java +++ b/jdk/src/share/classes/javax/naming/ldap/Rdn.java @@ -352,7 +352,7 @@ public class Rdn implements Serializable, Comparable<Object> { * </ul> * <p> * If obj is null or not an instance of Rdn, false is returned. - * <p> + * * @param obj object to be compared for equality with this Rdn. * @return true if the specified object is equal to this Rdn. * @see #hashCode() diff --git a/jdk/src/share/classes/javax/naming/ldap/package.html b/jdk/src/share/classes/javax/naming/ldap/package.html index 79e550628e1..bce9469b6db 100644 --- a/jdk/src/share/classes/javax/naming/ldap/package.html +++ b/jdk/src/share/classes/javax/naming/ldap/package.html @@ -255,8 +255,6 @@ public class VendorXControlFactory extends ControlFactory { } </pre></blockquote> -<p> - <h2>Package Specification</h2> The JNDI API Specification and related documents can be found in the diff --git a/jdk/src/share/classes/javax/naming/package.html b/jdk/src/share/classes/javax/naming/package.html index 8011d089f10..6946ec40166 100644 --- a/jdk/src/share/classes/javax/naming/package.html +++ b/jdk/src/share/classes/javax/naming/package.html @@ -81,7 +81,6 @@ them, comparing components, and so on. The overloads that accept string names are likely to be more useful for simple applications, such as those that simply read in a name and look up the corresponding object. -<p> <h4>Bindings</h4> diff --git a/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java b/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java index 523175c862a..a0b979e385b 100644 --- a/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java +++ b/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java @@ -120,7 +120,6 @@ public class DirectoryManager extends NamingManager { *</ul> * Service providers that implement the <tt>DirContext</tt> interface * should use this method, not <tt>NamingManager.getObjectInstance()</tt>. - *<p> * * @param refInfo The possibly null object for which to create an object. * @param name The name of this object relative to <code>nameCtx</code>. diff --git a/jdk/src/share/classes/javax/naming/spi/NamingManager.java b/jdk/src/share/classes/javax/naming/spi/NamingManager.java index 19b8bb50443..c6a99ec4c3e 100644 --- a/jdk/src/share/classes/javax/naming/spi/NamingManager.java +++ b/jdk/src/share/classes/javax/naming/spi/NamingManager.java @@ -92,7 +92,7 @@ public class NamingManager { * The builder can only be installed if the executing thread is allowed * (by the security manager's checkSetFactory() method) to do so. * Once installed, the builder cannot be replaced. - *<p> + * * @param builder The factory builder to install. If null, no builder * is installed. * @exception SecurityException builder cannot be installed diff --git a/jdk/src/share/classes/javax/naming/spi/ObjectFactory.java b/jdk/src/share/classes/javax/naming/spi/ObjectFactory.java index 9f598c9bfe8..a02528cec9f 100644 --- a/jdk/src/share/classes/javax/naming/spi/ObjectFactory.java +++ b/jdk/src/share/classes/javax/naming/spi/ObjectFactory.java @@ -149,7 +149,6 @@ public interface ObjectFactory { * If a factory uses <code>nameCtx</code> it should synchronize its use * against concurrent access, since context implementations are not * guaranteed to be thread-safe. - * <p> * * @param obj The possibly null object containing location or reference * information that can be used in creating an object. diff --git a/jdk/src/share/classes/javax/security/auth/kerberos/KerberosKey.java b/jdk/src/share/classes/javax/security/auth/kerberos/KerberosKey.java index 5c8b65f2703..a8d12131aaf 100644 --- a/jdk/src/share/classes/javax/security/auth/kerberos/KerberosKey.java +++ b/jdk/src/share/classes/javax/security/auth/kerberos/KerberosKey.java @@ -52,7 +52,20 @@ import javax.security.auth.DestroyFailedException; * application depends on the default JGSS Kerberos mechanism to access the * KerberosKey. In that case, however, the application will need an * appropriate - * {@link javax.security.auth.kerberos.ServicePermission ServicePermission}. + * {@link javax.security.auth.kerberos.ServicePermission ServicePermission}.<p> + * + * When creating a {@code KerberosKey} using the + * {@link #KerberosKey(KerberosPrincipal, char[], String)} constructor, + * an implementation may accept non-IANA algorithm names (For example, + * "ArcFourMac" for "rc4-hmac"), but the {@link #getAlgorithm} method + * must always return the IANA algorithm name.<p> + * + * @implNote Old algorithm names used before JDK 9 are supported in the + * {@link #KerberosKey(KerberosPrincipal, char[], String)} constructor in this + * implementation for compatibility reasons, which are "DES" (and null) for + * "des-cbc-md5", "DESede" for "des3-cbc-sha1-kd", "ArcFourHmac" for "rc4-hmac", + * "AES128" for "aes128-cts-hmac-sha1-96", and "AES256" for + * "aes256-cts-hmac-sha1-96". * * @author Mayank Upadhyay * @since 1.4 @@ -73,7 +86,7 @@ public class KerberosKey implements SecretKey, Destroyable { * * @serial */ - private int versionNum; + private final int versionNum; /** * {@code KeyImpl} is serialized by writing out the ASN1 Encoded bytes @@ -113,13 +126,16 @@ public class KerberosKey implements SecretKey, Destroyable { } /** - * Constructs a KerberosKey from a principal's password. + * Constructs a KerberosKey from a principal's password using the specified + * algorithm name. The algorithm name (case insensitive) should be provided + * as the encryption type string defined on the IANA + * <a href="https://www.iana.org/assignments/kerberos-parameters/kerberos-parameters.xhtml#kerberos-parameters-1">Kerberos Encryption Type Numbers</a> + * page. The version number of the key generated will be 0. * * @param principal the principal that this password belongs to * @param password the password that should be used to compute the key * @param algorithm the name for the algorithm that this key will be - * used for. This parameter may be null in which case the default - * algorithm "DES" will be assumed. + * used for * @throws IllegalArgumentException if the name of the * algorithm passed is unsupported. */ @@ -128,6 +144,7 @@ public class KerberosKey implements SecretKey, Destroyable { String algorithm) { this.principal = principal; + this.versionNum = 0; // Pass principal in for salt key = new KeyImpl(principal, password, algorithm); } @@ -170,13 +187,18 @@ public class KerberosKey implements SecretKey, Destroyable { */ /** - * Returns the standard algorithm name for this key. For - * example, "DES" would indicate that this key is a DES key. - * See Appendix A in the <a href= - * "../../../../../technotes/guides/security/crypto/CryptoSpec.html#AppA"> - * Java Cryptography Architecture API Specification & Reference - * </a> - * for information about standard algorithm names. + * Returns the standard algorithm name for this key. The algorithm names + * are the encryption type string defined on the IANA + * <a href="https://www.iana.org/assignments/kerberos-parameters/kerberos-parameters.xhtml#kerberos-parameters-1">Kerberos Encryption Type Numbers</a> + * page. + * <p> + * This method can return the following value not defined on the IANA page: + * <ol> + * <li>none: for etype equal to 0</li> + * <li>unknown: for etype greater than 0 but unsupported by + * the implementation</li> + * <li>private: for etype smaller than 0</li> + * </ol> * * @return the name of the algorithm associated with this key. */ diff --git a/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java b/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java index f4ee947212b..9d36d1e9ee1 100644 --- a/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java +++ b/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java @@ -36,7 +36,6 @@ import sun.security.krb5.PrincipalName; import sun.security.krb5.EncryptionKey; import sun.security.krb5.EncryptedData; import sun.security.krb5.KrbException; -import sun.security.krb5.KrbCryptoException; import sun.security.util.DerValue; /** @@ -86,8 +85,12 @@ class KeyImpl implements SecretKey, Destroyable, Serializable { try { PrincipalName princ = new PrincipalName(principal.getName()); - EncryptionKey key = - new EncryptionKey(password, princ.getSalt(), algorithm); + EncryptionKey key; + if ("none".equalsIgnoreCase(algorithm)) { + key = EncryptionKey.NULL_KEY; + } else { + key = new EncryptionKey(password, princ.getSalt(), algorithm); + } this.keyBytes = key.getBytes(); this.keyType = key.getEType(); } catch (KrbException e) { @@ -118,27 +121,28 @@ class KeyImpl implements SecretKey, Destroyable, Serializable { switch (eType) { case EncryptedData.ETYPE_DES_CBC_CRC: + return "des-cbc-crc"; + case EncryptedData.ETYPE_DES_CBC_MD5: - return "DES"; + return "des-cbc-md5"; case EncryptedData.ETYPE_DES3_CBC_HMAC_SHA1_KD: - return "DESede"; + return "des3-cbc-sha1-kd"; case EncryptedData.ETYPE_ARCFOUR_HMAC: - return "ArcFourHmac"; + return "rc4-hmac"; case EncryptedData.ETYPE_AES128_CTS_HMAC_SHA1_96: - return "AES128"; + return "aes128-cts-hmac-sha1-96"; case EncryptedData.ETYPE_AES256_CTS_HMAC_SHA1_96: - return "AES256"; + return "aes256-cts-hmac-sha1-96"; case EncryptedData.ETYPE_NULL: - return "NULL"; + return "none"; default: - throw new IllegalArgumentException( - "Unsupported encryption type: " + eType); + return eType > 0 ? "unknown" : "private"; } } diff --git a/jdk/src/share/classes/javax/security/auth/kerberos/package-info.java b/jdk/src/share/classes/javax/security/auth/kerberos/package-info.java index 293745479d8..0853663a1f2 100644 --- a/jdk/src/share/classes/javax/security/auth/kerberos/package-info.java +++ b/jdk/src/share/classes/javax/security/auth/kerberos/package-info.java @@ -48,6 +48,12 @@ * {@code <java-home>/lib/security} and failing that, in an OS-specific * location.<p> * + * The {@code krb5.conf} file is formatted in the Windows INI file style, + * which contains a series of relations grouped into different sections. + * Each relation contains a key and a value, the value can be an arbitrary + * string or a boolean value. A boolean value can be one of "true", "false", + * "yes", or "no", case-insensitive.<p> + * * @since JDK1.4 */ package javax.security.auth.kerberos; diff --git a/jdk/src/share/classes/javax/sound/midi/spi/MidiDeviceProvider.java b/jdk/src/share/classes/javax/sound/midi/spi/MidiDeviceProvider.java index 4146d3d9fff..b4c95a1ec60 100644 --- a/jdk/src/share/classes/javax/sound/midi/spi/MidiDeviceProvider.java +++ b/jdk/src/share/classes/javax/sound/midi/spi/MidiDeviceProvider.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2003, 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 @@ -26,26 +26,24 @@ package javax.sound.midi.spi; import javax.sound.midi.MidiDevice; -import javax.sound.midi.MidiUnavailableException; /** - * A <code>MidiDeviceProvider</code> is a factory or provider for a particular - * type of MIDI device. - * This mechanism allows the implementation to determine - * how resources are managed in the creation and management of - * a device. + * A {@code MidiDeviceProvider} is a factory or provider for a particular type + * of MIDI device. This mechanism allows the implementation to determine how + * resources are managed in the creation and management of a device. * * @author Kara Kytle */ public abstract class MidiDeviceProvider { - /** * Indicates whether the device provider supports the device represented by * the specified device info object. - * @param info an info object that describes the device for which support is queried - * @return <code>true</code> if the specified device is supported, - * otherwise <code>false</code> + * + * @param info an info object that describes the device for which support + * is queried + * @return {@code true} if the specified device is supported, otherwise + * {@code false} */ public boolean isDeviceSupported(MidiDevice.Info info) { @@ -59,21 +57,22 @@ public abstract class MidiDeviceProvider { return false; } - /** - * Obtains the set of info objects representing the device - * or devices provided by this <code>MidiDeviceProvider</code>. + * Obtains the set of info objects representing the device or devices + * provided by this {@code MidiDeviceProvider}. + * * @return set of device info objects */ public abstract MidiDevice.Info[] getDeviceInfo(); - /** * Obtains an instance of the device represented by the info object. - * @param info an info object that describes the desired device + * + * @param info an info object that describes the desired device * @return device instance * @throws IllegalArgumentException if the info object specified does not - * match the info object for a device supported by this <code>MidiDeviceProvider</code>. + * match the info object for a device supported by this + * {@code MidiDeviceProvider} */ public abstract MidiDevice getDevice(MidiDevice.Info info); } diff --git a/jdk/src/share/classes/javax/sound/midi/spi/MidiFileReader.java b/jdk/src/share/classes/javax/sound/midi/spi/MidiFileReader.java index 2c050b80030..ecb72b32dd2 100644 --- a/jdk/src/share/classes/javax/sound/midi/spi/MidiFileReader.java +++ b/jdk/src/share/classes/javax/sound/midi/spi/MidiFileReader.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2002, 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 @@ -35,9 +35,10 @@ import javax.sound.midi.Sequence; import javax.sound.midi.InvalidMidiDataException; /** - * A <code>MidiFileReader</code> supplies MIDI file-reading services. Classes implementing this - * interface can parse the format information from one or more types of - * MIDI file, and can produce a <code>Sequence</code> object from files of these types. + * A {@code MidiFileReader} supplies MIDI file-reading services. Classes + * implementing this interface can parse the format information from one or more + * types of MIDI file, and can produce a {@link Sequence} object from files of + * these types. * * @author Kara Kytle * @since 1.3 @@ -45,98 +46,102 @@ import javax.sound.midi.InvalidMidiDataException; public abstract class MidiFileReader { /** - * Obtains the MIDI file format of the input stream provided. The stream must - * point to valid MIDI file data. In general, MIDI file readers may + * Obtains the MIDI file format of the input stream provided. The stream + * must point to valid MIDI file data. In general, MIDI file readers may * need to read some data from the stream before determining whether they - * support it. These parsers must - * be able to mark the stream, read enough data to determine whether they - * support the stream, and, if not, reset the stream's read pointer to its original - * position. If the input stream does not support this, this method may fail - * with an <code>IOException</code>. - * @param stream the input stream from which file format information should be - * extracted - * @return a <code>MidiFileFormat</code> object describing the MIDI file format - * @throws InvalidMidiDataException if the stream does not point to valid MIDI - * file data recognized by the system + * support it. These parsers must be able to mark the stream, read enough + * data to determine whether they support the stream, and, if not, reset the + * stream's read pointer to its original position. If the input stream does + * not support this, this method may fail with an {@code IOException}. + * + * @param stream the input stream from which file format information + * should be extracted + * @return a {@code MidiFileFormat} object describing the MIDI file format + * @throws InvalidMidiDataException if the stream does not point to valid + * MIDI file data recognized by the system * @throws IOException if an I/O exception occurs * @see InputStream#markSupported * @see InputStream#mark */ - public abstract MidiFileFormat getMidiFileFormat(InputStream stream) throws InvalidMidiDataException, IOException; - + public abstract MidiFileFormat getMidiFileFormat(InputStream stream) + throws InvalidMidiDataException, IOException; /** - * Obtains the MIDI file format of the URL provided. The URL must - * point to valid MIDI file data. - * @param url the URL from which file format information should be - * extracted - * @return a <code>MidiFileFormat</code> object describing the MIDI file format + * Obtains the MIDI file format of the URL provided. The URL must point to + * valid MIDI file data. + * + * @param url the URL from which file format information should be + * extracted + * @return a {@code MidiFileFormat} object describing the MIDI file format * @throws InvalidMidiDataException if the URL does not point to valid MIDI - * file data recognized by the system + * file data recognized by the system * @throws IOException if an I/O exception occurs */ - public abstract MidiFileFormat getMidiFileFormat(URL url) throws InvalidMidiDataException, IOException; - + public abstract MidiFileFormat getMidiFileFormat(URL url) + throws InvalidMidiDataException, IOException; /** - * Obtains the MIDI file format of the <code>File</code> provided. - * The <code>File</code> must point to valid MIDI file data. - * @param file the <code>File</code> from which file format information should be - * extracted - * @return a <code>MidiFileFormat</code> object describing the MIDI file format - * @throws InvalidMidiDataException if the <code>File</code> does not point to valid MIDI - * file data recognized by the system + * Obtains the MIDI file format of the {@code File} provided. The + * {@code File} must point to valid MIDI file data. + * + * @param file the {@code File} from which file format information should + * be extracted + * @return a {@code MidiFileFormat} object describing the MIDI file format + * @throws InvalidMidiDataException if the {@code File} does not point to + * valid MIDI file data recognized by the system * @throws IOException if an I/O exception occurs */ - public abstract MidiFileFormat getMidiFileFormat(File file) throws InvalidMidiDataException, IOException; - + public abstract MidiFileFormat getMidiFileFormat(File file) + throws InvalidMidiDataException, IOException; /** - * Obtains a MIDI sequence from the input stream provided. The stream must - * point to valid MIDI file data. In general, MIDI file readers may - * need to read some data from the stream before determining whether they - * support it. These parsers must - * be able to mark the stream, read enough data to determine whether they - * support the stream, and, if not, reset the stream's read pointer to its original - * position. If the input stream does not support this, this method may fail - * with an IOException. - * @param stream the input stream from which the <code>Sequence</code> should be - * constructed - * @return a <code>Sequence</code> object based on the MIDI file data contained - * in the input stream. - * @throws InvalidMidiDataException if the stream does not point to valid MIDI - * file data recognized by the system + * Obtains a MIDI sequence from the input stream provided. The stream must + * point to valid MIDI file data. In general, MIDI file readers may need to + * read some data from the stream before determining whether they support + * it. These parsers must be able to mark the stream, read enough data to + * determine whether they support the stream, and, if not, reset the + * stream's read pointer to its original position. If the input stream does + * not support this, this method may fail with an IOException. + * + * @param stream the input stream from which the {@code Sequence} should + * be constructed + * @return a {@code Sequence} object based on the MIDI file data contained + * in the input stream. + * @throws InvalidMidiDataException if the stream does not point to valid + * MIDI file data recognized by the system * @throws IOException if an I/O exception occurs * @see InputStream#markSupported * @see InputStream#mark */ - public abstract Sequence getSequence(InputStream stream) throws InvalidMidiDataException, IOException; - + public abstract Sequence getSequence(InputStream stream) + throws InvalidMidiDataException, IOException; /** - * Obtains a MIDI sequence from the URL provided. The URL must - * point to valid MIDI file data. - * @param url the URL for which the <code>Sequence</code> should be - * constructed - * @return a <code>Sequence</code> object based on the MIDI file data pointed - * to by the URL + * Obtains a MIDI sequence from the URL provided. The URL must point to + * valid MIDI file data. + * + * @param url the URL for which the {@code Sequence} should be constructed + * @return a {@code Sequence} object based on the MIDI file data pointed to + * by the URL * @throws InvalidMidiDataException if the URL does not point to valid MIDI - * file data recognized by the system + * file data recognized by the system * @throws IOException if an I/O exception occurs */ - public abstract Sequence getSequence(URL url) throws InvalidMidiDataException, IOException; - + public abstract Sequence getSequence(URL url) + throws InvalidMidiDataException, IOException; /** - * Obtains a MIDI sequence from the <code>File</code> provided. The <code>File</code> must - * point to valid MIDI file data. - * @param file the <code>File</code> from which the <code>Sequence</code> should be - * constructed - * @return a <code>Sequence</code> object based on the MIDI file data pointed - * to by the <code>File</code> - * @throws InvalidMidiDataException if the <code>File</code> does not point to valid MIDI - * file data recognized by the system + * Obtains a MIDI sequence from the {@code File} provided. The {@code File} + * must point to valid MIDI file data. + * + * @param file the {@code File} from which the {@code Sequence} should be + * constructed + * @return a {@code Sequence} object based on the MIDI file data pointed to + * by the {@code File} + * @throws InvalidMidiDataException if the {@code File} does not point to + * valid MIDI file data recognized by the system * @throws IOException if an I/O exception occurs */ - public abstract Sequence getSequence(File file) throws InvalidMidiDataException, IOException; + public abstract Sequence getSequence(File file) + throws InvalidMidiDataException, IOException; } diff --git a/jdk/src/share/classes/javax/sound/midi/spi/MidiFileWriter.java b/jdk/src/share/classes/javax/sound/midi/spi/MidiFileWriter.java index 531c54852a9..a1800f7f701 100644 --- a/jdk/src/share/classes/javax/sound/midi/spi/MidiFileWriter.java +++ b/jdk/src/share/classes/javax/sound/midi/spi/MidiFileWriter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2002, 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 @@ -30,45 +30,44 @@ import java.io.IOException; import java.io.OutputStream; import javax.sound.midi.Sequence; -import javax.sound.midi.MidiFileFormat; /** - * A <code>MidiFileWriter</code> supplies MIDI file-writing services. Classes - * that implement this interface can write one or more types of MIDI file from - * a <code>{@link Sequence}</code> object. + * A {@code MidiFileWriter} supplies MIDI file-writing services. Classes that + * implement this interface can write one or more types of MIDI file from a + * {@link Sequence} object. * * @author Kara Kytle * @since 1.3 */ public abstract class MidiFileWriter { - /** * Obtains the set of MIDI file types for which file writing support is * provided by this file writer. - * @return array of file types. If no file types are supported, - * an array of length 0 is returned. + * + * @return array of file types. If no file types are supported, an array of + * length 0 is returned. */ public abstract int[] getMidiFileTypes(); - /** - * Obtains the file types that this file writer can write from the - * sequence specified. - * @param sequence the sequence for which MIDI file type support - * is queried - * @return array of file types. If no file types are supported, - * returns an array of length 0. + * Obtains the file types that this file writer can write from the sequence + * specified. + * + * @param sequence the sequence for which MIDI file type support is + * queried + * @return array of file types. If no file types are supported, returns an + * array of length 0. */ public abstract int[] getMidiFileTypes(Sequence sequence); - /** * Indicates whether file writing support for the specified MIDI file type * is provided by this file writer. - * @param fileType the file type for which write capabilities are queried - * @return <code>true</code> if the file type is supported, - * otherwise <code>false</code> + * + * @param fileType the file type for which write capabilities are queried + * @return {@code true} if the file type is supported, otherwise + * {@code false} */ public boolean isFileTypeSupported(int fileType) { @@ -81,14 +80,14 @@ public abstract class MidiFileWriter { return false; } - /** * Indicates whether a MIDI file of the file type specified can be written * from the sequence indicated. - * @param fileType the file type for which write capabilities are queried - * @param sequence the sequence for which file writing support is queried - * @return <code>true</code> if the file type is supported for this sequence, - * otherwise <code>false</code> + * + * @param fileType the file type for which write capabilities are queried + * @param sequence the sequence for which file writing support is queried + * @return {@code true} if the file type is supported for this sequence, + * otherwise {@code false} */ public boolean isFileTypeSupported(int fileType, Sequence sequence) { @@ -101,35 +100,38 @@ public abstract class MidiFileWriter { return false; } - /** * Writes a stream of bytes representing a MIDI file of the file type * indicated to the output stream provided. - * @param in sequence containing MIDI data to be written to the file - * @param fileType type of the file to be written to the output stream - * @param out stream to which the file data should be written + * + * @param in sequence containing MIDI data to be written to the file + * @param fileType type of the file to be written to the output stream + * @param out stream to which the file data should be written * @return the number of bytes written to the output stream * @throws IOException if an I/O exception occurs * @throws IllegalArgumentException if the file type is not supported by - * this file writer + * this file writer * @see #isFileTypeSupported(int, Sequence) - * @see #getMidiFileTypes(Sequence) + * @see #getMidiFileTypes(Sequence) */ - public abstract int write(Sequence in, int fileType, OutputStream out) throws IOException; - + public abstract int write(Sequence in, int fileType, OutputStream out) + throws IOException; /** * Writes a stream of bytes representing a MIDI file of the file type * indicated to the external file provided. - * @param in sequence containing MIDI data to be written to the external file - * @param fileType type of the file to be written to the external file - * @param out external file to which the file data should be written + * + * @param in sequence containing MIDI data to be written to the external + * file + * @param fileType type of the file to be written to the external file + * @param out external file to which the file data should be written * @return the number of bytes written to the file * @throws IOException if an I/O exception occurs * @throws IllegalArgumentException if the file type is not supported by - * this file writer + * this file writer * @see #isFileTypeSupported(int, Sequence) - * @see #getMidiFileTypes(Sequence) + * @see #getMidiFileTypes(Sequence) */ - public abstract int write(Sequence in, int fileType, File out) throws IOException; + public abstract int write(Sequence in, int fileType, File out) + throws IOException; } diff --git a/jdk/src/share/classes/javax/sound/midi/spi/SoundbankReader.java b/jdk/src/share/classes/javax/sound/midi/spi/SoundbankReader.java index fec13785118..c7e82d9960f 100644 --- a/jdk/src/share/classes/javax/sound/midi/spi/SoundbankReader.java +++ b/jdk/src/share/classes/javax/sound/midi/spi/SoundbankReader.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2003, 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 @@ -25,60 +25,58 @@ package javax.sound.midi.spi; -import java.io.InputStream; -import java.io.IOException; import java.io.File; - +import java.io.IOException; +import java.io.InputStream; import java.net.URL; -import javax.sound.midi.Soundbank; import javax.sound.midi.InvalidMidiDataException; - +import javax.sound.midi.Soundbank; /** - * A <code>SoundbankReader</code> supplies soundbank file-reading services. - * Concrete subclasses of <code>SoundbankReader</code> parse a given - * soundbank file, producing a {@link javax.sound.midi.Soundbank} - * object that can be loaded into a {@link javax.sound.midi.Synthesizer}. + * A {@code SoundbankReader} supplies soundbank file-reading services. Concrete + * subclasses of {@code SoundbankReader} parse a given soundbank file, producing + * a {@link javax.sound.midi.Soundbank} object that can be loaded into a + * {@link javax.sound.midi.Synthesizer}. * * @since 1.3 * @author Kara Kytle */ public abstract class SoundbankReader { - /** * Obtains a soundbank object from the URL provided. - * @param url URL representing the soundbank. + * + * @param url URL representing the soundbank. * @return soundbank object - * @throws InvalidMidiDataException if the URL does not point to - * valid MIDI soundbank data recognized by this soundbank reader + * @throws InvalidMidiDataException if the URL does not point to valid MIDI + * soundbank data recognized by this soundbank reader * @throws IOException if an I/O error occurs */ - public abstract Soundbank getSoundbank(URL url) throws InvalidMidiDataException, IOException; - + public abstract Soundbank getSoundbank(URL url) + throws InvalidMidiDataException, IOException; /** - * Obtains a soundbank object from the <code>InputStream</code> provided. - * @param stream <code>InputStream</code> representing the soundbank + * Obtains a soundbank object from the {@code InputStream} provided. + * + * @param stream {@code InputStream} representing the soundbank * @return soundbank object - * @throws InvalidMidiDataException if the stream does not point to - * valid MIDI soundbank data recognized by this soundbank reader + * @throws InvalidMidiDataException if the stream does not point to valid + * MIDI soundbank data recognized by this soundbank reader * @throws IOException if an I/O error occurs */ - public abstract Soundbank getSoundbank(InputStream stream) throws InvalidMidiDataException, IOException; - + public abstract Soundbank getSoundbank(InputStream stream) + throws InvalidMidiDataException, IOException; /** - * Obtains a soundbank object from the <code>File</code> provided. - * @param file the <code>File</code> representing the soundbank + * Obtains a soundbank object from the {@code File} provided. + * + * @param file the {@code File} representing the soundbank * @return soundbank object - * @throws InvalidMidiDataException if the file does not point to - * valid MIDI soundbank data recognized by this soundbank reader + * @throws InvalidMidiDataException if the file does not point to valid MIDI + * soundbank data recognized by this soundbank reader * @throws IOException if an I/O error occurs */ - public abstract Soundbank getSoundbank(File file) throws InvalidMidiDataException, IOException; - - - + public abstract Soundbank getSoundbank(File file) + throws InvalidMidiDataException, IOException; } diff --git a/jdk/src/share/classes/javax/sql/package.html b/jdk/src/share/classes/javax/sql/package.html index 667fb03a7d7..d5cfd948faa 100644 --- a/jdk/src/share/classes/javax/sql/package.html +++ b/jdk/src/share/classes/javax/sql/package.html @@ -296,8 +296,7 @@ the particular features you want to use. <h2>Package Specification</h2> <ul> - <li><a href="http://java.sun.com/products/jdbc/download.html">Specification of the - JDBC 4.0 API</a> + <li><a href="https://jcp.org/en/jsr/detail?id=221">JDBC 4.2 Specification</a> </ul> <h2>Related Documentation</h2> @@ -307,10 +306,8 @@ information about the classes and interfaces in the <code>javax.sql</code> package: <ul> - <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> + <li><a href="http://www.oracle.com/technetwork/java/index-142838.html"> + <i>JDBC™API Tutorial and Reference, Third Edition</i></a> </ul> -<P> -@since 1.4 </body> </html> diff --git a/jdk/src/share/classes/javax/sql/rowset/package.html b/jdk/src/share/classes/javax/sql/rowset/package.html index 09949e5651b..a9949c4998f 100644 --- a/jdk/src/share/classes/javax/sql/rowset/package.html +++ b/jdk/src/share/classes/javax/sql/rowset/package.html @@ -295,14 +295,13 @@ match column as a basis for adding the <code>RowSet</code> object. <h3><a name="relspec">4.0 Related Specifications</a></h3> <ul> -<li><a href="http://java.sun.com/products/jdbc">JDBC 3.0 Specification</a> +<li><a href="https://jcp.org/en/jsr/detail?id=221">JDBC 4.2 Specification</a> <li><a href="http://www.w3.org/XML/Schema">XML Schema</a> -<li><a href="http://www.syncml.org">SyncML</a> </ul> <h3><a name="reldocs">5.0 Related Documentation</a></h3> <ul> -<li><a href="http://java.sun.com/developer/Books/JDBCTutorial/chapter5.html"> +<li><a href="http://docs.oracle.com/javase/tutorial/jdbc/basics/rowset.html"> JDBC RowSet Tutorial</a> </ul> </body> diff --git a/jdk/src/share/classes/javax/swing/AbstractSpinnerModel.java b/jdk/src/share/classes/javax/swing/AbstractSpinnerModel.java index 6a54de06026..f46593c4946 100644 --- a/jdk/src/share/classes/javax/swing/AbstractSpinnerModel.java +++ b/jdk/src/share/classes/javax/swing/AbstractSpinnerModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2008, 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 @@ -46,6 +46,7 @@ import java.io.Serializable; * @author Hans Muller * @since 1.4 */ +@SuppressWarnings("serial") // Field contents are not serializable across versions public abstract class AbstractSpinnerModel implements SpinnerModel, Serializable { diff --git a/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java b/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java index 2dfa914daac..0d33a113091 100644 --- a/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java +++ b/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2011, 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 @@ -50,6 +50,7 @@ import java.lang.ref.ReferenceQueue; * @author Georges Saab * @see AbstractButton */ +@SuppressWarnings("serial") // Bound of type variable is not serializable across versions abstract class ActionPropertyChangeListener<T extends JComponent> implements PropertyChangeListener, Serializable { private static ReferenceQueue<JComponent> queue; diff --git a/jdk/src/share/classes/javax/swing/ComponentInputMap.java b/jdk/src/share/classes/javax/swing/ComponentInputMap.java index ba2d48aea70..da074d5c054 100644 --- a/jdk/src/share/classes/javax/swing/ComponentInputMap.java +++ b/jdk/src/share/classes/javax/swing/ComponentInputMap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2011, 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 @@ -35,7 +35,7 @@ package javax.swing; * @author Scott Violet * @since 1.3 */ -@SuppressWarnings("serial") +@SuppressWarnings("serial") // Field data not serializable across versions public class ComponentInputMap extends InputMap { /** Component binding is created for. */ private JComponent component; diff --git a/jdk/src/share/classes/javax/swing/DefaultComboBoxModel.java b/jdk/src/share/classes/javax/swing/DefaultComboBoxModel.java index 1700e902cb6..b42dc109b50 100644 --- a/jdk/src/share/classes/javax/swing/DefaultComboBoxModel.java +++ b/jdk/src/share/classes/javax/swing/DefaultComboBoxModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -36,7 +36,7 @@ import java.io.Serializable; * @author Arnaud Weber * @author Tom Santos */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions public class DefaultComboBoxModel<E> extends AbstractListModel<E> implements MutableComboBoxModel<E>, Serializable { Vector<E> objects; Object selectedObject; diff --git a/jdk/src/share/classes/javax/swing/DefaultDesktopManager.java b/jdk/src/share/classes/javax/swing/DefaultDesktopManager.java index 3860e9d3d7a..d140e98c5d7 100644 --- a/jdk/src/share/classes/javax/swing/DefaultDesktopManager.java +++ b/jdk/src/share/classes/javax/swing/DefaultDesktopManager.java @@ -47,6 +47,7 @@ import java.beans.PropertyVetoException; * @author David Kloba * @author Steve Wilson */ +@SuppressWarnings("serial") // No Interesting Non-Transient State public class DefaultDesktopManager implements DesktopManager, java.io.Serializable { final static String HAS_BEEN_ICONIFIED_PROPERTY = "wasIconOnce"; diff --git a/jdk/src/share/classes/javax/swing/DefaultFocusManager.java b/jdk/src/share/classes/javax/swing/DefaultFocusManager.java index 0644bc07433..31240737791 100644 --- a/jdk/src/share/classes/javax/swing/DefaultFocusManager.java +++ b/jdk/src/share/classes/javax/swing/DefaultFocusManager.java @@ -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 @@ -46,6 +46,7 @@ import java.util.Comparator; * @author Arnaud Weber * @author David Mendenhall */ +@SuppressWarnings("serial") // Obsolete class public class DefaultFocusManager extends FocusManager { final FocusTraversalPolicy gluePolicy = @@ -148,6 +149,7 @@ public class DefaultFocusManager extends FocusManager { } } +@SuppressWarnings("serial") // JDK-implementation class final class LegacyLayoutFocusTraversalPolicy extends LayoutFocusTraversalPolicy { diff --git a/jdk/src/share/classes/javax/swing/JColorChooser.java b/jdk/src/share/classes/javax/swing/JColorChooser.java index 88f91c00ca7..09cbf6c5d80 100644 --- a/jdk/src/share/classes/javax/swing/JColorChooser.java +++ b/jdk/src/share/classes/javax/swing/JColorChooser.java @@ -606,6 +606,7 @@ public class JColorChooser extends JComponent implements Accessible { * * Note: This needs to be fixed to deal with localization! */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class ColorChooserDialog extends JDialog { private Color initialColor; private JColorChooser chooserPane; @@ -665,6 +666,7 @@ class ColorChooserDialog extends JDialog { cancelButton.getAccessibleContext().setAccessibleDescription(cancelString); // The following few lines are used to register esc to close the dialog + @SuppressWarnings("serial") // anonymous class Action cancelKeyAction = new AbstractAction() { public void actionPerformed(ActionEvent e) { ((AbstractButton)e.getSource()).fireActionPerformed(e); @@ -729,6 +731,7 @@ class ColorChooserDialog extends JDialog { chooserPane.setColor(initialColor); } + @SuppressWarnings("serial") // JDK-implementation class class Closer extends WindowAdapter implements Serializable{ public void windowClosing(WindowEvent e) { cancelButton.doClick(0); @@ -737,6 +740,7 @@ class ColorChooserDialog extends JDialog { } } + @SuppressWarnings("serial") // JDK-implementation class static class DisposeOnClose extends ComponentAdapter implements Serializable{ public void componentHidden(ComponentEvent e) { Window w = (Window)e.getComponent(); @@ -746,6 +750,7 @@ class ColorChooserDialog extends JDialog { } +@SuppressWarnings("serial") // JDK-implementation class class ColorTracker implements ActionListener, Serializable { JColorChooser chooser; Color color; diff --git a/jdk/src/share/classes/javax/swing/JComboBox.java b/jdk/src/share/classes/javax/swing/JComboBox.java index 6416f5036a8..ceec992b31d 100644 --- a/jdk/src/share/classes/javax/swing/JComboBox.java +++ b/jdk/src/share/classes/javax/swing/JComboBox.java @@ -65,7 +65,7 @@ import javax.accessibility.*; * See <a href="http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html">How to Use Combo Boxes</a> * in <a href="http://docs.oracle.com/javase/tutorial/"><em>The Java Tutorial</em></a> * for further information. - * <p> + * * @see ComboBoxModel * @see DefaultComboBoxModel * @@ -1416,6 +1416,28 @@ implements ItemSelectable,ListDataListener,ActionListener, Accessible { super.processKeyEvent(e); } + /** + * {@inheritDoc} + */ + @Override + protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) { + if (super.processKeyBinding(ks, e, condition, pressed)) { + return true; + } + + if (!isEditable() || condition != WHEN_FOCUSED || getEditor() == null + || !Boolean.TRUE.equals(getClientProperty("JComboBox.isTableCellEditor"))) { + return false; + } + + Component editorComponent = getEditor().getEditorComponent(); + if (editorComponent instanceof JComponent) { + JComponent component = (JComponent) editorComponent; + return component.processKeyBinding(ks, e, WHEN_FOCUSED, pressed); + } + return false; + } + /** * Sets the object that translates a keyboard character into a list * selection. Typically, the first selection with a matching first diff --git a/jdk/src/share/classes/javax/swing/JFileChooser.java b/jdk/src/share/classes/javax/swing/JFileChooser.java index a3d4443ab2b..ac6374c2a40 100644 --- a/jdk/src/share/classes/javax/swing/JFileChooser.java +++ b/jdk/src/share/classes/javax/swing/JFileChooser.java @@ -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 @@ -88,6 +88,7 @@ import java.lang.ref.WeakReference; * @author Jeff Dinkins * */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class JFileChooser extends JComponent implements Accessible { /** @@ -1996,6 +1997,7 @@ public class JFileChooser extends JComponent implements Accessible { * Java Accessibility API appropriate to file chooser user-interface * elements. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class AccessibleJFileChooser extends AccessibleJComponent { /** diff --git a/jdk/src/share/classes/javax/swing/JFrame.java b/jdk/src/share/classes/javax/swing/JFrame.java index 2077eb76249..c773a3b66a8 100644 --- a/jdk/src/share/classes/javax/swing/JFrame.java +++ b/jdk/src/share/classes/javax/swing/JFrame.java @@ -123,7 +123,7 @@ public class JFrame extends Frame implements WindowConstants, * has this set as the close operation and is closed in an applet, * a <code>SecurityException</code> may be thrown. * It is recommended you only use this in an application. - * <p> + * * @since 1.3 */ public static final int EXIT_ON_CLOSE = 3; diff --git a/jdk/src/share/classes/javax/swing/JLayer.java b/jdk/src/share/classes/javax/swing/JLayer.java index d79b048df67..6ce1b66f49d 100644 --- a/jdk/src/share/classes/javax/swing/JLayer.java +++ b/jdk/src/share/classes/javax/swing/JLayer.java @@ -148,6 +148,7 @@ import java.security.PrivilegedAction; * * @author Alexander Potochkin */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public final class JLayer<V extends Component> extends JComponent implements Scrollable, PropertyChangeListener, Accessible { @@ -687,6 +688,7 @@ public final class JLayer<V extends Component> * * @return the AccessibleContext associated with this {@code JLayer}. */ + @SuppressWarnings("serial") // anonymous class public AccessibleContext getAccessibleContext() { if (accessibleContext == null) { accessibleContext = new AccessibleJComponent() { @@ -825,6 +827,7 @@ public final class JLayer<V extends Component> * The default glassPane for the {@link javax.swing.JLayer}. * It is a subclass of {@code JPanel} which is non opaque by default. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class DefaultLayerGlassPane extends JPanel { /** * Creates a new {@link DefaultLayerGlassPane} diff --git a/jdk/src/share/classes/javax/swing/JList.java b/jdk/src/share/classes/javax/swing/JList.java index 6503887247e..8088396fcc3 100644 --- a/jdk/src/share/classes/javax/swing/JList.java +++ b/jdk/src/share/classes/javax/swing/JList.java @@ -260,7 +260,7 @@ import static sun.swing.SwingUtilities2.Section.*; * See <a href="http://docs.oracle.com/javase/tutorial/uiswing/components/list.html">How to Use Lists</a> * in <a href="http://docs.oracle.com/javase/tutorial/"><em>The Java Tutorial</em></a> * for further documentation. - * <p> + * * @see ListModel * @see AbstractListModel * @see DefaultListModel diff --git a/jdk/src/share/classes/javax/swing/JOptionPane.java b/jdk/src/share/classes/javax/swing/JOptionPane.java index 58d38669e9c..e3458d037c0 100644 --- a/jdk/src/share/classes/javax/swing/JOptionPane.java +++ b/jdk/src/share/classes/javax/swing/JOptionPane.java @@ -259,7 +259,7 @@ import static javax.swing.ClientPropertyKey.PopupFactory_FORCE_HEAVYWEIGHT_POPUP * "Choose one", "Input", * JOptionPane.INFORMATION_MESSAGE, null, * possibleValues, possibleValues[0]); - * </pre><p> + * </pre> * </dl> * <b>Direct Use:</b><br> * To create and use an <code>JOptionPane</code> directly, the diff --git a/jdk/src/share/classes/javax/swing/JTable.java b/jdk/src/share/classes/javax/swing/JTable.java index 5db8833b982..089da6c4e30 100644 --- a/jdk/src/share/classes/javax/swing/JTable.java +++ b/jdk/src/share/classes/javax/swing/JTable.java @@ -58,7 +58,6 @@ import sun.swing.SwingUtilities2; import sun.swing.SwingUtilities2.Section; import static sun.swing.SwingUtilities2.Section.*; import sun.swing.PrintingStatus; -import sun.swing.SwingLazyValue; /** * The <code>JTable</code> is used to display and edit regular two-dimensional tables @@ -662,7 +661,7 @@ public class JTable extends JComponent implements TableModelListener, Scrollable * with the following code: * * <pre>((Vector)rowData.elementAt(1)).elementAt(5);</pre> - * <p> + * * @param rowData the data for the new table * @param columnNames names of each column */ @@ -679,7 +678,7 @@ public class JTable extends JComponent implements TableModelListener, Scrollable * <pre> rowData[1][5]; </pre> * <p> * All rows must be of the same length as <code>columnNames</code>. - * <p> + * * @param rowData the data for the new table * @param columnNames names of each column */ diff --git a/jdk/src/share/classes/javax/swing/LayoutComparator.java b/jdk/src/share/classes/javax/swing/LayoutComparator.java index b127d96253e..cbd7c9f470a 100644 --- a/jdk/src/share/classes/javax/swing/LayoutComparator.java +++ b/jdk/src/share/classes/javax/swing/LayoutComparator.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2008, 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 @@ -39,6 +39,7 @@ import java.awt.Window; * * @author David Mendenhall */ +@SuppressWarnings("serial") // JDK-implementation class final class LayoutComparator implements Comparator<Component>, java.io.Serializable { private static final int ROW_TOLERANCE = 10; diff --git a/jdk/src/share/classes/javax/swing/LayoutFocusTraversalPolicy.java b/jdk/src/share/classes/javax/swing/LayoutFocusTraversalPolicy.java index e3bcf02ed5c..735d7628a7a 100644 --- a/jdk/src/share/classes/javax/swing/LayoutFocusTraversalPolicy.java +++ b/jdk/src/share/classes/javax/swing/LayoutFocusTraversalPolicy.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2008, 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 @@ -47,6 +47,7 @@ import sun.awt.SunToolkit; * @see java.awt.ComponentOrientation * @since 1.4 */ +@SuppressWarnings("serial") // Parts of superclass are not serializable across versions public class LayoutFocusTraversalPolicy extends SortingFocusTraversalPolicy implements Serializable { @@ -265,6 +266,7 @@ public class LayoutFocusTraversalPolicy extends SortingFocusTraversalPolicy // Create our own subclass and change accept to public so that we can call // accept. +@SuppressWarnings("serial") // JDK-implementation class class SwingDefaultFocusTraversalPolicy extends java.awt.DefaultFocusTraversalPolicy { diff --git a/jdk/src/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java b/jdk/src/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java index f3aca5b8f1f..de33d4c4dae 100644 --- a/jdk/src/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java +++ b/jdk/src/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2008, 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 @@ -42,6 +42,7 @@ import java.io.*; * * @author David Mendenhall */ +@SuppressWarnings("serial") // JDK-implementation class final class LegacyGlueFocusTraversalPolicy extends FocusTraversalPolicy implements Serializable { diff --git a/jdk/src/share/classes/javax/swing/MultiUIDefaults.java b/jdk/src/share/classes/javax/swing/MultiUIDefaults.java index 2649867558f..f4a30a1e3f5 100644 --- a/jdk/src/share/classes/javax/swing/MultiUIDefaults.java +++ b/jdk/src/share/classes/javax/swing/MultiUIDefaults.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2008, 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 @@ -38,6 +38,7 @@ import java.util.Set; * * @author Hans Muller */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class MultiUIDefaults extends UIDefaults { private UIDefaults[] tables; diff --git a/jdk/src/share/classes/javax/swing/Popup.java b/jdk/src/share/classes/javax/swing/Popup.java index 75970458743..6d0a2fda2a2 100644 --- a/jdk/src/share/classes/javax/swing/Popup.java +++ b/jdk/src/share/classes/javax/swing/Popup.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2011, 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 @@ -228,6 +228,7 @@ public class Popup { /** * Component used to house window. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class HeavyWeightWindow extends JWindow implements ModalExclude { HeavyWeightWindow(Window parent) { super(parent); @@ -267,6 +268,7 @@ public class Popup { * PopupFactory uses this as a way to know when the Popup shouldn't * be cached based on the Window. */ + @SuppressWarnings("serial") // JDK-implementation class static class DefaultFrame extends Frame { } } diff --git a/jdk/src/share/classes/javax/swing/PopupFactory.java b/jdk/src/share/classes/javax/swing/PopupFactory.java index 275a1d3c825..20b21c7a274 100644 --- a/jdk/src/share/classes/javax/swing/PopupFactory.java +++ b/jdk/src/share/classes/javax/swing/PopupFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2012, 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 @@ -941,6 +941,7 @@ public class PopupFactory { // This implements SwingHeavyWeight so that repaints on it // are processed by the RepaintManager and SwingPaintEventDispatcher. + @SuppressWarnings("serial") // JDK-implementation class private static class MediumWeightComponent extends Panel implements SwingHeavyWeight { MediumWeightComponent() { diff --git a/jdk/src/share/classes/javax/swing/ProgressMonitor.java b/jdk/src/share/classes/javax/swing/ProgressMonitor.java index 378e1767538..889f30d734a 100644 --- a/jdk/src/share/classes/javax/swing/ProgressMonitor.java +++ b/jdk/src/share/classes/javax/swing/ProgressMonitor.java @@ -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 @@ -153,7 +153,7 @@ public class ProgressMonitor implements Accessible } } - + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ProgressOptionPane extends JOptionPane { ProgressOptionPane(Object messageList) { diff --git a/jdk/src/share/classes/javax/swing/RowSorter.java b/jdk/src/share/classes/javax/swing/RowSorter.java index bd375a779f6..5ca809e82a1 100644 --- a/jdk/src/share/classes/javax/swing/RowSorter.java +++ b/jdk/src/share/classes/javax/swing/RowSorter.java @@ -42,10 +42,10 @@ import java.util.*; * <p> * The view invokes the following methods on the <code>RowSorter</code>: * <ul> - * <li><code>toggleSortOrder</code> — The view invokes this when the + * <li><code>toggleSortOrder</code> — The view invokes this when the * appropriate user gesture has occurred to trigger a sort. For example, * the user clicked a column header in a table. - * <li>One of the model change methods — The view invokes a model + * <li>One of the model change methods — The view invokes a model * change method when the underlying model * has changed. There may be order dependencies in how the events are * delivered, so a <code>RowSorter</code> should not update its mapping @@ -59,10 +59,10 @@ import java.util.*; * <code>RowSorter</code> provides notification of changes by way of * <code>RowSorterListener</code>. Two types of notification are sent: * <ul> - * <li><code>RowSorterEvent.Type.SORT_ORDER_CHANGED</code> — notifies + * <li><code>RowSorterEvent.Type.SORT_ORDER_CHANGED</code> — notifies * listeners that the sort order has changed. This is typically followed * by a notification that the sort has changed. - * <li><code>RowSorterEvent.Type.SORTED</code> — notifies listeners that + * <li><code>RowSorterEvent.Type.SORTED</code> — notifies listeners that * the mapping maintained by the <code>RowSorter</code> has changed in * some way. * </ul> diff --git a/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java b/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java index 53b348fe73b..2c4850b8ff4 100644 --- a/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java +++ b/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -607,6 +607,7 @@ public class SortingFocusTraversalPolicy // Create our own subclass and change accept to public so that we can call // accept. +@SuppressWarnings("serial") // JDK-implementation class class SwingContainerOrderFocusTraversalPolicy extends java.awt.ContainerOrderFocusTraversalPolicy { diff --git a/jdk/src/share/classes/javax/swing/SpinnerDateModel.java b/jdk/src/share/classes/javax/swing/SpinnerDateModel.java index e810486992f..cd21e353073 100644 --- a/jdk/src/share/classes/javax/swing/SpinnerDateModel.java +++ b/jdk/src/share/classes/javax/swing/SpinnerDateModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -86,6 +86,7 @@ import java.io.Serializable; * @author Hans Muller * @since 1.4 */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable { private Comparable start, end; diff --git a/jdk/src/share/classes/javax/swing/SpinnerListModel.java b/jdk/src/share/classes/javax/swing/SpinnerListModel.java index 15a847266fb..b528971c1ee 100644 --- a/jdk/src/share/classes/javax/swing/SpinnerListModel.java +++ b/jdk/src/share/classes/javax/swing/SpinnerListModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -56,6 +56,7 @@ import java.io.Serializable; * @author Hans Muller * @since 1.4 */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class SpinnerListModel extends AbstractSpinnerModel implements Serializable { private List list; diff --git a/jdk/src/share/classes/javax/swing/SpinnerNumberModel.java b/jdk/src/share/classes/javax/swing/SpinnerNumberModel.java index b52d360c9ba..90583ca8ea4 100644 --- a/jdk/src/share/classes/javax/swing/SpinnerNumberModel.java +++ b/jdk/src/share/classes/javax/swing/SpinnerNumberModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -80,6 +80,7 @@ import java.io.Serializable; * @author Hans Muller * @since 1.4 */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class SpinnerNumberModel extends AbstractSpinnerModel implements Serializable { private Number stepSize, value; diff --git a/jdk/src/share/classes/javax/swing/SpringLayout.java b/jdk/src/share/classes/javax/swing/SpringLayout.java index fdaa55cf339..c03090242c4 100644 --- a/jdk/src/share/classes/javax/swing/SpringLayout.java +++ b/jdk/src/share/classes/javax/swing/SpringLayout.java @@ -991,7 +991,7 @@ public class SpringLayout implements LayoutManager2 { * If <code>constraints</code> is an instance of * <code>SpringLayout.Constraints</code>, * associates the constraints with the specified component. - * <p> + * * @param component the component being added * @param constraints the component's constraints * @@ -1029,7 +1029,7 @@ public class SpringLayout implements LayoutManager2 { * <pre> * value(e1, c1) = value(e2, c2) + pad</pre> * to take place during all subsequent layout operations. - * <p> + * * @param e1 the edge of the dependent * @param c1 the component of the dependent * @param pad the fixed distance between dependent and anchor @@ -1056,7 +1056,7 @@ public class SpringLayout implements LayoutManager2 { * <code>SpringLayout.VERTICAL_CENTER</code>, * <code>SpringLayout.HORIZONTAL_CENTER</code> or * <code>SpringLayout.BASELINE</code>. - * <p> + * * @param e1 the edge of the dependent * @param c1 the component of the dependent * @param s the spring linking dependent and anchor diff --git a/jdk/src/share/classes/javax/swing/SwingUtilities.java b/jdk/src/share/classes/javax/swing/SwingUtilities.java index 7f79052a51a..7042c31bb2a 100644 --- a/jdk/src/share/classes/javax/swing/SwingUtilities.java +++ b/jdk/src/share/classes/javax/swing/SwingUtilities.java @@ -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 @@ -1755,6 +1755,7 @@ public class SwingUtilities implements SwingConstants private static final Object sharedOwnerFrameKey = new StringBuffer("SwingUtilities.sharedOwnerFrame"); + @SuppressWarnings("serial") // JDK-implementation class static class SharedOwnerFrame extends Frame implements WindowListener { public void addNotify() { super.addNotify(); diff --git a/jdk/src/share/classes/javax/swing/SwingWorker.java b/jdk/src/share/classes/javax/swing/SwingWorker.java index 746b78aa7d2..4eed4a8e9fa 100644 --- a/jdk/src/share/classes/javax/swing/SwingWorker.java +++ b/jdk/src/share/classes/javax/swing/SwingWorker.java @@ -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 @@ -843,6 +843,7 @@ public abstract class SwingWorker<T, V> implements RunnableFuture<T> { } } + @SuppressWarnings("serial") // JDK-implementation class private class SwingWorkerPropertyChangeSupport extends PropertyChangeSupport { SwingWorkerPropertyChangeSupport(Object source) { diff --git a/jdk/src/share/classes/javax/swing/colorchooser/CenterLayout.java b/jdk/src/share/classes/javax/swing/colorchooser/CenterLayout.java index 769eb0b50e9..24e3aa9f65b 100644 --- a/jdk/src/share/classes/javax/swing/colorchooser/CenterLayout.java +++ b/jdk/src/share/classes/javax/swing/colorchooser/CenterLayout.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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,6 +34,7 @@ import java.io.*; * @author Tom Santos * @author Steve Wilson */ +@SuppressWarnings("serial") // Same-version serialization only class CenterLayout implements LayoutManager, Serializable { public void addLayoutComponent(String name, Component comp) { } public void removeLayoutComponent(Component comp) { } diff --git a/jdk/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java b/jdk/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java index 7a5afdef9d2..06a4dfdfb6e 100644 --- a/jdk/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java +++ b/jdk/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2012, 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 @@ -38,8 +38,8 @@ import javax.swing.JFormattedTextField; import javax.swing.JLabel; import javax.swing.SwingConstants; +@SuppressWarnings("serial") // Superclass is not serializable across versions final class ColorChooserPanel extends AbstractColorChooserPanel implements PropertyChangeListener { - private static final int MASK = 0xFF000000; private final ColorModel model; private final ColorPanel panel; diff --git a/jdk/src/share/classes/javax/swing/colorchooser/ColorPanel.java b/jdk/src/share/classes/javax/swing/colorchooser/ColorPanel.java index efed08faade..6960cba86a2 100644 --- a/jdk/src/share/classes/javax/swing/colorchooser/ColorPanel.java +++ b/jdk/src/share/classes/javax/swing/colorchooser/ColorPanel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2012, 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 @@ -39,6 +39,7 @@ import javax.swing.JRadioButton; import javax.swing.border.EmptyBorder; import javax.swing.JSpinner.DefaultEditor; +@SuppressWarnings("serial") // Superclass is not serializable across versions final class ColorPanel extends JPanel implements ActionListener { private final SlidingSpinner[] spinners = new SlidingSpinner[5]; diff --git a/jdk/src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java b/jdk/src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java index e4bd911f89a..f8de2344f8e 100644 --- a/jdk/src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java +++ b/jdk/src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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,6 +37,7 @@ import java.io.Serializable; * * @see java.awt.Color */ +@SuppressWarnings("serial") // Same-version serialization only public class DefaultColorSelectionModel implements ColorSelectionModel, Serializable { /** diff --git a/jdk/src/share/classes/javax/swing/colorchooser/DefaultSwatchChooserPanel.java b/jdk/src/share/classes/javax/swing/colorchooser/DefaultSwatchChooserPanel.java index e56b95f2ddf..c8716f13c84 100644 --- a/jdk/src/share/classes/javax/swing/colorchooser/DefaultSwatchChooserPanel.java +++ b/jdk/src/share/classes/javax/swing/colorchooser/DefaultSwatchChooserPanel.java @@ -266,8 +266,7 @@ class DefaultSwatchChooserPanel extends AbstractColorChooserPanel { } - - +@SuppressWarnings("serial") // Same-version serialization only class SwatchPanel extends JPanel { protected Color[] colors; @@ -438,6 +437,7 @@ class SwatchPanel extends JPanel { } +@SuppressWarnings("serial") // Superclass is not serializable across versions class RecentSwatchPanel extends SwatchPanel { protected void initValues() { swatchSize = UIManager.getDimension("ColorChooser.swatchesRecentSwatchSize", getLocale()); @@ -465,6 +465,7 @@ class RecentSwatchPanel extends SwatchPanel { } +@SuppressWarnings("serial") // Superclass is not serializable across versions class MainSwatchPanel extends SwatchPanel { diff --git a/jdk/src/share/classes/javax/swing/colorchooser/DiagramComponent.java b/jdk/src/share/classes/javax/swing/colorchooser/DiagramComponent.java index 760efc22f83..61f8047f746 100644 --- a/jdk/src/share/classes/javax/swing/colorchooser/DiagramComponent.java +++ b/jdk/src/share/classes/javax/swing/colorchooser/DiagramComponent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 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 @@ -34,6 +34,7 @@ import java.awt.event.MouseMotionListener; import java.awt.image.BufferedImage; import javax.swing.JComponent; +@SuppressWarnings("serial") // Superclass is not serializable across versions final class DiagramComponent extends JComponent implements MouseListener, MouseMotionListener { private final ColorPanel panel; diff --git a/jdk/src/share/classes/javax/swing/colorchooser/SmartGridLayout.java b/jdk/src/share/classes/javax/swing/colorchooser/SmartGridLayout.java index 42606039fb6..73e0f0059ba 100644 --- a/jdk/src/share/classes/javax/swing/colorchooser/SmartGridLayout.java +++ b/jdk/src/share/classes/javax/swing/colorchooser/SmartGridLayout.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -38,6 +38,7 @@ import java.io.Serializable; * * @author Steve Wilson */ +@SuppressWarnings("serial") // Same-version serialization only class SmartGridLayout implements LayoutManager, Serializable { int rows = 2; diff --git a/jdk/src/share/classes/javax/swing/colorchooser/ValueFormatter.java b/jdk/src/share/classes/javax/swing/colorchooser/ValueFormatter.java index 420318b3c33..6defbbed287 100644 --- a/jdk/src/share/classes/javax/swing/colorchooser/ValueFormatter.java +++ b/jdk/src/share/classes/javax/swing/colorchooser/ValueFormatter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 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 @@ -38,6 +38,7 @@ import javax.swing.text.BadLocationException; import javax.swing.text.DefaultFormatterFactory; import javax.swing.text.DocumentFilter; +@SuppressWarnings("serial") // Same-version serialization only final class ValueFormatter extends AbstractFormatter implements FocusListener, Runnable { static void init(int length, boolean hex, JFormattedTextField text) { diff --git a/jdk/src/share/classes/javax/swing/event/RowSorterEvent.java b/jdk/src/share/classes/javax/swing/event/RowSorterEvent.java index b0acf927bd7..f7340ecd43b 100644 --- a/jdk/src/share/classes/javax/swing/event/RowSorterEvent.java +++ b/jdk/src/share/classes/javax/swing/event/RowSorterEvent.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 @@ -40,6 +40,7 @@ import javax.swing.RowSorter; * @see javax.swing.RowSorter * @since 1.6 */ +@SuppressWarnings("serial") // Same-version serialization only public class RowSorterEvent extends java.util.EventObject { private Type type; private int[] oldViewToModel; diff --git a/jdk/src/share/classes/javax/swing/event/TreeSelectionEvent.java b/jdk/src/share/classes/javax/swing/event/TreeSelectionEvent.java index d2966adeafb..792ce190509 100644 --- a/jdk/src/share/classes/javax/swing/event/TreeSelectionEvent.java +++ b/jdk/src/share/classes/javax/swing/event/TreeSelectionEvent.java @@ -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 @@ -49,6 +49,7 @@ import javax.swing.tree.TreePath; * * @author Scott Violet */ +@SuppressWarnings("serial") // Same-version serialization only public class TreeSelectionEvent extends EventObject { /** Paths this event represents. */ diff --git a/jdk/src/share/classes/javax/swing/filechooser/FileSystemView.java b/jdk/src/share/classes/javax/swing/filechooser/FileSystemView.java index f62d69c0e00..4ab5dea5cac 100644 --- a/jdk/src/share/classes/javax/swing/filechooser/FileSystemView.java +++ b/jdk/src/share/classes/javax/swing/filechooser/FileSystemView.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -579,9 +579,7 @@ public abstract class FileSystemView { return new FileSystemRoot(f); } - - - + @SuppressWarnings("serial") // Same-version serialization only static class FileSystemRoot extends File { public FileSystemRoot(File f) { super(f,""); @@ -775,6 +773,7 @@ class WindowsFileSystemView extends FileSystemView { return super.createFileObject(path); } + @SuppressWarnings("serial") // anonymous class protected File createFileSystemRoot(File f) { // Problem: Removable drives on Windows return false on f.exists() // Workaround: Override exists() to always return true. diff --git a/jdk/src/share/classes/javax/swing/plaf/ActionMapUIResource.java b/jdk/src/share/classes/javax/swing/plaf/ActionMapUIResource.java index b9a6cd35b31..2a1090c5da3 100644 --- a/jdk/src/share/classes/javax/swing/plaf/ActionMapUIResource.java +++ b/jdk/src/share/classes/javax/swing/plaf/ActionMapUIResource.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2006, 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 @@ -35,6 +35,7 @@ import javax.swing.ActionMap; * @author Scott Violet * @since 1.3 */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class ActionMapUIResource extends ActionMap implements UIResource { public ActionMapUIResource() { } diff --git a/jdk/src/share/classes/javax/swing/plaf/ComponentInputMapUIResource.java b/jdk/src/share/classes/javax/swing/plaf/ComponentInputMapUIResource.java index 3eda1b3f645..092e4350920 100644 --- a/jdk/src/share/classes/javax/swing/plaf/ComponentInputMapUIResource.java +++ b/jdk/src/share/classes/javax/swing/plaf/ComponentInputMapUIResource.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2006, 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 @@ -36,6 +36,7 @@ import javax.swing.JComponent; * @author Scott Violet * @since 1.3 */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class ComponentInputMapUIResource extends ComponentInputMap implements UIResource { public ComponentInputMapUIResource(JComponent component) { super(component); diff --git a/jdk/src/share/classes/javax/swing/plaf/InputMapUIResource.java b/jdk/src/share/classes/javax/swing/plaf/InputMapUIResource.java index 9a025111896..2efd5c543cc 100644 --- a/jdk/src/share/classes/javax/swing/plaf/InputMapUIResource.java +++ b/jdk/src/share/classes/javax/swing/plaf/InputMapUIResource.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2006, 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 @@ -35,6 +35,7 @@ import javax.swing.InputMap; * @author Scott Violet * @since 1.3 */ +@SuppressWarnings("serial") // Same-version serialization only public class InputMapUIResource extends InputMap implements UIResource { public InputMapUIResource() { } diff --git a/jdk/src/share/classes/javax/swing/plaf/LayerUI.java b/jdk/src/share/classes/javax/swing/plaf/LayerUI.java index cce5249804d..1c8eea75908 100644 --- a/jdk/src/share/classes/javax/swing/plaf/LayerUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/LayerUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 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 @@ -58,6 +58,7 @@ import java.io.Serializable; * * @author Alexander Potochkin */ +@SuppressWarnings("serial") // Same-version serialization only public class LayerUI<V extends Component> extends ComponentUI implements Serializable { diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicBorders.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicBorders.java index be06927017c..05a3093e254 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicBorders.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicBorders.java @@ -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 @@ -144,6 +144,7 @@ public class BasicBorders { * Special thin border for rollover toolbar buttons. * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class RolloverButtonBorder extends ButtonBorder { public RolloverButtonBorder(Color shadow, Color darkShadow, @@ -196,6 +197,7 @@ public class BasicBorders { * Note: This is identical to the package private class * MetalBorders.RolloverMarginBorder and should probably be consolidated. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class RolloverMarginBorder extends EmptyBorder { public RolloverMarginBorder() { @@ -225,6 +227,7 @@ public class BasicBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ButtonBorder extends AbstractBorder implements UIResource { protected Color shadow; protected Color darkShadow; @@ -267,6 +270,7 @@ public class BasicBorders { } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ToggleButtonBorder extends ButtonBorder { public ToggleButtonBorder(Color shadow, Color darkShadow, @@ -288,6 +292,7 @@ public class BasicBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class RadioButtonBorder extends ButtonBorder { public RadioButtonBorder(Color shadow, Color darkShadow, @@ -324,6 +329,7 @@ public class BasicBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class MenuBarBorder extends AbstractBorder implements UIResource { private Color shadow; private Color highlight; @@ -350,6 +356,7 @@ public class BasicBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class MarginBorder extends AbstractBorder implements UIResource { public Insets getBorderInsets(Component c, Insets insets) { Insets margin = null; @@ -377,6 +384,7 @@ public class BasicBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class FieldBorder extends AbstractBorder implements UIResource { protected Color shadow; protected Color darkShadow; diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java index 252ef03a13a..34595149b95 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java @@ -325,7 +325,7 @@ public class BasicButtonUI extends ButtonUI{ /** * Method which renders the text of the current button. - * <p> + * * @param g Graphics context * @param b Current button to render * @param textRect Bounding rectangle to render the text. diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java index b6de66beb2b..42b9a0b6c8b 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, 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 @@ -39,7 +39,7 @@ import sun.swing.DefaultLookup; /** * Provides the basic look and feel for a JColorChooser. - * <p> + * * @author Tom Santos * @author Steve Wilson */ @@ -345,6 +345,7 @@ public class BasicColorChooserUI extends ColorChooserUI } } + @SuppressWarnings("serial") // JDK-implementation class static class ColorTransferHandler extends TransferHandler implements UIResource { ColorTransferHandler() { diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java index 6aa49dda179..70c01456be9 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java @@ -32,6 +32,8 @@ import java.awt.event.*; import java.lang.reflect.Method; +import sun.reflect.misc.MethodUtil; + /** * The default editor for editable combo boxes. The editor is implemented as a JTextField. * @@ -98,8 +100,8 @@ public class BasicComboBoxEditor implements ComboBoxEditor,FocusListener { // Must take the value from the editor and get the value and cast it to the new type. Class<?> cls = oldValue.getClass(); try { - Method method = cls.getMethod("valueOf", new Class[]{String.class}); - newValue = method.invoke(oldValue, new Object[] { editor.getText()}); + Method method = MethodUtil.getMethod(cls, "valueOf", new Class[]{String.class}); + newValue = MethodUtil.invoke(method, oldValue, new Object[] { editor.getText()}); } catch (Exception ex) { // Fail silently and return the newValue (a String object) } @@ -129,6 +131,7 @@ public class BasicComboBoxEditor implements ComboBoxEditor,FocusListener { editor.removeActionListener(l); } + @SuppressWarnings("serial") // Superclass is not serializable across versions static class BorderlessTextField extends JTextField { public BorderlessTextField(String value,int n) { super(value,n); diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java index 2d0067789b0..695eb87bded 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java @@ -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 @@ -304,6 +304,7 @@ public class BasicDesktopPaneUI extends DesktopPaneUI { /** * The default DesktopManager installed by the UI. */ + @SuppressWarnings("serial") // JDK-implementation class private class BasicDesktopManager extends DefaultDesktopManager implements UIResource { } @@ -632,6 +633,7 @@ public class BasicDesktopPaneUI extends DesktopPaneUI { * Handles restoring a minimized or maximized internal frame. * @since 1.3 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class OpenAction extends AbstractAction { public void actionPerformed(ActionEvent evt) { JDesktopPane dp = (JDesktopPane)evt.getSource(); @@ -646,6 +648,7 @@ public class BasicDesktopPaneUI extends DesktopPaneUI { /** * Handles closing an internal frame. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class CloseAction extends AbstractAction { public void actionPerformed(ActionEvent evt) { JDesktopPane dp = (JDesktopPane)evt.getSource(); @@ -664,6 +667,7 @@ public class BasicDesktopPaneUI extends DesktopPaneUI { /** * Handles minimizing an internal frame. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class MinimizeAction extends AbstractAction { public void actionPerformed(ActionEvent evt) { JDesktopPane dp = (JDesktopPane)evt.getSource(); @@ -682,6 +686,7 @@ public class BasicDesktopPaneUI extends DesktopPaneUI { /** * Handles maximizing an internal frame. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class MaximizeAction extends AbstractAction { public void actionPerformed(ActionEvent evt) { JDesktopPane dp = (JDesktopPane)evt.getSource(); @@ -700,6 +705,7 @@ public class BasicDesktopPaneUI extends DesktopPaneUI { /** * Handles navigating to the next internal frame. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class NavigateAction extends AbstractAction { public void actionPerformed(ActionEvent evt) { JDesktopPane dp = (JDesktopPane)evt.getSource(); diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java index eeca39b5cd5..4d0220cba9b 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -40,6 +40,7 @@ import sun.awt.shell.ShellFolder; * * @author Jeff Dinkins */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class BasicDirectoryModel extends AbstractListModel<Object> implements PropertyChangeListener { private JFileChooser filechooser = null; diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java index 62c417fc9ce..b609dd2f2f0 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -752,6 +752,7 @@ public class BasicFileChooserUI extends FileChooserUI { /** * Creates a new folder. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class NewFolderAction extends AbstractAction { protected NewFolderAction() { super(FilePane.ACTION_NEW_FOLDER); @@ -794,6 +795,7 @@ public class BasicFileChooserUI extends FileChooserUI { /** * Acts on the "home" key event or equivalent event. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class GoHomeAction extends AbstractAction { protected GoHomeAction() { super("Go Home"); @@ -804,6 +806,7 @@ public class BasicFileChooserUI extends FileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class ChangeToParentDirectoryAction extends AbstractAction { protected ChangeToParentDirectoryAction() { super("Go Up"); @@ -817,6 +820,7 @@ public class BasicFileChooserUI extends FileChooserUI { /** * Responds to an Open or Save request */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class ApproveSelectionAction extends AbstractAction { protected ApproveSelectionAction() { super(FilePane.ACTION_APPROVE_SELECTION); @@ -1125,6 +1129,7 @@ public class BasicFileChooserUI extends FileChooserUI { /** * Responds to a cancel request. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class CancelSelectionAction extends AbstractAction { public void actionPerformed(ActionEvent e) { getFileChooser().cancelSelection(); @@ -1134,6 +1139,7 @@ public class BasicFileChooserUI extends FileChooserUI { /** * Rescans the files in the current directory */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class UpdateAction extends AbstractAction { public void actionPerformed(ActionEvent e) { JFileChooser fc = getFileChooser(); @@ -1286,6 +1292,7 @@ public class BasicFileChooserUI extends FileChooserUI { * Data transfer support for the file chooser. Since files are currently presented * as a list, the list support is reused with the added flavor of DataFlavor.javaFileListFlavor */ + @SuppressWarnings("serial") // JDK-implementation class static class FileTransferHandler extends TransferHandler implements UIResource { /** diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicHTML.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicHTML.java index 73c4e2b526e..02719839496 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicHTML.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicHTML.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -276,6 +276,7 @@ public class BasicHTML { * provided by HTMLEditorKit. * </ul> */ + @SuppressWarnings("serial") // JDK-implementation class static class BasicEditorKit extends HTMLEditorKit { /** Shared base style for all documents created by us use. */ private static StyleSheet defaultStyles; @@ -345,6 +346,7 @@ public class BasicHTML { * is overridden to return the foreground property from the Component this * was created for. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class BasicDocument extends HTMLDocument { /** The host, that is where we are rendering. */ // private JComponent host; diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicListUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicListUI.java index f8a91437dde..c6f22cefb0b 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicListUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicListUI.java @@ -2834,6 +2834,7 @@ public class BasicListUI extends ListUI private static final TransferHandler defaultTransferHandler = new ListTransferHandler(); + @SuppressWarnings("serial") // Superclass is a JDK-implementation class static class ListTransferHandler extends TransferHandler implements UIResource { /** diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java index 1bcf5fa93e0..6ed2265087e 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java @@ -49,8 +49,8 @@ import javax.sound.sampled.*; import sun.awt.AppContext; import sun.awt.SunToolkit; -import sun.swing.SwingLazyValue; import sun.swing.SwingUtilities2; +import sun.swing.icon.SortArrowIcon; import javax.swing.LookAndFeel; import javax.swing.AbstractAction; @@ -74,6 +74,7 @@ import javax.swing.plaf.*; import javax.swing.text.JTextComponent; import javax.swing.text.DefaultEditorKit; import javax.swing.JInternalFrame; +import static javax.swing.UIDefaults.LazyValue; import java.beans.PropertyVetoException; import java.awt.Window; import java.beans.PropertyChangeListener; @@ -459,30 +460,16 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab // *** Shared Longs Long oneThousand = new Long(1000); - // *** Shared Fonts - Integer twelve = new Integer(12); - Integer fontPlain = new Integer(Font.PLAIN); - Integer fontBold = new Integer(Font.BOLD); - Object dialogPlain12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.DIALOG, fontPlain, twelve}); - Object serifPlain12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.SERIF, fontPlain, twelve}); - Object sansSerifPlain12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.SANS_SERIF, fontPlain, twelve}); - Object monospacedPlain12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.MONOSPACED, fontPlain, twelve}); - Object dialogBold12 = new SwingLazyValue( - "javax.swing.plaf.FontUIResource", - null, - new Object[] {Font.DIALOG, fontBold, twelve}); + LazyValue dialogPlain12 = t -> + new FontUIResource(Font.DIALOG, Font.PLAIN, 12); + LazyValue serifPlain12 = t -> + new FontUIResource(Font.SERIF, Font.PLAIN, 12); + LazyValue sansSerifPlain12 = t -> + new FontUIResource(Font.SANS_SERIF, Font.PLAIN, 12); + LazyValue monospacedPlain12 = t -> + new FontUIResource(Font.MONOSPACED, Font.PLAIN, 12); + LazyValue dialogBold12 = t -> + new FontUIResource(Font.DIALOG, Font.BOLD, 12); // *** Shared Colors @@ -515,55 +502,40 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab InsetsUIResource threeInsets = new InsetsUIResource(3,3,3,3); // *** Shared Borders - Object marginBorder = new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders$MarginBorder"); - Object etchedBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource", - "getEtchedBorderUIResource"); - Object loweredBevelBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource", - "getLoweredBevelBorderUIResource"); + LazyValue marginBorder = t -> new BasicBorders.MarginBorder(); + LazyValue etchedBorder = t -> + BorderUIResource.getEtchedBorderUIResource(); + LazyValue loweredBevelBorder = t -> + BorderUIResource.getLoweredBevelBorderUIResource(); - Object popupMenuBorder = new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getInternalFrameBorder"); + LazyValue popupMenuBorder = t -> BasicBorders.getInternalFrameBorder(); - Object blackLineBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource", - "getBlackLineBorderUIResource"); - Object focusCellHighlightBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$LineBorderUIResource", - null, - new Object[] {yellow}); + LazyValue blackLineBorder = t -> + BorderUIResource.getBlackLineBorderUIResource(); + LazyValue focusCellHighlightBorder = t -> + new BorderUIResource.LineBorderUIResource(yellow); Object noFocusBorder = new BorderUIResource.EmptyBorderUIResource(1,1,1,1); - Object tableHeaderBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$BevelBorderUIResource", - null, - new Object[] { new Integer(BevelBorder.RAISED), + LazyValue tableHeaderBorder = t -> + new BorderUIResource.BevelBorderUIResource( + BevelBorder.RAISED, controlLtHighlight, control, controlDkShadow, - controlShadow }); + controlShadow); // *** Button value objects - Object buttonBorder = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getButtonBorder"); + LazyValue buttonBorder = + t -> BasicBorders.getButtonBorder(); - Object buttonToggleBorder = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getToggleButtonBorder"); + LazyValue buttonToggleBorder = + t -> BasicBorders.getToggleButtonBorder(); - Object radioButtonBorder = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getRadioButtonBorder"); + LazyValue radioButtonBorder = + t -> BasicBorders.getRadioButtonBorder(); // *** FileChooser / FileView value objects @@ -601,9 +573,8 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab // *** InternalFrame value objects - Object internalFrameBorder = new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getInternalFrameBorder"); + LazyValue internalFrameBorder = t -> + BasicBorders.getInternalFrameBorder(); // *** List value objects @@ -616,46 +587,30 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab // *** Menus value objects - Object menuBarBorder = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getMenuBarBorder"); + LazyValue menuBarBorder = + t -> BasicBorders.getMenuBarBorder(); - Object menuItemCheckIcon = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "getMenuItemCheckIcon"); + LazyValue menuItemCheckIcon = + t -> BasicIconFactory.getMenuItemCheckIcon(); - Object menuItemArrowIcon = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "getMenuItemArrowIcon"); + LazyValue menuItemArrowIcon = + t -> BasicIconFactory.getMenuItemArrowIcon(); - Object menuArrowIcon = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "getMenuArrowIcon"); + LazyValue menuArrowIcon = + t -> BasicIconFactory.getMenuArrowIcon(); - Object checkBoxIcon = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "getCheckBoxIcon"); + LazyValue checkBoxIcon = + t -> BasicIconFactory.getCheckBoxIcon(); - Object radioButtonIcon = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "getRadioButtonIcon"); + LazyValue radioButtonIcon = + t -> BasicIconFactory.getRadioButtonIcon(); - Object checkBoxMenuItemIcon = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "getCheckBoxMenuItemIcon"); + LazyValue checkBoxMenuItemIcon = + t -> BasicIconFactory.getCheckBoxMenuItemIcon(); - Object radioButtonMenuItemIcon = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "getRadioButtonMenuItemIcon"); + LazyValue radioButtonMenuItemIcon = + t -> BasicIconFactory.getRadioButtonMenuItemIcon(); Object menuItemAcceleratorDelimiter = "+"; @@ -663,27 +618,22 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab Object optionPaneMinimumSize = new DimensionUIResource(262, 90); - Integer zero = new Integer(0); - Object zeroBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$EmptyBorderUIResource", - new Object[] {zero, zero, zero, zero}); + int zero = 0; + LazyValue zeroBorder = t -> + new BorderUIResource.EmptyBorderUIResource(zero, zero, zero, zero); - Integer ten = new Integer(10); - Object optionPaneBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$EmptyBorderUIResource", - new Object[] {ten, ten, twelve, ten}); + int ten = 10; + LazyValue optionPaneBorder = t -> + new BorderUIResource.EmptyBorderUIResource(ten, ten, 12, ten); - Object optionPaneButtonAreaBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$EmptyBorderUIResource", - new Object[] {new Integer(6), zero, zero, zero}); + LazyValue optionPaneButtonAreaBorder = t -> + new BorderUIResource.EmptyBorderUIResource(6, zero, zero, zero); // *** ProgessBar value objects - Object progressBarBorder = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getProgressBarBorder"); + LazyValue progressBarBorder = + t -> BasicBorders.getProgressBarBorder(); // ** ScrollBar value objects @@ -699,14 +649,10 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab // *** SplitPane value objects - Object splitPaneBorder = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getSplitPaneBorder"); - Object splitPaneDividerBorder = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getSplitPaneDividerBorder"); + LazyValue splitPaneBorder = + t -> BasicBorders.getSplitPaneBorder(); + LazyValue splitPaneDividerBorder = + t -> BasicBorders.getSplitPaneDividerBorder(); // ** TabbedBane value objects @@ -721,10 +667,8 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab // *** Text value objects - Object textFieldBorder = - new SwingLazyValue( - "javax.swing.plaf.basic.BasicBorders", - "getTextFieldBorder"); + LazyValue textFieldBorder = + t -> BasicBorders.getTextFieldBorder(); Object editorMargin = threeInsets; @@ -899,21 +843,13 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab /* Default frame icons are undefined for Basic. */ "InternalFrame.maximizeIcon", - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "createEmptyFrameIcon"), + (LazyValue) t -> BasicIconFactory.createEmptyFrameIcon(), "InternalFrame.minimizeIcon", - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "createEmptyFrameIcon"), + (LazyValue) t -> BasicIconFactory.createEmptyFrameIcon(), "InternalFrame.iconifyIcon", - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "createEmptyFrameIcon"), + (LazyValue) t -> BasicIconFactory.createEmptyFrameIcon(), "InternalFrame.closeIcon", - new SwingLazyValue( - "javax.swing.plaf.basic.BasicIconFactory", - "createEmptyFrameIcon"), + (LazyValue) t -> BasicIconFactory.createEmptyFrameIcon(), // InternalFrame Auditory Cue Mappings "InternalFrame.closeSound", null, "InternalFrame.maximizeSound", null, @@ -1576,14 +1512,10 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab "ctrl shift PAGE_UP", "scrollRightExtendSelection", "ctrl shift PAGE_DOWN", "scrollLeftExtendSelection", }), - "Table.ascendingSortIcon", new SwingLazyValue( - "sun.swing.icon.SortArrowIcon", - null, new Object[] { Boolean.TRUE, - "Table.sortIconColor" }), - "Table.descendingSortIcon", new SwingLazyValue( - "sun.swing.icon.SortArrowIcon", - null, new Object[] { Boolean.FALSE, - "Table.sortIconColor" }), + "Table.ascendingSortIcon", (LazyValue) t -> + new SortArrowIcon(true, "Table.sortIconColor"), + "Table.descendingSortIcon", (LazyValue) t -> + new SortArrowIcon(false, "Table.sortIconColor"), "Table.sortIconColor", controlShadow, "TableHeader.font", dialogPlain12, @@ -2324,4 +2256,4 @@ public abstract class BasicLookAndFeel extends LookAndFeel implements Serializab } } } -} +} \ No newline at end of file diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java index 1c6f496ba44..9562a2089d6 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java @@ -664,7 +664,7 @@ public class BasicMenuItemUI extends MenuItemUI /** * Renders the text of the current menu item. - * <p> + * * @param g graphics context * @param menuItem menu item to render * @param textRect bounding rectangle for rendering the text diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java index 1c9e8cb807b..143899bb6cb 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java @@ -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 @@ -393,6 +393,7 @@ public class BasicOptionPaneUI extends OptionPaneUI { if (nl >= 0) { // break up newlines if (nl == 0) { + @SuppressWarnings("serial") // anonymous class JPanel breakPanel = new JPanel() { public Dimension getPreferredSize() { Font f = getFont(); @@ -1338,6 +1339,7 @@ public class BasicOptionPaneUI extends OptionPaneUI { * change to the JOptionPane, but we also want additional bindings * (those of the JRootPane) to be processed as well. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class MultiplexingTextField extends JTextField { private KeyStroke[] strokes; @@ -1431,6 +1433,7 @@ public class BasicOptionPaneUI extends OptionPaneUI { return button; } + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class ConstrainedButton extends JButton { int minimumWidth; diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java index 9fa579b24f4..5c999e0089d 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2006, 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 @@ -240,6 +240,7 @@ public class BasicRootPaneUI extends RootPaneUI implements } } + @SuppressWarnings("serial") // JDK-implementation class private static class RootPaneInputMap extends ComponentInputMapUIResource { public RootPaneInputMap(JComponent c) { super(c); diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java index 440de3d291f..bc8dda4a665 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java @@ -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 @@ -1894,6 +1894,7 @@ public class BasicSliderUI extends SliderUI{ * This class should be treated as a "protected" inner class. * Instantiate it only within subclasses of <code>Foo</code>. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class ActionScroller extends AbstractAction { // NOTE: This class exists only for backward compatibility. All // its functionality has been moved into Actions. If you need to add @@ -1927,6 +1928,7 @@ public class BasicSliderUI extends SliderUI{ /** * A static version of the above. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class SharedActionScroller extends AbstractAction { // NOTE: This class exists only for backward compatibility. All // its functionality has been moved into Actions. If you need to add diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java index eb057e68cf0..203deb1a54b 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2010, 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 @@ -601,6 +601,7 @@ public class BasicSpinnerUI extends SpinnerUI * so it doesn't have any state that persists beyond the limits * of a single button pressed/released gesture. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class ArrowButtonHandler extends AbstractAction implements FocusListener, MouseListener, UIResource { final javax.swing.Timer autoRepeatTimer; diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java index ab99d046fe4..405795b985d 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java @@ -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 @@ -829,6 +829,7 @@ public class BasicSplitPaneUI extends SplitPaneUI * Returns the default non continuous layout divider, which is an * instance of {@code Canvas} that fills in the background with dark gray. */ + @SuppressWarnings("serial") // anonymous class protected Component createDefaultNonContinuousLayoutDivider() { return new Canvas() { public void paint(Graphics g) { diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java index 7b7823f74cb..bf27557ac99 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java @@ -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 @@ -3449,6 +3449,7 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ScrollableTabViewport extends JViewport implements UIResource { public ScrollableTabViewport() { super(); @@ -3463,6 +3464,7 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ScrollableTabPanel extends JPanel implements UIResource { public ScrollableTabPanel() { super(null); @@ -3493,6 +3495,7 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ScrollableTabButton extends BasicArrowButton implements UIResource, SwingConstants { public ScrollableTabButton(int direction) { @@ -3818,6 +3821,7 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { return htmlViews; } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class TabContainer extends JPanel implements UIResource { private boolean notifyTabbedPane = true; @@ -3862,6 +3866,7 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class CroppedEdge extends JPanel implements UIResource { private Shape shape; private int tabIndex; diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java index dba3c6b23a1..a59c79dc622 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java @@ -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 @@ -2134,6 +2134,7 @@ public class BasicTableUI extends TableUI private static final TransferHandler defaultTransferHandler = new TableTransferHandler(); + @SuppressWarnings("serial") // JDK-implementation class static class TableTransferHandler extends TransferHandler implements UIResource { /** diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java index ddeba1db653..163a5cd2b46 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java @@ -39,7 +39,6 @@ import javax.swing.text.View; /** * BasicToggleButton implementation - * <p> * * @author Jeff Dinkins */ diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java index f0a88e000ba..1f2aac7e597 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java @@ -39,7 +39,6 @@ import javax.swing.plaf.basic.BasicSeparatorUI; /** * A Basic L&F implementation of ToolBarSeparatorUI. This implementation * is a "combined" view/controller. - * <p> * * @author Jeff Shapiro */ diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java index c4883927c96..b301f200bc9 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java @@ -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 @@ -44,7 +44,6 @@ import sun.swing.UIAction; /** * A Basic L&F implementation of ToolBarUI. This implementation * is a "combined" view/controller. - * <p> * * @author Georges Saab * @author Jeff Shapiro @@ -470,11 +469,13 @@ public class BasicToolBarUI extends ToolBarUI implements SwingConstants */ protected JFrame createFloatingFrame(JToolBar toolbar) { Window window = SwingUtilities.getWindowAncestor(toolbar); + @SuppressWarnings("serial") // anonymous class JFrame frame = new JFrame(toolbar.getName(), (window != null) ? window.getGraphicsConfiguration() : null) { // Override createRootPane() to automatically resize // the frame when contents change protected JRootPane createRootPane() { + @SuppressWarnings("serial") // anonymous class JRootPane rootPane = new JRootPane() { private boolean packing = false; @@ -505,6 +506,7 @@ public class BasicToolBarUI extends ToolBarUI implements SwingConstants * @since 1.4 */ protected RootPaneContainer createFloatingWindow(JToolBar toolbar) { + @SuppressWarnings("serial") // Superclass is not serializable across versions class ToolBarDialog extends JDialog { public ToolBarDialog(Frame owner, String title, boolean modal) { super(owner, title, modal); @@ -517,6 +519,7 @@ public class BasicToolBarUI extends ToolBarUI implements SwingConstants // Override createRootPane() to automatically resize // the frame when contents change protected JRootPane createRootPane() { + @SuppressWarnings("serial") // anonymous class JRootPane rootPane = new JRootPane() { private boolean packing = false; @@ -1370,6 +1373,7 @@ public class BasicToolBarUI extends ToolBarUI implements SwingConstants } } + @SuppressWarnings("serial") // Same-version serialization only protected class DragWindow extends Window { Color borderColor = Color.gray; diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java index d54d470db88..95a951cc6f9 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java @@ -41,7 +41,6 @@ import javax.swing.text.View; /** * Standard tool tip L&F. - * <p> * * @author Dave Moore */ diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java index cd41f852715..208bd8aaab4 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java @@ -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 @@ -50,7 +50,6 @@ import sun.swing.UIAction; /** * The basic L&F for a hierarchical data structure. - * <p> * * @author Scott Violet * @author Shannon Hickey (drag and drop) @@ -2916,6 +2915,7 @@ public class BasicTreeUI extends TreeUI * Will toggle the expandedness of a node, as well as potentially * incrementing the selection. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class TreeTraverseAction extends AbstractAction { /** Determines direction to traverse, 1 means expand, -1 means * collapse. */ @@ -2948,6 +2948,7 @@ public class BasicTreeUI extends TreeUI /** TreePageAction handles page up and page down events. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class TreePageAction extends AbstractAction { /** Specifies the direction to adjust the selection by. */ protected int direction; @@ -2983,6 +2984,7 @@ public class BasicTreeUI extends TreeUI /** TreeIncrementAction is used to handle up/down actions. Selection * is moved up or down based on direction. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class TreeIncrementAction extends AbstractAction { /** Specifies the direction to adjust the selection by. */ protected int direction; @@ -3020,6 +3022,7 @@ public class BasicTreeUI extends TreeUI * Scrolls either the first or last cell to be visible based on * direction. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class TreeHomeAction extends AbstractAction { protected int direction; /** Set to true if append to selection. */ @@ -3054,6 +3057,7 @@ public class BasicTreeUI extends TreeUI /** * For the first selected row expandedness will be toggled. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class TreeToggleAction extends AbstractAction { public TreeToggleAction(String name) { } @@ -3073,6 +3077,7 @@ public class BasicTreeUI extends TreeUI /** * ActionListener that invokes cancelEditing when action performed. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class TreeCancelEditingAction extends AbstractAction { public TreeCancelEditingAction(String name) { } @@ -3185,6 +3190,7 @@ public class BasicTreeUI extends TreeUI private static final TransferHandler defaultTransferHandler = new TreeTransferHandler(); + @SuppressWarnings("serial") // JDK-implementation class static class TreeTransferHandler extends TransferHandler implements UIResource, Comparator<TreePath> { private JTree tree; diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/CenterLayout.java b/jdk/src/share/classes/javax/swing/plaf/basic/CenterLayout.java index 777adf3db0d..fadd9ef99d0 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/CenterLayout.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/CenterLayout.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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,6 +34,7 @@ import java.io.*; * @author Tom Santos * @author Steve Wilson */ +@SuppressWarnings("serial") // Same-version serialization only class CenterLayout implements LayoutManager, Serializable { public void addLayoutComponent(String name, Component comp) { } public void removeLayoutComponent(Component comp) { } diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java b/jdk/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java index 6b905c6c07b..627c3702a73 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -39,7 +39,7 @@ import java.awt.Dimension; * * @author Georges Saab */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions public class DefaultMenuLayout extends BoxLayout implements UIResource { public DefaultMenuLayout(Container target, int axis) { super(target, axis); diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/LazyActionMap.java b/jdk/src/share/classes/javax/swing/plaf/basic/LazyActionMap.java index db2056e6144..d6ee02e1236 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/LazyActionMap.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/LazyActionMap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2008, 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 @@ -35,6 +35,7 @@ import javax.swing.plaf.*; * * @author Scott Violet */ +@SuppressWarnings("serial") // Same-version serialization only class LazyActionMap extends ActionMapUIResource { /** * Object to invoke <code>loadActionMap</code> on. This may be diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalBorders.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalBorders.java index 24c3d5a15d1..8f1ee4fb4d3 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalBorders.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalBorders.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -56,7 +56,7 @@ public class MetalBorders { static Object NO_BUTTON_ROLLOVER = new StringUIClientPropertyKey("NoButtonRollover"); - + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class Flush3DBorder extends AbstractBorder implements UIResource{ public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { @@ -73,6 +73,7 @@ public class MetalBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ButtonBorder extends AbstractBorder implements UIResource { protected static Insets borderInsets = new Insets( 3, 3, 3, 3 ); @@ -187,6 +188,7 @@ public class MetalBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class InternalFrameBorder extends AbstractBorder implements UIResource { private static final int corner = 14; @@ -248,6 +250,7 @@ public class MetalBorders { * Border for a Frame. * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class FrameBorder extends AbstractBorder implements UIResource { private static final int corner = 14; @@ -310,6 +313,7 @@ public class MetalBorders { * Border for a Frame. * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class DialogBorder extends AbstractBorder implements UIResource { private static final int corner = 14; @@ -403,6 +407,7 @@ public class MetalBorders { * Border for an Error Dialog. * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class ErrorDialogBorder extends DialogBorder implements UIResource { protected Color getActiveBackground() { @@ -416,6 +421,7 @@ public class MetalBorders { * JColorChooser.. * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class QuestionDialogBorder extends DialogBorder implements UIResource { protected Color getActiveBackground() { @@ -428,6 +434,7 @@ public class MetalBorders { * Border for a Warning Dialog. * @since 1.4 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class WarningDialogBorder extends DialogBorder implements UIResource { protected Color getActiveBackground() { @@ -440,6 +447,7 @@ public class MetalBorders { * Border for a Palette. * @since 1.3 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class PaletteBorder extends AbstractBorder implements UIResource { int titleHeight = 0; @@ -462,6 +470,7 @@ public class MetalBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class OptionDialogBorder extends AbstractBorder implements UIResource { int titleHeight = 0; @@ -523,7 +532,7 @@ public class MetalBorders { } } - + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class MenuBarBorder extends AbstractBorder implements UIResource { protected static Insets borderInsets = new Insets( 1, 0, 1, 0 ); @@ -560,6 +569,7 @@ public class MetalBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class MenuItemBorder extends AbstractBorder implements UIResource { protected static Insets borderInsets = new Insets( 2, 2, 2, 2 ); @@ -607,6 +617,7 @@ public class MetalBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class PopupMenuBorder extends AbstractBorder implements UIResource { protected static Insets borderInsets = new Insets( 3, 1, 2, 1 ); @@ -631,7 +642,7 @@ public class MetalBorders { } } - + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class RolloverButtonBorder extends ButtonBorder { public void paintBorder( Component c, Graphics g, int x, int y, int w, int h ) { @@ -652,6 +663,7 @@ public class MetalBorders { * Note: This is identical to the package private class * BasicBorders.RolloverMarginBorder and should probably be consolidated. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class RolloverMarginBorder extends EmptyBorder { public RolloverMarginBorder() { @@ -681,6 +693,7 @@ public class MetalBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ToolBarBorder extends AbstractBorder implements UIResource, SwingConstants { protected MetalBumps bumps = new MetalBumps( 10, 10, @@ -808,6 +821,7 @@ public class MetalBorders { return textFieldBorder; } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class TextFieldBorder extends Flush3DBorder { public void paintBorder(Component c, Graphics g, int x, int y, @@ -832,6 +846,7 @@ public class MetalBorders { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ScrollPaneBorder extends AbstractBorder implements UIResource { public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { @@ -892,6 +907,7 @@ public class MetalBorders { /** * @since 1.3 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class ToggleButtonBorder extends ButtonBorder { public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { AbstractButton button = (AbstractButton)c; @@ -924,6 +940,7 @@ public class MetalBorders { * Border for a Table Header * @since 1.3 */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class TableHeaderBorder extends javax.swing.border.AbstractBorder { protected Insets editorBorderInsets = new Insets( 2, 2, 2, 0 ); diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalComboBoxIcon.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalComboBoxIcon.java index 0f0f7d75440..1b1bed9e0b7 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalComboBoxIcon.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalComboBoxIcon.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -40,6 +40,7 @@ import javax.swing.plaf.basic.BasicComboBoxUI; * @see MetalComboBoxUI * @author Tom Santos */ +@SuppressWarnings("serial") // Same-version serialization only public class MetalComboBoxIcon implements Icon, Serializable { /** diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java index 677d1f88c8d..75c1041b95f 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -234,7 +234,8 @@ public class MetalFileChooserUI extends BasicFileChooserUI { topPanel.add(lookInLabel, BorderLayout.BEFORE_LINE_BEGINS); // CurrentDir ComboBox - directoryComboBox = new JComboBox() { + @SuppressWarnings("serial") // anonymous class + JComboBox tmp1 = new JComboBox() { public Dimension getPreferredSize() { Dimension d = super.getPreferredSize(); // Must be small enough to not affect total width. @@ -242,6 +243,7 @@ public class MetalFileChooserUI extends BasicFileChooserUI { return d; } }; + directoryComboBox = tmp1; directoryComboBox.putClientProperty(AccessibleContext.ACCESSIBLE_DESCRIPTION_PROPERTY, lookInLabelText); directoryComboBox.putClientProperty( "JComboBox.isTableCellEditor", Boolean.TRUE ); @@ -380,11 +382,13 @@ public class MetalFileChooserUI extends BasicFileChooserUI { populateFileNameLabel(); fileNamePanel.add(fileNameLabel); - fileNameTextField = new JTextField(35) { + @SuppressWarnings("serial") // anonymous class + JTextField tmp2 = new JTextField(35) { public Dimension getMaximumSize() { return new Dimension(Short.MAX_VALUE, super.getPreferredSize().height); } }; + fileNameTextField = tmp2; fileNamePanel.add(fileNameTextField); fileNameLabel.setLabelFor(fileNameTextField); fileNameTextField.addFocusListener( @@ -534,6 +538,7 @@ public class MetalFileChooserUI extends BasicFileChooserUI { } // Obsolete class, not used in this version. + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FileRenderer extends DefaultListCellRenderer { } @@ -853,6 +858,7 @@ public class MetalFileChooserUI extends BasicFileChooserUI { // // Renderer for DirectoryComboBox // + @SuppressWarnings("serial") // Superclass is not serializable across versions class DirectoryComboBoxRenderer extends DefaultListCellRenderer { IndentIcon ii = new IndentIcon(); public Component getListCellRendererComponent(JList list, Object value, @@ -910,6 +916,7 @@ public class MetalFileChooserUI extends BasicFileChooserUI { /** * Data model for a type-face selection combo-box. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryComboBoxModel extends AbstractListModel<Object> implements ComboBoxModel<Object> { Vector<File> directories = new Vector<File>(); int[] depths = null; @@ -1042,6 +1049,7 @@ public class MetalFileChooserUI extends BasicFileChooserUI { /** * Render different type sizes and styles. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public class FilterComboBoxRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, @@ -1067,6 +1075,7 @@ public class MetalFileChooserUI extends BasicFileChooserUI { /** * Data model for a type-face selection combo-box. */ + @SuppressWarnings("serial") // Same-version serialization only protected class FilterComboBoxModel extends AbstractListModel<Object> implements ComboBoxModel<Object>, PropertyChangeListener { protected FileFilter[] filters; protected FilterComboBoxModel() { @@ -1144,6 +1153,7 @@ public class MetalFileChooserUI extends BasicFileChooserUI { /** * Acts when DirectoryComboBox has changed the selected item. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryComboBoxAction extends AbstractAction { protected DirectoryComboBoxAction() { super("DirectoryComboBoxAction"); @@ -1244,6 +1254,7 @@ public class MetalFileChooserUI extends BasicFileChooserUI { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class AlignedLabel extends JLabel { private AlignedLabel[] group; private int maxWidth = 0; diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java index 2c814fcd639..bcf1abbcedc 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -43,7 +43,7 @@ import javax.swing.plaf.basic.BasicInternalFrameTitlePane; * @author Brian Beck * @since 1.3 */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions public class MetalInternalFrameTitlePane extends BasicInternalFrameTitlePane { protected boolean isPalette = false; diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameUI.java index 3c0979dc38a..c8b75e88ac8 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameUI.java @@ -37,7 +37,6 @@ import javax.swing.plaf.*; /** * Metal implementation of JInternalFrame. - * <p> * * @author Steve Wilson */ diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java index a51603608e6..aea222d755f 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java @@ -45,7 +45,7 @@ import java.security.PrivilegedAction; import sun.awt.*; import sun.security.action.GetPropertyAction; import sun.swing.DefaultLayoutStyle; -import sun.swing.SwingLazyValue; +import static javax.swing.UIDefaults.LazyValue; import sun.swing.SwingUtilities2; /** @@ -457,9 +457,8 @@ public class MetalLookAndFeel extends BasicLookAndFeel Integer zero = Integer.valueOf(0); - Object textFieldBorder = - new SwingLazyValue("javax.swing.plaf.metal.MetalBorders", - "getTextFieldBorder"); + LazyValue textFieldBorder = + t -> MetalBorders.getTextFieldBorder(); Object dialogBorder = new MetalLazyValue( "javax.swing.plaf.metal.MetalBorders$DialogBorder"); @@ -614,61 +613,47 @@ public class MetalLookAndFeel extends BasicLookAndFeel "control shift O", "toggle-componentOrientation"/*DefaultEditorKit.toggleComponentOrientation*/ }); - Object scrollPaneBorder = new SwingLazyValue("javax.swing.plaf.metal.MetalBorders$ScrollPaneBorder"); - Object buttonBorder = - new SwingLazyValue("javax.swing.plaf.metal.MetalBorders", - "getButtonBorder"); + LazyValue scrollPaneBorder = t -> new MetalBorders.ScrollPaneBorder(); + LazyValue buttonBorder = + t -> MetalBorders.getButtonBorder(); - Object toggleButtonBorder = - new SwingLazyValue("javax.swing.plaf.metal.MetalBorders", - "getToggleButtonBorder"); + LazyValue toggleButtonBorder = + t -> MetalBorders.getToggleButtonBorder(); - Object titledBorderBorder = - new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$LineBorderUIResource", - new Object[] {controlShadow}); + LazyValue titledBorderBorder = + t -> new BorderUIResource.LineBorderUIResource(controlShadow); - Object desktopIconBorder = - new SwingLazyValue( - "javax.swing.plaf.metal.MetalBorders", - "getDesktopIconBorder"); + LazyValue desktopIconBorder = + t -> MetalBorders.getDesktopIconBorder(); - Object menuBarBorder = - new SwingLazyValue( - "javax.swing.plaf.metal.MetalBorders$MenuBarBorder"); + LazyValue menuBarBorder = + t -> new MetalBorders.MenuBarBorder(); - Object popupMenuBorder = - new SwingLazyValue( - "javax.swing.plaf.metal.MetalBorders$PopupMenuBorder"); - Object menuItemBorder = - new SwingLazyValue( - "javax.swing.plaf.metal.MetalBorders$MenuItemBorder"); + LazyValue popupMenuBorder = + t -> new MetalBorders.PopupMenuBorder(); + LazyValue menuItemBorder = + t -> new MetalBorders.MenuItemBorder(); Object menuItemAcceleratorDelimiter = "-"; - Object toolBarBorder = new SwingLazyValue("javax.swing.plaf.metal.MetalBorders$ToolBarBorder"); + LazyValue toolBarBorder = t -> new MetalBorders.ToolBarBorder(); - Object progressBarBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$LineBorderUIResource", - new Object[] {controlDarkShadow, new Integer(1)}); + LazyValue progressBarBorder = t -> + new BorderUIResource.LineBorderUIResource(controlDarkShadow, new Integer(1)); - Object toolTipBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$LineBorderUIResource", - new Object[] {primaryControlDarkShadow}); + LazyValue toolTipBorder = t -> + new BorderUIResource.LineBorderUIResource(primaryControlDarkShadow); - Object toolTipBorderInactive = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$LineBorderUIResource", - new Object[] {controlDarkShadow}); + LazyValue toolTipBorderInactive = t -> + new BorderUIResource.LineBorderUIResource(controlDarkShadow); - Object focusCellHighlightBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$LineBorderUIResource", - new Object[] {focusColor}); + LazyValue focusCellHighlightBorder = t -> + new BorderUIResource.LineBorderUIResource(focusColor); Object tabbedPaneTabAreaInsets = new InsetsUIResource(4, 2, 0, 6); Object tabbedPaneTabInsets = new InsetsUIResource(0, 9, 1, 9); - final Object[] internalFrameIconArgs = new Object[1]; - internalFrameIconArgs[0] = new Integer(16); + int internalFrameIconSize = 16; Object[] defaultCueList = new Object[] { "OptionPane.errorSound", @@ -794,7 +779,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "Checkbox.select", controlShadow, "CheckBox.font", controlTextValue, "CheckBox.focus", focusColor, - "CheckBox.icon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getCheckBoxIcon"), + "CheckBox.icon",(LazyValue) t -> MetalIconFactory.getCheckBoxIcon(), "CheckBox.focusInputMap", new UIDefaults.LazyInputMap(new Object[] { "SPACE", "pressed", @@ -806,7 +791,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "RadioButton.disabledText", inactiveControlTextColor, "RadioButton.select", controlShadow, - "RadioButton.icon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getRadioButtonIcon"), + "RadioButton.icon",(LazyValue) t -> MetalIconFactory.getRadioButtonIcon(), "RadioButton.font", controlTextValue, "RadioButton.focus", focusColor, "RadioButton.focusInputMap", @@ -831,18 +816,18 @@ public class MetalLookAndFeel extends BasicLookAndFeel // File View - "FileView.directoryIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getTreeFolderIcon"), - "FileView.fileIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getTreeLeafIcon"), - "FileView.computerIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getTreeComputerIcon"), - "FileView.hardDriveIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getTreeHardDriveIcon"), - "FileView.floppyDriveIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getTreeFloppyDriveIcon"), + "FileView.directoryIcon",(LazyValue) t -> MetalIconFactory.getTreeFolderIcon(), + "FileView.fileIcon",(LazyValue) t -> MetalIconFactory.getTreeLeafIcon(), + "FileView.computerIcon",(LazyValue) t -> MetalIconFactory.getTreeComputerIcon(), + "FileView.hardDriveIcon",(LazyValue) t -> MetalIconFactory.getTreeHardDriveIcon(), + "FileView.floppyDriveIcon",(LazyValue) t -> MetalIconFactory.getTreeFloppyDriveIcon(), // File Chooser - "FileChooser.detailsViewIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getFileChooserDetailViewIcon"), - "FileChooser.homeFolderIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getFileChooserHomeFolderIcon"), - "FileChooser.listViewIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getFileChooserListViewIcon"), - "FileChooser.newFolderIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getFileChooserNewFolderIcon"), - "FileChooser.upFolderIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getFileChooserUpFolderIcon"), + "FileChooser.detailsViewIcon",(LazyValue) t -> MetalIconFactory.getFileChooserDetailViewIcon(), + "FileChooser.homeFolderIcon",(LazyValue) t -> MetalIconFactory.getFileChooserHomeFolderIcon(), + "FileChooser.listViewIcon",(LazyValue) t -> MetalIconFactory.getFileChooserListViewIcon(), + "FileChooser.newFolderIcon",(LazyValue) t -> MetalIconFactory.getFileChooserNewFolderIcon(), + "FileChooser.upFolderIcon",(LazyValue) t -> MetalIconFactory.getFileChooserUpFolderIcon(), "FileChooser.usesSingleFilePane", Boolean.TRUE, "FileChooser.ancestorInputMap", @@ -873,8 +858,8 @@ public class MetalLookAndFeel extends BasicLookAndFeel "Slider.focusInsets", zeroInsets, "Slider.trackWidth", new Integer( 7 ), "Slider.majorTickLength", new Integer( 6 ), - "Slider.horizontalThumbIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getHorizontalSliderThumbIcon"), - "Slider.verticalThumbIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getVerticalSliderThumbIcon"), + "Slider.horizontalThumbIcon",(LazyValue) t -> MetalIconFactory.getHorizontalSliderThumbIcon(), + "Slider.verticalThumbIcon",(LazyValue) t -> MetalIconFactory.getVerticalSliderThumbIcon(), "Slider.focusInputMap", new UIDefaults.LazyInputMap(new Object[] { "RIGHT", "positiveUnitIncrement", @@ -926,32 +911,29 @@ public class MetalLookAndFeel extends BasicLookAndFeel }), // Internal Frame Defaults - "InternalFrame.icon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getInternalFrameDefaultMenuIcon"), - "InternalFrame.border", new SwingLazyValue("javax.swing.plaf.metal.MetalBorders$InternalFrameBorder"), - "InternalFrame.optionDialogBorder", new SwingLazyValue("javax.swing.plaf.metal.MetalBorders$OptionDialogBorder"), - "InternalFrame.paletteBorder", new SwingLazyValue("javax.swing.plaf.metal.MetalBorders$PaletteBorder"), + "InternalFrame.icon",(LazyValue) t -> + MetalIconFactory.getInternalFrameDefaultMenuIcon(), + "InternalFrame.border",(LazyValue) t -> + new MetalBorders.InternalFrameBorder(), + "InternalFrame.optionDialogBorder",(LazyValue) t -> + new MetalBorders.OptionDialogBorder(), + "InternalFrame.paletteBorder",(LazyValue) t -> + new MetalBorders.PaletteBorder(), "InternalFrame.paletteTitleHeight", new Integer(11), - "InternalFrame.paletteCloseIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory$PaletteCloseIcon"), + "InternalFrame.paletteCloseIcon",(LazyValue) t -> + new MetalIconFactory.PaletteCloseIcon(), "InternalFrame.closeIcon", - new SwingLazyValue( - "javax.swing.plaf.metal.MetalIconFactory", - "getInternalFrameCloseIcon", - internalFrameIconArgs), + (LazyValue) t -> MetalIconFactory. + getInternalFrameCloseIcon(internalFrameIconSize), "InternalFrame.maximizeIcon", - new SwingLazyValue( - "javax.swing.plaf.metal.MetalIconFactory", - "getInternalFrameMaximizeIcon", - internalFrameIconArgs), + (LazyValue) t -> MetalIconFactory. + getInternalFrameMaximizeIcon(internalFrameIconSize), "InternalFrame.iconifyIcon", - new SwingLazyValue( - "javax.swing.plaf.metal.MetalIconFactory", - "getInternalFrameMinimizeIcon", - internalFrameIconArgs), + (LazyValue) t -> MetalIconFactory. + getInternalFrameMinimizeIcon(internalFrameIconSize), "InternalFrame.minimizeIcon", - new SwingLazyValue( - "javax.swing.plaf.metal.MetalIconFactory", - "getInternalFrameAltMaximizeIcon", - internalFrameIconArgs), + (LazyValue) t -> MetalIconFactory. + getInternalFrameAltMaximizeIcon(internalFrameIconSize), "InternalFrame.titleFont", windowTitleValue, "InternalFrame.windowBindings", null, // Internal Frame Auditory Cue Mappings @@ -1248,8 +1230,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "icons/sortDown.png"), "TableHeader.font", userTextValue, - "TableHeader.cellBorder", new SwingLazyValue( - "javax.swing.plaf.metal.MetalBorders$TableHeaderBorder"), + "TableHeader.cellBorder",(LazyValue) t -> new MetalBorders.TableHeaderBorder(), // MenuBar "MenuBar.border", menuBarBorder, @@ -1271,8 +1252,8 @@ public class MetalLookAndFeel extends BasicLookAndFeel "Menu.acceleratorFont", subTextValue, "Menu.acceleratorForeground", acceleratorForeground, "Menu.acceleratorSelectionForeground", acceleratorSelectedForeground, - "Menu.checkIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getMenuItemCheckIcon"), - "Menu.arrowIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getMenuArrowIcon"), + "Menu.checkIcon",(LazyValue) t -> MetalIconFactory.getMenuItemCheckIcon(), + "Menu.arrowIcon",(LazyValue) t -> MetalIconFactory.getMenuArrowIcon(), // Menu Item "MenuItem.border", menuItemBorder, @@ -1285,8 +1266,8 @@ public class MetalLookAndFeel extends BasicLookAndFeel "MenuItem.acceleratorForeground", acceleratorForeground, "MenuItem.acceleratorSelectionForeground", acceleratorSelectedForeground, "MenuItem.acceleratorDelimiter", menuItemAcceleratorDelimiter, - "MenuItem.checkIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getMenuItemCheckIcon"), - "MenuItem.arrowIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getMenuItemArrowIcon"), + "MenuItem.checkIcon",(LazyValue) t -> MetalIconFactory.getMenuItemCheckIcon(), + "MenuItem.arrowIcon",(LazyValue) t -> MetalIconFactory.getMenuItemArrowIcon(), // Menu Item Auditory Cue Mapping "MenuItem.commandSound", "sounds/MenuItemCommand.wav", @@ -1347,8 +1328,8 @@ public class MetalLookAndFeel extends BasicLookAndFeel "CheckBoxMenuItem.acceleratorFont", subTextValue, "CheckBoxMenuItem.acceleratorForeground", acceleratorForeground, "CheckBoxMenuItem.acceleratorSelectionForeground", acceleratorSelectedForeground, - "CheckBoxMenuItem.checkIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getCheckBoxMenuItemIcon"), - "CheckBoxMenuItem.arrowIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getMenuItemArrowIcon"), + "CheckBoxMenuItem.checkIcon",(LazyValue) t -> MetalIconFactory.getCheckBoxMenuItemIcon(), + "CheckBoxMenuItem.arrowIcon",(LazyValue) t -> MetalIconFactory.getMenuItemArrowIcon(), "CheckBoxMenuItem.commandSound", "sounds/MenuItemCommand.wav", "RadioButtonMenuItem.border", menuItemBorder, @@ -1360,8 +1341,8 @@ public class MetalLookAndFeel extends BasicLookAndFeel "RadioButtonMenuItem.acceleratorFont", subTextValue, "RadioButtonMenuItem.acceleratorForeground", acceleratorForeground, "RadioButtonMenuItem.acceleratorSelectionForeground", acceleratorSelectedForeground, - "RadioButtonMenuItem.checkIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getRadioButtonMenuItemIcon"), - "RadioButtonMenuItem.arrowIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getMenuItemArrowIcon"), + "RadioButtonMenuItem.checkIcon",(LazyValue) t -> MetalIconFactory.getRadioButtonMenuItemIcon(), + "RadioButtonMenuItem.arrowIcon",(LazyValue) t -> MetalIconFactory.getMenuItemArrowIcon(), "RadioButtonMenuItem.commandSound", "sounds/MenuItemCommand.wav", "Spinner.ancestorInputMap", @@ -1404,17 +1385,11 @@ public class MetalLookAndFeel extends BasicLookAndFeel "Tree.font", userTextValue, "Tree.textBackground", getWindowBackground(), "Tree.selectionBorderColor", focusColor, - "Tree.openIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getTreeFolderIcon"), - "Tree.closedIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getTreeFolderIcon"), - "Tree.leafIcon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getTreeLeafIcon"), - "Tree.expandedIcon", new SwingLazyValue( - "javax.swing.plaf.metal.MetalIconFactory", - "getTreeControlIcon", - new Object[] {Boolean.valueOf(MetalIconFactory.DARK)}), - "Tree.collapsedIcon", new SwingLazyValue( - "javax.swing.plaf.metal.MetalIconFactory", - "getTreeControlIcon", - new Object[] {Boolean.valueOf( MetalIconFactory.LIGHT )}), + "Tree.openIcon",(LazyValue) t -> MetalIconFactory.getTreeFolderIcon(), + "Tree.closedIcon",(LazyValue) t -> MetalIconFactory.getTreeFolderIcon(), + "Tree.leafIcon",(LazyValue) t -> MetalIconFactory.getTreeLeafIcon(), + "Tree.expandedIcon",(LazyValue) t -> MetalIconFactory.getTreeControlIcon(Boolean.valueOf(MetalIconFactory.DARK)), + "Tree.collapsedIcon",(LazyValue) t -> MetalIconFactory.getTreeControlIcon(Boolean.valueOf( MetalIconFactory.LIGHT )), "Tree.line", primaryControl, // horiz lines "Tree.hash", primaryControl, // legs @@ -2499,4 +2474,4 @@ public class MetalLookAndFeel extends BasicLookAndFeel return 0; } } -} +} \ No newline at end of file diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalScrollBarUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalScrollBarUI.java index 0bc74bd5c03..882fad9c63e 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalScrollBarUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalScrollBarUI.java @@ -56,7 +56,6 @@ import javax.swing.plaf.basic.BasicScrollBarUI; /** * Implementation of ScrollBarUI for the Metal Look and Feel - * <p> * * @author Tom Santos * @author Steve Wilson diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalTitlePane.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalTitlePane.java index 4af472c9d15..7efa719b456 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalTitlePane.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalTitlePane.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2006, 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 @@ -49,6 +49,7 @@ import javax.accessibility.*; * @author Terry Kellerman * @since 1.4 */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class MetalTitlePane extends JComponent { private static final Border handyEmptyBorder = new EmptyBorder(0,0,0,0); private static final int IMAGE_HEIGHT = 16; @@ -781,6 +782,7 @@ class MetalTitlePane extends JComponent { /** * Actions used to <code>close</code> the <code>Window</code>. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class CloseAction extends AbstractAction { public CloseAction() { super(UIManager.getString("MetalTitlePane.closeTitle", @@ -796,6 +798,7 @@ class MetalTitlePane extends JComponent { /** * Actions used to <code>iconfiy</code> the <code>Frame</code>. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class IconifyAction extends AbstractAction { public IconifyAction() { super(UIManager.getString("MetalTitlePane.iconifyTitle", @@ -811,6 +814,7 @@ class MetalTitlePane extends JComponent { /** * Actions used to <code>restore</code> the <code>Frame</code>. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class RestoreAction extends AbstractAction { public RestoreAction() { super(UIManager.getString @@ -826,6 +830,7 @@ class MetalTitlePane extends JComponent { /** * Actions used to <code>restore</code> the <code>Frame</code>. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class MaximizeAction extends AbstractAction { public MaximizeAction() { super(UIManager.getString("MetalTitlePane.maximizeTitle", @@ -843,6 +848,7 @@ class MetalTitlePane extends JComponent { * image to draw from the Frame associated with the * <code>JRootPane</code>. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SystemMenuBar extends JMenuBar { public void paint(Graphics g) { if (isOpaque()) { diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java index 5f5ea59e54b..6fe5250cc18 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java @@ -50,7 +50,6 @@ import javax.swing.plaf.basic.*; /** * A Metal Look and Feel implementation of ToolBarUI. This implementation * is a "combined" view/controller. - * <p> * * @author Jeff Shapiro */ diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/OceanTheme.java b/jdk/src/share/classes/javax/swing/plaf/metal/OceanTheme.java index 07cc51b42f7..407d622f3f7 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/OceanTheme.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/OceanTheme.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2006, 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 @@ -32,7 +32,6 @@ import javax.swing.*; import javax.swing.plaf.*; import sun.swing.SwingUtilities2; import sun.swing.PrintColorUIResource; -import sun.swing.SwingLazyValue; /** * The default theme for the {@code MetalLookAndFeel}. @@ -51,6 +50,7 @@ import sun.swing.SwingLazyValue; * @since 1.5 * @see MetalLookAndFeel#setCurrentTheme */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class OceanTheme extends DefaultMetalTheme { private static final ColorUIResource PRIMARY1 = new ColorUIResource(0x6382BF); @@ -98,6 +98,7 @@ public class OceanTheme extends DefaultMetalTheme { // InternalFrame Icon // Delegates to different icons based on button state + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class IFIcon extends IconUIResource { private Icon pressed; @@ -129,9 +130,8 @@ public class OceanTheme extends DefaultMetalTheme { * @throws NullPointerException if {@code table} is {@code null} */ public void addCustomEntriesToTable(UIDefaults table) { - Object focusBorder = new SwingLazyValue( - "javax.swing.plaf.BorderUIResource$LineBorderUIResource", - new Object[] {getPrimary1()}); + UIDefaults.LazyValue focusBorder = t -> + new BorderUIResource.LineBorderUIResource(getPrimary1()); // .30 0 DDE8F3 white secondary2 java.util.List buttonGradient = Arrays.asList( new Object[] {new Float(.3f), new Float(0f), diff --git a/jdk/src/share/classes/javax/swing/plaf/multi/MultiLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/multi/MultiLookAndFeel.java index 65828883fdd..651302274b1 100644 --- a/jdk/src/share/classes/javax/swing/plaf/multi/MultiLookAndFeel.java +++ b/jdk/src/share/classes/javax/swing/plaf/multi/MultiLookAndFeel.java @@ -294,6 +294,7 @@ public class MultiLookAndFeel extends LookAndFeel { * emits error messages when it cannot find a UI class in the * LAF. */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class MultiUIDefaults extends UIDefaults { MultiUIDefaults(int initialCapacity, float loadFactor) { super(initialCapacity, loadFactor); diff --git a/jdk/src/share/classes/javax/swing/plaf/nimbus/DerivedColor.java b/jdk/src/share/classes/javax/swing/plaf/nimbus/DerivedColor.java index f2143f4ccea..7d537addbef 100644 --- a/jdk/src/share/classes/javax/swing/plaf/nimbus/DerivedColor.java +++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/DerivedColor.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 @@ -38,6 +38,7 @@ import java.beans.PropertyChangeListener; * * @author Jasper Potts */ +@SuppressWarnings("serial") // Same-version serialization only class DerivedColor extends Color { private final String uiDefaultParentName; private final float hOffset, sOffset, bOffset; @@ -173,6 +174,7 @@ class DerivedColor extends Color { return src == null ? s : s + " pColor=" + src.getRed() + "," + src.getGreen() + "," + src.getBlue(); } + @SuppressWarnings("serial") // Same-version serialization only static class UIResource extends DerivedColor implements javax.swing.plaf.UIResource { UIResource(String uiDefaultParentName, float hOffset, float sOffset, float bOffset, int aOffset) { diff --git a/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java index b83fc59b4b4..71e00249752 100644 --- a/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java +++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java @@ -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 @@ -61,6 +61,7 @@ import sun.security.action.GetPropertyAction; * @author Jasper Potts * @author Richard Bair */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class NimbusLookAndFeel extends SynthLookAndFeel { /** Set of standard region names for UIDefaults Keys */ diff --git a/jdk/src/share/classes/javax/swing/plaf/nimbus/TableScrollPaneCorner.java b/jdk/src/share/classes/javax/swing/plaf/nimbus/TableScrollPaneCorner.java index 2f02ca7ac93..474240490f4 100644 --- a/jdk/src/share/classes/javax/swing/plaf/nimbus/TableScrollPaneCorner.java +++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/TableScrollPaneCorner.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 @@ -41,6 +41,7 @@ import java.awt.image.BufferedImage; * * @author Created by Jasper Potts (Jan 28, 2008) */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class TableScrollPaneCorner extends JComponent implements UIResource{ /** diff --git a/jdk/src/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html b/jdk/src/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html index 67048cf1087..22efa38b5eb 100644 --- a/jdk/src/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html +++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html @@ -5,7 +5,7 @@ </head> <body> <h1 id="primaryColors">Primary Colors</h1> -<table> +<table summary="Nimbus primary colors"> <tr><th>Key</th><th>Value</th><th>Preview</th></tr> <tr> <td width="250"><code>control</code></td> @@ -86,7 +86,7 @@ </table> <h1 id="secondaryColors">Secondary Colors</h1> -<table> +<table summary="Nimbus secondary colors"> <tr><th>Key</th><th>Value</th><th>Preview</th></tr> <tr> <td width="250"><code>activeCaption</code></td> diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthArrowButton.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthArrowButton.java index 65eb2c5373e..e4766bb12c4 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthArrowButton.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthArrowButton.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2008, 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 @@ -33,6 +33,7 @@ import javax.swing.plaf.UIResource; * * @author Scott Violet */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class SynthArrowButton extends JButton implements SwingConstants, UIResource { private int direction; diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthBorder.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthBorder.java index 06b687b7b33..8dcbd6ff36c 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthBorder.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthBorder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2006, 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 @@ -36,6 +36,7 @@ import javax.swing.plaf.UIResource; * * @author Scott Violet */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class SynthBorder extends AbstractBorder implements UIResource { private SynthUI ui; private Insets insets; diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java index 754484d03d2..b36b4cf4984 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -444,6 +444,7 @@ public class SynthComboBoxUI extends BasicComboBoxUI implements * renderer installed on a Synth combo box is a JLabel. If this is changed, * then an assert will fail in SynthFileChooserUIImpl */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SynthComboBoxRenderer extends JLabel implements ListCellRenderer<Object>, UIResource { public SynthComboBoxRenderer() { super(); @@ -535,6 +536,7 @@ public class SynthComboBoxUI extends BasicComboBoxUI implements * are in sync. Whenever one is "over" both are. Whenever one is pressed, * both are. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private final class ButtonHandler extends DefaultButtonModel implements MouseListener, PopupMenuListener { /** diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java index 66428dab51b..58a10a90d4c 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2012, 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 @@ -36,6 +36,7 @@ import java.awt.*; * * @author Scott Violet */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class SynthComboPopup extends BasicComboPopup { public SynthComboPopup( JComboBox combo ) { super(combo); diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java index cde0f050e44..e10014100d9 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -60,7 +60,8 @@ public class SynthDesktopIconUI extends BasicDesktopIconUI @Override protected void installComponents() { if (UIManager.getBoolean("InternalFrame.useTaskBar")) { - iconPane = new JToggleButton(frame.getTitle(), frame.getFrameIcon()) { + @SuppressWarnings("serial") // anonymous class + JToggleButton tmp = new JToggleButton(frame.getTitle(), frame.getFrameIcon()) { @Override public String getToolTipText() { return getText(); } @@ -69,6 +70,7 @@ public class SynthDesktopIconUI extends BasicDesktopIconUI return frame.getComponentPopupMenu(); } }; + iconPane = tmp; ToolTipManager.sharedInstance().registerComponent(iconPane); iconPane.setFont(desktopIcon.getFont()); iconPane.setBackground(desktopIcon.getBackground()); diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java index c1099085be4..40300565b9a 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -194,6 +194,8 @@ public class SynthDesktopPaneUI extends BasicDesktopPaneUI implements super.uninstallDesktopManager(); } + @SuppressWarnings("serial") // Same-version serialization only and + // internal anonymous classes static class TaskBar extends JPanel implements ComponentListener, ContainerListener { TaskBar() { setOpaque(true); @@ -321,7 +323,7 @@ public class SynthDesktopPaneUI extends BasicDesktopPaneUI implements } } - + @SuppressWarnings("serial") // Same-version serialization only class SynthDesktopManager extends DefaultDesktopManager implements UIResource { public void maximizeFrame(JInternalFrame f) { diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java index f0f7b607e6d..abf490ce863 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -42,6 +42,7 @@ import sun.swing.SwingUtilities2; * @author Joshua Outwater * @author Steve Wilson */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class SynthInternalFrameTitlePane extends BasicInternalFrameTitlePane implements SynthUI, PropertyChangeListener { @@ -159,6 +160,7 @@ class SynthInternalFrameTitlePane extends BasicInternalFrameTitlePane super.uninstallDefaults(); } + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class JPopupMenuUIResource extends JPopupMenu implements UIResource { } diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java index 5f19a1940f8..58a443acb44 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -196,7 +196,7 @@ public class SynthListUI extends BasicListUI return SynthLookAndFeel.getComponentState(c); } - + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SynthListCellRenderer extends DefaultListCellRenderer.UIResource { @Override public String getName() { return "List.cellRenderer"; diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java index 95d461cb6d1..11e5cc2d3a1 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -63,6 +63,7 @@ import sun.swing.plaf.synth.*; * @since 1.5 * @author Scott Violet */ +@SuppressWarnings("serial") // Per above comment, not actually serializable public class SynthLookAndFeel extends BasicLookAndFeel { /** * Used in a handful of places where we need an empty Insets. diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java index acffe9f0e26..a192cec9f4f 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -35,7 +35,7 @@ import java.awt.Dimension; * * @author Georges Saab */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions class SynthMenuLayout extends DefaultMenuLayout { public SynthMenuLayout(Container target, int axis) { super(target, axis); diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthParser.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthParser.java index a03e752e4c7..ef38ae11387 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthParser.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthParser.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, 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 @@ -1294,6 +1294,7 @@ class SynthParser extends DefaultHandler { /** * ImageIcon that lazily loads the image until needed. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private static class LazyImageIcon extends ImageIcon implements UIResource { private URL location; diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java index 21b0a52b508..d3e948d899c 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -375,6 +375,7 @@ public class SynthScrollBarUI extends BasicScrollBarUI */ @Override protected JButton createDecreaseButton(int orientation) { + @SuppressWarnings("serial") // anonymous class SynthArrowButton synthArrowButton = new SynthArrowButton(orientation) { @Override public boolean contains(int x, int y) { @@ -404,6 +405,7 @@ public class SynthScrollBarUI extends BasicScrollBarUI */ @Override protected JButton createIncreaseButton(int orientation) { + @SuppressWarnings("serial") // anonymous class SynthArrowButton synthArrowButton = new SynthArrowButton(orientation) { @Override public boolean contains(int x, int y) { diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java index 82d0b5e1e89..6b261546408 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -230,7 +230,7 @@ public class SynthScrollPaneUI extends BasicScrollPaneUI } - + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ViewportBorder extends AbstractBorder implements UIResource { private Insets insets; diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneDivider.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneDivider.java index c26fe9ec776..c3a203e5237 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneDivider.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneDivider.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2005, 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 @@ -36,6 +36,7 @@ import sun.swing.DefaultLookup; * * @author Scott Violet */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class SynthSplitPaneDivider extends BasicSplitPaneDivider { public SynthSplitPaneDivider(BasicSplitPaneUI ui) { super(ui); diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java index 665286c4da8..2c5031c03d6 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -260,6 +260,7 @@ public class SynthSplitPaneUI extends BasicSplitPaneUI * {@inheritDoc} */ @Override + @SuppressWarnings("serial") // anonymous class protected Component createDefaultNonContinuousLayoutDivider() { return new Canvas() { public void paint(Graphics g) { diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java index 95aa6dcc732..df09ba5fcfa 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -922,6 +922,7 @@ public class SynthTabbedPaneUI extends BasicTabbedPaneUI } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SynthScrollableTabButton extends SynthArrowButton implements UIResource { public SynthScrollableTabButton(int direction) { diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java index ec358aa3092..a988692a4aa 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -216,6 +216,7 @@ public class SynthTableHeaderUI extends BasicTableHeaderUI } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class HeaderRenderer extends DefaultTableCellHeaderRenderer { HeaderRenderer() { setHorizontalAlignment(JLabel.LEADING); diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java index 49dfe4b1bb3..da49bddc4c2 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -705,7 +705,7 @@ public class SynthTableUI extends BasicTableUI } } - + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SynthBooleanTableCellRenderer extends JCheckBox implements TableCellRenderer { private boolean isRowSelected; @@ -744,6 +744,7 @@ public class SynthTableUI extends BasicTableUI } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SynthTableCellRenderer extends DefaultTableCellRenderer { private Object numberFormat; private Object dateFormat; diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java index 70f7f64564c..a214532ed56 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -684,7 +684,7 @@ public class SynthTreeUI extends BasicTreeUI return super.getRowX(row, depth) + padding; } - + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SynthTreeCellRenderer extends DefaultTreeCellRenderer implements UIResource { SynthTreeCellRenderer() { @@ -762,6 +762,7 @@ public class SynthTreeUI extends BasicTreeUI @Override protected TreeCellEditor createTreeCellEditor() { + @SuppressWarnings("serial") // anonymous class JTextField tf = new JTextField() { @Override public String getName() { diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html b/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html index e4ab4e24030..224e543a1ba 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html +++ b/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html @@ -49,7 +49,7 @@ In addition to the <a href="#buttonProperties">Button properties</a>, ArrowButton supports the following properties: </p> <h5>ArrowButton Specific Properties</h5> -<table border="1"> +<table border="1" summary="ArrowButton specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -71,7 +71,7 @@ the following properties: </p> to the <a href="#buttonProperties">Button properties</a>, JButton supports the following property: </p> <h5>JButton Specific Properties</h5> -<table border="1"> +<table border="1" summary="JButton specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -94,7 +94,7 @@ button that is receiving focus. </td> addition to the <a href="#buttonProperties">Button properties</a>, JCheckBox supports the following property: </p> <h5>JCheckBox Specific Properties</h5> -<table border="1"> +<table border="1" summary="JCheckBox specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -114,7 +114,7 @@ JCheckBox supports the following property: </p> <h4><a name="JComboBox">JComboBox</a></h4> <p> JComboBox is a composite component that consists of the following child Components: </p> -<table border="1"> +<table border="1" summary="JComboBox child components"> <thead><tr> <th>Name</th> <th>Type</th> @@ -159,9 +159,9 @@ the renderer is a UIResource. </td> </tr> </tbody> </table> -<p> </p> + <h5>JComboBox Specific Properties</h5> -<table border="1"> +<table border="1" summary="JComboBox specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -181,7 +181,7 @@ with the keyboard. </td> <br> <h4>JFileChooser</h4> <h5>JFileChooser Specific Properties</h5> -<table cellpadding="2" cellspacing="2" border="1" +<table cellpadding="2" cellspacing="2" border="1" summary="JFileChooser specific properties" style="width: 100%; text-align: left;"> <tbody> <tr> @@ -341,7 +341,7 @@ of the file chooser.<br> <br> <h4><a name="JInternalFrame"></a>JInternalFrame</h4> <h5>JInternalFrame Specific Properties</h5> -<table cellpadding="2" cellspacing="2" border="1" +<table cellpadding="2" cellspacing="2" border="1" summary="JInternalFrame specific properties" style="text-align: left; width: 100%;"> <tbody> <tr> @@ -374,7 +374,7 @@ the system menu will be shown.<br> internal frame similar to that found in a frame.<br> </p> <h5>JInternalFrameTitlePane Specific Properties</h5> -<table cellpadding="2" cellspacing="2" border="1" +<table cellpadding="2" cellspacing="2" border="1" summary="JInternalFrameTitlePane specific properties" style="text-align: left; width: 100%;"> <tbody> <tr> @@ -473,7 +473,7 @@ abililty to close the internal frame. <p> JList's sets the name of the renderer to List.renderer. JList supports the following properties: </p> <h5>JList Specific Properties</h5> -<table border="1"> +<table border="1" summary="JList specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -516,7 +516,7 @@ specific to the component and Region.MENU_ITEM_ACCELERATOR. MENU_ITEM_ACCELERATOR is used for painting the accelerator. Both Regions paint text using the TEXT_FOREGROUND ColorType. The following set of properties are supported: </p> -<table border="1"> +<table border="1" summary="Menu classes common properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -570,7 +570,7 @@ this is used. </td> <p> <code>Prefix</code> is one of: CheckBoxMenuItem, Menu, MenuItem, or RadioButtonMenuItem. </p> <p> JMenu also supports the following properties: </p> -<table border="1"> +<table border="1" summary="JMenu specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -599,7 +599,7 @@ components, they are: OptionPane.button, OptionPane.label, OptionPane.comboBox, OptionPane.scrollPane, OptionPane.list, OptionPane.textField, OptionPane.iconLabel. </p> <h5>JOptionPane Specific Properties</h5> -<table border="1"> +<table border="1" summary="JOptionPane specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -713,7 +713,7 @@ it follows the other buttons. </td> </h4> <h5>JProgressBar Specific Properties<br> </h5> -<table cellpadding="2" cellspacing="2" border="1" +<table cellpadding="2" cellspacing="2" border="1" summary="JProgressBar specific properties" style="text-align: left; width: 100%;"> <tbody> <tr> @@ -754,7 +754,7 @@ the bouncing box per frame when the progress bar is indeterminate.<br> addition to the <a href="#buttonProperties">Button properties</a>, JRadioButton supports the following property: </p> <h5>JRadioButton Specific Properties</h5> -<table border="1"> +<table border="1" summary="JRadioButton specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -774,7 +774,7 @@ JRadioButton supports the following property: </p> <h4><a name="JScrollBar">JScrollBar</a></h4> <p> JScrollBar is a composite component that consists of the following child Components: </p> -<table border="1"> +<table border="1" summary="JScrollBar child components"> <thead><tr> <th>Name</th> <th>Type</th> @@ -788,9 +788,9 @@ child Components: </p> </tr> </tbody> </table> -<p> </p> + <h5>JScrollBar Specific Properties</h5> -<table border="1"> +<table border="1" summary="JScrollBar specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -844,7 +844,7 @@ will be made equal. </td> <h4><a name="Separator">Separators</a></h4> <p> All of the separator classes, JSeparator, JPopupMenu.Separator and JToolBar.Separator use the same property: </p> -<table border="1"> +<table border="1" summary="Separator classes common properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -863,7 +863,7 @@ preferred size will include the Insets. </td> </tbody> </table> <p> JToolBar.Separator also supports the following property: </p> -<table border="1"> +<table border="1" summary="JToolBar.Separator specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -896,7 +896,7 @@ invoked. </td> <code>Viewport</code>s border. </p> <h5>JScrollPane Specific Properties</h5> -<table border="1"> +<table border="1" summary="JScrollPane specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -920,7 +920,7 @@ invoked. The two buttons will be named: SplitPaneDivider.leftOneTouchButton and SplitPaneDivider.rightOneTouchButton. </p> <h5>JSplitPane Specific Properties</h5> -<table border="1"> +<table border="1" summary="JSplitPane specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -964,7 +964,7 @@ setOneTouchExpandable. </td> <br> <h4><a name="JSlider"></a>JSlider</h4> <h5>JSlider Specific Properties</h5> -<table cellpadding="2" cellspacing="2" border="1" +<table cellpadding="2" cellspacing="2" border="1" summary="JSlider specific properties" style="text-align: left; width: 100%;"> <tbody> <tr> @@ -1024,7 +1024,7 @@ of the slider.<br> <br> <h4><a name="JTabbedPane"></a>JTabbedPane</h4> <h5>JTabbedPane Specific Properties</h5> -<table cellpadding="2" cellspacing="2" border="1" +<table cellpadding="2" cellspacing="2" border="1" summary="JTabbedPane specific properties" style="text-align: left; width: 100%;"> <tbody> <tr> @@ -1088,7 +1088,7 @@ selected tab.<br> <p> JTable sets the name of the renderer to Table.cellRenderer. JTable supports the following properties: </p> <h5>JTable Specific Properties</h5> -<table border="1"> +<table border="1" summary="JTable specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -1133,7 +1133,7 @@ renderer will only succeed if it is a Synth Border. </td> <p> JTree sets the name of the renderer to Tree.renderer, the name of the editor is Tree.cellEditor.</p> <h5>JTree Specific Properties</h5> -<table border="1"> +<table border="1" summary="JTree specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -1217,7 +1217,7 @@ and <a href="synthFileFormat.html#e.graphicsUtils">binding it</a> to the tree.</ addition to the <a href="#buttonProperties">Button properties</a>, JToggleButton supports the following property: </p> <h5>JToggleButton Specific Properties</h5> -<table border="1"> +<table border="1" summary="JToggleButton specific properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -1238,7 +1238,7 @@ JToggleButton supports the following property: </p> <p> Each of the Button classes (JButton, JCheckBox, JRadioButton, JToggleButton and SynthArrowButton) support a similar set of properties. These properties are: </p> -<table border="1"> +<table border="1" summary="Button classes common properties"> <thead><tr> <th>Property</th> <th>Expected Type</th> @@ -1283,7 +1283,7 @@ JToggleButton.<br> </p> <h4><a name="textProperties"></a>Text Properties<br> </h4> -<table cellpadding="2" cellspacing="2" border="1" +<table cellpadding="2" cellspacing="2" border="1" summary="Text properties" style="text-align: left; width: 100%;"> <tbody> <tr> diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html b/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html index ad84defba08..a428be92563 100644 --- a/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html +++ b/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html @@ -739,12 +739,12 @@ div.example { </state> </style> </pre> - </div> + </div> <p> The following outlines which painter will be used for what - SynthPainter method: + SynthPainter method: </p> - <table border=1> + <table border=1 summary="Painters for SynthPainter methods"> <tr><th>State<th>Method<th>Painter <tr><td>SELECTED<td>paintButtonBackground<td>stateButtonBackgroundPainter <tr><td>SELECTED<td>Anything but paintButtonBackground<td>stateFallbackPainter diff --git a/jdk/src/share/classes/javax/swing/text/ChangedCharSetException.java b/jdk/src/share/classes/javax/swing/text/ChangedCharSetException.java index 918569c42b3..a1bffa75cdc 100644 --- a/jdk/src/share/classes/javax/swing/text/ChangedCharSetException.java +++ b/jdk/src/share/classes/javax/swing/text/ChangedCharSetException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -32,6 +32,7 @@ import java.io.IOException; * * @author Sunita Mani */ +@SuppressWarnings("serial") // Same-version serialization only public class ChangedCharSetException extends IOException { String charSetSpec; diff --git a/jdk/src/share/classes/javax/swing/text/ComponentView.java b/jdk/src/share/classes/javax/swing/text/ComponentView.java index 7bd0f2d4311..d15ccf63cb2 100644 --- a/jdk/src/share/classes/javax/swing/text/ComponentView.java +++ b/jdk/src/share/classes/javax/swing/text/ComponentView.java @@ -374,6 +374,7 @@ public class ComponentView extends View { * cached between the associated view and the * container hosting this component). */ + @SuppressWarnings("serial") // JDK-implementation class class Invalidator extends Container implements PropertyChangeListener { // NOTE: When we remove this class we are going to have to some diff --git a/jdk/src/share/classes/javax/swing/text/DefaultEditorKit.java b/jdk/src/share/classes/javax/swing/text/DefaultEditorKit.java index e5db094a910..ca434585761 100644 --- a/jdk/src/share/classes/javax/swing/text/DefaultEditorKit.java +++ b/jdk/src/share/classes/javax/swing/text/DefaultEditorKit.java @@ -70,6 +70,7 @@ import javax.swing.UIManager; * * @author Timothy Prinzing */ +@SuppressWarnings("serial") // Same-version serialization only public class DefaultEditorKit extends EditorKit { /** @@ -1030,6 +1031,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#deletePrevCharAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class DeletePrevCharAction extends TextAction { /** @@ -1088,6 +1090,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#deleteNextCharAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class DeleteNextCharAction extends TextAction { /* Create this object with the appropriate identifier. */ @@ -1139,6 +1142,7 @@ public class DefaultEditorKit extends EditorKit { * Deletes the word that precedes/follows the beginning of the selection. * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class DeleteWordAction extends TextAction { DeleteWordAction(String name) { super(name); @@ -1213,6 +1217,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#readOnlyAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class ReadOnlyAction extends TextAction { /* Create this object with the appropriate identifier. */ @@ -1238,6 +1243,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#writableAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class WritableAction extends TextAction { /* Create this object with the appropriate identifier. */ @@ -1412,6 +1418,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#pageDownAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class VerticalPageAction extends TextAction { /** Create this object with the appropriate identifier. */ @@ -1571,6 +1578,7 @@ public class DefaultEditorKit extends EditorKit { /** * Pages one view to the left or right. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class PageAction extends TextAction { /** Create this object with the appropriate identifier. */ @@ -1625,6 +1633,7 @@ public class DefaultEditorKit extends EditorKit { private boolean left; } + @SuppressWarnings("serial") // Superclass is not serializable across versions static class DumpModelAction extends TextAction { DumpModelAction() { @@ -1647,6 +1656,7 @@ public class DefaultEditorKit extends EditorKit { * getNextVisualPositionFrom method. Constructor indicates direction * to use. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class NextVisualPositionAction extends TextAction { /** @@ -1734,6 +1744,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#selectBeginWordAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class BeginWordAction extends TextAction { /** @@ -1774,6 +1785,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#selectEndWordAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class EndWordAction extends TextAction { /** @@ -1814,6 +1826,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#selectPreviousWordAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class PreviousWordAction extends TextAction { /** @@ -1873,6 +1886,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#selectNextWordAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class NextWordAction extends TextAction { /** @@ -1938,6 +1952,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#selectBeginLineAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class BeginLineAction extends TextAction { /** @@ -1978,6 +1993,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#selectEndLineAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class EndLineAction extends TextAction { /** @@ -2018,6 +2034,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#selectBeginParagraphAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class BeginParagraphAction extends TextAction { /** @@ -2055,6 +2072,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#selectEndParagraphAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class EndParagraphAction extends TextAction { /** @@ -2092,6 +2110,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#beginAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class BeginAction extends TextAction { /* Create this object with the appropriate identifier. */ @@ -2120,6 +2139,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#endAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class EndAction extends TextAction { /* Create this object with the appropriate identifier. */ @@ -2150,6 +2170,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#endAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class SelectWordAction extends TextAction { /** @@ -2179,6 +2200,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#endAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class SelectLineAction extends TextAction { /** @@ -2208,6 +2230,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#endAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class SelectParagraphAction extends TextAction { /** @@ -2237,6 +2260,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#endAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class SelectAllAction extends TextAction { /** @@ -2266,6 +2290,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#unselectAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class UnselectAction extends TextAction { /** @@ -2290,6 +2315,7 @@ public class DefaultEditorKit extends EditorKit { * @see DefaultEditorKit#toggleComponentOrientationAction * @see DefaultEditorKit#getActions */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class ToggleComponentOrientationAction extends TextAction { /** diff --git a/jdk/src/share/classes/javax/swing/text/EditorKit.java b/jdk/src/share/classes/javax/swing/text/EditorKit.java index 7e4037e16c3..5b260833dac 100644 --- a/jdk/src/share/classes/javax/swing/text/EditorKit.java +++ b/jdk/src/share/classes/javax/swing/text/EditorKit.java @@ -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 @@ -45,6 +45,7 @@ import javax.swing.JEditorPane; * * @author Timothy Prinzing */ +@SuppressWarnings("serial") // Same-version serialization only public abstract class EditorKit implements Cloneable, Serializable { /** diff --git a/jdk/src/share/classes/javax/swing/text/GapContent.java b/jdk/src/share/classes/javax/swing/text/GapContent.java index 9109001b6c6..fff2292e211 100644 --- a/jdk/src/share/classes/javax/swing/text/GapContent.java +++ b/jdk/src/share/classes/javax/swing/text/GapContent.java @@ -58,6 +58,7 @@ import java.lang.ref.ReferenceQueue; * * @author Timothy Prinzing */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class GapContent extends GapVector implements AbstractDocument.Content, Serializable { /** @@ -577,7 +578,7 @@ public class GapContent extends GapVector implements AbstractDocument.Content, S unusedMarks = 0; } - + @SuppressWarnings("serial") // Superclass is not serializable across versions static class MarkVector extends GapVector { MarkVector() { @@ -855,6 +856,7 @@ public class GapContent extends GapVector implements AbstractDocument.Content, S /** * UnoableEdit created for inserts. */ + @SuppressWarnings("serial") // Superclass is a JDK-implementation class class InsertUndo extends AbstractUndoableEdit { protected InsertUndo(int offset, int length) { super(); @@ -905,6 +907,7 @@ public class GapContent extends GapVector implements AbstractDocument.Content, S /** * UndoableEdit created for removes. */ + @SuppressWarnings("serial") // JDK-implementation class class RemoveUndo extends AbstractUndoableEdit { protected RemoveUndo(int offset, String string) { super(); diff --git a/jdk/src/share/classes/javax/swing/text/GapVector.java b/jdk/src/share/classes/javax/swing/text/GapVector.java index a200478c2fe..34d36abe70f 100644 --- a/jdk/src/share/classes/javax/swing/text/GapVector.java +++ b/jdk/src/share/classes/javax/swing/text/GapVector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -41,6 +41,7 @@ import javax.swing.undo.UndoableEdit; * @author Timothy Prinzing * @see GapContent */ +@SuppressWarnings("serial") // Data in fields not necessarily serializable abstract class GapVector implements Serializable { diff --git a/jdk/src/share/classes/javax/swing/text/GlyphView.java b/jdk/src/share/classes/javax/swing/text/GlyphView.java index 2ab6cbc3618..e848f2af63c 100644 --- a/jdk/src/share/classes/javax/swing/text/GlyphView.java +++ b/jdk/src/share/classes/javax/swing/text/GlyphView.java @@ -56,7 +56,6 @@ import static sun.swing.SwingUtilities2.IMPLIED_CR; * expanded if this view is embedded in a container that does * tab expansion. ParagraphView is an example of a container * that does tab expansion. - * <p> * * @since 1.3 * diff --git a/jdk/src/share/classes/javax/swing/text/StateInvariantError.java b/jdk/src/share/classes/javax/swing/text/StateInvariantError.java index 8ceb3544a59..179bb93a5fd 100644 --- a/jdk/src/share/classes/javax/swing/text/StateInvariantError.java +++ b/jdk/src/share/classes/javax/swing/text/StateInvariantError.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1998, 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 @@ -31,6 +31,7 @@ package javax.swing.text; * * @author Timothy Prinzing */ +@SuppressWarnings("serial") // Same-version serialization only class StateInvariantError extends Error { /** diff --git a/jdk/src/share/classes/javax/swing/text/StyleConstants.java b/jdk/src/share/classes/javax/swing/text/StyleConstants.java index 01f94088ef2..583b4dffd72 100644 --- a/jdk/src/share/classes/javax/swing/text/StyleConstants.java +++ b/jdk/src/share/classes/javax/swing/text/StyleConstants.java @@ -42,7 +42,6 @@ import javax.swing.Icon; * <p style="text-align:center"><img src="doc-files/paragraph.gif" * alt="Diagram shows SpaceAbove, FirstLineIndent, LeftIndent, RightIndent, * and SpaceBelow a paragraph."></p> - * <p> * * @author Timothy Prinzing */ diff --git a/jdk/src/share/classes/javax/swing/text/StyledEditorKit.java b/jdk/src/share/classes/javax/swing/text/StyledEditorKit.java index b62be0f7ef3..925cd8e5b15 100644 --- a/jdk/src/share/classes/javax/swing/text/StyledEditorKit.java +++ b/jdk/src/share/classes/javax/swing/text/StyledEditorKit.java @@ -44,6 +44,7 @@ import javax.swing.UIManager; * * @author Timothy Prinzing */ +@SuppressWarnings("serial") // Same-version serialization only public class StyledEditorKit extends DefaultEditorKit { /** @@ -170,6 +171,7 @@ public class StyledEditorKit extends DefaultEditorKit { /** * Creates the AttributeSet used for the selection. */ + @SuppressWarnings("serial") // anonymous class private void createInputAttributes() { inputAttributes = new SimpleAttributeSet() { public AttributeSet getResolveParent() { @@ -218,6 +220,7 @@ public class StyledEditorKit extends DefaultEditorKit { * input attributes when the Document changes, as if the Document * changes the attributes will almost certainly change. */ + @SuppressWarnings("serial") // JDK-implementation class class AttributeTracker implements CaretListener, PropertyChangeListener, Serializable { /** @@ -854,6 +857,7 @@ public class StyledEditorKit extends DefaultEditorKit { * is inserted. Beyond that, this will reset the input attributes to * what they were before the newline was inserted. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class StyledInsertBreakAction extends StyledTextAction { private SimpleAttributeSet tempSet; diff --git a/jdk/src/share/classes/javax/swing/text/View.java b/jdk/src/share/classes/javax/swing/text/View.java index 2b49055ab59..cb8306ac12e 100644 --- a/jdk/src/share/classes/javax/swing/text/View.java +++ b/jdk/src/share/classes/javax/swing/text/View.java @@ -183,7 +183,6 @@ A view has the following responsibilities: <li>{@link #removeUpdate removeUpdate} <li>{@link #changedUpdate changedUpdate} </ul> - <p> </dl> * * @author Timothy Prinzing diff --git a/jdk/src/share/classes/javax/swing/text/html/CSS.java b/jdk/src/share/classes/javax/swing/text/html/CSS.java index ec101b13415..12e83e06b9b 100644 --- a/jdk/src/share/classes/javax/swing/text/html/CSS.java +++ b/jdk/src/share/classes/javax/swing/text/html/CSS.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -123,6 +123,7 @@ import javax.swing.text.*; * @author Scott Violet * @see StyleSheet */ +@SuppressWarnings("serial") // Same-version serialization only public class CSS implements Serializable { /** @@ -1563,6 +1564,7 @@ public class CSS implements Serializable { * method to convert the CSS value to a StyleConstants * value. */ + @SuppressWarnings("serial") // Same-version serialization only static class CssValue implements Serializable { /** @@ -1641,6 +1643,7 @@ public class CSS implements Serializable { * provides StyleConstants conversion support for the * CSS attributes that are held as strings. */ + @SuppressWarnings("serial") // Same-version serialization only static class StringValue extends CssValue { /** @@ -1797,6 +1800,7 @@ public class CSS implements Serializable { * If the type is Integer, the value is specified * in terms of a size index. */ + @SuppressWarnings("serial") // Same-version serialization only class FontSize extends CssValue { /** @@ -1966,6 +1970,7 @@ public class CSS implements Serializable { LengthUnit lu; } + @SuppressWarnings("serial") // Same-version serialization only static class FontFamily extends CssValue { /** @@ -2063,6 +2068,7 @@ public class CSS implements Serializable { String family; } + @SuppressWarnings("serial") // Same-version serialization only static class FontWeight extends CssValue { int getValue() { @@ -2125,6 +2131,7 @@ public class CSS implements Serializable { int weight; } + @SuppressWarnings("serial") // Same-version serialization only static class ColorValue extends CssValue { /** @@ -2184,6 +2191,7 @@ public class CSS implements Serializable { Color c; } + @SuppressWarnings("serial") // Same-version serialization only static class BorderStyle extends CssValue { CSS.Value getValue() { @@ -2236,6 +2244,7 @@ public class CSS implements Serializable { transient private CSS.Value style; } + @SuppressWarnings("serial") // Same-version serialization only static class LengthValue extends CssValue { /** @@ -2373,6 +2382,7 @@ public class CSS implements Serializable { * BorderWidthValue is used to model BORDER_XXX_WIDTH and adds support * for the thin/medium/thick values. */ + @SuppressWarnings("serial") // Same-version serialization only static class BorderWidthValue extends LengthValue { BorderWidthValue(String svalue, int index) { this.svalue = svalue; @@ -2412,6 +2422,7 @@ public class CSS implements Serializable { * Handles uniquing of CSS values, like lists, and background image * repeating. */ + @SuppressWarnings("serial") // Same-version serialization only static class CssValueMapper extends CssValue { Object parseCssValue(String value) { Object retValue = cssValueToInternalValueMap.get(value); @@ -2435,6 +2446,7 @@ public class CSS implements Serializable { /** * Used for background images, to represent the position. */ + @SuppressWarnings("serial") // Same-version serialization only static class BackgroundPosition extends CssValue { float horizontalPosition; float verticalPosition; @@ -2580,6 +2592,7 @@ public class CSS implements Serializable { /** * Used for BackgroundImages. */ + @SuppressWarnings("serial") // Same-version serialization only static class BackgroundImage extends CssValue { private boolean loadedImage; private ImageIcon image; @@ -2619,6 +2632,7 @@ public class CSS implements Serializable { * Parses a length value, this is used internally, and never added * to an AttributeSet or returned to the developer. */ + @SuppressWarnings("serial") // Same-version serialization only static class LengthUnit implements Serializable { static Hashtable<String, Float> lengthMapping = new Hashtable<String, Float>(6); static Hashtable<String, Float> w3cLengthMapping = new Hashtable<String, Float>(6); diff --git a/jdk/src/share/classes/javax/swing/text/html/CSSBorder.java b/jdk/src/share/classes/javax/swing/text/html/CSSBorder.java index b550fcfdb65..5945f34e3d2 100644 --- a/jdk/src/share/classes/javax/swing/text/html/CSSBorder.java +++ b/jdk/src/share/classes/javax/swing/text/html/CSSBorder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 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 @@ -50,6 +50,7 @@ import javax.swing.text.html.CSS.Value; * * @author Sergey Groznyh */ +@SuppressWarnings("serial") // Superclass is not serializable across versions class CSSBorder extends AbstractBorder { /** Indices for the attribute groups. */ diff --git a/jdk/src/share/classes/javax/swing/text/html/CommentView.java b/jdk/src/share/classes/javax/swing/text/html/CommentView.java index 6288fb29c75..6402d99f4bf 100644 --- a/jdk/src/share/classes/javax/swing/text/html/CommentView.java +++ b/jdk/src/share/classes/javax/swing/text/html/CommentView.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -115,6 +115,7 @@ class CommentView extends HiddenTagView { static final int commentPadding = 3; static final int commentPaddingD = commentPadding * 3; + @SuppressWarnings("serial") // Superclass is not serializable across versions static class CommentBorder extends LineBorder { CommentBorder() { super(Color.black, 1); diff --git a/jdk/src/share/classes/javax/swing/text/html/EditableView.java b/jdk/src/share/classes/javax/swing/text/html/EditableView.java index 3a5fa648efa..3ef2c655600 100644 --- a/jdk/src/share/classes/javax/swing/text/html/EditableView.java +++ b/jdk/src/share/classes/javax/swing/text/html/EditableView.java @@ -73,7 +73,7 @@ class EditableView extends ComponentView { Component c = getComponent(); Container host = getContainer(); - if (host != null && + if (host instanceof JTextComponent && isVisible != ((JTextComponent)host).isEditable()) { isVisible = ((JTextComponent)host).isEditable(); preferenceChanged(null, true, true); diff --git a/jdk/src/share/classes/javax/swing/text/html/FormSubmitEvent.java b/jdk/src/share/classes/javax/swing/text/html/FormSubmitEvent.java index a17c0704e8b..93fb2035355 100644 --- a/jdk/src/share/classes/javax/swing/text/html/FormSubmitEvent.java +++ b/jdk/src/share/classes/javax/swing/text/html/FormSubmitEvent.java @@ -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 @@ -34,7 +34,7 @@ import java.net.URL; * @since 1.5 * @author Denis Sharypov */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions public class FormSubmitEvent extends HTMLFrameHyperlinkEvent { /** diff --git a/jdk/src/share/classes/javax/swing/text/html/FrameView.java b/jdk/src/share/classes/javax/swing/text/html/FrameView.java index b2030e47a11..ae3154161bb 100644 --- a/jdk/src/share/classes/javax/swing/text/html/FrameView.java +++ b/jdk/src/share/classes/javax/swing/text/html/FrameView.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -458,6 +458,7 @@ class FrameView extends ComponentView implements HyperlinkListener { /** Editor pane rendering frame of HTML document * It uses the same editor kits classes as outermost JEditorPane */ + @SuppressWarnings("serial") // Superclass is not serializable across versions class FrameEditorPane extends JEditorPane implements FrameEditorPaneTag { public EditorKit getEditorKitForContentType(String type) { EditorKit editorKit = super.getEditorKitForContentType(type); diff --git a/jdk/src/share/classes/javax/swing/text/html/HTML.java b/jdk/src/share/classes/javax/swing/text/html/HTML.java index 3545de230b9..dc49ff3b228 100644 --- a/jdk/src/share/classes/javax/swing/text/html/HTML.java +++ b/jdk/src/share/classes/javax/swing/text/html/HTML.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -283,6 +283,7 @@ public class HTML { // There is no unique instance of UnknownTag, so we allow it to be // Serializable. + @SuppressWarnings("serial") // Same-version serialization only public static class UnknownTag extends Tag implements Serializable { /** diff --git a/jdk/src/share/classes/javax/swing/text/html/HTMLEditorKit.java b/jdk/src/share/classes/javax/swing/text/html/HTMLEditorKit.java index 5ec27c0f5c1..923e2e74df9 100644 --- a/jdk/src/share/classes/javax/swing/text/html/HTMLEditorKit.java +++ b/jdk/src/share/classes/javax/swing/text/html/HTMLEditorKit.java @@ -160,6 +160,7 @@ import java.lang.ref.*; * * @author Timothy Prinzing */ +@SuppressWarnings("serial") // Same-version serialization only public class HTMLEditorKit extends StyledEditorKit implements Accessible { private JEditorPane theEditor; @@ -640,6 +641,7 @@ public class HTMLEditorKit extends StyledEditorKit implements Accessible { * Class to watch the associated component and fire * hyperlink events on it when appropriate. */ + @SuppressWarnings("serial") // Same-version serialization only public static class LinkController extends MouseAdapter implements MouseMotionListener, Serializable { private Element curElem = null; /** @@ -1482,6 +1484,7 @@ public class HTMLEditorKit extends StyledEditorKit implements Accessible { * document. If you have another thread modifying the text these * methods may have inconsistent behavior, or return the wrong thing. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static abstract class HTMLTextAction extends StyledTextAction { public HTMLTextAction(String name) { super(name); @@ -1592,6 +1595,7 @@ public class HTMLEditorKit extends StyledEditorKit implements Accessible { * addTag. These will be checked for if there is no parentTag at * offset. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions public static class InsertHTMLTextAction extends HTMLTextAction { public InsertHTMLTextAction(String name, String html, HTML.Tag parentTag, HTML.Tag addTag) { @@ -1823,6 +1827,7 @@ public class HTMLEditorKit extends StyledEditorKit implements Accessible { * the parent HTML.Tag based on the paragraph element at the selection * start. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class InsertHRAction extends InsertHTMLTextAction { InsertHRAction() { super("InsertHR", "<hr>", null, HTML.Tag.IMPLIED, null, null, @@ -1877,6 +1882,7 @@ public class HTMLEditorKit extends StyledEditorKit implements Accessible { * javax.accessibility package. The text package should support * keyboard navigation of text elements directly. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class NavigateLinkAction extends TextAction implements CaretListener { private static final FocusHighlightPainter focusPainter = @@ -2086,6 +2092,7 @@ public class HTMLEditorKit extends StyledEditorKit implements Accessible { * javax.accessibility package. The text package should support * keyboard navigation of text elements directly. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions static class ActivateLinkAction extends TextAction { /** @@ -2259,7 +2266,7 @@ public class HTMLEditorKit extends StyledEditorKit implements Accessible { * @see DefaultEditorKit#beginAction * @see HTMLEditorKit#getActions */ - + @SuppressWarnings("serial") // Superclass is not serializable across versions static class BeginAction extends TextAction { /* Create this object with the appropriate identifier. */ diff --git a/jdk/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java b/jdk/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java index 0e21e32814f..82516f670d9 100644 --- a/jdk/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java +++ b/jdk/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -35,7 +35,7 @@ import java.net.URL; * * @author Sunita Mani */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions public class HTMLFrameHyperlinkEvent extends HyperlinkEvent { /** diff --git a/jdk/src/share/classes/javax/swing/text/html/HiddenTagView.java b/jdk/src/share/classes/javax/swing/text/html/HiddenTagView.java index 698db97f3a1..d73d7ecaa71 100644 --- a/jdk/src/share/classes/javax/swing/text/html/HiddenTagView.java +++ b/jdk/src/share/classes/javax/swing/text/html/HiddenTagView.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -295,7 +295,7 @@ class HiddenTagView extends EditableView implements DocumentListener { static final Border StartBorder = new StartTagBorder(); static final Border EndBorder = new EndTagBorder(); - + @SuppressWarnings("serial") // Same-version serialization only static class StartTagBorder implements Border, Serializable { public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) { @@ -326,7 +326,7 @@ class HiddenTagView extends EditableView implements DocumentListener { } } // End of class HiddenTagView.StartTagBorder - + @SuppressWarnings("serial") // Same-version serialization only static class EndTagBorder implements Border, Serializable { public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) { diff --git a/jdk/src/share/classes/javax/swing/text/html/Map.java b/jdk/src/share/classes/javax/swing/text/html/Map.java index 8045d3af111..c40e237aaf3 100644 --- a/jdk/src/share/classes/javax/swing/text/html/Map.java +++ b/jdk/src/share/classes/javax/swing/text/html/Map.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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,6 +37,7 @@ import javax.swing.text.AttributeSet; * * @author Scott Violet */ +@SuppressWarnings("serial") // Same-version serialization only class Map implements Serializable { /** Name of the Map. */ private String name; diff --git a/jdk/src/share/classes/javax/swing/text/html/MuxingAttributeSet.java b/jdk/src/share/classes/javax/swing/text/html/MuxingAttributeSet.java index 24634247fd2..185a20707f7 100644 --- a/jdk/src/share/classes/javax/swing/text/html/MuxingAttributeSet.java +++ b/jdk/src/share/classes/javax/swing/text/html/MuxingAttributeSet.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -33,6 +33,7 @@ import java.util.*; * across a set of <code>AttributeSet</code>s. * */ +@SuppressWarnings("serial") // Same-version serialization only class MuxingAttributeSet implements AttributeSet, Serializable { /** * Creates a <code>MuxingAttributeSet</code> with the passed in diff --git a/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java b/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java index 34d530784e6..d3942a86610 100644 --- a/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java +++ b/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -39,7 +39,7 @@ import java.io.Serializable; * @author Sunita Mani */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions class OptionComboBoxModel<E> extends DefaultComboBoxModel<E> implements Serializable { private Option selectedOption = null; diff --git a/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java b/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java index 886ff0da2ac..74a4ee1adc6 100644 --- a/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java +++ b/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -42,7 +42,7 @@ import java.io.Serializable; * @author Sunita Mani */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions class OptionListModel<E> extends DefaultListModel<E> implements ListSelectionModel, Serializable { diff --git a/jdk/src/share/classes/javax/swing/text/html/StyleSheet.java b/jdk/src/share/classes/javax/swing/text/html/StyleSheet.java index 645327cb809..de0f2b91fe5 100644 --- a/jdk/src/share/classes/javax/swing/text/html/StyleSheet.java +++ b/jdk/src/share/classes/javax/swing/text/html/StyleSheet.java @@ -116,7 +116,7 @@ import javax.swing.text.*; * concepts we do not currently * support are pseudo selectors, such as <code>A:link { color: red }</code>, * and the <code>important</code> modifier. - * <p> + * * @implNote This implementation is currently * incomplete. It can be replaced with alternative implementations * that are complete. Future versions of this class will provide @@ -127,6 +127,7 @@ import javax.swing.text.*; * @author Sara Swanson * @author Jill Nakata */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class StyleSheet extends StyleContext { // As the javadoc states, this class maintains a mapping between // a CSS selector (such as p.bar) and a Style. @@ -763,6 +764,7 @@ public class StyleSheet extends StyleContext { * Large set of attributes that does conversion of requests * for attributes of type StyleConstants. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions class LargeConversionSet extends SimpleAttributeSet { /** @@ -1760,6 +1762,7 @@ public class StyleSheet extends StyleContext { * the insets of a View and making sure the background * is maintained according to the CSS attributes. */ + @SuppressWarnings("serial") // Same-version serialization only public static class BoxPainter implements Serializable { BoxPainter(AttributeSet a, CSS css, StyleSheet ss) { @@ -2019,6 +2022,7 @@ public class StyleSheet extends StyleContext { * while not knowing anything about how the CSS values * are being cached. */ + @SuppressWarnings("serial") // Same-version serialization only public static class ListPainter implements Serializable { ListPainter(AttributeSet attr, StyleSheet ss) { @@ -2448,6 +2452,7 @@ public class StyleSheet extends StyleContext { /** * Paints the background image. */ + @SuppressWarnings("serial") // Same-version serialization only static class BackgroundImagePainter implements Serializable { ImageIcon backgroundImage; float hPosition; @@ -2615,6 +2620,7 @@ public class StyleSheet extends StyleContext { * CSS and HTML and StyleConstants. The AttributeSets used are * the CSS rules that match the Views Elements. */ + @SuppressWarnings("serial") // Same-version serialization only class ViewAttributeSet extends MuxingAttributeSet { ViewAttributeSet(View v) { host = v; @@ -2779,6 +2785,7 @@ public class StyleSheet extends StyleContext { // contain a SimpleAttributeSet that modify methods are delegated to, // or change getRule to return an AttributeSet and then don't make this // implement Style. + @SuppressWarnings("serial") // Same-version serialization only static class ResolvedStyle extends MuxingAttributeSet implements Serializable, Style { ResolvedStyle(String name, AttributeSet[] attrs, int extendedIndex) { @@ -3020,6 +3027,7 @@ public class StyleSheet extends StyleContext { * This is not thread safe, it is assumed the caller will take the * necessary precations if this is to be used in a threaded environment. */ + @SuppressWarnings("serial") // Same-version serialization only static class SelectorMapping implements Serializable { public SelectorMapping(int specificity) { this.specificity = specificity; diff --git a/jdk/src/share/classes/javax/swing/text/html/TextAreaDocument.java b/jdk/src/share/classes/javax/swing/text/html/TextAreaDocument.java index 8b21a95a9ce..3a0cad8f30e 100644 --- a/jdk/src/share/classes/javax/swing/text/html/TextAreaDocument.java +++ b/jdk/src/share/classes/javax/swing/text/html/TextAreaDocument.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -35,7 +35,7 @@ import javax.swing.text.*; * * @author Sunita Mani */ - +@SuppressWarnings("serial") // Superclass is not serializable across versions class TextAreaDocument extends PlainDocument { String initialText; diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/AttributeList.java b/jdk/src/share/classes/javax/swing/text/html/parser/AttributeList.java index 769c31c30e4..8674c7fac74 100644 --- a/jdk/src/share/classes/javax/swing/text/html/parser/AttributeList.java +++ b/jdk/src/share/classes/javax/swing/text/html/parser/AttributeList.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -44,6 +44,7 @@ import java.io.*; * @author Arthur Van Hoff * */ +@SuppressWarnings("serial") // Same-version serialization only public final class AttributeList implements DTDConstants, Serializable { public String name; diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/ContentModel.java b/jdk/src/share/classes/javax/swing/text/html/parser/ContentModel.java index c23b1bc12f2..6dbd6e6b5a5 100644 --- a/jdk/src/share/classes/javax/swing/text/html/parser/ContentModel.java +++ b/jdk/src/share/classes/javax/swing/text/html/parser/ContentModel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -40,6 +40,7 @@ import java.io.*; * @author Arthur van Hoff * */ +@SuppressWarnings("serial") // Same-version serialization only public final class ContentModel implements Serializable { /** * Type. Either '*', '?', '+', ',', '|', '&'. diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/Element.java b/jdk/src/share/classes/javax/swing/text/html/parser/Element.java index 6ce872b8e38..16b1943000c 100644 --- a/jdk/src/share/classes/javax/swing/text/html/parser/Element.java +++ b/jdk/src/share/classes/javax/swing/text/html/parser/Element.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -40,6 +40,7 @@ import sun.awt.AppContext; * @see AttributeList * @author Arthur van Hoff */ +@SuppressWarnings("serial") // Same-version serialization only public final class Element implements DTDConstants, Serializable { public int index; diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/ParserDelegator.java b/jdk/src/share/classes/javax/swing/text/html/parser/ParserDelegator.java index 81f7bb2cace..c6109d6d66f 100644 --- a/jdk/src/share/classes/javax/swing/text/html/parser/ParserDelegator.java +++ b/jdk/src/share/classes/javax/swing/text/html/parser/ParserDelegator.java @@ -43,9 +43,8 @@ import java.io.Serializable; * * @author Sunita Mani */ - +@SuppressWarnings("serial") // Same-version serialization only public class ParserDelegator extends HTMLEditorKit.Parser implements Serializable { - private static final Object DTD_KEY = new Object(); protected static void setDefaultDTD() { diff --git a/jdk/src/share/classes/javax/swing/text/rtf/RTFEditorKit.java b/jdk/src/share/classes/javax/swing/text/rtf/RTFEditorKit.java index b8eb6ce9c5d..794c2cfee40 100644 --- a/jdk/src/share/classes/javax/swing/text/rtf/RTFEditorKit.java +++ b/jdk/src/share/classes/javax/swing/text/rtf/RTFEditorKit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2000, 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 @@ -40,6 +40,7 @@ import javax.swing.*; * * @author Timothy Prinzing (of this class, not the package!) */ +@SuppressWarnings("serial") // Same-version serialization only public class RTFEditorKit extends StyledEditorKit { /** diff --git a/jdk/src/share/classes/javax/swing/tree/ExpandVetoException.java b/jdk/src/share/classes/javax/swing/tree/ExpandVetoException.java index 88aee49de8c..9fd6addb446 100644 --- a/jdk/src/share/classes/javax/swing/tree/ExpandVetoException.java +++ b/jdk/src/share/classes/javax/swing/tree/ExpandVetoException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -36,6 +36,7 @@ import javax.swing.event.TreeExpansionEvent; * * @author Scott Violet */ +@SuppressWarnings("serial") // Same-version serialization only public class ExpandVetoException extends Exception { /** The event that the exception was created for. */ protected TreeExpansionEvent event; diff --git a/jdk/src/share/classes/javax/swing/undo/AbstractUndoableEdit.java b/jdk/src/share/classes/javax/swing/undo/AbstractUndoableEdit.java index 3c1601f23df..7184557d1e7 100644 --- a/jdk/src/share/classes/javax/swing/undo/AbstractUndoableEdit.java +++ b/jdk/src/share/classes/javax/swing/undo/AbstractUndoableEdit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, 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 @@ -35,6 +35,7 @@ import javax.swing.UIManager; * * @author Ray Ryan */ +@SuppressWarnings("serial") // Same-version serialization only public class AbstractUndoableEdit implements UndoableEdit, Serializable { /** diff --git a/jdk/src/share/classes/javax/swing/undo/CompoundEdit.java b/jdk/src/share/classes/javax/swing/undo/CompoundEdit.java index 48ce2686656..5e95f4130e4 100644 --- a/jdk/src/share/classes/javax/swing/undo/CompoundEdit.java +++ b/jdk/src/share/classes/javax/swing/undo/CompoundEdit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2004, 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 @@ -32,6 +32,7 @@ import java.util.*; * * @author Ray Ryan */ +@SuppressWarnings("serial") // Same-version serialization only public class CompoundEdit extends AbstractUndoableEdit { /** * True if this edit has never received <code>end</code>. diff --git a/jdk/src/share/classes/javax/swing/undo/StateEdit.java b/jdk/src/share/classes/javax/swing/undo/StateEdit.java index 8d01282168f..14a50768b6b 100644 --- a/jdk/src/share/classes/javax/swing/undo/StateEdit.java +++ b/jdk/src/share/classes/javax/swing/undo/StateEdit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2008, 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 @@ -55,7 +55,7 @@ import java.util.Vector; * * @author Ray Ryan */ - +@SuppressWarnings("serial") // Same-version serialization only public class StateEdit extends AbstractUndoableEdit { diff --git a/jdk/src/share/classes/javax/swing/undo/UndoableEdit.java b/jdk/src/share/classes/javax/swing/undo/UndoableEdit.java index 30a4b53fce1..88fa7e92232 100644 --- a/jdk/src/share/classes/javax/swing/undo/UndoableEdit.java +++ b/jdk/src/share/classes/javax/swing/undo/UndoableEdit.java @@ -47,7 +47,7 @@ import javax.swing.event.*; * be incorporated into a larger edit and treated as a single edit. * <li>If <code>addEdit</code> returns false <code>replaceEdit</code> * is called on the new edit with the current edit passed in as the - * argument. This is the inverse of <code>addEdit</code> — + * argument. This is the inverse of <code>addEdit</code> — * if the new edit returns true from <code>replaceEdit</code>, the new * edit replaces the current edit. * </ol> diff --git a/jdk/src/share/classes/sun/applet/AppletEvent.java b/jdk/src/share/classes/sun/applet/AppletEvent.java index 6095a01e7ff..9b7e9c25526 100644 --- a/jdk/src/share/classes/sun/applet/AppletEvent.java +++ b/jdk/src/share/classes/sun/applet/AppletEvent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 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 @@ -33,7 +33,7 @@ import java.util.EventObject; * * @author Sunita Mani */ - +@SuppressWarnings("serial") // JDK-implementation class public class AppletEvent extends EventObject { private Object arg; diff --git a/jdk/src/share/classes/sun/applet/AppletIOException.java b/jdk/src/share/classes/sun/applet/AppletIOException.java index 3034678bd83..de435906e17 100644 --- a/jdk/src/share/classes/sun/applet/AppletIOException.java +++ b/jdk/src/share/classes/sun/applet/AppletIOException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -32,6 +32,7 @@ import java.io.IOException; * * @author Koji Uno */ +@SuppressWarnings("serial") // JDK implementation class public class AppletIOException extends IOException { private String key = null; diff --git a/jdk/src/share/classes/sun/applet/AppletIllegalArgumentException.java b/jdk/src/share/classes/sun/applet/AppletIllegalArgumentException.java index 3203a7cc522..292bd957053 100644 --- a/jdk/src/share/classes/sun/applet/AppletIllegalArgumentException.java +++ b/jdk/src/share/classes/sun/applet/AppletIllegalArgumentException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -30,6 +30,7 @@ package sun.applet; * * @author Arthur van Hoff */ +@SuppressWarnings("serial") // JDK implementation class public class AppletIllegalArgumentException extends IllegalArgumentException { private String key = null; diff --git a/jdk/src/share/classes/sun/applet/AppletPanel.java b/jdk/src/share/classes/sun/applet/AppletPanel.java index 52ddab9e5db..15ba72b288c 100644 --- a/jdk/src/share/classes/sun/applet/AppletPanel.java +++ b/jdk/src/share/classes/sun/applet/AppletPanel.java @@ -28,23 +28,16 @@ package sun.applet; import java.applet.*; import java.awt.*; import java.awt.event.*; -import java.awt.image.ColorModel; -import java.awt.image.MemoryImageSource; import java.io.*; import java.lang.ref.WeakReference; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.net.InetAddress; import java.net.JarURLConnection; -import java.net.MalformedURLException; import java.net.SocketPermission; import java.net.URL; -import java.net.UnknownHostException; import java.security.*; import java.util.*; -import java.util.Collections; import java.util.Locale; -import java.util.WeakHashMap; import sun.awt.AWTAccessor; import sun.awt.AppContext; import sun.awt.EmbeddedFrame; @@ -62,6 +55,7 @@ import sun.security.util.SecurityConstants; * * @author Arthur van Hoff */ +@SuppressWarnings("serial") // JDK implementation class public abstract class AppletPanel extends Panel implements AppletStub, Runnable { @@ -148,7 +142,9 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { abstract protected String getJarFiles(); abstract protected String getSerializedObject(); + @Override abstract public int getWidth(); + @Override abstract public int getHeight(); abstract public boolean hasInitialFocus(); @@ -184,6 +180,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { handler = new Thread(appletGroup, this, "thread " + nm); // set the context class loader for this thread AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { handler.setContextClassLoader(loader); return null; @@ -236,6 +233,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { /** * Minimum size */ + @Override public Dimension minimumSize() { return new Dimension(defaultAppletSize.width, defaultAppletSize.height); @@ -244,6 +242,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { /** * Preferred size */ + @Override public Dimension preferredSize() { return new Dimension(currentAppletSize.width, currentAppletSize.height); @@ -368,6 +367,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { * * */ + @Override public void run() { Thread curThread = Thread.currentThread(); @@ -450,6 +450,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { try { final AppletPanel p = this; Runnable r = new Runnable() { + @Override public void run() { p.validate(); } @@ -480,6 +481,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { final AppletPanel p = this; final Applet a = applet; Runnable r = new Runnable() { + @Override public void run() { p.validate(); a.setVisible(true); @@ -515,6 +517,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { try { final Applet a = applet; Runnable r = new Runnable() { + @Override public void run() { a.setVisible(false); } @@ -574,6 +577,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { try { final Applet a = applet; Runnable r = new Runnable() { + @Override public void run() { remove(a); } @@ -628,10 +632,13 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { */ private Component getMostRecentFocusOwnerForWindow(Window w) { Method meth = (Method)AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { Method meth = null; try { - meth = KeyboardFocusManager.class.getDeclaredMethod("getMostRecentFocusOwner", new Class[] {Window.class}); + meth = KeyboardFocusManager.class.getDeclaredMethod( + "getMostRecentFocusOwner", + new Class[]{Window.class}); meth.setAccessible(true); } catch (Exception e) { // Must never happen @@ -880,6 +887,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { /** * Return true when the applet has been started. */ + @Override public boolean isActive() { return status == APPLET_START; } @@ -889,6 +897,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { /** * Is called when the applet wants to be resized. */ + @Override public void appletResize(int width, int height) { currentAppletSize.width = width; currentAppletSize.height = height; @@ -904,17 +913,20 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { final AppletPanel ap = this; if (appEvtQ != null){ appEvtQ.postEvent(new InvocationEvent(Toolkit.getDefaultToolkit(), - new Runnable(){ - public void run(){ - if(ap != null) - { - ap.dispatchAppletEvent(APPLET_RESIZE, currentSize); + new Runnable() { + @Override + public void run() { + if (ap != null) { + ap.dispatchAppletEvent( + APPLET_RESIZE, + currentSize); } } })); } } + @Override public void setBounds(int x, int y, int width, int height) { super.setBounds(x, y, width, height); currentAppletSize.width = width; @@ -966,7 +978,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { public String getClassLoaderCacheKey() { /** - * Fixed #4501142: Classlaoder sharing policy doesn't + * Fixed #4501142: Classloader sharing policy doesn't * take "archive" into account. This will be overridden * by Java Plug-in. [stanleyh] */ @@ -1012,6 +1024,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { getAccessControlContext(codebase); c = (AppletClassLoader) AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { AppletClassLoader ac = createClassLoader(codebase); /* Should the creation of the classloader be @@ -1055,6 +1068,7 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable { PermissionCollection perms = (PermissionCollection) AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { Policy p = java.security.Policy.getPolicy(); if (p != null) { diff --git a/jdk/src/share/classes/sun/applet/AppletProps.java b/jdk/src/share/classes/sun/applet/AppletProps.java index 38a76a4afc2..466aa83735b 100644 --- a/jdk/src/share/classes/sun/applet/AppletProps.java +++ b/jdk/src/share/classes/sun/applet/AppletProps.java @@ -37,6 +37,7 @@ import java.security.PrivilegedActionException; import sun.security.action.*; +@SuppressWarnings("serial") // JDK implementation class class AppletProps extends Frame { TextField proxyHost; @@ -194,7 +195,7 @@ class AppletProps extends Frame { /* 4066432 */ /* Dialog class to display property-related errors to user */ - +@SuppressWarnings("serial") // JDK implementation class class AppletPropsErrorDialog extends Dialog { public AppletPropsErrorDialog(Frame parent, String title, String message, String buttonText) { diff --git a/jdk/src/share/classes/sun/applet/AppletSecurityException.java b/jdk/src/share/classes/sun/applet/AppletSecurityException.java index 138e9279c33..2cc21af694b 100644 --- a/jdk/src/share/classes/sun/applet/AppletSecurityException.java +++ b/jdk/src/share/classes/sun/applet/AppletSecurityException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 1998, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 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 @@ -30,6 +30,7 @@ package sun.applet; * * @author Arthur van Hoff */ +@SuppressWarnings("serial") // JDK-implementation class public class AppletSecurityException extends SecurityException { private String key = null; diff --git a/jdk/src/share/classes/sun/applet/AppletViewer.java b/jdk/src/share/classes/sun/applet/AppletViewer.java index a97ac33bbe0..cbde244cb72 100644 --- a/jdk/src/share/classes/sun/applet/AppletViewer.java +++ b/jdk/src/share/classes/sun/applet/AppletViewer.java @@ -33,20 +33,17 @@ import java.awt.print.*; import javax.print.attribute.*; import java.applet.*; import java.net.URL; -import java.net.MalformedURLException; import java.net.SocketPermission; import java.security.AccessController; import java.security.PrivilegedAction; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import sun.awt.SunToolkit; import sun.awt.AppContext; -import java.lang.ref.WeakReference; /** * A frame to show the applet tag in. */ -class TextFrame extends Frame { +@SuppressWarnings("serial") // JDK-implementation class +final class TextFrame extends Frame { /** * Create the tag frame. @@ -65,6 +62,7 @@ class TextFrame extends Frame { p.add(b); class ActionEventListener implements ActionListener { + @Override public void actionPerformed(ActionEvent evt) { dispose(); } @@ -77,6 +75,7 @@ class TextFrame extends Frame { WindowListener windowEventListener = new WindowAdapter() { + @Override public void windowClosing(WindowEvent evt) { dispose(); } @@ -89,20 +88,22 @@ class TextFrame extends Frame { } /** - * Lets us construct one using unix-style one shot behaviors + * Lets us construct one using unix-style one shot behaviors. */ +final class StdAppletViewerFactory implements AppletViewerFactory { -class StdAppletViewerFactory implements AppletViewerFactory -{ + @Override public AppletViewer createAppletViewer(int x, int y, URL doc, Hashtable atts) { return new AppletViewer(x, y, doc, atts, System.out, this); } + @Override public MenuBar getBaseMenuBar() { return new MenuBar(); } + @Override public boolean isStandalone() { return true; } @@ -115,8 +116,8 @@ class StdAppletViewerFactory implements AppletViewerFactory * (The document named appletviewertags.html in the JDK's docs/tooldocs directory, * once the JDK docs have been installed.) */ -public class AppletViewer extends Frame implements AppletContext, - Printable { +@SuppressWarnings("serial") // JDK implementation class +public class AppletViewer extends Frame implements AppletContext, Printable { /** * Some constants... @@ -146,13 +147,14 @@ public class AppletViewer extends Frame implements AppletContext, private final class UserActionListener implements ActionListener { + @Override public void actionPerformed(ActionEvent evt) { processUserAction(evt); } } /** - * Create the applet viewer + * Create the applet viewer. */ public AppletViewer(int x, int y, URL doc, Hashtable atts, PrintStream statusMsgStream, AppletViewerFactory factory) { @@ -200,14 +202,17 @@ public class AppletViewer extends Frame implements AppletContext, WindowListener windowEventListener = new WindowAdapter() { + @Override public void windowClosing(WindowEvent evt) { appletClose(); } + @Override public void windowIconified(WindowEvent evt) { appletStop(); } + @Override public void windowDeiconified(WindowEvent evt) { appletStart(); } @@ -222,6 +227,7 @@ public class AppletViewer extends Frame implements AppletContext, this.frame = frame; } + @Override public void appletStateChanged(AppletEvent evt) { AppletPanel src = (AppletPanel)evt.getSource(); @@ -369,6 +375,7 @@ public class AppletViewer extends Frame implements AppletContext, /** * Get an audio clip. */ + @Override public AudioClip getAudioClip(URL url) { checkConnect(url); synchronized (audioClips) { @@ -385,6 +392,7 @@ public class AppletViewer extends Frame implements AppletContext, /** * Get an image. */ + @Override public Image getImage(URL url) { return getCachedImage(url); } @@ -416,6 +424,7 @@ public class AppletViewer extends Frame implements AppletContext, /** * Get an applet by name. */ + @Override public Applet getApplet(String name) { AppletSecurity security = (AppletSecurity)System.getSecurityManager(); name = name.toLowerCase(); @@ -445,6 +454,7 @@ public class AppletViewer extends Frame implements AppletContext, * Return an enumeration of all the accessible * applets on this page. */ + @Override public Enumeration getApplets() { AppletSecurity security = (AppletSecurity)System.getSecurityManager(); Vector v = new Vector(); @@ -468,31 +478,37 @@ public class AppletViewer extends Frame implements AppletContext, /** * Ignore. */ + @Override public void showDocument(URL url) { } /** * Ignore. */ + @Override public void showDocument(URL url, String target) { } /** * Show status. */ + @Override public void showStatus(String status) { label.setText(status); } + @Override public void setStream(String key, InputStream stream)throws IOException{ // We do nothing. } + @Override public InputStream getStream(String key){ // We do nothing. return null; } + @Override public Iterator getStreamKeys(){ // We do nothing. return null; @@ -606,7 +622,7 @@ public class AppletViewer extends Frame implements AppletContext, panel.sendEvent(AppletPanel.APPLET_DISPOSE); /** - * Fixed #4501142: Classlaoder sharing policy doesn't + * Fixed #4501142: Classloader sharing policy doesn't * take "archive" into account. This will be overridden * by Java Plug-in. [stanleyh] */ @@ -635,6 +651,7 @@ public class AppletViewer extends Frame implements AppletContext, void appletSave() { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { // XXX: this privileged block should be made smaller // by initializing a private static variable with "user.dir" @@ -763,6 +780,7 @@ public class AppletViewer extends Frame implements AppletContext, } } + @Override public int print(Graphics graphics, PageFormat pf, int pageIndex) { if (pageIndex > 0) { return Printable.NO_SUCH_PAGE; @@ -827,6 +845,7 @@ public class AppletViewer extends Frame implements AppletContext, new Thread(new Runnable() { + @Override public void run() { appletShutdown(p); @@ -862,6 +881,7 @@ public class AppletViewer extends Frame implements AppletContext, // new Thread(new Runnable() { + @Override public void run() { for (Enumeration e = appletPanels.elements() ; e.hasMoreElements() ;) { diff --git a/jdk/src/share/classes/sun/applet/Main.java b/jdk/src/share/classes/sun/applet/Main.java index e6af9ee7f72..a95a36f2688 100644 --- a/jdk/src/share/classes/sun/applet/Main.java +++ b/jdk/src/share/classes/sun/applet/Main.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 @@ -512,6 +512,7 @@ public class Main { return amh.getMessage(key, arg0, arg1, arg2); } + @SuppressWarnings("serial") // JDK implementation class class ParseException extends RuntimeException { public ParseException(String msg) { diff --git a/jdk/src/share/classes/sun/audio/InvalidAudioFormatException.java b/jdk/src/share/classes/sun/audio/InvalidAudioFormatException.java index 9b12af84a03..39b33f87be4 100644 --- a/jdk/src/share/classes/sun/audio/InvalidAudioFormatException.java +++ b/jdk/src/share/classes/sun/audio/InvalidAudioFormatException.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 @@ -29,6 +29,7 @@ import java.io.IOException; /** * Signals an invalid audio stream for the stream handler. */ +@SuppressWarnings("serial") // JDK-implementation class final class InvalidAudioFormatException extends IOException { diff --git a/jdk/src/share/classes/sun/awt/AppContext.java b/jdk/src/share/classes/sun/awt/AppContext.java index c7f46efdf28..5959e54dea4 100644 --- a/jdk/src/share/classes/sun/awt/AppContext.java +++ b/jdk/src/share/classes/sun/awt/AppContext.java @@ -42,11 +42,13 @@ import java.util.Set; import java.util.HashSet; import java.beans.PropertyChangeSupport; import java.beans.PropertyChangeListener; +import java.lang.ref.SoftReference; import sun.util.logging.PlatformLogger; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Supplier; /** * The AppContext is a table referenced by ThreadGroup which stores @@ -883,6 +885,23 @@ public final class AppContext { }); } + + public static <T> T getSoftReferenceValue(Object key, + Supplier<T> supplier) { + + final AppContext appContext = AppContext.getAppContext(); + SoftReference<T> ref = (SoftReference<T>) appContext.get(key); + if (ref != null) { + final T object = ref.get(); + if (object != null) { + return object; + } + } + final T object = supplier.get(); + ref = new SoftReference<>(object); + appContext.put(key, ref); + return object; + } } final class MostRecentKeyValue { diff --git a/jdk/src/share/classes/sun/awt/image/ImageCache.java b/jdk/src/share/classes/sun/awt/image/ImageCache.java new file mode 100644 index 00000000000..c7088bacf52 --- /dev/null +++ b/jdk/src/share/classes/sun/awt/image/ImageCache.java @@ -0,0 +1,163 @@ +/* + * Copyright (c) 2011, 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 sun.awt.image; + +import java.awt.*; +import java.lang.ref.*; +import java.util.*; +import java.util.concurrent.locks.*; +import sun.awt.AppContext; + +/** + * ImageCache - A fixed pixel count sized cache of Images keyed by arbitrary + * set of arguments. All images are held with SoftReferences so they will be + * dropped by the GC if heap memory gets tight. When our size hits max pixel + * count least recently requested images are removed first. + * + * The ImageCache must be used from the thread with an AppContext only. + * + */ +final public class ImageCache { + + // Ordered Map keyed by args hash, ordered by most recent accessed entry. + private final LinkedHashMap<PixelsKey, ImageSoftReference> map + = new LinkedHashMap<>(16, 0.75f, true); + + // Maximum number of pixels to cache, this is used if maxCount + private final int maxPixelCount; + // The current number of pixels stored in the cache + private int currentPixelCount = 0; + + // Lock for concurrent access to map + private final ReadWriteLock lock = new ReentrantReadWriteLock(); + // Reference queue for tracking lost softreferences to images in the cache + private final ReferenceQueue<Image> referenceQueue = new ReferenceQueue<>(); + + public static ImageCache getInstance() { + return AppContext.getSoftReferenceValue(ImageCache.class, + () -> new ImageCache()); + } + + ImageCache(final int maxPixelCount) { + this.maxPixelCount = maxPixelCount; + } + + ImageCache() { + this((8 * 1024 * 1024) / 4); // 8Mb of pixels + } + + public void flush() { + lock.writeLock().lock(); + try { + map.clear(); + } finally { + lock.writeLock().unlock(); + } + } + + public Image getImage(final PixelsKey key){ + final ImageSoftReference ref; + lock.readLock().lock(); + try { + ref = map.get(key); + } finally { + lock.readLock().unlock(); + } + return ref == null ? null : ref.get(); + } + + /** + * Sets the cached image for the specified constraints. + * + * @param key The key with which the specified image is to be associated + * @param image The image to store in cache + */ + public void setImage(final PixelsKey key, final Image image) { + + lock.writeLock().lock(); + try { + ImageSoftReference ref = map.get(key); + + // check if currently in map + if (ref != null) { + if (ref.get() != null) { + return; + } + // soft image has been removed + currentPixelCount -= key.getPixelCount(); + map.remove(key); + }; + + + // add new image to pixel count + final int newPixelCount = key.getPixelCount(); + currentPixelCount += newPixelCount; + // clean out lost references if not enough space + if (currentPixelCount > maxPixelCount) { + while ((ref = (ImageSoftReference)referenceQueue.poll()) != null) { + //reference lost + map.remove(ref.key); + currentPixelCount -= ref.key.getPixelCount(); + } + } + + // remove old items till there is enough free space + if (currentPixelCount > maxPixelCount) { + final Iterator<Map.Entry<PixelsKey, ImageSoftReference>> + mapIter = map.entrySet().iterator(); + while ((currentPixelCount > maxPixelCount) && mapIter.hasNext()) { + final Map.Entry<PixelsKey, ImageSoftReference> entry = + mapIter.next(); + mapIter.remove(); + final Image img = entry.getValue().get(); + if (img != null) img.flush(); + currentPixelCount -= entry.getValue().key.getPixelCount(); + } + } + + // finally put new in map + map.put(key, new ImageSoftReference(key, image, referenceQueue)); + } finally { + lock.writeLock().unlock(); + } + } + + public interface PixelsKey { + + int getPixelCount(); + } + + private static class ImageSoftReference extends SoftReference<Image> { + + final PixelsKey key; + + ImageSoftReference(final PixelsKey key, final Image referent, + final ReferenceQueue<? super Image> q) { + super(referent, q); + this.key = key; + } + } +} diff --git a/jdk/src/share/classes/sun/awt/image/MultiResolutionBufferedImage.java b/jdk/src/share/classes/sun/awt/image/MultiResolutionBufferedImage.java index 79f7a3b4dab..283095c3588 100644 --- a/jdk/src/share/classes/sun/awt/image/MultiResolutionBufferedImage.java +++ b/jdk/src/share/classes/sun/awt/image/MultiResolutionBufferedImage.java @@ -26,46 +26,152 @@ package sun.awt.image; import java.awt.Image; import java.awt.Graphics; +import java.awt.geom.Dimension2D; import java.awt.image.BufferedImage; +import java.awt.image.ImageObserver; import java.util.Arrays; import java.util.List; import java.util.function.Function; +import java.util.function.BiFunction; +import java.util.stream.Collectors; public class MultiResolutionBufferedImage extends BufferedImage implements MultiResolutionImage { - Image[] resolutionVariants; - int baseIndex; + private final BiFunction<Integer, Integer, Image> mapper; + private final Dimension2D[] sizes; + private int availableInfo; - public MultiResolutionBufferedImage(int imageType, int baseIndex, Image... images) { - super(images[baseIndex].getWidth(null), images[baseIndex].getHeight(null), - imageType); - this.baseIndex = baseIndex; - this.resolutionVariants = images; + public MultiResolutionBufferedImage(Image baseImage, + Dimension2D[] sizes, BiFunction<Integer, Integer, Image> mapper) { + super(baseImage.getWidth(null), baseImage.getHeight(null), + BufferedImage.TYPE_INT_ARGB_PRE); + this.sizes = sizes; + this.mapper = mapper; + this.availableInfo = getInfo(baseImage); Graphics g = getGraphics(); - g.drawImage(images[baseIndex], 0, 0, null); + g.drawImage(baseImage, 0, 0, null); g.dispose(); - images[baseIndex] = this; } @Override public Image getResolutionVariant(int width, int height) { - for (Image image : resolutionVariants) { - if (width <= image.getWidth(null) && height <= image.getHeight(null)) { - return image; - } + int baseWidth = getWidth(); + int baseHeight = getHeight(); + + if (baseWidth == width && baseHeight == height) { + return this; } - return this; + + ImageCache cache = ImageCache.getInstance(); + ImageCacheKey key = new ImageCacheKey(this, width, height); + Image resolutionVariant = cache.getImage(key); + if (resolutionVariant == null) { + resolutionVariant = mapper.apply(width, height); + cache.setImage(key, resolutionVariant); + preload(resolutionVariant, availableInfo); + } + + return resolutionVariant; } @Override public List<Image> getResolutionVariants() { - return Arrays.asList(resolutionVariants); + return Arrays.stream(sizes).map((Function<Dimension2D, Image>) size + -> getResolutionVariant((int) size.getWidth(), + (int) size.getHeight())).collect(Collectors.toList()); } public MultiResolutionBufferedImage map(Function<Image, Image> mapper) { - return new MultiResolutionBufferedImage(getType(), baseIndex, - Arrays.stream(resolutionVariants).map(mapper) - .toArray(length -> new Image[length])); + return new MultiResolutionBufferedImage(mapper.apply(this), sizes, + (width, height) -> + mapper.apply(getResolutionVariant(width, height))); } -} + + @Override + public int getWidth(ImageObserver observer) { + availableInfo |= ImageObserver.WIDTH; + return super.getWidth(observer); + } + + @Override + public int getHeight(ImageObserver observer) { + availableInfo |= ImageObserver.HEIGHT; + return super.getHeight(observer); + } + + @Override + public Object getProperty(String name, ImageObserver observer) { + availableInfo |= ImageObserver.PROPERTIES; + return super.getProperty(name, observer); + } + + private static int getInfo(Image image) { + if (image instanceof ToolkitImage) { + return ((ToolkitImage) image).getImageRep().check( + (img, infoflags, x, y, w, h) -> false); + } + return 0; + } + + private static void preload(Image image, int availableInfo) { + if (image instanceof ToolkitImage) { + ((ToolkitImage) image).preload(new ImageObserver() { + int flags = availableInfo; + + @Override + public boolean imageUpdate(Image img, int infoflags, + int x, int y, int width, int height) { + flags &= ~infoflags; + return (flags != 0) && ((infoflags + & (ImageObserver.ERROR | ImageObserver.ABORT)) == 0); + } + }); + } + } + + private static class ImageCacheKey implements ImageCache.PixelsKey { + + private final int pixelCount; + private final int hash; + + private final int w; + private final int h; + private final Image baseImage; + + ImageCacheKey(final Image baseImage, + final int w, final int h) { + this.baseImage = baseImage; + this.w = w; + this.h = h; + this.pixelCount = w * h; + hash = hash(); + } + + @Override + public int getPixelCount() { + return pixelCount; + } + + private int hash() { + int hash = baseImage.hashCode(); + hash = 31 * hash + w; + hash = 31 * hash + h; + return hash; + } + + @Override + public int hashCode() { + return hash; + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof ImageCacheKey) { + ImageCacheKey key = (ImageCacheKey) obj; + return baseImage == key.baseImage && w == key.w && h == key.h; + } + return false; + } + } +} \ No newline at end of file diff --git a/jdk/src/share/classes/sun/awt/shell/ShellFolder.java b/jdk/src/share/classes/sun/awt/shell/ShellFolder.java index cb9459f1d41..e8a9407276d 100644 --- a/jdk/src/share/classes/sun/awt/shell/ShellFolder.java +++ b/jdk/src/share/classes/sun/awt/shell/ShellFolder.java @@ -33,6 +33,8 @@ import java.io.FileNotFoundException; import java.util.*; import java.util.concurrent.Callable; +import sun.reflect.misc.ReflectUtil; + /** * @author Michael Martak * @since 1.4 @@ -208,10 +210,11 @@ public abstract class ShellFolder extends File { getDesktopProperty("Shell.shellFolderManager"); Class managerClass = null; try { - managerClass = Class.forName(managerClassName); + managerClass = ReflectUtil.forName(managerClassName); // swallow the exceptions below and use default shell folder } catch(ClassNotFoundException e) { } catch(NullPointerException e) { + } catch(SecurityException e) { } if (managerClass == null) { diff --git a/jdk/src/share/classes/sun/java2d/SunGraphics2D.java b/jdk/src/share/classes/sun/java2d/SunGraphics2D.java index f66eee685b0..287549c2062 100644 --- a/jdk/src/share/classes/sun/java2d/SunGraphics2D.java +++ b/jdk/src/share/classes/sun/java2d/SunGraphics2D.java @@ -2430,6 +2430,8 @@ public final class SunGraphics2D surfaceData = NullSurfaceData.theInstance; } + invalidatePipe(); + // this will recalculate the composite clip setDevClip(surfaceData.getBounds()); diff --git a/jdk/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java b/jdk/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java index b9627d37f41..43a7563a25c 100644 --- a/jdk/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java +++ b/jdk/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java @@ -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 @@ -43,6 +43,7 @@ import java.lang.ref.WeakReference; * <p><b>NOTE: This class is not synchronized, subclasses must implement * the appropriate synchronization whwn needed.</b></p> **/ +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpListTableCache extends SnmpTableCache { diff --git a/jdk/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java b/jdk/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java index cc24c3d483e..d24641d45d8 100644 --- a/jdk/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java +++ b/jdk/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java @@ -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 @@ -49,6 +49,7 @@ import java.lang.ref.WeakReference; * <p><b>NOTE: This class is not synchronized, subclasses must implement * the appropriate synchronization whwn needed.</b></p> **/ +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpNamedListTableCache extends SnmpListTableCache { /** diff --git a/jdk/src/share/classes/sun/management/snmp/util/SnmpTableCache.java b/jdk/src/share/classes/sun/management/snmp/util/SnmpTableCache.java index 8244c3c1eae..4ef960c6430 100644 --- a/jdk/src/share/classes/sun/management/snmp/util/SnmpTableCache.java +++ b/jdk/src/share/classes/sun/management/snmp/util/SnmpTableCache.java @@ -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 @@ -45,6 +45,7 @@ import java.lang.ref.WeakReference; * <p><b>NOTE: This class is not synchronized, subclasses must implement * the appropriate synchronization when needed.</b></p> **/ +@SuppressWarnings("serial") // JDK implementation class public abstract class SnmpTableCache implements Serializable { /** diff --git a/jdk/src/share/classes/sun/misc/CharacterDecoder.java b/jdk/src/share/classes/sun/misc/CharacterDecoder.java index 76329ec8e39..c076f46df28 100644 --- a/jdk/src/share/classes/sun/misc/CharacterDecoder.java +++ b/jdk/src/share/classes/sun/misc/CharacterDecoder.java @@ -184,7 +184,7 @@ public abstract class CharacterDecoder { * @exception CEFormatException An error has occurred while decoding */ public byte[] decodeBuffer(String inputString) throws IOException { - byte inputBuffer[] = inputString.getBytes(); + byte inputBuffer[] = inputString.getBytes("ISO-8859-1"); ByteArrayInputStream inStream = new ByteArrayInputStream(inputBuffer); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); decodeBuffer(inStream, outStream); diff --git a/jdk/src/share/classes/sun/misc/CharacterEncoder.java b/jdk/src/share/classes/sun/misc/CharacterEncoder.java index 70c5ff90a44..d152f954cf9 100644 --- a/jdk/src/share/classes/sun/misc/CharacterEncoder.java +++ b/jdk/src/share/classes/sun/misc/CharacterEncoder.java @@ -190,7 +190,7 @@ public abstract class CharacterEncoder { try { encode(inStream, outStream); // explicit ascii->unicode conversion - retVal = outStream.toString("8859_1"); + retVal = outStream.toString("ISO-8859-1"); } catch (Exception IOException) { // This should never happen. throw new Error("CharacterEncoder.encode internal error"); 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/print/DialogOwner.java b/jdk/src/share/classes/sun/print/DialogOwner.java index 1afb95bf840..2551ed694a3 100644 --- a/jdk/src/share/classes/sun/print/DialogOwner.java +++ b/jdk/src/share/classes/sun/print/DialogOwner.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 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,6 +37,7 @@ import java.awt.Frame; * <P> * */ +@SuppressWarnings("serial") // JDK-implementation class public final class DialogOwner implements PrintRequestAttribute { diff --git a/jdk/src/share/classes/sun/print/PrintJobAttributeException.java b/jdk/src/share/classes/sun/print/PrintJobAttributeException.java index 335f378ed0e..8919a1af1b8 100644 --- a/jdk/src/share/classes/sun/print/PrintJobAttributeException.java +++ b/jdk/src/share/classes/sun/print/PrintJobAttributeException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 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 @@ -29,6 +29,7 @@ import javax.print.AttributeException; import javax.print.PrintException; import javax.print.attribute.Attribute; +@SuppressWarnings("serial") // JDK-implementation class class PrintJobAttributeException extends PrintException implements AttributeException { diff --git a/jdk/src/share/classes/sun/print/PrintJobFlavorException.java b/jdk/src/share/classes/sun/print/PrintJobFlavorException.java index de095f658d5..0d312175466 100644 --- a/jdk/src/share/classes/sun/print/PrintJobFlavorException.java +++ b/jdk/src/share/classes/sun/print/PrintJobFlavorException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 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 @@ -29,7 +29,7 @@ import javax.print.DocFlavor; import javax.print.FlavorException; import javax.print.PrintException; - +@SuppressWarnings("serial") // JDK implementation class class PrintJobFlavorException extends PrintException implements FlavorException { diff --git a/jdk/src/share/classes/sun/print/ServiceDialog.java b/jdk/src/share/classes/sun/print/ServiceDialog.java index 7c557db9c4b..70d1f93e434 100644 --- a/jdk/src/share/classes/sun/print/ServiceDialog.java +++ b/jdk/src/share/classes/sun/print/ServiceDialog.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -81,6 +81,7 @@ import java.lang.reflect.Field; * * @author Chris Campbell */ +@SuppressWarnings("serial") // Superclass is not serializable across versions public class ServiceDialog extends JDialog implements ActionListener { /** @@ -307,6 +308,7 @@ public class ServiceDialog extends JDialog implements ActionListener { * Performs Cancel when Esc key is pressed. */ private void handleEscKey(JButton btnCancel) { + @SuppressWarnings("serial") // anonymous class Action cancelKeyAction = new AbstractAction() { public void actionPerformed(ActionEvent e) { dispose(CANCEL); @@ -656,6 +658,7 @@ public class ServiceDialog extends JDialog implements ActionListener { * The "General" tab. Includes the controls for PrintService, * PageRange, and Copies/Collate. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class GeneralPanel extends JPanel { private PrintServicePanel pnlPrintService; @@ -699,6 +702,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class PrintServicePanel extends JPanel implements ActionListener, ItemListener, PopupMenuListener { @@ -956,6 +960,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class PrintRangePanel extends JPanel implements ActionListener, FocusListener { @@ -1168,6 +1173,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class CopiesPanel extends JPanel implements ActionListener, ChangeListener { @@ -1301,6 +1307,7 @@ public class ServiceDialog extends JDialog implements ActionListener { * The "Page Setup" tab. Includes the controls for MediaSource/MediaTray, * OrientationRequested, and Sides. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class PageSetupPanel extends JPanel { private MediaPanel pnlMedia; @@ -1342,6 +1349,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class MarginsPanel extends JPanel implements ActionListener, FocusListener { @@ -1872,6 +1880,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class MediaPanel extends JPanel implements ItemListener { private final String strTitle = getMsg("border.media"); @@ -2106,6 +2115,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class OrientationPanel extends JPanel implements ActionListener { @@ -2264,6 +2274,7 @@ public class ServiceDialog extends JDialog implements ActionListener { * The "Appearance" tab. Includes the controls for Chromaticity, * PrintQuality, JobPriority, JobName, and other related job attributes. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class AppearancePanel extends JPanel { private ChromaticityPanel pnlChromaticity; @@ -2310,6 +2321,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class ChromaticityPanel extends JPanel implements ActionListener { @@ -2400,6 +2412,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } } + @SuppressWarnings("serial") // Superclass is not serializable across versions private class QualityPanel extends JPanel implements ActionListener { @@ -2501,6 +2514,8 @@ public class ServiceDialog extends JDialog implements ActionListener { } + + @SuppressWarnings("serial") // Superclass is not serializable across versions private class SidesPanel extends JPanel implements ActionListener { @@ -2603,7 +2618,7 @@ public class ServiceDialog extends JDialog implements ActionListener { } - + @SuppressWarnings("serial") // Superclass is not serializable across versions private class JobAttributesPanel extends JPanel implements ActionListener, ChangeListener, FocusListener { @@ -2791,6 +2806,7 @@ public class ServiceDialog extends JDialog implements ActionListener { * A special widget that groups a JRadioButton with an associated icon, * placed to the left of the radio button. */ + @SuppressWarnings("serial") // Superclass is not serializable across versions private class IconRadioButton extends JPanel { private JRadioButton rb; @@ -2843,6 +2859,7 @@ public class ServiceDialog extends JDialog implements ActionListener { * chooser will pop up a "Do you want to overwrite..." dialog if the * user selects a file that already exists. */ + @SuppressWarnings("serial") // JDK implementation class private class ValidatingFileChooser extends JFileChooser { public void approveSelection() { File selected = getSelectedFile(); diff --git a/jdk/src/share/classes/sun/print/SunMinMaxPage.java b/jdk/src/share/classes/sun/print/SunMinMaxPage.java index 46ccc44a9ff..9381d29128e 100644 --- a/jdk/src/share/classes/sun/print/SunMinMaxPage.java +++ b/jdk/src/share/classes/sun/print/SunMinMaxPage.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 @@ -30,6 +30,7 @@ import javax.print.attribute.PrintRequestAttribute; /* * A class used to determine minimum and maximum pages. */ +@SuppressWarnings("serial") // JDK-implementation class public final class SunMinMaxPage implements PrintRequestAttribute { private int page_max, page_min; diff --git a/jdk/src/share/classes/sun/print/SunPageSelection.java b/jdk/src/share/classes/sun/print/SunPageSelection.java index 2596c1a6b21..b54d7ba55d2 100644 --- a/jdk/src/share/classes/sun/print/SunPageSelection.java +++ b/jdk/src/share/classes/sun/print/SunPageSelection.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 @@ -30,6 +30,7 @@ import javax.print.attribute.PrintRequestAttribute; /* * A class used to determine the range of pages to be printed. */ +@SuppressWarnings("serial") // JDK implementation class public final class SunPageSelection implements PrintRequestAttribute { public static final SunPageSelection ALL = new SunPageSelection(0); diff --git a/jdk/src/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java b/jdk/src/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java index a38a7faecf2..0741499b9a7 100644 --- a/jdk/src/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java +++ b/jdk/src/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java @@ -26,11 +26,11 @@ package sun.security.internal.spec; import java.security.spec.AlgorithmParameterSpec; +import java.security.AccessController; +import java.security.PrivilegedAction; /** - * Parameters for SSL/TLS RSA Premaster secret generation. - * This class is used by SSL/TLS client to initialize KeyGenerators of the - * type "TlsRsaPremasterSecret". + * Parameters for SSL/TLS RSA premaster secret. * * <p>Instances of this class are immutable. * @@ -43,90 +43,108 @@ import java.security.spec.AlgorithmParameterSpec; public class TlsRsaPremasterSecretParameterSpec implements AlgorithmParameterSpec { - private final int majorVersion; - private final int minorVersion; - private final byte[] encodedSecret; + /* + * The TLS spec says that the version in the RSA premaster secret must + * be the maximum version supported by the client (i.e. the version it + * requested in its client hello version). However, we (and other + * implementations) used to send the active negotiated version. The + * system property below allows to toggle the behavior. + */ + private final static String PROP_NAME = + "com.sun.net.ssl.rsaPreMasterSecretFix"; + + /* + * Default is "false" (old behavior) for compatibility reasons in + * SSLv3/TLSv1. Later protocols (TLSv1.1+) do not use this property. + */ + private final static boolean rsaPreMasterSecretFix = + AccessController.doPrivileged(new PrivilegedAction<Boolean>() { + public Boolean run() { + String value = System.getProperty(PROP_NAME); + if (value != null && value.equalsIgnoreCase("true")) { + return Boolean.TRUE; + } + + return Boolean.FALSE; + } + }); + + private final int clientVersion; + private final int serverVersion; /** * Constructs a new TlsRsaPremasterSecretParameterSpec. - * <P> - * The version numbers will be placed inside the premaster secret to - * detect version rollbacks attacks as described in the TLS specification. - * Note that they do not indicate the protocol version negotiated for - * the handshake. * - * @param majorVersion the major number of the protocol version - * @param minorVersion the minor number of the protocol version + * @param clientVersion the version of the TLS protocol by which the + * client wishes to communicate during this session + * @param serverVersion the negotiated version of the TLS protocol which + * contains the lower of that suggested by the client in the client + * hello and the highest supported by the server. * - * @throws IllegalArgumentException if minorVersion or majorVersion are - * negative or larger than 255 + * @throws IllegalArgumentException if clientVersion or serverVersion are + * negative or larger than (2^16 - 1) */ - public TlsRsaPremasterSecretParameterSpec(int majorVersion, - int minorVersion) { - this.majorVersion = - TlsMasterSecretParameterSpec.checkVersion(majorVersion); - this.minorVersion = - TlsMasterSecretParameterSpec.checkVersion(minorVersion); - this.encodedSecret = null; + public TlsRsaPremasterSecretParameterSpec( + int clientVersion, int serverVersion) { + + this.clientVersion = checkVersion(clientVersion); + this.serverVersion = checkVersion(serverVersion); } /** - * Constructs a new TlsRsaPremasterSecretParameterSpec. - * <P> - * The version numbers will be placed inside the premaster secret to - * detect version rollbacks attacks as described in the TLS specification. - * Note that they do not indicate the protocol version negotiated for - * the handshake. - * <P> - * Usually, the encoded secret key is a random number that acts as - * dummy pre_master_secret to avoid vulnerabilities described by - * section 7.4.7.1, RFC 5246. + * Returns the version of the TLS protocol by which the client wishes to + * communicate during this session. * - * @param majorVersion the major number of the protocol version - * @param minorVersion the minor number of the protocol version - * @param encodedSecret the encoded secret key - * - * @throws IllegalArgumentException if minorVersion or majorVersion are - * negative or larger than 255, or encodedSecret is not exactly 48 bytes. + * @return the version of the TLS protocol in ClientHello message */ - public TlsRsaPremasterSecretParameterSpec(int majorVersion, - int minorVersion, byte[] encodedSecret) { - this.majorVersion = - TlsMasterSecretParameterSpec.checkVersion(majorVersion); - this.minorVersion = - TlsMasterSecretParameterSpec.checkVersion(minorVersion); - - if (encodedSecret == null || encodedSecret.length != 48) { - throw new IllegalArgumentException( - "Encoded secret is not exactly 48 bytes"); - } - this.encodedSecret = encodedSecret.clone(); + public int getClientVersion() { + return clientVersion; } /** - * Returns the major version. + * Returns the negotiated version of the TLS protocol which contains the + * lower of that suggested by the client in the client hello and the + * highest supported by the server. * - * @return the major version. + * @return the negotiated version of the TLS protocol in ServerHello message + */ + public int getServerVersion() { + return serverVersion; + } + + /** + * Returns the major version used in RSA premaster secret. + * + * @return the major version used in RSA premaster secret. */ public int getMajorVersion() { - return majorVersion; + if (rsaPreMasterSecretFix || clientVersion >= 0x0302) { + // 0x0302: TLSv1.1 + return (clientVersion >>> 8) & 0xFF; + } + + return (serverVersion >>> 8) & 0xFF; } /** - * Returns the minor version. + * Returns the minor version used in RSA premaster secret. * - * @return the minor version. + * @return the minor version used in RSA premaster secret. */ public int getMinorVersion() { - return minorVersion; + if (rsaPreMasterSecretFix || clientVersion >= 0x0302) { + // 0x0302: TLSv1.1 + return clientVersion & 0xFF; + } + + return serverVersion & 0xFF; } - /** - * Returns the encoded secret. - * - * @return the encoded secret, may be null if no encoded secret. - */ - public byte[] getEncodedSecret() { - return encodedSecret == null ? null : encodedSecret.clone(); + private int checkVersion(int version) { + if ((version < 0) || (version > 0xFFFF)) { + throw new IllegalArgumentException( + "Version must be between 0 and 65,535"); + } + return version; } } diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java index ffae2cdc2fa..cc9626c14f7 100644 --- a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java +++ b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java @@ -86,6 +86,10 @@ public final class Krb5MechFactory implements MechanismFactory { return result; } + public Krb5MechFactory() { + this(GSSCaller.CALLER_UNKNOWN); + } + public Krb5MechFactory(GSSCaller caller) { this.caller = caller; } diff --git a/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java b/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java index cb60230d4f9..511547b8a78 100644 --- a/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java +++ b/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java @@ -96,6 +96,10 @@ public final class SpNegoMechFactory implements MechanismFactory { return result; } + public SpNegoMechFactory() { + this(GSSCaller.CALLER_UNKNOWN); + } + public SpNegoMechFactory(GSSCaller caller) { manager = new GSSManagerImpl(caller, false); Oid[] mechs = manager.getMechs(); 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/krb5/Config.java b/jdk/src/share/classes/sun/security/krb5/Config.java index 3b108622b07..f2f8754091c 100644 --- a/jdk/src/share/classes/sun/security/krb5/Config.java +++ b/jdk/src/share/classes/sun/security/krb5/Config.java @@ -32,20 +32,15 @@ package sun.security.krb5; import java.io.File; import java.io.FileInputStream; -import java.util.Hashtable; -import java.util.Vector; -import java.util.ArrayList; +import java.util.*; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; -import java.util.StringTokenizer; import java.net.InetAddress; import java.net.UnknownHostException; import java.security.AccessController; import java.security.PrivilegedExceptionAction; -import java.util.Arrays; -import java.util.List; -import java.util.Locale; + import sun.net.dns.ResolverConfiguration; import sun.security.krb5.internal.crypto.EType; import sun.security.krb5.internal.Krb5; @@ -231,6 +226,31 @@ public class Config { return v.lastElement(); } + /** + * Gets the boolean value for the specified keys. Returns TRUE if the + * string value is "yes", or "true", FALSE if "no", or "false", or null + * if otherwise or not defined. The comparision is case-insensitive. + * + * @param keys the keys, see {@link #get(String...)} + * @return the boolean value, or null if there is no value defined or the + * value does not look like a boolean value. + * @throws IllegalArgumentException see {@link #get(String...)} + */ + public Boolean getBooleanObject(String... keys) { + String s = get(keys); + if (s == null) { + return null; + } + switch (s.toLowerCase(Locale.US)) { + case "yes": case "true": + return Boolean.TRUE; + case "no": case "false": + return Boolean.FALSE; + default: + return null; + } + } + /** * Gets all values for the specified keys. * @throws IllegalArgumentException if any of the keys is illegal @@ -316,23 +336,6 @@ public class Config { return value; } - /** - * Gets the boolean value for the specified keys. - * @param keys the keys - * @return the boolean value, false is returned if it cannot be - * found or the value is not "true" (case insensitive). - * @throw IllegalArgumentException if any of the keys is illegal - * @see #get(java.lang.String[]) - */ - public boolean getBooleanValue(String... keys) { - String val = get(keys); - if (val != null && val.equalsIgnoreCase("true")) { - return true; - } else { - return false; - } - } - /** * Parses a string to an integer. The convertible strings include the * string representations of positive integers, negative integers, and @@ -341,7 +344,7 @@ public class Config { * * @param input the String to be converted to an Integer. * @return an numeric value represented by the string - * @exception NumberFormationException if the String does not contain a + * @exception NumberFormatException if the String does not contain a * parsable integer. */ private int parseIntValue(String input) throws NumberFormatException { @@ -927,32 +930,20 @@ public class Config { * use addresses if "no_addresses" or "noaddresses" is set to false */ public boolean useAddresses() { - boolean useAddr = false; - // use addresses if "no_addresses" is set to false - String value = get("libdefaults", "no_addresses"); - useAddr = (value != null && value.equalsIgnoreCase("false")); - if (useAddr == false) { - // use addresses if "noaddresses" is set to false - value = get("libdefaults", "noaddresses"); - useAddr = (value != null && value.equalsIgnoreCase("false")); - } - return useAddr; + return getBooleanObject("libdefaults", "no_addresses") == Boolean.FALSE || + getBooleanObject("libdefaults", "noaddresses") == Boolean.FALSE; } /** - * Check if need to use DNS to locate Kerberos services + * Check if need to use DNS to locate Kerberos services for name. If not + * defined, check dns_fallback, whose default value is true. */ private boolean useDNS(String name) { - String value = get("libdefaults", name); - if (value == null) { - value = get("libdefaults", "dns_fallback"); - if ("false".equalsIgnoreCase(value)) { - return false; - } else { - return true; - } + Boolean value = getBooleanObject("libdefaults", name); + if (value != null) { + return value.booleanValue(); } else { - return value.equalsIgnoreCase("true"); + return getBooleanObject("libdefaults", "dns_fallback") != Boolean.FALSE; } } diff --git a/jdk/src/share/classes/sun/security/krb5/EncryptionKey.java b/jdk/src/share/classes/sun/security/krb5/EncryptionKey.java index b83fe8c8611..6887f85524c 100644 --- a/jdk/src/share/classes/sun/security/krb5/EncryptionKey.java +++ b/jdk/src/share/classes/sun/security/krb5/EncryptionKey.java @@ -271,15 +271,22 @@ public class EncryptionKey String salt, String algorithm) throws KrbCryptoException { - if (algorithm == null || algorithm.equalsIgnoreCase("DES")) { + if (algorithm == null || algorithm.equalsIgnoreCase("DES") + || algorithm.equalsIgnoreCase("des-cbc-md5")) { keyType = EncryptedData.ETYPE_DES_CBC_MD5; - } else if (algorithm.equalsIgnoreCase("DESede")) { + } else if (algorithm.equalsIgnoreCase("des-cbc-crc")) { + keyType = EncryptedData.ETYPE_DES_CBC_CRC; + } else if (algorithm.equalsIgnoreCase("DESede") + || algorithm.equalsIgnoreCase("des3-cbc-sha1-kd")) { keyType = EncryptedData.ETYPE_DES3_CBC_HMAC_SHA1_KD; - } else if (algorithm.equalsIgnoreCase("AES128")) { + } else if (algorithm.equalsIgnoreCase("AES128") + || algorithm.equalsIgnoreCase("aes128-cts-hmac-sha1-96")) { keyType = EncryptedData.ETYPE_AES128_CTS_HMAC_SHA1_96; - } else if (algorithm.equalsIgnoreCase("ArcFourHmac")) { + } else if (algorithm.equalsIgnoreCase("ArcFourHmac") + || algorithm.equalsIgnoreCase("rc4-hmac")) { keyType = EncryptedData.ETYPE_ARCFOUR_HMAC; - } else if (algorithm.equalsIgnoreCase("AES256")) { + } else if (algorithm.equalsIgnoreCase("AES256") + || algorithm.equalsIgnoreCase("aes256-cts-hmac-sha1-96")) { keyType = EncryptedData.ETYPE_AES256_CTS_HMAC_SHA1_96; // validate if AES256 is enabled if (!EType.isSupported(keyType)) { diff --git a/jdk/src/share/classes/sun/security/krb5/internal/KDCOptions.java b/jdk/src/share/classes/sun/security/krb5/internal/KDCOptions.java index a3d93021710..a07bb477095 100644 --- a/jdk/src/share/classes/sun/security/krb5/internal/KDCOptions.java +++ b/jdk/src/share/classes/sun/security/krb5/internal/KDCOptions.java @@ -299,14 +299,14 @@ public class KDCOptions extends KerberosFlags { if ((options & KDC_OPT_RENEWABLE_OK) == KDC_OPT_RENEWABLE_OK) { set(RENEWABLE_OK, true); } else { - if (config.getBooleanValue("libdefaults", "renewable")) { + if (config.getBooleanObject("libdefaults", "renewable") == Boolean.TRUE) { set(RENEWABLE_OK, true); } } if ((options & KDC_OPT_PROXIABLE) == KDC_OPT_PROXIABLE) { set(PROXIABLE, true); } else { - if (config.getBooleanValue("libdefaults", "proxiable")) { + if (config.getBooleanObject("libdefaults", "proxiable") == Boolean.TRUE) { set(PROXIABLE, true); } } @@ -314,7 +314,7 @@ public class KDCOptions extends KerberosFlags { if ((options & KDC_OPT_FORWARDABLE) == KDC_OPT_FORWARDABLE) { set(FORWARDABLE, true); } else { - if (config.getBooleanValue("libdefaults", "forwardable")) { + if (config.getBooleanObject("libdefaults", "forwardable") == Boolean.TRUE) { set(FORWARDABLE, true); } } diff --git a/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java b/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java index feed5d8b96a..d64b85486d4 100644 --- a/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java +++ b/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java @@ -58,8 +58,8 @@ public abstract class EType { boolean allowed = false; try { Config cfg = Config.getInstance(); - String temp = cfg.get("libdefaults", "allow_weak_crypto"); - if (temp != null && temp.equals("true")) allowed = true; + allowed = cfg.getBooleanObject("libdefaults", "allow_weak_crypto") + == Boolean.TRUE; } catch (Exception exc) { if (DEBUG) { System.out.println ("Exception in getting allow_weak_crypto, " + diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java b/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java index e2ff0fc73e4..253b8913a82 100644 --- a/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java +++ b/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java @@ -37,6 +37,8 @@ import javax.crypto.spec.*; import static sun.security.pkcs11.TemplateManager.*; import sun.security.pkcs11.wrapper.*; import static sun.security.pkcs11.wrapper.PKCS11Constants.*; +import sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec; +import sun.security.util.KeyUtil; /** * RSA Cipher implementation class. We currently only support @@ -102,6 +104,12 @@ final class P11RSACipher extends CipherSpi { // maximum output size. this is the length of the key private int outputSize; + // cipher parameter for TLS RSA premaster secret + private AlgorithmParameterSpec spec = null; + + // the source of randomness + private SecureRandom random; + P11RSACipher(Token token, String algorithm, long mechanism) throws PKCS11Exception { super(); @@ -165,8 +173,12 @@ final class P11RSACipher extends CipherSpi { AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException { if (params != null) { - throw new InvalidAlgorithmParameterException - ("Parameters not supported"); + if (!(params instanceof TlsRsaPremasterSecretParameterSpec)) { + throw new InvalidAlgorithmParameterException( + "Parameters not supported"); + } + spec = params; + this.random = random; // for TLS RSA premaster secret } implInit(opmode, key); } @@ -176,8 +188,8 @@ final class P11RSACipher extends CipherSpi { SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException { if (params != null) { - throw new InvalidAlgorithmParameterException - ("Parameters not supported"); + throw new InvalidAlgorithmParameterException( + "Parameters not supported"); } implInit(opmode, key); } @@ -452,21 +464,101 @@ final class P11RSACipher extends CipherSpi { protected Key engineUnwrap(byte[] wrappedKey, String algorithm, int type) throws InvalidKeyException, NoSuchAlgorithmException { - // XXX implement unwrap using C_Unwrap() for all keys - implInit(Cipher.DECRYPT_MODE, p11Key); - if (wrappedKey.length > maxInputSize) { - throw new InvalidKeyException("Key is too long for unwrapping"); + boolean isTlsRsaPremasterSecret = + algorithm.equals("TlsRsaPremasterSecret"); + Exception failover = null; + + SecureRandom secureRandom = random; + if (secureRandom == null && isTlsRsaPremasterSecret) { + secureRandom = new SecureRandom(); } - implUpdate(wrappedKey, 0, wrappedKey.length); - try { - byte[] encoded = doFinal(); + + // Should C_Unwrap be preferred for non-TLS RSA premaster secret? + if (token.supportsRawSecretKeyImport()) { + // XXX implement unwrap using C_Unwrap() for all keys + implInit(Cipher.DECRYPT_MODE, p11Key); + if (wrappedKey.length > maxInputSize) { + throw new InvalidKeyException("Key is too long for unwrapping"); + } + + byte[] encoded = null; + implUpdate(wrappedKey, 0, wrappedKey.length); + try { + encoded = doFinal(); + } catch (BadPaddingException e) { + if (isTlsRsaPremasterSecret) { + failover = e; + } else { + throw new InvalidKeyException("Unwrapping failed", e); + } + } catch (IllegalBlockSizeException e) { + // should not occur, handled with length check above + throw new InvalidKeyException("Unwrapping failed", e); + } + + if (isTlsRsaPremasterSecret) { + if (!(spec instanceof TlsRsaPremasterSecretParameterSpec)) { + throw new IllegalStateException( + "No TlsRsaPremasterSecretParameterSpec specified"); + } + + // polish the TLS premaster secret + TlsRsaPremasterSecretParameterSpec psps = + (TlsRsaPremasterSecretParameterSpec)spec; + encoded = KeyUtil.checkTlsPreMasterSecretKey( + psps.getClientVersion(), psps.getServerVersion(), + secureRandom, encoded, (failover != null)); + } + return ConstructKeys.constructKey(encoded, algorithm, type); - } catch (BadPaddingException e) { - // should not occur - throw new InvalidKeyException("Unwrapping failed", e); - } catch (IllegalBlockSizeException e) { - // should not occur, handled with length check above - throw new InvalidKeyException("Unwrapping failed", e); + } else { + Session s = null; + SecretKey secretKey = null; + try { + try { + s = token.getObjSession(); + long keyType = CKK_GENERIC_SECRET; + CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] { + new CK_ATTRIBUTE(CKA_CLASS, CKO_SECRET_KEY), + new CK_ATTRIBUTE(CKA_KEY_TYPE, keyType), + }; + attributes = token.getAttributes( + O_IMPORT, CKO_SECRET_KEY, keyType, attributes); + long keyID = token.p11.C_UnwrapKey(s.id(), + new CK_MECHANISM(mechanism), p11Key.keyID, + wrappedKey, attributes); + secretKey = P11Key.secretKey(s, keyID, + algorithm, 48 << 3, attributes); + } catch (PKCS11Exception e) { + if (isTlsRsaPremasterSecret) { + failover = e; + } else { + throw new InvalidKeyException("unwrap() failed", e); + } + } + + if (isTlsRsaPremasterSecret) { + byte[] replacer = new byte[48]; + if (failover == null) { + // Does smart compiler dispose this operation? + secureRandom.nextBytes(replacer); + } + + TlsRsaPremasterSecretParameterSpec psps = + (TlsRsaPremasterSecretParameterSpec)spec; + + // Please use the tricky failover and replacer byte array + // as the parameters so that smart compiler won't dispose + // the unused variable . + secretKey = polishPreMasterSecretKey(token, s, + failover, replacer, secretKey, + psps.getClientVersion(), psps.getServerVersion()); + } + + return secretKey; + } finally { + token.releaseSession(s); + } } } @@ -475,6 +567,34 @@ final class P11RSACipher extends CipherSpi { int n = P11KeyFactory.convertKey(token, key, algorithm).length(); return n; } + + private static SecretKey polishPreMasterSecretKey( + Token token, Session session, + Exception failover, byte[] replacer, SecretKey secretKey, + int clientVersion, int serverVersion) { + + if (failover != null) { + CK_VERSION version = new CK_VERSION( + (clientVersion >>> 8) & 0xFF, clientVersion & 0xFF); + try { + CK_ATTRIBUTE[] attributes = token.getAttributes( + O_GENERATE, CKO_SECRET_KEY, + CKK_GENERIC_SECRET, new CK_ATTRIBUTE[0]); + long keyID = token.p11.C_GenerateKey(session.id(), + // new CK_MECHANISM(CKM_TLS_PRE_MASTER_KEY_GEN, version), + new CK_MECHANISM(CKM_SSL3_PRE_MASTER_KEY_GEN, version), + attributes); + return P11Key.secretKey(session, + keyID, "TlsRsaPremasterSecret", 48 << 3, attributes); + } catch (PKCS11Exception e) { + throw new ProviderException( + "Could not generate premaster secret", e); + } + } + + return secretKey; + } + } final class ConstructKeys { diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java b/jdk/src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java index ff9b183ee26..21c853794bc 100644 --- a/jdk/src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java +++ b/jdk/src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java @@ -73,7 +73,7 @@ final class P11TlsRsaPremasterSecretGenerator extends KeyGeneratorSpi { protected void engineInit(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { - if (params instanceof TlsRsaPremasterSecretParameterSpec == false) { + if (!(params instanceof TlsRsaPremasterSecretParameterSpec)) { throw new InvalidAlgorithmParameterException(MSG); } this.spec = (TlsRsaPremasterSecretParameterSpec)params; @@ -83,38 +83,32 @@ final class P11TlsRsaPremasterSecretGenerator extends KeyGeneratorSpi { throw new InvalidParameterException(MSG); } + // Only can be used in client side to generate TLS RSA premaster secret. protected SecretKey engineGenerateKey() { if (spec == null) { throw new IllegalStateException ("TlsRsaPremasterSecretGenerator must be initialized"); } - byte[] b = spec.getEncodedSecret(); - if (b == null) { - CK_VERSION version = new CK_VERSION( + CK_VERSION version = new CK_VERSION( spec.getMajorVersion(), spec.getMinorVersion()); - Session session = null; - try { - session = token.getObjSession(); - CK_ATTRIBUTE[] attributes = token.getAttributes( - O_GENERATE, CKO_SECRET_KEY, - CKK_GENERIC_SECRET, new CK_ATTRIBUTE[0]); - long keyID = token.p11.C_GenerateKey(session.id(), - new CK_MECHANISM(mechanism, version), attributes); - SecretKey key = P11Key.secretKey(session, - keyID, "TlsRsaPremasterSecret", 48 << 3, attributes); - return key; - } catch (PKCS11Exception e) { - throw new ProviderException( - "Could not generate premaster secret", e); - } finally { - token.releaseSession(session); - } + Session session = null; + try { + session = token.getObjSession(); + CK_ATTRIBUTE[] attributes = token.getAttributes( + O_GENERATE, CKO_SECRET_KEY, + CKK_GENERIC_SECRET, new CK_ATTRIBUTE[0]); + long keyID = token.p11.C_GenerateKey(session.id(), + new CK_MECHANISM(mechanism, version), attributes); + SecretKey key = P11Key.secretKey(session, + keyID, "TlsRsaPremasterSecret", 48 << 3, attributes); + return key; + } catch (PKCS11Exception e) { + throw new ProviderException( + "Could not generate premaster secret", e); + } finally { + token.releaseSession(session); } - - // Won't worry, the TlsRsaPremasterSecret will be soon converted to - // TlsMasterSecret. - return new SecretKeySpec(b, "TlsRsaPremasterSecret"); } } diff --git a/jdk/src/share/classes/sun/security/pkcs11/SessionManager.java b/jdk/src/share/classes/sun/security/pkcs11/SessionManager.java index 348de3a1dce..798624c369d 100644 --- a/jdk/src/share/classes/sun/security/pkcs11/SessionManager.java +++ b/jdk/src/share/classes/sun/security/pkcs11/SessionManager.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2011, 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 @@ -34,6 +34,9 @@ import sun.security.util.Debug; import sun.security.pkcs11.wrapper.*; import static sun.security.pkcs11.wrapper.PKCS11Constants.*; +import java.util.concurrent.ConcurrentLinkedDeque; +import java.util.concurrent.atomic.AtomicInteger; + /** * Session manager. There is one session manager object per PKCS#11 * provider. It allows code to checkout a session, release it @@ -77,7 +80,7 @@ final class SessionManager { private final int maxSessions; // total number of active sessions - private int activeSessions; + private AtomicInteger activeSessions = new AtomicInteger(); // pool of available object sessions private final Pool objSessions; @@ -118,7 +121,7 @@ final class SessionManager { return (maxSessions <= DEFAULT_MAX_SESSIONS); } - synchronized Session getObjSession() throws PKCS11Exception { + Session getObjSession() throws PKCS11Exception { Session session = objSessions.poll(); if (session != null) { return ensureValid(session); @@ -131,7 +134,7 @@ final class SessionManager { return ensureValid(session); } - synchronized Session getOpSession() throws PKCS11Exception { + Session getOpSession() throws PKCS11Exception { Session session = opSessions.poll(); if (session != null) { return ensureValid(session); @@ -139,7 +142,7 @@ final class SessionManager { // create a new session rather than re-using an obj session // that avoids potential expensive cancels() for Signatures & RSACipher if (maxSessions == Integer.MAX_VALUE || - activeSessions < maxSessions) { + activeSessions.get() < maxSessions) { session = openSession(); return ensureValid(session); } @@ -155,20 +158,20 @@ final class SessionManager { return session; } - synchronized Session killSession(Session session) { + Session killSession(Session session) { if ((session == null) || (token.isValid() == false)) { return null; } if (debug != null) { String location = new Exception().getStackTrace()[2].toString(); System.out.println("Killing session (" + location + ") active: " - + activeSessions); + + activeSessions.get()); } closeSession(session); return null; } - synchronized Session releaseSession(Session session) { + Session releaseSession(Session session) { if ((session == null) || (token.isValid() == false)) { return null; } @@ -181,13 +184,13 @@ final class SessionManager { return null; } - synchronized void demoteObjSession(Session session) { + void demoteObjSession(Session session) { if (token.isValid() == false) { return; } if (debug != null) { System.out.println("Demoting session, active: " + - activeSessions); + activeSessions.get()); } boolean present = objSessions.remove(session); if (present == false) { @@ -200,18 +203,21 @@ final class SessionManager { private Session openSession() throws PKCS11Exception { if ((maxSessions != Integer.MAX_VALUE) && - (activeSessions >= maxSessions)) { + (activeSessions.get() >= maxSessions)) { throw new ProviderException("No more sessions available"); } + long id = token.p11.C_OpenSession (token.provider.slotID, openSessionFlags, null, null); Session session = new Session(token, id); - activeSessions++; + activeSessions.incrementAndGet(); if (debug != null) { - if (activeSessions > maxActiveSessions) { - maxActiveSessions = activeSessions; - if (maxActiveSessions % 10 == 0) { - System.out.println("Open sessions: " + maxActiveSessions); + synchronized(this) { + if (activeSessions.get() > maxActiveSessions) { + maxActiveSessions = activeSessions.get(); + if (maxActiveSessions % 10 == 0) { + System.out.println("Open sessions: " + maxActiveSessions); + } } } } @@ -220,18 +226,18 @@ final class SessionManager { private void closeSession(Session session) { session.close(); - activeSessions--; + activeSessions.decrementAndGet(); } - private static final class Pool { + public static final class Pool { private final SessionManager mgr; - private final List<Session> pool; + private final ConcurrentLinkedDeque<Session> pool; Pool(SessionManager mgr) { - this.mgr = mgr; - pool = new ArrayList<Session>(); + this.mgr = mgr; + pool = new ConcurrentLinkedDeque<Session>(); } boolean remove(Session session) { @@ -239,45 +245,40 @@ final class SessionManager { } Session poll() { - int n = pool.size(); - if (n == 0) { - return null; - } - Session session = pool.remove(n - 1); - return session; + return pool.pollLast(); } void release(Session session) { - pool.add(session); - // if there are idle sessions, close them + pool.offer(session); if (session.hasObjects()) { return; } + int n = pool.size(); if (n < 5) { return; } - Session oldestSession = pool.get(0); + + Session oldestSession; long time = System.currentTimeMillis(); - if (session.isLive(time) && oldestSession.isLive(time)) { - return; - } - Collections.sort(pool); int i = 0; - while (i < n - 1) { // always keep at least 1 session open - oldestSession = pool.get(i); - if (oldestSession.isLive(time)) { + // Check if the session head is too old and continue through queue + // until only one is left. + do { + oldestSession = pool.peek(); + if (oldestSession == null || oldestSession.isLive(time) || + !pool.remove(oldestSession)) { break; } + i++; mgr.closeSession(oldestSession); - } + } while ((n - i) > 1); + if (debug != null) { System.out.println("Closing " + i + " idle sessions, active: " + mgr.activeSessions); } - List<Session> subList = pool.subList(0, i); - subList.clear(); } } diff --git a/jdk/src/share/classes/sun/security/pkcs11/Token.java b/jdk/src/share/classes/sun/security/pkcs11/Token.java index b97ab0cc998..39d301ae7b8 100644 --- a/jdk/src/share/classes/sun/security/pkcs11/Token.java +++ b/jdk/src/share/classes/sun/security/pkcs11/Token.java @@ -36,6 +36,7 @@ import javax.security.auth.login.LoginException; import sun.security.jca.JCAUtil; import sun.security.pkcs11.wrapper.*; +import static sun.security.pkcs11.TemplateManager.*; import static sun.security.pkcs11.wrapper.PKCS11Constants.*; /** @@ -122,6 +123,9 @@ class Token implements Serializable { private final static CK_MECHANISM_INFO INVALID_MECH = new CK_MECHANISM_INFO(0, 0, 0); + // flag indicating whether the token supports raw secret key material import + private Boolean supportsRawSecretKeyImport; + Token(SunPKCS11 provider) throws PKCS11Exception { this.provider = provider; this.removable = provider.removable; @@ -160,6 +164,36 @@ class Token implements Serializable { return writeProtected; } + // return whether the token supports raw secret key material import + boolean supportsRawSecretKeyImport() { + if (supportsRawSecretKeyImport == null) { + SecureRandom random = JCAUtil.getSecureRandom(); + byte[] encoded = new byte[48]; + random.nextBytes(encoded); + + CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[3]; + attributes[0] = new CK_ATTRIBUTE(CKA_CLASS, CKO_SECRET_KEY); + attributes[1] = new CK_ATTRIBUTE(CKA_KEY_TYPE, CKK_GENERIC_SECRET); + attributes[2] = new CK_ATTRIBUTE(CKA_VALUE, encoded); + + Session session = null; + try { + attributes = getAttributes(O_IMPORT, + CKO_SECRET_KEY, CKK_GENERIC_SECRET, attributes); + session = getObjSession(); + long keyID = p11.C_CreateObject(session.id(), attributes); + + supportsRawSecretKeyImport = Boolean.TRUE; + } catch (PKCS11Exception e) { + supportsRawSecretKeyImport = Boolean.FALSE; + } finally { + releaseSession(session); + } + } + + return supportsRawSecretKeyImport; + } + // return whether we are logged in // uses cached result if current. session is optional and may be null boolean isLoggedIn(Session session) throws PKCS11Exception { 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/ssl/RSAClientKeyExchange.java b/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java index 36e4310fef1..11da51e56d7 100644 --- a/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java +++ b/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java @@ -48,23 +48,6 @@ import sun.security.util.KeyUtil; */ final class RSAClientKeyExchange extends HandshakeMessage { - /** - * The TLS spec says that the version in the RSA premaster secret must - * be the maximum version supported by the client (i.e. the version it - * requested in its client hello version). However, we (and other - * implementations) used to send the active negotiated version. The - * system property below allows to toggle the behavior. - */ - private final static String PROP_NAME = - "com.sun.net.ssl.rsaPreMasterSecretFix"; - - /* - * Default is "false" (old behavior) for compatibility reasons in - * SSLv3/TLSv1. Later protocols (TLSv1.1+) do not use this property. - */ - private final static boolean rsaPreMasterSecretFix = - Debug.getBooleanProperty(PROP_NAME, false); - /* * The following field values were encrypted with the server's public * key (or temp key from server key exchange msg) and are presented @@ -88,22 +71,12 @@ final class RSAClientKeyExchange extends HandshakeMessage { } this.protocolVersion = protocolVersion; - int major, minor; - - if (rsaPreMasterSecretFix || maxVersion.v >= ProtocolVersion.TLS11.v) { - major = maxVersion.major; - minor = maxVersion.minor; - } else { - major = protocolVersion.major; - minor = protocolVersion.minor; - } - try { String s = ((protocolVersion.v >= ProtocolVersion.TLS12.v) ? "SunTls12RsaPremasterSecret" : "SunTlsRsaPremasterSecret"); KeyGenerator kg = JsseJce.getKeyGenerator(s); - kg.init(new TlsRsaPremasterSecretParameterSpec(major, minor), - generator); + kg.init(new TlsRsaPremasterSecretParameterSpec( + maxVersion.v, protocolVersion.v), generator); preMaster = kg.generateKey(); Cipher cipher = JsseJce.getCipher(JsseJce.CIPHER_RSA_PKCS1); @@ -138,18 +111,17 @@ final class RSAClientKeyExchange extends HandshakeMessage { } } - Exception failover = null; - byte[] encoded = null; try { Cipher cipher = JsseJce.getCipher(JsseJce.CIPHER_RSA_PKCS1); // Cannot generate key here, please don't use Cipher.UNWRAP_MODE! - cipher.init(Cipher.DECRYPT_MODE, privateKey); - encoded = cipher.doFinal(encrypted); - } catch (BadPaddingException bpe) { - failover = bpe; - encoded = null; - } catch (IllegalBlockSizeException ibse) { - // the message it too big to process with RSA + cipher.init(Cipher.UNWRAP_MODE, privateKey, + new TlsRsaPremasterSecretParameterSpec( + maxVersion.v, currentVersion.v), + generator); + preMaster = (SecretKey)cipher.unwrap(encrypted, + "TlsRsaPremasterSecret", Cipher.SECRET_KEY); + } catch (InvalidKeyException ibk) { + // the message is too big to process with RSA throw new SSLProtocolException( "Unable to process PreMasterSecret, may be too big"); } catch (Exception e) { @@ -160,124 +132,6 @@ final class RSAClientKeyExchange extends HandshakeMessage { } throw new RuntimeException("Could not generate dummy secret", e); } - - // polish the premaster secret - preMaster = polishPreMasterSecretKey( - currentVersion, maxVersion, generator, encoded, failover); - } - - /** - * To avoid vulnerabilities described by section 7.4.7.1, RFC 5246, - * treating incorrectly formatted message blocks and/or mismatched - * version numbers in a manner indistinguishable from correctly - * formatted RSA blocks. - * - * RFC 5246 describes the approach as : - * - * 1. Generate a string R of 48 random bytes - * - * 2. Decrypt the message to recover the plaintext M - * - * 3. If the PKCS#1 padding is not correct, or the length of message - * M is not exactly 48 bytes: - * pre_master_secret = R - * else If ClientHello.client_version <= TLS 1.0, and version - * number check is explicitly disabled: - * premaster secret = M - * else If M[0..1] != ClientHello.client_version: - * premaster secret = R - * else: - * premaster secret = M - * - * Note that #2 has completed before the call of this method. - */ - private SecretKey polishPreMasterSecretKey(ProtocolVersion currentVersion, - ProtocolVersion clientHelloVersion, SecureRandom generator, - byte[] encoded, Exception failoverException) { - - this.protocolVersion = clientHelloVersion; - if (generator == null) { - generator = new SecureRandom(); - } - byte[] random = new byte[48]; - generator.nextBytes(random); - - if (failoverException == null && encoded != null) { - // check the length - if (encoded.length != 48) { - if (debug != null && Debug.isOn("handshake")) { - System.out.println( - "incorrect length of premaster secret: " + - encoded.length); - } - - return generatePreMasterSecret( - clientHelloVersion, random, generator); - } - - if (clientHelloVersion.major != encoded[0] || - clientHelloVersion.minor != encoded[1]) { - - if (clientHelloVersion.v <= ProtocolVersion.TLS10.v && - currentVersion.major == encoded[0] && - currentVersion.minor == encoded[1]) { - /* - * For compatibility, we maintain the behavior that the - * version in pre_master_secret can be the negotiated - * version for TLS v1.0 and SSL v3.0. - */ - this.protocolVersion = currentVersion; - } else { - if (debug != null && Debug.isOn("handshake")) { - System.out.println("Mismatching Protocol Versions, " + - "ClientHello.client_version is " + - clientHelloVersion + - ", while PreMasterSecret.client_version is " + - ProtocolVersion.valueOf(encoded[0], encoded[1])); - } - - encoded = random; - } - } - - return generatePreMasterSecret( - clientHelloVersion, encoded, generator); - } - - if (debug != null && Debug.isOn("handshake") && - failoverException != null) { - System.out.println("Error decrypting premaster secret:"); - failoverException.printStackTrace(System.out); - } - - return generatePreMasterSecret(clientHelloVersion, random, generator); - } - - // generate a premaster secret with the specified version number - private static SecretKey generatePreMasterSecret( - ProtocolVersion version, byte[] encodedSecret, - SecureRandom generator) { - - if (debug != null && Debug.isOn("handshake")) { - System.out.println("Generating a random fake premaster secret"); - } - - try { - String s = ((version.v >= ProtocolVersion.TLS12.v) ? - "SunTls12RsaPremasterSecret" : "SunTlsRsaPremasterSecret"); - KeyGenerator kg = JsseJce.getKeyGenerator(s); - kg.init(new TlsRsaPremasterSecretParameterSpec( - version.major, version.minor, encodedSecret), generator); - return kg.generateKey(); - } catch (InvalidAlgorithmParameterException | - NoSuchAlgorithmException iae) { - // unlikely to happen, otherwise, must be a provider exception - if (debug != null && Debug.isOn("handshake")) { - System.out.println("RSA premaster secret generation error:"); - iae.printStackTrace(System.out); - } - throw new RuntimeException("Could not generate dummy secret", iae); - } } @Override diff --git a/jdk/src/share/classes/sun/security/util/KeyUtil.java b/jdk/src/share/classes/sun/security/util/KeyUtil.java index cbaa8a5e23a..9c881b8031c 100644 --- a/jdk/src/share/classes/sun/security/util/KeyUtil.java +++ b/jdk/src/share/classes/sun/security/util/KeyUtil.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 @@ -32,6 +32,7 @@ import java.security.InvalidKeyException; import java.security.interfaces.ECKey; import java.security.interfaces.RSAKey; import java.security.interfaces.DSAKey; +import java.security.SecureRandom; import java.security.spec.KeySpec; import javax.crypto.SecretKey; import javax.crypto.interfaces.DHKey; @@ -156,6 +157,79 @@ public final class KeyUtil { providerName.startsWith("SunPKCS11")); } + /** + * Check the format of TLS PreMasterSecret. + * <P> + * To avoid vulnerabilities described by section 7.4.7.1, RFC 5246, + * treating incorrectly formatted message blocks and/or mismatched + * version numbers in a manner indistinguishable from correctly + * formatted RSA blocks. + * + * RFC 5246 describes the approach as : + * + * 1. Generate a string R of 48 random bytes + * + * 2. Decrypt the message to recover the plaintext M + * + * 3. If the PKCS#1 padding is not correct, or the length of message + * M is not exactly 48 bytes: + * pre_master_secret = R + * else If ClientHello.client_version <= TLS 1.0, and version + * number check is explicitly disabled: + * premaster secret = M + * else If M[0..1] != ClientHello.client_version: + * premaster secret = R + * else: + * premaster secret = M + * + * Note that #2 should have completed before the call to this method. + * + * @param clientVersion the version of the TLS protocol by which the + * client wishes to communicate during this session + * @param serverVersion the negotiated version of the TLS protocol which + * contains the lower of that suggested by the client in the client + * hello and the highest supported by the server. + * @param encoded the encoded key in its "RAW" encoding format + * @param isFailover whether or not the previous decryption of the + * encrypted PreMasterSecret message run into problem + * @return the polished PreMasterSecret key in its "RAW" encoding format + */ + public static byte[] checkTlsPreMasterSecretKey( + int clientVersion, int serverVersion, SecureRandom random, + byte[] encoded, boolean isFailOver) { + + if (random == null) { + random = new SecureRandom(); + } + byte[] replacer = new byte[48]; + random.nextBytes(replacer); + + if (!isFailOver && (encoded != null)) { + // check the length + if (encoded.length != 48) { + // private, don't need to clone the byte array. + return replacer; + } + + int encodedVersion = + ((encoded[0] & 0xFF) << 8) | (encoded[1] & 0xFF); + if (clientVersion != encodedVersion) { + if (clientVersion > 0x0301 || // 0x0301: TLSv1 + serverVersion != encodedVersion) { + encoded = replacer; + } // Otherwise, For compatibility, we maintain the behavior + // that the version in pre_master_secret can be the + // negotiated version for TLS v1.0 and SSL v3.0. + } + + // private, don't need to clone the byte array. + return encoded; + } + + // private, don't need to clone the byte array. + return replacer; + } + /** * Returns whether the Diffie-Hellman public key is valid or not. * 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/classes/sun/swing/SwingLazyValue.java b/jdk/src/share/classes/sun/swing/SwingLazyValue.java deleted file mode 100644 index 508e5b81121..00000000000 --- a/jdk/src/share/classes/sun/swing/SwingLazyValue.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * 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 - * 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.swing; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import javax.swing.UIDefaults; -import sun.reflect.misc.ReflectUtil; - -/** - * SwingLazyValue is a copy of ProxyLazyValue that does not snapshot the - * AccessControlContext or use a doPrivileged to resolve the class name. - * It's intented for use in places in Swing where we need ProxyLazyValue, this - * should never be used in a place where the developer could supply the - * arguments. - * - */ -public class SwingLazyValue implements UIDefaults.LazyValue { - private String className; - private String methodName; - private Object[] args; - - public SwingLazyValue(String c) { - this(c, (String)null); - } - public SwingLazyValue(String c, String m) { - this(c, m, null); - } - public SwingLazyValue(String c, Object[] o) { - this(c, null, o); - } - public SwingLazyValue(String c, String m, Object[] o) { - className = c; - methodName = m; - if (o != null) { - args = o.clone(); - } - } - - public Object createValue(final UIDefaults table) { - try { - ReflectUtil.checkPackageAccess(className); - Class<?> c = Class.forName(className, true, null); - if (methodName != null) { - Class<?>[] types = getClassArray(args); - Method m = c.getMethod(methodName, types); - return m.invoke(c, args); - } else { - Class<?>[] types = getClassArray(args); - Constructor<?> constructor = c.getConstructor(types); - return constructor.newInstance(args); - } - } catch (Exception e) { - // Ideally we would throw an exception, unfortunately - // often times there are errors as an initial look and - // feel is loaded before one can be switched. Perhaps a - // flag should be added for debugging, so that if true - // the exception would be thrown. - } - return null; - } - - private Class<?>[] getClassArray(Object[] args) { - Class<?>[] types = null; - if (args!=null) { - types = new Class<?>[args.length]; - for (int i = 0; i< args.length; i++) { - /* PENDING(ges): At present only the primitive types - used are handled correctly; this should eventually - handle all primitive types */ - if (args[i] instanceof java.lang.Integer) { - types[i]=Integer.TYPE; - } else if (args[i] instanceof java.lang.Boolean) { - types[i]=Boolean.TYPE; - } else if (args[i] instanceof javax.swing.plaf.ColorUIResource) { - /* PENDING(ges) Currently the Reflection APIs do not - search superclasses of parameters supplied for - constructor/method lookup. Since we only have - one case where this is needed, we substitute - directly instead of adding a massive amount - of mechanism for this. Eventually this will - probably need to handle the general case as well. - */ - types[i]=java.awt.Color.class; - } else { - types[i]=args[i].getClass(); - } - } - } - return types; - } -} diff --git a/jdk/src/share/classes/sun/tools/java/AmbiguousClass.java b/jdk/src/share/classes/sun/tools/java/AmbiguousClass.java index c58da0bb630..e8814d05284 100644 --- a/jdk/src/share/classes/sun/tools/java/AmbiguousClass.java +++ b/jdk/src/share/classes/sun/tools/java/AmbiguousClass.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 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,6 +34,7 @@ package sun.tools.java; * they are subject to change or removal without notice. */ +@SuppressWarnings("serial") // JDK implementation class public class AmbiguousClass extends ClassNotFound { /** diff --git a/jdk/src/share/classes/sun/tools/java/AmbiguousMember.java b/jdk/src/share/classes/sun/tools/java/AmbiguousMember.java index 8d8d3be4a5e..cad2bd6f9c5 100644 --- a/jdk/src/share/classes/sun/tools/java/AmbiguousMember.java +++ b/jdk/src/share/classes/sun/tools/java/AmbiguousMember.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 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 @@ -35,6 +35,7 @@ import java.util.Enumeration; * supported API. Code that depends on them does so at its own risk: * they are subject to change or removal without notice. */ +@SuppressWarnings("serial") // JDK implementation class public class AmbiguousMember extends Exception { /** diff --git a/jdk/src/share/classes/sun/tools/java/ClassNotFound.java b/jdk/src/share/classes/sun/tools/java/ClassNotFound.java index 2bdc2712d56..5d58bfbae13 100644 --- a/jdk/src/share/classes/sun/tools/java/ClassNotFound.java +++ b/jdk/src/share/classes/sun/tools/java/ClassNotFound.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 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 @@ -33,6 +33,7 @@ package sun.tools.java; * supported API. Code that depends on them does so at its own risk: * they are subject to change or removal without notice. */ +@SuppressWarnings("serial") // JDK implementation class public class ClassNotFound extends Exception { /** diff --git a/jdk/src/share/classes/sun/tools/java/CompilerError.java b/jdk/src/share/classes/sun/tools/java/CompilerError.java index d8ffc59afaa..1a25fbe6690 100644 --- a/jdk/src/share/classes/sun/tools/java/CompilerError.java +++ b/jdk/src/share/classes/sun/tools/java/CompilerError.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 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 @@ -32,7 +32,7 @@ package sun.tools.java; * supported API. Code that depends on them does so at its own risk: * they are subject to change or removal without notice. */ - +@SuppressWarnings("serial") // JDK implementation class public class CompilerError extends Error { Throwable e; diff --git a/jdk/src/share/classes/sun/tools/java/Environment.java b/jdk/src/share/classes/sun/tools/java/Environment.java index 51b09dcb736..76f9c01e9a7 100644 --- a/jdk/src/share/classes/sun/tools/java/Environment.java +++ b/jdk/src/share/classes/sun/tools/java/Environment.java @@ -648,6 +648,7 @@ public class Environment implements Constants { * Return true if an implicit cast from this type to * the given type is allowed. */ + @SuppressWarnings("fallthrough") public boolean implicitCast(Type from, Type to) throws ClassNotFound { if (from == to) return true; diff --git a/jdk/src/share/classes/sun/tools/java/Scanner.java b/jdk/src/share/classes/sun/tools/java/Scanner.java index 9152f48b24f..7dfa6ee37c8 100644 --- a/jdk/src/share/classes/sun/tools/java/Scanner.java +++ b/jdk/src/share/classes/sun/tools/java/Scanner.java @@ -511,6 +511,7 @@ class Scanner implements Constants { * Scan a number. The first digit of the number should be the current * character. We may be scanning hex, decimal, or octal at this point */ + @SuppressWarnings("fallthrough") private void scanNumber() throws IOException { boolean seenNonOctal = false; boolean overflow = false; @@ -532,6 +533,7 @@ class Scanner implements Constants { // We can't yet throw an error if reading an octal. We might // discover we're really reading a real. seenNonOctal = true; + // Fall through case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': seenDigit = true; @@ -668,6 +670,7 @@ class Scanner implements Constants { * Scan a float. Should be called with the current character is either * the 'e', 'E' or '.' */ + @SuppressWarnings("fallthrough") private void scanReal() throws IOException { boolean seenExponent = false; boolean isSingleFloat = false; @@ -984,6 +987,7 @@ class Scanner implements Constants { return xscan(); } + @SuppressWarnings("fallthrough") protected long xscan() throws IOException { final ScannerInputReader in = this.in; long retPos = pos; @@ -1006,6 +1010,7 @@ class Scanner implements Constants { token = COMMENT; return retPos; } + // Fall through case ' ': case '\t': case '\f': diff --git a/jdk/src/share/classes/sun/tools/java/SyntaxError.java b/jdk/src/share/classes/sun/tools/java/SyntaxError.java index deae9d68985..ab07100c430 100644 --- a/jdk/src/share/classes/sun/tools/java/SyntaxError.java +++ b/jdk/src/share/classes/sun/tools/java/SyntaxError.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 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 @@ -33,7 +33,7 @@ package sun.tools.java; * supported API. Code that depends on them does so at its own risk: * they are subject to change or removal without notice. */ - +@SuppressWarnings("serial") // JDK implementation class public class SyntaxError extends Exception { } diff --git a/jdk/src/share/classes/sun/tools/javac/Main.java b/jdk/src/share/classes/sun/tools/javac/Main.java index 2c50e3a3972..94308c5a0f3 100644 --- a/jdk/src/share/classes/sun/tools/javac/Main.java +++ b/jdk/src/share/classes/sun/tools/javac/Main.java @@ -192,6 +192,7 @@ class Main implements Constants { /** * Run the compiler */ + @SuppressWarnings("fallthrough") public synchronized boolean compile(String argv[]) { String sourcePathArg = null; String classPathArg = null; diff --git a/jdk/src/share/classes/sun/tools/jconsole/Tab.java b/jdk/src/share/classes/sun/tools/jconsole/Tab.java index 0ca2c7faae7..9af0c5e4f50 100644 --- a/jdk/src/share/classes/sun/tools/jconsole/Tab.java +++ b/jdk/src/share/classes/sun/tools/jconsole/Tab.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2012, 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 @@ -28,6 +28,7 @@ package sun.tools.jconsole; import java.awt.*; import javax.swing.*; +@SuppressWarnings("serial") // JDK implementation class public abstract class Tab extends JPanel { private String name; private Worker worker; diff --git a/jdk/src/share/classes/sun/tools/jconsole/inspector/XOperations.java b/jdk/src/share/classes/sun/tools/jconsole/inspector/XOperations.java index 855a76aa8db..c29be4b9f0e 100644 --- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XOperations.java +++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XOperations.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2012, 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 @@ -39,6 +39,7 @@ import sun.tools.jconsole.MBeansTab; import sun.tools.jconsole.JConsole; import sun.tools.jconsole.Messages; +@SuppressWarnings("serial") // JDK implementation class public abstract class XOperations extends JPanel implements ActionListener { public final static String OPERATION_INVOCATION_EVENT = diff --git a/jdk/src/share/classes/sun/tools/jconsole/inspector/XTable.java b/jdk/src/share/classes/sun/tools/jconsole/inspector/XTable.java index 4f9b24a9555..a18e84f3ca3 100644 --- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XTable.java +++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XTable.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2012, 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 @@ -33,6 +33,7 @@ import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableCellRenderer; +@SuppressWarnings("serial") // JDK implementation class public abstract class XTable extends JTable { static final int NAME_COLUMN = 0; static final int VALUE_COLUMN = 1; diff --git a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java index 0c1d6a1e677..f02eb27d2e2 100644 --- a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java +++ b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java @@ -41,6 +41,7 @@ import sun.tools.attach.HotSpotVirtualMachine; */ public class JInfo { + @SuppressWarnings("fallthrough") public static void main(String[] args) throws Exception { if (args.length == 0) { usage(1); // no arguments @@ -78,8 +79,16 @@ public class JInfo { } if (useSA) { + // SA only supports -flags or -sysprops + if (args[0].startsWith("-")) { + if (!(args[0].equals("-flags") || args[0].equals("-sysprops"))) { + usage(1); + } + } + // invoke SA which does it's own argument parsing runTool(args); + } else { // Now we can parse arguments for the non-SA case String pid = null; @@ -110,6 +119,7 @@ public class JInfo { case "-help": case "-h": usage(0); + // Fall through default: if (args.length == 1) { // no flags specified, we do -sysprops and -flags diff --git a/jdk/src/share/classes/sun/tools/jstat/Jstat.java b/jdk/src/share/classes/sun/tools/jstat/Jstat.java index c101db0f92c..ad1e069c9a8 100644 --- a/jdk/src/share/classes/sun/tools/jstat/Jstat.java +++ b/jdk/src/share/classes/sun/tools/jstat/Jstat.java @@ -70,16 +70,7 @@ public class Jstat { logSamples(); } } catch (MonitorException e) { - if (e.getMessage() != null) { - System.err.println(e.getMessage()); - } else { - Throwable cause = e.getCause(); - if ((cause != null) && (cause.getMessage() != null)) { - System.err.println(cause.getMessage()); - } else { - e.printStackTrace(); - } - } + e.printStackTrace(); System.exit(1); } System.exit(0); diff --git a/jdk/src/share/classes/sun/tools/jstat/ParserException.java b/jdk/src/share/classes/sun/tools/jstat/ParserException.java index d20c8783d71..3cbb99284f8 100644 --- a/jdk/src/share/classes/sun/tools/jstat/ParserException.java +++ b/jdk/src/share/classes/sun/tools/jstat/ParserException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 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 @@ -31,6 +31,7 @@ package sun.tools.jstat; * @author Brian Doherty * @since 1.5 */ +@SuppressWarnings("serial") // JDK implementation class public class ParserException extends Exception { public ParserException() { diff --git a/jdk/src/share/classes/sun/tools/jstat/SyntaxException.java b/jdk/src/share/classes/sun/tools/jstat/SyntaxException.java index 85d774e6b51..65a058c3931 100644 --- a/jdk/src/share/classes/sun/tools/jstat/SyntaxException.java +++ b/jdk/src/share/classes/sun/tools/jstat/SyntaxException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 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 @@ -36,6 +36,7 @@ import java.util.Iterator; * @author Brian Doherty * @since 1.5 */ +@SuppressWarnings("serial") // JDK implementation class public class SyntaxException extends ParserException { private String message; diff --git a/jdk/src/share/classes/sun/tools/tree/AssignOpExpression.java b/jdk/src/share/classes/sun/tools/tree/AssignOpExpression.java index fdde301667e..b3493bc7d9a 100644 --- a/jdk/src/share/classes/sun/tools/tree/AssignOpExpression.java +++ b/jdk/src/share/classes/sun/tools/tree/AssignOpExpression.java @@ -53,7 +53,7 @@ class AssignOpExpression extends BinaryAssignExpression { * Select the type * */ - + @SuppressWarnings("fallthrough") final void selectType(Environment env, Context ctx, int tm) { Type rtype = null; // special conversion type for RHS switch(op) { diff --git a/jdk/src/share/classes/sun/tools/tree/NewInstanceExpression.java b/jdk/src/share/classes/sun/tools/tree/NewInstanceExpression.java index cb018a0f51a..0347c41efbf 100644 --- a/jdk/src/share/classes/sun/tools/tree/NewInstanceExpression.java +++ b/jdk/src/share/classes/sun/tools/tree/NewInstanceExpression.java @@ -487,6 +487,7 @@ class NewInstanceExpression extends NaryExpression { public void codeValue(Environment env, Context ctx, Assembler asm) { codeCommon(env, ctx, asm, true); } + @SuppressWarnings("fallthrough") private void codeCommon(Environment env, Context ctx, Assembler asm, boolean forValue) { asm.add(where, opc_new, field.getClassDeclaration()); diff --git a/jdk/src/share/classes/sun/util/resources/TimeZoneNames.java b/jdk/src/share/classes/sun/util/resources/TimeZoneNames.java index 2aaa1e76dc4..298a233d850 100644 --- a/jdk/src/share/classes/sun/util/resources/TimeZoneNames.java +++ b/jdk/src/share/classes/sun/util/resources/TimeZoneNames.java @@ -570,6 +570,9 @@ public final class TimeZoneNames extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Syowa Time", "SYOT", "Syowa Summer Time", "SYOST", "Syowa Time", "SYOT"}}, + {"Antarctica/Troll", new String[] {"Coordinated Universal Time", "UTC", + "Central European Summer Time", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"Vostok Time", "VOST", "Vostok Summer Time", "VOSST", "Vostok Time", "VOST"}}, @@ -839,7 +842,7 @@ public final class TimeZoneNames extends TimeZoneNamesBundle { "Samara Time", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java b/jdk/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java index 4d25bce3586..ea7ab573a71 100644 --- a/jdk/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java +++ b/jdk/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_de extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Syowa Zeit", "SYOT", "Syowa Sommerzeit", "SYOST", "Syowa Zeit", "SYOT"}}, + {"Antarctica/Troll", new String[] {"Koordinierte Universalzeit", "UTC", + "Mitteleurop\u00e4ische Sommerzeit", "MESZ", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"Vostok Zeit", "VOST", "Vostok Sommerzeit", "VOSST", "Vostok Zeit", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_de extends TimeZoneNamesBundle { "Samarische Zeit", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java b/jdk/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java index 07d77325a47..c35c80963be 100644 --- a/jdk/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java +++ b/jdk/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_es extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Hora de Syowa", "SYOT", "Hora de verano de Syowa", "SYOST", "Hora de Syowa", "SYOT"}}, + {"Antarctica/Troll", new String[] {"Hora Universal Coordinada", "UTC", + "Hora de verano de Europa Central", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"Hora de Vostok", "VOST", "Hora de verano de Vostok", "VOSST", "Hora de Vostok", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_es extends TimeZoneNamesBundle { "Hora de Samara", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java b/jdk/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java index d15b9056057..393e45d4549 100644 --- a/jdk/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java +++ b/jdk/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_fr extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Heure de Syowa", "SYOT", "Heure d'\u00e9t\u00e9 de Syowa", "SYOST", "Heure de Syowa", "SYOT"}}, + {"Antarctica/Troll", new String[] {"Temps universel coordonn\u00e9", "UTC", + "Heure d'\u00e9t\u00e9 d'Europe centrale", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"Heure de Vostok", "VOST", "Heure d'\u00e9t\u00e9 de Vostok", "VOSST", "Heure de Vostok", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_fr extends TimeZoneNamesBundle { "Heure de Samara", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java b/jdk/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java index a07be9af4a6..309a7715c7d 100644 --- a/jdk/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java +++ b/jdk/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_it extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Ora di Syowa", "SYOT", "Ora estiva di Syowa", "SYOST", "Ora di Syowa", "SYOT"}}, + {"Antarctica/Troll", new String[] {"Tempo universale coordinato", "UTC", + "Ora estiva dell'Europa centrale", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"Ora di Vostok", "VOST", "Ora estiva di Vostok", "VOSST", "Ora di Vostok", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_it extends TimeZoneNamesBundle { "Ora di Samara", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java b/jdk/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java index 5a0f5e7012a..23bbcd6c8e0 100644 --- a/jdk/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java +++ b/jdk/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_ja extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"\u662d\u548c\u57fa\u5730\u6642\u9593", "SYOT", "\u662d\u548c\u57fa\u5730\u590f\u6642\u9593", "SYOST", "\u662D\u548C\u57FA\u5730\u6642\u9593", "SYOT"}}, + {"Antarctica/Troll", new String[] {"\u5354\u5b9a\u4e16\u754c\u6642", "UTC", + "\u4e2d\u90e8\u30e8\u30fc\u30ed\u30c3\u30d1\u590f\u6642\u9593", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"\u30dc\u30b9\u30c8\u30fc\u30af\u57fa\u5730\u6642\u9593", "VOST", "\u30dc\u30b9\u30c8\u30fc\u30af\u57fa\u5730\u590f\u6642\u9593", "VOSST", "\u30DC\u30B9\u30C8\u30FC\u30AF\u6642\u9593", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_ja extends TimeZoneNamesBundle { "\u30B5\u30DE\u30E9\u6642\u9593", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java b/jdk/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java index 4d9f395fd55..d1e106e2cd8 100644 --- a/jdk/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java +++ b/jdk/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_ko extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Syowa \uc2dc\uac04", "SYOT", "Syowa \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "SYOST", "\uC1FC\uC640 \uD45C\uC900\uC2DC", "SYOT"}}, + {"Antarctica/Troll", new String[] {"\uc138\uacc4 \ud45c\uc900\uc2dc", "UTC", + "\uc911\uc559 \uc720\ub7fd \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"Vostok \uc2dc\uac04", "VOST", "Vostok \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "VOSST", "\uBCF4\uC2A4\uD1A1 \uD45C\uC900\uC2DC", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_ko extends TimeZoneNamesBundle { "\uC0AC\uB9C8\uB77C \uD45C\uC900\uC2DC", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java b/jdk/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java index 07b13ae48ec..21852adbb67 100644 --- a/jdk/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java +++ b/jdk/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_pt_BR extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Fuso hor\u00e1rio de Syowa", "SYOT", "Fuso hor\u00e1rio de ver\u00e3o de Syowa", "SYOST", "Hor\u00E1rio de Syowa", "SYOT"}}, + {"Antarctica/Troll", new String[] {"Tempo universal coordenado", "UTC", + "Fuso hor\u00e1rio de ver\u00e3o da Europa Central", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"Fuso hor\u00e1rio de Vostok", "VOST", "Fuso hor\u00e1rio de ver\u00e3o de Vostok", "VOSST", "Hor\u00E1rio de Vostok", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_pt_BR extends TimeZoneNamesBundle { "Hor\u00E1rio de Samara", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java b/jdk/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java index 5dfb716c627..dd509e15142 100644 --- a/jdk/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java +++ b/jdk/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_sv extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Syowa, normaltid", "SYOT", "Syowa, sommartid", "SYOST", "Syowa-tid", "SYOT"}}, + {"Antarctica/Troll", new String[] {"Koordinerad universell tid", "UTC", + "Centraleuropeisk sommartid", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"Vostok, normaltid", "VOST", "Vostok, sommartid", "VOSST", "Vostok-tid", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_sv extends TimeZoneNamesBundle { "Samara-tid", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java index 62a946ba437..e4fca385baa 100644 --- a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java +++ b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_zh_CN extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"Syowa \u65f6\u95f4", "SYOT", "Syowa \u590f\u4ee4\u65f6", "SYOST", "Syowa \u65F6\u95F4", "SYOT"}}, + {"Antarctica/Troll", new String[] {"\u534f\u8c03\u4e16\u754c\u65f6\u95f4", "UTC", + "\u4e2d\u6b27\u590f\u4ee4\u65f6", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"\u83ab\u65af\u6258\u514b\u65f6\u95f4", "VOST", "\u83ab\u65af\u6258\u514b\u590f\u4ee4\u65f6", "VOSST", "\u83AB\u65AF\u6258\u514B\u65F6\u95F4", "VOST"}}, @@ -838,7 +841,7 @@ public final class TimeZoneNames_zh_CN extends TimeZoneNamesBundle { "\u6C99\u9A6C\u62C9\u65F6\u95F4", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java index f91da7afb3d..20cfa231737 100644 --- a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java +++ b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java @@ -570,6 +570,9 @@ public final class TimeZoneNames_zh_TW extends TimeZoneNamesBundle { {"Antarctica/Syowa", new String[] {"\u5915\u6b50\u74e6 (Syowa) \u6642\u9593", "SYOT", "\u5915\u6b50\u74e6 (Syowa) \u590f\u4ee4\u6642\u9593", "SYOST", "\u5915\u6B50\u74E6 (Syowa) \u6642\u9593", "SYOT"}}, + {"Antarctica/Troll", new String[] {"\u5354\u8abf\u4e16\u754c\u6642\u9593", "UTC", + "\u4e2d\u6b50\u590f\u4ee4\u6642\u9593", "CEST", + "Troll Time", "ATT"}}, {"Antarctica/Vostok", new String[] {"\u4f5b\u65af\u6258 (Vostok) \u6642\u9593", "VOST", "\u4f5b\u65af\u6258 (Vostok) \u590f\u4ee4\u6642\u9593", "VOSST", "\u4F5B\u65AF\u6258 (Vostok) \u6642\u9593", "VOST"}}, @@ -840,7 +843,7 @@ public final class TimeZoneNames_zh_TW extends TimeZoneNamesBundle { "\u6C99\u99AC\u62C9\u6642\u9593", "SAMT"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff --git a/jdk/src/share/instrument/InvocationAdapter.c b/jdk/src/share/instrument/InvocationAdapter.c index f3639533dd6..3626647060c 100644 --- a/jdk/src/share/instrument/InvocationAdapter.c +++ b/jdk/src/share/instrument/InvocationAdapter.c @@ -359,7 +359,7 @@ Agent_OnAttach(JavaVM* vm, char *args, void * reserved) { * class name. The manifest is in UTF8 so need to convert to * modified UTF8 (see JNI spec). */ - oldLen = strlen(agentClass); + oldLen = (int)strlen(agentClass); newLen = modifiedUtf8LengthOfUtf8(agentClass, oldLen); if (newLen == oldLen) { agentClass = strdup(agentClass); diff --git a/jdk/src/share/instrument/PathCharsValidator.c b/jdk/src/share/instrument/PathCharsValidator.c index e85ee802746..d1ebc2b1638 100644 --- a/jdk/src/share/instrument/PathCharsValidator.c +++ b/jdk/src/share/instrument/PathCharsValidator.c @@ -46,9 +46,9 @@ static jlong H_PATH; /* Compute the low-order mask for the characters in the given string */ static jlong lowMask(char* s) { - int n = strlen(s); + size_t n = strlen(s); jlong m = 0; - int i; + size_t i; for (i = 0; i < n; i++) { int c = (int)s[i]; if (c < 64) @@ -59,9 +59,9 @@ static jlong lowMask(char* s) { /* Compute the high-order mask for the characters in the given string */ static jlong highMask(char* s) { - int n = strlen(s); + size_t n = strlen(s); jlong m = 0; - int i; + size_t i; for (i = 0; i < n; i++) { int c = (int)s[i]; if ((c >= 64) && (c < 128)) @@ -168,7 +168,7 @@ static void initialize() { * illegal characters. Returns 0 if only validate characters are present. */ int validatePathChars(const char* path) { - int i, n; + size_t i, n; /* initialize on first usage */ if (L_HEX == 0) { diff --git a/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c b/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c index dd2a8e7bc36..c7ebaf33871 100644 --- a/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c +++ b/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2012, 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 @@ -32,6 +32,7 @@ #include <jni.h> +#include <jni_util.h> // for malloc #ifdef _ALLBSD_SOURCE #include <stdlib.h> @@ -603,6 +604,7 @@ JNIEXPORT jint JNICALL Java_com_sun_media_sound_DirectAudioDevice_nWrite if (len == 0) return 0; if (info && info->handle) { data = (UINT8*) ((*env)->GetByteArrayElements(env, jData, &didCopy)); + CHECK_NULL_RETURN(data, ret); dataOffset = data; dataOffset += (int) offset; convertedData = dataOffset; @@ -671,6 +673,7 @@ JNIEXPORT jint JNICALL Java_com_sun_media_sound_DirectAudioDevice_nRead } if (info && info->handle) { data = (char*) ((*env)->GetByteArrayElements(env, jData, NULL)); + CHECK_NULL_RETURN(data, ret); dataOffset = data; dataOffset += (int) offset; ret = DAUDIO_Read(info->handle, dataOffset, (int) len); diff --git a/jdk/src/share/native/com/sun/media/sound/DirectAudioDeviceProvider.c b/jdk/src/share/native/com/sun/media/sound/DirectAudioDeviceProvider.c index c1a18be0335..39238a8401d 100644 --- a/jdk/src/share/native/com/sun/media/sound/DirectAudioDeviceProvider.c +++ b/jdk/src/share/native/com/sun/media/sound/DirectAudioDeviceProvider.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2007, 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,6 +28,7 @@ #include <jni.h> +#include <jni_util.h> #include "SoundDefs.h" #include "DirectAudio.h" #include "Utilities.h" @@ -70,6 +71,11 @@ JNIEXPORT jobject JNICALL Java_com_sun_media_sound_DirectAudioDeviceProvider_nNe jmethodID directAudioDeviceInfoConstructor; DirectAudioDeviceDescription desc; jobject info = NULL; + jstring name; + jstring vendor; + jstring description; + jstring version; + TRACE1("Java_com_sun_media_sound_DirectAudioDeviceProvider_nNewDirectAudioDeviceInfo(%d).\n", mixerIndex); // retrieve class and constructor of DirectAudioDeviceProvider.DirectAudioDeviceInfo @@ -89,14 +95,18 @@ JNIEXPORT jobject JNICALL Java_com_sun_media_sound_DirectAudioDeviceProvider_nNe if (getDirectAudioDeviceDescription(mixerIndex, &desc)) { // create a new DirectAudioDeviceInfo object and return it - info = (*env)->NewObject(env, directAudioDeviceInfoClass, directAudioDeviceInfoConstructor, - mixerIndex, - desc.deviceID, - desc.maxSimulLines, - (*env)->NewStringUTF(env, desc.name), - (*env)->NewStringUTF(env, desc.vendor), - (*env)->NewStringUTF(env, desc.description), - (*env)->NewStringUTF(env, desc.version)); + name = (*env)->NewStringUTF(env, desc.name); + CHECK_NULL_RETURN(name, info); + vendor = (*env)->NewStringUTF(env, desc.vendor); + CHECK_NULL_RETURN(vendor, info); + description = (*env)->NewStringUTF(env, desc.description); + CHECK_NULL_RETURN(description, info); + version = (*env)->NewStringUTF(env, desc.version); + CHECK_NULL_RETURN(version, info); + info = (*env)->NewObject(env, directAudioDeviceInfoClass, + directAudioDeviceInfoConstructor, mixerIndex, + desc.deviceID, desc.maxSimulLines, + name, vendor, description, version); } else { ERROR1("ERROR: getDirectAudioDeviceDescription(%d, desc) returned FALSE!\n", mixerIndex); } diff --git a/jdk/src/share/native/com/sun/media/sound/PortMixer.c b/jdk/src/share/native/com/sun/media/sound/PortMixer.c index bc529449a53..8213598c0af 100644 --- a/jdk/src/share/native/com/sun/media/sound/PortMixer.c +++ b/jdk/src/share/native/com/sun/media/sound/PortMixer.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2007, 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,6 +28,7 @@ #include <jni.h> +#include <jni_util.h> #include "SoundDefs.h" #include "Ports.h" #include "Utilities.h" @@ -170,6 +171,7 @@ typedef struct tag_ControlCreatorJNI { void* PORT_NewBooleanControl(void* creatorV, void* controlID, char* type) { ControlCreatorJNI* creator = (ControlCreatorJNI*) creatorV; jobject ctrl = NULL; + jstring typeString; #ifdef USE_TRACE if (((UINT_PTR) type) <= CONTROL_TYPE_MAX) { @@ -199,8 +201,11 @@ void* PORT_NewBooleanControl(void* creatorV, void* controlID, char* type) { type = "Select"; } - ctrl = (*creator->env)->NewObject(creator->env, creator->boolCtrlClass, creator->boolCtrlConstructor, - (jlong) (UINT_PTR) controlID, (*creator->env)->NewStringUTF(creator->env, type)); + typeString = (*creator->env)->NewStringUTF(creator->env, type); + CHECK_NULL_RETURN(typeString, (void*) ctrl); + ctrl = (*creator->env)->NewObject(creator->env, creator->boolCtrlClass, + creator->boolCtrlConstructor, + (jlong) (UINT_PTR) controlID, typeString); if (!ctrl) { ERROR0("PORT_NewBooleanControl: ctrl is NULL\n"); } @@ -216,6 +221,7 @@ void* PORT_NewCompoundControl(void* creatorV, char* type, void** controls, int c jobject ctrl = NULL; jobjectArray controlArray; int i; + jstring typeString; TRACE2("PORT_NewCompoundControl: creating '%s' with %d controls\n", type, controlCount); if (!creator->compCtrlClass) { @@ -250,8 +256,11 @@ void* PORT_NewCompoundControl(void* creatorV, char* type, void** controls, int c (*creator->env)->SetObjectArrayElement(creator->env, controlArray, i, (jobject) controls[i]); } TRACE0("PORT_NewCompoundControl: creating compound control\n"); - ctrl = (*creator->env)->NewObject(creator->env, creator->compCtrlClass, creator->compCtrlConstructor, - (*creator->env)->NewStringUTF(creator->env, type), controlArray); + typeString = (*creator->env)->NewStringUTF(creator->env, type); + CHECK_NULL_RETURN(typeString, (void*) ctrl); + ctrl = (*creator->env)->NewObject(creator->env, creator->compCtrlClass, + creator->compCtrlConstructor, + typeString, controlArray); if (!ctrl) { ERROR0("PORT_NewCompoundControl: ctrl is NULL\n"); } @@ -266,6 +275,8 @@ void* PORT_NewFloatControl(void* creatorV, void* controlID, char* type, float min, float max, float precision, char* units) { ControlCreatorJNI* creator = (ControlCreatorJNI*) creatorV; jobject ctrl = NULL; + jstring unitsString; + jstring typeString; #ifdef USE_TRACE if (((UINT_PTR) type) <= CONTROL_TYPE_MAX) { @@ -294,18 +305,24 @@ void* PORT_NewFloatControl(void* creatorV, void* controlID, char* type, return NULL; } } + unitsString = (*creator->env)->NewStringUTF(creator->env, units); + CHECK_NULL_RETURN(unitsString, (void*) ctrl); if (((UINT_PTR) type) <= CONTROL_TYPE_MAX) { // constructor with int parameter TRACE1("PORT_NewFloatControl: calling constructor2 with type %d\n", (int) (UINT_PTR) type); - ctrl = (*creator->env)->NewObject(creator->env, creator->floatCtrlClass, creator->floatCtrlConstructor2, - (jlong) (UINT_PTR) controlID, (jint) (UINT_PTR) type, - min, max, precision, (*creator->env)->NewStringUTF(creator->env, units)); + ctrl = (*creator->env)->NewObject(creator->env, creator->floatCtrlClass, + creator->floatCtrlConstructor2, + (jlong) (UINT_PTR) controlID, (jint) (UINT_PTR) type, + min, max, precision, unitsString); } else { TRACE0("PORT_NewFloatControl: calling constructor1\n"); // constructor with string parameter - ctrl = (*creator->env)->NewObject(creator->env, creator->floatCtrlClass, creator->floatCtrlConstructor1, - (jlong) (UINT_PTR) controlID, (*creator->env)->NewStringUTF(creator->env, type), - min, max, precision, (*creator->env)->NewStringUTF(creator->env, units)); + typeString = (*creator->env)->NewStringUTF(creator->env, type); + CHECK_NULL_RETURN(typeString, (void*) ctrl); + ctrl = (*creator->env)->NewObject(creator->env, creator->floatCtrlClass, + creator->floatCtrlConstructor1, + (jlong) (UINT_PTR) controlID, typeString, + min, max, precision, unitsString); } if (!ctrl) { ERROR0("PORT_NewFloatControl: ctrl is NULL!\n"); diff --git a/jdk/src/share/native/com/sun/media/sound/PortMixerProvider.c b/jdk/src/share/native/com/sun/media/sound/PortMixerProvider.c index 9e94bff7342..ecab09f8e4a 100644 --- a/jdk/src/share/native/com/sun/media/sound/PortMixerProvider.c +++ b/jdk/src/share/native/com/sun/media/sound/PortMixerProvider.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2007, 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 @@ -27,6 +27,7 @@ #include <jni.h> +#include <jni_util.h> #include "SoundDefs.h" #include "Ports.h" #include "Utilities.h" @@ -65,6 +66,11 @@ JNIEXPORT jobject JNICALL Java_com_sun_media_sound_PortMixerProvider_nNewPortMix jmethodID portMixerInfoConstructor; PortMixerDescription desc; jobject info = NULL; + jstring name; + jstring vendor; + jstring description; + jstring version; + TRACE1("Java_com_sun_media_sound_PortMixerProvider_nNewPortMixerInfo(%d).\n", mixerIndex); // retrieve class and constructor of PortMixerProvider.PortMixerInfo @@ -82,11 +88,17 @@ JNIEXPORT jobject JNICALL Java_com_sun_media_sound_PortMixerProvider_nNewPortMix if (getPortMixerDescription(mixerIndex, &desc)) { // create a new PortMixerInfo object and return it - info = (*env)->NewObject(env, portMixerInfoClass, portMixerInfoConstructor, mixerIndex, - (*env)->NewStringUTF(env, desc.name), - (*env)->NewStringUTF(env, desc.vendor), - (*env)->NewStringUTF(env, desc.description), - (*env)->NewStringUTF(env, desc.version)); + name = (*env)->NewStringUTF(env, desc.name); + CHECK_NULL_RETURN(name, info); + vendor = (*env)->NewStringUTF(env, desc.vendor); + CHECK_NULL_RETURN(vendor, info); + description = (*env)->NewStringUTF(env, desc.description); + CHECK_NULL_RETURN(description, info); + version = (*env)->NewStringUTF(env, desc.version); + CHECK_NULL_RETURN(version, info); + info = (*env)->NewObject(env, portMixerInfoClass, + portMixerInfoConstructor, mixerIndex, + name, vendor, description, version); } TRACE0("Java_com_sun_media_sound_PortMixerProvider_nNewPortMixerInfo succeeded.\n"); diff --git a/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c b/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c index 42756c9f0b7..6dc99aba256 100644 --- a/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c +++ b/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2012, 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 @@ -69,17 +69,14 @@ Java_sun_awt_image_BufImgSurfaceData_initIDs } clsICMCD = (*env)->NewWeakGlobalRef(env, cd); - initICMCDmID = (*env)->GetMethodID(env, cd, "<init>", "(J)V"); - pDataID = (*env)->GetFieldID(env, cd, "pData", "J"); - - rgbID = (*env)->GetFieldID(env, icm, "rgb", "[I"); - allGrayID = (*env)->GetFieldID(env, icm, "allgrayopaque", "Z"); - mapSizeID = (*env)->GetFieldID(env, icm, "map_size", "I"); - colorDataID = (*env)->GetFieldID(env, icm, "colorData", - "Lsun/awt/image/BufImgSurfaceData$ICMColorData;"); - if (allGrayID == 0 || rgbID == 0 || mapSizeID == 0 || pDataID == 0|| colorDataID == 0 || initICMCDmID == 0) { - JNU_ThrowInternalError(env, "Could not get field IDs"); - } + JNU_CHECK_EXCEPTION(env); + CHECK_NULL(initICMCDmID = (*env)->GetMethodID(env, cd, "<init>", "(J)V")); + CHECK_NULL(pDataID = (*env)->GetFieldID(env, cd, "pData", "J")); + CHECK_NULL(rgbID = (*env)->GetFieldID(env, icm, "rgb", "[I")); + CHECK_NULL(allGrayID = (*env)->GetFieldID(env, icm, "allgrayopaque", "Z")); + CHECK_NULL(mapSizeID = (*env)->GetFieldID(env, icm, "map_size", "I")); + CHECK_NULL(colorDataID = (*env)->GetFieldID(env, icm, "colorData", + "Lsun/awt/image/BufImgSurfaceData$ICMColorData;")); } /* @@ -120,6 +117,7 @@ Java_sun_awt_image_BufImgSurfaceData_initRaster(JNIEnv *env, jobject bisd, bisdo->sdOps.Unlock = NULL; bisdo->sdOps.Dispose = BufImg_Dispose; bisdo->array = (*env)->NewWeakGlobalRef(env, array); + JNU_CHECK_EXCEPTION(env); bisdo->offset = offset; bisdo->bitoffset = bitoffset; bisdo->scanStr = scanStr; @@ -131,6 +129,7 @@ Java_sun_awt_image_BufImgSurfaceData_initRaster(JNIEnv *env, jobject bisd, } else { jobject lutarray = (*env)->GetObjectField(env, icm, rgbID); bisdo->lutarray = (*env)->NewWeakGlobalRef(env, lutarray); + JNU_CHECK_EXCEPTION(env); bisdo->lutsize = (*env)->GetIntField(env, icm, mapSizeID); bisdo->icm = (*env)->NewWeakGlobalRef(env, icm); } @@ -174,8 +173,8 @@ static jint BufImg_Lock(JNIEnv *env, { bipriv->cData = BufImg_SetupICM(env, bisdo); if (bipriv->cData == NULL) { - JNU_ThrowNullPointerException(env, "Could not initialize " - "inverse tables"); + (*env)->ExceptionClear(env); + JNU_ThrowNullPointerException(env, "Could not initialize inverse tables"); return SD_FAILURE; } } else { @@ -201,6 +200,7 @@ static void BufImg_GetRasInfo(JNIEnv *env, if ((bipriv->lockFlags & (SD_LOCK_RD_WR)) != 0) { bipriv->base = (*env)->GetPrimitiveArrayCritical(env, bisdo->array, NULL); + CHECK_NULL(bipriv->base); } if ((bipriv->lockFlags & (SD_LOCK_LUT)) != 0) { bipriv->lutbase = @@ -291,6 +291,7 @@ static ColorData *BufImg_SetupICM(JNIEnv *env, = (*env)->GetBooleanField(env, bisdo->icm, allGrayID); int *pRgb = (int *) ((*env)->GetPrimitiveArrayCritical(env, bisdo->lutarray, NULL)); + CHECK_NULL_RETURN(pRgb, (ColorData*)NULL); cData->img_clr_tbl = initCubemap(pRgb, bisdo->lutsize, 32); if (allGray == JNI_TRUE) { initInverseGrayLut(pRgb, bisdo->lutsize, cData); @@ -303,6 +304,7 @@ static ColorData *BufImg_SetupICM(JNIEnv *env, if (JNU_IsNull(env, colorData)) { jlong pData = ptr_to_jlong(cData); colorData = (*env)->NewObjectA(env, clsICMCD, initICMCDmID, (jvalue *)&pData); + JNU_CHECK_EXCEPTION_RETURN(env, (ColorData*)NULL); (*env)->SetObjectField(env, bisdo->icm, colorDataID, colorData); } } diff --git a/jdk/src/share/native/sun/awt/image/DataBufferNative.c b/jdk/src/share/native/sun/awt/image/DataBufferNative.c index 2d661a49ded..5ced47fd0f8 100644 --- a/jdk/src/share/native/sun/awt/image/DataBufferNative.c +++ b/jdk/src/share/native/sun/awt/image/DataBufferNative.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2012, 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 @@ -74,6 +74,7 @@ Java_sun_awt_image_DataBufferNative_getElem(JNIEnv *env, jobject dbn, SurfaceDataOps *ops; ops = SurfaceData_GetOps(env, sd); + JNU_CHECK_EXCEPTION_RETURN(env, -1); if (!(pixelPtr = DBN_GetPixelPointer(env, x, y, &lockInfo, ops, SD_LOCK_READ))) @@ -115,6 +116,7 @@ Java_sun_awt_image_DataBufferNative_setElem(JNIEnv *env, jobject dbn, ops = SurfaceData_GetOps(env, sd); + JNU_CHECK_EXCEPTION(env); if (!(pixelPtr = DBN_GetPixelPointer(env, x, y, &lockInfo, ops, SD_LOCK_WRITE))) diff --git a/jdk/src/share/native/sun/awt/image/awt_ImageRep.c b/jdk/src/share/native/sun/awt/image/awt_ImageRep.c index 8552e3149f0..d1f702a2408 100644 --- a/jdk/src/share/native/sun/awt/image/awt_ImageRep.c +++ b/jdk/src/share/native/sun/awt/image/awt_ImageRep.c @@ -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 @@ -97,9 +97,9 @@ static jfieldID s_JsrcLUTtransIndexID; JNIEXPORT void JNICALL Java_sun_awt_image_ImageRepresentation_initIDs(JNIEnv *env, jclass cls) { - s_JnumSrcLUTID = (*env)->GetFieldID(env, cls, "numSrcLUT", "I"); - s_JsrcLUTtransIndexID = (*env)->GetFieldID(env, cls, "srcLUTtransIndex", - "I"); + CHECK_NULL(s_JnumSrcLUTID = (*env)->GetFieldID(env, cls, "numSrcLUT", "I")); + CHECK_NULL(s_JsrcLUTtransIndexID = (*env)->GetFieldID(env, cls, + "srcLUTtransIndex", "I")); } /* @@ -166,6 +166,7 @@ Java_sun_awt_image_ImageRepresentation_setICMpixels(JNIEnv *env, jclass cls, cOffs = (int *) (*env)->GetPrimitiveArrayCritical(env, joffs, NULL); if (cOffs == NULL) { + (*env)->ExceptionClear(env); JNU_ThrowNullPointerException(env, "Null channel offset array"); return JNI_FALSE; } @@ -190,6 +191,7 @@ Java_sun_awt_image_ImageRepresentation_setICMpixels(JNIEnv *env, jclass cls, srcLUT = (int *) (*env)->GetPrimitiveArrayCritical(env, jlut, NULL); if (srcLUT == NULL) { + (*env)->ExceptionClear(env); JNU_ThrowNullPointerException(env, "Null IndexColorModel LUT"); return JNI_FALSE; } @@ -198,6 +200,7 @@ Java_sun_awt_image_ImageRepresentation_setICMpixels(JNIEnv *env, jclass cls, NULL); if (srcData == NULL) { (*env)->ReleasePrimitiveArrayCritical(env, jlut, srcLUT, JNI_ABORT); + (*env)->ExceptionClear(env); JNU_ThrowNullPointerException(env, "Null data array"); return JNI_FALSE; } @@ -206,6 +209,7 @@ Java_sun_awt_image_ImageRepresentation_setICMpixels(JNIEnv *env, jclass cls, if (dstData == NULL) { (*env)->ReleasePrimitiveArrayCritical(env, jlut, srcLUT, JNI_ABORT); (*env)->ReleasePrimitiveArrayCritical(env, jpix, srcData, JNI_ABORT); + (*env)->ExceptionClear(env); JNU_ThrowNullPointerException(env, "Null tile data array"); return JNI_FALSE; } diff --git a/jdk/src/share/native/sun/awt/image/awt_parseImage.c b/jdk/src/share/native/sun/awt/image/awt_parseImage.c index b77db60686b..9cb03bee4a4 100644 --- a/jdk/src/share/native/sun/awt/image/awt_parseImage.c +++ b/jdk/src/share/native/sun/awt/image/awt_parseImage.c @@ -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 @@ -182,6 +182,11 @@ static int checkChannelOffsets(RasterS_t *rasterP, int dataArrayLength) { int awt_parseRaster(JNIEnv *env, jobject jraster, RasterS_t *rasterP) { jobject joffs = NULL; /* int status;*/ + jclass singlePixelPackedSampleModelClass = NULL; + jclass integerComponentRasterClass = NULL; + jclass byteComponentRasterClass = NULL; + jclass shortComponentRasterClass = NULL; + jclass bytePackedRasterClass = NULL; if (JNU_IsNull(env, jraster)) { JNU_ThrowNullPointerException(env, "null Raster object"); @@ -226,8 +231,11 @@ int awt_parseRaster(JNIEnv *env, jobject jraster, RasterS_t *rasterP) { rasterP->sppsm.isUsed = 0; + singlePixelPackedSampleModelClass = (*env)->FindClass(env, + "java/awt/image/SinglePixelPackedSampleModel"); + CHECK_NULL_RETURN(singlePixelPackedSampleModelClass, -1); if ((*env)->IsInstanceOf(env, rasterP->jsampleModel, - (*env)->FindClass(env,"java/awt/image/SinglePixelPackedSampleModel"))) { + singlePixelPackedSampleModelClass)) { jobject jmask, joffs, jnbits; rasterP->sppsm.isUsed = 1; @@ -261,8 +269,15 @@ int awt_parseRaster(JNIEnv *env, jobject jraster, RasterS_t *rasterP) { rasterP->jsampleModel, g_SMHeightID); - if ((*env)->IsInstanceOf(env, jraster, - (*env)->FindClass(env, "sun/awt/image/IntegerComponentRaster"))){ + integerComponentRasterClass = (*env)->FindClass(env, "sun/awt/image/IntegerComponentRaster"); + CHECK_NULL_RETURN(integerComponentRasterClass, -1); + byteComponentRasterClass = (*env)->FindClass(env, "sun/awt/image/ByteComponentRaster"); + CHECK_NULL_RETURN(byteComponentRasterClass, -1); + shortComponentRasterClass = (*env)->FindClass(env,"sun/awt/image/ShortComponentRaster"); + CHECK_NULL_RETURN(shortComponentRasterClass, -1); + bytePackedRasterClass = (*env)->FindClass(env, "sun/awt/image/BytePackedRaster"); + CHECK_NULL_RETURN(bytePackedRasterClass, -1); + if ((*env)->IsInstanceOf(env, jraster, integerComponentRasterClass)){ rasterP->jdata = (*env)->GetObjectField(env, jraster, g_ICRdataID); rasterP->dataType = INT_DATA_TYPE; rasterP->dataSize = 4; @@ -273,8 +288,7 @@ int awt_parseRaster(JNIEnv *env, jobject jraster, RasterS_t *rasterP) { rasterP->pixelStride = (*env)->GetIntField(env, jraster, g_ICRpixstrID); joffs = (*env)->GetObjectField(env, jraster, g_ICRdataOffsetsID); } - else if ((*env)->IsInstanceOf(env, jraster, - (*env)->FindClass(env, "sun/awt/image/ByteComponentRaster"))){ + else if ((*env)->IsInstanceOf(env, jraster, byteComponentRasterClass)){ rasterP->jdata = (*env)->GetObjectField(env, jraster, g_BCRdataID); rasterP->dataType = BYTE_DATA_TYPE; rasterP->dataSize = 1; @@ -285,8 +299,7 @@ int awt_parseRaster(JNIEnv *env, jobject jraster, RasterS_t *rasterP) { rasterP->pixelStride = (*env)->GetIntField(env, jraster, g_BCRpixstrID); joffs = (*env)->GetObjectField(env, jraster, g_BCRdataOffsetsID); } - else if ((*env)->IsInstanceOf(env, jraster, - (*env)->FindClass(env, "sun/awt/image/ShortComponentRaster"))){ + else if ((*env)->IsInstanceOf(env, jraster, shortComponentRasterClass)){ rasterP->jdata = (*env)->GetObjectField(env, jraster, g_SCRdataID); rasterP->dataType = SHORT_DATA_TYPE; rasterP->dataSize = 2; @@ -297,8 +310,7 @@ int awt_parseRaster(JNIEnv *env, jobject jraster, RasterS_t *rasterP) { rasterP->pixelStride = (*env)->GetIntField(env, jraster, g_SCRpixstrID); joffs = (*env)->GetObjectField(env, jraster, g_SCRdataOffsetsID); } - else if ((*env)->IsInstanceOf(env, jraster, - (*env)->FindClass(env, "sun/awt/image/BytePackedRaster"))){ + else if ((*env)->IsInstanceOf(env, jraster, bytePackedRasterClass)){ rasterP->rasterType = PACKED_RASTER_TYPE; rasterP->dataType = BYTE_DATA_TYPE; rasterP->dataSize = 1; @@ -397,30 +409,41 @@ int awt_parseRaster(JNIEnv *env, jobject jraster, RasterS_t *rasterP) { } static int getColorModelType(JNIEnv *env, jobject jcmodel) { - int type = UNKNOWN_CM_TYPE; + jclass colorModelClass; - if ((*env)->IsInstanceOf(env, jcmodel, - (*env)->FindClass(env, "java/awt/image/IndexColorModel"))) + colorModelClass = (*env)->FindClass(env, + "java/awt/image/IndexColorModel"); + CHECK_NULL_RETURN(colorModelClass, UNKNOWN_CM_TYPE); + + if ((*env)->IsInstanceOf(env, jcmodel, colorModelClass)) { - type = INDEX_CM_TYPE; - } else if ((*env)->IsInstanceOf(env, jcmodel, - (*env)->FindClass(env, "java/awt/image/PackedColorModel"))) + return INDEX_CM_TYPE; + } + + colorModelClass = (*env)->FindClass(env, + "java/awt/image/PackedColorModel"); + CHECK_NULL_RETURN(colorModelClass, UNKNOWN_CM_TYPE); + if ((*env)->IsInstanceOf(env, jcmodel, colorModelClass)) { - if ((*env)->IsInstanceOf(env, jcmodel, - (*env)->FindClass(env, "java/awt/image/DirectColorModel"))) { - type = DIRECT_CM_TYPE; + colorModelClass = (*env)->FindClass(env, + "java/awt/image/DirectColorModel"); + CHECK_NULL_RETURN(colorModelClass, UNKNOWN_CM_TYPE); + if ((*env)->IsInstanceOf(env, jcmodel, colorModelClass)) { + return DIRECT_CM_TYPE; } else { - type = PACKED_CM_TYPE; + return PACKED_CM_TYPE; } } - else if ((*env)->IsInstanceOf(env, jcmodel, - (*env)->FindClass(env, "java/awt/image/ComponentColorModel"))) + colorModelClass = (*env)->FindClass(env, + "java/awt/image/ComponentColorModel"); + CHECK_NULL_RETURN(colorModelClass, UNKNOWN_CM_TYPE); + if ((*env)->IsInstanceOf(env, jcmodel, colorModelClass)) { - type = COMPONENT_CM_TYPE; + return COMPONENT_CM_TYPE; } - return type; + return UNKNOWN_CM_TYPE; } int awt_parseColorModel (JNIEnv *env, jobject jcmodel, int imageType, @@ -506,12 +529,13 @@ int awt_parseColorModel (JNIEnv *env, jobject jcmodel, int imageType, if (s_jdefCM == NULL) { jobject defCM; jclass jcm = (*env)->FindClass(env, "java/awt/image/ColorModel"); + CHECK_NULL_RETURN(jcm, -1); defCM = (*env)->CallStaticObjectMethod(env, jcm, g_CMgetRGBdefaultMID, NULL); s_jdefCM = (*env)->NewGlobalRef(env, defCM); if (defCM == NULL || s_jdefCM == NULL) { - JNU_ThrowNullPointerException(env, - "Unable to find default CM"); + (*env)->ExceptionClear(env); + JNU_ThrowNullPointerException(env, "Unable to find default CM"); return -1; } } @@ -931,6 +955,7 @@ int awt_getPixels(JNIEnv *env, RasterS_t *rasterP, void *bufferP) { jdata = (*env)->NewIntArray(env, maxSamples); if (JNU_IsNull(env, jdata)) { + (*env)->ExceptionClear(env); JNU_ThrowOutOfMemoryError(env, "Out of Memory"); return -1; } @@ -1028,6 +1053,7 @@ int awt_setPixels(JNIEnv *env, RasterS_t *rasterP, void *bufferP) { jdata = (*env)->NewIntArray(env, maxSamples); if (JNU_IsNull(env, jdata)) { + (*env)->ExceptionClear(env); JNU_ThrowOutOfMemoryError(env, "Out of Memory"); return -1; } diff --git a/jdk/src/share/native/sun/awt/image/gif/gifdecoder.c b/jdk/src/share/native/sun/awt/image/gif/gifdecoder.c index dc464291f92..6730695c51b 100644 --- a/jdk/src/share/native/sun/awt/image/gif/gifdecoder.c +++ b/jdk/src/share/native/sun/awt/image/gif/gifdecoder.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 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 @@ -104,12 +104,12 @@ static jfieldID outCodeID; JNIEXPORT void JNICALL Java_sun_awt_image_GifImageDecoder_initIDs(JNIEnv *env, jclass this) { - readID = (*env)->GetMethodID(env, this, "readBytes", "([BII)I"); - sendID = (*env)->GetMethodID(env, this, "sendPixels", - "(IIII[BLjava/awt/image/ColorModel;)I"); - prefixID = (*env)->GetFieldID(env, this, "prefix", "[S"); - suffixID = (*env)->GetFieldID(env, this, "suffix", "[B"); - outCodeID = (*env)->GetFieldID(env, this, "outCode", "[B"); + CHECK_NULL(readID = (*env)->GetMethodID(env, this, "readBytes", "([BII)I")); + CHECK_NULL(sendID = (*env)->GetMethodID(env, this, "sendPixels", + "(IIII[BLjava/awt/image/ColorModel;)I")); + CHECK_NULL(prefixID = (*env)->GetFieldID(env, this, "prefix", "[S")); + CHECK_NULL(suffixID = (*env)->GetFieldID(env, this, "suffix", "[B")); + CHECK_NULL(outCodeID = (*env)->GetFieldID(env, this, "outCode", "[B")); } JNIEXPORT jboolean JNICALL @@ -291,8 +291,10 @@ Java_sun_awt_image_GifImageDecoder_parseImage(JNIEnv *env, * reads the immediately subsequent code as uncompressed data. */ if (verbose) { + RELEASE_ARRAYS(); fprintf(stdout, "."); fflush(stdout); + GET_ARRAYS(); } /* Note that freeCode is one less than it is supposed to be, @@ -318,10 +320,10 @@ Java_sun_awt_image_GifImageDecoder_parseImage(JNIEnv *env, /* make sure we read the whole block of pixels. */ flushit: while (!blockEnd) { + RELEASE_ARRAYS(); if (verbose) { fprintf(stdout, "flushing %d bytes\n", blockLength); } - RELEASE_ARRAYS(); if ((*env)->CallIntMethod(env, this, readID, blockh, 0, blockLength + 1) != 0 || (*env)->ExceptionOccurred(env)) diff --git a/jdk/src/share/native/sun/awt/image/imageInitIDs.c b/jdk/src/share/native/sun/awt/image/imageInitIDs.c index d41ec32ba90..f7fe035fe1e 100644 --- a/jdk/src/share/native/sun/awt/image/imageInitIDs.c +++ b/jdk/src/share/native/sun/awt/image/imageInitIDs.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1998, 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 @@ -29,211 +29,139 @@ JNIEXPORT void JNICALL Java_java_awt_image_BufferedImage_initIDs(JNIEnv *env, jclass cls) { - g_BImgRasterID = (*env)->GetFieldID(env, cls, "raster", - "Ljava/awt/image/WritableRaster;"); - g_BImgTypeID = (*env)->GetFieldID(env, cls, "imageType", "I"); - g_BImgCMID = (*env)->GetFieldID(env, cls, "colorModel", - "Ljava/awt/image/ColorModel;"); - g_BImgGetRGBMID = (*env)->GetMethodID(env, cls, "getRGB", - "(IIII[III)[I"); - g_BImgSetRGBMID = (*env)->GetMethodID(env, cls, "setRGB", - "(IIII[III)V"); - if (g_BImgRasterID == NULL || g_BImgTypeID == NULL || g_BImgCMID == NULL - || g_BImgGetRGBMID == NULL) { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_BImgRasterID = (*env)->GetFieldID(env, cls, "raster", + "Ljava/awt/image/WritableRaster;")); + CHECK_NULL(g_BImgTypeID = (*env)->GetFieldID(env, cls, "imageType", "I")); + CHECK_NULL(g_BImgCMID = (*env)->GetFieldID(env, cls, "colorModel", + "Ljava/awt/image/ColorModel;")); + CHECK_NULL(g_BImgGetRGBMID = (*env)->GetMethodID(env, cls, "getRGB", + "(IIII[III)[I")); + CHECK_NULL(g_BImgSetRGBMID = (*env)->GetMethodID(env, cls, "setRGB", + "(IIII[III)V")); } JNIEXPORT void JNICALL Java_java_awt_image_Raster_initIDs(JNIEnv *env, jclass cls) { - g_RasterWidthID = (*env)->GetFieldID(env, cls, "width", "I"); - g_RasterHeightID = (*env)->GetFieldID(env, cls, "height", "I"); - g_RasterNumBandsID = (*env)->GetFieldID(env, cls, "numBands", "I"); - g_RasterGetDataMID = (*env)->GetMethodID(env, cls, "getDataElements", - "(IIIILjava/lang/Object;)Ljava/lang/Object;"); - g_RasterMinXID = (*env)->GetFieldID(env, cls, "minX", "I"); - g_RasterMinYID = (*env)->GetFieldID(env, cls, "minY", "I"); - g_RasterBaseOriginXID = (*env)->GetFieldID(env, cls, - "sampleModelTranslateX", "I"); - g_RasterBaseOriginYID = (*env)->GetFieldID(env, cls, - "sampleModelTranslateY", "I"); - g_RasterSampleModelID = (*env)->GetFieldID(env, cls, - "sampleModel","Ljava/awt/image/SampleModel;"); - g_RasterNumDataElementsID = (*env)->GetFieldID(env, cls, "numDataElements", - "I"); - g_RasterNumBandsID = (*env)->GetFieldID(env, cls, "numBands", "I"); - g_RasterDataBufferID = (*env)->GetFieldID(env, cls, "dataBuffer", - "Ljava/awt/image/DataBuffer;"); - if (g_RasterWidthID == NULL || g_RasterHeightID == NULL - || g_RasterNumBandsID == NULL || g_RasterGetDataMID == NULL - || g_RasterMinXID == NULL || g_RasterMinYID == NULL - || g_RasterBaseOriginXID == NULL || g_RasterBaseOriginYID == NULL - || g_RasterSampleModelID == NULL || g_RasterNumDataElementsID == NULL - || g_RasterNumBandsID == NULL || g_RasterDataBufferID == NULL) - { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_RasterWidthID = (*env)->GetFieldID(env, cls, "width", "I")); + CHECK_NULL(g_RasterHeightID = (*env)->GetFieldID(env, cls, "height", "I")); + CHECK_NULL(g_RasterNumBandsID = (*env)->GetFieldID(env, cls, "numBands", "I")); + CHECK_NULL(g_RasterGetDataMID = (*env)->GetMethodID(env, cls, "getDataElements", + "(IIIILjava/lang/Object;)Ljava/lang/Object;")); + CHECK_NULL(g_RasterMinXID = (*env)->GetFieldID(env, cls, "minX", "I")); + CHECK_NULL(g_RasterMinYID = (*env)->GetFieldID(env, cls, "minY", "I")); + CHECK_NULL(g_RasterBaseOriginXID = (*env)->GetFieldID(env, cls, + "sampleModelTranslateX", "I")); + CHECK_NULL(g_RasterBaseOriginYID = (*env)->GetFieldID(env, cls, + "sampleModelTranslateY", "I")); + CHECK_NULL(g_RasterSampleModelID = (*env)->GetFieldID(env, cls, + "sampleModel","Ljava/awt/image/SampleModel;")); + CHECK_NULL(g_RasterNumDataElementsID = (*env)->GetFieldID(env, cls, + "numDataElements", "I")); + CHECK_NULL(g_RasterNumBandsID = (*env)->GetFieldID(env, cls, "numBands", "I")); + CHECK_NULL(g_RasterDataBufferID = (*env)->GetFieldID(env, cls, "dataBuffer", + "Ljava/awt/image/DataBuffer;")); } JNIEXPORT void JNICALL Java_sun_awt_image_ByteComponentRaster_initIDs(JNIEnv *env, jclass cls) { - g_BCRdataID = (*env)->GetFieldID(env, cls, "data", "[B"); - g_BCRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I"); - g_BCRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I"); - g_BCRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I"); - g_BCRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I"); - g_BCRtypeID = (*env)->GetFieldID(env, cls, "type", "I"); - if (g_BCRdataID == NULL || g_BCRscanstrID == NULL || - g_BCRpixstrID == NULL || g_BCRbandoffsID == NULL || - g_BCRtypeID == NULL) - { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_BCRdataID = (*env)->GetFieldID(env, cls, "data", "[B")); + CHECK_NULL(g_BCRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I")); + CHECK_NULL(g_BCRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I")); + CHECK_NULL(g_BCRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I")); + CHECK_NULL(g_BCRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I")); + CHECK_NULL(g_BCRtypeID = (*env)->GetFieldID(env, cls, "type", "I")); } JNIEXPORT void JNICALL Java_sun_awt_image_BytePackedRaster_initIDs(JNIEnv *env, jclass cls) { - g_BPRdataID = (*env)->GetFieldID(env, cls, "data", "[B"); - g_BPRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I"); - g_BPRpixstrID = (*env)->GetFieldID(env, cls, "pixelBitStride", "I"); - g_BPRtypeID = (*env)->GetFieldID(env, cls, "type", "I"); - g_BPRdataBitOffsetID = (*env)->GetFieldID(env, cls, "dataBitOffset", "I"); - if (g_BPRdataID == NULL || g_BPRscanstrID == NULL || - g_BPRpixstrID == NULL || g_BPRtypeID == NULL) - { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_BPRdataID = (*env)->GetFieldID(env, cls, "data", "[B")); + CHECK_NULL(g_BPRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I")); + CHECK_NULL(g_BPRpixstrID = (*env)->GetFieldID(env, cls, "pixelBitStride", "I")); + CHECK_NULL(g_BPRtypeID = (*env)->GetFieldID(env, cls, "type", "I")); + CHECK_NULL(g_BPRdataBitOffsetID = (*env)->GetFieldID(env, cls, "dataBitOffset", "I")); } JNIEXPORT void JNICALL Java_sun_awt_image_ShortComponentRaster_initIDs(JNIEnv *env, jclass cls) { - g_SCRdataID = (*env)->GetFieldID(env, cls, "data", "[S"); - g_SCRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I"); - g_SCRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I"); - g_SCRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I"); - g_SCRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I"); - g_SCRtypeID = (*env)->GetFieldID(env, cls, "type", "I"); - if (g_SCRdataID == NULL || g_SCRscanstrID == NULL || - g_SCRpixstrID == NULL || g_SCRbandoffsID == NULL || - g_SCRdataOffsetsID == NULL || g_SCRtypeID == NULL) - { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_SCRdataID = (*env)->GetFieldID(env, cls, "data", "[S")); + CHECK_NULL(g_SCRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I")); + CHECK_NULL(g_SCRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I")); + CHECK_NULL(g_SCRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I")); + CHECK_NULL(g_SCRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I")); + CHECK_NULL(g_SCRtypeID = (*env)->GetFieldID(env, cls, "type", "I")); } JNIEXPORT void JNICALL Java_sun_awt_image_IntegerComponentRaster_initIDs(JNIEnv *env, jclass cls) { - g_ICRdataID = (*env)->GetFieldID(env, cls, "data", "[I"); - g_ICRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I"); - g_ICRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I"); - g_ICRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I"); - g_ICRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I"); - g_ICRputDataMID = (*env)->GetMethodID(env, cls, "setDataElements", - "(IIIILjava/lang/Object;)V"); - g_ICRtypeID = (*env)->GetFieldID(env, cls, "type", "I"); - if (g_ICRdataID == NULL || g_ICRscanstrID == NULL - || g_ICRpixstrID == NULL || g_ICRbandoffsID == NULL - || g_ICRputDataMID == NULL || g_ICRdataOffsetsID == NULL || g_ICRtypeID == NULL) - { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_ICRdataID = (*env)->GetFieldID(env, cls, "data", "[I")); + CHECK_NULL(g_ICRscanstrID = (*env)->GetFieldID(env, cls, "scanlineStride", "I")); + CHECK_NULL(g_ICRpixstrID = (*env)->GetFieldID(env, cls, "pixelStride", "I")); + CHECK_NULL(g_ICRdataOffsetsID = (*env)->GetFieldID(env, cls, "dataOffsets", "[I")); + CHECK_NULL(g_ICRbandoffsID = (*env)->GetFieldID(env, cls, "bandOffset", "I")); + CHECK_NULL(g_ICRputDataMID = (*env)->GetMethodID(env, cls, "setDataElements", + "(IIIILjava/lang/Object;)V")); + CHECK_NULL(g_ICRtypeID = (*env)->GetFieldID(env, cls, "type", "I")); } JNIEXPORT void JNICALL -Java_java_awt_image_SinglePixelPackedSampleModel_initIDs(JNIEnv *env, - jclass cls) { - g_SPPSMmaskArrID = (*env)->GetFieldID(env, cls, "bitMasks", "[I"); - g_SPPSMmaskOffID = (*env)->GetFieldID(env, cls, "bitOffsets", "[I"); - g_SPPSMnBitsID = (*env)->GetFieldID(env, cls, "bitSizes", "[I"); - g_SPPSMmaxBitID = (*env)->GetFieldID(env, cls, "maxBitSize", "I"); - - if (g_SPPSMmaskArrID == NULL || g_SPPSMmaskOffID == NULL || - g_SPPSMnBitsID == NULL || g_SPPSMmaxBitID == NULL) { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } +Java_java_awt_image_SinglePixelPackedSampleModel_initIDs(JNIEnv *env, jclass cls) { + CHECK_NULL(g_SPPSMmaskArrID = (*env)->GetFieldID(env, cls, "bitMasks", "[I")); + CHECK_NULL(g_SPPSMmaskOffID = (*env)->GetFieldID(env, cls, "bitOffsets", "[I")); + CHECK_NULL(g_SPPSMnBitsID = (*env)->GetFieldID(env, cls, "bitSizes", "[I")); + CHECK_NULL(g_SPPSMmaxBitID = (*env)->GetFieldID(env, cls, "maxBitSize", "I")); } JNIEXPORT void JNICALL Java_java_awt_image_ColorModel_initIDs(JNIEnv *env, jclass cls) { - g_CMpDataID = (*env)->GetFieldID (env, cls, "pData", "J"); - g_CMnBitsID = (*env)->GetFieldID(env, cls, "nBits", "[I"); - g_CMcspaceID = (*env)->GetFieldID(env, cls, "colorSpace", - "Ljava/awt/color/ColorSpace;"); - g_CMnumComponentsID = (*env)->GetFieldID(env, cls, "numComponents", "I"); - g_CMsuppAlphaID = (*env)->GetFieldID(env, cls, "supportsAlpha", "Z"); - g_CMisAlphaPreID = (*env)->GetFieldID(env, cls, "isAlphaPremultiplied", - "Z"); - g_CMtransparencyID = (*env)->GetFieldID(env, cls, "transparency", "I"); - g_CMgetRGBMID = (*env)->GetMethodID(env, cls, "getRGB", - "(Ljava/lang/Object;)I"); - g_CMcsTypeID = (*env)->GetFieldID(env, cls, "colorSpaceType", "I"); - g_CMis_sRGBID = (*env)->GetFieldID(env, cls, "is_sRGB", "Z"); - g_CMgetRGBdefaultMID = (*env)->GetStaticMethodID(env, cls, + CHECK_NULL(g_CMpDataID = (*env)->GetFieldID (env, cls, "pData", "J")); + CHECK_NULL(g_CMnBitsID = (*env)->GetFieldID(env, cls, "nBits", "[I")); + CHECK_NULL(g_CMcspaceID = (*env)->GetFieldID(env, cls, "colorSpace", + "Ljava/awt/color/ColorSpace;")); + CHECK_NULL(g_CMnumComponentsID = (*env)->GetFieldID(env, cls, "numComponents", "I")); + CHECK_NULL(g_CMsuppAlphaID = (*env)->GetFieldID(env, cls, "supportsAlpha", "Z")); + CHECK_NULL(g_CMisAlphaPreID = (*env)->GetFieldID(env, cls, "isAlphaPremultiplied", + "Z")); + CHECK_NULL(g_CMtransparencyID = (*env)->GetFieldID(env, cls, "transparency", "I")); + CHECK_NULL(g_CMgetRGBMID = (*env)->GetMethodID(env, cls, "getRGB", + "(Ljava/lang/Object;)I")); + CHECK_NULL(g_CMcsTypeID = (*env)->GetFieldID(env, cls, "colorSpaceType", "I")); + CHECK_NULL(g_CMis_sRGBID = (*env)->GetFieldID(env, cls, "is_sRGB", "Z")); + CHECK_NULL(g_CMgetRGBdefaultMID = (*env)->GetStaticMethodID(env, cls, "getRGBdefault", - "()Ljava/awt/image/ColorModel;"); - if (g_CMnBitsID == NULL || g_CMcspaceID == NULL - || g_CMnumComponentsID == NULL || g_CMsuppAlphaID == NULL - || g_CMisAlphaPreID == NULL || g_CMtransparencyID == NULL - || g_CMgetRGBMID == NULL || g_CMgetRGBMID == NULL - || g_CMis_sRGBID == NULL || g_CMgetRGBdefaultMID == NULL - || g_CMpDataID == NULL) - { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + "()Ljava/awt/image/ColorModel;")); } JNIEXPORT void JNICALL Java_java_awt_image_IndexColorModel_initIDs(JNIEnv *env, jclass cls) { - g_ICMtransIdxID = (*env)->GetFieldID(env, cls, "transparent_index", "I"); - g_ICMmapSizeID = (*env)->GetFieldID(env, cls, "map_size", "I"); - g_ICMrgbID = (*env)->GetFieldID(env, cls, "rgb", "[I"); - if (g_ICMtransIdxID == NULL || g_ICMmapSizeID == NULL - || g_ICMrgbID == NULL) { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_ICMtransIdxID = (*env)->GetFieldID(env, cls, "transparent_index", "I")); + CHECK_NULL(g_ICMmapSizeID = (*env)->GetFieldID(env, cls, "map_size", "I")); + CHECK_NULL(g_ICMrgbID = (*env)->GetFieldID(env, cls, "rgb", "[I")); } JNIEXPORT void JNICALL Java_java_awt_image_SampleModel_initIDs(JNIEnv *env, jclass cls) { - g_SMWidthID = (*env)->GetFieldID(env, cls, "width","I"); - g_SMHeightID = (*env)->GetFieldID(env, cls, "height","I"); - g_SMGetPixelsMID = (*env)->GetMethodID(env, cls, "getPixels", - "(IIII[ILjava/awt/image/DataBuffer;)[I"); - g_SMSetPixelsMID = (*env)->GetMethodID(env, cls, "setPixels", - "(IIII[ILjava/awt/image/DataBuffer;)V"); - if (g_SMWidthID == NULL || g_SMHeightID == NULL || g_SMGetPixelsMID == NULL - || g_SMSetPixelsMID == NULL) { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_SMWidthID = (*env)->GetFieldID(env, cls, "width","I")); + CHECK_NULL(g_SMHeightID = (*env)->GetFieldID(env, cls, "height","I")); + CHECK_NULL(g_SMGetPixelsMID = (*env)->GetMethodID(env, cls, "getPixels", + "(IIII[ILjava/awt/image/DataBuffer;)[I")); + CHECK_NULL(g_SMSetPixelsMID = (*env)->GetMethodID(env, cls, "setPixels", + "(IIII[ILjava/awt/image/DataBuffer;)V")); } JNIEXPORT void JNICALL Java_java_awt_image_ComponentSampleModel_initIDs(JNIEnv *env, jclass cls) { - g_CSMPixStrideID = (*env)->GetFieldID(env, cls, "pixelStride", "I"); - g_CSMScanStrideID = (*env)->GetFieldID(env, cls, "scanlineStride", "I"); - g_CSMBandOffsetsID = (*env)->GetFieldID(env, cls, "bandOffsets", "[I"); - if (g_CSMPixStrideID == NULL || g_CSMScanStrideID == NULL || - g_CSMBandOffsetsID == NULL) { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_CSMPixStrideID = (*env)->GetFieldID(env, cls, "pixelStride", "I")); + CHECK_NULL(g_CSMScanStrideID = (*env)->GetFieldID(env, cls, "scanlineStride", "I")); + CHECK_NULL(g_CSMBandOffsetsID = (*env)->GetFieldID(env, cls, "bandOffsets", "[I")); } JNIEXPORT void JNICALL Java_java_awt_image_Kernel_initIDs(JNIEnv *env, jclass cls) { - g_KernelWidthID = (*env)->GetFieldID(env, cls, "width", "I"); - g_KernelHeightID = (*env)->GetFieldID(env, cls, "height", "I"); - g_KernelDataID = (*env)->GetFieldID(env, cls, "data", "[F"); - if (g_KernelWidthID == NULL || g_KernelHeightID == NULL - || g_KernelDataID == NULL) - { - JNU_ThrowNullPointerException(env, "Unable to grab field ids"); - } + CHECK_NULL(g_KernelWidthID = (*env)->GetFieldID(env, cls, "width", "I")); + CHECK_NULL(g_KernelHeightID = (*env)->GetFieldID(env, cls, "height", "I")); + CHECK_NULL(g_KernelDataID = (*env)->GetFieldID(env, cls, "data", "[F")); } JNIEXPORT void JNICALL Java_java_awt_image_DataBufferInt_initIDs(JNIEnv *env, jclass cls) { - g_DataBufferIntPdataID = (*env)->GetFieldID(env, cls, "pData", "J"); - if (g_DataBufferIntPdataID == NULL) { - JNU_ThrowNullPointerException(env, "Unable to grab DataBufferInt.pData"); - return; - } + CHECK_NULL(g_DataBufferIntPdataID = (*env)->GetFieldID(env, cls, "pData", "J")); } diff --git a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c index 2d93a850ff8..3698bc49b2e 100644 --- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c +++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -153,6 +153,7 @@ static int initStreamBuffer(JNIEnv *env, streamBufferPtr sb) { /* Initialize a new buffer */ jbyteArray hInputBuffer = (*env)->NewByteArray(env, STREAMBUF_SIZE); if (hInputBuffer == NULL) { + (*env)->ExceptionClear(env); JNU_ThrowByName( env, "java/lang/OutOfMemoryError", "Initializing Reader"); @@ -557,6 +558,7 @@ sun_jpeg_output_message (j_common_ptr cinfo) // Create a new java string from the message string = (*env)->NewStringUTF(env, buffer); + CHECK_NULL(string); theObject = data->imageIOobj; @@ -591,12 +593,7 @@ static void imageio_set_stream(JNIEnv *env, /* Now we need a new weak global reference for the I/O provider */ if (io != NULL) { // Fix for 4411955 sb->ioRef = (*env)->NewWeakGlobalRef(env, io); - if (sb->ioRef == NULL) { - JNU_ThrowByName(env, - "java/lang/OutOfMemoryError", - "Setting I/O provider"); - return; - } + CHECK_NULL(sb->ioRef); } /* And finally reset state */ @@ -693,6 +690,7 @@ static int setQTables(JNIEnv *env, } for (i = 0; i < qlen; i++) { table = (*env)->GetObjectArrayElement(env, qtables, i); + CHECK_NULL_RETURN(table, 0); qdata = (*env)->GetObjectField(env, table, JPEGQTable_tableID); qdataBody = (*env)->GetPrimitiveArrayCritical(env, qdata, NULL); @@ -724,7 +722,7 @@ static int setQTables(JNIEnv *env, return qlen; } -static void setHuffTable(JNIEnv *env, +static boolean setHuffTable(JNIEnv *env, JHUFF_TBL *huff_ptr, jobject table) { @@ -742,6 +740,8 @@ static void setHuffTable(JNIEnv *env, hlensBody = (*env)->GetShortArrayElements(env, huffLens, NULL); + CHECK_NULL_RETURN(hlensBody, FALSE); + if (hlensLen > 16) { /* Ignore extra elements of bits array. Only 16 elements can be stored. 0-th element is not used. (see jpeglib.h, line 107) */ @@ -762,6 +762,7 @@ static void setHuffTable(JNIEnv *env, hvalsBody = (*env)->GetShortArrayElements(env, huffValues, NULL); + CHECK_NULL_RETURN(hvalsBody, FALSE); if (hvalsLen > 256) { /* Ignore extra elements of hufval array. Only 256 elements @@ -775,6 +776,7 @@ static void setHuffTable(JNIEnv *env, huffValues, hvalsBody, JNI_ABORT); + return TRUE; } static int setHTables(JNIEnv *env, @@ -810,7 +812,9 @@ static int setHTables(JNIEnv *env, huff_ptr = comp->dc_huff_tbl_ptrs[i]; } table = (*env)->GetObjectArrayElement(env, DCHuffmanTables, i); - setHuffTable(env, huff_ptr, table); + if (table == NULL || !setHuffTable(env, huff_ptr, table)) { + return 0; + } huff_ptr->sent_table = !write; } hlen = (*env)->GetArrayLength(env, ACHuffmanTables); @@ -835,7 +839,9 @@ static int setHTables(JNIEnv *env, huff_ptr = comp->ac_huff_tbl_ptrs[i]; } table = (*env)->GetObjectArrayElement(env, ACHuffmanTables, i); - setHuffTable(env, huff_ptr, table); + if(table == NULL || !setHuffTable(env, huff_ptr, table)) { + return 0; + } huff_ptr->sent_table = !write; } return hlen; @@ -1405,57 +1411,57 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initReaderIDs jclass qTableClass, jclass huffClass) { - JPEGImageReader_readInputDataID = (*env)->GetMethodID(env, + CHECK_NULL(JPEGImageReader_readInputDataID = (*env)->GetMethodID(env, cls, "readInputData", - "([BII)I"); - JPEGImageReader_skipInputBytesID = (*env)->GetMethodID(env, + "([BII)I")); + CHECK_NULL(JPEGImageReader_skipInputBytesID = (*env)->GetMethodID(env, cls, "skipInputBytes", - "(J)J"); - JPEGImageReader_warningOccurredID = (*env)->GetMethodID(env, + "(J)J")); + CHECK_NULL(JPEGImageReader_warningOccurredID = (*env)->GetMethodID(env, cls, "warningOccurred", - "(I)V"); - JPEGImageReader_warningWithMessageID = + "(I)V")); + CHECK_NULL(JPEGImageReader_warningWithMessageID = (*env)->GetMethodID(env, cls, "warningWithMessage", - "(Ljava/lang/String;)V"); - JPEGImageReader_setImageDataID = (*env)->GetMethodID(env, + "(Ljava/lang/String;)V")); + CHECK_NULL(JPEGImageReader_setImageDataID = (*env)->GetMethodID(env, cls, "setImageData", - "(IIIII[B)V"); - JPEGImageReader_acceptPixelsID = (*env)->GetMethodID(env, + "(IIIII[B)V")); + CHECK_NULL(JPEGImageReader_acceptPixelsID = (*env)->GetMethodID(env, cls, "acceptPixels", - "(IZ)V"); - JPEGImageReader_passStartedID = (*env)->GetMethodID(env, + "(IZ)V")); + CHECK_NULL(JPEGImageReader_passStartedID = (*env)->GetMethodID(env, cls, "passStarted", - "(I)V"); - JPEGImageReader_passCompleteID = (*env)->GetMethodID(env, + "(I)V")); + CHECK_NULL(JPEGImageReader_passCompleteID = (*env)->GetMethodID(env, cls, "passComplete", - "()V"); - JPEGImageReader_pushBackID = (*env)->GetMethodID(env, + "()V")); + CHECK_NULL(JPEGImageReader_pushBackID = (*env)->GetMethodID(env, cls, "pushBack", - "(I)V"); - JPEGQTable_tableID = (*env)->GetFieldID(env, + "(I)V")); + CHECK_NULL(JPEGQTable_tableID = (*env)->GetFieldID(env, qTableClass, "qTable", - "[I"); + "[I")); - JPEGHuffmanTable_lengthsID = (*env)->GetFieldID(env, + CHECK_NULL(JPEGHuffmanTable_lengthsID = (*env)->GetFieldID(env, huffClass, "lengths", - "[S"); + "[S")); - JPEGHuffmanTable_valuesID = (*env)->GetFieldID(env, + CHECK_NULL(JPEGHuffmanTable_valuesID = (*env)->GetFieldID(env, huffClass, "values", - "[S"); + "[S")); } JNIEXPORT jlong JNICALL @@ -1536,9 +1542,9 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initJPEGImageReader /* set up the association to persist for future calls */ ret = initImageioData(env, (j_common_ptr) cinfo, this); if (ret == NULL) { - JNU_ThrowByName( env, - "java/lang/OutOfMemoryError", - "Initializing Reader"); + (*env)->ExceptionClear(env); + JNU_ThrowByName(env, "java/lang/OutOfMemoryError", + "Initializing Reader"); imageio_dispose((j_common_ptr)cinfo); return 0; } @@ -1633,6 +1639,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_readImageHeader #endif if (GET_ARRAYS(env, data, &src->next_input_byte) == NOT_OK) { + (*env)->ExceptionClear(env); JNU_ThrowByName(env, "javax/imageio/IIOException", "Array pin failed"); @@ -1896,6 +1903,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_readImage body = (*env)->GetIntArrayElements(env, srcBands, NULL); if (body == NULL) { + (*env)->ExceptionClear(env); JNU_ThrowByName( env, "java/lang/OutOfMemoryError", "Initializing Read"); @@ -1954,6 +1962,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_readImage } if (GET_ARRAYS(env, data, &src->next_input_byte) == NOT_OK) { + (*env)->ExceptionClear(env); JNU_ThrowByName(env, "javax/imageio/IIOException", "Array pin failed"); @@ -2399,44 +2408,39 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_initWriterIDs jclass qTableClass, jclass huffClass) { - JPEGImageWriter_writeOutputDataID = (*env)->GetMethodID(env, + CHECK_NULL(JPEGImageWriter_writeOutputDataID = (*env)->GetMethodID(env, cls, "writeOutputData", - "([BII)V"); - - JPEGImageWriter_warningOccurredID = (*env)->GetMethodID(env, + "([BII)V")); + CHECK_NULL(JPEGImageWriter_warningOccurredID = (*env)->GetMethodID(env, cls, "warningOccurred", - "(I)V"); - JPEGImageWriter_warningWithMessageID = - (*env)->GetMethodID(env, - cls, - "warningWithMessage", - "(Ljava/lang/String;)V"); - - JPEGImageWriter_writeMetadataID = (*env)->GetMethodID(env, + "(I)V")); + CHECK_NULL(JPEGImageWriter_warningWithMessageID = + (*env)->GetMethodID(env, + cls, + "warningWithMessage", + "(Ljava/lang/String;)V")); + CHECK_NULL(JPEGImageWriter_writeMetadataID = (*env)->GetMethodID(env, cls, "writeMetadata", - "()V"); - JPEGImageWriter_grabPixelsID = (*env)->GetMethodID(env, + "()V")); + CHECK_NULL(JPEGImageWriter_grabPixelsID = (*env)->GetMethodID(env, cls, "grabPixels", - "(I)V"); - - JPEGQTable_tableID = (*env)->GetFieldID(env, + "(I)V")); + CHECK_NULL(JPEGQTable_tableID = (*env)->GetFieldID(env, qTableClass, "qTable", - "[I"); - - JPEGHuffmanTable_lengthsID = (*env)->GetFieldID(env, + "[I")); + CHECK_NULL(JPEGHuffmanTable_lengthsID = (*env)->GetFieldID(env, huffClass, "lengths", - "[S"); - - JPEGHuffmanTable_valuesID = (*env)->GetFieldID(env, + "[S")); + CHECK_NULL(JPEGHuffmanTable_valuesID = (*env)->GetFieldID(env, huffClass, "values", - "[S"); + "[S")); } JNIEXPORT jlong JNICALL @@ -2512,6 +2516,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_initJPEGImageWriter /* set up the association to persist for future calls */ ret = initImageioData(env, (j_common_ptr) cinfo, this); if (ret == NULL) { + (*env)->ExceptionClear(env); JNU_ThrowByName( env, "java/lang/OutOfMemoryError", "Initializing Writer"); @@ -2589,6 +2594,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeTables if (GET_ARRAYS(env, data, (const JOCTET **)(&dest->next_output_byte)) == NOT_OK) { + (*env)->ExceptionClear(env); JNU_ThrowByName(env, "javax/imageio/IIOException", "Array pin failed"); @@ -2660,6 +2666,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage imageIODataPtr data = (imageIODataPtr)jlong_to_ptr(ptr); j_compress_ptr cinfo; UINT8** scale = NULL; + boolean success = TRUE; /* verify the inputs */ @@ -2704,13 +2711,14 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage } bandSize = (*env)->GetIntArrayElements(env, bandSizes, NULL); + CHECK_NULL_RETURN(bandSize, JNI_FALSE); for (i = 0; i < numBands; i++) { if (bandSize[i] <= 0 || bandSize[i] > JPEG_BAND_SIZE) { (*env)->ReleaseIntArrayElements(env, bandSizes, bandSize, JNI_ABORT); JNU_ThrowByName(env, "javax/imageio/IIOException", "Invalid Image"); - return JNI_FALSE;; + return JNI_FALSE; } } @@ -2821,30 +2829,30 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage vfactors = (*env)->GetIntArrayElements(env, VsamplingFactors, NULL); qsels = (*env)->GetIntArrayElements(env, QtableSelectors, NULL); - if ((ids == NULL) || - (hfactors == NULL) || (vfactors == NULL) || - (qsels == NULL)) { - JNU_ThrowByName( env, - "java/lang/OutOfMemoryError", - "Writing JPEG"); - return JNI_FALSE; + if (ids && hfactors && vfactors && qsels) { + for (i = 0; i < numBands; i++) { + cinfo->comp_info[i].component_id = ids[i]; + cinfo->comp_info[i].h_samp_factor = hfactors[i]; + cinfo->comp_info[i].v_samp_factor = vfactors[i]; + cinfo->comp_info[i].quant_tbl_no = qsels[i]; + } + } else { + success = FALSE; } - for (i = 0; i < numBands; i++) { - cinfo->comp_info[i].component_id = ids[i]; - cinfo->comp_info[i].h_samp_factor = hfactors[i]; - cinfo->comp_info[i].v_samp_factor = vfactors[i]; - cinfo->comp_info[i].quant_tbl_no = qsels[i]; + if (ids) { + (*env)->ReleaseIntArrayElements(env, componentIds, ids, JNI_ABORT); } - - (*env)->ReleaseIntArrayElements(env, componentIds, - ids, JNI_ABORT); - (*env)->ReleaseIntArrayElements(env, HsamplingFactors, - hfactors, JNI_ABORT); - (*env)->ReleaseIntArrayElements(env, VsamplingFactors, - vfactors, JNI_ABORT); - (*env)->ReleaseIntArrayElements(env, QtableSelectors, - qsels, JNI_ABORT); + if (hfactors) { + (*env)->ReleaseIntArrayElements(env, HsamplingFactors, hfactors, JNI_ABORT); + } + if (vfactors) { + (*env)->ReleaseIntArrayElements(env, VsamplingFactors, vfactors, JNI_ABORT); + } + if (qsels) { + (*env)->ReleaseIntArrayElements(env, QtableSelectors, qsels, JNI_ABORT); + } + if (!success) return data->abortFlag; jpeg_suppress_tables(cinfo, TRUE); // Disable writing any current @@ -2861,6 +2869,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage if (GET_ARRAYS(env, data, (const JOCTET **)(&dest->next_output_byte)) == NOT_OK) { + (*env)->ExceptionClear(env); JNU_ThrowByName(env, "javax/imageio/IIOException", "Array pin failed"); @@ -2895,6 +2904,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage cinfo->scan_info = cinfo->script_space; scanptr = (int *) cinfo->script_space; scanData = (*env)->GetIntArrayElements(env, scanInfo, NULL); + CHECK_NULL_RETURN(scanData, data->abortFlag); // number of jints per scan is 9 // We avoid a memcpy to handle different size ints for (i = 0; i < numScans*9; i++) { diff --git a/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c b/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c index ad7e8211867..1ccfc390b24 100644 --- a/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c +++ b/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 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 @@ -462,14 +462,14 @@ JNIEXPORT void JNICALL Java_sun_awt_image_JPEGImageDecoder_initIDs(JNIEnv *env, jclass cls, jclass InputStreamClass) { - sendHeaderInfoID = (*env)->GetMethodID(env, cls, "sendHeaderInfo", - "(IIZZZ)Z"); - sendPixelsByteID = (*env)->GetMethodID(env, cls, "sendPixels", "([BI)Z"); - sendPixelsIntID = (*env)->GetMethodID(env, cls, "sendPixels", "([II)Z"); - InputStream_readID = (*env)->GetMethodID(env, InputStreamClass, - "read", "([BII)I"); - InputStream_availableID = (*env)->GetMethodID(env, InputStreamClass, - "available", "()I"); + CHECK_NULL(sendHeaderInfoID = (*env)->GetMethodID(env, cls, "sendHeaderInfo", + "(IIZZZ)Z")); + CHECK_NULL(sendPixelsByteID = (*env)->GetMethodID(env, cls, "sendPixels", "([BI)Z")); + CHECK_NULL(sendPixelsIntID = (*env)->GetMethodID(env, cls, "sendPixels", "([II)Z")); + CHECK_NULL(InputStream_readID = (*env)->GetMethodID(env, InputStreamClass, + "read", "([BII)I")); + CHECK_NULL(InputStream_availableID = (*env)->GetMethodID(env, InputStreamClass, + "available", "()I")); } diff --git a/jdk/src/share/native/sun/font/FontInstanceAdapter.cpp b/jdk/src/share/native/sun/font/FontInstanceAdapter.cpp index f2f553c0cf3..8c8c47593fb 100644 --- a/jdk/src/share/native/sun/font/FontInstanceAdapter.cpp +++ b/jdk/src/share/native/sun/font/FontInstanceAdapter.cpp @@ -222,9 +222,15 @@ void FontInstanceAdapter::getKerningAdjustment(LEPoint &adjustment) const jobject pt = env->NewObject(sunFontIDs.pt2DFloatClass, sunFontIDs.pt2DFloatCtr, adjustment.fX, adjustment.fY); - env->CallObjectMethod(fontStrike, sunFontIDs.adjustPointMID, pt); - adjustment.fX = env->GetFloatField(pt, sunFontIDs.xFID); - adjustment.fY = env->GetFloatField(pt, sunFontIDs.yFID); + if (pt == NULL) { + env->ExceptionClear(); + adjustment.fX = 0.0f; + adjustment.fY = 0.0f; + } else { + env->CallObjectMethod(fontStrike, sunFontIDs.adjustPointMID, pt); + adjustment.fX = env->GetFloatField(pt, sunFontIDs.xFID); + adjustment.fY = env->GetFloatField(pt, sunFontIDs.yFID); + } } void FontInstanceAdapter::getWideGlyphAdvance(le_uint32 glyph, LEPoint &advance) const diff --git a/jdk/src/share/native/sun/font/layout/SunLayoutEngine.cpp b/jdk/src/share/native/sun/font/layout/SunLayoutEngine.cpp index 20618cd9511..a9aea06683e 100644 --- a/jdk/src/share/native/sun/font/layout/SunLayoutEngine.cpp +++ b/jdk/src/share/native/sun/font/layout/SunLayoutEngine.cpp @@ -56,50 +56,13 @@ static jfieldID gvdIndicesFID = 0; JNIEXPORT void JNICALL Java_sun_font_SunLayoutEngine_initGVIDs (JNIEnv *env, jclass cls) { - gvdClass = env->FindClass(gvdClassName); - if (!gvdClass) { - JNU_ThrowClassNotFoundException(env, gvdClassName); - return; - } - gvdClass = (jclass)env->NewGlobalRef(gvdClass); - if (!gvdClass) { - JNU_ThrowInternalError(env, "could not create global ref"); - return; - } - gvdCountFID = env->GetFieldID(gvdClass, "_count", "I"); - if (!gvdCountFID) { - gvdClass = 0; - JNU_ThrowNoSuchFieldException(env, "_count"); - return; - } - - gvdFlagsFID = env->GetFieldID(gvdClass, "_flags", "I"); - if (!gvdFlagsFID) { - gvdClass = 0; - JNU_ThrowNoSuchFieldException(env, "_flags"); - return; - } - - gvdGlyphsFID = env->GetFieldID(gvdClass, "_glyphs", "[I"); - if (!gvdGlyphsFID) { - gvdClass = 0; - JNU_ThrowNoSuchFieldException(env, "_glyphs"); - return; - } - - gvdPositionsFID = env->GetFieldID(gvdClass, "_positions", "[F"); - if (!gvdPositionsFID) { - gvdClass = 0; - JNU_ThrowNoSuchFieldException(env, "_positions"); - return; - } - + CHECK_NULL(gvdClass = env->FindClass(gvdClassName)); + CHECK_NULL(gvdClass = (jclass)env->NewGlobalRef(gvdClass)); + CHECK_NULL(gvdCountFID = env->GetFieldID(gvdClass, "_count", "I")); + CHECK_NULL(gvdFlagsFID = env->GetFieldID(gvdClass, "_flags", "I")); + CHECK_NULL(gvdGlyphsFID = env->GetFieldID(gvdClass, "_glyphs", "[I")); + CHECK_NULL(gvdPositionsFID = env->GetFieldID(gvdClass, "_positions", "[F")); gvdIndicesFID = env->GetFieldID(gvdClass, "_indices", "[I"); - if (!gvdIndicesFID) { - gvdClass = 0; - JNU_ThrowNoSuchFieldException(env, "_indices"); - return; - } } int putGV(JNIEnv* env, jint gmask, jint baseIndex, jobject gvdata, const LayoutEngine* engine, int glyphCount) { @@ -195,7 +158,7 @@ JNIEXPORT void JNICALL Java_sun_font_SunLayoutEngine_nativeLayout jchar* chars = buffer; if (len > 256) { size_t size = len * sizeof(jchar); - if (size / sizeof(jchar) != len) { + if (size / sizeof(jchar) != (size_t)len) { return; } chars = (jchar*)malloc(size); @@ -220,8 +183,10 @@ JNIEXPORT void JNICALL Java_sun_font_SunLayoutEngine_nativeLayout env->SetIntField(gvdata, gvdCountFID, -1); // flag failure } else { if (putGV(env, gmask, baseIndex, gvdata, engine, glyphCount)) { - // !!! hmmm, could use current value in positions array of GVData... - putFloat(env, pt, x, y); + if (!(env->ExceptionCheck())) { + // !!! hmmm, could use current value in positions array of GVData... + putFloat(env, pt, x, y); + } } } diff --git a/jdk/src/share/native/sun/font/sunFont.c b/jdk/src/share/native/sun/font/sunFont.c index 50a62e46f19..0695088899b 100644 --- a/jdk/src/share/native/sun/font/sunFont.c +++ b/jdk/src/share/native/sun/font/sunFont.c @@ -27,6 +27,7 @@ #include "string.h" #include "gdefs.h" #include "jlong.h" +#include "jni_util.h" #include "sunfontids.h" #include "fontscalerdefs.h" #include "sun_font_SunFontManager.h" @@ -81,100 +82,106 @@ static void initFontIDs(JNIEnv *env) { if (initialisedFontIDs) { return; } - tmpClass = (*env)->FindClass(env, "sun/font/TrueTypeFont"); - sunFontIDs.ttReadBlockMID = + CHECK_NULL(tmpClass = (*env)->FindClass(env, "sun/font/TrueTypeFont")); + CHECK_NULL(sunFontIDs.ttReadBlockMID = (*env)->GetMethodID(env, tmpClass, "readBlock", - "(Ljava/nio/ByteBuffer;II)I"); - sunFontIDs.ttReadBytesMID = - (*env)->GetMethodID(env, tmpClass, "readBytes", "(II)[B"); + "(Ljava/nio/ByteBuffer;II)I")); + CHECK_NULL(sunFontIDs.ttReadBytesMID = + (*env)->GetMethodID(env, tmpClass, "readBytes", "(II)[B")); - tmpClass = (*env)->FindClass(env, "sun/font/Type1Font"); - sunFontIDs.readFileMID = + CHECK_NULL(tmpClass = (*env)->FindClass(env, "sun/font/Type1Font")); + CHECK_NULL(sunFontIDs.readFileMID = (*env)->GetMethodID(env, tmpClass, - "readFile", "(Ljava/nio/ByteBuffer;)V"); + "readFile", "(Ljava/nio/ByteBuffer;)V")); - tmpClass = (*env)->FindClass(env, "java/awt/geom/Point2D$Float"); + CHECK_NULL(tmpClass = + (*env)->FindClass(env, "java/awt/geom/Point2D$Float")); sunFontIDs.pt2DFloatClass = (jclass)(*env)->NewGlobalRef(env, tmpClass); - sunFontIDs.pt2DFloatCtr = - (*env)->GetMethodID(env, sunFontIDs.pt2DFloatClass, "<init>","(FF)V"); + CHECK_NULL(sunFontIDs.pt2DFloatCtr = + (*env)->GetMethodID(env, sunFontIDs.pt2DFloatClass, "<init>","(FF)V")); - sunFontIDs.xFID = - (*env)->GetFieldID(env, sunFontIDs.pt2DFloatClass, "x", "F"); - sunFontIDs.yFID = - (*env)->GetFieldID(env, sunFontIDs.pt2DFloatClass, "y", "F"); + CHECK_NULL(sunFontIDs.xFID = + (*env)->GetFieldID(env, sunFontIDs.pt2DFloatClass, "x", "F")); + CHECK_NULL(sunFontIDs.yFID = + (*env)->GetFieldID(env, sunFontIDs.pt2DFloatClass, "y", "F")); - tmpClass = (*env)->FindClass(env, "sun/font/StrikeMetrics"); - sunFontIDs.strikeMetricsClass=(jclass)(*env)->NewGlobalRef(env, tmpClass); + CHECK_NULL(tmpClass = (*env)->FindClass(env, "sun/font/StrikeMetrics")); + CHECK_NULL(sunFontIDs.strikeMetricsClass = + (jclass)(*env)->NewGlobalRef(env, tmpClass)); - sunFontIDs.strikeMetricsCtr = + CHECK_NULL(sunFontIDs.strikeMetricsCtr = (*env)->GetMethodID(env, sunFontIDs.strikeMetricsClass, - "<init>", "(FFFFFFFFFF)V"); + "<init>", "(FFFFFFFFFF)V")); - tmpClass = (*env)->FindClass(env, "java/awt/geom/Rectangle2D$Float"); + CHECK_NULL(tmpClass = + (*env)->FindClass(env, "java/awt/geom/Rectangle2D$Float")); sunFontIDs.rect2DFloatClass = (jclass)(*env)->NewGlobalRef(env, tmpClass); - sunFontIDs.rect2DFloatCtr = - (*env)->GetMethodID(env, sunFontIDs.rect2DFloatClass, "<init>", "()V"); - sunFontIDs.rect2DFloatCtr4 = - (*env)->GetMethodID(env, sunFontIDs.rect2DFloatClass, - "<init>", "(FFFF)V"); - sunFontIDs.rectF2DX = - (*env)->GetFieldID(env, sunFontIDs.rect2DFloatClass, "x", "F"); - sunFontIDs.rectF2DY = - (*env)->GetFieldID(env, sunFontIDs.rect2DFloatClass, "y", "F"); - sunFontIDs.rectF2DWidth = - (*env)->GetFieldID(env, sunFontIDs.rect2DFloatClass, "width", "F"); - sunFontIDs.rectF2DHeight = - (*env)->GetFieldID(env, sunFontIDs.rect2DFloatClass, "height", "F"); + CHECK_NULL(sunFontIDs.rect2DFloatCtr = + (*env)->GetMethodID(env, sunFontIDs.rect2DFloatClass, "<init>", "()V")); + CHECK_NULL(sunFontIDs.rect2DFloatCtr4 = + (*env)->GetMethodID(env, sunFontIDs.rect2DFloatClass, + "<init>", "(FFFF)V")); + CHECK_NULL(sunFontIDs.rectF2DX = + (*env)->GetFieldID(env, sunFontIDs.rect2DFloatClass, "x", "F")); + CHECK_NULL(sunFontIDs.rectF2DY = + (*env)->GetFieldID(env, sunFontIDs.rect2DFloatClass, "y", "F")); + CHECK_NULL(sunFontIDs.rectF2DWidth = + (*env)->GetFieldID(env, sunFontIDs.rect2DFloatClass, "width", "F")); + CHECK_NULL(sunFontIDs.rectF2DHeight = + (*env)->GetFieldID(env, sunFontIDs.rect2DFloatClass, "height", "F")); - tmpClass = (*env)->FindClass(env, "java/awt/geom/GeneralPath"); + CHECK_NULL(tmpClass = (*env)->FindClass(env, "java/awt/geom/GeneralPath")); sunFontIDs.gpClass = (jclass)(*env)->NewGlobalRef(env, tmpClass); - sunFontIDs.gpCtr = - (*env)->GetMethodID(env, sunFontIDs.gpClass, "<init>", "(I[BI[FI)V"); - sunFontIDs.gpCtrEmpty = - (*env)->GetMethodID(env, sunFontIDs.gpClass, "<init>", "()V"); + CHECK_NULL(sunFontIDs.gpCtr = + (*env)->GetMethodID(env, sunFontIDs.gpClass, "<init>", "(I[BI[FI)V")); + CHECK_NULL(sunFontIDs.gpCtrEmpty = + (*env)->GetMethodID(env, sunFontIDs.gpClass, "<init>", "()V")); - tmpClass = (*env)->FindClass(env, "sun/font/Font2D"); - sunFontIDs.f2dCharToGlyphMID = - (*env)->GetMethodID(env, tmpClass, "charToGlyph", "(I)I"); - sunFontIDs.getMapperMID = + CHECK_NULL(tmpClass = (*env)->FindClass(env, "sun/font/Font2D")); + CHECK_NULL(sunFontIDs.f2dCharToGlyphMID = + (*env)->GetMethodID(env, tmpClass, "charToGlyph", "(I)I")); + CHECK_NULL(sunFontIDs.getMapperMID = (*env)->GetMethodID(env, tmpClass, "getMapper", - "()Lsun/font/CharToGlyphMapper;"); - sunFontIDs.getTableBytesMID = - (*env)->GetMethodID(env, tmpClass, "getTableBytes", "(I)[B"); - sunFontIDs.canDisplayMID = - (*env)->GetMethodID(env, tmpClass, "canDisplay", "(C)Z"); + "()Lsun/font/CharToGlyphMapper;")); + CHECK_NULL(sunFontIDs.getTableBytesMID = + (*env)->GetMethodID(env, tmpClass, "getTableBytes", "(I)[B")); + CHECK_NULL(sunFontIDs.canDisplayMID = + (*env)->GetMethodID(env, tmpClass, "canDisplay", "(C)Z")); - tmpClass = (*env)->FindClass(env, "sun/font/CharToGlyphMapper"); - sunFontIDs.charToGlyphMID = - (*env)->GetMethodID(env, tmpClass, "charToGlyph", "(I)I"); + CHECK_NULL(tmpClass = (*env)->FindClass(env, "sun/font/CharToGlyphMapper")); + CHECK_NULL(sunFontIDs.charToGlyphMID = + (*env)->GetMethodID(env, tmpClass, "charToGlyph", "(I)I")); - tmpClass = (*env)->FindClass(env, "sun/font/PhysicalStrike"); - sunFontIDs.getGlyphMetricsMID = + CHECK_NULL(tmpClass = (*env)->FindClass(env, "sun/font/PhysicalStrike")); + CHECK_NULL(sunFontIDs.getGlyphMetricsMID = (*env)->GetMethodID(env, tmpClass, "getGlyphMetrics", - "(I)Ljava/awt/geom/Point2D$Float;"); - sunFontIDs.getGlyphPointMID = + "(I)Ljava/awt/geom/Point2D$Float;")); + CHECK_NULL(sunFontIDs.getGlyphPointMID = (*env)->GetMethodID(env, tmpClass, "getGlyphPoint", - "(II)Ljava/awt/geom/Point2D$Float;"); - sunFontIDs.adjustPointMID = + "(II)Ljava/awt/geom/Point2D$Float;")); + CHECK_NULL(sunFontIDs.adjustPointMID = (*env)->GetMethodID(env, tmpClass, "adjustPoint", - "(Ljava/awt/geom/Point2D$Float;)V"); - sunFontIDs.pScalerContextFID = - (*env)->GetFieldID(env, tmpClass, "pScalerContext", "J"); + "(Ljava/awt/geom/Point2D$Float;)V")); + CHECK_NULL(sunFontIDs.pScalerContextFID = + (*env)->GetFieldID(env, tmpClass, "pScalerContext", "J")); - tmpClass = (*env)->FindClass(env, "sun/font/GlyphList"); - sunFontIDs.glyphListX = (*env)->GetFieldID(env, tmpClass, "x", "F"); - sunFontIDs.glyphListY = (*env)->GetFieldID(env, tmpClass, "y", "F"); - sunFontIDs.glyphListLen = (*env)->GetFieldID(env, tmpClass, "len", "I"); - sunFontIDs.glyphImages = - (*env)->GetFieldID(env, tmpClass, "images", "[J"); - sunFontIDs.glyphListUsePos = - (*env)->GetFieldID(env, tmpClass, "usePositions", "Z"); - sunFontIDs.glyphListPos = - (*env)->GetFieldID(env, tmpClass, "positions", "[F"); - sunFontIDs.lcdRGBOrder = - (*env)->GetFieldID(env, tmpClass, "lcdRGBOrder", "Z"); - sunFontIDs.lcdSubPixPos = - (*env)->GetFieldID(env, tmpClass, "lcdSubPixPos", "Z"); + CHECK_NULL(tmpClass = (*env)->FindClass(env, "sun/font/GlyphList")); + CHECK_NULL(sunFontIDs.glyphListX = + (*env)->GetFieldID(env, tmpClass, "x", "F")); + CHECK_NULL(sunFontIDs.glyphListY = + (*env)->GetFieldID(env, tmpClass, "y", "F")); + CHECK_NULL(sunFontIDs.glyphListLen = + (*env)->GetFieldID(env, tmpClass, "len", "I")); + CHECK_NULL(sunFontIDs.glyphImages = + (*env)->GetFieldID(env, tmpClass, "images", "[J")); + CHECK_NULL(sunFontIDs.glyphListUsePos = + (*env)->GetFieldID(env, tmpClass, "usePositions", "Z")); + CHECK_NULL(sunFontIDs.glyphListPos = + (*env)->GetFieldID(env, tmpClass, "positions", "[F")); + CHECK_NULL(sunFontIDs.lcdRGBOrder = + (*env)->GetFieldID(env, tmpClass, "lcdRGBOrder", "Z")); + CHECK_NULL(sunFontIDs.lcdSubPixPos = + (*env)->GetFieldID(env, tmpClass, "lcdSubPixPos", "Z")); initLCDGammaTables(); 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/share/native/sun/security/smartcardio/pcsc.c b/jdk/src/share/native/sun/security/smartcardio/pcsc.c index 29f0c64e12d..8c33f2a03d2 100644 --- a/jdk/src/share/native/sun/security/smartcardio/pcsc.c +++ b/jdk/src/share/native/sun/security/smartcardio/pcsc.c @@ -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 @@ -64,17 +64,32 @@ #define J2PCSC_EXCEPTION_NAME "sun/security/smartcardio/PCSCException" +void throwOutOfMemoryError(JNIEnv *env, const char *msg) { + jclass cls = (*env)->FindClass(env, "java/lang/OutOfMemoryError"); + + if (cls != NULL) /* Otherwise an exception has already been thrown */ + (*env)->ThrowNew(env, cls, msg); + +} + void throwPCSCException(JNIEnv* env, LONG code) { jclass pcscClass; jmethodID constructor; jthrowable pcscException; pcscClass = (*env)->FindClass(env, J2PCSC_EXCEPTION_NAME); - assert(pcscClass != NULL); + if (pcscClass == NULL) { + return; + } constructor = (*env)->GetMethodID(env, pcscClass, "<init>", "(I)V"); - assert(constructor != NULL); - pcscException = (jthrowable) (*env)->NewObject(env, pcscClass, constructor, (jint)code); - (*env)->Throw(env, pcscException); + if (constructor == NULL) { + return; + } + pcscException = (jthrowable) (*env)->NewObject(env, pcscClass, + constructor, (jint)code); + if (pcscException != NULL) { + (*env)->Throw(env, pcscException); + } } jboolean handleRV(JNIEnv* env, LONG code) { @@ -121,6 +136,10 @@ jobjectArray pcsc_multi2jstring(JNIEnv *env, char *spec) { } tab = (char **)malloc(cnt * sizeof(char *)); + if (tab == NULL) { + throwOutOfMemoryError(env, NULL); + return NULL; + } cnt = 0; cp = spec; @@ -130,12 +149,26 @@ jobjectArray pcsc_multi2jstring(JNIEnv *env, char *spec) { } stringClass = (*env)->FindClass(env, "java/lang/String"); - assert(stringClass != NULL); + if (stringClass == NULL) { + free(tab); + return NULL; + } result = (*env)->NewObjectArray(env, cnt, stringClass, NULL); - while (cnt-- > 0) { - js = (*env)->NewStringUTF(env, tab[cnt]); - (*env)->SetObjectArrayElement(env, result, cnt, js); + if (result != NULL) { + while (cnt-- > 0) { + js = (*env)->NewStringUTF(env, tab[cnt]); + if ((*env)->ExceptionCheck(env)) { + free(tab); + return NULL; + } + (*env)->SetObjectArrayElement(env, result, cnt, js); + if ((*env)->ExceptionCheck(env)) { + free(tab); + return NULL; + } + (*env)->DeleteLocalRef(env, js); + } } free(tab); return result; @@ -158,6 +191,11 @@ JNIEXPORT jobjectArray JNICALL Java_sun_security_smartcardio_PCSC_SCardListReade dprintf1("-size: %d\n", size); mszReaders = malloc(size); + if (mszReaders == NULL) { + throwOutOfMemoryError(env, NULL); + return NULL; + } + rv = CALL_SCardListReaders(context, NULL, mszReaders, &size); if (handleRV(env, rv)) { free(mszReaders); @@ -181,6 +219,9 @@ JNIEXPORT jlong JNICALL Java_sun_security_smartcardio_PCSC_SCardConnect DWORD proto; readerName = (*env)->GetStringUTFChars(env, jReaderName, NULL); + if (readerName == NULL) { + return 0; + } rv = CALL_SCardConnect(context, readerName, jShareMode, jPreferredProtocols, &card, &proto); (*env)->ReleaseStringUTFChars(env, jReaderName, readerName); dprintf1("-cardhandle: %x\n", card); @@ -210,6 +251,9 @@ JNIEXPORT jbyteArray JNICALL Java_sun_security_smartcardio_PCSC_SCardTransmit sendPci.cbPciLength = sizeof(SCARD_IO_REQUEST); sbuf = (unsigned char *) ((*env)->GetByteArrayElements(env, jBuf, NULL)); + if (sbuf == NULL) { + return NULL; + } rv = CALL_SCardTransmit(card, &sendPci, sbuf + ofs, len, NULL, rbuf, &rlen); (*env)->ReleaseByteArrayElements(env, jBuf, (jbyte *)sbuf, JNI_ABORT); @@ -218,7 +262,12 @@ JNIEXPORT jbyteArray JNICALL Java_sun_security_smartcardio_PCSC_SCardTransmit } jOut = (*env)->NewByteArray(env, rlen); - (*env)->SetByteArrayRegion(env, jOut, 0, rlen, (jbyte *)rbuf); + if (jOut != NULL) { + (*env)->SetByteArrayRegion(env, jOut, 0, rlen, (jbyte *)rbuf); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + } return jOut; } @@ -234,7 +283,7 @@ JNIEXPORT jbyteArray JNICALL Java_sun_security_smartcardio_PCSC_SCardStatus DWORD state; DWORD protocol; jbyteArray jArray; - jbyte tmp; + jbyte status[2]; rv = CALL_SCardStatus(card, readerName, &readerLen, &state, &protocol, atr, &atrLen); if (handleRV(env, rv)) { @@ -245,13 +294,19 @@ JNIEXPORT jbyteArray JNICALL Java_sun_security_smartcardio_PCSC_SCardStatus dprintf1("-protocol: %d\n", protocol); jArray = (*env)->NewByteArray(env, atrLen); + if (jArray == NULL) { + return NULL; + } (*env)->SetByteArrayRegion(env, jArray, 0, atrLen, (jbyte *)atr); - - tmp = (jbyte)state; - (*env)->SetByteArrayRegion(env, jStatus, 0, 1, &tmp); - tmp = (jbyte)protocol; - (*env)->SetByteArrayRegion(env, jStatus, 1, 1, &tmp); - + if ((*env)->ExceptionCheck(env)) { + return NULL; + } + status[0] = (jbyte) state; + status[1] = (jbyte) protocol; + (*env)->SetByteArrayRegion(env, jStatus, 0, 2, status); + if ((*env)->ExceptionCheck(env)) { + return NULL; + } return jArray; } @@ -274,36 +329,72 @@ JNIEXPORT jintArray JNICALL Java_sun_security_smartcardio_PCSC_SCardGetStatusCha SCARDCONTEXT context = (SCARDCONTEXT)jContext; LONG rv; int readers = (*env)->GetArrayLength(env, jReaderNames); - SCARD_READERSTATE *readerState = malloc(readers * sizeof(SCARD_READERSTATE)); + SCARD_READERSTATE *readerState; int i; - jintArray jEventState; - int *currentState = (*env)->GetIntArrayElements(env, jCurrentState, NULL); + jintArray jEventState = NULL; + int *currentState = NULL; + const char *readerName; + + readerState = calloc(readers, sizeof(SCARD_READERSTATE)); + if (readerState == NULL) { + throwOutOfMemoryError(env, NULL); + return NULL; + } + + currentState = (*env)->GetIntArrayElements(env, jCurrentState, NULL); + if (currentState == NULL) { + free(readerState); + return NULL; + } for (i = 0; i < readers; i++) { jobject jReaderName = (*env)->GetObjectArrayElement(env, jReaderNames, i); - readerState[i].szReader = (*env)->GetStringUTFChars(env, jReaderName, NULL); + if ((*env)->ExceptionCheck(env)) { + goto cleanup; + } + readerName = (*env)->GetStringUTFChars(env, jReaderName, NULL); + if (readerName == NULL) { + goto cleanup; + } + readerState[i].szReader = strdup(readerName); + (*env)->ReleaseStringUTFChars(env, jReaderName, readerName); + if (readerState[i].szReader == NULL) { + throwOutOfMemoryError(env, NULL); + goto cleanup; + } readerState[i].pvUserData = NULL; readerState[i].dwCurrentState = currentState[i]; readerState[i].dwEventState = SCARD_STATE_UNAWARE; readerState[i].cbAtr = 0; + (*env)->DeleteLocalRef(env, jReaderName); } - (*env)->ReleaseIntArrayElements(env, jCurrentState, currentState, JNI_ABORT); rv = CALL_SCardGetStatusChange(context, (DWORD)jTimeout, readerState, readers); + if (handleRV(env, rv)) { + goto cleanup; + } jEventState = (*env)->NewIntArray(env, readers); + if (jEventState == NULL) { + goto cleanup; + } for (i = 0; i < readers; i++) { jint eventStateTmp; - jobject jReaderName = (*env)->GetObjectArrayElement(env, jReaderNames, i); dprintf3("-reader status %s: 0x%X, 0x%X\n", readerState[i].szReader, readerState[i].dwCurrentState, readerState[i].dwEventState); - (*env)->ReleaseStringUTFChars(env, jReaderName, readerState[i].szReader); eventStateTmp = (jint)readerState[i].dwEventState; (*env)->SetIntArrayRegion(env, jEventState, i, 1, &eventStateTmp); + if ((*env)->ExceptionCheck(env)) { + jEventState = NULL; + goto cleanup; + } + } +cleanup: + (*env)->ReleaseIntArrayElements(env, jCurrentState, currentState, JNI_ABORT); + for (i = 0; i < readers; i++) { + free((char *)readerState[i].szReader); } free(readerState); - - handleRV(env, rv); return jEventState; } @@ -336,13 +427,18 @@ JNIEXPORT jbyteArray JNICALL Java_sun_security_smartcardio_PCSC_SCardControl { SCARDHANDLE card = (SCARDHANDLE)jCard; LONG rv; - jbyte* sendBuffer = (*env)->GetByteArrayElements(env, jSendBuffer, NULL); + jbyte* sendBuffer; jint sendBufferLength = (*env)->GetArrayLength(env, jSendBuffer); jbyte receiveBuffer[MAX_STACK_BUFFER_SIZE]; jint receiveBufferLength = MAX_STACK_BUFFER_SIZE; ULONG returnedLength = 0; jbyteArray jReceiveBuffer; + sendBuffer = (*env)->GetByteArrayElements(env, jSendBuffer, NULL); + if (sendBuffer == NULL) { + return NULL; + } + #ifdef J2PCSC_DEBUG { int k; @@ -375,7 +471,12 @@ JNIEXPORT jbyteArray JNICALL Java_sun_security_smartcardio_PCSC_SCardControl #endif jReceiveBuffer = (*env)->NewByteArray(env, returnedLength); + if (jReceiveBuffer == NULL) { + return NULL; + } (*env)->SetByteArrayRegion(env, jReceiveBuffer, 0, returnedLength, receiveBuffer); - + if ((*env)->ExceptionCheck(env)) { + return NULL; + } return jReceiveBuffer; } diff --git a/jdk/src/share/npt/utf.c b/jdk/src/share/npt/utf.c index e4695597bd6..a3b437d346d 100644 --- a/jdk/src/share/npt/utf.c +++ b/jdk/src/share/npt/utf.c @@ -396,7 +396,7 @@ utf8mToUtf8s(struct UtfInst *ui, jbyte *string, int length, jbyte *newString, in /* ================================================================= */ -#if 1 /* Test program */ +#ifdef COMPILE_WITH_UTF_TEST /* Test program */ /* * Convert any byte array into a printable string. diff --git a/jdk/src/solaris/back/util_md.h b/jdk/src/solaris/back/util_md.h index 3aac722eef7..91ba1975aa0 100644 --- a/jdk/src/solaris/back/util_md.h +++ b/jdk/src/solaris/back/util_md.h @@ -62,13 +62,13 @@ typedef unsigned long UNSIGNED_JINT; (((UNSIGNED_JINT)(x & 0xff000000)) >> 24)) #define HOST_TO_JAVA_LONG(x) \ ((x << 56) | \ - ((x & 0x000000000000ff00) << 40) | \ - ((x & 0x0000000000ff0000) << 24) | \ - ((x & 0x00000000ff000000) << 8) | \ - ((x & 0x000000ff00000000) >> 8) | \ - ((x & 0x0000ff0000000000) >> 24) | \ - ((x & 0x00ff000000000000) >> 40) | \ - (((UNSIGNED_JLONG)(x & 0xff00000000000000)) >> 56)) + ((x & 0x000000000000ff00LL) << 40) | \ + ((x & 0x0000000000ff0000LL) << 24) | \ + ((x & 0x00000000ff000000LL) << 8) | \ + ((x & 0x000000ff00000000LL) >> 8) | \ + ((x & 0x0000ff0000000000LL) >> 24) | \ + ((x & 0x00ff000000000000LL) >> 40) | \ + (((UNSIGNED_JLONG)(x & 0xff00000000000000ULL)) >> 56)) #define HOST_TO_JAVA_FLOAT(x) stream_encodeFloat(x) #define HOST_TO_JAVA_DOUBLE(x) stream_encodeDouble(x) 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/awt/X11/InfoWindow.java b/jdk/src/solaris/classes/sun/awt/X11/InfoWindow.java index 48a5b946c81..334d1d1c036 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/InfoWindow.java +++ b/jdk/src/solaris/classes/sun/awt/X11/InfoWindow.java @@ -39,6 +39,7 @@ import java.lang.reflect.InvocationTargetException; /** * An utility window class. This is a base class for Tooltip and Balloon. */ +@SuppressWarnings("serial") // JDK-implementation class public abstract class InfoWindow extends Window { private Container container; private Closer closer; @@ -146,6 +147,7 @@ public abstract class InfoWindow extends Window { Rectangle getBounds(); } + @SuppressWarnings("serial") // JDK-implementation class public static class Tooltip extends InfoWindow { public interface LiveArguments extends InfoWindow.LiveArguments { @@ -239,6 +241,7 @@ public abstract class InfoWindow extends Window { } } + @SuppressWarnings("serial") // JDK-implementation class public static class Balloon extends InfoWindow { public interface LiveArguments extends InfoWindow.LiveArguments { diff --git a/jdk/src/solaris/classes/sun/awt/X11/XAWTLookAndFeel.java b/jdk/src/solaris/classes/sun/awt/X11/XAWTLookAndFeel.java index cf6c3345041..a258e8288dd 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XAWTLookAndFeel.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XAWTLookAndFeel.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2007, 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 @@ -38,6 +38,7 @@ import javax.swing.plaf.basic.BasicBorders; import com.sun.java.swing.plaf.motif.*; import sun.awt.X11.XComponentPeer; +@SuppressWarnings("serial") // JDK-implementation class class XAWTLookAndFeel extends MotifLookAndFeel { /** diff --git a/jdk/src/solaris/classes/sun/awt/X11/XCreateWindowParams.java b/jdk/src/solaris/classes/sun/awt/X11/XCreateWindowParams.java index d61a59a81c0..32d83f193ce 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XCreateWindowParams.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XCreateWindowParams.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2004, 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 @@ -29,6 +29,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; +@SuppressWarnings("serial") // JDK-implementation class public class XCreateWindowParams extends HashMap { public XCreateWindowParams() { } diff --git a/jdk/src/solaris/classes/sun/awt/X11/XCustomCursor.java b/jdk/src/solaris/classes/sun/awt/X11/XCustomCursor.java index 0135e259c48..33ddd383f8b 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XCustomCursor.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XCustomCursor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2008, 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 @@ -35,6 +35,7 @@ import java.awt.*; * @author Thomas Ball * @author Bino George */ +@SuppressWarnings("serial") // JDK-implementation class public class XCustomCursor extends X11CustomCursor { public XCustomCursor(Image cursor, Point hotSpot, String name) diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java index cdce154834e..9370b8cdae4 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java @@ -688,6 +688,7 @@ public class XEmbedCanvasPeer extends XCanvasPeer implements WindowFocusListener } } + @SuppressWarnings("serial") // JDK-implementation class private static class XEmbedDropTarget extends DropTarget { public void addDropTargetListener(DropTargetListener dtl) throws TooManyListenersException { diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxy.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxy.java index bca7cf0db68..def4eecf9cd 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxy.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxy.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2007, 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 @@ -29,6 +29,7 @@ import java.awt.Component; import java.awt.Toolkit; import sun.awt.AWTAccessor; +@SuppressWarnings("serial") // JDK-implementation class public class XEmbedChildProxy extends Component { long handle; XEmbeddingContainer container; diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbeddedFrame.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbeddedFrame.java index 4e968977d44..132375098d7 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XEmbeddedFrame.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbeddedFrame.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2010, 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 @@ -30,6 +30,7 @@ import java.awt.*; import java.awt.AWTKeyStroke; import java.util.logging.Logger; +@SuppressWarnings("serial") // JDK-implementation class public class XEmbeddedFrame extends EmbeddedFrame { private static final Logger log = Logger.getLogger(XEmbeddedFrame.class.getName()); diff --git a/jdk/src/solaris/classes/sun/awt/X11/XException.java b/jdk/src/solaris/classes/sun/awt/X11/XException.java index 1ec83e99961..732c94b5abe 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XException.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XException.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 @@ -30,6 +30,7 @@ package sun.awt.X11; * * @since 1.5 */ +@SuppressWarnings("serial") // JDK-implementation class public class XException extends RuntimeException { public XException() { super(); diff --git a/jdk/src/solaris/classes/sun/awt/X11/XFileDialogPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XFileDialogPeer.java index 5da53e88634..b3d0731d5f0 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XFileDialogPeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XFileDialogPeer.java @@ -199,12 +199,13 @@ class XFileDialogPeer extends XDialogPeer implements FileDialogPeer, ActionListe // After showing we should display 'user.dir' as current directory // if user didn't set directory programatically pathField = new TextField(savedDir != null ? savedDir : userDir); - - pathChoice = new Choice() { + @SuppressWarnings("serial") // Anonymous class + Choice tmp = new Choice() { public Dimension getPreferredSize() { return new Dimension(PATH_CHOICE_WIDTH, pathField.getPreferredSize().height); } }; + pathChoice = tmp; pathPanel = new Panel(); pathPanel.setLayout(new BorderLayout()); @@ -845,6 +846,7 @@ class XFileDialogPeer extends XDialogPeer implements FileDialogPeer, ActionListe } } +@SuppressWarnings("serial") // JDK-implementation class class Separator extends Canvas { public final static int HORIZONTAL = 0; public final static int VERTICAL = 1; diff --git a/jdk/src/solaris/classes/sun/awt/X11/XFramePeer.java b/jdk/src/solaris/classes/sun/awt/X11/XFramePeer.java index ac93ae6501e..27eb71782aa 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XFramePeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XFramePeer.java @@ -284,6 +284,11 @@ class XFramePeer extends XDecoratedPeer implements FramePeer { if (stateLog.isLoggable(PlatformLogger.Level.FINER)) { stateLog.finer("DeIconifying " + this); } + + XNETProtocol net_protocol = XWM.getWM().getNETProtocol(); + if (net_protocol != null) { + net_protocol.setActiveWindow(this); + } xSetVisible(true); } } diff --git a/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java b/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java index 722261113d1..a9122c8e906 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java @@ -213,7 +213,7 @@ final class XNETProtocol extends XProtocol implements XStateProtocol, XLayerProt * If window is showing then it uses ClientMessage, otherwise adjusts NET_WM_STATE list * @param window Window which NET_WM_STATE property is being modified * @param state State atom to be set/reset - * @param reset Indicates operation, 'set' if false, 'reset' if true + * @param set Indicates operation, 'set' if false, 'reset' if true */ private void setStateHelper(XWindowPeer window, XAtom state, boolean set) { if (log.isLoggable(PlatformLogger.Level.FINER)) { @@ -249,6 +249,7 @@ final class XNETProtocol extends XProtocol implements XStateProtocol, XLayerProt XAtom XA_UTF8_STRING = XAtom.get("UTF8_STRING"); /* like STRING but encoding is UTF-8 */ XAtom XA_NET_SUPPORTING_WM_CHECK = XAtom.get("_NET_SUPPORTING_WM_CHECK"); XAtom XA_NET_SUPPORTED = XAtom.get("_NET_SUPPORTED"); /* list of protocols (property of root) */ + XAtom XA_NET_ACTIVE_WINDOW = XAtom.get("_NET_ACTIVE_WINDOW"); XAtom XA_NET_WM_NAME = XAtom.get("_NET_WM_NAME"); /* window property */ XAtom XA_NET_WM_STATE = XAtom.get("_NET_WM_STATE");/* both window property and request */ @@ -325,6 +326,32 @@ final class XNETProtocol extends XProtocol implements XStateProtocol, XLayerProt return res; } + public void setActiveWindow(XWindow window) { + if (!active() || !checkProtocol(XA_NET_SUPPORTED, XA_NET_ACTIVE_WINDOW)) { + return; + } + + XClientMessageEvent msg = new XClientMessageEvent(); + msg.zero(); + msg.set_type(XConstants.ClientMessage); + msg.set_message_type(XA_NET_ACTIVE_WINDOW.getAtom()); + msg.set_display(XToolkit.getDisplay()); + msg.set_window(window.getWindow()); + msg.set_format(32); + msg.set_data(0, 1); + msg.set_data(1, XToolkit.getCurrentServerTime()); + msg.set_data(2, 0); + + XToolkit.awtLock(); + try { + XlibWrapper.XSendEvent(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), false, + XConstants.SubstructureRedirectMask | XConstants.SubstructureNotifyMask, msg.getPData()); + } finally { + XToolkit.awtUnlock(); + msg.dispose(); + } + } + boolean isWMName(String name) { if (!active()) { return false; diff --git a/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java index f4bf1ec2062..9f0a717e5e4 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java @@ -63,7 +63,6 @@ import sun.awt.CausedFocusEvent; import sun.awt.AWTAccessor; import sun.awt.SunToolkit; - final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer { private final AWTTextPane textPane; @@ -615,7 +614,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer { } } - + @SuppressWarnings("serial") // JDK-implementation class static final class XAWTCaret extends DefaultCaret { @Override public void focusGained(FocusEvent e) { @@ -647,6 +646,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer { } } + @SuppressWarnings("serial") // JDK-implementation class final class XAWTScrollBarButton extends BasicArrowButton { private UIDefaults uidefaults = XToolkit.getUIDefaults(); @@ -907,6 +907,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer { } } + @SuppressWarnings("serial") // JDK-implementation class final class AWTTextArea extends JTextArea implements DocumentListener { private boolean isFocused = false; @@ -1105,6 +1106,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer { } } + @SuppressWarnings("serial") // JDK-implementation class private class AWTTextPane extends JScrollPane implements FocusListener { private final JTextArea jtext; @@ -1190,6 +1192,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer { return xwin.getGraphics(); } + @SuppressWarnings("serial") // JDK-implementation class final class XAWTScrollBar extends ScrollBar { XAWTScrollBar(int i) { @@ -1205,6 +1208,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer { } } + @SuppressWarnings("serial") // JDK-implementation class static class BevelBorder extends AbstractBorder implements UIResource { private Color darkShadow = SystemColor.controlDkShadow; private Color lightShadow = SystemColor.controlLtHighlight; diff --git a/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java index 3db7ed4ef9d..aeee2a022a4 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java @@ -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 @@ -541,6 +541,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { } } + @SuppressWarnings("serial") // JDK-implementation class final class XAWTTextField extends JPasswordField implements ActionListener, DocumentListener { diff --git a/jdk/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java index e2da468f440..86e6e064fc0 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java @@ -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 @@ -501,6 +501,7 @@ public class XTrayIconPeer implements TrayIconPeer, // Special embedded frame for tray icon // *************************************** + @SuppressWarnings("serial") // JDK-implementation class private static class XTrayIconEmbeddedFrame extends XEmbeddedFrame { public XTrayIconEmbeddedFrame(){ super(XToolkit.getDefaultRootWindow(), true, true); @@ -527,6 +528,7 @@ public class XTrayIconPeer implements TrayIconPeer, // Classes for painting an image on canvas // *************************************** + @SuppressWarnings("serial") // JDK-implementation class static class TrayIconCanvas extends IconCanvas { TrayIcon target; boolean autosize; @@ -548,6 +550,7 @@ public class XTrayIconPeer implements TrayIconPeer, } } + @SuppressWarnings("serial") // JDK-implementation class public static class IconCanvas extends Canvas { volatile Image image; IconObserver observer; diff --git a/jdk/src/solaris/classes/sun/awt/X11CustomCursor.java b/jdk/src/solaris/classes/sun/awt/X11CustomCursor.java index ed9a804cc60..969e7c5116e 100644 --- a/jdk/src/solaris/classes/sun/awt/X11CustomCursor.java +++ b/jdk/src/solaris/classes/sun/awt/X11CustomCursor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2003, 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 @@ -36,6 +36,7 @@ import sun.awt.image.ImageRepresentation; * @see Component#setCursor * @author Thomas Ball */ +@SuppressWarnings("serial") // JDK-implementation class public abstract class X11CustomCursor extends CustomCursor { public X11CustomCursor(Image cursor, Point hotSpot, String name) 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/classes/sun/nio/fs/UnixPath.java b/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java index fe430cc5ee6..9f45afdab48 100644 --- a/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java +++ b/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java @@ -482,7 +482,7 @@ class UnixPath @Override public Path normalize() { final int count = getNameCount(); - if (count == 0) + if (count == 0 || isEmpty()) return this; boolean[] ignore = new boolean[count]; // true => ignore name diff --git a/jdk/src/solaris/classes/sun/print/IPPPrintService.java b/jdk/src/solaris/classes/sun/print/IPPPrintService.java index fbf8802edb5..2134c71321e 100644 --- a/jdk/src/solaris/classes/sun/print/IPPPrintService.java +++ b/jdk/src/solaris/classes/sun/print/IPPPrintService.java @@ -772,6 +772,7 @@ public class IPPPrintService implements PrintService, SunPrinterJobService { } //This class is for getting all pre-defined Finishings + @SuppressWarnings("serial") // JDK implementation class private class ExtFinishing extends Finishings { ExtFinishing(int value) { super(100); // 100 to avoid any conflicts with predefined values. 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/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c index c12bed9260c..086b37487f7 100644 --- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c +++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c @@ -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 @@ -229,8 +229,9 @@ static int deviceInfoIterator(UINT32 deviceID, snd_rawmidi_info_t *rawmidi_info, desc->deviceID = deviceID; buffer[0]=' '; buffer[1]='['; + // buffer[300] is enough to store the actual device string w/o overrun getDeviceStringFromDeviceID(&buffer[2], deviceID, usePlugHw, ALSA_RAWMIDI); - strcat(buffer, "]"); + strncat(buffer, "]", sizeof(buffer) - strlen(buffer) - 1); strncpy(desc->name, (cardinfo != NULL) ? snd_ctl_card_info_get_id(cardinfo) diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c index 9abd53a0f8e..6660047e4e3 100644 --- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c +++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c @@ -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 @@ -184,8 +184,9 @@ int deviceInfoIterator(UINT32 deviceID, snd_pcm_info_t* pcminfo, 1 : snd_pcm_info_get_subdevices_count(pcminfo); *desc->deviceID = deviceID; buffer[0]=' '; buffer[1]='['; + // buffer[300] is enough to store the actual device string w/o overrun getDeviceStringFromDeviceID(&buffer[2], deviceID, usePlugHw, ALSA_PCM); - strcat(buffer, "]"); + strncat(buffer, "]", sizeof(buffer) - strlen(buffer) - 1); strncpy(desc->name, (cardinfo != NULL) ? snd_ctl_card_info_get_id(cardinfo) diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c index 7d2ac119234..14475413f1c 100644 --- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c +++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, 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 @@ -229,8 +229,9 @@ static int deviceInfoIterator(UINT32 deviceID, snd_rawmidi_info_t *rawmidi_info, desc->deviceID = deviceID; buffer[0]=' '; buffer[1]='['; + // buffer[300] is enough to store the actual device string w/o overrun getDeviceStringFromDeviceID(&buffer[2], deviceID, usePlugHw, ALSA_RAWMIDI); - strcat(buffer, "]"); + strncat(buffer, "]", sizeof(buffer) - strlen(buffer) - 1); strncpy(desc->name, (cardinfo != NULL) ? snd_ctl_card_info_get_id(cardinfo) diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.c index c9f12176d86..da7b9a84745 100644 --- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.c +++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2007, 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 @@ -184,8 +184,9 @@ int deviceInfoIterator(UINT32 deviceID, snd_pcm_info_t* pcminfo, 1 : snd_pcm_info_get_subdevices_count(pcminfo); *desc->deviceID = deviceID; buffer[0]=' '; buffer[1]='['; + // buffer[300] is enough to store the actual device string w/o overrun getDeviceStringFromDeviceID(&buffer[2], deviceID, usePlugHw, ALSA_PCM); - strcat(buffer, "]"); + strncat(buffer, "]", sizeof(buffer) - strlen(buffer) - 1); strncpy(desc->name, (cardinfo != NULL) ? snd_ctl_card_info_get_id(cardinfo) diff --git a/jdk/src/solaris/native/java/net/NetworkInterface.c b/jdk/src/solaris/native/java/net/NetworkInterface.c index 8ff3bb1fd27..ea467890a1e 100644 --- a/jdk/src/solaris/native/java/net/NetworkInterface.c +++ b/jdk/src/solaris/native/java/net/NetworkInterface.c @@ -231,7 +231,11 @@ JNIEXPORT jobject JNICALL Java_java_net_NetworkInterface_getByName0 } name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); - + if (name_utf == NULL) { + if (!(*env)->ExceptionCheck(env)) + JNU_ThrowOutOfMemoryError(env, NULL); + return NULL; + } /* * Search the list of interface based on name */ @@ -499,7 +503,11 @@ JNIEXPORT jbyteArray JNICALL Java_java_net_NetworkInterface_getMacAddr0(JNIEnv * const char* name_utf; name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); - + if (name_utf == NULL) { + if (!(*env)->ExceptionCheck(env)) + JNU_ThrowOutOfMemoryError(env, NULL); + return NULL; + } if ((sock =openSocketWithFallback(env, name_utf)) < 0) { (*env)->ReleaseStringUTFChars(env, name, name_utf); return JNI_FALSE; @@ -546,6 +554,11 @@ JNIEXPORT jint JNICALL Java_java_net_NetworkInterface_getMTU0(JNIEnv *env, jclas const char* name_utf; name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); + if (name_utf == NULL) { + if (!(*env)->ExceptionCheck(env)) + JNU_ThrowOutOfMemoryError(env, NULL); + return ret; + } if ((sock =openSocketWithFallback(env, name_utf)) < 0) { (*env)->ReleaseStringUTFChars(env, name, name_utf); @@ -569,7 +582,11 @@ static int getFlags0(JNIEnv *env, jstring name) { int flags = 0; name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); - + if (name_utf == NULL) { + if (!(*env)->ExceptionCheck(env)) + JNU_ThrowOutOfMemoryError(env, NULL); + return -1; + } if ((sock = openSocketWithFallback(env, name_utf)) < 0) { (*env)->ReleaseStringUTFChars(env, name, name_utf); return -1; @@ -613,10 +630,9 @@ jobject createNetworkInterface(JNIEnv *env, netif *ifs) { * Create a NetworkInterface object and populate it */ netifObj = (*env)->NewObject(env, ni_class, ni_ctrID); + CHECK_NULL_RETURN(netifObj, NULL); name = (*env)->NewStringUTF(env, ifs->name); - if (netifObj == NULL || name == NULL) { - return NULL; - } + CHECK_NULL_RETURN(name, NULL); (*env)->SetObjectField(env, netifObj, ni_nameID, name); (*env)->SetObjectField(env, netifObj, ni_descID, name); (*env)->SetIntField(env, netifObj, ni_indexID, ifs->index); @@ -655,6 +671,8 @@ jobject createNetworkInterface(JNIEnv *env, netif *ifs) { iaObj = (*env)->NewObject(env, ia4_class, ia4_ctrID); if (iaObj) { setInetAddress_addr(env, iaObj, htonl(((struct sockaddr_in*)addrP->addr)->sin_addr.s_addr)); + } else { + return NULL; } ibObj = (*env)->NewObject(env, ni_ibcls, ni_ibctrID); if (ibObj) { @@ -665,10 +683,14 @@ jobject createNetworkInterface(JNIEnv *env, netif *ifs) { if (ia2Obj) { setInetAddress_addr(env, ia2Obj, htonl(((struct sockaddr_in*)addrP->brdcast)->sin_addr.s_addr)); (*env)->SetObjectField(env, ibObj, ni_ib4broadcastID, ia2Obj); + } else { + return NULL; } } (*env)->SetShortField(env, ibObj, ni_ib4maskID, addrP->mask); (*env)->SetObjectArrayElement(env, bindArr, bind_index++, ibObj); + } else { + return NULL; } } @@ -688,20 +710,20 @@ jobject createNetworkInterface(JNIEnv *env, netif *ifs) { setInet6Address_scopeid(env, iaObj, scope); setInet6Address_scopeifname(env, iaObj, netifObj); } + } else { + return NULL; } ibObj = (*env)->NewObject(env, ni_ibcls, ni_ibctrID); if (ibObj) { (*env)->SetObjectField(env, ibObj, ni_ibaddressID, iaObj); (*env)->SetShortField(env, ibObj, ni_ib4maskID, addrP->mask); (*env)->SetObjectArrayElement(env, bindArr, bind_index++, ibObj); + } else { + return NULL; } } #endif - if (iaObj == NULL) { - return NULL; - } - (*env)->SetObjectArrayElement(env, addrArr, addr_index++, iaObj); addrP = addrP->next; } @@ -893,9 +915,14 @@ netif *addif(JNIEnv *env, int sock, const char * if_name, // Deal with broadcast addr & subnet mask struct sockaddr * brdcast_to = (struct sockaddr *) ((char *) addrP + sizeof(netaddr) + addr_size); addrP->brdcast = getBroadcast(env, sock, name, brdcast_to ); - - if ((mask = getSubnet(env, sock, name)) != -1) + if ((*env)->ExceptionCheck(env) == JNI_TRUE) { + return ifs; + } + if ((mask = getSubnet(env, sock, name)) != -1) { addrP->mask = mask; + } else if((*env)->ExceptionCheck(env)) { + return ifs; + } } /** @@ -1377,6 +1404,7 @@ static int getMacAddress(JNIEnv *env, int sock, const char* ifname, const struct nddp = (struct kinfo_ndd *)malloc(size); if (!nddp) { + JNU_ThrowOutOfMemoryError(env, "Network interface getMacAddress native buffer allocation failed"); return -1; } diff --git a/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c b/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c index 842fa2af5d9..7771ccd5cb4 100644 --- a/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c +++ b/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c @@ -29,6 +29,7 @@ #include <mach/mach.h> #include <mach/task_info.h> +#include "jvm.h" JNIEXPORT jdouble JNICALL Java_sun_management_OperatingSystemImpl_getSystemCpuLoad0 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/back/linker_md.c b/jdk/src/windows/back/linker_md.c index 05aaf4deda3..f5bfe230c22 100644 --- a/jdk/src/windows/back/linker_md.c +++ b/jdk/src/windows/back/linker_md.c @@ -33,6 +33,7 @@ #include <string.h> #include <errno.h> #include <io.h> +#include <stdlib.h> #include "sys.h" diff --git a/jdk/src/windows/back/proc_md.h b/jdk/src/windows/back/proc_md.h index f77c7646f2b..dc8caf18273 100644 --- a/jdk/src/windows/back/proc_md.h +++ b/jdk/src/windows/back/proc_md.h @@ -27,6 +27,7 @@ #include <process.h> #include <time.h> +#include <Windows.h> #define MUTEX_T int #define MUTEX_INIT 0 @@ -40,4 +41,4 @@ #define popen _popen #define pclose _pclose -#define sleep _sleep +#define sleep(s) Sleep((s)*1000) diff --git a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java index 765a9b4962b..696633917a2 100644 --- a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java +++ b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java @@ -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 @@ -68,7 +68,7 @@ import javax.swing.SwingConstants; * @author Leif Samuelsson * @author Kenneth Russell * @since 1.4 */ - +@SuppressWarnings("serial") // JDK-implementation class final class Win32ShellFolder2 extends ShellFolder { private static native void initIDs(); diff --git a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java index b14676c7eb7..dbc4129618b 100644 --- a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java +++ b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java @@ -54,13 +54,7 @@ public class Win32ShellFolderManager2 extends ShellFolderManager { static { // Load library here - AccessController.doPrivileged( - new java.security.PrivilegedAction<Void>() { - public Void run() { - System.loadLibrary("awt"); - return null; - } - }); + sun.awt.windows.WToolkit.loadLibraries(); } public ShellFolder createShellFolder(File file) throws FileNotFoundException { diff --git a/jdk/src/windows/classes/sun/awt/windows/WCustomCursor.java b/jdk/src/windows/classes/sun/awt/windows/WCustomCursor.java index dc5debd4af5..81e77c86ff7 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WCustomCursor.java +++ b/jdk/src/windows/classes/sun/awt/windows/WCustomCursor.java @@ -38,6 +38,7 @@ import sun.awt.image.ToolkitImage; * @see Component#setCursor * @author ThomasBall */ +@SuppressWarnings("serial") // JDK-implementation class final class WCustomCursor extends CustomCursor { WCustomCursor(Image cursor, Point hotSpot, String name) diff --git a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java index 25d45dca90d..bc22003a261 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java +++ b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java @@ -35,6 +35,7 @@ import sun.security.action.GetPropertyAction; import java.security.PrivilegedAction; import java.security.AccessController; +@SuppressWarnings("serial") // JDK-implementation class public class WEmbeddedFrame extends EmbeddedFrame { static { diff --git a/jdk/src/windows/classes/sun/awt/windows/WFontMetrics.java b/jdk/src/windows/classes/sun/awt/windows/WFontMetrics.java index b92f3b03b5e..01dae69c91a 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WFontMetrics.java +++ b/jdk/src/windows/classes/sun/awt/windows/WFontMetrics.java @@ -33,6 +33,7 @@ import java.util.Hashtable; * * @author Jim Graham */ +@SuppressWarnings("serial") // JDK-implementation class final class WFontMetrics extends FontMetrics { static { diff --git a/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java b/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java index 16d707bc25c..877e722e1ae 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java @@ -34,6 +34,7 @@ import java.awt.print.PrinterJob; import java.awt.print.PageFormat; import java.awt.print.Printable; +@SuppressWarnings("serial") // JDK-implementation class final class WPageDialog extends WPrintDialog { static { initIDs(); diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java b/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java index c3d0295f44f..9f518311876 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java @@ -32,6 +32,7 @@ import java.awt.print.PrinterJob; import sun.awt.AWTAccessor; +@SuppressWarnings("serial") // JDK-implementation class class WPrintDialog extends Dialog { static { initIDs(); diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java b/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java index 5121562ebcc..5adc64854d3 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java @@ -2194,6 +2194,7 @@ public final class WPrinterJob extends RasterPrinterJob } +@SuppressWarnings("serial") // JDK-implementation class class PrintToFileErrorDialog extends Dialog implements ActionListener{ public PrintToFileErrorDialog(Frame parent, String title, String message, String buttonText) { diff --git a/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java b/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java index 654c502743d..91bc7fa0ffe 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java @@ -164,6 +164,7 @@ final class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { * scroll bar thumbs and paint the exposed area in one synchronous * operation. */ + @SuppressWarnings("serial") // JDK-implementation class class ScrollEvent extends PeerEvent { ScrollEvent(Object source, Runnable runnable) { super(source, runnable, 0L); diff --git a/jdk/src/windows/classes/sun/print/Win32MediaTray.java b/jdk/src/windows/classes/sun/print/Win32MediaTray.java index 176508cbb4a..eed18007353 100644 --- a/jdk/src/windows/classes/sun/print/Win32MediaTray.java +++ b/jdk/src/windows/classes/sun/print/Win32MediaTray.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, 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 @@ -34,7 +34,7 @@ import java.util.ArrayList; * Windows media trays or bins not covered by MediaTray's standard values. * It also implements driver-defined trays. **/ - +@SuppressWarnings("serial") // JDK implementation class public class Win32MediaTray extends MediaTray { static final Win32MediaTray ENVELOPE_MANUAL = new Win32MediaTray(0, diff --git a/jdk/src/windows/classes/sun/print/Win32PrintService.java b/jdk/src/windows/classes/sun/print/Win32PrintService.java index 1fc7fe46f54..b8b4dfda1b5 100644 --- a/jdk/src/windows/classes/sun/print/Win32PrintService.java +++ b/jdk/src/windows/classes/sun/print/Win32PrintService.java @@ -1720,7 +1720,7 @@ public class Win32PrintService implements PrintService, AttributeUpdater, private native String getPrinterPort(String printerName); } - +@SuppressWarnings("serial") // JDK implementation class class Win32MediaSize extends MediaSizeName { private static ArrayList winStringTable = new ArrayList(); private static ArrayList winEnumTable = new ArrayList(); 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/RSACipher.java b/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java index 7ab29629a18..023725b6205 100644 --- a/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java +++ b/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java @@ -35,6 +35,8 @@ import javax.crypto.*; import javax.crypto.spec.*; import sun.security.rsa.RSAKeyFactory; +import sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec; +import sun.security.util.KeyUtil; /** * RSA cipher implementation using the Microsoft Crypto API. @@ -92,9 +94,16 @@ public final class RSACipher extends CipherSpi { // the public key, if we were initialized using a public key private sun.security.mscapi.Key publicKey; + // the private key, if we were initialized using a private key private sun.security.mscapi.Key privateKey; + // cipher parameter for TLS RSA premaster secret + private AlgorithmParameterSpec spec = null; + + // the source of randomness + private SecureRandom random; + public RSACipher() { paddingType = PAD_PKCS1; } @@ -155,8 +164,12 @@ public final class RSACipher extends CipherSpi { throws InvalidKeyException, InvalidAlgorithmParameterException { if (params != null) { - throw new InvalidAlgorithmParameterException - ("Parameters not supported"); + if (!(params instanceof TlsRsaPremasterSecretParameterSpec)) { + throw new InvalidAlgorithmParameterException( + "Parameters not supported"); + } + spec = params; + this.random = random; // for TLS RSA premaster secret } init(opmode, key); } @@ -356,39 +369,47 @@ public final class RSACipher extends CipherSpi { } // see JCE spec - protected java.security.Key engineUnwrap(byte[] wrappedKey, String algorithm, + protected java.security.Key engineUnwrap(byte[] wrappedKey, + String algorithm, int type) throws InvalidKeyException, NoSuchAlgorithmException { if (wrappedKey.length > buffer.length) { throw new InvalidKeyException("Key is too long for unwrapping"); } + + boolean isTlsRsaPremasterSecret = + algorithm.equals("TlsRsaPremasterSecret"); + Exception failover = null; + byte[] encoded = null; + update(wrappedKey, 0, wrappedKey.length); - try { - byte[] encoding = doFinal(); - - switch (type) { - case Cipher.PUBLIC_KEY: - return constructPublicKey(encoding, algorithm); - - case Cipher.PRIVATE_KEY: - return constructPrivateKey(encoding, algorithm); - - case Cipher.SECRET_KEY: - return constructSecretKey(encoding, algorithm); - - default: - throw new InvalidKeyException("Unknown key type " + type); - } - + encoded = doFinal(); } catch (BadPaddingException e) { - // should not occur - throw new InvalidKeyException("Unwrapping failed", e); - + if (isTlsRsaPremasterSecret) { + failover = e; + } else { + throw new InvalidKeyException("Unwrapping failed", e); + } } catch (IllegalBlockSizeException e) { // should not occur, handled with length check above throw new InvalidKeyException("Unwrapping failed", e); } + + if (isTlsRsaPremasterSecret) { + if (!(spec instanceof TlsRsaPremasterSecretParameterSpec)) { + throw new IllegalStateException( + "No TlsRsaPremasterSecretParameterSpec specified"); + } + + // polish the TLS premaster secret + encoded = KeyUtil.checkTlsPreMasterSecretKey( + ((TlsRsaPremasterSecretParameterSpec)spec).getClientVersion(), + ((TlsRsaPremasterSecretParameterSpec)spec).getServerVersion(), + random, encoded, (failover != null)); + } + + return constructKey(encoded, algorithm, type); } // see JCE spec @@ -452,6 +473,22 @@ public final class RSACipher extends CipherSpi { return new SecretKeySpec(encodedKey, encodedKeyAlgorithm); } + private static Key constructKey(byte[] encodedKey, + String encodedKeyAlgorithm, + int keyType) throws InvalidKeyException, NoSuchAlgorithmException { + + switch (keyType) { + case Cipher.PUBLIC_KEY: + return constructPublicKey(encodedKey, encodedKeyAlgorithm); + case Cipher.PRIVATE_KEY: + return constructPrivateKey(encodedKey, encodedKeyAlgorithm); + case Cipher.SECRET_KEY: + return constructSecretKey(encodedKey, encodedKeyAlgorithm); + default: + throw new InvalidKeyException("Unknown key type " + keyType); + } + } + /* * Encrypt/decrypt a data buffer using Microsoft Crypto API with HCRYPTKEY. * It expects and returns ciphertext data in big-endian form. 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/src/windows/native/java/io/WinNTFileSystem_md.c b/jdk/src/windows/native/java/io/WinNTFileSystem_md.c index cfaeccdd030..6ecf818d3ff 100644 --- a/jdk/src/windows/native/java/io/WinNTFileSystem_md.c +++ b/jdk/src/windows/native/java/io/WinNTFileSystem_md.c @@ -85,7 +85,7 @@ extern int wcanonicalizeWithPrefix(const WCHAR *canonicalPrefix, const WCHAR *pa * Retrieves the fully resolved (final) path for the given path or NULL * if the function fails. */ -static WCHAR* getFinalPath(const WCHAR *path) +static WCHAR* getFinalPath(JNIEnv *env, const WCHAR *path) { HANDLE h; WCHAR *result; @@ -121,6 +121,7 @@ static WCHAR* getFinalPath(const WCHAR *path) len = (*GetFinalPathNameByHandle_func)(h, result, len, 0); } else { len = 0; + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); } } @@ -141,6 +142,7 @@ static WCHAR* getFinalPath(const WCHAR *path) /* copy result without prefix into new buffer */ WCHAR *tmp = (WCHAR*)malloc(resultLen * sizeof(WCHAR)); if (tmp == NULL) { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); len = 0; } else { WCHAR *p = result; @@ -164,6 +166,8 @@ static WCHAR* getFinalPath(const WCHAR *path) free(result); result = NULL; } + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); } error = GetLastError(); @@ -257,6 +261,8 @@ Java_java_io_WinNTFileSystem_canonicalize0(JNIEnv *env, jobject this, rv = (*env)->NewString(env, cp, (jsize)wcslen(cp)); } free(cp); + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); } } else if (wcanonicalize(path, canonicalPath, MAX_PATH_LENGTH) >= 0) { rv = (*env)->NewString(env, canonicalPath, (jsize)wcslen(canonicalPath)); @@ -288,6 +294,8 @@ Java_java_io_WinNTFileSystem_canonicalizeWithPrefix0(JNIEnv *env, jobject this, rv = (*env)->NewString(env, cp, (jsize)wcslen(cp)); } free(cp); + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); } } else if (wcanonicalizeWithPrefix(canonicalPrefix, pathWithCanonicalPrefix, @@ -433,7 +441,7 @@ Java_java_io_WinNTFileSystem_setPermission(JNIEnv *env, jobject this, if ((a != INVALID_FILE_ATTRIBUTES) && ((a & FILE_ATTRIBUTE_REPARSE_POINT) != 0)) { - WCHAR *fp = getFinalPath(pathbuf); + WCHAR *fp = getFinalPath(env, pathbuf); if (fp == NULL) { a = INVALID_FILE_ATTRIBUTES; } else { @@ -628,6 +636,7 @@ Java_java_io_WinNTFileSystem_list(JNIEnv *env, jobject this, jobject file) if (search_path == 0) { free (pathbuf); errno = ENOMEM; + JNU_ThrowOutOfMemoryError(env, "native memory allocation faiuled"); return NULL; } wcscpy(search_path, pathbuf); @@ -803,7 +812,7 @@ Java_java_io_WinNTFileSystem_setReadOnly(JNIEnv *env, jobject this, if ((a != INVALID_FILE_ATTRIBUTES) && ((a & FILE_ATTRIBUTE_REPARSE_POINT) != 0)) { - WCHAR *fp = getFinalPath(pathbuf); + WCHAR *fp = getFinalPath(env, pathbuf); if (fp == NULL) { a = INVALID_FILE_ATTRIBUTES; } else { diff --git a/jdk/src/windows/native/java/io/io_util_md.c b/jdk/src/windows/native/java/io/io_util_md.c index 55e9625377e..123995433eb 100644 --- a/jdk/src/windows/native/java/io/io_util_md.c +++ b/jdk/src/windows/native/java/io/io_util_md.c @@ -165,6 +165,9 @@ pathToNTPath(JNIEnv *env, jstring path, jboolean throwFNFE) { pathbuf = (WCHAR*)malloc((pathlen + 6) * sizeof(WCHAR)); if (pathbuf != 0) { wcscpy(pathbuf, ps); + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); + return NULL; } } } else { @@ -188,6 +191,9 @@ pathToNTPath(JNIEnv *env, jstring path, jboolean throwFNFE) { pathbuf = (WCHAR*)malloc((pathlen + 6) * sizeof(WCHAR)); if (pathbuf != 0) { wcscpy(pathbuf, ps); + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); + return NULL; } } } @@ -196,11 +202,18 @@ pathToNTPath(JNIEnv *env, jstring path, jboolean throwFNFE) { if (pathlen == 0) { if (throwFNFE == JNI_TRUE) { - throwFileNotFoundException(env, path); + if (!(*env)->ExceptionCheck(env)) { + throwFileNotFoundException(env, path); + } return NULL; } else { pathbuf = (WCHAR*)malloc(sizeof(WCHAR)); - pathbuf[0] = L'\0'; + if (pathbuf != NULL) { + pathbuf[0] = L'\0'; + } else { + JNU_ThrowOutOfMemoryError(env, 0); + return NULL; + } } } if (pathbuf == 0) { diff --git a/jdk/src/windows/native/java/lang/ProcessEnvironment_md.c b/jdk/src/windows/native/java/lang/ProcessEnvironment_md.c index 3b73dd1d326..5c552f449d8 100644 --- a/jdk/src/windows/native/java/lang/ProcessEnvironment_md.c +++ b/jdk/src/windows/native/java/lang/ProcessEnvironment_md.c @@ -35,9 +35,13 @@ environmentBlock9x(JNIEnv *env) jmethodID String_init_ID; jbyteArray bytes; jbyte *blockA; + jclass string_class; + + string_class = JNU_ClassString(env); + CHECK_NULL_RETURN(string_class, NULL); String_init_ID = - (*env)->GetMethodID(env, JNU_ClassString(env), "<init>", "([B)V"); + (*env)->GetMethodID(env, string_class, "<init>", "([B)V"); CHECK_NULL_RETURN(String_init_ID, NULL); blockA = (jbyte *) GetEnvironmentStringsA(); @@ -54,10 +58,13 @@ environmentBlock9x(JNIEnv *env) while (blockA[i++]) ; - if ((bytes = (*env)->NewByteArray(env, i)) == NULL) return NULL; + if ((bytes = (*env)->NewByteArray(env, i)) == NULL) { + FreeEnvironmentStringsA(blockA); + return NULL; + } (*env)->SetByteArrayRegion(env, bytes, 0, i, blockA); FreeEnvironmentStringsA(blockA); - return (*env)->NewObject(env, JNU_ClassString(env), + return (*env)->NewObject(env, string_class, String_init_ID, bytes); } diff --git a/jdk/src/windows/native/java/lang/ProcessImpl_md.c b/jdk/src/windows/native/java/lang/ProcessImpl_md.c index 6721cc16579..a432f1198dc 100644 --- a/jdk/src/windows/native/java/lang/ProcessImpl_md.c +++ b/jdk/src/windows/native/java/lang/ProcessImpl_md.c @@ -359,24 +359,28 @@ Java_java_lang_ProcessImpl_create(JNIEnv *env, jclass ignored, const jchar *penvBlock = (envBlock != NULL) ? (*env)->GetStringChars(env, envBlock, NULL) : NULL; - const jchar *pdir = (dir != NULL) - ? (*env)->GetStringChars(env, dir, NULL) - : NULL; - jlong *handles = (*env)->GetLongArrayElements(env, stdHandles, NULL); - if (handles != NULL) { - ret = processCreate( - env, - pcmd, - penvBlock, - pdir, - handles, - redirectErrorStream); - (*env)->ReleaseLongArrayElements(env, stdHandles, handles, 0); + if (!(*env)->ExceptionCheck(env)) { + const jchar *pdir = (dir != NULL) + ? (*env)->GetStringChars(env, dir, NULL) + : NULL; + if (!(*env)->ExceptionCheck(env)) { + jlong *handles = (*env)->GetLongArrayElements(env, stdHandles, NULL); + if (handles != NULL) { + ret = processCreate( + env, + pcmd, + penvBlock, + pdir, + handles, + redirectErrorStream); + (*env)->ReleaseLongArrayElements(env, stdHandles, handles, 0); + } + if (pdir != NULL) + (*env)->ReleaseStringChars(env, dir, pdir); + } + if (penvBlock != NULL) + (*env)->ReleaseStringChars(env, envBlock, penvBlock); } - if (pdir != NULL) - (*env)->ReleaseStringChars(env, dir, pdir); - if (penvBlock != NULL) - (*env)->ReleaseStringChars(env, envBlock, penvBlock); (*env)->ReleaseStringChars(env, cmd, pcmd); } } @@ -448,7 +452,7 @@ Java_java_lang_ProcessImpl_isProcessAlive(JNIEnv *env, jclass ignored, jlong han JNIEXPORT jboolean JNICALL Java_java_lang_ProcessImpl_closeHandle(JNIEnv *env, jclass ignored, jlong handle) { - return CloseHandle((HANDLE) handle); + return (jboolean) CloseHandle((HANDLE) handle); } /** diff --git a/jdk/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c b/jdk/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c index 12be2b5138e..684b664a83d 100644 --- a/jdk/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c +++ b/jdk/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c @@ -384,15 +384,19 @@ JNIEXPORT jint JNICALL Java_java_net_DualStackPlainDatagramSocketImpl_socketRece if (packetAddress == NULL) { packetAddress = NET_SockaddrToInetAddress(env, (struct sockaddr *)&sa, &port); - /* stuff the new Inetaddress into the packet */ - (*env)->SetObjectField(env, dpObj, dp_addressID, packetAddress); + if (packetAddress != NULL) { + /* stuff the new Inetaddress into the packet */ + (*env)->SetObjectField(env, dpObj, dp_addressID, packetAddress); + } } - /* populate the packet */ - (*env)->SetByteArrayRegion(env, packetBuffer, packetBufferOffset, rv, + if (!(*env)->ExceptionCheck(env)) { + /* populate the packet */ + (*env)->SetByteArrayRegion(env, packetBuffer, packetBufferOffset, rv, (jbyte *)fullPacket); - (*env)->SetIntField(env, dpObj, dp_portID, port); - (*env)->SetIntField(env, dpObj, dp_lengthID, rv); + (*env)->SetIntField(env, dpObj, dp_portID, port); + (*env)->SetIntField(env, dpObj, dp_lengthID, rv); + } } if (packetBufferLen > MAX_BUFFER_LEN) { diff --git a/jdk/src/windows/native/java/net/NetworkInterface.c b/jdk/src/windows/native/java/net/NetworkInterface.c index 84ba46dc5a2..8ba5eda3c1f 100644 --- a/jdk/src/windows/native/java/net/NetworkInterface.c +++ b/jdk/src/windows/native/java/net/NetworkInterface.c @@ -543,16 +543,16 @@ jobject createNetworkInterface * Create a NetworkInterface object and populate it */ netifObj = (*env)->NewObject(env, ni_class, ni_ctor); + CHECK_NULL_RETURN(netifObj, NULL); name = (*env)->NewStringUTF(env, ifs->name); + CHECK_NULL_RETURN(name, NULL); if (ifs->dNameIsUnicode) { displayName = (*env)->NewString(env, (PWCHAR)ifs->displayName, (jsize)wcslen ((PWCHAR)ifs->displayName)); } else { displayName = (*env)->NewStringUTF(env, ifs->displayName); } - if (netifObj == NULL || name == NULL || displayName == NULL) { - return NULL; - } + CHECK_NULL_RETURN(displayName, NULL); (*env)->SetObjectField(env, netifObj, ni_nameID, name); (*env)->SetObjectField(env, netifObj, ni_displayNameID, displayName); (*env)->SetIntField(env, netifObj, ni_indexID, ifs->index); @@ -682,23 +682,28 @@ JNIEXPORT jobject JNICALL Java_java_net_NetworkInterface_getByName0 /* get the name as a C string */ name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); + if (name_utf != NULL) { - /* Search by name */ - curr = ifList; - while (curr != NULL) { - if (strcmp(name_utf, curr->name) == 0) { - break; + /* Search by name */ + curr = ifList; + while (curr != NULL) { + if (strcmp(name_utf, curr->name) == 0) { + break; + } + curr = curr->next; } - curr = curr->next; - } - /* if found create a NetworkInterface */ - if (curr != NULL) {; - netifObj = createNetworkInterface(env, curr, -1, NULL); - } + /* if found create a NetworkInterface */ + if (curr != NULL) {; + netifObj = createNetworkInterface(env, curr, -1, NULL); + } - /* release the UTF string */ - (*env)->ReleaseStringUTFChars(env, name, name_utf); + /* release the UTF string */ + (*env)->ReleaseStringUTFChars(env, name, name_utf); + } else { + if (!(*env)->ExceptionCheck(env)) + JNU_ThrowOutOfMemoryError(env, NULL); + } /* release the interface list */ free_netif(ifList); diff --git a/jdk/src/windows/native/java/util/prefs/WindowsPreferences.c b/jdk/src/windows/native/java/util/prefs/WindowsPreferences.c index 3cfd8ce10a8..ef3ff356423 100644 --- a/jdk/src/windows/native/java/util/prefs/WindowsPreferences.c +++ b/jdk/src/windows/native/java/util/prefs/WindowsPreferences.c @@ -24,8 +24,10 @@ */ #include <stdlib.h> -#include <jni.h> #include <windows.h> +#include "jni.h" +#include "jni_util.h" +#include "jvm.h" #ifdef __cplusplus extern "C" { #endif @@ -37,12 +39,15 @@ extern "C" { int errorCode=-1; jintArray result; str = (*env)->GetByteArrayElements(env, lpSubKey, NULL); + CHECK_NULL_RETURN(str, NULL); errorCode = RegOpenKeyEx((HKEY)hKey, str, 0, securityMask, &handle); (*env)->ReleaseByteArrayElements(env, lpSubKey, str, 0); tmp[0]= (int) handle; tmp[1]= errorCode; result = (*env)->NewIntArray(env,2); - (*env)->SetIntArrayRegion(env, result, 0, 2, tmp); + if (result != NULL) { + (*env)->SetIntArrayRegion(env, result, 0, 2, tmp); + } return result; } @@ -58,8 +63,9 @@ extern "C" { int tmp[3]; DWORD lpdwDisposition; int errorCode; - jintArray result; + jintArray result = NULL; str = (*env)->GetByteArrayElements(env, lpSubKey, NULL); + CHECK_NULL_RETURN(str, NULL); errorCode = RegCreateKeyEx((HKEY)hKey, str, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_READ, NULL, &handle, &lpdwDisposition); @@ -68,7 +74,9 @@ extern "C" { tmp[1]= errorCode; tmp[2]= lpdwDisposition; result = (*env)->NewIntArray(env,3); - (*env)->SetIntArrayRegion(env, result, 0, 3, tmp); + if (result != NULL) { + (*env)->SetIntArrayRegion(env, result, 0, 3, tmp); + } return result; } @@ -77,6 +85,7 @@ extern "C" { char* str; int result; str = (*env)->GetByteArrayElements(env, lpSubKey, NULL); + CHECK_NULL_RETURN(str, -1); result = RegDeleteKey((HKEY)hKey, str); (*env)->ReleaseByteArrayElements(env, lpSubKey, str, 0); return result; @@ -96,6 +105,7 @@ extern "C" { DWORD valueType; DWORD valueSize; valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL); + CHECK_NULL_RETURN(valueNameStr, NULL); if (RegQueryValueEx((HKEY)hKey, valueNameStr, NULL, &valueType, NULL, &valueSize) != ERROR_SUCCESS) { (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0); @@ -103,19 +113,26 @@ extern "C" { } buffer = (char*)malloc(valueSize); - - if (RegQueryValueEx((HKEY)hKey, valueNameStr, NULL, &valueType, buffer, - &valueSize) != ERROR_SUCCESS) { - free(buffer); + if (buffer != NULL) { + if (RegQueryValueEx((HKEY)hKey, valueNameStr, NULL, &valueType, buffer, + &valueSize) != ERROR_SUCCESS) { + free(buffer); + (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0); + return NULL; + } + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0); - return NULL; + return NULL; } if (valueType == REG_SZ) { - result = (*env)->NewByteArray(env, valueSize); - (*env)->SetByteArrayRegion(env, result, 0, valueSize, buffer); + result = (*env)->NewByteArray(env, valueSize); + if (result != NULL) { + (*env)->SetByteArrayRegion(env, result, 0, valueSize, buffer); + } } else { - result = NULL; + result = NULL; } free(buffer); (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0); @@ -135,11 +152,14 @@ extern "C" { if ((valueName == NULL)||(data == NULL)) {return -1;} size = (*env)->GetArrayLength(env, data); dataStr = (*env)->GetByteArrayElements(env, data, NULL); + CHECK_NULL_RETURN(dataStr, -1); valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL); - error_code = RegSetValueEx((HKEY)hKey, valueNameStr, 0, + if (valueNameStr != NULL) { + error_code = RegSetValueEx((HKEY)hKey, valueNameStr, 0, REG_SZ, dataStr, size); + (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0); + } (*env)->ReleaseByteArrayElements(env, data, dataStr, 0); - (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0); return error_code; } @@ -149,6 +169,7 @@ extern "C" { int error_code = -1; if (valueName == NULL) {return -1;} valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL); + CHECK_NULL_RETURN(valueNameStr, -1); error_code = RegDeleteValue((HKEY)hKey, valueNameStr); (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0); return error_code; @@ -156,7 +177,7 @@ extern "C" { JNIEXPORT jintArray JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegQueryInfoKey (JNIEnv* env, jclass this_class, jint hKey) { - jintArray result; + jintArray result = NULL; int tmp[5]; int valuesNumber = -1; int maxValueNameLength = -1; @@ -173,7 +194,9 @@ extern "C" { tmp[3]= maxSubKeyLength; tmp[4]= maxValueNameLength; result = (*env)->NewIntArray(env,5); - (*env)->SetIntArrayRegion(env, result, 0, 5, tmp); + if (result != NULL) { + (*env)->SetIntArrayRegion(env, result, 0, 5, tmp); + } return result; } @@ -183,13 +206,19 @@ extern "C" { jbyteArray result; char* buffer = NULL; buffer = (char*)malloc(maxKeyLength); + if (buffer == NULL) { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); + return NULL; + } if (RegEnumKeyEx((HKEY) hKey, subKeyIndex, buffer, &size, NULL, NULL, NULL, NULL) != ERROR_SUCCESS){ free(buffer); return NULL; } result = (*env)->NewByteArray(env, size + 1); - (*env)->SetByteArrayRegion(env, result, 0, size + 1, buffer); + if (result != NULL) { + (*env)->SetByteArrayRegion(env, result, 0, size + 1, buffer); + } free(buffer); return result; } @@ -201,6 +230,10 @@ extern "C" { char* buffer = NULL; int error_code; buffer = (char*)malloc(maxValueNameLength); + if (buffer == NULL) { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); + return NULL; + } error_code = RegEnumValue((HKEY) hKey, valueIndex, buffer, &size, NULL, NULL, NULL, NULL); if (error_code!= ERROR_SUCCESS){ @@ -208,7 +241,9 @@ extern "C" { return NULL; } result = (*env)->NewByteArray(env, size + 1); - (*env)->SetByteArrayRegion(env, result, 0, size + 1, buffer); + if (result != NULL) { + (*env)->SetByteArrayRegion(env, result, 0, size + 1, buffer); + } free(buffer); return result; } diff --git a/jdk/src/windows/native/sun/font/fontpath.c b/jdk/src/windows/native/sun/font/fontpath.c index 21bda1f9271..21bf30b08da 100644 --- a/jdk/src/windows/native/sun/font/fontpath.c +++ b/jdk/src/windows/native/sun/font/fontpath.c @@ -152,6 +152,10 @@ static int CALLBACK EnumFontFacesInFamilyProcA( /* printf("FULL=%s\n",lpelfe->elfFullName);fflush(stdout); */ fullname = JNU_NewStringPlatform(env, lpelfe->elfFullName); + if (fullname == NULL) { + (*env)->ExceptionClear(env); + return 1; + } fullnameLC = (*env)->CallObjectMethod(env, fullname, fmi->toLowerCaseMID, fmi->locale); (*env)->CallBooleanMethod(env, fmi->list, fmi->addMID, fullname); @@ -242,6 +246,10 @@ static int CALLBACK EnumFontFacesInFamilyProcW( fullname = (*env)->NewString(env, lpelfe->elfFullName, (jsize)wcslen((LPWSTR)lpelfe->elfFullName)); + if (fullname == NULL) { + (*env)->ExceptionClear(env); + return 1; + } fullnameLC = (*env)->CallObjectMethod(env, fullname, fmi->toLowerCaseMID, fmi->locale); (*env)->CallBooleanMethod(env, fmi->list, fmi->addMID, fullname); @@ -287,6 +295,10 @@ static int CALLBACK EnumFamilyNamesA( return 1; } fmi->family = JNU_NewStringPlatform(env,lpelfe->elfLogFont.lfFaceName); + if (fmi->family == NULL) { + (*env)->ExceptionClear(env); + return 1; + } familyLC = (*env)->CallObjectMethod(env, fmi->family, fmi->toLowerCaseMID, fmi->locale); /* check if already seen this family with a different charset */ @@ -296,7 +308,10 @@ static int CALLBACK EnumFamilyNamesA( } fmi->list = (*env)->NewObject(env, fmi->arrayListClass, fmi->arrayListCtr, 4); - + if (fmi->list == NULL) { + (*env)->ExceptionClear(env); + return 1; + } (*env)->CallObjectMethod(env, fmi->familyToFontListMap, fmi->putMID, familyLC, fmi->list); @@ -343,6 +358,10 @@ static int CALLBACK EnumFamilyNamesW( } slen = wcslen(lpelfe->elfLogFont.lfFaceName); fmi->family = (*env)->NewString(env,lpelfe->elfLogFont.lfFaceName, (jsize)slen); + if (fmi->family == NULL) { + (*env)->ExceptionClear(env); + return 1; + } familyLC = (*env)->CallObjectMethod(env, fmi->family, fmi->toLowerCaseMID, fmi->locale); /* check if already seen this family with a different charset */ @@ -352,7 +371,10 @@ static int CALLBACK EnumFamilyNamesW( } fmi->list = (*env)->NewObject(env, fmi->arrayListClass, fmi->arrayListCtr, 4); - + if (fmi->list == NULL) { + (*env)->ExceptionClear(env); + return 1; + } (*env)->CallObjectMethod(env, fmi->familyToFontListMap, fmi->putMID, familyLC, fmi->list); @@ -447,6 +469,10 @@ static void registerFontA(GdiFontMapInfo *fmi, jobject fontToFileMap, JNIEnv *env = fmi->env; size_t dslen = strlen(data); jstring fileStr = JNU_NewStringPlatform(env, data); + if (fileStr == NULL) { + (*env)->ExceptionClear(env); + return; + } /* TTC or ttc means it may be a collection. Need to parse out * multiple font face names separated by " & " @@ -467,6 +493,10 @@ static void registerFontA(GdiFontMapInfo *fmi, jobject fontToFileMap, ptr1 = ptr2+3; } fontStr = JNU_NewStringPlatform(env, ptr1); + if (fontStr == NULL) { + (*env)->ExceptionClear(env); + return; + } fontStr = (*env)->CallObjectMethod(env, fontStr, fmi->toLowerCaseMID, fmi->locale); @@ -481,6 +511,10 @@ static void registerFontA(GdiFontMapInfo *fmi, jobject fontToFileMap, } } else { fontStr = JNU_NewStringPlatform(env, name); + if (fontStr == NULL) { + (*env)->ExceptionClear(env); + return; + } fontStr = (*env)->CallObjectMethod(env, fontStr, fmi->toLowerCaseMID, fmi->locale); (*env)->CallObjectMethod(env, fontToFileMap, fmi->putMID, @@ -496,6 +530,10 @@ static void registerFontW(GdiFontMapInfo *fmi, jobject fontToFileMap, JNIEnv *env = fmi->env; size_t dslen = wcslen(data); jstring fileStr = (*env)->NewString(env, data, (jsize)dslen); + if (fileStr == NULL) { + (*env)->ExceptionClear(env); + return; + } /* TTC or ttc means it may be a collection. Need to parse out * multiple font face names separated by " & " @@ -517,6 +555,10 @@ static void registerFontW(GdiFontMapInfo *fmi, jobject fontToFileMap, ptr1 = ptr2+3; } fontStr = (*env)->NewString(env, ptr1, (jsize)wcslen(ptr1)); + if (fontStr == NULL) { + (*env)->ExceptionClear(env); + return; + } fontStr = (*env)->CallObjectMethod(env, fontStr, fmi->toLowerCaseMID, fmi->locale); @@ -531,6 +573,10 @@ static void registerFontW(GdiFontMapInfo *fmi, jobject fontToFileMap, } } else { fontStr = (*env)->NewString(env, name, (jsize)wcslen(name)); + if (fontStr == NULL) { + (*env)->ExceptionClear(env); + return; + } fontStr = (*env)->CallObjectMethod(env, fontStr, fmi->toLowerCaseMID, fmi->locale); (*env)->CallObjectMethod(env, fontToFileMap, fmi->putMID, diff --git a/jdk/src/windows/native/sun/java2d/windows/GDIRenderer.cpp b/jdk/src/windows/native/sun/java2d/windows/GDIRenderer.cpp index f8a1683a3dd..643d64d09a0 100644 --- a/jdk/src/windows/native/sun/java2d/windows/GDIRenderer.cpp +++ b/jdk/src/windows/native/sun/java2d/windows/GDIRenderer.cpp @@ -23,6 +23,7 @@ * questions. */ +#include "jni_util.h" #include "awt.h" #include "sun_java2d_windows_GDIRenderer.h" #include "java_awt_geom_PathIterator.h" @@ -387,13 +388,20 @@ Java_sun_java2d_windows_GDIRenderer_doDrawPoly return; } - POINT tmpPts[POLYTEMPSIZE], *pPoints; + POINT tmpPts[POLYTEMPSIZE], *pPoints = NULL; + jint *xpoints = (jint *) env->GetPrimitiveArrayCritical(xpointsarray, NULL); - jint *ypoints = (jint *) env->GetPrimitiveArrayCritical(ypointsarray, NULL); - pPoints = TransformPoly(xpoints, ypoints, transx, transy, - tmpPts, &npoints, isclosed, TRUE); - env->ReleasePrimitiveArrayCritical(xpointsarray, xpoints, JNI_ABORT); - env->ReleasePrimitiveArrayCritical(ypointsarray, ypoints, JNI_ABORT); + + if (xpoints != NULL) { + jint *ypoints = (jint *) env->GetPrimitiveArrayCritical(ypointsarray, NULL); + if (ypoints != NULL) { + pPoints = TransformPoly(xpoints, ypoints, transx, transy, + tmpPts, &npoints, isclosed, TRUE); + env->ReleasePrimitiveArrayCritical(ypointsarray, ypoints, JNI_ABORT); + } + env->ReleasePrimitiveArrayCritical(xpointsarray, xpoints, JNI_ABORT); + } + if (pPoints == NULL) { return; } @@ -654,13 +662,19 @@ Java_sun_java2d_windows_GDIRenderer_doFillPoly return; } - POINT tmpPts[POLYTEMPSIZE], *pPoints; + POINT tmpPts[POLYTEMPSIZE], *pPoints = NULL; + jint *xpoints = (jint *) env->GetPrimitiveArrayCritical(xpointsarray, NULL); - jint *ypoints = (jint *) env->GetPrimitiveArrayCritical(ypointsarray, NULL); - pPoints = TransformPoly(xpoints, ypoints, transx, transy, - tmpPts, &npoints, FALSE, FALSE); - env->ReleasePrimitiveArrayCritical(xpointsarray, xpoints, JNI_ABORT); - env->ReleasePrimitiveArrayCritical(ypointsarray, ypoints, JNI_ABORT); + if (xpoints != NULL) { + jint *ypoints = (jint *) env->GetPrimitiveArrayCritical(ypointsarray, NULL); + if (ypoints != NULL) { + pPoints = TransformPoly(xpoints, ypoints, transx, transy, + tmpPts, &npoints, FALSE, FALSE); + env->ReleasePrimitiveArrayCritical(ypointsarray, xpoints, JNI_ABORT); + } + env->ReleasePrimitiveArrayCritical(xpointsarray, xpoints, JNI_ABORT); + } + if (pPoints == NULL) { return; } @@ -720,13 +734,26 @@ Java_sun_java2d_windows_GDIRenderer_doShape if (hdc == NULL) { return; } + + jbyte *types = (jbyte *) env->GetPrimitiveArrayCritical(typesarray, + NULL); + if (types == NULL) { + wsdo->ReleaseDC(env, wsdo, hdc); + return; + } + + jfloat *coords = (jfloat *) env->GetPrimitiveArrayCritical(coordsarray, + NULL); + if (coords == NULL) { + env->ReleasePrimitiveArrayCritical(typesarray, types, JNI_ABORT); + wsdo->ReleaseDC(env, wsdo, hdc); + return; + } + ::SetPolyFillMode(hdc, (rule == java_awt_geom_PathIterator_WIND_NON_ZERO ? WINDING : ALTERNATE)); ::BeginPath(hdc); - jbyte *types = (jbyte *) env->GetPrimitiveArrayCritical(typesarray, - NULL); - jfloat *coords = (jfloat *) env->GetPrimitiveArrayCritical(coordsarray, - NULL); + int index = 0; BOOL ok = TRUE; BOOL isempty = TRUE; diff --git a/jdk/src/windows/native/sun/java2d/windows/WindowsFlags.cpp b/jdk/src/windows/native/sun/java2d/windows/WindowsFlags.cpp index c5313a1b571..1de213f838e 100644 --- a/jdk/src/windows/native/sun/java2d/windows/WindowsFlags.cpp +++ b/jdk/src/windows/native/sun/java2d/windows/WindowsFlags.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, 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 @@ -47,12 +47,15 @@ void SetIDs(JNIEnv *env, jclass wFlagsClass) { wFlagsClassID = (jclass)env->NewGlobalRef(wFlagsClass); d3dEnabledID = env->GetStaticFieldID(wFlagsClass, "d3dEnabled", "Z"); + CHECK_NULL(d3dEnabledID); d3dSetID = env->GetStaticFieldID(wFlagsClass, "d3dSet", "Z"); + CHECK_NULL(d3dSetID); } BOOL GetStaticBoolean(JNIEnv *env, jclass wfClass, const char *fieldName) { jfieldID fieldID = env->GetStaticFieldID(wfClass, fieldName, "Z"); + CHECK_NULL_RETURN(fieldID, FALSE); return env->GetStaticBooleanField(wfClass, fieldID); } @@ -60,6 +63,7 @@ jobject GetStaticObject(JNIEnv *env, jclass wfClass, const char *fieldName, const char *signature) { jfieldID fieldID = env->GetStaticFieldID(wfClass, fieldName, signature); + CHECK_NULL_RETURN(fieldID, NULL); return env->GetStaticObjectField(wfClass, fieldID); } @@ -90,15 +94,17 @@ void GetFlagValues(JNIEnv *env, jclass wFlagsClass) forceD3DUsage = d3dSet; g_offscreenSharing = GetStaticBoolean(env, wFlagsClass, "offscreenSharingEnabled"); + JNU_CHECK_EXCEPTION(env); accelReset = GetStaticBoolean(env, wFlagsClass, "accelReset"); + JNU_CHECK_EXCEPTION(env); checkRegistry = GetStaticBoolean(env, wFlagsClass, "checkRegistry"); + JNU_CHECK_EXCEPTION(env); disableRegistry = GetStaticBoolean(env, wFlagsClass, "disableRegistry"); - jstring javaVersionString = (jstring)GetStaticObject(env, wFlagsClass, - "javaVersion", - "Ljava/lang/String;"); + JNU_CHECK_EXCEPTION(env); setHighDPIAware = (IS_WINVISTA && GetStaticBoolean(env, wFlagsClass, "setHighDPIAware")); + JNU_CHECK_EXCEPTION(env); J2dTraceLn(J2D_TRACE_INFO, "WindowsFlags (native):"); J2dTraceLn1(J2D_TRACE_INFO, " d3dEnabled = %s", @@ -166,6 +172,7 @@ Java_sun_java2d_windows_WindowsFlags_initNativeFlags(JNIEnv *env, jclass wFlagsClass) { SetIDs(env, wFlagsClass); + JNU_CHECK_EXCEPTION(env); GetFlagValues(env, wFlagsClass); } diff --git a/jdk/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c b/jdk/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c index bd4a971cc78..13b28044a55 100644 --- a/jdk/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c +++ b/jdk/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c @@ -39,6 +39,7 @@ #define STS_NO_CONFIG 0x0 /* no configuration found */ #define STS_SL_FOUND 0x1 /* search list found */ #define STS_NS_FOUND 0x2 /* name servers found */ +#define STS_ERROR -1 /* error return lodConfig failed memory allccation failure*/ #define IS_SL_FOUND(sts) (sts & STS_SL_FOUND) #define IS_NS_FOUND(sts) (sts & STS_NS_FOUND) @@ -123,14 +124,14 @@ static int loadConfig(char *sl, char *ns) { size = sizeof(IP_ADAPTER_INFO); adapterP = (IP_ADAPTER_INFO *)malloc(size); if (adapterP == NULL) { - return -1; + return STS_ERROR; } ret = GetAdaptersInfo(adapterP, &size); if (ret == ERROR_BUFFER_OVERFLOW) { IP_ADAPTER_INFO *newAdapterP = (IP_ADAPTER_INFO *)realloc(adapterP, size); if (newAdapterP == NULL) { free(adapterP); - return -1; + return STS_ERROR; } adapterP = newAdapterP; @@ -239,6 +240,7 @@ Java_sun_net_dns_ResolverConfigurationImpl_init0(JNIEnv *env, jclass cls) { searchlistID = (*env)->GetStaticFieldID(env, cls, "os_searchlist", "Ljava/lang/String;"); + CHECK_NULL(searchlistID); nameserversID = (*env)->GetStaticFieldID(env, cls, "os_nameservers", "Ljava/lang/String;"); } @@ -258,16 +260,21 @@ Java_sun_net_dns_ResolverConfigurationImpl_loadDNSconfig0(JNIEnv *env, jclass cl searchlist[0] = '\0'; nameservers[0] = '\0'; - loadConfig(searchlist, nameservers); + if (loadConfig(searchlist, nameservers) != STS_ERROR) { - /* - * Populate static fields in sun.net.DefaultResolverConfiguration - */ - obj = (*env)->NewStringUTF(env, searchlist); - (*env)->SetStaticObjectField(env, cls, searchlistID, obj); + /* + * Populate static fields in sun.net.DefaultResolverConfiguration + */ + obj = (*env)->NewStringUTF(env, searchlist); + CHECK_NULL(obj); + (*env)->SetStaticObjectField(env, cls, searchlistID, obj); - obj = (*env)->NewStringUTF(env, nameservers); - (*env)->SetStaticObjectField(env, cls, nameserversID, obj); + obj = (*env)->NewStringUTF(env, nameservers); + CHECK_NULL(obj); + (*env)->SetStaticObjectField(env, cls, nameserversID, obj); + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); + } } diff --git a/jdk/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c b/jdk/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c index 4d4f6f11871..786f8063570 100644 --- a/jdk/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c +++ b/jdk/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c @@ -53,7 +53,9 @@ JNIEXPORT void JNICALL Java_sun_net_www_protocol_http_ntlm_NTLMAuthSequence_init (JNIEnv *env, jclass authseq_clazz, jclass status_clazz) { ntlm_ctxHandleID = (*env)->GetFieldID(env, authseq_clazz, "ctxHandle", "J"); + CHECK_NULL(ntlm_ctxHandleID); ntlm_crdHandleID = (*env)->GetFieldID(env, authseq_clazz, "crdHandle", "J"); + CHECK_NULL(ntlm_crdHandleID); status_seqCompleteID = (*env)->GetFieldID(env, status_clazz, "sequenceComplete", "Z"); } @@ -100,6 +102,16 @@ JNIEXPORT jlong JNICALL Java_sun_net_www_protocol_http_ntlm_NTLMAuthSequence_get } } pCred = (CredHandle *)malloc(sizeof (CredHandle)); + if (pCred == NULL) { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); + if (pUser != NULL) + JNU_ReleaseStringPlatformChars(env, user, pUser); + if (pPassword != NULL) + JNU_ReleaseStringPlatformChars(env, password, pPassword); + if (pDomain != NULL) + JNU_ReleaseStringPlatformChars(env, domain, pDomain); + return NULL; + } if ( ((pUser != NULL) || (pPassword != NULL)) || (pDomain != NULL)) { pAuthId = &AuthId; @@ -177,7 +189,12 @@ JNIEXPORT jbyteArray JNICALL Java_sun_net_www_protocol_http_ntlm_NTLMAuthSequenc pCtx = (CtxtHandle *) (*env)->GetLongField (env, this, ntlm_ctxHandleID); if (pCtx == 0) { /* first call */ newContext = (CtxtHandle *)malloc(sizeof(CtxtHandle)); - (*env)->SetLongField (env, this, ntlm_ctxHandleID, (jlong)newContext); + if (newContext != NULL) { + (*env)->SetLongField (env, this, ntlm_ctxHandleID, (jlong)newContext); + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failed"); + return NULL; + } } else { newContext = pCtx; } @@ -198,6 +215,7 @@ JNIEXPORT jbyteArray JNICALL Java_sun_net_www_protocol_http_ntlm_NTLMAuthSequenc if (lastToken != 0) { pInput = (VOID *)(*env)->GetByteArrayElements(env, lastToken, &isCopy); + CHECK_NULL_RETURN(pInput, NULL); inputLen = (*env)->GetArrayLength(env, lastToken); InBuffDesc.ulVersion = 0; @@ -240,8 +258,10 @@ JNIEXPORT jbyteArray JNICALL Java_sun_net_www_protocol_http_ntlm_NTLMAuthSequenc if ( OutSecBuff.cbBuffer > 0 ) { jbyteArray ret = (*env)->NewByteArray(env, OutSecBuff.cbBuffer); - (*env)->SetByteArrayRegion(env, ret, 0, OutSecBuff.cbBuffer, - OutSecBuff.pvBuffer); + if (ret != NULL) { + (*env)->SetByteArrayRegion(env, ret, 0, OutSecBuff.cbBuffer, + OutSecBuff.pvBuffer); + } if (lastToken != 0) // 2nd stage endSequence (pCred, pCtx, env, status); result = ret; diff --git a/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c b/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c index ca037bf848b..94e060fa193 100644 --- a/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c +++ b/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c @@ -1123,11 +1123,13 @@ Java_sun_nio_fs_WindowsNativeDispatcher_GetFullPathName0(JNIEnv *env, JNU_ThrowInternalError(env, "GetFullPathNameW failed"); } free(lpBuf); + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failure"); } } - } - if (len == 0) + } else { throwWindowsException(env, GetLastError()); + } return rv; } @@ -1162,13 +1164,13 @@ Java_sun_nio_fs_WindowsNativeDispatcher_GetFinalPathNameByHandle(JNIEnv* env, JNU_ThrowInternalError(env, "GetFinalPathNameByHandleW failed"); } free(lpBuf); + } else { + JNU_ThrowOutOfMemoryError(env, "native memory allocation failure"); } } - } - - if (len == 0) + } else { throwWindowsException(env, GetLastError()); - + } return rv; } diff --git a/jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c b/jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c index 4938b0a824d..ad6df257d50 100644 --- a/jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c +++ b/jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.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 @@ -273,7 +273,9 @@ JNIEXPORT jlong JNICALL Java_sun_tools_attach_WindowsVirtualMachine_createPipe NULL); // default security attribute if (hPipe == INVALID_HANDLE_VALUE) { - JNU_ThrowIOExceptionWithLastError(env, "CreateNamedPipe failed"); + char msg[256]; + _snprintf(msg, sizeof(msg), "CreateNamedPipe failed: %d", GetLastError()); + JNU_ThrowIOExceptionWithLastError(env, msg); } return (jlong)hPipe; } diff --git a/jdk/src/windows/native/sun/windows/ShellFolder2.cpp b/jdk/src/windows/native/sun/windows/ShellFolder2.cpp index 63bebf0a63f..cdc60d9ee9c 100644 --- a/jdk/src/windows/native/sun/windows/ShellFolder2.cpp +++ b/jdk/src/windows/native/sun/windows/ShellFolder2.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 @@ -219,10 +219,15 @@ JNIEXPORT void JNICALL Java_sun_awt_shell_Win32ShellFolder2_initIDs return; } MID_pIShellFolder = env->GetMethodID(cls, "setIShellFolder", "(J)V"); + CHECK_NULL(MID_pIShellFolder); FID_pIShellIcon = env->GetFieldID(cls, "pIShellIcon", "J"); + CHECK_NULL(FID_pIShellIcon); MID_relativePIDL = env->GetMethodID(cls, "setRelativePIDL", "(J)V"); + CHECK_NULL(MID_relativePIDL); FID_displayName = env->GetFieldID(cls, "displayName", "Ljava/lang/String;"); + CHECK_NULL(FID_displayName); FID_folderType = env->GetFieldID(cls, "folderType", "Ljava/lang/String;"); + CHECK_NULL(FID_folderType); } @@ -719,8 +724,9 @@ JNIEXPORT jlong JNICALL Java_sun_awt_shell_Win32ShellFolder2_parseDisplayName0 // Get relative PIDL for name LPITEMIDLIST pIDL; int nLength = env->GetStringLength(jname); - jchar* wszPath = new jchar[nLength + 1]; const jchar* strPath = env->GetStringChars(jname, NULL); + JNU_CHECK_EXCEPTION_RETURN(env, 0); + jchar* wszPath = new jchar[nLength + 1]; wcsncpy(reinterpret_cast<LPWSTR>(wszPath), reinterpret_cast<LPCWSTR>(strPath), nLength); wszPath[nLength] = 0; HRESULT res = pIShellFolder->ParseDisplayName(NULL, NULL, @@ -811,6 +817,7 @@ JNIEXPORT jlong JNICALL Java_sun_awt_shell_Win32ShellFolder2_getIcon HICON hIcon = NULL; SHFILEINFO fileInfo; LPCTSTR pathStr = JNU_GetStringPlatformChars(env, absolutePath, NULL); + JNU_CHECK_EXCEPTION_RETURN(env, 0); if (fn_SHGetFileInfo(pathStr, 0L, &fileInfo, sizeof(fileInfo), SHGFI_ICON | (getLargeIcon ? 0 : SHGFI_SMALLICON)) != 0) { hIcon = fileInfo.hIcon; @@ -954,9 +961,11 @@ JNIEXPORT jintArray JNICALL Java_sun_awt_shell_Win32ShellFolder2_getIconBits ReleaseDC(NULL, dc); // Create java array iconBits = env->NewIntArray(nBits); + if (!(env->ExceptionCheck())) { // Copy values to java array env->SetIntArrayRegion(iconBits, 0, nBits, colorBits); } + } // Fix 4745575 GDI Resource Leak // MSDN // GetIconInfo creates bitmaps for the hbmMask and hbmColor members of ICONINFO. @@ -1028,6 +1037,7 @@ JNIEXPORT jlong JNICALL Java_sun_awt_shell_Win32ShellFolder2_getIconResource jint cxDesired, jint cyDesired, jboolean useVGAColors) { const char *pLibName = env->GetStringUTFChars(libName, NULL); + JNU_CHECK_EXCEPTION_RETURN(env, 0); HINSTANCE libHandle = (HINSTANCE)JDK_LoadSystemLibrary(pLibName); if (libHandle != NULL) { UINT fuLoad = (useVGAColors && !IS_WINXP) ? LR_VGACOLOR : 0; @@ -1046,8 +1056,11 @@ static jobject CreateColumnInfo(JNIEnv *pEnv, jclass *pClass, jmethodID *pConstructor, SHELLDETAILS *psd, ULONG visible) { + jstring str = jstringFromSTRRET(pEnv, NULL, &(psd->str)); + JNU_CHECK_EXCEPTION_RETURN(pEnv, NULL); + return pEnv->NewObject(*pClass, *pConstructor, - jstringFromSTRRET(pEnv, NULL, &(psd->str)), + str, (jint)(psd->cxChar * 6), // TODO: is 6 OK for converting chars to pixels? (jint)psd->fmt, (jboolean) visible); } @@ -1115,6 +1128,10 @@ JNIEXPORT jobjectArray JNICALL jobject column = CreateColumnInfo(env, &columnClass, &columnConstructor, &sd, csFlags & SHCOLSTATE_ONBYDEFAULT); + if(!column){ + pIShellFolder2->Release(); + return NULL; + } env->SetObjectArrayElement(columns, (jsize) colNum, column); } } @@ -1155,6 +1172,10 @@ JNIEXPORT jobjectArray JNICALL jobject column = CreateColumnInfo(env, &columnClass, &columnConstructor, &sd, 1); + if(!column){ + pIShellDetails->Release(); + return NULL; + } env->SetObjectArrayElement(columns, (jsize) colNum++, column); } } diff --git a/jdk/src/windows/native/sun/windows/awt.h b/jdk/src/windows/native/sun/windows/awt.h index 060953cd3c1..5ce4d22a3aa 100644 --- a/jdk/src/windows/native/sun/windows/awt.h +++ b/jdk/src/windows/native/sun/windows/awt.h @@ -49,6 +49,7 @@ typedef AwtObject* PDATA; #define JNI_CHECK_NULL_GOTO(obj, msg, where) { \ if (obj == NULL) { \ + env->ExceptionClear(); \ JNU_ThrowNullPointerException(env, msg); \ goto where; \ } \ @@ -65,6 +66,7 @@ typedef AwtObject* PDATA; #define JNI_CHECK_NULL_RETURN(obj, msg) { \ if (obj == NULL) { \ + env->ExceptionClear(); \ JNU_ThrowNullPointerException(env, msg); \ return; \ } \ @@ -91,6 +93,7 @@ typedef AwtObject* PDATA; #define JNI_CHECK_NULL_RETURN_NULL(obj, msg) { \ if (obj == NULL) { \ + env->ExceptionClear(); \ JNU_ThrowNullPointerException(env, msg); \ return 0; \ } \ @@ -98,6 +101,7 @@ typedef AwtObject* PDATA; #define JNI_CHECK_NULL_RETURN_VAL(obj, msg, val) { \ if (obj == NULL) { \ + env->ExceptionClear(); \ JNU_ThrowNullPointerException(env, msg); \ return val; \ } \ @@ -124,6 +128,7 @@ typedef AwtObject* PDATA; #define THROW_NULL_PDATA_IF_NOT_DESTROYED(peer) { \ jboolean destroyed = JNI_GET_DESTROYED(peer); \ if (destroyed != JNI_TRUE) { \ + env->ExceptionClear(); \ JNU_ThrowNullPointerException(env, "null pData"); \ } \ } diff --git a/jdk/src/windows/native/sun/windows/awt_AWTEvent.cpp b/jdk/src/windows/native/sun/windows/awt_AWTEvent.cpp index c6bd697a4ec..c1c17f9feec 100644 --- a/jdk/src/windows/native/sun/windows/awt_AWTEvent.cpp +++ b/jdk/src/windows/native/sun/windows/awt_AWTEvent.cpp @@ -71,12 +71,16 @@ Java_java_awt_AWTEvent_initIDs(JNIEnv *env, jclass cls) TRY; AwtAWTEvent::bdataID = env->GetFieldID(cls, "bdata", "[B"); - AwtAWTEvent::idID = env->GetFieldID(cls, "id", "I"); - AwtAWTEvent::consumedID = env->GetFieldID(cls, "consumed", "Z"); - DASSERT(AwtAWTEvent::bdataID != NULL); + CHECK_NULL(AwtAWTEvent::bdataID); + + AwtAWTEvent::idID = env->GetFieldID(cls, "id", "I"); DASSERT(AwtAWTEvent::idID != NULL); + CHECK_NULL(AwtAWTEvent::idID); + + AwtAWTEvent::consumedID = env->GetFieldID(cls, "consumed", "Z"); DASSERT(AwtAWTEvent::consumedID != NULL); + CHECK_NULL(AwtAWTEvent::consumedID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_Canvas.cpp b/jdk/src/windows/native/sun/windows/awt_Canvas.cpp index 8bfc79c8801..fba055cb498 100644 --- a/jdk/src/windows/native/sun/windows/awt_Canvas.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Canvas.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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,10 @@ AwtCanvas* AwtCanvas::Create(jobject self, jobject hParent) JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); jobject target = NULL; + jobject graphicsConfig = NULL; + jclass canvasClass = NULL; + jclass win32cls = NULL; + AwtCanvas *canvas = NULL; try { @@ -100,16 +104,24 @@ AwtCanvas* AwtCanvas::Create(jobject self, jobject hParent) // Set the pixel format of the HWND if a GraphicsConfiguration // was provided to the Canvas constructor. - jclass canvasClass = env->FindClass("java/awt/Canvas"); + canvasClass = env->FindClass("java/awt/Canvas"); + DASSERT(canvasClass != NULL); + if (!canvasClass) { + throw std::bad_alloc(); + } + if ( env->IsInstanceOf( target, canvasClass ) ) { // Get GraphicsConfig from our target - jobject graphicsConfig = env->GetObjectField(target, + graphicsConfig = env->GetObjectField(target, AwtComponent::graphicsConfigID); if (graphicsConfig != NULL) { - jclass win32cls = env->FindClass("sun/awt/Win32GraphicsConfig"); + win32cls = env->FindClass("sun/awt/Win32GraphicsConfig"); DASSERT (win32cls != NULL); + if (!win32cls) { + throw std::bad_alloc(); + } if ( env->IsInstanceOf( graphicsConfig, win32cls ) ) { // Get the visual ID member from our GC @@ -131,8 +143,7 @@ AwtCanvas* AwtCanvas::Create(jobject self, jobject hParent) env->ExceptionClear(); env->ThrowNew(excCls, "\nUnable to set Pixel format on Canvas"); - env->DeleteLocalRef(target); - return canvas; + env->DeleteLocalRef(excCls); } } } @@ -141,11 +152,20 @@ AwtCanvas* AwtCanvas::Create(jobject self, jobject hParent) } } catch (...) { env->DeleteLocalRef(target); + env->DeleteLocalRef(graphicsConfig); + env->DeleteLocalRef(canvasClass); + env->DeleteLocalRef(win32cls); + + env->DeleteGlobalRef(self); + env->DeleteGlobalRef(hParent); throw; } done: env->DeleteLocalRef(target); + env->DeleteLocalRef(graphicsConfig); + env->DeleteLocalRef(canvasClass); + env->DeleteLocalRef(win32cls); return canvas; CATCH_BAD_ALLOC_RET(0); } diff --git a/jdk/src/windows/native/sun/windows/awt_Checkbox.cpp b/jdk/src/windows/native/sun/windows/awt_Checkbox.cpp index 69c2453e507..ad1c712f08e 100644 --- a/jdk/src/windows/native/sun/windows/awt_Checkbox.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Checkbox.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -558,13 +558,15 @@ Java_java_awt_Checkbox_initIDs(JNIEnv *env, jclass cls) AwtCheckbox::labelID = env->GetFieldID(cls, "label", "Ljava/lang/String;"); + DASSERT(AwtCheckbox::labelID != NULL); + CHECK_NULL(AwtCheckbox::labelID); + AwtCheckbox::groupID = env->GetFieldID(cls, "group", "Ljava/awt/CheckboxGroup;"); - AwtCheckbox::stateID = - env->GetFieldID(cls, "state", "Z"); - - DASSERT(AwtCheckbox::labelID != NULL); DASSERT(AwtCheckbox::groupID != NULL); + CHECK_NULL(AwtCheckbox::groupID); + + AwtCheckbox::stateID = env->GetFieldID(cls, "state", "Z"); DASSERT(AwtCheckbox::stateID != NULL); CATCH_BAD_ALLOC; diff --git a/jdk/src/windows/native/sun/windows/awt_Component.cpp b/jdk/src/windows/native/sun/windows/awt_Component.cpp index 345e9f06798..88d091807a0 100644 --- a/jdk/src/windows/native/sun/windows/awt_Component.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Component.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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,6 +467,7 @@ void AwtComponent::InitPeerGraphicsConfig(JNIEnv *env, jobject peer) jclass win32GCCls = env->FindClass("sun/awt/Win32GraphicsConfig"); DASSERT(win32GCCls != NULL); DASSERT(env->IsInstanceOf(compGC, win32GCCls)); + CHECK_NULL(win32GCCls); env->SetObjectField(peer, AwtComponent::peerGCID, compGC); } } @@ -530,10 +531,15 @@ AwtComponent::CreateHWnd(JNIEnv *env, LPCWSTR title, if (dw == ERROR_OUTOFMEMORY) { jstring errorMsg = JNU_NewStringPlatform(env, L"too many window handles"); - createError = JNU_NewObjectByName(env, "java/lang/OutOfMemoryError", + if (errorMsg == NULL || env->ExceptionCheck()) { + env->ExceptionClear(); + createError = JNU_NewObjectByName(env, "java/lang/OutOfMemoryError", "()V"); + } else { + createError = JNU_NewObjectByName(env, "java/lang/OutOfMemoryError", "(Ljava/lang/String;)V", errorMsg); - env->DeleteLocalRef(errorMsg); + env->DeleteLocalRef(errorMsg); + } } else { @@ -542,14 +548,18 @@ AwtComponent::CreateHWnd(JNIEnv *env, LPCWSTR title, NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&buf, 0, NULL); jstring s = JNU_NewStringPlatform(env, buf); - createError = JNU_NewObjectByName(env, "java/lang/InternalError", - "(Ljava/lang/String;)V", s); + if (s == NULL || env->ExceptionCheck()) { + env->ExceptionClear(); + createError = JNU_NewObjectByName(env, "java/lang/InternalError", "()V"); + } else { + createError = JNU_NewObjectByName(env, "java/lang/InternalError", + "(Ljava/lang/String;)V", s); + env->DeleteLocalRef(s); + } LocalFree(buf); - env->DeleteLocalRef(s); } - env->SetObjectField(peer, AwtObject::createErrorID, createError); - if (createError != NULL) - { + if (createError != NULL) { + env->SetObjectField(peer, AwtObject::createErrorID, createError); env->DeleteLocalRef(createError); } env->DeleteLocalRef(target); @@ -3309,10 +3319,7 @@ AwtComponent::BuildPrimaryDynamicTable() { if( extKeyCodesCls == NULL) { jclass extKeyCodesClsLocal = env->FindClass("sun/awt/ExtendedKeyCodes"); DASSERT(extKeyCodesClsLocal); - if (extKeyCodesClsLocal == NULL) { - /* exception already thrown */ - return; - } + CHECK_NULL(extKeyCodesClsLocal); extKeyCodesCls = (jclass)env->NewGlobalRef(extKeyCodesClsLocal); env->DeleteLocalRef(extKeyCodesClsLocal); } @@ -3321,6 +3328,7 @@ AwtComponent::BuildPrimaryDynamicTable() { getExtendedKeyCodeForChar = env->GetStaticMethodID(extKeyCodesCls, "getExtendedKeyCodeForChar", "(I)I"); DASSERT(getExtendedKeyCodeForChar); + CHECK_NULL(getExtendedKeyCodeForChar); } jint extJKC; //extended Java key code @@ -3940,11 +3948,19 @@ void AwtComponent::SendInputMethodEvent(jint id, jstring text, if (cClause && rgClauseBoundary && rgClauseReading) { // convert clause boundary offset array to java array clauseBoundary = env->NewIntArray(cClause+1); + DASSERT(clauseBoundary); + CHECK_NULL(clauseBoundary); env->SetIntArrayRegion(clauseBoundary, 0, cClause+1, (jint *)rgClauseBoundary); DASSERT(!safe_ExceptionOccurred(env)); // convert clause reading string array to java array - clauseReading = env->NewObjectArray(cClause, JNU_ClassString(env), NULL); + jclass stringCls = JNU_ClassString(env); + DASSERT(stringCls); + CHECK_NULL(stringCls); + clauseReading = env->NewObjectArray(cClause, stringCls, NULL); + env->DeleteLocalRef(stringCls); + DASSERT(clauseReading); + CHECK_NULL(clauseReading); for (int i=0; i<cClause; i++) env->SetObjectArrayElement(clauseReading, i, rgClauseReading[i]); DASSERT(!safe_ExceptionOccurred(env)); } @@ -3963,11 +3979,15 @@ void AwtComponent::SendInputMethodEvent(jint id, jstring text, if (cAttrBlock && rgAttrBoundary && rgAttrValue) { // convert attribute boundary offset array to java array attrBoundary = env->NewIntArray(cAttrBlock+1); + DASSERT(attrBoundary); + CHECK_NULL(attrBoundary); env->SetIntArrayRegion(attrBoundary, 0, cAttrBlock+1, (jint *)rgAttrBoundary); DASSERT(!safe_ExceptionOccurred(env)); // convert attribute value byte array to java array attrValue = env->NewByteArray(cAttrBlock); + DASSERT(attrValue); + CHECK_NULL(attrValue); env->SetByteArrayRegion(attrValue, 0, cAttrBlock, (jbyte *)rgAttrValue); DASSERT(!safe_ExceptionOccurred(env)); } @@ -3978,10 +3998,7 @@ void AwtComponent::SendInputMethodEvent(jint id, jstring text, if (wInputMethodCls == NULL) { jclass wInputMethodClsLocal = env->FindClass("sun/awt/windows/WInputMethod"); DASSERT(wInputMethodClsLocal); - if (wInputMethodClsLocal == NULL) { - /* exception already thrown */ - return; - } + CHECK_NULL(wInputMethodClsLocal); wInputMethodCls = (jclass)env->NewGlobalRef(wInputMethodClsLocal); env->DeleteLocalRef(wInputMethodClsLocal); } @@ -3992,6 +4009,7 @@ void AwtComponent::SendInputMethodEvent(jint id, jstring text, sendIMEventMid = env->GetMethodID(wInputMethodCls, "sendInputMethodEvent", "(IJLjava/lang/String;[I[Ljava/lang/String;[I[BIII)V"); DASSERT(sendIMEventMid); + CHECK_NULL(sendIMEventMid); } // call m_InputMethod.sendInputMethod() @@ -4017,10 +4035,7 @@ void AwtComponent::InquireCandidatePosition() if (wInputMethodCls == NULL) { jclass wInputMethodClsLocal = env->FindClass("sun/awt/windows/WInputMethod"); DASSERT(wInputMethodClsLocal); - if (wInputMethodClsLocal == NULL) { - /* exception already thrown */ - return; - } + CHECK_NULL(wInputMethodClsLocal); wInputMethodCls = (jclass)env->NewGlobalRef(wInputMethodClsLocal); env->DeleteLocalRef(wInputMethodClsLocal); } @@ -4028,10 +4043,10 @@ void AwtComponent::InquireCandidatePosition() // get method ID of sendInputMethodEvent() (run only once) static jmethodID inqCandPosMid = 0; if (inqCandPosMid == 0) { - inqCandPosMid = env->GetMethodID(wInputMethodCls, "inquireCandidatePosition", - "()V"); + inqCandPosMid = env->GetMethodID(wInputMethodCls, "inquireCandidatePosition", "()V"); DASSERT(!safe_ExceptionOccurred(env)); DASSERT(inqCandPosMid); + CHECK_NULL(inqCandPosMid); } // call m_InputMethod.sendInputMethod() @@ -4313,6 +4328,11 @@ void AwtComponent::DrawListItem(JNIEnv *env, DRAWITEMSTRUCT &drawInfo) if ((int) (drawInfo.itemID) >= 0) { jobject font = GET_FONT(target, peer); jstring text = GetItemString(env, target, drawInfo.itemID); + if (env->ExceptionCheck()) { + env->DeleteLocalRef(font); + env->DeleteLocalRef(target); + return; + } SIZE size = AwtFont::getMFStringSize(hDC, font, text); AwtFont::drawMFString(hDC, font, text, (GetRTL()) ? rect.right - size.cx - 1 @@ -4772,6 +4792,7 @@ void AwtComponent::SendKeyEvent(jint id, jlong when, jint raw, jint cooked, keyEventConst = env->GetMethodID(keyEventCls, "<init>", "(Ljava/awt/Component;IJIICI)V"); DASSERT(keyEventConst); + CHECK_NULL(keyEventConst); } if (env->EnsureLocalCapacity(2) < 0) { return; @@ -4783,6 +4804,10 @@ void AwtComponent::SendKeyEvent(jint id, jlong when, jint raw, jint cooked, if (safe_ExceptionOccurred(env)) env->ExceptionDescribe(); DASSERT(!safe_ExceptionOccurred(env)); DASSERT(keyEvent != NULL); + if (keyEvent == NULL) { + env->DeleteLocalRef(target); + return; + } env->SetLongField(keyEvent, AwtKeyEvent::rawCodeID, nativeCode); if( nativeCode && nativeCode < 256 ) { env->SetLongField(keyEvent, AwtKeyEvent::primaryLevelUnicodeID, (jlong)(dynPrimaryKeymap[nativeCode].unicode)); @@ -4866,10 +4891,7 @@ void AwtComponent::SendMouseEvent(jint id, jlong when, jint x, jint y, if (mouseEventCls == NULL) { jclass mouseEventClsLocal = env->FindClass("java/awt/event/MouseEvent"); - if (!mouseEventClsLocal) { - /* exception already thrown */ - return; - } + CHECK_NULL(mouseEventClsLocal); mouseEventCls = (jclass)env->NewGlobalRef(mouseEventClsLocal); env->DeleteLocalRef(mouseEventClsLocal); } @@ -4882,6 +4904,7 @@ void AwtComponent::SendMouseEvent(jint id, jlong when, jint x, jint y, env->GetMethodID(mouseEventCls, "<init>", "(Ljava/awt/Component;IJIIIIIIZI)V"); DASSERT(mouseEventConst); + CHECK_NULL(mouseEventConst); } if (env->EnsureLocalCapacity(2) < 0) { return; @@ -4894,7 +4917,7 @@ void AwtComponent::SendMouseEvent(jint id, jlong when, jint x, jint y, target, id, when, modifiers, x+insets.left, y+insets.top, - xAbs, yAbs, + xAbs, yAbs, clickCount, popupTrigger, button); if (safe_ExceptionOccurred(env)) { @@ -4903,6 +4926,7 @@ void AwtComponent::SendMouseEvent(jint id, jlong when, jint x, jint y, } DASSERT(mouseEvent != NULL); + CHECK_NULL(mouseEvent); if (pMsg != 0) { AwtAWTEvent::saveMSG(env, pMsg, mouseEvent); } @@ -4931,10 +4955,7 @@ AwtComponent::SendMouseWheelEvent(jint id, jlong when, jint x, jint y, if (mouseWheelEventCls == NULL) { jclass mouseWheelEventClsLocal = env->FindClass("java/awt/event/MouseWheelEvent"); - if (!mouseWheelEventClsLocal) { - /* exception already thrown */ - return; - } + CHECK_NULL(mouseWheelEventClsLocal); mouseWheelEventCls = (jclass)env->NewGlobalRef(mouseWheelEventClsLocal); env->DeleteLocalRef(mouseWheelEventClsLocal); } @@ -4947,6 +4968,7 @@ AwtComponent::SendMouseWheelEvent(jint id, jlong when, jint x, jint y, env->GetMethodID(mouseWheelEventCls, "<init>", "(Ljava/awt/Component;IJIIIIIIZIIID)V"); DASSERT(mouseWheelEventConst); + CHECK_NULL(mouseWheelEventConst); } if (env->EnsureLocalCapacity(2) < 0) { return; @@ -4963,11 +4985,14 @@ AwtComponent::SendMouseWheelEvent(jint id, jlong when, jint x, jint y, clickCount, popupTrigger, scrollType, scrollAmount, roundedWheelRotation, preciseWheelRotation); - if (safe_ExceptionOccurred(env)) { + + DASSERT(mouseWheelEvent != NULL); + if (mouseWheelEvent == NULL || safe_ExceptionOccurred(env)) { env->ExceptionDescribe(); env->ExceptionClear(); + env->DeleteLocalRef(target); + return; } - DASSERT(mouseWheelEvent != NULL); if (pMsg != NULL) { AwtAWTEvent::saveMSG(env, pMsg, mouseWheelEvent); } @@ -4992,10 +5017,7 @@ void AwtComponent::SendFocusEvent(jint id, HWND opposite) jclass focusEventClsLocal = env->FindClass("java/awt/event/FocusEvent"); DASSERT(focusEventClsLocal); - if (focusEventClsLocal == NULL) { - /* exception already thrown */ - return; - } + CHECK_NULL(focusEventClsLocal); focusEventCls = (jclass)env->NewGlobalRef(focusEventClsLocal); env->DeleteLocalRef(focusEventClsLocal); } @@ -5006,6 +5028,7 @@ void AwtComponent::SendFocusEvent(jint id, HWND opposite) env->GetMethodID(focusEventCls, "<init>", "(Ljava/awt/Component;IZLjava/awt/Component;)V"); DASSERT(focusEventConst); + CHECK_NULL(focusEventConst); } static jclass sequencedEventCls; @@ -5013,10 +5036,7 @@ void AwtComponent::SendFocusEvent(jint id, HWND opposite) jclass sequencedEventClsLocal = env->FindClass("java/awt/SequencedEvent"); DASSERT(sequencedEventClsLocal); - if (sequencedEventClsLocal == NULL) { - /* exception already thrown */ - return; - } + CHECK_NULL(sequencedEventClsLocal); sequencedEventCls = (jclass)env->NewGlobalRef(sequencedEventClsLocal); env->DeleteLocalRef(sequencedEventClsLocal); @@ -5027,6 +5047,8 @@ void AwtComponent::SendFocusEvent(jint id, HWND opposite) sequencedEventConst = env->GetMethodID(sequencedEventCls, "<init>", "(Ljava/awt/AWTEvent;)V"); + DASSERT(sequencedEventConst); + CHECK_NULL(sequencedEventConst); } if (env->EnsureLocalCapacity(3) < 0) { @@ -5049,6 +5071,7 @@ void AwtComponent::SendFocusEvent(jint id, HWND opposite) env->DeleteLocalRef(jOpposite); jOpposite = NULL; } env->DeleteLocalRef(target); target = NULL; + CHECK_NULL(focusEvent); jobject sequencedEvent = env->NewObject(sequencedEventCls, sequencedEventConst, @@ -5056,7 +5079,7 @@ void AwtComponent::SendFocusEvent(jint id, HWND opposite) DASSERT(!safe_ExceptionOccurred(env)); DASSERT(sequencedEvent != NULL); env->DeleteLocalRef(focusEvent); focusEvent = NULL; - + CHECK_NULL(sequencedEvent); SendEvent(sequencedEvent); env->DeleteLocalRef(sequencedEvent); @@ -5227,7 +5250,7 @@ void AwtComponent::SynthesizeMouseMessage(JNIEnv *env, jobject mouseEvent) "getWheelRotation", "()I").i; DASSERT(!safe_ExceptionOccurred(env)); - //DASSERT(wheelAmt); + JNU_CHECK_EXCEPTION(env); DTRACE_PRINTLN1("wheelAmt = %i\n", wheelAmt); // convert Java wheel amount value to Win32 @@ -6306,10 +6329,12 @@ Java_java_awt_Component_initIDs(JNIEnv *env, jclass cls) { TRY; jclass inputEventClazz = env->FindClass("java/awt/event/InputEvent"); + CHECK_NULL(inputEventClazz); jmethodID getButtonDownMasksID = env->GetStaticMethodID(inputEventClazz, "getButtonDownMasks", "()[I"); + CHECK_NULL(getButtonDownMasksID); jintArray obj = (jintArray)env->CallStaticObjectMethod(inputEventClazz, getButtonDownMasksID); jint * tmp = env->GetIntArrayElements(obj, JNI_FALSE); - + CHECK_NULL(tmp); jsize len = env->GetArrayLength(obj); AwtComponent::masks = SAFE_SIZE_NEW_ARRAY(jint, len); for (int i = 0; i < len; i++) { @@ -6322,68 +6347,112 @@ Java_java_awt_Component_initIDs(JNIEnv *env, jclass cls) jclass peerCls = env->FindClass("sun/awt/windows/WComponentPeer"); DASSERT(peerCls); + CHECK_NULL(peerCls); /* field ids */ AwtComponent::peerID = env->GetFieldID(cls, "peer", "Ljava/awt/peer/ComponentPeer;"); + DASSERT(AwtComponent::peerID); + CHECK_NULL(AwtComponent::peerID); + AwtComponent::xID = env->GetFieldID(cls, "x", "I"); + DASSERT(AwtComponent::xID); + CHECK_NULL(AwtComponent::xID); + AwtComponent::yID = env->GetFieldID(cls, "y", "I"); + DASSERT(AwtComponent::yID); + CHECK_NULL(AwtComponent::yID); + AwtComponent::heightID = env->GetFieldID(cls, "height", "I"); + DASSERT(AwtComponent::heightID); + CHECK_NULL(AwtComponent::heightID); + AwtComponent::widthID = env->GetFieldID(cls, "width", "I"); + DASSERT(AwtComponent::widthID); + CHECK_NULL(AwtComponent::widthID); + AwtComponent::visibleID = env->GetFieldID(cls, "visible", "Z"); + DASSERT(AwtComponent::visibleID); + CHECK_NULL(AwtComponent::visibleID); + AwtComponent::backgroundID = env->GetFieldID(cls, "background", "Ljava/awt/Color;"); + DASSERT(AwtComponent::backgroundID); + CHECK_NULL(AwtComponent::backgroundID); + AwtComponent::foregroundID = env->GetFieldID(cls, "foreground", "Ljava/awt/Color;"); + DASSERT(AwtComponent::foregroundID); + CHECK_NULL(AwtComponent::foregroundID); + AwtComponent::enabledID = env->GetFieldID(cls, "enabled", "Z"); + DASSERT(AwtComponent::enabledID); + CHECK_NULL(AwtComponent::enabledID); + AwtComponent::parentID = env->GetFieldID(cls, "parent", "Ljava/awt/Container;"); + DASSERT(AwtComponent::parentID); + CHECK_NULL(AwtComponent::parentID); + AwtComponent::graphicsConfigID = env->GetFieldID(cls, "graphicsConfig", "Ljava/awt/GraphicsConfiguration;"); + DASSERT(AwtComponent::graphicsConfigID); + CHECK_NULL(AwtComponent::graphicsConfigID); + AwtComponent::focusableID = env->GetFieldID(cls, "focusable", "Z"); + DASSERT(AwtComponent::focusableID); + CHECK_NULL(AwtComponent::focusableID); AwtComponent::appContextID = env->GetFieldID(cls, "appContext", "Lsun/awt/AppContext;"); + DASSERT(AwtComponent::appContextID); + CHECK_NULL(AwtComponent::appContextID); AwtComponent::peerGCID = env->GetFieldID(peerCls, "winGraphicsConfig", "Lsun/awt/Win32GraphicsConfig;"); + DASSERT(AwtComponent::peerGCID); + CHECK_NULL(AwtComponent::peerGCID); AwtComponent::hwndID = env->GetFieldID(peerCls, "hwnd", "J"); + DASSERT(AwtComponent::hwndID); + CHECK_NULL(AwtComponent::hwndID); AwtComponent::cursorID = env->GetFieldID(cls, "cursor", "Ljava/awt/Cursor;"); + DASSERT(AwtComponent::cursorID); + CHECK_NULL(AwtComponent::cursorID); /* method ids */ AwtComponent::getFontMID = env->GetMethodID(cls, "getFont_NoClientCode", "()Ljava/awt/Font;"); + DASSERT(AwtComponent::getFontMID); + CHECK_NULL(AwtComponent::getFontMID); + AwtComponent::getToolkitMID = env->GetMethodID(cls, "getToolkitImpl", "()Ljava/awt/Toolkit;"); + DASSERT(AwtComponent::getToolkitMID); + CHECK_NULL(AwtComponent::getToolkitMID); + AwtComponent::isEnabledMID = env->GetMethodID(cls, "isEnabledImpl", "()Z"); + DASSERT(AwtComponent::isEnabledMID); + CHECK_NULL(AwtComponent::isEnabledMID); + AwtComponent::getLocationOnScreenMID = env->GetMethodID(cls, "getLocationOnScreen_NoTreeLock", "()Ljava/awt/Point;"); + DASSERT(AwtComponent::getLocationOnScreenMID); + CHECK_NULL(AwtComponent::getLocationOnScreenMID); + AwtComponent::replaceSurfaceDataMID = env->GetMethodID(peerCls, "replaceSurfaceData", "()V"); + DASSERT(AwtComponent::replaceSurfaceDataMID); + CHECK_NULL(AwtComponent::replaceSurfaceDataMID); + AwtComponent::replaceSurfaceDataLaterMID = env->GetMethodID(peerCls, "replaceSurfaceDataLater", "()V"); - AwtComponent::disposeLaterMID = env->GetMethodID(peerCls, "disposeLater", "()V"); - - DASSERT(AwtComponent::xID); - DASSERT(AwtComponent::yID); - DASSERT(AwtComponent::heightID); - DASSERT(AwtComponent::widthID); - DASSERT(AwtComponent::visibleID); - DASSERT(AwtComponent::backgroundID); - DASSERT(AwtComponent::foregroundID); - DASSERT(AwtComponent::enabledID); - DASSERT(AwtComponent::parentID); - DASSERT(AwtComponent::hwndID); - - DASSERT(AwtComponent::getFontMID); - DASSERT(AwtComponent::getToolkitMID); - DASSERT(AwtComponent::isEnabledMID); - DASSERT(AwtComponent::getLocationOnScreenMID); - DASSERT(AwtComponent::replaceSurfaceDataMID); DASSERT(AwtComponent::replaceSurfaceDataLaterMID); - DASSERT(AwtComponent::disposeLaterMID); + CHECK_NULL(AwtComponent::replaceSurfaceDataLaterMID); + AwtComponent::disposeLaterMID = env->GetMethodID(peerCls, "disposeLater", "()V"); + DASSERT(AwtComponent::disposeLaterMID); + CHECK_NULL(AwtComponent::disposeLaterMID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_Cursor.cpp b/jdk/src/windows/native/sun/windows/awt_Cursor.cpp index 58bceb8544a..6c102669173 100644 --- a/jdk/src/windows/native/sun/windows/awt_Cursor.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Cursor.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 @@ -209,42 +209,53 @@ void AwtCursor::UpdateCursor(AwtComponent *comp) { return; } jobject jcomp = comp->GetTarget(env); - - //4372119:Disappearing of busy cursor on JDK 1.3 - HWND captureWnd = GetCapture(); - if ( !AwtComponent::isMenuLoopActive() && - (captureWnd==NULL || captureWnd==comp->GetHWnd())) - { - if (IsWindow(AwtWindow::GetModalBlocker( - AwtComponent::GetTopLevelParentForWindow( - comp->GetHWnd())))) + try { + //4372119:Disappearing of busy cursor on JDK 1.3 + HWND captureWnd = GetCapture(); + if ( !AwtComponent::isMenuLoopActive() && + (captureWnd==NULL || captureWnd==comp->GetHWnd())) { - static HCURSOR hArrowCursor = LoadCursor(NULL, IDC_ARROW); - SetCursor(hArrowCursor); - } else { - HCURSOR cur = comp->getCursorCache(); - if (cur == NULL) { - cur = GetCursor(env , comp); - } - if (cur != NULL) { - ::SetCursor(cur); - } + if (IsWindow(AwtWindow::GetModalBlocker( + AwtComponent::GetTopLevelParentForWindow( + comp->GetHWnd())))) + { + static HCURSOR hArrowCursor = LoadCursor(NULL, IDC_ARROW); + SetCursor(hArrowCursor); + } else { + HCURSOR cur = comp->getCursorCache(); + if (cur == NULL) { + cur = GetCursor(env , comp); + } + if (cur != NULL) { + ::SetCursor(cur); + } else { + safe_ExceptionOccurred(env); + } - if (AwtCursor::updateCursorID == NULL) { - jclass cls = + if (AwtCursor::updateCursorID == NULL) { + jclass cls = env->FindClass("sun/awt/windows/WGlobalCursorManager"); - AwtCursor::globalCursorManagerClass = - (jclass)env->NewGlobalRef(cls); - AwtCursor::updateCursorID = - env->GetStaticMethodID(cls, "nativeUpdateCursor", - "(Ljava/awt/Component;)V"); - DASSERT(AwtCursor::globalCursorManagerClass != NULL); - DASSERT(AwtCursor::updateCursorID != NULL); + if(cls != NULL){ + AwtCursor::globalCursorManagerClass = + (jclass)env->NewGlobalRef(cls); + AwtCursor::updateCursorID = + env->GetStaticMethodID(cls, "nativeUpdateCursor", + "(Ljava/awt/Component;)V"); + env->DeleteLocalRef(cls); + DASSERT(AwtCursor::globalCursorManagerClass != NULL); + DASSERT(AwtCursor::updateCursorID != NULL); + } + } + if (AwtCursor::updateCursorID != NULL + && AwtCursor::globalCursorManagerClass != NULL) { + env->CallStaticVoidMethod(AwtCursor::globalCursorManagerClass, + AwtCursor::updateCursorID, jcomp); + } } - - env->CallStaticVoidMethod(AwtCursor::globalCursorManagerClass, - AwtCursor::updateCursorID, jcomp); } + } catch (...) { + env->DeleteLocalRef(jcomp); + throw; } env->DeleteLocalRef(jcomp); } @@ -294,15 +305,22 @@ Java_java_awt_Cursor_initIDs(JNIEnv *env, jclass cls) TRY; AwtCursor::mSetPDataID = env->GetMethodID(cls, "setPData", "(J)V"); + DASSERT(AwtCursor::mSetPDataID != NULL); + CHECK_NULL(AwtCursor::mSetPDataID); AwtCursor::pDataID = env->GetFieldID(cls, "pData", "J"); - AwtCursor::typeID = env->GetFieldID(cls, "type", "I"); DASSERT(AwtCursor::pDataID != NULL); + CHECK_NULL(AwtCursor::pDataID); + AwtCursor::typeID = env->GetFieldID(cls, "type", "I"); DASSERT(AwtCursor::typeID != NULL); + CHECK_NULL(AwtCursor::typeID); cls = env->FindClass("java/awt/Point"); + CHECK_NULL(cls); + AwtCursor::pointXID = env->GetFieldID(cls, "x", "I"); - AwtCursor::pointYID = env->GetFieldID(cls, "y", "I"); DASSERT(AwtCursor::pointXID != NULL); + CHECK_NULL(AwtCursor::pointXID); + AwtCursor::pointYID = env->GetFieldID(cls, "y", "I"); DASSERT(AwtCursor::pointYID != NULL); AwtCursor::updateCursorID = NULL; diff --git a/jdk/src/windows/native/sun/windows/awt_Desktop.cpp b/jdk/src/windows/native/sun/windows/awt_Desktop.cpp index 623718e42e1..828818bad4a 100644 --- a/jdk/src/windows/native/sun/windows/awt_Desktop.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Desktop.cpp @@ -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 @@ -23,6 +23,7 @@ * questions. */ +#include "jni_util.h" #include "awt.h" #include <jni.h> #include <shellapi.h> @@ -41,7 +42,12 @@ JNIEXPORT jstring JNICALL Java_sun_awt_windows_WDesktopPeer_ShellExecute (JNIEnv *env, jclass cls, jstring fileOrUri_j, jstring verb_j) { LPCWSTR fileOrUri_c = JNU_GetStringPlatformChars(env, fileOrUri_j, JNI_FALSE); + CHECK_NULL_RETURN(fileOrUri_c, NULL); LPCWSTR verb_c = JNU_GetStringPlatformChars(env, verb_j, JNI_FALSE); + if (verb_c == NULL) { + JNU_ReleaseStringPlatformChars(env, fileOrUri_j, fileOrUri_c); + return NULL; + } // 6457572: ShellExecute possibly changes FPU control word - saving it here unsigned oldcontrol87 = _control87(0, 0); diff --git a/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp b/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp index 7d68f25983e..21a4b0074ce 100644 --- a/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp +++ b/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp @@ -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 @@ -83,13 +83,19 @@ void AwtDesktopProperties::GetSystemProperties() { HDC dc = CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL); if (dc != NULL) { - SetFontProperty(dc, ANSI_FIXED_FONT, TEXT("win.ansiFixed.font")); - SetFontProperty(dc, ANSI_VAR_FONT, TEXT("win.ansiVar.font")); - SetFontProperty(dc, DEVICE_DEFAULT_FONT, TEXT("win.deviceDefault.font")); - SetFontProperty(dc, DEFAULT_GUI_FONT, TEXT("win.defaultGUI.font")); - SetFontProperty(dc, OEM_FIXED_FONT, TEXT("win.oemFixed.font")); - SetFontProperty(dc, SYSTEM_FONT, TEXT("win.system.font")); - SetFontProperty(dc, SYSTEM_FIXED_FONT, TEXT("win.systemFixed.font")); + try { + SetFontProperty(dc, ANSI_FIXED_FONT, TEXT("win.ansiFixed.font")); + SetFontProperty(dc, ANSI_VAR_FONT, TEXT("win.ansiVar.font")); + SetFontProperty(dc, DEVICE_DEFAULT_FONT, TEXT("win.deviceDefault.font")); + SetFontProperty(dc, DEFAULT_GUI_FONT, TEXT("win.defaultGUI.font")); + SetFontProperty(dc, OEM_FIXED_FONT, TEXT("win.oemFixed.font")); + SetFontProperty(dc, SYSTEM_FONT, TEXT("win.system.font")); + SetFontProperty(dc, SYSTEM_FIXED_FONT, TEXT("win.systemFixed.font")); + } + catch (std::bad_alloc&) { + DeleteDC(dc); + throw; + } DeleteDC(dc); } } @@ -206,24 +212,35 @@ void AwtDesktopProperties::GetXPStyleProperties() { LPTSTR value; value = getXPStylePropFromReg(TEXT("ThemeActive")); - SetBooleanProperty(TEXT("win.xpstyle.themeActive"), (value != NULL && *value == _T('1'))); - if (value != NULL) { - free(value); + try { + SetBooleanProperty(TEXT("win.xpstyle.themeActive"), (value != NULL && *value == _T('1'))); + if (value != NULL) { + free(value); + value = NULL; + } + value = getXPStylePropFromReg(TEXT("DllName")); + if (value != NULL) { + SetStringProperty(TEXT("win.xpstyle.dllName"), value); + free(value); + value = NULL; + } + value = getXPStylePropFromReg(TEXT("SizeName")); + if (value != NULL) { + SetStringProperty(TEXT("win.xpstyle.sizeName"), value); + free(value); + value = NULL; + } + value = getXPStylePropFromReg(TEXT("ColorName")); + if (value != NULL) { + SetStringProperty(TEXT("win.xpstyle.colorName"), value); + free(value); + } } - value = getXPStylePropFromReg(TEXT("DllName")); - if (value != NULL) { - SetStringProperty(TEXT("win.xpstyle.dllName"), value); - free(value); - } - value = getXPStylePropFromReg(TEXT("SizeName")); - if (value != NULL) { - SetStringProperty(TEXT("win.xpstyle.sizeName"), value); - free(value); - } - value = getXPStylePropFromReg(TEXT("ColorName")); - if (value != NULL) { - SetStringProperty(TEXT("win.xpstyle.colorName"), value); - free(value); + catch (std::bad_alloc&) { + if (value != NULL) { + free(value); + } + throw; } } @@ -564,27 +581,37 @@ void AwtDesktopProperties::GetOtherParameters() { // Shell Icon BPP - only honored on platforms before XP value = getWindowsPropFromReg(TEXT("Control Panel\\Desktop\\WindowMetrics"), TEXT("Shell Icon BPP"), &valueType); - if (value != NULL) { - if (valueType == REG_SZ) { - SetStringProperty(TEXT("win.icon.shellIconBPP"), value); + + try { + if (value != NULL) { + if (valueType == REG_SZ) { + SetStringProperty(TEXT("win.icon.shellIconBPP"), value); + } + free(value); + value = NULL; + } + + + // The following registry settings control the file chooser places bar + // under the Windows L&F. These settings are not present by default, but + // can be enabled using the TweakUI tool from Microsoft. For more info, + // see http://msdn.microsoft.com/msdnmag/issues/1100/Registry/ + + // NoPlacesBar is a REG_DWORD, with values 0 or 1 + value = getWindowsPropFromReg(TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\comdlg32"), + TEXT("NoPlacesBar"), &valueType); + if (value != NULL) { + if (valueType == REG_DWORD) { + SetBooleanProperty(TEXT("win.comdlg.noPlacesBar"), (BOOL)((int)*value != 0)); + } + free(value); } - free(value); } - - - // The following registry settings control the file chooser places bar - // under the Windows L&F. These settings are not present by default, but - // can be enabled using the TweakUI tool from Microsoft. For more info, - // see http://msdn.microsoft.com/msdnmag/issues/1100/Registry/ - - // NoPlacesBar is a REG_DWORD, with values 0 or 1 - value = getWindowsPropFromReg(TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\comdlg32"), - TEXT("NoPlacesBar"), &valueType); - if (value != NULL) { - if (valueType == REG_DWORD) { - SetBooleanProperty(TEXT("win.comdlg.noPlacesBar"), (BOOL)((int)*value != 0)); + catch (std::bad_alloc&) { + if (value != NULL) { + free(value); } - free(value); + throw; } LPTSTR valueName = TEXT("PlaceN"); @@ -592,7 +619,15 @@ void AwtDesktopProperties::GetOtherParameters() { lstrcpy(valueNameBuf, valueName); LPTSTR propKey = TEXT("win.comdlg.placesBarPlaceN"); - LPTSTR propKeyBuf = (LPTSTR)SAFE_SIZE_ARRAY_ALLOC(safe_Malloc, (lstrlen(propKey) + 1), sizeof(TCHAR)); + + LPTSTR propKeyBuf; + try { + propKeyBuf = (LPTSTR)SAFE_SIZE_ARRAY_ALLOC(safe_Malloc, (lstrlen(propKey) + 1), sizeof(TCHAR)); + } + catch (std::bad_alloc&) { + free(valueNameBuf); + throw; + } lstrcpy(propKeyBuf, propKey); int i = 0; @@ -601,20 +636,31 @@ void AwtDesktopProperties::GetOtherParameters() { propKeyBuf[25] = valueNameBuf[5]; LPTSTR key = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\comdlg32\\PlacesBar"); - if ((value = getWindowsPropFromReg(key, valueNameBuf, &valueType)) != NULL) { - if (valueType == REG_DWORD) { - // Value is a CSIDL - SetIntegerProperty(propKeyBuf, (int)*value); - } else { - // Value is a path - SetStringProperty(propKeyBuf, value); + try { + value = NULL; + if ((value = getWindowsPropFromReg(key, valueNameBuf, &valueType)) != NULL) { + if (valueType == REG_DWORD) { + // Value is a CSIDL + SetIntegerProperty(propKeyBuf, (int)*value); + } else { + // Value is a path + SetStringProperty(propKeyBuf, value); + } + free(value); } - free(value); + } + catch (std::bad_alloc&) { + if (value != NULL) { + free(value); + } + free(propKeyBuf); + free(valueNameBuf); + throw; } } while (value != NULL); - free(valueNameBuf); free(propKeyBuf); + free(valueNameBuf); } void AwtDesktopProperties::GetSoundEvents() { @@ -656,14 +702,26 @@ UINT AwtDesktopProperties::GetIntegerParameter(UINT spi) { void AwtDesktopProperties::SetStringProperty(LPCTSTR propName, LPTSTR value) { jstring key = JNU_NewStringPlatform(GetEnv(), propName); + if (key == NULL) { + throw std::bad_alloc(); + } + jstring jValue = JNU_NewStringPlatform(GetEnv(), value); + if (jValue == NULL) { + GetEnv()->DeleteLocalRef(key); + throw std::bad_alloc(); + } GetEnv()->CallVoidMethod(self, AwtDesktopProperties::setStringPropertyID, - key, JNU_NewStringPlatform(GetEnv(), value)); + key, jValue); + GetEnv()->DeleteLocalRef(jValue); GetEnv()->DeleteLocalRef(key); } void AwtDesktopProperties::SetIntegerProperty(LPCTSTR propName, int value) { jstring key = JNU_NewStringPlatform(GetEnv(), propName); + if (key == NULL) { + throw std::bad_alloc(); + } GetEnv()->CallVoidMethod(self, AwtDesktopProperties::setIntegerPropertyID, key, (jint)value); @@ -672,6 +730,9 @@ void AwtDesktopProperties::SetIntegerProperty(LPCTSTR propName, int value) { void AwtDesktopProperties::SetBooleanProperty(LPCTSTR propName, BOOL value) { jstring key = JNU_NewStringPlatform(GetEnv(), propName); + if (key == NULL) { + throw std::bad_alloc(); + } GetEnv()->CallVoidMethod(self, AwtDesktopProperties::setBooleanPropertyID, key, value ? JNI_TRUE : JNI_FALSE); @@ -680,6 +741,9 @@ void AwtDesktopProperties::SetBooleanProperty(LPCTSTR propName, BOOL value) { void AwtDesktopProperties::SetColorProperty(LPCTSTR propName, DWORD value) { jstring key = JNU_NewStringPlatform(GetEnv(), propName); + if (key == NULL) { + throw std::bad_alloc(); + } GetEnv()->CallVoidMethod(self, AwtDesktopProperties::setColorPropertyID, key, GetRValue(value), GetGValue(value), @@ -720,6 +784,11 @@ void AwtDesktopProperties::SetFontProperty(HDC dc, int fontID, else { fontName = JNU_NewStringPlatform(GetEnv(), face); } + if (fontName == NULL) { + delete[] face; + throw std::bad_alloc(); + } + jint pointSize = metrics.tmHeight - metrics.tmInternalLeading; jint style = java_awt_Font_PLAIN; @@ -732,11 +801,16 @@ void AwtDesktopProperties::SetFontProperty(HDC dc, int fontID, } jstring key = JNU_NewStringPlatform(GetEnv(), propName); + if (key == NULL) { + GetEnv()->DeleteLocalRef(fontName); + delete[] face; + throw std::bad_alloc(); + } GetEnv()->CallVoidMethod(self, AwtDesktopProperties::setFontPropertyID, key, fontName, style, pointSize); - GetEnv()->DeleteLocalRef(fontName); GetEnv()->DeleteLocalRef(key); + GetEnv()->DeleteLocalRef(fontName); } } delete[] face; @@ -750,7 +824,9 @@ void AwtDesktopProperties::SetFontProperty(LPCTSTR propName, const LOGFONT & fon jint style; fontName = JNU_NewStringPlatform(GetEnv(), font.lfFaceName); - + if (fontName == NULL) { + throw std::bad_alloc(); + } #if 0 HDC hdc; int pixelsPerInch = GetDeviceCaps(hdc, LOGPIXELSY); @@ -773,22 +849,31 @@ void AwtDesktopProperties::SetFontProperty(LPCTSTR propName, const LOGFONT & fon } jstring key = JNU_NewStringPlatform(GetEnv(), propName); + if (key == NULL) { + GetEnv()->DeleteLocalRef(fontName); + throw std::bad_alloc(); + } GetEnv()->CallVoidMethod(self, AwtDesktopProperties::setFontPropertyID, key, fontName, style, pointSize); - - GetEnv()->DeleteLocalRef(fontName); GetEnv()->DeleteLocalRef(key); + GetEnv()->DeleteLocalRef(fontName); } void AwtDesktopProperties::SetSoundProperty(LPCTSTR propName, LPCTSTR winEventName) { jstring key = JNU_NewStringPlatform(GetEnv(), propName); + if (key == NULL) { + throw std::bad_alloc(); + } jstring event = JNU_NewStringPlatform(GetEnv(), winEventName); + if (event == NULL) { + GetEnv()->DeleteLocalRef(key); + throw std::bad_alloc(); + } GetEnv()->CallVoidMethod(self, AwtDesktopProperties::setSoundPropertyID, key, event); - - GetEnv()->DeleteLocalRef(key); GetEnv()->DeleteLocalRef(event); + GetEnv()->DeleteLocalRef(key); } void AwtDesktopProperties::PlayWindowsSound(LPCTSTR event) { @@ -814,24 +899,37 @@ Java_sun_awt_windows_WDesktopProperties_initIDs(JNIEnv *env, jclass cls) { AwtDesktopProperties::pDataID = env->GetFieldID(cls, "pData", "J"); DASSERT(AwtDesktopProperties::pDataID != 0); + CHECK_NULL(AwtDesktopProperties::pDataID); - AwtDesktopProperties::setBooleanPropertyID = env->GetMethodID(cls, "setBooleanProperty", "(Ljava/lang/String;Z)V"); + AwtDesktopProperties::setBooleanPropertyID = + env->GetMethodID(cls, "setBooleanProperty", "(Ljava/lang/String;Z)V"); DASSERT(AwtDesktopProperties::setBooleanPropertyID != 0); + CHECK_NULL(AwtDesktopProperties::setBooleanPropertyID); - AwtDesktopProperties::setIntegerPropertyID = env->GetMethodID(cls, "setIntegerProperty", "(Ljava/lang/String;I)V"); + AwtDesktopProperties::setIntegerPropertyID = + env->GetMethodID(cls, "setIntegerProperty", "(Ljava/lang/String;I)V"); DASSERT(AwtDesktopProperties::setIntegerPropertyID != 0); + CHECK_NULL(AwtDesktopProperties::setIntegerPropertyID); - AwtDesktopProperties::setStringPropertyID = env->GetMethodID(cls, "setStringProperty", "(Ljava/lang/String;Ljava/lang/String;)V"); + AwtDesktopProperties::setStringPropertyID = + env->GetMethodID(cls, "setStringProperty", "(Ljava/lang/String;Ljava/lang/String;)V"); DASSERT(AwtDesktopProperties::setStringPropertyID != 0); + CHECK_NULL(AwtDesktopProperties::setStringPropertyID); - AwtDesktopProperties::setColorPropertyID = env->GetMethodID(cls, "setColorProperty", "(Ljava/lang/String;III)V"); + AwtDesktopProperties::setColorPropertyID = + env->GetMethodID(cls, "setColorProperty", "(Ljava/lang/String;III)V"); DASSERT(AwtDesktopProperties::setColorPropertyID != 0); + CHECK_NULL(AwtDesktopProperties::setColorPropertyID); - AwtDesktopProperties::setFontPropertyID = env->GetMethodID(cls, "setFontProperty", "(Ljava/lang/String;Ljava/lang/String;II)V"); + AwtDesktopProperties::setFontPropertyID = + env->GetMethodID(cls, "setFontProperty", "(Ljava/lang/String;Ljava/lang/String;II)V"); DASSERT(AwtDesktopProperties::setFontPropertyID != 0); + CHECK_NULL(AwtDesktopProperties::setFontPropertyID); - AwtDesktopProperties::setSoundPropertyID = env->GetMethodID(cls, "setSoundProperty", "(Ljava/lang/String;Ljava/lang/String;)V"); + AwtDesktopProperties::setSoundPropertyID = + env->GetMethodID(cls, "setSoundProperty", "(Ljava/lang/String;Ljava/lang/String;)V"); DASSERT(AwtDesktopProperties::setSoundPropertyID != 0); + CHECK_NULL(AwtDesktopProperties::setSoundPropertyID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_Dialog.cpp b/jdk/src/windows/native/sun/windows/awt_Dialog.cpp index 3de84956989..cbba78e3b7b 100644 --- a/jdk/src/windows/native/sun/windows/awt_Dialog.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Dialog.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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,6 +23,7 @@ * questions. */ +#include "jni_util.h" #include "awt_Toolkit.h" #include "awt_Dialog.h" #include "awt_Window.h" @@ -457,18 +458,25 @@ void AwtDialog::ModalActivateNextWindow(HWND dialogHWnd, { JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); - jclass wwindowPeerCls = env->FindClass("sun/awt/windows/WWindowPeer"); - jmethodID getActiveWindowsMID = env->GetStaticMethodID(wwindowPeerCls, - "getActiveWindowHandles", "()[J"); - DASSERT(getActiveWindowsMID != NULL); - jlongArray windows = (jlongArray)(env->CallStaticObjectMethod(wwindowPeerCls, - getActiveWindowsMID)); + jboolean exc; + jlongArray windows = (jlongArray) JNU_CallStaticMethodByName + (env, + &exc, + "sun/awt/windows/WWindowPeer", + "getActiveWindowHandles", + "()[J").l; + if (exc == JNI_TRUE) { + throw std::bad_alloc(); + } if (windows == NULL) { return; } jboolean isCopy; jlong *ws = env->GetLongArrayElements(windows, &isCopy); + if (ws == NULL) { + throw std::bad_alloc(); + } int windowsCount = env->GetArrayLength(windows); for (int i = windowsCount - 1; i >= 0; i--) { HWND w = (HWND)ws[i]; @@ -744,11 +752,13 @@ Java_java_awt_Dialog_initIDs(JNIEnv *env, jclass cls) /* java.awt.Dialog fields and methods */ AwtDialog::titleID = env->GetFieldID(cls, "title", "Ljava/lang/String;"); + DASSERT(AwtDialog::titleID != NULL); + CHECK_NULL(AwtDialog::titleID); + AwtDialog::undecoratedID = env->GetFieldID(cls,"undecorated","Z"); - DASSERT(AwtDialog::undecoratedID != NULL); - DASSERT(AwtDialog::titleID != NULL); + CHECK_NULL(AwtDialog::undecoratedID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_Dimension.cpp b/jdk/src/windows/native/sun/windows/awt_Dimension.cpp index b02da6eeeb8..c67af32ce67 100644 --- a/jdk/src/windows/native/sun/windows/awt_Dimension.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Dimension.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -44,9 +44,10 @@ Java_java_awt_Dimension_initIDs(JNIEnv *env, jclass cls) { TRY; AwtDimension::widthID = env->GetFieldID(cls, "width", "I"); - AwtDimension::heightID = env->GetFieldID(cls, "height", "I"); - DASSERT(AwtDimension::widthID != NULL); + CHECK_NULL(AwtDimension::widthID); + + AwtDimension::heightID = env->GetFieldID(cls, "height", "I"); DASSERT(AwtDimension::heightID != NULL); CATCH_BAD_ALLOC; diff --git a/jdk/src/windows/native/sun/windows/awt_DnDDS.cpp b/jdk/src/windows/native/sun/windows/awt_DnDDS.cpp index f9100ba1c9a..27999b6b551 100644 --- a/jdk/src/windows/native/sun/windows/awt_DnDDS.cpp +++ b/jdk/src/windows/native/sun/windows/awt_DnDDS.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 @@ -643,6 +643,7 @@ HRESULT __stdcall AwtDragSource::QueryContinueDrag(BOOL fEscapeKeyPressed, DWOR m_lastmods == modifiers) {//cannot move before cursor change call_dSCmouseMoved(env, m_peer, m_actions, modifiers, dragPoint.x, dragPoint.y); + JNU_CHECK_EXCEPTION_RETURN(env, E_UNEXPECTED); m_dragPoint = dragPoint; } @@ -977,6 +978,10 @@ HRESULT __stdcall AwtDragSource::GetDataHere(FORMATETC __RPC_FAR *pFormatEtc, if ((matchedFormatEtc.tymed & TYMED_ISTREAM) != 0) { jboolean isCopy; jbyte *bBytes = env->GetByteArrayElements(bytes, &isCopy); + if (bBytes == NULL) { + env->PopLocalFrame(NULL); + return E_UNEXPECTED; + } ULONG act; HRESULT res = pmedium->pstm->Write((const void *)bBytes, (ULONG)nBytes, diff --git a/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp b/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp index 7944c052913..8739fc8f576 100644 --- a/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp +++ b/jdk/src/windows/native/sun/windows/awt_DnDDT.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 @@ -603,6 +603,10 @@ jobject AwtDropTarget::ConvertNativeData(JNIEnv* env, jlong fmt, STGMEDIUM *pmed jobject local = JNU_NewStringPlatform( env, pmedium->lpszFileName); + if (env->ExceptionCheck()) { + hr = E_OUTOFMEMORY; + break; + } jstring fileName = (jstring)env->NewGlobalRef(local); env->DeleteLocalRef(local); @@ -1220,8 +1224,6 @@ AwtDropTarget::call_dTCgetis(JNIEnv* env, jlong istream) { /*****************************************************************************/ -jclass WDTCPIStreamWrapper::javaIOExceptionClazz = (jclass)NULL; - /** * construct a wrapper */ @@ -1233,16 +1235,6 @@ WDTCPIStreamWrapper::WDTCPIStreamWrapper(STGMEDIUM* stgmedium) { m_istream = stgmedium->pstm; m_istream->AddRef(); m_mutex = ::CreateMutex(NULL, FALSE, NULL); - - if (javaIOExceptionClazz == (jclass)NULL) { - javaIOExceptionClazz = env->FindClass("java/io/IOException"); - - if (JNU_IsNull(env, javaIOExceptionClazz)) { - env->ThrowNew(env->FindClass("java/lang/ClassNotFoundException"), - "Cant find java/io/IOException" - ); - } - } } /** @@ -1291,12 +1283,12 @@ jint WDTCPIStreamWrapper::Available() { JNIEnv* env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); if (m_istream->Stat(&m_statstg, STATFLAG_NONAME) != S_OK) { - env->ThrowNew(javaIOExceptionClazz, "IStream::Stat() failed"); + JNU_ThrowIOException(env, "IStream::Stat() failed"); return 0; } if (m_statstg.cbSize.QuadPart > 0x7ffffffL) { - env->ThrowNew(javaIOExceptionClazz, "IStream::Stat() cbSize > 0x7ffffff"); + JNU_ThrowIOException(env, "IStream::Stat() cbSize > 0x7ffffff"); return 0; } @@ -1349,7 +1341,7 @@ jint WDTCPIStreamWrapper::Read() { return (jint)(actual == 0 ? -1 : b); default: - env->ThrowNew(javaIOExceptionClazz, "IStream::Read failed"); + JNU_ThrowIOException(env, "IStream::Read failed"); } return (jint)-1; } @@ -1394,6 +1386,7 @@ jint WDTCPIStreamWrapper::ReadBytes(jbyteArray buf, jint off, jint len) { ULONG actual = 0; jbyte* local = env->GetByteArrayElements(buf, &isCopy); HRESULT res; + CHECK_NULL_RETURN(local, (jint)-1); switch (res = m_istream->Read((void *)(local + off), (ULONG)len, &actual)) { case S_FALSE: @@ -1406,7 +1399,7 @@ jint WDTCPIStreamWrapper::ReadBytes(jbyteArray buf, jint off, jint len) { default: env->ReleaseByteArrayElements(buf, local, JNI_ABORT); - env->ThrowNew(javaIOExceptionClazz, "IStream::Read failed"); + JNU_ThrowIOException(env, "IStream::Read failed"); } return (jint)-1; diff --git a/jdk/src/windows/native/sun/windows/awt_Event.cpp b/jdk/src/windows/native/sun/windows/awt_Event.cpp index 445ae8762f4..e267285f092 100644 --- a/jdk/src/windows/native/sun/windows/awt_Event.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Event.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -45,12 +45,16 @@ Java_java_awt_Event_initIDs(JNIEnv *env, jclass cls) { TRY; AwtEvent::targetID = env->GetFieldID(cls, "target", "Ljava/lang/Object;"); - AwtEvent::xID = env->GetFieldID(cls, "x", "I"); - AwtEvent::yID = env->GetFieldID(cls, "y", "I"); - DASSERT(AwtEvent::targetID != NULL); + CHECK_NULL(AwtEvent::targetID); + + AwtEvent::xID = env->GetFieldID(cls, "x", "I"); DASSERT(AwtEvent::xID != NULL); + CHECK_NULL(AwtEvent::xID); + + AwtEvent::yID = env->GetFieldID(cls, "y", "I"); DASSERT(AwtEvent::yID != NULL); + CHECK_NULL(AwtEvent::yID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_FileDialog.cpp b/jdk/src/windows/native/sun/windows/awt_FileDialog.cpp index 3fd993cc646..a9573e57d4b 100644 --- a/jdk/src/windows/native/sun/windows/awt_FileDialog.cpp +++ b/jdk/src/windows/native/sun/windows/awt_FileDialog.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -180,6 +180,9 @@ FileDialogHookProc(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) return TRUE; } jstring strPath = JNU_NewStringPlatform(env, szPath); + if (strPath == NULL) { + throw std::bad_alloc(); + } // Call FilenameFilter.accept with path and filename UINT uRes = (env->CallBooleanMethod(peer, AwtFileDialog::checkFilenameFilterMID, strPath) == JNI_TRUE); @@ -269,6 +272,9 @@ AwtFileDialog::Show(void *p) if (title == NULL || env->GetStringLength(title)==0) { title = JNU_NewStringPlatform(env, L" "); + if (title == NULL) { + throw std::bad_alloc(); + } } JavaStringBuffer titleBuffer(env, title); @@ -376,6 +382,9 @@ AwtFileDialog::Show(void *p) ? (jint)GetBufferLength(ofn.lpstrFile, ofn.nMaxFile) : (jint)_tcslen(ofn.lpstrFile); jcharArray jnames = env->NewCharArray(length); + if (jnames == NULL) { + throw std::bad_alloc(); + } env->SetCharArrayRegion(jnames, 0, length, (jchar*)ofn.lpstrFile); env->CallVoidMethod(peer, AwtFileDialog::handleSelectedMID, jnames); @@ -500,38 +509,55 @@ Java_sun_awt_windows_WFileDialogPeer_initIDs(JNIEnv *env, jclass cls) AwtFileDialog::parentID = env->GetFieldID(cls, "parent", "Lsun/awt/windows/WComponentPeer;"); + DASSERT(AwtFileDialog::parentID != NULL); + CHECK_NULL(AwtFileDialog::parentID); + AwtFileDialog::fileFilterID = env->GetFieldID(cls, "fileFilter", "Ljava/io/FilenameFilter;"); - AwtFileDialog::setHWndMID = - env->GetMethodID(cls, "setHWnd", "(J)V"); + DASSERT(AwtFileDialog::fileFilterID != NULL); + CHECK_NULL(AwtFileDialog::fileFilterID); + + AwtFileDialog::setHWndMID = env->GetMethodID(cls, "setHWnd", "(J)V"); + DASSERT(AwtFileDialog::setHWndMID != NULL); + CHECK_NULL(AwtFileDialog::setHWndMID); + AwtFileDialog::handleSelectedMID = env->GetMethodID(cls, "handleSelected", "([C)V"); + DASSERT(AwtFileDialog::handleSelectedMID != NULL); + CHECK_NULL(AwtFileDialog::handleSelectedMID); + AwtFileDialog::handleCancelMID = env->GetMethodID(cls, "handleCancel", "()V"); + DASSERT(AwtFileDialog::handleCancelMID != NULL); + CHECK_NULL(AwtFileDialog::handleCancelMID); + AwtFileDialog::checkFilenameFilterMID = env->GetMethodID(cls, "checkFilenameFilter", "(Ljava/lang/String;)Z"); + DASSERT(AwtFileDialog::checkFilenameFilterMID != NULL); + CHECK_NULL(AwtFileDialog::checkFilenameFilterMID); + AwtFileDialog::isMultipleModeMID = env->GetMethodID(cls, "isMultipleMode", "()Z"); + DASSERT(AwtFileDialog::isMultipleModeMID != NULL); + CHECK_NULL(AwtFileDialog::isMultipleModeMID); /* java.awt.FileDialog fields */ cls = env->FindClass("java/awt/FileDialog"); - if (cls == NULL) { - return; - } + CHECK_NULL(cls); + AwtFileDialog::modeID = env->GetFieldID(cls, "mode", "I"); + DASSERT(AwtFileDialog::modeID != NULL); + CHECK_NULL(AwtFileDialog::modeID); + AwtFileDialog::dirID = env->GetFieldID(cls, "dir", "Ljava/lang/String;"); + DASSERT(AwtFileDialog::dirID != NULL); + CHECK_NULL(AwtFileDialog::dirID); + AwtFileDialog::fileID = env->GetFieldID(cls, "file", "Ljava/lang/String;"); + DASSERT(AwtFileDialog::fileID != NULL); + CHECK_NULL(AwtFileDialog::fileID); + AwtFileDialog::filterID = env->GetFieldID(cls, "filter", "Ljava/io/FilenameFilter;"); - - DASSERT(AwtFileDialog::parentID != NULL); - DASSERT(AwtFileDialog::setHWndMID != NULL); - DASSERT(AwtFileDialog::handleSelectedMID != NULL); - DASSERT(AwtFileDialog::handleCancelMID != NULL); - DASSERT(AwtFileDialog::isMultipleModeMID != NULL); - - DASSERT(AwtFileDialog::modeID != NULL); - DASSERT(AwtFileDialog::dirID != NULL); - DASSERT(AwtFileDialog::fileID != NULL); DASSERT(AwtFileDialog::filterID != NULL); CATCH_BAD_ALLOC; diff --git a/jdk/src/windows/native/sun/windows/awt_Frame.cpp b/jdk/src/windows/native/sun/windows/awt_Frame.cpp index 1195491069f..1ed2ac5915a 100644 --- a/jdk/src/windows/native/sun/windows/awt_Frame.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Frame.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -173,8 +173,11 @@ AwtFrame* AwtFrame::Create(jobject self, jobject parent) BOOL isEmbeddedInstance = FALSE; BOOL isEmbedded = FALSE; cls = env->FindClass("sun/awt/EmbeddedFrame"); + if (cls) { isEmbeddedInstance = env->IsInstanceOf(target, cls); + } else { + throw std::bad_alloc(); } INT_PTR handle; if (isEmbeddedInstance) { @@ -189,6 +192,8 @@ AwtFrame* AwtFrame::Create(jobject self, jobject parent) cls = env->FindClass("sun/awt/LightweightFrame"); if (cls) { isLightweight = env->IsInstanceOf(target, cls); + } else { + throw std::bad_alloc(); } frame->m_isLightweight = isLightweight; @@ -260,7 +265,11 @@ AwtFrame* AwtFrame::Create(jobject self, jobject parent) // for input method windows, use minimal decorations inputMethodWindowCls = env->FindClass("sun/awt/im/InputMethodWindow"); - if ((inputMethodWindowCls != NULL) && env->IsInstanceOf(target, inputMethodWindowCls)) { + if (inputMethodWindowCls == NULL) { + throw std::bad_alloc(); + } + + if (env->IsInstanceOf(target, inputMethodWindowCls)) { //for below-the-spot composition window, use no decoration if (env->GetBooleanField(target, AwtFrame::undecoratedID) == JNI_TRUE){ exStyle = 0; @@ -1609,9 +1618,10 @@ Java_sun_awt_windows_WFramePeer_initIDs(JNIEnv *env, jclass cls) TRY; AwtFrame::setExtendedStateMID = env->GetMethodID(cls, "setExtendedState", "(I)V"); - AwtFrame::getExtendedStateMID = env->GetMethodID(cls, "getExtendedState", "()I"); - DASSERT(AwtFrame::setExtendedStateMID); + CHECK_NULL(AwtFrame::setExtendedStateMID); + + AwtFrame::getExtendedStateMID = env->GetMethodID(cls, "getExtendedState", "()I"); DASSERT(AwtFrame::getExtendedStateMID); CATCH_BAD_ALLOC; @@ -1784,35 +1794,6 @@ Java_sun_awt_windows_WFramePeer_pSetIMMOption(JNIEnv *env, jobject self, } /* extern "C" */ -/************************************************************************ - * EmbeddedFrame native methods - */ - -extern "C" { - -/* - * Class: sun_awt_EmbeddedFrame - * Method: setPeer - * Signature: (Ljava/awt/peer/ComponentPeer;)V - */ -JNIEXPORT void JNICALL -Java_sun_awt_EmbeddedFrame_setPeer(JNIEnv *env, jobject self, jobject lpeer) -{ - TRY; - - jclass cls; - jfieldID fid; - - cls = env->GetObjectClass(self); - fid = env->GetFieldID(cls, "peer", "Ljava/awt/peer/ComponentPeer;"); - env->SetObjectField(self, fid, lpeer); - - CATCH_BAD_ALLOC; -} - -} /* extern "C" */ - - /************************************************************************ * WEmbeddedFrame native methods */ @@ -1831,6 +1812,7 @@ Java_sun_awt_windows_WEmbeddedFrame_initIDs(JNIEnv *env, jclass cls) AwtFrame::handleID = env->GetFieldID(cls, "handle", "J"); DASSERT(AwtFrame::handleID != NULL); + CHECK_NULL(AwtFrame::handleID); AwtFrame::activateEmbeddingTopLevelMID = env->GetMethodID(cls, "activateEmbeddingTopLevel", "()V"); DASSERT(AwtFrame::activateEmbeddingTopLevelMID != NULL); diff --git a/jdk/src/windows/native/sun/windows/awt_InputTextInfor.cpp b/jdk/src/windows/native/sun/windows/awt_InputTextInfor.cpp index bbe8a8419ce..4ccf0d55e3e 100644 --- a/jdk/src/windows/native/sun/windows/awt_InputTextInfor.cpp +++ b/jdk/src/windows/native/sun/windows/awt_InputTextInfor.cpp @@ -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 @@ -132,6 +132,7 @@ AwtInputTextInfor::GetContextData(HIMC hIMC, const LPARAM flags) { JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); if (m_cStrW > 0) { m_jtext = MakeJavaString(env, m_lpStrW, m_cStrW); + JNU_CHECK_EXCEPTION_RETURN(env, -1); } // Merge the string if necessary @@ -251,6 +252,13 @@ int AwtInputTextInfor::GetClauseInfor(int*& lpBndClauseW, jstring*& lpReadingCla } else { readingClauseW[cls] = MakeJavaString(env, lpHWStrW, cHWStrW); } + if (env->ExceptionCheck()) { + lpBndClauseW = NULL; + lpReadingClauseW = NULL; + delete [] bndClauseW; + delete [] readingClauseW; + return 0; + } } else { readingClauseW[cls] = NULL; diff --git a/jdk/src/windows/native/sun/windows/awt_KeyEvent.cpp b/jdk/src/windows/native/sun/windows/awt_KeyEvent.cpp index dc9acd2d2cf..7b21e5c959a 100644 --- a/jdk/src/windows/native/sun/windows/awt_KeyEvent.cpp +++ b/jdk/src/windows/native/sun/windows/awt_KeyEvent.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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,19 +48,28 @@ Java_java_awt_event_KeyEvent_initIDs(JNIEnv *env, jclass cls) { TRY; AwtKeyEvent::keyCodeID = env->GetFieldID(cls, "keyCode", "I"); - AwtKeyEvent::keyCharID = env->GetFieldID(cls, "keyChar", "C"); - AwtKeyEvent::rawCodeID = env->GetFieldID(cls, "rawCode", "J"); - AwtKeyEvent::primaryLevelUnicodeID = env->GetFieldID(cls, "primaryLevelUnicode", "J"); - AwtKeyEvent::scancodeID = env->GetFieldID(cls, "scancode", "J"); - AwtKeyEvent::extendedKeyCodeID = env->GetFieldID(cls, "extendedKeyCode", "J"); - - DASSERT(AwtKeyEvent::keyCodeID != NULL); + CHECK_NULL(AwtKeyEvent::keyCodeID); + + AwtKeyEvent::keyCharID = env->GetFieldID(cls, "keyChar", "C"); DASSERT(AwtKeyEvent::keyCharID != NULL); + CHECK_NULL(AwtKeyEvent::keyCharID); + + AwtKeyEvent::rawCodeID = env->GetFieldID(cls, "rawCode", "J"); DASSERT(AwtKeyEvent::rawCodeID != NULL); + CHECK_NULL(AwtKeyEvent::rawCodeID); + + AwtKeyEvent::primaryLevelUnicodeID = env->GetFieldID(cls, "primaryLevelUnicode", "J"); DASSERT(AwtKeyEvent::primaryLevelUnicodeID != NULL); + CHECK_NULL(AwtKeyEvent::primaryLevelUnicodeID); + + AwtKeyEvent::scancodeID = env->GetFieldID(cls, "scancode", "J"); DASSERT(AwtKeyEvent::scancodeID != NULL); + CHECK_NULL(AwtKeyEvent::scancodeID); + + AwtKeyEvent::extendedKeyCodeID = env->GetFieldID(cls, "extendedKeyCode", "J"); DASSERT(AwtKeyEvent::extendedKeyCodeID != NULL); + CHECK_NULL(AwtKeyEvent::extendedKeyCodeID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_Menu.cpp b/jdk/src/windows/native/sun/windows/awt_Menu.cpp index ff428f20c8e..8bea41c88e3 100644 --- a/jdk/src/windows/native/sun/windows/awt_Menu.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Menu.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -351,10 +351,11 @@ Java_java_awt_Menu_initIDs(JNIEnv *env, jclass cls) TRY; AwtMenu::countItemsMID = env->GetMethodID(cls, "countItemsImpl", "()I"); + DASSERT(AwtMenu::countItemsMID != NULL); + CHECK_NULL(AwtMenu::countItemsMID); + AwtMenu::getItemMID = env->GetMethodID(cls, "getItemImpl", "(I)Ljava/awt/MenuItem;"); - - DASSERT(AwtMenu::countItemsMID != NULL); DASSERT(AwtMenu::getItemMID != NULL); CATCH_BAD_ALLOC; diff --git a/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp b/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp index 82f537043ba..c600d8d36ac 100644 --- a/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp +++ b/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -268,9 +268,11 @@ Java_java_awt_MenuBar_initIDs(JNIEnv *env, jclass cls) TRY; AwtMenuBar::getMenuCountMID = env->GetMethodID(cls, "getMenuCountImpl", "()I"); + DASSERT(AwtMenuBar::getMenuCountMID != NULL); + CHECK_NULL(AwtMenuBar::getMenuCountMID); + AwtMenuBar::getMenuMID = env->GetMethodID(cls, "getMenuImpl", "(I)Ljava/awt/Menu;"); - DASSERT(AwtMenuBar::getMenuCountMID != NULL); DASSERT(AwtMenuBar::getMenuMID != NULL); CATCH_BAD_ALLOC; diff --git a/jdk/src/windows/native/sun/windows/awt_MouseEvent.cpp b/jdk/src/windows/native/sun/windows/awt_MouseEvent.cpp index d373b523e88..682c6e2fa6f 100644 --- a/jdk/src/windows/native/sun/windows/awt_MouseEvent.cpp +++ b/jdk/src/windows/native/sun/windows/awt_MouseEvent.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -45,12 +45,16 @@ Java_java_awt_event_MouseEvent_initIDs(JNIEnv *env, jclass cls) { TRY; AwtMouseEvent::xID = env->GetFieldID(cls, "x", "I"); - AwtMouseEvent::yID = env->GetFieldID(cls, "y", "I"); - AwtMouseEvent::buttonID = env->GetFieldID(cls, "button", "I"); - DASSERT(AwtMouseEvent::xID != NULL); + CHECK_NULL(AwtMouseEvent::xID); + + AwtMouseEvent::yID = env->GetFieldID(cls, "y", "I"); DASSERT(AwtMouseEvent::yID != NULL); + CHECK_NULL(AwtMouseEvent::yID); + + AwtMouseEvent::buttonID = env->GetFieldID(cls, "button", "I"); DASSERT(AwtMouseEvent::buttonID != NULL); + CHECK_NULL(AwtMouseEvent::buttonID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_Object.cpp b/jdk/src/windows/native/sun/windows/awt_Object.cpp index b3552807ba6..13507b9846c 100644 --- a/jdk/src/windows/native/sun/windows/awt_Object.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Object.cpp @@ -232,22 +232,31 @@ Java_sun_awt_windows_WObjectPeer_initIDs(JNIEnv *env, jclass cls) { TRY; AwtObject::wObjectPeerClass = (jclass)env->NewGlobalRef(cls); + DASSERT(AwtObject::wObjectPeerClass != NULL); + CHECK_NULL(AwtObject::wObjectPeerClass); + AwtObject::pDataID = env->GetFieldID(cls, "pData", "J"); + DASSERT(AwtObject::pDataID != NULL); + CHECK_NULL(AwtObject::pDataID); + AwtObject::destroyedID = env->GetFieldID(cls, "destroyed", "Z"); + DASSERT(AwtObject::destroyedID != NULL); + CHECK_NULL(AwtObject::destroyedID); + AwtObject::targetID = env->GetFieldID(cls, "target", "Ljava/lang/Object;"); + DASSERT(AwtObject::targetID != NULL); + CHECK_NULL(AwtObject::targetID); AwtObject::getPeerForTargetMID = env->GetStaticMethodID(cls, "getPeerForTarget", "(Ljava/lang/Object;)Lsun/awt/windows/WObjectPeer;"); + DASSERT(AwtObject::getPeerForTargetMID != NULL); + CHECK_NULL(AwtObject::getPeerForTargetMID); AwtObject::createErrorID = env->GetFieldID(cls, "createError", "Ljava/lang/Error;"); - - DASSERT(AwtObject::pDataID != NULL); - DASSERT(AwtObject::destroyedID != NULL); - DASSERT(AwtObject::targetID != NULL); - DASSERT(AwtObject::getPeerForTargetMID != NULL); DASSERT(AwtObject::createErrorID != NULL); + CHECK_NULL(AwtObject::createErrorID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp b/jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp index cc03c0ba46c..0a04e0e8db5 100644 --- a/jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp +++ b/jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -114,7 +114,6 @@ void AwtPopupMenu::Show(JNIEnv *env, jobject event, BOOL isTrayIconPopup) * as the event's target. */ if (env->EnsureLocalCapacity(2) < 0) { - env->DeleteGlobalRef(event); return; } jobject origin = (env)->GetObjectField(event, AwtEvent::targetID); @@ -155,7 +154,6 @@ void AwtPopupMenu::Show(JNIEnv *env, jobject event, BOOL isTrayIconPopup) done: env->DeleteLocalRef(origin); env->DeleteLocalRef(peerOrigin); - env->DeleteGlobalRef(event); } void AwtPopupMenu::_Show(void *param) @@ -164,29 +162,21 @@ void AwtPopupMenu::_Show(void *param) static jclass popupMenuCls; if (popupMenuCls == NULL) { - jclass popupMenuClsLocal = - env->FindClass("java/awt/PopupMenu"); - if (!popupMenuClsLocal) { - /* exception already thrown */ - ShowStruct *ss = (ShowStruct*)param; - if (ss->self != NULL) { - env->DeleteGlobalRef(ss->self); - } - delete ss; - return; + jclass popupMenuClsLocal = env->FindClass("java/awt/PopupMenu"); + if (popupMenuClsLocal != NULL) { + popupMenuCls = (jclass)env->NewGlobalRef(popupMenuClsLocal); + env->DeleteLocalRef(popupMenuClsLocal); } - popupMenuCls = (jclass)env->NewGlobalRef(popupMenuClsLocal); - env->DeleteLocalRef(popupMenuClsLocal); } static jfieldID isTrayIconPopupID; - if (isTrayIconPopupID == NULL) { + if (popupMenuCls != NULL && isTrayIconPopupID == NULL) { isTrayIconPopupID = env->GetFieldID(popupMenuCls, "isTrayIconPopup", "Z"); DASSERT(isTrayIconPopupID); } ShowStruct *ss = (ShowStruct*)param; - if (ss->self != NULL) { + if (ss->self != NULL && isTrayIconPopupID != NULL) { PDATA pData = JNI_GET_PDATA(ss->self); if (pData) { AwtPopupMenu *p = (AwtPopupMenu *)pData; @@ -195,9 +185,17 @@ void AwtPopupMenu::_Show(void *param) env->DeleteLocalRef(target); p->Show(env, ss->event, isTrayIconPopup); } + } + if (ss->self != NULL) { env->DeleteGlobalRef(ss->self); } + if (ss->event != NULL) { + env->DeleteGlobalRef(ss->event); + } delete ss; + if (isTrayIconPopupID == NULL) { + throw std::bad_alloc(); + } } void AwtPopupMenu::AddItem(AwtMenuItem *item) @@ -303,7 +301,7 @@ Java_sun_awt_windows_WPopupMenuPeer__1show(JNIEnv *env, jobject self, // fix for 6268046: invoke the function without CriticalSection's synchronization AwtToolkit::GetInstance().InvokeFunction(AwtPopupMenu::_Show, ss); - // global ref is deleted in _Show() and ss is deleted in Show() + // global ref and ss are deleted in _Show() CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_PrintDialog.cpp b/jdk/src/windows/native/sun/windows/awt_PrintDialog.cpp index 8244be5cdda..d0f658723f7 100644 --- a/jdk/src/windows/native/sun/windows/awt_PrintDialog.cpp +++ b/jdk/src/windows/native/sun/windows/awt_PrintDialog.cpp @@ -172,11 +172,13 @@ Java_sun_awt_windows_WPrintDialogPeer_initIDs(JNIEnv *env, jclass cls) AwtPrintDialog::parentID = env->GetFieldID(cls, "parent", "Lsun/awt/windows/WComponentPeer;"); + DASSERT(AwtPrintDialog::parentID != NULL); + CHECK_NULL(AwtPrintDialog::parentID); + AwtPrintDialog::setHWndMID = env->GetMethodID(cls, "setHWnd", "(J)V"); - - DASSERT(AwtPrintDialog::parentID != NULL); DASSERT(AwtPrintDialog::setHWndMID != NULL); + CHECK_NULL(AwtPrintDialog::setHWndMID); CATCH_BAD_ALLOC; } diff --git a/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp b/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp index 6db838f2fa6..b9d818e0cfd 100644 --- a/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp +++ b/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -281,21 +281,15 @@ static void setPaperValues(JNIEnv *env, jobject paper, const POINT *paperSize, static long convertFromPoints(double value, int units); static double convertToPoints(long value, int units); void setCapabilities(JNIEnv *env, jobject self, HDC printDC); -static inline WORD getPrintPaperSize(JNIEnv *env, jobject self); -static inline void setPrintPaperSize(JNIEnv *env, jobject self, WORD sz); -static jint getIntField(JNIEnv *env, jobject self, const char *fieldName); -static jlong getLongField(JNIEnv *env, jobject self, const char *fieldName); -static void setIntField(JNIEnv *env, jobject self, - const char *fieldName, jint value); -static void setLongField(JNIEnv *env, jobject self, - const char *fieldName, jlong value); -static jfieldID getIdOfIntField(JNIEnv *env, jobject self, +static inline WORD getPrintPaperSize(JNIEnv *env, jboolean* err, jobject self); +static inline jboolean setPrintPaperSize(JNIEnv *env, jobject self, WORD sz); +static jint getIntField(JNIEnv *env, jboolean* err, jobject self, const char *fieldName); +static jboolean setIntField(JNIEnv *env, jobject self, + const char *fieldName, jint value); +static jboolean getBooleanField(JNIEnv *env, jboolean* err, jobject self, const char *fieldName); -static jfieldID getIdOfLongField(JNIEnv *env, jobject self, - const char *fieldName); -static void setBooleanField(JNIEnv *env, jobject self, +static jboolean setBooleanField(JNIEnv *env, jobject self, const char *fieldName, jboolean value); - static jbyte *findNonWhite(jbyte *image, long sy, long width, long height, long scanLineStride, long *numLinesP); static jbyte *findWhite(jbyte *image, long sy, long width, long height, @@ -577,7 +571,8 @@ Java_sun_awt_windows_WPageDialogPeer__1show(JNIEnv *env, jobject peer) * If both are null, then there is no default printer. */ if ((setup.hDevMode == NULL) && (setup.hDevNames == NULL)) { - return JNI_FALSE; + doIt = JNI_FALSE; + goto done; } } else { int measure = PSD_INTHOUSANDTHSOFINCHES; @@ -602,8 +597,11 @@ Java_sun_awt_windows_WPageDialogPeer__1show(JNIEnv *env, jobject peer) * into the Windows setup structure so that the format can * be displayed in the dialog. */ - pageFormatToSetup(env, self, page, &setup, - AwtPrintControl::getPrintDC(env, self)); + pageFormatToSetup(env, self, page, &setup, AwtPrintControl::getPrintDC(env, self)); + if (env->ExceptionCheck()) { + doIt = JNI_FALSE; + goto done; + } setup.lpfnPageSetupHook = reinterpret_cast<LPPAGESETUPHOOK>(pageDlgHook); setup.Flags = PSD_ENABLEPAGESETUPHOOK | PSD_MARGINS; @@ -614,7 +612,10 @@ Java_sun_awt_windows_WPageDialogPeer__1show(JNIEnv *env, jobject peer) if (ret) { jobject paper = getPaper(env, page); - + if (paper == NULL) { + doIt = JNI_FALSE; + goto done; + } int units = setup.Flags & PSD_INTHOUSANDTHSOFINCHES ? MM_HIENGLISH : MM_HIMETRIC; @@ -653,19 +654,33 @@ Java_sun_awt_windows_WPageDialogPeer__1show(JNIEnv *env, jobject peer) * and place them into a Paper instance. */ setPaperValues(env, paper, &paperSize, &margins, units); - - /* Put the updated Paper instance and the orientation into + if (env->ExceptionCheck()) { + doIt = JNI_FALSE; + goto done; + } + /* + * Put the updated Paper instance and the orientation into * the PageFormat. */ setPaper(env, page, paper); - + if (env->ExceptionCheck()) { + doIt = JNI_FALSE; + goto done; + } setPageFormatOrientation(env, page, orientation); - + if (env->ExceptionCheck()) { + doIt = JNI_FALSE; + goto done; + } if (setup.hDevMode != NULL) { DEVMODE *devmode = (DEVMODE *)::GlobalLock(setup.hDevMode); if (devmode != NULL) { if (devmode->dmFields & DM_PAPERSIZE) { - setPrintPaperSize(env, self, devmode->dmPaperSize); + jboolean err = setPrintPaperSize(env, self, devmode->dmPaperSize); + if (err) { + doIt = JNI_FALSE; + goto done; + } } } ::GlobalUnlock(setup.hDevMode); @@ -673,8 +688,6 @@ Java_sun_awt_windows_WPageDialogPeer__1show(JNIEnv *env, jobject peer) doIt = JNI_TRUE; } - DASSERT(env->GetLongField(peer, AwtComponent::hwndID) == 0L); - AwtDialog::CheckUninstallModalHook(); AwtDialog::ModalActivateNextWindow(NULL, target, peer); @@ -689,6 +702,7 @@ Java_sun_awt_windows_WPageDialogPeer__1show(JNIEnv *env, jobject peer) AwtPrintControl::setPrintHDName(env, self, setup.hDevNames); } +done: env->DeleteGlobalRef(peerGlobalRef); if (target != NULL) { env->DeleteLocalRef(target); @@ -826,8 +840,14 @@ Java_sun_awt_windows_WPrinterJob_getDefaultPage(JNIEnv *env, jobject self, margins.bottom = convertFromPoints(72, units);; jobject paper = getPaper(env, page); + if (paper == NULL) { + goto done; + } + setPaperValues(env, paper, &paperSize, &margins, units); + if (env->ExceptionCheck()) goto done; setPaper(env, page, paper); + if (env->ExceptionCheck()) goto done; if ((pDevMode->dmFields & DM_ORIENTATION) && (pDevMode->dmOrientation == DMORIENT_LANDSCAPE)) { @@ -837,8 +857,10 @@ Java_sun_awt_windows_WPrinterJob_getDefaultPage(JNIEnv *env, jobject self, } } else { - setBooleanField(env, self, NO_DEFAULTPRINTER_STR, (jint)JNI_TRUE); + setBooleanField(env, self, NO_DEFAULTPRINTER_STR, (jint)JNI_TRUE); } + +done: ::GlobalFree(pDevMode); free ((LPTSTR) printerName); @@ -890,9 +912,7 @@ Java_sun_awt_windows_WPrinterJob_validatePaper(JNIEnv *env, jobject self, } } - if (printDC == NULL) { - return; - } + JNI_CHECK_NULL_GOTO(printDC, "Invalid printDC", done); /* We try to mitigate the effects of floating point rounding errors * by only setting a value if it would differ from the value in the @@ -903,7 +923,9 @@ Java_sun_awt_windows_WPrinterJob_validatePaper(JNIEnv *env, jobject self, const double epsilon = 0.10; jdouble paperWidth, paperHeight; - WORD dmPaperSize = getPrintPaperSize(env, self); + jboolean err; + WORD dmPaperSize = getPrintPaperSize(env, &err, self); + if (err) goto done; double ix, iy, iw, ih, pw, ph; @@ -911,17 +933,24 @@ Java_sun_awt_windows_WPrinterJob_validatePaper(JNIEnv *env, jobject self, jmethodID getID; jclass paperClass = env->GetObjectClass(origPaper); + JNI_CHECK_NULL_GOTO(paperClass, "paper class not found", done); getID = env->GetMethodID(paperClass, GETWIDTH_STR, GETWIDTH_SIG); + JNI_CHECK_NULL_GOTO(getID, "no getWidth method", done); pw = env->CallDoubleMethod(origPaper, getID); getID = env->GetMethodID(paperClass, GETHEIGHT_STR, GETHEIGHT_SIG); + JNI_CHECK_NULL_GOTO(getID, "no getHeight method", done); ph = env->CallDoubleMethod(origPaper, getID); getID = env->GetMethodID(paperClass, GETIMG_X_STR, GETIMG_X_SIG); + JNI_CHECK_NULL_GOTO(getID, "no getX method", done); ix = env->CallDoubleMethod(origPaper, getID); getID = env->GetMethodID(paperClass, GETIMG_Y_STR, GETIMG_Y_SIG); + JNI_CHECK_NULL_GOTO(getID, "no getY method", done); iy = env->CallDoubleMethod(origPaper, getID); getID = env->GetMethodID(paperClass, GETIMG_W_STR, GETIMG_W_SIG); + JNI_CHECK_NULL_GOTO(getID, "no getW method", done); iw = env->CallDoubleMethod(origPaper, getID); getID = env->GetMethodID(paperClass, GETIMG_H_STR, GETIMG_H_SIG); + JNI_CHECK_NULL_GOTO(getID, "no getH method", done); ih = env->CallDoubleMethod(origPaper, getID); matchPaperSize(printDC, hDevMode, hDevNames, pw, ph, @@ -1014,12 +1043,16 @@ Java_sun_awt_windows_WPrinterJob_validatePaper(JNIEnv *env, jobject self, jmethodID setSizeID = env->GetMethodID(paperClass, SETSIZE_STR, SETSIZE_SIG); + JNI_CHECK_NULL_GOTO(setSizeID, "no setSize method", done); + jmethodID setImageableID = env->GetMethodID(paperClass, SETIMAGEABLE_STR, SETIMAGEABLE_SIG); + JNI_CHECK_NULL_GOTO(setImageableID, "no setImageable method", done); env->CallVoidMethod(newPaper, setSizeID, paperWidth, paperHeight); env->CallVoidMethod(newPaper, setImageableID, ix, iy, iw, ih); +done: /* Free any resources allocated */ if (privateDC == TRUE) { if (printDC != NULL) { @@ -1066,6 +1099,7 @@ static void initPrinter(JNIEnv *env, jobject self) { JNIEXPORT void JNICALL Java_sun_awt_windows_WPrinterJob_initPrinter(JNIEnv *env, jobject self) { TRY; + jboolean err; initPrinter(env, self); @@ -1089,17 +1123,19 @@ Java_sun_awt_windows_WPrinterJob_initPrinter(JNIEnv *env, jobject self) { ::GlobalUnlock(devnames); if (devLandRotation == 270) { - setBooleanField(env, self, LANDSCAPE_270_STR, JNI_TRUE); + err = setBooleanField(env, self, LANDSCAPE_270_STR, JNI_TRUE); } else { - setBooleanField(env, self, LANDSCAPE_270_STR, JNI_FALSE); + err = setBooleanField(env, self, LANDSCAPE_270_STR, JNI_FALSE); } + if (err) return; } if (dmFields & DM_COLLATE) { - setBooleanField(env, self, DRIVER_COLLATE_STR, JNI_TRUE); + err = setBooleanField(env, self, DRIVER_COLLATE_STR, JNI_TRUE); } else { - setBooleanField(env, self, DRIVER_COLLATE_STR, JNI_FALSE); + err = setBooleanField(env, self, DRIVER_COLLATE_STR, JNI_FALSE); } + if (err) return; if (dmFields & DM_COPIES) { setBooleanField(env, self, DRIVER_COPIES_STR, JNI_TRUE); @@ -1110,39 +1146,54 @@ Java_sun_awt_windows_WPrinterJob_initPrinter(JNIEnv *env, jobject self) { } -static bool setPrintReqAttribute(JNIEnv *env, jobject self, DEVMODE* devmode) { +/* + * returns 0 if print capabilities has been changed + * 1 if print capabilities has not been changed + * -1 in case of error + */ +static int setPrintReqAttribute(JNIEnv *env, jobject self, DEVMODE* devmode) { /* The xRes/yRes fields are only initialised if there is a resolution * attribute. Otherwise they both will be zero, in which case default * resolution should be fine. Consider calling getXRes()/getResY() * rather than accessing the fields directly */ - int xRes=getIntField(env, self, ATTXRES_STR); - int yRes=getIntField(env, self, ATTYRES_STR); - int quality=getIntField(env, self, ATTQUALITY_STR); - int printColor = getIntField(env, self, ATTCHROMATICITY_STR); - int sides = getIntField(env, self, ATTSIDES_STR); - int collate = getIntField(env, self, ATTCOLLATE_STR); + jboolean err; + int xRes=getIntField(env, &err, self, ATTXRES_STR); + if (err) return -1; + int yRes=getIntField(env, &err, self, ATTYRES_STR); + if (err) return -1; + int quality=getIntField(env, &err, self, ATTQUALITY_STR); + if (err) return -1; + int printColor = getIntField(env, &err, self, ATTCHROMATICITY_STR); + if (err) return -1; + int sides = getIntField(env, &err, self, ATTSIDES_STR); + if (err) return -1; + int collate = getIntField(env, &err, self, ATTCOLLATE_STR); + if (err) return -1; int copies = 1; - jclass myClass = env->GetObjectClass(self); // There may be cases when driver reports it cannot handle // multiple copies although it actually can . So this modification // handles that, to make sure that we report copies = 1 because // we already emulated multiple copies. - jfieldID fieldId = env->GetFieldID(myClass, DRIVER_COPIES_STR, "Z"); - if (env->GetBooleanField(self, fieldId)) { - copies = getIntField(env, self, ATTCOPIES_STR); + jboolean driverHandlesCopies = getBooleanField(env, &err, self, DRIVER_COPIES_STR); + if (err) return -1; + if (driverHandlesCopies) { + copies = getIntField(env, &err, self, ATTCOPIES_STR); + if (err) return -1; } // else "driverDoesMultipleCopies" is false, copies should be 1 (default) - int mediatray = getIntField(env, self, ATTMEDIATRAY_STR); - int mediaszname = getIntField(env, self, ATTMEDIASZNAME_STR); - bool ret = true; + int mediatray = getIntField(env, &err, self, ATTMEDIATRAY_STR); + if (err) return -1; + int mediaszname = getIntField(env, &err, self, ATTMEDIASZNAME_STR); + if (err) return -1; + int ret = 1; if (quality && quality < 0) { if (quality != devmode->dmPrintQuality) { devmode->dmPrintQuality = quality; devmode->dmFields |= DM_PRINTQUALITY; - // ret of "false" means that setCapabilities needs to be called - ret = false; + // ret of 0 means that setCapabilities needs to be called + ret = 0; } } else { /* If we didn't set quality, maybe we have resolution settings. */ @@ -1256,7 +1307,7 @@ LPTSTR VerifyDestination(JNIEnv *env, jobject wPrinterJob) { if (port != NULL && isFilePort(port)) { LPTSTR defPort = GetPrinterPort(env, printer); if (!isFilePort(defPort)) { // not a FILE: port by default - int len = wcslen(defPort); + size_t len = wcslen(defPort); if (len > 0 && port[len-1] == L':') { // is a device port dest = defPort; } else { @@ -1291,12 +1342,19 @@ Java_sun_awt_windows_WPrinterJob__1startDoc(JNIEnv *env, jobject self, LPTSTR destination = NULL; if (dest != NULL) { destination = (LPTSTR)JNU_GetStringPlatformChars(env, dest, NULL); + CHECK_NULL_RETURN(destination, JNI_FALSE); } else { destination = VerifyDestination(env, self); } LPTSTR docname = NULL; if (jobname != NULL) { LPTSTR tmp = (LPTSTR)JNU_GetStringPlatformChars(env, jobname, NULL); + if (tmp == NULL) { + if (dest != NULL) { + JNU_ReleaseStringPlatformChars(env, dest, destination); + } + return JNI_FALSE; + } docname = _tcsdup(tmp); JNU_ReleaseStringPlatformChars(env, jobname, tmp); } else { @@ -1317,23 +1375,33 @@ Java_sun_awt_windows_WPrinterJob__1startDoc(JNIEnv *env, jobject self, HGLOBAL hDevMode = AwtPrintControl::getPrintHDMode(env, self); if (printDC != NULL && hDevMode != NULL) { DEVMODE *devmode = (DEVMODE *)::GlobalLock(hDevMode); + bool success = true; if (devmode != NULL) { devmode->dmFields |= DM_ORIENTATION; devmode->dmOrientation = DMORIENT_PORTRAIT; /* set attribute values into devmode */ - bool ret = setPrintReqAttribute(env, self, devmode); + int ret = setPrintReqAttribute(env, self, devmode); ::ResetDC(printDC, devmode); RESTORE_CONTROLWORD - if (!ret) { + if (ret == 0) { /* Need to read in updated device capabilities because print quality has been changed. */ setCapabilities(env, self, printDC); + if (env->ExceptionCheck()) success = false; + } else if (ret < 0) { + success = false; } } ::GlobalUnlock(hDevMode); + if (!success) { + if (dest != NULL) { + JNU_ReleaseStringPlatformChars(env, dest, destination); + } + return JNI_FALSE; + } } if (printDC){ @@ -1358,13 +1426,13 @@ Java_sun_awt_windows_WPrinterJob__1startDoc(JNIEnv *env, jobject self, } else { err = 0; } - if (dest != NULL) { - JNU_ReleaseStringPlatformChars(env, dest, destination); - } } else { - jclass printerException = env->FindClass(PRINTEREXCEPTION_STR); - env->ThrowNew(printerException, "No printer found."); + JNU_ThrowByName(env, PRINTEREXCEPTION_STR, "No printer found."); + } + + if (dest != NULL) { + JNU_ReleaseStringPlatformChars(env, dest, destination); } if (err && err != ERROR_CANCELLED) { @@ -1481,7 +1549,9 @@ JNIEXPORT void JNICALL Java_sun_awt_windows_WPrinterJob_deviceStartPage LONG retval = 0; HGLOBAL hDevMode = AwtPrintControl::getPrintHDMode(env, self); HGLOBAL hDevNames = AwtPrintControl::getPrintHDName(env, self); - WORD dmPaperSize = getPrintPaperSize(env, self); + jboolean err; + WORD dmPaperSize = getPrintPaperSize(env, &err, self); + if (err) return; SAVE_CONTROLWORD // Unless the PageFormat has been changed, do not set the paper // size for a new page. Doing so is unnecessary, perhaps expensive, @@ -1492,7 +1562,9 @@ JNIEXPORT void JNICALL Java_sun_awt_windows_WPrinterJob_deviceStartPage RectDouble paperSize; RectDouble margins; jobject paper = getPaper(env, format); + CHECK_NULL(paper); getPaperValues(env, paper, &paperSize, &margins); + JNU_CHECK_EXCEPTION(env); double paperWidth, paperHeight; matchPaperSize(printDC, hDevMode, hDevNames, paperSize.width, paperSize.height, @@ -1656,6 +1728,7 @@ JNIEXPORT void JNICALL Java_sun_awt_windows_WEmbeddedFrame_printBand jbyte *image = NULL; try { image = (jbyte *)env->GetPrimitiveArrayCritical(imageArray, 0); + CHECK_NULL(image); struct { BITMAPINFOHEADER bmiHeader; DWORD* bmiColors; @@ -2194,6 +2267,7 @@ static jboolean jFontToWFontW(JNIEnv *env, HDC printDC, jstring fontName, memset(&matchedLogFont, 0, sizeof(matchedLogFont)); LPCWSTR fontNameW = JNU_GetStringPlatformChars(env, fontName, NULL); + CHECK_NULL_RETURN(fontNameW, JNI_FALSE); /* Describe the GDI fonts we want enumerated. We * simply supply the java font name and let GDI @@ -2383,6 +2457,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_windows_WPrinterJob_getGDIAdvance { SIZE size; LPCWSTR wText = JNU_GetStringPlatformChars(env, text, NULL); + CHECK_NULL_RETURN(wText, 0); size_t strLen = wcslen(wText); BOOL ok = GetTextExtentPoint32((HDC)printDC, wText, (int)strLen, &size); JNU_ReleaseStringPlatformChars(env, text, wText); @@ -2438,6 +2513,7 @@ JNIEXPORT void JNICALL Java_sun_awt_windows_WPrinterJob_textOut long posY = ROUND_TO_LONG(y); int flags = (glyphCodes !=0) ? ETO_GLYPH_INDEX : 0; LPCWSTR wText = JNU_GetStringPlatformChars(env, text, NULL); + CHECK_NULL(wText); int *advances = NULL, *xadvances = NULL, *xyadvances = NULL; BOOL useYAdvances = FALSE; @@ -2841,10 +2917,12 @@ JNIEXPORT void JNICALL Java_sun_awt_windows_WPrinterJob_drawDIBImage numCols = MAXCOLS; /* don't write past end of struct */ } bmiCols = (BYTE*)env->GetPrimitiveArrayCritical(bmiColorsArray, 0); + CHECK_NULL(bmiCols); memcpy(&(bmi.bmiColors[0]), bmiCols, (numCols*4)); env->ReleasePrimitiveArrayCritical(bmiColorsArray, bmiCols, 0); } imageBits = (jint *)env->GetPrimitiveArrayCritical(image, 0); + CHECK_NULL(imageBits); // Workaround for drivers/apps that do not support top-down. // Because we don't know if they support or not, @@ -2900,6 +2978,7 @@ static void doPrintBand(JNIEnv *env, jboolean browserPrinting, try { long scanLineStride = J2DRasterBPP * width; image = (jbyte *)env->GetPrimitiveArrayCritical(imageArray, 0); + CHECK_NULL(image); jbyte *startImage; jbyte *endImage = NULL; long startY = 0; @@ -3132,6 +3211,9 @@ static HDC getDefaultPrinterDC(JNIEnv *env, jobject printerJob) { */ int maxCopies = 1; int nCopies = getCopies(env, printerJob); + if (nCopies < 0) { + return NULL; + } SAVE_CONTROLWORD if (pd.hDevNames != NULL) { DEVNAMES *devnames = (DEVNAMES *)::GlobalLock(pd.hDevNames); @@ -3176,11 +3258,14 @@ static HDC getDefaultPrinterDC(JNIEnv *env, jobject printerJob) { AwtPrintControl::setPrintHDName(env, printerJob, pd.hDevNames); } - setBooleanField(env, printerJob, DRIVER_COPIES_STR, - (devWillDoCopies ? JNI_TRUE : JNI_FALSE)); - setBooleanField(env, printerJob, DRIVER_COLLATE_STR, JNI_FALSE); - setBooleanField(env, printerJob, USER_COLLATE_STR, JNI_FALSE); - + jboolean err; + err = setBooleanField(env, printerJob, DRIVER_COPIES_STR, + (devWillDoCopies ? JNI_TRUE : JNI_FALSE)); + if (err) return NULL; + err = setBooleanField(env, printerJob, DRIVER_COLLATE_STR, JNI_FALSE); + if (err) return NULL; + err = setBooleanField(env, printerJob, USER_COLLATE_STR, JNI_FALSE); + if (err) return NULL; } return printDC; @@ -3200,6 +3285,7 @@ static void pageFormatToSetup(JNIEnv *env, jobject job, /* Move the orientation from PageFormat to Windows. */ jint orient = getPageFormatOrientation(env, page); + if (orient < 0) return; int gdiOrientation = (orient == PAGEFORMAT_PORTRAIT) ? DMORIENT_PORTRAIT : DMORIENT_LANDSCAPE; setOrientationInDevMode(setup->hDevMode, orient == PAGEFORMAT_PORTRAIT); @@ -3208,7 +3294,9 @@ static void pageFormatToSetup(JNIEnv *env, jobject job, ? MM_HIENGLISH : MM_HIMETRIC; jobject paper = getPaper(env, page); + CHECK_NULL(paper); getPaperValues(env, paper, &paperSize, &margins); + JNU_CHECK_EXCEPTION(env); // Setting the paper size appears to be a futile exercise, as its not one // of the values you can initialise - its an out-only arg. Margins are OK. // set it into the DEVMODE if there is one .. @@ -3218,7 +3306,9 @@ static void pageFormatToSetup(JNIEnv *env, jobject job, if (setup->hDevMode != NULL) { double paperWidth, paperHeight; - WORD dmPaperSize = getPrintPaperSize(env, job); + jboolean err; + WORD dmPaperSize = getPrintPaperSize(env, &err, job); + if (err) return; matchPaperSize(hDC, setup->hDevMode, setup->hDevNames, paperSize.width, paperSize.height, &paperWidth, &paperHeight, &dmPaperSize); @@ -3444,6 +3534,7 @@ static jint getCopies(JNIEnv *env, jobject printerJob) jclass printerJobClass = env->GetObjectClass(printerJob); jmethodID getCopiesID = env->GetMethodID(printerJobClass, GETCOPIES_STR, GETCOPIES_SIG); + CHECK_NULL_RETURN(getCopiesID, -1); jint copies = env->CallIntMethod(printerJob, getCopiesID); return copies; @@ -3462,6 +3553,7 @@ static jobject getPaper(JNIEnv *env, jobject page) { jclass pageClass = env->GetObjectClass(page); jmethodID getPaperID = env->GetMethodID(pageClass, GETPAPER_STR, GETPAPER_SIG); + CHECK_NULL_RETURN(getPaperID, NULL); return env->CallObjectMethod(page, getPaperID); } @@ -3479,12 +3571,14 @@ static void setPaper(JNIEnv *env, jobject page, jobject paper) { jclass pageClass = env->GetObjectClass(page); jmethodID setPaperID = env->GetMethodID(pageClass, SETPAPER_STR, SETPAPER_SIG); + CHECK_NULL(setPaperID); env->CallVoidMethod(page, setPaperID, paper); } /** * Return the integer ID for the orientation in the PageFormat. * Caution: this is the Java spec ID, not the GDI ID. + * In case of error returns -1 */ static jint getPageFormatOrientation(JNIEnv *env, jobject page) { // Because this function may call client Java code, @@ -3494,6 +3588,7 @@ static jint getPageFormatOrientation(JNIEnv *env, jobject page) { jclass pageClass = env->GetObjectClass(page); jmethodID getOrientID = env->GetMethodID(pageClass, GETORIENT_STR, GETORIENT_SIG); + CHECK_NULL_RETURN(getOrientID, -1); return env->CallIntMethod(page, getOrientID); } @@ -3506,6 +3601,7 @@ static void setPageFormatOrientation(JNIEnv *env, jclass pageClass = env->GetObjectClass(page); jmethodID setOrientID = env->GetMethodID(pageClass, SETORIENT_STR, SETORIENT_SIG); + CHECK_NULL(setOrientID); env->CallVoidMethod(page, setOrientID, orientation); } @@ -3527,24 +3623,29 @@ static void getPaperValues(JNIEnv *env, jobject paper, RectDouble *paperSize, jclass paperClass = env->GetObjectClass(paper); getID = env->GetMethodID(paperClass, GETWIDTH_STR, GETWIDTH_SIG); + CHECK_NULL(getID); paperSize->width = env->CallDoubleMethod(paper, getID); getID = env->GetMethodID(paperClass, GETHEIGHT_STR, GETHEIGHT_SIG); + CHECK_NULL(getID); paperSize->height = env->CallDoubleMethod(paper, getID); getID = env->GetMethodID(paperClass, GETIMG_X_STR, GETIMG_X_SIG); + CHECK_NULL(getID); margins->x = env->CallDoubleMethod(paper, getID); if (margins-> x < 0 ) { margins-> x = 0; } getID = env->GetMethodID(paperClass, GETIMG_Y_STR, GETIMG_Y_SIG); + CHECK_NULL(getID); margins->y = env->CallDoubleMethod(paper, getID); if (margins-> y < 0 ) { margins-> y = 0; } getID = env->GetMethodID(paperClass, GETIMG_W_STR, GETIMG_W_SIG); + CHECK_NULL(getID); if (widthAsMargin) { margins->width = paperSize->width - margins->x - env->CallDoubleMethod(paper, getID); @@ -3557,6 +3658,7 @@ static void getPaperValues(JNIEnv *env, jobject paper, RectDouble *paperSize, } getID = env->GetMethodID(paperClass, GETIMG_H_STR, GETIMG_H_SIG); + CHECK_NULL(getID); if (widthAsMargin) { margins->height = paperSize->height - margins->y - env->CallDoubleMethod(paper, getID); @@ -3567,7 +3669,6 @@ static void getPaperValues(JNIEnv *env, jobject paper, RectDouble *paperSize, if (margins->height < 0) { margins->height = 0; } - } /** @@ -3587,8 +3688,10 @@ static void setPaperValues(JNIEnv *env, jobject paper, const POINT *paperSize, jclass paperClass = env->GetObjectClass(paper); jmethodID setSizeID = env->GetMethodID(paperClass, SETSIZE_STR, SETSIZE_SIG); + CHECK_NULL(setSizeID); jmethodID setImageableID = env->GetMethodID(paperClass, SETIMAGEABLE_STR, SETIMAGEABLE_SIG); + CHECK_NULL(setImageableID); /* Set the physical size of the paper. */ @@ -3608,7 +3711,6 @@ static void setPaperValues(JNIEnv *env, jobject paper, const POINT *paperSize, jdouble width = convertToPoints(intWidth, units); jdouble height = convertToPoints(intHeight, units); env->CallVoidMethod(paper, setImageableID, x, y, width, height); - } /** @@ -3682,13 +3784,16 @@ static double convertToPoints(long value, int units) { */ void setCapabilities(JNIEnv *env, jobject self, HDC printDC) { + jboolean err; // width of page in pixels jint pageWid = GetDeviceCaps(printDC, PHYSICALWIDTH); - setIntField(env, self, PAGEW_STR, pageWid); + err = setIntField(env, self, PAGEW_STR, pageWid); + if (err) return; // height of page in pixels jint pageHgt = GetDeviceCaps(printDC, PHYSICALHEIGHT); - setIntField(env, self, PAGEH_STR, pageHgt); + err = setIntField(env, self, PAGEH_STR, pageHgt); + if (err) return; // x scaling factor of printer jint xsf = GetDeviceCaps(printDC, SCALINGFACTORX); @@ -3716,111 +3821,67 @@ void setCapabilities(JNIEnv *env, jobject self, HDC printDC) { // pixels per inch in x direction jint xRes = GetDeviceCaps(printDC, LOGPIXELSX); - setIntField(env, self, XRES_STR, xRes); + err = setIntField(env, self, XRES_STR, xRes); + if (err) return; // pixels per inch in y direction jint yRes = GetDeviceCaps(printDC, LOGPIXELSY); - setIntField(env, self, YRES_STR, yRes); + err = setIntField(env, self, YRES_STR, yRes); // x coord of printable area in pixels jint xOrg = GetDeviceCaps(printDC, PHYSICALOFFSETX); - setIntField(env, self, PHYSX_STR, xOrg); + err = setIntField(env, self, PHYSX_STR, xOrg); + if (err) return; // y coord of printable area in pixels jint yOrg = GetDeviceCaps(printDC, PHYSICALOFFSETY); - setIntField(env, self, PHYSY_STR, yOrg); + err = setIntField(env, self, PHYSY_STR, yOrg); + if (err) return; // width of printable area in pixels jint printWid = GetDeviceCaps(printDC, HORZRES); - setIntField(env, self, PHYSW_STR, printWid); + err = setIntField(env, self, PHYSW_STR, printWid); + if (err) return; // height of printable area in pixels jint printHgt = GetDeviceCaps(printDC, VERTRES); setIntField(env, self, PHYSH_STR, printHgt); - } - -static inline WORD getPrintPaperSize(JNIEnv *env, jobject self) { - return (WORD)getIntField(env, self, PRINTPAPERSIZE_STR); +static inline WORD getPrintPaperSize(JNIEnv *env, jboolean* err, jobject self) { + return (WORD)getIntField(env, err, self, PRINTPAPERSIZE_STR); } -static inline void setPrintPaperSize(JNIEnv *env, jobject self, WORD sz) { - setIntField(env, self, PRINTPAPERSIZE_STR, (jint)sz); +static inline jboolean setPrintPaperSize(JNIEnv *env, jobject self, WORD sz) { + return setIntField(env, self, PRINTPAPERSIZE_STR, (jint)sz); } /** * Return the java int value of the field 'fieldName' in the * java instance 'self'. */ -static jint getIntField(JNIEnv *env, jobject self, const char *fieldName) { - jfieldID fieldId = getIdOfIntField(env, self, fieldName); - return env->GetIntField(self, fieldId); -} - -/** - * Return the java long value of the field 'fieldName' in the - * java instance 'self'. - */ -static jlong getLongField(JNIEnv *env, jobject self, const char *fieldName) { - jfieldID fieldId = getIdOfLongField(env, self, fieldName); - return env->GetLongField(self, fieldId); +static jint getIntField(JNIEnv *env, jboolean* err, jobject self, const char *fieldName) { + return JNU_GetFieldByName(env, err, self, fieldName, "I").i; } /** * Set the int field named 'fieldName' of the java instance * 'self' to the value 'value'. */ -static void setIntField(JNIEnv *env, jobject self, const char *fieldName, - jint value) { - jfieldID fieldId = getIdOfIntField(env, self, fieldName); - env->SetIntField(self, fieldId, value); +static jboolean setIntField(JNIEnv *env, jobject self, const char *fieldName, jint value) { + jboolean err; + JNU_SetFieldByName(env, &err, self, fieldName, "I", value); + return err; } -/** - * Set the long field named 'fieldName' of the java instance - * 'self' to the value 'value'. - */ -static void setLongField(JNIEnv *env, jobject self, const char *fieldName, - jlong value) { - jfieldID fieldId = getIdOfLongField(env, self, fieldName); - env->SetLongField(self, fieldId, value); +static jboolean getBooleanField(JNIEnv *env, jboolean* err, jobject self, const char *fieldName) { + return JNU_GetFieldByName(env, err, self, fieldName, "Z").z; } -/** - * Return the field id of the java instance 'self' of the - * java int field named 'fieldName'. - */ -static jfieldID getIdOfIntField(JNIEnv *env, jobject self, - const char *fieldName) { - jclass myClass = env->GetObjectClass(self); - jfieldID fieldId = env->GetFieldID(myClass, fieldName, kJavaIntStr); - DASSERT(fieldId != 0); - - return fieldId; - -} - -/** - * Return the field id of the java instance 'self' of the - * java long field named 'fieldName'. - */ -static jfieldID getIdOfLongField(JNIEnv *env, jobject self, - const char *fieldName) { - jclass myClass = env->GetObjectClass(self); - jfieldID fieldId = env->GetFieldID(myClass, fieldName, kJavaLongStr); - DASSERT(fieldId != 0); - - return fieldId; - -} - -static void setBooleanField(JNIEnv *env, jobject self, const char *fieldName, - jboolean value) { - jclass myClass = env->GetObjectClass(self); - jfieldID fieldId = env->GetFieldID(myClass, fieldName, "Z"); - DASSERT(fieldId != 0); - env->SetBooleanField(self, fieldId, value); +static jboolean setBooleanField(JNIEnv *env, jobject self, const char *fieldName, jboolean value) { + jboolean err; + JNU_SetFieldByName(env, &err, self, fieldName, "Z", value); + return err; } /** @@ -3830,8 +3891,6 @@ static void setBooleanField(JNIEnv *env, jobject self, const char *fieldName, static void throwPrinterException(JNIEnv *env, DWORD err) { char errStr[256]; TCHAR t_errStr[256]; - jclass printerException = env->FindClass(PRINTEREXCEPTION_STR); - errStr[0] = '\0'; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, @@ -3843,7 +3902,7 @@ static void throwPrinterException(JNIEnv *env, DWORD err) { WideCharToMultiByte(CP_UTF8, 0, t_errStr, -1, errStr, sizeof(errStr), NULL, NULL); - env->ThrowNew(printerException, errStr); + JNU_ThrowByName(env, PRINTEREXCEPTION_STR, errStr); } @@ -4176,8 +4235,9 @@ Java_sun_awt_windows_WPrinterJob_setNativePrintService(JNIEnv *env, jstring printer) { TRY; - LPTSTR printerName = (LPTSTR)JNU_GetStringPlatformChars(env, - printer, NULL); + LPTSTR printerName = (LPTSTR)JNU_GetStringPlatformChars(env, printer, NULL); + CHECK_NULL(printerName); + HDC hDC = AwtPrintControl::getPrintDC(env, name); if (hDC != NULL) { DeletePrintDC(hDC); @@ -4188,8 +4248,7 @@ Java_sun_awt_windows_WPrinterJob_setNativePrintService(JNIEnv *env, hDC = ::CreateDC(TEXT("WINSPOOL"), printerName, NULL, NULL); RESTORE_CONTROLWORD if (hDC == NULL) { - jclass printerException = env->FindClass(PRINTEREXCEPTION_STR); - env->ThrowNew(printerException, "Invalid name of PrintService."); + JNU_ThrowByName(env, PRINTEREXCEPTION_STR, "Invalid name of PrintService."); JNU_ReleaseStringPlatformChars(env, printer, printerName); return; } @@ -4223,11 +4282,19 @@ Java_sun_awt_windows_WPrinterJob_setNativePrintService(JNIEnv *env, if (devmode != NULL) { if (devmode->dmFields & DM_COPIES) { - setBooleanField(env, name, DRIVER_COPIES_STR, JNI_TRUE); + jboolean err = setBooleanField(env, name, DRIVER_COPIES_STR, JNI_TRUE); + if (err) { + JNU_ReleaseStringPlatformChars(env, printer, printerName); + return; + } } if (devmode->dmFields & DM_COLLATE) { - setBooleanField(env, name, DRIVER_COLLATE_STR, JNI_TRUE); + jboolean err = setBooleanField(env, name, DRIVER_COLLATE_STR, JNI_TRUE); + if (err) { + JNU_ReleaseStringPlatformChars(env, printer, printerName); + return; + } } ::GlobalUnlock(hDevMode); @@ -4237,7 +4304,6 @@ Java_sun_awt_windows_WPrinterJob_setNativePrintService(JNIEnv *env, JNU_ReleaseStringPlatformChars(env, printer, printerName); CATCH_BAD_ALLOC; - } @@ -4299,14 +4365,15 @@ Java_sun_awt_windows_WPrinterJob_initIDs(JNIEnv *env, jclass cls) { TRY; - AwtPrintDialog::controlID = - env->GetFieldID(cls, "pjob", "Ljava/awt/print/PrinterJob;"); - jclass printDialogPeerClass = env->FindClass("sun/awt/windows/WPrintDialogPeer"); - AwtPrintDialog::setHWndMID = - env->GetMethodID(printDialogPeerClass, "setHWnd", "(J)V"); - + AwtPrintDialog::controlID = env->GetFieldID(cls, "pjob", "Ljava/awt/print/PrinterJob;"); DASSERT(AwtPrintDialog::controlID != NULL); + CHECK_NULL(AwtPrintDialog::controlID); + + jclass printDialogPeerClass = env->FindClass("sun/awt/windows/WPrintDialogPeer"); + CHECK_NULL(printDialogPeerClass); + AwtPrintDialog::setHWndMID = env->GetMethodID(printDialogPeerClass, "setHWnd", "(J)V"); DASSERT(AwtPrintDialog::setHWndMID != NULL); + CHECK_NULL(AwtPrintDialog::setHWndMID); AwtPrintControl::initIDs(env, cls); CATCH_BAD_ALLOC; diff --git a/jdk/src/windows/native/sun/windows/awt_Robot.cpp b/jdk/src/windows/native/sun/windows/awt_Robot.cpp index b44996f95d3..7739af44b7a 100644 --- a/jdk/src/windows/native/sun/windows/awt_Robot.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Robot.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -35,6 +35,7 @@ AwtRobot::AwtRobot( jobject peer ) { JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); m_peerObject = env->NewWeakGlobalRef(peer); + JNU_CHECK_EXCEPTION(env); JNI_SET_PDATA(peer, this); } diff --git a/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp b/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp index bc3eb3ed1ec..04f463e642c 100644 --- a/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp +++ b/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -600,12 +600,16 @@ Java_java_awt_ScrollPane_initIDs(JNIEnv *env, jclass cls) AwtScrollPane::scrollbarDisplayPolicyID = env->GetFieldID(cls, "scrollbarDisplayPolicy", "I"); + DASSERT(AwtScrollPane::scrollbarDisplayPolicyID != NULL); + CHECK_NULL(AwtScrollPane::scrollbarDisplayPolicyID); + AwtScrollPane::hAdjustableID = env->GetFieldID(cls, "hAdjustable", "Ljava/awt/ScrollPaneAdjustable;"); + DASSERT(AwtScrollPane::hAdjustableID != NULL); + CHECK_NULL(AwtScrollPane::hAdjustableID); + AwtScrollPane::vAdjustableID = env->GetFieldID(cls, "vAdjustable", "Ljava/awt/ScrollPaneAdjustable;"); - DASSERT(AwtScrollPane::scrollbarDisplayPolicyID != NULL); - DASSERT(AwtScrollPane::hAdjustableID != NULL); DASSERT(AwtScrollPane::vAdjustableID != NULL); CATCH_BAD_ALLOC; @@ -631,10 +635,11 @@ Java_java_awt_ScrollPaneAdjustable_initIDs(JNIEnv *env, jclass cls) TRY; AwtScrollPane::unitIncrementID = env->GetFieldID(cls,"unitIncrement", "I"); + DASSERT(AwtScrollPane::unitIncrementID != NULL); + CHECK_NULL(AwtScrollPane::unitIncrementID); + AwtScrollPane::blockIncrementID = env->GetFieldID(cls,"blockIncrement", "I"); - - DASSERT(AwtScrollPane::unitIncrementID != NULL); DASSERT(AwtScrollPane::blockIncrementID != NULL); CATCH_BAD_ALLOC; diff --git a/jdk/src/windows/native/sun/windows/awt_Scrollbar.cpp b/jdk/src/windows/native/sun/windows/awt_Scrollbar.cpp index 23b1e93c411..1e58f2ceb8d 100644 --- a/jdk/src/windows/native/sun/windows/awt_Scrollbar.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Scrollbar.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -488,11 +488,14 @@ Java_java_awt_Scrollbar_initIDs(JNIEnv *env, jclass cls) TRY; AwtScrollbar::lineIncrementID = env->GetFieldID(cls, "lineIncrement", "I"); - AwtScrollbar::pageIncrementID = env->GetFieldID(cls, "pageIncrement", "I"); - AwtScrollbar::orientationID = env->GetFieldID(cls, "orientation", "I"); - DASSERT(AwtScrollbar::lineIncrementID != NULL); + CHECK_NULL(AwtScrollbar::lineIncrementID); + + AwtScrollbar::pageIncrementID = env->GetFieldID(cls, "pageIncrement", "I"); DASSERT(AwtScrollbar::pageIncrementID != NULL); + CHECK_NULL(AwtScrollbar::pageIncrementID); + + AwtScrollbar::orientationID = env->GetFieldID(cls, "orientation", "I"); DASSERT(AwtScrollbar::orientationID != NULL); CATCH_BAD_ALLOC; diff --git a/jdk/src/windows/native/sun/windows/awt_TextComponent.cpp b/jdk/src/windows/native/sun/windows/awt_TextComponent.cpp index c5750fa3c69..d96a194f01e 100644 --- a/jdk/src/windows/native/sun/windows/awt_TextComponent.cpp +++ b/jdk/src/windows/native/sun/windows/awt_TextComponent.cpp @@ -852,9 +852,10 @@ Java_sun_awt_windows_WTextComponentPeer_initIDs(JNIEnv *env, jclass cls) TRY; jclass textComponentClassID = env->FindClass("java/awt/TextComponent"); + CHECK_NULL(textComponentClassID); + AwtTextComponent::canAccessClipboardMID = - env->GetMethodID(textComponentClassID, - "canAccessClipboard", "()Z"); + env->GetMethodID(textComponentClassID, "canAccessClipboard", "()Z"); env->DeleteLocalRef(textComponentClassID); DASSERT(AwtTextComponent::canAccessClipboardMID != NULL); diff --git a/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp b/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp index ba8d6de2673..2ef0f0c7981 100644 --- a/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -172,35 +172,22 @@ void AwtToolkit::SetBusy(BOOL busy) { if (awtAutoShutdownClass == NULL) { jclass awtAutoShutdownClassLocal = env->FindClass("sun/awt/AWTAutoShutdown"); - if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) { - env->ExceptionDescribe(); - env->ExceptionClear(); - } DASSERT(awtAutoShutdownClassLocal != NULL); - if (awtAutoShutdownClassLocal == NULL) { - return; - } + if (!awtAutoShutdownClassLocal) throw std::bad_alloc(); awtAutoShutdownClass = (jclass)env->NewGlobalRef(awtAutoShutdownClassLocal); env->DeleteLocalRef(awtAutoShutdownClassLocal); + if (!awtAutoShutdownClass) throw std::bad_alloc(); notifyBusyMethodID = env->GetStaticMethodID(awtAutoShutdownClass, "notifyToolkitThreadBusy", "()V"); - if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) { - env->ExceptionDescribe(); - env->ExceptionClear(); - } + DASSERT(notifyBusyMethodID != NULL); + if (!notifyBusyMethodID) throw std::bad_alloc(); + notifyFreeMethodID = env->GetStaticMethodID(awtAutoShutdownClass, "notifyToolkitThreadFree", "()V"); - if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) { - env->ExceptionDescribe(); - env->ExceptionClear(); - } - DASSERT(notifyBusyMethodID != NULL); DASSERT(notifyFreeMethodID != NULL); - if (notifyBusyMethodID == NULL || notifyFreeMethodID == NULL) { - return; - } + if (!notifyFreeMethodID) throw std::bad_alloc(); } /* awtAutoShutdownClass == NULL*/ if (busy) { @@ -776,9 +763,11 @@ LRESULT CALLBACK AwtToolkit::WndProc(HWND hWnd, UINT message, jclass systemColorClass = env->FindClass("java/awt/SystemColor"); DASSERT(systemColorClass); + if (!systemColorClass) throw std::bad_alloc(); jmethodID mid = env->GetStaticMethodID(systemColorClass, "updateSystemColors", "()V"); DASSERT(mid); + if (!mid) throw std::bad_alloc(); env->CallStaticVoidMethod(systemColorClass, mid); @@ -1038,6 +1027,8 @@ LRESULT CALLBACK AwtToolkit::WndProc(HWND hWnd, UINT message, // Notify Java side - call WToolkit.displayChanged() jclass clazz = env->FindClass("sun/awt/windows/WToolkit"); + DASSERT(clazz != NULL); + if (!clazz) throw std::bad_alloc(); env->CallStaticVoidMethod(clazz, AwtToolkit::displayChangeMID); GetInstance().m_displayChanged = TRUE; @@ -2050,15 +2041,20 @@ Java_java_awt_Toolkit_initIDs(JNIEnv *env, jclass cls) { AwtToolkit::getDefaultToolkitMID = env->GetStaticMethodID(cls,"getDefaultToolkit","()Ljava/awt/Toolkit;"); - AwtToolkit::getFontMetricsMID = - env->GetMethodID(cls, "getFontMetrics", - "(Ljava/awt/Font;)Ljava/awt/FontMetrics;"); - AwtToolkit::insetsMID = - env->GetMethodID(env->FindClass("java/awt/Insets"), "<init>", "(IIII)V"); - DASSERT(AwtToolkit::getDefaultToolkitMID != NULL); + CHECK_NULL(AwtToolkit::getDefaultToolkitMID); + + AwtToolkit::getFontMetricsMID = + env->GetMethodID(cls, "getFontMetrics", "(Ljava/awt/Font;)Ljava/awt/FontMetrics;"); DASSERT(AwtToolkit::getFontMetricsMID != NULL); - DASSERT(AwtToolkit::insetsMID != NULL); + CHECK_NULL(AwtToolkit::getFontMetricsMID); + + jclass insetsClass = env->FindClass("java/awt/Insets"); + DASSERT(insetsClass != NULL); + CHECK_NULL(insetsClass); + AwtToolkit::insetsMID = env->GetMethodID(insetsClass, "<init>", "(IIII)V"); + DASSERT(AwtToolkit::insetsMID != NULL); + CHECK_NULL(AwtToolkit::insetsMID); CATCH_BAD_ALLOC; } @@ -2085,10 +2081,12 @@ Java_sun_awt_windows_WToolkit_initIDs(JNIEnv *env, jclass cls) AwtToolkit::windowsSettingChangeMID = env->GetMethodID(cls, "windowsSettingChange", "()V"); DASSERT(AwtToolkit::windowsSettingChangeMID != 0); + CHECK_NULL(AwtToolkit::windowsSettingChangeMID); AwtToolkit::displayChangeMID = env->GetStaticMethodID(cls, "displayChanged", "()V"); DASSERT(AwtToolkit::displayChangeMID != 0); + CHECK_NULL(AwtToolkit::displayChangeMID); // Set various global IDs needed by JAWT code. Note: these // variables cannot be set by JAWT code directly due to @@ -2099,24 +2097,37 @@ Java_sun_awt_windows_WToolkit_initIDs(JNIEnv *env, jclass cls) // negligible penalty. jclass sDataClassLocal = env->FindClass("sun/java2d/SurfaceData"); DASSERT(sDataClassLocal != 0); + CHECK_NULL(sDataClassLocal); + jclass vImgClassLocal = env->FindClass("sun/awt/image/SunVolatileImage"); DASSERT(vImgClassLocal != 0); + CHECK_NULL(vImgClassLocal); + jclass vSMgrClassLocal = env->FindClass("sun/awt/image/VolatileSurfaceManager"); DASSERT(vSMgrClassLocal != 0); + CHECK_NULL(vSMgrClassLocal); + jclass componentClassLocal = env->FindClass("java/awt/Component"); DASSERT(componentClassLocal != 0); + CHECK_NULL(componentClassLocal); + jawtSMgrID = env->GetFieldID(vImgClassLocal, "volSurfaceManager", "Lsun/awt/image/VolatileSurfaceManager;"); DASSERT(jawtSMgrID != 0); + CHECK_NULL(jawtSMgrID); + jawtSDataID = env->GetFieldID(vSMgrClassLocal, "sdCurrent", "Lsun/java2d/SurfaceData;"); DASSERT(jawtSDataID != 0); + CHECK_NULL(jawtSDataID); + jawtPDataID = env->GetFieldID(sDataClassLocal, "pData", "J"); DASSERT(jawtPDataID != 0); - + CHECK_NULL(jawtPDataID); // Save these classes in global references for later use jawtVImgClass = (jclass)env->NewGlobalRef(vImgClassLocal); + CHECK_NULL(jawtVImgClass); jawtComponentClass = (jclass)env->NewGlobalRef(componentClassLocal); CATCH_BAD_ALLOC; @@ -2377,7 +2388,11 @@ Java_sun_awt_windows_WToolkit_getScreenInsets(JNIEnv *env, TRY; if (AwtToolkit::GetScreenInsets(screen, &rect)) { - insets = env->NewObject(env->FindClass("java/awt/Insets"), + jclass insetsClass = env->FindClass("java/awt/Insets"); + DASSERT(insetsClass != NULL); + CHECK_NULL_RETURN(insetsClass, NULL); + + insets = env->NewObject(insetsClass, AwtToolkit::insetsMID, rect.top, rect.left, diff --git a/jdk/src/windows/native/sun/windows/awt_Toolkit.h b/jdk/src/windows/native/sun/windows/awt_Toolkit.h index 5ee5e4965bc..3782aac8cf7 100644 --- a/jdk/src/windows/native/sun/windows/awt_Toolkit.h +++ b/jdk/src/windows/native/sun/windows/awt_Toolkit.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 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 @@ -80,7 +80,7 @@ class JNILocalFrame { int result = m_env->PushLocalFrame(size); if (result < 0) { DASSERT(FALSE); - JNU_ThrowOutOfMemoryError(m_env, "Can't allocate localRefs"); + throw std::bad_alloc(); } } INLINE ~JNILocalFrame() { m_env->PopLocalFrame(NULL); } diff --git a/jdk/src/windows/native/sun/windows/awt_Win32GraphicsConfig.cpp b/jdk/src/windows/native/sun/windows/awt_Win32GraphicsConfig.cpp index 3d678b52342..918ed08b626 100644 --- a/jdk/src/windows/native/sun/windows/awt_Win32GraphicsConfig.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Win32GraphicsConfig.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2008, 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 @@ -91,6 +91,7 @@ JNIEXPORT jobject JNICALL jobject bounds = NULL; clazz = env->FindClass("java/awt/Rectangle"); + CHECK_NULL_RETURN(clazz, NULL); mid = env->GetMethodID(clazz, "<init>", "(IIII)V"); if (mid != 0) { RECT rRW = {0, 0, 0, 0}; diff --git a/jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp b/jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp index bdcf947e03b..9b10c7d275e 100644 --- a/jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp @@ -328,16 +328,13 @@ jobject AwtWin32GraphicsDevice::GetColorModel(JNIEnv *env, jboolean dynamic) jintArray bitsArray; clazz1 = env->FindClass("java/awt/color/ColorSpace"); + CHECK_NULL_RETURN(clazz1, NULL); mid = env->GetStaticMethodID(clazz1, "getInstance", "(I)Ljava/awt/color/ColorSpace;"); - if (mid == 0) { - return NULL; - } + CHECK_NULL_RETURN(mid, NULL); cspace = env->CallStaticObjectMethod(clazz1, mid, java_awt_color_ColorSpace_CS_GRAY); - if (cspace == 0) { - return NULL; - } + CHECK_NULL_RETURN(cspace, NULL); bits[0] = 8; bitsArray = env->NewIntArray(1); @@ -348,13 +345,10 @@ jobject AwtWin32GraphicsDevice::GetColorModel(JNIEnv *env, jboolean dynamic) } clazz = env->FindClass("java/awt/image/ComponentColorModel"); - + CHECK_NULL_RETURN(clazz, NULL); mid = env->GetMethodID(clazz,"<init>", "(Ljava/awt/color/ColorSpace;[IZZII)V"); - - if (mid == 0) { - return NULL; - } + CHECK_NULL_RETURN(mid, NULL); awt_colormodel = env->NewObject(clazz, mid, cspace, @@ -370,12 +364,11 @@ jobject AwtWin32GraphicsDevice::GetColorModel(JNIEnv *env, jboolean dynamic) jbyte vbits[256/8]; jobject validBits = NULL; + CHECK_NULL_RETURN(hRGB, NULL); /* Create the LUT from the color map */ try { rgb = (unsigned int *) env->GetPrimitiveArrayCritical(hRGB, 0); - if (rgb == NULL) { - return NULL; - } + CHECK_NULL_RETURN(rgb, NULL); rgbP = rgb; if (!palette) { palette = new AwtPalette(this); @@ -439,10 +432,12 @@ jobject AwtWin32GraphicsDevice::GetColorModel(JNIEnv *env, jboolean dynamic) // Construct a new color model if (!allvalid) { jbyteArray bArray = env->NewByteArray(sizeof(vbits)); + CHECK_NULL_RETURN(bArray, NULL); env->SetByteArrayRegion(bArray, 0, sizeof(vbits), vbits); validBits = JNU_NewObjectByName(env, "java/math/BigInteger", "([B)V", bArray); + JNU_CHECK_EXCEPTION_RETURN(env, NULL); } awt_colormodel = JNU_NewObjectByName(env, @@ -500,19 +495,22 @@ void AwtWin32GraphicsDevice::UpdateDynamicColorModel() jintArray cacheArray = (jintArray)env->GetObjectField(colorModel, AwtWin32GraphicsDevice::indexCMcacheID); if (!rgbArray || !cacheArray) { - JNU_ThrowInternalError(env, - "rgb or lookupcache array of IndexColorModel null"); + JNU_ThrowInternalError(env, "rgb or lookupcache array of IndexColorModel null"); return; } int rgbLength = env->GetArrayLength(rgbArray); int cacheLength = env->GetArrayLength(cacheArray); - jint *cmEntries = (jint *)env->GetPrimitiveArrayCritical(rgbArray, - &isCopy); - jint *cache = (jint *)env->GetPrimitiveArrayCritical(cacheArray, - &isCopy); - if (!cmEntries || !cache) { - JNU_ThrowInternalError(env, - "Problem retrieving rgb or cache critical array"); + jint *cmEntries = (jint *)env->GetPrimitiveArrayCritical(rgbArray, &isCopy); + if (!cmEntries) { + env->ExceptionClear(); + JNU_ThrowInternalError(env, "Problem retrieving rgb critical array"); + return; + } + jint *cache = (jint *)env->GetPrimitiveArrayCritical(cacheArray, &isCopy); + if (!cache) { + env->ExceptionClear(); + env->ReleasePrimitiveArrayCritical(rgbArray, cmEntries, JNI_ABORT); + JNU_ThrowInternalError(env, "Problem retrieving cache critical array"); return; } // Set the new rgb values @@ -839,31 +837,36 @@ Java_sun_awt_Win32GraphicsDevice_initIDs(JNIEnv *env, jclass cls) /* class ids */ AwtWin32GraphicsDevice::indexCMClass = (jclass)env->NewGlobalRef(env->FindClass("java/awt/image/IndexColorModel")); + DASSERT(AwtWin32GraphicsDevice::indexCMClass); + CHECK_NULL(AwtWin32GraphicsDevice::indexCMClass); + AwtWin32GraphicsDevice::wToolkitClass = (jclass)env->NewGlobalRef(env->FindClass("sun/awt/windows/WToolkit")); - - DASSERT(AwtWin32GraphicsDevice::indexCMClass); DASSERT(AwtWin32GraphicsDevice::wToolkitClass); + CHECK_NULL(AwtWin32GraphicsDevice::wToolkitClass); /* field ids */ AwtWin32GraphicsDevice::dynamicColorModelID = env->GetFieldID(cls, "dynamicColorModel", "Ljava/awt/image/ColorModel;"); + DASSERT(AwtWin32GraphicsDevice::dynamicColorModelID); + CHECK_NULL(AwtWin32GraphicsDevice::dynamicColorModelID); + AwtWin32GraphicsDevice::indexCMrgbID = env->GetFieldID(AwtWin32GraphicsDevice::indexCMClass, "rgb", "[I"); + DASSERT(AwtWin32GraphicsDevice::indexCMrgbID); + CHECK_NULL(AwtWin32GraphicsDevice::indexCMrgbID); + AwtWin32GraphicsDevice::indexCMcacheID = env->GetFieldID(AwtWin32GraphicsDevice::indexCMClass, "lookupcache", "[I"); + DASSERT(AwtWin32GraphicsDevice::indexCMcacheID); + CHECK_NULL(AwtWin32GraphicsDevice::indexCMcacheID); /* method ids */ AwtWin32GraphicsDevice::paletteChangedMID = env->GetStaticMethodID( AwtWin32GraphicsDevice::wToolkitClass, "paletteChanged", "()V"); - - - DASSERT(AwtWin32GraphicsDevice::dynamicColorModelID); - DASSERT(AwtWin32GraphicsDevice::indexCMrgbID); - DASSERT(AwtWin32GraphicsDevice::indexCMcacheID); - DASSERT(AwtWin32GraphicsDevice::paletteChangedMID); + CHECK_NULL(AwtWin32GraphicsDevice::paletteChangedMID); // Only want to call this once per session make_uns_ordered_dither_array(img_oda_alpha, 256); @@ -1069,16 +1072,15 @@ jobject CreateDisplayMode(JNIEnv* env, jint width, jint height, jclass displayModeClass = env->FindClass("java/awt/DisplayMode"); if (JNU_IsNull(env, displayModeClass)) { - JNU_ThrowInternalError(env, - "Could not get display mode class"); + env->ExceptionClear(); + JNU_ThrowInternalError(env, "Could not get display mode class"); return NULL; } - jmethodID cid = env->GetMethodID(displayModeClass, "<init>", - "(IIII)V"); + jmethodID cid = env->GetMethodID(displayModeClass, "<init>", "(IIII)V"); if (cid == NULL) { - JNU_ThrowInternalError(env, - "Could not get display mode constructor"); + env->ExceptionClear(); + JNU_ThrowInternalError(env, "Could not get display mode constructor"); return NULL; } @@ -1224,6 +1226,7 @@ void addDisplayMode(JNIEnv* env, jobject arrayList, jint width, jmethodID mid = env->GetMethodID(arrayListClass, "add", "(Ljava/lang/Object;)Z"); if (mid == NULL) { + env->ExceptionClear(); JNU_ThrowInternalError(env, "Could not get method java.util.ArrayList.add()"); return; @@ -1264,6 +1267,7 @@ JNIEXPORT void JNICALL Java_sun_awt_Win32GraphicsDevice_enumDisplayModes if (dm.dmBitsPerPel >= 8) { addDisplayMode(env, arrayList, dm.dmPelsWidth, dm.dmPelsHeight, dm.dmBitsPerPel, dm.dmDisplayFrequency); + JNU_CHECK_EXCEPTION(env); } } diff --git a/jdk/src/windows/native/sun/windows/awt_Window.cpp b/jdk/src/windows/native/sun/windows/awt_Window.cpp index e3a7289fdb7..1242bba63c8 100644 --- a/jdk/src/windows/native/sun/windows/awt_Window.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Window.cpp @@ -483,6 +483,8 @@ void AwtWindow::CreateHWnd(JNIEnv *env, LPCWSTR title, env->DeleteLocalRef(target); InitType(env, peer); + JNU_CHECK_EXCEPTION(env); + TweakStyle(windowStyle, windowExStyle); AwtCanvas::CreateHWnd(env, title, @@ -684,15 +686,27 @@ void AwtWindow::CalculateWarningWindowBounds(JNIEnv *env, LPRECT rect) if (point2DClassID == NULL) { jclass point2DClassIDLocal = env->FindClass("java/awt/geom/Point2D"); + if (point2DClassIDLocal == NULL) { + env->DeleteLocalRef(point2D); + return; + } point2DClassID = (jclass)env->NewGlobalRef(point2DClassIDLocal); env->DeleteLocalRef(point2DClassIDLocal); } if (point2DGetXMID == NULL) { point2DGetXMID = env->GetMethodID(point2DClassID, "getX", "()D"); + if (point2DGetXMID == NULL) { + env->DeleteLocalRef(point2D); + return; + } } if (point2DGetYMID == NULL) { point2DGetYMID = env->GetMethodID(point2DClassID, "getY", "()D"); + if (point2DGetYMID == NULL) { + env->DeleteLocalRef(point2D); + return; + } } @@ -1071,6 +1085,7 @@ AwtWindow* AwtWindow::Create(jobject self, jobject parent) if (JNU_IsInstanceOfByName(env, target, "javax/swing/Popup$HeavyWeightWindow") > 0) { window->m_isRetainingHierarchyZOrder = TRUE; } + if (env->ExceptionCheck()) goto done; DWORD style = WS_CLIPCHILDREN | WS_POPUP; DWORD exStyle = WS_EX_NOACTIVATE; if (GetRTL()) { @@ -1378,6 +1393,10 @@ BOOL AwtWindow::UpdateInsets(jobject insets) ((AwtFrame*)this)->GetMenuBar()) { m_insets.top += ::GetSystemMetrics(SM_CYMENU); } + if (env->ExceptionCheck()) { + env->DeleteLocalRef(target); + return FALSE; + } m_insets.bottom += extraBottomInsets; env->DeleteLocalRef(target); } @@ -1445,14 +1464,13 @@ void AwtWindow::SendComponentEvent(jint eventId) classEvent = (jclass)env->NewGlobalRef(classEvent); } env->PopLocalFrame(0); + CHECK_NULL(classEvent); } static jmethodID eventInitMID = NULL; if (eventInitMID == NULL) { eventInitMID = env->GetMethodID(classEvent, "<init>", "(Ljava/awt/Component;I)V"); - if (eventInitMID == NULL) { - return; - } + CHECK_NULL(eventInitMID); } if (env->EnsureLocalCapacity(2) < 0) { return; @@ -1462,6 +1480,10 @@ void AwtWindow::SendComponentEvent(jint eventId) target, eventId); DASSERT(!safe_ExceptionOccurred(env)); DASSERT(event != NULL); + if (event == NULL) { + env->DeleteLocalRef(target); + return; + } SendEvent(event); env->DeleteLocalRef(target); @@ -1503,10 +1525,7 @@ void AwtWindow::SendWindowEvent(jint id, HWND opposite, jclass sequencedEventClsLocal = env->FindClass("java/awt/SequencedEvent"); DASSERT(sequencedEventClsLocal); - if (sequencedEventClsLocal == NULL) { - /* exception already thrown */ - return; - } + CHECK_NULL(sequencedEventClsLocal); sequencedEventCls = (jclass)env->NewGlobalRef(sequencedEventClsLocal); env->DeleteLocalRef(sequencedEventClsLocal); @@ -1517,6 +1536,7 @@ void AwtWindow::SendWindowEvent(jint id, HWND opposite, sequencedEventConst = env->GetMethodID(sequencedEventCls, "<init>", "(Ljava/awt/AWTEvent;)V"); + CHECK_NULL(sequencedEventConst); } if (env->EnsureLocalCapacity(3) < 0) { @@ -1539,6 +1559,7 @@ void AwtWindow::SendWindowEvent(jint id, HWND opposite, env->DeleteLocalRef(jOpposite); jOpposite = NULL; } env->DeleteLocalRef(target); target = NULL; + CHECK_NULL(event); if (id == java_awt_event_WindowEvent_WINDOW_GAINED_FOCUS || id == java_awt_event_WindowEvent_WINDOW_LOST_FOCUS) @@ -2024,10 +2045,15 @@ void AwtWindow::CheckIfOnNewScreen() { jclass peerCls = env->GetObjectClass(m_peerObject); DASSERT(peerCls); + CHECK_NULL(peerCls); jmethodID draggedID = env->GetMethodID(peerCls, "draggedToNewScreen", "()V"); DASSERT(draggedID); + if (draggedID == NULL) { + env->DeleteLocalRef(peerCls); + return; + } env->CallVoidMethod(m_peerObject, draggedID); m_screenNum = curScrn; @@ -2505,6 +2531,7 @@ void AwtWindow::SetIconData(JNIEnv* env, jintArray iconRaster, jint w, jint h, } m_hIconSm = NULL; m_hIcon = CreateIconFromRaster(env, iconRaster, w, h); + JNU_CHECK_EXCEPTION(env); m_hIconSm = CreateIconFromRaster(env, smallIconRaster, smw, smh); m_iconInherited = (m_hIcon == NULL); @@ -3057,22 +3084,23 @@ Java_java_awt_Window_initIDs(JNIEnv *env, jclass cls) { TRY; - AwtWindow::warningStringID = - env->GetFieldID(cls, "warningString", "Ljava/lang/String;"); - AwtWindow::locationByPlatformID = - env->GetFieldID(cls, "locationByPlatform", "Z"); - AwtWindow::securityWarningWidthID = - env->GetFieldID(cls, "securityWarningWidth", "I"); - AwtWindow::securityWarningHeightID = - env->GetFieldID(cls, "securityWarningHeight", "I"); - AwtWindow::getWarningStringMID = - env->GetMethodID(cls, "getWarningString", "()Ljava/lang/String;"); - AwtWindow::autoRequestFocusID = - env->GetFieldID(cls, "autoRequestFocus", "Z"); - AwtWindow::calculateSecurityWarningPositionMID = - env->GetMethodID(cls, "calculateSecurityWarningPosition", "(DDDD)Ljava/awt/geom/Point2D;"); + CHECK_NULL(AwtWindow::warningStringID = + env->GetFieldID(cls, "warningString", "Ljava/lang/String;")); + CHECK_NULL(AwtWindow::locationByPlatformID = + env->GetFieldID(cls, "locationByPlatform", "Z")); + CHECK_NULL(AwtWindow::securityWarningWidthID = + env->GetFieldID(cls, "securityWarningWidth", "I")); + CHECK_NULL(AwtWindow::securityWarningHeightID = + env->GetFieldID(cls, "securityWarningHeight", "I")); + CHECK_NULL(AwtWindow::getWarningStringMID = + env->GetMethodID(cls, "getWarningString", "()Ljava/lang/String;")); + CHECK_NULL(AwtWindow::autoRequestFocusID = + env->GetFieldID(cls, "autoRequestFocus", "Z")); + CHECK_NULL(AwtWindow::calculateSecurityWarningPositionMID = + env->GetMethodID(cls, "calculateSecurityWarningPosition", "(DDDD)Ljava/awt/geom/Point2D;")); jclass windowTypeClass = env->FindClass("java/awt/Window$Type"); + CHECK_NULL(windowTypeClass); AwtWindow::windowTypeNameMID = env->GetMethodID(windowTypeClass, "name", "()Ljava/lang/String;"); env->DeleteLocalRef(windowTypeClass); @@ -3099,10 +3127,10 @@ Java_sun_awt_windows_WWindowPeer_initIDs(JNIEnv *env, jclass cls) { TRY; - AwtWindow::sysXID = env->GetFieldID(cls, "sysX", "I"); - AwtWindow::sysYID = env->GetFieldID(cls, "sysY", "I"); - AwtWindow::sysWID = env->GetFieldID(cls, "sysW", "I"); - AwtWindow::sysHID = env->GetFieldID(cls, "sysH", "I"); + CHECK_NULL(AwtWindow::sysXID = env->GetFieldID(cls, "sysX", "I")); + CHECK_NULL(AwtWindow::sysYID = env->GetFieldID(cls, "sysY", "I")); + CHECK_NULL(AwtWindow::sysWID = env->GetFieldID(cls, "sysW", "I")); + CHECK_NULL(AwtWindow::sysHID = env->GetFieldID(cls, "sysH", "I")); AwtWindow::windowTypeID = env->GetFieldID(cls, "windowType", "Ljava/awt/Window$Type;"); diff --git a/jdk/src/windows/native/sun/windows/awt_new.cpp b/jdk/src/windows/native/sun/windows/awt_new.cpp index e22aa3b6458..306f08d5963 100644 --- a/jdk/src/windows/native/sun/windows/awt_new.cpp +++ b/jdk/src/windows/native/sun/windows/awt_new.cpp @@ -163,18 +163,13 @@ jthrowable safe_ExceptionOccurred(JNIEnv *env) throw (std::bad_alloc) { jthrowable xcp = env->ExceptionOccurred(); if (xcp != NULL) { - env->ExceptionClear(); // if we don't do this, FindClass will fail - - jclass outofmem = env->FindClass("java/lang/OutOfMemoryError"); - DASSERT(outofmem != NULL); - jboolean isOutofmem = env->IsInstanceOf(xcp, outofmem); - - env->DeleteLocalRef(outofmem); - - if (isOutofmem) { + env->ExceptionClear(); // if we don't do this, isInstanceOf will fail + jint isOutofmem = JNU_IsInstanceOfByName(env, xcp, "java/lang/OutOfMemoryError"); + if (isOutofmem > 0) { env->DeleteLocalRef(xcp); throw std::bad_alloc(); } else { + env->ExceptionClear(); // rethrow exception env->Throw(xcp); return xcp; diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt index 0b55de3eaa0..2b18741c05b 100644 --- a/jdk/test/ProblemList.txt +++ b/jdk/test/ProblemList.txt @@ -261,9 +261,19 @@ tools/launcher/FXLauncherTest.java linux-all ############################################################################ +# jdk_instrument + +# 8037082 +java/lang/instrument/NativeMethodPrefixAgent.java generic-all + +############################################################################ + # svc_tools # 8031482 sun/tools/jcmd/TestJcmdSanity.java windows-all +# 8033104 +sun/jvmstat/monitor/MonitoredVm/CR6672135.java generic-all + ############################################################################ diff --git a/jdk/test/TEST.groups b/jdk/test/TEST.groups index 8e45f1998f7..12b1ba79322 100644 --- a/jdk/test/TEST.groups +++ b/jdk/test/TEST.groups @@ -102,7 +102,6 @@ jdk_nio = \ jdk_net = \ java/net \ com/sun/net/httpserver \ - com/oracle/net \ sun/net jdk_time = \ diff --git a/jdk/test/com/oracle/net/Sanity.java b/jdk/test/com/oracle/net/Sanity.java deleted file mode 100644 index c4c97152779..00000000000 --- a/jdk/test/com/oracle/net/Sanity.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright (c) 2010, 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 com.oracle.net.Sdp; - -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.*; - -/** - * Exercise com.oracle.net.Sdp with each IP address plumbed to InfiniBand - * interfaces listed in a given file. - */ - -public class Sanity { - public static void main(String[] args) throws Exception { - // The file is a list of interfaces to test. - Scanner s = new Scanner(new File(args[0])); - try { - while (s.hasNextLine()) { - String link = s.nextLine(); - NetworkInterface ni = NetworkInterface.getByName(link); - if (ni != null) { - Enumeration<InetAddress> addrs = ni.getInetAddresses(); - while (addrs.hasMoreElements()) { - InetAddress addr = addrs.nextElement(); - System.out.format("Testing %s: %s\n", link, addr.getHostAddress()); - test(addr); - } - } - } - } finally { - s.close(); - } - } - - static void test(InetAddress addr) throws Exception { - // Test SocketChannel and ServerSocketChannel - ServerSocketChannel ssc = Sdp.openServerSocketChannel(); - try { - ssc.socket().bind(new InetSocketAddress(addr, 0)); - int port = ssc.socket().getLocalPort(); - - // SocketChannel.connect (implicit bind) - SocketChannel client = Sdp.openSocketChannel(); - try { - client.connect(new InetSocketAddress(addr, port)); - SocketChannel peer = ssc.accept(); - try { - testConnection(Channels.newOutputStream(client), - Channels.newInputStream(peer)); - } finally { - peer.close(); - } - } finally { - client.close(); - } - - // SocketChannel.connect (explicit bind) - client = Sdp.openSocketChannel(); - try { - client.socket().bind(new InetSocketAddress(addr, 0)); - client.connect(new InetSocketAddress(addr, port)); - ssc.accept().close(); - } finally { - client.close(); - } - } finally { - ssc.close(); - } - - // Test Socket and ServerSocket - ServerSocket ss = Sdp.openServerSocket(); - try { - ss.bind(new InetSocketAddress(addr, 0)); - int port = ss.getLocalPort(); - - // Socket.connect (implicit bind) - Socket s = Sdp.openSocket(); - try { - s.connect(new InetSocketAddress(addr, port)); - Socket peer = ss.accept(); - try { - testConnection(s.getOutputStream(), peer.getInputStream()); - } finally { - peer.close(); - } - } finally { - s.close(); - } - - // Socket.connect (explicit bind) - s = Sdp.openSocket(); - try { - s.bind(new InetSocketAddress(addr, 0)); - s.connect(new InetSocketAddress(addr, port)); - ss.accept().close(); - } finally { - s.close(); - } - } finally { - ss.close(); - } - } - - static void testConnection(OutputStream out, InputStream in) - throws IOException - { - byte[] msg = "hello".getBytes(); - out.write(msg); - - byte[] ba = new byte[100]; - int nread = 0; - while (nread < msg.length) { - int n = in.read(ba); - if (n < 0) - throw new IOException("EOF not expected!"); - nread += n; - } - } -} diff --git a/jdk/test/com/oracle/net/sanity.sh b/jdk/test/com/oracle/net/sanity.sh deleted file mode 100644 index b4c26acce02..00000000000 --- a/jdk/test/com/oracle/net/sanity.sh +++ /dev/null @@ -1,66 +0,0 @@ -# -# Copyright (c) 2010, 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. -# -# 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 6965072 -# @summary Unit test for SDP support -# @build Sanity -# @run shell sanity.sh - -IB_LINKS=ib.links - -OS=`uname -s` -case "$OS" in - SunOS ) - /usr/sbin/dladm show-part -o LINK -p > ${IB_LINKS} - if [ $? != 0 ]; then - echo "Unable to get InfiniBand parition link information" - exit 0 - fi - ;; - Linux ) - if [ ! -f /proc/net/sdp ]; then - echo "InfiniBand SDP module not installed" - exit 0 - fi - egrep "^[ \t]+ib" /proc/net/dev|cut -d':' -f1|tr -d '\t ' > ${IB_LINKS} - ;; - * ) - echo "This test only runs on Solaris or Linux" - exit 0 - ;; -esac - -if [ -z "$TESTJAVA" ]; then - JAVA=java - TESTCLASSES=. - TESTSRC=. -else - JAVA="${TESTJAVA}/bin/java" -fi - -CLASSPATH=${TESTCLASSES}:${TESTSRC} -export CLASSPATH - -# Run sanity test (IPv4-only for now) -$JAVA ${TESTVMOPTS} -Djava.net.preferIPv4Stack=true Sanity ${IB_LINKS} diff --git a/jdk/test/com/sun/corba/cachedSocket/7056731.sh b/jdk/test/com/sun/corba/cachedSocket/7056731.sh index 3b58ad6e632..3db0f73660f 100644 --- a/jdk/test/com/sun/corba/cachedSocket/7056731.sh +++ b/jdk/test/com/sun/corba/cachedSocket/7056731.sh @@ -102,7 +102,7 @@ echo "resume 1"; sleep 5 # give time for Client to throw exception # JVM_PROC should have exited but just in case, include it. -kill -9 $ORB_PROC $JVM_PROC +kill -9 $ORB_PROC $JVM_PROC $SERVER_PROC grep "ORBUtilSystemException.writeErrorSend" client.$$ result=$? diff --git a/jdk/test/com/sun/crypto/provider/TLS/TestPremaster.java b/jdk/test/com/sun/crypto/provider/TLS/TestPremaster.java index bbbfbb6bdb3..f19e7546ddd 100644 --- a/jdk/test/com/sun/crypto/provider/TLS/TestPremaster.java +++ b/jdk/test/com/sun/crypto/provider/TLS/TestPremaster.java @@ -33,6 +33,7 @@ import java.security.Provider; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; +import java.util.Formatter; import sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec; @@ -52,27 +53,51 @@ public class TestPremaster { System.out.println("OK: " + e); } - test(kg, 3, 0); - test(kg, 3, 1); - test(kg, 3, 2); - test(kg, 4, 0); + int[] protocolVersions = {0x0300, 0x0301, 0x0302, 0x0400}; + for (int clientVersion : protocolVersions) { + for (int serverVersion : protocolVersions) { + test(kg, clientVersion, serverVersion); + if (serverVersion >= clientVersion) { + break; + } + } + } System.out.println("Done."); } - private static void test(KeyGenerator kg, int major, int minor) - throws Exception { + private static void test(KeyGenerator kg, + int clientVersion, int serverVersion) throws Exception { + + System.out.printf( + "Testing RSA pre-master secret key generation between " + + "client (0x%04X) and server(0x%04X)%n", + clientVersion, serverVersion); + kg.init(new TlsRsaPremasterSecretParameterSpec( + clientVersion, serverVersion)); - kg.init(new TlsRsaPremasterSecretParameterSpec(major, minor)); SecretKey key = kg.generateKey(); byte[] encoded = key.getEncoded(); - if (encoded.length != 48) { - throw new Exception("length: " + encoded.length); - } - if ((encoded[0] != major) || (encoded[1] != minor)) { - throw new Exception("version mismatch: " + encoded[0] + - "." + encoded[1]); - } - System.out.println("OK: " + major + "." + minor); + if (encoded != null) { // raw key material may be not extractable + if (encoded.length != 48) { + throw new Exception("length: " + encoded.length); + } + int v = versionOf(encoded[0], encoded[1]); + if (clientVersion != v) { + if (serverVersion != v || clientVersion >= 0x0302) { + throw new Exception(String.format( + "version mismatch: (0x%04X) rather than (0x%04X) " + + "is used in pre-master secret", v, clientVersion)); + } + System.out.printf("Use compatible version (0x%04X)%n", v); + } + System.out.println("Passed, version matches!"); + } else { + System.out.println("Raw key material is not extractable"); + } + } + + private static int versionOf(int major, int minor) { + return ((major & 0xFF) << 8) | (minor & 0xFF); } } 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/jdi/SimulResumerTest.java b/jdk/test/com/sun/jdi/SimulResumerTest.java index f652494be45..83e74cb7cb4 100644 --- a/jdk/test/com/sun/jdi/SimulResumerTest.java +++ b/jdk/test/com/sun/jdi/SimulResumerTest.java @@ -177,12 +177,18 @@ public class SimulResumerTest extends TestScaffold { List<StackFrame> frames = thr.frames(); // no failure return value here; could cause an NPE - int nframes = frames.size(); - if (nframes > 0) { - // hmm, how could it ever be 0? - kind = "frames(0, size - 1)"; + kind = "frames(0, size - 1)"; System.out.println("kind = " + kind); - thr.frames(0, frames.size() - 1); + int nframes = frames.size(); + while (nframes > 0) { + try { + thr.frames(0, nframes - 1); + break; + } catch (IndexOutOfBoundsException iobe) { + // 6815126. let's try to get less frames + iobe.printStackTrace(); + nframes--; + } } kind = "frameCount()"; 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/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java index 7348f663a8f..79b5a3a6de0 100644 --- a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java +++ b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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,7 +23,7 @@ /* test - @bug 6998877 + @bug 6998877 8022531 @summary After double-click on the folder names, FileNameOverrideTest FAILED @author Sergey.Bylokhov@oracle.com area=awt.filedialog @library ../../regtesthelpers @@ -59,7 +59,8 @@ public class SaveFileNameOverrideTest extends Applet implements ActionListener { String[] instructions = { "1) Click on 'Show File Dialog' button. A file dialog will come up.", - "2) Double-click on '" + clickDirName + "' and click OK.", + "2) Double-click on '" + clickDirName + "' and click a confirmation", + " button, it can be 'OK', 'Save' or any other platform-dependent name.", "3) See result of the test below" }; diff --git a/jdk/test/java/awt/List/ListPeer/R2303044ListSelection.java b/jdk/test/java/awt/List/ListPeer/R2303044ListSelection.java new file mode 100644 index 00000000000..d7ef3902a03 --- /dev/null +++ b/jdk/test/java/awt/List/ListPeer/R2303044ListSelection.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2011, 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 sun.awt.SunToolkit; + +import java.awt.Frame; +import java.awt.HeadlessException; +import java.awt.List; +import java.awt.Toolkit; + +/** + * @test + * @summary rdar://problem/2303044 List selection not set when peer is created + * @summary com.apple.junit.java.awt.List; + * @run main R2303044ListSelection + */ +public final class R2303044ListSelection { + + public static final String ITEM_NAME = "myItem"; + + public static void main(final String[] args) throws HeadlessException { + final Frame frame = new Frame("Test Frame"); + final List list = new List(); + frame.setSize(300, 200); + list.add(ITEM_NAME); + list.select(0); + frame.add(list); + frame.validate(); + frame.setVisible(true); + sleep(); + if (!ITEM_NAME.equals(list.getSelectedItem())) { + throw new RuntimeException("List item not selected item."); + } + list.removeAll(); + frame.dispose(); + } + + private static void sleep() { + try { + ((SunToolkit) Toolkit.getDefaultToolkit()).realSync(); + Thread.sleep(1000); + } catch (final InterruptedException ignored) { + } + } +} diff --git a/jdk/test/java/awt/Mouse/MouseComboBoxTest/MouseComboBoxTest.java b/jdk/test/java/awt/Mouse/MouseComboBoxTest/MouseComboBoxTest.java new file mode 100644 index 00000000000..c032d7ac072 --- /dev/null +++ b/jdk/test/java/awt/Mouse/MouseComboBoxTest/MouseComboBoxTest.java @@ -0,0 +1,138 @@ +/* + * 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 8032872 + * @summary Tests JComboBox selection via the mouse + * @author Dmitry Markov + */ +import sun.awt.SunToolkit; + +import javax.swing.*; +import javax.swing.plaf.basic.BasicComboPopup; +import javax.swing.plaf.basic.ComboPopup; +import javax.swing.plaf.metal.MetalComboBoxUI; +import javax.swing.plaf.metal.MetalLookAndFeel; +import java.awt.*; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; + +public class MouseComboBoxTest { + private static final String[] items = {"One", "Two", "Three", "Four", "Five"}; + + private static SunToolkit toolkit = null; + private static Robot robot = null; + private static JFrame frame = null; + private static JComboBox comboBox = null; + private static MyComboBoxUI comboBoxUI = null; + + public static void main(String[] args) throws Exception { + toolkit = (SunToolkit) Toolkit.getDefaultToolkit(); + robot = new Robot(); + robot.setAutoDelay(50); + + UIManager.setLookAndFeel(new MetalLookAndFeel()); + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + createAndShowGUI(); + } + }); + toolkit.realSync(); + + for (int i = 0; i < items.length; i++) { + // Open popup + robot.keyPress(KeyEvent.VK_DOWN); + robot.keyRelease(KeyEvent.VK_DOWN); + toolkit.realSync(); + + Point point = getItemPointToClick(i); + robot.mouseMove(point.x, point.y); + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); + toolkit.realSync(); + + if (i != getSelectedIndex()) { + throw new RuntimeException("Test Failed! Incorrect value of selected index = " + getSelectedIndex() + + ", expected value = " + i); + } + } + } + + private static Point getItemPointToClick(final int item) throws Exception { + final Point[] result = new Point[1]; + + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + BasicComboPopup popup = (BasicComboPopup)comboBoxUI.getComboPopup(); + Point point = popup.getLocationOnScreen(); + Dimension size = popup.getSize(); + + int step = size.height / items.length; + point.x += size.width / 2; + point.y += step / 2 + step * item; + result[0] = point; + } + }); + return result[0]; + } + + private static int getSelectedIndex() throws Exception { + final int[] result = new int[1]; + + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + result[0] = comboBox.getSelectedIndex(); + } + }); + return result[0]; + } + + private static void createAndShowGUI() { + frame = new JFrame("MouseComboBoxTest"); + + comboBox = new JComboBox(items); + comboBox.setEditable(true); + comboBoxUI = new MyComboBoxUI(); + comboBox.setUI(comboBoxUI); + + frame.pack(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + + JWindow window = new JWindow(frame); + window.add(comboBox); + window.pack(); + window.setVisible(true); + } + + private static class MyComboBoxUI extends MetalComboBoxUI { + public ComboPopup getComboPopup() { + return popup; + } + } +} + diff --git a/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh b/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh index 36acfe81867..872c93e0643 100644 --- a/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh +++ b/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh @@ -1,7 +1,7 @@ #!/bin/ksh -p # -# 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 @@ -25,7 +25,7 @@ # # @test -# @bug 6282388 +# @bug 6282388 8030640 # @summary Tests that AWT use correct toolkit to be wrapped into HeadlessToolkit # @author artem.ananiev@sun.com: area=awt.headless # @compile TestWrapped.java @@ -59,30 +59,14 @@ pass() # Checking for proper OS OS=`uname -s` case "$OS" in - SunOS ) - VAR="One value for Sun" - DEFAULT_JDK=/usr/local/java/jdk1.2/solaris + SunOS | Linux | Darwin | CYGWIN* ) FILESEP="/" ;; - - Linux ) - VAR="A different value for Linux" - DEFAULT_JDK=/usr/local/java/jdk1.4/linux-i386 - FILESEP="/" - ;; - - Windows* | CYGWIN* ) - VAR="A different value for Win32" - DEFAULT_JDK=/usr/local/java/jdk1.2/win32 + + Windows* ) FILESEP="\\" ;; - Darwin) - VAR="Lets not forget about Mac" - DEFAULT_JDK=$(/usr/libexec/java_home) - FILESEP="/" - ;; - # catch all other OSs * ) echo "Unrecognized system! $OS" @@ -113,8 +97,7 @@ if [ -z "${TESTJAVA}" ] ; then # THIS IS THE JDK BEING TESTED. if [ -n "$1" ] ; then TESTJAVA=$1 - else echo "no JDK specified on command line so using default!" - TESTJAVA=$DEFAULT_JDK + else fail "no JDK specified on command line!" fi TESTSRC=. TESTCLASSES=. diff --git a/jdk/test/java/awt/TrayIcon/DblClickActionEventTest/DblClickActionEventTest.html b/jdk/test/java/awt/TrayIcon/DblClickActionEventTest/DblClickActionEventTest.html new file mode 100644 index 00000000000..acaf89c4e28 --- /dev/null +++ b/jdk/test/java/awt/TrayIcon/DblClickActionEventTest/DblClickActionEventTest.html @@ -0,0 +1,46 @@ +<html> + +<!-- + 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 6284070 + @summary Tests that ActionEvent is generated when a tray icon is double-clicked + @library ../../regtesthelpers + @build Sysout + @author artem.ananiev: area=awt.tray + @run applet/manual=yesno DblClickActionEventTest.html + --> +<head> +<title> DblClickActionEventTest + + + +

DblClickActionEventTest
Bug ID: 6284070

+ +

See the dialog box (usually in upper left corner) for instructions

+ + + + diff --git a/jdk/test/java/awt/TrayIcon/DblClickActionEventTest/DblClickActionEventTest.java b/jdk/test/java/awt/TrayIcon/DblClickActionEventTest/DblClickActionEventTest.java new file mode 100644 index 00000000000..1be8aa5b847 --- /dev/null +++ b/jdk/test/java/awt/TrayIcon/DblClickActionEventTest/DblClickActionEventTest.java @@ -0,0 +1,116 @@ +/* + * 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 6284070 + @summary Tests that ActionEvent is generated when a tray icon is double-clicked + @library ../../regtesthelpers + @build Sysout + @author artem.ananiev: area=awt.tray + @run applet/manual=yesno DblClickActionEventTest.html +*/ + +import java.applet.*; + +import java.awt.*; +import java.awt.event.*; +import java.awt.image.*; + +import sun.awt.OSInfo; +import test.java.awt.regtesthelpers.Sysout; + +public class DblClickActionEventTest extends Applet { + boolean traySupported; + + public void init() { + this.setLayout(new BorderLayout()); + + String[] instructions; + traySupported = SystemTray.isSupported(); + if (traySupported) { + String clickInstruction; + if (OSInfo.getOSType().equals(OSInfo.OSType.MACOSX)) { + clickInstruction = "right"; + } else { + clickInstruction = "left"; + } + instructions = new String[]{ + "When the test starts an icon is added to the SystemTray area.", + " Double-click on it with a " + clickInstruction + " button and make sure that", + " ACTION_PERFORMED event is sent to Java (all the clicks and", + " action events are shown below these instructions).", + "Then, if your system allows the tray icon to get focus (for", + " example, windows 2000 or windows XP), double-click on the", + " icon with SPACE button and single-click with RETURN button.", + " Both of them must also trigger ACTION_PERFORMED event.", + "If you see ACTION_PERFORMED events after each of your actions", + " (either mouse clicks or key presses), press PASS, else FAIL" + }; + } else { + instructions = new String[]{ + "The test cannot be run because SystemTray is not supported.", + "Simply press PASS button." + }; + } + Sysout.createDialogWithInstructions(instructions); + } + + public void start() { + setSize(200, 200); + setVisible(true); + validate(); + + if (!traySupported) { + return; + } + + BufferedImage img = new BufferedImage(32, 32, BufferedImage.TYPE_INT_ARGB); + Graphics g = img.createGraphics(); + g.setColor(Color.WHITE); + g.fillRect(0, 0, 32, 32); + g.setColor(Color.RED); + g.fillRect(6, 6, 20, 20); + g.dispose(); + + SystemTray tray = SystemTray.getSystemTray(); + TrayIcon icon = new TrayIcon(img); + icon.setImageAutoSize(true); + icon.addActionListener(ev -> Sysout.println(ev.toString())); + icon.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent ev) { + Sysout.println(ev.toString()); + } + } + ); + + try { + tray.add(icon); + } catch (AWTException e) { + Sysout.println(e.toString()); + Sysout.println("!!! The test coudn't be performed !!!"); + } + } +} + diff --git a/jdk/test/java/awt/TrayIcon/DisposeInActionEventTest/DisposeInActionEventTest.html b/jdk/test/java/awt/TrayIcon/DisposeInActionEventTest/DisposeInActionEventTest.html new file mode 100644 index 00000000000..2fe33ad59fa --- /dev/null +++ b/jdk/test/java/awt/TrayIcon/DisposeInActionEventTest/DisposeInActionEventTest.html @@ -0,0 +1,47 @@ + + + + + + + DisposeInActionEventTest + + + +

DisposeInActionEventTest
Bug ID: 6299866

+ +

See the dialog box (usually in upper left corner) for instructions

+ + + + diff --git a/jdk/test/java/awt/TrayIcon/DisposeInActionEventTest/DisposeInActionEventTest.java b/jdk/test/java/awt/TrayIcon/DisposeInActionEventTest/DisposeInActionEventTest.java new file mode 100644 index 00000000000..f5eddec8c07 --- /dev/null +++ b/jdk/test/java/awt/TrayIcon/DisposeInActionEventTest/DisposeInActionEventTest.java @@ -0,0 +1,129 @@ +/* + * 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 6299866 + @summary Tests that no NPE is thrown when the tray icon is disposed from the + handler of action event caused by clicking on this icon. + @library ../../regtesthelpers + @build Sysout + @author artem.ananiev: area=awt.tray + @run applet/manual=yesno DisposeInActionEventTest.html +*/ + +import java.applet.*; + +import java.awt.*; +import java.awt.image.*; + +import sun.awt.OSInfo; +import test.java.awt.regtesthelpers.Sysout; + +public class DisposeInActionEventTest extends Applet { + private boolean traySupported; + + private SystemTray systemTray; + private TrayIcon trayIcon; + + public void init() { + this.setLayout(new BorderLayout()); + + String[] instructions; + traySupported = SystemTray.isSupported(); + if (!traySupported) { + instructions = new String[]{ + "The test cannot be run because SystemTray is not supported.", + "Simply press PASS button." + }; + } else { + String clickInstruction; + if (OSInfo.getOSType().equals(OSInfo.OSType.MACOSX)) { + clickInstruction = "right"; + } else { + clickInstruction = "left"; + } + instructions = new String[]{ + "When the test starts, it adds the icon to the tray aread. If you", + " don't see a tray icon, please, make sure that the tray area", + " (also called Taskbar Status Area on MS Windows, Notification", + " Area on Gnome or System Tray on KDE) is visible.", + "Double-click with " + clickInstruction + " button on the tray icon to trigger the", + " action event. Brief information about action events is printed", + " below. After each action event the tray icon is removed from", + " the tray and then added back in a second.", + "The test performs some automatic checks when removing the icon. If", + " something is wrong the corresponding message is displayed below.", + " Repeat double-clicks several times. If no 'Test FAILED' messages", + " are printed, press PASS button else FAIL button." + }; + } + Sysout.createDialogWithInstructions(instructions); + } + + @Override + public void start() { + setSize(200, 200); + setVisible(true); + validate(); + + if (!traySupported) return; + + System.setProperty("sun.awt.exception.handler", "DisposeInActionEventTest$EDTExceptionHandler"); + + BufferedImage img = new BufferedImage(32, 32, BufferedImage.TYPE_INT_ARGB); + Graphics g = img.createGraphics(); + g.setColor(Color.WHITE); + g.fillRect(0, 0, 32, 32); + g.setColor(Color.RED); + g.fillRect(6, 6, 20, 20); + g.dispose(); + + systemTray = SystemTray.getSystemTray(); + trayIcon = new TrayIcon(img); + trayIcon.setImageAutoSize(true); + trayIcon.addActionListener(ev -> { + Sysout.println(ev.toString()); + systemTray.remove(trayIcon); + new Thread(() -> { + try { + Thread.sleep(1000); + systemTray.add(trayIcon); + } catch (AWTException | InterruptedException e) { + Sysout.println(e.toString()); + Sysout.println("!!! The test coudn't be performed !!!"); + } + } + ).start(); + } + ); + + try { + systemTray.add(trayIcon); + } catch (AWTException e) { + Sysout.println(e.toString()); + Sysout.println("!!! The test coudn't be performed !!!"); + } + } +} diff --git a/jdk/test/java/awt/Window/Grab/GrabTest.java b/jdk/test/java/awt/Window/Grab/GrabTest.java index 8cc0538b333..e632af18dbf 100644 --- a/jdk/test/java/awt/Window/Grab/GrabTest.java +++ b/jdk/test/java/awt/Window/Grab/GrabTest.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 @@ -38,7 +38,10 @@ import test.java.awt.regtesthelpers.Util; public class GrabTest { private static Frame f; private static Frame f1; + private static Frame frame; private static Window w; + private static Window window1; + private static Window window2; private static Button b; private static Robot robot; @@ -96,6 +99,15 @@ public class GrabTest { f.setVisible(true); w.setVisible(true); + frame = new Frame(); + window1 = new Window(frame); + window1.setBounds(0, 0, 100, 100); + window1.setBackground(Color.blue); + + window2 = new Window(window1); + window2.setBounds(0, 0, 50, 50); + window2.setBackground(Color.green); + tk = (sun.awt.SunToolkit)Toolkit.getDefaultToolkit(); try { @@ -194,6 +206,24 @@ public class GrabTest { passed = false; System.err.println("Failure: [7] Window disposal didn't cause ungrab"); } + ungrabbed = false; + + + // 8. Check that mouse click on subwindow does not cause ungrab + frame.setVisible(true); + window1.setVisible(true); + window2.setVisible(true); + Util.waitForIdle(robot); + + tk.grab(window1); + + Util.clickOnComp(window2, robot); + Util.waitForIdle(robot); + + if (ungrabbed) { + passed = false; + System.err.println("Failure: [8] Press on the subwindow caused ungrab"); + } if (passed) { System.out.println("Test passed."); diff --git a/jdk/test/java/awt/dnd/ImageTransferTest/ImageTransferTest.java b/jdk/test/java/awt/dnd/ImageTransferTest/ImageTransferTest.java new file mode 100644 index 00000000000..491d35fab9b --- /dev/null +++ b/jdk/test/java/awt/dnd/ImageTransferTest/ImageTransferTest.java @@ -0,0 +1,412 @@ +/* + * 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 4397404 4720930 + @summary tests that images of all supported native image formats are transfered properly + @library ../../regtesthelpers/process/ + @build ProcessResults ProcessCommunicator + @author gas@sparc.spb.su area=Clipboard + @run main ImageTransferTest +*/ + +import sun.awt.OSInfo; +import sun.awt.SunToolkit; +import test.java.awt.regtesthelpers.process.ProcessCommunicator; +import test.java.awt.regtesthelpers.process.ProcessResults; + +import java.awt.*; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.SystemFlavorMap; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DragSource; +import java.awt.dnd.DragSourceAdapter; +import java.awt.dnd.DragSourceDropEvent; +import java.awt.dnd.DragSourceListener; +import java.awt.dnd.DropTarget; +import java.awt.dnd.DropTargetAdapter; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.event.InputEvent; +import java.awt.image.BufferedImage; +import java.awt.image.MemoryImageSource; +import java.util.stream.Stream; + +public class ImageTransferTest { + public static void main(String[] arg) throws Exception { + ImageDragSource ids = new ImageDragSource(); + ids.frame.setLocation(100, 100); + ids.frame.setVisible(true); + Util.sync(); + String classpath = System.getProperty("java.class.path"); + String[] args = new String[ids.formats.length + 4]; + args[0] = "200"; + args[1] = "100"; + args[2] = args[3] = "150"; + + System.arraycopy(ids.formats, 0, args, 4, ids.formats.length); + ProcessResults pres = ProcessCommunicator.executeChildProcess(ImageDropTarget.class, classpath, args); + + if (pres.getStdErr() != null && pres.getStdErr().length() > 0) { + System.err.println("========= Child VM System.err ========"); + System.err.print(pres.getStdErr()); + System.err.println("======================================"); + } + + if (pres.getStdOut() != null && pres.getStdOut().length() > 0) { + System.err.println("========= Child VM System.out ========"); + System.err.print(pres.getStdOut()); + System.err.println("======================================"); + } + + boolean failed = false; + String passedFormats = ""; + String failedFormats = ""; + + for (int i = 0; i < ids.passedArray.length; i++) { + if (ids.passedArray[i]) passedFormats += ids.formats[i] + " "; + else { + failed = true; + failedFormats += ids.formats[i] + " "; + } + } + + if (failed) { + throw new RuntimeException("test failed: images in following " + + "native formats are not transferred properly: " + failedFormats); + } else { + System.err.println("images in following " + + "native formats are transferred properly: " + passedFormats); + } + } +} + + +class Util { + public static void sync() { + ((SunToolkit) Toolkit.getDefaultToolkit()).realSync(); + try { + Thread.sleep(500); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } +} + +abstract class ImageTransferer { + Image image; + String[] formats; + int fi; // current format index + Frame frame = new Frame(); + + + ImageTransferer() { + image = createImage(); + frame.setSize(100, 100); + } + + private static Image createImage() { + int w = 100; + int h = 100; + int[] pix = new int[w * h]; + + int index = 0; + for (int y = 0; y < h; y++) { + for (int x = 0; x < w; x++) { + int red = 127; + int green = 127; + int blue = y > h / 2 ? 127 : 0; + int alpha = 255; + if (x < w / 4 && y < h / 4) { + alpha = 0; + red = 0; + } + pix[index++] = (alpha << 24) | (red << 16) | (green << 8) | blue; + } + } + return Toolkit.getDefaultToolkit().createImage(new MemoryImageSource(w, h, pix, 0, w)); + } + + + static String[] retrieveFormatsToTest() { + SystemFlavorMap sfm = (SystemFlavorMap) SystemFlavorMap.getDefaultFlavorMap(); + java.util.List ln = sfm.getNativesForFlavor(DataFlavor.imageFlavor); + if (OSInfo.OSType.WINDOWS.equals(OSInfo.getOSType()) && !ln.contains("METAFILEPICT")) { + // for test failing on JDK without this fix + ln.add("METAFILEPICT"); + } + return ln.toArray(new String[ln.size()]); + } + + static void leaveFormat(String format) { + SystemFlavorMap sfm = (SystemFlavorMap) SystemFlavorMap.getDefaultFlavorMap(); + sfm.setFlavorsForNative(format, new DataFlavor[]{DataFlavor.imageFlavor}); + sfm.setNativesForFlavor(DataFlavor.imageFlavor, new String[]{format}); + } + + + boolean areImagesIdentical(Image im1, Image im2) { + if (formats[fi].equals("JFIF") || formats[fi].equals("image/jpeg") || + formats[fi].equals("GIF") || formats[fi].equals("image/gif")) { + // JFIF and GIF are lossy formats + return true; + } + int[] ib1 = getImageData(im1); + int[] ib2 = getImageData(im2); + + if (ib1.length != ib2.length) { + return false; + } + + if (formats[fi].equals("PNG") || + formats[fi].equals("image/png") || + formats[fi].equals("image/x-png")) { + // check alpha as well + for (int i = 0; i < ib1.length; i++) { + if (ib1[i] != ib2[i]) { + System.err.println("different pixels: " + + Integer.toHexString(ib1[i]) + " " + + Integer.toHexString(ib2[i])); + return false; + } + } + } else { + for (int i = 0; i < ib1.length; i++) { + if ((ib1[i] & 0x00FFFFFF) != (ib2[i] & 0x00FFFFFF)) { + System.err.println("different pixels: " + + Integer.toHexString(ib1[i]) + " " + + Integer.toHexString(ib2[i])); + return false; + } + } + } + return true; + } + + private static int[] getImageData(Image image) { + int width = image.getWidth(null); + int height = image.getHeight(null); + BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); + Graphics2D g2d = bimage.createGraphics(); + try { + g2d.drawImage(image, 0, 0, width, height, null); + } finally { + g2d.dispose(); + } + return bimage.getRGB(0, 0, width, height, null, 0, width); + } + + public static int sign(int n) { + return n < 0 ? -1 : n == 0 ? 0 : 1; + } + +} + + +class ImageDragSource extends ImageTransferer { + boolean[] passedArray; + + ImageDragSource() { + formats = retrieveFormatsToTest(); + passedArray = new boolean[formats.length]; + final DragSourceListener dsl = new DragSourceAdapter() { + public void dragDropEnd(DragSourceDropEvent e) { + System.err.println("Drop was successful=" + e.getDropSuccess()); + notifyTransferSuccess(e.getDropSuccess()); + if (++fi < formats.length) { + leaveFormat(formats[fi]); + } + } + }; + + new DragSource().createDefaultDragGestureRecognizer(frame, + DnDConstants.ACTION_COPY, + dge -> dge.startDrag(null, new ImageSelection(image), dsl)); + leaveFormat(formats[fi]); + } + + + void notifyTransferSuccess(boolean status) { + passedArray[fi] = status; + } +} + + +class ImageDropTarget extends ImageTransferer { + private final Robot robot; + private static Point startPoint, endPoint = new Point(250, 150); + + ImageDropTarget() throws AWTException { + DropTargetAdapter dropTargetAdapter = new DropTargetAdapter() { + @Override + public void drop(DropTargetDropEvent dtde) { + checkImage(dtde); + startImageDrag(); + } + }; + new DropTarget(frame, dropTargetAdapter); + robot = new Robot(); + } + + + void checkImage(DropTargetDropEvent dtde) { + final Transferable t = dtde.getTransferable(); + if (t.isDataFlavorSupported(DataFlavor.imageFlavor)) { + dtde.acceptDrop(DnDConstants.ACTION_COPY); + Image im; + try { + im = (Image) t.getTransferData(DataFlavor.imageFlavor); + System.err.println("getTransferData was successful"); + } catch (Exception e) { + System.err.println("Can't getTransferData: " + e); + dtde.dropComplete(false); + notifyTransferSuccess(false); + return; + } + + if (im == null) { + System.err.println("getTransferData returned null"); + dtde.dropComplete(false); + notifyTransferSuccess(false); + } else if (areImagesIdentical(image, im)) { + dtde.dropComplete(true); + notifyTransferSuccess(true); + } else { + System.err.println("transferred image is different from initial image"); + dtde.dropComplete(false); + notifyTransferSuccess(false); + } + + } else { + System.err.println("imageFlavor is not supported by Transferable"); + dtde.rejectDrop(); + notifyTransferSuccess(false); + } + } + + void startImageDrag() { + leaveFormat(formats[fi]); + new Thread(() -> { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + // Exit from the child process + System.exit(1); + } + robot.mouseMove(startPoint.x, startPoint.y); + robot.mousePress(InputEvent.BUTTON1_MASK); + for (Point p = new Point(startPoint); !p.equals(endPoint); + p.translate(sign(endPoint.x - p.x), sign(endPoint.y - p.y))) { + robot.mouseMove(p.x, p.y); + try { + Thread.sleep(50); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + robot.mouseRelease(InputEvent.BUTTON1_MASK); + }).start(); + } + + void notifyTransferSuccess(boolean status) { + if (status) { + System.err.println("format passed: " + formats[fi]); + } else { + System.err.println("format failed: " + formats[fi]); + System.exit(1); + } + if (fi < formats.length - 1) { + leaveFormat(formats[++fi]); + } else { + new Thread(() -> { + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.exit(0); + }).start(); + } + } + + + public static void main(String[] args) { + try { + ImageDropTarget idt = new ImageDropTarget(); + + int x = Integer.parseInt(args[0]); + int y = Integer.parseInt(args[1]); + startPoint = new Point(Integer.parseInt(args[2]), Integer.parseInt(args[3])); + + idt.formats = new String[args.length - 4]; + System.arraycopy(args, 4, idt.formats, 0, args.length - 4); + leaveFormat(idt.formats[0]); + + idt.frame.setLocation(x, y); + idt.frame.setVisible(true); + Util.sync(); + + idt.startImageDrag(); + } catch (Throwable e) { + e.printStackTrace(); + System.exit(1); + } + } + +} + + +class ImageSelection implements Transferable { + private static final int IMAGE = 0; + private static final DataFlavor[] flavors = {DataFlavor.imageFlavor}; + private Image data; + + public ImageSelection(Image data) { + this.data = data; + } + + @Override + public DataFlavor[] getTransferDataFlavors() { + // returning flavors itself would allow client code to modify + // our internal behavior + return flavors.clone(); + } + + @Override + public boolean isDataFlavorSupported(DataFlavor flavor) { + return Stream.of(flavor).anyMatch(flavor::equals); + } + + @Override + public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException { + if (flavor.equals(flavors[IMAGE])) { + return data; + } else { + throw new UnsupportedFlavorException(flavor); + } + } +} diff --git a/jdk/test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java b/jdk/test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java index c10094eed67..310e78f9ff8 100644 --- a/jdk/test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java +++ b/jdk/test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.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 @@ -23,7 +23,7 @@ /* @test - @bug 7154072 + @bug 7154072 7161320 @summary Tests that key events with modifiers are not swallowed. @author anton.tarasov: area=awt.focus @library ../../../regtesthelpers @@ -49,6 +49,11 @@ public class SwallowKeyEvents { static Robot r; public static void main(String[] args) { + if (sun.awt.OSInfo.getOSType() == sun.awt.OSInfo.OSType.WINDOWS) { + System.out.println("Skipped. Test not for MS Windows."); + return; + } + f.add(t); f.pack(); f.setVisible(true); diff --git a/jdk/test/java/awt/image/MultiResolutionImage/NSImageToMultiResolutionImageTest.java b/jdk/test/java/awt/image/MultiResolutionImage/NSImageToMultiResolutionImageTest.java new file mode 100644 index 00000000000..af809243acc --- /dev/null +++ b/jdk/test/java/awt/image/MultiResolutionImage/NSImageToMultiResolutionImageTest.java @@ -0,0 +1,66 @@ +/* + * 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.awt.Image; +import java.awt.Toolkit; +import sun.awt.OSInfo; +import sun.awt.image.MultiResolutionImage; +/* + * @test + * @bug 8033534 8035069 + * @summary [macosx] Get MultiResolution image from native system + * @author Alexander Scherbatiy + * @run main NSImageToMultiResolutionImageTest + */ + +public class NSImageToMultiResolutionImageTest { + + public static void main(String[] args) throws Exception { + + if (OSInfo.getOSType() != OSInfo.OSType.MACOSX) { + return; + } + + String icon = "NSImage://NSApplicationIcon"; + final Image image = Toolkit.getDefaultToolkit().getImage(icon); + + if (!(image instanceof MultiResolutionImage)) { + throw new RuntimeException("Icon does not have resolution variants!"); + } + + MultiResolutionImage multiResolutionImage = (MultiResolutionImage) image; + + int width = 0; + int height = 0; + + for (Image resolutionVariant : multiResolutionImage.getResolutionVariants()) { + int rvWidth = resolutionVariant.getWidth(null); + int rvHeight = resolutionVariant.getHeight(null); + if (rvWidth < width || rvHeight < height) { + throw new RuntimeException("Resolution variants are not sorted!"); + } + width = rvWidth; + height = rvHeight; + } + } +} diff --git a/jdk/test/java/awt/regtesthelpers/process/ProcessCommunicator.java b/jdk/test/java/awt/regtesthelpers/process/ProcessCommunicator.java index 86e69e67f3c..8c0e6db916a 100644 --- a/jdk/test/java/awt/regtesthelpers/process/ProcessCommunicator.java +++ b/jdk/test/java/awt/regtesthelpers/process/ProcessCommunicator.java @@ -81,7 +81,7 @@ public class ProcessCommunicator { public static ProcessResults executeChildProcess(final Class classToExecute, final String [] args) { - return executeChildProcess(classToExecute, " ", args); + return executeChildProcess(classToExecute, System.getProperty("java.class.path"), args); } /** diff --git a/jdk/test/java/awt/security/WarningWindowDisposeTest/WarningWindowDisposeTest.java b/jdk/test/java/awt/security/WarningWindowDisposeTest/WarningWindowDisposeTest.java new file mode 100644 index 00000000000..6f0149dc4d1 --- /dev/null +++ b/jdk/test/java/awt/security/WarningWindowDisposeTest/WarningWindowDisposeTest.java @@ -0,0 +1,90 @@ +/* + * 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 8037776 + @summary tests that the WarningWindow is properly disposed + @author Petr Pchelko + @library ../../regtesthelpers/process + @build ProcessResults ProcessCommunicator + @run main WarningWindowDisposeTest +*/ + +import sun.applet.AppletSecurity; +import sun.awt.SunToolkit; + +import java.awt.*; +import java.awt.Toolkit; +import java.util.concurrent.atomic.AtomicBoolean; + +import test.java.awt.regtesthelpers.process.ProcessCommunicator; +import test.java.awt.regtesthelpers.process.ProcessResults; + +public class WarningWindowDisposeTest { + + public static void main(String[] args) { + final AtomicBoolean passed = new AtomicBoolean(false); + new Thread(() -> { + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + throw new RuntimeException("Test FAILED!", e); + } + if (!passed.get()) { + throw new RuntimeException("Test FAILED! The child process never exits"); + } + }, "TimeoutThread").start(); + + String classpath = System.getProperty("java.class.path"); + ProcessResults pres = ProcessCommunicator.executeChildProcess(TestApplication.class, classpath, new String[0]); + passed.set(true); + if (pres.getStdErr() != null && pres.getStdErr().length() > 0) { + System.err.println("========= Child VM System.err ========"); + System.err.print(pres.getStdErr()); + System.err.println("======================================"); + } + + if (pres.getStdOut() != null && pres.getStdOut().length() > 0) { + System.err.println("========= Child VM System.out ========"); + System.err.print(pres.getStdOut()); + System.err.println("======================================"); + } + } + + public static class TestApplication { + public static void main(String[] args) throws Exception { + System.setSecurityManager(new AppletSecurity() { + @Override + public void checkPackageAccess (String s){ + } + }); + Frame f = new Frame("Test frame"); + f.setVisible(true); + ((SunToolkit) Toolkit.getDefaultToolkit()).realSync(); + Thread.sleep(500); + f.setVisible(false); + f.dispose(); + } + } +} diff --git a/jdk/test/java/lang/Runtime/exec/ConcurrentRead.java b/jdk/test/java/lang/Runtime/exec/ConcurrentRead.java index 9a122b4e57f..29634ca696c 100644 --- a/jdk/test/java/lang/Runtime/exec/ConcurrentRead.java +++ b/jdk/test/java/lang/Runtime/exec/ConcurrentRead.java @@ -30,21 +30,19 @@ import java.io.InputStream; import java.io.OutputStream; -import java.io.File; -import java.io.IOException; public class ConcurrentRead { static volatile Exception savedException; - static final String TEE = "/usr/bin/tee"; public static void main(String[] args) throws Exception { - - if (File.separatorChar == '\\' || // Windows - !new File(TEE).exists()) // no tee + if (! UnixCommands.isUnix) { + System.out.println("For UNIX only"); return; + } + UnixCommands.ensureCommandsAvailable("tee"); - Process p = Runtime.getRuntime().exec(TEE); + Process p = Runtime.getRuntime().exec(UnixCommands.tee()); OutputStream out = p.getOutputStream(); InputStream in = p.getInputStream(); Thread t1 = new WriterThread(out, in); diff --git a/jdk/test/java/lang/Runtime/exec/ExecWithDir.java b/jdk/test/java/lang/Runtime/exec/ExecWithDir.java index d3c87db78e8..321c20a5ca3 100644 --- a/jdk/test/java/lang/Runtime/exec/ExecWithDir.java +++ b/jdk/test/java/lang/Runtime/exec/ExecWithDir.java @@ -28,21 +28,25 @@ * directory is specified */ -import java.io.*; +import java.io.File; public class ExecWithDir { - private static final String CMD = "/bin/true"; private static final int N = 500; public static void main(String args[]) throws Exception { - if (! new File(CMD).canExecute()) + if (! UnixCommands.isUnix) { + System.out.println("For UNIX only"); return; + } + UnixCommands.ensureCommandsAvailable("true"); + + final String trueCmd = UnixCommands.findCommand("true"); File dir = new File("."); for (int i = 1; i <= N; i++) { System.out.print(i); System.out.print(" e"); - Process p = Runtime.getRuntime().exec(CMD, null, dir); + Process p = Runtime.getRuntime().exec(trueCmd, null, dir); System.out.print('w'); int s = p.waitFor(); System.out.println("x " + s); diff --git a/jdk/test/java/lang/Runtime/exec/ExecWithInput.java b/jdk/test/java/lang/Runtime/exec/ExecWithInput.java index 66a4c57e4e5..387b5f312ad 100644 --- a/jdk/test/java/lang/Runtime/exec/ExecWithInput.java +++ b/jdk/test/java/lang/Runtime/exec/ExecWithInput.java @@ -39,7 +39,6 @@ import java.io.*; public class ExecWithInput { - private static final String CAT = "/bin/cat"; private static final int N = 200; static int go(int i) throws Exception { @@ -50,8 +49,7 @@ public class ExecWithInput { * program exits. Under 1.4.1, cat sometimes gets stuck on a pipe * read and never terminates. */ - //Process p = Runtime.getRuntime().exec(new String[] { CAT } ); - Process p = Runtime.getRuntime().exec(CAT); + Process p = Runtime.getRuntime().exec(UnixCommands.cat()); String input = i + ": line 1\n" + i + ": line 2\n"; StringBufferInputStream in = new StringBufferInputStream(input); @@ -65,12 +63,12 @@ public class ExecWithInput { } public static void main(String[] args) throws Exception { - if (!System.getProperty("os.name").equals("Linux")) - return; - if (File.separatorChar == '\\') { - // no /bin/cat on windows + if (! UnixCommands.isLinux) { + System.out.println("For Linux only"); return; } + UnixCommands.ensureCommandsAvailable("cat"); + for (int i = 0; i < N; i++) go(i); } @@ -93,7 +91,6 @@ public class ExecWithInput { public void run() { try { - int c; byte[] buf = new byte[8192]; int n; while ((n = in.read(buf)) != -1) { diff --git a/jdk/test/java/lang/Runtime/exec/ExitValue.java b/jdk/test/java/lang/Runtime/exec/ExitValue.java index 80471bae11c..3ac42339100 100644 --- a/jdk/test/java/lang/Runtime/exec/ExitValue.java +++ b/jdk/test/java/lang/Runtime/exec/ExitValue.java @@ -68,13 +68,18 @@ public class ExitValue int expectedExitValue) throws Exception { - checkExitValue(new String[] { "/bin/sh", "-c", posixShellProgram }, + checkExitValue(new String[] { UnixCommands.sh(), "-c", posixShellProgram }, expectedExitValue); } final static int EXIT_CODE = 5; public static void main(String[] args) throws Exception { + if (! UnixCommands.isUnix) { + System.out.println("For UNIX only"); + return; + } + UnixCommands.ensureCommandsAvailable("sh", "true", "kill"); String java = join(File.separator, new String [] { System.getProperty("java.home"), "bin", "java" }); @@ -85,17 +90,14 @@ public class ExitValue "ExitValue$Run", String.valueOf(EXIT_CODE) }, EXIT_CODE); - checkExitValue(new String[] { "/bin/true" }, 0); + checkExitValue(new String[] { UnixCommands.findCommand("true") }, 0); checkPosixShellExitValue("exit", 0); checkPosixShellExitValue("exit 7", 7); - if (new File("/bin/kill").exists()) { - int sigoffset = - System.getProperty("os.name").equals("SunOS") ? 0 : 128; - checkPosixShellExitValue("/bin/kill -9 $$", sigoffset+9); - } + int sigoffset = UnixCommands.isSunOS ? 0 : 128; + checkPosixShellExitValue(UnixCommands.kill() + " -9 $$", sigoffset+9); } public static class Run { diff --git a/jdk/test/java/lang/Runtime/exec/LotsOfDestroys.java b/jdk/test/java/lang/Runtime/exec/LotsOfDestroys.java index c4bea4c5d6f..f0ab1fb3bec 100644 --- a/jdk/test/java/lang/Runtime/exec/LotsOfDestroys.java +++ b/jdk/test/java/lang/Runtime/exec/LotsOfDestroys.java @@ -28,19 +28,19 @@ * @author kladko */ -import java.io.File; - public class LotsOfDestroys { static final int RUNS = 400; - static final String ECHO = "/usr/bin/echo"; public static void main(String[] args) throws Exception { - if (File.separatorChar == '\\' || // Windows - !new File(ECHO).exists()) // no echo + if (! UnixCommands.isUnix) { + System.out.println("For UNIX only"); return; + } + UnixCommands.ensureCommandsAvailable("echo"); - for (int i = 0; i<= RUNS; i++) { - Process process = Runtime.getRuntime().exec(ECHO + " x"); + for (int i = 0; i <= RUNS; i++) { + Process process = Runtime.getRuntime().exec( + UnixCommands.echo() + " x"); process.destroy(); } } diff --git a/jdk/test/java/lang/Runtime/exec/LotsOfOutput.java b/jdk/test/java/lang/Runtime/exec/LotsOfOutput.java index ad4e92b60e3..2f8e594f2b6 100644 --- a/jdk/test/java/lang/Runtime/exec/LotsOfOutput.java +++ b/jdk/test/java/lang/Runtime/exec/LotsOfOutput.java @@ -28,16 +28,16 @@ * @author kladko */ -import java.io.File; - public class LotsOfOutput { - static final String CAT = "/usr/bin/cat"; - public static void main(String[] args) throws Exception{ - if (File.separatorChar == '\\' || // Windows - !new File(CAT).exists()) // no cat + public static void main(String[] args) throws Exception { + if (! UnixCommands.isUnix) { + System.out.println("For UNIX only"); return; - Process p = Runtime.getRuntime().exec(CAT + " /dev/zero"); + } + UnixCommands.ensureCommandsAvailable("cat"); + + Process p = Runtime.getRuntime().exec(UnixCommands.cat() + " /dev/zero"); long initMemory = Runtime.getRuntime().totalMemory(); for (int i=1; i< 10; i++) { Thread.sleep(100); diff --git a/jdk/test/java/lang/Runtime/exec/SleepyCat.java b/jdk/test/java/lang/Runtime/exec/SleepyCat.java index f9e173fffc2..6c5b41b649d 100644 --- a/jdk/test/java/lang/Runtime/exec/SleepyCat.java +++ b/jdk/test/java/lang/Runtime/exec/SleepyCat.java @@ -73,8 +73,8 @@ public class SleepyCat { // slower, making the child more likely to win the race! int iterations = 20; int timeout = 30; - String[] catArgs = new String[] {"/bin/cat"}; - String[] sleepArgs = new String[] {"/bin/sleep", + String[] catArgs = new String[] {UnixCommands.cat()}; + String[] sleepArgs = new String[] {UnixCommands.sleep(), String.valueOf(timeout+1)}; Process[] cats = new Process[iterations]; Process[] sleeps = new Process[iterations]; @@ -126,8 +126,9 @@ public class SleepyCat { timer.schedule(sleeperExecutioner, timeout * 1000); byte[] buffer = new byte[10]; String[] args = - new String[] {"/bin/sh", "-c", - "exec sleep " + (timeout+1) + " >/dev/null"}; + new String[] {UnixCommands.sh(), "-c", + "exec " + UnixCommands.sleep() + " " + + (timeout+1) + " >/dev/null"}; for (int i = 0; i < backgroundSleepers.length && !sleeperExecutioner.timedOut(); @@ -153,12 +154,13 @@ public class SleepyCat { } public static void main (String[] args) throws Exception { - try { - if (hang1() | hang2()) - throw new Exception("Read from closed pipe hangs"); - } catch (IOException e) { - // We will get here on non-Posix systems, - // which don't have cat and sleep and sh. + if (! UnixCommands.isUnix) { + System.out.println("For UNIX only"); + return; } + UnixCommands.ensureCommandsAvailable("sh", "cat", "sleep"); + + if (hang1() | hang2()) + throw new Exception("Read from closed pipe hangs"); } } diff --git a/jdk/test/java/lang/Runtime/exec/Status.java b/jdk/test/java/lang/Runtime/exec/Status.java index 987d51165e5..28c3f3adfb4 100644 --- a/jdk/test/java/lang/Runtime/exec/Status.java +++ b/jdk/test/java/lang/Runtime/exec/Status.java @@ -35,10 +35,15 @@ public class Status { public static void main(String args[]) throws Exception { - if (!System.getProperty("os.name").equals("Linux")) + if (!System.getProperty("os.name").equals("Linux")) { + System.out.println("Only for Linux"); return; + } + UnixCommands.ensureCommandsAvailable("false"); + + final String falseCmd = UnixCommands.findCommand("false"); for (int i = 0; i < N; i++) { - Process p = Runtime.getRuntime().exec("false"); + Process p = Runtime.getRuntime().exec(falseCmd); int s = p.waitFor(); System.out.print(s); System.out.print(' '); diff --git a/jdk/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java b/jdk/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java index 27e5ae83eb8..d1f6526ee09 100644 --- a/jdk/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java +++ b/jdk/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java @@ -102,7 +102,7 @@ public class StreamsSurviveDestroy { CountDownLatch latch = new CountDownLatch(2); System.err.println("test"); - Process p = Runtime.getRuntime().exec("/bin/cat"); + Process p = Runtime.getRuntime().exec(UnixCommands.cat()); Copier cp1 = new Copier("out", p.getInputStream(), System.err, false, false, latch); Copier cp2 = new Copier("err", p.getErrorStream(), System.err, @@ -122,7 +122,7 @@ public class StreamsSurviveDestroy { CountDownLatch latch = new CountDownLatch(2); System.err.println("testCloseBeforeDestroy"); - Process p = Runtime.getRuntime().exec("/bin/cat"); + Process p = Runtime.getRuntime().exec(UnixCommands.cat()); Copier cp1 = new Copier("out", p.getInputStream(), System.err, true, false, latch); Copier cp2 = new Copier("err", p.getErrorStream(), System.err, @@ -143,7 +143,7 @@ public class StreamsSurviveDestroy { static void testCloseAfterDestroy() throws Exception { CountDownLatch latch = new CountDownLatch(2); System.err.println("testCloseAfterDestroy"); - Process p = Runtime.getRuntime().exec("/bin/cat"); + Process p = Runtime.getRuntime().exec(UnixCommands.cat()); Copier cp1 = new Copier("out", p.getInputStream(), System.err, true, false,latch); Copier cp2 = new Copier("err", p.getErrorStream(), System.err, @@ -165,7 +165,7 @@ public class StreamsSurviveDestroy { static void testInterrupt() throws Exception { CountDownLatch latch = new CountDownLatch(2); System.err.println("testInterrupt"); - Process p = Runtime.getRuntime().exec("/bin/cat"); + Process p = Runtime.getRuntime().exec(UnixCommands.cat()); Copier cp1 = new Copier("out", p.getInputStream(), System.err, false, true, latch); Copier cp2 = new Copier("err", p.getErrorStream(), System.err, @@ -186,10 +186,13 @@ public class StreamsSurviveDestroy { public static void main(String[] args) throws Exception { - // Applies only to Solaris; Linux and Windows - // behave a little differently - if (!System.getProperty("os.name").equals("SunOS")) + // Applies only to Solaris; + // Linux and Windows behave a little differently + if (! UnixCommands.isSunOS) { + System.out.println("For SunOS only"); return; + } + UnixCommands.ensureCommandsAvailable("cat"); test(); testCloseBeforeDestroy(); diff --git a/jdk/test/java/lang/Runtime/exec/UnixCommands.java b/jdk/test/java/lang/Runtime/exec/UnixCommands.java new file mode 100644 index 00000000000..ded37b61ddd --- /dev/null +++ b/jdk/test/java/lang/Runtime/exec/UnixCommands.java @@ -0,0 +1,81 @@ +/* + * 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.File; +import java.util.HashMap; +import java.util.Map; + +/** + * Utility class for finding the command on the current system + */ +public class UnixCommands { + + public static final boolean isUnix = ! System.getProperty("os.name").startsWith("Windows"); + public static final boolean isLinux = System.getProperty("os.name").startsWith("Linux"); + public static final boolean isSunOS = System.getProperty("os.name").equals("SunOS"); + + private static final String[] paths = {"/bin", "/usr/bin"}; + + private static Map nameToCommand = new HashMap<>(16); + + /** + * Throws Error unless every listed command is available on the system + */ + public static void ensureCommandsAvailable(String... commands) { + for (String command : commands) { + if (findCommand(command) == null) { + throw new Error("Command '" + command + "' not found; bailing out"); + } + } + } + + /** + * If the path to the command could be found, returns the command with the full path. + * Otherwise, returns null. + */ + public static String cat() { return findCommand("cat"); } + public static String sh() { return findCommand("sh"); } + public static String kill() { return findCommand("kill"); } + public static String sleep() { return findCommand("sleep"); } + public static String tee() { return findCommand("tee"); } + public static String echo() { return findCommand("echo"); } + + public static String findCommand(String name) { + if (nameToCommand.containsKey(name)) { + return nameToCommand.get(name); + } + String command = findCommand0(name); + nameToCommand.put(name, command); + return command; + } + + private static String findCommand0(String name) { + for (String path : paths) { + File file = new File(path, name); + if (file.canExecute()) { + return file.getPath(); + } + } + return null; + } +} 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> 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> 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> 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> getThrowerParams(boolean isVararg, int argsCount) { + boolean unmodifiable = true; + List> 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> getCatcherParams() { + int catchArgc = 1 + this.argsCount - dropped; + List> 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 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 createTests(int argsCount, + int catchDrops) { + if (catchDrops > argsCount || argsCount < 0 || catchDrops < 0) { + throw new IllegalArgumentException("argsCount = " + argsCount + + ", catchDrops = " + catchDrops + ); + } + List result = new ArrayList<>( + TestCase.CONSTRUCTORS.size()); + for (Supplier 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 { + private static enum ThrowMode { + NOTHING, + CAUGHT, + UNCAUGHT, + ADAPTER + } + + @SuppressWarnings("unchecked") + public static final List> 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> 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 rtype; + public final ThrowMode throwMode; + public final Throwable thrown; + public final Class 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 cast; + protected MethodHandle filter; + private int fakeIdentityCount; + + private TestCase(Class rtype, Function 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 PartialConstructor create( + Class rtype, Function cast) { + return (t, u) -> () -> { + try { + return new TestCase<>(rtype, cast, t, u); + } catch (NoSuchMethodException | IllegalAccessException e) { + throw new Error(e); + } + }; + } + + private static + 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 + Object catcher(Object o) { + Helper.called("catcher", o); + return o; + } + + public MethodHandle filter(MethodHandle target) { + return MethodHandles.filterReturnValue(target, filter); + } + + public MethodHandle getCatcher(List> 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 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> { + } +} 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 - 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 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 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/lang/management/MemoryMXBean/LowMemoryTest2.java b/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.java index 638b053f086..01a8a3b47c4 100644 --- a/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.java +++ b/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.java @@ -64,6 +64,11 @@ public class LowMemoryTest2 { // low memory notification static class BoundlessLoaderThread extends ClassLoader implements Runnable { + private final List pools; + + public BoundlessLoaderThread(List pools) { + this.pools = pools; + } static int count = 100000; @@ -139,26 +144,29 @@ public class LowMemoryTest2 { * Then wait for the memory threshold notification to be received. */ public void run() { - List pools = ManagementFactory.getMemoryPoolMXBeans(); - boolean thresholdExceeded = false; - // Load classes until MemoryPoolMXBean.getUsageThresholdCount() > 0 - while (!thresholdExceeded) { - // the classes are small so we load 10 at a time - for (int i=0; i<10; i++) { - loadNext(); - } - - // check if the threshold has been exceeded - for (MemoryPoolMXBean p : pools) { - if (p.getType() == MemoryType.NON_HEAP && - p.isUsageThresholdSupported() && - p.getUsageThresholdCount() > 0) - { - thresholdExceeded = true; - break; + boolean isThresholdCountSet = false; + try { + while (!isThresholdCountSet) { + // the classes are small so we load 10 at a time + for (int i=0; i<10; i++) { + loadNext(); } + + if (isAnyUsageAboveThreshold(pools)) { + // UsageThresholdCount is only updated during GC. + // Force GC to update counters. + // If we don't force a GC we may get an + // OutOfMemoryException before the counters are updated. + System.out.println("Force GC"); + System.gc(); + } + isThresholdCountSet = isAnyThresholdCountSet(pools); } + } catch (OutOfMemoryError e) { + e.printStackTrace(); + MemoryUtil.printMemoryPools(pools); + throw e; } System.out.println("thresholdExceeded. Waiting for notification"); @@ -168,16 +176,39 @@ public class LowMemoryTest2 { } catch (InterruptedException x) {} } } + + private boolean isAnyUsageAboveThreshold(List pools) { + for (MemoryPoolMXBean p : pools) { + if (p.isUsageThresholdExceeded()) { + System.out.println("isAnyUsageAboveThreshold is true for " + p.getName()); + MemoryUtil.printMemoryPool(p); + return true; + } + } + return false; + } + + private boolean isAnyThresholdCountSet(List pools) { + for (MemoryPoolMXBean p : pools) { + if (p.getUsageThresholdCount() > 0) { + System.out.println("isAnyThresholdCountSet is true for " + p.getName()); + MemoryUtil.printMemoryPool(p); + return true; + } + } + return false; + } } public static void main(String args[]) { - List pools = ManagementFactory.getMemoryPoolMXBeans(); + // The pools list will only contain the pools that we are interested in. + List pools = new ArrayList(); // Set threshold of 80% of all NON_HEAP memory pools // In the Hotspot implementation this means we should get a notification // if the CodeCache or metaspace fills up. - for (MemoryPoolMXBean p : pools) { + for (MemoryPoolMXBean p : ManagementFactory.getMemoryPoolMXBeans()) { if (p.getType() == MemoryType.NON_HEAP && p.isUsageThresholdSupported()) { // set threshold @@ -190,6 +221,7 @@ public class LowMemoryTest2 { long threshold = (max * 80) / 100; p.setUsageThreshold(threshold); + pools.add(p); System.out.println("Selected memory pool for low memory " + "detection."); @@ -209,7 +241,7 @@ public class LowMemoryTest2 { // Start the thread loading classes - Thread thr = new Thread(new BoundlessLoaderThread()); + Thread thr = new Thread(new BoundlessLoaderThread(pools)); thr.start(); // Wait for the thread to terminate diff --git a/jdk/test/java/lang/management/MemoryMXBean/MemoryUtil.java b/jdk/test/java/lang/management/MemoryMXBean/MemoryUtil.java index f6b88ab59e1..55605c6c1c4 100644 --- a/jdk/test/java/lang/management/MemoryMXBean/MemoryUtil.java +++ b/jdk/test/java/lang/management/MemoryMXBean/MemoryUtil.java @@ -54,6 +54,8 @@ public class MemoryUtil { pool.getUsage()); System.out.println(INDENT + "Threshold: " + (pool.isUsageThresholdSupported() ? pool.getUsageThreshold() : -1)); + System.out.println(INDENT + "ThresholdCount: " + + (pool.isUsageThresholdSupported() ? pool.getUsageThresholdCount() : -1)); System.out.print(INDENT + "Manager = ["); String[] mgrs = pool.getMemoryManagerNames(); for (int i = 0; i < mgrs.length; i++) { diff --git a/jdk/test/java/lang/ref/EarlyTimeout.java b/jdk/test/java/lang/ref/EarlyTimeout.java index d33b46bbb48..cbbc269ad90 100644 --- a/jdk/test/java/lang/ref/EarlyTimeout.java +++ b/jdk/test/java/lang/ref/EarlyTimeout.java @@ -37,7 +37,7 @@ import java.util.concurrent.CountDownLatch; /** * In order to demonstrate the issue we make several threads (two appears to be sufficient) * to block in ReferenceQueue#remove(timeout) at the same time. - * Then, we force a reference to be enqueued by setting its referent to null and calling System.gs(). + * Then, we force a reference to be enqueued by setting its referent to null and calling System.gc(). * One of the threads gets the reference returned from the remove(). * The other threads get null: * 1) with bug: this may happen before the specified timeout is elapsed, @@ -63,7 +63,10 @@ public class EarlyTimeout extends Thread { threads[i] = new EarlyTimeout(); threads[i].start(); } + // The main thread waits until the threads has started and give it a chance + // for the threads to block on the queue.remove(TIMEOUT) call startedSignal.await(); + Thread.sleep(TIMEOUT / 2); referent = null; System.gc(); for (EarlyTimeout thread : threads) { @@ -82,7 +85,7 @@ public class EarlyTimeout extends Thread { nonNullRefCount++; } } - if (nonNullRefCount != 1) { + if (nonNullRefCount > 1) { throw new RuntimeException("more than one references were removed from queue"); } } 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 emptyNonProxiesHosts() { + List 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 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 nonEmptyNonProxiesHosts() { + List 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 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 misc() { + List 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 withSystemPropertiesSet( + Map localProperties, + Callable code) { + Map 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 localProperties, + Map oldProperties) { + for (Map.Entry e : localProperties.entrySet()) { + String oldValue = System.setProperty(e.getKey(), e.getValue()); + oldProperties.put(e.getKey(), oldValue); + } + } + + private static void restoreProperties(Map oldProperties) { + for (Map.Entry 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 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() { + { + put("http.nonProxyHosts", nonProxyHosts); + put("http.proxyHost", proxyHost); + } + }, urlhost, expectedProxying); + } + + TestCase(Map 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 proxies = withSystemPropertiesSet(localProperties, + () -> ProxySelector.getDefault().select( + URI.create(urlhost)) + ); + + verify(proxies); + } + + void verify(List 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> cfs = new ArrayList<>(); + for (AsyncCloseTest test : tests) + cfs.add( supplyAsync(() -> test.go())); + + for (CompletableFuture 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/net/URI/Test.java b/jdk/test/java/net/URI/Test.java index 05d4cdbbfac..8e0e9247acd 100644 --- a/jdk/test/java/net/URI/Test.java +++ b/jdk/test/java/net/URI/Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, 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 @@ -1367,6 +1367,17 @@ public class Test { cmp0(u, v, true); } + static void eq(String expected, String actual) { + if (expected == null && actual == null) { + return; + } + if (expected != null && expected.equals(actual)) { + return; + } + throw new AssertionError(String.format( + "Strings are not equal: '%s', '%s'", expected, actual)); + } + static void eqeq(URI u, URI v) { testCount++; if (u != v) @@ -1588,7 +1599,12 @@ public class Test { // miscellaneous bugs/rfes that don't fit in with the test framework static void bugs() { - // 6339649 - include detail message from nested exception + b6339649(); + b8037396(); + } + + // 6339649 - include detail message from nested exception + private static void b6339649() { try { URI uri = URI.create("http://nowhere.net/should not be permitted"); } catch (IllegalArgumentException e) { @@ -1598,6 +1614,39 @@ public class Test { } } + private static void b8037396() { + + // primary checks: + + URI u; + try { + u = new URI("http", "example.org", "/[a b]", "[a b]", "[a b]"); + } catch (URISyntaxException e) { + throw new AssertionError("shouldn't ever happen", e); + } + eq("/[a b]", u.getPath()); + eq("[a b]", u.getQuery()); + eq("[a b]", u.getFragment()); + + // additional checks: + // * '%' symbols are still decoded outside square brackets + // * the getRawXXX() functionality left intact + + try { + u = new URI("http", "example.org", "/a b[c d]", "a b[c d]", "a b[c d]"); + } catch (URISyntaxException e) { + throw new AssertionError("shouldn't ever happen", e); + } + + eq("/a b[c d]", u.getPath()); + eq("a b[c d]", u.getQuery()); + eq("a b[c d]", u.getFragment()); + + eq("/a%20b%5Bc%20d%5D", u.getRawPath()); + eq("a%20b[c%20d]", u.getRawQuery()); + eq("a%20b[c%20d]", u.getRawFragment()); + } + public static void main(String[] args) throws Exception { switch (args.length) { 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/nio/file/Path/PathOps.java b/jdk/test/java/nio/file/Path/PathOps.java index 865581c9273..f237f68ccaa 100644 --- a/jdk/test/java/nio/file/Path/PathOps.java +++ b/jdk/test/java/nio/file/Path/PathOps.java @@ -22,7 +22,7 @@ */ /* @test - * @bug 4313887 6838333 6925932 7006126 + * @bug 4313887 6838333 6925932 7006126 8037945 * @summary Unit test for java.nio.file.Path path operations */ @@ -899,6 +899,8 @@ public class PathOps { .normalize("foo"); test("/foo") .normalize("/foo"); + test("") + .normalize(""); test(".") .normalize(""); test("..") 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 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/TCKDateTimeFormatter.java b/jdk/test/java/time/tck/java/time/format/TCKDateTimeFormatter.java index 8e2091e9888..9c0a783ec53 100644 --- a/jdk/test/java/time/tck/java/time/format/TCKDateTimeFormatter.java +++ b/jdk/test/java/time/tck/java/time/format/TCKDateTimeFormatter.java @@ -254,14 +254,20 @@ public class TCKDateTimeFormatter { assertEquals(parsed.isSupported(YEAR), false); // not in the list of resolverFields } - @Test(expectedExceptions = NullPointerException.class) + @Test public void test_resolverFields_Array_null() throws Exception { - DateTimeFormatter.ISO_DATE.withResolverFields((TemporalField[]) null); + DateTimeFormatter f = DateTimeFormatter.ISO_DATE.withResolverFields(MONTH_OF_YEAR); + assertEquals(f.getResolverFields().size(), 1); + f = f.withResolverFields((TemporalField[]) null); + assertEquals(f.getResolverFields(), null); } - @Test(expectedExceptions = NullPointerException.class) + @Test public void test_resolverFields_Set_null() throws Exception { - DateTimeFormatter.ISO_DATE.withResolverFields((Set) null); + DateTimeFormatter f = DateTimeFormatter.ISO_DATE.withResolverFields(MONTH_OF_YEAR); + assertEquals(f.getResolverFields().size(), 1); + f = f.withResolverFields((Set) null); + assertEquals(f.getResolverFields(), null); } //----------------------------------------------------------------------- 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 adjustInto(R temporal, long newValue) { - throw new UnsupportedOperationException(); - } - @Override - public TemporalAccessor resolve( - Map 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 adjustInto(R temporal, long newValue) { - throw new UnsupportedOperationException(); - } - @Override - public TemporalAccessor resolve( - Map 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 adjustInto(R temporal, long newValue) { - throw new UnsupportedOperationException(); - } - @Override - public TemporalAccessor resolve( - Map 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 adjustInto(R temporal, long newValue) { - throw new UnsupportedOperationException(); - } - @Override - public TemporalAccessor resolve( - Map 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 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 adjustInto(R temporal, long newValue) { + throw new UnsupportedOperationException(); + } + @Override + public TemporalAccessor resolve( + Map 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/Arrays/StreamAndSpliterator.java b/jdk/test/java/util/Arrays/StreamAndSpliterator.java new file mode 100644 index 00000000000..b475e7e6f39 --- /dev/null +++ b/jdk/test/java/util/Arrays/StreamAndSpliterator.java @@ -0,0 +1,148 @@ +/* + * 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 8037857 + * @summary tests for stream and spliterator factory methods + * @run testng StreamAndSpliterator + */ + +import org.testng.annotations.Test; + +import java.util.Arrays; +import java.util.Spliterators; + +import static org.testng.Assert.assertNotNull; + +public class StreamAndSpliterator { + @Test + public void testStreamNPEs() { + assertThrowsNPE(() -> Arrays.stream((int[]) null, 0, 0)); + assertThrowsNPE(() -> Arrays.stream((long[]) null, 0, 0)); + assertThrowsNPE(() -> Arrays.stream((double[]) null, 0, 0)); + assertThrowsNPE(() -> Arrays.stream((String[]) null, 0, 0)); + } + + @Test + public void testStreamAIOBEs() { + // origin > fence + assertThrowsAIOOB(() -> Arrays.stream(new int[]{}, 1, 0)); + assertThrowsAIOOB(() -> Arrays.stream(new long[]{}, 1, 0)); + assertThrowsAIOOB(() -> Arrays.stream(new double[]{}, 1, 0)); + assertThrowsAIOOB(() -> Arrays.stream(new String[]{}, 1, 0)); + + // bad origin + assertThrowsAIOOB(() -> Arrays.stream(new int[]{}, -1, 0)); + assertThrowsAIOOB(() -> Arrays.stream(new long[]{}, -1, 0)); + assertThrowsAIOOB(() -> Arrays.stream(new double[]{}, -1, 0)); + assertThrowsAIOOB(() -> Arrays.stream(new String[]{}, -1, 0)); + + // bad fence + assertThrowsAIOOB(() -> Arrays.stream(new int[]{}, 0, 1)); + assertThrowsAIOOB(() -> Arrays.stream(new long[]{}, 0, 1)); + assertThrowsAIOOB(() -> Arrays.stream(new double[]{}, 0, 1)); + assertThrowsAIOOB(() -> Arrays.stream(new String[]{}, 0, 1)); + } + + + @Test + public void testSpliteratorNPEs() { + assertThrowsNPE(() -> Arrays.spliterator((int[]) null, 0, 0)); + assertThrowsNPE(() -> Arrays.spliterator((long[]) null, 0, 0)); + assertThrowsNPE(() -> Arrays.spliterator((double[]) null, 0, 0)); + assertThrowsNPE(() -> Arrays.spliterator((String[]) null, 0, 0)); + } + + @Test + public void testSpliteratorAIOBEs() { + // origin > fence + assertThrowsAIOOB(() -> Arrays.spliterator(new int[]{}, 1, 0)); + assertThrowsAIOOB(() -> Arrays.spliterator(new long[]{}, 1, 0)); + assertThrowsAIOOB(() -> Arrays.spliterator(new double[]{}, 1, 0)); + assertThrowsAIOOB(() -> Arrays.spliterator(new String[]{}, 1, 0)); + + // bad origin + assertThrowsAIOOB(() -> Arrays.spliterator(new int[]{}, -1, 0)); + assertThrowsAIOOB(() -> Arrays.spliterator(new long[]{}, -1, 0)); + assertThrowsAIOOB(() -> Arrays.spliterator(new double[]{}, -1, 0)); + assertThrowsAIOOB(() -> Arrays.spliterator(new String[]{}, -1, 0)); + + // bad fence + assertThrowsAIOOB(() -> Arrays.spliterator(new int[]{}, 0, 1)); + assertThrowsAIOOB(() -> Arrays.spliterator(new long[]{}, 0, 1)); + assertThrowsAIOOB(() -> Arrays.spliterator(new double[]{}, 0, 1)); + assertThrowsAIOOB(() -> Arrays.spliterator(new String[]{}, 0, 1)); + } + + + @Test + public void testSpliteratorNPEsFromSpliterators() { + assertThrowsNPE(() -> Spliterators.spliterator((int[]) null, 0, 0, 0)); + assertThrowsNPE(() -> Spliterators.spliterator((long[]) null, 0, 0, 0)); + assertThrowsNPE(() -> Spliterators.spliterator((double[]) null, 0, 0, 0)); + assertThrowsNPE(() -> Spliterators.spliterator((String[]) null, 0, 0, 0)); + } + + @Test + public void testSpliteratorAIOBEsFromSpliterators() { + // origin > fence + assertThrowsAIOOB(() -> Spliterators.spliterator(new int[]{}, 1, 0, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new long[]{}, 1, 0, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new double[]{}, 1, 0, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new String[]{}, 1, 0, 0)); + + // bad origin + assertThrowsAIOOB(() -> Spliterators.spliterator(new int[]{}, -1, 0, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new long[]{}, -1, 0, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new double[]{}, -1, 0, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new String[]{}, -1, 0, 0)); + + // bad fence + assertThrowsAIOOB(() -> Spliterators.spliterator(new int[]{}, 0, 1, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new long[]{}, 0, 1, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new double[]{}, 0, 1, 0)); + assertThrowsAIOOB(() -> Spliterators.spliterator(new String[]{}, 0, 1, 0)); + } + + void assertThrowsNPE(Runnable r) { + NullPointerException caught = null; + try { + r.run(); + } + catch (NullPointerException e) { + caught = e; + } + assertNotNull(caught, "NullPointerException not thrown"); + } + + void assertThrowsAIOOB(Runnable r) { + ArrayIndexOutOfBoundsException caught = null; + try { + r.run(); + } + catch (ArrayIndexOutOfBoundsException e) { + caught = e; + } + assertNotNull(caught, "ArrayIndexOutOfBoundsException not thrown"); + } +} 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 abList = (AbstractList) 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 c) { diff --git a/jdk/test/java/util/regex/RegExTest.java b/jdk/test/java/util/regex/RegExTest.java index cd6abd9be07..7cc7c784cf2 100644 --- a/jdk/test/java/util/regex/RegExTest.java +++ b/jdk/test/java/util/regex/RegExTest.java @@ -32,7 +32,7 @@ * 6358731 6178785 6284152 6231989 6497148 6486934 6233084 6504326 6635133 * 6350801 6676425 6878475 6919132 6931676 6948903 6990617 7014645 7039066 * 7067045 7014640 7189363 8007395 8013252 8013254 8012646 8023647 6559590 - * 8027645 8035076 + * 8027645 8035076 8039124 */ import java.util.regex.*; @@ -75,7 +75,10 @@ public class RegExTest { // Substitition tests on randomly generated sequences globalSubstitute(); stringbufferSubstitute(); + stringbuilderSubstitute(); + substitutionBasher(); + substitutionBasher2(); // Canonical Equivalence ceTest(); @@ -296,10 +299,12 @@ public class RegExTest { final Matcher m = Pattern.compile("xyz").matcher("xyz"); m.matches(); - check(new Runnable() { public void run() { m.appendTail(null);}}); + check(new Runnable() { public void run() { m.appendTail((StringBuffer)null);}}); + check(new Runnable() { public void run() { m.appendTail((StringBuilder)null);}}); check(new Runnable() { public void run() { m.replaceAll(null);}}); check(new Runnable() { public void run() { m.replaceFirst(null);}}); - check(new Runnable() { public void run() { m.appendReplacement(null, null);}}); + check(new Runnable() { public void run() { m.appendReplacement((StringBuffer)null, null);}}); + check(new Runnable() { public void run() { m.appendReplacement((StringBuilder)null, null);}}); check(new Runnable() { public void run() { m.reset(null);}}); check(new Runnable() { public void run() { Matcher.quoteReplacement(null);}}); //check(new Runnable() { public void run() { m.usePattern(null);}}); @@ -2973,6 +2978,286 @@ public class RegExTest { report("SB Substitution"); } + /** + * Tests the usage of Matcher.appendReplacement() with literal + * and group substitutions. + */ + private static void stringbuilderSubstitute() throws Exception { + // SB substitution with literal + String blah = "zzzblahzzz"; + Pattern p = Pattern.compile("blah"); + Matcher m = p.matcher(blah); + StringBuilder result = new StringBuilder(); + try { + m.appendReplacement(result, "blech"); + failCount++; + } catch (IllegalStateException e) { + } + m.find(); + m.appendReplacement(result, "blech"); + if (!result.toString().equals("zzzblech")) + failCount++; + + m.appendTail(result); + if (!result.toString().equals("zzzblechzzz")) + failCount++; + + // SB substitution with groups + blah = "zzzabcdzzz"; + p = Pattern.compile("(ab)(cd)*"); + m = p.matcher(blah); + result = new StringBuilder(); + try { + m.appendReplacement(result, "$1"); + failCount++; + } catch (IllegalStateException e) { + } + m.find(); + m.appendReplacement(result, "$1"); + if (!result.toString().equals("zzzab")) + failCount++; + + m.appendTail(result); + if (!result.toString().equals("zzzabzzz")) + failCount++; + + // SB substitution with 3 groups + blah = "zzzabcdcdefzzz"; + p = Pattern.compile("(ab)(cd)*(ef)"); + m = p.matcher(blah); + result = new StringBuilder(); + try { + m.appendReplacement(result, "$1w$2w$3"); + failCount++; + } catch (IllegalStateException e) { + } + m.find(); + m.appendReplacement(result, "$1w$2w$3"); + if (!result.toString().equals("zzzabwcdwef")) + failCount++; + + m.appendTail(result); + if (!result.toString().equals("zzzabwcdwefzzz")) + failCount++; + + // SB substitution with groups and three matches + // skipping middle match + blah = "zzzabcdzzzabcddzzzabcdzzz"; + p = Pattern.compile("(ab)(cd*)"); + m = p.matcher(blah); + result = new StringBuilder(); + try { + m.appendReplacement(result, "$1"); + failCount++; + } catch (IllegalStateException e) { + } + m.find(); + m.appendReplacement(result, "$1"); + if (!result.toString().equals("zzzab")) + failCount++; + + m.find(); + m.find(); + m.appendReplacement(result, "$2"); + if (!result.toString().equals("zzzabzzzabcddzzzcd")) + failCount++; + + m.appendTail(result); + if (!result.toString().equals("zzzabzzzabcddzzzcdzzz")) + failCount++; + + // Check to make sure escaped $ is ignored + blah = "zzzabcdcdefzzz"; + p = Pattern.compile("(ab)(cd)*(ef)"); + m = p.matcher(blah); + result = new StringBuilder(); + m.find(); + m.appendReplacement(result, "$1w\\$2w$3"); + if (!result.toString().equals("zzzabw$2wef")) + failCount++; + + m.appendTail(result); + if (!result.toString().equals("zzzabw$2wefzzz")) + failCount++; + + // Check to make sure a reference to nonexistent group causes error + blah = "zzzabcdcdefzzz"; + p = Pattern.compile("(ab)(cd)*(ef)"); + m = p.matcher(blah); + result = new StringBuilder(); + m.find(); + try { + m.appendReplacement(result, "$1w$5w$3"); + failCount++; + } catch (IndexOutOfBoundsException ioobe) { + // Correct result + } + + // Check double digit group references + blah = "zzz123456789101112zzz"; + p = Pattern.compile("(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)"); + m = p.matcher(blah); + result = new StringBuilder(); + m.find(); + m.appendReplacement(result, "$1w$11w$3"); + if (!result.toString().equals("zzz1w11w3")) + failCount++; + + // Check to make sure it backs off $15 to $1 if only three groups + blah = "zzzabcdcdefzzz"; + p = Pattern.compile("(ab)(cd)*(ef)"); + m = p.matcher(blah); + result = new StringBuilder(); + m.find(); + m.appendReplacement(result, "$1w$15w$3"); + if (!result.toString().equals("zzzabwab5wef")) + failCount++; + + + // Supplementary character test + // SB substitution with literal + blah = toSupplementaries("zzzblahzzz"); + p = Pattern.compile(toSupplementaries("blah")); + m = p.matcher(blah); + result = new StringBuilder(); + try { + m.appendReplacement(result, toSupplementaries("blech")); + failCount++; + } catch (IllegalStateException e) { + } + m.find(); + m.appendReplacement(result, toSupplementaries("blech")); + if (!result.toString().equals(toSupplementaries("zzzblech"))) + failCount++; + m.appendTail(result); + if (!result.toString().equals(toSupplementaries("zzzblechzzz"))) + failCount++; + + // SB substitution with groups + blah = toSupplementaries("zzzabcdzzz"); + p = Pattern.compile(toSupplementaries("(ab)(cd)*")); + m = p.matcher(blah); + result = new StringBuilder(); + try { + m.appendReplacement(result, "$1"); + failCount++; + } catch (IllegalStateException e) { + } + m.find(); + m.appendReplacement(result, "$1"); + if (!result.toString().equals(toSupplementaries("zzzab"))) + failCount++; + + m.appendTail(result); + if (!result.toString().equals(toSupplementaries("zzzabzzz"))) + failCount++; + + // SB substitution with 3 groups + blah = toSupplementaries("zzzabcdcdefzzz"); + p = Pattern.compile(toSupplementaries("(ab)(cd)*(ef)")); + m = p.matcher(blah); + result = new StringBuilder(); + try { + m.appendReplacement(result, toSupplementaries("$1w$2w$3")); + failCount++; + } catch (IllegalStateException e) { + } + m.find(); + m.appendReplacement(result, toSupplementaries("$1w$2w$3")); + if (!result.toString().equals(toSupplementaries("zzzabwcdwef"))) + failCount++; + + m.appendTail(result); + if (!result.toString().equals(toSupplementaries("zzzabwcdwefzzz"))) + failCount++; + + // SB substitution with groups and three matches + // skipping middle match + blah = toSupplementaries("zzzabcdzzzabcddzzzabcdzzz"); + p = Pattern.compile(toSupplementaries("(ab)(cd*)")); + m = p.matcher(blah); + result = new StringBuilder(); + try { + m.appendReplacement(result, "$1"); + failCount++; + } catch (IllegalStateException e) { + } + m.find(); + m.appendReplacement(result, "$1"); + if (!result.toString().equals(toSupplementaries("zzzab"))) + failCount++; + + m.find(); + m.find(); + m.appendReplacement(result, "$2"); + if (!result.toString().equals(toSupplementaries("zzzabzzzabcddzzzcd"))) + failCount++; + + m.appendTail(result); + if (!result.toString().equals(toSupplementaries("zzzabzzzabcddzzzcdzzz"))) + failCount++; + + // Check to make sure escaped $ is ignored + blah = toSupplementaries("zzzabcdcdefzzz"); + p = Pattern.compile(toSupplementaries("(ab)(cd)*(ef)")); + m = p.matcher(blah); + result = new StringBuilder(); + m.find(); + m.appendReplacement(result, toSupplementaries("$1w\\$2w$3")); + if (!result.toString().equals(toSupplementaries("zzzabw$2wef"))) + failCount++; + + m.appendTail(result); + if (!result.toString().equals(toSupplementaries("zzzabw$2wefzzz"))) + failCount++; + + // Check to make sure a reference to nonexistent group causes error + blah = toSupplementaries("zzzabcdcdefzzz"); + p = Pattern.compile(toSupplementaries("(ab)(cd)*(ef)")); + m = p.matcher(blah); + result = new StringBuilder(); + m.find(); + try { + m.appendReplacement(result, toSupplementaries("$1w$5w$3")); + failCount++; + } catch (IndexOutOfBoundsException ioobe) { + // Correct result + } + // Check double digit group references + blah = toSupplementaries("zzz123456789101112zzz"); + p = Pattern.compile("(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)"); + m = p.matcher(blah); + result = new StringBuilder(); + m.find(); + m.appendReplacement(result, toSupplementaries("$1w$11w$3")); + if (!result.toString().equals(toSupplementaries("zzz1w11w3"))) + failCount++; + + // Check to make sure it backs off $15 to $1 if only three groups + blah = toSupplementaries("zzzabcdcdefzzz"); + p = Pattern.compile(toSupplementaries("(ab)(cd)*(ef)")); + m = p.matcher(blah); + result = new StringBuilder(); + m.find(); + m.appendReplacement(result, toSupplementaries("$1w$15w$3")); + if (!result.toString().equals(toSupplementaries("zzzabwab5wef"))) + failCount++; + // Check nothing has been appended into the output buffer if + // the replacement string triggers IllegalArgumentException. + p = Pattern.compile("(abc)"); + m = p.matcher("abcd"); + result = new StringBuilder(); + m.find(); + try { + m.appendReplacement(result, ("xyz$g")); + failCount++; + } catch (IllegalArgumentException iae) { + if (result.length() != 0) + failCount++; + } + report("SB Substitution 2"); + } + /* * 5 groups of characters are created to make a substitution string. * A base string will be created including random lead chars, the @@ -3059,6 +3344,93 @@ public class RegExTest { report("Substitution Basher"); } + /* + * 5 groups of characters are created to make a substitution string. + * A base string will be created including random lead chars, the + * substitution string, and random trailing chars. + * A pattern containing the 5 groups is searched for and replaced with: + * random group + random string + random group. + * The results are checked for correctness. + */ + private static void substitutionBasher2() { + for (int runs = 0; runs<1000; runs++) { + // Create a base string to work in + int leadingChars = generator.nextInt(10); + StringBuilder baseBuffer = new StringBuilder(100); + String leadingString = getRandomAlphaString(leadingChars); + baseBuffer.append(leadingString); + + // Create 5 groups of random number of random chars + // Create the string to substitute + // Create the pattern string to search for + StringBuilder bufferToSub = new StringBuilder(25); + StringBuilder bufferToPat = new StringBuilder(50); + String[] groups = new String[5]; + for(int i=0; i<5; i++) { + int aGroupSize = generator.nextInt(5)+1; + groups[i] = getRandomAlphaString(aGroupSize); + bufferToSub.append(groups[i]); + bufferToPat.append('('); + bufferToPat.append(groups[i]); + bufferToPat.append(')'); + } + String stringToSub = bufferToSub.toString(); + String pattern = bufferToPat.toString(); + + // Place sub string into working string at random index + baseBuffer.append(stringToSub); + + // Append random chars to end + int trailingChars = generator.nextInt(10); + String trailingString = getRandomAlphaString(trailingChars); + baseBuffer.append(trailingString); + String baseString = baseBuffer.toString(); + + // Create test pattern and matcher + Pattern p = Pattern.compile(pattern); + Matcher m = p.matcher(baseString); + + // Reject candidate if pattern happens to start early + m.find(); + if (m.start() < leadingChars) + continue; + + // Reject candidate if more than one match + if (m.find()) + continue; + + // Construct a replacement string with : + // random group + random string + random group + StringBuilder bufferToRep = new StringBuilder(); + int groupIndex1 = generator.nextInt(5); + bufferToRep.append("$" + (groupIndex1 + 1)); + String randomMidString = getRandomAlphaString(5); + bufferToRep.append(randomMidString); + int groupIndex2 = generator.nextInt(5); + bufferToRep.append("$" + (groupIndex2 + 1)); + String replacement = bufferToRep.toString(); + + // Do the replacement + String result = m.replaceAll(replacement); + + // Construct expected result + StringBuilder bufferToRes = new StringBuilder(); + bufferToRes.append(leadingString); + bufferToRes.append(groups[groupIndex1]); + bufferToRes.append(randomMidString); + bufferToRes.append(groups[groupIndex2]); + bufferToRes.append(trailingString); + String expectedResult = bufferToRes.toString(); + + // Check results + if (!result.equals(expectedResult)) { + failCount++; + } + } + + report("Substitution Basher 2"); + } + /** * Checks the handling of some escape sequences that the Pattern * class should process instead of the java compiler. These are diff --git a/jdk/test/java/util/zip/ZipFile/MultiThreadedReadTest.java b/jdk/test/java/util/zip/ZipFile/MultiThreadedReadTest.java new file mode 100644 index 00000000000..c1f69a90587 --- /dev/null +++ b/jdk/test/java/util/zip/ZipFile/MultiThreadedReadTest.java @@ -0,0 +1,92 @@ +/* + * 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 8038491 + * @summary Crash in ZipFile.read() when ZipFileInputStream is shared between threads + * @library /lib/testlibrary + * @build jdk.testlibrary.FileUtils + * @run main MultiThreadedReadTest + */ + +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.nio.file.Paths; +import java.util.Random; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import java.util.zip.ZipOutputStream; +import jdk.testlibrary.FileUtils; + +public class MultiThreadedReadTest extends Thread { + + private static final int NUM_THREADS = 10; + private static final String ZIPFILE_NAME = "large.zip"; + private static final String ZIPENTRY_NAME = "random.txt"; + private static InputStream is = null; + + public static void main(String args[]) throws Exception { + createZipFile(); + try (ZipFile zf = new ZipFile(new File(ZIPFILE_NAME))) { + is = zf.getInputStream(zf.getEntry(ZIPENTRY_NAME)); + Thread[] threadArray = new Thread[NUM_THREADS]; + for (int i = 0; i < threadArray.length; i++) { + threadArray[i] = new MultiThreadedReadTest(); + } + for (int i = 0; i < threadArray.length; i++) { + threadArray[i].start(); + } + for (int i = 0; i < threadArray.length; i++) { + threadArray[i].join(); + } + } finally { + FileUtils.deleteFileIfExistsWithRetry(Paths.get(ZIPFILE_NAME)); + } + } + + private static void createZipFile() throws Exception { + try (ZipOutputStream zos = + new ZipOutputStream(new FileOutputStream(ZIPFILE_NAME))) { + + zos.putNextEntry(new ZipEntry(ZIPENTRY_NAME)); + StringBuilder sb = new StringBuilder(); + Random rnd = new Random(); + for(int i = 0; i < 1000; i++) { + // append some random string for ZipEntry + sb.append(Long.toString(rnd.nextLong())); + } + byte[] b = sb.toString().getBytes(); + zos.write(b, 0, b.length); + } + } + + @Override + public void run() { + try { + while (is.read() != -1) { } + } catch (Exception e) { + // Swallow any Exceptions (which are expected) - we're only interested in the crash + } + } +} diff --git a/jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java b/jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java index 4001f83ed47..ccb90c6c182 100644 --- a/jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java +++ b/jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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,7 @@ /* * @test - * @bug 4366807 + * @bug 4366807 * @summary Need new APIs to get/set session timeout and session cache size. * @run main/othervm SessionCacheSizeTests */ @@ -110,6 +110,7 @@ public class SessionCacheSizeTests { SSLServerSocket sslServerSocket = (SSLServerSocket) sslssf.createServerSocket(serverPort); + sslServerSocket.setSoTimeout(45000); // timeout to accept a connection serverPorts[createdPorts++] = sslServerSocket.getLocalPort(); /* @@ -128,16 +129,22 @@ public class SessionCacheSizeTests { SSLSession sessions [] = new SSLSession [serverConns]; SSLSessionContext sessCtx = sslctx.getServerSessionContext(); - while (nConnections < serverConns) { - SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept(); - InputStream sslIS = sslSocket.getInputStream(); - OutputStream sslOS = sslSocket.getOutputStream(); - read = sslIS.read(); - sessions[nConnections] = sslSocket.getSession(); - sslOS.write(85); - sslOS.flush(); - sslSocket.close(); - nConnections++; + try { + while (nConnections < serverConns) { + try (SSLSocket sslSocket = + (SSLSocket)sslServerSocket.accept()) { + sslSocket.setSoTimeout(90000); // timeout to read + InputStream sslIS = sslSocket.getInputStream(); + OutputStream sslOS = sslSocket.getOutputStream(); + read = sslIS.read(); + sessions[nConnections] = sslSocket.getSession(); + sslOS.write(85); + sslOS.flush(); + nConnections++; + } + } + } finally { + sslServerSocket.close(); } } diff --git a/jdk/test/javax/security/auth/kerberos/KerberosHashEqualsTest.java b/jdk/test/javax/security/auth/kerberos/KerberosHashEqualsTest.java index 906700c71cc..9578a59547a 100644 --- a/jdk/test/javax/security/auth/kerberos/KerberosHashEqualsTest.java +++ b/jdk/test/javax/security/auth/kerberos/KerberosHashEqualsTest.java @@ -25,7 +25,6 @@ * @test * @bug 4641821 * @summary hashCode() and equals() for KerberosKey and KerberosTicket - * @run main/manual KerberosHashEqualsTest */ /* @@ -60,8 +59,8 @@ public class KerberosHashEqualsTest { void check() throws Exception { KerberosKey k1, k2; - k1 = new KerberosKey(new KerberosPrincipal("A"), "pass".getBytes(), 1, 1); - k2 = new KerberosKey(new KerberosPrincipal("A"), "pass".getBytes(), 1, 1); + k1 = new KerberosKey(newKP("A"), "pass".getBytes(), 1, 1); + k2 = new KerberosKey(newKP("A"), "pass".getBytes(), 1, 1); checkSame(k1, k1); // me to me checkSame(k1, k2); // same @@ -73,13 +72,13 @@ public class KerberosHashEqualsTest { checkSame(k2, k2); // a little different - k2 = new KerberosKey(new KerberosPrincipal("B"), "pass".getBytes(), 1, 1); + k2 = new KerberosKey(newKP("B"), "pass".getBytes(), 1, 1); checkNotSame(k1, k2); - k2 = new KerberosKey(new KerberosPrincipal("A"), "ssap".getBytes(), 1, 1); + k2 = new KerberosKey(newKP("A"), "ssap".getBytes(), 1, 1); checkNotSame(k1, k2); - k2 = new KerberosKey(new KerberosPrincipal("A"), "pass".getBytes(), 2, 1); + k2 = new KerberosKey(newKP("A"), "pass".getBytes(), 2, 1); checkNotSame(k1, k2); - k2 = new KerberosKey(new KerberosPrincipal("A"), "pass".getBytes(), 1, 2); + k2 = new KerberosKey(newKP("A"), "pass".getBytes(), 1, 2); checkNotSame(k1, k2); k1 = new KerberosKey(null, "pass".getBytes(), 1, 2); @@ -90,33 +89,33 @@ public class KerberosHashEqualsTest { checkNotSame(k1, "Another Object"); KerberosTicket t1, t2; - t1 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); + t1 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); checkSame(t1, t1); checkSame(t1, t2); - t2 = new KerberosTicket("asn11".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn11".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client1"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client1"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server1"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server1"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass1".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass1".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 2, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 2, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {false, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {false, true}, new Date(0), new Date(0), new Date(0), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(1), new Date(0), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(1), new Date(0), new Date(0), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(1), new Date(0), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(1), new Date(0), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(1), new Date(0), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(1), new Date(0), null); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), new InetAddress[2]); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(0), new InetAddress[2]); checkNotSame(t1, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(1), null); - t1 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(2), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(1), null); + t1 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true}, new Date(0), new Date(0), new Date(0), new Date(2), null); checkSame(t1, t2); // renewtill is useless t2.destroy(); @@ -126,11 +125,15 @@ public class KerberosHashEqualsTest { checkNotSame(t2, t1); checkSame(t2, t2); - t2 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true, true, true, true, true, true, true, true, true}, new Date(0), new Date(0), new Date(0), new Date(1), null); - t1 = new KerberosTicket("asn1".getBytes(), new KerberosPrincipal("client"), new KerberosPrincipal("server"), "pass".getBytes(), 1, new boolean[] {true, true, true, true, true, true, true, true, true, true}, new Date(0), new Date(0), new Date(0), new Date(2), null); + t2 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true, true, true, true, true, true, true, true, true}, new Date(0), new Date(0), new Date(0), new Date(1), null); + t1 = new KerberosTicket("asn1".getBytes(), newKP("client"), newKP("server"), "pass".getBytes(), 1, new boolean[] {true, true, true, true, true, true, true, true, true, true}, new Date(0), new Date(0), new Date(0), new Date(2), null); checkNotSame(t1, t2); // renewtill is useful checkNotSame(t1, "Another Object"); System.out.println("Good!"); } + + KerberosPrincipal newKP(String s) { + return new KerberosPrincipal(s + "@JLABS.SFBAY.SUN.COM"); + } } diff --git a/jdk/test/javax/security/auth/kerberos/KerberosTixDateTest.java b/jdk/test/javax/security/auth/kerberos/KerberosTixDateTest.java index 2fed8d083cb..53b5ec8068a 100644 --- a/jdk/test/javax/security/auth/kerberos/KerberosTixDateTest.java +++ b/jdk/test/javax/security/auth/kerberos/KerberosTixDateTest.java @@ -25,7 +25,6 @@ * @test * @bug 6659990 * @summary test the immutability of the Date fields in KerberosTicket class. - * @run main/manual KerberosTixDateTest */ /* @@ -64,8 +63,8 @@ public class KerberosTixDateTest { public static void main(String[] args) throws Exception { byte[] asn1Bytes = "asn1".getBytes(); - KerberosPrincipal client = new KerberosPrincipal("client"); - KerberosPrincipal server = new KerberosPrincipal("server"); + KerberosPrincipal client = new KerberosPrincipal("client@JLABS.SFBAY.SUN.COM"); + KerberosPrincipal server = new KerberosPrincipal("server@JLABS.SFBAY.SUN.COM"); byte[] keyBytes = "sessionKey".getBytes(); long originalTime = 12345678L; Date inDate = new Date(originalTime); diff --git a/jdk/test/javax/security/auth/kerberos/StandardNames.java b/jdk/test/javax/security/auth/kerberos/StandardNames.java new file mode 100644 index 00000000000..40590f6d080 --- /dev/null +++ b/jdk/test/javax/security/auth/kerberos/StandardNames.java @@ -0,0 +1,108 @@ +/* + * 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 8035986 + * @summary KerberosKey algorithm names are not specified + */ + +import sun.security.krb5.EncryptedData; + +import javax.crypto.Cipher; +import javax.security.auth.kerberos.KerberosKey; +import javax.security.auth.kerberos.KerberosPrincipal; +import java.util.Locale; + +public class StandardNames { + static KerberosPrincipal kp = new KerberosPrincipal("user@REALM"); + static char[] pass = "secret".toCharArray(); + static byte[] keyBytes = new byte[1]; + + public static void main(String[] args) throws Exception { + for (EncType e: EncType.values()) { + if (e == EncType.e18) { + if (Cipher.getMaxAllowedKeyLength("AES") < 256) { + System.out.println("Skipping aes256-cts-hmac-sha1-96"); + continue; + } + } + checkByName(e.name, e); + checkByName(e.name.toUpperCase(Locale.US), e); + for (String n: e.oldnames) { + checkByName(n, e); + if (n != null) { + checkByName(n.toLowerCase(Locale.US), e); + } + } + checkByEType(e.etype, e.name); + } + checkByEType(100, "unknown"); + checkByEType(-1, "private"); + + try { + System.out.println("unsupported"); + new KerberosKey(kp, pass, "unsupported"); + throw new Exception("unsupported"); + } catch (IllegalArgumentException iae) { + // Expected + } + } + + private static void checkByName(String n, EncType e) throws Exception { + System.out.println("CheckByName " + n); + KerberosKey k = new KerberosKey(kp, pass, n); + if (!k.getAlgorithm().equals(e.name)) throw new Exception(n); + if (k.getKeyType() != e.etype) throw new Exception(n); + if (k.getVersionNumber() != 0) throw new Exception(n); + } + + private static void checkByEType(int i, String n) throws Exception { + System.out.println("CheckByInt " + i); + KerberosKey k = new KerberosKey(kp, keyBytes, i, 13); + if (!k.getAlgorithm().equals(n)) throw new Exception("" + i); + if (k.getKeyType() != i) throw new Exception("" + i); + if (k.getVersionNumber() != 13) throw new Exception("" + i); + } +} + +enum EncType { + e0("none", EncryptedData.ETYPE_NULL), + e1("des-cbc-crc", EncryptedData.ETYPE_DES_CBC_CRC), + e3("des-cbc-md5", EncryptedData.ETYPE_DES_CBC_MD5, "DES", null), + e16("des3-cbc-sha1-kd", EncryptedData.ETYPE_DES3_CBC_HMAC_SHA1_KD, "DESede"), + e17("aes128-cts-hmac-sha1-96", EncryptedData.ETYPE_AES128_CTS_HMAC_SHA1_96, "AES128"), + e18("aes256-cts-hmac-sha1-96", EncryptedData.ETYPE_AES256_CTS_HMAC_SHA1_96, "AES256"), + e23("rc4-hmac", EncryptedData.ETYPE_ARCFOUR_HMAC, "ArcFourHmac"), + ; + + final String name; + final int etype; + final String[] oldnames; + + EncType(String name, int etype, String... oldnames) { + this.name = name; + this.etype = etype; + this.oldnames = oldnames; + } +} diff --git a/jdk/test/javax/swing/JComboBox/8032878/bug8032878.java b/jdk/test/javax/swing/JComboBox/8032878/bug8032878.java new file mode 100644 index 00000000000..f5c9c88ca63 --- /dev/null +++ b/jdk/test/javax/swing/JComboBox/8032878/bug8032878.java @@ -0,0 +1,136 @@ +/* + * 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 8032878 + * @summary Checks that JComboBox as JTable cell editor processes key events + * even where setSurrendersFocusOnKeystroke flag in JTable is false and + * that it does not lose the first key press where the flag is true. + * @library ../../regtesthelpers + * @build Util + * @author Alexey Ivanov + */ + +import java.awt.*; +import java.awt.event.KeyEvent; +import javax.swing.*; +import javax.swing.text.JTextComponent; + +import sun.awt.SunToolkit; + +public class bug8032878 implements Runnable { + private static final String ONE = "one"; + private static final String TWO = "two"; + private static final String THREE = "three"; + + private static final String EXPECTED = "one123"; + + private final Robot robot; + + private JFrame frame; + private JComboBox cb; + + private volatile boolean surrender; + private volatile String text; + + public static void main(String[] args) throws Exception { + final bug8032878 test = new bug8032878(); + + test.test(false); + test.test(true); + } + + public bug8032878() throws AWTException { + robot = new Robot(); + robot.setAutoDelay(100); + } + + private void setupUI() { + frame = new JFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JTable table = new JTable(new String[][] {{ONE}, {TWO}, {THREE}}, + new String[] { "#"}); + table.setSurrendersFocusOnKeystroke(surrender); + + cb = new JComboBox(new String[]{ONE, TWO, THREE}); + cb.setEditable(true); + DefaultCellEditor comboEditor = new DefaultCellEditor(cb); + comboEditor.setClickCountToStart(1); + table.getColumnModel().getColumn(0).setCellEditor(comboEditor); + frame.add(table); + + frame.pack(); + frame.setVisible(true); + } + + private void test(final boolean flag) throws Exception { + try { + surrender = flag; + SwingUtilities.invokeAndWait(this); + + runTest(); + checkResult(); + } finally { + if (frame != null) { + frame.dispose(); + } + } + } + + private void runTest() throws Exception { + realSync(); + // Select 'one' + Util.hitKeys(robot, KeyEvent.VK_TAB); + realSync(); + Util.hitKeys(robot, KeyEvent.VK_1); + Util.hitKeys(robot, KeyEvent.VK_2); + Util.hitKeys(robot, KeyEvent.VK_3); + Util.hitKeys(robot, KeyEvent.VK_ENTER); + realSync(); + } + + private void checkResult() throws Exception { + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + text = ((JTextComponent) cb.getEditor().getEditorComponent()).getText(); + } + }); + if (text.equals(EXPECTED)) { + System.out.println("Test with surrender = " + surrender + " passed"); + } else { + System.out.println("Test with surrender = " + surrender + " failed"); + throw new RuntimeException("Expected value in JComboBox editor '" + + EXPECTED + "' but found '" + text + "'."); + } + } + + private static void realSync() { + ((SunToolkit) (Toolkit.getDefaultToolkit())).realSync(); + } + + @Override + public void run() { + setupUI(); + } +} diff --git a/jdk/test/javax/swing/JSlider/6794831/bug6794831.java b/jdk/test/javax/swing/JSlider/6794831/bug6794831.java index 09840eefafe..27aa09ffb04 100644 --- a/jdk/test/javax/swing/JSlider/6794831/bug6794831.java +++ b/jdk/test/javax/swing/JSlider/6794831/bug6794831.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 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 @@ -31,18 +31,20 @@ import javax.swing.*; import javax.swing.plaf.basic.BasicSliderUI; import java.awt.image.BufferedImage; +import java.lang.reflect.InvocationTargetException; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; public class bug6794831 { private final CountDownLatch countDownLatch = new CountDownLatch(1); - public static void main(String args[]) throws InterruptedException { + public static void main(String args[]) + throws InterruptedException, InvocationTargetException { new bug6794831().run(); } - private void run() throws InterruptedException { - SwingUtilities.invokeLater(new Runnable() { + private void run() throws InterruptedException, InvocationTargetException { + SwingUtilities.invokeAndWait(new Runnable() { public void run() { for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) { try { diff --git a/jdk/test/javax/swing/text/html/8034955/bug8034955.java b/jdk/test/javax/swing/text/html/8034955/bug8034955.java new file mode 100644 index 00000000000..3e7bba2130e --- /dev/null +++ b/jdk/test/javax/swing/text/html/8034955/bug8034955.java @@ -0,0 +1,49 @@ +/* + * 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.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.SwingUtilities; + +/** + * @test + * @bug 8034955 + * @author Alexander Scherbatiy + * @summary JLabel/JToolTip throw ClassCastException for "a" + * @run main bug8034955 + */ +public class bug8034955 { + + public static void main(String[] args) throws Exception { + SwingUtilities.invokeAndWait(new Runnable() { + + @Override + public void run() { + JFrame frame = new JFrame(); + frame.getContentPane().add(new JLabel("<html>a<title>")); + frame.pack(); + frame.setVisible(true); + } + }); + } +} diff --git a/jdk/test/javax/xml/bind/xjc/8032884/XjcOptionalPropertyTest.java b/jdk/test/javax/xml/bind/xjc/8032884/XjcOptionalPropertyTest.java new file mode 100644 index 00000000000..1fb8e868634 --- /dev/null +++ b/jdk/test/javax/xml/bind/xjc/8032884/XjcOptionalPropertyTest.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 8032884 + * @summary Globalbindings optionalProperty="primitive" does not work when minOccurs=0 + * @run shell compile-schema.sh + * @run main/othervm XjcOptionalPropertyTest + */ + +import java.io.IOException; +import java.lang.reflect.Method; + +public class XjcOptionalPropertyTest { + + public static void main(String[] args) throws IOException { + + generated.Foo foo = new generated.Foo(); + log("foo = " + foo); + Method[] methods = foo.getClass().getMethods(); + log("Found [" + methods.length + "] methods"); + for (int i = 0; i < methods.length; i++) { + Method method = methods[i]; + if (method.getName().equals("setFoo")) { + log("Checking method [" + method.getName() + "]"); + Class[] parameterTypes = method.getParameterTypes(); + if (parameterTypes.length != 1) + fail("more than 1 parameter"); + if (!parameterTypes[0].isPrimitive()) { + fail("Found [" + parameterTypes[0].getName() + "], but expected primitive!"); + } + break; + } + } + log("TEST PASSED."); + + } + + private static void fail(String message) { + throw new RuntimeException(message); + } + + private static void log(String msg) { + System.out.println(msg); + } + +} diff --git a/jdk/test/javax/xml/bind/xjc/8032884/compile-schema.sh b/jdk/test/javax/xml/bind/xjc/8032884/compile-schema.sh new file mode 100644 index 00000000000..8051abf438a --- /dev/null +++ b/jdk/test/javax/xml/bind/xjc/8032884/compile-schema.sh @@ -0,0 +1,39 @@ +#! /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. +# + +# + +if [ "x$TESTJAVA" = x ]; then + TESTJAVA=$1; shift + TESTCLASSES=. +fi + +echo "cleaning generated files ..." +rm -rfv ${TESTSRC}/generated + +echo "compiling [optional-property-schema.xsd] schema ..." +$TESTJAVA/bin/xjc -p generated -d ${TESTSRC} ${TESTSRC}/optional-property-schema.xsd + +echo "Schema compiled. Verification of generated files can be done now." diff --git a/jdk/test/javax/xml/bind/xjc/8032884/optional-property-schema.xsd b/jdk/test/javax/xml/bind/xjc/8032884/optional-property-schema.xsd new file mode 100644 index 00000000000..2e7585de586 --- /dev/null +++ b/jdk/test/javax/xml/bind/xjc/8032884/optional-property-schema.xsd @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns="anamespace" + targetNamespace="anamespace" jaxb:version="2.0"> + <xs:annotation> + <xs:appinfo> + <jaxb:globalBindings optionalProperty="primitive"/> + </xs:appinfo> + </xs:annotation> + <xs:complexType name="foo"> + <xs:sequence> + <xs:element name="foo" type="xs:int" minOccurs="0"/> + </xs:sequence> + </xs:complexType> +</xs:schema> \ No newline at end of file diff --git a/jdk/test/javax/xml/jaxp/XPath/8035577/Regex.java b/jdk/test/javax/xml/jaxp/XPath/8035577/Regex.java new file mode 100644 index 00000000000..69c78846456 --- /dev/null +++ b/jdk/test/javax/xml/jaxp/XPath/8035577/Regex.java @@ -0,0 +1,160 @@ +/* + * 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. + */ + +/* + * @test + * @bug 8035577 + * @summary Tests for xpath regular expression methods. + * @run main Regex + * @author david.x.li@oracle.com + */ + +import com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression; +import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException; + +public class Regex { + + public static void main(String[] args) { + testIntersect(); + } + + static void testIntersect() { + // The use of intersection operator & is not allowed in + // XML schema. Consequently, the intersection operator + // can never be called except for internal API usage. + // Following test illustrates this. + try{ + new RegularExpression("(?[b-d]&[a-r])", "X"); + throw new RuntimeException ("Xerces XPath Regex: " + + "intersection not allowed in XML schema mode, " + + "exception expected above."); + } + catch (ParseException e) { + // Empty, expecting an exception + } + + // Bug 8035577: verifying a typo fix in RangeToken.intersectRanges. + // Note: Each test case has a diagram showing the ranges being tested. + // Following test case will trigger the typo. + // o-----o + // o-----o + RegularExpression ce = new RegularExpression("(?[a-e]&[c-r])"); + if (!(ce.matches("c") && ce.matches("d") && ce.matches("e"))) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[c-e] expected to match c,d,e."); + } + + if (ce.matches("b") || ce.matches("f")) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[c-e] not expected to match b or f."); + } + + // Test the expected behavior after fixing the typo. + // o------o + // o-------------o + RegularExpression bd = new RegularExpression("(?[b-d]&[a-r])"); + if (!(bd.matches("b") && bd.matches("c") && bd.matches("d"))) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[b-d] expected to match b,c,d."); + } + + if (bd.matches("e") || bd.matches("a")) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[b-d] not expected to match a or e."); + } + + // Bug fix for first range ends later than second range. + // o--------o + // o--o + RegularExpression bd2 = new RegularExpression("(?[a-r]&[b-d])"); + if (!(bd.matches("b") && bd.matches("c") && bd.matches("d"))) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[b-d] expected to match b,c,d, test 2."); + } + + if (bd2.matches("e") || bd2.matches("a")) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[b-d] not expected to match a or e, test 2."); + } + + // o-----o + // o----o + RegularExpression dh = new RegularExpression("(?[d-z]&[a-h])"); + if (!(dh.matches("d") && dh.matches("e") && dh.matches("h"))) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[d-h] expected to match d,e,h."); + } + + if (dh.matches("c") || bd2.matches("i")) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[d-h] not expected to match c or i."); + } + + // Test code improvement, addition of src2+=2 to one of the + // conditions. In this case, src1 leftover from matching + // first portion of src2 is re-used to match against the next + // portion of src2. + // o--------------o + // o--o o--o + RegularExpression dfhk = new RegularExpression("(?[b-r]&[d-fh-k])"); + if (!(dfhk.matches("d") && dfhk.matches("f") && dfhk.matches("h") && dfhk.matches("k"))) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[d-fh-k] expected to match d,f,h,k."); + } + + if (dfhk.matches("c") || dfhk.matches("g") || dfhk.matches("l")) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[d-fh-k] not expected to match c,g,l."); + } + + // random tests + // o------------o + // o-----o o--o + RegularExpression cfhk = new RegularExpression("(?[c-r]&[b-fh-k])"); + if (!(cfhk.matches("c") && cfhk.matches("f") && cfhk.matches("h") && cfhk.matches("k"))) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[c-fh-k] expected to match c,f,h,k."); + } + + if (cfhk.matches("b") || cfhk.matches("g") || cfhk.matches("l")) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[c-fh-k] not expected to match b,g,l."); + } + + // o----------o + // o-----------o + // o----o o---o + RegularExpression ekor = new RegularExpression("(?[a-r]&[e-z]&[c-ko-s])"); + if (!(ekor.matches("e") && ekor.matches("k") && ekor.matches("o") && ekor.matches("r"))) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[e-ko-r] expected to match e,k,o,r."); + } + + if (ekor.matches("d") || ekor.matches("l") || ekor.matches("s")) { + throw new RuntimeException("Xerces XPath Regex Error: " + + "[e-ko-r] not expected to match d,l,s."); + } + + } + +} 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/jdk/test/javax/xml/jaxp/common/8035437/Document.java b/jdk/test/javax/xml/jaxp/common/8035437/Document.java new file mode 100644 index 00000000000..3f81896fa20 --- /dev/null +++ b/jdk/test/javax/xml/jaxp/common/8035437/Document.java @@ -0,0 +1,28 @@ +/* + * 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 org.w3c.dom; + +public interface Document { + + public org.w3c.dom.DocumentType getDoctype(); +} diff --git a/jdk/test/javax/xml/jaxp/common/8035437/DocumentImpl.java b/jdk/test/javax/xml/jaxp/common/8035437/DocumentImpl.java new file mode 100644 index 00000000000..b0ce6310d98 --- /dev/null +++ b/jdk/test/javax/xml/jaxp/common/8035437/DocumentImpl.java @@ -0,0 +1,67 @@ +/* + * 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.sun.org.apache.xerces.internal.dom; + +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.DOMImplementation; + +public class DocumentImpl implements Document, Node { + + public short getNodeType() { + return 9; //DOCUMENT_NODE = 9 + } + + 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/jdk/test/javax/xml/jaxp/common/8035437/Node.java b/jdk/test/javax/xml/jaxp/common/8035437/Node.java new file mode 100644 index 00000000000..cb7a9881ade --- /dev/null +++ b/jdk/test/javax/xml/jaxp/common/8035437/Node.java @@ -0,0 +1,38 @@ +/* + * 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 org.w3c.dom; + +public interface Node { + + 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/8033113/Organization_List.wsdl b/jdk/test/javax/xml/ws/8033113/Organization_List.wsdl new file mode 100644 index 00000000000..df87852f240 --- /dev/null +++ b/jdk/test/javax/xml/ws/8033113/Organization_List.wsdl @@ -0,0 +1,99 @@ +<?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. +--> +<wsdl:definitions targetNamespace="urn:Organization_List" xmlns:s0="urn:Organization_List" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <xsd:schema elementFormDefault="qualified" targetNamespace="urn:Organization_List"> + <xsd:element name="OpGetList" type="s0:GetListInputMap"/> + <xsd:complexType name="GetListInputMap"> + <xsd:sequence> + <xsd:element name="Qualification" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="OpGetListResponse" type="s0:GetListOutputMap"/> + <xsd:complexType name="GetListOutputMap"> + <xsd:sequence> + <xsd:element maxOccurs="unbounded" name="getListValues"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Organization_Name" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <xsd:element name="AuthenticationInfo" type="s0:AuthenticationInfo"/> + <xsd:complexType name="AuthenticationInfo"> + <xsd:sequence> + <xsd:element name="userName" type="xsd:string"/> + <xsd:element name="password" type="xsd:string"/> + <xsd:element minOccurs="0" name="authentication" type="xsd:string"/> + <xsd:element minOccurs="0" name="locale" type="xsd:string"/> + <xsd:element minOccurs="0" name="timeZone" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:schema> + </wsdl:types> + + <wsdl:message name="ARAuthenticate"> + <wsdl:part element="s0:AuthenticationInfo" name="param"/> + </wsdl:message> + + <wsdl:message name="OpGetListSoapIn"> + <wsdl:part element="s0:OpGetList" name="param"/> + </wsdl:message> + + <wsdl:message name="OpGetListSoapOut"> + <wsdl:part element="s0:OpGetListResponse" name="param"/> + </wsdl:message> + + <wsdl:portType name="Organization_ListPortType"> + <wsdl:operation name="OpGetList"> + <wsdl:input message="s0:OpGetListSoapIn"/> + <wsdl:output message="s0:OpGetListSoapOut"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="Organization_ListSoapBinding" type="s0:Organization_ListPortType"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="OpGetList"> + <soap:operation soapAction="urn:Organization_List/OpGetList" style="document"/> + <wsdl:input> + <soap:header message="s0:ARAuthenticate" part="param" use="literal"> + </soap:header> + <soap:body use="literal"/> + </wsdl:input> + <wsdl:output> + <soap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="Organization_ListService"> + <wsdl:port binding="s0:Organization_ListSoapBinding" name="Organization_ListSoap"> + <soap:address location="http://bogus:9080/URL"/> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> + diff --git a/jdk/test/javax/xml/ws/8033113/WsImportTest.java b/jdk/test/javax/xml/ws/8033113/WsImportTest.java new file mode 100644 index 00000000000..aa1cf860ab4 --- /dev/null +++ b/jdk/test/javax/xml/ws/8033113/WsImportTest.java @@ -0,0 +1,152 @@ +/* + * 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 8033113 + * @summary wsimport fails on WSDL:header parameter name customization + * @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 customization = getWSDLFilePath("customization.xml"); + String wsdl = getWSDLFilePath("Organization_List.wsdl"); + + try { + log("Importing wsdl: " + wsdl); + String[] wsargs = { + wsimport, + "-keep", + "-verbose", + "-extension", + "-XadditionalHeaders", + "-Xdebug", + "-b", + customization, + 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/8033113/customization.xml b/jdk/test/javax/xml/ws/8033113/customization.xml new file mode 100644 index 00000000000..6f17e2f0a42 --- /dev/null +++ b/jdk/test/javax/xml/ws/8033113/customization.xml @@ -0,0 +1,45 @@ +<!-- + 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. +--> +<jaxws:bindings wsdlLocation="./Organization_List.wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"> + <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> + <jaxws:bindings node="wsdl:definitions/wsdl:binding[@name='Organization_ListSoapBinding']/wsdl:operation[@name='OpGetList']"> + <jaxws:parameter part="wsdl:definitions/wsdl:message[@name='ARAuthenticate']/wsdl:part[@name='param']" name="authParam"/> + <jaxws:parameter part="wsdl:definitions/wsdl:message[@name='OpGetListSoapIn']/wsdl:part[@name='param']" name="inParam"/> + <jaxws:parameter part="wsdl:definitions/wsdl:message[@name='OpGetListSoapOut']/wsdl:part[@name='param']" name="outParam"/> + </jaxws:bindings> +</jaxws:bindings> + +<!--wsdl:message definitions from WSDL whose part names we are trying to override... + + <wsdl:message name="ARAuthenticate"> + <wsdl:part element="s0:AuthenticationInfo" name="param"/> + </wsdl:message> + + <wsdl:message name="OpGetListSoapIn"> + <wsdl:part element="s0:OpGetList" name="param"/> + </wsdl:message> + + <wsdl:message name="OpGetListSoapOut"> + <wsdl:part element="s0:OpGetListResponse" name="param"/> + </wsdl:message> +--> 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/jdk/test/sun/java2d/DrawXORModeTest.java b/jdk/test/sun/java2d/DrawXORModeTest.java new file mode 100644 index 00000000000..973c9a4a55b --- /dev/null +++ b/jdk/test/sun/java2d/DrawXORModeTest.java @@ -0,0 +1,110 @@ +/* + * 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 8036022 + * @summary Test verifies that drawing shapes with XOR composite + * does not trigger an InternalError in GDI surface data. + * @run main/othervm -Dsun.java2d.d3d=True DrawXORModeTest + */ +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Frame; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Stroke; +import java.awt.geom.Line2D; +import java.util.concurrent.CountDownLatch; + +public class DrawXORModeTest extends Component { + + public static void main(String[] args) { + final DrawXORModeTest c = new DrawXORModeTest(); + + final Frame f = new Frame("XOR mode test"); + f.add(c); + f.pack(); + + f.setVisible(true); + + try { + c.checkResult(); + } finally { + f.dispose(); + } + } + + @Override + public void paint(Graphics g) { + if (g == null || !(g instanceof Graphics2D)) { + return; + } + g.setColor(Color.white); + g.setXORMode(Color.black); + Graphics2D dg = (Graphics2D) g; + Stroke stroke = new BasicStroke(1, BasicStroke.CAP_BUTT, + BasicStroke.JOIN_MITER, + 10.0f, + new float[]{1.0f, 1.0f}, + 0.0f); + dg.setStroke(stroke); + try { + dg.draw(new Line2D.Float(10, 10, 20, 20)); + } catch (Throwable e) { + synchronized (this) { + theError = e; + } + } finally { + didDraw.countDown(); + } + } + + @Override + public Dimension getPreferredSize() { + return new Dimension(400, 100); + } + + public void checkResult() { + try { + didDraw.await(); + } catch (InterruptedException e) { + } + + synchronized (this) { + if (theError != null) { + System.out.println("Error: " + theError); + + throw new RuntimeException("Test FAILED."); + } + } + System.out.println("Test PASSED."); + + } + + private Throwable theError = null; + + private final CountDownLatch didDraw = new CountDownLatch(1); +} diff --git a/jdk/test/sun/security/krb5/auto/AddressesAndNameType.java b/jdk/test/sun/security/krb5/auto/AddressesAndNameType.java new file mode 100644 index 00000000000..de0dc89491c --- /dev/null +++ b/jdk/test/sun/security/krb5/auto/AddressesAndNameType.java @@ -0,0 +1,85 @@ +/* + * 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 4501327 4868379 8039132 + * @run main/othervm AddressesAndNameType 1 + * @run main/othervm AddressesAndNameType 2 + * @run main/othervm AddressesAndNameType 3 + * @summary noaddresses settings and server name type + */ + +import java.net.InetAddress; +import java.util.Set; +import sun.security.krb5.Config; + +import javax.security.auth.kerberos.KerberosPrincipal; +import javax.security.auth.kerberos.KerberosTicket; + +public class AddressesAndNameType { + + public static void main(String[] args) + throws Exception { + + OneKDC kdc = new OneKDC(null); + kdc.writeJAASConf(); + + String extraLine; + switch (args[0]) { + case "1": extraLine = "noaddresses = false"; break; + case "2": extraLine = "noaddresses = true"; break; + default: extraLine = ""; break; + } + + KDC.saveConfig(OneKDC.KRB5_CONF, kdc, + extraLine); + Config.refresh(); + + Context c = Context.fromUserPass(OneKDC.USER, OneKDC.PASS, false); + Set<KerberosTicket> tickets = + c.s().getPrivateCredentials(KerberosTicket.class); + + if (tickets.isEmpty()) throw new Exception(); + KerberosTicket ticket = tickets.iterator().next(); + InetAddress[] addresses = ticket.getClientAddresses(); + + switch (args[0]) { + case "1": + if (addresses == null || addresses.length == 0) { + throw new Exception("No addresses"); + } + if (ticket.getServer().getNameType() + != KerberosPrincipal.KRB_NT_SRV_INST) { + throw new Exception( + "Wrong type: " + ticket.getServer().getNameType()); + } + break; + default: + if (addresses != null && addresses.length != 0) { + throw new Exception("See addresses"); + } + break; + } + } +} diff --git a/jdk/test/sun/security/krb5/auto/UdpTcp.java b/jdk/test/sun/security/krb5/auto/UdpTcp.java new file mode 100644 index 00000000000..e66f5d459fb --- /dev/null +++ b/jdk/test/sun/security/krb5/auto/UdpTcp.java @@ -0,0 +1,65 @@ +/* + * 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 4966382 8039132 + * @run main/othervm UdpTcp UDP + * @run main/othervm UdpTcp TCP + * @summary udp or tcp + */ + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import sun.security.krb5.Config; + +public class UdpTcp { + + public static void main(String[] args) + throws Exception { + + System.setProperty("sun.security.krb5.debug", "true"); + + OneKDC kdc = new OneKDC(null); + kdc.writeJAASConf(); + + KDC.saveConfig(OneKDC.KRB5_CONF, kdc, + "udp_preference_limit = " + + (args[0].equals("UDP") ? "1000" : "100")); + Config.refresh(); + + ByteArrayOutputStream bo = new ByteArrayOutputStream(); + PrintStream oldout = System.out; + System.setOut(new PrintStream(bo)); + Context.fromUserPass(OneKDC.USER, OneKDC.PASS, false); + System.setOut(oldout); + + for (String line: new String(bo.toByteArray()).split("\n")) { + if (line.contains(">>> KDCCommunication")) { + if (!line.contains(args[0])) { + throw new Exception("No " + args[0] + " in: " + line); + } + } + } + } +} diff --git a/jdk/test/sun/security/krb5/config/YesNo.java b/jdk/test/sun/security/krb5/config/YesNo.java new file mode 100644 index 00000000000..c25c8279663 --- /dev/null +++ b/jdk/test/sun/security/krb5/config/YesNo.java @@ -0,0 +1,61 @@ +/* + * 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 8029995 + * @summary accept yes/no for boolean krb5.conf settings + * @compile -XDignore.symbol.file YesNo.java + * @run main/othervm YesNo + */ +import sun.security.krb5.Config; +import sun.security.krb5.internal.crypto.EType; + +import java.util.Arrays; + +public class YesNo { + static Config config = null; + public static void main(String[] args) throws Exception { + System.setProperty("java.security.krb5.conf", + System.getProperty("test.src", ".") +"/yesno.conf"); + config = Config.getInstance(); + check("a", Boolean.TRUE); + check("b", Boolean.FALSE); + check("c", Boolean.TRUE); + check("d", Boolean.FALSE); + check("e", null); + check("f", null); + + if (!Arrays.stream(EType.getBuiltInDefaults()) + .anyMatch(n -> n < 4)) { + throw new Exception(); + } + } + + static void check(String k, Boolean expected) throws Exception { + Boolean result = config.getBooleanObject("libdefaults", k); + if (expected != result) { + throw new Exception("value for " + k + " is " + result); + } + } +} diff --git a/jdk/test/sun/security/krb5/config/yesno.conf b/jdk/test/sun/security/krb5/config/yesno.conf new file mode 100644 index 00000000000..681c19daf51 --- /dev/null +++ b/jdk/test/sun/security/krb5/config/yesno.conf @@ -0,0 +1,7 @@ +[libdefaults] +a = true +b = FALSE +c = YES +d = no +e = nothing +allow_weak_crypto = yes diff --git a/jdk/test/sun/security/krb5/etype/UnsupportedKeyType.java b/jdk/test/sun/security/krb5/etype/UnsupportedKeyType.java new file mode 100644 index 00000000000..c54a73d9536 --- /dev/null +++ b/jdk/test/sun/security/krb5/etype/UnsupportedKeyType.java @@ -0,0 +1,77 @@ +/* + * 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 5006629 + * @summary Kerberos library should only select keys of types that it supports + */ + +import javax.security.auth.kerberos.KerberosPrincipal; +import javax.security.auth.kerberos.KeyTab; +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Paths; + +public class UnsupportedKeyType { + + // Homemade keytab files: + // + // String KVNO Timestamp Principal (etype) + // -------- ---- -------------- ----------------------- + // camellia 4 4/3/14 9:58 AM u1@K1 (25:camellia128-cts-cmac) + // aes 5 4/3/14 9:58 AM u1@K1 (17:aes128-cts-hmac-sha1-96) + + static String aes = + "050200000027000100024b310002753100000001533cc04f0500110010e0eab6" + + "7f31608df2b2f8fffc6b21cc91"; + static String camellia = + "050200000027000100024b310002753100000001533cc03e0400190010d88678" + + "14e478b6b7d2d97375163b971e"; + + public static void main(String[] args) throws Exception { + + byte[] data = new byte[aes.length()/2]; + KerberosPrincipal kp = new KerberosPrincipal("u1@K1"); + + // aes128 + for (int i=0; i<data.length; i++) { + data[i] = Integer.valueOf( + aes.substring(2*i,2*i+2), 16).byteValue(); + } + Files.write(Paths.get("aes"), data); + if(KeyTab.getInstance(kp, new File("aes")).getKeys(kp).length == 0) { + throw new Exception("AES key not read"); + } + + // camellia128 + for (int i=0; i<data.length; i++) { + data[i] = Integer.valueOf( + camellia.substring(2*i,2*i+2), 16).byteValue(); + } + Files.write(Paths.get("camellia"), data); + if(KeyTab.getInstance(kp, new File("camellia")).getKeys(kp).length != 0) { + throw new Exception("Unknown key read"); + } + } +} diff --git a/jdk/test/sun/security/pkcs11/fips/CipherTest.java b/jdk/test/sun/security/pkcs11/fips/CipherTest.java index e85a3a6853f..dd627d356b5 100644 --- a/jdk/test/sun/security/pkcs11/fips/CipherTest.java +++ b/jdk/test/sun/security/pkcs11/fips/CipherTest.java @@ -472,8 +472,21 @@ public class CipherTest { return false; } + // No ECDH-capable certificate in key store. May restructure + // this in the future. + if (cipherSuite.contains("ECDHE_ECDSA") || + cipherSuite.contains("ECDH_ECDSA") || + cipherSuite.contains("ECDH_RSA")) { + System.out.println("Skipping unsupported test for " + + cipherSuite + " of " + protocol); + return false; + } + // skip SSLv2Hello protocol - if (protocol.equals("SSLv2Hello")) { + // + // skip TLSv1.2 protocol, we have not implement "SunTls12Prf" and + // SunTls12RsaPremasterSecret in SunPKCS11 provider + if (protocol.equals("SSLv2Hello") || protocol.equals("TLSv1.2")) { System.out.println("Skipping unsupported test for " + cipherSuite + " of " + protocol); return false; diff --git a/jdk/test/sun/security/pkcs11/fips/ClientJSSEServerJSSE.java b/jdk/test/sun/security/pkcs11/fips/ClientJSSEServerJSSE.java index f7f288da44b..ed5d9aa567e 100644 --- a/jdk/test/sun/security/pkcs11/fips/ClientJSSEServerJSSE.java +++ b/jdk/test/sun/security/pkcs11/fips/ClientJSSEServerJSSE.java @@ -23,7 +23,7 @@ /* * @test - * @bug 6313675 6323647 + * @bug 6313675 6323647 8028192 * @summary Verify that all ciphersuites work in FIPS mode * @library .. * @author Andreas Sterbenz @@ -47,9 +47,13 @@ public class ClientJSSEServerJSSE extends SecmodTest { return; } - if ("sparc".equals(System.getProperty("os.arch")) == false) { - // we have not updated other platforms with the proper NSS libraries yet - System.out.println("Test currently works only on solaris-sparc, skipping"); + String arch = System.getProperty("os.arch"); + if (!("sparc".equals(arch) || "sparcv9".equals(arch))) { + // we have not updated other platforms with the proper NSS + // libraries yet + System.out.println( + "Test currently works only on solaris-sparc " + + "and solaris-sparcv9. Skipping on " + arch); return; } diff --git a/jdk/test/sun/security/pkcs11/tls/TestPremaster.java b/jdk/test/sun/security/pkcs11/tls/TestPremaster.java index f7a51041ead..05e8efb0f28 100644 --- a/jdk/test/sun/security/pkcs11/tls/TestPremaster.java +++ b/jdk/test/sun/security/pkcs11/tls/TestPremaster.java @@ -34,6 +34,7 @@ import java.security.Provider; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; +import java.util.Formatter; import sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec; @@ -59,27 +60,51 @@ public class TestPremaster extends PKCS11Test { System.out.println("OK: " + e); } - test(kg, 3, 0); - test(kg, 3, 1); - test(kg, 3, 2); - test(kg, 4, 0); + int[] protocolVersions = {0x0300, 0x0301, 0x0302, 0x0400}; + for (int clientVersion : protocolVersions) { + for (int serverVersion : protocolVersions) { + test(kg, clientVersion, serverVersion); + if (serverVersion >= clientVersion) { + break; + } + } + } System.out.println("Done."); } - private static void test(KeyGenerator kg, int major, int minor) - throws Exception { + private static void test(KeyGenerator kg, + int clientVersion, int serverVersion) throws Exception { - kg.init(new TlsRsaPremasterSecretParameterSpec(major, minor)); + System.out.printf( + "Testing RSA pre-master secret key generation between " + + "client (0x%04X) and server(0x%04X)%n", + clientVersion, serverVersion); + kg.init(new TlsRsaPremasterSecretParameterSpec( + clientVersion, serverVersion)); SecretKey key = kg.generateKey(); byte[] encoded = key.getEncoded(); - if (encoded.length != 48) { - throw new Exception("length: " + encoded.length); - } - if ((encoded[0] != major) || (encoded[1] != minor)) { - throw new Exception("version mismatch: " + encoded[0] + - "." + encoded[1]); - } - System.out.println("OK: " + major + "." + minor); + if (encoded != null) { // raw key material may be not extractable + if (encoded.length != 48) { + throw new Exception("length: " + encoded.length); + } + int v = versionOf(encoded[0], encoded[1]); + if (clientVersion != v) { + if (serverVersion != v || clientVersion >= 0x0302) { + throw new Exception(String.format( + "version mismatch: (0x%04X) rather than (0x%04X) " + + "is used in pre-master secret", v, clientVersion)); + } + System.out.printf("Use compatible version (0x%04X)%n", v); + } + System.out.println("Passed, version matches!"); + } else { + System.out.println("Raw key material is not extractable"); + } } + + private static int versionOf(int major, int minor) { + return ((major & 0xFF) << 8) | (minor & 0xFF); + } + } diff --git a/jdk/test/sun/tools/jinfo/Basic.sh b/jdk/test/sun/tools/jinfo/Basic.sh index 8d4b01238fd..445ccf333f5 100644 --- a/jdk/test/sun/tools/jinfo/Basic.sh +++ b/jdk/test/sun/tools/jinfo/Basic.sh @@ -40,6 +40,7 @@ startApplication SimpleApplication "${PORTFILE}" # all return statuses are checked in this test set +e +set -x failed=0 @@ -71,16 +72,6 @@ if [ $runSA = true ]; then # no option ${JINFO} -J-XX:+UsePerfData -F $appJavaPid if [ $? != 0 ]; then failed=1; fi - - # -flag option - ${JINFO} -J-XX:+UsePerfData -F -flag +PrintGC $appJavaPid - if [ $? != 0 ]; then failed=1; fi - - ${JINFO} -J-XX:+UsePerfData -F -flag -PrintGC $appJavaPid - if [ $? != 0 ]; then failed=1; fi - - ${JINFO} -J-XX:+UsePerfData -F -flag PrintGC $appJavaPid - if [ $? != 0 ]; then failed=1; fi fi # -sysprops option diff --git a/jdk/test/sun/tools/jstatd/JstatdTest.java b/jdk/test/sun/tools/jstatd/JstatdTest.java index f07ce6b1742..0c003cfcb5e 100644 --- a/jdk/test/sun/tools/jstatd/JstatdTest.java +++ b/jdk/test/sun/tools/jstatd/JstatdTest.java @@ -27,6 +27,7 @@ import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.util.Arrays; +import java.util.regex.Pattern; import static jdk.testlibrary.Asserts.*; import jdk.testlibrary.JDKToolLauncher; @@ -34,6 +35,7 @@ import jdk.testlibrary.OutputAnalyzer; import jdk.testlibrary.ProcessThread; import jdk.testlibrary.TestThread; import jdk.testlibrary.Utils; +import jdk.testlibrary.ProcessTools; /** * The base class for tests of jstatd. @@ -93,8 +95,11 @@ public final class JstatdTest { if (tool == "rmiregistry") { processName = "registryimpl"; } + + Pattern toolInJpsPattern = + Pattern.compile("^\\d+\\s{1}" + processName + "\\s{1}.*-dparent\\.pid\\." + ProcessTools.getProcessId() + ".*"); for (String line : lines) { - if (line.toLowerCase().matches("^\\d+\\s{1}" + processName + "$")) { + if (toolInJpsPattern.matcher(line.toLowerCase()).matches()) { pid = line.split(" ")[0]; count++; } @@ -167,6 +172,8 @@ public final class JstatdTest { private OutputAnalyzer runJps() throws Exception { JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jps"); launcher.addVMArg("-XX:+UsePerfData"); + // Run jps with -v flag to obtain -Dparent.pid.<pid> + launcher.addToolArg("-v"); launcher.addToolArg(getDestination()); String[] cmd = launcher.getCommand(); @@ -286,7 +293,7 @@ public final class JstatdTest { * jstatd -J-XX:+UsePerfData -J-Djava.security.policy=all.policy -n serverName * jstatd -J-XX:+UsePerfData -J-Djava.security.policy=all.policy -p port -n serverName */ - private String[] getJstatdCmd() throws UnknownHostException { + private String[] getJstatdCmd() throws Exception { JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jstatd"); launcher.addVMArg("-XX:+UsePerfData"); String testSrc = System.getProperty("test.src"); @@ -294,6 +301,8 @@ public final class JstatdTest { assertTrue(policy.exists() && policy.isFile(), "Security policy " + policy.getAbsolutePath() + " does not exist or not a file"); launcher.addVMArg("-Djava.security.policy=" + policy.getAbsolutePath()); + // -Dparent.pid.<pid> will help to identify jstad process started by this test + launcher.addVMArg("-Dparent.pid." + ProcessTools.getProcessId()); if (port != null) { launcher.addToolArg("-p"); launcher.addToolArg(port); diff --git a/jdk/test/sun/util/calendar/zi/tzdata/VERSION b/jdk/test/sun/util/calendar/zi/tzdata/VERSION index 8ab96a77e71..1c96650f231 100644 --- a/jdk/test/sun/util/calendar/zi/tzdata/VERSION +++ b/jdk/test/sun/util/calendar/zi/tzdata/VERSION @@ -21,4 +21,4 @@ # or visit www.oracle.com if you need additional information or have any # questions. # -tzdata2014a +tzdata2014b diff --git a/jdk/test/sun/util/calendar/zi/tzdata/africa b/jdk/test/sun/util/calendar/zi/tzdata/africa index 82d14a4a14d..3198e1cc209 100644 --- a/jdk/test/sun/util/calendar/zi/tzdata/africa +++ b/jdk/test/sun/util/calendar/zi/tzdata/africa @@ -891,7 +891,10 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou # Another source (specifying the time for start and end in the decree): # http://www.lemag.ma/Heure-d-ete-au-Maroc-jusqu-au-27-octobre_a75620.html -# From Paul Eggert (2013-10-03): +# From Sebastien Willemijns (2014-03-18): +# http://www.afriquinfos.com/articles/2014/3/18/maroc-heure-dete-avancez-tous-horloges-247891.asp + +# From Paul Eggert (2014-03-19): # To estimate what the Moroccan government will do in future years, # transition dates for 2014 through 2038 were determined by running # the following program under GNU Emacs 24.3: diff --git a/jdk/test/sun/util/calendar/zi/tzdata/antarctica b/jdk/test/sun/util/calendar/zi/tzdata/antarctica index f30cf747f10..e31bada94fb 100644 --- a/jdk/test/sun/util/calendar/zi/tzdata/antarctica +++ b/jdk/test/sun/util/calendar/zi/tzdata/antarctica @@ -253,24 +253,41 @@ Zone Antarctica/Syowa 0 - zzz 1957 Jan 29 # year-round base # Scott Base, Ross Island, since 1957-01. # See Pacific/Auckland. -# -# These rules for New Zealand are stolen from the 'australasia' file. -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule NZAQ 1974 only - Nov 3 2:00s 1:00 D -Rule NZAQ 1975 1988 - Oct lastSun 2:00s 1:00 D -Rule NZAQ 1989 only - Oct 8 2:00s 1:00 D -Rule NZAQ 1990 2006 - Oct Sun>=1 2:00s 1:00 D -Rule NZAQ 1975 only - Feb 23 2:00s 0 S -Rule NZAQ 1976 1989 - Mar Sun>=1 2:00s 0 S -Rule NZAQ 1990 2007 - Mar Sun>=15 2:00s 0 S -Rule NZAQ 2007 max - Sep lastSun 2:00s 1:00 D -Rule NZAQ 2008 max - Apr Sun>=1 2:00s 0 S # Norway - territories # Bouvet (never inhabited) # # claims # Peter I Island (never inhabited) +# +# year-round base +# Troll, Queen Maud Land, -720041+0023206, since 2005-02-12 +# +# From Paul-Inge Flakstad (2014-03-10): +# I recently had a long dialog about this with the developer of timegenie.com. +# In the absence of specific dates, he decided to choose some likely ones: +# GMT +1 - From March 1 to the last Sunday in March +# GMT +2 - From the last Sunday in March until the last Sunday in October +# GMT +1 - From the last Sunday in October until November 7 +# GMT +0 - From November 7 until March 1 +# The dates for switching to and from UTC+0 will probably not be absolutely +# correct, but they should be quite close to the actual dates. +# +# From Paul Eggert (2014-03-21): +# The CET-switching Troll rules require zic from tzcode 2014b or later, so as +# suggested by Bengt-Inge Larsson comment them out for now, and approximate +# with only UTC and CEST. Uncomment them when 2014b is more prevalent. +# +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +#Rule Troll 2005 max - Mar 1 1:00u 1:00 CET +Rule Troll 2005 max - Mar lastSun 1:00u 2:00 CEST +#Rule Troll 2005 max - Oct lastSun 1:00u 1:00 CET +#Rule Troll 2004 max - Nov 7 1:00u 0:00 UTC +# Remove the following line when uncommenting the above '#Rule' lines. +Rule Troll 2004 max - Oct lastSun 1:00u 0:00 UTC +# Zone NAME GMTOFF RULES FORMAT [UNTIL] +Zone Antarctica/Troll 0 - zzz 2005 Feb 12 + 0:00 Troll %s # Poland - year-round base # Arctowski, King George Island, -620945-0582745, since 1977 diff --git a/jdk/test/sun/util/calendar/zi/tzdata/australasia b/jdk/test/sun/util/calendar/zi/tzdata/australasia index a0e8b5a2ce9..94c9adb912c 100644 --- a/jdk/test/sun/util/calendar/zi/tzdata/australasia +++ b/jdk/test/sun/util/calendar/zi/tzdata/australasia @@ -786,14 +786,29 @@ Zone Pacific/Funafuti 11:56:52 - LMT 1901 # Johnston # -# From Paul Eggert (2013-09-03): +# From Paul Eggert (2014-03-11): +# Sometimes Johnston kept Hawaii time, and sometimes it was an hour behind. +# Details are uncertain. We have no data for Johnston after 1970, so +# treat it like Hawaii for now. +# # In his memoirs of June 6th to October 4, 1945 # <http://www.315bw.org/Herb_Bach.htm> (2005), Herbert C. Bach writes, # "We started our letdown to Kwajalein Atoll and landed there at 5:00 AM # Johnston time, 1:30 AM Kwajalein time." This was in June 1945, and # confirms that Johnston kept the same time as Honolulu in summer 1945. -# We have no better information, so for now, assume this has been true -# indefinitely into the past. +# +# From Lyle McElhaney (2014-03-11): +# [W]hen JI was being used for that [atomic bomb] testing, the time being used +# was not Hawaiian time but rather the same time being used on the ships, +# which had a GMT offset of -11 hours. This apparently applied to at least the +# time from Operation Newsreel (Hardtack I/Teak shot, 1958-08-01) to the last +# Operation Fishbowl shot (Tightrope, 1962-11-04).... [See] Herman Hoerlin, +# "The United States High-Altitude Test Experience: A Review Emphasizing the +# Impact on the Environment", Los Alamos LA-6405, Oct 1976 +# <http://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf>. +# See the table on page 4 where he lists GMT and local times for the tests; a +# footnote for the JI tests reads that local time is "JI time = Hawaii Time +# Minus One Hour". # # See 'northamerica' for Pacific/Johnston. diff --git a/jdk/test/sun/util/calendar/zi/tzdata/europe b/jdk/test/sun/util/calendar/zi/tzdata/europe index 585e64d14fa..2b0c5613e60 100644 --- a/jdk/test/sun/util/calendar/zi/tzdata/europe +++ b/jdk/test/sun/util/calendar/zi/tzdata/europe @@ -2986,7 +2986,11 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880 # Assume it happened in March by not changing the clocks. 3:00 Russia MSK/MSD 1997 3:00 - MSK 1997 Mar lastSun 1:00u - 2:00 EU EE%sT +# From Alexander Krivenyshev (2014-03-17): +# time change at 2:00 (2am) on March 30, 2014 +# http://vz.ru/news/2014/3/17/677464.html + 2:00 EU EE%sT 2014 Mar 30 2:00 + 4:00 - MSK # Vatican City # See Europe/Rome. diff --git a/jdk/test/sun/util/calendar/zi/tzdata/leapseconds b/jdk/test/sun/util/calendar/zi/tzdata/leapseconds index faf5319d408..b423135b942 100644 --- a/jdk/test/sun/util/calendar/zi/tzdata/leapseconds +++ b/jdk/test/sun/util/calendar/zi/tzdata/leapseconds @@ -20,7 +20,7 @@ # 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. - +# # Allowance for leapseconds added to each timezone file. # This file is in the public domain. diff --git a/jdk/test/sun/util/calendar/zi/tzdata/zone.tab b/jdk/test/sun/util/calendar/zi/tzdata/zone.tab index b34cdb0dc7d..7cec627fd95 100644 --- a/jdk/test/sun/util/calendar/zi/tzdata/zone.tab +++ b/jdk/test/sun/util/calendar/zi/tzdata/zone.tab @@ -74,6 +74,7 @@ AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I +AQ -720041+0023206 Antarctica/Troll Troll Station, Queen Maud Land AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF) AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, MN, SE, SF) AR -2447-06525 America/Argentina/Salta (SA, LP, NQ, RN) @@ -366,6 +367,7 @@ RU +5443+02030 Europe/Kaliningrad Moscow-01 - Kaliningrad RU +5545+03735 Europe/Moscow Moscow+00 - west Russia RU +4844+04425 Europe/Volgograd Moscow+00 - Caspian Sea RU +5312+05009 Europe/Samara Moscow+00 - Samara, Udmurtia +RU +4457+03406 Europe/Simferopol Moscow+00 - Crimea RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk @@ -421,7 +423,6 @@ TZ -0648+03917 Africa/Dar_es_Salaam UA +5026+03031 Europe/Kiev most locations UA +4837+02218 Europe/Uzhgorod Ruthenia UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk -UA +4457+03406 Europe/Simferopol central Crimea UG +0019+03225 Africa/Kampala UM +1645-16931 Pacific/Johnston Johnston Atoll UM +2813-17722 Pacific/Midway Midway Islands diff --git a/langtools/.hgtags b/langtools/.hgtags index f651ed43a29..0f2ed6e96c3 100644 --- a/langtools/.hgtags +++ b/langtools/.hgtags @@ -249,3 +249,4 @@ f2c58a337c8aaa1ce84dfa8a8e8c5d4c8c1e12fa jdk9-b02 fa2ec6b6b1697ae4a78b03b609664dc6b47dee86 jdk9-b04 1d5e6fc88a4cca287090c16b0530a0d5849a5603 jdk9-b05 31946c0a3f4dc2c78f6f09a0524aaa2a0dad1c78 jdk9-b06 +e25d44c21b29e155734f8d832f2edac3d0debe35 jdk9-b07 diff --git a/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java b/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java index 092f79bf528..b6e89031270 100644 --- a/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java +++ b/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java @@ -74,15 +74,6 @@ public interface ClassDoc extends ProgramElementDoc, Type { */ boolean isExternalizable(); - /** - * Return true if this class can be used as a target type of a lambda expression - * or method reference. - * - * @return true if this class can be used as a target type of a lambda expression - * or method reference. - */ - boolean isFunctionalInterface(); - /** * Return the serialization methods for this class or * interface. diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java index a1ac09529d7..ebcb7b64cf3 100644 --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java @@ -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 @@ -29,6 +29,7 @@ import java.util.*; import com.sun.javadoc.*; import com.sun.tools.javac.jvm.Profile; +import com.sun.tools.javadoc.RootDocImpl; import com.sun.tools.doclets.formats.html.markup.*; import com.sun.tools.doclets.internal.toolkit.*; import com.sun.tools.doclets.internal.toolkit.builders.*; @@ -528,7 +529,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter * {@inheritDoc} */ public void addFunctionalInterfaceInfo (Content classInfoTree) { - if (classDoc.isFunctionalInterface()) { + if (isFunctionalInterface()) { Content dt = HtmlTree.DT(getResource("doclet.Functional_Interface")); Content dl = HtmlTree.DL(dt); Content dd = new HtmlTree(HtmlTag.DD); @@ -538,6 +539,19 @@ public class ClassWriterImpl extends SubWriterHolderWriter } } + public boolean isFunctionalInterface() { + if (configuration.root instanceof RootDocImpl) { + RootDocImpl root = (RootDocImpl) configuration.root; + AnnotationDesc[] annotationDescList = classDoc.annotations(); + for (AnnotationDesc annoDesc : annotationDescList) { + if (root.isFunctionalInterface(annoDesc)) { + return true; + } + } + } + return false; + } + /** * {@inheritDoc} */ diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java index bccbba16322..ff4da111a8e 100644 --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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 @@ -1443,7 +1443,8 @@ public class HtmlDocletWriter extends HtmlDocWriter { } } if (configuration.currentcd != containing) { - refMemName = containing.name() + "." + refMemName; + refMemName = (refMem instanceof ConstructorDoc) ? + refMemName : containing.name() + "." + refMemName; } if (refMem instanceof ExecutableMemberDoc) { if (refMemName.indexOf('(') < 0) { diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java index 23ef78005bf..a6bbc6e0da2 100644 --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 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,6 +26,7 @@ package com.sun.tools.doclets.formats.html; import java.io.*; +import java.util.*; import com.sun.javadoc.*; import com.sun.tools.doclets.formats.html.markup.*; import com.sun.tools.doclets.internal.toolkit.*; @@ -45,6 +46,8 @@ import com.sun.tools.doclets.internal.toolkit.util.DocletAbortException; public class SerializedFormWriterImpl extends SubWriterHolderWriter implements SerializedFormWriter { + List<ClassDoc> visibleClasses; + /** * @param configuration the configuration data for the doclet * @throws IOException @@ -53,6 +56,7 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter public SerializedFormWriterImpl(ConfigurationImpl configuration) throws IOException { super(configuration, DocPaths.SERIALIZED_FORM); + visibleClasses = Arrays.asList(configuration.root.classes()); } /** @@ -120,6 +124,16 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter return ul; } + /** + * Checks if a class is generated and is visible. + * + * @param classDoc the class being processed. + * @return true if the class, that is being processed, is generated and is visible. + */ + public boolean isVisibleClass(ClassDoc classDoc) { + return visibleClasses.contains(classDoc) && configuration.isGeneratedDoc(classDoc); + } + /** * Get the serializable class heading. * @@ -127,7 +141,7 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter * @return a content tree for the class header */ public Content getClassHeader(ClassDoc classDoc) { - Content classLink = (classDoc.isPublic() || classDoc.isProtected()) ? + Content classLink = (isVisibleClass(classDoc)) ? getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.DEFAULT, classDoc) .label(configuration.getClassName(classDoc))) : new StringContent(classDoc.qualifiedName()); diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/BasicJavacTask.java b/langtools/src/share/classes/com/sun/tools/javac/api/BasicJavacTask.java index e44bca373fc..e056df50a1e 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/api/BasicJavacTask.java +++ b/langtools/src/share/classes/com/sun/tools/javac/api/BasicJavacTask.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 @@ -151,11 +151,4 @@ public class BasicJavacTask extends JavacTask { return context; } - /** - * For internal use only. This method will be - * removed without warning. - */ - public void updateContext(Context newContext) { - context = newContext; - } } diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java b/langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java index 3b39e405ec2..9dba0badced 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java +++ b/langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java @@ -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 @@ -316,7 +316,7 @@ public class JavacTaskImpl extends BasicJavacTask { List<JCCompilationUnit> units = compiler.enterTrees(roots.toList()); if (notYetEntered.isEmpty()) - compiler = compiler.processAnnotations(units); + compiler.processAnnotations(units); ListBuffer<TypeElement> elements = new ListBuffer<>(); for (JCCompilationUnit unit : units) { diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java b/langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java index ebcac8c0c19..14b238b2827 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Attribute.java @@ -141,6 +141,7 @@ public abstract class Attribute implements AnnotationValue { * access this attribute. */ public final List<Pair<MethodSymbol,Attribute>> values; + public TypeAnnotationPosition position; private boolean synthesized = false; @@ -154,10 +155,67 @@ public abstract class Attribute implements AnnotationValue { } public Compound(Type type, - List<Pair<MethodSymbol,Attribute>> values) { + List<Pair<MethodSymbol,Attribute>> values, + TypeAnnotationPosition position) { super(type); this.values = values; + this.position = position; } + + public Compound(Type type, + List<Pair<MethodSymbol,Attribute>> values) { + this(type, values, null); + } + + @Override + public TypeAnnotationPosition getPosition() { + if (hasUnknownPosition()) { + if (values.size() != 0) { + Name valueName = values.head.fst.name.table.names.value; + Pair<MethodSymbol, Attribute> res = getElemPair(valueName); + position = res == null ? null : res.snd.getPosition(); + } + } + return position; + } + + public boolean isContainerTypeCompound() { + if (isSynthesized() && values.size() == 1) + return getFirstEmbeddedTC() != null; + return false; + } + + private Compound getFirstEmbeddedTC() { + if (values.size() == 1) { + Pair<MethodSymbol, Attribute> val = values.get(0); + if (val.fst.getSimpleName().contentEquals("value") + && val.snd instanceof Array) { + Array arr = (Array) val.snd; + if (arr.values.length != 0 + && arr.values[0] instanceof Attribute.TypeCompound) + return (Attribute.TypeCompound) arr.values[0]; + } + } + return null; + } + + public boolean tryFixPosition() { + if (!isContainerTypeCompound()) + return false; + + Compound from = getFirstEmbeddedTC(); + if (from != null && from.position != null && + from.position.type != TargetType.UNKNOWN) { + position = from.position; + return true; + } + return false; + } + + public boolean hasUnknownPosition() { + return position.type == TargetType.UNKNOWN; + } + public void accept(Visitor v) { v.visitCompound(this); } /** @@ -215,16 +273,6 @@ public abstract class Attribute implements AnnotationValue { return (DeclaredType) type; } - @Override - public TypeAnnotationPosition getPosition() { - if (values.size() != 0) { - Name valueName = values.head.fst.name.table.names.value; - Pair<MethodSymbol, Attribute> res = getElemPair(valueName); - return res == null ? null : res.snd.getPosition(); - } - return null; - } - public Map<MethodSymbol, Attribute> getElementValues() { Map<MethodSymbol, Attribute> valmap = new LinkedHashMap<>(); for (Pair<MethodSymbol, Attribute> value : values) @@ -234,62 +282,15 @@ public abstract class Attribute implements AnnotationValue { } public static class TypeCompound extends Compound { - public TypeAnnotationPosition position; - public TypeCompound(Compound compound, - TypeAnnotationPosition position) { - this(compound.type, compound.values, position); + TypeAnnotationPosition position) { + super(compound.type, compound.values, position); } + public TypeCompound(Type type, - List<Pair<MethodSymbol, Attribute>> values, - TypeAnnotationPosition position) { - super(type, values); - this.position = position; - } - - @Override - public TypeAnnotationPosition getPosition() { - if (hasUnknownPosition()) { - position = super.getPosition(); - } - return position; - } - - public boolean hasUnknownPosition() { - return position.type == TargetType.UNKNOWN; - } - - public boolean isContainerTypeCompound() { - if (isSynthesized() && values.size() == 1) - return getFirstEmbeddedTC() != null; - return false; - } - - private TypeCompound getFirstEmbeddedTC() { - if (values.size() == 1) { - Pair<MethodSymbol, Attribute> val = values.get(0); - if (val.fst.getSimpleName().contentEquals("value") - && val.snd instanceof Array) { - Array arr = (Array) val.snd; - if (arr.values.length != 0 - && arr.values[0] instanceof Attribute.TypeCompound) - return (Attribute.TypeCompound) arr.values[0]; - } - } - return null; - } - - public boolean tryFixPosition() { - if (!isContainerTypeCompound()) - return false; - - TypeCompound from = getFirstEmbeddedTC(); - if (from != null && from.position != null && - from.position.type != TargetType.UNKNOWN) { - position = from.position; - return true; - } - return false; + List<Pair<MethodSymbol,Attribute>> values, + TypeAnnotationPosition position) { + super(type, values, position); } } diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java b/langtools/src/share/classes/com/sun/tools/javac/code/Source.java index ded0bb42a1f..517f5fc67a2 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Source.java @@ -219,6 +219,9 @@ public enum Source { public boolean allowTypeAnnotations() { return compareTo(JDK1_8) >= 0; } + public boolean allowAnnotationsAfterTypeParams() { + return compareTo(JDK1_8) >= 0; + } public boolean allowRepeatedAnnotations() { return compareTo(JDK1_8) >= 0; } 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 1af2b332cc0..6e0f5ad2369 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 @@ -34,7 +34,6 @@ import javax.lang.model.element.*; import javax.tools.JavaFileObject; import com.sun.tools.javac.code.Type.*; -import com.sun.tools.javac.comp.Annotate; import com.sun.tools.javac.comp.Attr; import com.sun.tools.javac.comp.AttrContext; import com.sun.tools.javac.comp.Env; @@ -153,10 +152,6 @@ public abstract class Symbol extends AnnoConstruct implements Element { } } - public void appendTypeAttributesWithCompletion(final Annotate.AnnotateRepeatedContext<Attribute.TypeCompound> ctx) { - initedMetadata().appendTypeAttributesWithCompletion(ctx); - } - public void appendUniqueTypeAttributes(List<Attribute.TypeCompound> l) { if (l.nonEmpty()) { initedMetadata().appendUniqueTypes(l); @@ -211,10 +206,6 @@ public abstract class Symbol extends AnnoConstruct implements Element { } } - public void setDeclarationAttributesWithCompletion(final Annotate.AnnotateRepeatedContext<Attribute.Compound> ctx) { - initedMetadata().setDeclarationAttributesWithCompletion(ctx); - } - public void setTypeAttributes(List<Attribute.TypeCompound> a) { if (metadata != null || a.nonEmpty()) { if (metadata == null) @@ -905,6 +896,12 @@ public abstract class Symbol extends AnnoConstruct implements Element { public <R, P> R accept(Symbol.Visitor<R, P> v, P p) { return v.visitPackageSymbol(this, p); } + + /**Resets the Symbol into the state good for next round of annotation processing.*/ + public void reset() { + metadata = null; + } + } /** A class for class symbols @@ -1154,6 +1151,26 @@ public abstract class Symbol extends AnnoConstruct implements Element { public <R, P> R accept(Symbol.Visitor<R, P> v, P p) { return v.visitClassSymbol(this, p); } + + /**Resets the Symbol into the state good for next round of annotation processing.*/ + public void reset() { + kind = TYP; + erasure_field = null; + members_field = null; + flags_field = 0; + if (type instanceof ClassType) { + ClassType t = (ClassType)type; + t.setEnclosingType(Type.noType); + t.rank_field = -1; + t.typarams_field = null; + t.allparams_field = null; + t.supertype_field = null; + t.interfaces_field = null; + t.all_interfaces_field = null; + } + metadata = null; + } + } diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/SymbolMetadata.java b/langtools/src/share/classes/com/sun/tools/javac/code/SymbolMetadata.java index f41dae9f5cf..ca7c9ff634b 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/code/SymbolMetadata.java +++ b/langtools/src/share/classes/com/sun/tools/javac/code/SymbolMetadata.java @@ -25,19 +25,9 @@ package com.sun.tools.javac.code; -import java.util.Map; -import javax.tools.JavaFileObject; - -import com.sun.tools.javac.comp.Annotate; -import com.sun.tools.javac.comp.AttrContext; -import com.sun.tools.javac.comp.Env; -import com.sun.tools.javac.util.*; import com.sun.tools.javac.util.Assert; import com.sun.tools.javac.util.List; -import com.sun.tools.javac.util.Log; -import com.sun.tools.javac.util.Pair; -import static com.sun.tools.javac.code.Kinds.PCK; /** * Container for all annotations (attributes in javac) on a Symbol. @@ -157,70 +147,6 @@ public class SymbolMetadata { setClassInitTypeAttributes(other.getClassInitTypeAttributes()); } - public void setDeclarationAttributesWithCompletion(final Annotate.AnnotateRepeatedContext<Attribute.Compound> ctx) { - Assert.check(pendingCompletion() || (!isStarted() && sym.kind == PCK)); - this.setDeclarationAttributes(getAttributesForCompletion(ctx)); - } - - public void appendTypeAttributesWithCompletion(final Annotate.AnnotateRepeatedContext<Attribute.TypeCompound> ctx) { - this.appendUniqueTypes(getAttributesForCompletion(ctx)); - } - - private <T extends Attribute.Compound> List<T> getAttributesForCompletion( - final Annotate.AnnotateRepeatedContext<T> ctx) { - - Map<Symbol.TypeSymbol, ListBuffer<T>> annotated = ctx.annotated; - boolean atLeastOneRepeated = false; - List<T> buf = List.<T>nil(); - for (ListBuffer<T> lb : annotated.values()) { - if (lb.size() == 1) { - buf = buf.prepend(lb.first()); - } else { // repeated - // This will break when other subtypes of Attributs.Compound - // are introduced, because PlaceHolder is a subtype of TypeCompound. - T res; - @SuppressWarnings("unchecked") - T ph = (T) new Placeholder<>(ctx, lb.toList(), sym); - res = ph; - buf = buf.prepend(res); - atLeastOneRepeated = true; - } - } - - if (atLeastOneRepeated) { - // The Symbol s is now annotated with a combination of - // finished non-repeating annotations and placeholders for - // repeating annotations. - // - // We need to do this in two passes because when creating - // a container for a repeating annotation we must - // guarantee that the @Repeatable on the - // contained annotation is fully annotated - // - // The way we force this order is to do all repeating - // annotations in a pass after all non-repeating are - // finished. This will work because @Repeatable - // is non-repeating and therefore will be annotated in the - // fist pass. - - // Queue a pass that will replace Attribute.Placeholders - // with Attribute.Compound (made from synthesized containers). - ctx.annotateRepeated(new Annotate.Worker() { - @Override - public String toString() { - return "repeated annotation pass of: " + sym + " in: " + sym.owner; - } - - @Override - public void run() { - complete(ctx); - } - }); - } - // Add non-repeating attributes - return buf.reverse(); - } - public SymbolMetadata reset() { attributes = DECL_IN_PROGRESS; return this; @@ -313,143 +239,4 @@ public class SymbolMetadata { private boolean isStarted() { return attributes != DECL_NOT_STARTED; } - - private List<Attribute.Compound> getPlaceholders() { - List<Attribute.Compound> res = List.<Attribute.Compound>nil(); - for (Attribute.Compound a : filterDeclSentinels(attributes)) { - if (a instanceof Placeholder) { - res = res.prepend(a); - } - } - return res.reverse(); - } - - private List<Attribute.TypeCompound> getTypePlaceholders() { - List<Attribute.TypeCompound> res = List.<Attribute.TypeCompound>nil(); - for (Attribute.TypeCompound a : type_attributes) { - if (a instanceof Placeholder) { - res = res.prepend(a); - } - } - return res.reverse(); - } - - /* - * Replace Placeholders for repeating annotations with their containers - */ - private <T extends Attribute.Compound> void complete(Annotate.AnnotateRepeatedContext<T> ctx) { - Log log = ctx.log; - Env<AttrContext> env = ctx.env; - JavaFileObject oldSource = log.useSource(env.toplevel.sourcefile); - try { - // TODO: can we reduce duplication in the following branches? - if (ctx.isTypeCompound) { - Assert.check(!isTypesEmpty()); - - if (isTypesEmpty()) { - return; - } - - List<Attribute.TypeCompound> result = List.nil(); - for (Attribute.TypeCompound a : getTypeAttributes()) { - if (a instanceof Placeholder) { - @SuppressWarnings("unchecked") - Placeholder<Attribute.TypeCompound> ph = (Placeholder<Attribute.TypeCompound>) a; - Attribute.TypeCompound replacement = replaceOne(ph, ph.getRepeatedContext()); - - if (null != replacement) { - result = result.prepend(replacement); - } - } else { - result = result.prepend(a); - } - } - - type_attributes = result.reverse(); - - Assert.check(SymbolMetadata.this.getTypePlaceholders().isEmpty()); - } else { - Assert.check(!pendingCompletion()); - - if (isEmpty()) { - return; - } - - List<Attribute.Compound> result = List.nil(); - for (Attribute.Compound a : getDeclarationAttributes()) { - if (a instanceof Placeholder) { - @SuppressWarnings("unchecked") - Attribute.Compound replacement = replaceOne((Placeholder<T>) a, ctx); - - if (null != replacement) { - result = result.prepend(replacement); - } - } else { - result = result.prepend(a); - } - } - - attributes = result.reverse(); - - Assert.check(SymbolMetadata.this.getPlaceholders().isEmpty()); - } - } finally { - log.useSource(oldSource); - } - } - - private <T extends Attribute.Compound> T replaceOne(Placeholder<T> placeholder, Annotate.AnnotateRepeatedContext<T> ctx) { - Log log = ctx.log; - - // Process repeated annotations - T validRepeated = ctx.processRepeatedAnnotations(placeholder.getPlaceholderFor(), sym); - - if (validRepeated != null) { - // Check that the container isn't manually - // present along with repeated instances of - // its contained annotation. - ListBuffer<T> manualContainer = ctx.annotated.get(validRepeated.type.tsym); - if (manualContainer != null) { - log.error(ctx.pos.get(manualContainer.first()), "invalid.repeatable.annotation.repeated.and.container.present", - manualContainer.first().type.tsym); - } - } - - // A null return will delete the Placeholder - return validRepeated; - } - - private static class Placeholder<T extends Attribute.Compound> extends Attribute.TypeCompound { - - private final Annotate.AnnotateRepeatedContext<T> ctx; - private final List<T> placeholderFor; - private final Symbol on; - - public Placeholder(Annotate.AnnotateRepeatedContext<T> ctx, - List<T> placeholderFor, Symbol on) { - super(on.type, List.<Pair<Symbol.MethodSymbol, Attribute>>nil(), - ctx.isTypeCompound ? - ((Attribute.TypeCompound)placeholderFor.head).position : - // TODO: Eventually, we will need to get rid of this - // use of unknown, either by using null, or by - // throwing an assertion failure here. - TypeAnnotationPosition.unknown); - this.ctx = ctx; - this.placeholderFor = placeholderFor; - this.on = on; - } - - @Override - public String toString() { - return "<placeholder: " + placeholderFor + " on: " + on + ">"; - } - - public List<T> getPlaceholderFor() { - return placeholderFor; - } - - public Annotate.AnnotateRepeatedContext<T> getRepeatedContext() { - return ctx; - } - } } 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 4e011f04368..1ac90cd88c0 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 @@ -4684,4 +4684,12 @@ public class Types { } } // </editor-fold> + + public void newRound() { + descCache._map.clear(); + isDerivedRawCache.clear(); + implCache._map.clear(); + membersCache._map.clear(); + closureCache.clear(); + } } 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 1a9e0626b1c..04e475e7b3c 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 @@ -189,53 +189,72 @@ public class Annotate { * This context contains all the information needed to synthesize new * annotations trees by the completer for repeating annotations. */ - public class AnnotateRepeatedContext<T extends Attribute.Compound> { + private class AnnotationContext<T extends Attribute.Compound> { public final Env<AttrContext> env; public final Map<Symbol.TypeSymbol, ListBuffer<T>> annotated; public final Map<T, JCDiagnostic.DiagnosticPosition> pos; - public final Log log; public final boolean isTypeCompound; - public AnnotateRepeatedContext(Env<AttrContext> env, - Map<Symbol.TypeSymbol, ListBuffer<T>> annotated, - Map<T, JCDiagnostic.DiagnosticPosition> pos, - Log log, - boolean isTypeCompound) { + public AnnotationContext(Env<AttrContext> env, + Map<Symbol.TypeSymbol, ListBuffer<T>> annotated, + Map<T, JCDiagnostic.DiagnosticPosition> pos, + boolean isTypeCompound) { Assert.checkNonNull(env); Assert.checkNonNull(annotated); Assert.checkNonNull(pos); - Assert.checkNonNull(log); this.env = env; this.annotated = annotated; this.pos = pos; - this.log = log; this.isTypeCompound = isTypeCompound; } - /** - * Process a list of repeating annotations returning a new - * Attribute.Compound that is the attribute for the synthesized tree - * for the container. - * - * @param repeatingAnnotations a List of repeating annotations - * @return a new Attribute.Compound that is the container for the repeatingAnnotations - */ - public T processRepeatedAnnotations(List<T> repeatingAnnotations, Symbol sym) { - return Annotate.this.processRepeatedAnnotations(repeatingAnnotations, this, sym); - } - - /** - * Queue the Worker a on the repeating annotations queue of the - * Annotate instance this context belongs to. - * - * @param a the Worker to enqueue for repeating annotation annotating - */ - public void annotateRepeated(Worker a) { - Annotate.this.repeated(a); + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("RepeatedContext["); + for (Map.Entry<Symbol.TypeSymbol, ListBuffer<T>> entry : + annotated.entrySet()) { + sb.append(" "); + sb.append(entry.getKey()); + sb.append(" = { "); + sb.append(entry.getValue()); + sb.append(" }"); + } + sb.append(" ]"); + return sb.toString(); } } + private static class Placeholder<T extends Attribute.Compound> extends Attribute.Compound { + + private final Annotate.AnnotationContext<T> ctx; + private final List<T> placeholderFor; + private final Symbol on; + + public Placeholder(Annotate.AnnotationContext<T> ctx, + List<T> placeholderFor, Symbol on) { + super(on.type, List.<Pair<Symbol.MethodSymbol, Attribute>>nil(), + placeholderFor.head.position); + this.ctx = ctx; + this.placeholderFor = placeholderFor; + this.on = on; + } + + @Override + public String toString() { + return "<placeholder: " + placeholderFor + " on: " + on + ">"; + } + + public List<T> getPlaceholderFor() { + return placeholderFor; + } + + public Annotate.AnnotationContext<T> getRepeatedContext() { + return ctx; + } + } + + /* ******************************************************************** * Compute an attribute from its annotation. *********************************************************************/ @@ -247,24 +266,44 @@ public class Annotate { Attribute.Compound enterAnnotation(JCAnnotation a, Type expected, Env<AttrContext> env) { - return enterAnnotation(a, expected, env, false); + List<Pair<MethodSymbol,Attribute>> elems = + enterAttributeValues(a, expected, env); + Attribute.Compound ac = new Attribute.Compound(a.type, elems); + a.attribute = ac; + + return ac; } Attribute.TypeCompound enterTypeAnnotation(JCAnnotation a, - Type expected, - Env<AttrContext> env) { - return (Attribute.TypeCompound) enterAnnotation(a, expected, env, true); + Type expected, + Env<AttrContext> env) { + List<Pair<MethodSymbol,Attribute>> elems = + enterAttributeValues(a, expected, env); + + if (a.attribute == null || !(a.attribute instanceof Attribute.TypeCompound)) { + // Create a new TypeCompound + + Attribute.TypeCompound tc = + new Attribute.TypeCompound(a.type, elems, + // TODO: Eventually, we will get rid of this use of + // unknown, because we'll get a position from + // MemberEnter (task 8027262). + TypeAnnotationPosition.unknown); + a.attribute = tc; + return tc; + } else { + // Use an existing TypeCompound + return (Attribute.TypeCompound)a.attribute; + } } - // boolean typeAnnotation determines whether the method returns - // a Compound (false) or TypeCompound (true). - Attribute.Compound enterAnnotation(JCAnnotation a, - Type expected, - Env<AttrContext> env, - boolean typeAnnotation) { - // The annotation might have had its type attributed (but not checked) - // by attr.attribAnnotationTypes during MemberEnter, in which case we do not - // need to do it again. + private List<Pair<MethodSymbol,Attribute>> + enterAttributeValues(JCAnnotation a, + Type expected, + Env<AttrContext> env) { + // The annotation might have had its type attributed (but not + // checked) by attr.attribAnnotationTypes during MemberEnter, + // in which case we do not need to do it again. Type at = (a.annotationType.type != null ? a.annotationType.type : attr.attribType(a.annotationType, env)); a.type = chk.checkType(a.annotationType.pos(), at, expected); @@ -312,27 +351,7 @@ public class Annotate { buf.append(new Pair<>((MethodSymbol)method, value)); t.type = result; } - if (typeAnnotation) { - if (a.attribute == null || !(a.attribute instanceof Attribute.TypeCompound)) { - // Create a new TypeCompound - - Attribute.TypeCompound tc = - new Attribute.TypeCompound(a.type, buf.toList(), - // TODO: Eventually, we will get rid of this use of - // unknown, because we'll get a position from - // MemberEnter (task 8027262). - TypeAnnotationPosition.unknown); - a.attribute = tc; - return tc; - } else { - // Use an existing TypeCompound - return a.attribute; - } - } else { - Attribute.Compound ac = new Attribute.Compound(a.type, buf.toList()); - a.attribute = ac; - return ac; - } + return buf.toList(); } Attribute enterAttributeValue(Type expected, @@ -459,7 +478,7 @@ public class Annotate { * annotation are invalid. This method reports errors/warnings. */ private <T extends Attribute.Compound> T processRepeatedAnnotations(List<T> annotations, - AnnotateRepeatedContext<T> ctx, + AnnotationContext<T> ctx, Symbol on) { T firstOccurrence = annotations.head; List<Attribute> repeated = List.nil(); @@ -686,6 +705,172 @@ public class Annotate { return fatalError ? null : containerValueSymbol; } + private <T extends Attribute.Compound> AnnotationContext<T> + prepareEnterAnnotations(List<JCAnnotation> annotations, + Env<AttrContext> env, + Symbol sym, + AttributeCreator<T> creator, + boolean isTypeCompound) { + Map<TypeSymbol, ListBuffer<T>> annotated = new LinkedHashMap<>(); + Map<T, DiagnosticPosition> pos = new HashMap<>(); + + for (List<JCAnnotation> al = annotations; !al.isEmpty(); al = al.tail) { + JCAnnotation a = al.head; + T c = creator.create(a, syms.annotationType, env); + + Assert.checkNonNull(c, "Failed to create annotation"); + + if (annotated.containsKey(a.type.tsym)) { + if (!allowRepeatedAnnos) { + log.error(a.pos(), "repeatable.annotations.not.supported.in.source"); + allowRepeatedAnnos = true; + } + ListBuffer<T> l = annotated.get(a.type.tsym); + l = l.append(c); + annotated.put(a.type.tsym, l); + pos.put(c, a.pos()); + } else { + annotated.put(a.type.tsym, ListBuffer.of(c)); + pos.put(c, a.pos()); + } + + // Note: @Deprecated has no effect on local variables and parameters + if (!c.type.isErroneous() + && sym.owner.kind != MTH + && types.isSameType(c.type, syms.deprecatedType)) { + sym.flags_field |= Flags.DEPRECATED; + } + } + + return new AnnotationContext<>(env, annotated, pos, + isTypeCompound); + } + + // Gather up annotations into a map from type symbols to lists of + // Compound attributes, then continue on with repeating + // annotations processing + private <T extends Attribute.Compound> + void attachAttributesLater(final List<JCAnnotation> annotations, + final Env<AttrContext> env, + final Symbol sym, + final boolean isTypeCompound, + final AttributeCreator<T> creator, + final AttributeAttacher<T> attacher) { + final AnnotationContext<T> ctx = + prepareEnterAnnotations(annotations, env, sym, creator, isTypeCompound); + final Map<Symbol.TypeSymbol, ListBuffer<T>> annotated = + ctx.annotated; + boolean hasRepeated = false; + + List<T> buf = List.<T>nil(); + for (ListBuffer<T> lb : annotated.values()) { + if (lb.size() == 1) { + buf = buf.prepend(lb.first()); + } else { + @SuppressWarnings("unchecked") + T res = (T) new Placeholder<>(ctx, lb.toList(), sym); + buf = buf.prepend(res); + hasRepeated = true; + } + } + + final List<T> attrs = buf.reverse(); + + if (!isTypeCompound) { + // Attach declaration attributes early, so + // that @Repeatable and other annotations get attached. + // Since the attacher uses setDeclarationAttributes, this + // will be overwritten later. + attacher.attach(sym, attrs); + } + if (hasRepeated) { + repeated(new Annotate.Worker() { + @Override + public String toString() { + return "repeated annotation pass of: " + sym + " in: " + sym.owner; + } + + @Override + public void run() { + JavaFileObject oldSource = + log.useSource(env.toplevel.sourcefile); + try { + attacher.attach(sym, replacePlaceholders(attrs, ctx, sym)); + } finally { + log.useSource(oldSource); + } + } + }); + } else { + attacher.attach(sym, attrs); + } + } + + private interface AttributeAttacher<T extends Attribute.Compound> { + public void attach(Symbol sym, List<T> attrs); + } + + private final AttributeAttacher<Attribute.Compound> declAnnotationsAttacher = + new AttributeAttacher<Attribute.Compound>() { + @Override + public void attach(Symbol sym, List<Attribute.Compound> attrs) { + sym.resetAnnotations(); + sym.setDeclarationAttributes(attrs); + } + }; + + private final AttributeAttacher<Attribute.TypeCompound> typeAnnotationsAttacher = + new AttributeAttacher<Attribute.TypeCompound>() { + @Override + public void attach(Symbol sym, List<Attribute.TypeCompound> attrs) { + sym.appendUniqueTypeAttributes(attrs); + } + }; + + private <T extends Attribute.Compound> List<T> + replacePlaceholders(List<T> buf, + Annotate.AnnotationContext<T> ctx, + Symbol sym) { + List<T> result = List.nil(); + for (T a : buf) { + if (a instanceof Placeholder) { + @SuppressWarnings("unchecked") + T replacement = replaceOne((Placeholder<T>) a, ctx, sym); + + if (null != replacement) { + result = result.prepend(replacement); + } + } else { + result = result.prepend(a); + } + } + + return result.reverse(); + } + + private <T extends Attribute.Compound> T replaceOne(Placeholder<T> placeholder, + Annotate.AnnotationContext<T> ctx, + Symbol sym) { + // Process repeated annotations + T validRepeated = + processRepeatedAnnotations(placeholder.getPlaceholderFor(), + ctx, sym); + + if (validRepeated != null) { + // Check that the container isn't manually + // present along with repeated instances of + // its contained annotation. + ListBuffer<T> manualContainer = ctx.annotated.get(validRepeated.type.tsym); + if (manualContainer != null) { + log.error(ctx.pos.get(manualContainer.first()), "invalid.repeatable.annotation.repeated.and.container.present", + manualContainer.first().type.tsym); + } + } + + // A null return will delete the Placeholder + return validRepeated; + } + /* ******************************************************************** * Annotation processing *********************************************************************/ @@ -745,44 +930,39 @@ public class Annotate { }); } + private interface AttributeCreator<T extends Attribute.Compound> { + public T create(JCAnnotation a, Type expected, Env<AttrContext> env); + } + + // TODO: When SE8 features can be used, these can go away and be + // replaced by method refs. + private final AttributeCreator<Attribute.Compound> enterAnnotationsCreator = + new AttributeCreator<Attribute.Compound>() { + @Override + public Attribute.Compound create(JCAnnotation a, + Type expected, + Env<AttrContext> env) { + return enterAnnotation(a, syms.annotationType, env); + } + }; + private final AttributeCreator<Attribute.TypeCompound> enterTypeAnnotationsCreator = + new AttributeCreator<Attribute.TypeCompound>() { + @Override + public Attribute.TypeCompound create(JCAnnotation a, + Type expected, + Env<AttrContext> env) { + return enterTypeAnnotation(a, syms.annotationType, env); + } + }; + /** Enter a set of annotations. */ private void actualEnterAnnotations(List<JCAnnotation> annotations, Env<AttrContext> env, Symbol s) { - Map<TypeSymbol, ListBuffer<Attribute.Compound>> annotated = new LinkedHashMap<>(); - Map<Attribute.Compound, DiagnosticPosition> pos = new HashMap<>(); - - for (List<JCAnnotation> al = annotations; !al.isEmpty(); al = al.tail) { - JCAnnotation a = al.head; - Attribute.Compound c = enterAnnotation(a, syms.annotationType, env); - if (c == null) { - continue; - } - - if (annotated.containsKey(a.type.tsym)) { - if (!allowRepeatedAnnos) { - log.error(a.pos(), "repeatable.annotations.not.supported.in.source"); - allowRepeatedAnnos = true; - } - ListBuffer<Attribute.Compound> l = annotated.get(a.type.tsym); - l = l.append(c); - annotated.put(a.type.tsym, l); - pos.put(c, a.pos()); - } else { - annotated.put(a.type.tsym, ListBuffer.of(c)); - pos.put(c, a.pos()); - } - - // Note: @Deprecated has no effect on local variables and parameters - if (!c.type.isErroneous() - && s.owner.kind != MTH - && types.isSameType(c.type, syms.deprecatedType)) { - s.flags_field |= Flags.DEPRECATED; - } - } - - s.setDeclarationAttributesWithCompletion( - new AnnotateRepeatedContext<>(env, annotated, pos, log, false)); + Assert.checkNonNull(s, "Symbol argument to actualEnterAnnotations is null"); + attachAttributesLater(annotations, env, s, false, + enterAnnotationsCreator, + declAnnotationsAttacher); } /* @@ -792,9 +972,7 @@ public class Annotate { final Env<AttrContext> env, final Symbol s, final DiagnosticPosition deferPos) { - Map<TypeSymbol, ListBuffer<Attribute.TypeCompound>> annotated = new LinkedHashMap<>(); - Map<Attribute.TypeCompound, DiagnosticPosition> pos = new HashMap<>(); - + Assert.checkNonNull(s, "Symbol argument to actualEnterTypeAnnotations is nul/"); JavaFileObject prev = log.useSource(env.toplevel.sourcefile); DiagnosticPosition prevLintPos = null; @@ -802,32 +980,9 @@ public class Annotate { prevLintPos = deferredLintHandler.setPos(deferPos); } try { - - for (List<JCAnnotation> al = annotations; !al.isEmpty(); al = al.tail) { - JCAnnotation a = al.head; - Attribute.TypeCompound tc = - enterTypeAnnotation(a, syms.annotationType, env); - - Assert.checkNonNull(tc, "Failed to create type annotation"); - - if (annotated.containsKey(a.type.tsym)) { - if (!allowRepeatedAnnos) { - log.error(a.pos(), "repeatable.annotations.not.supported.in.source"); - allowRepeatedAnnos = true; - } - ListBuffer<Attribute.TypeCompound> l = annotated.get(a.type.tsym); - l = l.append(tc); - annotated.put(a.type.tsym, l); - pos.put(tc, a.pos()); - } else { - annotated.put(a.type.tsym, ListBuffer.of(tc)); - pos.put(tc, a.pos()); - } - } - - Assert.checkNonNull(s, "Symbol argument to actualEnterTypeAnnotations is null"); - s.appendTypeAttributesWithCompletion( - new AnnotateRepeatedContext<>(env, annotated, pos, log, true)); + attachAttributesLater(annotations, env, s, true, + enterTypeAnnotationsCreator, + typeAnnotationsAttacher); } finally { if (prevLintPos != null) deferredLintHandler.setPos(prevLintPos); diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java index 1ab10af50e0..1db0f325214 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java @@ -804,6 +804,10 @@ public class Attr extends JCTree.Visitor { boolean classExpected, boolean interfaceExpected, boolean checkExtensible) { + if (t.tsym.isAnonymous()) { + log.error(tree.pos(), "cant.inherit.from.anon"); + return types.createErrorType(t); + } if (t.isErroneous()) return t; if (t.hasTag(TYPEVAR) && !classExpected && !interfaceExpected) { @@ -2112,10 +2116,8 @@ public class Attr extends JCTree.Visitor { // // This expression is then *transformed* as follows: // - // (1) add a STATIC flag to the class definition - // if the current environment is static - // (2) add an extends or implements clause - // (3) add a constructor. + // (1) add an extends or implements clause + // (2) add a constructor. // // For instance, if C is a class, and ET is the type of E, // the expression @@ -2132,7 +2134,6 @@ public class Attr extends JCTree.Visitor { // } // ... // } - if (Resolve.isStatic(env)) cdef.mods.flags |= STATIC; if (clazztype.tsym.isInterface()) { cdef.implementing = List.of(clazz); diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java index 1bec67e8a0c..6c2d1de3ded 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java @@ -425,6 +425,10 @@ public class Check { } } + public void newRound() { + compiled.clear(); + } + /* ************************************************************************* * Type Checking **************************************************************************/ @@ -1072,9 +1076,6 @@ public class Check { if (sym.isLocal()) { mask = LocalClassFlags; if (sym.name.isEmpty()) { // Anonymous class - // Anonymous classes in static methods are themselves static; - // that's why we admit STATIC here. - mask |= STATIC; // JLS: Anonymous classes are final. implicit |= FINAL; } @@ -1625,7 +1626,7 @@ public class Check { protection(m.flags()) > protection(other.flags())) { log.error(TreeInfo.diagnosticPositionFor(m, tree), "override.weaker.access", cannotOverride(m, other), - other.flags() == 0 ? + (other.flags() & AccessFlags) == 0 ? "package" : asFlagSet(other.flags() & AccessFlags)); m.flags_field |= BAD_OVERRIDE; diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java index cb2d88e6f1f..c9985f7c997 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java @@ -154,6 +154,10 @@ public class Enter extends JCTree.Visitor { return typeEnvs.get(sym); } + public Iterable<Env<AttrContext>> getEnvs() { + return typeEnvs.values(); + } + public Env<AttrContext> getClassEnv(TypeSymbol sym) { Env<AttrContext> localEnv = getEnv(sym); Env<AttrContext> lintEnv = localEnv; @@ -514,4 +518,8 @@ public class Enter extends JCTree.Visitor { annotate.enterDone(); } } + + public void newRound() { + typeEnvs.clear(); + } } diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java index d7046596483..31f5095e93b 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java @@ -2919,15 +2919,65 @@ public class Lower extends TreeTranslator { // constant propagation would require that we take care to // preserve possible side-effects in the condition expression. + // One common case is equality expressions involving a constant and null. + // Since null is not a constant expression (because null cannot be + // represented in the constant pool), equality checks involving null are + // not captured by Flow.isTrue/isFalse. + // Equality checks involving a constant and null, e.g. + // "" == null + // are safe to simplify as no side-effects can occur. + + private boolean isTrue(JCTree exp) { + if (exp.type.isTrue()) + return true; + Boolean b = expValue(exp); + return b == null ? false : b; + } + private boolean isFalse(JCTree exp) { + if (exp.type.isFalse()) + return true; + Boolean b = expValue(exp); + return b == null ? false : !b; + } + /* look for (in)equality relations involving null. + * return true - if expression is always true + * false - if expression is always false + * null - if expression cannot be eliminated + */ + private Boolean expValue(JCTree exp) { + while (exp.hasTag(PARENS)) + exp = ((JCParens)exp).expr; + + boolean eq; + switch (exp.getTag()) { + case EQ: eq = true; break; + case NE: eq = false; break; + default: + return null; + } + + // we have a JCBinary(EQ|NE) + // check if we have two literals (constants or null) + JCBinary b = (JCBinary)exp; + if (b.lhs.type.hasTag(BOT)) return expValueIsNull(eq, b.rhs); + if (b.rhs.type.hasTag(BOT)) return expValueIsNull(eq, b.lhs); + return null; + } + private Boolean expValueIsNull(boolean eq, JCTree t) { + if (t.type.hasTag(BOT)) return Boolean.valueOf(eq); + if (t.hasTag(LITERAL)) return Boolean.valueOf(!eq); + return null; + } + /** Visitor method for conditional expressions. */ @Override public void visitConditional(JCConditional tree) { JCTree cond = tree.cond = translate(tree.cond, syms.booleanType); - if (cond.type.isTrue()) { + if (isTrue(cond)) { result = convert(translate(tree.truepart, tree.type), tree.type); addPrunedInfo(cond); - } else if (cond.type.isFalse()) { + } else if (isFalse(cond)) { result = convert(translate(tree.falsepart, tree.type), tree.type); addPrunedInfo(cond); } else { @@ -2951,10 +3001,10 @@ public class Lower extends TreeTranslator { */ public void visitIf(JCIf tree) { JCTree cond = tree.cond = translate(tree.cond, syms.booleanType); - if (cond.type.isTrue()) { + if (isTrue(cond)) { result = translate(tree.thenpart); addPrunedInfo(cond); - } else if (cond.type.isFalse()) { + } else if (isFalse(cond)) { if (tree.elsepart != null) { result = translate(tree.elsepart); } else { @@ -3333,21 +3383,21 @@ public class Lower extends TreeTranslator { JCTree lhs = tree.lhs = translate(tree.lhs, formals.head); switch (tree.getTag()) { case OR: - if (lhs.type.isTrue()) { + if (isTrue(lhs)) { result = lhs; return; } - if (lhs.type.isFalse()) { + if (isFalse(lhs)) { result = translate(tree.rhs, formals.tail.head); return; } break; case AND: - if (lhs.type.isFalse()) { + if (isFalse(lhs)) { result = lhs; return; } - if (lhs.type.isTrue()) { + if (isTrue(lhs)) { result = translate(tree.rhs, formals.tail.head); return; } diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java index 9c30d1b9834..29f0215137c 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java @@ -748,7 +748,7 @@ public class TransTypes extends TreeTranslator { tree.clazz = translate(tree.clazz, null); Type originalTarget = tree.type; tree.type = erasure(tree.type); - tree.expr = translate(tree.expr, tree.type); + tree.expr = translate(tree.expr, erasure(tree.expr.type)); if (originalTarget.isCompound()) { Type.IntersectionClassType ict = (Type.IntersectionClassType)originalTarget; for (Type c : ict.getExplicitComponents()) { diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java b/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java index 48d1f13fdcc..c7b92919886 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java +++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2011, 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 @@ -107,10 +107,6 @@ public class ZipFileIndexArchive implements Archive { */ ZipFileIndex.Entry entry; - /** The InputStream for this zip entry (file.) - */ - InputStream inputStream = null; - /** The name of the zip file where this entry resides. */ File zipName; @@ -146,11 +142,8 @@ public class ZipFileIndexArchive implements Archive { @Override public InputStream openInputStream() throws IOException { - if (inputStream == null) { - Assert.checkNonNull(entry); // see constructor - inputStream = new ByteArrayInputStream(zfIndex.read(entry)); - } - return inputStream; + Assert.checkNonNull(entry); // see constructor + return new ByteArrayInputStream(zfIndex.read(entry)); } @Override diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java index ba6fc9e4cf1..c1fdd998dec 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java @@ -2501,6 +2501,8 @@ public class ClassReader { return; } catch (IOException ex) { throw badClassFile("unable.to.access.file", ex.getMessage()); + } catch (ArrayIndexOutOfBoundsException ex) { + throw badClassFile("bad.class.file", c.flatname); } finally { currentClassFile = previousClassFile; } diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java index cd30dbcd0df..18db5cf5554 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java +++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java @@ -298,12 +298,6 @@ public class JavaCompiler { */ protected MultiTaskListener taskListener; - /** - * Annotation processing may require and provide a new instance - * of the compiler to be used for the analyze and generate phases. - */ - protected JavaCompiler delegateCompiler; - /** * SourceCompleter that delegates to the complete-method of this class. */ @@ -567,12 +561,8 @@ public class JavaCompiler { /** The number of errors reported so far. */ public int errorCount() { - if (delegateCompiler != null && delegateCompiler != this) - return delegateCompiler.errorCount(); - else { - if (werror && log.nerrors == 0 && log.nwarnings > 0) { - log.error("warnings.and.werror"); - } + if (werror && log.nerrors == 0 && log.nwarnings > 0) { + log.error("warnings.and.werror"); } return log.nerrors; } @@ -588,10 +578,7 @@ public class JavaCompiler { /** The number of warnings reported so far. */ public int warningCount() { - if (delegateCompiler != null && delegateCompiler != this) - return delegateCompiler.warningCount(); - else - return log.nwarnings; + return log.nwarnings; } /** Try to open input stream with given name. @@ -759,21 +746,32 @@ public class JavaCompiler { * @param c The class the source file of which needs to be compiled. */ public void complete(ClassSymbol c) throws CompletionFailure { + complete(null, c); + } + + /** Complete a ClassSymbol from source, optionally using the given compilation unit as + * the source tree. + * @param tree the compilation unit int which the given ClassSymbol resides, + * or null if should be parsed from source + * @param c the ClassSymbol to complete + */ + public void complete(JCCompilationUnit tree, ClassSymbol c) throws CompletionFailure { // System.err.println("completing " + c);//DEBUG if (completionFailureName == c.fullname) { throw new CompletionFailure(c, "user-selected completion failure by class name"); } - JCCompilationUnit tree; JavaFileObject filename = c.classfile; JavaFileObject prev = log.useSource(filename); - try { - tree = parse(filename, filename.getCharContent(false)); - } catch (IOException e) { - log.error("error.reading.file", filename, JavacFileManager.getMessage(e)); - tree = make.TopLevel(List.<JCTree.JCAnnotation>nil(), null, List.<JCTree>nil()); - } finally { - log.useSource(prev); + if (tree == null) { + try { + tree = parse(filename, filename.getCharContent(false)); + } catch (IOException e) { + log.error("error.reading.file", filename, JavacFileManager.getMessage(e)); + tree = make.TopLevel(List.<JCTree.JCAnnotation>nil(), null, List.<JCTree>nil()); + } finally { + log.useSource(prev); + } } if (!taskListener.isEmpty()) { @@ -851,35 +849,16 @@ public class JavaCompiler { initProcessAnnotations(processors); // These method calls must be chained to avoid memory leaks - delegateCompiler = - processAnnotations( - enterTrees(stopIfError(CompileState.PARSE, parseFiles(sourceFileObjects))), - classnames); + processAnnotations( + enterTrees(stopIfError(CompileState.PARSE, parseFiles(sourceFileObjects))), + classnames); // If it's safe to do so, skip attr / flow / gen for implicit classes if (taskListener.isEmpty() && implicitSourcePolicy == ImplicitSourcePolicy.NONE) { - delegateCompiler.todo.retainFiles(delegateCompiler.inputFiles); + todo.retainFiles(inputFiles); } - delegateCompiler.compile2(); - delegateCompiler.close(); - elapsed_msec = delegateCompiler.elapsed_msec; - } catch (Abort ex) { - if (devVerbose) - ex.printStackTrace(System.err); - } finally { - if (procEnvImpl != null) - procEnvImpl.close(); - } - } - - /** - * The phases following annotation processing: attribution, - * desugar, and finally code generation. - */ - private void compile2() { - try { switch (compilePolicy) { case ATTR_ONLY: attribute(todo); @@ -912,18 +891,21 @@ public class JavaCompiler { } catch (Abort ex) { if (devVerbose) ex.printStackTrace(System.err); - } + } finally { + if (verbose) { + elapsed_msec = elapsed(start_msec); + log.printVerbose("total", Long.toString(elapsed_msec)); + } - if (verbose) { - elapsed_msec = elapsed(start_msec); - log.printVerbose("total", Long.toString(elapsed_msec)); - } + reportDeferredDiagnostics(); - reportDeferredDiagnostics(); - - if (!log.hasDiagnosticListener()) { - printCount("error", errorCount()); - printCount("warn", warningCount()); + if (!log.hasDiagnosticListener()) { + printCount("error", errorCount()); + printCount("warn", warningCount()); + } + close(); + if (procEnvImpl != null) + procEnvImpl.close(); } } @@ -1069,8 +1051,8 @@ public class JavaCompiler { } // TODO: called by JavacTaskImpl - public JavaCompiler processAnnotations(List<JCCompilationUnit> roots) { - return processAnnotations(roots, List.<String>nil()); + public void processAnnotations(List<JCCompilationUnit> roots) { + processAnnotations(roots, List.<String>nil()); } /** @@ -1084,8 +1066,8 @@ public class JavaCompiler { // By the time this method exits, log.deferDiagnostics must be set back to false, // and all deferredDiagnostics must have been handled: i.e. either reported // or determined to be transient, and therefore suppressed. - public JavaCompiler processAnnotations(List<JCCompilationUnit> roots, - List<String> classnames) { + public void processAnnotations(List<JCCompilationUnit> roots, + List<String> classnames) { if (shouldStop(CompileState.PROCESS)) { // Errors were encountered. // Unless all the errors are resolve errors, the errors were parse errors @@ -1094,7 +1076,7 @@ public class JavaCompiler { if (unrecoverableError()) { deferredDiagnosticHandler.reportDeferredDiagnostics(); log.popDiagnosticHandler(deferredDiagnosticHandler); - return this; + return ; } } @@ -1117,7 +1099,7 @@ public class JavaCompiler { classnames); } Assert.checkNull(deferredDiagnosticHandler); - return this; // continue regular compilation + return ; // continue regular compilation } Assert.checkNonNull(deferredDiagnosticHandler); @@ -1133,7 +1115,7 @@ public class JavaCompiler { classnames); deferredDiagnosticHandler.reportDeferredDiagnostics(); log.popDiagnosticHandler(deferredDiagnosticHandler); - return this; // TODO: Will this halt compilation? + return ; // TODO: Will this halt compilation? } else { boolean errors = false; for (String nameStr : classnames) { @@ -1167,25 +1149,26 @@ public class JavaCompiler { if (errors) { deferredDiagnosticHandler.reportDeferredDiagnostics(); log.popDiagnosticHandler(deferredDiagnosticHandler); - return this; + return ; } } } try { - JavaCompiler c = procEnvImpl.doProcessing(context, roots, classSymbols, pckSymbols, - deferredDiagnosticHandler); - if (c != this) - annotationProcessingOccurred = c.annotationProcessingOccurred = true; + annotationProcessingOccurred = + procEnvImpl.doProcessing(roots, + classSymbols, + pckSymbols, + deferredDiagnosticHandler); // doProcessing will have handled deferred diagnostics - return c; } finally { procEnvImpl.close(); } } catch (CompletionFailure ex) { log.error("cant.access", ex.sym, ex.getDetailValue()); - deferredDiagnosticHandler.reportDeferredDiagnostics(); - log.popDiagnosticHandler(deferredDiagnosticHandler); - return this; + if (deferredDiagnosticHandler != null) { + deferredDiagnosticHandler.reportDeferredDiagnostics(); + log.popDiagnosticHandler(deferredDiagnosticHandler); + } } } @@ -1213,6 +1196,10 @@ public class JavaCompiler { options.isSet(XPRINT); } + public void setDeferredDiagnosticHandler(Log.DeferredDiagnosticHandler deferredDiagnosticHandler) { + this.deferredDiagnosticHandler = deferredDiagnosticHandler; + } + /** * Attribute a list of parse trees, such as found on the "todo" list. * Note that attributing classes may cause additional files to be @@ -1674,10 +1661,6 @@ public class JavaCompiler { /** Close the compiler, flushing the logs */ public void close() { - close(true); - } - - public void close(boolean disposeNames) { rootClasses = null; reader = null; make = null; @@ -1704,7 +1687,7 @@ public class JavaCompiler { } catch (IOException e) { throw new Abort(e); } finally { - if (names != null && disposeNames) + if (names != null) names.dispose(); names = null; @@ -1750,14 +1733,8 @@ public class JavaCompiler { return now() - then; } - public void initRound(JavaCompiler prev) { - genEndPos = prev.genEndPos; - keepComments = prev.keepComments; - start_msec = prev.start_msec; - hasBeenUsed = true; - closeables = prev.closeables; - prev.closeables = List.nil(); - shouldStopPolicyIfError = prev.shouldStopPolicyIfError; - shouldStopPolicyIfNoError = prev.shouldStopPolicyIfNoError; + public void newRound() { + inputFiles.clear(); + todo.clear(); } } diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java b/langtools/src/share/classes/com/sun/tools/javac/main/Main.java index 669c897627b..2c7f2f55939 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java +++ b/langtools/src/share/classes/com/sun/tools/javac/main/Main.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 @@ -506,6 +506,11 @@ public class Main { } } + if (options.get(XSTDOUT) != null) { + // Stdout reassigned - ask compiler to close it when it is done + comp.closeables = comp.closeables.prepend(log.getWriter(WriterKind.NOTICE)); + } + fileManager = context.get(JavaFileManager.class); if (!files.isEmpty()) { diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/Option.java b/langtools/src/share/classes/com/sun/tools/javac/main/Option.java index 6ecf168d894..8821970f904 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/main/Option.java +++ b/langtools/src/share/classes/com/sun/tools/javac/main/Option.java @@ -399,7 +399,6 @@ public enum Option { public boolean process(OptionHelper helper, String option, String arg) { try { Log log = helper.getLog(); - // TODO: this file should be closed at the end of compilation log.setWriters(new PrintWriter(new FileWriter(arg), true)); } catch (java.io.IOException e) { helper.error("err.error.writing.file", arg, e); diff --git a/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java b/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java index b1a6cd19ba7..dbe7bb59d7c 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java +++ b/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java @@ -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 @@ -60,11 +60,11 @@ import static com.sun.tools.javac.tree.JCTree.Tag.*; */ public class JavacElements implements Elements { - private JavaCompiler javaCompiler; - private Symtab syms; - private Names names; - private Types types; - private Enter enter; + private final JavaCompiler javaCompiler; + private final Symtab syms; + private final Names names; + private final Types types; + private final Enter enter; public static JavacElements instance(Context context) { JavacElements instance = context.get(JavacElements.class); @@ -73,18 +73,7 @@ public class JavacElements implements Elements { return instance; } - /** - * Public for use only by JavacProcessingEnvironment - */ protected JavacElements(Context context) { - setContext(context); - } - - /** - * Use a new context. May be called from outside to update - * internal state for a new annotation-processing round. - */ - public void setContext(Context context) { context.put(JavacElements.class, this); javaCompiler = JavaCompiler.instance(context); syms = Symtab.instance(context); diff --git a/langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java b/langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java index e56eedd7a9a..5b780ede81d 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java +++ b/langtools/src/share/classes/com/sun/tools/javac/model/JavacTypes.java @@ -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 @@ -48,8 +48,8 @@ import com.sun.tools.javac.util.*; */ public class JavacTypes implements javax.lang.model.util.Types { - private Symtab syms; - private Types types; + private final Symtab syms; + private final Types types; public static JavacTypes instance(Context context) { JavacTypes instance = context.get(JavacTypes.class); @@ -58,18 +58,7 @@ public class JavacTypes implements javax.lang.model.util.Types { return instance; } - /** - * Public for use only by JavacProcessingEnvironment - */ protected JavacTypes(Context context) { - setContext(context); - } - - /** - * Use a new context. May be called from outside to update - * internal state for a new annotation-processing round. - */ - public void setContext(Context context) { context.put(JavacTypes.class, this); syms = Symtab.instance(context); types = Types.instance(context); diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java index aba1c7bc73a..c8a26f35f61 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java @@ -161,6 +161,7 @@ public class JavacParser implements Parser { this.allowStaticInterfaceMethods = source.allowStaticInterfaceMethods(); this.allowIntersectionTypesInCast = source.allowIntersectionTypesInCast(); this.allowTypeAnnotations = source.allowTypeAnnotations(); + this.allowAnnotationsAfterTypeParams = source.allowAnnotationsAfterTypeParams(); this.keepDocComments = keepDocComments; docComments = newDocCommentTable(keepDocComments, fac); this.keepLineMap = keepLineMap; @@ -254,6 +255,10 @@ public class JavacParser implements Parser { */ boolean allowTypeAnnotations; + /** Switch: should we allow annotations after the method type parameters? + */ + boolean allowAnnotationsAfterTypeParams; + /** Switch: is "this" allowed as an identifier? * This is needed to parse receiver types. */ @@ -2026,7 +2031,7 @@ public class JavacParser implements Parser { /** Creator = [Annotations] Qualident [TypeArguments] ( ArrayCreatorRest | ClassCreatorRest ) */ JCExpression creator(int newpos, List<JCExpression> typeArgs) { - List<JCAnnotation> newAnnotations = annotationsOpt(Tag.ANNOTATION); + List<JCAnnotation> newAnnotations = typeAnnotationsOpt(); switch (token.kind) { case BYTE: case SHORT: case CHAR: case INT: case LONG: case FLOAT: @@ -3355,7 +3360,7 @@ public class JavacParser implements Parser { ? arguments() : List.<JCExpression>nil(); JCClassDecl body = null; if (token.kind == LBRACE) { - JCModifiers mods1 = F.at(Position.NOPOS).Modifiers(Flags.ENUM | Flags.STATIC); + JCModifiers mods1 = F.at(Position.NOPOS).Modifiers(Flags.ENUM); List<JCTree> defs = classOrInterfaceBody(names.empty, false); body = toP(F.at(identPos).AnonymousClassDef(mods1, defs)); } @@ -3464,6 +3469,7 @@ public class JavacParser implements Parser { nextToken(); } else { if (annosAfterParams.nonEmpty()) { + checkAnnotationsAfterTypeParams(annosAfterParams.head.pos); mods.annotations = mods.annotations.appendList(annosAfterParams); if (mods.pos == Position.NOPOS) mods.pos = mods.annotations.head.pos; @@ -4063,6 +4069,12 @@ public class JavacParser implements Parser { allowTypeAnnotations = true; } } + void checkAnnotationsAfterTypeParams(int pos) { + if (!allowAnnotationsAfterTypeParams) { + log.error(pos, "annotations.after.type.params.not.supported.in.source", source.name); + allowAnnotationsAfterTypeParams = true; + } + } /* * a functional source tree and end position mappings diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java index fc830c40e51..06e033c8b5c 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java @@ -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 @@ -564,9 +564,7 @@ public class JavacFiler implements Filer, Closeable { /** * Update internal state for a new round. */ - public void newRound(Context context) { - this.context = context; - this.log = Log.instance(context); + public void newRound() { clearRoundState(); } diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java index bc6acc1a096..0cb3c8f3e6f 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacMessager.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 @@ -176,8 +176,7 @@ public class JavacMessager implements Messager { return warningCount; } - public void newRound(Context context) { - log = Log.instance(context); + public void newRound() { errorCount = 0; } diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java index 1f48ab27287..a0b3fe64a21 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java @@ -38,27 +38,27 @@ import javax.annotation.processing.*; import javax.lang.model.SourceVersion; import javax.lang.model.element.*; import javax.lang.model.util.*; -import javax.tools.DiagnosticListener; import javax.tools.JavaFileManager; import javax.tools.JavaFileObject; import javax.tools.StandardJavaFileManager; import static javax.tools.StandardLocation.*; -import com.sun.source.util.JavacTask; import com.sun.source.util.TaskEvent; -import com.sun.tools.javac.api.BasicJavacTask; -import com.sun.tools.javac.api.JavacTrees; import com.sun.tools.javac.api.MultiTaskListener; import com.sun.tools.javac.code.*; import com.sun.tools.javac.code.Symbol.*; -import com.sun.tools.javac.file.FSInfo; +import com.sun.tools.javac.code.Type.ClassType; +import com.sun.tools.javac.code.Types; +import com.sun.tools.javac.comp.AttrContext; +import com.sun.tools.javac.comp.Check; +import com.sun.tools.javac.comp.Enter; +import com.sun.tools.javac.comp.Env; import com.sun.tools.javac.file.JavacFileManager; import com.sun.tools.javac.jvm.*; import com.sun.tools.javac.jvm.ClassReader.BadClassFile; import com.sun.tools.javac.main.JavaCompiler; import com.sun.tools.javac.model.JavacElements; import com.sun.tools.javac.model.JavacTypes; -import com.sun.tools.javac.parser.*; import com.sun.tools.javac.tree.*; import com.sun.tools.javac.tree.JCTree.*; import com.sun.tools.javac.util.Abort; @@ -103,6 +103,8 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea private final JavacMessager messager; private final JavacElements elementUtils; private final JavacTypes typeUtils; + private final Types types; + private final JavaCompiler compiler; /** * Holds relevant state history of which processors have been @@ -131,7 +133,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea /** The log to be used for error reporting. */ - Log log; + final Log log; /** Diagnostic factory. */ @@ -151,8 +153,13 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea private JavacMessages messages; private MultiTaskListener taskListener; + private final Symtab symtab; + private final Names names; + private final Enter enter; + private final Completer initialCompleter; + private final Check chk; - private Context context; + private final Context context; /** Get the JavacProcessingEnvironment instance for this context. */ public static JavacProcessingEnvironment instance(Context context) { @@ -173,8 +180,8 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea printRounds = options.isSet(XPRINTROUNDS); verbose = options.isSet(VERBOSE); lint = Lint.instance(context).isEnabled(PROCESSING); + compiler = JavaCompiler.instance(context); if (options.isSet(PROC, "only") || options.isSet(XPRINT)) { - JavaCompiler compiler = JavaCompiler.instance(context); compiler.shouldStopPolicyIfNoError = CompileState.PROCESS; } fatalErrors = options.isSet("fatalEnterError"); @@ -188,16 +195,22 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea messager = new JavacMessager(context, this); elementUtils = JavacElements.instance(context); typeUtils = JavacTypes.instance(context); - processorOptions = initProcessorOptions(context); + types = Types.instance(context); + processorOptions = initProcessorOptions(); unmatchedProcessorOptions = initUnmatchedProcessorOptions(); messages = JavacMessages.instance(context); taskListener = MultiTaskListener.instance(context); + symtab = Symtab.instance(context); + names = Names.instance(context); + enter = Enter.instance(context); + initialCompleter = ClassReader.instance(context).getCompleter(); + chk = Check.instance(context); initProcessorClassLoader(); } public void setProcessors(Iterable<? extends Processor> processors) { Assert.checkNull(discoveredProcs); - initProcessorIterator(context, processors); + initProcessorIterator(processors); } private Set<String> initPlatformAnnotations() { @@ -221,7 +234,6 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea : fileManager.getClassLoader(CLASS_PATH); if (processorClassLoader != null && processorClassLoader instanceof Closeable) { - JavaCompiler compiler = JavaCompiler.instance(context); compiler.closeables = compiler.closeables.prepend((Closeable) processorClassLoader); } } catch (SecurityException e) { @@ -229,8 +241,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea } } - private void initProcessorIterator(Context context, Iterable<? extends Processor> processors) { - Log log = Log.instance(context); + private void initProcessorIterator(Iterable<? extends Processor> processors) { Iterator<? extends Processor> processorIterator; if (options.isSet(XPRINT)) { @@ -447,8 +458,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea return discoveredProcs.iterator().hasNext(); } - private Map<String, String> initProcessorOptions(Context context) { - Options options = Options.instance(context); + private Map<String, String> initProcessorOptions() { Set<String> keySet = options.keySet(); Map<String, String> tempOptions = new LinkedHashMap<>(); @@ -653,8 +663,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea } } - private void discoverAndRunProcs(Context context, - Set<TypeElement> annotationsPresent, + private void discoverAndRunProcs(Set<TypeElement> annotationsPresent, List<ClassSymbol> topLevelClasses, List<PackageSymbol> packageInfoFiles) { Map<String, TypeElement> unmatchedAnnotations = new HashMap<>(annotationsPresent.size()); @@ -724,7 +733,6 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea // Remove annotations processed by javac unmatchedAnnotations.keySet().removeAll(platformAnnotations); if (unmatchedAnnotations.size() > 0) { - log = Log.instance(context); log.warning("proc.annotations.without.processors", unmatchedAnnotations.keySet()); } @@ -761,14 +769,14 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea public Set<TypeElement> visitType(TypeElement e, Set<TypeElement> p) { // Type parameters are not considered to be enclosed by a type scan(e.getTypeParameters(), p); - return scan(e.getEnclosedElements(), p); + return super.visitType(e, p); } @Override public Set<TypeElement> visitExecutable(ExecutableElement e, Set<TypeElement> p) { // Type parameters are not considered to be enclosed by an executable scan(e.getTypeParameters(), p); - return scan(e.getEnclosedElements(), p); + return super.visitExecutable(e, p); } void addAnnotations(Element e, Set<TypeElement> p) { @@ -812,17 +820,13 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea class Round { /** The round number. */ final int number; - /** The context for the round. */ - final Context context; - /** The compiler for the round. */ - final JavaCompiler compiler; - /** The log for the round. */ - final Log log; /** The diagnostic handler for the round. */ final Log.DeferredDiagnosticHandler deferredDiagnosticHandler; /** The ASTs to be compiled. */ List<JCCompilationUnit> roots; + /** The trees that need to be cleaned - includes roots and implicitly parsed trees. */ + Set<JCCompilationUnit> treesToClean; /** The classes to be compiler that have were generated. */ Map<String, JavaFileObject> genClassFiles; @@ -834,39 +838,33 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea List<PackageSymbol> packageInfoFiles; /** Create a round (common code). */ - private Round(Context context, int number, int priorErrors, int priorWarnings, + private Round(int number, Set<JCCompilationUnit> treesToClean, Log.DeferredDiagnosticHandler deferredDiagnosticHandler) { - this.context = context; this.number = number; - compiler = JavaCompiler.instance(context); - log = Log.instance(context); - log.nerrors = priorErrors; - log.nwarnings = priorWarnings; if (number == 1) { Assert.checkNonNull(deferredDiagnosticHandler); this.deferredDiagnosticHandler = deferredDiagnosticHandler; } else { this.deferredDiagnosticHandler = new Log.DeferredDiagnosticHandler(log); + compiler.setDeferredDiagnosticHandler(this.deferredDiagnosticHandler); } - // the following is for the benefit of JavacProcessingEnvironment.getContext() - JavacProcessingEnvironment.this.context = context; - // the following will be populated as needed topLevelClasses = List.nil(); packageInfoFiles = List.nil(); + this.treesToClean = treesToClean; } /** Create the first round. */ - Round(Context context, List<JCCompilationUnit> roots, List<ClassSymbol> classSymbols, - Log.DeferredDiagnosticHandler deferredDiagnosticHandler) { - this(context, 1, 0, 0, deferredDiagnosticHandler); + Round(List<JCCompilationUnit> roots, + List<ClassSymbol> classSymbols, + Set<JCCompilationUnit> treesToClean, + Log.DeferredDiagnosticHandler deferredDiagnosticHandler) { + this(1, treesToClean, deferredDiagnosticHandler); this.roots = roots; genClassFiles = new HashMap<>(); - compiler.todo.clear(); // free the compiler's resources - // The reverse() in the following line is to maintain behavioural // compatibility with the previous revision of the code. Strictly speaking, // it should not be necessary, but a javah golden file test fails without it. @@ -881,15 +879,12 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea /** Create a new round. */ private Round(Round prev, Set<JavaFileObject> newSourceFiles, Map<String,JavaFileObject> newClassFiles) { - this(prev.nextContext(), - prev.number+1, - prev.compiler.log.nerrors, - prev.compiler.log.nwarnings, - null); + this(prev.number+1, prev.treesToClean, null); + prev.newRound(); this.genClassFiles = prev.genClassFiles; List<JCCompilationUnit> parsedFiles = compiler.parseFiles(newSourceFiles); - roots = cleanTrees(prev.roots).appendList(parsedFiles); + roots = prev.roots.appendList(parsedFiles); // Check for errors after parsing if (unrecoverableError()) @@ -916,24 +911,12 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea /** Create the next round to be used. */ Round next(Set<JavaFileObject> newSourceFiles, Map<String, JavaFileObject> newClassFiles) { - try { - return new Round(this, newSourceFiles, newClassFiles); - } finally { - compiler.close(false); - } + return new Round(this, newSourceFiles, newClassFiles); } - /** Create the compiler to be used for the final compilation. */ - JavaCompiler finalCompiler() { - try { - Context nextCtx = nextContext(); - JavacProcessingEnvironment.this.context = nextCtx; - JavaCompiler c = JavaCompiler.instance(nextCtx); - c.log.initRound(compiler.log); - return c; - } finally { - compiler.close(false); - } + /** Prepare the compiler for the final compilation. */ + void finalCompiler() { + newRound(); } /** Return the number of errors found so far in this round. @@ -984,8 +967,6 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea /** Enter a set of generated class files. */ private List<ClassSymbol> enterClassFiles(Map<String, JavaFileObject> classFiles) { - Symtab symtab = Symtab.instance(context); - Names names = Names.instance(context); List<ClassSymbol> list = List.nil(); for (Map.Entry<String,JavaFileObject> entry : classFiles.entrySet()) { @@ -1000,10 +981,16 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea if (p.package_info == null) p.package_info = symtab.enterClass(Convert.shortName(name), p); cs = p.package_info; + cs.reset(); if (cs.classfile == null) cs.classfile = file; - } else - cs = symtab.enterClass(name, file); + cs.completer = initialCompleter; + } else { + cs = symtab.enterClass(name); + cs.reset(); + cs.classfile = file; + cs.completer = initialCompleter; + } list = list.prepend(cs); } return list.reverse(); @@ -1031,7 +1018,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea JavacProcessingEnvironment.this); discoveredProcs.iterator().runContributingProcs(renv); } else { - discoverAndRunProcs(context, annotationsPresent, topLevelClasses, packageInfoFiles); + discoverAndRunProcs(annotationsPresent, topLevelClasses, packageInfoFiles); } } catch (Throwable t) { // we're specifically expecting Abort here, but if any Throwable @@ -1039,6 +1026,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea // drop them on the ground. deferredDiagnosticHandler.reportDeferredDiagnostics(); log.popDiagnosticHandler(deferredDiagnosticHandler); + compiler.setDeferredDiagnosticHandler(null); throw t; } finally { if (!taskListener.isEmpty()) @@ -1054,6 +1042,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea } deferredDiagnosticHandler.reportDeferredDiagnostics(kinds); log.popDiagnosticHandler(deferredDiagnosticHandler); + compiler.setDeferredDiagnosticHandler(null); } /** Print info about this round. */ @@ -1069,104 +1058,68 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea } } - /** Get the context for the next round of processing. - * Important values are propagated from round to round; - * other values are implicitly reset. + /** Prepare for new round of annotation processing. Cleans trees, resets symbols, and + * asks selected services to prepare to a new round of annotation processing. */ - private Context nextContext() { - Context next = new Context(context); + private void newRound() { + //ensure treesToClean contains all trees, including implicitly parsed ones + for (Env<AttrContext> env : enter.getEnvs()) { + treesToClean.add(env.toplevel); + } + for (JCCompilationUnit node : treesToClean) { + treeCleaner.scan(node); + } + chk.newRound(); + enter.newRound(); + filer.newRound(); + messager.newRound(); + compiler.newRound(); + types.newRound(); - Options options = Options.instance(context); - Assert.checkNonNull(options); - next.put(Options.optionsKey, options); + boolean foundError = false; - Locale locale = context.get(Locale.class); - if (locale != null) - next.put(Locale.class, locale); - - Assert.checkNonNull(messages); - next.put(JavacMessages.messagesKey, messages); - - final boolean shareNames = true; - if (shareNames) { - Names names = Names.instance(context); - Assert.checkNonNull(names); - next.put(Names.namesKey, names); + for (ClassSymbol cs : symtab.classes.values()) { + if (cs.kind == Kinds.ERR) { + foundError = true; + break; + } } - DiagnosticListener<?> dl = context.get(DiagnosticListener.class); - if (dl != null) - next.put(DiagnosticListener.class, dl); - - MultiTaskListener mtl = context.get(MultiTaskListener.taskListenerKey); - if (mtl != null) - next.put(MultiTaskListener.taskListenerKey, mtl); - - FSInfo fsInfo = context.get(FSInfo.class); - if (fsInfo != null) - next.put(FSInfo.class, fsInfo); - - JavaFileManager jfm = context.get(JavaFileManager.class); - Assert.checkNonNull(jfm); - next.put(JavaFileManager.class, jfm); - if (jfm instanceof JavacFileManager) { - ((JavacFileManager)jfm).setContext(next); + if (foundError) { + for (ClassSymbol cs : symtab.classes.values()) { + if (cs.classfile != null || cs.kind == Kinds.ERR) { + cs.reset(); + cs.type = new ClassType(cs.type.getEnclosingType(), null, cs); + if (cs.completer == null) { + cs.completer = initialCompleter; + } + } + } } - - Names names = Names.instance(context); - Assert.checkNonNull(names); - next.put(Names.namesKey, names); - - Tokens tokens = Tokens.instance(context); - Assert.checkNonNull(tokens); - next.put(Tokens.tokensKey, tokens); - - Log nextLog = Log.instance(next); - nextLog.initRound(log); - - JavaCompiler oldCompiler = JavaCompiler.instance(context); - JavaCompiler nextCompiler = JavaCompiler.instance(next); - nextCompiler.initRound(oldCompiler); - - filer.newRound(next); - messager.newRound(next); - elementUtils.setContext(next); - typeUtils.setContext(next); - - JavacTask task = context.get(JavacTask.class); - if (task != null) { - next.put(JavacTask.class, task); - if (task instanceof BasicJavacTask) - ((BasicJavacTask) task).updateContext(next); - } - - JavacTrees trees = context.get(JavacTrees.class); - if (trees != null) { - next.put(JavacTrees.class, trees); - trees.updateContext(next); - } - - context.clear(); - return next; } } // TODO: internal catch clauses?; catch and rethrow an annotation // processing error - public JavaCompiler doProcessing(Context context, - List<JCCompilationUnit> roots, - List<ClassSymbol> classSymbols, - Iterable<? extends PackageSymbol> pckSymbols, - Log.DeferredDiagnosticHandler deferredDiagnosticHandler) { - log = Log.instance(context); + public boolean doProcessing(List<JCCompilationUnit> roots, + List<ClassSymbol> classSymbols, + Iterable<? extends PackageSymbol> pckSymbols, + Log.DeferredDiagnosticHandler deferredDiagnosticHandler) { + final Set<JCCompilationUnit> treesToClean = + Collections.newSetFromMap(new IdentityHashMap<JCCompilationUnit, Boolean>()); + + //fill already attributed implicit trees: + for (Env<AttrContext> env : enter.getEnvs()) { + treesToClean.add(env.toplevel); + } Set<PackageSymbol> specifiedPackages = new LinkedHashSet<>(); for (PackageSymbol psym : pckSymbols) specifiedPackages.add(psym); this.specifiedPackages = Collections.unmodifiableSet(specifiedPackages); - Round round = new Round(context, roots, classSymbols, deferredDiagnosticHandler); + Round round = new Round(roots, classSymbols, treesToClean, deferredDiagnosticHandler); boolean errorStatus; boolean moreToDo; @@ -1217,9 +1170,12 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea Set<JavaFileObject> newSourceFiles = new LinkedHashSet<>(filer.getGeneratedSourceFileObjects()); - roots = cleanTrees(round.roots); + roots = round.roots; - JavaCompiler compiler = round.finalCompiler(); + errorStatus = errorStatus || (compiler.errorCount() > 0); + + if (!errorStatus) + round.finalCompiler(); if (newSourceFiles.size() > 0) roots = roots.appendList(compiler.parseFiles(newSourceFiles)); @@ -1235,12 +1191,12 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea if (errorStatus) { if (compiler.errorCount() == 0) compiler.log.nerrors++; - return compiler; + return true; } compiler.enterTreesIfNeeded(roots); - return compiler; + return true; } private void warnIfUnmatchedOptions() { @@ -1342,23 +1298,46 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea return false; } - private static <T extends JCTree> List<T> cleanTrees(List<T> nodes) { - for (T node : nodes) - treeCleaner.scan(node); - return nodes; + class ImplicitCompleter implements Completer { + + private final JCCompilationUnit topLevel; + + public ImplicitCompleter(JCCompilationUnit topLevel) { + this.topLevel = topLevel; + } + + @Override public void complete(Symbol sym) throws CompletionFailure { + compiler.complete(topLevel, (ClassSymbol) sym); + } } - private static final TreeScanner treeCleaner = new TreeScanner() { + private final TreeScanner treeCleaner = new TreeScanner() { public void scan(JCTree node) { super.scan(node); if (node != null) node.type = null; } + JCCompilationUnit topLevel; public void visitTopLevel(JCCompilationUnit node) { + if (node.packge != null) { + if (node.packge.package_info != null) { + node.packge.package_info.reset(); + } + node.packge.reset(); + } node.packge = null; - super.visitTopLevel(node); + topLevel = node; + try { + super.visitTopLevel(node); + } finally { + topLevel = null; + } } public void visitClassDef(JCClassDecl node) { + if (node.sym != null) { + node.sym.reset(); + node.sym.completer = new ImplicitCompleter(topLevel); + } node.sym = null; super.visitClassDef(node); } diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java index 1b1ec416e6a..d41c6241e30 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java +++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java @@ -137,14 +137,14 @@ public class JavacRoundEnvironment implements RoundEnvironment { public Set<Element> visitType(TypeElement e, TypeElement p) { // Type parameters are not considered to be enclosed by a type scan(e.getTypeParameters(), p); - return scan(e.getEnclosedElements(), p); + return super.visitType(e, p); } @Override public Set<Element> visitExecutable(ExecutableElement e, TypeElement p) { // Type parameters are not considered to be enclosed by an executable scan(e.getTypeParameters(), p); - return scan(e.getEnclosedElements(), p); + return super.visitExecutable(e, p); } @Override diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties index 8ed68e04151..8f792bd15e8 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties +++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties @@ -123,6 +123,9 @@ compiler.err.anon.class.impl.intf.no.typeargs=\ compiler.err.anon.class.impl.intf.no.qual.for.new=\ anonymous class implements interface; cannot have qualifier for new +compiler.err.cant.inherit.from.anon=\ + cannot inherit from anonymous class + # 0: symbol, 1: symbol, 2: symbol compiler.err.array.and.varargs=\ cannot declare both {0} and {1} in {2} @@ -1709,6 +1712,10 @@ compiler.err.cant.access=\ cannot access {0}\n\ {1} +# 0: class name +compiler.misc.bad.class.file=\ + class file is invalid for class {0} + # 0: file name, 1: message segment compiler.misc.bad.class.file.header=\ bad class file: {0}\n\ @@ -2320,6 +2327,11 @@ compiler.err.type.annotations.not.supported.in.source=\ type annotations are not supported in -source {0}\n\ (use -source 8 or higher to enable type annotations) +# 0: string +compiler.err.annotations.after.type.params.not.supported.in.source=\ + annotations after method type parameters are not supported in -source {0}\n\ +(use -source 8 or higher to enable annotations after method type parameters) + # 0: string compiler.err.repeatable.annotations.not.supported.in.source=\ repeated annotations are not supported in -source {0}\n\ diff --git a/langtools/src/share/classes/com/sun/tools/javac/sym/Profiles.java b/langtools/src/share/classes/com/sun/tools/javac/sym/Profiles.java index fe36e9ff54a..6591d95ba96 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/sym/Profiles.java +++ b/langtools/src/share/classes/com/sun/tools/javac/sym/Profiles.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2013, 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 @@ -147,6 +147,8 @@ public abstract class Profiles { final int maxProfile = 4; // Three compact profiles plus full JRE MakefileProfiles(Properties p) { + // consider crypto, only if java/lang package exists + boolean foundJavaLang = false; for (int profile = 1; profile <= maxProfile; profile++) { String prefix = (profile < maxProfile ? "PROFILE_" + profile : "FULL_JRE"); String inclPackages = p.getProperty(prefix + "_RTJAR_INCLUDE_PACKAGES"); @@ -155,6 +157,8 @@ public abstract class Profiles { for (String pkg: inclPackages.substring(1).trim().split("\\s+")) { if (pkg.endsWith("/")) pkg = pkg.substring(0, pkg.length() - 1); + if (foundJavaLang == false && pkg.equals("java/lang")) + foundJavaLang = true; includePackage(profile, pkg); } String inclTypes = p.getProperty(prefix + "_RTJAR_INCLUDE_TYPES"); @@ -172,6 +176,15 @@ public abstract class Profiles { } } } + /* + * A hack to force javax/crypto package into the compact1 profile, + * because this package exists in jce.jar, and therefore not in + * ct.sym. Note javax/crypto should exist in a profile along with + * javax/net/ssl package. Thus, this package is added to compact1, + * implying that it should exist in all three profiles. + */ + if (foundJavaLang) + includePackage(1, "javax/crypto"); } @Override diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Context.java b/langtools/src/share/classes/com/sun/tools/javac/util/Context.java index 8216d1e49bf..3768afad935 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/util/Context.java +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Context.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -119,7 +119,7 @@ public class Context { * or * {@literal Key<T> -> Factory<T> } */ - private Map<Key<?>,Object> ht = new HashMap<>(); + private final Map<Key<?>,Object> ht = new HashMap<>(); /** Set the factory for the key in this context. */ public <T> void put(Key<T> key, Factory<T> fac) { @@ -166,18 +166,12 @@ public class Context { /** * The table of preregistered factories. */ - private Map<Key<?>,Factory<?>> ft = new HashMap<>(); - - public Context(Context prev) { - kt.putAll(prev.kt); // retain all implicit keys - ft.putAll(prev.ft); // retain all factory objects - ht.putAll(prev.ft); // init main table with factories - } + private final Map<Key<?>,Factory<?>> ft = new HashMap<>(); /* * The key table, providing a unique Key<T> for each Class<T>. */ - private Map<Class<?>, Key<?>> kt = new HashMap<>(); + private final Map<Class<?>, Key<?>> kt = new HashMap<>(); private <T> Key<T> key(Class<T> clss) { checkState(kt); @@ -214,12 +208,6 @@ public class Context { System.err.println(value == null ? null : value.getClass()); } - public void clear() { - ht = null; - kt = null; - ft = null; - } - private static void checkState(Map<?,?> t) { if (t == null) throw new IllegalStateException(); diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Log.java b/langtools/src/share/classes/com/sun/tools/javac/util/Log.java index 710a8310e1b..2bd1ee5b9e9 100644 --- a/langtools/src/share/classes/com/sun/tools/javac/util/Log.java +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Log.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 @@ -390,19 +390,6 @@ public class Log extends AbstractLog { noticeWriter = warnWriter = errWriter = pw; } - /** - * Propagate the previous log's information. - */ - public void initRound(Log other) { - this.noticeWriter = other.noticeWriter; - this.warnWriter = other.warnWriter; - this.errWriter = other.errWriter; - this.sourceMap = other.sourceMap; - this.recorded = other.recorded; - this.nerrors = other.nerrors; - this.nwarnings = other.nwarnings; - } - /** * Replace the specified diagnostic handler with the * handler that was current at the time this handler was created. diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java b/langtools/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java index 7428b97e0f6..f9fcaa74864 100644 --- a/langtools/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java +++ b/langtools/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java @@ -288,10 +288,6 @@ public class ClassDocImpl extends ProgramElementDocImpl implements ClassDoc { return false; } - public boolean isFunctionalInterface() { - return env.types.isFunctionalInterface(tsym) && env.source.allowLambda(); - } - /** * Return the package that this class is contained in. */ diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java b/langtools/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java index 9046bc02a6b..25ab5561dee 100644 --- a/langtools/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java +++ b/langtools/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java @@ -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 @@ -381,6 +381,11 @@ public class RootDocImpl extends DocImpl implements RootDoc { env.initDoclint(opts, customTagNames); } + public boolean isFunctionalInterface(AnnotationDesc annotationDesc) { + return annotationDesc.annotationType().qualifiedName().equals( + env.syms.functionalInterfaceType.toString()) && env.source.allowLambda(); + } + public boolean showTagMessages() { return env.showTagMessages(); } diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java b/langtools/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java index 03abe7ba117..a5e79118da8 100644 --- a/langtools/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java +++ b/langtools/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, 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 @@ -398,7 +398,8 @@ class SeeTagImpl extends TagImpl implements SeeTag, LayoutCharacters { private MemberDoc findExecutableMember(String memName, String[] paramarr, ClassDoc referencedClass) { - if (memName.equals(referencedClass.name())) { + String className = referencedClass.name(); + if (memName.equals(className.substring(className.lastIndexOf(".") + 1))) { return ((ClassDocImpl)referencedClass).findConstructor(memName, paramarr); } else { // it's a method. diff --git a/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java b/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java index 83b8ba8e9e1..a483775b78b 100644 --- a/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java +++ b/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java @@ -202,7 +202,6 @@ public class ClassWriter extends BasicWriter { if (options.verbose) { println(); indent(+1); - attrWriter.write(cf, cf.attributes, constant_pool); println("minor version: " + cf.minor_version); println("major version: " + cf.major_version); writeList("flags: ", flags.getClassFlags(), "\n"); @@ -218,6 +217,10 @@ public class ClassWriter extends BasicWriter { writeMethods(); indent(-1); println("}"); + + if (options.verbose) { + attrWriter.write(cf, cf.attributes, constant_pool); + } } // where class JavaTypePrinter implements Type.Visitor<StringBuilder,StringBuilder> { diff --git a/langtools/src/share/classes/javax/lang/model/util/Types.java b/langtools/src/share/classes/javax/lang/model/util/Types.java index 7dc7652a400..e4bc4e8b66f 100644 --- a/langtools/src/share/classes/javax/lang/model/util/Types.java +++ b/langtools/src/share/classes/javax/lang/model/util/Types.java @@ -132,12 +132,15 @@ public interface Types { boolean isSubsignature(ExecutableType m1, ExecutableType m2); /** - * Returns the direct supertypes of a type. The interface types, if any, - * will appear last in the list. + * Returns the direct supertypes of a type. The interface types, if any, + * will appear last in the list. For an interface type with no direct + * super-interfaces, a type mirror representing {@code java.lang.Object} + * is returned. * * @param t the type being examined * @return the direct supertypes, or an empty list if none * @throws IllegalArgumentException if given an executable or package type + * @jls 4.10 Subtyping */ List<? extends TypeMirror> directSupertypes(TypeMirror t); diff --git a/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java b/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java index 90524af51af..52cebb631e7 100644 --- a/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java +++ b/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.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 @@ -23,7 +23,7 @@ /* * @test - * @bug 8025524 + * @bug 8025524 8031625 * @summary Test for constructor name which should be a non-qualified name. * @author Bhavesh Patel * @library ../lib/ @@ -37,6 +37,21 @@ public class TestConstructors extends JavadocTester { //Input for string search tests. private static final String[][] TEST = { + {BUG_ID + FS + "pkg1" + FS + "Outer.html", + "<dt><span class=\"seeLabel\">See Also:</span></dt>" + NL + + "<dd><a href=\"../pkg1/Outer.Inner.html#Inner--\"><code>Inner()</code></a>, " + NL + + "<a href=\"../pkg1/Outer.Inner.html#Inner-int-\"><code>Inner(int)</code></a>, " + NL + + "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner--\"><code>NestedInner()</code></a>, " + NL + + "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\"><code>NestedInner(int)</code></a>, " + NL + + "<a href=\"../pkg1/Outer.html#Outer--\"><code>Outer()</code></a>, " + NL + + "<a href=\"../pkg1/Outer.html#Outer-int-\"><code>Outer(int)</code></a>" + }, + {BUG_ID + FS + "pkg1" + FS + "Outer.html", + "Link: <a href=\"../pkg1/Outer.Inner.html#Inner--\"><code>Inner()</code></a>, " + + "<a href=\"../pkg1/Outer.html#Outer-int-\"><code>Outer(int)</code></a>, " + + "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\"><code>" + + "NestedInner(int)</code></a>" + }, {BUG_ID + FS + "pkg1" + FS + "Outer.html", "<a href=\"../pkg1/Outer.html#Outer--\">Outer</a></span>()" }, @@ -87,6 +102,18 @@ public class TestConstructors extends JavadocTester { }, {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.NestedInner.html", "Outer.Inner.NestedInner-int-" + }, + {BUG_ID + FS + "pkg1" + FS + "Outer.html", + "<a href=\"../pkg1/Outer.Inner.html#Outer.Inner--\"><code>Outer.Inner()</code></a>" + }, + {BUG_ID + FS + "pkg1" + FS + "Outer.html", + "<a href=\"../pkg1/Outer.Inner.html#Outer.Inner-int-\"><code>Outer.Inner(int)</code></a>" + }, + {BUG_ID + FS + "pkg1" + FS + "Outer.html", + "<a href=\"../pkg1/Outer.Inner.NestedInner.html#Outer.Inner.NestedInner--\"><code>Outer.Inner.NestedInner()</code></a>" + }, + {BUG_ID + FS + "pkg1" + FS + "Outer.html", + "<a href=\"../pkg1/Outer.Inner.NestedInner.html#Outer.Inner.NestedInner-int-\"><code>Outer.Inner.NestedInner(int)</code></a>" } }; diff --git a/langtools/test/com/sun/javadoc/testConstructors/pkg1/Outer.java b/langtools/test/com/sun/javadoc/testConstructors/pkg1/Outer.java index 7cf5ef63bb2..9d8f76fefb9 100644 --- a/langtools/test/com/sun/javadoc/testConstructors/pkg1/Outer.java +++ b/langtools/test/com/sun/javadoc/testConstructors/pkg1/Outer.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 @@ -23,6 +23,17 @@ package pkg1; +/** + * Test link tag. + * Link: {@link pkg1.Outer.Inner#Inner()}, {@link pkg1.Outer#Outer(int)}, {@link pkg1.Outer.Inner.NestedInner#NestedInner(int)} + * + * @see Outer.Inner#Inner() + * @see Outer.Inner#Inner(int) + * @see Outer.Inner.NestedInner#NestedInner() + * @see Outer.Inner.NestedInner#NestedInner(int) + * @see Outer#Outer() + * @see Outer#Outer(int) + */ public class Outer { /** diff --git a/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java b/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java index 0fb47c1eddc..dc0a04db0b5 100644 --- a/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java +++ b/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.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 @@ -23,7 +23,7 @@ /* * @test - * @bug 8004893 8022738 + * @bug 8004893 8022738 8029143 * @summary Make sure that the lambda feature changes work fine in * javadoc. * @author bpatel @@ -87,6 +87,11 @@ public class TestLambdaFeature extends JavadocTester { "<pre>default default void defaultMethod()</pre>"}, {BUG_ID + FS + "pkg" + FS + "B.html", "<td class=\"colFirst\"><code>default void</code></td>"}, + {BUG_ID + FS + "pkg1" + FS + "NotAFuncInf.html", + "<dl>" + NL + "<dt>Functional Interface:</dt>" + NL + + "<dd>This is a functional interface and can therefore be used as " + + "the assignment target for a lambda expression or method " + + "reference.</dd>" + NL + "</dl>"}, {BUG_ID + FS + "pkg" + FS + "B.html", "<dl>" + NL + "<dt>Functional Interface:</dt>"} }; diff --git a/langtools/test/com/sun/javadoc/testLambdaFeature/pkg/A.java b/langtools/test/com/sun/javadoc/testLambdaFeature/pkg/A.java index c52f249b491..8e5992baebf 100644 --- a/langtools/test/com/sun/javadoc/testLambdaFeature/pkg/A.java +++ b/langtools/test/com/sun/javadoc/testLambdaFeature/pkg/A.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 @@ -23,6 +23,7 @@ package pkg; +@FunctionalInterface public interface A { public void method1(); diff --git a/langtools/test/com/sun/javadoc/testLambdaFeature/pkg1/FuncInf.java b/langtools/test/com/sun/javadoc/testLambdaFeature/pkg1/FuncInf.java index 566acf596ca..bace6ea9b98 100644 --- a/langtools/test/com/sun/javadoc/testLambdaFeature/pkg1/FuncInf.java +++ b/langtools/test/com/sun/javadoc/testLambdaFeature/pkg1/FuncInf.java @@ -23,6 +23,7 @@ package pkg1; +@FunctionalInterface public interface FuncInf<V> { V call() throws Exception; diff --git a/langtools/test/com/sun/javadoc/testLambdaFeature/pkg1/NotAFuncInf.java b/langtools/test/com/sun/javadoc/testLambdaFeature/pkg1/NotAFuncInf.java new file mode 100644 index 00000000000..24ad4cd393e --- /dev/null +++ b/langtools/test/com/sun/javadoc/testLambdaFeature/pkg1/NotAFuncInf.java @@ -0,0 +1,29 @@ +/* + * 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 pkg1; + +public interface NotAFuncInf<V> { + + V call() throws Exception; +} diff --git a/langtools/test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java b/langtools/test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java index 7749bb92b67..bfc19852a1a 100644 --- a/langtools/test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java +++ b/langtools/test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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,7 +26,7 @@ import java.io.*; /* * @test - * @bug 4341304 4485668 4966728 + * @bug 4341304 4485668 4966728 8032066 * @summary Test that methods readResolve and writeReplace show * up in serialized-form.html the same way that readObject and writeObject do. * If the doclet includes readResolve and writeReplace in the serialized-form @@ -54,12 +54,70 @@ public class TestSerializedForm extends JavadocTester implements Serializable { "protected java.lang.Object readObjectNoData()"}, {BUG_ID + FS + "serialized-form.html", "See Also"}, + {BUG_ID + "/serialized-form.html", + "<h3>Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass " + + "extends java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "/serialized-form.html", + "<h3>Class pkg1.PrivateIncludeInnerClass.PriInnerClass extends " + + "java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "/serialized-form.html", + "<h3>Class pkg1.ProtectedInnerClass.ProInnerClass extends " + + "java.lang.Object implements Serializable</h3>"} + }; + + private static final String[][] TEST_PRIVATE = { + {BUG_ID + "-1/serialized-form.html", + "<h3>Class <a href=\"pkg1/NestedInnerClass.InnerClass.ProNestedInnerClass.html\" " + + "title=\"class in pkg1\">pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass</a> " + + "extends java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "-1/serialized-form.html", + "<h3>Class <a href=\"pkg1/PrivateIncludeInnerClass.PriInnerClass.html\" title=\"class in pkg1\">" + + "pkg1.PrivateIncludeInnerClass.PriInnerClass</a> extends java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "-1/serialized-form.html", + "<h3>Class <a href=\"pkg1/ProtectedInnerClass.ProInnerClass.html\" title=\"class in pkg1\">" + + "pkg1.ProtectedInnerClass.ProInnerClass</a> extends java.lang.Object implements Serializable</h3>"} + }; + + private static final String[][] NEGATED_TEST = { + {BUG_ID + "/serialized-form.html", + "<h3>Class <a href=\"pkg1/NestedInnerClass.InnerClass.ProNestedInnerClass.html\" " + + "title=\"class in pkg1\">pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass</a> " + + "extends java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "/serialized-form.html", + "<h3>Class <a href=\"pkg1/PrivateInnerClass.PriInnerClass.html\" title=\"class in pkg1\">" + + "pkg1.PrivateInnerClass.PriInnerClass</a> extends java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "/serialized-form.html", + "<h3>Class <a href=\"pkg1/ProtectedInnerClass.ProInnerClass.html\" title=\"class in pkg1\">" + + "pkg1.ProtectedInnerClass.ProInnerClass</a> extends java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "/serialized-form.html", + "<h3>Class pkg1.PublicExcludeInnerClass.PubInnerClass extends java.lang.Object implements " + + "Serializable</h3>"} + }; + + private static final String[][] NEGATED_TEST_PRIVATE = { + {BUG_ID + "-1/serialized-form.html", + "<h3>Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass " + + "extends java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "-1/serialized-form.html", + "<h3>Class pkg1.PrivateInnerClass.PriInnerClass extends " + + "java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "-1/serialized-form.html", + "<h3>Class pkg1.ProtectedInnerClass.ProInnerClass extends " + + "java.lang.Object implements Serializable</h3>"}, + {BUG_ID + "-1/serialized-form.html", + "<h3>Class <a href=\"pkg1/PublicExcludeInnerClass.PubInnerClass.html\" " + + "title=\"class in pkg1\">pkg1.PublicExcludeInnerClass.PubInnerClass</a> " + + "extends java.lang.Object implements Serializable</h3>"} }; - private static final String[][] NEGATED_TEST = NO_TEST; private static final String[] ARGS = new String[] { "-d", BUG_ID, "-sourcepath", SRC_DIR, - SRC_DIR + FS + "TestSerializedForm.java" + SRC_DIR + "/TestSerializedForm.java", "pkg1" + }; + + private static final String[] ARGS_PRIVATE = new String[] { + "-private", "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR, + SRC_DIR + "/TestSerializedForm.java", "pkg1" }; /** @@ -74,7 +132,8 @@ public class TestSerializedForm extends JavadocTester implements Serializable { */ public static void main(String[] args) { TestSerializedForm tester = new TestSerializedForm(); - int actualExitCode = run(tester, ARGS, TEST, NEGATED_TEST); + run(tester, ARGS, TEST, NEGATED_TEST); + run(tester, ARGS_PRIVATE, TEST_PRIVATE, NEGATED_TEST_PRIVATE); tester.printSummary(); } @@ -93,34 +152,39 @@ public class TestSerializedForm extends JavadocTester implements Serializable { } /** + * @param s ObjectInputStream. * @throws IOException when there is an I/O error. * @serial */ - private void readObject(ObjectInputStream s) {} + private void readObject(ObjectInputStream s) throws IOException {} /** + * @param s ObjectOutputStream. * @throws IOException when there is an I/O error. * @serial */ - private void writeObject(ObjectOutputStream s) {} + private void writeObject(ObjectOutputStream s) throws IOException {} /** * @throws IOException when there is an I/O error. * @serialData This is a serial data comment. + * @return an object. */ - protected Object readResolve(){return null;} + protected Object readResolve() throws IOException {return null;} /** * @throws IOException when there is an I/O error. * @serialData This is a serial data comment. + * @return an object. */ - protected Object writeReplace(){return null;} + protected Object writeReplace() throws IOException {return null;} /** * @throws IOException when there is an I/O error. * @serialData This is a serial data comment. + * @return an object. */ - protected Object readObjectNoData() { + protected Object readObjectNoData() throws IOException { return null; } diff --git a/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/NestedInnerClass.java b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/NestedInnerClass.java new file mode 100644 index 00000000000..2b7e2912894 --- /dev/null +++ b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/NestedInnerClass.java @@ -0,0 +1,62 @@ +/* + * 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 pkg1; + +import java.io.*; + +/** + * A test class where the outer class is package private and the inner class is private + * and a nested inner class is protected. + * + * @author Bhavesh Patel + */ + +class NestedInnerClass { + + private static class InnerClass { + + protected static class ProNestedInnerClass implements java.io.Serializable { + + public final int SERIALIZABLE_CONSTANT = 1; + + /** + * @param s ObjectInputStream. + * @throws IOException when there is an I/O error. + * @serial + */ + private void readObject(ObjectInputStream s) throws IOException { + } + + /** + * @param s ObjectOutputStream. + * @throws IOException when there is an I/O error. + * @serial + */ + private void writeObject(ObjectOutputStream s) throws IOException { + } + } + } +} diff --git a/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PrivateIncludeInnerClass.java b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PrivateIncludeInnerClass.java new file mode 100644 index 00000000000..e81ba1862c0 --- /dev/null +++ b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PrivateIncludeInnerClass.java @@ -0,0 +1,62 @@ +/* + * 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 pkg1; + +import java.io.*; + +/** + * A test class where the outer class is package private and inner class + * is private which is included using the tag. + * + * @author Bhavesh Patel + */ + +class PrivateIncludeInnerClass { + + /** + * @serial include + */ + private static class PriInnerClass implements java.io.Serializable { + + public final int SERIALIZABLE_CONSTANT = 1; + + /** + * @param s ObjectInputStream. + * @throws IOException when there is an I/O error. + * @serial + */ + private void readObject(ObjectInputStream s) throws IOException { + } + + /** + * @param s ObjectOutputStream. + * @throws IOException when there is an I/O error. + * @serial + */ + private void writeObject(ObjectOutputStream s) throws IOException { + } + } +} diff --git a/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/ProtectedInnerClass.java b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/ProtectedInnerClass.java new file mode 100644 index 00000000000..8eee8e18d37 --- /dev/null +++ b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/ProtectedInnerClass.java @@ -0,0 +1,59 @@ +/* + * 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 pkg1; + +import java.io.*; + +/** + * A test class where outer class is package private and the inner class is + * protected. + * + * @author Bhavesh Patel + */ + +class ProtectedInnerClass { + + protected static class ProInnerClass implements java.io.Serializable { + + public final int SERIALIZABLE_CONSTANT = 1; + + /** + * @param s ObjectInputStream. + * @throws IOException when there is an I/O error. + * @serial + */ + private void readObject(ObjectInputStream s) throws IOException { + } + + /** + * @param s ObjectOutputStream. + * @throws IOException when there is an I/O error. + * @serial + */ + private void writeObject(ObjectOutputStream s) throws IOException { + } + } +} diff --git a/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PublicExcludeInnerClass.java b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PublicExcludeInnerClass.java new file mode 100644 index 00000000000..0c110600380 --- /dev/null +++ b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PublicExcludeInnerClass.java @@ -0,0 +1,62 @@ +/* + * 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 pkg1; + +import java.io.*; + +/** + * A test class where the outer class is package private and inner class + * is public which is excluded using the tag. + * + * @author Bhavesh Patel + */ + +class PublicExcludeInnerClass { + + /** + * @serial exclude + */ + public static class PubInnerClass implements java.io.Serializable { + + public final int SERIALIZABLE_CONSTANT = 1; + + /** + * @param s ObjectInputStream. + * @throws IOException when there is an I/O error. + * @serial + */ + private void readObject(ObjectInputStream s) throws IOException { + } + + /** + * @param s ObjectOutputStream. + * @throws IOException when there is an I/O error. + * @serial + */ + private void writeObject(ObjectOutputStream s) throws IOException { + } + } +} diff --git a/langtools/test/tools/javac/6668794/badSource/Test.out b/langtools/test/tools/javac/6668794/badSource/Test.out index 94e1416d7a7..2c8d26b4b4c 100644 --- a/langtools/test/tools/javac/6668794/badSource/Test.out +++ b/langtools/test/tools/javac/6668794/badSource/Test.out @@ -1 +1,2 @@ Test.java:10:6: compiler.err.cant.access: p.A, (compiler.misc.bad.source.file.header: A.java, (compiler.misc.file.doesnt.contain.class: p.A)) +1 error diff --git a/langtools/test/tools/javac/AnonymousSubclassTest.java b/langtools/test/tools/javac/AnonymousSubclassTest.java new file mode 100644 index 00000000000..6545c75b5f7 --- /dev/null +++ b/langtools/test/tools/javac/AnonymousSubclassTest.java @@ -0,0 +1,91 @@ +/* + * 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 8023945 + * @summary javac wrongly allows a subclass of an anonymous class + * @library /tools/javac/lib + * @build ToolBox + * @run main AnonymousSubclassTest + */ + +import java.util.ArrayList; +import java.io.IOException; + +public class AnonymousSubclassTest { + public static void main(String... args) throws Exception { + new AnonymousSubclassTest().run(); + } + + // To trigger the error we want, first we need to compile + // a class with an anonymous inner class: Foo$1. + final String foo = + "public class Foo {" + + " void m() { Foo f = new Foo() {}; }" + + "}"; + + // Then, we try to subclass the anonymous class + // Note: we must do this in two classes because a different + // error will be generated if we don't load Foo$1 through the + // class reader. + final String test1 = + "public class Test1 {" + + " void m() {"+ + " Foo f1 = new Foo();"+ + " Foo f2 = new Foo$1(f1) {};"+ + " }" + + "}"; + + final String test2 = + "public class Test2 {" + + " class T extends Foo$1 {" + + " public T(Foo f) { super(f); }" + + " }"+ + "}"; + + void compOk(String code) throws Exception { + ToolBox.javac(new ToolBox.JavaToolArgs().setSources(code)); + } + + void compFail(String code) throws Exception { + ArrayList<String> errors = new ArrayList<>(); + ToolBox.JavaToolArgs args = new ToolBox.JavaToolArgs(); + args.setSources(code) + .appendArgs("-cp", ".", "-XDrawDiagnostics") + .set(ToolBox.Expect.FAIL) + .setErrOutput(errors); + ToolBox.javac(args); + + if (!errors.get(0).contains("cant.inherit.from.anon")) { + System.out.println(errors.get(0)); + throw new Exception("test failed"); + } + } + + void run() throws Exception { + compOk(foo); + compFail(test1); + compFail(test2); + } +} diff --git a/langtools/test/tools/javac/ConstFoldTest.java b/langtools/test/tools/javac/ConstFoldTest.java new file mode 100644 index 00000000000..c9865f3a476 --- /dev/null +++ b/langtools/test/tools/javac/ConstFoldTest.java @@ -0,0 +1,86 @@ +/* + * 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 8025505 + * @summary Constant folding deficiency + * @library /tools/javac/lib + * @build ToolBox + * @run main ConstFoldTest + */ + +import java.net.URL; +import java.util.List; + +public class ConstFoldTest { + public static void main(String... args) throws Exception { + new ConstFoldTest().run(); + } + + // This is the test case. This class should end up + // as straight-line code with no conditionals + class CFTest { + void m() { + int x; + if (1 != 2) x=1; else x=0; + if (1 == 2) x=1; else x=0; + if ("" != null) x=1; else x=0; + if ("" == null) x=1; else x=0; + if (null == null) x=1; else x=0; + if (null != null) x=1; else x=0; + + x = 1 != 2 ? 1 : 0; + x = 1 == 2 ? 1 : 0; + x = "" != null ? 1 : 0; + x = "" == null ? 1 : 0; + x = null == null ? 1 : 0; + x = null != null ? 1 : 0; + + boolean b; + b = 1 != 2 && true; + b = 1 == 2 || true; + b = ("" != null) && true; + b = ("" == null) || true; + b = (null == null) && true; + b = (null != null) || true; + } + } + + // All of the conditionals above should be eliminated. + // these if* bytecodes should not be seen + final String regex = "\\sif(?:null|nonnull|eq|ne){1}\\s"; + + void run() throws Exception { + URL url = ConstFoldTest.class.getResource("ConstFoldTest$CFTest.class"); + String result = ToolBox.javap(new ToolBox.JavaToolArgs().setAllArgs("-c", url.getFile())); + System.out.println(result); + + List<String> bad_codes = ToolBox.grep(regex, result, "\n"); + if (!bad_codes.isEmpty()) { + for (String code : bad_codes) + System.out.println("Bad OpCode Found: " + code); + throw new Exception("constant folding failed"); + } + } +} diff --git a/langtools/test/tools/javac/OverrideChecks/IncompleteMessageOverride.java b/langtools/test/tools/javac/OverrideChecks/IncompleteMessageOverride.java new file mode 100644 index 00000000000..8369c66fb7a --- /dev/null +++ b/langtools/test/tools/javac/OverrideChecks/IncompleteMessageOverride.java @@ -0,0 +1,16 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8035956 + * @summary javac, incomplete error message + * @author kizune + * + * @run compile/fail/ref=IncompleteMessageOverride.out -XDrawDiagnostics IncompleteMessageOverride.java + */ + +class Super { + static void m() {} +} + +class Sub extends Super { + private static void m() {} +} diff --git a/langtools/test/tools/javac/OverrideChecks/IncompleteMessageOverride.out b/langtools/test/tools/javac/OverrideChecks/IncompleteMessageOverride.out new file mode 100644 index 00000000000..62cab888c9e --- /dev/null +++ b/langtools/test/tools/javac/OverrideChecks/IncompleteMessageOverride.out @@ -0,0 +1,2 @@ +IncompleteMessageOverride.java:15:25: compiler.err.override.weaker.access: (compiler.misc.cant.override: m(), Sub, m(), Super), package +1 error diff --git a/langtools/test/tools/javac/StdoutCloseTest.java b/langtools/test/tools/javac/StdoutCloseTest.java new file mode 100644 index 00000000000..f6cb8b86a4f --- /dev/null +++ b/langtools/test/tools/javac/StdoutCloseTest.java @@ -0,0 +1,90 @@ +/* + * 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 7118295 + * @summary javac does not explicitly close -Xstdout file + * @run main StdoutCloseTest + */ + + +import com.sun.tools.javac.util.Log; +import com.sun.tools.javac.main.Main; + +import java.io.*; +import java.util.ArrayList; +import java.util.List; + +public class StdoutCloseTest { + + public static void main(String[] args) throws Exception { + new StdoutCloseTest().test(); + } + + static final String program = "public class Test {\n" + + " public boolean test() {\n" + + " int i;\n" + + " if (i > 0) return true;\n" + + " return false;\n" + + " }\n" + + "}\n"; + + public void test() throws Exception { + final String sourceName = "Test.java"; + final String outName = "Test.out"; + File source = new File(sourceName); + PrintWriter pw = new PrintWriter(source); + pw.write(program); + pw.flush(); + pw.close(); + + PrintWriter log = compileClass(sourceName, outName); + + File outFile = new File(outName); + if (!outFile.exists()) { + throw new Exception("Output file was not created!"); + } + if (!log.checkError()) { // will return true if the stream is still open + log.close(); // Close output PrintWriter manually + throw new Exception("Output file was still open!"); + } + } + + public PrintWriter compileClass(String src, String out) { + List<String> options = new ArrayList<>(); + options.add("-Xstdout"); + options.add(out); + options.add(src); + + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + Main compiler = new Main("javac", pw); + compiler.compile(options.toArray(new String[options.size()])); + pw.flush(); + if (sw.getBuffer().length() > 0) { + System.err.println(sw.toString()); + } + return compiler.log.getWriter(Log.WriterKind.NOTICE); + } +} diff --git a/langtools/test/tools/javac/T6358168.java b/langtools/test/tools/javac/T6358168.java index fe7fec2417d..9023e9d1855 100644 --- a/langtools/test/tools/javac/T6358168.java +++ b/langtools/test/tools/javac/T6358168.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2011, 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 @@ -99,10 +99,9 @@ public class T6358168 extends AbstractProcessor { "-d", "."}); JavaCompiler compiler = JavaCompiler.instance(context); - compiler.initProcessAnnotations(null); - JavaCompiler compiler2 = compiler.processAnnotations(compiler.enterTrees(compiler.parseFiles(List.of(f)))); + compiler.compile(List.of(f)); try { - compiler2.compile(List.of(f)); + compiler.compile(List.of(f)); throw new Error("Error: AssertionError not thrown after second call of compile"); } catch (AssertionError e) { System.err.println("Exception from compiler (expected): " + e); diff --git a/langtools/test/tools/javac/T7053059/DoubleCastTest.java b/langtools/test/tools/javac/T7053059/DoubleCastTest.java new file mode 100644 index 00000000000..6c96bd930d3 --- /dev/null +++ b/langtools/test/tools/javac/T7053059/DoubleCastTest.java @@ -0,0 +1,76 @@ +/* + * 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 8015499 + * @summary javac, Gen is generating extra checkcast instructions in some corner cases + * @run main DoubleCastTest + */ + +import java.util.List; +import java.util.ArrayList; +import com.sun.tools.classfile.*; +import com.sun.tools.javac.util.Assert; + +public class DoubleCastTest { + class C { + Object x; + Object m() { return null; } + void m1(byte[] b) {} + void m2() { + Object o; + Object[] os = null; + m1((byte[])(o = null)); + m1((byte[])o); + m1((byte[])(o == null ? o : o)); + m1((byte[])m()); + m1((byte[])os[0]); + m1((byte[])this.x); + } + } + + public static void main(String... cmdline) throws Exception { + + ClassFile cls = ClassFile.read(DoubleCastTest.class.getResourceAsStream("DoubleCastTest$C.class")); + for (Method m: cls.methods) + check(m); + } + + static void check(Method m) throws Exception { + boolean last_is_cast = false; + int last_ref = 0; + Code_attribute ea = (Code_attribute)m.attributes.get(Attribute.Code); + for (Instruction i : ea.getInstructions()) { + if (i.getOpcode() == Opcode.CHECKCAST) { + Assert.check + (!(last_is_cast && last_ref == i.getUnsignedShort(1)), + "Double cast found - Test failed"); + last_is_cast = true; + last_ref = i.getUnsignedShort(1); + } else { + last_is_cast = false; + } + } + } +} diff --git a/langtools/test/tools/javac/T8034044.java b/langtools/test/tools/javac/T8034044.java new file mode 100644 index 00000000000..47d92870e3b --- /dev/null +++ b/langtools/test/tools/javac/T8034044.java @@ -0,0 +1,60 @@ +/* + * 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 8034044 + * @summary An anonymous class should not be static + */ + +import static java.lang.reflect.Modifier.*; + +public class T8034044 { + enum En { + V() {} + } + + static class InnStat { + static Object o = new Object() {}; + } + + public static void main(String[] args) + throws Throwable { + Object o = new Object() {}; + test(o.getClass()); + test(En.V.getClass()); + test(InnStat.o.getClass()); + new T8034044().f(); + } + + public void f() { + Object o = new Object() {}; + test(o.getClass()); + } + + static void test(Class clazz) { + if ((clazz.getModifiers() & STATIC) != 0) + throw new AssertionError(clazz.toString() + + " should not be static"); + } +} diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateScoping.out b/langtools/test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateScoping.out index d2144ab86b0..638b91d14ee 100644 --- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateScoping.out +++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateScoping.out @@ -6,6 +6,7 @@ CantAnnotateScoping.java:47:18: compiler.err.cant.type.annotate.scoping.1: @TA CantAnnotateScoping.java:56:37: compiler.err.cant.type.annotate.scoping: @TA,@TA2 CantAnnotateScoping.java:40:14: compiler.err.cant.type.annotate.scoping.1: @TA CantAnnotateScoping.java:42:34: compiler.err.cant.type.annotate.scoping: @TA,@DA,@TA2 +CantAnnotateScoping.java:42:25: compiler.err.annotation.type.not.applicable CantAnnotateScoping.java:44:38: compiler.err.cant.type.annotate.scoping: @TA,@DA CantAnnotateScoping.java:44:34: compiler.err.annotation.type.not.applicable -10 errors \ No newline at end of file +11 errors diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/failures/CheckErrorsForSource7.java b/langtools/test/tools/javac/annotations/typeAnnotations/failures/CheckErrorsForSource7.java new file mode 100644 index 00000000000..56c8adf588e --- /dev/null +++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/CheckErrorsForSource7.java @@ -0,0 +1,195 @@ +/* + * 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 8035890 + * @summary Verify that the parser correctly checks for source level 8 on the new places where + * annotations can appear in 8. + * @run main CheckErrorsForSource7 CheckErrorsForSource7.java + */ +import java.io.File; +import java.io.IOException; +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import javax.tools.Diagnostic; +import javax.tools.DiagnosticCollector; +import javax.tools.JavaFileObject; +import javax.tools.SimpleJavaFileObject; +import com.sun.source.tree.AnnotationTree; +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.tree.IdentifierTree; +import com.sun.source.tree.Tree.Kind; +import com.sun.source.util.JavacTask; +import com.sun.source.util.TreePathScanner; +import com.sun.source.util.Trees; +import com.sun.tools.javac.api.JavacTool; +import com.sun.tools.javac.file.JavacFileManager; + +/**For each place where an annotation can syntactically appear with -source 8, but not with + * -source 7, this test verifies that an error is correctly emitted from the parser for + * the annotation for -source 7. This test first gathers the occurrences of @TA from + * the CheckErrorsForSource7Data class below, and then repeatedly removes all these annotations + * except one and checks the parser reports an expected error. This is needed as as the parser + * typically produces only one 'insufficient source level' error for each new feature used. + */ +public class CheckErrorsForSource7 { + public static void main(String... args) throws IOException, URISyntaxException { + new CheckErrorsForSource7().run(args); + } + + private void run(String... args) throws IOException, URISyntaxException { + //the first and only parameter must be the name of the file to be analyzed: + if (args.length != 1) throw new IllegalStateException("Must provide source file!"); + File testSrc = new File(System.getProperty("test.src")); + File testFile = new File(testSrc, args[0]); + if (!testFile.canRead()) throw new IllegalStateException("Cannot read the test source"); + JavacFileManager fm = JavacTool.create().getStandardFileManager(null, null, null); + + //gather spans of the @TA annotations into typeAnnotationSpans: + JavacTask task = JavacTool.create().getTask(null, + fm, + null, + Collections.<String>emptyList(), + null, + fm.getJavaFileObjects(testFile)); + final Trees trees = Trees.instance(task); + final CompilationUnitTree cut = task.parse().iterator().next(); + final List<int[]> typeAnnotationSpans = new ArrayList<>(); + + new TreePathScanner<Void, Void>() { + @Override + public Void visitAnnotation(AnnotationTree node, Void p) { + if (node.getAnnotationType().getKind() == Kind.IDENTIFIER && + ((IdentifierTree) node.getAnnotationType()).getName().contentEquals("TA")) { + int start = (int) trees.getSourcePositions().getStartPosition(cut, node); + int end = (int) trees.getSourcePositions().getEndPosition(cut, node); + typeAnnotationSpans.add(new int[] {start, end}); + } + return null; + } + }.scan(cut, null); + + //sort the spans in the reverse order, to simplify removing them from the source: + Collections.sort(typeAnnotationSpans, new Comparator<int[]>() { + @Override + public int compare(int[] o1, int[] o2) { + return o2[0] - o1[0]; + } + }); + + //verify the errors are produce correctly: + String originalSource = cut.getSourceFile().getCharContent(false).toString(); + + for (int[] toKeep : typeAnnotationSpans) { + //prepare updated source code by removing all the annotations except the toKeep one: + String updated = originalSource; + + for (int[] span : typeAnnotationSpans) { + if (span == toKeep) continue; + + updated = updated.substring(0, span[0]) + updated.substring(span[1]); + } + + //parse and verify: + JavaFileObject updatedFile = new TestFO(cut.getSourceFile().toUri(), updated); + DiagnosticCollector<JavaFileObject> errors = new DiagnosticCollector<>(); + JavacTask task2 = JavacTool.create().getTask(null, + fm, + errors, + Arrays.asList("-source", "7"), + null, + Arrays.asList(updatedFile)); + task2.parse(); + + boolean found = false; + + for (Diagnostic<? extends JavaFileObject> d : errors.getDiagnostics()) { + if (d.getKind() == Diagnostic.Kind.ERROR && EXPECTED_ERRORS.contains(d.getCode())) { + if (found) { + throw new IllegalStateException("More than one expected error found."); + } + found = true; + } + } + + if (!found) + throw new IllegalStateException("Did not produce proper errors for: " + updated); + } + } + + static final Set<String> EXPECTED_ERRORS = new HashSet<>(Arrays.asList( + "compiler.err.type.annotations.not.supported.in.source", + "compiler.err.annotations.after.type.params.not.supported.in.source" + )); + + class TestFO extends SimpleJavaFileObject { + private final String content; + public TestFO(URI uri, String content) { + super(uri, Kind.SOURCE); + this.content = content; + } + + @Override public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException { + return content; + } + + @Override public boolean isNameCompatible(String simpleName, Kind kind) { + return true; + } + } +} + +//data on which the source level check is verified: +class CheckErrorsForSource7Data { + @Target(ElementType.TYPE_USE) + @interface TA { } + + Object n1 = new @TA ArrayList<@TA String>(); + Object n2 = new @TA Object() {}; + Object [] @TA [] arr @TA[]; + <T> @TA int @TA[] ret(Object obj) @TA[] throws @TA Exception { + this.<@TA String>ret(null); + Object c1 = new @TA String[1]; + + int val = obj instanceof @TA String ? ((@TA String) obj).length() : 0; + List<@TA ?> l; + return null; + } + void vararg(String @TA ... args) { } + + abstract class C<@TA T extends @TA Number & @TA Runnable> + extends @TA ArrayList<@TA String> + implements java.util. @TA Comparator<@TA T> { } + + interface I extends java.util. @TA Comparator<@TA String> { } + +} diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out index 325094a615a..efb655727e1 100644 --- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out +++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out @@ -1,5 +1,5 @@ +DeclarationAnnotation.java:13:21: compiler.err.annotation.type.not.applicable DeclarationAnnotation.java:10:21: compiler.err.annotation.type.not.applicable DeclarationAnnotation.java:11:21: compiler.err.annotation.type.not.applicable DeclarationAnnotation.java:12:21: compiler.err.annotation.type.not.applicable -DeclarationAnnotation.java:13:21: compiler.err.annotation.type.not.applicable 4 errors diff --git a/langtools/test/tools/javac/classreader/BadClass.java b/langtools/test/tools/javac/classreader/BadClass.java new file mode 100644 index 00000000000..929b4d689ba --- /dev/null +++ b/langtools/test/tools/javac/classreader/BadClass.java @@ -0,0 +1,76 @@ +/* + * 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 6898851 + * @summary Compiling against this corrupt class file causes a stacktrace from javac + */ + +import java.io.File; +import java.io.FileWriter; +import java.io.StringWriter; +import java.io.PrintWriter; +import java.io.IOException; + +import com.sun.tools.classfile.ClassFile; +import com.sun.tools.classfile.ClassWriter; +import com.sun.tools.javac.Main; + +public class BadClass { + // Create and compile file containing body; return compiler output + static String makeClass(String dir, String filename, String body) throws IOException { + File file = new File(dir, filename); + try (FileWriter fw = new FileWriter(file)) { + fw.write(body); + } + + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + String args[] = { "-cp", dir, "-d", dir, "-XDrawDiagnostics", file.getPath() }; + Main.compile(args, pw); + pw.close(); + return sw.toString(); + } + + public static void main(String... args) throws Exception { + new File("d1").mkdir(); + new File("d2").mkdir(); + + // Step 1. build an empty class with an interface + makeClass("d1", "Empty.java", "abstract class Empty implements Readable {}"); + + // Step 2. Modify classfile to have invalid constant pool index + ClassFile cf = ClassFile.read(new File("d1","Empty.class")); + cf.interfaces[0] = cf.constant_pool.size() + 10; + ClassWriter cw = new ClassWriter(); + cw.write(cf, new File("d2","Empty.class")); + + // Step 3. Compile use of invalid class + String result = makeClass("d2", "EmptyUse.java", "class EmptyUse { Empty e; }"); + if (!result.contains("compiler.misc.bad.class.file")) { + System.out.println(result); + throw new Exception("test failed"); + } + } +} diff --git a/langtools/test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java b/langtools/test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java index ba69bd614aa..52f912b6ecb 100644 --- a/langtools/test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java +++ b/langtools/test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.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 @@ -26,6 +26,7 @@ * @bug 8005166 * @summary Add support for static interface methods * Smoke test for static interface method hiding + * @run main/timeout=600 InterfaceMethodHidingTest */ import com.sun.source.util.JavacTask; diff --git a/langtools/test/tools/javac/diags/ArgTypeCompilerFactory.java b/langtools/test/tools/javac/diags/ArgTypeCompilerFactory.java index 6c5ef038382..f8cab930697 100644 --- a/langtools/test/tools/javac/diags/ArgTypeCompilerFactory.java +++ b/langtools/test/tools/javac/diags/ArgTypeCompilerFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2011, 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 @@ -135,12 +135,7 @@ class ArgTypeCompilerFactory implements Example.Compiler.Factory { args.add(f.getPath()); Main main = new Main("javac", out); - Context c = new Context() { - @Override public void clear() { - ((JavacFileManager) get(JavaFileManager.class)).close(); - super.clear(); - } - }; + Context c = new Context(); JavacFileManager.preRegister(c); // can't create it until Log has been set up ArgTypeJavaCompiler.preRegister(c); ArgTypeMessages.preRegister(c); diff --git a/langtools/test/tools/javac/diags/examples.not-yet.txt b/langtools/test/tools/javac/diags/examples.not-yet.txt index 9f227708f46..fc60fb0091a 100644 --- a/langtools/test/tools/javac/diags/examples.not-yet.txt +++ b/langtools/test/tools/javac/diags/examples.not-yet.txt @@ -111,3 +111,5 @@ compiler.warn.unknown.enum.constant # in bad class file compiler.warn.unknown.enum.constant.reason # in bad class file compiler.warn.override.equals.but.not.hashcode # when a class overrides equals but not hashCode method from Object compiler.warn.file.from.future # warning for future modification times on files +compiler.err.cant.inherit.from.anon # error for subclass of anonymous class +compiler.misc.bad.class.file # class file is malformed diff --git a/jdk/test/javax/swing/UIDefaults/6795356/SwingLazyValueTest.java b/langtools/test/tools/javac/diags/examples/AnnotationsAfterTypeParamsNotSupportedInSource.java similarity index 63% rename from jdk/test/javax/swing/UIDefaults/6795356/SwingLazyValueTest.java rename to langtools/test/tools/javac/diags/examples/AnnotationsAfterTypeParamsNotSupportedInSource.java index 1fd97ac2949..9efc4c3d15b 100644 --- a/jdk/test/javax/swing/UIDefaults/6795356/SwingLazyValueTest.java +++ b/langtools/test/tools/javac/diags/examples/AnnotationsAfterTypeParamsNotSupportedInSource.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 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,24 +21,14 @@ * questions. */ -/* - * @test - * @bug 6795356 - * @summary Checks that SwingLazyValue class correclty works - * @author Alexander Potochkin - * @run main SwingLazyValueTest - */ +// key: compiler.err.annotations.after.type.params.not.supported.in.source +// key: compiler.warn.source.no.bootclasspath +// options: -source 7 -import sun.swing.SwingLazyValue; +@interface Anno { } -import javax.swing.*; - -public class SwingLazyValueTest { - - public static void main(String[] args) throws Exception { - if(new SwingLazyValue("javax.swing.JTable$DoubleRenderer"). - createValue(null) == null) { - throw new RuntimeException("SwingLazyValue doesn't work"); - } +class AnnotationsAfterTypeParamsNotSupportedInSource { + <T> @Anno int m() { + return 0; } } diff --git a/langtools/test/tools/javac/lambda/FunctionalInterfaceConversionTest.java b/langtools/test/tools/javac/lambda/FunctionalInterfaceConversionTest.java index 06db21564f6..8e50868f8a0 100644 --- a/langtools/test/tools/javac/lambda/FunctionalInterfaceConversionTest.java +++ b/langtools/test/tools/javac/lambda/FunctionalInterfaceConversionTest.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 @@ -30,7 +30,7 @@ * @author Maurizio Cimadamore * @library ../lib * @build JavacTestingAbstractThreadedTest - * @run main/othervm FunctionalInterfaceConversionTest + * @run main/timeout=600/othervm FunctionalInterfaceConversionTest */ // use /othervm to avoid jtreg timeout issues (CODETOOLS-7900047) diff --git a/langtools/test/tools/javac/lib/ToolBox.java b/langtools/test/tools/javac/lib/ToolBox.java index 73db0a42d2f..b933ab54de0 100644 --- a/langtools/test/tools/javac/lib/ToolBox.java +++ b/langtools/test/tools/javac/lib/ToolBox.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 @@ -22,11 +22,14 @@ */ import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; +import java.io.FilterOutputStream; import java.io.IOException; import java.io.InputStreamReader; +import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; import java.net.URI; @@ -40,15 +43,22 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.EnumSet; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.tools.FileObject; +import javax.tools.ForwardingJavaFileManager; import javax.tools.JavaCompiler; +import javax.tools.JavaFileManager; +import javax.tools.JavaFileManager.Location; import javax.tools.JavaFileObject; +import javax.tools.JavaFileObject.Kind; import javax.tools.SimpleJavaFileObject; +import javax.tools.StandardJavaFileManager; import javax.tools.ToolProvider; import com.sun.source.util.JavacTask; @@ -453,6 +463,45 @@ public class ToolBox { throw new AssertionError("javac command has been invoked with less parameters than needed"); } + /** + * Run javac and return the resulting classfiles. + */ + public static Map<String, byte[]> compile(JavaToolArgs params) + throws CommandExecutionException, IOException { + if (params.hasMinParams()) { + if (params.argsArr != null) { + throw new AssertionError("setAllArgs is not supported for compile"); + } + + StandardJavaFileManager fm = comp.getStandardFileManager(null, null, null); + MemoryFileManager mfm = new MemoryFileManager(fm); + StringWriter sw = null; + boolean rc; + + try (PrintWriter pw = (params.errOutput == null) ? + null : new PrintWriter(sw = new StringWriter())) { + JavacTask ct = (JavacTask)comp.getTask(pw, mfm, null, + params.args, null, params.sources); + rc = ct.call(); + } + + String out = (sw == null) ? null : sw.toString(); + + if (params.errOutput != null && (out != null) && !out.isEmpty()) { + params.errOutput.addAll(splitLines(out, lineSeparator)); + } + + if ( ( rc && params.whatToExpect == Expect.SUCCESS) || + (!rc && params.whatToExpect == Expect.FAIL) ) { + return mfm.classes; + } + + throw new CommandExecutionException(JavaCMD.JAVAC_API.getExceptionMsgContent(params), + params.whatToExpect); + } + throw new AssertionError("compile command has been invoked with less parameters than needed"); + } + /** * A javap calling method. */ @@ -964,4 +1013,66 @@ public class ToolBox { return source; } } + + /** + * A file manager for compiling strings to byte arrays. + * This file manager delegates to another file manager + * to lookup classes on boot class path. + */ + public static final class MemoryFileManager extends ForwardingJavaFileManager { + /** + * Maps binary class names to class files stored as byte arrays. + */ + private final Map<String, byte[]> classes; + + /** + * Construct a memory file manager which delegates to the specified + * file manager for unknown sources. + * @param fileManager a file manager used to look up class files on class path, etc. + */ + public MemoryFileManager(JavaFileManager fileManager) { + super(fileManager); + classes = new HashMap<>(); + } + + @java.lang.Override + public JavaFileObject getJavaFileForOutput(Location location, + String name, + Kind kind, + FileObject sibling) + throws UnsupportedOperationException + { + return new JavaClassInArray(name); + } + + /** + * A file object representing a Java class file stored in a byte array. + */ + private class JavaClassInArray extends SimpleJavaFileObject { + + private final String name; + + /** + * Constructs a JavaClassInArray object. + * @param name binary name of the class to be stored in this file object + */ + JavaClassInArray(String name) { + super(URI.create("mfm:///" + name.replace('.','/') + Kind.CLASS.extension), + Kind.CLASS); + this.name = name; + } + + public OutputStream openOutputStream() { + return new FilterOutputStream(new ByteArrayOutputStream()) { + public void close() throws IOException { + out.close(); + ByteArrayOutputStream bos = (ByteArrayOutputStream)out; + classes.put(name, bos.toByteArray()); + } + }; + } + } + + } + } diff --git a/langtools/test/tools/javac/processing/environment/ProcessingEnvAnnoDiscovery.java b/langtools/test/tools/javac/processing/environment/ProcessingEnvAnnoDiscovery.java new file mode 100644 index 00000000000..ef2721f83f5 --- /dev/null +++ b/langtools/test/tools/javac/processing/environment/ProcessingEnvAnnoDiscovery.java @@ -0,0 +1,78 @@ +/* + * 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 8038080 + * @summary make sure that all declaration annotations are discovered + * by the processing environment + * @library /tools/javac/lib + * @build JavacTestingAbstractProcessor ProcessingEnvAnnoDiscovery + * @compile/process -processor ProcessingEnvAnnoDiscovery ProcessingEnvAnnoDiscovery.java + */ + +import java.lang.annotation.*; +import java.util.Set; +import javax.annotation.processing.*; +import javax.lang.model.element.*; + +import com.sun.tools.javac.util.*; + +@ProcessingEnvAnnoDiscovery.Anno1 +public class ProcessingEnvAnnoDiscovery<@ProcessingEnvAnnoDiscovery.Anno4 T> + extends JavacTestingAbstractProcessor { + private int round = 0; + + public boolean process(Set<? extends TypeElement> annos, RoundEnvironment rEnv) { + if (round++ == 0) { + System.out.println(annos); + Assert.check(annos.contains(eltUtils.getTypeElement("java.lang.annotation.Target"))); + Assert.check(annos.contains(eltUtils.getTypeElement("ProcessingEnvAnnoDiscovery.Anno1"))); + Assert.check(annos.contains(eltUtils.getTypeElement("ProcessingEnvAnnoDiscovery.Anno2"))); + Assert.check(annos.contains(eltUtils.getTypeElement("ProcessingEnvAnnoDiscovery.Anno3"))); + Assert.check(annos.contains(eltUtils.getTypeElement("ProcessingEnvAnnoDiscovery.Anno4"))); + Assert.check(annos.contains(eltUtils.getTypeElement("ProcessingEnvAnnoDiscovery.Anno5"))); + Assert.check(annos.size() == 6, "Found extra annotations"); //Anno1-5 + @Target + } + + return true; + } + + @Anno2 + public <@Anno5 K> K m(@Anno3 long foo) { + return null; + } + + @interface Anno1 {} + + @interface Anno2 {} + + @interface Anno3 {} + + @Target(ElementType.TYPE_PARAMETER) + @interface Anno4 {} + + @Target(ElementType.TYPE_PARAMETER) + @interface Anno5 {} + +} diff --git a/langtools/test/tools/javac/processing/environment/round/Anno.java b/langtools/test/tools/javac/processing/environment/round/Anno.java new file mode 100644 index 00000000000..366b489e07b --- /dev/null +++ b/langtools/test/tools/javac/processing/environment/round/Anno.java @@ -0,0 +1,28 @@ +/* + * 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.lang.annotation.*; +import static java.lang.annotation.RetentionPolicy.*; + +@Retention(RUNTIME) +public @interface Anno {} diff --git a/langtools/test/tools/javac/processing/environment/round/ParameterAnnotations.java b/langtools/test/tools/javac/processing/environment/round/ParameterAnnotations.java new file mode 100644 index 00000000000..a4433e352e0 --- /dev/null +++ b/langtools/test/tools/javac/processing/environment/round/ParameterAnnotations.java @@ -0,0 +1,33 @@ +/* + * 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. + */ + +/** + * Class to hold annotations for ElementsAnnotatedWithTest. + */ + +@AnnotatedElementInfo(annotationName="Anno", + expectedSize=1, + names={"annotatedParameter"}) +public class ParameterAnnotations { + private void foo(@Anno Object annotatedParameter) {} +} diff --git a/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java b/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java index 3a020060d22..398b2f530df 100644 --- a/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java +++ b/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java @@ -23,7 +23,7 @@ /* * @test - * @bug 6397298 6400986 6425592 6449798 6453386 6508401 6498938 6911854 8030049 + * @bug 6397298 6400986 6425592 6449798 6453386 6508401 6498938 6911854 8030049 8038080 * @summary Tests that getElementsAnnotatedWith works properly. * @author Joseph D. Darcy * @library /tools/javac/lib @@ -31,12 +31,14 @@ * @compile TestElementsAnnotatedWith.java * @compile InheritedAnnotation.java * @compile TpAnno.java + * @compile Anno.java * @compile -processor TestElementsAnnotatedWith -proc:only SurfaceAnnotations.java * @compile -processor TestElementsAnnotatedWith -proc:only BuriedAnnotations.java * @compile -processor TestElementsAnnotatedWith -proc:only Part1.java Part2.java * @compile -processor TestElementsAnnotatedWith -proc:only C2.java * @compile -processor TestElementsAnnotatedWith -proc:only Foo.java * @compile -processor TestElementsAnnotatedWith -proc:only TypeParameterAnnotations.java + * @compile -processor TestElementsAnnotatedWith -proc:only ParameterAnnotations.java * @compile/fail/ref=ErroneousAnnotations.out -processor TestElementsAnnotatedWith -proc:only -XDrawDiagnostics ErroneousAnnotations.java * @compile Foo.java * @compile/process -processor TestElementsAnnotatedWith -proc:only Foo diff --git a/langtools/test/tools/javac/processing/errors/TestBadProcessor.java b/langtools/test/tools/javac/processing/errors/TestBadProcessor.java index 881b2d8b643..065c7bfbf7c 100644 --- a/langtools/test/tools/javac/processing/errors/TestBadProcessor.java +++ b/langtools/test/tools/javac/processing/errors/TestBadProcessor.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 @@ -73,8 +73,10 @@ public class TestBadProcessor { String expect = "error: Bad service configuration file, " + "or exception thrown while constructing Processor object: " + "javax.annotation.processing.Processor: " + - "Provider AnnoProc could not be instantiated: java.lang.Error"; - if (!out.trim().equals(expect)) { + "Provider AnnoProc could not be instantiated: java.lang.Error\n" + + "1 error"; + String lineSeparator = System.getProperty("line.separator"); + if (!out.trim().replace(lineSeparator, "\n").equals(expect)) { System.err.println("expected: " + expect); error("output not as expected"); } diff --git a/langtools/test/tools/javac/processing/model/trees/OnDemandAttribution.java b/langtools/test/tools/javac/processing/model/trees/OnDemandAttribution.java new file mode 100644 index 00000000000..e541deed822 --- /dev/null +++ b/langtools/test/tools/javac/processing/model/trees/OnDemandAttribution.java @@ -0,0 +1,78 @@ +/* + * 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 8038455 + * @summary Verify that in-method ClassSymbols from one round do not affect ClassSymbols in + * following rounds. + * @library /tools/javac/lib + * @build JavacTestingAbstractProcessor OnDemandAttribution + * @compile/process -processor OnDemandAttribution OnDemandAttribution.java + */ + +import java.util.*; +import javax.annotation.processing.*; +import javax.lang.model.element.*; +import static javax.lang.model.util.ElementFilter.*; +import com.sun.source.tree.*; +import com.sun.source.util.*; + +public class OnDemandAttribution extends JavacTestingAbstractProcessor { + + public OnDemandAttribution() { + class Local { } + new Object() { }; + } + + public boolean process(Set<? extends TypeElement> annos,RoundEnvironment rEnv) { + TypeElement currentClass = elements.getTypeElement("OnDemandAttribution"); + ExecutableElement constr = constructorsIn(currentClass.getEnclosedElements()).get(0); + Trees trees = Trees.instance(processingEnv); + TreePath path = trees.getPath(constr); + + new TreePathScanner<Void, Void>() { + @Override public Void visitClass(ClassTree node, Void p) { + if (node.getSimpleName().contentEquals("Local")) { + //will also attribute the body on demand: + Element el = trees.getElement(getCurrentPath()); + Name binaryName = elements.getBinaryName((TypeElement) el); + if (!binaryName.contentEquals("OnDemandAttribution$1Local")) { + throw new IllegalStateException("Incorrect binary name=" + binaryName); + } + } + return super.visitClass(node, p); + } + @Override public Void visitNewClass(NewClassTree node, Void p) { + Element el = trees.getElement(getCurrentPath()); + Name binaryName = elements.getBinaryName((TypeElement) el.getEnclosingElement()); + if (!binaryName.contentEquals("OnDemandAttribution$1")) { + throw new IllegalStateException("Incorrect binary name=" + binaryName); + } + return super.visitNewClass(node, p); + } + }.scan(path, null); + + return true; + } +} diff --git a/langtools/test/tools/javac/processing/model/util/DirectSuperOfInt.java b/langtools/test/tools/javac/processing/model/util/DirectSuperOfInt.java new file mode 100644 index 00000000000..08483ea9a11 --- /dev/null +++ b/langtools/test/tools/javac/processing/model/util/DirectSuperOfInt.java @@ -0,0 +1,66 @@ +/* + * 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 8034933 + * @summary Types.directSupertypes should return Object as the super type of interfaces + * @library /tools/javac/lib + * @build JavacTestingAbstractProcessor DirectSuperOfInt + * @compile -processor DirectSuperOfInt -proc:only DirectSuperOfInt.java + */ + +import java.util.Set; +import java.util.List; +import javax.annotation.processing.*; +import javax.lang.model.element.*; +import javax.lang.model.type.*; +import javax.lang.model.util.*; +import static javax.lang.model.util.ElementFilter.*; + +public class DirectSuperOfInt extends JavacTestingAbstractProcessor { + public boolean process(Set<? extends TypeElement> tes, + RoundEnvironment round) { + if (round.processingOver()) + return true; + + boolean tested = false; + for (TypeElement te : typesIn(round.getRootElements())) { + if (!te.getSimpleName().contentEquals("DirectSuperOfIntI")) + continue; + + tested = true; + List<? extends TypeMirror> supers = types.directSupertypes(te.asType()); + if (supers.size() != 1) + throw new AssertionError("test failed"); + + if (!elements.getTypeElement("java.lang.Object").asType().equals((supers.get(0)))) + throw new AssertionError("test failed"); + } + if (!tested) + throw new AssertionError("test failed"); + return true; + } +} + +interface DirectSuperOfIntI {} diff --git a/langtools/test/tools/javac/processing/rounds/BaseClassesNotReRead.java b/langtools/test/tools/javac/processing/rounds/BaseClassesNotReRead.java new file mode 100644 index 00000000000..ebdc9c809e3 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/BaseClassesNotReRead.java @@ -0,0 +1,166 @@ +/* + * 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 8038455 + * @summary Check that classfiles are read only once in common cases despite several rounds of + * annotation processing. + * @clean * + * @run main BaseClassesNotReRead + */ + +import java.io.*; +import java.util.*; +import javax.annotation.processing.*; +import javax.lang.model.*; +import javax.lang.model.element.*; +import javax.tools.*; +import javax.tools.JavaFileObject.Kind; +import com.sun.source.util.JavacTask; + + +@SupportedAnnotationTypes("*") +public class BaseClassesNotReRead extends AbstractProcessor { + public static void main(String... args) throws IOException { + new BaseClassesNotReRead().run(); + } + + void run() throws IOException { + File sources = new File(System.getProperty("test.src")); + JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + StandardJavaFileManager fm = compiler.getStandardFileManager(null, null, null); + Iterable<? extends JavaFileObject> files = + fm.getJavaFileObjects(new File(sources, "BaseClassesNotReReadSource.java")); + DiagnosticListener<JavaFileObject> noErrors = new DiagnosticListener<JavaFileObject>() { + @Override + public void report(Diagnostic<? extends JavaFileObject> diagnostic) { + throw new IllegalStateException(diagnostic.toString()); + } + }; + JavaFileManager manager = new OnlyOneReadFileManager(fm); + Iterable<String> options = Arrays.asList("-processor", "BaseClassesNotReRead"); + JavacTask task = (JavacTask) compiler.getTask(null, manager, noErrors, options, null, files); + task.analyze(); + } + + int round = 1; + public boolean process(Set<? extends TypeElement> annotations, + RoundEnvironment roundEnv) { + if (round++ == 1) { + for (int c = 1; c <= 6; c++) { + generateSource("GenClass" + c, + "public class GenClass" + c + " { public void test() { } }"); + } + for (int c = 1; c <= 3; c++) { + generateSource("GenIntf" + c, + "public interface GenIntf" + c + " { public void test(); }"); + } + generateSource("GenAnnotation", + "public @interface GenAnnotation { }"); + generateSource("GenException", + "public class GenException extends Exception { }"); + } + + return false; + } + + private void generateSource(String name, String code) { + Filer filer = processingEnv.getFiler(); + try (Writer out = filer.createSourceFile(name).openWriter()) { + out.write(code); + out.close(); + } catch (IOException e) { + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, e.toString()); + } + } + + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } + + final class OnlyOneReadFileManager extends ForwardingJavaFileManager<JavaFileManager> { + + public OnlyOneReadFileManager(JavaFileManager fileManager) { + super(fileManager); + } + + @Override + public JavaFileObject getJavaFileForInput(Location location, String className, Kind kind) + throws IOException { + return new OnlyOneReadJavaFileObject(super.getJavaFileForInput(location, className, kind)); + } + + @Override + public Iterable<JavaFileObject> list(Location location, String packageName, Set<Kind> kinds, + boolean recurse) throws IOException { + List<JavaFileObject> result = new ArrayList<>(); + for (JavaFileObject jfo : super.list(location, packageName, kinds, recurse)) { + result.add(new OnlyOneReadJavaFileObject(jfo)); + } + return result; + } + + @Override + public String inferBinaryName(Location location, JavaFileObject file) { + return super.inferBinaryName(location, + ((OnlyOneReadJavaFileObject) file).getFileObject()); + } + + } + + final class OnlyOneReadJavaFileObject extends ForwardingJavaFileObject<JavaFileObject> { + + public OnlyOneReadJavaFileObject(JavaFileObject fileObject) { + super(fileObject); + } + + boolean used; + + @Override + public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException { + if (used) throw new IllegalStateException("Already read."); + used = true; + return super.getCharContent(ignoreEncodingErrors); + } + + @Override + public InputStream openInputStream() throws IOException { + if (used) throw new IllegalStateException("Already read."); + used = true; + return super.openInputStream(); + } + + @Override + public Reader openReader(boolean ignoreEncodingErrors) throws IOException { + if (used) throw new IllegalStateException("Already read."); + used = true; + return super.openReader(ignoreEncodingErrors); + } + + public JavaFileObject getFileObject() { + return fileObject; + } + } +} diff --git a/langtools/test/tools/javac/processing/rounds/BaseClassesNotReReadSource.java b/langtools/test/tools/javac/processing/rounds/BaseClassesNotReReadSource.java new file mode 100644 index 00000000000..feaaa251134 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/BaseClassesNotReReadSource.java @@ -0,0 +1,40 @@ +/* + * 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.util.List; + +public class BaseClassesNotReReadSource<T extends GenClass1&GenIntf1> extends GenClass2 + implements GenIntf2 { + public GenClass3 f; + @GenAnnotation + public GenClass4 get(GenClass5 i, List<GenClass6> l) throws GenException { + return null; + } + @Override + public void test() { + } + @FunctionalInterface + interface FI extends GenIntf3 { + + } +} diff --git a/langtools/test/tools/javac/processing/rounds/ClassDependingOnGenerated.java b/langtools/test/tools/javac/processing/rounds/ClassDependingOnGenerated.java new file mode 100644 index 00000000000..e5f1c437275 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/ClassDependingOnGenerated.java @@ -0,0 +1,66 @@ +/* + * 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 8038455 + * @summary Verify situation when a classfile depends on another type, which is missing and + * generated by an annotation processor, is handled properly + * @library /tools/javac/lib/ + * @clean * + * @build ClassWithSuperType ClassDependingOnGenerated JavacTestingAbstractProcessor + * @clean SuperClass + * @compile -processor ClassDependingOnGenerated ClassDependingOnGeneratedSource.java + */ + +import java.io.*; +import java.util.*; +import javax.annotation.processing.*; +import javax.lang.model.element.*; +import javax.tools.*; +import com.sun.tools.javac.code.Symbol.CompletionFailure; + +public class ClassDependingOnGenerated extends JavacTestingAbstractProcessor { + int round = 1; + public boolean process(Set<? extends TypeElement> annotations, + RoundEnvironment roundEnv) { + + try { + processingEnv.getElementUtils().getTypeElement("SuperClass"); + } catch (CompletionFailure cf) { + cf.printStackTrace(); + } + if (round++ == 1) { + try (Writer out = filer.createSourceFile("SuperClass").openWriter()) { + String code = "class SuperClass { public int get() { return 0; } }"; + out.write(code); + out.close(); + } catch (IOException e) { + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, e.toString()); + } + } + + return false; + } + +} diff --git a/langtools/test/tools/javac/processing/rounds/ClassDependingOnGeneratedSource.java b/langtools/test/tools/javac/processing/rounds/ClassDependingOnGeneratedSource.java new file mode 100644 index 00000000000..a7dbc386324 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/ClassDependingOnGeneratedSource.java @@ -0,0 +1,29 @@ +/* + * 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. + */ + +public abstract class ClassDependingOnGeneratedSource { + ClassWithSuperType f; + public int get() { + return f.get(); + } +} diff --git a/langtools/test/tools/javac/processing/rounds/ClassWithSuperType.java b/langtools/test/tools/javac/processing/rounds/ClassWithSuperType.java new file mode 100644 index 00000000000..bd46b52a54e --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/ClassWithSuperType.java @@ -0,0 +1,26 @@ +/* + * 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. + */ + +public class ClassWithSuperType extends SuperClass { +} +class SuperClass {} diff --git a/langtools/test/tools/javac/processing/rounds/CompleteOnClosed.java b/langtools/test/tools/javac/processing/rounds/CompleteOnClosed.java new file mode 100644 index 00000000000..5de980774ee --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/CompleteOnClosed.java @@ -0,0 +1,64 @@ +/* + * 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 8038455 + * @summary Ensure that formatting diagnostics with an already closed JavaCompiler won't crash + * the compiler. + * @library /tools/javac/lib + * @build CompleteOnClosed ToolBox JavacTestingAbstractProcessor + * @run main CompleteOnClosed + */ + +import java.util.*; +import javax.annotation.processing.*; +import javax.lang.model.element.TypeElement; +import javax.tools.Diagnostic; +import javax.tools.DiagnosticCollector; +import javax.tools.JavaCompiler; +import javax.tools.JavaCompiler.CompilationTask; +import javax.tools.JavaFileObject; +import javax.tools.ToolProvider; + +public class CompleteOnClosed extends JavacTestingAbstractProcessor { + public static void main(String... args) { + JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + DiagnosticCollector<JavaFileObject> collector = new DiagnosticCollector<>(); + String source = "class Test extends CompleteOnClosedOther {" + + " class Inner extends Undefined { }" + + "}"; + Iterable<JavaFileObject> files = Arrays.<JavaFileObject>asList(new ToolBox.JavaSource(source)); + Iterable<String> options = Arrays.asList("-processor", "CompleteOnClosed"); + CompilationTask task = compiler.getTask(null, null, collector, options, null, files); + task.call(); + for (Diagnostic<? extends JavaFileObject> d : collector.getDiagnostics()) { + System.out.println(d.toString()); + } + } + + @Override + public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { + return false; + } +} diff --git a/langtools/test/tools/javac/processing/rounds/CompleteOnClosedOther.java b/langtools/test/tools/javac/processing/rounds/CompleteOnClosedOther.java new file mode 100644 index 00000000000..836eb29778a --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/CompleteOnClosedOther.java @@ -0,0 +1,26 @@ +/* + * 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. + */ + +class CompleteOnClosedOther { + Undefined2 undef; +} diff --git a/langtools/test/tools/javac/processing/rounds/MethodsDroppedBetweenRounds.java b/langtools/test/tools/javac/processing/rounds/MethodsDroppedBetweenRounds.java new file mode 100644 index 00000000000..668d05cef17 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/MethodsDroppedBetweenRounds.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. + */ + +/* + * @test + * @bug 8038455 + * @summary Ensure that Symbols for members (methods and fields) are dropped across annotation + * processing rounds. ClassSymbols need to be kept. + * @library /tools/javac/lib + * @build JavacTestingAbstractProcessor MethodsDroppedBetweenRounds + * @compile/process -processor MethodsDroppedBetweenRounds MethodsDroppedBetweenRounds.java + */ + +import java.lang.ref.WeakReference; +import java.util.*; +import javax.annotation.processing.*; +import javax.lang.model.element.*; +import javax.lang.model.util.ElementFilter; + +public class MethodsDroppedBetweenRounds extends JavacTestingAbstractProcessor { + private static TypeElement currentClassSymbol; + private static WeakReference<ExecutableElement> keptMethod = null; + public boolean process(Set<? extends TypeElement> annos,RoundEnvironment rEnv) { + if (keptMethod != null) { + //force GC: + List<byte[]> hold = new ArrayList<>(); + try { + while (true) + hold.add(new byte[1024 * 1024 * 1024]); + } catch (OutOfMemoryError err) { } + hold.clear(); + if (keptMethod.get() != null) { + throw new IllegalStateException("Holds method across rounds."); + } + } + + TypeElement currentClass = elements.getTypeElement("MethodsDroppedBetweenRounds"); + + if (currentClassSymbol != null && currentClassSymbol != currentClass) { + throw new IllegalStateException("Different ClassSymbols across rounds"); + } + + ExecutableElement method = ElementFilter.methodsIn(currentClass.getEnclosedElements()).get(0); + + keptMethod = new WeakReference<>(method); + + return true; + } +} diff --git a/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations.java b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations.java new file mode 100644 index 00000000000..e2bde26e5e1 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations.java @@ -0,0 +1,118 @@ +/* + * 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 8038455 + * @summary Verify that annotation processor can overwrite source and class files it generated + * during previous compilations, and that the Symbols are updated appropriatelly. + * @library /tools/javac/lib/ + * @clean * + * @build OverwriteBetweenCompilations ToolBox JavacTestingAbstractProcessor + * @compile/ref=OverwriteBetweenCompilations_1.out -processor OverwriteBetweenCompilations -Apass=1 -parameters -XDrawDiagnostics OverwriteBetweenCompilationsSource.java + * @compile/ref=OverwriteBetweenCompilations_2.out -processor OverwriteBetweenCompilations -Apass=2 -parameters -XDrawDiagnostics OverwriteBetweenCompilationsSource.java + * @compile/ref=OverwriteBetweenCompilations_3.out -processor OverwriteBetweenCompilations -Apass=3 -parameters -XDrawDiagnostics OverwriteBetweenCompilationsSource.java + */ + +import java.io.*; +import java.util.*; + +import javax.annotation.processing.*; +import javax.lang.model.element.*; +import javax.tools.*; + +import com.sun.tools.javac.processing.JavacProcessingEnvironment; +import com.sun.tools.javac.processing.PrintingProcessor.PrintingElementVisitor; +import com.sun.tools.javac.util.Log; +import com.sun.tools.javac.util.Log.WriterKind; + +@SupportedOptions("pass") +public class OverwriteBetweenCompilations extends JavacTestingAbstractProcessor { + int round = 1; + public boolean process(Set<? extends TypeElement> annotations, + RoundEnvironment roundEnv) { + Log log = Log.instance(((JavacProcessingEnvironment) processingEnv).getContext()); + PrintWriter pw = log.getWriter(WriterKind.NOTICE); + + pw.println("round: " + round); + + TypeElement generatedSource = + processingEnv.getElementUtils().getTypeElement("GeneratedSource"); + + if (generatedSource != null) { + new PrintingElementVisitor(pw, processingEnv.getElementUtils()).visit(generatedSource); + pw.flush(); + } + + TypeElement generatedClass = + processingEnv.getElementUtils().getTypeElement("GeneratedClass"); + + if (generatedClass != null) { + new PrintingElementVisitor(pw, processingEnv.getElementUtils()).visit(generatedClass); + pw.flush(); + } + + int pass = Integer.parseInt(processingEnv.getOptions().get("pass")); + + if (round++ == 1) { + try (Writer out = filer.createSourceFile("GeneratedSource").openWriter()) { + String code = pass != 2 ? GENERATED_INIT : GENERATED_UPDATE; + code = code.replace("NAME", "GeneratedSource"); + out.write(code); + } catch (IOException e) { + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, e.toString()); + } + try (OutputStream out = filer.createClassFile("GeneratedClass").openOutputStream()) { + String code = pass != 2 ? GENERATED_INIT : GENERATED_UPDATE; + code = code.replace("NAME", "GeneratedClass"); + ToolBox.JavaToolArgs args = + new ToolBox.JavaToolArgs().appendArgs("-parameters").setSources(code); + Map<String, byte[]> codeMap = ToolBox.compile(args); + out.write(codeMap.get("GeneratedClass")); + } catch (IOException | ToolBox.CommandExecutionException e) { + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, e.toString()); + } + } + + return false; + } + + //the initial generated class - "NAME" will be replaced with either "GeneratedSource" or + //"GeneratedClass" while generating the class: + private static final String GENERATED_INIT = + "@Deprecated\n" + + "public class NAME<T extends CharSequence> extends java.util.ArrayList<String>\n" + + " implements Runnable {\n" + + " public void test(int a) { }\n" + + " public void run() { }\n" + + "}"; + + //generated class update- "NAME" will be replaced with either "GeneratedSource" or + //"GeneratedClass" while generating the class: + private static final String GENERATED_UPDATE = + "@javax.annotation.processing.SupportedAnnotationTypes(\"*\")\n" + + "public abstract class NAME<E extends Number> extends java.util.LinkedList<Number>" + + " implements Runnable, CharSequence {\n" + + " public void test(long a) { }\n" + + "}"; +} diff --git a/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilationsSource.java b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilationsSource.java new file mode 100644 index 00000000000..6d07007f334 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilationsSource.java @@ -0,0 +1,25 @@ +/* + * 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. + */ + +public abstract class OverwriteBetweenCompilationsSource extends GeneratedSource { +} diff --git a/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_1.out b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_1.out new file mode 100644 index 00000000000..1840ca9205e --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_1.out @@ -0,0 +1,45 @@ +round: 1 +round: 2 + +@java.lang.Deprecated +public class GeneratedSource<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedSource(); + + public void test(int a); + + public void run(); +} + +@java.lang.Deprecated +public class GeneratedClass<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedClass(); + + public void test(int a); + + public void run(); +} +round: 3 + +@java.lang.Deprecated +public class GeneratedSource<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedSource(); + + public void test(int a); + + public void run(); +} + +@java.lang.Deprecated +public class GeneratedClass<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedClass(); + + public void test(int a); + + public void run(); +} +- compiler.note.deprecated.filename: OverwriteBetweenCompilationsSource.java +- compiler.note.deprecated.recompile diff --git a/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_2.out b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_2.out new file mode 100644 index 00000000000..d1bf374bb74 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_2.out @@ -0,0 +1,57 @@ +round: 1 + +@java.lang.Deprecated +public class GeneratedSource<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedSource(); + + public void test(int a); + + public void run(); +} + +@java.lang.Deprecated +public class GeneratedClass<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedClass(); + + public void test(int a); + + public void run(); +} +round: 2 + +@javax.annotation.processing.SupportedAnnotationTypes({"*"}) +public abstract class GeneratedSource<E> extends java.util.LinkedList<java.lang.Number> implements java.lang.Runnable, java.lang.CharSequence { + + public GeneratedSource(); + + public void test(long a); +} + +@javax.annotation.processing.SupportedAnnotationTypes({"*"}) +public abstract class GeneratedClass<E> extends java.util.LinkedList<java.lang.Number> implements java.lang.Runnable, java.lang.CharSequence { + + public GeneratedClass(); + + public void test(long a); +} +round: 3 + +@javax.annotation.processing.SupportedAnnotationTypes({"*"}) +public abstract class GeneratedSource<E> extends java.util.LinkedList<java.lang.Number> implements java.lang.Runnable, java.lang.CharSequence { + + public GeneratedSource(); + + public void test(long a); +} + +@javax.annotation.processing.SupportedAnnotationTypes({"*"}) +public abstract class GeneratedClass<E> extends java.util.LinkedList<java.lang.Number> implements java.lang.Runnable, java.lang.CharSequence { + + public GeneratedClass(); + + public void test(long a); +} +- compiler.note.deprecated.filename: OverwriteBetweenCompilationsSource.java +- compiler.note.deprecated.recompile diff --git a/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_3.out b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_3.out new file mode 100644 index 00000000000..39b044ec78a --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/OverwriteBetweenCompilations_3.out @@ -0,0 +1,61 @@ +round: 1 + +@javax.annotation.processing.SupportedAnnotationTypes({"*"}) +public abstract class GeneratedSource<E> extends java.util.LinkedList<java.lang.Number> implements java.lang.Runnable, java.lang.CharSequence { + + public GeneratedSource(); + + public void test(long a); +} + +@javax.annotation.processing.SupportedAnnotationTypes({"*"}) +public abstract class GeneratedClass<E> extends java.util.LinkedList<java.lang.Number> implements java.lang.Runnable, java.lang.CharSequence { + + public GeneratedClass(); + + public void test(long a); +} +round: 2 + +@java.lang.Deprecated +public class GeneratedSource<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedSource(); + + public void test(int a); + + public void run(); +} + +@java.lang.Deprecated +public class GeneratedClass<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedClass(); + + public void test(int a); + + public void run(); +} +round: 3 + +@java.lang.Deprecated +public class GeneratedSource<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedSource(); + + public void test(int a); + + public void run(); +} + +@java.lang.Deprecated +public class GeneratedClass<T> extends java.util.ArrayList<java.lang.String> implements java.lang.Runnable { + + public GeneratedClass(); + + public void test(int a); + + public void run(); +} +- compiler.note.deprecated.filename: OverwriteBetweenCompilationsSource.java +- compiler.note.deprecated.recompile diff --git a/langtools/test/tools/javac/processing/rounds/TypesCachesCleared.java b/langtools/test/tools/javac/processing/rounds/TypesCachesCleared.java new file mode 100644 index 00000000000..743f6762848 --- /dev/null +++ b/langtools/test/tools/javac/processing/rounds/TypesCachesCleared.java @@ -0,0 +1,111 @@ +/* + * 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 8038455 + * @summary Verify that Types caches (in particular MembersClosureCache) get cleared between rounds. + * @library /tools/javac/lib + * @build JavacTestingAbstractProcessor TypesCachesCleared + * @compile/process -processor TypesCachesCleared TypesCachesCleared.java + */ + +import java.util.*; +import javax.annotation.processing.*; +import javax.lang.model.element.*; +import static javax.lang.model.util.ElementFilter.constructorsIn; +import javax.lang.model.util.Elements; +import com.sun.source.tree.ClassTree; +import com.sun.source.tree.NewClassTree; +import com.sun.source.util.TreePath; +import com.sun.source.util.TreePathScanner; +import com.sun.source.util.Trees; + +public class TypesCachesCleared extends JavacTestingAbstractProcessor { + int round = 1; + public boolean process(Set<? extends TypeElement> annotations, + RoundEnvironment roundEnv) { + new TestPathScanner<Void>() { + @Override + public void visit(Void t) { + } + }; + TypeElement currentClass = elements.getTypeElement("TypesCachesCleared"); + Trees trees = Trees.instance(processingEnv); + TreePath path = trees.getPath(currentClass); + new TreePathScanner<Void, Void>() { + @Override public Void visitClass(ClassTree node, Void p) { + trees.getElement(getCurrentPath()); + return super.visitClass(node, p); + } + }.scan(path, null); + return false; + } + + public TypesCachesCleared() { + class Local { } + new Object() { }; + } + + public boolean process(Elements elements) { + TypeElement currentClass = elements.getTypeElement("OnDemandAttribution"); + ExecutableElement constr = constructorsIn(currentClass.getEnclosedElements()).get(0); + Trees trees = Trees.instance(processingEnv); + TreePath path = trees.getPath(constr); + + new TreePathScanner<Void, Void>() { + @Override public Void visitClass(ClassTree node, Void p) { + if (node.getSimpleName().contentEquals("Local")) { + //will also attribute the body on demand: + Element el = trees.getElement(getCurrentPath()); + Name binaryName = elements.getBinaryName((TypeElement) el); + if (!binaryName.contentEquals("OnDemandAttribution$1Local")) { + throw new IllegalStateException("Incorrect binary name=" + binaryName); + } + } + return super.visitClass(node, p); + } + @Override public Void visitNewClass(NewClassTree node, Void p) { + Element el = trees.getElement(getCurrentPath()); + Name binaryName = elements.getBinaryName((TypeElement) el.getEnclosingElement()); + if (!binaryName.contentEquals("OnDemandAttribution$1")) { + throw new IllegalStateException("Incorrect binary name=" + binaryName); + } + return super.visitNewClass(node, p); + } + }.scan(path, null); + + return true; + } + public static interface TestVisitor<T> { + public void visit(T t); + } + + public static class TestScanner<T> implements TestVisitor<T> { + public void visit(T t) { } + } + + public static class TestPathScanner<T> extends TestScanner<T> { + public void visit(T t) { } + } +} diff --git a/langtools/test/tools/javac/processing/warnings/gold_unsp_warn.out b/langtools/test/tools/javac/processing/warnings/gold_unsp_warn.out index bd1f2766ea0..f76a3c011a1 100644 --- a/langtools/test/tools/javac/processing/warnings/gold_unsp_warn.out +++ b/langtools/test/tools/javac/processing/warnings/gold_unsp_warn.out @@ -1 +1,2 @@ - compiler.warn.proc.unmatched.processor.options: [unsupported] +1 warning diff --git a/langtools/test/tools/javac/util/context/T7021650.java b/langtools/test/tools/javac/util/context/T7021650.java index 5801b03b2f5..4bc314b2089 100644 --- a/langtools/test/tools/javac/util/context/T7021650.java +++ b/langtools/test/tools/javac/util/context/T7021650.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -56,7 +56,7 @@ public class T7021650 extends JavacTestingAbstractProcessor { * and verify that corresponding objects are created in each round. */ void run() throws Exception { - Counter demoCounter = new Counter(); + Counter myDemoCounter = new Counter(); Counter myAttrCounter = new Counter(); Context context = new Context(); @@ -76,7 +76,7 @@ public class T7021650 extends JavacTestingAbstractProcessor { } }); - Demo.preRegister(context, demoCounter); + MyDemo.preRegister(context, myDemoCounter); MyAttr.preRegister(context, myAttrCounter); String[] args = { @@ -88,13 +88,9 @@ public class T7021650 extends JavacTestingAbstractProcessor { compile(context, args); - // Expect to create Demo for initial round, then MAX_ROUNDS in which - // GenX files are generated, then standard final round of processing. - checkEqual("demoCounter", demoCounter.count, MAX_ROUNDS + 2); - - // Expect to create MyAttr for same processing rounds as for Demo, - // plus additional context for final compilation. - checkEqual("myAttrCounter", myAttrCounter.count, MAX_ROUNDS + 3); + // the services should only be created once in the current scheme: + checkEqual("demoCounter", myDemoCounter.count, 1); + checkEqual("myAttrCounter", myAttrCounter.count, 1); } void compile(Context context, String... args) throws Exception { @@ -123,15 +119,6 @@ public class T7021650 extends JavacTestingAbstractProcessor { * A custom class unknown to javac but nonetheless registered in the context. */ static class Demo { - static void preRegister(Context context, final Counter counter) { - context.put(Demo.class, new Context.Factory<Demo>() { - public Demo make(Context c) { - counter.count++; - return new Demo(c); - } - }); - } - Demo(Context c) { c.put(Demo.class, this); } @@ -141,6 +128,21 @@ public class T7021650 extends JavacTestingAbstractProcessor { } } + static class MyDemo extends Demo { + static void preRegister(Context context, final Counter counter) { + context.put(Demo.class, new Context.Factory<Demo>() { + public Demo make(Context c) { + counter.count++; + return new MyDemo(c); + } + }); + } + + MyDemo(Context c) { + super(c); + } + } + /** * A custom version of a standard javac component. */ @@ -174,7 +176,7 @@ public class T7021650 extends JavacTestingAbstractProcessor { Context context = ((JavacProcessingEnvironment) processingEnv).getContext(); // verify items in context as expected - check("Demo", Demo.instance(context), Demo.class); + check("Demo", Demo.instance(context), MyDemo.class); check("Attr", Attr.instance(context), MyAttr.class); // For a few rounds, generate new source files, so that we can check whether diff --git a/langtools/test/tools/javap/T4975569.java b/langtools/test/tools/javap/T4975569.java index b4a55492f31..df35b7ffd50 100644 --- a/langtools/test/tools/javap/T4975569.java +++ b/langtools/test/tools/javap/T4975569.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 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 @@ -40,10 +40,10 @@ public class T4975569 verify("T4975569$Anno", "flags: ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION"); verify("T4975569$E", "flags: ACC_FINAL, ACC_SUPER, ACC_ENUM"); verify("T4975569$S", "flags: ACC_BRIDGE, ACC_SYNTHETIC", - "InnerClasses:\n static"); + "InnerClasses:\n static"); verify("T4975569$V", "void m(java.lang.String...)", "flags: ACC_VARARGS"); - verify("T4975569$Prot", "InnerClasses:\n protected"); + verify("T4975569$Prot", "InnerClasses:\n protected"); //verify("T4975569$Priv", "InnerClasses"); if (errors > 0) throw new Error(errors + " found."); diff --git a/langtools/test/tools/javap/T8035104.java b/langtools/test/tools/javap/T8035104.java new file mode 100644 index 00000000000..37ef8fc015b --- /dev/null +++ b/langtools/test/tools/javap/T8035104.java @@ -0,0 +1,67 @@ +/* + * 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 8035104 + * @summary reorder class file attributes in javap listing + */ + +import java.io.*; + +public class T8035104 { + public static void main(String[] args) throws Exception { + new T8035104().run(); + } + + public void run() throws Exception { + String[] lines = javap("-v", T8035104.class.getName()).split("[\r\n]+"); + int minor = -1; + int SourceFile = -1; + for (int i = 0; i < lines.length; i++) { + String line = lines[i]; + if (line.matches(" *minor version: [0-9.]+")) + minor = i; + if (line.matches(" *SourceFile: .+")) + SourceFile = i; + } + if (minor == -1) + throw new Exception("minor version not found"); + if (SourceFile == -1) + throw new Exception("SourceFile not found"); + if (SourceFile < minor) + throw new Exception("unexpected order of output"); + + System.out.println("output OK"); + } + + String javap(String... args) { + StringWriter sw = new StringWriter(); + PrintWriter out = new PrintWriter(sw); + int rc = com.sun.tools.javap.Main.run(args, out); + out.close(); + System.out.println(sw.toString()); + System.out.println("javap exited, rc=" + rc); + return sw.toString(); + } +} diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk index 361ea8d4c13..1b513ad7ce2 100644 --- a/make/common/NativeCompilation.gmk +++ b/make/common/NativeCompilation.gmk @@ -369,6 +369,10 @@ define SetupNativeCompilation $$(error Unknown value for OPTIMIZATION: $$($1_OPTIMIZATION)) endif + # Add sys root specific cflags last + $1_EXTRA_CFLAGS += $(SYSROOT_CFLAGS) + $1_EXTRA_CXXFLAGS += $(SYSROOT_CFLAGS) + # Now call add_native_source for each source file we are going to compile. $$(foreach p,$$($1_SRCS), \ $$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR), \ @@ -414,6 +418,8 @@ define SetupNativeCompilation $1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE)) endif + $1_EXTRA_LDFLAGS += $(SYSROOT_LDFLAGS) + # Need to make sure TARGET is first on list $1 := $$($1_TARGET) ifeq ($$($1_STATIC_LIBRARY),) @@ -476,7 +482,7 @@ define SetupNativeCompilation # to be rebuilt properly. $$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET) $(CD) $$($1_OBJECT_DIR) \ - && $(ZIP) -q $$@ $$($1_DEBUGINFO_FILES) + && $(ZIP) -q $$@ $$(notdir $$($1_DEBUGINFO_FILES)) else $1 += $$(subst $$($1_OBJECT_DIR),$$($1_OUTPUT_DIR),$$($1_DEBUGINFO_FILES)) diff --git a/make/devkit/Makefile b/make/devkit/Makefile index a6a5ca9e9ae..0776f54b488 100644 --- a/make/devkit/Makefile +++ b/make/devkit/Makefile @@ -75,7 +75,7 @@ ifeq (,$(SKIP_ME)) $(foreach p,$(filter-out $(me),$(platforms)),$(eval $(p) : $$(me))) endif -OUTPUT_ROOT = $(abspath ../../../build/devkit) +OUTPUT_ROOT = $(abspath ../../build/devkit) RESULT = $(OUTPUT_ROOT)/result submakevars = HOST=$@ BUILD=$(me) \ diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk index 457dacb8e9d..c2460105b7f 100644 --- a/make/devkit/Tools.gmk +++ b/make/devkit/Tools.gmk @@ -49,8 +49,8 @@ ARCH := $(word 1,$(subst -, ,$(TARGET))) # Define external dependencies # Latest that could be made to work. -gcc_ver := gcc-4.7.3 -binutils_ver := binutils-2.22 +gcc_ver := gcc-4.8.2 +binutils_ver := binutils-2.24 ccache_ver := ccache-3.1.9 mpfr_ver := mpfr-3.0.1 gmp_ver := gmp-4.3.2 @@ -64,6 +64,7 @@ GMP := http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2 MPC := http://www.multiprecision.org/mpc/download/${mpc_ver}.tar.gz # RPMs in OEL5.5 +LINUX_VERSION := OEL5.5 RPM_LIST := \ kernel-headers \ glibc-2 glibc-headers glibc-devel \ @@ -121,7 +122,7 @@ RESULT := $(OUTPUT_ROOT)/result BUILDDIR := $(OUTPUT_ROOT)/$(HOST)/$(TARGET) PREFIX := $(RESULT)/$(HOST) TARGETDIR := $(PREFIX)/$(TARGET) -SYSROOT := $(TARGETDIR)/sys-root +SYSROOT := $(TARGETDIR)/sysroot DOWNLOAD := $(OUTPUT_ROOT)/download SRCDIR := $(OUTPUT_ROOT)/src @@ -184,7 +185,7 @@ $(foreach p,$(RPM_FILE_LIST),$(eval $(call unrpm,$(p)))) ########################################################################################## -# Note: MUST create a <sys-root>/usr/lib even if not really needed. +# Note: MUST create a <sysroot>/usr/lib even if not really needed. # gcc will use a path relative to it to resolve lib64. (x86_64). # we're creating multi-lib compiler with 32bit libc as well, so we should # have it anyway, but just to make sure... @@ -459,15 +460,31 @@ $(TARGETDIR)/%.done : $(BUILDDIR)/%/Makefile ########################################################################################## +$(PREFIX)/devkit.info: FRC + @echo 'Creating devkit.info in the root of the kit' + rm -f $@ + touch $@ + echo '# This file describes to configure how to interpret the contents of this' >> $@ + echo '# devkit' >> $@ + echo '' >> $@ + echo 'DEVKIT_NAME="$(gcc_ver) - $(LINUX_VERSION)"' >> $@ + echo 'DEVKIT_TOOLCHAIN_PATH="$$DEVKIT_ROOT/bin"' >> $@ + echo 'DEVKIT_SYSROOT="$$DEVKIT_ROOT/$$host/sysroot"' >> $@ + +########################################################################################## + bfdlib : $(bfdlib) binutils : $(binutils) rpms : $(rpms) libs : $(libs) sysroot : rpms libs gcc : sysroot $(gcc) $(gccpatch) -all : binutils gcc bfdlib +all : binutils gcc bfdlib $(PREFIX)/devkit.info # this is only built for host. so separate. ccache : $(ccache) +# Force target +FRC: + .PHONY : gcc all binutils bfdlib link_libs rpms libs sysroot diff --git a/nashorn/.hgtags b/nashorn/.hgtags index c7e5d51e490..34584cf61e4 100644 --- a/nashorn/.hgtags +++ b/nashorn/.hgtags @@ -240,3 +240,4 @@ b3517e51f40477f10db8bc30a557aa0ea712c274 jdk9-b02 3f6ef92cd7823372c45e79125adba4cbf1c9f7b2 jdk9-b04 2a1cac93c33317d828d4a5b81239204a9927cc4a jdk9-b05 1f75bcbe74e315470dc0b75b7d5bcd209e287c39 jdk9-b06 +9a34d2a0a5bdaf0bf0d81d6fe6324aa0cfb35bfe jdk9-b07 diff --git a/nashorn/README b/nashorn/README index 52b30919065..242d6077b67 100644 --- a/nashorn/README +++ b/nashorn/README @@ -81,13 +81,13 @@ TestNG library and placing its jar file into the lib subdirectory: After that, you can run the tests using: cd make - ant test + ant clean test You can also run the ECMA-262 test suite with Nashorn. In order to do that, you will need to get a copy of it and put it in test/script/external/test262 directory. A convenient way to do it is: - hg clone http://hg.ecmascript.org/tests/test262/ test/script/external/test262 + git clone https://github.com/tc39/test262 test/script/external/test262 Alternatively, you can check it out elsewhere and make test/script/external/test262 a symbolic link to that directory. After @@ -95,6 +95,11 @@ you've done this, you can run the ECMA-262 tests using: cd nashorn~jdk8/nashorn/make ant test262 + +Ant target to get/update external test suites: + + ant externals + ant update-externals These tests take time, so we have a parallelized runner for them that takes advantage of all processor cores on the computer: diff --git a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java index c43bdf52512..e47f8b160ad 100644 --- a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java +++ b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java @@ -22,40 +22,62 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ - package jdk.nashorn.internal.tools.nasgen; import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_ARRAY_DESC; import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_DESC; +import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTOBJECT_DESC; +import static jdk.nashorn.internal.tools.nasgen.StringConstants.STRING_DESC; import jdk.internal.org.objectweb.asm.Opcodes; import jdk.internal.org.objectweb.asm.Type; import jdk.nashorn.internal.objects.annotations.Where; +import jdk.nashorn.internal.runtime.ScriptObject; /** * Details about a Java method or field annotated with any of the field/method * annotations from the jdk.nashorn.internal.objects.annotations package. */ public final class MemberInfo implements Cloneable { + // class loader of this class + private static ClassLoader myLoader = MemberInfo.class.getClassLoader(); + /** * The different kinds of available class annotations */ public static enum Kind { - /** This is a script class */ + + /** + * This is a script class + */ SCRIPT_CLASS, - /** This is a constructor */ + /** + * This is a constructor + */ CONSTRUCTOR, - /** This is a function */ + /** + * This is a function + */ FUNCTION, - /** This is a getter */ + /** + * This is a getter + */ GETTER, - /** This is a setter */ + /** + * This is a setter + */ SETTER, - /** This is a property */ + /** + * This is a property + */ PROPERTY, - /** This is a specialized version of a function */ + /** + * This is a specialized version of a function + */ SPECIALIZED_FUNCTION, - /** This is a specialized version of a constructor */ + /** + * This is a specialized version of a constructor + */ SPECIALIZED_CONSTRUCTOR } @@ -194,6 +216,7 @@ public final class MemberInfo implements Cloneable { /** * Check whether this MemberInfo is a getter that resides in the instance + * * @return true if instance setter */ boolean isInstanceSetter() { @@ -245,92 +268,201 @@ public final class MemberInfo implements Cloneable { } void verify() { - if (kind == Kind.CONSTRUCTOR) { - final Type returnType = Type.getReturnType(javaDesc); - if (! returnType.toString().equals(OBJECT_DESC)) { - error("return value should be of Object type, found" + returnType); - } - final Type[] argTypes = Type.getArgumentTypes(javaDesc); - if (argTypes.length < 2) { - error("constructor methods should have at least 2 args"); - } - if (! argTypes[0].equals(Type.BOOLEAN_TYPE)) { - error("first argument should be of boolean type, found" + argTypes[0]); - } - if (! argTypes[1].toString().equals(OBJECT_DESC)) { - error("second argument should be of Object type, found" + argTypes[0]); - } + switch (kind) { + case CONSTRUCTOR: { + final Type returnType = Type.getReturnType(javaDesc); + if (!isJSObjectType(returnType)) { + error("return value of a @Constructor method should be of Object type, found " + returnType); + } + final Type[] argTypes = Type.getArgumentTypes(javaDesc); + if (argTypes.length < 2) { + error("@Constructor methods should have at least 2 args"); + } + if (!argTypes[0].equals(Type.BOOLEAN_TYPE)) { + error("first argument of a @Constructor method should be of boolean type, found " + argTypes[0]); + } + if (!isJavaLangObject(argTypes[1])) { + error("second argument of a @Constructor method should be of Object type, found " + argTypes[0]); + } - if (argTypes.length > 2) { - for (int i = 2; i < argTypes.length - 1; i++) { - if (! argTypes[i].toString().equals(OBJECT_DESC)) { - error(i + "'th argument should be of Object type, found " + argTypes[i]); + if (argTypes.length > 2) { + for (int i = 2; i < argTypes.length - 1; i++) { + if (!isJavaLangObject(argTypes[i])) { + error(i + "'th argument of a @Constructor method should be of Object type, found " + argTypes[i]); + } + } + + final String lastArgTypeDesc = argTypes[argTypes.length - 1].getDescriptor(); + final boolean isVarArg = lastArgTypeDesc.equals(OBJECT_ARRAY_DESC); + if (!lastArgTypeDesc.equals(OBJECT_DESC) && !isVarArg) { + error("last argument of a @Constructor method is neither Object nor Object[] type: " + lastArgTypeDesc); + } + + if (isVarArg && argTypes.length > 3) { + error("vararg of a @Constructor method has more than 3 arguments"); } } - - final String lastArgType = argTypes[argTypes.length - 1].toString(); - final boolean isVarArg = lastArgType.equals(OBJECT_ARRAY_DESC); - if (!lastArgType.equals(OBJECT_DESC) && !isVarArg) { - error("last argument is neither Object nor Object[] type: " + lastArgType); + } + break; + case SPECIALIZED_CONSTRUCTOR: { + final Type returnType = Type.getReturnType(javaDesc); + if (!isJSObjectType(returnType)) { + error("return value of a @SpecializedConstructor method should be a valid JS type, found " + returnType); } - - if (isVarArg && argTypes.length > 3) { - error("vararg constructor has more than 3 arguments"); - } - } - } else if (kind == Kind.FUNCTION) { - final Type[] argTypes = Type.getArgumentTypes(javaDesc); - if (argTypes.length < 1) { - error("function methods should have at least 1 arg"); - } - if (! argTypes[0].toString().equals(OBJECT_DESC)) { - error("first argument should be of Object type, found" + argTypes[0]); - } - - if (argTypes.length > 1) { - for (int i = 1; i < argTypes.length - 1; i++) { - if (! argTypes[i].toString().equals(OBJECT_DESC)) { - error(i + "'th argument should be of Object type, found " + argTypes[i]); + final Type[] argTypes = Type.getArgumentTypes(javaDesc); + for (int i = 0; i < argTypes.length; i++) { + if (!isValidJSType(argTypes[i])) { + error(i + "'th argument of a @SpecializedConstructor method is not valid JS type, found " + argTypes[i]); } } - - final String lastArgType = argTypes[argTypes.length - 1].toString(); - final boolean isVarArg = lastArgType.equals(OBJECT_ARRAY_DESC); - if (!lastArgType.equals(OBJECT_DESC) && !isVarArg) { - error("last argument is neither Object nor Object[] type: " + lastArgType); + } + break; + case FUNCTION: { + final Type returnType = Type.getReturnType(javaDesc); + if (!isValidJSType(returnType)) { + error("return value of a @Function method should be a valid JS type, found " + returnType); + } + final Type[] argTypes = Type.getArgumentTypes(javaDesc); + if (argTypes.length < 1) { + error("@Function methods should have at least 1 arg"); + } + if (!isJavaLangObject(argTypes[0])) { + error("first argument of a @Function method should be of Object type, found " + argTypes[0]); } - if (isVarArg && argTypes.length > 2) { - error("vararg function has more than 2 arguments"); + if (argTypes.length > 1) { + for (int i = 1; i < argTypes.length - 1; i++) { + if (!isJavaLangObject(argTypes[i])) { + error(i + "'th argument of a @Function method should be of Object type, found " + argTypes[i]); + } + } + + final String lastArgTypeDesc = argTypes[argTypes.length - 1].getDescriptor(); + final boolean isVarArg = lastArgTypeDesc.equals(OBJECT_ARRAY_DESC); + if (!lastArgTypeDesc.equals(OBJECT_DESC) && !isVarArg) { + error("last argument of a @Function method is neither Object nor Object[] type: " + lastArgTypeDesc); + } + + if (isVarArg && argTypes.length > 2) { + error("vararg @Function method has more than 2 arguments"); + } } } - } else if (kind == Kind.GETTER) { - final Type[] argTypes = Type.getArgumentTypes(javaDesc); - if (argTypes.length != 1) { - error("getter methods should have one argument"); + break; + case SPECIALIZED_FUNCTION: { + final Type returnType = Type.getReturnType(javaDesc); + if (!isValidJSType(returnType)) { + error("return value of a @SpecializedFunction method should be a valid JS type, found " + returnType); + } + final Type[] argTypes = Type.getArgumentTypes(javaDesc); + for (int i = 0; i < argTypes.length; i++) { + if (!isValidJSType(argTypes[i])) { + error(i + "'th argument of a @SpecializedFunction method is not valid JS type, found " + argTypes[i]); + } + } } - if (! argTypes[0].toString().equals(OBJECT_DESC)) { - error("first argument of getter should be of Object type, found: " + argTypes[0]); + break; + case GETTER: { + final Type[] argTypes = Type.getArgumentTypes(javaDesc); + if (argTypes.length != 1) { + error("@Getter methods should have one argument"); + } + if (!isJavaLangObject(argTypes[0])) { + error("first argument of a @Getter method should be of Object type, found: " + argTypes[0]); + } + + final Type returnType = Type.getReturnType(javaDesc); + if (!isJavaLangObject(returnType)) { + error("return type of a @Getter method should be Object, found: " + javaDesc); + } } - if (Type.getReturnType(javaDesc).equals(Type.VOID_TYPE)) { - error("return type of getter should not be void"); + break; + case SETTER: { + final Type[] argTypes = Type.getArgumentTypes(javaDesc); + if (argTypes.length != 2) { + error("@Setter methods should have two arguments"); + } + if (!isJavaLangObject(argTypes[0])) { + error("first argument of a @Setter method should be of Object type, found: " + argTypes[0]); + } + if (!Type.getReturnType(javaDesc).toString().equals("V")) { + error("return type of of a @Setter method should be void, found: " + Type.getReturnType(javaDesc)); + } } - } else if (kind == Kind.SETTER) { - final Type[] argTypes = Type.getArgumentTypes(javaDesc); - if (argTypes.length != 2) { - error("setter methods should have two arguments"); - } - if (! argTypes[0].toString().equals(OBJECT_DESC)) { - error("first argument of setter should be of Object type, found: " + argTypes[0]); - } - if (!Type.getReturnType(javaDesc).toString().equals("V")) { - error("return type of setter should be void, found: " + Type.getReturnType(javaDesc)); + break; + case PROPERTY: { + if (where == Where.CONSTRUCTOR) { + if (isStatic()) { + if (!isFinal()) { + error("static Where.CONSTRUCTOR @Property should be final"); + } + + if (!isJSPrimitiveType(Type.getType(javaDesc))) { + error("static Where.CONSTRUCTOR @Property should be a JS primitive"); + } + } + } else if (where == Where.PROTOTYPE) { + if (isStatic()) { + if (!isFinal()) { + error("static Where.PROTOTYPE @Property should be final"); + } + + if (!isJSPrimitiveType(Type.getType(javaDesc))) { + error("static Where.PROTOTYPE @Property should be a JS primitive"); + } + } + } } } } + private static boolean isValidJSType(final Type type) { + return isJSPrimitiveType(type) || isJSObjectType(type); + } + + private static boolean isJSPrimitiveType(final Type type) { + switch (type.getSort()) { + case Type.BOOLEAN: + case Type.INT: + case Type.LONG: + case Type.DOUBLE: + return true; + default: + return false; + } + } + + private static boolean isJSObjectType(final Type type) { + return isJavaLangObject(type) || isJavaLangString(type) || isScriptObject(type); + } + + private static boolean isJavaLangObject(final Type type) { + return type.getDescriptor().equals(OBJECT_DESC); + } + + private static boolean isJavaLangString(final Type type) { + return type.getDescriptor().equals(STRING_DESC); + } + + private static boolean isScriptObject(final Type type) { + if (type.getDescriptor().equals(SCRIPTOBJECT_DESC)) { + return true; + } + + if (type.getSort() == Type.OBJECT) { + try { + final Class clazz = Class.forName(type.getClassName(), false, myLoader); + return ScriptObject.class.isAssignableFrom(clazz); + } catch (final ClassNotFoundException cnfe) { + return false; + } + } + + return false; + } + private void error(final String msg) { - throw new RuntimeException(javaName + javaDesc + " : " + msg); + throw new RuntimeException(javaName + " of type " + javaDesc + " : " + msg); } /** diff --git a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java index dd947033d34..1d724187dbe 100644 --- a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java +++ b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java @@ -61,6 +61,8 @@ public interface StringConstants { static final String METHODHANDLE_TYPE = TYPE_METHODHANDLE.getInternalName(); static final String OBJECT_TYPE = TYPE_OBJECT.getInternalName(); static final String OBJECT_DESC = TYPE_OBJECT.getDescriptor(); + static final String STRING_TYPE = TYPE_STRING.getInternalName(); + static final String STRING_DESC = TYPE_STRING.getDescriptor(); static final String OBJECT_ARRAY_DESC = Type.getDescriptor(Object[].class); static final String ARRAYLIST_TYPE = TYPE_ARRAYLIST.getInternalName(); static final String COLLECTION_TYPE = TYPE_COLLECTION.getInternalName(); @@ -129,6 +131,7 @@ public interface StringConstants { // ScriptObject static final String SCRIPTOBJECT_TYPE = TYPE_SCRIPTOBJECT.getInternalName(); + static final String SCRIPTOBJECT_DESC = TYPE_SCRIPTOBJECT.getDescriptor(); static final String SCRIPTOBJECT_INIT_DESC = Type.getMethodDescriptor(Type.VOID_TYPE, TYPE_PROPERTYMAP); static final String GETTER_PREFIX = "G$"; diff --git a/nashorn/make/build.xml b/nashorn/make/build.xml index 74eae86a588..3c1954a2afd 100644 --- a/nashorn/make/build.xml +++ b/nashorn/make/build.xml @@ -42,6 +42,9 @@ <condition property="hg.executable" value="/usr/local/bin/hg" else="hg"> <available file="/usr/local/bin/hg"/> </condition> + <condition property="git.executable" value="/usr/local/bin/git" else="git"> + <available file="/usr/local/bin/git"/> + </condition> <!-- check if JDK already has ASM classes --> <available property="asm.available" classname="jdk.internal.org.objectweb.asm.Type"/> <!-- check if testng.jar is avaiable --> @@ -503,18 +506,17 @@ grant codeBase "file:/${basedir}/test/script/markdown.js" { <!-- test262 test suite --> <target name="get-test262" depends="init" unless="${test-sys-prop.external.test262}"> - <!-- clone test262 mercurial repo --> - <exec executable="${hg.executable}"> + <!-- clone test262 git repo --> + <exec executable="${git.executable}"> <arg value="clone"/> - <arg value="http://hg.ecmascript.org/tests/test262"/> + <arg value="https://github.com/tc39/test262"/> <arg value="${test.external.dir}/test262"/> </exec> </target> <target name="update-test262" depends="init" if="${test-sys-prop.external.test262}"> - <!-- update test262 mercurial repo --> - <exec executable="${hg.executable}" dir="${test.external.dir}/test262"> + <!-- update test262 git repo --> + <exec executable="${git.executable}" dir="${test.external.dir}/test262"> <arg value="pull"/> - <arg value="-u"/> </exec> </target> diff --git a/nashorn/src/jdk/internal/dynalink/beans/BeanLinker.java b/nashorn/src/jdk/internal/dynalink/beans/BeanLinker.java index 519036b37cc..d0ad96bad21 100644 --- a/nashorn/src/jdk/internal/dynalink/beans/BeanLinker.java +++ b/nashorn/src/jdk/internal/dynalink/beans/BeanLinker.java @@ -113,6 +113,8 @@ class BeanLinker extends AbstractJavaLinker implements TypeBasedGuardingDynamicL // explicit property is beneficial for them. // REVISIT: is it maybe a code smell that "dyn:getLength" is not needed? setPropertyGetter("length", GET_ARRAY_LENGTH, ValidationType.IS_ARRAY); + } else if(List.class.isAssignableFrom(clazz)) { + setPropertyGetter("length", GET_COLLECTION_LENGTH, ValidationType.INSTANCE_OF); } } diff --git a/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java b/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java index e0ca67a4a92..9cf0adb949f 100644 --- a/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java +++ b/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java @@ -3228,7 +3228,7 @@ final class CodeGenerator extends NodeOperatorVisitor<CodeGeneratorLexicalContex final String className = SCRIPTFUNCTION_IMPL_OBJECT; final int fieldCount = ObjectClassGenerator.getPaddedFieldCount(functionNode.countThisProperties()); final String allocatorClassName = Compiler.binaryName(ObjectClassGenerator.getClassName(fieldCount)); - final PropertyMap allocatorMap = PropertyMap.newMap(null, 0, fieldCount, 0); + final PropertyMap allocatorMap = PropertyMap.newMap(null, allocatorClassName, 0, fieldCount, 0); method._new(className).dup(); loadConstant(new RecompilableScriptFunctionData(functionNode, compiler.getCodeInstaller(), allocatorClassName, allocatorMap)); diff --git a/nashorn/src/jdk/nashorn/internal/codegen/Compiler.java b/nashorn/src/jdk/nashorn/internal/codegen/Compiler.java index b53b8fdf423..e4af587b7d3 100644 --- a/nashorn/src/jdk/nashorn/internal/codegen/Compiler.java +++ b/nashorn/src/jdk/nashorn/internal/codegen/Compiler.java @@ -405,32 +405,8 @@ public final class Compiler { return newFunctionNode; } - private Class<?> install(final String className, final byte[] code) { - LOG.fine("Installing class ", className); - - final Class<?> clazz = installer.install(Compiler.binaryName(className), code); - - try { - final Object[] constants = getConstantData().toArray(); - // Need doPrivileged because these fields are private - AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() { - @Override - public Void run() throws Exception { - //use reflection to write source and constants table to installed classes - final Field sourceField = clazz.getDeclaredField(SOURCE.symbolName()); - final Field constantsField = clazz.getDeclaredField(CONSTANTS.symbolName()); - sourceField.setAccessible(true); - constantsField.setAccessible(true); - sourceField.set(null, source); - constantsField.set(null, constants); - return null; - } - }); - } catch (final PrivilegedActionException e) { - throw new RuntimeException(e); - } - - return clazz; + private Class<?> install(final String className, final byte[] code, final Object[] constants) { + return installer.install(className, code, source, constants); } /** @@ -444,10 +420,15 @@ public final class Compiler { assert functionNode.hasState(CompilationState.EMITTED) : functionNode.getName() + " has no bytecode and cannot be installed"; final Map<String, Class<?>> installedClasses = new HashMap<>(); + final Object[] constants = getConstantData().toArray(); final String rootClassName = firstCompileUnitName(); final byte[] rootByteCode = bytecode.get(rootClassName); - final Class<?> rootClass = install(rootClassName, rootByteCode); + final Class<?> rootClass = install(rootClassName, rootByteCode, constants); + + if (!isLazy()) { + installer.storeCompiledScript(source, rootClassName, bytecode, constants); + } int length = rootByteCode.length; @@ -461,7 +442,7 @@ public final class Compiler { final byte[] code = entry.getValue(); length += code.length; - installedClasses.put(className, install(className, code)); + installedClasses.put(className, install(className, code, constants)); } for (final CompileUnit unit : compileUnits) { diff --git a/nashorn/src/jdk/nashorn/internal/codegen/MapCreator.java b/nashorn/src/jdk/nashorn/internal/codegen/MapCreator.java index 8012adf5065..436622bd7ff 100644 --- a/nashorn/src/jdk/nashorn/internal/codegen/MapCreator.java +++ b/nashorn/src/jdk/nashorn/internal/codegen/MapCreator.java @@ -83,7 +83,7 @@ public class MapCreator { } } - return PropertyMap.newMap(properties, fieldCount, fieldMaximum, 0); + return PropertyMap.newMap(properties, structure.getName(), fieldCount, fieldMaximum, 0); } PropertyMap makeSpillMap(final boolean hasArguments) { @@ -100,7 +100,7 @@ public class MapCreator { } } - return PropertyMap.newMap(properties, 0, 0, spillIndex); + return PropertyMap.newMap(properties, structure.getName(), 0, 0, spillIndex); } /** diff --git a/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java b/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java index 7bd1d2f91dd..c29af8515c9 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java +++ b/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java @@ -382,7 +382,7 @@ abstract class ArrayBufferView extends ScriptObject { return (int) (length & Integer.MAX_VALUE); } - protected static Object subarrayImpl(final Object self, final Object begin0, final Object end0) { + protected static ScriptObject subarrayImpl(final Object self, final Object begin0, final Object end0) { final ArrayBufferView arrayView = ((ArrayBufferView)self); final int elementLength = arrayView.elementLength(); final int begin = NativeArrayBuffer.adjustIndex(JSType.toInt32(begin0), elementLength); diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java b/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java index 168a2f8a9ec..6f07cb9dbc4 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java @@ -31,6 +31,7 @@ import static jdk.nashorn.internal.runtime.PropertyDescriptor.VALUE; import static jdk.nashorn.internal.runtime.PropertyDescriptor.WRITABLE; import static jdk.nashorn.internal.runtime.arrays.ArrayLikeIterator.arrayLikeIterator; import static jdk.nashorn.internal.runtime.arrays.ArrayLikeIterator.reverseArrayLikeIterator; +import static jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex; import java.lang.invoke.MethodHandle; import java.util.ArrayList; @@ -349,6 +350,27 @@ public final class NativeArray extends ScriptObject { return super.defineOwnProperty(key, desc, reject); } + /** + * Spec. mentions use of [[DefineOwnProperty]] for indexed properties in + * certain places (eg. Array.prototype.map, filter). We can not use ScriptObject.set + * method in such cases. This is because set method uses inherited setters (if any) + * from any object in proto chain such as Array.prototype, Object.prototype. + * This method directly sets a particular element value in the current object. + * + * @param index key for property + * @param value value to define + */ + @Override + public final void defineOwnProperty(final int index, final Object value) { + assert isValidArrayIndex(index) : "invalid array index"; + final long longIndex = ArrayIndex.toLongIndex(index); + if (longIndex >= getArray().length()) { + // make array big enough to hold.. + setArray(getArray().ensure(longIndex)); + } + setArray(getArray().set(index, value, false)); + } + /** * Return the array contents upcasted as an ObjectArray, regardless of * representation @@ -367,7 +389,7 @@ public final class NativeArray extends ScriptObject { * @return true if argument is an array */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object isArray(final Object self, final Object arg) { + public static boolean isArray(final Object self, final Object arg) { return isArray(arg) || (arg instanceof JSObject && ((JSObject)arg).isArray()); } @@ -466,7 +488,7 @@ public final class NativeArray extends ScriptObject { * @return locale specific string representation for array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toLocaleString(final Object self) { + public static String toLocaleString(final Object self) { final StringBuilder sb = new StringBuilder(); final Iterator<Object> iter = arrayLikeIterator(self, true); @@ -512,7 +534,7 @@ public final class NativeArray extends ScriptObject { * @return the new NativeArray */ @Constructor(arity = 1) - public static Object construct(final boolean newObj, final Object self, final Object... args) { + public static NativeArray construct(final boolean newObj, final Object self, final Object... args) { switch (args.length) { case 0: return new NativeArray(0); @@ -565,7 +587,7 @@ public final class NativeArray extends ScriptObject { * @return the new NativeArray */ @SpecializedConstructor - public static Object construct(final boolean newObj, final Object self) { + public static NativeArray construct(final boolean newObj, final Object self) { return new NativeArray(0); } @@ -580,7 +602,7 @@ public final class NativeArray extends ScriptObject { * @return the new NativeArray */ @SpecializedConstructor - public static Object construct(final boolean newObj, final Object self, final int length) { + public static NativeArray construct(final boolean newObj, final Object self, final int length) { if (length >= 0) { return new NativeArray(length); } @@ -599,7 +621,7 @@ public final class NativeArray extends ScriptObject { * @return the new NativeArray */ @SpecializedConstructor - public static Object construct(final boolean newObj, final Object self, final long length) { + public static NativeArray construct(final boolean newObj, final Object self, final long length) { if (length >= 0L && length <= JSType.MAX_UINT) { return new NativeArray(length); } @@ -618,7 +640,7 @@ public final class NativeArray extends ScriptObject { * @return the new NativeArray */ @SpecializedConstructor - public static Object construct(final boolean newObj, final Object self, final double length) { + public static NativeArray construct(final boolean newObj, final Object self, final double length) { final long uint32length = JSType.toUint32(length); if (uint32length == length) { @@ -636,7 +658,7 @@ public final class NativeArray extends ScriptObject { * @return resulting NativeArray */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object concat(final Object self, final Object... args) { + public static NativeArray concat(final Object self, final Object... args) { final ArrayList<Object> list = new ArrayList<>(); concatToList(list, Global.toObject(self)); @@ -683,7 +705,7 @@ public final class NativeArray extends ScriptObject { * @return string representation after join */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object join(final Object self, final Object separator) { + public static String join(final Object self, final Object separator) { final StringBuilder sb = new StringBuilder(); final Iterator<Object> iter = arrayLikeIterator(self, true); final String sep = separator == ScriptRuntime.UNDEFINED ? "," : JSType.toString(separator); @@ -951,7 +973,7 @@ public final class NativeArray extends ScriptObject { * @return sorted array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object sort(final Object self, final Object comparefn) { + public static ScriptObject sort(final Object self, final Object comparefn) { try { final ScriptObject sobj = (ScriptObject) self; final long len = JSType.toUint32(sobj.getLength()); @@ -1155,7 +1177,7 @@ public final class NativeArray extends ScriptObject { * @return index of element, or -1 if not found */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object indexOf(final Object self, final Object searchElement, final Object fromIndex) { + public static long indexOf(final Object self, final Object searchElement, final Object fromIndex) { try { final ScriptObject sobj = (ScriptObject)Global.toObject(self); final long len = JSType.toUint32(sobj.getLength()); @@ -1191,7 +1213,7 @@ public final class NativeArray extends ScriptObject { * @return index of element, or -1 if not found */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object lastIndexOf(final Object self, final Object... args) { + public static long lastIndexOf(final Object self, final Object... args) { try { final ScriptObject sobj = (ScriptObject)Global.toObject(self); final long len = JSType.toUint32(sobj.getLength()); @@ -1226,7 +1248,7 @@ public final class NativeArray extends ScriptObject { * @return true if callback function return true for every element in the array, false otherwise */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object every(final Object self, final Object callbackfn, final Object thisArg) { + public static boolean every(final Object self, final Object callbackfn, final Object thisArg) { return applyEvery(Global.toObject(self), callbackfn, thisArg); } @@ -1250,7 +1272,7 @@ public final class NativeArray extends ScriptObject { * @return true if callback function returned true for any element in the array, false otherwise */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object some(final Object self, final Object callbackfn, final Object thisArg) { + public static boolean some(final Object self, final Object callbackfn, final Object thisArg) { return new IteratorAction<Boolean>(Global.toObject(self), callbackfn, thisArg, false) { private final MethodHandle someInvoker = getSOME_CALLBACK_INVOKER(); @@ -1291,7 +1313,7 @@ public final class NativeArray extends ScriptObject { * @return array with elements transformed by map function */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object map(final Object self, final Object callbackfn, final Object thisArg) { + public static NativeArray map(final Object self, final Object callbackfn, final Object thisArg) { return new IteratorAction<NativeArray>(Global.toObject(self), callbackfn, thisArg, null) { private final MethodHandle mapInvoker = getMAP_CALLBACK_INVOKER(); @@ -1320,7 +1342,7 @@ public final class NativeArray extends ScriptObject { * @return filtered array */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object filter(final Object self, final Object callbackfn, final Object thisArg) { + public static NativeArray filter(final Object self, final Object callbackfn, final Object thisArg) { return new IteratorAction<NativeArray>(Global.toObject(self), callbackfn, thisArg, new NativeArray()) { private long to = 0; private final MethodHandle filterInvoker = getFILTER_CALLBACK_INVOKER(); diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java b/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java index 49a61c96df3..70c97daf27b 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java @@ -45,7 +45,7 @@ final class NativeArrayBuffer extends ScriptObject { private static PropertyMap $nasgenmap$; @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { + public static NativeArrayBuffer constructor(final boolean newObj, final Object self, final Object... args) { if (args.length == 0) { throw new RuntimeException("missing length argument"); } @@ -81,7 +81,7 @@ final class NativeArrayBuffer extends ScriptObject { } @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object slice(final Object self, final Object begin0, final Object end0) { + public static NativeArrayBuffer slice(final Object self, final Object begin0, final Object end0) { final NativeArrayBuffer arrayBuffer = (NativeArrayBuffer)self; int begin = JSType.toInt32(begin0); int end = end0 != ScriptRuntime.UNDEFINED ? JSType.toInt32(end0) : arrayBuffer.getByteLength(); diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java b/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java index f737a6c898b..d645d6dd4e6 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java @@ -110,7 +110,7 @@ public final class NativeBoolean extends ScriptObject { * @return string representation of this boolean */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toString(final Object self) { + public static String toString(final Object self) { return getBoolean(self).toString(); } @@ -121,7 +121,7 @@ public final class NativeBoolean extends ScriptObject { * @return value of this boolean */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object valueOf(final Object self) { + public static boolean valueOf(final Object self) { return getBoolean(self); } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeDataView.java b/nashorn/src/jdk/nashorn/internal/objects/NativeDataView.java index 93b5f09f90c..414ff8ae5ce 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeDataView.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeDataView.java @@ -131,7 +131,7 @@ public class NativeDataView extends ScriptObject { * @return newly constructed DataView object */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { + public static NativeDataView 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"); } @@ -157,7 +157,7 @@ public class NativeDataView extends ScriptObject { * @return newly constructed DataView object */ @SpecializedConstructor - public static Object constructor(final boolean newObj, final Object self, final Object arrBuf, final int offset) { + public static NativeDataView constructor(final boolean newObj, final Object self, final Object arrBuf, final int offset) { if (!(arrBuf instanceof NativeArrayBuffer)) { throw typeError("not.an.arraybuffer.in.dataview"); } @@ -175,7 +175,7 @@ public class NativeDataView extends ScriptObject { * @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) { + public static NativeDataView 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"); } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java b/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java index 34e27f173ac..b3661df7eb2 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java @@ -226,7 +226,7 @@ public final class NativeDate extends ScriptObject { * @return Date interpreted from the string, or NaN for illegal values */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object parse(final Object self, final Object string) { + public static double parse(final Object self, final Object string) { return parseDateString(JSType.toString(string)); } @@ -238,7 +238,7 @@ public final class NativeDate extends ScriptObject { * @return a time clip according to the ECMA specification */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 7, where = Where.CONSTRUCTOR) - public static Object UTC(final Object self, final Object... args) { + public static double UTC(final Object self, final Object... args) { final NativeDate nd = new NativeDate(0); final double[] d = convertCtorArgs(args); final double time = d == null ? Double.NaN : timeClip(makeDate(d)); @@ -253,8 +253,8 @@ public final class NativeDate extends ScriptObject { * @return a Date that points to the current moment in time */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object now(final Object self) { - return (double)System.currentTimeMillis(); + public static long now(final Object self) { + return System.currentTimeMillis(); } /** @@ -264,7 +264,7 @@ public final class NativeDate extends ScriptObject { * @return string value that represents the Date in the current time zone */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toString(final Object self) { + public static String toString(final Object self) { return toStringImpl(self, FORMAT_DATE_TIME); } @@ -275,7 +275,7 @@ public final class NativeDate extends ScriptObject { * @return string value with the "date" part of the Date in the current time zone */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toDateString(final Object self) { + public static String toDateString(final Object self) { return toStringImpl(self, FORMAT_DATE); } @@ -286,7 +286,7 @@ public final class NativeDate extends ScriptObject { * @return string value with "time" part of Date in the current time zone */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toTimeString(final Object self) { + public static String toTimeString(final Object self) { return toStringImpl(self, FORMAT_TIME); } @@ -297,7 +297,7 @@ public final class NativeDate extends ScriptObject { * @return string value that represents the Data in the current time zone and locale */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toLocaleString(final Object self) { + public static String toLocaleString(final Object self) { return toStringImpl(self, FORMAT_LOCAL_DATE_TIME); } @@ -308,7 +308,7 @@ public final class NativeDate extends ScriptObject { * @return string value with the "date" part of the Date in the current time zone and locale */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toLocaleDateString(final Object self) { + public static String toLocaleDateString(final Object self) { return toStringImpl(self, FORMAT_LOCAL_DATE); } @@ -319,7 +319,7 @@ public final class NativeDate extends ScriptObject { * @return string value with the "time" part of Date in the current time zone and locale */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toLocaleTimeString(final Object self) { + public static String toLocaleTimeString(final Object self) { return toStringImpl(self, FORMAT_LOCAL_TIME); } @@ -330,7 +330,7 @@ public final class NativeDate extends ScriptObject { * @return valueOf - a number which is this time value */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object valueOf(final Object self) { + public static double valueOf(final Object self) { final NativeDate nd = getNativeDate(self); return (nd != null) ? nd.getTime() : Double.NaN; } @@ -342,7 +342,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getTime(final Object self) { + public static double getTime(final Object self) { final NativeDate nd = getNativeDate(self); return (nd != null) ? nd.getTime() : Double.NaN; } @@ -365,7 +365,7 @@ public final class NativeDate extends ScriptObject { * @return UTC full year */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getUTCFullYear(final Object self) { + public static double getUTCFullYear(final Object self) { return getUTCField(self, YEAR); } @@ -376,7 +376,7 @@ public final class NativeDate extends ScriptObject { * @return year */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getYear(final Object self) { + public static double getYear(final Object self) { final NativeDate nd = getNativeDate(self); return (nd != null && nd.isValidDate()) ? (yearFromTime(nd.getLocalTime()) - 1900) : Double.NaN; } @@ -388,7 +388,7 @@ public final class NativeDate extends ScriptObject { * @return month */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getMonth(final Object self) { + public static double getMonth(final Object self) { return getField(self, MONTH); } @@ -399,7 +399,7 @@ public final class NativeDate extends ScriptObject { * @return UTC month */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getUTCMonth(final Object self) { + public static double getUTCMonth(final Object self) { return getUTCField(self, MONTH); } @@ -410,7 +410,7 @@ public final class NativeDate extends ScriptObject { * @return date */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getDate(final Object self) { + public static double getDate(final Object self) { return getField(self, DAY); } @@ -421,7 +421,7 @@ public final class NativeDate extends ScriptObject { * @return UTC Date */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getUTCDate(final Object self) { + public static double getUTCDate(final Object self) { return getUTCField(self, DAY); } @@ -432,7 +432,7 @@ public final class NativeDate extends ScriptObject { * @return day */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getDay(final Object self) { + public static double getDay(final Object self) { final NativeDate nd = getNativeDate(self); return (nd != null && nd.isValidDate()) ? weekDay(nd.getLocalTime()) : Double.NaN; } @@ -444,7 +444,7 @@ public final class NativeDate extends ScriptObject { * @return UTC day */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getUTCDay(final Object self) { + public static double getUTCDay(final Object self) { final NativeDate nd = getNativeDate(self); return (nd != null && nd.isValidDate()) ? weekDay(nd.getTime()) : Double.NaN; } @@ -456,7 +456,7 @@ public final class NativeDate extends ScriptObject { * @return hours */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getHours(final Object self) { + public static double getHours(final Object self) { return getField(self, HOUR); } @@ -467,7 +467,7 @@ public final class NativeDate extends ScriptObject { * @return UTC hours */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getUTCHours(final Object self) { + public static double getUTCHours(final Object self) { return getUTCField(self, HOUR); } @@ -478,7 +478,7 @@ public final class NativeDate extends ScriptObject { * @return minutes */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getMinutes(final Object self) { + public static double getMinutes(final Object self) { return getField(self, MINUTE); } @@ -489,7 +489,7 @@ public final class NativeDate extends ScriptObject { * @return UTC minutes */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getUTCMinutes(final Object self) { + public static double getUTCMinutes(final Object self) { return getUTCField(self, MINUTE); } @@ -500,7 +500,7 @@ public final class NativeDate extends ScriptObject { * @return seconds */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getSeconds(final Object self) { + public static double getSeconds(final Object self) { return getField(self, SECOND); } @@ -511,7 +511,7 @@ public final class NativeDate extends ScriptObject { * @return UTC seconds */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getUTCSeconds(final Object self) { + public static double getUTCSeconds(final Object self) { return getUTCField(self, SECOND); } @@ -522,7 +522,7 @@ public final class NativeDate extends ScriptObject { * @return milliseconds */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getMilliseconds(final Object self) { + public static double getMilliseconds(final Object self) { return getField(self, MILLISECOND); } @@ -533,7 +533,7 @@ public final class NativeDate extends ScriptObject { * @return UTC milliseconds */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getUTCMilliseconds(final Object self) { + public static double getUTCMilliseconds(final Object self) { return getUTCField(self, MILLISECOND); } @@ -544,7 +544,7 @@ public final class NativeDate extends ScriptObject { * @return time zone offset or NaN if N/A */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object getTimezoneOffset(final Object self) { + public static double getTimezoneOffset(final Object self) { final NativeDate nd = getNativeDate(self); if (nd != null && nd.isValidDate()) { final long msec = (long) nd.getTime(); @@ -561,7 +561,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object setTime(final Object self, final Object time) { + public static double setTime(final Object self, final Object time) { final NativeDate nd = getNativeDate(self); final double num = timeClip(JSType.toNumber(time)); nd.setTime(num); @@ -576,7 +576,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object setMilliseconds(final Object self, final Object... args) { + public static double setMilliseconds(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, MILLISECOND, args, true); return nd.getTime(); @@ -590,7 +590,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object setUTCMilliseconds(final Object self, final Object... args) { + public static double setUTCMilliseconds(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, MILLISECOND, args, false); return nd.getTime(); @@ -604,7 +604,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) - public static Object setSeconds(final Object self, final Object... args) { + public static double setSeconds(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, SECOND, args, true); return nd.getTime(); @@ -618,7 +618,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) - public static Object setUTCSeconds(final Object self, final Object... args) { + public static double setUTCSeconds(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, SECOND, args, false); return nd.getTime(); @@ -632,7 +632,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 3) - public static Object setMinutes(final Object self, final Object... args) { + public static double setMinutes(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, MINUTE, args, true); return nd.getTime(); @@ -646,7 +646,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 3) - public static Object setUTCMinutes(final Object self, final Object... args) { + public static double setUTCMinutes(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, MINUTE, args, false); return nd.getTime(); @@ -660,7 +660,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 4) - public static Object setHours(final Object self, final Object... args) { + public static double setHours(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, HOUR, args, true); return nd.getTime(); @@ -674,7 +674,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 4) - public static Object setUTCHours(final Object self, final Object... args) { + public static double setUTCHours(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, HOUR, args, false); return nd.getTime(); @@ -688,7 +688,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object setDate(final Object self, final Object... args) { + public static double setDate(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, DAY, args, true); return nd.getTime(); @@ -702,7 +702,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object setUTCDate(final Object self, final Object... args) { + public static double setUTCDate(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, DAY, args, false); return nd.getTime(); @@ -716,7 +716,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) - public static Object setMonth(final Object self, final Object... args) { + public static double setMonth(final Object self, final Object... args) { final NativeDate nd = getNativeDate(self); setFields(nd, MONTH, args, true); return nd.getTime(); @@ -730,7 +730,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 2) - public static Object setUTCMonth(final Object self, final Object... args) { + public static double setUTCMonth(final Object self, final Object... args) { final NativeDate nd = ensureNativeDate(self); setFields(nd, MONTH, args, false); return nd.getTime(); @@ -744,7 +744,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 3) - public static Object setFullYear(final Object self, final Object... args) { + public static double setFullYear(final Object self, final Object... args) { final NativeDate nd = ensureNativeDate(self); if (nd.isValidDate()) { setFields(nd, YEAR, args, true); @@ -767,7 +767,7 @@ public final class NativeDate extends ScriptObject { * @return time */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 3) - public static Object setUTCFullYear(final Object self, final Object... args) { + public static double setUTCFullYear(final Object self, final Object... args) { final NativeDate nd = ensureNativeDate(self); if (nd.isValidDate()) { setFields(nd, YEAR, args, false); @@ -786,7 +786,7 @@ public final class NativeDate extends ScriptObject { * @return NativeDate */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object setYear(final Object self, final Object year) { + public static double setYear(final Object self, final Object year) { final NativeDate nd = getNativeDate(self); if (isNaN(nd.getTime())) { nd.setTime(utc(0, nd.getTimeZone())); @@ -813,7 +813,7 @@ public final class NativeDate extends ScriptObject { * @return string representation of date */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toUTCString(final Object self) { + public static String toUTCString(final Object self) { return toGMTStringImpl(self); } @@ -826,7 +826,7 @@ public final class NativeDate extends ScriptObject { * @return string representation of date */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toGMTString(final Object self) { + public static String toGMTString(final Object self) { return toGMTStringImpl(self); } @@ -837,7 +837,7 @@ public final class NativeDate extends ScriptObject { * @return string representation of date */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toISOString(final Object self) { + public static String toISOString(final Object self) { return toISOStringImpl(self); } @@ -1282,14 +1282,14 @@ public final class NativeDate extends ScriptObject { } } - private static Object getField(final Object self, final int field) { + private static double getField(final Object self, final int field) { final NativeDate nd = getNativeDate(self); - return (nd != null && nd.isValidDate()) ? valueFromTime(field, nd.getLocalTime()) : Double.NaN; + return (nd != null && nd.isValidDate()) ? (double)valueFromTime(field, nd.getLocalTime()) : Double.NaN; } - private static Object getUTCField(final Object self, final int field) { + private static double getUTCField(final Object self, final int field) { final NativeDate nd = getNativeDate(self); - return (nd != null && nd.isValidDate()) ? valueFromTime(field, nd.getTime()) : Double.NaN; + return (nd != null && nd.isValidDate()) ? (double)valueFromTime(field, nd.getTime()) : Double.NaN; } private static void setFields(final NativeDate nd, final int fieldId, final Object[] args, final boolean local) { @@ -1344,5 +1344,4 @@ public final class NativeDate extends ScriptObject { private TimeZone getTimeZone() { return timezone; } - } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeDebug.java b/nashorn/src/jdk/nashorn/internal/objects/NativeDebug.java index 59b7b2fe379..5d80c37b06b 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeDebug.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeDebug.java @@ -116,7 +116,7 @@ public final class NativeDebug extends ScriptObject { * @return true if reference identity */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object identical(final Object self, final Object obj1, final Object obj2) { + public static boolean identical(final Object self, final Object obj1, final Object obj2) { return obj1 == obj2; } @@ -144,7 +144,7 @@ public final class NativeDebug extends ScriptObject { * @return return {@link Object#equals(Object)} for objects. */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object equals(final Object self, final Object obj1, final Object obj2) { + public static boolean equals(final Object self, final Object obj1, final Object obj2) { return Objects.equals(obj1, obj2); } @@ -156,7 +156,7 @@ public final class NativeDebug extends ScriptObject { * @return Java string representation of {@code obj} */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object toJavaString(final Object self, final Object obj) { + public static String toJavaString(final Object self, final Object obj) { return Objects.toString(obj); } @@ -168,7 +168,7 @@ public final class NativeDebug extends ScriptObject { * @return string representation */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object toIdentString(final Object self, final Object obj) { + public static String toIdentString(final Object self, final Object obj) { if (obj == null) { return "null"; } @@ -185,7 +185,7 @@ public final class NativeDebug extends ScriptObject { * @return listener count */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object getListenerCount(final Object self, final Object obj) { + public static int getListenerCount(final Object self, final Object obj) { return (obj instanceof ScriptObject) ? PropertyListeners.getListenerCount((ScriptObject) obj) : 0; } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeError.java index 3dea27288b0..1b6b809412f 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeError.java @@ -126,7 +126,7 @@ public final class NativeError extends ScriptObject { * @return NativeError instance */ @Constructor - public static Object constructor(final boolean newObj, final Object self, final Object msg) { + public static NativeError constructor(final boolean newObj, final Object self, final Object msg) { return new NativeError(msg); } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java index 2b343ede673..586c7cffb31 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java @@ -98,7 +98,7 @@ public final class NativeEvalError extends ScriptObject { * @return new EvalError */ @Constructor(name = "EvalError") - public static Object constructor(final boolean newObj, final Object self, final Object msg) { + public static NativeEvalError constructor(final boolean newObj, final Object self, final Object msg) { return new NativeEvalError(msg); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeFloat32Array.java b/nashorn/src/jdk/nashorn/internal/objects/NativeFloat32Array.java index b96c81c96f9..a9dfb7a4c6f 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeFloat32Array.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeFloat32Array.java @@ -136,8 +136,8 @@ public final class NativeFloat32Array extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeFloat32Array constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeFloat32Array)constructorImpl(args, FACTORY); } NativeFloat32Array(final NativeArrayBuffer buffer, final int byteOffset, final int length) { @@ -192,8 +192,8 @@ public final class NativeFloat32Array extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeFloat32Array subarray(final Object self, final Object begin, final Object end) { + return (NativeFloat32Array)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeFloat64Array.java b/nashorn/src/jdk/nashorn/internal/objects/NativeFloat64Array.java index af9251f44e1..61b58807f8f 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeFloat64Array.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeFloat64Array.java @@ -146,8 +146,8 @@ public final class NativeFloat64Array extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeFloat64Array constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeFloat64Array)constructorImpl(args, FACTORY); } NativeFloat64Array(final NativeArrayBuffer buffer, final int byteOffset, final int length) { @@ -202,8 +202,8 @@ public final class NativeFloat64Array extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeFloat64Array subarray(final Object self, final Object begin, final Object end) { + return (NativeFloat64Array)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeFunction.java b/nashorn/src/jdk/nashorn/internal/objects/NativeFunction.java index d092cfb6bcb..3d45cc1f48a 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeFunction.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeFunction.java @@ -71,7 +71,7 @@ public final class NativeFunction { * @return string representation of Function */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toString(final Object self) { + public static String toString(final Object self) { if (!(self instanceof ScriptFunction)) { throw typeError("not.a.function", ScriptRuntime.safeToString(self)); } @@ -174,7 +174,7 @@ public final class NativeFunction { * @return function with bound arguments */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object bind(final Object self, final Object... args) { + public static ScriptFunction bind(final Object self, final Object... args) { if (!(self instanceof ScriptFunction)) { throw typeError("not.a.function", ScriptRuntime.safeToString(self)); } @@ -199,7 +199,7 @@ public final class NativeFunction { * @return source for function */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toSource(final Object self) { + public static String toSource(final Object self) { if (!(self instanceof ScriptFunction)) { throw typeError("not.a.function", ScriptRuntime.safeToString(self)); } @@ -217,7 +217,7 @@ public final class NativeFunction { * @return new NativeFunction */ @Constructor(arity = 1) - public static Object function(final boolean newObj, final Object self, final Object... args) { + public static ScriptFunction function(final boolean newObj, final Object self, final Object... args) { final StringBuilder sb = new StringBuilder(); sb.append("(function ("); @@ -253,7 +253,7 @@ public final class NativeFunction { final Global global = Global.instance(); - return Global.directEval(global, sb.toString(), global, "<function>", global.isStrictContext()); + return (ScriptFunction)Global.directEval(global, sb.toString(), global, "<function>", global.isStrictContext()); } private static void checkFunctionParameters(final String params) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeInt16Array.java b/nashorn/src/jdk/nashorn/internal/objects/NativeInt16Array.java index e24691afd38..f6aa2054a36 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeInt16Array.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeInt16Array.java @@ -100,8 +100,8 @@ public final class NativeInt16Array extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeInt16Array constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeInt16Array)constructorImpl(args, FACTORY); } NativeInt16Array(final NativeArrayBuffer buffer, final int byteOffset, final int byteLength) { @@ -151,8 +151,8 @@ public final class NativeInt16Array extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeInt16Array subarray(final Object self, final Object begin, final Object end) { + return (NativeInt16Array)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeInt32Array.java b/nashorn/src/jdk/nashorn/internal/objects/NativeInt32Array.java index b25f84951d2..643bd81699f 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeInt32Array.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeInt32Array.java @@ -103,8 +103,8 @@ public final class NativeInt32Array extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeInt32Array constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeInt32Array)constructorImpl(args, FACTORY); } NativeInt32Array(final NativeArrayBuffer buffer, final int byteOffset, final int length) { @@ -154,8 +154,8 @@ public final class NativeInt32Array extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeInt32Array subarray(final Object self, final Object begin, final Object end) { + return (NativeInt32Array)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeInt8Array.java b/nashorn/src/jdk/nashorn/internal/objects/NativeInt8Array.java index e50691076b2..5822c6d5017 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeInt8Array.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeInt8Array.java @@ -93,8 +93,8 @@ public final class NativeInt8Array extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeInt8Array constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeInt8Array)constructorImpl(args, FACTORY); } NativeInt8Array(final NativeArrayBuffer buffer, final int byteOffset, final int length) { @@ -144,8 +144,8 @@ public final class NativeInt8Array extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeInt8Array subarray(final Object self, final Object begin, final Object end) { + return (NativeInt8Array)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java b/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java index b71b4276cd8..84036a328f9 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java @@ -536,7 +536,7 @@ public final class NativeJSAdapter extends ScriptObject { * @return new NativeJSAdapter */ @Constructor - public static Object construct(final boolean isNew, final Object self, final Object... args) { + public static NativeJSAdapter construct(final boolean isNew, final Object self, final Object... args) { Object proto = UNDEFINED; Object overrides = UNDEFINED; Object adaptee; diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeJava.java b/nashorn/src/jdk/nashorn/internal/objects/NativeJava.java index b863e24f2a5..7879bab4f4b 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeJava.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeJava.java @@ -75,7 +75,7 @@ public final class NativeJava { * @see #type(Object, Object) */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object isType(final Object self, final Object type) { + public static boolean isType(final Object self, final Object type) { return type instanceof StaticClass; } @@ -338,7 +338,7 @@ public final class NativeJava { * null. */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object from(final Object self, final Object objArray) { + public static NativeArray from(final Object self, final Object objArray) { if (objArray == null) { return null; } else if (objArray instanceof Collection) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java b/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java index 49be8a7c473..40ecbffca9a 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java @@ -86,7 +86,7 @@ public final class NativeJavaImporter extends ScriptObject { * @return NativeJavaImporter instance */ @Constructor(arity = 1) - public static Object constructor(final boolean isNew, final Object self, final Object... args) { + public static NativeJavaImporter constructor(final boolean isNew, final Object self, final Object... args) { return new NativeJavaImporter(args); } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java b/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java index 4181d205051..a95587efddb 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java @@ -185,7 +185,7 @@ public final class NativeNumber extends ScriptObject { * @return number in decimal fixed point notation */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toFixed(final Object self, final Object fractionDigits) { + public static String toFixed(final Object self, final Object fractionDigits) { final int f = JSType.toInteger(fractionDigits); if (f < 0 || f > 20) { throw rangeError("invalid.fraction.digits", "toFixed"); @@ -217,7 +217,7 @@ public final class NativeNumber extends ScriptObject { * @return number in decimal exponential notation */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toExponential(final Object self, final Object fractionDigits) { + public static String toExponential(final Object self, final Object fractionDigits) { final double x = getNumberValue(self); final boolean trimZeros = fractionDigits == UNDEFINED; final int f = trimZeros ? 16 : JSType.toInteger(fractionDigits); @@ -245,7 +245,7 @@ public final class NativeNumber extends ScriptObject { * @return number in decimal exponentiation notation or decimal fixed notation depending on {@code precision} */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toPrecision(final Object self, final Object precision) { + public static String toPrecision(final Object self, final Object precision) { final double x = getNumberValue(self); if (precision == UNDEFINED) { return JSType.toString(x); @@ -278,7 +278,7 @@ public final class NativeNumber extends ScriptObject { * @return string representation of this Number in the given radix */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toString(final Object self, final Object radix) { + public static String toString(final Object self, final Object radix) { if (radix != UNDEFINED) { final int intRadix = JSType.toInteger(radix); if (intRadix != 10) { @@ -299,7 +299,7 @@ public final class NativeNumber extends ScriptObject { * @return localized string for this Number */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toLocaleString(final Object self) { + public static String toLocaleString(final Object self) { return JSType.toString(getNumberValue(self)); } @@ -308,10 +308,10 @@ public final class NativeNumber extends ScriptObject { * ECMA 15.7.4.4 Number.prototype.valueOf ( ) * * @param self self reference - * @return boxed number value for this Number + * @return number value for this Number */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object valueOf(final Object self) { + public static double valueOf(final Object self) { return getNumberValue(self); } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java b/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java index 26335f631e8..9cde4faf417 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java @@ -111,7 +111,7 @@ public final class NativeObject { * @return the 'obj' object */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object setIndexedPropertiesToExternalArrayData(final Object self, final Object obj, final Object buf) { + public static ScriptObject setIndexedPropertiesToExternalArrayData(final Object self, final Object obj, final Object buf) { Global.checkObject(obj); final ScriptObject sobj = (ScriptObject)obj; if (buf instanceof ByteBuffer) { @@ -203,7 +203,7 @@ public final class NativeObject { * @return array of property names */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object getOwnPropertyNames(final Object self, final Object obj) { + public static ScriptObject getOwnPropertyNames(final Object self, final Object obj) { if (obj instanceof ScriptObject) { return new NativeArray(((ScriptObject)obj).getOwnKeys(true)); } else if (obj instanceof ScriptObjectMirror) { @@ -222,7 +222,7 @@ public final class NativeObject { * @return object created */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object create(final Object self, final Object proto, final Object props) { + public static ScriptObject create(final Object self, final Object proto, final Object props) { if (proto != null) { Global.checkObject(proto); } @@ -248,10 +248,11 @@ public final class NativeObject { * @return object */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object defineProperty(final Object self, final Object obj, final Object prop, final Object attr) { + public static ScriptObject defineProperty(final Object self, final Object obj, final Object prop, final Object attr) { Global.checkObject(obj); - ((ScriptObject)obj).defineOwnProperty(JSType.toString(prop), attr, true); - return obj; + final ScriptObject sobj = (ScriptObject)obj; + sobj.defineOwnProperty(JSType.toString(prop), attr, true); + return sobj; } /** @@ -263,7 +264,7 @@ public final class NativeObject { * @return object */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object defineProperties(final Object self, final Object obj, final Object props) { + public static ScriptObject defineProperties(final Object self, final Object obj, final Object props) { Global.checkObject(obj); final ScriptObject sobj = (ScriptObject)obj; @@ -342,7 +343,7 @@ public final class NativeObject { * @return true if sealed, false otherwise */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object isSealed(final Object self, final Object obj) { + public static boolean isSealed(final Object self, final Object obj) { if (obj instanceof ScriptObject) { return ((ScriptObject)obj).isSealed(); } else if (obj instanceof ScriptObjectMirror) { @@ -360,7 +361,7 @@ public final class NativeObject { * @return true if object is frozen, false otherwise */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object isFrozen(final Object self, final Object obj) { + public static boolean isFrozen(final Object self, final Object obj) { if (obj instanceof ScriptObject) { return ((ScriptObject)obj).isFrozen(); } else if (obj instanceof ScriptObjectMirror) { @@ -378,7 +379,7 @@ public final class NativeObject { * @return true if object is extensible, false otherwise */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object isExtensible(final Object self, final Object obj) { + public static boolean isExtensible(final Object self, final Object obj) { if (obj instanceof ScriptObject) { return ((ScriptObject)obj).isExtensible(); } else if (obj instanceof ScriptObjectMirror) { @@ -396,7 +397,7 @@ public final class NativeObject { * @return array of keys in object */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) - public static Object keys(final Object self, final Object obj) { + public static ScriptObject keys(final Object self, final Object obj) { if (obj instanceof ScriptObject) { final ScriptObject sobj = (ScriptObject)obj; return new NativeArray(sobj.getOwnKeys(false)); @@ -453,7 +454,7 @@ public final class NativeObject { * @return ToString of object */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toString(final Object self) { + public static String toString(final Object self) { return ScriptRuntime.builtinObjectToString(self); } @@ -506,7 +507,7 @@ public final class NativeObject { * @return true if property exists in object */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object hasOwnProperty(final Object self, final Object v) { + public static boolean hasOwnProperty(final Object self, final Object v) { // Convert ScriptObjects to primitive with String.class hint // but no need to convert other primitives to string. final Object key = JSType.toPrimitive(v, String.class); @@ -523,7 +524,7 @@ public final class NativeObject { * @return true if object is prototype of v */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object isPrototypeOf(final Object self, final Object v) { + public static boolean isPrototypeOf(final Object self, final Object v) { if (!(v instanceof ScriptObject)) { return false; } @@ -549,7 +550,7 @@ public final class NativeObject { * @return true if property is enumerable */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object propertyIsEnumerable(final Object self, final Object v) { + public static boolean propertyIsEnumerable(final Object self, final Object v) { final String str = JSType.toString(v); final Object obj = Global.toObject(self); diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java index 4b2bebcfd2d..ff3ac7b77c0 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java @@ -98,7 +98,7 @@ public final class NativeRangeError extends ScriptObject { * @return new RangeError */ @Constructor(name = "RangeError") - public static Object constructor(final boolean newObj, final Object self, final Object msg) { + public static NativeRangeError constructor(final boolean newObj, final Object self, final Object msg) { return new NativeRangeError(msg); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java index 504f16ecd6c..741901796b0 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java @@ -98,7 +98,7 @@ public final class NativeReferenceError extends ScriptObject { * @return new ReferenceError */ @Constructor(name = "ReferenceError") - public static Object constructor(final boolean newObj, final Object self, final Object msg) { + public static NativeReferenceError constructor(final boolean newObj, final Object self, final Object msg) { return new NativeReferenceError(msg); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java index 04b828bfc21..89a9a828455 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java @@ -122,7 +122,7 @@ public final class NativeRegExp extends ScriptObject { * @return new NativeRegExp */ @Constructor(arity = 2) - public static Object constructor(final boolean isNew, final Object self, final Object... args) { + public static NativeRegExp constructor(final boolean isNew, final Object self, final Object... args) { if (args.length > 1) { return newRegExp(args[0], args[1]); } else if (args.length > 0) { @@ -142,7 +142,7 @@ public final class NativeRegExp extends ScriptObject { * @return new NativeRegExp */ @SpecializedConstructor - public static Object constructor(final boolean isNew, final Object self) { + public static NativeRegExp constructor(final boolean isNew, final Object self) { return new NativeRegExp("", ""); } @@ -157,7 +157,7 @@ public final class NativeRegExp extends ScriptObject { * @return new NativeRegExp */ @SpecializedConstructor - public static Object constructor(final boolean isNew, final Object self, final Object pattern) { + public static NativeRegExp constructor(final boolean isNew, final Object self, final Object pattern) { return newRegExp(pattern, UNDEFINED); } @@ -173,7 +173,7 @@ public final class NativeRegExp extends ScriptObject { * @return new NativeRegExp */ @SpecializedConstructor - public static Object constructor(final boolean isNew, final Object self, final Object pattern, final Object flags) { + public static NativeRegExp constructor(final boolean isNew, final Object self, final Object pattern, final Object flags) { return newRegExp(pattern, flags); } @@ -283,7 +283,7 @@ public final class NativeRegExp extends ScriptObject { * @return new NativeRegExp */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object compile(final Object self, final Object pattern, final Object flags) { + public static ScriptObject compile(final Object self, final Object pattern, final Object flags) { final NativeRegExp regExp = checkRegExp(self); final NativeRegExp compiled = newRegExp(pattern, flags); // copy over regexp to 'self' @@ -302,7 +302,7 @@ public final class NativeRegExp extends ScriptObject { * @return array containing the matches or {@code null} if no match */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object exec(final Object self, final Object string) { + public static ScriptObject exec(final Object self, final Object string) { return checkRegExp(self).exec(JSType.toString(string)); } @@ -314,7 +314,7 @@ public final class NativeRegExp extends ScriptObject { * @return true if matches found, false otherwise */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object test(final Object self, final Object string) { + public static boolean test(final Object self, final Object string) { return checkRegExp(self).test(JSType.toString(string)); } @@ -325,7 +325,7 @@ public final class NativeRegExp extends ScriptObject { * @return string version of regexp */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toString(final Object self) { + public static String toString(final Object self) { return checkRegExp(self).toString(); } @@ -618,7 +618,7 @@ public final class NativeRegExp extends ScriptObject { * @param string String to match. * @return NativeArray of matches, string or null. */ - public Object exec(final String string) { + public NativeRegExpExecResult exec(final String string) { final RegExpResult match = execInner(string); if (match == null) { @@ -635,7 +635,7 @@ public final class NativeRegExp extends ScriptObject { * @param string String to match. * @return True if a match is found. */ - public Object test(final String string) { + public boolean test(final String string) { return execInner(string) != null; } @@ -649,7 +649,7 @@ public final class NativeRegExp extends ScriptObject { * @param replacement Replacement string. * @return String with substitutions. */ - Object replace(final String string, final String replacement, final ScriptFunction function) { + String replace(final String string, final String replacement, final ScriptFunction function) { final RegExpMatcher matcher = regexp.match(string); if (matcher == null) { @@ -804,7 +804,7 @@ public final class NativeRegExp extends ScriptObject { * @param limit Split limit. * @return Array of substrings. */ - Object split(final String string, final long limit) { + NativeArray split(final String string, final long limit) { if (limit == 0L) { return new NativeArray(); } @@ -867,7 +867,7 @@ public final class NativeRegExp extends ScriptObject { * @param string String to match. * @return Index of match. */ - Object search(final String string) { + int search(final String string) { final RegExpResult match = execInner(string); if (match == null) { diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeString.java b/nashorn/src/jdk/nashorn/internal/objects/NativeString.java index c75b2b00362..51edf75a44f 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeString.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeString.java @@ -425,7 +425,7 @@ public final class NativeString extends ScriptObject { * @return string with arguments translated to charcodes */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1, where = Where.CONSTRUCTOR) - public static Object fromCharCode(final Object self, final Object... args) { + public static String fromCharCode(final Object self, final Object... args) { final char[] buf = new char[args.length]; int index = 0; for (final Object arg : args) { @@ -441,7 +441,7 @@ public final class NativeString extends ScriptObject { * @return string with one charcode */ @SpecializedFunction - public static Object fromCharCode(final Object self, final Object value) { + public static String fromCharCode(final Object self, final Object value) { try { return "" + (char)JSType.toUint16(((Number)value).doubleValue()); } catch (final ClassCastException e) { @@ -456,7 +456,7 @@ public final class NativeString extends ScriptObject { * @return string with one charcode */ @SpecializedFunction - public static Object fromCharCode(final Object self, final int value) { + public static String fromCharCode(final Object self, final int value) { return "" + (char)(value & 0xffff); } @@ -467,7 +467,7 @@ public final class NativeString extends ScriptObject { * @return string with one charcode */ @SpecializedFunction - public static Object fromCharCode(final Object self, final long value) { + public static String fromCharCode(final Object self, final long value) { return "" + (char)((int)value & 0xffff); } @@ -478,7 +478,7 @@ public final class NativeString extends ScriptObject { * @return string with one charcode */ @SpecializedFunction - public static Object fromCharCode(final Object self, final double value) { + public static String fromCharCode(final Object self, final double value) { return "" + (char)JSType.toUint16(value); } @@ -488,7 +488,7 @@ public final class NativeString extends ScriptObject { * @return self as string */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toString(final Object self) { + public static String toString(final Object self) { return getString(self); } @@ -498,7 +498,7 @@ public final class NativeString extends ScriptObject { * @return self as string */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object valueOf(final Object self) { + public static String valueOf(final Object self) { return getString(self); } @@ -509,7 +509,7 @@ public final class NativeString extends ScriptObject { * @return string representing the char at the given position */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object charAt(final Object self, final Object pos) { + public static String charAt(final Object self, final Object pos) { return charAtImpl(checkObjectToString(self), JSType.toInteger(pos)); } @@ -546,7 +546,7 @@ public final class NativeString extends ScriptObject { * @return number representing charcode at position */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object charCodeAt(final Object self, final Object pos) { + public static double charCodeAt(final Object self, final Object pos) { return charCodeAtImpl(checkObjectToString(self), JSType.toInteger(pos)); } @@ -601,7 +601,7 @@ public final class NativeString extends ScriptObject { * @return position of first match or -1 */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object indexOf(final Object self, final Object search, final Object pos) { + public static int indexOf(final Object self, final Object search, final Object pos) { final String str = checkObjectToString(self); return str.indexOf(JSType.toString(search), JSType.toInteger(pos)); } @@ -649,7 +649,7 @@ public final class NativeString extends ScriptObject { * @return last position of match or -1 */ @Function(attributes = Attribute.NOT_ENUMERABLE, arity = 1) - public static Object lastIndexOf(final Object self, final Object search, final Object pos) { + public static int lastIndexOf(final Object self, final Object search, final Object pos) { final String str = checkObjectToString(self); final String searchStr = JSType.toString(search); @@ -680,7 +680,7 @@ public final class NativeString extends ScriptObject { * @return result of locale sensitive comparison operation between {@code self} and {@code that} */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object localeCompare(final Object self, final Object that) { + public static double localeCompare(final Object self, final Object that) { final String str = checkObjectToString(self); final Collator collator = Collator.getInstance(Global.getEnv()._locale); @@ -698,7 +698,7 @@ public final class NativeString extends ScriptObject { * @return array of regexp matches */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object match(final Object self, final Object regexp) { + public static ScriptObject match(final Object self, final Object regexp) { final String str = checkObjectToString(self); @@ -745,7 +745,7 @@ public final class NativeString extends ScriptObject { * @return string after replacement */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object replace(final Object self, final Object string, final Object replacement) { + public static String replace(final Object self, final Object string, final Object replacement) { final String str = checkObjectToString(self); @@ -771,7 +771,7 @@ public final class NativeString extends ScriptObject { * @return offset where match occurred */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object search(final Object self, final Object string) { + public static int search(final Object self, final Object string) { final String str = checkObjectToString(self); final NativeRegExp nativeRegExp = Global.toRegExp(string == UNDEFINED ? "" : string); @@ -788,7 +788,7 @@ public final class NativeString extends ScriptObject { * @return sliced out substring */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object slice(final Object self, final Object start, final Object end) { + public static String slice(final Object self, final Object start, final Object end) { final String str = checkObjectToString(self); if (end == UNDEFINED) { @@ -805,7 +805,7 @@ public final class NativeString extends ScriptObject { * @return sliced out substring */ @SpecializedFunction - public static Object slice(final Object self, final int start) { + public static String slice(final Object self, final int start) { final String str = checkObjectToString(self); final int from = (start < 0) ? Math.max(str.length() + start, 0) : Math.min(start, str.length()); @@ -820,7 +820,7 @@ public final class NativeString extends ScriptObject { * @return sliced out substring */ @SpecializedFunction - public static Object slice(final Object self, final double start) { + public static String slice(final Object self, final double start) { return slice(self, (int)start); } @@ -833,7 +833,7 @@ public final class NativeString extends ScriptObject { * @return sliced out substring */ @SpecializedFunction - public static Object slice(final Object self, final int start, final int end) { + public static String slice(final Object self, final int start, final int end) { final String str = checkObjectToString(self); final int len = str.length(); @@ -853,7 +853,7 @@ public final class NativeString extends ScriptObject { * @return sliced out substring */ @SpecializedFunction - public static Object slice(final Object self, final double start, final double end) { + public static String slice(final Object self, final double start, final double end) { return slice(self, (int)start, (int)end); } @@ -866,7 +866,7 @@ public final class NativeString extends ScriptObject { * @return array object in which splits have been placed */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object split(final Object self, final Object separator, final Object limit) { + public static ScriptObject split(final Object self, final Object separator, final Object limit) { final String str = checkObjectToString(self); final long lim = (limit == UNDEFINED) ? JSType.MAX_UINT : JSType.toUint32(limit); @@ -882,7 +882,7 @@ public final class NativeString extends ScriptObject { return splitString(str, JSType.toString(separator), lim); } - private static Object splitString(String str, String separator, long limit) { + private static ScriptObject splitString(String str, String separator, long limit) { if (separator.isEmpty()) { final int length = (int) Math.min(str.length(), limit); final Object[] array = new Object[length]; @@ -923,7 +923,7 @@ public final class NativeString extends ScriptObject { * @return substring given start and length of section */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object substr(final Object self, final Object start, final Object length) { + public static String substr(final Object self, final Object start, final Object length) { final String str = JSType.toString(self); final int strLength = str.length(); @@ -946,7 +946,7 @@ public final class NativeString extends ScriptObject { * @return substring given start and end indexes */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object substring(final Object self, final Object start, final Object end) { + public static String substring(final Object self, final Object start, final Object end) { final String str = checkObjectToString(self); if (end == UNDEFINED) { @@ -1026,7 +1026,7 @@ public final class NativeString extends ScriptObject { * @return string to lower case */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toLowerCase(final Object self) { + public static String toLowerCase(final Object self) { return checkObjectToString(self).toLowerCase(Locale.ROOT); } @@ -1036,7 +1036,7 @@ public final class NativeString extends ScriptObject { * @return string to locale sensitive lower case */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toLocaleLowerCase(final Object self) { + public static String toLocaleLowerCase(final Object self) { return checkObjectToString(self).toLowerCase(Global.getEnv()._locale); } @@ -1046,7 +1046,7 @@ public final class NativeString extends ScriptObject { * @return string to upper case */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toUpperCase(final Object self) { + public static String toUpperCase(final Object self) { return checkObjectToString(self).toUpperCase(Locale.ROOT); } @@ -1056,7 +1056,7 @@ public final class NativeString extends ScriptObject { * @return string to locale sensitive upper case */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object toLocaleUpperCase(final Object self) { + public static String toLocaleUpperCase(final Object self) { return checkObjectToString(self).toUpperCase(Global.getEnv()._locale); } @@ -1066,7 +1066,7 @@ public final class NativeString extends ScriptObject { * @return string trimmed from whitespace */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object trim(final Object self) { + public static String trim(final Object self) { final String str = checkObjectToString(self); int start = 0; @@ -1088,7 +1088,7 @@ public final class NativeString extends ScriptObject { * @return string trimmed left from whitespace */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object trimLeft(final Object self) { + public static String trimLeft(final Object self) { final String str = checkObjectToString(self); int start = 0; @@ -1107,7 +1107,7 @@ public final class NativeString extends ScriptObject { * @return string trimmed right from whitespace */ @Function(attributes = Attribute.NOT_ENUMERABLE) - public static Object trimRight(final Object self) { + public static String trimRight(final Object self) { final String str = checkObjectToString(self); int start = 0; @@ -1120,7 +1120,7 @@ public final class NativeString extends ScriptObject { return str.substring(start, end + 1); } - private static Object newObj(final Object self, final CharSequence str) { + private static ScriptObject newObj(final Object self, final CharSequence str) { return new NativeString(str); } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java index 6515f3cc2e6..db7debb0151 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java @@ -94,7 +94,7 @@ public final class NativeSyntaxError extends ScriptObject { * @return new SyntaxError */ @Constructor(name = "SyntaxError") - public static Object constructor(final boolean newObj, final Object self, final Object msg) { + public static NativeSyntaxError constructor(final boolean newObj, final Object self, final Object msg) { return new NativeSyntaxError(msg); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java index f799b1767d0..6e5a4934f2c 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java @@ -94,7 +94,7 @@ public final class NativeTypeError extends ScriptObject { * @return new TypeError */ @Constructor(name = "TypeError") - public static Object constructor(final boolean newObj, final Object self, final Object msg) { + public static NativeTypeError constructor(final boolean newObj, final Object self, final Object msg) { return new NativeTypeError(msg); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java index fd59bc8a209..cf5fdaa041c 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java @@ -93,7 +93,7 @@ public final class NativeURIError extends ScriptObject { * @return new URIError */ @Constructor(name = "URIError") - public static Object constructor(final boolean newObj, final Object self, final Object msg) { + public static NativeURIError constructor(final boolean newObj, final Object self, final Object msg) { return new NativeURIError(msg); } } diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeUint16Array.java b/nashorn/src/jdk/nashorn/internal/objects/NativeUint16Array.java index ee91aef3b35..8aa3d628308 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeUint16Array.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeUint16Array.java @@ -99,8 +99,8 @@ public final class NativeUint16Array extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeUint16Array constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeUint16Array)constructorImpl(args, FACTORY); } NativeUint16Array(final NativeArrayBuffer buffer, final int byteOffset, final int length) { @@ -150,8 +150,8 @@ public final class NativeUint16Array extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeUint16Array subarray(final Object self, final Object begin, final Object end) { + return (NativeUint16Array)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeUint32Array.java b/nashorn/src/jdk/nashorn/internal/objects/NativeUint32Array.java index 58909dbaf52..738122466d8 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeUint32Array.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeUint32Array.java @@ -118,8 +118,8 @@ public final class NativeUint32Array extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeUint32Array constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeUint32Array)constructorImpl(args, FACTORY); } NativeUint32Array(final NativeArrayBuffer buffer, final int byteOffset, final int length) { @@ -169,8 +169,8 @@ public final class NativeUint32Array extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeUint32Array subarray(final Object self, final Object begin, final Object end) { + return (NativeUint32Array)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeUint8Array.java b/nashorn/src/jdk/nashorn/internal/objects/NativeUint8Array.java index 0db1bee6f8d..1f30456350a 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeUint8Array.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeUint8Array.java @@ -92,8 +92,8 @@ public final class NativeUint8Array extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeUint8Array constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeUint8Array)constructorImpl(args, FACTORY); } NativeUint8Array(final NativeArrayBuffer buffer, final int byteOffset, final int length) { @@ -143,8 +143,8 @@ public final class NativeUint8Array extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeUint8Array subarray(final Object self, final Object begin, final Object end) { + return (NativeUint8Array)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java b/nashorn/src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java index f0db743cb21..d757ee3ab1d 100644 --- a/nashorn/src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java +++ b/nashorn/src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java @@ -109,8 +109,8 @@ public final class NativeUint8ClampedArray extends ArrayBufferView { * @return new typed array */ @Constructor(arity = 1) - public static Object constructor(final boolean newObj, final Object self, final Object... args) { - return constructorImpl(args, FACTORY); + public static NativeUint8ClampedArray constructor(final boolean newObj, final Object self, final Object... args) { + return (NativeUint8ClampedArray)constructorImpl(args, FACTORY); } NativeUint8ClampedArray(final NativeArrayBuffer buffer, final int byteOffset, final int length) { @@ -160,8 +160,8 @@ public final class NativeUint8ClampedArray extends ArrayBufferView { * @return sub array */ @Function(attributes = Attribute.NOT_ENUMERABLE) - protected static Object subarray(final Object self, final Object begin, final Object end) { - return ArrayBufferView.subarrayImpl(self, begin, end); + protected static NativeUint8ClampedArray subarray(final Object self, final Object begin, final Object end) { + return (NativeUint8ClampedArray)ArrayBufferView.subarrayImpl(self, begin, end); } @Override diff --git a/nashorn/src/jdk/nashorn/internal/parser/Parser.java b/nashorn/src/jdk/nashorn/internal/parser/Parser.java index f6b962a93e1..08ff725a175 100644 --- a/nashorn/src/jdk/nashorn/internal/parser/Parser.java +++ b/nashorn/src/jdk/nashorn/internal/parser/Parser.java @@ -1700,9 +1700,11 @@ loop: // ECMA 12.4.1 strict mode restrictions verifyStrictIdent(exception, "catch argument"); - // Check for conditional catch. + // Nashorn extension: catch clause can have optional + // condition. So, a single try can have more than one + // catch clause each with it's own condition. final Expression ifExpression; - if (type == IF) { + if (!env._no_syntax_extensions && type == IF) { next(); // Get the exception condition. ifExpression = expression(); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java b/nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java index d22a956760b..e8ff153da5e 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/AccessorProperty.java @@ -39,6 +39,9 @@ import static jdk.nashorn.internal.codegen.ObjectClassGenerator.getNumberOfAcces import static jdk.nashorn.internal.lookup.Lookup.MH; import static jdk.nashorn.internal.lookup.MethodHandleFactory.stripName; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.Serializable; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; @@ -51,11 +54,12 @@ import jdk.nashorn.internal.lookup.MethodHandleFactory; * An AccessorProperty is the most generic property type. An AccessorProperty is * represented as fields in a ScriptObject class. */ -public final class AccessorProperty extends Property { +public final class AccessorProperty extends Property implements Serializable { private static final MethodHandles.Lookup lookup = MethodHandles.lookup(); private static final MethodHandle REPLACE_MAP = findOwnMH("replaceMap", Object.class, Object.class, PropertyMap.class, String.class, Class.class, Class.class); private static final int NOOF_TYPES = getNumberOfAccessorTypes(); + private static final long serialVersionUID = 3371720170182154920L; /** * Properties in different maps for the same structure class will share their field getters and setters. This could @@ -71,7 +75,7 @@ public final class AccessorProperty extends Property { }; /** Property getter cache */ - private MethodHandle[] getters = new MethodHandle[NOOF_TYPES]; + private transient MethodHandle[] getters = new MethodHandle[NOOF_TYPES]; private static final MethodType[] ACCESSOR_GETTER_TYPES = new MethodType[NOOF_TYPES]; private static final MethodType[] ACCESSOR_SETTER_TYPES = new MethodType[NOOF_TYPES]; @@ -122,16 +126,16 @@ public final class AccessorProperty extends Property { } /** Seed getter for the primitive version of this field (in -Dnashorn.fields.dual=true mode) */ - private MethodHandle primitiveGetter; + private transient MethodHandle primitiveGetter; /** Seed setter for the primitive version of this field (in -Dnashorn.fields.dual=true mode) */ - private MethodHandle primitiveSetter; + private transient MethodHandle primitiveSetter; /** Seed getter for the Object version of this field */ - private MethodHandle objectGetter; + private transient MethodHandle objectGetter; /** Seed setter for the Object version of this field */ - private MethodHandle objectSetter; + private transient MethodHandle objectSetter; /** * Current type of this object, in object only mode, this is an Object.class. In dual-fields mode @@ -243,6 +247,12 @@ public final class AccessorProperty extends Property { public AccessorProperty(final String key, final int flags, final Class<?> structure, final int slot) { super(key, flags, slot); + initGetterSetter(structure); + } + + private void initGetterSetter(final Class<?> structure) { + final int slot = getSlot(); + final String key = getKey(); /* * primitiveGetter and primitiveSetter are only used in dual fields mode. Setting them to null also * works in dual field mode, it only means that the property never has a primitive @@ -305,6 +315,12 @@ public final class AccessorProperty extends Property { setCurrentType(property.getCurrentType()); } + private void readObject(final ObjectInputStream s) throws IOException, ClassNotFoundException { + s.defaultReadObject(); + // Restore getters array + getters = new MethodHandle[NOOF_TYPES]; + } + private static MethodHandle bindTo(final MethodHandle mh, final Object receiver) { if (mh == null) { return null; @@ -363,6 +379,16 @@ public final class AccessorProperty extends Property { return objectSetter; } + @Override + void initMethodHandles(final Class<?> structure) { + if (!ScriptObject.class.isAssignableFrom(structure) || !StructureLoader.isStructureClass(structure.getName())) { + throw new IllegalArgumentException(); + } + if (!isSpill()) { + initGetterSetter(structure); + } + } + @Override public MethodHandle getGetter(final Class<?> type) { final int i = getAccessorTypeIndex(type); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/CodeInstaller.java b/nashorn/src/jdk/nashorn/internal/runtime/CodeInstaller.java index 28c9630ea54..579b6f3efbf 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/CodeInstaller.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/CodeInstaller.java @@ -25,6 +25,7 @@ package jdk.nashorn.internal.runtime; +import java.util.Map; import jdk.nashorn.internal.codegen.ClassEmitter; /** @@ -52,7 +53,7 @@ public interface CodeInstaller<T> { * @param bytecode bytecode * @return the installed class */ - public Class<?> install(final String className, final byte[] bytecode); + public Class<?> install(final String className, final byte[] bytecode, final Source source, final Object[] constants); /** * Verify generated bytecode before emission. This is called back from the @@ -74,4 +75,13 @@ public interface CodeInstaller<T> { * @return unique eval id */ public long getUniqueEvalId(); + + /** + * Store a compiled script for later reuse + * @param source the script source + * @param mainClassName the main class name + * @param classBytes map of class names to class bytes + * @param constants constants array + */ + public void storeCompiledScript(Source source, String mainClassName, Map<String, byte[]> classBytes, Object[] constants); } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/CodeStore.java b/nashorn/src/jdk/nashorn/internal/runtime/CodeStore.java new file mode 100644 index 00000000000..8f5959993cf --- /dev/null +++ b/nashorn/src/jdk/nashorn/internal/runtime/CodeStore.java @@ -0,0 +1,179 @@ +/* + * 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. 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.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.security.AccessController; +import java.security.PrivilegedActionException; +import java.security.PrivilegedExceptionAction; +import java.util.Base64; +import java.util.Map; + +/** + * A code cache for persistent caching of compiled scripts. + */ +final class CodeStore { + + private final File dir; + private final int minSize; + + // Message digest to file name encoder + private final static Base64.Encoder BASE64 = Base64.getUrlEncoder().withoutPadding(); + + // Default minimum size for storing a compiled script class + private final static int DEFAULT_MIN_SIZE = 1000; + + /** + * Constructor + * @param path directory to store code in + * @throws IOException + */ + public CodeStore(final String path) throws IOException { + this(path, DEFAULT_MIN_SIZE); + } + + /** + * Constructor + * @param path directory to store code in + * @param minSize minimum file size for caching scripts + * @throws IOException + */ + public CodeStore(final String path, final int minSize) throws IOException { + this.dir = checkDirectory(path); + this.minSize = minSize; + } + + private static File checkDirectory(final String path) throws IOException { + try { + return AccessController.doPrivileged(new PrivilegedExceptionAction<File>() { + @Override + public File run() throws IOException { + final File dir = new File(path).getAbsoluteFile(); + if (!dir.exists() && !dir.mkdirs()) { + throw new IOException("Could not create directory: " + dir); + } else if (!dir.isDirectory()) { + throw new IOException("Not a directory: " + dir); + } else if (!dir.canRead() || !dir.canWrite()) { + throw new IOException("Directory not readable or writable: " + dir); + } + return dir; + } + }); + } catch (PrivilegedActionException e) { + throw (IOException) e.getException(); + } + } + + /** + * Return a compiled script from the cache, or null if it isn't found. + * + * @param source the source + * @return the compiled script or null + * @throws IOException + * @throws ClassNotFoundException + */ + public CompiledScript getScript(final Source source) throws IOException, ClassNotFoundException { + if (source.getLength() < minSize) { + return null; + } + + final String digest = BASE64.encodeToString(source.getDigest()); + final File file = new File(dir, digest); + + try { + return AccessController.doPrivileged(new PrivilegedExceptionAction<CompiledScript>() { + @Override + public CompiledScript run() throws IOException, ClassNotFoundException { + if (!file.exists()) { + return null; + } + try (ObjectInputStream in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(file)))) { + CompiledScript compiledScript = (CompiledScript) in.readObject(); + compiledScript.setSource(source); + return compiledScript; + } + } + }); + } catch (PrivilegedActionException e) { + final Exception ex = e.getException(); + if (ex instanceof IOException) { + throw (IOException) ex; + } else if (ex instanceof ClassNotFoundException) { + throw (ClassNotFoundException) ex; + } + throw (new RuntimeException(ex)); + } + } + + /** + * Store a compiled script in the cache. + * + * @param source the source + * @param mainClassName the main class name + * @param classBytes a map of class bytes + * @param constants the constants array + * @throws IOException + */ + public void putScript(final Source source, final String mainClassName, final Map<String, byte[]> classBytes, final Object[] constants) + throws IOException { + if (source.getLength() < minSize) { + return; + } + for (final Object constant : constants) { + // Make sure all constant data is serializable + if (! (constant instanceof Serializable)) { + return; + } + } + + final String digest = BASE64.encodeToString(source.getDigest()); + final File file = new File(dir, digest); + final CompiledScript script = new CompiledScript(source, mainClassName, classBytes, constants); + + try { + AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() { + @Override + public Void run() throws IOException { + try (ObjectOutputStream out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(file)))) { + out.writeObject(script); + } + return null; + } + }); + } catch (PrivilegedActionException e) { + throw (IOException) e.getException(); + } + } +} + diff --git a/nashorn/src/jdk/nashorn/internal/runtime/CompiledScript.java b/nashorn/src/jdk/nashorn/internal/runtime/CompiledScript.java new file mode 100644 index 00000000000..6bb8e9a0f37 --- /dev/null +++ b/nashorn/src/jdk/nashorn/internal/runtime/CompiledScript.java @@ -0,0 +1,127 @@ +/* + * 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. 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.Serializable; +import java.util.Arrays; +import java.util.Map; + +/** + * Class representing a compiled script. + */ +final class CompiledScript implements Serializable { + + /** Main class name. */ + private final String mainClassName; + + /** Map of class names to class bytes. */ + private final Map<String, byte[]> classBytes; + + /** Constants array. */ + private final Object[] constants; + + /** The source */ + private transient Source source; + + private static final long serialVersionUID = 2958227232195298340L; + + /** + * Constructor. + * + * @param mainClassName main class name + * @param classBytes map of class names to class bytes + * @param constants constants array + */ + CompiledScript(final Source source, final String mainClassName, final Map<String, byte[]> classBytes, final Object[] constants) { + this.source = source; + this.mainClassName = mainClassName; + this.classBytes = classBytes; + this.constants = constants; + } + + /** + * Returns the main class name. + * @return the main class name + */ + public String getMainClassName() { + return mainClassName; + } + + /** + * Returns a map of class names to class bytes. + * @return map of class bytes + */ + public Map<String, byte[]> getClassBytes() { + return classBytes; + } + + /** + * Returns the constants array. + * @return constants array + */ + public Object[] getConstants() { + return constants; + } + + /** + * Returns the source of this cached script. + * @return the source + */ + public Source getSource() { + return source; + } + + /** + * Sets the source of this cached script. + * @param source the source + */ + void setSource(final Source source) { + this.source = source; + } + + @Override + public int hashCode() { + int hash = mainClassName.hashCode(); + hash = 31 * hash + classBytes.hashCode(); + hash = 31 * hash + Arrays.hashCode(constants); + return hash; + } + + @Override + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CompiledScript)) { + return false; + } + + final CompiledScript cs = (CompiledScript) obj; + return mainClassName.equals(cs.mainClassName) + && classBytes.equals(cs.classBytes) + && Arrays.equals(constants, cs.constants); + } +} diff --git a/nashorn/src/jdk/nashorn/internal/runtime/Context.java b/nashorn/src/jdk/nashorn/internal/runtime/Context.java index f3ec08757d1..19c5c5c1036 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/Context.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/Context.java @@ -25,7 +25,9 @@ package jdk.nashorn.internal.runtime; +import static jdk.nashorn.internal.codegen.CompilerConstants.CONSTANTS; import static jdk.nashorn.internal.codegen.CompilerConstants.RUN_SCRIPT; +import static jdk.nashorn.internal.codegen.CompilerConstants.SOURCE; import static jdk.nashorn.internal.codegen.CompilerConstants.STRICT_MODE; import static jdk.nashorn.internal.lookup.Lookup.MH; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; @@ -38,6 +40,7 @@ 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.lang.reflect.Modifier; import java.net.MalformedURLException; import java.net.URL; @@ -47,7 +50,10 @@ import java.security.CodeSigner; import java.security.CodeSource; import java.security.Permissions; import java.security.PrivilegedAction; +import java.security.PrivilegedActionException; +import java.security.PrivilegedExceptionAction; import java.security.ProtectionDomain; +import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; @@ -133,8 +139,32 @@ public final class Context { } @Override - public Class<?> install(final String className, final byte[] bytecode) { - return loader.installClass(className, bytecode, codeSource); + public Class<?> install(final String className, final byte[] bytecode, final Source source, final Object[] constants) { + Compiler.LOG.fine("Installing class ", className); + + final String binaryName = Compiler.binaryName(className); + final Class<?> clazz = loader.installClass(binaryName, bytecode, codeSource); + + try { + // Need doPrivileged because these fields are private + AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() { + @Override + public Void run() throws Exception { + //use reflection to write source and constants table to installed classes + final Field sourceField = clazz.getDeclaredField(SOURCE.symbolName()); + final Field constantsField = clazz.getDeclaredField(CONSTANTS.symbolName()); + sourceField.setAccessible(true); + constantsField.setAccessible(true); + sourceField.set(null, source); + constantsField.set(null, constants); + return null; + } + }); + } catch (final PrivilegedActionException e) { + throw new RuntimeException(e); + } + + return clazz; } @Override @@ -151,6 +181,18 @@ public final class Context { public long getUniqueEvalId() { return context.getUniqueEvalId(); } + + @Override + public void storeCompiledScript(final Source source, final String mainClassName, + final Map<String, byte[]> classBytes, final Object[] constants) { + if (context.codeStore != null) { + try { + context.codeStore.putScript(source, mainClassName, classBytes, constants); + } catch (final IOException e) { + throw new RuntimeException(e); + } + } + } } /** Is Context global debug mode enabled ? */ @@ -158,9 +200,12 @@ public final class Context { private static final ThreadLocal<Global> currentGlobal = new ThreadLocal<>(); - // class cache + // in-memory cache for loaded classes private ClassCache classCache; + // persistent code store + private CodeStore codeStore; + /** * Get the current global scope * @return the current global scope @@ -368,6 +413,19 @@ public final class Context { classCache = new ClassCache(cacheSize); } + if (env._persistent_cache) { + if (env._lazy_compilation || env._specialize_calls != null) { + getErr().println("Can not use persistent class caching with lazy compilation or call specialization."); + } else { + try { + final String cacheDir = Options.getStringProperty("nashorn.persistent.code.cache", "nashorn_code_cache"); + codeStore = new CodeStore(cacheDir); + } catch (IOException e) { + throw new RuntimeException("Error initializing code cache", e); + } + } + } + // print version info if asked. if (env._version) { getErr().println("nashorn " + Version.version()); @@ -932,17 +990,32 @@ public final class Context { return script; } - final FunctionNode functionNode = new Parser(env, source, errMan, strict).parse(); - if (errors.hasErrors()) { - return null; + CompiledScript compiledScript = null; + FunctionNode functionNode = null; + + if (!env._parse_only && codeStore != null) { + try { + compiledScript = codeStore.getScript(source); + } catch (IOException | ClassNotFoundException e) { + Compiler.LOG.warning("Error loading ", source, " from cache: ", e); + // Fall back to normal compilation + } } - if (env._print_ast) { - getErr().println(new ASTWriter(functionNode)); - } + if (compiledScript == null) { + functionNode = new Parser(env, source, errMan, strict).parse(); - if (env._print_parse) { - getErr().println(new PrintVisitor(functionNode)); + if (errors.hasErrors()) { + return null; + } + + if (env._print_ast) { + getErr().println(new ASTWriter(functionNode)); + } + + if (env._print_parse) { + getErr().println(new PrintVisitor(functionNode)); + } } if (env._parse_only) { @@ -954,12 +1027,15 @@ public final class Context { final CodeSource cs = new CodeSource(url, (CodeSigner[])null); final CodeInstaller<ScriptEnvironment> installer = new ContextCodeInstaller(this, loader, cs); - final Compiler compiler = new Compiler(installer, strict); + if (functionNode != null) { + final Compiler compiler = new Compiler(installer, strict); + final FunctionNode newFunctionNode = compiler.compile(functionNode); + script = compiler.install(newFunctionNode); + } else { + script = install(compiledScript, installer); + } - final FunctionNode newFunctionNode = compiler.compile(functionNode); - script = compiler.install(newFunctionNode); cacheClass(source, script); - return script; } @@ -981,6 +1057,42 @@ public final class Context { return uniqueScriptId.getAndIncrement(); } + + /** + * Install a previously compiled class from the code cache. + * + * @param compiledScript cached script containing class bytes and constants + * @return main script class + */ + private Class<?> install(final CompiledScript compiledScript, final CodeInstaller<ScriptEnvironment> installer) { + + final Map<String, Class<?>> installedClasses = new HashMap<>(); + final Source source = compiledScript.getSource(); + final Object[] constants = compiledScript.getConstants(); + final String rootClassName = compiledScript.getMainClassName(); + final byte[] rootByteCode = compiledScript.getClassBytes().get(rootClassName); + final Class<?> rootClass = installer.install(rootClassName, rootByteCode, source, constants); + + installedClasses.put(rootClassName, rootClass); + + for (final Map.Entry<String, byte[]> entry : compiledScript.getClassBytes().entrySet()) { + final String className = entry.getKey(); + if (className.equals(rootClassName)) { + continue; + } + final byte[] code = entry.getValue(); + + installedClasses.put(className, installer.install(className, code, source, constants)); + } + for (Object constant : constants) { + if (constant instanceof RecompilableScriptFunctionData) { + ((RecompilableScriptFunctionData) constant).setCodeAndSource(installedClasses, source); + } + } + + return rootClass; + } + /** * Cache for compiled script classes. */ diff --git a/nashorn/src/jdk/nashorn/internal/runtime/JSONFunctions.java b/nashorn/src/jdk/nashorn/internal/runtime/JSONFunctions.java index 64863184759..f12945fee52 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/JSONFunctions.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/JSONFunctions.java @@ -101,7 +101,6 @@ public final class JSONFunctions { // apply 'reviver' function if available private static Object applyReviver(final Global global, final Object unfiltered, final Object reviver) { if (reviver instanceof ScriptFunction) { - assert global instanceof Global; final ScriptObject root = global.newObject(); root.addOwnProperty("", Property.WRITABLE_ENUMERABLE_CONFIGURABLE, unfiltered); return walk(root, "", (ScriptFunction)reviver); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/Property.java b/nashorn/src/jdk/nashorn/internal/runtime/Property.java index 885fa712a13..b3f1e0af48d 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/Property.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/Property.java @@ -29,6 +29,7 @@ import static jdk.nashorn.internal.runtime.PropertyDescriptor.CONFIGURABLE; import static jdk.nashorn.internal.runtime.PropertyDescriptor.ENUMERABLE; import static jdk.nashorn.internal.runtime.PropertyDescriptor.WRITABLE; +import java.io.Serializable; import java.lang.invoke.MethodHandle; import java.util.Objects; import jdk.nashorn.internal.codegen.ObjectClassGenerator; @@ -43,7 +44,7 @@ import jdk.nashorn.internal.codegen.types.Type; * @see AccessorProperty * @see UserAccessorProperty */ -public abstract class Property { +public abstract class Property implements Serializable { /* * ECMA 8.6.1 Property Attributes * @@ -100,6 +101,8 @@ public abstract class Property { /** Property field number or spill slot. */ private final int slot; + private static final long serialVersionUID = 2099814273074501176L; + /** * Constructor * @@ -357,6 +360,13 @@ public abstract class Property { */ public abstract MethodHandle getGetter(final Class<?> type); + /** + * Hook to initialize method handles after deserialization. + * + * @param structure the structure class + */ + abstract void initMethodHandles(final Class<?> structure); + /** * Get the key for this property. This key is an ordinary string. The "name". * @return key for property diff --git a/nashorn/src/jdk/nashorn/internal/runtime/PropertyMap.java b/nashorn/src/jdk/nashorn/internal/runtime/PropertyMap.java index 77bcc83fea3..e2e07fdf2fc 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/PropertyMap.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/PropertyMap.java @@ -29,6 +29,10 @@ import static jdk.nashorn.internal.runtime.PropertyHashMap.EMPTY_HASHMAP; import static jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex; import static jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; import java.lang.invoke.SwitchPoint; import java.lang.ref.SoftReference; import java.util.Arrays; @@ -37,6 +41,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.WeakHashMap; +import jdk.nashorn.internal.scripts.JO; /** * Map of object properties. The PropertyMap is the "template" for JavaScript object @@ -47,7 +52,7 @@ import java.util.WeakHashMap; * All property maps are immutable. If a property is added, modified or removed, the mutator * will return a new map. */ -public final class PropertyMap implements Iterable<Object> { +public final class PropertyMap implements Iterable<Object>, Serializable { /** Used for non extensible PropertyMaps, negative logic as the normal case is extensible. See {@link ScriptObject#preventExtensions()} */ public static final int NOT_EXTENSIBLE = 0b0000_0001; /** Does this map contain valid array keys? */ @@ -57,7 +62,7 @@ public final class PropertyMap implements Iterable<Object> { private int flags; /** Map of properties. */ - private final PropertyHashMap properties; + private transient PropertyHashMap properties; /** Number of fields in use. */ private int fieldCount; @@ -68,17 +73,22 @@ public final class PropertyMap implements Iterable<Object> { /** Length of spill in use. */ private int spillLength; + /** Structure class name */ + private String className; + /** {@link SwitchPoint}s for gets on inherited properties. */ - private HashMap<String, SwitchPoint> protoGetSwitches; + private transient HashMap<String, SwitchPoint> protoGetSwitches; /** History of maps, used to limit map duplication. */ - private WeakHashMap<Property, SoftReference<PropertyMap>> history; + private transient WeakHashMap<Property, SoftReference<PropertyMap>> history; /** History of prototypes, used to limit map duplication. */ - private WeakHashMap<PropertyMap, SoftReference<PropertyMap>> protoHistory; + private transient WeakHashMap<PropertyMap, SoftReference<PropertyMap>> protoHistory; /** property listeners */ - private PropertyListeners listeners; + private transient PropertyListeners listeners; + + private static final long serialVersionUID = -7041836752008732533L; /** * Constructor. @@ -89,8 +99,10 @@ public final class PropertyMap implements Iterable<Object> { * @param spillLength Number of spill slots used. * @param containsArrayKeys True if properties contain numeric keys */ - private PropertyMap(final PropertyHashMap properties, final int fieldCount, final int fieldMaximum, final int spillLength, final boolean containsArrayKeys) { + private PropertyMap(final PropertyHashMap properties, final String className, final int fieldCount, + final int fieldMaximum, final int spillLength, final boolean containsArrayKeys) { this.properties = properties; + this.className = className; this.fieldCount = fieldCount; this.fieldMaximum = fieldMaximum; this.spillLength = spillLength; @@ -145,7 +157,25 @@ public final class PropertyMap implements Iterable<Object> { if (Context.DEBUG) { duplicatedCount++; } - return new PropertyMap(this.properties, 0, 0, 0, containsArrayKeys()); + return new PropertyMap(this.properties, this.className, 0, 0, 0, containsArrayKeys()); + } + + private void writeObject(final ObjectOutputStream out) throws IOException { + out.defaultWriteObject(); + out.writeObject(properties.getProperties()); + } + + private void readObject(final ObjectInputStream in) throws IOException, ClassNotFoundException { + in.defaultReadObject(); + + final Property[] props = (Property[]) in.readObject(); + this.properties = EMPTY_HASHMAP.immutableAdd(props); + + assert className != null; + final Class<?> structure = Context.forStructureClass(className); + for (Property prop : props) { + prop.initMethodHandles(structure); + } } /** @@ -160,9 +190,9 @@ public final class PropertyMap implements Iterable<Object> { * @param spillLength Number of used spill slots. * @return New {@link PropertyMap}. */ - public static PropertyMap newMap(final Collection<Property> properties, final int fieldCount, final int fieldMaximum, final int spillLength) { + public static PropertyMap newMap(final Collection<Property> properties, final String className, final int fieldCount, final int fieldMaximum, final int spillLength) { PropertyHashMap newProperties = EMPTY_HASHMAP.immutableAdd(properties); - return new PropertyMap(newProperties, fieldCount, fieldMaximum, spillLength, false); + return new PropertyMap(newProperties, className, fieldCount, fieldMaximum, spillLength, false); } /** @@ -175,7 +205,7 @@ public final class PropertyMap implements Iterable<Object> { * @return New {@link PropertyMap}. */ public static PropertyMap newMap(final Collection<Property> properties) { - return (properties == null || properties.isEmpty())? newMap() : newMap(properties, 0, 0, 0); + return (properties == null || properties.isEmpty())? newMap() : newMap(properties, JO.class.getName(), 0, 0, 0); } /** @@ -184,7 +214,7 @@ public final class PropertyMap implements Iterable<Object> { * @return New empty {@link PropertyMap}. */ public static PropertyMap newMap() { - return new PropertyMap(EMPTY_HASHMAP, 0, 0, 0, false); + return new PropertyMap(EMPTY_HASHMAP, JO.class.getName(), 0, 0, 0, false); } /** diff --git a/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java b/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java index 7e1a516aa6d..9088544454a 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java @@ -27,14 +27,15 @@ package jdk.nashorn.internal.runtime; import static jdk.nashorn.internal.lookup.Lookup.MH; +import java.io.Serializable; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; +import java.util.Map; import jdk.internal.dynalink.support.NameCodec; - import jdk.nashorn.internal.codegen.Compiler; import jdk.nashorn.internal.codegen.CompilerConstants; import jdk.nashorn.internal.codegen.FunctionSignature; @@ -43,6 +44,7 @@ import jdk.nashorn.internal.ir.FunctionNode; import jdk.nashorn.internal.ir.FunctionNode.CompilationState; import jdk.nashorn.internal.parser.Token; import jdk.nashorn.internal.parser.TokenType; +import jdk.nashorn.internal.scripts.JS; /** * This is a subclass that represents a script function that may be regenerated, @@ -50,13 +52,19 @@ import jdk.nashorn.internal.parser.TokenType; * The common denominator is that it can get new invokers during its lifespan, * unlike {@code FinalScriptFunctionData} */ -public final class RecompilableScriptFunctionData extends ScriptFunctionData { +public final class RecompilableScriptFunctionData extends ScriptFunctionData implements Serializable { /** FunctionNode with the code for this ScriptFunction */ - private FunctionNode functionNode; + private transient FunctionNode functionNode; /** Source from which FunctionNode was parsed. */ - private final Source source; + private transient Source source; + + /** The line number where this function begins. */ + private final int lineNumber; + + /** Allows us to retrieve the method handle for this function once the code is compiled */ + private MethodLocator methodLocator; /** Token of this function within the source. */ private final long token; @@ -65,13 +73,13 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { private final PropertyMap allocatorMap; /** Code installer used for all further recompilation/specialization of this ScriptFunction */ - private CodeInstaller<ScriptEnvironment> installer; + private transient CodeInstaller<ScriptEnvironment> installer; /** Name of class where allocator function resides */ private final String allocatorClassName; /** lazily generated allocator */ - private MethodHandle allocator; + private transient MethodHandle allocator; private static final MethodHandles.Lookup LOOKUP = MethodHandles.lookup(); @@ -79,7 +87,7 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { * Used for specialization based on runtime arguments. Whenever we specialize on * callsite parameter types at runtime, we need to use a parameter type guard to * ensure that the specialized version of the script function continues to be - * applicable for a particular callsite * + * applicable for a particular callsite. */ private static final MethodHandle PARAM_TYPE_GUARD = findOwnMH("paramTypeGuard", boolean.class, Type[].class, Object[].class); @@ -88,10 +96,12 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { * (or java.lang.Number instance) to specialize the parameter to an integer, if the * parameter in question can be represented as one. The double typically only exists * because the compiler doesn't know any better than "a number type" and conservatively - * picks doubles when it can't prove that an integer addition wouldn't overflow + * picks doubles when it can't prove that an integer addition wouldn't overflow. */ private static final MethodHandle ENSURE_INT = findOwnMH("ensureInt", int.class, Object.class); + private static final long serialVersionUID = 4914839316174633726L; + /** * Constructor - public as scripts use it * @@ -104,13 +114,16 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { super(functionName(functionNode), functionNode.getParameters().size(), getFlags(functionNode)); - this.functionNode = functionNode; this.source = functionNode.getSource(); + this.lineNumber = functionNode.getLineNumber(); this.token = tokenFor(functionNode); this.installer = installer; this.allocatorClassName = allocatorClassName; this.allocatorMap = allocatorMap; + if (!functionNode.isLazy()) { + methodLocator = new MethodLocator(functionNode); + } } @Override @@ -122,16 +135,19 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { return "function " + (name == null ? "" : name) + "() { [native code] }"; } + public void setCodeAndSource(final Map<String, Class<?>> code, final Source source) { + this.source = source; + if (methodLocator != null) { + methodLocator.setClass(code.get(methodLocator.getClassName())); + } + } + @Override public String toString() { final StringBuilder sb = new StringBuilder(); if (source != null) { - sb.append(source.getName()); - if (functionNode != null) { - sb.append(':').append(functionNode.getLineNumber()); - } - sb.append(' '); + sb.append(source.getName()).append(':').append(lineNumber).append(' '); } return sb.toString() + super.toString(); @@ -204,8 +220,13 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { functionNode = compiler.compile(functionNode); assert !functionNode.isLazy(); compiler.install(functionNode); + methodLocator = new MethodLocator(functionNode); flags = getFlags(functionNode); } + + if (functionNode != null) { + methodLocator.setClass(functionNode.getCompileUnit().getCode()); + } } @Override @@ -221,12 +242,13 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { * 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 == null || 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); - if (! functionNode.canSpecialize()) { + if (functionNode != null && !functionNode.canSpecialize()) { // allow GC to claim IR stuff that is not needed anymore functionNode = null; installer = null; @@ -238,13 +260,9 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { } private MethodHandle addCode(final FunctionNode fn, final MethodType runtimeType, final MethodHandle guard, final MethodHandle fallback) { - final MethodType targetType = new FunctionSignature(fn).getMethodType(); - MethodHandle target = - MH.findStatic( - LOOKUP, - fn.getCompileUnit().getCode(), - fn.getName(), - targetType); + assert methodLocator != null; + MethodHandle target = methodLocator.getMethodHandle(); + final MethodType targetType = methodLocator.getMethodType(); /* * For any integer argument. a double that is representable as an integer is OK. @@ -424,7 +442,6 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { Compiler.LOG.info("Callsite specialized ", name, " runtimeType=", runtimeType, " parameters=", snapshot.getParameters(), " args=", Arrays.asList(args)); - assert snapshot != null; assert snapshot != functionNode; final Compiler compiler = new Compiler(installer); @@ -450,5 +467,45 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData { return MH.findStatic(MethodHandles.lookup(), RecompilableScriptFunctionData.class, name, MH.type(rtype, types)); } + /** + * Helper class that allows us to retrieve the method handle for this function once it has been generated. + */ + private static class MethodLocator implements Serializable { + private transient Class<?> clazz; + private final String className; + private final String methodName; + private final MethodType methodType; + + private static final long serialVersionUID = -5420835725902966692L; + + MethodLocator(final FunctionNode functionNode) { + this.className = functionNode.getCompileUnit().getUnitClassName(); + this.methodName = functionNode.getName(); + this.methodType = new FunctionSignature(functionNode).getMethodType(); + + assert className != null; + assert methodName != null; + } + + void setClass(final Class<?> clazz) { + if (!JS.class.isAssignableFrom(clazz)) { + throw new IllegalArgumentException(); + } + this.clazz = clazz; + } + + String getClassName() { + return className; + } + + MethodType getMethodType() { + return methodType; + } + + MethodHandle getMethodHandle() { + return MH.findStatic(LOOKUP, clazz, methodName, methodType); + } + } + } diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptEnvironment.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptEnvironment.java index 5327471051a..96982011dbe 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptEnvironment.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptEnvironment.java @@ -134,6 +134,9 @@ public final class ScriptEnvironment { /** Only parse the source code, do not compile */ public final boolean _parse_only; + /** Enable disk cache for compiled scripts */ + public final boolean _persistent_cache; + /** Print the AST before lowering */ public final boolean _print_ast; @@ -218,6 +221,7 @@ public final class ScriptEnvironment { _no_syntax_extensions = options.getBoolean("no.syntax.extensions"); _no_typed_arrays = options.getBoolean("no.typed.arrays"); _parse_only = options.getBoolean("parse.only"); + _persistent_cache = options.getBoolean("persistent.code.cache"); _print_ast = options.getBoolean("print.ast"); _print_lower_ast = options.getBoolean("print.lower.ast"); _print_code = options.getBoolean("print.code"); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java index aee367d65ba..ad40d622d7e 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java @@ -29,10 +29,10 @@ import static jdk.nashorn.internal.lookup.Lookup.MH; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; +import java.io.Serializable; 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; /** @@ -40,7 +40,7 @@ import jdk.nashorn.internal.runtime.linker.JavaAdapterFactory; * Instances of this class are created during codegen and stored in script classes' * constants array to reduce function instantiation overhead during runtime. */ -public abstract class ScriptFunctionData { +public abstract class ScriptFunctionData implements Serializable { /** Name of the function or "" for anonynous functions */ protected final String name; @@ -74,6 +74,8 @@ public abstract class ScriptFunctionData { /** Flag for strict constructors */ public static final int IS_STRICT_CONSTRUCTOR = IS_STRICT | IS_CONSTRUCTOR; + private static final long serialVersionUID = 4252901245508769114L; + /** * Constructor * diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java index 05e236e3bd6..1519024a70b 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java @@ -593,23 +593,16 @@ public abstract class ScriptObject implements PropertyAccess { } /** - * Spec. mentions use of [[DefineOwnProperty]] for indexed properties in - * certain places (eg. Array.prototype.map, filter). We can not use ScriptObject.set - * method in such cases. This is because set method uses inherited setters (if any) - * from any object in proto chain such as Array.prototype, Object.prototype. - * This method directly sets a particular element value in the current object. + * Almost like defineOwnProperty(int,Object) for arrays this one does + * not add 'gap' elements (like the array one does). * * @param index key for property * @param value value to define */ - public final void defineOwnProperty(final int index, final Object value) { + public void defineOwnProperty(final int index, final Object value) { assert isValidArrayIndex(index) : "invalid array index"; final long longIndex = ArrayIndex.toLongIndex(index); - if (longIndex >= getArray().length()) { - // make array big enough to hold.. - setArray(getArray().ensure(longIndex)); - } - setArray(getArray().set(index, value, false)); + setValueAtArrayIndex(longIndex, index, value, false); } private void checkIntegerKey(final String key) { @@ -2747,9 +2740,7 @@ public abstract class ScriptObject implements PropertyAccess { * @param strict are we in strict mode */ private void doesNotHave(final int index, final Object value, final boolean strict) { - final long oldLength = getArray().length(); final long longIndex = ArrayIndex.toLongIndex(index); - if (getMap().containsArrayKeys()) { final String key = JSType.toString(longIndex); final FindProperty find = findProperty(key, true); @@ -2760,6 +2751,18 @@ public abstract class ScriptObject implements PropertyAccess { } } + setValueAtArrayIndex(longIndex, index, value, strict); + } + + /** + * Handle when an array doesn't have a slot - possibly grow and/or convert array. + * + * @param index key as index + * @param value element value + * @param strict are we in strict mode + */ + private void setValueAtArrayIndex(final long longIndex, final int index, final Object value, final boolean strict) { + final long oldLength = getArray().length(); if (longIndex >= oldLength) { if (!isExtensible()) { if (strict) { diff --git a/nashorn/src/jdk/nashorn/internal/runtime/Source.java b/nashorn/src/jdk/nashorn/internal/runtime/Source.java index 0455a86c6d2..f57874bc18f 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/Source.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/Source.java @@ -39,6 +39,8 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.util.Arrays; import java.util.Objects; import jdk.nashorn.internal.parser.Token; @@ -71,6 +73,9 @@ public final class Source { /** Cached hash code */ private int hash; + /** Message digest */ + private byte[] digest; + /** Source URL if available */ private final URL url; @@ -416,6 +421,40 @@ public final class Source { return readFully(url.openStream(), cs); } + /** + * Get a message digest for this source. + * + * @return a message digest for this source + */ + public synchronized byte[] getDigest() { + if (digest == null) { + + final byte[] bytes = new byte[content.length * 2]; + + for (int i = 0; i < content.length; i++) { + bytes[i * 2] = (byte) (content[i] & 0x00ff); + bytes[i * 2 + 1] = (byte) ((content[i] & 0xff00) >> 8); + } + + try { + final MessageDigest md = MessageDigest.getInstance("SHA-1"); + if (name != null) { + md.update(name.getBytes(StandardCharsets.UTF_8)); + } + if (base != null) { + md.update(base.getBytes(StandardCharsets.UTF_8)); + } + if (url != null) { + md.update(url.toString().getBytes(StandardCharsets.UTF_8)); + } + digest = md.digest(bytes); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } + } + return digest; + } + /** * Get the base url. This is currently used for testing only * @param url a URL diff --git a/nashorn/src/jdk/nashorn/internal/runtime/UserAccessorProperty.java b/nashorn/src/jdk/nashorn/internal/runtime/UserAccessorProperty.java index a69de45ca3d..5b21f6eea91 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/UserAccessorProperty.java +++ b/nashorn/src/jdk/nashorn/internal/runtime/UserAccessorProperty.java @@ -186,6 +186,11 @@ public final class UserAccessorProperty extends Property { return Lookup.filterReturnType(USER_ACCESSOR_GETTER.methodHandle(), type); } + @Override + void initMethodHandles(final Class<?> structure) { + throw new UnsupportedOperationException(); + } + @Override public ScriptFunction getGetterFunction(final ScriptObject obj) { final Object value = obj.getSpill(getterSlot); diff --git a/nashorn/src/jdk/nashorn/internal/runtime/resources/Options.properties b/nashorn/src/jdk/nashorn/internal/runtime/resources/Options.properties index 2726211151a..033fcc2546e 100644 --- a/nashorn/src/jdk/nashorn/internal/runtime/resources/Options.properties +++ b/nashorn/src/jdk/nashorn/internal/runtime/resources/Options.properties @@ -230,6 +230,14 @@ nashorn.option.parse.only = { \ desc="Parse without compiling." \ } +nashorn.option.persistent.code.cache = { \ + name="--persistent-code-cache", \ + short_name="-pcc", \ + desc="Enable disk cache for compiled scripts.", \ + is_undocumented=true, \ + default=false \ +} + nashorn.option.profile.callsites = { \ name="--profile-callsites", \ short_name="-pcs", \ diff --git a/nashorn/test/script/basic/JDK-8037562.js b/nashorn/test/script/basic/JDK-8037562.js new file mode 100644 index 00000000000..7534a0dab12 --- /dev/null +++ b/nashorn/test/script/basic/JDK-8037562.js @@ -0,0 +1,41 @@ +/* + * 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-8037562: Nashorn: JSON.parse comes up with nonexistent entries if there are gaps between the keys + * + * @test + * @run + */ + +var strs = [ + '{ "0":0, "2":2 }', + '{ "0":"", "2":"" }', + '{ "0":0, "5":"hello" }', + '{ "0":"", "15":3234 }', +] + +for (var i in strs) { + print(JSON.stringify(JSON.parse(strs[i]))); +} diff --git a/nashorn/test/script/basic/JDK-8037562.js.EXPECTED b/nashorn/test/script/basic/JDK-8037562.js.EXPECTED new file mode 100644 index 00000000000..ea671713c4e --- /dev/null +++ b/nashorn/test/script/basic/JDK-8037562.js.EXPECTED @@ -0,0 +1,4 @@ +{"0":0,"2":2} +{"0":"","2":""} +{"0":0,"5":"hello"} +{"0":"","15":3234} diff --git a/nashorn/test/script/basic/JDK-8039387.js b/nashorn/test/script/basic/JDK-8039387.js new file mode 100644 index 00000000000..8f903c1af96 --- /dev/null +++ b/nashorn/test/script/basic/JDK-8039387.js @@ -0,0 +1,39 @@ +/* + * 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-8039387: Nashorn supports indexed access of List elements, but length property is not supported + * + * @test + * @run + */ + +var ArrayList = Java.type("java.util.ArrayList") +var list = new ArrayList(3) +list.add("nashorn") +list.add("js") +list.add("ecmascript") +var len = list.length +print("length = " + len) +for (var i = 0; i < len; i++) + print(list[i]) diff --git a/nashorn/test/script/basic/JDK-8039387.js.EXPECTED b/nashorn/test/script/basic/JDK-8039387.js.EXPECTED new file mode 100644 index 00000000000..5b9ce56d56b --- /dev/null +++ b/nashorn/test/script/basic/JDK-8039387.js.EXPECTED @@ -0,0 +1,4 @@ +length = 3 +nashorn +js +ecmascript diff --git a/nashorn/test/script/basic/list.js b/nashorn/test/script/basic/list.js index 72ae0be7617..59136c0b2ee 100644 --- a/nashorn/test/script/basic/list.js +++ b/nashorn/test/script/basic/list.js @@ -33,7 +33,7 @@ print("l.class.name=" + Java.typeName(l.class)) // Has "class" property like any l.add("foo") l.add("bar") -print("l.length=" + l.length) // doesn't work, returns undefined +print("l.length=" + l.length) // works, maps to l.size() print("l.size()=" + l.size()) // this will work print("l[0]=" + l[0]) diff --git a/nashorn/test/script/basic/list.js.EXPECTED b/nashorn/test/script/basic/list.js.EXPECTED index 18feade2b4e..47f3bd4fec1 100644 --- a/nashorn/test/script/basic/list.js.EXPECTED +++ b/nashorn/test/script/basic/list.js.EXPECTED @@ -1,5 +1,5 @@ l.class.name=java.util.ArrayList -l.length=undefined +l.length=2 l.size()=2 l[0]=foo l[1]=bar diff --git a/nashorn/test/script/error/JDK-8039047.js b/nashorn/test/script/error/JDK-8039047.js new file mode 100644 index 00000000000..8cbd51fdf5e --- /dev/null +++ b/nashorn/test/script/error/JDK-8039047.js @@ -0,0 +1,35 @@ +/* + * 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-8039047: Parser accepts conditional catch clauses even when --no-syntax-extensions / -nse option is passed + * + * @option --no-syntax-extensions + * @test/compile-error + */ + +try { + func() +} catch (e if e instanceof ReferenceError) { + print("Got ReferenceError " + e); +} diff --git a/nashorn/test/script/error/JDK-8039047.js.EXPECTED b/nashorn/test/script/error/JDK-8039047.js.EXPECTED new file mode 100644 index 00000000000..b1d2f1705b0 --- /dev/null +++ b/nashorn/test/script/error/JDK-8039047.js.EXPECTED @@ -0,0 +1,6 @@ +test/script/error/JDK-8039047.js:33:11 Expected ) but found if +} catch (e if e instanceof ReferenceError) { + ^ +test/script/error/JDK-8039047.js:35:0 Expected eof but found } +} +^ diff --git a/nashorn/test/src/jdk/nashorn/internal/runtime/CodeStoreAndPathTest.java b/nashorn/test/src/jdk/nashorn/internal/runtime/CodeStoreAndPathTest.java new file mode 100644 index 00000000000..a2d72ebfd99 --- /dev/null +++ b/nashorn/test/src/jdk/nashorn/internal/runtime/CodeStoreAndPathTest.java @@ -0,0 +1,159 @@ +/* + * 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.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.DirectoryStream; +import java.nio.file.Path; +import java.nio.file.FileSystems; +import javax.script.ScriptException; +import org.testng.annotations.Test; +import javax.script.ScriptEngine; +import jdk.nashorn.api.scripting.NashornScriptEngineFactory; +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertEquals; + +/** + * @test + * @bug 8039185 8039403 + * @summary Test for persistent code cache and path handling + * @run testng jdk.nashorn.internal.runtime.CodeStoreAndPathTest + */ + +public class CodeStoreAndPathTest { + + final String code1 = "var code1; var x = 'Hello Script'; var x1 = 'Hello Script'; " + + "var x2 = 'Hello Script'; var x3 = 'Hello Script'; " + + "var x4 = 'Hello Script'; var x5 = 'Hello Script';" + + "var x6 = 'Hello Script'; var x7 = 'Hello Script'; " + + "var x8 = 'Hello Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';" + + "function f() {x ='Bye Script'; x1 ='Bye Script'; x2='Bye Script';" + + "x3='Bye Script'; x4='Bye Script'; x5='Bye Script'; x6='Bye Script';" + + "x7='Bye Script'; x8='Bye Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';}" + + "function g() {x ='Bye Script'; x1 ='Bye Script'; x2='Bye Script';" + + "x3='Bye Script'; x4='Bye Script'; x5='Bye Script'; x6='Bye Script';" + + "x7='Bye Script'; x8='Bye Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';}" + + "function h() {x ='Bye Script'; x1 ='Bye Script'; x2='Bye Script';" + + "x3='Bye Script'; x4='Bye Script'; x5='Bye Script'; x6='Bye Script';" + + "x7='Bye Script'; x8='Bye Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';}" + + "function i() {x ='Bye Script'; x1 ='Bye Script'; x2='Bye Script';" + + "x3='Bye Script'; x4='Bye Script'; x5='Bye Script'; x6='Bye Script';" + + "x7='Bye Script'; x8='Bye Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';}"; + final String code2 = "var code2; var x = 'Hello Script'; var x1 = 'Hello Script'; " + + "var x2 = 'Hello Script'; var x3 = 'Hello Script'; " + + "var x4 = 'Hello Script'; var x5 = 'Hello Script';" + + "var x6 = 'Hello Script'; var x7 = 'Hello Script'; " + + "var x8 = 'Hello Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';" + + "function f() {x ='Bye Script'; x1 ='Bye Script'; x2='Bye Script';" + + "x3='Bye Script'; x4='Bye Script'; x5='Bye Script'; x6='Bye Script';" + + "x7='Bye Script'; x8='Bye Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';}" + + "function g() {x ='Bye Script'; x1 ='Bye Script'; x2='Bye Script';" + + "x3='Bye Script'; x4='Bye Script'; x5='Bye Script'; x6='Bye Script';" + + "x7='Bye Script'; x8='Bye Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';}" + + "function h() {x ='Bye Script'; x1 ='Bye Script'; x2='Bye Script';" + + "x3='Bye Script'; x4='Bye Script'; x5='Bye Script'; x6='Bye Script';" + + "x7='Bye Script'; x8='Bye Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';}" + + "function i() {x ='Bye Script'; x1 ='Bye Script'; x2='Bye Script';" + + "x3='Bye Script'; x4='Bye Script'; x5='Bye Script'; x6='Bye Script';" + + "x7='Bye Script'; x8='Bye Script'; var x9 = 'Hello Script'; " + + "var x10 = 'Hello Script';}"; + // Script size < Default minimum size for storing a compiled script class + final String code3 = "var code3; var x = 'Hello Script'; var x1 = 'Hello Script'; "; + final String codeCache = "build/nashorn_code_cache"; + final String oldUserDir = System.getProperty("user.dir"); + + public void checkCompiledScripts(DirectoryStream<Path> stream, int numberOfScripts) throws IOException { + for (Path file : stream) { + numberOfScripts--; + } + stream.close(); + assertEquals(numberOfScripts,0); + } + + @Test + public void pathHandlingTest() throws ScriptException, IOException { + System.setProperty("nashorn.persistent.code.cache", codeCache); + String[] options = new String[]{"--persistent-code-cache"}; + NashornScriptEngineFactory fac = new NashornScriptEngineFactory(); + ScriptEngine e = fac.getScriptEngine(options); + Path expectedCodeCachePath = FileSystems.getDefault().getPath(oldUserDir + File.separator + codeCache); + Path actualCodeCachePath = FileSystems.getDefault().getPath(System.getProperty( + "nashorn.persistent.code.cache")).toAbsolutePath(); + // Check that nashorn code cache is created in current working directory + assertEquals(actualCodeCachePath, expectedCodeCachePath); + // Check that code cache dir exists and it's not empty + File file = new File(actualCodeCachePath.toUri()); + assertFalse(!file.isDirectory(), "No code cache directory was created!"); + assertFalse(file.list().length == 0, "Code cache directory is empty!"); + } + + @Test + public void changeUserDirTest() throws ScriptException, IOException { + System.setProperty("nashorn.persistent.code.cache", codeCache); + String[] options = new String[]{"--persistent-code-cache"}; + NashornScriptEngineFactory fac = new NashornScriptEngineFactory(); + ScriptEngine e = fac.getScriptEngine(options); + Path codeCachePath = FileSystems.getDefault().getPath(System.getProperty( + "nashorn.persistent.code.cache")).toAbsolutePath(); + String newUserDir = "build/newUserDir"; + // Now changing current working directory + System.setProperty("user.dir", System.getProperty("user.dir") + File.separator + newUserDir); + // Check that a new compiled script is stored in exisitng code cache + e.eval(code1); + DirectoryStream<Path> stream = Files.newDirectoryStream(codeCachePath); + // Already one compiled script has been stored in the cache during initialization + checkCompiledScripts(stream, 2); + // Setting to default current working dir + System.setProperty("user.dir", oldUserDir); + } + + @Test + public void codeCacheTest() throws ScriptException, IOException { + System.setProperty("nashorn.persistent.code.cache", codeCache); + String[] options = new String[]{"--persistent-code-cache"}; + NashornScriptEngineFactory fac = new NashornScriptEngineFactory(); + ScriptEngine e = fac.getScriptEngine(options); + Path codeCachePath = FileSystems.getDefault().getPath(System.getProperty( + "nashorn.persistent.code.cache")).toAbsolutePath(); + e.eval(code1); + e.eval(code2); + e.eval(code3);// less than minimum size for storing + // Already one compiled script has been stored in the cache during initialization + // adding code1 and code2. + DirectoryStream<Path> stream = Files.newDirectoryStream(codeCachePath); + checkCompiledScripts(stream, 3); + } +} diff --git a/nashorn/test/src/jdk/nashorn/internal/runtime/NoPersistenceCachingTest.java b/nashorn/test/src/jdk/nashorn/internal/runtime/NoPersistenceCachingTest.java index aefa828b470..7b84f5a7af3 100644 --- a/nashorn/test/src/jdk/nashorn/internal/runtime/NoPersistenceCachingTest.java +++ b/nashorn/test/src/jdk/nashorn/internal/runtime/NoPersistenceCachingTest.java @@ -37,6 +37,8 @@ import javax.script.ScriptEngineFactory; import javax.script.ScriptEngineManager; import javax.script.SimpleScriptContext; import jdk.nashorn.api.scripting.NashornScriptEngineFactory; +import org.testng.annotations.AfterTest; +import org.testng.annotations.BeforeTest; /** * @test @@ -50,8 +52,8 @@ public class NoPersistenceCachingTest { private ScriptContext context1, context2, context3; private ByteArrayOutputStream stderr; private PrintStream prevStderr; - private final String script = "print('Hello')"; + @BeforeTest public void setupTest() { stderr = new ByteArrayOutputStream(); prevStderr = System.err; @@ -69,33 +71,33 @@ public class NoPersistenceCachingTest { } String[] options = new String[]{"--log=compiler:finest"}; engine = nashornFactory.getScriptEngine(options); + context1 = engine.getContext(); + context2 = new SimpleScriptContext(); + context2.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE); + context3 = new SimpleScriptContext(); + context3.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE); } + @AfterTest 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); + String scriptTwoContexts = "print('HelloTwoContexts')"; + engine.eval(scriptTwoContexts, context1); + engine.eval(scriptTwoContexts, 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); + String scriptThreeContexts = "print('HelloThreeContexts')"; + engine.eval(scriptThreeContexts, context1); + engine.eval(scriptThreeContexts, context2); + engine.eval(scriptThreeContexts, context3); break; } } catch (final Exception se) { @@ -113,7 +115,7 @@ public class NoPersistenceCachingTest { + expectedPatternOccurrence + " and found: " + matches + "\n" + stderr); } - setErrTest(); + stderr.reset(); } private static String getCodeCachePattern() {