Red de conocimiento informático - Aprendizaje de programación - ¿Para qué sirve Java? ¿Es un software?

¿Para qué sirve Java? ¿Es un software?

1. La historia y situación actual de Java

1 La historia de Java

23 de mayo de 1995

Sun Java y Los navegadores HotJava se lanzaron oficialmente en SunWorld'95.

Agosto de 1995

Netscape obtiene la licencia Java.

Septiembre de 1995

Sun anunció que proporcionaría herramientas de desarrollo Java.

Octubre de 1995

Oracle y Borland obtienen licencias de Java.

Diciembre de 1995

SGI, Adobe, IBM, AT&T e Intel obtienen licencias de Java.

Sun y Netscape lanzaron JavaScript, un lenguaje de programación basado en el lenguaje Java que pueden utilizar quienes no son programadores.

Sun, Netscape y SGI anunciaron la conclusión de una alianza de software para desarrollar herramientas de interactividad multimedia y tridimensionales en Java e Internet.

Enero de 1996

Sun anunció el establecimiento de una nueva unidad de negocio, el Departamento JavaSoft, para desarrollar, vender y dar soporte a productos basados ​​en tecnología Java, con Alan Baratz como presidente.

Sun lanzó el Java Development Kit JDK (Java Development Kit) 1.0 para proporcionar a los desarrolladores las herramientas necesarias para compilar software de aplicaciones Java.

Febrero de 1996

Sun lanzó la serie de chips Java, que incluye picoJava, microJava y UltraJava.

Sun lanza la API de base de datos JDBC (JavaDatabaseConnectivity) de conexión de base de datos Java.

Marzo de 1996

Microsoft Corporation y NetManage Corporation obtienen licencias de Java.

Sun lanza JavaWorkShop.

Abril de 1996

SCO Corporation y Apple Computer Corporation (Apple) obtienen licencias de Java.

NEC Corporation obtiene licencia de tecnología de procesador Java.

Sun anunció que Apple Computer, HP, Hitachi, IBM, Microsoft, Novell, Silicon Graphics, SCO, Tamdem y otras empresas incorporarán la plataforma Java en sus sistemas operativos.

Mayo de 1996

HP y Sybase obtienen licencias de Java.

Addison-Wesley y Sun lanzaron conjuntamente la interfaz de programación de aplicaciones Java (JavaApplicationProgrmmingInterface, Vol1&2) y el lenguaje de programación Java.

Northern Telecom anunció planes para aplicar tecnología Java y microprocesadores Java a sus teléfonos de próxima generación.

El 29 de mayo, Sun celebró la primera Conferencia Mundial de Desarrolladores Java JavaOne en San Francisco, con la participación activa de expertos de la industria. Sun lanzó una serie de nuevas tecnologías de plataforma Java en la conferencia: como JavaMediaAPI, CommerceAPI, SecurityAPI, ServletAPI, ManagementAPI, etc., así como JavaRMI y JavaIDL, JavaOS, JavaBeans, el nuevo entorno de desarrollo HotJava, etc.

Sun lanzó HotJava, un conjunto de bibliotecas de clases Java que permiten a los desarrolladores crear aplicaciones de red dinámicas y entornos de usuario que pueden adaptarse a sus necesidades.

Sun lanza JavaOS, un sistema operativo muy compacto diseñado para ejecutar aplicaciones Java directamente en microprocesadores que van desde ordenadores en red hasta buscapersonas.

Julio de 1996

Gemstone Systems y Octel Communications obtienen licencias de Java.

Agosto de 1996

JavaWorkShop se convirtió en el primer producto de Sun ofrecido a través de Internet.

Septiembre de 1996

Mitsubishi Japan Corporation y otras empresas obtienen licencias de Java.

Addison-Wesley y Sun lanzaron la especificación de máquina virtual Java y la biblioteca de clases Java.

Octubre de 1996

Texas Instruments y otras empresas obtienen licencias de Java.

Gracias a los esfuerzos conjuntos de la industria para proporcionar a los desarrolladores una potente arquitectura de componentes independiente de la plataforma, Sun completó la especificación JavaBeans y la lanzó antes de lo previsto.

Sun lanzó el primer compilador JavaJIT (Just-In-Time) y planea agregar JIT a los sistemas operativos JavaWorkShop y Solaris.

