Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Java para iniciantes - Como tratar o erro OutOfMemoryError no JavaQuantidade de visualizações: 12271 vezes |
|
O erro OutOfMemoryError é apresentado quando a Java Virtual Machine (JVM) não consegue alocar um objeto por falta de memória e o Garbagge Collector não liberou mais memória ainda. Este é um erro que não deve ser apanhado em um bloco try...catch, ou seja, se não há memória para alocar novos objetos, é fácil entender que não haverá memória para tal procedimento. O melhor a fazer é deixar o programa terminar e verificar a causa do problema. Veja a posição da classe OutOfMemoryError na hierarquia de classes da plataforma Java:
java.lang.Object
java.lang.Throwable
java.lang.Error
java.lang.VirtualMachineError
java.lang.OutOfMemoryError
Esta classe implementa a interface Serializable. Uma das causas mais comuns para o erro OutOfMemoryError é a instanciação exagerada de objetos, principalmente em laços (loops). Uma forma de aumentar a memória RAM a ser usada é definindo opções na linha de comando para o java.exe. Algumas destas opções são -Xss64k -Xoss300k -Xms4m e -Xmx10m. |
Java ::: Classes e Componentes ::: JButton |
Como definir a cor do texto de um botão JButton do Java SwingQuantidade de visualizações: 9764 vezes |
|
Nesta dica eu mostrarei como é possível definir a cor do texto de um componente JButton do Java Swing. Para isso nós usamos o método setForeground() da classe JButton, fornecendo a cor desejada, por exemplo, Color.RED. Veja um exemplo Java Swing completo:
package arquivodecodigos;
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Estudos Swing");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria um JButton com a cor do texto vermelho
JButton btn1 = new JButton("Clique Aqui!");
btn1.setForeground(Color.RED);
// Cria um JButton com a cor de fundo verde
JButton btn2 = new JButton("Clique Aqui!");
btn2.setForeground(Color.GREEN);
// Adiciona os botões à janela
c.add(btn1);
c.add(btn2);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Python - Como converter de binário para decimal em Python usando o laço forQuantidade de visualizações: 697 vezes |
|
Pergunta/Tarefa: Escreva um programa Python que usa o laço for para converter um número binário (como uma String) em sua representação decimal (como um int). Peça ao usuário para informar um número binário e mostre o mesmo em decimal (como um int). Sua solução deve obrigatoriamente usar o laço for. Sua saída deverá ser parecida com: Informe um número binário: 1100 A representação decimal do valor binário 1100 é 12 Veja a resolução comentada deste exercício usando Python:
# vamos importar o módulo Math
import math
# função principal do programa
def main():
# vamos ler o número binário (como uma String)
binario = input("Informe um número binário: ")
decimal = 0 # guarda a representação decimal
# vamos percorrer todos os dígitos do número binário começando do início
expoente = len(binario) - 1
for i in range(0, len(binario)):
# converte o caractere atual para inteiro
temp = int(binario[i])
decimal = decimal + (temp * int(math.pow(2, expoente)))
# reduz o expoente
expoente = expoente - 1
# mostramos o resultado
print("A representação decimal do valor binário {0} é {1}".format(
binario, decimal))
if __name__== "__main__":
main()
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como inverter a ordem dos elementos de um array usando apenas uma variável temporáriaQuantidade de visualizações: 9803 vezes |
|
Pergunta/Tarefa: Considere o seguinte trecho de código:
// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
Ordem inicial: 6 3 90 1 54 7 12 32 9 4 Ordem invertida: 4 9 32 12 7 54 1 90 3 6 Veja a resolução comentada deste exercício usando Java console:
package estudos;
public class Estudos {
public static void main(String[] args) {
// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
// vamos mostar a ordem inicial dos elementos no vetor
System.out.print("Ordem inicial: ");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
// vamos inverter a ordem dos elementos no array
int inicio = 0, fim = valores.length - 1;
while(inicio < fim){
temp = valores[inicio];
valores[inicio] = valores[fim];
valores[fim] = temp;
// incrementa e decrementa as variáveis de controle
inicio++;
fim--;
}
// vamos mostar a ordem invertida dos elementos do vetor
System.out.print("\nOrdem invertida: ");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
System.out.println();
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Python - Como excluir e retornar um item da lista Python baseado em seu índice usando a função pop() VB.NET - Como retornar o tamanho de uma string em VB.NET usando a propriedade Length da classe String JavaScript - Como retornar o nome ou tipo de exceção de um erro em JavaScript usando a propriedade name do objeto Error |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






