明日から本気出す

ただの備忘録

Java起動オプションデフォルト値比較表

Java起動オプションのデフォルト値(以下のコマンドの出力値)を6,7,8で比較。

$ java -XX:+PrintFlagsFinal 
オプション 1.6.0_26 1.7.0_65 1.8.0_11
AdaptivePermSizeWeight uintx 20 20
AdaptiveSizeDecrementScaleFactor uintx 4 4 4
AdaptiveSizeMajorGCDecayTimeScale uintx 10 10 10
AdaptiveSizePausePolicy uintx 0 0 0
AdaptiveSizePolicyCollectionCostMargin uintx 50 50 50
AdaptiveSizePolicyInitializingSteps uintx 20 20 20
AdaptiveSizePolicyOutputInterval uintx 0 0 0
AdaptiveSizePolicyWeight uintx 10 10 10
AdaptiveSizeThroughPutPolicy uintx 0 0 0
AdaptiveTimeWeight uintx 25 25 25
AdjustConcurrency bool false false false
AggressiveOpts bool false false false
AliasLevel intx 3 3 3
AlignVector bool true true
AllocateInstancePrefetchLines intx 1 1
AllocatePrefetchDistance intx 256 256 256
AllocatePrefetchInstr intx 0 0 0
AllocatePrefetchLines intx 3 3 3
AllocatePrefetchStepSize intx 64 64 64
AllocatePrefetchStyle intx 1 1 1
AllowJNIEnvProxy bool false false false
AllowNonVirtualCalls bool false false
AllowParallelDefineClass bool false false false
AllowUserSignalHandlers bool false false false
AlwaysActAsServerClassMachine bool false false false
AlwaysCompileLoopMethods bool false false false
AlwaysInflate intx 0
AlwaysLockClassLoader bool false false false
AlwaysPreTouch bool false false false
AlwaysRestoreFPU bool false false false
AlwaysTenure bool false false false
AnonymousClasses bool false
AssertOnSuspendWaitFailure bool false false false
AssumeMP bool false
Atomics intx 0 0
AutoBoxCacheMax intx 128 128 128
AutoGCSelectPauseMillis uintx 5000 5000 5000
BCEATraceLevel intx 0 0 0
BackEdgeThreshold intx 100000 100000 100000
BackgroundCompilation bool true true true
BaseFootPrintEstimate uintx 268435456 268435456 268435456
BiasedLockingBulkRebiasThreshold intx 20 20 20
BiasedLockingBulkRevokeThreshold intx 40 40 40
BiasedLockingDecayTime intx 25000 25000 25000
BiasedLockingStartupDelay intx 4000 4000 4000
BindGCTaskThreadsToCPUs bool false false false
BlockLayoutByFrequency bool true true true
BlockLayoutMinDiamondPercentage intx 20 20 20
BlockLayoutRotateLoops bool true true true
BlockOffsetArrayUseUnallocatedBlock bool false
BranchOnRegister bool false false false
BytecodeVerificationLocal bool false false false
BytecodeVerificationRemote bool true true true
C1OptimizeVirtualCallProfiling bool true true true
C1ProfileBranches bool true true true
C1ProfileCalls bool true true true
C1ProfileCheckcasts bool true true true
C1ProfileInlinedCalls bool true true true
C1ProfileVirtualCalls bool true true true
C1UpdateMethodData bool true true true
CICompilerCount intx 2 2 2
CICompilerCountPerCPU bool false false true
CITime bool false false false
CMSAbortSemantics bool false false false
CMSAbortablePrecleanMinWorkPerIteration uintx 100 100 100
CMSAbortablePrecleanWaitMillis intx 100 100 100
CMSBitMapYieldQuantum uintx 10485760 10485760 10485760
CMSBootstrapOccupancy uintx 50 50 50
CMSClassUnloadingEnabled bool false false true
CMSClassUnloadingMaxInterval uintx 0 0 0
CMSCleanOnEnter bool true true true
CMSCompactWhenClearAllSoftRefs bool true true true
CMSConcMarkMultiple uintx 32 32 32
CMSConcurrentMTEnabled bool true true true
CMSCoordinatorYieldSleepCount uintx 10 10 10
CMSDumpAtPromotionFailure bool false false false
CMSEdenChunksRecordAlways bool false true
CMSExpAvgFactor uintx 50 50 50
CMSExtrapolateSweep bool false false false
CMSFullGCsBeforeCompaction uintx 0 0 0
CMSIncrementalDutyCycle uintx 10 10 10
CMSIncrementalDutyCycleMin uintx 0 0 0
CMSIncrementalMode bool false false false
CMSIncrementalOffset uintx 0 0 0
CMSIncrementalPacing bool true true true
CMSIncrementalSafetyFactor uintx 10 10 10
CMSIndexedFreeListReplenish uintx 4 4 4
CMSInitiatingOccupancyFraction intx -1 -1 -1
CMSInitiatingPermOccupancyFraction intx -1 -1
CMSIsTooFullPercentage intx 98 98 98
CMSLargeCoalSurplusPercent double 0.950000 0.950000 0.950000
CMSLargeSplitSurplusPercent double 1.000000 1.000000 1.000000
CMSLoopWarn bool false false false
CMSMaxAbortablePrecleanLoops uintx 0 0 0
CMSMaxAbortablePrecleanTime intx 5000 5000 5000
CMSOldPLABMax uintx 1024 1024 1024
CMSOldPLABMin uintx 16 16 16
CMSOldPLABNumRefills uintx 4 4 4
CMSOldPLABReactivityCeiling uintx 10
CMSOldPLABReactivityFactor uintx 2 2 2
CMSOldPLABResizeQuicker bool false false false
CMSOldPLABToleranceFactor uintx 4 4 4
CMSPLABRecordAlways bool true true true
CMSParPromoteBlocksToClaim uintx 16 16 16
CMSParallelInitialMarkEnabled bool false true
CMSParallelRemarkEnabled bool true true true
CMSParallelSurvivorRemarkEnabled bool true true true
CMSPermGenPrecleaningEnabled bool true true
CMSPrecleanDenominator uintx 3 3 3
CMSPrecleanIter uintx 3 3 3
CMSPrecleanNumerator uintx 2 2 2
CMSPrecleanRefLists1 bool true true true
CMSPrecleanRefLists2 bool false false false
CMSPrecleanSurvivors1 bool false false false
CMSPrecleanSurvivors2 bool true true true
CMSPrecleanThreshold uintx 1000 1000 1000
CMSPrecleaningEnabled bool true true true
CMSPrintChunksInDump bool false false false
CMSPrintEdenSurvivorChunks bool false false
CMSPrintObjectsInDump bool false false false
CMSRemarkVerifyVariant uintx 1 1 1
CMSReplenishIntermediate bool true true true
CMSRescanMultiple uintx 32 32 32
CMSRevisitStackSize uintx 1048576 1048576
CMSSamplingGrain uintx 16384 16384 16384
CMSScavengeBeforeRemark bool false false false
CMSScheduleRemarkEdenPenetration uintx 50 50 50
CMSScheduleRemarkEdenSizeThreshold uintx 2097152 2097152 2097152
CMSScheduleRemarkSamplingRatio uintx 5 5 5
CMSSmallCoalSurplusPercent double 1.050000 1.050000 1.050000
CMSSmallSplitSurplusPercent double 1.100000 1.100000 1.100000
CMSSplitIndexedFreeListBlocks bool true true true
CMSTriggerPermRatio intx 80 80
CMSTriggerRatio uintx 80 80 80
CMSUseOldDefaults bool false
CMSWaitDuration intx 2000 2000 2000
CMSWorkQueueDrainThreshold uintx 10 10 10
CMSYield bool true true true
CMSYieldSleepCount uintx 0 0 0
CMSYoungGenPerWorker intx 16777216 67108864 67108864
CMS_FLSPadding uintx 1 1 1
CMS_FLSWeight uintx 75 75 75
CMS_SweepPadding uintx 1 1 1
CMS_SweepTimerThresholdMillis uintx 10 10 10
CMS_SweepWeight uintx 75 75 75
CheckJNICalls bool false false false
ClassUnloading bool true true true
ClearFPUAtPark intx 0 0 0
ClipInlining bool true true true
CodeCacheExpansionSize uintx 65536 65536 65536
CodeCacheFlushingMinimumFreeSpace uintx 1536000 1536000
CodeCacheMinimumFreeSpace uintx 512000 512000 512000
CollectGen0First bool false false false
CompactFields bool true true true
CompilationPolicyChoice intx 0 0 3
CompilationRepeat intx 0 0 0
CompileCommand ccstrlist 0 0 0
CompileCommandFile ccstr 0 0 0
CompileOnly ccstrlist 0 0 0
CompileThreshold intx 10000 10000 10000
CompilerThreadHintNoPreempt bool true true true
CompilerThreadPriority intx -1 -1 -1
CompilerThreadStackSize intx 0 0 0
CompressedClassSpaceSize uintx 1073741824
ConcGCThreads uintx 0 0 0
ConditionalMoveLimit intx 3 3 3
ContendedPaddingWidth intx 128
ConvertSleepToYield bool true true true
ConvertYieldToSleep bool false false false
CreateMinidumpOnCrash bool false false
CriticalJNINatives bool true true
DTraceAllocProbes bool false false false
DTraceMethodProbes bool false false false
DTraceMonitorProbes bool false false false
Debugging bool false false
DefaultMaxRAMFraction uintx 4 4 4
DefaultThreadPriority intx -1 -1 -1
DeferPollingPageLoopCount intx -1 -1 -1
DeferThrSuspendLoopCount intx 4000 4000 4000
DeoptimizeRandom bool false false false
DesiredMethodLimit intx 8000
DisableAttachMechanism bool false false false
DisableExplicitGC bool false false false
DisplayVMOutputToStderr bool false false false
DisplayVMOutputToStdout bool false false false
DoEscapeAnalysis bool true true true
DominatorSearchLimit intx 1000
DontCompileHugeMethods bool true true true
DontYieldALot bool false false false
DumpReplayDataOnError bool true
DumpSharedSpaces bool false false false
EagerXrunInit bool false false false
EliminateAllocationArraySizeLimit intx 64 64 64
EliminateAllocations bool true true true
EliminateAutoBox bool false false
EliminateLocks bool true true true
EliminateNestedLocks bool true true
EmitSync intx 0 0 0
EnableContended bool true
EnableTracing bool false false
ErgoHeapSizeLimit uintx 0 0 0
ErrorFile ccstr 0 0 0
ErrorReportServer ccstr 0 0
EstimateArgEscape bool true true true
EventLogLength intx 2000
ExplicitGCInvokesConcurrent bool false false false
ExplicitGCInvokesConcurrentAndUnloadsClasses bool false false false
ExtendedDTraceProbes bool false false false
FLSAlwaysCoalesceLarge bool false false false
FLSCoalescePolicy uintx 2 2 2
FLSLargestBlockCoalesceProximity double 0.990000 0.990000 0.990000
FailOverToOldVerifier bool true true true
FastTLABRefill bool true true true
FenceInstruction intx 0 0 0
FieldsAllocationStyle intx 1 1 1
FilterSpuriousWakeups bool true true true
ForceNUMA bool false false false
ForceTimeHighResolution bool false false false
FreqInlineSize intx 325 325 325
G1ConcMarkStepDurationMillis double 10.000000 10.000000
G1ConcRSHotCardLimit uintx 4 4
G1ConcRSLogCacheSize uintx 10 10
G1ConcRefinementGreenZone intx 0 0 0
G1ConcRefinementRedZone intx 0 0 0
G1ConcRefinementServiceIntervalMillis intx 300 300 300
G1ConcRefinementThreads uintx 0 0 0
G1ConcRefinementThresholdStep intx 0 0 0
G1ConcRefinementYellowZone intx 0 0 0
G1ConfidencePercent intx 50 50 50
G1HeapRegionSize uintx 0 0 0
G1HeapWastePercent uintx 10 10
G1MarkRegionStackSize intx 1048576
G1MixedGCCountTarget uintx 8 8
G1RSetRegionEntries intx 0 0 0
G1RSetScanBlockSize uintx 64 64 64
G1RSetSparseRegionEntries intx 0 0 0
G1RSetUpdatingPauseTimePercent intx 10 10 10
G1RefProcDrainInterval intx 10 10
G1ReservePercent intx 10 10 10
G1SATBBufferEnqueueingThresholdPercent uintx 60 60 60
G1SATBBufferSize intx 1024 1024 1024
G1UpdateBufferSize intx 256 256 256
G1UseAdaptiveConcRefinement bool true true true
GCDrainStackTargetSize uintx 64 64 64
GCHeapFreeLimit uintx 2 2 2
GCLockerEdenExpansionPercent uintx 5 5 5
GCLockerInvokesConcurrent bool false false false
GCLogFileSize uintx 0 0
GCOverheadReporting bool false
GCOverheadReportingPeriodMS intx 100
GCPauseIntervalMillis uintx 0 0 0
GCTaskTimeStampEntries uintx 200 200 200
GCTimeLimit uintx 98 98 98
GCTimeRatio uintx 99 99 99
HPILibPath ccstr 0
HeapBaseMinAddress uintx 2147483648 2147483648 2147483648
HeapDumpAfterFullGC bool false false false
HeapDumpBeforeFullGC bool false false false
HeapDumpOnOutOfMemoryError bool false false false
HeapDumpPath ccstr 0 0 0
HeapFirstMaximumCompactionCount uintx 3 3 3
HeapMaximumCompactionInterval uintx 20 20 20
HeapSizePerGCThread uintx 87241520 87241520
IgnoreUnrecognizedVMOptions bool false false false
IncreaseFirstTierCompileThresholdAt uintx 50
IncrementalInline bool true true
InitialBootClassLoaderMetaspaceSize uintx 4194304
InitialCodeCacheSize uintx 2555904 2555904 2555904
InitialHeapSize uintx 64701696 64701696 65011712
InitialRAMFraction uintx 64 64 64
InitialSurvivorRatio uintx 8 8 8
InitialTenuringThreshold intx 7 7 7
InitiatingHeapOccupancyPercent uintx 45 45 45
Inline bool true true true
InlineSmallCode intx 1000 1000 2000
InlineSynchronizedMethods bool true
InsertMemBarAfterArraycopy bool true true true
InteriorEntryAlignment intx 16 16 16
InterpreterProfilePercentage intx 33 33 33
JNIDetachReleasesMonitors bool true true true
JavaMonitorsInStackTrace bool true true true
JavaPriority10_To_OSPriority intx -1 -1 -1
JavaPriority1_To_OSPriority intx -1 -1 -1
JavaPriority2_To_OSPriority intx -1 -1 -1
JavaPriority3_To_OSPriority intx -1 -1 -1
JavaPriority4_To_OSPriority intx -1 -1 -1
JavaPriority5_To_OSPriority intx -1 -1 -1
JavaPriority6_To_OSPriority intx -1 -1 -1
JavaPriority7_To_OSPriority intx -1 -1 -1
JavaPriority8_To_OSPriority intx -1 -1 -1
JavaPriority9_To_OSPriority intx -1 -1 -1
LIRFillDelaySlots bool false false false
LargePageHeapSizeThreshold uintx 134217728 134217728 134217728
LargePageSizeInBytes uintx 0 0 0
LazyBootClassLoader bool true true true
LiveNodeCountInliningCutoff intx 20000 20000
LoadExecStackDllInVMThread bool true true
LogCommercialFeatures bool false
LoopMaxUnroll intx 16 16
LoopOptsCount intx 43 43 43
LoopUnrollLimit intx 60 60 60
LoopUnrollMin intx 4 4 4
LoopUnswitching bool true true true
ManagementServer bool false false false
MarkStackSize uintx 4194304 4194304 4194304
MarkStackSizeMax uintx 536870912 536870912 536870912
MarkSweepAlwaysCompactCount intx 4 4 4
MarkSweepDeadRatio uintx 5 5 5
MaxBCEAEstimateLevel intx 5 5 5
MaxBCEAEstimateSize intx 150 150 150
MaxDirectMemorySize intx -1 0 0
MaxFDLimit bool true true true
MaxGCMinorPauseMillis uintx 18446744073709551615 18446744073709551615 18446744073709551615
MaxGCPauseMillis uintx 18446744073709551615 18446744073709551615 18446744073709551615
MaxHeapFreeRatio uintx 70 70 70
MaxHeapSize uintx 1035993088 1035993088 1035993088
MaxInlineLevel intx 9 9 9
MaxInlineSize intx 35 35 35
MaxJavaStackTraceDepth intx 1024 1024 1024
MaxJumpTableSize intx 65000 65000 65000
MaxJumpTableSparseness intx 5 5 5
MaxLabelRootDepth intx 1100 1100 1100
MaxLoopPad intx 11 11 11
MaxMetaspaceExpansion uintx 5451776
MaxMetaspaceFreeRatio uintx 70
MaxMetaspaceSize uintx 18446744073709547520
MaxNewSize uintx 18446744073709486080 18446744073709486080 345309184
MaxNodeLimit intx 65000 75000 75000
MaxPermHeapExpansion uintx 5439488 5439488
MaxPermSize uintx 85983232 85983232
MaxRAM uint64_t 137438953472 137438953472 137438953472
MaxRAMFraction uintx 4 4 4
MaxRecursiveInlineLevel intx 1 1 1
MaxTenuringThreshold intx 15 15 15
MaxTrivialSize intx 6 6 6
MaxVectorSize intx 16 16
MetaspaceSize uintx 21807104
MethodFlushing bool true true true
MinCodeCacheFlushingInterval intx 30 30
MinHeapDeltaBytes uintx 196608 196608 196608
MinHeapFreeRatio uintx 40 40 40
MinInliningThreshold intx 250 250 250
MinJumpTableSize intx 18 18 10
MinMetaspaceExpansion uintx 339968
MinMetaspaceFreeRatio uintx 40
MinPermHeapExpansion uintx 327680 327680
MinRAMFraction uintx 2 2 2
MinSurvivorRatio uintx 3 3 3
MinTLABSize uintx 2048 2048 2048
MonitorBound intx 0 0 0
MonitorInUseLists bool false false false
MultiArrayExpandLimit intx 6 6 6
MustCallLoadClassInternal bool false false false
NUMAChunkResizeWeight intx 20 20 20
NUMAInterleaveGranularity uintx 2097152 2097152
NUMAPageScanRate intx 256 256 256
NUMASpaceResizeRate intx 1073741824 1073741824 1073741824
NUMAStats bool false false false
NativeMemoryTracking ccstr off off
NativeMonitorFlags intx 0 0 0
NativeMonitorSpinLimit intx 20 20 20
NativeMonitorTimeout intx -1 -1 -1
NeedsDeoptSuspend bool false false false
NeverActAsServerClassMachine bool false false false
NeverTenure bool false false false
NewRatio intx 2 2 2
NewSize uintx 1310720 1310720 1310720
NewSizeThreadIncrease uintx 5320 5320 5320
NmethodSweepActivity intx 10
NmethodSweepCheckInterval intx 5 5 5
NmethodSweepFraction intx 4 16 16
NodeLimitFudgeFactor intx 1000 1000 2000
NumberOfGCLogFiles uintx 0 0
NumberOfLoopInstrToAlign intx 4 4 4
ObjectAlignmentInBytes intx 8 8 8
OldPLABSize uintx 1024 1024 1024
OldPLABWeight uintx 50 50 50
OldSize uintx 5439488 5439488 63700992
OmitStackTraceInFastThrow bool true true true
OnError ccstrlist 0 0 0
OnOutOfMemoryError ccstrlist 0 0 0
OnStackReplacePercentage intx 140 140 140
OptimizeFill bool false true true
OptimizePtrCompare bool true true
OptimizeStringConcat bool false true true
OptoBundling bool false false false
OptoLoopAlignment intx 16 16 16
OptoScheduling bool false false false
PLABWeight uintx 75 75 75
PSChunkLargeArrays bool true true true
ParGCArrayScanChunk intx 50 50 50
ParGCDesiredObjsFromOverflowList uintx 20 20 20
ParGCTrimOverflow bool true true true
ParGCUseLocalOverflow bool false false false
ParallelGCBufferWastePct intx 10 10 10
ParallelGCRetainPLAB bool true
ParallelGCThreads uintx 0 0 0
ParallelGCVerbose bool false false false
ParallelOldDeadWoodLimiterMean uintx 50 50 50
ParallelOldDeadWoodLimiterStdDev uintx 80 80 80
ParallelRefProcBalancingEnabled bool true true true
ParallelRefProcEnabled bool false false false
PartialPeelAtUnsignedTests bool true true true
PartialPeelLoop bool true true true
PartialPeelNewPhiDelta intx 0 0 0
PausePadding uintx 1 1 1
PerBytecodeRecompilationCutoff intx 200 200 200
PerBytecodeTrapLimit intx 4 4 4
PerMethodRecompilationCutoff intx 400 400 400
PerMethodTrapLimit intx 100 100 100
PerfAllowAtExitRegistration bool false false false
PerfBypassFileSystemCheck bool false false false
PerfDataMemorySize intx 32768 32768 32768
PerfDataSamplingInterval intx 50 50 50
PerfDataSaveFile ccstr 0 0 0
PerfDataSaveToFile bool false false false
PerfDisableSharedMem bool false false false
PerfMaxStringConstLength intx 1024 1024 1024
PermGenPadding uintx 3 3
PermMarkSweepDeadRatio uintx 20 20
PermSize uintx 21757952 21757952
PostSpinYield bool true
PreBlockSpin intx 10
PreInflateSpin intx 10 10 10
PreSpinYield bool false
PreferInterpreterNativeStubs bool false false false
PrefetchCopyIntervalInBytes intx 576 576 576
PrefetchFieldsAhead intx 1 1 1
PrefetchScanIntervalInBytes intx 576 576 576
PreserveAllAnnotations bool false false false
PreserveMarkStackSize uintx 1024
PretenureSizeThreshold uintx 0 0 0
PrintAdaptiveSizePolicy bool false false false
PrintCMSInitiationStatistics bool false false false
PrintCMSStatistics intx 0 0 0
PrintClassHistogram bool false false false
PrintClassHistogramAfterFullGC bool false false false
PrintClassHistogramBeforeFullGC bool false false false
PrintCodeCache bool false
PrintCodeCacheOnCompilation bool false
PrintCommandLineFlags bool false false false
PrintCompilation bool false false false
PrintConcurrentLocks bool false false false
PrintFLSCensus intx 0 0 0
PrintFLSStatistics intx 0 0 0
PrintFlagsFinal bool true true true
PrintFlagsInitial bool false false false
PrintGC bool false false false
PrintGCApplicationConcurrentTime bool false false false
PrintGCApplicationStoppedTime bool false false false
PrintGCCause bool false true
PrintGCDateStamps bool false false false
PrintGCDetails bool false false false
PrintGCTaskTimeStamps bool false false false
PrintGCTimeStamps bool false false false
PrintHeapAtGC bool false false false
PrintHeapAtGCExtended bool false false false
PrintHeapAtSIGBREAK bool true true true
PrintJNIGCStalls bool false false false
PrintJNIResolving bool false false false
PrintOldPLAB bool false false false
PrintOopAddress bool false false false
PrintPLAB bool false false false
PrintParallelOldGCPhaseTimes bool false false false
PrintPreciseBiasedLockingStatistics bool false
PrintPromotionFailure bool false false false
PrintReferenceGC bool false false false
PrintRevisitStats bool false false
PrintSafepointStatistics bool false false false
PrintSafepointStatisticsCount intx 300 300 300
PrintSafepointStatisticsTimeout intx -1 -1 -1
PrintSharedSpaces bool false false false
PrintStringTableStatistics bool false false
PrintTLAB bool false false false
PrintTenuringDistribution bool false false false
PrintTieredEvents bool false false false
PrintVMOptions bool false false false
PrintVMQWaitTime bool false false false
PrintWarnings bool true true true
ProcessDistributionStride uintx 4 4 4
ProfileInterpreter bool true true true
ProfileIntervals bool false false false
ProfileIntervalsTicks intx 100 100 100
ProfileMaturityPercentage intx 20 20 20
ProfileVM bool false false false
ProfilerPrintByteCodeStatistics bool false false false
ProfilerRecordPC bool false false false
PromotedPadding uintx 3 3 3
QueuedAllocationWarningCount intx 0 0 0
RangeCheckElimination bool true true true
ReadPrefetchInstr intx 0 0 0
ReadSpinIterations intx 100
ReassociateInvariants bool true true true
ReduceBulkZeroing bool true true true
ReduceFieldZeroing bool true true true
ReduceInitialCardMarks bool true true true
ReduceSignalUsage bool false false false
RefDiscoveryPolicy intx 0 0 0
ReflectionWrapResolutionErrors bool true true true
RegisterFinalizersAtInit bool true true true
RelaxAccessControlCheck bool false false false
ReplayDataFile ccstr 0
RequireSharedSpaces bool false false false
ReservedCodeCacheSize uintx 50331648 50331648 251658240
ResizeOldPLAB bool true true true
ResizePLAB bool true true true
ResizeTLAB bool true true true
RestoreMXCSROnJNICalls bool false false false
RestrictContended bool true
RewriteBytecodes bool true true true
RewriteFrequentPairs bool true true true
SafepointPollOffset intx 256 256 256
SafepointSpinBeforeYield intx 2000 2000 2000
SafepointTimeout bool false false false
SafepointTimeoutDelay intx 10000 10000 10000
ScavengeBeforeFullGC bool true true true
SelfDestructTimer intx 0 0 0
SharedBaseAddress uintx 34359738368
SharedDummyBlockSize uintx 536870912 536870912
SharedMiscCodeSize uintx 4194304 4194304 122880
SharedMiscDataSize uintx 4194304 6291456 4194304
SharedReadOnlySize uintx 10485760 10485760 16777216
SharedReadWriteSize uintx 14680064 14680064 16777216
ShowMessageBoxOnError bool false false false
SoftRefLRUPolicyMSPerMB intx 1000 1000 1000
SpecialEncodeISOArray bool true
SpecialStringCompareToCC bool true
SpecialStringCompress bool true
SpecialStringEqualsCC bool true
SpecialStringIndexOfCC bool true
SpecialStringInflate bool true
SplitIfBlocks bool true true true
StackRedPages intx 1 1 1
StackShadowPages intx 6 20 20
StackTraceInThrowable bool true true true
StackYellowPages intx 2 2 2
StartAttachListener bool false false false
StarvationMonitorInterval intx 200 200 200
StressLdcRewrite bool false false false
StressTieredRuntime bool false
StringTableSize uintx 60013 60013
SuppressFatalErrorMessage bool false false false
SurvivorPadding uintx 3 3 3
SurvivorRatio intx 8 8 8
SuspendRetryCount intx 50 50 50
SuspendRetryDelay intx 5 5 5
SyncFlags intx 0 0 0
SyncKnobs ccstr 0 0 0
SyncVerbose intx 0 0 0
TLABAllocationWeight uintx 35 35 35
TLABRefillWasteFraction uintx 64 64 64
TLABSize uintx 0 0 0
TLABStats bool true true true
TLABWasteIncrement uintx 4 4 4
TLABWasteTargetPercent uintx 1 1 1
TargetPLABWastePct intx 10 10 10
TargetSurvivorRatio intx 50 50 50
TenuredGenerationSizeIncrement uintx 20 20 20
TenuredGenerationSizeSupplement uintx 80 80 80
TenuredGenerationSizeSupplementDecay uintx 2 2 2
ThreadPriorityPolicy intx 0 0 0
ThreadPriorityVerbose bool false false false
ThreadSafetyMargin uintx 52428800 52428800 52428800
ThreadStackSize intx 1024 1024 1024
ThresholdTolerance uintx 10 10 10
Tier0BackedgeNotifyFreqLog intx 10 10 10
Tier0InvokeNotifyFreqLog intx 7 7 7
Tier0ProfilingStartPercentage intx 200 200 200
Tier1FreqInlineSize intx 35
Tier1Inline intx 0
Tier1LoopOptsCount intx 0
Tier1MaxInlineSize intx 8
Tier23InlineeNotifyFreqLog intx 20 20
Tier2BackEdgeThreshold intx 0 0 0
Tier2BackedgeNotifyFreqLog intx 14 14 14
Tier2CompileThreshold intx 0 0 0
Tier2InvokeNotifyFreqLog intx 11 11 11
Tier3BackEdgeThreshold intx 7000 60000 60000
Tier3BackedgeNotifyFreqLog intx 13 13 13
Tier3CompileThreshold intx 2000 2000 2000
Tier3DelayOff intx 2 2 2
Tier3DelayOn intx 5 5 5
Tier3InvocationThreshold intx 200 200 200
Tier3InvokeNotifyFreqLog intx 10 10 10
Tier3LoadFeedback intx 5 5 5
Tier3MinInvocationThreshold intx 100 100 100
Tier4BackEdgeThreshold intx 40000 40000 40000
Tier4CompileThreshold intx 15000 15000 15000
Tier4InvocationThreshold intx 5000 5000 5000
Tier4LoadFeedback intx 3 3 3
Tier4MinInvocationThreshold intx 600 600 600
TieredCompilation bool false false true
TieredCompileTaskTimeout intx 50 50 50
TieredRateUpdateMaxTime intx 25 25 25
TieredRateUpdateMinTime intx 1 1 1
TieredStopAtLevel intx 4 4 4
TimeLinearScan bool false false false
TraceBiasedLocking bool false false false
TraceClassLoading bool false false false
TraceClassLoadingPreorder bool false false false
TraceClassResolution bool false false false
TraceClassUnloading bool false false false
TraceDynamicGCThreads bool false false
TraceGen0Time bool false false false
TraceGen1Time bool false false false
TraceJVMTI ccstr 0 0 0
TraceLoaderConstraints bool false false false
TraceMetadataHumongousAllocation bool false
TraceMonitorInflation bool false false false
TraceParallelOldGCTasks bool false false false
TraceRedefineClasses intx 0 0 0
TraceSafepointCleanupTime bool false false false
TraceSuperWord bool false
TraceSuspendWaitFailures bool false false false
TrackedInitializationLimit intx 50 50 50
TransmitErrorReport bool false false
TypeProfileArgsLimit intx 2
TypeProfileLevel uintx 0
TypeProfileMajorReceiverPercent intx 90 90 90
TypeProfileParmsLimit intx 2
TypeProfileWidth intx 2 2 2
UnguardOnExecutionViolation intx 0 0 0
UnlinkSymbolsALot bool false false
Use486InstrsOnly bool false false false
UseAES bool true true
UseAESIntrinsics bool true true
UseAVX intx 0 0
UseAdaptiveGCBoundary bool false false false
UseAdaptiveGenerationSizePolicyAtMajorCollection bool true true true
UseAdaptiveGenerationSizePolicyAtMinorCollection bool true true true
UseAdaptiveNUMAChunkSizing bool true true true
UseAdaptiveSizeDecayMajorGCCost bool true true true
UseAdaptiveSizePolicy bool true true true
UseAdaptiveSizePolicyFootprintGoal bool true true true
UseAdaptiveSizePolicyWithSystemGC bool false false false
UseAddressNop bool true true true
UseAltSigs bool false false false
UseAutoGCSelectPolicy bool false false false
UseBiasedLocking bool true true true
UseBimorphicInlining bool true true true
UseBoundThreads bool true true true
UseCLMUL bool true
UseCMSBestFit bool true true true
UseCMSCollectionPassing bool true true true
UseCMSCompactAtFullCollection bool true true true
UseCMSInitiatingOccupancyOnly bool false false false
UseCRC32Intrinsics bool false
UseCodeCacheFlushing bool false true true
UseCompiler bool true true true
UseCompilerSafepoints bool true true true
UseCompressedClassPointers bool true
UseCompressedOops bool true true true
UseCompressedStrings bool false
UseConcMarkSweepGC bool false false false
UseCondCardMark bool false false
UseCountLeadingZerosInstruction bool false false false
UseCounterDecay bool true true true
UseDivMod bool true true true
UseDynamicNumberOfGCThreads bool false false
UseFPUForSpilling bool false false false
UseFastAccessorMethods bool true false false
UseFastEmptyMethods bool true false false
UseFastJNIAccessors bool true true true
UseFastStosb bool false false
UseG1GC bool false false false
UseGCLogFileRotation bool false false
UseGCOverheadLimit bool true true true
UseGCTaskAffinity bool false false false
UseHeavyMonitors bool false false false
UseHugeTLBFS bool false false
UseInlineCaches bool true true true
UseInterpreter bool true true true
UseJumpTables bool true true true
UseLWPSynchronization bool true true true
UseLargePages bool false false false
UseLargePagesInMetaspace bool false
UseLargePagesIndividualAllocation bool false false false
UseLinuxPosixThreadCPUClocks bool false true true
UseLockedTracing bool false false
UseLoopCounter bool true true true
UseLoopInvariantCodeMotion bool true
UseLoopPredicate bool true true true
UseMaximumCompactionOnSystemGC bool true true true
UseMembar bool false false false
UseNUMA bool false false false
UseNUMAInterleaving bool false false
UseNewLongLShift bool false false false
UseNiagaraInstrs bool false
UseOSErrorReporting bool false false false
UseOldInlining bool true true true
UseOnStackReplacement bool true true true
UseOnlyInlinedBimorphic bool true true true
UseOprofile bool false false false
UseOptoBiasInlining bool true true true
UsePPCLWSYNC bool true true true
UsePSAdaptiveSurvivorSizePolicy bool true true true
UseParNewGC bool false false false
UseParallelDensePrefixUpdate bool true
UseParallelGC bool false false false
UseParallelOldGC bool false false false
UseParallelOldGCCompacting bool true
UseParallelOldGCDensePrefix bool true
UsePerfData bool true true true
UsePopCountInstruction bool true true true
UseRDPCForConstantTableBase bool false false false
UseSHM bool false false
UseSSE intx 4 4 4
UseSSE42Intrinsics bool true true true
UseSerialGC bool false false false
UseSharedSpaces bool false false false
UseSignalChaining bool true true true
UseSpinning bool false
UseSplitVerifier bool true true
UseStoreImmI16 bool false false false
UseStringCache bool false false
UseSuperWord bool true true true
UseTLAB bool true true true
UseThreadPriorities bool true true true
UseTransparentHugePages bool false false
UseTypeProfile bool true true true
UseUnalignedLoadStores bool false false false
UseVMInterruptibleIO bool true false false
UseVectoredExceptions bool false false
UseXMMForArrayCopy bool true true true
UseXmmI2D bool false false false
UseXmmI2F bool false false false
UseXmmLoadAndClearUpper bool true true true
UseXmmRegToRegMoveAll bool true true true
VMThreadHintNoPreempt bool false false false
VMThreadPriority intx -1 -1 -1
VMThreadStackSize intx 1024 1024 1024
ValueMapInitialSize intx 11 11 11
ValueMapMaxLoopSize intx 8 8 8
ValueSearchLimit intx 1000 1000 1000
VerifyMergedCPBytecodes bool true true true
WorkAroundNPTLTimedWaitHang intx 1 1 1
YoungGenerationSizeIncrement uintx 20 20 20
YoungGenerationSizeSupplement uintx 80 80 80
YoungGenerationSizeSupplementDecay uintx 8 8 8
YoungPLABSize uintx 4096 4096 4096
ZeroTLAB bool false false false
hashCode intx 0 0 5

