May 19 2008

Abrir aplicaciones con Java

mopet

El día de hoy vamos a ver como abrir una aplicación en Java, para eso tenemos que crear un objeto de la clase Process, esta clase representan el proceso del sistema que se crea cuando se utiliza el sistema en tiempo de ejecución para ejecutar comandos del sistema. El paquete java.lang implementa la clase Process y llamamos al método estático getRuntime () que devuelve el objeto de tiempo de ejecución asociado con el uso concurrente con Java que es método de la clase Runtime. El exec(comando) ejecuta el comando dado en el parámetro.

Código de ejemplo.

[java]
public class AbrirAplicacionEnJava {

public static void main(String[] args) {
try
{

Process pro = Runtime.getRuntime().exec (”rundll32 SHELL32.DLL,ShellExec_RunDLL”+”c:\\Dev-Cpp\\devcpp.exe”);

}
catch (Exception e)
{
System.out.print(”Error”);

}
}

}

[/java]

Este ejemplo funciona para Windows si lo queremos hacer en Linux solo se cambiaría en el comando dado.

Espero les guste, sugerencias o dudas favor de comentarlas.

Para siempre…me parece mucho tiempo.


May 12 2008

java capcioso 2

lesthack

Para aquellos que les gusto pensar en el java capcioso, les tengo otro mas.

[java]
if(i!=i)
System.out.println(”Acertaste”);
else
System.out.println(”Nones, eso no es”);
[/java]

De nuevo la pregunta, ¿Que valor debo darle a i para que la condición se cumpla?

contest terminado.

Pues bien, para los que no supieron la respuesta, aquí va.

Debido a que la condición era i != i el único valor distinto de si mismo es aquel llamado NaN, es decir, Not a Number.

  • Double i = Double.NaN; //aqui le indicamos que i será del tipo NaN
  • Double i = 0.0/0.0; //el resultado no será un valor valido, por lo tanto será NaN

Felicidades a quienes lo hallan resuelto.

by: lesthack


May 9 2008

Volver a iniciar un Hilo en Java

LuGt

Hola, hace algunos días tenía que entregar un proyecto el cual maneja una gran cantidad de hilos, y se me presento un problema, un hilo que ya había terminado su ejecución lo tenía que volver a ejecutar, tal vez pensaran porque un problema, solamente mando llamar el método start() del hilo nuevamente y ya, pues no ya que no es posible, debido a que una vez que un hilo a completado su ejecución no puede ser reiniciado.

Ejemplo, considere la siguiente clase:

class Hilo extends Thread{
public void run(){ …}

}

Y, considere que lo siguiente esta siendo ejecutado en otra clase:

Hilo h=new Hilo();

h.start(); //ejecución del hilo e invocación del método run() y finaliza

h.start();// error ya que el hilo ya ha completado la jecuacion

Pues para solucionar este pequeño problema una solución seria, crear un nuevo hilo (Thread) al cual le pasamos como parámetro en el constructor el hilo el cual queremos volver a ejecutar, y entonces ya podemos volver a ejecutar el método start().

Solución:

Hilo h=new Hilo();

h.start(); //ejecución del hilo e invocación del método run() y finaliza

new Thread(h).start(); // Correcto el hilo se volveroa a ejecutar invocando run()

Espero que esto sea de utilidad, para cuando se les presente es caso.

::::::::::LuGt::::::::::::

Gutiérrez Tovar José Luis


May 9 2008

Introduccion a Java

LuGt

Que tal, antes de adentrarnos en este grandioso lenguaje de programación les mostrare una pequeña introducción a lo que es este lenguaje, ya que considero que es importante saber un poco de teoría acerca de este leguaje y de cualquier otro, dado que en mi experiencia hablando con otras personas me he dado cuenta de que manejan este u otro leguaje de programación y no conocen ni siquiera como es que trabaja, un poco de historia o dicen manejar un lenguaje POO y ni siquiera manejan los conceptos sobre los que se rige este paradigma que son las técnicas herencia, modularidad, polimorfismo, y encapsulamiento, y creo que como estudiantes de ingeniería que somos es importante manejar estos conceptos.

Pues bien ya hablando de Java primeramente dejen me contarles un poco de historia, esta tecnología nace y da sus primeros pasos en 1991 formando parte de un proyecto de desarrollo de soporte software para electrónica de consumo (frigoríficos, lavadoras… ), en una pequeña operación denominada the Green Project en Sun Microsystems. El equipo estaba compuesto por trece personas y era dirigido por James Gosling, trabajaron durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo. Inicialmente este leguaje se denomino Oka, posteriormente Green y finalmente Java.

Y algo de gran importancia es que entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL.

Java

Ahora bien déjeme decirles que java es un leguaje de programación orientado a objetos, el cual toma la mayor parte de su sintaxis de c y c++, y el cual permite que un programa pueda ser ejecutado en diferentes plataformas.

Y que es esto de la programación orientada a objetos, pues bien este paradigma de programación está basado en varias técnicas incluyendo la abstracción, polimorfismo, encapsulación y herencia, y pues bien entendamos estas características de la POO de la siguiente froma:

Abstracción: esta significa que cada objeto sirve como un agente abstracto, el cual puede realizar operaciones, cambiar su estado y comunicarse con otros objetos, esto sin revelar cómo es que lo hace (no nos importa cómo lo hace pero lo hace).

Encapsulación: significa que es la reunión de los elementos (atributos, métodos) que pueden considerarse pertenecientes a una misma entidad (clase), y esto lo que hace es encapsularlos y al mismo tiempo ocultándolos.

Polimorfismo: esta se refiere a la posibilidad de definir múltiples clases con diferentes funcionalidades, pero con métodos o propiedades denominados de forma idéntica. Un ejemplo de esto es la sobre escritura y sobrecarga de métodos o constructores, los cuales son definidos con el mismo nombre pero los parámetros que reciben son distintos.

Herencia: significa la posibilidad de definir objetos a partir de otros objetos, esto es recibir las propiedades y el comportamiento del objeto al que se está heredando. Nota la aplicación de esta en java se da mediante la palabra reservada extends seguida del nombre de la clase que extiende, y entienda que no existe la herencia múltiple.

POO

Y ahora vemos como es que un programa escrito en java puede ser ejecutado en múltiples plataformas óseas que puede ejecutarse de forma igual en cualquier otro hardware, tal como dice el axioma de Java ‘’’write once, run everywhere’’’. Esto se debe a que, en el momento que compilamos el código fuente, este pasa a un código intermedio y no directamente a código maquina, llamado “bytecode”, y este código es ejecutado por la maquina virtual (VM). Y para que puedas ejecutar un programa en java en otros equipos, estos deberán contar con con la maquina virtual de java.

Pues esta es una pequeña introducción a java, sé que es corta, pero considero que es lo básico que debes saber en cuanto a lo teórico.

:::::::::::LuGt::::::::::