title: Differences between an applications compile to run on Java 6 but running on the Java 8 JVM and the same App Compile on Java 8
body: <p>We have an issue with an Application that used to work fine on Java 6 and now its having problem since it was recompiled using Java 8 and is run on the Java 8 JVM. What I was wondering is the following </p>
  
  <p>App123 Compiled using Java 6 Running on the Java 8 JVM  </p>
  
  <p>vs</p>
  
  <p>App123 Compiled using Java 8 Running on the Java 8 JVM ( current setup ) </p>
  
  <p>Would there be any difference in the Application/JVM behavior running on the Java 8 JVM based on how it was compiled ?</p>
  
  <pre><code>// printMessage called like this from UMSWorker Thread.
  // PrintSystem.getInstance().printMessage(message);
  
  //PrintSystem Class
  public void printMessage(Object message) throws Exception
  {
  if (!initialized)
     throw new Exception("DEBUG: Print System not initialized!");
  try 
  {
  synchronized(this)
  {
   printList.add(message); // LinkedList 
   this.notify();
  }
  LogManager.traceMessage(this,"DEBUG: PrintSystem.PrintMessage()", 
   "printList Size : " + printList.size());
  }
  catch (Exception e)
  {
   LogManager.traceMessage(this,"DEBUG: PrintSystem.PrintMessage() ", 
   "Exception : " + e);
  }
  }
  
  public void run()  
  {
  Object message = null;
  while (true)
  {
   try
   {
    synchronized(this)
    {
     this.wait(2500);
    } 
  }
  catch (Exception e) {} 
  
   while (!printList.isEmpty())
   {
     synchronized(this) 
     {
       message = printList.removeFirst();
     }
     int printed = printPLMMessage((PLMHeader) message);
     PLMHeader ackHeader = generatePrinterAck((PLMHeader) 
     message,printed);
     Communications.getInstance().ack(ackHeader);
   }
  }
  </code></pre>