campos de instancia estática de Java y constructor

En una clase Java con campos de instancia estáticos, ¿se llama al constructor cada vez que se accede a los campos, o solo en el primer acceso? Inicializo los campos estáticos en el constructor, y me preguntaba si esto causaría una desaceleración porque los campos se inicializan en cada acceso.

Respuesta 1

El constructor para el objeto del campo estático se llama solo una vez, en algún momento antes de acceder al campo por primera vez. No debe inicializar campos estáticos en un constructor de instancia regular . Si necesitan una inicialización especial, debe proporcionar un bloque de inicialización estático, como este:

public class Test {
    static int[][] a = new int[20][];
    static {
        for (int i = 0 ; i != 20 ; i++) {
            a[i] = new int[i+1];
        }
    }
}
Respuesta: 2

Así que tengo alrededor de 4.000 documentos de palabras de los que intento extraer el texto e insertarlo en una tabla db. Esto funciona perfectamente hasta que el procesador encuentra un documento con la extensión de archivo * .doc ...

Tengo una clase enum como esta: public enum Position {A1 (0,0), A2 (1,0), // etc public final int dy, dx; Posición privada (int dy, int dx) {this.dy = dy; this.dx = ...

La ubicación del archivo de propiedades es WEB-INF / classes / auth.properties. No puedo usar formas específicas de JSF (con ExternalContext) porque necesito un archivo de propiedades en un módulo de servicio que no tiene una dependencia ...

¿Hay alguna manera de que pueda configurar tipos de nodo personalizados para que Apache Jackrabbit se registre cuando se crea una instancia de un nuevo repositorio? Estoy automatizando mi compilación usando Apache Maven y tengo alguna unidad ...