%!PS-Adobe-3.0 %%BoundingBox: (atend) %%Pages: (atend) %%PageOrder: (atend) %%DocumentFonts: (atend) %%Creator: Frame 5.0 %%DocumentData: Clean7Bit %%EndComments %%BeginProlog % % Frame ps_prolog 5.0, for use with Frame 5.0 products % This ps_prolog file is Copyright (c) 1986-1995 Frame Technology % Corporation. All rights reserved. This ps_prolog file may be % freely copied and distributed in conjunction with documents created % using FrameMaker, FrameMaker/SGML and FrameViewer as long as this % copyright notice is preserved. % % FrameMaker users specify the proper paper size for each print job in the % "Print" dialog's "Printer Paper Size" "Width" and "Height~ fields. If the % printer that the PS file is sent to does not support the requested paper % size, or if there is no paper tray of the proper size currently installed, % then the job will not be printed. The following flag, if set to true, will % cause the job to print on the default paper in such cases. /FMAllowPaperSizeMismatch false def % % Frame products normally print colors as their true color on a color printer % or as shades of gray, based on luminance, on a black-and white printer. The % following flag, if set to true, forces all non-white colors to print as pure % black. This has no effect on bitmap images. /FMPrintAllColorsAsBlack false def % % Frame products can either set their own line screens or use a printer's % default settings. Three flags below control this separately for no % separations, spot separations and process separations. If a flag % is true, then the default printer settings will not be changed. If it is % false, Frame products will use their own settings from a table based on % the printer's resolution. /FMUseDefaultNoSeparationScreen true def /FMUseDefaultSpotSeparationScreen true def /FMUseDefaultProcessSeparationScreen false def % % For any given PostScript printer resolution, Frame products have two sets of % screen angles and frequencies for printing process separations, which are % recomended by Adobe. The following variable chooses the higher frequencies % when set to true or the lower frequencies when set to false. This is only % effective if the appropriate FMUseDefault...SeparationScreen flag is false. /FMUseHighFrequencyScreens true def % % The following is a set of predefined optimal frequencies and angles for various % common dpi settings. This is taken from "Advances in Color Separation Using % PostScript Software Technology," from Adobe Systems (3/13/89 P.N. LPS 0043) % and corrolated with information which is in various PPD (4.0) files. % % The "dpiranges" figure is the minimum dots per inch device resolution which % can support this setting. The "low" and "high" values are controlled by the % setting of the FMUseHighFrequencyScreens flag above. The "TDot" flags control % the use of the "Yellow Triple Dot" feature whereby the frequency id divided by % three, but the dot function is "trippled" giving a block of 3x3 dots per cell. % % PatFreq is a compromise pattern frequency for ps Level 2 printers which is close % to the ideal WYSIWYG pattern frequency of 9 repetitions/inch but does not beat % (too badly) against the screen frequencies of any separations for that DPI. /dpiranges [ 2540 2400 1693 1270 1200 635 600 0 ] def /CMLowFreqs [ 100.402 94.8683 89.2289 100.402 94.8683 66.9349 63.2456 47.4342 ] def /YLowFreqs [ 95.25 90.0 84.65 95.25 90.0 70.5556 66.6667 50.0 ] def /KLowFreqs [ 89.8026 84.8528 79.8088 89.8026 84.8528 74.8355 70.7107 53.033 ] def /CLowAngles [ 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 ] def /MLowAngles [ 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 ] def /YLowTDot [ true true false true true false false false ] def /CMHighFreqs [ 133.87 126.491 133.843 108.503 102.523 100.402 94.8683 63.2456 ] def /YHighFreqs [ 127.0 120.0 126.975 115.455 109.091 95.25 90.0 60.0 ] def /KHighFreqs [ 119.737 113.137 119.713 128.289 121.218 89.8026 84.8528 63.6395 ] def /CHighAngles [ 71.5651 71.5651 71.5651 70.0169 70.0169 71.5651 71.5651 71.5651 ] def /MHighAngles [ 18.4349 18.4349 18.4349 19.9831 19.9831 18.4349 18.4349 18.4349 ] def /YHighTDot [ false false true false false true true false ] def /PatFreq [ 10.5833 10.0 9.4055 10.5833 10.0 10.5833 10.0 9.375 ] def % % PostScript Level 2 printers contain an "Accurate Screens" feature which can % improve process separation rendering at the expense of compute time. This % flag is ignored by PostScript Level 1 printers. /FMUseAcccurateScreens true def % % The following PostScript procedure defines the spot function that Frame % products will use for process separations. You may un-comment-out one of % the alternative functions below, or use your own. % % Dot function /FMSpotFunction {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 sub } {dup mul exch dup mul add 1 exch sub }ifelse } def % % Line function % /FMSpotFunction { pop } def % % Elipse function % /FMSpotFunction { dup 5 mul 8 div mul exch dup mul exch add % sqrt 1 exch sub } def % % /FMversion (5.0) def /fMLevel1 /languagelevel where {pop languagelevel} {1} ifelse 2 lt def /FMPColor fMLevel1 { false /colorimage where {pop pop true} if } { true } ifelse def /FrameDict 400 dict def systemdict /errordict known not {/errordict 10 dict def errordict /rangecheck {stop} put} if % The readline in PS 23.0 doesn't recognize cr's as nl's on AppleTalk FrameDict /tmprangecheck errordict /rangecheck get put errordict /rangecheck {FrameDict /bug true put} put FrameDict /bug false put mark % Some PS machines read past the CR, so keep the following 3 lines together! currentfile 5 string readline 00 0000000000 cleartomark errordict /rangecheck FrameDict /tmprangecheck get put FrameDict /bug get { /readline { /gstring exch def /gfile exch def /gindex 0 def { gfile read pop dup 10 eq {exit} if dup 13 eq {exit} if gstring exch gindex exch put /gindex gindex 1 add def } loop pop gstring 0 gindex getinterval true } bind def } if /FMshowpage /showpage load def /FMquit /quit load def /FMFAILURE { dup = flush FMshowpage /Helvetica findfont 12 scalefont setfont 72 200 moveto show 72 220 moveto show FMshowpage FMquit } def /FMVERSION { FMversion ne { (Frame product version does not match ps_prolog! Check installation;) (also check ~/fminit and ./fminit for old versions) FMFAILURE } if } def /FMBADEPSF { (Adobe's PostScript Language Reference Manual, 2nd Edition, section H.2.4) (says your EPS file is not valid, as it calls X ) dup dup (X) search pop exch pop exch pop length 5 -1 roll putinterval FMFAILURE } def /fmConcatProcs { /proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx }def FrameDict begin [ /ALDsave /FMdicttop /FMoptop /FMpointsize /FMsaveobject /b /bitmapsave /blut /bpside /bs /bstring /bwidth /c /cf /cs /cynu /depth /edown /fh /fillvals /fw /fx /fy /g /gfile /gindex /grnt /gryt /gstring /height /hh /i /im /indx /is /k /kk /landscape /lb /len /llx /lly /m /magu /manualfeed /n /offbits /onbits /organgle /orgbangle /orgbfreq /orgbproc /orgbxfer /orgfreq /orggangle /orggfreq /orggproc /orggxfer /orgmatrix /orgproc /orgrangle /orgrfreq /orgrproc /orgrxfer /orgxfer /pagesave /paperheight /papersizedict /paperwidth /pos /pwid /r /rad /redt /sl /str /tran /u /urx /ury /val /width /width /ws /ww /x /x1 /x2 /xindex /xpoint /xscale /xx /y /y1 /y2 /yelu /yindex /ypoint /yscale /yy ] { 0 def } forall /FmBD {bind def} bind def systemdict /pdfmark known { /fMAcrobat true def /FmPD /pdfmark load def /FmPT /show load def currentdistillerparams /CoreDistVersion get 2000 ge { /FmPD2 /pdfmark load def /FmPA { mark exch /Dest exch 5 3 roll /View [ /XYZ null 6 -2 roll FmDC exch pop null] /DEST FmPD }FmBD } { /FmPD2 /cleartomark load def /FmPA {pop pop pop}FmBD } ifelse } { /fMAcrobat false def /FmPD /cleartomark load def /FmPD2 /cleartomark load def /FmPT /pop load def /FmPA {pop pop pop}FmBD } ifelse /FmDC { transform fMDefaultMatrix itransform cvi exch cvi exch }FmBD /FmBx { dup 3 index lt {3 1 roll exch} if 1 index 4 index lt {4 -1 roll 3 1 roll exch 4 1 roll} if }FmBD /FMnone 0 def /FMcyan 1 def /FMmagenta 2 def /FMyellow 3 def /FMblack 4 def /FMcustom 5 def /fMNegative false def /FrameSepIs FMnone def /FrameSepBlack 0 def /FrameSepYellow 0 def /FrameSepMagenta 0 def /FrameSepCyan 0 def /FrameSepRed 1 def /FrameSepGreen 1 def /FrameSepBlue 1 def /FrameCurGray 1 def /FrameCurPat null def /FrameCurColors [ 0 0 0 1 0 0 0 ] def /FrameColorEpsilon .001 def /eqepsilon { sub dup 0 lt {neg} if FrameColorEpsilon le } bind def /FrameCmpColorsCMYK { 2 copy 0 get exch 0 get eqepsilon { 2 copy 1 get exch 1 get eqepsilon { 2 copy 2 get exch 2 get eqepsilon { 3 get exch 3 get eqepsilon } {pop pop false} ifelse }{pop pop false} ifelse } {pop pop false} ifelse } bind def /FrameCmpColorsRGB { 2 copy 4 get exch 0 get eqepsilon { 2 copy 5 get exch 1 get eqepsilon { 6 get exch 2 get eqepsilon }{pop pop false} ifelse } {pop pop false} ifelse } bind def /RGBtoCMYK { 1 exch sub 3 1 roll 1 exch sub 3 1 roll 1 exch sub 3 1 roll 3 copy 2 copy le { pop } { exch pop } ifelse 2 copy le { pop } { exch pop } ifelse dup dup dup 6 1 roll 4 1 roll 7 1 roll sub 6 1 roll sub 5 1 roll sub 4 1 roll } bind def /CMYKtoRGB { dup dup 4 -1 roll add 5 1 roll 3 -1 roll add 4 1 roll add 1 exch sub dup 0 lt {pop 0} if 3 1 roll 1 exch sub dup 0 lt {pop 0} if exch 1 exch sub dup 0 lt {pop 0} if exch } bind def /FrameSepInit { 1.0 RealSetgray } bind def /FrameSetSepColor { /FrameSepBlue exch def /FrameSepGreen exch def /FrameSepRed exch def /FrameSepBlack exch def /FrameSepYellow exch def /FrameSepMagenta exch def /FrameSepCyan exch def /FrameSepIs FMcustom def setCurrentScreen } bind def /FrameSetCyan { /FrameSepBlue 1.0 def /FrameSepGreen 1.0 def /FrameSepRed 0.0 def /FrameSepBlack 0.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 1.0 def /FrameSepIs FMcyan def setCurrentScreen } bind def /FrameSetMagenta { /FrameSepBlue 1.0 def /FrameSepGreen 0.0 def /FrameSepRed 1.0 def /FrameSepBlack 0.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 1.0 def /FrameSepCyan 0.0 def /FrameSepIs FMmagenta def setCurrentScreen } bind def /FrameSetYellow { /FrameSepBlue 0.0 def /FrameSepGreen 1.0 def /FrameSepRed 1.0 def /FrameSepBlack 0.0 def /FrameSepYellow 1.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 0.0 def /FrameSepIs FMyellow def setCurrentScreen } bind def /FrameSetBlack { /FrameSepBlue 0.0 def /FrameSepGreen 0.0 def /FrameSepRed 0.0 def /FrameSepBlack 1.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 0.0 def /FrameSepIs FMblack def setCurrentScreen } bind def /FrameNoSep { /FrameSepIs FMnone def setCurrentScreen } bind def /FrameSetSepColors { FrameDict begin [ exch 1 add 1 roll ] /FrameSepColors exch def end } bind def /FrameColorInSepListCMYK { FrameSepColors { exch dup 3 -1 roll FrameCmpColorsCMYK { pop true exit } if } forall dup true ne {pop false} if } bind def /FrameColorInSepListRGB { FrameSepColors { exch dup 3 -1 roll FrameCmpColorsRGB { pop true exit } if } forall dup true ne {pop false} if } bind def /RealSetgray /setgray load def /RealSetrgbcolor /setrgbcolor load def /RealSethsbcolor /sethsbcolor load def end /setgray { FrameDict begin FrameSepIs FMnone eq { RealSetgray } { FrameSepIs FMblack eq { RealSetgray } { FrameSepIs FMcustom eq FrameSepRed 0 eq and FrameSepGreen 0 eq and FrameSepBlue 0 eq and { RealSetgray } { 1 RealSetgray pop } ifelse } ifelse } ifelse end } bind def /setrgbcolor { FrameDict begin FrameSepIs FMnone eq { RealSetrgbcolor } { 3 copy [ 4 1 roll ] FrameColorInSepListRGB { FrameSepBlue eq exch FrameSepGreen eq and exch FrameSepRed eq and { 0 } { 1 } ifelse } { FMPColor { RealSetrgbcolor currentcmykcolor } { RGBtoCMYK } ifelse FrameSepIs FMblack eq {1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse RealSetgray } ifelse end } bind def /sethsbcolor { FrameDict begin FrameSepIs FMnone eq { RealSethsbcolor } { RealSethsbcolor currentrgbcolor setrgbcolor } ifelse end } bind def FrameDict begin /setcmykcolor where { pop /RealSetcmykcolor /setcmykcolor load def } { /RealSetcmykcolor { 4 1 roll 3 { 3 index add 0 max 1 min 1 exch sub 3 1 roll} repeat RealSetrgbcolor pop } bind def } ifelse userdict /setcmykcolor { FrameDict begin FrameSepIs FMnone eq { RealSetcmykcolor } { 4 copy [ 5 1 roll ] FrameColorInSepListCMYK { FrameSepBlack eq exch FrameSepYellow eq and exch FrameSepMagenta eq and exch FrameSepCyan eq and { 0 } { 1 } ifelse } { FrameSepIs FMblack eq {1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse RealSetgray } ifelse end } bind put fMLevel1 { /patScreenDict 7 dict dup begin <0f1e3c78f0e1c387> [ 45 { pop } {exch pop} .5 2 sqrt] FmBD <0f87c3e1f0783c1e> [ 135 { pop } {exch pop} .5 2 sqrt] FmBD [ 0 { pop } dup .5 2 ] FmBD [ 90 { pop } dup .5 2 ] FmBD <8142241818244281> [ 45 { 2 copy lt {exch} if pop} dup .75 2 sqrt] FmBD <03060c183060c081> [ 45 { pop } {exch pop} .875 2 sqrt] FmBD <8040201008040201> [ 135 { pop } {exch pop} .875 2 sqrt] FmBD end def } { /patProcDict 5 dict dup begin <0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke 4 -4 moveto 12 4 lineto stroke -4 4 moveto 4 12 lineto stroke} bind def <0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke -4 4 moveto 4 -4 lineto stroke 4 12 moveto 12 4 lineto stroke} bind def <8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke -1 -1 moveto 9 9 lineto stroke } bind def <03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke 4 -4 moveto 12 4 lineto stroke -4 4 moveto 4 12 lineto stroke} bind def <8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke -4 4 moveto 4 -4 lineto stroke 4 12 moveto 12 4 lineto stroke} bind def end def /patDict 15 dict dup begin /PatternType 1 def /PaintType 2 def /TilingType 3 def /BBox [ 0 0 8 8 ] def /XStep 8 def /YStep 8 def /PaintProc { begin patProcDict bstring known { patProcDict bstring get exec } { 8 8 true [1 0 0 -1 0 8] bstring imagemask } ifelse end } bind def end def } ifelse /combineColor { FrameSepIs FMnone eq { graymode fMLevel1 or not { [/Pattern [/DeviceCMYK]] setcolorspace FrameCurColors 0 4 getinterval aload pop FrameCurPat setcolor } { FrameCurColors 3 get 1.0 ge { FrameCurGray RealSetgray } { fMAcrobat not FMPColor graymode and and { 0 1 3 { FrameCurColors exch get 1 FrameCurGray sub mul } for RealSetcmykcolor } { 4 1 6 { FrameCurColors exch get graymode { 1 exch sub 1 FrameCurGray sub mul 1 exch sub } { 1.0 lt {FrameCurGray} {1} ifelse } ifelse } for RealSetrgbcolor } ifelse } ifelse } ifelse } { FrameCurColors 0 4 getinterval aload FrameColorInSepListCMYK { FrameSepBlack eq exch FrameSepYellow eq and exch FrameSepMagenta eq and exch FrameSepCyan eq and FrameSepIs FMcustom eq and { FrameCurGray } { 1 } ifelse } { FrameSepIs FMblack eq {FrameCurGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop FrameCurGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse graymode fMLevel1 or not { [/Pattern [/DeviceGray]] setcolorspace FrameCurPat setcolor } { graymode not fMLevel1 and { dup 1 lt {pop FrameCurGray} if } if RealSetgray } ifelse } ifelse } bind def /savematrix { orgmatrix currentmatrix pop } bind def /restorematrix { orgmatrix setmatrix } bind def /fMDefaultMatrix matrix defaultmatrix def /fMatrix2 matrix def /dpi 72 0 fMDefaultMatrix dtransform dup mul exch dup mul add sqrt def /freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def /sangle 1 0 fMDefaultMatrix dtransform exch atan def sangle fMatrix2 rotate fMDefaultMatrix fMatrix2 concatmatrix dup 0 get /sflipx exch def 3 get /sflipy exch def /screenIndex { 0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for } bind def /getCyanScreen { FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load } bind def /getMagentaScreen { FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load } bind def /getYellowScreen { FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse screenIndex dup 3 1 roll get 3 1 roll get { 3 div {2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat FMSpotFunction } } {/FMSpotFunction load } ifelse 0.0 exch } bind def /getBlackScreen { FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse screenIndex get 45.0 /FMSpotFunction load } bind def /getSpotScreen { getBlackScreen } bind def /getCompositeScreen { getBlackScreen } bind def /FMSetScreen fMLevel1 { /setscreen load }{ { 8 dict begin /HalftoneType 1 def /SpotFunction exch def /Angle exch def /Frequency exch def /AccurateScreens FMUseAcccurateScreens def currentdict end sethalftone } bind } ifelse def /setDefaultScreen { FMPColor { orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer } { orgxfer cvx settransfer } ifelse orgfreq organgle orgproc cvx setscreen } bind def /setCurrentScreen { FrameSepIs FMnone eq { FMUseDefaultNoSeparationScreen { setDefaultScreen } { getCompositeScreen FMSetScreen } ifelse } { FrameSepIs FMcustom eq { FMUseDefaultSpotSeparationScreen { setDefaultScreen } { getSpotScreen FMSetScreen } ifelse } { FMUseDefaultProcessSeparationScreen { setDefaultScreen } { FrameSepIs FMcyan eq { getCyanScreen FMSetScreen } { FrameSepIs FMmagenta eq { getMagentaScreen FMSetScreen } { FrameSepIs FMyellow eq { getYellowScreen FMSetScreen } { getBlackScreen FMSetScreen } ifelse } ifelse } ifelse } ifelse } ifelse } ifelse } bind def end /FMDOCUMENT { array /FMfonts exch def /#copies exch def FrameDict begin 0 ne /manualfeed exch def /paperheight exch def /paperwidth exch def 0 ne /fMNegative exch def 0 ne /edown exch def /yscale exch def /xscale exch def fMLevel1 { manualfeed {setmanualfeed} if /FMdicttop countdictstack 1 add def /FMoptop count def setpapername manualfeed {true} {papersize} ifelse {manualpapersize} {false} ifelse {desperatepapersize} {false} ifelse {papersizefailure} if count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for } {2 dict dup /PageSize [paperwidth paperheight] put manualfeed {dup /ManualFeed manualfeed put} if {setpagedevice} stopped {papersizefailure} if } ifelse FMPColor { currentcolorscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def cvlit /orgbproc exch def /orgbangle exch def /orgbfreq exch def cvlit /orggproc exch def /orggangle exch def /orggfreq exch def cvlit /orgrproc exch def /orgrangle exch def /orgrfreq exch def currentcolortransfer fMNegative { 1 1 4 { pop { 1 exch sub } fmConcatProcs 4 1 roll } for 4 copy setcolortransfer } if cvlit /orgxfer exch def cvlit /orgbxfer exch def cvlit /orggxfer exch def cvlit /orgrxfer exch def } { currentscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def currenttransfer fMNegative { { 1 exch sub } fmConcatProcs dup settransfer } if cvlit /orgxfer exch def } ifelse end } def /FMBEGINPAGE { FrameDict begin /pagesave save def 3.86 setmiterlimit /landscape exch 0 ne def landscape { 90 rotate 0 exch dup /pwid exch def neg translate pop }{ pop /pwid exch def } ifelse edown { [-1 0 0 1 pwid 0] concat } if 0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto 0 paperheight lineto 0 0 lineto 1 setgray fill xscale yscale scale /orgmatrix matrix def gsave } def /FMENDPAGE { grestore pagesave restore end showpage } def /FMFONTDEFINE { FrameDict begin findfont ReEncode 1 index exch definefont FMfonts 3 1 roll put end } def /FMFILLS { FrameDict begin dup array /fillvals exch def dict /patCache exch def end } def /FMFILL { FrameDict begin fillvals 3 1 roll put end } def /FMNORMALIZEGRAPHICS { newpath 1 setlinewidth 0 setlinecap 0 0 0 sethsbcolor 0 setgray } bind def /FMBEGINEPSF { end /FMEPSF save def /showpage {} def % See Adobe's "PostScript Language Reference Manual, 2nd Edition", page 714. % "...the following operators MUST NOT be used in an EPS file:" (emphasis ours) /banddevice {(banddevice) FMBADEPSF} def /clear {(clear) FMBADEPSF} def /cleardictstack {(cleardictstack) FMBADEPSF} def /copypage {(copypage) FMBADEPSF} def /erasepage {(erasepage) FMBADEPSF} def /exitserver {(exitserver) FMBADEPSF} def /framedevice {(framedevice) FMBADEPSF} def /grestoreall {(grestoreall) FMBADEPSF} def /initclip {(initclip) FMBADEPSF} def /initgraphics {(initgraphics) FMBADEPSF} def /quit {(quit) FMBADEPSF} def /renderbands {(renderbands) FMBADEPSF} def /setglobal {(setglobal) FMBADEPSF} def /setpagedevice {(setpagedevice) FMBADEPSF} def /setshared {(setshared) FMBADEPSF} def /startjob {(startjob) FMBADEPSF} def /lettertray {(lettertray) FMBADEPSF} def /letter {(letter) FMBADEPSF} def /lettersmall {(lettersmall) FMBADEPSF} def /11x17tray {(11x17tray) FMBADEPSF} def /11x17 {(11x17) FMBADEPSF} def /ledgertray {(ledgertray) FMBADEPSF} def /ledger {(ledger) FMBADEPSF} def /legaltray {(legaltray) FMBADEPSF} def /legal {(legal) FMBADEPSF} def /statementtray {(statementtray) FMBADEPSF} def /statement {(statement) FMBADEPSF} def /executivetray {(executivetray) FMBADEPSF} def /executive {(executive) FMBADEPSF} def /a3tray {(a3tray) FMBADEPSF} def /a3 {(a3) FMBADEPSF} def /a4tray {(a4tray) FMBADEPSF} def /a4 {(a4) FMBADEPSF} def /a4small {(a4small) FMBADEPSF} def /b4tray {(b4tray) FMBADEPSF} def /b4 {(b4) FMBADEPSF} def /b5tray {(b5tray) FMBADEPSF} def /b5 {(b5) FMBADEPSF} def FMNORMALIZEGRAPHICS [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall fx fw 2 div add fy fh 2 div add translate rotate fw 2 div neg fh 2 div neg translate fw urx llx sub div fh ury lly sub div scale llx neg lly neg translate /FMdicttop countdictstack 1 add def /FMoptop count def } bind def /FMENDEPSF { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMEPSF restore FrameDict begin } bind def FrameDict begin /setmanualfeed { %%BeginFeature *ManualFeed True statusdict /manualfeed true put %%EndFeature } bind def /max {2 copy lt {exch} if pop} bind def /min {2 copy gt {exch} if pop} bind def /inch {72 mul} def /pagedimen { paperheight sub abs 16 lt exch paperwidth sub abs 16 lt and {/papername exch def} {pop} ifelse } bind def /setpapername { /papersizedict 14 dict def papersizedict begin /papername /unknown def /Letter 8.5 inch 11.0 inch pagedimen /LetterSmall 7.68 inch 10.16 inch pagedimen /Tabloid 11.0 inch 17.0 inch pagedimen /Ledger 17.0 inch 11.0 inch pagedimen /Legal 8.5 inch 14.0 inch pagedimen /Statement 5.5 inch 8.5 inch pagedimen /Executive 7.5 inch 10.0 inch pagedimen /A3 11.69 inch 16.5 inch pagedimen /A4 8.26 inch 11.69 inch pagedimen /A4Small 7.47 inch 10.85 inch pagedimen /B4 10.125 inch 14.33 inch pagedimen /B5 7.16 inch 10.125 inch pagedimen end } bind def /papersize { papersizedict begin /Letter {lettertray letter} def /LetterSmall {lettertray lettersmall} def /Tabloid {11x17tray 11x17} def /Ledger {ledgertray ledger} def /Legal {legaltray legal} def /Statement {statementtray statement} def /Executive {executivetray executive} def /A3 {a3tray a3} def /A4 {a4tray a4} def /A4Small {a4tray a4small} def /B4 {b4tray b4} def /B5 {b5tray b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end statusdict begin stopped end } bind def /manualpapersize { papersizedict begin /Letter {letter} def /LetterSmall {lettersmall} def /Tabloid {11x17} def /Ledger {ledger} def /Legal {legal} def /Statement {statement} def /Executive {executive} def /A3 {a3} def /A4 {a4} def /A4Small {a4small} def /B4 {b4} def /B5 {b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end stopped } bind def /desperatepapersize { statusdict /setpageparams known { paperwidth paperheight 0 1 statusdict begin {setpageparams} stopped end } {true} ifelse } bind def /papersizefailure { FMAllowPaperSizeMismatch not { (The requested paper size is not available in any currently-installed tray) (Edit the PS file to "FMAllowPaperSizeMismatch true" to use default tray) FMFAILURE } if } def /DiacriticEncoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis /dagger /.notdef /cent /sterling /section /bullet /paragraph /germandbls /registered /copyright /trademark /acute /dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef /yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown /exclamdown /logicalnot /.notdef /florin /.notdef /.notdef /guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde /Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron ] def /ReEncode { dup length dict begin { 1 index /FID ne {def} {pop pop} ifelse } forall 0 eq {/Encoding DiacriticEncoding def} if currentdict end } bind def FMPColor { /BEGINBITMAPCOLOR { BITMAPCOLOR} def /BEGINBITMAPCOLORc { BITMAPCOLORc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUECOLOR } def /BEGINBITMAPTRUECOLORc { BITMAPTRUECOLORc } def /BEGINBITMAPCMYK { BITMAPCMYK } def /BEGINBITMAPCMYKc { BITMAPCMYKc } def } { /BEGINBITMAPCOLOR { BITMAPGRAY} def /BEGINBITMAPCOLORc { BITMAPGRAYc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUEGRAY } def /BEGINBITMAPTRUECOLORc { BITMAPTRUEGRAYc } def /BEGINBITMAPCMYK { BITMAPCMYKGRAY } def /BEGINBITMAPCMYKc { BITMAPCMYKGRAYc } def } ifelse /K { FMPrintAllColorsAsBlack { dup 1 eq 2 index 1 eq and 3 index 1 eq and not {7 {pop} repeat 0 0 0 1 0 0 0} if } if FrameCurColors astore pop combineColor } bind def /graymode true def fMLevel1 { /fmGetFlip { fMatrix2 exch get mul 0 lt { -1 } { 1 } ifelse } FmBD } if /setPatternMode { fMLevel1 { 2 index patScreenDict exch known { pop pop patScreenDict exch get aload pop freq mul 5 2 roll fMatrix2 currentmatrix 1 get 0 ne { 3 -1 roll 90 add 3 1 roll sflipx 1 fmGetFlip sflipy 2 fmGetFlip neg mul } { sflipx 0 fmGetFlip sflipy 3 fmGetFlip mul } ifelse 0 lt {exch pop} {pop} ifelse fMNegative { {neg} fmConcatProcs } if bind systemdict /setscreen get exec /FrameCurGray exch def } { /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def freq sangle landscape {90 add} if {/ypoint exch def /xpoint exch def /xindex xpoint 1 add 2 div bpside mul cvi def /yindex ypoint 1 add 2 div bpside mul cvi def bstring yindex bwidth mul xindex 8 idiv add get 1 7 xindex 8 mod sub bitshift and 0 ne fMNegative {not} if {/onbits onbits 1 add def 1} {/offbits offbits 1 add def 0} ifelse } setscreen offbits offbits onbits add div fMNegative {1.0 exch sub} if /FrameCurGray exch def } ifelse } { pop pop dup patCache exch known { patCache exch get } { dup patDict /bstring 3 -1 roll put patDict 9 PatFreq screenIndex get div dup matrix scale makepattern dup patCache 4 -1 roll 3 -1 roll put } ifelse /FrameCurGray 0 def /FrameCurPat exch def } ifelse /graymode false def combineColor } bind def /setGrayScaleMode { graymode not { /graymode true def fMLevel1 { setCurrentScreen } if } if /FrameCurGray exch def combineColor } bind def /normalize { transform round exch round exch itransform } bind def /dnormalize { dtransform round exch round exch idtransform } bind def /lnormalize { 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop } bind def /H { lnormalize setlinewidth } bind def /Z { setlinecap } bind def /PFill { graymode fMLevel1 or not { gsave 1 setgray eofill grestore } if } bind def /PStroke { graymode fMLevel1 or not { gsave 1 setgray stroke grestore } if stroke } bind def /X { fillvals exch get dup type /stringtype eq {8 1 setPatternMode} {setGrayScaleMode} ifelse } bind def /V { PFill gsave eofill grestore } bind def /Vclip { clip } bind def /Vstrk { currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /N { PStroke } bind def /Nclip { strokepath clip newpath } bind def /Nstrk { currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /M {newpath moveto} bind def /E {lineto} bind def /D {curveto} bind def /O {closepath} bind def /L { /n exch def newpath normalize moveto 2 1 n {pop normalize lineto} for } bind def /Y { L closepath } bind def /R { /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 y1 x2 y1 x2 y2 x1 y2 4 Y } bind def /rarc {rad arcto } bind def /RR { /rad exch def normalize /y2 exch def /x2 exch def normalize /y1 exch def /x1 exch def mark newpath { x1 y1 rad add moveto x1 y2 x2 y2 rarc x2 y2 x2 y1 rarc x2 y1 x1 y1 rarc x1 y1 x1 y2 rarc closepath } stopped {x1 y1 x2 y2 R} if cleartomark } bind def /RRR { /rad exch def normalize /y4 exch def /x4 exch def normalize /y3 exch def /x3 exch def normalize /y2 exch def /x2 exch def normalize /y1 exch def /x1 exch def newpath normalize moveto mark { x2 y2 x3 y3 rarc x3 y3 x4 y4 rarc x4 y4 x1 y1 rarc x1 y1 x2 y2 rarc closepath } stopped {x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if cleartomark } bind def /C { grestore gsave R clip setCurrentScreen } bind def /CP { grestore gsave Y clip setCurrentScreen } bind def /F { FMfonts exch get FMpointsize scalefont setfont } bind def /Q { /FMpointsize exch def F } bind def /T { moveto show } bind def /RF { rotate 0 ne {-1 1 scale} if } bind def /TF { gsave moveto RF show grestore } bind def /P { moveto 0 32 3 2 roll widthshow } bind def /PF { gsave moveto RF 0 32 3 2 roll widthshow grestore } bind def /S { moveto 0 exch ashow } bind def /SF { gsave moveto RF 0 exch ashow grestore } bind def /B { moveto 0 32 4 2 roll 0 exch awidthshow } bind def /BF { gsave moveto RF 0 32 4 2 roll 0 exch awidthshow grestore } bind def /G { gsave newpath normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath PFill fill grestore } bind def /Gstrk { savematrix newpath 2 index 2 div add exch 3 index 2 div sub exch normalize 2 index 2 div sub exch 3 index 2 div add exch translate scale 0.0 0.0 1.0 5 3 roll arc restorematrix currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /Gclip { newpath savematrix normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath clip newpath restorematrix } bind def /GG { gsave newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath PFill fill grestore } bind def /GGclip { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath clip newpath restorematrix } bind def /GGstrk { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath restorematrix currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /A { gsave savematrix newpath 2 index 2 div add exch 3 index 2 div sub exch normalize 2 index 2 div sub exch 3 index 2 div add exch translate scale 0.0 0.0 1.0 5 3 roll arc restorematrix PStroke grestore } bind def /Aclip { newpath savematrix normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath strokepath clip newpath restorematrix } bind def /Astrk { Gstrk } bind def /AA { gsave savematrix newpath 3 index 2 div add exch 4 index 2 div sub exch normalize 3 index 2 div sub exch 4 index 2 div add exch translate rotate scale 0.0 0.0 1.0 5 3 roll arc restorematrix PStroke grestore } bind def /AAclip { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath strokepath clip newpath restorematrix } bind def /AAstrk { GGstrk } bind def /BEGINPRINTCODE { /FMdicttop countdictstack 1 add def /FMoptop count 7 sub def /FMsaveobject save def userdict begin /showpage {} def FMNORMALIZEGRAPHICS 3 index neg 3 index neg translate } bind def /ENDPRINTCODE { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMsaveobject restore } bind def /gn { 0 { 46 mul cf read pop 32 sub dup 46 lt {exit} if 46 sub add } loop add } bind def /cfs { /str sl string def 0 1 sl 1 sub {str exch val put} for str def } bind def /ic [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx} {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx} {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh} {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh} {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl} {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl} {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl} {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl} ] def /ms { /sl exch def /val 255 def /ws cfs /im cfs /val 0 def /bs cfs /cs cfs } bind def 400 ms /ip { is 0 cf cs readline pop { ic exch get exec add } forall pop } bind def /rip { bis ris copy pop is 0 cf cs readline pop { ic exch get exec add } forall pop pop ris gis copy pop dup is exch cf cs readline pop { ic exch get exec add } forall pop pop gis bis copy pop dup add is exch cf cs readline pop { ic exch get exec add } forall pop } bind def /rip4 { kis cis copy pop is 0 cf cs readline pop { ic exch get exec add } forall pop pop cis mis copy pop dup is exch cf cs readline pop { ic exch get exec add } forall pop pop mis yis copy pop dup dup add is exch cf cs readline pop { ic exch get exec add } forall pop pop yis kis copy pop 3 mul is exch cf cs readline pop { ic exch get exec add } forall pop } bind def /wh { /len exch def /pos exch def ws 0 len getinterval im pos len getinterval copy pop pos len } bind def /bl { /len exch def /pos exch def bs 0 len getinterval im pos len getinterval copy pop pos len } bind def /s1 1 string def /fl { /len exch def /pos exch def /val cf s1 readhexstring pop 0 get def pos 1 pos len add 1 sub {im exch val put} for pos len } bind def /hx { 3 copy getinterval cf exch readhexstring pop pop } bind def /wbytes { dup dup 8 gt { pop 8 idiv mul } { 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse } bind def /BEGINBITMAPBWc { 1 {} COMMONBITMAPc } bind def /BEGINBITMAPGRAYc { 8 {} COMMONBITMAPc } bind def /BEGINBITMAP2BITc { 2 {} COMMONBITMAPc } bind def /COMMONBITMAPc { /cvtProc exch def /depth exch def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def cvtProc /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height depth [width 0 0 height neg 0 height] {ip} image bitmapsave restore grestore } bind def /BEGINBITMAPBW { 1 {} COMMONBITMAP } bind def /BEGINBITMAPGRAY { 8 {} COMMONBITMAP } bind def /BEGINBITMAP2BIT { 2 {} COMMONBITMAP } bind def /COMMONBITMAP { /cvtProc exch def /depth exch def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def cvtProc /is width depth wbytes string def /cf currentfile def width height depth [width 0 0 height neg 0 height] {cf is readhexstring pop} image bitmapsave restore grestore } bind def /ngrayt 256 array def /nredt 256 array def /nbluet 256 array def /ngreent 256 array def fMLevel1 { /colorsetup { currentcolortransfer /gryt exch def /blut exch def /grnt exch def /redt exch def 0 1 255 { /indx exch def /cynu 1 red indx get 255 div sub def /magu 1 green indx get 255 div sub def /yelu 1 blue indx get 255 div sub def /kk cynu magu min yelu min def /u kk currentundercolorremoval exec def % /u 0 def nredt indx 1 0 cynu u sub max sub redt exec put ngreent indx 1 0 magu u sub max sub grnt exec put nbluet indx 1 0 yelu u sub max sub blut exec put ngrayt indx 1 kk currentblackgeneration exec sub gryt exec put } for {255 mul cvi nredt exch get} {255 mul cvi ngreent exch get} {255 mul cvi nbluet exch get} {255 mul cvi ngrayt exch get} setcolortransfer {pop 0} setundercolorremoval {} setblackgeneration } bind def } { /colorSetup2 { [ /Indexed /DeviceRGB 255 {dup red exch get 255 div exch dup green exch get 255 div exch blue exch get 255 div} ] setcolorspace } bind def } ifelse /fakecolorsetup { /tran 256 string def 0 1 255 {/indx exch def tran indx red indx get 77 mul green indx get 151 mul blue indx get 28 mul add add 256 idiv put} for currenttransfer {255 mul cvi tran exch get 255.0 div} exch fmConcatProcs settransfer } bind def /BITMAPCOLOR { /depth 8 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def fMLevel1 { colorsetup /is width depth wbytes string def /cf currentfile def width height depth [width 0 0 height neg 0 height] {cf is readhexstring pop} {is} {is} true 3 colorimage } { colorSetup2 /is width depth wbytes string def /cf currentfile def 7 dict dup begin /ImageType 1 def /Width width def /Height height def /ImageMatrix [width 0 0 height neg 0 height] def /DataSource {cf is readhexstring pop} bind def /BitsPerComponent depth def /Decode [0 255] def end image } ifelse bitmapsave restore grestore } bind def /BITMAPCOLORc { /depth 8 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def fMLevel1 { colorsetup /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height depth [width 0 0 height neg 0 height] {ip} {is} {is} true 3 colorimage } { colorSetup2 /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def 7 dict dup begin /ImageType 1 def /Width width def /Height height def /ImageMatrix [width 0 0 height neg 0 height] def /DataSource {ip} bind def /BitsPerComponent depth def /Decode [0 255] def end image } ifelse bitmapsave restore grestore } bind def /BITMAPTRUECOLORc { /depth 24 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /ris im 0 width getinterval def /gis im width width getinterval def /bis im width 2 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop ris} {gis} {bis} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPCMYKc { /depth 32 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /cis im 0 width getinterval def /mis im width width getinterval def /yis im width 2 mul width getinterval def /kis im width 3 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip4 pop cis} {mis} {yis} {kis} true 4 colorimage bitmapsave restore grestore } bind def /BITMAPTRUECOLOR { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /gis width string def /bis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop } { cf gis readhexstring pop } { cf bis readhexstring pop } true 3 colorimage bitmapsave restore grestore } bind def /BITMAPCMYK { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /mis width string def /yis width string def /kis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop } { cf mis readhexstring pop } { cf yis readhexstring pop } { cf kis readhexstring pop } true 4 colorimage bitmapsave restore grestore } bind def /BITMAPTRUEGRAYc { /depth 24 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /ris im 0 width getinterval def /gis im width width getinterval def /bis im width 2 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop ris gis bis width gray} image bitmapsave restore grestore } bind def /BITMAPCMYKGRAYc { /depth 32 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /cis im 0 width getinterval def /mis im width width getinterval def /yis im width 2 mul width getinterval def /kis im width 3 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop cis mis yis kis width cgray} image bitmapsave restore grestore } bind def /cgray { /ww exch def /k exch def /y exch def /m exch def /c exch def 0 1 ww 1 sub { /i exch def c i get m i get y i get k i get CMYKtoRGB .144 mul 3 1 roll .587 mul 3 1 roll .299 mul add add c i 3 -1 roll floor cvi put } for c } bind def /gray { /ww exch def /b exch def /g exch def /r exch def 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul b i get .114 mul add add r i 3 -1 roll floor cvi put } for r } bind def /BITMAPTRUEGRAY { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /gis width string def /bis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop cf gis readhexstring pop cf bis readhexstring pop width gray} image bitmapsave restore grestore } bind def /BITMAPCMYKGRAY { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /yis width string def /mis width string def /kis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop cf mis readhexstring pop cf yis readhexstring pop cf kis readhexstring pop width cgray} image bitmapsave restore grestore } bind def /BITMAPGRAY { 8 {fakecolorsetup} COMMONBITMAP } bind def /BITMAPGRAYc { 8 {fakecolorsetup} COMMONBITMAPc } bind def /ENDBITMAP { } bind def end /ALDmatrix matrix def ALDmatrix currentmatrix pop /StartALD { /ALDsave save def savematrix ALDmatrix setmatrix } bind def /InALD { restorematrix } bind def /DoneALD { ALDsave restore } bind def /I { setdash } bind def /J { [] 0 setdash } bind def %%EndProlog %%BeginSetup (5.0) FMVERSION 1 1 0 0 612 792 0 1 21 FMDOCUMENT 0 0 /Palatino-Italic FMFONTDEFINE 1 0 /Palatino-Roman FMFONTDEFINE 2 1 /Symbol FMFONTDEFINE 3 0 /Palatino-Bold FMFONTDEFINE 4 0 /Times-Bold FMFONTDEFINE 5 0 /Courier FMFONTDEFINE 6 0 /Palatino-BoldItalic FMFONTDEFINE 32 FMFILLS 0 0 FMFILL 1 0.1 FMFILL 2 0.3 FMFILL 3 0.5 FMFILL 4 0.7 FMFILL 5 0.9 FMFILL 6 0.97 FMFILL 7 1 FMFILL 8 <0f1e3c78f0e1c387> FMFILL 9 <0f87c3e1f0783c1e> FMFILL 10 FMFILL 11 FMFILL 12 <8142241818244281> FMFILL 13 <03060c183060c081> FMFILL 14 <8040201008040201> FMFILL 16 1 FMFILL 17 0.9 FMFILL 18 0.7 FMFILL 19 0.5 FMFILL 20 0.3 FMFILL 21 0.1 FMFILL 22 0.03 FMFILL 23 0 FMFILL 24 FMFILL 25 FMFILL 26 <3333333333333333> FMFILL 27 <0000ffff0000ffff> FMFILL 28 <7ebddbe7e7dbbd7e> FMFILL 29 FMFILL 30 <7fbfdfeff7fbfdfe> FMFILL %%EndSetup %%Page: "1" 1 %%BeginPaperSize: Letter %%EndPaperSize 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K J 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 95.74 393.76 113.24 R 7 X 0 0 0 1 0 0 0 K V 549 99 576 117 R V 0.3 H 0 Z N 54 619.13 558 641.38 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 72 612 720 C 0 20 Q 0 X 0 0 0 1 0 0 0 K -2.5 (Java Native Interface Speci\336cation) 198 605.79 P 0 14 Q -1.61 -0.28 (Release 1.1 \050Revised May) 198 571.79 B -1.61 -0.28 (, 1997\051) 329.83 571.79 B 198 144 297 171 R 7 X V 1 7 Q 0 X (May 1997) 198 166.33 T 54 174.47 558 276 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 174.47 558 276 R 7 X 0 0 0 1 0 0 0 K V 1 7 Q 0 X (2550 Gar) 199.01 193.9 T (cia A) 226.24 193.9 T (venue) 241.43 193.9 T (Mountain V) 199.01 185.61 T (iew) 236.06 185.61 T (, CA 94043 U.S.A.) 246.64 185.61 T (408-343-1400) 199.01 177.32 T 0 0 0 1 0 0 0 K 0 63 430 539 526 142.79 28.8 170.6 207.44 FMBEGINEPSF %%BeginDocument: %!PS-Adobe-3.0 EPSF-3.0 %%Creator: Adobe Illustrator(TM) 5.5 %%For: (Bud Northern) (Mark Anderson Design) %%Title: (JAVASOFT.1COLOR) %%CreationDate: (3/5/96) (9:51 AM) %%BoundingBox: 63 430 539 526 %%HiResBoundingBox: 63.4812 430.6428 538.2056 525.3151 %%DocumentProcessColors: Black %%DocumentSuppliedResources: procset Adobe_level2_AI5 1.0 0 %%+ procset Adobe_IllustratorA_AI5 1.0 0 %AI5_FileFormat 1.2 %AI3_ColorUsage: Black&White %%CMYKCustomColor: 0 1 0.91 0 (PANTONE 485 CV) %%+ 0.79 0.76 0 0 (PANTONE 2665 CV) %AI3_TemplateBox: 306 396 306 396 %AI3_TileBox: 30 18 606 779 %AI3_DocumentPreview: Macintosh_ColorPic %AI5_ArtSize: 612 792 %AI5_RulerUnits: 0 %AI5_ArtFlags: 1 0 0 1 0 0 1 1 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI5_OpenToView: -450 900 -1.5 1018 725 26 1 1 3 40 %AI5_OpenViewLayers: 7 %%EndComments %%BeginProlog %%BeginResource: procset Adobe_level2_AI5 1.0 0 %%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation) %%Version: 1.0 %%CreationDate: (04/10/93) () %%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved) userdict /Adobe_level2_AI5 21 dict dup begin put /packedarray where not { userdict begin /packedarray { array astore readonly } bind def /setpacking /pop load def /currentpacking false def end 0 } if pop userdict /defaultpacking currentpacking put true setpacking /initialize { Adobe_level2_AI5 begin } bind def /terminate { currentdict Adobe_level2_AI5 eq { end } if } bind def mark /setcustomcolor where not { /findcmykcustomcolor { 5 packedarray } bind def /setcustomcolor { exch aload pop pop 4 { 4 index mul 4 1 roll } repeat 5 -1 roll pop setcmykcolor } def } if /gt38? mark {version cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put userdict /level2? systemdict /languagelevel known dup { pop systemdict /languagelevel get 2 ge } if put level2? not { /setcmykcolor where not { /setcmykcolor { exch .11 mul add exch .59 mul add exch .3 mul add 1 exch sub setgray } def } if /currentcmykcolor where not { /currentcmykcolor { 0 0 0 1 currentgray sub } def } if /setoverprint where not { /setoverprint /pop load def } if /selectfont where not { /selectfont { exch findfont exch dup type /arraytype eq { makefont } { scalefont } ifelse setfont } bind def } if /cshow where not { /cshow { [ 0 0 5 -1 roll aload pop ] cvx bind forall } bind def } if } if cleartomark /anyColor? { add add add 0 ne } bind def /testColor { gsave setcmykcolor currentcmykcolor grestore } bind def /testCMYKColorThrough { testColor anyColor? } bind def userdict /composite? level2? { gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore add add add 4 eq } { 1 0 0 0 testCMYKColorThrough 0 1 0 0 testCMYKColorThrough 0 0 1 0 testCMYKColorThrough 0 0 0 1 testCMYKColorThrough and and and } ifelse put composite? not { userdict begin gsave /cyan? 1 0 0 0 testCMYKColorThrough def /magenta? 0 1 0 0 testCMYKColorThrough def /yellow? 0 0 1 0 testCMYKColorThrough def /black? 0 0 0 1 testCMYKColorThrough def grestore /isCMYKSep? cyan? magenta? yellow? black? or or or def /customColor? isCMYKSep? not def end } if end defaultpacking setpacking %%EndResource %%BeginResource: procset Adobe_IllustratorA_AI5 1.1 0 %%Title: (Adobe Illustrator (R) Version 5.0 Abbreviated Prolog) %%Version: 1.1 %%CreationDate: (3/7/1994) () %%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved) currentpacking true setpacking userdict /Adobe_IllustratorA_AI5_vars 70 dict dup begin put /_lp /none def /_pf { } def /_ps { } def /_psf { } def /_pss { } def /_pjsf { } def /_pjss { } def /_pola 0 def /_doClip 0 def /cf currentflat def /_tm matrix def /_renderStart [ /e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0 ] def /_renderEnd [ null null null null /i1 /i1 /i1 /i1 ] def /_render -1 def /_rise 0 def /_ax 0 def /_ay 0 def /_cx 0 def /_cy 0 def /_leading [ 0 0 ] def /_ctm matrix def /_mtx matrix def /_sp 16#020 def /_hyphen (-) def /_fScl 0 def /_cnt 0 def /_hs 1 def /_nativeEncoding 0 def /_useNativeEncoding 0 def /_tempEncode 0 def /_pntr 0 def /_tDict 2 dict def /_wv 0 def /Tx { } def /Tj { } def /CRender { } def /_AI3_savepage { } def /_gf null def /_cf 4 array def /_if null def /_of false def /_fc { } def /_gs null def /_cs 4 array def /_is null def /_os false def /_sc { } def /discardSave null def /buffer 256 string def /beginString null def /endString null def /endStringLength null def /layerCnt 1 def /layerCount 1 def /perCent (%) 0 get def /perCentSeen? false def /newBuff null def /newBuffButFirst null def /newBuffLast null def /clipForward? false def end userdict /Adobe_IllustratorA_AI5 74 dict dup begin put /initialize { Adobe_IllustratorA_AI5 dup begin Adobe_IllustratorA_AI5_vars begin discardDict { bind pop pop } forall dup /nc get begin { dup xcheck 1 index type /operatortype ne and { bind } if pop pop } forall end newpath } def /terminate { end end } def /_ null def /ddef { Adobe_IllustratorA_AI5_vars 3 1 roll put } def /xput { dup load dup length exch maxlength eq { dup dup load dup length 2 mul dict copy def } if load begin def end } def /npop { { pop } repeat } def /sw { dup length exch stringwidth exch 5 -1 roll 3 index mul add 4 1 roll 3 1 roll mul add } def /swj { dup 4 1 roll dup length exch stringwidth exch 5 -1 roll 3 index mul add 4 1 roll 3 1 roll mul add 6 2 roll /_cnt 0 ddef { 1 index eq { /_cnt _cnt 1 add ddef } if } forall pop exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop } def /ss { 4 1 roll { 2 npop (0) exch 2 copy 0 exch put pop gsave false charpath currentpoint 4 index setmatrix stroke grestore moveto 2 copy rmoveto } exch cshow 3 npop } def /jss { 4 1 roll { 2 npop (0) exch 2 copy 0 exch put gsave _sp eq { exch 6 index 6 index 6 index 5 -1 roll widthshow currentpoint } { false charpath currentpoint 4 index setmatrix stroke } ifelse grestore moveto 2 copy rmoveto } exch cshow 6 npop } def /sp { { 2 npop (0) exch 2 copy 0 exch put pop false charpath 2 copy rmoveto } exch cshow 2 npop } def /jsp { { 2 npop (0) exch 2 copy 0 exch put _sp eq { exch 5 index 5 index 5 index 5 -1 roll widthshow } { false charpath } ifelse 2 copy rmoveto } exch cshow 5 npop } def /pl { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } def /setstrokeadjust where { pop true setstrokeadjust /c { curveto } def /C /c load def /v { currentpoint 6 2 roll curveto } def /V /v load def /y { 2 copy curveto } def /Y /y load def /l { lineto } def /L /l load def /m { moveto } def } { /c { pl curveto } def /C /c load def /v { currentpoint 6 2 roll pl curveto } def /V /v load def /y { pl 2 copy curveto } def /Y /y load def /l { pl lineto } def /L /l load def /m { pl moveto } def } ifelse /d { setdash } def /cf { } def /i { dup 0 eq { pop cf } if setflat } def /j { setlinejoin } def /J { setlinecap } def /M { setmiterlimit } def /w { setlinewidth } def /H { } def /h { closepath } def /N { _pola 0 eq { _doClip 1 eq { clip /_doClip 0 ddef } if newpath } { /CRender { N } ddef } ifelse } def /n { N } def /F { _pola 0 eq { _doClip 1 eq { gsave _pf grestore clip newpath /_lp /none ddef _fc /_doClip 0 ddef } { _pf } ifelse } { /CRender { F } ddef } ifelse } def /f { closepath F } def /S { _pola 0 eq { _doClip 1 eq { gsave _ps grestore clip newpath /_lp /none ddef _sc /_doClip 0 ddef } { _ps } ifelse } { /CRender { S } ddef } ifelse } def /s { closepath S } def /B { _pola 0 eq { _doClip 1 eq gsave F grestore { gsave S grestore clip newpath /_lp /none ddef _sc /_doClip 0 ddef } { S } ifelse } { /CRender { B } ddef } ifelse } def /b { closepath B } def /W { /_doClip 1 ddef } def /* { count 0 ne { dup type /stringtype eq { pop } if } if newpath } def /u { } def /U { } def /q { _pola 0 eq { gsave } if } def /Q { _pola 0 eq { grestore } if } def /*u { _pola 1 add /_pola exch ddef } def /*U { _pola 1 sub /_pola exch ddef _pola 0 eq { CRender } if } def /D { pop } def /*w { } def /*W { } def /` { /_i save ddef clipForward? { nulldevice } if 6 1 roll 4 npop concat pop userdict begin /showpage { } def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash /setstrokeadjust where {pop false setstrokeadjust} if newpath 0 setgray false setoverprint } def /~ { end _i restore } def /O { 0 ne /_of exch ddef /_lp /none ddef } def /R { 0 ne /_os exch ddef /_lp /none ddef } def /g { /_gf exch ddef /_fc { _lp /fill ne { _of setoverprint _gf setgray /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /G { /_gs exch ddef /_sc { _lp /stroke ne { _os setoverprint _gs setgray /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /k { _cf astore pop /_fc { _lp /fill ne { _of setoverprint _cf aload pop setcmykcolor /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /K { _cs astore pop /_sc { _lp /stroke ne { _os setoverprint _cs aload pop setcmykcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /x { /_gf exch ddef findcmykcustomcolor /_if exch ddef /_fc { _lp /fill ne { _of setoverprint _if _gf 1 exch sub setcustomcolor /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /X { /_gs exch ddef findcmykcustomcolor /_is exch ddef /_sc { _lp /stroke ne { _os setoverprint _is _gs 1 exch sub setcustomcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /A { pop } def /annotatepage { userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse } def /discard { save /discardSave exch store discardDict begin /endString exch store gt38? { 2 add } if load stopped pop end discardSave restore } bind def userdict /discardDict 7 dict dup begin put /pre38Initialize { /endStringLength endString length store /newBuff buffer 0 endStringLength getinterval store /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store /newBuffLast newBuff endStringLength 1 sub 1 getinterval store } def /shiftBuffer { newBuff 0 newBuffButFirst putinterval newBuffLast 0 currentfile read not { stop } if put } def 0 { pre38Initialize mark currentfile newBuff readstring exch pop { { newBuff endString eq { cleartomark stop } if shiftBuffer } loop } { stop } ifelse } def 1 { pre38Initialize /beginString exch store mark currentfile newBuff readstring exch pop { { newBuff beginString eq { /layerCount dup load 1 add store } { newBuff endString eq { /layerCount dup load 1 sub store layerCount 0 eq { cleartomark stop } if } if } ifelse shiftBuffer } loop } { stop } ifelse } def 2 { mark { currentfile buffer readline not { stop } if endString eq { cleartomark stop } if } loop } def 3 { /beginString exch store /layerCnt 1 store mark { currentfile buffer readline not { stop } if dup beginString eq { pop /layerCnt dup load 1 add store } { endString eq { layerCnt 1 eq { cleartomark stop } { /layerCnt dup load 1 sub store } ifelse } if } ifelse } loop } def end userdict /clipRenderOff 15 dict dup begin put { /n /N /s /S /f /F /b /B } { { _doClip 1 eq { /_doClip 0 ddef clip } if newpath } def } forall /Tr /pop load def /Bb {} def /BB /pop load def /Bg {12 npop} def /Bm {6 npop} def /Bc /Bm load def /Bh {4 npop} def end /Lb { 4 npop 6 1 roll pop 4 1 roll pop pop pop 0 eq { 0 eq { (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard } { /clipForward? true def /Tx /pop load def /Tj /pop load def currentdict end clipRenderOff begin begin } ifelse } { 0 eq { save /discardSave exch store } if } ifelse } bind def /LB { discardSave dup null ne { restore } { pop clipForward? { currentdict end end begin /clipForward? false ddef } if } ifelse } bind def /Pb { pop pop 0 (%AI5_EndPalette) discard } bind def /Np { 0 (%AI5_End_NonPrinting--) discard } bind def /Ln /pop load def /Ap /pop load def /Ar { 72 exch div 0 dtransform dup mul exch dup mul add sqrt dup 1 lt { pop 1 } if setflat } def /Mb { q } def /Md { } def /MB { Q } def /nc 3 dict def nc begin /setgray { pop } bind def /setcmykcolor { 4 npop } bind def /setcustomcolor { 2 npop } bind def currentdict readonly pop end currentdict readonly pop end setpacking %%EndResource %%EndProlog %%BeginSetup Adobe_level2_AI5 /initialize get exec Adobe_IllustratorA_AI5 /initialize get exec %AI5_Begin_NonPrinting Np %AI3_BeginPattern: (Yellow Stripe) (Yellow Stripe) 8.4499 4.6 80.4499 76.6 [ %AI3_Tile (0 O 0 R 0 0.4 1 0 k 0 0.4 1 0 K) @ ( 800 Ar 0 J 0 j 3.6 w 4 M []0 d %AI3_Note: 0 D 8.1999 8.1999 m 80.6999 8.1999 L S 8.1999 22.6 m 80.6999 22.6 L S 8.1999 37.0001 m 80.6999 37.0001 L S 8.1999 51.3999 m 80.6999 51.3999 L S 8.1999 65.8 m 80.6999 65.8 L S 8.1999 15.3999 m 80.6999 15.3999 L S 8.1999 29.8 m 80.6999 29.8 L S 8.1999 44.1999 m 80.6999 44.1999 L S 8.1999 58.6 m 80.6999 58.6 L S 8.1999 73.0001 m 80.6999 73.0001 L S ) & ] E %AI3_EndPattern %AI5_End_NonPrinting-- %AI5_Begin_NonPrinting Np 3 Bn %AI5_BeginGradient: (Black & White) (Black & White) 0 2 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 %_Br [ 0 0 50 100 %_Bs 1 0 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Red & Yellow) (Red & Yellow) 0 2 Bd [ 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < FFFFFEFEFDFDFDFCFCFBFBFBFAFAF9F9F9F8F8F7F7F7F6F6F5F5F5F4F4F3F3F3F2F2F1F1F1F0F0EF EFEFEEEEEDEDEDECECEBEBEBEAEAE9E9E9E8E8E7E7E7E6E6E5E5E5E4E4E3E3E3E2E2E1E1E1E0E0DF DFDFDEDEDDDDDDDCDCDBDBDBDADAD9D9D9D8D8D7D7D7D6D6D5D5D5D4D4D3D3D3D2D2D1D1D1D0D0CF CFCFCECECDCDCDCCCCCBCBCBCACAC9C9C9C8C8C7C7C7C6C6C5C5C5C4C4C3C3C3C2C2C1C1C1C0C0BF BFBFBEBEBDBDBDBCBCBBBBBBBABAB9B9B9B8B8B7B7B7B6B6B5B5B5B4B4B3B3B3B2B2B1B1B1B0B0AF AFAFAEAEADADADACACABABABAAAAA9A9A9A8A8A7A7A7A6A6A5A5A5A4A4A3A3A3A2A2A1A1A1A0A09F 9F9F9E9E9D9D9D9C9C9B9B9B9A9A9999 > 0 1 %_Br [ 0 1 0.6 0 1 50 100 %_Bs 0 0 1 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow & Blue Radial) (Yellow & Blue Radial) 1 2 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 1415161718191A1B1C1D1E1F1F202122232425262728292A2A2B2C2D2E2F30313233343536363738 393A3B3C3D3E3F40414142434445464748494A4B4C4D4D4E4F50515253545556575858595A5B5C5D 5E5F60616263646465666768696A6B6C6D6E6F6F707172737475767778797A7B7B7C7D7E7F808182 83848586868788898A8B8C8D8E8F90919292939495969798999A9B9C9D9D9E9FA0A1A2A3A4A5A6A7 A8A9A9AAABACADAEAFB0B1B2B3B4B4B5B6B7B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C9CACBCB CCCDCECFD0D1D2D3D4D5D6D7D7D8D9DADBDCDDDEDFE0E1E2E2E3E4E5E6E7E8E9EAEBECEDEEEEEFF0 F1F2F3F4F5F6F7F8F9F9FAFBFCFDFEFF > < ABAAAAA9A8A7A7A6A5A5A4A3A3A2A1A1A09F9F9E9D9D9C9B9B9A9999989797969595949393929191 908F8F8E8D8D8C8B8B8A8989888787868585848383828181807F7F7E7D7D7C7B7B7A797978777776 7575747373727171706F6F6E6D6D6C6B6B6A6969686767666565646362626160605F5E5E5D5C5C5B 5A5A5958585756565554545352525150504F4E4E4D4C4C4B4A4A4948484746464544444342424140 403F3E3E3D3C3C3B3A3A3938383736363534343332323130302F2E2E2D2C2C2B2A2A292828272626 25242423222121201F1F1E1D1D1C1B1B1A1919181717161515141313121111100F0F0E0D0D0C0B0B 0A090908070706050504030302010100 > 0 1 %_Br [ 0 0.08 0.67 0 1 50 14 %_Bs 1 1 0 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_End_NonPrinting-- %AI5_BeginPalette 36 71 Pb Pn Pc 1 g Pc 0 g Pc 0 0 0 0 k Pc 0.75 g Pc 0.5 g Pc 0.25 g Pc 0 g Pc Bb 2 (Black & White) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB Pc 0.25 0 0 0 k Pc 0.5 0 0 0 k Pc 0.75 0 0 0 k Pc 1 0 0 0 k Pc 0.25 0.25 0 0 k Pc 0.5 0.5 0 0 k Pc 0.75 0.75 0 0 k Pc 1 1 0 0 k Pc Bb 2 (Red & Yellow) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB Pc 0 0.25 0 0 k Pc 0 0.5 0 0 k Pc 0 0.75 0 0 k Pc 0 1 0 0 k Pc 0 0.25 0.25 0 k Pc 0 0.5 0.5 0 k Pc 0 0.75 0.75 0 k Pc 0 1 1 0 k Pc Bb 0 0 0 0 Bh 2 (Yellow & Blue Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB Pc 0 0 0.25 0 k Pc 0 0 0.5 0 k Pc 0 0 0.75 0 k Pc 0 0 1 0 k Pc 0.25 0 0.25 0 k Pc 0.5 0 0.5 0 k Pc 0.75 0 0.75 0 k Pc 1 0 1 0 k Pc (Yellow Stripe) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p Pc 0.25 0.125 0 0 k Pc 0.5 0.25 0 0 k Pc 0.75 0.375 0 0 k Pc 1 0.5 0 0 k Pc 0.125 0.25 0 0 k Pc 0.25 0.5 0 0 k Pc 0.375 0.75 0 0 k Pc 0.5 1 0 0 k Pc 0 1 0.91 0 (PANTONE 485 CV) 0 x Pc 0 0.25 0.125 0 k Pc 0 0.5 0.25 0 k Pc 0 0.75 0.375 0 k Pc 0 1 0.5 0 k Pc 0 0.125 0.25 0 k Pc 0 0.25 0.5 0 k Pc 0 0.375 0.75 0 k Pc 0 0.5 1 0 k Pc 0.79 0.76 0 0 (PANTONE 2665 CV) 0 x Pc 0.125 0 0.25 0 k Pc 0.25 0 0.5 0 k Pc 0.375 0 0.75 0 k Pc 0.5 0 1 0 k Pc 0.25 0 0.125 0 k Pc 0.5 0 0.25 0 k Pc 0.75 0 0.375 0 k Pc 1 0 0.5 0 k Pc 0 1 1 0 k Pc 0.25 0.125 0.125 0 k Pc 0.5 0.25 0.25 0 k Pc 0.75 0.375 0.375 0 k Pc 1 0.5 0.5 0 k Pc 0.25 0.25 0.125 0 k Pc 0.5 0.5 0.25 0 k Pc 0.75 0.75 0.375 0 k Pc 1 1 0.5 0 k Pc 0.8 0.75 0 0 k Pc 0.125 0.25 0.125 0 k Pc 0.25 0.5 0.25 0 k Pc 0.375 0.75 0.375 0 k Pc 0.5 1 0.5 0 k Pc 0.125 0.25 0.25 0 k Pc 0.25 0.5 0.5 0 k Pc 0.375 0.75 0.75 0 k Pc 0.5 1 1 0 k Pc 0 0 0 0 k Pc 0.125 0.125 0.25 0 k Pc 0.25 0.25 0.5 0 k Pc 0.375 0.375 0.75 0 k Pc 0.5 0.5 1 0 k Pc 0.25 0.125 0.25 0 k Pc 0.5 0.25 0.5 0 k Pc 0.75 0.375 0.75 0 k Pc 1 0.5 1 0 k Pc PB %AI5_EndPalette %%EndSetup %AI5_BeginLayer 1 1 1 1 0 0 0 79 128 255 Lb (Layer 1) Ln 0 A 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D -4014 524 m 4626 524 L (N) * -4014 457 m 4626 457 L (N) * -4014 439.5 m 4626 439.5 L (N) * 498 4716 m 498 -3924 L (N) * 1 A u *u 0 O 0 g 176.5716 507.7789 m 176.5716 519.3653 175.5278 520.6177 169.3692 521.1397 c 166.7596 521.3485 L 166.1334 521.7661 166.3422 523.6449 166.9684 523.9581 c 173.0226 523.7493 176.5716 523.6447 180.9554 523.6447 c 185.1308 523.6447 188.6798 523.7493 192.855 523.9581 c 193.4812 523.6449 193.69 521.7661 193.0638 521.3485 c 191.498 521.1397 L 185.3396 520.3047 185.1308 518.8433 185.1308 507.7789 c 185.1308 469.0535 L 185.1308 460.8073 184.7132 453.6049 182.73 448.8033 c 179.2854 440.4529 171.8744 433.7725 162.1668 433.7725 c 160.9142 433.7725 157.6784 433.8769 157.6784 435.9645 c 157.6784 437.7389 159.2442 440.7659 161.4362 440.7659 c 162.6888 440.7659 163.9412 440.5573 165.2984 440.1397 c 166.7596 439.7221 168.221 439.4091 169.6822 439.4091 c 171.8744 439.4091 173.127 440.6617 173.8576 442.1229 c 176.2584 447.0289 176.5716 462.6861 176.5716 468.3227 C 176.5716 507.7789 l f *U *u 210.0184 474.8477 m 207.886 474.8477 207.9678 474.8477 207.2298 472.6333 c 203.867 462.7909 L 202.2266 457.9519 202.5546 457.7059 205.5894 457.2957 c 207.9678 456.8855 L 208.542 456.3115 208.46 454.8351 207.8038 454.5071 c 205.1792 454.6711 202.4726 454.6711 199.11 454.7531 c 196.4032 454.7531 193.8606 454.6711 190.99 454.5071 c 190.4158 454.9171 190.334 456.1475 190.908 456.8855 c 193.3686 457.2957 L 195.747 457.6237 196.6494 458.3619 197.8796 461.0685 c 198.8638 463.2009 200.176 466.6459 201.8984 471.0749 c 213.135 500.2735 L 214.2014 502.8981 214.9396 504.8665 214.6934 506.2609 c 217.564 506.8349 220.2708 510.1977 220.4346 510.1977 c 221.0908 510.1977 221.501 509.9517 221.829 509.5415 c 223.1414 505.8507 224.2076 501.9959 225.5198 498.3051 c 237.3306 463.9391 L 239.217 458.4441 239.627 457.8699 243.81 457.1317 c 245.0402 456.8855 L 245.6966 456.3115 245.6966 454.9171 245.1224 454.5071 c 241.7596 454.6711 238.7248 454.7531 234.46 454.7531 c 230.933 454.7531 227.3244 454.5891 224.4538 454.5071 c 223.7974 454.9171 223.7154 456.3935 224.2076 456.8855 c 226.012 457.1317 L 228.9646 457.4597 229.2108 457.9519 228.1446 461.4787 c 224.2896 472.6333 L 223.4694 474.8477 223.2234 474.8477 220.9268 474.8477 C 210.0184 474.8477 l f 1 D 219.8606 478.5385 m 222.157 478.5385 222.4852 478.7027 221.829 480.6711 c 218.3842 490.5133 L 216.9898 494.8603 216.4978 496.4187 216.0878 496.9929 c 215.9238 496.9929 L 215.5956 496.4187 214.9396 494.3683 213.4632 490.5133 c 210.0184 480.9171 L 209.1162 478.5385 209.3622 478.5385 211.3306 478.5385 C 219.8606 478.5385 l f *U *u 0 D 269.7236 475.0937 m 266.4428 467.6301 262.588 458.0339 261.1938 453.8509 c 261.0296 453.6049 260.3734 453.4409 259.7992 453.4409 c 259.2252 453.4409 258.651 453.6049 258.241 453.8509 c 257.2568 457.1317 255.9444 461.1507 254.468 464.5953 c 240.1148 499.1253 L 237.8184 504.6205 237.0802 505.7687 233.7994 506.4249 c 231.831 506.8349 L 231.2568 507.4091 231.2568 508.8855 232.077 509.1315 c 235.2758 508.9675 238.8026 508.8855 242.0012 508.8855 c 245.692 508.8855 248.4808 508.9675 252.8278 509.1315 c 253.566 508.6395 253.648 507.3271 252.9098 506.7529 c 250.8592 506.2609 L 249.0548 505.8507 248.3986 505.4407 248.3986 504.7845 c 248.3986 504.0465 249.0548 502.2419 252.4178 493.8761 c 258.323 479.2767 L 259.7992 475.5859 262.0138 470.7467 262.834 468.8603 c 267.263 479.1947 272.1842 490.5133 276.5312 501.6679 c 277.8434 504.9485 277.5974 505.6047 275.1368 506.1789 c 272.7582 506.7529 L 272.1842 507.4091 272.2662 508.7215 272.9224 509.1315 c 276.2852 508.9675 279.0738 508.8855 281.6984 508.8855 c 284.651 508.8855 287.3576 508.9675 289.6542 509.1315 c 290.3102 508.7215 290.2282 507.4091 289.8182 506.7529 c 287.7678 506.3429 L 285.8812 505.9327 284.0768 505.3587 282.6826 502.9801 c 280.386 499.0431 278.0076 493.5481 274.3166 485.2641 C 269.7236 475.0937 l f *U *u 295.058 474.8477 m 292.9256 474.8477 293.0076 474.8477 292.2694 472.6333 c 288.9066 462.7909 L 287.2662 457.9519 287.5942 457.7059 290.629 457.2957 c 293.0076 456.8855 L 293.5818 456.3115 293.4996 454.8351 292.8436 454.5071 c 290.219 454.6711 287.5124 454.6711 284.1494 454.7531 c 281.4428 454.7531 278.9004 454.6711 276.0298 454.5071 c 275.4556 454.9171 275.3736 456.1475 275.9476 456.8855 c 278.4082 457.2957 L 280.7868 457.6237 281.689 458.3619 282.9192 461.0685 c 283.9034 463.2009 285.2158 466.6459 286.9382 471.0749 c 298.1748 500.2735 L 299.241 502.8981 299.9792 504.8665 299.733 506.2609 c 302.6038 506.8349 305.3104 510.1977 305.4744 510.1977 c 306.1306 510.1977 306.5406 509.9517 306.8686 509.5415 c 308.181 505.8507 309.2472 501.9959 310.5596 498.3051 c 322.3702 463.9391 L 324.2568 458.4441 324.6668 457.8699 328.8498 457.1317 c 330.08 456.8855 L 330.7362 456.3115 330.7362 454.9171 330.162 454.5071 c 326.7992 454.6711 323.7646 454.7531 319.4996 454.7531 c 315.9728 454.7531 312.364 454.5891 309.4932 454.5071 c 308.8372 454.9171 308.7552 456.3935 309.2472 456.8855 c 311.0516 457.1317 L 314.0044 457.4597 314.2504 457.9519 313.1842 461.4787 c 309.3292 472.6333 L 308.5092 474.8477 308.263 474.8477 305.9666 474.8477 C 295.058 474.8477 l f 1 D 304.9002 478.5385 m 307.1968 478.5385 307.5248 478.7027 306.8686 480.6711 c 303.424 490.5133 L 302.0296 494.8603 301.5376 496.4187 301.1274 496.9929 c 300.9634 496.9929 L 300.6354 496.4187 299.9792 494.3683 298.5028 490.5133 c 295.058 480.9171 L 294.1558 478.5385 294.4018 478.5385 296.3704 478.5385 C 304.9002 478.5385 l f *U *u 0 D 351.5632 453.0831 m 342.7952 453.0831 337.263 455.7969 335.2796 456.9451 c 334.027 459.2415 332.6702 466.6525 332.4614 471.5585 c 332.9832 472.2893 334.549 472.4979 334.9666 471.8717 c 336.5322 466.5483 340.812 456.3189 352.9202 456.3189 c 361.6882 456.3189 365.9678 462.0599 365.9678 468.3227 c 365.9678 472.9155 365.0284 478.0301 357.4086 482.9361 c 347.4924 489.4077 L 342.2732 492.8523 336.2192 498.8021 336.2192 507.3613 c 336.2192 517.2777 343.9434 525.3151 357.513 525.3151 c 360.7488 525.3151 364.5066 524.7931 367.2204 523.9581 c 368.5774 523.6449 370.0388 523.3317 370.8738 523.3317 c 371.8132 520.8265 372.7526 514.9813 372.7526 510.5971 c 372.3352 509.9709 370.665 509.6577 370.1432 510.2841 c 368.7862 515.2943 365.9678 522.0791 355.9474 522.0791 c 345.7178 522.0791 343.5258 515.2943 343.5258 510.4929 c 343.5258 504.4387 348.5362 500.1591 352.3982 497.6539 c 360.7488 492.4349 L 367.3248 488.3641 373.7964 482.3099 373.7964 472.3935 c 373.7964 460.9115 365.1328 453.0831 351.5632 453.0831 c f *U *u 436.2588 495.1933 m 443.7822 480.8941 438.5084 464.4957 423.8462 456.7813 c 407.442 448.1505 391.9338 454.7267 385.136 467.6469 c 377.3454 482.4543 382.3214 499.0667 397.5642 507.0865 c 414.3312 515.9081 429.3082 508.4037 436.2588 495.1933 c f 1 D 393.9002 474.9455 m 399.1704 464.9289 410.6324 453.5361 423.0444 460.0665 c 431.3192 464.4203 434.7508 474.1035 427.0748 488.6929 c 421.308 499.6533 409.6892 509.7587 398.1482 503.6865 c 390.8896 499.8675 385.7658 490.4061 393.9002 474.9455 c f *U *u 0 D 469.3974 508.8855 m 474.6466 508.8855 479.2396 508.9675 480.962 509.1315 c 480.962 507.3271 480.962 501.1757 481.126 497.3209 c 480.798 496.6647 479.3216 496.5007 478.5014 496.9929 c 477.6814 501.7499 476.369 504.1283 473.2524 504.9485 c 471.0378 505.5227 468.9872 505.6047 466.3626 505.6047 c 462.1796 505.6047 L 458.735 505.6047 458.735 505.4407 458.735 500.8477 c 458.735 486.1663 L 458.735 484.1159 458.817 483.9517 460.7034 483.9517 c 465.5424 483.9517 L 472.6782 483.9517 473.9904 484.1159 474.7286 487.5605 c 475.3848 490.3493 L 475.8768 490.9233 477.4352 490.9233 477.8454 490.2671 c 477.7632 488.1347 477.5992 485.1001 477.5992 482.0653 c 477.5992 479.0307 477.7632 476.0781 477.8454 473.5355 c 477.4352 472.8793 475.8768 472.8793 475.3848 473.4533 c 474.7286 476.6521 L 473.9904 480.0969 472.6782 480.2609 465.5424 480.2609 c 460.7034 480.2609 L 458.817 480.2609 458.735 480.0969 458.735 478.0463 c 458.735 466.5637 L 458.735 457.8699 459.473 457.6237 463.328 457.2957 c 466.7728 456.8855 L 467.347 456.3115 467.2648 454.8351 466.6088 454.5071 c 461.3596 454.6711 457.6688 454.7531 454.0598 454.7531 c 450.451 454.7531 446.7602 454.6711 442.9874 454.5071 c 442.3312 454.8351 442.2492 456.3115 442.8234 456.8855 c 444.6276 457.1317 L 448.4826 457.6237 449.2208 457.8699 449.2208 466.5637 c 449.2208 497.0747 L 449.2208 505.7687 448.4826 506.0149 444.6276 506.5889 c 443.5614 506.7529 L 442.9874 507.3271 443.0694 508.8035 443.7256 509.1315 c 446.5962 508.9675 450.287 508.8855 453.8958 508.8855 C 469.3974 508.8855 l f *U *u 506.6286 501.9959 m 506.6286 505.4407 506.5464 505.6047 504.414 505.6047 c 499.821 505.6047 L 492.2752 505.6047 490.0608 504.7025 487.026 498.0589 c 486.452 497.5669 484.7296 497.8129 484.4014 498.6331 c 485.7956 503.0621 487.026 508.1473 487.6002 511.0179 c 487.7642 511.2639 488.0922 511.3461 488.5024 511.3461 c 488.8304 511.3461 489.1584 511.2639 489.3226 511.0179 c 489.7326 508.9675 490.8808 508.8855 496.4582 508.8855 c 529.9218 508.8855 L 533.9408 508.8855 535.171 509.1315 536.1552 511.0179 c 536.4832 511.1819 536.8114 511.3461 537.1396 511.3461 c 537.6316 511.3461 538.0416 511.1819 538.2056 510.9359 c 537.3856 507.5731 536.7294 500.5195 536.9754 497.8949 c 536.5654 497.2389 535.171 497.0747 534.4328 497.6489 c 533.3666 504.0465 531.8082 505.6047 523.0322 505.6047 c 518.3572 505.6047 L 516.2246 505.6047 516.1426 505.4407 516.1426 501.9959 c 516.1426 466.5637 L 516.1426 457.8699 516.8808 457.6237 520.7358 457.2137 c 523.6884 456.8855 L 524.2624 456.3115 524.1806 454.8351 523.5244 454.5071 c 518.7672 454.6711 515.0764 454.7531 511.4676 454.7531 c 507.8588 454.7531 504.0038 454.6711 498.7546 454.5071 c 498.0986 454.8351 498.0164 456.4755 498.5906 456.8855 c 502.0356 457.2957 L 505.8904 457.6237 506.6286 457.8699 506.6286 466.5637 C 506.6286 501.9959 l f *U 1 Ap 0 R 0.9 G 0.0797 w 84.1686 502.0388 m 89.091 497.1166 L 70.6526 478.6605 L 70.3158 478.324 70.3375 477.7555 70.702 477.3919 c 71.0649 477.0283 71.6334 477.0058 71.9708 477.3432 C 90.4005 495.8064 L 95.353 490.8553 L 76.7494 472.2375 L 73.8856 469.373 69.0566 469.5595 65.9624 472.653 c 62.8696 475.7465 62.6828 480.5762 65.5476 483.44 C 84.1686 502.0388 L b 84.2031 455.1757 m 79.2807 460.0978 L 97.7184 478.5537 L 98.0556 478.8902 98.0342 479.4589 97.6697 479.8225 c 97.3068 480.1871 96.7374 480.2086 96.4001 479.8712 C 77.9712 461.408 L 73.0196 466.3591 L 91.622 484.9769 L 94.4861 487.8415 99.315 487.655 102.4093 484.5614 c 105.5021 481.4685 105.6877 476.639 102.8241 473.7744 C 84.2031 455.1757 L b 85.3913 454.0591 m 90.3128 458.9812 L 108.7693 440.5428 L 109.1052 440.2063 109.6739 440.2286 110.0382 440.5922 c 110.4011 440.9561 110.4243 441.5246 110.0862 441.8613 C 91.6229 460.2917 L 96.5748 465.2433 L 115.1916 446.6406 L 118.0555 443.776 117.8697 438.9462 114.7763 435.8536 c 111.6835 432.76 106.853 432.5733 103.9891 435.438 C 85.3913 454.0591 L b 132.2538 454.0933 m 127.3313 449.1711 L 108.8755 467.6096 L 108.539 467.9461 107.9712 467.9245 107.6066 467.56 c 107.2436 467.1964 107.2207 466.6285 107.5579 466.2913 C 126.0218 447.8607 L 121.0703 442.9098 L 102.4524 461.5125 L 99.5884 464.3764 99.7744 469.2062 102.8687 472.2996 c 105.9615 475.3933 110.7918 475.5792 113.6557 472.7153 C 132.2538 454.0933 L b 133.3701 455.2815 m 128.4479 460.2039 L 146.8872 478.6592 L 147.2229 478.9963 147.2015 479.5641 146.8369 479.9286 c 146.474 480.2925 145.9046 480.3148 145.5688 479.9774 C 127.1384 461.5134 L 122.1868 466.465 L 140.7895 485.0831 L 143.6533 487.9469 148.483 487.7611 151.5765 484.6676 c 154.6694 481.574 154.8568 476.7444 151.9928 473.8803 C 133.3701 455.2815 L b 133.3358 502.1449 m 138.2582 497.2227 L 119.8198 478.7668 L 119.4831 478.4292 119.5047 477.8616 119.8692 477.498 c 120.2337 477.1335 120.8006 477.1119 121.138 477.4484 C 139.5691 495.9123 L 144.5202 490.9605 L 125.9183 472.3427 L 123.0528 469.4788 118.2239 469.6656 115.1313 472.7582 c 112.0368 475.8517 111.851 480.6816 114.7148 483.5454 C 133.3358 502.1449 L b 132.1485 503.2615 m 127.2262 498.3391 L 108.7709 516.7768 L 108.4338 517.1143 107.866 517.0917 107.5014 516.7281 c 107.1369 516.3643 107.1155 515.7958 107.4527 515.4593 C 125.9167 497.0289 L 120.9642 492.0771 L 102.347 510.6797 L 99.4832 513.5436 99.669 518.3734 102.7619 521.467 c 105.8554 524.5605 110.685 524.7464 113.5489 521.8825 C 132.1485 503.2615 L b 85.2842 503.2273 m 90.2073 508.1494 L 108.6625 489.711 L 109 489.3745 109.5678 489.3958 109.9314 489.7595 c 110.2957 490.124 110.3182 490.6918 109.9808 491.0292 C 91.5169 509.4589 L 96.4695 514.4105 L 115.0865 495.8078 L 117.9503 492.9439 117.7645 488.1143 114.6709 485.0208 c 111.5783 481.9272 106.7478 481.7414 103.8839 484.6053 C 85.2842 503.2273 L b u *u 0 Ap 1 w 193.219 433.6811 m 196.0814 445.6746 L 199.1037 445.6746 L 201.8222 433.6811 L 199.4235 433.6811 L 198.8319 436.7195 L 196.2093 436.7195 L 195.6176 433.6811 L 193.219 433.6811 l f 1 D 196.5611 438.4785 m 198.4801 438.4785 L 197.8724 441.8846 L 197.7605 442.4443 197.7125 442.988 197.6485 443.5477 c 197.6325 443.8196 197.6006 444.0914 197.5686 444.3473 c 197.5366 444.3473 L 197.5046 444.0914 197.4726 443.8196 197.4566 443.5477 c 197.3927 442.988 197.3447 442.4443 197.2328 441.8846 C 196.5611 438.4785 l f *U *u 0 D 218.0943 442.0286 m 218.1103 443.1 218.0144 444.1554 216.783 444.1554 c 216.0315 444.1554 215.5517 443.8516 215.5517 443.036 c 215.5517 442.1245 216.1274 441.7727 216.831 441.3249 c 217.5666 440.8612 218.9259 439.9657 219.5495 439.358 c 220.3171 438.6064 220.557 437.8868 220.557 436.8474 c 220.557 434.5767 219.0538 433.3933 216.863 433.3933 c 214.1765 433.3933 213.217 434.8965 213.217 437.0393 c 213.217 437.9188 L 215.4558 437.9188 L 215.4558 437.2152 L 215.4078 436.0478 215.7596 435.2003 216.863 435.2003 c 217.8065 435.2003 218.2542 435.696 218.2542 436.6075 c 218.2542 437.3112 217.9344 437.7909 217.3587 438.1907 c 216.1914 439.1022 214.7362 439.7578 213.8247 440.9571 c 213.4569 441.5009 213.249 442.1565 213.249 442.7961 c 213.249 444.843 214.4004 445.9624 216.7671 445.9624 c 220.3331 445.9624 220.2371 443.2119 220.2531 442.0286 C 218.0943 442.0286 l f *U *u 228.8296 435.0244 m 228.7976 435.0244 L 228.4777 433.953 227.8701 433.4573 226.8626 433.4413 c 225.2155 433.4413 224.8477 434.2888 224.8477 435.792 c 224.8477 442.7002 L 226.9266 442.7002 L 226.9266 436.5276 L 226.9266 436.1278 226.9106 435.68 227.1345 435.3282 c 227.3104 435.1363 227.5023 435.0404 227.7741 435.0404 c 228.7496 435.0404 228.7336 436.1438 228.7336 436.8474 c 228.7336 442.7002 L 230.8125 442.7002 L 230.8125 433.6811 L 228.8296 433.6811 L 228.8296 435.0244 l f *U *u 238.2065 441.7727 m 238.2385 441.7727 L 238.7022 442.8121 239.6297 442.9401 240.1095 442.9401 c 241.2928 442.9401 242.2523 442.2524 242.1883 440.6373 c 242.1883 433.6811 L 240.1095 433.6811 L 240.1095 439.6938 L 240.1095 440.5734 240.0135 441.149 239.2299 441.181 c 238.4464 441.213 238.1745 440.4774 238.2065 439.5179 c 238.2065 433.6811 L 236.1277 433.6811 L 236.1277 442.7002 L 238.2065 442.7002 L 238.2065 441.7727 l f *U *u 257.0861 433.6811 m 254.8474 433.6811 L 254.8474 445.6746 L 258.4134 445.6746 L 259.6128 440.1096 L 259.8047 439.1981 259.9326 438.2706 260.0285 437.3431 c 260.0605 437.3431 L 260.1725 438.5265 260.2524 439.326 260.4123 440.1096 c 261.6117 445.6746 L 265.1617 445.6746 L 265.1617 433.6811 L 262.9229 433.6811 L 262.9229 437.4551 L 262.9229 439.8378 262.9709 442.2205 263.1148 444.6031 c 263.0829 444.6031 L 260.6842 433.6811 L 259.3249 433.6811 L 256.9742 444.6031 L 256.8943 444.6031 L 257.0382 442.2205 257.0861 439.8378 257.0861 437.4551 C 257.0861 433.6811 l f *U *u 270.6366 433.6811 m 270.6366 442.7002 L 272.7154 442.7002 L 272.7154 433.6811 L 270.6366 433.6811 l f 1 D 270.6366 443.7876 m 270.6366 445.6746 L 272.7154 445.6746 L 272.7154 443.7876 L 270.6366 443.7876 l f *U *u 0 D 281.3204 439.5659 m 281.3204 440.5734 L 281.2884 441.0691 281.0485 441.3409 280.6008 441.3409 c 279.8012 441.3409 279.8012 440.4294 279.8172 439.326 c 279.8172 437.1992 L 279.7693 435.4402 279.9771 435.1204 280.6008 435.0404 c 281.2404 435.0564 281.2564 435.6481 281.3204 436.3677 c 281.3204 437.1992 L 283.3993 437.1992 L 283.3993 436.3677 L 283.3993 434.4807 282.6157 433.4413 280.5528 433.4413 c 278.7138 433.4413 277.6584 434.4167 277.7384 436.8154 c 277.7384 439.7418 L 277.7224 442.2684 278.9697 442.9401 280.5528 442.9401 c 282.6477 442.9401 283.4152 441.6288 283.3993 440.2855 c 283.3993 439.5659 L 281.3204 439.5659 l f *U *u 290.2627 441.1011 m 290.2946 441.1011 L 290.5505 441.7567 290.8064 442.1245 291.1102 442.3804 c 291.7019 442.8761 292.1016 442.8441 292.4055 442.8601 c 292.4055 440.3975 L 291.2541 440.5094 290.3746 440.2216 290.3426 438.8943 c 290.3426 433.6811 L 288.2638 433.6811 L 288.2638 442.7002 L 290.2627 442.7002 L 290.2627 441.1011 l f *U *u 296.708 437.8708 m 296.724 440.9571 296.7559 442.9401 299.8902 442.9401 c 302.9765 442.9401 302.9925 440.9571 303.0085 437.8708 c 303.0245 434.7366 302.5767 433.3933 299.8902 433.4413 c 297.1557 433.3933 296.692 434.7366 296.708 437.8708 c f 1 D 298.7868 436.6235 m 298.7868 435.5201 298.8828 435.0404 299.8902 435.0404 c 300.8497 435.0404 300.9297 435.5201 300.9297 436.6235 c 300.9297 439.6299 L 300.9297 440.4774 300.9297 441.3409 299.8902 441.3409 c 298.7868 441.3409 298.7868 440.4774 298.7868 439.6299 C 298.7868 436.6235 l f *U *u 0 D 309.619 436.6555 m 309.4591 434.9924 310.0987 435.0404 310.5785 435.0404 c 311.1701 435.0404 311.5859 435.4722 311.442 436.0478 c 311.41 436.5596 310.8183 436.8474 310.4185 437.1193 c 309.2832 437.9028 L 308.2437 438.6224 307.5721 439.454 307.5721 440.7493 c 307.5721 442.1405 308.6755 442.9401 310.6744 442.9401 c 312.6893 442.9401 313.6168 441.8846 313.5688 439.9497 c 311.49 439.9497 L 311.5379 440.9571 311.2501 441.3409 310.5305 441.3409 c 310.0348 441.3409 309.651 441.1171 309.651 440.6053 c 309.651 440.0776 310.0348 439.8378 310.4345 439.5659 c 312.1296 438.4145 L 312.6573 438.1107 313.4889 437.2472 313.5528 436.6395 c 313.7287 435.0724 313.3449 433.4413 310.4665 433.4413 c 309.3631 433.4413 307.3003 433.905 307.5401 436.6555 C 309.619 436.6555 l f *U *u 319.6966 442.7002 m 320.6081 437.9188 L 320.752 437.1193 320.832 436.3197 320.912 435.5201 c 320.9439 435.5201 L 321.0079 436.3037 321.1198 437.0873 321.2638 437.8549 c 322.1753 442.7002 L 324.2861 442.7002 L 322.0953 433.5532 L 321.5676 431.5063 321.5196 430.227 318.6412 430.6428 c 318.6412 432.2579 L 318.977 432.2579 319.8725 432.082 319.8725 432.6577 c 319.8725 432.9775 319.7606 433.4893 319.6806 433.8091 c 317.5058 442.7002 L 319.6966 442.7002 l f *U *u 329.9662 436.6555 m 329.8062 434.9924 330.4459 435.0404 330.9256 435.0404 c 331.5173 435.0404 331.9331 435.4722 331.7891 436.0478 c 331.7572 436.5596 331.1655 436.8474 330.7657 437.1193 c 329.6303 437.9028 L 328.5909 438.6224 327.9193 439.454 327.9193 440.7493 c 327.9193 442.1405 329.0227 442.9401 331.0216 442.9401 c 333.0365 442.9401 333.964 441.8846 333.916 439.9497 c 331.8371 439.9497 L 331.8851 440.9571 331.5973 441.3409 330.8777 441.3409 c 330.3819 441.3409 329.9981 441.1171 329.9981 440.6053 c 329.9981 440.0776 330.3819 439.8378 330.7817 439.5659 c 332.4768 438.4145 L 333.0045 438.1107 333.836 437.2472 333.9 436.6395 c 334.0759 435.0724 333.6921 433.4413 330.8137 433.4413 c 329.7103 433.4413 327.6474 433.905 327.8873 436.6555 C 329.9662 436.6555 l f *U *u 341.9627 433.6492 m 340.7314 433.5052 339.0044 433.3933 339.0044 435.0724 c 339.0044 441.181 L 338.1568 441.181 L 338.1568 442.7002 L 338.9884 442.7002 L 338.9884 445.1788 L 341.0832 445.1788 L 341.0832 442.7002 L 341.9627 442.7002 L 341.9627 441.181 L 341.0832 441.181 L 341.0832 435.5841 L 341.1312 435.2003 341.7069 435.2483 341.9627 435.2803 C 341.9627 433.6492 l f *U *u 346.4417 439.5979 m 346.3458 441.7247 347.4332 442.9401 349.4801 442.9401 c 352.3745 442.9401 352.6783 441.4369 352.6783 438.9742 c 352.6783 437.7589 L 348.5206 437.7589 L 348.5206 436.4476 L 348.5366 435.2643 348.9843 435.0404 349.608 435.0404 c 350.3756 435.0404 350.5995 435.6001 350.5675 436.7355 c 352.6463 436.7355 L 352.7263 434.7206 351.8947 433.4413 349.7679 433.4413 c 347.3692 433.4413 346.3938 434.5767 346.4417 437.2312 C 346.4417 439.5979 l f 1 D 350.5995 439.358 m 350.5995 440.1416 L 350.5835 441.0531 350.3436 441.3409 349.5121 441.3409 c 348.4726 441.3409 348.5206 440.5414 348.5206 439.7258 c 348.5206 439.358 L 350.5995 439.358 l f *U *u 0 D 359.9764 441.7727 m 360.0084 441.7727 L 360.4721 442.7642 361.3197 442.9081 361.9913 442.9401 c 362.7589 442.9561 363.7823 442.6202 363.9262 441.7727 c 364.342 442.5563 364.9976 442.9401 366.0211 442.9401 c 367.5562 442.9401 368.2279 441.9806 368.2279 441.0211 c 368.2279 433.6811 L 366.149 433.6811 L 366.149 439.7738 L 366.149 440.5894 366.0691 441.3889 365.1576 441.3409 c 364.2621 441.293 364.1021 440.6693 364.1021 439.6139 c 364.1021 433.6811 L 362.0233 433.6811 L 362.0233 439.8857 L 362.0233 440.6853 361.9593 441.3569 360.9998 441.3409 c 360.0244 441.3249 359.9764 440.6053 359.9764 439.6139 c 359.9764 433.6811 L 357.8975 433.6811 L 357.8975 442.7002 L 359.9764 442.7002 L 359.9764 441.7727 l f *U *u 375.046 436.6555 m 374.8861 434.9924 375.5257 435.0404 376.0055 435.0404 c 376.5971 435.0404 377.0129 435.4722 376.869 436.0478 c 376.837 436.5596 376.2453 436.8474 375.8455 437.1193 c 374.7102 437.9028 L 373.6707 438.6224 372.9991 439.454 372.9991 440.7493 c 372.9991 442.1405 374.1025 442.9401 376.1014 442.9401 c 378.1163 442.9401 379.0438 441.8846 378.9958 439.9497 c 376.917 439.9497 L 376.9649 440.9571 376.6771 441.3409 375.9575 441.3409 c 375.4618 441.3409 375.078 441.1171 375.078 440.6053 c 375.078 440.0776 375.4618 439.8378 375.8615 439.5659 c 377.5566 438.4145 L 378.0843 438.1107 378.9159 437.2472 378.9798 436.6395 c 379.1557 435.0724 378.7719 433.4413 375.8935 433.4413 c 374.7901 433.4413 372.7273 433.905 372.9671 436.6555 C 375.046 436.6555 l f *U *u 384.468 432.066 m 385.2196 432.146 385.6353 432.8176 385.5874 433.6811 c 384.468 433.6811 L 384.468 435.792 L 386.5788 435.792 L 386.5788 433.7291 L 386.5788 432.3699 385.8752 431.5383 384.468 431.3624 C 384.468 432.066 l f *U *u 399.7444 433.6811 m 399.7444 445.6746 L 401.9831 445.6746 L 401.9831 433.6811 L 399.7444 433.6811 l f *U *u 409.3725 441.7727 m 409.4045 441.7727 L 409.8683 442.8121 410.7957 442.9401 411.2755 442.9401 c 412.4588 442.9401 413.4183 442.2524 413.3543 440.6373 c 413.3543 433.6811 L 411.2755 433.6811 L 411.2755 439.6938 L 411.2755 440.5734 411.1795 441.149 410.396 441.181 c 409.6124 441.213 409.3405 440.4774 409.3725 439.5179 c 409.3725 433.6811 L 407.2937 433.6811 L 407.2937 442.7002 L 409.3725 442.7002 L 409.3725 441.7727 l f *U *u 421.8997 439.5659 m 421.8997 440.5734 L 421.8678 441.0691 421.6279 441.3409 421.1801 441.3409 c 420.3806 441.3409 420.3806 440.4294 420.3966 439.326 c 420.3966 437.1992 L 420.3486 435.4402 420.5565 435.1204 421.1801 435.0404 c 421.8198 435.0564 421.8358 435.6481 421.8997 436.3677 c 421.8997 437.1992 L 423.9786 437.1992 L 423.9786 436.3677 L 423.9786 434.4807 423.195 433.4413 421.1322 433.4413 c 419.2932 433.4413 418.2378 434.4167 418.3177 436.8154 c 418.3177 439.7418 L 418.3017 442.2684 419.549 442.9401 421.1322 442.9401 c 423.227 442.9401 423.9946 441.6288 423.9786 440.2855 c 423.9786 439.5659 L 421.8997 439.5659 l f *U *u 429.3391 433.6811 m 429.3391 435.792 L 431.4499 435.792 L 431.4499 433.6811 L 429.3391 433.6811 l f *U *u 444.5515 433.6811 m 444.5515 445.6746 L 448.1655 445.6746 L 449.125 445.6746 450.0684 445.6106 450.7081 444.795 c 451.2198 444.1394 451.2998 443.4518 451.2998 442.6362 c 451.2998 441.5968 451.0759 440.5734 449.8606 440.1256 c 449.8606 440.0936 L 451.1239 439.9177 451.6036 438.8623 451.6036 437.3112 c 451.6036 436.8154 451.5716 436.3197 451.4437 435.84 c 450.964 434.3208 450.1004 433.6811 448.5013 433.6811 C 444.5515 433.6811 l f 1 D 447.27 435.4402 m 447.7337 435.4402 448.2135 435.3922 448.6132 435.5681 c 449.2209 435.84 449.3009 436.6235 449.3009 437.2312 c 449.3009 438.5265 449.045 439.0702 447.6538 439.0702 c 446.7902 439.0702 L 446.7902 435.4402 L 447.27 435.4402 l f 447.206 440.8292 m 447.7497 440.8292 448.4533 440.7972 448.8051 441.245 c 449.013 441.5488 449.045 441.9646 449.045 442.5403 c 449.045 443.4358 448.8531 443.8835 447.8297 443.9155 c 446.7902 443.9155 L 446.7902 440.8292 L 447.206 440.8292 l f *U *u 0 D 460.5478 435.0244 m 460.5158 435.0244 L 460.196 433.953 459.5883 433.4573 458.5809 433.4413 c 456.9338 433.4413 456.566 434.2888 456.566 435.792 c 456.566 442.7002 L 458.6449 442.7002 L 458.6449 436.5276 L 458.6449 436.1278 458.6289 435.68 458.8527 435.3282 c 459.0287 435.1363 459.2205 435.0404 459.4924 435.0404 c 460.4679 435.0404 460.4519 436.1438 460.4519 436.8474 c 460.4519 442.7002 L 462.5307 442.7002 L 462.5307 433.6811 L 460.5478 433.6811 L 460.5478 435.0244 l f *U *u 469.3971 436.6555 m 469.2371 434.9924 469.8768 435.0404 470.3565 435.0404 c 470.9482 435.0404 471.364 435.4722 471.2201 436.0478 c 471.1881 436.5596 470.5964 436.8474 470.1966 437.1193 c 469.0612 437.9028 L 468.0218 438.6224 467.3502 439.454 467.3502 440.7493 c 467.3502 442.1405 468.4536 442.9401 470.4525 442.9401 c 472.4674 442.9401 473.3949 441.8846 473.3469 439.9497 c 471.268 439.9497 L 471.316 440.9571 471.0282 441.3409 470.3086 441.3409 c 469.8128 441.3409 469.429 441.1171 469.429 440.6053 c 469.429 440.0776 469.8128 439.8378 470.2126 439.5659 c 471.9077 438.4145 L 472.4354 438.1107 473.2669 437.2472 473.3309 436.6395 c 473.5068 435.0724 473.123 433.4413 470.2446 433.4413 c 469.1412 433.4413 467.0783 433.905 467.3182 436.6555 C 469.3971 436.6555 l f *U *u 478.3873 433.6811 m 478.3873 442.7002 L 480.4662 442.7002 L 480.4662 433.6811 L 478.3873 433.6811 l f 478.3873 443.7876 m 478.3873 445.6746 L 480.4662 445.6746 L 480.4662 443.7876 L 478.3873 443.7876 l f *U *u 487.9355 441.7727 m 487.9675 441.7727 L 488.4312 442.8121 489.3587 442.9401 489.8385 442.9401 c 491.0218 442.9401 491.9813 442.2524 491.9173 440.6373 c 491.9173 433.6811 L 489.8385 433.6811 L 489.8385 439.6938 L 489.8385 440.5734 489.7425 441.149 488.9589 441.181 c 488.1754 441.213 487.9035 440.4774 487.9355 439.5179 c 487.9355 433.6811 L 485.8567 433.6811 L 485.8567 442.7002 L 487.9355 442.7002 L 487.9355 441.7727 l f *U *u 497.1046 439.5979 m 497.0086 441.7247 498.096 442.9401 500.1429 442.9401 c 503.0373 442.9401 503.3412 441.4369 503.3412 438.9742 c 503.3412 437.7589 L 499.1834 437.7589 L 499.1834 436.4476 L 499.1994 435.2643 499.6472 435.0404 500.2708 435.0404 c 501.0384 435.0404 501.2623 435.6001 501.2303 436.7355 c 503.3092 436.7355 L 503.3891 434.7206 502.5576 433.4413 500.4308 433.4413 c 498.0321 433.4413 497.0566 434.5767 497.1046 437.2312 C 497.1046 439.5979 l f 501.2623 439.358 m 501.2623 440.1416 L 501.2463 441.0531 501.0064 441.3409 500.1749 441.3409 c 499.1355 441.3409 499.1834 440.5414 499.1834 439.7258 c 499.1834 439.358 L 501.2623 439.358 l f *U *u 509.7118 436.6555 m 509.5518 434.9924 510.1915 435.0404 510.6712 435.0404 c 511.2629 435.0404 511.6787 435.4722 511.5348 436.0478 c 511.5028 436.5596 510.9111 436.8474 510.5113 437.1193 c 509.3759 437.9028 L 508.3365 438.6224 507.6649 439.454 507.6649 440.7493 c 507.6649 442.1405 508.7683 442.9401 510.7672 442.9401 c 512.7821 442.9401 513.7096 441.8846 513.6616 439.9497 c 511.5827 439.9497 L 511.6307 440.9571 511.3429 441.3409 510.6233 441.3409 c 510.1275 441.3409 509.7437 441.1171 509.7437 440.6053 c 509.7437 440.0776 510.1275 439.8378 510.5273 439.5659 c 512.2224 438.4145 L 512.7501 438.1107 513.5816 437.2472 513.6456 436.6395 c 513.8215 435.0724 513.4377 433.4413 510.5593 433.4413 c 509.4559 433.4413 507.393 433.905 507.6329 436.6555 C 509.7118 436.6555 l f *U *u 520.0453 436.6555 m 519.8853 434.9924 520.525 435.0404 521.0047 435.0404 c 521.5964 435.0404 522.0122 435.4722 521.8683 436.0478 c 521.8363 436.5596 521.2446 436.8474 520.8448 437.1193 c 519.7094 437.9028 L 518.67 438.6224 517.9984 439.454 517.9984 440.7493 c 517.9984 442.1405 519.1018 442.9401 521.1007 442.9401 c 523.1156 442.9401 524.0431 441.8846 523.9951 439.9497 c 521.9162 439.9497 L 521.9642 440.9571 521.6764 441.3409 520.9568 441.3409 c 520.461 441.3409 520.0772 441.1171 520.0772 440.6053 c 520.0772 440.0776 520.461 439.8378 520.8608 439.5659 c 522.5559 438.4145 L 523.0836 438.1107 523.9151 437.2472 523.9791 436.6395 c 524.155 435.0724 523.7712 433.4413 520.8928 433.4413 c 519.7894 433.4413 517.7265 433.905 517.9664 436.6555 C 520.0453 436.6555 l f *U U U LB %AI5_EndLayer-- %%PageTrailer gsave annotatepage grestore showpage %%Trailer Adobe_IllustratorA_AI5 /terminate get exec Adobe_level2_AI5 /terminate get exec %%EOF %%EndDocument FMENDEPSF 0 0 0 1 0 0 0 K 0 72 612 720 C 0 0 0 1 0 0 0 K [/Creator(FrameMaker xm5.1P2a)/DOCINFO FmPD2 [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.1/DEST FmPD2 [/Dest/F.titlepagedoc/DEST FmPD2 [/Dest/L.titlepagedoc/DEST FmPD2 [/Title(A)/Rect[45 540 567 650]/ARTICLE FmPD2 [/Title(A)/Rect[45 294 567 540]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "1" 1 %%Page: "2" 2 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 184.97 83.74 393.7 101.23 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 0 28 26 105 100 36 36 54 162 FMBEGINEPSF %%BeginDocument: %!PS-Adobe-2.0 EPSF-2.0 %%Creator: Adobe Illustrator(TM) 3.0 %%For: (clyde) (sun) %%Title: (recycle.logo) %%CreationDate: (9/24/91) (4:13 PM) %%DocumentProcessColors: Black %%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0 %%+ procset Adobe_cmykcolor 1.1 0 %%+ procset Adobe_cshow 1.1 0 %%+ procset Adobe_customcolor 1.0 0 %%+ procset Adobe_IllustratorA_AI3 1.0 0 %%BoundingBox: 28 26 105 100 %AI3_ColorUsage: Black&White %AI3_TemplateBox: 306 396 306 396 %AI3_TileBox: 30 31 582 761 %AI3_DocumentPreview: Macintosh_Pic %%EndComments %%BeginProlog %%BeginResource: procset Adobe_packedarray 2.0 0 %%Title: (Packed Array Operators) %%Version: 2.0 %%CreationDate: (8/2/90) () %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) userdict /Adobe_packedarray 5 dict dup begin put /initialize % - initialize - { /packedarray where { pop } { Adobe_packedarray begin Adobe_packedarray { dup xcheck { bind } if userdict 3 1 roll put } forall end } ifelse } def /terminate % - terminate - { } def /packedarray % arguments count packedarray array { array astore readonly } def /setpacking % boolean setpacking - { pop } def /currentpacking % - setpacking boolean { false } def currentdict readonly pop end %%EndResource Adobe_packedarray /initialize get exec %%BeginResource: procset Adobe_cmykcolor 1.1 0 %%Title: (CMYK Color Operators) %%Version: 1.1 %%CreationDate: (1/23/89) () %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) currentpacking true setpacking userdict /Adobe_cmykcolor 4 dict dup begin put /initialize % - initialize - { /setcmykcolor where { pop } { userdict /Adobe_cmykcolor_vars 2 dict dup begin put /_setrgbcolor /setrgbcolor load def /_currentrgbcolor /currentrgbcolor load def Adobe_cmykcolor begin Adobe_cmykcolor { dup xcheck { bind } if pop pop } forall end end Adobe_cmykcolor begin } ifelse } def /terminate % - terminate - { currentdict Adobe_cmykcolor eq { end } if } def /setcmykcolor % cyan magenta yellow black setcmykcolor - { 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat Adobe_cmykcolor_vars /_setrgbcolor get exec pop } def /currentcmykcolor % - currentcmykcolor cyan magenta yellow black { Adobe_cmykcolor_vars /_currentrgbcolor get exec 3 { 1 sub neg 3 1 roll } repeat 0 } def currentdict readonly pop end setpacking %%EndResource %%BeginResource: procset Adobe_cshow 1.1 0 %%Title: (cshow Operator) %%Version: 1.1 %%CreationDate: (1/23/89) () %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) currentpacking true setpacking userdict /Adobe_cshow 3 dict dup begin put /initialize % - initialize - { /cshow where { pop } { userdict /Adobe_cshow_vars 1 dict dup begin put /_cshow % - _cshow proc {} def Adobe_cshow begin Adobe_cshow { dup xcheck { bind } if userdict 3 1 roll put } forall end end } ifelse } def /terminate % - terminate - { } def /cshow % proc string cshow - { exch Adobe_cshow_vars exch /_cshow exch put { 0 0 Adobe_cshow_vars /_cshow get exec } forall } def currentdict readonly pop end setpacking %%EndResource %%BeginResource: procset Adobe_customcolor 1.0 0 %%Title: (Custom Color Operators) %%Version: 1.0 %%CreationDate: (5/9/88) () %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) currentpacking true setpacking userdict /Adobe_customcolor 5 dict dup begin put /initialize % - initialize - { /setcustomcolor where { pop } { Adobe_customcolor begin Adobe_customcolor { dup xcheck { bind } if pop pop } forall end Adobe_customcolor begin } ifelse } def /terminate % - terminate - { currentdict Adobe_customcolor eq { end } if } def /findcmykcustomcolor % cyan magenta yellow black name findcmykcustomcolor object { 5 packedarray } def /setcustomcolor % object tint setcustomcolor - { exch aload pop pop 4 { 4 index mul 4 1 roll } repeat 5 -1 roll pop setcmykcolor } def /setoverprint % boolean setoverprint - { pop } def currentdict readonly pop end setpacking %%EndResource %%BeginResource: procset Adobe_IllustratorA_AI3 1.0 0 %%Title: (Adobe Illustrator (R) Version 3.0 Abbreviated Prolog) %%Version: 1.0 %%CreationDate: (7/22/89) () %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) currentpacking true setpacking userdict /Adobe_IllustratorA_AI3 61 dict dup begin put % initialization /initialize % - initialize - { userdict /Adobe_IllustratorA_AI3_vars 46 dict dup begin put % paint operands /_lp /none def /_pf {} def /_ps {} def /_psf {} def /_pss {} def /_pjsf {} def /_pjss {} def /_pola 0 def /_doClip 0 def % paint operators /cf currentflat def % - cf flatness % typography operands /_tm matrix def /_renderStart [/e0 /r0 /a0 /o0 /i0 /i0 /i0 /i0] def /_renderEnd [null null null null /e1 /r1 /a1 /clip] def /_render -1 def /_rise 0 def /_ax 0 def % x character spacing (_ax, _ay, _cx, _cy follows awidthshow naming convention) /_ay 0 def % y character spacing /_cx 0 def % x word spacing /_cy 0 def % y word spacing /_leading [0 0] def /_ctm matrix def /_mtx matrix def /_sp 16#020 def /_hyphen (-) def /_fScl 0 def /_cnt 0 def /_hs 1 def /_nativeEncoding 0 def /_useNativeEncoding 0 def /_tempEncode 0 def /_pntr 0 def % typography operators /Tx {} def /Tj {} def % compound path operators /CRender {} def % printing /_AI3_savepage {} def % color operands /_gf null def /_cf 4 array def /_if null def /_of false def /_fc {} def /_gs null def /_cs 4 array def /_is null def /_os false def /_sc {} def /_i null def Adobe_IllustratorA_AI3 begin Adobe_IllustratorA_AI3 { dup xcheck { bind } if pop pop } forall end end Adobe_IllustratorA_AI3 begin Adobe_IllustratorA_AI3_vars begin newpath } def /terminate % - terminate - { end end } def % definition operators /_ % - _ null null def /ddef % key value ddef - { Adobe_IllustratorA_AI3_vars 3 1 roll put } def /xput % key value literal xput - { dup load dup length exch maxlength eq { dup dup load dup length 2 mul dict copy def } if load begin def end } def /npop % integer npop - { { pop } repeat } def % marking operators /sw % ax ay string sw x y { dup length exch stringwidth exch 5 -1 roll 3 index 1 sub mul add 4 1 roll 3 1 roll 1 sub mul add } def /swj % cx cy fillchar ax ay string swj x y { dup 4 1 roll dup length exch stringwidth exch 5 -1 roll 3 index 1 sub mul add 4 1 roll 3 1 roll 1 sub mul add 6 2 roll /_cnt 0 ddef {1 index eq {/_cnt _cnt 1 add ddef} if} forall pop exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop } def /ss % ax ay string matrix ss - { 4 1 roll { % matrix ax ay char 0 0 {proc} - 2 npop (0) exch 2 copy 0 exch put pop gsave false charpath currentpoint 4 index setmatrix stroke grestore moveto 2 copy rmoveto } exch cshow 3 npop } def /jss % cx cy fillchar ax ay string matrix jss - { 4 1 roll { % cx cy fillchar matrix ax ay char 0 0 {proc} - 2 npop (0) exch 2 copy 0 exch put gsave _sp eq { exch 6 index 6 index 6 index 5 -1 roll widthshow currentpoint } { false charpath currentpoint 4 index setmatrix stroke }ifelse grestore moveto 2 copy rmoveto } exch cshow 6 npop } def % path operators /sp % ax ay string sp - { { 2 npop (0) exch 2 copy 0 exch put pop false charpath 2 copy rmoveto } exch cshow 2 npop } def /jsp % cx cy fillchar ax ay string jsp - { { % cx cy fillchar ax ay char 0 0 {proc} - 2 npop (0) exch 2 copy 0 exch put _sp eq { exch 5 index 5 index 5 index 5 -1 roll widthshow } { false charpath }ifelse 2 copy rmoveto } exch cshow 5 npop } def % path construction operators /pl % x y pl x y { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } def /setstrokeadjust where { pop true setstrokeadjust /c % x1 y1 x2 y2 x3 y3 c - { curveto } def /C /c load def /v % x2 y2 x3 y3 v - { currentpoint 6 2 roll curveto } def /V /v load def /y % x1 y1 x2 y2 y - { 2 copy curveto } def /Y /y load def /l % x y l - { lineto } def /L /l load def /m % x y m - { moveto } def } {%else /c { pl curveto } def /C /c load def /v { currentpoint 6 2 roll pl curveto } def /V /v load def /y { pl 2 copy curveto } def /Y /y load def /l { pl lineto } def /L /l load def /m { pl moveto } def }ifelse % graphic state operators /d % array phase d - { setdash } def /cf {} def % - cf flatness /i % flatness i - { dup 0 eq { pop cf } if setflat } def /j % linejoin j - { setlinejoin } def /J % linecap J - { setlinecap } def /M % miterlimit M - { setmiterlimit } def /w % linewidth w - { setlinewidth } def % path painting operators /H % - H - {} def /h % - h - { closepath } def /N % - N - { _pola 0 eq { _doClip 1 eq {clip /_doClip 0 ddef} if newpath } { /CRender {N} ddef }ifelse } def /n % - n - {N} def /F % - F - { _pola 0 eq { _doClip 1 eq { gsave _pf grestore clip newpath /_lp /none ddef _fc /_doClip 0 ddef } { _pf }ifelse } { /CRender {F} ddef }ifelse } def /f % - f - { closepath F } def /S % - S - { _pola 0 eq { _doClip 1 eq { gsave _ps grestore clip newpath /_lp /none ddef _sc /_doClip 0 ddef } { _ps }ifelse } { /CRender {S} ddef }ifelse } def /s % - s - { closepath S } def /B % - B - { _pola 0 eq { _doClip 1 eq % F clears _doClip gsave F grestore { gsave S grestore clip newpath /_lp /none ddef _sc /_doClip 0 ddef } { S }ifelse } { /CRender {B} ddef }ifelse } def /b % - b - { closepath B } def /W % - W - { /_doClip 1 ddef } def /* % - [string] * - { count 0 ne { dup type (stringtype) eq {pop} if } if _pola 0 eq {newpath} if } def % group operators /u % - u - {} def /U % - U - {} def /q % - q - { _pola 0 eq {gsave} if } def /Q % - Q - { _pola 0 eq {grestore} if } def /*u % - *u - { _pola 1 add /_pola exch ddef } def /*U % - *U - { _pola 1 sub /_pola exch ddef _pola 0 eq {CRender} if } def /D % polarized D - {pop} def /*w % - *w - {} def /*W % - *W - {} def % place operators /` % matrix llx lly urx ury string ` - { /_i save ddef 6 1 roll 4 npop concat userdict begin /showpage {} def false setoverprint pop } def /~ % - ~ - { end _i restore } def % color operators /O % flag O - { 0 ne /_of exch ddef /_lp /none ddef } def /R % flag R - { 0 ne /_os exch ddef /_lp /none ddef } def /g % gray g - { /_gf exch ddef /_fc { _lp /fill ne { _of setoverprint _gf setgray /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /G % gray G - { /_gs exch ddef /_sc { _lp /stroke ne { _os setoverprint _gs setgray /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /k % cyan magenta yellow black k - { _cf astore pop /_fc { _lp /fill ne { _of setoverprint _cf aload pop setcmykcolor /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /K % cyan magenta yellow black K - { _cs astore pop /_sc { _lp /stroke ne { _os setoverprint _cs aload pop setcmykcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /x % cyan magenta yellow black name gray x - { /_gf exch ddef findcmykcustomcolor /_if exch ddef /_fc { _lp /fill ne { _of setoverprint _if _gf 1 exch sub setcustomcolor /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /X % cyan magenta yellow black name gray X - { /_gs exch ddef findcmykcustomcolor /_is exch ddef /_sc { _lp /stroke ne { _os setoverprint _is _gs 1 exch sub setcustomcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def % locked object operator /A % value A - { pop } def currentdict readonly pop end setpacking % annotate page operator /annotatepage { } def %%EndResource %%EndProlog %%BeginSetup Adobe_cmykcolor /initialize get exec Adobe_cshow /initialize get exec Adobe_customcolor /initialize get exec Adobe_IllustratorA_AI3 /initialize get exec %%EndSetup 0 A u u 0 R 0 G 0 i 0 J 0 j 1.5 w 10 M []0 d %AI3_Note: 0 D 55.8513 89.3866 m 70.6271 89.3302 l 77.0061 89.4337 78.4273 86.3828 y 81.2352 82.0317 l 85.1147 84.3127 l 78.8875 72.4495 l 65.0513 72.4954 l 68.806 74.7695 l 62.7847 84.0125 l 57.169 92.7147 54.0208 88.5339 53.0985 87.1056 c 46.3582 75.4643 l 58.1242 68.7309 l 65.0414 80.5698 l S U u 46.1811 39.5344 m 38.8421 52.3589 l 35.5629 57.8315 37.4945 60.5878 y 39.8587 65.195 l 35.9435 67.4144 l 49.3311 67.953 l 56.2094 55.9475 l 52.3626 58.0622 l 47.3685 48.226 l 42.64 39.0115 47.8349 38.3755 49.5329 38.2909 c 62.9848 38.2743 l 62.9331 51.8307 l 49.2217 51.9017 l S U u 94.6634 56.0541 m 87.2266 43.2861 l 84.1268 37.7099 80.774 38.0046 y 75.6019 37.7484 l 75.6374 33.2481 l 68.4772 44.5727 l 75.4352 56.5324 l 75.5272 52.1436 l 86.5426 52.7367 l 96.8869 53.249 94.8403 58.0658 94.0645 59.5787 c 87.353 71.2367 l 75.6386 64.4136 l 82.4327 52.5037 l S U U %%PageTrailer gsave annotatepage grestore showpage %%Trailer Adobe_IllustratorA_AI3 /terminate get exec Adobe_customcolor /terminate get exec Adobe_cshow /terminate get exec Adobe_cmykcolor /terminate get exec Adobe_packedarray /terminate get exec %%EOF %%EndDocument FMENDEPSF 54.67 126 90.67 162 R 1 1 0 0 0 0 1 K V 0 0 0 1 0 0 0 K 1 8 Q 0 X 0 0 0 1 0 0 0 K 0.08 (Please) 61.32 156.67 S 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 0.08 (Recycle) 58.94 145.67 S 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 9 Q -0.58 0.09 (Copyright Information) 54 591 B 2 F -0.58 0.09 (\323) 54 574 B 1 F -0.58 0.09 ( 1996, 1997 Sun Micr) 61.2 574 B -0.58 0.09 (osystems, Inc. All rights r) 141.82 574 B -0.58 0.09 (eserved.) 243.03 574 B -0.58 0.09 (2550 Gar) 54 563 B -0.58 0.09 (cia A) 89.14 563 B -0.58 0.09 (venue, Mountain V) 108.55 563 B -0.58 0.09 (iew) 185.42 563 B -0.58 0.09 (, California 94043-1) 199.29 563 B -0.58 0.09 (100 U.S.A.) 276.12 563 B -0.58 0.09 (This document is pr) 54 546 B -0.58 0.09 (otected by copyright. No part of this document may be r) 133.4 546 B -0.58 0.09 (epr) 356.5 546 B -0.58 0.09 (oduced in any form by any means without prior) 369.89 546 B -0.58 0.09 (written authorization of Sun and its licensors, if any) 54 535 B -0.58 0.09 (.) 259.57 535 B -0.58 0.09 (The information described in this document may be pr) 54 518 B -0.58 0.09 (otected by one or mor) 271.39 518 B -0.58 0.09 (e U.S. patents, for) 358.01 518 B -0.58 0.09 (eign patents, or pending) 427.95 518 B 0.09 (applications.) 54 507 S 0.09 (TRADEMARKS) 54 473 S -0.58 0.09 (Sun, Sun Micr) 54 456 B -0.58 0.09 (osystems, Sun Micr) 110.05 456 B -0.58 0.09 (oelectr) 187.72 456 B -0.58 0.09 (onics, the Sun Logo, SunXTL, JavaSoft, JavaOS, the JavaSoft Logo, Java, HotJava,) 214.83 456 B -0.58 0.09 (JavaChips, picoJava, micr) 54 445 B -0.58 0.09 (oJava, UltraJava, JDBC, the Java Cup and Steam Logo, \322W) 156.6 445 B -0.58 0.09 (rite Once, Run Anywher) 386.66 445 B -0.58 0.09 (e\323 and Solaris ar) 484.29 445 B -0.58 0.09 (e) 549.51 445 B -0.58 0.09 (trademarks or r) 54 434 B -0.58 0.09 (egister) 116.16 434 B -0.58 0.09 (ed trademarks of Sun Micr) 143.18 434 B -0.58 0.09 (osystems, Inc. in the United States and other countries.) 249.34 434 B -0.58 0.09 (UNIX) 54 423 B 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 6.4 Q -0.42 0.06 (\250) 79.12 426.2 B 1 9 Q -0.58 0.09 ( is a r) 83.97 423 B -0.58 0.09 (egister) 103.92 423 B -0.58 0.09 (ed trademark in the United States and other countries, exclusively licensed thr) 130.94 423 B -0.58 0.09 (ough X/Open Company) 442.81 423 B -0.58 0.09 (, Ltd.) 540.32 423 B -0.58 0.09 (Adobe) 54 412 B 1 6.4 Q -0.42 0.06 (\250) 82.91 415.2 B 1 9 Q -0.58 0.09 ( is a r) 87.75 412 B -0.58 0.09 (egister) 107.71 412 B -0.58 0.09 (ed trademark of Adobe Systems, Inc.) 134.72 412 B -0.58 0.09 (Netscape Navigator) 54 401 B 1 6.4 Q -0.42 0.06 (\252) 134.63 404.2 B 1 9 Q -0.58 0.09 ( is a trademark of Netscape Communications Corporation.) 140.96 401 B -0.58 0.09 (All other pr) 54 390 B -0.58 0.09 (oduct names mentioned her) 100.4 390 B -0.58 0.09 (ein ar) 212.18 390 B -0.58 0.09 (e the trademarks of their r) 234.45 390 B -0.58 0.09 (espective owners.) 337.58 390 B 0.47 0.09 (THIS DOCUMENT IS PROVIDED \322AS IS\323 WITHOUT W) 54 356 B 0.47 0.09 (ARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,) 288.62 356 B 0.47 0.09 (INCLUDING, BUT NOT LIMITED T) 54 345 B 0.47 0.09 (O, THE IMPLIED W) 204.88 345 B 0.47 0.09 (ARRANTIES OF MERCHANT) 288.46 345 B 0.47 0.09 (ABILITY) 413.37 345 B 0.47 0.09 (, FITNESS FOR A) 448.58 345 B 0.47 0.09 (P) 54 334 B 0.47 0.09 (AR) 58.7 334 B 0.47 0.09 (TICULAR PURPOSE, OR NON-INFRINGEMENT) 71.56 334 B 0.47 0.09 (.) 275.7 334 B 0.47 0.09 (THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE) 54 317 B 0.47 0.09 (PERIODICALL) 54 306 B 0.47 0.09 (Y ADDED T) 115.6 306 B 0.47 0.09 (O THE INFORMA) 166.6 306 B 0.47 0.09 (TION HEREIN; THESE CHANGES WILL BE INCORPORA) 242.23 306 B 0.47 0.09 (TED IN NEW) 485.9 306 B -0.32 0.09 (EDITIONS OF THE DOCUMENT) 54 295 B -0.32 0.09 (. SUN MICROSYSTEMS, INC. MA) 189.63 295 B -0.32 0.09 (Y MAKE IMPROVEMENTS AND/OR CHANGES IN THE) 327.89 295 B 0.47 0.09 (PRODUCT\050S\051 AND/OR THE PROGRAM\050S\051 DESCRIBED IN THIS DOCUMENT A) 54 284 B 0.47 0.09 (T ANY TIME.) 395.09 284 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.2/DEST FmPD2 [/Dest/F.copyrightdoc/DEST FmPD2 [/Dest/L.copyrightdoc/DEST FmPD2 FMENDPAGE %%EndPage: "2" 2 %%Page: "iii" 3 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (iii) 549.87 108.7 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 198 500.18 558 500.18 2 L 0.3 H 2 Z 0 X N 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 522.64 558 589.39 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 72 612 720 C 0 20 Q 0 X 0 0 0 1 0 0 0 K (Contents) 198 509.31 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 11 Q 0.11 (1.) 207.53 459.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( Introduction) 225 459.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 294.57 459.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (1) 552.39 459.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.11 (Java Native Interface Overview) 225 438.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . .) 383.23 438.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (1) 552.39 438.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Backgr) 225 417.01 S 0.11 (ound) 259.14 417.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 285.99 417.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (2) 552.39 417.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (JDK 1.0 Native Method Interface) 242.64 396.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . .) 406.11 396.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (2) 552.39 396.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Java Runtime Interface) 242.64 375.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 357.49 375.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (3) 552.39 375.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Raw Native Interface and Java/COM Interface) 242.64 354.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . .) 474.75 354.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (3) 552.39 354.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Objectives) 225 333.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 277.41 333.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (3) 552.39 333.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Java Native Interface Appr) 225 312.01 S 0.11 (oach) 358.45 312.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . .) 383.23 312.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (4) 552.39 312.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Pr) 225 291.01 S 0.11 (ogramming to the JNI) 236.01 291.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 346.05 291.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (6) 552.39 291.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Changes in JDK 1.1.2) 225 270.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 331.75 270.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (6) 552.39 270.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.11 (2.) 207.53 249.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Design Overview) 225 249.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 317.45 249.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (9) 552.39 249.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.11 (JNI Interface Functions and Pointers) 225 228.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . .) 406.11 228.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (9) 552.39 228.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Loading and Linking Native Methods) 225 207.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . .) 414.69 207.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (10) 546.78 207.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Resolving Native Method Names) 242.64 186.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . .) 408.97 186.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (1) 547.39 186.01 S 0.11 (1) 552.39 186.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Native Method Ar) 242.64 165.01 S 0.11 (guments) 333.91 165.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . .) 377.51 165.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (12) 546.78 165.01 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.iii/DEST FmPD2 [/Dest/F.jniTOCdoc/DEST FmPD2 [/Rect[54 455 558 466]/Border[0 0 0]/Dest/G5.9502/LNK FmPD2 [/Rect[54 434 558 445]/Border[0 0 0]/Dest/G5.725/LNK FmPD2 [/Rect[54 413 558 424]/Border[0 0 0]/Dest/G5.16230/LNK FmPD2 [/Rect[54 392 558 403]/Border[0 0 0]/Dest/G5.16684/LNK FmPD2 [/Rect[54 371 558 382]/Border[0 0 0]/Dest/G5.16413/LNK FmPD2 [/Rect[54 350 558 361]/Border[0 0 0]/Dest/G5.16442/LNK FmPD2 [/Rect[54 329 558 340]/Border[0 0 0]/Dest/G5.16410/LNK FmPD2 [/Rect[54 308 558 319]/Border[0 0 0]/Dest/G5.16465/LNK FmPD2 [/Rect[54 287 558 298]/Border[0 0 0]/Dest/G5.16539/LNK FmPD2 [/Rect[54 266 558 277]/Border[0 0 0]/Dest/G5.648/LNK FmPD2 [/Rect[54 245 558 256]/Border[0 0 0]/Dest/G6.9502/LNK FmPD2 [/Rect[54 224 558 235]/Border[0 0 0]/Dest/G6.16696/LNK FmPD2 [/Rect[54 203 558 214]/Border[0 0 0]/Dest/G6.679/LNK FmPD2 [/Rect[54 182 558 193]/Border[0 0 0]/Dest/G6.615/LNK FmPD2 [/Rect[54 161 558 172]/Border[0 0 0]/Dest/G6.715/LNK FmPD2 [/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2 [/Title(A)/Rect[45 135 567 475]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "iii" 3 %%Page: "iv" 4 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (iv) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 11 Q 0 X 0.11 (Refer) 225 640.67 S 0.11 (encing Java Objects) 251.25 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 348.91 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (14) 546.78 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Global and Local Refer) 242.64 619.67 S 0.11 (ences) 356.32 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . .) 386.09 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (14) 546.78 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Implementing Local Refer) 242.64 598.67 S 0.11 (ences) 371.98 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . .) 400.39 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (15) 546.78 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Accessing Java Objects) 225 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 340.33 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (15) 546.78 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Accessing Primitive Arrays) 242.64 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . .) 380.37 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (16) 546.78 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Accessing Fields and Methods) 242.64 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . .) 394.67 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (17) 546.78 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Reporting Pr) 225 514.67 S 0.11 (ogramming Err) 288.74 514.67 S 0.11 (ors) 365.25 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . .) 383.23 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (17) 546.78 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Java Exceptions) 225 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 306.01 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (18) 546.78 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Exceptions and Err) 242.64 472.67 S 0.11 (or Codes) 336.98 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . .) 383.23 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (18) 546.78 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Asynchr) 242.64 451.67 S 0.11 (onous Exceptions) 284.58 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . .) 374.65 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (19) 546.78 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Exception Handling) 242.64 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 343.19 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (19) 546.78 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.11 (3.) 207.53 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (JNI T) 225 409.67 S 0.11 (ypes and Data Structures) 252.37 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . .) 383.23 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (21) 546.78 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.11 (Primitive T) 225 388.67 S 0.11 (ypes) 280.09 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 306.01 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (21) 546.78 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Refer) 225 367.67 S 0.11 (ence T) 251.25 367.67 S 0.11 (ypes) 282.23 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 306.01 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (22) 546.78 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Field and Method IDs) 225 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 334.61 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (23) 546.78 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (The V) 225 325.67 S 0.11 (alue T) 253.64 325.67 S 0.11 (ype) 283.41 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 303.15 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (23) 546.78 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (T) 225 304.67 S 0.11 (ype Signatur) 230.86 304.67 S 0.11 (es) 294.29 304.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 306.01 304.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (23) 546.78 304.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (UTF-8 Strings) 225 283.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 294.57 283.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (24) 546.78 283.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.11 (4.) 207.53 262.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( JNI Functions) 225 262.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 300.29 262.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (27) 546.78 262.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.11 (Interface Function T) 225 241.67 S 0.11 (able) 324.29 241.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 346.05 241.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (28) 546.78 241.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (V) 225 220.67 S 0.11 (ersion Information) 231.83 220.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 220.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (34) 546.78 220.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetV) 242.64 199.67 S 0.11 (ersion) 267.05 199.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 300.29 199.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (34) 546.78 199.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Class Operations) 225 178.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 311.73 178.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (34) 546.78 178.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (De\336neClass) 242.64 157.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 303.15 157.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (34) 546.78 157.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.iv/DEST FmPD2 [/Rect[54 161 558 172]/Border[0 0 0]/Dest/G6.715/LNK FmPD2 [/Rect[54 637 558 648]/Border[0 0 0]/Dest/G6.16785/LNK FmPD2 [/Rect[54 616 558 627]/Border[0 0 0]/Dest/G6.1242/LNK FmPD2 [/Rect[54 595 558 606]/Border[0 0 0]/Dest/G6.529/LNK FmPD2 [/Rect[54 574 558 585]/Border[0 0 0]/Dest/G6.1253/LNK FmPD2 [/Rect[54 553 558 564]/Border[0 0 0]/Dest/G6.1265/LNK FmPD2 [/Rect[54 532 558 543]/Border[0 0 0]/Dest/G6.17074/LNK FmPD2 [/Rect[54 511 558 522]/Border[0 0 0]/Dest/G6.17593/LNK FmPD2 [/Rect[54 490 558 501]/Border[0 0 0]/Dest/G6.770/LNK FmPD2 [/Rect[54 469 558 480]/Border[0 0 0]/Dest/G6.815/LNK FmPD2 [/Rect[54 448 558 459]/Border[0 0 0]/Dest/G6.17629/LNK FmPD2 [/Rect[54 427 558 438]/Border[0 0 0]/Dest/G6.17626/LNK FmPD2 [/Rect[54 406 558 417]/Border[0 0 0]/Dest/G7.9502/LNK FmPD2 [/Rect[54 385 558 396]/Border[0 0 0]/Dest/G7.428/LNK FmPD2 [/Rect[54 364 558 375]/Border[0 0 0]/Dest/G7.15954/LNK FmPD2 [/Rect[54 343 558 354]/Border[0 0 0]/Dest/G7.1064/LNK FmPD2 [/Rect[54 322 558 333]/Border[0 0 0]/Dest/G7.568/LNK FmPD2 [/Rect[54 301 558 312]/Border[0 0 0]/Dest/G7.16432/LNK FmPD2 [/Rect[54 280 558 291]/Border[0 0 0]/Dest/G7.16542/LNK FmPD2 [/Rect[54 259 558 270]/Border[0 0 0]/Dest/G8.9502/LNK FmPD2 [/Rect[54 238 558 249]/Border[0 0 0]/Dest/G8.23720/LNK FmPD2 [/Rect[54 217 558 228]/Border[0 0 0]/Dest/G8.23717/LNK FmPD2 [/Rect[54 196 558 207]/Border[0 0 0]/Dest/G8.15951/LNK FmPD2 [/Rect[54 175 558 186]/Border[0 0 0]/Dest/G8.15982/LNK FmPD2 [/Rect[54 154 558 165]/Border[0 0 0]/Dest/G8.15986/LNK FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "iv" 4 %%Page: "v" 5 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (Contents) 198 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (v) 552.83 108.7 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 11 Q 0 X 0.11 (FindClass) 242.64 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 294.57 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (35) 546.78 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetSuper) 242.64 619.67 S 0.11 (class) 289.2 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 314.59 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (36) 546.78 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (IsAssignableFr) 242.64 598.67 S 0.11 (om) 316.47 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 334.61 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (36) 546.78 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Exceptions) 225 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 280.27 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (37) 546.78 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Thr) 242.64 556.67 S 0.11 (ow) 260.26 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 277.41 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (37) 546.78 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Thr) 242.64 535.67 S 0.11 (owNew) 260.26 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 300.29 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (37) 546.78 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (ExceptionOccurr) 242.64 514.67 S 0.11 (ed) 326.18 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 340.33 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (38) 546.78 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (ExceptionDescribe) 242.64 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 337.47 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (38) 546.78 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (ExceptionClear) 242.64 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 320.31 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (38) 546.78 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (FatalErr) 242.64 451.67 S 0.11 (or) 282.64 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 294.57 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (39) 546.78 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Global and Local Refer) 225 430.67 S 0.11 (ences) 338.68 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 366.07 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (39) 546.78 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (NewGlobalRef) 242.64 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 317.45 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (39) 546.78 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (DeleteGlobalRef) 242.64 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (39) 546.78 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (DeleteLocalRef) 242.64 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 320.31 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (40) 546.78 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Object Operations) 225 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 317.45 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (40) 546.78 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (AllocObject) 242.64 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 303.15 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (40) 546.78 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (NewObject) 242.64 304.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (NewObjectA) 260.64 291.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (NewObjectV) 260.64 278.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 278.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (41) 546.78 278.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetObjectClass) 242.64 257.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 320.31 257.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (42) 546.78 257.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (IsInstanceOf) 242.64 236.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 306.01 236.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (43) 546.78 236.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (IsSameObject) 242.64 215.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 311.73 215.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (43) 546.78 215.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Accessing Fields of Objects) 225 194.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 360.35 194.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (44) 546.78 194.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetFieldID) 242.64 173.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 300.29 173.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (44) 546.78 173.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetField Routines) 242.64 152.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 368.93 152.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (44) 546.78 152.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.v/DEST FmPD2 [/Rect[54 154 558 165]/Border[0 0 0]/Dest/G8.15986/LNK FmPD2 [/Rect[54 637 558 648]/Border[0 0 0]/Dest/G8.16027/LNK FmPD2 [/Rect[54 616 558 627]/Border[0 0 0]/Dest/G8.18292/LNK FmPD2 [/Rect[54 595 558 606]/Border[0 0 0]/Dest/G8.16061/LNK FmPD2 [/Rect[54 574 558 585]/Border[0 0 0]/Dest/G8.5234/LNK FmPD2 [/Rect[54 553 558 564]/Border[0 0 0]/Dest/G8.16086/LNK FmPD2 [/Rect[54 532 558 543]/Border[0 0 0]/Dest/G8.16104/LNK FmPD2 [/Rect[54 511 558 522]/Border[0 0 0]/Dest/G8.16124/LNK FmPD2 [/Rect[54 490 558 501]/Border[0 0 0]/Dest/G8.16146/LNK FmPD2 [/Rect[54 469 558 480]/Border[0 0 0]/Dest/G8.16166/LNK FmPD2 [/Rect[54 448 558 459]/Border[0 0 0]/Dest/G8.16186/LNK FmPD2 [/Rect[54 427 558 438]/Border[0 0 0]/Dest/G8.16270/LNK FmPD2 [/Rect[54 406 558 417]/Border[0 0 0]/Dest/G8.16274/LNK FmPD2 [/Rect[54 385 558 396]/Border[0 0 0]/Dest/G8.16294/LNK FmPD2 [/Rect[54 364 558 375]/Border[0 0 0]/Dest/G8.18654/LNK FmPD2 [/Rect[54 343 558 354]/Border[0 0 0]/Dest/G8.16334/LNK FmPD2 [/Rect[54 322 558 333]/Border[0 0 0]/Dest/G8.16337/LNK FmPD2 [/Rect[54 275 558 312]/Border[0 0 0]/Dest/G8.4517/LNK FmPD2 [/Rect[54 254 558 265]/Border[0 0 0]/Dest/G8.16454/LNK FmPD2 [/Rect[54 233 558 244]/Border[0 0 0]/Dest/G8.16472/LNK FmPD2 [/Rect[54 212 558 223]/Border[0 0 0]/Dest/G8.16514/LNK FmPD2 [/Rect[54 191 558 202]/Border[0 0 0]/Dest/G8.16536/LNK FmPD2 [/Rect[54 170 558 181]/Border[0 0 0]/Dest/G8.16540/LNK FmPD2 [/Rect[54 149 558 160]/Border[0 0 0]/Dest/G8.16572/LNK FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "v" 5 %%Page: "vi" 6 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (vi) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 11 Q 0 X 0.11 (SetField Routines) 242.64 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 366.07 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (45) 546.78 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Calling Instance Methods) 225 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 354.63 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (47) 546.78 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetMethodID) 242.64 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 311.73 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (47) 546.78 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallMethod Routines) 242.64 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallMethodA Routines) 260.64 564.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallMethodV Routines) 260.64 551.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . .) 411.83 551.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (48) 546.78 551.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallNonvirtualMethod Routines) 242.64 530.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallNonvirtualMethodA Routines) 260.64 517.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallNonvirtualMethodV Routines) 260.64 504.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . .) 466.17 504.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (51) 546.78 504.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Accessing Static Fields) 225 483.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 337.47 483.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (54) 546.78 483.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetStaticFieldID) 242.64 462.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 462.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (54) 546.78 462.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetStaticField Routines) 242.64 441.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . .) 397.53 441.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (54) 546.78 441.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (SetStaticField Routines) 242.64 420.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . .) 394.67 420.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (55) 546.78 420.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Calling Static Methods) 225 399.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 340.33 399.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (56) 546.78 399.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetStaticMethodID) 242.64 378.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 340.33 378.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (56) 546.78 378.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallStaticMethod Routines) 242.64 357.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallStaticMethodA Routines) 260.64 344.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (CallStaticMethodV Routines) 260.64 331.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . .) 437.57 331.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (57) 546.78 331.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (String Operations) 225 310.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 314.59 310.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (60) 546.78 310.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (NewString) 242.64 289.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 297.43 289.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (60) 546.78 289.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetStringLength) 242.64 268.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 268.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (60) 546.78 268.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetStringChars) 242.64 247.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 320.31 247.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (61) 546.78 247.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (ReleaseStringChars) 242.64 226.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 340.33 226.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (61) 546.78 226.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (NewStringUTF) 242.64 205.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 320.31 205.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (62) 546.78 205.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetStringUTFLength) 242.64 184.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 348.91 184.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (62) 546.78 184.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetStringUTFChars) 242.64 163.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 343.19 163.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (62) 546.78 163.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.vi/DEST FmPD2 [/Rect[54 149 558 160]/Border[0 0 0]/Dest/G8.16572/LNK FmPD2 [/Rect[54 637 558 648]/Border[0 0 0]/Dest/G8.16613/LNK FmPD2 [/Rect[54 616 558 627]/Border[0 0 0]/Dest/G8.16656/LNK FmPD2 [/Rect[54 595 558 606]/Border[0 0 0]/Dest/G8.16660/LNK FmPD2 [/Rect[54 548 558 585]/Border[0 0 0]/Dest/G8.4256/LNK FmPD2 [/Rect[54 501 558 538]/Border[0 0 0]/Dest/G8.4581/LNK FmPD2 [/Rect[54 480 558 491]/Border[0 0 0]/Dest/G8.5901/LNK FmPD2 [/Rect[54 459 558 470]/Border[0 0 0]/Dest/G8.16823/LNK FmPD2 [/Rect[54 438 558 449]/Border[0 0 0]/Dest/G8.20752/LNK FmPD2 [/Rect[54 417 558 428]/Border[0 0 0]/Dest/G8.20829/LNK FmPD2 [/Rect[54 396 558 407]/Border[0 0 0]/Dest/G8.20949/LNK FmPD2 [/Rect[54 375 558 386]/Border[0 0 0]/Dest/G8.20950/LNK FmPD2 [/Rect[54 328 558 365]/Border[0 0 0]/Dest/G8.4796/LNK FmPD2 [/Rect[54 307 558 318]/Border[0 0 0]/Dest/G8.5386/LNK FmPD2 [/Rect[54 286 558 297]/Border[0 0 0]/Dest/G8.4925/LNK FmPD2 [/Rect[54 265 558 276]/Border[0 0 0]/Dest/G8.17132/LNK FmPD2 [/Rect[54 244 558 255]/Border[0 0 0]/Dest/G8.17158/LNK FmPD2 [/Rect[54 223 558 234]/Border[0 0 0]/Dest/G8.17188/LNK FmPD2 [/Rect[54 202 558 213]/Border[0 0 0]/Dest/G8.17220/LNK FmPD2 [/Rect[54 181 558 192]/Border[0 0 0]/Dest/G8.23871/LNK FmPD2 [/Rect[54 160 558 171]/Border[0 0 0]/Dest/G8.17265/LNK FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "vi" 6 %%Page: "vii" 7 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (Contents) 198 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (vii) 547.41 108.7 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 11 Q 0 X 0.11 (ReleaseStringUTFChars) 242.64 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 363.21 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (63) 546.78 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Array Operations) 225 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 314.59 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (63) 546.78 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetArrayLength) 242.64 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (63) 546.78 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (NewObjectArray) 242.64 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 328.89 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (64) 546.78 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetObjectArrayElement) 242.64 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 363.21 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (64) 546.78 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (SetObjectArrayElement) 242.64 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 360.35 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (65) 546.78 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (NewArray Routines) 325.56 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . .) 428.99 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (65) 546.78 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetArrayElements Routines) 319.22 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . .) 469.03 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (66) 546.78 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (ReleaseArrayElements Routines) 338.93 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . .) 486.19 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (68) 546.78 472.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetArrayRegion Routines) 319.22 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . .) 457.59 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (69) 546.78 451.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (SetArrayRegion Routines) 316.6 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . .) 454.73 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (70) 546.78 430.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Registering Native Methods) 225 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 366.07 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (72) 546.78 409.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (RegisterNatives) 242.64 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 323.17 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (72) 546.78 388.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Unr) 242.64 367.67 S 0.11 (egisterNatives) 262.08 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 334.61 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (72) 546.78 367.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Monitor Operations) 225 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (73) 546.78 346.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (MonitorEnter) 242.64 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 311.73 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (73) 546.78 325.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (MonitorExit) 242.64 304.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 303.15 304.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (74) 546.78 304.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Java VM Interface) 225 283.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 314.59 283.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (74) 546.78 283.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (GetJavaVM) 242.64 262.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 300.29 262.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (74) 546.78 262.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.11 (5.) 207.53 241.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (The Invocation API) 225 241.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 241.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (75) 546.78 241.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.11 (Overview) 225 220.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 274.55 220.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (75) 546.78 220.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Cr) 242.64 199.67 S 0.11 (eating the VM) 254.81 199.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 199.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (76) 546.78 199.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Attaching to the VM) 242.64 178.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 346.05 178.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (76) 546.78 178.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Unloading the VM) 242.64 157.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 337.47 157.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (76) 546.78 157.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.vii/DEST FmPD2 [/Rect[54 160 558 171]/Border[0 0 0]/Dest/G8.17265/LNK FmPD2 [/Rect[54 637 558 648]/Border[0 0 0]/Dest/G8.17294/LNK FmPD2 [/Rect[54 616 558 627]/Border[0 0 0]/Dest/G8.17314/LNK FmPD2 [/Rect[54 595 558 606]/Border[0 0 0]/Dest/G8.21732/LNK FmPD2 [/Rect[54 574 558 585]/Border[0 0 0]/Dest/G8.21619/LNK FmPD2 [/Rect[54 553 558 564]/Border[0 0 0]/Dest/G8.21671/LNK FmPD2 [/Rect[54 532 558 543]/Border[0 0 0]/Dest/G8.21699/LNK FmPD2 [/Rect[54 511 558 522]/Border[0 0 0]/Dest/G8.17318/LNK FmPD2 [/Rect[54 490 558 501]/Border[0 0 0]/Dest/G8.17382/LNK FmPD2 [/Rect[54 469 558 480]/Border[0 0 0]/Dest/G8.17440/LNK FmPD2 [/Rect[54 448 558 459]/Border[0 0 0]/Dest/G8.6212/LNK FmPD2 [/Rect[54 427 558 438]/Border[0 0 0]/Dest/G8.22933/LNK FmPD2 [/Rect[54 406 558 417]/Border[0 0 0]/Dest/G8.5833/LNK FmPD2 [/Rect[54 385 558 396]/Border[0 0 0]/Dest/G8.17734/LNK FmPD2 [/Rect[54 364 558 375]/Border[0 0 0]/Dest/G8.17775/LNK FmPD2 [/Rect[54 343 558 354]/Border[0 0 0]/Dest/G8.5256/LNK FmPD2 [/Rect[54 322 558 333]/Border[0 0 0]/Dest/G8.23124/LNK FmPD2 [/Rect[54 301 558 312]/Border[0 0 0]/Dest/G8.5252/LNK FmPD2 [/Rect[54 280 558 291]/Border[0 0 0]/Dest/G8.5263/LNK FmPD2 [/Rect[54 259 558 270]/Border[0 0 0]/Dest/G8.23168/LNK FmPD2 [/Rect[54 238 558 249]/Border[0 0 0]/Dest/G9.9502/LNK FmPD2 [/Rect[54 217 558 228]/Border[0 0 0]/Dest/G9.15926/LNK FmPD2 [/Rect[54 196 558 207]/Border[0 0 0]/Dest/G9.15956/LNK FmPD2 [/Rect[54 175 558 186]/Border[0 0 0]/Dest/G9.1060/LNK FmPD2 [/Rect[54 154 558 165]/Border[0 0 0]/Dest/G9.16553/LNK FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "vii" 7 %%Page: "viii" 8 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (viii) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 11 Q 0 X 0.11 (Initialization Str) 225 640.67 S 0.11 (uctur) 305.54 640.67 S 0.11 (es) 331.97 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 343.19 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (77) 546.78 640.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Invocation API Functions) 225 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 354.63 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (79) 546.78 619.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (JNI_GetDefaultJavaVMInitAr) 242.64 598.67 S 0.11 (gs) 389.95 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . .) 403.25 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (79) 546.78 598.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (JNI_GetCr) 242.64 577.67 S 0.11 (eatedJavaVMs) 294.83 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 368.93 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (80) 546.78 577.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (JNI_Cr) 242.64 556.67 S 0.11 (eateJavaVM) 277.26 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 337.47 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (80) 546.78 556.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (Destr) 242.64 535.67 S 0.11 (oyJavaVM) 269.37 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 323.17 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (81) 546.78 535.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (AttachCurr) 242.64 514.67 S 0.11 (entThr) 299.18 514.67 S 0.11 (ead) 332.39 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 351.77 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (81) 546.78 514.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (DetachCurr) 242.64 493.67 S 0.11 (entThr) 300.82 493.67 S 0.11 (ead) 334.03 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 354.63 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.11 (82) 546.78 493.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.viii/DEST FmPD2 [/Dest/L.jniTOCdoc/DEST FmPD2 [/Rect[54 154 558 165]/Border[0 0 0]/Dest/G9.16553/LNK FmPD2 [/Rect[54 637 558 648]/Border[0 0 0]/Dest/G9.16554/LNK FmPD2 [/Rect[54 616 558 627]/Border[0 0 0]/Dest/G9.756/LNK FmPD2 [/Rect[54 595 558 606]/Border[0 0 0]/Dest/G9.16064/LNK FmPD2 [/Rect[54 574 558 585]/Border[0 0 0]/Dest/G9.633/LNK FmPD2 [/Rect[54 553 558 564]/Border[0 0 0]/Dest/G9.16334/LNK FmPD2 [/Rect[54 532 558 543]/Border[0 0 0]/Dest/G9.16089/LNK FmPD2 [/Rect[54 511 558 522]/Border[0 0 0]/Dest/G9.16436/LNK FmPD2 [/Rect[243 490 558 501]/Border[0 0 0]/Dest/G9.16108/LNK FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "viii" 8 %%Page: "IX" 9 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 198 500.18 558 500.18 2 L 0.3 H 2 Z 0 X 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 522.64 558 589.39 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 72 612 720 C 0 20 Q 0 X 0 0 0 1 0 0 0 K (Acknowledgments) 198 509.31 T 1 10 Q 0.52 0.1 (The Java Native Interface \050JNI\051 speci\336cation was formed as a r) 198 459.68 B 0.52 0.1 (esult of a series) 483.85 459.68 B 0.52 0.1 (of discussions among JavaSoft and Java licensees. The goal is to achieve a) 198 447.68 B 0.52 0.1 (native interface standar) 198 435.68 B 0.52 0.1 (d.) 305.36 435.68 B 0.29 0.1 (Sheng Liang at JavaSoft is r) 198 415.68 B 0.29 0.1 (esponsible for the JNI design and speci\336cation. JNI) 322.85 415.68 B 0.52 0.1 (is partly evolved fr) 198 403.68 B 0.52 0.1 (om Netscape\325s Java Runtime Interface \050JRI\051, which was) 285.36 403.68 B 0.52 0.1 (designed by W) 198 391.68 B 0.52 0.1 (arr) 265.84 391.68 B 0.52 0.1 (en Harris. W) 278.86 391.68 B 0.52 0.1 (arr) 336.66 391.68 B 0.52 0.1 (en Harris also helped to impr) 349.68 391.68 B 0.52 0.1 (ove the JNI) 484.94 391.68 B 0.52 0.1 (design. Simon Nash at IBM and Patrick Bear) 198 379.68 B 0.52 0.1 (d at Apple pr) 401.87 379.68 B 0.52 0.1 (ovided extensive) 463.88 379.68 B 0.52 0.1 (feedbacks that shaped the JNI design in many ways.) 198 367.68 B 0.52 0.1 (In addition, the JNI bene\336ted gr) 198 347.68 B 0.52 0.1 (eatly fr) 344.92 347.68 B 0.52 0.1 (om JavaSoft internal design r) 377.36 347.68 B 0.52 0.1 (eviews.) 510.57 347.68 B 0.52 0.1 (These design r) 198 335.68 B 0.52 0.1 (eviews wer) 264.41 335.68 B 0.52 0.1 (e conducted by James Gosling, Peter Kessler) 316.05 335.68 B 0.52 0.1 (, T) 518.3 335.68 B 0.52 0.1 (im) 529.7 335.68 B 0.52 0.1 (Lindholm, Mark Reinhold, Der) 198 323.68 B 0.52 0.1 (ek White, and Frank Y) 339.6 323.68 B 0.52 0.1 (ellin.) 441.98 323.68 B 0.52 0.1 (W) 198 303.68 B 0.52 0.1 (e also want to acknowledge the helpful comments and suggestions we) 207.18 303.68 B 0.52 0.1 (r) 198 291.68 B 0.52 0.1 (eceived fr) 201.87 291.68 B 0.52 0.1 (om numer) 246.47 291.68 B 0.52 0.1 (ous people on various drafts of the speci\336cation.) 293.82 291.68 B 0.52 0.1 (Lastly) 198 271.68 B 0.52 0.1 (, Beth Stearns impr) 224.57 271.68 B 0.52 0.1 (oved the pr) 311.84 271.68 B 0.52 0.1 (esentation of this document.) 364.64 271.68 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.IX/DEST FmPD2 [/Dest/F.acknowledgedoc/DEST FmPD2 [/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2 [/Title(A)/Rect[45 108 567 475]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "IX" 9 %%Page: "X" 10 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.X/DEST FmPD2 [/Dest/L.acknowledgedoc/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "X" 10 %%Page: "1" 11 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (1) 553.41 108.7 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 500.18 558 500.18 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 540.76 521.07 558.36 524.92 R 0 X 1 1 0 0 0 0 1 K V 540.76 514.65 558.36 518.5 R V 540.76 508.42 558.36 512.27 R V 540.76 518.61 558.36 521.29 R 7 X V 540.76 512.4 558.36 514.87 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 522.64 558 589.39 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 72 612 720 C 0 20 Q 0 X 0 0 0 1 0 0 0 K -2.5 ( Intr) 198 509.31 P -2.5 (oduction) 232.36 509.31 P 54 653/G5.9502 FmPA 1 1 0 0 0 0 1 K 0 24 Q 1 1 0 0 0 0 1 K -3.12 (1) 525.14 508.64 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 0 0 1 0 0 0 K 0.52 0.1 (This chapter intr) 198 459.68 B 0.52 0.1 (oduces the) 273.87 459.68 B 0 F 0.52 0.1 (Java Native Interface) 325.95 459.68 B 1 F 0.52 0.1 ( \050JNI\051. The JNI is a native) 413.7 459.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (pr) 198 447.68 B 0.52 0.1 (ogramming interface. It allows Java code that r) 207.98 447.68 B 0.52 0.1 (uns inside a Java V) 423.01 447.68 B 0.52 0.1 (irtual) 510.51 447.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Machine \050VM\051 to inter) 198 435.68 B 0.52 0.1 (operate with applications and libraries written in other) 300.01 435.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (pr) 198 423.68 B 0.52 0.1 (ogramming languages, such as C, C++, and assembly) 207.98 423.68 B 0.52 0.1 (.) 451.34 423.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The most important bene\336t of the JNI is that it imposes no r) 198 403.68 B 0.52 0.1 (estrictions on the) 473.37 403.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (implementation of the underlying Java VM. Ther) 198 391.68 B 0.52 0.1 (efor) 422.11 391.68 B 0.52 0.1 (e, Java VM vendors can) 439.86 391.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.36 0.1 (add support for the JNI without af) 198 379.68 B 0.36 0.1 (fecting other parts of the VM. Pr) 355.58 379.68 B 0.36 0.1 (ogrammers) 503.53 379.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (can write one version of a native application or library and expect it to work) 198 367.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (with all Java VMs supporting the JNI.) 198 355.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (This chapter covers the following topics:) 198 335.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 317.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Java Native Interface Overview) 210.6 317.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 299.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.1 (Backgr) 210.6 299.68 S 0.1 (ound) 238.97 299.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 281.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.1 (Objectives) 210.6 281.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 263.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Java Native Interface Appr) 210.6 263.68 B 0.52 0.1 (oach) 322.8 263.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 245.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Pr) 210.6 245.68 B 0.52 0.1 (ogramming to the JNI) 220.62 245.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 227.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Changes in JDK 1.1.2) 210.6 227.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Java Native Interface Overview) 54 194.34 P 0 0 0 1 0 0 0 K 54 338/G5.725 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (While you can write applications entir) 198 172.68 B 0.52 0.1 (ely in Java, ther) 373.41 172.68 B 0.52 0.1 (e ar) 445.28 172.68 B 0.52 0.1 (e situations wher) 462.26 172.68 B 0.52 0.1 (e) 540.64 172.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Java alone does not meet the needs of your application. Pr) 198 160.68 B 0.52 0.1 (ogrammers use the) 465.22 160.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.45 0.1 (JNI to write) 198 148.68 B 0 F 0.45 0.1 (Java native methods) 255.12 148.68 B 1 F 0.45 0.1 ( to handle those situations when an application) 338.45 148.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (cannot be written entir) 198 136.68 B 0.52 0.1 (ely in Java.) 302.36 136.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.1/DEST FmPD2 [/Dest/F.introdoc/DEST FmPD2 54 348/M5.9.28013.Head1.Java.Native.Interface.Overview FmPA 54 348/I5.1.724 FmPA [/Rect[211 295 260 310]/Border[0 0 0]/Page 12/View[/XYZ null 54 506 FmDC exch pop null]/LNK FmPD [/Rect[211 277 254 292]/Border[0 0 0]/Page 13/View[/XYZ null 54 410 FmDC exch pop null]/LNK FmPD [/Rect[211 259 341 274]/Border[0 0 0]/Page 14/View[/XYZ null 54 532 FmDC exch pop null]/LNK FmPD [/Rect[211 241 313 256]/Border[0 0 0]/Page 16/View[/XYZ null 54 750 FmDC exch pop null]/LNK FmPD [/Rect[211 313 342 328]/Border[0 0 0]/Page 11/View[/XYZ null 54 348 FmDC exch pop null]/LNK FmPD [/Rect[211 223 302 238]/Border[0 0 0]/Page 16/View[/XYZ null 54 543 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2 [/Title(A)/Rect[45 108 567 475]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "1" 11 %%Page: "2" 12 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (2) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (1) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (The following examples illustrate when you need to use Java native methods:) 198 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 623.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (The standar) 210.6 623.33 B 0.52 0.1 (d Java class library does not support the platform-dependent) 264.66 623.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (featur) 210.6 611.33 B 0.52 0.1 (es needed by the application.) 237.38 611.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 593.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.19 0.1 (Y) 210.6 593.33 B 0.19 0.1 (ou alr) 216.45 593.33 B 0.19 0.1 (eady have a library written in another language, and wish to make it) 242.91 593.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (accessible to Java code thr) 210.6 581.33 B 0.52 0.1 (ough the JNI.) 330.02 581.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 563.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.23 0.1 (Y) 210.6 563.33 B 0.23 0.1 (ou want to implement a small portion of time-critical code in a lower) 216.45 563.33 B 0.23 0.1 (-level) 530.19 563.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (language such as assembly) 210.6 551.33 B 0.52 0.1 (.) 332.59 551.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (By pr) 198 531.33 B 0.52 0.1 (ogramming thr) 222.97 531.33 B 0.52 0.1 (ough the JNI, you can use native methods to:) 292.06 531.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 513.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Cr) 210.6 513.33 B 0.52 0.1 (eate, inspect, and update Java objects \050including arrays and strings\051.) 221.66 513.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 495.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Call Java methods.) 210.6 495.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 477.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Catch and thr) 210.6 477.33 B 0.52 0.1 (ow exceptions.) 273.33 477.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 459.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Load classes and obtain class information.) 210.6 459.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 441.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Perform r) 210.6 441.33 B 0.52 0.1 (untime type checking.) 254.74 441.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Y) 198 421.33 B 0.52 0.1 (ou can also use the JNI with the) 203.85 421.33 B 0 F 0.52 0.1 (Invocation API) 353.81 421.33 B 1 F 0.52 0.1 ( to enable an arbitrary native) 417.84 421.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (application to embed the Java VM. This allows pr) 198 409.33 B 0.52 0.1 (ogrammers to easily make) 425.23 409.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (their existing applications Java-enabled without having to link with the VM) 198 397.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (sour) 198 385.33 B 0.52 0.1 (ce code.) 217.9 385.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q (Backgr) 54 352 T (ound) 95.65 352 T 0 0 0 1 0 0 0 K 54 496/G5.16230 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.08 0.1 (Curr) 198 330.33 B 0.08 0.1 (ently) 219.24 330.33 B 0.08 0.1 (, VMs fr) 240.97 330.33 B 0.08 0.1 (om dif) 277.46 330.33 B 0.08 0.1 (fer) 307.1 330.33 B 0.08 0.1 (ent vendors of) 319.29 330.33 B 0.08 0.1 (fer dif) 384.36 330.33 B 0.08 0.1 (fer) 411.88 330.33 B 0.08 0.1 (ent native method interfaces.) 424.07 330.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (These dif) 198 318.33 B 0.52 0.1 (fer) 239.86 318.33 B 0.52 0.1 (ent interfaces for) 252.05 318.33 B 0.52 0.1 (ce pr) 328.85 318.33 B 0.52 0.1 (ogrammers to pr) 351.38 318.33 B 0.52 0.1 (oduce, maintain, and) 428.03 318.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (distribute multiple versions of native method libraries on a given platform.) 198 306.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (W) 198 286.33 B 0.52 0.1 (e brie\337y examine some of the existing native method interfaces, such as:) 207.18 286.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 268.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (JDK 1.0 native method interface) 210.6 268.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 250.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Netscape\325s Java Runtime Interface) 210.6 250.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 232.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Micr) 210.6 232.33 B 0.52 0.1 (osoft\325s Raw Native Interface and Java/COM interface) 231.58 232.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (JDK 1.0 Native Method Interface) 160.49 199.67 P 0 0 0 1 0 0 0 K 54 344/G5.16684 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (JDK 1.0 shipped with a native method interface. Unfortunately) 198 178.33 B 0.52 0.1 (, ther) 484.66 178.33 B 0.52 0.1 (e ar) 508.42 178.33 B 0.52 0.1 (e two) 525.4 178.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.43 0.1 (major r) 198 166.33 B 0.43 0.1 (easons that this interface is unsuitable for adoption by other Java VMs.) 230.98 166.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.2/DEST FmPD2 54 506/M5.9.31509.Head1.Background FmPA 54 506/I5.1.16769 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "2" 12 %%Page: "3" 13 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Intr) 198 108.7 B -0.58 0.09 (oduction) 212.7 108.7 B 1 F -0.58 0.09 (\321) 245.08 108.7 B 0 F -0.58 0.09 (May 1997) 254.17 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (3) 553.41 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (1) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.12 0.1 (First, the native code accesses \336elds in Java objects as members of C str) 198 641.33 B 0.12 0.1 (uctur) 519.32 641.33 B 0.12 0.1 (es.) 543.35 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (However) 198 629.33 B 0.52 0.1 (, the) 239.26 629.33 B 0 F 0.52 0.1 (Java Language Speci\336cation) 262.27 629.33 B 1 F 0.52 0.1 ( does not de\336ne how objects ar) 378.77 629.33 B 0.52 0.1 (e laid) 521.04 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (out in memory) 198 617.33 B 0.52 0.1 (. If a Java VM lays out objects dif) 265.13 617.33 B 0.52 0.1 (fer) 417.34 617.33 B 0.52 0.1 (ently in memory) 429.53 617.33 B 0.52 0.1 (, then the) 504.45 617.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (pr) 198 605.33 B 0.52 0.1 (ogrammer would have to r) 207.98 605.33 B 0.52 0.1 (ecompile the native method libraries.) 331.43 605.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Second, JDK 1.0\325s native method interface r) 198 585.33 B 0.52 0.1 (elies on a conservative garbage) 396.4 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (collector) 198 573.33 B 0.52 0.1 (. The unr) 235.78 573.33 B 0.52 0.1 (estricted use of the) 277.58 573.33 B 5 F 1.2 (unhand) 367.23 573.33 P 1 F 0.52 0.1 ( macr) 403.23 573.33 B 0.52 0.1 (o, for example, makes it) 428.79 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (necessary to conservatively scan the native stack.) 198 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (Java Runtime Interface) 160.49 528.67 P 0 0 0 1 0 0 0 K 54 673/G5.16413 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Netscape pr) 198 507.33 B 0.52 0.1 (oposed the Java Runtime Interface \050JRI\051, a general interface for) 252.74 507.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (services pr) 198 495.33 B 0.52 0.1 (ovided in the Java virtual machine. JRI is designed with portability) 246.91 495.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (in mind---it makes few assumptions about the implementation details in the) 198 483.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (underlying Java VM. The JRI addr) 198 471.33 B 0.52 0.1 (esses a wide range of issues, including) 355.03 471.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (native methods, debugging, r) 198 459.33 B 0.52 0.1 (e\337ection, embedding \050invocation\051, and so on.) 332.44 459.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (Raw Native Interface and Java/COM Interface) 160.49 426.67 P 0 0 0 1 0 0 0 K 54 571/G5.16442 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (The Micr) 198 405.33 B 0.52 0.1 (osoft Java VM supports two native method interfaces. At the low) 239.14 405.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.05 0.1 (level, it pr) 198 393.33 B 0.05 0.1 (ovides an ef) 243.81 393.33 B 0.05 0.1 (\336cient Raw Native Interface \050RNI\051. The RNI of) 298.04 393.33 B 0.05 0.1 (fers a high) 507.61 393.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (degr) 198 381.33 B 0.52 0.1 (ee of sour) 218.63 381.33 B 0.52 0.1 (ce-level backwar) 263.54 381.33 B 0.52 0.1 (d compatibility with the JDK\325s native method) 339.41 381.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (interface, although it has one major dif) 198 369.33 B 0.52 0.1 (fer) 375.82 369.33 B 0.52 0.1 (ence. Instead of r) 388.01 369.33 B 0.52 0.1 (elying on) 466.36 369.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (conservative garbage collection, the native code must use RNI functions to) 198 357.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (interact explicitly with the garbage collector) 198 345.33 B 0.52 0.1 (.) 398.46 345.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (At a higher level, Micr) 198 325.33 B 0.52 0.1 (osoft's Java/COM interface of) 301.4 325.33 B 0.52 0.1 (fers a language-) 437.78 325.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (independent standar) 198 313.33 B 0.52 0.1 (d binary interface to the Java VM. Java code can use a) 292.35 313.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (COM object as if it wer) 198 301.33 B 0.52 0.1 (e a Java object. A Java class can also be exposed to the) 304.18 301.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (r) 198 289.33 B 0.52 0.1 (est of the system as a COM class.) 201.87 289.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q (Objectives) 54 256 T 0 0 0 1 0 0 0 K 54 400/G5.16410 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (W) 198 234.33 B 0.52 0.1 (e believe that a uniform, well-thought-out standar) 207.18 234.33 B 0.52 0.1 (d interface of) 436.4 234.33 B 0.52 0.1 (fers the) 496.85 234.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (following bene\336ts for everyone:) 198 222.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 204.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Each VM vendor can support a lar) 210.6 204.33 B 0.52 0.1 (ger body of native code.) 368.65 204.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 186.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (T) 210.6 186.33 B 0.52 0.1 (ool builders will not have to maintain dif) 215.91 186.33 B 0.52 0.1 (fer) 404.86 186.33 B 0.52 0.1 (ent kinds of native method) 417.05 186.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (interfaces.) 210.6 174.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.3/DEST FmPD2 54 410/M5.9.18156.Head1.Objectives FmPA 54 410/I5.1.16773 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "3" 13 %%Page: "4" 14 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (4) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (1) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0 X 0 0 0 1 0 0 0 K 0.14 (\245) 198 641.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Application pr) 210.6 641.33 B 0.52 0.1 (ogrammers will be able to write one version of their native) 277.31 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (code and this version will r) 210.6 629.33 B 0.52 0.1 (un on dif) 336.22 629.33 B 0.52 0.1 (fer) 378.46 629.33 B 0.52 0.1 (ent VMs.) 390.65 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The best way to achieve a standar) 198 609.33 B 0.52 0.1 (d native method interface is to involve all) 353.2 609.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (parties with an inter) 198 597.33 B 0.52 0.1 (est in Java VMs. Ther) 291.02 597.33 B 0.52 0.1 (efor) 389.13 597.33 B 0.52 0.1 (e we or) 406.88 597.33 B 0.52 0.1 (ganized a series of) 440.77 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.02 0.1 (discussions among the Java licensees on the design of a uniform native method) 198 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (interface. It is clear fr) 198 573.33 B 0.52 0.1 (om the discussions that the standar) 295.34 573.33 B 0.52 0.1 (d native method) 457.15 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (interface must satisfy the following r) 198 561.33 B 0.52 0.1 (equir) 366.43 561.33 B 0.52 0.1 (ements:) 390.03 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 543.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Binary compatibility - The primary goal is binary compatibility of native) 210.6 543.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (method libraries acr) 210.6 531.33 B 0.52 0.1 (oss all Java VM implementations on a given platform.) 302.31 531.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Pr) 210.6 519.33 B 0.52 0.1 (ogrammers should maintain only one version of their native method) 220.61 519.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (libraries for a given platform.) 210.6 507.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 489.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Ef) 210.6 489.33 B 0.52 0.1 (\336ciency - T) 220.06 489.33 B 0.52 0.1 (o support time-critical code, the native method interface must) 269.75 489.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (impose little over) 210.6 477.33 B 0.52 0.1 (head. All known techniques to ensur) 290.39 477.33 B 0.52 0.1 (e VM-independence) 458.88 477.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (\050and thus binary compatibility\051 carry a certain amount of over) 210.6 465.33 B 0.52 0.1 (head. W) 495.61 465.33 B 0.52 0.1 (e) 532.63 465.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (must somehow strike a compr) 210.6 453.33 B 0.52 0.1 (omise between ef) 348.9 453.33 B 0.52 0.1 (\336ciency and VM-) 428.03 453.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (independence.) 210.6 441.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 423.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Functionality - The interface must expose enough Java VM internals to) 210.6 423.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (allow native methods to accomplish useful tasks.) 210.6 411.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Java Native Interface Appr) 54 378 P -0.94 (oach) 213.25 378 P 0 0 0 1 0 0 0 K 54 522/G5.16465 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (W) 198 356.33 B 0.52 0.1 (e hoped to adopt one of the existing appr) 207.18 356.33 B 0.52 0.1 (oaches as the standar) 397.15 356.33 B 0.52 0.1 (d interface,) 494.37 356.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (because this would have imposed the least bur) 198 344.33 B 0.52 0.1 (den on pr) 412.55 344.33 B 0.52 0.1 (ogrammers who had) 457.27 344.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (to learn multiple interfaces in dif) 198 332.33 B 0.52 0.1 (fer) 348.87 332.33 B 0.52 0.1 (ent VMs. Unfortunately) 361.06 332.33 B 0.52 0.1 (, no existing) 468.45 332.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (solutions ar) 198 320.33 B 0.52 0.1 (e completely satisfactory in achieving our goals.) 251.32 320.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Netscape\325s JRI is the closest to what we envision as a portable native method) 198 300.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (interface, and was used as the starting point of our design. Readers familiar) 198 288.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (with the JRI will notice the similarities in the API naming convention, the use) 198 276.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (of method and \336eld IDs, the use of local and global r) 198 264.33 B 0.52 0.1 (efer) 440.73 264.33 B 0.52 0.1 (ences, and so on.) 457.81 264.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K -0.06 0.1 (Despite our best ef) 198 252.33 B -0.06 0.1 (forts, however) 282.15 252.33 B -0.06 0.1 (, the JNI is not binary-compatible with the JRI,) 346.78 252.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (although a VM can support both the JRI and the JNI.) 198 240.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.3 0.1 (Micr) 198 220.33 B 0.3 0.1 (osoft\325s RNI is an impr) 218.98 220.33 B 0.3 0.1 (ovement over JDK 1.0 because it solves the pr) 318.99 220.33 B 0.3 0.1 (oblem) 527.08 220.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.16 0.1 (of native methods working with a nonconservative garbage collector) 198 208.33 B 0.16 0.1 (. The RNI,) 508.83 208.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K -0.09 0.1 (however) 198 196.33 B -0.09 0.1 (, is not suitable as a VM-independent native method interface. Like the) 236.76 196.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.36 0.1 (JDK, RNI native methods access Java objects as C str) 198 184.33 B 0.36 0.1 (uctur) 437.99 184.33 B 0.36 0.1 (es. This leads to two) 462.02 184.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (pr) 198 172.33 S 0.1 (oblems:) 207.98 172.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 154.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (RNI exposes the layout of internal Java objects to native code.) 210.6 154.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.4/DEST FmPD2 54 532/M5.9.21770.Head1.Java.Native.Interface.Approach FmPA 54 532/I5.1.16777 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "4" 14 %%Page: "5" 15 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Intr) 198 108.7 B -0.58 0.09 (oduction) 212.7 108.7 B 1 F -0.58 0.09 (\321) 245.08 108.7 B 0 F -0.58 0.09 (May 1997) 254.17 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (5) 553.41 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (1) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0 X 0 0 0 1 0 0 0 K 0.14 (\245) 198 641.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q -0.01 0.1 (Dir) 210.6 641.33 B -0.01 0.1 (ect access of Java objects as C str) 225.32 641.33 B -0.01 0.1 (uctur) 371.4 641.33 B -0.01 0.1 (es makes it impossible to ef) 395.43 641.33 B -0.01 0.1 (\336ciently) 518.77 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (incorporate \322write barriers,\323 which ar) 210.6 629.33 B 0.52 0.1 (e necessary in advanced garbage) 383.7 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (collection algorithms.) 210.6 617.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (As a binary standar) 198 597.33 B 0.52 0.1 (d, COM ensur) 287.95 597.33 B 0.52 0.1 (es complete binary compatibility acr) 352.86 597.33 B 0.52 0.1 (oss) 519.03 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (dif) 198 585.33 B 0.52 0.1 (fer) 210.47 585.33 B 0.52 0.1 (ent VMs. Invoking a COM method r) 222.66 585.33 B 0.52 0.1 (equir) 388.87 585.33 B 0.52 0.1 (es only an indir) 412.47 585.33 B 0.52 0.1 (ect call, which) 484.25 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.35 0.1 (carries little over) 198 573.33 B 0.35 0.1 (head. In addition, COM objects ar) 274.6 573.33 B 0.35 0.1 (e a gr) 428.89 573.33 B 0.35 0.1 (eat impr) 454.32 573.33 B 0.35 0.1 (ovement over) 492.54 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (dynamic-link libraries in solving versioning pr) 198 561.33 B 0.52 0.1 (oblems.) 411.36 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The use of COM as the standar) 198 541.33 B 0.52 0.1 (d Java native method interface, however) 340.33 541.33 B 0.52 0.1 (, is) 524.97 541.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (hamper) 198 529.33 B 0.52 0.1 (ed by a few factors:) 232.82 529.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 511.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (First, the Java/COM interface lacks certain desir) 210.6 511.33 B 0.52 0.1 (ed functions, such as) 431.79 511.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (accessing private \336elds and raising general exceptions.) 210.6 499.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 481.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Second, the Java/COM interface automatically pr) 210.6 481.33 B 0.52 0.1 (ovides the standar) 436.73 481.33 B 0.52 0.1 (d) 520.8 481.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.22 0.1 (IUnknown) 210.6 469.33 B 1 F 0.52 0.1 ( and) 259.4 469.33 B 5 F 1.22 0.1 (IDispatch) 282.87 469.33 B 1 F 0.52 0.1 ( COM interfaces for Java objects, so that native) 337.77 469.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (code can access public methods and \336elds. Unfortunately) 210.6 457.33 B 0.52 0.1 (, the) 472.18 457.33 B 5 F 1.22 0.1 (IDispatch) 495.19 457.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (interface does not deal with overloaded Java methods and is case-) 210.6 445.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (insensitive in matching method names. Furthermor) 210.6 433.33 B 0.52 0.1 (e, all Java methods) 445.08 433.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K -0.06 0.1 (exposed thr) 210.6 421.33 B -0.06 0.1 (ough the) 263.55 421.33 B 5 F -0.14 0.1 (IDispatch) 306.06 421.33 B 1 F -0.06 0.1 ( interface ar) 360.96 421.33 B -0.06 0.1 (e wrapped to perform dynamic) 414.2 421.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (type checking and coer) 210.6 409.33 B 0.52 0.1 (cion. This is because the) 316.21 409.33 B 5 F 1.22 0.1 (IDispatch) 429.98 409.33 B 1 F 0.52 0.1 ( interface is) 484.88 409.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (designed with weakly-typed languages \050such as Basic\051 in mind.) 210.6 397.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 379.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Thir) 210.6 379.33 B 0.52 0.1 (d, instead of dealing with individual low-level functions, COM is) 229.63 379.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K -0.16 0.1 (designed to allow softwar) 210.6 367.33 B -0.16 0.1 (e components \050including full-\337edged applications\051) 327.19 367.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K -0 0.1 (to work together) 210.6 355.33 B -0 0.1 (. W) 285.37 355.33 B -0 0.1 (e believe that it is not appr) 299.75 355.33 B -0 0.1 (opriate to tr) 419.78 355.33 B -0 0.1 (eat all Java classes) 473.2 355.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (or low-level native methods as softwar) 210.6 343.33 B 0.52 0.1 (e components.) 388.58 343.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 325.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Fourth, the immediate adoption of COM is hamper) 210.6 325.33 B 0.52 0.1 (ed by the lack of its) 444.92 325.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (support on UNIX platforms.) 210.6 313.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.16 0.1 (Although we do not expose Java objects to the native code as COM objects, the) 198 293.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (JNI interface itself is binary-compatible with COM. W) 198 281.33 B 0.52 0.1 (e use the same jump) 443.89 281.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (table str) 198 269.33 B 0.52 0.1 (uctur) 234.78 269.33 B 0.52 0.1 (e and calling convention that COM does.) 258.81 269.33 B 0 F 0.52 0.1 (This means that, as soon) 449.5 269.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (as cr) 198 257.33 B 0.52 0.1 (oss-platform support for COM is available, the JNI can become a COM interface) 217.63 257.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (to the Java VM.) 198 245.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (W) 198 225.33 B 0.52 0.1 (e do not believe that the JNI should be the only native method interface) 207.18 225.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (supported by a given Java VM. A standar) 198 213.33 B 0.52 0.1 (d interface bene\336ts pr) 388.86 213.33 B 0.52 0.1 (ogrammers) 488.78 213.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (who would like to load their native code libraries into dif) 198 201.33 B 0.52 0.1 (fer) 461.71 201.33 B 0.52 0.1 (ent Java VMs. In) 473.9 201.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (some cases, the pr) 198 189.33 B 0.52 0.1 (ogrammer may have to use a lower) 281.04 189.33 B 0.52 0.1 (-level, VM-speci\336c) 443.43 189.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (interface to achieve top ef) 198 177.33 B 0.52 0.1 (\336ciency) 315.86 177.33 B 0.52 0.1 (. In other cases, the pr) 349.46 177.33 B 0.52 0.1 (ogrammer might use a) 450.79 177.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (higher) 198 165.33 B 0.52 0.1 (-level interface to build softwar) 227.27 165.33 B 0.52 0.1 (e components. Indeed, we hope that, as) 370.93 165.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.5/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "5" 15 %%Page: "6" 16 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (6) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (1) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (the Java envir) 198 641.33 B 0.52 0.1 (onment and component softwar) 261.23 641.33 B 0.52 0.1 (e technologies become mor) 407.29 641.33 B 0.52 0.1 (e) 531 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (matur) 198 629.33 B 0.52 0.1 (e, native methods will gradually lose their signi\336cance.) 225.39 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Pr) 54 596 P -0.94 (ogramming to the JNI) 68.73 596 P 0 0 0 1 0 0 0 K 54 740/G5.16539 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Native method pr) 198 574.33 B 0.52 0.1 (ogrammers should start pr) 279.61 574.33 B 0.52 0.1 (ogramming to the JNI.) 401.84 574.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Pr) 198 562.33 B 0.52 0.1 (ogramming to the JNI insulates you fr) 208.01 562.33 B 0.52 0.1 (om unknowns, such as the vendor) 382.7 562.33 B 0.52 0.1 (\325s) 540.93 562.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (VM that the end user might be r) 198 550.33 B 0.52 0.1 (unning. By conforming to the JNI standar) 346.43 550.33 B 0.52 0.1 (d,) 537.05 550.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (you will give a native library the best chance to r) 198 538.33 B 0.52 0.1 (un in a given Java VM. For) 423.16 538.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (example, although JDK 1.1 will continue to support the old-style native) 198 526.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (method interface that was implemented in JDK 1.0, it is certain that futur) 198 514.33 B 0.52 0.1 (e) 533.47 514.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.31 0.1 (versions of the JDK will stop supporting the old-style native method interface.) 198 502.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Native methods r) 198 490.33 B 0.52 0.1 (elying on the old-style interface will have to be r) 277.84 490.33 B 0.52 0.1 (ewritten.) 500.82 490.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (If you ar) 198 470.33 B 0.52 0.1 (e implementing a Java VM, you should implement the JNI. W) 237.46 470.33 B 0.52 0.1 (e) 519.98 470.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.51 0.1 (\050Javasoft and the licensees\051 have tried our best to ensur) 198 458.33 B 0.51 0.1 (e that the JNI does not) 451.38 458.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (impose any over) 198 446.33 B 0.52 0.1 (head or r) 273.83 446.33 B 0.52 0.1 (estrictions on your VM implementation, including) 315.67 446.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.18 0.1 (object r) 198 434.33 B 0.18 0.1 (epr) 231.07 434.33 B 0.18 0.1 (esentation, garbage collection scheme, and so on. Please let us know) 245.94 434.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (if you r) 198 422.33 B 0.52 0.1 (un into any pr) 232 422.33 B 0.52 0.1 (oblems we might have overlooked.) 297.92 422.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Changes in JDK 1.1.2) 54 389 P 0 0 0 1 0 0 0 K 54 533/G5.648 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.26 0.1 (T) 198 367.33 B 0.26 0.1 (o better support the Java Runtime Envir) 203.31 367.33 B 0.26 0.1 (onment \050JRE\051, the Invocation API has) 385.18 367.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.07 0.1 (been extended in JDK 1.1.2 in a few minor ways. The changes do not br) 198 355.33 B 0.07 0.1 (eak any) 520.33 355.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (existing code. The JNI Native Method Interface has not been changed.) 198 343.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 325.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (The) 210.6 325.33 B 5 F 1.22 0.1 (reserved0) 230.76 325.33 B 1 F 0.52 0.1 ( \336eld in the JDK1_1InitAr) 285.66 325.33 B 0.52 0.1 (gs str) 402.94 325.33 B 0.52 0.1 (uctur) 427.73 325.33 B 0.52 0.1 (e has been r) 451.76 325.33 B 0.52 0.1 (enamed to) 506.57 325.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.22 0.1 (version) 210.6 313.33 B 1 F 0.52 0.1 (. The) 253.3 313.33 B 5 F 1.22 0.1 (JDK1_1InitArgs) 279.18 313.33 B 1 F 0.52 0.1 ( str) 364.58 313.33 B 0.52 0.1 (uctur) 379.37 313.33 B 0.52 0.1 (e holds the initialization) 403.4 313.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (ar) 210.6 301.33 B 0.52 0.1 (guments to) 219.57 301.33 B 5 F 1.22 0.1 (JNI_CreateJavaVM) 273.96 301.33 B 1 F 0.52 0.1 (. Callers of) 371.56 301.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.22 0.1 (JNI_GetDefaultJavaVMInitArgs) 210.6 289.33 B 1 F 0.52 0.1 ( and) 381.4 289.33 B 5 F 1.22 0.1 (JNI_CreateJavaVM) 404.87 289.33 B 1 F 0.52 0.1 ( must set) 502.47 289.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.35 0.1 (the version \336eld to) 210.6 277.33 B 5 F 0.83 0.1 (0x00010001) 299.28 277.33 B 1 F 0.35 0.1 (.) 360.28 277.33 B 5 F 0.83 0.1 (JNI_GetDefaultJavaVMInitArgs) 365.83 277.33 B 1 F 0.35 0.1 ( has) 536.63 277.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (been changed to r) 210.6 265.33 B 0.52 0.1 (eturn a) 292.32 265.33 B 5 F 1.22 0.1 (jint) 328.01 265.33 B 1 F 0.52 0.1 ( indicating whether the r) 352.41 265.33 B 0.52 0.1 (equested version is) 466.14 265.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (supported.) 210.6 253.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 235.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.35 0.1 (The) 210.6 235.33 B 5 F 0.82 0.1 (reserved1) 230.59 235.33 B 1 F 0.35 0.1 ( \336eld in the) 285.49 235.33 B 5 F 0.82 0.1 (JDK1_1InitArgs) 340.65 235.33 B 1 F 0.35 0.1 ( str) 426.05 235.33 B 0.35 0.1 (uctur) 440.68 235.33 B 0.35 0.1 (e has been r) 464.7 235.33 B 0.35 0.1 (enamed) 519.01 235.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.37 0.1 (to) 210.6 223.33 B 5 F 0.88 0.1 (properties) 222.49 223.33 B 1 F 0.37 0.1 (. This is a) 283.49 223.33 B 5 F 0.88 0.1 (NULL) 329.94 223.33 B 1 F 0.37 0.1 (-terminated array of strings. Each string has) 354.34 223.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the format:) 210.6 211.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (name=value) 224.64 193.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (indicating a system pr) 210.6 174.93 B 0.52 0.1 (operty) 312.3 174.93 B 0.52 0.1 (. \050This facility corr) 340.82 174.93 B 0.52 0.1 (esponds to the -D option in) 424.85 174.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the java command line.\051) 210.6 162.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.6/DEST FmPD2 54 750/M5.9.40996.Head1.Programming.to.the.JNI FmPA 54 750/I5.1.16785 FmPA 54 543/M5.9.37347.Head1.Changes.in.JDK.112 FmPA 54 543/I5.1.715 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "6" 16 %%Page: "7" 17 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Intr) 198 108.7 B -0.58 0.09 (oduction) 212.7 108.7 B 1 F -0.58 0.09 (\321) 245.08 108.7 B 0 F -0.58 0.09 (May 1997) 254.17 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (7) 553.41 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (1) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0 X 0 0 0 1 0 0 0 K 0.14 (\245) 198 641.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (In JDK 1.1.1, the thr) 210.6 641.33 B 0.52 0.1 (ead calling) 301.52 641.33 B 5 F 1.22 0.1 (DestroyJavaVM) 354.21 641.33 B 1 F 0.52 0.1 ( must be the only user) 433.51 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.35 0.1 (thr) 210.6 629.33 B 0.35 0.1 (ead in the VM. JDK 1.1.2 has lifted this r) 223.75 629.33 B 0.35 0.1 (estriction. If) 408 629.33 B 5 F 0.83 0.1 (DestroyJavaVM) 465.45 629.33 B 1 F 0.35 0.1 ( is) 544.74 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (called when ther) 210.6 617.33 B 0.52 0.1 (e is mor) 286.81 617.33 B 0.52 0.1 (e than one user thr) 323.65 617.33 B 0.52 0.1 (ead, the VM waits until the) 410.25 617.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (curr) 210.6 605.33 B 0.52 0.1 (ent thr) 229.19 605.33 B 0.52 0.1 (ead is the only user thr) 259.63 605.33 B 0.52 0.1 (ead, and then tries to destr) 365.66 605.33 B 0.52 0.1 (oy itself.) 488.62 605.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.7/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "7" 17 %%Page: "8" 18 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (8) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (1) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.8/DEST FmPD2 [/Dest/L.introdoc/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "8" 18 %%Page: "9" 19 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (9) 553.41 108.7 S 0 0 0 1 0 0 0 K 198 500.18 558 500.18 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 540.76 521.07 558.36 524.92 R 0 X 1 1 0 0 0 0 1 K V 540.76 514.65 558.36 518.5 R V 540.76 508.42 558.36 512.27 R V 540.76 518.61 558.36 521.29 R 7 X V 540.76 512.4 558.36 514.87 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 522.64 558 589.39 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 72 612 720 C 0 20 Q 0 X 0 0 0 1 0 0 0 K -2.5 (Design Overview) 198 509.31 P 54 653/G6.9502 FmPA 1 1 0 0 0 0 1 K 0 24 Q 1 1 0 0 0 0 1 K -3.12 (2) 525.14 508.64 S 0 0 0 1 0 0 0 K 1 10 Q 0 0 0 1 0 0 0 K 0.52 0.1 (This chapter focuses on major design issues in the JNI. Most design issues in) 198 459.68 B 0.52 0.1 (this section ar) 198 447.68 B 0.52 0.1 (e r) 261.46 447.68 B 0.52 0.1 (elated to native methods. The design of the Invocation API is) 273.34 447.68 B 0.52 0.1 (cover) 198 435.68 B 0.52 0.1 (ed in Chapter) 222.61 435.68 B 0.52 0.1 (5, \322The Invocation API.\323) 288.1 435.68 B 0 15 Q -0.94 (JNI Interface Functions and Pointers) 54 402.34 P 54 546/G6.16696 FmPA 1 10 Q 0.52 0.1 (Native code accesses Java VM featur) 198 380.68 B 0.52 0.1 (es by calling JNI functions. JNI functions) 365.34 380.68 B 0.52 0.1 (ar) 198 368.68 B 0.52 0.1 (e available thr) 206.97 368.68 B 0.52 0.1 (ough an) 271.85 368.68 B 0 F 0.52 0.1 (interface pointer) 312.38 368.68 B 1 F 0.52 0.1 (. An interface pointer is a pointer to a) 379.88 368.68 B 0.49 0.1 (pointer) 198 356.68 B 0.49 0.1 (. This pointer points to an array of pointers, each of which points to an) 230.16 356.68 B 0.52 0.1 (interface function. Every interface function is at a pr) 198 344.68 B 0.52 0.1 (ede\336ned of) 437.13 344.68 B 0.52 0.1 (fset inside the) 488.22 344.68 B 0.52 0.1 (array) 198 332.68 B 0.52 0.1 (. Figur) 220.85 332.68 B 0.52 0.1 (e) 250.9 332.68 B 0.52 0.1 (2-) 258.39 332.68 B 0.52 0.1 (1 illustrates the or) 266.92 332.68 B 0.52 0.1 (ganization of an interface pointer) 349.58 332.68 B 0.52 0.1 (.) 501.16 332.68 B 1 9 Q 0.47 0.09 (Figur) 198 162.5 B 0.47 0.09 (e) 219.9 162.5 B 0.47 0.09 (2-) 226.64 162.5 B 0.47 0.09 (1) 234.32 162.5 B 0.47 0.09 ( Interface Pointer) 238.9 162.5 B 1 10 Q 0.52 0.1 (The JNI interface is or) 198 142.83 B 0.52 0.1 (ganized like a C++ virtual function table or a COM) 298.8 142.83 B 0.52 0.1 (interface. The advantage to using an interface table, rather than har) 198 130.83 B 0.52 0.1 (d-wir) 506.46 130.83 B 0.52 0.1 (ed) 531.41 130.83 B 54 117 558 466.34 C 57.53 174.5 554.47 317.34 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 245.03 258.84 326.03 276.84 R 0.5 H 0 Z 0 X 0 0 0 1 0 0 0 K N 357.53 204.84 438.53 222.84 R N 357.53 222.84 438.53 240.84 R N 357.53 240.84 438.53 258.84 R N 357.53 258.84 438.53 276.84 R N 1 10 Q (JNI interface pointer) 83.53 289.65 T (JNI functions) 377.71 284.65 T 5 14 Q (...) 380.03 213.84 T J 245.03 227.34 326.03 258.84 R N 1 10 Q (per) 252.87 244.72 T (-thr) 267.44 244.72 T (ead JNI) 283.62 244.72 T (data str) 252.87 234.65 T (uctur) 286.11 234.65 T (e) 309.64 234.65 T J (Array of pointers) 365 295 T (to) 365 284.94 T (Pointer) 266 265 T 471 256 538 282 13 RR N (an interface) 480 271 T (function) 487 260.94 T 469 220 536 246 13 RR N (an interface) 478 235 T (function) 485 224.94 T 462.42 206.92 463.66 208.33 467.32 202.6 461.18 205.52 4 Y N 462.42 206.92 463.66 208.33 467.32 202.6 461.18 205.52 4 Y V 434 232 462.23 207.09 2 L 2 Z N 473 183 540 209 13 RR 0 Z N (an interface) 482 198 T (function) 489 187.94 T 460.81 242.9 461.29 244.71 467.12 241.23 460.33 241.09 4 Y N 460.81 242.9 461.29 244.71 467.12 241.23 460.33 241.09 4 Y V 434 250 460.57 242.97 2 L 2 Z N 460.56 268 460.56 269.87 467.09 268 460.56 266.13 4 Y 0 Z N 460.56 268 460.56 269.87 467.09 268 460.56 266.13 4 Y V 433 268 460.31 268 2 L 2 Z N 351.56 268 351.56 269.87 358.09 268 351.56 266.13 4 Y 0 Z N 351.56 268 351.56 269.87 358.09 268 351.56 266.13 4 Y V 312 268 351.31 268 2 L 2 Z N 236.58 268.03 236.59 269.9 243.09 268 236.58 266.16 4 Y 0 Z N 236.58 268.03 236.59 269.9 243.09 268 236.58 266.16 4 Y V 236.33 268.03 M 171.42 268.3 120 275.97 120 285 D 2 Z N (Pointer) 378 265 T (Pointer) 378 246 T (Pointer) 378 229 T 54 117 558 466.34 C 0 72 612 720 C 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.9/DEST FmPD2 [/Dest/F.designdoc/DEST FmPD2 245 312/M6.9.33246.FigureCaption.Figure21.Interface.Pointer FmPA 245 312/I6.1.445 FmPA [/Rect[249 432 393 443]/Border[0 0 0]/Dest/M9.9.19693.ChapNumber.5/LNK FmPD2 [/Rect[227 329 272 340]/Border[0 0 0]/Page 19/View[/XYZ null 245 312 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2 [/Title(A)/Rect[45 108 567 475]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "9" 19 %%Page: "10" 20 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (10) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (2) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (function entries, is that the JNI name space becomes separate fr) 198 641.33 B 0.52 0.1 (om the native) 488.44 641.33 B 0.52 0.1 (code. A VM can easily pr) 198 629.33 B 0.52 0.1 (ovide multiple versions of JNI function tables. For) 313.71 629.33 B 0.52 0.1 (example, the VM may support two JNI function tables:) 198 617.33 B 4 14 Q 0.14 (\245) 198 599.33 S 1 10 Q 0.52 0.1 (one performs thor) 210.6 599.33 B 0.52 0.1 (ough illegal ar) 293.28 599.33 B 0.52 0.1 (gument checks, and is suitable for) 359.45 599.33 B 0.1 (debugging;) 210.6 587.33 S 4 14 Q 0.14 (\245) 198 569.33 S 1 10 Q 0.52 0.1 (the other performs the minimal amount of checking r) 210.6 569.33 B 0.52 0.1 (equir) 454.95 569.33 B 0.52 0.1 (ed by the JNI) 478.55 569.33 B 0.52 0.1 (speci\336cation, and is ther) 210.6 557.33 B 0.52 0.1 (efor) 321.71 557.33 B 0.52 0.1 (e mor) 339.46 557.33 B 0.52 0.1 (e ef) 365.83 557.33 B 0.52 0.1 (\336cient.) 381.98 557.33 B 0.52 0.1 (The JNI interface pointer is only valid in the curr) 198 537.33 B 0.52 0.1 (ent thr) 422.79 537.33 B 0.52 0.1 (ead. A native method,) 453.23 537.33 B 0.52 0.1 (ther) 198 525.33 B 0.52 0.1 (efor) 216.04 525.33 B 0.52 0.1 (e, must not pass the interface pointer fr) 233.79 525.33 B 0.52 0.1 (om one thr) 414.17 525.33 B 0.52 0.1 (ead to another) 464.42 525.33 B 0.52 0.1 (. A) 529.84 525.33 B 0.52 0.1 (VM implementing the JNI may allocate and stor) 198 513.33 B 0.52 0.1 (e thr) 418.46 513.33 B 0.52 0.1 (ead-local data in the ar) 439.62 513.33 B 0.52 0.1 (ea) 544.78 513.33 B 0.52 0.1 (pointed to by the JNI interface pointer) 198 501.33 B 0.52 0.1 (.) 372.82 501.33 B 0.52 0.1 (Native methods r) 198 481.33 B 0.52 0.1 (eceive the JNI interface pointer as an ar) 277.84 481.33 B 0.52 0.1 (gument. The VM is) 458.65 481.33 B 0.52 0.1 (guaranteed to pass the same interface pointer to a native method when it) 198 469.33 B 0.52 0.1 (makes multiple calls to the native method fr) 198 457.33 B 0.52 0.1 (om the same Java thr) 400.5 457.33 B 0.52 0.1 (ead.) 497.43 457.33 B 0.52 0.1 (However) 198 445.33 B 0.52 0.1 (, a native method can be called fr) 239.26 445.33 B 0.52 0.1 (om dif) 391.84 445.33 B 0.52 0.1 (fer) 421.92 445.33 B 0.52 0.1 (ent Java thr) 434.11 445.33 B 0.52 0.1 (eads, and) 487.05 445.33 B 0.52 0.1 (ther) 198 433.33 B 0.52 0.1 (efor) 216.04 433.33 B 0.52 0.1 (e may r) 233.79 433.33 B 0.52 0.1 (eceive dif) 268.48 433.33 B 0.52 0.1 (fer) 312.04 433.33 B 0.52 0.1 (ent JNI interface pointers.) 324.23 433.33 B 0 15 Q -0.94 (Loading and Linking Native Methods) 54 400 P 54 544/G6.679 FmPA 1 10 Q 0.52 0.1 (Native methods ar) 198 378.33 B 0.52 0.1 (e loaded with the) 282.94 378.33 B 5 F 1.2 (System.loadLibrary) 366.19 378.33 P 1 F 0.52 0.1 ( method. In the) 474.19 378.33 B 0.52 0.1 (following example, the class initialization method loads a platform-speci\336c) 198 366.33 B 0.52 0.1 (native library in which the native method) 198 354.33 B 5 F 1.2 (f) 392.21 354.33 P 1 F 0.52 0.1 ( is de\336ned:) 398.21 354.33 B 5 9 Q (package pkg;) 198 337 T (class Cls {) 198 326 T ( native double f\050int i, String s\051;) 198 315 T ( static {) 198 304 T ( System.loadLibrary\050\322pkg_Cls\323\051;) 198 293 T ( }) 198 282 T (}) 198 271 T 1 10 Q 0.52 0.1 (The ar) 198 251.33 B 0.52 0.1 (gument to) 227.13 251.33 B 5 F 1.2 (System.loadLibrary) 277.18 251.33 P 1 F 0.52 0.1 ( is a library name chosen arbitrarily) 385.18 251.33 B 0.52 0.1 (by the pr) 198 239.33 B 0.52 0.1 (ogrammer) 239.68 239.33 B 0.52 0.1 (. The system follows a standar) 286.11 239.33 B 0.52 0.1 (d, but platform-speci\336c,) 425.22 239.33 B 0.52 0.1 (appr) 198 227.33 B 0.52 0.1 (oach to convert the library name to a native library name. For example, a) 219.19 227.33 B 0.13 0.1 (Solaris system converts the name) 198 215.33 B 5 F 0.31 (pkg_Cls) 351.03 215.33 P 1 F 0.13 0.1 ( to) 393.03 215.33 B 5 F 0.31 (libpkg_Cls.so) 407.42 215.33 P 1 F 0.13 0.1 (, while a W) 485.42 215.33 B 0.13 0.1 (in32) 536.14 215.33 B 0.52 0.1 (system converts the same) 198 203.33 B 5 F 1.2 (pkg_Cls) 317.84 203.33 P 1 F 0.52 0.1 ( name to) 359.84 203.33 B 5 F 1.2 (pkg_Cls.dll) 402.96 203.33 P 1 F 0.52 0.1 (.) 468.96 203.33 B 0.52 0.1 (The pr) 198 183.33 B 0.52 0.1 (ogrammer may use a single library to stor) 228.14 183.33 B 0.52 0.1 (e all the native methods) 420.69 183.33 B 0.11 0.1 (needed by any number of classes, as long as these classes ar) 198 171.33 B 0.11 0.1 (e to be loaded with) 468.42 171.33 B 0.52 0.1 (the same class loader) 198 159.33 B 0.52 0.1 (. The VM internally maintains a list of loaded native) 294.2 159.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.10/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "10" 20 %%Page: "11" 21 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Design Overview) 198 108.7 B 1 F -0.58 0.09 (\321) 262.53 108.7 B 0 F -0.58 0.09 (May 1997) 271.62 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (1) 549.32 108.7 S 0.09 (1) 553.41 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (2) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.13 0.1 (libraries for each class loader) 198 641.33 B 0.13 0.1 (. V) 328.92 641.33 B 0.13 0.1 (endors should choose native library names that) 340.46 641.33 B 0.52 0.1 (minimize the chance of name clashes.) 198 629.33 B 0.52 0.1 (If the underlying operating system does not support dynamic linking, all) 198 609.33 B 0.07 0.1 (native methods must be pr) 198 597.33 B 0.07 0.1 (elinked with the VM. In this case, the VM completes) 319.17 597.33 B 0.52 0.1 (the) 198 585.33 B 5 F 1.2 (System.loadLibrary) 215.29 585.33 P 1 F 0.52 0.1 ( call without actually loading the library) 323.29 585.33 B 0.52 0.1 (.) 507.4 585.33 B 0.52 0.1 (The pr) 198 565.33 B 0.52 0.1 (ogrammer can also call the JNI function) 228.14 565.33 B 5 F 1.2 (RegisterNatives\050\051) 413.73 565.33 P 1 F 0.52 0.1 ( to) 515.73 565.33 B 0.33 0.1 (r) 198 553.33 B 0.33 0.1 (egister the native methods associated with a class. The) 201.87 553.33 B 5 F 0.75 (RegisterNatives\050\051) 453.07 553.33 P 1 F 0.52 0.1 (function is particularly useful with statically linked functions.) 198 541.33 B 0 14 Q 0.7 (Resolving Native Method Names) 160.49 508.67 P 54 653/G6.615 FmPA 1 10 Q 0.52 0.1 (Dynamic linkers r) 198 487.33 B 0.52 0.1 (esolve entries based on their names. A native method name) 279.99 487.33 B 0.52 0.1 (is concatenated fr) 198 475.33 B 0.52 0.1 (om the following components:) 278.28 475.33 B 4 14 Q 0.14 (\245) 198 457.33 S 1 10 Q 0.52 0.1 (the pr) 210.6 457.33 B 0.52 0.1 (e\336x) 237.87 457.33 B 5 F 1.2 (Java_) 257.29 457.33 P 4 14 Q 0.14 (\245) 198 439.33 S 1 10 Q 0.52 0.1 (a mangled fully-quali\336ed class name) 210.6 439.33 B 4 14 Q 0.14 (\245) 198 421.33 S 1 10 Q 0.52 0.1 (an underscor) 210.6 421.33 B 0.52 0.1 (e \050\322_\323\051 separator) 270.25 421.33 B 4 14 Q 0.14 (\245) 198 403.33 S 1 10 Q 0.52 0.1 (a mangled method name) 210.6 403.33 B 4 14 Q 0.14 (\245) 198 385.33 S 1 10 Q 0.52 0.1 (for overloaded native methods, two underscor) 210.6 385.33 B 0.52 0.1 (es \050\322__\323\051 followed by the) 423.18 385.33 B 0.52 0.1 (mangled ar) 210.6 373.33 B 0.52 0.1 (gument signatur) 262.41 373.33 B 0.52 0.1 (e) 337.81 373.33 B 0.21 0.1 (The VM checks for a method name match for methods that r) 198 353.33 B 0.21 0.1 (eside in the native) 472.29 353.33 B 0.52 0.1 (library) 198 341.33 B 0.52 0.1 (. The VM looks \336rst for the short name; that is, the name without the) 227.4 341.33 B 0.52 0.1 (ar) 198 329.33 B 0.52 0.1 (gument signatur) 206.97 329.33 B 0.52 0.1 (e. It then looks for the long name, which is the name with) 282.37 329.33 B 0.46 0.1 (the ar) 198 317.33 B 0.46 0.1 (gument signatur) 224.2 317.33 B 0.46 0.1 (e. Pr) 299.54 317.33 B 0.46 0.1 (ogrammers need to use the long name only when a) 320.1 317.33 B 0.3 0.1 (native method is overloaded with another native method. However) 198 305.33 B 0.3 0.1 (, this is not) 504.98 305.33 B 0.52 0.1 (a pr) 198 293.33 B 0.52 0.1 (oblem if the native method has the same name as a nonnative method. A) 216.2 293.33 B 0.52 0.1 (nonnative method \050a Java method\051 does not r) 198 281.33 B 0.52 0.1 (eside in the native library) 406.06 281.33 B 0.52 0.1 (.) 522.41 281.33 B -0.05 0.1 (In the following example, the native method) 198 261.33 B 5 F -0.11 (g) 400.88 261.33 P 1 F -0.05 0.1 ( does not have to be linked using) 406.88 261.33 B 0.49 0.1 (the long name because the other method) 198 249.33 B 5 F 1.12 (g) 387.1 249.33 P 1 F 0.49 0.1 ( is not a native method, and thus is) 393.1 249.33 B 0.52 0.1 (not in the native library) 198 237.33 B 0.52 0.1 (.) 305.85 237.33 B 5 9 Q (class Cls1 {) 198 220 T ( int g\050int i\051;) 198 209 T ( native int g\050double d\051;) 198 198 T (}) 198 187 T 1 10 Q 0.52 0.1 (W) 198 167.33 B 0.52 0.1 (e adopted a simple name-mangling scheme to ensur) 207.18 167.33 B 0.52 0.1 (e that all Unicode) 445.8 167.33 B 0.52 0.1 (characters translate into valid C function names. W) 198 155.33 B 0.52 0.1 (e use the underscor) 431.81 155.33 B 0.52 0.1 (e \050\322) 521.09 155.33 B 5 F 1.22 0.1 (_) 537.64 155.33 B 1 F 0.52 0.1 (\323\051) 543.73 155.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.11/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "11" 21 %%Page: "12" 22 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (12) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (2) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (character as the substitute for the slash \050\322) 198 641.33 B 5 F 1.22 0.1 (/) 388 641.33 B 1 F 0.52 0.1 (\323\051 in fully quali\336ed class names.) 394.1 641.33 B 0.1 0.1 (Since a name or type descriptor never begins with a number) 198 629.33 B 0.1 0.1 (, we can use) 469.96 629.33 B 5 F 0.23 (_0) 527.6 629.33 P 1 F 0.1 0.1 (, ...,) 539.6 629.33 B 5 F 1.2 (_9) 198 617.33 P 1 F 0.52 0.1 ( for escape sequences, as T) 210 617.33 B 0.52 0.1 (able) 331.5 617.33 B 0.52 0.1 (2-) 352.73 617.33 B 0.52 0.1 (1 illustrates:) 361.26 617.33 B 0.52 0.1 (Both the native methods and the interface APIs follow the standar) 198 461.33 B 0.52 0.1 (d library-) 501.16 461.33 B 0.49 0.1 (calling convention on a given platform. For example, UNIX systems use the C) 198 449.33 B 0.52 0.1 (calling convention, while W) 198 437.33 B 0.52 0.1 (in32 systems use) 325.46 437.33 B 5 F 1.22 0.1 (__stdcall) 405.17 437.33 B 1 F 0.52 0.1 (.) 460.07 437.33 B 0 14 Q 0.7 (Native Method Ar) 160.49 404.67 P 0.7 (guments) 265.84 404.67 P 54 549/G6.715 FmPA 1 10 Q 0.52 0.1 (The JNI interface pointer is the \336rst ar) 198 383.33 B 0.52 0.1 (gument to native methods. The JNI) 372.67 383.33 B 0.44 0.1 (interface pointer is of type) 198 371.33 B 0 F 0.44 0.1 (JNIEnv) 321.66 371.33 B 1 F 0.44 0.1 (. The second ar) 352.26 371.33 B 0.44 0.1 (gument dif) 421.46 371.33 B 0.44 0.1 (fers depending on) 471.86 371.33 B 0.52 0.1 (whether the native method is static or nonstatic. The second ar) 198 359.33 B 0.52 0.1 (gument to a) 485.59 359.33 B 0.52 0.1 (nonstatic native method is a r) 198 347.33 B 0.52 0.1 (efer) 333.93 347.33 B 0.52 0.1 (ence to the object. The second ar) 351.01 347.33 B 0.52 0.1 (gument to a) 499.55 347.33 B 0.52 0.1 (static native method is a r) 198 335.33 B 0.52 0.1 (efer) 316.53 335.33 B 0.52 0.1 (ence to its Java class.) 333.61 335.33 B 0.52 0.1 (The r) 198 315.33 B 0.52 0.1 (emaining ar) 222.03 315.33 B 0.52 0.1 (guments corr) 276.56 315.33 B 0.52 0.1 (espond to r) 336.93 315.33 B 0.52 0.1 (egular Java method ar) 388.99 315.33 B 0.52 0.1 (guments. The) 490.41 315.33 B 0.52 0.1 (native method call passes its r) 198 303.33 B 0.52 0.1 (esult back to the calling r) 335.86 303.33 B 0.52 0.1 (outine via the r) 451.33 303.33 B 0.52 0.1 (eturn) 521.46 303.33 B 0.52 0.1 (value. Chapter) 198 291.33 B 0.52 0.1 (3, \322JNI T) 267.82 291.33 B 0.52 0.1 (ypes and Data Str) 307.5 291.33 B 0.52 0.1 (uctur) 389.17 291.33 B 0.52 0.1 (es,\323 describes the mapping) 413.2 291.33 B 0.52 0.1 (between Java and C types.) 198 279.33 B 0.52 0.1 (Code) 198 259.33 B 0.52 0.1 (Example) 224.45 259.33 B 0.52 0.1 (2-) 266.56 259.33 B 0.52 0.1 (1 illustrates using a C function to implement the native) 275.09 259.33 B 0.52 0.1 (method) 198 247.33 B 5 F 1.2 (f) 235.99 247.33 P 1 F 0.52 0.1 (. The native method) 241.99 247.33 B 5 F 1.2 (f) 337.01 247.33 P 1 F 0.52 0.1 ( is declar) 343.01 247.33 B 0.52 0.1 (ed as follows:) 384.22 247.33 B 5 9 Q (package pkg;) 198 230 T (class Cls {) 198 219 T ( native double f\050int i, String s\051;) 198 208 T ( ...) 198 197 T (}) 198 186 T 1 10 Q 0.52 0.1 (The C function with the long mangled name) 198 166.33 B 5 F 1.2 (Java_pkg_Cls_f_ILjava_lang_String_2) 198 154.33 P 1 F 0.52 0.1 ( implements native method) 408 154.33 B 5 F 1.2 (f) 536.77 154.33 P 1 F 0.52 0.1 (:) 542.77 154.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 576 S 0.09 (able) 202.59 576 S 0.09 (2-) 219.46 576 S 0.09 (1) 227.13 576 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (Unicode Character T) 241.2 576 B 0.47 0.09 (ranslation) 325.6 576 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (Escape Sequence) 198 555 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Denotes) 390.14 555 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.08 (_0XXXX) 200.81 538 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (a Unicode character) 390.14 538 B 5 F 1.08 (XXXX) 474.76 538 P 1 F 0.47 0.09 (.) 496.36 538 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.08 (_1) 198 521 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (the character \322_\323) 390.14 521 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.08 (_2) 198 504 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (the character \322;\323 in signatur) 390.14 504 B 0.47 0.09 (es) 504.73 504 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.08 (_3) 198 487 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (the character \322[\322 in signatur) 390.14 487 B 0.47 0.09 (es) 505.48 487 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 567 555.14 567 2 L V 0 Z N 198 550 555.14 550 2 L V 0.5 H N 198 482 555.14 482 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.12/DEST FmPD2 241 726/M6.9.40224.TableCaptionA.Table01.Unicode.Character.Translation FmPA 241 726/I6.1.17712 FmPA [/Rect[326 613 366 625]/Border[0 0 0]/Page 22/View[/XYZ null 241 726 FmDC exch pop null]/LNK FmPD [/Rect[229 287 422 298]/Border[0 0 0]/Dest/M7.9.26924.ChapNumber.3/LNK FmPD2 [/Rect[198 255 280 266]/Border[0 0 0]/Page 23/View[/XYZ null 277 780 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "12" 22 %%Page: "13" 23 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Design Overview) 198 108.7 B 1 F -0.58 0.09 (\321) 262.53 108.7 B 0 F -0.58 0.09 (May 1997) 271.62 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (13) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (2) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (Code) 198 630 S 0.09 (Example) 218.7 630 S 0.09 (2-) 253.17 630 S 0.09 (1) 260.85 630 S 1 F 0.47 0.09 (Implementing a Native Method Using C) 277.2 630 B 5 F (jdouble Java_pkg_Cls_f__ILjava_lang_String_2 \050) 198 614 T ( JNIEnv *env, /* interface pointer */) 198 603 T ( jobject obj, /* "this" pointer */) 198 592 T ( jint i, /* argument #1 */) 198 581 T ( jstring s\051 /* argument #2 */) 198 570 T ({) 198 559 T ( /* Obtain a C-copy of the Java string */) 198 548 T ( const char *str = \050*env\051->GetStringUTFChars\050env, s, 0\051;) 198 537 T ( /* process the string */) 198 526 T ( ...) 198 515 T ( /* Now we are done with str */) 198 504 T ( \050*env\051->ReleaseStringUTFChars\050env, s, str\051;) 198 493 T ( return ...) 198 482 T (}) 198 471 T 1 10 Q 0.52 0.1 (Note that we always manipulate Java objects using the interface pointer) 198 451.33 B 5 F 1.22 0.1 (env) 530.28 451.33 B 1 F 0.52 0.1 ( .) 548.58 451.33 B 0.52 0.1 (Using C++, you can write a slightly cleaner version of the code, as shown in) 198 439.33 B 0.1 (Code) 198 427.33 S 0.1 (Example) 224.45 427.33 S 0.1 (2-) 266.56 427.33 S 0.1 (2:) 275.09 427.33 S 0 9 Q 0.09 (Code) 198 396 S 0.09 (Example) 218.7 396 S 0.09 (2-) 253.17 396 S 0.09 (2) 260.85 396 S 1 F 0.47 0.09 (Implementing a Native Method Using C++) 277.2 396 B 5 F (extern "C" /* specify the C calling convention */) 198 380 T (jdouble Java_pkg_Cls_f__ILjava_lang_String_2 \050) 198 369 T ( JNIEnv *env, /* interface pointer */) 198 358 T ( jobject obj, /* "this" pointer */) 198 347 T ( jint i, /* argument #1 */) 198 336 T ( jstring s\051 /* argument #2 */) 198 325 T ({) 198 314 T ( const char *str = env->GetStringUTFChars\050s, 0\051;) 198 303 T ( ...) 198 292 T ( env->ReleaseStringUTFChars\050s, str\051;) 198 281 T ( return ...) 198 270 T (}) 198 259 T 1 10 Q 0.52 0.1 (W) 198 239.33 B 0.52 0.1 (ith C++, the extra level of indir) 207.55 239.33 B 0.52 0.1 (ection and the interface pointer ar) 350.06 239.33 B 0.52 0.1 (gument) 505.4 239.33 B 0.52 0.1 (disappear fr) 198 227.33 B 0.52 0.1 (om the sour) 253.34 227.33 B 0.52 0.1 (ce code. However) 308.14 227.33 B 0.52 0.1 (, the underlying mechanism is) 388.87 227.33 B 0.14 0.1 (exactly the same as with C. In C++, JNI functions ar) 198 215.33 B 0.14 0.1 (e de\336ned as inline member) 432.55 215.33 B 0.52 0.1 (functions that expand to their C counterparts.) 198 203.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.13/DEST FmPD2 277 780/M6.9.33763.CodeCaptionA.CodeExample01.Implementing.a.Native.Method.Using.C FmPA 277 780/I6.1.17724 FmPA 277 546/M6.9.39917.CodeCaptionA.CodeExample02.Implementing.a.Native.Method.Using.C FmPA 277 546/I6.1.17725 FmPA [/Rect[54 423 280 434]/Border[0 0 0]/Page 23/View[/XYZ null 277 546 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "13" 23 %%Page: "14" 24 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (14) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (2) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q 0 X 0 0 0 1 0 0 0 K -0.94 (Refer) 54 638 P -0.94 (encing Java Objects) 85.41 638 P 54 782/G6.16785 FmPA 1 10 Q 0.52 0.1 (Primitive types, such as integers, characters, and so on, ar) 198 616.33 B 0.52 0.1 (e copied between) 462.95 616.33 B 0.52 0.1 (Java and native code. Arbitrary Java objects, on the other hand, ar) 198 604.33 B 0.52 0.1 (e passed by) 500.44 604.33 B 0.52 0.1 (r) 198 592.33 B 0.52 0.1 (efer) 201.87 592.33 B 0.52 0.1 (ence. The VM must keep track of all objects that have been passed to the) 218.95 592.33 B 0.52 0.1 (native code, so that these objects ar) 198 580.33 B 0.52 0.1 (e not fr) 359.32 580.33 B 0.52 0.1 (eed by the garbage collector) 392.59 580.33 B 0.52 0.1 (. The) 520.39 580.33 B 0.14 0.1 (native code, in turn, must have a way to inform the VM that it no longer needs) 198 568.33 B 0.52 0.1 (the objects. In addition, the garbage collector must be able to move an object) 198 556.33 B 0.52 0.1 (r) 198 544.33 B 0.52 0.1 (eferr) 201.87 544.33 B 0.52 0.1 (ed to by the native code.) 223 544.33 B 0 14 Q 0.7 (Global and Local Refer) 160.49 511.67 P 0.7 (ences) 290.02 511.67 P 54 656/G6.1242 FmPA 1 10 Q 0.52 0.1 (The JNI divides object r) 198 490.33 B 0.52 0.1 (efer) 306.54 490.33 B 0.52 0.1 (ences used by the native code into two categories:) 323.62 490.33 B 0 F 0.3 0.1 (local) 198 478.33 B 1 F 0.3 0.1 ( and) 217.01 478.33 B 0 F 0.3 0.1 (global r) 240.05 478.33 B 0.3 0.1 (efer) 271.43 478.33 B 0.3 0.1 (ences) 286.1 478.33 B 1 F 0.3 0.1 (. Local r) 307.9 478.33 B 0.3 0.1 (efer) 344.6 478.33 B 0.3 0.1 (ences ar) 361.68 478.33 B 0.3 0.1 (e valid for the duration of a native) 398.13 478.33 B 0.52 0.1 (method call, and ar) 198 466.33 B 0.52 0.1 (e automatically fr) 286.69 466.33 B 0.52 0.1 (eed after the native method r) 366.99 466.33 B 0.52 0.1 (eturns.) 500.35 466.33 B 0.52 0.1 (Global r) 198 454.33 B 0.52 0.1 (efer) 235.03 454.33 B 0.52 0.1 (ences r) 252.11 454.33 B 0.52 0.1 (emain valid until they ar) 283.68 454.33 B 0.52 0.1 (e explicitly fr) 397.32 454.33 B 0.52 0.1 (eed.) 457.61 454.33 B 0.52 0.1 (Objects ar) 198 434.33 B 0.52 0.1 (e passed to native methods as local r) 243.25 434.33 B 0.52 0.1 (efer) 411.66 434.33 B 0.52 0.1 (ences. All Java objects) 428.74 434.33 B 0.36 0.1 (r) 198 422.33 B 0.36 0.1 (eturned by JNI functions ar) 201.87 422.33 B 0.36 0.1 (e local r) 326.94 422.33 B 0.36 0.1 (efer) 362.85 422.33 B 0.36 0.1 (ences. The JNI allows the pr) 379.92 422.33 B 0.36 0.1 (ogrammer) 507.87 422.33 B 0.41 0.1 (to cr) 198 410.33 B 0.41 0.1 (eate global r) 218.34 410.33 B 0.41 0.1 (efer) 274.43 410.33 B 0.41 0.1 (ences fr) 291.52 410.33 B 0.41 0.1 (om local r) 326.4 410.33 B 0.41 0.1 (efer) 372 410.33 B 0.41 0.1 (ences. JNI functions that expect Java) 389.08 410.33 B 0.52 0.1 (objects accept both global and local r) 198 398.33 B 0.52 0.1 (efer) 366.78 398.33 B 0.52 0.1 (ences. A native method may r) 383.86 398.33 B 0.52 0.1 (eturn a) 520.97 398.33 B 0.52 0.1 (local or global r) 198 386.33 B 0.52 0.1 (efer) 270.03 386.33 B 0.52 0.1 (ence to the VM as its r) 287.11 386.33 B 0.52 0.1 (esult.) 390.06 386.33 B 0.52 0.1 (In most cases, the pr) 198 366.33 B 0.52 0.1 (ogrammer should r) 292.02 366.33 B 0.52 0.1 (ely on the VM to fr) 380.47 366.33 B 0.52 0.1 (ee all local) 468.38 366.33 B 0.47 0.1 (r) 198 354.33 B 0.47 0.1 (efer) 201.87 354.33 B 0.47 0.1 (ences after the native method r) 218.95 354.33 B 0.47 0.1 (eturns. However) 360.67 354.33 B 0.47 0.1 (, ther) 436.29 354.33 B 0.47 0.1 (e ar) 460.01 354.33 B 0.47 0.1 (e times when the) 476.94 354.33 B 0.27 0.1 (pr) 198 342.33 B 0.27 0.1 (ogrammer should explicitly fr) 207.98 342.33 B 0.27 0.1 (ee a local r) 344.1 342.33 B 0.27 0.1 (efer) 392.69 342.33 B 0.27 0.1 (ence. Consider) 409.77 342.33 B 0.27 0.1 (, for example, the) 475.91 342.33 B 0.52 0.1 (following situations:) 198 330.33 B 4 14 Q 0.14 (\245) 198 312.33 S 1 10 Q 0.52 0.1 (A native method accesses a lar) 210.6 312.33 B 0.52 0.1 (ge Java object, ther) 351.04 312.33 B 0.52 0.1 (eby cr) 437.39 312.33 B 0.52 0.1 (eating a local) 465.1 312.33 B 0.52 0.1 (r) 210.6 300.33 B 0.52 0.1 (efer) 214.47 300.33 B 0.52 0.1 (ence to the Java object. The native method then performs additional) 231.55 300.33 B 0.52 0.1 (computation befor) 210.6 288.33 B 0.52 0.1 (e r) 294.68 288.33 B 0.52 0.1 (eturning to the caller) 306.56 288.33 B 0.52 0.1 (. The local r) 401.81 288.33 B 0.52 0.1 (efer) 455.9 288.33 B 0.52 0.1 (ence to the lar) 472.98 288.33 B 0.52 0.1 (ge) 537.65 288.33 B 0.52 0.1 (Java object will pr) 210.6 276.33 B 0.52 0.1 (event the object fr) 293.21 276.33 B 0.52 0.1 (om being garbage collected, even if the) 375.27 276.33 B 0.52 0.1 (object is no longer used in the r) 210.6 264.33 B 0.52 0.1 (emainder of the computation.) 355.32 264.33 B 4 14 Q 0.14 (\245) 198 246.33 S 1 10 Q 0.28 0.1 (A native method cr) 210.6 246.33 B 0.28 0.1 (eates a lar) 298.44 246.33 B 0.28 0.1 (ge number of local r) 343.87 246.33 B 0.28 0.1 (efer) 435.58 246.33 B 0.28 0.1 (ences, although not all) 452.66 246.33 B 0.52 0.1 (of them ar) 210.6 234.33 B 0.52 0.1 (e used at the same time. Since the VM needs a certain amount of) 257.9 234.33 B 0.52 0.1 (space to keep track of a local r) 210.6 222.33 B 0.52 0.1 (efer) 349.78 222.33 B 0.52 0.1 (ence, cr) 366.86 222.33 B 0.52 0.1 (eating too many local r) 401.23 222.33 B 0.52 0.1 (efer) 506.83 222.33 B 0.52 0.1 (ences) 523.91 222.33 B 0.52 0.1 (may cause the system to r) 210.6 210.33 B 0.52 0.1 (un out of memory) 329.47 210.33 B 0.52 0.1 (. For example, a native method) 411.83 210.33 B 0.52 0.1 (loops thr) 210.6 198.33 B 0.52 0.1 (ough a lar) 251.45 198.33 B 0.52 0.1 (ge array of objects, r) 298.04 198.33 B 0.52 0.1 (etrieves the elements as local) 391.25 198.33 B 0.52 0.1 (r) 210.6 186.33 B 0.52 0.1 (efer) 214.47 186.33 B 0.52 0.1 (ences, and operates on one element at each iteration. After each) 231.55 186.33 B 0.52 0.1 (iteration, the pr) 210.6 174.33 B 0.52 0.1 (ogrammer no longer needs the local r) 281.85 174.33 B 0.52 0.1 (efer) 453.82 174.33 B 0.52 0.1 (ence to the array) 470.9 174.33 B 0.1 (element.) 210.6 162.33 S 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.14/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "14" 24 %%Page: "15" 25 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Design Overview) 198 108.7 B 1 F -0.58 0.09 (\321) 262.53 108.7 B 0 F -0.58 0.09 (May 1997) 271.62 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (15) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (2) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (The JNI allows the pr) 198 641.33 B 0.52 0.1 (ogrammer to manually delete local r) 296.44 641.33 B 0.52 0.1 (efer) 463.33 641.33 B 0.52 0.1 (ences at any) 480.41 641.33 B 0.52 0.1 (point within a native method. T) 198 629.33 B 0.52 0.1 (o ensur) 343.13 629.33 B 0.52 0.1 (e that pr) 376.96 629.33 B 0.52 0.1 (ogrammers can manually fr) 415.81 629.33 B 0.52 0.1 (ee) 542.4 629.33 B 0.52 0.1 (local r) 198 617.33 B 0.52 0.1 (efer) 226.21 617.33 B 0.52 0.1 (ences, JNI functions ar) 243.29 617.33 B 0.52 0.1 (e not allowed to cr) 346.32 617.33 B 0.52 0.1 (eate extra local r) 432.08 617.33 B 0.52 0.1 (efer) 507.42 617.33 B 0.52 0.1 (ences,) 524.51 617.33 B 0.52 0.1 (except for r) 198 605.33 B 0.52 0.1 (efer) 250.2 605.33 B 0.52 0.1 (ences they r) 267.28 605.33 B 0.52 0.1 (eturn as the r) 321.8 605.33 B 0.52 0.1 (esult.) 382.99 605.33 B 0.52 0.1 (Local r) 198 585.33 B 0.52 0.1 (efer) 229.41 585.33 B 0.52 0.1 (ences ar) 246.49 585.33 B 0.52 0.1 (e only valid in the thr) 283.16 585.33 B 0.52 0.1 (ead in which they ar) 383.13 585.33 B 0.52 0.1 (e cr) 477.37 585.33 B 0.52 0.1 (eated. The) 493.79 585.33 B 0.52 0.1 (native code must not pass local r) 198 573.33 B 0.52 0.1 (efer) 348.53 573.33 B 0.52 0.1 (ences fr) 365.61 573.33 B 0.52 0.1 (om one thr) 400.61 573.33 B 0.52 0.1 (ead to another) 450.86 573.33 B 0.52 0.1 (.) 516.28 573.33 B 0 14 Q 0.7 (Implementing Local Refer) 160.49 540.67 P 0.7 (ences) 307.36 540.67 P 54 685/G6.529 FmPA 1 10 Q 0.52 0.1 (T) 198 519.33 B 0.52 0.1 (o implement local r) 203.31 519.33 B 0.52 0.1 (efer) 292.37 519.33 B 0.52 0.1 (ences, the Java VM cr) 309.45 519.33 B 0.52 0.1 (eates a r) 407.95 519.33 B 0.52 0.1 (egistry for each) 445.74 519.33 B 0.52 0.1 (transition of contr) 198 507.33 B 0.52 0.1 (ol fr) 280.11 507.33 B 0.52 0.1 (om Java to a native method. A r) 299.1 507.33 B 0.52 0.1 (egistry maps) 446.08 507.33 B 0.52 0.1 (nonmovable local r) 198 495.33 B 0.52 0.1 (efer) 285.6 495.33 B 0.52 0.1 (ences to Java objects, and keeps the objects fr) 302.68 495.33 B 0.52 0.1 (om being) 509.23 495.33 B 0.52 0.1 (garbage collected. All Java objects passed to the native method \050including) 198 483.33 B 0.52 0.1 (those that ar) 198 471.33 B 0.52 0.1 (e r) 255.02 471.33 B 0.52 0.1 (eturned as the r) 266.9 471.33 B 0.52 0.1 (esults of JNI function calls\051 ar) 339.19 471.33 B 0.52 0.1 (e automatically) 475.43 471.33 B 0.52 0.1 (added to the r) 198 459.33 B 0.52 0.1 (egistry) 262.94 459.33 B 0.52 0.1 (. The r) 292.8 459.33 B 0.52 0.1 (egistry is deleted after the native method r) 322.55 459.33 B 0.52 0.1 (eturns,) 517.93 459.33 B 0.52 0.1 (allowing all of its entries to be garbage collected.) 198 447.33 B 0.04 0.1 (Ther) 198 427.33 B 0.04 0.1 (e ar) 218.91 427.33 B 0.04 0.1 (e dif) 235.41 427.33 B 0.04 0.1 (fer) 255.42 427.33 B 0.04 0.1 (ent ways to implement a r) 267.61 427.33 B 0.04 0.1 (egistry) 385.47 427.33 B 0.04 0.1 (, such as using a table, a linked) 415.33 427.33 B 0.52 0.1 (list, or a hash table. Although r) 198 415.33 B 0.52 0.1 (efer) 340.93 415.33 B 0.52 0.1 (ence counting may be used to avoid) 358.01 415.33 B 0.23 0.1 (duplicated entries in the r) 198 403.33 B 0.23 0.1 (egistry) 315.32 403.33 B 0.23 0.1 (, a JNI implementation is not obliged to detect) 345.18 403.33 B 0.52 0.1 (and collapse duplicate entries.) 198 391.33 B 0.52 0.1 (Note that local r) 198 371.33 B 0.52 0.1 (efer) 272.41 371.33 B 0.52 0.1 (ences cannot be faithfully implemented by conservatively) 289.49 371.33 B 0.52 0.1 (scanning the native stack. The native code may stor) 198 359.33 B 0.52 0.1 (e local r) 434.26 359.33 B 0.52 0.1 (efer) 470.48 359.33 B 0.52 0.1 (ences into) 487.56 359.33 B 0.52 0.1 (global or heap data str) 198 347.33 B 0.52 0.1 (uctur) 301.52 347.33 B 0.52 0.1 (es.) 325.55 347.33 B 0 15 Q -0.94 (Accessing Java Objects) 54 314 P 54 458/G6.1253 FmPA 1 10 Q 0.12 0.1 (The JNI pr) 198 292.33 B 0.12 0.1 (ovides a rich set of accessor functions on global and local r) 245.77 292.33 B 0.12 0.1 (efer) 511.02 292.33 B 0.12 0.1 (ences.) 528.1 292.33 B 0.08 0.1 (This means that the same native method implementation works no matter how) 198 280.33 B 0.52 0.1 (the VM r) 198 268.33 B 0.52 0.1 (epr) 239.16 268.33 B 0.52 0.1 (esents Java objects internally) 254.03 268.33 B 0.52 0.1 (. This is a cr) 384.09 268.33 B 0.52 0.1 (ucial r) 439.63 268.33 B 0.52 0.1 (eason why the JNI) 468.41 268.33 B 0.52 0.1 (can be supported by a wide variety of VM implementations.) 198 256.33 B 0.52 0.1 (The over) 198 236.33 B 0.52 0.1 (head of using accessor functions thr) 238.23 236.33 B 0.52 0.1 (ough opaque r) 402.72 236.33 B 0.52 0.1 (efer) 469.59 236.33 B 0.52 0.1 (ences is higher) 486.67 236.33 B 0.52 0.1 (than that of dir) 198 224.33 B 0.52 0.1 (ect access to C data str) 267.48 224.33 B 0.52 0.1 (uctur) 371.17 224.33 B 0.52 0.1 (es. W) 395.2 224.33 B 0.52 0.1 (e believe that, in most cases,) 419.33 224.33 B 0.52 0.1 (Java pr) 198 212.33 B 0.52 0.1 (ogrammers use native methods to perform nontrivial tasks that) 230.48 212.33 B 0.52 0.1 (overshadow the over) 198 200.33 B 0.52 0.1 (head of this interface.) 294.3 200.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.15/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "15" 25 %%Page: "16" 26 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (16) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (2) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K 0.7 (Accessing Primitive Arrays) 160.49 638.67 P 54 783/G6.1265 FmPA 1 10 Q 0.52 0.1 (This over) 198 617.33 B 0.52 0.1 (head is not acceptable for lar) 240.69 617.33 B 0.52 0.1 (ge Java objects containing many) 372.79 617.33 B 0.52 0.1 (primitive data types, such as integer arrays and strings. \050Consider native) 198 605.33 B 0.5 0.1 (methods that ar) 198 593.33 B 0.5 0.1 (e used to perform vector and matrix calculations.\051 It would be) 270.11 593.33 B 0.52 0.1 (gr) 198 581.33 B 0.52 0.1 (ossly inef) 207.53 581.33 B 0.52 0.1 (\336cient to iterate thr) 250.63 581.33 B 0.52 0.1 (ough a Java array and r) 338.59 581.33 B 0.52 0.1 (etrieve every element) 447 581.33 B 0.52 0.1 (with a function call.) 198 569.33 B 0.52 0.1 (One solution intr) 198 549.33 B 0.52 0.1 (oduces a notion of \322pinning\323 so that the native method can) 276.06 549.33 B 0.52 0.1 (ask the VM to pin down the contents of an array) 198 537.33 B 0.52 0.1 (. The native method then) 420.36 537.33 B 0.52 0.1 (r) 198 525.33 B 0.52 0.1 (eceives a dir) 201.87 525.33 B 0.52 0.1 (ect pointer to the elements. This appr) 258.61 525.33 B 0.52 0.1 (oach, however) 429.63 525.33 B 0.52 0.1 (, has two) 495.23 525.33 B 0.1 (implications:) 198 513.33 S 4 14 Q 0.14 (\245) 198 495.33 S 1 10 Q 0.52 0.1 (The garbage collector must support pinning.) 210.6 495.33 B 4 14 Q 0.14 (\245) 198 477.33 S 1 10 Q 0.52 0.1 (The VM must lay out primitive arrays contiguously in memory) 210.6 477.33 B 0.52 0.1 (. Although) 499.32 477.33 B 0.52 0.1 (this is the most natural implementation for most primitive arrays, boolean) 210.6 465.33 B 0.52 0.1 (arrays can be implemented as packed or unpacked. Ther) 210.6 453.33 B 0.52 0.1 (efor) 469.72 453.33 B 0.52 0.1 (e, native code) 487.47 453.33 B 0.52 0.1 (that r) 210.6 441.33 B 0.52 0.1 (elies on the exact layout of boolean arrays will not be portable.) 235.33 441.33 B 0.52 0.1 (W) 198 421.33 B 0.52 0.1 (e adopt a compr) 207.18 421.33 B 0.52 0.1 (omise that over) 281.88 421.33 B 0.52 0.1 (comes both of the above pr) 352.66 421.33 B 0.52 0.1 (oblems.) 477.06 421.33 B 0.2 0.1 (First, we pr) 198 401.33 B 0.2 0.1 (ovide a set of functions to copy primitive array elements between a) 249.92 401.33 B 0.52 0.1 (segment of a Java array and a native memory buf) 198 389.33 B 0.52 0.1 (fer) 424.89 389.33 B 0.52 0.1 (. Use these functions if a) 436.52 389.33 B 0.52 0.1 (native method needs access to only a small number of elements in a lar) 198 377.33 B 0.52 0.1 (ge) 524.79 377.33 B 0.1 (array) 198 365.33 S 0.1 (.) 220.85 365.33 S 0.52 0.1 (Second, pr) 198 345.33 B 0.52 0.1 (ogrammers can use another set of functions to r) 246.17 345.33 B 0.52 0.1 (etrieve a pinned-) 464.94 345.33 B -0.07 0.1 (down version of array elements. Keep in mind that these functions may r) 198 333.33 B -0.07 0.1 (equir) 526.98 333.33 B -0.07 0.1 (e) 550.58 333.33 B 0.52 0.1 (the Java VM to perform storage allocation and copying. Whether these) 198 321.33 B 0.52 0.1 (functions in fact copy the array depends on the VM implementation, as) 198 309.33 B 0.1 (follows:) 198 297.33 S 4 14 Q 0.14 (\245) 198 279.33 S 1 10 Q 0.52 0.1 (If the garbage collector supports pinning, and the layout of the array is the) 210.6 279.33 B 0.52 0.1 (same as expected by the native method, then no copying is needed.) 210.6 267.33 B 4 14 Q 0.14 (\245) 198 249.33 S 1 10 Q 0.08 0.1 (Otherwise, the array is copied to a nonmovable memory block \050for example,) 210.6 249.33 B 0.3 0.1 (in the C heap\051 and the necessary format conversion is performed. A pointer) 210.6 237.33 B 0.52 0.1 (to the copy is r) 210.6 225.33 B 0.52 0.1 (eturned.) 279.26 225.33 B 0.52 0.1 (Lastly) 198 205.33 B 0.52 0.1 (, the interface pr) 224.57 205.33 B 0.52 0.1 (ovides functions to inform the VM that the native code) 299.87 205.33 B 0.52 0.1 (no longer needs to access the array elements. When you call these functions,) 198 193.33 B 0.52 0.1 (the system either unpins the array) 198 181.33 B 0.52 0.1 (, or it r) 353.86 181.33 B 0.52 0.1 (econciles the original array with its) 385.67 181.33 B 0.52 0.1 (non-movable copy and fr) 198 169.33 B 0.52 0.1 (ees the copy) 313.46 169.33 B 0.52 0.1 (.) 368.75 169.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.16/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "16" 26 %%Page: "17" 27 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Design Overview) 198 108.7 B 1 F -0.58 0.09 (\321) 262.53 108.7 B 0 F -0.58 0.09 (May 1997) 271.62 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (17) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (2) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (Our appr) 198 641.33 B 0.52 0.1 (oach pr) 240.45 641.33 B 0.52 0.1 (ovides \337exibility) 274.67 641.33 B 0.52 0.1 (. A garbage collector algorithm can make) 349.46 641.33 B 0.13 0.1 (separate decisions about copying or pinning for each given array) 198 629.33 B 0.13 0.1 (. For example,) 491.16 629.33 B 0.52 0.1 (the garbage collector may copy small objects, but pin the lar) 198 617.33 B 0.52 0.1 (ger objects.) 473.6 617.33 B 0.52 0.1 (A JNI implementation must ensur) 198 597.33 B 0.52 0.1 (e that native methods r) 353.58 597.33 B 0.52 0.1 (unning in multiple) 459.9 597.33 B 0.52 0.1 (thr) 198 585.33 B 0.52 0.1 (eads can simultaneously access the same array) 211.15 585.33 B 0.52 0.1 (. For example, the JNI may) 423.39 585.33 B 0.52 0.1 (keep an internal counter for each pinned array so that one thr) 198 573.33 B 0.52 0.1 (ead does not) 481.27 573.33 B 0.52 0.1 (unpin an array that is also pinned by another thr) 198 561.33 B 0.52 0.1 (ead. Note that the JNI does) 422.55 561.33 B 0.52 0.1 (not need to lock primitive arrays for exclusive access by a native method.) 198 549.33 B 0.52 0.1 (Simultaneously updating a Java array fr) 198 537.33 B 0.52 0.1 (om dif) 381.24 537.33 B 0.52 0.1 (fer) 411.32 537.33 B 0.52 0.1 (ent thr) 423.51 537.33 B 0.52 0.1 (eads leads to) 453.95 537.33 B 0.52 0.1 (nondeterministic r) 198 525.33 B 0.52 0.1 (esults.) 281.91 525.33 B 0 14 Q 0.7 (Accessing Fields and Methods) 160.49 492.67 P 54 637/G6.17074 FmPA 1 10 Q 0.52 0.1 (The JNI allows native code to access the \336elds and to call the methods of Java) 198 471.33 B 0.52 0.1 (objects. The JNI identi\336es methods and \336elds by their symbolic names and) 198 459.33 B 0.47 0.1 (type signatur) 198 447.33 B 0.47 0.1 (es. A two-step pr) 258.48 447.33 B 0.47 0.1 (ocess factors out the cost of locating the \336eld or) 336.89 447.33 B 0.05 0.1 (method fr) 198 435.33 B 0.05 0.1 (om its name and signatur) 242.82 435.33 B 0.05 0.1 (e. For example, to call the method) 358.08 435.33 B 5 F 0.12 (f) 513.79 435.33 P 1 F 0.05 0.1 ( in class) 519.79 435.33 B 5 F 1.22 0.1 (cls) 198 423.33 B 1 F 0.52 0.1 (, the native code \336rst obtains a method ID, as follows:) 216.3 423.33 B 5 9 Q (jmethodID mid =) 198 406 T ( env->GetMethodID\050cls, \322f\323, \322\050ILjava/lang/String;\051D\323\051;) 198 395 T 1 10 Q 0.52 0.1 (The native code can then use the method ID r) 198 375.33 B 0.52 0.1 (epeatedly without the cost of) 407.58 375.33 B 0.52 0.1 (method lookup, as follows:) 198 363.33 B 5 9 Q (jdouble result = env->CallDoubleMethod\050obj, mid, 10, str\051;) 198 346 T 1 10 Q 0.52 0.1 (A \336eld or method ID does not pr) 198 326.33 B 0.52 0.1 (event the VM fr) 349.59 326.33 B 0.52 0.1 (om unloading the class fr) 422.11 326.33 B 0.52 0.1 (om) 538.4 326.33 B 0.15 0.1 (which the ID has been derived. After the class is unloaded, the method or \336eld) 198 314.33 B 0.52 0.1 (ID becomes invalid. The native code, ther) 198 302.33 B 0.52 0.1 (efor) 388.33 302.33 B 0.52 0.1 (e, must make sur) 406.08 302.33 B 0.52 0.1 (e to:) 484.61 302.33 B 4 14 Q 0.14 (\245) 198 284.33 S 1 10 Q 0.52 0.1 (keep a live r) 210.6 284.33 B 0.52 0.1 (efer) 267.14 284.33 B 0.52 0.1 (ence to the underlying class, or) 284.22 284.33 B 4 14 Q 0.14 (\245) 198 266.33 S 1 10 Q 0.52 0.1 (r) 210.6 266.33 B 0.52 0.1 (ecompute the method or \336eld ID) 214.47 266.33 B 0.52 0.1 (if it intends to use a method or \336eld ID for an extended period of time.) 198 246.33 B 0.52 0.1 (The JNI does not impose any r) 198 226.33 B 0.52 0.1 (estrictions on how \336eld and method IDs ar) 338.3 226.33 B 0.52 0.1 (e) 534.9 226.33 B 0.52 0.1 (implemented internally) 198 214.33 B 0.52 0.1 (.) 304.09 214.33 B 0 15 Q -0.94 (Reporting Pr) 54 181 P -0.94 (ogramming Err) 132.38 181 P -0.94 (ors) 225.76 181 P 54 325/G6.17593 FmPA 1 10 Q 0.52 0.1 (The JNI does not check for pr) 198 159.33 B 0.52 0.1 (ogramming err) 333.48 159.33 B 0.52 0.1 (ors such as passing in) 402.23 159.33 B 5 F 1.22 0.1 (NULL) 505.56 159.33 B 1 F 0.23 0.1 (pointers or illegal ar) 198 147.33 B 0.23 0.1 (gument types. Illegal ar) 289.99 147.33 B 0.23 0.1 (gument types includes such things) 397.43 147.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.17/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "17" 27 %%Page: "18" 28 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (18) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (2) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (as using a normal Java object instead of a Java class object. The JNI does not) 198 641.33 B 0.52 0.1 (check for these pr) 198 629.33 B 0.52 0.1 (ogramming err) 279.33 629.33 B 0.52 0.1 (ors for the following r) 348.08 629.33 B 0.52 0.1 (easons:) 449.19 629.33 B 4 14 Q 0.14 (\245) 198 611.33 S 1 10 Q 0.3 0.1 (For) 210.6 611.33 B 0.3 0.1 (cing JNI functions to check for all possible err) 225.69 611.33 B 0.3 0.1 (or conditions degrades the) 433.85 611.33 B 0.52 0.1 (performance of normal \050corr) 210.6 599.33 B 0.52 0.1 (ect\051 native methods.) 340.44 599.33 B 4 14 Q 0.14 (\245) 198 581.33 S 1 10 Q 0.52 0.1 (In many cases, ther) 210.6 581.33 B 0.52 0.1 (e is not enough r) 298.81 581.33 B 0.52 0.1 (untime type information to perform) 376.42 581.33 B 0.52 0.1 (such checking.) 210.6 569.33 B 0.52 0.1 (Most C library functions do not guar) 198 549.33 B 0.52 0.1 (d against pr) 366.82 549.33 B 0.52 0.1 (ogramming err) 421.74 549.33 B 0.52 0.1 (ors. The) 490.49 549.33 B 5 F 1.2 (printf\050\051) 198 537.33 P 1 F 0.52 0.1 ( function, for example, usually causes a r) 246 537.33 B 0.52 0.1 (untime err) 433.93 537.33 B 0.52 0.1 (or) 482.1 537.33 B 0.52 0.1 (, rather than) 490.97 537.33 B 0.46 0.1 (r) 198 525.33 B 0.46 0.1 (eturning an err) 201.87 525.33 B 0.46 0.1 (or code, when it r) 270.75 525.33 B 0.46 0.1 (eceives an invalid addr) 351.79 525.33 B 0.46 0.1 (ess. For) 457.69 525.33 B 0.46 0.1 (cing C library) 492 525.33 B 0.52 0.1 (functions to check for all possible err) 198 513.33 B 0.52 0.1 (or conditions would likely r) 367.26 513.33 B 0.52 0.1 (esult in such) 495.24 513.33 B 0.52 0.1 (checks to be duplicated--once in the user code, and then again in the library) 198 501.33 B 0.52 0.1 (.) 545.15 501.33 B -0.06 0.1 (The pr) 198 481.33 B -0.06 0.1 (ogrammer must not pass illegal pointers or ar) 227.55 481.33 B -0.06 0.1 (guments of the wr) 433.47 481.33 B -0.06 0.1 (ong type) 515.77 481.33 B 0.52 0.1 (to JNI functions. Doing so could r) 198 469.33 B 0.52 0.1 (esult in arbitrary consequences, including a) 352.97 469.33 B 0.52 0.1 (corr) 198 457.33 B 0.52 0.1 (upted system state or VM crash.) 216.12 457.33 B 0 15 Q -0.94 (Java Exceptions) 54 424 P 54 568/G6.770 FmPA 1 10 Q 0.52 0.1 (The JNI allows native methods to raise arbitrary Java exceptions. The native) 198 402.33 B 0.52 0.1 (code may also handle outstanding Java exceptions. The Java exceptions left) 198 390.33 B 0.52 0.1 (unhandled ar) 198 378.33 B 0.52 0.1 (e pr) 259.4 378.33 B 0.52 0.1 (opagated back to the VM.) 277.39 378.33 B 0 14 Q 0.7 (Exceptions and Err) 160.49 345.67 P 0.7 (or Codes) 270.78 345.67 P 54 490/G6.815 FmPA 1 10 Q 0.52 0.1 (Certain JNI functions use the Java exception mechanism to r) 198 324.33 B 0.52 0.1 (eport err) 473.94 324.33 B 0.52 0.1 (or) 513.84 324.33 B 0.09 0.1 (conditions. In most cases, JNI functions r) 198 312.33 B 0.09 0.1 (eport err) 382.93 312.33 B 0.09 0.1 (or conditions by r) 422.4 312.33 B 0.09 0.1 (eturning an) 502.66 312.33 B 0.52 0.1 (err) 198 300.33 B 0.52 0.1 (or code) 210.81 300.33 B 0 F 0.52 0.1 (and) 247.86 300.33 B 1 F 0.52 0.1 ( thr) 263.16 300.33 B 0.52 0.1 (owing a Java exception. The err) 279.43 300.33 B 0.52 0.1 (or code is usually a special) 424.09 300.33 B 0.52 0.1 (r) 198 288.33 B 0.52 0.1 (eturn value \050such as) 201.87 288.33 B 5 F 1.22 0.1 (NULL) 297.38 288.33 B 1 F 0.52 0.1 (\051 that is outside of the range of normal r) 321.78 288.33 B 0.52 0.1 (eturn) 506.09 288.33 B 0.52 0.1 (values. Ther) 198 276.33 B 0.52 0.1 (efor) 253.85 276.33 B 0.52 0.1 (e, the pr) 271.6 276.33 B 0.52 0.1 (ogrammer can:) 309.48 276.33 B 4 14 Q 0.14 (\245) 198 258.33 S 1 10 Q 0.52 0.1 (quickly check the r) 210.6 258.33 B 0.52 0.1 (eturn value of the last JNI call to determine if an err) 297.26 258.33 B 0.52 0.1 (or) 536.09 258.33 B 0.52 0.1 (has occurr) 210.6 246.33 B 0.52 0.1 (ed, and) 257.77 246.33 B 4 14 Q 0.14 (\245) 198 228.33 S 1 10 Q 0.42 0.1 (call a function,) 210.6 228.33 B 5 F 0.97 (ExceptionOccurred\050\051) 280.89 228.33 P 1 F 0.42 0.1 (, to obtain the exception object that) 394.89 228.33 B 0.52 0.1 (contains a mor) 210.6 216.33 B 0.52 0.1 (e detailed description of the err) 278.05 216.33 B 0.52 0.1 (or condition.) 422.19 216.33 B 0.52 0.1 (Ther) 198 196.33 B 0.52 0.1 (e ar) 218.91 196.33 B 0.52 0.1 (e two cases wher) 235.89 196.33 B 0.52 0.1 (e the pr) 313.83 196.33 B 0.52 0.1 (ogrammer needs to check for exceptions) 349.11 196.33 B 0.52 0.1 (without being able to \336rst check an err) 198 184.33 B 0.52 0.1 (or code:) 375.56 184.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.18/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "18" 28 %%Page: "19" 29 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (Design Overview) 198 108.7 B 1 F -0.58 0.09 (\321) 262.53 108.7 B 0 F -0.58 0.09 (May 1997) 271.62 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (19) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (2) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0 X 0 0 0 1 0 0 0 K 0.14 (\245) 198 641.33 S 1 10 Q 0.52 0.1 (The JNI functions that invoke a Java method r) 210.6 641.33 B 0.52 0.1 (eturn the r) 421.87 641.33 B 0.52 0.1 (esult of the Java) 470.5 641.33 B 0.52 0.1 (method. The pr) 210.6 629.33 B 0.52 0.1 (ogrammer must call) 281.33 629.33 B 5 F 1.2 (ExceptionOccurred\050\051) 376.28 629.33 P 1 F 0.52 0.1 ( to check for) 490.28 629.33 B 0.52 0.1 (possible exceptions that occurr) 210.6 617.33 B 0.52 0.1 (ed during the execution of the Java method.) 351.16 617.33 B 4 14 Q 0.14 (\245) 198 599.33 S 1 10 Q 0.29 0.1 (Some of the JNI array access functions do not r) 210.6 599.33 B 0.29 0.1 (eturn an err) 424.24 599.33 B 0.29 0.1 (or code, but may) 478.21 599.33 B 0.52 0.1 (thr) 210.6 587.33 B 0.52 0.1 (ow an) 223.75 587.33 B 5 F 1.2 (ArrayIndexOutOfBoundsException) 255.01 587.33 P 1 F 0.52 0.1 ( or) 435.01 587.33 B 5 F (ArrayStoreException) 210.6 575.33 T 1 F 0.1 (.) 324.6 575.33 S 0.5 0.1 (In all other cases, a non-err) 198 555.33 B 0.5 0.1 (or r) 322.32 555.33 B 0.5 0.1 (eturn value guarantees that no exceptions have) 338.9 555.33 B 0.52 0.1 (been thr) 198 543.33 B 0.52 0.1 (own.) 235.6 543.33 B 0 14 Q 0.7 (Asynchr) 160.49 510.67 P 0.7 (onous Exceptions) 208.72 510.67 P 54 655/G6.17629 FmPA 1 10 Q 0.22 0.1 (In cases of multiple thr) 198 489.33 B 0.22 0.1 (eads, thr) 302.49 489.33 B 0.22 0.1 (eads other than the curr) 341.6 489.33 B 0.22 0.1 (ent thr) 450.28 489.33 B 0.22 0.1 (ead may post an) 480.42 489.33 B 0.52 0.1 (asynchr) 198 477.33 B 0.52 0.1 (onous exception. An asynchr) 233.35 477.33 B 0.52 0.1 (onous exception does not immediately) 365.51 477.33 B 0.52 0.1 (af) 198 465.33 B 0.52 0.1 (fect the execution of the native code in the curr) 206.35 465.33 B 0.52 0.1 (ent thr) 422.46 465.33 B 0.52 0.1 (ead, until:) 452.9 465.33 B 4 14 Q 0.14 (\245) 198 447.33 S 1 10 Q 0.52 0.1 (the native code calls one of the JNI functions that could raise synchr) 210.6 447.33 B 0.52 0.1 (onous) 523.32 447.33 B 0.52 0.1 (exceptions, or) 210.6 435.33 B 4 14 Q 0.14 (\245) 198 417.33 S 1 10 Q 0.52 0.1 (the native code uses) 210.6 417.33 B 5 F 1.2 (ExceptionOccurred\050\051) 306.18 417.33 P 1 F 0.52 0.1 ( to explicitly check for) 420.18 417.33 B 0.52 0.1 (synchr) 210.6 405.33 B 0.52 0.1 (onous and asynchr) 240.85 405.33 B 0.52 0.1 (onous exceptions.) 327.18 405.33 B 0.52 0.1 (Note that only those JNI function that could potentially raise synchr) 198 385.33 B 0.52 0.1 (onous) 510.38 385.33 B 0.52 0.1 (exceptions check for asynchr) 198 373.33 B 0.52 0.1 (onous exceptions.) 329.18 373.33 B 0.52 0.1 (Native methods should insert) 198 353.33 B 5 F 1.2 (ExceptionOccurred\050\051) 336.95 353.33 P 1 F 0.52 0.1 (checks in necessary) 450.95 353.33 B 0.52 0.1 (places \050such as in a tight loop without other exception checks\051 to ensur) 198 341.33 B 0.52 0.1 (e that) 523.29 341.33 B 0.52 0.1 (the curr) 198 329.33 B 0.52 0.1 (ent thr) 233.88 329.33 B 0.52 0.1 (ead r) 264.32 329.33 B 0.52 0.1 (esponds to asynchr) 287.51 329.33 B 0.52 0.1 (onous exceptions in a r) 375.39 329.33 B 0.52 0.1 (easonable) 481.16 329.33 B 0.52 0.1 (amount of time.) 198 317.33 B 0 14 Q 0.7 (Exception Handling) 160.49 284.67 P 54 429/G6.17626 FmPA 1 10 Q 0.52 0.1 (Ther) 198 263.33 B 0.52 0.1 (e ar) 218.91 263.33 B 0.52 0.1 (e two ways to handle an exception in native code:) 235.89 263.33 B 4 14 Q 0.14 (\245) 198 245.33 S 1 10 Q 0.41 0.1 (The native method can choose to r) 210.6 245.33 B 0.41 0.1 (eturn immediately) 367.73 245.33 B 0.41 0.1 (, causing the exception) 450.97 245.33 B 0.52 0.1 (to be thr) 210.6 233.33 B 0.52 0.1 (own in the Java code that initiated the native method call.) 249.43 233.33 B 4 14 Q 0.14 (\245) 198 215.33 S 1 10 Q 0.03 0.1 (The native code can clear the exception by calling) 210.6 215.33 B 5 F 0.06 (ExceptionClear\050\051) 436.92 215.33 P 1 F 0.03 0.1 (, and) 532.91 215.33 B 0.52 0.1 (then execute its own exception-handling code.) 210.6 203.33 B 0.52 0.1 (After an exception has been raised, the native code must \336rst clear the) 198 183.33 B 0.52 0.1 (exception befor) 198 171.33 B 0.52 0.1 (e making other JNI calls. When ther) 268.04 171.33 B 0.52 0.1 (e is a pending exception,) 432.49 171.33 B 0.52 0.1 (the only JNI functions that ar) 198 159.33 B 0.52 0.1 (e safe to call ar) 332.15 159.33 B 0.52 0.1 (e) 400.83 159.33 B 5 F 1.2 (ExceptionOccurred\050\051,) 408.84 159.33 P 1.2 (ExceptionDescribe\050\051) 198 147.33 P 1 F 0.52 0.1 (, and) 312 147.33 B 5 F 1.2 (ExceptionClear\050\051) 338.07 147.33 P 1 F 0.52 0.1 (. The) 434.07 147.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.19/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "19" 29 %%Page: "20" 30 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (20) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (2) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 0 X 0 0 0 1 0 0 0 K 1.2 (ExceptionDescribe\050\051) 198 641.33 P 1 F 0.52 0.1 ( function prints a debugging message about the) 312 641.33 B 0.52 0.1 (pending exception.) 198 629.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.20/DEST FmPD2 [/Dest/L.designdoc/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "20" 30 %%Page: "21" 31 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (21) 548.82 108.7 S 0 0 0 1 0 0 0 K 198 500.18 558 500.18 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 540.76 521.07 558.36 524.92 R 0 X 1 1 0 0 0 0 1 K V 540.76 514.65 558.36 518.5 R V 540.76 508.42 558.36 512.27 R V 540.76 518.61 558.36 521.29 R 7 X V 540.76 512.4 558.36 514.87 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 522.64 558 589.39 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 72 612 720 C 0 20 Q 0 X 0 0 0 1 0 0 0 K -2.5 (JNI T) 198 509.31 P -2.5 (ypes and Data Structur) 239.76 509.31 P -2.5 (es) 422.82 509.31 P 54 653/G7.9502 FmPA 1 1 0 0 0 0 1 K 0 24 Q 1 1 0 0 0 0 1 K -3.12 (3) 525.14 508.64 S 0 0 0 1 0 0 0 K 1 10 Q 0 0 0 1 0 0 0 K 0.52 0.1 (This chapter discusses how the JNI maps Java types to native C types.) 198 459.68 B 0 15 Q -0.94 (Primitive T) 54 426.34 P -0.94 (ypes) 122.11 426.34 P 54 570/G7.428 FmPA 1 10 Q 0.52 0.1 (T) 198 404.68 B 0.52 0.1 (able) 203.31 404.68 B 0.52 0.1 (3-) 224.54 404.68 B 0.52 0.1 (1 describes Java primitive types and their machine-dependent native) 233.07 404.68 B 0.1 (equivalents.) 198 392.68 S 0.52 0.1 (The following de\336nition is pr) 198 151.68 B 0.52 0.1 (ovided for convenience.) 332.48 151.68 B 5 9 Q (#define JNI_FALSE 0) 198 134.34 T (#define JNI_TRUE 1) 198 123.34 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (T) 198 351.34 S 0.09 (able) 202.59 351.34 S 0.09 (3-) 219.46 351.34 S 0.09 (1) 227.13 351.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (Primitive T) 241.2 351.34 B 0.47 0.09 (ypes and Native Equivalents) 286.74 351.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (Java T) 198 330.34 B 0.47 0.09 (ype) 223.96 330.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 288 330.34 B 0.47 0.09 (ype) 324.13 330.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (Description) 378 330.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (boolean) 198 313.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 288 313.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (unsigned 8 bits) 378 313.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (byte) 198 296.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 288 296.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (signed 8 bits) 378 296.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (char) 198 279.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 288 279.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (unsigned 16 bits) 378 279.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (short) 198 262.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshort) 288 262.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (signed 16 bits) 378 262.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (int) 198 245.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 288 245.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (signed 32 bits) 378 245.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (long) 198 228.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 288 228.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (signed 64 bits) 378 228.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (float) 198 211.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloat) 288 211.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (32 bits) 378 211.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (double) 198 194.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 288 194.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (64 bits) 378 194.34 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (void) 198 177.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (void) 288 177.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.09 (N/A) 378 177.34 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 342.34 468 342.34 2 L V 0.3 H 0 Z N 198 325.34 468 325.34 2 L V 0.5 H N 198 172.34 468 172.34 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.21/DEST FmPD2 [/Dest/F.typesdoc/DEST FmPD2 534 669/M7.9.26924.ChapNumber.3 FmPA 534 669/I7.1.427 FmPA 241 501/M7.9.10439.TableCaptionA.Table02.Primitive.Types.and.Native.Equivalents FmPA 241 501/I7.1.16557 FmPA [/Rect[198 401 238 412]/Border[0 0 0]/Page 31/View[/XYZ null 241 501 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2 [/Title(A)/Rect[45 108 567 475]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "21" 31 %%Page: "22" 32 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (22) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (3) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (The) 198 641.33 B 5 F 1.2 (jsize) 218.16 641.33 P 1 F 0.52 0.1 ( integer type is used to describe car) 248.16 641.33 B 0.52 0.1 (dinal indices and sizes:) 410.71 641.33 B 5 9 Q (typedef jint jsize;) 198 624 T 0 15 Q -0.94 (Refer) 54 591 P -0.94 (ence T) 85.41 591 P -0.94 (ypes) 122.12 591 P 54 735/G7.15954 FmPA 1 10 Q 0.52 0.1 (The JNI includes a number of r) 198 569.33 B 0.52 0.1 (efer) 340.63 569.33 B 0.52 0.1 (ence types that corr) 357.71 569.33 B 0.52 0.1 (espond to dif) 447.43 569.33 B 0.52 0.1 (fer) 508.09 569.33 B 0.52 0.1 (ent) 520.28 569.33 B 0.23 0.1 (kinds of Java objects. JNI r) 198 557.33 B 0.23 0.1 (efer) 318.22 557.33 B 0.23 0.1 (ence types ar) 335.3 557.33 B 0.23 0.1 (e or) 394.54 557.33 B 0.23 0.1 (ganized in the hierar) 411.7 557.33 B 0.23 0.1 (chy shown) 506.03 557.33 B 0.52 0.1 (in Figur) 198 545.33 B 0.52 0.1 (e) 234.38 545.33 B 0.52 0.1 (3-) 241.87 545.33 B 0.52 0.1 (1.) 250.4 545.33 B 1 9 Q 0.47 0.09 (Figur) 198 343.5 B 0.47 0.09 (e) 219.9 343.5 B 0.47 0.09 (3-) 226.64 343.5 B 0.47 0.09 (1) 234.32 343.5 B 0.47 0.09 ( Refer) 238.9 343.5 B 0.47 0.09 (ence T) 265.99 343.5 B 0.47 0.09 (ype Hierar) 291.82 343.5 B 0.47 0.09 (chy) 336.02 343.5 B 1 10 Q 0.52 0.1 (In C, all other JNI r) 198 323.83 B 0.52 0.1 (efer) 286.86 323.83 B 0.52 0.1 (ence types ar) 303.94 323.83 B 0.52 0.1 (e de\336ned to be the same as) 363.75 323.83 B 5 F 1.22 0.1 (jobject) 491.06 323.83 B 1 F 0.52 0.1 (. For) 533.76 323.83 B 0.1 (example:) 198 311.83 S 5 9 Q (typedef jobject jclass;) 198 294.5 T 1 10 Q 0.52 0.1 (In C++, JNI intr) 198 274.83 B 0.52 0.1 (oduces a set of dummy classes to enfor) 270.33 274.83 B 0.52 0.1 (ce the subtyping) 449.53 274.83 B 0.52 0.1 (r) 198 262.83 B 0.52 0.1 (elationship. For example:) 201.87 262.83 B 5 9 Q (class _jobject {};) 198 245.5 T (class _jclass : public _jobject {};) 198 234.5 T (...) 198 223.5 T (typedef _jobject *jobject;) 198 212.5 T (typedef _jclass *jclass;) 198 201.5 T 54 144 558 648 C 57.53 355.5 554.47 525 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K (jobject) 217.73 514.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jclass) 255.53 496.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jobjectArray) 293.33 460.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jbooleanArray) 293.33 451.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jbyteArray) 293.33 442.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jcharArray) 293.33 433.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jshortArray) 293.33 424.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jintArray) 293.33 415.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jlongArray) 293.33 406.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jfloatArray) 293.33 397.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jdoubleArray) 293.33 388.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jstring) 255.53 487.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jarray) 255.53 478.84 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (jthrowable) 255.53 368.91 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 237.53 507 237.53 372 251.03 372 3 L 0.5 H 2 Z N 237.53 498 251.03 498 2 L N 237.53 489 251.03 489 2 L N 237.53 480 251.03 480 2 L N 273.53 471 273.53 390 287.03 390 3 L N 273.53 462 287.03 462 2 L N 273.53 453 287.03 453 2 L N 273.53 444 287.03 444 2 L N 273.53 426 287.03 426 2 L N 273.53 417 287.03 417 2 L N 273.53 408 287.03 408 2 L N 273.53 399 287.03 399 2 L N 273.53 435 287.03 435 2 L N 1 F (\050all Java objects\051) 426.53 516 T (\050java.lang.Class objects\051) 426.53 497.87 T (\050java.lang.String objects\051) 426.53 488.81 T (\050arrays\051) 426.53 479.75 T (\050object arrays\051) 426.53 461.62 T (\050boolean arrays\051) 426.53 452.56 T (\050byte arrays\051) 426.53 443.5 T (\050char arrays\051) 426.53 434.43 T (\050short arrays\051) 426.53 425.37 T (\050int arrays\051) 426.53 416.31 T (\050long arrays\051) 426.53 407.24 T (\050\337oat arrays\051) 426.53 398.18 T (\050double arrays\051) 426.53 389.12 T (\050java.lang.Thr) 426.53 370.99 T (owable objects\051) 481.73 370.99 T 54 144 558 648 C 0 72 612 720 C 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.22/DEST FmPD2 245 494/M7.9.33246.FigureCaption.Figure21.Interface.Pointer FmPA 245 494/I7.1.913 FmPA [/Rect[210 541 255 552]/Border[0 0 0]/Page 32/View[/XYZ null 245 494 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "22" 32 %%Page: "23" 33 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI T) 198 108.7 B -0.58 0.09 (ypes and Data Structur) 217.78 108.7 B -0.58 0.09 (es) 303.76 108.7 B 1 F -0.58 0.09 (\321) 310.94 108.7 B 0 F -0.58 0.09 (May 1997) 320.03 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (23) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (3) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q 0 X 0 0 0 1 0 0 0 K -0.94 (Field and Method IDs) 54 638 P 54 782/G7.1064 FmPA 1 10 Q 0.52 0.1 (Method and \336eld IDs ar) 198 616.33 B 0.52 0.1 (e r) 308.09 616.33 B 0.52 0.1 (egular C pointer types:) 319.97 616.33 B 5 9 Q (struct _jfieldID; /* opaque structure */) 198 599 T (typedef struct _jfieldID *jfieldID; /* field IDs */) 198 588 T (struct _jmethodID; /* opaque structure */) 198 566 T (typedef struct _jmethodID *jmethodID; /* method IDs */) 198 555 T 0 15 Q -0.94 (The V) 54 522 P -0.94 (alue T) 89.03 522 P -0.94 (ype) 124.64 522 P 54 666/G7.568 FmPA 1 10 Q 0.52 0.1 (The) 198 500.33 B 5 F 1.2 (jvalue) 218.16 500.33 P 1 F 0.52 0.1 ( union type is used as the element type in ar) 254.16 500.33 B 0.52 0.1 (gument arrays. It is) 458.26 500.33 B 0.52 0.1 (declar) 198 488.33 B 0.52 0.1 (ed as follows:) 225.62 488.33 B 5 9 Q (typedef union jvalue {) 198 471 T ( jboolean z;) 198 460 T ( jbyte b;) 198 449 T ( jchar c;) 198 438 T ( jshort s;) 198 427 T ( jint i;) 198 416 T ( jlong j;) 198 405 T ( jfloat f;) 198 394 T ( jdouble d;) 198 383 T ( jobject l;) 198 372 T (} jvalue;) 198 361 T 0 15 Q -0.94 (T) 54 328 P -0.94 (ype Signatur) 61.78 328 P -0.94 (es) 139.34 328 P 54 472/G7.16432 FmPA 1 10 Q 0.52 0.1 (The JNI uses the Java VM\325s r) 198 306.33 B 0.52 0.1 (epr) 330.29 306.33 B 0.52 0.1 (esentation of type signatur) 345.16 306.33 B 0.52 0.1 (es. T) 467.27 306.33 B 0.52 0.1 (able) 487.53 306.33 B 0.52 0.1 (3-) 508.76 306.33 B 0.52 0.1 (2 shows) 517.29 306.33 B 0.52 0.1 (these type signatur) 198 294.33 B 0.52 0.1 (es.) 285.05 294.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 253 S 0.09 (able) 202.59 253 S 0.09 (3-) 219.46 253 S 0.09 (2) 227.13 253 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (Java VM T) 241.2 253 B 0.47 0.09 (ype Signatur) 284.25 253 B 0.47 0.09 (es) 336.61 253 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (T) 198 232 B 0.47 0.09 (ype Signature) 203.28 232 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Java T) 306 232 B 0.47 0.09 (ype) 331.96 232 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (Z) 198 215 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (boolean) 306 215 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.09 (B) 198 198 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (byte) 306 198 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.09 (C) 198 181 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (char) 306 181 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.09 (S) 198 164 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (short) 306 164 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 244 396 244 2 L V 0 Z N 198 227 396 227 2 L V 0.5 H N 198 159 396 159 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.23/DEST FmPD2 241 403/M7.9.16519.TableCaption.Table32.Java.VM.Type.Signatures FmPA 241 403/I7.1.16558 FmPA [/Rect[482 302 522 313]/Border[0 0 0]/Page 33/View[/XYZ null 241 403 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "23" 33 %%Page: "24" 34 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (24) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (3) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (For example, the Java method:) 198 478.33 B 5 9 Q (long f \050int n, String s, int[] arr\051;) 198 461 T 1 10 Q 0.52 0.1 (has the following type signatur) 198 441.33 B 0.52 0.1 (e:) 341.02 441.33 B 5 9 Q (\050ILjava/lang/String;[I\051J) 198 424 T 0 15 Q -0.94 (UTF-8 Strings) 54 391 P 54 535/G7.16542 FmPA 1 10 Q 0.31 0.1 (The JNI uses UTF-8 strings to r) 198 369.33 B 0.31 0.1 (epr) 339.28 369.33 B 0.31 0.1 (esent various string types. UTF-8 strings ar) 354.15 369.33 B 0.31 0.1 (e) 550.2 369.33 B 0.52 0.1 (the same as those used by the Java VM. UTF-8 strings ar) 198 357.33 B 0.52 0.1 (e encoded so that) 457.1 357.33 B 0.52 0.1 (character sequences that contain only nonnull ASCII characters can be) 198 345.33 B 0.52 0.1 (r) 198 333.33 B 0.52 0.1 (epr) 201.87 333.33 B 0.52 0.1 (esented using only one byte per character) 216.74 333.33 B 0.52 0.1 (, but characters of up to 16 bits) 406.94 333.33 B 0.52 0.1 (can be r) 198 321.33 B 0.52 0.1 (epr) 234.19 321.33 B 0.52 0.1 (esented. All characters in the range) 249.06 321.33 B 5 F 1.2 (\134u0001) 413.39 321.33 P 1 F 0.52 0.1 ( to) 449.39 321.33 B 5 F 1.2 (\134u007F) 464.55 321.33 P 1 F 0.52 0.1 ( ar) 500.55 321.33 B 0.52 0.1 (e) 512.64 321.33 B 0.52 0.1 (r) 198 309.33 B 0.52 0.1 (epr) 201.87 309.33 B 0.52 0.1 (esented by a single byte, as follows:) 216.74 309.33 B 0.52 0.1 (The seven bits of data in the byte give the value of the character that is) 198 253.83 B 0.52 0.1 (r) 198 241.83 B 0.52 0.1 (epr) 201.87 241.83 B 0.52 0.1 (esented. The null character \050) 216.74 241.83 B 5 F 1.2 (\134u000) 346.41 241.83 P 1 F 0.52 0.1 (\051 and characters in the range) 376.41 241.83 B 5 F 1.2 (\134u0080) 510.4 241.83 P 1.2 (to \134u07FF) 198 229.83 P 1 F 0.52 0.1 ( ar) 253.2 229.83 B 0.52 0.1 (e r) 265.29 229.83 B 0.52 0.1 (epr) 277.17 229.83 B 0.52 0.1 (esented by a pair of bytes,) 292.04 229.83 B 0 F 0.52 0.1 (x) 415.39 229.83 B 1 F 0.52 0.1 ( and) 420.49 229.83 B 0 F 0.52 0.1 (y) 443.96 229.83 B 1 F 0.52 0.1 (, as follows:) 447.95 229.83 B 0.52 0.1 (The bytes r) 198 170.98 B 0.52 0.1 (epr) 249.03 170.98 B 0.52 0.1 (esent the character with the value) 263.9 170.98 B 5 F 1.2 (\050\050x&0x1f\051<<6\051+\050y&0x3f\051) 421.52 170.98 P 1 F 0.52 0.1 (.) 553.52 170.98 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (I) 198 604 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (int) 306 604 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.09 (J) 198 587 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (long) 306 587 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.09 (F) 198 570 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (float) 306 570 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.09 (D) 198 553 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.09 (double) 306 553 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (L) 198 536 B 0 F 0.47 0.09 (fully-quali\336ed-class) 206.4 536 B 3 F 0.47 0.09 (;) 282.1 536 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (fully-quali\336ed-class) 306 536 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 ([) 198 519 B 0 F 0.47 0.09 (type) 203.9 519 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (type) 306 519 S 5 F 0.09 ([]) 321.86 519 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (\050) 198 502 B 0 F 0.47 0.09 (ar) 203.9 502 B 0.47 0.09 (g-types) 211.41 502 B 3 F 0.47 0.09 (\051) 241.34 502 B 0 F 0.47 0.09 (r) 247.24 502 B 0.47 0.09 (et-type) 250.67 502 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (method type) 306 502 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (T) 198 642 S 0.09 (able) 202.59 642 S 0.09 (3-) 219.46 642 S 0.09 (2) 227.13 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (Java VM T) 241.2 642 B 0.47 0.09 (ype Signatur) 284.25 642 B 0.47 0.09 (es) 336.61 642 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (T) 198 621 B 0.47 0.09 (ype Signature) 203.28 621 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Java T) 306 621 B 0.47 0.09 (ype) 331.96 621 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 633 396 633 2 L V 0 Z N 198 616 396 616 2 L V 0.5 H N 198 497 396 497 2 L V 0.3 H N 54 270.5 558 294 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 202.5 273 342 291 R 7 X 0 0 0 1 0 0 0 K V 0.5 H 0 Z 0 X N 225 291 225 273 2 L 7 X V 2 Z 0 X N 1 10 Q (0) 211.5 277.5 T (bits 0-6) 261 277.5 T 0 72 612 720 C 54 187.64 558 214.5 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 219.79 190.71 359.29 208.71 R 7 X 0 0 0 1 0 0 0 K V 0.5 H 0 Z 0 X N 384.93 190.71 524.43 208.71 R 7 X V 0 X N 5 10 Q (x:) 203.57 197.49 T (y:) 372.14 197.49 T 233.57 208.14 233.57 191 2 L 7 X V 2 Z 0 X N 248.71 208 248.71 190.86 2 L 7 X V 0 X N 263.86 207.86 263.86 190.71 2 L 7 X V 0 X N 401.86 208.43 401.86 191.28 2 L 7 X V 0 X N 418.43 207.57 418.43 190.43 2 L 7 X V 0 X N 1 F (bits 6-10) 282.97 197.49 T (0) 253.5 197.49 T (1) 237.93 197.49 T (1) 224.5 197.49 T (1) 388.5 197.49 T (0) 410.07 197.49 T (bits 0-5) 440.97 197.49 T 0 72 612 720 C 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.24/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "24" 34 %%Page: "25" 35 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI T) 198 108.7 B -0.58 0.09 (ypes and Data Structur) 217.78 108.7 B -0.58 0.09 (es) 303.76 108.7 B 1 F -0.58 0.09 (\321) 310.94 108.7 B 0 F -0.58 0.09 (May 1997) 320.03 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (25) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (3) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.24 0.1 (Characters in the range) 198 641.33 B 5 F 0.55 (\134u0800) 306.61 641.33 P 1 F 0.24 0.1 ( to) 342.61 641.33 B 5 F 0.55 (\134uFFFF) 357.21 641.33 P 1 F 0.24 0.1 ( ar) 393.21 641.33 B 0.24 0.1 (e r) 405.02 641.33 B 0.24 0.1 (epr) 416.61 641.33 B 0.24 0.1 (esented by thr) 431.48 641.33 B 0.24 0.1 (ee bytes,) 496.1 641.33 B 0 F 0.24 0.1 (x) 538.03 641.33 B 1 F 0.24 0.1 (,) 543.13 641.33 B 0 F 0.24 0.1 (y) 548.57 641.33 B 1 F 0.24 0.1 (,) 552.56 641.33 B 0.52 0.1 (and) 198 629.33 B 0 F 0.52 0.1 (z) 218.35 629.33 B 1 F 0.52 0.1 (:) 222.89 629.33 B 0.52 0.1 (The character with the value) 198 569.05 B 5 F 1.2 (\050\050x&0xf\051<<12\051+\050y&0x3f\051<<6\051+\050z&0x3f\051) 331.97 569.05 P 1 F 0.52 0.1 ( is) 541.97 569.05 B 0.52 0.1 (r) 198 557.05 B 0.52 0.1 (epr) 201.87 557.05 B 0.52 0.1 (esented by the thr) 216.74 557.05 B 0.52 0.1 (ee bytes.) 299.21 557.05 B 0.52 0.1 (Ther) 198 537.05 B 0.52 0.1 (e ar) 218.91 537.05 B 0.52 0.1 (e two dif) 235.89 537.05 B 0.52 0.1 (fer) 276.85 537.05 B 0.52 0.1 (ences between this format and the \322standar) 289.04 537.05 B 0.52 0.1 (d\323 UTF-8) 487.82 537.05 B 0.52 0.1 (format. First, the null byte) 198 525.05 B 5 F 1.2 (\050byte\0510) 321.43 525.05 P 1 F 0.52 0.1 ( is encoded using the two-byte format) 363.43 525.05 B 0.37 0.1 (rather than the one-byte format. This means that Java VM UTF-8 strings never) 198 513.05 B 0.52 0.1 (have embedded nulls. Second, only the one-byte, two-byte, and thr) 198 501.05 B 0.52 0.1 (ee-byte) 505.25 501.05 B 0.52 0.1 (formats ar) 198 489.05 B 0.52 0.1 (e used. The Java VM does not r) 244.86 489.05 B 0.52 0.1 (ecognize the longer UTF-8 formats.) 388.77 489.05 B 54 585.71 558 614 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 205.5 590.78 307.14 608.78 R 7 X 0 0 0 1 0 0 0 K V 0.5 H 0 Z 0 X N 1 10 Q (x:) 196.43 594.93 T 322.07 590.78 423.71 608.78 R 7 X V 0 X N (y:) 313 594.93 T 440.79 590.78 542.43 608.78 R 7 X V 0 X N (z:) 431.72 594.93 T 217.29 607.64 217.29 590.5 2 L 7 X V 2 Z 0 X N 229.57 607.5 229.57 590.35 2 L 7 X V 0 X N 243.14 608.21 243.14 591.07 2 L 7 X V 0 X N 256 608.79 256 591.64 2 L 7 X V 0 X N (1) 209.64 594.93 T (1) 221.21 594.93 T (1) 233.5 594.93 T (0) 247.21 594.93 T (bits 12-15) 261.69 594.93 T 336.86 608.64 336.86 591.5 2 L 7 X V 0 X N 352.71 608.5 352.71 591.36 2 L 7 X V 0 X N 454.5 608.64 454.5 591.5 2 L 7 X V 0 X N 471.57 608.21 471.57 591.07 2 L 7 X V 0 X N (1) 328.64 594.93 T (1) 447.36 594.93 T (0) 343.79 594.93 T (0) 460.36 594.93 T (bits 6-1) 363.26 594.93 T (1) 394.48 594.93 T (bits 0-5) 483.4 594.93 T 0 72 612 720 C 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.25/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "25" 35 %%Page: "26" 36 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (26) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (3) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.26/DEST FmPD2 [/Dest/L.typesdoc/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "26" 36 %%Page: "27" 37 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (27) 548.82 108.7 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 500.18 558 500.18 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 540.76 521.07 558.36 524.92 R 0 X 1 1 0 0 0 0 1 K V 540.76 514.65 558.36 518.5 R V 540.76 508.42 558.36 512.27 R V 540.76 518.61 558.36 521.29 R 7 X V 540.76 512.4 558.36 514.87 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 522.64 558 589.39 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 72 612 720 C 0 20 Q 0 X 0 0 0 1 0 0 0 K -2.5 ( JNI Functions) 198 509.31 P 54 653/G8.9502 FmPA 1 1 0 0 0 0 1 K 0 24 Q 1 1 0 0 0 0 1 K -3.12 (4) 525.14 508.64 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 0 0 1 0 0 0 K 0.46 0.1 (This chapter serves as the r) 198 459.68 B 0.46 0.1 (efer) 322.51 459.68 B 0.46 0.1 (ence section for the JNI functions. It pr) 339.59 459.68 B 0.46 0.1 (ovides a) 517.02 459.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.34 0.1 (complete listing of all the JNI functions. It also pr) 198 447.68 B 0.34 0.1 (esents the exact layout of the) 423.3 447.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (JNI function table.) 198 435.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Note the use of the term \322must\323 to describe r) 198 415.68 B 0.52 0.1 (estrictions on JNI pr) 405.53 415.68 B 0.52 0.1 (ogrammers.) 498.04 415.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.06 0.1 (For example, when you see that a certain JNI function) 198 403.68 B 0 F 0.06 0.1 (must) 444.22 403.68 B 1 F 0.06 0.1 ( r) 465.18 403.68 B 0.06 0.1 (eceive a non-) 471.71 403.68 B 5 F 0.15 0.1 (NULL) 530.94 403.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (object, it is your r) 198 391.68 B 0.52 0.1 (esponsibility to ensur) 278.49 391.68 B 0.52 0.1 (e that) 376.65 391.68 B 5 F 1.22 0.1 (NULL) 405.52 391.68 B 1 F 0.52 0.1 ( is not passed to that JNI) 429.92 391.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (function. As a r) 198 379.68 B 0.52 0.1 (esult, a JNI implementation does not need to perform) 269.02 379.68 B 5 F 1.22 0.1 (NULL) 517.53 379.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (pointer checks in that JNI function.) 198 367.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (A portion of this chapter is adapted fr) 198 347.68 B 0.52 0.1 (om Netscape\325s JRI documentation.) 372.51 347.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.07 0.1 (The r) 198 327.68 B 0.07 0.1 (efer) 221.58 327.68 B 0.07 0.1 (ence material gr) 238.66 327.68 B 0.07 0.1 (oups functions by their usage. The r) 311.21 327.68 B 0.07 0.1 (efer) 473.71 327.68 B 0.07 0.1 (ence section is) 490.79 327.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (or) 198 315.68 B 0.52 0.1 (ganized by the following functional ar) 207.43 315.68 B 0.52 0.1 (eas:) 382.93 315.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 297.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (V) 210.6 297.68 B 0.52 0.1 (ersion Information) 217 297.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 279.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Class Operations) 210.6 279.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 261.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.1 (Exceptions) 210.6 261.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 243.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Global and Local Refer) 210.6 243.68 B 0.52 0.1 (ences) 305.38 243.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 225.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Object Operations) 210.6 225.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 207.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Accessing Fields of Objects) 210.6 207.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 189.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Calling Instance Methods) 210.6 189.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 171.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Accessing Static Fields) 210.6 171.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 153.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Calling Static Methods) 210.6 153.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 135.68 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (String Operations) 210.6 135.68 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.27/DEST FmPD2 [/Dest/F.functionsdoc/DEST FmPD2 [/Rect[211 275 282 290]/Border[0 0 0]/Page 44/View[/XYZ null 54 437 FmDC exch pop null]/LNK FmPD [/Rect[211 257 256 272]/Border[0 0 0]/Page 47/View[/XYZ null 54 744 FmDC exch pop null]/LNK FmPD [/Rect[211 239 327 254]/Border[0 0 0]/Page 49/View[/XYZ null 54 645 FmDC exch pop null]/LNK FmPD [/Rect[211 221 287 236]/Border[0 0 0]/Page 50/View[/XYZ null 54 657 FmDC exch pop null]/LNK FmPD [/Rect[211 203 324 218]/Border[0 0 0]/Page 54/View[/XYZ null 54 792 FmDC exch pop null]/LNK FmPD [/Rect[211 185 318 200]/Border[0 0 0]/Page 57/View[/XYZ null 54 792 FmDC exch pop null]/LNK FmPD [/Rect[211 167 307 182]/Border[0 0 0]/Page 64/View[/XYZ null 54 792 FmDC exch pop null]/LNK FmPD [/Rect[211 149 307 164]/Border[0 0 0]/Page 66/View[/XYZ null 54 428 FmDC exch pop null]/LNK FmPD [/Rect[211 131 286 146]/Border[0 0 0]/Page 70/View[/XYZ null 54 706 FmDC exch pop null]/LNK FmPD [/Rect[211 293 295 308]/Border[0 0 0]/Page 44/View[/XYZ null 54 660 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2 [/Title(A)/Rect[45 108 567 475]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "27" 37 %%Page: "28" 38 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (28) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0 X 0 0 0 1 0 0 0 K 0.14 (\245) 198 641.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Array Operations) 210.6 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 623.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Registering Native Methods) 210.6 623.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 605.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Monitor Operations) 210.6 605.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 587.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (Java VM Interface) 210.6 587.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Interface Function T) 54 554 P -0.94 (able) 175.18 554 P 0 0 0 1 0 0 0 K 54 698/G8.23720 FmPA 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Each function is accessible at a \336xed of) 198 532.33 B 0.52 0.1 (fset thr) 376 532.33 B 0.52 0.1 (ough the) 408.29 532.33 B 0 F 0.52 0.1 (JNIEnv) 451.97 532.33 B 1 F 0.52 0.1 ( ar) 483.68 532.33 B 0.52 0.1 (gument. The) 495.77 532.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (JNIEnv) 198 520.33 B 1 F 0.52 0.1 ( type is a pointer to a str) 229.71 520.33 B 0.52 0.1 (uctur) 342.61 520.33 B 0.52 0.1 (e storing all JNI function pointers. It is) 366.64 520.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (de\336ned as follows:) 198 508.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (typedef const struct JNINativeInterface *JNIEnv;) 198 491 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q -0.1 0.1 (The VM initializes the function table, as shown by Code) 198 471.33 B -0.1 0.1 (Example) 452.19 471.33 B -0.1 0.1 (4-) 494.3 471.33 B -0.1 0.1 (1. Note that) 502.83 471.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the \336rst thr) 198 459.33 B 0.52 0.1 (ee entries ar) 249.46 459.33 B 0.52 0.1 (e r) 304.91 459.33 B 0.52 0.1 (eserved for futur) 316.79 459.33 B 0.52 0.1 (e compatibility with COM. In) 394.01 459.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K -0.01 0.1 (addition, we r) 198 447.33 B -0.01 0.1 (eserve a number of additional) 261.36 447.33 B 5 F -0.02 (NULL) 399.26 447.33 P 1 F -0.01 0.1 ( entries near the beginning of) 423.26 447.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.16 0.1 (the function table, so that, for example, a futur) 198 435.33 B 0.16 0.1 (e class-r) 408.79 435.33 B 0.16 0.1 (elated JNI operation can) 445.07 435.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (be added after) 198 423.33 B 5 F 1.22 0.1 (FindClass) 267.33 423.33 B 1 F 0.52 0.1 (, rather than at the end of the table.) 322.23 423.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Note that the function table can be shar) 198 403.33 B 0.52 0.1 (ed among all JNI interface pointers.) 379.14 403.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (Code) 198 362 S 0.09 (Example) 218.7 362 S 0.09 (4-) 253.17 362 S 0.09 (1) 260.85 362 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (const struct JNINativeInterface ... = {) 206 346 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 335 T 5 9 Q (,) 251.6 335 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 324 T 5 9 Q (,) 251.6 324 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 313 T 5 9 Q (,) 251.6 313 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 302 T 5 9 Q (,) 251.6 302 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetVersion,) 206 291 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( DefineClass,) 206 269 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( FindClass,) 206 258 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 247 T 5 9 Q (,) 251.6 247 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 236 T 5 9 Q (,) 251.6 236 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 225 T 5 9 Q (,) 251.6 225 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetSuperclass,) 206 214 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( IsAssignableFrom,) 206 203 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 192 T 5 9 Q (,) 251.6 192 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( Throw,) 206 170 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ThrowNew,) 206 159 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ExceptionOccurred,) 206 148 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 352.85 198 144.15 2 L V 0 Z N 558 352.85 558 144.15 2 L V N 197.85 353 558.15 353 2 L V N 197.85 144 558.15 144 2 L V N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.28/DEST FmPD2 277 512/M8.9.27165.CodeCaptionA.CodeExample03 FmPA 277 512/I8.1.5918 FmPA [/Rect[211 636 285 651]/Border[0 0 0]/Page 73/View[/XYZ null 54 449 FmDC exch pop null]/LNK FmPD [/Rect[211 618 328 633]/Border[0 0 0]/Page 82/View[/XYZ null 54 792 FmDC exch pop null]/LNK FmPD [/Rect[211 600 294 615]/Border[0 0 0]/Page 83/View[/XYZ null 54 616 FmDC exch pop null]/LNK FmPD [/Rect[211 582 287 597]/Border[0 0 0]/Page 84/View[/XYZ null 54 580 FmDC exch pop null]/LNK FmPD [/Rect[426 467 508 478]/Border[0 0 0]/Page 38/View[/XYZ null 277 512 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "28" 38 %%Page: "29" 39 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (29) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K ( ExceptionDescribe,) 206 626 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ExceptionClear,) 206 615 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( FatalError,) 206 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 593 T 5 9 Q (,) 251.6 593 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 582 T 5 9 Q (,) 251.6 582 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewGlobalRef,) 206 560 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( DeleteGlobalRef,) 206 549 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( DeleteLocalRef,) 206 538 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( IsSameObject,) 206 527 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 516 T 5 9 Q (,) 251.6 516 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q (NULL) 227.6 505 T 5 9 Q (,) 251.6 505 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( AllocObject,) 206 483 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewObject,) 206 472 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewObjectV,) 206 461 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewObjectA,) 206 450 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetObjectClass,) 206 428 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( IsInstanceOf,) 206 417 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetMethodID,) 206 395 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallObjectMethod,) 206 373 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallObjectMethodV,) 206 362 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallObjectMethodA,) 206 351 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallBooleanMethod,) 206 340 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallBooleanMethodV,) 206 329 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallBooleanMethodA,) 206 318 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallByteMethod,) 206 307 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallByteMethodV,) 206 296 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallByteMethodA,) 206 285 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallCharMethod,) 206 274 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallCharMethodV,) 206 263 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallCharMethodA,) 206 252 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallShortMethod,) 206 241 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallShortMethodV,) 206 230 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallShortMethodA,) 206 219 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallIntMethod,) 206 208 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallIntMethodV,) 206 197 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallIntMethodA,) 206 186 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallLongMethod,) 206 175 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallLongMethodV,) 206 164 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallLongMethodA,) 206 153 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (Code) 198 642 S 0.09 (Example) 218.7 642 S 0.09 (4-) 253.17 642 S 0.09 (1) 260.85 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 632.85 198 149.15 2 L V 0 Z N 558 632.85 558 149.15 2 L V N 197.85 633 558.15 633 2 L V N 197.85 149 558.15 149 2 L V N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.29/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "29" 39 %%Page: "30" 40 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (30) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K ( CallFloatMethod,) 206 626 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallFloatMethodV,) 206 615 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallFloatMethodA,) 206 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallDoubleMethod,) 206 593 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallDoubleMethodV,) 206 582 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallDoubleMethodA,) 206 571 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallVoidMethod,) 206 560 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallVoidMethodV,) 206 549 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallVoidMethodA,) 206 538 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualObjectMethod,) 206 516 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualObjectMethodV,) 206 505 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualObjectMethodA,) 206 494 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualBooleanMethod,) 206 483 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualBooleanMethodV,) 206 472 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualBooleanMethodA,) 206 461 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualByteMethod,) 206 450 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualByteMethodV,) 206 439 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualByteMethodA,) 206 428 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualCharMethod,) 206 417 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualCharMethodV,) 206 406 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualCharMethodA,) 206 395 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualShortMethod,) 206 384 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualShortMethodV,) 206 373 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualShortMethodA,) 206 362 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualIntMethod,) 206 351 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualIntMethodV,) 206 340 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualIntMethodA,) 206 329 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualLongMethod,) 206 318 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualLongMethodV,) 206 307 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualLongMethodA,) 206 296 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualFloatMethod,) 206 285 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualFloatMethodV,) 206 274 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualFloatMethodA,) 206 263 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualDoubleMethod,) 206 252 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualDoubleMethodV,) 206 241 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualDoubleMethodA,) 206 230 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualVoidMethod,) 206 219 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualVoidMethodV,) 206 208 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallNonvirtualVoidMethodA,) 206 197 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetFieldID,) 206 175 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetObjectField,) 206 153 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (Code) 198 642 S 0.09 (Example) 218.7 642 S 0.09 (4-) 253.17 642 S 0.09 (1) 260.85 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 632.85 198 149.15 2 L V 0 Z N 558 632.85 558 149.15 2 L V N 197.85 633 558.15 633 2 L V N 197.85 149 558.15 149 2 L V N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.30/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "30" 40 %%Page: "31" 41 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (31) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K ( GetBooleanField,) 206 626 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetByteField,) 206 615 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetCharField,) 206 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetShortField,) 206 593 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetIntField,) 206 582 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetLongField,) 206 571 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetFloatField,) 206 560 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetDoubleField,) 206 549 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetObjectField,) 206 538 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetBooleanField,) 206 527 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetByteField,) 206 516 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetCharField,) 206 505 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetShortField,) 206 494 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetIntField,) 206 483 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetLongField,) 206 472 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetFloatField,) 206 461 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetDoubleField,) 206 450 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticMethodID,) 206 428 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticObjectMethod,) 206 406 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticObjectMethodV,) 206 395 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticObjectMethodA,) 206 384 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticBooleanMethod,) 206 373 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticBooleanMethodV,) 206 362 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticBooleanMethodA,) 206 351 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticByteMethod,) 206 340 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticByteMethodV,) 206 329 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticByteMethodA,) 206 318 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticCharMethod,) 206 307 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticCharMethodV,) 206 296 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticCharMethodA,) 206 285 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticShortMethod,) 206 274 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticShortMethodV,) 206 263 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticShortMethodA,) 206 252 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticIntMethod,) 206 241 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticIntMethodV,) 206 230 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticIntMethodA,) 206 219 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticLongMethod,) 206 208 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticLongMethodV,) 206 197 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticLongMethodA,) 206 186 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticFloatMethod,) 206 175 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticFloatMethodV,) 206 164 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticFloatMethodA,) 206 153 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (Code) 198 642 S 0.09 (Example) 218.7 642 S 0.09 (4-) 253.17 642 S 0.09 (1) 260.85 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 632.85 198 149.15 2 L V 0 Z N 558 632.85 558 149.15 2 L V N 197.85 633 558.15 633 2 L V N 197.85 149 558.15 149 2 L V N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.31/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "31" 41 %%Page: "32" 42 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (32) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K ( CallStaticDoubleMethod,) 206 626 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticDoubleMethodV,) 206 615 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticDoubleMethodA,) 206 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticVoidMethod,) 206 593 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticVoidMethodV,) 206 582 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( CallStaticVoidMethodA,) 206 571 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticFieldID,) 206 549 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticObjectField,) 206 527 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticBooleanField,) 206 516 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticByteField,) 206 505 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticCharField,) 206 494 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticShortField,) 206 483 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticIntField,) 206 472 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticLongField,) 206 461 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticFloatField,) 206 450 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStaticDoubleField,) 206 439 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticObjectField,) 206 417 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticBooleanField,) 206 406 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticByteField,) 206 395 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticCharField,) 206 384 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticShortField,) 206 373 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticIntField,) 206 362 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticLongField,) 206 351 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticFloatField,) 206 340 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetStaticDoubleField,) 206 329 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewString,) 206 307 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStringLength,) 206 296 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStringChars,) 206 285 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseStringChars,) 206 274 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewStringUTF,) 206 252 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStringUTFLength,) 206 241 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetStringUTFChars,) 206 230 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseStringUTFChars,) 206 219 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetArrayLength,) 206 197 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewObjectArray,) 206 175 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetObjectArrayElement,) 206 164 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetObjectArrayElement,) 206 153 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (Code) 198 642 S 0.09 (Example) 218.7 642 S 0.09 (4-) 253.17 642 S 0.09 (1) 260.85 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 632.85 198 149.15 2 L V 0 Z N 558 632.85 558 149.15 2 L V N 197.85 633 558.15 633 2 L V N 197.85 149 558.15 149 2 L V N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.32/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "32" 42 %%Page: "33" 43 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (33) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K ( NewBooleanArray,) 206 615 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewByteArray,) 206 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewCharArray,) 206 593 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewShortArray,) 206 582 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewIntArray,) 206 571 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewLongArray,) 206 560 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewFloatArray,) 206 549 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( NewDoubleArray,) 206 538 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetBooleanArrayElements,) 206 516 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetByteArrayElements,) 206 505 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetCharArrayElements,) 206 494 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetShortArrayElements,) 206 483 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetIntArrayElements,) 206 472 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetLongArrayElements,) 206 461 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetFloatArrayElements,) 206 450 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetDoubleArrayElements,) 206 439 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseBooleanArrayElements,) 206 417 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseByteArrayElements,) 206 406 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseCharArrayElements,) 206 395 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseShortArrayElements,) 206 384 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseIntArrayElements,) 206 373 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseLongArrayElements,) 206 362 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseFloatArrayElements,) 206 351 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( ReleaseDoubleArrayElements,) 206 340 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetBooleanArrayRegion,) 206 318 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetByteArrayRegion,) 206 307 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetCharArrayRegion,) 206 296 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetShortArrayRegion,) 206 285 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetIntArrayRegion,) 206 274 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetLongArrayRegion,) 206 263 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetFloatArrayRegion,) 206 252 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetDoubleArrayRegion,) 206 241 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetBooleanArrayRegion,) 206 230 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetByteArrayRegion,) 206 219 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetCharArrayRegion,) 206 208 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetShortArrayRegion,) 206 197 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetIntArrayRegion,) 206 186 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetLongArrayRegion,) 206 175 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetFloatArrayRegion,) 206 164 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( SetDoubleArrayRegion,) 206 153 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (Code) 198 642 S 0.09 (Example) 218.7 642 S 0.09 (4-) 253.17 642 S 0.09 (1) 260.85 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 632.85 198 149.15 2 L V 0 Z N 558 632.85 558 149.15 2 L V N 197.85 633 558.15 633 2 L V N 197.85 149 558.15 149 2 L V N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.33/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "33" 43 %%Page: "34" 44 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (34) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q 0 X 0 0 0 1 0 0 0 K -0.94 (V) 54 506 P -0.94 (ersion Information) 63.45 506 P 0 0 0 1 0 0 0 K 54 650/G8.23717 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetV) 160.49 471.67 T (ersion) 189.52 471.67 T 0 0 0 1 0 0 0 K 54 616/G8.15951 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jint GetVersion\050JNIEnv *env\051;) 198 450.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns the version of the native method interface.) 198 430.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 405 S 0.09 (ARAMETERS:) 202.92 405 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 389.33 P 1.22 0.1 (:) 216 389.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 389.33 B 0.52 0.1 (.) 335.41 389.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 364 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the major version number in the higher 16 bits and the minor version) 198 348.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (number in the lower 16 bits.) 198 336.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (In JDK1.1,) 198 316.33 B 5 F 1.2 (GetVersion\050\051) 247.66 316.33 P 1 F 0.52 0.1 ( r) 319.66 316.33 B 0.52 0.1 (eturns) 326.65 316.33 B 5 F 1.22 0.1 (0x00010001) 358.46 316.33 B 1 F 0.52 0.1 (.) 419.46 316.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Class Operations) 54 283 P 0 0 0 1 0 0 0 K 54 427/G8.15982 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (De\336neClass) 160.49 248.67 T 0 0 0 1 0 0 0 K 54 393/G8.15986 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jclass DefineClass\050JNIEnv *env, jobject loader,) 198 227.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const jbyte *buf, jsize bufLen\051;) 198 215.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Loads a class fr) 198 195.33 B 0.52 0.1 (om a buf) 268.51 195.33 B 0.52 0.1 (fer of raw class data.) 309.35 195.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 170 S 0.09 (ARAMETERS:) 202.92 170 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 154.33 P 1.22 0.1 (:) 216 154.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 154.33 B 0.52 0.1 (.) 335.41 154.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q ( RegisterNatives,) 206 615 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( UnregisterNatives,) 206 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( MonitorEnter,) 206 582 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( MonitorExit,) 206 571 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( GetJavaVM,) 206 549 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (};) 206 538 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (Code) 198 642 S 0.09 (Example) 218.7 642 S 0.09 (4-) 253.17 642 S 0.09 (1) 260.85 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 632.85 198 534.15 2 L V 0 Z N 558 632.85 558 534.15 2 L V N 197.85 633 558.15 633 2 L V N 197.85 534 558.15 534 2 L V N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.34/DEST FmPD2 54 660/M8.9.39720.Head1.Version.Information FmPA 54 660/I8.1.3504 FmPA 54 437/M8.9.30303.Head1.Class.Operations FmPA 54 437/I8.1.3514 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "34" 44 %%Page: "35" 45 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (35) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 0 X 0 0 0 1 0 0 0 K 1.2 (loader) 198 641.33 P 1.22 0.1 (:) 234 641.33 B 1 F 0.52 0.1 ( a class loader assigned to the de\336ned class.) 240.1 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (buf) 198 621.33 P 1.22 0.1 (:) 216 621.33 B 1 F 0.52 0.1 ( buf) 222.1 621.33 B 0.52 0.1 (fer containing the) 240.23 621.33 B 5 F 1.2 (.class) 324.13 621.33 P 1 F 0.52 0.1 ( \336le data.) 360.13 621.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (bufLen) 198 601.33 P 1.22 0.1 (:) 234 601.33 B 1 F 0.52 0.1 ( buf) 240.1 601.33 B 0.52 0.1 (fer length.) 258.23 601.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 576 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java class object or) 198 560.33 B 5 F 1.2 (NULL) 334.03 560.33 P 1 F 0.52 0.1 ( if an err) 358.03 560.33 B 0.52 0.1 (or occurs.) 397.66 560.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 535 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (ClassFormatError) 198 519.33 P 1.22 0.1 (:) 294 519.33 B 1 F 0.52 0.1 ( if the class data does not specify a valid class.) 300.1 519.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.1 (ClassCircularityError) 198 499.33 P 0.1 0.1 (:) 324 499.33 B 1 F 0.04 0.1 ( if a class or interface would be its own super) 330.1 499.33 B 0.04 0.1 (class) 534.03 499.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (or superinterface.) 198 487.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (OutOfMemoryError) 198 467.33 P 1.22 0.1 (:) 294 467.33 B 1 F 0.52 0.1 ( if the system r) 300.1 467.33 B 0.52 0.1 (uns out of memory) 368.68 467.33 B 0.52 0.1 (.) 455.38 467.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (FindClass) 160.49 434.67 T 0 0 0 1 0 0 0 K 54 579/G8.16027 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jclass FindClass\050JNIEnv *env, const char *name\051;) 198 413.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (This function loads a locally-de\336ned class. It sear) 198 393.33 B 0.52 0.1 (ches the dir) 423.08 393.33 B 0.52 0.1 (ectories and zip) 476.27 393.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (\336les speci\336ed by the) 198 381.33 B 5 F 1.2 (CLASSPATH) 294.47 381.33 P 1 F 0.52 0.1 ( envir) 348.47 381.33 B 0.52 0.1 (onment variable for the class with the) 375.03 381.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (speci\336ed name.) 198 369.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 344 S 0.09 (ARAMETERS:) 202.92 344 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 328.33 P 1.22 0.1 (:) 216 328.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 328.33 B 0.52 0.1 (.) 335.41 328.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.98 (name) 198 308.33 P 1 0.1 (:) 222 308.33 B 1 F 0.43 0.1 ( a fully-quali\336ed class name \050that is, a package name, delimited by \322) 228.1 308.33 B 5 F 0.98 (/) 541.17 308.33 P 1 F 0.43 0.1 (\323,) 547.17 308.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (followed by the class name\051. If the name begins with \322) 198 296.33 B 5 F 1.2 ([) 448.16 296.33 P 1 F 0.52 0.1 (\322 \050the array signatur) 454.16 296.33 B 0.52 0.1 (e) 547.57 296.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (character\051, it r) 198 284.33 B 0.52 0.1 (eturns an array class.) 262.06 284.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 259 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a class object fr) 198 243.33 B 0.52 0.1 (om a fully-quali\336ed name, or) 306.1 243.33 B 5 F 1.2 (NULL) 443.21 243.33 P 1 F 0.52 0.1 ( if the class cannot) 467.21 243.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (be found.) 198 231.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 206 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (ClassFormatError) 198 190.33 P 1.22 0.1 (:) 294 190.33 B 1 F 0.52 0.1 ( if the class data does not specify a valid class.) 300.1 190.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.1 (ClassCircularityError) 198 170.33 P 0.1 0.1 (:) 324 170.33 B 1 F 0.04 0.1 ( if a class or interface would be its own super) 330.1 170.33 B 0.04 0.1 (class) 534.03 170.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (or superinterface.) 198 158.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.35/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "35" 45 %%Page: "36" 46 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (36) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 0 X 0 0 0 1 0 0 0 K 1.2 (NoClassDefFoundError) 198 641.33 P 1.22 0.1 (:) 318 641.33 B 1 F 0.52 0.1 ( if no de\336nition for a r) 324.1 641.33 B 0.52 0.1 (equested class or interface) 426.78 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (can be found.) 198 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (OutOfMemoryError) 198 609.33 P 1.22 0.1 (:) 294 609.33 B 1 F 0.52 0.1 ( if the system r) 300.1 609.33 B 0.52 0.1 (uns out of memory) 368.68 609.33 B 0.52 0.1 (.) 455.38 609.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetSuper) 160.49 576.67 T (class) 213.91 576.67 T 0 0 0 1 0 0 0 K 54 721/G8.18292 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jclass GetSuperclass\050JNIEnv *env, jclass clazz\051;) 198 555.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (If) 198 535.33 B 5 F 1.2 (clazz) 208.02 535.33 P 1 F 0.52 0.1 ( r) 238.02 535.33 B 0.52 0.1 (epr) 245.01 535.33 B 0.52 0.1 (esents any class other than the class) 259.88 535.33 B 5 F 1.2 (Object) 427.05 535.33 P 1 F 0.52 0.1 (, then this function) 463.05 535.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K -0.05 0.1 (r) 198 523.33 B -0.05 0.1 (eturns the object that r) 201.87 523.33 B -0.05 0.1 (epr) 302.97 523.33 B -0.05 0.1 (esents the super) 317.84 523.33 B -0.05 0.1 (class of the class speci\336ed by) 390.19 523.33 B 5 F -0.11 (clazz) 522.75 523.33 P 1 F -0.05 0.1 (.) 552.75 523.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (If) 198 503.33 B 5 F 1.2 (clazz) 208.02 503.33 P 1 F 0.52 0.1 ( speci\336es the class) 238.02 503.33 B 5 F 1.2 (Object) 324.27 503.33 P 1 F 0.52 0.1 (, or) 360.27 503.33 B 5 F 1.2 (clazz) 378.72 503.33 P 1 F 0.52 0.1 ( r) 408.72 503.33 B 0.52 0.1 (epr) 415.71 503.33 B 0.52 0.1 (esents an interface, this) 430.58 503.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (function r) 198 491.33 B 0.52 0.1 (eturns) 242.86 491.33 B 5 F 1.2 (NULL) 274.67 491.33 P 1 F 0.52 0.1 (.) 298.67 491.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 466 S 0.09 (ARAMETERS:) 202.92 466 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 450.33 P 1.22 0.1 (:) 216 450.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 450.33 B 0.52 0.1 (.) 335.41 450.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 430.33 P 1.22 0.1 (:) 228 430.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 430.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 405 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the super) 198 389.33 B 0.52 0.1 (class of the class r) 279.22 389.33 B 0.52 0.1 (epr) 361.39 389.33 B 0.52 0.1 (esented by) 376.26 389.33 B 5 F 1.2 (clazz) 428.29 389.33 P 1 F 0.52 0.1 (, or) 458.29 389.33 B 5 F 1.2 (NULL) 476.74 389.33 P 1 F 0.52 0.1 (.) 500.74 389.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (IsAssignableFr) 160.49 356.67 T (om) 245.29 356.67 T 0 0 0 1 0 0 0 K 54 501/G8.16061 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jboolean IsAssignableFrom\050JNIEnv *env, jclass clazz1,) 198 335.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jclass clazz2\051;) 198 323.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Determines whether an object of) 198 303.33 B 5 F 1.2 (clazz1) 349.62 303.33 P 1 F 0.52 0.1 ( can be safely cast to) 385.62 303.33 B 5 F 1.2 (clazz2) 483.11 303.33 P 1 F 0.52 0.1 (.) 519.11 303.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 278 S 0.09 (ARAMETERS:) 202.92 278 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 262.33 P 1.22 0.1 (:) 216 262.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 262.33 B 0.52 0.1 (.) 335.41 262.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz1) 198 242.33 P 1.22 0.1 (:) 234 242.33 B 1 F 0.52 0.1 ( the \336rst class ar) 240.1 242.33 B 0.52 0.1 (gument.) 314.95 242.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz2) 198 222.33 P 1.22 0.1 (:) 234 222.33 B 1 F 0.52 0.1 ( the second class ar) 240.1 222.33 B 0.52 0.1 (gument.) 328.51 222.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 197 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns) 198 181.33 B 5 F 1.2 (JNI_TRUE) 236.59 181.33 P 1 F 0.52 0.1 ( if either of the following is tr) 284.59 181.33 B 0.52 0.1 (ue:) 420.43 181.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 163.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (The \336rst and second class ar) 210.6 163.33 B 0.52 0.1 (guments r) 340.13 163.33 B 0.52 0.1 (efer to the same Java class.) 386.35 163.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.36/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "36" 46 %%Page: "37" 47 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (37) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0 X 0 0 0 1 0 0 0 K 0.14 (\245) 198 641.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (The \336rst class is a subclass of the second class.) 210.6 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 623.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (The \336rst class has the second class as one of its interfaces.) 210.6 623.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q (Exceptions) 54 590 T 0 0 0 1 0 0 0 K 54 734/G8.5234 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (Thr) 160.49 555.67 T (ow) 181.24 555.67 T 0 0 0 1 0 0 0 K 54 700/G8.16086 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jint Throw\050JNIEnv *env, jthrowable obj\051;) 198 534.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Causes a) 198 514.33 B 5 F 1.2 (java.lang.Throwable) 241.33 514.33 P 1 F 0.52 0.1 ( object to be thr) 355.33 514.33 B 0.52 0.1 (own.) 426.82 514.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 489 S 0.09 (ARAMETERS:) 202.92 489 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 473.33 P 1.22 0.1 (:) 216 473.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 473.33 B 0.52 0.1 (.) 335.41 473.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 453.33 P 1.22 0.1 (:) 216 453.33 B 1 F 0.52 0.1 ( a) 222.1 453.33 B 5 F 1.2 (java.lang.Throwable) 233.44 453.33 P 1 F 0.52 0.1 ( object.) 347.44 453.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 428 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns 0 on success; a negative value on failur) 198 412.33 B 0.52 0.1 (e.) 415.32 412.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 387 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (the) 198 371.33 B 5 F 1.2 (java.lang.Throwable) 215.17 371.33 P 1 F 0.5 ( object) 329.17 371.33 P 5 F 1.2 (obj) 360.99 371.33 P 1 F 0.5 (.) 378.99 371.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (Thr) 160.49 338.67 T (owNew) 181.24 338.67 T 0 0 0 1 0 0 0 K 54 483/G8.16104 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jint ThrowNew\050JNIEnv *env, jclass clazz,) 198 317.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const char *message\051;) 198 305.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Constr) 198 285.33 B 0.52 0.1 (ucts an exception object fr) 228.34 285.33 B 0.52 0.1 (om the speci\336ed class with the message) 347.47 285.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (speci\336ed by) 198 273.33 B 5 F 1.2 (message) 255.67 273.33 P 1 F 0.52 0.1 ( and causes that exception to be thr) 297.67 273.33 B 0.52 0.1 (own.) 459.95 273.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 248 S 0.09 (ARAMETERS:) 202.92 248 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 232.33 P 1.22 0.1 (:) 216 232.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 232.33 B 0.52 0.1 (.) 335.41 232.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 212.33 P 1.22 0.1 (:) 228 212.33 B 1 F 0.52 0.1 ( a subclass of) 234.1 212.33 B 5 F 1.2 (java.lang.Throwable) 298.1 212.33 P 1 F 0.52 0.1 (.) 412.1 212.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (message) 198 192.33 P 1.22 0.1 (:) 240 192.33 B 1 F 0.52 0.1 ( the message used to constr) 246.1 192.33 B 0.52 0.1 (uct the) 372.2 192.33 B 5 F 1.2 (java.lang.Throwable) 406.64 192.33 P 1 F 0.52 0.1 ( object.) 520.64 192.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 167 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns 0 on success; a negative value on failur) 198 151.33 B 0.52 0.1 (e.) 415.32 151.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.37/DEST FmPD2 54 744/M8.9.34337.Head1.Exceptions FmPA 54 744/I8.1.5235 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "37" 47 %%Page: "38" 48 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (38) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (THROWS:) 198 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (the newly constr) 198 626.33 B 0.52 0.1 (ucted) 274.02 626.33 B 5 F 1.2 (java.lang.Throwable) 302.15 626.33 P 1 F 0.52 0.1 (object.) 419.15 626.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (ExceptionOccurr) 160.49 593.67 T (ed) 257.45 593.67 T 0 0 0 1 0 0 0 K 54 738/G8.16124 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jthrowable ExceptionOccurred\050JNIEnv *env\051;) 198 572.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.5 0.1 (Determines if an exception is being thr) 198 552.33 B 0.5 0.1 (own. The exception stays being thr) 375.33 552.33 B 0.5 0.1 (own) 534.98 552.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K -0.04 0.1 (until either the native code calls) 198 540.33 B 5 F -0.09 (ExceptionClear\050\051) 344.3 540.33 P 1 F -0.04 0.1 (, or the Java code handles) 440.3 540.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the exception.) 198 528.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 503 S 0.09 (ARAMETERS:) 202.92 503 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 487.33 P 1.22 0.1 (:) 216 487.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 487.33 B 0.52 0.1 (.) 335.41 487.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 462 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.1 0.1 (Returns the exception object that is curr) 198 446.33 B 0.1 0.1 (ently in the pr) 377.46 446.33 B 0.1 0.1 (ocess of being thr) 441.47 446.33 B 0.1 0.1 (own, or) 520.48 446.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (NULL) 198 434.33 P 1 F 0.52 0.1 ( if no exception is curr) 222 434.33 B 0.52 0.1 (ently being thr) 325 434.33 B 0.52 0.1 (own.) 392.34 434.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (ExceptionDescribe) 160.49 401.67 T 0 0 0 1 0 0 0 K 54 546/G8.16146 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void ExceptionDescribe\050JNIEnv *env\051;) 198 380.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Prints an exception and a backtrace of the stack to a system err) 198 360.33 B 0.52 0.1 (or) 486.53 360.33 B 0.52 0.1 (-r) 495.96 360.33 B 0.52 0.1 (eporting) 503.26 360.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (channel, such as) 198 348.33 B 5 F 1.2 (stderr) 275.63 348.33 P 1 F 0.52 0.1 (. This is a convenience r) 310.89 348.33 B 0.52 0.1 (outine pr) 420.74 348.33 B 0.52 0.1 (ovided for) 462.71 348.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (debugging.) 198 336.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 311 S 0.09 (ARAMETERS:) 202.92 311 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 295.33 P 1.22 0.1 (:) 216 295.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 295.33 B 0.52 0.1 (.) 335.41 295.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (ExceptionClear) 160.49 262.67 T 0 0 0 1 0 0 0 K 54 407/G8.16166 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void ExceptionClear\050JNIEnv *env\051;) 198 241.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F -0.05 0.1 (Clears any exception that is curr) 198 221.33 B -0.05 0.1 (ently being thr) 343.25 221.33 B -0.05 0.1 (own. If no exception is curr) 409.46 221.33 B -0.05 0.1 (ently) 532.61 221.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (being thr) 198 209.33 B 0.52 0.1 (own, this r) 239.38 209.33 B 0.52 0.1 (outine has no ef) 288.64 209.33 B 0.52 0.1 (fect.) 361.85 209.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 184 S 0.09 (ARAMETERS:) 202.92 184 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 168.33 P 1.22 0.1 (:) 216 168.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 168.33 B 0.52 0.1 (.) 335.41 168.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.38/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "38" 48 %%Page: "39" 49 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (39) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K (FatalErr) 160.49 638.67 T (or) 208.45 638.67 T 0 0 0 1 0 0 0 K 54 783/G8.16186 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void FatalError\050JNIEnv *env, const char *msg\051;) 198 617.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Raises a fatal err) 198 597.33 B 0.52 0.1 (or and does not expect the VM to r) 273.73 597.33 B 0.52 0.1 (ecover) 434.26 597.33 B 0.52 0.1 (. This function does) 463.2 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (not r) 198 585.33 B 0.52 0.1 (eturn.) 219.83 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 560 S 0.09 (ARAMETERS:) 202.92 560 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 544.33 P 1.22 0.1 (:) 216 544.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 544.33 B 0.52 0.1 (.) 335.41 544.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (msg) 198 524.33 P 1.22 0.1 (:) 216 524.33 B 1 F 0.52 0.1 ( an err) 222.1 524.33 B 0.52 0.1 (or message.) 252.17 524.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Global and Local Refer) 54 491 P -0.94 (ences) 187.72 491 P 0 0 0 1 0 0 0 K 54 635/G8.16270 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (NewGlobalRef) 160.49 456.67 T 0 0 0 1 0 0 0 K 54 601/G8.16274 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jobject NewGlobalRef\050JNIEnv *env, jobject obj\051;) 198 435.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Cr) 198 415.33 B 0.52 0.1 (eates a new global r) 209.06 415.33 B 0.52 0.1 (efer) 300.31 415.33 B 0.52 0.1 (ence to the object r) 317.39 415.33 B 0.52 0.1 (eferr) 403.49 415.33 B 0.52 0.1 (ed to by the) 424.62 415.33 B 5 F 1.2 (obj) 482.58 415.33 P 1 F 0.52 0.1 ( ar) 500.58 415.33 B 0.52 0.1 (gument.) 512.67 415.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The) 198 403.33 B 5 F 1.2 (obj) 218.16 403.33 P 1 F 0.52 0.1 ( ar) 236.16 403.33 B 0.52 0.1 (gument may be a global or local r) 248.25 403.33 B 0.52 0.1 (efer) 402.96 403.33 B 0.52 0.1 (ence. Global r) 420.04 403.33 B 0.52 0.1 (efer) 483.03 403.33 B 0.52 0.1 (ences must) 500.11 403.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (be explicitly disposed of by calling) 198 391.33 B 5 F 1.2 (DeleteGlobalRef\050\051) 360.3 391.33 P 1 F 0.52 0.1 (.) 462.3 391.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 366 S 0.09 (ARAMETERS:) 202.92 366 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 350.33 P 1.22 0.1 (:) 216 350.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 350.33 B 0.52 0.1 (.) 335.41 350.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 330.33 P 1.22 0.1 (:) 216 330.33 B 1 F 0.52 0.1 ( a global or local r) 222.1 330.33 B 0.52 0.1 (efer) 305.47 330.33 B 0.52 0.1 (ence.) 322.55 330.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 305 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a global r) 198 289.33 B 0.52 0.1 (efer) 279.77 289.33 B 0.52 0.1 (ence, or) 296.85 289.33 B 5 F 1.2 (NULL) 335.54 289.33 P 1 F 0.52 0.1 ( if the system r) 359.54 289.33 B 0.52 0.1 (uns out of memory) 428.12 289.33 B 0.52 0.1 (.) 514.82 289.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (DeleteGlobalRef) 160.49 256.67 T 0 0 0 1 0 0 0 K 54 401/G8.16294 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void DeleteGlobalRef\050JNIEnv *env, jobject globalRef\051;) 198 235.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Deletes the global r) 198 215.33 B 0.52 0.1 (efer) 286.59 215.33 B 0.52 0.1 (ence pointed to by) 303.67 215.33 B 5 F 1.2 (globalRef) 391.66 215.33 P 1 F 0.52 0.1 (.) 445.66 215.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 190 S 0.09 (ARAMETERS:) 202.92 190 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 174.33 P 1.22 0.1 (:) 216 174.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 174.33 B 0.52 0.1 (.) 335.41 174.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (globalRef) 198 154.33 P 1.22 0.1 (:) 252 154.33 B 1 F 0.52 0.1 ( a global r) 258.1 154.33 B 0.52 0.1 (efer) 304.4 154.33 B 0.52 0.1 (ence.) 321.48 154.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.39/DEST FmPD2 54 645/M8.9.18773.Head1.Global.and.Local.References FmPA 54 645/I8.1.3518 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "39" 49 %%Page: "40" 50 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (40) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K (DeleteLocalRef) 160.49 638.67 T 0 0 0 1 0 0 0 K 54 783/G8.18654 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void DeleteLocalRef\050JNIEnv *env, jobject localRef\051;) 198 617.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Deletes the local r) 198 597.33 B 0.52 0.1 (efer) 279.84 597.33 B 0.52 0.1 (ence pointed to by) 296.92 597.33 B 5 F 1.2 (localRef) 384.91 597.33 P 1 F 0.52 0.1 (.) 432.91 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 572 S 0.09 (ARAMETERS:) 202.92 572 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 556.33 P 1.22 0.1 (:) 216 556.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 556.33 B 0.52 0.1 (.) 335.41 556.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (localRef) 198 536.33 P 1.22 0.1 (:) 246 536.33 B 1 F 0.52 0.1 ( a local r) 252.1 536.33 B 0.52 0.1 (efer) 291.65 536.33 B 0.52 0.1 (ence.) 308.73 536.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Object Operations) 54 503 P 0 0 0 1 0 0 0 K 54 647/G8.16334 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (AllocObject) 160.49 468.67 T 0 0 0 1 0 0 0 K 54 613/G8.16337 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jobject AllocObject\050JNIEnv *env, jclass clazz\051;) 198 447.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Allocates a new Java object without invoking any of the constr) 198 427.33 B 0.52 0.1 (uctors for the) 484.84 427.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (object. Returns a r) 198 415.33 B 0.52 0.1 (efer) 280.82 415.33 B 0.52 0.1 (ence to the object.) 297.9 415.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The) 198 395.33 B 5 F 1.22 0.1 (clazz) 218.16 395.33 B 1 F 0.52 0.1 ( ar) 248.66 395.33 B 0.52 0.1 (gument must not r) 260.75 395.33 B 0.52 0.1 (efer to an array class.) 346.47 395.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 370 S 0.09 (ARAMETERS:) 202.92 370 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 354.33 P 1.22 0.1 (:) 216 354.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 354.33 B 0.52 0.1 (.) 335.41 354.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 334.33 P 1.22 0.1 (:) 228 334.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 334.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 309 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java object, or) 198 293.33 B 5 F 1.2 (NULL) 312.18 293.33 P 1 F 0.52 0.1 ( if the object cannot be constr) 336.18 293.33 B 0.52 0.1 (ucted.) 470.54 293.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 268 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (InstantiationException) 198 252.33 P 1.22 0.1 (:) 330 252.33 B 1 F 0.52 0.1 ( if the class is an interface or an abstract class.) 336.1 252.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (OutOfMemoryError) 198 232.33 P 1.22 0.1 (:) 294 232.33 B 1 F 0.52 0.1 ( if the system r) 300.1 232.33 B 0.52 0.1 (uns out of memory) 368.68 232.33 B 0.52 0.1 (.) 455.38 232.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.40/DEST FmPD2 54 657/M8.9.19056.Head1.Object.Operations FmPA 54 657/I8.1.3522 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "40" 50 %%Page: "41" 51 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (41) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K (NewObject) 160.49 638.67 T 0 0 0 1 0 0 0 K 54 783/G8.4517 FmPA 0 0 0 1 0 0 0 K (NewObjectA) 160.49 622.67 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (NewObjectV) 160.49 606.67 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jobject NewObject\050JNIEnv *env, jclass clazz,) 198 585.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, ...\051;) 198 573.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 (jobject NewObjectA\050JNIEnv *env, jclass clazz,) 198 553.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, jvalue *args\051;) 198 541.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 (jobject NewObjectV\050JNIEnv *env, jclass clazz,) 198 521.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, va_list args\051;) 198 509.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Constr) 198 489.33 B 0.52 0.1 (ucts a new Java object. The method ID indicates which constr) 228.34 489.33 B 0.52 0.1 (uctor) 509.78 489.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (method to invoke. This ID must be obtained by calling) 198 477.33 B 5 F 1.2 (GetMethodID\050\051) 451.69 477.33 P 1 F 0.52 0.1 ( with) 529.69 477.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 () 198 465.33 P 1 F 0.52 0.1 ( as the method name and) 234 465.33 B 5 F 1.2 (void) 353.27 465.33 P 1 F 0.52 0.1 ( \050) 377.27 465.33 B 5 F 1.2 (V) 383.82 465.33 P 1 F 0.52 0.1 (\051 as the r) 389.82 465.33 B 0.52 0.1 (eturn type.) 430.09 465.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The) 198 445.33 B 5 F 1.2 (clazz) 218.16 445.33 P 1 F 0.52 0.1 ( ar) 248.16 445.33 B 0.52 0.1 (gument must not r) 260.25 445.33 B 0.52 0.1 (efer to an array class.) 345.97 445.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q 0.11 (NewObject) 198 416.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Pr) 198 400.33 B 0.52 0.1 (ogrammers place all ar) 208.01 400.33 B 0.52 0.1 (guments that ar) 312.62 400.33 B 0.52 0.1 (e to be passed to the constr) 384.8 400.33 B 0.52 0.1 (uctor) 509.62 400.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (immediately following the) 198 388.33 B 5 F 1.2 (methodID) 322.13 388.33 P 1 F 0.52 0.1 ( ar) 370.13 388.33 B 0.52 0.1 (gument.) 382.22 388.33 B 5 F 1.2 (NewObject\050\051) 422.83 388.33 P 1 F 0.52 0.1 ( accepts these) 488.83 388.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.18 0.1 (ar) 198 376.33 B 0.18 0.1 (guments and passes them to the Java method that the pr) 206.97 376.33 B 0.18 0.1 (ogrammer wishes to) 462.64 376.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (invoke.) 198 364.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q 0.11 (NewObjectA) 198 335.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.19 0.1 (Pr) 198 319.33 B 0.19 0.1 (ogrammers place all ar) 208.01 319.33 B 0.19 0.1 (guments that ar) 311.64 319.33 B 0.19 0.1 (e to be passed to the constr) 383.17 319.33 B 0.19 0.1 (uctor in an) 506.03 319.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (args) 198 307.33 P 1 F 0.52 0.1 ( array of) 222 307.33 B 5 F 1.2 (jvalues) 264.31 307.33 P 1 F 0.52 0.1 ( that immediately follows the) 306.31 307.33 B 5 F 1.2 (methodID) 444.17 307.33 P 1 F 0.52 0.1 ( ar) 492.17 307.33 B 0.52 0.1 (gument.) 504.26 307.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (NewObjectA\050\051) 198 295.33 P 1 F 0.52 0.1 ( accepts the ar) 270 295.33 B 0.52 0.1 (guments in this array) 335.38 295.33 B 0.52 0.1 (, and, in turn, passes them) 432.38 295.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (to the Java method that the pr) 198 283.33 B 0.52 0.1 (ogrammer wishes to invoke.) 335.95 283.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q 0.11 (NewObjectV) 198 254.67 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.19 0.1 (Pr) 198 238.33 B 0.19 0.1 (ogrammers place all ar) 208.01 238.33 B 0.19 0.1 (guments that ar) 311.64 238.33 B 0.19 0.1 (e to be passed to the constr) 383.17 238.33 B 0.19 0.1 (uctor in an) 506.03 238.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (args) 198 226.33 P 1 F 0.52 0.1 ( ar) 222 226.33 B 0.52 0.1 (gument of type) 234.09 226.33 B 5 F 1.2 (va_list) 307.35 226.33 P 1 F 0.52 0.1 ( that immediately follows the) 349.35 226.33 B 5 F 1.2 (methodID) 487.21 226.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (ar) 198 214.33 B 0.52 0.1 (gument.) 206.97 214.33 B 5 F 1.2 (NewObjectV\050\051) 247.58 214.33 P 1 F 0.52 0.1 ( accepts these ar) 319.58 214.33 B 0.52 0.1 (guments, and, in turn, passes them) 394.19 214.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (to the Java method that the pr) 198 202.33 B 0.52 0.1 (ogrammer wishes to invoke.) 335.95 202.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 177 S 0.09 (ARAMETERS:) 202.92 177 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 161.33 P 1.22 0.1 (:) 216 161.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 161.33 B 0.52 0.1 (.) 335.41 161.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.41/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "41" 51 %%Page: "42" 52 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (42) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 0 X 0 0 0 1 0 0 0 K 1.2 (clazz) 198 641.33 P 1.22 0.1 (:) 228 641.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (methodID) 198 621.33 P 1.22 0.1 (:) 246 621.33 B 1 F 0.52 0.1 ( the method ID of the constr) 252.1 621.33 B 0.52 0.1 (uctor) 382.02 621.33 B 0.52 0.1 (.) 404.92 621.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for NewObject:) 198 596 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (ar) 198 580.33 B 0.52 0.1 (guments to the constr) 206.97 580.33 B 0.52 0.1 (uctor) 306.34 580.33 B 0.52 0.1 (.) 329.24 580.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for NewObjectA:) 198 555 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (args) 198 539.33 P 1.22 0.1 (:) 222 539.33 B 1 F 0.52 0.1 ( an array of ar) 228.1 539.33 B 0.52 0.1 (guments to the constr) 293.52 539.33 B 0.52 0.1 (uctor) 392.89 539.33 B 0.52 0.1 (.) 415.79 539.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for NewObjectV) 198 514 B -0.58 0.09 (:) 357.95 514 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (args) 198 498.33 P 1.22 0.1 (:) 222 498.33 B 1 F 0.52 0.1 ( a) 228.1 498.33 B 5 F 1.22 0.1 (va_list) 239.44 498.33 B 1 F 0.52 0.1 ( of ar) 282.14 498.33 B 0.52 0.1 (guments to the constr) 306.34 498.33 B 0.52 0.1 (uctor) 405.71 498.33 B 0.52 0.1 (.) 428.61 498.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 473 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java object, or) 198 457.33 B 5 F 1.2 (NULL) 312.18 457.33 P 1 F 0.52 0.1 ( if the object cannot be constr) 336.18 457.33 B 0.52 0.1 (ucted.) 470.54 457.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 432 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (InstantiationException) 198 416.33 P 1.22 0.1 (:) 330 416.33 B 1 F 0.52 0.1 ( if the class is an interface or an abstract class.) 336.1 416.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (OutOfMemoryError) 198 396.33 P 1.22 0.1 (:) 294 396.33 B 1 F 0.52 0.1 ( if the system r) 300.1 396.33 B 0.52 0.1 (uns out of memory) 368.68 396.33 B 0.52 0.1 (.) 455.38 396.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Any exceptions thr) 198 376.33 B 0.52 0.1 (own by the constr) 284.73 376.33 B 0.52 0.1 (uctor) 367.16 376.33 B 0.52 0.1 (.) 390.06 376.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetObjectClass) 160.49 343.67 T 0 0 0 1 0 0 0 K 54 488/G8.16454 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jclass GetObjectClass\050JNIEnv *env, jobject obj\051;) 198 322.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns the class of an object.) 198 302.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 277 S 0.09 (ARAMETERS:) 202.92 277 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 261.33 P 1.22 0.1 (:) 216 261.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 261.33 B 0.52 0.1 (.) 335.41 261.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 241.33 P 1.22 0.1 (:) 216 241.33 B 1 F 0.52 0.1 ( a Java object \050must not be) 222.1 241.33 B 5 F 1.2 (NULL) 346.39 241.33 P 1 F 0.52 0.1 (\051.) 370.39 241.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 216 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java class object.) 198 200.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.42/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "42" 52 %%Page: "43" 53 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (43) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K (IsInstanceOf) 160.49 638.67 T 0 0 0 1 0 0 0 K 54 783/G8.16472 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jboolean IsInstanceOf\050JNIEnv *env, jobject obj,) 198 617.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jclass clazz\051;) 198 605.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (T) 198 585.33 B 0.52 0.1 (ests whether an object is an instance of a class.) 203.31 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 560 S 0.09 (ARAMETERS:) 202.92 560 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 544.33 P 1.22 0.1 (:) 216 544.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 544.33 B 0.52 0.1 (.) 335.41 544.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 524.33 P 1.22 0.1 (:) 216 524.33 B 1 F 0.52 0.1 ( a Java object.) 222.1 524.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 504.33 P 1.22 0.1 (:) 228 504.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 504.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 479 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.22 0.1 (Returns) 198 463.33 B 1.2 (JNI_TRUE) 243.82 463.33 P 1 F 0.52 0.1 ( if) 291.82 463.33 B 5 F 1.2 (obj) 304.5 463.33 P 1 F 0.52 0.1 ( can be cast to) 322.5 463.33 B 5 F 1.2 (clazz) 390.44 463.33 P 1 F 0.52 0.1 (; otherwise, r) 420.44 463.33 B 0.52 0.1 (eturns) 480.21 463.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (JNI_FALSE) 198 451.33 P 1 F 0.52 0.1 (. A) 252 451.33 B 5 F 1.2 (NULL) 268.72 451.33 P 1 F 0.52 0.1 ( object can be cast to any class.) 292.72 451.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (IsSameObject) 160.49 418.67 T 0 0 0 1 0 0 0 K 54 563/G8.16514 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jboolean IsSameObject\050JNIEnv *env, jobject ref1,) 198 397.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jobject ref2\051;) 198 385.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (T) 198 365.33 B 0.52 0.1 (ests whether two r) 203.31 365.33 B 0.52 0.1 (efer) 288.3 365.33 B 0.52 0.1 (ences r) 305.38 365.33 B 0.52 0.1 (efer to the same Java object.) 336.95 365.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 340 S 0.09 (ARAMETERS:) 202.92 340 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 324.33 P 1.22 0.1 (:) 216 324.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 324.33 B 0.52 0.1 (.) 335.41 324.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (ref1) 198 304.33 P 1.22 0.1 (:) 222 304.33 B 1 F 0.52 0.1 ( a Java object.) 228.1 304.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (ref2) 198 284.33 P 1.22 0.1 (:) 222 284.33 B 1 F 0.52 0.1 ( a Java object.) 228.1 284.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 259 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.22 0.1 (Returns) 198 243.33 B 1.2 (JNI_TRUE) 243.82 243.33 P 1 F 0.52 0.1 ( if) 291.82 243.33 B 5 F 1.2 (ref1) 304.5 243.33 P 1 F 0.52 0.1 ( and) 328.5 243.33 B 5 F 1.2 (ref2) 351.97 243.33 P 1 F 0.52 0.1 ( r) 375.97 243.33 B 0.52 0.1 (efer to the same Java object, or ar) 382.96 243.33 B 0.52 0.1 (e) 535.39 243.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (both) 198 231.33 B 5 F 1.2 (NULL) 221.59 231.33 P 1 F 0.52 0.1 (; otherwise, r) 245.59 231.33 B 0.52 0.1 (eturns) 305.36 231.33 B 5 F 1.2 (JNI_FALSE) 337.17 231.33 P 1 F 0.52 0.1 (.) 391.17 231.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.43/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "43" 53 %%Page: "44" 54 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (44) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q 0 X 0 0 0 1 0 0 0 K -0.94 (Accessing Fields of Objects) 54 638 P 0 0 0 1 0 0 0 K 54 782/G8.16536 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetFieldID) 160.49 603.67 T 0 0 0 1 0 0 0 K 54 748/G8.16540 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jfieldID GetFieldID\050JNIEnv *env, jclass clazz,) 198 582.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const char *name, const char *sig\051;) 198 570.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns the \336eld ID for an instance \050nonstatic\051 \336eld of a class. The \336eld is) 198 550.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (speci\336ed by its name and signatur) 198 538.33 B 0.52 0.1 (e. The) 355.2 538.33 B 0 F 0.52 0.1 (GetField) 385.97 538.33 B 1 F 0.52 0.1 ( and) 451.16 538.33 B 0 F 0.52 0.1 (SetField) 474.63 538.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (families of accessor functions use \336eld IDs to r) 198 526.33 B 0.52 0.1 (etrieve object \336elds.) 411.3 526.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (GetFieldID\050\051) 198 506.33 P 1 F 0.52 0.1 ( causes an uninitialized class to be initialized.) 270 506.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (GetFieldID\050\051) 198 486.33 P 1 F 0.52 0.1 ( cannot be used to obtain the length \336eld of an array) 270 486.33 B 0.52 0.1 (. Use) 510.36 486.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (GetArrayLength\050\051) 198 474.33 P 1 F 0.52 0.1 ( instead.) 294 474.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 449 S 0.09 (ARAMETERS:) 202.92 449 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 433.33 P 1.22 0.1 (:) 216 433.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 433.33 B 0.52 0.1 (.) 335.41 433.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 413.33 P 1.22 0.1 (:) 228 413.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 413.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (name) 198 393.33 P 1.22 0.1 (:) 222 393.33 B 1 F 0.52 0.1 ( the \336eld name in a 0-terminated UTF-8 string.) 228.1 393.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (sig) 198 373.33 P 1.22 0.1 (:) 216 373.33 B 1 F 0.52 0.1 ( the \336eld signatur) 222.1 373.33 B 0.52 0.1 (e in a 0-terminated UTF-8 string.) 303.28 373.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 348 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a \336eld ID, or) 198 332.33 B 5 F 1.2 (NULL) 297.95 332.33 P 1 F 0.52 0.1 ( if the operation fails.) 321.95 332.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 307 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (NoSuchFieldError) 198 291.33 P 1.22 0.1 (:) 294 291.33 B 1 F 0.52 0.1 ( if the speci\336ed \336eld cannot be found.) 300.1 291.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (ExceptionInInitializerError) 198 271.33 P 1.22 0.1 (:) 360 271.33 B 1 F 0.52 0.1 ( if the class initializer fails due to an) 366.1 271.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (exception.) 198 259.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (OutOfMemoryError) 198 239.33 P 1.22 0.1 (:) 294 239.33 B 1 F 0.52 0.1 ( if the system r) 300.1 239.33 B 0.52 0.1 (uns out of memory) 368.68 239.33 B 0.52 0.1 (.) 455.38 239.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (GetField Routines) 160.49 206.67 P 0 0 0 1 0 0 0 K 54 351/G8.16572 FmPA 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (NativeT) 198 185.33 B 0.52 0.1 (ype) 231.11 185.33 B 0.52 0.1 (GetField) 252.5 185.33 B 5 F 1.2 (\050JNIEnv *env, jobject obj,) 317.69 185.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jfieldID fieldID\051;) 198 173.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.44/DEST FmPD2 54 792/M8.9.29559.Head1.Accessing.Fields.of.Objects FmPA 54 792/I8.1.3554 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "44" 54 %%Page: "45" 55 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (45) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (This family of accessor r) 198 641.33 B 0.52 0.1 (outines r) 309.34 641.33 B 0.52 0.1 (eturns the value of an instance \050nonstatic\051) 349.54 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (\336eld of an object. The \336eld to access is speci\336ed by a \336eld ID obtained by) 198 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (calling) 198 617.33 B 5 F 1.2 (GetFieldID\050\051) 231.37 617.33 P 1 F 0.52 0.1 (.) 303.37 617.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.41 0.1 (The following table describes the) 198 597.33 B 0 F 0.41 0.1 (GetField) 351.74 597.33 B 1 F 0.41 0.1 ( r) 416.92 597.33 B 0.41 0.1 (outine name and r) 423.8 597.33 B 0.41 0.1 (esult type.) 507.64 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.18 0.1 (Y) 198 585.33 B 0.18 0.1 (ou should r) 203.85 585.33 B 0.18 0.1 (eplace) 256.15 585.33 B 0 F 0.18 0.1 (type) 287.47 585.33 B 1 F 0.18 0.1 ( in) 305.09 585.33 B 0 F 0.18 0.1 (GetField) 319.59 585.33 B 1 F 0.18 0.1 ( with the Java type of the \336eld, or use) 384.78 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.18 0.1 (one of the actual r) 198 573.33 B 0.18 0.1 (outine names fr) 279.76 573.33 B 0.18 0.1 (om the table, and r) 350.67 573.33 B 0.18 0.1 (eplace) 436.14 573.33 B 0 F 0.18 0.1 (NativeT) 467.46 573.33 B 0.18 0.1 (ype) 500.57 573.33 B 1 F 0.18 0.1 ( with the) 514.76 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (corr) 198 561.33 B 0.52 0.1 (esponding native type for that r) 216.02 561.33 B 0.52 0.1 (outine.) 361.94 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 319 S 0.09 (ARAMETERS:) 202.92 319 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 303.33 P 1.22 0.1 (:) 216 303.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 303.33 B 0.52 0.1 (.) 335.41 303.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 283.33 P 1.22 0.1 (:) 216 283.33 B 1 F 0.52 0.1 ( a Java object \050must not be) 222.1 283.33 B 5 F 1.2 (NULL) 346.39 283.33 P 1 F 0.52 0.1 (\051.) 370.39 283.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (fieldID) 198 263.33 P 1.22 0.1 (:) 240 263.33 B 1 F 0.52 0.1 ( a valid \336eld ID.) 246.1 263.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 238 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the content of the \336eld.) 198 222.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (SetField Routines) 160.49 189.67 P 0 0 0 1 0 0 0 K 54 334/G8.16613 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void) 198 168.33 P 0 F 0.52 0.1 (SetField) 229.2 168.33 B 5 F 1.2 (\050JNIEnv *env, jobject obj, jfieldID fieldID,) 292.73 168.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (NativeT) 234 156.33 B 0.52 0.1 (ype) 267.11 156.33 B 5 F 1.2 ( value\051;) 281.3 156.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 520 S 0.09 (able) 202.59 520 S 0.09 (4-) 219.46 520 S 0.09 (1) 227.13 520 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (GetField Family of Accessor Routines) 241.2 520 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (GetField Routine Name) 198 499 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 342 499 B 0.47 0.09 (ype) 378.13 499 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetObjectField\050\051) 198 482 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jobject) 342 482 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetBooleanField\050\051) 198 465 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 342 465 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetByteField\050\051) 198 448 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 342 448 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetCharField\050\051) 198 431 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 342 431 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetShortField\050\051) 198 414 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshort) 342 414 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetIntField\050\051) 198 397 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 342 397 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetLongField\050\051) 198 380 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 342 380 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetFloatField\050\051) 198 363 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloat) 342 363 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetDoubleField\050\051) 198 346 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 342 346 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 511 432 511 2 L V 0 Z N 198 494 432 494 2 L V 0.5 H N 198 341 432 341 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.45/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "45" 55 %%Page: "46" 56 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (46) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.08 0.1 (This family of accessor r) 198 641.33 B 0.08 0.1 (outines sets the value of an instance \050nonstatic\051 \336eld of) 307.58 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (an object. The \336eld to access is speci\336ed by a \336eld ID obtained by calling) 198 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetFieldID\050\051) 198 617.33 T 1 F 0.1 (.) 270 617.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The following table describes the) 198 597.33 B 0 F 0.52 0.1 (SetField) 352.3 597.33 B 1 F 0.52 0.1 ( r) 415.83 597.33 B 0.52 0.1 (outine name and value type.) 422.82 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.29 0.1 (Y) 198 585.33 B 0.29 0.1 (ou should r) 203.85 585.33 B 0.29 0.1 (eplace) 256.37 585.33 B 0 F 0.29 0.1 (type) 287.8 585.33 B 1 F 0.29 0.1 ( in) 305.42 585.33 B 0 F 0.29 0.1 (SetField) 320.14 585.33 B 1 F 0.29 0.1 ( with the Java type of the \336eld, or use) 383.67 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.18 0.1 (one of the actual r) 198 573.33 B 0.18 0.1 (outine names fr) 279.76 573.33 B 0.18 0.1 (om the table, and r) 350.67 573.33 B 0.18 0.1 (eplace) 436.14 573.33 B 0 F 0.18 0.1 (NativeT) 467.46 573.33 B 0.18 0.1 (ype) 500.57 573.33 B 1 F 0.18 0.1 ( with the) 514.76 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (corr) 198 561.33 B 0.52 0.1 (esponding native type for that r) 216.02 561.33 B 0.52 0.1 (outine.) 361.94 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 319 S 0.09 (ARAMETERS:) 202.92 319 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 303.33 P 1.22 0.1 (:) 216 303.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 303.33 B 0.52 0.1 (.) 335.41 303.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 283.33 P 1.22 0.1 (:) 216 283.33 B 1 F 0.52 0.1 ( a Java object \050must not be) 222.1 283.33 B 5 F 1.2 (NULL) 346.39 283.33 P 1 F 0.52 0.1 (\051.) 370.39 283.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (fieldID) 198 263.33 P 1.22 0.1 (:) 240 263.33 B 1 F 0.52 0.1 ( a valid \336eld ID.) 246.1 263.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (value) 198 243.33 P 1.22 0.1 (:) 228 243.33 B 1 F 0.52 0.1 ( the new value of the \336eld.) 234.1 243.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 520 S 0.09 (able) 202.59 520 S 0.09 (4-) 219.46 520 S 0.09 (2) 227.13 520 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (SetField Family of Accessor Routines) 241.2 520 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (SetField Routine) 198 499 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 342 499 B 0.47 0.09 (ype) 378.13 499 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (SetObjectField\050\051) 198 482 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jobject) 342 482 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.09 (S) 198 465 S 5 F (etBooleanField\050\051) 202.82 465 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 342 465 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetByteField\050\051) 198 448 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 342 448 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetCharField\050\051) 198 431 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 342 431 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetShortField\050\051) 198 414 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshort) 342 414 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetIntField\050\051) 198 397 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 342 397 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetLongField\050\051) 198 380 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 342 380 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetFloatField\050\051) 198 363 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloat) 342 363 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetDoubleField\050\051) 198 346 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 342 346 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 511 432 511 2 L V 0 Z N 198 494 432 494 2 L V 0.5 H N 198 341 432 341 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.46/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "46" 56 %%Page: "47" 57 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (47) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q 0 X 0 0 0 1 0 0 0 K -0.94 (Calling Instance Methods) 54 638 P 0 0 0 1 0 0 0 K 54 782/G8.16656 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetMethodID) 160.49 603.67 T 0 0 0 1 0 0 0 K 54 748/G8.16660 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jmethodID GetMethodID\050JNIEnv *env, jclass clazz,) 198 582.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const char *name, const char *sig\051;) 198 570.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns the method ID for an instance \050nonstatic\051 method of a class or) 198 550.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (interface. The method may be de\336ned in one of the) 198 538.33 B 5 F 1.2 (clazz) 435.84 538.33 P 1 F 0.52 0.1 (\325s super) 465.84 538.33 B 0.52 0.1 (classes and) 501.52 538.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (inherited by) 198 526.33 B 5 F 1.2 (clazz) 256.79 526.33 P 1 F 0.52 0.1 (. The method is determined by its name and signatur) 286.79 526.33 B 0.52 0.1 (e.) 530.55 526.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (GetMethodID\050\051) 198 506.33 P 1 F 0.52 0.1 ( causes an uninitialized class to be initialized.) 276 506.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.42 0.1 (T) 198 486.33 B 0.42 0.1 (o obtain the method ID of a constr) 203.31 486.33 B 0.42 0.1 (uctor) 360.7 486.33 B 0.42 0.1 (, supply) 383.6 486.33 B 5 F 0.96 () 423.59 486.33 P 1 F 0.42 0.1 ( as the method name) 459.59 486.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (and) 198 474.33 B 5 F 1.2 (void) 218.35 474.33 P 1 F 0.52 0.1 ( \050) 242.35 474.33 B 5 F 1.2 (V) 248.9 474.33 P 1 F 0.52 0.1 (\051 as the r) 254.9 474.33 B 0.52 0.1 (eturn type.) 295.17 474.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 449 S 0.09 (ARAMETERS:) 202.92 449 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 433.33 P 1.22 0.1 (:) 216 433.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 433.33 B 0.52 0.1 (.) 335.41 433.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 413.33 P 1.22 0.1 (:) 228 413.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 413.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (name) 198 393.33 P 1.22 0.1 (:) 222 393.33 B 1 F 0.52 0.1 ( the method name in a 0-terminated UTF-8 string.) 228.1 393.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (sig) 198 373.33 P 1.22 0.1 (:) 216 373.33 B 1 F 0.52 0.1 ( the method signatur) 222.1 373.33 B 0.52 0.1 (e in 0-terminated UTF-8 string.) 317.89 373.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 348 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a method ID, or) 198 332.33 B 5 F 1.2 (NULL) 312.56 332.33 P 1 F 0.52 0.1 ( if the speci\336ed method cannot be found.) 336.56 332.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 307 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (NoSuchMethodError) 198 291.33 P 1.22 0.1 (:) 300 291.33 B 1 F 0.52 0.1 ( if the speci\336ed method cannot be found.) 306.1 291.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (ExceptionInInitializerError) 198 271.33 P 1.22 0.1 (:) 360 271.33 B 1 F 0.52 0.1 ( if the class initializer fails due to an) 366.1 271.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (exception.) 198 259.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (OutOfMemoryError) 198 239.33 P 1.22 0.1 (:) 294 239.33 B 1 F 0.52 0.1 ( if the system r) 300.1 239.33 B 0.52 0.1 (uns out of memory) 368.68 239.33 B 0.52 0.1 (.) 455.38 239.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.47/DEST FmPD2 54 792/M8.9.13986.Head1.Calling.Instance.Methods FmPA 54 792/I8.1.3558 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "47" 57 %%Page: "48" 58 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (48) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K 0.7 (CallMethod Routines) 160.49 638.67 P 0 0 0 1 0 0 0 K 54 783/G8.4256 FmPA 0 0 0 1 0 0 0 K 0.7 (CallMethodA Routines) 160.49 622.67 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.7 (CallMethodV Routines) 160.49 606.67 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (NativeT) 198 585.33 B 0.52 0.1 (ype) 231.11 585.33 B 0.52 0.1 (CallMethod) 252.5 585.33 B 5 F 1.2 (\050JNIEnv *env, jobject obj,) 331.21 585.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, ...\051;) 198 573.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (NativeT) 198 553.33 B 0.52 0.1 (ype) 231.11 553.33 B 0.52 0.1 (CallMethodA) 252.5 553.33 B 5 F 1.2 (\050JNIEnv *env, jobject obj,) 338.53 553.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, jvalue *args\051;) 198 541.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (NativeT) 198 521.33 B 0.52 0.1 (ype) 231.11 521.33 B 0.52 0.1 (CallMethodV) 252.5 521.33 B 5 F 1.2 (\050JNIEnv *env, jobject obj,) 338.53 521.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, va_list args\051;) 198 509.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.1 0.1 (Methods fr) 198 489.33 B 0.1 0.1 (om these thr) 247.84 489.33 B 0.1 0.1 (ee families of operations ar) 304.29 489.33 B 0.1 0.1 (e used to call a Java instance) 426.47 489.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.38 0.1 (method fr) 198 477.33 B 0.38 0.1 (om a native method.They only dif) 243.15 477.33 B 0.38 0.1 (fer in their mechanism for passing) 398.48 477.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (parameters to the methods that they call.) 198 465.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (These families of operations invoke an instance \050nonstatic\051 method on a Java) 198 445.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 0.1 (object, accor) 198 433.33 B 0.09 0.1 (ding to the speci\336ed method ID. The) 253.32 433.33 B 5 F 0.21 (methodID) 422 433.33 P 1 F 0.09 0.1 ( ar) 470 433.33 B 0.09 0.1 (gument must be) 481.66 433.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (obtained by calling) 198 421.33 B 5 F 1.2 (GetMethodID) 288.58 421.33 P 5 9 Q 1.08 (\050\051) 354.58 421.33 P 1 10 Q 0.52 0.1 (.) 365.38 421.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (When these functions ar) 198 401.33 B 0.52 0.1 (e used to call private methods and constr) 308.77 401.33 B 0.52 0.1 (uctors, the) 498.05 401.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (method ID must be derived fr) 198 389.33 B 0.52 0.1 (om the r) 335.37 389.33 B 0.52 0.1 (eal class of) 374.14 389.33 B 5 F 1.2 (obj) 426.82 389.33 P 1 F 0.52 0.1 (, not fr) 444.82 389.33 B 0.52 0.1 (om one of its) 475.8 389.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (super) 198 377.33 S 0.1 (classes.) 223.34 377.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallMethod Routines) 198 348.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Pr) 198 332.33 B 0.52 0.1 (ogrammers place all ar) 208.01 332.33 B 0.52 0.1 (guments that ar) 312.62 332.33 B 0.52 0.1 (e to be passed to the method) 384.8 332.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.19 0.1 (immediately following the) 198 320.33 B 5 F 0.43 (methodID) 321.12 320.33 P 1 F 0.19 0.1 ( ar) 369.12 320.33 B 0.19 0.1 (gument. The) 380.88 320.33 B 0 F 0.19 0.1 (CallMethod) 440.98 320.33 B 1 F 0.19 0.1 ( r) 519.69 320.33 B 0.19 0.1 (outine) 526.34 320.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (accepts these ar) 198 308.33 B 0.52 0.1 (guments and passes them to the Java method that the) 269.49 308.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (pr) 198 296.33 B 0.52 0.1 (ogrammer wishes to invoke.) 207.98 296.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallMethodA Routines) 198 267.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.37 0.1 (Pr) 198 251.33 B 0.37 0.1 (ogrammers place all ar) 208.01 251.33 B 0.37 0.1 (guments to the method in an) 312.18 251.33 B 5 F 0.86 (args) 447.16 251.33 P 1 F 0.37 0.1 ( array of) 471.16 251.33 B 5 F 0.86 (jvalues) 513.03 251.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (that immediately follows the) 198 239.33 B 5 F 1.2 (methodID) 332.74 239.33 P 1 F 0.52 0.1 ( ar) 380.74 239.33 B 0.52 0.1 (gument. The) 392.83 239.33 B 0 F 0.52 0.1 (CallMethodA) 453.6 239.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (r) 198 227.33 B 0.52 0.1 (outine accepts the ar) 201.87 227.33 B 0.52 0.1 (guments in this array) 296.12 227.33 B 0.52 0.1 (, and, in turn, passes them to the) 393.12 227.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Java method that the pr) 198 215.33 B 0.52 0.1 (ogrammer wishes to invoke.) 306.62 215.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallMethodV Routines) 198 186.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Pr) 198 170.33 B 0.52 0.1 (ogrammers place all ar) 208.01 170.33 B 0.52 0.1 (guments to the method in an) 312.62 170.33 B 5 F 1.2 (args) 448.48 170.33 P 1 F 0.52 0.1 ( ar) 472.48 170.33 B 0.52 0.1 (gument of type) 484.57 170.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (va_list) 198 158.33 P 1 F 0.52 0.1 ( that immediately follows the) 240 158.33 B 5 F 1.2 (methodID) 377.86 158.33 P 1 F 0.52 0.1 ( ar) 425.86 158.33 B 0.52 0.1 (gument. The) 437.95 158.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.48/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "48" 58 %%Page: "49" 59 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (49) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0 X 0 0 0 1 0 0 0 K 0.26 0.1 (CallMethodV) 198 641.33 B 1 F 0.26 0.1 (r) 286.89 641.33 B 0.26 0.1 (outine accepts the ar) 290.76 641.33 B 0.26 0.1 (guments, and, in turn, passes them to) 384.21 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the Java method that the pr) 198 629.33 B 0.52 0.1 (ogrammer wishes to invoke.) 323.91 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.43 0.1 (The following table describes each of the method calling r) 198 609.33 B 0.43 0.1 (outines accor) 462.38 609.33 B 0.43 0.1 (ding to) 522.22 609.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (their r) 198 597.33 B 0.52 0.1 (esult type. Y) 226.22 597.33 B 0.52 0.1 (ou should r) 282.66 597.33 B 0.52 0.1 (eplace) 335.63 597.33 B 0 F 0.52 0.1 (type) 367.29 597.33 B 1 F 0.52 0.1 ( in) 384.91 597.33 B 0 F 0.52 0.1 (CallMethod) 400.08 597.33 B 1 F 0.52 0.1 (with the Java) 481.91 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (type of the method you ar) 198 585.33 B 0.52 0.1 (e calling \050or use one of the actual method calling) 317.97 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (r) 198 573.33 B 0.52 0.1 (outine names fr) 201.87 573.33 B 0.52 0.1 (om the table\051 and r) 273.46 573.33 B 0.52 0.1 (eplace) 361.12 573.33 B 0 F 0.52 0.1 (NativeT) 392.78 573.33 B 0.52 0.1 (ype) 425.89 573.33 B 1 F 0.52 0.1 ( with the corr) 440.08 573.33 B 0.52 0.1 (esponding) 502.36 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (native type for that r) 198 561.33 B 0.52 0.1 (outine.) 293.18 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 520 S 0.09 (able) 202.59 520 S 0.09 (4-) 219.46 520 S 0.09 (3) 227.13 520 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (Instance Method Calling Routines) 241.2 520 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (CallMethod Routine Name) 198 499 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 360 499 B 0.47 0.09 (ype) 396.13 499 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (CallVoidMethod\050\051) 198 482 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallVoidMethodA\050\051) 198 470.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallVoidMethodV\050\051) 198 459.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (void) 360 482 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallObjectMethod\050\051) 198 442.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallObjectMethodA\050\051) 198 430.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallObjectMethodV\050\051) 198 419.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jobject) 360 442.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallBooleanMethod\050\051) 198 402.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallBooleanMethodA\050\051) 198 391 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallBooleanMethodV\050\051) 198 379.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 360 402.4 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallByteMethod\050\051) 198 362.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallByteMethodA\050\051) 198 351.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallByteMethodV\050\051) 198 339.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 360 362.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallCharMethod\050\051) 198 322.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallCharMethodA\050\051) 198 311.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallCharMethodV\050\051) 198 300 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 360 322.8 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallShortMethod\050\051) 198 283 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallShortMethodA\050\051) 198 271.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallShortMethodV\050\051) 198 260.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshort) 360 283 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallIntMethod\050\051) 198 243.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallIntMethodA\050\051) 198 231.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallIntMethodV\050\051) 198 220.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 360 243.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 511 450 511 2 L V 0 Z N 198 494 450 494 2 L V 0.5 H N 198 215.4 450 215.4 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.49/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "49" 59 %%Page: "50" 60 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (50) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 476.6 S 0.09 (ARAMETERS:) 202.92 476.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 460.93 P 1.22 0.1 (:) 216 460.93 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 460.93 B 0.52 0.1 (.) 335.41 460.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 440.93 P 1.22 0.1 (:) 216 440.93 B 1 F 0.52 0.1 ( a Java object.) 222.1 440.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (methodID) 198 420.93 P 1.22 0.1 (:) 246 420.93 B 1 F 0.52 0.1 ( a method ID.) 252.1 420.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallMethod Routines:) 198 395.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (ar) 198 379.93 B 0.52 0.1 (guments to the Java method.) 206.97 379.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallMethodA Routines:) 198 354.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (args) 198 338.93 P 1.22 0.1 (:) 222 338.93 B 1 F 0.52 0.1 ( an array of ar) 228.1 338.93 B 0.52 0.1 (guments.) 293.52 338.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallMethodV Routines:) 198 313.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (args) 198 297.93 P 1.22 0.1 (:) 222 297.93 B 1 F 0.52 0.1 ( a) 228.1 297.93 B 5 F 1.22 0.1 (va_list) 239.44 297.93 B 1 F 0.52 0.1 ( of ar) 282.14 297.93 B 0.52 0.1 (guments.) 306.34 297.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 272.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the r) 198 256.93 B 0.52 0.1 (esult of calling the Java method.) 257.75 256.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 231.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.5 (Exceptions raised during the execution of the Java method.) 198 215.93 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallLongMethod\050\051) 198 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallLongMethodA\050\051) 198 592.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallLongMethodV\050\051) 198 581.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 360 604 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallFloatMethod\050\051) 198 564.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallFloatMethodA\050\051) 198 552.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallFloatMethodV\050\051) 198 541.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloat) 360 564.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallDoubleMethod\050\051) 198 524.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallDoubleMethodA\050\051) 198 513 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallDoubleMethodV\050\051) 198 501.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 360 524.4 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (T) 198 642 S 0.09 (able) 202.59 642 S 0.09 (4-) 219.46 642 S 0.09 (3) 227.13 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (Instance Method Calling Routines) 241.2 642 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (CallMethod Routine Name) 198 621 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 360 621 B 0.47 0.09 (ype) 396.13 621 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 633 450 633 2 L V 0 Z N 198 616 450 616 2 L V 0.5 H N 198 496.6 450 496.6 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.50/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "50" 60 %%Page: "51" 61 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (51) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K 0.7 (CallNonvirtualMethod Routines) 160.49 638.67 P 0 0 0 1 0 0 0 K 54 783/G8.4581 FmPA 0 0 0 1 0 0 0 K 0.7 (CallNonvirtualMethodA Routines) 160.49 622.67 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.7 (CallNonvirtualMethodV Routines) 160.49 606.67 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (NativeT) 198 585.33 B 0.52 0.1 (ype) 231.11 585.33 B 0.52 0.1 (CallNonvirtualMethod) 252.5 585.33 B 5 F 1.2 (\050JNIEnv *env, jobject obj,) 377.77 585.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jclass clazz, jmethodID methodID, ...\051;) 198 573.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (NativeT) 198 553.33 B 0.52 0.1 (ype) 231.11 553.33 B 0.52 0.1 (CallNonvirtualMethodA) 252.5 553.33 B 5 F 1.2 (\050JNIEnv *env, jobject obj,) 385.09 553.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jclass clazz, jmethodID methodID, jvalue *args\051;) 198 541.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (NativeT) 198 521.33 B 0.52 0.1 (ype) 231.11 521.33 B 0.52 0.1 (CallNonvirtualMethodV) 252.5 521.33 B 5 F 1.2 (\050JNIEnv *env, jobject obj,) 385.09 521.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jclass clazz, jmethodID methodID, va_list args\051;) 198 509.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (These families of operations invoke an instance \050nonstatic\051 method on a Java) 198 489.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (object, accor) 198 477.33 B 0.52 0.1 (ding to the speci\336ed class and method ID. The) 253.75 477.33 B 5 F 1.2 (methodID) 470.24 477.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (ar) 198 465.33 B 0.52 0.1 (gument must be obtained by calling) 206.97 465.33 B 5 F 1.2 (GetMethodID) 375.08 465.33 P 5 9 Q 1.08 (\050\051) 441.08 465.33 P 1 10 Q 0.52 0.1 ( on the class) 451.88 465.33 B 5 F 1.2 (clazz) 511.34 465.33 P 1 F 0.52 0.1 (.) 541.34 465.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The) 198 445.33 B 0 F 0.52 0.1 (CallNonvirtualMethod) 218.16 445.33 B 1 F 0.52 0.1 ( families of r) 343.43 445.33 B 0.52 0.1 (outines and the) 401.37 445.33 B 0 F 0.52 0.1 (CallMethod) 475.34 445.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.13 0.1 (families of r) 198 433.33 B 0.13 0.1 (outines ar) 252.04 433.33 B 0.13 0.1 (e dif) 296.95 433.33 B 0.13 0.1 (fer) 317.04 433.33 B 0.13 0.1 (ent.) 329.23 433.33 B 0 F 0.13 0.1 (CallMethod) 348.73 433.33 B 1 F 0.13 0.1 ( r) 427.44 433.33 B 0.13 0.1 (outines invoke the method) 434.04 433.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (based on the class of the object, while) 198 421.33 B 0 F 0.52 0.1 (CallNonvirtualMethod) 373.56 421.33 B 1 F 0.52 0.1 ( r) 498.83 421.33 B 0.52 0.1 (outines) 505.82 421.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (invoke the method based on the class, designated by the) 198 409.33 B 5 F 1.2 (clazz) 459.83 409.33 P 1 F 0.52 0.1 ( parameter) 489.83 409.33 B 0.52 0.1 (,) 538.69 409.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.43 0.1 (fr) 198 397.33 B 0.43 0.1 (om which the method ID is obtained. The method ID must be obtained fr) 205.3 397.33 B 0.43 0.1 (om) 540.48 397.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the r) 198 385.33 B 0.52 0.1 (eal class of the object or fr) 219.16 385.33 B 0.52 0.1 (om one of its super) 338.7 385.33 B 0.52 0.1 (classes.) 427.08 385.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallNonvirtualMethod Routines) 198 356.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Pr) 198 340.33 B 0.52 0.1 (ogrammers place all ar) 208.01 340.33 B 0.52 0.1 (guments that ar) 312.62 340.33 B 0.52 0.1 (e to be passed to the method) 384.8 340.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (immediately following the) 198 328.33 B 5 F 1.2 (methodID) 322.13 328.33 P 1 F 0.52 0.1 ( ar) 370.13 328.33 B 0.52 0.1 (gument. The) 382.22 328.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (CallNonvirtualMethod) 198 316.33 B 1 F 0.52 0.1 ( r) 323.27 316.33 B 0.52 0.1 (outine accepts these ar) 330.26 316.33 B 0.52 0.1 (guments and passes them) 433.74 316.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (to the Java method that the pr) 198 304.33 B 0.52 0.1 (ogrammer wishes to invoke.) 335.95 304.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallNonvirtualMethodA Routines) 198 275.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.37 0.1 (Pr) 198 259.33 B 0.37 0.1 (ogrammers place all ar) 208.01 259.33 B 0.37 0.1 (guments to the method in an) 312.18 259.33 B 5 F 0.86 (args) 447.16 259.33 P 1 F 0.37 0.1 ( array of) 471.16 259.33 B 5 F 0.86 (jvalues) 513.03 259.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (that immediately follows the) 198 247.33 B 5 F 1.2 (methodID) 332.74 247.33 P 1 F 0.52 0.1 ( ar) 380.74 247.33 B 0.52 0.1 (gument. The) 392.83 247.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (CallNonvirtualMethodA) 198 235.33 B 1 F 0.52 0.1 ( r) 330.59 235.33 B 0.52 0.1 (outine accepts the ar) 337.58 235.33 B 0.52 0.1 (guments in this array) 431.83 235.33 B 0.52 0.1 (, and,) 528.83 235.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.26 0.1 (in turn, passes them to the Java method that the pr) 198 223.33 B 0.26 0.1 (ogrammer wishes to invoke.) 429.01 223.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallNonvirtualMethodV Routines) 198 194.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Pr) 198 178.33 B 0.52 0.1 (ogrammers place all ar) 208.01 178.33 B 0.52 0.1 (guments to the method in an) 312.62 178.33 B 5 F 1.2 (args) 448.48 178.33 P 1 F 0.52 0.1 ( ar) 472.48 178.33 B 0.52 0.1 (gument of type) 484.57 178.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (va_list) 198 166.33 P 1 F 0.52 0.1 ( that immediately follows the) 240 166.33 B 5 F 1.2 (methodID) 377.86 166.33 P 1 F 0.52 0.1 ( ar) 425.86 166.33 B 0.52 0.1 (gument. The) 437.95 166.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.51/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "51" 61 %%Page: "52" 62 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (52) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (CallNonvirtualMethodV) 198 641.33 B 1 F 0.52 0.1 ( r) 300.65 641.33 B 0.52 0.1 (outine accepts the ar) 307.64 641.33 B 0.52 0.1 (guments, and, in turn, passes) 401.89 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (them to the Java method that the pr) 198 629.33 B 0.52 0.1 (ogrammer wishes to invoke.) 362.17 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.43 0.1 (The following table describes each of the method calling r) 198 609.33 B 0.43 0.1 (outines accor) 462.38 609.33 B 0.43 0.1 (ding to) 522.22 609.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (their r) 198 597.33 B 0.52 0.1 (esult type. Y) 226.22 597.33 B 0.52 0.1 (ou should r) 282.66 597.33 B 0.52 0.1 (eplace) 335.63 597.33 B 0 F 0.52 0.1 (type) 367.29 597.33 B 1 F 0.52 0.1 ( in) 384.91 597.33 B 0 F 0.52 0.1 (CallNonvirtualMethod) 400.08 597.33 B 1 F 0.52 0.1 (with) 528.47 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the Java type of the method, or use one of the actual method calling r) 198 585.33 B 0.52 0.1 (outine) 516.6 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (names fr) 198 573.33 B 0.52 0.1 (om the table, and r) 237.6 573.33 B 0.52 0.1 (eplace) 324.43 573.33 B 0 F 0.52 0.1 (NativeT) 356.09 573.33 B 0.52 0.1 (ype) 389.2 573.33 B 1 F 0.52 0.1 ( with the corr) 403.39 573.33 B 0.52 0.1 (esponding native) 465.67 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (type for that r) 198 561.33 B 0.52 0.1 (outine.) 262.03 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 520 S 0.09 (able) 202.59 520 S 0.09 (4-) 219.46 520 S 0.09 (4) 227.13 520 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (CallNonvirtualMethod Routines) 241.2 520 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (CallNonvirtualMethod Routine Name) 198 499 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 414 499 B 0.47 0.09 (ype) 450.13 499 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (CallNonvirtualVoidMethod\050\051) 198 482 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualVoidMethodA\050\051) 198 470.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualVoidMethodV\050\051) 198 459.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (void) 414 482 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualObjectMethod\050\051) 198 442.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualObjectMethodA\050\051) 198 430.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualObjectMethodV\050\051) 198 419.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jobject) 414 442.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualBooleanMethod\050\051) 198 402.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualBooleanMethodA\050\051) 198 391 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualBooleanMethodV\050\051) 198 379.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 414 402.4 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualByteMethod\050\051) 198 362.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualByteMethodA\050\051) 198 351.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualByteMethodV\050\051) 198 339.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 414 362.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualCharMethod\050\051) 198 322.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualCharMethodA\050\051) 198 311.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualCharMethodV\050\051) 198 300 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 414 322.8 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualShortMethod\050\051) 198 283 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualShortMethodA\050\051) 198 271.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualShortMethodV\050\051) 198 260.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshort) 414 283 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualIntMethod\050\051) 198 243.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualIntMethodA\050\051) 198 231.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualIntMethodV\050\051) 198 220.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 414 243.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 511 504 511 2 L V 0 Z N 198 494 504 494 2 L V 0.5 H N 198 215.4 504 215.4 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.52/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "52" 62 %%Page: "53" 63 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (53) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 476.6 S 0.09 (ARAMETERS:) 202.92 476.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 460.93 P 1.22 0.1 (:) 216 460.93 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 460.93 B 0.52 0.1 (.) 335.41 460.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz:) 198 440.93 P 1 F 0.5 ( a) 234 440.93 P 0.52 0.1 ( Java class.) 242 440.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 420.93 P 1.22 0.1 (:) 216 420.93 B 1 F 0.52 0.1 ( a Java object.) 222.1 420.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (methodID) 198 400.93 P 1.22 0.1 (:) 246 400.93 B 1 F 0.52 0.1 ( a method ID.) 252.1 400.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallNonvirtualMethod Routines:) 198 375.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (ar) 198 359.93 B 0.52 0.1 (guments to the Java method.) 206.97 359.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallNonvirtualMethodA Routines:) 198 334.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (args) 198 318.93 P 1.22 0.1 (:) 222 318.93 B 1 F 0.52 0.1 ( an array of ar) 228.1 318.93 B 0.52 0.1 (guments.) 293.52 318.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallNonvirtualMethodV Routines:) 198 293.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (args) 198 277.93 P 1.22 0.1 (:) 222 277.93 B 1 F 0.52 0.1 ( a) 228.1 277.93 B 5 F 1.2 (va_list) 239.44 277.93 P 1 F 0.52 0.1 ( of ar) 281.44 277.93 B 0.52 0.1 (guments.) 305.64 277.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 252.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q -0.65 0.1 (Returns the r) 198 228.93 B -0.65 0.1 (esult of calling the Java method.) 255.41 228.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 207.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.5 (Exceptions raised during the execution of the Java method.) 198 191.93 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallNonvirtualLongMethod\050\051) 198 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualLongMethodA\050\051) 198 592.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualLongMethodV\050\051) 198 581.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 414 604 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualFloatMethod\050\051) 198 564.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualFloatMethodA\050\051) 198 552.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualFloatMethodV\050\051) 198 541.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloat) 414 564.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualDoubleMethod\050\051) 198 524.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualDoubleMethodA\050\051) 198 513 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallNonvirtualDoubleMethodV\050\051) 198 501.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 414 524.4 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (T) 198 642 S 0.09 (able) 202.59 642 S 0.09 (4-) 219.46 642 S 0.09 (4) 227.13 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (CallNonvirtualMethod Routines) 241.2 642 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (CallNonvirtualMethod Routine Name) 198 621 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 414 621 B 0.47 0.09 (ype) 450.13 621 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 633 504 633 2 L V 0 Z N 198 616 504 616 2 L V 0.5 H N 198 496.6 504 496.6 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.53/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "53" 63 %%Page: "54" 64 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (54) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q 0 X 0 0 0 1 0 0 0 K -0.94 (Accessing Static Fields) 54 638 P 0 0 0 1 0 0 0 K 54 782/G8.5901 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetStaticFieldID) 160.49 603.67 T 0 0 0 1 0 0 0 K 54 748/G8.16823 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jfieldID GetStaticFieldID\050JNIEnv *env, jclass clazz,) 198 582.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const char *name, const char *sig\051;) 198 570.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F -0.01 0.1 (Returns the \336eld ID for a static \336eld of a class. The \336eld is speci\336ed by its name) 198 550.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (and signatur) 198 538.33 B 0.52 0.1 (e. The) 255.74 538.33 B 0 F 0.52 0.1 (GetStaticField) 286.51 538.33 B 1 F 0.52 0.1 ( and) 375.81 538.33 B 0 F 0.52 0.1 (SetStaticField) 399.28 538.33 B 1 F 0.52 0.1 ( families of) 486.92 538.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (accessor functions use \336eld IDs to r) 198 526.33 B 0.52 0.1 (etrieve static \336elds.) 360.35 526.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (GetStaticFieldID\050\051) 198 506.33 P 1 F 0.52 0.1 ( causes an uninitialized class to be initialized.) 306 506.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 481 S 0.09 (ARAMETERS:) 202.92 481 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 465.33 P 1.22 0.1 (:) 216 465.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 465.33 B 0.52 0.1 (.) 335.41 465.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 445.33 P 1.22 0.1 (:) 228 445.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 445.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (name) 198 425.33 P 1.22 0.1 (:) 222 425.33 B 1 F 0.52 0.1 ( the static \336eld name in a 0-terminated UTF-8 string.) 228.1 425.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (sig) 198 405.33 P 1.22 0.1 (:) 216 405.33 B 1 F 0.52 0.1 ( the \336eld signatur) 222.1 405.33 B 0.52 0.1 (e in a 0-terminated UTF-8 string.) 303.28 405.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 380 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a \336eld ID, or) 198 364.33 B 5 F 1.2 (NULL) 297.95 364.33 P 1 F 0.52 0.1 ( if the speci\336ed static \336eld cannot be found.) 321.95 364.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 339 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (NoSuchFieldError) 198 323.33 P 1.22 0.1 (:) 294 323.33 B 1 F 0.52 0.1 ( if the speci\336ed static \336eld cannot be found.) 300.1 323.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (ExceptionInInitializerError) 198 303.33 P 1.22 0.1 (:) 360 303.33 B 1 F 0.52 0.1 ( if the class initializer fails due to an) 366.1 303.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (exception.) 198 291.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (OutOfMemoryError) 198 271.33 P 1.22 0.1 (:) 294 271.33 B 1 F 0.52 0.1 ( if the system r) 300.1 271.33 B 0.52 0.1 (uns out of memory) 368.68 271.33 B 0.52 0.1 (.) 455.38 271.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (GetStaticField Routines) 160.49 238.67 P 0 0 0 1 0 0 0 K 54 383/G8.20752 FmPA 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (NativeT) 198 217.33 B 0.52 0.1 (ype) 231.11 217.33 B 0.52 0.1 (GetStaticField) 252.5 217.33 B 5 F 1.2 (\050JNIEnv *env, jclass clazz,) 341.8 217.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jfieldID fieldID\051;) 198 205.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (This family of accessor r) 198 185.33 B 0.52 0.1 (outines r) 309.34 185.33 B 0.52 0.1 (eturns the value of a static \336eld of an object.) 349.54 185.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The \336eld to access is speci\336ed by a \336eld ID, which is obtained by calling) 198 173.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetStaticFieldID\050\051) 198 161.33 T 1 F 0.1 (.) 306 161.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.54/DEST FmPD2 54 792/M8.9.39382.Head1.Accessing.Static.Fields FmPA 54 792/I8.1.5900 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "54" 64 %%Page: "55" 65 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (55) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.29 0.1 (The following table describes the family of get r) 198 641.33 B 0.29 0.1 (outine names and r) 415.72 641.33 B 0.29 0.1 (esult types.) 503.53 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Y) 198 629.33 B 0.52 0.1 (ou should r) 203.85 629.33 B 0.52 0.1 (eplace) 256.82 629.33 B 0 F 0.52 0.1 (type) 288.48 629.33 B 1 F 0.52 0.1 ( in) 306.1 629.33 B 0 F 0.52 0.1 (GetStaticField) 321.27 629.33 B 1 F 0.52 0.1 (with the Java type of the \336eld,) 413.69 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (or one of the actual static \336eld accessor r) 198 617.33 B 0.52 0.1 (outine names fr) 384.54 617.33 B 0.52 0.1 (om the table, and) 456.13 617.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (r) 198 605.33 B 0.52 0.1 (eplace) 201.87 605.33 B 0 F 0.52 0.1 (NativeT) 233.53 605.33 B 0.52 0.1 (ype) 266.64 605.33 B 1 F 0.52 0.1 ( with the corr) 280.83 605.33 B 0.52 0.1 (esponding native type for that r) 343.11 605.33 B 0.52 0.1 (outine.) 489.03 605.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 363 S 0.09 (ARAMETERS:) 202.92 363 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 347.33 P 1.22 0.1 (:) 216 347.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 347.33 B 0.52 0.1 (.) 335.41 347.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 327.33 P 1.22 0.1 (:) 228 327.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 327.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (fieldID) 198 307.33 P 1.22 0.1 (:) 240 307.33 B 1 F 0.52 0.1 ( a static \336eld ID.) 246.1 307.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 282 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the content of the static \336eld.) 198 266.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (SetStaticField Routines) 160.49 233.67 P 0 0 0 1 0 0 0 K 54 378/G8.20829 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void) 198 212.33 P 0 F 0.52 0.1 (SetStaticField) 229.2 212.33 B 5 F 1.2 (\050JNIEnv *env, jclass clazz,) 316.84 212.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jfieldID fieldID,) 198 200.33 P 0 F 0.52 0.1 (NativeT) 344.4 200.33 B 0.52 0.1 (ype) 377.51 200.33 B 5 F 1.2 ( value\051;) 391.7 200.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.38 0.1 (This family of accessor r) 198 180.33 B 0.38 0.1 (outines sets the value of a static \336eld of an object. The) 308.79 180.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (\336eld to access is speci\336ed by a \336eld ID, which is obtained by calling) 198 168.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetStaticFieldID\050\051) 198 156.33 T 1 F 0.1 (.) 306 156.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 564 S 0.09 (able) 202.59 564 S 0.09 (4-) 219.46 564 S 0.09 (5) 227.13 564 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (GetStaticField Family of Accessor Routines) 241.2 564 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (GetStaticField Routine Name) 198 543 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 367.2 543 B 0.47 0.09 (ype) 403.33 543 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetStaticObjectField) 198 526 T 5 10 Q (\050\051) 306 526 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jobject) 367.2 526 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetStaticBooleanField) 198 509 T 5 10 Q (\050\051) 311.4 509 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jboolean) 367.2 509 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetStaticByteField) 198 492 T 5 10 Q (\050\051) 295.2 492 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jbyte) 367.2 492 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetStaticCharField) 198 475 T 5 10 Q (\050\051) 295.2 475 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jchar) 367.2 475 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetStaticShortField) 198 458 T 5 10 Q (\050\051) 300.6 458 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jshort) 367.2 458 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetStaticIntField) 198 441 T 5 10 Q (\050\051) 289.8 441 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jint) 367.2 441 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetStaticLongField) 198 424 T 5 10 Q (\050\051) 295.2 424 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jlong) 367.2 424 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetStaticFloatField) 198 407 T 5 10 Q (\050\051) 300.6 407 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jfloat) 367.2 407 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetStaticDoubleField) 198 390 T 5 10 Q (\050\051) 306 390 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jdouble) 367.2 390 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 555 457.2 555 2 L V 0 Z N 198 538 457.2 538 2 L V 0.5 H N 198 385 457.2 385 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.55/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "55" 65 %%Page: "56" 66 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (56) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K -0.03 0.1 (The following table describes the set r) 198 641.33 B -0.03 0.1 (outine name and value types. Y) 368.55 641.33 B -0.03 0.1 (ou should) 510.01 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.32 0.1 (r) 198 629.33 B 0.32 0.1 (eplace) 201.87 629.33 B 0 F 0.32 0.1 (type) 233.33 629.33 B 1 F 0.32 0.1 ( in) 250.95 629.33 B 0 F 0.32 0.1 (SetStaticField) 265.73 629.33 B 1 F 0.32 0.1 (with the Java type of the \336eld, or one of the) 356.29 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.17 0.1 (actual set static \336eld r) 198 617.33 B 0.17 0.1 (outine names fr) 296.73 617.33 B 0.17 0.1 (om the table, and r) 367.62 617.33 B 0.17 0.1 (eplace) 453.03 617.33 B 0 F 0.17 0.1 (NativeT) 484.34 617.33 B 0.17 0.1 (ype) 517.45 617.33 B 1 F 0.17 0.1 ( with) 531.64 617.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the corr) 198 605.33 B 0.52 0.1 (esponding native type for that r) 233.31 605.33 B 0.52 0.1 (outine.) 379.23 605.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 383 S 0.09 (ARAMETERS:) 202.92 383 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 367.33 P 1.22 0.1 (:) 216 367.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 367.33 B 0.52 0.1 (.) 335.41 367.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 347.33 P 1.22 0.1 (:) 228 347.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 347.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (fieldID) 198 327.33 P 1.22 0.1 (:) 240 327.33 B 1 F 0.52 0.1 ( a static \336eld ID.) 246.1 327.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (value) 198 307.33 P 1.22 0.1 (:) 228 307.33 B 1 F 0.52 0.1 ( the new value of the \336eld.) 234.1 307.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Calling Static Methods) 54 274 P 0 0 0 1 0 0 0 K 54 418/G8.20949 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetStaticMethodID) 160.49 239.67 T 0 0 0 1 0 0 0 K 54 384/G8.20950 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jmethodID GetStaticMethodID\050JNIEnv *env, jclass clazz,) 198 218.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const char *name, const char *sig\051;) 198 206.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns the method ID for a static method of a class. The method is speci\336ed) 198 186.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (by its name and signatur) 198 174.33 B 0.52 0.1 (e.) 311.94 174.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (GetStaticMethodID\050\051) 198 154.33 P 1 F 0.52 0.1 ( causes an uninitialized class to be initialized.) 312 154.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 584 S 0.09 (able) 202.59 584 S 0.09 (4-) 219.46 584 S 0.09 (6) 227.13 584 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (SetStaticField Family of Accessor Routines) 241.2 584 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (SetStaticField Routine Name) 198 563 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (NativeT) 367.2 563 S 0.09 (ype) 400.52 563 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (SetStaticObjectField) 198 546 T 5 10 Q (\050\051) 306 546 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jobject) 367.2 546 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetStaticBooleanField) 198 529 T 5 10 Q (\050\051) 311.4 529 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jboolean) 367.2 529 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetStaticByteField) 198 512 T 5 10 Q (\050\051) 295.2 512 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jbyte) 367.2 512 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetStaticCharField) 198 495 T 5 10 Q (\050\051) 295.2 495 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jchar) 367.2 495 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetStaticShortField) 198 478 T 5 10 Q (\050\051) 300.6 478 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jshort) 367.2 478 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetStaticIntField) 198 461 T 5 10 Q (\050\051) 289.8 461 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jint) 367.2 461 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetStaticLongField) 198 444 T 5 10 Q (\050\051) 295.2 444 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jlong) 367.2 444 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetStaticFloatField) 198 427 T 5 10 Q (\050\051) 300.6 427 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jfloat) 367.2 427 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetStaticDoubleField) 198 410 T 5 10 Q (\050\051) 306 410 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jdouble) 367.2 410 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 575 457.2 575 2 L V 0 Z N 198 558 457.2 558 2 L V 0.5 H N 198 405 457.2 405 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.56/DEST FmPD2 54 428/M8.9.25189.Head1.Calling.Static.Methods FmPA 54 428/I8.1.3566 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "56" 66 %%Page: "57" 67 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (57) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 642 S 0.09 (ARAMETERS:) 202.92 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 626.33 P 1.22 0.1 (:) 216 626.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 626.33 B 0.52 0.1 (.) 335.41 626.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 606.33 P 1.22 0.1 (:) 228 606.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 606.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (name) 198 586.33 P 1.22 0.1 (:) 222 586.33 B 1 F 0.52 0.1 ( the static method name in a 0-terminated UTF-8 string.) 228.1 586.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (sig) 198 566.33 P 1.22 0.1 (:) 216 566.33 B 1 F 0.52 0.1 ( the method signatur) 222.1 566.33 B 0.52 0.1 (e in a 0-terminated UTF-8 string.) 317.89 566.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 541 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a method ID, or) 198 525.33 B 5 F 1.2 (NULL) 312.56 525.33 P 1 F 0.52 0.1 ( if the operation fails.) 336.56 525.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 500 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (NoSuchMethodError) 198 484.33 P 1.22 0.1 (:) 300 484.33 B 1 F 0.52 0.1 ( if the speci\336ed static method cannot be found.) 306.1 484.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (ExceptionInInitializerError) 198 464.33 P 1.22 0.1 (:) 360 464.33 B 1 F 0.52 0.1 ( if the class initializer fails due to an) 366.1 464.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (exception.) 198 452.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (OutOfMemoryError) 198 432.33 P 1.22 0.1 (:) 294 432.33 B 1 F 0.52 0.1 ( if the system r) 300.1 432.33 B 0.52 0.1 (uns out of memory) 368.68 432.33 B 0.52 0.1 (.) 455.38 432.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (CallStaticMethod Routines) 160.49 399.67 P 0 0 0 1 0 0 0 K 54 544/G8.4796 FmPA 0 0 0 1 0 0 0 K 0.7 (CallStaticMethodA Routines) 160.49 383.67 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.7 (CallStaticMethodV Routines) 160.49 367.67 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (NativeT) 198 346.33 B 0.52 0.1 (ype) 231.11 346.33 B 0.52 0.1 (CallStaticMethod) 252.5 346.33 B 5 F 1.2 (\050JNIEnv *env, jclass clazz,) 355.32 346.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, ...\051;) 198 334.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (NativeT) 198 314.33 B 0.52 0.1 (ype) 231.11 314.33 B 0.52 0.1 (CallStaticMethodA) 252.5 314.33 B 5 F 1.2 (\050JNIEnv *env, jclass clazz,) 362.64 314.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, jvalue *args\051;) 198 302.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (NativeT) 198 282.33 B 0.52 0.1 (ype) 231.11 282.33 B 0.52 0.1 (CallStaticMethodV) 252.5 282.33 B 5 F 1.2 (\050JNIEnv *env, jclass clazz,) 362.64 282.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jmethodID methodID, va_list args\051;) 198 270.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.07 0.1 (This family of operations invokes a static method on a Java object, accor) 198 250.33 B 0.07 0.1 (ding to) 522.94 250.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.18 0.1 (the speci\336ed method ID. The) 198 238.33 B 5 F 0.43 (methodID) 332.05 238.33 P 1 F 0.18 0.1 ( ar) 380.05 238.33 B 0.18 0.1 (gument must be obtained by calling) 391.8 238.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetStaticMethodID) 198 226.33 T 5 9 Q (\050\051) 300 226.33 T 1 10 Q 0.1 (.) 310.8 226.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The method ID must be derived fr) 198 206.33 B 0.52 0.1 (om) 355.53 206.33 B 5 F 1.2 (clazz) 373.14 206.33 P 1 F 0.52 0.1 (, not fr) 403.14 206.33 B 0.52 0.1 (om one of its super) 434.12 206.33 B 0.52 0.1 (classes.) 522.5 206.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallStaticMethod Routines) 198 177.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Pr) 198 161.33 B 0.52 0.1 (ogrammers should place all ar) 208.01 161.33 B 0.52 0.1 (guments that ar) 346.91 161.33 B 0.52 0.1 (e to be passed to the method) 419.09 161.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (immediately following the) 198 149.33 B 5 F 1.2 (methodID) 322.13 149.33 P 1 F 0.52 0.1 ( ar) 370.13 149.33 B 0.52 0.1 (gument. The) 382.22 149.33 B 0 F 0.52 0.1 (CallStaticMethod) 442.99 149.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.57/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "57" 67 %%Page: "58" 68 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (58) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (r) 198 641.33 B 0.52 0.1 (outine accepts these ar) 201.87 641.33 B 0.52 0.1 (guments and passes them to the Java method that the) 305.35 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (pr) 198 629.33 B 0.52 0.1 (ogrammer wishes to invoke.) 207.98 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallStaticMethodA Routines) 198 600.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Pr) 198 584.33 B 0.52 0.1 (ogrammers should place all ar) 208.01 584.33 B 0.52 0.1 (guments to the method in an) 346.91 584.33 B 5 F 1.2 (args) 482.77 584.33 P 1 F 0.52 0.1 ( array of) 506.77 584.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (jvalues) 198 572.33 P 1 F 0.52 0.1 ( that immediately follows the) 240 572.33 B 5 F 1.2 (methodID) 377.86 572.33 P 1 F 0.52 0.1 ( ar) 425.86 572.33 B 0.52 0.1 (gument. The) 437.95 572.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (CallStaticMethodA) 198 560.33 B 1 F 0.52 0.1 ( r) 278.2 560.33 B 0.52 0.1 (outine accepts the ar) 285.19 560.33 B 0.52 0.1 (guments in this array) 379.44 560.33 B 0.52 0.1 (, and, in turn,) 476.44 560.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (passes them to the Java method that the pr) 198 548.33 B 0.52 0.1 (ogrammer wishes to invoke.) 394.41 548.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 6 11 Q -0.71 0.11 (CallStaticMethodV Routines) 198 519.67 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Pr) 198 503.33 B 0.52 0.1 (ogrammers should place all ar) 208.01 503.33 B 0.52 0.1 (guments to the method in an) 346.91 503.33 B 5 F 1.2 (args) 482.77 503.33 P 1 F 0.52 0.1 ( ar) 506.77 503.33 B 0.52 0.1 (gument) 518.86 503.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (of type) 198 491.33 B 5 F 1.2 (va_list) 233.25 491.33 P 1 F 0.52 0.1 ( that immediately follows the) 275.25 491.33 B 5 F 1.2 (methodID) 413.11 491.33 P 1 F 0.52 0.1 ( ar) 461.11 491.33 B 0.52 0.1 (gument. The) 473.2 491.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (CallStaticMethodV) 198 479.33 B 1 F 0.52 0.1 ( r) 278.2 479.33 B 0.52 0.1 (outine accepts the ar) 285.19 479.33 B 0.52 0.1 (guments, and, in turn, passes them to) 379.44 479.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the Java method that the pr) 198 467.33 B 0.52 0.1 (ogrammer wishes to invoke.) 323.91 467.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.43 0.1 (The following table describes each of the method calling r) 198 447.33 B 0.43 0.1 (outines accor) 462.38 447.33 B 0.43 0.1 (ding to) 522.22 447.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (their r) 198 435.33 B 0.52 0.1 (esult types. Y) 226.22 435.33 B 0.52 0.1 (ou should r) 287 435.33 B 0.52 0.1 (eplace) 339.97 435.33 B 0 F 0.52 0.1 (type) 371.63 435.33 B 1 F 0.52 0.1 ( in) 389.25 435.33 B 0 F 0.52 0.1 (CallStaticMethod) 404.42 435.33 B 1 F 0.52 0.1 (with the) 510.36 435.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Java type of the method, or one of the actual method calling r) 198 423.33 B 0.52 0.1 (outine names) 480.84 423.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (fr) 198 411.33 B 0.52 0.1 (om the table, and r) 205.3 411.33 B 0.52 0.1 (eplace) 292.13 411.33 B 0 F 0.52 0.1 (NativeT) 323.79 411.33 B 0.52 0.1 (ype) 356.9 411.33 B 1 F 0.52 0.1 ( with the corr) 371.09 411.33 B 0.52 0.1 (esponding native type for) 433.37 411.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (that r) 198 399.33 B 0.52 0.1 (outine.) 222.73 399.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 358 S 0.09 (able) 202.59 358 S 0.09 (4-) 219.46 358 S 0.09 (7) 227.13 358 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (CallStaticMethod Calling Routines) 241.2 358 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (CallStaticMethod Routine Name) 198 337 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 378 337 B 0.47 0.09 (ype) 414.13 337 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (CallStaticVoidMethod) 198 320 T 5 10 Q (\050\051) 306 320 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticVoidMethodA) 198 308.6 T 5 10 Q (\050\051) 311.4 308.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticVoidMethod) 198 297.2 T 5 10 Q (V\050\051) 306 297.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (void) 378 320 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallStaticObjectMethod) 198 280.2 T 5 10 Q (\050\051) 316.8 280.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticObjectMethod) 198 268.8 T 5 10 Q (A\050\051) 316.8 268.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticObjectMethod) 198 257.4 T 5 10 Q (V\050\051) 316.8 257.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jobject) 378 280.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallStaticBooleanMethod) 198 240.4 T 5 10 Q (\050\051) 322.2 240.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticBooleanMethod) 198 229 T 5 10 Q (A\050\051) 322.2 229 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticBooleanMethod) 198 217.6 T 5 10 Q (V\050\051) 322.2 217.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jboolean) 378 240.4 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallStaticByteMethod) 198 200.6 T 5 10 Q (\050\051) 306 200.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticByteMethod) 198 189.2 T 5 10 Q (A\050\051) 306 189.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticByteMethod) 198 177.8 T 5 10 Q (V\050\051) 306 177.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jbyte) 378 200.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 349 468 349 2 L V 0 Z N 198 332 468 332 2 L V 0.5 H N 198 172.8 468 172.8 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.58/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "58" 68 %%Page: "59" 69 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (59) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 357.2 S 0.09 (ARAMETERS:) 202.92 357.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 341.53 P 1.22 0.1 (:) 216 341.53 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 341.53 B 0.52 0.1 (.) 335.41 341.53 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 321.53 P 1.22 0.1 (:) 228 321.53 B 1 F 0.52 0.1 ( a Java class object.) 234.1 321.53 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (methodID) 198 301.53 P 1.22 0.1 (:) 246 301.53 B 1 F 0.52 0.1 ( a static method ID.) 252.1 301.53 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallStaticMethod Routines:) 198 276.2 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (ar) 198 260.53 B 0.52 0.1 (guments to the static method.) 206.97 260.53 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallStaticMethodA Routines:) 198 235.2 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (args) 198 219.53 P 1.22 0.1 (:) 222 219.53 B 1 F 0.52 0.1 ( an array of ar) 228.1 219.53 B 0.52 0.1 (guments.) 293.52 219.53 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q -0.58 0.09 (Additional Parameter for CallStaticMethodV Routines:) 198 194.2 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (args) 198 178.53 P 1.22 0.1 (:) 222 178.53 B 1 F 0.52 0.1 ( a) 228.1 178.53 B 5 F 1.2 (va_list) 239.44 178.53 P 1 F 0.52 0.1 ( of ar) 281.44 178.53 B 0.52 0.1 (guments.) 305.64 178.53 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticCharMethod) 198 604 T 5 10 Q (\050\051) 306 604 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticCharMethod) 198 592.6 T 5 10 Q (A\050\051) 306 592.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticCharMethod) 198 581.2 T 5 10 Q (V\050\051) 306 581.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jchar) 378 604 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallStaticShortMethod) 198 564.2 T 5 10 Q (\050\051) 311.4 564.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticShortMethod) 198 552.8 T 5 10 Q (A\050\051) 311.4 552.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticShortMethod) 198 541.4 T 5 10 Q (V\050\051) 311.4 541.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jshort) 378 564.2 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallStaticIntMethod) 198 524.4 T 5 10 Q (\050\051) 300.6 524.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticIntMethod) 198 513 T 5 10 Q (A\050\051) 300.6 513 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticIntMethod) 198 501.6 T 5 10 Q (V\050\051) 300.6 501.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jint) 378 524.4 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallStaticLongMethod) 198 484.6 T 5 10 Q (\050\051) 306 484.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticLongMethod) 198 473.2 T 5 10 Q (A\050\051) 306 473.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticLongMethod) 198 461.8 T 5 10 Q (V\050\051) 306 461.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jlong) 378 484.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallStaticFloatMethod) 198 444.8 T 5 10 Q (\050\051) 311.4 444.8 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticFloatMethod) 198 433.4 T 5 10 Q (A\050\051) 311.4 433.4 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticFloatMethod) 198 422 T 5 10 Q (V\050\051) 311.4 422 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jfloat) 378 444.8 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (CallStaticDoubleMethod) 198 405 T 5 10 Q (\050\051) 316.8 405 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticDoubleMethod) 198 393.6 T 5 10 Q (A\050\051) 316.8 393.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (CallStaticDoubleMethod) 198 382.2 T 5 10 Q (V\050\051) 316.8 382.2 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0.09 (jdouble) 378 405 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.09 (T) 198 642 S 0.09 (able) 202.59 642 S 0.09 (4-) 219.46 642 S 0.09 (7) 227.13 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (CallStaticMethod Calling Routines) 241.2 642 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (CallStaticMethod Routine Name) 198 621 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 378 621 B 0.47 0.09 (ype) 414.13 621 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 633 468 633 2 L V 0 Z N 198 616 468 616 2 L V 0.5 H N 198 377.2 468 377.2 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.59/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "59" 69 %%Page: "60" 70 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (60) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (RETURNS:) 198 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the r) 198 626.33 B 0.52 0.1 (esult of calling the static Java method.) 257.75 626.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 601 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.5 (Exceptions raised during the execution of the Java method.) 198 585.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (String Operations) 54 552 P 0 0 0 1 0 0 0 K 54 696/G8.5386 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (NewString) 160.49 517.67 T 0 0 0 1 0 0 0 K 54 662/G8.4925 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jstring NewString\050JNIEnv *env, const jchar *unicodeChars,) 198 496.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jsize len\051;) 198 484.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Constr) 198 464.33 B 0.52 0.1 (ucts a new) 228.34 464.33 B 5 F 1.2 (java.lang.String) 280.42 464.33 P 1 F 0.52 0.1 ( object fr) 376.42 464.33 B 0.52 0.1 (om an array of Unicode) 416.38 464.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (characters.) 198 452.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 427 S 0.09 (ARAMETERS:) 202.92 427 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 411.33 P 1.22 0.1 (:) 216 411.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 411.33 B 0.52 0.1 (.) 335.41 411.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (unicodeChars) 198 391.33 P 1.22 0.1 (:) 270 391.33 B 1 F 0.52 0.1 ( pointer to a Unicode string.) 276.1 391.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (len) 198 371.33 P 1.22 0.1 (:) 216 371.33 B 1 F 0.52 0.1 ( length of the Unicode string.) 222.1 371.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 346 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java string object, or) 198 330.33 B 5 F 1.2 (NULL) 341.64 330.33 P 1 F 0.52 0.1 ( if the string cannot be constr) 365.64 330.33 B 0.52 0.1 (ucted.) 499.92 330.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 305 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (OutOfMemoryError) 198 289.33 P 1.22 0.1 (:) 294 289.33 B 1 F 0.52 0.1 ( if the system r) 300.1 289.33 B 0.52 0.1 (uns out of memory) 368.68 289.33 B 0.52 0.1 (.) 455.38 289.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetStringLength) 160.49 256.67 T 0 0 0 1 0 0 0 K 54 401/G8.17132 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jsize GetStringLength\050JNIEnv *env, jstring string\051;) 198 235.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns the length \050the count of Unicode characters\051 of a Java string.) 198 215.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 190 S 0.09 (ARAMETERS:) 202.92 190 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 174.33 P 1.22 0.1 (:) 216 174.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 174.33 B 0.52 0.1 (.) 335.41 174.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (string) 198 154.33 P 1.22 0.1 (:) 234 154.33 B 1 F 0.52 0.1 ( a Java string object.) 240.1 154.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.60/DEST FmPD2 54 706/M8.9.19779.Head1.String.Operations FmPA 54 706/I8.1.3570 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "60" 70 %%Page: "61" 71 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (61) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (RETURNS:) 198 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the length of the Java string.) 198 626.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetStringChars) 160.49 593.67 T 0 0 0 1 0 0 0 K 54 738/G8.17158 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (const jchar * GetStringChars\050JNIEnv *env, jstring string,) 198 572.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jboolean *isCopy\051;) 198 560.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.41 0.1 (Returns a pointer to the array of Unicode characters of the string. This pointer) 198 540.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (is valid until) 198 528.33 B 5 F 1.2 (ReleaseStringchars\050\051) 259.22 528.33 P 1 F 0.52 0.1 ( is called.) 379.22 528.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.41 0.1 (If) 198 508.33 B 5 F 0.96 (isCopy) 207.91 508.33 P 1 F 0.41 0.1 ( is not) 243.91 508.33 B 5 F 0.96 (NULL) 275.15 508.33 P 1 F 0.41 0.1 (, then) 299.15 508.33 B 5 F 0.96 (*isCopy) 327.87 508.33 P 1 F 0.41 0.1 ( is set to) 369.87 508.33 B 5 F 0.96 (JNI_TRUE) 410.79 508.33 P 1 F 0.41 0.1 ( if a copy is made; or) 458.79 508.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (it is set to) 198 496.33 B 5 F 1.2 (JNI_FALSE) 245.71 496.33 P 1 F 0.52 0.1 ( if no copy is made.) 299.71 496.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 471 S 0.09 (ARAMETERS:) 202.92 471 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 455.33 P 1.22 0.1 (:) 216 455.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 455.33 B 0.52 0.1 (.) 335.41 455.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (string) 198 435.33 P 1.22 0.1 (:) 234 435.33 B 1 F 0.52 0.1 ( a Java string object.) 240.1 435.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (isCopy) 198 415.33 P 1.22 0.1 (:) 234 415.33 B 1 F 0.52 0.1 ( a pointer to a boolean.) 240.1 415.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 390 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a pointer to a Unicode string, or) 198 374.33 B 5 F 1.2 (NULL) 387.01 374.33 P 1 F 0.52 0.1 ( if the operation fails.) 411.01 374.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (ReleaseStringChars) 160.49 341.67 T 0 0 0 1 0 0 0 K 54 486/G8.17188 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void ReleaseStringChars\050JNIEnv *env, jstring string,) 198 320.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const jchar *chars\051;) 198 308.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Informs the VM that the native code no longer needs access to) 198 288.33 B 5 F 1.2 (chars) 486.82 288.33 P 1 F 0.52 0.1 (. The) 516.82 288.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (chars) 198 276.33 P 1 F 0.52 0.1 ( ar) 228 276.33 B 0.52 0.1 (gument is a pointer obtained fr) 240.09 276.33 B 0.52 0.1 (om) 382.91 276.33 B 5 F 1.2 (string) 400.52 276.33 P 1 F 0.52 0.1 ( using) 436.52 276.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetStringChars\050\051) 198 264.33 T 1 F 0.1 (.) 294 264.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 239 S 0.09 (ARAMETERS:) 202.92 239 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 223.33 P 1.22 0.1 (:) 216 223.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 223.33 B 0.52 0.1 (.) 335.41 223.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (string) 198 203.33 P 1.22 0.1 (:) 234 203.33 B 1 F 0.52 0.1 ( a Java string object.) 240.1 203.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (chars) 198 183.33 P 1.22 0.1 (:) 228 183.33 B 1 F 0.52 0.1 ( a pointer to a Unicode string.) 234.1 183.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.61/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "61" 71 %%Page: "62" 72 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (62) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K (NewStringUTF) 160.49 638.67 T 0 0 0 1 0 0 0 K 54 783/G8.17220 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jstring NewStringUTF\050JNIEnv *env, const char *bytes\051;) 198 617.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Constr) 198 597.33 B 0.52 0.1 (ucts a new) 228.34 597.33 B 5 F 1.2 (java.lang.String) 280.42 597.33 P 1 F 0.52 0.1 ( object fr) 376.42 597.33 B 0.52 0.1 (om an array of UTF-8) 416.38 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (characters.) 198 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 560 S 0.09 (ARAMETERS:) 202.92 560 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 544.33 P 1.22 0.1 (:) 216 544.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 544.33 B 0.52 0.1 (, or) 335.41 544.33 B 5 F 1.2 (NULL) 353.86 544.33 P 1 F 0.52 0.1 ( if the string cannot be constr) 377.86 544.33 B 0.52 0.1 (ucted.) 512.14 544.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (bytes) 198 524.33 P 1.22 0.1 (:) 228 524.33 B 1 F 0.52 0.1 ( the pointer to a UTF-8 string.) 234.1 524.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 499 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java string object, or) 198 483.33 B 5 F 1.2 (NULL) 341.64 483.33 P 1 F 0.52 0.1 ( if the string cannot be constr) 365.64 483.33 B 0.52 0.1 (ucted.) 499.92 483.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 458 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (OutOfMemoryError) 198 442.33 P 1.22 0.1 (:) 294 442.33 B 1 F 0.52 0.1 ( if the system r) 300.1 442.33 B 0.52 0.1 (uns out of memory) 368.68 442.33 B 0.52 0.1 (.) 455.38 442.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetStringUTFLength) 160.49 409.67 T 0 0 0 1 0 0 0 K 54 554/G8.23871 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jsize GetStringUTFLength\050JNIEnv *env, jstring string\051;) 198 388.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns the UTF-8 length in bytes of a string.) 198 368.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 343 S 0.09 (ARAMETERS:) 202.92 343 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 327.33 P 1.22 0.1 (:) 216 327.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 327.33 B 0.52 0.1 (.) 335.41 327.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (string) 198 307.33 P 1.22 0.1 (:) 234 307.33 B 1 F 0.52 0.1 ( a Java string object.) 240.1 307.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 282 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the UTF-8 length of the string.) 198 266.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetStringUTFChars) 160.49 233.67 T 0 0 0 1 0 0 0 K 54 378/G8.17265 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (const jbyte* GetStringUTFChars\050JNIEnv *env, jstring string,) 198 212.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jboolean *isCopy\051;) 198 200.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns a pointer to an array of UTF-8 characters of the string. This array is) 198 180.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (valid until it is r) 198 168.33 B 0.52 0.1 (eleased by) 272.58 168.33 B 5 F 1.2 (ReleaseStringUTFChars\050\051) 323.44 168.33 P 1 F 0.52 0.1 (.) 461.44 168.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.62/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "62" 72 %%Page: "63" 73 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (63) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.41 0.1 (If) 198 641.33 B 5 F 0.96 (isCopy) 207.91 641.33 P 1 F 0.41 0.1 ( is not) 243.91 641.33 B 5 F 0.96 (NULL) 275.15 641.33 P 1 F 0.41 0.1 (, then) 299.15 641.33 B 5 F 0.96 (*isCopy) 327.87 641.33 P 1 F 0.41 0.1 ( is set to) 369.87 641.33 B 5 F 0.96 (JNI_TRUE) 410.79 641.33 P 1 F 0.41 0.1 ( if a copy is made; or) 458.79 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (it is set to) 198 629.33 B 5 F 1.2 (JNI_FALSE) 245.71 629.33 P 1 F 0.52 0.1 ( if no copy is made.) 299.71 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 604 S 0.09 (ARAMETERS:) 202.92 604 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 588.33 P 1.22 0.1 (:) 216 588.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 588.33 B 0.52 0.1 (.) 335.41 588.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (string) 198 568.33 P 1.22 0.1 (:) 234 568.33 B 1 F 0.52 0.1 ( a Java string object.) 240.1 568.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (isCopy) 198 548.33 P 1.22 0.1 (:) 234 548.33 B 1 F 0.52 0.1 ( a pointer to a boolean.) 240.1 548.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 523 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a pointer to a UTF-8 string, or) 198 507.33 B 5 F 1.2 (NULL) 377.3 507.33 P 1 F 0.52 0.1 ( if the operation fails.) 401.3 507.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (ReleaseStringUTFChars) 160.49 474.67 T 0 0 0 1 0 0 0 K 54 619/G8.17294 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void ReleaseStringUTFChars\050JNIEnv *env, jstring string,) 198 453.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const char *utf\051;) 198 441.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Informs the VM that the native code no longer needs access to) 198 421.33 B 5 F 1.2 (utf) 486.82 421.33 P 1 F 0.52 0.1 (. The) 504.82 421.33 B 5 F 1.2 (utf) 530.7 421.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (ar) 198 409.33 B 0.52 0.1 (gument is a pointer derived fr) 206.97 409.33 B 0.52 0.1 (om) 345.12 409.33 B 5 F 1.2 (string) 362.73 409.33 P 1 F 0.52 0.1 ( using) 398.73 409.33 B 5 F 1.2 (GetStringUTFChars\050\051) 430.03 409.33 P 1 F 0.52 0.1 (.) 544.03 409.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 384 S 0.09 (ARAMETERS:) 202.92 384 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 368.33 P 1.22 0.1 (:) 216 368.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 368.33 B 0.52 0.1 (.) 335.41 368.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (string) 198 348.33 P 1.22 0.1 (:) 234 348.33 B 1 F 0.52 0.1 ( a Java string object.) 240.1 348.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (utf) 198 328.33 P 1.22 0.1 (:) 216 328.33 B 1 F 0.52 0.1 ( a pointer to a UTF-8 string.) 222.1 328.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Array Operations) 54 295 P 0 0 0 1 0 0 0 K 54 439/G8.17314 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetArrayLength) 160.49 260.67 T 0 0 0 1 0 0 0 K 54 405/G8.21732 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jsize GetArrayLength\050JNIEnv *env, jarray array\051;) 198 239.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns the number of elements in the array) 198 219.33 B 0.52 0.1 (.) 400.2 219.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 194 S 0.09 (ARAMETERS:) 202.92 194 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 178.33 P 1.22 0.1 (:) 216 178.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 178.33 B 0.52 0.1 (.) 335.41 178.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (array) 198 158.33 P 1.22 0.1 (:) 228 158.33 B 1 F 0.52 0.1 ( a Java array object.) 234.1 158.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.63/DEST FmPD2 54 449/M8.9.19224.Head1.Array.Operations FmPA 54 449/I8.1.3574 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "63" 73 %%Page: "64" 74 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (64) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (RETURNS:) 198 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns the length of the array) 198 626.33 B 0.52 0.1 (.) 338.01 626.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (NewObjectArray) 160.49 593.67 T 0 0 0 1 0 0 0 K 54 738/G8.21619 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jarray NewObjectArray\050JNIEnv *env, jsize length,) 198 572.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jclass elementClass, jobject initialElement\051;) 198 560.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Constr) 198 540.33 B 0.52 0.1 (ucts a new array holding objects in class) 228.34 540.33 B 5 F 1.2 (elementClass) 416.29 540.33 P 1 F 0.52 0.1 (. All elements) 488.29 540.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (ar) 198 528.33 B 0.52 0.1 (e initially set to) 206.97 528.33 B 5 F 1.2 (initialElement) 280.94 528.33 P 1 F 0.52 0.1 (.) 364.94 528.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 503 S 0.09 (ARAMETERS:) 202.92 503 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 487.33 P 1.22 0.1 (:) 216 487.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 487.33 B 0.52 0.1 (.) 335.41 487.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (length) 198 467.33 P 1.22 0.1 (:) 234 467.33 B 1 F 0.52 0.1 ( array size.) 240.1 467.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (elementClass) 198 447.33 P 1.22 0.1 (:) 270 447.33 B 1 F 0.52 0.1 ( array element class.) 276.1 447.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (initialElement) 198 427.33 P 1.22 0.1 (:) 282 427.33 B 1 F 0.52 0.1 ( initialization value.) 288.1 427.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 402 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java array object, or) 198 386.33 B 5 F 1.2 (NULL) 339.26 386.33 P 1 F 0.52 0.1 ( if the array cannot be constr) 363.26 386.33 B 0.52 0.1 (ucted.) 495.16 386.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 361 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (OutOfMemoryError) 198 345.33 P 1.22 0.1 (:) 294 345.33 B 1 F 0.52 0.1 ( if the system r) 300.1 345.33 B 0.52 0.1 (uns out of memory) 368.68 345.33 B 0.52 0.1 (.) 455.38 345.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetObjectArrayElement) 160.49 312.67 T 0 0 0 1 0 0 0 K 54 457/G8.21671 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jobject GetObjectArrayElement\050JNIEnv *env,) 198 291.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jobjectArray array, jsize index\051;) 198 279.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Returns an element of an) 198 259.33 B 5 F 1.2 (Object) 315.99 259.33 P 1 F 0.52 0.1 ( array) 351.99 259.33 B 0.52 0.1 (.) 377.96 259.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 234 S 0.09 (ARAMETERS:) 202.92 234 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 218.33 P 1.22 0.1 (:) 216 218.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 218.33 B 0.52 0.1 (.) 335.41 218.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (array) 198 198.33 P 1.22 0.1 (:) 228 198.33 B 1 F 0.52 0.1 ( a Java array) 234.1 198.33 B 0.52 0.1 (.) 290.79 198.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (index) 198 178.33 P 1.22 0.1 (:) 228 178.33 B 1 F 0.52 0.1 ( array index.) 234.1 178.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.64/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "64" 74 %%Page: "65" 75 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (65) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (RETURNS:) 198 642 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java object.) 198 626.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 601 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (ArrayIndexOutOfBoundsException) 198 585.33 P 1.22 0.1 (:) 378 585.33 B 1 F 0.52 0.1 ( if) 384.1 585.33 B 5 F 1.2 (index) 396.78 585.33 P 1 F 0.52 0.1 ( does not specify a valid) 426.78 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (index in the array) 198 573.33 B 0.52 0.1 (.) 278.6 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (SetObjectArrayElement) 160.49 540.67 T 0 0 0 1 0 0 0 K 54 685/G8.21699 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void SetObjectArrayElement\050JNIEnv *env, jobjectArray array,) 198 519.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jsize index, jobject value\051;) 198 507.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Sets an element of an) 198 487.33 B 5 F 1.2 (Object) 298.46 487.33 P 1 F 0.52 0.1 ( array) 334.46 487.33 B 0.52 0.1 (.) 360.43 487.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 462 S 0.09 (ARAMETERS:) 202.92 462 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 446.33 P 1.22 0.1 (:) 216 446.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 446.33 B 0.52 0.1 (.) 335.41 446.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (array) 198 426.33 P 1.22 0.1 (:) 228 426.33 B 1 F 0.52 0.1 ( a Java array) 234.1 426.33 B 0.52 0.1 (.) 290.79 426.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (index) 198 406.33 P 1.22 0.1 (:) 228 406.33 B 1 F 0.52 0.1 ( array index.) 234.1 406.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (value) 198 386.33 P 1.22 0.1 (:) 228 386.33 B 1 F 0.52 0.1 ( the new value.) 234.1 386.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 361 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (ArrayIndexOutOfBoundsException) 198 345.33 P 1.22 0.1 (:) 378 345.33 B 1 F 0.52 0.1 ( if) 384.1 345.33 B 5 F 1.2 (index) 396.78 345.33 P 1 F 0.52 0.1 ( does not specify a valid) 426.78 345.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (index in the array) 198 333.33 B 0.52 0.1 (.) 278.6 333.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.25 (ArrayStoreException) 198 313.33 P 0.25 0.1 (:) 312 313.33 B 1 F 0.11 0.1 ( if the class of) 318.1 313.33 B 5 F 0.25 (value) 382.57 313.33 P 1 F 0.11 0.1 ( is not a subclass of the element) 412.57 313.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (class of the array) 198 301.33 B 0.52 0.1 (.) 274.7 301.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (NewArray Routines) 256.36 268.67 P 0 0 0 1 0 0 0 K 54 413/G8.17318 FmPA 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (ArrayT) 198 247.33 B 0.52 0.1 (ype) 228.23 247.33 B 0.52 0.1 (NewArray) 319.5 247.33 B 5 F 1.2 (\050JNIEnv *env, jsize length\051;) 364.79 247.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.04 0.1 (A family of operations used to constr) 198 227.33 B 0.04 0.1 (uct a new primitive array object. T) 365.9 227.33 B 0.04 0.1 (able) 520.5 227.33 B 0.04 0.1 (4-) 541.73 227.33 B 0.04 0.1 (8) 550.26 227.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (describes the speci\336c primitive array constr) 198 215.33 B 0.52 0.1 (uctors. Y) 397.02 215.33 B 0.52 0.1 (ou should r) 436.57 215.33 B 0.52 0.1 (eplace) 489.54 215.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.52 0.1 (NewArray) 267.88 203.33 B 1 F 0.52 0.1 (with one of the actual primitive array constr) 316.29 203.33 B 0.52 0.1 (uctor) 519.4 203.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (r) 198 191.33 B 0.52 0.1 (outine names fr) 201.87 191.33 B 0.52 0.1 (om the following table, and r) 273.46 191.33 B 0.52 0.1 (eplace) 407.01 191.33 B 0 F 0.52 0.1 (ArrayT) 438.67 191.33 B 0.52 0.1 (ype) 468.9 191.33 B 1 F 0.52 0.1 ( with the) 483.09 191.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (corr) 198 179.33 B 0.52 0.1 (esponding array type for that r) 216.02 179.33 B 0.52 0.1 (outine.) 357.87 179.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.65/DEST FmPD2 [/Rect[515 223 555 234]/Border[0 0 0]/Page 76/View[/XYZ null 241 770 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "65" 75 %%Page: "66" 76 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (66) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 436 S 0.09 (ARAMETERS:) 202.92 436 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 420.33 P 1.22 0.1 (:) 216 420.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 420.33 B 0.52 0.1 (.) 335.41 420.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (length) 198 400.33 P 1.22 0.1 (:) 234 400.33 B 1 F 0.52 0.1 ( the array length.) 240.1 400.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 375 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a Java array) 198 359.33 B 0.52 0.1 (, or) 290.16 359.33 B 5 F 1.2 (NULL) 308.61 359.33 P 1 F 0.52 0.1 ( if the array cannot be constr) 332.61 359.33 B 0.52 0.1 (ucted.) 464.51 359.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (GetArrayElements Routines) 250.13 326.67 P 0 0 0 1 0 0 0 K 54 471/G8.17382 FmPA 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (NativeT) 198 305.33 B 0.52 0.1 (ype) 231.11 305.33 B 5 F 1.2 ( *) 245.3 305.33 P 0 F 0.52 0.1 (GetArrayElements) 323.93 305.33 B 5 F 1.2 (\050JNIEnv *env,) 407.25 305.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.5 (ArrayT) 234 293.33 P 0.5 (ype) 263.63 293.33 P 5 F 1.2 ( array, jboolean *isCopy\051;) 277.52 293.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.3 0.1 (A family of functions that r) 198 273.33 B 0.3 0.1 (eturns the body of the primitive array) 322.34 273.33 B 0.3 0.1 (. The r) 493.8 273.33 B 0.3 0.1 (esult is) 523.11 273.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.21 0.1 (valid until the corr) 198 261.33 B 0.21 0.1 (esponding) 283.12 261.33 B 0 F 0.21 0.1 (Release) 333.54 261.33 B 0.2 (<) 363.69 261.33 P 0.21 0.1 (PrimitiveT) 369.75 261.33 B 0.21 0.1 (ype) 414.28 261.33 B 0.2 (>) 428.47 261.33 P 0.21 0.1 (ArrayElements\050\051) 434.53 261.33 B 1 F 0.21 0.1 ( function is) 504.36 261.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.45 0.1 (called.) 198 249.33 B 0 F 0.45 0.1 (Since the r) 230.41 249.33 B 0.45 0.1 (eturned array may be a copy of the Java array) 275.19 249.33 B 0.45 0.1 (, changes made to the) 465.62 249.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (r) 198 237.33 B 0.52 0.1 (eturned array will not necessarily be r) 201.81 237.33 B 0.52 0.1 (e\337ected in the original) 361.81 237.33 B 5 F 1.2 (array) 458.04 237.33 P 0 F 0.52 0.1 ( until) 488.04 237.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.5 (ReleaseArrayElements\050\051) 277.04 225.33 P 0.52 0.1 ( is called.) 365.32 225.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.41 0.1 (If) 198 205.33 B 5 F 0.96 (isCopy) 207.91 205.33 P 1 F 0.41 0.1 ( is not) 243.91 205.33 B 5 F 0.96 (NULL) 275.15 205.33 P 1 F 0.41 0.1 (, then) 299.15 205.33 B 5 F 0.96 (*isCopy) 327.87 205.33 P 1 F 0.41 0.1 ( is set to) 369.87 205.33 B 5 F 0.96 (JNI_TRUE) 410.79 205.33 P 1 F 0.41 0.1 ( if a copy is made; or) 458.79 205.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (it is set to) 198 193.33 B 5 F 1.2 (JNI_FALSE) 245.71 193.33 P 1 F 0.52 0.1 ( if no copy is made.) 299.71 193.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The following table describes the speci\336c primitive array element accessors.) 198 173.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Y) 198 161.33 B 0.52 0.1 (ou should make the following substitutions:) 203.85 161.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 620 S 0.09 (able) 202.59 620 S 0.09 (4-) 219.46 620 S 0.09 (8) 227.13 620 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (NewArray Family of Array Constr) 309.04 620 B 0.47 0.09 (uctors) 452.57 620 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (NewArray Routines) 267.89 599 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Array T) 378 599 B 0.47 0.09 (ype) 410.05 599 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (NewBooleanArray\050\051) 198 582 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbooleanArray) 378 582 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (NewByteArray\050\051) 198 565 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyteArray) 378 565 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (NewCharArray\050\051) 198 548 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jcharArray) 378 548 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (NewShortArray\050\051) 198 531 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshortArray) 378 531 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (NewIntArray\050\051) 198 514 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jintArray) 378 514 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (NewLongArray\050\051) 198 497 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlongArray) 378 497 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (NewFloatArray\050\051) 198 480 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloatArray) 378 480 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (NewDoubleArray\050\051) 198 463 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdoubleArray) 378 463 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 611 468 611 2 L V 0 Z N 198 594 468 594 2 L V 0.5 H N 198 458 468 458 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.66/DEST FmPD2 241 770/M8.9.21504.TableCaption.Table48.NewPrimitiveTypeArray.Family.of.Array.Constructors FmPA 241 770/I8.1.5920 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "66" 76 %%Page: "67" 77 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (67) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0 X 0 0 0 1 0 0 0 K 0.14 (\245) 198 641.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 641.33 B 0 F 0.52 0.1 (GetArrayElements) 314.47 641.33 B 1 F 0.52 0.1 (with one of the actual primitive) 400.91 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (element accessor r) 210.6 629.33 B 0.52 0.1 (outine names fr) 293.96 629.33 B 0.52 0.1 (om the table.) 365.55 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 611.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 611.33 B 0 F 0.52 0.1 (ArrayT) 249.04 611.33 B 0.52 0.1 (ype) 279.27 611.33 B 1 F 0.52 0.1 ( with the corr) 293.46 611.33 B 0.52 0.1 (esponding array type.) 355.74 611.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 593.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 593.33 B 0 F 0.52 0.1 (NativeT) 249.04 593.33 B 0.52 0.1 (ype) 282.15 593.33 B 1 F 0.52 0.1 (with the corr) 299.46 593.33 B 0.52 0.1 (esponding native type for that r) 358.62 593.33 B 0.52 0.1 (outine.) 504.54 593.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Regar) 198 573.33 B 0.52 0.1 (dless of how boolean arrays ar) 224.3 573.33 B 0.52 0.1 (e r) 364.54 573.33 B 0.52 0.1 (epr) 376.42 573.33 B 0.52 0.1 (esented in the Java VM,) 391.29 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 0.21 (GetBooleanArrayElements\050\051) 198 561.33 P 1 F 0.09 0.1 ( always r) 348 561.33 B 0.09 0.1 (eturns a pointer to) 388.9 561.33 B 5 F 0.21 (jbooleans) 475.29 561.33 P 1 F 0.09 0.1 (, with) 529.28 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (each byte denoting an element \050the unpacked r) 198 549.33 B 0.52 0.1 (epr) 413.3 549.33 B 0.52 0.1 (esentation\051. All arrays of) 428.17 549.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (other types ar) 198 537.33 B 0.52 0.1 (e guaranteed to be contiguous in memory) 261.35 537.33 B 0.52 0.1 (.) 451.76 537.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 300.6 S 0.09 (ARAMETERS:) 202.92 300.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 284.93 P 1.22 0.1 (:) 216 284.93 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 284.93 B 0.52 0.1 (.) 335.41 284.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (array) 198 264.93 P 1.22 0.1 (:) 228 264.93 B 1 F 0.52 0.1 ( a Java string object.) 234.1 264.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (isCopy) 198 244.93 P 1.22 0.1 (:) 234 244.93 B 1 F 0.52 0.1 ( a pointer to a boolean.) 240.1 244.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 219.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns a pointer to the array elements, or) 198 203.93 B 5 F 1.2 (NULL) 395.92 203.93 P 1 F 0.52 0.1 ( if the operation fails.) 419.92 203.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 496 S 0.09 (able) 202.59 496 S 0.09 (4-) 219.46 496 S 0.09 (9) 227.13 496 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (GetArrayElements Family of Accessor Routines) 303.86 496 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (GetArrayElements) 263.39 475 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (Routines) 198 463.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Array T) 378 463.6 B 0.47 0.09 (ype) 410.05 463.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 468 463.6 B 0.47 0.09 (ype) 504.13 463.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetBooleanArrayElements\050\051) 198 446.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbooleanArray) 378 446.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 468 446.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetByteArrayElements\050\051) 198 429.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyteArray) 378 429.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 468 429.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetCharArrayElements\050\051) 198 412.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jcharArray) 378 412.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 468 412.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetShortArrayElements\050\051) 198 395.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshortArray) 378 395.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshort) 468 395.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetIntArrayElements\050\051) 198 378.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jintArray) 378 378.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 468 378.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetLongArrayElements\050\051) 198 361.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlongArray) 378 361.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 468 361.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetFloatArrayElements\050\051) 198 344.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloatArray) 378 344.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloat) 468 344.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetDoubleArrayElements\050\051) 198 327.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdoubleArray) 378 327.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 468 327.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 487 558 487 2 L V 0 Z N 198 458.6 558 458.6 2 L V 0.5 H N 198 322.6 558 322.6 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.67/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "67" 77 %%Page: "68" 78 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (68) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K 0.7 (ReleaseArrayElements Routines) 271.14 638.67 P 0 0 0 1 0 0 0 K 54 783/G8.17440 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void) 198 617.33 P 0 F 0.52 0.1 (ReleaseArrayElements) 310.04 617.33 B 5 F 1.2 (\050JNIEnv *env,) 393.36 617.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 F 0.5 (ArrayT) 234 605.33 P 0.5 (ype) 263.63 605.33 P 5 F 1.2 ( array,) 277.52 605.33 P 0 F 0.52 0.1 (NativeT) 327.92 605.33 B 0.52 0.1 (ype) 361.03 605.33 B 5 F 1.2 ( *elems, jint mode\051;) 375.22 605.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.05 0.1 (A family of functions that informs the VM that the native code no longer needs) 198 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (access to) 198 573.33 B 5 F 1.2 (elems) 240.91 573.33 P 1 F 0.52 0.1 (. The) 270.91 573.33 B 5 F 1.2 (elems) 296.79 573.33 P 1 F 0.52 0.1 ( ar) 326.79 573.33 B 0.52 0.1 (gument is a pointer derived fr) 338.88 573.33 B 0.52 0.1 (om) 477.03 573.33 B 5 F 1.2 (array) 494.64 573.33 P 1 F 0.52 0.1 ( using) 524.64 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the corr) 198 561.33 B 0.52 0.1 (esponding) 233.31 561.33 B 0 F 0.52 0.1 (Get) 284.05 561.33 B 5 F 1.2 (<) 298.79 561.33 P 0 F 0.52 0.1 (PrimitiveT) 304.79 561.33 B 0.52 0.1 (ype) 349.32 561.33 B 5 F 1.2 (>) 363.51 561.33 P 0 F 0.52 0.1 (ArrayElements\050\051) 369.51 561.33 B 1 F 0.52 0.1 ( function. If necessary) 439.34 561.33 B 0.52 0.1 (,) 538.69 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (this function copies back all changes made to) 198 549.33 B 5 F 1.2 (elems) 408.38 549.33 P 1 F 0.52 0.1 ( to the original) 438.38 549.33 B 5 F 1.22 0.1 (array) 509.27 549.33 B 1 F 0.52 0.1 (.) 538.66 549.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The) 198 529.33 B 5 F 1.2 (mode) 218.16 529.33 P 1 F 0.52 0.1 ( ar) 242.16 529.33 B 0.52 0.1 (gument pr) 254.25 529.33 B 0.52 0.1 (ovides information on how the array buf) 302.24 529.33 B 0.52 0.1 (fer should be) 489.11 529.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (r) 198 517.33 B 0.52 0.1 (eleased.) 201.87 517.33 B 5 F 1.2 (mode) 240.92 517.33 P 1 F 0.52 0.1 ( has no ef) 264.92 517.33 B 0.52 0.1 (fect if) 309.26 517.33 B 5 F 1.2 (elems) 338.16 517.33 P 1 F 0.52 0.1 ( is not a copy of the elements in) 368.16 517.33 B 5 F 1.2 (array) 517.72 517.33 P 1 F 0.52 0.1 (.) 546.61 517.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Otherwise,) 198 505.33 B 5 F 1.2 (mode) 250.58 505.33 P 1 F 0.52 0.1 ( has the following impact, as shown in the following table:) 274.58 505.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (In most cases, pr) 198 339.93 B 0.52 0.1 (ogrammers pass \3220\323 to the) 274.73 339.93 B 5 F 1.2 (mode) 400.12 339.93 P 1 F 0.52 0.1 ( ar) 424.12 339.93 B 0.52 0.1 (gument to ensur) 436.21 339.93 B 0.52 0.1 (e) 511.41 339.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.1 (consistent behavior for both pinned and copied arrays. The other options give) 198 327.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (the pr) 198 315.93 B 0.52 0.1 (ogrammer mor) 225.27 315.93 B 0.52 0.1 (e contr) 293.92 315.93 B 0.52 0.1 (ol over memory management and should be used) 325.18 315.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (with extr) 198 303.93 B 0.52 0.1 (eme car) 239.23 303.93 B 0.52 0.1 (e.) 274.57 303.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The next table describes the speci\336c r) 198 283.93 B 0.52 0.1 (outines that comprise the family of) 368.7 283.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (primitive array disposers. Y) 198 271.93 B 0.52 0.1 (ou should make the following substitutions:) 324.74 271.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 253.93 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 253.93 B 0 F 0.52 0.1 (ReleaseArrayElements) 329.88 253.93 B 1 F 0.52 0.1 (with one of the actual) 416.32 253.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (primitive array disposer r) 210.6 241.93 B 0.52 0.1 (outine names fr) 328.42 241.93 B 0.52 0.1 (om T) 400.01 241.93 B 0.52 0.1 (able) 422.93 241.93 B 0.52 0.1 (4-) 444.16 241.93 B 0.52 0.1 (1) 452.69 241.93 B 0.52 0.1 (1.) 457.24 241.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 223.93 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 223.93 B 0 F 0.52 0.1 (ArrayT) 249.04 223.93 B 0.52 0.1 (ype) 279.27 223.93 B 1 F 0.52 0.1 ( with the corr) 293.46 223.93 B 0.52 0.1 (esponding array type.) 355.74 223.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 205.93 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 205.93 B 0 F 0.52 0.1 (NativeT) 249.04 205.93 B 0.52 0.1 (ype) 282.15 205.93 B 1 F 0.52 0.1 ( with the corr) 296.34 205.93 B 0.52 0.1 (esponding native type for that r) 358.62 205.93 B 0.52 0.1 (outine.) 504.54 205.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 464 S 0.09 (able) 202.59 464 S 0.09 (4-) 219.46 464 S 0.09 (10) 227.13 464 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (Primitive Array Release Modes) 241.2 464 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.09 (mode) 198 443 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (actions) 306 443 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (0) 198 426 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (copy back the content and fr) 306 425.33 B 0.52 0.1 (ee the) 436.65 425.33 B 5 F 1.2 (elems) 466.84 425.33 P 1 F 0.52 0.1 ( buf) 496.84 425.33 B 0.52 0.1 (fer) 514.97 425.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (JNI_COMMIT) 198 407.33 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (copy back the content but do not fr) 306 407.33 B 0.52 0.1 (ee the) 467.39 407.33 B 5 F 1.2 (elems) 497.58 407.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.1 (buf) 306 394.33 S 0.1 (fer) 321.01 394.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (JNI_ABORT) 198 376.33 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (fr) 306 377 B 0.52 0.1 (ee the buf) 313.3 377 B 0.52 0.1 (fer without copying back the possible) 358.5 377 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (changes) 306 365.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 455 558 455 2 L V 0 Z N 198 438 558 438 2 L V 0.5 H N 198 360.6 558 360.6 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.68/DEST FmPD2 [/Rect[418 238 462 249]/Border[0 0 0]/Page 79/View[/XYZ null 241 770 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "68" 78 %%Page: "69" 79 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (69) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 424.6 S 0.09 (ARAMETERS:) 202.92 424.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 408.93 P 1.22 0.1 (:) 216 408.93 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 408.93 B 0.52 0.1 (.) 335.41 408.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (array) 198 388.93 P 1.22 0.1 (:) 228 388.93 B 1 F 0.52 0.1 ( a Java array object.) 234.1 388.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (elems) 198 368.93 P 1.22 0.1 (:) 228 368.93 B 1 F 0.52 0.1 ( a pointer to array elements.) 234.1 368.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (mode) 198 348.93 P 1.22 0.1 (:) 222 348.93 B 1 F 0.52 0.1 ( the r) 228.1 348.93 B 0.52 0.1 (elease mode.) 252.38 348.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (GetArrayRegion Routines) 250.13 316.27 P 0 0 0 1 0 0 0 K 54 460/G8.6212 FmPA 0 0 0 1 0 0 0 K 0 10 Q 0.52 0.1 (void) 198 294.93 B 0.52 0.1 (GetArrayRegion) 288.25 294.93 B 5 F 1.2 (\050JNIEnv *env,) 362.48 294.93 P 0 F 0.52 0.1 (ArrayT) 448.88 294.93 B 0.52 0.1 (ype) 479.11 294.93 B 5 F 1.2 ( array,) 493.3 294.93 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jsize start, jsize len,) 198 282.93 P 0 F 0.52 0.1 (NativeT) 382.8 282.93 B 0.52 0.1 (ype) 415.91 282.93 B 5 F 1.2 ( *buf\051;) 430.1 282.93 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (A family of functions that copies a r) 198 262.93 B 0.52 0.1 (egion of a primitive array into a buf) 363.22 262.93 B 0.52 0.1 (fer) 528.22 262.93 B 0.52 0.1 (.) 539.85 262.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The following table describes the speci\336c primitive array element accessors.) 198 242.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Y) 198 230.93 B 0.52 0.1 (ou should do the following substitutions:) 203.85 230.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 212.93 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 212.93 B 0 F 0.52 0.1 (GetArrayRegion) 314.47 212.93 B 1 F 0.52 0.1 (with one of the actual primitive) 391.82 212.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (element accessor r) 210.6 200.93 B 0.52 0.1 (outine names fr) 293.96 200.93 B 0.52 0.1 (om T) 365.55 200.93 B 0.52 0.1 (able) 388.47 200.93 B 0.52 0.1 (4-) 409.7 200.93 B 0.52 0.1 (12.) 418.23 200.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 182.93 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 182.93 B 0 F 0.52 0.1 (ArrayT) 249.04 182.93 B 0.52 0.1 (ype) 279.27 182.93 B 1 F 0.52 0.1 ( with the corr) 293.46 182.93 B 0.52 0.1 (esponding array type.) 355.74 182.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 164.93 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 164.93 B 0 F 0.52 0.1 (NativeT) 249.04 164.93 B 0.52 0.1 (ype) 282.15 164.93 B 1 F 0.52 0.1 ( with the corr) 296.34 164.93 B 0.52 0.1 (esponding native type for that r) 358.62 164.93 B 0.52 0.1 (outine.) 504.54 164.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 620 S 0.09 (able) 202.59 620 S 0.09 (4-) 219.46 620 S 0.09 (1) 227.13 620 S 0.09 (1) 231.23 620 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (ReleaseArrayElements Family of Array Routines) 319.98 620 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (ReleaseArrayElements) 280.25 599 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (Routines) 198 587.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Array T) 378 587.6 B 0.47 0.09 (ype) 410.05 587.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 468 587.6 B 0.47 0.09 (ype) 504.13 587.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (ReleaseBooleanArrayElements\050\051) 198 570.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbooleanArray) 378 570.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 468 570.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (ReleaseByteArrayElements\050\051) 198 553.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyteArray) 378 553.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 468 553.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (ReleaseCharArrayElements\050\051) 198 536.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jcharArray) 378 536.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 468 536.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (ReleaseShortArrayElements\050\051) 198 519.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshortArray) 378 519.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshort) 468 519.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (ReleaseIntArrayElements\050\051) 198 502.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jintArray) 378 502.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 468 502.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (ReleaseLongArrayElements\050\051) 198 485.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlongArray) 378 485.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 468 485.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (ReleaseFloatArrayElements\050\051) 198 468.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloatArray) 378 468.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloat) 468 468.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (ReleaseDoubleArrayElements\050\051) 198 451.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdoubleArray) 378 451.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 468 451.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 611 558 611 2 L V 0 Z N 198 582.6 558 582.6 2 L V 0.5 H N 198 446.6 558 446.6 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.69/DEST FmPD2 241 770/M8.9.20718.TableCaption.Table411.ReleasePrimitiveTypeArrayElements.Family.of.Array.Routines FmPA 241 770/I8.1.6174 FmPA [/Rect[383 197 428 208]/Border[0 0 0]/Page 80/View[/XYZ null 241 770 FmDC exch pop null]/LNK FmPD [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "69" 79 %%Page: "70" 80 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (70) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 424.6 S 0.09 (ARAMETERS:) 202.92 424.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 408.93 P 1.22 0.1 (:) 216 408.93 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 408.93 B 0.52 0.1 (.) 335.41 408.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (array) 198 388.93 P 1.22 0.1 (:) 228 388.93 B 1 F 0.52 0.1 ( a Java array) 234.1 388.93 B 0.52 0.1 (.) 290.79 388.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (start) 198 368.93 P 1.22 0.1 (:) 228 368.93 B 1 F 0.52 0.1 ( the starting index.) 234.1 368.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (len) 198 348.93 P 1.22 0.1 (:) 216 348.93 B 1 F 0.52 0.1 ( the number of elements to be copied.) 222.1 348.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (buf) 198 328.93 P 1.22 0.1 (:) 216 328.93 B 1 F 0.52 0.1 ( the destination buf) 222.1 328.93 B 0.52 0.1 (fer) 311.32 328.93 B 0.52 0.1 (.) 322.95 328.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 303.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (ArrayIndexOutOfBoundsException) 198 287.93 P 1.22 0.1 (:) 378 287.93 B 1 F 0.52 0.1 ( if one of the indexes in the r) 384.1 287.93 B 0.52 0.1 (egion is) 516.52 287.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (not valid.) 198 275.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0.7 (SetArrayRegion Routines) 247.81 243.27 P 0 0 0 1 0 0 0 K 54 387/G8.22933 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (void) 198 221.93 P 0 F 0.52 0.1 (SetArrayRegion) 292.97 221.93 B 5 F 1.2 (\050JNIEnv *env,) 367.2 221.93 P 0 F 0.52 0.1 (ArrayT) 453.6 221.93 B 0.52 0.1 (ype) 483.83 221.93 B 5 F 1.2 ( array,) 498.02 221.93 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( jsize start, jsize len,) 198 209.93 P 0 F 0.52 0.1 (NativeT) 382.8 209.93 B 0.52 0.1 (ype) 415.91 209.93 B 5 F 1.2 ( *buf\051;) 430.1 209.93 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (A family of functions that copies back a r) 198 189.93 B 0.52 0.1 (egion of a primitive array fr) 387.27 189.93 B 0.52 0.1 (om a) 515.38 189.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.1 (buf) 198 177.93 S 0.1 (fer) 213.01 177.93 S 0.1 (.) 224.64 177.93 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 620 S 0.09 (able) 202.59 620 S 0.09 (4-) 219.46 620 S 0.09 (12) 227.13 620 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (GetArrayRegion Family of Array Accessor Routines) 303.86 620 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (GetArrayRegion) 263.39 599 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (Routine) 198 587.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Array T) 378 587.6 B 0.47 0.09 (ype) 410.05 587.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 468 587.6 B 0.47 0.09 (ype) 504.13 587.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (GetBooleanArrayRegion\050\051) 198 570.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbooleanArray) 378 570.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 468 570.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetByteArrayRegion\050\051) 198 553.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyteArray) 378 553.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 468 553.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetCharArrayRegion\050\051) 198 536.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jcharArray) 378 536.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 468 536.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetShortArrayRegion\050\051) 198 519.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshortArray) 378 519.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jhort) 468 519.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetIntArrayRegion\050\051) 198 502.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jintArray) 378 502.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 468 502.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetLongArrayRegion\050\051) 198 485.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlongArray) 378 485.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 468 485.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetFloatArrayRegion\050\051) 198 468.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloatArray) 378 468.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jloat) 468 468.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (GetDoubleArrayRegion\050\051) 198 451.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdoubleArray) 378 451.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 468 451.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 611 558 611 2 L V 0 Z N 198 582.6 558 582.6 2 L V 0.5 H N 198 446.6 558 446.6 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.70/DEST FmPD2 241 770/M8.9.13417.TableCaption.Table412.GetPrimitiveTypeArrayRegion.Family.of.Array.Accessor.Routines FmPA 241 770/I8.1.6181 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "70" 80 %%Page: "71" 81 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (71) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (The following table describes the speci\336c primitive array element accessors.) 198 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (Y) 198 629.33 B 0.52 0.1 (ou should make the following r) 203.85 629.33 B 0.52 0.1 (eplacements:) 348.53 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 611.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 611.33 B 0 F 0.52 0.1 (SetArrayRegion) 312.81 611.33 B 1 F 0.52 0.1 (with one of the actual primitive) 390.16 611.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (element accessor r) 210.6 599.33 B 0.52 0.1 (outine names fr) 293.96 599.33 B 0.52 0.1 (om the table.) 365.55 599.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 581.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 581.33 B 0 F 0.52 0.1 (ArrayT) 249.04 581.33 B 0.52 0.1 (ype) 279.27 581.33 B 1 F 0.52 0.1 ( with the corr) 293.46 581.33 B 0.52 0.1 (esponding array type.) 355.74 581.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 4 14 Q 0.14 (\245) 198 563.33 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Replace) 210.6 563.33 B 0 F 0.52 0.1 (NativeT) 249.04 563.33 B 0.52 0.1 (ype) 282.15 563.33 B 1 F 0.52 0.1 ( with the corr) 296.34 563.33 B 0.52 0.1 (esponding native type for that r) 358.62 563.33 B 0.52 0.1 (outine.) 504.54 563.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 346.6 S 0.09 (ARAMETERS:) 202.92 346.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 330.93 P 1.22 0.1 (:) 216 330.93 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 330.93 B 0.52 0.1 (.) 335.41 330.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (array) 198 310.93 P 1.22 0.1 (:) 228 310.93 B 1 F 0.52 0.1 ( a Java array) 234.1 310.93 B 0.52 0.1 (.) 290.79 310.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (start) 198 290.93 P 1.22 0.1 (:) 228 290.93 B 1 F 0.52 0.1 ( the starting index.) 234.1 290.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (len) 198 270.93 P 1.22 0.1 (:) 216 270.93 B 1 F 0.52 0.1 ( the number of elements to be copied.) 222.1 270.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (buf) 198 250.93 P 1.22 0.1 (:) 216 250.93 B 1 F 0.52 0.1 ( the destination buf) 222.1 250.93 B 0.52 0.1 (fer) 311.32 250.93 B 0.52 0.1 (.) 322.95 250.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 225.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (ArrayIndexOutOfBoundsException) 198 209.93 P 1.22 0.1 (:) 378 209.93 B 1 F 0.52 0.1 ( if one of the indexes in the r) 384.1 209.93 B 0.52 0.1 (egion is) 516.52 209.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (not valid.) 198 197.93 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 9 Q 0.09 (T) 198 542 S 0.09 (able) 202.59 542 S 0.09 (4-) 219.46 542 S 0.09 (13) 227.13 542 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.47 0.09 (SetArrayRegion Family of Array Accessor Routines) 301.71 542 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.47 0.09 (SetArrayRegion) 261.39 521 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (Routine) 198 509.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Array T) 378 509.6 B 0.47 0.09 (ype) 410.05 509.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.47 0.09 (Native T) 468 509.6 B 0.47 0.09 (ype) 504.13 509.6 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F (SetBooleanArrayRegion\050\051) 198 492.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbooleanArray) 378 492.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jboolean) 468 492.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetByteArrayRegion\050\051) 198 475.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyteArray) 378 475.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jbyte) 468 475.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetCharArrayRegion\050\051) 198 458.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jcharArray) 378 458.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jchar) 468 458.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetShortArrayRegion\050\051) 198 441.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshortArray) 378 441.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jshort) 468 441.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetIntArrayRegion\050\051) 198 424.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jintArray) 378 424.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jint) 468 424.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetLongArrayRegion\050\051) 198 407.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlongArray) 378 407.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jlong) 468 407.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetFloatArrayRegion\050\051) 198 390.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloatArray) 378 390.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jfloat) 468 390.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (SetDoubleArrayRegion\050\051) 198 373.6 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdoubleArray) 378 373.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.09 (jdouble) 468 373.6 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 533 558 533 2 L V 0 Z N 198 504.6 558 504.6 2 L V 0.5 H N 198 368.6 558 368.6 2 L V 0.3 H N 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.71/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "71" 81 %%Page: "72" 82 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (72) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q 0 X 0 0 0 1 0 0 0 K -0.94 (Registering Native Methods) 54 638 P 0 0 0 1 0 0 0 K 54 782/G8.5833 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (RegisterNatives) 160.49 603.67 T 0 0 0 1 0 0 0 K 54 748/G8.17734 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jint RegisterNatives\050JNIEnv *env, jclass clazz,) 198 582.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1.2 ( const JNINativeMethod *methods, jint nMethods\051;) 198 570.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.4 0.1 (Registers native methods with the class speci\336ed by the) 198 550.33 B 5 F 0.93 (clazz) 455.4 550.33 P 1 F 0.4 0.1 ( ar) 485.4 550.33 B 0.4 0.1 (gument. The) 497.37 550.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (methods) 198 538.33 P 1 F 0.52 0.1 ( parameter speci\336es an array of) 240 538.33 B 5 F 1.2 (JNINativeMethod) 387.44 538.33 P 1 F 0.52 0.1 ( str) 477.44 538.33 B 0.52 0.1 (uctur) 492.23 538.33 B 0.52 0.1 (es that) 516.26 538.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (contain the names, signatur) 198 526.33 B 0.52 0.1 (es, and function pointers of the native methods.) 324.11 526.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.37 0.1 (The) 198 514.33 B 5 F 0.85 (nMethods) 218.01 514.33 P 1 F 0.37 0.1 ( parameter speci\336es the number of native methods in the array) 266.01 514.33 B 0.37 0.1 (.) 552.33 514.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (The) 198 502.33 B 5 F 1.2 (JNINativeMethod) 218.16 502.33 P 1 F 0.52 0.1 ( str) 308.16 502.33 B 0.52 0.1 (uctur) 322.95 502.33 B 0.52 0.1 (e is de\336ned as follows:) 346.98 502.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (typedef struct {) 198 485 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( char *name;) 198 474 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( char *signature;) 198 463 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K ( void *fnPtr;) 198 452 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K (} JNINativeMethod;) 198 441 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (The function pointers nominally must have the following signatur) 198 421.33 B 0.52 0.1 (e:) 500.81 421.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q (ReturnType \050*fnPtr\051\050JNIEnv *env, jobject objectOrClass, ...\051;) 198 404 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 F 0.09 (P) 198 379 S 0.09 (ARAMETERS:) 202.92 379 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 363.33 P 1.22 0.1 (:) 216 363.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 363.33 B 0.52 0.1 (.) 335.41 363.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 343.33 P 1.22 0.1 (:) 228 343.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 343.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (methods) 198 323.33 P 1.22 0.1 (:) 240 323.33 B 1 F 0.52 0.1 ( the native methods in the class.) 246.1 323.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (nMethods) 198 303.33 P 1.22 0.1 (:) 246 303.33 B 1 F 0.52 0.1 ( the number of native methods in the class.) 252.1 303.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 278 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 262.33 B 0.52 0.1 (eturns a negative value on failur) 312.32 262.33 B 0.52 0.1 (e.) 461.2 262.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (THROWS:) 198 237 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 0.15 (NoSuchMethodError) 198 221.33 P 0.16 0.1 (:) 300 221.33 B 1 F 0.07 0.1 ( if a speci\336ed method cannot be found or if the method) 306.1 221.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (is not native.) 198 209.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (Unr) 160.49 176.67 T (egisterNatives) 184.36 176.67 T 0 0 0 1 0 0 0 K 54 321/G8.17775 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jint UnregisterNatives\050JNIEnv *env, jclass clazz\051;) 198 155.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.72/DEST FmPD2 54 792/M8.9.25128.Head1.Registering.Native.Methods FmPA 54 792/I8.1.5832 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "72" 82 %%Page: "73" 83 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (JNI Functions) 198 108.7 B 1 F -0.58 0.09 (\321) 250.51 108.7 B 0 F -0.58 0.09 (May 1997) 259.6 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (73) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (4) 528.56 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.33 0.1 (Unr) 198 641.33 B 0.33 0.1 (egisters native methods of a class. The class goes back to the state befor) 215.67 641.33 B 0.33 0.1 (e it) 540.87 641.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (was linked or r) 198 629.33 B 0.52 0.1 (egister) 267.42 629.33 B 0.52 0.1 (ed with its native method functions.) 297.44 629.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (This function should not be used in normal native code. Instead, it pr) 198 609.33 B 0.52 0.1 (ovides) 516.47 609.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (special pr) 198 597.33 B 0.52 0.1 (ograms a way to r) 242.1 597.33 B 0.52 0.1 (eload and r) 325.31 597.33 B 0.52 0.1 (elink native libraries.) 377.42 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 572 S 0.09 (ARAMETERS:) 202.92 572 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 556.33 P 1.22 0.1 (:) 216 556.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 556.33 B 0.52 0.1 (.) 335.41 556.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (clazz) 198 536.33 P 1.22 0.1 (:) 228 536.33 B 1 F 0.52 0.1 ( a Java class object.) 234.1 536.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 511 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 495.33 B 0.52 0.1 (eturns a negative value on failur) 312.32 495.33 B 0.52 0.1 (e.) 461.2 495.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Monitor Operations) 54 462 P 0 0 0 1 0 0 0 K 54 606/G8.5256 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (MonitorEnter) 160.49 427.67 T 0 0 0 1 0 0 0 K 54 572/G8.23124 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jint MonitorEnter\050JNIEnv *env, jobject obj\051;) 198 406.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (Enters the monitor associated with the underlying Java object r) 198 386.33 B 0.52 0.1 (eferr) 486.89 386.33 B 0.52 0.1 (ed to by) 508.02 386.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 374.33 P 1 F 0.52 0.1 (.) 216 374.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.43 0.1 (Each Java object has a monitor associated with it. If the curr) 198 354.33 B 0.43 0.1 (ent thr) 471.55 354.33 B 0.43 0.1 (ead alr) 501.9 354.33 B 0.43 0.1 (eady) 533.11 354.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (owns the monitor associated with) 198 342.33 B 5 F 1.2 (obj) 355.6 342.33 P 1 F 0.52 0.1 (, it incr) 373.6 342.33 B 0.52 0.1 (ements a counter in the monitor) 406.15 342.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (indicating the number of times this thr) 198 330.33 B 0.52 0.1 (ead has enter) 375.48 330.33 B 0.52 0.1 (ed the monitor) 436.21 330.33 B 0.52 0.1 (. If the) 503.37 330.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (monitor associated with) 198 318.33 B 5 F 1.2 (obj) 310.93 318.33 P 1 F 0.52 0.1 ( is not owned by any thr) 328.93 318.33 B 0.52 0.1 (ead, the curr) 441.98 318.33 B 0.52 0.1 (ent thr) 499.78 318.33 B 0.52 0.1 (ead) 530.22 318.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.34 0.1 (becomes the owner of the monitor) 198 306.33 B 0.34 0.1 (, setting the entry count of this monitor to 1.) 353.3 306.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (If another thr) 198 294.33 B 0.52 0.1 (ead alr) 259.09 294.33 B 0.52 0.1 (eady owns the monitor associated with) 290.39 294.33 B 5 F 1.2 (obj) 472.97 294.33 P 1 F 0.52 0.1 (, the curr) 490.97 294.33 B 0.52 0.1 (ent) 532.57 294.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (thr) 198 282.33 B 0.52 0.1 (ead waits until the monitor is r) 211.15 282.33 B 0.52 0.1 (eleased, then tries again to gain ownership.) 353.53 282.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 257 S 0.09 (ARAMETERS:) 202.92 257 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 241.33 P 1.22 0.1 (:) 216 241.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 241.33 B 0.52 0.1 (.) 335.41 241.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 221.33 P 1.22 0.1 (:) 216 221.33 B 1 F 0.52 0.1 ( a normal Java object or class object.) 222.1 221.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 196 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 180.33 B 0.52 0.1 (eturns a negative value on failur) 312.32 180.33 B 0.52 0.1 (e.) 461.2 180.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.73/DEST FmPD2 54 616/M8.9.32056.Head1.Monitor.Operations FmPA 54 616/I8.1.5284 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "73" 83 %%Page: "74" 84 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (74) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (4) 73.44 680.03 T 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q 0 X 0 0 0 1 0 0 0 K (MonitorExit) 160.49 638.67 T 0 0 0 1 0 0 0 K 54 783/G8.5252 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jint MonitorExit\050JNIEnv *env, jobject obj\051;) 198 617.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.52 0.1 (The curr) 198 597.33 B 0.52 0.1 (ent thr) 236.75 597.33 B 0.52 0.1 (ead must be the owner of the monitor associated with the) 267.19 597.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (underlying Java object r) 198 585.33 B 0.52 0.1 (eferr) 307.49 585.33 B 0.52 0.1 (ed to by) 328.62 585.33 B 5 F 1.2 (obj) 369.29 585.33 P 1 F 0.52 0.1 (. The thr) 387.29 585.33 B 0.52 0.1 (ead decr) 426.32 585.33 B 0.52 0.1 (ements the counter) 465.15 585.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (indicating the number of times it has enter) 198 573.33 B 0.52 0.1 (ed this monitor) 393.48 573.33 B 0.52 0.1 (. If the value of the) 463.1 573.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (counter becomes zer) 198 561.33 B 0.52 0.1 (o, the curr) 291.33 561.33 B 0.52 0.1 (ent thr) 338.49 561.33 B 0.52 0.1 (ead r) 368.93 561.33 B 0.52 0.1 (eleases the monitor) 392.12 561.33 B 0.52 0.1 (.) 479.64 561.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 536 S 0.09 (ARAMETERS:) 202.92 536 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 520.33 P 1.22 0.1 (:) 216 520.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 520.33 B 0.52 0.1 (.) 335.41 520.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (obj) 198 500.33 P 1.22 0.1 (:) 216 500.33 B 1 F 0.52 0.1 ( a normal Java object or class object.) 222.1 500.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 475 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 459.33 B 0.52 0.1 (eturns a negative value on failur) 312.32 459.33 B 0.52 0.1 (e.) 461.2 459.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 15 Q -0.94 (Java VM Interface) 54 426 P 0 0 0 1 0 0 0 K 54 570/G8.5263 FmPA 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 14 Q (GetJavaVM) 160.49 391.67 T 0 0 0 1 0 0 0 K 54 536/G8.23168 FmPA 0 0 0 1 0 0 0 K 5 10 Q 1.2 (jint GetJavaVM\050JNIEnv *env, JavaVM **vm\051;) 198 370.33 P 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 F 0.2 0.1 (Returns the Java VM interface \050used in the Invocation API\051 associated with the) 198 350.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (curr) 198 338.33 B 0.52 0.1 (ent thr) 216.59 338.33 B 0.52 0.1 (ead. The r) 247.03 338.33 B 0.52 0.1 (esult is placed at the location pointed to by the second) 292.98 338.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0.52 0.1 (ar) 198 326.33 B 0.52 0.1 (gument,) 206.97 326.33 B 5 F 1.2 (vm) 247.58 326.33 P 1 F 0.52 0.1 (.) 259.58 326.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (P) 198 301 S 0.09 (ARAMETERS:) 202.92 301 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 10 Q 1.2 (env) 198 285.33 P 1.22 0.1 (:) 216 285.33 B 1 F 0.52 0.1 ( the JNI interface pointer) 222.1 285.33 B 0.52 0.1 (.) 335.41 285.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 F 1.2 (vm) 198 265.33 P 1.22 0.1 (:) 210 265.33 B 1 F 0.52 0.1 ( a pointer to wher) 216.1 265.33 B 0.52 0.1 (e the r) 298.62 265.33 B 0.52 0.1 (esult should be placed.) 327.79 265.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0.09 (RETURNS:) 198 240 S 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 224.33 B 0.52 0.1 (eturns a negative value on failur) 312.32 224.33 B 0.52 0.1 (e.) 461.2 224.33 B 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.74/DEST FmPD2 [/Dest/L.functionsdoc/DEST FmPD2 54 580/M8.9.13802.Head1.Java.VM.Interface FmPA 54 580/I8.1.5295 FmPA [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "74" 84 %%Page: "75" 85 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (75) 548.82 108.7 S 0 0 0 1 0 0 0 K 198 500.18 558 500.18 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 540.76 521.07 558.36 524.92 R 0 X 1 1 0 0 0 0 1 K V 540.76 514.65 558.36 518.5 R V 540.76 508.42 558.36 512.27 R V 540.76 518.61 558.36 521.29 R 7 X V 540.76 512.4 558.36 514.87 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 54 522.64 558 589.39 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 72 612 720 C 0 20 Q 0 X 0 0 0 1 0 0 0 K -2.5 (The Invocation API) 198 509.31 P 54 653/G9.9502 FmPA 1 1 0 0 0 0 1 K 0 24 Q 1 1 0 0 0 0 1 K -3.12 (5) 525.14 508.64 S 0 0 0 1 0 0 0 K 1 10 Q 0 0 0 1 0 0 0 K 0.52 0.1 (The Invocation API allows softwar) 198 459.68 B 0.52 0.1 (e vendors to load the Java VM into an) 356.76 459.68 B 0.52 0.1 (arbitrary native application. V) 198 447.68 B 0.52 0.1 (endors can deliver Java-enabled applications) 335.04 447.68 B 0.52 0.1 (without having to link with the Java VM sour) 198 435.68 B 0.52 0.1 (ce code.) 407.68 435.68 B 0.52 0.1 (This chapter begins with an overview of the Invocation API. This is followed) 198 415.68 B 0.52 0.1 (by r) 198 403.68 B 0.52 0.1 (efer) 216.28 403.68 B 0.52 0.1 (ence pages for all Invocation API functions.) 233.36 403.68 B 0.52 0.1 (T) 198 383.68 B 0.52 0.1 (o enhance the embeddability of the Java VM, the Invocation API is extended) 203.31 383.68 B 0.52 0.1 (in JDK 1.1.2 in a few minor ways.) 198 371.68 B 0 15 Q (Overview) 54 338.34 T 54 482/G9.15926 FmPA 1 10 Q 0.52 0.1 (The following code example illustrates how to use functions in the Invocation) 198 316.68 B 0.52 0.1 (API. In this example, the C++ code cr) 198 304.68 B 0.52 0.1 (eates a Java VM and invokes a static) 370.03 304.68 B 0.52 0.1 (method, called) 198 292.68 B 5 F 1.2 (Main.test) 268.47 292.68 P 1 F 0.52 0.1 (. For clarity) 322.47 292.68 B 0.52 0.1 (, we omit err) 374.2 292.68 B 0.52 0.1 (or checking.) 433.16 292.68 B 5 9 Q ( #include /* where everything is defined */) 198 275.34 T ( ...) 198 253.34 T ( JavaVM *jvm; /* denotes a Java VM */) 198 231.34 T ( JNIEnv *env; /* pointer to native method interface */) 198 220.34 T -1.05 ( JDK1_1InitArgs vm_args; /* JDK 1.1 VM initialization arguments */) 198 198.34 P ( vm_args.version = 0x00010001; /* New in 1.1.2: VM version */) 198 176.34 T ( /* Get the default initialization arguments and set the class) 198 165.34 T ( * path */) 198 154.34 T ( JNI_GetDefaultJavaVMInitArgs\050&vm_args\051;) 198 143.34 T ( vm_args.classpath = ...;) 198 132.34 T 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.75/DEST FmPD2 [/Dest/F.invocationdoc/DEST FmPD2 534 669/M9.9.19693.ChapNumber.5 FmPA 534 669/I9.1.365 FmPA [/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2 [/Title(A)/Rect[45 108 567 475]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "75" 85 %%Page: "76" 86 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (76) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (5) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K ( /* load and initialize a Java VM, return a JNI interface) 198 642 T ( * pointer in env */) 198 631 T ( JNI_CreateJavaVM\050&jvm, &env, &vm_args\051;) 198 620 T ( /* invoke the Main.test method using the JNI */) 198 598 T ( jclass cls = env->FindClass\050"Main"\051;) 198 587 T ( jmethodID mid = env->GetStaticMethodID\050cls, "test", "\050I\051V"\051;) 198 576 T ( env->CallStaticVoidMethod\050cls, mid, 100\051;) 198 565 T ( /* We are done. */) 198 543 T ( jvm->DestroyJavaVM\050\051;) 198 532 T 1 10 Q 0.52 0.1 (This example uses thr) 198 512.33 B 0.52 0.1 (ee functions in the API. The Invocation API allows a) 297.9 512.33 B 0.52 0.1 (native application to use the JNI interface pointer to access VM featur) 198 500.33 B 0.52 0.1 (es. The) 517.35 500.33 B 0.52 0.1 (design is similar to Netscape\325s JRI Embedding Interface.) 198 488.33 B 0 14 Q 0.7 (Cr) 160.49 455.67 P 0.7 (eating the VM) 175.02 455.67 P 54 600/G9.15956 FmPA 1 10 Q 0.52 0.1 (The) 198 434.33 B 5 F 1.2 (JNI_CreateJavaVM\050\051) 218.16 434.33 P 1 F 0.52 0.1 ( function loads and initializes a Java VM and) 326.16 434.33 B 0.52 0.1 (r) 198 422.33 B 0.52 0.1 (eturns a pointer to the JNI interface pointer) 201.87 422.33 B 0.52 0.1 (. The thr) 400.15 422.33 B 0.52 0.1 (ead that called) 439.18 422.33 B 5 F 1.2 (JNI_CreateJavaVM\050\051) 198 410.33 P 1 F 0.52 0.1 ( is consider) 306 410.33 B 0.52 0.1 (ed to be the) 357.93 410.33 B 0 F 0.52 0.1 (main thr) 415.12 410.33 B 0.52 0.1 (ead) 451.54 410.33 B 1 F 0.52 0.1 (.) 465.17 410.33 B 0 14 Q 0.7 (Attaching to the VM) 160.49 377.67 P 54 522/G9.1060 FmPA 1 10 Q 0.52 0.1 (The JNI interface pointer \050) 198 356.33 B 5 F 1.2 (JNIEnv) 318.35 356.33 P 1 F 0.52 0.1 (\051 is valid only in the curr) 354.35 356.33 B 0.52 0.1 (ent thr) 468.77 356.33 B 0.52 0.1 (ead. Should) 499.21 356.33 B 0.52 0.1 (another thr) 198 344.33 B 0.52 0.1 (ead need to access the Java VM, it must \336rst call) 249.07 344.33 B 5 F -0.18 (AttachCurrentThread\050\051) 198 332.33 P 1 F -0.08 0.1 ( to attach itself to the VM and obtain a JNI interface) 324 332.33 B 0.52 0.1 (pointer) 198 320.33 B 0.52 0.1 (. Once attached to the VM, a native thr) 230.16 320.33 B 0.52 0.1 (ead works just like an or) 408.36 320.33 B 0.52 0.1 (dinary) 521.49 320.33 B 0.52 0.1 (Java thr) 198 308.33 B 0.52 0.1 (ead r) 233.65 308.33 B 0.52 0.1 (unning inside a native method. The native thr) 256.94 308.33 B 0.52 0.1 (ead r) 467.54 308.33 B 0.52 0.1 (emains) 490.73 308.33 B 0.52 0.1 (attached to the VM until it calls) 198 296.33 B 5 F 1.2 (DetachCurrentThread\050\051) 346.09 296.33 P 1 F 0.52 0.1 ( to detach itself.) 472.09 296.33 B 0 14 Q 0.7 (Unloading the VM) 160.49 263.67 P 54 408/G9.16553 FmPA 1 10 Q 0.52 0.1 (The main thr) 198 242.33 B 0.52 0.1 (ead cannot detach itself fr) 257.39 242.33 B 0.52 0.1 (om the VM. Instead, it must call) 375.83 242.33 B 5 F 1.2 (DestroyJavaVM\050\051) 198 230.33 P 1 F 0.52 0.1 ( to unload the entir) 288 230.33 B 0.52 0.1 (e VM.) 376.55 230.33 B 0.52 0.1 (The VM waits until the main thr) 198 210.33 B 0.52 0.1 (ead is the only) 346.6 210.33 B 0 F 0.52 0.1 (user thr) 416.95 210.33 B 0.52 0.1 (ead) 450.04 210.33 B 1 F 0.52 0.1 ( befor) 463.67 210.33 B 0.52 0.1 (e it actually) 490.17 210.33 B 0.52 0.1 (unloads. User thr) 198 198.33 B 0.52 0.1 (eads include both Java thr) 277.42 198.33 B 0.52 0.1 (eads and attached native thr) 397.15 198.33 B 0.52 0.1 (eads.) 527.05 198.33 B 0.52 0.1 (This r) 198 186.33 B 0.52 0.1 (estriction exists because a Java thr) 224.49 186.33 B 0.52 0.1 (ead or attached native thr) 380.48 186.33 B 0.52 0.1 (ead may be) 498.43 186.33 B 0.52 0.1 (holding system r) 198 174.33 B 0.52 0.1 (esour) 274.92 174.33 B 0.52 0.1 (ces, such as locks, windows, and so on. The) 299.71 174.33 B 5 F 1.2 (VM) 503.01 174.33 P 1 F 0.52 0.1 ( cannot) 515.01 174.33 B 0.05 0.1 (automatically fr) 198 162.33 B 0.05 0.1 (ee these r) 269.82 162.33 B 0.05 0.1 (esour) 312.18 162.33 B 0.05 0.1 (ces. By r) 336.97 162.33 B 0.05 0.1 (estricting the main thr) 374.39 162.33 B 0.05 0.1 (ead to be the only) 474.77 162.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.76/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "76" 86 %%Page: "77" 87 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (The Invocation API) 198 108.7 B 1 F -0.58 0.09 (\321) 270.1 108.7 B 0 F -0.58 0.09 (May 1997) 279.19 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (77) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (5) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 1 10 Q 0 X 0 0 0 1 0 0 0 K 0.52 0.1 (r) 198 641.33 B 0.52 0.1 (unning thr) 201.97 641.33 B 0.52 0.1 (ead when the VM is unloaded, the bur) 250.8 641.33 B 0.52 0.1 (den of r) 427.84 641.33 B 0.52 0.1 (eleasing system) 463.96 641.33 B 0.52 0.1 (r) 198 629.33 B 0.52 0.1 (esour) 201.87 629.33 B 0.52 0.1 (ces held by arbitrary thr) 226.66 629.33 B 0.52 0.1 (eads is on the pr) 337.39 629.33 B 0.52 0.1 (ogrammer) 413.39 629.33 B 0.52 0.1 (.) 459.82 629.33 B 0 15 Q -0.94 (Initialization Structur) 54 596 P -0.94 (es) 188.48 596 P 54 740/G9.16554 FmPA 1 10 Q 0.52 0.1 (Dif) 198 574.33 B 0.52 0.1 (fer) 212.1 574.33 B 0.52 0.1 (ent Java VM implementation will likely r) 224.29 574.33 B 0.52 0.1 (equir) 412.02 574.33 B 0.52 0.1 (e dif) 435.62 574.33 B 0.52 0.1 (fer) 456.1 574.33 B 0.52 0.1 (ent initialization) 468.29 574.33 B 0.52 0.1 (ar) 198 562.33 B 0.52 0.1 (guments. It is dif) 206.97 562.33 B 0.52 0.1 (\336cult to come up with a standar) 284.81 562.33 B 0.52 0.1 (d initialization str) 431.53 562.33 B 0.52 0.1 (uctur) 513.12 562.33 B 0.52 0.1 (e) 537.16 562.33 B 0.47 0.1 (suitable for all pr) 198 550.33 B 0.47 0.1 (esent and futur) 276.8 550.33 B 0.47 0.1 (e Java VMs. As a compr) 346.48 550.33 B 0.47 0.1 (omise, we r) 456.23 550.33 B 0.47 0.1 (eserve the) 508.89 550.33 B 0.52 0.1 (\336rst \336eld \050) 198 538.33 B 5 F 1.22 0.1 (version) 245.83 538.33 B 1 F 0.52 0.1 (\051 to identify the content of the initialization str) 288.53 538.33 B 0.52 0.1 (uctur) 501.36 538.33 B 0.52 0.1 (e.) 525.39 538.33 B 0.52 0.1 (Native applications embedding JDK 1.1.2 must set the version \336eld to) 198 526.33 B 5 F 1.22 0.1 (0x00010001) 198 514.33 B 1 F 0.52 0.1 (. VM implementations ar) 259 514.33 B 0.52 0.1 (e encouraged to use the same) 373.15 514.33 B 0.51 0.1 (initialization str) 198 502.33 B 0.51 0.1 (uctur) 270.26 502.33 B 0.51 0.1 (e as JDK, although other implementations may choose to) 294.29 502.33 B 0.52 0.1 (ignor) 198 490.33 B 0.52 0.1 (e some of the initialization ar) 222.02 490.33 B 0.52 0.1 (guments supported by JDK.) 355.84 490.33 B 0.52 0.1 (V) 198 470.33 B 0.52 0.1 (ersion numbers) 204.21 470.33 B 5 F 1.22 0.1 (0x80000000) 278.11 470.33 B 1 F 0.52 0.1 ( to) 339.11 470.33 B 5 F 1.22 0.1 (0xFFFFFFFF) 354.27 470.33 B 1 F 0.52 0.1 ( ar) 415.27 470.33 B 0.52 0.1 (e r) 427.36 470.33 B 0.52 0.1 (eserved, and should not) 439.24 470.33 B 0.52 0.1 (be r) 198 458.33 B 0.52 0.1 (ecognized by any VM implementation.) 215.51 458.33 B 0.52 0.1 (The following code shows the str) 198 438.33 B 0.52 0.1 (uctur) 349.88 438.33 B 0.52 0.1 (e used to initialize the Java VM in JDK) 373.91 438.33 B 0.1 (1.1.2.) 198 426.33 S 5 9 Q (typedef struct JDK1_1InitArgs {) 198 409 T ( /* The first two fields were reserved in JDK 1.1, and) 198 398 T ( formally introduced in JDK 1.1.2. */) 198 387 T ( /* Java VM version */) 198 376 T ( jint version;) 198 365 T ( /* System properties. */) 198 343 T ( char **properties;) 198 332 T ( /* whether to check the Java source files are newer than) 198 310 T ( * compiled class files. */) 198 299 T ( jint checkSource;) 198 288 T ( /* maximum native stack size of Java-created threads. */) 198 266 T ( jint nativeStackSize;) 198 255 T ( /* maximum Java stack size. */) 198 233 T ( jint javaStackSize;) 198 222 T ( /* initial heap size. */) 198 200 T ( jint minHeapSize;) 198 189 T ( /* maximum heap size. */) 198 167 T ( jint maxHeapSize;) 198 156 T 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.77/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "77" 87 %%Page: "78" 88 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (78) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (5) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K ( /* controls whether Java byte code should be verified:) 198 631 T ( * 0 -- none, 1 -- remotely loaded code, 2 -- all code. */) 198 620 T ( jint verifyMode;) 198 609 T ( /* the local directory path for class loading. */) 198 587 T ( const char *classpath;) 198 576 T ( /* a hook for a function that redirects all VM messages. */) 198 554 T ( jint \050*vfprintf\051\050FILE *fp, const char *format,) 198 543 T ( va_list args\051;) 198 532 T ( /* a VM exit hook. */) 198 510 T ( void \050*exit\051\050jint code\051;) 198 499 T ( /* a VM abort hook. */) 198 477 T ( void \050*abort\051\050\051;) 198 466 T ( /* whether to enable class GC. */) 198 444 T ( jint enableClassGC;) 198 433 T ( /* whether GC messages will appear. */) 198 411 T ( jint enableVerboseGC;) 198 400 T ( /* whether asynchronous GC is allowed. */) 198 378 T ( jint disableAsyncGC;) 198 367 T ( /* Three reserved fields. */) 198 345 T ( jint reserved0;) 198 334 T ( jint reserved1;) 198 323 T ( jint reserved2;) 198 312 T (} JDK1_1InitArgs;) 198 301 T 1 10 Q 0.52 0.1 (In JDK 1.1.2, the initialization str) 198 281.33 B 0.52 0.1 (uctur) 348.04 281.33 B 0.52 0.1 (e pr) 372.07 281.33 B 0.52 0.1 (ovides hooks so that a native) 390.06 281.33 B 0.52 0.1 (application can r) 198 269.33 B 0.52 0.1 (edir) 274.5 269.33 B 0.52 0.1 (ect VM messages and obtain contr) 292.48 269.33 B 0.52 0.1 (ol when the VM) 449.3 269.33 B 0.1 (terminates.) 198 257.33 S 0.19 0.1 (The str) 198 237.33 B 0.19 0.1 (uctur) 229.5 237.33 B 0.19 0.1 (e below is passed as an ar) 253.52 237.33 B 0.19 0.1 (gument when a native thr) 370.43 237.33 B 0.19 0.1 (ead attaches to) 487.91 237.33 B 0.52 0.1 (a Java VM in JDK 1.1.2. In actuality) 198 225.33 B 0.52 0.1 (, no ar) 359.41 225.33 B 0.52 0.1 (guments ar) 388.7 225.33 B 0.52 0.1 (e r) 440.02 225.33 B 0.52 0.1 (equir) 451.9 225.33 B 0.52 0.1 (ed for a native) 475.5 225.33 B 0.52 0.1 (thr) 198 213.33 B 0.52 0.1 (ead to attach to the JDK 1.1.2. The) 211.15 213.33 B 5 F 1.2 (JDK1_1AttachArgs) 370.47 213.33 P 1 F 0.52 0.1 ( str) 466.47 213.33 B 0.52 0.1 (uctur) 481.26 213.33 B 0.52 0.1 (e consists) 505.29 213.33 B 0.52 0.1 (only of a padding slot for those C compilers that do not permit empty) 198 201.33 B 0.1 (str) 198 189.33 S 0.1 (uctur) 209.67 189.33 S 0.1 (es.) 233.7 189.33 S 5 9 Q (typedef struct JDK1_1AttachArgs {) 198 172 T ( /*) 198 161 T ( * JDK 1.1 does not need any arguments to attach a) 198 150 T 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.78/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "78" 88 %%Page: "79" 89 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (The Invocation API) 198 108.7 B 1 F -0.58 0.09 (\321) 270.1 108.7 B 0 F -0.58 0.09 (May 1997) 279.19 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (79) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (5) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 5 9 Q 0 X 0 0 0 1 0 0 0 K ( * native thread. The padding is here to satisfy the C) 198 642 T ( * compiler which does not permit empty structures.) 198 631 T ( */) 198 620 T ( void *__padding;) 198 609 T (} JDK1_1AttachArgs;) 198 598 T 0 15 Q -0.94 (Invocation API Functions) 54 565 P 54 709/G9.756 FmPA 1 10 Q 0.52 0.1 (The) 198 543.33 B 5 F 1.2 (JavaVM) 218.16 543.33 P 1 F 0.52 0.1 ( type is a pointer to the Invocation API function table. The) 254.16 543.33 B 0.52 0.1 (following code example shows this function table.) 198 531.33 B 5 9 Q (typedef const struct JNIInvokeInterface *JavaVM;) 198 514 T (const struct JNIInvokeInterface ... = {) 198 492 T ( NULL,) 198 481 T ( NULL,) 198 470 T ( NULL,) 198 459 T ( DestroyJavaVM,) 198 437 T ( AttachCurrentThread,) 198 426 T ( DetachCurrentThread,) 198 415 T (};) 198 404 T 1 10 Q 0.52 0.1 (Note that thr) 198 384.33 B 0.52 0.1 (ee Invocation API functions,) 257.35 384.33 B 5 F 1.2 (JNI_GetDefaultJavaVMInitArgs\050\051) 198 372.33 P 1 F 0.52 0.1 (,) 378 372.33 B 5 F 1.22 0.1 (JNI_GetCreatedJavaVMs\050\051) 383.72 372.33 B 1 F 0.52 0.1 (, and) 524.02 372.33 B 5 F 1.2 (JNI_CreateJavaVM\050\051) 198 360.33 P 1 F 0.52 0.1 (, ar) 306 360.33 B 0.52 0.1 (e not part of the JavaVM function table. These) 320.69 360.33 B 0.52 0.1 (functions can be used without a pr) 198 348.33 B 0.52 0.1 (eexisting) 357.44 348.33 B 5 F 1.2 (JavaVM) 400.9 348.33 P 1 F 0.52 0.1 ( str) 436.9 348.33 B 0.52 0.1 (uctur) 451.69 348.33 B 0.52 0.1 (e.) 475.72 348.33 B 0 14 Q (JNI_GetDefaultJavaVMInitAr) 160.49 315.67 T (gs) 334.42 315.67 T 54 460/G9.16064 FmPA 5 10 Q 1.2 (jint JNI_GetDefaultJavaVMInitArgs\050void *vm_args\051;) 198 294.33 P 1 F 0.52 0.1 (Returns a default con\336guration for the Java VM. Befor) 198 274.33 B 0.52 0.1 (e calling this function,) 446.65 274.33 B 0.52 0.1 (native code must) 198 262.33 B 1 8 Q 0.42 0.08 (*) 276.23 266.33 B 1 10 Q 0.52 0.1 ( set the) 279.42 262.33 B 5 F 1.22 0.1 (vm_args->version) 315.54 262.33 B 1 F 0.52 0.1 ( \336eld to the JNI version it) 413.14 262.33 B 0.52 0.1 (expects the VM to support. In JDK 1.1.2,) 198 250.33 B 5 F 1.22 0.1 (vm_args->version) 388.82 250.33 B 1 F 0.52 0.1 ( must be set to) 486.42 250.33 B 5 F 1.22 0.1 (0x00010001) 198 238.33 B 1 F 0.52 0.1 (. After this function r) 259 238.33 B 0.52 0.1 (eturns,) 356.06 238.33 B 5 F 1.22 0.1 (vm_args->version) 393.59 238.33 B 1 F 0.52 0.1 ( will be set to) 491.19 238.33 B 0.52 0.1 (the actual JNI version the VM supports.) 198 226.33 B 54 178 558 188.5 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 187.88 342 187.88 2 L 0.3 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 72 612 720 C 1 7 Q 0 X 0 0 0 1 0 0 0 K -0.29 (* JDK 1.1 did not require the native code to set the version field. For backward compatibility, JDK 1.1.2 assumes) 198 173.33 P -0.09 (that the requested version is 0x00010001 if the version field is not set. Future versions of JDK will require the) 206.64 165.33 P (version field to be set to an appropriate value.) 206.64 157.33 T 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.79/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "79" 89 %%Page: "80" 90 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (80) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (5) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 642 S 0.09 (ARAMETERS:) 202.92 642 S 5 10 Q 1.2 (vm_args) 198 626.33 P 1.22 0.1 (:) 240 626.33 B 1 F 0.52 0.1 ( a pointer to a) 246.1 626.33 B 0.5 (VM-speci\336c initialization) 313.72 626.33 P 0.52 0.1 ( str) 425.69 626.33 B 0.52 0.1 (uctur) 440.48 626.33 B 0.52 0.1 (e in to which the) 464.51 626.33 B 0.52 0.1 (default ar) 198 614.33 B 0.52 0.1 (guments ar) 242.22 614.33 B 0.52 0.1 (e \336lled.) 293.54 614.33 B 3 9 Q 0.09 (RETURNS:) 198 589 S 1 10 Q 0.16 0.1 (Returns \3220\323 if the r) 198 573.33 B 0.16 0.1 (equested version is supported; r) 284.29 573.33 B 0.16 0.1 (eturns a negative number if) 429.84 573.33 B 0.52 0.1 (the r) 198 561.33 B 0.52 0.1 (equested version is not supported.) 219.16 561.33 B 0 14 Q (JNI_GetCr) 160.49 528.67 T (eatedJavaVMs) 222.45 528.67 T 54 673/G9.633 FmPA 5 10 Q 1.2 (jint JNI_GetCreatedJavaVMs\050JavaVM **vmBuf, jsize bufLen,) 198 507.33 P 1.2 ( jsize *nVMs\051;) 198 495.33 P 1 F 0.01 0.1 (Returns all Java VMs that have been cr) 198 475.33 B 0.01 0.1 (eated. Pointers to VMs ar) 372.63 475.33 B 0.01 0.1 (e written in the) 486.52 475.33 B 0.28 0.1 (buf) 198 463.33 B 0.28 0.1 (fer) 213.01 463.33 B 5 F 0.65 0.1 (vmBuf) 228.26 463.33 B 1 F 0.28 0.1 ( in the or) 258.76 463.33 B 0.28 0.1 (der they ar) 299.91 463.33 B 0.28 0.1 (e cr) 349.61 463.33 B 0.28 0.1 (eated. At most) 365.79 463.33 B 5 F 0.65 0.1 (bufLen) 434.9 463.33 B 1 F 0.28 0.1 ( number of entries) 471.5 463.33 B 0.52 0.1 (will be written. The total number of cr) 198 451.33 B 0.52 0.1 (eated VMs is r) 373.84 451.33 B 0.52 0.1 (eturned in) 440.09 451.33 B 5 F 1.22 0.1 (*nVMs) 490.71 451.33 B 1 F 0.52 0.1 (.) 521.21 451.33 B 0.52 0.1 (JDK 1.1.2 does not support cr) 198 431.33 B 0.52 0.1 (eating mor) 332.64 431.33 B 0.52 0.1 (e than one VM in a single pr) 382.06 431.33 B 0.52 0.1 (ocess.) 513.18 431.33 B 3 9 Q 0.09 (P) 198 406 S 0.09 (ARAMETERS:) 202.92 406 S 5 10 Q 1.2 (vmBuf) 198 390.33 P 1.22 0.1 (:) 228 390.33 B 1 F 0.52 0.1 ( pointer to the buf) 234.1 390.33 B 0.52 0.1 (fer wher) 317.58 390.33 B 0.52 0.1 (e the VM str) 356.19 390.33 B 0.52 0.1 (uctur) 413.16 390.33 B 0.52 0.1 (es will be placed.) 437.19 390.33 B 5 F 1.2 (bufLen) 198 370.33 P 1.22 0.1 (:) 234 370.33 B 1 F 0.52 0.1 ( the length of the buf) 240.1 370.33 B 0.52 0.1 (fer) 336.8 370.33 B 0.52 0.1 (.) 348.43 370.33 B 5 F 1.2 (nVMs) 198 350.33 P 1.22 0.1 (:) 222 350.33 B 1 F 0.52 0.1 ( a pointer to an integer) 228.1 350.33 B 0.52 0.1 (.) 332.68 350.33 B 3 9 Q 0.09 (RETURNS:) 198 325 S 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 309.33 B 0.52 0.1 (eturns a negative number on failur) 312.32 309.33 B 0.52 0.1 (e.) 471.87 309.33 B 0 14 Q (JNI_Cr) 160.49 276.67 T (eateJavaVM) 202.24 276.67 T 54 421/G9.16334 FmPA 5 10 Q 1.2 (jint JNI_CreateJavaVM\050JavaVM **p_vm, JNIEnv **p_env,) 198 255.33 P 1.2 ( void *vm_args\051;) 198 243.33 P 1 F 0.52 0.1 (Loads and initializes a Java VM. The curr) 198 223.33 B 0.52 0.1 (ent thr) 387.84 223.33 B 0.52 0.1 (ead becomes the main thr) 418.28 223.33 B 0.52 0.1 (ead.) 536.02 223.33 B 0.52 0.1 (Sets the) 198 211.33 B 5 F 1.2 (env) 236.35 211.33 P 1 F 0.52 0.1 ( ar) 254.35 211.33 B 0.52 0.1 (gument to the JNI interface pointer of the main thr) 266.44 211.33 B 0.52 0.1 (ead.) 499.17 211.33 B 0.52 0.1 (JDK 1.1 does not support cr) 198 191.33 B 0.52 0.1 (eating mor) 324.94 191.33 B 0.52 0.1 (e than one VM in a single pr) 374.36 191.33 B 0.52 0.1 (ocess. The) 505.48 191.33 B 0.52 0.1 (version \336eld in) 198 179.33 B 5 F 1.22 0.1 (vm_args) 270.07 179.33 B 1 F 0.52 0.1 ( must) 312.77 179.33 B 1 8 Q 0.42 0.08 (*) 338.65 183.33 B 1 10 Q 0.52 0.1 ( be set to) 341.84 179.33 B 5 F 1.22 0.1 (0x00010001) 386.35 179.33 B 1 F 0.52 0.1 (.) 447.35 179.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.80/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "80" 90 %%Page: "81" 91 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 9 Q 0 X 1 1 0 0 0 0 1 K -0.58 0.09 (The Invocation API) 198 108.7 B 1 F -0.58 0.09 (\321) 270.1 108.7 B 0 F -0.58 0.09 (May 1997) 279.19 108.7 B 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 F 0.09 (81) 548.82 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q (5) 528.56 680.03 T 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 185 83.74 393.76 101.24 R 7 X V 1 1 0 0 0 0 1 K 543.04 690.29 558 693.56 R 0 X 1 1 0 0 0 0 1 K V 543.04 684.84 558 688.11 R V 543.04 679.54 558 682.81 R V 543.04 688.2 558 690.48 R 7 X V 543.04 682.92 558 685.02 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 642 S 0.09 (ARAMETERS:) 202.92 642 S 5 10 Q 1.2 (p_vm) 198 626.33 P 1.22 0.1 (:) 222 626.33 B 1 F 0.52 0.1 ( pointer to the location wher) 228.1 626.33 B 0.52 0.1 (e the r) 358.87 626.33 B 0.52 0.1 (esulting VM str) 388.04 626.33 B 0.52 0.1 (uctur) 459.15 626.33 B 0.52 0.1 (e will be placed.) 483.18 626.33 B 5 F 1.2 (p_env) 198 606.33 P 1.22 0.1 (:) 228 606.33 B 1 F 0.52 0.1 ( pointer to the location wher) 234.1 606.33 B 0.52 0.1 (e the JNI interface pointer for the main) 364.87 606.33 B 0.52 0.1 (thr) 198 594.33 B 0.52 0.1 (ead will be placed.) 211.15 594.33 B 5 F 1.2 (vm_args) 198 574.33 P 1.22 0.1 (:) 240 574.33 B 1 F 0.52 0.1 ( Java VM initialization ar) 246.1 574.33 B 0.52 0.1 (guments.) 361.29 574.33 B 3 9 Q 0.09 (RETURNS:) 198 549 S 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 533.33 B 0.52 0.1 (eturns a negative number on failur) 312.32 533.33 B 0.52 0.1 (e.) 471.87 533.33 B 0 14 Q (Destr) 160.49 500.67 T (oyJavaVM) 192.13 500.67 T 54 645/G9.16089 FmPA 5 10 Q 1.2 (jint DestroyJavaVM\050JavaVM *vm\051;) 198 479.33 P 1 F 0.52 0.1 (Unloads a Java VM and r) 198 459.33 B 0.52 0.1 (eclaims its r) 314.08 459.33 B 0.52 0.1 (esour) 368.72 459.33 B 0.52 0.1 (ces. Only the main thr) 393.51 459.33 B 0.52 0.1 (ead can) 495.19 459.33 B 0.29 0.1 (unload the VM. The system waits until the main thr) 198 447.33 B 0.29 0.1 (ead is only r) 434.12 447.33 B 0.29 0.1 (emaining user) 490.37 447.33 B 0.52 0.1 (thr) 198 435.33 B 0.52 0.1 (ead befor) 211.15 435.33 B 0.52 0.1 (e it destr) 253.85 435.33 B 0.52 0.1 (oys the VM.) 294.02 435.33 B 3 9 Q 0.09 (P) 198 410 S 0.09 (ARAMETERS:) 202.92 410 S 5 10 Q 1.2 (vm) 198 394.33 P 1.22 0.1 (:) 210 394.33 B 1 F 0.52 0.1 ( the Java VM that will be destr) 216.1 394.33 B 0.52 0.1 (oyed.) 356.77 394.33 B 3 9 Q 0.09 (RETURNS:) 198 369 S 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 353.33 B 0.52 0.1 (eturns a negative number on failur) 312.32 353.33 B 0.52 0.1 (e.) 471.87 353.33 B 0.52 0.1 (JDK 1.1.2 does not support unloading the VM.) 198 333.33 B 0 14 Q (AttachCurr) 160.49 300.67 T (entThr) 226.6 300.67 T (ead) 265.24 300.67 T 54 445/G9.16436 FmPA 5 10 Q 1.2 (jint AttachCurrentThread\050JavaVM *vm, JNIEnv **p_env,) 198 279.33 P 1.2 ( void *thr_args\051;) 198 267.33 P 1 F 0.09 0.1 (Attaches the curr) 198 247.33 B 0.09 0.1 (ent thr) 275.53 247.33 B 0.09 0.1 (ead to a Java VM. Returns a JNI interface pointer in the) 305.55 247.33 B 5 F 1.2 (JNIEnv) 198 235.33 P 1 F 0.52 0.1 ( ar) 234 235.33 B 0.52 0.1 (gument.) 246.09 235.33 B 0.52 0.1 (T) 198 215.33 B 0.52 0.1 (rying to attach a thr) 203.33 215.33 B 0.52 0.1 (ead that is alr) 294.66 215.33 B 0.52 0.1 (eady attached is a no-op.) 357.29 215.33 B 0.52 0.1 (A native thr) 198 195.33 B 0.52 0.1 (ead cannot be attached simultaneously to two Java VMs.) 253.3 195.33 B 54 178 558 188.5 C 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 198 187.88 342 187.88 2 L 0.3 H 2 Z 0 X 0 0 0 1 0 0 0 K N 0 72 612 720 C 1 7 Q 0 X 0 0 0 1 0 0 0 K -0.29 (* JDK 1.1 did not require the native code to set the version field. For backward compatibility, JDK 1.1.2 assumes) 198 173.33 P -0.09 (that the requested version is 0x00010001 if the version field is not set. Future versions of JDK will require the) 206.64 165.33 P (version field to be set to an appropriate value.) 206.64 157.33 T 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.81/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "81" 91 %%Page: "82" 92 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 1 9 Q 0 X 1 1 0 0 0 0 1 K 0.09 (82) 54 108.7 S 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 F -0.58 0.09 (Java Native Interface Speci\336cation) 198 108.7 B 1 F -0.58 0.09 (\321) 323.78 108.7 B 0 F -0.58 0.09 (May 1997) 332.87 108.7 B 0 0 0 1 0 0 0 K 558 675 54 675 2 L 0.3 H 2 Z 0 0 0 1 0 0 0 K N 1 1 0 0 0 0 1 K 0 0 0 1 0 0 0 K 1 1 0 0 0 0 1 K 0 20 Q 1 1 0 0 0 0 1 K (5) 73.44 680.03 T 0 0 0 1 0 0 0 K 185 83.74 393.76 101.24 R 7 X 0 0 0 1 0 0 0 K V 1 1 0 0 0 0 1 K 54 690.23 68.96 693.5 R 0 X 1 1 0 0 0 0 1 K V 54 684.77 68.96 688.05 R V 54 679.47 68.96 682.75 R V 54 688.14 68.96 690.41 R 7 X V 54 682.86 68.96 684.96 R V 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 3 9 Q 0 X 0 0 0 1 0 0 0 K 0.09 (P) 198 642 S 0.09 (ARAMETERS:) 202.92 642 S 5 10 Q 1.2 (vm) 198 626.33 P 1.22 0.1 (:) 210 626.33 B 1 F 0.52 0.1 ( the VM to which the curr) 216.1 626.33 B 0.52 0.1 (ent thr) 335.38 626.33 B 0.52 0.1 (ead will be attached.) 365.82 626.33 B 5 F 1.2 (p_env) 198 606.33 P 1.22 0.1 (:) 228 606.33 B 1 F 0.52 0.1 ( pointer to the location wher) 234.1 606.33 B 0.52 0.1 (e the JNI interface pointer of the curr) 364.87 606.33 B 0.52 0.1 (ent) 534.92 606.33 B 0.52 0.1 (thr) 198 594.33 B 0.52 0.1 (ead will be placed.) 211.15 594.33 B 5 F 1.2 (thr_args) 198 574.33 P 1.22 0.1 (:) 246 574.33 B 1 F 0.52 0.1 ( VM-speci\336c thr) 252.1 574.33 B 0.52 0.1 (ead attachment ar) 325.38 574.33 B 0.52 0.1 (guments.) 407.27 574.33 B 3 9 Q 0.09 (RETURNS:) 198 549 S 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 533.33 B 0.52 0.1 (eturns a negative number on failur) 312.32 533.33 B 0.52 0.1 (e.) 471.87 533.33 B 0 14 Q (DetachCurr) 160.49 500.67 T (entThr) 228.16 500.67 T (ead) 266.8 500.67 T 54 645/G9.16108 FmPA 5 10 Q 1.2 (jint DetachCurrentThread\050JavaVM *vm\051;) 198 479.33 P 1 F 0.52 0.1 (Detaches the curr) 198 459.33 B 0.52 0.1 (ent thr) 277.88 459.33 B 0.52 0.1 (ead fr) 308.32 459.33 B 0.52 0.1 (om a Java VM. All Java monitors held by this) 334.94 459.33 B 0.52 0.1 (thr) 198 447.33 B 0.52 0.1 (ead ar) 211.15 447.33 B 0.52 0.1 (e r) 239.44 447.33 B 0.52 0.1 (eleased. All Java thr) 251.32 447.33 B 0.52 0.1 (eads waiting for this thr) 343.04 447.33 B 0.52 0.1 (ead to die ar) 453.38 447.33 B 0.52 0.1 (e noti\336ed.) 510.93 447.33 B 0.52 0.1 (The main thr) 198 427.33 B 0.52 0.1 (ead, which is the thr) 257.39 427.33 B 0.52 0.1 (ead that cr) 351.17 427.33 B 0.52 0.1 (eated the Java VM, cannot be) 399.76 427.33 B 0.52 0.1 (detached fr) 198 415.33 B 0.52 0.1 (om the VM. Instead, the main thr) 249.54 415.33 B 0.52 0.1 (ead must call) 402.57 415.33 B 5 F 1.2 (JNI_DestroyJavaVM\050\051) 198 403.33 P 1 F 0.52 0.1 ( to unload the entir) 312 403.33 B 0.52 0.1 (e VM.) 400.55 403.33 B 3 9 Q 0.09 (P) 198 378 S 0.09 (ARAMETERS:) 202.92 378 S 5 10 Q 1.2 (vm) 198 362.33 P 1.22 0.1 (:) 210 362.33 B 1 F 0.52 0.1 ( the VM fr) 216.1 362.33 B 0.52 0.1 (om which the curr) 263.81 362.33 B 0.52 0.1 (ent thr) 348.25 362.33 B 0.52 0.1 (ead will be detached.) 378.69 362.33 B 3 9 Q 0.09 (RETURNS:) 198 337 S 1 10 Q 0.52 0.1 (Returns \3220\323 on success; r) 198 321.33 B 0.52 0.1 (eturns a negative number on failur) 312.32 321.33 B 0.52 0.1 (e.) 471.87 321.33 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.82/DEST FmPD2 [/Dest/L.invocationdoc/DEST FmPD2 [/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2 FMENDPAGE %%EndPage: "82" 92 %%Page: "83" 93 612 792 0 FMBEGINPAGE [0 0 0 1 0 0 0] [ 0 1 1 0 1 0 0] [ 1 0 1 0 0 1 0] [ 1 1 0 0 0 0 1] [ 1 0 0 0 0 1 1] [ 0 1 0 0 1 0 1] [ 0 0 1 0 1 1 0] [ 0 1 0.91 0 1 0 0.09] [ 0.79 0.76 0 0 0.21 0.24 1] 9 FrameSetSepColors FrameNoSep 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 0 0 1 0 0 0 K 0 63 430 539 526 142.79 28.8 34.6 639.93 FMBEGINEPSF %%BeginDocument: %!PS-Adobe-3.0 EPSF-3.0 %%Creator: Adobe Illustrator(TM) 5.5 %%For: (Bud Northern) (Mark Anderson Design) %%Title: (JAVASOFT.1COLOR) %%CreationDate: (3/5/96) (9:51 AM) %%BoundingBox: 63 430 539 526 %%HiResBoundingBox: 63.4812 430.6428 538.2056 525.3151 %%DocumentProcessColors: Black %%DocumentSuppliedResources: procset Adobe_level2_AI5 1.0 0 %%+ procset Adobe_IllustratorA_AI5 1.0 0 %AI5_FileFormat 1.2 %AI3_ColorUsage: Black&White %%CMYKCustomColor: 0 1 0.91 0 (PANTONE 485 CV) %%+ 0.79 0.76 0 0 (PANTONE 2665 CV) %AI3_TemplateBox: 306 396 306 396 %AI3_TileBox: 30 18 606 779 %AI3_DocumentPreview: Macintosh_ColorPic %AI5_ArtSize: 612 792 %AI5_RulerUnits: 0 %AI5_ArtFlags: 1 0 0 1 0 0 1 1 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI5_OpenToView: -450 900 -1.5 1018 725 26 1 1 3 40 %AI5_OpenViewLayers: 7 %%EndComments %%BeginProlog %%BeginResource: procset Adobe_level2_AI5 1.0 0 %%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation) %%Version: 1.0 %%CreationDate: (04/10/93) () %%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved) userdict /Adobe_level2_AI5 21 dict dup begin put /packedarray where not { userdict begin /packedarray { array astore readonly } bind def /setpacking /pop load def /currentpacking false def end 0 } if pop userdict /defaultpacking currentpacking put true setpacking /initialize { Adobe_level2_AI5 begin } bind def /terminate { currentdict Adobe_level2_AI5 eq { end } if } bind def mark /setcustomcolor where not { /findcmykcustomcolor { 5 packedarray } bind def /setcustomcolor { exch aload pop pop 4 { 4 index mul 4 1 roll } repeat 5 -1 roll pop setcmykcolor } def } if /gt38? mark {version cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put userdict /level2? systemdict /languagelevel known dup { pop systemdict /languagelevel get 2 ge } if put level2? not { /setcmykcolor where not { /setcmykcolor { exch .11 mul add exch .59 mul add exch .3 mul add 1 exch sub setgray } def } if /currentcmykcolor where not { /currentcmykcolor { 0 0 0 1 currentgray sub } def } if /setoverprint where not { /setoverprint /pop load def } if /selectfont where not { /selectfont { exch findfont exch dup type /arraytype eq { makefont } { scalefont } ifelse setfont } bind def } if /cshow where not { /cshow { [ 0 0 5 -1 roll aload pop ] cvx bind forall } bind def } if } if cleartomark /anyColor? { add add add 0 ne } bind def /testColor { gsave setcmykcolor currentcmykcolor grestore } bind def /testCMYKColorThrough { testColor anyColor? } bind def userdict /composite? level2? { gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore add add add 4 eq } { 1 0 0 0 testCMYKColorThrough 0 1 0 0 testCMYKColorThrough 0 0 1 0 testCMYKColorThrough 0 0 0 1 testCMYKColorThrough and and and } ifelse put composite? not { userdict begin gsave /cyan? 1 0 0 0 testCMYKColorThrough def /magenta? 0 1 0 0 testCMYKColorThrough def /yellow? 0 0 1 0 testCMYKColorThrough def /black? 0 0 0 1 testCMYKColorThrough def grestore /isCMYKSep? cyan? magenta? yellow? black? or or or def /customColor? isCMYKSep? not def end } if end defaultpacking setpacking %%EndResource %%BeginResource: procset Adobe_IllustratorA_AI5 1.1 0 %%Title: (Adobe Illustrator (R) Version 5.0 Abbreviated Prolog) %%Version: 1.1 %%CreationDate: (3/7/1994) () %%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved) currentpacking true setpacking userdict /Adobe_IllustratorA_AI5_vars 70 dict dup begin put /_lp /none def /_pf { } def /_ps { } def /_psf { } def /_pss { } def /_pjsf { } def /_pjss { } def /_pola 0 def /_doClip 0 def /cf currentflat def /_tm matrix def /_renderStart [ /e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0 ] def /_renderEnd [ null null null null /i1 /i1 /i1 /i1 ] def /_render -1 def /_rise 0 def /_ax 0 def /_ay 0 def /_cx 0 def /_cy 0 def /_leading [ 0 0 ] def /_ctm matrix def /_mtx matrix def /_sp 16#020 def /_hyphen (-) def /_fScl 0 def /_cnt 0 def /_hs 1 def /_nativeEncoding 0 def /_useNativeEncoding 0 def /_tempEncode 0 def /_pntr 0 def /_tDict 2 dict def /_wv 0 def /Tx { } def /Tj { } def /CRender { } def /_AI3_savepage { } def /_gf null def /_cf 4 array def /_if null def /_of false def /_fc { } def /_gs null def /_cs 4 array def /_is null def /_os false def /_sc { } def /discardSave null def /buffer 256 string def /beginString null def /endString null def /endStringLength null def /layerCnt 1 def /layerCount 1 def /perCent (%) 0 get def /perCentSeen? false def /newBuff null def /newBuffButFirst null def /newBuffLast null def /clipForward? false def end userdict /Adobe_IllustratorA_AI5 74 dict dup begin put /initialize { Adobe_IllustratorA_AI5 dup begin Adobe_IllustratorA_AI5_vars begin discardDict { bind pop pop } forall dup /nc get begin { dup xcheck 1 index type /operatortype ne and { bind } if pop pop } forall end newpath } def /terminate { end end } def /_ null def /ddef { Adobe_IllustratorA_AI5_vars 3 1 roll put } def /xput { dup load dup length exch maxlength eq { dup dup load dup length 2 mul dict copy def } if load begin def end } def /npop { { pop } repeat } def /sw { dup length exch stringwidth exch 5 -1 roll 3 index mul add 4 1 roll 3 1 roll mul add } def /swj { dup 4 1 roll dup length exch stringwidth exch 5 -1 roll 3 index mul add 4 1 roll 3 1 roll mul add 6 2 roll /_cnt 0 ddef { 1 index eq { /_cnt _cnt 1 add ddef } if } forall pop exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop } def /ss { 4 1 roll { 2 npop (0) exch 2 copy 0 exch put pop gsave false charpath currentpoint 4 index setmatrix stroke grestore moveto 2 copy rmoveto } exch cshow 3 npop } def /jss { 4 1 roll { 2 npop (0) exch 2 copy 0 exch put gsave _sp eq { exch 6 index 6 index 6 index 5 -1 roll widthshow currentpoint } { false charpath currentpoint 4 index setmatrix stroke } ifelse grestore moveto 2 copy rmoveto } exch cshow 6 npop } def /sp { { 2 npop (0) exch 2 copy 0 exch put pop false charpath 2 copy rmoveto } exch cshow 2 npop } def /jsp { { 2 npop (0) exch 2 copy 0 exch put _sp eq { exch 5 index 5 index 5 index 5 -1 roll widthshow } { false charpath } ifelse 2 copy rmoveto } exch cshow 5 npop } def /pl { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } def /setstrokeadjust where { pop true setstrokeadjust /c { curveto } def /C /c load def /v { currentpoint 6 2 roll curveto } def /V /v load def /y { 2 copy curveto } def /Y /y load def /l { lineto } def /L /l load def /m { moveto } def } { /c { pl curveto } def /C /c load def /v { currentpoint 6 2 roll pl curveto } def /V /v load def /y { pl 2 copy curveto } def /Y /y load def /l { pl lineto } def /L /l load def /m { pl moveto } def } ifelse /d { setdash } def /cf { } def /i { dup 0 eq { pop cf } if setflat } def /j { setlinejoin } def /J { setlinecap } def /M { setmiterlimit } def /w { setlinewidth } def /H { } def /h { closepath } def /N { _pola 0 eq { _doClip 1 eq { clip /_doClip 0 ddef } if newpath } { /CRender { N } ddef } ifelse } def /n { N } def /F { _pola 0 eq { _doClip 1 eq { gsave _pf grestore clip newpath /_lp /none ddef _fc /_doClip 0 ddef } { _pf } ifelse } { /CRender { F } ddef } ifelse } def /f { closepath F } def /S { _pola 0 eq { _doClip 1 eq { gsave _ps grestore clip newpath /_lp /none ddef _sc /_doClip 0 ddef } { _ps } ifelse } { /CRender { S } ddef } ifelse } def /s { closepath S } def /B { _pola 0 eq { _doClip 1 eq gsave F grestore { gsave S grestore clip newpath /_lp /none ddef _sc /_doClip 0 ddef } { S } ifelse } { /CRender { B } ddef } ifelse } def /b { closepath B } def /W { /_doClip 1 ddef } def /* { count 0 ne { dup type /stringtype eq { pop } if } if newpath } def /u { } def /U { } def /q { _pola 0 eq { gsave } if } def /Q { _pola 0 eq { grestore } if } def /*u { _pola 1 add /_pola exch ddef } def /*U { _pola 1 sub /_pola exch ddef _pola 0 eq { CRender } if } def /D { pop } def /*w { } def /*W { } def /` { /_i save ddef clipForward? { nulldevice } if 6 1 roll 4 npop concat pop userdict begin /showpage { } def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash /setstrokeadjust where {pop false setstrokeadjust} if newpath 0 setgray false setoverprint } def /~ { end _i restore } def /O { 0 ne /_of exch ddef /_lp /none ddef } def /R { 0 ne /_os exch ddef /_lp /none ddef } def /g { /_gf exch ddef /_fc { _lp /fill ne { _of setoverprint _gf setgray /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /G { /_gs exch ddef /_sc { _lp /stroke ne { _os setoverprint _gs setgray /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /k { _cf astore pop /_fc { _lp /fill ne { _of setoverprint _cf aload pop setcmykcolor /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /K { _cs astore pop /_sc { _lp /stroke ne { _os setoverprint _cs aload pop setcmykcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /x { /_gf exch ddef findcmykcustomcolor /_if exch ddef /_fc { _lp /fill ne { _of setoverprint _if _gf 1 exch sub setcustomcolor /_lp /fill ddef } if } ddef /_pf { _fc fill } ddef /_psf { _fc ashow } ddef /_pjsf { _fc awidthshow } ddef /_lp /none ddef } def /X { /_gs exch ddef findcmykcustomcolor /_is exch ddef /_sc { _lp /stroke ne { _os setoverprint _is _gs 1 exch sub setcustomcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /A { pop } def /annotatepage { userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse } def /discard { save /discardSave exch store discardDict begin /endString exch store gt38? { 2 add } if load stopped pop end discardSave restore } bind def userdict /discardDict 7 dict dup begin put /pre38Initialize { /endStringLength endString length store /newBuff buffer 0 endStringLength getinterval store /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store /newBuffLast newBuff endStringLength 1 sub 1 getinterval store } def /shiftBuffer { newBuff 0 newBuffButFirst putinterval newBuffLast 0 currentfile read not { stop } if put } def 0 { pre38Initialize mark currentfile newBuff readstring exch pop { { newBuff endString eq { cleartomark stop } if shiftBuffer } loop } { stop } ifelse } def 1 { pre38Initialize /beginString exch store mark currentfile newBuff readstring exch pop { { newBuff beginString eq { /layerCount dup load 1 add store } { newBuff endString eq { /layerCount dup load 1 sub store layerCount 0 eq { cleartomark stop } if } if } ifelse shiftBuffer } loop } { stop } ifelse } def 2 { mark { currentfile buffer readline not { stop } if endString eq { cleartomark stop } if } loop } def 3 { /beginString exch store /layerCnt 1 store mark { currentfile buffer readline not { stop } if dup beginString eq { pop /layerCnt dup load 1 add store } { endString eq { layerCnt 1 eq { cleartomark stop } { /layerCnt dup load 1 sub store } ifelse } if } ifelse } loop } def end userdict /clipRenderOff 15 dict dup begin put { /n /N /s /S /f /F /b /B } { { _doClip 1 eq { /_doClip 0 ddef clip } if newpath } def } forall /Tr /pop load def /Bb {} def /BB /pop load def /Bg {12 npop} def /Bm {6 npop} def /Bc /Bm load def /Bh {4 npop} def end /Lb { 4 npop 6 1 roll pop 4 1 roll pop pop pop 0 eq { 0 eq { (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard } { /clipForward? true def /Tx /pop load def /Tj /pop load def currentdict end clipRenderOff begin begin } ifelse } { 0 eq { save /discardSave exch store } if } ifelse } bind def /LB { discardSave dup null ne { restore } { pop clipForward? { currentdict end end begin /clipForward? false ddef } if } ifelse } bind def /Pb { pop pop 0 (%AI5_EndPalette) discard } bind def /Np { 0 (%AI5_End_NonPrinting--) discard } bind def /Ln /pop load def /Ap /pop load def /Ar { 72 exch div 0 dtransform dup mul exch dup mul add sqrt dup 1 lt { pop 1 } if setflat } def /Mb { q } def /Md { } def /MB { Q } def /nc 3 dict def nc begin /setgray { pop } bind def /setcmykcolor { 4 npop } bind def /setcustomcolor { 2 npop } bind def currentdict readonly pop end currentdict readonly pop end setpacking %%EndResource %%EndProlog %%BeginSetup Adobe_level2_AI5 /initialize get exec Adobe_IllustratorA_AI5 /initialize get exec %AI5_Begin_NonPrinting Np %AI3_BeginPattern: (Yellow Stripe) (Yellow Stripe) 8.4499 4.6 80.4499 76.6 [ %AI3_Tile (0 O 0 R 0 0.4 1 0 k 0 0.4 1 0 K) @ ( 800 Ar 0 J 0 j 3.6 w 4 M []0 d %AI3_Note: 0 D 8.1999 8.1999 m 80.6999 8.1999 L S 8.1999 22.6 m 80.6999 22.6 L S 8.1999 37.0001 m 80.6999 37.0001 L S 8.1999 51.3999 m 80.6999 51.3999 L S 8.1999 65.8 m 80.6999 65.8 L S 8.1999 15.3999 m 80.6999 15.3999 L S 8.1999 29.8 m 80.6999 29.8 L S 8.1999 44.1999 m 80.6999 44.1999 L S 8.1999 58.6 m 80.6999 58.6 L S 8.1999 73.0001 m 80.6999 73.0001 L S ) & ] E %AI3_EndPattern %AI5_End_NonPrinting-- %AI5_Begin_NonPrinting Np 3 Bn %AI5_BeginGradient: (Black & White) (Black & White) 0 2 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 %_Br [ 0 0 50 100 %_Bs 1 0 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Red & Yellow) (Red & Yellow) 0 2 Bd [ 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < FFFFFEFEFDFDFDFCFCFBFBFBFAFAF9F9F9F8F8F7F7F7F6F6F5F5F5F4F4F3F3F3F2F2F1F1F1F0F0EF EFEFEEEEEDEDEDECECEBEBEBEAEAE9E9E9E8E8E7E7E7E6E6E5E5E5E4E4E3E3E3E2E2E1E1E1E0E0DF DFDFDEDEDDDDDDDCDCDBDBDBDADAD9D9D9D8D8D7D7D7D6D6D5D5D5D4D4D3D3D3D2D2D1D1D1D0D0CF CFCFCECECDCDCDCCCCCBCBCBCACAC9C9C9C8C8C7C7C7C6C6C5C5C5C4C4C3C3C3C2C2C1C1C1C0C0BF BFBFBEBEBDBDBDBCBCBBBBBBBABAB9B9B9B8B8B7B7B7B6B6B5B5B5B4B4B3B3B3B2B2B1B1B1B0B0AF AFAFAEAEADADADACACABABABAAAAA9A9A9A8A8A7A7A7A6A6A5A5A5A4A4A3A3A3A2A2A1A1A1A0A09F 9F9F9E9E9D9D9D9C9C9B9B9B9A9A9999 > 0 1 %_Br [ 0 1 0.6 0 1 50 100 %_Bs 0 0 1 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow & Blue Radial) (Yellow & Blue Radial) 1 2 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 1415161718191A1B1C1D1E1F1F202122232425262728292A2A2B2C2D2E2F30313233343536363738 393A3B3C3D3E3F40414142434445464748494A4B4C4D4D4E4F50515253545556575858595A5B5C5D 5E5F60616263646465666768696A6B6C6D6E6F6F707172737475767778797A7B7B7C7D7E7F808182 83848586868788898A8B8C8D8E8F90919292939495969798999A9B9C9D9D9E9FA0A1A2A3A4A5A6A7 A8A9A9AAABACADAEAFB0B1B2B3B4B4B5B6B7B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C9CACBCB CCCDCECFD0D1D2D3D4D5D6D7D7D8D9DADBDCDDDEDFE0E1E2E2E3E4E5E6E7E8E9EAEBECEDEEEEEFF0 F1F2F3F4F5F6F7F8F9F9FAFBFCFDFEFF > < ABAAAAA9A8A7A7A6A5A5A4A3A3A2A1A1A09F9F9E9D9D9C9B9B9A9999989797969595949393929191 908F8F8E8D8D8C8B8B8A8989888787868585848383828181807F7F7E7D7D7C7B7B7A797978777776 7575747373727171706F6F6E6D6D6C6B6B6A6969686767666565646362626160605F5E5E5D5C5C5B 5A5A5958585756565554545352525150504F4E4E4D4C4C4B4A4A4948484746464544444342424140 403F3E3E3D3C3C3B3A3A3938383736363534343332323130302F2E2E2D2C2C2B2A2A292828272626 25242423222121201F1F1E1D1D1C1B1B1A1919181717161515141313121111100F0F0E0D0D0C0B0B 0A090908070706050504030302010100 > 0 1 %_Br [ 0 0.08 0.67 0 1 50 14 %_Bs 1 1 0 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_End_NonPrinting-- %AI5_BeginPalette 36 71 Pb Pn Pc 1 g Pc 0 g Pc 0 0 0 0 k Pc 0.75 g Pc 0.5 g Pc 0.25 g Pc 0 g Pc Bb 2 (Black & White) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB Pc 0.25 0 0 0 k Pc 0.5 0 0 0 k Pc 0.75 0 0 0 k Pc 1 0 0 0 k Pc 0.25 0.25 0 0 k Pc 0.5 0.5 0 0 k Pc 0.75 0.75 0 0 k Pc 1 1 0 0 k Pc Bb 2 (Red & Yellow) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB Pc 0 0.25 0 0 k Pc 0 0.5 0 0 k Pc 0 0.75 0 0 k Pc 0 1 0 0 k Pc 0 0.25 0.25 0 k Pc 0 0.5 0.5 0 k Pc 0 0.75 0.75 0 k Pc 0 1 1 0 k Pc Bb 0 0 0 0 Bh 2 (Yellow & Blue Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB Pc 0 0 0.25 0 k Pc 0 0 0.5 0 k Pc 0 0 0.75 0 k Pc 0 0 1 0 k Pc 0.25 0 0.25 0 k Pc 0.5 0 0.5 0 k Pc 0.75 0 0.75 0 k Pc 1 0 1 0 k Pc (Yellow Stripe) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p Pc 0.25 0.125 0 0 k Pc 0.5 0.25 0 0 k Pc 0.75 0.375 0 0 k Pc 1 0.5 0 0 k Pc 0.125 0.25 0 0 k Pc 0.25 0.5 0 0 k Pc 0.375 0.75 0 0 k Pc 0.5 1 0 0 k Pc 0 1 0.91 0 (PANTONE 485 CV) 0 x Pc 0 0.25 0.125 0 k Pc 0 0.5 0.25 0 k Pc 0 0.75 0.375 0 k Pc 0 1 0.5 0 k Pc 0 0.125 0.25 0 k Pc 0 0.25 0.5 0 k Pc 0 0.375 0.75 0 k Pc 0 0.5 1 0 k Pc 0.79 0.76 0 0 (PANTONE 2665 CV) 0 x Pc 0.125 0 0.25 0 k Pc 0.25 0 0.5 0 k Pc 0.375 0 0.75 0 k Pc 0.5 0 1 0 k Pc 0.25 0 0.125 0 k Pc 0.5 0 0.25 0 k Pc 0.75 0 0.375 0 k Pc 1 0 0.5 0 k Pc 0 1 1 0 k Pc 0.25 0.125 0.125 0 k Pc 0.5 0.25 0.25 0 k Pc 0.75 0.375 0.375 0 k Pc 1 0.5 0.5 0 k Pc 0.25 0.25 0.125 0 k Pc 0.5 0.5 0.25 0 k Pc 0.75 0.75 0.375 0 k Pc 1 1 0.5 0 k Pc 0.8 0.75 0 0 k Pc 0.125 0.25 0.125 0 k Pc 0.25 0.5 0.25 0 k Pc 0.375 0.75 0.375 0 k Pc 0.5 1 0.5 0 k Pc 0.125 0.25 0.25 0 k Pc 0.25 0.5 0.5 0 k Pc 0.375 0.75 0.75 0 k Pc 0.5 1 1 0 k Pc 0 0 0 0 k Pc 0.125 0.125 0.25 0 k Pc 0.25 0.25 0.5 0 k Pc 0.375 0.375 0.75 0 k Pc 0.5 0.5 1 0 k Pc 0.25 0.125 0.25 0 k Pc 0.5 0.25 0.5 0 k Pc 0.75 0.375 0.75 0 k Pc 1 0.5 1 0 k Pc PB %AI5_EndPalette %%EndSetup %AI5_BeginLayer 1 1 1 1 0 0 0 79 128 255 Lb (Layer 1) Ln 0 A 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D -4014 524 m 4626 524 L (N) * -4014 457 m 4626 457 L (N) * -4014 439.5 m 4626 439.5 L (N) * 498 4716 m 498 -3924 L (N) * 1 A u *u 0 O 0 g 176.5716 507.7789 m 176.5716 519.3653 175.5278 520.6177 169.3692 521.1397 c 166.7596 521.3485 L 166.1334 521.7661 166.3422 523.6449 166.9684 523.9581 c 173.0226 523.7493 176.5716 523.6447 180.9554 523.6447 c 185.1308 523.6447 188.6798 523.7493 192.855 523.9581 c 193.4812 523.6449 193.69 521.7661 193.0638 521.3485 c 191.498 521.1397 L 185.3396 520.3047 185.1308 518.8433 185.1308 507.7789 c 185.1308 469.0535 L 185.1308 460.8073 184.7132 453.6049 182.73 448.8033 c 179.2854 440.4529 171.8744 433.7725 162.1668 433.7725 c 160.9142 433.7725 157.6784 433.8769 157.6784 435.9645 c 157.6784 437.7389 159.2442 440.7659 161.4362 440.7659 c 162.6888 440.7659 163.9412 440.5573 165.2984 440.1397 c 166.7596 439.7221 168.221 439.4091 169.6822 439.4091 c 171.8744 439.4091 173.127 440.6617 173.8576 442.1229 c 176.2584 447.0289 176.5716 462.6861 176.5716 468.3227 C 176.5716 507.7789 l f *U *u 210.0184 474.8477 m 207.886 474.8477 207.9678 474.8477 207.2298 472.6333 c 203.867 462.7909 L 202.2266 457.9519 202.5546 457.7059 205.5894 457.2957 c 207.9678 456.8855 L 208.542 456.3115 208.46 454.8351 207.8038 454.5071 c 205.1792 454.6711 202.4726 454.6711 199.11 454.7531 c 196.4032 454.7531 193.8606 454.6711 190.99 454.5071 c 190.4158 454.9171 190.334 456.1475 190.908 456.8855 c 193.3686 457.2957 L 195.747 457.6237 196.6494 458.3619 197.8796 461.0685 c 198.8638 463.2009 200.176 466.6459 201.8984 471.0749 c 213.135 500.2735 L 214.2014 502.8981 214.9396 504.8665 214.6934 506.2609 c 217.564 506.8349 220.2708 510.1977 220.4346 510.1977 c 221.0908 510.1977 221.501 509.9517 221.829 509.5415 c 223.1414 505.8507 224.2076 501.9959 225.5198 498.3051 c 237.3306 463.9391 L 239.217 458.4441 239.627 457.8699 243.81 457.1317 c 245.0402 456.8855 L 245.6966 456.3115 245.6966 454.9171 245.1224 454.5071 c 241.7596 454.6711 238.7248 454.7531 234.46 454.7531 c 230.933 454.7531 227.3244 454.5891 224.4538 454.5071 c 223.7974 454.9171 223.7154 456.3935 224.2076 456.8855 c 226.012 457.1317 L 228.9646 457.4597 229.2108 457.9519 228.1446 461.4787 c 224.2896 472.6333 L 223.4694 474.8477 223.2234 474.8477 220.9268 474.8477 C 210.0184 474.8477 l f 1 D 219.8606 478.5385 m 222.157 478.5385 222.4852 478.7027 221.829 480.6711 c 218.3842 490.5133 L 216.9898 494.8603 216.4978 496.4187 216.0878 496.9929 c 215.9238 496.9929 L 215.5956 496.4187 214.9396 494.3683 213.4632 490.5133 c 210.0184 480.9171 L 209.1162 478.5385 209.3622 478.5385 211.3306 478.5385 C 219.8606 478.5385 l f *U *u 0 D 269.7236 475.0937 m 266.4428 467.6301 262.588 458.0339 261.1938 453.8509 c 261.0296 453.6049 260.3734 453.4409 259.7992 453.4409 c 259.2252 453.4409 258.651 453.6049 258.241 453.8509 c 257.2568 457.1317 255.9444 461.1507 254.468 464.5953 c 240.1148 499.1253 L 237.8184 504.6205 237.0802 505.7687 233.7994 506.4249 c 231.831 506.8349 L 231.2568 507.4091 231.2568 508.8855 232.077 509.1315 c 235.2758 508.9675 238.8026 508.8855 242.0012 508.8855 c 245.692 508.8855 248.4808 508.9675 252.8278 509.1315 c 253.566 508.6395 253.648 507.3271 252.9098 506.7529 c 250.8592 506.2609 L 249.0548 505.8507 248.3986 505.4407 248.3986 504.7845 c 248.3986 504.0465 249.0548 502.2419 252.4178 493.8761 c 258.323 479.2767 L 259.7992 475.5859 262.0138 470.7467 262.834 468.8603 c 267.263 479.1947 272.1842 490.5133 276.5312 501.6679 c 277.8434 504.9485 277.5974 505.6047 275.1368 506.1789 c 272.7582 506.7529 L 272.1842 507.4091 272.2662 508.7215 272.9224 509.1315 c 276.2852 508.9675 279.0738 508.8855 281.6984 508.8855 c 284.651 508.8855 287.3576 508.9675 289.6542 509.1315 c 290.3102 508.7215 290.2282 507.4091 289.8182 506.7529 c 287.7678 506.3429 L 285.8812 505.9327 284.0768 505.3587 282.6826 502.9801 c 280.386 499.0431 278.0076 493.5481 274.3166 485.2641 C 269.7236 475.0937 l f *U *u 295.058 474.8477 m 292.9256 474.8477 293.0076 474.8477 292.2694 472.6333 c 288.9066 462.7909 L 287.2662 457.9519 287.5942 457.7059 290.629 457.2957 c 293.0076 456.8855 L 293.5818 456.3115 293.4996 454.8351 292.8436 454.5071 c 290.219 454.6711 287.5124 454.6711 284.1494 454.7531 c 281.4428 454.7531 278.9004 454.6711 276.0298 454.5071 c 275.4556 454.9171 275.3736 456.1475 275.9476 456.8855 c 278.4082 457.2957 L 280.7868 457.6237 281.689 458.3619 282.9192 461.0685 c 283.9034 463.2009 285.2158 466.6459 286.9382 471.0749 c 298.1748 500.2735 L 299.241 502.8981 299.9792 504.8665 299.733 506.2609 c 302.6038 506.8349 305.3104 510.1977 305.4744 510.1977 c 306.1306 510.1977 306.5406 509.9517 306.8686 509.5415 c 308.181 505.8507 309.2472 501.9959 310.5596 498.3051 c 322.3702 463.9391 L 324.2568 458.4441 324.6668 457.8699 328.8498 457.1317 c 330.08 456.8855 L 330.7362 456.3115 330.7362 454.9171 330.162 454.5071 c 326.7992 454.6711 323.7646 454.7531 319.4996 454.7531 c 315.9728 454.7531 312.364 454.5891 309.4932 454.5071 c 308.8372 454.9171 308.7552 456.3935 309.2472 456.8855 c 311.0516 457.1317 L 314.0044 457.4597 314.2504 457.9519 313.1842 461.4787 c 309.3292 472.6333 L 308.5092 474.8477 308.263 474.8477 305.9666 474.8477 C 295.058 474.8477 l f 1 D 304.9002 478.5385 m 307.1968 478.5385 307.5248 478.7027 306.8686 480.6711 c 303.424 490.5133 L 302.0296 494.8603 301.5376 496.4187 301.1274 496.9929 c 300.9634 496.9929 L 300.6354 496.4187 299.9792 494.3683 298.5028 490.5133 c 295.058 480.9171 L 294.1558 478.5385 294.4018 478.5385 296.3704 478.5385 C 304.9002 478.5385 l f *U *u 0 D 351.5632 453.0831 m 342.7952 453.0831 337.263 455.7969 335.2796 456.9451 c 334.027 459.2415 332.6702 466.6525 332.4614 471.5585 c 332.9832 472.2893 334.549 472.4979 334.9666 471.8717 c 336.5322 466.5483 340.812 456.3189 352.9202 456.3189 c 361.6882 456.3189 365.9678 462.0599 365.9678 468.3227 c 365.9678 472.9155 365.0284 478.0301 357.4086 482.9361 c 347.4924 489.4077 L 342.2732 492.8523 336.2192 498.8021 336.2192 507.3613 c 336.2192 517.2777 343.9434 525.3151 357.513 525.3151 c 360.7488 525.3151 364.5066 524.7931 367.2204 523.9581 c 368.5774 523.6449 370.0388 523.3317 370.8738 523.3317 c 371.8132 520.8265 372.7526 514.9813 372.7526 510.5971 c 372.3352 509.9709 370.665 509.6577 370.1432 510.2841 c 368.7862 515.2943 365.9678 522.0791 355.9474 522.0791 c 345.7178 522.0791 343.5258 515.2943 343.5258 510.4929 c 343.5258 504.4387 348.5362 500.1591 352.3982 497.6539 c 360.7488 492.4349 L 367.3248 488.3641 373.7964 482.3099 373.7964 472.3935 c 373.7964 460.9115 365.1328 453.0831 351.5632 453.0831 c f *U *u 436.2588 495.1933 m 443.7822 480.8941 438.5084 464.4957 423.8462 456.7813 c 407.442 448.1505 391.9338 454.7267 385.136 467.6469 c 377.3454 482.4543 382.3214 499.0667 397.5642 507.0865 c 414.3312 515.9081 429.3082 508.4037 436.2588 495.1933 c f 1 D 393.9002 474.9455 m 399.1704 464.9289 410.6324 453.5361 423.0444 460.0665 c 431.3192 464.4203 434.7508 474.1035 427.0748 488.6929 c 421.308 499.6533 409.6892 509.7587 398.1482 503.6865 c 390.8896 499.8675 385.7658 490.4061 393.9002 474.9455 c f *U *u 0 D 469.3974 508.8855 m 474.6466 508.8855 479.2396 508.9675 480.962 509.1315 c 480.962 507.3271 480.962 501.1757 481.126 497.3209 c 480.798 496.6647 479.3216 496.5007 478.5014 496.9929 c 477.6814 501.7499 476.369 504.1283 473.2524 504.9485 c 471.0378 505.5227 468.9872 505.6047 466.3626 505.6047 c 462.1796 505.6047 L 458.735 505.6047 458.735 505.4407 458.735 500.8477 c 458.735 486.1663 L 458.735 484.1159 458.817 483.9517 460.7034 483.9517 c 465.5424 483.9517 L 472.6782 483.9517 473.9904 484.1159 474.7286 487.5605 c 475.3848 490.3493 L 475.8768 490.9233 477.4352 490.9233 477.8454 490.2671 c 477.7632 488.1347 477.5992 485.1001 477.5992 482.0653 c 477.5992 479.0307 477.7632 476.0781 477.8454 473.5355 c 477.4352 472.8793 475.8768 472.8793 475.3848 473.4533 c 474.7286 476.6521 L 473.9904 480.0969 472.6782 480.2609 465.5424 480.2609 c 460.7034 480.2609 L 458.817 480.2609 458.735 480.0969 458.735 478.0463 c 458.735 466.5637 L 458.735 457.8699 459.473 457.6237 463.328 457.2957 c 466.7728 456.8855 L 467.347 456.3115 467.2648 454.8351 466.6088 454.5071 c 461.3596 454.6711 457.6688 454.7531 454.0598 454.7531 c 450.451 454.7531 446.7602 454.6711 442.9874 454.5071 c 442.3312 454.8351 442.2492 456.3115 442.8234 456.8855 c 444.6276 457.1317 L 448.4826 457.6237 449.2208 457.8699 449.2208 466.5637 c 449.2208 497.0747 L 449.2208 505.7687 448.4826 506.0149 444.6276 506.5889 c 443.5614 506.7529 L 442.9874 507.3271 443.0694 508.8035 443.7256 509.1315 c 446.5962 508.9675 450.287 508.8855 453.8958 508.8855 C 469.3974 508.8855 l f *U *u 506.6286 501.9959 m 506.6286 505.4407 506.5464 505.6047 504.414 505.6047 c 499.821 505.6047 L 492.2752 505.6047 490.0608 504.7025 487.026 498.0589 c 486.452 497.5669 484.7296 497.8129 484.4014 498.6331 c 485.7956 503.0621 487.026 508.1473 487.6002 511.0179 c 487.7642 511.2639 488.0922 511.3461 488.5024 511.3461 c 488.8304 511.3461 489.1584 511.2639 489.3226 511.0179 c 489.7326 508.9675 490.8808 508.8855 496.4582 508.8855 c 529.9218 508.8855 L 533.9408 508.8855 535.171 509.1315 536.1552 511.0179 c 536.4832 511.1819 536.8114 511.3461 537.1396 511.3461 c 537.6316 511.3461 538.0416 511.1819 538.2056 510.9359 c 537.3856 507.5731 536.7294 500.5195 536.9754 497.8949 c 536.5654 497.2389 535.171 497.0747 534.4328 497.6489 c 533.3666 504.0465 531.8082 505.6047 523.0322 505.6047 c 518.3572 505.6047 L 516.2246 505.6047 516.1426 505.4407 516.1426 501.9959 c 516.1426 466.5637 L 516.1426 457.8699 516.8808 457.6237 520.7358 457.2137 c 523.6884 456.8855 L 524.2624 456.3115 524.1806 454.8351 523.5244 454.5071 c 518.7672 454.6711 515.0764 454.7531 511.4676 454.7531 c 507.8588 454.7531 504.0038 454.6711 498.7546 454.5071 c 498.0986 454.8351 498.0164 456.4755 498.5906 456.8855 c 502.0356 457.2957 L 505.8904 457.6237 506.6286 457.8699 506.6286 466.5637 C 506.6286 501.9959 l f *U 1 Ap 0 R 0.9 G 0.0797 w 84.1686 502.0388 m 89.091 497.1166 L 70.6526 478.6605 L 70.3158 478.324 70.3375 477.7555 70.702 477.3919 c 71.0649 477.0283 71.6334 477.0058 71.9708 477.3432 C 90.4005 495.8064 L 95.353 490.8553 L 76.7494 472.2375 L 73.8856 469.373 69.0566 469.5595 65.9624 472.653 c 62.8696 475.7465 62.6828 480.5762 65.5476 483.44 C 84.1686 502.0388 L b 84.2031 455.1757 m 79.2807 460.0978 L 97.7184 478.5537 L 98.0556 478.8902 98.0342 479.4589 97.6697 479.8225 c 97.3068 480.1871 96.7374 480.2086 96.4001 479.8712 C 77.9712 461.408 L 73.0196 466.3591 L 91.622 484.9769 L 94.4861 487.8415 99.315 487.655 102.4093 484.5614 c 105.5021 481.4685 105.6877 476.639 102.8241 473.7744 C 84.2031 455.1757 L b 85.3913 454.0591 m 90.3128 458.9812 L 108.7693 440.5428 L 109.1052 440.2063 109.6739 440.2286 110.0382 440.5922 c 110.4011 440.9561 110.4243 441.5246 110.0862 441.8613 C 91.6229 460.2917 L 96.5748 465.2433 L 115.1916 446.6406 L 118.0555 443.776 117.8697 438.9462 114.7763 435.8536 c 111.6835 432.76 106.853 432.5733 103.9891 435.438 C 85.3913 454.0591 L b 132.2538 454.0933 m 127.3313 449.1711 L 108.8755 467.6096 L 108.539 467.9461 107.9712 467.9245 107.6066 467.56 c 107.2436 467.1964 107.2207 466.6285 107.5579 466.2913 C 126.0218 447.8607 L 121.0703 442.9098 L 102.4524 461.5125 L 99.5884 464.3764 99.7744 469.2062 102.8687 472.2996 c 105.9615 475.3933 110.7918 475.5792 113.6557 472.7153 C 132.2538 454.0933 L b 133.3701 455.2815 m 128.4479 460.2039 L 146.8872 478.6592 L 147.2229 478.9963 147.2015 479.5641 146.8369 479.9286 c 146.474 480.2925 145.9046 480.3148 145.5688 479.9774 C 127.1384 461.5134 L 122.1868 466.465 L 140.7895 485.0831 L 143.6533 487.9469 148.483 487.7611 151.5765 484.6676 c 154.6694 481.574 154.8568 476.7444 151.9928 473.8803 C 133.3701 455.2815 L b 133.3358 502.1449 m 138.2582 497.2227 L 119.8198 478.7668 L 119.4831 478.4292 119.5047 477.8616 119.8692 477.498 c 120.2337 477.1335 120.8006 477.1119 121.138 477.4484 C 139.5691 495.9123 L 144.5202 490.9605 L 125.9183 472.3427 L 123.0528 469.4788 118.2239 469.6656 115.1313 472.7582 c 112.0368 475.8517 111.851 480.6816 114.7148 483.5454 C 133.3358 502.1449 L b 132.1485 503.2615 m 127.2262 498.3391 L 108.7709 516.7768 L 108.4338 517.1143 107.866 517.0917 107.5014 516.7281 c 107.1369 516.3643 107.1155 515.7958 107.4527 515.4593 C 125.9167 497.0289 L 120.9642 492.0771 L 102.347 510.6797 L 99.4832 513.5436 99.669 518.3734 102.7619 521.467 c 105.8554 524.5605 110.685 524.7464 113.5489 521.8825 C 132.1485 503.2615 L b 85.2842 503.2273 m 90.2073 508.1494 L 108.6625 489.711 L 109 489.3745 109.5678 489.3958 109.9314 489.7595 c 110.2957 490.124 110.3182 490.6918 109.9808 491.0292 C 91.5169 509.4589 L 96.4695 514.4105 L 115.0865 495.8078 L 117.9503 492.9439 117.7645 488.1143 114.6709 485.0208 c 111.5783 481.9272 106.7478 481.7414 103.8839 484.6053 C 85.2842 503.2273 L b u *u 0 Ap 1 w 193.219 433.6811 m 196.0814 445.6746 L 199.1037 445.6746 L 201.8222 433.6811 L 199.4235 433.6811 L 198.8319 436.7195 L 196.2093 436.7195 L 195.6176 433.6811 L 193.219 433.6811 l f 1 D 196.5611 438.4785 m 198.4801 438.4785 L 197.8724 441.8846 L 197.7605 442.4443 197.7125 442.988 197.6485 443.5477 c 197.6325 443.8196 197.6006 444.0914 197.5686 444.3473 c 197.5366 444.3473 L 197.5046 444.0914 197.4726 443.8196 197.4566 443.5477 c 197.3927 442.988 197.3447 442.4443 197.2328 441.8846 C 196.5611 438.4785 l f *U *u 0 D 218.0943 442.0286 m 218.1103 443.1 218.0144 444.1554 216.783 444.1554 c 216.0315 444.1554 215.5517 443.8516 215.5517 443.036 c 215.5517 442.1245 216.1274 441.7727 216.831 441.3249 c 217.5666 440.8612 218.9259 439.9657 219.5495 439.358 c 220.3171 438.6064 220.557 437.8868 220.557 436.8474 c 220.557 434.5767 219.0538 433.3933 216.863 433.3933 c 214.1765 433.3933 213.217 434.8965 213.217 437.0393 c 213.217 437.9188 L 215.4558 437.9188 L 215.4558 437.2152 L 215.4078 436.0478 215.7596 435.2003 216.863 435.2003 c 217.8065 435.2003 218.2542 435.696 218.2542 436.6075 c 218.2542 437.3112 217.9344 437.7909 217.3587 438.1907 c 216.1914 439.1022 214.7362 439.7578 213.8247 440.9571 c 213.4569 441.5009 213.249 442.1565 213.249 442.7961 c 213.249 444.843 214.4004 445.9624 216.7671 445.9624 c 220.3331 445.9624 220.2371 443.2119 220.2531 442.0286 C 218.0943 442.0286 l f *U *u 228.8296 435.0244 m 228.7976 435.0244 L 228.4777 433.953 227.8701 433.4573 226.8626 433.4413 c 225.2155 433.4413 224.8477 434.2888 224.8477 435.792 c 224.8477 442.7002 L 226.9266 442.7002 L 226.9266 436.5276 L 226.9266 436.1278 226.9106 435.68 227.1345 435.3282 c 227.3104 435.1363 227.5023 435.0404 227.7741 435.0404 c 228.7496 435.0404 228.7336 436.1438 228.7336 436.8474 c 228.7336 442.7002 L 230.8125 442.7002 L 230.8125 433.6811 L 228.8296 433.6811 L 228.8296 435.0244 l f *U *u 238.2065 441.7727 m 238.2385 441.7727 L 238.7022 442.8121 239.6297 442.9401 240.1095 442.9401 c 241.2928 442.9401 242.2523 442.2524 242.1883 440.6373 c 242.1883 433.6811 L 240.1095 433.6811 L 240.1095 439.6938 L 240.1095 440.5734 240.0135 441.149 239.2299 441.181 c 238.4464 441.213 238.1745 440.4774 238.2065 439.5179 c 238.2065 433.6811 L 236.1277 433.6811 L 236.1277 442.7002 L 238.2065 442.7002 L 238.2065 441.7727 l f *U *u 257.0861 433.6811 m 254.8474 433.6811 L 254.8474 445.6746 L 258.4134 445.6746 L 259.6128 440.1096 L 259.8047 439.1981 259.9326 438.2706 260.0285 437.3431 c 260.0605 437.3431 L 260.1725 438.5265 260.2524 439.326 260.4123 440.1096 c 261.6117 445.6746 L 265.1617 445.6746 L 265.1617 433.6811 L 262.9229 433.6811 L 262.9229 437.4551 L 262.9229 439.8378 262.9709 442.2205 263.1148 444.6031 c 263.0829 444.6031 L 260.6842 433.6811 L 259.3249 433.6811 L 256.9742 444.6031 L 256.8943 444.6031 L 257.0382 442.2205 257.0861 439.8378 257.0861 437.4551 C 257.0861 433.6811 l f *U *u 270.6366 433.6811 m 270.6366 442.7002 L 272.7154 442.7002 L 272.7154 433.6811 L 270.6366 433.6811 l f 1 D 270.6366 443.7876 m 270.6366 445.6746 L 272.7154 445.6746 L 272.7154 443.7876 L 270.6366 443.7876 l f *U *u 0 D 281.3204 439.5659 m 281.3204 440.5734 L 281.2884 441.0691 281.0485 441.3409 280.6008 441.3409 c 279.8012 441.3409 279.8012 440.4294 279.8172 439.326 c 279.8172 437.1992 L 279.7693 435.4402 279.9771 435.1204 280.6008 435.0404 c 281.2404 435.0564 281.2564 435.6481 281.3204 436.3677 c 281.3204 437.1992 L 283.3993 437.1992 L 283.3993 436.3677 L 283.3993 434.4807 282.6157 433.4413 280.5528 433.4413 c 278.7138 433.4413 277.6584 434.4167 277.7384 436.8154 c 277.7384 439.7418 L 277.7224 442.2684 278.9697 442.9401 280.5528 442.9401 c 282.6477 442.9401 283.4152 441.6288 283.3993 440.2855 c 283.3993 439.5659 L 281.3204 439.5659 l f *U *u 290.2627 441.1011 m 290.2946 441.1011 L 290.5505 441.7567 290.8064 442.1245 291.1102 442.3804 c 291.7019 442.8761 292.1016 442.8441 292.4055 442.8601 c 292.4055 440.3975 L 291.2541 440.5094 290.3746 440.2216 290.3426 438.8943 c 290.3426 433.6811 L 288.2638 433.6811 L 288.2638 442.7002 L 290.2627 442.7002 L 290.2627 441.1011 l f *U *u 296.708 437.8708 m 296.724 440.9571 296.7559 442.9401 299.8902 442.9401 c 302.9765 442.9401 302.9925 440.9571 303.0085 437.8708 c 303.0245 434.7366 302.5767 433.3933 299.8902 433.4413 c 297.1557 433.3933 296.692 434.7366 296.708 437.8708 c f 1 D 298.7868 436.6235 m 298.7868 435.5201 298.8828 435.0404 299.8902 435.0404 c 300.8497 435.0404 300.9297 435.5201 300.9297 436.6235 c 300.9297 439.6299 L 300.9297 440.4774 300.9297 441.3409 299.8902 441.3409 c 298.7868 441.3409 298.7868 440.4774 298.7868 439.6299 C 298.7868 436.6235 l f *U *u 0 D 309.619 436.6555 m 309.4591 434.9924 310.0987 435.0404 310.5785 435.0404 c 311.1701 435.0404 311.5859 435.4722 311.442 436.0478 c 311.41 436.5596 310.8183 436.8474 310.4185 437.1193 c 309.2832 437.9028 L 308.2437 438.6224 307.5721 439.454 307.5721 440.7493 c 307.5721 442.1405 308.6755 442.9401 310.6744 442.9401 c 312.6893 442.9401 313.6168 441.8846 313.5688 439.9497 c 311.49 439.9497 L 311.5379 440.9571 311.2501 441.3409 310.5305 441.3409 c 310.0348 441.3409 309.651 441.1171 309.651 440.6053 c 309.651 440.0776 310.0348 439.8378 310.4345 439.5659 c 312.1296 438.4145 L 312.6573 438.1107 313.4889 437.2472 313.5528 436.6395 c 313.7287 435.0724 313.3449 433.4413 310.4665 433.4413 c 309.3631 433.4413 307.3003 433.905 307.5401 436.6555 C 309.619 436.6555 l f *U *u 319.6966 442.7002 m 320.6081 437.9188 L 320.752 437.1193 320.832 436.3197 320.912 435.5201 c 320.9439 435.5201 L 321.0079 436.3037 321.1198 437.0873 321.2638 437.8549 c 322.1753 442.7002 L 324.2861 442.7002 L 322.0953 433.5532 L 321.5676 431.5063 321.5196 430.227 318.6412 430.6428 c 318.6412 432.2579 L 318.977 432.2579 319.8725 432.082 319.8725 432.6577 c 319.8725 432.9775 319.7606 433.4893 319.6806 433.8091 c 317.5058 442.7002 L 319.6966 442.7002 l f *U *u 329.9662 436.6555 m 329.8062 434.9924 330.4459 435.0404 330.9256 435.0404 c 331.5173 435.0404 331.9331 435.4722 331.7891 436.0478 c 331.7572 436.5596 331.1655 436.8474 330.7657 437.1193 c 329.6303 437.9028 L 328.5909 438.6224 327.9193 439.454 327.9193 440.7493 c 327.9193 442.1405 329.0227 442.9401 331.0216 442.9401 c 333.0365 442.9401 333.964 441.8846 333.916 439.9497 c 331.8371 439.9497 L 331.8851 440.9571 331.5973 441.3409 330.8777 441.3409 c 330.3819 441.3409 329.9981 441.1171 329.9981 440.6053 c 329.9981 440.0776 330.3819 439.8378 330.7817 439.5659 c 332.4768 438.4145 L 333.0045 438.1107 333.836 437.2472 333.9 436.6395 c 334.0759 435.0724 333.6921 433.4413 330.8137 433.4413 c 329.7103 433.4413 327.6474 433.905 327.8873 436.6555 C 329.9662 436.6555 l f *U *u 341.9627 433.6492 m 340.7314 433.5052 339.0044 433.3933 339.0044 435.0724 c 339.0044 441.181 L 338.1568 441.181 L 338.1568 442.7002 L 338.9884 442.7002 L 338.9884 445.1788 L 341.0832 445.1788 L 341.0832 442.7002 L 341.9627 442.7002 L 341.9627 441.181 L 341.0832 441.181 L 341.0832 435.5841 L 341.1312 435.2003 341.7069 435.2483 341.9627 435.2803 C 341.9627 433.6492 l f *U *u 346.4417 439.5979 m 346.3458 441.7247 347.4332 442.9401 349.4801 442.9401 c 352.3745 442.9401 352.6783 441.4369 352.6783 438.9742 c 352.6783 437.7589 L 348.5206 437.7589 L 348.5206 436.4476 L 348.5366 435.2643 348.9843 435.0404 349.608 435.0404 c 350.3756 435.0404 350.5995 435.6001 350.5675 436.7355 c 352.6463 436.7355 L 352.7263 434.7206 351.8947 433.4413 349.7679 433.4413 c 347.3692 433.4413 346.3938 434.5767 346.4417 437.2312 C 346.4417 439.5979 l f 1 D 350.5995 439.358 m 350.5995 440.1416 L 350.5835 441.0531 350.3436 441.3409 349.5121 441.3409 c 348.4726 441.3409 348.5206 440.5414 348.5206 439.7258 c 348.5206 439.358 L 350.5995 439.358 l f *U *u 0 D 359.9764 441.7727 m 360.0084 441.7727 L 360.4721 442.7642 361.3197 442.9081 361.9913 442.9401 c 362.7589 442.9561 363.7823 442.6202 363.9262 441.7727 c 364.342 442.5563 364.9976 442.9401 366.0211 442.9401 c 367.5562 442.9401 368.2279 441.9806 368.2279 441.0211 c 368.2279 433.6811 L 366.149 433.6811 L 366.149 439.7738 L 366.149 440.5894 366.0691 441.3889 365.1576 441.3409 c 364.2621 441.293 364.1021 440.6693 364.1021 439.6139 c 364.1021 433.6811 L 362.0233 433.6811 L 362.0233 439.8857 L 362.0233 440.6853 361.9593 441.3569 360.9998 441.3409 c 360.0244 441.3249 359.9764 440.6053 359.9764 439.6139 c 359.9764 433.6811 L 357.8975 433.6811 L 357.8975 442.7002 L 359.9764 442.7002 L 359.9764 441.7727 l f *U *u 375.046 436.6555 m 374.8861 434.9924 375.5257 435.0404 376.0055 435.0404 c 376.5971 435.0404 377.0129 435.4722 376.869 436.0478 c 376.837 436.5596 376.2453 436.8474 375.8455 437.1193 c 374.7102 437.9028 L 373.6707 438.6224 372.9991 439.454 372.9991 440.7493 c 372.9991 442.1405 374.1025 442.9401 376.1014 442.9401 c 378.1163 442.9401 379.0438 441.8846 378.9958 439.9497 c 376.917 439.9497 L 376.9649 440.9571 376.6771 441.3409 375.9575 441.3409 c 375.4618 441.3409 375.078 441.1171 375.078 440.6053 c 375.078 440.0776 375.4618 439.8378 375.8615 439.5659 c 377.5566 438.4145 L 378.0843 438.1107 378.9159 437.2472 378.9798 436.6395 c 379.1557 435.0724 378.7719 433.4413 375.8935 433.4413 c 374.7901 433.4413 372.7273 433.905 372.9671 436.6555 C 375.046 436.6555 l f *U *u 384.468 432.066 m 385.2196 432.146 385.6353 432.8176 385.5874 433.6811 c 384.468 433.6811 L 384.468 435.792 L 386.5788 435.792 L 386.5788 433.7291 L 386.5788 432.3699 385.8752 431.5383 384.468 431.3624 C 384.468 432.066 l f *U *u 399.7444 433.6811 m 399.7444 445.6746 L 401.9831 445.6746 L 401.9831 433.6811 L 399.7444 433.6811 l f *U *u 409.3725 441.7727 m 409.4045 441.7727 L 409.8683 442.8121 410.7957 442.9401 411.2755 442.9401 c 412.4588 442.9401 413.4183 442.2524 413.3543 440.6373 c 413.3543 433.6811 L 411.2755 433.6811 L 411.2755 439.6938 L 411.2755 440.5734 411.1795 441.149 410.396 441.181 c 409.6124 441.213 409.3405 440.4774 409.3725 439.5179 c 409.3725 433.6811 L 407.2937 433.6811 L 407.2937 442.7002 L 409.3725 442.7002 L 409.3725 441.7727 l f *U *u 421.8997 439.5659 m 421.8997 440.5734 L 421.8678 441.0691 421.6279 441.3409 421.1801 441.3409 c 420.3806 441.3409 420.3806 440.4294 420.3966 439.326 c 420.3966 437.1992 L 420.3486 435.4402 420.5565 435.1204 421.1801 435.0404 c 421.8198 435.0564 421.8358 435.6481 421.8997 436.3677 c 421.8997 437.1992 L 423.9786 437.1992 L 423.9786 436.3677 L 423.9786 434.4807 423.195 433.4413 421.1322 433.4413 c 419.2932 433.4413 418.2378 434.4167 418.3177 436.8154 c 418.3177 439.7418 L 418.3017 442.2684 419.549 442.9401 421.1322 442.9401 c 423.227 442.9401 423.9946 441.6288 423.9786 440.2855 c 423.9786 439.5659 L 421.8997 439.5659 l f *U *u 429.3391 433.6811 m 429.3391 435.792 L 431.4499 435.792 L 431.4499 433.6811 L 429.3391 433.6811 l f *U *u 444.5515 433.6811 m 444.5515 445.6746 L 448.1655 445.6746 L 449.125 445.6746 450.0684 445.6106 450.7081 444.795 c 451.2198 444.1394 451.2998 443.4518 451.2998 442.6362 c 451.2998 441.5968 451.0759 440.5734 449.8606 440.1256 c 449.8606 440.0936 L 451.1239 439.9177 451.6036 438.8623 451.6036 437.3112 c 451.6036 436.8154 451.5716 436.3197 451.4437 435.84 c 450.964 434.3208 450.1004 433.6811 448.5013 433.6811 C 444.5515 433.6811 l f 1 D 447.27 435.4402 m 447.7337 435.4402 448.2135 435.3922 448.6132 435.5681 c 449.2209 435.84 449.3009 436.6235 449.3009 437.2312 c 449.3009 438.5265 449.045 439.0702 447.6538 439.0702 c 446.7902 439.0702 L 446.7902 435.4402 L 447.27 435.4402 l f 447.206 440.8292 m 447.7497 440.8292 448.4533 440.7972 448.8051 441.245 c 449.013 441.5488 449.045 441.9646 449.045 442.5403 c 449.045 443.4358 448.8531 443.8835 447.8297 443.9155 c 446.7902 443.9155 L 446.7902 440.8292 L 447.206 440.8292 l f *U *u 0 D 460.5478 435.0244 m 460.5158 435.0244 L 460.196 433.953 459.5883 433.4573 458.5809 433.4413 c 456.9338 433.4413 456.566 434.2888 456.566 435.792 c 456.566 442.7002 L 458.6449 442.7002 L 458.6449 436.5276 L 458.6449 436.1278 458.6289 435.68 458.8527 435.3282 c 459.0287 435.1363 459.2205 435.0404 459.4924 435.0404 c 460.4679 435.0404 460.4519 436.1438 460.4519 436.8474 c 460.4519 442.7002 L 462.5307 442.7002 L 462.5307 433.6811 L 460.5478 433.6811 L 460.5478 435.0244 l f *U *u 469.3971 436.6555 m 469.2371 434.9924 469.8768 435.0404 470.3565 435.0404 c 470.9482 435.0404 471.364 435.4722 471.2201 436.0478 c 471.1881 436.5596 470.5964 436.8474 470.1966 437.1193 c 469.0612 437.9028 L 468.0218 438.6224 467.3502 439.454 467.3502 440.7493 c 467.3502 442.1405 468.4536 442.9401 470.4525 442.9401 c 472.4674 442.9401 473.3949 441.8846 473.3469 439.9497 c 471.268 439.9497 L 471.316 440.9571 471.0282 441.3409 470.3086 441.3409 c 469.8128 441.3409 469.429 441.1171 469.429 440.6053 c 469.429 440.0776 469.8128 439.8378 470.2126 439.5659 c 471.9077 438.4145 L 472.4354 438.1107 473.2669 437.2472 473.3309 436.6395 c 473.5068 435.0724 473.123 433.4413 470.2446 433.4413 c 469.1412 433.4413 467.0783 433.905 467.3182 436.6555 C 469.3971 436.6555 l f *U *u 478.3873 433.6811 m 478.3873 442.7002 L 480.4662 442.7002 L 480.4662 433.6811 L 478.3873 433.6811 l f 478.3873 443.7876 m 478.3873 445.6746 L 480.4662 445.6746 L 480.4662 443.7876 L 478.3873 443.7876 l f *U *u 487.9355 441.7727 m 487.9675 441.7727 L 488.4312 442.8121 489.3587 442.9401 489.8385 442.9401 c 491.0218 442.9401 491.9813 442.2524 491.9173 440.6373 c 491.9173 433.6811 L 489.8385 433.6811 L 489.8385 439.6938 L 489.8385 440.5734 489.7425 441.149 488.9589 441.181 c 488.1754 441.213 487.9035 440.4774 487.9355 439.5179 c 487.9355 433.6811 L 485.8567 433.6811 L 485.8567 442.7002 L 487.9355 442.7002 L 487.9355 441.7727 l f *U *u 497.1046 439.5979 m 497.0086 441.7247 498.096 442.9401 500.1429 442.9401 c 503.0373 442.9401 503.3412 441.4369 503.3412 438.9742 c 503.3412 437.7589 L 499.1834 437.7589 L 499.1834 436.4476 L 499.1994 435.2643 499.6472 435.0404 500.2708 435.0404 c 501.0384 435.0404 501.2623 435.6001 501.2303 436.7355 c 503.3092 436.7355 L 503.3891 434.7206 502.5576 433.4413 500.4308 433.4413 c 498.0321 433.4413 497.0566 434.5767 497.1046 437.2312 C 497.1046 439.5979 l f 501.2623 439.358 m 501.2623 440.1416 L 501.2463 441.0531 501.0064 441.3409 500.1749 441.3409 c 499.1355 441.3409 499.1834 440.5414 499.1834 439.7258 c 499.1834 439.358 L 501.2623 439.358 l f *U *u 509.7118 436.6555 m 509.5518 434.9924 510.1915 435.0404 510.6712 435.0404 c 511.2629 435.0404 511.6787 435.4722 511.5348 436.0478 c 511.5028 436.5596 510.9111 436.8474 510.5113 437.1193 c 509.3759 437.9028 L 508.3365 438.6224 507.6649 439.454 507.6649 440.7493 c 507.6649 442.1405 508.7683 442.9401 510.7672 442.9401 c 512.7821 442.9401 513.7096 441.8846 513.6616 439.9497 c 511.5827 439.9497 L 511.6307 440.9571 511.3429 441.3409 510.6233 441.3409 c 510.1275 441.3409 509.7437 441.1171 509.7437 440.6053 c 509.7437 440.0776 510.1275 439.8378 510.5273 439.5659 c 512.2224 438.4145 L 512.7501 438.1107 513.5816 437.2472 513.6456 436.6395 c 513.8215 435.0724 513.4377 433.4413 510.5593 433.4413 c 509.4559 433.4413 507.393 433.905 507.6329 436.6555 C 509.7118 436.6555 l f *U *u 520.0453 436.6555 m 519.8853 434.9924 520.525 435.0404 521.0047 435.0404 c 521.5964 435.0404 522.0122 435.4722 521.8683 436.0478 c 521.8363 436.5596 521.2446 436.8474 520.8448 437.1193 c 519.7094 437.9028 L 518.67 438.6224 517.9984 439.454 517.9984 440.7493 c 517.9984 442.1405 519.1018 442.9401 521.1007 442.9401 c 523.1156 442.9401 524.0431 441.8846 523.9951 439.9497 c 521.9162 439.9497 L 521.9642 440.9571 521.6764 441.3409 520.9568 441.3409 c 520.461 441.3409 520.0772 441.1171 520.0772 440.6053 c 520.0772 440.0776 520.461 439.8378 520.8608 439.5659 c 522.5559 438.4145 L 523.0836 438.1107 523.9151 437.2472 523.9791 436.6395 c 524.155 435.0724 523.7712 433.4413 520.8928 433.4413 c 519.7894 433.4413 517.7265 433.905 517.9664 436.6555 C 520.0453 436.6555 l f *U U U LB %AI5_EndLayer-- %%PageTrailer gsave annotatepage grestore showpage %%Trailer Adobe_IllustratorA_AI5 /terminate get exec Adobe_level2_AI5 /terminate get exec %%EOF %%EndDocument FMENDEPSF 0 0 0 1 0 0 0 K 36.67 90 225 630 R 7 X 0 0 0 1 0 0 0 K V 1 9 Q 0 X 0.47 0.09 (2550 Gar) 36.67 624 B 0.47 0.09 (cia A) 72.86 624 B 0.47 0.09 (venue) 93.32 624 B 0.47 0.09 (Mountain V) 36.67 613 B 0.47 0.09 (iew) 85.67 613 B 0.47 0.09 (, CA 94043) 99.55 613 B 0.09 (408-343-1400) 36.67 602 S 0.47 0.09 (For U.S. Sales Of) 36.67 580 B 0.47 0.09 (\336ce locations, call:) 105.93 580 B 0.47 0.09 (800 821-4643) 36.67 569 B 0.47 0.09 (In California:) 36.67 558 B 0.47 0.09 (800 821-4642) 36.67 547 B 0.47 0.09 (Australia: \05002\051 844 5000) 36.67 525 B 0.47 0.09 (Belgium: 32 2 716 791) 36.67 514 B 0.47 0.09 (1) 125.11 514 B 0.47 0.09 (Canada: 416 477-6745) 36.67 503 B 0.47 0.09 (Finland: +358-0-525561) 36.67 492 B 0.47 0.09 (France: \0501\051 30 67 50 00) 36.67 481 B 0.47 0.09 (Germany: \0500\051 89-46 00 8-0) 36.67 470 B 0.47 0.09 (Hong Kong: 852 802 4188) 36.67 459 B 0.47 0.09 (Italy: 039 60551) 36.67 448 B 0.47 0.09 (Japan: \05003\051 5717-5000) 36.67 437 B 0.47 0.09 (Kor) 36.67 426 B 0.47 0.09 (ea: 822-563-8700) 51.78 426 B 0.47 0.09 (Latin America: 415 688-9464) 36.67 415 B 0.47 0.09 (The Netherlands: 033 501234) 36.67 404 B 0.47 0.09 (New Zealand: \05004\051 499 2344) 36.67 393 B 0.47 0.09 (Nor) 36.67 382 B 0.47 0.09 (dic Countries: +46 \0500\051 8 623 90 00) 52.72 382 B 0.47 0.09 (PRC: 861-849 2828) 36.67 371 B 0.47 0.09 (Singapor) 36.67 360 B 0.47 0.09 (e: 224 3388) 73.19 360 B 0.47 0.09 (Spain: \05091\051 5551648) 36.67 349 B 0.47 0.09 (Switzerland: \0501\051 825 71 1) 36.67 338 B 0.47 0.09 (1) 137.04 338 B 0.47 0.09 (T) 36.67 327 B 0.47 0.09 (aiwan: 2-514-0567) 41.45 327 B 0.47 0.09 (UK: 0276 20444) 36.67 316 B 0.47 0.09 (Elsewher) 36.67 294 B 0.47 0.09 (e in the world,) 74.08 294 B 0.47 0.09 (call Corporate Headquarters:) 36.67 283 B 0.47 0.09 (415 960-1300) 36.67 272 B 0.47 0.09 (Inter) 36.67 261 B 0.47 0.09 (continental Sales: 415 688-9000) 56.03 261 B 0 0 0 1 0 0 0 K [/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD [/Dest/P.83/DEST FmPD2 [/Dest/F.backcoverdoc/DEST FmPD2 [/Dest/L.backcoverdoc/DEST FmPD2 [/Page 3/View[/XYZ null 198 667 FmDC exch pop null]/Title(Contents)/Count -5/OUT FmPD [/Page 3/View[/XYZ null 225 610 FmDC exch pop null]/Title(1. Introduction 1)/OUT FmPD [/Page 3/View[/XYZ null 225 400 FmDC exch pop null]/Title(2. Design Overview 9)/OUT FmPD [/Page 4/View[/XYZ null 225 561 FmDC exch pop null]/Title(3. JNI Types and Data Structures 21)/OUT FmPD [/Page 4/View[/XYZ null 225 414 FmDC exch pop null]/Title(4. JNI Functions 27)/OUT FmPD [/Page 7/View[/XYZ null 225 393 FmDC exch pop null]/Title(5. The Invocation API 75)/OUT FmPD [/Page 11/View[/XYZ null 198 667 FmDC exch pop null]/Title(Introduction)/Count -6/OUT FmPD [/Page 11/View[/XYZ null 54 348 FmDC exch pop null]/Title(Java Native Interface Overview)/OUT FmPD [/Page 12/View[/XYZ null 54 506 FmDC exch pop null]/Title(Background)/Count -3/OUT FmPD [/Page 12/View[/XYZ null 160 353 FmDC exch pop null]/Title(JDK 1.0 Native Method Interface)/OUT FmPD [/Page 13/View[/XYZ null 160 682 FmDC exch pop null]/Title(Java Runtime Interface)/OUT FmPD [/Page 13/View[/XYZ null 160 580 FmDC exch pop null]/Title(Raw Native Interface and Java/COM Interface)/OUT FmPD [/Page 13/View[/XYZ null 54 410 FmDC exch pop null]/Title(Objectives)/OUT FmPD [/Page 14/View[/XYZ null 54 532 FmDC exch pop null]/Title(Java Native Interface Approach)/OUT FmPD [/Page 16/View[/XYZ null 54 750 FmDC exch pop null]/Title(Programming to the JNI)/OUT FmPD [/Page 16/View[/XYZ null 54 543 FmDC exch pop null]/Title(Changes in JDK 1.1.2)/OUT FmPD [/Page 19/View[/XYZ null 198 667 FmDC exch pop null]/Title(Design Overview)/Count -6/OUT FmPD [/Page 19/View[/XYZ null 54 556 FmDC exch pop null]/Title(JNI Interface Functions and Pointers)/OUT FmPD [/Page 20/View[/XYZ null 54 554 FmDC exch pop null]/Title(Loading and Linking Native Methods)/Count -2/OUT FmPD [/Page 21/View[/XYZ null 160 662 FmDC exch pop null]/Title(Resolving Native Method Names)/OUT FmPD [/Page 22/View[/XYZ null 160 558 FmDC exch pop null]/Title(Native Method Arguments)/OUT FmPD [/Page 24/View[/XYZ null 54 792 FmDC exch pop null]/Title(Referencing Java Objects)/Count -2/OUT FmPD [/Page 24/View[/XYZ null 160 665 FmDC exch pop null]/Title(Global and Local References)/OUT FmPD [/Page 25/View[/XYZ null 160 694 FmDC exch pop null]/Title(Implementing Local References)/OUT FmPD [/Page 25/View[/XYZ null 54 468 FmDC exch pop null]/Title(Accessing Java Objects)/Count -2/OUT FmPD [/Page 26/View[/XYZ null 160 792 FmDC exch pop null]/Title(Accessing Primitive Arrays)/OUT FmPD [/Page 27/View[/XYZ null 160 646 FmDC exch pop null]/Title(Accessing Fields and Methods)/OUT FmPD [/Page 27/View[/XYZ null 54 335 FmDC exch pop null]/Title(Reporting Programming Errors)/OUT FmPD [/Page 28/View[/XYZ null 54 578 FmDC exch pop null]/Title(Java Exceptions)/Count -3/OUT FmPD [/Page 28/View[/XYZ null 160 499 FmDC exch pop null]/Title(Exceptions and Error Codes)/OUT FmPD [/Page 29/View[/XYZ null 160 664 FmDC exch pop null]/Title(Asynchronous Exceptions)/OUT FmPD [/Page 29/View[/XYZ null 160 438 FmDC exch pop null]/Title(Exception Handling)/OUT FmPD [/Page 31/View[/XYZ null 198 667 FmDC exch pop null]/Title(JNI Types and Data Structures)/Count -6/OUT FmPD [/Page 31/View[/XYZ null 54 580 FmDC exch pop null]/Title(Primitive Types)/OUT FmPD [/Page 32/View[/XYZ null 54 745 FmDC exch pop null]/Title(Reference Types)/OUT FmPD [/Page 33/View[/XYZ null 54 792 FmDC exch pop null]/Title(Field and Method IDs)/OUT FmPD [/Page 33/View[/XYZ null 54 676 FmDC exch pop null]/Title(The Value Type)/OUT FmPD [/Page 33/View[/XYZ null 54 482 FmDC exch pop null]/Title(Type Signatures)/OUT FmPD [/Page 34/View[/XYZ null 54 545 FmDC exch pop null]/Title(UTF-8 Strings)/OUT FmPD [/Page 37/View[/XYZ null 198 667 FmDC exch pop null]/Title(JNI Functions)/Count -15/OUT FmPD [/Page 38/View[/XYZ null 54 708 FmDC exch pop null]/Title(Interface Function Table)/OUT FmPD [/Page 44/View[/XYZ null 54 660 FmDC exch pop null]/Title(Version Information)/Count -1/OUT FmPD [/Page 44/View[/XYZ null 160 625 FmDC exch pop null]/Title(GetVersion)/OUT FmPD [/Page 44/View[/XYZ null 54 437 FmDC exch pop null]/Title(Class Operations)/Count -4/OUT FmPD [/Page 44/View[/XYZ null 160 402 FmDC exch pop null]/Title(DefineClass)/OUT FmPD [/Page 45/View[/XYZ null 160 588 FmDC exch pop null]/Title(FindClass)/OUT FmPD [/Page 46/View[/XYZ null 160 730 FmDC exch pop null]/Title(GetSuperclass)/OUT FmPD [/Page 46/View[/XYZ null 160 510 FmDC exch pop null]/Title(IsAssignableFrom)/OUT FmPD [/Page 47/View[/XYZ null 54 744 FmDC exch pop null]/Title(Exceptions)/Count -6/OUT FmPD [/Page 47/View[/XYZ null 160 709 FmDC exch pop null]/Title(Throw)/OUT FmPD [/Page 47/View[/XYZ null 160 492 FmDC exch pop null]/Title(ThrowNew)/OUT FmPD [/Page 48/View[/XYZ null 160 747 FmDC exch pop null]/Title(ExceptionOccurred)/OUT FmPD [/Page 48/View[/XYZ null 160 555 FmDC exch pop null]/Title(ExceptionDescribe)/OUT FmPD [/Page 48/View[/XYZ null 160 416 FmDC exch pop null]/Title(ExceptionClear)/OUT FmPD [/Page 49/View[/XYZ null 160 792 FmDC exch pop null]/Title(FatalError)/OUT FmPD [/Page 49/View[/XYZ null 54 645 FmDC exch pop null]/Title(Global and Local References)/Count -3/OUT FmPD [/Page 49/View[/XYZ null 160 610 FmDC exch pop null]/Title(NewGlobalRef)/OUT FmPD [/Page 49/View[/XYZ null 160 410 FmDC exch pop null]/Title(DeleteGlobalRef)/OUT FmPD [/Page 50/View[/XYZ null 160 792 FmDC exch pop null]/Title(DeleteLocalRef)/OUT FmPD [/Page 50/View[/XYZ null 54 657 FmDC exch pop null]/Title(Object Operations)/Count -5/OUT FmPD [/Page 50/View[/XYZ null 160 622 FmDC exch pop null]/Title(AllocObject)/OUT FmPD [/Page 51/View[/XYZ null 160 792 FmDC exch pop null]/Title(NewObject NewObjectA NewObjectV)/OUT FmPD [/Page 52/View[/XYZ null 160 497 FmDC exch pop null]/Title(GetObjectClass)/OUT FmPD [/Page 53/View[/XYZ null 160 792 FmDC exch pop null]/Title(IsInstanceOf)/OUT FmPD [/Page 53/View[/XYZ null 160 572 FmDC exch pop null]/Title(IsSameObject)/OUT FmPD [/Page 54/View[/XYZ null 54 792 FmDC exch pop null]/Title(Accessing Fields of Objects)/Count -3/OUT FmPD [/Page 54/View[/XYZ null 160 757 FmDC exch pop null]/Title(GetFieldID)/OUT FmPD [/Page 54/View[/XYZ null 160 360 FmDC exch pop null]/Title(GetField Routines)/OUT FmPD [/Page 55/View[/XYZ null 160 343 FmDC exch pop null]/Title(SetField Routines)/OUT FmPD [/Page 57/View[/XYZ null 54 792 FmDC exch pop null]/Title(Calling Instance Methods)/Count -3/OUT FmPD [/Page 57/View[/XYZ null 160 757 FmDC exch pop null]/Title(GetMethodID)/OUT FmPD [/Page 58/View[/XYZ null 160 792 FmDC exch pop null]/Title(CallMethod Routines CallMethodA Routin...)/OUT FmPD [/Page 61/View[/XYZ null 160 792 FmDC exch pop null]/Title(CallNonvirtualMethod Routines CallNonvirtual...)/OUT FmPD [/Page 64/View[/XYZ null 54 792 FmDC exch pop null]/Title(Accessing Static Fields)/Count -3/OUT FmPD [/Page 64/View[/XYZ null 160 757 FmDC exch pop null]/Title(GetStaticFieldID)/OUT FmPD [/Page 64/View[/XYZ null 160 392 FmDC exch pop null]/Title(GetStaticField Routines)/OUT FmPD [/Page 65/View[/XYZ null 160 387 FmDC exch pop null]/Title(SetStaticField Routines)/OUT FmPD [/Page 66/View[/XYZ null 54 428 FmDC exch pop null]/Title(Calling Static Methods)/Count -2/OUT FmPD [/Page 66/View[/XYZ null 160 393 FmDC exch pop null]/Title(GetStaticMethodID)/OUT FmPD [/Page 67/View[/XYZ null 160 553 FmDC exch pop null]/Title(CallStaticMethod Routines CallStaticMe...)/OUT FmPD [/Page 70/View[/XYZ null 54 706 FmDC exch pop null]/Title(String Operations)/Count -8/OUT FmPD [/Page 70/View[/XYZ null 160 671 FmDC exch pop null]/Title(NewString)/OUT FmPD [/Page 70/View[/XYZ null 160 410 FmDC exch pop null]/Title(GetStringLength)/OUT FmPD [/Page 71/View[/XYZ null 160 747 FmDC exch pop null]/Title(GetStringChars)/OUT FmPD [/Page 71/View[/XYZ null 160 495 FmDC exch pop null]/Title(ReleaseStringChars)/OUT FmPD [/Page 72/View[/XYZ null 160 792 FmDC exch pop null]/Title(NewStringUTF)/OUT FmPD [/Page 72/View[/XYZ null 160 563 FmDC exch pop null]/Title(GetStringUTFLength)/OUT FmPD [/Page 72/View[/XYZ null 160 387 FmDC exch pop null]/Title(GetStringUTFChars)/OUT FmPD [/Page 73/View[/XYZ null 160 628 FmDC exch pop null]/Title(ReleaseStringUTFChars)/OUT FmPD [/Page 73/View[/XYZ null 54 449 FmDC exch pop null]/Title(Array Operations)/Count -9/OUT FmPD [/Page 73/View[/XYZ null 160 414 FmDC exch pop null]/Title(GetArrayLength)/OUT FmPD [/Page 74/View[/XYZ null 160 747 FmDC exch pop null]/Title(NewObjectArray)/OUT FmPD [/Page 74/View[/XYZ null 160 466 FmDC exch pop null]/Title(GetObjectArrayElement)/OUT FmPD [/Page 75/View[/XYZ null 160 694 FmDC exch pop null]/Title(SetObjectArrayElement)/OUT FmPD [/Page 75/View[/XYZ null 160 422 FmDC exch pop null]/Title(NewArray Routines)/OUT FmPD [/Page 76/View[/XYZ null 160 480 FmDC exch pop null]/Title(GetArrayElements Routines)/OUT FmPD [/Page 78/View[/XYZ null 160 792 FmDC exch pop null]/Title(ReleaseArrayElements Routines)/OUT FmPD [/Page 79/View[/XYZ null 160 470 FmDC exch pop null]/Title(GetArrayRegion Routines)/OUT FmPD [/Page 80/View[/XYZ null 160 397 FmDC exch pop null]/Title(SetArrayRegion Routines)/OUT FmPD [/Page 82/View[/XYZ null 54 792 FmDC exch pop null]/Title(Registering Native Methods)/Count -2/OUT FmPD [/Page 82/View[/XYZ null 160 757 FmDC exch pop null]/Title(RegisterNatives)/OUT FmPD [/Page 82/View[/XYZ null 160 330 FmDC exch pop null]/Title(UnregisterNatives)/OUT FmPD [/Page 83/View[/XYZ null 54 616 FmDC exch pop null]/Title(Monitor Operations)/Count -2/OUT FmPD [/Page 83/View[/XYZ null 160 581 FmDC exch pop null]/Title(MonitorEnter)/OUT FmPD [/Page 84/View[/XYZ null 160 792 FmDC exch pop null]/Title(MonitorExit)/OUT FmPD [/Page 84/View[/XYZ null 54 580 FmDC exch pop null]/Title(Java VM Interface)/Count -1/OUT FmPD [/Page 84/View[/XYZ null 160 545 FmDC exch pop null]/Title(GetJavaVM)/OUT FmPD [/Page 85/View[/XYZ null 198 667 FmDC exch pop null]/Title(The Invocation API)/Count -3/OUT FmPD [/Page 85/View[/XYZ null 54 492 FmDC exch pop null]/Title(Overview)/Count -3/OUT FmPD [/Page 86/View[/XYZ null 160 609 FmDC exch pop null]/Title(Creating the VM)/OUT FmPD [/Page 86/View[/XYZ null 160 531 FmDC exch pop null]/Title(Attaching to the VM)/OUT FmPD [/Page 86/View[/XYZ null 160 417 FmDC exch pop null]/Title(Unloading the VM)/OUT FmPD [/Page 87/View[/XYZ null 54 750 FmDC exch pop null]/Title(Initialization Structures)/OUT FmPD [/Page 89/View[/XYZ null 54 719 FmDC exch pop null]/Title(Invocation API Functions)/Count -6/OUT FmPD [/Page 89/View[/XYZ null 160 469 FmDC exch pop null]/Title(JNI_GetDefaultJavaVMInitArgs)/OUT FmPD [/Page 90/View[/XYZ null 160 682 FmDC exch pop null]/Title(JNI_GetCreatedJavaVMs)/OUT FmPD [/Page 90/View[/XYZ null 160 430 FmDC exch pop null]/Title(JNI_CreateJavaVM)/OUT FmPD [/Page 91/View[/XYZ null 160 654 FmDC exch pop null]/Title(DestroyJavaVM)/OUT FmPD [/Page 91/View[/XYZ null 160 454 FmDC exch pop null]/Title(AttachCurrentThread)/OUT FmPD [/Page 92/View[/XYZ null 160 654 FmDC exch pop null]/Title(DetachCurrentThread)/OUT FmPD FMENDPAGE %%EndPage: "83" 93 %%Trailer %%BoundingBox: 0 0 612 792 %%PageOrder: Ascend %%Pages: 93 %%DocumentFonts: Palatino-Italic %%+ Palatino-Roman %%+ Symbol %%+ Palatino-Bold %%+ Times-Bold %%+ Courier %%+ Palatino-BoldItalic %%EOF .