El 29 de octubre, Sun lanzó la tecnología informática empresarial Java, que incluye: computadora de red JavaStation, 85 productos y aplicaciones Java lanzados por 65 empresas, 7 nuevos cursos de capacitación Java y servicios de consultoría Java, basados ​​en el software de correo de Internet Solstice. para Java, nuevos servicios de soporte para desarrolladores de Java, demostraciones de HotJavaViews, JavaTutor, implementación de JavaCard API y más.

Sun demuestra HotJavaViews, el primer entorno de usuario dedicado para computadoras en red Java. HotJavaViews está optimizado para proporcionar un entorno Webtop eficiente para los trabajadores que dedican la mayor parte de su tiempo informático a unas pocas aplicaciones críticas.

Sun anunció la finalización de la especificación de la interfaz de programación de aplicaciones (API) JavaCard, que es la primera API abierta utilizada por las tarjetas inteligentes. La especificación JavaCard llevará las capacidades de Java a cientos de millones de tarjetas inteligentes en todo el mundo.

Noviembre de 1996

IBM obtiene las licencias de JavaOS y HotJava.

Novell adquiere la licencia JavaWorkShop.

Sun e IBM anunciaron que habían llegado a un amplio acuerdo para proporcionar soluciones empresariales basadas en Java, e IBM acordó establecer el primer centro de pruebas de Java.

Sun entrega su primer lote de ordenadores de red JavaStation. La computadora de red JavaStation fue nombrada "El producto más importante de 1996" por Information Weekly.

Diciembre de 1996

Xerox y otras empresas obtienen licencias de Java o JavaOS.

Sun lanzó JDK1.1, un kit de herramientas empresariales de Java, un kit de desarrollo de JavaBeans y una serie de API de Java.

Sun lanzó una nueva serie de productos JavaServer, que incluye JavaWebServer, JavaNCServer y JavaServerToolkit.

Sun lanzó un plan Java 100% puro y recibió soporte de cientos de empresas.

Enero de 1997

SAS y otras empresas obtienen licencias de Java.

Sun entregó un kit de desarrollo JavaBeans completo en menos de 8 meses después de finalizar su especificación.

Febrero de 1997

Gemplus y Electronic Tools Company obtienen la licencia de Java, y Northern Telecom obtiene la licencia de JavaOS.

Sun y ARM anunciaron su acuerdo para permitir que JavaOS se ejecute en la arquitectura de procesador RISC de ARM.

Informix anunció soporte para JDK1.1 en su UniversalServer y otros productos de bases de datos.

Netscape anunció que su Netscape Communicator soporta todo el software de aplicación basado en Java y las API principales.

Marzo de 1997

HP obtiene la licencia JavaWorkShop para el sistema operativo HP-UX.

Empresas como Siemens AG obtienen licencias de Java.

Hitachi Semiconductor, Informix y otras empresas han obtenido licencias de JavaOS.

Novell adquiere la licencia JavaStudio.

Sun lanza el sistema operativo JavaOS 1.0, que es la forma más pequeña y rápida de ejecutar un entorno Java en un microprocesador y está disponible para los licenciatarios de JavaOS de Sun.

Sun lanzó HotJavaBrowser 1.0, un entorno de navegación Java que se puede adaptar fácilmente para crear aplicaciones de información especializadas, como quioscos de información, escritorios de autoservicio para clientes y aplicaciones de red con la marca de la empresa.

Sun lanza JDK1.1.1.

El 17 de marzo, Sun solicitó al Comité Técnico Conjunto 1 (JTC-1) de la Organización Internacional de Normalización convertirse en proponente de la Especificación Disponible Públicamente (PAS) de Java.

Abril de 1997

OSFResearch (OpenGroup) Company y Lucent Company obtienen licencias de Java.

Corel adquiere la licencia JavaStudio.

El 2 de abril, Sun celebró la segunda Conferencia de Desarrolladores JavaOne en San Francisco, EE. UU., a la que asistieron más de 10.000 personas.

Sun lanzó oficialmente el plan Java 100% puro.

Sun lanzó PersonalJavaTM y EmbeddedJavaTM, lo que indica que Java también puede desempeñar un buen papel en PDA (asistentes personales digitales), fotocopiadoras y tarjetas inteligentes.

