我知道JAXBContext应该只创建一次,因为它非常昂贵,但我很好奇是否最好为所有必需的类创建一个上下文,
foreach ($decodeArray as $item => $key)
{
echo $item['establishments'][0]['establishment']['name'];
}
或者将所有上下文保留在地图中并在尚未创建的情况下创建它们?
JAXBContext newInstance(Class... classesToBeBound)
答案 0 :(得分:0)
我永远无法理解为什么人们为每个班级甚至几个班级创建JAXBContext
。
我更喜欢为特定的上下文路径创建JAXBContext
,这通常是一个或多个与我需要使用的各个模式相对应的包。然后我可以将它用于这些包中的所有类,它还包括更复杂的情况,如替换组。
所以:
JAXBContext context = JAXBContext.newInstance("com.acme.foo:org.terra.bar");
如果我要使它基于类,那么我将为每个包创建一个JAXBContext
。并且还要考虑多线程访问,这样两个线程就不会并行创建两个JAXBContexts
。