Java client server program study notes