×
- 코드 및 콘솔 화면은 [ code ] 내용 [ /code ] 태그 처리하여 주세요.
- 강조하고자 하는 내용은 [ b ] 내용 [ /b ] 태그 처리하여 주세요.
- 강조하고자 하는 내용은 [ b ] 내용 [ /b ] 태그 처리하여 주세요.
자바 프로그램이 빠르다 느리다 합니다.
-
kia94568
(케이나인) - 이 글의 작성자
- Offline
- Newbie
덜보기
더보기
- Posts: 8
- Thank you received: 0
21 Jan 2017 12:04 #1856
작성자: kia94568
kia94568 님의 글: 자바 프로그램이 빠르다 느리다 합니다.
현재 문제가 되는 부분은 config 파일을 읽어들인 후 처리하는 부분인데
로그를 찍어보면 전혀 느릴 것이 없는 부분에서 (객체 초기화, null 처리) 10초 이상 대기하는 경우가 있습니다.
그래서 아래와 같이 스레드 단면을 만들어보았는데 혹시 원인을 알 수 있을까요;;
로그를 찍어보면 전혀 느릴 것이 없는 부분에서 (객체 초기화, null 처리) 10초 이상 대기하는 경우가 있습니다.
그래서 아래와 같이 스레드 단면을 만들어보았는데 혹시 원인을 알 수 있을까요;;
Full thread dump Java HotSpot(TM) Client VM (1.4.2_19-b04 mixed mode):
"Signal Dispatcher" daemon prio=1 tid=0x080e59f8 nid=0x2de0 waiting on condition [0x00000000..0x00000000]
"Finalizer" daemon prio=1 tid=0x080e2260 nid=0x2dde in Object.wait() [0xeabff000..0xeabff168]
at java.lang.Object.wait(Native Method)
- waiting on <0xeb38d980> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0xeb38d980> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=1 tid=0x080e1628 nid=0x2ddd in Object.wait() [0xead8e000..0xead8e168]
at java.lang.Object.wait(Native Method)
- waiting on <0xeb38d9e8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
- locked <0xeb38d9e8> (a java.lang.ref.Reference$Lock)
"main" prio=1 tid=0x080abab0 nid=0x2ddb runnable [0xffab3000..0xffab5308]
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:194)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
- locked <0xeaeadeb0> (a java.io.BufferedInputStream)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
- locked <0xeaeadca8> (a java.io.BufferedInputStream)
at sun.security.provider.SeedGenerator$URLSeedGenerator.getSeedByte(SeedGenerator.java:467)
at sun.security.provider.SeedGenerator.getSeedBytes(SeedGenerator.java:137)
at sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:132)
at sun.security.provider.SecureRandom.engineGenerateSeed(SecureRandom.java:112)
at sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:169)
- locked <0xeaead758> (a sun.security.provider.SecureRandom)
at java.security.SecureRandom.nextBytes(SecureRandom.java:381)
- locked <0xeaf10dd8> (a java.security.SecureRandom)
at java.security.SecureRandom.next(SecureRandom.java:403)
at java.util.Random.nextLong(Random.java:282)
at java.io.File.generateFile(File.java:1291)
at java.io.File.createTempFile(File.java:1399)
at java.io.File.createTempFile(File.java:1437)
at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:169)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java:164)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:42)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:53)
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:85)
at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:107)
at java.net.URL.openStream(URL.java:913)
at sun.misc.URLClassPath$Loader.findResource(URLClassPath.java:471)
at sun.misc.URLClassPath.findResource(URLClassPath.java:141)
at java.net.URLClassLoader$2.run(URLClassLoader.java:352)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(URLClassLoader.java:349)
at java.lang.ClassLoader.getResource(ClassLoader.java:813)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:995)
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:160)
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:93)
at com.kia.commonutil.XmlParser.getDocument(XmlParser.java:51)
at com.kia.commonutil.XmlParser.exec(XmlParser.java:34)
at com.kia.scanner.conf.ConfReader.readFile(ConfReader.java:33)
at com.kia.scanner.conf.ConfReader.fork(ConfReader.java:24)
at com.kia.main(Main.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
"VM Thread" prio=1 tid=0x080e0498 nid=0x2ddc runnable
"VM Periodic Task Thread" prio=1 tid=0x080e8240 nid=0x2de2 waiting on condition
"Suspend Checker Thread" prio=1 tid=0x080e5008 nid=0x2ddf runnable
-
short3300
(스벅오늘의커피) - Offline
- Junior
덜보기
더보기
- Posts: 182
- Thank you received: 24
21 Jan 2017 21:58 #1859
작성자: short3300
short3300 님의 답글: 자바 프로그램이 빠르다 느리다 합니다.
메인 스레드에서 java.security.SecureRandom.next 부분이 눈에 띄네요. SecureRandom 관련된 부분이 있는 것 같구요.
어떤 작업을 위한 충분한 엔트로피 수집이 안되서 그런 것 같다는 생각이 듭니다. 물론 정답은 아닐 수 있고요.
어떤 작업을 위한 충분한 엔트로피 수집이 안되서 그런 것 같다는 생각이 듭니다. 물론 정답은 아닐 수 있고요.
Time to create page: 0.063 seconds
- 현재 위치:
- 홈
- Forum
- 메인 게시판
- Question and Answer
- 자바 프로그램이 빠르다 느리다 합니다.