Instantiation
Well, you can argue about this. Instantiating array1 takes 3 bytecode instructions (bipush, newarray, astore), instantiating array2X takes 3 bytecode instructions per array (bipush / iconst, newarray, astore). Speaking theoretically, instantiating array1 could be faster.
Access
This is what the VM does to get array1[2]:
aload_1 ; array1
iconst_2 ; index
iaload ; value
Guess what it does to get array2B[0]:
aload_3 ; array2B on stack
iconst_0 ; index
iaload ; value
No points for anybody.
Memory
The size of the arrays is equal (array1 is as large as array2A + array2B), at least the size of the contents. Yeah, there are two pointers instead of one, some GC overhead and so on. Don't think about this too much, you won't be able to measure the difference.
Caching
Access to two different objects can obviously be slower. Not much to say about this. One object is definitely preferable.
Variable access & stack
Using a single array might improve the overall performance because it can be kept on the stack sometimes. However, the JDK compiler seems to avoid stack operations and falls back to variables.
Conclusion
There won't be a noticeable difference (although array1 will usually be faster). All of the above points depend on the VM implementation.
Write good code, don't over-optimize.
String?