我收到此错误,我该如何解决?
java.lang.InternalError:
at java.lang.Thread.nativeCreate (Native Method)
at java.lang.Thread.start (Thread.java:1063)
at java.util.concurrent.ThreadPoolExecutor.addWorker (ThreadPoolExecutor.java:920)
at java.util.concurrent.ThreadPoolExecutor.processWorkerExit (ThreadPoolExecutor.java:988)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:587)
at java.lang.Thread.run (Thread.java:818)
用户正在向我发送一些信息:
java.lang.StringIndexOutOfBoundsException: length=0; regionStart=0; regionLength=1
at java.lang.String.startEndAndLength(String.java:298)
at java.lang.String.substring(String.java:1087)
答案 0 :(得分:1)
StringIndexOutOfBoundsException
例外只是说有人试图在空字符串上调用substring(0, 1)
。如果你进一步查看堆栈跟踪,这是来自你的代码吗?如果是这样,那么在调用substring
之前,只需检查以确保字符串不为空。
对于Thread.nativeCreate
,您是否有迹象表明它与其他StringIndexOutOfBoundsException
例外有关?我不会假设,因为你没有提供任何有关他们关系的信息。 ThreadPoolExecutor.addWorker
失败的最可能原因是资源耗尽,要么内存不足,要么耗尽设备上允许的线程。检查您正在使用支票获取和配置ThreadPoolExecutor
的方式,以查看您是否可能超出其MaximumPoolSize
或LargestPoolSize
参数。