有一个简单的愚蠢问题困扰着我并在脑海中提出了几个论点.我想抛弃以下问题的所有疑虑.
class Clstest{
public static String testStaticMethod(String inFileStr) {
// section 0
// section 1
// do something with inFileStr
// section 2
// section 3
return inFileStr;
}
}
Run Code Online (Sandbox Code Playgroud)
假设有五个线程同时执行一次调用Clstest.testStaticMethod("arg-n").
线程1调用Clstest.testStaticMethod("arg-1").
当线程1在第1部分中时,线程2调用Clstest.testStaticMethod("arg-2").
那么线程1会发生什么?它会进入睡眠状态吗?
当线程1获得机会时,它会从暂停的第1部分恢复执行吗?
当所有五个线程之间共享一个Clstest.testStaticMethod并且相同时,它Clstest.testStaticMethod是如何发生的?
有没有可能交换inFileStr多个线程发送的?
无法将json字符串映射到java对象,得到错误JSON解析错误:无法构造com.test.CPInput的实例$ Evc $ Uni
错误:
{
"timestamp": 1502270576300,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.http.converter.HttpMessageNotReadableException",
"message": "**JSON parse error: Can not construct instance of com.test.CPInput$Evc$Uni: can only instantiate non-static inner class by using default, no-argument constructor; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.test.CPInput$Evc$Uni: can only instantiate non-static inner class by using default, no-argument constructor at [Source: java.io.PushbackInputStream@edc246; line: 20, column: 9] (through reference chain: com.test.CPInput["evc"]->com.test.CPInput$Evc["uni"]->java.util.ArrayList[0]**)",
"path": "/demo/addCustomer"
}
Run Code Online (Sandbox Code Playgroud)
JSON
{
"customerId": "abcdef",
"customerSegment": {
"customerType": "customer type", …Run Code Online (Sandbox Code Playgroud)