Have you tried with a different Arduino? The Leonardo is different in that the DtrEnable flag for the serial port needs to be set. I have no idea how to do that with Java (hope you do).
I would start from the Arduino part: if you upload the program from the IDE and open the serial monitor (in the Tools menu), do you see the message "Is there anybody out there?"
I assume that the values in the preferences file are ok, i.e. serial.port corresponds to the name of a serial port you can see in your system's resources (and in Arduino IDE), and serial.debug_rate is 9600. Can you confirm that?
One possible reason you don't get messages from the Java application is that you are running the program while the Arduino IDE is still running: the IDE is using the serial port and the Java application cannot access it. You may try and close the Arduino IDE after uploading the program (but leaving the USB connected) also check that there is no avrdude process running in background, then start the Java application.
If unsuccessful, can you change the Java code to inspect the properties of 'port' after this line of code is executed?
SerialPort port = (SerialPort)portId.open("serial talk", 4000);
I don't know the class, but perhaps there are methods in SerialPort that can check whether the port is actually open.
Please remember to enclose any code you post within code blocks.
What operating system are you running the Java application on? What have you set serial.port to? How have you verified that you have specified the correct port?