¿JavaME y / o Proguard reordenan las asignaciones?

Este es un ejemplo simplificado: tengo dos hilos:

¿Pueden JavaME y / Proguard reordenar las obX = ...declaraciones, de modo que thread_B tenga una excepción de puntero nulo en ob1.someMethod?

thread_A:

Object ob1 = null;
Object ob2 = null;
...
ob1 = something1;
ob2 = something2;

thread_B:

if (ob2 != null) {
    ob1.someMethod();
    ...
}

PD: Me doy cuenta de que sincronizarlos evitará el problema. La sincronización tiene una sobrecarga de rendimiento y, lo que es más importante, una oportunidad de introducir un punto muerto.

Respuesta 1

Estoy trabajando en una aplicación grande que tiene diferentes condiciones (ifs) y diferentes métodos asociados con ella. Sugiera una forma de optimizar el código mencionado a continuación (reduzca la cantidad de ifs anidados como ...

Recibo una excepción de puntero nulo antes de que pueda acceder a mi código. No puedo decir si funcionará correctamente porque no puedo hacer que pase este punto. El error se arroja en esta línea: if (...

Suponga que estoy ejecutando un proceso y quiero redirigir sus secuencias mediante la técnica clásica: ProcessBuilder pb = new ProcessBuilder ("C: /folder/script.bat"); Proceso p = pb.start (); ...

Dado un conjunto. ¿Cómo encuentro todas las palabras en la lista que tienen más de tres caracteres y las agrego a una nueva lista public class RunnerClass {public static int counter; público estático ...