Home > Blogs > VMware vFabric Blog


Using AspectJ for Accessing Private Members without Reflection

During development of Insight plugins we sometimes come across the need to access a private member of some 3rd party library.

The common approach for this is to use reflection:

While this is a widely accepted and simple approach, we searched for a way to improve this, mainly due to performance concerns as we try to maintain a very low overhead for our code agent.

Following is an alternative way we came up with for doing this with AspectJ.

The main idea is to use a mixin aspect (using inter-type declarations) that introduces a getter for the private member to the accessed class.
Then an around advice can be written to intercept calls to this getter method, in which the private member is returned and no call to proceed() is made.
This is similar to the useful idioms described in AspectJ in Action, Second Edition (Section 5)  for providing a default interface implementation or for introducing members to multiple types, with the addition of the around advice that "hijacks" calls to the new getter.

It is important to note here that while it seems that we have declared an interface that any class can implement, the implementing aspect relies on the actual instrumented object being of the concrete SomeClass type.
This means that SomeClass must be visible to your code (public). Otherwise refelction is still the only option.
The aspect is declared as privileged in order to enable the access of the private member of the target object once it has been cast into the concrete SomeClass  type.

Here are the classes in play:

  • The class with the private member
  • The interface declaring the public getter
  • The privileged aspect, containing the mixin declaration of the interface and the around advice
  • Example of accessing private member from a different class

Two things should be noted when using load-time weaving:

  • Since AspectJ will only weave during load time, the interface should be declared in a separate java class. This is necessary in order for the java compiler to recognize these calls from other classes : ((PrivateMessageExposer)privateClass).getPrivateMessage();
  • In order to protect your code from API changes in 3rd party libraries, you should  catch NoSuchMethodError exceptions that will be thrown during runtime.

Following is a summary of some basic performance tests we ran, where we compare execution times of a loop that is executed n times with reflection/weaving. The loop simply accesses the privateMessage field of the same instance n times consecutively.
The tests were run with the following hardware – 8 Cores x Intel Xeon E5410 @ 2.33 GHz. 16 GB memory (Heap 1GB).
As the table shows, the performance gain reaches 31% as the number of execution times gets higher, but there seems to be some performance degradation for lower numbers.

Conclusion

Depending on your needs and existing use of AspectJ, this could be a simple way to gain a performance improvement. In order to know if this will indeed result in a performance improvement and of what magnitude, you should run your own performance tests, since the results above are not conclusive, and moreover, represent a very simlified use case.

In addition to the possible performance gain, you gain more type safety than with reflection, as can be seen by this line of code : return ((SomeClass )obj).privateMessage;

  – Talya Gendler, Spring Insight Engineering