Luceneでローマ字変換

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)

 [7.1.3 Suggester]で使用しているJapaneseReadingFormFilterを参考に。(というかまんま)

今回はeclipseプラグインを入れてgradleプロジェクトとして作ってみました。
build.gradleはデフォルトで作成されるものにlucene用のdependenciesを追加。
不要なものも混ざってますがご容赦ください。

apply plugin: 'java'
apply plugin: 'eclipse'

sourceCompatibility = 1.6
targetCompatibility = 1.6
version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.apache.lucene:lucene-core:4.7.2'
    compile 'org.apache.lucene:lucene-analyzers-common:4.7.2'
    compile 'org.apache.lucene:lucene-analyzers-kuromoji:4.7.2'
    testCompile 'junit:junit:4.+'
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}

そして、コード

package com.example;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.ja.JapaneseAnalyzer;
import org.apache.lucene.analysis.ja.tokenattributes.ReadingAttribute;
import org.apache.lucene.analysis.ja.util.ToStringUtil;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.util.Version;

public class Romanize {

    public static void main(String[] args) {
        Analyzer analyzer = new JapaneseAnalyzer(Version.LUCENE_47);
        try {
            List<String> texts = Arrays
                    .asList("すもももももももものうち。", "メガネは顔の一部です。",
                            "日本経済新聞でモバゲーの記事を読んだ。",
                            "Java, Scala, Groovy, Clojure",
                            "LUCENE、SOLR、Lucene, Solr",
                            "アイウエオカキクケコさしすせそABCXYZ123456",
                            "Lucene is a full-featured text search engine library written in Java.");
            for (String text : texts) {
                TokenStream tokenStream = analyzer.tokenStream("", text);
                try {
                    romanize(tokenStream);
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    tokenStream.close();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            analyzer.close();
        }
    }

    private static void romanize(TokenStream tokenStream) throws IOException {
        CharTermAttribute charTermAttr = tokenStream
                .addAttribute(CharTermAttribute.class);
        ReadingAttribute readingAttr = tokenStream
                .addAttribute(ReadingAttribute.class);
        tokenStream.reset();
        while (tokenStream.incrementToken()) {
            String token = charTermAttr.toString();
            String reading = readingAttr.getReading();
            String readingRoma = null;
            if (reading != null) {
                readingRoma = ToStringUtil.getRomanization(reading);
            } else if (isHalfWidthAlphanumeric(token)) {
                readingRoma = token;
            } else {
                readingRoma = ToStringUtil.getRomanization(token);
            }
            System.out.println("token:" + token + " ,reading:" + reading
                    + " ,readingRoma:" + readingRoma);
        }
    }

    private static boolean isHalfWidthAlphanumeric(String text) {
        if (text == null || text.length() == 0
                || text.length() != text.getBytes().length) {
            return false;
        }
        return true;
    }

}

Analyzerの使い方など参考にさせていただいたのはココ

JapaneseAnalyzerでトークン分割後に

String reading = readingAttr.getReading();

読みカナを取得し、

readingRoma = ToStringUtil.getRomanization(reading);

そして読み仮名をToStringUtil.getRomanizationに渡すとローマ字を得られます。

else if (isHalfWidthAlphanumeric(token)) {
    readingRoma = token;
}

半角アルファベットと数字はそのまま使用。

else {
    readingRoma = ToStringUtil.getRomanization(token);
}

それ以外の読み仮名が得られなかった単語はとりあえず元の単語をそのままローマ字変換してみましたf^^;

結果は以下となりました。

token:すもも ,reading:スモモ ,readingRoma:sumomo
token:もも ,reading:モモ ,readingRoma:momo
token:もも ,reading:モモ ,readingRoma:momo
token:メガネ ,reading:メガネ ,readingRoma:megane
token:顔 ,reading:カオ ,readingRoma:kao
token:一部 ,reading:イチブ ,readingRoma:ichibu
token:日本 ,reading:ニッポン ,readingRoma:nippon
token:日本経済新聞 ,reading:ニホンケイザイシンブン ,readingRoma:nihonkeizaishimbun
token:経済 ,reading:ケイザイ ,readingRoma:keizai
token:新聞 ,reading:シンブン ,readingRoma:shimbun
token:モバゲ ,reading:null ,readingRoma:mobage
token:記事 ,reading:キジ ,readingRoma:kiji
token:読む ,reading:ヨン ,readingRoma:yon
token:java ,reading:null ,readingRoma:java
token:scala ,reading:null ,readingRoma:scala
token:groovy ,reading:null ,readingRoma:groovy
token:clojure ,reading:null ,readingRoma:clojure
token:lucene ,reading:null ,readingRoma:lucene
token:solr ,reading:null ,readingRoma:solr
token:lucene ,reading:null ,readingRoma:lucene
token:solr ,reading:null ,readingRoma:solr
token:アイウエオカキクケコ ,reading:null ,readingRoma:aiueokakikukeko
token:しす ,reading:シス ,readingRoma:shisu
token:そ ,reading:ソ ,readingRoma:so
token:abcxyz ,reading:null ,readingRoma:abcxyz
token:123456 ,reading:null ,readingRoma:123456
token:lucene ,reading:null ,readingRoma:lucene
token:is ,reading:null ,readingRoma:is
token:a ,reading:null ,readingRoma:a
token:full ,reading:null ,readingRoma:full
token:featured ,reading:null ,readingRoma:featured
token:text ,reading:null ,readingRoma:text
token:search ,reading:null ,readingRoma:search
token:engine ,reading:null ,readingRoma:engine
token:library ,reading:null ,readingRoma:library
token:written ,reading:null ,readingRoma:written
token:in ,reading:null ,readingRoma:in
token:java ,reading:null ,readingRoma:java

ふーむ

MacにJDK6をインストール

職場の環境に合わせるためにJDK6を自宅のmacにインストールしようと思いまして。
早速oracleさんのサイトへ。

Java Archive Downloads - Java SE 6

ファッ!?

Mac用のインストーラがない・・だと・・?

教えてgoogle先生!

ってわけで、ありましたよ。
Appleが別途提供しているみたいです。

Java for OS X 2013-005

無事インストール出来ました〜
ただ、デフォルトインストール先がそれぞれで異なるようです。

/Library/Java/JavaVirtualMachines/
jdk1.7.0_25.jdk
/System/Library/Java/JavaVirtualMachines
1.6.0.jdk

S2JUnit4をmavenで実行する際の注意点

仕事でJUnitを書いたのは1年目以来でしょうか。(現在8年目。。)
ちょっと時間に余裕ができたので久々に書いてみました。


テスト対象はパラメータで渡した値を条件にDBからレコードを取得するメソッド。

ってことで、↓を参考にExcelでテストデータを用意し自動読み込みするようにして、境界値テストとして取得できるケースとできないケースを計5ケースほど書きました。

Seasar - DI Container with AOP
S2Unit

ローカルでの実行は無事グリーンになり、意気揚々とコミットしてJenkinsさんからテスト環境へビルド/デプロイ&テスト!

・・・

orz..
取得できるケースだけ失敗してるからテストデータが読み込めていない模様。
サンプルのようにテストケースクラスと同フォルダにデータも置いていたんですが、↓のサイトの通りでclasses側にデータがコピーされないせいみたいです。

Maven2でのリソースファイルの取り扱い

ってことで、/src/test/resources配下に置き換えて再挑戦したところ、うまくいきました。

ただ、/src/test/resources配下にズラーっと並ぶのが嫌だったので、s2junit4.diconを以下のようにしてテストケースクラス毎にフォルダを分けるようにしました。

<component class="org.seasar.framework.unit.impl.TestDataPreparerImpl">
    <initMethod name="addTestDataXlsPath">
        <arg>
            "data/" + context.testClassShortName + "/" + context.testMethodName + ".xls"
        </arg>
    </initMethod>
    <initMethod name="addTestDataXlsPath">
        <arg>
            "data/" + context.testClassShortName + "/common.xls"
        </arg>
    </initMethod>
</component>

ちなみに現在のカバレッジは0.8%・・レガシーです\(^o^)/
目指せ1%!

eclipse起動エラーの対処法

以下のようなエラーが出た場合、clean起動すると解決するかも? (自分は解決した)

!SESSION 2013-09-01 01:55:17.098 -----------------------------------------------
eclipse.buildId=M20130204-1200
java.version=1.7.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=ja_JP
Framework arguments:  -product org.eclipse.epp.package.jee.product -keyring /Users/[ユーザ名]/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -keyring /Users/[ユーザ名]/.eclipse_keyring -showlocation

!ENTRY org.eclipse.osgi 4 0 2013-09-01 01:55:18.167
!MESSAGE 始動エラー
!STACK 1
java.lang.RuntimeException: バンドル org.eclipse.osgi の org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start() での例外。
    at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.resume(InternalSystemBundle.java:233)
    at org.eclipse.osgi.framework.internal.core.Framework.launch(Framework.java:657)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:274)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
Caused by: org.osgi.framework.BundleException: バンドル org.eclipse.osgi の org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start() での例外。
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
    at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.resume(InternalSystemBundle.java:225)
    ... 10 more
Caused by: java.lang.NoSuchMethodError: org.eclipse.osgi.internal.baseadaptor.BaseStorage$StateSaver.<init>(Lorg/eclipse/osgi/internal/baseadaptor/BaseStorage;)V
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.frameworkStart(BaseStorage.java:915)
    at org.eclipse.osgi.baseadaptor.BaseAdaptor.frameworkStart(BaseAdaptor.java:250)
    at org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start(SystemBundleActivator.java:60)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
    ... 12 more

clean起動

/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse -clean