Sun ha lanzado una plataforma Java integral para informática empresarial, que incluye una nueva tecnología, EnterpriseJavaBeans. Utiliza Java para superar la complejidad de crear soluciones comerciales de un extremo a otro.

Sun anuncia el plan JavaPCTM. JavaPC es una tecnología de software de bajo precio que puede transformar máquinas DOSPC antiguas en computadoras de red, lo cual es simple y conveniente.

Sun y LG Semiconductor Company han acordado desarrollar conjuntamente procesadores Java para ordenadores en red y otros dispositivos de consumo.

Sun y Netscape anunciaron una asociación para proporcionar bibliotecas de clases básicas de Java.

Sun y RockwellCollins anunciaron que desarrollarán conjuntamente tecnología central de procesador Java para productos de consumo.

Sun y Toshiba han acordado desarrollar conjuntamente un procesador de bajo consumo basado en Java.

Sun lanza JavaStudio y JavaWorkShop2.0.

Sun lanza JavaSound, JavaAdvancedImaging y JavaInputMethodAPI. Estas tres nuevas interfaces de programación de aplicaciones aportan funcionalidad adicional a la plataforma Java rica en funciones.

Motorola anunció que su microprocesador PowerPC puede ejecutar el sistema operativo JavaOS.

Bull ha obtenido una licencia de tecnología Java para soluciones de extremo a extremo, aptas para tarjetas inteligentes, terminales y dispositivos POS.

Mayo de 1997

TriTeal obtiene la licencia HotJavaBrowser.

Philips Smart Cards and Systems adquiere la licencia Java que incluye JavaCard.

Apple Computer anunció que utilizará la plataforma Java como componente central de su estrategia de desarrollo del sistema operativo PhapsodyOS.

Sun lanza JDK1.1.2.

Junio ​​de 1997

Samsung, 3Com y otras empresas obtienen licencias de JavaOS.

Sun lanza JavaWebServer1.0.

Se inauguró el Centro de demostración de aplicaciones de nuevas tecnologías Sun de Sun en Ginebra, Suiza, para mostrar soluciones informáticas Java.

Sun lanzó la especificación 1.0 de Java Technology API (JTAP), que cuenta con el respaldo de Lucent, IBM, Intel, Nortel, Novell y otras empresas.

Sun lanza el kit de herramientas JavaServer.

Julio de 1997

Sun lanzó JDK1.1.3.

Addison-Wesley y Sun publican JavaFAQ.

Sun firmó un acuerdo con Siemens para integrar Java en chips de tarjetas inteligentes.

Sun lanza la especificación JavaCard2.0.

Sun lanzó JavaWebServer1.0.1.

Sun firmó un acuerdo con LG Semiconductor para desarrollar conjuntamente procesadores Java.

Sun se fusiona con Diba para acelerar el desarrollo de productos de información para el hogar basados ​​en Java.

Agosto de 1997

IBM obtiene la licencia de la herramienta de prueba SunTestJava.

Al 21 de agosto, 61 aplicaciones han obtenido la certificación Java 100% pura; más de 100 aplicaciones están esperando ser probadas.

Sun lanza JavaBlend, una nueva tecnología que permite a los desarrolladores de software combinar automáticamente software de aplicaciones Java con bases de datos.

Sun firma un acuerdo para fusionarse con Integrity. La empresa Integrity fusionada se unirá al departamento de SunSoft y desempeñará un papel importante en la programación orientada a objetos, tarjetas inteligentes y máquinas virtuales.

Alcatel, Nortel y Samsung han elegido PersonalJava como plataforma estándar para telefonía por Internet. Además de la función telefónica, la telefonía por Internet también puede enviar correos electrónicos, conectarse a Internet y navegar por la World Wide Web.

IBM, Netscape y Sun*** establecieron conjuntamente un nuevo centro de trasplante y depuración de Java para mejorar el rendimiento de Java y garantizar el suministro oportuno y continuo de soluciones de tecnología Java a los desarrolladores y usuarios de Java. En el centro trabajarán juntos expertos de las tres empresas.

Septiembre de 1997