197 thoughts on “Using AspectJ for Accessing Private Members without Reflection

  1. 人気バッグランキング

    アディダス アディゼロ 人気バッグランキング http://zuixinchm.longinesckmapqdhahuepanckmapqdejp.org/

    Reply
  2. omidparse

    hi!
    good.thanks for it.
    it’s help me to improv my code.

    Reply
  3. Istanbul

    thanks for sharing

    Reply
    1. ممبر تلگرام

      nice great

      Reply
  4. mobinhost

    سرور مجازی ویندوز
    https://www.mobinhost.com/%D8%B3%D8%B1%D9%88%D8%B1-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C.html

    Reply
    1. توان نو

      فروشگاه تجهیزات پزشکی
      دستگاه اکسیژن ساز

      Reply
  5. قالب وردپرس

    thanks

    Reply
  6. نمونه سوالات استخدامی

    goooooooooooooooooooooooooooooooooooooood

    Reply
  7. سئو سایت

    mersi

    Reply
  8. ترک اعتیاد

    thanks for you

    Reply
  9. ثبت تغییرات شرکت در کرج

    mersi

    Reply
  10. درمان اعتیاد

    thanks for you

    Reply
  11. مرکز بستری ترک اعتیاد

    mrci

    Reply
  12. ثبت شرکت در کرج

    thanks

    Reply
  13. ثبت شرکت سهامی خاص در کرج

    very good thanks for you

    Reply
  14. ثبت شرکت با مسئولیت محدود در کرج

    good thanks very match

    Reply
  15. تولیدی مانتو اداری

    very good thanks for you

    Reply
  16. خرید بلیط هواپیما

    good tnx

    Reply
  17. دفتر ایر آسیا در تهران

    SEE U

    Reply
  18. نمونه سوالات پیام نور

    Thank you
    Excellent

    Reply
  19. موسسه حرف آخر

    حرف آخر | موسسه حرف آخر | انتشارات کنکور حرف آخر

    Reply
  20. معماری | 98معماری | معماری ایران | عمران

    معماری | معماری و عمران | معماری ایران | معماری جهان |معماری 98 |نقشه معماری
    gooooooooooooooooooooooooooooooood

    Reply
  21. خرید قالب وردپرس

    خرید قالب وردپرس ارجینال فقط از آپ تم

    Reply
    1. نمونه سوالات پیام نور با پاسخنامه

      نمونه سوالات پیام نور با پاسخنامه

      Reply
  22. خرید قالب وردپرس

    خرید قالب وردپرس

    Reply
  23. younes

    فیلم های کنکوری

    Reply
  24. معماری

    very nice

    Reply
  25. سرور مجازی

    سرور مجازی

    Reply
  26. سرور مجازی

    سرور مجازی سرور مجازی آلمان

    Reply
  27. آموزش اندروید

    Please also visit my dear friend Les Site Higher
    tnx

    Reply
  28. وقت سفارت

    It looks interesting, thanks for sharing

    Reply
  29. دانلود مقاله

    very helpful article…thanks for sharing this informative post
    best regard

    Reply
  30. <a> امید

    thanks.very good

    Reply
  31. حامد

    امید
    very good

    Reply
  32. chat

    thanks for sharing

    Reply
  33. سئو چیست

    very good article

    Reply
  34. هاست وردپرس

    Thank you.
    Happy new year.

    Reply
  35. سرور مجازی ارزان

    very nice.

    Reply
  36. باتری یو پی اس

    Thank you for this article.
    Happy new year.
    Best regards.
    My website : http://iranbattery.net

    Reply
  37. سئو سايت

    Tnx for your content ! I love vmware …

    Reply
  38. تفاوت میان فیستول و سینوس

    great! thanks a lot

    Reply
  39. علایم فیستول مقعدی

    enjoying your usefull article! nice job

    Reply
  40. آموزش تعمیرات موبایل

    In addition to the possible performance

    Reply
  41. چت

    enjoying your usefull article! nice job

    Reply
  42. php

    enjoying your usefull article! nice job

    Reply
  43. وقت سفارت

    tanx for shar

    Reply
  44. وقت سفارت

    very helpful article

    Reply
  45. وقت سفار کانادا

    very nice

    Reply
  46. اشتراک ویدیو

    THANK YOU FOR SHARING THIS POST

    Reply
  47. John

    Great blog keep going

    Reply
  48. قالب وردپرس

    rtled wordpress themes

    http://megatheme.ir

    Reply
  49. خرید لاستیک

    best site ranx

    Reply
  50. دیجی وردپرس

    hi, thanks
    nice post

    Reply
  51. معماری 98

    goooooooood
    helpful article

    Reply
  52. قالب وردپرس

    woooow very god this article

    Reply
  53. فروشگاه معماری

    how to you custom class ?
    public class SomeClass {
    private String privateMessage = “you can see me?!”;
    }

    Reply
  54. شیرآلات

    good web

    Reply
  55. هود آشپزخانه

    good web

    Reply
  56. آموزش کسب و کار اینترنتی

    tnx
    آموزش کسب و کار اینترنتی

    Reply
  57. tourtokish

    thank you for sharing such informative data

    Reply
  58. درب ضد سرقت

    خريد درب ضد سرقتwww.sepahandarb.com

    Reply
  59. فلزیاب

    خرید فلزیاب اورجینال

    Reply
  60. تور شیراز

    thanks alot for sharing this post

    Reply
  61. آموزش وردپرس

    Please also visit my dear friend Les Site Higher

    my web site: https://digiwp.com/

    Reply
  62. قالب وردپرس

    thank you for your great post

    Reply
  63. قالب وردپرس

    Have good professional website

    Reply
  64. آموزشگاه شیرینی پزی

    best website

    Reply
  65. بازاریابی دیجیتال

    thanks for this article

    Reply
  66. سئو سایت

    You can explain more

    Reply
  67. سئو

    I love the tutorials about vmware
    thank you for sharing such informative data visit my site http://www.webmac.ir
    وب مك

    Reply
  68. تابلو چلنیوم

    thanks for this article

    Reply
    1. خانه هوشمند رشت

      thanks for this article.
      yes.ok

      Reply
  69. سئو

    سئو و بهینه سازی سایت

    Reply
  70. قیمت سئو

    SALAM KHOBIN

    Reply
  71. Kaamyaar

    :ازدم مرکز تخصصی فروش انواع کنسول گیم، بازی و لوازم جانبی

    PS4
    PS3
    Xbox One
    Xbox 360

    https://azdam.com

    با پایین ترین قیمت بازار و ضمانت خرید شما

    پلی استیشن 4 خود را از ما بخرید و هدیه بگیرید.

    با بیش از 5 سال سابقه کار تخصصی

    Reply
  72. اجاره خودرو

    Thanks for sharing your knowledge
    its so usefull and helpfull

    Reply
  73. پروژه معماری

    I love the tutorials about vmware

    Reply
  74. Mohammad

    تصاویر جدید در سایت http://2aks.ir

    Reply
  75. تور دبی

    thanks for your sharing

    Reply
  76. تعمیر کولر گازی

    thanks for your sharing

    Reply
  77. سئو وردپرس

    Hi!
    Fantastic article, thanks for sharing this insightful piece.

    Reply
  78. مقاوم سازي ساختمان

    thanks for this article

    Reply
  79. تبلیغات گسترده در تلگرام

    Keep up the good writing.

    Reply
  80. خرید گل

    با خرید گل و سفارش دسته گل, سفارش گل , خرید جعبه گل از قاصدک گل های زیبا و باکیفیت را می توانید از گل فروشی ما سفارش بدهید.

    Reply
  81. تعمیرگاه مجاز سامسونگ

    Thank you!
    Thank you. This is very useful.

    Reply
  82. باربری تهران

    باربری تهران

    Reply
  83. Adana Web Tasarım

    Thanks for sharing your knowledge

    Reply
  84. خرید vps ارزان

    thanks dear its very helpfull

    Reply
  85. خرید سرور مجازی ارزان

    thanks for your sharing

    Reply
  86. خرید سرور مجازی ارزان

    thanks

    Reply
  87. payesh sabt

    ثبت شرکت در کرج

    Reply
  88. araxsabt

    ثبت شرکت و ثبت برند

    Reply
  89. سپتیک تانک

    thank you so much

    Reply
  90. netmarko

    Thank you.
    This is very useful.

    Reply
  91. دستگاه روغن گیری

    good job

    Reply
  92. رپورتاژ

    best regards

    Reply
  93. Tahvieh Sepehr

    thx alot

    Reply
  94. طراحی سایت

    thank you for sharing

    Reply
  95. فروشگاه اینترنتی کتاب

    thankx dear its very helpfull

    Reply
  96. سئو

    very useful text and so nice

    Reply
  97. تزریق-بوتاکس

    thank you for sharing
    تزریق-بوتاکس

    Reply
  98. جراحی-پلک

    جراحی-پلک جراحی-پلک جراحی-پلک جراحی-پلک
    جراحی-پلک

    Reply
  99. فیش پرینتر

    thank you for sharing

    Reply
  100. صدای استرالیا

    very good thanks for you

    Reply
    1. کارتن کالابر

      راهنمای اسباب کشی و عرضه کننده اولین کارتن های اسباب کشی در ایران.
      کارتن کالابر اولین و بهترین

      Reply
  101. دانلود فیلم ساعت 5 عصر

    thanksi

    Reply
  102. وقت سفارت

    thank you so much

    Reply
  103. تبلیغ در گوگل

    merciiii

    Reply
  104. تور اروپا

    very useful

    Reply
  105. زیورآلات و صنایع دستی

    فروشگاه صنایع دستی و زیور آلات

    Reply
  106. تعمیرات ساختمان

    very useful

    Reply
  107. تور باکو

    very nice and perfect blog.

    Reply
  108. یدات کلسیم

    excellent.

    Reply
  109. مشاوره مدیریت رسا

    مشاوره مدیریت، مشاوره منابع انسانی و استخدامrasateam.com

    Reply
  110. حرف اخر

    excellent

    حرف اخر حرف نداره من سه تا درسو گرفتم تونستم در کمترین زمان درصد های خیلی خوبی بزنم

    Reply
  111. حرف اخر

    very useful.

    قیمت عربی حرف اخر میشه بگید

    Reply
  112. حرف اخر

    very useful.

    قیمت زبان حرف اخر چنده

    Reply
  113. حرف اخر

    من پک کامل رشته تجربی حرف آخر گرفتم از درس خوندن سیر نمیشم واقعا عالیه

    Reply
  114. Adana web tasarım

    thank you so much for sharing

    Reply
  115. حرف اخر

    من از ادبیات حرف آخر استفاده کردم ادبیاتم خیلی ضعیف بود اما با ادبیات حرف آخر بهترین درصدم در کنکور ادبیات بود

    Reply
  116. حرف اخر

    thank you so much for sharing

    من از ادبیات حرف آخر استفاده کردم ادبیاتم خیلی ضعیف بود اما با ادبیات حرف آخر بهترین درصدم در کنکور ادبیات بود

    Reply
  117. اسکوتر برقی

    اسکوتر برقی
    http://scootershop.ir/

    Reply
  118. ویزا کانادا

    thank you

    Reply
  119. شارژ کارتریج

    شارژ کارتریج پرینترهای لیزری و دستگاه کپی توسط مجرب ترین تکنسین های ماشین های اداری انجام می شود. در هنگام شارژ کارتریج، بررسی سلامت قطعات کارتریج نیز انجام می شود. قطعاتی همچون درام، بلید، مگنت، چیپست و… که در صورت نیاز تعویض می شوند. آوند پرینتر با سال ها تجربه در زمینه ماشین های اداری مطمئناً اعتماد شما را جلب کرده و شما را مشتری خود خواهد کرد.

    Reply
  120. مهاجرت به استرالیا

    وبسایت اطلاع رسانی فارسی زبانان استرالیا | Voice Of Australia

    Reply
    1. ویرگول

      اگر قصد خرید ساعت یا مچ بند هوشمند دارید حتما این وقاله را تا انتها بخوانید.

      Reply
  121. دانلود آهنگ های جدید ایرانی پرطرفدار

    دانلود آهنگ های جدید ایرانی پرطرفدار

    Reply
  122. طراحی سایت در مازندران

    طراحی سایت ارزان و حرفه ای با ادمین سایت

    Reply
  123. ویزای تایلند

    Good site.

    Reply
  124. سئو چیست

    this is a usefull and handy for me

    Reply
  125. کتاب وب

    im website designer. one of my favorite hobbies is coding. you really helped me. sited that i will mentioned here is one of my project
    https://ketabweb.com

    Reply
  126. GHAEM

    قیمت روز میلگرد 

    Reply
  127. SHARYAN

    انتشارات سمت 

    Reply
  128. MANISAN

    انتشارات ارجمند

    Reply
  129. ovila

    کواد کوپتر دوربین دار

    Reply
  130. papiroos

    هلی شات

    Reply
  131. Ggahve

    کوادکوپتر

    Reply
  132. khandevaneh

    کواد کوپتر

    Reply
  133. kavazaki

    کوادکوپتر دوربین دار

    Reply
  134. nazm

    اجاره آپارتمان مبله در تهران

    Reply
  135. landi

    آپارتمان مبله ر تهران

    Reply
  136. ttehran

    قیمت کرکره برقی 

    Reply
  137. ttehran

    قیمت کرکره برقی آلومینیومی 

    Reply
  138. GGAVAN

    فروش اداری در پونک

    Reply
  139. سئو

    tnx for post

    Reply
  140. عایق صوتی خودرو

    thank you

    Reply
    1. گروه آسمان

      ـولید کننه پنجره ترمال بریک و مجری نمای کرتین وال و نمای فریم لس

      Reply
  141. طراحی سایت

    tnx for post

    Reply
  142. لیفت صورت با نخ

    perfect

    Reply
  143. کلینیک تغذیه

    i whant that

    Reply
  144. طراحی سایت

    Thanks for sharing

    Reply
  145. digisilkroad

    Digisilkroad is a global website about international exhibitions all around the world that can help you to have good business

    Reply
  146. digisilkroad

    Thanks fo your good seo.
    Digisilkroad is a global website about international exhibitions all around the world that can help you to have good business

    Reply
  147. licni oglasi

    Great post .I was thinking about this main idea and it comes the best solution for me .

    Reply
  148. وام

    thank you

    Reply
  149. وام ازدواج

    perfect

    Reply
  150. فریت بار

    nice post

    Reply
  151. omid

    Great post .I was thinking about this main idea

    Reply
  152. طراحی لوگو

    Great post .I was thinking about this main idea

    Reply
  153. خرید انگشتر فیروزه

    thank you

    Reply
  154. غرفه سازی نمایشگاهی

    good job

    Reply
  155. دانلود آهنگ شهاب مظفری ستایش

    Great post .I was thinking about this main idea and it

    Reply
  156. آلفا فیلم

    https://alphafilm.ir/model-7/

    دانلود سریال مانکن قسمت 7 از سایت مرجع دانلود فیلم و سریال جدید (آلفافیلم)

    Reply
  157. گیت کنترل تردد

    Thanks for sharing

    Reply
  158. ویزای آذربایجان

    very useful subject. it helped me solve the problem. you can also find interesting subject here in a href=”https://visaazerbaijan.ir/html/default.asp”>ویزای باکو

    Reply
  159. لنت ترمز تیگران

    ممنون از شما
    لنت ترمز

    Reply
  160. آموزش طراحی سایت

    آموزش های طراحی سایت از آکادمی وبکیما

    Reply
  161. چت روم

    7rd7

    Reply
    1. تور اروپا

      tnx for post

      Reply
  162. تور لحظه آخری

    thank you

    Reply
  163. تور لحظه آخری

    very useful subject

    Reply
  164. تور باکو

    This subject is a perfect one.

    Reply
  165. دانلود فیلم

    بعد از اتمام اکران فیلم های سینمایی در سینما، لینک های دانلود فیلم در 5 کیفیت متفاوت در آلفافیلم قرار میگیرد و شما می توانید با خرید قانونی فیلم به تماشای فیلم در خانه تان بپردازید و لذت ببرید. پول های حاصل از خرید قانونی به عوامل سازنده آن فیلم پرداخت می شود
    دانلود فیلم و سریال ب لینک مستقیم و ترافیک نیم بها

    Reply
  166. Rohit Mehra

    This subject is a perfect one.

    Reply
  167. حفاظ شاخ گوزنی

    حفاظ و نرده

    Reply
  168. evoltex

    خرید یو پی اس
    خرید باتری یو پی اس
    فروش یو پی اس
    فروش باتری یو پی اس
    در وب سایت شرکت باتری و یو پی اس ایولتکس
    http://www.evoltex.ir

    Reply
  169. zarinexchange

    زرین اکسچنجج
    خرید پرفکت مانی
    خرید پرفکت مانی

    Reply
  170. مبل استیل

    مبل استیل- بازار مبل

    Reply
  171. پوست مو زیبایی

    great job

    Reply
  172. تور اسکی

    تور اسکی

    Reply
  173. خانه قبرس - خانه استانبول

    خانه استانبول
    خانه قبرس
    خانه استانبول

    Reply
  174. vipabzar

    موتور برق بنزینی ، کارواش ماشین ، دستگاه جوش اینورتر ، ابزارالات دستی ،ابزارهای بنزینی

    Reply
  175. تور زمینی وان از تبریز

    آیدین ای وی ام از دیـــگر مراکز خرید وان
    آیدین پریــهام از مراکز خرید وان ترکیه که در بخش مرکزی واقع شده اسـت و به راحتی می توان به آن دسترسی داشت. همه اجناس ارائه شده در این مرکز اصــل هستند به همین دلیل نیاز به پرداخت هزینه های بالا برای خرید آن ها خواهید بود، البته ناگفته نماند که کماکان قیمت مناسب برای آن ها تعیین شده است. اگر جز کسانی که به دنبال خریـــد لباس های خوب با برند اصل هستید حتما به آیــدین پریهام سر بزنید و از اجناس آن دیدن فرمایید .در اینجا هیچ جنس تقلبی ارائه نمی شود. رستوران تامارا گــریل در کنار این مرکز خرید واقع شده است که همین موضوع یکی از مزیت های اصلی آیدین پرهام حساب می شود، این رستوران غذاهای ترک را ســرو می کند، غذاهایی که طعم آن را هیچ کجای دیگر نچشیـــده اید. از اجناس ارائه شده در این مرکز خرید می توان به موارد زیر اشــاره کرد: انواع لــوازم الکتــریکی،کیف و کفش با برنــدها و کیفیت های مــتنوع،البــسه کودکــان

    منبع : تور زمینی وان از تبریز

    Reply
  176. clubseo.ir

    به طور کلی موارد مهم داخلی سئو وب سایت عبارتند از: نحوه طراحی سایت (شامل کد نویسی، سرعت لود صفحات، ساختار صفحات، نحوه طراحی قالب، نحوه قرار گرفتن محتوا در صفحه و…) و محتوای سایت و البته کلمات کلیدی به کار رفته در محتوای سایت.

    https://clubseo.ir/website-optimization-and-seo/

    Reply
  177. تور زمینی وان از تبریز

    رزرو تور زمینی وان از شهر تبریز همه روزه انجام میگردد , این تور شامل ترانسفر تا مرز و از مرز تا شهر وان دم تا هتل می باشد . در هتل اتاق به انتخاب مسافر می باشد . در هتل های وان صبحانه رایگان می باشد . اگر شما دوست یا مهمان داشته باشید صبحانه تا یک نفر نیز برای آن شخص مهمان رایگان میباشد . صبحانه های هتل های 2 و 3 ستاره کاملا دارای کیفیت مناسبی میباشند و صبحانه های هتل های 4 ستاره کامل است. رزرو تور زمینی وان بسته به شرایط فصلی از قیمت ها و نرخ های دلاری شروع می شود .

    منبع :

    Reply
  178. مدیریت سایت و سئو و پشتیبانی

    که باععث پیشرفت سایت شما می شودمدیریت و پشتیبانی و سئوی سایت توسط گروه الوو وب

    Reply
  179. rival

    VERY NICE VMWARE

    Reply
  180. قیمت ساعت هوشمند

    برای استعلام قسمت بهترین ساعت های هوشمند به انتشارات تاپ کالا در ویرگول مراجعه نمایید

    Reply
  181. دانلود فیلم سینمایی

    دانلود بهترین فیلم ها و سریال های ایران و جهان

    Reply
  182. دانلود سریال کرگدن

    کرگدن سریالی به کارگردانی کیارش اسدی‌زاده و تهیه کنندگی صادق یاری محصول شبکه نمایش خانگی می باشد. استارت فیلم برداری این سریال از تاریخ 16 آبان 1398 زده شد.

    دانلود سریال کرگدن با لینک مستقیم . دانلود سریال کرگدن در 5 کیفیت متفاوت. دانلود سریال کرگدن با ترافیک نیم بها

    Reply
  183. akmkitap

    it is beautiful nice.

    Reply
  184. akmkitap

    it is beautiful nice. akmkitap.

    Reply
  185. میموس

    What is SEO? SEO is a set of processes and procedures that are performed on a site to get a more meaningful result. SEO will give you new and targeted customers and help you to double your sales.
    .
    What is SEO?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *