WebSphere
®Studio
Device
Developer
J9
VM
Runtime
Guide
For
Red
Hat
Linux
8.0
Contents
Chapter
1.
Introduction
.
.
.
.
.
.
.
. 1
Aboutthisdocument . . . 1
AbouttheJ9runtimeenvironment . . . 1
Chapter
2.
Tasks
.
.
.
.
.
.
.
.
.
.
. 3
J9runtimesincluded. . . 3
Updatingthesoftware . . . 3
CustomizingtheJ9runtime . . . 3
Removeunusedruntimefiles. . . 3
DevelopmentFiles . . . 3
UnusedSOFiles . . . 3
Unnecessaryclasslibraries. . . 4
Chapter
3.
J9
command
options
.
.
.
. 5
Commonoptions. . . 5
Advancedoptions . . . 8
Appendix.
Additional
information
.
.
. 13
FurtherInformation . . . 13
Notices. . . 13
Chapter
1.
Introduction
About
this
document
Thisdocumentwillhelp youcustomizeyour environmenttorunaJ9 VM executable.Itwillalso provideassistanceonhow tocompleteruntimeimageand executethedesiredclasslibraryconfigurationonthetarget,usingtheRedHat Linuxoperatingsystem.
About
the
J9
runtime
environment
TheJ9 VM,thecoreofWorkplaceClient Technology,MicroEdition(WCTME),is IBM’simplementationoftheJavaVirtualMachineSpecification,Version1.3.AJava virtual machineexecutesmachine instructions,known asbytecodes,typically compiledfromJava languagesourcecode.FormoreontheJavaVirtualMachine Specification, seehttp://java.sun.com/docs/books/vmspec/.
TheJ9 VMandJavaClassLibraries(JCL)comprisetheJ9 runtimeenvironment.The J9 runtimeenvironmentisJava2Platform,MicroEdition(J2ME)compliantand contains ConnectedLimitedDeviceConfiguration(CLDC)and ConnectedDevice Configuration(CDC)basedtechnologies.Inaddition,theWebSphereEveryplace Custom Environment(WECE)isacombinationoftheJ9VMand IBMcustom libraries.
TheWEME productissupportedonavarietyof:
v Operatingsystems(includingMicrosoft®Windows,Linux,PalmOS,OSE,Rex, VxWorks,PocketPC,Symbian,QNXandNucleus)
v Hardwarearchitectures(includingIntelx86, xScale.ARM,MIPS,SH4,and PowerPC)
Workplace ClientTechnology,MicroEditionisacertifiedJavaPoweredproduct, developedunderanagreementbetweenIBMand SunMicrosystems.Deployment of applicationsordevices withWorkplaceClientTechnologyrequiresan
Chapter
2.
Tasks
Theinstructions providedinthissectionwillhelpa developercreateanddeploy a completeruntimeimageandexecutionenvironment-whichincludestheJ9 VMand desiredclass libraryconfiguration(s)-onthetarget.
J9
runtimes
included
InordertoexecutetheJ9VMonthetarget,oneoftheruntimesfora Windows target isrequired. ForRedHatLinuxtheruntimepackageisfound:
J2MEProfile Location
CDC/Foundation1.0 \opt\IBM\DeviceDeveloper\wsdd5.0\ive-2.2\runtimes\linux\x86\foundation10 CLDC1.1/MIDP2.0
\opt\IBM\DeviceDeveloper\wsdd5.0\ive-2.2\runtimes\linux\x86\midp20
PersonalProfile1.0 \opt\IBM\DeviceDeveloper\wsdd5.0\ive-2.2\runtimes\linux\x86\ppro10
Updating
the
software
Additional librariescanbeinstalledasfeatures,usingtheWebSphere® Studio
Device DeveloperUpdateManager.
Customizing
the
J9
runtime
TheJ9 runtimeisafeature-richVMthatcanbecustomized tofittheneedsofa specific application.Dependingonwhichruntimeisbeingused,allofthefiles mayormay notbe inthedirectory structure.
Before loadingtheruntimefilesontothetarget,someofthefilescanbestripped outfromtheruntimeimageinordertominimizeitssize.
Remove
unused
runtime
files
Not allofthefilesandsubdirectories arerequiredtoruntheJ9VM.Iftryingto minimizethesizeoftheruntime,manyofthefilesincludedinthis packagecanbe removed.
Development
Files
Thefirst componentsthatshouldnotbe loadedtothetargetdevices arethe followingsubdirectories,whichare usedfordevelopment purposesonly: v /exe
v /include v /lib
Unused
SO
Files
Asa generalrule,anycomponentfora sharedlibrary,orSOfile,thatisnotbeing usedcanberemovedfromthetargetimage.
For instance,ifdebugger andMicroAnalyzersupportarenolongerneededonthe target, thenthecorrespondingshared libraryfiles(forexample,j9dbg22.soand j9prf22.so)canbe removedfromtheruntimeimage.
Unnecessary
class
libraries
Another simplewaytoreducetheruntimeisclasslibrarynative files.The application likelyonlyusesoneclasslibraryata time;therefore,onlythespecific supportingnativeshared libraryfilesare neededonthetarget.
For instance,iftheapplicationusestheCLDC1.1library,onlythej9cldc11_22.so fileisrequiredonthetarget,amongalloftheJava™ClassLibrarynativefiles. Thisexampleruntimeallowsfortheexecutionofa verysimpleJavaapplication, theHanoisampleprogram,ona targetusingtheCLDC1.1classlibrary
configuration.
Note: TheHanoisampleprogramisincludedwiththeWebSphereStudio Device Developerworkbench. ExamplesareaccessedbyWebSphereStudio Device Developerplug-in.
The minimizedRedHat Linuxruntimeinitsentiretyconsistsofthefollowingfiles:
ivere122.soRelocatorandfileclassloaderfor.jxefiles.
j9cldc:MainJ9executablefortheJ2MECLDCJavaClassLibrary. j9cldc22.so:NativesforJ2MECLDCjcl.
j9dyn22.soDynamicclassloadingandhelperroutinesforSmartlinker. j9prt22.so:J9portlibrary.
j9thr22.so:Threadlibrarynative. j9vm22.dll:J9VMlibrary.
Ascanbe seen,removingunusedorunnecessaryfilesobviously minimizesthe size oftheruntime.Ofcourse,asfeaturesorcapabilitiesareadded,morelibraries must beaddedtothetarget tosupportthem.
Chapter
3.
J9
command
options
Common
options
Thefollowingtable containscommonJ9v2.2 commandlineoptions.
J9 - VM for the Java(TM) platform, Version 2.2
(c) Copyright IBM Corp. 1991, 2004 All Rights Reserved
Target: {Release date} (Windows XP 5.1 build 2600 Service Pack 1 x86) IBM is a registered trademark of IBM Corp.
Java and all Java-based marks and logos are trademarks or registered trademarks of Sun Microsystems, Inc.
Usage: j9 [options] classname [args...] Usage: j9 [options] -jxe:<jxeFile> [args...] [options]
-classpath <path>
-cp <path> set classpath to <path>. -jxe:<jxeFile> run the named jxe file.
-D<prop>=<val> set the value of a system property. -debug:<options> enable debug, JDWP standard <options>. -jcl:<config>[:options]
specify which JCL DLL to use (e.g. cdc, cldc, ...). -verbose[:class,gc,stack,sizes]
enable verbose output(default=class). -verify enable class file verification.
-X print help on non-standard options.
Refer tothefollowingtablefor amoredetaileddescriptionofeachofthese options:
Syntax Description
Syntax Description
-classpath ThiscommandoptionsetstheclasspathforthisinvocationofJ9. Thefinalvalueof-classpathisdeterminedby:
1. Ifthe-classpathoptionisindicated,itsvalueisused. 2. Otherwise,iftheCLASSPATHenvironmentvariableisset,its
valueisused.
3. Ifbothareunspecified,thevalue″.″isused. Iftheclasspathincludes:
v Morethanoneclasspathentry,youshouldseparatethemwith youroperatingsystem’spathseparators(forexample,on Windows,usesemicolons.)
v AJAR,ZIPorJXEfile,youshouldaddthefullnameofthefile totheclasspath.
v CLASSfiles,youshouldspecifythetop-leveldirectoryofthe CLASSfiletree.
Example:(on windows)-classpathc:\ive\lib\classes.zip; c:\myclasses;c:\myjars\foo.jar
CAUTION:
TheJ9classlibraries(classes.zip)andtheJ9VMarenot
compatiblewithothervendors’classlibraries.Itispossiblethat youmighthavemorethanoneruntimeenvironmentinstalled onyourhostcomputer.Youmustmakesurethatyoudonot mismatchtheselibrarieswhenspecifyingtheclasspath. -cp<path> Setclasspathto<path>
-jxe:<jxeFile> ThiscommandoptionreadsthespecifiedJXEfile,lookingforthe classesinthisfile.AllclassesfoundintheJXEareplacedonthe ″bootpath.″
Note: Whenusingthe-jxeoption,donotspecifythestartupclass. Example:-jxe:hello.jxe
Note: The-jxeoptionmustbethelastoptiononthecommand line.
-Dprop=<val> Thiscommandoptionsetsthevalueofasystemproperty. Forexample,-Dmy.property=some.valuesetsthevalueof my.propertytosome.value.-Dpropsetsthevaluetonull. Youcanusemultipleinstancesofthisoptionbyrepeatingthe optionstatementseparatedwithaspace.Example:
j9 -Dprop1=val1 -Dprop2=val2 -Dprop3=val3
Note: Spacingisimportantinthisoption’ssyntax.Thereisnever aspacebetweentheinitial-D,itspropertyargument,theequals sign,orthevalueargument.
Example:-Dname=″JohnSmith″
-debug:<options> Thiscommandenablesdebug,JavaDebugWireProtocol(JDWP) standard<options>
Syntax Description
-jcl:<config>[:options] ThiscommandoptionspecifieswhichJCLDLLtouse(whichJNI nativesareusedbytheclasslibraryJavacode.)
Ifyouusethe-jcl:optionwithoutindicatinga-Xbootclasspath: option,thenthevalueforthe-Xbootclasspath:optionisassumed (%JAVAHOME%/lib/jclLibraryName/classes.zip).However,ifthe classlibrariesarestoredinanon-defaultlocation,thenyoumust includethe-Xbootclasspath:optioninordertodirecttheVMtothe
classes.zipfile.
Note: Ifthe-Xbootclasspathandthe-jclVMoptionsare
mismatched,theVMwillgeneratean″incompatibleclass″error. Thepossiblelibraryargumentsare:
v -jcl:foun(jclFoundationclasslibrary) v -jcl:cdc(jclCdcclasslibrary)
v -jclPPro10(jclPPro10classlibrary) v -jcl:cldc10(jclCldc1.0classlibrary) v -jcl:cldc11(jclCldc1.1classlibrary) v -jcl:midp20(jclMidp2.0classlibrary) v -jcl:max(jclMaxclasslibrary) v -jcl:rm(jclRMclasslibrary)
Note: Notalltheseoptionsareavailableforallplatforms. -verbose[:class,gc,
stack,sizes]
Thiscommandoptionturnsoneofthefollowing:
v classdisplayseachfully-qualifiedclassnameasitisloaded (thatis,enableverboseclassloading).Thisisthedefaultvalue.
v gcdisplaysgarbagecollectioninformation. v stackdisplaysstackinformation.
v sizesdisplaysdefaultVMsizes.
-verify Thiscommandoptionenablesbytecodeverification.The-verify optionisonbydefault.Todisablebytecodeverificationspecify -noverify.
Advanced
options
The followingoptionsarenon-standard andsubjecttochangewithoutnotice:
-Xbootclasspath:<path> set bootstrap classpath to <path> -Xbootclasspath/p:<path> prepend <path> to bootstrap classpath -Xbootclasspath/a:<path> append <path> to bootstrap classpath
-Xrun<dll>[:options] Load helper libraries, such as those used with JVMPI -Xint run interpreted only (equivalent to -Xnojit -Xnoaot)
-Xnojit disable to JIT
-Xnoaot do not run precompiled code
-Xfuture enable strictest checks, anticipating future default Arguments to the following options are expressed in bytes.
Values suffixed with "k" (kilo) or "m" (mega) will be factored accordingly. -Xmca<x> set RAM class segment increment to <x>
-Xmco<x> set ROM class segment increment to <x> -Xmn<x> set initial/maximum new space size to <x> -Xmns<x> set initial new space size to <x>
-Xmnx<x> set maximum new space size to <x>
-Xmo<x> set initial/maximum old space size to <x> -Xmos<x> set initial old space size to <x>
-Xmox<x> set maximum old space size to <x> -Xmoi<x> set old space increment to <x> -Xms<x> set initial memory size to <x>
-Xmx<x> set memory maximum to <x> -Xmr<x> set remembered set size to <x>
-Xmrx<x> set maximum size of remembered set to <x> -Xmso<x> set OS thread stack size to <x>
-Xiss<x> set initial java thread stack size to <x> -Xss<x> set maximum java thread stack size to <x> -Xmine<x> set minimum size for heap expansion to <x> -Xmaxe<x> set maximum size for heap expansion to <x>
Arguments to the following options are expressed as a decimal from 0 to 1. A value of 0.3 represents a request of 30%
-Xminf<x> minimum percentage of heap free after GC -Xmaxf<x> maximum percentage of heap free after GC Arguments to the following options are expressed as decimal numbers. -Xgcthreads<x> set number of GC threads
-Xnoclassgc disable dynamic class unloading
-Xclassgc enable dynamic class unloading
-Xalwaysclassgc enable dynamic class unloading on every GC -Xnocompactexplicitgc disable compaction on a system GC
-Xcompactexplicitgc enable compaction on a system GC
-Xcompactgc enable compaction
-Xnocompactgc disable compaction
-Xlp enable large page support
-Xdbg:<options> enable debug, JDWP standard options -Xrunjdwp:<options> enable debug, JDWP standard options -Xdbginfo:<symbol file path> enable debug info server
-Xrdbginfo:<host><port> enable remote debug info server
Refer tothefollowingtablesforamore detaileddescriptionofeachofthese options:
Syntax Description
-Xbootclasspath:<path> Thiscommandoptionsetsthebootstrapclasspathto<path>. Note: Whenusingthiscommandlineoption,the
-jcl:LibraryNameoptionmustbeusedtoindicatewhichclass librarynativestheapplicationshoulduse:
-Xbootclasspath:c:\ive\lib\jclCldc\classes.zip
Ifyouusethe-jcl:optionwithoutindicatinga-Xbootclasspath:
option,thenthevaluefortheXbootclasspath:optionis assumed(%JAVAHOME%/lib/jclLibraryName/classes.zip). However,iftheclasslibrariesarestoredinanon-default location,thenyoumustincludethe-Xbootclasspath:optionin ordertodirecttheVMtotheclasses.zipfile.
-Xbootclasspath/p:<path> Thiscommandoptionprepends<path>tothebootstrap classpath.
Note: Thisoptionisusefulforapplyingtemporaryfixes and/oraddingtothebootstrapclasspath.
-Xbootclasspath/a:<path> Thiscommandoptionappends<path>tothebootstrap classpath.
Note: Thisoptionisusefulforapplyingtemporaryfixes and/oraddingtothebootstrapclasspath.
-Xrun<dll>[:options] ThiscommandoptionstartsJVMPIprofiling. -Xint Thiscommandoptionrunsinterpretedonly.
Note: Thisisequivalentto-Xnojit-Xnoaot.
-Xnojit ThiscommandoptiondisablestheJIT.
-Xnaot Thiscommandoptionpreventsrunningtheprecompiled code.
-Xgcpolicy:optthruput Thiscommandoptionsetsnoscavengerandnoconcurrent mark.Thisisthedefault.
-Xgcpolicy:optavgpause Thiscommandoptionsetsscavengerandconcurrentmark. -Xfuture Thiscommandoptionenablesthestrictestchecks,
anticipatingafuturedefault.
Syntax Description
-Xmca<x> ThiscommandlineoptionsetstheRAMclasssegment incrementto<x>.
-Xmco<x> ThiscommandlineoptionsetstheROMclasssegment incrementto<x>.
-Xmn<x> Thiscommandlineoptionsetstheinitial/maximumold spacesizeto<x>.
Note: ThissetsthesizeoftheNewSpaceandSurvivorSpace.
Thiscommandisonlyrelevantif-Xgcpolicy:optavgpauseis set.
-Xmns<x> Thiscommandlineoptionsetstheinitialspacesizeto<x>. -Xmnx<x> Thiscommandlineoptionsetsthemaximumnewspacesize
to<x>.
-Xmo<x> Thiscommandlineoptionsetstheinitial/maximumold spacesizeto<x>.
-Xmos<x> Thiscommandlineoptionsetstheinitialoldspacesizeto <x>.
Syntax Description
-Xmox<x> Thiscommandlineoptionsetsthemaximumoldspacesize to<x>.
-Xmjit<x> ThiscommandlineoptionenablesthemicroJIT. Note: ThemicroJITisnotenabledbydefault.Youmust explicitlyenablethemicroJITonplatformsthatsupportit orJ9willrunininterpretedmodeonly.
-Xmoi<x> Thiscommandlineoptionsetstheoldspaceincrementto <x>.
-Xms<x> Thiscommandlineoptionsetstheinitialmemorysizeto <x>.
Note: Thisoptionisthesameas-Xmo<x>.
-Xmx<x> Memorymaximum(Xmx>=Xms)
scavengerenabled:minimumsize1024byteson32bit architectures,2048byteson64bitarchitectures scavengerdisabled:minimumsize512byteson32bit architectures,1024byteson64bitarchitectures
-Xmr<x> Thiscommandlineoptionsetstherememberedsetsizeto <x>.
-Xmrx<x> Thiscommandlineoptionsetsthemaximumsizeof rememberedsetto<x>.
-Xmso<x> ThiscommandlineoptionsetstheOSthreadstacksizeto <x>.
-Xiss<x> ThiscommandlineoptionsetstheinitialJavathreadstack sizeto<x>.
-Xss<x> ThiscommandlineoptionsetsthemaximumJavathreadto <x>.
-Xmine<x> Thiscommandlineoptionsetstheminimumsizeforheap expansionto<x>.
-Xmaxe<x> Thiscommandlineoptionsetsthemaximumsizeforheap expansionto<x>.
-Xmdx<x> Thiscommandlineoptionsetsthedefaultmemoryspace maximumsize.Xmdx<=Xmx.
Note: Thisisignoredif-Xresmanisnotentered. -Xresman<x> Thiscommandlineoptionenablesresourcemanaged
support.
Syntax Description
-Xminf<x> Thiscommandlineoptionsetstheminimumpercentage ofheapfreeafterGC.
-Xmaxf<x> Thiscommandlineoptionsetsthemaximumpercentage ofheapfreeafterGC.
Syntax Description
-Xclassgc<x> Thiscommandlineoptionenablesdynamicclass unloading
-Xalwaysclassgc<x> Thiscommandlineoptionenablesdynamicclass unloading
-Xnocompactexplicitgc<x> Thiscommandlineoptionwilldisablecompactionona systemGC.
-Xcompactexplicitgc<x> Thiscommandlineoptionwillenablecompactionon everysystemGC.
-Xcompactgc<x> Thiscommandlineoptionwillenablecompaction. -Xnocompactgc<x> Thiscommandlineoptionwilldisablecompaction. -Xlp Thiscommandlineoptionwillenablelargepage
support.
Syntax Description
-Xdbg:<options> ThiscommandlineoptionenablesstandardJavaDebug WireProtocol(JDWP)debugoptions.
-Xrunjdwp:<options> ThiscommandlineoptionenablesstandardJDWP debugoptions.
Note: StartaJDWPserver.Formoreinformationonthe JDWPoptions,seetheConnectionandInvocationDetails
website.
-Xdbginfo:<symbolfilepath> Thiscommandlineoptionenablesthedebuginfo server.
-Xrdbginfo:<host>:<port> Thiscommandlineoptionenablestheremotedebug infoserver.
Appendix.
Additional
information
Further
Information
Ifyouneedmoreinformationorhavequestionsaboutourproduct: IntheUnitedStatesandCanada,call1-800-IBM-CALL(1-800-426-2255) Inall othercountries,youcansubmityourquestions onthewebat: http://www.ibm.com/software/pervasive/support/questions.shtml
Youmight findhelpfulinformationat thefollowingwebsitesornewsgroup: v http://www.ibm.com/software/wireless/wme/
v http://www.ibm.com/software/wireless/wce/ v http://www.ibm.com/embedded
v newsgroup:ibm.software.websphere.studio.device-developer
Notices
Thisinformationwasdevelopedforproductsandservices offeredintheU.S.A. IBM®might notoffertheproducts,services,orfeaturesdiscussedinthisdocument inothercountries.Consultyour localIBMrepresentativeforinformationonthe productsand servicescurrentlyavailableinyourarea.Anyreferencetoan IBM product, program,orserviceisnotintendedtostateorimplythatonlythatIBM product, program,orservicemaybe used.Anyfunctionallyequivalentproduct, program, orservicethatdoesnotinfringeanyIBMintellectualpropertyrightmay be usedinstead.However, itistheuser’sresponsibility toevaluateandverifythe operationofanynon-IBMproduct,program, orservice.
IBM mighthavepatentsor pendingpatentapplicationscoveringsubjectmatterin this document.Thefurnishing ofthisdocumentdoesnotgiveyouanylicenseto these patents.Youcansend licenseinquiries, inwriting,to:
IBM DirectorofLicensing IBM Corporation
North CastleDrive Armonk,NY10504-1785 U.S.A.
For licenseinquiriesregardingdouble-byte(DBCS)information,contacttheIBM IntellectualProperty Departmentinyourcountryorsendinquiries,in writing,to: IBM WorldTradeAsiaCorporationLicensing
2-31 Roppongi3-chome,Minato-ku Tokyo106,Japan
Thefollowingparagraphdoesnotapplyto theUnited Kingdomor anyother country wheresuchprovisionsareinconsistentwithlocallaw:
INTERNATIONAL BUSINESSMACHINES CORPORATIONPROVIDESTHIS PUBLICATION“ASIS” WITHOUTWARRANTYOFANYKIND,EITHER EXPRESSORIMPLIED,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIED WARRANTIESOFNON-INFRINGEMENT,MERCHANTABILITYORFITNESS
FORAPARTICULARPURPOSE.Some statesdonotallowdisclaimerof express or impliedwarrantiesincertaintransactions,therefore,thisstatementmaynot apply toyou.
Thisinformationcouldinclude technicalinaccuraciesortypographicalerrors. Changes areperiodicallymadetotheinformationherein;thesechangeswillbe incorporatedinneweditions oftheinformation.IBMmaymake improvements and/or changesintheproduct(s)and/ortheprogram(s)describedinthis informationat anytimewithoutnotice.
Anyreferencesinthisinformationtonon-IBMWebsitesareprovidedfor
convenienceonlyanddo notinanymannerserveasanendorsementofthoseWeb sites.Thematerials atthoseWebsitesare notpart ofthematerials forthisIBM productanduseofthoseWebsitesisatyour ownrisk.
IBM mayuseordistribute anyoftheinformationyousupplyinanywayit believes appropriatewithoutincurringanyobligationtoyou.
Licensees ofthisprogramwhowishtohaveinformationaboutit forthepurpose of enabling:(i)theexchangeofinformationbetweenindependentlycreated programs andotherprograms(includingthis one)and(ii)themutualuseofthe informationwhichhasbeenexchanged,shouldcontact:
IBM Corporation DepartmentLZKS 11400BurnetRoad Austin,TX78758 U.S.A.
Such informationmaybeavailable,subjecttoappropriatetermsandconditions, includinginsomecases,paymentof afee.
The licensedprogramdescribedinthis documentandalllicensedmaterial
available foritareprovidedbyIBMundertermsoftheIBMCustomerAgreement, IBM InternationalProgramLicenseAgreement,oranyequivalentagreement betweenus.
Anyperformancedatacontained hereinwas determinedinacontrolled
environment.Therefore,theresultsobtained inotheroperatingenvironmentsmay vary significantly.Somemeasurementsmayhavebeenmadeondevelopment-level systemsandthereisnoguaranteethatthesemeasurementswillbethesameon generallyavailable systems.Furthermore,somemeasurementmayhavebeen estimatedthrough extrapolation.Actualresultsmayvary.Usersof thisdocument shouldverifytheapplicabledatafortheirspecific environment.
Informationconcerningnon-IBMproductswasobtained fromthesuppliers of those products,theirpublished announcementsorotherpubliclyavailablesources. IBM hasnottestedthoseproductsandcannotconfirmtheaccuracy of
performance, compatibilityoranyotherclaims relatedtonon-IBMproducts. Questionsonthecapabilitiesofnon-IBMproductsshouldbe addressedtothe suppliers ofthoseproducts.
Thisinformationisforplanningpurposesonly.Theinformationhereinissubjectto changebefore theproductsdescribed becomeavailable.
Thisinformationcontainsexamples ofdataandreportsusedindailybusiness operations.Toillustratethemascompletelyaspossible,theexamples includethe namesofindividuals, companies,brands,and products.Allofthesenamesare fictitiousand anysimilaritytothenamesand addressesusedbyanactualbusiness enterpriseisentirelycoincidental.
COPYRIGHT LICENSE:
Thisinformationcontainssampleapplicationprogramsinsourcelanguage,which illustrates programmingtechniquesonvariousoperatingplatforms.Youmaycopy, modify, anddistributethese sampleprogramsinanyformwithoutpaymentto IBM,for thepurposesofdeveloping,using,marketing ordistributingapplication programs conformingtotheapplication programminginterface fortheoperating platformforwhichthesampleprogramsarewritten.
Theseexampleshavenotbeenthoroughly testedunderallconditions. Nowarranty
SUBJECTTOANYSTATUTORY WARRANTIESWHICHCANNOTBE EXCLUDED,IBMMAKESNOWARRANTIESORCONDITIONSEITHER EXPRESSORIMPLIED,INCLUDING WITHOUTLIMITATION,THE
WARRANTYOFNON-INFRINGEMENTANDTHEIMPLIEDWARRANTIES OFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSE, REGARDING THEPROGRAMOR TECHNICALSUPPORT,IFANY.IBM MAKESNOWARRANTYREGARDINGTHECAPABILITYOFTHE
PROGRAM TOCORRECTLYPROCESS,PROVIDE AND/ORRECEIVEDATE DATAWITHINANDBETWEENTHE20THAND21STCENTURIES.The exclusionalsoappliestoanyof IBM’ssubcontractors, suppliers,orprogram developers(collectivelycalled“Suppliers”).
Limitation ofLiability
NEITHERIBMNORITSSUPPLIERSWILLBELIABLEFORANYDIRECTOR INDIRECT DAMAGES,INCLUDINGWITHOUTLIMITATION,LOST
PROFITS, LOSTSAVINGS,ORANYINCIDENTAL,SPECIAL,OROTHER ECONOMICCONSEQUENTIALDAMAGES, EVENIFIBMISINFORMEDOF THEIR POSSIBILITY.SOMEJURISDICTIONS DONOTALLOW THE
EXCLUSIONORLIMITATION OFINCIDENTAL ORCONSEQUENTIAL DAMAGES, SOTHEABOVEEXCLUSIONOR LIMITATIONMAYNOTAPPLY TO YOU.
Youmaycopy,modify, anddistributethese sampleprogramsinanyformwithout paymenttoIBM forthepurposesofdeveloping,using,marketing, ordistributing application programsconformingtoIBM’sapplicationprogramming interfaces. Eachcopy oranyportionofthese sampleprogramsoranyderivativework,must include acopyright noticeasfollows:
© (yourcompanyname)(year).Portionsofthis codearederivedfromIBM Corp. SamplePrograms.© CopyrightIBMCorp. 2002All rightsreserved.
Ifyouareviewingthisinformationsoftcopy,thephotographsand color illustrations maynotappear.
Trademarks
The followingtermsaretrademarksorregisteredtrademarksofInternational Business MachinesCorporation intheUnitedStates,orothercountries,orboth: Other company,productorservicenamesmaybetrademarksorservicemarks of others.