Blogs

Update Masivo

Hola a todos, espero me puedan ayudar, tengo un problema, necesito actualizar masivamente una gran catidad de registros, tengo el siguiiente codigo para hacerlo pero no se si este bien o talves necesita ser optimizado, porfavor espero me puedan ayudar, estoy trabajando sobre el servidor de Aplicaciones Jboss.

@Override
    public void insertamasivo(List<ArchivoTransaciones> archivos, ArchivosRecolectados archivorecolectado) {
        int contador = 0;
        try {            
            long tiempoInicio = System.currentTimeMillis();

            for (ArchivoTransaciones arch : archivos) {
                arch.setArchivosRecolectadosId(archivorecolectado);
                em.persist(arch);
                if (contador++ % 20 == 0) {
                    em.flush();
                    em.clear();
                }
            }
            long totalTiempo = System.currentTimeMillis() - tiempoInicio;
            System.out.println("El tiempo de demora es :" + (totalTiempo / 60000) + " minutos");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("SE DETUVO EN EL No --> " + contador);
        }

    }
 

Leer y Escribir archivos Scanner y PrintStream

Vamos a crear un pequeño ejemplo realizando una suma de dos numeros que se encuentren dentro de un archivo .txt para ello en este pequeño blog utilizaremos Scanner para leer el archivo y PrintStream para guardar la suma de esos dos numeros.
http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html

El codigo quedaria de la siguiente manera.

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;

public class suma {
        private Scanner file;
        private PrintStream save;
        private int suma;
        public static void main(String[] args) throws FileNotFoundException {
                suma s=new suma();
                s.sumar();
        }
        public void sumar() throws FileNotFoundException
        {
                file=new Scanner(new File("suma.txt"));
                save=new PrintStream("guardar.txt");
                int numero1;
                int numero2;
                numero1=file.nextInt();
                numero2=file.nextInt();
                suma=numero1+numero2;
            System.out.println("La suma es:"+"del"+numero1+"+"+numero2+"="+ suma);
             save.println("La suma es:"+"del"+numero1+"+"+numero2+"="+ suma);
               
        }

}

Saludos.

JNI (Java Native Interface) Centos

En este blog se mostrara como crear un archivo sencillo en Java para mostrar el Famoso Hola Mundo Utilizando JNI, para saber mas de Java Native Interface Verificar el siguiente Link:

https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface...
La realizacion del pequeño tutorial se realiza mediante el SO Linux en particular CENTOS; Buenos empezemos a realizar la creacion del programa y la compilacion.

  • Se crea primeramente la clase Java la llamaremos Testing.java
  • class Testing{
        private native void Hola();
        public static void main(String... args){
         System.loadLibrary("Testing");// recibe el nombre de una libreria dinamica y la carga...
         new Test().Hola();
        }

       
    }

    Posteriormente cuando ya se tiene creada la clase se compila en mi caso seria de la siguiente manera.

    javac Testing.java Realizamos la compilacion de la clase Testing.java
    y tambien compilamos de la siguiente manera donde nos generara un archivo Testing.h

    javah Testing y nos genera el header nativo de C.

    /* DO NOT EDIT THIS FILE - it is machine generated */

    Ejemplo bastante simple de RMI

     

    He aquí un ejemplo bastante simple de RMI (Servidor y Cliente).

    Primeramente escribimos la interfaz remota con los métodos requeridos. Por ejemplo, un método para saludar:

    package com.company.app;

    import java.rmi.Remote;
    import java.rmi.RemoteException;

    public interface TestRemote extends Remote {

        String sayHello(String name) throws RemoteException;

    }

    A continuación implementamos esta interfaz en una clase. Para mayor simplicidad, he utilizado una clase anónima. Y de paso escribimos el programa Servidor, el cual crea una instancia de la interfaz remota y la registra.

    ¿Qué opinan sobre esta frase de James Gosling?

    Se cumple ? Si o no y porque.


    ¿Por qué es dificil (aprender a) programar?

    Falta de tiempo, poca o nula motivación, otras actividades a realizar ... un sin fin de excusas. Tal vez un poco de flojera. Para algunos realmente si es difícil aprender cualquier cosa. Para otros tan solo es necesario una buena taza de café, sentarse, leer y practicar un poco para iniciarse en el mundo de la programación.

    Casi todos los lenguajes de programación se parecen o son muy similares. El problema es que muchas veces no existe la iniciativa, esperamos que las cosas nos caigan del cielo. No se estudia correctamente. Quieren aprender un lenguaje, pero desconocen los aspectos básicos: la lógica y las matemáticas(no necesariamente debe ser compleja).

    Ej. 1 Operadores.

    class Test{
       public static void main(String[] args){
           System.out.println(5 == 6); //false
           System.out.println(10 != 3); //true
           System.out.println(20 >= 19); //true
       }
    }

    Ej. 2 Operaciones booleanas.

    class Test{
       public static void main(String[] args){
          int x= 20;
          if(x > 10 && x < 100){

    Procedimientos Almacenados (Agregar,Editar,Eliminar,Mostrar) (SQL-Java)

    En este ejemplo se mostrara como agregar un nuevo registro a la base de datos asi como tambien editar un registro ya almacenado, eliminar un registro y posteriormente Mostrar los datos almacenados en la tabla.

    Todo es mediante consola, para de ahi tomarlo y realizarlo en sus aplicaciones es una muestra del funcionamiento sabemos que existen muchas funciones y yo les muestro las basicas para empezar.

    Clase Conexion

    public class Conexion {

            public static Connection sql;
           
            public static String user="usuario";
            public static String pas="contraseña ";
           
                   
            public static Connection conectar() throws Exception {
                    try {
                            String databaseURL ="ruta donde se encuentra nuestra base de datos";
                            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                            sql = java.sql.DriverManager.getConnection(databaseURL, user, pas);
                            //System.out.println("Conexion Establecida..");
                    } catch (Exception e) {
                            e.printStackTrace();
                            throw new Exception(e);
                    }
                    return sql;
            }

    }

    Necesitamos vernos .. próximo meetup Java

    Que tal amiguitos,..

    Necesitamos vernos, motivos no nos faltan:

    • No sé si sea mi imaginación, pero me parece que estamos viviendo un momento importante para Java, siento que tomó un nuevo aire. Sería bueno conocer su opinión al respecto e intercambiar experiencias.
    • Siempre es importante saber en qué estamos trabajando y comentar sobre ofertas y oportunidades de trabajo.
    • Si alguien trae un proyecto importante entre manos, es el momento y espacio ideal para exponerlo.
    • Supongo que para este momento ya saben que tenemos un Mexican Java Champion, hay que festejarlo, sin duda..
    • Algo más que de momento olvido :|

    Bueno, después de todo este choro les comentó que estoy organizando un meetup para fin de mes. Fechas tentativas 26 o 27 de febrero. Estoy confirmando el lugar, pero seguro sería por la tarde. Vayan apartado estos días, no hagan compromisos.

    Mientras vayan anotándose:

    http://www.meetup.com/JaverosMx/

    Si alguien quiere presentar algo por favor avíseme... @iLaliux

    Sale y vale
    Byte

    ¿Como aprender rapido a programar en java?

    *Que libros recomiendan
    *Que cursos tomar
    *Que ejercicios realizar

    Distribuir contenido