Login Barrapunto
Java cumple un año siendo libre
Fernandou nos cuenta: «Hace exactamente un año que se hizo el anuncio de la liberación de la tecnología Java. Y actualmente, Sun tiene creadas tres grandes comunidades Open Source para reunir a los desarrolladores. De esta forma, construyen la evolución y el cambio de la tecnología bajándose el código, probándolo y aportando ideas, código, etc. Los tres grandes grupos son: OpenJDK, Mobile & Embedded, y GlassFish. Un resumen de las 3 principales ramas de desarrollo de Java libre.»
Historias relacionadas
[+]
Java ya es software libre (GNU GPL v2) 69 comentarios
InfoQ y varios blogs de empleados de Sun anuncian que hoy se pone Java SE, Java EE, y Java ME bajo la Licencia Pública General de GNU (Java SE con una excepción para que el software que lo utilice no tenga que ser GPL). No obstante, algunas partes de OpenJDK tardarán todavía 6 meses en llegar. Los objetivos de Sun son abrir nuevos mercados para Java (GNU/Linux ha ganado) y preservar la compatibilidad de Java. Jonathan Schwartz y Rich Green anuncian un webcast a las 18:30 (hora peninsular).
Este hilo ha sido archivado.
No pueden publicarse nuevos comentarios.
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.

Sobre Java lento en programas de escritorio
(Puntos:2, Interesante)Sin embargo, todos los programas java que conozco que pueden interesar a los usuarios de escritorio son más lentos que el caballo del malo. Como por ejemplo Azureus, o algún cliente de mensajería. Si tienes un pentium4 de hace unos cuantos años como el mio se arrastra. Sin embargo con más o menos la misma funcionalidad hechos en python y que si descontamos el tiempo de arranque, van cojonudamente.
Parece una contradicción comparado con los resultados de los benchmarks ¿A qué se debe ésto? ¿Están estos programas muy mal programados? ¿Las librerias gráficas de java son tan malas que cuando haces en programa de escritorio se arrastra pero en otros campos va rápido? ¿O es que las máquinas virtuales de java que tenemos instaladas el usuario medio son distintas a las que se usan para los benchmarks?
Re:Sobre Java lento en programas de escritorio
(Puntos:4, Informativo)Sin embargo en python y demás las ventanas y todo el tema gráfico se ocupan librerías nativas de cada sistema y la sensación que da es mucho mas fluida..
Re:Sobre Java lento en programas de escritorio
(Puntos:5, Informativo)( http://barrapunto.com/ | Última bitácora: Lunes, 30 Junio de 2008, 10:12h )
por un lado, si, las librerias graficas de java dejan bastante que desear, tanto AWT como Swing, Azureus usa SWT que, en teoria, es nativo, asi que ese no es tu problema.
otro problema es que al ejecutar un programa java, gran parte de las bibliotecas de sistema y la maquina virtual se tienen que cargar en memoria, eso hace que el arranque sea algo lento, pero una vez en marcha, la cosa va como dicen los benchmarks
ahora bien, una cosa importante de java es configurar la maquina virtual, algo que muy pocas veces se hace (se hace poco en entornos profesionales, como para que lo haga la gente en casa)
aqui [sun.com] tienes una lista de las opciones posibles, pero, en general, lo unico que necesitaras tocar es:
-Xms
que indica el tamanio inicial de la pila, por defecto son 64MB (en otras palabras, no importa que tengas 2GB de ram libres, por defecto siempre cojera ese valor), y se supone que este tamanio va aumentando segun se va necesitando, en mi experiencia, ese crecimiento es bastante lento, asi que mejor si le defines algo mas grande desde el principio.
por ejemplo, en mi arranque de eclipse tengo puesto:
-Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
esto indica que use como minimo 128 MB de ram, como maximo 512 y que cree un espacio para la generacion permanente[1] de objetos entre 64MB y 128MB, pero en general esto ultimo no debe preocuparte (a menos que tengas muchas OutOfMemoryException:Perm), con esta configuracion a mi eclipse me va como un tiro, con 768MB de ram y un procesador mas bien malucho (pentium M a 1.66), incluso con todos los demas programas que tengo en marcha.
tambien se puede jugar mucho con el recolector de basura, tiene varias formas de trabajar, varios niveles de agresividad, etc, etc... pero vamos, para eso hay que saber bastante de como funciona internamente y yo no soy el mas indicado para explicarlo.
aqui [wilsonmar.com] tienes un link sobre como optimizar la maquina virtual.
otro consejo es que intentes tener la version de java lo mas actualizada posible, sobre todo en las versiones 1.5 y 1.6 le han dado bastante cania al rendimiento, y con un poco de suerte (bueno, con mucha suerte) la version 1.7 sera muy importante en este aspecto (digo lo de suerte porque se esta trabajando en reducir la jvm hasta un paquete basico de 2MB o menos y que el cliente se descargue de internet solo los paquetes que necesite, pero no se si les dara tiempo a meterlo en esta version)
por ultimo, en cuanto a lo que comentas de rendimiento, en los ultimos benchmarks que he visto java es similar en rendimiento a C, sobrepasandole en algunos casos (mas info [wikipedia.org])[2], desgraciadamente tanto las librerias graficas como el tiempo que tarda en cargar la jvm hace que a mucha gente le de la sensacion de que java es mucho mas lento.
[1] con "generacion" no me refiero al verbo "generar", el espacio de memoria de java esta definido en generaciones, espacio para objetos nuevos, para objetos viejos y permanentes
[2] la empresa donde trabajo desarrolla varios ESB [wikipedia.org], el producto principal era, hasta hace poco, un motor hecho en C++ sobre el que se podian poner servicios en C++ o en java, la nueva version se va a deshacer del nucleo de C++ para tenerlo hecho entero en java, la principal razon de esto es porque los propios benchmarks internos demuestran que se gana en rendimiento y de hecho se esta recomendando, para servicios que necesiten mucho rendimiento, que se use otro producto de la empresa (que es SL y gratuito) hecho integramente en java.
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
¿Y el plugin de 64bits?
(Puntos:2)Re:Distribuciones
(Puntos:2, Inspirado)( http://www.picandocodigo.net/ )
RTFM... Mi blog [barrapunto.com]
Re:Distribuciones
(Puntos:2)Avengers Assemble!!
Re:Ya esta a la altura de .NET?
(Puntos:1)Re:Ya esta a la altura de .NET?
(Puntos:2)( http://barrapunto.com/ )
A la altura del mono? Muy por encima.
En mi opinión, es así.