Los principales fabricantes de sistemas operativos en tiempo real (RTOS) Acorn, Chorus, GeoWorks, Lucent Technology, Microtec, Micreware, Qnx La empresa y WindRiverSystem obtuvieron licencias para utilizar PersonalJava ( personal Java) y EmbeddedJava (Java integrado) en sus productos de electrónica de consumo para producir productos electrónicos de consumo con software de solución Java (como decodificadores de TV, teléfonos de Internet, buscapersonas, etc.).

Octubre de 1997

Sun presentó una demanda en el Tribunal de Distrito de California contra Microsoft por incumplimiento del contrato firmado entre ambas empresas respecto al uso de la tecnología Java por parte de Microsoft, acusando a Microsoft de violar el compromiso del contrato de proporcionar Términos para productos compatibles con Java proporcionados por el usuario. Sun exige que Microsoft deje de infringir la marca de compatibilidad de Java y deje de engañar a los desarrolladores de Java e impedirles desarrollar productos que sean totalmente compatibles con la tecnología Java.

Sun reveló al público el texto del contrato entre Sun y Microsoft relativo al desarrollo y venta de productos que contienen tecnología SunJava y el uso de logotipos compatibles con Java.

Sun anunció que completó completamente la especificación de la API JavaCard y la puso a disposición de los usuarios para descargarla.

Sun publicó los detalles técnicos del primer microprocesador Java del mundo, el chip microJava701, y producirá el chip en masa en la segunda mitad de 1998.

Sun lanzó oficialmente JavaStudio.

Esta es una herramienta dinámica de creación de Java que permite a los no programadores crear intuitivamente subprogramas y aplicaciones de Java.

Noviembre de 1997

Sun anunció el soporte para el nuevo software de oficina eSuiteWorkplace basado exclusivamente en Java de Lotus. eSuiteWorkplace es el primer conjunto completo de software de "cliente ligero" de alta eficiencia, que incluye procesamiento de textos, hojas de cálculo, correo electrónico y componentes de programación. Está completamente escrito en lenguaje Java y puede ejecutarse de manera eficiente en computadoras de la red JavaStation.

IBM, Lotus, Oracle y Sun anunciaron el desarrollo conjunto de una especificación de escritorio basada en Java, que unificará el entorno informático de red de escritorio por primera vez en la industria, permitiendo que NC y PC se ejecuten sin obstáculos. Cualquier aplicación basada en una única especificación, la "especificación en línea".

Sun anunció su cooperación con TeleficationBV (un centro de certificación de hardware, software y equipos de comunicación) de los Países Bajos para establecer un centro europeo de pruebas y certificación de Java 100% puro para brindar servicios a las empresas europeas que participan en el programa 100% puro. Plano Java.

La Organización Internacional de Normalización anunció el 17 de noviembre que su Comité Técnico Conjunto 1 (JTC-1) votó abrumadoramente para aprobar la solicitud de Sun como proponente de la Especificación Disponible Públicamente (PAS) de Java. De los 24 países que participaron en la votación, 20 votaron a favor, 2 votaron en contra y 2 se abstuvieron. Esto llevará la tecnología Java hacia estándares legales.

Java proviene de un proyecto de Sun llamado Green. Su propósito original era desarrollar un sistema de código distribuido para productos electrónicos de consumo doméstico, de modo que pudiéramos enviar correos electrónicos a refrigeradores, televisores y otros electrodomésticos, y controlarlos. y comunicarse con ellos. Al principio, planeamos usar C++, pero C++ era demasiado complejo y tenía poca seguridad. Finalmente, desarrollamos un nuevo lenguaje Oak (el predecesor de Java) basado en C++, un lenguaje sofisticado y seguro para Internet y Sun. La empresa presentó una vez una oferta basada en él. Un proyecto de televisión interactiva, pero fue derrotada por SGI. El pobre Oak estaba casi sin hogar. Sucedió que Mosaic y Netscape desarrollados por Mark Ardreesen inspiraron a los miembros del equipo del proyecto Oak. Compilaron el navegador HotJava en Java y recibieron el apoyo del CEO de Sun, Scott McNealy, lo que provocó la entrada de Java en Internet. También hay un hecho interesante sobre el nombre de Java. Un día, varios miembros del grupo de miembros de Java estaban discutiendo cómo llamar a este nuevo lenguaje. En ese momento, estaban tomando café Java en una cafetería y uno de ellos tomó un. Llámelo Java, que fue apreciado por otros, por lo que el nombre Java se difundió así.

