btrace问题,为何跳过了sun/reflect/GeneratedMethodAccessor
关于题主的直接问题:btrace问题,为何跳过了sun/reflect/GeneratedMethodAccessor?请看BTrace是在什么情况下打印出“skipping transform for BTrace class”日志的:https://kenai.com/projects/btrace/sources/btrace2/content/boot/src/main/java/net/java/btrace/server/SessionImpl.java?rev=63 /* * Certain classes like java.lang.ThreadLocal and it\u0026#39;s * inner classes, java.lang.Object cannot be safely * instrumented with BTrace. This is because BTrace uses * ThreadLocal class to check recursive entries due to * BTrace\u0026#39;s own functions. But this leads to infinite recursions * if BTrace instruments java.lang.ThreadLocal for example. * For now, we avoid such classes till we find a solution. */ private static boolean isSensitiveClass(String name) { return name.equals("java/lang/Object") || // NOI18N name.startsWith("java/lang/ThreadLocal") || // NOI18N name.startsWith("sun/reflect") || // NOI18N name.equals("sun/misc/Unsafe") || // NOI18N name.startsWith("sun/security/") || // NOI18N name.equals("java/lang/VerifyError"); // NOI18N } public byte transform( ClassLoader loader, String cname, Class\u0026lt;?\u0026gt; classBeingRedefined, ProtectionDomain protectionDomain, byte classfileBuffer) throws IllegalClassFormatException { boolean entered = BTraceRuntime.enter(); try { if (isBTraceClass(cname) || isSensitiveClass(cname)) { if (debug) Main.debugPrint("skipping transform for BTrace class " + cname); // NOI18N return null; } // ... }注释把理由说得很清楚了。请问题主用的GC参数是怎样的?这是在用CMS么?我会建议把 -XX:PermSize 和 -XX:MaxPermSize 设到一样大,例如说都设到256M。这样会避免很多问题(JDK6里的HotSpot VM在处理PermGen扩容的时候有点bug)。
推荐阅读
- 江苏■江苏交控坚持问题导向、瞄准职工需求——找准“病灶”当好“产改先行官”
- 贵州在建骨干水源工程达到465座有效解决工程性区域性缺水问题
- 四川眉山瓦屋山景区就游客投诉、停车难等问题公开道歉
- 杭州已整改城市道路无障碍环境问题12467处
- #补贴#江阴为何迟迟没执行?|解忧帮 无锡:机动车报废有补贴
- 互联网怎样解决“家政服务上门速度慢”的问题
- 中东问题|
- 中国网汽车|购车2个多月、仅行驶8000多公里 宝骏730遭遇7处问题
- OC为何跌出语言榜前十
- |沛县深入开展教育领域突出问题专项整改
