try-with-resource资源创建的执行顺序

Dar*_*McL 2 java try-catch stream java-7

我有一个 try-with-resource 块,它从Blob对象创建一个ObjectInputStream的新实例,例如

try(ObjectInputStream mObjectStream = new ObjectInputStream(mblob.getBinaryStream()))
{
...
}
Run Code Online (Sandbox Code Playgroud)

但是,如果在.getBinaryStream()处抛出异常,则mObjectStream对象可能未被释放,这是我的应用程序的一个问题。

我考虑过将其分开如下

try(InputStream mStream = mblob.getBinaryStream(); ObjectInputStream mObjectStream = new ObjectInputStream(mStream){
...

}
Run Code Online (Sandbox Code Playgroud)

请问如果这会引起问题mObjectStream首次创建或将Mstream工具,总是在这种情况下,第一次创建?