2. Estado actual de Java

Java es una nueva generación de lenguaje de programación orientado a objetos lanzado por Sun. Es especialmente adecuado para el desarrollo de aplicaciones de Internet. Su independencia de plataforma amenaza directamente la de Wintel. posición de monopolio. Durante un tiempo, "conectarse a Internet y programar en Java" se convirtió en una moda entre los técnicos. Aunque los informes de la prensa son exagerados, se ha establecido el estatus de Java como tecnología revolucionaria en el desarrollo de software, lo que se refleja en los siguientes aspectos: 1. Muchas grandes empresas de la industria informática han comprado licencias de Java, entre ellas IBM, Apple, DEC, Adobe, Silicon Graphics, HP, Oracel, Toshiba y, a regañadientes, Microsoft. Esto demuestra que Java ha sido reconocido por la industria. 2. Muchos desarrolladores de software han comenzado a admitir productos de software Java. Por ejemplo: A mediados de 1996 se lanzó Latte, un entorno de desarrollo rápido de aplicaciones basado en Java desarrollado por Borland Company. Esta medida de Borland Company promovió la entrada de Java en el mercado de software para PC. Se ha lanzado el propio entorno de desarrollo Java de Sun, JavaWorkshop.

Los proveedores de bases de datos como Illustra, Sysbase, Versant y Oracle están desarrollando interfaces CGI que admiten HTML y Java. Hoy en día es una era informática centrada en la red. HTML y Java no son compatibles, y el alcance de las aplicaciones solo puede limitarse a entornos homogéneos (la misma plataforma de hardware). 3. Intranet se está convirtiendo en la mejor solución para sistemas de información empresarial y Java. Desempeñará un papel insustituible. El propósito de la Intranet es utilizar Internet para los sistemas de información internos de las empresas. Sus ventajas son: baratas, fáciles de usar y administrar, independientemente del tipo de máquina y sistema operativo que utilice el usuario. es un navegador de Internet unificado, mientras que las bases de datos, páginas web y aplicaciones (applets escritos en Java) se almacenan en el servidor WWW. Ya sea que los desarrolladores, administradores o usuarios puedan beneficiarse del desarrollo y mejora continuos del lenguaje Java. El principal promotor del desarrollo. Los entornos de compilación más comunes son JDK (JavaDevelopKit) y JWS (JavaWorkshop). Hay muchas otras empresas que desarrollan compiladores y entornos integrados para el lenguaje Java. Se espera que el lenguaje Java sea correcto pronto. Se mejorará el rendimiento y la eficiencia, y será más conveniente para los usuarios programar en Java y ahora usar C++

3. Características del lenguaje Java

Qué tipo de lenguaje es Java. ? Java es un lenguaje simple, de interpretación distribuida, robusto, seguro, neutral en cuanto a estructura, portátil, multiproceso y dinámico con excelente rendimiento. Java era originalmente un lenguaje diseñado para el control integrado de electrodomésticos, por lo que debe ser simple y claro. La simplicidad del lenguaje Java se refleja principalmente en los siguientes tres aspectos: 1. El estilo de Java es similar a C++, por lo que debe. Sea simple y claro, los programadores de C ++ están muy familiarizados con él. En cierto sentido, el lenguaje Java es una variante de los lenguajes C y C ++, por lo que los programadores de C ++ pueden dominar rápidamente la tecnología de programación Java. Errores de C++, como punteros y gestión de memoria 3. Java proporciona una rica biblioteca de clases

2. Orientado a objetos

Se puede decir que la orientación a objetos es la característica más importante. El diseño del lenguaje Java está completamente orientado a objetos y no admite tecnología de programación orientada a procesos como el lenguaje C. Java admite la herencia y reutilización de código de estilo estático y dinámico. es similar a SmallTalk, pero otras características, especialmente aquellas adecuadas para entornos informáticos distribuidos, van mucho más allá de SmallTalk

3. Java incluye soporte TCP/IP para HTTP y FTP. Subbiblioteca del protocolo Por lo tanto, las aplicaciones Java pueden abrir y acceder a objetos en la red casi de la misma manera que acceden al sistema de archivos local. Proporcionar contenido dinámico para entornos distribuidos, especialmente Internet, es sin duda una tarea muy ambiciosa. Las características de sintaxis de Java nos facilitan lograr este objetivo.

