Skip to content

Instantly share code, notes, and snippets.

View diegogaulke's full-sized avatar
🎮
Work hard play harder

Diego Bernardes Gaulke diegogaulke

🎮
Work hard play harder
  • Software Engineer @ Agrines
  • Blumenau - SC - Brazil
View GitHub Profile
package com.dg2ee.jdbc;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class JDBCStatementInsertExample {
@diegogaulke
diegogaulke / ReadTextFile.java
Last active August 29, 2015 14:05
Read data from a text file with Java
package com.dg2ee.io;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class BufferedInputStreamExample {
@diegogaulke
diegogaulke / PerfStringBuilder.java
Last active August 29, 2015 14:13
Utilização correta do StringBuilder
// Não utilizar o operador '+' para concatenar strings no StringBuilder.
// Sempre utilizar o método append().
// Para cada concatenação dentro do append com o operador '+', a VM cria um novo StringBuilder.
// Isso gera uma criação desnecessária de objetos, tendo gasto com processamento e memória e também atrapalhando a GC.
// Ruim
StringBuilder sql = new StringBuilder();
sql.append("select * from tabela ");
sql.append("where ");
sql.append("id = " + id); // aqui a VM gera: sql.append(new StringBuilder().append("id = ").append(id));
@diegogaulke
diegogaulke / PerfAloc.java
Created January 9, 2015 13:23
Alocação de recursos de maneira performática
// Alocar recursos apenas quando eles serão realmente utilizados.
// Isso ajuda a GC a trabalhar melhor, pois repassa trabalho para ela apenas quando necessário,
// pois o recurso de memória e processamento só é alocado quando for necessitado.
// Também diminui o tempo de 'lock' em algumas rotinas e conexões.
// Ruim
Session session = getSession(); // criou session aqui...
try {
StringBuillder sb = new StringBuilder();
@diegogaulke
diegogaulke / PerReuseRec.java
Created January 15, 2015 13:14
Utilizar e alocar recursos de maneira correta
// As vezes com a praticidade em criar objetos e com a dinamica da GC não tratamos alocação de objetos de maneira correta.
// Acabamos, por vício ou esquecimento, deixando a GC com mais trabalho e consequentemente a aplicação mais lenta.
// Exemplifico isso de maneira simples com o código abaixo, e sugiro reflexão
// Ruim
// Percebam a criação de uma instancia de "Font" para cada campo
// Serão criados vários objetos em memória, para a mesma utilização, setar uma fonte igual para os campos
txtNome = new JTextField();
txtNome.setFont(new Font("Tahoma", Font.PLAIN, 10));