Please suggest which is the better way..validation check in java program or the plsql code
This is subjective. Since the only requirement you state is performance, this will depend on the data, what your need to tdo to it and the environment. PL/SQL should in theory be faster to run than JDBC, assuming you have the database resource to do it. It may be there are more resources available to the Java environment than the database.
I a previous job I worked on a system where the bulk of the business rules were written in PL/SQL. This made for an odd architecture - the database servers were considerably more powerful than the application servers they sat behind (and the only thing the DB servers managed was our app). This architecture made it fairly expensive to upgrade - another Oracle licence as opposed to a new Linux box. You also have to coinsider maintenance - Java is much easier to debug and maintain than PL/SLQ.
I understand that sometime we just have to work with requirements as they are, no matter how odd they appear, but I'm still curious: if the only purpose of Table 1 is a staging area before the data is moved to Table 2, there is no transformation occuring during the transfer, and your only driver is performance, why does Table 1 exist?