4. Robusto

Java se compromete a comprobar los errores del programa durante la compilación y el tiempo de ejecución. La verificación de tipos ayuda a detectar muchos errores que ocurren en las primeras etapas del desarrollo. La propia manipulación de la memoria por parte de Java reduce la posibilidad de errores de memoria. Java también implementa matrices verdaderas para evitar la posibilidad de sobrescribir datos. Estas características funcionales acortan enormemente el ciclo de desarrollo de aplicaciones Java. Java proporciona detección de puntero nulo, detección de límites de matriz y verificación de código de bytes de exportación de excepciones.

5. Neutralidad estructural

Además, para establecer Java como parte integral de la red, Java compila sus programas en un formato de archivo intermedio estructuralmente neutral. Cualquier máquina con sistema operativo Java puede ejecutar este código intermedio. Ahora, los sistemas operativos Java incluyen Solaris2.4 (SPARC), sistemas Win32 (Windows95 y Windows NT), etc. El programa fuente Java está compilado en un lenguaje de formato de código de bytes independiente de la máquina de alto nivel, que está diseñado para ejecutarse en la máquina virtual. Se ejecuta en la máquina y lo ejecuta el depurador de tiempo de ejecución relacionado con la máquina.

6. Seguridad

La seguridad de Java se puede garantizar desde dos aspectos. Por un lado, en el lenguaje Java, las funciones de C++ como los punteros y la liberación de memoria se eliminan para evitar operaciones ilegales en la memoria. Por otro lado, cuando se utiliza Java para crear un navegador, las características del lenguaje y la funcionalidad proporcionada por el propio navegador se combinan para hacerlo más seguro. El lenguaje Java debe probarse muchas veces antes de poder ejecutarse en su máquina. Pasa por la verificación del código, verifica el formato del segmento de código, detecta manipulación del puntero, manipulación excesiva de objetos e intentos de cambiar el tipo de un objeto.

6.1Verificación de código de bytes

Si el código de bytes pasa la verificación del código y no se devuelve ningún error, podemos saber: el código no tiene desbordamiento o desbordamiento de pila y toda la operación tipos de parámetros de código Todos son correctos y no se produce ninguna conversión de datos ilegal, como convertir un número entero en un puntero. Las operaciones de acceso a objetos son legales

6.2 Carga de clases

ClassLoader mantiene la seguridad separando los nombres de las clases nativas y las clases de recursos de red. Como la clase siempre debe comprobarse al transferirse, se evita el fenómeno del caballo de Troya. Las clases descargadas de la red se llaman a un espacio de nombres privado asociado con la fuente. Cuando una clase privada accede a otra clase, primero se verifica la clase incorporada (clase nativa) y luego la clase relacionada. Esto evita que se produzcan daños a la clase nativa.

7. Portátil

La característica independiente de la arquitectura permite que las aplicaciones Java se ejecuten en cualquier sistema informático equipado con un intérprete de Java y un entorno de ejecución. Esto se convierte en una aplicación Java. Una buena base para el software. portabilidad. Pero eso por sí solo no es suficiente. Si el diseño del tipo de datos básico depende de la implementación específica, también traerá grandes inconvenientes para el trasplante del programa. Por ejemplo, en Windows 3.1, los números enteros son de 16 bits, en Windows 95, los números enteros son de 32 bits, en DECAlpha, los números enteros son de 64 bits y en Intel 486, son de 32 bits. Al definir tipos de datos básicos independientes de la plataforma y sus operaciones, los datos de Java se mantienen consistentes en cualquier plataforma de hardware. Los tipos de datos básicos del lenguaje Java y su representación son los siguientes: byteComplemento a dos de 8 bits corto Complemento a dos de 16 bits int Complemento a dos de 32 bits largo Complemento a dos de 64 bits float32-bitIEEE754 número de coma flotante double32-bitIEEE754 número de coma flotante char16-bitUnicode carácter

En cualquier intérprete de Java, los tipos de datos se implementan de acuerdo con los estándares anteriores. Porque casi todas las CPU utilizadas actualmente pueden admitir los tipos de datos anteriores y el formato entero de 8 a 64 bits