|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface Instrumentation
ÀÌ Å¬·¡½º´Â Java ÇÁ·Î±×·¥ ¾ð¾î Äڵ带 ÆÄ¾Ç Çϱâ À§ÇÑ ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù. ÀνºÆ®¸£¸àÅ×À̼ÇÀ̶õ Åø·Î »ç¿ëÇÏ´Â µ¥ÀÌÅ͸¦ ¼öÁýÇÏ´Â °ÍÀ» ¸ñÀûÀ¸·ÎÀÇÇØ ¸Þ¼µå¿¡ ¹ÙÀÌÆ® Äڵ带 Ãß°¡ÇÏ´Â °ÍÀÔ´Ï´Ù. º¯°æÀº ´ÜÁö Ãß°¡µÇ±â ¶§¹®¿¡ ÀÌ·¯ÇÑ ÅøÀº ¾îÇø®ÄÉÀÌ¼Ç »óųª µ¿ÀÛÀ» º¯°æÇÏÁö ¾Ê½À´Ï´Ù. »óųª µ¿ÀÛ¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â ÀÌ·± Á¾·ùÀÇ Åø¿¡´Â °¨½Ã ¿¡ÀÌÀüÆ®, ÇÁ·Î filer, Ä«¹ö¸®Áö analyzer ¹× À̺¥Æ® ·Î°ÅµîÀÌ ÀÖ½À´Ï´Ù.
Instrumentation
ÀÎÅÍÆäÀ̽ºÀÇ ÀνºÅϽº¿¡ ¾×¼¼½º ÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº ¿¡ÀÌÀüÆ® Ŭ·¡½º¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀ¸·Î JVM¸¦ ½ÃÀÛÇÏ´Â °ÍÀÔ´Ï´Ù (the package specification¸¦
ÂüÁ¶). Instrumentation
ÀνºÅϽº´Â ±× ¿¡ÀÌÀüÆ® Ŭ·¡½ºÀÇ premain
¸Þ¼µå¿¡°Ô °Ç³×Áý´Ï´Ù. ¿¡ÀÌÀüÆ®°¡ Instrumentation
ÀνºÅϽº¸¦ ÃëµæÇϸé, ÀνºÅϽº»óÀÇ ¸Þ¼µå¸¦ ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù
.
¸Þ¼µå °³¿ä | |
---|---|
void |
addTransformer (ClassFileTransformer transformer)
Á¦°øµÈ Æ®·£½º Æ÷¸Ó¸¦ µî·ÏÇÕ´Ï´Ù. |
Class [] |
getAllLoadedClasses ()
JVM¿¡ ÀÇÇØ ÇöÀç ·Îµå »ç¶óÁú ¼ö ÀÖ¾î ¸ðµç Ŭ·¡½ºÀÇ ¹è¿À» ¸®ÅÏÇÕ´Ï´Ù. |
Class [] |
getInitiatedClasses (ClassLoader loader)
loader °¡ ½ÃÀÛ ·Î´õÀÎ ¸ðµç Ŭ·¡½ºÀÇ ¹è¿À» ¸®ÅÏÇÕ´Ï´Ù. |
long |
getObjectSize (Object objectToSize)
ÁöÁ¤µÈ °´Ã¼¿¡ ÀÇÇØ ¼ÒºñµÇ´Â ±â¾ï ¿µ¿ªÀÇ ¿ë·®ÀÇ ±¸Çö °íÀ¯ÀÇ ±Ù»çÄ¡¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
isRedefineClassesSupported ()
ÇöÀçÀÇ JVM ±¸¼ºÀÌ Å¬·¡½ºÀÇ ÀçÁ¤ÀǸ¦ Áö¿ø Çϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
void |
redefineClasses (ClassDefinition [] definitions)
Á¦°øµÈ Ŭ·¡½º ÆÄÀÏÀ» »ç¿ëÇØ Á¦°øµÈ Ŭ·¡½º¼¼Æ®¸¦ ÀçÁ¤ÀÇÇÕ´Ï´Ù. |
boolean |
removeTransformer (ClassFileTransformer transformer)
Á¦°øµÈ Æ®·£½º Æ÷¸ÓÀÇ µî·ÏÀ» ÇØÁ¦ÇÕ´Ï´Ù. |
¸Þ¼µåÀÇ »ó¼¼ |
---|
void addTransformer(ClassFileTransformer transformer)
addTransformer
¸¦ »ç¿ëÇØ µî·ÏµÈ ¸ðµç Æ®·£½º Æ÷¸Ó´Â ¿ÜºÎÀÇ JVMTI ClassFileLoadHook À̺¥Æ® ¸®½º³Ê°¡ È®ÀÎÇϱâ Àü¿¡
Ç×»ó ¸ðµç Ŭ·¡½º ÆÄÀÏÀ» È®ÀÎÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â class specification ·Î ±â¼úµÇ°í ÀÖµµ·Ï, ÀνºÆ®¸£¸àÅ×À̼ÇÀ¸·Î »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
transformer
- µî·ÏÇÏ´Â Æ®·£½º Æ÷¸Ó
NullPointerException
- null
Æ®·£½º Æ÷¸Ó¸¦ °Ç³×ÁÖ¾úÀ» °æ¿ìboolean removeTransformer(ClassFileTransformer transformer)
transformer
- µî·ÏÀ» ÇØÁ¦ÇÏ´Â Æ®·£½º Æ÷¸Ó
NullPointerException
- null
Æ®·£½º Æ÷¸Ó¸¦ °Ç³×ÁÖ¾úÀ» °æ¿ìboolean isRedefineClassesSupported()
redefineClasses(java.lang.instrument.ClassDefinition[])
void redefineClasses(ClassDefinition [] definitions) throws ClassNotFoundException, UnmodifiableClassException
ÀçÁ¤ÀÇµÈ ¸Þ¼µå°¡ Ȱ¼ºÈµÈ ½ºÅà ÇÁ·¹ÀÓÀ» °¡Áö´Â °æ¿ì, Ȱ¼ºÈµÈ ½ºÅà ÇÁ·¹ÀÓÀº ¿øÀÇ ¸Þ¼µåÀÇ ¹ÙÀÌÆ® Äڵ带 °è¼ÓÇØ ½ÇÇàÇÕ´Ï´Ù. ÀçÁ¤ÀÇµÈ ¸Þ¼µå´Â »õ·Î¿î È£Ãâ·Î »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â °üÇàÀÇ JVM ½Ã¸àƽ½º¾Æ·¡¿¡¼ ¹ß»ýÇÏ´Â Ãʱâȸ¦ Á¦¿ÜÇØ, Ãʱâȸ¦ ¹ß»ý½ÃŰÁö ¾Ê½À´Ï´Ù. Áï, Ŭ·¡½ºÀÇ ÀçÁ¤ÀÇ¿¡¼´Â Ŭ·¡½ºÀÇ ÃʱâÈÀÚ´Â ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. static º¯¼öÀÇ °ªÀº È£ÃâÇØ ÀüÀÇ °ª´ë·Î À¯ÁöµË´Ï´Ù.
ÀçÁ¤ÀÇµÈ Å¬·¡½ºÀÇ ÀνºÅϽº´Â ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.
µî·ÏµÈ Æ®·£½º Æ÷¸Ó´Â ÀçÁ¤ÀÇ Á¶ÀÛÀÌ Àû¿ëµÇ±â Àü¿¡ È£ÃâÇÕ´Ï´Ù.
ÀçÁ¤ÀÇ¿¡¼´Â ¸Þ¼µåÀÇ º»¹®, Á¤¼ö Ç® ¹× ¼Ó¼ºÀÇ º¯°æÀÌ °¡´ÉÇÕ´Ï´Ù. ´Ù¸¸, ÀçÁ¤ÀÇ¿¡¼´Â ÇÊµå ¶Ç´Â ¸Þ¼µåÀÇ Ãß°¡ »èÁ¦, ȤÀº À̸§ÀÇ º¯°æ, ¸Þ¼µåÀÇ ½Ã±×´ÏÃÄÀÇ º¯°æ, ȤÀº »ó¼ÓÀÇ º¯°æÀº ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ Á¦¾àÀº Àå·¡ ¹öÀü À¸·Î ÇØ¼ÒµÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
±æÀÌ Á¦·ÎÀÇ definitions
¹è¿Àº »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, »ç¿ëÇßÀ» °æ¿ì, ÀÌ ¸Þ¼µå´Â ¾Æ¹«°Íµµ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù.
ÀÌ ¸Þ¼µå°¡ ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì, Ŭ·¡½ºÀÇ ÀçÁ¤ÀÇ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.
ÀÌ ¸Þ¼µå´Â class specification ·Î ±â¼úµÇ°í ÀÖµµ·Ï, ÀνºÆ®¸£¸àÅ×À̼ÇÀ¸·Î »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
definitions
- ´ëÀÀÇÏ´Â Á¤ÀǸ¦ »ç¿ëÇØ ÀçÁ¤ÀÇÇϴ Ŭ·¡½ºÀÇ ¹è¿
ClassNotFoundException
- ÁöÁ¤µÈ Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì
UnmodifiableClassException
- ÁöÁ¤µÈ Ŭ·¡½º¸¦ º¯°æÇÒ ¼ö ¾ø´Â °æ¿ì
UnsupportedOperationException
- JVM
ÇöÀçÀÇ ±¸¼ºÀÌ ÀçÁ¤ÀÇ (isRedefineClassesSupported()
°¡ false)¸¦ Çã°¡ÇÏÁö ¾Ê´ÂÁö, ÀçÁ¤ÀÇ·Î Áö¿ø
µÇ¾î ÀÖÁö ¾ÊÀº º¯°æÀ» ½Ç½ÃÇßÀ» °æ¿ì
ClassFormatError
- µ¥ÀÌÅͰ¡ À¯È¿ÇÑ Å¬·¡½º¸¦ Æ÷ÇÔÇÏÁö ¾Ê¾Ò´ø °æ¿ì
NoClassDefFoundError
- Ŭ·¡½º ÆÄÀÏÀÇ À̸§ÀÌ Å¬·¡½ºÀÇ À̸§°ú µ¿ÀÏÇÏÁö ¾ÊÀº °æ¿ì
UnsupportedClassVersionError
- Ŭ·¡½º ÆÄÀÏ ¹öÀü
¹øÈ£°¡ Áö¿ø
µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
ClassCircularityError
- »õ·Î¿î Ŭ·¡½º°¡ ¼øÈ¯À» Æ÷ÇÔÇÑ °æ¿ì
LinkageError
- ¸µÅ°Áö ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- Á¦°øµÈ Á¤ÀÇ ¹è¿ ¶Ç´Â ±× ÄÄÆÛ³ÍÆ®°¡ null
ÀÎ °æ¿ìisRedefineClassesSupported()
,
addTransformer(java.lang.instrument.ClassFileTransformer)
,
ClassFileTransformer
Class [] getAllLoadedClasses()
Class [] getInitiatedClasses(ClassLoader loader)
loader
°¡ ½ÃÀÛ ·Î´õÀÎ ¸ðµç Ŭ·¡½ºÀÇ ¹è¿À» ¸®ÅÏÇÕ´Ï´Ù. Á¦°øµÈ ·Î´õ°¡ null
ÀÎ °æ¿ì, bootstrap Ŭ·¡½º ·Î´õ¿¡ ÀÇÇØ ½ÃÀÛµÈ Å¬·¡½º°¡ ¸®Åϵ˴ϴÙ
.
loader
- ½ÃÀÛÇÑ Å¬·¡½º ¸®½ºÆ®°¡ ¸®ÅϵÈ
·Î´õ
long getObjectSize(Object objectToSize)
objectToSize
- »çÀÌÁ Æò°¡ÇÏ´Â °´Ã¼
NullPointerException
- Á¦°øµÈ °´Ã¼°¡ null
ÀÎ °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.