Mostrando entradas con la etiqueta Java. Mostrar todas las entradas
Mostrando entradas con la etiqueta Java. Mostrar todas las entradas

15 julio 2010

Decompilación de .class con jd-gui

No suelo necesitar mucho decompilar ficheros .class de Java. Hasta ahora había utilizado esporádicamente una antigua herramienta llamada jad, cuya web original ya ni siquiera está disponible, y que no soporta Java 5 o superior.

Pero últimamente he tenido que pelearme con una librería de la que no tenía código fuente, y me recomendaron JD-GUI, y me ha dado muy buen resultado. Permite cargar jar completos, es capaz de enlazar los nombres de las clases y métodos en el código decompilado para ir navegando por él con rapidez, etc.

14 abril 2009

Java en Google App Engine

Google App Engine es un servicio que ofrece Google para ejecutar aplicaciones desarrolladas por terceros dentro de sus servidores, utilizando sus infraestructuras de gestión de datos (BigTable y , Google File System o Map Reduce).
Inicialmente sólo soportaba aplicaciones desarrolladas en Python, pero desde hace bien poco también soporta aplicaciones desarrolladas en Java.
A mi me parece un paso lógico, después de que Google apostara por Android en Java.
Parece que incluso habrá un plugin para Eclipse.
Habrá que probarlo. Puede ser una forma muy sencilla de obtener hosting para aplicaciones Java.

16 septiembre 2008

Un vistazo a Stack Overflow

Estoy subscrito a los boletines de Joel Spolsky, y ayer me llegó uno comentando la apertura de Stack Overflow, en conjunción con la gente de Coding Horror.
Su objetivo es ser un lugar de preguntas y respuestas sobre programación, pero que estas preguntas y respuestas puedan ser moderadas por los propios usuarios, votando las más útiles, modificando las preguntas para que sean más descriptivas, etc.

28 abril 2008

Popularidad de los lenguajes de programación, abril 2008

Ya lo había comentado hace tiempo (concretamente en enero del 2006), y acabo de ver la estadística actualizada.
Tiobe hace un análisis mensual automático de la popularidad de los lenguajes de programación. En abril de 2008 está así:

  • Java: 20,52%
  • C: 14,68%
  • Visual Basic: 11,69%
  • PHP: 10,32$
  • C++: 9,94%
  • Perl: 5,93%
  • Python: 4,53%
  • C#: 3,83%

La gráfica de tendencia es la siguiente:

05 diciembre 2007

Cinco formas de trazar la ejecución en Java

Interesante artículo recopilatorio sobre como averiguar lo que está pasando en una aplicación Java.
Repaso breve desde la depuración clásica con breakpoints o incluso System.out.println() hasta utilizar proxies dinámicos o programación orientada a aspectos.

04 octubre 2007

Como saber con qué JDK se ha compilado una clase Java

Me he encontrado con una clase Java de la que no tenía ni idea de con qué JDK había sido compilada, y ante la alternativa de tener que probar con varios hasta conseguir el mínimo en que funciona, he encontrado este truco para mostrar la versión de especificación y qué JDK mínimo se necesita.
El código de la clase, que dejo aquí anotado para futuras referencias:

import java.io.*;

public class Version {
public static void main(String[] args) throws Exception {
if (args.length != 1) {
System.err.println("Usage: java version <.class file>");
System.exit(1);
}

if (! new File(args[0]).exists()) {
System.err.println(args[0] + " does not exist!");
System.exit(2);
}

DataInputStream dis = new DataInputStream(
new FileInputStream(args[0]));
int magic = dis.readInt();
if (magic != 0xcafebabe) {
System.err.println(args[0] + " is not a .class file");
System.exit(3);
}

int minor = dis.readShort();
int major = dis.readShort();
System.out.println("class file version is " + major + "." + minor);

String version = null;

if (major < 48) {
version = "1.3.1";
} else if (major == 48) {
version = "1.4.2";
} else if (major == 49) {
version = "1.5";
} else if (major == 50) {
version = "6";
} else {
version = "7";
}
System.out.println("You need to use JDK " + version + " or above");
}
}

12 marzo 2007

Comparación de frameworks para aplicaciones web en Java

Hace poco he estado impartiendo un cursillo de formación sobre arquitecturas Java, y uno de los puntos que hemos tratado ha sido el framework Spring para el desarrollo de aplicaciones web.
Como parte del trabajo de documentación, he encontrado algunos enlaces interesantes sobre comparativas de los diferentes frameworks existentes para Java:

09 febrero 2007

Mylar: integrar Bugzilla en Eclipse

Recientemente he descuierto un plugin para Eclipse muy interesante: Mylar, destinado a integrar el servidor de gestión de errores e incidencias Bugzilla.
De entrada necesita Eclipse 3.2, y fue una buena excusa para actualizarme desde la 3.1, que nunca encontraba el momento para hacerlo.
No he tenido mucho tiempo para probarlo a fondo, pero me parece un paso más en el proceso de tener todas mis herramientas de desarrollo integradas dentro de Eclipse: el primer paso importante fue el CVS, después un connector con bases de datos, diseño UML, etc.