|
I think I attached the wrong stacktrace. It should not be the one stopping at the breakpoint. Probability to get a stacktrace like this is higher if you create a stacktrace while processing:
Thread [main] (Suspended) owns: JarFile (id=4504) System.arraycopy(Object, int, Object, int, int) line: not available [native method] Arrays.copyOf(byte[], int) line: 3237 ZipCoder.getBytes(String) line: 89 JarFile(ZipFile).getEntry(String) line: 311 JarFile.getEntry(String) line: 240 JarFile.getJarEntry(String) line: 223 URLClassPath$JarLoader.getResource(String, boolean) line: 1005 URLClassPath$JarLoader.findResource(String, boolean) line: 983 URLClassPath.findResource(String, boolean) line: 188 URLClassLoader$2.run() line: 569 URLClassLoader$2.run() line: 567 AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method] Launcher$AppClassLoader(URLClassLoader).findResource(String) line: 566 Launcher$AppClassLoader(ClassLoader).getResource(String) line: 1093 Launcher$AppClassLoader(URLClassLoader).getResourceAsStream(String) line: 232 AccessorInjector.tailor(String, String, String...) line: 113 AccessorInjector.prepare(Class, String, String, String...) line: 79 OptimizedAccessorFactory.get(Field) line: 165 Accessor$FieldReflection<BeanT,ValueT>.optimize(JAXBContextImpl) line: 253 TransducedAccessor$CompositeTransducedAccessorImpl<BeanT,ValueT>.<init>(JAXBContextImpl, Transducer<ValueT>, Accessor<BeanT,ValueT>) line: 231 TransducedAccessor<BeanT>.get(JAXBContextImpl, RuntimeNonElementRef) line: 173 SingleElementLeafProperty<BeanT>.<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 83 GeneratedConstructorAccessor15.newInstance(Object[]) line: not available DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 45 Constructor<T>.newInstance(Object...) line: 422 PropertyFactory.create(JAXBContextImpl, RuntimePropertyInfo) line: 124 ClassBeanInfoImpl<BeanT>.<init>(JAXBContextImpl, RuntimeClassInfo) line: 171 JAXBContextImpl.getOrCreate(RuntimeClassInfo) line: 481 JAXBContextImpl.getOrCreate(RuntimeTypeInfo) line: 500 ArrayElementNodeProperty<BeanT,ListT,ItemT>(ArrayElementProperty<BeanT,ListT,ItemT>).<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 108 ArrayElementNodeProperty<BeanT,ListT,ItemT>.<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 58 GeneratedConstructorAccessor13.newInstance(Object[]) line: not available DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 45 Constructor<T>.newInstance(Object...) line: 422 PropertyFactory.create(JAXBContextImpl, RuntimePropertyInfo) line: 124 ClassBeanInfoImpl<BeanT>.<init>(JAXBContextImpl, RuntimeClassInfo) line: 171 JAXBContextImpl.getOrCreate(RuntimeClassInfo) line: 481 JAXBContextImpl.getOrCreate(RuntimeTypeInfo) line: 500 ArrayElementNodeProperty<BeanT,ListT,ItemT>(ArrayElementProperty<BeanT,ListT,ItemT>).<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 108 ArrayElementNodeProperty<BeanT,ListT,ItemT>.<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 58 GeneratedConstructorAccessor13.newInstance(Object[]) line: not available DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 45 Constructor<T>.newInstance(Object...) line: 422 PropertyFactory.create(JAXBContextImpl, RuntimePropertyInfo) line: 124 ClassBeanInfoImpl<BeanT>.<init>(JAXBContextImpl, RuntimeClassInfo) line: 171 JAXBContextImpl.getOrCreate(RuntimeClassInfo) line: 481 JAXBContextImpl.getOrCreate(RuntimeTypeInfo) line: 500 ArrayElementNodeProperty<BeanT,ListT,ItemT>(ArrayElementProperty<BeanT,ListT,ItemT>).<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 108 ArrayElementNodeProperty<BeanT,ListT,ItemT>.<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 58 GeneratedConstructorAccessor13.newInstance(Object[]) line: not available DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 45 Constructor<T>.newInstance(Object...) line: 422 PropertyFactory.create(JAXBContextImpl, RuntimePropertyInfo) line: 124 ClassBeanInfoImpl<BeanT>.<init>(JAXBContextImpl, RuntimeClassInfo) line: 171 JAXBContextImpl.getOrCreate(RuntimeClassInfo) line: 481 JAXBContextImpl.getOrCreate(RuntimeTypeInfo) line: 500 SingleElementNodeProperty<BeanT,ValueT>.<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 100 GeneratedConstructorAccessor14.newInstance(Object[]) line: not available DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 45 Constructor<T>.newInstance(Object...) line: 422 PropertyFactory.create(JAXBContextImpl, RuntimePropertyInfo) line: 124 ClassBeanInfoImpl<BeanT>.<init>(JAXBContextImpl, RuntimeClassInfo) line: 171 JAXBContextImpl.getOrCreate(RuntimeClassInfo) line: 481 JAXBContextImpl.getOrCreate(RuntimeTypeInfo) line: 500 ArrayElementNodeProperty<BeanT,ListT,ItemT>(ArrayElementProperty<BeanT,ListT,ItemT>).<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 108 ArrayElementNodeProperty<BeanT,ListT,ItemT>.<init>(JAXBContextImpl, RuntimeElementPropertyInfo) line: 58 GeneratedConstructorAccessor13.newInstance(Object[]) line: not available DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 45 Constructor<T>.newInstance(Object...) line: 422 PropertyFactory.create(JAXBContextImpl, RuntimePropertyInfo) line: 124 ClassBeanInfoImpl<BeanT>.<init>(JAXBContextImpl, RuntimeClassInfo) line: 171 JAXBContextImpl.getOrCreate(RuntimeClassInfo) line: 481 JAXBContextImpl.<init>(Class[], Collection<TypeReference>, Map<Class,Class>, String, boolean, RuntimeAnnotationReader, boolean, boolean) line: 315 ContextFactory.createContext(Class[], Collection<TypeReference>, Map<Class,Class>, String, boolean, RuntimeAnnotationReader, boolean, boolean) line: 139 ContextFactory.createContext(Class[], Map<String,Object>) line: 117 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 Method.invoke(Object, Object...) line: 497 ContextFinder.newInstance(Class[], Map, Class) line: 247 ContextFinder.newInstance(Class[], Map, String) line: 234 ContextFinder.find(Class[], Map) line: 441 JAXBContext.newInstance(Class[], Map<String,?>) line: 641 JAXBContext.newInstance(Class...) line: 584 MappingBinder(AbstractBinder).jaxb(XMLEventReader, Schema, Class<T>, Origin) line: 162 MappingBinder.doBind(XMLEventReader, StartElement, Origin) line: 57 MappingBinder(AbstractBinder).doBind(XMLEventReader, Origin) line: 102 MappingBinder(AbstractBinder).bind(InputStream, Origin) line: 57 InputStreamXmlSource.doBind(Binder, InputStream, Origin, boolean) line: 43 UrlXmlSource.doBind(Binder) line: 36 XmlMappingBinderAccess.bind(String) line: 59 MetadataSources.addResource(String) line: 274
So I guess the bad performance has something to do with constantly scanning the many big jar files for whatever is needed from them.
|