Loop infinito

5 respostas
rodolfogs8

Galera eu to desenvolvendo uma aplicação que precisa buscar uma tag de um servidor a cada 1 segundo ou seja ela nunca para, fiz uma gambe de colocar um while(true) ou seja um loop infinito mas eu acho que isso ta consumindo muita memoria e depois de algumas horas a minha aplicação aborta deve ser estouro de memoria alguem aqui usa essa POG ou conhece algo parecido e bom para que eu possa usar?

while(true){

…

…

…

}

Obrigado

5 Respostas

maquiavelbona

Se é problema de memória, o problema não é o loop e sim o que vai dentro do loop que não é liberado. Isso em certos sistemas não é gambiarra, portanto, repense quantos e quais são os objetos criados em memória.

Até!

S

threads, um maravilha…

TeiTei

Caras olhem o meu loop nao crio nenhum objeto dentro dele...ou crio?? kkkkkkk... e estou com o mesmo problema

while (true) {
            synchronized(this) {
                try {
                    this.wait(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            try {
                Array.clear();
                Array.add((jopc.synchReadItem(group, item1)).toString());
                Array.add((jopc.synchReadItem(group, item2)).toString());
                Array.add((jopc.synchReadItem(group, item3)).toString());
                Array.add((jopc.synchReadItem(group, item4)).toString());
                Array.add((jopc.synchReadItem(group, item5)).toString());
                Array.add((jopc.synchReadItem(group, item6)).toString());
                Array.add((jopc.synchReadItem(group, item7)).toString());
                Array.add((jopc.synchReadItem(group, item8)).toString());
                Array.add((jopc.synchReadItem(group, item9)).toString());
                Array.add((jopc.synchReadItem(group, item10)).toString());
                Array.add((jopc.synchReadItem(group, item11)).toString());
                Array.add((jopc.synchReadItem(group, item12)).toString());
                Array.add((jopc.synchReadItem(group, item13)).toString());
                Array.add((jopc.synchReadItem(group, item14)).toString());
                Array.add((jopc.synchReadItem(group, item15)).toString());
                Array.add((jopc.synchReadItem(group, item16)).toString());
                Array.add((jopc.synchReadItem(group, item17)).toString());
                Array.add((jopc.synchReadItem(group, item18)).toString());
                Array.add((jopc.synchReadItem(group, item19)).toString());
                Array.add((jopc.synchReadItem(group, item20)).toString());
                Array.add((jopc.synchReadItem(group, item21)).toString());
                Array.add((jopc.synchReadItem(group, item22)).toString());
                Array.add((jopc.synchReadItem(group, item23)).toString());
                Array.add((jopc.synchReadItem(group, item24)).toString());
                Array.add((jopc.synchReadItem(group, item25)).toString());
                Array.add((jopc.synchReadItem(group, item26)).toString());
                Array.add((jopc.synchReadItem(group, item27)).toString());
                Array.add((jopc.synchReadItem(group, item28)).toString());
                Array.add((jopc.synchReadItem(group, item29)).toString());
                Array.add((jopc.synchReadItem(group, item30)).toString());
                Array.add((jopc.synchReadItem(group, item31)).toString());
                Array.add((jopc.synchReadItem(group, item32)).toString());
                Array.add((jopc.synchReadItem(group, item33)).toString());
                Array.add((jopc.synchReadItem(group, item34)).toString());
                Array.add((jopc.synchReadItem(group, item35)).toString());
                Array.add((jopc.synchReadItem(group, item36)).toString());
                Array.add((jopc.synchReadItem(group, item37)).toString());
                Array.add((jopc.synchReadItem(group, item38)).toString());
                Array.add((jopc.synchReadItem(group, item39)).toString());
                Array.add((jopc.synchReadItem(group, item40)).toString());
                Array.add((jopc.synchReadItem(group, item41)).toString());
                Array.add((jopc.synchReadItem(group, item42)).toString());
                Array.add((jopc.synchReadItem(group, item43)).toString());
                Array.add((jopc.synchReadItem(group, item44)).toString());
                Array.add((jopc.synchReadItem(group, item45)).toString());
                Array.add((jopc.synchReadItem(group, item46)).toString());
                Array.add((jopc.synchReadItem(group, item47)).toString());
                Array.add((jopc.synchReadItem(group, item48)).toString());
                Array.add((jopc.synchReadItem(group, item49)).toString());
                Array.add((jopc.synchReadItem(group, item50)).toString());
                Array.add((jopc.synchReadItem(group, item51)).toString());
                Array.add((jopc.synchReadItem(group, item52)).toString());
                Array.add((jopc.synchReadItem(group, item53)).toString());
                Array.add((jopc.synchReadItem(group, item54)).toString());
                Array.add((jopc.synchReadItem(group, item55)).toString());
                Array.add((jopc.synchReadItem(group, item56)).toString());
                Array.add((jopc.synchReadItem(group, item57)).toString());
                Array.add((jopc.synchReadItem(group, item58)).toString());
                Array.add((jopc.synchReadItem(group, item59)).toString());
                Array.add((jopc.synchReadItem(group, item60)).toString());
                Array.add((jopc.synchReadItem(group, item61)).toString());
                Array.add((jopc.synchReadItem(group, item62)).toString());
                Array.add((jopc.synchReadItem(group, item63)).toString());
                Array.add((jopc.synchReadItem(group, item64)).toString());
                Array.add((jopc.synchReadItem(group, item65)).toString());
                Array.add((jopc.synchReadItem(group, item66)).toString());
                Array.add((jopc.synchReadItem(group, item67)).toString());
                Array.add((jopc.synchReadItem(group, item68)).toString());
                Array.add((jopc.synchReadItem(group, item69)).toString());
                Array.add((jopc.synchReadItem(group, item70)).toString());
                Array.add((jopc.synchReadItem(group, item71)).toString());
                Array.add((jopc.synchReadItem(group, item72)).toString());
                
                acompanhamentoGeral.TagAPROVADAS.setText(Array.get(10).substring(0, Array.get(10).indexOf(".")));
                acompanhamentoGeral.TagACUMULO.setText(Array.get(9).substring(0, Array.get(9).indexOf(".")));
                acompanhamentoGeral.TagAPRODUZIR.setText(Array.get(8).substring(0, Array.get(8).indexOf(".")));
                acompanhamentoGeral.TagPECASMIN.setText(Array.get(7).substring(0, Array.get(7).indexOf(".")));
                acompanhamentoGeral.TagREJEITADAS.setText(Array.get(6).substring(0, Array.get(6).indexOf(".")));
                acompanhamentoGeral.TagRESTANTES.setText(Array.get(11).substring(0, Array.get(11).indexOf(".")));
                
                if (!medicoesGeral.CampoMAXENGATE.hasFocus())
                    medicoesGeral.CampoMAXENGATE.setText(Array.get(5));
                if (!medicoesGeral.CampoMINENGATE.hasFocus())
                    medicoesGeral.CampoMINENGATE.setText(Array.get(4));
                if (!medicoesGeral.CampoMAXTRACIONAMENTO.hasFocus())
                    medicoesGeral.CampoMAXTRACIONAMENTO.setText(Array.get(3));
                if (!medicoesGeral.CampoMINTRACIONAMENTO.hasFocus())
                    medicoesGeral.CampoMINTRACIONAMENTO.setText(Array.get(2));
                if (!medicoesGeral.CampoMINDESENGATE.hasFocus())
                    medicoesGeral.CampoMINDESENGATE.setText(Array.get(0));
                if (!medicoesGeral.CampoMAXDESENGATE.hasFocus())
                    medicoesGeral.CampoMAXDESENGATE.setText(Array.get(1));
                
                medicoesGeral.TagFORCADEENGATE.setText(Array.get(19));
                medicoesGeral.TagULTIMOTESTE.setText(Array.get(18));
                medicoesGeral.TagTEMPO.setText(Array.get(17));
                medicoesGeral.TagFORCADETRACAO.setText(Array.get(15));
                medicoesGeral.TagTESTE.setText(Array.get(15));
                medicoesGeral.TagDesengate.setText(Array.get(14));
                medicoesGeral.TagULTIMOTESTE1.setText(Array.get(14));
                medicoesGeral.TagTEMPO1.setText(Array.get(13));
                medicoesGeral.TagAPERTODOBOTAO.setText(Array.get(12));
                
                if (Array.get(20).equals("1.0"))
                    medicoesGeral.CheckEST2.setSelected(true);
                else
                    medicoesGeral.CheckEST2.setSelected(false);
                
                if (Array.get(21).equals("1.0"))
                    medicoesGeral.CheckEST3.setSelected(true);
                else
                    medicoesGeral.CheckEST3.setSelected(false);
                
                if (Array.get(22).equals("1.0"))
                    medicoesGeral.CheckEST4.setSelected(true);
                else
                    medicoesGeral.CheckEST4.setSelected(false);
                
                if (Array.get(23).equals("1.0"))
                    medicoesGeral.CheckEST5.setSelected(true);
                else
                    medicoesGeral.CheckEST5.setSelected(false);
                
                if (Array.get(24).equals("1.0"))
                    medicoesGeral.CheckEST6.setSelected(true);
                else
                    medicoesGeral.CheckEST6.setSelected(false);
                
                if (Array.get(25).equals("1.0"))
                    medicoesGeral.CheckEST7.setSelected(true);
                else
                    medicoesGeral.CheckEST7.setSelected(false);
                
                if (Array.get(26).equals("1.0"))
                    medicoesGeral.CheckEST8.setSelected(true);
                else
                    medicoesGeral.CheckEST8.setSelected(false);
                
                
                if (Array.get(27).equals("1.0")) {
                    
                    medicoesGeral.BtnPRODUCAO.setSelected(false);
                    medicoesGeral.BtnPRODUCAO.setText("Produção");
                    medicoesGeral.CheckEST2.setEnabled(false);
                    medicoesGeral.CheckEST3.setEnabled(false);
                    medicoesGeral.CheckEST4.setEnabled(false);
                    medicoesGeral.CheckEST5.setEnabled(false);
                    medicoesGeral.CheckEST6.setEnabled(false);
                    medicoesGeral.CheckEST7.setEnabled(false);
                    medicoesGeral.CheckEST8.setEnabled(false);
                    
                } else {
                    
                    medicoesGeral.BtnPRODUCAO.setSelected(true);
                    medicoesGeral.BtnPRODUCAO.setText("Ajuste");
                    medicoesGeral.CheckEST2.setEnabled(true);
                    medicoesGeral.CheckEST3.setEnabled(true);
                    medicoesGeral.CheckEST4.setEnabled(true);
                    medicoesGeral.CheckEST5.setEnabled(true);
                    medicoesGeral.CheckEST6.setEnabled(true);
                    medicoesGeral.CheckEST7.setEnabled(true);
                    medicoesGeral.CheckEST8.setEnabled(true);
                    
                }
                String Alarme="";
                if (!Array.get(28).equals("1.0")) {
                    Alarme = "Ar desligado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Ar desligado";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                
                if (!Array.get(29).equals("1.0")) {
                    Alarme =
                            "Caixa de refugo com capacidade de armazenamento esgotada";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme =
                            "Caixa de refugo com capacidade de armazenamento esgotada";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(30).equals("1.0")) {
                    Alarme = "3 - Desengate bloqueado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "3 - Desengate bloqueado";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(31).equals("1.0")) {
                    Alarme = "Alarme de emergência acionado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme de emergência acionado";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(32).equals("1.0")) {
                    Alarme = "Alarme de emergência  da linha acionado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme de emergência  da linha acionado";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(33).equals("1.0")) {
                    Alarme = "Alarme de engate bloqueado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme de engate bloqueado";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(34).equals("1.0")) {
                    Alarme = "6 - Falha na traçao (falso engate)";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "6 - Falha na traçao (falso engate)";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(35).equals("1.0")) {
                    Alarme = "2 - Falha na solda";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "2 - Falha na solda";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(36).equals("1.0")) {
                    Alarme = "Fim de producao";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Fim de producao";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(37).equals("1.0")) {
                    Alarme = "Fim de producao 20 pc";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Fim de producao 20 pc";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(38).equals("1.0")) {
                    Alarme = "Fim de producao 5 pc";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Fim de producao 5 pc";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(39).equals("1.0")) {
                    Alarme = "Forca da mola baixa";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Forca da mola baixa";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(40).equals("1.0")) {
                    Alarme = "Forca de tracao baixa";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Forca de tracao baixa";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(41).equals("1.0")) {
                    Alarme = "1 - Falha de Expulsão";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "1 - Falha de Expulsão";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(42).equals("1.0")) {
                    Alarme = "Alarme de forca de tracao alta";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme de forca de tracao alta";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(43).equals("1.0")) {
                    Alarme = "Máquina em SETUP";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Máquina em SETUP";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(44).equals("1.0")) {
                    Alarme = "Alarme peca nao saiu do manipulador";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme peca nao saiu do manipulador";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if ((!Array.get(45).equals("1.0")) | (!Array.get(46).equals("1.0")) |
                        (!Array.get(47).equals("1.0")) | (!Array.get(48).equals("1.0")) |
                        (!Array.get(49).equals("1.0"))) {
                    Alarme = "Alarme portas abertas";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme portas abertas";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                
                if (!Array.get(50).equals("1.0")) {
                    Alarme = "Alarme de botao travado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme portas abertas";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(51).equals("1.0")) {
                    Alarme = "Alarme de desengate bloqueado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme de desengate bloqueado";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(52).equals("1.0")) {
                    Alarme = "4 - Engate bloqeuado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "4 - Engate bloqeuado";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(53).equals("1.0")) {
                    Alarme = "Estacao 2 Fora de posicao inicial";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Estacao 2 Fora de posicao inicial";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(54).equals("1.0")) {
                    Alarme = "Estacao 3 Fora de posicao inicial";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Estacao 3 Fora de posicao inicial";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(55).equals("1.0")) {
                    Alarme = "Estacao 4 Fora de posicao inicial";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Estacao 4 Fora de posicao inicial";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(56).equals("1.0")) {
                    Alarme = "Estacao 5 Fora de posicao inicial";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Estacao 5 Fora de posicao inicial";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(57).equals("1.0")) {
                    Alarme = "Estacao 7 Fora de posicao inicial";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Estacao 7 Fora de posicao inicial";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(58).equals("1.0")) {
                    Alarme = "Falha na pressao da rede de ar comprimido";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Falha na pressao da rede de ar comprimido";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(59).equals("1.0")) {
                    Alarme = "Falha na saída de peca";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Falha na saída de peca";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(60).equals("1.0")) {
                    Alarme = "Falha no passo da mesa";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Falha no passo da mesa";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(61).equals("1.0")) {
                    Alarme = "Falta de peca est 2";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Falta de peca est 2";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(62).equals("1.0")) {
                    Alarme = "Falta de peca est 3";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Falta de peca est 3";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(63).equals("1.0")) {
                    Alarme = "Falta de peca est 4";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Falta de peca est 4";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(64).equals("1.0")) {
                    Alarme = "Falta de peca est 5";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Falta de peca est 5";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(65).equals("1.0")) {
                    Alarme = "5 - Desengate bloqueado sob traçao";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "5 - Desengate bloqueado sob traçao";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(66).equals("1.0")) {
                    Alarme = "Alarme de forca de desengate baixa";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme de forca de desengate baixa";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(67).equals("1.0")) {
                    Alarme = "Alarme de forca de engate alta";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme de forca de engate alta";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(68).equals("1.0")) {
                    Alarme = "Alarme de forca de engate baixa";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Alarme de forca de engate baixa";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
                if (!Array.get(69).equals("1.0")) {
                    Alarme = "Passo da mesa nao completado";
                    
                    model.removeElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                } else {
                    Alarme = "Passo da mesa nao completado";
                    model.removeElement(Alarme);
                    model.addElement(Alarme);
                    painelAlarme.ListaALARMES.setModel(model);
                    
                }
               
                
                if (!Array.get(70).equals("1.0")) {
                    medicoesGeral.BtnPRODUCAO.setSelected(false);
                    medicoesGeral.BtnPRODUCAO.setText("Podução");
                    medicoesGeral.CheckEST2.setEnabled(false);
                    medicoesGeral.CheckEST3.setEnabled(false);
                    medicoesGeral.CheckEST4.setEnabled(false);
                    medicoesGeral.CheckEST5.setEnabled(false);
                    medicoesGeral.CheckEST6.setEnabled(false);
                    medicoesGeral.CheckEST7.setEnabled(false);
                    medicoesGeral.CheckEST8.setEnabled(false);
                    
                    
                } else {
                    
                    medicoesGeral.BtnPRODUCAO.setSelected(true);
                    medicoesGeral.BtnPRODUCAO.setText("Ajuste");
                    medicoesGeral.CheckEST2.setEnabled(true);
                    medicoesGeral.CheckEST3.setEnabled(true);
                    medicoesGeral.CheckEST4.setEnabled(true);
                    medicoesGeral.CheckEST5.setEnabled(true);
                    medicoesGeral.CheckEST6.setEnabled(true);
                    medicoesGeral.CheckEST7.setEnabled(true);
                    medicoesGeral.CheckEST8.setEnabled(true);
                    
                    
                    
                }
                
                
                
                if (!medicoesGeral.BtnPRODUCAO.isSelected()) {
                    CriaOPC.escreveInt(Driver, "Setup_Operacao.Ajuste_Produc.Value", 0);
                    medicoesGeral.BtnPRODUCAO.setText("Podução");
                    medicoesGeral.BtnPRODUCAO.setSelected(false);
                    
                    
                } else {
                    CriaOPC.escreveInt(Driver, "Setup_Operacao.Ajuste_Produc.Value", 1);
                    medicoesGeral.BtnPRODUCAO.setText("Ajuste");
                    medicoesGeral.BtnPRODUCAO.setSelected(true);
                    
                    
                    
                }
               painelCabecalho.hora.setText(Array.get(71));
                      
                
                
                
            } catch (ComponentNotFoundException e1) {
                e1.printStackTrace();
            } catch (SynchReadException e) {
                e.printStackTrace();
            } catch (Exception e){
                e.printStackTrace();
            }
            
        }
rodolfogs8

Estou com o mesmo problema do TeiTei como podem ver coloquei o codigo acima, galera quando executo o meu programa eu olho no gerenciador de tarefas do windows para ver quanto de memoria esta consumindo, e a memoria cada segundo cresce mais existe alguma maneira dela ficar estavel? o programa pode estar imovel sem ser usado que a memoria continua almentando alguem pode me ajudar?

ViniGodoy

Realmente, o problema não é o loop.
Certamente, alguns objetos seus estão sendo criados, são referenciados por alguém e, portanto, não são mais destruídos (como você esperaria).

Sugestão:

  1. Baixe o Netbeans: http://www.netbeans.org
  2. Baixe o profiler do Netbeans: http://www.netbeans.org/products/profiler/

Rode o profiler de memória com a sua aplicação aberta.
Verifique que objetos estão sendo criados em excesso. Você notará que com o tempo, o número de memória ocupado por certas classes só crescerá.

Sabendo que classes tem o problema, procure ver quais objetos estão mantendo referências para os objetos dessas classes quando não deveriam.

Teitei, eu também sugeriria uma refatoração URGENTE no seu código. Esse tripão aí está muito sugeito a erros mesmo. Divida-o em classes e métodos menores e mais compreensíveis. A sugestão do profiler também pode te ajudar.

Criado 31 de outubro de 2007
Ultima resposta 31 de out. de 2007
Respostas 5
Participantes 5