Physical database connection means there is actual connection is made with the database. In this case the connection is established to the DB directly at the time of use of the connection and as soon as the application finishes its interaction with the database, the connection object is destroyed and garbage collected.
Logical or Pooled database connections are those connection objects which are created and maintained by the Connection Pool manager. So client makes request to the connection pool to get the connection object. If the connection is available in the pool then it assigns and if the pool limit is full then the client has to wait. Logical/Pooled DB connections are obtained using JDBC 2.0 Pooling Manager interfaces: javax.sql.ConnectionPoolDataSource and javax.sql.PooledConnection.